定时器:中央对齐模式剖析

中央对齐模式(Center-Aligned Mode)下,当配置为 模式3(CMS[1:0] = 11) 时,定时器会同时触发 上溢中断(ARR中断) 和 下溢中断(0中断),即一个PWM周期内会有 两次更新中断。以下是关键总结:


✅ 中央对齐模式3的中断行为

中断类型 触发条件 计数器动作 中断标志
上溢中断 计数器达到 ARR (最大值) 递增 → 递减 UIF (更新中断标志)
下溢中断 计数器达到 0 (最小值) 递减 → 递增 UIF (更新中断标志)

结果
每个PWM周期触发两次更新中断,分别对应计数器在三角波的波峰(ARR)和波谷(0)。


⚠️ 关键配置

  1. 模式选择

    TIMx->CR1 |= TIM_CR1_CMS;  // CMS[1:0]=11 (模式3)
    • 模式1/2:仅单次中断(上溢或下溢)。

    • 模式3:双次中断(上溢+下溢)。

  2. 中断使能
    需同时开启更新中断:

    TIMx->DIER |= TIM_DIER_UIE;  // 使能更新中断

 中断服务函数(ISR)处理

在中断函数中需:

  1. 检查中断标志

    if (TIMx->SR & TIM_SR_UIF) {  // 检查更新中断标志
        // 处理逻辑
    }
  2. 区分上下溢
    通过计数方向标志 TIMx_CR1.DIR 判断当前状态:

    if (TIMx->CR1 & TIM_CR1_DIR) { 
        // DIR=1: 递减阶段 → 触发下溢中断 (计数器到0)
    } else {
        // DIR=0: 递增阶段 → 触发上溢中断 (计数器到ARR)
    }
  3. 清除标志位

    TIMx->SR &= ~TIM_SR_UIF;  // 清除中断标志

 应用场景

需求 推荐模式 中断次数
需要精确控制PWM对称性 模式3 2次/周期
降低CPU中断负载 模式1或2 1次/周期
实时更新PWM占空比 模式3 双时机同步

 重要提醒

  1. 中断频率翻倍
    若PWM频率为10kHz,模式3的中断频率为 20kHz,需确保ISR执行时间足够短。

  2. 占空比更新时机
    在 上溢中断(ARR) 中更新占空比(CCRx),可确保下一周期生效,避免脉冲断裂。

  3. 硬件资源消耗
    双中断模式会显著增加CPU负载,在复杂系统中需评估性能瓶颈。

你可能感兴趣的:(stm32)