《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于DSP Builder的DDS設(shè)計(jì)及其FPGA實(shí)現(xiàn)
基于DSP Builder的DDS設(shè)計(jì)及其FPGA實(shí)現(xiàn)
摘要: 利用可編程邏輯芯片設(shè)計(jì)DDS的方法通常是采用VHDL語(yǔ)言輸入和原理圖法相結(jié)合來(lái)設(shè)計(jì)整個(gè)信號(hào)發(fā)生電路,,這種方法通常需要調(diào)用很多模塊,,綜合性較強(qiáng),對(duì)設(shè)計(jì)者要求較高,。本文利用QuartusⅡ和Matlab/Simulink之間的接口工具DSP Builder來(lái)設(shè)計(jì)整個(gè)DDS系統(tǒng),,DSP Builder具備一個(gè)友好的開(kāi)發(fā)環(huán)境,并且和QuartusⅡ交互性強(qiáng),,易于使用,。設(shè)計(jì)者只需簡(jiǎn)單了解VHDL描述語(yǔ)言,就可以直接調(diào)用已經(jīng)建立好的Matlab和Simulink設(shè)計(jì)流程,,通過(guò)Simulink的圖形化界面進(jìn)行建模,、系統(tǒng)級(jí)仿真,并子對(duì)調(diào)用QuartusⅡ進(jìn)行綜合,,網(wǎng)表生成和適配,,最后完成向FPGA的配置下載過(guò)程。
關(guān)鍵詞: FPGA DDS DSP Builder QuartusⅡ Simulink
Abstract:
Key words :

   直接數(shù)字合成器,是采用數(shù)字技術(shù)的一種新型頻率合成技術(shù),,他通過(guò)控制頻率,、相位增量的步長(zhǎng),產(chǎn)生各種不同頻率的信號(hào),。他具有一系列的優(yōu)點(diǎn),;較高的頻率分辨率;可以實(shí)現(xiàn)快速的頻率切換,;在頻率改變時(shí)能夠保持相位的連續(xù),;很容易實(shí)現(xiàn)頻率、相位和幅度的數(shù)控調(diào)制等,。目前可采用專用芯片或可編程邏輯芯片實(shí)現(xiàn)DDS[1],,專用的DDS芯片產(chǎn)生的信號(hào)波形、功能和控制方式固定,,常不能滿足具體需要[2],。可編程邏輯器件具有器件規(guī)模大,、工作速度快及可編程的硬件特點(diǎn),,并且開(kāi)發(fā)周期短,易于升級(jí),,因?yàn)榉浅_m合用于實(shí)現(xiàn)DDS,。

1 DDS的工作原理

    DDS的結(jié)構(gòu)原理圖如圖1所示,DDS以數(shù)控振蕩器的方式,,產(chǎn)生頻率,、相位和幅度可控的正弦波[3]。電路包括了相位累加器,、相位調(diào)制器,、正弦ROM查找表、基準(zhǔn)時(shí)鐘源,、D/A轉(zhuǎn)換器等組成,。其中前三者是DDS結(jié)構(gòu)中的數(shù)字部分,具有數(shù)控頻率合成的功能,。

    DDS系統(tǒng)的核心是相位累加器,,完成相位累加過(guò)程。在基準(zhǔn)時(shí)鐘的控制下,,頻率控制字由累加器累加,,以得到相應(yīng)的相位數(shù)據(jù),相位調(diào)制器接收相位累加器的相位輸出,,主要用于信號(hào)的相位調(diào)制,,其輸出的數(shù)據(jù)作為取樣地址來(lái)尋址正弦ROM查找表,完成相位-幅度變換,,輸出不同的幅度編碼,;再經(jīng)過(guò)D/A轉(zhuǎn)換器得到相應(yīng)的階梯波;最后經(jīng)低通濾波器對(duì)階梯進(jìn)行平滑處理,,即可得到由頻率控制字決定的連續(xù)變換輸出的正弦波,。 

2 基于DSP Builder和DDS設(shè)計(jì)

2.1 DSP Builder簡(jiǎn)介

    DSP Builder是美國(guó)Altera公司推出的一個(gè)面向DSP開(kāi)發(fā)的系統(tǒng)級(jí)工具,他作為Matlab的一個(gè)Simulink工具箱,,使得用FPGA設(shè)計(jì)DSP系統(tǒng)完全通過(guò)Simulink的圖形化界面進(jìn)行建模,、系統(tǒng)級(jí)仿真,設(shè)計(jì)模型可直接向VHDL硬件描述語(yǔ)言轉(zhuǎn)換,,并自動(dòng)調(diào)用QuartusⅡ等EDA設(shè)計(jì)軟件,,完成綜合、網(wǎng)表生成以及器件適配乃至FPGA的配置下載,,使得系統(tǒng)描述與硬件實(shí)現(xiàn)有機(jī)的融合為一體,,充分體現(xiàn)了現(xiàn)代電子技術(shù)自動(dòng)化開(kāi)發(fā)的特點(diǎn)與優(yōu)勢(shì)。

2.2 DSP Builder設(shè)計(jì)原理及參數(shù)設(shè)置

     基于DSP Builder的DDS系統(tǒng)如圖2和圖3所示,,DDS子系統(tǒng)Subsystem有3個(gè)輸入,,分別為Freqword(32位頻率控制字)、Phaseword(32位相位控制字),、Amp(10位幅度控制字),;一個(gè)輸出,即10位DDSOut輸出,。2個(gè)Parallel Adder Subtractor分別為相位累加器和相位調(diào)制器,,LUT為正弦ROM查找表。設(shè)置Simulink的仿真停止時(shí)間stop time為5,,仿真步進(jìn)Fixed Step Size為le-3,。圖(4)對(duì)應(yīng)頻率、相位和幅度控制字分別為4000000,,0和10(參數(shù)1)時(shí)DDS系統(tǒng)的輸出波形,,圖5對(duì)應(yīng)頻率、相位和幅度控制字分別為9000000,,500000000和15(參數(shù)2)時(shí)DDS系統(tǒng)的輸出波形,。




3 基于FPGA的DDS設(shè)計(jì) 

3.1 DDS的FPGA實(shí)現(xiàn)

    Matlab/Simulink對(duì)已經(jīng)設(shè)計(jì)好的DDS系統(tǒng)進(jìn)行編譯,通過(guò)調(diào)用DSP Builder的SignalCompiler工具可直接生成QuartusⅡ 工程文件,,再調(diào)用QuartusⅡ完成綜合,,網(wǎng)表生成和適配,直至完成FPGA的配置下載過(guò)程,。

    本設(shè)計(jì)方案采用的FPGA芯片是Altera公司的Cyclone系列芯片EP1C6Q240C8,,,其容量6000個(gè)邏輯宏單元,等效于標(biāo)準(zhǔn)15萬(wàn)邏輯門電路,,速度為-8,,完成可通過(guò)單片芯片電路實(shí)現(xiàn)DDS,相位累加和相位調(diào)制器均為32位,,正弦ROM查找表存儲(chǔ)1024×10b波形數(shù)據(jù),,系統(tǒng)時(shí)鐘為55.6MHz,利用FPGA可以根據(jù)需要方便地實(shí)現(xiàn)各種比較復(fù)雜的調(diào)頻,,調(diào)相和調(diào)幅功能,,具有浪費(fèi)的實(shí)時(shí)性。 

3.2 仿真結(jié)果

    使用QuartusⅡ?qū)SP builder生成的工程文件進(jìn)行仿真,,針對(duì)不同參數(shù)設(shè)置的DDS系統(tǒng),,其仿真波形圖如圖6和圖7所示。




    圖中,,clock為系統(tǒng)時(shí)鐘,,sclrp為高電平復(fù)位信號(hào),iFreqwords,,iPhasewords和iAmps分別為輸入頻率,、相位和幅度控制字,oDDSOut為輸出信號(hào),。當(dāng)復(fù)位信號(hào)sclrp到來(lái)后,,向相位累加器賦0,并向相位調(diào)制器賦一個(gè)初始相位值,,在時(shí)鐘信號(hào)的控制下,,頻率控制字控制相位累加器累加,相位調(diào)制器進(jìn)行相位調(diào)制,,其輸出數(shù)據(jù)作為取樣地址尋址ROM查找表,,便可以在oDDSOut管腳上輸出連續(xù)的正弦波信號(hào)。在不同的參數(shù)設(shè)置下,,QuartusⅡ中的仿真結(jié)果與Matlab/Simulink中的仿真結(jié)果在相位,,頻率和幅度上基本一致。利用FPGA能輸出較高質(zhì)量的信號(hào),,雖然內(nèi)部數(shù)字信號(hào)有一定的抖動(dòng),,但通過(guò)采用抖動(dòng)注入技術(shù)、延時(shí)疊加法等[3]方法,,通常也能將誤差保持在允許范圍之內(nèi),。 

4 結(jié)論

    利用可編程邏輯芯片設(shè)計(jì)DDS的方法通常是采用VHDL語(yǔ)言輸入和原理圖法相結(jié)合來(lái)設(shè)計(jì)整個(gè)信號(hào)發(fā)生電路,這種方法通常需要調(diào)用很多模塊,,綜合性較強(qiáng),,對(duì)設(shè)計(jì)者要求較高,。本文利用QuartusⅡ和Matlab/Simulink之間的接口工具DSP Builder來(lái)設(shè)計(jì)整個(gè)DDS系統(tǒng),DSP Builder具備一個(gè)友好的開(kāi)發(fā)環(huán)境,,并且和QuartusⅡ交互性強(qiáng),,易于使用。設(shè)計(jì)者只需簡(jiǎn)單了解VHDL描述語(yǔ)言,,就可以直接調(diào)用已經(jīng)建立好的Matlab和Simulink設(shè)計(jì)流程,通過(guò)Simulink的圖形化界面進(jìn)行建模,、系統(tǒng)級(jí)仿真,,并子對(duì)調(diào)用QuartusⅡ進(jìn)行綜合,網(wǎng)表生成和適配,,最后完成向FPGA的配置下載過(guò)程,。整個(gè)設(shè)計(jì)思路靈活,圖形界面簡(jiǎn)單直觀,,開(kāi)發(fā)周期短,。仿真結(jié)果表明,該設(shè)計(jì)方案原理正確,,行之有效,。用FPGA實(shí)現(xiàn)DDS較專用DDS芯片更為靈活,只要改變FPGA中ROM內(nèi)的數(shù)據(jù)和控制參數(shù),,DDS就可以產(chǎn)生任意調(diào)制波形,,且分辨率高,具有相當(dāng)大的靈活性,。將DDS設(shè)計(jì)嵌入到FPGA芯片所構(gòu)成的系統(tǒng)中,,其系統(tǒng)成本并不會(huì)增加多少,而購(gòu)買專用芯片的價(jià)格則是前者的很多倍,。所以采用FPGA設(shè)計(jì)DDS系統(tǒng)具有很高的性價(jià)比,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。