張燦兵 潘 強 郁衛星
(海軍工程大學電子工程學院1) 武漢 430033)(91656部隊2) 寧波 315718)
隨著科學技術的飛速發展和制造工藝的不斷提高,電路系統的復雜程度日益提高,為了降低成本,芯片設計人員往往把模擬電路和數字電路集成到一個芯片上。這就產生了數?;旌闲盘栯娐凡⒌玫搅藦V泛應用,據統計,當前超過60%的集成電路芯片內包含有數?;旌闲盘栯娐?并且隨著集成電路技術的進步,數模混合電路所占的比例還將進一步擴大[1]。數?;旌闲盘栯娐返目焖侔l展,使得數模混合信號電路的檢測日益受到業內人士的重視。
目前混合電路測試面臨的問題:1)模擬故障的定義;2)模擬和數字混合器件中,模擬電路的選擇;3)測試激勵生成。由于電路中各點電流是相通的,電流測試就無需區分數字電路和模擬電路。為此,本文采用電流信息作為被測信號,用神經網絡和故障字典相結合的方法對混合信號電路進行故障檢測。
利用PSPICE9.2.1建立數?;旌闲盘栯娐?以7404反相器組成的混合信號電路進行故障檢測如圖1所示,對電路進行建模仿真[2]。通過對電路進行瞬態分析和靈敏度分析,發現電源v1、v2和負載r3處的電流信息對電路中元器件的變化比較敏感,因此可以作為該電路故障檢測的參數。

圖1 混合信號電路圖
在元器件容差均為10%的狀態下,對電路進行1000次蒙特卡洛分析和最壞分析,r3處的電流幅度分布圖可以發現檢測點r3處的電流幅度都在10%以內變化(如圖2所示)且波形不發生變化;而當r3的阻值變化為20%的情況下,其電流幅度變化較大(如圖3所示),由此我們可以用r3處的電流幅度信息為檢測參數來建立故障字典。同樣可以發現v1和v2處電流幅度信息也可以作為檢測參數來建立故障字典。為了準確地檢測混合信號電路的故障,可以采用v1、v2、r3處的電流幅度的最大值作為參數進行故障檢測,共3個檢測參數。

檢測參數的獲取,利用Pspice 9.2對電路進行建模仿真,觀察電源和負載端電流信息;提取特征參數;利用BP網絡來建立正常狀態下的故障字典,以判斷電路的狀態。
1)數據采集與特征參數的提取[3~4]。在各元器件的容差均為10%的狀態下,對被測電路進行充分仿真并結合蒙特卡洛、靈敏度和最壞分析對電路進行分析,然后采集電源和負載端電流信息作為故障檢測參數。
2)BP網絡結構參數[5]。根據電路特征參數的維數,確定BP網絡的輸入與隱層節點數目。假特征參數的維數是N,則輸入層節點數目為N;電路檢測狀態只有兩種即正常狀態和故障狀態,故輸出層節點數目為1;隱層節點數目按公式 N+1+a(N為輸入層節點數目,a=1~10)進行選取,若在網絡訓練過程中不滿足要求,則逐個增加(或減少)隱層節點數目。經過分析,隱層和輸出層的激勵函數分別采用非線性的正切-S型(tan-sigmoid)函數和非線性的對數-S型(log-sigmoid)函數。
3)故障字典的建立。為了讓BP網絡識別電路的狀態,首先必須對BP網絡進行訓練,即建立故障字典。以特征參數為訓練樣本輸入向量,訓練樣本輸出標準為:假設電路特征參數的維數為N,只有當N個維數均滿足正常狀態的條件,電路才處于正常狀態,網絡輸出“1”;任意1個維數不滿足正常狀態下的條件就判定電路有故障,網絡輸出“0”。本文主要進行混合信號電路的故障檢測,利用大量訓練樣本對網絡進行訓練,建立故障字典,達到所期望的誤差目標。
4)檢測結果。把待測電路的特征參數輸入到訓練過的BP網絡(即故障字典),得到輸出結果,從而判斷電路的狀態。
由以上分析可知該電路所需的BP網絡的結構為:輸入層神經元數目為3個,即特征參數的維數;輸出層神經元數目為1個,即電路的狀態只有兩個(正常和故障);隱層神經元數目為3~12個。
運用MATLAB7.1對BP網絡進行設計、訓練、測試,得到的 BP網絡結構3—12—1[6]。網絡的具體參數如下:隱層和輸出層分別選用非線性函數tansig和 logsig,訓練函數用彈性梯度下降法(trainrp),學習速率為 0.01,最大訓練次數為10000,訓練精度為0.009,權值變化增加量為1.2,權值變化減小量為0.5,初始權值變化為0.07,權值變化最大值為50。經過多次訓練、測試得到訓練、測試結果圖如圖4所示。
其中圖中十字表示期望目標,實線表示訓練結果,虛線表示測試結果。

圖4 訓練、測試結果圖
訓練向量共252組,其中前28組向量期望輸出為“1”表示電路正常,其余期望輸出均為“0”;測試向量共226組,其中只有在13~15、31~43處共17組測試向量所表示的電路是正常的,即期望輸出為“1”,其余期望輸出均為“0”。利用 MAT LAB 7.1圖表里的工具函數可以找出訓練結果只有前三組數據沒有達到期望輸出結果,即訓練的正確率為98.8%;測試結果為“1”(判斷準則為:大于 0.5默認為“1”,反之為“0”)的數據是:15~17,33~42組,與測試向量相比發現測試向量的漏檢數據為5組,虛檢為2組,誤檢率3.1%,由此可知利用改進的BP網絡建立的故障字典能夠很好地實現混合信號電路的故障檢測。
本文以7404反相器組成的混合信號電路為實例,利用Pspice9.2對該電路進行了建模、仿真、分析,以其電流信息為測試參數來建立故障字典,運用matlab 7.1對該方法進行了訓練、檢驗、計算。檢測結果證明該方法不僅能檢測出電路中阻容元件故障還能檢測出三極管、反相器、電源的故障,具有很高的故障覆蓋率和故障檢測率(96.9%)。
[1]汪涌.基于DES理論的數?;旌想娐饭收显\斷技術研究[D].合肥:合肥工業大學,2008
[2]王輔春.電子電路 CAD與ORCAD教程[M].北京:機械工業出版社,2005
[3]M.R.A shouri.Fault detection of analog circuits using neural networks and Monte-Carlo analysis[C]//Proc.44thMidwest Symposium,2001,2:14~17
[4]Kyung Ki Kim,Yong-Bin Kim,Minsu Choi,et al.Accurate Macro-modeling for Leakage Current for IDDQ Test.Instrumentation and Measurement Technology Conference-IM TC 2007 Warsaw,Poland,2007,5:1~3
[5]王承,陳光褕,謝永樂.小波-神經網絡在模擬電路故障診斷中的應用[J].系統仿真學報,2005,17(8):1936~1938
[6]董長虹.MAT LAB神經網絡與應用[M].北京:國防工業出版社,2007