基于DSPBuilder的DDS设计及其FPGA实现
发布时间:2007/4/23 0:00:00 访问次数:972
直接数字合成器,是采用数字技术的一种新型频率合成技术,他通过控制频率、相位增量的步长,产生各种不同频率的信号。他具有一系列的优点;较高的频率分辨率;可以实现快速的频率切换;在频率改变时能够保持相位的连续;很容易实现频率、相位和幅度的数控调制等。目前可采用专用芯片或可编程逻辑芯片实现DDS[1],专用的DDS芯片产生的信号波形、功能和控制方式固定,常不能满足具体需要[2]。可编程逻辑器件具有器件规模大、工作速度快及可编程的硬件特点,并且开发周期短,易于升级,因为非常适合用于实现DDS。
1DDS的工作原理
DDS的结构原理图如图1所示,DDS以数控振荡器的方式,产生频率、相位和幅度可控的正弦波[3]。电路包括了相位累加器、相位调制器、正弦ROM查找表、基准时钟源、D/A转换器等组成。其中前三者是DDS结构中的数字部分,具有数控频率合成的功能。
DDS系统的核心是相位累加器,完成相位累加过程。在基准时钟的控制下,频率控制字由累加器累加,以得到相应的相位数据,相位调制器接收相位累加器的相位输出,主要用于信号的相位调制,其输出的数据作为取样地址来寻址正弦ROM查找表,完成相位-幅度变换,输出不同的幅度编码;再经过D/A转换器得到相应的阶梯波;最后经低通滤波器对阶梯进行平滑处理,即可得到由频率控制字决定的连续变换输出的正弦波。
2基于DSPBuilder和DDS设计
2.1DSPBuilder简介
DSPBuilder是美国Altera公司推出的一个面向DSP开发的系统级工具,他作为Matlab的一个Simulink工具箱,使得用FPGA设计DSP系统完全通过Simulink的图形化界面进行建模、系统级仿真,设计模型可直接向VHDL硬件描述语言转换,并自动调用QuartusⅡ等EDA设计软件,完成综合、网表生成以及器件适配乃至FPGA的配置下载,使得系统描述与硬件实现有机的融合为一体,充分体现了现代电子技术自动化开发的特点与优势。
2.2DSPBuilder设计原理及参数设置
基于DSPBuilder的DDS系统如图2和图3所示,DDS子系统Subsystem有3个输入,分别为Freqword(32位频率控制字)、Phaseword(32位相位控制字)、Amp(10位幅度控制字);一个输出,即10位DDSOut输出。2个ParallelAdderSubtractor分别为相位累加器和相位调制器,LUT为正弦ROM查找表。设置Simulink的仿真停止时间stoptime为5,仿真步进FixedStepSize为le-3。图(4)对应频率、相位和幅度控制字分别为4000000,0和10(参数1)时DDS系统的输出波形,图5对应频率、相位和幅度控制字分别为9000000,500000000和15(参数2)时DDS系统的输出波形。
3基于FPGA的DDS设计
3.1DDS的FPGA实现
Matlab/Simulink对已经设计好的DDS系统进行编译,通过调用DSPBuilder的SignalCompiler工具可直接生成QuartusⅡ工程文件,再调用QuartusⅡ完成综合,网表生成和适配,直至完成FPGA的配置下载过程。
本设计方案采用的FPGA芯片是Altera公司的Cyclone系列芯片EP1C6Q240C8,,其容量6000个逻辑宏单元,等效于标准15万逻辑门电路,速度为-8,完成可通过单片芯片电路实现DDS,相位累加和相位调制器均为32位,正弦ROM查找表存储1024×10b波形数据,系统时钟为55.6MHz,利用FPGA可以根据需要方便地实现各种比较复杂的调频,调相和调幅功能,具有浪费的实时性。
3.2仿真结果
使用QuartusⅡ对DSPbuilder生成的工程文件进行仿真,针对不同参数设置的DDS系统,其仿真波形图如图6和图7所示。
图中,clock为系统时钟,sclrp为高电平复位信号,iFreqwords,iPhasewords和iAmps分别为输入频率、相位和幅度控制字,oDDSOut为输出信号。当复位信号sclrp到来后,向相位累加器赋0,并向相位调制器赋一个初始相位值,在时钟信号的控制下,频率控制字控制相位累加器累加,相位调制器进行相位调制,其输出数据作为取样地址寻址ROM查找表,便可以在oDDSOut管脚上输出连续的正弦波信号。在不同的参数设置下,QuartusⅡ中的仿真结果与Matlab/Simulink中的仿真结果在相位,频率和幅度上基本一致。利用FPGA能输出较高质量的信号,虽然内部数字信号有一定的抖动,
1DDS的工作原理
DDS的结构原理图如图1所示,DDS以数控振荡器的方式,产生频率、相位和幅度可控的正弦波[3]。电路包括了相位累加器、相位调制器、正弦ROM查找表、基准时钟源、D/A转换器等组成。其中前三者是DDS结构中的数字部分,具有数控频率合成的功能。
DDS系统的核心是相位累加器,完成相位累加过程。在基准时钟的控制下,频率控制字由累加器累加,以得到相应的相位数据,相位调制器接收相位累加器的相位输出,主要用于信号的相位调制,其输出的数据作为取样地址来寻址正弦ROM查找表,完成相位-幅度变换,输出不同的幅度编码;再经过D/A转换器得到相应的阶梯波;最后经低通滤波器对阶梯进行平滑处理,即可得到由频率控制字决定的连续变换输出的正弦波。
2基于DSPBuilder和DDS设计
2.1DSPBuilder简介
DSPBuilder是美国Altera公司推出的一个面向DSP开发的系统级工具,他作为Matlab的一个Simulink工具箱,使得用FPGA设计DSP系统完全通过Simulink的图形化界面进行建模、系统级仿真,设计模型可直接向VHDL硬件描述语言转换,并自动调用QuartusⅡ等EDA设计软件,完成综合、网表生成以及器件适配乃至FPGA的配置下载,使得系统描述与硬件实现有机的融合为一体,充分体现了现代电子技术自动化开发的特点与优势。
2.2DSPBuilder设计原理及参数设置
基于DSPBuilder的DDS系统如图2和图3所示,DDS子系统Subsystem有3个输入,分别为Freqword(32位频率控制字)、Phaseword(32位相位控制字)、Amp(10位幅度控制字);一个输出,即10位DDSOut输出。2个ParallelAdderSubtractor分别为相位累加器和相位调制器,LUT为正弦ROM查找表。设置Simulink的仿真停止时间stoptime为5,仿真步进FixedStepSize为le-3。图(4)对应频率、相位和幅度控制字分别为4000000,0和10(参数1)时DDS系统的输出波形,图5对应频率、相位和幅度控制字分别为9000000,500000000和15(参数2)时DDS系统的输出波形。
3基于FPGA的DDS设计
3.1DDS的FPGA实现
Matlab/Simulink对已经设计好的DDS系统进行编译,通过调用DSPBuilder的SignalCompiler工具可直接生成QuartusⅡ工程文件,再调用QuartusⅡ完成综合,网表生成和适配,直至完成FPGA的配置下载过程。
本设计方案采用的FPGA芯片是Altera公司的Cyclone系列芯片EP1C6Q240C8,,其容量6000个逻辑宏单元,等效于标准15万逻辑门电路,速度为-8,完成可通过单片芯片电路实现DDS,相位累加和相位调制器均为32位,正弦ROM查找表存储1024×10b波形数据,系统时钟为55.6MHz,利用FPGA可以根据需要方便地实现各种比较复杂的调频,调相和调幅功能,具有浪费的实时性。
3.2仿真结果
使用QuartusⅡ对DSPbuilder生成的工程文件进行仿真,针对不同参数设置的DDS系统,其仿真波形图如图6和图7所示。
图中,clock为系统时钟,sclrp为高电平复位信号,iFreqwords,iPhasewords和iAmps分别为输入频率、相位和幅度控制字,oDDSOut为输出信号。当复位信号sclrp到来后,向相位累加器赋0,并向相位调制器赋一个初始相位值,在时钟信号的控制下,频率控制字控制相位累加器累加,相位调制器进行相位调制,其输出数据作为取样地址寻址ROM查找表,便可以在oDDSOut管脚上输出连续的正弦波信号。在不同的参数设置下,QuartusⅡ中的仿真结果与Matlab/Simulink中的仿真结果在相位,频率和幅度上基本一致。利用FPGA能输出较高质量的信号,虽然内部数字信号有一定的抖动,
直接数字合成器,是采用数字技术的一种新型频率合成技术,他通过控制频率、相位增量的步长,产生各种不同频率的信号。他具有一系列的优点;较高的频率分辨率;可以实现快速的频率切换;在频率改变时能够保持相位的连续;很容易实现频率、相位和幅度的数控调制等。目前可采用专用芯片或可编程逻辑芯片实现DDS[1],专用的DDS芯片产生的信号波形、功能和控制方式固定,常不能满足具体需要[2]。可编程逻辑器件具有器件规模大、工作速度快及可编程的硬件特点,并且开发周期短,易于升级,因为非常适合用于实现DDS。
1DDS的工作原理
DDS的结构原理图如图1所示,DDS以数控振荡器的方式,产生频率、相位和幅度可控的正弦波[3]。电路包括了相位累加器、相位调制器、正弦ROM查找表、基准时钟源、D/A转换器等组成。其中前三者是DDS结构中的数字部分,具有数控频率合成的功能。
DDS系统的核心是相位累加器,完成相位累加过程。在基准时钟的控制下,频率控制字由累加器累加,以得到相应的相位数据,相位调制器接收相位累加器的相位输出,主要用于信号的相位调制,其输出的数据作为取样地址来寻址正弦ROM查找表,完成相位-幅度变换,输出不同的幅度编码;再经过D/A转换器得到相应的阶梯波;最后经低通滤波器对阶梯进行平滑处理,即可得到由频率控制字决定的连续变换输出的正弦波。
2基于DSPBuilder和DDS设计
2.1DSPBuilder简介
DSPBuilder是美国Altera公司推出的一个面向DSP开发的系统级工具,他作为Matlab的一个Simulink工具箱,使得用FPGA设计DSP系统完全通过Simulink的图形化界面进行建模、系统级仿真,设计模型可直接向VHDL硬件描述语言转换,并自动调用QuartusⅡ等EDA设计软件,完成综合、网表生成以及器件适配乃至FPGA的配置下载,使得系统描述与硬件实现有机的融合为一体,充分体现了现代电子技术自动化开发的特点与优势。
2.2DSPBuilder设计原理及参数设置
基于DSPBuilder的DDS系统如图2和图3所示,DDS子系统Subsystem有3个输入,分别为Freqword(32位频率控制字)、Phaseword(32位相位控制字)、Amp(10位幅度控制字);一个输出,即10位DDSOut输出。2个ParallelAdderSubtractor分别为相位累加器和相位调制器,LUT为正弦ROM查找表。设置Simulink的仿真停止时间stoptime为5,仿真步进FixedStepSize为le-3。图(4)对应频率、相位和幅度控制字分别为4000000,0和10(参数1)时DDS系统的输出波形,图5对应频率、相位和幅度控制字分别为9000000,500000000和15(参数2)时DDS系统的输出波形。
3基于FPGA的DDS设计
3.1DDS的FPGA实现
Matlab/Simulink对已经设计好的DDS系统进行编译,通过调用DSPBuilder的SignalCompiler工具可直接生成QuartusⅡ工程文件,再调用QuartusⅡ完成综合,网表生成和适配,直至完成FPGA的配置下载过程。
本设计方案采用的FPGA芯片是Altera公司的Cyclone系列芯片EP1C6Q240C8,,其容量6000个逻辑宏单元,等效于标准15万逻辑门电路,速度为-8,完成可通过单片芯片电路实现DDS,相位累加和相位调制器均为32位,正弦ROM查找表存储1024×10b波形数据,系统时钟为55.6MHz,利用FPGA可以根据需要方便地实现各种比较复杂的调频,调相和调幅功能,具有浪费的实时性。
3.2仿真结果
使用QuartusⅡ对DSPbuilder生成的工程文件进行仿真,针对不同参数设置的DDS系统,其仿真波形图如图6和图7所示。
图中,clock为系统时钟,sclrp为高电平复位信号,iFreqwords,iPhasewords和iAmps分别为输入频率、相位和幅度控制字,oDDSOut为输出信号。当复位信号sclrp到来后,向相位累加器赋0,并向相位调制器赋一个初始相位值,在时钟信号的控制下,频率控制字控制相位累加器累加,相位调制器进行相位调制,其输出数据作为取样地址寻址ROM查找表,便可以在oDDSOut管脚上输出连续的正弦波信号。在不同的参数设置下,QuartusⅡ中的仿真结果与Matlab/Simulink中的仿真结果在相位,频率和幅度上基本一致。利用FPGA能输出较高质量的信号,虽然内部数字信号有一定的抖动,
1DDS的工作原理
DDS的结构原理图如图1所示,DDS以数控振荡器的方式,产生频率、相位和幅度可控的正弦波[3]。电路包括了相位累加器、相位调制器、正弦ROM查找表、基准时钟源、D/A转换器等组成。其中前三者是DDS结构中的数字部分,具有数控频率合成的功能。
DDS系统的核心是相位累加器,完成相位累加过程。在基准时钟的控制下,频率控制字由累加器累加,以得到相应的相位数据,相位调制器接收相位累加器的相位输出,主要用于信号的相位调制,其输出的数据作为取样地址来寻址正弦ROM查找表,完成相位-幅度变换,输出不同的幅度编码;再经过D/A转换器得到相应的阶梯波;最后经低通滤波器对阶梯进行平滑处理,即可得到由频率控制字决定的连续变换输出的正弦波。
2基于DSPBuilder和DDS设计
2.1DSPBuilder简介
DSPBuilder是美国Altera公司推出的一个面向DSP开发的系统级工具,他作为Matlab的一个Simulink工具箱,使得用FPGA设计DSP系统完全通过Simulink的图形化界面进行建模、系统级仿真,设计模型可直接向VHDL硬件描述语言转换,并自动调用QuartusⅡ等EDA设计软件,完成综合、网表生成以及器件适配乃至FPGA的配置下载,使得系统描述与硬件实现有机的融合为一体,充分体现了现代电子技术自动化开发的特点与优势。
2.2DSPBuilder设计原理及参数设置
基于DSPBuilder的DDS系统如图2和图3所示,DDS子系统Subsystem有3个输入,分别为Freqword(32位频率控制字)、Phaseword(32位相位控制字)、Amp(10位幅度控制字);一个输出,即10位DDSOut输出。2个ParallelAdderSubtractor分别为相位累加器和相位调制器,LUT为正弦ROM查找表。设置Simulink的仿真停止时间stoptime为5,仿真步进FixedStepSize为le-3。图(4)对应频率、相位和幅度控制字分别为4000000,0和10(参数1)时DDS系统的输出波形,图5对应频率、相位和幅度控制字分别为9000000,500000000和15(参数2)时DDS系统的输出波形。
3基于FPGA的DDS设计
3.1DDS的FPGA实现
Matlab/Simulink对已经设计好的DDS系统进行编译,通过调用DSPBuilder的SignalCompiler工具可直接生成QuartusⅡ工程文件,再调用QuartusⅡ完成综合,网表生成和适配,直至完成FPGA的配置下载过程。
本设计方案采用的FPGA芯片是Altera公司的Cyclone系列芯片EP1C6Q240C8,,其容量6000个逻辑宏单元,等效于标准15万逻辑门电路,速度为-8,完成可通过单片芯片电路实现DDS,相位累加和相位调制器均为32位,正弦ROM查找表存储1024×10b波形数据,系统时钟为55.6MHz,利用FPGA可以根据需要方便地实现各种比较复杂的调频,调相和调幅功能,具有浪费的实时性。
3.2仿真结果
使用QuartusⅡ对DSPbuilder生成的工程文件进行仿真,针对不同参数设置的DDS系统,其仿真波形图如图6和图7所示。
图中,clock为系统时钟,sclrp为高电平复位信号,iFreqwords,iPhasewords和iAmps分别为输入频率、相位和幅度控制字,oDDSOut为输出信号。当复位信号sclrp到来后,向相位累加器赋0,并向相位调制器赋一个初始相位值,在时钟信号的控制下,频率控制字控制相位累加器累加,相位调制器进行相位调制,其输出数据作为取样地址寻址ROM查找表,便可以在oDDSOut管脚上输出连续的正弦波信号。在不同的参数设置下,QuartusⅡ中的仿真结果与Matlab/Simulink中的仿真结果在相位,频率和幅度上基本一致。利用FPGA能输出较高质量的信号,虽然内部数字信号有一定的抖动,