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

点赞:10838 浏览:45041 近期更新时间:2024-01-10 作者:网友分享原创网站原创

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

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

基于FPGA的任意波形发生器设计参考属性评定
有关论文范文主题研究: 关于波形的论文范文集 大学生适用: 本科毕业论文、硕士论文
相关参考文献下载数量: 28 写作解决问题: 如何怎么撰写
毕业论文开题报告: 标准论文格式、论文前言 职称论文适用: 期刊发表、中级职称
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 最新题目

波形发生器是各种测试和实验中不可或缺的工具,在雷达、控制、通信、测试、控制等领域应用十分广泛.波形发生器是电子工程师进行信号仿真试验的最佳工具.目前,随着大规模现场可编程逻辑器件的发展,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的有机结合使得波形发生器更具有实用性.