基于故障注入的电路测试性仿真分析
2015-08-28刘大川
刘大川
(中国空空导弹研究院,河南 洛阳471009)
基于故障注入的电路测试性仿真(也称测试性虚拟仿真、故障注入仿真)分析最初是在故障诊断中提出的概念,是在产品性能、可靠性、维修性等领域取得成功的基础上逐渐发展起来的。故障仿真分析在测试性设计的改进与优化、测试性水平的评估与验证等方面有着其他工作无法替代的优势,可随产品的功能、性能设计仿真同步开展,在产品模拟平台上进行故障仿真注入,进而评价产品测试性水平,及时暴露产品测试性设计薄弱环节,对产品测试性水平的持续增长有着至关重要的作用。从理论上讲,可根据需要进行多次的故障模拟、注入与测试虚拟试验,因此故障仿真技术具有成本低、效率高、过程可控、试验输出信息丰富等优点,是产品研制过程中最有效的测试性增长手段之一[1-2]。
1 基于故障注入的测试性仿真思路
故障注入仿真技术是基于对系统的功能、结构和工作机理分析,将系统进行分解,分析各个组成单元之间及其与系统间的故障耦合关系,运用虚拟样机技术,在数学模型的基础上,通过计算机建模与仿真软件实现对系统正常功能与可能存在故障的模拟。
1.1 系统划分
测试性故障注入仿真一般采用分层、分块的方式进行建模和分析,模型结构与系统的功能结构类似,这种建模方法便于模型检验、校核、综合集成等,本文提出的测试性系统仿真模型也采用这种建模方法,建模前对系统的层级进行划分,可分为系统级(System)、子系统级(Subsystem)、功能单元级(Component)等,分别建立测试性分析约定层级中各功能模块单元的故障仿真模型,低层级仿真模型通过输出参数及其相互约束和连接关系集成为上一层级的仿真模型,上一层级的模型是对下一层级各仿真模型的封装。
系统的分层故障仿真模型关系示例如图1所示,功能单元的故障仿真模型构建形式需要依据具体仿真环境的特点进行,各模型的具体实现在表达形式上可能会有所差别。
图1 系统的分层故障仿真模型关系
1.2 故障建模仿真流程
一次完整的故障注入试验包括由试验者收集整理数据、建立试验电路仿真模型、确定故障样本、执行故障注入、运行带工作负载的目标系统、监视系统行为和分析试验结果的整个循环过程[3],电路故障仿真流程图,如图2所示,本文将分别对一些关键步骤进行分析。从图2中可以看出,该方法的特点是在进行电路性能设计的同时同步进行故障注入及分析,过程是一个反复迭代的过程,这样在产品设计阶段就可以获得较多的产品故障数据,可以为故障的影响分析做充分的准备;同时故障注入采用基于软件的故障注入方式,这种方式效率较高,在产品设计不断更改时也可以随时进行故障注入,随时反馈给设计人员产品的测试薄弱环节,便于电路的修改。
图2 电路故障仿真实现原理流程图
1.3 故障注入
电路的故障模型是指电路中各种故障因素的仿真模型。故障建模首先考虑的是,能否模拟真实的故障发生情况,易于注入与易于进行结构验证分析也是重点考虑的因素之一。
建立故障模型,按照故障出现的次数划分,可分为单故障和多故障,按照持续时间可划分为暂时性故障或永久故障,为了减轻故障仿真的开销,有时需要把故障模型建立在较高层次,可以把一个集合的故障模型利用某个故障模式代替,这样可以使故障仿真得到简化但又不影响结果的判定。
故障注入也就是把建立的故障模型加入到正常仿真模型中进行仿真,把故障模式库电路中某个元器件的某个失效信息,在仿真环境下对正常元器件信息进行修改重组,就可以得到故障仿真模型。
1.4 选择测试点监视系统行为
测试点越多能够得到的观测信息就会越大,但是测试点越多造成的计算量和存储量就会越大,现实电路设计也越困难,而且由于测试性设计完成后,会降低系统可靠性,增加测试设备的研制费用开支,所以选择测试点最好考虑到实际电路的布局,首先选择电路板上容易实现的地方,还要考虑到节省电路开支,尽量选取电路中现有的输出节点,在现有测试点不能够满足系统测试需求时,可以考虑增加必要的电路进行测试[4]。
一般来说,经过复杂的计算能够选出最好的测试点,但是工程上没有这个必要,多数情况下,把测试点设置在故障的多发部位,再结合数字、模拟电路的特点,通过适当计算就可以了。
考虑到故障隔离的需要,测试点的选择要考虑到可更换单元的分布情况,各可更换单元间的故障特性传递关系等因素,随时根据仿真结果进行调整,对于无法提供故障特征的测试点应随时取消。
1.5 仿真结果处理
从故障仿真中能够得到大量的电路故障状态信息,对比正常、故障状态的电路特点,找到其中的不同,从而得出故障状态是否能够被观测,这是一个极其复杂的过程。系统的故障处理一般由技术人员按照产品的技术规范来进行,但这种方法并不完善,传统的技术规范中规定的信号量值都比较简单,很多时候对故障的判定和隔离效果比较差,这里通过对正常仿真结果和故障结果的分析对比,可以得出相对精确的判定依据[5]。
结果判定按以下几个步骤进行:
1.5.1 根据产品的设计技术指标对故障进行初步定义,剔除测试容差等干扰因素。
1.5.2 对故障的状态进行定量化处理,如模拟信号的信号极值、相位等以及波形特征参数如各种杂波、正弦波、三角波、方波等都是特征信息,数字量可能包括时间周期、信号强度等。
1.5.3 利用仿真得到的故障信号结果对电路故障现象进行分析,主要是判定是否属于故障,分析是否能够进行故障隔离等因素。
2 故障注入仿真举例
2.1 研究对象
本文选择某信号处理电路的信号调理部分进行建模,按照本文1.1所述划分方式把电路划分为信号采集调理电路和FPGA控制两部分电路。以信号调理电路部分仿真为例,信号调理电路功能组成及电路仿真节点,见图3。
图3 信号调理电路原理图
2.2 故障注入
通过分析,为便于研究的顺利开展,对输入变量进行了简化,选择正弦波和方波作为故障仿真模型的输入变量Up,如表1。
表1 输入变量Up
调理电路实际的测试点为信号的最终输出端OUT,为了监测信号在电路中不同位置的变化及分析的需要,在电路中增加了COM和A1两个测试点,测试模型如表2。
表2 调理电路的测试模型
2.3 仿真结果举例
如输入变量为方波时,电路仿真模型输入0V~+5V、1KHz方波信号后,电路的状态(3个测试点OUT、COM、A1输出)如图4。
通过修改电路,注入“U2A+输入端开路”故障,电路仿真模型的状态如图5,与模型正常状态对比,状态变化明显,但输出状态复杂,无法用简单信息处理算法进行状态特征提取,需要调整测试模型中的信息处理算法以提取合适的特征信息提供给决策模型进行故障与否的判断。
图4 模型正常状态波形
图5 “U2A+输入端开路”故障波形
仿真的结果证明了测试点信号与输入变量间的传递关系达到了设计目的,故障及其特征、系统状态及其随(故障)输入的变化、测试点及测试的输出特性都在模型中得到了很好的体现,初步证明了故障注入仿真分析方法在测试性仿真建模方面的可行性。
3 结语
故障模型产生的故障输入对电路状态的影响及在测试模型中的可测状态基本都反映了电路的实际工作情况,需要注意的是部分故障产生的影响可能比较复杂,通过仿真可能无法准确给出影响的结果,这时可根据需要进行相应的测试性专项试验对该类故障进行试验验证。同时,验证的结果也证明故障仿真模型的分析方法可以给电路的测试性分析工作提供有力的支持,可以推广到其他电路测试性仿真中应用。目前由于人员经验及费用问题,对测试性故障仿真分析方法的验证还不全面,仅进行了电路级可仿真注入故障模型的仿真验证,还没有进行仿真环境中仿真的故障统计模型验证及实际的电路测试性故障注入试验的验证等。
[1]杨鹏,邱静,刘冠军.基于扩展的关联模型的测试性分析技术研究[J].系统工程与电子技术,2008,30(2):371-374.
[2]石君友,龚晶晶,徐庆波.考虑多故障的测试性建模改进方法[J].北京航空航天大学学报,2010,36(3):270-273.
[3]代京,张平,李行善,等.航空机电系统测试性建模与分析新方法[J].航空学报,2010,31(2):277-284.
[4]刘维罡,沈颂华.航空航天器配电变换器测试性设计及其仿真研究[J].宇航学报,2007,28(6):1747-1752.
[5]汪亚顺.装备寿命预测的仿真基加速试验方案优化设计方法研究[D].长沙:国防科学技术大学机电工程与自动化学院,2008.