检测由中断处理引起的异常操作制造技术

技术编号:9957805 阅读:161 留言:0更新日期:2014-04-23 17:59
本发明专利技术提供一种用于控制多中断系统中的中断过程的控制器。控制器(100)具有:多个看门狗定时器(WDT)21至23,每个WDT被提供用于多个中断优先级级别中的每个中断优先级级别;中断优先级级别选择器11至13,接收中断请求信号并且根据中断请求信号的优先级级别向对应WDT输出启动信号;以及中断处理电路(31),在WDT超时时向处理器输出具有比与适用WDT对一个的优先级级别高至少一个级别的优先级的中断请求信号。如果已经向单个中断优先级级别指派多个中断原因,则中断处理电路向具有比所述单个中断优先级级别更低的优先级级别的WDT的超时引起的中断请求信号给予优先级、由此检测异常操作已经在具有所述更低优先级级别的中断过程中出现。

【技术实现步骤摘要】
【国外来华专利技术】检测由中断处理引起的异常操作
本专利技术涉及一种多中断系统,并且更具体地涉及检测由多中断系统中的中断处理引起的异常操作。
技术介绍
为了确保嵌入式系统等中的实时性,存在如下系统,该系统被配置为使得在存在优先级比正在处理的中断的优先级(水平)更高的中断请求时,中止正在处理的中断,并且处理更高优先级的中断,而且在完成中断处理之后恢复中止的中断处理。系统是所谓的多中断系统或者用于根据优先级来嵌套中断的系统。也存在如下系统,该系统配备有看门狗定时器(下文称为“WDT”)来作为无论系统是否为多中断系统都用于监视系统在运行的硬件。在嵌入式系统等中,尽管WDT还未超时(到期),系统可能仍然未正常操作。存在各种异常操作原因,并且也存在与中断处理关联的许多异常操作。在多中断系统的情况下,经常使得自动恢复和原因分析变得困难。异常操作的不充分检测的示例是其中WDT由定时器中断(或者由所有中断)(因为在正常系统中有一个WDT)重置的情况。在这一情况下,WDT仅能确认CPU(和周围H/W)正在运行。换而言之,WDT确认外围电路发出中断请求并且CPU接受请求。就这一点而言,未确认是否正在执行系统预计的操作。公开号为62-175840的专利申请公开了一种用于在执行具有最高级别(最高执行优先级级别)的处理程序的间隔中根据级别执行多个处理程序的数据处理系统。在这一系统中,提供多个WDT——这些WDT具有根据处理程序的级别而不同、并且在完成对对应处理程序的执行之后重置的溢出值——以基于任何一个WDT的溢出来检测在数据处理系统中出现故障。公开号为10-275097的专利申请公开了一种用于根据级别按照优先级顺序执行多个处理程序的数据处理系统。在这一系统中,与各多个处理程序个别对应的多个WDT被布置用于基于这些多个WDT的溢出来检测出现数据处理系统的挂起。引用列表专利文献[专利文献1]公开号为62-175840(1987)的日本专利申请[专利文献2]公开号为10-275097(1998)的日本专利申请
技术实现思路
本专利技术要解决的问题在专利文献1中的数据处理系统假设定时器启动执行最高级处理程序,并且不支持在比最高级别更低的级别之间的中断处理或者在向一个级别指派多个程序时的中断处理。另外,没有关于启动WDT的定时的公开内容。在专利文献2中的数据处理系统中,由于未并行启动多个WDT,所以不能并行处理(管理)优先级不同的多个中断。因此,本专利技术的目的是启用多中断处理,该多中断处理能够在优先级不同的多个中断并行出现时或者在多个中断在一个级别(优先级)中并行出现时能够检测中断处理之一引起的异常操作。用于解决问题的手段本专利技术提供一种检测由多中断系统中的中断处理引起的异常操作的方法。该方法包括以下步骤:预备WDT,WDT具有用于每个中断优先级的预定超时值;在确立具有对应优先级的中断请求的时间启动每个WDT;以及在WDT中的至少一个WDT已经超时时,接受具有比与WDT对应的优先级高至少一个或者更多级别的优先级的中断请求,其中在接受中断请求的步骤中向中断优先级之一指派多个中断原因时,向由具有比中断优先级更低的级别的WDT的超时引起的中断请求给予优先级,以检测异常操作已经在具有更低级别优先级的中断处理中出现。在本专利技术的一个方面中,提供一种用于控制多中断系统中的中断处理的控制器。该控制器包括:多个WDT,每个WDT具有为每个中断优先级提供的预定超时值;中断优先级选择器,用于从设备接收中断请求信号并且根据每个中断请求信号的优先级向对应WDT输出激活信号;以及中断处理电路,其在WDT中的至少一个WDT已经超时时向处理器输出具有比与WDT对应的优先级高至少一个或者更多级别的优先级的中断请求信号。控制器还被配置使得在向中断优先级之一指派多个中断原因时,中断处理电路向由优先级级别比中断优先级更低的WDT的超时引起的中断请求信号给予优先级,以检测异常操作已经在具有更低级别优先级的中断处理中出现。根据本专利技术及其一个方面,在中断优先级相互相同或者不同的多个中断已经出现时,可以检测异常已经在中断处理中出现于哪个优先级中。另外,根据本专利技术,由于向优先级级别比在相同优先级中的其它中断原因更低的WDT的超时引起的中断请求给予优先级、即由于在开始中断处理时(在证实未启动更低优先级的中断处理时)检测中断处理异常,所以可以比在常规WDT超时时的检测更多地提高异常检测的准确性(精确性)。附图说明图1是用于描述本专利技术的检测由中断处理引起的异常操作的方法的流程的图。图2是示出本专利技术的用于控制中断处理的控制器的配置的图。具体实施方式现在将参照附图描述本专利技术的一个实施例。图1是用于描述检测由多中断系统中的中断处理引起的异常操作的方法的流程的图。可以用稍后将描述的方式通过以本专利技术的用于控制中断处理的控制器为例、基本上在硬件中实施这一方法。然而无需赘言,这一方法并未消除在程序(软件)中实施,并且可以相互结合在二者中实施该方法。在步骤S11中,预备多个WDT。每个WDT被配置用于具有用于每个中断优先级(级别)的预定超时值。根据中断优先级和原因来设置预定超时值。这里,中断原因意味着待由CPU处理的内容、比如待处理的程序或者通过I/O的各种输入和输出中的每个输入和输出。一般而言,随着中断优先级增加而将超时值设置为更短。在步骤S12中,在接收中断请求的时间启动具有对其进行中断请求的优先级的WDT。这时,在多个中断原因被指派到中断优先级之一时,在中断原因之中进行第一中断请求时启动对应WDT。在接受具有优先级的中断的时间、即在在处理器在接收对应中断请求之后启动中断处理时(在开始执行中断处置器的时间)重置启动的WDT。在步骤S13中,确定至少一个WDT是否已经超时(到期)。具体而言,确定WDT的计数值是否变得大于或者等于预定超时值(WDT是否溢出)。在这一确定为否时,由于中断请求正在被处理而无妨碍,所以该过程在移向步骤S12之前返回以等待下一中断请求。在步骤S13中的确定为是时,在下一步骤S14中接受具有比已经超时的WDT的优先级高(高级)至少一个或者更多级别的优先级的中断请求。同时启动高级WDT。这时,待选择的优先级不限于比已经超时的WDT的优先级高一个级别的优先级,并且它可以是高两个或者更多级别的优先级。另外,待选择的优先级数目不限于一个,并且可以选择两个或者更多优先级。换而言之,在其中接受中断请求的步骤S14中,可以接受具有比与WDT对应的优先级高至少一个或者更多级别的两个或者更多优先级的中断请求。在步骤S14中,在向中断优先级之一指派多个中断原因时,向具有比中断优先级更低的优先级级别的WDT的超时引起的中断请求给予优先级。例如,即使在具有优先级级别N的中断原因数目为两个或者更多,如果存在具有比优先级级别N低一个级别的优先级级别(N-1)的WDT的超时,则向具有优先级级别(N-1)(视为如同它是新的N级别)、并且进行中断处理的中断请求给予优先级。运用这一机制的原因是在稍后将描述的步骤S16中检测异常操作已经在具有更低优先级级别(在以上示例中为(N-1)级别)的中断处理中出现。在步骤S15中,确定具有在步骤S14中选择为高至少一个级别的优先级的WDT是否已经超时(到期)。如同在步骤S13的情况下那样,通过确定WD本文档来自技高网
...
检测由中断处理引起的异常操作

【技术保护点】
一种用于检测由多中断系统中的中断处理引起的异常操作的方法,包括以下步骤:预备看门狗定时器WDT,所述WDT具有用于每个中断优先级的预定超时值;在具有对应优先级的中断请求的时间启动每个WDT;以及在所述WDT中的至少一个WDT已经超时时,接受具有比与所述WDT对应的优先级高至少一个或者更多级别的优先级的中断请求,其中在所述接受所述中断请求的步骤中向所述中断优先级之一指派多个中断原因时,向由具有比所述中断优先级更低的级别的WDT的超时引起的中断请求给予优先级,以检测异常操作已经在具有所述更低级别优先级的中断处理中出现。

【技术特征摘要】
【国外来华专利技术】2011.08.25 JP 2011-1833121.一种用于检测由多中断系统中的中断处理引起的异常操作的方法,包括以下步骤:预备看门狗定时器WDT,所述WDT具有用于每个中断优先级的预定超时值;在具有对应优先级的中断请求的时间启动每个WDT;以及在所述WDT中的至少一个WDT已经超时时,接受具有比与所述至少一个WDT对应的优先级高至少一个或者更多级别的优先级的中断请求,其中在所述接受所述中断请求的步骤中向所述中断优先级之一指派多个中断原因时,向由具有比所述中断优先级更低的级别的WDT的超时引起的中断请求给予优先级,以检测异常操作已经在具有所述更低级别优先级的中断处理中出现。2.根据权利要求1所述的方法,其中在向所述中断优先级之一指派所述多个中断原因时,所述在具有所述对应优先级的所述中断请求的时间启动每个WDT的步骤包括以下步骤:在所述中断原因之中的第一中断请求的时间启动对应WDT。3.根据权利要求1或者2所述的方法,还包括以下步骤:在接受对应中断请求、并且所述中断处理由处理器启动时重置所述WDT中的每个WDT。4.根据权利要求1或者2所述的方法,其中所述接受所述中断请求的步骤是接受具有比与所述WDT对应的优先级高至少一个或者更多级别的多个优先级的中断请求。...

【专利技术属性】
技术研发人员:白鸟敏幸
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1