看门狗的主要功能,防止软件跑飞导致系统异常。国内使用较多的看门狗芯片是ADI公司的,当前国内厂家3peak所做的看门狗软件也被大量使用在某通信公司。看门狗电路框图如下图所示:
看门狗拥有三大功能:
- 上电复位;
当供电电压<0.3*VCC时,看门狗上电复位生效,ReSet信号输出低电平(120ms~280ms)当供电电压>0.3*VCC时,看门狗Reset管脚输出高电平。
在使用上电复位功能时,需要充分考虑VCC的上升沿,下降沿,已经供电的单调性。
XXX公司的看门狗芯片,由于VCC上电较缓慢,导致了ReSet管脚异常拉低,整个模块异常复位。
- MR管脚复位;
MR管脚输入低电平时,MR管脚复位功能生效,此时Reset信号拉低,低电平持续时间为160ms(典型时间)。该功能主要应用在信号软件复位。比如某些大模块的软件复位,此时不进行掉电复位。
- 饿狗复位
饿狗复位功能生效时,WDI不喂狗,给出一个低电平,ReSet信号输出低电平。WDI给出一个恒定的脉冲信号,业内定义为喂狗,此时Reset信号为高电平。当WDI管脚输入介于0.3*VCC~0.7*VCC中间时,处于禁狗模式。WDI功能不生效。
WDI功能,需要关注以下两点
- Reset信号拉低时,持续喂狗,是否会导致Reset信号无法拉高?
- WDI处于禁狗模式时,输入信号的IO等效为一个电压源+内阻,与看门狗软件组成如下电路:
若此时分压比不合适,会导致 WDI管脚拉低,进入饿狗复位模式,并且持续拉低,无法恢复。
此外,WDI管脚在喂狗时,需要关注喂狗信号的脉冲周期和脉冲宽度。需要在使用前,完成相关的UT测试,避免后续搭配着ASIC芯片使用时,出现很多问题。例如:芯片初始化时,DDR信号清楚的脉冲宽度为4ms,若使用的看门狗WDI的脉冲宽度为8ms,此时,喂狗功能异常,就会导致Reset信号拉低,芯片工作异常,加载异常。
看门狗使用最多的两种功能:上电狗和软件狗。