4.9.1. 模块介绍¶
4.9.1.1. 术语定义¶
| 术语 | 定义 | 注释说明 | 
|---|---|---|
| WDT | Watchdog,下文简称wdt | 看门狗 | 
| clr_thd | Clear threshold | 清看门狗的计数时,当前计数必须要满足此门限 | 
| irq_thd | IRQ threshold | 看门狗产生中断的计数值 | 
| rst_thd | Reset threshold | 看门狗触发系统重启的门限值 | 
| ping | - | 指将Watchdog的计时器清零,使其重新计数,俗称“喂狗” | 
4.9.1.2. 模块简介¶
WDT(Watchdog)给系统提供一个健康监控功能,在系统无法正常使用时,可以强制复位系统;而在系统正常运行期间,可通过重置计数来保证Watchdog模块不触发复位。
Watchdog V1.0提供的可配置功能有:
- 支持在复位系统前先(时刻可配置)发出一个中断信号,来通知系统做一些复位前的准备工作; 
- 增加对计数器清零的限制,只有当前计数值满足一个门限(可配置)才能执行清零; 
 
图 4.33 Watchdog 清零的窗口示意图¶
- 支持预先加载4个Watchdog的配置(软件可以理解为多通道,目前只开放一个通道,即通道0),运行时可一键切换; 
- 以上操作支持加锁,提供一个写失效保护机制,当配置了写失效,只有OP和IRQ_STA寄存器可读, 
 
图 4.34 Watchdog 写保护的状态迁移图¶
- 写允许
- 普通状态,无任何权限限制,随时可重新配置计数器; 
 
- 写保护
- 如果要重新配置Watchdog计时器,需先写入操作码OP_WR_EN解锁(进入“写允许”状态); 
 
- 写失效
- 此时Watchdog进入只读状态,只有OP寄存器可写(用于喂狗、切换通道)。从图中可以看到此状态不可逆,如果要修改Watchdog配置,必须要reset系统才可以。 
 
- 支持操作码(Operate Code),如计时器清零、通道切换、写使能。