野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 74768|回复: 216

【F1-WWDG】STM32窗口看门狗框图详解+程序+教程 非常详细

  [复制链接]
发表于 2015-10-15 17:43:27 | 显示全部楼层 |阅读模式
窗口看门狗简介
STM32 有两个看门狗,一个是独立看门狗,一个是窗口看门狗。我们知道独立看门狗的工作原理就是一个递减计数器
不断的往下递减计数,当减到 0 之前如果没有喂狗的话,产生复位。窗口看门狗跟独立看门狗一样,也是一个递减
计数器不断的往下递减计数,当减到一个固定值 0X40 时还不喂狗的话,产生复位,这个值叫窗口的下限,是固定的值,
不能改变。这个是跟独立看门狗类似的地方,不同的地方是窗口看门狗的计数器的值在减到某一个数之前喂狗的话
也会产生复位,这个值叫窗口的上限,上限值由用户独立设置。窗口看门狗计数器的值必须在上窗口和下窗口之间
才可以喂狗,这就是窗口看门狗中窗口两个字的含义。
窗口看门狗与独立看门狗的区别.jpg
RLR 是重装载寄存器,用来设置独立看门狗的计数器的值。TR 是窗口看门狗的计数器的值,由用户独立设置,
WR 是窗口看门狗的上窗口值,由用户独立设置。


窗口看门狗框图剖析
图片1.png

①窗口看门狗时钟
窗口看门狗时钟来自PCLK1,PCLK1最大是36M,由RCC时钟控制器开启。

②计数器时钟
计数器时钟由CK计时器时钟经过预分频器分频得到,分频系数由配置寄存器CFR的位8:7  WDGTB[1:0]配置,可以是[0,1,2,3],
其中CK计时器时钟=PCLK1/4096,除以4096是手册规定的,没有为什么。所以计数器的时钟CNT_CK=PCLK1/4096/(2^WDGTB),
这就可以算出计数器减一个数的时间T= 1/CNT_CK = Tpclk1 * 4096 * (2^WDGTB)。


③计数器
窗口看门狗的计数器是一个递减计数器,共有7位,其值存在控制寄存器CR的位6:0,即T[6:0],当7个位全部为1时是0X7F,这个是
最大值,当递减到T6位变成0时,即从0X40变为0X3F时候,会产生看门狗复位。这个值0X40是看门狗能够递减到的最小值,所以计数器
的值只能是:0X40~0X7F之间,实际上用来计数的是T[5:0]。当递减计数器递减到0X40的时候,还不会马上产生复位,如果使能了
提前唤醒中断:CFR位9 EWI 置1,则产生提前唤醒中断,如果真进入了这个中断的话,就说明程序肯定是出问题了,
那么在中断服务程序里面我们就需要做最重要的工作,比如保存重要数据,或者报警等,这个中断我们也叫它死前中断。

④窗口值
我们知道窗口看门狗必须在计数器的值在一个范围内才可以喂狗,其中下窗口的值是固定的0X40,上窗口的值可以改变,具体的由
配置寄存器CFR的位6:0 W[6:0]设置。其值必须大于0X40,如果小鱼或者等于0X40就是失去了窗口的价值,而且也不能大于计数器的值,
所以必须得小于0X7F。那窗口值具体要设置成多大?这个得根据我们需要监控的程序的运行时间来决定。如果我们要监控的程序段A运行的
时间为Ta,当执行完这段程序之后就要进行喂狗,如果在窗口时间内没有喂狗的话,那程序就肯定是出问题了。一般计数器的值TR设置成最大0X7F,
窗口值为WR,计数器减一个数的时间为T,那么时间:(TR-WR)*T应该稍微大于Ta即可,这样就能做到刚执行完程序段A之后喂狗,起到监控的作用,
这样也就可以算出WR的值是多少了。

⑤计算看门狗超时时间

窗口看门狗时序图.jpg
这个图来自数据手册,从图我们知道看门狗超时时间:Twwdg = Tpclk1 x 4096 x 2^wdgtb x (T[5:0] + 1) ms,
当PCLK1 = 36MHZ时,WDGTB取不同的值时有最小和最大的超时时间,那这个最小和最大的超时时间该怎么
理解,又是怎么算出来的? 讲起来有点绕,这里我稍微讲解下WDGTB=0时是怎么算的。
递减计数器有7位T[6:0] ,当位6变为0的时候就会产生复位,实际上有效的计数位是T[5:0],而且T6必须先设置为1。
如果T[5:0]=0时,递减计数器再减一次,就产生复位了,那这减一的时间就等于
计数器的周期=1/CNT_CK = Tpclk1 * 4096 * (2^WDGTB) = 1/36 * 4096 *2^0 = 113.7us,这个就是最短的超时时间。
如果T[5:0]全部装满为1,即63,当他减到0X40变成0X3F时,所需的时间就是最大的超时时间=113.7*2^5=113.7*64=7.2768ms。
同理,当WDGTB等于1/2/3时,代入公式即可。


窗口看门狗程序

WWDG—窗口看门狗.rar (303.5 KB, 下载次数: 164)

教程
WWDG—窗口看门狗.pdf (370.06 KB, 下载次数: 201)



WWDG功能框图1.jpg
回复

使用道具 举报

发表于 2015-10-16 08:48:41 | 显示全部楼层
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
回复 支持 反对

使用道具 举报

发表于 2015-10-16 09:16:15 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2015-10-31 11:47:07 | 显示全部楼层
支持野火!!!支持每日一题!!!
回复 支持 反对

使用道具 举报

发表于 2015-10-31 14:44:48 | 显示全部楼层
顶顶顶顶顶
回复 支持 反对

使用道具 举报

发表于 2015-11-4 23:14:13 | 显示全部楼层
顶顶顶顶顶顶
回复 支持 反对

使用道具 举报

发表于 2015-11-5 15:09:09 | 显示全部楼层
支持野火!!!支持每日一题!!!
回复 支持 反对

使用道具 举报

发表于 2015-11-20 09:32:49 | 显示全部楼层
支持火哥   真是太棒了
回复 支持 反对

使用道具 举报

发表于 2015-11-29 10:52:52 | 显示全部楼层
看门狗还是比较重要的哦。好好xue
回复 支持 反对

使用道具 举报

发表于 2015-11-29 21:02:26 | 显示全部楼层
正在學習中,感謝火哥分享!!
回复 支持 反对

使用道具 举报

发表于 2015-11-29 21:37:38 | 显示全部楼层
guolai kankan ,,,huoge
回复 支持 反对

使用道具 举报

发表于 2015-12-10 20:35:35 | 显示全部楼层
666666666666666666
回复 支持 反对

使用道具 举报

发表于 2015-12-10 21:51:43 | 显示全部楼层
我想看看嘛~~
回复 支持 反对

使用道具 举报

发表于 2015-12-15 20:15:21 | 显示全部楼层
楼主谢谢啦
回复 支持 反对

使用道具 举报

发表于 2015-12-15 20:16:24 | 显示全部楼层
跟着火哥好好学习!!!
回复 支持 反对

使用道具 举报

发表于 2015-12-15 20:22:24 | 显示全部楼层
支持野火!!!支持每日一题!!!
回复 支持 反对

使用道具 举报

发表于 2015-12-16 08:58:41 | 显示全部楼层
看看先..
回复 支持 反对

使用道具 举报

发表于 2015-12-16 16:23:07 | 显示全部楼层
看看窗口看门狗是如何使用,学习下
回复 支持 反对

使用道具 举报

发表于 2015-12-17 21:34:14 | 显示全部楼层
很好很强大
回复 支持 反对

使用道具 举报

发表于 2015-12-27 11:48:55 | 显示全部楼层
学习一下看门狗,这个还是很有用的
回复 支持 反对

使用道具 举报

发表于 2016-1-5 16:08:35 | 显示全部楼层
回复

使用道具 举报

发表于 2016-1-7 09:01:03 | 显示全部楼层
新手,学习
回复

使用道具 举报

发表于 2016-1-24 19:24:30 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2016-1-25 22:05:21 | 显示全部楼层
想学一下WWDG,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2016-1-26 17:30:47 | 显示全部楼层
看看……
回复

使用道具 举报

发表于 2016-2-3 22:14:48 | 显示全部楼层
学习!!!!!!
回复

使用道具 举报

发表于 2016-2-8 22:02:24 | 显示全部楼层

支持野火!!!支持每日一题!!
回复 支持 反对

使用道具 举报

发表于 2016-2-14 16:21:21 | 显示全部楼层
多谢分享,学习了
回复 支持 反对

使用道具 举报

发表于 2016-2-19 14:16:38 | 显示全部楼层
火哥,你好!刚好看门狗这里有些问题,看看你的文件
回复 支持 反对

使用道具 举报

发表于 2016-2-19 14:38:36 | 显示全部楼层

顶顶顶顶顶
回复 支持 反对

使用道具 举报

发表于 2016-2-19 22:00:35 | 显示全部楼层
顶顶顶顶顶顶顶顶顶
回复 支持 反对

使用道具 举报

发表于 2016-2-26 09:18:53 | 显示全部楼层
每天学一题,轻松有自在.
回复 支持 反对

使用道具 举报

发表于 2016-3-3 09:22:41 | 显示全部楼层
PID算法实现(c 语言)
回复 支持 反对

使用道具 举报

发表于 2016-3-3 19:49:24 | 显示全部楼层
看看!!!!
回复

使用道具 举报

发表于 2016-3-6 20:34:39 | 显示全部楼层
学不好都感觉太惭愧了
回复 支持 反对

使用道具 举报

发表于 2016-3-15 14:05:09 | 显示全部楼层


支持野火!!!支持每日一题!!!
回复 支持 反对

使用道具 举报

发表于 2016-3-17 22:39:44 | 显示全部楼层
STM32窗口看门狗框图详解+程序+教程 非常详细 [修改]  
学习,谢谢!
回复 支持 反对

使用道具 举报

发表于 2016-3-18 12:32:04 | 显示全部楼层
支持,看看看
回复 支持 反对

使用道具 举报

发表于 2016-3-25 10:59:35 | 显示全部楼层

支持野火!!!支持每日一题!!!
回复 支持 反对

使用道具 举报

发表于 2016-3-25 16:55:07 | 显示全部楼层
謝謝火哥,太感動了, 我還要再充實自己
回复 支持 反对

使用道具 举报

发表于 2016-3-25 20:20:20 | 显示全部楼层

支持野火!!!支持每日一题!!!
回复 支持 反对

使用道具 举报

发表于 2016-3-26 19:54:37 | 显示全部楼层
等提供你是个土豪
回复 支持 反对

使用道具 举报

发表于 2016-3-29 22:12:56 | 显示全部楼层
窗口看门狗计数器的值必须在上窗口和下窗口之间才可以喂狗。
回复 支持 反对

使用道具 举报

发表于 2016-3-30 03:45:05 | 显示全部楼层
顶开看看         
回复 支持 反对

使用道具 举报

发表于 2016-3-30 10:47:53 | 显示全部楼层
感谢分享!学习学习!
回复 支持 反对

使用道具 举报

发表于 2016-4-20 02:23:28 | 显示全部楼层

学习一下、、、、、、、、、、、、、
回复 支持 反对

使用道具 举报

发表于 2016-4-23 22:12:21 | 显示全部楼层
学习了呀。
回复

使用道具 举报

发表于 2016-5-5 09:48:56 | 显示全部楼层
cccccccccccccccccccccc
回复 支持 反对

使用道具 举报

发表于 2016-5-5 14:16:00 | 显示全部楼层
学习学习!
回复

使用道具 举报

发表于 2016-5-6 14:16:04 | 显示全部楼层
这个可以好好学习下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-19 17:07 , Processed in 0.126261 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表