史韶豐,劉 繼
(同濟大學鐵道與城市軌道交通研究院,上海200331)
基于FPGA的多路光纖數據傳輸系統設計與研究
史韶豐,劉 繼
(同濟大學鐵道與城市軌道交通研究院,上海200331)
以可編程芯片FPGA、串化解串芯片、光纖收發模塊和多路復用解復用器為主要器件,進行了工業現場多個數據采集端與數據總處理端之間,分別通過光纖進行遠距離高速數據傳輸的硬件電路設計,并制作了PCB對系統進行測試,保證數據傳輸的穩定性。
光纖數據傳輸;串化解串器;現場可編程門陣列
隨著現代工業技術的發展,檢測對象變得越來越復雜,分布也越來越廣,分布式檢測儀器的應用不斷增加。因此,對這些數據的可靠傳輸和分析處理成為一個重要問題。
針對光纖傳輸技術在一般工業現場的應用,提出了一種基于FPGA的多路光纖數據傳輸系統的硬件設計,將分布在十個地方的傳感器所采集到的數據通過光纖傳輸到距離很遠的數據總處理端。分別制作了數據發送端(采集端)和接收端(處理端)的PCB板,對系統進行驗證和測試。

圖1 系統硬件結構框圖
系統包括十個光發送板和一個光接收板,由主控芯片FPGA、串化解串器(SerDes)、LVDS/LVPECL轉換電路、SFP光模塊、光纖多路復用器、解復用器等模塊組成,實現多對一的數據傳輸。系統硬件結構如圖1所示。
主控芯片FPGA采用Altera公司的CycloneⅢ系列芯片EP3C25Q240C8。每路數據采集端的FPGA將采集到的18位并行數據發送至串化解串器,串化器將并行信號轉換為串行LVDS信號。轉換電路將LVDS信號轉換為SFP光模塊能接收的LVPECL信號,光發送器經過光電轉換發出光信號,經過光纖傳輸至數據處理端的光接收器。經過光電轉換和LVPECL/LVDS轉換后得到的差分信號通過多路復用器進入解串器,解串器將串行LVDS信號恢復成18位并行信號。多路復用器在某段時間內只選通其中一個通道,從而保證同一時刻只有一個采集端和總處理端進行數據通信,處理端需要將握手信號反饋給采集端以建立通信協議,該反向數據傳輸與前述過程類似。
2.1 串化解串器
串化解串芯片選用德州儀器公司的高性能芯片DS92LV18,該芯片集串行編碼和解碼功能于一體,是光纖高速數據傳輸中的核心器件。
DS92LV18是18:1/1:18串化/解串器,工作時鐘頻率為15-66MHz,全雙工吞吐量達2.376Gbps,具有獨立工作的發送器和接收器。DS92LV18內部結構原理如圖2所示。

圖2 DS92LV18結構原理圖
兩個DS92LV18進行數據傳輸前必須相互進行初始化,即對串化器和解串器PLL的本地時鐘進行同步,本地時鐘頻率必須相同。串化器必須通過SYNC引腳向解串器發送隨機的同步碼,該同步碼以LVDS數據流的形式通過光纖發送至解串器,解串器將在一個指定的時間量鎖定到同步碼。解串器PLL鎖定嵌入時鐘后,lock由高電平變為低電平,輸出端輸出有效數據。
完成初始化后,串化器可以向解串器發送并行數據,解串器鎖定到嵌入時鐘后,將恢復出的時鐘從RCLK引腳輸出,該時鐘與18位輸出數據ROUT[0:17]同步。
2.2 LVDS與LVPECL轉換電路
本系統中由于SFP模塊內部已包含LVDS/LVPECL轉換接口,故只需考慮LVPECL/LVDS轉換。最簡單的方式是使用電阻搭建轉換電路,如圖3所示。

圖3 LVPECL/LVDS轉換電路
2.3 SFP光模塊
本系統中選用的SFP光模塊型號為ASF13-24-20,其數據傳輸速率最高可達1.25Gbps,最長連接距離達20km。
該模塊中有一名為TX Disable的輸入引腳,改變其電平值可以使能或禁止光信號的輸出,從而可以保證系統中解復用器輸出的十路差分信號只有一路能夠通過光纖發送出去,使得同一時刻只有一個采集端和總處理端進行雙向通信,不會發生多路沖突現象。該引腳接一上拉電阻,低電平時使能光輸出,高電平或斷開時禁止光輸出。
2.4 多路復用器
多路復用器選用Maxim公司的MAX9176,該芯片是低抖動、低扭曲的2:1數據復用器,數據傳輸速率達800Mbps。
芯片接收兩路差分LVDS輸入,通過片選信號控制選擇輸出其中一路LVDS信號。可以通過PD引腳使芯片進入掉電狀態。芯片功能如圖4所示。

圖4 MAX9176功能框圖
由于芯片只有二選一功能,故本系統需要5片MAX9176配合使用,才能實現十路選通一路。當FPGA需要控制某一路進行數據傳輸時,使能處于該通道中的MAX9176,并通過片選選通相應通道,而關斷其余通道中的芯片。這樣不會導致多個通道同時傳輸數據,實現了僅一路選通。
2.5 多路解復用器
在系統的反饋通道中,DS92LV18輸出的LVDS差分信號至多只能驅動三個LVDS接收器,不能滿足十路擴展要求,故需專用芯片完成解復用功能。
多路解復用器選用德州儀器公司的DS90LV 110T,該芯片是1到10路高速LVDS數據分配器,數據傳輸速率達800Mbps。
使用Verilog HDL語言對FPGA進行編程,用有限狀態機表示系統工作過程。
數據接收端的工作方式為嘗試依次接收來自每個發送端的數據。接收端依次選通每個通道,判斷該通道的發送端是否要求傳輸數據。如果某個發送端要求傳輸數據,FPGA控制串化器發送同步碼要求建立連接;如果接收端解串器的鎖定信號有效,即完成了同步,表示收到了該通道的數據發送請求。接收端的串化器立即反方向發送同步碼與發送端進行確認,發送端解串器完成同步后就可以開始傳輸數據了。如果接收端在指定時間內未收到某個發送方的請求,則選擇下一個通道進行判斷。系統工作程序流程如圖5所示。
使用開發環境Quartus II 11.0的SignalTap(邏輯分析儀)進行調試。制作了PCB板,設定串化解串器的工作時鐘頻率為25MHz,則串行數據流的速率為500Mbps。控制每個數據發送端發送不同數據段的18位遞增數據,通過檢查接收端收到的數據是否屬于某一特定數據段且呈遞增規律來判斷收發數據是否一致,從而測試系統是否正常工作。系統測試結果如圖6所示。

圖5 發送接收程序流程圖

圖6 系統正常運行結果
以FPGA、DS92LV18、光收發模塊等器件為基礎,研究和設計了多個數據采集端與數據總處理端之間通過光纖進行遠距離高速數據傳輸的硬件電路,并制作了PCB板進行測試,驗證了系統數據傳輸的正確性和穩定性,滿足實際需求。
[1]黎原平.數字光通信[M].北京:電子工業出版社,2011.
[2]趙增輝,劉中友,彭圻平.高速差分信號的互連設計[J].無線電通信技術,2010(1):50-53.
[3]童鵬,胡以華.DS92LV18在光纖數據傳輸設計中若干問題的研究[J].電子技術應用,2007(10):59-62.
[4]Texas Instruments.DS92LV18 18-Bit Bus LV DSSerializer/Deserializer-15-66MHz[J].Texas Instruments,2006(1):1-24.
[5]Maxim Integrated Products.670MHz LVDS to LVDS and Anything to LVDS 2:1 Multiplex ers[J].Maxim Integrated Products,2003(19):1-14.
Design of Multi-Channel Fiber-Optic Data Transm ission System Based on FPGA
SHIShao-feng,LIU Ji
(Institute of Railway&Urban Rail Transit,Tongji University,Shanghai200331,China)
This article designs a circuit,mainly composed of programmable chip FPGA,serializer/deserializer,optical transceivermodule and multiplexer/demultiplexer,which enables high-speed data transmission of long distance between ten data acquisition terminals and a data processing terminal in the industrial field.The system is tested on PCB to ensure the good stability of data transmission.
Fiber-optic data transmission;SERDES;FPGA
10.3969/j.issn.1002-2279.2014.01.005
TP3
:A
:1002-2279(2014)01-0015-03
史韶豐(1990-),男,浙江寧波,碩士研究生在讀,主研方向:工業自動化控制。
2013-08-08