555定时器软硬结合做看门狗的一种方法,你知道吗?

1 程序失控现象

本文引用地址:

随着单片机在能源领域的广泛应用,单片机的抗干扰问题越来越突出,煤矿井下环境普遍恶劣,会给单片机带来各种干扰。 -单片机控制系统,使系统无法正常工作。单片机应用系统的抗干扰性能主要取决于硬件的抗干扰设计,而软件

抗干扰设计作为硬件抗干扰的改进和补充也很重要,因为大量的干扰通常不会影响系统中硬件的运行,但往往会导致系统的软件无法运行一般。单片机应用中的一个突出问题是单片机运行过程中经常出现的程序失控现象。

在单片机系统中,由于干扰,程序计数器PC的值在意想不到的情况下随机变化,使程序的流动指向一个不确定的区域,即程序跑路。程序跑掉后,指令的地址码和操作码可能会发生变化,PC将操作数作为指令执行;或者PC值指向不合逻辑的指令甚至是非程序区域单片机定时器里写程序,运算结果往往会导致单片机进入死态。流通——就是我们常说的“崩盘”。为保证无人值守时,单片机“死机”后能自动恢复,通常采用软件陷阱,外接WDT电路,以及软件控制的 WATCHDOG 方法来恢复系统正常(后两种通常称为“看门人”)。“狗”),限于篇幅,我就不做特别说明了。这里主要介绍一种软硬件结合的555定时器作为看门狗的使用方法。

2 555 定时器

一般情况下,看门狗主要是通过持续监控程序运行某个事件的时间是否超过预定时间来判断程序是否进入死循环,所以使用555定时器和延时电路的可复位触发功能可以实现看门狗。狗功能。555定时器是一种多用途单片集成电路,内部电路如图1所示。

620)this.width=620;’ alt=”/>

CO端为控制电压输入端。增加控制电压可以改变A1“-”端和A2“+”端的参考电压。如不使用,可通过小电容接地,防止绕过高频交流干扰;R为定时器直接复位端,加低电平可直接将定时器置“0”,此时OUT输出“0”,Q为1,V导通,D端接地;TH为复位阈值输入端,当TH电压超过2/3UDD(即A1负端电压)时,A1输出为“1”,OUT输出为“0”。同理, D端接地;TR为设定输入端,当TR电压低于1/3 UDD时(即,A2正端分压),A2输出“1”,定时器置位。此时OUT输出“1”,Q为“0”,V截止,D端接地。

3 看门狗电路及操作顺序 以INTEL公司的16位单片机8096为例,可以设计555定时器作为看门狗与单片机的接口电路,如图2所示。

620)this.width=620;’ alt=”/>

首先在单片机初始化时使用指令“ORBPORT1,#01H”设置P1.0为“1”,然后晶体管T导通,555芯片的R为“1”, TH和TR端由R和C充电,电位逐渐升高,当电位仍低于1/3 UDD时,OUT输出“1”,D端与地断开,电容C为正常充电。一旦程序跑掉或进入死循环,电位上升到高于2/3当UDD期间仍然没有“喂狗”时,OUT输出变为“0”,单片机的RESET引脚被拉通过晶体管T向下,复位电容放电。

图片[1]-555定时器软硬结合做看门狗的一种方法,你知道吗?-老王博客

D端对地短路,电容C也通过Rf放电。当TH和TR端子的电位放电到小于1/3 UDD(注)时,OUT输出再次变为“1”,单片机进入复位状态。

“喂狗”是指复位看门狗,在本电路中只需要运行以下命令即可。

ANDB 端口1单片机定时器里写程序,#0FEH;使 P1.0 “0”

跳过 ; 延迟无操作

跳过 ; 建议将 TR 电压降至 1/3 UDD

ORB PORT1, #01H ; 使 P1.0 “1”

当P1.0置“0”时,555定时器的R端为“0”,三极管T截止。当R端为“0”时,555芯片复位,OUT输出为“0”,D端对地短路,电容C放电,为重新延时做准备,但由于三极管关闭,OUT输出也为“0”不影响单片机的RESET引脚,单片机工作正常,从而区分“喂狗”和功能系统发生故障时的看门狗。

4 需要注意的问题

这里还有一个问题需要注意,就是555定时器的正常工作完全依赖于单片机P1.0的状态,但是在某些干扰严重的情况下,误操作微控制器是可能的。要更改 P1.0 的预设状态,如果在单片机进入无限循环之前将 P1.0 错误设置为“0”,请参见

看门狗一直处于“喂食”状态,那么这个电路就不能再工作了。在这种情况下,我们可以使用软件冗余的方法来处理这种情况,即在程序的关键位置重复插入看门狗。激活命令:

ORB 端口 1,#01H

值得提醒的是,这里的“NOP”命令的作用不可忽视,它可以让run-to-fly程序走上正轨,防止后续按键命令分散。但是,软件冗余的应用还有一个前提,就是跑掉的程序必须在程序区域内,冗余指令执行后才能生效。指令冗余技术不可靠。这时,我们需要依靠其他抗干扰技术的支持,如软件陷阱、标志技术,以及必要的可靠性方案的设计。在此不再赘述,但这些都必须包含在一个可靠的程序中——毕竟单片机系统受干扰的影响是三维的,

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论