drer 发表于 2023-12-21 10:18

为什么MCU在ADC采样时IO口有毛刺?

大家在使用MCU内部ADC进行信号采样一个静态电压时,可能在IO口上看到这样的波形。这个时候大家一般会认识是信号源有问题,但仔细观察会发现这个毛刺的频率是和ADC触发频率一样的。



      那么为什么MCU在ADC采样时IO口会出现毛刺呢?这个毛刺对结果有什么影响吗?让我们一起研究下。首先我们先看下GD32 MCU的ADC内部采样电路的原理示意图(仅举例),这个电路很简单,MCU采样保持电路可以等效为一个开关、一个采样电阻和采样电容,当然了后面还有逐次逼近式的转换电路。



         所以当开关闭合时,外部的信号会通过开关经过采样电阻对采样电容进行充电或放电,此时会导致外部电压瞬间变化,这个过程内部电压和外部电压的变化可以等效为如下图所示。

         

从波形图里可以看到是一个向下的毛刺,当然如果ADC在扫描模式采样多个信号时,也可能出现电容对外放电,则会出现向上的毛刺,比如下图这个波形。



      这个毛刺对结果有什么影响吗?这个需要根据这个ADC通道所配置的采样保持时间来判断了。我们可以用程序配置的采样保持周期和ADC时钟计算出ADC采样开启的时间。如果从毛刺产生时刻开始,经过采样开启时间后电压已经恢复平稳,那么此时这个平稳的电压和ADC采样电容上的电压一致,接下来的ADC转换也就能得到正确的结果。如果采样时间结束时信号还在毛刺阶段,则采样结果就会出现偏大或偏小。

      那么如何从软硬件方面优化MCU的ADC性能?发散思维一下。
————————————————
版权声明:本文为CSDN博主「The Kite」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45796666/article/details/135049664

probedog 发表于 2023-12-21 11:27

从软硬件方面优化MCU的ADC性能需要考虑多个方面,包括选择合适的ADC类型、优化ADC分辨率、采样时间、触发源、校准和补偿、电源和时钟系统以及软件算法等。

120742915 发表于 2023-12-21 17:31

前段时间有发现这个问题,当时检测电源线也会同周期出现,还以为是电源的问题

daichaodai 发表于 2023-12-21 20:14

因为ADC采样是靠对对内部电容充电实现的

MessageRing 发表于 2023-12-26 10:20

ADC不是用一群电阻串联实现的吗

IFX-MAX 发表于 2024-2-5 15:24

MessageRing 发表于 2023-12-26 10:20
ADC不是用一群电阻串联实现的吗

我见到的微积分的ADC都是充放电形式的。不是用电阻串分压的。

EmmaTT 发表于 2024-2-28 21:05

这个跟硬件设计的问题也有关系吧

AdaMaYun 发表于 2024-2-29 11:34

如果从毛刺产生时刻开始,经过采样开启时间后电压已经恢复平稳,那么此时这个平稳的电压和ADC采样电容上的电压一致,接下来的ADC转换也就能得到正确的结果。

小夏天的大西瓜 发表于 2024-4-22 22:10

建议增加一个滤波电容进行稳定转换

中国龙芯CDX 发表于 2024-4-23 14:47

从软硬件方面优化MCU的ADC性能需要考虑多个方面进行优化,一般情况下软件优先,然后必要时硬件优化

elephant00 发表于 2024-4-30 19:07

电源噪声导致的

两只袜子 发表于 2024-4-30 19:07

调整ADC采样配置

jcky001 发表于 2024-4-30 19:08

外部电磁干扰或信号串扰也可能导致ADC采样时IO口出现毛刺。这些干扰可能来自其他电子设备、无线信号或物理环境中的其他因素。

cr315 发表于 2024-4-30 19:08

ADC的采样配置,如采样率、分辨率和滤波设置等,可能会影响采样结果的准确性。如果配置不当,可能会导致IO口在采样时出现毛刺。

地瓜patch 发表于 2024-4-30 22:08

加个小电容,有惊喜

updownq 发表于 2024-5-1 20:17

在使用MCU内部的ADC进行信号采样时,有时在IO口观察到与ADC触发频率一致的毛刺现象,这可能是由ADC采样过程中的开关动作引起的外部电压瞬间变化导致的。

wengh2016 发表于 2024-5-1 22:36

MCU的ADC内部采样电路可以等效为一个开关、一个采样电阻和采样电容的组合。当开关闭合时,外部的信号会通过开关经过采样电阻对采样电容进行充电或放电,这个过程可能会导致外部电压瞬间变化,从而在IO口上产生毛刺。

updownq 发表于 2024-5-2 13:33

ADC内部振荡器的不稳定可能导致在转换过程中产生毛刺。这可能与温度、电源电压和其他外部因素有关。

lihuami 发表于 2024-5-2 14:19

调整采样保持时间            

1988020566 发表于 2024-5-2 17:36

外部信号通过开关和采样电阻对采样电容进行充电,此时外部信号电压下降,产生一个向下的毛刺。
页: [1] 2 3 4 5
查看完整版本: 为什么MCU在ADC采样时IO口有毛刺?