一种提高周期BIT验证能力的故障注入方法与流程

文档序号:16468048发布日期:2019-01-02 22:53阅读:905来源:国知局
一种提高周期BIT验证能力的故障注入方法与流程

本发明属于电子产品测试性验证技术领域,尤其涉及一种提高周期bit验证能力的故障注入方法。



背景技术:

机内测试(bit)定义为系统或设备内部提供的检测和隔离故障的自动测试能力。根据测试时机,一般分为加电bit、周期bit和维护bit。加电bit为系统或设备接通电源后自动按规定的测试内容,进行检测不需要外部提供信号;周期bit为系统周期或持续地检测关键功能特性(如伺服转动角度、通讯功能等,其中通讯功能为主控芯片向与天线分系统、发射机分系统、射频组件分系统等之间发送控制命令,主控芯片接收分系统返回的状态信息通讯)是否发生故障;维护bit为维护人员通过按钮、开关或人工启动系统或设备进行的检测。

基于故障注入的测试性验证试验,可以用于检验系统或设备bit设计水平。一般有硬件故障注入和软件故障注入两种方法。

一般基于硬件故障注入的系统或设备在经过测试性验证试验后,若对上电bit进行验证,则需要在断电情况下,将系统或设备的硬件进行开路或短路等的操作,然后启动电源,试验结束后需要回复到原状态;经过测试性验证试验后,其装配状态(器件管脚弯曲程度、接插件的插针深浅程度)、“三防”措施(三防漆、屏蔽层等)等均会受到影响或破坏,甚至需要更换器件,通常因此也无法支持长期、反复的故障注入操作,因此从而不能有效支持系统或设备的故障复现注入等操作,目前针对具有综合数据处理能力的系统或设备普遍采用软件故障注入方法以减少对系统或设备的损伤。

若对周期bit进行验证,使用硬件注入故障情况下,需要提前布置好通断信号的开关,在系统或设备正常运行过程中,将开关置为需要位置(如原电路为通路,由开关置为断路),验证系统或设备是否能检测到故障。但是有些高速总线或射频信号不能设置这样的开关,会对系统或设备工作造成直接影响,而此类故障模式在具有复杂综合数据处理能力的系统或设备中占比较大。

目前在软件故障注入的测试性验证试验中,具有综合数据处理能力的系统或设备一般为嵌入式操作系统及逻辑复杂的应用处理软件,启动电源后自动进行上电bit和周期bit。使用软件进行软件故障注入故障时,一般需要修改应用软件后,重新烧录进系统或设备的处理器中,待系统或设备重新上电工作,进行bit检测,判断其故障是否注入成功及故障是否能被检测到,此方法仅可以验证上电bit能力。,验证周期bit则面临的一个很难解决的问题,即一般在系统或设备运行过程中没有手段更改其软件的运行,因此周期bit的验证能力受到限制,大大降低了测试性验证能力。。



技术实现要素:

本发明的目的是提供一种提高周期bit验证能力的故障注入方法,用于解决或减轻上述问题。

为达到上述目的,本发明采用的技术方案是:一种提高周期bit验证能力的故障注入方法,所述故障注入方法包括:

选取故障模式;

编写能够模拟所述故障模式的故障注入函数;

将所述故障注入函数注入到主控应用程序中并编译;

执行所示故障注入函数,模拟故障模式。

其中,所述故障模式包括rs422总线通讯异常、1553b总线通讯异常、脉冲信号异常。

其中,所述故障注入函数对应于所述故障模式中的一个。

其中,所述主控应用程序能够储存多个所述故障注入函数,调用时以故障注入函数名字执行所述故障注入函数。

其中,所述主控应用程序执行过程中仅执行所述故障模式中的一个。

其中,所述主控应用程序的安装环境为vxwork操作系统。

本发明仅通过在嵌入式主控应用软件中加入编写简单的函数,并执行简单命令加入嵌入式主控应用软件,即可完成故障的注入,不损坏系统或设备硬件,不增加产品的体积和重量;本发明通过编写多个不同故障模式对应的不同函数,仅编译一次嵌入式主控应用软件,即可贮存在系统或设备中,需要验证某个故障模式时运行对应函数即可,减少重复修改或编译嵌入式主控应用软件工作量;本发明编写的函数,不运行时对vxworks系统中原应用软件没有影响,运行后,只要重新启动系统或设备则,则故障消除,安全性高。本发明方法简便,在系统或设备正常工作过程中,通过输入函数名运行函数,注入故障,可应用于需要进行大量周期bit验证的主控应用软件,提高验证周期bit的能力。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1为本发明的自动化验证系统框图。

具体实施方式

为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。

实施例一

参见图1,本发明以注入rs422总线通讯异常的故障为例此处设置主控程序在powerpc上运行,系统或设备与调试计算机之间用串口rs232进行控制,编译后的主控应用程序通过windriverworkbench开发平台通过网口更新到系统或设备,一次仅注入一个故障

步骤一,选择需要注入的故障模式,这里以模拟rs422总线通讯异常为例,rs422通讯是系统或设备中的一项重要功能,各分系统接收综合处理分系统中主控程序发送的控制命令,控制各自的工作状态和时序,并把各自的状态信息包括各自分系统的自检bit信息发送回主控程序进行判断和处理,如果rs422通讯不正常,轻则不能报回自检bit信息,重则各分系统不能正常工作;

步骤二,编写故障注入函数(函数名为dis_rs422),该函数将综合处理分系统与射频组件分系统之间的rs422总线发送数据所对应的发送寄存器地址中写0,(模拟发送数据错误,正常情况下寄存器地址应为控制字,不为0),并将rs422总线读取数据所对应的接收寄存器地址中也写0(模拟接收到的状态数据错误,正常情况下寄存器地址应为状态字,不为0)(此两项操作的前提是修改后的寄存器地址无其他模块使用);

正常情况下,射频组件分系统将发送寄存器中的发送数据读取,而在此故障模拟中,将数据所对应的寄存器地址内容设为0,即数据错误。

步骤三,将编写的函数添加到主控应用软件的特定位置(可增加注释说明此函数的作用和目的,便于查找和后期对用于故障注入的函数进行管理),并进行编译;

步骤四,判断是否需要一次编写多个故障注入函数,若是,执行步骤一,否则,执行步骤五;

步骤五,系统或设备在关机状态下连接rs232串口及网口到调试计算机上;

步骤六,在调试计算机上打开rs232串口通讯程序(如:超级终端,可以向嵌入式系统发送命令,嵌入式系统将自己的启动信息、过程信息、对命令的响应信息等发到运行超级终端的调试计算机上);

步骤七,打开系统或设备的电源,在调试计算机上显示的时间秒数减少到1之前,按调试计算机任意键,使系统或设备的进程保持在uboot模式下,停止进入vxwork操作系统;

步骤八,使用u命令将编译好的主控应用软件,通过网口更新到系统或设备中;

步骤九,更新完毕,重新启动系统或设备,开始正常工作,

步骤十,在调试计算机上,rs232串口通讯程序中输入函数名dis_rs422(或其他故障模式注入函数),可观察系统或设备是否能够对该故障进行检测;

步骤十一,是否需要注入下一个故障,若是则关闭系统或设备电源(一次仅注入一个故障,为了验证单一故障模式下的周期bit能力),执行步骤九,否则步骤十二;

步骤十二,注入试验结束。

实施例二

步骤一,选择故障模式,这里以模拟另一种总线1553b总线通讯异常为例,1553b通讯也是系统或设备中的一项重要功能,与分系统间进行数据交换,如语音告警控制字等,如果1553b通讯不正常,则不能向分系统发送信号,也不能接收分系统返回的信号;

步骤二:编写故障注入函数(函数名为dis_1553b),该函数将1553b通讯芯片(图1中的1553b接口中具有芯片)上的p11管脚赋值为0,使得p11脚始终为低电平。

正常情况下,1553b通讯芯片上的p11管脚应为高电平,而在此故障模拟中设置为低电平,即1553b通讯故障。

步骤三,将编写的函数添加到主控应用软件的特定位置(可增加注释说明此函数的作用和目的,便于查找和后期对用于故障注入的函数进行管理),并进行编译;

步骤四,判断是否需要一次编写多个故障注入函数,若是,执行步骤一,否则,执行步骤五;

步骤五,系统或设备在关机状态下连接rs232串口及网口到调试计算机上;

步骤六,在调试计算机上打开rs232串口通讯程序(如:超级终端,可以向嵌入式系统发送命令,嵌入式系统将自己的启动信息、过程信息、对命令的响应信息等发到运行超级终端的调试计算机上);

步骤七,打开系统或设备的电源,在调试计算机上显示的时间秒数减少到1之前,按调试计算机任意键,使系统或设备的进程保持在uboot模式下,停止进入vxwork操作系统;

步骤八,使用u命令将编译好的主控应用软件,通过网口更新到系统或设备中;

步骤九,更新完毕,重新启动系统或设备,开始正常工作,

步骤十,在调试计算机上,rs232串口通讯程序中输入函数名dis_1553b(或其他故障模式注入函数),可观察系统或设备是否能够对该故障进行检测;

步骤十一,是否需要注入下一个故障,若是则关闭系统或设备电源(一次仅注入一个故障,为了验证单一故障模式下的周期bit能力),执行步骤九,否则步骤十二;

步骤十二,注入试验结束。

实施例三

步骤一:选择故障模式,这里以模拟综合处理分系统发送给天线分系统的帧脉冲信号故障为例,帧信号为综合处理分系统发送的时钟同步信号,使得分系统在同样的时钟周期内工作,如果分系统未收到帧信号或帧信号错误,则不能与综合处理分系统同步工作;

步骤二:编写故障注入函数(函数名为dis_prf),该函数将综合处理分系统发送给天线的帧脉冲信号始终置为0,即模拟不发送脉冲信号。

正常情况下,发送的帧脉冲信号为一定周期的脉冲信号,此故障模拟始终置为0,即没有脉冲信号。

步骤三:以下步骤同例一中步骤三,仅在执行步骤十时,输入的函数名为dis_prf。

步骤三,将编写的函数添加到主控应用软件的特定位置(可增加注释说明此函数的作用和目的,便于查找和后期对用于故障注入的函数进行管理),并进行编译;

步骤四,判断是否需要一次编写多个故障注入函数,若是,执行步骤一,否则,执行步骤五;

步骤五,系统或设备在关机状态下连接rs232串口及网口到调试计算机上;

步骤六,在调试计算机上打开rs232串口通讯程序(如:超级终端,可以向嵌入式系统发送命令,嵌入式系统将自己的启动信息、过程信息、对命令的响应信息等发到运行超级终端的调试计算机上);

步骤七,打开系统或设备的电源,在调试计算机上显示的时间秒数减少到1之前,按调试计算机任意键,使系统或设备的进程保持在uboot模式下,停止进入vxwork操作系统;

步骤八,使用u命令将编译好的主控应用软件,通过网口更新到系统或设备中;

步骤九,更新完毕,重新启动系统或设备,开始正常工作,

步骤十,在调试计算机上,rs232串口通讯程序中输入函数名dis_prf(或其他故障模式注入函数),可观察系统或设备是否能够对该故障进行检测;

步骤十一,是否需要注入下一个故障,若是则关闭系统或设备电源(一次仅注入一个故障,为了验证单一故障模式下的周期bit能力),执行步骤九,否则步骤十二;

步骤十二,注入试验结束。

本发明仅通过在嵌入式主控应用软件中加入编写简单的函数,并执行简单命令加入嵌入式主控应用软件,即可完成故障的注入,不损坏系统或设备硬件,不增加产品的体积和重量;本发明通过编写多个不同故障模式对应的不同函数,仅编译一次嵌入式主控应用软件,即可贮存在系统或设备中,需要验证某个故障模式时运行对应函数即可,减少重复修改或编译嵌入式主控应用软件工作量;本发明编写的函数,不运行时对vxworks系统中原应用软件没有影响,运行后,只要重新启动系统或设备则,则故障消除,安全性高。本发明方法简便,在系统或设备正常工作过程中,通过输入函数名运行函数,注入故障,可应用于需要进行大量周期bit验证的主控应用软件,提高验证周期bit的能力。

以上所述,仅为本发明的最优具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1