在现在的嵌入式系统中紧张可以分为两种类型的看门狗:
1、CPU内部自带的看门狗:此类看门狗一样平常是将一个芯片中的定时器来作为看门狗,通过程序的初始化,写入初值,设定溢出韶光,并启动定时器。程序按时瞄准时器赋初值(或复位),以免被咬。这种看门狗是可以被禁用的(只要停滞这个定时器即可),好比对那只要咬你的狗来个“葵花点穴手”。大部分CPU都内置看门狗,硬件事理可参考各芯片数据手册。
优点:可以通过程序改变溢出韶光;可以随时禁用。

缺陷:须要初始化;如果程序在初始化、启动完成前跑飞或在禁用后跑飞,看门狗就无法复位系统,这样看门狗的浸染就没有了,系统规复能力降落。
2、独立的看门狗芯片:这种看门狗紧张有一个用于喂狗的引脚(一样平常与CPU的GPIO相连)和一个复位引脚(与系统的RESET引脚相连),如果没有在一定韶光内改变喂狗脚的电平,复位引脚就会改变状态复位CPU。此类看门狗一上电就开始事情,无法禁用。现在常用的芯片有:CAT705/CAT706、IMP706等等,溢出韶光在1.6秒旁边。
优点:无须配置,上电即用。无法禁用,系统必须按时喂狗,系统规复能力高。
缺陷:无法灵巧配置溢出韶光,无法禁用,灵巧性降落。
STM32F4 的独立看门狗由内部专门的 32Khz 低速时钟(LSI)驱动,纵然主时钟发生故障,它也仍旧有效。这里须要把稳独立看门狗的时钟是一个内部RC时钟,以是并不是准确的32Khz,而是在 15~47Khz 之间的一个可变革的时钟,只是我们在估算的时候,以 32Khz 的频率来打算,看门狗对韶光的哀求不是很精确,以是,时钟有些偏差,都是可以接管的。