独立看门狗 IWDG

看门狗介绍

"看门狗"通常指的是计算机科学和信息技术领域中的一种技术或设备,用于监控系统的运行状态,并在系统出现故障或异常情况时采取相应的措施。这种技术或设备起到类似于守卫的作用,确保系统的稳定性和可靠性。

在计算机系统中,看门狗通常是一种硬件设备或计时器,定期接收系统的信号。如果系统正常运行,会定期发送一个称为“喂狗”的信号给看门狗,以防止它超时。如果系统发生故障、崩溃或停止响应,无法发送喂狗信号,那么看门狗就会认为系统出现问题,触发相应的应急措施,例如重新启动系统或执行其他恢复操作。

看门狗的概念也可用于软件层面,其中一个进程被设计为定期检查系统状态,并在必要时采取纠正措施。这种方法有助于提高系统的可用性和稳定性。

独立看门狗:

独立看门狗工作在主程序之外,能够完全独立工作,它的时钟是专用的低速时钟( LSI ),由
VDD 电压供电, 在停止模式和待机模式下仍能工作。  
独立看门狗本质
本质是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复
位信号,即 IWDG_RESET
如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们
经常说的喂狗。
独立看门狗时钟
独立看门狗的时钟由独立的 RC 振荡器 LSI 提供,即使主时钟发生故障它仍然有效,非常独立。启用
IWDG 后, LSI 时钟会自动开启。 LSI 时钟频率并不精确, F1 40kHz
LSI 经过一个 8 位的预分频器得到计数器时钟。
重装载寄存器
重装载寄存器是一个 12 位的寄存器,用于存放重装载值,低 12 位有效,即最大值为 4096 ,这个值
的大小决定着独立看门狗的溢出时间。

 

键寄存器
键寄存器 IWDG_KR 可以说是独立看门狗的一个控制寄存器,主要有三种控制方式,往这个寄存器
写入下面三个不同的值有不同的效果

 

溢出时间计算公式 
 独立看门狗实验

需求:
开启独立看门狗,溢出时间为 1 秒,使用按键 1 进行喂狗。
硬件接线:
KEY1 -- PA0
UART1 -- PA9/PA10
溢出时间计算:
PSC=64 RLR=625
编程实现:

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 23:50:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 23:50:03       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 23:50:03       87 阅读
  4. Python语言-面向对象

    2023-12-17 23:50:03       96 阅读

热门阅读

  1. [Unity] 基于迭代器的协程底层原理详解

    2023-12-17 23:50:03       65 阅读
  2. C语言——谁考了第k名(编程题目)

    2023-12-17 23:50:03       59 阅读
  3. 从零开始搭建Go语言开发环境

    2023-12-17 23:50:03       63 阅读
  4. gdb print,gdb x和gdb display的使用

    2023-12-17 23:50:03       68 阅读
  5. Spring Boot注解说明

    2023-12-17 23:50:03       56 阅读
  6. 【.Net 6.0--通用帮助类--ConvertHelper】

    2023-12-17 23:50:03       48 阅读