1、测试性设计概述
测试性设计是指在系统、分系统、设备、组件和部件的设计过程中,通过综合考虑并实现测试的可控性与可观测性、初始化与可达性、BIT 以及和外部测试设备兼容性等,达到测试性要求的设计过程。
测试性设计是一个复杂的过程,有很多因素需要考虑。如,测试接口要标准、通用、简单,测试点的设置应支持产品各个层次测试的需要;要考虑工效学、自动化、障碍物、可达性、可视性;由电路板内诊断和传感器构成的自测试应象产品自身一样轻便;能对模块化部件一次完成多个功能的测试;能对多个独立的功
能部件进行并行测试;尽可能通过系统级测试实现故障检测来缩短测试时间;测试应直观、非破坏性,并尽量不使用专用工具,等等。为构造一个产品的测试性,设计人员一般需要以下五个方面的知识。
①了解部件和产品信息及其表示方式;
②能预测部件在一定条件下的行为;
③能观测软件程序的运行、输入参数和输出,测试和测量的硬件节点;
④通过内建功能可跟踪部件性能和行为的状态;
⑤能控制程序的输入、输出、运行和行为。
另外,测试性设计的目的是提高系统的故障诊断和隔离能力,忽视故障诊断的要求,盲目地追求可测性,必然导致设计费用和系统资源的浪费。反之,如果只从故障诊断考虑问题,而忽视实际的可测性,必然会降低可操作性。故障诊断方法的改进可以降低可测性的要求,同时可测性的提高可以增强故障诊断能力和
系统的可靠性。因此需要可测性设计同故障诊断技术相结合来优化系统可测性设计。
总之,测试性设计是与产品功能设计并行的复杂工作,企业测试部门的效益不能仅从设计阶段的投入衡量,而要从他在产品整个寿命周期获得的利益考虑。
按照产品的结构层次,测试性设计可以分为系统级测试性设计、电路模块的测试性设计、电路芯片的测试性设计和软件的测试设计等。
系统级测试性设计的基本原则是:
(1)通过将系统划分成各个模块来解决系统测试的复杂性;
(2)在系统中插入测试功能,先测试单个模块,再测试模块间的相互作用,进而完成整个系统的测试。
电路模块的测试性设计技术技术主要有:内建自测试设计技术、扫描通路设计技术和测试总线技术等。另外,传统的测试方法建立在对电路的功能测试基础上。但随着电路复杂性增加,对功能测试矢量的收集是一个巨大的工作量。而实际上,电路都是有一些独立的或近似独立的功能块所组成。因此,对这些功能块
分别进行测试则更有效,一种称为结构化测试的电路测试设计方法应运而生。由于这些功能块不一定具有相应的输入/输出引脚,因此需要插入一些新的结构。
系统级芯片(SoC)往往包含着一个或多个模拟的功能块。随着系统级芯片越来越多的使用,模拟电路的测试性设计技术也逐渐引起测试界的重视。而目前
大多数电路的测试性设计都集中在数字电路,在数字逻辑电路中广泛应用的测试性设计技术不能简单移植于模拟电路。目前对模拟电路的测试性设计主要采用以下几种方式:第一:功能结构重组。此方法是利用电路的功能结构经过重组,利用输出信号判别电路是否发生错误;第二插入测试点;第三进行数模/模数转换。
即在芯片设计中加入模数转换器和数模转换器,把待测电路的模拟输出信号变成数字信号,把待测电路的数字输入信号变成模拟信号,从而实现激励和响应的传播。
目前复杂的系统基本上都是由软件和硬件组成,而且系统对软件的依赖越来越大,很多过去由硬件实现的功能逐渐由软件所代替。系统设计中不考虑软件的测试性是不完善的。但是,软件的测试更为复杂。主要问题是缺乏对软件响应的了解,缺乏测试模型、合适的测试准则和测试方法。通常对软件的测试采用统计
方法或者启发式的检查,或者用其它的方式计算同一个变量,等等。这些方法并不能保证软件没有问题。目前能够做的就是通过对大量的功能空间的分析,来提供定性的基于统计的质量保证。#p#副标题#e#
2.测试性分析技术
2.1 测试性分析概述
测试性分析是产品设计分析工作中的一个重要环节,它与诊断方案的制订及实施有关。测试性分析的目的是验证所建议的方法是否满足设计要求。测试性分析内容主要包括:BIT 故障检测与隔离能力的预计、系统测试性预计、固有测试性评价。前两项主要采用测试性预计方法,后一项可采用加权计算方法。
测试性预计是根据测试性设计资料,估计测试性参数可能达到的量值,并比较是否满足指标要求。测试性预计一般是按系统的组成,按由下往上、由局部到总体的顺序来进行。测试性预计主要是在详细设计阶段进行,因为在此阶段测试方案已定,BIT 工作模式、故障检测与隔离方法等也基本确定,并考虑了测试点
的设置和防止虚警措施,进行了BIT 软、硬件设计和对外接口设计。通过估计这些设计是否达到规定的设计指标,可以采取必要的改进措施。测试性预计一般应给出故障检测率FDR、故障隔离率FIR 等。
固有测试性分析在系统研制过程中进行,目的是确定硬件设计是否有利于测试并确定存在的问题,尽早采取改进措施。
2.2 测试性分析参数
测试性是描述系统检测和隔离故障的能力。测试性参数是测试性定量分析的基础。测试性参数一般分为四种类型:性能,系统影响,功能过程影响,测试过程影响。
性能参数包括:
① 可控性和可观测性;
② 故障检测覆盖率;
③ 故障隔离覆盖率;
④ 错误纠正覆盖率;
⑤ 平均、最小、最大模糊组的大小;
⑥ 平均、最小、最大可更换单元的位置;
⑦ 测试模式集的大小;
⑧ 检测时间;
⑨ 隔离时间;
⑩ 纠正时间;
? 虚警率等。
系统影响参数包括:
① 空间消耗;
② I/O 消耗;
③ 性能影响;
④ 功率消耗;
⑤ 可靠性影响;
⑥ 维修性影响;
⑦ 适用性影响等。
功能过程影响参数包括:
① 对一个功能过程时间的影响;
② 对一个功能过程费用的影响。
测试过程影响参数包括:
③ 对一个测试过程时间的影响;
④ 对一个测试过程费用的影响。
2.3 基于模型的测试性分析
基于从属关系的逻辑模型(Logic Modeling)曾经在相当长一段时间内用于系统的测试性分析。逻辑模型是定义系统各组成部分之间相互关系的一种方法,它由一些表示测试性信息的抽象节点和弧线的逻辑图表示。逻辑模型表示了故障模式和测试之间的关系,而故障模式和测试作为可更换单元的一个属性。为了进行测试性分析,可更换单元和它的各种属性都应赋予一定的数据,如可以赋予可更换单元平均无故障时间,赋予故障模式出现的概率,赋予测试需要的时间和费
用。另外,如果需要自动化测试设备,逻辑模型可以用来确定哪些测试需要自动化,哪些需要手工或半手工测试。由于同样结构的逻辑也可以用于维护设备的开发,因此系统设计和维护设备开发可以同时进行,改变维护设备滞后产品的状况。
上述这种逻辑模型的结构简单,容易实现,适合于产品的概念设计阶段。但这种基于功能的逻辑模型不能直接对故障模式进行处理,不能方便的将FMECA功能集成到模型中,因此不适宜用于系统的可靠性设计分析。测试的目的是为了
进行系统故障检测和隔离。因此,建立基于故障模式的系统模型用于测试性分析从上世纪90 年代初期开始逐渐兴起。基于故障模式的从属模型注重点在故障模式上,它需要较少的数据输入,且可以用于可靠性工程设计分析。但由于缺少系统的功能信息,不太适用于概念设计及更高层次的诊断策略分析。同时,用这种
基于故障模式的系统模型进行测试性设计时,测试开发人员没有考虑预先定义的故障模式之外的故障检测,故障检测和隔离的覆盖率受到一定的影响。
鉴于基于功能和故障模式的从属模型都存在一定的缺陷,又出现了一种所谓地混合模型。这种混合模型既具有功能模型建模简单的优点,又包含了故障模式模型。在概念设计阶段,混合模型主要作为功能模型使用,随着设计的进展,故障模式以低级模型的形式建立。由于混合模型同时支持故障模式和功能,因此它
也支持中间过程的分析。
2.4 基于仿真的测试性分析(故障分辩率、虚警率)
在MIL-STD-2165 和MIL-HDBK-472 中都对诊断分辩率的计算进行了定义,但这种计算方法有一定的局限性。所得的预计结果用于实际的诊断时,会产生一定的偏差。因为,这种计算是静态的,没有考虑部件失效的时序。第二,对诊断的预计是在任意的时间间隔内进行的,对失效概率的假定是一段时间的平均结果。而实际部件的失效则是时间相关的。第三,这种计算没有考虑不同的故障组合,
而不同的组合可能对系统功能有不同的影响。而仿真具有时间约束性,利用仿真得出的测试性分析结果可以表示诊断行为随时间的变化。
计算机仿真可以把大量的故障引入到硬件的软件模型中,观测其响应激励的情况,得出故障检测率和故障隔离率,以此评价测试、激励。理论上可以对所有的故障模式进行分析,但故障模式数量太多将导致仿真时问爆炸,工程上难以实现。同时,随着设计和制造工艺的不断完善、元器件质量的不断提高,某些故障
模式发生的概率极低,因此必须结合具体电路利用故障模式影响及危害性分析(FMECA)来确定发生故障的概率,构成该系统的故障模式集。采用MONTE CARLO算法选择不同的故障注入序列。 #p#副标题#e#
3、测试性相关标准
测试性相关标准可以概括为两类,即测试性设计的相关标准和测试性分析的相关标准。
3.1 测试性设计相关标准
(1) MIL-STD-2165
MIL-STD-2165 的目的是对项目实施过程中的可测试性设计、实施、验证提供统一的步骤和方法。该标准可应用于从概念设计到生产到现场的各个阶段。为了与诊断协调并能支持非电子产品,美国国防部又于1993 年颁布了《系统和设备的测试性大纲》Mil-std-2165A 以取代原来的2165 标准。
(2) IEEE 1522
IEEE SCC20 于2004 年发布了《测试性和诊断性特征和指标的试用标准》
(IEEE-std-1522-2004)。该标准针对Mil-std-2165 进行了修改和补充。给出了可度量的测试性品质指标,并以信息模型的方式描述,实现与IEEE-std-1232标准的信息交互。尤其值得指出的是1522 标准提出了诊断性概念,更清楚地明确了测试目标。
(3) IEEE 1149.x
在现代电子应用系统中,印刷电路板越来越复杂,多层板的设计越来越普遍,大量使用各种表贴元件和BGA(ball grid array) 封装元件,元器件的管脚数和管脚密度不断提高,使用万用表、示波器测试芯片的传统“探针”方法已不能满足要求。在这种背景下,联合测试行动组(JTAG) 起草了边界扫描测试(BST) 规范
“测试访问端口及边界扫描设计标准”(IEEE1149.1),用于数字电路测试。之后又发布了该系列的其它标准。其中:
● IEEE1149.4 数模混合电路测试标准,该标准的重点是互连(包括扩展的互连)测试。
● IEEE1149.5(MTM)测试总线标准。测试总线的主要作用是保证系统测试管理和通讯的有效性。
● 1149.6 标准定义了测试高级数字网络要求的边界扫描结构和方法。IEEE 1149.6 边界扫描标准的重点,就在于可以对系统内部及集成电路内部交流耦合差分电路进行制造工艺缺陷的测试,尤其是可以对电容耦合及不同网络相耦合的通路进行故障检测。
(4) IEEE P1500
1995 年,IEEE 计算机学会的Test Technology Technical Council(TTTC)开始研究嵌入式芯片的测试问题,并于1997 年建立了standard for Embeded Core Test 工作组拟定IEEE P1500 标准。该标准的目的是建立芯片供应商和用户之间的标准接口,以促进SOC 的测试。IEEE P1500 主要包含两个部分:一是芯片的测试语言(core test language,CTL),二是可剪裁的芯片测试架构。
3.2 测试性分析的相关标准
目前,军方和工业界采用的测试性分析参数和计算方法不尽相同,引用的标准也有区别。下面列出一些常见的测试性分析中引用的工业标准和军用标准及手册。
① MIL-HDBK-472/470d,美国军用维修性预计手册。MIL-STD-1388-2A,美国后勤保障分析记录要求的军用标准。
② MIL-STD-1629A,美国故障模式,影响和危险分析实施步骤的军用标准。
③ MIL-STD-2084,美国航电及电子系统和设备的维护性一般要求的军用标准。
④ MIL-HDBK-2165,美国电子系统和设备的测试性大纲军用手册。
⑤ DoD 3235.1-H,美国系统可靠性,适用性和维修性试验和评价军用规范。
⑥ Joint Forces Memorandum,美军关于测试和评价中使用的术语和定义的协议备忘录。
⑦ IEEE Standard 1522,IEEE测试性和诊断性特征和参数的标准。
⑧ RADC-TR-85-150,Rome Air Development Center 定义和构建测试性要求的原理和途径自动化测试决策工具。
这些标准和手册对测试性参数进行了量的定义,如故障检测率、故障隔离率等,同时对与维修相关的参数也进行了定义,如平均维修时间,隔离到一个可更换单元的百分比,隔离到一组可更换单元的百分比,维护比例(即一个工作小时需要的维护人时)等。 #p#副标题#e#
4、测试性设计分析软件
自从MIL-STD-2165 发布后,陆续出现了很多测试性分析工具用于美国军方装备的测试性设计和分析。这些工具包括:ASTEP、CAFIT、DTA、IN-ATE 、LOGMOD 、SCOAP、STAMP 、ACE 、WSTA 等。作为分析工具,上述这些软件基本上都具有系统逻辑建模的功能。
随着武器系统测试和诊断要求提高及计算机软件工程的发展,目前的测试性辅助设计和评价软件工具不仅可以用于系统的测试和诊断设计,而且可以生成相应的测试程序和故障诊断引擎,并进一步支持维护性、可靠性及PHM的设计和分析。具有代表性的测试性辅助设计和分析平台是美国QSI公司的TEAMS和DSI公司
的eXpress。
TEAMS 是一个软件工具集,主要用于复杂系统的测试时序生成和测试性设计、分析。TEAMS 最初为航天工业和NASA 研制,后逐渐扩展应用到汽车、化工、医疗等行业。TEAMS 是基于模型的分析工具,这些模型涵盖了系统的结构,互联,测试布局,测试步骤,故障等信息。这个模型将各种故障与与系统的BIT、维护
步骤和修理过程关联起来。产品的测试性经过TEAMS 分析后,它的测试性缺陷和测试性建议就可以直接标注在功能模块上。TEAMS 也可作为交互式工具,完成FMECA 分析,形成文本的和图形的测试性报告。
eXpress是DSI公司的标志性产品,它包罗诊断、可测试性、预报和系统工程。EXpress也是建立在模型基础上,从系统观点获取设计数据,通过综合利用不同的数据源,将系统工程、可靠性、可测试性、可维护性和诊断/可测试性等学科关联在一起。
eXpress强调诊断性设计,它的诊断模块提供工业领域中最强壮的诊断和测试性评价工具,它的诊断能力满足或超过了遍及工业领域和世界范围的复杂系统的诊断设计需求。eXpress中的诊断可被用于将包括在其他数据库或表格中的全部诊断信息完全综合成单独的、可升级而且立即可用的形式。从这些信息中可产生60 多个诊断报告,这些报告以MIL-STD 2165 提供的统计分析方法为基础,包括检测覆盖率报告,详细故障组统计,功能概率,故障模式概率等。
所有的预报和健康管理系统都需要从诊断设计开始,eXpress诊断模块是改进预报和健康管理的有效方法。在设计阶段使用eXpress,可指导传感器设置的优化,并提供信息以对设计选择、冗余度、重构、维护策略等做出更好的决策,适应变化的环境。
eXpress可靠性模块在eXpress模型上增加额外的一层,允许在整个系统设计中根据故障对系统的影响跟踪故障模式。一旦知道了影响,就可以形成FMECA报告。事实上,FMECA报告可以连接到已有的诊断策略中,准确地指出那些检测到故障的测试。