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