故障检测装置及方法_2

文档序号:9635151阅读:来源:国知局
合。通过使用直接索引查找表,硬件中的索引可能太多而不能被监视。查找键可以被散列到10比特,也就是说,作为典型的例子,使得1024个条目的查找散列表(其在硬件中更容易实现)可以被使用。这样的散列函数可以在散列索引键生成模块202内执行。散列索引键可以使用适当的常规算法来生成。例如,CRC 32散列函数可以被使用或基于安全的散列算法(SHA)可以作为替代被使用。散列索引键通常被用于从表中访问信息。例如,US6084877公开了一种方法,其使用散列函数来生成索引键,以访问表中的地址。
[0025]根据本发明的一个实施例,散列索引生成处理可能将来自散列函数的可编程比特数目用作到散列表203中的索引。每个散列索引键随后可以被用作用于访问散列表203中的索引条目(或分栏)的指针。在一个示例实施例中,四个分栏可以存在于每个散列索引处。在由于散列处理而导致多于一个散列索引键可能指向相同索引的情况下,可以要求每个索引多于一个分栏。
[0026]在一些情况下,CPU可以负责改变状态,从而作为CPU活动的结果,散列索引键可能变化。所以CPU可以直接(通过从CPU到监视器100的信号)或间接地被监视,例如通过其它块、寄存器、CPU控制的I/O线。
[0027]在一个示例实施例中,CPU可以负责改变状态,从而作为CPU活动的结果,散列索引键可能变化。监视器可以负责监视由CPU 101做出的状态和配置变化,并且如果散列索引键产生适当的匹配,那么可能仅仅允许所得的输出状态传播到系统输出103。
[0028]CPU可以直接(通过从CPU到监视器100的信号)或间接地被监视,例如通过其它块、寄存器、CPU控制的I/O线。当监视器可操作地耦合于系统中控制功能的自主元件、被监视的输入或输出的时候,CPU也可以被监视。
[0029]图3示意性地显示了散列表300和它的功能的一个例子。从CPU和/或I/O引脚和寄存器到监视器的输入302的散列结果并且包括散列索引键可以被用作到查找表条目的索引,即在表中查找将特定输入值与产生了索引的监视器相匹配的条目。到监视器的输入值可以因此被认为是“起始键”。在此例中,散列表中的索引303可能包括四个分栏304-307ο在一个例子中,每个分栏可能包括到监视器的输入值(“起始键”)和相关联动作。相同的索引值(散列冲突)是可能的,以区分到监视器的输入值。因此每个索引可能需要多于一个分栏。通过这种方式,可以提供用于产生了相同索引的每个集合输入值的分离动作。
[0030]相关联动作的例子是启用308定时器,例如,当达到特定状态的时候。动作的另一个例子可以是当达到特定状态以验证及时完成了转换或其没有快速发生的时候,使用309定时器。在一个例子中,表可能包括用于启用和禁用定时器的条目。因此,例如,当所生成的散列索引键定位了将条目与定时器启用比特设置相匹配的分栏的时候,定时器可以被启用。
[0031]动作的另一个例子可以是禁用310输出、或在输出上配置故障安全值、或忽略中断例外请求。
[0032]对于表项与散列索引键的精确匹配,与起始键进行了比较。所以,如果在散列表中找到了将输入值302 (起始键)的输入值与监视器精确匹配(在散列处理之前)的条目,那么相关联动作308、309、310可以被执行。
[0033]在操作的一个例子中,CPU可能处理动作。在另一个例子中,监视器可以被布置成处理动作。监视器还可以被布置成经由中断来向CPU通知事件。
[0034]监视器还可以被布置成,通过将在散列处理中生成的散列索引键从变化输入302改变到监视器,来检测已达到的特定状态(即,例如达到特别值的特定输入302)。因为散列索引键可以不断变化并且因此从表条目中继到表条目,因此该处理可以是非常动态的。
[0035]在另一个例子中,例如,如果针对被监视的引脚和寄存器的组合已经达到了严重的误差状况,那么所述动作可以是将被监视的CPU的输出或引脚和/或系统例如放入到失效安全模式。位于散列表中的适当分栏内的条目可能指示错误的严重性。
[0036]替代地,如果散列表中的匹配条目与期望状态有关,那么所述动作可能是什么都不做。
[0037]如果在表中发现对于生成的散列索引键没有匹配,那么“无匹配”动作可能进行。在一个实施例中,散列表中的每个索引303可能包括“无匹配动作”312。在这个例子中,则有可能有与输入值(原始键)相比较的4个条目和无匹配动作。在某些情况下,“无匹配动作”可以是用于监视器的一个全局条目。每个索引具有“无匹配动作”的优势是使得监视器更加灵活和可扩展。
[0038]全局控制和动作条目313还可以被提供,其可能包括依赖于已经被启用的定时器期满而执行的动作。
[0039]故障检测装置的示例性实施例可能利用输入和输出的动态散列,其可能耦合于定时器以提供安全和确定性的输入/输出监视器,而不增加CPU开销。如果在指定时间段内发生了状态变化,那么与定时器耦合的散列表可以被用于验证。非法散列索引可以被用于触发通过编程监视器而控制的确定性行为。
[0040]因此,该示例性实施例的故障检测装置可能提供故障早期确定性判定,并且可能,例如,被用于使用了微处理器微控制器单元、微处理器单元或ASIC的应用,以控制输入/输出通信端口或其它此类接口。
[0041]故障的早期检测可能有利地使得控制系统能够进入预定或失效安全状态,以防止损坏外围设备,并防止错误在外部系统中的进一步传播。
[0042]示例性实施例的故障检测装置还可能提供一种解决方案,以解决ISO 26262安全系统中的安全输入/输出管理,并是以降低的软件要求实现,从而使得安全认证更容易。另夕卜,故障检测装置100可能在任何系统故障期间允许输入/输出遏制。
[0043]故障检测装置100的例子可能被包括在与CPU 101相同的封装内或者可能包括分立的设备或模块。
[0044]一种用于检测在例如CPU的设备内故障的示例方法将结合图4被描述,其中图4是简化流程图400。
[0045]在401,要被监视的一个或多个信号可以由故障监视器接收。
[0046]在402,可以为所接收信号的集合生成散列索引键。
[0047]在403,可以为了到所接收信号的值的匹配条目而搜索散列表。如果未找到匹配,那么可以在404生成故障通知信号。通过将其引脚设置在安全状态例子,该信号可以被用于将CPU置于在失效安全操作模式。
[0048]另一方面,如果找到匹配条目,那么在406读取与所找到条目相关联的动作。可选地,条目可能包括用以启用一个或多个定时器的指令。如果是这样,那么该方法可能通过执行将参照图5和6说明的后续步骤而继续(在406)。否则,相关联动作可能在407完成。
[0049]在一个实施例中,用于检测故障的方法可能包括,在指定时间间隔内检查有效状态变化或响应。例如,该功能可以由定时器模块201(见图2)提供。在一个例子中,定时器模块可能包括第一定时器(例如“晚期”定时器),其可以被用于确认在指定时间间隔期满之前发生的特别预期响应或状态变化。定时器模块可能包括第二定时器(例如“早期”定时器),其可以被用
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1