1.引言 DDS頻率合成器具有頻率分辨率高,輸出頻點多,可達2N個頻點(假設DDS相位累加器的字長是N);頻率切換速度快,可達us量級;頻率切換時相位連續的優點,可以輸出寬帶正交信號,其輸出相位噪聲低,對參考頻率源的相位噪聲有改善作用;可以產生任意波形;全數字化實現,便于集成,體積小,重量輕。 本文介紹了DDS的基本原理,同時針對DDS波形發生器的FPGA實現進行了簡要介紹,利用SignalTapII嵌入式邏輯分析儀對正弦波、三角波、方波、鋸齒波進行仿真驗證。 2.DDS波形發生器的FPGA實現 FPGA的應用不僅使得數字電路系統的設計非常方便,而且它的時鐘頻率已可達到幾百兆赫茲,加上它的靈活性和高可靠性,非常適合用于實現波形發生器的數字電路部分。使用FPGA設計DDS電路比采用專用DDS芯片更為靈活,只需改變FPGA中的ROM數據,DDS就可以產生任意波形,具有相當大的靈活性。 2.1 FPGA設計流程 FPGA的設計框圖如圖1所示,FPGA的主要功能是:產生與外圍電路的接口電路,使其能夠接受外圍邏輯控制信號;保存頻率字,并構成相位累加器,產生與主時鐘相同頻率的RAM尋址字;用內部的存儲塊構成存放多種波形數據的ROM,并通過相應的控制線進行選擇;構造出兩個多波形選擇輸出的輸出通道,其中的一路通道可具備移相功能;用內部的PLL倍頻外部低頻晶振,并輸出與主時鐘同頻的時鐘,驅動片外高速D/A. 2.2 時鐘模塊 根據耐奎斯特采樣定理要得到輸出頻率為10MHz的信號,其所輸入的信號時鐘頻率必須達20MHz以上。采樣頻率越高,輸出波形的平坦度越好,同時波形的的采樣點數也越多,那么獲得的波形質量也就越好。本設計中的DDS模塊是一高速模塊,所以對系統時鐘就有很高的要求,不僅需要有較高的頻率,而且還要有非常高的穩定性,如果在FPGA的時鐘端直接加一高頻晶振,不僅時鐘不穩定,而且功耗大,費用高,在本設計中,直接調用Altera公司的PLL核,在FPGA時鐘端只需加一低頻晶振,通過FPGA內部PLL倍頻達到系統時鐘要求,輸出的時鐘相位偏移在允許范圍內。 2.3 DDS控制模塊 (1)頻率控制字輸入模塊 頻率控制字輸入模塊如圖2所示,數據選擇器控制輸入16位頻率控制字。 (2)步進頻率控制模塊 步進頻率控制模塊如圖3所示,通過一個乘法器來控制步進頻率,具體算法如下:f步進=fc*2147/232. 通過改變乘法器的乘數來改變步進頻率。要使步進為1Hz那么乘法器的乘數為22. (3)頻率累加器 頻率累加器模塊如圖4所示,通過一個32位加法器跟32位寄存器構成頻率累加器,頻率控制字高4位為0. (4)相位寄存器 相位寄存器模塊如圖5所示,通過一個8位加法器跟8位寄存器構成相位寄存器并產生8位波形數據地址。 (5)波形存儲器設計 波形數據ROM就是存放波形數據的存儲器,大多波形發生器產品都將波形數據存放在外部的ROM中,這樣使得各部分結構清晰,測試、維護更加方便但由于ROM本身讀取速度慢的缺點,使得整個系統性能下降,工作頻率下降,為了解決以上問題,本設計使用的是用FPGA設計出ROM,在FPGA中存放波形數據,使用Quartus II9.0中的Mega Wizard Plug-In Manager來生成一個ROM,如圖6所示。 Mega Wizard Plug-In Manager的設置,根據設計的要求,經過七步的設置,就可以生成一個ROM的IP核。當在波形ROM中固化所需波形的一個周期的幅度值后,由地址發生器產生的地址對波形ROM尋址,依次可取出送至D/A轉換及濾波后即可得到所需的模擬波形輸出。計算波形數據可以有兩種方法:C語言與matlab計算。 3.仿真實驗結果 按照第2節的系統設計,設計程序下載到FPGA芯片,使用QuartusII軟件自帶SignalTapII嵌入式邏輯分析進行仿真,觀察信號波形圖,正弦波如圖7,三角波如圖8,方波如圖9,鋸齒波如圖10. 4.總結 經實驗結果表明,通過DDS技術合成的波形具有良好的穩定性,易于控制和調節,利用FPGA能在很短時間內快速構建任意波形,提高了設計效率,具有實際應用價值。 |