吉 蒙,郭玉偉,王卜瑤,呂思璐,王占選
(1.中國人民解放軍第4724工廠,上海 200436;2.北京航天測控技術有限公司,北京 100041)
電路板被廣泛應用于日常生活、工作的各個領域,隨著使用時間的日益增長,元器件的可靠性逐漸降低,再加上某些不可預知因素的影響,使得電路板的故障發(fā)生在所難免。為了提高電路發(fā)生故障的測試診斷效率,對電路板級測試診斷方法的研究顯得尤為重要[1-3]。
在模擬電路故障診斷問題中,當前主要的研究方法分別為測試前仿真和測試后仿真。測試前仿真的方法主要是通過提前仿真,得到各種情況下電路各個測點的故障特征,建立故障字典,接著再將測試時每次得到的信號與故障字典相比較就可以確定對應的電路狀態(tài);測試后仿真的方法是通過建立電路方程推導電路參數(shù),然后在仿真中驗證[4-7]。主要對模擬電路仿真與故障字典生成方法進行研究。
模擬電路仿真與故障字典生成主要功能由電路知識管理、工程管理、電路仿真設置、電路仿真、故障字典生成和輔助故障診斷等幾部分組成,如圖1所示。
1)電路知識管理:用于實現(xiàn)仿真相關的原理圖、電路網表、說明文檔、元器件、仿真設置、功能仿真模型、故障仿真模型、仿真結果以及最終生成的故障字典文件等管理功能[8-9];
2)工程管理:針對每一個仿真電路建立與之對應的仿真工程,用于該電路的仿真和故障字典生成;
3)電路仿真設置:實現(xiàn)故障設置、測試點設置[10]、測試激勵設置、設置保存等功能;
4)電路仿真:通過設計仿真軟件結構,調用pspcie仿真引擎,實現(xiàn)電路的仿真執(zhí)行、仿真類型分析以及仿真結果的保存等;
5)故障字典生成:實現(xiàn)仿真的波形識別、信號特征提取、容差配置、模糊集劃分以及故障字典文件生成等功能;
6)輔助故障診斷:利用生成的故障字典,實現(xiàn)對實測數(shù)據的診斷推理和診斷定位[11-14]。
圖2 模擬電路仿真與故障字典生成方法實現(xiàn)思路
圖3 軟件總體結構設計
模擬電路仿真與故障字典生成方法實現(xiàn)思路如圖2所示,其理論基礎是故障模式識別,首先,根據被測模擬電路的故障診斷需要確定所要診斷的所有故障模式,建立對應的故障模型;然后利用pspice仿真引擎模擬所有故障模式下的電路狀態(tài),包括故障仿真和功能仿真,獲取仿真后的所有測試節(jié)點數(shù)據,將其做必要的數(shù)據處理獲取波形特征,并生成波形特征與故障模式對應的故障字典;進而在實際測試時,利用自動測試系統(tǒng)ATE對被測電路加載與電路仿真一致的測試激勵,并測得實測響應數(shù)據;最終,根據實測數(shù)據與故障字典做對比,利用一定判決準則實現(xiàn)故障定位,包括故障的檢測和隔離。
模擬電路仿真與故障字典生成軟件的總體結構設計如圖3所示,分為界面層、運行層、數(shù)據訪問層和數(shù)據層四個部分:
1)界面層用于提供各個功能部分的操作界面,分別實現(xiàn)電路知識管理、工程管理、仿真設置、電路仿真、故障字典生成、輔助故障診斷等功能。
2)運行層用于實現(xiàn)電路仿真、故障字典生成等各部分功能單元的資源調度,包括電路模型管理器、電路仿真器、故障字典生成器以及診斷推理機等。其中,電路模型管理用于完成故障模式信息、測試點信息、仿真類型信息、容差信息、故障字典信息、電路知識信息等資源的管理;電路仿真器包括仿真運行所必須的網表文件處理、.cir文件處理以及仿真引擎等;故障字典生成包括仿真數(shù)據的預處理、波形識別以故障字典的生成等;診斷推理實現(xiàn)測試程序的執(zhí)行、實測數(shù)據與故障字典的對比,故障的診斷定位等。
3)數(shù)據訪問層主要包括文本文件的管理、仿真相關數(shù)據庫的管理等,用于實現(xiàn)對電路仿真和故障字典生成整個過程中數(shù)據層文件的訪問和處理,數(shù)據層文件包括仿真模型數(shù)據庫、網表文件、.cir文件、仿真結果、故障字典文件等各種數(shù)據。
4)為了實現(xiàn)被測電路板故障診斷定位,設計輔助診斷功能。在故障診斷界面中輸入所選擇的仿真類型和測試點的測試結果,系統(tǒng)根據生成的故障字典給出故障位置、具體故障模式或可疑故障集,為后續(xù)測試提供依據。
輔助診斷[15]軟件依據的是保存的測試點列表、仿真類型列表、故障字典數(shù)據,輸入的是當前測試點測試結果,輔助診斷的核心是故障字典推理機。推理機根據當前節(jié)點的測試結果,查找故障字典、并判斷當前值落在哪個模糊集對應的模糊域中,從而確定新的可疑故障集,排除其他的故障集。
故障推理機的推理結果分別以列表的形式顯示排除的故障和可疑故障。
電路知識管理包括了被測電路板的所有知識和數(shù)據信息。通過提供的相關輸入和管理接口,導入并解析電路板的相關資料,包括電路原理圖、電路網表、所含元器件數(shù)據、仿真模型等基本信息的管理,還包括故障注入后的仿真數(shù)據管理以及電路仿真后的故障字典知識管理等,最終實現(xiàn)對基于仿真的模擬電路故障診斷系統(tǒng)完成故障定位所需的所有電路知識的集中和統(tǒng)一管理。
2.2.1 電路文件管理功能
電路文件管理實現(xiàn)對電路原理圖、電路網表、說明文檔、元器件、維修經驗等文檔資料的統(tǒng)一管理和存儲,其功能包括對文件的添加、配置、刪除以及在資源視圖窗口的查看等。電路文件的管理方式按照文件類型、具體信息分類管理,文件類型信息存放在文件分類表中,具體文件信息存放在不同的文件夾中。軟件可以根據每種文件的類型選擇不同的程序打開,文件類型以及對應的程序打開命令存放于專門的文件中。
元器件管理作為電路文件管理的重要內容,主要用來管理被測電路板的元器件名稱、位號、說明以及所含的故障模式名稱等信息。元器件管理功能以表格形式存儲,分別是元器件信息表和元器件故障模式表。每個元器件信息表的數(shù)據顯示為一行,點擊不同的單元格會根據字段的不同顯示下拉框、按鈕或編輯框供選擇或編輯,對元器件數(shù)據的操作都會保存到數(shù)據庫中。元器件故障模式表按照元器件類型存放對應的故障模式,每個故障模式占一行,通過選中元器件名稱或故障模式名稱,右鍵進行故障模式的添加、修改和刪除操作。
2.2.2 Pspice模型管理
Pspice模型管理功能是為每個電路提供.cir仿真文件、仿真模型文件的配置管理。
通過調用.cir仿真文件和仿真模型文件(包括元器件的功能模型和故障模型),解析.net網表,啟動仿真引擎,完成整個電路的仿真。.cir文件包含仿真模型存儲路徑、電路網表存儲路徑、仿真時間、仿真步長、仿真精度等參數(shù)配置;仿真模型文件用來存儲功能模型和故障模型的名稱,元器件的所有故障模型名稱均建在功能模型的子目錄下,便于仿真時的故障檢索、故障注入和故障仿真。每一個功能模型和故障模型均可任意添加和刪除,如果對功能模型進行刪除操作,則其包含的所有故障模型將被一并刪除。
2.2.3 仿真數(shù)據管理功能
仿真數(shù)據管理功能主要用于加載和管理故障仿真平臺產生的仿真數(shù)據,將其保存在指定的軟件工程文件夾中,并寫入仿真數(shù)據表中,實現(xiàn)對仿真數(shù)據文件的分類、索引、加載、刪除、存儲狀態(tài)顯示等功能[16-17]。執(zhí)行新的仿真后,一般會覆蓋以前的仿真數(shù)據,仿真數(shù)據不支持編輯操作,所有的仿真結果數(shù)據也會顯示在資源視圖中,便于用戶進行查看。
2.2.4 故障字典數(shù)據管理功能
故障字典數(shù)據保存在數(shù)據庫中,供系統(tǒng)軟件分析使用,也可導出為標準的故障字典輸出文件,供用戶查看或第三方軟件使用。故障字典數(shù)據管理功能即是對故障字典輸出文件的管理。故障字典生成后,會顯示在資源視圖的文件列表中,雙擊可打開并查看文件內容。
故障字典數(shù)據管理實現(xiàn)故障字典生成平臺產生的按照一定格式存儲的故障字典數(shù)據文件的統(tǒng)一管理。故障字典共輸出22個文件:其中頭文件1個,用來記錄故障字典輸出的所有文件信息,還有具體的21個故障字典文件,包括7個UUT文件、4個激勵與響應文、10個故障知識文件,如圖4所示為故障字典數(shù)據管理示意圖。軟件基于樹型控件建立故障字典數(shù)據文件節(jié)點目錄,并以頭文件、UUT文件組、激勵響應文件組和故障知識文件組分別作為根節(jié)點,將對應節(jié)點的分類文件加載存儲到工程文件相應的文件夾位置下,實現(xiàn)對不同組文件的分類、加載、刪除、查看等功能。
圖4 故障字典數(shù)據管理示意圖
根據選擇的故障模式、測試點等的不同,同一個電路可以建立多個仿真工程,便于查看不同故障模式的仿真數(shù)據。工程新建完成后,才可以進行電仿真的各項設置,進而開展仿真和數(shù)據分析等工作。工程管理的功能包括新建、保存、打開和關閉。
2.3.1 新建工程
工程數(shù)據和電路數(shù)據具有相對獨立性:電路數(shù)據主要針對被測電路板開展的功能仿真,包含了電路板功能仿真相關的所有信息,比如功能仿真.opj文件夾、符號模型、.lib仿真模型、仿真參數(shù)信息等;工程數(shù)據是以電路數(shù)據為基礎,在此基礎上可進行不同故障模式的注入,便于生成故障字典指導故障診斷。
工程數(shù)據保存在Project工作區(qū)中,新建工程要向Project工作區(qū)中寫入新建工程的名稱并導入仿真相關的電路數(shù)據。其中,電路數(shù)據獨立存儲在Circuit工作區(qū)中,每個仿真工程也占用一個獨立的文件夾。
2.3.2 工程保存
保存當前仿真工程相關的所有數(shù)據,包括故障模式設置、測試點設置、容差設置、以及生成的故障字典,均以數(shù)據庫的形式保存。
2.3.3 打開工程
通過下拉對話框的方式打開已有工程,打開工程后,可以在該工程的基礎上進行仿真設置、故障注入、仿真、故障字典生成和輔助診斷等操作。
2.3.4 關閉工程
關閉工程是關閉已打開工程有關的所有數(shù)據但不刪除后臺數(shù)據,并清空界面顯示。
在打開新工程或關閉軟件之前,也會出現(xiàn)對已打開的工程執(zhí)行關閉操作。
對電路進行仿真,需要進行一些設置,這些設置包括故障設置、測試點設置、激勵設置、設置保存等。
故障模式設置和測試點設置的目的是通過人為的選擇,篩選出比較關注的故障和測試點數(shù)據,從而減小仿真和計算的工作量。
2.4.1 故障設置
故障設置,即故障注入,選擇想用的故障模型代替原有電路的功能模型,重新進行仿真。默認情況下選擇電路中已有的所有故障。
故障設置主要在資源視圖的故障模型列表中進行選擇,每個位號對應的元器件下會羅列該元器件已有的所有故障模型,經過界面用戶設置后,最終保存到仿真故障模式表中。工程保存后,這些故障設置會一并保存在數(shù)據庫中。
2.4.2 測試點設置
默認情況下,生成故障字典時會將電路網表中的網絡節(jié)點全部當作潛在測試點,為了優(yōu)化仿真數(shù)據的查看、剔除對故障診斷影響較小的測試點,同時減少故障字典計算工作量,可人為在列表中進行測試點選擇,未被選擇的測試點在生成故障字典以及仿真數(shù)據查看時將被忽略。
2.4.3 激勵設置與仿真設置保存
激勵設置用于根據電路工作原理,在所有信號輸入端加載適當?shù)男盘柌ㄐ危酝瓿煞抡?、獲取仿真結果,供后續(xù)故障字典生成和故障診斷。所加載的信號波形優(yōu)先選擇具有周期性、信號特征容易識別典型波形作為激勵,比如正弦波、方波、三角波等,非典型波形生成的故障字典不易自動判讀。
仿真設置完成后可保存當前仿真工程相關的所有設置數(shù)據,包括故障設置、測試點設置、激勵設置等,均以數(shù)據庫的形式保存。仿真工程關閉再次打開時,所有仿真設置自動加載。
模擬電路仿真流程如圖5所示,首先根據被測電路板電路圖在仿真引擎下編輯可仿真的原理圖;根據實際故障診斷的需要進行仿真參數(shù)的設置,包括仿真類型、故障設置、仿真時間設置等;然后對原理圖進行編譯,自動檢查仿真原理圖、仿真模型、仿真設置等有無錯誤;進而進行功能仿真,獲取電路正常狀態(tài)下的數(shù)據;最后進行故障注入和故障仿真,獲取所有故障模式下的仿真數(shù)據,供下一步處理。
圖5 電路仿真流程
2.5.1 仿真軟件結構設計
電路仿真結構如圖6所示。電路仿真過程通過“仿真”按鈕啟動,仿真引擎是電路仿真軟件的核心程序。由于仿真時間可能會比較長,仿真引擎由線程執(zhí)行,仿真進度由仿真引擎以消息的方式通知界面顯示。
根據故障模式信息列表和激勵信息列表進行仿真,仿真進度可以查看,仿真數(shù)據可以在資源視圖根據仿真類型和測試點進行查看。
圖6 電路仿真結構圖
2.5.2 仿真分析類型
對電路進行仿真時,需要指定仿真分析類型,以便將仿真數(shù)據存儲為特定的格式,默認瞬態(tài)仿真。
2.5.3 仿真引擎設計
仿真引擎是電路仿真軟件的核心程序,軟件通過調用pspice仿真引擎,輸入電路網表、仿真配置、功能和故障模型、測試激勵等信息實現(xiàn)電路的功能仿真和故障仿真。
仿真引擎運行時,首先遍歷仿真類型列表,然后對每個仿真類型遍歷仿真所有注入的故障模式。
仿真引擎在調用Pspice仿真前,首先要生成用于仿真的.net網表文件和.cir仿真文件。其中,針對每個故障模式,要在原始網表的基礎上將正常元器件名稱替換為故障仿真元件名稱,實現(xiàn)故障注入,并保存在故障注入網表文件中,根據所選仿真類型要向.cir文件中寫入仿真類型設置。
2.5.4 仿真數(shù)據保存
仿真數(shù)據量的大小由界面資源視圖選擇的仿真類型、故障模式多少、仿真時間和仿真步長的設置決定。界面選擇的仿真類型和故障模式信息會保存仿真類型信息列表和故障模式信息列表中,仿真引擎依次對各種仿真類型下的故障模式依次進行仿真,每個仿真保存為一個單獨的仿真結果文件。
故障字典生成軟件結構如圖7所示,其核心是故障字典生成器。故障字典生成器的輸入配置數(shù)據包括保存在電路模型信息管理器中的仿真類型列表、故障模式信息列表、測試點信息列表和信號容差;生成故障字典的仿真數(shù)據通過仿真結果文件解析器從仿真結果文件獲得。
故障字典生成器首先針對每個仿真類型生成一個行為故障、列為測試點、值為電壓的故障字典,然后對每個一個測試點進行模糊集劃分,進而得到該仿真類型的整數(shù)編碼故障字典。
用戶在資源視圖的仿真類型視圖中選擇不同的仿真類型后,可以在故障字典列表中查看故障字典。
2.6.1 波形識別
用于分析測試節(jié)點的仿真數(shù)據是否為典型周期波形,步驟如下。
第一步:對信號進行預處理,去除毛刺;
第二步:去除信號中的直流分量,為周期信號的頻率分析奠定基礎;
第三步:對信號進行自相關分析。由于直流信號的自相關性小,當小于一定的閾值時判定信號為直流,否則當作周期信號,進入下一步分析;另外,當信號的峰峰值小于某一閾值時,由于信號比較微弱,也可以判定為直流信號;
第四步:對信號進行直方圖統(tǒng)計,當直方圖只有兩個點的時候可能為方波或階躍,需要通過頻率分析進一步判斷;
第五步:排除階躍和方波后,可以通過高低值的線性誤差進一步分析,判斷時正弦波還是三角波。
2.6.2 信號特征提取
在分析電路的瞬態(tài)故障字典時,需要對測試點測得的信號進行特征提取,然后才能針對信號特征建立故障字典。系統(tǒng)支持的波形包括直流、正弦、方波、階躍、三角波。信號的特征參數(shù)包括幅值、頻率、直流偏置、高值、低值和占空比。
幅值:計算信號均值作幅值;
直流偏置:對周期信號計算其直流分量即可得直流偏置;
頻率:將兩個相鄰過零點的時間差作為周期信號的周期,取倒數(shù)作為周期信號的頻率;
占空比:對于方波信號,對信號進行直方圖統(tǒng)計,然后計算最大值所占比例即可得方波信號的占空比;
低值:取濾波后信號的最小值;
高值:取濾波后信號的最大值。
2.6.3 容差配置設計
雖然在很多情況下,用于模糊集劃分的容差值比較固定。但是,也可能由于仿真類型和電路結構的影響,信號在不同節(jié)點的特征差異較大。因此,系統(tǒng)在保持默認值的基礎上,提供了針對每個仿真類型在不同節(jié)點進行手動容差配置的功能。
容差可能會因仿真類型和節(jié)點而不同,因此,在軟件使用時需要對每個仿真類型下的每個節(jié)點進行容差配置,并將配置結果保存在信號容差配置文件中,用于下一步模糊集的劃分。
容差的設置分為兩種:絕對值和相對值。即用戶可以指定節(jié)點容差的絕對值,也可設電路信號特征的相對值,默認值保存在容差默認值配置文件中。其中,直流容差默認為±0.7 V,瞬態(tài)容差相對值默認為10%。
2.6.4 模糊集劃分
生成故障字典時,要對每個測試點進行模糊集進行劃分。
直流模糊集劃分首先對各個故障模式在該節(jié)點的電壓進行從小到大排序。然后,將節(jié)點電壓之間的信號容差小于一定閾值的故障劃分為一個模糊集,直到完成所有節(jié)點電壓的比較,將所有故障劃分到對應的模糊集中。
由于瞬態(tài)信號具有多個特征,瞬態(tài)模糊集的劃分比直流模糊集的劃分要稍微復雜一些,但其故障隔離能力往往也比直流故障字典強。在進行瞬態(tài)模糊集劃分時,首先針對單個信號特征進行模糊集劃分,這一步與直流模糊集劃分的方法是一致的。在劃分完單個信號特征的模糊集后,再逐一對其他剩余信號特征進行模糊集劃分,最終對各個信號特征形成的模糊集進行合成。
為了實現(xiàn)被測電路板故障診斷定位,設計輔助診斷功能。在故障診斷界面中輸入所選擇的仿真類型和測試點的測試結果,系統(tǒng)根據生成的故障字典給出故障位置、具體故障模式或可疑故障集[18],為后續(xù)測試提供依據。
輔助診斷軟件依據的是保存在電路模型信息中的測試點列表、仿真類型列表、故障字典數(shù)據,輸入的是當前測試點測試結果,輔助診斷的核心是故障字典推理機。推理機根據當前節(jié)點的測試結果,查找故障字典、并判斷當前值落在哪個模糊集對應的模糊域中,從而確定新的可疑故障集,排除其他的故障集[19]。
故障推理機的推理結果分別以列表的形式顯示排除的故障和可疑故障。
圖8 輔助診斷功能框圖
對試驗Demo板進行仿真驗證,Demo板中主要含有多個運放調理電路,提前準備好電路仿真用到的功能模型和故障模型[20],通過創(chuàng)建仿真原理圖、新建仿真工程、仿真設置等,進行12個故障模式的單故障仿真,仿真結果如圖9所示:
1)右上角的“器件故障模式”列表用于勾選想用的故障模型進行故障注入,仿真驗證中共注入了12個典型的元器件開路、短路、輸出鉗位故障;
2)右下角“測試點列表”默認仿真和查看所有測試點信息,也可以只勾選關注的測試點;
3)左上角“仿真類型”用于指定仿真類型是靜態(tài)工作點仿真和時域瞬態(tài)仿真;
4)左下角“電路知識庫”存放電路的.cir和.net文件等,默認羅列的故障字典文件夾為空,用于存放后續(xù)生成的故障字典數(shù)據;
5)“仿真任務列表”羅列中所有仿真數(shù)據,所有故障注入均為單故障仿真,共進行1次功能仿真和12次不同的故障仿真,仿真任務列表具有仿真進度提示功能,仿真成功后的行提示信息會由“?”變?yōu)椤啊獭薄?/p>
圖9 仿真驗證界面
仿真完成后,啟動故障字典生成器自動得到所有故障模式下的整數(shù)編碼故障字典:
1)軟件左下角“電路知識庫”已羅列并且可以雙擊查看所有故障字典文件;
2)軟件中下部“故障檢測”欄會提示所有故障模式是否可檢測、可隔離;
3)軟件中部“故障字典生成”欄羅列所有仿真下的測試點信號特征。其中,行為同一個測試點對應的不同故障仿真下的測試點信號特征,列對應不同故障下的仿真,也就是共有13列的仿真數(shù)據,其中1列為功能仿真、還有12列是故障仿真。
4)雙擊“瞬態(tài)故障字典”下的某一單元格,可在右上角“信號特征”欄修改該單元格測試點仿真數(shù)據的信號容差(即信號特征可以識別的數(shù)據上下限)或將仿真數(shù)據修改為用戶自定義數(shù)據。
圖10 故障字典生成
生成故障字典后,X_U2_lf156_p6_open故障模式產生的故障影響使得節(jié)點OUT0產生故障,其故障特征如下圖所示。當元器件U2發(fā)生lf156_p6_open故障時,通過將節(jié)點OUT0實測信號特征錄入輔助診斷系統(tǒng),軟件能夠排除其余11種故障,直接定位到元器件U2的故障模式lf156_p6_open,驗證了故障字典生成和輔助診斷的正確性。
圖11 輔助故障診斷
本文提出了一種模擬電路仿真與故障字典生成的具體實現(xiàn)方法。該方法通過創(chuàng)建被測電路仿真原理圖、新建仿真工程、仿真設置等,實現(xiàn)電路的故障注入、功能仿真和故障仿真;進而通過故障字典生成器對仿真數(shù)據處理生成所有故障模式下的整數(shù)編碼故障字典;最終,通過實測數(shù)據做診斷推理實現(xiàn)故障定位,驗證了該方法的可行性。