看门狗是综合系统的重要组成部分,必须充分理解才能充分利用其功能。大多数看门狗都是有窗口的,这需要比非窗口看门狗更精确的计时,但允许更大的功能。设计人员可以使用窗口看门狗来实现上电扩展开窗、锁存功能和可编程保持时间等功能。
介绍
本应用笔记描述了MAX20478和MAX20480系列产品中窗口看门狗的工作原理。这些看门狗具有可编程扩展窗口、可编程 RESETx 保持时间、单个或连续看门狗故障断言以及 RESETx 锁存功能。本应用笔记提供了对看门狗及其功能的更全面的了解。
看门狗操作基础知识
看门狗是系统中用于确保片上系统 (SoC) 设备或微控制器 (MCU) 正常运行的功能。这可能意味着检测到陷入无限循环、执行任务时间过长甚至完全关闭的 SoC。在系统中使用看门狗要求 SoC 定期向看门狗发送信号,此步骤称为服务/刷新。一旦 SoC 为监视器提供服务,监视器就会确认 SoC 的正常运行,然后开始一个新的周期,在该周期中,它等待来自 SoC 的另一个服务命令。如果 SoC 在监视器设置的持续时间内未为监视器提供服务,则会断言故障。此操作描述了一个非窗口看门狗,本应用笔记将不涉及该看门狗。窗口监视器以非常相似的方式运行,但具有一个服务周期,该周期分为“关闭”和“打开”持续时间,称为窗口。这需要对有效服务进行更精确的计时,因为服务仅在窗口周期中的特定时间有效。
这些窗口的持续时间由IC看门狗时钟定义。看门狗时钟源自IC系统时钟,通常从系统时钟的1/32开始,通常为1.28MHz。某些器件具有可编程的WDIV场,允许对该时钟进行更多划分,以允许更长的窗口时间。在以下示例中,看门狗周期为200μs,所用公式特定于MAX20478(图1)。
图1.根据MAX20478看门狗公式的闭合和开窗长度组合示例
监视程序周期的 OPEN 窗口期间的监视器服务被视为有效服务。有效服务后,无论打开窗口中剩余的时间如何,OPEN 窗口都将立即转换为关闭窗口。图 2 显示了一个有效看门狗周期的示例。
图2.打开窗口期间有效的监视器刷新。紧随其后的是新的关闭和开放。
在监视器周期的 CLOSED 窗口中来自 SoC 的监视器服务将被监视器解释为故障。如果在“关闭”和“打开”窗口都经过时没有服务发生,则监视器将断言故障。要了解关闭窗口如何在窗口监视程序中运行,必须首先探索扩展窗口。
扩展窗口
在大多数系统中,SoC 和 MCU 需要额外的时间来上电或执行除维护看门狗之外的其他更重要的任务。因此,系统可能会使具有“关闭”和“打开”窗口的正常窗口监视程序框架失败。为了解决这个问题,ADI产品具有扩展窗口。这些窗口在首次开机时和每次 RESETx 断言之后发生,并作为 OPEN 窗口运行,在该窗口期间的任何时间,服务都被视为有效。
在正常操作期间,如果 OPEN 窗口中有有效的监视程序服务,监视器将在有效刷新后立即启动新的循环。这意味着一个新的关闭窗口,然后是一个打开窗口。在具有扩展窗口的监视器中,如果发生任何故障,监视器将立即停止当前所在的任何窗口,并在 RESETx 保持时间过后启动新的扩展窗口。此扩展窗口没有 CLOSED 持续时间,并将接受任何监视程序服务在窗口持续时间内有效。如果监视程序在此窗口中提供服务,则扩展窗口将立即停止,并遵循正常的关闭/打开循环。如果未在扩展窗口中为监视器提供服务,RESETx 将断言保持时间,随后将出现另一个扩展窗口。重复此操作,直到为监视器提供服务。
图 3 和图 4 显示了无效刷新的两种潜在计时情况。
图3.RESETx 将立即断言 WD 是否在 CLO 窗口期间刷新。EXT 窗口将在 RESETx 取消断言后启动。扩展窗口继续重复,直到为监视器提供服务。
图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 保持时间。
图5.RESETx 保持时间的持续时间是可编程的。ADI器件具有多个设定的持续时间,在制造器件时进行编程。请参考ADI IC数据手册,了解RESETx保持时间的确切信息。
图6.在此图中,RESETx 保持时间的持续时间设置为 8 毫秒。请参考ADI IC数据手册,了解RESETx保持时间的确切信息。
单/连续WD故障计数器
在某些实现监视器的系统中,RESETx 断言不一定构成系统问题。即使系统运行正常,系统中也可能会出现错误的 RESETx 断言。为解决这一问题,ADI看门狗具有看门狗故障计数器,允许在单个或双看门狗故障上发生RESETx断言。
如果选择了单个故障计数器选项,则只需要一个监视器故障(无服务、CLO 窗口期间的服务等)即可断言 RESETx。如果选择双故障选项,则第一个看门狗故障将增加看门狗故障计数器,第二个故障将置位RESETx。要在一次看门狗故障后重置故障计数器,需要连续两次有效服务看门狗。图 7 到 10 对此进行了描述。
图7.如果在 CLO 窗口期间刷新 WD,RESETx 计数器将增加到 1。在下一个 OPN 窗口结束后不刷新会将计数器增加到 2。这会导致 RESETx 断言,RESETx 取消断言后将启动 EXT 窗口,并且故障计数器 RESETx 为 0。RESETx 在 EXT 窗口或 OPN 窗口期间未刷新后再次断言。
图8.如果在第一个 OPN 窗口期间未刷新监视器,则 RESETx 计数器将增加到 1。将出现另一个正常的 CLO 和 OPEN。如果没有刷新,RESETx 计数器将达到 2 并断言。
图9.第一个 OPN 窗口后不刷新会将故障计数器增加到 1。下一帧刷新,但故障计数器仍为 1。下一个 OPN 窗口未收到刷新,因此计数器增加到 2。断言错误,EXT 窗口在 RESETx 取消断言后启动。
图 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 对此进行了描述。
图 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 对此进行了描述。
图 12.质询/响应看门狗的时间与窗口看门狗非常相似。密钥寄存器由 SoC 通过 I 读取2C 并且只需要出现一次。一旦SoC读取了密钥寄存器,就会使用前一个值计算下一个值。计算响应,然后写回IC中的寄存器。在下一个时钟沿,答案得到确认,并立即启动一个新的 CLO/OPN 窗口。
表1显示了一个特性列表,其中包含多个包含看门狗的ADI IC。ADI公司为那些想要了解更多信息的人提供了几种设计计算器。
表 1.功能列表
部件号 | ASIL 评级 | 可编程复位保持时间 | 扩展窗口 | 复位闩锁 | 挑战/回应 |
I2C能力 |
---|---|---|---|---|---|---|
MAX20478 | ASIL-D | x | x | x | ||
MAX20480 | ASIL-D | x | x | x | x |
结论
随着窗口看门狗变得越来越普遍,对其操作有一个基本的了解非常重要。本应用笔记介绍了窗口看门狗的几个特性,供读者了解MAX20478和MAX20480产品系列的一般知识。这些功能包括可编程扩展窗口、可编程 RESETx 保持时间、单个或连续看门狗故障断言以及 RESETx 锁存功能
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !