基于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系统具有很高的性能价格比。 欢迎转载,信息来自维库电子市场网()