基于PODEM的电路快速故障诊断系统设计与实现*

2016-10-26 05:17吕伟栋欧庆于周学广
计算机与数字工程 2016年9期
关键词:数字电路故障诊断电路

刘 可 吕伟栋 欧庆于 周学广

(1.92723部队 北京 100841)(2.海军工程大学信息安全系 武汉 430033)



基于PODEM的电路快速故障诊断系统设计与实现*

刘可1,2吕伟栋2欧庆于2周学广2

(1.92723部队北京100841)(2.海军工程大学信息安全系武汉430033)

随着数字电路集成度越来越高,电路测试已成为数字电路故障诊断的一个重要研究课题。论文针对数字电路故障检测的自动测试向量生成算法进行研究,提出了基于PODEM算法的数字电路确定性测试生成算法,完成了某专用故障诊断系统的设计与实现。

PODEM; 快速故障诊断; 内建自测试; 初级输入; 初级输出

Class NumberTP399

1 引言

随着科技的进步,尤其是数字电路的工艺技术飞速发展,集成电路的复杂度也随之提高,而这种趋势则不可避免地增加了电路测试的难度,进而增加了设计的费用与时间。如今的电路设计中,测试已经成为了非常重要的一环。

故障检测和定位是测试的核心,数字电路的测试从小到大可分为门级、芯片级、板级和系统级。但是,测试成本与芯片规模呈指数关系,芯片的主频和引脚增加时,成本会成指数型增长。为了解决此类问题,学者们提出了许多方案:早在1966年Roth等就首次提出了D算法,采用多维敏化思想,但还是存在许多缺陷[1];1981年Goel在D算法的基础上提出了PODEM(Path Oriented DEcision Making)算法并做出了改进[2];Rozkovec M等提出了一种面向功能的循环测试方法,该方法能够在不明显增加资源开销的情况下完成测试,但存在测试向量对于基于FPGA实现的电路故障覆盖率较低的问题[3];Nazar G L等提出了一片双模冗余方法,可以通过两份输出进行比较实现在线的故障检测,但是存在引起较大的额外面积开销的问题[4];文献提出了无回溯并行多路径搜索测试向量生成算法[5];算法是一种公认的成熟有效的针对组合门电路的结构化测试算法[6];国内韩银和提出了一种电路测试压缩方法,并使用一些自组装的大电路和工业界电路对该方法进行了验证[7];邓禹丹在对PODEM算法进行深入研究的基础上,开发了一个基于Windows的数字电路测试生成平台。这些研究都为该领域的发展做出了很大的贡献。

本文针对数字电路故障检测的自动测试向量生成算法进行研究,提出了基于PODEM算法的数字电路确定性测试生成算法,完成了某舰载专用故障诊断系统的设计与实现。

2 确定性测试生成算法PODEM

本节主要包括内建自测试(Built-In SelfTest,BIST)、测试激励矢量生成算法和确定性测试生成算法PODEM三部分工作。

2.1内建自测试

内建自测试,就是系统通过某种方法对自己本身进行配置和测试。该方法具有周期短、容易实现、故障覆盖率较高等优点,随着集成电路复杂度逐渐提高,BIST正受到越来越多人的关注。

芯片或电路系统在进行BIST测试时,一般要有测试图形生成电路、被测电路、数据压缩电路等,测试生成电路主要生成测试图形,然后通过时钟加载到被测电路,数据压缩电路主要完成压缩测试响应数据的工作,这样做的目的是为了降低数据使用空间,比较电路主要是输入信号和参考信号的比较,并对结果进行判断。

生成测试图形和处理测试响应是BIST主要完成的两大工作,测试图形的生成有多种方法,这里根据系统需要,选择确定性测试与随机性测试相结合的方法。

2.2测试激励矢量生成算法

测试激励矢量生成算法是自动生成电路测试激励矢量序列,它们通过计算机或其他工具采用通用生成算法实现。Goel指出:生成算法运算时间与电路门数的平方成比例,也就是说,电路规模为n,则运算时间为n2。用算法复杂性观点来分析,生成问题是非线性多项式复杂度难题,也就是说,在线性时间里无法解决这个问题。因此,如何在短时间内获取一个有效的测试激励矢量仍然是一个难题。

在对PCB板级电路进行仿真前,要建立可以被识别的电路模型。电路中的故障一般分为网络故障和激励施加故障两大类。网络故障又包括开路故障和短路故障。激励施加故障包括转换故障和固定故障。开短路故障顾名思义就是由于节点网络的开短路所造成的故障。转换故障是指激励施加不能使“0”、“1”转换。固定逻辑故障则是指由于某种网络缺陷使得电路中的线路不受输入的控制,总是固定在“0”或“1”,开路故障可以等价为S-A-1(stuck-at-1)或S-A-0(stuck-at-0)的固定逻辑故障。

电路级数可作为参考值用来计算可操作性和可观测性。在电路节点输入端和输出端之间的级数是初级输入(Primary Input,PI)到初级输出(Primary Output,PO)之间的通路,从PI到其他电路节点取其中最长的一条。从PI到PO的级数标记采用测试激励矢量生成算法实现,具体算法如下所示:

算法名称:测试激励矢量生成算法

算法输入:空的初级输入队列和初级输出队列;

算法输出:已填的PI和PO;

1. 标记所有PI为0;

2. 按下列条件扇出所有项:

2.1 PI标记为0的电路连接;

2.2 增加扇出驱动逻辑模块到PI队列中;

3. 当PI队列不空时,从中提取出逻辑模块。

如果逻辑模块已经标记了所有的扇入,用其中输入序列中的最大值加1去标记当前的逻辑门,作为其扇出结果;然后通过驱动队列逻辑模块加上逻辑模块扇出。否则,加上这个逻辑模块到队列中。

从PO到PI的节点级数是从PO到PI的通道,其中从PO出发的最短的通道是该电路节点的级数。而标记从PO到PI的方法也与图1所示相近,不同之处在于标记的起始点是PO。

PODEM算法是在D算法的基础上进行的改进,采用敏化通路方式传递故障效应算法把测试码自动生成问题归结为状态空间搜索问题,而该问题已被证明为NP问题[9~10]。

PODEM算法主旨是:追踪活动的故障回溯到初级输入,搜索所有可能的初级输入任务,从中选取最恰当的一个初级输出作为测试激励矢量,循环搜索,直到完成所有故障回溯。这个算法基于电路结构测试,把电路网络作为研究对象,减少递归操作数量,在绝大多数情况下,该算法可以获得令人满意的故障覆盖率。PODEM算法流程图如下所示:

PODEM算法:

算法输入:故障电路及所有电路节点值;

算法输出:初级输入以及对应的测试激励适量。

1.初始化。建立故障电路模型,初始化所有电路节点值;

2.接受故障现象,指定一个未赋值的初级输入(PI);

3.用已知初级输入裁决电路节点值;

将40只大鼠随机分为假手术组、模型组和诃子提取物低、中、高剂量组(20、50、100 mg/kg,以提取物质量计,剂量设置参考文献[17-18]),每组8只。按“2.2”项下方法造模成功2 h后,各给药组大鼠均灌胃相应药物(以生理盐水为溶剂),假手术组和模型组大鼠均灌胃等体积生理盐水,每天1次,连续7 d。

4.判断电路节点值是否符合故障检测初级输出(PO)?

5.符合,给出诊断结论,结束;

6.不符合,判断是否还有新的初级输入?

7.有,转2;

8.没有,判断是否还有其他可能指定的初级输入?

9.有,选择其他可能值作为初级输入,转3;

10.没有,给出诊断结论,结束。

3 某型专用设备故障诊断系统的设计与实现

基于上述技术,我们完成了某型专用设备故障诊断系统的检测模块的设计与实现。该型故障诊断系统能够针对专用装备的主板模块、I/O接口模块进行快速故障诊断,并且能够根据每条故障给出维修指导信息,以便于用户的快速维护。

3.1总体框架设计

系统总体框架结构如图1所示。

图1 系统总体框架图

系统总体框架分为接口部分、主板诊断模块、I/O接口诊断模块、主控模块、故障信息显示/输出模块和故障诊断软件模块六个部分,本文只介绍I/O诊断模块与故障诊断软件模块两个主要功能模块。

3.2I/O诊断模块

该模块主要负责对装备I/O接口模块及相关底板模块进行故障诊断。一方面,I/O接口诊断模块通过主板插槽与装备连接。另一方面,I/O接口模块通过自身提供的打印机口及串口与装备的打印机口及串口进行连接。当对装备I/O接口模块进行故障诊断时,I/O接口诊断模块首先通过主板插槽对I/O接口模块中的通信控制芯片进行回环(Loop Back)测试,然后向装备I/O接口模块发送各种控制信号及测试数据,并通过与装备串口的连线接收应答信号及测试结果数据。根据测试结果在I/O接口模块故障库中进行提取相应的故障诊断信息及维修辅导信息在液晶显示屏上显示,通过故障诊断信息输出口(串口)进行故障诊断信息的输出,并利用状态指示灯指示I/O接口模块的故障情况。I/O诊断模块框架如图2所示。

图2 I/O诊断模块图

3.3故障诊断软件模块

上电复位后故障诊断软件模块运行,首先判断诊断系统当前所处的诊断模式,如果为主动诊断模式则运行主动诊断部分的程序,否则运行被动诊断部分的程序。

在主动诊断程序中,故障诊断软件模块的测试步骤如下:

算法名称:主动故障诊断算法

输入参数:当前诊断模式为主动诊断模式

输出参数:提取故障诊断信息,并显示、输出;

1.针对装备I/O接口模块中通信控制芯片的各类寄存器进行初始化设置,并对装备串行通道1、2分别进行回环测试。

2.如果测试失败,则根据错误现象在I/O接口模块故障库中提取相应故障诊断信息及维修指导进行显示、输出。

3.如果测试成功,则开始串行通道1、2通信测试。

4.如果串口通信测试失败,根据错误现象在I/O接口模块故障库中提取相应故障诊断信息及维修辅导信息进行显示、输出。

5.否则,开始装备并口通信测试。

6.如果并口通信测试失败,根据错误现象在I/O接口模块故障库中提取相应故障诊断信息及维修辅导信息进行显示、输出。

7.否则,表明装备I/O接口模块工作正常。

在被动诊断程序中,故障诊断软件模块采集装备BIOS的自检信息,并进行锁存。装备故障诊断

卡主控模块通过锁存的BIOS自检信息获得主板模块的错误代码,并测试错误代码的保持时间。如果错误代码的保持时间超过预先设定的时间阈值,则利用错误代码作为索引在主板模块故障库中提取相应的故障诊断信息及维修辅导信息进行显示、输出。否则,重新获取新的主板模块错误代码,并重新计算其保持时间。

4 结语

本文分析了国内外数字电路测试的研究现状,并对BIST方法、PODEM算法进行了研究,提出一种确定性测试与随机性测试相结合的向量生成算法,然后通过实现PODEM算法并将其作为BIST测试向量生成模块,实现了某型故障检测系统的关键模块,该系统获得了省部级科技进步二等奖。

[1] Xilinx Inc. Spartan-3A FPA Family Data Sheet[M]. USA: Xilinx,2010:8-10.

[2] 雷绍充.VLSI测试方法学和可测性设计[M].北京:电子工业出版社,2005:32-40.

LEI Shaochong. VLSI Test Methodology and Design for Testability[M]. Beijing: Publishing House of Electronics Industry,2005:32-40.

[3] Rozkovec M, Jenicek J, Novak O. An evaluation of the application dependent FPGA test method[C]//Design and Diagnostics of Electronic Circuits & Systems(DDECS), 2012 IEEE 15thInternational Symposium on Design & Diagnostic of Electronic Circuits & Systems. IEEE,2012:22-25.

[4] Nazar G L, Carro L. Fast error detection through efficient use of hardwired resources in FPGAs[C]//Test Symposium(ETS), 2012 17thIEEE European. IEEE,2012:1-6.

[5] 黄越,于宗光,万书芹.无回溯并行多路径搜索测试向量生成算法[J].计算机应用,2010,30(5):1390-1391.

HUANG Yue, YU Zhongguang, WAN Shuqin. Non-back tracking multipath algorithm for test pattern generation[J]. Journal of Computer Applications,2010,35(5):1390-1393.

[6] Fujiwara H, Shimono T. On the acceleration of test generation algorithms[J]. IEEE Transactions on computers,1983,100(12):1137-1144.

[7] 韩银和.数字电路测试压缩方法研究[D].北京:中国科学院计算技术研究所,2005:5-11.

HANYinghe. New approaches to test compression for digital circuits[D]. Beijing: Institute of Computing Technology, Chinese Academy of Sciences,2005:5-11.

[8] 邓禹丹.数字电路测试生成平台研究与可测性设计的应用[D].南京:南京航空航天大学,2007:30-37.

DENG Yudan. Research of test generation platform for digital circuits and application of DFT[D]. Nanjing: Nanjing University of Aeronautics and Astronautics,2007:30-37.

[9] Fujiwara H, Toida S. The complexity of fault problems for combinational logic circuits[J]. IEEE Transactionon Computers,1982,99(1):31-38.

[10] 罗红,慕德俊,邓智群,等.网格计算中任务调度研究综述[J].计算机应用研究,2005,22(5):16-19.

LUO Hong, MU Dejun, DENG Zhiqun, et al. A Review of Job Scheduling for Grid Computing[J]. Application Research of Computers,2005,22(5):16-19.

A Circuit Fast Fault Diagnosis System Based on PODEM

LIU Ke1,2LV Weidong2OU Qingyu2ZHOU Xueguang2

(1. No. 92723 Troops of PLA, Beijing100841) (2. Department of Information Security, Naval University of Engineering, Wuhan430033)

This paper deeply studies the fault models of digital circuits and proposes a combined implementation of Built-In SelfTestmode,BIST for short, on the basis of which a new implementation of Path Oriented DEcision Making is proposed, shorter form PODEM. In addition, this paper also studies the generation of test vector algorithm, and a fault diagnosis system for special purpose equipment is designed and implemented based on the research, which wins the 2ndprize in a province level.

PODEM, fast fault diagnosis, BIST, primary input(PI), primary out(PO)

2016年3月11日,

2016年4月25日

国家社会科学基金军事学项目(编号:14GJ003-152)资助。

刘可,男,硕士,高级工程师,硕士生导师,研究方向:信息保密工程与管理。吕伟栋,男,硕士研究生,研究方向:计算机技术与信息安全。欧庆于,男,硕士,副教授,硕士生导师,研究方向:密码硬件分析。周学广,男,博士,教授,博士生导师,研究方向:信息内容安全、密码防御。

TP399DOI:10.3969/j.issn.1672-9722.2016.09.019

猜你喜欢
数字电路故障诊断电路
电路的保护
基于包络解调原理的低转速滚动轴承故障诊断
基于数字电路的定时器的设计
解读电路
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
案例教学在数字电路教学改革中的应用研究
数控机床电气系统的故障诊断与维修
数字电路实验的设计分析
数字电路功耗的分析及优化