基于FPGA的DDS基本信號發生器的設計
摘要:本設計基于DDS原理和FPGA技術按照順序存儲方式,將對正弦波、方波、三角波、鋸齒波四種波形的取樣數據依次全部存儲在ROM波形表里,通過外接設備撥扭開關和鍵盤控制所需波形信號的輸出,最終將波形信息顯示在LCD液晶顯示屏上。各硬件模塊之間的協調工作通過嵌入式軟核處理器NiosⅡ用編程實現控制。本設計所搭建的LCD12864控制器是通過編程實現的IP核。
關鍵詞:DDS;FPGA技術;順序存儲;NiosⅡ;IP核
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語言來編程實現控制。
評論