首页
搜索
历史搜索
搜索发现
首页 > 新闻中心 > 技术应用

看门狗程序是什么?

2023-01-30 09:47:01| 来源:聚英电子| | 0

  在购买路由器等物联网设备时,都看到看门狗这项功能,那么,看门狗是真的狗吗?答案肯定不是,看门狗机制是什么呢?聚英电子来给您解答。

看门狗机制是什么呢?

  看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,是MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。

  在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。

  工作原理:

  1、看门狗是一个用独立时钟源提供的脉冲进行累加计数的计数器,无需任何外部元件;

  2、独立的RC时钟信号源是指RC振荡器与OSC1引脚的外接RC振荡器,OSC1和OSC2外接晶体振荡器或陶瓷谐振器构成的单片机系统时钟是分离的,这就意味着,即使单片机进入系统时钟停振的睡眠状态,监视计时器仍然能够运行;

看门狗的原理

  3、在单片机执行程序期间,一次看门狗定时器超时溢出,将使单片机产生复位操作,如果单片机处于睡眠状态,一次看门狗定时器超时溢出将使单片机被唤醒,恢复正常运行状态,并且继续执行在进入睡眠之前被搁置的程序;

  4、每次看门狗定时器超时溢出,都会使得状态条件寄存器中的TO位被清0,以记录曾经发生的这次看门狗溢出事件,供作程序查询判断用;

  5、当监视计时器等于O时,看门狗定时器将被永久禁止,当监视计时器等于1时,看门狗定时器将被永久启用。

  硬件看门狗的主体是个定时电路,并由被监控CPU提供周期性“喂狗”信号,对定时器清零(俗称“清狗”)。CPU正常作时,由于能定时“清狗”,看门狗内的定时器不会溢出。当CPU出现故障,则不能继续提供“清狗”信号,使得看门狗内定时器不断累加溢出,从触发个复位信号对CPU进复位,使CPU重新运作。

  一般来说,看门狗也叫“看门狗定时器”!为什么叫定时器呢?因为我们也可以把它理解成定时器。在使用的时候可以给他一个值,让他在程序启动后启动后开始定时。常见有以下两种或情况:

  1、系统复位:在看门狗函数中设置一个函数,每间隔一段时间发送给CPU一次复位信号,CPU进行复位操作。

  2、如果系统正常运行不想让系统产生复位:

  程序正常启动,定时器开始,初始值减小,判断初始值是否为0,如果为0、给CPU发送复位信号,我们可以重置看门狗,简称喂狗,让其继续检测等待下一次投喂。

  反之,计数器重置重新计数,这个过程称为清狗操作。

  当没有东西可以喂狗时,CPU就会收到复位信号,系统复位重新运行。

  在系统运行以后,定时器就会被启动,如果到时间后还不去清狗,计时器就会溢出从未引起看门狗中断,造成系统复位。因此我们在使用过程中要及时去清狗!


联系销售
销售王经理微信 销售王经理
微信公众号 微信公众号
服务热线
400-6688-400