0 前言
- 图1 表示测量数据精密度高,但准确度较差;
- 图2 表示测量数据的准确度高,但精密度差;
- 图3 表示测量数据精密度和准确度都好,即精确度高。
1 简介
模数转换器(ADC)广泛用于各种应用中,尤其是需要处理模拟传感器信号的测量系统,比如测量压力、流量、速度和温度。
在任何设计中,理解这些类型应用的总系统精度始终都是非常重要的,尤其是那些需要对波形中极小的灵敏度和变化进行量化的系统。理想情况下,施加于信号链输入端的每一个伏特都由ADC以数字表示一个伏特的输出。但是,事实并非如此。所有转换器和信号链都存在与此相关的有限数量误差。
接下来将讨论模数转换器自身相关的误差,以及揭示转换器内部的不精确性累积到何种程度即会导致这些误差。
2 ADC的不精确性
无论何种信号链,转换器都是系统的基本要素。为设计选择任何ADC都会决定系统的总精度。换言之,系统精度不可能高于转换器的最低有效位(LSB)大小。
首先,注意到由于ADC不是理想的,并且分辨有限,因此它们在输出端只能显示有限数量的信息表示。
例如,假设选择一个12位ADC,则它可在输出端以4096个数字表示施加于转换器输入端的任何信号。这些表示信息确实存在有限量的误差。因此,如果12位ADC的输入满量程(VFS)为10Vp-p,那么理想情况下的LSB大小为2.44mVp-p,精度为±1.22mV。
而实际上,ADC是非理想的。在转换器内部存在一定的噪声,
例如,查看12位ADC数据手册时,SNR通常为大约70dB到72dB。但是根据下列公式,一个12位ADC理想情况下应当具有74dB:
因此,实际上12位分辨率是无法达到的,因为转换器本身存在一定的不精确性(失调电压、增益误差、线性误差等),如下图所示:
ADC的量化误差如下图所示:
这些不精确性或误差决定了转换器表示信号的效率,并最终位信号链所接收。失调误差定义为传递函数无法通过零点的模拟值。增益误差是失调误差为零时理想与实际传递函数之间的满量程数值之差。通常意义上的线性度或非线性度是指零电平与满量程之间的直线偏差。
3 相关指标分析
大部分ADC的失调和增益都存在这种小误差,通常可以忽略或通过外部模拟电路调节(消除),或者采用数字技术校正。然而,诸如线性度、量化和温度系数等其他误差无法轻易调节或消除。
模拟转换器线性度只与转换器自身相关,即取决于架构和工艺变化。虽说也有方法可以校正,但是都比较费时、费力。
线性度有两种类型的误差:差分非线性(DNL)和积分非线性(INL),详细参数定义请参考ADC相关参数定义与测试方法-CSDN博客,DNL表示为两个相邻代码的模拟差与理想代码值之间的偏差。可将其看作与ADC的SNR性能相关的因素,该误差在温度范围内的界限为±0.5LSB,可保证无失码。
INL定义为零电平和满量程之间的理想直线与近似曲线偏差。多数情况下,INL决定了ADC的SFDR性能,INL总偏差形状可以决定最主要的谐波性能。例如,INL曲线呈弓形会相应产生更差的偶次谐波,而INL曲线呈S弓形则通常产生奇次谐波。
例如:
一个12位ADC具有10ppm增益误差,或FSR/℃ = 0.001%℃。12位ADC的1LSB为,或者近似等于0.024%(1 / 4096 = 0.00024)。因此,若125℃(-40℃至+85℃),则产生±2.6LSB(0.001%℃ * 125℃ = 0.125%,0.125% / 0.024% = 5.2LSB = ±2.6LSB)增益温度系数误差。若失调温度系数为5ppm,这将产生±1.3LSB(计算方法同上)失调温度系数误差。
3 ADC误差分析
影响ADC性能的其他误差来源有:CMRR、时钟抖动、固有电路板噪声、耦合等等。所有这些误差最终都决定了ADC如何有效地表示信号。
从时域角度来看,分析ADC的总精度需要了解以下五个误差(增益误差和失调误差可通过校正消除):
- 相对精度DNL,定义为±0.5LSB;
- 相对精度温度系数和DNL温度系数;
- 增益温度系数误差,为±2.6LSB(上文推导);
- 失调温度系数误差,为1.3LSB(上文推导);
- 电源的PSRR,通常以第一奈奎斯特区域内的低频PSRR表示,对于12位ADC它一般表示为60dB(约为2LSB = 0.1% (60dB)/ 0.024% = 4 LSB = ± 2LSB)。
只需进行方和根(RSS)运算,所有这些误差源构成±3.56 LSB总转换器误差。这个结果可能过于悲观了。然而,统计容差结果可能过于乐观了,或者总误差之和除以误差数,即(0.5 + 2.6 + 1.3 + 2) / 4 = ±1.6 LSB。ADC实际容差应当介于这两种思路或方法之间。
因此,当在转换器中加入精度误差的时候,或者进行任何系统精度分析的时候,设计人员应当使用加权误差源法,然后对这些误差源进行RSS计算。这是确定ADC总误差的最佳方法。因此,±2.5 LSB增益温度系数误差应当是总误差的68%( 2.6 / (0.5 + 1.3 + 2) × 100),±1.3 LSB的失调温度系数误差将为总误差的25%(1.3 / (0.5 + 2.6 + 2) × 100),±2 LSB的电源灵敏度误差将为总误差的45%(2 / (0.5 +1.3 + 2.6) × 100),±0.5LSB对比其他误差偏小,在RSS计算后,对误差影响不会很明显,因此±0.5LSB作为100%。将这些加权误差以RSS方式相加,或者进行平方
根计算 = 2.07LSB,若忽略±0.5LSB误差,计算结果为 =2.01LSB。由此可见±0.5LSB误差对总误差贡献偏小。这是一个更接近实际的结果,介于上文乐观方法和悲观方法得出的结果之间。
4 ADC带宽精度
ADC还有建立时间精度。驱动ADC的前端需要具备足够的带宽,才能精确地对信号进行采样。否则,累积误差将大于上文计算结果。ADC驱动详细设计请参考SAR ADC驱动设计注意事项_sar adc设计-CSDN博客