由于单片机自身的抗干扰能力较差,尤其是在一些条件比较恶劣、噪声大的场合,常会出现单片机因受外界干扰而导致死机的现象,造成系统不能正常工作。设置看门狗是为了防止单片机死机、提高单片机系统抗干扰性的一种重要途径。 自动控制网www.eadianqi.com版权所有 一个完整的单片机应用系统应该是一个软、硬件的结合体,在系统处于工作状态时,会受到各种外界干扰因素的影响。这种外界干扰轻者导致系统内部数据出错,重者将严重影响程序的运行。因此单片机应用系统的开发一定要考虑系统的可靠性设计,以满足系统在现场苛刻环境下的正常运行,而“看门狗”则是系统可靠性设计中的重要一环。在一个单片机应用系统中,所谓的“看门狗”是指在系统设计中通过软件或硬件方式在一定的周期内监控单片机或其他 CPU 的运行状况。如果在规定的时间内没有收到来自单片机或其他 CPU 的触发信号,则系统会强制复位,以保证系统在受到干扰时仍然能够维持正常的工作状态。在单片机系统中,看门狗的设计一般采用硬件和软件两种方式。 本文来自www.eadianqi.com 1.什么是软件看门狗? 自动控制网www.eadianqi.com版权所有 软件看门狗是利用单片机片内闲置的定时器/计数器单元作为看门狗,在单片机程序中适当地插入监控指令,当程序运行出现异常或进入死循环时,利用软件将程序计数器 PC 赋予初始值,强制性地使程序重新开始运行。使用软件看门狗的具体实现方法如下。 自动控制网www.eadianqi.com版权所有
( l )首先在初始化程序中设置好定时器/计数器的方式控制寄存器( TMOD )和定时时间的初值,并开中断。 本文来自www.eadianqi.com
( 2 )根据定时器的定时时间,在主程序中按一定的间隔插入复位定时器的指令,即插入监控指令,两条指令间的时间间隔应小于定时时间,否则看门狗将发生误动作。 自动控制网www.eadianqi.com版权所有 ( 3 )在定时器的中断服务程序中设置一条无条件转移指令,将程序计数器 PC 转移到初始化程序的入口。 自动控制网www.eadianqi.com版权所有
软件看门狗的最大特点是无需外加硬件电路,经济性好。当然,如果定时器/计数器被占用时,就需寻求其他的设计方式了。 本文来自www.eadianqi.com
2.什么是硬件看门狗? 自动控制网www.eadianqi.com版权所有 专用硬件看门狗是指一些集成化的或集成在单片机内的专用看门狗电路,它实际上是一个特殊的定时器,当定时时间到时,发出溢出脉冲。从实现角度上看,该方式是一种软件与片外专用电路相结合的技术,硬件电路连接好以后,在程序中适当地插入一些看门狗复位的指令,保证程序正常运行时看门狗不溢出。而当程序运行异常时,看门狗超时发出溢出脉冲,通过单片机的 RESET 引脚使单片机复位。在这种方式中,看门狗能否可靠有效地工作,与硬件组成及软件的控制策略都有密切的关系。目前常用的集成看门狗电路很多,如 MAX705 一 708 、 MAX791 、 MAX813L 、 X5043 / 5045 等。 自动控制网www.eadianqi.com版权所有 |