蘭 杰 朱曉飛 陳 亞 李 峭
(1.北京航空航天大學,北京 100191;2.中航工業(yè)綜合技術(shù)研究所,北京 100028)
航空電子系統(tǒng)經(jīng)歷了分立式、聯(lián)合式、綜合式和先進綜合式4個發(fā)展階段[1]。具體到大型飛機領(lǐng)域,空客A380和波音787采用綜合模塊化航空電子(IMA)系統(tǒng)和AFDX[2][3]骨干互連,具有先進綜合式的特征,其核心綜合處理模塊在機架上集中安裝。
隨著高完整性時間觸發(fā)通信互連技術(shù)的出現(xiàn),有望實現(xiàn)異構(gòu)的航空電子模塊之間或主機之間的精確同步和并行處理,構(gòu)成分布綜合模塊化航空電子(DIMA)體系結(jié)構(gòu),進一步嚴格保證航空電子信息交換的時間確定性,并支持時間隔離和分區(qū)隔離相結(jié)合的分布式綜合設(shè)計,使之具有靈活配置、容錯、可重構(gòu)和良好的互操作能力。
時間觸發(fā)以太網(wǎng)(Time-Triggered Ethernet,TTE)是在交換式網(wǎng)絡(luò)互連環(huán)境下的時間觸發(fā)通信技術(shù),可以提供微秒級的分布式時鐘同步服務(wù),已經(jīng)在NASA的載人飛船項目中獲得實用,并得到國外飛機設(shè)備設(shè)計制造企業(yè)的重視。
根據(jù)SAE AS6802《時間觸發(fā)以太網(wǎng)》[4]定義,TTE網(wǎng)絡(luò)在支持時間觸發(fā)(TT)流量的同時,還支持速率約束(Rate Constraint,RC)乃至“盡力傳”(Best Effort,BE)流量,形成混合關(guān)鍵性的通信服務(wù)。
與ARINC 664 Part7標準定義的AFDX網(wǎng)絡(luò)相比,TTE網(wǎng)絡(luò)的微秒級時間觸發(fā)通信的定時精度遠高于AFDX網(wǎng)絡(luò)允許的0.5ms時延抖動界限;另一方面,TTE網(wǎng)絡(luò)可以用RC流量承載AFDX虛擬鏈路,起到向下兼容和保護既有投資的作用,并能夠在TT與RC流量共存的情況下,提供容錯、故障封閉、通信監(jiān)視等完整性保證機制。
本文首先介紹時間觸發(fā)以太網(wǎng)技術(shù)及其標準化工作的進展動態(tài),隨后概述SAE AS6802標準的范圍和特色,進而主要分析其時鐘同步服務(wù)的方法和機制,討論其容錯要求和高完整性保證方法,最后進行歸納并提出進行標準化研究工作的建議。
TTE網(wǎng)絡(luò)提供確定性的時間觸發(fā)通信的機制[4],是(Time-Triggered Architecture,TTA)體系結(jié)構(gòu)[5]在分布式嵌入式實時系統(tǒng)領(lǐng)域的發(fā)展。不同于共享介質(zhì)的TTP總線[6],TTE網(wǎng)絡(luò)在不能進行監(jiān)聽的交換式網(wǎng)絡(luò)基礎(chǔ)設(shè)施上實現(xiàn)了全局的時鐘同步操作。
上世紀90年代末,維也納技術(shù)大學在Koptez H等學者的引領(lǐng)下成立了專門的時間觸發(fā)通信技術(shù)研發(fā)團隊,隨后成立TTTech公司。隨著交換式以太網(wǎng)在嵌入式應(yīng)用中適應(yīng)性改造的深入,2001年至2005年,研制了實驗性的TTE交換機[7];2005年至2008年,推出工業(yè)應(yīng)用TTE交換機[8]和TTE端系統(tǒng);近年來,開始提供符合DO-254標準的交換機和模塊。而在軟件方面,TTE網(wǎng)絡(luò)支持ARINC 653標準定義下的APEX分區(qū)TDMA調(diào)度和VxWorks 653操作系統(tǒng)。
在工程實用和應(yīng)用基礎(chǔ)研究的雙重推動下,TTE網(wǎng)絡(luò)技術(shù)獲得了長足的發(fā)展。在歐盟FP7計劃下的“可擴展可重配置電子平臺與工具”(SCARLETT)項目[9]提出所謂“IMA2G”的互連技術(shù),用到了實驗性的TTE交換技術(shù),使IMA模塊的處理功能與I/O功能相互透明,以便于實現(xiàn)異構(gòu)LRM和LRU的分布式綜合。而在航天電子領(lǐng)域,美國Orion載人飛船采用1000BASE-CX物理層和雙冗余配置的TTE網(wǎng)絡(luò)綜合互連方案,考慮了抗惡劣環(huán)境的高完整性。
在上述基礎(chǔ)之上,TTTech公司于2008年發(fā)布了TTEthernet規(guī)格說明書,并經(jīng)過SAE標準化組織的AS-2D“時間觸發(fā)系統(tǒng)與體系結(jié)構(gòu)”分委會牽頭TTE網(wǎng)絡(luò)的標準化工作,并由SAE組織于2011年11月形成并發(fā)布了SAE AS6802“時間觸發(fā)以太網(wǎng)”標準。
在TTE網(wǎng)絡(luò)的分布式時鐘通信概念提出之前,我國對于時間觸發(fā)通信的研究主要集中在時間觸發(fā)的總線形或分支連接的網(wǎng)絡(luò),如Spacewire等,或是發(fā)展IEEE 1588主從同步技術(shù)。隨著TTE網(wǎng)絡(luò)的應(yīng)用潛力得以體現(xiàn),國內(nèi)相關(guān)院校和研究所結(jié)合航空電子的背景已經(jīng)開展了相應(yīng)的技術(shù)研究工作[10]。
SAE AS6802標準并不重新定義標準IEEE802.3標準以太網(wǎng)或AFDX等專用以太網(wǎng),僅在以太網(wǎng)協(xié)議基礎(chǔ)上規(guī)定可用于時間觸發(fā)通信和分區(qū)管理的故障冗余同步協(xié)議。通過鏈路層的改造,增強以太網(wǎng)服務(wù)的時間確定性,提供一種能夠以固定的端到端延遲和微秒級時延抖動進行確定性消息傳遞的服務(wù),以及具有靈活性的時分多路復(fù)用的帶寬劃分[4]。
如圖1,以太網(wǎng)帶寬之上的灰色部分對應(yīng)著鏈路層改造的內(nèi)容,而TTE網(wǎng)絡(luò)還能保留部分事件觸發(fā)的異步通信,例如圖1中的速率約束流量和盡力傳流量。
SAE AS6802標準對于分布式同步協(xié)議的規(guī)定特別關(guān)注于系統(tǒng)的完整性、分布式時鐘同步依賴于透明時鐘機制、具有容錯能力的分布式算法,以及系統(tǒng)的啟動和重啟動的協(xié)議狀態(tài)機,并根據(jù)應(yīng)用的需要分別給出高完整性和標準完整性的配置說明。
圖1 TTE網(wǎng)絡(luò)的帶寬劃分示意圖
SAE AS6802標準的第1章到第11章的內(nèi)容分別為:
第1章 范圍。概述該標準的目的、應(yīng)用和結(jié)構(gòu)。
第2章可用文檔。該標準可引用和參考的文檔。
第3章 時間觸發(fā)以太網(wǎng)概述。概述了TTE網(wǎng)絡(luò)對不同時序需求流量、透明同步、可擴展故障容忍、同步域和同步優(yōu)先級的支持。
第4章 同步協(xié)議控制流。說明TTE同步操作所支持的拓撲,以及故障容忍同步方法。
第5章 消息固化功能。包含透明時鐘演算和固化演算在內(nèi)的消息固化功能。
第6章 壓縮功能。對于不同場景下壓縮功能不同階段操作和演算的討論,以及對PCF域改寫的定義和其他參數(shù)的范圍規(guī)定。
第7章 時鐘同步服務(wù)。包括在SM/SC和CM上的時鐘同步的描述,以及對于壓縮后PCF幀派發(fā)的規(guī)定。
第8章 結(jié)團檢測和解除服務(wù)。包含同步、異步和相對結(jié)團檢測功能的描述。
第9章 啟動和重啟動服務(wù)。先說明協(xié)議狀態(tài)機的格式,隨后定義SM、SC、CM(含高完整性和標準完整性)的協(xié)議狀態(tài)機的定義。
第10章 系統(tǒng)之系統(tǒng)同步。說明TTE網(wǎng)絡(luò)的高級同步/網(wǎng)絡(luò)拓撲。
第11章 同步參數(shù)概述。將TTE網(wǎng)絡(luò)中的參數(shù)分為傳輸、調(diào)度、時鐘同步、啟動和重啟動、同步優(yōu)先級、診斷各部分進行概述。
在SAE AS6802標準的第3~10章中,都有本章節(jié)的規(guī)范化描述。在附錄中,則分別說明了標準中所用的縮略語,對術(shù)語進行了定義,介紹了通過監(jiān)視等手段進行故障封閉的方法,說明了在普通以太網(wǎng)和AFDX網(wǎng)絡(luò)基礎(chǔ)上實現(xiàn)同步主控器和壓縮主控器所需規(guī)范化描述的內(nèi)容。
可以跨越交換機的精確的分布式時間同步是TTE網(wǎng)絡(luò)通信的基礎(chǔ),TTE提出同步主控器(Synchronization Master,SM),同步客戶端(Synchronization Client,SC),壓縮主控器(Compression Master,CM)3種功能組件。在TTE網(wǎng)絡(luò)中,相應(yīng)的嵌入式節(jié)點根據(jù)時鐘同步的功能擔當SM,SC或CM的角色,以下統(tǒng)稱同步節(jié)點。
同步節(jié)點需要支持格式如圖2的協(xié)議控制幀(Protocol Control Frame,PCF)。
圖2 協(xié)議控制幀的格式
其中,“同步域”用于標識可以通過傳遞PCF幀實現(xiàn)同步的節(jié)點集合;“同步優(yōu)先級”使得CM能夠區(qū)分其可接收的預(yù)設(shè)優(yōu)先級的PCF幀;由“類型”字段的枚舉值用于識別PCF的類型——冷啟動幀(CS)、冷啟動應(yīng)答幀(CA)和綜合幀(IN),前兩者用于啟動過程,后者在每一次綜合循環(huán)開始后傳輸,定期維持分布式時鐘的同步服務(wù);而“綜合循環(huán)”域的計數(shù)表示正常同步操作時的PCF所屬的綜合循環(huán)。
TTE網(wǎng)絡(luò)引進了IEEE1588v2標準中“透明時鐘”概念[11],PCF幀的“透明時鐘”字段用于儲存從發(fā)送節(jié)點到當前節(jié)點操作所經(jīng)歷的時間,當PCF幀經(jīng)過支持透明時鐘的TTE設(shè)備時,由硬件將從輸入到輸出的時間值記錄并累加到該字段,這樣,接收節(jié)點可以得到各段傳輸延遲的累加值。
SAE AS6802標準定義了復(fù)雜的協(xié)議狀態(tài)機,通過啟動或重啟動建立綜合循環(huán)。在每個綜合循環(huán)開始的時候,TTE網(wǎng)絡(luò)提供同步服務(wù),經(jīng)過如圖3所示幾個步驟完成同步。首先,多個SM在本地時鐘到達綜合循環(huán)的預(yù)設(shè)時間點,向相應(yīng)的CM發(fā)送IN類型的PCF幀;CM收到后運行固化功能,通過透明時鐘字段攜帶的傳輸延遲數(shù)值計算還原SM發(fā)送IN的真實時刻時序;然后CM對固化后的時刻運行壓縮功能,得到它們的加權(quán)均值作為時鐘修正的基準值;CM以此基準值對本地時鐘進行修正,同時向SM和SC發(fā)送壓縮后的IN幀;SM和SC以此基準值修正自己的本地時鐘。
圖3 TTE一個綜合循環(huán)內(nèi)的同步操作
在綜合循環(huán)的同步服務(wù)之后,根據(jù)離線設(shè)計的時間調(diào)度表組織節(jié)點之間的TT通信,TT通信后的剩余時間片可以用于RC通信。根據(jù)周期性通信任務(wù)的要求,若干綜合循環(huán)構(gòu)成集群循環(huán)。
固化功能和壓縮功能是時鐘同步服務(wù)的關(guān)鍵。固化功能(如圖4)在SM,SC和CM中均需實現(xiàn)。壓縮功能(如圖5)僅在CM中實現(xiàn),旨在將與之相連的SM時鐘進行加權(quán)求均值作為該CM同步域的基準時鐘。
參見圖4,接收節(jié)點并不能直接測得確切的發(fā)送時刻td,只能通過本地時鐘測得接收時刻點的值tr,但只要利用先驗設(shè)定的最大傳輸延遲Dmax和透明時鐘值記錄的PCF幀從發(fā)送端到接收端所經(jīng)歷的傳輸延遲Dt,可計算得到固化時刻點的確切值tp,即:tp=tr+Dmax-Dt。
圖4 固化功能時刻圖
圖5 壓縮功能時刻圖
壓縮功能將一組由SM發(fā)送的具有時間差的同步數(shù)據(jù)幀的固化時刻點壓縮到一個平均時刻點,即壓縮時刻點tcp。如圖5所示,CM將一組接收的PCF幀中最早的一個固化時刻tp,1作為起始點,開啟固定長度的觀察窗口,采集該組幀其余所有的固化時刻,直到最大觀察窗長度TOWM。每個固化時刻相對第一個固化時刻的時間差進行加權(quán)平均,加權(quán)平均后的結(jié)果稱為壓縮修正(Tcc),該過程計算的固定時間開銷為Tco,則:tcp=tp,1+TOWM+Tco+Tcc。以tcp為基準,CM將PCF幀發(fā)送回SM,SM仍使用固化功能接收。
由于Dmax、Tco等參數(shù)先驗已知,往返傳輸延遲由透明時鐘可測,實質(zhì)上使得每個參與同步的節(jié)點可以依據(jù)同一個壓縮修正值Tcc調(diào)整本地時鐘。
TTE網(wǎng)絡(luò)節(jié)點本地時鐘之間的同步是系統(tǒng)時間,而不需要外部的壁鐘鐘源,也不需要搜索最優(yōu)主時鐘,失效壓力下的操作可以容忍多點故障,容忍拜占庭同步故障等。
除了時鐘同步服務(wù)本身的容錯能力,利用精確的時鐘同步,TTE網(wǎng)絡(luò)還可以實現(xiàn)故障封閉等機制,增強實時通信的完整性。
對于通信網(wǎng)絡(luò),討論失效模式總是同設(shè)備的網(wǎng)絡(luò)接口和行為有關(guān)。典型的失效模式包括:
失效—寂靜:設(shè)備失效并停止輸出。
失效—遺漏:設(shè)備將遺漏任意數(shù)目的發(fā)送/接受幀。
失效—不一致:僅對群組通信(從一個發(fā)送器向多個接收器的通信),出現(xiàn)不同接收器收到的信息正確性不一致。
失效—不一致—遺漏:“失效—不一致”和“失效—遺漏”的組合。
失效—隨意:設(shè)備不受控制的在任意時刻以任意內(nèi)容產(chǎn)生隨意的消息。
TTE被設(shè)計對抗兩種失效假設(shè):單節(jié)點失效和雙節(jié)點失效。單節(jié)點失效假設(shè)下:TTE能夠容忍端系統(tǒng)的“失效—隨意”和交換機的“失效—不一致—遺漏”。通過在交換機上實習“中央總線守衛(wèi)”功能,可以使端系統(tǒng)的“隨意”失效對系統(tǒng)表現(xiàn)為“不一致—遺漏”失效,從而達到錯誤的屏蔽。雙節(jié)點失效假設(shè)下:TTE網(wǎng)絡(luò)可以容忍兩個節(jié)點(端系統(tǒng)或交換機)的“不一致—遺漏”失效。
TTE網(wǎng)絡(luò)的時鐘同步服務(wù)的分布式算法在運行中會遇到結(jié)團(clique)問題,即:同步成員中的部分設(shè)備形成了“小集團”,在它們之間能夠維持同步,但其它設(shè)備無法參與同步。為了發(fā)現(xiàn)這個問題,結(jié)團檢測在SM和CM隨著綜合循環(huán)周期性的運行,并將和當前節(jié)點處于同步和不處于同步的節(jié)點通過“本地同步成員列表”和“本地異步成員列表”分別進行記錄。
在通信設(shè)施啟動后,SM與CM通過冷啟動幀(CS)與冷啟動應(yīng)答幀(CA)的通信,進行“容錯握手”。其過程同綜合幀(IN)的方式相同,但是CM將不進行固化和壓縮,而只是附加延遲并送回CA。通過“容錯握手”,各個設(shè)備進入到協(xié)議狀態(tài)機中同步操作的初始化狀態(tài)并開始同步。
重啟動用來解決結(jié)團問題。在結(jié)團檢測每個綜合循環(huán)中,同步節(jié)點判定“本地同步成員列表”的值小于“本地異步成員列表”,則說明形成結(jié)團,這時需要進行重啟動,使各個設(shè)備進入到協(xié)議狀態(tài)機中同步操作的初始化狀態(tài),并重新開始同步。
TTE網(wǎng)絡(luò)對于CM和SM設(shè)定面對“不一致—遺漏”失效模式的應(yīng)對策略,不僅可以使得SM容忍任何單點失效,而且在多點故障發(fā)送時CM和SM可以對“不一致—遺漏”失效有故障封閉能力。故障封閉機制被分為“源端的故障封閉”,以及對于TT和RC流量的“遠程實例端的故障封閉”。
對于以高完整性為設(shè)計要求的組件,具有“指令器/監(jiān)視器(COM/MON)對”的結(jié)構(gòu),滿足幾個核心COM/MON假設(shè),構(gòu)成高完整性設(shè)計,如圖 6所示。也可以采用其他手段,如附加的診斷機制進行檢測,以應(yīng)對高完整性設(shè)計中假設(shè)組件發(fā)生不一致遺漏失效的情況。
本文介紹了時間觸發(fā)以太網(wǎng)技術(shù)的發(fā)展及其標準化進展,說明了SAE AS6802 時間觸發(fā)以太網(wǎng)標準的范圍,重點分析了TTE網(wǎng)絡(luò)分布式時鐘同步方法與機制,討論其容錯要求及方法。通過對相應(yīng)標準的協(xié)議分析和技術(shù)發(fā)展調(diào)研,說明TTE網(wǎng)絡(luò)可以實現(xiàn)遠程任務(wù)之間同步處理的時間確定性,支持分布式綜合模塊化航空電子體系結(jié)構(gòu),而相應(yīng)網(wǎng)絡(luò)協(xié)議的標準化工作對于航空工業(yè)這樣有著高科技、高投入、高產(chǎn)出、高風險的行業(yè)發(fā)展有著至關(guān)重要的作用。
圖6 成對的COM/MON構(gòu)成高完整性設(shè)計
通過充分理解SAE AS6802標準的內(nèi)容,理清我國實現(xiàn)時間觸發(fā)以太網(wǎng)的技術(shù)條件,在弄清原理的基礎(chǔ)上縮小技術(shù)差距;同時應(yīng)該與國外相關(guān)標準化組織或產(chǎn)業(yè)聯(lián)盟交流,促進標準化工作的國際合作。
在未來20年,我國大中型民用飛機的需求量將超過4000架,我國未來雙通道C929飛機的航電系統(tǒng)將瞄準新型體系結(jié)構(gòu)和更深層次的綜合,時間觸發(fā)網(wǎng)絡(luò)技術(shù)及其配套的標準化研究工作將有望為我國大飛機的發(fā)展提供有利的幫助。
[1]熊華鋼,王中華.先進綜合航空電子技術(shù)[M].北京:國防工業(yè)出版社,2009.1.
[2]熊華鋼,李峭,黃永葵.航空電子全雙工交換式以太網(wǎng)標準研究[J].航空標準化與質(zhì)量,2008.2.
[3]熊華鋼,李峭,黃永葵.航空電子全雙工交換式以太網(wǎng)標準研究(續(xù))[J].航空標準化與 質(zhì)量,2008.4.
[4]SAE AS6802.Time-Triggered Ethernet[S].SAE Aerospace Standard,2011.11.
[5]Koptez H.Real-time systems--Design Principles for Distributed Embedded Applications,2nd ed.[M].Springer,2011.
[6]SAE AS6003.TTP Communication Protocol[S].SAE Aerospace Standard,2011.2.
[7]Steinhammer K.A TT-Ethernet Switch based on COTS-Components[R].Vienna Univ.of Tech.,2004.5.
[8]Steinhammer K,Ademaj Astrit.Hardware Implementation on the Time-Triggered Ethernet Controller[C].IFIP v.231,Embedded System Design Topics,Tech.and Trends,pp.325-338,2007.
[9]Fuchsen R.IMA NextGen:ANew Technology for the SCARLETT Program[J].IEEE Aerospace&Electronics Systems Magazine,25(10),2010,10.
[10]劉晚春,李峭,何鋒,熊華鋼.時間觸發(fā)以太網(wǎng)同步及調(diào)度機制的研究[J].航空計算技術(shù),2011.7.
[11]IEEE 1588-2008.IEEE Standard for a Precision Clock synchronization Protocol for Networked Measurement and Control Systems[S].