0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文读懂单片机看门狗电路

GReq_mcu168 来源:互联网 作者:佚名 2017-10-31 17:29 次阅读

看门狗定时器是一个计数器,基本功能是在发生软件问题和程序跑飞后使系统重新启动。看门狗计数器正常工作时自动计数,程序流程定期将其复位清零,如果系统在某处卡死或跑飞,该定时器将溢出,并将进入中断。在定时器中断中执行一些复位操作,使系统恢复正常的工作状态,即在程序没有正常运行期间,如期复位看门狗以保证所选择的定时溢出归零,使处理器重新启动。软件的可靠性一直是一个关键问题。任何使用软件的人都可能会经历计算机死机或程序跑飞的问题,这种情况在嵌入式系统中也同样存在。由于单片机的抗干扰能力有限,在工业现场的仪器仪表中,常会由于电压不稳、电弧干扰等造成死机。在水表、电表等无人看守的情况下,也会因系统遭受干扰而无法重启。为了保证系统在干扰后能自动恢复正常,看门狗定时器(Watchdog Timer)的利用是很有价值的。

现今市面上流行的一些单片机,多嵌有内部WDT,如TI的MSP430系列,Philips的P87XXX和P89XXX系列,MicrochipPIC列,Atmel的AT89SXX系列和Holtek公司的Htxxx系列。但是这些内部看门狗在工作时,多存在一定的误差。一些工程师在设计的过程中,由于忽略了这一点,导致系统出现异常。MSP430系列单片机是美国德州仪器公司(TI)近几年开发的新一代单片机,该系列是一款16位、具有精简指令集、超低功耗的全新概念混合型单片机。在众多单片机系列中,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为一颗耀眼的新星。其内部自带看门狗及复位电路,理论上如果程序跑飞,可用看门狗将其复位。但在实际使用过程中,发现看门狗的作用并非万无一失,以下实验证明了这一点。实验电路如图1所示。

试验程序清单:#includevoid main(void){p1dir l=0x0f; //设置p1.2-.p1.0为输出for(;;){volatile unsigned int i;wdtctl=wdtpw+wdtcncl;//复位wdtpiout==0x0t;i=5000;do(i--)while(i!=0);}} 上述实验启动后,如果程序正常运行,LED会闪烁。缺省时,MSP430的看门狗是允许状态,所运行的程序会不断地访问看门狗。理论上,这个系统是不会发生启动失败的,因为即使启动失败,看门狗也应该在数百毫秒内启动,复位整个系统。基于这种思想,对单片机的复位进行测试。K2断开,用K1连续产生。Reset信号,测试看门狗使系统重启的成功率。K2闭合,则reset端高电平,理论上K1不能有效产生复位脉冲,观察看门狗是否起作用。 实验结果与分析 实验结果如下:K2断开,连续开关K1,上电重启系统,平均155次失败1次(LED不闪),即看门狗失效概率0.6%;K2闭合,连续开关K1,平均18次失败1次(LED不闪),且一旦失败,将连续失败下去,看门狗无效率占到了约5.5%。另外,当采用同样具有内置看门狗的其他系列单片机替代实验中的MSP430,启动程序段作相应修改时,实验结果仍大致相同,这说明具有内置看门狗的单片机面临的问题是相同的。经分析可能有如下原因: ①由于看门狗的时钟不独立,计数时钟与系统为同一分频链路,因此看门狗不能在系统出现问题时有效运作。 ②由于时钟可用软件设置,启动失败时,开机时钟可能处于空档,没有时钟看门狗不能生效。 ③有些看门狗需要用软件设置或启动,因此启动失败后,初始化程序没有激活,CPU可能跳转到随机代码,使看门狗被禁止。这样的看门狗是需要有可靠的上电复位作保证的,因此,从理论上讲,原设计存在着不合理性。基于上述分析,采用片外看门狗专用芯片TPS3823由独立的分频振荡电路提供计数脉冲。实验电路如图2所示。

单片机看门狗电路上述电路中,TPS3823输出定时溢出信号给Reset端。程序段中,CPU要不断地通过I/O口输出喂狗信号,使看门狗计数器清零。在此电路中重复上述试验中K1、K2的相同动作,系统重启成功率达到100%。

未来的内置看门狗必须有独立可靠的时钟。系统上电后,看门狗即为允许状态,无需软件设置,它只能被外部硬件跳线或内部熔丝(fuse)所禁止。目前,如果要求设计可靠性较高的嵌入式系统,外置看门狗是必须考虑的。内置看门狗的另一问题是系统复位后,程序应判断是由Reset端正常上电复位,还是程序跑飞看门狗所致,由此确定现场数据是否应该保留。这也是在看门狗应用中所应考虑的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗电路
    +关注

    关注

    3

    文章

    24

    浏览量

    20816

原文标题:单片机看门狗电路的作用

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    89C51单片机+X25045构成的看门狗电路

    采用89C51单片机和X25045组成的看门狗电路,X25045芯片内包含有看门狗定时器,可通过软件预置系统的监控时间。
    发表于 02-14 10:49 5694次阅读
    89C51<b class='flag-5'>单片机</b>+X25045构成的<b class='flag-5'>看门狗</b><b class='flag-5'>电路</b>

    C51单片机看门狗电路

    采用89C51单片机和X25045组成的看门狗电路,可通过软件预置系统的监控时间。
    发表于 02-14 10:44 1.4w次阅读
    C51<b class='flag-5'>单片机</b><b class='flag-5'>看门狗</b><b class='flag-5'>电路</b>

    STM32单片机两种看门狗的区别和配置方法

    SATM32单片机看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看下他们的具体区别和配置方法。
    的头像 发表于 10-10 11:27 7784次阅读
    STM32<b class='flag-5'>单片机</b>两种<b class='flag-5'>看门狗</b>的区别和配置方法

    看门狗电路

    基于At89c51单片机看门狗电路图。所谓看门狗电路是计算机技术中
    发表于 10-21 01:29 1554次阅读
    <b class='flag-5'>看门狗</b><b class='flag-5'>电路</b>

    51单片机看门狗电路

    51单片机看门狗电路 采用89C51单片机和X25045组成的看门狗电路,X25045硬件连接
    发表于 01-13 08:34 3514次阅读
    51<b class='flag-5'>单片机</b><b class='flag-5'>看门狗</b><b class='flag-5'>电路</b>

    单片机应用中看门狗技术

    分析研究了单片机应用系统中软件看门狗、单双时限和强制复位 看门狗 等几种常见的看门狗技术及具体的实现方法, 从提高看门狗工作可靠性的角度,
    发表于 06-03 16:49 318次下载
    <b class='flag-5'>单片机</b>应用中<b class='flag-5'>看门狗</b>技术

    单片机看门狗定义及其作用分析

    看门狗(WDT)是个定时器,开启看门狗定时器之后(比如定时200ms),在单片机程序中每隔定的时间(小于200ms)要“喂狗”
    发表于 11-16 10:27 1.4w次阅读

    TB3123 - PIC®单片机的窗口看门狗定时器

    窗口看门狗定时器(Windowed Watchdog Timer,WWDT)是PIC单片机的增强型看门狗定时器。该定时器是PIC单片机现有看门狗
    发表于 03-26 14:35 0次下载
    TB3123 - PIC®<b class='flag-5'>单片机</b>的窗口<b class='flag-5'>看门狗</b>定时器

    PIC单片机看门狗_看门狗定时器工作原理

    直溢出,但是溢出后是否复位,这要看单片机的具体类型了,PIC16F688在休眠唤醒后继续执行程序,不复位,但是其他的单片机看手册。如果我们程序中休眠的时候不需要看门狗,那么我们必须把
    发表于 05-18 01:59 8052次阅读
    PIC<b class='flag-5'>单片机</b>之<b class='flag-5'>看门狗</b>_<b class='flag-5'>看门狗</b>定时器工作原理

    单片机开发:不得不了解的看门狗电路

    单片机学习、开发中,我们不可避免地要接触看门狗电路,那看门狗电路是什么呢?你掌握了吗?看门狗
    发表于 11-13 13:36 12次下载
    <b class='flag-5'>单片机</b>开发:不得不了解的<b class='flag-5'>看门狗</b><b class='flag-5'>电路</b>

    51单片机(十三)—— 看门狗功能测试

    看门狗介绍 在由单片机构成的系统中,由于单片机的工作有可能受到外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,单片
    发表于 11-23 16:22 15次下载
    51<b class='flag-5'>单片机</b>(十三)—— <b class='flag-5'>看门狗</b>功能测试

    STC单片机看门狗

    STC单片机看门狗设时钟为11.0592MHz看门狗溢出时间 = (12 Prescale32768)/11059200 = Prescale*393216/11059200也可以在下载程序里设置
    发表于 12-23 19:22 10次下载
    STC<b class='flag-5'>单片机</b><b class='flag-5'>看门狗</b>

    STM32:独立看门狗、窗口看门狗的配置

    STM32单片机看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同。
    发表于 02-08 16:15 18次下载
    STM32:独立<b class='flag-5'>看门狗</b>、窗口<b class='flag-5'>看门狗</b>的配置

    单片机看门狗工作原理

    刚学习单片机的萌新都听说过单片机看门狗,但是对于其工作原理并不是很清楚,今天这篇文章将为大家介绍单片机看门狗工作原理,
    的头像 发表于 10-12 13:46 6256次阅读

    STM32单片机看门狗的配置方法

    SATM32单片机看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看下他们的具体区别和配置方法。
    的头像 发表于 06-22 09:07 2877次阅读
    STM32<b class='flag-5'>单片机</b><b class='flag-5'>看门狗</b>的配置方法