故障注入系统.docx
《故障注入系统.docx》由会员分享,可在线阅读,更多相关《故障注入系统.docx(23页珍藏版)》请在冰豆网上搜索。
故障注入系统
故障注入系统
系统概述
目前国内外公认的、行之有效的,具有广泛应用前景的环境就是软件仿真测试平台。
它是面向嵌入式软件测试的计算机系统,测试人员可以根据被测软件的要求,通过对系统各种资源进行配置,组织被测软件的输入来驱动被测软件运行,同时接收被测软件的输出结果,从而对嵌入式软件进行自动的、实时的闭环测试。
但在实际测试中,要想对系统进行充分测试,还需结合软件故障注入(softwarefaultinjectiontesting,SFIT)技术来实现在多种失效模式下对目标系统的测试。
仿真法是系统可信性分析评价的常用方法,而故障注入系统是仿真平台的一个重要功能模块,它可以模拟产生各种故障并注入待测系统,观察其对注入故障的反应,并最终得到评价结果.故障注入的实现过程涉及航电系统的多个环节,与设计的耦合紧密,跨专业领域较多,是一个非常复杂的过程,需要采用多种技术手段,从不同角度实现不同类型的故障模拟。
故障注入的实现手段:
(1)手动模拟部分简单故障
(2)在仿真和测试环境的设计中实现故障模拟
在系统仿真和测试环境的设计中,可以对数据、信息流和控制时序的变化进行故障注入,即设计算法时不仅要考虑系统正常的状态,还需要考虑各种异常状态,包括传感器和执行机构异常、通信接口异常、信号传递异常、控制时序异常等。
有些通用仿真测试平台(如德国TechSAT公司的ADS-2,国内的FireBlade等系统)的软件具备故障注入功能,可以很方便地实现算法的故障设计。
不管是通用的仿真测试平台还是专门设计的系统,一般都采用COTS(Commercial-Off-the-Shelf)功能模块,这样就只能模拟硬件无关类型的故障,更多体现在处理算法方面,而对于具体的物理层和电气层的故障模拟还需要采用其他手段
(3)利用仪器仪表和COTS产品的功能
很多仪器仪表(如信号发生器、电阻箱、程控电源、逻辑分析仪、高端的ICE等)可以作为故障注入的辅助工具,通过手动调整和仪器仪表相结合进行故障注入,也是目前常用的手段。
有些针对航电系统的COTS板卡也提供故障模拟功能,如美国GEFanuc和Alta公司的1553B/ARINC429接口板卡都提供电气层和协议层的故障注入功能。
(4)采用专业的故障注入设备
目前专业性的故障注入设备还比较少,德国TechSAT公司提供的ADS2-FIBO可模拟航电系统连接电缆上可能发生的连接故障(包括短路、断路、阻抗等)。
北京旋极信息技术股份有限公司吸取国外相关系统的设计经验,结合国内的需求,设计了IceBlade故障注入系统。
针对各种航电接口,该系统可在物理层、电气层、协议层和应用层实现故障注入功能,而它特有的探针故障注入功能可以在PCB层面实现故障注入。
旋极信息是国内最早也是目前唯一拥有自主研发故障注入产品的厂家。
2009年,旋极信息发布了嵌入式系统测试故障注入产品,打破嵌入了系统故障注入市场完全被国外产品垄断的局面。
公司凭借自身在航空总线等方面的雄厚实力和长期技术积累,对嵌入式系统故障注入的功能和概念进行了扩充和发展,不但支持几乎所有国防军工领域常用的总线,而且具备丰富的故障注入模式,包括物理层、电气层、协议层和应用层的故障注入。
比较而言,目前国外的同类产品仅仅支持物理层的简单故障注入类型。
目前旋极信息的嵌入式系统故障注入产品属于国内首创、国际领先水平。
IceBlade故障注入系统用于高稳定、高可靠性电子设备的调试、测试和验证过程。
通过模拟电子系统在运行过程中可能出现的异常来实现设备的容错性测试、故障模拟、故障定位和故障分析。
系统可以模拟通信总线和接口信号在物理层、电气层、协议层的性能变化,在不对被测系统进行任何改动的条件下实现故障注入功能。
系统提供电源故障注入和探针故障注入功能,用以模拟电源质量变化情况和线路板上芯片级故障。
IceBlade故障注入系统在实现故障模拟的同时,还具有对目标信号进行观察、记录和分析的能力,提供最详细的信号,便于调试、测试人员发现任何潜在的威胁。
系统采用积木式结构,可根据需要灵活裁减。
该系统具备以下几大特点:
一是系统支持系统外部按键操作面板控制、图形界面软件控制、FireBlade仿真测试系统协同控制等多种工作方式;二是每一种接口采用独立的模块化设计,可以根据需求选择相应故障注入单元模块,提高配置与投资的灵活性;三是不同的故障注入单元用统一的上层软件进行控制,综合不同模块的共性,降低单元模块操作的复杂性。
旋极公司作为国内知名的嵌入式系统专家,曾为载人航天、探月工程、嫦娥工程等众多国家大型关键性项目提供过优质的技术和服务.
系统原理
比较常用的软件故障注入技术分为2类:
中间层注入技术和空间注入技术.中间层注入方式只能向指定的位置注入确定性故障.空间注入技术主要对内存空间或各寄存器进行注入,这类注入的根本思想是模拟单粒子翻转效应.在任何支持多任务的系统中,如Windows,Linux及各类嵌入式操作系统。
空间注入就是向进程地址空间中的这些节段有针对性或随机的注入。
空间注入技术更加灵活,能更好地模拟单粒子翻转等现象,能根据需要注入内存的任意位置,可注入确定性故障和随机故障;而中间层注入技术,只能截获应用与系统间的通信并进行注入,不能对任意的内存位置进行注入.由于应用与系统间的通信也是在内存中进行的,所以中间层技术所能注入的故障,空间注入技术通过寻找恰当的内存位置也可以注入.本系统采用空间注入技术,实施了创新的软件故障注入技术,依靠先进的调试和性能监控功能,可在常见的处理器,注入故障和监控激活的错误在目标系统上的影响。
具有面向对象与分布式故障注入功能.
图1故障注入器的结构
本软件故障注入器的结构如图1所示。
其中,主控器为主控程序,负责协调系统运行;故障注入器负责运行时将故障注入目标系统中;脚本解析器分析故障注入脚本并构成故障注入模型对象链;负载生成器生成目标系统的运行负载,并将该负载传递给目标系统;监视器跟踪目标系统运行,并在需要时对数据收集进行必要的初始化工作;数据收集器在线收集数据;数据分析器可离线处理和分析状态数据。
系统架构类似于客户机/服务器模型。
它包括一个前端应用程序,它运行在一台主机上,并负责实验的管理和控制。
一个注入的核心,它运行在被评估的系统(目标系统),是负责插入故障。
主机和目标之间的连接是通过一个高层次的协议,该协议栈的TCP-IP(或任何其他可靠的消息传递联系)上。
实验和故障配置数据流从主机到目标,而故障注入原始数据结果在相反的方向流动。
该系统是由多台服务器和若干节点组成.其中服务器提供与指挥员的交互界面,负责接受指挥员的指令,并分别交由相应节点执行.此外服务器还负责故障监测及故障恢复并及时向指挥员发出故障警报.一般情况下,只有一台服务器处于工作状态,其他服务器处于备用状态或恢复状态.此外,为提高系统可信性,该系统采用双总线结构,与服务器类似,任一时刻只有一条总线处于工作状态.
该系统置于一台宿主机内,并将该宿主机接入待测系统网络中.该系统分为故障注入和故障检测与处理2部分.在故障注入部分,故障注入设置模块完成试验设置,故障注入器产生注入故障,任务生成器产生任务实例,故障仿真实例合成器合成故障仿真实例;在故障检测与处理部分,故障检测模块检测仿真平台故障,故障恢复模块调用故障处理算法恢复故障,检出故障及其处理结果统计模块统计故障及其处理结果并得出可信性评测结果.系统管理模块对整个系统进行控制.
图2.系统架构
系统可针对目前先进的微处理器进行故障注入。
这些微处理器包含调试和性能监视功能,可直接对目标处理器的调试硬件编程。
复杂的调试异常处理机制允许定义多种故障触发方式,利用处理器内部的性能监视硬件可以记录故障注入之后目标处理器行为的详细信息。
这种方法都对系统的负载干扰较少,克服了多数软件故障注入工具干扰负载运行的缺陷。
产品的扩展套件扩展纳入非SWIFI(软件故障注入技术)的适用性。
对于非以处理器为中心的设计,如电信,网络和汽车嵌入式解决方案,直接故障安置在ASIC(特定用途集成电路),芯片组的设备,甚至在PCB(印刷电路板)的节点发现可能会要求。
即使考虑到内部处理器的位置,标准的编程访问没有达到所有功能单元——高速缓存是一个很好的例子
扩展方法依赖于一个模块化的架构,使用相同的实验定义和控制前端可与两个新的硬件模块一样数据库。
这些硬件模块提供引脚电平迫使注射和扫描链实现的故障注入。
每一种技术-引脚电平注射液,SWIFI-是完全独立于其他的,它可用于单独或同时,根据评价目标和目标系统的功能考虑
主机和注射模块之间的通信是基于TCP/IP连接。
根据这项计划,目标系统中的位置是独立的主机(甚至可能是放置在不同的物理位置,例如另一栋楼)。
目标应该有一个硬件复位接口,以再次启动之间的系统注入运行。
如果这样的功能是不可用的,异常操作仍然是可能的,但完全无人值守的活动可能会受到损害。
主机可以执行不同的目标,同时实验
SCIFI故障注入扫描链实现的故障注入是基于边界扫描(BSCAN)在九十年代初由IEEE通过硬件规格板测试设备的功能。
BSCAN是最复杂的集成电路(处理器,ASIC,DSP)的,其标准的扫描单元和TAP(测试访问端口)控制器宏也很容易定制和添加到IC设计支持。
系统的BSCAN模块从BSCAN链(通过集成电路板的标准串行通道)主机,并通过控制/监控目标接收的故障参数。
故障定义模块设置断点条件和定义的故障模型(类型,位置和持续时间)。
工作量开始其执行和运行,停止时,才到达断点。
故障注入阅读所有扫描链,反相配置数据。
引脚电平强制故障注入模块,使用故障的执行器(强迫探头)插入卡,在特定的目标系统位置的故障迫使技术。
在故障定义接口,它有可能探头将驱动和故障类型进行定义:
停留在0或停留在1。
在收到来自主机的故障参数,引脚电平模块驱动的探针。
故障执行器是由独立的引脚电平模块。
选择最佳的执行器使用每个系统上是依赖于目标的具体特点。
这些执行器提供5V和3,3VTTL,CMOS和ECL信号的COTS组件,从高速传动器(基于晶体管)肆虐机电继电器。
这项技术的主要优点是能够插入故障没有其他方法能够访问和注入现实的永久性故障(没有其他方法能够模拟这些故障)
故障注入系统的工作原理如下.
1)故障仿真实例合成:
根据试验者的故障设置(包括故障类型、故障数量、发生时间、持续时间、注入位置等),故障注入器和任务生成器根据指令分别从故障模型库和任务模型库中调用相应故障和任务并交由故障实例合成器合成含故障的任务实例.
2)执行故障注入:
故障仿真实例合成后,故障注入系统将其从指定注入位置注入待测系统.
3)故障检测及恢复:
故障注入系统检测待测系统发生的故障,并调用相应故障处理算法对故障进行恢复.对于瞬间故障,故障容错算法就可以恢复;而对于永久性故障,故障处理算法需要决定系统重构方案,选择备用服务器或备用总线恢复系统.
4)分析、给出评测结果:
通过模拟各种类型故障注入待测系统,故障注入系统统计故障检测及故障恢复情况,最后进行分析并给出待测系统的可信性评测报告.
组成和结构
1系统的设备结构
IceBlade故障注入系统硬件由故障控制计算机、各通信接口控制单元、各信号接口控制单元、电源故障注入单元和探针故障注入单元组成。
其功能有:
(1)故障控制计算机控制故障注入过程。
(2)通信接口控制单元包括:
·IceBlade-1553故障注入单元。
实现对STD-1553B总线的故障注入和电气特性分析;
·IceBlade-A429故障注入单元。
实现对ARINC-429总线的故障注入和电气特性分析;
.IceBlade-RS×××(IceBlade-RS232、IceBlade-RS422、IceBlade-RS485)故障注入单元。
实现对RS×××异步串行通信总线的故障注入和电气特性分析。
(3)信号接口控制单元包括:
·IceBlade-ADDA(V/I)故障注入单元。
实现对模拟信号量(电压/电流)的故障注入和电气特性分析;
·IceBlade-TTL故障注入单元。
实现对标准3V/5V的I/O信号的故障注入和电气特性分析;
·IceBlade-DISCRETE故障注入单元。
实现对离散I/O信号的故障注入和电气特性分析。
(4)电源故障注入单元(IceBlade-PWRDC)。
实现直流电源信号的故障注入和电气性能分析。
(5)探针故障注入单元(IceBlade-PROBE)。
实现探针方式对线路板硬件的故障注入和电气性能分析。
2系统的软件结构
故障注入单元的软件包括IceBladeAPI、各故障注入单元的控制面板和故障注入主控软件。
其中IceBladeAPI提供进行二次开发的接口,支持在Windows环境下对各故障注入单元的控制;故障注入面板提供设置和控制系统硬件的界面接口。
系统支持自动运行和可编程的故障注入方案,可根据需要进行设置后实现无人值守运行,并对感兴趣的节点进行录取。
故障注入主控界面显示所有故障注入单元的运行状态信息,并可以综合不同类型故障注入单元的设计,实现集成化的故障测试控制。
分析工具允许最终用户进行故障注入实验结果的分析。
默认的方式以获得详细的实验结果,从Xception-EME的依赖上直接查询数据库,使用标准的SQL工具的Xception。
尽管最灵活的路径进入Xception数据,这种方法是复杂的非SQL知道用户的设置。
Xtract提供预先定义的查询,执行其结果呈现给用户一个易于理解的布局。
它还提供了可能性,表现出各种不同的统计图形,根据查询结果
系统总体结构Xtract工具也可以用来进行故障/错误的影响分析显示,即使用EFD的,显示源代码的抽象级别的故障影响。
要做到这一点,用户只需要配置的模块列表,被检查的Xtract的工具。
通过这种方式,允许用户查看故障引起的变化在在实验中,或在操作系统本身甚至使用的工作量
3几种典型单元模块的详细介绍
(1)IceBlade电源故障注入单元
直流电源故障注入单元(下面简称为“PWRDC”)采用非侵入式方式,实现对直流电源信号的故障注入。
通过模拟电源及其传输路径可能发生的异常,完成对目标的逆向测试。
PWRDC可实现对电源信号的观察、捕获、采集录取和分析等功能,用于更深入的分析电源和负载的电气特性。
技术指标
故障项
故障子项
技术指标
说明
物理层
断路控制
断路时间可设,设置时间>0ms即可,精度为1ms。
串行阻抗输入范围0.1~15Ω可调,步进精度:
0.1~0.9Ω精度为0.1Ω。
1~15Ω精度为1Ω
可实现通断控制。
可对电源的正信号线、负信号线以及正负信号线同时进行断路
串行阻抗
可对电源的正信号线、负信号线串入电阻,正负信号可单独设置
电气层
纹波控制
纹波波形:
方波;纹波频率:
50~50kHz可调,步进50Hz;
纹波占空比:
0~100%可调,步进10%
电压范围:
3~40V可调,步进20mV;
电流范围:
1~5A可调,步进10mA
模拟电源信号上叠加纹波的情况
电源信号电压/电流变化
电源信号电压/电流变化用于模拟电源信号参数发生变化的情况
(2)IceBladeTTL故障注入单元和IceBlade隔离IO故障注入单元
故障注入测试仪是串接在传输通道中,为非侵入式故障注入产品,进行故障注入时,不需要对连接到单元上的设备进行任何改变。
通过模拟TTL信号及其传输路径可能发生的异常,完成对目标的逆向测试。
通过故障注入测试仪前面板的按键和显示屏,可以实现部分故障注入操作。
配合IceBlade-故障注入系统软件,故障注入测试仪可以实现所有故障注入操作,并且能够实现电气信号观察和录取功能。
技术指标
故障项
故障子项
技术指标
说明
物理层故障
断路控制
断路时间可设,设置时间>0ms即可,精度为1ms。
可选择对信号输出端(DOUT)、公共端(COM)或输入电源端(SUPPLY)进行断路操作
串行阻抗
电阻连续可设,范围为2-128千欧,步进范围2欧
可分别对输出端、公共端、电源端串行阻抗操作
并行阻抗
电阻连续可设,范围1K-128千欧,精度2欧
提供以下并行阻抗操作:
信号输出端对公共端、信号输出端对电源端
信号叠加
可设置串入外部叠加信号的电阻值,范围为1千欧-128千欧。
可设置信号叠加的时间,时间>0ms
引入外部信号,对当期的通讯信号进行叠加
信号替换
可设置串入外部替换信号的电阻值,范围为1千欧-128千欧。
可设置信号叠加的时间,时间>0ms
引入外部信号,对当前信号进行替换
噪声输入
可设置噪声的注入时间,时间>0ms
外部信号引入噪声,可设置信号线,地线以及信号线与地线间的噪声
电气层故障
电源电压调节
执行时间可设置>0ms,可选固定值以及一次函数设置
调节隔离IO的共模电压
协议层
信号延迟
活动执行类型:
提供阻塞式和非阻塞式两种。
阻塞时的执行时间范围大于0;非阻塞式有3种:
启动、停止、时间控制,时间控制的时间范围大于0
延时指输出正信号与输入正信号相比发生的延时或输出负信号相比发生的延时。
延时时间范围为100us-100ms
数据替换
提供信号导通、信号开路、信号取反三种替换类型
(3)IceBlade模拟信号故障注入单元
故障注入测试仪是串接在模拟传输通道中,为非侵入式故障注入产品,进行故障注入时,不需要对连接到AD/DA上的设备进行任何改变。
通过模拟AD/DA信号及其传输路径可能发生的异常,完成对目标的逆向测试。
故障注入测试仪可以实现对模拟传输通道中的多种故障注入操作,各种故障注入操作按照性质分为物理层、电气层等2层。
通过故障注入测试仪前面板的按键和显示屏,可以实现部分故障注入操作。
配合IceBlade-故障注入系统软件,故障注入测试仪可以实现所有故障注入操作,并且能够实现电气信号观察和录取功能。
技术指标
故障项
故障子项
技术指标
说明
物理层故障
断路控制
断路时间可设,设置时间>0ms即可,精度为1ms。
可选择对正信号端(Ain+)/负信号端(Ain-)或正负信号端同时操作
短路控制
短路的时间可设,时间范围为:
50-10000ms,精度为1ms
短路的阻抗小于0.1欧。
可设置正信号线对GND短路、正信号线对外部信号短路、负信号线对GND短路、负信号线对外部信号短路、正负信号间短路
串行阻抗
电阻连续可设,范围为2-128千欧,步进范围2欧
可分别对输出端、公共端、电源端串行阻抗操作
并行阻抗
电阻连续可设,范围1K-128千欧,精度2欧
提供以下并行阻抗操作:
正信号线对系统地的阻抗、正信号线对外部信号阻抗、负信号线对系统地的阻抗、负信号线对外部信号阻抗、正负信号间的并行阻抗
信号叠加
可设置串入外部叠加信号的电阻值,范围为1千欧-128千欧,精度2欧。
可设置信号叠加的时间,时间>0ms
引入外部信号,对当期的通讯信号进行叠加,通讯信号包括正信号以及负信号
信号替换
可设置串入外部替换信号的电阻值,范围为1千欧-128千欧,精度2欧。
可设置信号叠加的时间,时间>0ms
引入外部信号,对当前信号进行替换,替换的信号可选择正信号以及负信号
噪声叠加
可设置噪声的注入时间,时间>0ms
外部信号引入噪声,可选择正信号串入噪声、负信号串入噪声、GND串入噪声、正信号与地并入噪声、负信号与地并入噪声
电气层故障
信号幅度调节
执行时间可设置>0ms,幅度调节可设置一次函数设置
模拟信号在传输过程中的幅度变化
共模电压调节
执行时间可设置>0ms,可选固定值以及一次函数设置
调节ADDA的共模电压
噪声叠加
执行时间可设置>0ms,可进行噪声的编辑
在电气层叠加噪声
协议层故障
信号延迟
执行时间可设置>0ms,延迟时间10us-100ms,延迟时间精度100us
模拟AD&DA信号传输延迟
(4)IceBladeARINC429故障注入单元
故障注入测试仪是串接在ARINC429总线中,为非侵入式故障注入产品,进行故障注入时,不需要对连接到ARINC429总线上的设备进行任何改变。
通过模拟ARINC429信号及其传输路径可能发生的异常,完成对目标的逆向测试。
故障注入测试仪可以实现对ARINC429总线的多种故障注入操作,各种故障注入操作按照性质分为物理层、电气层和协议层等3层。
通过故障注入测试仪前面板的按键和显示屏,可以实现部分故障注入操作。
配合IceBlade-故障注入系统软件,故障注入测试仪可以实现所有故障注入操作,并且能够实现电气信号观察和录取功能。
技术指标
故障项
故障子项
技术指标
说明
物理层故障
断路控制
断路时间可设,设置时间>0ms即可,精度为1ms。
可实现通断的控制。
可实现正信号、负信号以及地信号线的断路控制
短路控制
短路的时间可设,时间范围为:
50-10000ms,精度为1ms
可实现短路的控制。
包括正信号线与地、负信号线与地以及正信号与负信号的短路
串行阻抗
电阻连续可设,范围为2-128千欧,步进范围1欧
可分别对正信号线、负信号线以及地线串入阻抗
并行阻抗
电阻连续可设,范围1K-128千欧,精度1欧
可对正信号与地、正信号与负信号、负信号与地之间进行并行阻抗操作
电气层故障
幅度调节
电压幅度-10-+10V可调,步进200mV
共模电压调节
调节方式有固定值和一次函数,固定值-5-5V,一次函数系数范围0.1-2,可设置偏移量,单位是mV
噪声叠加
执行时间可设置>0ms,可进行噪声的编辑
在电气层叠加噪声
输入电压阈值调节
执行时间可设置>0ms,电压阈值0状态、1状态可设
对信号线的电压阈值做处理
占空比调节
可调占空比为:
3:
7,4:
6、5:
5、6:
4、7:
3
对编码的高电平及低电平时间进行调节
上升沿、下降沿斜率调节
对编码的上升沿时间/下降沿进行时间调节
协议层故障
信号延迟
延时时间范围为10us-10ms
速率调节
输出速率百分比-20%-20%
ARINC429字的特定数据位替换
可分别对32位字的5个基本区域(Parity,SSM,DATA,SDI,LABEL)进行为替换
(5)IceBladeRS422\RS485\RS232故障注入单元
故障注入单元物理层可实现断路控制、短路控制、串行阻抗、并行阻抗、信号叠加、信号替换以及噪声故障注入
故障注入单元电气层可实现幅度调节、共模电压调节、噪声叠加、输入电压阈值调节以及斜率调节故障注入
故障注入单元协议层故障可实现信号延迟(延迟时间10-10000us,步进范围为10us)、速率调节(原速率*90%≤调节后速率≤原速率*110%)以及数据替换故障注入
波特率支持范围300bps-1Mbps
技术指标
故障项
故障子项
技术指标
说明
物理层故障
断路控制
断路时间可设,设置时间>0ms即