Watchdog 使用指南
术语 | 定义 | 注释说明 |
---|---|---|
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. Watchdog 清零的窗口示意图 - 支持预先加载 4 个 Watchdog 的配置(软件可以理解为多通道),运行时可一键切换;
- 以上操作支持加锁,提供一个写失效保护机制,当配置了写失效,只有 OP 和 IRQ_STA 寄存器可读
图 2. Watchdog 写保护的状态迁移图 - 写允许
普通状态,无任何权限限制,随时可重新配置计数器;
- 写保护
如果要重新配置 Watchdog 计时器,需先写入操作码 EN 解锁(进入“写允许”状态);
- 写失效
此时 Watchdog 进入只读状态,只有 OP 寄存器可写(用于喂狗、切换通道)。从图中可以看到此状态不可逆,如果要修改 Watchdog 配置,必须要 reset 系统才可以。
- 写允许
- 支持更多的操作码(Operate Code),如计时器清零、通道切换、写使能。