WWDG/IWDG一旦开启不能关闭,可通过选项字节在上电时启动硬件看门狗,看门狗计数只能写入不能读取。看门狗启用时,T6bit必须置1,防止立即重置。
一、原理

独立看门狗-超时复位
窗口看门狗-喂狗(重置计数器,计数器最大12Bit,-1 = 4095)早了或者晚了都复位
1、IWDG结构

键寄存器负责键入重装载值,这个值是之前配置好的,每次喂狗会自动通过键寄存器使重装载寄存器的数值键入递减计数器。看门狗位于VDD供电区,所以在停机和待机模式时可以正常使用。

2、IWDG超时时间计算公式

超时频率 = Fiwdg = Flsi(LSI频率)/PR预分频系数/(RL+1)。
默认Tlsi=40khz,频率=1/40000=0.025ms。分频后时间增加。只有固定的分频系数,若为2(分频16)。若RL=99,则为0.025ms*16 = 0.4ms*100 = 40ms。
表格内说明:例如第一行4分频,
Tiwdg = 0.025ms*4*(RL=0x000,最短时间)1 = 0.1ms
Tiwdg = 0.025ms*4*(RL=0xFFF,最长时间)4096= 409.6ms
3、WWDG结构

WDGTB同独立看门狗的PR和定时器的PSC都是预分频器。
WWDG_CR相当于把独立看门狗的计数器、KR(控制寄存器)合二为一了。没有重装寄存器,在直接在CNT写入数据即可(6bit递减计数器,T5-T0,T6为溢出标志位(为1表示没有溢出,为0时表示计数器溢出,例如从111 1111->100 0000 -0x40时在减一 -> 011 1111表示溢出),若将T6位当作计数器的一部分,那么减到0x40开始溢出。若把第六位当作计数器,那么位第六位减到0溢出)。
CFR为喂狗的最早时间界限。WDGA窗口看门狗使能。
工作流程:PCLK1提供时钟APB1(36MHz),通过WDGA使能窗口看门狗,当WWDG_CR减到0时溢出,提供复位信号。或者当写入WWDG_CR时,WWDG_CR喂狗时的剩余的计数值>WWDG_CFR配置寄存器,提供复位信号。即限制了最早喂狗时间值。

最低0.47元/天 解锁文章
1792





