看门狗watchdog timer原理

看门狗watchdog timer原理

🗨

看门狗,又叫watchdog timer,从本质上来说就是一个定时器电路,一般有一个输入和一个输出,其中的输入叫做喂狗,输出一般连接到另外一个部分的复位端,另外一个部分就是所要处理的部分,暂且称之为MCU。

在MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给看门狗电路清零,如果在超过规定的时间不喂狗,WDT定时超时,就会回给一个复位信号到达MCU,使MCU复位,防止MCU死机。总的来说,看门狗电路的作用就是防止程序发生死循环,或者说程序跑飞。

WDT的基本工作原理如下:在整个系统运行以后就启动了看门狗的计数器,此时看门狗就开始自动计时,如果到达了一定的时间还不去给它清零,看门狗计数器就会溢出从而引起看门狗中断,造成系统的复位。

硬件看门狗就是利用了一个定时电路,来监控主程序的运行。在主程序的运行中,我们要在定时时间到达之前对定时器进行复位。

看门狗的作用就是防止程序无限制的运行,造成死循环。它可以用在接收和发送数据时对接受和发送超时的处理,起到保护数据,保护电路的作用。

 

看门狗----喂狗

看门狗(watchingdog)本质上是一种定时器(timer).

定时器有软件定时器和硬件的定时器,软件定时器的一般的操作方法是在一定的时间内向操作系统发送消息,一定时间一般又体现为时间递减的形式,例如时间在2000毫秒时向操作系统发送一个window消息,适合于window这样的消息驱动的机制;硬件上的定时器是一个硬件的模块,在一定时间内发出中断,出发中断服务函数响应。

看门狗是一种硬件上的定时器,我们可以制定它在到达时间内reset控制器,它与普通定时器的不同之处就在于他可以reset。使用看门狗功能的器件要定时的向它发送消息,以用来表示自己在正常工作着,也就是我们所说的“喂狗”,当该器件不再“喂狗”时,看门狗则认为该器件发生了异常,从而在时间到达的时候reset整个微控制器。

原理小故事:

向枪战片的清醒,人A带着狗B一起潜入一个地方,A进去,B在门口接应,A走的时候告诉B,如果我安全的话我会在每10分钟给你发出信号来证明我没有事情,如果没有收到我的消息的话证明我在里面有所不测,那么你就冲进来营救我。在嵌入式控制器里面的这只狗就称之为看门狗。


频道:电脑
扫描本文章二维码可手机访问: