STM32F1学习——WDG看门狗

一、WDG(Watchdog)看门狗

STM32内置两个看门狗,① 独立看门狗(IWDG):独立工作(使用内部的低速时钟LSI),对时间精度要求较低。其工作原理是一个重复自减极速器,如果在减为0之前你没有将计数值重置(喂狗),那么当他减为0时就会产生复位信号,防止程序卡死。②窗口看门狗(WWDG):使用APB1时钟,要求看门狗在精确计时窗口起作用。其工作原理是在一段时间内,不能过早也不能过晚之间必须重置计数器值(喂狗),否则产生复位信号。

二、看门狗的硬件电路

a、IWDG看门狗硬件电路

独立看门狗的执行逻辑和定时器没太大差别,首先是LSI内部低速时钟进入8位预分频器,后驱动12位递减计数器递减,通过键寄存器驱动喂狗,将12为重装载数值写入计数器。同时你可以在状态寄存器IWDG_SR查看电路运行状态。

同时独立看门狗的寄存器主要在1.8V供电区,而三个类似实际电路的寄存器位于VDD供电区,即在停机和待机模式的时候仍然能正常工作。

键寄存器是在定时器中没有的,这里为什么要这么设计,其主要原因还是为了防止干扰。键寄存器本质上是控制寄存器,用于控制硬件电路的工作。在可能存在干扰的情况下,一般通过在整个寄存器写下一个特定值来代替控制寄存器写入一位的功能,以降低硬件电路受到干扰的概率。

b、IWDG看门狗超时时间

超时时间: T(IWDG) = T(LSI) * PR(预分频系数) * (RL + 1); 其中T(LSI) = 1 / F(LSI)

c、WWDG看门狗硬件电路

WWDG看门狗是一个在APB1总线上的外设,他的经典时钟是36MHZ,PCLK1通过看门狗预分频器,进入自减计数器,这个计数器的最高位WDGA为WWDG看门狗的使能信号,T6最高位为0的时候会产生复位信号,从左边的或门进入。则这里计数值需要注意,是减少到0x3F的时候产生溢出标志位产生晚复位信号。

早复位信号的产生是T6:0 > W6:0,这里T6:0是自减的,所以W6:0还大说明喂狗早了,下面会有时序图看看。

d、WWDG看门狗超时时间

纵坐标为T6:0,他随着时钟信号自减,在大于W6:0的时候不运行刷新表示时间过早喂狗,在W6:0和0x3F的时候表示可以喂狗,超过0x3F表示没有喂狗。

同时图中在递减计数器T6:0为0x40的时候可以产生早期唤醒中断EWI,可用于重装在计数器以避免WWDG复位或执行保护数据等功能。

最晚喂狗时间:TWWDG晚 = TPCLK1 * 4096(固定值未画出) * 2^WDGTB * (T5:0 + 1);

最早喂狗时间:TWIN = TPCLK1 * 4096(固定值未画出) * 2^WDGTB *(T5:0 - W5:0);

其中TPCLK1 = 1 / Fpclk1; 最早喂狗时间也叫窗口时间,即进入窗口的时间。

e、两种看门狗的对比

三、参考

14-1 WDG看门狗_哔哩哔哩_bilibili

相关推荐
wp123_11 小时前
硬件设计笔记:1μH功率电感选型实战——线艺 XFL4020-102MEC 与 国产 pin to pin MVLH4020-1R0M 详细参数测评
笔记·科技·硬件架构·硬件工程
zyf1044161 小时前
暑期实践日志 Day48:复盘大纲与知识点对照表,系统汇总整理成果
学习·计算机网络·剪辑·暑期实践·课题任务
摇滚侠1 小时前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 Spring Boot 应用打包 阅读笔记 41
spring boot·笔记·后端
金立基包装胶水2 小时前
纸袋热封胶常见都有哪些问题?
大数据·笔记·其他
chnyi6_ya2 小时前
论文阅读笔记 | HoneyBee: Data Recipes for Vision-Language Reasoners
论文阅读·笔记
repetitiononeoneday2 小时前
【每日规划与反思】2026.9.4
笔记
江湖人称菠萝包2 小时前
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter1-基础知识
windows·笔记
艾芯微科技2 小时前
SKY13370‑374LF|0.5‑6GHz SPDT 射频开关,WLAN/LTE 射频前端实用器件
网络·单片机·嵌入式硬件·集成测试·51单片机
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(61):CFGM——用粗到细的记忆落地贯通经验采集、知识蒸馏与在线纠错
论文阅读·人工智能·学习·开源·github
边境悍匪3 小时前
蜗牛学苑 Java 智能体学习 Day33|AOP 面向切面编程、日志技术思维导图复盘
学习