APP下载

VHDL设计和实现2ASK/2FSK调制器

2017-08-19孟丽妍

教育教学论坛 2017年33期
关键词:正弦波基带正弦

孟丽妍

摘要:此设计是在MAX+plusⅡ开发软件环境下,使用硬件描述语言VHDL来设计2ASK和2FSK调制器。本文给出了在MAX+plusⅡ开发软件环境下,利用VHDL硬件描述语言设计2ASK和2FSK的具体方法和仿真并分析结果。

关键词:VHDL;2FSK/2ASK;调制编译

中图分类号:TN761 文献标志码:A 文章编号:1674-9324(2017)33-0196-02

一、2FSK/2ASK的VHDL设计

由于2FSK/2ASK为模拟信号,而FPGA只能产生数字信号,因此需对正弦信号采样并经模数变换来得到所需的2FSK/2ASK信号。本例由FPGA产生正弦信号的采样值。

2FSK的设计:2FSK的设计是由分频器、m序列产生器、跳变检测、2∶1数据选择器、正弦波信号产生器和DAC数模变换器等六部分共同组成,其中的前五部分由FPGA器件来完成。

2ASK的设计:在2FSK的基础上,设计2ASK信号发生器。当检测到基带码元的上升沿时,2ASK与2FSK是一致的,在检测到基带码元的下降沿时,2ASK使输出波形为“零”值即可。可以通过一个按键控制信号发生器输出2FSK或是2ASK信号。

二、功能仿真波形

(一)分频

本例中数据传送速率为300kHz,要求产生两个不同的正弦信号,分别是12MHz的正弦信号和6MHz和正弦信号。由于正弦信号每周期取20个采样点,所以要求能够产生下面3个时钟信號,分别是300kHz的数据速率、12MHz的正弦信号和6MHz的正弦信号。其中的基准时钟由一个12MHz的晶振提供。设计中要求一个2分频(产生6MHz信号),然后载20分频(产生300kHz信号)共有两个分频值。

(二)m序列

m序列作为一种常用的伪随机码,显著特点是可预见性、随机特性和循环特性,最重要的是它具有良好的自相关特性,非常适于通信领域中的信号流的模拟与分析。本设计利用一种带有两个反馈抽头的三级反馈移位寄存器得到一串“1110010”循环序列,同时采取措施防止进入全“0”状态。

(三)跳变检测

在正弦波的产生中引入跳变检测,可以使每次基带码元上升沿或下降沿到来时,对应输出波形位于正弦波形的sin0处。

基带信号的跳变检测有很多方法,下图1所示为一种便于在可编程逻辑器件中实现的方法。

(四)频率选择

选择正弦波产生器的两个输入时钟是由2:1数据选择器来实现的。一个时钟的频率为12MHz,正弦波产生器产生一个12MHz的正弦波,代表数字信号“0”;另一个时钟的频率为6MHz,产生一个6MHz的正弦波信号,代表数字信号“1”。本程序中用到3个频率:CLOCK、CLOCK1和CLOCK2。

其中,MODE表示调制方式:MODE=0表示2FSK调制,MODE=1表示2ASK调制。M_CODE为m序列的数字信息。

在2FSK中,用与CLOCK相对应的正弦波表示‘0,CLOCK1表示‘1;在2ASK中的正弦波频率则都用CLOCK1。在设计中,数字基带信号与2FSK调制信号的对应关系为:“1”对应6MHz,“0”对应12MHz。

(五)正弦信号的产生

整个系统设计的一个关键是正弦波发生器。D/A变换即模拟信号要经过采样,量化过程后才能变成数字信号的过程。根据采样定理,当采样频率大于2倍的被采样的最高频率才可以无失真地恢复被采样信号。本设计中每个采样点采用8位量化编码。

(六)功能仿真波形

1.2FSK仿真波形。如下面两个图中所示:MODE=0,工作在2FSK模式下,可以看到图2中m序列由“1”变为“0”,图3中m序列由“0”变为“1”输出波形对应的VALUE值的变化,同时也看出传递信号“0”的波形密度明显比传递信号“1”的波形密度高。实现了2FSK的频率变化传递数字信息,即12MHz表示信号“0”,6MHz表示信号“1”。

2.2ASK仿真波形。如下面两个图中所示:MODE=1,工作在2ASK模式下,可以看到图4中m序列由“0”变为“1”,图5中m序列由“1”变为“0”,输出波形对应的VALUE值的变化,可以看出,m序列值为“0”时,输出为0,成功地实现了2ASK调制,波形有一些延时。

3.2ASK和2FSK的功能转换。2ASK和2FSK功能上的转换是根据MODE的值来控制的,如下图6所示:MODE由0变成1,工作模式由2FSK转变成2ASK。m序列的值没有跳变,一直是“1”,对应的正弦波形也没有变化,相对应的数值也没有变化。而图7中:MODE由1变成0,工作模式由2ASK变成了2FSK,m序列的值没有跳变,一直是“0”,对应的正弦波相应的有正确的变化。

三、总结

本设计通过自动调用MAX7000S家族的EPM7032LC44-7型FPGA器件实现。在设计前分好功能模块,分别进行编写而最后进行综合分析调试,达到我们要求的效果。

在这个设计中,需要输入一个整周期内20个采样点的值,利用的是直接在程序中输入20个采样点的值。2FSK信号发生器主要由分频器、m序列产生器、跳变检测、正弦信号发生器和DAC几个部分组成。2FSK的关键是通过判断信号跳变是来改变频率的变化,2ASK的关键是通过信号的跳变来改变幅度值的变化。

在编程的过程中,曾遇到了许多的问题。

第一,在处理分频时,习惯的是2的倍数的分频,在这个程序中需要一个20分频,和一个二分频,二分频好实现,而20分频经过反复编程、仿真、再编程才最终实现。

第二,在处理m序列的时候,一开始,没有输出,单独把那个模块拿出来编译仿真都没有问题,后来发现问题并不是出现在没有时钟的输入,而是一开始分频的数字太大,仿真出来的波形只有一个多周期,不够实现M序列的变换就完了,然后又重新改的合适的分频数,让仿真出来的波形可以观察到多个M序列周期的波形。

第三,在处理2ASK和2FSK的功能转换的时候,虽然编程语言上没有问题,逻辑上出现了问题,但是当仿真波形时,总是和预期的结果不一样,经过反复的修改调试,终于达到了预期的结果。

VHDL Design and Implementation of 2ASK/2FSK Modulator

MENG Li-yan

(Shijiazhuang Railway Transport School,Shijiazhuang,Hebei 050000,China)

Abstract:This article is the use of MAX + plus Ⅱ software development environment,VHDL hardware description language used to design 2ASK and 2FSK modulators.In the MAX + plus Ⅱ software development environment,the use of VHDL hardware description language design 2ASK and 2FSK specific methods and results of simulation and analysis.

Key words:VHDL;2FSK/2ASK;modulation circuit compiler

猜你喜欢

正弦波基带正弦
正弦、余弦定理的应用
单相正弦波变频电源设计与实现
采用BC5016S的纯正弦波逆变器设计及制作
基于VSG的正弦锁定技术研究
2014年LTE基带收益占蜂窝基带收益50%以上
AIS基带信号的接收与处理
数字基带系统的System View仿真设计
基于嵌入式技术的电网同步正弦波发生装置研究
基于FPGA的WSN数字基带成形滤波器设计
文氏电桥正弦波振荡电路