1. 高级控制定时器时基单元深度解析:计数器工作模式原理与工程实践
在STM32系列微控制器中,高级控制定时器(Advanced-Control Timer,如TIM1、TIM8)是功能最复杂、精度最高、实时性最强的外设之一。其核心价值不仅体现在PWM生成、死区插入、互补输出等高级功能上,更在于其时基单元(Time Base Unit)所具备的灵活、可配置、高精度的时间基准生成能力。时基单元是整个定时器系统的“心脏”,它决定了事件触发的时机、中断产生的节奏、以及所有关联功能模块(如捕获/比较、输出比较、输入捕获)的同步基础。本文将深入剖析高级控制定时器时基单元中最关键的组成部分——计数器(Counter),系统性地阐述其三种核心工作模式:向上计数、向下计数与中心对齐(向上/向下)计数。我们将摒弃简单的参数罗列,而是从硬件信号流、寄存器交互逻辑、事件触发机制及实际工程约束四个维度,还原一个嵌入式工程师在真实项目中必须理解的底层原理。
1.1 计数器的物理本质与驱动源:CK_CNT时钟信号
任何计数行为都离不开一个稳定的驱动脉冲。在高级控制定时器中,这个脉冲被称为CK_CNT,即计数器时钟。它并非直接来自系统主时钟(如72MHz的HSI或HSE),而是经过预分频器(Prescaler, PSC)处理后的产物。其生成路径为:
系统时钟 (e.g., 72MHz) → 预分频器 (PSC) → CK_CNT预分频器是一个16位可编程寄存器(TIMx_PSC),其作用是对输入时钟进行整数分频。例如,当系统时钟为72MHz,PSC寄存器值