周 倩
(中國電子科技集團公司第20研究所雷達部,陜西 西安 710068)
在雷達、通信、氣象、軍事監控及環境監測等領域,現場信號具有重要的作用。這些信號的主要特點是:實時性強、數據速率高、數據量大、處理復雜。為能夠完整、準確地捕獲到各種信號并及時進行處理,需要監測系統能夠具備任意長度連續采集和存儲的功能,且具有較高的數據傳輸率[1-2]。考慮到FPGA擁有豐富的可編程I/O引腳、時鐘頻率高、時序控制精確、運行速度快、編程配置靈活等特點,采用其作為核心控制模塊。因為光纖通信使用簡單的點到點互連,具有傳輸損耗低、傳輸頻帶寬、速率高和抗電磁干擾等優點,在增加可靠性的同時降低了電纜連接的復雜程度[3-5],所以采用光纖作為信號傳輸媒介。
這里設計的數據采集控制模塊能夠對8通道模擬信號進行兩種不同頻率的采集,采集時間的長短可以進行控制,并對數據進行了編幀,編解碼處理,利用光纖進行數據傳輸。
8通道的模擬信號經過信號調理、A/D模數轉換電路后進入FPGA。上位機發送的控制幀經光收發模塊、串并轉換器后進入FPGA,作為采集數據的幀頭部分,該幀中有1 Byte決定了采樣的頻率。上位機向FPGA發送采樣控制信號:采樣導前信號以及采樣時間長度信號。在FPGA中將8通道采集的數據以兩通道為一組分成4份分別與幀頭打包組幀,存入雙口RAM,編碼處理后經過并串轉換器、光收發模塊發送出去。模塊結構設計框圖如圖1所示。
該數據采集控制模塊主要由3部分組成,分別為模擬信號處理部分、邏輯控制部分和光纖通信部分。
采用AD8036實現對模擬信號的調理,將其控制在ADC轉換的電壓范圍內。該芯片為單位增益穩定型箝位放大器,具有異??焖偾揖_的脈沖響應特性,是快速及高分辨率 ADC的理想驅動器及緩沖器。ADC選用AD10242,它是一種高速度、高性能、低功耗的雙通道模數轉換器。40 MHz采樣速率,12位分辨率,片內帶有跟蹤/保護放大器(T/H)、基準電源和輸出緩沖器。片內兩個通道完全獨立,均有各自的譯碼和模擬輸入,采用激光修正增益和偏移匹配,可保證兩個通道之間的串擾<80 dB。ADC的輸出為TTL電平,經過電平轉換器件SN74LVCC3245A轉換為LVTTL電平后送至FPGA。

圖1 模塊結構設計框圖
FPGA采用Xilinx公司Spartan-3E系列的XC3S1200E,它有120萬系統門、136 kB分布式RAM、504 kB塊RAM、8個數字時鐘管理模塊(Digital Clock Manager,DCM)、最大可用I/O數為304。其內部資源以及管腳數量能夠滿足本模塊的設計需要。本模塊用兩種方式配置FPGA,在調試中使用JTAG口配置,在最終產品中使用PROM配置,選用XCF04S芯片。
MXP-123MD-F是HG Genuine公司生產的一種支持熱插拔的高速小型光收發模塊,用于光電轉換,其信號傳輸率為622 Mbit·s-1,輸入輸出電平為差分LVPECL電平。在光纖數據接收端通過MAX9376將信號轉換為LVDS電平后再通過串并轉換器SN65LV1224B送至FPGA。FPGA將采集數據輸出給并串轉換器SN65LV1023A后經過MAX9376轉換為LVPECL電平再通過光纖發送出去。
FPGA編程軟件為Xilinx公司的ISE,分別采用原理圖方式和VHDL硬件編程語言編寫,頂級文件為原理圖方式。
時鐘的管理與控制采用DCM模塊實現。DCM的功能包括消除時鐘的延時、頻率的合成、時鐘相位的調整等;并能映射到PCB上,用于同步外部芯片,將芯片內、外的時鐘控制一體化[6-7]。在模塊設計中,DCM將晶振提供的40 MHz時鐘信號,經頻率合成為12 MHz、60 MHz時鐘進行邏輯處理;并將時鐘映射在PCB上用于同步并串轉換器。
數據的緩存使用雙口RAM,利用FPGA內部的邏輯資源實現。其中大容量的緩存使用塊RAM,使用它們可以達到較高的讀寫速度,同時不會占用邏輯資源。小容量的緩存使用分布式RAM。
8B/10B編碼技術具有很好的直流平衡特性,具有一定的抗干擾和檢錯能力,適用于高速串行光纖傳輸系統。它將8 bit的基帶數據按照3B/4B和5B/6B兩個編碼映射成10 bit的數據進行發送,防止在基帶數據中有過多的0碼流或1碼流,保證輸出碼流的直流平衡[8-9]。該技術能夠有效地檢測錯誤;提供有效的比特變化密度用于時鐘恢復;可以抵抗較差傳輸信道的干擾;實現相對簡單,以廉價的方式制造可靠的收發器。
FPGA的邏輯框圖如圖2所示。輸入數據包括8組12位的A/D數字信號;串并轉換器的輸出恢復時鐘及10位并行數據;上位機發送的采樣導前信號(DQ)以及采樣時間長度信號(ES)。FPGA的輸出數據包括4路并串轉換器的參考輸入時鐘及4組10位的并行信號。

圖2 FPGA邏輯框圖
為提高信道利用率,每兩組A/D數據組合在一起。如圖3所示,24 bit數據以20 MHz速率緩存后再通過60 MHz的計數器分為3 Byte。

圖3 A/D緩存邏輯框圖
FPGA收到的10位并行數據,經過10B/8B解碼、數據判斷、幀提取后得到12 MHz速率的數據幀。根據系統通信協議,取出數據幀的一部分緩存入雙口RAM作為采集數據的幀頭。數據幀第2個Byte的第3位確定采樣頻率,當其為1時采樣頻率為20 MHz,當其為0時采樣頻率為2 MHz。FPGA接收到上位機發送的采樣導前信號后將幀頭以60 MHz速率緩存,當采樣時間長度信號到來后按照所需的采樣頻率開始進行采樣,同樣以60 MHz速率緩存。然后將幀頭和采集數據經過組幀、8B/10B編碼后發送出去。
圖4為經光纖收到的數據在解碼后的處理結果。其中clk12為12 MHz的時鐘;dina為解碼后的數據幀;st與數據幀的第1個Byte對齊,方便后續編程工作的進行。由于數據幀的第2個Byte AE的第3位為1,所以采樣頻率為20 MHz。

圖4 10B/8B解碼結果
圖5為采樣數據處理結果。其中es為采樣時間長度信號;clk為40 MHz的時鐘;d為40 MHz采樣數據;clk60為60 MHz時鐘;dz為d經20 MHz采樣,轉換為3個Byte后的數據。例如示例中d為A6F56E,287E11,E9AA14,41F19C,CF9D0D,448E4F 等,dz取其中的隔項,如:A6F56E,E9AA14,CF9D0D 等,將每項轉換為 3 Byte,如 A6,F5,6E,E9,AA,14,CF,9D,0D等。

圖5 采樣數據處理結果
文中所設計的高速數據采集控制模塊以FPGA為核心,配以信號調理、模數轉換、光收發模塊等電路,實現了高速數據采集和光纖傳輸。該模塊具有精度高,處理速度快,實時性好等特點,已經成功應用于某項目中,經試驗驗證,完全滿足系統對信號采集和處理的實際要求。
[1]董建勛,馬游春,李錦明.基于反熔絲FPGA的多路數據采集單元[J].儀表技術與傳感器,2011(3):49-57.
[2]陳立萬,黃青龍,劉萬里.基于FPGA的數據采集系統的設計[J].合肥工業大學學報:自然科學版,2011,34(3):359-362.
[3]尹波,蔣澤,羅小兵.光纖通道中高性能光收發模塊的研制[J].重慶郵電大學學報:自然科學版,2007,19(6):694-696.
[4]葛建軍,胡毅,徐紅春.高速SFP光模塊消光比的溫度補償研究[J].光通信研究,2010,36(5):40 -43.
[5]GERD K.Optical fiber communications[M].北京:電子工業出版社,2002.
[6]田耘,徐文波.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2009.
[7]楊躍.FPGA應用開發實戰技巧精粹[M].北京:人民郵電出版社,2009.
[8]武小強,田小平.一種基于FPGA的8B/10B編解碼電路的設計與實現[J].西安郵電學院學報,2010,15(5):27-29.
[9]WIDMER A X,FRANASZE P A.A DC - balanced,partitioned - block[J].8B/10B Transmission Code IBM Research and Development Journal,1983,23(5):441 -443.