直接數(shù)字頻率合成器的PFGA實(shí)現(xiàn)
摘要:系統(tǒng)采用Xilinx公司生產(chǎn)的型號為XC3S200的FPGA芯片和Maxim公司生產(chǎn)的型號為MAX5885的專用D/A芯片,利用直接數(shù)字頻率合成技術(shù),通過Xilinx公司的ISE 9.2開發(fā)軟件,完成DDS核心部分即相位累加器和ROM查找表的設(shè)計。可得到相位連續(xù)、頻率可變的信號。經(jīng)過電路設(shè)計和模塊仿真,驗(yàn)證了設(shè)計的正確性。由于FPGA的可編程性,使得修改和優(yōu)化DDS的功能非??旖?。
關(guān)鍵詞:FPGA;直接數(shù)字頻率合成;數(shù)/模轉(zhuǎn)換器;ISE 9.2
0 引言
1971年,美國學(xué)者Joseph Tierney等三人提出了基于全數(shù)字技術(shù),從相位概念出發(fā)直接合成所需波形的一種新的頻率合成原理,稱之為直接數(shù)字頻率合成器(Drect Digital Synthesis,DDS)。這是頻率合成技術(shù)的一次重大革命,與第二代基于鎖相環(huán)頻率合成技術(shù)相比,DDS具有頻率切換時間短、頻率分辨率高、相位可連續(xù)變化和輸出波形靈活等優(yōu)點(diǎn)。因此,廣泛應(yīng)用于教學(xué)科研、通信、雷達(dá)、自動控制和電子測量等領(lǐng)域。隨著DDS技術(shù)的不斷發(fā)展完善,近幾年來,其應(yīng)用范圍已經(jīng)擴(kuò)展到宇航、遙控遙測、儀器儀表等各項(xiàng)電子領(lǐng)域。
雖然現(xiàn)在市場上有許多專用的DDS芯片,但控制方式卻是相對固定的,因此不一定是所需要的?,F(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)器件具有速度快、集成度高和現(xiàn)場可編程的優(yōu)點(diǎn),因而在數(shù)字處理中得到廣泛應(yīng)用,越來越得到硬件電路設(shè)計工程師的青睞。因此,利用FPGA的這些特性,則可根據(jù)需要方便的實(shí)現(xiàn)各種比較復(fù)雜的調(diào)頻、調(diào)相和調(diào)幅功能。
1 DDS結(jié)構(gòu)原理
DDS是一種從相位概念出發(fā)直接合成所需波形的數(shù)字頻率合成技術(shù),主要通過查找波形表實(shí)現(xiàn)。由奈奎斯特抽樣定理可知,當(dāng)抽樣頻率大于被抽樣頻率的2倍時,通過抽樣得到的數(shù)字信號可通過一個低通濾波器還原成原來的信號。
DDS的工作原理為:在參考時鐘的驅(qū)動下,相位累加器對頻率控制字進(jìn)行線性累加,得到的相位碼對波形存儲器尋址,使之輸出相應(yīng)的幅度碼,經(jīng)過模/數(shù)轉(zhuǎn)換器得到相應(yīng)的階梯波,最后再使用低通濾波器對其進(jìn)行平滑,得到所需頻率的平滑連續(xù)的波形,其結(jié)構(gòu)如圖1所示。
相位累加器由N位加法器和N位累加寄存器級聯(lián)構(gòu)成。每經(jīng)過一個時鐘脈沖fclk,加法器就將頻率控制字與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。相位累加器輸出的數(shù)據(jù)就是合成信號的相位,相位累加器的溢出頻率就是DDS的輸出信號頻率。用相位累加器輸出數(shù)據(jù)作為波形存儲器(ROM)的相位取樣地址,這樣就可以把存儲在波形存儲器內(nèi)的波形抽樣值(二進(jìn)制編碼)經(jīng)查找表查出,完成相位到幅度的轉(zhuǎn)換。
DDS模塊的輸出頻率是系統(tǒng)工作頻率、相位累加器比特數(shù)N以及頻率控制字三者的一個函數(shù),其數(shù)學(xué)關(guān)系由式(1)給出。
它的頻率分辨率,即頻率的變化間隔為K/2N。
2 系統(tǒng)功能單元實(shí)現(xiàn)
該系統(tǒng)設(shè)計是針對DDS的基本結(jié)構(gòu),以FPGA為核心,加上外圍電路而實(shí)現(xiàn)的。
2.1 相位累加器
相位累加器由8位加法器與8位寄存器級聯(lián)構(gòu)成。累加器將加法器在上一個時鐘作用后所產(chǎn)生的相位數(shù)據(jù)反饋到加法器的輸入端:使加法器在下一個時鐘作用下繼續(xù)與頻率控制字data相加,實(shí)現(xiàn)相位累加,當(dāng)相位累加器累加結(jié)果等于或大于256(當(dāng)N=8時),則產(chǎn)生1次溢出,完成1個周期波形輸出。該相位累加器采用Verilog語言設(shè)計實(shí)現(xiàn)。
評論