嚴豪杰,陳 哲,張涵中
(1.中國人民解放軍93170 部隊,陜西西安 710089;2.中航工業西安飛機工業集團有限公司,陜西西安 710089)
PHM(Prognostics and Health Management,故障診斷與健康管理技術)作為航空裝備新一代測試與診斷技術,不僅能最大限度保障航空裝備的運行安全,提高完成任務的能力,而且對新型號航空裝備適應二級維修體制需要,減少全壽命周期維護費用具有重要的作用。PHM 系統維護自檢不通過會導致PHM系統全部功能失效,無法對飛機進行故障診斷和健康監測,嚴重影響飛機架次出動率和完成既定任務的能力。
某飛機在進行地面通電檢查時,發現PHM 系統維護測試自檢結果為“未通過”。在試驗室引出故障件PHM 系統模塊調試串口,模擬故障發生時的機載環境,復現故障,查看PHM 系統軟件在維護測試自檢過程中的串口信息,發現故障發生時,系統維護自檢過程中串口信息顯示“PCI-to-PCI bridge connection found Error! ”。進一步將PHM 系統在試驗室測試臺上進行模塊測試,模塊測試過程中多次報“PCI-to-PCI bridge connection found Error! ”,根據故障上報信息,將PHM 系統維護自檢不通過故障原因定位為PCI 橋連接故障。
PHM 系統模塊由MMM-CPM 基板(下文簡稱為CPM 板)和MMM-MEM 背板(下文簡稱為MEM 板)組成,CPM 板和MEM板通過PCI 總線分別連接到PCI 橋芯片(PCI6466)的A、B 端口,通過PCI 橋芯片建立通信。在進行維護自檢時,CPM 板接收系統維護指令,對CPM 板中各芯片進行自檢,并通過PCI 橋芯片將自檢指令發送至MEM 板,要求MEM 板各芯片完成自檢,并將自檢結果通過PCI 橋芯片返回CPM 板,CPM 板將自檢結果統一上報至PHM 系統進行維護。CPM 板和MEM 板在進行數據通信前,需要分別對PCI 橋芯片的A、B 端口進行初始化,建立A、B 端口的映射關系。CPM 板、MEM 板與PCI 橋芯片的互聯關系如圖1 所示。

圖1 CPM 和MEM 與PCI 橋芯片互聯示意
根據PCI 橋的工作原理,將PCI 橋連接故障作為頂層事件,建立故障樹(圖2),對可能引起PCI 橋連接故障事件進行逐項排查分析。

圖2 PCI 橋連接故障樹
3.1.1 X1.1 供電電路故障排查
PCI6466 主要有3.3 V 和1.8 V 兩種供電電壓,與模塊內其他芯片共用,均為LTM4600 DC/DC 轉換器由5 V 供電轉換而成。查詢PCI6466 芯片手冊,其中要求3.3 V 要早于1.8 V 先上電或與1.8 V 同時上電,但兩者之間的時間差不能超過10 ms,且最好使兩個電壓的爬升曲線基本一致,保證在電壓爬升過程中3.3 V 始終比1.8 V 至少高500 mV。測量PCI 板內3.3 V和1.8 V 的電源上升曲線,可以看出兩種電壓的爬升曲線樣式基本相同,在上電過程中3.3 V 始終高于1.8 V。
核對PCI6466 手冊和邏輯圖,未發現供電電路上的設計缺陷,可以排除供電電路設計問題。
3.1.2 X1.2 時鐘電路故障排查
PCI6466 有A 端和B 端兩個獨立的外部時鐘輸入。A 端口同步主時鐘輸入P_CLKIN,B 端口同步從時鐘輸入S_CLKIN,兩端均為采用對稱非透明橋模式,它們之間都沒有相位差限制,PCI6466 的時鐘關系如圖3 所示。

圖3 PCI6466 主從時鐘關系
CPM 板和MEM 板的PCI 總線均為32 bit、66 MHz,經測量時鐘信號P_CLKIN 和S_CLKIN 無異常,經過時鐘驅動器后使用66 MHz 時鐘的其他PCI 設備工作正常,因此排除時鐘電路設計問題。
3.1.3 X1.3 復位電路故障排查
PCI6466 有3 個復位信號PWRGD,P_RSTIN 和S_RSTIN,PWRGD 的有效沿、無效沿和信號P_CLKIN、S_CLKIN 是異步的。通常情況下,當P_RSTIN 或S_RSTIN 為高電平時,PWRGD不會變為低電平。PCI6466 手冊要求PWRGD 信號在S_RSTIN的前面。經檢測,S_RSTIN 信號滯后PWRGD 信號1 s 后變高(圖4),滿足PCI6466 手冊要求,排除復位電路設計問題。

圖4 PWRGD 和S_RSTIN時序
3.1.4 X1.4 模式配置故障排查
PCI6466 是用來橋接兩個獨立的系統,主從端口之間為異步工作,所以兩個獨立的系統能運行在不同的頻率。PCI6466 外部管腳配置如圖5所示,TRANS# 由邏輯賦值為1,U_MODE 直接下拉到GND,XB_MEM 邏輯賦值為 0,PBOOT 上拉到3.3 V,外部配置模式符合PCI6466 手冊要求,排除模式配置錯誤。

圖5 PCI6466 外部管腳配置
3.1.5 X1.5 芯片故障排查
對PCI6466 芯片開展X 光檢測,未發現焊接缺陷,排除焊接問題。訪問PCI6466 的配置空間進行PCI 初始化,A、B 端口可以正確完成配置,PHM 系統CPM 和MEM 模塊可以正常進行數據傳輸,說明PCI6466 芯片各信號線傳輸正常,因此可以排除芯片自身故障。
綜上所述,通過分析和試驗可以排除硬件PCI 橋硬件電路問題。
通過軟件插樁的方法將故障模塊進行排查定位,發現軟件運行到PCI6466 ATRInit 函數的pciFindDevice 語句處,PHM 維護自檢不通過故障發生。對該語句軟件代碼進行檢查,發現該語句運行后獲取PCI6466 芯片內部PCI Configuration ID 寄存器結果不是期望的數值,導致軟件無法判斷其所連接的端口,程序無法進行PCI6466 橋芯片初始化操作,并報告“PCI-to-PCI bridge connection found Error! ”故障信息。
通過故障樹分析可以看出,X2 軟件故障是PHM 系統維護自檢“未通過”的最終底事件,故障定位到PCI6466 橋芯片軟件初始化故障。
PCI6466 ATRInit 函數設計如圖6 所示。軟件設計過程中,采用了根據讀取到PCI6466 芯片內部的PCI Configuration ID寄存器的數值來判別所在位置,進而決定進入何種初始化流程方式。PCI Configuration ID 寄存器是用來存儲PCI 橋芯片標識數據的,由于PHM 系統中僅存在一個PCI 橋芯片,PCI 橋在使用中無需通過PCI Configuration ID 寄存器存儲的標識數據對PCI 橋芯片進行標識,因此在硬件設計時為了簡化設計,提高系統可靠性,不對PCI Configuration ID 寄存器設置上電使能外部配置電路。PCI6466 芯片在軟件初始化設計時,沒有分析PCI 橋芯片的硬件實現過程,采用常規的軟件設計方法依據PCI Configuration ID 寄存器數值來判斷是否進入初始化程序分支。由于寄存器未設置上電使能外部配置電路,寄存器數值為不確定狀態,導致軟件進入“不進行初始化操作”的分支,進而導致PCI6466橋芯片初始化失敗。當CPM 板執行BIT 操作時,由于PCI 橋A、B 端口初始化失敗,MEM 板無法響應BIT 指令,最終導致PHM系統維護自檢不通過。

圖6 PCI6466 ATRInit 函數流程
在初始化PCI6466 橋芯片時,更改軟件取消判讀PCI Configuration ID 寄存器的操作。CPM 模塊直接進行PCI6466 橋芯片的A 端口的初始化,MEM 模塊直接進行PCI6466 橋芯片的B 端口的初始化,CPM和MEM 各自使用不同的代碼,改進后的MEM 和CPM 初始化流程如圖7 所示。

圖7 CPM 和MEM 初始化PCI6466 流程
在試驗室對改進后的PHM 系統進行測試,測試結論為:①PHM 系統進行測試時未出現自檢不通過現象;②PHM 軟件運行正常有效,能夠正確實現規定的系統功能。
測試結論可以看出,通過取消判讀PCI Configuration ID 寄存器的操作,使CPM 和MEM 模塊獨立對PCI6466 橋芯片A、B端口進行初始化,能夠有效避免PCI6466 橋芯片初始化失敗問題,保證PHM 系統能夠有效運行。
通過上述分析,造成PHM 系統維護自檢“未通過”的根本原因是:PHM 系統中僅存在一個PCI 橋芯片,在硬件設計時為了簡化設計提高系統可靠性,不需對PCI Configuration ID 寄存器設置上電使能外部配置電路。而軟件在初始化設計時,設計人員依據以往的設計經驗,沒有分析PHM 系統中PCI 橋芯片硬件的特殊實現過程,依據PCI Configuration ID 寄存器數值來判斷是否進入初始化程序分支,導致程序進入“不對PCI6466 橋芯片進行初始化操作”的分支,PCI6466 橋芯片A、B 端口映射關系無法正常建立,PHM 系統維護自檢“未通過”。在進行裝備軟件設計時,跳出固有的思維模式,采用面向硬件特性的軟件設計思維,確保軟硬件設計兼容有效。