直接數(shù)字頻率合成器DDS的優(yōu)化設(shè)計(jì)

2013-09-02 13:11 來源:電子信息網(wǎng) 作者:洛小辰

新一代的直接數(shù)字頻率合成器DDS,采用全數(shù)字的方式實(shí)現(xiàn)頻率合成。與傳統(tǒng)的頻率合成技術(shù)相比DDS具有以下特點(diǎn):(1)頻率轉(zhuǎn)換快。直接數(shù)字頻率合成是一個(gè)開環(huán)系統(tǒng),無任何反饋環(huán)節(jié),其頻率轉(zhuǎn)換時(shí)間主要由頻率控制字狀態(tài)改變所需的時(shí)間及各電路的延時(shí)時(shí)間所決定,轉(zhuǎn)換時(shí)間很短。(2)頻率分辨率高、頻點(diǎn)數(shù)多。DDS輸出頻率的分辨率和頻點(diǎn)數(shù)隨相位累加器位數(shù)的增長(zhǎng)而呈指數(shù)增長(zhǎng),分辨率高達(dá)μHz.(3)相位連續(xù)。DDS在改變頻率時(shí)只需改變頻率控制字(即累加器累加步長(zhǎng)),而不需改變?cè)械睦奂又担矢淖冾l率時(shí)相位是連續(xù)的。(4)相位噪聲小。DDS的相位噪聲主要取決于參考源的相位噪聲。(5)控制容易、穩(wěn)定可靠。高集成度、高速和高可靠是FPGA/CPLD最明顯的特點(diǎn),其時(shí)鐘延遲可達(dá)納秒級(jí),結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有非常廣闊的應(yīng)用前景。在高可靠應(yīng)用領(lǐng)域,如果設(shè)計(jì)得當(dāng),將不會(huì)存在類似于MCU的復(fù)位不可靠和PC可能跑飛等問題。CPLD/FPGA的高可靠性還表現(xiàn)在,幾乎可將整個(gè)系統(tǒng)下載于同一芯片中,實(shí)現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。

所以,本文將在對(duì)DDS的基本原理進(jìn)行深入理解的基礎(chǔ)上,采用多級(jí)流水線控制技術(shù)對(duì)DDS的VHDL語言實(shí)現(xiàn)進(jìn)行優(yōu)化,同時(shí)考慮到系統(tǒng)設(shè)計(jì)中的異步接口的同步化設(shè)計(jì)問題,把該設(shè)計(jì)適配到Xilinx公司的最新90nm工藝的Spartan3E系列的FPGA中。

1 DDS基本原理及工作過程

一個(gè)基本的DDS由相位累加器、波形存儲(chǔ)器ROM、D/A轉(zhuǎn)換器和低通濾波器組成,如圖1所示。

11


在圖1中,fc為時(shí)鐘頻率,K為頻率控制字(N位),m為ROM地址線位數(shù),n為ROM數(shù)據(jù)線寬度(一般也為D/A轉(zhuǎn)換器的位數(shù)),f0為輸出頻率。DDS的基本工作過程如下:每來一個(gè)時(shí)鐘脈沖fc,加法器將頻率控制字K與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。其中相位累加器由N位加法器與N位累加寄存器級(jí)聯(lián)構(gòu)成,累加寄存器將加法器在上一個(gè)時(shí)鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個(gè)時(shí)鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,相位累加器在時(shí)鐘作用下,不斷對(duì)頻率控制字進(jìn)行線性相位累加。由此可見,相位累加器在每一個(gè)時(shí)鐘脈沖輸入時(shí),把頻率控制字累加一次,相位累加器輸出的數(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),由低通濾波器濾除雜散波和諧波以后,輸出一個(gè)頻率為f0的正弦波。輸出頻率f0與時(shí)鐘頻率fc之間的關(guān)系滿足下式:

111


由式(1)可見,輸出頻率f0由fc和K共同決定,保持時(shí)鐘頻率一定,改變一次K值,即可合成一個(gè)新頻率的正弦波。DDS的最小輸出頻率(頻率分辨率)△f可由方程△f=f0/2N確定??梢姡l率分辨率在fc固定時(shí),取決于相位累加器的位數(shù)N.只要N足夠大,理論上就可以獲得足夠高的頻率分辨精度。另外,由采樣定理,合成信號(hào)的頻率不能超過時(shí)鐘頻率的一半,即f0≤f0/2,因此頻率控制值的最大值Kmax應(yīng)滿足Kmax≤2N-1. 2 DDS的優(yōu)化設(shè)計(jì)與實(shí)現(xiàn)采用VHDL硬件描述語言實(shí)現(xiàn)整個(gè)電路,不僅利于設(shè)計(jì)文檔的管理,而且方便了設(shè)計(jì)的修改和擴(kuò)充,還可以實(shí)現(xiàn)在不同F(xiàn)PGA器件[4]之間的移植。以下采用VHDL語言,探討對(duì)FPGA實(shí)現(xiàn)DDS電路的三點(diǎn)優(yōu)化方法。

2.1 流水線累加器

在用FPGA設(shè)計(jì)DDS電路時(shí),相位累加器是決定DDS電路性能的一個(gè)關(guān)鍵部分。為使輸出波形具有較高的分辨率,本系統(tǒng)采用32位累加器。但若直接用32位加法器構(gòu)成累加器,則加法器的延時(shí)會(huì)大大限制累加器的操作速度。因此,這里引入了流水線算法,即采用4個(gè)8位累加器級(jí)聯(lián)結(jié)構(gòu),每級(jí)用一個(gè)8位累加器實(shí)現(xiàn)該部分相位相加,然后將進(jìn)位值傳給下一級(jí)做進(jìn)一步累加。這樣可大幅提高系統(tǒng)的工作速度。但由于累加器是一個(gè)閉環(huán)反饋電路,因此必須使用寄存器,以保證系統(tǒng)的同步、準(zhǔn)確運(yùn)行。具體實(shí)現(xiàn)如圖2所示。

22


2.2 相位/幅度轉(zhuǎn)換電路

相位/幅度轉(zhuǎn)換電路是DDS電路中的另一個(gè)關(guān)鍵部分,設(shè)計(jì)中面臨的主要問題就是資源的開銷。該電路通常采用ROM結(jié)構(gòu),相位累加器的輸出是一種數(shù)字式鋸齒波,通過取它的若干位作為ROM的地址輸入,而后通過查表和運(yùn)算,ROM就能輸出所需波形的量化數(shù)據(jù)??紤]到正弦函數(shù)的對(duì)稱性:在[0,2π]內(nèi),正弦函數(shù)關(guān)于x=π成奇對(duì)稱,在[0,π]內(nèi),關(guān)于x=π/2成軸對(duì)稱。因此,在正弦查找表中只須存儲(chǔ)相位在[0,π/2]的函數(shù)值。這樣,通過一個(gè)正弦碼表的前1/4周期就可以變換得到整個(gè)周期碼表,節(jié)省了近3/4的資源,非常可觀。具體實(shí)現(xiàn)如表1所示,為節(jié)省ROM資源,取相位累加器輸出的高8位做為ROM的輸入地址,其中最高位(MSB)控制對(duì)輸出信號(hào)符號(hào)的處理,次高位(MSB-1)控制對(duì)輸入地址的處理。

222


當(dāng)MSB-1為‘0’(一,三象限)時(shí),對(duì)查找地址phase(5……0)不做任何處理;當(dāng)其為‘1’(二,四象限)時(shí),對(duì)phase(5……0)取反。ROM的輸出為10位數(shù)據(jù),其中最高位為符號(hào)位。當(dāng)MSB為‘0’(一,二象限)時(shí),輸出信號(hào)符號(hào)位為‘0’,低9為ROM中的幅度數(shù)據(jù);當(dāng)其為‘1’(三,四象限)時(shí),輸出信號(hào)符號(hào)位為‘1’,低9位為ROM中的幅度數(shù)據(jù)的相反數(shù)的補(bǔ)碼。ROM的VHDL實(shí)現(xiàn)的主要部分如下:

architecture Behavioral of rom is

signal sin:STD_LOGIC_VECTOR(8 downto 0);

signal temp:STD_LOGIC_VECTOR(5 downto 0);

begin

temp《=phase when MSB-1=′0′ else

not phase;

process(temp)

begin

case temp is

when ″000000″=》

sin《=″000000000″;

…… --正弦查找表由MATLAB生成

end case;

end process;

data_out《=″0″ & sin when MSB=′0′ else

″1″ & not sin+″000000001″;

end Behavioral;

1 2 > 
DDS 頻率合成器

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門