基于FPGA和DDS的信號源研究與設計
1 引言
直接數字頻率合成DDS(Direct Digital Synthesizer)是基于奈奎斯特抽樣定理理論和現代器件生產技術發(fā)展的一種新的頻率合成技術。與第二代基于鎖相環(huán)頻率合成技術相比,DDS具有頻率切換時間短、頻率分辨率高、相位可連續(xù)變化和輸出波形靈活等優(yōu)點,因此,廣泛應用于教學科研、通信、雷達、自動控制和電子測量等領域。該技術的常用方法是利用性能優(yōu)良的DDS專用器件,“搭積木”式設計電路,這種“搭積木”式設計電路方法雖然直觀,但DDS專用器件價格較貴,輸出波形單一,使用受到一定限制,特別不適合于輸出波形多樣化的應用場合。隨著高速可編程邏輯器件FPGA的發(fā)展,電子工程師可根據實際需求,在單一FPGA上開發(fā)出性能優(yōu)良的具有任意波形的DDS系統,極大限度地簡化設計過程并提高效率。本文在討論DDS的基礎上,介紹利用FPGA設計的基于DDS的信號發(fā)生器。
2 DDS技術工作原理
DDS是一種從相位概念出發(fā)直接合成所需波形的數字頻率合成技術,主要通過查波形表實現。由奈奎斯特抽樣定理理論可知,當抽樣頻率大于被抽樣信號的最高頻率2倍時,通過抽樣得到的數字信號可通過一個低通濾波器還原成原來的信號。DDS信號發(fā)生器,主要由相位累加器、相位寄存器、波形存儲器、D/A
由圖1可知,在參考時鐘fR的控制下,頻率控制字K與相位寄存器的輸出反饋在相位累加器中完成加運算,并把計算結果寄存于相位寄存器,作為下一次加運算的一個輸入值。相位累加器輸出高位數據作為波形存儲器的相位抽樣地址值,查找波形存儲器中相對應單元的電壓幅值,得到波形二進制編碼,實現相位到電壓幅值的轉變。波形二進制編碼再通過D/A轉換器,把數字信號轉換成相應的模擬信號。低通濾波器可進一步濾除模擬信號中的高頻成分,平滑模擬信號。在整個過程中,當相位累加器產生一次溢出時,DDS系統就完成一個周期輸出任務。頻率控制字K與輸出波形頻率的函數表達關系式為:
f0=(K/2N)fR (1)
式中,K為頻率控制字;fR為參考時鐘,N為累加器的位寬值。
當K=l時,可得DDS的最小分辨率為:
fmin=fR/2 (2)
為了得到較小分辨率,在實際工程設計中,N一般取得較大值,該系統是N取32位設計的。
3 關鍵器件選型
本設計所用到的關鍵器件主要是可編程邏輯器件(FPGA)和D/A轉換器??紤]設計成本等因素,FPGA采用Altera公司的低成本Cyclone系列EPlC6Q240C8。該器件采用邏輯陣列模塊(LAB)和查找表(LUT)結構,內核采用1.5 V電壓供電,是低功耗元件。此外,Cyclone系列EPlC60240C8內部資源豐富,其內部內嵌5 980個邏輯單元(LE),20個4 KB雙口存儲單元(M 4 KB RAM block)和92 160 bit普通高速RAM等資源,因此,能較好滿足該系統設計要求。而D/A轉換器則采用National Semiconductor公司的
4 DDS的FPGA實現
4.1 相位累加器與相位寄存器的設計
相位累加器與相位寄存器主要完成累加,實現輸出波形頻率可調功能。利用Quartus II可編程邏輯器件系統開發(fā)工具進行設計。首先,打開Quartus II軟件,新建一個工程管理文件,然后在此工程管理文件中新建一個Verilog HDL源程序文件,并用硬件描述語言Verilog HDL編寫程序實現其功能。在設計過程中,可在一個模塊中描述。一個參考的Verilog HDL程序如下:
評論