前段时间,我用STM32F103C8T6做了个多路电压采样的小东西,用到了ADC的多通道DMA方式传输。但在使用的过程中发现了一个问题,也就是网上都在说的通道间存在干扰的问题。
原理图如下:
这两个是旋钮式的电位器,分别通过一个1K的电阻接到单片机的AD管脚上,采样得到的电压值通过数码管实时显示。
ADC管脚是PA5和PA6,它们两个既属于ADC1也属于ADC2,我把它配置成了STM32的ADC1的通道5和通道6。
使用过程中的现象表现为:当两个电位器都不动,数码管显示两路的电压值时,值基本是固定的,没有问题。当快速选择一个旋钮,使相应通道的电压剧烈变化时,另一路电压值会受影响,跟随变大或变小。虽然变化幅度不大,但确实存在。
而且这种干扰不是瞬间的,就是说,即便另一路电压停止变化,但前一路受影响增加或减少的电压依然存在。
网上搜了一下,大致知道了问题引发的原因。知道原因之后,再去想办法解决就好说了。
<