臧譜陽 王正斌



摘要:該文詳細介紹了一種通過DDS數字合成器技術,來實現一種頻率,幅度,相位可調制的高精度信號發生器。在FPGA中設計了串口模塊和相應的解析模塊向DDS發送指令,使其通過讀取ROM內的波形數據存儲器的數據進而實現對頻率和相位的控制。同時可以根據需要自行更換ROM內存儲的波形數據,能夠產生正弦波,方波,鋸齒波和任意波形信號。
關鍵詞:FPGA;DDS;信號發生器;串口;ROM
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)27-0220-02
開放科學(資源服務)標識碼(OSID):
1 概述
本系統以FPGA為核心控制器,相比于STM32系列單片機的順序指令隊列,FPGA強大的并行能力在處理模擬信號和拓展接口上效率會更高,讀寫速度也更快。相比于傳統C語言通過FLASH讀取數組信息來獲取波形數據,本系統通過讀取片內ROM并結合DDS進行波形數據采集,設計方法更加簡單靈活,波形的顯示也會更流暢??梢暂敵鲋绷?、交流等信號。
2 DDS技術原理與分析
DDS(Direct Digital Synthesizer)是一種新型的頻率合成技術,其主要組成部分有相位累加器,相位調制器,波形數據表和D/A轉換器。其廣泛運用于通信領域,特點是波形選擇范圍大,可供選擇帶寬的范圍大,可控制時間長,精度高等[1-2]。對于信號的相位、頻率、幅值均可以通過自制的波形編碼生成,自由度大。其基本結構見圖1所示。
在每個時鐘的上升沿時,加法器會將默認的頻率控制字與同步寄存器中的相位值累加,得到的數值是由加法器和寄存器的位數決定的。累加的值接著在第二個時鐘上升沿時反饋至累加寄存器的輸入端,重復與設定的頻率控制字相加[3-5]。這樣,在每一個時鐘周期,對設定的頻率控制字不斷進行線性累加,這時的累加值輸出的數據就是最終處理信號的相位值,也是波形存儲器的采樣地址。相位累加器的溢出頻率,就是DDS輸出的信號頻率。通過查表找出相應相位的幅值,即可完成相位與幅度的數值轉換。由于輸出信號的幅度值是數字量,所以還需要將輸出信號轉至數模轉換器中,將數字信號轉變為模擬信號進行輸出。
3 基于FPGA的信號源系統整體設計
3.1系統結構設計
整個系統的上位機由串口輸入端構成,既可以選擇PC機也可以選擇單片機。MCU部分由FPGA和DA轉換組成信號輸出端。系統總體框架如圖2所示。用戶在上位機將所需的信號參數,波形通過串行總線發送給串口接收模塊,串口模塊接收到參數后對參數進行解析,并向FPGA發送DDS控制字。FPGA在通過接收、查表、輸出的操作后就可輸出對應的數字信號給數模轉換芯片,經D/A芯片轉換、濾波后就可得到模擬信號[6-7]。
3.2 FPGA的邏輯模塊設計
FPGA是整個系統的核心默克,對整個系統的邏輯結構進行分配和整合。FPGA控制邏輯的整體結構如圖3所示,主要完成以下功能:
1) PPL同步系統時鐘;
2) 串口數據的接收和解析;
3) 向DDS模塊單元發送控制字;
4) DDS模塊讀取ROM波形;
5) 為D/A轉換提供時鐘、數據以及相應接口。
3.2.1 DDS模塊邏輯設計
DDS模塊的時鐘由PPL模塊分頻后可得到同步時鐘,這里的DDS模塊主要實現相位累加器和相位調制器。相位累加器是DDS能夠實現的關鍵,為了保證波形的精度,通常會將位數設置的大一些。因此只需在每一個時鐘周期將DDS控制單元傳遞來的頻率控制字加上之前的值即可實現頻率的變換[8]。同理,將相位控制字的數據讀取到相位調制器中,加上相位累加器中即可實現相位變換。其頂層設計如圖4所示。
3.2.2 波形ROM的設計
可通過matlab或者C將已經繪制好的波形數據存放在.mif文件中,然后調用Quartusll內的ROM專有IP核讀取.mif文件,設置好端口位數和地址大小即可。
3.2.3 數模轉換芯片和接口驅動
本系統選擇的D/A轉換芯片是ADI公司AD9767型DAC芯片,該芯片為雙通道,14位、125Msps轉換速率的高性能DAC芯片,輸出形式為差分電流輸出,輸出電流滿量程范圍可設置為2-20mA。芯片本身自帶1.2V的參考電壓,無須外部提供參考源。
其原理圖如圖5所示??梢钥闯鲈撔酒枰邮盏男盘枮?4位的數字信號和一個寫信號WRT,在FPGA中可以直接接在ROM后。由于AD9767芯片的輸出為電流型,輸出范圍為2-20 mA。而本系統需要的是電壓信號,因此需要將AD9767芯片的輸出電流轉換為電壓。可以通過兩級運放先將電流轉換為電壓信號,再將電壓信號進行放大,最后通過滑動變阻器調節放大倍數。
AD9767設有IOUTA和IOUTB2個通道,每個通道的輸出電流值通過14位并行接口來設置,實時輸出電流大小與并行端口輸入的數字編碼值DAC CODE以及輸出滿幅電流IOUTFS關系為:
IOUTA=(DACCODEl16384) XIOUTS
IOUTB=((16383 - DACCODE)/16384) X/ours
IOUTS為參考電流IREF的32倍,所以也可以通過外接電阻調節輸出放大倍數[9]。
4 性能測試
對于信號源的要求,FPGA作為MCU與內部的波形表和數模轉換器相連,實現波形數據的儲存與時序控制,同時外接串口電路進行PC控制,通過內置的IP核與PC控制端進行數據交換。整個系統電路易于實現,經檢驗數值也滿足實驗的精度要求。
5 結語
利用FPGA邏輯處理的優勢以及串口的穩定、迅速的優點,結合高精度模數轉換芯片AD9767,設計了一種遵循模塊化的多通道高精度信號源。系統通過用戶所需的自定義波形,能夠為實驗人員提供更快更準確地提供幅值、頻率可調的模擬信號。試驗結果表明,該信號源系統的輸出波形參數可控,波形光滑、幅值精度高、頻率可靠穩定。
參考文獻:
[1]王丹,李平,文玉梅,等.采用DDS頻率合成的虛擬信號發生器研究[J].傳感技術學報,2007,20(3):586-591.
[2]孫群,宋卿.基于DDS技術的便攜式波形信號發生器[J].儀器技術與傳感器,2009(4):69-70.
[3] Kent Gary W,ShengNeng -Haung.A High Purity, High-SpeedDirect Frequency Synthesizer [C].IEEE International Frequen-cy Control Symposium,1995:207-211.
[4]劉晨,王森章,直接數字頻率合成器的設計及FPGA實現[J].微電子與計算機,2004,21(5):63-65.
[5]高書亮,黃智剛,楊東凱,基于DDS的BOC(m.n)信號發生器及其FPGA實現[J].數據采集與處理,2009,24(2): 243-247(2):243 -247.
[6]高琴,姜壽山,魏忠義.基于FPCA的DDS信號源設計與實現[J].西安工程科技學院學報,2006,20(2):210-214.
[7]曾云,韓順鋒.基于FPGA的DDS信號源設計及誤差分析[J].艦船電子工程,2009,29(2):72-74.
[8] Taniz a R,JadiaK.High Density FPGA Based WaveformGenera-tion for Radars[M].IEEE Press ,2010.
[9]F.Cardells,J. Valls. Optimization of Direct Digital FrequencySynthesizer Based on CORDIC [J].IEEE Electronics Letters,2001,37(21):1278-1280.
【通聯編輯:朱寶貴】
作者簡介:臧譜陽(1995-),男,碩士在讀,主要研究方向為電子科學技術;王正斌(1978-),博士,系主任,主要研究方向為電磁場技術。