基于FPGA的任意波形发生器设计

时间:2022-10-12 05:16:21

基于FPGA的任意波形发生器设计

【摘 要】本文设计了一种基于FPGA和DDS技术的任意波形发生器。本设计利用VHDL语言完成系统各大模块的硬件描述设计,对硬件结构和工作方式进行重构。在QuartusII 9.0环境中完成系统仿真并进行了硬件测试,结果表明设计达到预定效果,能够按照要求输出相应波形,也证明了基于FPGA设计的可靠性和可行性。

【关键词】FPGA DDS QuartusII 任意波形发生器

波形发生器是各种测试和实验中不可或缺的工具,在雷达、控制、通信、测试、控制等领域应用十分广泛。波形发生器是电子工程师进行信号仿真试验的最佳工具。目前,随着大规模现场可编程逻辑器件的发展,FPGA系统设计的主要发展已经进入“片上可编程系统”的新纪元。随着FPGA不断发展,DDS技术应用越来越成熟,利用DDS原理在FPGA平台上开发高性能的多种波形信号发生器,其成本低,操作灵活,而且还能根据要求在线更新配置,系统开发趋于软件化、自定义化。

传统型任意波形发生器的结构简单、控制方便,但此类波形发生器没有相位调制功能,而且在后期软件编程期间,在不改变时钟频率及波形的情况下,如果要改变一个周期的采样点数,需要重置计数器并且重新向波形存储器中载入数据。就目前发展状况而言,基于DDS技术的任意波形发生器虽然结构比较复杂,还会产生相位截断误差,但实现频率、相位调制功能却很容易,同时产生的波形能够达到很高的频率分辨率,输出频率的转换速度快,而且频率转换时,DDS系统输出波形的相位是连续的。

一、DDS电路工作原理

DDS电路的实现是整个硬件系统设计的关键所在。DDS的基本原理是利用采样定理,通过查表法产生波形。DDS电路工作时首先需要对波形数据进行采样,将采样数值存入波形存储器ROM中作为查找表,然后在时钟脉冲的作用下,对频率控制字进行线性相位叠加,然后将相位累加值的一部分作为ROM查找表的地址码将数据读出来,再经过D/A转换器,低通滤波器转换成符合要求的模拟信号。DDS的基本结构主要由相位累加器、相位调制器、ROM查找表、DAC和低通滤波器构成。

二、系统设计

本设计方法主要采用自行设计的基于FPGA逻辑电路来实现任意波形发生器,利用FPGA设计的DDS电路只要改变FPGA内部波形存储器中存储的波形数据,就可以实现输出任意波形,因而更加具有灵活性,使得采用FPGA来实现DDS电路具有更高的实用价值,通过FPGA编程定制系统所需的DDS电路,不但成本降低,而且使任意波形发生器的性能得到提高。这就是本设计采用FPGA来实现的重要原因。

本系统总体设计选用以Altera公司的Cyclone II系列中的EP2C5T144C8芯片为主,配以时钟电路、信号产生电路、滤波控制电路、波形存储电路、按键电路、D/A转换电路等电路实现波形发生器的硬件设计。

本设计主要是基于Quartus II平台,利用DDS技术,设计一个任意波形发生器,首先通过按键电路选择输出波形的对象,根据对各波形的幅度进行采样,获得各波形的波形数据表作为波形存储器的查找表,然后在系统时钟的作用下,相位累加器对输入的频率数据不停地进行相位线性累加,并将累加器输出的一部分作为波形存储器的地址信号,通过查找表读出相应的波形数据,再送入高速D/A转换器进行转换成为模拟信号,最后送入滤波电路,滤波后输出光滑的连续信号。本设计部分核心在于利用宏功能模块生成波形存储器ROM查找表模块,使得所需要的波形数据通过.mif文件载入到定制模块data_rom模块中,当在波形存储器ROM中固化所需波形的一个周期的幅度值后,由地址发生器产生的地址对波形存储器ROM寻址,依次可取出送至D/A转换及滤波,即可实现DDS中波形存储器的功能。在ROM查找表模块data_rom中采用了定制初始化数据文件,ROM模块中的初始化数据文件的格式采用.mif格式。

三、仿真结果

本设计的仿真和硬件验证主要围绕以FPGA为核心的DDS信号输出和控制模块进行。本设计采用MATLAB软件进行仿真测试,Quartus II可将设计者提供的时序波形文件(.vwf)保存为仿真基准文件(.tbl)格式的波形文件,以此波形文件进行仿真。由图1可知,在时钟频率不变的情况下,为了观察频率控制字对输出频率的影响,改变方波的频率控制字,使其由02H改变为82H,可明显观察到,频率控制字越小,输出信号的周期越大,即输出频率越小。这说明了采用DDS技术可以输出任意频率的波形信号。改变波形存储模块data_rom中的数据文件,通过载入正弦波、三角波、锯齿波、梯形波和用户自定义的波形采样数据,利用MATLAB进行显示波形。通过仿真结果可得,基于FPGA的波形发生器已经实现了输出任意波形的功能。

四、结语

本次设计在Quartus II平台上设计DDS电路,用MATLAB对Quartus II仿真得出的数据进行显示,验证了设计的正确性,输出波形可以达到设计要求,MATLAB显示的波形与理想波形是相吻合的,仅在波形的稳定及光滑程度方面有着一定的差距,但这种差距并不影响设计结果、波形观察及任意波形发生器的使用。采用FPGA设计实现还具有相位连续变化、频率分辨率高等优点。所以,FPGA与DDS的有机结合使得波形发生器更具有实用性。

参考文献:

[1]王h.基于FPGA实现的任意波形发生器的设计与研究[J].大众科技,2012,14.

[2]曾菊荣.基于FPGA和DDS技术的任意波形发生器的设计[J].现代电子技术,2010,(24).

[3]铁奎,黄武.任意波形发生器的设计与研究[J].应用天地,2012,31.

[4]潘松,黄继业.EDA技术实用教程[M].4版.北京:科学出版社,2010.

作者简介:

雷旭(1991.02-),河南省潢川县,硕士研究生,专业:信息与通信工程。

刘倩倩 (1992.11-),河南省郸城县,硕士研究生,专业:通信与信息系统。

上一篇:我国成本管理现状与改革思路 下一篇:音乐对新入园幼儿的影响