劉 成 王 彤 李 錚 熊華鋼
(北京航空航天大學 電子信息工程學院,北京 100191)
航空電子全雙工交換式以太網(AFDX,Avionics Full Duplex Switched Ethernet)[1]是由工業以太網經過適應性改造而成的航空電子系統互連網絡,目前已經應用于空客A380和波音787中.AFDX網絡在以太網基礎上將虛擬鏈路(VL,Virtual Link)、靜態路由和流量管制等機制集成進來,目的是提高網絡的確定性,一定程度上保障時間關鍵消息的傳輸.網絡演算理論[2-3]和軌跡計算方法[4],可以結合AFDX網絡的確定性機制,衍生出適用的延時上界計算方法[5-7].這些方法能計算出被傳輸消息的端到端延時上界,為AFDX網絡的實時性研究提供了理論計算工具.
但是針對時間關鍵消息,AFDX網絡的確定性機制不能保障完全的確定性,其傳輸的過程不可預測,端到端延時也是抖動的.時間觸發以太網(TTE,Time-Triggered Ethernet)[8-9]和時間觸發 CAN 網絡 (TTCAN,Time-Triggered Controller Area Network)采用了時間觸發機制來傳輸時間關鍵消息,消息的發送和轉發都是完全按照預先規劃的時刻進行.這類基于時間觸發機制的網絡在確定性和實時性方面具有巨大的優越性.基于如下目標,本文將時間觸發機制引入AFDX網絡,設計了時間觸發AFDX(TTAFDX,Time-Triggered AFDX)的體系結構:
1)時間關鍵消息的傳輸具有完全的確定性,可以保障消息的實時性;
2)兼容AFDX網絡的配置文件;
3)未同步時,以AFDX網絡的形式降級通信;
4)可與AFDX網絡透明地通信.
并設計了其中關鍵時刻調度算法,進行了網絡實時性分析和仿真實驗.分析和實驗結果展示了TTAFDX網絡在實時性保障上的優越性.
對比常規AFDX網絡,TTAFDX網絡增加了VL時刻調度子層,如圖1所示.

圖1 TTAFDX網絡協議棧
TTAFDX網絡有兩類VL:時間觸發VL(TTVL,Time-Triggered VL)和流速限制 VL(RCVL,Rate-Constrained VL).RCVL也就是常規AFDX網絡中的VL,其流量特征通過帶寬分配間隔(BAG,Bandwidth Allocation Gap)、最大幀長和最小幀長來約束;TTVL是為時間觸發機制設計的VL類型,也要按照參數進行流量特征約束.TTVL的發送活動是嚴格按照時刻調度表的規劃時刻來觸發,可以用來承載時間關鍵的消息,保障時間關鍵消息的確定性;RCVL優先級低于TTVL,在保障TTVL按規劃傳輸的基礎上,才能進行傳輸,可以用來承載非時間關鍵消息.
TTAFDX網絡增加的VL時刻調度子層不影響數據鏈路層以上的協議,AFDX網絡的參數配置在TTAFDX網絡中完全兼容,VL以RCVL的形式傳輸.
如圖2所示,首先VL流量調度器對TTVL和RCVL進行流量整形;然后VL時刻調度器按照發送時刻調度表的規劃來發送TTVL,在未安排發送TTVL的空閑時間段以輪詢調度的方式發送RCVL.

圖2 端系統中VL的調度
端系統是VL的源節點,可以根據VL的周期屬性進行發送規劃.VL的BAG滿足從1~128ms期間2的冪次毫秒.端系統的發送時刻調度表可以根據BAG的特點構造成如圖3所示的調度表,該調度表由128個1ms的小周期組成,合計大周期128ms.調度表每個小周期都在開頭預留一個用于時鐘同步的數據幀SYN.SYN幀按照所采用的時鐘同步方案來配置,如可采用AS6802的時鐘同步服務[9].VL時刻調度器能按照調度表的規劃,對所有的TTVL進行循環的調度發送.

圖3 發送時刻調度表

圖4 交換機端口中VL的調度
如圖4所示,針對到達的TTVL,交換機首先核對TTVL的到達時刻是否在規劃的接收時間窗口內,將時間窗口之外的TTVL丟棄;然后對到達的VL按照漏桶算法進行流量管制;最后將符合管制的數據幀送到輸出端口.針對到達的RCVL,交換機首先進行流量管制;然后將符合管制的數據幀送到輸出端口.在交換機的輸出端口中,VL時刻調度器按照轉發時刻調度表的規劃來轉發TTVL,在未被安排轉發TTVL的空閑時間段按照先入先出規則發送RCVL.
交換機的每一個端口都維護一張TTVL的轉發時刻調度表.交換機是TTVL的中間節點,TTVL幀從不同的端系統匯聚到交換機的轉發端口,幀的到達時刻不是由交換機端口決定,所以轉發的時刻也無法用小周期組成大周期的時刻調度表來組織.交換機端口的轉發時刻調度表被設計為不分小周期、時間跨度是128ms的調度表.轉發時刻調度表的配置規則是在滿足時鐘同步方案所要求的資源開銷基礎上,配置TTVL的轉發時刻.
TTAFDX網絡的各個設備是按照周期來進行時間同步.在一個同步周期內,設備的時鐘會因為時鐘漂移而不完全一致,因此轉發時刻和到達時刻也會有相對漂移.假設所有設備在一個同步周期中的最大時飄是ΔT,如圖5所示,發送端有-ΔT的時鐘漂移,接收端有ΔT的時鐘漂移,那么TTVL幀到達接收端的時間要比本地規劃的接收時間早2·ΔT;如果發送端有ΔT的時鐘漂移,而接收端有-ΔT的時鐘漂移,那么TTVL幀到達接收端的時間要比本地規劃的接收時間晚2·ΔT.因此對于接收端來說,如果規劃的接收時刻是t,那么時飄造成的TTVL幀實際到達時刻將落在時間范圍[t-2·ΔT,t+2·ΔT]內,這是TTVL實際可接收的時刻范圍,稱為該TTVL的接收窗口.這種由于時飄造成的接收時刻范圍將考慮在到達時刻表和發送時刻規劃中.

圖5 時飄接收抖動
TTAFDX允許出現故障而未能同步的端系統和交換機工作在降級模式,即這些設備只完成AFDX網絡的端系統和交換機的基本功能,而不會影響整個TTAFDX網絡的通信.
TTAFDX的端系統和交換機可以與AFDX的端系統和交換機直接互連通信,即透明通信.降級通信情況可以看作透明通信情況的一種特例,不再專門討論.
透明通信機制是通過標記TTVL幀的目的MAC(Media Access Control)地址來實現.如圖6所示,原來的目的MAC地址具有32位的固定域,將其改造為8位固定域與24位TT標識符域.TT標識符的每一位反映了在TTVL幀傳輸路徑上的相應節點對TTVL幀的操作情況,如第一位對應源端系統,第二位對應所經過的第一個交換機,以此類推直到經過的最后一個交換機.典型的AFDX網絡[10]中,數據幀的跳數一般不超過5跳,24位標識符可以支持24跳,足夠使用.標識符的值“0”代表沒有時間觸發操作,“1”代表有時間觸發操作.通過對TT標識符的處理,可以實現透明通信,過程如下所示,其中TTVL一共經過N個節點.

圖6 TTVL幀的目的MAC地址
1)設置TTVL幀的TT標識符每一位都為“0”,i=1,進入下一步;
3)若i=N,跳到第4)步;TTVL幀進入第i個節點,若是TTAFDX交換機,則會檢查TTVL幀TT標識符,若第(i-1)位是“1”,說明上一個節點進行了時間觸發操作,交換機將檢查TTVL的到達時刻,按規劃時刻進行轉發,并將TT標識符的第i位置“1”,若第(i-1)位是“0”,則不檢查TTVL的到達時刻,在下一個最近的規劃時刻轉發,并將TT標識符的第i位置“1”;若是AFDX交換機,則不進行任何時間觸發操作和TT標識符操作,保持“0”值;i++,循環第3)步;
4)TTVL進入目的端系統,若是TTAFDX端系統,則會檢查TTVL幀TT標識符,若第(i-1)位是“1”,說明上一個節點進行了時間觸發操作,端系統將檢查TTVL的到達時刻,決定是否接收,若第(i-1)位是“0”,則直接接收;若是AFDX端系統,則直接接收TTVL幀.
首先分別執行各個端系統內部的發送時刻調度算法,配置各個端系統的發送調度時刻表;然后執行交換機轉發時刻調度算法,統一配置所有交換機內部所有端口的轉發調度時刻表.由每個端系統的發送端口和每個交換機的轉發端口維護各自的時刻調度表.
1)C是鏈路帶寬,Mbit/s;
2)Vk是第k條TTVL;
3)Gk是Vk的BAG,即Vk最小周期,ms;
4)Vk,q是Vk在端系統發送時刻調度表中的被發送的第q個數據幀,在128ms的大周期中一共有(128/Gk)個數據幀;
5)Vmaxk是Vk的最大線路幀幀長(MAC幀加上幀間間隔、前導符和起始標識,共20byte,以下幀長都指的是線路幀幀長),byte;
近幾年來,我國選煤工業發展訊速,煤炭選煤技術形成規模化、專業化生產模式,選煤廠主要有煉焦煤選煤廠和動力煤選煤廠,工藝單一或復合,與礦井配套或不配套兩種形式。在節能減排方面基本上具有相同的規律,都消耗一定的煤、電、油或其他能源,也都排放污染物。因此選煤廠開展行之有效的節能減排工作,是義不容辭的責任和義務。
6)Ti是端系統發送時刻調度表中的第i個小周期,它的起始時刻時(i-1)ms,1≤i≤128,每個小周期是1ms,如圖3所示;
7)Li是小周期Ti上已配置的幀長合,byte;同步幀的幀長是LSYN,如圖3所示;
8)Lmaxi是小周期Ti上最多可以配置的幀長合,byte;如圖3所示,也即在1ms內能夠發送的總數據幀長Lmaxi=0.001×C×106/8;
9)在一個時間同步周期內,端系統和交換機的時鐘最大漂移值是ΔT.
每個端系統都分別執行如下的端系統時刻調度算法,對TTVL進行發送時刻規劃,完成端系統的發送時刻調度表.
1)按照BAG從小到大的順序給端系統發送的TTVL排序,若同周期則按照Vmax從大到小的順序排序,排序后的TTVL對應標記為Vk(k從1到n),轉到第2)步;
2)按照標記順序,對所有TTVL進行發送時刻規劃,初始狀態令k=1,Li=LSYN,1≤i≤128,轉到第3)步;
3)若k>n,跳到第4)步;否則配置Vk的發送時刻,Vk以Gk為最小周期,在時刻調度表128 ms的大周期中被循環調度128/Gk次;從調度表0ms開始,在Gk時間范圍中,找到幀長合Lr最小的小周期Tr,若Lmaxr-Lr<Vmaxr,則跳到第5)步;否則將Vk的(128/Gk)個調度時刻(單位 ms)配置為:Dk,m=(r-1)+(m-1)·Gi+8·Lr×1 000/(C×106),其中m∈{1,2,…,128/Gk},并更新相應小周期Ti(i=r+(m-1)·Gi)內的已配置幀長合為Li=Li+Vmaxr,k++,循環第3)步;
4)該端系統中,所有TTVL的發送時刻都規劃完成;
5)帶寬有限,無法配置該端系統中所有TTVL的發送時刻.
配置好所有VL的靜態路由和所有TTVL的發送時刻后,在滿足時鐘同步方案所需要的發送資源開銷的基礎上,交換機通過如下算法實現所有交換機內部的所有端口的轉發時刻調度表配置.
1)按照所有TTVL的BAG從大到小的順序給TTVL排序,若同周期則按照Vmax從大到小的順序排序,排序后的TTVL對應標記為Vk(k從1到n),轉到第2)步;
2)按照標記順序,配置所有TTVL在交換機端口的轉發時刻,初始值k=1,轉到第3)步;
3)若k>n,跳到第4)步,否則按照Vk所經過交換機轉發端口的順序,配置Vk在這些端口的轉發調度表中的轉發時刻.配置Vk在某一端口的轉發時刻時,按照幀Vk,1到幀Vk,w(w=128/Gk)的順序來配置其中幀Vk,q的轉發時刻.配置幀Vk,q時,根據幀Vk,q在上一個節點的發送時刻t1、交換機內部16μs的技術延時和最大時鐘漂移值ΔT,算出Vk,q到達此交換機轉發端口的可能最晚時刻,也即時飄接收窗口的關閉時刻(單位ms):

依據不改變已經配置的TTVL幀的原則,按照Δt從小到大的方向,0≤Δt<128,尋找最近的能夠完成轉發任務的空閑時間段,若能找到,則將該空閑時間段的時刻起點t3=(t2+Δt)%128作為轉發時刻,更新交換機端口轉發時刻表;若找不到,則跳到第5)步.若Vk經過的所有交換機轉發端口都能夠配置Vk每一個幀Vk,q的轉發時刻,則k++,循環第3)步;否則跳到第5)步;
4)所有TTVL在交換機端口中的轉發時刻都規劃完成;
5)網絡帶寬有限,無法配置所有TTVL在網絡中的轉發時刻.
一個消息(傳輸層傳輸單元)從產生到封裝成VL幀或者幀群(消息長度過大時會在IP層被分片),再到發送到網絡中,最后被目的節點接收的整個時間過程如圖7所示,若是消息被分片為幀群,計算延遲只要針對最后一個VL幀即可.消息q生成于時刻Am,0,從在傳輸層產生到封裝成Vk的VL幀或幀群的這段時間Bm,0屬于技術延時,由端系統的性能決定;m是消息q被封裝成的VL幀,或者幀群中的最后一個VL幀,VL幀m到達VL流量調度器的時刻是Am,1,經過流量整形后滿足BAG的要求,時間開銷是Bm,1;然后VL幀m于時刻Am,2到達VL時刻調度器,經過時間Bm,2的等待,被調度發出;VL幀m在AFDX網絡中經過傳輸時間Bm,3,在時刻Am,4到達目的端系統.

圖7 消息的傳輸過程
1)C是鏈路帶寬,Mbit/s.Eq是消息q的數據段長度,Vmaxk是Vk的最大幀長,Vmink是Vk的最小幀長,Vlastk是最后一個VL幀m的幀長,單位都是字節.令0<V′lastk≤Vmaxk,有
Eq=M×(Vmaxk-38)+(V′lastk-38)
其中,M為非負整數,(M+1)是VL幀群的數目,若沒有分片,則M等于0;若V′lastk<Vmink,則Vlastk=Vmink,否則Vlastk=V′lastk.
2)Wk是源端系統VL流量調度器中下一個屬于Vk的幀被整形所要等待的時間,ms.
3)定義N是不包括目標VL幀群在內,當前積壓在源端系統VL流量調度器中屬于Vk的數據幀的總數.上層消息可能因為配置不合理,突發到來或者以小于VL的BAG的周期到來,TTVL幀可能在VL流量調度器中積壓;因為端系統發送時刻調度表中,TTVL的發送周期嚴格等于它的BAG,所以在之前已經被流量整形的TTVL不會在VL時刻調度器中出現積壓.
4)Pk是Vk經過的發送或轉發端口集合,源端系統發送端口e∈Pk;若端口h∈Pk,則(h+1)表示h端口之后,Vk經過的下一個轉發端口;l∈Pk,是Pk上的最后一個轉發端口.
5)是h端口發送或者轉發時刻調度表中針對在端系統發送時刻調度表中的第r個VL幀Vk,r的轉發時間.
VL流量調度器中,Vk的VL幀m需要等待積壓的幀嚴格按照BAG的間隔發出后,才能發出,等待的時間Bm,1=(N+M)×Gk+Wk.VL幀m到達 VL時刻調度表的時刻Am,2=Am,1+Bm,1,該時刻對應端系統發送時刻調度表中的時刻Sm=Am,2%128.若VL幀m的到達時刻與其調度時刻的關系如下:

則VL幀m在時刻被調度發送;否則在時刻被調度發送,該時刻標記為.VL幀m在VL時刻調度器中的等待時間為Bm,2=.從端系統端口發送出去后,VL幀m在網絡中延時是傳輸過程中在各個時刻調度表之間的時刻差值與最后一跳的發送延時之和:

消息q的端到端延時合計為

考慮時鐘漂移造成的誤差,修正消息q的端到端延時在[Bm-2·ΔT,Bm+2·ΔT]范圍內.因此在消息q產生的時候,它的端到端延時就可以確定,這對于時間關鍵的消息具有非常重要的意義.
TTAFDX網絡仿真實驗采用典型的AFDX網絡拓撲[10],如圖8所示.共有8個交換機構成了網絡主干,每個交換機上連接8個端系統,一共有64個端系統,鏈路帶寬配置為10Mbit/s.

圖8 TTAFDX網絡拓撲
實驗設計了8條TTVL和128條RCVL,用VLID來標識不同的VL;TTVL的VLID號從1到8,RCVL的VLID號從11到138;最大線路幀長在84到512byte之間;VL的BAG分為3類:32ms,64ms和128ms;每個VL承載對應的消息,其中TTVL承載時間關鍵消息;消息按照對應VL的發送時刻和BAG間隔來生成;發送技術延時設置為0,時鐘漂移設置為0,交換機轉發技術延時為16μs,仿真模擬24h.在配置好VL的靜態路由后,采用端系統和交換機的時刻調度算法完成TTVL時刻調度配置.
當時間關鍵消息產生的時候,計算它的端到端延時,并將結果與仿真得到的實際端到端延時作比較,如表1所示.表1中,BAG為32ms的TTVL在大周期128ms中有4次調度,因此有4個計算值與實際仿真結果的比較,64ms的TTVL有2次,128ms的TTVL有1次.表1的結果對比顯示,采用TTVL來承載的時間關鍵消息時,在消息產生的時候,就可以通過計算得到實際的端到端延時.

表1 TTVL承載消息的延時值對比
非時間關鍵消息是由RCVL承載,其端到端延時是抖動的,通過網絡演算[5,7]可以計算出端到端延時上界.如圖9所示,將其延時上界與其端到端延時的統計最大值進行比較,該上界往往遠大于實際延時的統計最大值.常規的AFDX網絡中的VL與TTAFDX網絡中的RCVL具有完全相同的功能和性質,保障網絡確定性和實時性的能力有限.

圖9 RCVL承載消息的延時值對比
TTAFDX網絡是從常規AFDX網絡升級而來,在時鐘同步的基礎上,引入了時間觸發機制.TTAFDX網絡使用RCVL兼容原來的AFDX網絡的VL,使用TTVL來傳輸時間關鍵消息,確保時間關鍵消息的完全確定性.時間觸發機制,采用離線調度規劃的方法,在AFDX網絡運行前,就在源端系統發送端口和交換機轉發端口完整地規劃好TTVL傳輸的每個階段,使得TTVL在網絡中的傳輸具有完全的確定性.在TTAFDX網絡中,將時間關鍵消息用TTVL來承載,在消息產生時就可以得到消息傳輸的端到端延時,并且消息傳輸的每個階段的時刻都是可以預測的.
(References)
[1]ARINC 664Aircraft data network,part 7:avionics full duplex switched Ethernet(AFDX)network[S]
[2]Cruz R.A calculus for net work delay,part I:net work elements in isolation [J].IEEE Trans Information Theory ,1991,37 (1):114-131
[3]Cruz R.A calculus for net work delay,part II:network analysis[J].IEEE Trans Information Theory,1991,37(1):132-141
[4]Martin S,Minet P.Schedulability analysis of flows scheduled with fifo:application to the expedited forwarding class[C]//Parallel and Distributed Processing Symposium (IPDPS).Rhodes Island,Greece:20th International,2006:8-15
[5]Frances F,Fraboul C,Grieu J.Using network calculus to optimize the AFDX network[C]//Proceedings of ERTS.Toulouse,France:[s.n.],2006:25-27
[6]Bauer H,Scharbarg J L,Fraboul C.Applying and optimizing trajectory approach for performance evaluation of AFDX avionics network[C]//Proc 21th ECRTS WiP Section.Dublin,Ireland:IEEE,2009:57-60
[7]Bauer H,Scharbarg J L,Fraboul C.Improving the worst-case delay analysis of an AFDX network using an optimized trajectory approach [J].IEEE Trans Industrial Informatics,2010,6(4):521-533
[8]Kopetz H,Ademai A,Grillinger P,et al.The time-triggered Ethernet(TTE)design [C]//Ghafoor A.Object-Oriented Real-Time Distributed Computing (ISORC).Seattle,Washington:IEEE Computer Society,2005:22-33
[9]SAE AS6802Time-triggered Ethernet[S]
[10]Grieu J.Analyse et evaluation de techniques de commutation Ethernet pour interconnexion des systemes avioniques[D].France:INP-ENSEEIHT,2004