核心在于将PWM触发信号直接接入ADC的硬件触发源(如TIM1/8的TRGO或TIMx_CHy),而非用中断软件触发。配置时,让ADC工作在扫描+DMA循环模式,双缓冲由DMA半传输/全传输中断切换,但采样时刻完全由硬件边沿决定。关键点:1)PWM的TRGO选择更新事件或比较匹配,确保每个周期产生固定相位的触发;2)ADC采样时间需小于PWM周期,且触发边沿(上升/下降)与PWM相位对齐,可通过调整TIM的CCR或ARR微调;3)DMA双缓冲的切换不干预采样,仅搬运数据,因此对齐精度取决于硬件触发延迟(约1-2个ADC时钟)。实操建议:用逻辑分析仪同时抓PWM输出和ADC的EOC标志,验证边沿偏差;若需更高精度,可改用定时器主从模式(如TIM1触发TIM2),并设置ADC的采样间隔为固定值。
mcuku 阿沐 · 2026-08-27