ADUC814(52内核)AD采集中碰到的非线性故障

2020-02-05 09:24发布

为了更好的说明问题,下面摘取了9组采集电压对比

输入电压   实际测量电压    偏差
601.5         602.9                1.40000
900            900.9                0.90000
1199          1203                 4.00000
1497          1504                 7.00000
1796          1808                 12.00000
2094          2112                 18.00000
2392          2410                18.00000
2690          2706                16.00000
2840          2855                15.00000
测试环境:ADUC814开发板,上面的单位是MV,3V外部基准源,被测量程在0-2988MV左右
现象:明显可见的是,当电压在1.5V以内的时候,精度是可以接受的,(因为确确实实不影响我计算)但是当超过1.5V的时候,线性度开始明显漂移,计算开始不准,我取了个巧,分段软件减去漂移的值,领导说不行,非得弄明白,要不校正一下,但确实无法校正
漂移范围 0.35 0.45 0.55 0.65 0.75 0.65 0.55 0.45 0.35(这个值是我挑的几个电压"段",判断是否在这个电压范围内,如果再这个电压范围内减去对应波动值,数据就正常了。)
输入端是用板载OP491运放做的电压跟随器输入。
附:直接拿杜邦线,把ADC0短接到AGND上,仍然会有0x02的数字量产生,不是0,换算一下,电压值为1.465mv
刚开始用的2.5V外部基准源,也是这样的。刚开始以为是自己芯片质量问题,故换成3V基准,可还是这样。

好吧,我怀疑是不是我板载电压跟随器不行?我去市场买了两个OP291,结果还是一样的。
设置ADCCON3寄存器我试过了,按照数据手册上给定的值进行OFFET校准,一共两种状态,一种是补偿校准,一种是增益校准,结果试过之后,一种是采集值过低,一种是采集值相对偏高。

以上问题折腾2周了,请工程师哥哥们指条思考的方向。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。