4.6.1. 模块介绍

4.6.1.1. 术语定义

术语

定义

注释说明

WDT

Watchdog,下文简称wdt

看门狗

clr_thd

Clear threshold

清看门狗的计数时,当前计数必须要满足此门限

irq_thd

IRQ threshold

看门狗产生中断的计数值

rst_thd

Reset threshold

看门狗触发系统重启的门限值

ping

-

指将Watchdog的计时器清零,使其重新计数,俗称“喂狗”

4.6.1.2. 模块简介

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

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

  1. 支持在复位系统前先(时刻可配置)发出一个中断信号,来通知系统做一些复位前的准备工作;

  2. 增加对计数器清零的限制,只有当前计数值满足一个门限(可配置)才能执行清零;

../../../_images/wdt_clr_window.png

图 4.24 Watchdog 清零的窗口示意图

  1. 支持预先加载4个Watchdog的配置(软件可以理解为多通道),运行时可一键切换;

  2. 以上操作支持加锁,提供一个写失效保护机制,当配置了写失效,只有OP和IRQ_STA寄存器可读,

../../../_images/wdt_wr_protect.png

图 4.25 Watchdog 写保护的状态迁移图

  • 写允许

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

  • 写保护

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

  • 写失效

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

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