MAX813看门狗电路设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

看门狗电路设计

在工业现场运行的单片机应用系统,由于坏境恶劣,常有强磁场、电源尖峰、电火花等外界干扰,这些干扰可能造成仪表中单片机的程序运行出现“跑飞”现象,引起程序混乱,输出或显示不正确,甚至“死机”。系统无法继续正常的运行,处在一种瘫痪状态,它的硬件电路并没有损坏,只是内部程序运行出现了错误,这时,即使干扰消失,系统也不会恢复正常,这就需要采取一些措施来保障系统失控后能自动恢复正常,“程序运行几天来视系统”(Watchdog看门狗)就是常用的一种抗干扰措施,用以保证系统因干扰失控后能自动复位。为了提高仪表可靠性及抗干扰能力,通常在智能仪表中采用“看门狗”技术。

看门狗电路它实质上是一个可由CPU复位的定时器,它的定时时间是固定不变的,一旦定时时间到,电路就产生复位信号或中断信号。当程序正常运行时,在小于定时时间隔内,单片机输出一信号刷新定时器,定时器处于不断的重新定时过程,因此看门狗电路就不会产生复位信号或中断信号,反之,当程序因出现干扰而“跑飞”时,单片机不能刷新定时器,产生复位信号或产生中断信号使单片机复位或中断,在中断程序中使其返回到起始程序,恢复正常。

它的工作原理如同图3-4所示的两个计时周期不同的定时器T1和T2是两个时钟源相同的定时器,设T1=1.0s,T2=1.1s,而用T1定时器的溢出脉冲P1同时对T1和T2定时器清零,只要T1定时器工作正常,则定时器T2永远不可能计时溢出。当T1定时器不在计时,定时器T2则会计时溢出,并产生溢出脉冲P2。一旦产生溢出脉冲P2,则表明T1出了故障。这里的T2即是看门狗。利用溢出脉冲P2并进行巧妙的程序设计,可以检测系统的出错,而后使“飞掉”的程序重新恢复运行。

图3-4 看门狗工作原理示意图

看门狗电路的应用,使单片机可以在无人关态下实现连续工作。看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这

个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其它控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段不进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

“看门狗”技术既可由硬件实现,也可由软件实现。在系统成本允许的情况下,就选择专门的看门狗芯片或片内带看门狗的单片机。若条件不允许,应加软件“看门狗”。

所谓软件“看门狗”,就是对程序中可能出现这种条件不满足而无法退出的一个模块、一个非正常结束的任务等,在运行时间上进行约束,将理论计算得到的最大时间跨度,作为这个模块或任务的最大执行时间,如果超过了这个时间跨度,则强制退出(结束)本模块、本次任务,把MCU的时间交给下一个模块或恢复有关资源的初始状态,供下一次任务使用。

“看门狗”电路可以分为内“看门狗”和外“看门狗”电路两大类。内“看门狗”电路是指“看门狗”的硬件电路包含在单片要内部。对于没有内“看门狗”定时器的单片机或认为内“看门狗”不可靠时,可以采用外部“看门狗”定时器。外部“看门狗”电路既可以用专用“看门狗”芯片,也可用普通芯片搭成。

专用硬件看门狗是指一些集成化的或集成在单片机内的专用看门狗电路,它实际上是一个特殊的定时器,当定时时间到时,发出溢出脉冲。从实现角度上看,该方式是一种软件与片外专用电路相结合的技术,硬件电路连接好以后,在程序中适当地插入一些看门狗复位的指令(即“喂狗”指令),保证单片机的RESET 引脚使单片机复位。在这种方式中,看门狗能否可靠有效地工作,与硬件组成及软件的控制策略都有密切的关系。目前常用的集成看门狗电路很多,如MAX705~708、MAX791、MAX813L、X5043/5045等。

本系统采用MAX813L看门狗电路监控单片机的工作,如果单片机工作不正常,看门狗电路在规定时是内得不到刷新复位,就输出信号强制单片机复位重新启动工作,保证仪器正常工作。

1.MAX813L芯片功能原理

MAX813L主要有以下几个功能:

(1)上电、掉电以及降压情况下具有RESET输出。

(2)独立的“看门狗”电路。“看门狗”定时时间为1.6s。

(3)1.25V门限检测器,用于低压报警,适时监视+5V以外的电源电压。

(4)具有手工复位输入端。

MAX813L是MAXIM公司推出的低成本微处理器监控芯片,封装形式为8脚双列直插式(DIP)和小型(SO)式封装,引脚图如图3-5所示。

MAX813L引脚说明如下:

○1脚(MR̅̅̅̅̅):手动复位输入端(MR̅̅̅̅̅),当该端输入低电平保持140ms以上,MAX813L就输出复位信号。该输入端的最小输入脉宽要求可以有效地消除开关̅̅̅̅̅与TTL/CMOS兼容。

的抖动。MR

○2脚(VCC):5V电源。

○3脚(GND):电源地。

○4脚(PFI):电源检测输入端。可将需要检测的电源连接于此,不用时接地或电源。

̅̅̅̅̅):电源检测输出端。被检测电源正常时,输出高电平,否则输○5脚(PFO

出低电平。

○6脚(WDI):“看门狗”输入端,俗称“喂狗”信号。程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。若超过1.6s该输入端收到脉冲信号,则内部定时器溢出,8号引脚由高电平变为低电平。

○7脚(RESET):上电时自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。

̅̅̅̅̅̅̅):“看门狗”输出端“喂狗”信号在1.6s内不能及时送入时,○8脚(WDO

该脚即产生1个低电平信号。

2.硬件实现电路图

图3-6给出了MAX813L 在系统中的线路图。此电路可以实现上电、瞬时掉电以及程序运行出现“死机”时的自动复位和随时的手动复位;并且可以实时地监视电源故障,以便及时地保存数据。

本电路巧秒地利用了MAX813L 的手动复位输入端。只要程序一旦跑飞引起

程序“死机”,WDO ̅̅̅̅̅̅̅端电平由高到低,当WDO

̅̅̅̅̅̅̅变低超过140ms ,将引起MAX813L 产生一个200ms 的复位脉冲。同时使看门狗定时器清0和使WDO

̅̅̅̅̅̅̅脚变成高电平。也可以随时使用手动复位按扭使MAX813L 产生复位脉冲,由于为产生复位脉冲MR

̅̅̅̅̅端要求低电平至少保持140ms 以上,故可以有效地消除开关抖动。

该电路可以适时地监控电源故障(掉电、电压降低等)。图3-6中RI 的一端接未经稳压的直流电源。电源正常时,确保R2上的电压高于 1.26V ,即保证MAX813L 的PFI 输入端电平高于1.26V 。当电源发生故障,PFI 输入端的电平低于

1.25V 时,电源故障输出端PFO ̅̅̅̅̅电平由高变低,引起单片机INTO

̅̅̅̅̅̅̅中断,CPU 响应中断,执行相应的中断服务程序,保护数据,断开外部用电电路等。

3. 软件设计

(1) 程序运行“死机”及相应对策

程序正常运行时,由主程序在小于1.6s 的时间间隔内周期性地从P1.7端向MAX813L 的P1.7输入端发送一个脉冲信号,以消除芯片内部的看门狗定时器。实现指令为:若超过1.6s 该输入端收不到脉冲信号,则内部看门狗定时器溢出,8号引脚由高电平变为低电平。引起MAX813L 产生一个200ms 的复位脉冲。同时使看门狗定时器清零和使8号引脚变成高电平。

需要引起注意的是,整个单片机系统完成复位后,在PC 指针的指针下整个程序将从0000H 地址处重新开始初始化运行,而这在很多情况下是不允许的(如连续的工艺流程),为此必须采取相应的措施。首先在对单片机系统完成复位后,

相关文档
最新文档