李平,周原
(黃淮學(xué)院 信息工程學(xué)院,河南 駐馬店 264001)
直接數(shù)字頻率合成技術(shù)DDS(Direct Digital Synthesizer)是一種從相位出發(fā)直接合成所需波形的頻率合成技術(shù),是基于奈奎斯特抽樣定理理論和現(xiàn)代器件生產(chǎn)技術(shù)發(fā)展的一種頻率合成技術(shù)[1]。與第二代基于鎖相環(huán)頻率合成技術(shù)相比,DDS具有頻率切換時(shí)間短、頻率分辨率高、相位可連續(xù)變化和輸出波形靈活等優(yōu)點(diǎn),因此,廣泛應(yīng)用于教學(xué)科研、通信、雷達(dá)、自動(dòng)控制和電子測(cè)量等領(lǐng)域[2]。隨著高速可編程邏輯器件FPGA的發(fā)展,電子工程師可根據(jù)實(shí)際需求,在單一FPGA上開發(fā)出性能優(yōu)良的具有任意波形的DDS系統(tǒng),極大限度地簡(jiǎn)化設(shè)計(jì)過程并提高效率。
DDS主要通過查波形表實(shí)現(xiàn)。由奈奎斯特抽樣定理理論可知,當(dāng)抽樣頻率大于被抽樣信號(hào)的最高頻率2倍時(shí),通過抽樣得到的數(shù)字信號(hào)可通過一個(gè)低通濾波器還原成原來的信號(hào)。實(shí)際上,它是由設(shè)置的二進(jìn)制控制字對(duì)參考時(shí)鐘做除法運(yùn)算??刂谱忠话銥?4~48位字長(zhǎng),因此可以認(rèn)為DDS是數(shù)字信號(hào)處理理論的延伸,是數(shù)字信號(hào)處理的硬件實(shí)現(xiàn)[3-5]。
設(shè)一路頻率為的余弦信號(hào):
現(xiàn)以采樣率fc對(duì)該路信號(hào)采樣,得到離散序列為:
式中:Tc=1/fc為采樣周期。
式(2)中對(duì)應(yīng)的相位序列為:
該相位序列的顯著特點(diǎn)就是線性,即相鄰樣值之間的相位增量是一常數(shù),且僅與信號(hào)頻率f有關(guān),即相位增量為:
由于頻率f與參考源頻率fc滿足:
式中:K和M為正整數(shù)。
相位增量為:
由式(6)可知,若將2π的相位均勻分為M等分,則頻率f=(K/M)·fc的余弦信號(hào)以頻率fc采樣后,其量化序列的樣本之間的量化相位增量為一變值K。
根據(jù)以上原理,用變量K構(gòu)造一個(gè)量化序列:
完成 φ(n)到另一序列 s(n)的映射,即由 φ(n)構(gòu)造序列:
式(8)是連續(xù)時(shí)間信號(hào)s(t)經(jīng)采樣頻率fc采用后的離散時(shí)間序列。根據(jù)采樣定理,當(dāng)時(shí),s(n)經(jīng)低通濾波器濾波后,可以唯一的恢復(fù)s(t)。可見,通過上述系列變換,變量K將唯一確定一個(gè)單頻模擬余弦信號(hào)s(t):
該信號(hào)頻率為:
式(10)是 DDS方程,在實(shí)際的 DDS中,一般取 M=2N,N為正整數(shù),于是DDS的方程可寫成:
通過分析,DDS可由下列兩次變換實(shí)現(xiàn)。
1)變量K產(chǎn)生量化的相位序列
該過程一般由一個(gè)以fc作為時(shí)鐘的N位相位累加器實(shí)現(xiàn),如圖1所示。
圖1 相位累加器Fig.1 The phase accumulator
2)離散量化相位序列產(chǎn)生正弦信號(hào)離散幅度序列
該過程是由(8)式的映射關(guān)系所構(gòu)成的波形ROM尋址完成的,如圖2所示。把量化的數(shù)字波形經(jīng)數(shù)模轉(zhuǎn)換,再通過低通濾波器LPF得到頻率為fo的余弦信號(hào)。變量K稱為相位增量(也叫頻率控制字)。當(dāng)K=1時(shí),DDS輸出最低頻率(即頻率分辨率)為fc/2N。因此,只要N足夠大,DDS可以得到很細(xì)的頻率間隔。要改變DDS輸出頻率,只要改變頻率控制字K即可。DDS的最大輸出頻率由Nyquist采樣定理決定,即fc/2,也就是K的最大值為2N-1。
DDS可以很容易實(shí)現(xiàn)正弦信號(hào)和余弦信號(hào)兩路輸出,只需用相位累加器的輸出同時(shí)驅(qū)動(dòng)正弦信號(hào)波形的ROM和余弦信號(hào)的ROM并各自經(jīng)數(shù)模轉(zhuǎn)換器和低通濾波器輸出即可。
圖2 波形ROM尋址Fig.2 Waveform ROM addressing
DDS包括數(shù)字和模擬兩部分,其中主要是由相位累加器、ROM波形查詢表,數(shù)模轉(zhuǎn)換器和低通濾波器LPF構(gòu)成。DDS的基本結(jié)構(gòu)如圖3所示。
圖3中,K為頻率控制字,fc為時(shí)鐘頻率,N為相位累加器字長(zhǎng),D為ROM數(shù)據(jù)庫位及D/A轉(zhuǎn)換器字長(zhǎng)。相位累加器在時(shí)鐘的fc/2控制下以步長(zhǎng)K為累加,輸出N位二進(jìn)制碼作為波形ROM的地址,對(duì)波形ROM尋址,波形ROM輸出的幅值碼經(jīng)數(shù)模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào)后再經(jīng)LPF輸出[6]。
圖3 DDS基本結(jié)構(gòu)Fig.3 Basic structure of DDS
本設(shè)計(jì)所用到的核心器件主要是可編程邏輯器件(FPGA)和D/A轉(zhuǎn)換器。FPGA采用Altera公司的CycloneII系列EP2C35F672C8。該芯片內(nèi)部資源豐富,包含有33 216個(gè)邏輯單元,105個(gè)M4K RAM模塊,以及35個(gè) 18 BIT×18 BIT嵌入式乘法器4個(gè)高性能PLL以及多達(dá)475個(gè)用戶自定義I/O,因此,能較好滿足該系統(tǒng)設(shè)計(jì)要求。
D/A轉(zhuǎn)換器則采用德州儀器公司THS5651。THS5651采用先進(jìn)的高速混合信號(hào)CMOS工藝,是一個(gè)10位分辨率的數(shù)字到模擬轉(zhuǎn)換器(DAC),專為優(yōu)化數(shù)字?jǐn)?shù)據(jù)傳輸有線和無線通信系統(tǒng)。該THS5651提供優(yōu)越的AC和DC性能,同時(shí)支持更新率高達(dá)100MSPS的。
相位累加器主要完成累加,實(shí)現(xiàn)輸出波形頻率可調(diào)功能。利用可編程邏輯器件系統(tǒng)開發(fā)工具Quartus II9.0進(jìn)行設(shè)計(jì)。在Quartus II9.0軟件中,新建一個(gè)工程管理文件,根據(jù)累加器與移位寄存器的工作原理,寫出其對(duì)應(yīng)的源代碼并進(jìn)行編譯與仿真。部分源代碼如下:
module adder8(clk,key,s1,s2,nrst,da,ph);
input clk; //模塊時(shí)鐘輸入
input[7:0]key; //鍵值輸入
input s1; //步進(jìn)
input s2; //相位
inputnrst; //復(fù)位
output[7:0]da; //步進(jìn)輸出
output[7:0]ph; //相位輸出
reg[7:0]ax;
reg[7:0]da;
reg[7:0]ph;
always@(posedge clk or negedge nrst)
begin
if(!nrst)
begin
da <=8'b0;
ph <=8'b0;
end
else
begin
ax <=key;
if(!s1) da <=ax;
if(!s2) ph <=ax;
end
end
endmodule
為了提高系統(tǒng)的分辨率和降低FPGA資源的利用率,采用基于1/4波形的存儲(chǔ)器設(shè)計(jì)技術(shù)[7]。利用正弦波對(duì)稱性特點(diǎn),只要存儲(chǔ)[0~π/2]幅值,可以通過地址和幅值數(shù)據(jù)變換,來得到整個(gè)周期內(nèi)的正弦波,其設(shè)計(jì)原理如圖4所示。用相位累加器輸出高2位作為波形區(qū)間標(biāo)志位。當(dāng)最高位與次高位都為’0’時(shí),表示輸出正弦波正處在[0~π/2]區(qū)間內(nèi),這時(shí),地址與輸出數(shù)據(jù)都不需要變換;當(dāng)最高位為’0’,次高位為’l’時(shí),輸出正弦波正處在[π/2~π]區(qū)間內(nèi),這時(shí),地址變換器對(duì)地址進(jìn)行求補(bǔ)操作,而輸出數(shù)據(jù)不變;當(dāng)最高位為’l’,次高位為’0’時(shí),輸出正弦波正處在[π~3π/2]區(qū)間內(nèi),這時(shí),地址不變,而輸出變換器對(duì)輸出數(shù)據(jù)進(jìn)行求補(bǔ)操作;當(dāng)最高位與次高位都為’l’時(shí),輸出正弦波正處在[3π/2~2π]區(qū)間內(nèi),這時(shí),地址和輸出數(shù)據(jù)都進(jìn)行求補(bǔ)操作。
圖4 1/4波形存儲(chǔ)器設(shè)計(jì)原理圖Fig.4 The principle diagram of 1/4 waveform storage design
D/A轉(zhuǎn)換單元是繼波形數(shù)據(jù)產(chǎn)生單元之后,將數(shù)字量形式的波形幅值轉(zhuǎn)換成
所要求的合成頻率的模擬量形式信號(hào)[8]。DAC輸出信號(hào)實(shí)際上是階梯模擬信號(hào),數(shù)模轉(zhuǎn)換輸出通過高速運(yùn)放THS3001放大,然后利用低通濾波器對(duì)波形進(jìn)行平滑處理。單元電路如圖5所示。
圖5 D/A轉(zhuǎn)換電路Fig.5 D/A conversion circuit
濾波器是一種能通過有用頻率信號(hào)而同時(shí)抑制 (或衰減)無用頻率信號(hào)的電子裝置。由于運(yùn)算放大器具有近似理想的特性,且可以省去電感,得到接近理論預(yù)測(cè)的頻率響應(yīng)特性。構(gòu)成有源濾波電路后還具有一定的電壓放大和緩沖作用,并能減小體積。綜合考慮,系統(tǒng)采用運(yùn)算放大器SL560構(gòu)成二階低通濾波器。
頻率控制字的生成直接影響著波形數(shù)據(jù)的尋址,該模塊負(fù)責(zé)快速記錄并實(shí)時(shí)顯示輸入的頻率數(shù)字,準(zhǔn)確計(jì)算得到相應(yīng)的頻率控制字。系統(tǒng)鍵盤為高速動(dòng)態(tài)掃描(頻率為200 Hz),采用狀態(tài)機(jī)設(shè)計(jì),設(shè)置了按鍵去抖動(dòng)功能。在FPGA開發(fā)平臺(tái)對(duì)該模塊進(jìn)行功能驗(yàn)證,整體無誤操作產(chǎn)生,幾乎沒有時(shí)滯效應(yīng),按鍵的防抖動(dòng)效果也良好,達(dá)到了預(yù)期的目的。
相位累加器用于實(shí)現(xiàn)相位累加,并存儲(chǔ)其累加結(jié)果。當(dāng)前,相位累加器的值和時(shí)鐘周期到來后的相位累加器的值相差k(k為頻率控制字)。該模塊的仿真波形如圖6所示。
用存儲(chǔ)示波器測(cè)量放大器模擬輸出端的正弦波信號(hào)、方波信號(hào)、三角波信號(hào),測(cè)試頻率為100 kHz時(shí)候輸出結(jié)果如圖7所示。
表1給出了DDS信號(hào)發(fā)生器實(shí)測(cè)頻率與給定頻率對(duì)照表。
檢測(cè)輸入頻率為0~1 MHz時(shí),波形形狀均良好,未出現(xiàn)明顯失真。計(jì)算理論誤差為0.095%,在實(shí)測(cè)中發(fā)現(xiàn),波形數(shù)字的誤差相對(duì)很小,不足0.2%。符合設(shè)計(jì)要求。
圖6 相位累加器仿真結(jié)果Fig.6 Simulation results of phase accumulato
圖7 各種輸出波形Fig.7 A variety of outputwaveform
表1 實(shí)測(cè)頻率與給定頻率對(duì)照表Tab.1 Themeasured frequency table with a given frequency
直接數(shù)字頻率合成(DDS)技術(shù)屬第三代頻率合成技術(shù),與第二代基于鎖相環(huán)頻率合成技術(shù)相比,利用DDS技術(shù)合成的輸出波形具有良好的性能指標(biāo)。本文 介紹了以直接數(shù)字頻率合成技術(shù)為基礎(chǔ)的波形信號(hào)發(fā)生器工作原理和設(shè)計(jì)過程,并在實(shí)驗(yàn)平臺(tái)上設(shè)計(jì)實(shí)現(xiàn)了滿足各功能指標(biāo)的信號(hào)發(fā)生器。本文在DDS技術(shù)工作原理的基礎(chǔ)上,從測(cè)試結(jié)果可看出,該系統(tǒng)工作穩(wěn)定、可靠,并具有較好的參考與實(shí)用價(jià)值。
[1]張濤,陳亮.現(xiàn)代DDS的研究進(jìn)展與概述[J].電子科技,2008,21(3):73-78.ZHANG Tao,CHEN Liang.Overview ofmodern DDSand Its research process[J].Electronic Science and Technology,2008,21(3):73-78.
[2]楊秀增.基于FPGA和DDS的信號(hào)源設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,17(11):7-9.YANG Xiu-zeng.Design of a signal generator based on FPGA and DDS[J].Electronic Design Engineering,2009,17(11):7-9.
[3]韓喜春,劉柏森.基于FPGA的可重構(gòu)多通道DDS信號(hào)發(fā)生器[J].電測(cè)與儀表,2007,44(7):50-52.HANXi-chun,LIUBai-sen.The design of reconfigurablemultichannel DDS signal generator based on FPGA[J].Electrical Measurement&Instrumentation,2007,44(7):50-52.
[4]李精華.基于FPGA的DDS波形發(fā)生器設(shè)計(jì)[J].柳州師專學(xué)報(bào),2011,26(3):114-116.LIJing-hua.On design of DDSwaveform generator based on FPGA[J].Journal of Liuzhou Teachers College,2011,26(3):114-116.
[5]楊東霞,巨永鋒.基于FPGA和DDS的數(shù)字調(diào)制信號(hào)發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2013,21(6):90-93.YANG Dong-xia,JU Yong-feng.Design and implementation of digital modulation signal generator based on FPGA and DDS[J].Electronic Design Engineering,2013,21(6):90-93.
[6]湯家華,王道德.基于FPGA設(shè)計(jì)的采用DDS技術(shù)的任意波形發(fā)生器[J].電子測(cè)量技術(shù),2007,30(4):129-131.TANG Jia-hua,WaNG Dao-de.Arbitrary waveform generator based on FPGA by using DDS[J].Electronic Measurement Technology,2007,30(4):129-131.
[7]楊曉慧,楊旭.FPGA系統(tǒng)設(shè)計(jì)與實(shí)例[M].北京:人民郵電出版社,2010.
[8]高士友,胡學(xué)深.基于FPGA的DDS信號(hào)發(fā)生器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009,303(16):35-37.GAO Shi-you,HU Xue-shen.Design of DDS signal generator gased on FPGA[J].Modern Electronics Technique,2009,303(16):35-37.