蘇淑靖,張凱琳,劉利生
(中北大學(xué)電子測試技術(shù)國家重點實驗室,山西 太原 030051)
信號源是我們常用的一種通用電子儀器,它可以模擬與設(shè)備所需的實際環(huán)境相同的信號,以便與其他儀表和儀器組成自動測試系統(tǒng),進行動態(tài)控制[1]。從20世紀(jì)初期發(fā)展至今,為了彌補傳統(tǒng)信號源在功能、精度和性能等方面存在頻率精度低、分辨率不高、頻帶窄等不足,DDS(Direct Digital Frequency Synthesis)技術(shù)應(yīng)運而生。目前該技術(shù)的常用方法是利用性能優(yōu)良的DDS專用器件“搭積木式”設(shè)計電路,該方法設(shè)計的信號源具有工作頻率范圍寬、頻率轉(zhuǎn)換速度快、相位連續(xù)性、正交輸出、頻率分辨率高等優(yōu)點,在各種電子對抗技術(shù)和現(xiàn)代電子測量儀器中獲得了廣泛的應(yīng)用[2]。
這種“搭積木式”電路設(shè)計方法雖然直觀,但DDS專用器件價格較昂貴,輸出波形有限,輸出路數(shù)少,不適合要求同時輸出多種波形的應(yīng)用場合。且DDS專用芯片控制部分需要高速微處理器協(xié)助,使用受到一定限制。高速可編程邏輯器件的特點是容量大、速度高、成本低,因此現(xiàn)在的發(fā)展趨勢是用可編程邏輯器件進行DDS信號源設(shè)計[3-4]。但一般的基于FPGA(Fiel d Pr ogrammable Gate Array)和DDS的信號源也存在一些問題。輸出路數(shù)少,如文獻[5—6]中的信號源僅為單路輸出,文獻[7]中也只有兩路并行;而文獻[8]中的信號源在幅值調(diào)節(jié)的方法上也存在成本高、抗干擾能力差等缺陷。
因此,本文設(shè)計了FPGA和DDS技術(shù)相結(jié)合的程控調(diào)幅多路并行信號源。
目前,基于FPGA的DDS的信號源的幅度調(diào)節(jié)方式有2種。第一種是利用外部存儲器芯片,如文獻[9]中,將不同幅值不同波形的歸一化波形值燒入存儲器中,然后按照需要輸出的信號要求進行尋址,再通過D/A轉(zhuǎn)換輸出。這種方法直觀方便,但外部存儲器芯片價格高,容量也有限,在需要輸出多種波形及幅值步進小的情況下,是不能滿足設(shè)計需求的。
第二種幅度可調(diào)設(shè)計是基于雙數(shù)模的方式,由多個DAC嵌套的方式來實現(xiàn)。如文獻[8]中,輸出信號的幅度控制是通過2片DAC芯片實現(xiàn)的,其中第1片用來將FPGA輸出的波形的數(shù)字信號轉(zhuǎn)換為模擬階梯信號,幅值的調(diào)節(jié)則是通過第2片的輸出改變第1片DAC的參考電壓來實現(xiàn)的??梢钥闯鲞@種方法硬件成本很高,設(shè)計過程復(fù)雜。兩片DAC的輸出受外圍電路影響,對于精度不高的電阻電容,誤差就較大,且抗干擾性差,見圖1。
圖1 基于FPGA的DDS信號源的幅度調(diào)節(jié)方式Fig.1 The block diagram of signal source based on FPGA and DDS
本設(shè)計信號源中,啟動信號源時控制命令由上位機下發(fā),信號源模塊接收傳來的LVDS串行數(shù)據(jù)并進行解串后傳輸至FPGA進行分析。DDS部分在FPGA內(nèi)部完成,設(shè)計思想?yún)⒖剂肆魉€式無縫訪問方式,32路信號都是共享一組波形ROM,在最大程度上提高了資源利用率,見圖2。
信號源的頻率可調(diào)采用DDS技術(shù)實現(xiàn)。一個直接數(shù)字頻率合成器(DDS)由頻率控制字、相位累加器、波形儲存ROM、D/A轉(zhuǎn)換器和低通濾波器(LPF)構(gòu)成。
圖2 程控幅值方式Fig.2 The block diagram of Programmable amplitude modulation
本設(shè)計中DDS技術(shù)的相位累加器和波形儲存ROM在FPGA內(nèi)部實現(xiàn)。相位累加器由32位加法器和32位寄存器級聯(lián)構(gòu)成對上位機下發(fā)的頻率控制字進行累加,每累加一次所得結(jié)果的高N位作為波形ROM的地址進行一次尋址,尋址輸出波形采樣點的二進制數(shù)字量進行數(shù)模轉(zhuǎn)化,最后經(jīng)過LPF后輸出。
波形ROM調(diào)用FPGA內(nèi)部IP Core實現(xiàn),其中ROM1-ROM4分別存放正弦波、三角波、鋸齒波、矩形波的歸一化數(shù)字量[10]。為了合理利用資源,信號源的32個通道共享4個波形ROM,而對波形ROM的訪問方式借用了流水線式的設(shè)計方式,達到了數(shù)據(jù)流沒有時間停頓地送到數(shù)據(jù)流的下級處理模塊,從而實現(xiàn)了數(shù)據(jù)最大限度的無縫緩沖與處理。
本設(shè)計中采用了基于FPGA的程控實現(xiàn)幅值可調(diào)的思路,即在FPGA內(nèi)部就將歸一化波形的數(shù)字量轉(zhuǎn)化成所需幅值波形的數(shù)字量后再傳給D/A轉(zhuǎn)換器進行數(shù)模轉(zhuǎn)化。轉(zhuǎn)化的方式是利用數(shù)字量的線性關(guān)系,在FPGA內(nèi)部來作數(shù)據(jù)處理。雖然FPGA作運算處理的速度不是最理想的,通過精確地計算配合硬件,盡量簡化數(shù)據(jù)處理的過程。只需要調(diào)用FPGA內(nèi)部的運算IP Core就可以實現(xiàn)靈活調(diào)節(jié)幅值的功能,不會造成邏輯的占用負(fù)擔(dān)。
程控調(diào)幅的方法可做到步進小、速度快的調(diào)控,此法更加靈活,可拓展性和適應(yīng)性都非常高,設(shè)計成本更低,且更適合于多路可調(diào)節(jié)的信號源。
在D/A轉(zhuǎn)換之后要輸出32路信號,若每一路都采用一個D/A進行模數(shù)轉(zhuǎn)換再調(diào)理輸出的話,一來標(biāo)準(zhǔn)的板卡物理空間尺寸不允許,二來增加了系統(tǒng)開發(fā)的成本,再者違背了設(shè)計簡潔的原則。在本設(shè)計中通過電子開關(guān)及電壓保持電路把各路模擬信號切換到相應(yīng)的通道上,實現(xiàn)一對多的切換。
在本設(shè)計中,信號源技術(shù)指標(biāo)為輸出信號幅值的精度達到0.1%。D/A轉(zhuǎn)換器的分辨率越高,輸出波形的精度也就越高,且隨著量化精度的增加,頻譜中雜波的幅度相應(yīng)降低。理論上,選用14位分辨率的DAC即可實現(xiàn)本設(shè)計的精度要求,但由于DAC電路本身產(chǎn)生的誤差,實際的DAC電路無法達到DAC芯片所描述的精度[10]。因此,為了得到14位的量化精度,所選用的DAC芯片應(yīng)具有14位以上的量化精度,在此選用16位分辨率的高精度AD768。為保證精度要求,D/A轉(zhuǎn)換器的外圍電路及信號調(diào)理電路采用精度為0.1%、溫漂系數(shù)為10 pp m/℃的優(yōu)質(zhì)電阻。
根據(jù)要求輸出的模擬信號電壓范圍要求在-1~+7 V,AD768為電流輸出型,采用高速運放AD811實現(xiàn)電流/電壓轉(zhuǎn)換。在AD768 AR參考電流為5 mA的前提下,REFOUT引腳輸出的2.5 V的參考電壓以及1 kΩ限流電阻(R103)使得電流IBIPOLAR恒為2.5 mA,Iout為0~20 mA。根據(jù)I/V轉(zhuǎn)換電路設(shè)計可得Iout與Vout1關(guān)系式:
由式(1)可得Vout1的范圍為-2.5~+2.5 V,圖3中Vout1經(jīng)調(diào)理輸出Vout2和Vout3分別為:
根據(jù)式(1)—式(3)可得:
由于AD768輸出電流與輸入數(shù)字量值D關(guān)系為:
因此,由式(4)、式(5)可得:
圖3為輸出信號間的數(shù)字量非線性關(guān)系示意圖,其中A曲線為歸一化波形,B曲線為可調(diào)范圍內(nèi)任意幅值波形,表1為輸入數(shù)字量與輸出信號幅值的對應(yīng)關(guān)系表,通過計算得Vout1與歸一化數(shù)字量(0~5 V)數(shù)字量的非線性關(guān)系為:
式(7)中,X為對應(yīng)Vout3所需要的數(shù)字量,A為此時刻DDS部分尋址所得的歸一化信號的數(shù)字量,θ為上位機下發(fā)的16 bit的幅度系數(shù)(θ=Vout3/5)。
表1 幅值與數(shù)字量的對應(yīng)關(guān)系表Tab.1 The corresponding relations of amplitude and digital quantity
圖3 輸出信號間的數(shù)字量非線性關(guān)系圖Fig.3 The diagram of digital modulation principle
幅度可調(diào)模塊是式(7)在FPGA內(nèi)部的邏輯實現(xiàn)如圖4所示,其中減法器實現(xiàn)(A-9 637)運算過程,16×16 bit乘法器調(diào)用FPGA內(nèi)部IP Core實現(xiàn)。乘法器計算得出的32 bit數(shù)據(jù)中高16 bit數(shù)據(jù)經(jīng)過加法器實現(xiàn)(+9 637)后輸出至D/A轉(zhuǎn)換器。
圖4 FPGA內(nèi)的幅度調(diào)制模塊Fig.4 The diagram of amplitude modulation in FPGA
針對傳統(tǒng)的多路信號源存在的輸出路數(shù)少、成本高、資源占用率高等問題,設(shè)計信號源具有同時輸出32路模擬信號的功能,輸出波形具有正弦波、三角波、鋸齒波、矩形波和直流量5種選擇,交流量輸出頻率為1 Hz~1 k Hz范圍內(nèi)可調(diào),交流量輸出幅值為0~+5 V可調(diào),矩形波邊沿時間小于1μs,直流量輸出幅值為-1~+7 V,輸出信號的精度為0.1%。
通過對設(shè)計信號源的性能測試,信號源輸出波形如圖5所示,其中(a)為輸出頻率1 k Hz,幅值5 V的正弦波;(b)為幅值6 V的直流量;(c)為輸出頻率800 Hz,幅值4 V的矩形波;(d)為矩形波上升沿時間。從圖中可以看出,信號源輸出波形光滑,頻率穩(wěn)定度高,矩形波邊沿時間為202 ns<1μs,直流信號精度達到0.1%,滿足設(shè)計要求。
圖5 信號源輸出波形Fig.5 The diagram of Signal output wave
本文設(shè)計了基于FPGA和DDS技術(shù)相結(jié)合的程控調(diào)幅多路并行信號源。該信號源發(fā)揮了DDS技術(shù)頻率轉(zhuǎn)換快、頻率精度高和FPGA邏輯資源豐富、速度快等特點,在FPGA內(nèi)實現(xiàn)DDS的資源優(yōu)化,利用DDS原理配合FPGA無縫式內(nèi)部訪問IP Core方式實現(xiàn)頻率可調(diào);利用FPGA內(nèi)部程序設(shè)計對歸一化的數(shù)字量進行調(diào)制及轉(zhuǎn)換實現(xiàn)幅值可調(diào)。
實驗表明:該信號源可并行輸出32路高精度信號,輸出信號的頻率、幅度、波形等均可由用戶按實際需求通過上位機軟件設(shè)定。直流信號的精度達到滿量程的0.1%,可用于測試被測系統(tǒng)的靜態(tài)特性,輸出的矩形波邊沿時間小于1μs,可用于測試被測系統(tǒng)的動態(tài)特性。該信號源可完成不同通道并行輸出波形、頻率和幅值不同的信號,且具有輸出穩(wěn)定、頻率精度高、頻率范圍寬、成本低、設(shè)計靈活、集成度高、可擴展性強等優(yōu)點。
[1]李祥偉.直接數(shù)字合成的技術(shù)原理與實現(xiàn)[D].上海:上海交通大學(xué),2008.
[2]劉金亮.直接數(shù)字頻率合成技術(shù)實現(xiàn)研究[D].北京:北京交通大學(xué),2008.
[3]Wang Zheng Yu,Chang M C Frank,Chou Jessica Chiatai.A simple DDS architecture with highly efficient sine f unction lookup table[C]//Proceedings of t he 14th ACM Great Lakes Sy mposium on VLSI.USA:ACM,2004.
[4]周蕓,路青起.基于數(shù)字信號處理器技術(shù)的直接數(shù)字合成快速跳頻通信信號源[J].探測與控制學(xué)報,2007,29(5):77-80.ZHOU Yun,LU Qingqi.The design of signal source of fast hopping-frequency co mmunication based on DDS&DSP[J].Jour nal of Detection & Contr ol,2007,29(5):77-80.
[5]楊秀增.基于FPGA和DDS的信號源設(shè)計[J].電子設(shè)計工程,2009,11(17):7.YANG Xiuzeng.Design of a signal generator based on FPGA and DDS[J].Electronic Design Engineering,2009,11(17):7.
[6]孫昊.基于FPGA的DDS信號源設(shè)計[D].成都:電子科技大學(xué)測試計量技術(shù)與儀器,2009.
[7]鄧耀華,吳黎明,張力鍇,等.基于FPGA的雙DDS任意波發(fā)生器設(shè)計與雜散噪聲抑制方法[J].儀器儀表學(xué)報,2009,30(11):2 255-2 258.DENG Yaohua,WU Liming,ZHANG Likai,et al.Design of dual DDS ar bitrar y wave generator based on FPGA and denoising of spur noise[J].Chinese Jour nal of Scientific Instru ment,2009,30(11):2 255-2 258.
[8]張有志,張鹍.基于FPGA的幅值可調(diào)信號發(fā)生器設(shè)計[J].電子設(shè)計工程,2011,19(9):115-118.ZHANG Youzhi,ZHANG Kun.Design of amplitude adjustable signal generator based on FPGA[J].Electronic Design Engineering,2011,19 (9):115-118.
[9]趙呈愷,甄國涌,焦新泉.基于FPGA和AD768的高精度多路信號源設(shè)計[J].機械工程與自動化,2010,158(1):139-141.ZHAO Chengkai,ZHEN Guoyong,JIAO Xinquan.Design of high accuracy multi-channel signal source based on FPGA and AD768[J].Mechanical Engineering & Automation,2010,158(1):139-141.
[10]王巧蘭,丁志宇.在DDS中波形存儲表設(shè)計的實現(xiàn)方法[J].中國測試技術(shù),2008,34(4):65-66.WANG Qiaolan,DING Zhiyu.Design of wavef or m ROM in DDS[J].China Measurement & Testing Technology,2008,34(4):65-66.