看门狗定时器原理|学习笔记

简介: 快速学习看门狗定时器原理

开发者学堂课程【嵌入式之RFID开发与应用2020版:看门狗定时器原理】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/665/detail/11163


看门狗定时器原理

 

内容简介

一:看门狗

二:看门狗使用

 

本节内容学习看门狗相关知识,很多认为看门狗不该在基础课程中学习,而应该在进阶课程。但是无论里面的知识多基础都应该加上看门狗知识,因为做产品时这个知识很重要,市场上很多出售的产品没有看门狗而导致整个系统崩溃,崩溃之后没有办法复位,恢复到最初状态。所以很多不懂的用户,比如电池供电而电池无法打开时的情况下,一直持续供电状态下,但程序早就报废了,设备对普通用户来讲它坏了,但它没有彻底坏掉。

 

一:看门狗

STM32有两个看门狗:

➢窗口看门狗,号称宠物狗,采用系统时钟(和系统的app是共用的),监控软件的运行异常。

窗口看门狗一般用于有操作系统的环境下,对一些任务的单独的软件的监听,判断它是否异常。因为窗口看门狗一旦出现异常,也即在规定时间内没有去窗口看门狗喂狗,

➢独立看门狗,号称警犬,通过一个12bit计数器对设定频率减计数,采用独立时钟,监控芯片异常。独立于芯片之外的系统,但可以通过这个系统配置,但配置之后就没有关系了,就只需要去判断它的状态。

如果STM32芯片整个出现异常,只要独立看门狗是好的,它就可以发出警告或者恢复这个芯片。但如果独立看门狗也坏了,是否能让芯片恢复还未研究。

看门狗的意思是这个芯片在运行程序,那如何知道它在运行程序?认为它没有出现问题就是在运行程序,但有可能程序运行着会突然不运行了,那如何程序是否一直在运行?就相当于我们每隔一段时间唱一首歌或每隔一段时间叫名字就认为我们还活着,还在正常运行,在这里就是设定一个定时器,定时器在规定时间内像沙漏般在规定时间内漏完,但是在漏完之前需要把沙漏翻转过来,如果程序在规定时间内没有翻转沙漏,就认为程序出故障了。因为程序没有完成规定的事情。

程序出问题对于窗口看门狗来说是指某个软件出了问题,那就可以处罚一个中断,可以在中断里面队程序进行重新执行或者让任务重新执行或者无法重新执行时保存重要的资料和保存现场重要信息在flash中。如果程序在检查发现中没有问题,可以在中断中进行喂狗,喂完整个系统可以继续执行。对于独立看门狗在规定时间没有喂狗,就会直接让整个芯片完全复位即芯片从头到尾再执行一遍。所以独立看门狗监听整个芯片。

image.png

独立看门狗使用的频率是40khz,然后再根据需要预分频,并且设置重载值是多少,根据频率加上重载值就可以得出计数周期是多少。在规定计数周期内就必须喂狗,不喂狗一旦出现狗被饿死的情况系统就会复位。所以为什么独立看门狗可以监听整个芯片?是因为只要在主事件循环中加入一句话://喂狗。

 

二:独立看门狗使用

Ø 使能寄存器的写操作

Ø 设置预分频值和重装载值

Ø 启动后就可以使用了

溢出计算公式

image.png

其中溢出公式是重要的,需要使用公式算出溢出时间,通过设置预分频值和重装载值来得出溢出时间。

只要设置了看门狗就要定期喂狗,否则系统就会重启,具体溢出时间可以参考下表:

image.png

/4表示40khz除以4就得到计数频率,其他类似。PR代表寄存器中的值,设定值为4就是64分频,PL代表设定的分频系数如4分频情况下最短的定时时间和最长定时时间。图中最长定时时间为26ms,这可以满足不同的需求,频率太高耽误正事,频率太低也不行,如小米平衡车,它的喂狗时间就不能太长,20几秒一次车就会转好几圈会坏掉,所以它喂狗的时间应该规定在毫秒30毫秒或20毫秒喂一次,保证在不出现故障的情况下还能正常运行,所以喂狗的时间取决于实际的应用场景。

相关文章
|
SQL 分布式计算 Hadoop
大数据行业部署实战1:Hadoop伪分布式部署
大数据行业部署实战1:Hadoop伪分布式部署
980 0
|
网络协议 Java 中间件
2024年最新阿里Java高级岗200+面试题,掌握80%进阿里没问题
更新的阿里集团Java岗JD标准,信息来源于阿里集团的招聘专场,包括天猫、蚂蚁金服、中间件团队的高级Java、技术专家岗位。文末随附BATJTMD等一线互联网企业的Java高级研发岗位的面试题目及答案。
|
算法 数据安全/隐私保护 Windows
|
机器学习/深度学习 自然语言处理 搜索推荐
深度分析 | 2024主流的智能客服系统有哪些?他们是怎么实现的?
本文深入探讨了智能客服系统的使用方法和相关技术实现逻辑,涵盖前端交互、服务接入、逻辑处理、数据存储四大层面,以及自然语言处理、机器学习、语音识别与合成、数据分析与挖掘、知识库管理和智能推荐系统等核心技术,帮助企业更好地理解和应用智能客服系统,提升服务效率和客户满意度。
2054 1
|
JavaScript API 开发者
vue自定义Hooks函数使用和封装思想
【8月更文挑战第8天】vue自定义Hooks函数使用和封装思想
630 1
|
编解码 开发工具 计算机视觉
鸿蒙5.0版开发:命令行工具(mediatool工具)
在HarmonyOS 5.0的开发中,命令行工具mediatool基于FFmpeg库,提供了丰富的媒体处理功能,如视频和音频的转码、封装格式转换、提取媒体信息等。本文详细介绍mediatool的功能和使用方法,并提供代码示例。
633 6
|
存储
硬盘碎片整理的原理是什么?
硬盘碎片整理的原理是什么?
929 4
|
缓存 前端开发 安全
前后端分离架构下Java Web开发的挑战与解决方案
前后端分离架构下Java Web开发的挑战与解决方案
476 1
|
网络协议 安全 网络安全
DNS服务器加密传输
【8月更文挑战第18天】
2454 15

热门文章

最新文章