胡延國(guó), 范彥銘, 齊一帆, 楊淏天
(航空工業(yè)沈陽(yáng)飛機(jī)設(shè)計(jì)研究所 飛行控制部,遼寧 沈陽(yáng) 110035)
飛行控制計(jì)算機(jī)是飛行控制系統(tǒng)的核心部件之一,其發(fā)展經(jīng)歷了從簡(jiǎn)單到復(fù)雜、從低可靠性到高可靠性、從低性能到高性能的發(fā)展過(guò)程。隨著計(jì)算機(jī)架構(gòu)的更迭,不同的總線技術(shù)也隨之誕生。采用不同的總線技術(shù),可以實(shí)現(xiàn)不同的計(jì)算機(jī)方案,取得的效果也不盡相同。
追求高安全高可靠性是飛控系統(tǒng)設(shè)計(jì)亙古不變的首要目標(biāo),隨著計(jì)算機(jī)和總線技術(shù)的發(fā)展,出現(xiàn)了幾種典型的計(jì)算機(jī)背板總線,例如PI、VME、ARINC659總線等,對(duì)它們進(jìn)行簡(jiǎn)要對(duì)比如表1所示。
表1 背板總線對(duì)比
由表1可以看出ARINC659總線在同步、時(shí)間確定性等方面具有出色的表現(xiàn),同時(shí),它具備的高可靠性、高完整性等特點(diǎn)使之在飛控計(jì)算機(jī)總線中占據(jù)優(yōu)勢(shì),并以最小的代價(jià)實(shí)現(xiàn)了計(jì)算機(jī)內(nèi)余度通道間的交叉增強(qiáng)能力,取代了傳統(tǒng)的CPU之間的交叉?zhèn)鬏敂?shù)據(jù)線路,在發(fā)生故障時(shí)可以延緩故障降級(jí)速度,提高計(jì)算機(jī)的任務(wù)可靠性[1-4]。
ARINC659總線在國(guó)外已成功應(yīng)用于MD-10、KC-130、波音777等飛機(jī)的控制系統(tǒng),同時(shí)NASA也在下一代空間探測(cè)器的高可靠分層中進(jìn)行了一系列的研究。反觀國(guó)內(nèi),對(duì)ARINC659總線的研究起步較晚,尤其是該總線在高可靠多余度的飛行控制領(lǐng)域的研究和應(yīng)用,與國(guó)外還存在著較大差距。
因此,根據(jù)分布式計(jì)算機(jī)余度配置及可靠性要求,簡(jiǎn)要對(duì)比分析了幾類(lèi)機(jī)載總線技術(shù),立足于ARINC659背板總線協(xié)議,提出了一種時(shí)間規(guī)劃方法,使應(yīng)用軟件、底層數(shù)據(jù)可以按照時(shí)間規(guī)劃傳輸并保持同步。同時(shí),針對(duì)雙機(jī)箱同步問(wèn)題,提出了2種基于ARINC659總線的雙機(jī)箱同步計(jì)算機(jī)應(yīng)用方案,采用信息流和時(shí)序分析等方式,對(duì)2種設(shè)計(jì)方案進(jìn)行了分析與對(duì)比,并對(duì)方案二進(jìn)行了信號(hào)同步仿真和時(shí)延測(cè)試。最后總結(jié)了ARINC659總線為高可靠多余度的飛行控制領(lǐng)域帶來(lái)的優(yōu)勢(shì),為后續(xù)該總線在我國(guó)航空領(lǐng)域的應(yīng)用奠定了基礎(chǔ)。
ARINC659總線最早由Honeywell公司提出,并在B777、MD-10、KC-130等飛機(jī)中應(yīng)用,具有高可靠性的特點(diǎn),是一個(gè)在時(shí)間(總線傳輸時(shí)間)上和空間(總線數(shù)據(jù)存儲(chǔ))上具有高容錯(cuò)和高完整性的背板總線,同時(shí)其時(shí)間觸發(fā)的傳輸機(jī)制帶來(lái)的確定性比較適用于強(qiáng)實(shí)時(shí)控制領(lǐng)域[5-8]。另外,ARINC659總線擺脫了傳統(tǒng)總線的主-從結(jié)構(gòu)(典型的以GJB289A總線為代表),無(wú)主化運(yùn)行方式使得總線上的每個(gè)節(jié)點(diǎn)都可以成為一個(gè)“智能”的、平等的節(jié)點(diǎn),這些優(yōu)點(diǎn)可以有效地支撐計(jì)算機(jī)功能模塊級(jí)的動(dòng)態(tài)重構(gòu),比較適用于機(jī)載系統(tǒng)應(yīng)用環(huán)境[9-12]。
ARINC659總線之所以能夠在包括安全關(guān)鍵系統(tǒng)在內(nèi)的眾多場(chǎng)景中應(yīng)用的主要原因在于其有以下幾方面優(yōu)秀的特性。
(1) 協(xié)議簡(jiǎn)單可靠。
每條總線采用獨(dú)立時(shí)鐘源,使消息可以不使用包頭,通過(guò)鎖相環(huán)定位時(shí)鐘信息;使用4條冗余串行總線同時(shí)以不同的編碼方式傳輸,采用總線信號(hào)對(duì)比的方法實(shí)現(xiàn)數(shù)據(jù)傳輸及交叉檢驗(yàn),使消息不用包含CRC或其他容錯(cuò)內(nèi)容;采用時(shí)間觸發(fā)的總線規(guī)劃表驅(qū)動(dòng)協(xié)議明確了消息的接收方使消息中不用包含地址字段、明確了消息的接收、發(fā)送時(shí)機(jī)使消息不用包含開(kāi)始和結(jié)束符,以上物理層的這種設(shè)計(jì)極大地減少了消息結(jié)構(gòu)的復(fù)雜性和開(kāi)銷(xiāo),極大地提高了協(xié)議效率(高達(dá)98%),最大限度地降低了系統(tǒng)的傳輸時(shí)延[13-15]。
(2) 無(wú)主同步。
采用時(shí)間觸發(fā)機(jī)制進(jìn)行各個(gè)節(jié)點(diǎn)間的同步操作[16-18],通過(guò)周期性修正不同節(jié)點(diǎn)間的BIU之間的總線晶振偏差,以維持總線上各個(gè)節(jié)點(diǎn)的同步。這種同步是不以?huà)旖釉诒嘲迳系哪硞€(gè)總線節(jié)點(diǎn)為主的,而是由各個(gè)節(jié)點(diǎn)共同“表決”產(chǎn)生,根據(jù)協(xié)議表決的結(jié)果并沒(méi)有選擇最快的時(shí)鐘,也沒(méi)有選擇最慢的時(shí)鐘,而是選擇容差內(nèi)最快BIUx和最快BIUy時(shí)鐘中較慢的時(shí)鐘,具有可靠的同步能力。同步脈沖綜合示意圖如圖1所示。
圖1 同步脈沖綜合示意圖
除此之外,ARINC659總線還具備時(shí)間確定性、時(shí)空隔離以及廣播傳輸?shù)忍匦?此處不再詳述。
主要以余度通道間信息交叉增強(qiáng)的方法來(lái)解決傳統(tǒng)集中式飛控計(jì)算機(jī)故障降級(jí)速度快的問(wèn)題,方式不唯一。圖2中的方案是通過(guò)增加余度通道間信息傳遞線路的方式來(lái)實(shí)現(xiàn)信息交叉增強(qiáng),但由于增加了2倍的傳遞線路,一方面導(dǎo)致通道間耦合程度加深、隔離性差,可能會(huì)導(dǎo)致通道間故障相互影響,另一方面計(jì)算機(jī)設(shè)計(jì)復(fù)雜度增加,重量和體積也會(huì)付出較大的代價(jià),因此,工程上基本不采用此方案。
圖2 交叉增強(qiáng)的飛控計(jì)算機(jī)方案
通過(guò)第1節(jié)的總結(jié)歸納,可以發(fā)現(xiàn)ARINC659總線具備作為計(jì)算機(jī)背板總線的巨大優(yōu)勢(shì),那就是以最小的代價(jià)實(shí)現(xiàn)了計(jì)算機(jī)內(nèi)余度通道間的交叉增強(qiáng)能力,并且也取代了傳統(tǒng)的CPU之間的交叉?zhèn)鬏敂?shù)據(jù)線路,在發(fā)生故障時(shí)可以延緩故障降級(jí)速度,提高計(jì)算機(jī)的任務(wù)可靠性。其計(jì)算機(jī)模型示意圖如圖3所示,當(dāng)某通道輸入采集、處理器、輸出任一功能故障均不會(huì)導(dǎo)致整個(gè)通道功能喪失,該故障通道還可依靠其他通道相同功能的模塊繼續(xù)工作。此外,采用ARINC659背板總線的計(jì)算機(jī)利用其同步能力可以較容易實(shí)現(xiàn)通道間同步。
圖3 功能分布的飛控計(jì)算機(jī)架構(gòu)
為滿(mǎn)足飛控系統(tǒng)的可靠性和安全性要求,有人機(jī)飛控計(jì)算機(jī)一般采用四余度配置,無(wú)人機(jī)的可靠性要求相對(duì)低一些,因此無(wú)人機(jī)飛控計(jì)算機(jī)一般采用三余度配置。對(duì)于三余度無(wú)人機(jī)飛控計(jì)算機(jī),將三余度的輸入信息采集、處理器功能板、輸出板均放置在一個(gè)機(jī)箱內(nèi),從質(zhì)量、體積、維修性等角度考慮是可接受的,通過(guò)采用標(biāo)準(zhǔn)ARINC659總線即可滿(mǎn)足該需求。對(duì)于四余度飛控計(jì)算機(jī),將四余度的輸入信息采集、處理器功能板、輸出板均放置在一個(gè)機(jī)箱內(nèi)可能會(huì)帶來(lái)兩個(gè)問(wèn)題,一是機(jī)箱過(guò)長(zhǎng)導(dǎo)致質(zhì)量、體積及維修性代價(jià)難以承受,二是機(jī)箱過(guò)長(zhǎng)對(duì)阻抗特性、時(shí)鐘特性有一定影響,BIU之間的信號(hào)偏離加大,影響同步效果。因此,如果在四余度飛控計(jì)算機(jī)中應(yīng)用ARINC659總線,建議采用雙機(jī)箱實(shí)現(xiàn)。
ARINC659總線協(xié)議中建議該總線在單機(jī)箱中應(yīng)用且對(duì)機(jī)箱背板總線長(zhǎng)度有限制(內(nèi)部傳輸機(jī)制限制,例如消息間隔等對(duì)傳輸距離間接約束),沒(méi)有給出在雙(或多)機(jī)箱計(jì)算機(jī)環(huán)境中的應(yīng)用指導(dǎo)。因此,本文主要針對(duì)雙機(jī)箱計(jì)算機(jī)架構(gòu)給出ARINC659總線的應(yīng)用建議。
下面具體給出了ARINC659背板總線在雙機(jī)箱四余度飛控計(jì)算機(jī)中應(yīng)用的兩個(gè)方案,并針對(duì)兩種應(yīng)用方案進(jìn)行了具體的分析和說(shuō)明。
在該方案中,機(jī)載計(jì)算機(jī)由雙機(jī)箱(滿(mǎn)足互換性要求)構(gòu)成,采用基本四余度配置,每個(gè)機(jī)箱內(nèi)部采用ARINC659總線作為背板總線,模擬/離散/總線輸入模塊、處理模塊、輸出模塊均作為資源節(jié)點(diǎn)掛接在背板總線上,橋接模塊是實(shí)現(xiàn)雙機(jī)箱應(yīng)用的核心,橋接模塊用于實(shí)現(xiàn)機(jī)箱間信息校驗(yàn)及透明傳輸,不做其他同步要求。機(jī)載計(jì)算機(jī)原理框圖如圖4所示。
圖4 機(jī)載計(jì)算機(jī)原理框圖
采用ARINC659總線作為背板總線的計(jì)算機(jī)方案信息流基本模型如圖5所示。
圖5 計(jì)算機(jī)方案信息流基本模型圖
在該方案中,在每個(gè)處理器解算周期(12.5 ms)中,處理器接收4余度模擬/離散/總線輸入模塊信號(hào),然后完成對(duì)信號(hào)的表決與監(jiān)控、控制律的解算,最后將結(jié)果輸出給輸出模塊進(jìn)行各種類(lèi)型接口的輸出。
該計(jì)算機(jī)方案設(shè)計(jì)中具有以下4個(gè)特點(diǎn)。
① 機(jī)箱內(nèi)ARINC659總線傳輸周期(可以是能夠滿(mǎn)足帶寬需求的最小周期)與處理器軟件解算周期(12.5 ms)解耦設(shè)計(jì),不存在同步關(guān)系。
② 雙機(jī)箱之間的ARINC659總線不存在同步關(guān)系,按照各自機(jī)箱內(nèi)ARINC659總線時(shí)間傳輸(周期足夠小)。
③ 四余度處理器通過(guò)硬線雙握手的形式實(shí)現(xiàn)余度處理器間應(yīng)用軟件的同步。
④ 余度計(jì)算機(jī)采用比較監(jiān)控和自監(jiān)控結(jié)合的方式實(shí)現(xiàn)對(duì)處理器故障的檢測(cè)與隔離。
結(jié)合上述設(shè)計(jì)特點(diǎn),從雙機(jī)箱ARINC659總線數(shù)據(jù)傳輸和處理器應(yīng)用軟件從數(shù)據(jù)緩沖區(qū)搬移數(shù)據(jù)的時(shí)序關(guān)系(見(jiàn)圖6)分析可知,在實(shí)際使用中,各處理器模塊的輸入可能存在不完全相同的情況。以圖6中的模擬輸入信號(hào)為例,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。這樣即使采用相同的表決監(jiān)控算法也會(huì)導(dǎo)致各余度通道處理器對(duì)輸入信號(hào)的表決值存在差異,如果不做進(jìn)一步處理會(huì)導(dǎo)致解算的控制指令存在差異。
圖6 方案1時(shí)序關(guān)系示意圖
在余度計(jì)算機(jī)中,處理器故障的檢測(cè)與隔離是通過(guò)比較監(jiān)控和自監(jiān)控結(jié)合方式完成的,自監(jiān)控主要以看門(mén)狗、任務(wù)超時(shí)等監(jiān)控手段為主,比較監(jiān)控主要以各余度處理器輸出控制指令比較監(jiān)控為主。故上述控制指令的差異大到一定幅值且持續(xù)一定時(shí)間時(shí)會(huì)導(dǎo)致余度處理器發(fā)生比較監(jiān)控故障,進(jìn)而將故障處理器隔離。
通過(guò)上述分析可知,將ARINC659總線數(shù)據(jù)傳輸與處理器軟件運(yùn)行異步處理,使總線數(shù)據(jù)規(guī)劃與應(yīng)用軟件設(shè)計(jì)可以分別開(kāi)展,且不存在耦合關(guān)系,使設(shè)計(jì)及驗(yàn)證工作變得相對(duì)容易;帶來(lái)的副作用是可能會(huì)導(dǎo)致各處理器模塊的輸入可能存在不盡完全相同的情況,最終導(dǎo)致處理器被檢測(cè)出故障并被隔離。這種副作用可以通過(guò)采用控制律中間變量(尤其是積分器)均衡的方式或二次表決的方式,同時(shí)將控制指令的余度故障監(jiān)控門(mén)限適當(dāng)放大,來(lái)解決可容忍的異步度帶來(lái)的余度通道間誤差增大的問(wèn)題。
在該方案中,機(jī)載計(jì)算機(jī)硬件與方案1一致,不同的是橋接模塊除了對(duì)接收的數(shù)據(jù)進(jìn)行校驗(yàn)和透明傳輸,還要完成雙機(jī)箱之間的握手與同步,從而使兩個(gè)機(jī)箱內(nèi)的ARINC659總線傳輸時(shí)間保持一定精度的同步關(guān)系。
方案2中的基本信息流基本模型與方案1一致,交叉增強(qiáng)能力及故障降級(jí)均與方案1一致。
在方案2中,在每個(gè)處理器解算周期(12.5 ms)中,處理器同樣接收4余度模擬/離散/總線輸入模塊信號(hào),然后完成對(duì)信號(hào)的表決與監(jiān)控、控制律的解算,最后將結(jié)果輸出給輸出模塊進(jìn)行各種類(lèi)型接口的輸出。
該計(jì)算機(jī)方案設(shè)計(jì)具有以下3個(gè)特點(diǎn)。
① 雙機(jī)箱之間ARINC659總線處于一定精度下的同步狀態(tài)。首先各自機(jī)箱內(nèi)ARINC659總線根據(jù)其協(xié)議內(nèi)在機(jī)制,通過(guò)初始同步、長(zhǎng)同步及短同步消息使各個(gè)節(jié)點(diǎn)保持周期同步,機(jī)箱內(nèi)各個(gè)節(jié)點(diǎn)對(duì)背板上總線時(shí)間有著統(tǒng)一的認(rèn)識(shí);機(jī)箱之間的同步通過(guò)橋接模塊采用類(lèi)似硬線雙握手的方法實(shí)現(xiàn)兩個(gè)機(jī)箱之間ARINC659總線的同步運(yùn)行。
② 機(jī)箱內(nèi)ARINC659總線傳輸周期(12.5 ms)與處理器軟件解算周期(12.5 ms)同步運(yùn)行,并且通過(guò)ARINC659總線模塊每12.5 ms提供的硬件中斷使四余度處理器軟件任務(wù)保持12.5 ms周期運(yùn)行并且處于同步狀態(tài)。
③ 余度計(jì)算機(jī)采用比較監(jiān)控和自監(jiān)控結(jié)合的方式實(shí)現(xiàn)對(duì)處理器故障的檢測(cè)與隔離。
結(jié)合上述設(shè)計(jì)特點(diǎn),經(jīng)雙機(jī)箱ARINC659總線數(shù)據(jù)傳輸和處理器軟件從數(shù)據(jù)緩沖區(qū)搬移數(shù)據(jù)的時(shí)序關(guān)系(見(jiàn)圖7)分析可知,在實(shí)際使用中,能夠通過(guò)時(shí)間規(guī)劃保證各處理器模塊的輸入信號(hào)一致。以圖7中模擬輸入信號(hào)為例,A、B、C、D通道處理器軟件輸入均為IAN、IBN、ICN、IDN,從而通過(guò)相同的表決監(jiān)控算法得到相同的表決值,進(jìn)而解算的控制指令基本相同。
圖7 方案2時(shí)序關(guān)系示意圖
針對(duì)信號(hào)同步性問(wèn)題,以起落架收放信號(hào)為例,使用分析軟件進(jìn)行分析,結(jié)果如圖8所示。
圖8 起落架收放信號(hào)輸入輸出時(shí)序圖
圖8中軟件橫軸為時(shí)間,單位為s,8條曲線從上到下分別為4個(gè)通道起落架收放信號(hào)輸入,以及4個(gè)通道的起落架收放信號(hào)表決結(jié)果。經(jīng)分析可知,雖然各余度信號(hào)輸入有一定的延遲,通過(guò)ARINC659總線數(shù)據(jù)傳輸與處理器軟件運(yùn)行同步設(shè)計(jì),可以使余度計(jì)算機(jī)得到相同的數(shù)據(jù)輸入進(jìn)而得出相同的計(jì)算輸出。
同時(shí),在系統(tǒng)設(shè)計(jì)過(guò)程中需要考慮計(jì)算機(jī)應(yīng)用軟件與ARINC659總線數(shù)據(jù)傳輸?shù)钠ヅ湫?即在使用數(shù)據(jù)前完成ARINC659總線數(shù)據(jù)傳輸,在完成信息解算處理后統(tǒng)一安排ARINC659總線時(shí)間窗口,將指令輸出,通過(guò)時(shí)間規(guī)劃設(shè)計(jì)確保數(shù)據(jù)的完整性和一致性。該設(shè)計(jì)方案將總線數(shù)據(jù)傳輸與軟件設(shè)計(jì)緊密聯(lián)系,存在緊耦合關(guān)系,應(yīng)用軟件模塊化的行為需要與ARINC659總線數(shù)據(jù)傳輸行為匹配,故需要將底層ARINC659數(shù)據(jù)傳輸和應(yīng)用軟件模塊設(shè)計(jì)得十分扎實(shí)。此外,由于數(shù)據(jù)傳輸需要與應(yīng)用軟件在時(shí)間上匹配,二者之間需要為總線數(shù)據(jù)傳輸時(shí)間或應(yīng)用軟件執(zhí)行時(shí)間抖動(dòng)留足時(shí)間裕量,故該設(shè)計(jì)方案在信息處理過(guò)程中的時(shí)延會(huì)相對(duì)增加,但對(duì)系統(tǒng)全局時(shí)延影響可控。
為了驗(yàn)證上述描述的時(shí)間規(guī)劃設(shè)計(jì)方法,通過(guò)在控制前端施加傳感器激勵(lì),觀察控制指令開(kāi)始變化的時(shí)刻,來(lái)進(jìn)行時(shí)延分析,結(jié)果如圖9所示。在偏航角速度傳感器模擬輸入接口施加階躍信號(hào),觀察計(jì)算機(jī)采集到階躍信號(hào)的時(shí)刻(信號(hào)3),以及方向舵伺服指令開(kāi)始變化的時(shí)刻(信號(hào)1),時(shí)間差即為系統(tǒng)實(shí)現(xiàn)帶來(lái)的時(shí)延。測(cè)試結(jié)果表明,時(shí)間規(guī)劃設(shè)計(jì)方法合理可行,時(shí)延滿(mǎn)足飛控系統(tǒng)控制需求。
圖9 系統(tǒng)控制信號(hào)輸入輸出波形圖
ARINC659總線具有簡(jiǎn)單、可靠、高效的優(yōu)點(diǎn),非常適合在機(jī)載航空電子系統(tǒng)中應(yīng)用。ARINC659總線協(xié)議建議該總線在機(jī)箱內(nèi)數(shù)據(jù)傳輸使用。筆者提出通過(guò)總線橋接模塊進(jìn)行數(shù)據(jù)透明傳輸,可以將ARINC659總線應(yīng)用于雙機(jī)箱設(shè)計(jì)方案中,使得四余度系統(tǒng)仍然可以采用ARINC659總線技術(shù),從而滿(mǎn)足機(jī)載控制系統(tǒng)高可靠、高安全需求。
隨著對(duì)飛機(jī)系統(tǒng)功能、性能要求的提高,對(duì)機(jī)載系統(tǒng)信息傳輸能力、系統(tǒng)綜合設(shè)計(jì)能力要求不斷提升,ARINC659總線在未來(lái)機(jī)載系統(tǒng)中應(yīng)用仍存在總線帶寬低、應(yīng)用限制多等問(wèn)題。
近幾年,IEEE1394總線[19-20]、RapidIO[21]等高速串行總線逐漸被應(yīng)用于機(jī)載系統(tǒng)中,這些總線常用于余度通道間處理器交叉?zhèn)鬏敼ぷ骰蛘哒麄€(gè)機(jī)載系統(tǒng)總線網(wǎng)絡(luò)。一方面這些總線的傳輸速率有極大的提升,可以滿(mǎn)足未來(lái)作戰(zhàn)飛機(jī)機(jī)載系統(tǒng)數(shù)據(jù)傳輸需求;另一方面機(jī)載系統(tǒng)不僅實(shí)現(xiàn)功能分布,還將實(shí)現(xiàn)物理分布,模擬/離散/總線輸入采集、輸出與伺服控制模塊均演變?yōu)楠?dú)立的設(shè)備,傳統(tǒng)的集中式計(jì)算機(jī)僅保留運(yùn)算單元和總線數(shù)據(jù)收發(fā)功能,計(jì)算機(jī)內(nèi)總線的概念逐漸被弱化乃至被取代。未來(lái),分布式機(jī)載系統(tǒng)將采用統(tǒng)一機(jī)載信息網(wǎng)絡(luò),將真正實(shí)現(xiàn)將傳統(tǒng)計(jì)算機(jī)內(nèi)總線與外總線統(tǒng)一,所有的采集資源、運(yùn)算資源、伺服控制單元將作為節(jié)點(diǎn)連接在統(tǒng)一機(jī)載網(wǎng)絡(luò)中。