窗口看门狗的作用是什么?窗口看门狗复位分析
一,窗口看门狗介绍
独立看门狗的喂狗范围 0-X(X由预分频器和重装载值决定,最大值为0xFFF)
独立看门狗相关介绍:传送门:独立看门狗
相比于独立看门狗,窗口看门狗限定了喂狗时间段(由喂狗上限和喂狗下限值限定的喂狗范围)
所以形象的称作窗口看门狗
二,为什么需要窗口看门狗
独立看门狗:在0-重载值之间任意时间都可以喂狗
如果程序跑飞后又跑回正常
或者跑乱的程序正好执行了刷新看门狗
这样独立看门狗是不能检查到并复位芯片的
窗口看门狗:限制了喂狗时间
如果程序跑飞并且在限制的时间段喂狗是很困难的
从而保证了程序的正常运行
1234567891011
三,独立看门狗和窗口看门狗比较
独立看门狗:
驱动:由LSI驱动,即使主时钟发生故障它仍有效
适用场景:
作为主程序之外能够完全独立工作
对时间精度要求较低
123456
窗口看门狗:
驱动:由APB1时钟分频后得到时钟驱动
适用场景:
在精确计时窗口起作用的程序
12345
四,独立看门狗工作原理
参数:
CNT:递减计数器
窗口上限:寄存器设置
窗口下限:0x3F
随时间推移,计数器值递减,经过上窗口W和下窗口
重载值-》上窗口:这段时间不允许喂狗,如果喂狗会使芯片复位
上窗口-》下窗口:这段时间允许喂狗,下窗口位固定值(0x3F)
下窗口:进入下窗口会产生复位
T6位:
0x3F=00111111
在计数器到达0x3F之前第六位为1
所以当计数器到达窗口下限前T6位为1,到达窗口下限后T6位为低电平
复位:
当计数器到达窗口下限(喂狗失败),会产生MCU复位信号,使芯片复位
12345678910111213141516171819
五,窗口看门狗复位分析
递减计数器时钟:
时钟来源PCLK1
由于PCLK1时钟频率过高/4096
再经过预分频器WDGTB
预分频后作为递减计数器时钟
WWDG_CR寄存器:
T7:WDGA启动位-使能窗口看门狗
T0-6 :6位递减计数器寄存器
WWDG_CFR寄存器:
W0-6:设置窗口看门狗上窗口值
比较器:
比较递减计数器CNT和上窗口寄存器大小关系
递减计数器值》上窗口值 比较结果为1
1234567891011121314151617
分析一: 计数器值》上窗口值时,喂狗,会产生复位
当计数器值》上窗口值时,比较器比较结果输出为1
此时喂狗,与门1下端输入为1
所以,或门1上端输入为1,导致与门2右端输入为1
此时看门狗处于使能状态,与门2左端输入为1
所以芯片产生复位
123456
分析二: 计数器值到达0x3F,会产生复位
当计数器值到达0x3F时,T6位从1跳变到0
或门1下端输入通过取反置1,所以或门1输出值为1,与门右侧输入值为1
此时看门狗处于使能状态,与门2左端输入为1
所以芯片产生复位
12345
总结:窗口看门狗有两种情况会产生复位
1,喂狗时间大于窗口上限值
2,计数器值从0x40减到0x3F
如果启动看门狗并且允许中断,当递减计数器等于0x40时,会产生唤醒中断EWI,它可以用于喂狗避免WWDG复位
12345
窗口看门狗使用注意
上窗口值W[6:0]必须大于下窗口值0x40(0x40产生唤醒中断),否则窗口看门狗就没有窗口了
12
六,窗口看门狗的超时时间
时钟来源:
Fpclk1除以4096再经过WDGTB预分频器
f = Fpclk1 / (4096 * 2^WDGTB)
123
超时时间:
窗口看门狗时钟周期(时钟频率f分之1) *
t = 1/f * 看门狗计数器重载值
123
七,窗口看门狗相关寄存器
直接写WWDG_CR[6:0]实现喂狗
独立看门狗喂狗:向键值寄存器IWDG_KR写0xAAAA喂狗。将IWDG_RLR寄存器值重新装载到计数器
123
位0-6设置上窗口值
位7-8设置时基-窗口看门狗的时钟频率
位9提前唤醒中断使能位(1:使能)当计数器到达0x40产生中断
1234
WWDG_SR只用到位0:提前唤醒中断标志
当计数器达到0x40时,由硬件置1,需软件清零
123
八,窗口看门狗相关库函数
stm32f10x_wwdg.h中找到相关函数头文件
九,窗口看门狗相关配置步骤
十,窗口看门狗代码:
HARDWARE/WDG目录新建wgd.h
HARDWARE/WDG目录新建wgd.c
USER/main.c主函数编写
以上程序实现:
程序初始化LED点亮延时300ms熄灭
窗口看门狗从0x7F开始递减计数,上窗口为0x5F,下窗口为0x7F
计数器到达0x40进入提前唤醒中断,
在中断函数中进行喂狗操作,计数器翻转(从0x7F重新计数),LED1翻转
以此循环。。.
翻转频率为从0x7F计数到0x40,翻转时间可以根据公式计算
正常喂狗:
LED0亮300ms之后熄灭,LED1不断闪烁
喂狗失败(注释掉喂狗函数):
程序不断复位,LED0闪烁
窗口看门狗的作用是什么?窗口看门狗复位分析相关推荐
- 看门狗的喂法(独立看门狗和窗口看门狗的区别)!
在嵌入式系统中,由于MCU(微控制单元:Microcontroller Unit)的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工 ...
- STM32F10xx中独立看门狗(IWDG)和窗口看门狗(WWDG)介绍
本文大部分内容只用到了键盘的3个按键-你懂的 . 简单总结,Markdown了解一下,推荐. 1.看门狗电路介绍 看门狗电路(watchdog timer),又称监控电路.百度百科解释的很详细: 在由 ...
- 服务器看门狗硬件,软件看门狗和硬件看门狗的作用和区别
软件看门狗和硬件看门狗的作用和区别 工业级无线路由器,作为无线组网中非常重要的设备,洞察客户应用场景,只要是关乎无线组网可靠性的需求,即使是最细微的技术应用都要做到极致,比如看门狗. 为什么工业级无线 ...
- 服务器看门狗芯片电路图,看门狗电路图_看门狗电路作用_看门狗电路的工作原理-与非网...
看门狗电路其实是一个独立的定时器. 图片来源于网络 2.看门狗电路作用 看门狗电路其实是一个独立的定时器,有一个定时器控制寄存器,可以设定时间(开狗),到达时间后要置位(喂狗),如果没有的话,就认为是 ...
- 计算机看门狗的作用,关于看门狗的作用
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1:要讲系统的可靠性,首先要讲系统安全保证机制的可靠性,对于MCU系统来说,养DOG是其中最重要的一条 2:很多人可能要讲,我没养DOG,我的系统也很可靠 ...
- 汪汪汪WDG--看门狗的作用
STM32有2个看门狗:独立看门狗和窗口看门狗. 独立看门狗IWDG--独立于系统之外,因为有独立时钟,所以不受系统影响的系统故障探测器,主要用于监视硬件错误. 窗口看门狗WWDG----系统内部的故 ...
- 【看门狗】通俗理解什么是看门狗?如何工作?
一.看门狗是什么? 通俗来讲,看门狗可理解为"看门"!!!一切正常就不会叫,一旦出现异常,就会叫,从而将信息反馈给我们.因此,他是用来监测单片机运行状态和解决程序引起的故障的模块. ...
- wps里表格中间的字怎么置顶_如何让wps保持窗口最前_怎么把wps窗口置顶
2020-03-04 15:40:25 wps是一款办公软件套装,可以实现办公软件最常用的文字.表格.演示等多种功能.win10系统打开编辑想让wps窗口置顶,也就是显示在其它窗口前面,这样能第一时间 ...
- 计算机窗口是什么意思解释,Windows电脑窗口是什么?关于电脑窗口的一些基础知识...
现在,很多的操作系统都是视窗操作系统,比如:Windows.linux.iOS等.这些系统都是由一个个窗口组成的?那么,什么是窗口呢?举个简单的例子,比如双击我的电脑之后,就打开了一个窗口,如下图所示 ...
最新文章
- 青源 Forum | 人工智能的数理基础前沿系列报告 · 第 5 期
- Opencv腐蚀操作去除激光反光光斑
- Dancing_Links总结 【by AbandonZHANG】
- 算法学习——决策单调性优化DP
- vue-cli如何创建项目到计算机指定位置(如何自定义选择磁盘?)
- 【Elasticsearch】2021 年的顶级 ETL 工具......以及对 ETL 说“不”的理由
- python实现给定信号生成任意信噪比的带噪声信号
- influxDB框架 数据存储 TSM 数据操作等详解
- python怎么重新开始_Python-重新开始游戏
- Adobe系列错误代码解决方案汇总
- BZOJ 1715: [Usaco2006 Dec]Wormholes 虫洞 DFS版SPFA判负环
- 传统IT架构转型,从云原生平台到微服务应用构建
- Android自定义popWindow教程
- 算法最优化(2)线性规划问题中的常见概念辨析:可行解,最优解,基,基向量,非基向量,基变量,非基变量等等
- 计算机标点符号怎么切换,标点符号转换键是什么?
- 被阿里耽误的虾米的一生
- 简述oracle的日志缓冲区,2.4 重做日志缓冲区
- 0017---正方体的表面积和体积
- Qt视频播放器[QMediaPlayer+QVideowidget]
- fedora Linux 配置阿里云开源镜像站