模数转换器基础知识:ADC误差如何影响系统性能

描述

许多设计工程师会遇到ADC规格中的细微之处,这些细微之处通常会导致系统性能低于预期。本文介绍如何根据系统要求选择ADC,并介绍进行ADC测量时的各种误差源。

使用 12 位分辨率模数转换器 (ADC) 并不一定意味着您的系统将具有 12 位精度。有时,令工程师惊讶和惊愕的是,数据采集系统的性能将远低于预期。当在初始原型运行后发现这一点时,随之而来的是对更高性能ADC的疯狂争夺,随着预生产构建的截止日期的临近,许多时间都需要重新修改设计。发生了什么事?与最初的分析相比有什么变化?对ADC规格的透彻了解将揭示通常导致性能低于预期性能的细微之处。了解ADC规格还有助于您为您的应用选择合适的ADC。

我们首先确定整体系统性能要求。系统中的每个组件都有一个关联的错误;目标是将总误差保持在某个限制以下。通常,ADC是信号路径中的关键元件,因此我们必须谨慎选择合适的器件。对于ADC,在开始评估整体系统性能之前,假设转换速率、接口、电源、功耗、输入范围和通道数要求是可以接受的。ADC的精度取决于几个关键指标,包括积分非线性误差(INL)、失调和增益误差、基准电压源精度、温度效应和交流性能。通常明智的做法是通过查看直流性能来开始ADC分析,因为ADC使用过多的非标准化测试条件来衡量交流性能,从而更容易比较两个基于直流规格的IC。直流性能一般会优于交流性能。

系统要求

确定整体系统错误的两种常用方法是和方根 (RSS) 方法和最坏情况方法。使用 RSS 方法时,误差项单独平方,然后相加,然后取平方根。RSS 错误预算由下式给出:

模数转换器

其中 EN表示特定电路元件或参数的术语。当所有错误项不相关时(可能是也可能不是这种情况),此方法最准确。对于最坏情况下的错误分析,所有错误项都会相加。此方法保证错误永远不会超过指定的限制。由于它设置了错误严重程度的限制,因此实际误差始终小于此值(通常要少得多)。

测量误差通常介于两种方法给出的值之间,但通常更接近RSS值。请注意,根据误差预算,可以使用误差项的典型或最坏情况值。该决定基于许多因素,包括测量值的标准偏差、该特定参数的重要性、误差相对于其他误差的大小等。所以真的没有必须遵守的硬性规定。对于我们的分析,我们将使用最坏情况的方法。

在这个例子中,假设我们需要 0.1% 或 10 位的精度(1/210),因此选择分辨率高于此分辨率的转换器是有意义的。如果我们选择一个 12 位转换器,我们可以假设它就足够了;但是如果不检查规范,就不能保证 12 位性能(可能更好或更差)。例如,具有12LSB积分非线性误差的4位ADC最多只能提供10位精度(假设失调和增益误差已校准)。具有0.5LSB的INL器件可以提供0.0122%的误差或13位的精度(去除增益和失调误差)。要计算最佳情况下的精度,请将最大 INL 误差除以 2N,其中 N 是位数。在我们的示例中,允许ADC的误差为0.075%(或11位),其余电路的误差为0.025%,其中包括来自传感器、相关前端信号调理电路(运算放大器、多路复用器等)以及信号路径中可能的数模转换器(DAC)、PWM信号或其他模拟输出信号的误差。

我们假设整个系统将有一个基于信号路径中每个电路组件的误差项总和的总误差预算。我们将做出的其他假设是,我们正在测量具有1kHz带宽的缓慢变化,直流型双极性输入信号,并且我们的工作温度范围为0°C至70°C,性能保证为0°C至50°C。

直流性能

微分非线性

虽然没有提到差分非线性(DNL)误差作为ADC的关键参数,但首先要观察的是。DNL 显示代码与相邻代码的距离。测量距离为输入电压幅度的变化,然后转换为LSB(图1)。请注意,INL 是 DNL 错误的积分,这就是为什么 DNL 不包括在我们的关键参数列表中的原因。ADC良好性能的关键是“无失码”这一主张。这意味着,当输入电压被扫描到其范围内时,所有输出代码组合都将出现在转换器输出端。<±1LSB的DNL错误保证没有丢失代码(图1a)。在图1b、1c和1d中,显示了三个DNL误差值。DNL 误差为 -0.5LSB(图 1b),保证器件没有失码。当值等于-1LSB(图1c)时,不一定保证器件没有失码。请注意,缺少代码 10。但是,大多数指定最大DNL误差为+/-1的ADC会明确说明器件是否有缺失代码。由于生产测试限值实际上比数据手册限值更严格,因此通常可以保证没有漏码。DNL 值大于 -1(图 1d 中的 -5.1LSB)时,设备缺少代码。

模数转换器

图 1a. DNL 错误:没有丢失代码。

 

模数转换器

图 1c. DNL 错误:缺少代码 10。

模数转换器

图 1d. DNL 错误:在在*数字代码可以是三个可能的值之一。当输入电压被扫描时,代码10将丢失。

当DNL误差值偏移(即-1LSB、+2LSB)时,ADC传递函数会发生变化。理论上,偏移 DNL 值仍然可以没有缺失代码。关键是将 -1LSB 作为下限。请注意,DNL是在一个方向上测量的,通常是传递函数的上升。将代码 [N] 处的转换所需的输入电压电平与代码 [N+1] 处的输入电压电平进行比较。如果相差 1LSB,则 DNL 误差为零。如果大于 1LSB,则 DNL 误差为正;如果小于 1LSB,则 DNL 误差为负数。

缺少代码并不一定是坏事。如果您只需要 13 位分辨率,并且您可以选择 DNL 规格为 < = +/-16LSB DNL(实际上是 4 位,无失码)的 14 位 ADC(实际上是 5 位,无失码)和 DNL 为 < = +/-16LSB 的 1 位 ADC(成本为 15 美元),那么购买较低档次版本的 ADC 将大大降低元件成本,同时仍能满足您的系统要求。

国际禁毒局

INL 被定义为 DNL 误差的积分,因此良好的 INL 保证了良好的 DNL。INL误差表明测量的转换器结果与理想传递函数值相差多远。继续我们的示例,2位系统中的INL误差为+/-12LSB,这意味着最大非线性误差可能偏离2/4096或0.05%(这已经是分配的ADC误差预算的三分之二左右)。因此,需要1LSB(或更好)的部件。当+/-1LSB INL误差时,精度为0.0244%,占分配的ADC误差预算的32.5%。规格为0.5LSB时,精度为0.012%,这仅占ADC误差预算限值的16%(0.012%/0.075%)左右。请注意,INL 和 DNL 误差都无法轻松校准或纠正。

失调和增益误差

失调和增益误差可以使用微控制器(μC)或数字信号处理器(DSP)轻松校准。由于失调误差,当转换器允许双极性输入信号时,测量非常简单。在双极性系统中,失调误差会移动传递函数,但不会减少可用代码的数量(图 2)。有两种方法可以将双极误差归零。首先,您移动传递函数的 x 轴和 y 轴,使负满量程点与单极系统的零点对齐(图 3a)。使用这种技术,您只需消除失调误差,然后通过围绕“新”零点旋转传递函数来调整增益误差。第二种技术需要使用迭代方法。首先对ADC输入施加零伏电压并执行转换;转换结果表示双极性零点失调误差。然后通过围绕负满量程点旋转曲线来执行增益调整(图3b)。请注意,传递函数围绕点 A 旋转,这会将零点从所需的传递函数移开。因此,可能需要后续的失调误差校准。

模数转换器

图2.双极性失调误差。

模数转换器

图 3a

模数转换器

图 3b.
图3a和3b。校准双极性失调误差。(注意:阶梯传递函数已被直线取代,因为此图显示了所有代码,并且步长非常小,以至于该线似乎是线性的。

单极系统有点棘手。如果失调为正,则使用与双极性电源相同的方法。这里的区别在于,您损失了ADC的部分范围(见图4)。如果偏移为负,则不能简单地进行转换并期望结果表示偏移误差。低于零,转换器将只显示零。因此,对于负失调误差,必须缓慢增加输入电压,以确定第一个ADC转换发生的位置。在这里,您将再次失去部分ADC范围。

模数转换器

图4.单极性偏移误差。

回到我们的示例,下面给出了失调误差的两种情况:

如果失调误差为+8mV,则采用2.5V基准时,相当于13位ADC (12mV/[8.2V/5)的误差为4096LSB。虽然分辨率仍为12位,但必须从每个转换结果中减去13个代码以补偿失调误差。请注意,在这种情况下,实际的、可测量的满量程值现在为 2.5V (4083/4096) = 2.492V。高于此值的任何值都将超出ADC的范围。因此,ADC的动态范围或输入值范围已减小。这对于更高分辨率的ADC更为重要;8mV 表示 210 位电平 (V裁判= 2.5V)。

如果失调为-8mV (假设为单极性输入),则在模拟输入超过+8mV之前,在执行转换时不会记录接近零的小模拟输入值。这也降低了ADC的动态范围。

增益误差定义为满量程误差减去失调误差(图 5)。满量程误差是在传递函数曲线上的最后一个ADC跃迁处测量的,并与理想的ADC传递函数进行比较。增益误差在具有线性函数 y = (m1/m2)(x) 的软件中很容易校正,其中 m1 是理想传递函数的斜率,m2 是测量传递函数的斜率(图 5)。

模数转换器

图5.失调、增益和满量程误差。

增益误差规格可能包括也可能不包括ADC基准电压源引起的误差。在电气规格中,重要的是要检查条件,以了解如何测试增益误差,并确定是使用内部基准还是外部基准电压源执行增益误差。通常,当使用片内基准电压源时,增益误差要差得多。如果增益误差为零,则当执行转换时,当施加满量程模拟输入时,转换结果将开始产生所有误差(在我们的3位示例中为12FFh)(见图6)。由于我们的转换器并不理想,当施加大于满量程的电压(负增益误差)或施加小于满量程的电压(正增益误差)时,转换结果中最初可能会得到所有<>。调整增益误差的两种方法是调整基准电压,使其在特定基准电压值下输出满量程,或者使用软件中的线性校正曲线来改变ADC传递函数曲线的斜率(可以使用一阶线性方程或查找表)。

模数转换器

图6.增益误差会减小动态范围。

与失调误差一样,增益误差会损失动态范围。例如,如果施加满量程输入电压,并且获得的代码是4050而不是理想的4096(对于12位转换器),则定义为负增益误差,在这种情况下,将不使用高46代码。类似地,如果在输入电压小于满量程时出现满量程代码4096,ADC的动态范围将再次减小(见图6)。请注意,对于正满量程误差,校准时间不能超过转换器在转换结果中给出所有误差的点。

处理失调和增益误差的最简单方法是找到一个值足够低的ADC,这样就不必进行校准。很容易找到失调和增益误差小于12LSB的4位ADC。

其他细微的错误源

码边噪声

代码边缘噪声是在传递函数的代码转换处出现的噪声量。数据手册中通常没有指定。即使是更高分辨率的转换器(16+位),由于LSB尺寸较小,代码边缘噪声更为普遍,通常也不会指定代码边缘噪声。有时,代码边缘噪声可能是几个LSB。 使用代码边沿的模拟输入执行的转换会导致LSB中的代码闪烁。 显著的代码边缘噪声意味着必须取平均样本才能有效地从转换器结果中消除该噪声。需要多少样品?如果代码边缘噪声为2/3LSB RMS,则相当于大约4LSB p-p。必须采集 1 个样本才能将噪声降低到 <>LSB(样本数量的平方根决定了性能的提高)。

参考资料

采用内部或外部基准电压源的ADC中最大的潜在误差源之一是基准电压。通常,如果基准电压源包含在片内,则无法充分指定。要了解基准误差的来源,必须特别了解三个规格:温度漂移、电压噪声和负载调整率。

温度漂移

温度漂移是数据手册中最容易忽略的规格。例如,请注意温度漂移如何影响基于分辨率的ADC转换器的性能(图7)。为了使12位转换器在扩展温度范围(-40°C至+85°C)内保持精度,漂移必须最大为4ppm/°C。 遗憾的是,没有ADC转换器具有这种片内基准电压源性能。如果我们放宽要求,10度的温度偏移意味着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也使用它。这些其他元件消耗的电流会影响基准电压源,这意味着随着消耗的电流增加,基准电压将下降。如果使用基准电压源的器件间歇性地打开和关闭,则结果将是上下移动的基准电压。对于0.55V基准,2.5μV/μA基准负载调整率规格意味着,如果其他器件消耗800μA电流,基准电压将变化至440μV,即.0176% (440μV/2.5V)或几乎是可用误差幅度的20%。

其他温度影响

继续讨论温度问题,通常很少关注的两个规格是失调漂移和增益漂移。这些规格通常仅作为典型数字给出,由用户确定规格是否足以满足其系统要求。失调和增益漂移值可以通过几种不同的方式进行补偿。一种方法是完全表征失调和增益漂移,并在存储器中提供一个查找表,以随着温度变化调整值。然而,这是一个繁琐的过程,因为每个ADC必须单独补偿,而且补偿过程非常耗时。第二种方法是在发生显著的温度变化时进行校准。

对于进行一次性温度校准的系统,注意漂移规格非常重要。如果校准初始偏移并且温度移动,则由于漂移项而引入误差,从而抵消校准的影响。例如,假设读数是在温度 X 下完成的。一段时间后,温度发生了10°C的变化,并进行了完全相同的测量。这两个读数可能会给出不同的结果,从而质疑系统的可重复性和可靠性。

制造商不给出最大限制是有充分理由的:这增加了成本。漂移测试需要特殊的电路板,并且必须在测试流程中添加一个额外的步骤(相当于额外的制造成本),以确保零件不超过最大漂移限制。

增益漂移是一个更大的问题,特别是对于使用内部基准测试的器件。在这种情况下,基准漂移可以包含在增益漂移参数中。对于外部基准,IC的增益漂移通常相当小,如0.8ppm/°C。 因此,+/-10度的温度变化会导致+/-8ppm的变化。请注意,12 位性能等于 244ppm (1/4096 = 0.0244% = 244ppm)。因此,我们看到一个误差,该错误仅代表 12 位级别 LSB 的一小部分。

交流性能

某些ADC仅在输入信号等于直流或接近直流时表现良好。其他器件在从直流到奈奎斯特的输入信号下表现良好。仅仅因为DNL和INL满足系统要求并不意味着转换器在考虑交流信号时将提供相同的性能。DNL 和 INL 是直流测试。我们必须查看交流规格才能对交流性能有良好的感觉。数据手册中的电气特性表和典型工作特性提供了交流性能的线索。要审查的关键规格是信噪比 (SNR)、信噪比和失真比 (SINAD)、总谐波失真 (THD) 和无杂散动态范围 (SFDR)。要审查的第一个规范是SINAD或SNR。SINAD定义为输入正弦波的RMS值与转换器噪声的RMS值(从直流到奈奎斯特频率,包括谐波[总谐波失真]成分)。谐波发生在输入频率的倍数处(见图9)。信噪比与SINAD类似,只是它不包括谐波成分。因此,信噪比应始终优于SINAD。SINAD 和 SNR 通常以 dB 表示。

模数转换器

其中 N 是位数。对于理想的12位转换器,SINAD为74dB。如果用N重写这个方程,它将揭示有多少位信息作为RMS噪声的函数:

模数转换器

此等式是有效位数或 ENOB 的定义。

模数转换器

图9.FFT图揭示了ADC的交流性能。

请注意,SINAD 是输入频率的函数。随着频率向奈奎斯特极限增加,SINAD降低。如果数据手册中的规格是在与奈奎斯特频率相比的低频下测试的,则可以打赌,在奈奎斯特频率附近,性能会差得多。在数据手册的典型工作特性中查找ENOB图。ENOB随频率而降低,主要是因为随着输入频率的增加,THD变得越来越差。例如,在目标频率下SINAD最小值为68dB时,获得的ENOB值为11。因此,由于转换器的噪声和失真性能,您丢失了1位信息。这意味着您的 12 位转换器最多只能提供 0.05% 的精度。请记住,INL 是 DC 规范;ENOB是说明交流信号非线性的规范。

SNR是去除失真分量的信噪比。SNR揭示了转换器的本底噪声位置。作为输入频率的函数,SNR可能会急剧下降,这意味着转换器不是为接近该点的频率而设计的。提高SNR的一种方法是过采样,这提供了处理增益。过采样是一种通过以远高于目标信号的速率采样来降低转换器本底噪声的方法。这样可以在频域中将噪声分散到更宽的范围内,从而有效地降低任何一个频率bin处的噪声。2倍过采样可将本底噪声降低3dB。

SFDR定义为输入正弦波的RMS值与使用FFT图在频域中观察到的最大杂散的RMS值之比。它通常以dB表示。SFDR在某些需要最大化ADC动态范围的通信应用中非常重要。杂散会阻止ADC转换小输入信号,因为失真分量可能比目标信号大得多。这限制了ADC的动态范围。请注意,频域中的大杂散可能不会显著影响SNR,但会显著影响SFDR。

结语

回到ADC示例,假设我们正在测量直流型信号,并且我们的ADC接受双极性输入信号。我们选择MAX1241的B级,其具有1LSB DNL误差、1LSB INL误差(0.0244%)、3LSB失调误差(3/4096 = 0.0732%)和4LSB (0.0977%)增益。将误差相加,我们得到的总误差为 0.1953%。我们可以校准失调和增益误差,将误差降至0.0244%。只要我们的基准电压误差小于0.075% - 0.024% = 0.051%,我们就在误差预算范围内。5ppm/°C漂移超过50度相当于0.025%的漂移误差,剩余0.026%的误差预算。对于12位性能,我们需要一个电压-噪声规格远小于1LSB(2.5V/4096 = 610μV峰峰值或102μV RMS)的基准电压源。MAX6166是具有5ppm/°C漂移和30μV RMS宽带电压噪声的理想选择。它还具有充足的拉电流和灌电流能力,以驱动ADC(如果需要,还可以使用其他电路)。请注意,30μV噪声规格相当于180μV峰峰值,在12位电平时为LSB的三分之一,在11位电平下为LSB的六分之一(这是我们的系统要求)。

快速检查MAX1241增益漂移,发现在0°C温度变化时,其规格为25.12ppm/°C或5.50ppm,完全符合规格。

现在我们有一个可行的解决方案,可以防止由于规范而导致的任何隐藏的性能问题。请注意,对于此示例,我们根本没有解决 AC 性能问题。但是,随着您对ADC规格及其与转换器性能的关系有了更好的了解,您将掌握足够的信息来选择能够为您提供所需性能的ADC。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分