工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->综合电路图->用CD4060制作看门狗报警电路

用CD4060制作看门狗报警电路

作者:fanxiaoxi 时间:2022-11-03

1、用CD4060制作看门狗报警电路

看门狗定时器(WDT,WatchDogTImer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。

原理图:

CD4060芯片特性

1)电压范围宽,应该可以工作在3V~15V,输入阻抗高,驱动能力差外,跟74系列的功能基本没有区别;

2)输入时,1/2工作电压以下为0,1/2工作电压以上为1;

3)输出时,1=工作电压;0=0V;

4)驱动能力奇差,在设计时最多只能带1个TTL负载;

5)如果加上拉电阻的话,至少要100K电阻;

6)唯一现在使用的可能就是计数器,CD4060的计数器可以到14级二进制串行计数。

看门狗电路由14位二进制计数器CD4060和三极管VT1、VT2等组成。

Vout接单片机AT89C51的引脚输出口P1.7,由单片机的CPU向看门狗电路发送喂狗信号——正脉冲,在两个正脉冲间隔内,P1.7保持为低电平(此功能要结合软件才能实现,相应的软件设计在下面介绍)。我们知道,单片机AT89C51的I/O口带灌电流负载的能力比较大,每个引脚低电平时的吸入电流为20mA,带拉电流负载的能力却很小,实测情况是,每个引脚高电平时的输出电流仅25μA,现在P1.7口被设计成带拉电流负载的方式,为了提高P1.7口带拉电流负载的能力,所以,电路中设置了上拉电阻R3。

14位二进制计数器CD4060的计数脉冲由其内部振荡器和外接阻容元件R1、R2、C1组成的电路产生,振荡周期为

T0SC=2.2×R1×C1=0.22ms

振荡器产生的计数脉冲(矩形波)可以直接引出,同时还可以从CD4060的10个输出端Q4~Q10和Q12~Q14得到不同分频系数的方波输出,各方波输出信号的周期如表1所示。这样,如果CD4060得不到CPU通过P1.7口发送来的喂狗信号——正脉冲,则CD4060的输出端Q14在1.8S内将产生一个完整周期的方波信号,而且低电平在前,高电平在后,其高电平经三极管VT1、VT2处理后形成单片机AT89C51的复位信号,使单片机AT89C51复位。

由此可见,单片机AT89C51正常工作时,只要在0.9S内从P1.7口送出一个正脉冲,便可及时清零看门狗,输出端Q14就不会产生定时溢出信号,从而使看门狗电路对单片机系统不起作用。并且,从CD4060的10个输出端Q4~Q10和Q12~Q14可以得到不同周期的方波信号,经三极管VT1、VT2处理后形成单片机系统的复位信号,可以适应不同用户应用程序,从而该硬件看门狗电路可以适应不同的单片机应用系统。

对MCS-51系列的单片机而言,它所需要的复位信号是高电平宽度大于2个机器周期的正脉冲,例如,单片机的时钟脉冲频率为12MHz时,则所需要的复位信号高电平宽度为2μs以上就可以了,而由上面的分析可知,CD4060的Q14输出的是高电平宽度为0.9s的方波,如果让它直接作为单片机的复位信号,则单片机的复位时间势必在0.9s以上,这样尽管可以使程序跑飞的单片机复位,但是显然没有做到尽快地引导跑飞的程序到正确的轨道来,如果这样做的话,对于某些单片机应用系统而言可能带来非常严重的后果。

图1中的三极管VT1、VT2及其周围阻容元件构成波形转换电路,把较宽的正脉冲变换为较窄的正脉冲,从而较好地解决了上述的问题。三极管VT1、VT2构成的2级直接耦合放大器作为缓冲器使用,它是CD4060的输出端Q14的灌电流负载,C2、R8是微分电路。

经分析后不难看出,电路中的R7、R8、C2还具有单片机上电复位的功能。

2、上电复位与看门狗信号复位的不同处理过程

由于程序跑飞很可能会造成一些随机破坏事件,对某些系统而言,希望尽可能从断点处恢复运行,因此,有必要妥善解决跑飞的程序回复后的处理。

单片机应用系统上电时,上电复位电路会使得单片机处于复位状态,这一般称为冷启动,这种情况下,单片机处于复位状态表现为:

(1)程序计数器PC的值为0000H。

(2)I/O口(P0、P1、P2、P3(1))为FFH状态,即准双向I/O口的输入状态。

(3)堆栈指示器SP=07H,即堆栈底为片内RAM的07H单元。

(4)除上述状态外,所有特殊功能寄存器SFR的有效位均为0。

(5)上电复位时,由于是重新供电,RAM在断电时数据丢失,上电复位后为随机数。

单片机应用系统的程序跑飞时,看门狗产生复位信号,也会使得单片机处于复位状态,这一般称为热启动,这种情况下,单片机处于复位状态表现为:

(1)程序计数器PC的值为0000H。

(2)I/O口(P0、P1、P2、P3)为FFH状态,即准双向I/O口的输入状态。

(3)堆栈指示器SP=07H,即堆栈底为片内RAM的07H单元。

(4)除上述状态外,所有特殊功能寄存器SFR的有效位均为0。

(5)复位信号使得单片机处于复位状态时,片内RAM中的数据不受影响。

比较上面两种单片机复位方式可知,上电复位与信号复位不同之处是第(5)点,这正是我们区分两种单片机复位方式的根据。具体方法是设置上电复位标志,例如,片内RAM的7EH单元和7FH单元分别为(7EH)=18H且(7FH)=81H时表示已完成上电复位。上面两种单片机复位方式都使得程序从0000H入口。然而,上电复位后要进行系统的完全初始化,而程序跑飞回复后往往要求保留一些过程参数,不允许重新初始化,而且还要对一些关键参数进行检查与修复。

因此,要根据不同情况进行不同的初始化处理。图2是上电复位与程序跑飞回复初始化处理框图。0000H是MCU的复位人口,程序启动后,首先判断是上电复位(冷启动),还是程序跑飞回复(热启动)。上电复位是开机操作,要建立上电标志,并进行系统的完全初始化。程序跑飞回复应进行相关资源的检查与修复,以防止系统运行出错。另外,根据系统特点,需要保留一些过程数据,不得进行完全初始化。




评论

技术专区