基于DDS的高精度任意波形發生器設計
摘要:系統利用直接數字頻率合成技術(DDS)完成任意波形發生器設計,以FPGA作為核心控制器件,用Flash和RAM作為波形數據存儲模塊,在上位機軟件的控制下,利用高精度D/A轉換器,實現正弦波、方波、三角波、鋸齒波、高斯白噪聲等任意波形輸出。系統可廣泛用于通訊、遙控遙測、震動激勵和儀器儀表等領域。
關鍵詞:DDS;FPGA;Flash;RAM;上位機;D/A轉換器
隨著數字信號處理技術的飛速發展,高精度大動態范圍D/A轉換器的出現和廣泛應用,基于取樣技術和計算技術,通過數字方法生成頻率和相位相對固定且可調的合成技術,即直接數字頻率合成(DDS)技術日益成熟,它采用全數字化結構,具有頻率分辨率高、相對帶寬寬、頻率轉換速度快、相位噪聲低、信號純度高等優點。因此,本系統采用DDS技術來完成任意波形發生器設計。
1 DDS工作原理
直接數字頻率合成(DDS)技術是一種以采樣定理為基礎的全數字化波形產生方法。DDS頻率合成器主要由相位累加器、波形數據存儲器、D/A轉換器和低通濾波器組成,其原理框圖如圖1所示。在一個系統時鐘周期內,相位累加器將前一次的累加值與頻率控制字相加,得到新的累加值,將新的累加值作為地址,從波形數據存儲器中讀取信號的幅度值,送入D/A轉換器將數字信號轉換為模擬信號,最后再經低通濾波器生成需要波形。其中波形數據存儲器中存儲了周期信號單個周期的幅度值,相位累加器每溢出1次,可從波形數據存儲器中讀取1個周期的信號幅度值。因此,若假設頻率控制字為K,相位累加器為N位,則經過個系統時鐘周期,可產生1個周期的輸出信號,再設系統時鐘頻率為fsclk,則輸出信號頻率
。
2 系統總體框圖
系統總體框圖如圖2所示。其中,上位機軟件由LabWindows軟件編寫,用于控制信號的產生,下位機以FPGA作為核心控制器件,主要用于接收上位機發送的控制命令和信號參數,并控制下位機系統產生對應波形。下位機系統主要分為FPGA控制單元、波形存儲單元、波形產生單元。波形存儲單元主要包括Flash和SRAM,Flash用于存儲各種波形數據,波形產生時,FPGA先將要產生的波形數據從Flash讀入SRAM,再利用相位累加器的累加值從SRAM中讀取波形數據。波形產生單元主要完成波形數據的產生,首先將SRAM讀出的波形幅度數據送入D/A轉換器,產生信號的階梯序列波,再通過低通濾波器和功率放大電路產生輸出信號。
3 系統硬件設計
3.1 Flash連接電路圖
評論