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

影子寄存器:改ARR下个周期才生效,防波形“断片”

短文标题:影子寄存器:改ARR下个周期才生效,防波形“断片”

你有没有想过一个问题:PWM正在输出,你突然改了ARR(周期),波形会不会断一下或出现毛刺?取决于ARPE位。如果没开预装载,修改ARR立即生效——计数中途改周期,可能导致计数器永远达不到新ARR值,产生一个“超长”的异常周期,电机抖动一下。

影子寄存器的双层结构,定时器的ARR、CCR、PSC等寄存器实际上有两层:

  • 预装载寄存器(Preload):软件读写的“窗口”
  • 影子寄存器(Shadow):硬件实际使用的“工作副本”

软件写ARR → 写到预装载寄存器。影子寄存器的值,才是计数器比较的对象。ARPE=0:立即生效(可能突变),ARPE=0时,预装载寄存器直通影子寄存器,写ARR立即生效。计数器正在计数(当前值=800),ARR从1000改成500:

  • 800 > 500,计数器永远达不到新ARR
  • 一直跑到16位定时器的65535才溢出
  • 一个周期变得超级长,波形完全乱掉,电机可能猛抖一下

ARPE=1:下个周期生效(平滑过渡),ARPE=1时,预装载寄存器和影子寄存器隔离。当前周期继续用旧ARR跑,计数到旧ARR值 → 产生更新事件 → 影子寄存器从预装载寄存器加载新ARR → 下个周期用新ARR。

TIM2->CR1 |= TIM_CR1_ARPE; // 使能预装载

TIM2->ARR = 2000; // 修改ARR,下个周期才生效

波形连续,无毛刺。

CCR也是一样,PWM占空比由CCR控制,也有影子寄存器(通过CCMRx寄存器的OCxPE位控制)。修改CCR后,占空比变化同样在更新事件时生效,避免脉冲宽度突变。更新事件的触发时机,更新事件在以下情况产生:

  • 计数器溢出(向上计数:从ARR→0;向下计数:从0→ARR)
  • 软件设置UG位(TIMx_EGR寄存器)

ARPE保护的是更新时机,不影响UG位的立即更新。软件写UG位会强制立即生效。

这个故事的启示,ARPE不是“延迟”,是“优雅交接”。让新ARR在更新事件时生效,不是在周期中间“野蛮插入”。波形平滑,电机不抖,PWM不毛刺。写在最后,动态改变定时器周期或占空比时,设ARPE=1。不设,可能周期突变;设了,平滑过渡。一个bit,决定波形质量。


(本文灵感源于于振南《新概念ARM32单片机》教程第6.4节、第6.7节。)

觉得有用?点赞、转发,让更多人知道“影子寄存器”防突变的作用。

http://www.jsqmd.com/news/1284619/

相关文章:

  • 2026年7月鹤壁全屋定制/汤阴橱柜定制厂家推荐评估_汤阴务美全屋定制 - 行业平台推荐
  • Play Integrity API Checker:Android设备完整性检测的终极实战指南
  • Allegro DRC检查哪些必须修改
  • Apache Doris实战:部署调优与生产运维指南
  • 大模型应用开发实战:从提示词工程到企业级部署全流程
  • 2026 年现阶段徐汇比较好的设备机房吸音铝扣板直销厂家深度解析与优选指南,你敢信机房里装这玩意儿,居然能同时解决噪音超标和设备散热大难题? - 企业信息推荐【官方】
  • 使用Anaconda3搭建TensorFlow 1.15.0环境:从虚拟环境创建到GPU配置全攻略
  • 如何用Python免费备份你的QQ空间历史说说?完整指南来了!
  • 本地优先的智能体运行时优势解析
  • 如何快速配置SPT-AKI存档编辑器:新手完整教程与游戏修改指南
  • 2026黄鹤杯杯网络安全人才创新大赛学生组(失序货栈)
  • 一个 Agent 看完 30 个文件后,为什么该让它先退出?
  • 2026年7月嘉兴汽车维修厂/宝马汽车维修厂怎么选_嘉兴市洪合镇洪运汽车修理厂 - 行业平台推荐
  • [C++17/std::any] + [彻底封印 void* 黑色死角与内存崩溃/解密 SOO 虚表类型擦除] + [高并发事件总线与泛型框架安全演进]
  • IIR滤波器设计:从原理到Matlab实现与工程部署
  • Warcraft Helper终极优化指南:5个简单步骤让魔兽争霸3在Win10/Win11上流畅运行
  • GPT-4应用安全实战:Python构建提示词注入攻击防御体系
  • 2026年7月双月湾抖音团购运营/惠东海边本地生活代运营公司如何选_惠州市乘数科技网络有限责任公司 - 行业平台推荐
  • 2026年7月热门的餐饮运营培训公司哪个靠谱,中小餐饮门店/餐饮创业/餐饮/餐饮小吃/餐饮爆店,餐饮培训机构怎么选择 - 品牌推荐师
  • GPT5.6 Sol满血版付费使用教程:从配置到项目集成全流程
  • 2026本地AI与代码工具开源生态及实战指南
  • 淘天二面追问:Agentic RAG和普通RAG差在哪?不是加个智能体那么简单
  • Streamlit入门指南:快速构建数据科学Web应用的核心原理与实践
  • LS-DYNA显式动力学分析中负体积错误诊断与系统性解决方案
  • Linux线程实现原理:从task_struct、LWP到pthread完整解析
  • FastAPI 框架完全指南
  • 基于ESP32的智能小车:从蓝牙遥控到PCB设计的全链路实践
  • HART协议详解:03 HART协议结构解析
  • AI如何让工厂电费直降18.7%?——基于37个真实工商业场景的能源调度模型验证报告
  • 2026年7月双月湾门店线上推广/惠州代运营网络公司哪家口碑好_惠州市乘数科技网络有限责任公司 - 行业平台推荐