APP下载

任意波形发生器的设计及FPGA实现

2016-07-22黎高峰刘川韩团军

电脑知识与技术 2016年16期

黎高峰+刘川+韩团军

摘要:针对传统设计信号发生器需要庞大的电路的问题。该文提出了一种基于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.