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.
(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。
4.總結
經實驗結果表明,通過DDS技術合成的波形具有良好的穩定性,易于控制和調節,利用FPGA能在很短時間內快速構建任意波形,提高了設計效率,具有實際應用價值。
-
FPGA
+關注
關注
1630文章
21798瀏覽量
606046 -
發生器
+關注
關注
4文章
1368瀏覽量
61860 -
DDS
+關注
關注
21文章
636瀏覽量
152942
發布評論請先 登錄
相關推薦
基于DDS的任意波形/ 函數發生器之間的差別
![基于<b class='flag-5'>DDS</b>的任意<b class='flag-5'>波形</b>/ 函數<b class='flag-5'>發生器</b>之間的差別](https://file.elecfans.com/web1/M00/B8/C5/o4YBAF59uViAB9v0AAB1pdfe4Pk940.png)
基于DDS原理設計信號發生器的方案
![基于<b class='flag-5'>DDS</b>原理設計信號<b class='flag-5'>發生器</b>的方案](https://file.elecfans.com/web1/M00/CA/3F/o4YBAF-NDEuAFMnbAABMw2LR938778.png)
基于DDS的波形發生器設計
基于FPGA的DDS波形信號發生器的設計
![基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>DDS</b><b class='flag-5'>波形</b>信號<b class='flag-5'>發生器</b>的設計](https://file.elecfans.com/web2/M00/49/6E/pYYBAGKhtE-ATSyRAAALiExLEQA146.jpg)
DDS多波信號發生器的實現
基于FPGA的DDS信號發生器設計方案解析
![基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>DDS</b>信號<b class='flag-5'>發生器</b>設計方案解析](https://file.elecfans.com/web2/M00/49/71/poYBAGKhwLSATnXCAABBZOGeaUQ911.png)
基于Verilog實現的DDS任意波形發生器
![基于Verilog<b class='flag-5'>實現</b>的<b class='flag-5'>DDS</b>任意<b class='flag-5'>波形</b><b class='flag-5'>發生器</b>](https://file1.elecfans.com//web2/M00/A7/23/wKgZomUMQp6ACqbLAAAcJsmCK4U376.png)
基于FPGA和DAC設計的dds發生器
![基于<b class='flag-5'>FPGA</b>和DAC設計的<b class='flag-5'>dds</b><b class='flag-5'>發生器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論