徐輝
(海裝駐南昌地區軍事代表室 ,江西 南昌,330024)
航電系統的發展經歷了獨立式、聯合式、綜合式和先進綜合式4個階段的演變,高性能的航電系統已成為提高飛機綜合性能的關鍵因素。作為綜合航電系統的中樞神經——數據總線及其控制器,直接決定了航電系統的可靠性,并影響飛行器的正常工作和作戰效能。如何保證航電系統在各種環境下安全可靠地運行,保證在出現故障的情況下仍能正常完成航電系統的全部功能或部分功能,在設計之初就必須考慮容錯與余度問題。
航空電子全雙工交換式以太網(AFDX)[1]是一種實時、確定的全雙工交換式網絡,近年來在綜合模塊化航電(IMA,integrated modular avionics)系統中得以運用,其特征和優勢已經在眾多飛機上得到充分展現和發揮。針對綜合航電系統可能出現軟硬件故障的問題,本文提出了基于AFDX的綜合航電系統余度技術,當系統由于元器件失效、異常輸入和環境影響等因素產生異常行為時,通過系統容錯的方法維持系統數據傳輸和總線控制器正常工作,目的在于提高航電系統任務可靠性。本文重點介紹基于AFDX的綜合模塊化航電系統數據傳輸及控制器的余度設計方法。
容錯技術是指當系統在運行時有錯誤被激活的情況下仍能保證不間斷提供服務的方法和技術[2],其理論的提出最早始于20世紀50年代。1956年,Von Neumann首先提出用低可靠性的器件以余度設計方式來構造高可靠性系統[3]。近年來,隨著電子技術和計算機技術的發展,對容錯技術的研究更加廣泛與深入,機載嵌入式系統的容錯重構技術需求已經從重要的飛控系統,擴展到新一代航空電子系統,從硬件容錯向軟件容錯和軟硬件結合的系統容錯方式轉移[4]。
航電系統的余度設計中,控制器是重點關注的對象,控制器在航電系統中承擔大量的飛行任務執行、控制以及全網絡的數據傳輸調度等工作,控制器一旦失效,則會對整個飛行任務造成不可估量的損失,所以系統大多會將關鍵的控制器設計成雙備份,以提高整個系統的可靠性[5]。針對控制器的容錯,目前進行了很多研究工作,文獻[5]介紹了1553B總線主控制器和備份控制器的自動切換任務,圍繞此任務重點介紹了在系統啟動時如何確定主備控制器、故障檢測任務和狀態監控任務;文獻[6]分析了在通用服務器架構下實現雙機備份的兩種方案,然后根據嵌入式系統的特點,提出了一種基于分布式存儲方式的嵌入式系統的雙機備份設計方案;文獻[7]討論了各種雙機冗余備份方案的特點,介紹了一種高可靠性雙機熱備份的嵌入式計算機設計方案,提高了整個嵌入式系統的可靠性。
AFDX網絡由端系統(ES)、交換機和物理鏈路組成。端系統宿主在機載計算機上,完成機載計算機與AFDX網絡的數據交換功能,一個端系統可以支持一個機載計算機,也可以支持一個機載計算機的若干個分區,形成綜合模塊化結構的航空電子系統(IMA)[8];交換機實現各端系統的數據交換與過濾功能;端系統之間通過邏輯上的虛擬鏈路(VL)來進行通信。本文的網絡構型設計如圖1所示。

圖1 AFDX網絡數據傳輸冗余設計
圖1 的網絡采用雙余度構型設計,兩個交換機形成兩個獨立的網絡,端系統之間的通信覆蓋在兩個網絡上,這樣,對于任何的(單件的)網絡組件的失效,例如:一段鏈路或一臺交換機的失效,數據流可以得到保護。這樣的效果是保護兩個端系統之間的通信,抵御全網絡范圍內的組件失效。
具體的冗余實現方案是以每條虛擬鏈路為基礎的。一個發送端系統和一個接受端系統通過一個特定的虛擬鏈路以如下的方式通信:一個使用發送端系統的分區準備好一些數據并使它通過通信協議棧。這時一個順序號(SequenceNumber)被加入到每個幀,并且該順序號在前后連續的兩個幀中是遞增的。順序號的加入使接收功能部件能夠在將幀傳送到接收分區之前重新構造出一條單一的、有次序的幀流,而不包含冗余復制的幀。每個幀同時通過圖1中的兩個網絡。在接收的時候,算法采用 “先到有效者勝出(First Valid Wins)”的策略,保證從其中一個網絡中得到帶有有效順序號的第一個幀將被接收,但帶有這個順序號的第二個幀被收到時,它將被簡單地丟棄[7]。
圖1中的兩個端系統承擔系統控制器的角色,連接在兩個網絡上,作為航電系統的數據處理、顯示控制的中心。其中一個作為主控制器,另一個作為備份控制器。考慮到航電系統的實時性要求,在實時系統中備份必須采用熱備份,即兩臺控制器任一臺均可成為主控制器或備份控制器,兩者運行的軟件完全一致。基于AFDX的主備份控制器的設計包含兩個關鍵技術方法:網絡配置和控制器切換。
AFDX網絡通過虛擬鏈路(VL)進行端系統之間消息幀的互換。在網絡中任意一個VL都只有唯一的一個源端系統。虛擬鏈路定義了一個邏輯上的單向連接,從一個源到一個或多個目的端系統。因此,兩個控制器發出的控制消息(即使是完全同樣的內容)必須經過不同的虛擬鏈路發送至目的端系統,如表1所示。考慮系統中控制器需要向端系統n發送兩條消息的情況,在進行網絡配置時,需要配置兩份同樣的消息內容,分別對應A套與B套消息編號及虛擬鏈路,A套從控制器1發出,B套從控制器2發出。

表1 控制器發出消息網絡配置示例
同時,考慮熱備份數據的備份與恢復需要,采取實時備份的方式,即在系統正常運行的情況下將數據進行實時保存處理。在網絡配置時,應將其他端系統狀態數據同時發送至兩個控制器,依據虛擬鏈路的特性,允許從一個源到多個目的端系統,在AFDX網絡中完全可以實現,如表2所示。考慮系統中端系統n需要向控制器發送兩條消息的情況,在進行網絡配置時,將兩條消息的目的配置為控制器1和控制器2。

表2 控制器接收消息網絡配置示例
系統啟動并完成硬件、軟件的初始化和數據準備后,嚴格規定主控制器和備份控制器的啟動順序,即通過地址識別出主、備份控制器后,在軟件分區初始化前將備份控制器延時T0秒啟動。
為了確保網絡中只有一臺控制器在承擔控制的任務,系統啟動后主控制器通過A套虛擬鏈路向各端系統發送控制消息;備份控制器不向端系統發送數據,只接收其他端系統的數據。同時備用控制器監控主控制器的工作狀態,接收一條特定的消息即主控制器的消息,根據具體網絡的特性和傳輸周期,如果超過T1時間沒有收到消息,則認為主控制器下線或故障,備份控制器成為新的主控制器,軟件控制啟動B套虛擬鏈路向各端系統發送控制消息 (此時A套虛擬鏈路自動被屏蔽發送),從而完成主、備份控制器的自動切換。
本文基于AFDX實時、安全的總線數據網絡,進行了航電系統的數據傳輸和控制器的余度設計,提出了在總線網絡配置中靜態分配虛擬鏈路的方法實現控制器的消息備份,通過軟硬件系統考慮,實現主、備份控制器的自動切換,提高了航電系統的可靠性。