李樂意,王蕓,王君陽,趙敏
(陜西千山航空電子有限責任公司,西安710065)
機載燃油管理計算機主要完成對飛機上燃油的測量、燃油數(shù)據(jù)的傳輸與加/放油控制等功能,是飛機燃油系統(tǒng)的核心[1]。隨著航空技術的不斷發(fā)展,燃油管理計算機功能日趨增強,重要性日益突出,但其設計復雜度也隨之大大提高,出現(xiàn)問題的可能性也隨之增高。為了保障飛行安全和飛行任務的完成,必須增強燃油管理計算機的可靠性和執(zhí)行任務過程中的安全性。
雙余度熱備份技術是指采用兩個相同模塊執(zhí)行相同的任務,提供相同的服務,當其中一個模塊出現(xiàn)故障時,另一模塊能夠承擔起相同的任務以保證系統(tǒng)持續(xù)運行[2-4]。這種技術大大提高了系統(tǒng)的可靠性與安全性。航空電子產(chǎn)品中某些關鍵產(chǎn)品采用余度備份技術如飛控計算機[3-6]、燃油控制計算機[7]、動力控制系統(tǒng)[8]等,通常由兩臺計算機互為備份實現(xiàn)雙余度技術[3-5],其體積較大、生產(chǎn)成本高。
本文通過在一臺計算機內(nèi)部進行關鍵板卡的雙余度備份,設計了一種雙余度的機載燃油管理計算機系統(tǒng),在提高可靠性和安全性的同時,有效控制了系統(tǒng)體積和成本。
雙余度燃油管理計算機中,關鍵板卡是具有數(shù)據(jù)管理和控制功能的管理模塊和具有控制功能的接口模塊,因此將它們進行雙余度設計。即計算機中含有管理模塊A、管理模塊B、接口模塊A、接口模塊B 和其他板卡,其他板卡未進行余度設計。雙余度板卡對外采集和輸出掛接到同一通道,由板卡內(nèi)FPGA 控制輸出開關。
為了方便表述,以下稱相同功能的兩個板卡的組合稱之為模塊組,即管理模塊A 和管理模塊B 作為一個管理模塊組,接口模塊A 和接口模塊B 作為一個接口模塊組,組內(nèi)相同功能板卡彼此之間稱對方為對等模塊。雙余度燃油管理計算機硬件總體設計如圖1 所示。
圖1 雙余度燃油管理計算機硬件總體設計
從圖1 可以看到,燃油管理計算機內(nèi)部各板卡之間通過內(nèi)部RS-422 總線通信,同時對等模塊之間通過檢測心跳線相互檢測對方的工作狀態(tài)。
通過RS-422 總線交互狀態(tài)信息,當板卡切換時能夠及時獲取全系統(tǒng)的狀態(tài)。同時也能夠提高系統(tǒng)狀態(tài)監(jiān)控能力。例如本系統(tǒng)設計時,對外HB6096 總線接口接收不到數(shù)據(jù)時,板卡自身無法判斷是板卡芯片故障還是前端無數(shù)據(jù)。由于兩塊板卡具有相同功能,如果另一塊板卡也報出該條總線無數(shù)據(jù),則認為芯片正常,反之認為芯片故障,須進行切換邏輯。
心跳線是模塊組內(nèi)對等模塊之間的交聯(lián)硬線,輸出端輸出1000Hz 的方波,接收端以方波反轉(zhuǎn)的周期判斷板卡運行是否正常。
對等模塊之間采用主從模式,處于主狀態(tài)的板卡正常采集并輸出,處于從狀態(tài)的板卡正常采集和計算但不輸出。軟件在初始化時,通過母板上的槽位接口判斷自身板卡所處的位置,將管理模塊A、接口模塊A置于主狀態(tài),而管理模塊B、接口模塊B 置于從狀態(tài)。
當發(fā)生故障或接收到切換命令時,板卡狀態(tài)進行切換,每個模塊組內(nèi)狀態(tài)轉(zhuǎn)移關系相同。圖2 表示功能組內(nèi)模塊的狀態(tài)轉(zhuǎn)移關系,其中大寫字母表示處于主狀態(tài),小寫字母表示處于從狀態(tài),'表示處于故障狀態(tài)。如A 表示模塊A 處于主狀態(tài)且無故障,b'表示模塊B 處于從狀態(tài)并有故障,虛線框內(nèi)的狀態(tài)為中間狀態(tài)。
圖2 功能組內(nèi)模塊狀態(tài)轉(zhuǎn)移關系
雙余度燃油管理計算機系統(tǒng)實現(xiàn)的功能較為復雜,包含了數(shù)據(jù)采集、數(shù)據(jù)輸出等接口,本節(jié)僅以描述與雙余度備份相關的硬件設計,對外圍接口不再詳細敘述。模塊實現(xiàn)雙余度的核心是采用CPU+FPGA+總線+心跳線的方式進行硬件設計。模塊組內(nèi)板卡的數(shù)據(jù)采集來自于同一個數(shù)據(jù)源端,兩個板卡都進行采集。板卡對外輸出時,同一時間僅有一個對外輸出,F(xiàn)PGA 通過開關邏輯實現(xiàn),硬件框圖如圖3 所示。
在圖3 中,含有3 個槽位引腳,上電時,當3 個I/O口中兩個以上為低時認為該板卡為B 板卡,該板卡初始狀態(tài)為從狀態(tài);兩個以上I/O 為高時認為該板卡為A板卡,初始狀態(tài)為主狀態(tài)。FPGA 檢測這3 個I/O 將其值存入緩沖區(qū)共CPU 讀取。
在板卡內(nèi)部,CPU 與FPGA 間通過FPGA 虛擬寄存器交互故障信息,F(xiàn)PGA 檢測到CPU 關鍵故障信息時,須關斷輸出。同時CPU 輸出的心跳線經(jīng)過FPGA,當FPGA 檢測到CPU 心跳停止時,認為CPU 故障,須關斷輸出。
圖3 板卡硬件設計框圖
在雙余度燃油管理計算機設計中主要由軟件實現(xiàn)邏輯的切換,工作狀態(tài)轉(zhuǎn)移過程遵守圖2 所示的狀態(tài)轉(zhuǎn)移圖。板卡故障狀態(tài)的判定主要通過RS-422 總線周期通信和心跳線完成。板卡所遵循的基本切換原則如下:
(1)心跳線是模塊組內(nèi)對等模塊之間通過硬線相連,輸出1000Hz 的方波。組內(nèi)主狀態(tài)板卡和從狀態(tài)板卡之間通過心跳線判斷對等板卡是否正?;顒?,如果處于主狀態(tài)的模塊板卡失效則切換工作狀態(tài);
(2)模塊組內(nèi)通過RS-422 總線周期性通信接收對等模塊狀態(tài)字并發(fā)送自身狀態(tài)字,判斷出當前板卡和對等模塊的狀態(tài),如果處于主狀態(tài)的模塊板卡失效則切換工作狀態(tài);模塊組間也是通過RS-422 總線進行周期通信發(fā)送自身狀態(tài)接收對應的其他模塊的狀態(tài)信息,綜合狀態(tài)信息數(shù)據(jù)判斷系統(tǒng)狀態(tài),在需要切換工作時通過發(fā)送切換命令。
(3)當檢測到自身故障時,停止進行心跳反轉(zhuǎn),以通知對等模塊。同時發(fā)送RS-422 狀態(tài)信息給其他接口模塊。
綜上,故障檢測方式主要有心跳線故障、通信鏈路故障、接收到切換信息、自身檢測故障這4 種故障檢測方式,其軟件設計流程如下:
(1)一端輸出1000Hz 的方波,另一端通過檢測方波電平變化判斷是否正常。如果沒有輸出,則認為輸出端故障。檢測對等模塊心跳線時,為了避免誤判,采用連續(xù)10 次不反轉(zhuǎn)則認為模塊故障的判斷邏輯。因此如果對等模塊故障,模塊能夠在5ms 的時間內(nèi)獲得信息并開始切換操作,其軟件設計流程如圖4 所示;
圖4 心跳線檢測流程
(2)內(nèi)總線采用RS-422 總線,模塊間也通過該總線發(fā)送測量和控制信息,通信異常時,系統(tǒng)接收關鍵數(shù)據(jù)可能出錯,導致災難性的后果。為確保相互之間數(shù)據(jù)交互和鏈路正常,設計了周期發(fā)送自身的狀態(tài)信息的任務。該任務周期性向其他模塊發(fā)送信息,信息中包含確定的包格式,當格式正確并且能夠周期收到數(shù)據(jù)時認為正常。當連續(xù)多次接收不到或接收到錯誤的其他模塊數(shù)據(jù),認為其他模塊故障,周期通信的周期設置為30ms,因此當模塊通信鏈路異常時,被發(fā)現(xiàn)的時間約為300ms,其軟件設計流程如圖5 所示;
(3)接收到切換信息時,根據(jù)圖2 的方式進行狀態(tài)切換;
(4)模塊本身檢測到故障以后,可根據(jù)當前工作狀態(tài)以及故障源進行工作狀態(tài)切換,自身故障后通過關閉心跳線的方式將狀態(tài)告知對等模塊。
檢測到故障以后,應當切換工作狀態(tài),軟件設計流程圖如圖6 所示。管理模塊切換工作狀態(tài)時,須給接口模塊發(fā)送切換信息,以確保所有板卡間狀態(tài)相互透明。接口模塊接收到命令后,應回復狀態(tài)信息給管理模塊。當接口模塊因模塊內(nèi)板卡失效而切換工作狀態(tài)時,須給管理模塊發(fā)送切換信息。管理模塊接收到命令后,應響應模塊工作狀態(tài)給接口模塊。
圖5 通信故障檢測流程圖
圖6 系統(tǒng)狀態(tài)切換流程
另外,在燃油管理計算機工作工程中,周期發(fā)送狀態(tài)信息。如果遇到外部接口無數(shù)據(jù)的情況,應當對比對等板卡的故障字,如果發(fā)現(xiàn)對等模塊采集數(shù)據(jù)正常則認為本模塊采集芯片故障。該故障邏輯能夠判斷采集芯片是否故障,提高了系統(tǒng)的可靠性。
經(jīng)過實驗室測量分別模擬自身故障、主狀態(tài)模塊心跳故障、通信鏈路故障、發(fā)送故障切換信息測量到產(chǎn)品進行狀態(tài)切換。切換時間大約為500ms 以內(nèi),響應速度快,實時性強。在外場試驗也取得良好的效果。
在一臺計算機內(nèi)部,采用關鍵板卡互為備份的方式,設計了雙余度燃油管理計算機系統(tǒng)。當系統(tǒng)正常工作時,互為備份的兩塊板卡通過總線相互監(jiān)控,提高了產(chǎn)品的狀態(tài)檢測能力;當主狀態(tài)板卡故障時,備份板卡能夠通過心跳線檢測,迅速切換工作狀態(tài),保障系統(tǒng)持續(xù)正常工作;與傳統(tǒng)的雙機備份方式相比,由于只采用一臺計算機,因此體積更小、生產(chǎn)成本更低;多型關鍵板卡的備份使得產(chǎn)品有多種重構(gòu)方式,提高了產(chǎn)品的容錯能力;由于采用硬件心跳線檢測故障的方式,因此響應更快。該雙余度燃油管理計算機系統(tǒng)試驗和使用過程中取得了良好的效果。