王力 賈春宇
摘? 要: 可測試性技術(shù)在機(jī)載電路板中的應(yīng)用使故障診斷問題得到快速發(fā)展,但是測試時間長,測試成本高。為了縮短測試時間,降低測試成本,基于MCSA算法、等權(quán)值抗誤判算法、極小權(quán)值?極大相異性算法,融合改進(jìn)的測試矩陣優(yōu)化算法,使測試矩陣更加優(yōu)化,測試向量數(shù)量減少。經(jīng)實驗驗證,運(yùn)用優(yōu)化后的測試矩陣進(jìn)行測試可以有效縮短測試時間,提高測試效率,降低測試成本。
關(guān)鍵詞: 可測試性技術(shù); 故障診斷; 機(jī)載電路板; 測試時間; 測試成本; 測試矩陣
中圖分類號: TN407?34; TP301.6; TP306+.3? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A? ? ? ? ? ? ?文章編號: 1004?373X(2020)21?0137?06
Research on test matrix optimization based on testability technology
WANG Li1, JIA Chunyu2
(1. Vocational and Technical School, Civil Aviation University of China, Tianjin 300300, China;
2. College of Electronic Information and Automation, Civil Aviation University of China, Tianjin 300300, China)
Abstract: The application of testability technology in onboard circuit boards makes the fault diagnosis develop rapidly, but the test time is long and the test cost is high. In order to shorten the test time and reduce the test cost, the improved test matrix optimization algorithm is integrated on the basis of the modified counting sequence algorithm (MCSA), the equal weight anti?misjudgment algorithm and the minimum weight?maximum dissimilarity algorithm to make the test matrix more optimized and the number of test vectors reduced. It has been verified in experiments that the optimized test matrix can effectively shorten the test time, improve the test efficiency and reduce the test cost.
Keywords: testability technology; fault diagnosis; onboard circuit board; test time; test cost; test matrix
0? 引? 言
機(jī)載電路板的故障測試與診斷一直是民航業(yè)中的重點問題,隨著科技的發(fā)展,可測試性技術(shù)在機(jī)載電路板故障測試與診斷方面得到了很大的應(yīng)用,而如何在保證診斷精度的條件下,提高測試效率,降低測試成本的研究成為如今的焦點。
工程領(lǐng)域中,大規(guī)模集成電路的應(yīng)用,使故障測試與診斷問題的研究成為當(dāng)今工程領(lǐng)域中重點關(guān)注的問題,是否能夠?qū)收线M(jìn)行測試與診斷關(guān)系到工程能否順利實施。文獻(xiàn)[1]基于測試分析評價和AO*測試序向量化算法,對船舶電路設(shè)備診斷需求分布和基于[D]矩陣的診斷信息共享問題提出了解決方案。文獻(xiàn)[2]中,針對艦船診斷問題依據(jù)[D]矩陣數(shù)據(jù)進(jìn)行建模,通過與多信號流模型的融合以及測試向量的優(yōu)化算法,實現(xiàn)了以[D]矩陣為基礎(chǔ)的XML描述文件的診斷過程。文獻(xiàn)[3]針對測試系統(tǒng)診斷方法單一,診斷準(zhǔn)確率低等問題,提出了在不可靠條件下進(jìn)行測試并診斷多故障的方法,該方法提高了裝備的診斷精度與效率。文獻(xiàn)[4]運(yùn)用測試?維修的方式實現(xiàn)了多故障的診斷策略,該方法減少了平均診斷步驟,而且實現(xiàn)了較高的故障檢測率和隔離率。文獻(xiàn)[5]基于測試性[D]矩陣,提出了一種將多故障進(jìn)行單故障化的故障診斷與維修策略,減少了診斷步數(shù),誤診率大幅度降低。
在上述的研究中,將[D]矩陣作為基礎(chǔ),對電路的故障進(jìn)行測試與診斷,但并沒有將減少測試時間與降低測試成本作為問題來處理?;诖藛栴},本文在[D]矩陣的基礎(chǔ)上,針對機(jī)載電路板的可測試性技術(shù)進(jìn)行優(yōu)化,利用改進(jìn)的測試矩陣優(yōu)化方法對傳統(tǒng)算法生成的測試矩陣進(jìn)行優(yōu)化,利用優(yōu)化后的測試矩陣進(jìn)行測試,減少了測試時間,提升了測試效率,降低了測試成本。
1? 常規(guī)測試向量生成算法
不同的測試向量生成算法生成的測試向量矩陣具有不同的特點。當(dāng)使用相應(yīng)的測試向量矩陣進(jìn)行故障測試時,其測試過程體現(xiàn)出的優(yōu)良程度也有差異。邊界掃描測試作為一種較成熟的可測試性技術(shù),在測試過程中主要考慮兩方面的內(nèi)容:一方面是測試所花費的時間,它體現(xiàn)出測試的總體代價和成本;另一方面是故障診斷的準(zhǔn)確性,包括故障覆蓋率和故障定位精度。
在邊界掃描測試中,MCSA算法[6]、等權(quán)值抗誤判算法[7]、極小權(quán)值?極大相異性算法[8]作為較成熟的方法,在生成測試矩陣方面具有廣泛應(yīng)用[9]。
1.1? MCSA算法生成測試矩陣
MCSA算法思想為將[p]位二進(jìn)制數(shù)按數(shù)值遞增的順序從[1~2p-2]分別分配給[N]個網(wǎng)絡(luò),依此方法生成順序測試向量(Sequential Test Vector)。MCSA算法生成測試向量矩陣的流程如圖1所示。
根據(jù)圖1所示流程圖生成如式(1)所示的測試向量矩陣,其中,網(wǎng)絡(luò)數(shù)[N=9],[P=5]。
[MTV1=000000010001001000100011001101000100? 101010101] (1)
1.2? 等權(quán)值抗誤判算法生成測試矩陣
由于征兆誤判和混淆的存在,導(dǎo)致測試矩陣無法對全部故障進(jìn)行定位[10]。
征兆誤判:若測試矩陣中的故障模式與其他故障模式具有相同的故障征兆,即符合式(2)條件,則故障定位過程中,將無法判斷短路故障中是否包括測試矩陣識別出的網(wǎng)絡(luò)[11]。
[VQk=Sfi=VQm,VQn,…] (2)
式中:[VQk],[VQm],[VQn]表示測試向量;[Sfi]表示故障征兆。
故障混淆:若存在如式(3)所示相同的故障[Sf1],[Sf2]時,這將導(dǎo)致故障位置無法確定[Sf1]和[Sf2]識別的網(wǎng)絡(luò)之間是否存在短路。
[VQj,VQk,…=Sf1=Sf2=VQm,VQn,…]? ?(3)
等權(quán)值算法與抗誤判定理的融合,可以消除征兆誤判問題[12]。
抗誤判定理:測試矩陣[V]中沒有征兆誤判的一個充分條件是[v1∈V],至多可以含有一個與[v1]不同的測試矩陣[vi]。
應(yīng)用反證法即可證明該定理成立。
該算法生成測試矩陣的基本思想為各網(wǎng)絡(luò)中貫序測試向量應(yīng)該具有相同權(quán)值[q],并且滿足[q=[p/2]],[p]為網(wǎng)絡(luò)維數(shù),所生成的測試矩陣中不含有相同的兩個測試向量[13]。根據(jù)上述思想可以得到如式(4)所示的測試向量,其中,[q=2],網(wǎng)絡(luò)數(shù)[N=9],[P=5]。
[MTV2=110001010010010100010110001010010010011000101] (4)
1.3? 極小權(quán)值?極大相異性算法生成測試矩陣
基于極小權(quán)值算法,增加測試向量的相異性指標(biāo)[DF]以減小出現(xiàn)征兆誤判和混淆的概率。
極小權(quán)值算法是在測試矩陣的生成過程中,使其具有的權(quán)值[W]最小,如式(5)。權(quán)值[W]為全體測試向量的權(quán)值代數(shù)和。
[W(V)=i=1nw(vi)] (5)
在短路故障模型中,測試矩陣的權(quán)值越小,征兆誤判和混淆出現(xiàn)的概率越低。每個列向量子矩陣都有相等的權(quán)值[wmax]才能符合最小權(quán)值要求。在生成測試矩陣的過程中,最大權(quán)值為符合式(6)條件的最小[k]值:
[i=1kC(p,i)≥N] (6)
通常情況下,具有極小權(quán)值的測試矩陣并不唯一,為了能夠在具有相同權(quán)值的不同測試矩陣中選取完備性指標(biāo)最好的測試矩陣,從而引入了相異性思想。
測試向量的相異性指標(biāo)DF,對于任意兩個[P]維測試向量[v1,v2],有:
[DFv1,v2=v1i⊕v2iP] (7)
式中:[⊕]為邏輯異或操作;分子為[v1,v2]之間的hamming距離;分母[P]為向量[v1,v2]之間的最大hamming距離。同時,對測試矩陣[V]也給出了類似的相異性指標(biāo)[DFV]。
式(8)所示測試矩陣[V]中具有[N]個向量的相異性指標(biāo)。
[DFV=vi,vj∈VDFvi,vjCN,2] (8)
全體向量之間相異性的平均值構(gòu)成了測試矩陣[V]的相異性指標(biāo)。增大相異性,可以減小征兆誤判和混淆的概率。
極大相異性條件與極小權(quán)值算法的融合,可以彌補(bǔ)極小權(quán)值算法在完備性指標(biāo)上的不足。極小權(quán)值?極大相異性算法流程如圖2所示。
式(9)為通過圖2流程生成的測試矩陣。其中網(wǎng)絡(luò)數(shù)[N=9],[P=5]。
[MTV3=100000100000100000100000111000001101000110100] (9)
利用以上三種算法所生成的測試向量矩陣具有較好的完備性與緊湊性,同時,可以覆蓋絕大部分的故障以及對故障進(jìn)行定位。但是,測試矩陣在實際應(yīng)用中存在測試向量冗余、耗時較長等缺點。因此,融合測試向量矩陣優(yōu)化算法對以上三種算法生成的測試向量矩陣進(jìn)行優(yōu)化,減少冗余向量,降低測試時間,提高測試效率。
2? 測試向量矩陣優(yōu)化算法
從前文對之前算法的分析可知,無論使用哪種算法,最后得到的測試向量集都是一個矩陣[14],由此可知,其測試向量矩陣也屬于[D]矩陣的范疇,因此,適用于[D]矩陣的優(yōu)化算法經(jīng)過改進(jìn)也可以適用于測試向量矩陣中。在單一故障模式中,實現(xiàn)故障的檢測和測試過程,并不是測試矩陣中的所有測試和測試結(jié)果都要用到[9]。在測試矩陣中,正確檢測并隔離出故障的向量即為該故障模式的測試向量。
而測試向量的優(yōu)化是基于診斷要求和診斷效率[15],通過計算獲得相應(yīng)測試向量的過程。衡量測試向量最優(yōu)原則的標(biāo)準(zhǔn)也不是唯一的[10],而是多方面的,包括:測試的數(shù)量最少;測試成本最低;測試時間最短;實現(xiàn)困難程度最低;資源占用最低。
而在實際的應(yīng)用過程中,最優(yōu)原則采用的是這些原則的合理組合[16]。
2.1? 優(yōu)化方法
在本文中,首先對一般的[D]矩陣進(jìn)行優(yōu)化,通過對一般[D]矩陣優(yōu)化后的分析得出改進(jìn)后算法的可行性與優(yōu)化程度。本文遵循以下優(yōu)化原則:使用的測試向量數(shù)量最少,測試時間最短。對[D]矩陣的優(yōu)化過程如圖3所示。
以[Dk]矩陣為例,計算最優(yōu)測試矩陣的步驟為:
[? ? ? ? ? ? ? ? ? ?T1? T2? ?T3? T4? T5? ?T6? T7? T8? T9? T10Dk=F0F1F2F3F4F5F6F7F8F9F1000000000000010011100010100100110110111001100101001100100111001001100101001001000000110010110011110111101101101] (10)
Step1: 以[Dk]矩陣的測試[T1]為例,選取[ai1],計算[a11,a21,…,an1]中與[ai1]不同的個數(shù),將其記為[N1];計算[a12,a22,…,an2]中與[ai2]不同的個數(shù),記為[N2];依次計算出測試[T]中對應(yīng)的[N],獲得集合[N1,N2,…,Nm],選擇[N1,N2,…,Nm]中最大的[Nk]對應(yīng)的[Tk]作為最優(yōu)測試向量中的首個測試向量。若多個測試對應(yīng)的[N]相同且最大時,則證明該故障模式最優(yōu)測試矩陣不是唯一的,將最優(yōu)測試向量中的首個測試集合記為[Tk,Tk1,…]。
[D′0=0010001011010101010100101011110101110001101010010111000110000000100101011100010011011011010111110101] (11)
Step2:將第1個測試中的每個測試作為研究對象,以[Tk]為例。在[D]中,將[Tk]對應(yīng)的列去除,與此同時,在[D]中,將所有與[ai1]不同的行去除,得到矩陣[Dk+1];若[Dk+1]中僅剩[F0],則回到Step1重新選取[ai1],否則進(jìn)入下一步。
[Dk=101101110110010101100100110100100100100111101110110111] (12)
Step3:在[Dk+1]中,進(jìn)行與步驟Step1相同的操作,依次進(jìn)行計算[Dk+1]中所有測試[T]對應(yīng)的[N],獲得集合[N′1,N′2,…,N′m]? ,從[N′1,N′2,…,N′m]中選取最大的[N′k]對應(yīng)的測試[T′k],將其作為最優(yōu)測試向量的第二個測試。記為[T′k,T′k1,…]。
Step4:與Step2同理,將第2個測試集合中測試作為研究對象,以[T′k]為例,在[Dk+1]中將[T′k]對應(yīng)列去除,并且將所有和[a′i1]不同的行去除,記為矩陣[Dk+2]。
Step5:按此循環(huán)進(jìn)行計算,直至矩陣中行只剩下[F0]。
Step6:將上述步驟中獲得的最優(yōu)測試向量的不同分支組合成一個備選的最優(yōu)測試向量集,即[Tk,T′k,…,Tk,T′k1,…,Tk1,T′k1,…,…]。從備選的測試向量集中選出最優(yōu)測試向量組,作為最終測試向量組。通過上述步驟得到的測試向量矩陣如下所示:
[DFIN=0×××××××××01××××××××010×××××××0110××××××11011×××××101101××××0100100×××00110110××101110000×0111101101]? (13)
[MFDT=tDiND] (14)
式中:[tDi]為單故障測試時間;[ND]為被檢測出的故障數(shù)。
經(jīng)過上述步驟后,測試向量中向量數(shù)量的減少,直接影響到單故障測試耗費時間[tDi]。根據(jù)式(14)可知,平均故障測試時間隨之降低。
[FDR=λCDiλCi×100%] (15)
式中:[λCDi]為第[i]個可檢測到的關(guān)鍵故障模式的故障率;[λCi]為第[i]個可能發(fā)生的關(guān)鍵故障模式的故障率。
由式(15)可知,經(jīng)過優(yōu)化后的測試向量矩陣在測試過程中的系統(tǒng)故障檢測率[FDR]略有提高。
在測試向量矩陣中,最佳測試向量并不唯一[17],通過測試權(quán)重[WFi]可以計算其他測試向量。
[WFi=i=1ntDiT+i=1nMiM] (16)
式中:[T]為測試總時長;[Mi]為第[i]個測試向量個數(shù);[M]為測試向量總數(shù)量。
通過計算測試權(quán)重可以得到最優(yōu)的測試向量組合,利用最優(yōu)測試向量組合進(jìn)行測試可以降低測試時間,同時提高故障覆蓋率。
2.2? 優(yōu)化方法可行性
為了驗證方法的可行性,通過對圖4所示JTAG測試電路進(jìn)行仿真測試,選用Xilinx Vivado套件作為綜合仿真工具。對[Dk]矩陣和[DFIN]矩陣進(jìn)行測試,為了減小測試的誤差,分別對[Dk]矩陣和[DFIN]矩陣進(jìn)行[k](在本文中[k=10])次測試。記錄單次測試所用時間[T],將測試平均使用時間[MFDT],故障覆蓋率[FDR],測試向量數(shù)量[N]作為衡量指標(biāo)。測試結(jié)果如表1所示。
測試結(jié)果表明,對[Dk]測試矩陣使用優(yōu)化方法后,測試的時間明顯減少,故障覆蓋率略有提高,同時使用的測試向量數(shù)量明顯減少,測試效率得到提高,測試成本也隨之降低。
3? 實驗驗證
鑒于機(jī)載電路板中存在大量的短路故障,在實驗過程中很難驗證和分析測試向量矩陣的性能。因此選擇如圖5所示的多片F(xiàn)PGA通信電路進(jìn)行仿真驗證。
仿真過程如圖6所示。
實驗選用Xilinx Vivado套件作為仿真工具。首先將圖5所示電路劃分為5個網(wǎng)絡(luò),分別使用第1節(jié)中MCSA算法、等權(quán)值抗誤判算法、極小權(quán)值?極大相異性算法生成測試矩陣[D1],[D2],[D3],將測試矩陣[D1],[D2],[D3]從JTAG端口輸入到電路中進(jìn)行測試,測試結(jié)果將從TDO端口輸出。測試結(jié)果如表2所示。
[D1=0010000101000010001100010]
[D2=1100010100100010001101010]
[D3=0010011100100010101100110]
將生成的測試矩陣應(yīng)用圖3所示流程進(jìn)行優(yōu)化后得到矩陣[D′1],[D′2],[D′3]。
[D′1=0××××11×××110××1011×00100]
[D′2=0××××11×××011××0000×00110]
[D′3=0××××10×××111××0100×00110]
將[D′1],[D′2],[D′3]作為測試矩陣輸入到如圖5所示的電路中進(jìn)行測試,測試結(jié)果如表2所示。
由表2的測試結(jié)果對比可知,傳統(tǒng)算法生成的測試矩陣存在冗余的測試向量,導(dǎo)致在測試過程中耗時長、易出現(xiàn)故障混淆現(xiàn)象。經(jīng)過優(yōu)化之后,測試向量數(shù)量減少,測試時間隨之降低;測試向量的減少,消除了部分故障混淆現(xiàn)象,故障的檢出率也得到了小幅提升。在大規(guī)模測試矩陣中,測試效果將更加明顯,優(yōu)化效果也會更好。
4? 結(jié)? 語
工程中對機(jī)載電路板故障診斷精度的不斷提高,導(dǎo)致測試成本與診斷成本隨之增加,本文介紹的優(yōu)化算法在傳統(tǒng)算法生成的測試矩陣的基礎(chǔ)上進(jìn)行優(yōu)化,在不影響故障診斷精度的條件下,提高了測試效率,在工程中具有良好的應(yīng)用前景。
參考文獻(xiàn)
[1] 林志文,陳曉明,楊士元.基于XML模式的[D]?矩陣描述及診斷應(yīng)用[J].兵工學(xué)報,2010,31(3):385?390.
[2] 林志文,劉松風(fēng),楊士元.基于[D]矩陣的艦船電子裝備綜合診斷方法[J].海軍工程大學(xué)學(xué)報,2009,21(4):87?91.
[3] 方甲永,肖明清,王學(xué)奇,等.測試不可靠條件下多故障診斷方法[J].北京航空航天大學(xué)學(xué)報,2011,37(4):433?438.
[4] 王顯,田恒.基于測試?維修的多故障診斷策略研究[J].煤礦機(jī)械,2017,38(1):130?132.
[5] 田恒,段富海,樊亮,等.基于測試性[D]矩陣的多故障診斷與維修策略[J].北京航空航天大學(xué)學(xué)報,2018,44(4):802?809.
[6] GOEL P. An implicit enumeration algorithm to generate tests for combinational logic circuits [J]. IEEE transactions on computers, 1981, C?30(3): 215?222.
[7] 胡政,錢彥嶺,溫熙森.邊界掃描測試優(yōu)化算法:極小權(quán)值?極大相異性算法[J].測控技術(shù),2000(9):9?11.
[8] 吳繼娟,孫媛媛,賈勇.基于邊界掃描的FPGA等權(quán)值抗誤判測試算法[J].哈爾濱工程大學(xué)學(xué)報,2004(4):509?512.
[9] 孫萌,景博,黃以鋒,等.基于多特征量的[D]矩陣模型的建立與分析[J].電子測量與儀器學(xué)報,2017,31(11):1731?1736.
[10] JIANG Jueyi, LI Fan. Built?in test design and optimization method based on dependency model [C]// Prognostics & System Health Management Conference. Chengdu, China: IEEE, 2017: 1?4.
[11] WANG Xiufang, CHEN Bin, PENG Jinye, et al. Research on modeling and analysis of testability for complex electronic system [J]. Applied mechanics and materials, 2014, 701/702: 236?240.
[12] EFATMANESHNIK M, RYAN M. A study of the relationship between system testability and modularity [J]. INCOSE international symposium, 2016, 26(1): 1922?1931.
[13] BARBOSA A M, NETO A C R, PINTO C E C, et al. Design for testability concepts applied to product development: an EMBRAER aircraft [C]// 2016 IEEE AUTOTESTCON. Anaheim, CA, USA: IEEE, 2016: 1?6.
[14] 李銳,田帆,鄧賢君,等.基于FPGA的全數(shù)字延時鎖相環(huán)的設(shè)計[J].現(xiàn)代電子技術(shù),2019,42(6):69?71.
[15] 徐松,劉強(qiáng).集成電路故障注入攻擊仿真方法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2017,29(8):1563?1569.
[16] 楊勝利,李超,余亮.基于FPGA的嵌入式通信系統(tǒng)核心模塊設(shè)計[J].現(xiàn)代電子技術(shù),2018,41(22):88?91.
[17] 楊迪珂,顏學(xué)龍.邊界掃描測試算法的分析與優(yōu)化[J].計算機(jī)測量與控制,2017,25(5):4?6.
作者簡介:王? 力(1973—),男,重慶人,博士,教授,主要研究方向為導(dǎo)航制導(dǎo)、飛行控制系統(tǒng)、機(jī)載電子系統(tǒng)故障診斷。
賈春宇(1993—),男,天津武清人,碩士研究生,主要研究方向為機(jī)載電路板可測試性設(shè)計、故障診斷。