看门狗(独立看门狗)与窗口看门狗的区别

在cortex-M系列芯片上有两个看门狗:看门狗(独立看门狗)和窗口看门狗。

1、相同点

都是为了保证CPU程序跑飞

2、独立看门狗

根据内部看门狗时钟频率,装载寄存器定一个时间值,比如是1000,那么独立看门狗就会按照时钟频率,从1000开始向下每隔一个时钟周期减1,如果在减到0之前,你用程序代码重新向向下计数器里面写1000(喂狗),那么定时器会重新从1000开始向下递减。如果在减到0的时候,你还没有喂狗(用新的数值覆盖计数器),就会产生复位信号。

3、窗口看门狗

根据系统时钟频率,装载一个初始值到向下计数器(假设还是1000),并且设置一个窗口值(小于装载到计数器的初始值,假设是500),窗口看门狗一般会定死窗口下线值是64。计数器从1000开始向下减,在减到500之前(1000到500间),是不允许你去喂狗的,一旦喂狗,就会产生复位信号。只有计数器值减到上限值之后(500到64),才允许你去喂狗。当计数器减到下限值(64到0之间),如果喂狗,也会产生复位信号,当减到0之后,自动产生复位信号。所以窗口看门狗实际上就是设置一个窗口(上下限),在这个范围内,你才允许你去喂狗,只要不在这个范围之内,都会复位。

4、区别

(1)窗口看门狗计时时间比独立看门狗精准; 窗口看门狗使用的是系统时钟源。

(2)窗口看门狗严格限定喂狗时间段,独立看门狗则是只要没有到时间,都能喂狗。

看门狗(独立看门狗)与窗口看门狗的区别!相关推荐

  1. STM32F10xx中独立看门狗(IWDG)和窗口看门狗(WWDG)介绍

    本文大部分内容只用到了键盘的3个按键-你懂的 . 简单总结,Markdown了解一下,推荐. 1.看门狗电路介绍 看门狗电路(watchdog timer),又称监控电路.百度百科解释的很详细: 在由 ...

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

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

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

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

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

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

  5. STM32学习(9)-看门狗,独立看门狗(相关的寄存器和函数),窗口看门狗(相关的寄存器和函数)

    1. 看门狗(watchdog)的作用: 实时检测单片机的程序运行状态,防止程序跑飞造成无法预料的结果. 2. STM32包含哪几个看门狗(独立看门狗和窗口看门狗) 3.独立看门狗 3.1 独立看门狗 ...

  6. STM32F103_DDWG窗口看门狗

    简介: 独立看门狗限制喂狗时间在0-x内,x由相关寄存器决定.喂狗时间不能过晚. 而窗口看门狗喂狗时间有个上下限的范围(称为窗口),课以通过设定相关的寄存器,设定其上限时间(下限固定).喂狗时间不能过 ...

  7. 看门狗喂狗被狗咬——窗口看门狗

    喂狗:重新把装载寄存器中的值装载至计数寄存器或者直接往计数寄存器写入数据,保证mcu不会复位. 被狗咬:没有及时喂狗或者喂狗过于频繁,后者只存在于窗口看门狗,在独立看门狗中不存在喂狗过快还被狗咬的现象 ...

  8. 【STM32】窗口看门狗程序

    00. 目录 文章目录 00. 目录 01. 窗口看门狗简介 02. 硬件设计 03. 编程步骤 04. 程序示例 05. 测试结果 06. 附录 07. 声明 01. 窗口看门狗简介 窗口看门狗(W ...

  9. 窗口看门狗实验定时器基本原理

    目录 1.  窗口看门狗 1.1  窗口看门狗概述 1.1.1  窗口看门狗工作示意图 1.1.2  窗口看门狗工作过程总结 1.1.3  窗口看门狗超时时间 1.1.4  为什么要窗口看门狗 ? 1 ...

  10. STM32学习笔记——窗口看门狗WWDG介绍及配置

    WWDG 窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障.除非递减计数器的值在T6位(WWDG->CR 的第六位)变成0前被刷新,看门狗 ...

最新文章

  1. 一篇简单易懂的原理文章,让你把JVM玩弄与手掌之中
  2. 秉承着一位代码艺术家的分享精神
  3. 关于编辑器的C#,C++/CLI,C++三层架构
  4. delphi项目文件说明
  5. 傅里叶变换频谱的可视化保存
  6. 实验 5 编写、调试具有多个段的
  7. Javascript事件模型系列(一)事件及事件的三种模型
  8. Wordpress博客首页能打开 子页打不开解决办法
  9. Qt ui-setupUi(this)的作用
  10. jquery设置元素的readonly和disabled
  11. 后端接口生成微信小程序二维码Api
  12. Linux usbkey自动登陆,Usbkey怎么用?|3分钟让您了解Usbkey使用方法
  13. 两个PDF怎么合成在一起
  14. 图形库LVGL v8.2版本移植
  15. springboot注解实现自动插入创建时间和更新时间到数据库
  16. 数字图像处理 总复习(第七章)*秋昊
  17. 安兔兔电脑ssd测试软件,不服跑个分?安兔兔推出了一款固态硬盘测速软件
  18. 360 度反馈过程的目标
  19. 文件夹重命名,快速修改多个文件夹名称
  20. Flying Squirrel Creek

热门文章

  1. 【Java 集合】Java 集合主要脉络 ( Collection | Map | List | Set )
  2. 【Android 应用开发】 ActionBar 基础
  3. Mybatis-Plus插件配置
  4. ThinkPHP 中M方法和D方法的具体区别
  5. Jquery中bind和live的区别
  6. VS2017学习OpenGL时遇到的一些小问题和解决方法
  7. 汇编--条件跳转指令
  8. dubbo自定义异常传递信息丢失问题解决
  9. Word中你不得不学习的几个小技巧,让你不仅玩的溜,效率也贼高!
  10. php 发送http请求