首页> 中国专利> 基于PSpice AD电路仿真的单故障自动注入方法

基于PSpice AD电路仿真的单故障自动注入方法

摘要

本发明公开了一种基于PSpice AD电路仿真的单故障自动注入方法,该方法实现了对电路原理图网表中,每个元器件单元所有不同故障模式在该器件每个输出引脚上的单故障自动遍历注入,并且仅需一次操作即可完成整个电路的所有单故障注入,具有自动化、快速遍历故障模式实现故障注入的优点,克服了手动进行故障注入效率低、容易出错等问题,节约了人力成本,并且提高了故障注入的效率和准确性。

著录项

  • 公开/公告号CN104317995A

    专利类型发明专利

  • 公开/公告日2015-01-28

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201410550428.3

  • 发明设计人 何春;黎亮;朱娟;曾希雯;

    申请日2014-10-17

  • 分类号G06F17/50;

  • 代理机构四川力久律师事务所;

  • 代理人林辉轮

  • 地址 611731 四川省成都市高新(西)区西源大道2006号

  • 入库时间 2023-12-17 04:14:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-30

    未缴年费专利权终止 IPC(主分类):G06F17/50 专利号:ZL2014105504283 申请日:20141017 授权公告日:20170503

    专利权的终止

  • 2017-05-03

    授权

    授权

  • 2015-02-25

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20141017

    实质审查的生效

  • 2015-01-28

    公开

    公开

说明书

技术领域

本发明涉及电路故障仿真和可靠性分析领域,特别涉及一种基于PSpice AD电路仿真的单故障自动注入方法。

背景技术

故障仿真技术是将故障建模、故障注入及系统性能仿真相结合的分析技术,是实现电路可靠性设计的有效辅助方法。故障注入是根据器件的故障机理,按照某些策略,人为地将故障注入到电路中的过程。然后通过电路仿真获得电路在故障模式下仿真输出,完成电路故障仿真。

在航空、航天、军工、汽车、医疗等领域,对电路可靠性要求极高,一个部件的故障都可能导致整个系统损坏,甚至造成重大人员伤亡和巨大财产损失。因此通过故障仿真技术,对电路注入故障,可以及早地发现系统设计的不足,进而采取有效的措施,提高系统的可靠性,可避免严重后果产生。

在电路故障仿真技术发展前,常采用硬件故障注入和软件故障注入两种方式,以获得电路故障影响。硬件故障注入能较好地模拟实际的硬件故障,且无需开发故障注入模型,但是试验装置复杂、费用高,难以精确控制故障注入的时间和位置,容易造成电路器件的损伤,带来经济损失。软件故障注入灵活方便,易于实现,成本低且可以减少研制时间,对硬件电路器件没有损坏,但是不能将故障注入到软件不可访问的位置,只能部分模拟实际的故障情况。而基于电路仿真的故障注入技术可以将故障注入到仿真模型内的任何位置,避免了软件故障注入的局限性问题,同时相比于硬件故障注入可以避免因注入故障导致的器件或系统损坏,此外还具有成本低,仿真时间短等优点,但目前多以手动注入方式为主,操作繁琐、对人员的依赖性大,且效率低下。

发明内容

本发明的目的在于克服现有技术中所存在的上述不足,提供一种基于PSpice AD电路仿真的单故障自动注入方法,该方法仅需一次操作即可实现所有故障模式及输出引脚的遍历故障注入,相比于人工注入方式大大简化了故障注入操作,并且提高了故障注入的效率。 

为了实现上述发明目的,本发明采用的技术方案是:一种基于PSpice AD电路仿真的单故障自动注入方法,该方法包括如下步骤:

步骤一:提取电路原理图中的元器件单元清单:解析电路原理图网表,提取电路原理图网表中的元器件单元清单,所述元器件单元清单包括一一对应的元器件单元标识、元器件单元值及元器件单元类型名;

步骤二:建立元器件单元故障模式列表:根据提取的所述元器件单元清单为其中元器件单元预设对应的故障模式,并建立所述元器件单元的故障模式列表,其中所述元器件故障模式列表包括元器件单元类型名称、与所述元器件单元类型名称对应映射的基于电路仿真的故障模式和所述故障模式所在的输出引脚号;

步骤三:确定故障注入的元器件单元标识:逐行扫描所述元器件单元清单,依次选定一个元器件单元标识,基于所述元器件单元清单,映射其元器件单元类型名,并基于所述元器件故障模式列表,确定是否对该元器件单元进行故障注入;

步骤四:确定元器件单元故障注入的输出引脚、故障模式和故障注入方式:若确定进行故障注入,按所述元器件故障模式列表确定选定的所述元器件单元的故障模式和输出引脚号的映射关系,并按所述元器件单元清单中的所述元器件单元类型名确定选定的所述元器件单元的故障注入方式;

步骤五:单故障注入的潜在故障电路原理图网表重构:逐行扫描电路原理图网表,查找该次确定要进行单故障注入的元器件单元,按其已确定的故障注入方式,确定该次单故障注入在电路原理图网表中的位置,并修改电路原理图网表中的相应内容重构潜在故障电路原理图网表完成故障注入。

上述方法还包括:完成了一个元器件单元所有输出引脚上所有不同故障模式的单故障注入所对应的故障电路原理图网表重构,则返回步骤三,重复步骤三至步骤五,若所述元器件单元清单中的最后一个元器件单元标识已扫描完毕,则电路的单故障遍历故障自动注入完毕。

优选的,不同的故障注入方式对应不同的电路原理图网表的重构方式,所述电路原理图网表的重构方式包括:

1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;和/或

2)模型替代法:将元器件单元名称替换为相应元器件单元的故障仿真模型名,不同输出引脚的不同故障模式对应不同的故障模型名。

步骤三中所述基于所述元器件故障模式列表,确定是否对该元器件单元进行故障注入具体为:若元器件故障模式列表中不含选定的元器件单元类型,则不对该元器件单元进行故障注入;若元器件故障模式列表中含有选定的元器件单元类型,则对该元器件单元进行故障注入。

步骤四中,按所述元器件单元清单中的元器件单元类型名确定选定的所述元器件单元的故障注入方式具体为:若元器件单元在电路原理图网表中只含有一个元器件值或参数,则采用参数修改法故障注入方式;若元器件单元含有多个元器件值或参数,则采用模型替代法故障注入方式。

步骤二之前,还包括:分析不同类型的元器件单元在每种故障模式下的表现形式,建立基于表现形式的故障仿真模型,所述故障模式对应的故障仿真模型的建模方法对应关系如下:

(a)模拟元器件开路:故障引脚串联一个109欧姆大电阻;

(b)模拟元器件短路:故障引脚并联一个10-9欧姆小电阻;

(c)数字元器件固高:元器件引脚后串联一个或门,且或门的另一输入引脚接高电平;

(d)数字元器件固低:元器件引脚后串联一个与门,且与门的另一输入引脚接低电平;

(e)数字元器件反相:元器件引脚后串联一个反相器;

(f)数字元器件开路:元器件引脚后串联一个三态缓冲器,且使能端接低电平;

(g)数字元器件短路:元器件引脚并联一个缓冲器,缓冲器的输出引脚代替原输出引脚。

与现有技术相比,本发明的有益效果: 本发明方法实现了对电路原理图网表中,每个元器件单元所有不同故障模式在该器件每个输出引脚上的单故障自动遍历注入,并且仅需一次操作即可完成整个电路的所有单故障注入,具有自动化、快速遍历故障模式实现故障注入的优点,克服了手动进行故障注入效率低、容易出错等问题,节约了人力成本,并且提高了故障注入的效率和准确性。

附图说明:

图1是本发明方法流程图;

图2是本发明中提取元器件单元清单流程图;

图3是本发明故障模式分类情况图;

图4是本发明实施例1所选用的Timer_generate的电路原理图;

  图5是本发明中各元器件单元潜在故障模式等效模型图。

具体实施方式

下面结合具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。

为了克服传统手工故障注入的操作繁琐、对人员依赖性大、效率低下等问题。并且尽可能发掘电路原理图中所有的元器件在不同引脚上的不同故障模式对电路输出的影响,提高故障注入的效率,本发明提出一种基于PSpice AD电路仿真的单故障自动注入方法,实现了对电路原理图网表中,每个元器件单元所有不同故障模式在该元器件单元每个输出引脚上的单故障自动遍历注入,相比于一般的故障注入只能精确到元器件,本发明可以细化到对不同的输出引脚注入故障;仅需一次操作即可完成整个电路的所有单故障注入,实现了故障注入的自动化,相比于手动故障注入,操作简单、准确,且提高了故障注入的效率;本方法具有通用性,并不局限于单故障,还可以适用于多故障的情况。下面结合附图具体说明。

本发明基于PSpice AD电路仿真的单故障自动注入方法,参看图1,该方法包括如下步骤:

步骤一:提取电路原理图中的元器件单元清单:基于PSpice语法解析电路原理图网表,提取电路原理图网表中的元器件单元清单,所述元器件单元清单包括一一对应的元器件单元标识、元器件单元值及元器件单元类型名。

由于PSpice软件是基于仿真电路原理图网表(.net文件)进行仿真。网表文件内记录着电路单元连接方面的信息,包括电路单元的类型、电路单元的标识、电路单元的输入输出管脚信息等。因此正确解析网表语法是实现故障注入的关键。本发明中对网表语法的解析,采用逐行读取电路的网表的方式提取元器件单元清单,以及确定电路单故障注入的注入位置,其流程图如图2所示。基于PSpice的电路原理图网表文件的一般语法规则为:"元器件名 节点1 节点2...节点n 元器件值"。不同类型的元器件在网表中的格式如表1所示。

表1不同类型的元器件在网表中的格式

其中,R/C表示电阻、电容器件,D/Q表示二极管、三极管,U/X表示其他数字器件。

按表1中不同类型元器件在电路原理图网表中的格式,可以提取出各个元器件单元中的元器件单元标识、元器件单元类型名、元器件单元值。其中元器件单元标识对应表1中的元器件名,元器件单元类型名对应表1中的元器件关键字,元器件单元值对应表1中的元器件值。

其中,步骤一和二是分别单独进行的,在其他实施例中,也可以不分先后顺序。步骤一是预设的故障模式列表(新建/修改.txt文件),用于指定需要进行故障注入的元器件、故障模式、输出引脚。步骤二是提取的实际的电路原理图网表(.net文件)中的器件清单(即故障注入的对象),表示电路原理图中的器件类型及器件值等。

步骤二:建立元器件单元故障模式列表:根据提取的所述元器件单元清单为其中元器件单元预设对应的故障模式,并建立所述元器件单元的故障模式列表,其中所述元器件故障模式列表包括元器件单元类型名称、与所述元器件单元类型名称对应映射的基于电路仿真的故障模式和所述故障模式所在的输出引脚号。

基于GJB/Z 299C-2006标准,结合PSpice AD电路仿真的可行性,为不同类型的元器件单元预设对应的故障模式,并建立元器件单元故障模式列表。元器件单元故障模式列表中含三个表项,即元器件单元类型名称、及其对应的基于电路仿真的故障模式和输出引脚号。元器件单元类型名称与对应的元器件名相同。

电路设计人员可以指定进行故障注入的元器件单元类型、故障模式及输出引脚号。电路中元器件单元的故障模式可参考GJB/Z 299C-2006等标准,其中模拟电路可能出现的故障行为主要有:参数漂移、开路、短路、漏电、机械损伤、输出错误、过电应力、电性能失效等故障。对于数字电路,可能出现的故障有:固高、固低、反向、开路、短路、功能失效、机械失效、参数超差、过电应力等。依据不同元器件单元的故障模式在实际电路仿真中的具体体现形式,本发明对不同的元器件指定了基于电路仿真的元器件单元故障模式。元器件单元基于电路仿真的故障模式大致分类情况如图3所示。基于一个元器件单元可能有多个输出引脚,而故障可能发生在其中一个输出引脚上的情况,本发明可对每个输出引脚进行遍历故障注入。

在具体实施中,本发明设计了一个可扩展的元器件单元故障模式列表,并预留了该故障模式列表的接口。如表2所示。这里元器件单元定义为一个实际物理器件所包含的独立的、相同的功能单元。如一个74AC14反相器中含6个元器件单元。根据实际需求,可在这个列表中添加或删除需要进行故障注入的元器件单元及其基于电路仿真的故障模式、需要注入故障的输出引脚。表2中的最后一列用NULL表示该元器件单元只需要对缺省的一个输出引脚进行故障注入。

表2 元器件单元故障模式列表

步骤三:确定故障注入的元器件单元标识:逐行扫描所述元器件单元清单,依次选定一个元器件单元标识,基于所述元器件单元清单,映射其元器件单元类型名,并基于步骤二得到的所述元器件故障模式列表,确定是否对该元器件单元进行故障注入。

步骤四:确定元器件单元故障注入的输出引脚、故障模式和故障注入方式:若确定进行故障注入,按所述元器件故障模式列表确定选定的所述元器件单元的故障模式和输出引脚号的映射关系,并按所述元器件单元清单中的所述元器件单元类型名确定选定的所述元器件单元的故障注入方式。

步骤五:单故障注入的潜在故障电路原理图网表重构:逐行扫描电路原理图网表,查找该次确定要进行单故障注入的元器件单元,按其已确定的故障注入方式,确定该次单故障注入在电路原理图网表中的位置,并修改电路原理图网表中的相应内容重构潜在故障电路原理图网表完成故障注入。

不同的故障注入方式对应不同的电路原理图网表重构方式:(1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;(2)模型替代法:将元器件单元名称替换为相应元器件单元的故障模型名,不同输出引脚的不同故障模式对应不同的故障模型名。

故障仿真网表重构方式如表3所示。

表3 故障仿真网表重构方式

(1)对于电阻/电容

直接在电路原理图网表中,该元器件值的对应位置,按表3中所列项直接修改元器件值,即可产生该元器件对应故障的潜在故障电路原理图网表。

(2)对于其他元器件

需要在电路原理图网表的相应位置将正常仿真模型名用步骤四中按规则(与PSpice故障模型库中的潜在故障仿真模型命名相同)命名的故障仿真模型名替换,产生对应的潜在故障电路原理图网表。当用PSpice进行该故障电路原理图网表的电路仿真时,PSpice则会根据网表中的潜在故障仿真模型名,调用故障模型库中已经准备好的故障模型。

由以上重构网表的方法可以看出,本发明提出的故障自动注入方法并不局限于单故障,修改电路原理图网表时可以同时对多个故障仿真模型名进行替换,实现多故障注入。

根据本发明的实施例上述方法还包括:完成了一个元器件单元所有输出引脚上所有不同故障模式的单故障注入所对应的故障电路原理图网表重构,则返回步骤三,重复步骤三至步骤五,若所述元器件单元清单中的最后一个元器件单元标识已扫描完毕,则电路的单故障遍历故障自动注入完毕。

优选的,不同的故障注入方式对应不同的电路原理图网表的重构方式,所述电路原理图网表的重构方式包括:

1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;和/或

2)模型替代法:将元器件单元名称替换为相应元器件单元的故障仿真模型名,不同输出引脚的不同故障模式对应不同的故障模型名。

具体的,步骤三中所述基于所述元器件故障模式列表,确定是否对该元器件单元进行故障注入具体为:若元器件故障模式列表中不含选定的元器件单元类型,则不对该元器件单元进行故障注入;若元器件故障模式列表中含有选定的元器件单元类型,则对该元器件单元进行故障注入。

步骤四中,按所述元器件单元清单中的元器件单元类型名确定选定的所述元器件单元的故障注入方式具体为:若元器件单元在电路原理图网表中只含有一个元器件值或参数,则采用参数修改法故障注入方式,例如电阻、电容等;若元器件单元含有多个元器件值或参数,则采用模型替代法故障注入方式。将元器件的无故障仿真模型修改为故障模型库中相应故障模式的故障仿真模型。

由于电容电阻等元器件单元在电路原理图网表中只有一个参数值,因此在进行故障注入时,针对不同的故障模式直接将参数值修改成对应的值即可。本方案指定的电阻和电容这两种元器件的故障种类有开路、短路和参数漂移。

当实现开路故障时,把电阻的阻值设置成一个很大的数值或把电容的容值设置成一个极小的数值,便可等效为电阻或电容开路;若实现短路故障,把电阻的阻值设置成一个极小的数值或把电容的容值设置成一个极大的数值,便可等效为电阻或电容短路;而参数漂移则需要把相应的阻值或容值设置成正常值附近的任意其它值。

对于电阻电容器件,等效故障如表4所示。

表4 电阻、电容等效故障

如表4所示,电阻开路故障则将其值改为1000M,短路故障则将其值改为0.001,参数漂移故障则按正漂或负漂分别将其值改为原值的1.2倍或0.8倍。电容开路故障则将其值改为0.001nf,短路故障则将其值改为1000f,参数漂移故障则按正漂或负漂分别将其值改为原值的1.2倍或0.8倍。

(2)模型替换法:其他元器件

对需要故障注入的元器件,从预设的元器件故障模式列表中提取出该元器件需要注入的故障模式及输出引脚,将元器件的无故障仿真模型修改为故障模型库中相应故障模式的故障仿真模型。

使用模型替换法完成故障注入及潜在故障仿真的整体原理分为3部分:

(1)在PSpice AD中完成需要故障注入的元器件的各种故障模式及输出引脚的建模,准备好各种潜在故障仿真模型;

(2)将电路原理图网表中的正常元器件模型名,用第(1)步中准备好的潜在故障仿真模型名替换, 重构潜在故障电路原理图网表;

(3)PSpice AD调用(2)中重构的潜在故障电路原理图网表完成电路仿真:PSpice AD会根据网表中的故障仿真模型名调用(1)中准备好的故障仿真模型。

所述步骤二之前,还包括:分析不同类型的元器件单元在每种故障模式下的表现形式,建立基于表现形式的故障仿真模型,所述故障模式对应的故障仿真模型的建模方法对应关系如下:

(a)模拟元器件开路:故障引脚串联一个109欧姆大电阻;

(b)模拟元器件短路:故障引脚并联一个10-9欧姆小电阻;

(c)数字元器件固高:元器件引脚后串联一个或门,且或门的另一输入引脚接高电平;

(d)数字元器件固低:元器件引脚后串联一个与门,且与门的另一输入引脚接低电平;

(e)数字元器件反相:元器件引脚后串联一个反相器;

(f)数字元器件开路:元器件引脚后串联一个三态缓冲器,且使能端接低电平;

(g)数字元器件短路:元器件引脚并联一个缓冲器,缓冲器的输出引脚代替原输出引脚。

也即是,在进行模型替换法故障注入之前,首先需要在PSpice AD中完成元器件单元的故障建模。即对电路中需要进行故障注入的各元器件单元的各故障模式,建立相应的故障模型。故障模型的建立主要通过在正常元器件上并联或串联一个元器件,以达到某种故障的效果。各元器件单元潜在故障模式在PSpice AD中的等效模型如图5所示。

按图5完成元器件单元的故障建模之后,需要确定电路原理图网表中元器件的修改信息:将元器件原有的正确模型名,替换为故障模型名。

本方案采用的故障模型的命名原则如下所示:

a.二极管、三极管

在无故障仿真模型的名字后面加上S表示短路,加上O表示开路。

如二极管IN4148,其开路故障仿真模型名为IN4148O,短路故障仿真模型名为IN4148S。

b.数字器件

故障仿真模型命名方式为:无故障仿真模型+故障模式+器件输出引脚号。数字器件用H表示固高故障,L表示固低故障,I表示反相故障,OZ表示开路故障。

如数字器件74AC14,第5个输出引脚的固高故障仿真模型名为74AC14H5,第6个输出引脚的固低故障仿真模型名为74AC14L6,第5个输出引脚的开路故障仿真模型名为74AC14OZ5。

本发明提出一种基于PSpice AD电路仿真的单故障遍历故障自动注入方法。该方法从电路原理图网表中提取出元器件单元清单;再通过元器件单元故障模式列表,加载需要进行故障注入的元器件单元、故障模式及输出引脚号;然后逐行扫描元器件单元清单,确定故障注入的元器件单元标识;再依据元器件单元故障模式列表确定元器件的输出引脚、故障模式和故障注入方式;最后基于PSpice网表的语法和元器件类型,遍历电路原理图网表,确定该次单故障注入在电路原理图网表中的具体位置,重构潜在故障电路原理图网表,完成单次故障的自动注入。本方法仅需一次操作即可完成整个电路的所有单故障注入,实现了对电路原理图网表中,每个元器件单元所有不同故障模式在该器件每个输出引脚上的单故障自动遍历注入。

实施例1:待分析实例电路Timer_generate的电路原理图如图4所示,电路Timer_generate功能为产生时钟信号。该电路包含多个电阻、电容、及74AC161等其他数字器件。

通过利用本实施例提供的电路原理图网表,分别按照上述步骤一到五,完成单故障遍历故障自动注入,其具体步骤如下:

步骤一:基于PSpice AD语法,解析电路原理图网表的结构,采用逐行读取电路原理图网表的方式提取实例电路Timer_generate原理图网表的元器件单元清单,该清单含元器件单元标识、元器件单元值及元器件单元类型名,如表5所示。

表5 电路Timer_generate提取出的元器件单元清单

元器件单元标识元器件单元值元器件单元类型名C_C13470pFCR_R69900RR_R7822RR_R651RR_R70100RC_C14470pFCX_D774AC16174AC161R_R773kRR_R971kRR_R451RR_R111100RR_R112100RC_C270.1uCC_C280.1uCR_R80151RC_C190.1uCC_C200.1uCR_R79151RC_C290.1uCR_R116200RR_R117200RC_C300.1uCU_DSTM9A_CLKGNDBHMDL_A_CLKGNDR_R10922RX_D6AM26LS32AM26LS32X_D3LM161LM161C_C189'0.1u'CC_C20822uCC_C19322uCC_C2070.1uCR_R361RR_R371R

由表5可以看出实例电路Timer_generate的元器件单元个数一共32个,其中包含元器件单元类型R、C、74AC161、BHMDL_A_CLKGND、AM26LS32、LM161共6种。R/C元器件个数为28,74AC161元器件个数为1,AM26LS32元器件个数为1,LM161元器件个数为1。

步骤二:根据所述步骤一提取的元器件单元清单,结合其中不同的电路元器件类别和特点,加载需要进行故障注入的元器件单元类型名称、基于电路仿真的故障模式及输出引脚号,建立预设的元器件故障模式列表。即电路设计人员可以指定进行故障注入的元器件单元类型、故障模式及输出引脚号。

本发明指定的模拟电路故障行为有:参数漂移、开路、短路故障。对于数字电路故障有:固高、固低、反向、开路、短路。

由于实施案例电路中除了R、C以外,还有74AC161、BHMDL_A_CLKGND、AM26LS32、LM161共4种元器件。其中BHMDL_A_CLKGND为激励源,不考虑对其故障注入。因此需要采用模型替换法实现故障注入的元器件有74AC161、AM26LS32、LM161共3种。

预设元器件单元故障模式列表采用txt文件形式存储在指定文件夹lib下,txt文件中元器件单元类型名称、需要注入的故障模式及输出引脚号需按格式填写。本实施案例电路Timer_generate的预设元器件单元故障模式列表.txt中内容及格式如下所示:

%元器件故障模式列表

partname    74AC161

maltype     OZ H L I

pinnum     11 12 13 14 15

partname    AM26LS32

maltype     OZ H L I

pinnum      3 5 11 13

partname    LM161

maltype     OZ H L I

pinnum      9 11

txt文件中的内容分为三项:partname表示元器件单元名称,maltype表示需要注入的故障模式,pinnum表示需要故障注入的输出引脚标号。其中OZ表示开路、H表示固高、L表示固低、I表示反相。

本实施案例中需要对R/C分别注入开路、短路、参数漂移(含参数正漂移和负漂移)3种故障模式;对74AC161的第11、12、13、14、15输出引脚,AM26LS32的第3、5、11、13输出引脚,LM161的第9、11输出引脚分别注入开路、固高、固低、反相4种故障模式。因此在元器件单元故障模式列表中至少需要含有以上内容,包含R、C、74AC161、AM26LS32、LM161这五种元器件。

本发明的故障注入不仅可以遍历每个元器件单元的每种故障模式,而且可以具体到对每个输出引脚进行故障自动注入。此外,由于本发明预留了该预设的元器件单元故障模式列表接口,使得用户可以根据不同电路的实际需要,添加需要故障注入的元器件、故障模式及输出引脚。

步骤三:确定故障注入的元器件单元标识:逐行扫描元器件单元清单,若元器件单元清单中的最后一个元器件单元标识已扫描完毕,则电路的单故障遍历故障自动注入完毕;否则依次选定一个元器件单元标识,基于元器件单元清单,映射其元器件单元类型名,并基于元器件单元故障模式列表,确定是否对该元器件单元进行故障注入:若元器件单元故障模式列表中不含该元器件单元类型,则不对该元器件单元进行故障注入,返回步骤三;若元器件单元故障模式列表中含有该元器件单元类型,则进入步骤四。

步骤四:确定元器件单元故障注入的输出引脚、故障模式和故障注入方式:按故障模式列表确定元器件单元类型名与故障模式和输出引脚号的映射关系,并按元器件单元类型确定该元器件单元的故障注入方式。由于根据元器件单元类型的不同,本发明采用了两种故障注入方式:

(1)若当前选择的元器件单元中仅含一个元器件值或参数,则采用参数修改法。本方案中该类元器件单元有电阻/电容。

由于电容电阻在电路原理图网表中只有一个参数值,因此在进行故障注入时,对不同的故障模式进行注入时直接将参数值修改成对应的值即可。

对实例电路Timer_generate的R/C进行故障注入的参数修改值如表6所示。其中O-NULL表示开路故障对应的参数修改值,S-NULL表示短路故障对应的参数修改值,F-UP表示参数正漂移故障对应的参数修改值,F-DOWN表示参数负漂移故障对应的参数修改值。

表6 实例电路Timer_generate电阻、电容参数修改值

元器件标识元器件值O-NULLS-NULLF-UPF-DOWNC_C13470pF0.001nF1000F564pF376pFR_R699001000M0.0011080720R_R78221000M0.00126.417.6R_R6511000M0.00161.240.8R_R701001000M0.00112080C_C14470pF0.001nF1000F564pF376pFR_R773k1000M0.0013.6k2.4kR_R971k1000M0.0011.2k0.8kR_R4511000M0.00161.240.8R_R1111001000M0.00112080R_R1121001000M0.00112080C_C270.1u0.001nF1000F0.12u0.08uC_C280.1u0.001nF1000F0.12u0.08uR_R801511000M0.001181.2120.8C_C190.1u0.001nF1000F0.12u0.08uC_C200.1u0.001nF1000F0.12u0.08uR_R791511000M0.001181.2120.8C_C290.1u0.001nF1000F0.12u0.08uR_R1162001000M0.001240160R_R1172001000M0.001240160C_C300.1u0.001nF1000F0.12u0.08uR_R109221000M0.00126.417.6C_C1890.1u0.001nF1000F0.12u0.08uC_C20822u0.001nF1000F26.4u17.6uC_C19322u0.001nF1000F26.4u17.6uC_C2070.1u0.001nF1000F0.12u0.08uR_R3611000M0.0011.20.8R_R3711000M0.0011.20.8

(2)若当前选择的元器件单元中含有多个个元器件值或参数,则采用模型替换法:分别对需要故障注入的元器件单元74AC161、AM26LS32、LM161,从预设的元器件故障模式列表中提取出元器件单元需要注入的故障模式及输出引脚,并按故障模型库中的命名规则,将元器件的无故障仿真模型替换为潜在故障仿真模型。

在确定潜在故障电路原理图网表中的修改值之前,已经在PSpice故障模型库中完成了各元器件潜在故障模式的故障模型建模。实例电路中采用模型替换法进行故障注入的元器件其参数应该按故障模型中相同的命名分别修改为如表7所示。

表7 实例电路Timer_generate模型替换法参数修改值

74AC161故障网表修改值AM26LS32故障网表修改值LM161故障网表修改值74AC161OZ11AM26LS32OZ3LM161OZ974AC161OZ12AM26LS32OZ5LM161OZ1174AC161OZ13AM26LS32OZ11LM161H974AC161OZ14AM26LS32OZ13LM161H1174AC161OZ15AM26LS32H3LM161L974AC161H11AM26LS32H5LM161L1174AC161H12AM26LS32H11LM161I974AC161H13AM26LS32H13LM161I1174AC161H14AM26LS32L3 74AC161H15AM26LS32L5 74AC161L11AM26LS32L11 74AC161L12AM26LS32L13 74AC161L13AM26LS32I3 74AC161L14AM26LS32I5 74AC161L15AM26LS32I11 74AC161I11AM26LS32I13 74AC161I12  74AC161I13  74AC161I14  74AC161I15  

步骤五:单故障注入的潜在故障电路原理图网表重构:逐行扫描电路原理图网表,查找该次单故障注入的元器件单元标识,按其已确定的故障注入方式,确定该次单故障注入在电路原理图网表中的位置,并修改电路原理图网表中的相应内容。不同的故障注入方式对应不同的电路原理图网表重构方式:(1)参数修改法:在电路原理图网表中修改元器件单元标识对应的元器件值;(2)模型替代法:将元器件单元名称替换为相应元器件单元的故障模型名,不同输出引脚的不同故障模式对应不同的故障模型名。

本实施例中,电路原理图网表的重构方式如下,

(1)对于电阻/电容

直接在电路原理图网表中,该元器件值的对应位置,按表7中所列项直接修改元器件值,即可产生该元器件对应故障的潜在故障电路原理图网表。

如表7中列出的实例电路Timer_generate的第三个电阻/电容类型的元器件C_C13,其在电路原理图网表和各种潜在故障电路原理图网表中的信息如表8所示。

    表8  C_C13在电路原理图网表和各种潜在故障电路原理图网表中的信息

电路原理图网表中的信息C_C13      C14 C13  470pF  TC=0,0C_C13发生开路故障的潜在故障电路原理图网表中的信息C_C13      C14 C13  0.001nF  TC=0,0C_C13发生短路故障的潜在故障电路原理图网表中的信息C_C13      C14 C13  1000F  TC=0,0C_C13发生参数正漂移故障的潜在故障电路原理图网表中的信息C_C13      C14 C13  564pF  TC=0,0C_C13发生参数负漂移故障的潜在故障电路原理图网表中的信息C_C13      C14 C13  376pF  TC=0,0

由表8可以看出,电阻/电容类元器件的故障注入是直接通过修改网表参数来实现,生成的潜在故障电路原理图网表与电路原理图网表相比,只有参数值不同。

(2)对于其他元器件

需要在相应位置将正常仿真模型名用步骤三中按规则命名的故障仿真模型名替换,产生对应的潜在故障电路原理图网表。

如表7中列出的实例电路Timer_generate的第三个非电阻/电容类型的数字器件LM161,其在电路原理图网表和各种潜在故障电路原理图网表中的信息如表9所示。

表9  LM161在电路原理图网表和各种潜在故障电路原理图网表中的信息

电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161LM161第9个输出引脚发生开路故障的潜在故障电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161OZ9LM161第11个输出引脚发生开路故障的潜在故障电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161OZ11LM161第9个输出引脚发生固高故障的潜在故障电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161H9LM161第11个输出引脚发生固高故障的潜在故障电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161H11LM161第9个输出引脚发生固低故障的潜在故障电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161L9LM161第11个输出引脚发生固低故障的潜在故障电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161L11LM161第9个输出引脚发生反相故障的潜在故障电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161I9LM161第11个输出引脚发生反相故障的潜在故障电路原理图网表中的信息X_D3          N287843 N287805 +12VA -12VA V161A V161A V161A 0 N287717 N287783 LM161I11

由表9可以看出,非电阻/电容类元器件的故障注入是通过模型替换的方式,生成的潜在故障电路原理图网表与电路原理图网表相比,选用的元器件模型库不同。

完成了一个元器件单元所有输出引脚上所有不同故障模式的单故障注入所对应的故障电路原理图网表重构,则返回步骤三,否则返回步骤五。由以上重构潜在故障电路原理图网表的方法可以看出,本发明提出的故障自动注入方法并不局限于单故障,修改潜在故障电路原理图网表文件时可以同时对多个故障仿真模型名进行替换,实现多故障注入。如:可以同时替换LM161L11和74AC161OZ11两种故障模型,则重构出含有两个故障的潜在故障电路原理图网表。

实例电路Timer_generate单故障遍历自动故障注入完成后,在Netlist文件夹下共产生潜在故障电路原理图网表文件156个,其中R/C元器件的潜在故障电路原理图网表共112个,74AC161元器件的潜在故障电路原理图网表20个,AM26LS32的潜在故障电路原理图网表16个,LM161的潜在故障电路原理图网表8个。

并且实例电路Timer_generate单故障遍历自动故障注入的程序运行总时间为0.896610s,运行效率高。

因为R/C元器件个数28,每个元器件分别进行开路、短路、参数正漂移、参数负漂移4种故障模式的故障注入,所以应产生潜在故障电路原理图网表28*4=112个;因为74AC161对其5个输出引脚分别进行开路、固高、固低、反相4种故障模式的故障注入,应产生潜在故障电路原理图网表5*4=20个;同理AM26LS32对其4个输出引脚分别进行开路、固高、固低、反相4种故障模式的故障注入,应产生潜在故障电路原理图网表16个;LM161对其2个输出引脚分别进行开路、固高、固低、反相4种故障模式的故障注入,应产生潜在故障电路原理图网表8个。

由以上分析可以看出,本发明提出的故障自动注入方法根据预设的元器件单元故障模式列表,用户可指定需要进行故障注入的元器件、故障模式及输出引脚,通过程序控制,仅需一次操作即可完成整个电路的所有单故障注入,产生了与预期相同个数的潜在故障电路原理图网表,实现了对电路原理图网表中,每个元器件所有不同故障模式在该器件每个输出引脚上的单故障自动遍历注入。并且由运行时间可以看出,本发明的故障自动注入方法能快速的实现遍历故障自动注入,与传统的手动故障注入相比,大大提高了故障注入的效率。此外,本发明提供的预设元器件故障模式列表接口,方便用户根据实际需要,添加需要进行故障注入的元器件、故障模式及输出引脚,具有良好的可扩展性。并且本发明提出的故障自动注入方法具有一定的通用性,不仅可以进行单故障自动注入,还适用于同时注入多个故障的情况。

上面结合附图对本发明的具体实施方式进行了详细说明,但本发明并不限制于上述实施方式,在不脱离本申请的权利要求的精神和范围情况下,本领域的技术人员可以作出各种修改或改型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号