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

    文章

    561

    浏览量

    70799
  • 定时器
    +关注

    关注

    23

    文章

    3247

    浏览量

    114765

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

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

收藏 人收藏

    评论

    相关推荐

    一文详解看门狗定时器

    看门狗定时器由独立的1 Mhz 片内振荡驱动。这是VCC = 5V 时的典型值。请参见特性数据以了解其他VCC 电平下的典型值。通过设置看门狗定时
    发表于 09-02 16:40 4005次阅读
    一文详解<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>

    STM32看门狗定时器的工作原理和作用 看门狗定时器的特性

    看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数,一般来说都是向下计数的,给看门狗一个数字,程序开始运行后
    的头像 发表于 07-27 16:30 6095次阅读
    STM32<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的工作原理和作用 <b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的特性

    内部与外部看门狗定时器的比较

    摘要:本文对内部(集成在处理内部)看门狗定时器(WTD)与外部(基于硬件) WDT的优势和劣势进行了对比。内部看门狗便于设计,但容易失效。MAXQ2000微控制
    发表于 05-02 10:34 4656次阅读

    看门狗定时器的设计、工作原理及看门狗定时器的操作

    看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数,一般给看门狗一个数字,程序开始运行后看门狗
    发表于 05-23 09:14 7744次阅读
    <b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的设计、工作原理及<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的操作

    看门狗定时器的作用

    看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数,一般给看门狗一个数字,程序开始运行后看门狗
    发表于 10-20 14:41 6705次阅读

    dsp看门狗定时器的作用解析

    看门狗在外围监控DSP中软件的运行以及硬件的操作,当CPU出现故障时,看门狗将执行系统复位。如果软件进入了一个不正确的循环或者CPU出现暂时的混乱,看门狗定时器将出现溢出来使系统复位。
    发表于 11-21 16:52 1.4w次阅读
    dsp<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的作用解析

    基于VxWorks的看门狗定高效定时机制设计实现

    VxWorks提供了一个看门狗定时器(watchDog timer),它由以下四个函数维护: wdCreate( ) 创建并初始化一个看门狗定时器;wdDelete( ) 终止并
    发表于 03-06 09:22 4821次阅读
    基于VxWorks的<b class='flag-5'>看门狗</b>定高效<b class='flag-5'>定时</b>机制设计实现

    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>

    看门狗定时器是什么_如何在嵌入式系统中实现看门狗定时器功能

    看门狗定时器可以集成在单片机(MCU)内部,也可以作为单独的芯片放在外部。看门狗芯片具有集成威廉希尔官方网站 中重要的监视功能,使你可以从内部和外部监视系统的故障,并在发生故障时采取措施。
    的头像 发表于 06-22 14:25 6139次阅读
    <b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>是什么_如何在嵌入式系统中实现<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>功能

    看门狗定时器的相关问题和实验说明

    看门狗的作用: 看门狗定时器是一个计数,基本功能是在发生软件问题和程序跑飞后使系统重新启动。看门狗计数
    的头像 发表于 10-06 12:59 4563次阅读
    <b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>的相关问题和实验说明

    LPC2294看门狗定时器

    看门狗定时器(WDT)特点1.如果不定期重新装载,会内部重置芯片2.调试模式3.由软件启动,但是需要硬件复位或者看门狗复位/中断才能禁用。4.如果看门狗启用了之后,采用不正确或者不完全
    发表于 12-04 10:36 8次下载
    LPC2294<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>

    一文详解微控制中的看门狗定时器

    本文介绍看门狗定时器,通常缩写为 WDT,也称为计算机正常运行定时器或 COP。有外部看门狗设备和内部看门狗功能。本文仅介绍内部
    的头像 发表于 04-25 17:26 5150次阅读
    一文详解微控制<b class='flag-5'>器</b>中的<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>

    使用高速微型看门狗定时器

    在恶劣环境中使用的高速微控制应用的设计人员将使用看门狗定时器来防止软件失控。DS80C320高速微控制集成了看门狗
    的头像 发表于 02-09 11:54 945次阅读

    内部和外部看门狗定时器的比较

    看门狗定时器需要额外的威廉希尔官方网站 板空间,但在可靠性至关重要的情况下是必不可少的。本文最后提供了一个比较矩阵,重点介绍了每个 WDT 解决方案的主要优点和缺点。
    的头像 发表于 04-03 11:15 3048次阅读

    AXI时基看门狗定时器(WDT)概述

    XilinxLogiCORE IP AXI4-Lite时基看门狗定时器(WDT)是一个32位外设,提供32位自由运行时基和看门狗定时器
    的头像 发表于 10-16 11:10 1195次阅读
    AXI时基<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>(WDT)概述