大家在使用MCU内部adc进行信号采样一个静态电压时可能在IO口上看到过这样的波形: 这个时候大家一般会以为是信号源有问题,但仔细观察会发现这个毛刺的频率是和ADC触发频率一样的! 那么为什么MCU ADC采样时IO口会出现毛刺,这个毛刺会影响采样结果吗,让我们来一起研究一下。 首先我们来看下GD32 MCU ADC内部采样电路的原理示意图: 是的,你没看错就是这么简单,mcu采样保持电路可以等效为一个开关、一个采样电阻和采样电容;当然后面还有逐次逼近式的转换电路。 所以当开关闭合时,外部的信号会通过开关经过采样电阻对采样电容充电或放电,此时会导致外部电压瞬间变化,这个过程内部电压和外部电压的变化可以等效成下图: 刚才的波形图里我们看到是一个向下的毛刺,当然如果ADC在扫描模式采样多个信号时,也可能出现电容对外放电,则会出现向上的毛刺,比如这个波形: 那么这个毛刺会影响我们ADC的最终结果吗? 这个我们就需要根据这个ADC通道所配置的采样保持时间来判断了;我们可以用程序配置的采样保持周期和ADC时钟计算出ADC采样开启的时间,如果从毛刺产生时刻开始经过采样开启时间后电压已经恢复到平稳,那么此时这个平稳的电压和ADC采样电容上的电压一致,接下来的ADC转换也就能得到正确的结果。 如果采样时间结束时信号还在毛刺阶段则采样结果就会出现偏大或偏小。 那么如何从软硬件方面优化MCU的ADC性能,期待我们后续分享。
本教程由GD32 MCU方案商聚沃科技原创发布,了解更多GD32 MCU教程,关注聚沃科技官网,GD32MCU技术交流群:859440462
|