当前位置:文档之家› 看门狗 知识总结

看门狗 知识总结

在该电路中SPC3的复位电路与89C52的复位电路应相互独立,这样在单片机复位时SPC3仍能够正常通信。

由MAX705组成的看门狗复位电路可以保证单片机系统在程序“跑飞”时能够可靠复位,MAX705的复位脉冲输出有正脉冲和负脉冲两种方式,当复位脉冲为负脉冲时,需要外接反相器后再连接到单片机的复位端,具体连接如图4。

图4 看门狗电路
在正常情况下,P1.x引脚不超过1.6s就向WDI端发出“喂狗”信号,程序陷入死循环后,“喂狗”信号无法发出,当死循环运行时间超过1.6s时,MAX705的看门狗输出将变低并触发,复位信号从端输出。

1看门狗
看门狗实际上是一个计数器,它需要在一定的看门狗延时周期内被清零,如果没有清零动作,看门狗电路将产生一个复位信号以使系统重新启动或建立一个非屏蔽中断(NMI)并执行故障恢复子程序。

大多数看门狗电路是沿触发,这样,无论是上升沿还是下降沿触发看门狗的输入端(WDI)通常都能够清计数器。

WDI引脚一般连接在处理器的一个I/0口,这条口线可由软件触发。

图1所示是微处理器通过在WDl脚发送脉冲清除看门狗定时器以防止复位的连接方式,实际上,清看门狗计数器的命令必须在主程序内。

如果看门狗没有被清零,复位后软件将从地址为0000(启动程序)的子程序处开始运行。

计算主程序的运行时间往往很困难,因为在此期间可能需要多次调用子程序,这与系统输入有关。

因此,设计人员常常选择看门狗延时周期远远高于测试到的或计算出的循环时间。

图2所示是正常工作情况下(看门狗在延时周期内被请零)的看门狗信号和复位信号。

图3所示为看门狗计数器溢出时引发一次复位的时序示意图。

工业标准的看门狗电路延时周期一般在l00ms~2s范围内,当然,也有些可调节或定制的看门狗电路能够覆盖更宽的延时范围(30ms至几分钟)。

如果主程序的执行时间对于看门狗电路而言过长,设计人员可以在主程序的不同部位多次执行看门狗触发命令,也可以选用看门狗延时周期更长的器件。

一种防止系统滞留在死循环的技术是在主程序的初始化部分将相应的I/O引脚置为高电平,而在主程序的另一部分将其置为低电子。

如果软件在主程序的起始部分进入了死循环,由于WDI始终保持高电平,看门狗将产生延时输出而使系统复位。

如果采用一个低-高-低的脉冲,看门狗将被清零,但系统仍处于阻塞状态。

为解决这个问题,一种比较成熟的方法是对程序中的多项任务进行监视,并对每项任务设置一个标志,只有当全部标志置位后,看门狗电路才被触发。

执行全部任务的时间要比看门狗超出周期短。

在更复杂的系统中,还存在一些潜在问题,如存储器泄漏、堆栈溢出等,此时系统同样需要对这些情况进行监视,尽管对这些问题的讨论超出了本文的范围,但通过合理的程序设计、认真审核代码或采用特殊的软件工具也可以解决上述问题。

2 内部看门狗与外部看门狗
许多μP都集成了可编程看门狗功能,软件控制可禁止其工作。

通常内置看门狗易受代码错误的影响,它无法提供外部独立看门狗电路所具有的保护能力,因此
在对安全性能要求较高的应用中(如自动门、医疗设备、机器人等),内置看门狗是无法接受的,从而使管理层采用独立的外部看门狗电路。

现利用外部看门狗电路降低高可靠性系统的风险是一个极好的尝试。

2.1简单的看门狗+复位
通常看门狗延时将重新复位系统,大多数看门狗电路与μP复位集成在一起,它同时可以监视处理器的供电电压。

在出现看门狗延时或电源电压跌落的情况下均可产生复位动作,MAX823~MAX825系列产品就包含了这两种功能,它们可提供标准的复位电压门限、标准的看门狗延时周期和复位延迟,仅消耗6μA电流。

而且这些器件具有超小型SC70封装。

2.2工厂预置看门狗系列
MAX6316~MAX6322系列可提供26种工厂预置的复位电压门限、4种看门狗延时周期、4种复位延迟以及4种输出配置。

2.3用电容调节的看门狗
如果应用中需要灵活的看门狗延时周期,设计人员可以选用可调节电路,
MAX6746~MAX6753系列产品不但提供了工厂预置的复位电压门限,也提供了分压编程的复位电压门限,另外,还可以利用外部电容来调节看门狗的延时周期和复位延迟。

图4
所示是其典型工作电路,其中:
∙复位电压由分压器R1/R2决定;
∙复位延迟时间由电容CSRT设置;
∙看门狗延时周期由电容Csw放置。

图5是CSWT在100pF~100nF时所对应的看门狗延时周期范围,设计人员利用如此宽范围的看门狗延时周期可以为任何应用提供解决方案。

需要说明的是:MAX6301-MAX6304系列基本与MAX6746-MAX6753系列相同,它们均可提供SO或DIP封装。

2.4较长启动/延时周期和引脚可选的看门狗
对于启动过程较长的应用,可提供两个不同的延时周期设计:即一个较长的初始化延时周期和一个较短的正常工作延时周期。

MAX6369-MAX6374系列便具有引脚可编程的启动延迟,其可选范围为200ms~60s。

一些版本还提供有看门狗的首次边沿激活功能,以满足启动过程更长的应用。

在这些芯片中,看门狗电路在启动过程中被禁止,而只允许来自μP相关I/O引脚的第一个边沿才可以激活看门狗电路。

2.5多电压监控看门狗
对于双电源供电系统,MAX6358-MAX6360系列可以监视两路标准电压,并提供长启动周期和标准延时周期的看门狗;对于三组电源供电或需要高有效和低有效复位输出的系统,设计人员可以选用MAX6721-MAX6729系列产品,这些器件能提供长启动周期和标准延时周期的双模式看门狗功能。

并可监视两路标准的电源电压(MAX6721-MAX6722)或两路标准电压加上一路可调电压(MAX6723-MAX6724)。

同时,这些器件还带有手动复位输入,电源失效比较器、双复位输出和RESET、RESET 输出等。

相关主题