徐輝
(海裝駐南昌地區(qū)軍事代表室 ,江西 南昌,330024)
航電系統(tǒng)的發(fā)展經(jīng)歷了獨立式、聯(lián)合式、綜合式和先進(jìn)綜合式4個階段的演變,高性能的航電系統(tǒng)已成為提高飛機(jī)綜合性能的關(guān)鍵因素。作為綜合航電系統(tǒng)的中樞神經(jīng)——數(shù)據(jù)總線及其控制器,直接決定了航電系統(tǒng)的可靠性,并影響飛行器的正常工作和作戰(zhàn)效能。如何保證航電系統(tǒng)在各種環(huán)境下安全可靠地運行,保證在出現(xiàn)故障的情況下仍能正常完成航電系統(tǒng)的全部功能或部分功能,在設(shè)計之初就必須考慮容錯與余度問題。
航空電子全雙工交換式以太網(wǎng)(AFDX)[1]是一種實時、確定的全雙工交換式網(wǎng)絡(luò),近年來在綜合模塊化航電(IMA,integrated modular avionics)系統(tǒng)中得以運用,其特征和優(yōu)勢已經(jīng)在眾多飛機(jī)上得到充分展現(xiàn)和發(fā)揮。針對綜合航電系統(tǒng)可能出現(xiàn)軟硬件故障的問題,本文提出了基于AFDX的綜合航電系統(tǒng)余度技術(shù),當(dāng)系統(tǒng)由于元器件失效、異常輸入和環(huán)境影響等因素產(chǎn)生異常行為時,通過系統(tǒng)容錯的方法維持系統(tǒng)數(shù)據(jù)傳輸和總線控制器正常工作,目的在于提高航電系統(tǒng)任務(wù)可靠性。本文重點介紹基于AFDX的綜合模塊化航電系統(tǒng)數(shù)據(jù)傳輸及控制器的余度設(shè)計方法。
容錯技術(shù)是指當(dāng)系統(tǒng)在運行時有錯誤被激活的情況下仍能保證不間斷提供服務(wù)的方法和技術(shù)[2],其理論的提出最早始于20世紀(jì)50年代。1956年,Von Neumann首先提出用低可靠性的器件以余度設(shè)計方式來構(gòu)造高可靠性系統(tǒng)[3]。近年來,隨著電子技術(shù)和計算機(jī)技術(shù)的發(fā)展,對容錯技術(shù)的研究更加廣泛與深入,機(jī)載嵌入式系統(tǒng)的容錯重構(gòu)技術(shù)需求已經(jīng)從重要的飛控系統(tǒng),擴(kuò)展到新一代航空電子系統(tǒng),從硬件容錯向軟件容錯和軟硬件結(jié)合的系統(tǒng)容錯方式轉(zhuǎn)移[4]。
航電系統(tǒng)的余度設(shè)計中,控制器是重點關(guān)注的對象,控制器在航電系統(tǒng)中承擔(dān)大量的飛行任務(wù)執(zhí)行、控制以及全網(wǎng)絡(luò)的數(shù)據(jù)傳輸調(diào)度等工作,控制器一旦失效,則會對整個飛行任務(wù)造成不可估量的損失,所以系統(tǒng)大多會將關(guān)鍵的控制器設(shè)計成雙備份,以提高整個系統(tǒng)的可靠性[5]。針對控制器的容錯,目前進(jìn)行了很多研究工作,文獻(xiàn)[5]介紹了1553B總線主控制器和備份控制器的自動切換任務(wù),圍繞此任務(wù)重點介紹了在系統(tǒng)啟動時如何確定主備控制器、故障檢測任務(wù)和狀態(tài)監(jiān)控任務(wù);文獻(xiàn)[6]分析了在通用服務(wù)器架構(gòu)下實現(xiàn)雙機(jī)備份的兩種方案,然后根據(jù)嵌入式系統(tǒng)的特點,提出了一種基于分布式存儲方式的嵌入式系統(tǒng)的雙機(jī)備份設(shè)計方案;文獻(xiàn)[7]討論了各種雙機(jī)冗余備份方案的特點,介紹了一種高可靠性雙機(jī)熱備份的嵌入式計算機(jī)設(shè)計方案,提高了整個嵌入式系統(tǒng)的可靠性。
AFDX網(wǎng)絡(luò)由端系統(tǒng)(ES)、交換機(jī)和物理鏈路組成。端系統(tǒng)宿主在機(jī)載計算機(jī)上,完成機(jī)載計算機(jī)與AFDX網(wǎng)絡(luò)的數(shù)據(jù)交換功能,一個端系統(tǒng)可以支持一個機(jī)載計算機(jī),也可以支持一個機(jī)載計算機(jī)的若干個分區(qū),形成綜合模塊化結(jié)構(gòu)的航空電子系統(tǒng)(IMA)[8];交換機(jī)實現(xiàn)各端系統(tǒng)的數(shù)據(jù)交換與過濾功能;端系統(tǒng)之間通過邏輯上的虛擬鏈路(VL)來進(jìn)行通信。本文的網(wǎng)絡(luò)構(gòu)型設(shè)計如圖1所示。
圖1 AFDX網(wǎng)絡(luò)數(shù)據(jù)傳輸冗余設(shè)計
圖1 的網(wǎng)絡(luò)采用雙余度構(gòu)型設(shè)計,兩個交換機(jī)形成兩個獨立的網(wǎng)絡(luò),端系統(tǒng)之間的通信覆蓋在兩個網(wǎng)絡(luò)上,這樣,對于任何的(單件的)網(wǎng)絡(luò)組件的失效,例如:一段鏈路或一臺交換機(jī)的失效,數(shù)據(jù)流可以得到保護(hù)。這樣的效果是保護(hù)兩個端系統(tǒng)之間的通信,抵御全網(wǎng)絡(luò)范圍內(nèi)的組件失效。
具體的冗余實現(xiàn)方案是以每條虛擬鏈路為基礎(chǔ)的。一個發(fā)送端系統(tǒng)和一個接受端系統(tǒng)通過一個特定的虛擬鏈路以如下的方式通信:一個使用發(fā)送端系統(tǒng)的分區(qū)準(zhǔn)備好一些數(shù)據(jù)并使它通過通信協(xié)議棧。這時一個順序號(SequenceNumber)被加入到每個幀,并且該順序號在前后連續(xù)的兩個幀中是遞增的。順序號的加入使接收功能部件能夠在將幀傳送到接收分區(qū)之前重新構(gòu)造出一條單一的、有次序的幀流,而不包含冗余復(fù)制的幀。每個幀同時通過圖1中的兩個網(wǎng)絡(luò)。在接收的時候,算法采用 “先到有效者勝出(First Valid Wins)”的策略,保證從其中一個網(wǎng)絡(luò)中得到帶有有效順序號的第一個幀將被接收,但帶有這個順序號的第二個幀被收到時,它將被簡單地丟棄[7]。
圖1中的兩個端系統(tǒng)承擔(dān)系統(tǒng)控制器的角色,連接在兩個網(wǎng)絡(luò)上,作為航電系統(tǒng)的數(shù)據(jù)處理、顯示控制的中心。其中一個作為主控制器,另一個作為備份控制器??紤]到航電系統(tǒng)的實時性要求,在實時系統(tǒng)中備份必須采用熱備份,即兩臺控制器任一臺均可成為主控制器或備份控制器,兩者運行的軟件完全一致。基于AFDX的主備份控制器的設(shè)計包含兩個關(guān)鍵技術(shù)方法:網(wǎng)絡(luò)配置和控制器切換。
AFDX網(wǎng)絡(luò)通過虛擬鏈路(VL)進(jìn)行端系統(tǒng)之間消息幀的互換。在網(wǎng)絡(luò)中任意一個VL都只有唯一的一個源端系統(tǒng)。虛擬鏈路定義了一個邏輯上的單向連接,從一個源到一個或多個目的端系統(tǒng)。因此,兩個控制器發(fā)出的控制消息(即使是完全同樣的內(nèi)容)必須經(jīng)過不同的虛擬鏈路發(fā)送至目的端系統(tǒng),如表1所示??紤]系統(tǒng)中控制器需要向端系統(tǒng)n發(fā)送兩條消息的情況,在進(jìn)行網(wǎng)絡(luò)配置時,需要配置兩份同樣的消息內(nèi)容,分別對應(yīng)A套與B套消息編號及虛擬鏈路,A套從控制器1發(fā)出,B套從控制器2發(fā)出。
表1 控制器發(fā)出消息網(wǎng)絡(luò)配置示例
同時,考慮熱備份數(shù)據(jù)的備份與恢復(fù)需要,采取實時備份的方式,即在系統(tǒng)正常運行的情況下將數(shù)據(jù)進(jìn)行實時保存處理。在網(wǎng)絡(luò)配置時,應(yīng)將其他端系統(tǒng)狀態(tài)數(shù)據(jù)同時發(fā)送至兩個控制器,依據(jù)虛擬鏈路的特性,允許從一個源到多個目的端系統(tǒng),在AFDX網(wǎng)絡(luò)中完全可以實現(xiàn),如表2所示??紤]系統(tǒng)中端系統(tǒng)n需要向控制器發(fā)送兩條消息的情況,在進(jìn)行網(wǎng)絡(luò)配置時,將兩條消息的目的配置為控制器1和控制器2。
表2 控制器接收消息網(wǎng)絡(luò)配置示例
系統(tǒng)啟動并完成硬件、軟件的初始化和數(shù)據(jù)準(zhǔn)備后,嚴(yán)格規(guī)定主控制器和備份控制器的啟動順序,即通過地址識別出主、備份控制器后,在軟件分區(qū)初始化前將備份控制器延時T0秒啟動。
為了確保網(wǎng)絡(luò)中只有一臺控制器在承擔(dān)控制的任務(wù),系統(tǒng)啟動后主控制器通過A套虛擬鏈路向各端系統(tǒng)發(fā)送控制消息;備份控制器不向端系統(tǒng)發(fā)送數(shù)據(jù),只接收其他端系統(tǒng)的數(shù)據(jù)。同時備用控制器監(jiān)控主控制器的工作狀態(tài),接收一條特定的消息即主控制器的消息,根據(jù)具體網(wǎng)絡(luò)的特性和傳輸周期,如果超過T1時間沒有收到消息,則認(rèn)為主控制器下線或故障,備份控制器成為新的主控制器,軟件控制啟動B套虛擬鏈路向各端系統(tǒng)發(fā)送控制消息 (此時A套虛擬鏈路自動被屏蔽發(fā)送),從而完成主、備份控制器的自動切換。
本文基于AFDX實時、安全的總線數(shù)據(jù)網(wǎng)絡(luò),進(jìn)行了航電系統(tǒng)的數(shù)據(jù)傳輸和控制器的余度設(shè)計,提出了在總線網(wǎng)絡(luò)配置中靜態(tài)分配虛擬鏈路的方法實現(xiàn)控制器的消息備份,通過軟硬件系統(tǒng)考慮,實現(xiàn)主、備份控制器的自動切換,提高了航電系統(tǒng)的可靠性。