打印
[资料分享]

ADC模块误差的定义、影响和校正方法分享

[复制链接]
1386|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Sode|  楼主 | 2018-11-5 10:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Sode 于 2018-11-5 11:04 编辑

ADC模块误差的定义、影响和校正方法分享


      本文提出一种用于提高TMS320F2812ADC精度的方法,使得ADC精度得到有效提高。ADC模块是一个12位、具有流水线结构的模数转换器,用于控制回路中的数据采集。


  1 ADC模块误差的定义及影响分析

  1.1 误差定义

  常用的A/D转换器主要存在:失调误差、增益误差和线性误差。这里主要讨论失调误差和增益误差。理想情况下,ADC模块转换方程为y=x&TImes;mi,式中x=输入计数值 =输入电压&TImes;4095/3;y=输出计数值。在实际中,A/D转换模块的各种误差是不可避免的,这里定义具有增益误差和失调误差的ADC模块的转换方程为y=x&TImes;ma±b,式中ma为实际增益,b为失调误差。通过对F2812的ADC信号采集进行多次测量后,发现ADC增益误差一般在5%以内,即0.95。


  1.2 影响分析

  在计算机测控系统中,对象数据的采集一般包含两种基本物理量:模拟量和数字量。对于数字量计算机可以直接读取,而对于模拟量只有通过转换成数字量才能被计算机所接受,因此要实现对模拟量准确的采集及处理,模数转换的精度和准确率必须满足一定的要求。由于F2812的ADC具有一定增益误差的偏移误差,所以很容易造成系统的误操作。下面分析两种误差对线性电压输入及A/D转换结果的影响。

  F2812用户手册提供的ADC模块输入模拟电压为0~3 V,而实际使用中由于存在增益误差和偏移误差,其线性输入被减小。

  下面以y=x&TImes;1.05+80为例介绍各项值的计算。当输入为0时,输出为80,由于ADC的最大输出值为4095,则由式y=x×1.05+80求得输入最大电压值为2.8013。因此,交流输入电压范围为1.4007±1.4007,此时有效位数N=ln4015/ln2=11.971,mV/计数位=2.8013/4015=0?6977,其余项计算同上。表1中的最后一行显示了ADC操作的安全参数,其有效位数减少为11.865位,mV/计数位从0.7326增加为0.7345,这将会使转换结果减少0.2%。

  在实际应用中,所采集的信号经常为双极型信号,因此信号在送至ADC之前需要添加转换电路,将双极型信号转化为单极型信号。典型的转换电路如图2所示。对于ADC模块,考虑到增益误差和失调误差对输入范围的影响,转换电路需要调整为如图3所示的电路。在图3中,输入增益误差的参考范围已经改变。

  

    对于双极性输入,其0 V输入的增益误差对应单极性输入的1.4315V的增益误差,因此,原有ADC的增益误差和失调误差被增大了。例如,如果ADC的增益误差为5%,失调误差为2%,则其双极性的增益误差计算如下:双极性输入x′= 0.0000 V,单极性的ADC输入电压x = 1.4315 V,其理想的转换值为ye=1.4315×4095/3=1954,而由ya=1954×1.05+80计算得实际转换值,则双极性增益误差为ya-ye=2132-1954=178(9.1%误差)。通过计算可以看出,ADC的误差大大增加,因此要使用ADC进行数据采集,就必须对ADC进行校正,提高其转换精度。


  2 ADC校正

  2.1校正方法

  通过以上分析可以看出,F2812的ADC转换精度较差的主要原因是存在增益误差和失调误差,因此要提高转换精度就必须对两种误差进行补偿。对于ADC模块采取了如下方法对其进行校正。

  选用ADC的任意两个通道作为参考输入通道,并分别提供给它们已知的直流参考电压作为输入(两个电压不能相同),通过读取相应的结果寄存器获取转换值,利用两组输入输出值求得ADC模块的校正增益和校正失调,然后利用这两个值对其他通道的转换数据进行补偿,从而提高了ADC模块转换的准确度。图1示出了如何利用方程获取ADC的校正增益和校正失调。具体计算过程如下:

 ① 获取已知输入参考电压信号的转换值yL和yh。

 ② 利用方程y=x×ma+b及已知的参考值(xL,yL)和(xH,yH)计算实际增益及失调误差:     实际增益ma=(yH-yL)/(xH-xL);        失调误差 b=“yL” -xL×ma。

 ③ 定义输入x=y×CalGain-CalOffset,则由方程y=x×ma+b得校正增益CalGain=1/ma=(xH-xL)/(yH -yL),校正失调CalOffset=b/ma=yL/ma-xL。

 ④ 将所求的校正增益及校正失调应用于其他测量通道,对ADC转换结果进行校正。


  上述即为实现ADC校正的全过程,通过使用这种方法,ADC的转换精度有很大提高。由于这种方法是通过某个通道的误差去修正其他通道的误差,因此要采用这种方法,必须保证通道间具有较小的通道误差。对F2812ADC转换模块,由于其通道间的增益及失调误差均在0.2%以内,所以可以采用这种方法对其进行校正。



相关帖子

沙发
Sode|  楼主 | 2018-11-5 11:04 | 只看该作者
ADC模块误差的定义、影响和校正方法分享

文档1.pdf

108.1 KB

使用特权

评论回复
板凳
febgxu| | 2018-11-10 23:37 | 只看该作者
ADC自校准

使用特权

评论回复
地板
sdlls| | 2018-11-10 23:38 | 只看该作者
线性度是指校准曲线接近规定直线的吻合程度。

使用特权

评论回复
5
pixhw| | 2018-11-10 23:38 | 只看该作者
是否需要校准取决你的精度要求

使用特权

评论回复
6
updownq| | 2018-11-10 23:39 | 只看该作者
取多次的值然后求平均看一下

使用特权

评论回复
7
sanfuzi| | 2018-11-10 23:39 | 只看该作者
ADC基于你的参考电源

使用特权

评论回复
8
gygp| | 2018-11-10 23:39 | 只看该作者
参考源是啥?

使用特权

评论回复
9
chenci2013| | 2018-11-10 23:39 | 只看该作者
集成了 ADC 转换模块?

使用特权

评论回复
10
biechedan| | 2018-11-10 23:40 | 只看该作者
整个模块的输出会带有误差

使用特权

评论回复
11
wangdezhi| | 2018-11-10 23:40 | 只看该作者
ADC精度得到有效提高?

使用特权

评论回复
12
isseed| | 2018-11-10 23:40 | 只看该作者
不知道用软件怎么校正比较合适

使用特权

评论回复
13
gygp| | 2018-11-10 23:41 | 只看该作者
注意好参考源

使用特权

评论回复
14
febgxu| | 2018-11-10 23:41 | 只看该作者
在ADC使用的时候需要对AD进行校准

使用特权

评论回复
15
sanfuzi| | 2018-11-10 23:41 | 只看该作者
普通电源来说,你这个偏差好像是可接受的。

使用特权

评论回复
16
sdlls| | 2018-11-10 23:41 | 只看该作者
ADC中的线性度就是看ADC出来和实际的偏差的大校 所以线性度是一个很重要的指标。

使用特权

评论回复
17
updownq| | 2018-11-10 23:41 | 只看该作者
好像没有校准函数。

使用特权

评论回复
18
pixhw| | 2018-11-10 23:41 | 只看该作者
算法上进行处理

使用特权

评论回复
19
isseed| | 2018-11-10 23:41 | 只看该作者
ADC12038 具有 MUX 和采样/保持功能的自校准

使用特权

评论回复
20
wangdezhi| | 2018-11-10 23:41 | 只看该作者
有软件或者硬件的方法呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1049

主题

1522

帖子

8

粉丝