一般来说,想提高模数转换器的精度,势必会引起成本的增加,这就要求我们按照具体的精度要求合理的设计模数转换器,来达到具体的要求和降低系统的成本。在精度要求不是很高的场合,我们经常利用嵌入微控制器片内的A/D转换器来实现模数转换,以此来降低系统的成本,但由此又产生了另外的问题,嵌入式模数转换器是否具有所要求的精度,若超出测量范围如何与测量电路进行接口,以及如何减小微控制器的电磁干扰提高嵌入式模数转换器的精度问题。这都要求我们采取不同的措施来提高嵌入式模数转换器的精度。
1 精度与分辨率
ADC的精度和分辨率是两个不同的概念。精度是指转换器实际值与理论值之间的偏差;分辨率是指转换器所能分辨的模拟信号的最小变化值。ADC 分辨率的高低取决于位数的多少。一般来讲,分辨率越高,精度也越高,但是影响转换器精度的因素很多,分辨率高的ADC,并不一定具有较高的精度。精度是偏移误差、增益误差、积分线性误差、微分线性误差、温度漂移等综合因素引起的总误差。因量化误差是模拟输入量在量化取整过程中引起的,因此,分辨率直接影响量化误差的大小,量化误差是一种原理性误差,只与分辨率有关,与信号的幅度,采样速率无关,它只能减小而无法完全消除,只能使其控制在一定的范围之内,一般在±1/2LSB范围内。
1.1 偏移误差
偏移误差是指实际模数转换曲线中数字0的代码中点与理想转换曲线中数字0的代码中点的*差值电压。这一差值电压称作偏移电压,一般以满量程电压值的百分数表示。在一定温度下,多数转换器可以通过对外部电路的调整,使偏移误差减小到接近于零,但当温度变化时,偏移电压又将出现,这主要是由于输入失调电压及温漂造成的。一般来说,温度变化较大时,要补偿这一误差是很困难的。
1.2 增益误差
增益误差是转换器输出全“1”时,实际模拟输入电压与理想模拟输入电压之差。它使传输特性曲线绕坐标原点偏离理想特性曲线一定的角度,即增益误差表示模数转换特性曲线的实际斜率与理想斜率的偏差,它的数值一般用满量程的百分比来表示。
ADC的理想传输函数的关系式是
(1)
式中Un是没有量化时的标准模拟电压,由于存在增益误差,式(1)变为
(2)
式中的K为增益误差因子。当K=l时,没有增益误差。当K>1时,传输特性曲线的斜率变大,台阶变窄,在输入模拟信号达到满量程值之前,数字输出就己全“l”状态。当K<1时,传输特性曲线的斜率变小,台阶变宽,输入模拟信号己超满量程值时,数字输出还未达到全“1”状态输出。
在一定温度下,可通过外部电路的调整使K=l,从而消除增益误差。
1.3 线性误差
线性误差又称积分线性误差,是指在没有偏移误差和增益误差的情况下,实际传输曲线与理想传输曲线之差。线性误差一般不大于1/2LSB。因为线性误差是由ADC特性随输入信号幅值变化而引起的,因此线性误差是不能进行补偿的,而且线性误差的数值会随温度的升高而增加。
1.4 微分线性误差
微分线性误差是指实际代码宽度与理想代码宽度之间的*偏差,以LSB为单位,微分线性误差也常用无失码分辨率表示。
由于时间和温度的变化,电源可能会有一定的变化,有时可能是造成影响ADC精度的主要原因,因此在要求比较高的场合,必须保证电源的稳定性,使其随温度和时间的变化量在所允许的范围之内,但在一般的场合,往往可以不考虑其对系统的影响。
2 嵌入式模数转换器的结构及影响转换的原因和消除方法
所谓嵌入式模数转换器是指将模拟多路开关、采样保持、A/D转换、微控制器集成在一个芯片上,经常采用逐次比较型进行A/D转换,模拟输入信号一般为非负单极性,且输入信号的电压范围为0~AVREF,A/D转换器具有独立的模拟电源与参考电压。
在实际应用中,由于输入信号的输出电阻不同,如果输出电阻过大,会引起实际测量的电压分压过小,因而引起测量值较实际值偏小;或者由于输入信号为双极性模拟信号,不能直接与嵌入式微控制器相连,必须采取特殊措施,使双极性模拟信号转换为可以直接测量的非负单极性信号;还有如果输入信号幅值过大,以至于超过参考电压,也必须引入将压环节,使输入电压低于参考电压,等等,下面对以上影响逐一进行分析。
2.1 模拟输入信号阻抗对采样的影响
采样过程是采样电容充电,跟踪输入模拟信号电压的过程,由于采样电路存在模拟多路开关阻抗、采样开关阻抗和输入信号源阻抗,因此,其转换时间受模拟多路开关阻抗、采样开关阻抗与输入信号源阻抗的影响,模拟多路开关与输入信号源的阻抗越大则其转换时间越长。
逐次比较型A/D的输入端等效电路如下图所示:
图1 逐次比较型A/D的输入端等效电路
其中,RIN为输入模拟信号内阻,VS为输入模拟电压信号,RSH为模拟多路开关与采样开关的等效电阻,VSH为采样电容的充电电压,由等效电路可以看出,输入模拟信号内阻越大,则采样电容充电时间越长,因此,对于采样频率要求越高的场合,要求模拟输入信号内阻必须越小,在应用时必须首先估算在规定的采样频率下,对模拟输入信号内阻的要求。由电路理论可以求得RIN所允许的*值(假设采样时间为T):
如果信号源内阻达不到要求,则需使用一个输出阻抗很小的缓冲器,例如可以使用电压跟随器,使信号源的输出阻抗达到A/D转