崔展博,焦梅素,王德輝,汪 浩,高云紅
(1.石家莊海山航空電子科技有限公司 工程技術(shù)部,石家莊 050200;2.沈陽航空航天大學 自動化學院,沈陽110136)
隨著計算機技術(shù)和航電系統(tǒng)的快速發(fā)展,飛機的飛行控制系統(tǒng)大都采用數(shù)字式飛行控制系統(tǒng)。為了保證飛行安全,余度技術(shù)可以有效地提高飛控計算機系統(tǒng)的可靠性和容錯能力[1],系統(tǒng)的可靠性要求很高,采用余度技術(shù)可以從根本上提高系統(tǒng)的容錯性與殘存能力[2]。余度技術(shù)的核心部件飛控計算機(FLCC)大都采用多余度數(shù)字飛行控制計算機,飛控系統(tǒng)各通道計算機之間采取交叉對比表決的方式,工作方式采用熱備份[3],具有確保故障安全的能力[4],在一定條件下可實現(xiàn)故障工作或故障降級工作[5],從而保證了系統(tǒng)的安全性與可靠性[6]。另一方面,多余度數(shù)字飛控計算機可實現(xiàn)在線檢測飛控系統(tǒng)功能、發(fā)現(xiàn)故障及隔離故障部件的功能[7]。
在系統(tǒng)進行余度管理時[8],飛機的控制算法對飛行安全十分重要,首先需要完成的工作就是機載多臺飛控計算機(工作在同一拍中進行)之間的同步[9]。在當前國內(nèi)外的FLCC中[10],計算機的工作方式有同步工作方式和異步工作方式兩種。同步工作方式時多個計算機同時采集傳感器數(shù)據(jù)[11],多臺計算機的采樣與控制不能夠統(tǒng)一,也許A 機發(fā)送上一拍的控制程序,而C 機正在采樣下一拍的數(shù)據(jù)。同時進行控制算法計算、并同時輸出計算結(jié)果給飛機的作動系統(tǒng)[12],當多個計算機均無故障時不會有輸出不一致現(xiàn)象,而如果多余度計算機異步工作或同步則會帶來不同計算機通道邏輯運算走不同支路以及輸出指令的差異較大、穩(wěn)定儲備降低等問題[13]。外場陸續(xù)有飛行過程中報“飛控一次”故障的某飛控計算機(地面BIT檢測合格)進行返修[14]。本文討論某型飛控計算機外場空中“飛控一次”的故障概述、故障原因、故障機理、更改方案及處理措施等。通過外場提供反饋,通訊故障及同步故障適用于與上述故障類型相同的某型飛控計算機或該系統(tǒng)改進型飛控計算機產(chǎn)品[15]。
同步算法的實現(xiàn),需要采取標準的同步信號總線,各通道在每一個時刻只與飛控計算機兩個RT中的一個進行通訊。正在通訊的RT為“閑”狀態(tài),處于熱備份的RT為“忙”狀態(tài),當正在通訊的RT出現(xiàn)故障可切換到另一個備份的RT,并依次完成“閑”與“忙”及“忙”與“閑”的轉(zhuǎn)換,使用飛控計算機的I /O口來實現(xiàn)這個功能。為了解決較高速度的I /O接口影響主處理機乃至整個飛控計算機性能的問題,多余度飛控計算機采用了局部I /O控制器技術(shù)。該I /O控制器按照主處理機的命令完成所有模擬量的A /D轉(zhuǎn)換、飛控計算機各通道之間的交叉數(shù)據(jù)鏈路(CCDL)的傳輸、標準總線通訊及其自檢測(BIT)等功能,從而使主處理機有更多的時間進行系統(tǒng)管理和控制律的計算,保證了整機系統(tǒng)的高性能,識別并對故障進行精確定位。
數(shù)字式飛行控制計算機經(jīng)驅(qū)動完成后,按照飛行控制軟件(包括操作系統(tǒng)調(diào)度軟件及其控制律計算等應(yīng)用軟件)的指令,完成增穩(wěn)、控制增穩(wěn)及自動駕駛儀等功能,圖1所示為實現(xiàn)同步算法的硬件連線。本文以三或四通道為例,說明飛控計算機作為飛行控制系統(tǒng)的核心部件與系統(tǒng)中的各種傳感器部件、執(zhí)行機構(gòu)等進行交聯(lián),并能達到一次故障工作、二次故障安全的故障容限等級。多臺飛控計算機用以下方式進行連接(本文以三或四余度為例說明),即一臺飛控計算機輸出同步信號給其他幾臺,并接收其他幾臺計算機的同步輸出信號,進行握手協(xié)議,這樣同步的硬件就可以實現(xiàn)了,下面就可以用軟件實現(xiàn)同步算法了。
余度管理的基本功能是檢測飛控系統(tǒng)中的故障及隔離故障部件通過監(jiān)控和表決余度信號來實現(xiàn)。系統(tǒng)內(nèi)所有余度通道采用了相同的工作程序,即采用了相同的輸入、相同的處理和計算、相同的輸出。通道間同步信號連接如圖1所示。
圖1 通道間同步信號連接圖
余度管理是保證余度系統(tǒng)完整性,確保飛行安全并順利完成任務(wù)的關(guān)鍵。傳感器及機上部件的信號(模擬、離散、數(shù)字)輸出處及飛控計算機輸出指令處都要進行余度管理。余度管理是在計算機內(nèi)設(shè)一個伺服器模型與實物伺服器輸出進行比較監(jiān)控;平尾和副翼通道的伺服器監(jiān)控則由液壓監(jiān)控閥實現(xiàn)。監(jiān)控功能應(yīng)向表決器提供有關(guān)信號的可用性以及在表決算法中應(yīng)使用的輸入信號等信息。在全部同名輸入信號均已被認為發(fā)生永久故障的情況下,監(jiān)控功能應(yīng)根據(jù)信號的性質(zhì)與作用,按不同的算法處理(申報合適的故障或不申報故障)或命令表決器輸送不同的故障安全值。
輸入信號監(jiān)控用于對全部三余度信號與二余度信號進行監(jiān)控,在信號發(fā)生永久故障的情況下,監(jiān)控算法將進行重構(gòu)以保證在監(jiān)控算法中不再包含已經(jīng)發(fā)生永久故障的信號(多余度表決線路硬件框架如圖2 所示)。
圖2 多余度表決線路硬件框架
數(shù)字式飛行控制系統(tǒng)所有功能的實現(xiàn)均依賴于系統(tǒng)軟件正確可靠的運行(同步算法流程圖如圖3所示)。飛控系統(tǒng)軟件分別駐留在飛行控制計算機中,通道間的異步度限制在50ms之內(nèi),系統(tǒng)軟件與硬件一起協(xié)調(diào)工作實現(xiàn)系統(tǒng)的控制與穩(wěn)定。計算機加電或復(fù)位后由跳轉(zhuǎn)指令引導而進入系統(tǒng)啟動程序,當?shù)谝淮瓮郊撮_機同步成功后就進入50 ms任務(wù)運行同步,同步等待的時間為50 ms。軟件完成計算機初始化管理、余度管理的初始化,若在同步等待時間內(nèi)沒有收到同步信號,則系統(tǒng)延時一拍啟動同步恢復(fù)進行計算機加電BIT測試,同步恢復(fù)的時間為51ms,大于最小監(jiān)控周期50 ms。若同步恢復(fù)成功則進入50 ms任務(wù)并等待下一次同步。若同步恢復(fù)也失敗則記錄同步永久故障,該通道停止輸出進入死循環(huán)。此時系統(tǒng)已經(jīng)降級為二余度系統(tǒng),若再次出現(xiàn)同步失敗則雙通道同時進入同步恢復(fù),而后依據(jù)輸入的有關(guān)信號進行地面和空中的任務(wù)模塊轉(zhuǎn)換調(diào)度。
圖3 同步運行算法流程
外場反饋,某型飛機飛控計算機在飛行過程中會報“飛控一次”故障,故障計算機返回后,課題組結(jié)合經(jīng)驗對故障產(chǎn)品進行多項環(huán)境試驗,故障復(fù)現(xiàn)的同時對該典型故障做了機理分析。
故障現(xiàn)象:在溫度循環(huán)測試時,某通道計算機報“飛控一次”故障,課題組借助邏輯分析儀,通過系統(tǒng)設(shè)備串口數(shù)據(jù)發(fā)現(xiàn)CPU進0D中斷,讀取故障計算機NVRAM區(qū)信息。通過邏輯分析儀采集波形分析,當邏輯分析儀采集觸發(fā)時,從觸發(fā)點向前找,發(fā)現(xiàn)前面的地址鎖存信號個別丟失,造成CPU訪問的存儲器地址空間片選信號無效,使得CPU模塊的讀/寫數(shù)據(jù)不正確,從而造成飛控計算機“飛控一次”故障(采集的波形如圖4)。
圖4 飛控計算機“飛控一次”故障采集的波形
此處片選信號的主要作用是在機上測試通訊傳輸,負責各并行通道計算機之間的回繞傳輸以測試飛控計算機的通訊狀態(tài),當某一通道計算機的輸入信號(如晶振產(chǎn)生的起振頻率)異常,會導致RT終端得到錯誤信息,通訊會產(chǎn)生異常。再通過J-K觸發(fā)器(54F109)分頻為20MHz(CLK#,周期50ns)提供給CPU(80486DX)和可編程邏輯器件CPLD使用,并通過CPLD的邏輯譯碼產(chǎn)生片選信號。
圖5 丟失片選負脈沖信號原因分析圖
用邏輯分析儀采集到的丟失的片選信號波形如圖5所示。由于片選負脈沖信號的丟失造成CPU訪問存儲器地址空間時的片選及讀/寫(MRD#/MWR#)信號無效,CPU的讀/寫數(shù)據(jù)不正確,造成CPU執(zhí)行指令錯誤產(chǎn)生了內(nèi)部保護性中斷,即0D中斷。造成丟失片選負脈沖信號的原因分析如下。
(1)通過對圖5的分析,發(fā)現(xiàn)圖5中③位置ADS#下降沿到CLK2B上升沿時間為4ns,當這段時間較小時,CLK2B上升沿時無法采集到需要的高電平信號(高電平信號的邏輯:ADS#信號反向“邏輯與”CLK#信號,即~ADS# & CLK#),從而無法產(chǎn)生片選負脈沖信號;
(2)結(jié)合片選信號產(chǎn)生原理,可以得出圖5中①位置的時間取決于不同批次J-K觸發(fā)器器件(F109)的參數(shù),圖5中②位置的時間取決于不同批次CPU處理器(80486DX)的參數(shù);
(3)通過上述(1)和(2)的分析,認為給出的時間余量偏小是造成片選負脈沖信號丟失的原因。
鑒于目前2008年前生產(chǎn)的某型飛控計算機未發(fā)現(xiàn)報“飛控一次”故障的情況,我們采用對比分析的方法,采集2008年前生產(chǎn)的CPU板上片選信號。
(1)用同樣型號的邏輯分析儀采集CPU板上的CLK2B、CLK#、ADS#和片選信號,采集的波形如圖6所示。
(2)通過圖4和圖5的對比分析,發(fā)現(xiàn)由于相關(guān)器件不同批次的參數(shù)的差異造成了ADS#下降沿到CLK2B上升沿之間時間的余量不同。當ADS#下降沿到CLK2B上升沿之間時間處于臨界點時無法產(chǎn)生片選負脈沖信號。
圖6 CPU板CLK2B、CLK#、ADS#和片選信號采集圖
(1)糾正措施
通過上述故障分析,對可編程邏輯器件CPLD內(nèi)的邏輯進行優(yōu)化設(shè)計,由于CLK2B為25ns的時鐘周期,定時發(fā)送的周期設(shè)置為50ns的負脈沖有效信號,這樣在CLK2B上升沿至少可以采到一個ADS#的低電平,從而保證了ADS#信號經(jīng)過CLK2B上升沿兩次同步鎖存處理綜合后產(chǎn)生的片選負脈沖信號(25ns負脈沖)不會丟失。
(2)驗證情況
首先將一套計算機中的一臺計算機寫入原來邏輯,將另兩臺計算機寫入更改后的新邏輯,進行高低溫試驗。一臺計算機報“飛控一次”故障,再將第二臺計算機的邏輯改成新邏輯試驗進行三個溫循試驗,故障不復(fù)現(xiàn);又將第二臺計算機的邏輯改成原來的邏輯,在高溫時故障常在并且每次關(guān)電后再開電故障很快復(fù)現(xiàn)。這時候?qū)⑦壿嫺某尚掳孢壿嫻收舷?,再改成原邏輯故障?fù)現(xiàn),重復(fù)五次現(xiàn)象一致。將第二臺計算機的邏輯改成新邏輯后(三臺都為新邏輯)經(jīng)過一天試驗故障不復(fù)現(xiàn)。
(3)舉一反三情況
對某型飛控計算機其它板組件邏輯進行清查,未發(fā)現(xiàn)有類似情況。
多余度飛控計算機運行方式的評估與確認是一項重要的工作,某型飛控計算機CPU板邏輯地址信號給出的時間余量偏小及器件參數(shù)變化是造成片選負脈沖信號丟失的原因。本文通過具體實例的軟硬件設(shè)計,針對外場報“飛控一次”的故障機理,給出了一種余度飛控計算機排故的可行性思路,片選負脈沖信號丟失是造成外場飛控計算機報“飛控一次”的原因。該方法例證了多余度飛控計算機各通道采樣時刻可以略有不同,即各通道采樣值必須表決后送給模擬輸入信號板做相應(yīng)處理,這是余度計算機排故的理論基礎(chǔ),而通過對CPU板邏輯的優(yōu)化,可排除因此造成的飛控計算機報“飛控一次”的故障,為飛控系統(tǒng)余度計算機的排故提供了借鑒。