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

大家在使用MCU内部adc进行信号采样一个静态电压时可能在IO口上看到过这样的波形:

这个时候大家一般会以为是信号源有问题,但仔细观察会发现这个毛刺的频率是和ADC触发频率一样的!

那么为什么MCU ADC采样时IO口会出现毛刺,这个毛刺会影响采样结果吗,让我们来一起研究一下。

首先我们来看下GD32 MCU ADC内部采样电路的原理示意图:

是的,你没看错就是这么简单,mcu采样保持电路可以等效为一个开关、一个采样电阻和采样电容;当然后面还有逐次逼近式的转换电路。

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

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

那么这个毛刺会影响我们ADC的最终结果吗?

这个我们就需要根据这个ADC通道所配置的采样保持时间来判断了;我们可以用程序配置的采样保持周期和ADC时钟计算出ADC采样开启的时间,如果从毛刺产生时刻开始经过采样开启时间后电压已经恢复到平稳,那么此时这个平稳的电压和ADC采样电容上的电压一致,接下来的ADC转换也就能得到正确的结果。

如果采样时间结束时信号还在毛刺阶段则采样结果就会出现偏大或偏小。

那么如何从软硬件方面优化MCU的ADC性能,期待我们后续分享。

GD32MCU技术交流群:859440462

更多GD32 MCU相关咨询:https://www.gd32bbs.com/

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-19 05:34:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-19 05:34:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-19 05:34:04       82 阅读
  4. Python语言-面向对象

    2024-06-19 05:34:04       91 阅读

热门阅读

  1. 嵌入式中间件_2.嵌入式中间件的分类

    2024-06-19 05:34:04       33 阅读
  2. 力扣207题“课程表”

    2024-06-19 05:34:04       25 阅读
  3. 个人关于Vue2组成的见解

    2024-06-19 05:34:04       33 阅读
  4. 向大家推荐一个好用的云服务器

    2024-06-19 05:34:04       34 阅读
  5. 汇编语言实验五、子程序和宏

    2024-06-19 05:34:04       33 阅读
  6. 【做一道算一道】零钱兑换

    2024-06-19 05:34:04       59 阅读
  7. 音频流采样器类的实现【6】

    2024-06-19 05:34:04       35 阅读
  8. Shellcode详解

    2024-06-19 05:34:04       56 阅读
  9. 在JPA项目启动时新增MySQL字段

    2024-06-19 05:34:04       30 阅读
  10. 访问者模式

    2024-06-19 05:34:04       36 阅读
  11. 使用ReentrantLock和ThreadPoolExecutor模拟抢课

    2024-06-19 05:34:04       53 阅读