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