定时器ARR的作用

ARR(Auto-Reload Register,自动重装载寄存器)是定时器的核心控制单元之一,与PSC(预分频器)共同构建定时器的完整计时逻辑。以下是其核心作用及与PSC的协同关系解析:


一、ARR的核心作用

功能维度 具体作用 应用场景示例
周期控制 定义计数器从0递增到ARR值的完整周期,即定时周期 = (ARR + 1) × 分频后时钟周期 1ms定时中断(ARR=999,PSC=71 @72MHz)
PWM波形基准 作为占空比的分母:占空比 = CCRx / (ARR + 1) 50%占空比时CCRx = (ARR+1)/2
中断触发源 计数器达到ARR时触发更新事件(UEV),可生成中断或DMA请求 周期性ADC采样触发
计数边界限制 限制计数器最大值,防止溢出失控(例如在编码器模式下限定机械行程范围) 电机旋转角度限制(ARR=360对应1圈)

二、ARR与PSC的协同关系

1. 频率生成公式

输出频率 = 定时器输入时钟 / (PSC + 1) / (ARR + 1)

  • PSC:粗调频率范围(降低时钟频率)
  • ARR :细调周期精度(定义计数步长)
    示例
    若需生成1kHz方波(72MHz主频):
    PSC = 71 → 分频后时钟1MHz
    ARR = 999 → 周期1ms(1000Hz)
2. 精度与频率的权衡
需求 调整策略 典型场景
高频率输出 减小ARR,增大PSC(牺牲占空比精度) 超声波驱动信号(40kHz)
高占空比精度 增大ARR,减小PSC(牺牲频率上限) 伺服电机控制(0.1°分辨率需ARR≥3600)

三、ARR的硬件特性与配置技巧

  1. 动态重装载
    • 预装载使能TIMx->CR1.ARPE=1):ARR修改在下一个周期生效,避免计数中途跳变
    • 立即更新TIMx->EGR.UG=1):强制立即应用新ARR值(可能引发波形抖动)
  2. 特殊模式行为
    • 中心对称模式 (中央对齐):实际有效周期为2×ARR(计数器上下计数)
    • 单脉冲模式:ARR定义单次计数终点,触发后自动停止计数器
  3. 物理位宽限制
    • 16位定时器:ARR范围0-65535
    • 32位扩展模式(级联):ARR可扩展至0-4,294,967,295

四、常见误区与避坑指南

  1. 占空比失效 :若CCRx > ARR,PWM输出可能恒高/恒低(取决于极性配置)
  2. 周期跳变风险:运行中修改ARR时未启用预装载,可能导致计数器值(CNT)与ARR错位
  3. 中断遗漏:ARR值过小可能导致中断频率超过CPU处理能力(需结合NVIC优先级优化)

总结

ARR是定时器的周期标尺,与PSC共同构建频率和占空比的控制体系。其核心价值在于:

  1. 定义时间基准:为中断、PWM、捕获等提供周期性触发源
  2. 硬件级同步:通过预装载机制实现无抖动的动态参数调整
  3. 资源效率优化:通过ARR/PSC组合平衡频率与精度需求

实际开发中,建议通过公式反推ARR = (目标周期 × 分频后时钟频率) - 1,并结合预装载功能保障稳定性。

相关推荐
代码游侠6 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
CODECOLLECT10 小时前
京元 I62D Windows PDA 技术拆解:Windows 10 IoT 兼容 + 硬解码模块,如何降低工业软件迁移成本?
stm32·单片机·嵌入式硬件
BackCatK Chen10 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠13 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_13 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技15 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计15 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报17 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业17 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能17 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微