1、CPU内部自带的看门狗:此类看门狗一般是将一个芯片中的定时器来作为看门狗,经过程序的初始化,写入初值,设定溢出时刻,并发动定时器。程序准时对定时器赋初值(或复位),避免被咬。这种看门狗是能够被禁用的(只需中止这个定时器即可),好比对那只需咬你的狗来个“葵花点穴手”。大部分CPU都内置看门狗,硬件原理可参阅各芯片数据手册。
长处:能够经过程序改动溢出时刻;能够随时禁用。
缺陷:需求初始化;假如程序在初始化、发动完结前跑飞或在禁用后跑飞,看门狗就无法复位体系,这样看门狗的效果就没有了,体系恢复能力下降。
2、独立的看门狗芯片:这种看门狗主要有一个用于喂狗的引脚(一般与CPU的GPIO相连)和一个复位引脚(与体系的RESET引脚相连),假如没有在必定时刻内改动喂狗脚的电平,复位引脚就会改动状况复位CPU。此类看门狗一上电就开端作业,无法禁用。现在常用的芯片有:CAT705/CAT706、IMP706等等,溢出时刻在1.6秒左右。
长处:无须装备,上电即用。无法禁用,体系有必要准时喂狗,体系恢复能力高。
缺陷:无法灵敏装备溢出时刻,无法禁用,灵敏性下降。
STM32F4的独立看门狗由内部专门的32Khz低速时钟(LSI)驱动,即便主时钟产生毛病,它也依然有用。这儿需求留意独立看门狗的时钟是一个内部RC时钟,所以并不是准确的32Khz,而是在15~47Khz之间的一个可改变的时钟,仅仅咱们在预算的时分,以32Khz的频率来核算,看门狗对时刻的要求不是很准确,所以,时钟有些误差,都是能够承受的。