打印
[通用 MCU]

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

[复制链接]
6377|101
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
drer|  楼主 | 2023-12-21 10:18 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
大家在使用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

使用特权

评论回复
101
范德萨发额| | 2025-2-27 03:04 | 只看该作者
外部的信号会通过开关经过采样电阻对采样电容进行充电或放电

使用特权

评论回复
100
digit0| | 2025-2-18 17:35 | 只看该作者
adc采样期间,io端口出现毛刺,增加滤波电容或滤波算法

使用特权

评论回复
99
LLGTR| | 2025-2-15 06:17 | 只看该作者
一定要加一个滤波电路来调整波形

使用特权

评论回复
98
noDevice| | 2025-2-11 17:12 | 只看该作者
如果有故障,是否需要过滤?

使用特权

评论回复
97
天意无罪| | 2025-2-8 09:13 | 只看该作者
可以通过外部硬件电路和配置ADC采样频率来降低该毛刺现象

使用特权

评论回复
96
jdqdan| | 2025-2-5 23:13 | 只看该作者
加个滤波电容会不会更好?

使用特权

评论回复
95
地瓜patch| | 2025-1-24 20:42 | 只看该作者
采样稳定中的毛刺

使用特权

评论回复
94
AIsignel| | 2025-1-24 09:46 | 只看该作者
该阶段将增加采样时间,以将采样电容充电至正确的电位。,,

使用特权

评论回复
93
shenxiaolin| | 2025-1-21 16:24 | 只看该作者
过来学习一下

使用特权

评论回复
92
芯路例程| | 2025-1-19 20:11 | 只看该作者
由一堆串联电阻实现的t adc,

使用特权

评论回复
91
V853| | 2025-1-19 15:33 | 只看该作者
这个小故障能从软件上避免吗?

使用特权

评论回复
90
不想打补丁| | 2025-1-17 20:21 | 只看该作者
变相增加采样时间,将采样电容充电到正确的电位。

使用特权

评论回复
89
理想阳| | 2025-1-16 23:07 | 只看该作者
这个问题是前段时间发现的。那时候电源线也会周期性的出现。我以为是供电问题。

使用特权

评论回复
88
单芯多芯| | 2025-1-14 08:15 | 只看该作者
物理定位那些需要连续翻转的数字i/o,使其远离adc采样通道。

使用特权

评论回复
87
物联万物互联| | 2024-12-4 23:40 | 只看该作者
因为adc的输入引脚有一个采样电容,

使用特权

评论回复
86
kzlzqi| | 2024-12-2 15:56 | 只看该作者
如果信号源的阻抗比较高,电容的充放电过程会比较慢,从而容易产生毛刺。如果信号源阻抗较低,电容充电的过程较快,毛刺会比较小或几乎没有。

使用特权

评论回复
85
kzlzqi| | 2024-12-2 15:55 | 只看该作者
ADC的开关并不是一个理想的“开/关”开关。当开关关闭时,电容和采样电阻相当于把外部信号源和内部电路连接起来,这可能引起外部信号在短时间内发生电压波动,表现为一个瞬间的毛刺。

电容充电过程:当开关闭合时,采样电容开始充电或放电,以便跟随外部信号的电压变化。如果信号源的阻抗较高或电容较大,电容充电的速度可能较慢,导致采样过程中电压波动较为显著。

使用特权

评论回复
84
kzlzqi| | 2024-12-2 15:54 | 只看该作者
在很多MCU中,ADC采样电路的工作原理可以简化为一个开关、电阻和电容的组合。具体来说,ADC的采样保持电路大致可以等效为以下结构:

开关:控制信号源和采样电容之间的连接。
采样电阻:在一定程度上决定了信号源的阻抗。
采样电容:用于在ADC转换开始时保持输入信号的电压。
当ADC触发开始采样时,开关闭合,外部信号会通过采样电阻充电或放电到采样电容。这一过程使得电容的电压逐渐跟随外部信号变化,直到电容电压稳定并准备好进行ADC的转换。

使用特权

评论回复
83
kzlzqi| | 2024-12-2 15:54 | 只看该作者
在使用MCU内部的ADC进行信号采样时,出现IO口波形的毛刺现象是非常常见的。

使用特权

评论回复
82
流星flash| | 2024-10-16 08:05 | 只看该作者
设计PCB时,尽可能减小IO线路长度和接触电阻,以减少电路中的信号反射和干扰,从而降低毛刺的幅度。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

3317

帖子

4

粉丝