安國臣,劉家男,馬洪濤
(河北科技大學,河北 石家莊 050000)
隨著衛星通信技術的發展,數據的透明轉發已經不能滿足現階段的衛星通信的需求,融合星上交換、星上路由等技術實現衛星通信業務的全IP化,進而提高了系統的靈活性和可靠性[1,2]。為了滿足衛星通信領域的有效性和可靠性,采用專用通信協議。本系統實現了以太網協議和自定義專用鏈路協議之間的協議轉換,為衛星通信提供了可靠的保障。
系統采用Xilinx公司Virtex5系列的FPGA芯片作為核心芯片,通過對4路以太網數據的輪詢、拆包、拼幀和合包等處理,完成了以太網協議與專業鏈路協議之間的相互轉換功能。
根據系統功能需求系統分為數據上行和數據下行兩部分,其中數據上行部分負責從網絡測試儀中接收以太網數據包,對其拆包、拼幀等處理,完成對以太網協議與專用鏈路協議之間的轉換等功能,并由LVDS接口發送到星上設備;數據下行部分與之相反,負責接收專用鏈路數據包,對其合包、拼幀等處理,完成對專用鏈路協議與以太網協議的轉換等功能,并通過網口發送回網絡測試儀。
數據上行部分負責完成以太網協議與專用鏈路數據協議的轉換功能,在其結構上可以分為以下3部分:接收部分、協議轉換部分和發送部分,其結構框圖,如圖1所示。

圖1 數據上行部分設計框圖
由圖1可知,數據上行分成了3個獨立模塊:MAC接收模塊、拆包拼幀模塊和發送模塊,各模塊功能具體詳述如下。① MAC接收模塊負責從網口接收以太網數據包,并完成包過濾、幀長計算和CRC校驗等處理。對校驗通過的數據包提取源MAC地址、目的MAC地址、幀類型、源IP地址和目的IP地址等信息,并將其存入幀頭FIFO存儲器中,其余數據信息存入數據FIFO存儲器中。② 拆包拼幀模塊負責輪詢接收來自上一級模塊FIFO中的幀頭、幀長和數據信息,并根據讀取的幀長信息對數據進行拆包處理,將其分成數組256字節小包數據,存入數據FIFO存儲器中,然后根據幀頭信息中的源MAC地址和源IP地址拼出專用鏈路數據幀頭,并將其存入幀頭FIFO存儲器中[3]。需要注意的是當最后一組數據不足256字節時,需通過補零將數據補充完整[4]。③ 發送模塊負責接收來自拆包拼幀模塊中的并行數據,并經過并串轉換處理,將串行數據發送到星上設備。
與數據上行部分相反,數據下行部分負責完成專用鏈路協議與以太網協議轉換功能,在其結構上也分為3部分:接收部分、協議轉換部分和發送部分,其結構框圖,如圖2所示。
如圖2可知,數據下行分成了3個獨立模塊:LVDS接收模塊、合包拼幀模塊和MAC發送模塊,各模塊功能具體詳述如下。① 接收模塊負責從LVDS口接收串行數據,經過串并轉換處理,將數據包拆分為幀頭和數據,并完成幀長計算,將其存入相應FIFO存儲器之中。② 合包拼幀模塊負責從LVDS接收模塊讀取FIFO存儲器中的幀頭、幀長和數據信息。根據幀頭信息中的目的站地址,添加設定好的以太網數據包頭,并將讀取的小包數據按照順序合成完整的一個以太網數據包。③MAC發送模塊負責讀取合包拼幀模塊FIFO存儲器中的數據,并根據其解析出來的幀類型輸送到MAC核之中,并從對應的網口輸出。
系統的性能和功能測試采用設備自環測試方法,并用思博倫Spirent C1網絡測試儀作為發包設備,在其專用控制軟件Spirent TestCenter Application中配置好端口速率、包類型和協議格式,完成數據發包工作[5],測試結果如圖3所示。由圖3可知,網絡測試儀發送了831720240包,在經過協議轉換處理和LVDS口自環后,網絡測試儀接收回來的數據為831720240,不存在丟包現象,達到了專用通信協議轉換系統的性能要求。

圖3 測試結果
系統采用FPGA作為核心芯片,給出了協議轉換模塊的詳細設計方案。經過系統驗證,系統實現了以太網協議和專用通信協議之間的相互轉化功能,為星上設備提供了可靠的數據源,具有很實用的參考價值和工程價值。