摘 要:應用故障注入方法對系統進行檢測是提高系統可靠性的有效途徑。針對某型雷達檢測系統的特點,通過對故障注入技術的研究,設計出相應的故障注入系統,給出一套完整的故障注入系統框架和軟件總體的功能設計,基于集成度高、體積小的單片機系統,可對雷達檢測裝備系統的容錯能力進行考查和驗證。該系統可成功注入故障,具有操作簡單、實時注入、性價比高、機動性好等突出優點。
關鍵詞:雷達檢測;故障診斷;單片機;故障注入
中圖分類號:TP274+.2;TN959.72文獻標識碼:A
文章編號:1004-373X(2010)05-028-04
Research and Design of Fault Injection System for Radar Testing System
WANG Peiyuan1,WU Guoqing2
(1.Ordnance Engineering College,Shijiazhuang,050003,China;2.Institute of Ordnance Technology,Shijiazhuang,050003,China)
Abstract:Fault injection method is one of available ways to check the system′s reliability.Aiming at characteristics of the radar testing system,according to the research of fault injection technique,and a fault injection system is designed.In accor-dance with the test of radar testing system which is based on integrated and small single chip microcomputer,a set of complete fault injection system framework is introduced.It can inject fault successfully,and has merits of easy operation and control,real-time injection,better cost performance and maneuverability.
Keywords:radar testing;fault diagnosis;single chip microcomputer;fault injection
0 引 言
在陸續列裝部隊的大量新型雷達裝備中,集成電路的規模越來越大,芯片集成度的提高使得電路的測試越來越困難,這就對雷達檢測裝備的性能提出了更高的要求。但是由于雷達檢測裝備所處地理位置的特殊性,更易受到溫度、濕度、鹽霧、霉菌等自然因素,以及電磁兼容、電磁干擾等人為因素的影響而發生故障,更兼雷達檢測裝備的布局分散,點多、線長、面廣,所以為了減小其保障的難度,有必要提高雷達檢測裝備系統的可靠性。
雖然在當前通用或專用的各種雷達檢測裝備中都具備系統自檢的功能,但這只是一種基于軟件的事后的評估行為,只能對裝備的性能優劣做出估計,不能對提高裝備性能起到重要的作用。只有充分保證了雷達檢測裝備的可靠性和容錯能力,才能從根本上解決當前雷達檢測裝備保障能力缺乏,難以滿足部隊保障實際需要的現狀。
因此,可以利用容錯技術來提高雷達檢測裝備的可靠性。在開發雷達檢測裝備容錯系統過程中的關鍵步驟是對容錯機制的測試和評價,而故障注入則是一種有效測評容錯機制的試驗方法。通過人為產生單故障或多故障引入檢測系統電路中,促使其發生故障和提高失效的速率,來加速測評容錯機制的試驗過程,從而獲得電路的故障覆蓋率[1]。這種方法可以為雷達檢測系統電路的測試性設計與驗證提供技術支持和保障,將有力地推動新型雷達檢測裝備測試性設計和驗證工作的開展。
1 故障注入方法概述
故障類型包括硬件故障和軟件故障兩大類,故障注入方法目前主要有三種:仿真故障注入、軟件故障注入和硬件故障注入[2],如圖1所示。
圖1 故障注入分類圖
仿真故障注入方法即對相關電路建立數學模型,通過軟件仿真程序,改變有關節點的信號參數以達到故障注入的目的,回收仿真結果并檢查故障影響。這類方法不需要硬件支持,但嚴重依賴于被測電路的數學模型,并且難以考慮實際芯片的個體差異性能,不能模擬突發性的故障,因而可信度較低,實時性差。
軟件故障注入方法是通過修改存儲器或寄存器內容來模擬硬件或軟件故障的發生,通過改變軟件執行的指令系統、數據,或在軟件中預設故障程序等方法來實現。這種方法能夠方便地跟蹤目標程序的執行并回收數據,不需要昂貴的硬件開銷,常用的方法有預編譯靜態注入和運行時陷阱中斷動態注入兩類。
硬件故障注入方法需要專門的硬件設備,實際模擬真實的故障信號,重構故障??梢栽敿毜胤治龉收献⑷雽Ρ蛔⑷朐挠绊?,通過改變硬件電路芯片引腳電平來注入故障,改變芯片的邏輯功能。這種方法主要針對某故障注入點固定高或固定低等永久性故障,便于控制故障注入點,可通過非接觸/接觸式進行故障注入[3]。
2 雷達檢測系統故障注入器設計
本文提出的雷達檢測系統故障注入器應具備通用性、方便性和實用性。通用性是指故障注入器可以任意組合,用于各種具有可測性接口的電路模塊。方便性和實用性是指在實際使用故障注入器時,不需要插拔芯片就可以通過某個測試接口進行故障注入[4]。此外要求故障注入器具有較好的信號隔離能力和信號驅動能力,防止因故障注入器的投入使被測對象的性能受到影響。
故障注入器系統采取模塊化、結構化的設計思想,其結構如圖2所示。計算機中是故障注入管理軟件,用于對故障注入器進行參數配置、故障加載控制以及對故障注入結果的處理[4]。故障注入器借鑒VXI和PXI機
箱的插卡式結構,分別設計了母卡、主控制卡和可模擬各類故障的子卡,主控制卡和子卡用單片機系統實現,計算機采用筆記本電腦,可實現總體設計的體積小、便攜的目的,有利于提高雷達檢測裝備的機動保障能力。
圖2 故障注入器系統結構
2.1 故障注入器硬件系統設計
故障注入器由一塊母卡,一塊主控制卡和八塊子卡組成,主控制卡和子卡分別插在母卡的插槽上。母卡負責信號的轉接分配,提供各塊插卡的信號及電源,并負責驅動前面板LCD顯示。主控制卡負責與計算機通信,采用串行通信方式管理各個子卡,實現故障輸入,其主要硬件總體設計如圖3所示。
電源模塊主要是提供整個故障注入器各個模塊的電源。它將9 V交流電源經過BRIDGE2整流電路后,產生±12 V的電壓,再經78ST205變換后提供各單片機系統和LCD顯示系統所用的5 V電壓。當某子卡插入時,LCD顯示“在線子卡:X”,當被測系統有故障注入時,LCD顯示“工作”,否則顯示“等待”。自變壓器引入的15 V電源同樣經BREDGE2整流后,經7812和7912變換后產生±12 V電壓與自主控制卡DAC0832數模轉換電路輸出的電壓信號一起供給LM741電路,經變換和放大后產生故障電源輸出信號。由于自主控制卡引出的電壓信號是可變信號,因此故障電源輸出信號可產生不同的電壓變化,供給被測系統UUT。
圖3 故障注入器系統硬件結構
主控制卡是故障注入器的中樞,控制整個系統的工作。它通過MAX232芯片和ST16C550異步收發器組成通信電路和計算機進行通信。在ST16C550接收到計算機傳來的數據后,AT89C51讀取其中的數據并存儲。同樣,發送數據時,AT89C51將數據寫入ST16C550將數據發出。各個子卡的AT89C51單片機的TXD,RXD引腳可分別與主控制卡上AT89C51單片機的TXD,RXD引腳相連,進行通信。
故障注入子卡是分別針對被測系統中不同的故障注入節點設計的,共有8塊,任一子卡均可向其所對應的節點注入16種典型數字電路故障。故障模擬電路是子卡的核心,在子卡上設計了兩路相同的故障模擬電路,這樣就可以分別對被測系統的兩個故障注入節點注入故障[4]。在注入方式上可分為后驅動注入方式和雙向電子開關注入方式。
后驅動注入方式不需設置相應的故障注入接口,將故障注入探針與被注入故障的電路管腳接觸,在被測器件的輸入級 (前級驅動器件的輸出級) 灌入或拉出瞬態大電流,迫使其電位按要求變高或者變低,達到對被測器件在線施加測試激勵的目的[3]。
本文采用的基于雙向電子開關注入方式可設計有故障注入接口的任何數字電路,其中74LS244隔離電路用于對被注入系統的有關信號進行緩沖驅動,同時還實現對當前故障信號的隔離,用來防止故障注入器對被測系統的干擾。故障模擬電路則利用從被測系統取來的原始信號或由單片機產生的有關信號構成一組故障信號源,選擇故障信號源中的某一個信號作為當前故障信號,進行故障注入。
2.2 故障注入器系統軟件設計
故障注入器軟件包括主控制卡和子卡程序,這兩部分可以采用MCS-51匯編語言編寫。為了不隔斷系統工作流程的整體性,整個故障注入器系統工作流程如圖4所示。
主要軟件工作流程如下[5]:
(1) 上電,啟動計算機和被測電路,進行硬件初始化。
(2) 計算機軟件啟動,檢測系統是否在正常運行。
(3) 建立故障參數表,每個故障的注入都要確定一系列的故障特性參數,故障注入前應選擇故障類型來定義這些參數。
(4) 故障注入。故障注入分兩步進行,主控制卡向子卡故障注入模塊發出一組故障參數,并保存在故障注入模塊的存儲文件中。主控制卡向子卡故障注入模塊發送故障注入的命令,同時發送同步信號給被測系統,被測系統以此作為檢測到故障所需時間的基準。子卡選擇通路模式,選擇單通路或雙通路模式,并生成控制字,開始按照一定的時序向被測系統注入指定故障,同時發送同步信號到模擬測試模塊,以便確定模擬檢測故障所需的時間。
圖4 故障注入器程序流程圖
(5) 系統進行故障采集,對故障現象分析及定位,并將正常輸出值和注入故障后的輸出值進行比較,判斷雷達檢測系統UUT是否故障。
(6) 主控制卡從故障模擬模塊接收故障診斷信息,其中包括故障是否被檢測到,檢測到的時間等信息,并將這些信息顯示給用戶。
2.3 計算機系統軟件設計
計算機軟件是整個系統的管理核心,用于設置故障注入參數、指揮故障注入器產生各種故障模式并對故障注入結果進行分析和后處理。它由五個模塊組成,分別為參數建立、數據庫管理、故障加載、故障現象采集與顯示和系統評價模塊。五個模塊彼此間交流是通過外部數據文件進行的,它們之間以及與用戶之間的關系如圖5所示。
參數建立模塊通過編寫用戶界面,提供給用戶一個建立故障注入參數的環境,并將用戶輸入的故障參數存放在一系列故障注入參數表中,還可以通過調用故障注入類型數據庫實現注入軟件故障。故障加載模塊調用由參數建立模塊提供的放有故障注入參數表的數據文件,通過信息交換接口將信息傳遞給故障注入單元,再由故障注入單元按照參數要求向被測系統注入單個的或復合的故障。故障現象采集與顯示模塊收集被測系統在被注入故障后的故障注入有效性信息,信息通過注入接口傳遞給該模塊,再進一步將該信息傳遞給系統評價模塊,以供系統分析用。實時顯示故障注入進程和故障注入的有效性信息,通過編寫用戶界面,將這些信息實時地顯示給用戶[4]。系統評價模塊根據測試結果作事后分析與評價,向用戶提供可靠性參數。
圖5 計算機系統軟件關系圖
3 故障注入器在雷達檢測平臺的應用
自20世紀70年代故障注入被應用以來,評估容錯系統可信性尤其是測量容錯機制效率幾乎成為故障注入的惟一應用。直至80年代中期故障注入才開始在更為廣泛的領域中被應用[5]。本文研究的雷達檢測平臺可以針對多種不同型號的裝備進行故障診斷,故在基于PXI或VXI的雷達檢測系統中,各種通信適配卡組成的通信適配器是故障注入器的主要應用對象,主要可以實現以下幾種功能:
(1) 測評雷達檢測平臺容錯機制
主要是用來測試雷達檢測系統容錯機制的正確性,并對其進行故障處理運行效率的評估。在設計和實現雷達檢測系統容錯機制時無法避免故障的存在,當面對其設計中試圖處理的故障時,實際行為與期望行為之間往往產生偏差。故障注入器就是試圖通過驗證,揭示在設計和實現時引入容錯機制中的故障。
(2) 測評雷達檢測平臺驗證過程
雷達檢測平臺驗證過程是指確認硬件或軟件原型的設計和實現,本文單指對硬件電路的測試向量測試過程。硬件測試向量集隨機或人工生成,通過已注入故障與未注入故障時電路的運行結果的比較,確定是否可以檢測到被注入故障類型,多次進行的結果可用于評價給定測試向量集的故障檢測覆蓋率。
(3) 為雷達檢測生成故障字典
在較低層次上用利用故障注入器進行故障注入,在較高層次上對結果進行 監視、 記錄和分析,可生系統專用故障字典。這在研究故障模式在不同層次上的表現和生成較高層次上的故障模型等方面發揮了重要作用。
4 結 語
在某雷達檢測平臺系統中,采用故障注入方法將實現對系統硬件性能的檢測,可驗證故障診斷系統的可靠性和穩定性,并降低故障診斷系統對實際裝備的影響程度。該故障注入器便于組合和擴展,具有易操作、機動性好的優點,基本可以滿足測試性驗證中對需注入的故障樣本進行注入的需求。但其注入故障的數量不多、類型少,而且只能對硬件進行故障注入,不能實現對系統軟件的性能檢測等缺點也需要繼續改進。通過有效驗證,故障注入技術必將在改善雷達檢測設備的測試性、維修性和可靠性方面發揮重要作用。
參考文獻
[1]孫峻朝,李運策,楊孝宗.故障注入研究的一種理論框架[J].小型微型計算機系統,1999,20(11):816-819.
[2]卞春江.航空發動機電子控制器BIT設計及驗證技術研究[D].南京:南京航空航天大學,2005.
[3]蘭峰楓.發動機數控系統BIT驗證及先進測試方法研究[D].南京:南京航空航天大學,2006.
[4]高毅.智能測試適配器設計[D].南京:南京航空航天大學,1999.
[5]張曉杰,王曉峰,金曼.基于機內測試的故障注入系統設計[J].北京航空航天大學學報,2006,32(4):430-434.
[6]張艷紅,易志虎.導彈故障診斷系統中的故障注入方法研究[J].彈箭與制導學報,2007,27(3):292-294.
[7]吳國慶.炮兵指揮控制系統仿真與測試及其應用研究[D].北京:北京理工大學,2007.
[8]徐萍,康銳.測試性試驗驗證中的故障注入系統框架研究[J].測控技術,2004,23(8):12-14.
[9]朱鵬,張平.基于單片機的故障注入系統[J].計算機測量與控制,2004,12(10):996-998.
[10]張天宏,李璇君,辛季齡.智能化BIT測試適配器研究[J].數據采集與處理,1999,14(4):462-466.