STM32-WWDG深度解析:窗口看门狗工作原理与配置

需积分: 11 8 下载量 67 浏览量 更新于2024-09-08 收藏 976KB PDF 举报
STM32-WWDG窗口看门狗详解 STM32微控制器系列提供了两种看门狗功能:独立看门狗(IWDG)和窗口看门狗(WWDG)。本章将深入解析STM32F103系列中的WWDG,重点介绍其工作原理、结构以及如何利用它进行系统监控。 36.1 WWDG简介 WWDG,或称窗口看门狗,其核心机制类似于独立看门狗,也是一个递减计数器。然而,WWDG的独特之处在于它有一个可配置的“窗口”:一个下限(固定值0x40)和一个上限(由用户设置),计数器的值必须在这两者之间才能通过喂狗操作避免复位。WWDG的控制包括重装载寄存器RLR(用于独立看门狗计数器值设置)、计数器寄存器TR(用户设置WWDG计数器值)和上窗口值寄存器WR(用户设置窗口上限)。 36.2 WWDG功能框图剖析 1. **窗口看门狗时钟**: - WWDG的时钟源来自PCLK1,这是由RCC时钟控制器提供的,最大频率可达36 MHz。用户需确保该时钟在启动WWDG时已启用。 2. **计数器时钟**: - 计数器时钟是由CK定时器时钟(PCLK1/4096)经过预分频器进一步细分,具体分频系数由CFR寄存器的WDGTB[1:0]字段决定,取值范围是0-3。这决定了计数器的实际时钟周期,即CNT_CK = PCLK1 / (4096 * 2^WDGTB)。 3. **计数器**: - WWDG计数器是一个7位的递减计数器,存储在CR寄存器的T[6:0]位。最大值为0x7F,当计数器值降至0x3F时,窗口达到下限,不及时喂狗会导致复位。用户可以通过设置TR来调整窗口上限,以实现不同复位条件的控制。 总结来说,STM32-WWDG窗口看门狗是一种灵活的定时器,允许用户自定义复位条件,以防止系统因长时间无外部干预而意外复位。理解并掌握WWDG的结构和配置方法对于保证系统稳定性和可靠性至关重要。在开发过程中,务必查阅《STM32F10X-中文参考手册》的WWDG章节,以确保正确使用和配置这个功能。