理解ADC误差对系统性能的影响(二) - 数模混合 -
回到我们的举例,两种情况中的失调误差可按下述方法获得:
2.5V基准时+8mV的失调误差相当于12位ADC具有13LSB的误差(8mV/[2.5V/4096])。虽然分辨率仍是12位,但是你必须从每次转换结果中扣除13个码以补偿失调误差。值得注意的是,实际上这时的可测量满量程值就变为了2.5V(4083/4096) = 2.492V。此范围以上的任何值都会使ADC溢出。因此,ADC的动态范围或者说输入范围减小了。这个问题在较高分辨率的ADC中尤为显著;在16位系统中,8mV对应于210LSB (VREF = 2.5V)。
如果失调为-8mV (假设为单极性输入),接近于零的小信号输入将不会引起任何输出变化,一直到模拟输入增加到+8mV 。这同样造成了ADC动态范围的减小。
增益误差定义为满量程误差减去失调误差(图5)。满量程误差在转换函数曲线上最后一次ADC跳变处进行测量,并和理想ADC的转换函数相比较。增益误差可通过软件用一个简单的线性函数y = (m1/m2)(x)进行简单的校正,其中的m1是理想转换函数的斜率,m2是实际测得的转换函数的斜率(图5)。
图5. 失调、增益和满量程误差
增益误差指标中可能包含或不含ADC参考电压对于误差的贡献。在电气规范中,检查一下增益误差的测试条件,并决定采用内部或外部基准工作是非常重要的。一般情况下,当采用片内基准时增益误差会比较大。如果增益误差为零,在对满量程模拟输入作转换时转换结果应为全1 (对于本例的12位系统则为3FFh) (见图6) 。由于我们的转换器不理想,全1转换结果可能会在施加的输入电压大于满量程(负增益误差)或小于满量程(正增益误差)时出现。有两种办法可以调整增益误差,其一是调节参考电压,以便在某特定参考电压下得到满量程输出,或者在软件中采用一个线性校正曲线改变ADC转换函数的斜率(一阶线性方程或查表法)。
图6. 增益误差降低了动态范围
和失调误差一样,增益误差也会降低动态范围。举例来说,如果满量程输入电压时转换得到的数码输出为4050而非理想的4096 (12位转换器),也就是所谓的负增益误差,在这种情况下,高端的46个码将无法利用。类似地,如果满量程数码4096出现在输入电压低于满量程时,ADC的动态范围同样被降低了(见图6)。值得注意的是对于正的满量程误差,你无法在转换结果变为全1的点之外对转换器进行校准。
对付失调和增益误差最简单的办法就是找一个误差值足够低的ADC,这样你就不必再考虑校正了。找到一个失调和增益误差小于4LSB的12位ADC并不困难。
其它误差源
码沿噪声
码沿噪声是在转换函数中恰好发生编码跳变时出现的噪声。通常在规格书中对该项特性不作规定。甚至对于较高分辨率的转换器(16位以上),由于更小的LSB间隔,码沿噪声更为显著,通常都对这项性能未作规定。很多时候,码沿噪声能有几个LSB。转换恰好位于代码边缘的模拟输入时,代码会在LSB位发生跳动。如果出现明显的码沿噪声,就应该对采样进行平均,这样可以有效地从转换结果中去除这种噪声。需要对多少个采样取平均? 如果码沿噪声为2/3LSB RMS,这接近于4LSB P-P。那么要将噪声降低到1LSB,则需要对16次采样取平均(性能的改进正比于采样数的均方根)。
基准
采用内部或外部基准的ADC的一个最大潜在误差源是参考电压。很多情况下,内置于芯片内部的基准通常都没有足够严格的规格。为了理解基准所带来的误差源,有必要特别关注一下三项指标:温漂,电压噪声,和负载调整。
温漂
温漂是规格书中最容易被忽视的一项指标。下面的举例可以说明温度漂移是如何影响ADC性能的(图7)。对于一个12位转换器,要在整个扩展级温度范围(-40°C至+85°C)内保持精度,最大允许的温漂为4ppm/°C。不幸的是,没有任何一个ADC包含有这样高性能的片内基准。如果我们放松要求,将温度范围限制于10°C以内,那么12位ADC的参考电压最多允许25ppm/°C的温度漂移,这对于片内基准来讲仍然是相当严格的要求。即便进行多次样机测试也不能发现这种误差的严重性,因为所采用的元件通常都来自于同一批次。这样,测试结果不能反映规格书中的极端情况,这主要是由于制造工艺的变化而导致。
图7. 电压基准温漂要求和ADC分辨率的关系
对有些系统来讲,参考电压的精度不是一个大问题,因为温度被保持于恒定,避免了温度漂移问题。还有一些系统采用一种比例测量方式,用同一个信号激励传感器和作为参考电压,可以消除基准引起的误差(图8)。因为激励源和基准同时漂移,漂移误差相互抵消。
图8. 比例式ADC转换
在其它系统中,采用补偿手段消除基准漂移通常也很有效。另外也有一些系统并不关注绝对精度,而注重于相对精度。这样的系统允许基准随着时间缓慢漂移,同时又能够提供期望的精度。
电压噪声
另外一个重要指标是电压噪声。它通常规定为RMS值或峰–峰值。要估计它对于性能的影响,需要将RMS值转换为峰–峰值。如果一个2.5V基准在输出端具有500μV的峰–峰电压噪声(或83μV RMS),该噪声会带来0.02%的误差,或将系统性能限制于仅12位,而且这还没考虑任何其它的转换器误差。理想情况下,基准的噪声应该远低于一个LSB ,这样才不至于限制ADC的性能发挥。带有片内基准的ADC通常都不规定电压噪声,这样就将确定误差的任务留给了用户。如果你的设计没有达到预期性能,而你又正在使用内置基准,可尝试采用一个高性能的外部基准,这样你就可以确定造成性能下降的真正元凶是否是内部基准。
负载调整
最后一项指标是基准的负载调整。用于ADC的电压基准通常具有足够的电流可用于驱动其它器件,因此有时也被其它IC使用。其它元件的吸取电流会影响到电压基准,也就是说随着吸取电流的增大,参考电压会跌落。如果使用基准的器件被间歇性地打开和关闭,将会导致参考电压随之上升或下降。如果一个2.5V基准的负载调整率指标为0.55μV/μA,那就意味着当有另外一个器件吸取800μA电流时,参考电压将会改变多达440μV,这将带来0.0176%的误差(440μV/2.5V),或占去现有误差余量的几乎20%。
其它温度效应
接下来继续讨论温度相关的问题,另外还有两项指标通常很少有人关注,那就是失调漂移和增益漂移。这两项指标一般只给出典型数值,用户只能自己判断它是否足以满足系统要求。失调和增益的漂移可采用多种不同方法加以补偿。一个办法是仔细测出失调和增益漂移的完整数据,并在存储器中建立一个表格,然后随着温度的变化调节测量值。然而,这是一项繁重的任务,因为每个ADC必须单独补偿,而且补偿工序非常费时。第二个办法是只在温度发生显著变化时才执行校准。
对于那些只作一次性温度校准的系统,需要重点留意一下漂移指标。如果已校准了初始失调但温度又发生了改变,因漂移的关系又会引入新的误差,这使校准的效果被减弱。例如,假设在温度X下进行了一次转换。随后的某个时间,温度变化了10°C,又作了完全相同的另一次测量。两次读取的转换结果会有差异,这会使用户对系统的可重复性也就是可靠性产生怀疑。
有很多原因促使制造商没有给出最大界限。其中之一便是成本的增加。漂移测试需要特殊的平台,并且还要在测试流程中增加额外的工序(这将导致额外的制造成本),以确保所有器件不超出最大漂移界限。
增益漂移的问题更多,尤其是对于那些采用内部基准的器件。这时候,基准的漂移可以一并包含于增益漂移参数中。当采用外部基准时,IC的增益漂移一般比较小,比如0.8ppm/°C。这样,±10°C的温度变化将会造成±8ppm的漂移。举例来讲,12位性能等价于244ppm (1/4096 = 0.0244% = 244ppm)。因此,±8ppm的漂移所造成的误差远低于12位系统中的一个LSB。
交流特性
有些ADC只在输入信号接近于直流时能很好地工作。另外一些则能很好地处理从直流到Nyquist特频率的信号。仅有DNL和INL符合系统要求并不能说明转换器能够同样合格地处理交流信号。DNL和INL是在直流测试的。要掌握其交流性能就必须了解交流指标。在产品规格书中有电气参数表和典型工作特性,从中你可以找到有关交流性能的线索。需要考察的关键指标有信号–噪声比(SNR),信号–噪声加失真比(SINAD),总谐波失真(THD),以及无杂散动态范围(SFDR)。首先我们来看一看SINAD或SNR。SINAD定义为输入正弦波信号的RMS值与转换器噪声的RMS值(从直流到Nyquist特频率,包括谐波[总谐波波失真]成分)。谐波发生于输入频率的倍数位(图9)。SNR类似于SINAD,只是它不包含谐波成分。因此,SNR总是好于SINAD。SINAD和SNR一般以dB为单位。
其中N是转换器的位数。对于理想的12位转换器,SINAD为74dB。这个方程可重写为N的表达式,新的表达式揭示了能够获得的信息的位数与RMS噪声的函数关系:
这个方程就
查看评论 回复