傅仙偉,趙翠芳,張長江
(浙江師范大學(xué) 數(shù)理與信息工程學(xué)院,浙江 金華 321004)
目前數(shù)字信號處理技術(shù)的應(yīng)用范圍越來越廣,對數(shù)字信號處理技術(shù)的要求也越來越高,尤其對高速采樣和實時高速信號處理電路的要求也更加嚴格,于是出現(xiàn)了高速模數(shù)轉(zhuǎn)換器件ADC(Analog Digital Converter)和高速可編程器件。這一發(fā)展趨勢也帶來了諸如ADC采樣速率和集成電路處理速率匹配、PCB布局布線、ADC輸出數(shù)據(jù)同步等一系列問題[1]?;谶@些問題的考慮,本文在激光回波數(shù)據(jù)采集的兩路雙通道250 MHz高速采樣電路設(shè)計中,除了在器件選擇、布局布線等硬件方面給予綜合衡量,還在數(shù)據(jù)輸出同步上給出了軟件處理方法。系統(tǒng)中 ADC選擇 TI(Texas Instruments)公司的 ADS62P29IRGC[2],F(xiàn)PGA選擇 Xilinx公司 Virtex-4系列的 XC4VSX35-FFG668,其優(yōu)點是I/O接口和內(nèi)部存儲器資源豐富,功耗低,處理速度快[3-4]。最終經(jīng)過測試,該高速采樣信號處理電路達到了250 MHz的處理速度,符合本系統(tǒng)設(shè)計要求。
系統(tǒng)原理框圖如圖1所示。外部差分模擬輸入信號經(jīng)過變壓器耦合到ADC的差分輸入端,ADC輸入時鐘由FPGA內(nèi)部性能穩(wěn)定的數(shù)字時鐘管理模塊DCM(Digi-tal Clock Manager)產(chǎn)生250 MHz的信號,DCM產(chǎn)生的時鐘再經(jīng)過差分輸出緩沖器OBUFDS轉(zhuǎn)換為差分信號提供給ADC作為采樣時鐘,此時鐘經(jīng)過ADC內(nèi)部緩沖器后作為數(shù)據(jù)輸出同步時鐘。另一方面,F(xiàn)PGA將ADC配置成雙數(shù)據(jù)速率低壓差分信號傳輸DDR LVDS(Double Data Rate Low Voltage Different Signaling)工作模式,在數(shù)據(jù)輸出同步時鐘的控制下,ADC的每個通道以250 MHz的速率輸出 6對(即 12 bit)差分數(shù)據(jù)送給 FPGA,然后再經(jīng)FPGA送入后續(xù)數(shù)據(jù)處理電路進行處理。
考慮到本采樣系統(tǒng)的高速性,為最大程度地削減電磁干擾 EMI(Electro Magnetic Interference)、增強系統(tǒng)的電磁兼容性EMC(Electro Magnetic Compatibility)以及數(shù)據(jù)傳輸?shù)耐叫?需在PCB布局布線時結(jié)合以下幾方面給予綜合考慮[5]:
(1)在元器件密布的Top層的下一層放置地層,以地層的大面積銅為器件提供一個參考面,起到屏蔽的作用。
(2)內(nèi)電層與地層應(yīng)該緊密耦合,高速差分信號走線層放置在這兩層之間。系統(tǒng)在工作時高速信號線會產(chǎn)生大量的電磁輻射,對周圍器件造成干擾;而內(nèi)電層和地層的大面積銅就很好地提供了屏蔽罩效果,從而大幅度地削弱了電磁干擾。另外,在板的邊緣會向外輻射電磁干擾,因此內(nèi)電層和地層在布局時還要遵守“20H原則”,即內(nèi)電層相對地層要內(nèi)縮20H的距離,以抑制邊緣輻射效應(yīng),將內(nèi)電層內(nèi)縮使得電場只在地層范圍內(nèi)傳導(dǎo),有效提高電路板的EMC。這里H指的是內(nèi)電層與地層之間的距離。
(3)為提高數(shù)據(jù)傳輸?shù)目垢蓴_性和同步性,ADC的輸入時鐘線和高速輸出信號線采用差分走線,并且兩路ADC的輸入時鐘線嚴格等長,而且各個輸出線也要求嚴格等長,必要時采用蛇形走線。這樣就從硬件上保證了傳輸延遲和衰減阻抗的一致性。此外,線與線之間的距離要在3個線寬及以上,以減少線間信號串擾[6]。
整個 FPGA分為6個模塊:ADC配置、DCM、輸入輸出緩沖 (包括 IBUFGDS、IDDR和 OBUFDS)、 同步控制、RAM和后續(xù)數(shù)據(jù)處理電路接口。系統(tǒng)上電后,配置模塊將ADC配置成DDR LVDS工作模式。DCM將50 MHz的系統(tǒng)外部輸入時鐘經(jīng)倍頻和分頻后轉(zhuǎn)換為三路[7],即由DCM模塊 CLKFX產(chǎn)生的 250 MHz、CLK0產(chǎn)生的與輸入時鐘同相的50 MHz和CLKDV產(chǎn)生的10 MHz。250 MHz經(jīng)過OBUFDS后差分送給ADC作為其采樣時鐘,50 MHz輸出給同步控制模塊、10 MHz輸出給ADC配置模塊。ADC輸出的差分數(shù)據(jù)信號經(jīng)IDDR后送入RAM,IDDR的工作時鐘由ADC的數(shù)據(jù)輸出同步差分時鐘經(jīng)IBUFGDS后提供。在同步控制模塊的作用下,兩路ADC總共4個通道的數(shù)據(jù)被同時送入RAM,之后后續(xù)數(shù)據(jù)處理電路單元再將數(shù)據(jù)讀走。FPGA內(nèi)部結(jié)構(gòu)圖如圖2所示。
由以上分析可知,當ADC工作在DDR LVDS模式下,在一個采樣周期內(nèi),ADC分別在采樣時鐘的上升沿和下降沿各采一次數(shù),因此其輸出的每個數(shù)據(jù)包含2bit。基于對本系統(tǒng)高速特性和采用DDR LVDS工作模式這兩方面的考慮,利用FPGA的IDDR模塊對ADC傳給FPGA的數(shù)據(jù)進行適當?shù)慕邓偬幚硪约皩DDR模塊進行更進一步的約束 (包括物理約束和時序約束)是十分必要的[8]。
物理約束主要包含兩方面內(nèi)容:
(1)與CPLD不同,F(xiàn)PGA的I/O口之間的物理鏈路是多種多樣的,而不同的鏈路將會帶來不同的信號延遲,因此需通過編程添加物理約束以進一步減小信號傳輸時延。
(2)數(shù)據(jù)處理單元的具體位置通過約束來實現(xiàn),即Slice在FPGA內(nèi)部的物理位置加以指定。
物理約束示意圖如圖3所示。
時序約束。對于ADC送入RAM里的數(shù)據(jù)加上時序限制,這樣就可使得程序在綜合實現(xiàn)時以此限制為準則最大程度地優(yōu)化FPGA內(nèi)部的布局布線,從而進一步確保數(shù)據(jù)的傳輸延遲一致。本文對經(jīng)IDDR的數(shù)據(jù)加上時序約束限制,使得數(shù)據(jù)的中心位置與時鐘沿嚴格對齊。
時序約束示意圖如圖4所示。
由于器件的制造工藝原因,不同ADC之間的輸出時鐘或多或少存在相位差。因此,數(shù)據(jù)傳給FPGA時也存在著不一致性。針對這一問題,本文通過利用ADC的輸出時鐘來同步接收使能信號RX_en,以消除不同ADC通道之間的時鐘差異,實現(xiàn)信號的嚴格同步。首先在進程P1中,當復(fù)位信號clr有效時,立即將RX_en變?yōu)闊o效,F(xiàn)PGA接收數(shù)據(jù)被鎖閉;否則,RX_en為有效。在進程P2中,當RX_en有效時,在ADC輸出時鐘的每個上升沿到來時將數(shù)據(jù)送入FPGA,當數(shù)據(jù)采樣個數(shù)達到設(shè)定的值時,又將clr置為有效,此時 RX_en在進程P1中即被置為無效,當采樣個數(shù)未達到設(shè)定值,clr保持無效。這樣就從軟件上最大程度地保證了數(shù)據(jù)傳輸?shù)耐叫?。仿真結(jié)果如圖5所示,從上至下波形依次為系統(tǒng)外部輸入時鐘信號clk_50M,ADC采樣時鐘信號adcclkout、發(fā)送使能信號TR_en、接收使能信號RX_en和復(fù)位信號clr。
圖6是在ADC輸出數(shù)據(jù)每4個輸出時鐘周期加1的測試模式下,通過高帶寬示波器同時測試的兩路信號最低位的輸出波形,此時信號的頻率為250 MHz/8=32.5 MHz。由圖可見兩路波形良好,兩路信號的時間差僅為5.560 ns。這是由于在進程P1中RX_en依賴于ADC采樣觸發(fā)信號TR_en的上升沿,而程序只能保證TR_en的上升沿和ADC輸出時鐘的上升沿相差一個ADC輸出時鐘周期,即1/250 MHz=4 ns,這由圖5的仿真結(jié)果可以看出。實驗結(jié)果表明數(shù)據(jù)同步性到達了預(yù)期的結(jié)果,系統(tǒng)達到了設(shè)計要求。
本文重點論述了基于FPGA的高速采樣系統(tǒng)設(shè)計的具體實現(xiàn)方法,闡述了硬件布局布線要求和注意點、給出了IDDR的約束實現(xiàn)以及采樣數(shù)據(jù)同步傳輸?shù)挠布蛙浖崿F(xiàn)方法。通過仿真結(jié)果和實驗測試結(jié)果可知,本高速采樣系統(tǒng)性能穩(wěn)定、數(shù)據(jù)傳輸同步性良好,達到了設(shè)計要求。
[1]陸浩,王振占.基于FPGA的高速采樣電路設(shè)計與測試[J].微電子學(xué)與計算機,2011,28(7):106-109.
[2]Dual Channel 14-/12-Bit,250-/210-MSPS ADC With DDR LVDS and Parallel CMOS Outputs[Z].Texas Instruments,2009.
[3]Virtex-4 FPGA User Guide(V2.6)[Z].Xilinx,2008.
[4]Virtex-4 Family Overview(V3.1)[Z].Xilinx,2010.
[5]周景潤,景曉松,趙俊奇.OrCAD&PADS高速電路板設(shè)計與仿真[M].北京:電子工業(yè)出版社,2007.
[6]陳偉,黃秋元,周鵬.高速電路信號完整性分析和設(shè)計[M].北京:電子工業(yè)出版社,2009.
[7]田耘,徐文波.Xilinx FPGA開發(fā)實用教程[M].北京:清華大學(xué)出版社,2008.
[8]張華,高陳嵐.DDR源同步接口的設(shè)計與時序約束方法[J].計算機工程與設(shè)計,2008,29(7):1600-1602,1605.