看门狗的种类

在现在的嵌入式系统中主要可以分为三种类型的看门狗:

 

1. CPU内部自带的看门狗

此类看门狗一般是将一个芯片中的定时器来作为看门狗,通过程序的初始化,写入初值,设定溢出时间,并启动定时器。程序按时对定时器赋初值(或复位),以免被咬。这种看门狗是可以被禁用的(只要停止这个定时器即可)。大部分CPU都内置看门狗,硬件原理可参考各芯片数据手册,如s3c2440系列芯片。
优点:可以通过程序改变溢出时间;可以随时禁用
 缺点:需要初始化;如果程序在初始化、启动完成前跑飞或在禁用后跑飞,看门狗就无法复位系统,这样看门狗的作用就没有了,系统恢复能力降低。

 

2. 独立的看门狗芯片

这种看门狗主要有一个用于喂狗的引脚(一般与CPU的GPIO相连)和一个复位引脚(与系统的RESET引脚相连),如果没有在一定时间内改变喂狗脚的电平,复位引脚就会改变状态复位CPU。此类看门狗一上电就开始工作,无法禁用。现在常用的芯片有:CAT705/CAT706、IMP706,ADM706等等,溢出时间在1.6秒左右。

 优点:无须配置,上电即用。无法禁用,系统必须按时喂狗,系统恢复能力高。
缺点:无法灵活配置溢出时间,无法禁用,灵活性降低。


3. 软件看门狗

这其实是也是一种监控软件。

这种监控软件运行不出现界面窗口,具有一定的隐蔽性;它定时判断目标进程是否运行在当前系统中,如果没有则启动目标进程;判断目标进程是否“无响应”,如果是则终止目标进程;如果目标进程“无响应”的次数超过一定的数量,则重启整个系统。它的目的也是复位,但是它主要市复位进程,实在不行才复位CPU。

 

你可能感兴趣的:(watchdog)