基于FPGA的DDS任意波形发生器
目前利用专门DDS芯片开发的信号源比较多,它们输出频率高、波形好、功能也较多,但它们的ROM里一般都只存有一种波形(正弦波),加上一些外围电路也能产生少数几种波形,但速度受到很大的限制,因此使用不是很灵活。为了增加灵活性,可以采用FPGA实现DDS技术,把DDS中的ROM改用SRAM,SRAM作为一个波形抽样数据的公共存储器,只要改变存储波形信息的数据,就可以灵活地实现任意波形发生器。
该系统主要由DDS系统、数模转换及输出信号调理等部分组成,由单片机控制,外加键盘及显示等人-机接口部分。DDS系统是设计的关键,主要由相位累加模块、地址`总线控制模块、数据总线控制模块及波形数据存储器SRAM等组成。其中,相位累加模块、地址总线控制模块和数据总线控制模块都是在FPGA上实现的。相位累加器是整个DDS系统运转的关键,其设计的好坏直接影响到整个系统的功能,它实质上是1个带反馈的Ⅳ位加法器,把输出数据作为另一路输入数据与送来的频率控制字进行连续相加,产生有规律的Ⅳ位地址码。设计中可采用流水线技术实现加法器。
在频率更新时钟上升沿时,频率控制字Κ锁存于Ⅳ位的频率控制字寄存器内。在参考时钟的每一个时钟脉冲到来时,控制字Κ与相位累加器内容进行模2加,得到Ⅳ位波形相位值。再将Ⅳ位的相位码截去低B位,用高胚位(M=N-B)作为地址对SRAM寻址,输出s位的波形幅度值,形成数字化的波形。数字化波形通过DAC后,输出模拟的阶梯化波形,阶梯波经过低通滤波器平滑后,生成连续波形。
该系统同时还扩展有SRAM波形存储器和ROM波形存储器,分别用来存放所需波形抽样数据和预置标准输出波形抽样数据。系统的原理框图如图所示。波形的抽样数据存放在ROM里,当要产生某种波形时,输入相应的控制信息,系统将抽样数据从ROM里加载到SRAM里,以供FPGA工作时寻址查表使用。当所需波形不是标准波形时,可以通过在线编程产生所需波形的抽样数据,直接将抽样数据存人SRAM,以便频率合成时使用,这样就可以产生任意波形的信号。
用FPGA设计DDS电路比采用专用DDS芯片更为灵活。因为只要改变SRAM中的数据,就可以产生任意波形,因而具有相当大的灵活性。FPGA芯片还支持在线升级,将DDS设计嵌入到FPGA芯片所构成的系统中,并采用流水线技术,其系统成本并不会增加多少,而购买专用芯片的价格则是前者的很多倍。因此,采用FPGA来设计DDS系统具有很高的性能价格比。 信息来自维库电子市场网
|