近年来,随着中国科技的高速发展,波形发生器科技也随之而生。这是小编为大家整理的波形发生器科技论文,仅供参考!
基于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-),河南省郸城县,硕士研究生,专业:通信与信息系统。
任意波形发生器的设计及FPGA实现篇二
摘要:针对传统设计信号发生器需要庞大的电路的问题。该文提出了一种基于FPGA的信号波形发生器,实现产生任意波形信号的设计。设计中利用硬件语言VHDL设计了所需的各个硬件模块。通过硬件平台QuartusII实现了方波,锯齿波,三角波,正弦波等波形。通过结果分析,设计波形效果较好,有一定的工程实际意义。
关键词:FPGA ; QuartusII; 信号发生器
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)16-0224-03
Abstract: It requires enormous problem for the traditional circuit design signal generator. This paper presents a FPGA-based signal waveform generator, to achieve arbitrary waveform signal generated design. Design using hardware language VHDL design the required individual hardware modules. QuartusII hardware platform to achieve a square, ramp, triangle wave, sine wave waveform. By results of the analysis, design waveform better, there are certain engineering significance.
Key words:FPGA; QuartusII; signal generator
随着电子技术的迅速发展,科技工作者对现代电子测量仪器要求越来越高,这样能够产生方波、三角波等符合标准的波形,以及根据所需产生任意的波形的信号发生器显得尤为重要。传统信号发生器,都是采用成本较高的专用集成芯片来完成的,实现起来电路比较复杂,受到外界噪声影响比较大,同时控制频率输出不够灵活。
本文提出了一种基于FPGA的信号波形发生器,实现产生任意波形信号的设计。利用累加器对所需频率按照所需的步进对其增量进行设置,得到的值就为设计所需的地址码,同时获取提前设计好的ROM中设计好的波形数据,经过相应的D/A进行转换,再进行平滑滤波得到所需的波形。通过硬件平台实现了不同要求的波形。通过结果分析,设计波形效果较好,有一定的工程实际意义。
1系统的设计基本原理
DDS进行频率合成是直接从“相位”的概念出发。所需要的是相位累加,可以通过寄存器和相应的加法器来实现。实现的原理为当有时钟脉冲fc时,加法器对寄存器的输出和频率控制字进行相加。得到数据通过反馈给倒寄存器的相应输入端。等到需要改变频率再进行相加。可以看出当有一个钟脉冲输是,相位累加起就累加一次,得到的信号的相位是由累加器输出结果产生的,DDS的信号输出相应的频率为累加其输出的频率。
也就是相位累加器的溢出频率。一种全数字的频率合成方基本结构由四个部分构成,主要有相位累加器、波形ROM、D/A转换器和低通滤波器,如图1所示。
2系统模块设计
系统框图由FPGA存储数据及DDS实现、DAC数字波形转换得到模拟波形、程控增益,实现电压伏值控制、信号调理,滤波这四个模块组成,整体系统框图如图2所示。
3 单元模块系统设计
3.1 寄存器和相位累加器的设计原理
设计中对所需的累加器和寄存器作用是实现累加功能,从而来得到可调的波形频率。用VHDL进行设计。相位累加与相位寄存器的框图如图3所示。
3.2 波形ROM的设计
ROM设计不同波形所需的ROM是不一样的,设计方法是相同的,首先要确定所需波形ROM的数据子长,同时要知道所需地址的位数。通过实际设计可以得到一般情况下ROM的子长是小于地址位数的,设计中选择的DA转换的位数是10,可以得到ROM字长应该也为10。同理可以得到地址位数为8。波形的存储器是通过相位累加到的高8位数据作为地址线来寻址。设计中以正弦信号数据的产生来进行设计可以直接在QuartusII下设计也可以通过:MATLAB编辑程进行相应的编辑。得到所需二进制数据通过VHDL程序来实现对应波形ROM的设计。
3.3频率控制模块设计
实际中要输出的信号频率大小可通过键盘进行设置。实际中所需信号的频率一般跨度很大,大小频率变化实现需要很长的时间通过控制步进得到,这样设计控制模块就要以最简方法设计,设计中使用四个按键实现直接输入所需频率。
4 系统的软件设计
实现这个设计的方法由公式可以看出,当确定后和K的值有一定的比例关系,通过其线性比例关系可以得到频率时对应的所需K的值,计算得到的K就是步进1HZ对应的K变化的大小,步进就是利用此原理进行设计,设计中如果步进要整数倍的进行增加,设计中只需要按照倍数增加的值就能实现任意整数倍的信号步进变化。系统的整体控制频率流程图如图4所示。
5仿真结果与分析
5.1锯齿波仿真结果
由于幅度和频率调节在设计结果中不好表示以,设计中可以设计给定频率和幅度恒定的波形,设计锯齿波数据如图5所示。
5.2 正弦波仿真结果
同样的条件下实现了频率和幅度恒定的正弦波如图7所示。
5.3 三角波仿真结果
下图设计出了相应的三角波如图7所示。
5.4 方波仿真结果与分析
相应的方波的设计结果如图8所示。
6 结论
本文实现了一种任意波形发生器系统,各模块利用硬件描述语言进行设计,最终利用FPGA硬件平台对其进行硬件测试,通过硬件平台实现了不同要求的波形。通过结果分析,设计波形效果较好,这种波形发生器同时可以根据工程实际需要实现不同的调制功能。输出信号的频率稳定度较高,有一定的工程实际意义。
参考文献:
[1] 徐彬,谭征,袁蕾,等.基于DDS 技术的任意波形发生器[J].电子世界,2002(1):58-61.
[2] Nashaatdm, Elsadekha,Ghalih. Single feed compact quad-band PIFA antenna for wireless communication applications [J]. IEEE Trans Antennas Propagat Lett, 2005, 53(8): 2631-2635.
[3] 范秋华,张冬梅.基于VHDL的可编程分频器在波形发生器中的应用[J].清华大学学报,2003(4):68-71.
[4] 于鸿洲,宋立新,徐吉吉.基于DDS技术的函数波形发生器[J].哈尔滨理工大学学报,2006,11(5):7-13.
[ 5] 范秋华,张冬梅.基于VHDL的可编程分频器在波形发生器中的应用[J].青岛大学学报,2003,16(4):68 -71.
[6] 赵曙光.可编程逻辑器件原理开发与应用[M].西安:西安电子科技大学出版社,2000.
[7] 郭军朝,王森章.一种高速低功耗直接数字频率合成器的设计与实现[J].微电子学,2004,10(5):572 -574.