程俊強 林堅
摘要:Mil-1394b是在COTS技術(shù)IEEE 1394b的基礎(chǔ)上進行相應的擴展和約束來進行增強,以達到滿足安全關(guān)鍵/任務關(guān)鍵系統(tǒng)所需的魯棒性和確定性。Mil-1394b總線采用SAE AS5643標準,其全稱為用于軍事和飛行器應用的1394b總線接口需求,目的是標準化Mil-1394b在軍事和飛行器中的安全關(guān)鍵/任務關(guān)鍵應用中的方法途徑。提高了總線的可靠性和確定性,使Mil-1394b總線相比IEEE 1394b總線更適合作為安全關(guān)鍵的航空總線等高可靠場合的應用。Mil-1394b總線在美F-35戰(zhàn)機、X-45、X-47無人機等飛行器管理系統(tǒng)已經(jīng)相繼得到使用,而在我國Mil-1394b總線作為飛行器管理系統(tǒng)總線的應用仍處于起步階段,該文擬就Mil-1394b總線在飛行器管理系統(tǒng)中的典型應用進行分析。
關(guān)鍵詞: Mil-1394b總線;飛行器管理系統(tǒng);容錯
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)27-6504-05
Abstract: Mil-1394b is a corresponding expansion and constraint based on COTS technology IEEE 1394b to enhance the robustness and uncertainty, to meet the safety critical / mission critical system required. The Mil-1394b bus with SAE AS5643 standard, whose full name is used for 1394b bus interface and application requirements of military aircraft, the purpose is for safety critical / standardization of Mil-1394b in military and aircraft method for mission critical applications in the way. To improve the reliability and certainty of the bus, the Mil-1394b bus IEEE compared with 1394b bus is more suitable for the application as a safety critical avionics bus high reliability occasions. Mil-1394b bus in F-35, X-45, X-47 beauty aircraft unmanned aerial vehicle management system has been used, while in China the Mil-1394b bus as the application of vehicle management system bus is still at the starting stage, this paper intends to analyze the typical application of Mil-1394b bus in vehicle management system.
Key words: Mil-1394b bus; vehicle management system; fault tolerance
1987年Apple公司發(fā)布的一個高速、實時的串行總線標準,稱之為FireWire(火線),也就是后來的IEEE 1394總線。IEEE 1394總線是一種與平臺無關(guān)的串行通信協(xié)議。1995年的IEEE Std 1394-1995是第一個IEEE 1394標準的正式版本,其數(shù)據(jù)傳輸率分別為100/200/400Mbps(即S100/ S200/ S400) ,2000年發(fā)布了IEEE Std 1394a-2000標準又進一步對IEEE 1394總線的控制性能和可操作性進行了改進。2002年4月2日,IEEE標準協(xié)會( IEEE2SA) 在美國新澤西正式通過了高性能IEEE 1394b串行總線標準。IEEE Std 1394b總線物理拓撲支持環(huán)形結(jié)構(gòu),總線邏輯拓撲可構(gòu)成樹形或菊花鏈結(jié)構(gòu)[1]。由于物理上可實現(xiàn)環(huán)形網(wǎng)絡,因此總線自身具備“一次故障工作”的容錯特性,IEEE 1394b總線的125μs等時循環(huán)傳輸功能適用于控制系統(tǒng)的實時性需求,而且IEEE 1394b總線節(jié)點間采用端間轉(zhuǎn)發(fā)連接方式可對故障端口或節(jié)點實施隔離,有效抑制故障漫延,加上其物理層、鏈路層等的相關(guān)的確定特性和容錯特性[2]使得IEEE 1394b總線應用到在安全關(guān)鍵系統(tǒng)上稱為可能,而且IEEE 1394b總線作為商用貨架產(chǎn)品(COTS),成本較低,容易購買,技術(shù)成熟,性能較高是其主要特點。但IEEE 1394b總線是為商用電子系統(tǒng)應用開發(fā),其諸多的動態(tài)特性,并不適合安全關(guān)鍵的綜合化飛行器管理應用不能提供安全關(guān)鍵系統(tǒng)(例如航空)應用所需的魯棒性和確定性。
2004年由洛克希德馬丁公司領(lǐng)導的SAE AS1A3 Mil-1394b任務組正式發(fā)布了該工業(yè)標準即SAE AS5643標準。SAE AS5643利用商用貨架產(chǎn)品IEEE 1394B總線來創(chuàng)建一個高速、確定的實時數(shù)據(jù)網(wǎng)絡。IEEE1394總線提供的必要的功能和架構(gòu),洛克希德馬丁公司的JSF項目組是Mil-1394b總線在飛行器上的第一個重大應用,后續(xù)在美F-35戰(zhàn)機、X-45、X-47無人機內(nèi)已經(jīng)得到使用。
在X47-B無人作戰(zhàn)飛機內(nèi)機載系統(tǒng)包括有VMC(vehicle management computers飛行器管理計算機)、EIU(Engine interface unit發(fā)動機接口單元)、ETA(Engine throttle actuators發(fā)動機節(jié)流閥控制器)、LGS(Land gear system起落架系統(tǒng))、EPGS(Electrical power generation system電源系統(tǒng))、HVDUS(High Voltage Distribution Units高壓分配單元)、MMC(Mission management computers任務管理計算機)、GBDLC(Ground-based data link computer近地數(shù)據(jù)鏈計算機)、RIO(Remote input/output units遠程輸入/輸出單元)。
X47-B無人作戰(zhàn)飛機內(nèi)的VMC計算機是機載電子設備系統(tǒng)的心臟,采用三余度體系結(jié)構(gòu),主控所有航空電子設備,實現(xiàn)飛行控制功能和設備公共管理功能(包括燃油測量與管理fuel measurement and management、指引guidance、導航navigation、飛行控制、以及其他有人機上飛行員執(zhí)行的系統(tǒng)功能)。飛行器管理計算機采用Mil-1394b總線實現(xiàn)同9臺RIO設備之間的互聯(lián),這種分布式的系統(tǒng)互聯(lián)結(jié)構(gòu)將是下一代有人及無人作戰(zhàn)飛行器的標準。
1 網(wǎng)絡結(jié)構(gòu)
圖1右圖所示為SAE AS5643提供的使用一個控制計算機物理上形成閉環(huán)的網(wǎng)絡結(jié)構(gòu),IEEE1394及IEEE1394b均不支持邏輯上的閉環(huán)結(jié)構(gòu),IEEE1394b總線的網(wǎng)絡拓撲結(jié)構(gòu)是菊花鏈型的實質(zhì)上其仍是一種樹狀結(jié)構(gòu)的,這也就是其本身不具備容錯性的原因[4]。但是IEEE1394b允許物理上使用閉環(huán),相應的,基于IEEE 1394b的SAE AS5643也具備該特性,在總線配置開始,環(huán)路偵測功能會檢測到環(huán)路并斷開環(huán)路,分別在port1和port2形成兩條樹結(jié)構(gòu)。
在任一個節(jié)點出現(xiàn)故障時,總線會重新配置,啟動原冗余鏈路,將故障節(jié)點作為樹的端節(jié)點,其他節(jié)點位于數(shù)據(jù)網(wǎng)絡中通訊正常。這樣的結(jié)構(gòu)特點提供的數(shù)據(jù)網(wǎng)絡的第一級的冗余能力。
在總線網(wǎng)絡配置過程中,也可以人為禁止port2端口,去掉該閉環(huán),在某節(jié)點出現(xiàn)故障時,再啟用該端口,對網(wǎng)絡重新配置。
三個控制計算機之間有交叉通道鏈路(cross-channel linked),提供另一級的冗余。SAE AS5643并沒有規(guī)定交叉通道鏈路的總線類型,交叉通道鏈路可以是其他的總線,也可以是另一條1394總線。
2 確定性機制
為JSF所設計的SAE AS5643 Mil-1394b提高了IEEE 1394b網(wǎng)絡的確定性,主要的增強特性如下[6]:
預配置網(wǎng)絡拓撲(Pre-configured network topology):網(wǎng)絡拓撲由應用的需求進行配置,并且在整個飛機的生命周期內(nèi)盡可能保持不變。
強制根節(jié)點(Forced root nodes):在預配置的網(wǎng)絡拓撲中,根節(jié)點指定到控制計算機,不允許更改。
使用異步流(Use of Asynchronous Streams):大部分網(wǎng)絡通訊使用異步流(異步流由IEEE1394a定義,一個異步流包是一個同步包,以公平間隔或異步時間幀發(fā)送。數(shù)據(jù)發(fā)送按照異步仲裁規(guī)則進行;然而接收節(jié)點不做響應的返回)。異步和等時交易不是必須的,但可以使用。使用異步包的例子將允許測試設備從配置ROM中讀取數(shù)據(jù),使用同步交易的例子可用于視頻或音頻流。
通過幀開始包進行同步(Synchronization Via Start of Frame Packets):一個STOF包由CC在每條總線上以周期幀速率(100Hz)發(fā)送,這個包通知總線上所有的節(jié)點一個新的幀的開始。
通道數(shù)量靜態(tài)分配(Static Assignment of Channel Numbers):由于在現(xiàn)實中,異步流包是同步包,包的目的地由通道號指示。不像標準的1394,目的地節(jié)點的通道數(shù)不是由同步資源管理器IRM分配,而是總線上每個節(jié)點的通道數(shù)是預分配的,由應用確定不同,作為結(jié)構(gòu)需求被定義。
帶寬預分配(Pre-Assignment of Bandwidth):IRM的減少要求帶寬的預分配,每個節(jié)點的發(fā)送和接收時間作為偏移量分配,最小單位為1ms,從每個幀的開始(STOF包)??偩€上每個節(jié)點的偏移由應用規(guī)定,作為結(jié)構(gòu)需求被定義。
TDMA類型的包傳輸(TDMA-style packet transmission):控制計算機每隔12.5ms(80Hz)發(fā)送STOF包,并為每個通道發(fā)送偏移信息,遠端的網(wǎng)絡節(jié)點只需要監(jiān)聽就能獲得同步信息,以避免遠端節(jié)點失去同步。
3 系統(tǒng)完整性和容錯機制
SAE Mil-1394b相對于IEEE 1394b在系統(tǒng)完整性和容錯能力方面進行了增強。
故障抑制增強(Enhanced Fault- Containment):
縱向奇偶檢測(Vertical Parity Check):除了1394物理層完成的CRC校驗外,每個包的數(shù)據(jù)區(qū)增加了縱向奇偶檢查(VPC),VPC用于在物理層和軟件之間提供附加的數(shù)據(jù)完整性信息處理。
健康狀態(tài)字(Health status word):32位的健康狀態(tài)字位于數(shù)據(jù)包有效載荷的word0,包含下列內(nèi)容:包錯誤,子系統(tǒng)錯誤,節(jié)點錯誤,STOF偏移應答,節(jié)點的端口狀態(tài)(已連接,接收OK,beta模式,端口速率等)。
心跳字(Heartbeat):32位的心跳字位于數(shù)據(jù)包有效載荷的word1,設置心跳字的是為了使控制計算機上的應用程序產(chǎn)生新的數(shù)據(jù),心跳字必須由軟件產(chǎn)生,而不是由固定的計時器產(chǎn)生。
控制計算機狀態(tài)字(CC status word):32位的控制計算機狀態(tài)字位于STOF包有效載荷的word1,記錄每個網(wǎng)絡中CC的故障狀態(tài)。
數(shù)據(jù)傳輸完整性檢測(Data transmission integrity detection):控制計算機監(jiān)控來自遠端節(jié)點的輸入,已確認總線活動是否正常,產(chǎn)生消息的遠端節(jié)點操作是否正確。主要包括:STOF包的發(fā)送定時間隔是否正常,STOF包是否有效,STOF包所指示控制計算機狀態(tài)是否正常,數(shù)據(jù)有效性指示控制計算機狀態(tài)是否正確,操作是否有效。
控制計算機的故障檢測(CC failure detection):遠端節(jié)點監(jiān)控控制計算機來自的輸入(包括STOF包),已確認總線活動是否正常,產(chǎn)生消息的控制計算機軟件操作是否正確。主要包括:心跳字的值是否在遞增,數(shù)據(jù)有效性指示(例如VPC)是否正確,1394CRC是否正確。
故障隔離和恢復增強。
交叉通道互聯(lián):三個控制計算機節(jié)點通過其它的數(shù)據(jù)總線或另外一條1394總線互聯(lián),同時處理數(shù)據(jù),并通過交叉通道互聯(lián)傳輸比較數(shù)據(jù),以保證數(shù)據(jù)的完整性。
端口禁止與使能:節(jié)點可以對每個端口單獨進行禁止和使能。該特性允許總線上的節(jié)點禁止連接到故障節(jié)點的端口,也可以啟用備用(冗余)連接的端口以旁路故障節(jié)點。
物理層可以由電纜進行供電:可以允許鏈路層和主處理器下電而不會影響物理層轉(zhuǎn)發(fā)數(shù)據(jù),該特性可以用于故障恢復過程中,隔離故障處理器。
系統(tǒng)級冗余提供的故障保護。
閉環(huán)斷開能力提供第一級冗余:SAE Mil-1394b的物理層基于IEEE-1394b-2002的信號標準,在總線初始化過程中,可以檢測到環(huán)并斷開環(huán)。物理上提供一個環(huán)連接,相當于增加一條冗余路徑,當有節(jié)點故障時,啟動原冗余鏈路,將故障節(jié)點作為樹的端節(jié)點,其他節(jié)點位于數(shù)據(jù)網(wǎng)絡中通訊正常。
三余度系統(tǒng)冗余:三個已互聯(lián)的控制計算機提供了一個三余度的1394b網(wǎng)絡,每個控制計算機都連接有三條1394b總線,每條總線都有三條物理端口。
4 時間特性分析
盡管Mil-1394b在確定性和實時性方面做了很多工作,但其作為IEEE 1394b的上層協(xié)議,其總線初始化和配置時間沒有變化,最大約為477ms,大部分情況下,477ms的初始時間并不會帶來影響,但在某些緊急情況下,比如飛機管理系統(tǒng)發(fā)生空中掉電再上電時,就飛控功能來說,每一ms都至關(guān)生死,更不要說477ms了,此時從Mil-1394b總線上已經(jīng)找不到辦法,需通過其他途徑彌補,例如設計智能作動器控制器,使其實現(xiàn)部分控制律功能,對飛機姿態(tài)進行簡單控制,確保安全;或者采用其他可快速啟動的備用總線,作為緊急情況下的安全備份。
在控制計算機進入周期控制任務后,Mil-1394b總線操作需要控制計算機在幀開始發(fā)出幀起始包(STOF),各個遠端節(jié)點按照各自STOF后的偏移量進行總線操作,如圖4所示。
圖中主要定義了STOF及相對STOF的發(fā)送偏移和接收偏移,STOF間隔等于周期任務的幀周期,在幀周期內(nèi)部通過發(fā)送偏移和接收偏移將幀時間劃分為若干小的時間窗口,每一個時間窗口對應一個通道號,通道號及其對應的發(fā)送偏移或接收偏移均存儲在總線配置表中,每一個總線節(jié)點預定義通道號,并將配置表存儲在本地,通過查詢配置表得到自身的發(fā)送偏移或接收偏移。
5 容錯特性分析
本節(jié)主要分析基于Mil-1394b總線的VMC結(jié)構(gòu)的容錯特性,為便于分析,構(gòu)建簡化的飛行器管理系統(tǒng)總線構(gòu)型,系統(tǒng)采用3余度構(gòu)型,同步工作方式,采用分布式IO(RIO)。
5.1 Layer1容錯
1394b總線固有的錯誤檢測和錯誤定位能力,主要包括以下幾個方面:
1) 總線上所傳遞數(shù)據(jù)包的包頭和數(shù)據(jù)塊均有CRC校驗;2) 總線應答包包含錯誤代碼;3) 總線應答包含奇偶校驗;4) 總線響應包包含錯誤代碼;5) 可規(guī)定總線傳輸響應或應答的超時條件;6) 端口可禁止/使能,總線協(xié)議中提供了“端口禁止”功能,即當物理層的某一個端口被禁止時,則該端口不再產(chǎn)生和檢測線纜上的信號[7]。
5.2 Layer2容錯
SAE AS5643作為IEEE 1394b總線的增強集,主要提供了以下新的特性:
1) 固定幀速率:通過固定幀速率用于網(wǎng)絡的同步。通過幀開始包進行同步,這個包通知總線上所有的節(jié)點一個新的幀的開始;
2) 通道數(shù)量靜態(tài)分配:目的地節(jié)點的通道數(shù)不是由同步資源管理器IRM分配,而是總線上每個節(jié)點的通道數(shù)是預分配的,由應用確定不同,作為結(jié)構(gòu)需求被定義;
3) 帶寬預分配:IRM的減少要求帶寬的預分配,每個節(jié)點的發(fā)送和接收時間作為偏移量分配,最小單位為1ms,從每個幀的開始(STOF包)。總線上每個節(jié)點的偏移由應用規(guī)定,作為結(jié)構(gòu)需求被定義;
4) 縱向奇偶檢測:除了1394物理層完成的CRC校驗外,每個包的數(shù)據(jù)區(qū)增加了縱向奇偶檢查(VPC),VPC用于在物理層和軟件之間提供附加的數(shù)據(jù)完整性信息處理;
5) 匿名用戶消息ASM:ASM是一個上層協(xié)議,裁剪后在處理器、傳感器、儀器儀表、顯示器等任務關(guān)鍵的應用間,用于確定性、安全、低延遲通訊。ASM計劃獨立于低層次協(xié)議,同樣地,不采用1394頭標ASM的專用信息它使用信息標識符ID從物理地址方面降低網(wǎng)絡通訊量,使得應用軟件可以在不了解網(wǎng)絡拓撲的情況下完成通訊。
5.3 Layer3容錯
VMC設計中增加部分上層協(xié)議,以更好的對總線故障進行檢測和定位,主要目的是避免故障蔓延。建議的附加上層協(xié)議如下:
1) 增加總線配置表的版本檢查,以確保各個總線節(jié)點的配置表版本相同,檢查方法可通過單向檢查和雙向檢查,對故障節(jié)點進行禁止端口等操作,確保不會出現(xiàn)因總線配置表版本錯誤導致的總線操作沖突。
2) 增加總線連接管理功能,在STOF包增加端口使能/禁止命令字,根據(jù)總線拓撲,命令與故障節(jié)點相連的總線節(jié)點端口禁止,已達到將故障節(jié)點從總線斷開,較少故障蔓延。
3) 鏈路層故障靜默,在鏈路層檢測到故障,但故障類型為未知,并且故障次數(shù)達到規(guī)定次數(shù),鏈路層將不再對任何服務作出響應,以減少故障蔓延。
4) 增加總線活動看門狗,將總線活動作為看門狗的輸入,看門狗的輸出為禁止/使能1394b鏈路層,使鏈路層進入故障靜默狀態(tài)。
5) 增加冗余路徑,如圖6所示,每條1394總線均增加了一條冗余路徑,在某一總線節(jié)點故障時,通過啟用冗余路徑,保證總線的完整性,確保數(shù)據(jù)對所有非故障節(jié)點可達。
5.4 Layer4容錯
VMC為3余度系統(tǒng),系統(tǒng)總線為3條Mil-1394b總線,3條總線間各自獨立,不存在故障蔓延。VMC系統(tǒng)的冗余特性保證了1394b總線的冗余度,從系統(tǒng)結(jié)構(gòu)上保證了系統(tǒng)級1394b總線的可靠性。
5.5 系統(tǒng)總線降級過程
6 結(jié)束語
Mil-1394b是在COTS產(chǎn)品IEEE Std 1394b的基礎(chǔ)上進行相應的擴展和約束來進行增強,以達到滿足安全關(guān)鍵/任務關(guān)鍵系統(tǒng)所需的魯棒性和確定性。該文介紹了Mil-1394b總線的特性,并就其在飛機管理系統(tǒng)的應用了對確定性、完整性和容錯特性等進行了分析,對飛機管理系統(tǒng)的總線選型和使用有一定的參考作用。
參考文獻:
[1] IEEE Computer Society.IEEE standard for a high-performance serial bus amendment[S].USA:IEEE Computer Society,2002.
[2] 周慶瑞,孔輝先.IEEE1394總線容錯性研究[J].空間科學學報,2009,29(1):107-111.
[3] Society of Automotive Engineers. IEEE 1394b interface requirements for military and aerospace vehicle applications[S].USA:SAE,2004.
[4] Potter.B.open source firewall alternatives[J].Network secyrity,2006,18(6):16-17.
[5] 王曉梅.基于AS5463協(xié)議的飛行管理仿真系統(tǒng)的設計[J].現(xiàn)代電子技術(shù),2013,36(2):71-74.
[6] BAI Haowei.Analysis of a SAE AS5643 Mil-1394b basedhigh-speed avionics network architecture for space and defense application[C]. Proceedings of 2007 IEEE AerospaceConference.Minneapolis,USA:Honeywell Labs,2007:1-9.
[7] 白文君,翟正軍.一種IEEE 1394B網(wǎng)絡拓撲的容錯設計[J].計算機測量與控制,2013,21(7): 1882-1884.