基于DSP Builder的DDS设计及其FPGA实现
直接数字合成器,是采用数字技术的一种新型频率合成技术,他通过控制频率、相位增量的步长,产生各种不同频率的信号。他具有一系列的优点;较高的频率分辨率;可以实现快速的频率切换;在频率改变时能够保持相位的连续;很容易实现频率、相位和幅度的数控调制等。目前可采用专用芯片或可编程逻辑芯片实现dds[1],专用的dds芯片产生的信号波形、功能和控制方式固定,常不能满足具体需要[2]。可编程逻辑器件具有器件规模大、工作速度快及可编程的硬件特点,并且开发周期短,易于升级,因为非常适合用于实现dds。
本文引用地址:https://www.eepw.com.cn/article/21344.htm1 dds的工作原理
dds的结构原理图如图1所示,dds以数控振荡器的方式,产生频率、相位和幅度可控的正弦波[3]。电路包括了相位累加器、相位调制器、正弦rom查找表、基准时钟源、d/a转换器等组成。其中前三者是dds结构中的数字部分,具有数控频率合成的功能。

2 基于dsp builder和dds设计
2.1 dsp builder简介
dsp builder是美国altera公司推出的一个面向dsp开发的系统级工具,他作为matlab的一个simulink工具箱,使得用fpga设计dsp系统完全通过simulink的图形化界面进行建模、系统级仿真,设计模型可直接向vhdl硬件描述语言转换,并自动调用quartusⅱ等eda设计软件,完成综合、网表生成以及器件适配乃至fpga的配置下载,使得系统描述与硬件实现有机的融合为一体,充分体现了现代电子技术自动化开发的特点与优势。
2.2 dsp builder设计原理及参数设置
基于dsp builder的dds系统如图2和图3所示,dds子系统subsystem有3个输入,分别为freqword(32位频率控制字)、phaseword(32位相位控制字)、amp(10位幅度控制字);一个输出,即10位ddsout输出。2个parallel
adder subtractor分别为相位累加器和相位调制器,lut为正弦rom查找表。设置simulink的仿真停止时间stop
time为5,仿真步进fixed step size为le-3。图(4)对应频率、相位和幅度控制字分别为4000000,0和10(参数1)时dds系统的输出波形,图5对应频率、相位和幅度控制字分别为9000000,500000000和15(参数2)时dds系统的输出波形。



3.1 dds的fpga实现
matlab/simulink对已经设计好的dds系统进行编译,通过调用dsp builder的signalcompiler工具可直接生成quartusⅱ
工程文件,再调用quartusⅱ完成综合,网表生成和适配,直至完成fpga的配置下载过程。
本设计方案采用的fpga芯片是altera公司的cyclone系列芯片ep1c6q240c8,,其容量6000个逻辑宏单元,等效于标准15万逻辑门电路,速度为-8,完成可通过单片芯片电路实现dds,相位累加和相位调制器均为32位,正弦rom查找表存储1024×10b波形数据,系统时钟为55.6mhz,利用fpga可以根据需要方便地实现各种比较复杂的调频,调相和调幅功能,具有浪费的实时性。

使用quartusⅱ对dsp builder生成的工程文件进行仿真,针对不同参数设置的dds系统,其仿真波形图如图6和图7所示。


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系统具有很高的性价比。
评论