看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗置零,重新开始计数。如果看门狗增加到设定值就认为程序没有正常工作,强制整个系统复位。

 

它的主要功能是在发生软件故障时,通过使器件复位(如果软件未将器件清零)将单片机复位。也可以用于将器件从休眠或空闲模式唤醒,看门狗定时器对微控制器提供了独立的保护系统,当系统出现故障时,在可选的超时周期之后,看门狗将以RESET信号作出响应,像x25045就可选超时周期为1.4秒、600毫秒、200毫秒三种。当你的程序死机时,x25045就会使单片机复位。

 

大多数看门狗定时器IC产生一个单一的,有限的输出脉冲持续时间当看门狗超时。这适用于触发复位或中断微处理器,但有些应用需要输出(故障指示灯)的锁存器。

 

考虑到安全性问题,汽车电子系统需要监控电路监测故障容限或安全性。看门狗定时器可理想满足这类需求,通过对微控制器正常工作条件下产生的周期脉冲进行检测,侦测电路或IC的失效状态,一旦发生故障可立即切换到备份/冗余系统。

 

什么是看门狗定时器

(图片来源于互联网)

 

看门狗定时器和普通的定时器本质上没有区别。

 

普通的定时器可以设定一个时间,在这个时间完成之前定时器不断计时,时间到的时候定时器会复位CPU(重启系统)。

 

看门狗定时器和普通定时器的区别

(图片来源于互联网)

 

拓展:

看门狗定时器的设计原理:看门狗( watchdog timer)是一个定时器电路, 一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位。防止MCU死机。

 

看门狗的作用就是防止程序发生死循环,或者说程序跑飞。 出于对单片机运行状态进行实时监测的考虑,产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog))集成电路(MAX*9)的基础上,该电路提供了响应的输入脉冲流损失锁存故障指示。该电路可以监控风扇(上风扇的转速输出计算),振荡电路,或一个微处理器软件执行。

 

一个简单的电路提供了响应的输入脉冲流损失锁存故障指示。在μP-supervisor/watchdog集成电路(MAX*9)的基础上,该电路用于监测风扇(在风扇的转速输出计算),振荡电路,或一个合适的微处理器软件执行。

 

看门狗定时器和普通定时器的区别

(图片来源于互联网)