Edit online

Watchdog 使用指南

1. 术语定义
术语 定义 注释说明
WDT Watchdog,下文简称 wdt 看门狗
clr_thd Clear threshold 清看门狗的计数时,当前计数必须要满足此门限
irq_thd IRQ threshold 看门狗产生中断的计数值
rst_thd Reset threshold 看门狗触发系统重启的门限值
ping - -

WDT(Watchdog)给系统提供一个健康监控功能,在系统无法正常使用时,可以强制复位系统;而在系统正常运行期间,可通过重置计数来保证 Watchdog 模块不触发复位。

Watchdog V1.0 在 V0.1 基础上做了优化升级,提供更多可配置的功能:

  1. 支持在复位系统前先(时刻可配置)发出一个中断信号,来通知系统做一些复位前的准备工作;
  2. 增加对计数器清零的限制,只有当前计数值满足一个门限(可配置)才能执行清零;
    ../../images/wdt_clr_window1.png
    1. Watchdog 清零的窗口示意图
  3. 支持预先加载 4 个 Watchdog 的配置(软件可以理解为多通道),运行时可一键切换;
  4. 以上操作支持加锁,提供一个写失效保护机制,当配置了写失效,只有 OP 和 IRQ_STA 寄存器可读
    ../../images/wdt_wr_protect1.png
    2. Watchdog 写保护的状态迁移图
    • 写允许

      普通状态,无任何权限限制,随时可重新配置计数器;

    • 写保护

      如果要重新配置 Watchdog 计时器,需先写入操作码 EN 解锁(进入“写允许”状态);

    • 写失效

      此时 Watchdog 进入只读状态,只有 OP 寄存器可写(用于喂狗、切换通道)。从图中可以看到此状态不可逆,如果要修改 Watchdog 配置,必须要 reset 系统才可以。

  5. 支持更多的操作码(Operate Code),如计时器清零、通道切换、写使能。