?

AFDX構架及協議分析*

2010-09-26 04:24民2王懷勝
電訊技術 2010年1期
關鍵詞:接收端隊列以太網

鐘 杰,何 民2,王懷勝,鄭 力

(1.中國西南電子技術研究所,成都 610036;2.海軍駐中國西南電子技術研究所軍代室,成都 610036)

1 引 言

新一代航空電子系統的實現依賴于許多技術的突破,而高速多路傳輸總線接口技術是新一代航空電子系統的關鍵技術之一。航空電子綜合系統的實現主要取決于更通用的數據傳輸機制,并要求數據總線具有高度的分布式處理能力和高吞吐率。此外,數據總線本身還應具有抗各種干擾的能力,從而提高其在惡劣環境中的生存能力和安全性。

航空電子全雙工交換式以太網(Avionics Full Duplex Switched Ethernet,AFDX)技術基于IEEE 802.3以太網和TCP/IP通用原理,利用商用貨架(COTS)網絡化技術來實現飛機設備間的數據高速通信,AFDX與普通商用以太網最大的不同點在于AFDX采用了虛擬鏈路技術和冗余管理,提高了數據傳輸的可靠性和服務質量。

近年來,隨著AFDX在空客A-380平臺上的成功應用,AFDX得到了航空電子綜合技術研究與應用領域的廣泛重視。在航空技術比較先進的發達國家,出現了一系列具有較強研究與應用價值的成果以及較多的產品[1~3]。在國內,也引起有關航空電子技術研究與應用領域的系統集成商和設備制造商的高度重視,并積極展開該領域廣泛的研究[4]。

下面從系統集成角度來著重分析AFDX在相應的傳輸層、網絡層、鏈路(MAC)層的組成、構架及設計實現方案。

2 AFDX協議分析

圖1描述了AFDX協議與涉及的OSI模型、IEEE以太網標準間的關系。從圖1可以看出,AFDX是基于商業以太網標準,采用IEEE802.3/IP/UDP協議的大部分內容,并根據航空電子系統集成的實際情況進行了優化的通信協議,是一個用于航空電子設備集成的系統通信接口協議。AFDX協議按照層次劃分,可以分為傳輸層、網絡層、鏈路(MAC)層和物理層4層。

圖1 AFDX協議與OSI模型Fig.1 AFDX protocol and OSI model

2.1 信息處理流程

整個AFDX協議棧主要作用是有效、及時地封裝處理接口端的發送和接收數據。AFDX的信息流程包含在鏈路層中。當在AFDX端口間傳送信息時,牽涉到發送端口、AFDX交換機和接收端口的協同工作,并配置合理的地址,使信息到達需要到達的端口。圖2為AFDX信息處理流程。M信息被航空電子子系統送入端口1,在AFDX端口1進行規定的封裝,形成以太網幀格式,并通過虛擬鏈接地址100發送到AFDX交換機中;通過AFDX交換機的前向隊列表的配置,把M信息傳送到AFDX接收端口2;在AFDX接收端口2對M信息進行解包處理,最終把M信息送入需要的航空電子子系統中。在AFDX網絡中一個重要的特性是網絡信息包中所涉及的虛擬鏈接ID號在AFDX端口中是一致的。AFDX網絡交換機采用虛擬鏈接ID號來選擇預定的路由。因此,虛擬鏈接使信息包從源頭送到固定的目的地。從圖2可以看出:從源端系統1發送一個帶有虛擬鏈接ID號的以太網幀信息到AFDX網絡,通過AFDX交換機轉送到預先設定好目的地址的端系統2和3。

圖2 AFDX信息處理流程Fig.2 Message sent to Port 1 by the avionics subsystem

接收協議棧主要處理從AFDX端口接收的信息,其信息接收解包流程如圖3所示。首先,接收以太網幀格式信息,在虛擬連接層利用幀校驗序列(FCS)進行檢驗,如果沒有錯誤,去掉FCS后的AFDX幀進行完整性檢測和冗余管理檢測。生成的IP幀信息進行IP網絡層的解包處理,IP網絡層主要負責IP校驗、檢測和UDP幀的重組。最后,通過UDP傳輸層把AFDX信息送到合適的UDP端口。

圖3 AFDX接收解包過程Fig.3 AFDX Rx protocol stack

發送協議棧主要處理信息按AFDX信息格式發送到AFDX端口,其信息封裝流程如圖4所示。UDP傳輸層主要負責添加UDP報頭,包括信息源和目的端的UDP端口地址;在AFDX通信狀態下,這些UDP端口地址通常是設置好、固定不變的,只有在維修端口,其IP地址和UDP地址是動態分配的。IP網絡層主要負責接收UDP幀和確定是否需要進行IP分區,IP網絡層采用適當的虛擬鏈接來確定分區是否必要,對每一個分區進行IP頭和校驗和的封裝,IP網絡層還負責以太網幀格式的封裝。虛擬鏈接層負責安排以太網格式信息的發送,并添加到發送順序隊列中,該發送的信息格式還需通過檢測是否重復、信息格式中以太網地址是否已進行更新等冗余管理單元后才能發送到AFDX網絡中。

圖4 AFDX發送打包過程Fig.4 AFDX Tx protocol stack

從圖5可以看出,在AFDX數據格式負載段中包含多個報頭。IP信息包(報頭和數據負載)組成AFDX以太網數據負載段。UDP信息包(報頭和數據負載)組成IP信息包,UDP的數據段由相關航空電子子系統的信息組成。當有用信息的長度小于18 byte時,需要在有用信息后添加字節,重組為18 byte的數據段;當有用信息的長度大于或等于18 byte,不需添加任何字節。IP報頭一個重要功能是為超長的UDP信息包提供分段控制。IP報頭中包含有目的端口的識別碼和分區識別符,或者多點傳送地址。IP目的地址中還包含虛擬鏈接目的地址和ID號。UDP報頭中包含信息源和目的地的UDP端口號。一般情況下,通過這些地址信息,AFDX可以把某信息從源地安全發送到目的地。

圖5 AFDX數據格式Fig.5 AFDX frame and sequence number

2.2 虛擬鏈接

AFDX的虛擬鏈接調度機制包含在鏈路層中。虛擬鏈接調度機制有效分割帶寬資源,可實現100 Mbit/s連接網速的物理層可支持多個虛擬鏈接。在共用一個物理帶寬時,為了防止不同虛擬鏈接間發生沖突和干擾,AFDX設計了虛擬鏈接調度機制。圖6描述了信息在虛擬鏈接中的工作機制。

圖6 虛擬鏈接的工作機制Fig.6 Virtual link scheduling mechanism

在發送端,采用流量整形機制在虛擬鏈接間分配通信資源,即對每一具體的虛擬鏈接需分配可用帶寬分配間隔(BAG)和最大發送的幀長(Lmax),可用帶寬分配間隔規定了某個虛擬鏈接向整個網絡發送以太網幀信息的最小間隔,而最大發送的幀長則規定了某個虛擬鏈接的最大傳輸速率。流量整形同時限制了虛擬鏈接的突發度,決定了聚合流量最壞條件下的排隊延遲界限。

虛擬鏈接主要由VL參數、路徑隊列、SubVL隊列和VL輸出隊列組成。其中,VL參數主要包括VL的IP、BAG和Lmax;SubVL隊列則是用于描述通過VL傳輸的消息集;而VL輸出隊列用于描述SubVL到VL的數據包輸出排隊的情況,也相應地封裝了FIFO、RR等調度算法,可以根據用戶定義選擇相應的調度算法。

每一個發送到AFDX端口的信息都涉及到虛擬鏈接。信息在送到通信端口的過程中已經用UDP、IP和以太網的報頭進行了封裝,并放在合適的虛擬鏈接隊列中等待發送,該過程主要由每個AFDX端口的虛擬鏈接調度控制器完成。在接收端的虛擬鏈接與應用層的接口,提供采樣和隊列兩種形式的端口,采樣口和隊列口的差別主要是在接收處理過程的不同。

采樣口只能緩沖存儲一條消息;要到達的消息將覆蓋當前在緩沖區的消息,而不管它是否已被應用程序讀??;另一方面,從采樣口讀取消息的時候,并不能有效清除緩沖區的內容,因此,可以反復讀取,為了描述采樣口緩沖區內容的新舊,必須提供一個刷新標志,當這個標志有效時,說明當前在通信口緩沖區中的消息是新的。采樣口具有最新覆蓋的特性,適用于交換狀態消息。

隊列口具有相對充足的緩沖區,可以緩存一定數量的消息,新消息被填充到隊列中,從隊列中按照先進先出(FIFO)的規則讀取消息,并將讀取的消息從隊列移出。隊列口適合于傳輸非周期數據。

2.3 冗余管理

AFDX的冗余管理機制包含在鏈路層中,冗余鏈路的設置保證了數據報傳輸的可靠性。在一個AFDX系統中,通常有兩個獨立的虛擬交換網絡,每一幀在AFDX端口都分別被發送到這兩個獨立的網絡中,所以,在接收端將接到描述同一信息的兩個幀包。

在AFDX中依靠虛擬鏈接調度機制所發送的幀中都包含一個字節的序列號,該序列號的作用是描述一幀的完整性、重復性和有效性,AFDX檢測該序列號進行冗余管理。

每個AFDX接收端口需要識別在不同網絡中相關的幀。通過檢測接收到的每幀序列號內容來判斷該幀的完整性、有效性。有關AFDX的冗余管理機制如圖7所示。從鏈路層傳入的數據幀先要進行完整性檢查,只有當序列號符合要求時,數據幀才會被提交給冗余管理機制模塊。接收端的冗余管理機制,是將接收到的幀與其冗余幀進行比較,來確定是否接收該幀。

圖7 冗余管理機制Fig.7 Redundancy management mechanism

冗余管理機制模塊采用簡單的“先到為勝”的方法來過濾數據的重復拷貝,即接收兩個網絡中先傳入的數據拷貝,而丟棄后傳入的拷貝。冗余管理機制可以有效地保證數據幀向上層應用程序傳輸實時性、可靠性。

冗余管理機制的構造一般基于SkewMax變量,SkewMax是指兩個鏈路上的冗余幀發送的最大時間間隔。在理想狀態下兩個網絡中的擁塞程度相同,所以在到達接收端時冗余幀之間的時間間隔不發生變化。接收端的冗余管理機制,是將接收到的幀與其冗余幀進行比較,來確定是否接收該幀。如果SkewMax的值越大,冗余幀到達的時間就越晚,那么需要的緩存隊列也就越長,這無疑增加了接收端系統的資源占用量。同時,系統在接收到冗余幀后,需要先在緩存隊列中查找出該幀,然后再與其冗余幀進行比對。隨著緩存隊列的增加,查找的速度也會變慢。所以,SkewMax限定的越小,接收端系統的資源占用就越小。假設B鏈路上到達幀的冗余幀在A鏈路上到達幀的后續幀之前到達接收端,那么,接收端系統的緩存隊列只需要存儲一個幀,對于剛到達接收端系統的幀只需要與緩存中的一個幀進行比較,就可以確定到達幀的處理方式。這無疑減少了接收端系統的資源占用量,簡化了接收端的冗余算法。因為SkewMax主要是由數據幀在發送端,以及經過交換機時的排隊等待引起的,因此是不可避免的,所以準確地限定SkewMax變量對于提高接收端的效率、保證通信的實時性是十分重要的。

3 實現方案

3.1 系統構成

采用AFDX協議構建的航空電子數據網絡系統主要包括以下部分:

(1)航空電子綜合計算機子系統:機載的傳統航空電子子系統如飛行控制計算機、全球定位系統、胎壓監控系統等,通過綜合計算機來整合各類航空電子子系統,并為各類航空電子子系統提供一個計算和AFDX端口的環境;

(2)AFDX端口:提供每一個航空電子綜合計算機與AFDX網絡交換機的連接方式,通過AFDX端口,實現各航空電子子系統間數據的安全、可靠傳輸;

(3)AFDX網絡交換機:實現內部全雙工網絡數據的交換,它的主要功能是構建一個機載內部網絡,并把相關數據信息及時地傳送到不同的航空電子子系統或設備中。

3.2 方案設計

3.2.1 AFDX網絡交換機構成

圖8為AFDX交換機硬件原理框圖。交換機核心控制芯片采用AMCC公司的PowerPC 440EP,AFDX接口實現芯片采用Xilinx公司的FPGA Virtex-5 FXT,SRAM芯片采用Cypress公司的產品作為交換機共享存儲器,嵌入操作系統選用Windriver公司的VxWorks,PowerPC 440EP作為SNMP的代理,實現系統管理和交換機與其它AFDX接口的交互;通過PowerPC 440EP將連接參數表配置到各FPGA內部寄存器的方式來完成Virtex-5 FXT芯片的配置。交換機的管理包括配置管理、端口管理、VL管理、性能管理和故障管理。配置管理用于設置系統屬性、運行時間和交換機工作狀態等;端口管理包括更改端口名、工作狀態和工作速率等;VL管理包括VL資源的分配及VL表項信息的更新;性能管理負責統計端口輸入分組數、輸出分組數、單播和多播分組數等;故障管理主要負責對設備和網絡運行的故障進行實時監控,并給出告警信息。交換機的初始化和配置主要由硬件完成,管理功能由軟件實現。

圖8 AFDX交換機原理框圖Fig.8 AFDX switch principle

3.2.2 AFDX端口的實現

AFDX端口的實現分為:AFDX網絡交換機的AFDX端口實現,采用Xilinx公司的FPGA Virtex-5 FXT;航空電子分系統的AFDX端口采用Xilinx公司的FPGA Virtex-4 FX[5]。AFDX協議棧中IP層以下由上述FPGA芯片硬件實現,其中完整性檢測、冗余管理、虛擬鏈接打包和解包,以及帶寬控制都由硬件實現,并通過FPGA芯片內部的嵌入PowerPC進行加載。同時,嵌入PowerPC還需處理IP層及以上協議。采用這樣的設計方案最大的優點是AFDX端口的性能具有可優化和可測試性,滿足不同應用的需求。

上述兩個芯片的接收電路實現原理框圖如9所示。在FPGA中以太網媒介接入控制功能塊接收輸入的數據進行完整性檢測;冗余管理功能塊通過先進先出緩存器從完整性檢測器中讀取數據,并在確定該數據的唯一有效性后,分別傳送到嵌入PowerPC和虛擬鏈接管理信息數據庫中進行下一步的處理。由于協議要求對AFDX網絡管理功能進行實時統計,因此,在AFDX實現中,需要保持完整性檢測和冗余管理與每一個的虛擬鏈接管理信息數據庫的連接。

圖9 FPGA芯片實現AFDX接收原理框圖Fig.9 AFDX receive path in FPGA

FPGA芯片的發射電路實現原理框圖如10所示。航空電子子系統的數據通過FPGA芯片內的嵌入PowerPC的打包處理,變成虛擬鏈接所規定的幀格式通過其調度程序發送到FIFO中等待處理;FPGA芯片中的規則控制器從FIFO中讀取相關數據并根據虛擬鏈接的帶寬來動態分配可用帶寬間隔和信號時鐘的抖動門限;再通過冗余處理,相關數據數據幀被分成兩路進入以太網媒介接入控制功能塊及物理接口發送出去。

圖10 FPGA芯片實現AFDX發射原理框圖Fig.10 AFDX transmit path in FPGA

在嵌入PowerPC中除了處理輸入AFDX端口、SNMP代理、UDP和IP層的數據打包外,一項重要的功能是確定數據幀的發送順序。AFDX協議標準中并未規定該調度程序的具體算法,因此,在該嵌入調度程序的調度算法中需要實現以下功能:

(1)根據每個虛擬鏈接的允許帶寬來確定數據幀的發送可用帶寬間隔;如果數據幀被無故延遲,將不被安排進入調度程序,以便確保虛擬鏈接中一數據幀的延時不可阻擋另一幀的發送;

(2)確定虛擬鏈接的發送隊列及可用帶寬間隔,如果數據幀被有意延遲,該數據的發送隊列順序將保留;

(3)確定每一數據幀所需的發送時間;

(4)為確定發送的數據幀預留發送窗口;

(5)為每一數據幀確定虛擬鏈接發送的優先級。

3.3 可靠性預計

由于在航空電子系統集成中引入AFDX端口及AFDX交換機,必將影響整個系統的可靠性指標[6]??煽啃远x為給定時間周期內航空電子系統完成其預定功能的概率。通常,電子設備可靠性預計的一般程序為:

(1)按設備、系統的功能建立其可靠性模型,確定各分系統、組件間的串聯、并聯等關系;

(2)按不同的數學模型,計算元器件的工作失效率;

(3)將同種類元器件的工作失效率相加;

(4)將各種類元器件的工作失效率相加,從而得出分系統的失效率;

(5)按設備、系統的可靠性模型,計算整個設備、系統的平均故障間隔時間等可靠性指標。

圖11 可靠性模型圖 Fig.11 Reliability model

具體到航空電子系統,由于其設備電路的復雜,所用元器件、材料等種類較多,這些導致整個航電系統的可靠性模型十分繁雜。在此,僅考慮引入AFDX后對系統影響,其系統的可靠性模型如圖11所示。通過下列計算公式可以預計引入AFDX的系統失效概率:

式中,p1=e-λ1是單個飛行控制計算機的可靠性概率,p2=e-λ2為單個AFDX端口的可靠性概率,P3為單個AFDX交換機的可靠性概率,PAFDX為整個航電系統的可靠性概率。

引入AFDX后對整個系統的失效概率計算結果如下:

PSystemfailure=1-PAFDX=10×10-9

從上述計算結果可以看出,AFDX通信網絡能夠滿足新一代航電數據通信的高速、實時和可靠性傳輸要求。

4 結束語

AFDX協議是一種新型的航空數據總線協議,其虛擬鏈接和雙冗余網絡的設置有效地增加了系統的可靠性。本文從航空電子集成的角度描述了AFDX通信網絡的概念、結構、調度機制和協議棧,給出了AFDX端口和網絡交換機的設計思路和實現方案,預計了采用AFDX協議總線構建航空電子系統時系統的失效概率,對AFDX通信網絡的研究和設計具有一定的實用參考性。

參考文獻:

[1] Courtney R.Aircarft Data Network,Part 7-avionics Full Duplex Switched Ethernet(AFDX) Network[M].Stockholm,Sweden:Airlines Electronic Engineering Committee,2004.

[2] GE Fanuc Embedded System, Inc..AFDX/ARINC 664 protocol tutorial[EB/OL].http:// www.gefanucembedded.com.

[3] Charara H,Scharbarg J L,Ermont J,et al.Methods for Bounding End-to-End Delays on an AFDX Networks[C]//Proceedings of the 18 th Euromicro Conference on Real-time Systems.[S.l.]:IEEE,2006:193-202.

[4] 陳昕,路娟,周擁軍.AFDX冗余管理機制的仿真[J].計算機工程,2008,34(23):92-94.

CHEN Xin,LU Juan,ZHOU Yong-jun.Simulation of AFDX Redundancy Management Mechanism[J].Computer Engineering,2008,34(23):92-94.(in Chinese)

[5] Lan Land,Jeff Elliott.Virtex-4 and Virtex-5 FPGAs Architecting ARINC 664,Part 7(AFDX) Solutions[EB/OL].www.xilinx.com.

[6] Forsberg K,Habberstad B,Torin J.FoT25 Systems Architecture WP6, Detailed DIMA and DTT UAV architectures[R]//Saab Technical Report.[S.l.]:[s.n.].

猜你喜歡
接收端隊列以太網
基于擾動觀察法的光通信接收端優化策略
頂管接收端脫殼及混凝土澆筑關鍵技術
一種設置在密閉結構中的無線電能傳輸系統
基于多接收線圈的無線電能傳輸系統優化研究
基于1500以太網養豬場的智能飼喂控制系統的設計與實現
隊列里的小秘密
基于多隊列切換的SDN擁塞控制*
在隊列里
豐田加速駛入自動駕駛隊列
談實時以太網EtherCAT技術在變電站自動化中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合