STM32模块:023 WDG看门狗

看门狗简介

独立看门狗,拥有独立的时钟LSI,主时钟故障依旧可以工作。

窗口看门狗,使用APB1时钟。

两种看门狗都是递减计数器,从特定值(独立看门狗为重装载寄存器的值,窗口看门狗无重装载寄存器,直接在CNT里写入的值)减到0时发送复位信号。

看门狗启动后无法关闭,但窗口看门狗发生复位时关闭。

IWDG介绍

1)IWDG结构:

看门狗功能处于VDD供电区,其寄存器处于1.8V供电区。

2)IWDG键寄存器

3)IWDG超时时间

这些时间是按照40kHZ时钟给出,事实上,MCU内部的RC频率会在30kHZ到60kHZ之间变化,因此在计算超时时间时,尽量留有空间。

WWDG介绍

1)WWDG结构:

PCLK1进入WDGTB分频器之前,会先进行4096分频,结构图中未体现。

CFR用于写入窗口值,即最早喂狗时间界限。

计数器最高位T6有两种理解,理解一:T6为溢出标志位,为0时代表溢出,不参与计数。此时代表计数器从111111值计数到000000产生复位信号。理解二:T6参与计数。此时计数器相当于从1111111计数到1000000产生复位信号。

写入CR控制寄存器的值时不仅相当于配置重装载值,也是喂狗操作。

窗口功能:1.CR计数值减到0时输出复位信号。

2.每次喂狗时,CFR都会和CR进行比较,若此时CR的值大于CFR,则意味着喂狗时间过早,输出复位信号。

窗口看门狗的递减计数器处于自由运行状态,即使看门狗被禁止,递减计数器仍继续递减计数,同时当看门狗被启用时,T6位必须被设置,以防止立即产生一个复位。

2)WWDG工作特性

WWDG在超时复位之前会产生一次中断,称为早期唤醒中断(EWI),又称死前中断。

3)WWDG超时时间

IWDG和WWDG对比

硬件看门狗:开机自启动,防止程序在开启看门狗之前失效。需在选项字节里配置。

两种看门狗的计数器的值无法读写。

寄存器描述

1)IWDG

2)WWDG

窗口看门狗的控制寄存器低7位即为计数器,寄存器和计数器放在一起使开启看门狗和重装寄存器同时进行。

实验模块

实验一:独立看门狗

1)接线图
2)函数

1.启动或关闭写保护 2.设置预分频器 3.设置装载值 4.喂狗 5.启动独立看门狗

1.可通过标志位确认复位类型(如独立看门狗复位) 2.查看完需清除标志位。

3)代码

开启独立看门狗时,LSI会强制打开,因此无需手动打开LSI时钟。

原理配置流程:1.开启LSI(自动开启)2.键寄存器解除写保护 3.写入预分频器和重装寄存器 4.写入键寄存器(0XCCCC)启动看门狗 5.在主循环中不断地在键寄存器中写入(0xAAAA)喂狗。

喂狗或使能函数由于在键寄存器中写入了0X5555解除写保护之外的数值,自动开启了写保护,因此无需再手动开启写保护。

4)实验现象

OLED不断显示FEED喂狗,当按键按下超过200ms时,程序复位,OLED显示IWDGRST,此时实验成功。

实验二:窗口看门狗

1)接线图
2)函数

1.恢复缺省配置 2.设置预分频值 3.设置窗口值 4.使能WWDG死前中断 5.设置计数器的值,即喂狗

6.使能窗口看门狗

由于窗口看门狗为自由运行状态,因此使能时可能是任意值,所以在使能函数增加了可设置值的参数,防止刚使能便立即复位的情况。

3)代码

原理配置流程:1.开启APB1时钟 2.配置预分频器和窗口值 3.配置控制寄存器,包括看门狗使能,计数器溢出标志位和计数器有效位。

参数含义:窗口和喂狗参数中21与54为计算50ms超时时间和30ms窗口时间得到的对应参数值,0x40用于确保T6溢出位为1。

注:看门狗使能要与看门狗喂狗函数要与窗口距离,否则2次时间间隔过短会导致窗口复位,本函数中延迟函数写在喂狗函数之前就是这个目的。

4)实验现象

超时时间验证:OLED不断显示FEED表示已喂狗,当按下按键时显示WWDGRST表示触发复位。

窗口时间验证:修改延迟函数的值为30ms,则不断显示WWDGRST,说明实验成功。

(知识自学习专题,课程资料来源江协科技)

相关推荐
sramdram24 分钟前
高速低功耗stt-mram工业级存储方案
嵌入式硬件·mram·stt-mram·低功耗stt-mram
嘶哈哈哈2 小时前
雷迅 CAN Babel 新品测评:一个小巧的 CAN/UART 双功能 USB 调试适配器
单片机·嵌入式硬件
Zevalin爱灰灰3 小时前
模拟信号链电路——感应触摸电路
单片机·嵌入式硬件
测试专家3 小时前
PCI-1553B板卡在 Windows Server 2016 服务器安装流程详解
服务器·windows·单片机
国科安芯3 小时前
还是4位?ASC8T245S 与 ASC4T245S 的双向电平转换选型实战
单片机·嵌入式硬件·物联网·fpga开发·机器人·云计算
Freak嵌入式5 小时前
RP2040 内核电源调节器:软件可调电压 + 三种模式,低功耗设计的利器
人工智能·单片机·嵌入式硬件·机器人·开源
ACP广源盛139246256735 小时前
YLB3118 存储桥接芯片完整机会点@ACP#联动曙光 8000
大数据·人工智能·分布式·单片机·嵌入式硬件
蝎蟹居5 小时前
GBT 4706.1-2024逐句解读系列(31) 第7.21.1条款:说明书怎么写符合标准要求
人工智能·单片机·嵌入式硬件·物联网·安全
hongmai6668885 小时前
乐鑫ESP32-C61-WROOM-1模组:Wi-Fi 6与蓝牙LE双模的RISC-V新选择
单片机·嵌入式硬件·risc-v
电气_空空5 小时前
基于 LabVIEW的数据采集与信号处理系统的设计
嵌入式硬件·毕业设计·信号处理·labview