关注+星标公众,不错过精彩内容

素材来源 | STM32

微信公众号 | 嵌入式专栏

早期的MCU没有看门狗,就容易引起有些产品死机了不能重启工作。为了避免这个问题,后期的MCU在内部集成了看门狗的功能。

为了满足更多使用场景,现在很多MCU都集成了两个看门狗:独立看门狗与窗口看门狗

拿现在大家熟悉的STM32来说,都集成了独立看门狗和窗口看门狗,下面就展开来讲讲这个两个看门狗以及它们的区别。

独立看门狗

独立看门狗,顾名思义,就是独立的一个看门狗,由其专用低速时钟 (LSI) 驱动,因此,即便在主时钟发生故障时仍然保持工作状态。

IWDG 最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。

独立看门狗特性:

  • 自由运行递减计数器

  • 时钟由独立 RC 振荡器提供(可在待机和停止模式下运行)

  • 当递减计数器值达到 0x000 时产生复位(如果看门狗已激活)

窗口看门狗

窗口看门狗,之所以称为窗口,是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间:喂狗的时间不能过早也不能过晚。

窗口型看门狗

窗口看门狗的上窗口就是配置寄存器WWDG->CFR里设定的W[6:0];下窗口是固定的0x40;当窗口看门狗的计数器在上窗口值之外,或是低于下窗口值都会产生复位。

窗口型看门狗工作原理

上窗口的值可以只有设定,7位二进制数最大只可以设定为127(0x7F),最小又必须大于下窗口的0x40,所以其取值范围为64~127(即:0x40~0x7F);配置寄存器WWDG->CFR中为计数器设定时钟分频系数,确定这个计数器可以定时的时间范围,从而确定窗口的时间范围。

窗口看门狗的时钟来自于PCLK1,在时钟配置中,其频率为外部时钟经倍频器后的二分频时钟,即为36MHz,根据手册可以知道其定时时间计算方法:

两者对比

1.使用条件对比

2.特点对比

两者的区别

独立看门狗与窗口看门狗的区别如下:

  • 独立看门狗没有中断,窗口看门狗有中断。

  • 独立看门狗有硬件软件之分,窗口看门狗只能软件控制。

  • 独立看门狗只有下限,窗口看门狗有下限和上限。

  • 独立看门狗是12位递减的,窗口看门狗是7位递减的。

  • 独立看门狗是用的内部大约40KHz的RC振荡器,窗口看门狗是用的系统时钟APB1ENR

独立看门狗没有中断功能,只要在计数器减到0(下限)之前,重新装载计数器的值,就不会产生复位。

要注意看门狗和外接复位IC同时存在的情况,外部电路可能会阻止看门狗复位。

窗口看门狗有中断,这个中断的作用是在计数器达到下限0x40的时候,产生中断,让你喂狗;如果你不喂狗,计数器的值变为0x3f的时候,将会产生系统复位;即使是喂狗,也应该在中断里快速喂狗,要不时间长了计数器减1也会变成0x3f产生复位。

窗口看门狗还有一个上限值,这个值如果大于计数器的初始值,那么就没有任何作用了;这个值小于计数器初始值的时候,当计数器的值大于上限值时你对计数器进行装载,将会产生复位,只有在计数器减到小于上限值时,你才能重新装载计数器。意思就是说只有计数器的值在上限值和下限值之间你才能装载计数器,否则就会产生系统复位,当上限值小于下限值,也没有意义。

最后,拓展一下基于STM32、FreeRTOS实现硬件看门狗+软件看门狗监测多任务的思路

------------ END ------------

●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

点击“阅读原文”查看更多分享。

MCU独立看门狗 vs 窗口看门狗相关推荐

  1. STM32之独立看门狗与窗口看门狗总结

    一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...

  2. stm32看门狗_STM32单片机:独立看门狗、窗口看门狗的配置

    SATM32单片机的看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看一下他们的具体区别和配置方法.▍STM32独立看门狗由专门的低速时钟(LSI)驱动,即便是主时钟发生故障它仍 ...

  3. 看门狗的喂法(独立看门狗和窗口看门狗的区别)!

    在嵌入式系统中,由于MCU(微控制单元:Microcontroller Unit)的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工 ...

  4. STM32—看门狗详解入门(独立看门狗、窗口看门狗)

    目录 一.什么是看门狗? 二.独立看门狗IWDG 1.特点.本质及原理 2.配置 3.main.c代码 三.窗口看门狗WWDG 1.特点.本质及原理 2.配置 3.main.c代码 四.独立看门狗与窗 ...

  5. STM32中的独立看门狗和窗口看门狗

    STM32中的独立看门狗和窗口看门狗 在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况.为了避免这种情况的出现,后期的MCU都集成了看门狗的功能.但是,目前看门狗发展到今天 ...

  6. stm32 独立看门狗和窗口看门狗区别

    原文地址https://www.cnblogs.com/pertor/p/9483445.html 一.使用调条件 二.特点对比 三.手册介绍 [注]图中的WDGTB为3表示2^3=8,表示8分频,最 ...

  7. stm32 定时器_如何计算STM32定时器、独立看门狗和窗口看门狗

    点击上方蓝色字体,关注我们 本博文简要阐述STM32L011微控制器定时器的参数配置(其他型号大同小异,本文侧重讲解配置,至于各类定时器的特点后续再述),STM32定时器种类繁多有通用定时器.基本定时 ...

  8. 如何计算STM32定时器、独立看门狗和窗口看门狗

    目录 1.基本.通用类型定时器 2.独立看门狗定时器 3.窗口看门狗定时器 之前分享了STM32 GPIO的原理.特性.选型和配置.如何计算RTC时钟异步预分频和同步预分频,这次简要阐述STM32L0 ...

  9. 独立看门狗和窗口看门狗

    为什么要开门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的 ...

最新文章

  1. 嵌入式开发之zynq——zynq开发环境搭建
  2. 在ubuntu16.4中安装mysql_【Linux】Ubuntu16.04环境下MySQL的安装与使用
  3. hocon配置文件_GitHub - Himmelt/Hocon: Simple Hocon Configuration Library [轻量 Hocon 配置库]...
  4. sphinx+coreseek+php扩展--用php程序实现中文拆词
  5. urllib库中cookie的使用
  6. Iterator(迭代器)--对象行为模式
  7. Python实现GitBook工具
  8. 设置让终端保持utf8 cmd的设置
  9. slect,poll,epoll区别
  10. C语言以数据块的形式读写文件
  11. 用户态处理arp、ndisc neighbour solication 报文
  12. 南阳理工ACM954--N!
  13. Vs2010激活 系统延长期限
  14. EasyCamera海康摄像机向EasyDarwin云平台推送音视频数据的缓存设计
  15. 2021年全国计算机南京考点,2021考研考场安排:往年南京市考研考点及考场安排
  16. 参考文献格式要首行缩进吗_参考文献第二行缩进论文范文 有关毕业论文格式明毕业论文写作资料...
  17. 立刷提现显示服务器繁忙,为什么我的网页显示服务器繁忙,求大神教破除方法...
  18. 从小白到web渗透工程师——零基础指南(1)web渗透工程师介绍
  19. android 自动加微信,Android实现微信自动向附近的人打招呼(AccessibilityService)
  20. Python语音机器人控制STM32开发流程

热门文章

  1. pythonrequests设置_关于python:我可以为requests.request设置max_retries吗?
  2. Kafka Producer重试参数retries设置取舍
  3. 社区项目分享 | 用 Jina 搭建一个电影推荐系统
  4. 时光如梭,一晃一年多,过去了,回想起南京教学的那些日子,给学员们准备的面试题
  5. Linux配置双网卡
  6. vivo手机插了卡显示无服务器,vivo手机卡1能正常使用,卡2打不通电话,用卡2往出打电话就显示无法访问移动网络,是怎么回事??...
  7. 计算机电缆电压实验,计算机电缆的执行标准与规格型号
  8. 易语言破解之绕VM思路
  9. 《影响力》读书笔记,第七章 稀缺
  10. git连接远程仓库拉去代码——阿里云