基于可测试性技术的测试矩阵优化研究
来源:用户上传
作者:
摘 要: 可测试性技术在机载电路板中的应用使故障诊断问题得到快速发展,但是测试时间长,测试成本高。为了缩短测试时间,降低测试成本,基于MCSA算法、等权值抗误判算法、极小权值?极大相异性算法,融合改进的测试矩阵优化算法,使测试矩阵更加优化,测试向量数量减少。经实验验证,运用优化后的测试矩阵进行测试可以有效缩短测试时间,提高测试效率,降低测试成本。
关键词: 可测试性技术; 故障诊断; 机载电路板; 测试时间; 测试成本; 测试矩阵
中图分类号: TN407?34; TP301.6; TP306+.3 文献标识码: 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 引 言
机载电路板的故障测试与诊断一直是民航业中的重点问题,随着科技的发展,可测试性技术在机载电路板故障测试与诊断方面得到了很大的应用,而如何在保证诊断精度的条件下,提高测试效率,降低测试成本的研究成为如今的焦点。
工程领域中,大规模集成电路的应用,使故障测试与诊断问题的研究成为当今工程领域中重点关注的问题,是否能够对故障进行测试与诊断关系到工程能否顺利实施。文献[1]基于测试分析评价和AO*测试序向量化算法,对船舶电路设备诊断需求分布和基于[D]矩阵的诊断信息共享问题提出了解决方案。文献[2]中,针对舰船诊断问题依据[D]矩阵数据进行建模,通过与多信号流模型的融合以及测试向量的优化算法,实现了以[D]矩阵为基础的XML描述文件的诊断过程。文献[3]针对测试系统诊断方法单一,诊断准确率低等问题,提出了在不可靠条件下进行测试并诊断多故障的方法,该方法提高了装备的诊断精度与效率。文献[4]运用测试?维修的方式实现了多故障的诊断策略,该方法减少了平均诊断步骤,而且实现了较高的故障检测率和隔离率。文献[5]基于测试性[D]矩阵,提出了一种将多故障进行单故障化的故障诊断与维修策略,减少了诊断步数,误诊率大幅度降低。
在上述的研究中,将[D]矩阵作为基础,对电路的故障进行测试与诊断,但并没有将减少测试时间与降低测试成本作为问题来处理。基于此问题,本文在[D]矩阵的基础上,针对机载电路板的可测试性技术进行优化,利用改进的测试矩阵优化方法对传统算法生成的测试矩阵进行优化,利用优化后的测试矩阵进行测试,减少了测试时间,提升了测试效率,降低了测试成本。
1 常规测试向量生成算法
不同的测试向量生成算法生成的测试向量矩阵具有不同的特点。当使用相应的测试向量矩阵进行故障测试时,其测试过程体现出的优良程度也有差异。边界扫描测试作为一种较成熟的可测试性技术,在测试过程中主要考虑两方面的内容:一方面是测试所花费的时间,它体现出测试的总体代价和成本;另一方面是故障诊断的准确性,包括故障覆盖率和故障定位精度。
在边界扫描测试中,MCSA算法[6]、等权值抗误判算法[7]、极小权值?极大相异性算法[8]作为较成熟的方法,在生成测试矩阵方面具有广泛应用[9]。 1.1 MCSA算法生成测试矩阵
MCSA算法思想为将[p]位二进制数按数值递增的顺序从[1~2p-2]分别分配给[N]个网络,依此方法生成顺序测试向量(Sequential Test Vector)。MCSA算法生成测试向量矩阵的流程如图1所示。
根据图1所示流程图生成如式(1)所示的测试向量矩阵,其中,网络数[N=9],[P=5]。
[MTV1=000000010001001000100011001101000100 101010101] (1)
1.2 等权值抗误判算法生成测试矩阵
由于征兆误判和混淆的存在,导致测试矩阵无法对全部故障进行定位[10]。
征兆误判:若测试矩阵中的故障模式与其他故障模式具有相同的故障征兆,即符合式(2)条件,则故障定位过程中,将无法判断短路故障中是否包括测试矩阵识别出的网络[11]。
[VQk=Sfi=VQm,VQn,…] (2)
式中:[VQk],[VQm],[VQn]表示测试向量;[Sfi]表示故障征兆。
故障混淆:若存在如式(3)所示相同的故障[Sf1],[Sf2]时,这将导致故障位置无法确定[Sf1]和[Sf2]识别的网络之间是否存在短路。
[VQj,VQk,…=Sf1=Sf2=VQm,VQn,…] (3)
等权值算法与抗误判定理的融合,可以消除征兆误判问题[12]。
抗误判定理:测试矩阵[V]中没有征兆误判的一个充分条件是[v1∈V],至多可以含有一个与[v1]不同的测试矩阵[vi]。
应用反证法即可证明该定理成立。
该算法生成测试矩阵的基本思想为各网络中贯序测试向量应该具有相同权值[q],并且满足[q=[p/2]],[p]为网络维数,所生成的测试矩阵中不含有相同的两个测试向量[13]。根据上述思想可以得到如式(4)所示的测试向量,其中,[q=2],网络数[N=9],[P=5]。
[MTV2=110001010010010100010110001010010010011000101] (4)
1.3 极小权值?极大相异性算法生成测试矩阵
基于极小权值算法,增加测试向量的相异性指标[DF]以减小出现征兆误判和混淆的概率。
极小权值算法是在测试矩阵的生成过程中,使其具有的权值[W]最小,如式(5)。权值[W]为全体测试向量的权值代数和。
[W(V)=i=1nw(vi)] (5)
在短路故障模型中,测试矩阵的权值越小,征兆误判和混淆出现的概率越低。每个列向量子矩阵都有相等的权值[wmax]才能符合最小权值要求。在生成测试矩阵的过程中,最大权值为符合式(6)条件的最小[k]值:
[i=1kC(p,i)≥N] (6)
通常情况下,具有极小权值的测试矩阵并不唯一,为了能够在具有相同权值的不同测试矩阵中选取完备性指标最好的测试矩阵,从而引入了相异性思想。
测试向量的相异性指标DF,对于任意两个[P]维测试向量[v1,v2],有:
[DFv1,v2=v1i♁v2iP] (7)
式中:[♁]为逻辑异或操作;分子为[v1,v2]之间的hamming距离;分母[P]为向量[v1,v2]之间的最大hamming距离。同时,对测试矩阵[V]也给出了类似的相异性指标[DFV]。
式(8)所示测试矩阵[V]中具有[N]个向量的相异性指标。
[DFV=vi,vj∈VDFvi,vjCN,2] (8)
全体向量之间相异性的平均值构成了测试矩阵[V]的相异性指标。增大相异性,可以减小征兆误判和混淆的概率。
极大相异性条件与极小权值算法的融合,可以弥补极小权值算法在完备性指标上的不足。极小权值?极大相异性算法流程如图2所示。
式(9)为通过图2流程生成的测试矩阵。其中网络数[N=9],[P=5]。
[MTV3=100000100000100000100000111000001101000110100] (9)
利用以上三种算法所生成的测试向量矩阵具有较好的完备性与紧凑性,同时,可以覆盖绝大部分的故障以及对故障进行定位。但是,测试矩阵在实际应用中存在测试向量冗余、耗时较长等缺点。因此,融合测试向量矩阵优化算法对以上三种算法生成的测试向量矩阵进行优化,减少冗余向量,降低测试时间,提高测试效率。
2 测试向量矩阵优化算法
从前文对之前算法的分析可知,无论使用哪种算法,最后得到的测试向量集都是一个矩阵[14],由此可知,其测试向量矩阵也属于[D]矩阵的范畴,因此,适用于[D]矩阵的优化算法经过改进也可以适用于测试向量矩阵中。在单一故障模式中,实现故障的检测和测试过程,并不是测试矩阵中的所有测试和测试结果都要用到[9]。在测试矩阵中,正确检测并隔离出故障的向量即为该故障模式的测试向量。
而测试向量的优化是基于诊断要求和诊断效率[15],通过计算获得相应测试向量的过程。衡量測试向量最优原则的标准也不是唯一的[10],而是多方面的,包括:测试的数量最少;测试成本最低;测试时间最短;实现困难程度最低;资源占用最低。
而在实际的应用过程中,最优原则采用的是这些原则的合理组合[16]。
2.1 优化方法
在本文中,首先对一般的[D]矩阵进行优化,通过对一般[D]矩阵优化后的分析得出改进后算法的可行性与优化程度。本文遵循以下优化原则:使用的测试向量数量最少,测试时间最短。对[D]矩阵的优化过程如图3所示。 以[Dk]矩阵为例,计算最优测试矩阵的步骤为:
[ T1 T2 T3 T4 T5 T6 T7 T8 T9 T10Dk=F0F1F2F3F4F5F6F7F8F9F1000000000000010011100010100100110110111001100101001100100111001001100101001001000000110010110011110111101101101] (10)
Step1: 以[Dk]矩阵的测试[T1]为例,选取[ai1],计算[a11,a21,…,an1]中与[ai1]不同的个数,将其记为[N1];计算[a12,a22,…,an2]中与[ai2]不同的个数,记为[N2];依次计算出测试[T]中对应的[N],获得集合[N1,N2,…,Nm],选择[N1,N2,…,Nm]中最大的[Nk]对应的[Tk]作为最优测试向量中的首个测试向量。若多个测试对应的[N]相同且最大时,则证明该故障模式最优测试矩阵不是唯一的,将最优测试向量中的首个测试集合记为[Tk,Tk1,…]。
[D′0=0010001011010101010100101011110101110001101010010111000110000000100101011100010011011011010111110101] (11)
Step2:将第1个测试中的每个测试作为研究对象,以[Tk]为例。在[D]中,将[Tk]对应的列去除,与此同时,在[D]中,将所有与[ai1]不同的行去除,得到矩阵[Dk+1];若[Dk+1]中仅剩[F0],则回到Step1重新选取[ai1],否则进入下一步。
[Dk=101101110110010101100100110100100100100111101110110111] (12)
Step3:在[Dk+1]中,进行与步骤Step1相同的操作,依次进行计算[Dk+1]中所有测试[T]对应的[N],获得集合[N′1,N′2,…,N′m] ,从[N′1,N′2,…,N′m]中选取最大的[N′k]对应的测试[T′k],将其作为最优测试向量的第二个测试。记为[T′k,T′k1,…]。
Step4:与Step2同理,将第2个测试集合中测试作为研究对象,以[T′k]为例,在[Dk+1]中将[T′k]对应列去除,并且将所有和[a′i1]不同的行去除,记为矩阵[Dk+2]。
Step5:按此循环进行计算,直至矩阵中行只剩下[F0]。
Step6:将上述步骤中获得的最优测试向量的不同分支组合成一个备选的最优测试向量集,即[Tk,T′k,…,Tk,T′k1,…,Tk1,T′k1,…,…]。从备选的测试向量集中选出最优测试向量组,作为最终测试向量组。通过上述步骤得到的测试向量矩阵如下所示:
[DFIN=0×××××××××01××××××××010×××××××0110××××××11011×××××101101××××0100100×××00110110××101110000×0111101101] (13)
[MFDT=tDiND] (14)
式中:[tDi]为单故障测试时间;[ND]为被检测出的故障数。
经过上述步骤后,测试向量中向量数量的减少,直接影响到单故障测试耗费时间[tDi]。根据式(14)可知,平均故障测试时间随之降低。
[FDR=λCDiλCi×100%] (15)
式中:[λCDi]为第[i]个可检测到的关键故障模式的故障率;[λCi]为第[i]个可能发生的关键故障模式的故障率。
由式(15)可知,经过优化后的测试向量矩阵在测试过程中的系统故障检测率[FDR]略有提高。
在测试向量矩阵中,最佳测试向量并不唯一[17],通过测试权重[WFi]可以计算其他测试向量。
[WFi=i=1ntDiT+i=1nMiM] (16)
式中:[T]为测试总时长;[Mi]为第[i]个测试向量个数;[M]为测试向量总数量。
通过计算测试权重可以得到最优的测试向量组合,利用最优测试向量组合进行测试可以降低测试时间,同时提高故障覆盖率。
2.2 优化方法可行性
为了验证方法的可行性,通过对图4所示JTAG测试电路进行仿真测试,选用Xilinx Vivado套件作为综合仿真工具。对[Dk]矩阵和[DFIN]矩阵进行测试,为了减小测试的误差,分别对[Dk]矩阵和[DFIN]矩阵进行[k](在本文中[k=10])次测试。记录单次测试所用时间[T],将测试平均使用时间[MFDT],故障覆盖率[FDR],测试向量数量[N]作为衡量指标。测试结果如表1所示。
测试结果表明,对[Dk]测试矩阵使用优化方法后,测试的时间明显减少,故障覆盖率略有提高,同时使用的测试向量数量明显减少,测试效率得到提高,测试成本也随之降低。
3 实验验证
鉴于机载电路板中存在大量的短路故障,在實验过程中很难验证和分析测试向量矩阵的性能。因此选择如图5所示的多片FPGA通信电路进行仿真验证。
仿真过程如图6所示。
实验选用Xilinx Vivado套件作为仿真工具。首先将图5所示电路划分为5个网络,分别使用第1节中MCSA算法、等权值抗误判算法、极小权值?极大相异性算法生成测试矩阵[D1],[D2],[D3],将测试矩阵[D1],[D2],[D3]从JTAG端口输入到电路中进行测试,测试结果将从TDO端口输出。测试结果如表2所示。 [D1=0010000101000010001100010]
[D2=1100010100100010001101010]
[D3=0010011100100010101100110]
将生成的测试矩阵应用图3所示流程进行优化后得到矩阵[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所示的电路中进行测试,测试结果如表2所示。
由表2的测试结果对比可知,传统算法生成的测试矩阵存在冗余的测试向量,导致在测试过程中耗时长、易出现故障混淆现象。经过优化之后,测试向量数量减少,测试时间随之降低;测试向量的减少,消除了部分故障混淆现象,故障的检出率也得到了小幅提升。在大规模测试矩阵中,测试效果将更加明显,优化效果也会更好。
4 结 语
工程中对机载电路板故障诊断精度的不断提高,导致测试成本与诊断成本随之增加,本文介绍的优化算法在传统算法生成的测试矩阵的基础上进行优化,在不影响故障诊断精度的条件下,提高了测试效率,在工程中具有良好的应用前景。
参考文献
[1] 林志文,陈晓明,杨士元.基于XML模式的[D]?矩阵描述及诊断应用[J].兵工学报,2010,31(3):385?390.
[2] 林志文,刘松风,杨士元.基于[D]矩阵的舰船电子装备综合诊断方法[J].海军工程大学学报,2009,21(4):87?91.
[3] 方甲永,肖明清,王学奇,等.测试不可靠条件下多故障诊断方法[J].北京航空航天大学学报,2011,37(4):433?438.
[4] 王显,田恒.基于测试?维修的多故障诊断策略研究[J].煤矿机械,2017,38(1):130?132.
[5] 田恒,段富海,樊亮,等.基于测试性[D]矩阵的多故障诊断与维修策略[J].北京航空航天大学学报,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] 胡政,钱彦岭,温熙森.边界扫描测试优化算法:极小权值?极大相异性算法[J].测控技术,2000(9):9?11.
[8] 吴继娟,孙媛媛,贾勇.基于边界扫描的FPGA等权值抗误判测试算法[J].哈尔滨工程大学学报,2004(4):509?512.
[9] 孙萌,景博,黄以锋,等.基于多特征量的[D]矩阵模型的建立与分析[J].电子测量与仪器学报,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的全数字延时锁相环的设计[J].现代电子技术,2019,42(6):69?71.
[15] 徐松,刘强.集成电路故障注入攻击仿真方法[J].计算机辅助设计与图形学学报,2017,29(8):1563?1569.
[16] 杨胜利,李超,余亮.基于FPGA的嵌入式通信系统核心模块设计[J].现代电子技术,2018,41(22):88?91.
[17] 杨迪珂,颜学龙.边界扫描测试算法的分析与优化[J].计算机测量与控制,2017,25(5):4?6.
作者简介:王 力(1973—),男,重庆人,博士,教授,主要研究方向为导航制导、飞行控制系统、机载电子系统故障诊断。
贾春宇(1993—),男,天津武清人,硕士研究生,主要研究方向为机载电路板可测试性设计、故障诊断。
转载注明来源:https://www.xzbu.com/8/view-15363707.htm