采样抖动主要源于DMA传输启动延迟和ADC触发源的不确定性。精确补偿需三步:1) 用定时器TRGO事件触发ADC,并配置DMA双缓冲循环模式,确保采样周期严格由定时器时钟决定,消除软件启动抖动;2) 在DMA传输完成中断中记录TIM->CNT值,与理论触发点比较,计算实际采样时刻偏移量ΔT;3) 对每个缓冲区的数据做相位补偿,在频域乘以e^(-j2πfΔT),或时域用线性插值/重采样对齐。实操建议:优先使用TIM1/8的高级定时器,配置重复计数器和更新事件,使ADC触发与DMA搬运同步;若抖动仍超1个ADC时钟周期,可改用ADC注入组配合外部触发。补偿精度取决于TIM时钟分辨率,建议将TIM时钟设为ADC时钟的整数倍。
mcuku 阿沐 · 2026-08-27