梅康 陳金鷹
【摘要】航空全雙工交換式以太網絡(AFDX)是在以太網的基礎上建立起來的,由于linux操作系統強大的網絡功能和穩定的系統,從而提出一種在linux操作系統下面實現AFDX端系統通信端口的方法,端口在端系統驅動中通過加載配置,創建端口、端口發送/接收3個步驟實現,經過應用程序測試驗證了其正確性和可靠性。
【關鍵詞】AFDX端系統通信端口端口配置端口配置表linux操作系統
數據通信技術是航空電子系統實現綜合化、模塊化的關健技術。其中,AFDX作為近年來最先進的用于航空電子系統的通用通信鏈路,首次將網絡化技術成功地引入到了航空電子系統中。AFDX端系統是AFDX網絡組成部分,作為航電子系統與AFDX分組交換機連接的接口,每個航電子系統的端系統保證了航電系統之間數據交換的安全和可靠性。[1]AFDX通信端口作為端系統的一部分,對于AFDX網絡消息的傳遞有著重要的作用,因此本設計以AFDX協議標準為依據,針對AFDX端系統板卡的AFDX協議棧在板上實現的特點,詳細討論了通信端口的通信機制以及一種實現通信端口的方法。
一、AFDX端系統端口概述
AFDX端系統按照層次劃分,可以分為4層,包括:媒體訪問控制(MAC)層;網絡層;傳輸層;應用層;這4層的功能及關系如圖1所示。
其中MAC層、網絡層和傳輸層均在AFDX端系統板卡實現,應用層則由端系統驅動來實現。本文只給出了AFDX通信端口的實現,以下提到的端口均指通信端口。端口在應用層實現,每個端口都有自己的屬性。端口在一個端系統中由惟一的端口號標識,端口范圍為l024~65635,端口的角色要么是發送端口,要么是接收端口,不能兩者兼顧。端口是端系統提供給應用程序的接口,應用程序和端系統板卡通過端口來傳遞數據。這些特種端口是普通的TCP/IP[2]協議棧所沒有的,它是端系統在UDP協議的上層實現的服務。
二、端口通信機制
2.1通信端口類型
根據ARINC 653規范《航空電子應用軟件標準接口》[3],端系統提供兩種類型的通信端口(communicationport):采樣端口(sampling port)和隊列端口(queuing port),每種通信端口都采用UDP(無連接)數據報服務。
如圖2所示,本圖中將在處理程序中讀取接收到的UDP數據報,然后將收到的數據報存入一個消息隊列,而應用程序從該隊列中取出下一個數據報進行處理。
三、端口通信的實現
3.1端口實現的結構體
為了滿足端口的特性和實現端口的創建和使用,驅動中定義了兩個重要結構體:端口配置和端口配置表。端口配置用于描述每一個端口的屬性,包括以下配置信息:端口號、端口模式、端口方向、最大消息長度、最大消息數目、端口刷新率、端口所在分區名稱、源UDP端口、目的UDP端口、目的IP、VL號、子VL號、分段標志。端口配置表是根據端口配置生成的,用于存放所有端口的配置信息。它是端口通信實現的一個關鍵,有關端口的操作都要通過它來完成。在端口的創建和用端口發送/接收數據時用到。端口配置表按端口號升序排列。圖4給出了端口配置表的具體組成部分。
3.2端口實現的步驟
端口的實現分為以下3個步驟:加載配置、創建端口、端口發送/接收。
(1)加載配置
由于AFDX網絡是確定型網絡,使用哪些端口和VL來通信以及發送和接收路徑都是在通信之前配置好的,所以在應用程序通信之前,首先要加載端口和VL的配置信息,根據配置信息生成端口配置表和板卡配置表并將板卡配置表拷貝到端系統板卡。
(2)創建端口
在加載配置完成后,要使用端口通信前必須先創建端口。創建端口是根據端口配置表動態申請一塊端口緩沖區和數據長度數組。端口緩沖區用于存放消息,大小為最大消息長度與最大消息數的積。數據長度數組用于存放每個消息的實際長度,數組大小為最大消息數。
(3)端口發送/接收
創建端口之后,應用程序就可以通過端口來發送和接收數據了。發送時驅動將用戶數據拷貝到端口緩沖區,然后通過端系統板卡將數據發送出去。接收時板卡將數據放到端口緩沖區,驅動再將數據從端口緩沖區拷貝到用戶端。
3.3端口實現過程
加載配置函數load_config()的參數為AFDX終端系統配置信息、VL配置信息、端口配置信息,根據這些信息生成端口配置表。端口配置表在邏輯上分為發送和接收,分別將發送端口和接收端口的配置信息填人發送和接收配置表。
四、結論
基于linux實現的AFDX采用動態分配,對于不同的配置任務動態生成不同的配置,使用靈活方便。該交換網絡,經分析和測試,證明其可以為航空通信系統提供更大更穩定的帶寬,提高系統的通信性能,還有利于航空子系統的升級和維護。這對航空電子通信系統網絡的設計具有一定的參考意義。目前本方法只是針對基于linux實現的AFDX通信端口,下一步要進行SAP端口的擴展,并進一步優化端口通信過程,以便達到更高的實時性。
參考文獻
[1]趙國斌.航空電子全雙工交換式以太網分析.中國制造業信息化,2011,40(21): 61-63
[2] IEEE Standard 802.3. 2000 Edition. 2000
[3]祝永衛,劉俊千. AFDX總線實驗平臺的設計與實現.中國現代教育裝備,2009(17):54-56