目录
一、WWDG简介
1、WWDG全程为Window watchdog,即窗口看门狗。
2、WWDG的本质是能产生系统复位信号和提前唤醒中断的计数器。与IWDG不同的是不仅能产生复位信号,同时还能产生提前唤醒中断。
3、WWDG的特性
- 当递减计数器值从 0x40减到0x3F时复位(即T6位跳变到0),IWDG是减到0时复位。
- 计数器的值大于W[6:0]值时喂狗会复位
- 提前唤醒中断(EWI):当递减计数器等于 0x40 时可产生
4、喂狗:在窗口期内重装载计数器的值,防止复位
二、WWDG作用
1、用于监测单片机程序运行时效是否精准,主要检测软件异常。硬件异常使用IWDG。
2、需要精准监测程序运行时间的场合,WWDG的时钟源来自LSI时钟。
三、WWDG工作原理
T[6:0]:表示计数器的值,最大值就是127。随着时间轴计数器的值递减。
W[6:0]:表示窗口上限值,在计数器的值大于这个窗口上限值的时候,是不允许喂狗的,如果喂狗它会自动复位。
当寄存器的值递减到0X40,可产生提前唤醒中断。也可以不产生,这个在寄存器有有一个位设置。
当计数器的值递减到0X3F,就是窗口的下限值,会产生复位信号。
这里计数器的值和窗口的上限值可以由用户设置,窗口下限值0X3F是固定的,不能改变。
从窗口上限值到窗口下限值之间称为窗口期,可以喂狗。W[6:0] ≥ 窗口期 > 0X3F。不能等于0X3F,0X3F已经产生复位信号了。
四、WWDG框图
WWDG有一个输入就是PLCK时钟,两个输出,分别是复位和中断,这里中断(提前唤醒中断)没有画出来。F1的PCLK时钟为36MHz,经过一个4096分频器,这个4096图里边没有画出来,可以阅读使用手册里边的公式,看到这个4096分频。
再经过WDG预分频器,就会给到CNT递减计数器,图里边是T0到T6,总共7位,图里边写的是6位的原因是&#