一种看门狗电路制造技术

技术编号:38194852 阅读:10 留言:0更新日期:2023-07-20 21:15
本申请涉及电力电子技术领域的一种看门狗电路,所述看门狗电路包括:分频模块、向上计数器、看门狗复位门限寄存器、看门狗状态寄存器、看门狗控制寄存器以及看门狗操作寄存器,看门狗验证程序是否跑飞除了常规的喂狗总时间超时判断外,增加了喂狗种类标志位,喂狗的ID以及标准间隔时间。本看门狗电路检测到更多情况的程序执行异常,因为喂狗操作时还需要检测每个喂狗的间隔时间和喂狗的顺序逻辑,当程序没有跑飞到出不来的情况,只是跑飞到错误的地方执行了程序时,也有很大可能通过看门狗复位的顺序检测到异常从而触发系统复位,更全面地保障了系统的逻辑正确,避免错误的程序逻辑造成的危害。造成的危害。造成的危害。

【技术实现步骤摘要】
一种看门狗电路


[0001]本申请涉及电力电子
,特别是涉及一种看门狗电路。

技术介绍

[0002]在单片机运行中,可能会遇到电磁场等恶劣环境干扰失控,造成程序进入死循环,程序跑飞(死机)等意外故障,程序的正常运行被打断,系统无法继续运行,陷入停滞状态,发生不可预料的后果。此时可通过按下复位按钮,强制系统复位。但更理想的实现是通过一套监控系统,实时监视MCU运行状态,在运行异常时,使系统摆脱故障状态。看门狗(Watchdog)技术能够解决这一问题。
[0003]看门狗定时器(Watch Dog Timer, WDT)是MCU的一个组成部分,是一个计数器,其基本原理是先给计数器设定一个数值(溢出值),程序开始运行后,看门狗定时器开始计数,程序正常运行时,会周期发出指令将计数器置零(喂狗),重新开始计数,而如果长时间没有清零,计数器增加到设定值(定时器溢出),计数器会认为程序出现了异常,强制系统复位。
[0004]目前MCU中的看门狗模块只要有指令将计数器置零(喂狗)就不会触发系统复位,这样假如程序受到干扰从一个地方错误地跳到一段含有喂狗指令的程序段运行就不会检测到这样的错误,也不会触发看门狗复位, 但是这样程序逻辑就错误了,在某些情况下比如医疗系统里面继续运行可能会导致严重的后果。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种看门狗电路。
[0006]一种看门狗电路,所述看门狗电路包括:分频模块,用于根据预设分频值对系统时钟信号进行分频,输出分频后的时钟信号至向上计数器。
[0007]向上计数器,用于对分频时钟信号进行计数。
[0008]看门狗复位门限寄存器,用于存储看门狗的复位计数阈值。
[0009]看门狗状态寄存器,用于记录每一轮不同喂狗ID是否在本轮中喂过狗;喂狗ID是根据预设ID设置规则进行设定的。
[0010]看门狗控制寄存器,用于存储控制看门狗模块的设置值。
[0011]喂狗操作寄存器,用于存储当前喂狗操作的喂狗种类标志位、喂狗ID以及喂狗操作的时间间隔。
[0012]在喂狗操作时喂狗程序将喂狗种类标志位、喂狗ID和喂狗操作时间间隔写入所述喂狗操作寄存器,根据所述喂狗操作寄存器的值设置所述看门狗状态寄存器相应ID状态位的值,并更新所述看门狗控制寄存器;根据所述看门狗状态寄存器和所述看门狗控制寄存器的值、所述复位计数阈值以及所述向上计数器的计数值,判断程序执行是否异常,如果异常则触发看门狗系统复位信号。
[0013]在其中一个实施例中,所述分频模块包括预分频计数器和预分频寄存器;
所述预分频寄存器,用于存储预设分频值。
[0014]所述预分频计数器,用于对所述系统时钟信号进行减一计数,当计数到零时将预分频寄存器的值导入预分频计数器,并且同时反转输出给向上计数器的时钟信号电平。
[0015]在其中一个实施例中,所述看门狗状态寄存器是32位寄存器,用于存储每个喂狗ID在本次喂狗周期内是否有过喂狗操作,值为0的位表示与该位对应的喂狗ID没有执行过喂狗操作,值为1的位表示与该位对应的喂狗ID至少已经执行过一次喂狗操作。
[0016]在其中一个实施例中,所述看门狗控制寄存器是32位寄存器,寄存器的0至4位存储最近的预定顺序的喂狗ID,寄存器的5至9位存储最近的任意顺序的喂狗ID,寄存器的10至14位存储最大喂狗ID,寄存器的15至31位保留。
[0017]在其中一个实施例中,在喂狗操作时喂狗程序将喂狗种类标志位、喂狗ID和喂狗操作时间间隔写入所述喂狗操作寄存器,根据所述喂狗操作寄存器的值设置所述看门狗状态寄存器相应ID状态位的值,并更新所述看门狗控制寄存器,包括:在喂狗操作时喂狗程序段将喂狗种类标志位、喂狗ID以及喂狗操作时间间隔写入所述喂狗操作寄存器。
[0018]如果所述看门狗状态寄存器与所述喂狗操作寄存器中喂狗ID对应的位为0,则将所述看门狗状态寄存器的相应位置为1,否则该位的值不变。
[0019]如果所述喂狗操作寄存器中喂狗种类标志位为任意顺序喂狗操作,则将所述喂狗操作寄存器中喂狗ID存储在所述看门狗控制寄存器的5至9位;如果所述喂狗操作寄存器中喂狗种类标志位为预定顺序喂狗操作,则将所述喂狗操作寄存器中喂狗ID存储在所述看门狗控制寄存器的0至4位。
[0020]如果所述喂狗操作寄存器中喂狗ID大于喂狗控制寄存器中存储的最大喂狗ID号,则将所述喂狗控制寄存器中存储的最大喂狗ID号设置为所述喂狗操作寄存器中喂狗ID。
[0021]在其中一个实施例中,根据所述看门狗状态寄存器和所述看门狗控制寄存器的值、所述复位计数阈值以及所述向上计数器的计数值,判断程序执行是否异常,如果异常则触发看门狗系统复位信号,包括:如果所述看门狗状态寄存器中与所述喂狗操作寄存器中喂狗ID对应的状态位为1,并且ID号小于所述喂狗操作寄存器中喂狗ID的位有未置位的,则触发看门狗系统复位信号。
[0022]如果所述喂狗操作寄存器中喂狗ID是预定顺序的喂狗操作,当所述看门狗控制寄存器存储的预定顺序的喂狗ID不是比所述喂狗操作寄存器中喂狗ID小1的喂狗ID,则触发看门狗系统复位信号。
[0023]如果所述喂狗操作寄存器中喂狗ID是第一次喂狗操作,当所述向上计数器累计时间和所述喂狗操作寄存器中存储的喂狗时间间隔的误差大于预设值时,则触发看门狗系统复位信号。
[0024]在其中一个实施例中,所述预设ID设置规则为:喂狗ID从0开始逐个加一变大到设定的最大的ID,喂狗ID根据喂狗间隔时间从小到大排列,当间隔时间一样时按照程序执行时的顺序排列。
[0025]上述一种看门狗电路,所述看门狗电路包括:分频模块、向上计数器、看门狗复位门限寄存器、看门狗状态寄存器、看门狗控制寄存器以及看门狗操作寄存器,看门狗验证程
序是否跑飞除了常规的喂狗总时间超时判断外,增加了喂狗种类标志位,喂狗的ID以及标准间隔时间。本看门狗电路检测到更多种类的程序执行异常,因为喂狗操作时还需要检测每个喂狗的间隔时间和喂狗的顺序逻辑,当程序没有跑飞到出不来的情况,只是跑飞到错误的地方执行了程序时,也有很大可能通过看门狗复位的顺序检测到异常从而触发系统复位,更全面地保障了系统的逻辑正确,避免错误的程序逻辑造成的危害。
附图说明
[0026]图1为一个实施例中看门狗电路结构框图;图2为另一个实施例中看门狗状态寄存器;图3为另一个实施例中看门狗控制寄存器;图4为另一个实施例中喂狗操作寄存器。
具体实施方式
[0027]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0028]在一个实施例中,如图1所示,提供了一种看门狗电路,看门狗电路包括:分频模块10、向上计数器20、看门狗复位门限寄存器30、看门狗状态寄存器40、看门狗控制寄存器50以及本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种看门狗电路,其特征在于,所述看门狗电路包括:分频模块,用于根据预设分频值对系统时钟信号进行分频,输出分频后的时钟信号至向上计数器;向上计数器,用于对分频后的时钟信号进行计数;看门狗复位门限寄存器,用于存储看门狗的复位计数阈值;看门狗状态寄存器,用于记录每一轮不同喂狗ID是否在本轮中喂过狗;喂狗ID是根据预设ID设置规则进行设定的;看门狗控制寄存器,用于存储控制看门狗模块的设置值;喂狗操作寄存器,用于存储当前喂狗操作的喂狗种类标志位、喂狗ID以及喂狗操作的时间间隔;在喂狗操作时喂狗程序将喂狗种类标志位、喂狗ID和喂狗操作时间间隔写入所述喂狗操作寄存器,根据所述喂狗操作寄存器的值设置所述看门狗状态寄存器相应ID状态位的值,并更新所述看门狗控制寄存器;根据所述看门狗状态寄存器和所述看门狗控制寄存器的值、所述复位计数阈值以及所述向上计数器的计数值,判断程序执行是否异常,如果异常则触发看门狗系统复位信号。2.根据权利要求1所述的看门狗电路,其特征在于,所述分频模块包括预分频计数器和预分频寄存器;所述预分频寄存器,用于存储预设分频值;所述预分频计数器,用于对所述系统时钟信号进行减一计数,当计数到零时将预分频寄存器的值导入预分频计数器,并且同时反转输出给向上计数器的时钟信号电平。3.根据权利要求1所述的看门狗电路,其特征在于,所述看门狗状态寄存器是32位寄存器,用于存储每个喂狗ID在本次喂狗周期内是否有过喂狗操作,值为0的位表示与该位对应的喂狗ID没有执行过喂狗操作,值为1的位表示与该位对应的喂狗ID至少已经执行过一次喂狗操作。4.根据权利要求1所述的看门狗电路,其特征在于,所述看门狗控制寄存器是32位寄存器,寄存器的0至4位存储最近的预定顺序的喂狗ID,寄存器的5至9位存储最近的任意顺序的喂狗ID,寄存器的10至14位存储最大喂狗ID,寄存器的15至31位保留。5.根据权利要求3所述的看门狗电路,其特征在于,在喂狗操作时喂狗程序将喂狗种类标志位、喂狗ID和喂狗操作时...

【专利技术属性】
技术研发人员:丁双喜方云龙曹华杨文昊
申请(专利权)人:苏州至盛半导体科技有限公司
类型:发明
国别省市:

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

1