时间:2024-05-04
杨卫平 王静 易冬柏
(珠海零边界集成电路有限公司 广东省珠海市 519070)
模数转换器ADC也称为A/D转换器,用于将自然界中感知的模拟信号转换成计算机可处理的数字信号,广泛应用在各种仪器仪表和日常电器设备中。实际电路因制造工艺偏差,器件失配、环境干扰等因素,ADC转换存在误差[1],失调误差和增益误差是ADC中最常见的两种误差:失调误差是指ADC实际特性曲线和过原点的无限精度特性之间的水平差值;增益误差是指ADC实际特性曲线和无限精度特性曲线之间的差值,可以认为是无限精度曲线斜率向上增加1或向下减少1的变化量。
本文根据误差的偏向将ADC分为负偏差型和正偏差型,将转换结果相比理想值偏低称为负偏差型,将转换结果相比理想值偏高称为正偏差型。ADC的精度是其最重要的指标之一,决定了机器系统能否准确的获取到自然界信息,ADC转换误差直接影响其精度,因此误差校正十分重要。
通过ADC采集0电压和最高参考电压两点值来计算得到失调误差和增益误差,通过补偿达到校正ADC失调误差的目的。其中计算 ADC输出结果和0的差值,即得到失调误差值,用这个值去补偿ADC的转化结果作为最终输出,达到失调校正的目的;计算输入输出特性曲线的斜率值去补偿增益误差导致的影响[2]。这种方法比较简单,但这种方法不能适用所有类型的ADC校正。比如当ADC在0电压附近的转换结果偏低(负偏差型),就会出现0电压附近的一段输入电压区域对应的转换结果都为0,通过采集0电压输入将得不到失调误差信息;若ADC在最高参考电压附近的一段电压区间提前满幅输出了(正偏差型),通过采集最高参考电压将得不到准确的斜率信息。
对于一个输入电压信号Vin, N比特ADC的理想输出(目标输出值)ADC_OUT计算公式如公式1所示。ADC采集输入电压Vin得到转换实测值,通过计算该电压转换值与理想ADC输出值之间的差来得到失调误差,达到校正ADC失调误差的目的。
但是对于参考源变化的应用场合,参考源的不确定将导致理想输出值不确定,从而得不到准确的失调误差信息。比如使用的外部参考源是电池供电,随着充放电过程,参考源会变化;或者使用内部参考源,因供电电压或温度等环境的影响,内部参考源也会有变化。此时需要额外的电路测量准确的参考电压值VREF,或者需要复杂的可调节的参考电压源电路来产生特定的校正电压,因此该方法不够简洁实用。
本文旨在提供一种简单高效的ADC失调误差和增益误差自动校正方法。如附图1所示,首先让ADC进入校正模式,在这个模式下通过参考比例产生电路11产生两路与参考电压VREF成特定比例的电压V1和V2,V1=k1*VREF,V2=k2*VREF。控制通道选择电路12依次将V1和V2输入到数据转换单元13中,将 V1和V2电压值转换成原始数字输出ADC_OUT1和ADC_OUT2,这两个结果包含失调误差Err_oあset和增益误差Err_Gain,原始数字输出和这两个误差参数的关系如下:
其中,电压V1和V2对应的理想ADC(无偏差)输出值如下:
图1:本文提出ADC误差校正方法对应电路结构图
图2:一种参考比例产生电路的实现示例图
图3:ADC误差校正前后效果对比图
取k2>k1, V2>V1,便可得到ADC_OUT2> ADC_OUT1,ADC_OUT_ID2> ADC_OUT_ID1.根据式(2)、(3)、(4)、(5)可以得到失调误差值和增益误差值如下:
通过上式(6)、(7)得到失调误差和增益误差参数Err_Gain和Err_Oあset ,保存在参数存储及校正输出单元14中,后续ADC去采集任意信号Vx,只要通过参数存储及校正输出单元14将这两个参数补偿回来就可以得到校正后的转换输出值Data_outx,校正输出值计算公式如下:
可以在每次上电使用ADC时进行一次校正参数获取,然后保存在存储单元中,后续信号采集只需要将校正参数计算补偿回来就可以得到准确的校正输出值。
本校正方法的优势如下:
(1)可以很方便地设置合理的系数k1和k2, 使得V1的取值要略大于电路最低电平,V2取值要略小于系统参考电压,从而不会出现上述传统方法一种描述的问题,本方法能满足所有类型ADC的校正需求。
(2)采用比例设计,即使不知道当前参考源VREF的准确值也能完成校正过程得到准确的校正输出。
针对V1、V2的产生与选取,给出一种简单实用的实现电路,如图2所示。电阻R1,R2,…Rn 为n个阻值相等的电阻,对参考电压VREF进行分压得到V1=k1*VREF,V2=k2*VREF.开关SW1在校正过程中闭合,校正完成断开,节省功耗。
ADC误差校正的操作流程为:
(1)生成至少两路输入电压信号;
(2)计算失调误差和增益误差;
(3)正常输入,对转换输出进行校正;
(4)完成校正的输出值,应该与理想输出值进行比较,差值一般在1LSB以内。
特别强调的是,每次上电后,第(4)步这样的验算过程至少完成几次,确保计算误差值的正确性。
对12bit ADC电路进行仿真,参考电压为5V, 输入电压:k1=1/4, k2=3/4,故输入电压分别为1.25V和3.75V,ADC实际转换结果分别为973和2980,理想值根据计算应分别为1024和3071, 带入(6)、(7)两式计算可得增益误差系数Err_Gain=0.98(即2%的增益误差),Err_Oあset=30(代表有-30LSB 失调误差)。把30和0.98这两个参数存储在寄存器中,后续转换结果全部补回去即可得到校正后的ADC输出结果,从0到VREF遍历输入,全范围内校正结果如图3所示,可见校正值与理想值完全吻合,达到校正目的。
本文通过公式推理,提出一种ADC误差校正方法,并给出具体实现电路和操作流程。本文方法可以在参考源具体值未知的情况下满足所有正偏差型和负偏差型ADC的增益误差和失调误差校正,最后通过实例仿真验证了该方法的有效和准确性。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!