一种防止硬件看门狗的定时器溢出的方法、装置与系统的制作方法

文档序号:6458064阅读:375来源:国知局
专利名称:一种防止硬件看门狗的定时器溢出的方法、装置与系统的制作方法
技术领域
本发明涉及计算机技术领域,特别地涉及一种防止硬件看门狗的定时器溢 出的方法、装置与系统。
背景技术
中断中断是CPU处理外部突发事件的一个重要技术。它能使CPU在运 行过程中对外部事件发出的中断请求及时地进行处理。CPU收到中断请求时, 中断正在执行的程序,转去处理中断请求中包含的任务,处理完成后又继续执 行CPU原来的程序。引起中断的原因或者说发出中断请求的来源叫做中断源。 根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断 又可以分为外部中断和内部中断两类。内部中断由CPU内部处理才莫块在一定 的情况下产生,其优先级一般低于外部中断。外部中断一般外部电路由CPU 的中断管脚传递给CPU。在外部中断中有一种中断,它的优先级为高于所有内 部中断和其他的外部中断,这种最高优先级的中断信号由外部电路由CPU的中断管脚传递给CPU或者从CPU的一只专门的管脚传递给CPU。硬件看门狗如图1所示,装置ll俗称硬件看门狗,主要包含一个监视 定时器,其定时输出连接到CPU12的复位信号输入管脚13, CPU通过总线14 向CPLD15发送指令,使得控制装置15定时地向硬件看门狗的喂狗信号输入 管脚16发送高电平或低电平,该定时时间经设定使其短于硬件看门狗的定时 时间,从而使硬件看门狗11中的定时器在溢出之前就被清零。CPU12通过总 线14向CPLD15发送清零指令使硬件看门狗11中的定时器被清零的一操作俗 称"喂狗",如果硬件看门狗11中的定时器在溢出之前该清零操作未执行,则 称作"喂狗超时"。在CPU12工作正常时,硬件看门狗11中的定时器因清零而不溢出,于是不会向CPU12发送复位信号。如果CPU12的工作发生错误从 而无法喂狗时,此时当定时器在其定时时间结束后就会溢出,从而向CPU12 发送复位信号,CPU12收到复位信号之后中止正在处理的任务,回到其工作的 初始状态,从而CPU12在复位之前的工作状态信息也被清除。发明内容当硬件看门狗监视的装置,如CPU等,的工作发生异常而导致被硬件看 门狗复位时,复位之前的工作状态信息也随即丟失,不便于分析错误产生的原 因。为解决上述问题,本发明实施例提供如下的技术方案一种防止硬件看门狗的定时器溢出的方法,控制装置检测硬件看门狗监视 的装置在到达设定时间时是否未将硬件看门狗的定时器清零,若是,控制装置 向硬件看门狗发送清零信号和/或向硬件看门狗监视的装置发送最高优先级外 部中断信号。本发明实施例提供一种防止硬件看门狗的定时器溢出的装置,包括检测单 元和清零信号发送单元,其中,所述检测单元,用于检测硬件看门狗监视的装置在到达设定时间时是否未 将所述定时器清零;所述清零信号发送单元,用于当硬件看门狗监视的装置在到达设定时间时 未将所述定时器清零时向硬件看门狗发送清零信号。本发明实施例冲是供又一种防止硬件看门狗的定时器溢出的装置,包括^r测 单元和中断信号发送单元,其中,所述检测单元,用于检测硬件看门狗监视的装置在设定时间时是否未将所 述定时器清零,所述中断信号发送单元,用于当硬件看门狗监视的装置在到达设定时间时 未将所述定时器清零时向硬件看门狗监4^的装置发送最高优先级中断信号。本发明实施例提供又一种防止硬件看门狗的定时器溢出的装置,包括检测 单元、清零信号发送单元和中断信号发送单元,其中,所述检测单元,用于检测硬件看门狗监视的装置在到达设定时间时是否未 将所述定时器清零,所述清零信号发送单元,用于当硬件看门狗监视的装置在到达设定时间时 未将所述定时器清零时向硬件看门狗发送清零信号,所述中断信号发送单元,用于向硬件看门狗监视的装置发送最高优先级中 断信号。本发明实施例提供一种防止硬件看门狗的定时器溢出的系统,包括控制装置、中断响应装置和中断处理模块,其中,所述控制装置包括;险测单元、清零信号发送单元、中断信号发送单元和判 断单元,其中,所述检测单元,用于检测硬件看门狗监视的装置在到达设定时间时是否将 所述定时器清零,所述清零信号发送单元,用于当硬件看门狗监视的装置在到达设定时间时 未将所述定时器清零时向硬件看门狗发送清零信号,所述中断信号发送单元,用于向硬件看门狗监视的装置发送最高优先级中 断信号,所述判断单元,用于若所述硬件看门狗监视的装置在到达设定时间时未将 所述定时器清零,判断此时所述硬件看门狗监视的装置是否处于最高优先级中断服务的进程中,若是,则所述检测单元停止所述检测; 所述中断响应装置,用于接收最高优先级中断信号;所述中断处理模块,用于当所述中断响应装置收到最高优先级中断信号时 执行中断服务程序。使用本发明实施例给出的方法和系统,在出现异常时能够保护硬件看门狗 监视的装置,如CPU等,的工作现场,并使得硬件看门狗监视的装置的工作相关的信息得以保存,便于分析其工作异常的原因。


图1为现有技术中系统装置示意图; 图2为本发明实施例给出的一种系统装置示意图; 图3为本发明实施例给出的一种系统装置示意图; 图4为本发明实施例给出的一种系统装置示意图。
具体实施方式
本发明实施例给出 一种防止硬件看门狗的定时器溢出的方法、装置与系 统。控制装置检测硬件看门狗监视的装置是否在设定时间内未将硬件看门狗的 定时器清零,若是,控制装置向硬件看门狗发送清零信号和成向硬件看门狗监 视的装置发送最高优先级外部中断信号。本实施例中以石更件看门狗和CPU以及CPLD( Complex Programmable Logic Device,复杂可编程逻辑器件)组成的系统为例对本实施例中的方法进行说明。 如图l所示,CPU12在工作正常时,每隔时间间隔T^通过总线14向CPLD15 发送将硬件看门狗的定时器清零的指令即喂狗指令,CPLD15收到喂狗指令后 立即向硬件看门狗11的清零信号输入管脚16发送清零信号即喂狗信号,硬件 看门狗11收到喂狗信号后将定时器清零,从而保证CPU12不会复位。当CPU12的工作发生异常,例如进入程序死循环或者因某种错误而保持 等待状态,喂狗指令就无法发出。于是CPLD15检测到CPU12在上次发出喂 狗指令之后T2时间间隔内未发出喂狗指令,此时CPLD15在CPU12在上次发 出喂狗指令之后的硬件看门狗11定时时间To之前,有如下操作可供选择1、 CPLD15向硬件看门狗11的喂狗管脚发送清零信号,此操作也可称之 为"喂狗",于是该信号也可称作"喂狗信号",可以避免CPU12被复位。此 处T^丁2。 CPLD15需设置成每隔T3时间发送喂狗信号,T3<T。,这样CPU12 也保持不被复位,管理人员可以就此研究CPU12的工作状况。2、 CPLD15向CPU12发送最高优先级中断信号,从而使CPU12跳出当前 任务,转而执行中断服务程序。中断服务程序中包含的指令有如下可供选择(1) 、喂狗指令。在响应中断之后中断服务程序立即发送喂狗指令,然后 每隔TV:T()的时间发送喂狗信号,这样CPU12也保持不被复位,管理人员可以 就此研究CPU12的工作状况。(2) 、记录指令,以记录CPU12在收到最高优先级外部中断信号之前所 执行任务的信息。(3) 、如果(2)中的记录过程耗时多于T广T2,则在记录未完成时CPU12 已经被硬件看门狗11复位,所以若预计出现这种情况,中断服务程序中须包 含喂狗指令,也即上述(1)、 (2)的结合。3、 将上述1和2两项操作结合进行。此时若中断服务程序中包含上述(1) 中的操作,即每隔T4〈T。的时间发送喂狗信号,则上述操作1中不必每隔丁3<丁0 的时间发送喂狗信号,而是在检测到喂狗超时的时候CPLD15只发送一次喂狗 指令,接下来维持CPU12不被复位的喂狗指令在中断服务程序中已经包含。 若中断服务程序中仅包含上述(2)中的记录指令而不包含(l)中的喂狗指令, 则CPLD15仍需设置成每隔TfTo的时间发送喂狗信号。在中断服务程序中,CPU12仍有可能发生工作异常,此时CPLD15应当停 止检测CPU12是否每隔T4时间发送喂狗指令。可以在CPLD15中设置程序, 以判断在CPU12发生喂狗超时的情况下CPU12是否处于中断服务程序的进程 中。中断服务程序中CPU12保存收到最高优先级中断信号之前执行的任务的 信息,包括这些任务的名称、占用的内存地址段、生成的中间数据等。根据上述的方法,本发明实施例给出若干防止硬件看门狗的定时器溢出的 装置与系统。如图2所示,本发明实施例给出的一种防止硬件看门狗的定时器溢出的装 置,即图中的控制装置21,它包括图中的检测单元211和清零信号发送单元212。 CPU22通过总线24与装置21连接。检测单元211检测CPU22是否在设 定时间内未将硬件看门狗23的定时器清零即喂狗超时,当CPU22喂狗超时, 清零信号发送单元212向硬件看门狗23发送清零信号即喂狗,喂狗的间隔时 间应小于硬件看门狗23的定时器定时值以避免CPU22复位,人员可以就此研 究CPU22的工作状况。如图3所示,本发明实施例给出又一种防止硬件看门狗的定时器溢出的装 置,即图中的控制装置31,它与CPU32通过总线34相连,检测单元311检测 CPU32是否喂狗超时。当CPU32发生了喂狗超时,中断信号发送单元312向 CPU32发送最高优先级中断信号,此时中断响应装置321就会响应该最高优先 级中断信号,于是CPU32从当前执行的任务中跳出。如图4所示,本发明实施例给出 一种防止硬件看门狗的定时器溢出的系统, 它由图中的控制装置41、中断响应装置421和中断处理^t块422组成。控制装 置41包括检测单元411、中断信号发送单元412和清零信号发送单元413。检 测单元411检测CPU42是否喂狗超时,当CPU42发生喂狗超时,清零信号发 送单元413向硬件看门狗发送清零信号,中断信号发送单元412向CPU42发 送最高优先级中断信号,CPU42中的中断响应装置421响应最高优先级中断信 号,激活中断处理模块422。中断处理模块装置422包括清零指令发送单元4221 和记录单元4222,清零指令发送单元4221向控制装置41发送清零指令,控制 装置41收到清零指令后,清零信号发送单元413向硬件看门狗43发送清零信 号。记录单元4222记录CPU42在收到所述最高优先级外部中断信号之前所执 行任务的信息。根据本发明实施例给出的方法,图3和图4中还可以包含判断单元,分别 是图3中的313和图4中的414。若CPU发生喂狗超时,判断单元判断此时 CPU是否处于最高优先级中断服务的进程中,若是,则检测单元停止检测。此 时在图3的系统中,管理人员需检查中断处理程序。在图4的系统中,因为包 含有清零信号发送单元413,所以硬件看门狗43仍能接收到喂狗信号。由于在现有技术中,CPU工作异常之后即在硬件看门狗的作用下重启,工 作现场被破坏,从而无法确认CPU在哪个任务中发生异常。使用本发明实施 例给出的方法和系统,能够避免CPU工作异常之后的立即重启,而且通过相 关的控制装置自发喂狗的方式保护CPU工作现场,并使用最高优先级的中断 来插入相关的处理程序,使得CPU工作相关的信息得以保存,^更于分析其工作异常的原因。另外,硬件看门狗除了监视CPU的工作,也可以监视其他装置的工作。被监视的装置须能够接收外部复位信号和具备最高优先级外部中断功能,这样 就可以使用本发明实施例中的方法和系统。明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种防止硬件看门狗的定时器溢出的方法,其特征在于,包括控制装置检测硬件看门狗监视的装置在到达设定时间时是否未将硬件看门狗的定时器清零,若是,控制装置向硬件看门狗发送清零信号和/或向硬件看门狗监视的装置发送最高优先级外部中断信号。
2、 如权利要求1所述的方法,其特征在于,若所述^^件看门狗监^L的装 置在到达设定时间时未将所述定时器清零,则判断此时所述硬件看门狗监视的 装置是否处于最高优先级中断服务的进程中,若是,则停止检测所述硬件看门 狗监视的装置是否在设定时间内未将所述定时器清零,若否,则进行所述控制 装置向所述硬件看门狗发送清零信号和/或向所述硬件看门狗监视的装置发送 最高优先级外部中断信号的步骤。
3、 如权利要求1所述的方法,其特征在于,所述硬件看门狗监视的装置 收到所述最高优先级外部中断信号后进一步包括所述硬件看门狗监视的装置 进入中断服务程序,发送将所述定时器清零的指令和/或记录所述^t件看门狗监 视的装置在收到所述最高优先级外部中断信号之前所执行任务的信息的指令。
4、 一种防止硬件看门狗的定时器溢出的装置,其特征在于,包括检测单 元和清零信号发送单元,其中,所述检测单元,用于检测硬件看门狗监视的装置在到达设定时间时是否未 将所述定时器清零;所述清零信号发送单元,用于当硬件看门狗监视的装置在到达设定时间时 未将所述定时器清零时向硬件看门狗发送清零信号。
5、 一种防止硬件看门狗的定时器溢出的装置,其特征在于,包括4企测单 元和中断信号发送单元,其中,所述检测单元,用于检测硬件看门狗监视的装置在设定时间时是否未将所 述定时器清零,所述中断信号发送单元,用于当硬件看门狗监视的装置在到达设定时间时未将所述定时器清零时向硬件看门狗监视的装置发送最高优先级中断信号。
6、 如权利要求5所述的装置,其特征在于,还包括判断单元,用于若所述硬件看门狗监^L的装置在到达设定时间时未将所述定时器清零,判断此时所述硬件看门狗监视的装置是否处于最高优先级中断服务的进程中,若是,则所 述检测单元停止所述检测。
7、 一种防止硬件看门狗的定时器溢出的装置,其特征在于,包括检测单 元、清零信号发送单元和中断信号发送单元,其中,所述检测单元,用于检测硬件看门狗监视的装置在到达设定时间时是否未 将所述定时器清零,所述清零信号发送单元,用于当硬件看门狗监视的装置在到达设定时间时 未将所述定时器清零时向硬件看门狗发送清零信号,所述中断信号发送单元,用于向硬件看门狗监视的装置发送最高优先级中 断信号。
8、 如权利要求7所述的装置,其特征在于,还包括判断单元,用于若所 述硬件看门狗监^L的装置在到达设定时间时未将所述定时器清零,判断此时所 述硬件看门狗监视的装置是否处于最高优先级中断服务的进程中,若是,则所 述检测单元停止所述检测。
9、 一种防止硬件看门狗的定时器溢出的系统,其特征在于,包括控制装 置、中断响应装置和中断处理模块,其中,所述控制装置包括;险测单元、清零信号发送单元、中断信号发送单元和判 断单元,其中,所述检测单元,用于检测硬件看门狗监视的装置在到达设定时间时是否将 所述定时器清零,所述清零信号发送单元,用于当硬件看门狗监视的装置在到达设定时间时 未将所述定时器清零时向硬件看门狗发送清零信号,所述中断信号发送单元,用于向硬件看门狗监视的装置发送最高优先级中断信号,所述判断单元,用于若所述硬件看门狗监视的装置在到达设定时间时未将 所述定时器清零,判断此时所述硬件看门狗监视的装置是否处于最高优先级中 断服务的进程中,若是,则所述检测单元停止所述检测;所述中断响应装置,用于接收最高优先级中断信号;所述中断处理模块,用于当所述中断响应装置收到最高优先级中断信号时 执行中断服务程序。
10、如权利要求9所述的系统,其特征在于,所述中断处理模块包括清零 指令发送单元和记录单元,其中,所述清零指令发送单元,用于向所述控制装置发送清零指令,所述控制装 置收到清零指令后,所述清零信号发送单元向所述硬件看门狗发送清零信号;所述记录单元,用于记录所述监视定时器监视的装置在收到所述最高优先 级外部中断信号之前所执行任务的信息。
全文摘要
本发明公开一种防止喂狗超时的方法、装置与系统,控制装置检测硬件看门狗监视的装置是否在设定时间内未将硬件看门狗的定时器清零,若是,控制装置向硬件看门狗发送清零信号和/或向硬件看门狗监视的装置发送最高优先级外部中断信号。使用本发明实施例给出的方法和系统能够保护硬件看门狗监视的装置例如CPU的工作现场,并使其工作相关的信息得以保存,便于分析其工作异常的原因。
文档编号G06F11/00GK101221518SQ20081000665
公开日2008年7月16日 申请日期2008年1月29日 优先权日2008年1月29日
发明者林建加 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1