本文主要对影响系统性能的ADC的各误差指标作分析及其选择与应用作出判断。
采用12位分辨率的模拟-数字转换器(ADC)未必意味看你的系统将具有12位的精度。很多时候,令工程师们吃惊和不解的是,数据采集系统所表现出的性能往往远低于期望值。
如 果这个问题直到样机运行时才被发观,那是措手不及,只好慌忙地改用更高性能的ADC,那大量的时间被花费在重新更改设计上,同时,试投产的日程在迅速临近。问题出在哪里?最初的分析中有那些因素发生了改变?要有一个正确答案,就必须对ADC的性能指标有一个深人的了解,才能有助于发观一些经常导致性能指 标不尽人意的细节所在。
对于ADC指标的理解还有助于你为你的设计选择正确的ADC。
系统要求
可以设想,整个系统的误差可以看作是信号通路上每个电路元素所贡献的误差项的总和。因此总误差的均方根值可由下式给出:
其 中EN代表某个特定电路元件的误差项。在本例中,假定我们需要0.1%或者说10位的精度,这样,只有选择一个具有更高分辨率的转换器才有意义。如果是一 个12位的转换器,可能会想当然地以为精度已足够高;但是在没有仔细检查其规格书之前,并没有把握得到12位的性能。举例来说,一个具有4 LSB(最小有效位)积分非线性误差(1NL)的12位ADC,最多只能提供10位的精度(假设失调和增益误差已得到修正)。一个具有0.5LSB的 INL的器件则可提供0.0122%的误差或13位的精度(消除了增益及失调误差以后)。要计算最佳精度,可用最大INL误差除以2N,其中N是转换器位 数。该举例中,若采用0.075%误差(或11位)的ADC,则留给其余电路的误差余量只有0.025%,这其中包括传感器、前端信号调理电路(运放、多 路复用器等等)或许还有数字—模拟转换器(DAC)、PWM信号或信
号通路上的其它模拟电路。
另外还假设,将要测量的是一个缓慢变化的、直流型的双极性输入信号,具有1kHz的带宽,工作温度范围为0℃到+70℃,并在0℃至+50℃范围内保证性能.
直流性能
微分非线性
虽 说微分非线性不被作为一项关键性的ADC参数,微分非线性(DNL)误差还是进入视野的第一项指标。DNL揭示了一个输出码与其相邻码之间的间隔。这个间 隔通过测量输入电压的幅度变化,然后转换为以LSB(最小有效位)为单位后得到。INL是DNL的积分,这就是为什么DNL没有被我们看作关键参数的原因 所在。一个性能优良的ADC常常声称“无丢码”。这就是说当输入电压扫过输入范围时,所有输出码组合都会依次出现在转换器输出端。当DNL误差小于引 LSB时就能够保证没有丢码。DNL为-0.5LSB时,器件保证没有丢码。若该误差值等于-1LSB,器件就不能保证没有丢码(10码丢失)。然而,当 最大DNL误差值为±1LSB时,大多数ADC都会特别声明是否有丢码。由于制造时的测试界限实际上要比规格书中所规定的更为严格,因此这种情况下通常都能够保证没有丢码。对于一个大于-1LSB的DNL,器件就会有丢码。随着DNL误差值的偏移(也就是说-1LSB,+2LSB),ADC转换函数会发生 变化。偏移了的DNL值理论上仍然可以没有丢码。关键是要以-1LSB作为底限。DNL在一个方向上进行测量,通常是沿着转换函数向上走。将造成码〔N〕 跳变所需的输入电压值和码〔N+1〕时相比较。如果相差为1LSB,DNL误差就为零。如果大于1LSB,则DNL误差为正值;如果小于1LSB,DNL 误差则为负值。有丢码并非一定是坏事。如果你只需要13位分辨率,同时你有两种选择,一个是DNL指标≤±4LSB的16位ADC(相当于无丢码的14 位),价格为5美元,另一个是DNL≤±1LSB的16位ADC,价格为15美元,这时候,购买一个低等级的ADC将大幅度地节省你的元件成本,同时又满 足了你的系统要求。
积分非线性
积分非线性(1NL)定义为DNL误差的积分。INL误差告诉设计者转换器测量结果 距离理想转换函数值有多远。举例,对于一个12位系统来讲,+2LSB的INL误差相当于2/4096或0.05%的最大非线性误差(这已占去ADC误差预算的2/3)。因此,有必要选用一个1LSB(或更好)的器件。对于+ILSB的INL误差,等效精度为0.0244%,占ADC误差预算的 32.5%。对于0.5LSB的指标,精度为0.012%,仅占ADC误差预算的16%(0.0125%/0.075%)。需要注意的是,无论是1NL或 DNL带来的误差,都不太容易校准或修正。
失调和增益误差
失调和增益误差很容易利用微控制器(μC)或数字信号处理器(DSP)修正过来。就失调误差来讲,如果转换器允许双极性输入信号的话,操作将非常简单。对于双极性系统,失调误差只是平移了转换函数,但没有减少可用编码的数量(图1)。
有 两套方法可以使双极性误差归零。其一,可以将转换函数的x或y轴平移,使负满度点与单极性系统的零点相对准(图2a)。利用这种方法,可以简单地消除失调 误差,然后,通过围绕“新”零点旋转转换函数可以对增益误差进行调节。第二种技术采用了一种迭代法。首先给ADC输入施加一个0V电压并执行一次转换;转 换结果反映了双极性零点失调误差。然后,通过围绕负满度点旋转转换曲线实现增益调节(图2b)。注意此时转换函数已绕A点转过一定角度,使零点偏离了期望的转换函数。因此还需要进一步的失调误差校正。单极性系统还要复杂一些。如果失调为正值,可采用和双极性系统相似的处理方法。不同之处在于你将失去一部分 ADC量程。如果失调为负值,你将无法简单地通过一次转换测得失调误差。因为在零点以下,转换器只能显示出零。这样,对于一个负失调误差的
转换器,你必须缓慢地增加输人电压,以确定在什么地方ADC结果出现首次跳变。同样,你将失去一部分ADC量程。回到我们的举例,两种情况中的失调误差可按下述方法获得。
2.5V 基准时+8mV的失调误差相当于12位ADC具有13LSB的误差(8mV/[2.5V/4096])。虽然分辨率仍是12位,但是你必须从每次转换结果 中扣除13个码以补偿失调误差。实际上,这时的可测量满量程值就变为了2.5V(4083/4096)=2.492V·此范围以上的任何值都会使ADC溢 出。ADC的动态范围或者说输入范围减小了。这个问题在较高分辨率的ADC中尤为显著;在16位系统中,8mV对应于210 LSB(VREF=2.5V).如果失调为-8mV(假设为单极性输入),接近于零的小信号输人将不会引起任何输出变化,一直到模拟输入增加到+8mV。这同样造成了ADC动态范围的减小。增益误差定义为满量程误差减去失调误差(图3)。满量程误差在转换函数曲线上最后一次ADC跳变处进行测量并和理想 ADC的转换函数相比较。增益误差可通过软件用一个简单的线性函数y=(m1/m2)(x)进行简单的校正,其中的m1是理想转换函数的斜率,m2是实际 测得的转换函数的斜率(图3)。
增益误差指标中可能包含或不含ADC参考电压对于误差的贡献。在电气规范中,检查一下增益误差的测试条件,并决定采用内部或外部基准工作是非常重要的。一般情况下,当采用片内基准时增益误差会比较大。如果增益误差为零,在对满量程模拟输入作转换时转换结果应为全 1(图4)(对于本例的12位系统则为3 FFh)。
由于我们的转换器不理想,全1转换结果可能会在施加的输人电压大于满量程(负增益误差)或小于满量程(正增益误差)时出现.有两种办法可以调整增益误差,其一是调节参考电压,以便在某特定参考电压下得到满量程输出或者在软件中采用一个线性校正曲线改变
ADC转换函数的斜率(一阶线性方程或查表法)。
和 失调误差一样,增益误差也会降低动态范围。举例来说,如果满量程输人电压时转换得到的数码输出为4050而非理想的4096(12位转换器),也就是所谓 的负增益误差,在这种情况下,高端的46个码将无法利用。类似地,如果满量程数码4096出现在输入电压低于满量程时,ADC的动态范围同样被降低了(图 4)。对于正的满量程误差,无法在转换结果变为全1的点之外对转换器进行校准。对付失调和增益误差最简单的办法就是找一个误差值足够低的ADC,这样你就不必再考虑校正了。找到一个失调和增益误差小于4LSB的12位ADC并不困难。
其它误差源
码沿噪声
码沿 噪声是在转换函数中恰好发生编码跳变时出现的噪声。通常在规格书中对该项特性不作规定。甚至对于较高分辨率的转换器(16位以上),由于更小的LSB间隔,码沿噪声更为显著,通常都对这项性能未作规定。很多时候,码沿噪声能有几个LSB。转换恰好位于代码边缘的模拟输入时,代码会在LSB位发生跳动。如 果出现明显的码沿噪声,就应该对采样进行平均,这样可以有效地从转换结果中去除这种噪声。需要对多少个采样取平均?如果码沿噪声为2/3 LSBRMS,这接近于4LSBp-p。那么要将噪声降低到1LSBp-p,则需要对16次采样取平均(性能的改进正比于采样数的均方根)。
基准
采用内部或外部基准的ADC的一个最大潜在误差源是参考电压。很多情况下,内置于芯片内部的基准通常都没有足够严格的规格。为了理解基准所带来的误差源,有必要特别关注一下三项指标:温漂,电压噪声,和负载调整。
温漂
温 漂是规格书中最容易被忽视的一项指标。下面的举例可以说明温度漂移是如何影响ADC性能的。对于一个12位转换器,要在整个扩展级温度范围(-40℃ 至+85℃)内保持精度,最大允许的温漂为4ppm/℃。不幸的是,没有任何一个ADC包含有这样高性能的片内基准。如果我们放松要求,将温度范围限制于 10℃以内,那么12位ADC的参考电压最多允许25ppm/℃的温度漂移,这对于片内基准来讲仍然是相当严格的要求。即便进行多次样机测试也不能发现这 种误差的严重性,因为所采用的元件通常都来自于同一批次。这样,测试结果不能反映规格书中的极端情况,这主要是由于制造工艺的变化而导致。
对有些 系统来讲,参考电压的精度不是一个大问题,因为温度被保持于恒定,避免了温度漂移问题。还有一些系统采用一种比例测量方式,用同一个信号激励传感器和作为参考电压,可以消除基准引起的误差。因为激励源和基准同时漂移,漂移误差相互抵消。在其它系统中,采用补偿手段消除基准漂移通常也很有效。另外也有一些系 统并不关注绝对精度,而注重于相对精度。这样的系统允许基准随着时间缓慢漂移,同时又能够提供期望的精度。
电压噪声
另 外一个重要指标是电压噪声。它通常规定为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%的误差
(440gV/2.5V),或占去现有误差余量的几乎20%。
其它温度效应
另 外还有两项指标通常很少有人关注,那就是失调漂移和增益漂移。这两项指标一般只给出典型数值,用户只能自己判断它是否足以满足系统要求。失调和增益的漂移可采用多种不同方法加以补偿。一个办法是仔细测出失调和增益漂移的完整数据,并在存储器中建立一个表格,然后随着温度的变化调节测量值。然而,这是一项繁 重的任务,因为每个ADC必须单独补偿,而且补偿工序非常费时。第二个办法是只在温度发生显著变化时才执行校准。
对于那些只作一次性温度校准的系统,需要重点留意一下漂移指标。如果已校准了初始失调但温度又发生了改变,因漂移的关系又会引入新的误差,这使校准的效果被减弱。
例如,假设在温度X下进行了一次转换。随后的某个时间,温度变化10℃又作了完全相同的另一次测量。两次读取的转换结果会有差异,这会使用户对系统的可重复性也就是可靠性产生怀疑。
有很多原因促使制造商没有给出最大界限。其中之一便是成本的增加。漂移测试需要特殊的平台,并且还要在测试流程中增加额外的工序(这将导致额外的制造成本),以确保所有器件不超出最大漂移界限。
增 益漂移的问题更多,尤其是对于那些采用内部基准的器件。这时候,基准的漂移可以一并包含于增益漂移参数中。当采用外部基准时,IC的增益漂移一般比较小, 比如0.8ppm/℃。这样,±10℃的温度变化将会造成±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频率,包括谐波[总谐波波失真]成分)。谐波发生于输人频率的倍数位(图
5)。
信号-噪声比(SNR)类似于SINAD,只是它不包含谐波成分。因此,SNR总是好于
SINAD。SINAD和SNR一般以dB为单位。量化过程会产生误差,对于一个理想的ADC:
SINAD=[6.02(N)+1.76](dB) (2)
其中N是转换器的位数。对于理想的12位转换器,SINAD为74dB。这个方程可重写为N的表达式,新的表达式揭示了能够获得的信息的位数与RMS噪声的函数关系:
N=(SINAD-1.76)/6.02 (3)
这个方程就是等效位数的定义,即ENOB。
SINAD和输入频率有关。随着频率向Nyquist(尼圭斯特)上限逼近,SINAD逐渐下降。
如果规格书中的指标是在相对于Nyquist频率较低的频率下测得,在接近 Nyquist频率时性能有可能变得很差。在规格书中的典型工作特性中可以找到ENOB曲线,可以观察到随着频率的增加ENOB下降,主要是由于随着输入频率的增加总谐波失真(THD)逐渐变差。
例 如,如果在感兴趣的频率SINAD的最小值为68dB,那么可获得的ENOB值为11。也就是说,由于转换器的噪声和失真,丢失了1位信息。这也意味着 12位转换器最多只能达到0.05%的精度。记住INL是一项直流指标;ENOB是一项有关转换器对于交流信号的非线性性能指标SNR是不考虑失真成分- 所噪声比.SNR反映了转换器的噪声背景。随着输入频率的增加SNR可能会急剧下降,这说明该转换器不是为该频率的应用而设计。改善SNR的一个办法是过采样,这种方法提供了一定的处理增益。过采样以远高于信号频率的速度
进行采样,以此来降低转换器的噪声背景。这种方法将噪声谱扩展到更宽的频域内,这样就有效降低了一定频段内的噪声。两倍率的过采样可将噪声背景降低3dB。
SFDR(无 寄生动态响应/范围)定义为FFT(快速付立叶变换)图5中,频域内输入正弦波的RMS(均方根)值与最高的杂散信号的RMS(均方根)值之比。一般以 dB为单位。对于某些要求ADC动态范围尽可能大的通信应用,SFDR尤为重要。杂散信号妨碍了ADC对于小输人信号的转换,因为失真信号可能会比有用信 号大很多。这就限制了ADC的动态范围。频域内出现一个大的杂散信号可能对SNR不会有明显影响,但会显著影响SFDR。
小结回到我们一开始的 ADC举例,假设我们将要测量直流型的信号,并且要求ADC可接受双极性输入信号。我们选择B档的MAXl241,它具有1LSB的DNL误差,1LSB 的INL误差(0.0244%),3LSB的失调误差(3/4096=0.0732%),以及4LSB的增益误差(0.0977%)。所有误差相加,我们 得到总误差为0.1953%。我们可以校正失调和增益误差,使总误差下降到0.0244%。只要参考电压误差低于0.075%- 0.024%=0051%,就不会突破我们的误差预算。5ppm/℃的温漂系数在50℃的温度范围内会产生0.025%的漂移误差,这样还剩下 0.026%的误差余量。要得到12位的性能,我们需要选用一个电压噪声指标远低于1LSB的电压基准(这相当于2.5V/4096=610μVp-p或 102μVRMS)。温度系数5ppm/℃,宽带电压噪声30μVRMS的MAX6166是一个很好的选择。它还具有充足的供出及吸纳电流的能
力,足以驱动ADC(和其它电路)。30μV噪声指标等价于180gVp-p,只有12位级别下一个LSB的三分之一,11位级别下(我们系统的实际要求)一个LSB的六分之一。
再检查一下MAXl241的增益漂移,资料显示该项指标为0.25ppm/℃,50℃温度范围内为12.5ppm,能够很好地满足我们的设计要求。
现 在,我们就得到了一个可行的方案,再也不会出现由于对规格的考虑不周而造成的性能折扣。在本例中我们没有涉及交流性能。然而,正确理解ADC的技术指标, 以及它们如何对转换器的性能产生作用,无疑将使你具备足够的知识,能够从众多产品中选择出满足你性能要求的适当ADC。