看门狗(watch dog timer/ WDT),本质是一个定时器(或说计数器)
当程序开始执行时,定时器的值从某一个固定值开始递增or递减。
如果程序执行正常,每隔一段时间系统会向定时器发送信号使其复位,称为喂狗,给WDT清零,重新开始下一次 递增or递减。
如果程序执行出现障碍,比如发生死循环或者跑飞,WDT超过规定时间没有收到喂狗信号,就会向系统发送复位信号,使系统复位,防止系统死机。
MAX813L
如下以美信MAX813L这颗监控与复位芯片为例,6、8管脚(WDI/WDO)用于实现看门狗功能。当WDI(watch dog input)保持高or低电平超过1.6秒还没有吃到喂狗信号时,内部的看门狗定时器计数耗尽,通过WDO向MCU的RESET端发送使能信号,使MCU复位。