摘 要: 随着电子系统的集成度越来越高,内部结构越来越复杂,传统的物理探针已经无法满足测试要求。简要介绍了IEEE1149.4标准和支持向量机理论基础,提出了一种基于IEEE1149.4标准的模拟电路故障诊断方案。该方法利用SVM实现故障检测,结合电路分块方法和IEEE1149.4标准中的开关矩阵对电路分块,实现故障定位。最后对此方法的可行性和准确性进行了仿真验证,结果表明此方法在准确判断电路是否存在故障的同时,也能实现故障定位,达到误判率为零的结果。
关键词: IEEE1149.4;支持向量机;故障检测;故障定位
0 引言
目前在一个完整的电子系统中,模拟电路还不能完全被数字电路取代,而在信号处理和控制中,模拟电路又占有多数,并且大部分电子系统故障出现在模拟电路部分,所以对模拟电路的故障诊断至关重要[1]。参考文献[2]提出了一种基于IEEE1149.4标准的混合电路故障诊断方法,实现了混合电路的互连测试和参数测试;参考文献[3]提出的模拟电路故障诊断算法是基于特征和故障诊断器联合优化的一种算法,提取和选择待测模拟电路中的故障特征,结合SVM参数优化完成模拟电路故障诊断;参考文献[4]提出的基于SVM的模拟测试生成算法,利用SVM分类特征将分类面中的信息转化为模拟电路测试矢量,能有效地检测出电路中有无故障。
但是以上算法都存在一定的误判率,针对这一问题,本文提出了基于IEEE1149.4标准的模拟电路的故障诊断。利用IEEE1149.4标准的开关矩阵形成测试通道,再结合支持向量机实现故障的诊断,最后通过电路分块的方法实现故障定位。
1 IEEE1149.4标准简介
支持IEEE1149.4标准的器件主要由以下部分组成:数字测试访问端口TAP(Test Access Port)、模拟测试访问端口ATAP(Analog Test Access Port)、测试总线接口电路TBIC(Test Bus Interface Circuit)、模拟测试总线ABx(Analog Test Bus)、数字边界扫描单元DBM(Digital Boundary Module)以及模拟边界扫描单元ABM(Analog Boundary Module)等[5]。
测试总线接口电路TBIC的主要作用是通过控制模拟测试访问端口(ATAP)和内部测试总线(ABx)的连接,为外部测试总线系统和器件的ABM单元提供通道,测试激励的输入和响应的采集可由ATAP端口获得[1,5]。逻辑控制电路和开关矩阵共同组成了测试总线接口电路,图1是TBIC开关矩阵的结构。
模拟边界扫描单元ABM是IEEE1149.4标准框架的心脏[5],具有至关重要的作用。如图2所示为ABM的功能原理图,其主要是6个开关组成的开关矩阵。
2 支持向量机理论基础
SVM(Support Vector Machine)即支持向量机,由Vapnik最先提出,它是建立在统计学习理论基础上的一种分类方法[4]。SVM的目的是找到一个满足分类要求的分类超平面,使得该超平面不仅能保证分类精度,还能使超平面两侧的样本与该平面的距离最大化[4]。
假设有训练集{(x1,y1),…,(xn,yn)},其中xi∈Rn,yi∈Y={1,-1},i=1,…,n,若存在w∈Rn,b∈R,则超平面表达式可表示为:
S={x|
SVM的关键是寻找最优w和b使得离分类面最近的样本与分类面距离最大。离分类面最近的样本被称为支持向量[6]。通过两类支持向量的平面分别为{x|
s.t. yi(wTx+b)≥1,i=1,2,…,n
用拉格朗日乘子求解上式,再结合KKT互补条件,最终化简为:
上面讨论了线性可分情况,为求解线性不可分情况,还需引入核函数K(·,·)将数据映射到高维,线性不可分问题就被转化为线性可分问题[6],得到:
3 基于IEEE1149.4标准的模拟电路故障诊断
故障诊断是指利用各种诊断和测试方法确定待测电路有无故障,通常分为故障检测和故障定位两部分。故障检测指判断出待测电路中有无故障,故障定位则指找出发生故障的确切位置。本文采用基于SVM的故障检测方法来判断电路是否存在故障,对于故障定位,采用结合IEEE1149.4标准的开关矩阵和电路分块方法实现。该诊断方法以单一故障为基础,暂时不涉及多故障并存的情况。
3.1 故障检测
本文采用基于SVM模拟电路故障检测方法,其主要思想是对采样空间进行分类,得到能区分电路正常状态和故障状态的分类面和决策函数,最终判断电路有无故障。
对待测电路(CUT)设置不同的状态(正常状态和故障状态)之后,以采样频率FS分别进行采样,得到大量n维的响应向量,这些n维的响应向量构成了训练集或测试集[5]。利用SVM对采样空间进行分类,得到超平面和决策函数,最后将待测响应x代入到决策函数中,根据f(x)的值(1或-1)来判断此电路是否有故障。
基于SVM故障检测的主要步骤如下:
(1)采集训练集:将电路分为正常状态和故障状态,分别提取电路特征作为训练数据xi,将电路正常特征标记为y=+1,电路故障特征标记为y=-1。
(2)训练分类器:结合采集的训练集来训练支持向量机,获得能将正常特征与故障特征分开的超平面以及决策函数:
(3)检测故障:将待测的测试特征x代入到决策函数中,根据得到的结果判断电路中有无故障:
f(x)=1,电路正常-1,电路故障
3.2 故障定位
基于SVM的故障检测只能判断出待测电路有无故障,要确定故障发生位置,还需采取进一步的方法来实现。本文结合电路分块方法和IEEE1149.4标准来实现电路分块,分别对分割后的子电路进行故障判断。采用IEEE1149.4标准中的开关矩阵,在设计电路时将分块点连接至IEEE1149.4器件的ABM单元,实现测试激励的输入和测试响应的采集。本文采用参考文献[7]中的基于Laplace矩阵的谱平分算法,该算法利用电路的邻接矩阵模型对电路网络进行分块处理,主要步骤参照参考文献[7]。
3.3 基于IEEE1149.4的模拟故障诊断
因为要将分块点连接到IEEE1149.4器件的ABM单元上实现电路分块,所以要在最开始就对电路进行分块。文中用到的电路分块算法每次只能将电路分成两个子电路,所以先将电路分成2个一级子电路,再对一级子电路进行分块,得到4个二级子电路,依此类推,直至分到最小(可以为单一器件,也可以为简单网络)。
基于IEEE1149.4标准的故障诊断流程如图3所示。对电路分块后,将分块点连接至IEEE1149.4器件的ABM单元上;然后断开或闭合相关ABM单元上的概念开关,采集整个待测电路的响应空间,完成支持向量机的训练,测试电路是否存在故障;在有故障的情况下,重新选择需要断开或闭合相关位置概念开关实现电路分块,对子电路块进行故障检测,重复这一步骤直至最后一级子电路故障检测完成。
4 仿真验证与结果分析
本文在软件仿真环境下验证该诊断方法的可行性和准确性,以图4所示的三极点滤波器为例。器件U1和器件U2均为支持IEEE1149.4的器件。点B1是整体电路的分块点,将电路分为两个一级子电路,左边为子电路1,点B11是子电路1的分块点,点B21和点B22均能作为子电路2的分块点,所以点B21和点B22将子电路2分为三部分。将点B11连接至器件U1,将点B1、点B21和点B22都连接至器件U2上(为画图简便考虑,并未在图中画出)。
主要测试电阻和电容的故障,暂不涉及放大器的故障,假设运算放大器是无故障的。在采集响应空间时,以元件参数容差[-5%,5%]的电路状态为正常状态,以大于元件参数容差(5%,10%]的电路状态为故障状态。分别对整体电路和子电路进行了故障检测,结果如表1表示。
这里需要说明一点:基于SVM的故障检测算法中的故障状态只选取了大于元件参数容差(5%,10%]的电路状态,对于小于元件参数容差的电路故障状态是无法检测的。若要检测小于元件参数容差的电路故障状态,需要重新选取故障状态与正常状态进行支持向量机的训练。
由表1可以看出,无论是对整体电路还是子电路,基于SVM的故障检测算法可以准确无误地判断出电路中是否存在故障,与参考文献[4]相比较,电路故障误判率为零。同时还可以得出,经电路分块后,使用IEEE1149.4器件提供测试通道,可以实现故障的初步定位。要实现故障准确定位,需要结合电路特点,利用支持IEEE1149.4的器件对单一元件进行故障诊断,如图5所示。
对于R1:连接A11引脚到AT1端口,A12引脚连接到VG(逻辑地),从AT1端口输入电流测试激励iT1,待测试激励稳定后将AT2端口连接至A11引脚测得电压UR1,则R1=UR1/IT1,其中UR1和IT1为有效值。子电路2的R2和R3也可以用此方法测试。
对于C1:连接A11引脚至AT1端口,A12引脚至AT2端口,从AT1端口输入电流测试激励iT1,待测试激励稳定后从AT2端口测得电容两端电压UC1,然后断开A12与AT2端口的连接,连接A11至AT2端口测得A11处电压UA11,考虑到C1上电压滞后电流的特征,求得C1的值:
子电路2部分的C2和C3的测试也可用此方法。
由此可以看出,该方法不仅能判断电路中有无故障,也能对故障准确定位。与参考文献[3]和参考文献[8]相比,该方法已经得出器件的真实值,不仅可以判断出器件真实值大于还是小于标称值,同时还能实现无误判。此外,本文采用IEEE1149.4标准提供测试通道,采用虚拟探针技术,实现了物理探针不能实现的测试输入和数据采集。
5 总结
本文提出的基于IEEE1149.4标准的模拟电路故障诊断方案,是以IEEE1149.4器件提供测试通道为前提,解决了传统物理探针无法实现测试输入和数据采集的问题;利用SVM实现模拟电路故障检测,并且对故障检测实现了误判率为零;利用分块方法对待测电路进行分块,并且能准确定位。本文暂时只对待测电路中单一故障的情况进行了讨论,下一步将研究对多故障并存的电路实现故障诊断。
参考文献
[1] Li Yanping, Lei Jia. Design of analog test hardware platform based on IEEE 1149.4[C]. The Ninth International Conference on Electronic Measurement & Instruments, 2009:873-876.
[2] 陈圣俭,张胜满,周燕,等.基于IEEE 1149.4标准的混合电路测试系统设计[J].计算机测量与控制,2009,17(9):1673-1675.
[3] 沈东.模拟电路故障诊断的仿真研究[J].计算机仿真,2012,29(10):248-251.
[4] 龙婷,王厚军,龙兵.基于SVM的模拟测试生成的改进算法[J].系统工程与电子技术,2011,36(6):1425-1428.
[5] IEEE Computer Society. IEEE. std 1149.4-2011:IEEE Standard for a Mixed Signal Test Bus[S].2011.
[6] 邓乃扬,田英杰.支持向量机:理论、算法与拓展[M].北京:科学出版社,2009.
[7] 梁因,马齐爽,徐萍.基于图论的潜通路分块分析方法[J].北京航空航天大学学报,2014,40(1):115-119.
[8] Guo Ke, Wang Sheling, Song Jiahong. Analog circuit fault diagnosis based on wavelet kernel support vector machine[C]. 2013 International Conference on Information Technology and Applications, 2013:395-399.