新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机看门狗电路的作用,看门狗系统设计技巧及其抗干扰措施

单片机看门狗电路的作用,看门狗系统设计技巧及其抗干扰措施

作者:时间:2018-07-31来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/201807/384555.htm

(3)采用计数器、单稳态触发器、定时器等器件构成。在图3中用4060构成了一个二级“”电路。

因/I/N/T/O中断入口0003H处仅有0003H~000AH单元可为中断服务程序所用,很可能容纳不下中断服务程序,故应在其内安排一条JMP Watch dog指令。由于“跑飞”,PC值在响应中断前已被破坏,在响应中断后,该内容自动被压入堆栈,故一定要用两条POP A指令将无用内容弹出,以便为中断返回时由堆栈给PC赋予“跑飞”处的正确值,这一点在设计中断服务程序时尤其要引起重视。通过对P1.0取反,恢复对4060的触发脉冲。在中断服务中应安排被破坏数据的诊断、修复以及查找“跑飞”处的地址正确入口,并在返回前将其压栈。当执行RETI时,“跑飞”处断点地址入口自动弹栈到PC,恢复正常运行。P1.0取反指令在何处插入应通过计算指令周期让两条CLR P1.0指令间隔小于定时器的定时时间T1


(4)利用8031片内定时器/计数器 8031片内有两个十六位的定时器/计数器,可用定时器T0。在应用程序对T0初始化时,将其定时时间T2设置得比应用程序循环体执行时间T1长,可取:T2=(1.5~2)T1。当程序正常时,T0不会溢出,“跑飞”时溢出,定时器/计数器控制寄存器TCON的TF0(TCON.5)由8031内部硬件置位TF0=1,发出中断信号。设8031采用12MHz晶振,经定时器内部12分频后得1MHz的定时时钟,对应定时时间1μs,最长可定时约65.5ms,如应用程序循环时间T1=10ms,则可取T2=2T1=20ms,定时器的初值X可由下式确定:

(216-X)×1μs=20ms

X=45536D=B1EOH

定时器的初始化程序:

MOV TLO,#OEOH

MOV THO,#OB1H;定时器/计数器T0写入初值

MOV TMOD,#O1H;设置定时器/计数器工作方式1

SETB TRO;   起动定时器/计数器T0

在应用程序的系统初始化时用下面指令设定T0优先级:

SETB EA;   开放中断

SETB ETO;  允许T0中断

SETB PTO;  置T0中断优先级最高

T0中断服务流程与/I/N/T/O中断服务流程(见图4)相比,其中断入口为000BH,去掉P1.0取反的指令,其余相同。靠优先级别最高的中断将控制权重新夺回交给CPU,使系统恢复正常。

6

4、 断点的查找与恢复

断点的查找与恢复是人们最关注的问题,我们的方法是扩展一外部数据存储器,用以存储“跑飞”前断点(或接近断点)的PC之值以及一些重要的变量、指针及控制字的值。利用正常工作时P1.0向“”发送的触发脉冲经反向、延时等作为外部扩展RAM的片选信号以T1为周期定时对外部RAM中内容进行刷新。当“跑飞”后因触发脉冲丢失而避免了外部RAM被攻击,保证其内容的可靠性。随着T1的减少,被恢复的值就愈趋近断点值,但要非常准确找到断点,还值得人们研究。在中断响应时由于P1.0恢复了输出触发脉冲,故可将断点值读出。

结束语

”是对付“跑飞”的有力手段,在生产过程中由于特定的生产条件使得“看门狗”技术有其相当的作用。我们在对某水泥厂微机配料系统的技术改造过程中采用了二级“看门狗”技术,该系统运行两年多来经受住了各种强干扰的考验,取得了令人满意的效果。

对于“跑飞”后的诊断、恢复,尤其是如何更准确地找到程序“跑飞”断点,对被损数据加以恢复等方面尽管有许多软件可以利用,但还是值得人们多加关注的问题。


上一页 1 2 3 下一页

关键词: 看门狗 单片机

评论


相关推荐

技术专区

关闭