当前位置: 首页 > ds >正文

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

中央对齐模式(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对称性模式32次/周期
降低CPU中断负载模式1或21次/周期
实时更新PWM占空比模式3双时机同步

💡 重要提醒

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

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

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

http://www.xdnf.cn/news/10922.html

相关文章:

  • Neovim - 打造一款属于自己的编辑器(一)
  • 第二章支线六 ·CSS幻纹术:背景、遮罩与视觉层级
  • 实验设计与分析(第6版,Montgomery著,傅珏生译) 第10章拟合回归模型10.9节思考题10.12 R语言解题
  • 大模型分布式训练笔记(基于accelerate+deepspeed分布式训练解决方案)
  • 互联网大厂Java求职面试:AI大模型与云原生技术的深度融合
  • Java面试八股--06-Linux篇
  • Linux或者Windows下PHP版本查看方法总结
  • 【C++项目】负载均衡在线OJ系统-1
  • 关于easyx头文件
  • 大模型备案、登记和算法备案主要区别总结
  • 升级:用vue canvas画一个能源监测设备和设备的关系监测图!
  • 【AI教我写网站-ECG datacenter】
  • Cookie 和 Session:Web 身份验证的核心机制
  • ArcGIS Pro 3.4 二次开发 - 地图创作 1
  • 解决 Ubuntu 20.04 虚拟机中 catkin_make 编译卡死问题
  • 06 APP 自动化- H5 元素定位
  • hive聚合函数多行合并
  • 纯色图片生成器
  • ARP (Address Resolution Protocol,地址解析协议)将IP地址解析为物理地址(MAC地址)
  • 缩量和放量指的是什么?
  • 默认网关 -- 负责转发数据包到其他网络的设备(通常是路由器)
  • websocket协议
  • 线性回归用于分类
  • 【Kotlin】表达式关键字
  • Python 数据分析与可视化实战:从数据清洗到图表呈现
  • Nginx+Tomcat负载均衡
  • 文件IO流
  • STM32H562----------ADC外设详解
  • 云原生周刊:探索 Gateway API v1.3.0
  • 【快见刊】2025年应用材料、机械与制造工程国际会议(ICAMMME 2025)