胡延國, 范彥銘, 齊一帆, 楊淏天
(航空工業沈陽飛機設計研究所 飛行控制部,遼寧 沈陽 110035)
飛行控制計算機是飛行控制系統的核心部件之一,其發展經歷了從簡單到復雜、從低可靠性到高可靠性、從低性能到高性能的發展過程。隨著計算機架構的更迭,不同的總線技術也隨之誕生。采用不同的總線技術,可以實現不同的計算機方案,取得的效果也不盡相同。
追求高安全高可靠性是飛控系統設計亙古不變的首要目標,隨著計算機和總線技術的發展,出現了幾種典型的計算機背板總線,例如PI、VME、ARINC659總線等,對它們進行簡要對比如表1所示。

表1 背板總線對比
由表1可以看出ARINC659總線在同步、時間確定性等方面具有出色的表現,同時,它具備的高可靠性、高完整性等特點使之在飛控計算機總線中占據優勢,并以最小的代價實現了計算機內余度通道間的交叉增強能力,取代了傳統的CPU之間的交叉傳輸數據線路,在發生故障時可以延緩故障降級速度,提高計算機的任務可靠性[1-4]。
ARINC659總線在國外已成功應用于MD-10、KC-130、波音777等飛機的控制系統,同時NASA也在下一代空間探測器的高可靠分層中進行了一系列的研究。反觀國內,對ARINC659總線的研究起步較晚,尤其是該總線在高可靠多余度的飛行控制領域的研究和應用,與國外還存在著較大差距。
因此,根據分布式計算機余度配置及可靠性要求,簡要對比分析了幾類機載總線技術,立足于ARINC659背板總線協議,提出了一種時間規劃方法,使應用軟件、底層數據可以按照時間規劃傳輸并保持同步。同時,針對雙機箱同步問題,提出了2種基于ARINC659總線的雙機箱同步計算機應用方案,采用信息流和時序分析等方式,對2種設計方案進行了分析與對比,并對方案二進行了信號同步仿真和時延測試。最后總結了ARINC659總線為高可靠多余度的飛行控制領域帶來的優勢,為后續該總線在我國航空領域的應用奠定了基礎。
ARINC659總線最早由Honeywell公司提出,并在B777、MD-10、KC-130等飛機中應用,具有高可靠性的特點,是一個在時間(總線傳輸時間)上和空間(總線數據存儲)上具有高容錯和高完整性的背板總線,同時其時間觸發的傳輸機制帶來的確定性比較適用于強實時控制領域[5-8]。另外,ARINC659總線擺脫了傳統總線的主-從結構(典型的以GJB289A總線為代表),無主化運行方式使得總線上的每個節點都可以成為一個“智能”的、平等的節點,這些優點可以有效地支撐計算機功能模塊級的動態重構,比較適用于機載系統應用環境[9-12]。
ARINC659總線之所以能夠在包括安全關鍵系統在內的眾多場景中應用的主要原因在于其有以下幾方面優秀的特性。
(1) 協議簡單可靠。
每條總線采用獨立時鐘源,使消息可以不使用包頭,通過鎖相環定位時鐘信息;使用4條冗余串行總線同時以不同的編碼方式傳輸,采用總線信號對比的方法實現數據傳輸及交叉檢驗,使消息不用包含CRC或其他容錯內容;采用時間觸發的總線規劃表驅動協議明確了消息的接收方使消息中不用包含地址字段、明確了消息的接收、發送時機使消息不用包含開始和結束符,以上物理層的這種設計極大地減少了消息結構的復雜性和開銷,極大地提高了協議效率(高達98%),最大限度地降低了系統的傳輸時延[13-15]。
(2) 無主同步。
采用時間觸發機制進行各個節點間的同步操作[16-18],通過周期性修正不同節點間的BIU之間的總線晶振偏差,以維持總線上各個節點的同步。這種同步是不以掛接在背板上的某個總線節點為主的,而是由各個節點共同“表決”產生,根據協議表決的結果并沒有選擇最快的時鐘,也沒有選擇最慢的時鐘,而是選擇容差內最快BIUx和最快BIUy時鐘中較慢的時鐘,具有可靠的同步能力。同步脈沖綜合示意圖如圖1所示。

圖1 同步脈沖綜合示意圖
除此之外,ARINC659總線還具備時間確定性、時空隔離以及廣播傳輸等特性,此處不再詳述。
主要以余度通道間信息交叉增強的方法來解決傳統集中式飛控計算機故障降級速度快的問題,方式不唯一。圖2中的方案是通過增加余度通道間信息傳遞線路的方式來實現信息交叉增強,但由于增加了2倍的傳遞線路,一方面導致通道間耦合程度加深、隔離性差,可能會導致通道間故障相互影響,另一方面計算機設計復雜度增加,重量和體積也會付出較大的代價,因此,工程上基本不采用此方案。

圖2 交叉增強的飛控計算機方案
通過第1節的總結歸納,可以發現ARINC659總線具備作為計算機背板總線的巨大優勢,那就是以最小的代價實現了計算機內余度通道間的交叉增強能力,并且也取代了傳統的CPU之間的交叉傳輸數據線路,在發生故障時可以延緩故障降級速度,提高計算機的任務可靠性。其計算機模型示意圖如圖3所示,當某通道輸入采集、處理器、輸出任一功能故障均不會導致整個通道功能喪失,該故障通道還可依靠其他通道相同功能的模塊繼續工作。此外,采用ARINC659背板總線的計算機利用其同步能力可以較容易實現通道間同步。

圖3 功能分布的飛控計算機架構
為滿足飛控系統的可靠性和安全性要求,有人機飛控計算機一般采用四余度配置,無人機的可靠性要求相對低一些,因此無人機飛控計算機一般采用三余度配置。對于三余度無人機飛控計算機,將三余度的輸入信息采集、處理器功能板、輸出板均放置在一個機箱內,從質量、體積、維修性等角度考慮是可接受的,通過采用標準ARINC659總線即可滿足該需求。對于四余度飛控計算機,將四余度的輸入信息采集、處理器功能板、輸出板均放置在一個機箱內可能會帶來兩個問題,一是機箱過長導致質量、體積及維修性代價難以承受,二是機箱過長對阻抗特性、時鐘特性有一定影響,BIU之間的信號偏離加大,影響同步效果。因此,如果在四余度飛控計算機中應用ARINC659總線,建議采用雙機箱實現。
ARINC659總線協議中建議該總線在單機箱中應用且對機箱背板總線長度有限制(內部傳輸機制限制,例如消息間隔等對傳輸距離間接約束),沒有給出在雙(或多)機箱計算機環境中的應用指導。因此,本文主要針對雙機箱計算機架構給出ARINC659總線的應用建議。
下面具體給出了ARINC659背板總線在雙機箱四余度飛控計算機中應用的兩個方案,并針對兩種應用方案進行了具體的分析和說明。
在該方案中,機載計算機由雙機箱(滿足互換性要求)構成,采用基本四余度配置,每個機箱內部采用ARINC659總線作為背板總線,模擬/離散/總線輸入模塊、處理模塊、輸出模塊均作為資源節點掛接在背板總線上,橋接模塊是實現雙機箱應用的核心,橋接模塊用于實現機箱間信息校驗及透明傳輸,不做其他同步要求。機載計算機原理框圖如圖4所示。

圖4 機載計算機原理框圖
采用ARINC659總線作為背板總線的計算機方案信息流基本模型如圖5所示。

圖5 計算機方案信息流基本模型圖
在該方案中,在每個處理器解算周期(12.5 ms)中,處理器接收4余度模擬/離散/總線輸入模塊信號,然后完成對信號的表決與監控、控制律的解算,最后將結果輸出給輸出模塊進行各種類型接口的輸出。
該計算機方案設計中具有以下4個特點。
① 機箱內ARINC659總線傳輸周期(可以是能夠滿足帶寬需求的最小周期)與處理器軟件解算周期(12.5 ms)解耦設計,不存在同步關系。
② 雙機箱之間的ARINC659總線不存在同步關系,按照各自機箱內ARINC659總線時間傳輸(周期足夠小)。
③ 四余度處理器通過硬線雙握手的形式實現余度處理器間應用軟件的同步。
④ 余度計算機采用比較監控和自監控結合的方式實現對處理器故障的檢測與隔離。
結合上述設計特點,從雙機箱ARINC659總線數據傳輸和處理器應用軟件從數據緩沖區搬移數據的時序關系(見圖6)分析可知,在實際使用中,各處理器模塊的輸入可能存在不完全相同的情況。以圖6中的模擬輸入信號為例,A通道處理器軟件輸入為IAN-1、IBN-1、ICN-1、IDN-1,B通道處理器軟件輸入為IAN、IBN-1、ICN-1、IDN-1,C通道處理器軟件輸入為IAM-1、IBM-1、ICM-1、IDM-1,D通道處理器軟件輸入為IAM-1、IBM-2、ICM-1、IDM-1。這樣即使采用相同的表決監控算法也會導致各余度通道處理器對輸入信號的表決值存在差異,如果不做進一步處理會導致解算的控制指令存在差異。

圖6 方案1時序關系示意圖
在余度計算機中,處理器故障的檢測與隔離是通過比較監控和自監控結合方式完成的,自監控主要以看門狗、任務超時等監控手段為主,比較監控主要以各余度處理器輸出控制指令比較監控為主。故上述控制指令的差異大到一定幅值且持續一定時間時會導致余度處理器發生比較監控故障,進而將故障處理器隔離。
通過上述分析可知,將ARINC659總線數據傳輸與處理器軟件運行異步處理,使總線數據規劃與應用軟件設計可以分別開展,且不存在耦合關系,使設計及驗證工作變得相對容易;帶來的副作用是可能會導致各處理器模塊的輸入可能存在不盡完全相同的情況,最終導致處理器被檢測出故障并被隔離。這種副作用可以通過采用控制律中間變量(尤其是積分器)均衡的方式或二次表決的方式,同時將控制指令的余度故障監控門限適當放大,來解決可容忍的異步度帶來的余度通道間誤差增大的問題。
在該方案中,機載計算機硬件與方案1一致,不同的是橋接模塊除了對接收的數據進行校驗和透明傳輸,還要完成雙機箱之間的握手與同步,從而使兩個機箱內的ARINC659總線傳輸時間保持一定精度的同步關系。
方案2中的基本信息流基本模型與方案1一致,交叉增強能力及故障降級均與方案1一致。
在方案2中,在每個處理器解算周期(12.5 ms)中,處理器同樣接收4余度模擬/離散/總線輸入模塊信號,然后完成對信號的表決與監控、控制律的解算,最后將結果輸出給輸出模塊進行各種類型接口的輸出。
該計算機方案設計具有以下3個特點。
① 雙機箱之間ARINC659總線處于一定精度下的同步狀態。首先各自機箱內ARINC659總線根據其協議內在機制,通過初始同步、長同步及短同步消息使各個節點保持周期同步,機箱內各個節點對背板上總線時間有著統一的認識;機箱之間的同步通過橋接模塊采用類似硬線雙握手的方法實現兩個機箱之間ARINC659總線的同步運行。
② 機箱內ARINC659總線傳輸周期(12.5 ms)與處理器軟件解算周期(12.5 ms)同步運行,并且通過ARINC659總線模塊每12.5 ms提供的硬件中斷使四余度處理器軟件任務保持12.5 ms周期運行并且處于同步狀態。
③ 余度計算機采用比較監控和自監控結合的方式實現對處理器故障的檢測與隔離。
結合上述設計特點,經雙機箱ARINC659總線數據傳輸和處理器軟件從數據緩沖區搬移數據的時序關系(見圖7)分析可知,在實際使用中,能夠通過時間規劃保證各處理器模塊的輸入信號一致。以圖7中模擬輸入信號為例,A、B、C、D通道處理器軟件輸入均為IAN、IBN、ICN、IDN,從而通過相同的表決監控算法得到相同的表決值,進而解算的控制指令基本相同。

圖7 方案2時序關系示意圖
針對信號同步性問題,以起落架收放信號為例,使用分析軟件進行分析,結果如圖8所示。

圖8 起落架收放信號輸入輸出時序圖
圖8中軟件橫軸為時間,單位為s,8條曲線從上到下分別為4個通道起落架收放信號輸入,以及4個通道的起落架收放信號表決結果。經分析可知,雖然各余度信號輸入有一定的延遲,通過ARINC659總線數據傳輸與處理器軟件運行同步設計,可以使余度計算機得到相同的數據輸入進而得出相同的計算輸出。
同時,在系統設計過程中需要考慮計算機應用軟件與ARINC659總線數據傳輸的匹配性,即在使用數據前完成ARINC659總線數據傳輸,在完成信息解算處理后統一安排ARINC659總線時間窗口,將指令輸出,通過時間規劃設計確保數據的完整性和一致性。該設計方案將總線數據傳輸與軟件設計緊密聯系,存在緊耦合關系,應用軟件模塊化的行為需要與ARINC659總線數據傳輸行為匹配,故需要將底層ARINC659數據傳輸和應用軟件模塊設計得十分扎實。此外,由于數據傳輸需要與應用軟件在時間上匹配,二者之間需要為總線數據傳輸時間或應用軟件執行時間抖動留足時間裕量,故該設計方案在信息處理過程中的時延會相對增加,但對系統全局時延影響可控。
為了驗證上述描述的時間規劃設計方法,通過在控制前端施加傳感器激勵,觀察控制指令開始變化的時刻,來進行時延分析,結果如圖9所示。在偏航角速度傳感器模擬輸入接口施加階躍信號,觀察計算機采集到階躍信號的時刻(信號3),以及方向舵伺服指令開始變化的時刻(信號1),時間差即為系統實現帶來的時延。測試結果表明,時間規劃設計方法合理可行,時延滿足飛控系統控制需求。

圖9 系統控制信號輸入輸出波形圖
ARINC659總線具有簡單、可靠、高效的優點,非常適合在機載航空電子系統中應用。ARINC659總線協議建議該總線在機箱內數據傳輸使用。筆者提出通過總線橋接模塊進行數據透明傳輸,可以將ARINC659總線應用于雙機箱設計方案中,使得四余度系統仍然可以采用ARINC659總線技術,從而滿足機載控制系統高可靠、高安全需求。
隨著對飛機系統功能、性能要求的提高,對機載系統信息傳輸能力、系統綜合設計能力要求不斷提升,ARINC659總線在未來機載系統中應用仍存在總線帶寬低、應用限制多等問題。
近幾年,IEEE1394總線[19-20]、RapidIO[21]等高速串行總線逐漸被應用于機載系統中,這些總線常用于余度通道間處理器交叉傳輸工作或者整個機載系統總線網絡。一方面這些總線的傳輸速率有極大的提升,可以滿足未來作戰飛機機載系統數據傳輸需求;另一方面機載系統不僅實現功能分布,還將實現物理分布,模擬/離散/總線輸入采集、輸出與伺服控制模塊均演變為獨立的設備,傳統的集中式計算機僅保留運算單元和總線數據收發功能,計算機內總線的概念逐漸被弱化乃至被取代。未來,分布式機載系統將采用統一機載信息網絡,將真正實現將傳統計算機內總線與外總線統一,所有的采集資源、運算資源、伺服控制單元將作為節點連接在統一機載網絡中。