MCLK抖动会直接导致DAC采样时钟相位噪声增大,引起输出音频的时基误差,表现为高频谐波失真和底噪抬升。硬件上应优先选用低抖动有源晶振(如TCXO),并确保I2S走线阻抗匹配、远离高频开关节点。软件补偿策略包括:1)在ESP32的I2S驱动中启用DMA双缓冲,减少CPU中断引起的时钟间隙;2)使用I2S的APLL(音频PLL)模式,并配置合适的分频系数,使MCLK频率精确匹配DAC需求(如256fs),同时利用ESP32的时钟校准寄存器微调APLL相位;3)若抖动仍明显,可在DSP层面加入数字锁相环(DPLL)或重采样器(如异步采样率转换ASRC),对输入PCM数据进行插值平滑,降低对MCLK边沿的敏感度。实测建议:用示波器测量MCLK上升沿的周期抖动,若超过±50ps,优先优化硬件;软件补偿仅能缓解,无法根治。
mcuku 阿沐 · 2026-08-27