新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP Builder的DDS設(shè)計(jì)及其FPGA實(shí)現(xiàn)

基于DSP Builder的DDS設(shè)計(jì)及其FPGA實(shí)現(xiàn)

——
作者:王杰,馬玲,劉葦娜,王子旭 (湖北大學(xué) 湖北 武漢 430062) 時(shí)間:2007-01-26 來源:《現(xiàn)代電子技術(shù)》 收藏

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

本文引用地址:http://m.butianyuan.cn/article/21344.htm

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

2 基于dsp builder和dds設(shè)計(jì)

2.1 dsp builder簡介

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

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)對應(yīng)頻率、相位和幅度控制字分別為4000000,0和10(參數(shù)1)時(shí)dds系統(tǒng)的輸出波形,圖5對應(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對已經(jīng)設(shè)計(jì)好的dds系統(tǒng)進(jìn)行編譯,通過調(diào)用dsp builder的signalcompiler工具可直接生成quartusⅱ 工程文件,再調(diào)用quartusⅱ完成綜合,網(wǎng)表生成和適配,直至完成fpga的配置下載過程。

本設(shè)計(jì)方案采用的fpga芯片是altera公司的cyclone系列芯片ep1c6q240c8,,其容量6000個(gè)邏輯宏單元,等效于標(biāo)準(zhǔn)15萬邏輯門電路,速度為-8,完成可通過單片芯片電路實(shí)現(xiàn)dds,相位累加和相位調(diào)制器均為32位,正弦rom查找表存儲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ⅱ對dsp builder生成的工程文件進(jìn)行仿真,針對不同參數(shù)設(shè)置的dds系統(tǒng),其仿真波形圖如圖6和圖7所示。

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

4 結(jié)論

利用可編程邏輯芯片設(shè)計(jì)dds的方法通常是采用vhdl語言輸入和原理圖法相結(jié)合來設(shè)計(jì)整個(gè)信號發(fā)生電路,這種方法通常需要調(diào)用很多模塊,綜合性較強(qiáng),對設(shè)計(jì)者要求較高。本文利用quartusⅱ和matlab/simulink之間的接口工具dsp builder來設(shè)計(jì)整個(gè)dds系統(tǒng),dsp builder具備一個(gè)友好的開發(fā)環(huán)境,并且和quartusⅱ交互性強(qiáng),易于使用。設(shè)計(jì)者只需簡單了解vhdl描述語言,就可以直接調(diào)用已經(jīng)建立好的matlab和simulink設(shè)計(jì)流程,通過simulink的圖形化界面進(jìn)行建模、系統(tǒng)級仿真,并子對調(diào)用quartusⅱ進(jìn)行綜合,網(wǎng)表生成和適配,最后完成向fpga的配置下載過程。整個(gè)設(shè)計(jì)思路靈活,圖形界面簡單直觀,開發(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)成本并不會增加多少,而購買專用芯片的價(jià)格則是前者的很多倍。所以采用fpga設(shè)計(jì)dds系統(tǒng)具有很高的性價(jià)比。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉