李子龍, 王 中, 高 卓, 朱云周, 朱建國
(1. 中國船舶重工集團公司 第705研究所, 陜西 西安, 710075; 2. 水下信息與控制重點實驗室, 陜西 西安, 710075)
魚雷光纖線導總線數據傳輸的FPGA實現方法
李子龍1,2,王中1,高卓1,2,朱云周1,朱建國1
(1. 中國船舶重工集團公司 第705研究所, 陜西 西安, 710075; 2. 水下信息與控制重點實驗室, 陜西 西安, 710075)
根據光纖線導數據傳輸的特點, 提出了一種基于現場可編程門陣列(FPGA)實現魚雷光纖線導總線數據傳輸的方法, 采用自定義的成幀格式與8B/10B編解碼相結合的方式, 可以簡化系統結構, 僅用單片FPGA就可實現, 具有組成簡單、傳輸延遲低、傳輸可靠性高等優點。仿真結果表明, 在光纖數據的有效傳輸速率達到 100 Mb/s條件下, 誤碼率小于10-6, 該方法可實現光纖線導以太網總線數據的可靠傳輸。
魚雷; 光纖線導; 以太網; 現場可編程門陣列
光纖通信技術的發展為魚雷的遠程線導開辟了廣闊前景, 是魚雷線導技術的發展方向, 成為各國競相發展的魚雷專項技術, 并且不斷地提高傳輸距離與信息的傳輸速率。而實現發控平臺與魚雷之間的信息融合處理, 增強魚雷的遠程導引和反對抗能力, 高速實時的光纖線導數據可靠傳輸是其核心技術[1]。
隨著電子技術和計算機技術的不斷發展, 各種先進處理算法和控制策略層出不窮, 總線技術在民用與軍用技術領域中得到廣泛應用, 特別是實時以太網技術, 以其接入方便、高成熟度和大通信容量得到了廣泛選用。隨著魚雷信息化程度的提高, 以及水聲對抗環境的日益復雜, 利用光纖線導技術實現雷艇信息的高速實時融合傳輸,提高魚雷作戰性能和對抗能力, 是各國魚雷重點研究的方向。
總線技術是實現光纖線導數據高速可靠傳輸的有效技術途徑。傳統的線導遙控遙測信息量小、速率低, 數據傳輸處理主要采用數字信號處理(digital signal processing, DSP)器實現。但是隨著光纖線導技術的應用, 線導系統的數據傳輸速率達到上百兆比特, 如果采用DSP進行數據處理,需要DSP具有極高的工作頻率和強大的實時處理能力, 同時軟件編程復雜, 相應的數據傳輸可靠性會顯著下降。
目前在光纖通信領域數據處理大都采用現場可編程門陣列(field-programmable gate array, FPGA)實現, 相比于DSP芯片, FPGA規模大、集成度高、處理速度快, 能完成復雜的時序邏輯設計, 且編程靈活、方便簡單, 適用于高速數據處理, 在性能、成本、靈活性和功耗等方面均具有優勢[2]。因此, 采用FPGA技術實現光纖線導高速傳輸數據的組幀處理是其最適宜的實現途徑。
文中提出了一種采用FPGA實現光纖線導數據傳輸的方法, 既能滿足線導遙測遙控數據的高速可靠傳輸要求并可實現魚雷與發射平臺之間的數據融合, 又降低了光纖線導高速數據傳輸帶來的數據處理難度, 且易于實現。
1.1光纖線導數據通信的特點
魚雷光纖線導數據通信是采用1根大長度細徑高強光纖把發射載體(水面艦艇、潛艇)和魚雷連接起來, 將發射載體上的火控設備、魚雷上的線導裝置組成線導回路, 以完成發射載體、魚雷之間的通信。光纖線導數據通信采用全雙工模式,利用串行傳輸的方式將遙控遙測數據在魚雷與發射載體之間進行傳輸。該系統主要由發射載體火控系統、發射載體數據收發模塊、雷上數據收發模塊及雷上信息處理系統四部分組成, 系統框圖如圖1所示。

圖 1 光纖線導數據通信系統Fig. 1 Data transmission system of optical fiber wireguided communication
電磁導線線導魚雷系統由于受信道的限制,只能傳輸少量的遙測遙控信息(如: 航深、偏航角、航速、目標方位角及目標距離等參數)[3], 其數據傳輸的特點是速率低, 傳輸協議簡單。隨著光纖線導技術的應用, 魚雷和發射載體之間實現了高速數據傳輸, 傳輸速率是金屬導線線導的105倍以上, 具備了魚雷和發射載體之間高速信息融合的能力。光纖線導數據傳輸中既有傳輸速率較低的傳統的遙控遙測信息, 也有雷上和艇上各種傳感器的高速數據, 光纖線導通道也向著多用戶數據傳輸方向發展。因此, 在雷艇信息融合的基礎上, 在一定實時性、可靠性的保證下實現光纖線導高速數據融合傳輸, 是光纖線導技術的核心問題。
1.2光纖線導以太網總線數據傳輸的FPGA實現方法
目前商業通信領域主導的技術分為2種: 用于內部網絡通信的以太網技術和用于遠距傳輸的SONET/SDH(synchronous digital hierarchy)光纖通信技術, 為節省成本, 提高現有網絡的利用率, 商業通信主流的以太網光纖傳輸技術是Ethernet Over SONET/SDH[4], 該技術采用幀映射技術實現將以太網幀映射到SDH幀中, 從而實現突發不定長的以太網幀與要求嚴格同步的SDH幀之間速率匹配, 幀映射方式主要包括: PPP/HDLC(point to point protocol/high-level data link control)、LAPS(link access procedure-SDH)和GFP(generic framing procedure), 其示意圖如圖2所示。

圖2 以太網幀映射主要方式Fig. 2 Main way of Ethernet frame mapping
Ethernet Over SONET/SDH將以太網的2層交換靈活性和資源優化能力與現有的 SDH光網絡的大容量、高帶寬效率和低協議開銷相結合,從而得到一種高速、經濟的數據接入解決方案。但是由于該技術是為了節省早期投資, 在現有光纖通信系統上進行適應的協議改造, 而不是完全為以太網光纖傳輸全新設計的技術, 因此存在協議復雜、開銷較大、轉發延遲較高等缺點。
文中提出了一種簡化的以太網光纖傳輸方法,采用自定義的成幀格式與8B/10B編解碼相結合的方式, 可以簡化系統結構, 僅用單片FPGA就可實現, 具有組成簡單、傳輸延遲低、傳輸可靠性高等優點。光纖數據收發模塊的硬件組成包括:以太網物理層接口芯片、FPGA模塊和光電轉換模塊三部分, 模塊組成如圖3所示。

圖3 數據收發模塊Fig. 3 Module of data receiver-transceiver
FPGA模塊通過MII(media independent interface)接口與外部以太網物理層接口芯片通信, 完成以太網數據收發的物理層功能。光電轉換模塊通過高速串行差分接口與FPGA模塊通信, 主要完成電信號和光信號的相互轉換。FPGA模塊完成以太網數據的光纖傳輸處理, 實現高速的數據轉發。
在魚雷光纖線導遙控遙測數據傳輸中要求數據通信的延遲小、通信可靠度高。傳統的基于通信處理器(DSP、CPU和ARM等)的光纖通信系統的靈活度高、協議復雜等優勢難以體現, 而采用FPGA易于實現高速大容量數據傳輸, 降低硬件資源的使用, 簡化軟件編程, 提高傳輸可靠性。
針對光纖線導系統數據傳輸特點高低速率數據融合傳輸, 可以在FPGA設計中增加端口來實現, 將不同端口發送來的數據進行以太網數據封包后, 采用以太網總線方式進行傳輸。因此, 針對以太網數據在魚雷光纖線導中的傳輸, 可采用FPGA實現以太網總線數據的收發處理。系統中的FPGA模塊主要完成4位數據和8位數據的相互轉換、MAC(medium access control)幀控制緩存、數據的組幀和恢復、編解碼、時鐘的恢復以及串并數據的轉換。
FPGA模塊對以太網數據的處理又分為發送端和接收端兩部分, 當需要發送數據時FPGA模塊將以太網物理層接口輸入的以太網數據進行一系列處理后, 將數據送至光電轉換模塊進行電/光轉換, 進而通過光纖將數據發送。而當需要接收數據時, 首先光電轉換模塊將光纖發送過來的數據進行光/電轉換, 然后FPGA模塊將光電轉換模塊送來的電信號經過處理后送至以太網物理層接口。
2.1發送端設計
FPGA模塊中的發送端部分由4位/8位數據轉換模塊、以太網MAC幀控制模塊、以太網MAC幀緩存模塊、數據組幀模塊、8B/10B編碼模塊、數據并/串轉換模塊組成, 其構成如圖4所示。

圖4 FPGA模塊數據發送端Fig. 4 Transceiver of FPGA module data
圖中, 4位/8位數據轉換模塊完成數據位的轉換, 而以太網MAC幀控制模塊可以由以太網IP核實現, 以太網MAC幀緩存模塊即是以太網MAC幀緩存FIFO。數據組幀模塊負責將要發送的數據添加由特殊字符組成的幀頭標識(K29.7)和幀尾標識(K28.7+K23.7), 當沒有數據指令發送時要不斷發送特殊字符和指定數據構成的空閑幀標識(K30.7+D15.2), 以保證幀發送的連續性。其邏輯流程圖如圖5所示。

圖5 組幀模塊邏輯流程圖Fig. 5 Logic flow chart of framing module
在8 B/10 B編碼中, 共有12種特殊字符編碼分別為: K28.0~K28.7以及K23.7, K27.7, K29.7, K30.7。其中, 特殊字符K29.7即為8 B數據111_11101, 在8 B/10 B編碼中將8位數據分成高3位和低5位分別編碼, 低5位對應的十進制數即為29, 高3位對應的十進制數為7, 如果是特殊字符編碼則表示成K29.7, 如果是一般數據編碼則表示成D29.7, 而二者對應的10 B編碼值是不一樣的。同樣K28.7, K23.7, K30.7也是如此, 而D15.2則為一般的數據字符。這樣就保證了在解碼時根據編碼值的不同區分出幀頭幀尾標識和空閑幀。
為保證光纖傳輸, 發送數據必須保證“0”和“1”的均衡, 一般通過信道編解碼來實現。大多數高速串行標準都采用8 B/10 B或者64 B/65 B編碼方案, 而64 B/65 B編碼方案由于開銷較小,在10 G以上高速以太網協議中常用[5]。8 B/10 B編解碼具備一定的檢錯能力, 當發現重要的控制數據存在誤碼時, 可以進行重發, 從而保證遙控遙測數據傳輸的可靠性, 且邏輯編程處理相對簡單。因此在該設計中, 編碼模塊采用8 B/10 B的編碼方法, 數據并/串轉換模塊負責將10位編碼后的并行數據轉換為串行數據。
2.2接收端數據處理設計
FPGA模塊的接收端部分主要由數據時鐘恢復模塊、串/并轉換模塊、10 B/8 B解碼模塊、數據幀恢復模塊、以太網MAC幀緩存模塊、以太網MAC幀控制模塊、8位/4位數據轉換模塊7部分構成。數據時鐘恢復模塊將光/電轉換后的串行數據恢復出數據和時鐘, 并將恢復出的數據進行串/并轉換, 轉換后的10位數據經10 B/8 B解碼模塊恢復為8位數據, 再由數據幀恢復模塊去除幀頭和幀尾標識, 進而經以太網MAC幀緩存模塊對數據進行緩存, 再經以太網MAC幀控制模塊, 最后將數據經過8位/4位數據轉換模塊將8位數據轉換為4位數據送至以太網MII接口模塊, 框圖如圖6所示。
事實上, 由圖4可知接收過程就是發送過程的逆過程, 接收端只需要按照發射過程一步步反向處理即可恢復以太網數據。但想要實現數據同步接收, 數據和時鐘的恢復是關鍵, 所以數據時鐘恢復模塊是接收端的關鍵部分。

圖6 FPGA模塊數據接收端Fig. 6 Receiver of FPGA module data
2.3數據時鐘恢復功能設計
數據時鐘恢復部分為數據接收端的重要組成部分, 由于光纖信道傳送的是數據和時鐘組成的單一信號, 所以在數據接收端進行數據后續處理之前必須要把信號進行處理以恢復數據時鐘。該設計采用了基于時間的過采樣的方法, 通過邊沿檢測電路、倍頻電路和時鐘恢復電路即可對時鐘進行提取[6], 具體原理如圖7所示。

圖7 時鐘恢復原理Fig. 7 Principle of clock recovery
如圖7所示, 倍頻電路產生8倍頻的作為采樣時鐘以及時鐘生成電路的驅動時鐘, 邊沿檢測電路的輸出信號作為時鐘生成電路計數器的復位信號。而邊沿檢測電路則采用了2個D觸發器串聯, 高頻采樣時鐘作為2個觸發器的觸發時鐘,而后輸入信號和第2個觸發器的輸出信號相與非作為時鐘生成電路的計數器復位信號, 電路框圖如圖8所示。

圖8 同步邊沿檢測電路Fig. 8 Circuit of synchronous edge detection
在FPGA內部, 外部輸入時鐘經過DCM(digital clock manager)時鐘管理模塊倍頻后, 生成高頻時鐘提供給邊沿檢測模塊和同步時鐘生成模塊。邊沿檢測模塊檢測輸入數據的跳變沿, 并將檢測結果送同步時鐘生成模塊。同步時鐘生成模塊對輸入高頻時鐘進行計數, 在輸入數據邊沿處(由邊沿檢測模塊提供)開始計數, 到達指定計數后反轉輸出, 即為恢復的同步時鐘。在同步時鐘下, 對輸入數據進行重采樣, 輸出即為恢復的同步數據。
對于FPGA模塊的仿真驗證, 主要是對代碼的功能進行驗證, 以便后面進行板級測試。通過功能仿真不僅可以驗證代碼功能, 還能對代碼進行進一步優化。而對于該設計, 根據現有的硬件平臺及硬件描述語言Verilog HDL, 基于Xilinx-ISE軟件完成了相應的代碼的編寫, 并利用modelsim仿真軟件對FPGA模塊主要子模塊進行了功能仿真測試。
3.1FPGA模塊發送端modelsim仿真
在對FPGA模塊的發送端進行仿真時, 要驗證的是數據的轉換、組幀及編解碼等功能。仿真時首先編寫一組數據由發送端將以太網數據報文發送,經一系列處理后, 檢查數據輸出端的輸出值, 即可驗證發送端的功能正確與否。對應仿真圖見圖9。

圖9 發送端仿真Fig. 9 Simulation of transceiver
圖中, data_4b為MII接口4位以太網數據, data_8b為轉化后的數據, data_10b為8B/10B編碼后的數據, data_out為編碼后并轉串輸出數據。
3.2數據時鐘恢復modelsim仿真
對于數據時鐘恢復電路, 倍頻電路輸入時鐘的頻率與發送的時鐘頻率相同, 產生的8倍頻時鐘作為采樣時鐘以及時鐘生成電路的驅動時鐘,其仿真圖如圖10所示。
圖中, cdr_datain為光電轉換后的數據信號,而cdr_dataout為恢復出的數據, cdr_clockout為提取的系統時鐘。其中倍頻電路利用FPGA內部的鎖相環以及DCM時鐘管理模塊實現, 且邊沿檢測電路的輸出脈沖作為時鐘生成電路計數器的復位信號。后續的解碼等操作均利用提取的時鐘作為驅動時鐘。
3.3FPGA模塊接收端modelsim仿真
對于FPGA模塊的數據接收端的仿真, 在驗證了發送端功能正確之后, 為了簡化仿真過程,直接將發送端的輸出串行數據作為接收端的輸入信號。其對應的仿真圖如圖11所示。

圖11 接收端仿真Fig. 11 Simulation of receiver
圖中, data_in為提取的串行數據, data_10b為串/并轉換后的10位數據, 當然這個過程需要對幀頭進行定位。而data_out_8b為10B/8B解碼后輸出的8位并行數據, data_out_4b為8位轉4位后輸出的數據。通過對比發送和接收的數據可知接收端可以將發射端發送的數據完整恢復, 從而驗證了功能的實現。
3.4試驗驗證
該設計在基于Xilinx的Spartan 3A DSP系列的XC3SD3400A的硬件平臺上進行了模擬光纖線導數據傳輸的測試試驗。按照圖12所示的方法進行光纖線導數據傳輸可靠性測試, 其中光纖信道模擬器模擬光纖線導傳輸信道, 使得試驗測試與光纖線導實際數據傳輸效果接近。
圖中, 各驗證平臺均為實際的光纖線導數據收發模塊, 光纖信道模擬器模擬實際光纖信道的衰減, 保證了測試的環境更接近于實際的線導魚雷。測試試驗結果表明, 在光纖數據的有效傳輸速率達到100 Mb/s條件下, 誤碼率小于10–6, 該FPGA以太網光纖總線數據傳輸方案可行, 且具有較高的傳輸可靠性。

圖12 光纖線導信道模擬示意圖Fig. 12 Schematic of channel simulation for optical fiber wire-guided communication
文中設計針對光纖線導中的數據通信, 利用FPGA數據處理技術實現光纖線導高速數據傳輸,經過了功能仿真和模擬系統數據傳輸試驗測試,驗證了該方法能夠實現以太網總線數據在光纖線導系統中的可靠傳輸, 且具有擴展和提升傳輸速率的靈活性, 具有應用推廣價值。
[1] 劉雪辰, 胡鵬, 趙巖. 魚雷光纖線導光傳輸技術研究[J].魚雷技術, 2013, 21(2): 37-38.
Liu Xue-chen, Hu Peng, Zhao Yan. An Optical Transmission Technique for Fiber Wire-guided Torpedo[J]. Torpedo Technology, 2013, 21(2): 37-38.
[2] 楊海鋼, 孫嘉斌, 王慰. FPGA器件設計技術發展綜述[J]. 電子與信息學報, 2010, 32(3): 714-715.
Yang Hai-gang, Sun Jia-bin, Wang Wei. An Overview to FPGA Device Design Technologies[J]. Journal of Electronics & Information Technology, 2010, 32(3): 714-715.
[3] 魏玉華, 王凱帥. 線導魚導引方法的組合使用策略研究[J]. 魚雷技術, 2014, 22(3): 210-211.
Wei Yu-hua, Wang Kai-shuai. Combination Strategy of Guidance Methods for Wire-guided Torpedo[J]. Torpedo Technology, 2014, 22(3): 210-211.
[4] 劉方楠, 孫力軍, 白瑤晨. EoS的原理及其關鍵技術[J].通信技術, 2007, 7(40): 19-21.
[5] 陳曦, 邱志成, 張鵬, 等. 基于Verilog HDL的通信系統設計[M]. 北京: 中國水利水電出版社, 2009.
[6] 蘇紅. 利用FPGA內部DLL實現數字時鐘恢復[J]. 科學技術與工程, 2007, 18(7): 4721-4722.
(責任編輯: 楊力軍)
A FPGA Implementation Method of Data Transmission through Optical Fiber Bus for Wire-Guided Torpedo
LI Zi-long1,2,WANG Zhong1,GAO Zhuo1,2,ZHU Yun-zhou1,ZHU Jian-guo1
(1. The 705 Research Institute, China Shipbuilding Industry Corporation, Xi′an 710075, China; 2. Science and Technology on Underwater Information and Control Laboratory, Xi′an 710075, China)
According to the characteristics of optical fiber data transmission, this paper proposes a data transmission method through the optical fiber bus of a wire-guided torpedo based on field-programmable gate array(FPGA).The method combines the custom framing format with the 8B/10B coding and decoding, and can be achieved only by a single FPGA. It simplifies the system structure, and has the advantages such as simple composition, small transmission delay and high transmission reliability. Simulation result shows that the bit error rate is less than 10-6as the effective optical fiber transmission rate is 100 Mb/s. This method can realize reliable data transmission through Ethernet bus for optical fiber wire-guided communication.
torpedo; optical fiber wire-guided; Ethernet; field-programmable gate array(FPGA)
TJ631.4
A
1673-1948(2015)06-0433-06
10.11993/j.issn.1673-1948.2015.06.008
2015-07-15;
2015-10-12.
李子龍(1989-), 男, 在讀碩士, 主要研究領域為線導魚雷制導技術.