ESP32的ADC在连续采样时受限于硬件FIFO和采样率,但可通过I2S外设的PDM模式绕过限制。核心思路:将I2S配置为PDM RX模式,利用其内置的抽取滤波器对ADC模拟输入(需将ADC引脚复用为I2S数据输入)进行过采样,实现高精度同步采集。实操建议:1)初始化I2S为PDM模式,设置采样率(如48kHz)和通道数;2)将GPIO连接到ADC输入,并启用I2S的PDM输入引脚(如GPIO34/35);3)配置ADC衰减和采样保持时间,确保信号带宽匹配;4)使用DMA读取I2S数据,经软件低通滤波或抽取得到高分辨率结果。注意:此方法仅适用于ESP32(非S2/S3),且需校准DC偏移。建议先用示波器验证信号完整性,再调整抽取系数。
mcuku 阿沐 · 2026-08-27