傅仙偉,趙翠芳,張長江
(浙江師范大學 數理與信息工程學院,浙江 金華 321004)
目前數字信號處理技術的應用范圍越來越廣,對數字信號處理技術的要求也越來越高,尤其對高速采樣和實時高速信號處理電路的要求也更加嚴格,于是出現了高速模數轉換器件ADC(Analog Digital Converter)和高速可編程器件。這一發展趨勢也帶來了諸如ADC采樣速率和集成電路處理速率匹配、PCB布局布線、ADC輸出數據同步等一系列問題[1]。基于這些問題的考慮,本文在激光回波數據采集的兩路雙通道250 MHz高速采樣電路設計中,除了在器件選擇、布局布線等硬件方面給予綜合衡量,還在數據輸出同步上給出了軟件處理方法。系統中 ADC選擇 TI(Texas Instruments)公司的 ADS62P29IRGC[2],FPGA選擇 Xilinx公司 Virtex-4系列的 XC4VSX35-FFG668,其優點是I/O接口和內部存儲器資源豐富,功耗低,處理速度快[3-4]。最終經過測試,該高速采樣信號處理電路達到了250 MHz的處理速度,符合本系統設計要求。

系統原理框圖如圖1所示。外部差分模擬輸入信號經過變壓器耦合到ADC的差分輸入端,ADC輸入時鐘由FPGA內部性能穩定的數字時鐘管理模塊DCM(Digi-tal Clock Manager)產生250 MHz的信號,DCM產生的時鐘再經過差分輸出緩沖器OBUFDS轉換為差分信號提供給ADC作為采樣時鐘,此時鐘經過ADC內部緩沖器后作為數據輸出同步時鐘。另一方面,FPGA將ADC配置成雙數據速率低壓差分信號傳輸DDR LVDS(Double Data Rate Low Voltage Different Signaling)工作模式,在數據輸出同步時鐘的控制下,ADC的每個通道以250 MHz的速率輸出 6對(即 12 bit)差分數據送給 FPGA,然后再經FPGA送入后續數據處理電路進行處理。
考慮到本采樣系統的高速性,為最大程度地削減電磁干擾 EMI(Electro Magnetic Interference)、增強系統的電磁兼容性EMC(Electro Magnetic Compatibility)以及數據傳輸的同步性,需在PCB布局布線時結合以下幾方面給予綜合考慮[5]:
(1)在元器件密布的Top層的下一層放置地層,以地層的大面積銅為器件提供一個參考面,起到屏蔽的作用。
(2)內電層與地層應該緊密耦合,高速差分信號走線層放置在這兩層之間。系統在工作時高速信號線會產生大量的電磁輻射,對周圍器件造成干擾;而內電層和地層的大面積銅就很好地提供了屏蔽罩效果,從而大幅度地削弱了電磁干擾。另外,在板的邊緣會向外輻射電磁干擾,因此內電層和地層在布局時還要遵守“20H原則”,即內電層相對地層要內縮20H的距離,以抑制邊緣輻射效應,將內電層內縮使得電場只在地層范圍內傳導,有效提高電路板的EMC。這里H指的是內電層與地層之間的距離。
(3)為提高數據傳輸的抗干擾性和同步性,ADC的輸入時鐘線和高速輸出信號線采用差分走線,并且兩路ADC的輸入時鐘線嚴格等長,而且各個輸出線也要求嚴格等長,必要時采用蛇形走線。這樣就從硬件上保證了傳輸延遲和衰減阻抗的一致性。此外,線與線之間的距離要在3個線寬及以上,以減少線間信號串擾[6]。
整個 FPGA分為6個模塊:ADC配置、DCM、輸入輸出緩沖 (包括 IBUFGDS、IDDR和 OBUFDS)、 同步控制、RAM和后續數據處理電路接口。系統上電后,配置模塊將ADC配置成DDR LVDS工作模式。DCM將50 MHz的系統外部輸入時鐘經倍頻和分頻后轉換為三路[7],即由DCM模塊 CLKFX產生的 250 MHz、CLK0產生的與輸入時鐘同相的50 MHz和CLKDV產生的10 MHz。250 MHz經過OBUFDS后差分送給ADC作為其采樣時鐘,50 MHz輸出給同步控制模塊、10 MHz輸出給ADC配置模塊。ADC輸出的差分數據信號經IDDR后送入RAM,IDDR的工作時鐘由ADC的數據輸出同步差分時鐘經IBUFGDS后提供。在同步控制模塊的作用下,兩路ADC總共4個通道的數據被同時送入RAM,之后后續數據處理電路單元再將數據讀走。FPGA內部結構圖如圖2所示。

由以上分析可知,當ADC工作在DDR LVDS模式下,在一個采樣周期內,ADC分別在采樣時鐘的上升沿和下降沿各采一次數,因此其輸出的每個數據包含2bit。基于對本系統高速特性和采用DDR LVDS工作模式這兩方面的考慮,利用FPGA的IDDR模塊對ADC傳給FPGA的數據進行適當的降速處理以及對IDDR模塊進行更進一步的約束 (包括物理約束和時序約束)是十分必要的[8]。
物理約束主要包含兩方面內容:
(1)與CPLD不同,FPGA的I/O口之間的物理鏈路是多種多樣的,而不同的鏈路將會帶來不同的信號延遲,因此需通過編程添加物理約束以進一步減小信號傳輸時延。
(2)數據處理單元的具體位置通過約束來實現,即Slice在FPGA內部的物理位置加以指定。
物理約束示意圖如圖3所示。

時序約束。對于ADC送入RAM里的數據加上時序限制,這樣就可使得程序在綜合實現時以此限制為準則最大程度地優化FPGA內部的布局布線,從而進一步確保數據的傳輸延遲一致。本文對經IDDR的數據加上時序約束限制,使得數據的中心位置與時鐘沿嚴格對齊。
時序約束示意圖如圖4所示。

由于器件的制造工藝原因,不同ADC之間的輸出時鐘或多或少存在相位差。因此,數據傳給FPGA時也存在著不一致性。針對這一問題,本文通過利用ADC的輸出時鐘來同步接收使能信號RX_en,以消除不同ADC通道之間的時鐘差異,實現信號的嚴格同步。首先在進程P1中,當復位信號clr有效時,立即將RX_en變為無效,FPGA接收數據被鎖閉;否則,RX_en為有效。在進程P2中,當RX_en有效時,在ADC輸出時鐘的每個上升沿到來時將數據送入FPGA,當數據采樣個數達到設定的值時,又將clr置為有效,此時 RX_en在進程P1中即被置為無效,當采樣個數未達到設定值,clr保持無效。這樣就從軟件上最大程度地保證了數據傳輸的同步性。仿真結果如圖5所示,從上至下波形依次為系統外部輸入時鐘信號clk_50M,ADC采樣時鐘信號adcclkout、發送使能信號TR_en、接收使能信號RX_en和復位信號clr。

圖6是在ADC輸出數據每4個輸出時鐘周期加1的測試模式下,通過高帶寬示波器同時測試的兩路信號最低位的輸出波形,此時信號的頻率為250 MHz/8=32.5 MHz。由圖可見兩路波形良好,兩路信號的時間差僅為5.560 ns。這是由于在進程P1中RX_en依賴于ADC采樣觸發信號TR_en的上升沿,而程序只能保證TR_en的上升沿和ADC輸出時鐘的上升沿相差一個ADC輸出時鐘周期,即1/250 MHz=4 ns,這由圖5的仿真結果可以看出。實驗結果表明數據同步性到達了預期的結果,系統達到了設計要求。
本文重點論述了基于FPGA的高速采樣系統設計的具體實現方法,闡述了硬件布局布線要求和注意點、給出了IDDR的約束實現以及采樣數據同步傳輸的硬件和軟件實現方法。通過仿真結果和實驗測試結果可知,本高速采樣系統性能穩定、數據傳輸同步性良好,達到了設計要求。

[1]陸浩,王振占.基于FPGA的高速采樣電路設計與測試[J].微電子學與計算機,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高速電路板設計與仿真[M].北京:電子工業出版社,2007.
[6]陳偉,黃秋元,周鵬.高速電路信號完整性分析和設計[M].北京:電子工業出版社,2009.
[7]田耘,徐文波.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2008.
[8]張華,高陳嵐.DDR源同步接口的設計與時序約束方法[J].計算機工程與設計,2008,29(7):1600-1602,1605.