看门狗电路的喂狗方法、装置和单板.pdf

上传人:000****221 文档编号:972818 上传时间:2018-03-22 格式:PDF 页数:12 大小:689.88KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910105636.1

申请日:

2009.02.25

公开号:

CN101510165A

公开日:

2009.08.19

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F11/00

主分类号:

G06F11/00

申请人:

华为技术有限公司

发明人:

雷永锋; 刘 兵

地址:

518129广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种看门狗电路的喂狗方法、装置和单板。所述方法包括,根据中央处理器的切换指令从软件喂狗方式切换为硬件喂狗方式进行喂狗操作;接收所述中央处理器发送的定时器超时条件;如果所述定时器超时,从硬件喂狗方式切换为软件喂狗方式进行喂狗操作。本发明实施例提供的看门狗电路的喂狗方法、装置和单板,可以通过灵活设置超时条件的值,改变中央处理器执行喂狗操作的频度,解决了中央处理器执行复杂任务时无法及时执行喂狗操作,导致看门狗电路复位的问题,因而本发明实施例提供的技术方案,既具备了硬件看门狗的可靠性,又具备了软件看门狗的灵活性。

权利要求书

1、  一种看门狗电路的喂狗方法,其特征在于,包括:
根据中央处理器的切换指令从软件喂狗方式切换为硬件喂狗方式进行喂狗操作;
接收所述中央处理器发送的定时器超时条件;
如果所述定时器超时,从硬件喂狗方式切换为软件喂狗方式进行喂狗操作。

2、
  如权利要求1所述的方法,其特征在于,接收所述中央处理器发送的定时器超时条件,包括:
接收应用程序加载成功后通过所述中央处理器发送的定时器时间值。

3、
  如权利要求1所述的方法,其特征在于,所述定时器超时包括:
所述定时器从所述中央处理器发送的时间值开始倒计时,当所述定时器的时间值倒计时到0时,则所述定时器超时;或者
如果所述定时器的时间值被所述中央处理器设为0,则所述定时器超时。

4、
  如权利要求1所述的方法,其特征在于,所述硬件喂狗方式执行喂狗操作,包括:
可编程逻辑器件对系统时钟分频得到的脉冲信号进行喂狗操作。

5、
  如权利要求1所述的方法,其特征在于,所述软件喂狗方式进行喂狗操作,包括:
接收所述中央处理器发送的喂狗操作指令,根据所述喂狗操作指令进行喂狗操作。

6、
  一种看门狗电路的喂狗装置,其特征在于,包括:
软件喂狗模块,用于接收中央处理器发送的喂狗操作指令,并根据所述喂狗操作指令执行喂狗操作;
硬件喂狗模块,用于按照预设的频率执行喂狗操作;
第一切换模块,用于根据所述中央处理器的切换指令,由所述软件喂狗模块切换为所述硬件喂狗模块进行喂狗操作;
定时器模块,用于接收中央处理器发送的定时器超时条件,如果所述定时器超时,指示第二切换模块进行切换;
第二切换模块,用于根据所述定时器模块的指示从所述硬件喂狗模块切换为所述软件喂狗模块进行喂狗操作。

7、
  如权利要求6所述的喂狗装置,其特征在于,所述硬件喂狗模块包括:
时钟子模块,用于对系统时钟分频得到脉冲信号;
硬件喂狗子模块,用于根据所述时钟子模块得到的脉冲信号进行喂狗操作。

8、
  如权利要求6所述的喂狗装置,其特征在于,所述软件喂狗模块包括:
喂狗指令接收子模块,用于接收所述中央处理器发送的喂狗操作指令;
软件喂狗子模块,用于依据所述喂狗指令接收模块接收的喂狗操作指令进行喂狗操作。

9、
  一种单板,其特征在于包括中央处理器、看门狗电路和如权利要求6至8中任意一项所述的喂狗装置,所述看门狗电路用于接受所述喂狗装置的喂狗操作。

说明书

看门狗电路的喂狗方法、装置和单板
技术领域
本发明涉及通信领域,特别涉及一种看门狗电路的喂狗方法、装置和单板。
背景技术
在由中央处理器(Central Compute Unit,中央处理器)构成的计算机或者单板中,系统在运行过程中,中央处理器有时会受到一些干扰如来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,导致程序的正常运行被打断,引起系统陷入停滞状态,带来一些不可预料的后果。因此,为了能够对中央处理器的运行状态进行实时监测,使系统的运行处于可控状态,一种专门用于监测中央处理器在程序运行过程中的状态的电路便应运而生,用来监测中央处理器运行状态的电路称之为看门狗电路。
看门狗电路和中央处理器的一个I/O引脚相连,中央处理器在执行应用程序的代码的过程中,会不断执行一个喂狗操作的指令,通过该I/O引脚定时向看门狗电路的一个喂狗输入引脚送入喂狗信号,这一喂狗操作指令包括在中央处理器所执行的应用程序的代码之中,一旦中央处理器由于干扰而陷入某一代码段,进入死循环状态时,喂狗操作指令便不能被执行,在这种情况下,看门狗电路会得不到中央处理器送来的喂狗信号,便在它和中央处理器的复位引脚相连的引脚上送出一个复位信号,使中央处理器发生复位,即应用程序从程序存储器的起始位置重新开始执行,这样便实现了中央处理器的自动复位。
看门狗又分为硬件看门狗和软件看门狗,硬件看门狗是利用一个独立的定时器电路,应用程序在执行过程中,每隔一定的时间需要通过中央处理器对定时器进行清零,使看门狗电路不溢出。因此程序在正常工作时,可以及时对定时器清零,保证看门狗电路不溢出;如果程序出现故障,就不能及时对定时器清零,这将导致看门狗电路溢出,产生复位信号,使中央处理器复位。
至于软件看门狗,则以中央处理器的内部时钟取代采用硬件实现的定时器来定期执行喂狗操作,简化硬件电路设计。
发明人在实现本发明的过程中发现,软件看门狗存在如下缺点,当中央处理器执行一些复杂任务时,会占用大量的中央处理器时间,造成中央处理器不能及时执行喂狗操作造成看门狗电路的溢出,导致中央处理器的复位。
发明内容
本发明实施例提供了一种看门狗电路的喂狗方法、装置和单板,以解决中央处理器执行复杂任务时不能执行喂狗操作的问题。
本发明实施例提供了一种看门狗电路的喂狗方法,包括:
根据中央处理器的切换指令从软件喂狗方式切换为硬件喂狗方式进行喂狗操作;
接收所述中央处理器发送的定时器超时条件;
如果所述定时器超时,从硬件喂狗方式切换为软件喂狗方式进行喂狗操作。
本发明实施例还提供了一种看门狗电路的喂狗装置,包括:
软件喂狗模块,用于接收中央处理器发送的喂狗操作指令,并根据所述喂狗操作指令执行喂狗操作;
硬件喂狗模块,用于按照预设的频率执行喂狗操作;
第一切换模块,用于根据所述中央处理器的切换指令,由所述软件喂狗模块切换为所述硬件喂狗模块进行喂狗操作;
定时器模块,用于接收中央处理器发送的定时器超时条件,如果所述定时器超时,指示第二切换模块进行切换;
第二切换模块,用于根据所述定时器模块的指示从所述硬件喂狗模块切换为所述软件喂狗模块进行喂狗操作。
一种单板,包括包括中央处理器、看门狗电路和上述的看门狗电路的喂狗装置,所述看门狗电路用于接受所述喂狗装置的喂狗操作。
本发明实施例提供的技术方案,中央处理器在程序运行过程中,可以根据需要在硬件喂狗方式和软件喂狗方式之间进行切换,避免中央处理器无法及时执行喂狗操作导致看门狗电路复位的问题。
附图说明
图1为本发明实施例一提供的看门狗电路的喂狗方法的流程示意图;
图2为本发明实施例一的一种应用场景的示意图;
图3为本发明实施例二提供的看门狗电路的喂狗装置的结构示意图;
图4为本发明实施例三提供的单板的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的几个实施例作进一步地的详细描述。
实施例一
图1为本发明实施例一提供的看门狗电路的喂狗方法的流程示意图,如图1所示,一种看门狗电路的喂狗方法,包括:
步骤101,根据中央处理器的切换指令从软件喂狗方式切换为硬件喂狗方式进行喂狗操作。
在应用程序的加载过程中,中央处理器无法执行喂狗操作,使用硬件喂狗方式执行喂狗操作。只有应用程序加载成功后,使用软件喂狗方式执行喂狗操作。
在应用程序正常运行过程中,使用软件喂狗方式执行喂狗操作;而当中央处理器需要执行一些复杂的操作,或者是一些不可中断的任务时,便需要由软件喂狗方式切换为硬件喂狗方式进行喂狗操作,在中央处理器执行复杂任务的过程中,由硬件喂狗模块执行喂狗操作。
硬件喂狗方式,是指由一个独立于中央处理器的器件,按照一定的频率对看门狗电路执行喂狗操作。例如,可编程逻辑器件对系统时钟分频,将分频得到的脉冲信号输入到看门狗电路的喂狗输入引脚,进行喂狗操作。
软件喂狗方式,是指接收中央处理发送喂狗操作指令,根据中央处理器的喂狗操作指令执行喂狗操作。
在一种应用场景下,看门狗电路和中央处理器可通过图2所示的方法连接,中央处理器201通过可编程逻辑器件202和看门狗电路203连接。在应用程序正常运行过程中,执行软件方式喂狗,即中央处理器201每隔一段时间向可编程逻辑发送喂狗操作指令,可编程逻辑器件202接收到该喂狗操作指令后,向看门狗电路203的喂狗输入引脚输入喂狗脉冲,执行喂狗操作。
当需要由软件喂狗方式切换到硬件喂狗方式进行喂狗操作时,例如,中央处理器需要执行一些复杂任务时,中央处理器201向可编程逻辑器件202发送切换指令,例如向可编程逻辑器件202的一个寄存器写入0或者1,可编程逻辑202检测到该寄存器的值发生变化,可编程逻辑开始切换为硬件方式喂狗,如可编程逻辑器件202开始获取系统时钟,对系统时钟分频得到一定频率的脉冲信号,将该脉冲信号透传到看门狗电路203的喂狗输入引脚,执行喂狗操作。
步骤102,接收所述中央处理器发送的定时器超时条件。
在切换为使用硬件喂狗方式之后,或者在切换为硬件喂狗方式之前,中央处理器需要先设置超时条件。
例如,超时条件可为一时间值,当定时器的计时超过该时间值,即为超时。例如超时条件可以取10秒,如果定时器从0开始计时到第10秒时,即为超时。10秒之内都不超时。
需要说明的是,这里的超时条件可取不同的值,应用程序在运行过程中,可以依据实际需要,通过中央处理器设置不同的超时条件。
在一种应用场景下,如图2所示,可以在可编程逻辑器件202内设置一个倒计时寄存器作为定时器,用来接收中央处理器发送的时间值,当中央处理器需要执行复杂任务时,将该倒计时寄存器的值设置为10秒,该倒计时计时器从第10秒开始倒计时,倒计时到第0秒时,即为超时。
步骤103,如果所述定时器超时,从硬件喂狗方式切换为软件喂狗方式进行喂狗操作。
当定时器超时之后,从硬件喂狗方式切换为软件喂狗方式进行喂狗操作。在一种应用场景下,如图2所示,可以在可编程逻辑器件202内设置一个倒计时寄存器作为定时器,该倒计时寄存器接收到中央处理器201发送的时间值之后,即从该时间值开始倒计时,计时到0,定时器超时,可编程逻辑202停止使用硬件喂狗的方式执行喂狗操作,转而切换为软件喂狗的方式执行喂狗操作。
或者,也可以由中央处理器201,直接将该倒计时寄存器的值设置为0,使该倒计时寄存器超时,则可编程逻辑202停止使用硬件喂狗的方式执行喂狗操作,转而切换为软件喂狗的方式执行喂狗操作。
或者,当倒计数寄存器的值被清0,可编程逻辑器件202将会停止依据分频之后的频率对看门狗电路203执行硬件喂狗操作;开始切换为接收中央处理器201发送的喂狗操作指令,依据中央处理器201的喂狗操作指令执行软件喂狗操作。例如,切换为中央处理器201按照内部时钟的频率,向可编程逻辑器件202的另一寄存器写入0或1,当可编程逻辑器件202检测到该寄存器的值发生变化时,可编程逻辑器件202将该寄存器的值透传到看门狗电路203的喂狗输入引脚,实现喂狗操作。如果可编程逻辑器件202未能接收到中央处理器201发送的喂狗操作指令,这种情况下可编程逻辑器件202可以不再执行喂狗操作,看门狗电路203得不到喂狗操作指令便会溢出,执行复位操作,使中央处理器201复位。
需要说明的是,在软件喂狗方式下,中央处理器201发送喂狗操作指令,可编程逻辑器件202可以将中央处理器201的喂狗操作指令透传到看门狗电路以执行喂狗操作。
在使用软件喂狗方式执行喂狗操作之后,如果中央处理器201还是比较繁忙,可以回到步骤101,重新执行。
可编程逻辑器件202可以使用可擦写编程逻辑(Erasable Programmable LogicDevice,EPLD)器件、复杂可编程逻辑(Complex Programmable Logic Device,CPLD)器件、或者是现场可编程门阵列(Field-Programmable Gate Array,FPGA)实现。
由本发明实施例可以看出,本发明实施例提供的方法可由软件喂狗方式切换为使用硬件喂狗方式执行喂狗操作,在定时器超时之前,使用硬件喂狗方式进行喂狗操作,无需占用中央处理器时间,在定时器超时之后可以由硬件喂狗方式再切换为软件喂狗方式执行喂狗操作,从而降低了中央处理器执行软件喂狗操作的频率,避免了中央处理器因执行复杂任务而无法及时执行喂狗操作的问题。进一步的,超时条件的值可以由中央处理器根据需要设置,解决了现有技术中看门狗电路不能兼顾灵活性和可靠性的问题。
实施例二
如图3所示,图3为本发明实施例二提供的结构示意图,一种看门狗电路的喂狗装置,包括:
硬件喂狗模块301,用于按照预设的频率执行喂狗操作。
例如,硬件喂狗模块201可以获取系统时钟,然后对系统时钟分频得到一定频率的脉冲信号,利用该脉冲信号看门狗电路执行喂狗操作。
在一些应用场景下,可以使用EPLD的可编程功能实现对系统时钟的分频,并以该频率作为时钟信号执行喂狗操作。如果需要改变喂狗操作的时钟频率,只需要对EPLD进行软件升级,而无需硬件改动,改进了硬件看门狗缺乏灵活性的缺陷,解决了看门狗电路不能兼顾灵活性和可靠性要求的问题。
软件喂狗模块302,用于接收中央处理器发送的喂狗操作指令,并根据所述喂狗操作指令执行喂狗操作。
其实现方式,例如,可以在EPLD的内部设一个寄存器,中央处理器按照其内部时钟的频率对该寄存器写0或者写1,检测到寄存器的值发生变化后,EPLD根据寄存器的值产生脉冲信号,将脉冲信号输入到看门狗电路执行喂狗操作。
第一切换模块303,用于当接收到中央处理器发送的切换指令后,停止使用软件喂狗模块302执行喂狗操作,切换为使用硬件喂狗模块301执行喂狗操作。
定时器模块304,接收中央处理器发送的定时器超时条件,定时器模块304开始判断是否超时,如果超时,通过第二切换模块305由硬件喂狗模块301切换为使用软件喂狗模块302执行喂狗操作。
第二切换模块305,根据定时器模块304的指示,将硬件喂狗模块301切换为使用软件喂狗模块302进行喂狗操作。
例如,中央处理器为定时器模块设定一个时间值,以10秒为例,在10秒之内,使用硬件喂狗模块301执行喂狗操作,当10秒过去之后,计时器超时,触发第二切换模块305,第二切换模块305由硬件喂狗模块301进行喂狗切换为使用软件喂狗模块302执行喂狗操作。
需要说明的是,超时条件的值可动态调整,应用程序在运行过程中,可以依据实际需要设置不同的值。
由本发明实施例可以看出,中央处理器在执行复杂任务之前,本发明实施例所提供的喂狗装置,由软件喂狗模块302切换为使用硬件喂狗模块301执行喂狗操作,并接收中央处理器发送的超时条件;在超时之前,本发明实施例所提供的喂狗装置使用硬件喂狗模块301执行喂狗操作,而无需中央处理器执行喂狗操作;而如果超时之后,喂狗装置切换为使用软件喂狗模块302执行喂狗操作。因而,本发明实施例提供的喂狗装置,可以降低中央处理器执行喂狗操作的频度和占用的中央处理器时间,可以避免中央处理器执行一些复杂操作的时候,无法及时对看门狗电路执行喂狗操作导致看门狗电路复位的问题;进一步的,切换条件可以动态调整,解决了看门狗电路不能兼顾灵活性和可靠性的问题。
实施例三
如图4所示,图4为本发明提供实施例三的一种单板的结构示意图,包括:
中央处理器401、看门狗电路402和喂狗装置403;看门狗电路402用于接收喂狗装置403的喂狗操作。
喂狗装置403用于对看门狗电路402执行喂狗操作,喂狗装置403可进一步包括:
第一切换模块4031,用于接收所述中央处理器401发送的切换指令后,停止使用软件喂狗模块4034对看门狗电路402执行喂狗操作,切换为使用硬件喂狗模块4033对看门狗电路402执行喂狗操作;
定时器模块4032,接收中央处理器发送的超时条件,如果定时器模块4032超时,通知第二切换模块4035,第二切换模块4035停止使用硬件喂狗模块4033对看门狗电路402执行喂狗操作,而切换为使用软件喂狗模块4034对看门狗电路402执行喂狗操作。
具体实施方式,例如,以喂狗装置403的一个倒计数寄存器作为定时器,中央处理器401向喂狗装置403的倒计数寄存器内赋值,该倒计数寄存器的值将会逐渐递减,在倒计数寄存器的值清0之前,使用硬件喂狗模块4033执行喂狗操作,当检测到该倒计数寄存器的值被清0之后,产生脉冲信号作为切换事件,触发由硬件喂狗模块4033进行喂狗向软件喂狗模块4034进行喂狗的切换,切换完成后使用软件喂狗模块4034执行喂狗操作。
软件喂狗模块4034,用于依据中央处理器301发送的喂狗操作指令对看门狗电路302执行喂狗操作。
软件喂狗模块4034可进一步包括喂狗指令接收模块,用于接收中央处理器401按照一定的频率发送的喂狗操作指令;软件喂狗子模块,用于依据喂狗指令接收模块接收的喂狗操作指令对看门狗电路402执行喂狗操作。
具体实现方式,例如,可以设置一个寄存器,中央处理器401按照其内部时钟的频率改变该寄存器的值,软件喂狗模块4034检测到该寄存器的值发生变化时,将该寄存器的值透传到喂狗输出引脚以执行喂狗操作,该输出引脚与看门狗电路402的喂狗输入引脚相连接。
硬件喂狗模块4033,用于依据一定的频率对所述看门狗电路402执行喂狗操作。
硬件喂狗模块4033可以进一步包括时钟子模块,用于获取系统时钟,并对所述系统时钟分频得到一个频率;硬件喂狗子模块,用于依据所述时钟子模块得到的频率对所述看门狗电路403执行喂狗操作。时钟子模块可以使用可编程逻辑器件的可编程功能实现。
第二切换模块4035,用于接收定时器模块4032的指示,从硬件喂狗模块4033切换为软件喂狗模块4034进行喂狗操作。
由本发明实施例可以看出,在定时器超时之前,本发明实施例提供的单板上的喂狗装置,切换为使用硬件喂狗方式执行喂狗操作,当超时之后,喂狗装置切换为使用软件喂狗方式执行喂狗操作。因而,本发明实施例提供的单板,可以降低中央处理器执行喂狗操作的频度和占用的中央处理器时间,可以避免中央处理器执行一些复杂操作的时候,因无法及时对看门狗电路执行喂狗操作导致看门狗电路复位的问题;进一步的,切换条件可以动态调整,解决了看门狗电路不能兼顾灵活性和可靠性的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

看门狗电路的喂狗方法、装置和单板.pdf_第1页
第1页 / 共12页
看门狗电路的喂狗方法、装置和单板.pdf_第2页
第2页 / 共12页
看门狗电路的喂狗方法、装置和单板.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《看门狗电路的喂狗方法、装置和单板.pdf》由会员分享,可在线阅读,更多相关《看门狗电路的喂狗方法、装置和单板.pdf(12页珍藏版)》请在专利查询网上搜索。

本发明实施例公开了一种看门狗电路的喂狗方法、装置和单板。所述方法包括,根据中央处理器的切换指令从软件喂狗方式切换为硬件喂狗方式进行喂狗操作;接收所述中央处理器发送的定时器超时条件;如果所述定时器超时,从硬件喂狗方式切换为软件喂狗方式进行喂狗操作。本发明实施例提供的看门狗电路的喂狗方法、装置和单板,可以通过灵活设置超时条件的值,改变中央处理器执行喂狗操作的频度,解决了中央处理器执行复杂任务时无法及时。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1