DDS(DiFeet Digital Frequency Synthesis)即直接數字式頻率合成,是從相位概念出發直接合成所需波形的一種頻率合成技術。與傳統信號源所采用的用模擬方式生成信號不同,它是將先進的數字信號處理理論與方法引入信號合成領域。DDS技術在精確度、靈活度等方面都超過模擬信號發生器。并且DDS可實現相位連續變化,且具有良好頻譜的信號,這是傳統方法無法實現的。
FPGA的迅速發展為DDS提供了更加優良的技術手段,它具有處理速度快、可靠性高等特點。SOPC(System On Programmable Chip,片上可編程系統)是一種靈活、高效的SOC解決方案。它以IP Core為基礎,將處理器、存儲器、IO口等系統設計需要的功能模塊集成到一個FPGA器件上,構建成一個可編程的片上系統,具有靈活的設計方式。本設計綜合以上軟硬件可編程協同設計技術,使得DDS電路在靈活性,可行性,精確性等方面得到很大提高。
1 DDS的基本原理
DDS信號發生器是由:頻率控制字、相位累加器、ROM表、D/A轉換器以及模擬低通濾波器LPF組成,原理框圖如圖1所示。
首先對波形的一個周期進行連續采樣,通過計算得到每一點對應的幅度值,然后以二進制格式存放在數據文件中。在時鐘脈沖fclk驅動下,每個時鐘周期內頻率控制字與相位累加器累加一次,產生ROM查找表的地址值,隨后通過查表變換,地址值被轉化為信號波形的數字幅度序列,即可得到幅度上離散的波形,再由數模變換器(D/A)將表示波形幅度的數字序列轉化為模擬量。最后經由LPF將D/A輸出的階梯狀波形平滑為所需的連續波形。理論上,采樣點數越多,生成波形精確度越高。
2 基于FPGA的DDS設計
本設計在Altera的EP2C35F672C8芯片的基礎上,在SOPCBuilder和OuartusⅡ開發環境下,利用SOPC技術,在FPGA中集成Altera的嵌入式軟核處理器NiosⅡ和其他外設,將硬件系統與軟件集成在單一可編程芯片中,從而實現片上的系統級設計。系統框圖如圖2所示,由DDS基本單元(由頻率控制字,相位累加器,ROM,DAC,LPF構成),FPGA外部硬件資源(撥扭開關SWTCH、鍵盤KEY、LCD12864)和NiosⅡ處理器系統等構成了基本電路。四位撥扭開關選擇輸出波形,鍵盤控制輸出波形信號頻率,LCD12864顯示波形信號參數,各硬件模塊之間的協調工作通過NiosⅡ微處理器在圖形化開發環境NiosⅡIDE下用C語言來編程實現控制。
3 各模塊設計
3.1 波形數據存儲方式
通過對DDS基本原理的分析得知只需更換波形存儲器中的波形采樣數據,就可以得到所需波形的信號。波形數據存儲方式包括順序存儲方式和間隔存儲方式,本設計采用順序存儲方式將方波,三角波,正弦波,鋸齒波4種波形采樣數據全部依次存儲在一個查找表里,數據分布情況如表1所示。通過改變尋址首地址,并在該波形數據存儲地址范圍內循環尋址,從而實現對所需信號波形的輸出。具體實現方法在累加控制模塊中有介紹。
DDS模塊中的波形數據存儲器是用QuartusⅡ中的MegaWizard Plug_In Manager工具添加的LPM_ROM IP核,此存儲器ROM是用波形存儲文件.mif進行初始化,波形數據可以用matlab等工具生成,用matlab生成4種波形的波表數據程序如下:
- 1
- 2
- 3
- 總3頁
來源:互聯網
http:www.mangadaku.com/news/33490.htm

