本设计方案采用的FPGA芯片是Altera公司的Cyclone系列芯片EP1C6Q240C8,,其容量6000个逻辑宏单元,等效于标准15万逻辑门电路,速度为-8,完成可通过单片芯片电路实现DDS,相位累加和相位调制器均为32位,正弦ROM查找表存储1024×10b波形数据,系统时钟为55.6MHz,利用FPGA可以根据需要方便地实现各种比较复杂的调频,调相和调幅功能,具有浪费的实时性。
3.2 仿真结果
使用QuartusⅡ对DSP builder生成的工程文件进行仿真,针对不同参数设置的DDS系统,其仿真波形图如图6和图7所示。
图中,clock为系统时钟,sclrp为高电平复位信号,iFreqwords,iPhasewords和iAmps分别为输入频率、相位和幅度控制字,oDDSOut为输出信号。当复位信号sclrp到来后,向相位累加器赋0,并向相位调制器赋一个初始相位值,在时钟信号的控制下,频率控制字控制相位累加器累加,相位调制器进行相位调制,其输出数据作为取样地址寻址ROM查找表,便可以在oDDSOut管脚上输出连续的正弦波信号。在不同的参数设置下,QuartusⅡ中的仿真结果与Matlab/Simulink中的仿真结果在相位,频率和幅度上基本一致。利用FPGA能输出较高质量的信号,虽然内部数字信号有一定的抖动,但通过采用抖动注入技术、延时叠加法等[3]方法,通常也能将误差保持在允许范围之内。
4 结论
利用可编程逻辑芯片设计DDS的方法通常是采用VHDL语言输入和原理图法相结合来设计整个信号发生电路,这种方法通常需要调用很多模块,综合性较强,对设计者要求较高。本文利用QuartusⅡ和Matlab/Simulink之间的接口工具DSP Builder来设计整个DDS系统,DSP Builder具备一个友好的开发环境,并且和QuartusⅡ交互性强,易于使用。设计者只需简单了解VHDL描述语言,就可以直接调用已经建立好的Matlab和Simulink设计流程,通过Simulink的图形化界面进行建模、系统级仿真,并子对调用QuartusⅡ进行综合,网表生成和适配,最后完成向FPGA的配置下载过程。整个设计思路灵活,图形界面简单直观,开发周期短。仿真结果表明,该设计方案原理正确,行之有效。用FPGA实现DDS较专用DDS芯片更为灵活,只要改变FPGA中ROM内的数据和控制参数,DDS就可以产生任意调制波形,且分辨率高,具有相当大的灵活性。将DDS设计嵌入到FPGA芯片所构成的系统中,其系统成本并不会增加多少,而购买专用芯片的价格则是前者的很多倍。所以采用FPGA设计DDS系统具有很高的性价比。