楊 興,王厚軍,劉 科
(電子科技大學自動化工程學院 成都 611731)
任意波形發(fā)生器(AWG)可以產(chǎn)生頻率穩(wěn)定、分辨力高、頻率切換速度快、相位噪聲低的信號。其核心是直接數(shù)字合成技術(direct digital synthesize,DDS)。
輸出信號帶寬、通道數(shù)以及通道間的定時準確度都是任意波形發(fā)生器的重要指標。如何提高這3項指標成為當前研究的重點。
提高采樣率是實現(xiàn)高帶寬的有效手段,但受到相位累加器和波形查找表工作速度的限制。并行存儲技術[1-2]是解決該限制的有效手段,該技術可將相位累加器和波形查找表的工作頻率降低為所需采樣頻率的1/m(m是并行的路數(shù))。
為實現(xiàn)相位精密可控的多通道輸出,并聯(lián)多個波形合成單元,并采用相同采樣時鐘和觸發(fā)信號是常用的方法。文獻[3-4]分別實現(xiàn)了7通道和24通道的任意波形合成,但沒提及如何實現(xiàn)輸出信號相位的精密控制。文獻[5]提出設置不同的頻率控制字可調節(jié)各通道的初始相位偏移值。但實際設計中,相位精度還受到采樣時鐘或觸發(fā)信號的偏差等諸多因素的影響。
相對于傳統(tǒng)結構,為提高輸出帶寬而采用多路并行存儲結構的AWG不僅需要采樣時鐘來同步波形轉換,還需要數(shù)據(jù)時鐘來同步波形數(shù)據(jù)的產(chǎn)生。由于數(shù)據(jù)時鐘是采樣時鐘的m分頻,在分頻過程中會隨機出現(xiàn)m種不同的相位關系,導致各通道輸出信號間的隨機相位差。因此,檢測并消除數(shù)據(jù)時鐘間的隨機相位差是實現(xiàn)輸出信號同步的必要前提。文獻[6-7]提出了一種相關算法對分頻所得的數(shù)據(jù)時鐘之間的相位差進行鑒相。文獻[8]通過吞時鐘脈沖的方法使得經(jīng)采樣時鐘分頻所得的數(shù)據(jù)時鐘之間無相位差。上訴方法對于解決時鐘分頻出現(xiàn)隨機相位的問題具有借鑒意義,但相關算法運算復雜,吞脈沖法由于實際電路中元器件性能的差異、布局布線造成的延時不同等原因,導致同步誤差較大。
本文針對相位累加器和波形查找表的工作速度限制,通過4路并行存儲技術實現(xiàn)600 MS/s的采樣率和240 MHz的輸出帶寬。建立并分析了DDS的同步模型,提出了多通道AWG的同步方案,最終使通道間的同步精度達到±150 ps。
當存儲器空間無限大且不考慮DAC位數(shù)時,DDS可看作對頻率為fo的連續(xù)信號s(t)抽樣,抽樣間隔時間T等于采樣周期Ts,即采樣頻率fs的倒數(shù),如圖1所示。

圖1 任意波形采樣模型
抽樣后的樣本序列s(n)表示為:

式中,t0表示采樣的起始時刻且tn=t0+nT;n為采樣序列。
將樣本數(shù)據(jù)s(n)分為M組,記為sd(n,l),l是分組號,l=0,1,2,…,M-1。sd(n,l)可看作起始時刻為tl,采樣周期Td=MT時,對信號s(t)抽樣的結果。此時,sd(n,l)的采樣頻率是s(n)采樣頻率的1/M。

對信號sd(n,l)抽取后可得:

式中,S(ejw)是s(n)的頻譜;wd是sd(n,l)的角頻率且等于s(n)角頻率的M倍,即wd=Mws。
三倍插值前、后的信號如圖2所示。為將序列sd(n,l)還原成s(n),在序列sd(n,l)相鄰樣點間插入M-1個0,同時對第l組序列右移l個樣點,得到序列sI(n,l),如圖3e~圖3g所示,此時M=3,再將序列sI(n,l)疊加得到sI(n),如圖3h所示。序列sI(n,l)的抽樣頻率fI為序列sd(n,l)抽樣頻率fd的M倍,即fI=Mfd。

式中,(l↑0)表示插入l個0,l=0,1,2,…,M-1。

圖2 用三個低采樣率序列重構波形的實例
插值后序列sI(n,l)的頻譜為其中

M路插值并移位疊加后的序列的頻譜為:

由此可看出,在低采樣率下得到的M路序列,經(jīng)過移位插值再疊加后與原始序列有著相同的頻譜。因此,通過多個低速存儲器并行使并行存儲技術可突破FPGA和存儲器工作速度的限制,實現(xiàn)高采樣率的任意波形合成。
m個存儲器并行的波形合成原理如圖3所示。相位累加器、相位加法器以及波形查找表均工作在頻率為1/mfs低速數(shù)據(jù)時鐘下,每一個低速數(shù)據(jù)時鐘的上升沿相位累加器步進mK,其輸出在相位加法器1-m中與相位偏移值分別相加,得到結果為nmK、(nm+1)K…(nm+m-1)K的m路相位值(其中n=0,1,2,…)。m路相位值對波形查找表1-m進行尋址,產(chǎn)生的m路波形數(shù)據(jù)送到并串轉換模塊,在時鐘頻率為fs的高速采樣時鐘控制下合成符合DAC輸入格式的單路數(shù)據(jù)。其中,低速數(shù)據(jù)時鐘可通過對高速采樣時鐘m分頻來實現(xiàn)。

圖3 m路并行存儲原理圖
以雙通道DDS為例來分析同步條件,圖4為基于并行存儲技術的雙通道DDS原理框圖。可將DDS抽象為數(shù)據(jù)源和DAC兩部分,數(shù)據(jù)源(包含相位累加器、相位加法器、波形查找表以及并串轉換模塊)產(chǎn)生相應的波形數(shù)據(jù),然后送到DAC轉換為模擬信號。
由DDS的工作原理可知,通道間輸出信號同步的關鍵是:1)各通道數(shù)字信號轉換模擬信號的時刻需相同,即各通道DAC的采樣時鐘同相位。2)各通道DAC的輸入數(shù)據(jù)同步,即各通道數(shù)據(jù)源輸出的波形數(shù)據(jù)同步。保證條件1),只需確保各通道使用同一個時鐘源,且時鐘源到各DAC的路徑長度、阻抗大小等條件均相同。保證條件2),首先各通道相位累加器的初始值必須相同以保證初始尋址地址相同;其次各通道數(shù)據(jù)源必須在同一時刻開始工作。因此,實現(xiàn)各通道波形數(shù)據(jù)同相位需保證各通道數(shù)據(jù)時鐘(用于同步數(shù)據(jù)產(chǎn)生)同相位,以及觸發(fā)信號(用于啟動數(shù)據(jù)源模塊工作)同相位。
基于并行存儲結構的DDS的數(shù)據(jù)時鐘是采樣時鐘的m分頻,由于分頻器初始狀態(tài)的隨機性,導致數(shù)據(jù)時鐘隨機出現(xiàn)m種初始相位,且相位差為2π/m的整數(shù)倍,造成輸出給DAC的波形數(shù)據(jù)超前或滯后相應的采樣時鐘周期。
圖5所示的是4路并行DDS中,數(shù)據(jù)時鐘不相同時數(shù)據(jù)、波形的關系。其中,Sample_CLK代表采樣時鐘,Data_CLK/0°~Data_CLK/270°代表采樣時鐘4分頻后所得初始相位為0°、90°、180°和270°時的數(shù)據(jù)時鐘,DATA/0°~DATA/270°和WAVE/0°~WAVE/270°分別代表采用不同初始相位的數(shù)據(jù)時鐘所獲得的數(shù)據(jù)和波形。

圖4 基于并行存儲技術的雙通道DDS結構

圖5 四分頻后輸出波形相位差
為實現(xiàn)波形數(shù)據(jù)的同步,必須保證分頻所得的數(shù)據(jù)時鐘同相位。因此各通道可使用由同一個分頻器產(chǎn)生的數(shù)據(jù)時鐘,或是對多個分頻器輸出的多個數(shù)據(jù)時鐘進行鑒相,然后根據(jù)鑒相結果重新復位分頻器(改變分頻器的初始狀態(tài)),直到同相位為止。
為了確保各通道相位累加器的初始值相同,需對其進行初始化。常用的方法是采用觸發(fā)信號進行異步清零,即觸發(fā)信號為復位狀態(tài)時相位累加器輸出清零,在有效狀態(tài)后的第一個數(shù)據(jù)時鐘上升沿相位累加器開始累加。但在多通道DDS中,由于觸發(fā)信號與數(shù)據(jù)時鐘關系的不確定性,會出現(xiàn)圖6中所示的A和B兩種情況。其中,CLK1DATA、CLK2DATA分別代表通道1、2的數(shù)據(jù)時鐘,SYNC代表用于清零的觸發(fā)信號,DATA1、DATA2分別代表通道1、2的波形數(shù)據(jù)。
從圖6可見,即使通道間數(shù)據(jù)時鐘的相位差很微小,但是由于觸發(fā)信號復位狀態(tài)(本圖為低電平)出現(xiàn)位置的隨機性,輸出波形也可能出現(xiàn)兩種隨機的相位差。觸發(fā)信號下降沿位于兩數(shù)據(jù)時鐘上升沿之前時(見圖中標記情況A),DATA1略微超前于DATA2。觸發(fā)信號下降沿位于兩數(shù)據(jù)時鐘上升沿之間時(見圖中標記情況B),DATA2比DATA1超前了近一個時鐘周期。為消除這種隨機性,保證觸發(fā)信號下降沿位于兩數(shù)據(jù)時鐘上升沿之前,選擇其中一個通道的數(shù)據(jù)時鐘下降沿鎖存觸發(fā)信號,然后用鎖存后的信號啟動相位累加器。其時序如圖7所示。
經(jīng)過數(shù)據(jù)時鐘下降沿鎖存后,觸發(fā)信號的下降沿與所選擇的數(shù)據(jù)時鐘下降沿對齊,或是略微滯后于該數(shù)據(jù)時鐘下降沿(取決于采用芯片的響應速度),保證相位累加器初始狀態(tài)及啟動時刻相同,實現(xiàn)輸出數(shù)據(jù)同相位。其中SYNC1是未經(jīng)鎖存處理的觸發(fā)信號,SYNC2是經(jīng)過鎖存處理的觸發(fā)信號。

圖6 兩個通道的累加器清零時序圖

圖7 同步信號處理前后的時序圖
本文設計采用FPGA+SRAM+DAC結構實現(xiàn)4通道600 MS/s任意波形合成模塊。考慮存儲器和FPGA工作速度,采用4片存儲器(工作頻率為150 MHz)并行的方式實現(xiàn)波形合成。因此,每個通道包含4片存儲器與1片DAC。如若采用1片F(xiàn)PGA實現(xiàn)4個通道的地址發(fā)生器,難以滿足所需的IO資源。因此設計中采用2片F(xiàn)PGA,每片F(xiàn)PGA實現(xiàn)兩個通道的地址發(fā)生器。
由2.1節(jié)的分析可知,要同步4個通道的輸出波形,首先需要保證各通道采樣時鐘同相位。具體步驟如下:對晶體振蕩器產(chǎn)生的參考時鐘進行倍頻,得到頻率為600 MHz的采樣時鐘,然后通過時鐘分配器(LMK01010芯片),扇出4路同相位、同頻率的時鐘信號,最后經(jīng)長度相等、阻抗相同的路徑輸出到4個通道DAC的時鐘引腳,從而保證了4個通道DAC的采樣時鐘同相位,且具有足夠的驅動能力。
為簡化設計,對通道1的采樣時鐘進行4分頻,然后將得到的分頻時鐘通過時鐘分配器扇出各通道所需的數(shù)據(jù)時鐘。但本文設計中,所采用的DAC(AD9736)內部還存在數(shù)據(jù)處理單元,其結構如圖8所示。
由AD9736的內部結構圖可看出,鎖存器FF1和FF2分別在數(shù)據(jù)時鐘DATACLK_IN的下降沿和上升沿對輸入數(shù)據(jù)DB<13:0>鎖存,產(chǎn)生數(shù)據(jù)D1和D2,鎖存器FF3和FF4分別在采樣時鐘DACCLK的2分頻輸出DATACLK的下降沿和上升沿對數(shù)據(jù)D1和D2鎖存,產(chǎn)生數(shù)據(jù)D3和D4,D3和D4兩路數(shù)據(jù)在DATACLK控制下,經(jīng)多路復用器MUX合并為一路數(shù)據(jù)輸出DOUT送給AD9736的DAC CORE,由DAC CORE轉換為模擬信號DAC_OUTPUT。

圖8 AD9736內部結構圖

圖9 DAC數(shù)據(jù)接收與轉換時序圖
從前文分析可知,由于存在2分頻,時鐘DATACLK_OUT會隨機出現(xiàn)兩種不同的相位關系,即使輸入數(shù)據(jù)DB<13:0>同相位,其輸出也可能相差1個采樣時鐘周期,其原理如圖9所示。其中,DACCLK代表采樣時鐘,DATACLK_OUT1、DATACLK_OUT2代表采樣時鐘2分頻所得的相位差為180°的數(shù)據(jù)時鐘,D3A和D4A代表經(jīng)鎖存器FF3和FF4并且采用時鐘DATACLK_OUT1的上升沿和下降沿進行鎖存所得的兩路數(shù)據(jù),D3B和D4B代表經(jīng)鎖存器FF3和FF4并且采用數(shù)據(jù)時鐘DATACLK_OUT2的上升沿和下降沿進行鎖存所得的兩路數(shù)據(jù)。DOUT1、DOUT2分別代表數(shù)據(jù)時鐘為DATACLK_OUT1、DATACLK_OUT2時DAC輸出的波形數(shù)據(jù)。
由2.2節(jié)可知,分頻造成的隨機相位誤差可根據(jù)鑒相結果重新復位分頻器來消除。本文設計中,將各通道DAC輸出的數(shù)據(jù)時鐘全部經(jīng)等長等阻抗路徑輸入到FPGA1中進行鑒相。由于2分頻只會出現(xiàn)0°和180°兩種不同的相位差,因此可經(jīng)異或區(qū)分任意兩個通道DAC輸出的數(shù)據(jù)時鐘是否同相。
在實際電路中,由于布局布線、芯片傳播延遲等多種因素的影響,數(shù)據(jù)時鐘間的相位差并不是準確的0°和180°。因此,異或后所得信號不是穩(wěn)定的高電平或低電平,而是窄脈沖信號,如圖10中信號SYNC1、SYNC2所示。為避免采集到窄脈沖部分造成錯誤判斷(如圖10中情況A所示),本文設計以通道1的數(shù)據(jù)時鐘為基準,其他3個通道的數(shù)據(jù)時鐘分別與通道1的數(shù)據(jù)時鐘異或,對通道1的數(shù)據(jù)時鐘延遲1/4個周期后對異或結果進行鎖存。
如圖10所示,DATA_CLK1~DATA_CLK4分別代表設計中通道1~4的數(shù)據(jù)時鐘,SYNC1~SYNC3分別是DATA_CLK2、DATA_CLK4與DATA_CLK1異或所得信號,SYNC_FLAG1~SYNC_FLAG3分別是SYNC1~SYNC3經(jīng)鎖存后所得信號,SCLK是鎖存時鐘。SYNC_FLAG2、SYNC_FLAG3為低電平,表明通道3、通道4的數(shù)據(jù)時鐘與通道1的數(shù)據(jù)時鐘同相位。SYNC_FLAG1為高電平,表明通道2的數(shù)據(jù)時鐘與通道1的不同相,此時需要重新復位該通道的DAC,直到兩通道的數(shù)據(jù)時鐘同相為止。
為降低觸發(fā)信號的隨機性,需將觸發(fā)信號經(jīng)數(shù)據(jù)時鐘的下降沿鎖存后再送到各通道相位累加器的清零端。由于使用了2片F(xiàn)PGA且每片F(xiàn)PGA實現(xiàn)2個通道的波形合成,因此在設計中,由FPGA1產(chǎn)生一個同步觸發(fā)信號,再用通道1數(shù)據(jù)時鐘的下降沿去鎖存該同步觸發(fā)信號,將鎖存后所得的信號由該FPGA的IO引腳輸出并經(jīng)等長路徑輸入到FPGA1和FPGA2中,用于啟動相位累加器。

圖10 鑒相處理時序圖
由前文分析可知,本文所設計的任意波形發(fā)生器有4個獨立的通道,每個通道不僅能獨立工作,還可以輸出具有準確相位關系的波形信號。其時鐘方案的設計如圖11所示。
在設計方案中,頻率為600 MHz采樣時鐘CLKDAC通過時鐘分配器(LMK01010)分成4路經(jīng)等長路徑送到4個通道的高速DAC(AD9736),4個通道的DAC接收到600 MHz的采樣時鐘后在其內部會對其做一個2分頻,分頻后得到的時鐘送到FPGA,如3.2中所述方法進行處理及判斷。判定為同相后,為了保證時鐘的同源性,將4個通道中的其中一片DAC分頻出來的300 MHz再進行2分頻,產(chǎn)生150 MHz的數(shù)據(jù)時鐘CLKDATA,該數(shù)據(jù)時鐘經(jīng)時鐘分配芯片LMK01010和ICS8308I分別送到2片F(xiàn)PGA以及16片存儲器。這樣為各通道輸出信號同步提供了有效的保證。

圖11 時鐘方案框圖
4個通道的輸出波形如圖12所示,分別為正弦波、三角波、方波以及斜波。由圖可知,各通道輸出波形可獨立控制。

圖12 4個通道輸出波形
使用示波器MDO4104對設計的任意波形發(fā)生器的輸出相位調節(jié)能力進行測試,各個通道均輸出頻率為1 kHz的正弦信號,圖13a~圖13d是通道1初始相位0°,通道2初始相位分別為0°、45°、90°、180°的情況,由圖可知,其具有相位調節(jié)范圍寬的優(yōu)點。
輸出信號的同步特性可通過測試方波信號的上升沿之間的時間間隔獲得。為了保證輸出方波的高低電平為整數(shù)個點以及避免邊沿抖動,將該AWG的4個通道同時輸出60 MHz方波(初始相位為0°)到示波器MDO4104中。圖14展示了同步測試的波形圖,表1記錄了圖14中所示的其他通道與通道1同步誤差的相關值。由此看出,任意兩個通道間輸出方波的延遲誤差優(yōu)于150 ps。此時同步誤差主要由電路元器件及布局布線造成的延時差異等因素造成。

圖13 輸出波形相位調節(jié)測試

圖14 通道間同步測試

表1 各通道相對于通道1的定時偏差
多存儲器并行結構能有效提高采樣率,但引入了更復雜的同步誤差。本文通過建立模型討論了時鐘、觸發(fā)信號的精密分配和相位校準模塊設計,提出了多通道輸出信號同步的方案并做了測試驗證,證明了該AWG在輸出波形、相位調節(jié)以及同步誤差等方面均符合預期目標,證明了該設計的可行性。
[1]ZHANG H F, LUO C L, TANG P Y, et al. High-speed arbitrary waveform generator based on FPGA[C]//IEEE Nuclear Science Symposium. Seoul: IEEE, 2013: 1-5.
[2]HASSUN R, KOVALICK A W. Waveform synthesis using multiplexed parallel synthesizers[J]. Acoustical Society of America, 1984, 76(5): 1603.
[3]GOVORKOC S, IVANOV B I, IL'ICHEV E, et al. A compact, multichannel, and low noise arbitrary waveform generator[J]. Review of Scientific Instruments, 2014, 85(85):054702.
[4]BAIG M T,OHANNING M J,WIESE A, et al. A scalable,fast, and multichannel arbitrary waveform generator[J].Review of Scientific Instruments, 2013, 84(12): 124701-w124701.
[5]劉科, 田書林, 肖寅東. 多通道任意波形發(fā)生器精密相位控制方法[J]. 信息與控制, 2011, 40(2): 209-213.LIU Ke, TIAN Shu-lin, XIAO Yin-dong. A method of precise phase control for multi-channel abitrary waveform generator[J]. Information and Control, 2011, 40(2): 209-213.
[6]LOU Y,LIU G,GAO M. Design and implementation of an untra high speed dual-channel DAC module based on CPCI[C]//Conference on International Radar. [S.l.]: [s.n.],2009(4): 1-4.
[7]趙彬廣, 高文軍, 李坤龍, 等. 基于數(shù)字相關算法的多通道DAC同步算法[J]. 中國科學院大學學報, 2012, 29(2):234-239.ZHAO Bin-guang, GAO Wen-jun, LI Kun-long, et a1.Multi-channel DAC synchronizing aIgorithm based on digital correlation method[J]. Journal of Graduate University of Chinese Academy of Sciences, 2012, 29(2): 234-239.
[8]HU J, CHENG X, XIONG W M, et al. Design of synchronization circuit based on two high-speed multiplexed DACs in satellite transmitter application[C]//The 5th International Conference on Computer Science & Education.Hefei, China: IEEE, 2010, 1458-1461.