佟景泉,劉 悅,邢東峰
(蘭州交通大學(xué) 光電技術(shù)與智能控制實(shí)驗(yàn)室,蘭州 730070)
隨著科技的進(jìn)步和電子技術(shù)的發(fā)展,信號(hào)源應(yīng)用越來(lái)越廣泛,對(duì)其各方面的要求越來(lái)越高。傳統(tǒng)的信號(hào)發(fā)生器在實(shí)際中已經(jīng)不能滿(mǎn)足需求。直接數(shù)字頻率合成技術(shù)(DDS)具有頻率分辨率高、頻率變換速度快、相位可連續(xù)變化等特點(diǎn),現(xiàn)在已廣泛應(yīng)用于信號(hào)發(fā)生器、通信及雷達(dá)系統(tǒng)等。
DDS是從相位概念出發(fā),直接合成所需波形的一種頻率合成技術(shù),可以合成正弦波、矩形波以及三角波,而且還可以控制波形的初始相位。DDS主要由參考時(shí)鐘、相位累加器、相位調(diào)制器、波形查找表、D/A轉(zhuǎn)換器以及低通濾波器(LPF)組成。DDS的原理如圖1。
圖1 DDS的原理圖
其中K為頻率控制字,P為相位控制字,W為波形控制字。設(shè)參考時(shí)鐘頻率為fc,相位累加器的字長(zhǎng)為N,相位調(diào)制器的字長(zhǎng)、波形ROM查找表以及D/A轉(zhuǎn)換器的字長(zhǎng)為M,N位相位累加器在參考時(shí)鐘CLK作用下,頻率控制字K累加,溢出后截?cái)喔進(jìn)位與相位控制字P相累加,累加結(jié)果作為波形ROM查找表的輸入地址,對(duì)波形進(jìn)行尋址。ROM的輸出幅度碼經(jīng)過(guò)D/A轉(zhuǎn)換成階梯形波形,在經(jīng)過(guò)低通濾波器(LPF)平滑得到合成的波形。得到的波形取決于ROM中存儲(chǔ)的幅度碼。
頻率控制字K也稱(chēng)作相位的增量,設(shè)fc為參考時(shí)鐘的頻率, fo為輸出波形的頻率,相位累加器的精度為N,DDS的方程為:fo=fcK/2N。由奈奎斯特采樣定理可以知道,最大輸出頻率在當(dāng)K=2N-1時(shí),fo=fc/2。當(dāng)N→∞,輸出頻率fo越來(lái)越細(xì)。要改變DDS的輸出頻率fo,只需改變的是K的取值。
如:假設(shè)參考時(shí)鐘fc=50 MHz,32位的相位累加器,頻率控制字K=0X10000000,那么fo=50×228/232=3.125 MHz。當(dāng)然可以利用PLL倍頻或者分頻,合成所需頻率。
相位累加器是直接數(shù)字頻率合成器的重要組成部分,用于實(shí)現(xiàn)相位的累加并存儲(chǔ)其累加結(jié)果。N位的相位累加器由N位累加器和N位寄存器構(gòu)成,實(shí)現(xiàn)相位的累加并存儲(chǔ)累加的結(jié)果,每來(lái)1個(gè)參考信號(hào)CLK,由頻率控制字K與寄存器存儲(chǔ)的結(jié)果相累加,然后再送給寄存器。寄存器不斷的把累加的結(jié)果送回累加器,然后在下1個(gè)時(shí)鐘CLK到來(lái)時(shí),和頻率控制字K相加,當(dāng)相位累加器加滿(mǎn)時(shí)便產(chǎn)生1次溢出,完成1次周期性動(dòng)作。
圖2 相位累加器
本設(shè)計(jì)中的相位累加器字長(zhǎng)為32位,由4個(gè)8位相位累加器組成,利用Quartus II編譯Verilog HDL編寫(xiě)的相位累加器,生成功能模塊以及仿真波形如圖3:
圖3 相位累加器的功能模塊與仿真波形
波形存儲(chǔ)器ROM中存儲(chǔ)波形量化的數(shù)據(jù),即每1個(gè)相位所對(duì)應(yīng)的二進(jìn)制數(shù)字正弦波幅值,在每個(gè)時(shí)鐘來(lái)臨時(shí),相位累加器輸出截取高M(jìn)位作為ROM的輸入地址,查詢(xún)不同的地址所對(duì)應(yīng)的幅度,實(shí)現(xiàn)相位和幅度的轉(zhuǎn)換,這樣就可以在給定時(shí)間上進(jìn)行抽樣,得到不同的相位所對(duì)應(yīng)的二進(jìn)制幅值序列,完成波形產(chǎn)生功能。利用Quartus II上面自帶的LPM ROM,然后把.mif文件加載到ROM中,以實(shí)現(xiàn)所需的功能。對(duì)于ROM的設(shè)計(jì)主要有2種方法:(1)設(shè)計(jì)一個(gè)ROM,把波形的量化數(shù)據(jù)順序或間隔的存放進(jìn)去;(2)設(shè)計(jì)3個(gè)ROM分別存儲(chǔ)正弦波、矩形波、三角波的量化數(shù)據(jù)。.mif文件可以借助matlab生成。但這樣在設(shè)計(jì)過(guò)程中使ROM的開(kāi)銷(xiāo)特別大,造成資源浪費(fèi),可以從利用分象限的角度來(lái)考慮,如:正弦波形分成4個(gè)部分(00~900)、(900~1800)、(1800~2700)和(2700~3600),ROM中只需存儲(chǔ)(00~900)的波形,利用正弦波形的對(duì)稱(chēng)性,就可以計(jì)算出(00~3600)內(nèi)的波形,從而節(jié)約開(kāi)銷(xiāo)。最高位代表符號(hào)位,如果為“1”則進(jìn)行取補(bǔ)。高2位表示角度所在的象限:“00”表示第1象限,正弦值不變;“01”表示第2象限,正弦值取補(bǔ);“10”表示第3象限,正弦值取補(bǔ);“11”表示第4象限,正弦值不變。
D/A轉(zhuǎn)換器(DAC)的作用是用來(lái)將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)。DDS系統(tǒng)中,波形的幅度值量化后被存于ROM中,然后通過(guò)數(shù)據(jù)線轉(zhuǎn)輸出代表二進(jìn)制數(shù)的電平信號(hào),DAC作用就是將電平數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)。為了得到準(zhǔn)確的數(shù)據(jù),DAC必須有足夠的精度,同時(shí)保證在較高頻率下,有很好的轉(zhuǎn)換速度,但是由于DDS分辨率的限制,輸出的信號(hào)并不能真正實(shí)現(xiàn)連續(xù)可變,故其輸出波形只為階梯型,需要通過(guò)低通濾波器濾去高分頻部分,平滑后得到模擬的波形,一般情況下,DAC作為DDS的外部模塊,提高了DAC設(shè)計(jì)的方便性。
濾波器就是用來(lái)改變信號(hào)中各個(gè)頻率分量的相對(duì)大小,或者抑制,甚至全部濾除某些頻率分量。選擇性濾波是讓1個(gè)或者1組頻率范圍內(nèi)的信號(hào)無(wú)失真通過(guò),而衰減或完全抑制其余頻率范圍的信號(hào),實(shí)現(xiàn)這種功能的系統(tǒng)稱(chēng)為選擇性濾波器。低通濾波器(LPF)用于衰減和濾除不需要的取樣分量以便輸出頻率純凈的波形信號(hào)。從D/A轉(zhuǎn)換器輸出波形是階梯型波形,含有大量的高分頻諧波,經(jīng)過(guò)1個(gè)低通濾波器(LPF),無(wú)失真的通過(guò)所有頻率分量,低通帶之外的所有頻率都被完全抑制,輸出的為正弦波形。
從系統(tǒng)的總體要求出發(fā),用自上而下的設(shè)計(jì)方法,逐步設(shè)計(jì)各模塊,最終完成基于硬件的設(shè)計(jì)。DDS的核心模塊如圖4。
在此設(shè)計(jì)中,設(shè)計(jì)出32位的相位累加器,12位相位調(diào)制器,然后12位輸出作為ROM的輸入地址。
將DDS模塊仿真后的工程下載到Altera的FPGA中進(jìn)行驗(yàn)證,可以觀察生成的波形仿真圖如圖5。
圖4 DDS核心模塊
圖5 DDS的仿真正弦波、方波和三角波波形仿真圖
基于FPGA設(shè)計(jì)的DDS信號(hào)源,具有頻率分辨率高、切換速度快、相位噪聲低等優(yōu)點(diǎn),廣泛應(yīng)用于現(xiàn)代雷達(dá)系統(tǒng)、通信系統(tǒng)和電子對(duì)抗系統(tǒng)中。隨著DDS頻率的上升,DAC對(duì)DDS輸出影響也越來(lái)越大,對(duì)于由于截?cái)嘞辔焕奂悠饕痣s散以及對(duì)ROM的開(kāi)銷(xiāo)很大等都是DDS中有待改進(jìn)的地方。
[1]王金明. 數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL[M]. 北京:電子工業(yè)出版社,2009.
[2]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M]. 北京:北京航空航天大學(xué)出版社,2008.
[3]李海江,劉 方. 基于Verilog HDL的DDS任意波形發(fā)生器設(shè)計(jì)[J]. 儀器儀表用戶(hù),2009(4):55-57.
[4]李春劍,吉望西,劉達(dá)倫. 基于Verilog HDL的DDS設(shè)計(jì)與仿真[J]. 現(xiàn)代電子技術(shù),2008(20):15-17.