楊英楠 莊新偉 韓金良
(1.海軍工程大學 武漢 430000)(2.天津航海儀器研究所 天津 300131)
隨著艦船電子設備不斷向集成化和自動化方向發展,設備的硬件組成和模塊電路變得更加復雜,當設備發生故障時,需要繁瑣的測試才能查明故障原因,甚至只能更換整個模塊,這在大規模應用電子硬件的場所,既不經濟、又不便捷[1~3]。常用的故障診斷方法有人工神經網絡、小波分析和模糊推斷等[4~7],這些故障診斷方法效果較好,但診斷方式與對象大多局限于對故障現象的分析和預測,無法對硬件故障進行定位和原因分析。
隨著計算機技術和人工智能技術的發展,如何實現電子硬件的在線檢測與實時故障診斷,建立智能化的故障診斷系統,是故障診斷系統研究的主要方向[8~12]。為準確定位、隔離故障,加強設備的可靠性設計和應用,研究了一種基于神經網絡的節點模塊級硬件故障診斷方法,對提升設備的綜合使用能力和工作穩定性具有重要意義。
綜合監測模塊能夠對反射內存模塊的電流、電壓、溫度等硬件數據進行監測,實時判斷模塊的運行工作狀態。綜合監測模塊硬件電路原理圖如圖1所示,模塊以ARM處理器為核心,通過外部檢測電阻、多路模擬開關和溫度傳感器等實時獲取反射內存模塊中關鍵節點的運行數據,將運行數據與正常工作閾值進行比較,可進一步判斷節點運行狀態和模塊的工作狀態。

圖1 綜合監測模塊硬件電路原理圖
綜合監測模塊基于ARM處理器,軟件設計包含主程序和中斷服務程序兩部分。主程序的主要任務是實現IO口、串口、A/D、D/A、溫度傳感器等的初始化。中斷服務監聽程序用于設定溫度、電流、電壓和電源的采樣頻率和采樣時間,以及設定測試FPGA處理器和存儲器的時間間隔。當發生中斷請求時,綜合監測模塊會執行相應的中斷操作,然后將測試結果與正常閾值進行比較以判斷測試數據是否正常,若異常則進入故障處理程序對模塊故障進一步定位。
分析艦船電子設備中反射內存模塊的故障模式,主要有處理器故障、光電轉換模塊故障、存儲器故障和電源故障等,每種故障模式在實際運行過程中又會有多種不同的故障表現形式。
同種故障模式可能對應著多種故障特征,整理出12種主要故障特征碼如表2所示,其中前9種故障特征碼包含3種狀態,后3種故障特征碼包含兩種狀態。

表1 反射內存模塊主要故障模式

表2 反射內存模塊主要故障特征
反射內存模塊的故障定位與診斷是一個需要考慮多種節點因素的復合問題,以模塊中的處理器異常為例,除處理器本身故障外,還有可能是電路故障,建立處理器的電路故障診斷表如表3所示。

表3 處理器電路故障診斷表
根據表3可以發現,同一故障模式可能對應著多種不同的節點故障狀態,將不同的節點故障狀態進行組合又可以衍生出多種不同的故障模式,而通過對故障影響因素進行綜合考慮,可以找到確定唯一的故障原因,即故障模式與故障原因之間存在一一對應的非線性數學聯系。通過對所有故障模式、故障特征和故障狀態進行梳理,建立故障診斷表,使得基于艦船電子設備節點模塊級故障模式確定故障原因成為可能。
綜合考慮反射內存模塊故障診斷模型的復雜度和診斷效率,采用3層BP神經網絡,設定輸入層、隱含層和輸出層的神經元數目分別為m、n和k,定義p=(p1,p1,......,pm)為神經網絡的輸入向量,hi=(hi1,hi2,......,hin)和ho=(ho1,ho2,......,hon)為隱含層的輸入和輸出向量,yi=(yi1,yi2,......,yik)和yo=(yo1,yo2,......,yok)為輸出層的輸入和輸出向量,d=(d1,d2,......,dk)為網絡的期望輸出,wij和ujt分別為輸入層到隱含層和隱含層到輸出層的連接權值,θj和δt分別為隱含層和輸出層的閾值,其中i=1,2,…,m,j=1,2,…,n,t=1,2,…,k。基于期望輸出d和實際輸出yo計算網絡誤差E為

分析反射內存模塊的異常狀態數據與故障征兆,選取輸入層節點數為a為12,輸出層節點數b為4,基于經驗公式估算隱含層節點數S為8。
首先基于故障診斷案例和仿真模擬數據等對神經網絡模型的式(1)進行訓練,不斷調整網絡連接權值使網絡誤差最小,進而建立硬件運行狀態(輸入)與故障模式(輸出)之間的非線性數學關系;當模塊功能失調或者硬件節點監測數據異常時,診斷模型能夠應用故障模式與硬件運行狀態之間的非線性數學關系,以及模塊中節點的采集數據狀態,基于正向推理、反向推理和混合推理三種機制對故障進行判斷和原因定位;對于新增的故障診斷案例和診斷經驗,可通過人機交互接口輸入故障診斷模型,對神經網絡模型進行再訓練,使其不斷優化。
分析艦船電子設備中反射內存模塊的常見故障特征狀態和故障模式,建立得到仿真驗證數據。例如當PA[4]=1,PV[4]=1,RM[1]=1時,可認為是由電壓過高引起的FPGA處理器故障。
基于仿真驗證數據,建立故障特征狀態數據向量為X= (x1,x2,......,x12)=(PT[1],PV[1],……,PM[1]),以及故障模式向量為Y=(y1,y2,......,y4)=(RM[1],RM[2],…,RM[4]),采用收斂較快的Levenberg-Marquard訓練函數,設置訓練精度為E-10,最大訓練次數為10^6,對上述神經網絡模型進行訓練得到反射內存模塊故障診斷模型。
基于反射內存模塊故障特征碼代入故障診斷模型計算出故障模式碼,然后將實際故障模式碼與期望故障模式碼進行對比,得到故障模式碼對比如圖2所示。若已知故障模式碼和部分故障特征碼,代入到故障診斷模型進行計算,將計算得到的故障特征碼與期望故障特征碼進行對比,得到故障特征對比如圖3所示。

圖2 故障模式碼對比圖

圖3 故障特征碼對比圖
由圖2中數據可知,實際輸出故障模式碼相對期望輸出故障模式碼的平均相對偏差主要在10%以內,最大平均相對偏差不超過15%,表明該故障診斷模型能夠依據艦船電子設備模塊級故障特征碼推算出故障模式碼。由圖3中數據可知,實際輸出故障特征碼相對期望輸出故障特征碼的平均相對偏差主要在10%以內,最大平均相對偏差不超過15%,表明該故障診斷模型能夠依據故障模式和部分故障特征推算出其他故障特征。
為進一步驗證模型的故障診斷能力,將反射內存模塊中通向處理器的電流切斷,以造成處理器故障。
測試條件為正常工作溫度26℃,正常工作電壓3.3V,設定電流的最小故障診斷閾值為5mA,即認為工作電流低于5mA時發生斷路。將通向處理器的電流切斷后,故障特征向量X=(PT[1],PV[1],…,PM[1])=(0,0,0,0,2…,0),此時綜合監測模塊與反射內存模塊的收發數據功能異常,提示為處理器異常,故障模式向量為Y=(RM[1],RM[2],…,RM[4])=(1,0,0,0)。經故障診斷模型進行診斷,診斷結果為由于處理器供電電路斷路引起故障,符合神經網絡模型對故障特征向量X和故障模式向量Y的計算結果。將通向處理器的電流恢復正常后,反射內存模塊工作正常,將上述操作重復10次,故障診斷模型均能診斷出由于處理器供電電路斷路引起故障,表明故障診斷模型能夠對艦船電子設備中反射內存模塊故障進行正確定位和檢出。
以艦船電子設備的反射內存模塊為例,通過設計綜合監測模塊和故障診斷對照表,提出了基于神經網絡的節點模塊級硬件故障診斷方法。通過開展反射內存模塊故障特征碼和故障模式碼互相求解的驗證實驗,結果表明基于神經網絡的故障診斷模型能夠依據故障特征推算出故障模式,同時能夠依據故障模式和部分故障特征推算出其他故障特征。最后通過切斷電流造成處理器故障的方式,對故障診斷模型進行實例驗證,表明診斷模型能夠對反射內存模塊故障進行正確定位和檢出。通過在艦船電子設備中設計更多的綜合監測模塊,可實現對整個設備的故障定位和診斷,且隨著模型對新的故障特征和故障模式進行持續學習,其故障診斷精度將會進一步提高。