STM32-WWDG/IWDG看门狗

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

一、原理

独立看门狗-超时复位

窗口看门狗-喂狗(重置计数器,计数器最大12Bit,2^{12}-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配置寄存器,提供复位信号。即限制了最早喂狗时间值。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值