一种基于可编程逻辑器件的故障注入方法和装置的制作方法

文档序号:6426144阅读:95来源:国知局
专利名称:一种基于可编程逻辑器件的故障注入方法和装置的制作方法
技术领域
本发明涉及电子设备,具体涉及一种基于可编程逻辑器件的故障注入方法和装置。
背景技术
随着测试技术的发展,容错测试日益受到重视。
容错测试的目的是确定故障对系统造成的影响,以及在故障恢复后系统能够自动恢复正常的能力。
因此,产生容错测试时需要的故障信号是容错测试过程中的一个非常必要的步骤。
故障注入技术就是顺应容错测试需求而逐渐发展起来的一项技术。
由于当今电子产品设计中可编程逻辑器件具有强大的可编程性能、高速的处理速度、众多的管脚等优点,因此可编程逻辑器件被广泛应用于产生时钟、同步、读写使能等各种控制信号。这些控制信号是单板的关键信号,向这些关键信号注入相应的故障,使其处于异常状态,以确定系统的容错性能是容错测试的一个重点。
目前,向可编程逻辑器件中的信号注入故障的方法主要包括两种方法一对可编程逻辑器件外接故障注入设备、加扰装置等,将故障注入设备、加扰装置的探针与可编程逻辑器件的信号线接触,从而将电平故障叠加在信号线上,以实现故障注入。
由于一般的故障注入设备、加扰装置不能够获知信号线的工作状态、与其他信号的时序关系等,所以,无法控制故障注入的时机。一些能够进行信号状态监控的故障注入设备、加扰装置,主要采用飞线将信号线引入故障注入设备中的方法来实现信号的状态监控,这样做会对被测试对象产生破坏,从而影响容错测试的结果。
采用方法一实现故障注入时,由于需要使用探针在原来的信号上叠加干扰信号,以克服信号原本的电平状态,所以,该方法对故障注入设备、加扰装置的干扰信号的驱动能力有很高的要求。而且,采用该方法进行故障注入必须人工干预,无法实现自动化。
方法二手工使用短路线把可编程逻辑器件中需要施加故障的信号的信号线与电源、地等直接短接,以施加相应的干扰。
由于信号线在带电情况下直接与电源、地等短接会对器件管脚造成较大的电流冲击,可能会使可编程逻辑器件产生电损伤,而且在短接线与信号线接触瞬间必然会产生抖动,使故障注入不能够达到预期的效果;手动故障注入的时间精度最高只能在数百毫秒级,不适用于信号瞬断、毛刺等短时故障注入;采用该方法进行故障注入同样需要人工干预,无法实现自动化。
综上所述,现有的故障注入方法由于会对可编程逻辑器件造成不必要的损伤或对故障注入设备、加扰装置的要求高,使故障注入的实现成本高,而且需要人工干预,在故障注入方式、故障注入时间、故障注入时机等方面的可控性差,很难做到测试的全面覆盖,容易产生漏测,不能够满足当前各种容错设计的测试需求。

发明内容
本发明的目的在于,提供一种基于可编程逻辑器件的故障注入方法和装置,通过在可编程逻辑器件中设置故障注入模块,以克服现有技术中故障注入的实现成本高,易对可编程逻辑器件造成损伤,自动化程度低等缺点。
为达到上述目的,本发明提供的一种基于可编程逻辑器件的故障注入方法,包括a、在需要进行故障注入的可编程逻辑器件内部设置故障注入模块;b、获取所述可编程逻辑器件的信号;c、所述故障注入模块向所述获取的信号注入相应的故障;d、将所述注入故障后的信号输出。
所述步骤b中可编程逻辑器件的信号包括可编程逻辑器件内部产生的信号和/或输入可编程逻辑器件中的信号;且所述步骤b包括获取需要注入故障的信号以及与其有关联的信号;所述与其有关联的信号包括在时序或协议或同步有关联的信号。
所述步骤a还包括根据测试需要设定进行故障注入的触发条件;且所述步骤c包括所述故障注入模块根据所述触发条件向所述获取的信号注入相应的故障。
所述触发条件包括与需要注入故障的信号有关联的信号的状态。
向所述获取的信号注入相应的故障为取反、毛刺、频率变化、时延、脉冲宽度变化、误码、闪断。
上述各技术方案中所述步骤a还包括根据测试需要设定故障注入的预定方式;且所述步骤c包括所述故障注入模块根据所述触发条件、所述预定方式向所述获取的需要注入故障的信号注入相应的故障。
所述故障注入的预定方式为单次注入、连续注入和/或延迟注入。
所述方法还包括对所述故障注入模块的工作状态进行监控。
本发明还提供一种基于可编程逻辑器件的故障注入装置,包括设置于可编程逻辑器件中的
信号输入模块获取所述可编程逻辑器件的信号,并将其传输至故障注入模块;故障注入模块向所述信号输入模块传输来的信号注入相应的故障;信号输出模块将所述故障注入模块进行故障注入后的信号输出。
所述的装置还包括人机界面模块根据测试需要设定故障注入的预定方式和需要注入的预定故障,并将所述设定分别传输至所述故障注入模块和条件触发模块;状态监控模块确定所述信号输入模块传输的与可编程逻辑器件的信号有关联的信号的状态,并将所述状态传输至条件触发模块;条件触发模块存储故障注入的触发条件,当其接收的所述与可编程逻辑器件有关联的信号的状态满足其存储的所述触发条件时,根据所述人机界面模块传输来的预定方式将需要注入故障的信息传输至所述故障注入模块。
通过上述技术方案的描述可明显得知,本发明通过在可编程逻辑器件内部设置故障注入模块,避免了外接故障注入设备或加扰装置,使故障注入过程不需要手工干预,提高了故障注入的精确度,而且避免了对可编程逻辑器件造成电损伤的现象;本发明能够通过编写程序代码在可编程逻辑器件中设置故障注入的触发条件,通过提供人机界面,使测试人员能够根据具体的测试需求在可编程逻辑器件中设定需要注入的预定故障、故障注入的预定方式,通过对可编程逻辑器件的信号进行监控,使本发明能够实现在触发条件满足时,采用预定方式将预定故障注入到相应的信号中,使故障注入有针对性,而且使整个故障注入过程能够可控管理,避免了漏测现象,使测试覆盖更全面;从而本发明实现了提高故障注入的可控管理及自动化程度,降低故障注入的实现成本,满足各种容错设计测试需求的目的。


图1是本发明的基于可编程逻辑器件的故障注入方法原理图;图2是本发明的基于可编程逻辑器件的故障注入方法的示意图;图3是本发明的基于可编程逻辑器件的故障注入方法的流程图;图4是本发明的基于可编程逻辑器件的故障注入装置示意图。
具体实施例方式
本发明的核心是在需要进行故障注入的可编程逻辑器件内部设置故障注入模块,获取可编程逻辑器件的信号,故障注入模块向获取的信号注入相应的故障,将注入故障后的信号输出。
下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
本发明内置于可编程逻辑器件中的故障注入模块能够根据测试需要自动对可编程逻辑器件中的信号注入相应的故障,可编程逻辑器件中的信号包括可编程逻辑器件内部产生的信号和外部输入可编程逻辑器件中的信号。
在可编程逻辑器件中设置故障注入模块实现故障注入的原理,如附图1所示。
在图1中,可编程逻辑器件的信号输入模块、被加扰信号产生模块、可编程逻辑器件的信号输出模块、可编程逻辑器件的其他功能模块是目前可编程逻辑器件中的主要结构特征。本发明在可编程逻辑器件中设置的故障注入模块可对被加扰信号产生模块产生的信号注入相应的故障,也可以对通过可编程逻辑器件的信号输入模块引入的外部信号注入相应的故障,注入故障后的信号通过可编程逻辑器件的信号输出模块输出。
本发明为实现有针对性的进行故障注入,使故障注入的时机可控,根据测试人员的测试需求设置触发故障注入模块进行故障注入的触发条件。触发条件可以为当与需要注入故障的信号有关联的信号为预定状态时,触发故障注入模块对需要进行故障注入的信号注入相应的故障。因此,在需要进行故障注入时,除需要获得需要注入故障的信号外,还需要获得与该信号有关联的信号。
与该信号有关联的信号主要包括在时序上、或在协议上、或在同步关系上有关联的信号,如与需要注入故障的信号同属于某一总线内的信号,需要注入故障的信号的时钟源等。这些与需要注入故障的信号有关联信号可以是可编程逻辑芯片外部输入的信号,也可以是可编程逻辑芯片内部产生的信号。
下面举例对触发条件进行说明,设定需要注入故障的信号为A,与需要注入故障的信号有关联的信号为B和C,根据测试人员的具体测试需求设置触发条件为B信号为高电平,C信号为低电平;即当B信号为高电平且C信号为低电平时,触发条件满足,故障注入模块可以对信号A注入相应的故障。
为判断触发条件是否满足,需要对与需要注入故障的信号有关联的信号进行信号状态监控,对其进行信号状态监控可以采用对信号边沿进行检测的方法,也可以采用对信号电平进行检测的方法。当监控到与需要注入故障的信号相关联的信号的信号状态与触发条件中的信号状态相同时,预定触发条件满足,从而使故障注入的时机可控。
为充分满足测试人员的各种测试需求,实现故障注入的方式可控,本发明还设置有故障注入的预定方式和需要注入的预定故障。这样,故障注入模块能够根据测试需求在触发条件满足时,采用预定方式对需要故障注入的信号注入预定的故障。
本发明提供给测试人员灵活控制故障注入模块注入故障的功能,测试人员可根据测试需求灵活设置上述故障注入模块注入故障的触发条件、预定方式、预定故障等。
上述的预定方式可以为单次注入、连续注入、延迟注入,或上述预定方式的组合,如单次注入和延迟注入的组合、连续注入和延迟注入组合。
上述的预定故障可以为取反、毛刺、频率变化、时延、脉冲宽度变化、误码、闪断等。
由于可编程逻辑器件一般设置有与CPU(中央处理单元)进行通讯的CPU接口,本发明的预定方式、预定故障等可以通过可编程逻辑器件的CPU接口设置在可编程逻辑器件的内部,如通过CPU接口对可编程逻辑芯片内部的寄存器进行写操作以设置测试人员设定的测试需求,如将设定的预定方式、需要注入的预定故障分别存储在不同的寄存器中等。
本发明还可以对故障注入模块的工作状态进行监控,故障注入模块的工作状态包括未注入故障、已完成故障注入。故障注入模块可以在故障注入后,记录故障注入后的信息,如将故障注入的次数等信息记录在寄存器中。如果故障注入模块的工作状态记录在寄存器中,那么,本发明同样可以通过可编程逻辑器件的CPU接口对其内部的寄存器的读取操作来获取相应的信息,以确定故障注入模块的工作状态,如通过获取寄存器中存储的故障注入的次数来确定故障注入模块是否正常进行故障注入操作。
如果可编程逻辑器件没有设置CPU接口,本发明还可以通过采用拨码开关、跳线等方式对可编程逻辑器件内部的寄存器等进行设置,以实现预定方式、预定故障等的灵活设置,并通过指示灯来对故障注入模块的工作状态进行监控,如设定指示灯闪烁表示故障注入模块还没有注入故障,指示灯常亮表示故障注入模块已完成故障注入操作等。
在实现预定方式下注入预定故障时,可通过记数器、记时器等来实现,如在可编程逻辑器件中设置连续注入、单次注入的触发记数器、延迟注入的记时器等。
当需要对信号延迟注入预定故障时,在监控到与注入故障的信号相关联的信号的状态满足触发条件时,复位延迟注入的记时器,该记时器开始记时,在延迟注入的记时器的记时值达到设定的延迟时间时,故障注入模块将预定故障注入到需要注入故障的信号中。
当需要连续注入预定故障时,可以设置连续注入预定故障的次数或设置连续注入预定故障的时间等。如设置了连续注入预定故障的次数时,触发条件满足,就会引起故障注入模块的一次故障注入操作,直到完成连续注入次数。
通过设定故障注入的预定方式,使故障注入的方式多样化且能够进行可控管理。
向需要注入故障的被加扰信号注入的故障可以为预定的取反、毛刺、频率变化、时延、脉冲宽度变化、误码、闪断等故障,使故障注入的形式多样化,且不需要手工参与,能够达到任意时间精度,提高了故障注入的精确度。
本发明实现故障注入的过程如附图2所示。
在图2中,首先,测试人员可以通过编写逻辑代码在可编程逻辑器件中设定故障注入模块和故障注入的触发条件,测试人员还可以通过人机界面设定向需要注入故障的信号注入的预定故障以及预定方式,并存储在可编程逻辑器件相应的寄存器中。
然后,获取可编程逻辑器件需要故障注入的信号以及与其相关联的信号。
根据设定的故障注入的触发条件对与需要故障注入的信号有相互关联的信号的状态进行监控,当监控到上述相互关联的信号的状态满足触发条件时,获取通过人机界面设定的向需要注入故障的信号注入故障的预定方式,下面以预定方式为延迟注入和连续注入为例进行说明。
在触发条件满足时,复位连续注入的记数器,该记数器开始记数,如记数值增加1,延迟记时器复位,开始记时,在延迟记时器的记时值达到预定的延迟时间时,确定满足了延迟注入时间,将故障注入信息传输至故障注入模块,如向故障注入模块发送使能信号等,故障注入模块在接收到故障注入信息时,根据通过人机界面设定的预定故障将相应的故障注入可编程逻辑器件的信号中,将注入预定故障后的信号输出。
再次重复上述对与需要故障注入信号相互关联的信号的状态监控、在触发条件满足时,连续注入的记数器的记数值再增加1、延迟记时器复位记时、故障注入模块注入故障的过程,直到连续注入的记数器的记数值超过连续注入的寄存器中存储的数值,从而完成整个故障注入过程。
本发明基于可编程逻辑器件的故障注入的具体实现过程的流程图如附图3所示。
图3中,在步骤300,测试人员通过编写逻辑代码等方法在可编程逻辑器件中设定故障注入模块及故障注入的触发条件,通过人机界面设定需要注入的预定故障及注入故障的预定方式,将上述设置的预定故障及预定方式存储至可编程逻辑器件相应的寄存器中,即对与故障注入相关的寄存器进行初始化,如根据测试需要将单次注入或连续注入的次数存储至触发寄存器中,再如将延迟注入的延迟时间存储至延迟注入寄存器中等,并相应设置触发记数器、延迟记时器等。
到步骤310,启动本发明的故障注入装置,各记数器复位。
到步骤320,获取可编程逻辑器件的需要故障注入的信号以及与其有关联的信号,并对其进行监控。
到步骤330,判断被监控的信号的状态与可编程逻辑器件中存储的触发条件是否相同,如果不相同,到步骤320,继续获取可编程逻辑器件的需要故障注入的信号以及与其有关联的信号,并进行监控。
在步骤330,如果被监控的信号的状态与可编程逻辑器件中存储的触发条件相同,到步骤340,触发记数器加1。
到步骤350,判断是否需要将预定故障延迟注入到输入信号中,如判断延迟注入寄存器中存储的延迟时间是否设置为零。如果需要延迟注入,如延迟时间设置为非零,到步骤360,触发延迟记时器,延迟记时器开始记时。
到步骤370,判断延迟记时器的记时值是否达到延迟时间,直到延迟记时器的记时值达到延迟时间,到步骤380,将使能信号传输至故障注入模块,触发故障注入模块根据设定的预定故障,将相应的故障注入到其接收到的需要故障注入的信号中,并记录故障注入的次数。
到步骤390,判断测试人员设置的是单次注入还是连续注入,即判断触发寄存器中存储的触发数值是否为1,如果存储的触发数值为1,即单次注入,则本次故障注入的过程结束,到步骤391,本发明的故障注入装置停止工作。
在步骤390,如果触发寄存器中存储的触发数值为大于1的正整数,即测试人员设置的是连续注入,到步骤392,判断触发记数器的记数值是否到达测试人员设置的连续注入的注入次数,如果达到,到步骤391,本发明的故障注入装置停止工作。
在步骤392,如果触发记数器的记数值没有到达测试人员设置的连续注入的注入次数,到步骤320,继续获取可编程逻辑器件的需要注入故障的信号以及与其有关联的信号,并进行信号状态的监控。
在步骤350,如果不需要将故障延迟注入,到步骤380,将使能信号传输至故障注入模块,触发故障注入模块根据测试人员设定的预定故障,将相应的故障注入到其接收到的输入信号中,并记录故障注入的次数。
本发明提供的基于可编程逻辑器件的故障注入装置如附图4所示。
在图4中,本发明的故障注入装置设置在可编程逻辑器件的内部,包括人机界面模块、信号输入模块、状态监控模块、条件触发模块、故障注入模块和信号输出模块。
人机界面模块为测试人员提供可以根据具体的测试需要设定需要进行故障注入的信号注入的预定故障及注入预定故障的预定方式的功能,如人机界面模块可以将测试人员输入的预定方式存储至条件触发模块的寄存器中,将测试人员输入的预定故障存储至故障注入模块的寄存器中,并相应设置条件触发模块中寄存器对应的记数器、记时器等。
信号输入模块的主要功能为在启动故障注入装置时,获取可编程逻辑器件中的需要注入故障的信号以及与其相关联的信号,并将需要注入故障的信号传输至故障注入模块,将与需要注入故障的信号相关联的信号传输至状态监控模块。
状态监控模块的主要功能为在启动故障注入装置时,对信号输入模块传输来的与需要注入故障的信号相关联的信号的信号状态进行监控,并将监控到的信号状态传输至条件触发模块。
状态监控模块还能够对故障注入模块的工作状态进行监控,如通过可编程逻辑器件的CPU接口对其内部的寄存器进行读操作获取相应的信息,以确定故障注入模块的工作状态,如通过获取故障注入模块中存储的故障注入的次数信息来确定故障注入模块是否正常进行故障注入操作。
条件触发模块的主要功能为存储测试人员设定的触发条件,在启动故障注入装置时,复位各记数器、记时器。接收状态监控模块传输来的信号状态,判断信号状态是否满足其存储的触发条件,如果满足触发条件,存储单次注入/连续注入的触发寄存器对应的触发记数器记数,如记数值增加1,如果没有设定延迟注入,触发记数器的记数值在不超过触发寄存器中存储的数值时,触发记数器每记数一次,条件触发模块向故障注入模块传输一次需要注入故障的信息,如向故障注入模块传输使能信号等;如果设定了延迟注入,当触发条件满足时,延迟记时器复位并开始记时,在延迟记时器的记时值达到延迟寄存器中存储的延迟时间时,将需要注入故障的信息传输至故障注入模块,如向故障注入模块传输使能信号。
故障注入模块接收条件触发模块传输来的需要注入故障的信息,并根据人机界面模块设定的预定故障,将相应的故障注入到信号输入模块传输来的需要注入故障的信号中。故障注入模块还可以记录并存储故障注入的次数,如将故障注入次数存储在相应的寄存器,以方便状态监控模块对其工作状态的监控。
信号输出模块将故障注入模块故障注入后的信号输出。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明精神,希望所附的权利要求包括这些变形和变化。
权利要求
1.一种基于可编程逻辑器件的故障注入方法,其特征在于包括a、在需要进行故障注入的可编程逻辑器件内部设置故障注入模块;b、获取所述可编程逻辑器件的信号;c、所述故障注入模块向所述获取的信号注入相应的故障;d、将所述注入故障后的信号输出。
2.如权利要求1所述的一种基于可编程逻辑器件的故障注入方法,其特征在于所述步骤b中可编程逻辑器件的信号包括可编程逻辑器件内部产生的信号和/或输入可编程逻辑器件中的信号;且所述步骤b包括获取需要注入故障的信号以及与其有关联的信号;所述与其有关联的信号包括在时序或协议或同步有关联的信号。
3.如权利要求2所述的一种基于可编程逻辑器件的故障注入方法,其特征在于所述步骤a还包括根据测试需要设定进行故障注入的触发条件;且所述步骤c包括所述故障注入模块根据所述触发条件向所述获取的信号注入相应的故障。
4.如权利要求3所述的一种基于可编程逻辑器件的故障注入方法,其特征在于所述触发条件包括与需要注入故障的信号有关联的信号的状态。
5.如权利要求3所述的一种基于可编程逻辑器件的故障注入方法,其特征在于向所述获取的信号注入相应的故障为取反、毛刺、频率变化、时延、脉冲宽度变化、误码、闪断。
6.如权利要求1至5中任一权利要求所述的一种基于可编程逻辑器件的故障注入方法,其特征在于所述步骤a还包括根据测试需要设定故障注入的预定方式;且所述步骤c包括所述故障注入模块根据所述触发条件、所述预定方式向所述获取的需要注入故障的信号注入相应的故障。
7.如权利要求6所述的一种基于可编程逻辑器件的故障注入方法,其特征在于所述故障注入的预定方式为单次注入、连续注入和/或延迟注入。
8.如权利要求6所述的一种基于可编程逻辑器件的故障注入方法,其特征在于所述方法还包括对所述故障注入模块的工作状态进行监控。
9.一种基于可编程逻辑器件的故障注入装置,其特征在于所述的故障注入装置设置于可编程逻辑器件中,且所述的装置包括信号输入模块获取所述可编程逻辑器件的信号,并将其传输至故障注入模块;故障注入模块向所述信号输入模块传输来的信号注入相应的故障;信号输出模块将所述故障注入模块进行故障注入后的信号输出。
10.如权利要求9所述的一种基于可编程逻辑器件的故障注入装置,其特征在于所述的装置还包括人机界面模块根据测试需要设定故障注入的预定方式和需要注入的预定故障,并将所述设定分别传输至所述故障注入模块和条件触发模块;状态监控模块确定所述信号输入模块传输的与可编程逻辑器件的信号有关联的信号的状态,并将所述状态传输至条件触发模块;条件触发模块存储故障注入的触发条件,当其接收的所述与可编程逻辑器件有关联的信号的状态满足其存储的所述触发条件时,根据所述人机界面模块传输来的预定方式将需要注入故障的信息传输至所述故障注入模块。
全文摘要
本发明提供一种基于可编程逻辑器件的故障注入方法和装置,其核心为在需要进行故障注入的可编程逻辑器件内部设置故障注入模块,获取所述可编程逻辑器件的信号,所述故障注入模块向所述获取的信号注入相应的故障,将所述注入故障后的信号输出;本发明不需要外接故障注入设备或加扰装置等,通过在可编程逻辑器件内部设置故障注入模块,使故障注入过程不需要手工干预,而且不会对可编程逻辑器件造成不必要的损伤;本发明能够对整个故障注入过程进行可控管理,避免了漏测现象,使测试覆盖全面;从而实现了提高故障注入的自动化程度,降低故障注入的实现成本,满足各种容错设计测试需求的目的。
文档编号G06F11/07GK1740980SQ20041007672
公开日2006年3月1日 申请日期2004年8月29日 优先权日2004年8月29日
发明者高俊恩 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1