MAX1324是MAXIM公司生产14位,8通道,同步采样ADC转换器。可提供±10V,±5V或0至+5V模拟出入范围,可提供±16.5V的过压保护,具有优异的动态特性和直流精度。
现代测试系统和现代工业应用系统中,模数转换器(ADC)是不可或缺的元器件之一。由于ADC的广泛应用,一般数据采集系统都由传感器电路和ADC构成。但很多时候,数据采集系统所表现的性能往往低于预期值。出现这种情况,人们首先考虑的原因是传感器和信号调理电路的非线性以及被测试参数的稳定性和准确性。但实际上,ADC的性能指标也是数据采集系统性能下降的重要原因。
本文的目的是解释 A/D 转换器MAX1324最常见的误差源,并介绍进行上述误差补偿的方法。某些误差补偿的方法理解和实施起来都比较容易,而有些方法则不那么显浅易懂。如果采用方法得当的话,则可大幅提高系统整体性能。
1 系统误差性能分析
数据采集系统的误差是信号通道上的每个元器件所贡献的误差项的总和。因此总误差的均方根可由下式给出:
。其中,E 代表某个特定元器件的误差项。作为具体分析,假定数据采集系统允许0.1%的误差或者说需要l0位的精度。在这种情况下,如果采用l0位分辨率的ADC显然是不合要求的。如果采用l2位的转换器,我们可能会想当然地认为精度已经足够高, 但是在没有仔细检查其规格说明书之前,我们并不能保证该转换器就具有l2位的性能(实际情况可能更好或者更糟)。
2 ADC直流性能分析
模数转换器的直流性能包括微分非线性、积分非线性、失调和增益误差以及其它误差。模数转换器一般以LSB为单位提供各种误差。其相应关系可以表示为:ERR=LSB/2n
其中,n为模数转换器的转换位数,LSB为以LSB为单位的最大误差,ERR为以百分号为单位的误差。
2.1 微分非线性
微分非线性(DNL)误差揭示的是一个输出码与其相邻码之间的间隔。这个间隔通过测量输入电压的幅度变化,然后转换成以LSB为单位后得到。当输入电压扫过ADC的工作范围时,所有输出码组合(全“0”到全“1”)会依次出现在转换器的输出端。这种关系称作“无丢码”。但实际上由于器件的微分非线性,常常出现以下几种情况。当DNL误差小于±1LSB时,不会出现丢码的现象,当DNL误差等于±1LSB时,生产厂商会特别声明是否丢码(如图1,1LSB无丢码,图2,-1LSB丢10码);当DNL误差大于±1LSB时有丢码(如图3当 时,可能为01,l0,ll码)。微分非线性(DNL)误差与丢码之间的关系如表1:
表1 误差与丢码之间的关系
而MAX1324的DNL误差为±1LSB,声明为无丢码,所以具有14位精度。
在一定条件下可以允许丢码的存在。因为一般说来,同系列产品在性能条件不同时价格相差较大,在满足性能要求的前提下,选购低等级的ADC将大幅度节省元件成本,同时又满足系统要求。
2.2 积分非线性
积分非线性(INL)定义为微分非线性(DNL)误差的积分。在实际分析ADC精度时,一般采用INL误差。INL误差定义为转换器测量结果与理想转换函数的差。其相应关系可以表示为:
ERR=LSB/2n
积分非线性(INL) 误差各种表示之间的关系如表2:
表2 积分非线性(INL)误差各种表示之间的关系
而MAX1324的INL误差为±1.5LSB,声明为无丢码(14位精度),则它的分辨率误差是:ERR=LSB/2 =1.5/2 =0.0091552% 。
2.3 失调和增益误差
失调误差也称为零漂,是指系统在0V输入电压时或其附近时ADC产生的漂移。对于失调误差的修正,可以比较容易利用微控制器(μC)或数字信号处理器(DSP)进行修正。
我们以MAX1324为例说明失调误差与输入电压的关系。MAX1324的失调误差为±3LSB,相当于±0.9155mV的输入电压误差(以5V为基准作参考电压),在进行失调误差修正时必须于扣除3个码以补偿失调电压,而在失调误差为+3LSB时满量程电压值就变成了4.0845V,超过上述电压值就会产生溢出现象;在失调误差为-3LSB时,假设对于单极性输入,在0~0.9155mV之间,输出均为零,直到0.9155mV时才出现第一次跳变,这同样使ADC动态范围变小了。
公式进行修正: ,其中m1为理想转换函数的斜率,m2为实例转换函数的斜率。可以使用调试的方法对增益误差进行修正,将参考电压和输入模拟电压进行联动调试,当参考电压为某一特定值时可以使满量程输出全“l”,从而达到修正增益误差的效果;也可在软件中采用一个线性校正曲线改变ADC 转换函数的斜率。
总之, 对于失调误差和增益误差可以通过软件实现误差正的修。
2.4 基准
无论是内部基准或者外部基准,它都是ADC的一个最大的潜在误差源。在很多情况下内置于芯片内部的基准源都没有严格的规格,而外部基准往往需要精密电源,与基准有关的误差源包括温漂、电压噪声以及负载调整等。
在实用的ADC系统中,还有一些误差源, 如码源噪声、失调温漂、增益漂移, 它们在某种条件下,可能会对系统精度产生影响,但只要采用适当的手段就可以使相应误差最小,进而不会影响系统精度。
3 交流特性
在实际数据采集系统中,很多情况下输入模拟信号是交流信号。仅有DNL和INL符合系统要求并不能说明ADC能同样合格地处理交流信号。因为DNL和INL是在直流条件下测试的。ADC系统中的交流信号指标差要有信一噪比(SNR)、信号--噪声+失真比(SINAD)、总谐波失真(THD)以及无杂散动态范围(SFDR):
信一噪比(SNR):是以分贝表示的比率,它是输入信号的有效值与所有频率小于采样频率一半的其他频谱成份(不包括谐波或直流信号)的总有效值之比。
信号--噪声加+失真比(SINAD):是以分贝表示的输出端出现的输入信号有效值与输出信号当中频率小于采样频率一半的所有其他频谱成份的有效值之比。
总谐波失真(THD): 是以分贝表示的输出信号的头几个谐波成份的有效值之和与输出端出现的输入信号的幅度之比。测量中仅包括奈奎斯特频限内的谐波,典型值以分贝表示。
无杂散动态范围(SFDR): 正弦波f(IN) 的RMS值与在频域观察到的杂散信号的RMS值之比,典型值以分贝表示。在ADC系统中,SINAD比SNR更准确描述被测信号与杂散信号的关系,大多数ADC列出SINAD而不采用SNR。对于一个理想的ADC:
SINAD≈(6.02×N+1.76)dB
其中N为转换器的位数。所以理想的14为转换器的SINAD为86.04dB。而对上式进行变换可得:
N=(SINAD-1.76)/6.02
这个方程式为等效位数的定义,即ENOB(Effective Number of Bits)。
在实际应用时我们关注SINAD为最小值时的等效位数,该位数是信号频率逐渐逼近Nyquist上限时,SINAD因THD的增加而达到的极限值。以MAX1324为例,其极限值为70dB,等效位数为14位,即有0.7LSB的误差或0.017的精度。
4 应用分析
假设我们的系统允许0.1%的误差,且ADC允许0.075%的误差,并且假设我们需要测试的直流信号。如果我们选用MAX1324,其具有±1LSB的DNL误差,±1.5LSB的INL误差(0.0366%),±3LSB的失调误差(0.0732%),±4LSB的增益误差(0.0977%),5ppm/℃的温漂系数,在50℃的范围内产生0.025%的误差,共计0.0616%的误差。还有0.0134%的误差供基准电压源使用,该误差允许存在67μV的峰-峰值电压噪声(5V基准电压),若考虑负载(ADC)电流对基准的影响,其电压噪声会略小。在这种情况下,基准电压源可以满足上述条件,而且也有比较多的选择余地。
以上例子我们没有讨论交流性能。若在实际数据采集系统中交流信号是被测信号,还必须考虑交流信号的误差,并作进一步的分析。
5 结束语
一个性能良好的数据采集系统不仅仅是设计原理的优化及其实现方法,系统的误差分析是设计成本和性能指标的必要前提条件。只有充分考虑系统各部分的误差才能使系统更好地满足设计性能要求。