《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA和DDS技術(shù)的任意波形發(fā)生器設(shè)計(jì)
基于FPGA和DDS技術(shù)的任意波形發(fā)生器設(shè)計(jì)
現(xiàn)代電子技術(shù)
曾菊容 宜賓學(xué)院
摘要: 根據(jù)現(xiàn)代電子系統(tǒng)對(duì)信號(hào)源的頻率穩(wěn)定度,、準(zhǔn)確度及分辨率越來(lái)越高的要求,,結(jié)合直接數(shù)字式頻率合成器(DDS)的優(yōu)點(diǎn),,利用FPGA芯片的可編程性和實(shí)現(xiàn)方案易改動(dòng)的特點(diǎn),,提出了一種基于FPGA和DDS技術(shù)的任意波形發(fā)生器設(shè)計(jì)方案,。采用VHDL和原理圖輸入方式,,在Quar-tusⅡ平臺(tái)下實(shí)現(xiàn)該設(shè)計(jì)的綜合和仿真,,用Matlab對(duì)仿真數(shù)據(jù)進(jìn)行處理及顯示,,驗(yàn)證了設(shè)計(jì)的正確性,。通過(guò)設(shè)置參數(shù)可以靈活控制輸出頻率和分辨率,。
關(guān)鍵詞: FPGA DDS 波形發(fā)生器 VHDL
Abstract:
Key words :

摘要:根據(jù)現(xiàn)代電子系統(tǒng)對(duì)信號(hào)源的頻率穩(wěn)定度、準(zhǔn)確度及分辨率越來(lái)越高的要求,,結(jié)合直接數(shù)字式頻率合成器(DDS)的優(yōu)點(diǎn),,利用FPGA芯片的可編程性和實(shí)現(xiàn)方案易改動(dòng)的特點(diǎn),提出了一種基于FPGA和DDS技術(shù)的任意波形發(fā)生器設(shè)計(jì)方案,。采用VHDL和原理圖輸入方式,,在Quar-tusⅡ平臺(tái)下實(shí)現(xiàn)該設(shè)計(jì)的綜合和仿真,用Matlab對(duì)仿真數(shù)據(jù)進(jìn)行處理及顯示,,驗(yàn)證了設(shè)計(jì)的正確性,。通過(guò)設(shè)置參數(shù)可以靈活控制輸出頻率和分辨率。
關(guān)鍵詞:DDS;FPGA,;波形發(fā)生器,;VHDL

0 引言
    隨著現(xiàn)代電子技術(shù)的發(fā)展,在通訊,、雷達(dá),、宇航、電視廣播,、遙控遙測(cè)和電子測(cè)量等使用領(lǐng)域,,對(duì)信號(hào)源的頻率穩(wěn)定度、頻譜純度,、范圍和輸出頻率提出了越來(lái)越高的要求,。為了提高頻率穩(wěn)定度,經(jīng)常采用晶體振蕩器等方法來(lái)解決,,但已不能滿足眾多應(yīng)用場(chǎng)合的要求,。伴隨電子測(cè)量技能與計(jì)算機(jī)技能的緊密結(jié)合,一種新的信號(hào)發(fā)生器——任意波形發(fā)生器應(yīng)運(yùn)而生,,它可產(chǎn)生由用戶定義的任意復(fù)雜的波形,,因而具有廣闊的運(yùn)用發(fā)展前景。目前設(shè)計(jì)波形發(fā)生器的要領(lǐng)通常有三種:
    (1)傳統(tǒng)的直接頻率合成技能(DS),。該類(lèi)要領(lǐng)能實(shí)現(xiàn)高速頻率變換,,具有低相位噪聲以及所有要領(lǐng)中最高的工作頻率。但由于采用大量的倍頻,、分頻、混頻和濾波環(huán)節(jié),,導(dǎo)致其結(jié)構(gòu)復(fù)雜,、體積龐大、成本昂貴,,而且容易產(chǎn)生過(guò)多的雜散分量,。
    (2)鎖相環(huán)式頻率合成器(PLL)。該類(lèi)技能具有良好窄帶跟蹤特征,,可選擇所需頻率信號(hào),,抑制雜散分量,且省去大量濾波器,,有利于集成化和小型化,。但由于鎖相環(huán)本身是個(gè)惰性環(huán)節(jié),鎖定時(shí)間較長(zhǎng),,因而頻率轉(zhuǎn)換時(shí)間較長(zhǎng),,且由模擬要領(lǐng)合成的正弦波參數(shù)(如幅度、頻率和相位等)都難以定量控制。
    (3)直接數(shù)字式頻率合成器(direct digital frequency,,DDS),。該類(lèi)要領(lǐng)具有高頻率穩(wěn)定度、高頻率分辨率以及極短的頻率轉(zhuǎn)換時(shí)間,。此外,,全數(shù)字化結(jié)構(gòu)便于集成,輸出相位連續(xù),,頻率,、相位和幅度均可實(shí)現(xiàn)程控,而且理論上能夠?qū)崿F(xiàn)任意波形,。
    鑒于DDS技術(shù)的優(yōu)點(diǎn),,本文利用FPGA芯片的可編程性和實(shí)現(xiàn)方案易改動(dòng)的特點(diǎn),提出一種基于FPGA和DDS技術(shù)的任意波形發(fā)生器設(shè)計(jì)新方法,。

1 DDS的基本原理
    DDS的基本原理是利用采樣定理,,通過(guò)查表法產(chǎn)生波形。DDS的結(jié)構(gòu)有很多種,,其基本的電路原理可用圖1來(lái)表示,。

a.JPG
    DDS是從相位概念出發(fā),直接對(duì)參考正弦信號(hào)進(jìn)行抽樣,,得到不同的相位,,通過(guò)數(shù)字計(jì)算技術(shù)產(chǎn)生對(duì)應(yīng)的電壓幅度,最后濾波平滑輸出所需頻率,。下面通過(guò)從相位出發(fā)的正弦函數(shù)產(chǎn)生描述DDS的概念,。
    圖1中,K為頻率控制字,;N為相位累加器的字長(zhǎng),;M為ROM地址線位數(shù);m為ROM數(shù)據(jù)線位數(shù),,即DAC的位數(shù),;fc為DDS系統(tǒng)的參考時(shí)鐘源,通常是一個(gè)具有高穩(wěn)定性的晶體振蕩器,,為整個(gè)系統(tǒng)的各個(gè)組成部分提供同步時(shí)鐘,。
    DDS的數(shù)學(xué)模型可歸結(jié)為:在每一個(gè)時(shí)鐘周期T內(nèi),頻率控制字K與N比特相位累加器累加1次,,同時(shí)對(duì)2N取模運(yùn)算,,得到的和(以N位二進(jìn)制數(shù)表示)作為相位值,以二進(jìn)制代碼的形式查詢正弦函數(shù)表ROM,,再將相位信息轉(zhuǎn)變成相應(yīng)的數(shù)字量化正弦幅度值,。ROM輸出的數(shù)字正弦波序列經(jīng)數(shù)/模轉(zhuǎn)換器轉(zhuǎn)變?yōu)殡A梯模擬信號(hào),,最后通過(guò)低通濾波器平滑后得到一個(gè)純凈的正弦模擬信號(hào),其頻率為:
    b.JPG
    相位累加器由N位加法器與N位累加寄存器級(jí)聯(lián)構(gòu)成,。每來(lái)一個(gè)時(shí)鐘脈沖fc,,加法器將頻率控制字K與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端,。累加寄存器將加法器在上一個(gè)時(shí)鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,,以使加法器在下一個(gè)時(shí)鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,,相位累加器在時(shí)鐘作用下,,不斷對(duì)頻率控制字進(jìn)行線性相位累加。由此可以看出,,相位累加器在每一個(gè)時(shí)鐘脈沖輸入時(shí),,把頻率控制字累加1次,相位累加器輸出的數(shù)據(jù)就是合成信號(hào)的相位,,相位累加器的溢出頻率就是DDS輸出的信號(hào)頻率,。用相位累加器輸出的數(shù)據(jù)作為波形存儲(chǔ)器(ROM)的相位取樣地址,這樣就可把存儲(chǔ)在波形存儲(chǔ)器內(nèi)的波形抽樣值(二進(jìn)制編碼)經(jīng)查找表查出,,完成相位到幅值轉(zhuǎn)換,。波形存儲(chǔ)器的輸出送到D/A轉(zhuǎn)換器,D/A轉(zhuǎn)換器將數(shù)字量形式的波形幅值轉(zhuǎn)換成所要求合成頻率的模擬量形式信號(hào),。低通濾波器用于濾除不需要的取樣分量,,以便輸出頻譜純凈的正弦波信號(hào)。

2 DDS模塊的FPGA實(shí)現(xiàn)

2.1 DDS模塊的基本結(jié)構(gòu)設(shè)計(jì)
    整個(gè)DDS系統(tǒng)的設(shè)計(jì)采用層次結(jié)構(gòu),,采用VHDL與原理圖輸入相結(jié)合的方法,,DDS基本結(jié)構(gòu)如圖2所示。

c.JPG
    下面就各個(gè)部分的設(shè)計(jì)分別介紹:該設(shè)計(jì)中采用的頻率字為32位,,即N=32,,RAM為256×8位,故ROM的地址線寬M=8,,輸出數(shù)據(jù)線寬L=8,。由于RAM地址線為8位(28=256),,而相位累加器的輸出為32位,,為了保證它們之間的對(duì)應(yīng),將相位累加器的高8位與RAM的地址線相連,。這樣存在多個(gè)相位地址對(duì)應(yīng)同一個(gè)RAM地址的情況,,如果把相位累加器輸出的所有位數(shù)全部用來(lái)查詢RAM,那么RAM的容量會(huì)非常的大,,如此巨大的RAM表容量在實(shí)際工作中難以實(shí)現(xiàn),。因此,,常使用相位地址高位來(lái)尋址,舍去低位的相位截?cái)喾椒?。?dāng)然,,這種方法會(huì)引入一定的噪聲,但
對(duì)于節(jié)省的資源來(lái)說(shuō),,這種方法還是值得的,。
2.2 DDS模塊的總體設(shè)計(jì)
    該設(shè)計(jì)主要由接口部件、頻率及控制部件,、相位累加器,、波形數(shù)據(jù)產(chǎn)生部件和輸出選擇器組成,如圖3所示,。

d.JPG
    接口部件主要完成接收單片機(jī)發(fā)送過(guò)來(lái)的頻率參數(shù)及控制參數(shù)其中A0為數(shù)據(jù)通道和地址通道選擇位,,EN為數(shù)據(jù)寫(xiě)入使能。頻率及控制部件主要完成頻率控制字及輸出控制參數(shù)的存儲(chǔ),,由5個(gè)帶寫(xiě)使能的8位同步寄存器組成,。相位累加器為DDS主要部件實(shí)現(xiàn)相位的累加。波形數(shù)據(jù)產(chǎn)生部件的功能是將相位數(shù)據(jù)轉(zhuǎn)化為所需的波形數(shù)據(jù),,其中正弦波和三角波數(shù)據(jù)由查ROM表獲得,,鋸齒波數(shù)據(jù)直接由相位累加器輸出得到,方波數(shù)據(jù)是相位累加器輸出數(shù)據(jù)與設(shè)定數(shù)據(jù)比較獲得,。輸出選擇器的SEL端接到控制參數(shù)寄存器,,它的4個(gè)數(shù)值分別選擇4種不同的波形輸出。

3 DDS仿真實(shí)驗(yàn)結(jié)果
    設(shè)置輸出100 kHz正弦波,,由式,,得,通過(guò)計(jì)算K=21 477 072=147B6DOH,,按照此數(shù)據(jù)設(shè)置好頻率控制寄存器的參數(shù),,其仿真波形如圖4、圖5所示,。

g.JPG

 

h.JPG


     用Matlab對(duì)仿真數(shù)據(jù)進(jìn)行處理,,得到對(duì)應(yīng)波形顯示圖6~圖11所示,驗(yàn)證了設(shè)計(jì)的正確性,。

4 結(jié)語(yǔ)
    該系統(tǒng)用FPGA器件FLEX10K在QuartusⅡ平臺(tái)上通過(guò)原理圖設(shè)計(jì)DDS,,用Matlab對(duì)QuarltusⅡ平臺(tái)上軟件仿真得出的仿真數(shù)據(jù)進(jìn)行處理及顯示,驗(yàn)證了設(shè)計(jì)的正確性,。通過(guò)設(shè)置參數(shù)可以靈活控制輸出頻率和分辨率,,而專用的DDS芯片雖然具有抽取比大,性能穩(wěn)定的特點(diǎn),,但價(jià)格昂貴,,靈活性不強(qiáng),,不能充分體現(xiàn)軟件無(wú)線電的優(yōu)勢(shì)所在。具體到實(shí)際的應(yīng)用中可增加頻率控制字的寬度,,一般取32位或48位,,這樣能夠提高頻率分辨率。
 

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