《MAX813看门狗电路》由会员分享,可在线阅读,更多相关《MAX813看门狗电路(5页珍藏版)》请在金锄头文库上搜索。
1、.看门狗电路设计在工业现场运行的单片机应用系统,由于坏境恶劣,常有强磁场、电源尖峰、电火花等外界干扰,这些干扰可能造成仪表中单片机的程序运行出现“跑飞现象,引起程序混乱,输出或显示不正确,甚至“死机。系统无法继续正常的运行,处在一种瘫痪状态,它的硬件电路并没有损坏,只是内部程序运行出现了错误,这时,即使干扰消失,系统也不会恢复正常,这就需要采取一些措施来保障系统失控后能自动恢复正常,“程序运行几天来视系统Watchdog看门狗就是常用的一种抗干扰措施,用以保证系统因干扰失控后能自动复位。为了提高仪表可靠性及抗干扰能力,通常在智能仪表中采用“看门狗技术。看门狗电路它实质上是一个可由CPU复位的定
2、时器,它的定时时间是固定不变的,一旦定时时间到,电路就产生复位信号或中断信号。当程序正常运行时,在小于定时时间隔内,单片机输出一信号刷新定时器,定时器处于不断的重新定时过程,因此看门狗电路就不会产生复位信号或中断信号,反之,当程序因出现干扰而“跑飞时,单片机不能刷新定时器,产生复位信号或产生中断信号使单片机复位或中断,在中断程序中使其返回到起始程序,恢复正常。它的工作原理如同图3-4所示的两个计时周期不同的定时器T1和T2是两个时钟源一样的定时器,设T1=1.0s,T2=1.1s,而用T1定时器的溢出脉冲P1同时对T1和T2定时器清零,只要T1定时器工作正常,那么定时器T2永远不可能计时溢出。
3、当T1定时器不在计时,定时器T2那么会计时溢出,并产生溢出脉冲P2。一旦产生溢出脉冲P2,那么说明T1出了故障。这里的T2即是看门狗。利用溢出脉冲P2并进展巧妙的程序设计,可以检测系统的出错,而后使“飞掉的程序重新恢复运行。图3-4 看门狗工作原理示意图看门狗电路的应用,使单片机可以在无人关态下实现连续工作。看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平或低电平,这一程序语句是分散地放在单片机其它控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段不进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于
4、得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序存储器的起始位置开场执行,这样便实现了单片机的自动复位。“看门狗技术既可由硬件实现,也可由软件实现。在系统本钱允许的情况下,就选择专门的看门狗芯片或片内带看门狗的单片机。假设条件不允许,应加软件“看门狗。所谓软件“看门狗,就是对程序中可能出现这种条件不满足而无法退出的一个模块、一个非正常完毕的任务等,在运行时间上进展约束,将理论计算得到的最大时间跨度,作为这个模块或任务的最大执行时间,如果超过了这个时间跨度,那么强制退出完毕本模块、本次任务,把MCU的时间交给下一个模块或恢复有关资源的初始状态,
5、供下一次任务使用。“看门狗电路可以分为内“看门狗和外“看门狗电路两大类。内“看门狗电路是指“看门狗的硬件电路包含在单片要内部。对于没有内“看门狗定时器的单片机或认为内“看门狗不可靠时,可以采用外部“看门狗定时器。外部“看门狗电路既可以用专用“看门狗芯片,也可用普通芯片搭成。专用硬件看门狗是指一些集成化的或集成在单片机内的专用看门狗电路,它实际上是一个特殊的定时器,当定时时间到时,发出溢出脉冲。从实现角度上看,该方式是一种软件与片外专用电路相结合的技术,硬件电路连接好以后,在程序中适当地插入一些看门狗复位的指令即“喂狗指令,保证单片机的RESET引脚使单片机复位。在这种方式中,看门狗能否可靠有效
6、地工作,与硬件组成及软件的控制策略都有密切的关系。目前常用的集成看门狗电路很多,如MAX705708、MAX791、MAX813L、X5043/5045等。/本系统采用MAX813L看门狗电路监控单片机的工作,如果单片机工作不正常,看门狗电路在规定时是内得不到刷新复位,就输出信号强制单片机复位重新启开工作,保证仪器正常工作。/1. MAX813L芯片功能原理MAX813L主要有以下几个功能:(1) 上电、掉电以及降压情况下具有RESET输出。(2) 独立的“看门狗电路。“看门狗定时时间为1.6s。/(3) 1.25V门限检测器,用于低压报警,适时监视+5V以外的电源电压。(4) 具有手工复位输
7、入端。MAX813L是MAXIM公司推出的低本钱微处理器监控芯片,封装形式为8脚双列直插式DIP和小型SO式封装,引脚图如图3-5所示。MAX813L引脚说明如下:脚:手动复位输入端,当该端输入低电平保持140ms以上,MAX813L就输出复位信号。该输入端的最小输入脉宽要求可以有效地消除开关的抖动。与TTL/CMOS兼容。脚VCC:5V电源。/脚GND:电源地。/脚PFI:电源检测输入端。可将需要检测的电源连接于此,不用时接地或电源。脚:电源检测输出端。被检测电源正常时,输出高电平,否那么输出低电平。脚WDI:“看门狗输入端,俗称“喂狗信号。程序正常运行时,必须在小于1.6s的时间间隔内向该
8、输入端发送一个脉冲信号,以去除芯片内部的看门狗定时器。假设超过1.6s该输入端收到脉冲信号,那么内部定时器溢出,8号引脚由高电平变为低电平。脚RESET:上电时自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。脚:“看门狗输出端“喂狗信号在1.6s内不能及时送入时,该脚即产生1个低电平信号。/2. 硬件实现电路图/图3-6给出了MAX813L在系统中的线路图。此电路可以实现上电、瞬时掉电以及程序运行出现“死机时的自动复位和随时的手动复位;并且可以实时地监视电源故障,以便及时地保存数据。本电路巧秒地利用了MAX813L的手动复位输入端。只要程序一旦跑飞引起程序“死机,
9、端电平由高到低,当变低超过140ms,将引起MAX813L产生一个200ms的复位脉冲。同时使看门狗定时器清0和使脚变成高电平。也可以随时使用手动复位按扭使MAX813L产生复位脉冲,由于为产生复位脉冲端要求低电平至少保持140ms以上,故可以有效地消除开关抖动。该电路可以适时地监控电源故障掉电、电压降低等。图3-6中RI的一端接未经稳压的直流电源。电源正常时,确保R2上的电压高于1.26V,即保证MAX813L的PFI输入端电平高于1.26V。当电源发生故障,PFI输入端的电平低于1.25V时,电源故障输出端电平由高变低,引起单片机中断,CPU响应中断,执行相应的中断效劳程序,保护数据,断开
10、外部用电电路等。3. 软件设计(1) 程序运行“死机及相应对策/程序正常运行时,由主程序在小于1.6s的时间间隔内周期性地从P1.7端向MAX813L的P1.7输入端发送一个脉冲信号,以消除芯片内部的看门狗定时器。实现指令为:假设超过1.6s该输入端收不到脉冲信号,那么内部看门狗定时器溢出,8号引脚由高电平变为低电平。引起MAX813L产生一个200ms的复位脉冲。同时使看门狗定时器清零和使8号引脚变成高电平。需要引起注意的是,整个单片机系统完成复位后,在PC指针的指针下整个程序将从0000H地址处重新开场初始化运行,而这在很多情况下是不允许的如连续的工艺流程,为此必须采取相应的措施。首先在对
11、单片机系统完成复位后,程序应该先判断是开机运行冷启动还是运行过程中“死机之后的重新加载运行热启动。因此一般情况下在这两种启动方式下,系统程序在进入主流程在进入主流程前所要做的工作往往不同。如冷启动后,系统程序在初始化程序往往要进展系统资源的自检以及将各外围设备修改设置,只是对单片机系统本身的一些资源进展必要的设置工作。其次,在大多数情况下,我们总可以把一个连续的过程分解开来,把它变成一个个独立的子过程状态组成的连续过程。在主程序运行过程中,适时保存相应状态和该状态下的相关参数。这样当程序运行出现“死机,在MAX813L作用下系统复位和初始化后,将首先查询事先保存的状态参数,然后根据此参数决定程
12、序的流向。同时把该状态下事先保存的参数取出,对系统外围设备进展必要的恢复设置工作和引导程序继续运行。根据这一思想设计的系统程序流程图如图3-7所示。图3-7 看门狗软件流程图(2) 电源故障及相应对策当电源发生故障时,引起单片机中断,CPU响应中断,执行相应的中断效劳程序,保护数据,断开外部用电电路等。为了做到这一点必须把中断优先级PX0设为最高,特别是系统中还有其它中断时,更应该如此。中断优先级的设置可通过中断优先存放器实现,此外还要设置中断允许存放器的总允许位EA及外部中断0中断允许位EX0。实现指令为:SETB IP.0:设置PX0=1SETB IE.7:设置EA=1SETB IE.0:设置EX0=1. v