1. HRTIM1高精度定时器核心特性解析
在STM32系列微控制器中,HRTIM1(High Resolution Timer)是专为高精度控制应用设计的定时器外设,其分辨率可达217ps(基于168MHz主频)。与普通定时器相比,HRTIM1具有以下架构优势:
- 6个独立定时器单元(TIM A-E和TIM Master)
- 每个定时器可独立配置为PWM模式、输出比较或输入捕获
- 交叉触发网络实现定时器间精确同步
- 硬件死区时间插入功能(最小4.5ns步进)
- 12位死区时间发生器(DTG)
关键提示:HRTIM1的时钟域独立于系统时钟,通过HRTIM_CLK提供,这意味着即使系统时钟变化,定时精度也能保持稳定。
1.1 倍频实现原理
HRTIM1的倍频功能本质上是利用预分频器(PSC)和自动重载寄存器(ARR)的协同工作。当配置为向上计数模式时,计数器从0递增到ARR值,此时产生更新事件(UEV)。通过合理设置这两个参数,可以实现对输入时钟的整数倍频:
code复制目标频率 = HRTIM_CLK / ((PSC + 1) * (ARR + 1))
典型倍频配置示例(将84MHz时钟倍频到168MHz):
c复制// CubeMX配置等效代码
hrtim1.Instance->sTimerxRegs[HRTIM_TIMERINDEX_TIMER_A].TIMxCR |= HRTIM_TIMxCR_CK_PSC_0; // 选择PSC作为时钟源
hrtim1.Instance->sTimerxRegs[HRTIM_TIMERINDEX_TIMER_A].TIMxPSC = 0; // 预分频系数0
hrtim1.Instance->sTimerxRegs[HRTIM_TIMERINDEX_TIMER_A].TIMxPER = 1; // 自动重载值1
1.2 定时器触发采样机制
HRTIM1通过内部触发输出(TRGO)连接ADC的触发输入,实现硬件级同步。触发信号类型可通过HRTIM_TRGO寄存器配置,常用模式包括:
- 周期触发:定时器溢出时产生触发
- 比较匹配触发:CNT等于CMPx时触发
- 组合触发:多个条件的逻辑组合
ADC侧需要配置为外部触发模式,以STM32H7
