基于FPGA的數(shù)字頻率合成器設(shè)計(jì)與實(shí)現(xiàn)
摘要:為了產(chǎn)生穩(wěn)定激勵(lì)信號(hào)的目的,采用Verilog硬件語(yǔ)言在FPGA上實(shí)現(xiàn)了數(shù)字頻率合成器的設(shè)計(jì),該設(shè)計(jì)包括累加器、波形存儲(chǔ)器、AD轉(zhuǎn)換、低通濾波器等;對(duì)累加器、波形存儲(chǔ)器都進(jìn)行了仿真,并下載到FPGA中,經(jīng)A/D轉(zhuǎn)換,濾波,獲得了穩(wěn)定的正弦激勵(lì)信號(hào)。本設(shè)計(jì)只實(shí)現(xiàn)了正弦信號(hào)設(shè)計(jì),通過(guò)對(duì)波形存儲(chǔ)器數(shù)據(jù)改變,可以實(shí)現(xiàn)任意波形的輸出。
關(guān)鍵詞:FPGA;數(shù)字頻率合成器;信號(hào)發(fā)生器;VerilogHDL
數(shù)字頻率合成器(DDS,Direct Digital Synthesizer)是一種數(shù)字控制的鎖相倍頻器。其輸出頻率是基準(zhǔn)頻率的整數(shù)倍,通過(guò)頻率選擇開(kāi)關(guān)改變分頻比來(lái)控制壓控振蕩器的輸出信號(hào)頻率。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時(shí)間等優(yōu)點(diǎn),是實(shí)現(xiàn)設(shè)備全數(shù)字化的一個(gè)關(guān)鍵技術(shù),廣泛使用在通信與電子儀器領(lǐng)域。
1 DDS基本原理
DDS的工作原理是以數(shù)控振蕩器的方式產(chǎn)生頻率、相位可控制的正弦波。電路一般包括基準(zhǔn)時(shí)鐘、頻率累加器、相位累加器、幅度/相位轉(zhuǎn)換電路、D/A轉(zhuǎn)換器和LPF(Low Phase Filter,低通濾波器)。
DDS的具體工作過(guò)程如圖1所示。N位相位累加器由N位加法器和N位累加寄存器組成。每來(lái)一個(gè)時(shí)鐘脈沖,N位加法器將頻率控制字K與N位累加寄存器輸出的累加相位數(shù)據(jù)相加,并把相加后的結(jié)果送至累加寄存器的輸入端。累加寄存器一方面將上一時(shí)鐘周期作用后所產(chǎn)生的新的相位數(shù)據(jù)反饋到加法器的輸入端,使加法器在下一時(shí)鐘的作用下繼續(xù)與頻率控制字K相加;另一方面將這個(gè)值作為取樣地址,送入幅度/相位轉(zhuǎn)換電路,使其輸出相應(yīng)的波形數(shù)據(jù)。最后經(jīng)D/A轉(zhuǎn)換器和LPF將波形數(shù)據(jù)轉(zhuǎn)換成所需要的模擬波形。
相位累加器在基準(zhǔn)時(shí)鐘的作用下,進(jìn)行線性相位累加,當(dāng)N位相位累加器累加Ⅳ次后就會(huì)產(chǎn)生一次溢出,這樣就完成了一個(gè)周期,這個(gè)周期也就是DDS信號(hào)的頻率周期。
DDS模塊的輸出頻率fout是系統(tǒng)工作頻率fclk,相位累加器比特?cái)?shù)N及頻率控制字K三者函數(shù),其數(shù)學(xué)關(guān)系由式(1)給出:
其頻率分比率為K/2N。
2 系統(tǒng)設(shè)計(jì)
2.1 相位累加器的設(shè)計(jì)
相位累加器是典型的反饋電路,由N位全加器和N位累加寄存器級(jí)聯(lián)而成,對(duì)代表頻率的二進(jìn)制碼進(jìn)行累加運(yùn)算。相位累加器的位數(shù)N=32??梢赃_(dá)到較高頻率分辨率。該模塊通過(guò)Verilog語(yǔ)言編寫。仿真電路如圖2所示。
2.2 存儲(chǔ)波形信號(hào)的ROM的設(shè)計(jì)
本模塊ROM的設(shè)計(jì),基于ALTERA公司的開(kāi)放的IP核,自動(dòng)生成,其存儲(chǔ)的正弦波波形文件,即初始化文件,通過(guò)C語(yǔ)言編寫,生成波形數(shù)據(jù)存儲(chǔ)到ROM中。由于采用的DAC器件為8位輸入,因此本文設(shè)計(jì)的ROM數(shù)據(jù)寬度為8,不過(guò)為了提高精度,存儲(chǔ)器深度選為1024。仿真電路如圖3所示。
2.3 系統(tǒng)整體模塊及仿真圖
本系統(tǒng)整體電路圖如圖4所示,包括累加器、32位的寄存器、存儲(chǔ)波形的ROM三部分組成。其中累加器進(jìn)行DDS相位調(diào)節(jié),輸出的結(jié)果,送入32位的D觸發(fā)器,產(chǎn)生讀取ROM的地址信號(hào),由于受到ROM的限制,我們截取高10位作為讀取ROM的地址信號(hào),產(chǎn)生穩(wěn)定的信號(hào)。輸入后續(xù)的ADC及濾波電路進(jìn)行處理,輸出穩(wěn)定的波形。仿真電路如圖5所示。該系統(tǒng)很好地實(shí)現(xiàn)了波形數(shù)據(jù)的讀取。
3 結(jié)束語(yǔ)
本文在FPGA開(kāi)發(fā)平臺(tái)上,基于DDS工作原理,用VerilogHDL語(yǔ)言設(shè)計(jì)并實(shí)現(xiàn)了DDS直接頻率合成,經(jīng)過(guò)D/A轉(zhuǎn)化和外加濾波整形電路處理波形數(shù)據(jù),輸出頻率可調(diào)的正弦波。可以作為信號(hào)源使用。具有較好的實(shí)用價(jià)值。