用STM32进行4通道ADC转换,采用DMA方式。基准源为2500mv,12位AD采样, 采样电压使用范围为120-750mv,经测试在三段内出现非常大采样误差,大约分别是154-164mv,308-318mv,620-630mv;其他范围采样非常好,经过分析发现这三个段正好在跨在AD进位点,155mv--255(2^8),312mv--512(2^9),625mv--1024(2^10)这三个点。
155mv附近测试数据如下:
处理器采样结果 万用表测量结果
145.16 143.75
149.15 147.76
151.42 150.21
153.75 152.52
155.04 154.9
155.36 155.73
155.59 157.75
155.64 159.23
155.78 161.14
156.21 161.68
157.36 162.7
159.89 163.86
163.24 164.73
166.05 165.57
167.78 166.42
误差就出现在,电压在154-164mv范围内采样出的电平都在停止不前(或者说增加变缓),直到电压达到166时,采样恢复正常。其他2个点都是这种情况。
请问有哪位高手给指导下,问题出现在哪儿?我换过通道口没有改善,电压信号原来是由传感器产生,后面改由电位器调节出电平无改善。采样时间修改无改善,测量通道修改为1无改善。换处理器103VE、103VC、107VC无改善。