基于STM32CubeMX 实现STM32F10X 独立看门狗 IWDG
本文将介绍 STM32F10X 独立看门狗 IWDG 的基础知识,主要参考STM32F10x参考手册。并且实现一个简单的 IWDG 实验。实验主要效果:没有喂狗时,LED保持闪烁,完成喂狗后,LED 状态保持。
基于STM32CubeMX 实现STM32F10X 独立看门狗 IWDG
第一部分 基础理论
1. IWDG 简介
(1)STM32F10X内置了独立看门狗 IWDG,其可用来检查和解决由软件错误而引起的故障。当其递减计数器到达给定的超时的值时,产生系统复位。
(2)IWDG 由专用的低速时钟(LSI)驱动,在主时钟发生故障时,其也能保持运行状态。
(3)IWDG 最适用于那些需要看门狗完全独立运行于主程序之外并且对时间准确性要求较低的程序应用中。
2. IWDG 主要性能
(1)独立运行的递减计数器
(2)时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
(3)看门狗被激活后,则在计数器计数至0x000时产生复位
3. IWDG 功能描述
当 Key Register(IWDG_KR) 寄存器写入 0xCCCC 时,独立看门狗将被启动,计数器将从 0xFFF 开始递减,但到达计数器末端 0x000 时将产生复位信号(IWDG RESET),无论何时 IWDG_KR register 写入键值 0xAAAA, IWDG_RLR中的值都会被重新被加载到计数器,从而避免产生看门狗复位。以下为 IWDG 模块的功能框图。

注:看门狗功能处于VDD供电区,即在停机和待机模式时仍能正常工作。
3.1 硬件看门狗
如果通过设备选项位中使能 “Hardware watchdog”功能,在系统上电复位后,看门狗自动开始运行;如果计数器到达计数终点之前,若 Key register 没有由软件向其写入相应的值,则系统将会产生复位。
3.2 寄存器访问保护
(1)IWDG_PR 和 IWDG_RLR寄存器具有写保护功能。
(2)要修改这两个寄存器的值,必须先向 IWDG_KR 寄存器中写入0x5555。
(3)将其他值(除0x5555之外)写入这个寄存器将会打乱操作顺序,IWDG_PR和IWDG_RLR 寄存器将重新被保护。
(4)重装载操作(即写入0xAAAA)也会启动写保护功能。
(5)状态寄存器指示预分频值和递减计数器是否正在被更新。
4. IWDG 寄存器
4.1 键值寄存器(IWDG_KR)


本文详细介绍STM32F10X独立看门狗IWDG的工作原理及性能,并通过STM32CubeMX进行配置,实现了一个基础的IWDG实验。实验中,开发板上的LED将在看门狗时间溢出时闪烁,当按键按下时,系统通过重装载值更新避免重置。
最低0.47元/天 解锁文章
2319

被折叠的 条评论
为什么被折叠?



