窗口看门狗的喂狗时间是如何计算的

2019-08-13 18:51发布

本帖最后由 kingpage 于 2016-2-26 00:20 编辑

想请教一下窗口看门狗的允许喂狗的时间范围值是如何计算的,比如我在初始化时设了计数器值为:0X7F,窗口值为:0X5F,分频数是8,即:WWDG_Init(0X7F,0X5F,3).那么要花多长时间,计算器值会到达上窗口值0X5F,多长时间会到达下窗口值0X40,从初始化时所设定的计算器值要到达这两个上、下窗口值所耗的时间该怎么计算,公式是什么?如果知道这两个时间点,才好知道开启看门狗后,需要在什么时间范围内喂狗才不会产生复位。按照书上的计算公式:Twwdg=(4096*2^WDGTB*(T[5:0]+1))/Fpclk1,怎么这个公式只与分频数、计数器值、时钟频率有关,却与窗口值(0X5F)无关呢?在相同分频数下,允许喂狗的时间范围值应该与初始化时所设定的计数器值和窗口值有很大关系的啊。麻烦大家指导一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
xkwy
1楼-- · 2019-08-13 21:46
你没看懂这个图:

0.png

窗口看门狗:
1、到达tWWDG这个时间后如果还不喂狗,则会复位,
2、如果没有到达窗口值(即处于Refresh not allowed区间)便喂狗的话,也会复位。


传统的看门狗没有窗口,即没有窗口看门狗的第2条
龙之谷
2楼-- · 2019-08-13 22:42
 精彩回答 2  元偷偷看……
kingpage
3楼-- · 2019-08-14 01:06
本帖最后由 kingpage 于 2016-2-26 00:35 编辑
xkwy 发表于 2016-2-25 16:13
你没看懂这个图:

原来这个tWWDG时间是从T[6:0]到达0X40的时间,而到达W[6:0]的一般不是用时间来判断,而是用T[6:0]当前的值是否比W[6:0]来判断,之前一直理解为T[6:0]到达W[6:0]也用时间来判断了,一时钻了牛角尖了,现在搞明白了,感谢、感谢。
kingpage
4楼-- · 2019-08-14 04:15
本帖最后由 kingpage 于 2016-2-26 00:32 编辑
龙之谷 发表于 2016-2-25 17:13
T[5:0]

看到二楼的回复已经明白了,但同样谢谢你的回复。
southeast
5楼-- · 2019-08-14 08:18
kingpage 发表于 2016-2-25 23:57
原来这个tWWDG时间是从T[6:0]到达0X40的时间,而到达W[6:0]的一般不是用时间来判断,而是用T[6:0]当前的 ...

楼主,从T[6:0]->W[6:0],程序内部是比对的值,但是我们在喂狗的时候,不还是要自己考虑T[6:0]->W[6:0]之间的时间么,而且,总时间可以计算,通过比例,我们也可以计算出这个时间啊,只是公式改一下就好了!!!
924583269
6楼-- · 2019-08-14 11:05
请问下,计数器值为:0X7F,窗口值为:0X5F,分频数是8,即:WWDG_Init(0X7F,0X5F,3),计算出来的Twwdg=4096X2^8X128/36000=3.7S  怎么在程序里面灯闪得那么快呢,估计都没有0.5s的间隔

一周热门 更多>