电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 系统管理器件 > 详细信息
系统管理器件:基于CD4060的硬件看门狗技术
来源:   时间: 2007-11-23 2:12:05    
0 引 言

  多年来,围绕着单片机应用系统的抗干扰技术以及其受干扰后的自我恢复,在硬件和软件等方面积累了多种方法,这些方法相互结合,配合使用,有效地提高了系统的可靠性与抗干扰性。

  看门狗(Watch Dog Timer,简称为WDT)技术就是最常见的抗干扰技术。看门狗WDT有硬件看门狗和软件看门狗之分,无论是硬件看门狗还是软件看门狗实际上都是一个可清零的定时计数器。如果该定时计数器用MCU芯片外部电路实现,则为硬件看门狗,如果该定时计数器用MCU芯片内部定时器/计数器实现,则称为软件看门狗。

  本文介绍硬件看门狗技术,并给出了实用的基于CD4060的硬件看门狗电路。

1 硬件看门狗电路及其工作原理

  它是针对工程项目所设计的一个实用电路,并且该电路实际使用情况良好。下面介绍电路的组成及其工作原理。

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

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

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

T0SC=2.2×R1×C1=0.22 ms

  振荡器产生的计数脉冲(矩形波)可以直接引出,同时还可以从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个机器周期的正脉冲,例如,单片机的时钟脉冲频率为12 MHz时,则所需要的复位信号高电平宽度为2μs以上就可以了,而由上面的分析可知,CD4060的Q14输出的是高电平宽度为0.9 s的方波,如果让它直接作为单片机的复位信号,则单片机的复位时间势必在0.9 s以上,这样尽管可以使程序跑飞的单片机复位,但是显然没有做到尽快地引导跑飞的程序到正确的轨道来,如果这样做的话,对于某些单片机应用系统而言可能带来非常严重的后果。图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的复位人口,程序启动后,首先判断是上电复位(冷启动),还是程序跑飞回复(热启动)。上电复位是开机操作,要建立上电标志,并进行系统的完全初始化。程序跑飞回复应进行相关资源的检查与修复,以防止系统运行出错。另外,根据系统特点,需要保留一些过程数据,不得进行完全初始化。

3 喂狗指令插入原理与位置

  单片机应用系统运行正常时,单片机的CPU应在0.9 s内从P1.7口送出一个正脉冲,使看门狗及时清零,也就是说,CPU要在0.9 s以内执行一次下面的喂狗程序段(喂狗指令):

SETBP1.7

NOP

NOP

CLRP1.7

  喂狗程序段插入到用户应用程序之中。单片机系统的用户应用程序一般由循环结构的主程序和中断服务子程序组成。首先,应尽可能准确地估算各应用功能模块的运行时间,估算运行时间的时候,应考虑程序可能被中断,应把中断程序的运行时间也计算在内。然后,在若干个应用功能模块的运行时间小于0.9 s的两个应用功能模块之间插入上面的喂狗程序段。

  为了防止看门狗非正常失效(即:已发生程序跑飞但看门狗不“叫”——不产生单片机所需要的复位信号),在用户应用程序中插入喂狗程序段时应注意下面3点。

  (1)避免在中断服务子程序中插入喂狗程序段。

  当MCU受干扰而发生程序跑飞,只要MCU片内中断允许控制寄存器不遭破坏,则不论程序飞到什么地方,CPU仍能像程序正常运行时一样响应和执行中断服务子程序。因此,在各中断服务子程序中都不应该插入喂狗程序段。

  (2)避免在用户应用程序中的局部循环圈内插入喂狗程序段。

  这样的话,即使程序跑飞后非正常进入该循环圈内,并且跑飞后的程序在该循环圈内“死循环”,也会因为看门狗接收不到喂狗信号,发生看门狗定时计数溢出,进而使系统恢复正常运行。

  (3)对P1口的其它7根I/O线的输入和输出操作全部采用位操作指令,这样的话,对P1口的所有操作都是采用的位操作指令。因为如果对P1.0~P1.6的输入和输出操作采用直接寻址的方式完成,则势必会有可能影响到P1.7的输出操作,从而可能导致看门狗非正常失效。

4 结 论

  在用户应用程序中插入喂狗程序段后,相当于启动了看门狗,就无法再使用各类单片机开发系统或单片机仿真器对该应用系统进行仿真调试。所以,单片机应用系统在开始设计和调试用户应用程序时,通常不连接看门狗电路,也不在用户应用程序中插入喂狗程序段,而是在用户应用程序研发成功后,再将看门狗电路连接到硬件系统中,并在用户应用程序中插入喂狗程序段,并且进行系统的现场试验,以检验系统的抗干扰能力是否满足系统的设计要求。

  将采用了CD4060的硬件看门狗技术的单片机应用系统放置在具有较强电磁干扰的环境中工作,如果能长时间连续正常地工作,则说明系统具有较强的抗干扰能力。作者曾在采用了基于CD4060的硬件看门狗技术的单片机应用系统的交流电源插座处,较频繁地插拨其它用电设备的交流电源插头,没有发现系统程序跑飞的现象。相反地,把系统中的硬件看门狗电路拆掉,则系统在多次插拨其它用电设备的交流电源插头的情况下,有时会出现系统程序跑飞的现象。由此可见,基于CD4060的硬件看门狗技术确实提高了单片机应用系统的抗干扰能力。本文所介绍的看门狗技术,已成功地使用在多个实际的MCU应用系统中,保证了系统的可靠运行。

相关信息
发表评论
打印本页 关闭本页
基于AT89C51的数据采集系统设计新方法
  引言   近年来,随着制造技术的发展,单片机的价格越来越低,性能却不断提升,因而其应用范围也越来越广。然而在开发基于单片机的应用系统时,传统方法一般都需要大量的硬件设备,这些设备极易损坏而且携带不方便。为此,本文基于AT89C51数据采集系统详细说明了如何利用Pro-teus和两款串口仿真软件来进行单片机程序及外围电路的仿真设计。采用该方法可以大大简化硬件电路测试和系统调...
>>详细内容
基于AT89C51单片机设计的简易智能机器人
  引言   随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的...
>>详细内容
MCS-51系列单片机模拟SPI总线的方法
    摘要:MCS-51系列单片机中由于部分型号不带SPI串行总线接口而限制了其在SPI总线接口器件的使用。文中介绍了SPI串行总线的特征和时序,并以串行E2PROM为例,给出了在51系列单片机上利用I/O口线实现SPI串行总线接口的方法和软件设计程序。   关键词:单片机 SPI串行总线 总线接口 1 引言   SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,...
>>详细内容
基于MCS-51单片机的IEEE-488接口设计
    摘 要 介绍了以MCS-51单片机为内部控制器的程控仪表的接口设计思想,详细描述了MCS-51系列单片机和MC68488接口芯片之间的时序配合、控制信号转换和中断信号调整的实现方法。  关键词 MCS-51程控接口 1 概 述   智能仪器程控接口电路的设计,首先是根据仪器的功能确定该仪器的接口功能。文中所涉及的仪器是以MCS-51系列单片机作为内部控制器的高速数据采集装置,由于A/D转换...
>>详细内容
基于AT89C51的密码电源开关设计
    摘要:为了保护用户用电的权益,使非法用户在不知道密码的情况下,无法使用电源并实行相应的操作,特开发出此密码电源开关。文章详细叙述了密码电源开关的硬件结构和软件设计流程,通过论述表明,用单片机控制的密码电源开关具有结构灵活、开发经济、工作稳定等优势。   关键词:密码电源开关;硬件结构;软件设计   随着现代技术的发展,电与我们生活的关系越来越密切,从工业生产到...
>>详细内容
MCS-51单片机与CPLD/FPGA接口逻辑设计
     在功能上,单片机与大规模CPLD有很强的互补性。单片机具有性能价格比高、功能灵活、易于人机对话、良好的数据处理能力潍点;CPLD/FPGA则具有高速、高可靠以及开发便捷、规范等优点。以此两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中仍将被广泛应用。本文就单片机与CPLD/FPGA的接口方式作一简单介绍,希望对从事单片机和CPLD/FPGA研发的朋友能有所启发。 单片机与CPLD...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com