stm32 ADC实例解析(3)-多通道采集互相干扰的问题

文章目录

一、问题现象:

1、在实际项目中,使用ADC+DMA方式读取多路通道ADC采样值,发现当其中一路电压变化时会影响其他路采集值跟着变化,有差不多0.1V的抖动。

2、分压电路测量值和采集值有差别

二、原因分析:

1、测量值不准问题分析:

采样保持电路工作过程如下:

在采样阶段外部信号 VAIN 在采样开关 K 闭合后开始对采样保持电容 CADC 进行充电或是放

电,具体过程取决于此时 VAIN 与 CADC 上的电压情况:

• VAIN 电压高于 CADC 电压,则 VAIN 对 CADC 充电;

• VAIN 电压低于 CADC 电压,则 CADC 对 VAIN 放电。

RAIN 和 RADC 代表充/放电回路上的阻抗,其将限制充放电流大小。RADC 为内部阻抗,RAIN 为外部阻抗;

在设定的采样保持时间结束后,采样开关 K 断开,ADC 进入量化转换阶段,最终的转换结

果只取决此时 CADC 上的电压。为了得到准确的采样结果,就需要进行采样电路的阻抗匹配设

计,选择合理的采样保持时间和输入阻抗,保证在采样阶段结束后,CADC 上的电压与 VAIN 一

致。

2、采样干扰问题分析

在一个 ADC 转换单元中,所有的通道共用一个采样保持电容,假设在当前通道进行采样

前,前一个通道采样时输入电压接近 VREF(比如 3.3V),而当前需要采样的通道电压为 0V,该情

况下采样开关闭合后,CADC 将对外放电。在 RAIN 一定的情况下,若是采样时间 Ts

不够,则会出现在采样时间结束后,CADC 上电压并没有达到与 VAIN (即 0V)一致,

最终结果解释转换结果偏大

三、解决办法:

1、硬件:

(1)、电源供电

采用纹波噪声系数更小的 LDO 来供电,然后在 LDO 与 VREF+之间串联一颗磁珠,以屏蔽外部电源对于 VREF+的影响,对于 VREF+基准源,建议靠近引脚并联一个 uF 级以及一个 nF 级的去耦电容,一方面可以滤除来自外部低频与高频的电源噪声,另一方面,也可使ADC 在量化编码过程的基准源更加稳定。在 layout 过程中,相关电源线的走线上,推荐加宽电源迹线,以减小迹线的 ESR,在量化阶段,减小转化电容网络瞬间充电对输入基准源的影响。

(2)、引脚电容

外部并联滤波电容 CEXT,容值至少为 CADC 的 8192 倍(12bit,允许 0.5LSB 误

差),且采样前 CEXT 的电平与 VAIN 一致。

(3)、减少采样回路的输入阻抗

  • 减少 RAIN
  • 采样信号添加一级运放跟随,然后再进入 ADC 输入端口

2、软件

(1)、增加采样时间

  • 软件配置更长的采样周期
  • 降低 ADC 时钟
    如果对于采样率没有要求的情况下,我们可以降低 ADC 的采样时钟,变相提高采样时间来使得采样电容充电到正确电位,ADC 在采样时间内,采样电容上的电压必须被充分充放电,其被充电的电压值与外部输入电压之间的差值不应超过 0.5LSB,否则无论后级 ADC 性能如何卓越,都无法真实反映信号的幅值.

(2)、通道隔离

将不同通道配置到不同的AD转换器上,例如将通道5配置到ADC1,通道6配置到ADC2,这样可以彻底隔离两个通道,避免干扰

(3)、单通道采集

DMA方式一次只配置一个通道可以减少干扰,采用分时采样的方法,每次只让一个通道进行采集,例如先让通道5采集500ms,再让通道6采集500ms,同时丢弃前100ms的数据

四、总结

通过软件的解决办法可以把抖动减少一个量级,即从0.1V抖动减小到0.01V,可以满足大部分应用要求,如果想要获得更高的精度,则需要硬件来配合解决,并且使用专门的ADC采样芯片

相关推荐
Yeats_Liao2 分钟前
智能感知低功耗设计:MCU上的AI异常检测与能效优化
人工智能·单片机·物联网·neo4j
Y多了个想法7 分钟前
RK3576 android14 I2C总线,硬件I2C 与 GPIO模拟I2C 比对
经验分享·嵌入式硬件·i2c·rk·rk3576
blevoice8 分钟前
JL杰理AC696N开发板上调试蓝牙音质优化:开启AAC高清音频支持
单片机·ffmpeg·音视频·aac·ac6966b蓝牙音响方案·杰理智能音箱开发·杰理ac6965e蓝牙音频开发
小+不通文墨38 分钟前
树莓派4b-wiringpi库的安装和使用
驱动开发·经验分享·笔记·嵌入式硬件·学习
小麦嵌入式1 小时前
FPGA入门(三):3-8 译码器 仿真波形解读
stm32·单片机·嵌入式硬件·mcu·fpga开发·硬件工程
Elihuss2 小时前
关于RK3506 的MCU软复位后跑不起问题
linux·单片机·嵌入式硬件
fengfuyao9852 小时前
GRBL 1.1 移植到 STM32 (HAL库)
stm32·单片机·嵌入式硬件
biyezuopinvip2 小时前
基于STC89C51单片机的多波形信号发生器设计与Proteus仿真
单片机·proteus·课程设计·proteus仿真·基于stc89c51单片机的·多波形·信号发生器设计
无人装备硬件开发爱好者2 小时前
STM32G474 驱动 1.54 寸三色电子墨水屏实现贪吃蛇游戏完整指南
stm32·嵌入式硬件·游戏
山木嵌入式3 小时前
FreeRTOS任务创建全解析:动态/静态创建+实战案例+参数深度剖析
stm32·freertos