一、什么是看门狗
看门狗,又叫 watchdog timer,是一个定时器电路,一般有一个输入叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候每隔一段时间输出一个信号到喂狗端,给 WDT 清零。如果超过规定时间不喂狗(一般在程序跑飞时)WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位防止MCU死机,看门狗的作用就是防止程序发生死循环或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。
二、软件、硬件看门狗的主要异同
两者相同点如下:
1) 都是通过定时器实现;定时时间到没有喂狗就进行复位。
2) 都是需要在规定的时间内喂狗。
3) 两者都是靠软件进行喂狗。
两者的主要差异如下:
1) 附加功能:硬件看门狗芯片一般还附带了延迟复位和电源检 测的功能,软件则没有。
2) 屏蔽方法:软件看门狗很容易屏蔽关闭,只需修改其中的寄存器,而硬件看门狗一旦启动不断电就停不下来。
3) 启动方式:软件看门狗很容易启动,只需修改其中的寄存器。硬件一般是收到第一个喂狗信号后就启动。
4) 初始化:硬件看门狗上电后收到第一个喂狗脉冲就完成了初始化,软件看门狗则需要配置相关的寄存器(或者调用相关的看门狗子程序)。
三、4G工业路由器为何需要看门狗
4G路由器软件看门狗是在主程序里加入了程序监测机制。 为了防止程序出错或者内存溢出等系列问题,在4G路由器软件代码里加入检测代码,一旦发现4G路由器某一部分软件异常,或者出错,4G路由器看门代码会重新启动软件。
4G路由器硬件看门狗则是额外加了一个单片机, 运行一个小程序用来检测整个4G路由器设备程序。4G路由器软件看门狗也是会出现异常,4G路由器一旦整个程序死机,软件看门狗也无法唤醒。
4G路由器主程序功能多,结构复杂, 相对容易会出现异常。而4G路由器的硬件看门狗则是一个比较简单的程序,不会出现异常。所以,一旦4G路由器主程序出现异常,而4G路由器软件看门狗无法唤醒的时候,4G路由器的硬件看门狗会断电重启,将4G路由器整个设备的程序复位。
由于全网通4G路由器一般应用于智能系统、安防监测、自助服务和工业无人职守的场所,4G路由器设备稳定性就变的非常重要,因此在4G路由器上加一个硬件看门狗是全网通4G路由器非常关键性的一个功能,必不可少。
计讯物联的工业4G全网通路由器采用三级看门狗检测机制:CPU自带看门狗、硬件电路和软件看门狗专利技术,智能软件唤醒和硬件断电重启机制,保证设备正常运行、永不死机;采用PPP层心跳、ICMP探测、TCP心跳链路检测机制、网络故障自动恢复、掉线重连确保设备永久在线。