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

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

3天内不再提示

什么是看门狗定时器?为何看门狗定时器如此重要?

贸泽电子设计圈 来源:未知 作者:李倩 2018-08-29 08:13 次阅读

就像一只住在名媛手提包中叫不停的小狗,看门狗定时器(watchdog timer)也时常被认为是不必要的多此一举。然而,若将两者一视同仁,是对看门狗的极大侮辱。不同于「手提包小狗」,看门狗具有关键的监控功能,能够帮助您监控系统里外的故障情形,并在故障发生时采取行动。

什么是看门狗定时器?

简单来说,看门狗定时器是一种若在特定时间范围内未从处理器接收到周期性脉冲讯号,就会发出重设输出讯号的装置。其中一种应用这种装置的方法,是透过来自处理器的数字讯号输出(GPIO)回馈给外部看门狗定时器的看门狗输入(WDI),如图1所示。TPS3851便是具有整合看门狗定时器的监控器,能够监控微控制器电源轨,并透过外部方式监控从微控制器(MCU)发出的数字脉冲。

图1 TPS3851所提供的看门狗监控。

处理器周期性地向看门狗定时器发送一个脉冲,以表示系统软件的正常运作。若看门狗定时器在规定的时间范围(称为看门狗超时)内未接收到此脉冲,看门狗定时器将发出重设输出讯号。该重设输出讯号可以用于通知系统处理器出现了停机或冻结的情况,或重设处理器本身。图2所示为在看门狗超时期间内接收的脉冲,以及在超过看门狗超时之后所接收的脉冲。

图2 标准看门狗定时器的运作。

为何看门狗定时器如此重要?

看门狗定时器提供一种警报系统的机制,或重设一个软件历经冻结或停机的处理器。尽管没有人会刻意设计会冻结的软件,但优秀的系统设计人员还是会为故障做准备——因为未雨绸缪总是好的。若缺少这种监控,处理器可能会无限期地冻结,并导致更多的系统故障。像是TPS3851具有可调整超时间间隔的外部看门狗定时器,能够在几毫秒内辨识这些软件冻结,并适当地重设系统或处理器。因为要手动重设这些系统是不实际、甚至几乎是不可能的,因此这项功能在嵌入式或远程系统中更有其必要性。

如何在嵌入式系统运用看门狗定时器?

有两种主要的方式能够来实作看门狗定时器:

---使用具有整合看门狗功能的处理器。许多微控制器如MSP430F5529系列具有整合看门狗的功能。它的价值在于非常容易实作,且不需要使用其他IC。然而,有一个重要的告诫:由于程序代码问题而导致的MCU故障可能无意中使看门狗定时器丧失功用,因此整合看门狗可能不会总是按预期的方式运作。同样地,虽然软件以内部看门狗能够侦测所有冻结或停机的方式编写,但是,采取额外的步骤以冗余方式监控看门狗输入可以帮助解决程序代码中不可预见的错误。

---使用具有看门狗定时器的电压监控器。像是TPS3851或TPS3110具有看门狗定时器功能的监控器能够以外部冗余方式监控电源电压和看门狗讯号。若处理器的内部看门狗未能侦测到错误或缺失的脉冲,外部看门狗定时器将能发挥其他方式无法达到的侦测层级。

原则上,看门狗定时器的功能不会过于复杂;然而,其在维持系统可靠性的重要性也不容小觑,尤其是在系统发生错误、但是人为的系统重设是困难甚至是不能实现的情况下。

探索看门狗定时器的应用

接下来,本文将说明为什么应该在应用中使用看门狗定时器、窗口式看门狗定时器如何运作,以及看门狗定时器的一些特性,如何让它们成为许多不同应用的绝佳附加功能。

为什么要应用中使用看门狗定时器?

看门狗定时器在许多应用中都占有一席之地,如无人机、电网计量、马达控制…等。对于这些不同的应用,看门狗定时器提供相同的基本功能:透过对处理器的监控侦测出错误运作并发出相应的讯号。

然而,监控的使用可能依据应用类型而有所不同。例如,期望有人能够在距离地表几百英呎的无人机中手动重设其处理器是不切实际的。在智慧仪表中,同样的问题可能导致装置无法读取或记录信息,位于远程位置的仪表和传感器也会遇到软件故障的状况,导致系统无法读取和记录信息,并且也没有人能够手动重设的情形。控制马达和其他机械零组件的系统中的程序代码故障尤其令人紧张,因为这些系统的故障可能对正在操作和在附近的人员造成身体上的伤害。好在使用看门狗定时器可以增加冗余来拦截这些错误,有助于防止这些问题的发生。

窗口式看门狗定时器如何运作?

图3所示的窗口式看门狗定时器是一种特殊的看门狗定时器,其不仅监控在看门狗超时结束(即看门狗上部边界)前处理器所发送的讯号是否失败,它还能监控处理器是否在看门狗超时窗口开始前发送看门狗输入端(WDI)讯号(即看门狗下部边界)。此功能如图4所示。

图3 监控微控制器的窗口式看门狗定时器。

图4 窗口式看门狗功能。

不同于只检查脉冲是否在超时结束前抵达的标准看门狗定时器。监控早期WDI讯号能够侦测并制止不理想的超频,是相当有用的功能。

看门狗定时器的附加功能有哪些?

窗口式看门狗定时器只是看门狗定时器众多功能中的一种附加功能。几个其他附加功能能够确保系统的稳健性和功能性:

---可调整式看门狗超时:不同的系统和应用对于其WDI讯号需要不同的超时周期。外部电容和SET接脚可以用在看门狗超时中几毫秒到1分钟不等的调整。

---看门狗定时器的关闭功能:有些看门狗定时器能够透过接脚在装置上的使用而被关闭。这在系统初始化和除错的过程中,不想重设处理器时非常实用。

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

    关注

    10

    文章

    541

    浏览量

    70257
  • 定时器
    +关注

    关注

    23

    文章

    3148

    浏览量

    112041

原文标题:解析看门狗定时器的重要性

文章出处:【微信号:Mouser-Community,微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在嵌入式系统运用看门狗定时器

    接收的脉冲。图2 标准看门狗定时器的运作。为何看门狗定时器如此
    发表于 08-11 09:29

    详解看门狗定时器

    详解看门狗定时器
    发表于 01-24 17:27

    看门狗定时器硬件外设参考设计

    内部看门狗定时器属于硬件外设,几乎是所有单片微控制的一个组成部分,可与板载外设和系统时钟进行交互(图 1)。 默认情况下,内部看门狗定时器
    发表于 07-23 09:32

    看门狗定时器是什么

    简介  看门狗定时器是单片机的一个组成部分,在单片机程序的调试和运行中都有着重要的意义。看门狗定时器(WDT,Watch Dog Timer
    发表于 07-13 06:34

    看门狗定时器

    看门狗定时器(WDT:Watch Dog Timer)实际上是一个计数。 一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。 如果程序
    发表于 07-21 07:35

    什么是看门狗定时器

    看门狗看门狗是什么看门狗定时器(WDT, Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数,一般给
    发表于 07-21 06:37

    什么是看门狗定时器

    STM32看门狗1.简介:首先我们要知道什么是看门狗看门狗定时器(WDT,Watch Dog Timer)实际上是一个计数,一般给
    发表于 07-30 08:22

    看门狗定时器概念

    目录1、看门狗定时器(WDT,Watch Dog Timer)2、嘀嗒定时器3、普通定时器和高级定时器开发板为洋桃一号开发板,MCU为STM
    发表于 07-30 07:52

    怎么实现简单锁定看门狗定时器设计?

    看门狗定时器工作原理是什么?有哪些功能作用?怎么实现简单锁定看门狗定时器设计?
    发表于 09-26 06:06

    怎么使用看门狗定时器

    怎么使用看门狗定时器
    发表于 11-08 08:54

    怎样去使用看门狗定时器

    看门狗定时器是什么?看门狗定时器有何应用?怎样去使用看门狗定时器呢?
    发表于 11-09 06:44

    看门狗定时器的特性都有哪些呢

    看门狗定时器该怎样去使用呢?看门狗定时器的特性都有哪些呢?
    发表于 01-17 07:49

    看门狗定时器的相关资料分享

    看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。在很多单片机中都内置了看门狗看门狗本身是一个定时器
    发表于 01-24 07:24

    看门狗定时器WDT是什么

    看门狗定时器WDT,是微控制运行状态的监控系统,在微控制内部程序跑飞后,微控制的控制功能将进入混乱状态,这个时候
    发表于 02-15 07:07

    看门狗定时器模块的特点包括哪些呢

    看门狗定时器是一个32位定时器,可以用作看门狗或间隔定时器看门狗
    发表于 02-15 07:35