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

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

3天内不再提示

窗口看门狗的基础知识

星星科技指导员 来源:ADI 作者:ADI 2023-06-15 14:20 次阅读

看门狗是综合系统的重要组成部分,必须充分理解才能充分利用其功能。大多数看门狗都是有窗口的,这需要比非窗口看门狗更精确的计时,但允许更大的功能。设计人员可以使用窗口看门狗来实现上电扩展开窗、锁存功能和可编程保持时间等功能。

介绍

本应用笔记描述了MAX20478和MAX20480系列产品中窗口看门狗的工作原理。这些看门狗具有可编程扩展窗口、可编程 RESETx 保持时间、单个或连续看门狗故障断言以及 RESETx 锁存功能。本应用笔记提供了对看门狗及其功能的更全面的了解。

看门狗操作基础知识

看门狗是系统中用于确保片上系统 (SoC) 设备或微控制器MCU) 正常运行的功能。这可能意味着检测到陷入无限循环、执行任务时间过长甚至完全关闭的 SoC。在系统中使用看门狗要求 SoC 定期向看门狗发送信号,此步骤称为服务/刷新。一旦 SoC 为监视器提供服务,监视器就会确认 SoC 的正常运行,然后开始一个新的周期,在该周期中,它等待来自 SoC 的另一个服务命令。如果 SoC 在监视器设置的持续时间内未为监视器提供服务,则会断言故障。此操作描述了一个非窗口看门狗,本应用笔记将不涉及该看门狗。窗口监视器以非常相似的方式运行,但具有一个服务周期,该周期分为“关闭”和“打开”持续时间,称为窗口。这需要对有效服务进行更精确的计时,因为服务仅在窗口周期中的特定时间有效。

这些窗口的持续时间由IC看门狗时钟定义。看门狗时钟源自IC系统时钟,通常从系统时钟的1/32开始,通常为1.28MHz。某些器件具有可编程的WDIV场,允许对该时钟进行更多划分,以允许更长的窗口时间。在以下示例中,看门狗周期为200μs,所用公式特定于MAX20478(图1)。

wKgZomSKrbqAOfBDAAAXgCuEY3k640.png

图1.根据MAX20478看门狗公式的闭合和开窗长度组合示例

监视程序周期的 OPEN 窗口期间的监视器服务被视为有效服务。有效服务后,无论打开窗口中剩余的时间如何,OPEN 窗口都将立即转换为关闭窗口。图 2 显示了一个有效看门狗周期的示例。

wKgaomSKrbuALHssAAAJc-6YAQI444.png

图2.打开窗口期间有效的监视器刷新。紧随其后的是新的关闭和开放。

在监视器周期的 CLOSED 窗口中来自 SoC 的监视器服务将被监视器解释为故障。如果在“关闭”和“打开”窗口都经过时没有服务发生,则监视器将断言故障。要了解关闭窗口如何在窗口监视程序中运行,必须首先探索扩展窗口。

扩展窗口

在大多数系统中,SoC 和 MCU 需要额外的时间来上电或执行除维护看门狗之外的其他更重要的任务。因此,系统可能会使具有“关闭”和“打开”窗口的正常窗口监视程序框架失败。为了解决这个问题,ADI产品具有扩展窗口。这些窗口在首次开机时和每次 RESETx 断言之后发生,并作为 OPEN 窗口运行,在该窗口期间的任何时间,服务都被视为有效。

在正常操作期间,如果 OPEN 窗口中有有效的监视程序服务,监视器将在有效刷新后立即启动新的循环。这意味着一个新的关闭窗口,然后是一个打开窗口。在具有扩展窗口的监视器中,如果发生任何故障,监视器将立即停止当前所在的任何窗口,并在 RESETx 保持时间过后启动新的扩展窗口。此扩展窗口没有 CLOSED 持续时间,并将接受任何监视程序服务在窗口持续时间内有效。如果监视程序在此窗口中提供服务,则扩展窗口将立即停止,并遵循正常的关闭/打开循环。如果未在扩展窗口中为监视器提供服务,RESETx 将断言保持时间,随后将出现另一个扩展窗口。重复此操作,直到为监视器提供服务。

图 3 和图 4 显示了无效刷新的两种潜在计时情况。

wKgaomSKrbyAR2OaAAAYWTzPQFQ005.png

图3.RESETx 将立即断言 WD 是否在 CLO 窗口期间刷新。EXT 窗口将在 RESETx 取消断言后启动。扩展窗口继续重复,直到为监视器提供服务。

wKgZomSKrb2AWphYAAAdkkDL28E934.png

图4.如果监视器未刷新,RESETx 将在 OPN 窗口结束后立即断言。RESETx 取消断言后将启动一个新的 EXT 窗口。EXT 窗口将继续重复,直到刷新监视器。

可变复位x 保持时间

系统在为监视器提供服务失败后进入中断过程是很常见的。这些中断例程可能需要几毫秒才能完成,SoC 或 MCU 才能再次刷新看门狗。这可能会导致监视器再次断言 RESETx,并可能重复进入中断例程。此问题可以通过更改 RESETx 保持时间的持续时间以允许 SoC 或 MCU 完成中断例程来解决。可变RESETx保持时间功能将在发生故障后将IC的RESETx引脚保持低电平一段时间。如果发生故障,看门狗将立即停止其所在的窗口,并在由保持时间确定的设定持续时间内置位IC的RESETx引脚。一旦RESETx取消断言,看门狗将恢复正常运行,SoC或MCU可以为看门狗提供服务。在图 3 和图 4 中,省略了 RESETx 保持时间长度以简化图表。图 5 和图 6 描述了两种不同的 RESETx 保持时间。

wKgaomSKrb6Af-L1AAAbXiNg6q0052.png

图5.RESETx 保持时间的持续时间是可编程的。ADI器件具有多个设定的持续时间,在制造器件时进行编程。请参考ADI IC数据手册,了解RESETx保持时间的确切信息

wKgZomSKrb-ABiejAAAajLhK6ow690.png

图6.在此图中,RESETx 保持时间的持续时间设置为 8 毫秒。请参考ADI IC数据手册,了解RESETx保持时间的确切信息。

单/连续WD故障计数器

在某些实现监视器的系统中,RESETx 断言不一定构成系统问题。即使系统运行正常,系统中也可能会出现错误的 RESETx 断言。为解决这一问题,ADI看门狗具有看门狗故障计数器,允许在单个或双看门狗故障上发生RESETx断言。

如果选择了单个故障计数器选项,则只需要一个监视器故障(无服务、CLO 窗口期间的服务等)即可断言 RESETx。如果选择双故障选项,则第一个看门狗故障将增加看门狗故障计数器,第二个故障将置位RESETx。要在一次看门狗故障后重置故障计数器,需要连续两次有效服务看门狗。图 7 到 10 对此进行了描述。

wKgaomSKrcGABC9pAAAevD_yiuM581.png

图7.如果在 CLO 窗口期间刷新 WD,RESETx 计数器将增加到 2。在下一个 OPN 窗口结束后不刷新会将计数器增加到 0。这会导致 RESETx 断言,RESETx 取消断言后将启动 EXT 窗口,并且故障计数器 RESETx 为 <>。RESETx 在 EXT 窗口或 OPN 窗口期间未刷新后再次断言。

wKgZomSKrcKAWaTHAAAcLSClv2Q248.png

图8.如果在第一个 OPN 窗口期间未刷新监视器,则 RESETx 计数器将增加到 1。将出现另一个正常的 CLO 和 OPEN。如果没有刷新,RESETx 计数器将达到 2 并断言。

wKgaomSKrcOAcptoAAAg1GfYb78319.png

图9.第一个 OPN 窗口后不刷新会将故障计数器增加到 1。下一帧刷新,但故障计数器仍为 1。下一个 OPN 窗口未收到刷新,因此计数器增加到 2。断言错误,EXT 窗口在 RESETx 取消断言后启动。

wKgZomSKrcWAMFwCAAAqi9gUhRQ089.png

图 10.No 第一个 OPN 将故障计数器增加到 1 后的刷新。下一帧刷新,但计数器仍为 1。第三个窗口也接收刷新,因此计数器被清除为 0。接下来的两个帧不会收到刷新,因此计数器达到 2,EXT 窗口遵循取消断言。

复位x锁存功能

ADI看门狗的另一个特性是能够锁存RESETx断言。如果系统发现故障情况的时间超过可能的最长 RESETx 保持时间,则继续保持 RESETx 直到故障条件消除可能是有益的。例如,如果 SoC 无法为监视器提供服务,则正常的 RESETx 保持时间将意味着 RESETx 将在延长窗口的持续时间内取消断言,然后在保留持续时间内断言。这意味着RESETx信号将在断言和取消断言之间切换。使用 RESETx 锁存器功能,此示例中的 RESETx 信号将保持置位状态,直到 SoC 重新获得为看门狗提供服务的能力。此功能也可用作其他信号的启用/禁用。例如,如果检测到故障,看门狗锁存功能可用于禁用所有CAN总线通信。当SoC解决系统故障时,CAN总线上的所有通信都将停止。

如果看门狗尚未完成首次上电,则 SoC 只需要一个有效服务即可解除锁存的 RESETx 信号。上电后,无论是否使用连续故障计数器功能,SoC 都需要两个连续的有效服务来解除锁存的 RESETx 信号。图 11 对此进行了描述。

wKgaomSKrcaAat61AAAiqk2r-kw514.png

图 11.上面的示例显示看门狗RESETx信号将锁存,直到再次维护看门狗。它显示由于在关闭的窗口期间刷新而导致的错误,但对于任何 RESETx 错误都是如此。RESETx 保持时间的持续时间实际上是 SoC 正确维护监视器所需的时间。正常的 CLO/OPN 窗口在复位锁存期间出现。

质询/响应看门狗

某些ADI看门狗的另一个特点是能够使用质询/响应通过I2C.在某些系统中,仅仅要求SoC发送脉冲是不够的。要求 SoC 执行任务或计算以确保 SoC 完全正常运行可能是有益的。这就是质询/响应看门狗可以满足此要求的地方。在质询/响应服务中,IC中有一个键值寄存器,SoC必须读取该寄存器。读取寄存器后,SoC 必须使用此值来计算相应的响应。然后,该响应通过I发送回IC2C. 使用正确的响应更新寄存器后,监视程序已得到维护。看门狗的操作方式与窗口设置中的操作方式相同,唯一的变化是更新密钥寄存器,而不是使用上升沿刷新看门狗。该 IC 包含一个线性反馈移位寄存器,多项式为 x8+x6+x5+x4+1。这会将所有位向上移向 MSb,并将计算出的位作为新的 LSb 插入。SoC必须以这种方式计算响应,并将其发送回IC中的寄存器。图 12 对此进行了描述。

wKgaomSKrcaAZy5UAAAcNJEPZjg722.png

图 12.质询/响应看门狗的时间与窗口看门狗非常相似。密钥寄存器由 SoC 通过 I 读取2C 并且只需要出现一次。一旦SoC读取了密钥寄存器,就会使用前一个值计算下一个值。计算响应,然后写回IC中的寄存器。在下一个时钟沿,答案得到确认,并立即启动一个新的 CLO/OPN 窗口。

表1显示了一个特性列表,其中包含多个包含看门狗的ADI IC。ADI公司为那些想要了解更多信息的人提供了几种设计计算器。请联系ADI公司,获取更多技术资料以及所列任何器件的数据手册。

部件号 ASIL 评级 可编程复位保持时间 扩展窗口 复位闩锁 挑战/回应 我2C 能力
MAX20478 ASIL-D x x x
MAX20480 ASIL-D x x x x

结论

随着窗口看门狗变得越来越普遍,对其操作有一个基本的了解非常重要。本应用笔记介绍了窗口看门狗的几个特性,供读者了解MAX20478和MAX20480产品系列的一般知识。这些功能包括可编程扩展窗口、可编程 RESETx 保持时间、单个或连续看门狗故障断言以及 RESETx 锁存功能。借助这些功能,设计师可以更自由地将更复杂的设计整合到他们的项目中。

审核编辑:郭婷

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

    关注

    48

    文章

    7551

    浏览量

    151403
  • 看门狗
    +关注

    关注

    10

    文章

    562

    浏览量

    70805
  • soc
    soc
    +关注

    关注

    38

    文章

    4165

    浏览量

    218231
收藏 人收藏

    评论

    相关推荐

    窗口看门狗(WWDG)的基础知识

      窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,否则看门狗电路在达到预置的时间周期时,会产生一个MCU复位。
    发表于 10-19 17:00 9301次阅读
    <b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>(WWDG)的<b class='flag-5'>基础知识</b>

    独立看门狗(IWDG)的基础知识

      STM32F10xxx系列内置两个看门狗(独立看门狗窗口看门狗),提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立
    发表于 10-19 17:10 4259次阅读
    独立<b class='flag-5'>看门狗</b>(IWDG)的<b class='flag-5'>基础知识</b>

    STM32中的独立看门狗窗口看门狗是什么

    在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立看门狗
    的头像 发表于 02-20 17:47 2740次阅读
    STM32中的独立<b class='flag-5'>看门狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>是什么

    stm32看门狗时间计算 独立看门狗窗口看门狗的特性是什么

    本文为您讲解STM看门狗时间计算(时限)与频率计算,独立看门狗窗口看门狗的特性、区别与联系。
    发表于 10-10 10:41 8763次阅读

    什么是stm32看门狗?独立看门狗窗口看门狗工作原理解析

    stm32有两个看门狗,独立看门狗窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立看门狗
    的头像 发表于 11-06 11:48 2.7w次阅读
    什么是stm32<b class='flag-5'>看门狗</b>?独立<b class='flag-5'>看门狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>工作原理解析

    STM32看门狗配置(独立看门狗IWDG和窗口看门狗WWDG)

    stm32自带两个看门狗模块,独立看门狗IWDG和窗口看门狗WWDG。看门狗主要作用是可用来检测和解决由软件错误引起的故障;当计数器达到给定
    发表于 11-09 17:17 8442次阅读
    STM32<b class='flag-5'>看门狗</b>配置(独立<b class='flag-5'>看门狗</b>IWDG和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>WWDG)

    STM32单片机中的独立看门狗窗口看门狗有哪些不同之处

    1.关于看门狗的解释不再说明,窗口看门狗简而言之即只能看某个窗口期即某段时间内才能够喂狗。32的独立看门狗是没有中断的,而
    发表于 12-10 15:55 3391次阅读

    浅谈STM8S_008_WDG独立看门狗窗口看门狗

    STM8S_008_WDG独立看门狗窗口看门狗
    的头像 发表于 03-20 09:39 5289次阅读
    浅谈STM8S_008_WDG独立<b class='flag-5'>看门狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>

    STM32有两个看门狗,独立看门狗窗口看门狗

    窗口看门狗的上窗口就是配置寄存器WWDG->CFR里设定的W[6:0];下窗口是固定的0x40;当窗口
    的头像 发表于 06-15 09:02 4788次阅读
    STM32有两个<b class='flag-5'>看门狗</b>,独立<b class='flag-5'>看门狗</b>和<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><b class='flag-5'>看门狗</b>的配置

    窗口看门狗是什么?与独立看门狗有啥区别?

    STM32有两个看门狗,独立看门狗窗口看门狗。其实两者的功能是类似的,只是喂狗的限制时间不同。
    发表于 02-09 10:28 9次下载
    <b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>是什么?与独立<b class='flag-5'>看门狗</b>有啥区别?

    窗口看门狗基础知识

    发表于 11-16 23:57 0次下载
    <b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>的<b class='flag-5'>基础知识</b>

    窗口看门狗基础知识

    看门狗是综合系统的重要组成部分,必须充分理解才能充分利用其功能。大多数看门狗都是有窗口的,这需要比非窗口看门狗更精确的计时,但允许更大的功能
    的头像 发表于 12-14 15:35 2376次阅读
    <b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>的<b class='flag-5'>基础知识</b>

    STM32中的独立看门狗窗口看门狗

    窗口看门狗。 独立看门狗:使用的是外部时钟,即使主频不工作了,看门狗也能正常工作。只要在到达喂狗时间的上限前喂狗即表示程序是正常的,这点和窗口
    的头像 发表于 12-22 16:58 2151次阅读

    STM32中的独立看门狗窗口看门狗

    在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立看门狗
    的头像 发表于 01-30 14:38 1374次阅读
    STM32中的独立<b class='flag-5'>看门狗</b>和<b class='flag-5'>窗口</b><b class='flag-5'>看门狗</b>