基于FPGA的可调信号发生器
扫描二维码
随时随地手机看文章
摘要:基于FPGA的应用技术,采用Altera公司DE2-70开发板的CycloneⅡ系列EP2C70作为核心器件,设计了一种基于FPGA的新型可调信号发生器。通过QuartusⅡ软件及Vetilog HDL编程语言设计LPM_ROM模块定制数据ROM,并通过地址指针读取ROM中不同区域的数据,根据读取数据间隔的不同,实现调整频率功能,该系统可产生正弦波、方波、三角波和锯齿波4种波形信号,并使用嵌入式逻辑分析仪对产生的不同波形信号进行实时测试,实验证明,该可调信号发生器系统软件模拟数据和理论定制波形相吻合。
关键词:信号发生器;EP2C70;Vetjlog HDL;FPGA
传统信号发生器大多由模拟电路构成,存在连线复杂、调试烦琐且可靠性较差等缺点。以Verilog HDL编程语言和FPGA器件为核心的可调信号发生器的设计实现,提高了系统可靠性,实现了系统信号实时快速测量,也为其广泛应用于实际领域创造了条件。
1 系统总体设计
可调信号发生器系统由顶层模块、EP2C70器件、控制开关和输入输出模块等部分组成,如图l所示。在FPGA中实现的顶层文件包含地址指针和数据ROM2部分。其中,数据ROM由QuartusⅡ软件中的LPM_ROM模块构成,能达到最优设计,LPM_ROM由FPGA中的EAB或ESB实现。数据ROM中存储正弦波、方波、三角波和锯齿波4种信号各1个周期的波形数据(在此选择1个周期128个数据样点),地址指针读取ROM中不同区域的数据,可产生不同的波形,并通过使用嵌入式逻辑分析仪SignalTapⅡ进行实时测试。根据读取数据间隔的不同,即可实现调整频率的功能。
2 系统功能模块设计
可调信号发生器系统的功能模块主要由顶层文件(Verilog HDL源程序)和波形数据ROM两部分组成。波形数据ROM设计主要包括设计波形数据ROM初始化数据文件和定制ROM元件(datarom.v)。
2.1 顶层文件设计
本系统采用Ahera公司的CycloneⅡ系列EP2C70器件作为核心,通过QuartusⅡ软件编写Verilog HDL源程序,实现一个可以产生正弦波、方波、三角波和锯齿波4种波形信号,并且能够实现信号转换及频率可调功能的信号发生器。其中control控制产生波形的种类,00、0l、10、11分别产生正弦波、方波、三角波和锯齿波;i控制读取数据间隔,调整频率。产生正弦波的源程序如下:
2.2 波形数据ROM初始化数据文件设计
初始化数据文件格式有2种:Memory Initialization FiIe(.mif)格式文件和Hexadecimal(Intel-Format)File(.hex)格式文件。本设计共需要产生4种波形,每种波形1个周期取128个数据,因此选用.mif格式文件初始化数据个数Number为512,数据宽度Word size取8位的ROM数据。在MATLAB中,调用wave=round(255*sin([0:2*pi/(2^9):2*pi])+256)’;函数,生成.mif文件,如图2所示。
2.3 定制ROM元件
在QuartusⅡ中,利用Mega Wizard Plug-In Manager定制波形数据ROM,如图3所示,经过LPM_ROM宏功能块设定、选择dmarom模块数据线宽度和数据单元个数、选择地址锁存信号clock及数据文件完成LPM_ROM设计,产生可用于例化的波形数据ROM文件datarom.v。
3 软件系统逻辑仿真
FPGA中的功能模块进行综合仿真后,生成配置文件。其系统逻辑功能仿真波形如图4所示,各信号的逻辑功能和时序配合完全达到设计要求。
4 编译下载
在将设计下载到DE2-70开发板进行验证之前,首先要进行引脚锁定,通过Assignments Editor依次对所有15个引脚进行锁定,其中PIN_-AA23和PIN_AB26分别对应control[0]和control[l]DE2-70开发板上的SW0和SWl控制4种波形的选择,具体引脚锁定如图5所示。
将编译产生的下载文件(.sof)配置进FPGA中,通过选择DE2-70开发板的JTAG方式和USB BlasterⅡ编程线进行编程下载,为使用嵌入式逻辑分析仪实时测试所设计的信号发生器做好准备。
5 综合分析
SignalTapⅡ嵌入式逻辑分析仪提供了一种对器件进行实时测试的方法,它可以随设计文件一起下载到目标芯片中,用以捕捉目标芯片中有关信号节点处的信息,而不影响芯片的正常工作。SignalTapⅡ将测试得到的信号暂存于目标器件的片内RAM中,再通过器件的JTAG端口和USBBlasterⅡ编程线将采得的信号传出,以供计算机分析。
下载成功后,设定DE2-70开发板的工作模式和恰当的控制信号,使计数器正常工作(inclock频率设为750kHz),启动SignalTapⅡ进行测试,通过改变输入控制信号得到如图6所示的4种信号波形图。改变i的取值,可看到信号频率也会随之变化。
6 结束语
本设计充分利用FPGA具有的静态可重复编程和动态可系统重构的特性,使得硬件功能像软件一样通过编程修改,从而提高开发效率,缩短研发周期。测试结果表明:系统软件模拟数据和理论定制波形相吻合,频率调节方便,仅在波形光滑程度上存在很小误差,但这不影响设计结果、波形的观察和测量以及该可调信号发生器的使用。通过增加采样点的数量及提高程序语句的精确与简练度,可减少误差影响。