WDG
WDG - 看门狗
- 看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序避免程序陷入长时间的罢工状态,保证系统的可靠性和安全性
- 看门狗本质上是一个定时器,当指定时间范围内,程序没有执行喂狗(重置计数器)操作时,看门狗硬件电路就自动产生复位信号
- STM32内置两个看门狗
- 独立看门狗 (IWDG):独立工作,对时间精度要求较低
- 窗口看门狗 (WWDG):要求看门狗在精确计时窗口起作用

IWDG结构

- 键寄存器本质上是控制寄存器,用于控制硬件电路的工作
- 在可能存在干扰的情况下,一般通过在整个键寄存器写入特定值来代替控制寄存器写入一位的功能,以降低硬件电路受到干扰的概率

IWDG超时时间


- TLSI = 0.025ms
WWDG结构

- PCLK1 = 36MHz
- 控制寄存器的T6为溢出标志位(1表示不溢出,0为溢出)
- 当WDGA为1(开启配置),T6为1、T5 ~ T0都为0时则复位
- 配置寄存器在喂狗时比较,如果此时的喂狗时间比配置的要提前则复位
- 当T6为1、T5 ~ T0都为0时可以产生早期唤醒中断(EWI),用于重装载计数器以避免WWDG复位,仅申请一个标志位
- 定期写入WWWDG_CR寄存器以免WWDG复位
WWDG超时时间


- 在PCLK1进入时就进行了一个4096分频