当前位置:网站首页>STM32个人笔记-看门狗
STM32个人笔记-看门狗
2022-08-01 09:09:00 【Couvrir洪荒猛兽】
部分笔记来源于“STM32嵌入式开发”公众号。
看门狗
早期的MCU没有看门狗,就容易引起有些产品死机了不能重启工作。为了避免这个问题,后期的MCU在内部继承了看门狗的功能。
现如今有两种看门狗,应用不同领域。两种看门狗:独立看门狗与窗口看门狗。
独立看门狗
由RCC时钟树得知,LSI驱动独立看门狗。即便在主时钟发送故障时仍然保持工作状态。
IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。
特性:
自由运行递减计数器。
时钟由独立RC振荡器提供(可在待机和停止模式下运行)。
当递减计数器值达到0x000时产生复位(如果看门狗已激活)。
窗口看门狗
之所以称为窗口,是因为其喂狗时间是一个有上下限的范围内,可以通过设定时间寄存器,设定其上限时间和下限时间:喂狗时间不能过早也不能过晚。
特性:
一个可编程的递减计数器。
触发芯片复位的条件:
超过一定时间未对递减计数器更新--俗称喂狗。
未在规定时间范围内更新--------------喂狗太早,狗还没饿。
看门狗复位预警中断--让应用程序在芯片复位前有机会更新递减计数器(喂狗)。
窗口看门狗的上限窗口就是配置寄存器WWDG_CFG:W[6:0],下限窗口是固定的0x40。
当窗口看门狗的计数器在上限窗口之外,或是在下限窗口之外都会产生复位。
上限窗口由 WWDG_CFG:W[6:0] 设定,最大为0x7F,即127。最小为0x40,即64。所以取值范围为0x40~0x7F,即64~127。
配置寄存器WWDG_CFG:WDGTB[1:0]为计数器设定时钟分频系数,确定这个计数器可以定时的时间范围,从而确定窗口的时间范围。
窗口看门狗的时钟来自于PCLK1,在时钟配置中,其频率为36M。则可通过上述的超时公式计算WWDG超时时间。
区别
使用条件对比:
特点对比:
相同点
不同点
两者区别:
独立看门狗没有中断,窗口看门狗有中断。
独立看门狗有硬件软件之分,窗口看门狗只能软件控制。
独立看门狗只有下限,窗口看门狗有下限和上限。
独立看门狗是12位递减的,窗口看门狗是7位递减的。
独立看门狗是用的内部大约40kHz的RC振荡器,窗口看门狗是用的系统时钟APB1。
独立看门狗没有中断功能,只要在计数器减到0(下限)之前,重新装载计数器的值,就不会产生复位。
要注意看门狗和外接复位IC同时存在的情况,外部电路可能会阻止看门狗复位。
窗口看门狗有中断,这个中断的作用是在计数器达到下限0x40的时候,产生中断,让你喂狗。如果不喂狗,计数器的值变为0x3f时,将会产生系统复位。即便是喂狗,也该在中断里快速喂狗,要不时间长了计数器减1也会变成0x3f产生复位。
窗口看门狗还有一个上限值,只有计数器值在上限值和下限值之间才能装载计数器,否则就会产生系统复位。当上限值小于下限值,没有意义。
边栏推荐
- JVM 运行时数据区与JMM 内存模型详解
- Optimal dazzle Oracle database support what kinds of type of the time and date
- 【STM32】入门(二):跑马灯-GPIO端口输出控制
- pytest interface automation testing framework | parametrize source code analysis
- How to query database configuration parameters in GBase 8c, such as datestyle
- Redis学习
- [Interview: Concurrency 39: Multithreading: Thread Pool] ThreadPoolExecutor Class - Submit, Stop
- Mysql数据库的部署以及初始化步骤
- sqlserver 对比两张表的差异
- Get the Token from the revised version of Qubutu Bed
猜你喜欢
【STM32】入门(二):跑马灯-GPIO端口输出控制
ASP.NET Core 6框架揭秘实例演示[30]:利用路由开发REST API
SAP ABAP ALV+SMARTFORS 表分页 报表打印程序
数据分析6
Custom IP used in PCIE
[Beyond programming] When the fig leaf is lifted, when people begin to accept everything
最新的Cesium和Three的整合方法(附完整代码)
USB 协议 (二) 术语
[Dataset] Dataset summary of various insulators, bird's nests and anti-vibration hammers
【杭电多校第四场 B题】最短路图+缩点dp
随机推荐
Shell执行SQL发邮件
Graduation thesis writing skills
HoloView——实时数据
SkiaSharp's WPF self-painted five-ring bouncing ball (case version)
net stop/start mysql80 access denied
Redis 3.2.3 crashed by signal: 11 服务宕机问题排查
【Unity3D】相机
华为深度学习课程第六、七章
Mysql database deployment and initialization steps
leetcode-6132: Make all elements in array equal to zero
22 Grab the Seat 1 C.Grab the Seat (Geometry + Violence)
Redis learning
centos 安装php7.4,搭建hyperf,转发RDS
Data Analysis 5
Centos install php7.4, build hyperf, forward RDS
毕业论文写作技巧
372. 超级次方
获取页面数据的方法
Delphi MDI appliction 文档最大化显示、去掉最大化最小化等按钮
优炫数据库支持Oracle哪几种时间及日期类型