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

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

3天内不再提示

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

星星科技指导员 来源:ADI 作者:ADI 2023-04-03 11:15 次阅读

本文比较了内部(与微处理器集成)和外部(基于硬件看门狗定时器(WDT)的优缺点。它解释了内部看门狗定时器易于实现,但容易发生故障。MAXQ2000微控制器的WDT作为内部看门狗的一个例子。基于硬件的看门狗定时器需要额外的电路板空间,但在可靠性至关重要的情况下是必不可少的。本文最后提供了一个比较矩阵,重点介绍了每个 WDT 解决方案的主要优点和缺点。

介绍

看门狗定时器 (WDT) 强制嵌入式微处理器或微控制器复位(硬件复位),以响应无效的软件状态。这种状态可以像由软件错误、宇宙射线或 EMI(电磁干扰)等事件引起的切换寄存器位一样简单。

本文探讨了为应用程序选择最佳计时器的一些注意事项。

WDT 的典型应用

防止微处理器锁定是WDT的典型应用。通常,嵌入式软件有一个“主循环”,它调用几个指导各种活动的子例程。然后,WDT 在循环顶部重置一次。如果循环因任何原因无法正确执行,则看门狗将触发并重置设备。

具有WDT的系统特别适合检测位错误。瞬时位错误是由中断引起的,包括软内存故障和 EMI 放电到存储设备及其接口。这些位错误会导致数据临时位极性翻转进出嵌入式处理器。当在获取程序信息时发生此位错误时,微处理器将开始执行错误的代码。潜在地,处理器可以开始执行操作数而不是操作码。当处理器开始执行此错误代码时,它将无法正确执行为监视器提供服务的代码。超时间隔后,看门狗将导致处理器重置。在正确设计的系统中,此重置将纠正原始错误。

另请注意,WDT 无法立即检测到故障。根据定义,WDT 必须达到预定时间间隔的终点,然后才能重置处理器。这一事实解释了为什么在 WDT 纠正失控条件之前应选择尽可能短的超时间隔过期。

内部WDT与外部WDT

WDT可以作为微处理器的内部,如MAXQ2000微控制器,外部作为独立的IC,或作为支持ASIC的一部分嵌入。无论 WDT 是内部还是外部,每种设备类型都有优点和缺点。内部定时器可以节省资金,但可能会受到失控代码的影响。虽然实现成本较高,但外部WDT具有单独的时钟源,可提供更好的可靠性;如果配置正确,失控代码无法绕过或禁用它。

基本 WDT 操作

每个WDT的核心都是一个计数器寄存器。时钟源不断递增计数器寄存器,当计数器溢出时,看门狗逻辑会强制系统复位。要防止此重置,必须定期清除计数器寄存器,此过程称为“维护监视器”。外部WDT IC具有一个数字输入,可在每次低到高或从高到低转换时清除计数器寄存器。对于内部 WDT,“服务”实现各不相同。例如,MAXQ2000的WDT可以通过设置寄存器位(MOVE WDCN.0,#1)来提供服务。PIC 微控制器和其他微处理器使用专用指令 (CLRWDT) 为计数器寄存器提供服务。

正常运行的软件应提供具有足够规律的数字信号转换,以便计数器寄存器永远不会溢出。但是软件可能会陷入无限循环或开始失控执行,从而无法清除计数器寄存器。这种情况最终会触发重置。WDT 周期是计数器溢出所需的时间。若要防止重置,监视器服务之间的间隔必须短于超时期限。

某些 WDT 包含比基本计数器寄存器体系结构更高级的功能。常见的变体是“窗口”或“最小/最大”WDT。此功能在看门狗维修太慢或过快时发出复位信号。如果清除计数器寄存器的信号到达,而计数器寄存器中的数字低于某个阈值,则器件将触发系统复位。简而言之,如果服务过快,看门狗会发出系统复位,从而在晶体振荡器开始以晶体标称频率的谐波运行时阻止微处理器运行。另一个功能通过逻辑输入(外部看门狗)或寄存器位(内部看门狗)禁用WDT。

微处理器内部的看门狗定时器

这篇简短的文章不能涵盖微处理器(μP)WDT的所有变化,而是介绍MAXQ2000微控制器内部的WDT。虽然该定时器比上述基本计数器寄存器 WDT 稍微复杂一些,但它类似于许多其他商用微控制器芯片上集成的 WDT。

如果不维修,MAXQ2000的WDT溢出,触发中断,额外计算512个系统时钟周期,然后自行复位。这种中断提供了保存调试信息的“最后机会”,大多数设计人员都认为这种机会在电路开发和故障排除期间很有用。此外,中断可用于从错误中恢复并清除看门狗,而不是保存调试信息。但是,后一种方法可能会损害系统的可靠性。

与其他内部WDT一样,MAXQ2000的看门狗可以通过软件禁用。但是请注意,此功能是一把双刃剑:失控的代码可以禁用监视器,然后继续其横冲直撞。

某些微处理器将其 WDT 连接到独立于系统时钟的内部振荡器。虽然MAXQ2000的WDT时钟来自系统时钟,但MAXQ2000的时钟电路在主振荡器发生故障时将切换到备用RC振荡器。

看门狗定时器 IC

专用的外部WDT IC具有广泛的功能,许多制造商都提供。有些器件,如MAX6752,具有“窗口看门狗”功能。MAX6752还可以使用外部电容调整看门狗超时周期和复位脉冲的宽度,从而满足微处理器和应用的要求。

MAX6369 WDT上的逻辑输入引脚可以禁用定时器并防止复位。尽管将逻辑引脚连接到微处理器很诱人,但这样做可能会损害系统可靠性,因为失控的代码可能会意外禁用看门狗。大多数情况下,在启动期间需要禁用看门狗,而微处理器启动。MAX6369在复位后提供超长的看门狗周期。然后,在首次为监视器提供服务后,将返回正常持续时间的超时。此方法比显式禁用和重新启用监视器计时器可靠得多。

外部看门狗定时器也可以监视 V抄送电源,并在该电压降至指定阈值以下时置位系统复位。一些定时器提供去抖动和ESD保护复位开关输入。此类IC中的电压监视器在工作温度范围内通常比某些微处理器中包含的内置掉电电路更准确。

结论

表1列出了外部和内部WDT的优点和缺点。 外部看门狗定时器IC更昂贵,因此应该用于需要更高可靠性的关键系统。但是,将WDT的禁用输入连接到微处理器(允许软件禁用看门狗复位),会损害内部看门狗定时器的可靠性。因此,微处理器内部的看门狗定时器主要适用于非关键系统和降低成本。

外部 WDT 内部 WDT
优点 如果设计正确,不会意外地从软件中禁用。
时钟源独立于系统时钟。
提供最小/最大看门狗超时周期。
复位输出可以连接到需要复位的其他系统IC。
监视一个或多个电源轨(某些微处理器中的内部掉电电路不是很准确)。
超时周期可通过使用电容器完全调节。
成本基本上为零。
为了保存调试信息,它可以在重置之前触发中断。
使用方便。
有时,双向复位引脚可以连接到需要复位的其他系统IC。
当处理器从高速更改为低速或睡眠模式时,可以修改超时。
看门狗超时周期随温度的变化较小。
缺点 实施需要一些成本。
温度范围内的超时期限可能会有很大差异。
需要一条微处理器 I/O 线。
由于微处理器省电功能,必须计算超时以匹配高速和低速时钟模式。
几乎所有都可以通过软件禁用(因此,不那么可靠)。

审核编辑:郭婷

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

    关注

    10

    文章

    559

    浏览量

    70743
  • 微处理器
    +关注

    关注

    11

    文章

    2247

    浏览量

    82311
  • 定时器
    +关注

    关注

    23

    文章

    3237

    浏览量

    114467
收藏 人收藏

    评论

    相关推荐

    一文详解看门狗定时器

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

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

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

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

    摘要:本文对内部(集成在处理内部)看门狗定时器(WTD)与外部(基于硬件) WDT的优势和劣势
    发表于 05-02 10:34 4600次阅读

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

    看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数,一般给看门狗一个数字,程序开始运行后看门狗
    发表于 05-23 09:14 7632次阅读
    <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 6668次阅读

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

    VxWorks提供了一个看门狗定时器(watchDog timer),它由以下四个函数维护: wdCreate( ) 创建并初始化一个看门狗定时器;wdDelete( ) 终止并
    发表于 03-06 09:22 4756次阅读
    基于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故障可能无意中使看门狗定时器丧失功用,因此整合看门狗可能不会总是按预期的方式运作。同样地,虽然软件以内部看门狗能够侦测所有冻结或停机
    的头像 发表于 08-29 08:13 2.4w次阅读
    什么是<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>?为何<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>如此重要?

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

    看门狗定时器可以集成在单片机(MCU)内部,也可以作为单独的芯片放在外部看门狗芯片具有集成电路中重要的监视功能,使你可以从
    的头像 发表于 06-22 14:25 6055次阅读
    <b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>是什么_如何在嵌入式系统中实现<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>功能

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

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

    PIC内部看门狗使用总结

    PIC的看门狗是一个系统定时器,使用内部低频31Khz时钟源作为时钟,定时范围为1ms-256s。看门狗的配置步骤如下:通过配置字 配置WD
    发表于 11-16 13:36 9次下载
    PIC<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 5003次阅读
    一文详解微控制<b class='flag-5'>器</b>中的<b class='flag-5'>看门狗</b><b class='flag-5'>定时器</b>

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

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

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

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