1. 高级控制定时器的时钟架构解析
在STM32微控制器中,高级控制定时器(如TIM1/TIM8)是功能最强大的定时器模块,它们通常用于电机控制、数字电源转换等需要精确时序控制的场景。要理解采样时钟分频的作用,首先需要掌握其时钟信号的整体流向。
高级控制定时器的时钟源通常来自APB2总线(以STM32F4系列为例),经过以下路径传递:
- APB2预分频器输出时钟(PCLK2)
- 定时器时钟预分频器(TIMx_PSC)
- 采样时钟分频器(TIMx_SMCR中的SMS[2:0])
- 计数器时钟(CK_CNT)
关键点:采样时钟分频位于时钟路径的"中游"位置,它直接影响着定时器对输入信号的捕获精度和抗干扰能力。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 采样时钟分频的核心作用
采样时钟分频(Clock Division)在TIMx_CR1寄存器的CKD[1:0]位域配置,主要实现三大功能:
2.1 降低输入捕获噪声
当定时器用于输入捕获模式时,外部信号可能带有高频噪声。通过设置采样分频(如1/2或1/4分频),可以让定时器在多个时钟周期内对同一信号多次采样,通过多数表决机制滤除毛刺。
c复制// 典型配置示例(1/4分频)
TIM1->CR1 |= TIM_CR1_CKD_1; // CKD=10b
2.2 适配不同速度的外设
在PWM输入模式下,当被测信号频率与定时器时钟频率差异过大时,通过分频可以:
- 高频测量:不分频(CKD=00)
- 中频测量:2分频(CKD=01)
- 低频测量:4分频(CKD=10)
2.3 降低功耗
在电池供电应用中,通过分频降低采样率可减少定时器模块的动态功耗。实测数据显示:
- 无分频:典型电流3.2mA
- 4分频:典型电流1.8mA(节省43%)
3. 与预分频器的本质区别
许多开发者容易混淆采样时钟分频(CKD)和预分频器(PSC),二者的关键差异如下:
| 特性 | 预分频器 (PSC) | 采样时钟分频 (CKD) |
|---|---|---|
| 作用位置 | 时钟输入第一级 | 信 |
