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

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

3天内不再提示

在系统重新启动期间禁用看门狗计时器

星星科技指导员 来源:ADI 作者:ADI 2023-01-11 16:07 次阅读

在大多数微处理器应用中,看门狗监控器(如MAX6369)用于监测系统活动,可能需要在系统重启期间禁用看门狗。当软件启动时间超过监视器超时期限时尤其如此。本应用笔记描述了一种电路,可用于选择性禁用看门狗定时器

介绍

看门狗定时器是现代嵌入式系统的基本组成部分。看门狗定时器持续监视代码的执行,如果软件挂起或不再执行正确的代码序列,则重置系统。

微控制器单元 (MCU) 在通电时启动启动过程,这可能需要几毫秒到几秒钟的时间。微控制器在启动过程中执行系统初始化和其他内务管理活动。MCU在运行启动序列时,预计监控MCU的外部看门狗定时器不会出现任何中断或RESET信号。这是看门狗定时器上电或启动延迟较长的主要原因。

在启动过程长于监视器超时期限的应用程序中,监视程序计时器在启动完成之前一直断言监视器输出 (WDO)。这会造成死锁,MCU 将永远挂起。

本应用笔记解释了MAX6369–MAX6374系列如何消除这种死锁。

应用电路及说明

MAX6369–MAX6374是一系列引脚可选的看门狗定时器,用于监控MCU活动,并在MCU陷入环路或无法执行代码时发出信号。微处理器必须在正常操作期间重复切换看门狗输入 (WDI),然后才能在选定的看门狗超时期限过去之前,以证明系统正在正确处理代码。如果MCU在超时期限到期前未提供有效的看门狗输入转换,则MAX6369–MAX6374将触发看门狗输出(WDO)。看门狗输出脉冲可用于复位MCU或中断系统以警告任何处理错误。表1给出了MAX6369–MAX6374的SET引脚配置提供的不同时序选项。

表 1.最小超时设置

逻辑输入 MAX6369/MAX6370 MAX6371/MAX6372 MAX6373/MAX6374
SET2 座1 座0 t延迟- U白矮星 t延迟= 60s, t白矮星 t延迟 t白矮星
0 0 0 1毫秒 1毫秒 3毫秒 3毫秒
0 0 1 10毫秒 3毫秒 3秒 3秒
0 1 0 10/秒 10毫秒 401 1秒
0 1 1 禁用 禁用 禁用 禁用
1 0 0 100毫秒 100毫秒 200微秒 30微秒
1 0 1 1秒 300毫秒 第一边缘 1秒
1 1 0 301 3秒 第一边缘 301
1 1 1 401 401 401 301

图1是MAX6369与MCU接口的应用

pYYBAGO-bkyAQnWZAAA674XRWvQ013.png?imgver=1

图1.MAX6369的应用框图

优点和特点

适用于关键μP应用的精密看门狗定时器

引脚可选的看门狗超时周期

引脚可选的看门狗启动延迟周期

能够在不进行电源循环的情况下更改看门狗时序特性

漏极开路或推挽脉冲/看门狗输出

看门狗定时器禁用功能

工作电压:+2.5V至+5.5V

8μA 的低电源电流

无需外部元件

微型 8 引脚 SOT23 封装

图2是MAX6369–MAX6374的时序。MCU 在设备上电后开始启动。MAX6369忽略任何WDI违规行为。设置+ 吨延迟,这比启动过程更长。在启动过程之后,MCU 开始在白矮星时间到期。

poYBAGO-bk2ANv2GAABiShYOZdo031.png?imgver=1

图2.MAX6369的时序图

以下是操作期间的不同关键计时实例:

在设置延迟期间忽略 WDI 上的转换。

在启动延迟期间忽略 WDI 上的转换。

看门狗定时器在启动延迟后启动,WDO取消断言。

转换发生在看门狗超时期限 (t白矮星).

看门狗定时器清除并再次启动定时器。看门狗超时 ( > t白矮星)和WDO断言。

WDI 上的转换在 WDO 断言时被忽略。

看门狗定时器在 WDO 取消断言后启动。

系统重新启动期间的死锁情况

MAX6369-MAX6374在启动过程完成后开始监测MCU活动。如果 MCU 无法在白矮星时间到期(图2)。看门狗故障会重新启动 MCU。如果系统重启时间超过tWD,MAX6369在重启过程结束前反复切换WDO。这会永远挂起 MCU。图 3 显示了类似的死锁情况。

poYBAGO-bk-AYAAsAABJmw_zGkk090.png?imgver=1

图3.MCU 中的死锁情况。

图 3 中的死锁问题通过提供额外的设置延迟 (t延迟)到MAX6369–MAX6374,每次检测到看门狗故障时。

MAX6369–MAX6374提供3组引脚,以实现所需的性能。MAX6369–MAX6374允许用户动态改变定时设置。如果在断言 WDO 后更改了设置引脚配置,则允许完成先前的设置。新设置的特性在WDO解除置位后假设,MAX6369–MAX6374进入新的启动阶段。图4是MAX6369–MAX6374的时序,其中设定引脚配置在WDO置位后发生变化。

pYYBAGO-blGAQdpcAACDitVTGWc200.png?imgver=1

WDO 被置言“ alt=”在断言 WDO 时更改 SET 引脚配置“>图 4.在置位 WDO 时更改 SET 引脚配置。

图5显示了用于获取图4中时序图的应用电路。SET1逻辑引脚连接到以下原理图中的WDO引脚。

pYYBAGO-blOAY4O3AAA6ClQN8Ng450.png?imgver=1

图5.在重新启动期间禁用看门狗计时器的应用程序电路。

上电后MAX6396的初始设置为SET0 = 1、SET1 = 1和SET2 = 1。这将设置 t延迟和 t白矮星到60年代。如果MAX6369检测到看门狗故障。WDO断言并将SET引脚设置更改为SET0 = 1、SET1 = 0和SET2 = 1。此设置仅持续 t世界发展组织(100ms)。WDO 取消置位,SET 引脚配置更改为其初始设置 SET0 = 1、SET1 = 1 和 SET2 = 1。SET引脚中的转换启动了新的建立阶段,其中包括设置- U延迟和 t白矮星.MAX6369在新电路布置下,在MCU重启期间不会发生任何看门狗故障。看门狗故障后,系统正常重新启动。仅当至少选择一个SET引脚作为逻辑1时,此解决方案才有效。如果所有SET引脚均为逻辑0,则SET引脚无法连接到WDO输出。

图6所示为MAX6369,电路连接如图1所示,其中SET0 = V抄送(逻辑 1),SET1 = V抄送(逻辑 1),SET2 = V抄送(逻辑 1)。《世界发展指标》与 V 相连抄送观察MAX6369看门狗故障。设备等待设置- U延迟和 t白矮星以在上电后置位WDO脉冲。它在 t 之后不断切换 WDO 脉冲白矮星.

poYBAGO-blSAGJFoAABMybejDJ0313.png?imgver=1

图6.MAX6369 with SET0 = V抄送, SET1 = V抄送,且 SET2 = V抄送.

图7所示为MAX6369,电路连接如图5所示,其中SET0 = VCC (逻辑1),SET1 = WDO,SET2 = VCC (逻辑1)。每当MAX6369检测到看门狗故障时,器件都会启动新的启动阶段。

pYYBAGO-blWAfVJuAABRBuTtJU8788.png?imgver=1

WDO,SET2 = VCC“>图7.MAX6969 with SET0 = V抄送、SET1 = WDO,SET2 = V抄送

总结

MAX6369–MAX6374系列看门狗定时器IC可以监测MCU的时序错误行为,解决嵌入式系统中常见的死锁问题,无需额外的分立元件。

审核编辑:郭婷

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

    关注

    146

    文章

    16016

    浏览量

    343607
  • 微处理器
    +关注

    关注

    11

    文章

    2131

    浏览量

    81411
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112036
收藏 人收藏

    评论

    相关推荐

    有效管理微处理超长启动周期中的看门狗

    引脚控制模拟开关的通道选择。图4. 启动期间模拟开关状态图5. 启动完毕模拟开关状态微处理启动过程中的
    发表于 08-26 15:44

    转:STM32CubeMX系列教程15:看门狗(WDG)

    就是能让程序出问题是能重新启动系统。二、独立看门狗(IWDG)前文再续,书接上一会,上一章说到待机模式可以通过IWDG唤醒,独立看门口功能框图如下。实际上独立
    发表于 07-06 16:55

    看门狗定时改进 IoT 系统的稳健性

    ,能够检测系统时钟是否已停止。使用具有窗口式看门狗特性的看门狗。 这类看门狗需要等待一段最短时间后才能被清零。 如果在窗口启动前尝试清零,
    发表于 04-07 15:08

    MSP430FR6972 看门狗不能重新启动程序

    使用WDTCTL = WDT_ARST_1000;设置了看门狗,主循环里WDTCTL = WDT_ARST_1000;喂狗,程序正常工作;当把主循环喂狗去掉,程序死掉,没有重启,WDTCTL时钟源由ACLK变为默认的SMCLK了,不明白为什么不重新启动
    发表于 05-29 14:01

    如何利用看门狗电路改善系统可靠性

    看门狗电路基本功能是发生软件问题和程序跑飞后使系统重新启动看门狗计数正常工作时自动计数,程
    发表于 02-26 07:30

    看门狗禁用

    ,带有大约4秒的看门狗超时,但是看门狗禁用(FWDTEN= OFF)。(默认的超时协调是1048秒)监视然后软件中使用SysSyWdtS
    发表于 05-10 12:34

    请问我能简单地写计数=0来强制计时器重新启动吗?

    根据我所理解的,计时器组件将在每次到达0时重新加载周期寄存。我能简单地写计数=0来强制计时器重新启动吗?例如,我想给一个串行RX例程添加一个超时…CysISR(MyTimeReNT
    发表于 08-16 13:55

    请问清除看门狗计时器超时事件标志需要多长时间?

    看门狗计时器(WDT)计数溢出并触发超时事件时,用户可以在看门狗计时器(WDT)生成系统重置
    发表于 11-23 15:35

    stm32自带两个看门狗模块

    复位。 具体的实现步骤:开启看门狗,设置减计数的初始值,当计数值达到超时值时,产生MCU复位,此时本来运行的程序终止重新启动单片机(发生了故障)。使用了看门狗之后,
    发表于 07-21 08:48

    什么是看门狗定时

    ,过一段时间CPU应发出指令让看复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。看门狗是一个计数
    发表于 07-21 06:37

    pic单片机看门狗计时器是什么

    pic单片机看门狗计时器(Watch Dog Timer)是一个片内自振式的RC振荡计时器,无需任何的外接元件。这意味着即使芯片OSC1/OSC2上振荡停止了(例如执行指令SLEEP后),WDT照样
    发表于 07-23 07:18

    看门狗是什么 看门狗的功能

    监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。看门狗的功能①、启动正常运行的时候,
    发表于 07-30 08:07

    WDT看门狗模块的相关资料分享

    看门狗WDT电路平时调试过程中使用并不多,但在真正产品应用上,可以说每一个系统都会使用看门狗,其主要功能和作用如下:看门狗电路基本功能是
    发表于 11-04 06:16

    基于ARM裸机的汇编启动代码之关看门狗

    ,类似于门口的),定好时间之后看门狗定时会去计时,时间到之前(饿了之前)必须去重新置位
    发表于 05-16 15:14

    HT49 MCU中看门狗计时器的设定

    HT49 MCU中看门狗计时器的设定 在单片机应用中,为了预防程序进入死循环,或跳到不希望的地方,采用看门狗计时器来防止。在程序中要是一直不清除
    发表于 03-25 09:49 28次下载