1 了解ADC积分非线性(INL)误差-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解ADC积分非线性(INL)误差

海阔天空的专栏 来源:Harry Trietley 作者:Harry Trietley 2023-01-27 10:42 次阅读

了解积分非线性 (INL) 规范及其与模数转换器ADC) 误差的关系。

失调误差、增益误差和INL这三个参数决定了ADC的精度。失调和增益误差可以校准出来,这使得INL成为主要的误差贡献者。INL规范描述了实际传递函数的过渡点与理想值的偏差。

什么是积分非线性 (INL)?

理想的ADC具有均匀的阶梯输入-输出特性,这意味着每次转换发生在与上一个转换相距1 LSB(最低有效位)处。但是,对于实际ADC,步骤并不统一。例如,考虑图1所示的传递曲线。

pYYBAGO9h4SAQhaxAAByw4C17vo721.jpg

图1. ADC的传输曲线示例。

步宽与理想值的偏差由微分非线性(DNL)规范表征。然而,DNL误差不能完全描述传递函数与理想响应的偏差,因为我们获得的响应取决于DNL正负误差在不同代码中的分布方式。INL 规范允许我们表征代码转换与其理想值的偏差。要计算代码 k 的 INL,我们可以使用以下等式:

poYBAGO9hU6Ad5JmAAAYnHnYdaw328.png

其中 T一个(k)和T理想(k) 分别表示从代码 k-1 到 k 的实际和理想过渡;“理想步长”是ADC的LSB。对于上述示例,从代码 1 (001) 到代码 2 (010) 的实际转换发生在理想转换上方 0.125 LSB 处。因此,代码 2 的 INL 是 INL(2) = +0.125 LSB。

从这里开始,我们可能会问,下一个转换(从代码 2 到 3)呢?请注意,从代码 1 到 2 的转换发生在理想值以上 0.125 LSB 处,并考虑到代码 2 的宽度误差(或 DNL)为 +0.25 LSB,我们可以推断从代码 2 到 3 的转换应该发生在理想值以上 0.375 LSB 处。因此,我们有 INL(3) = +0.375 LSB。如您所见,代码 3 的 INL 等于代码 1 和 2 的 DNL 之和:

pYYBAGO9hWmAUAQMAAAeiRBpBMw575.png

将上述分析扩展到其他代码,很容易通过应用以下等式来验证第 m 个代码的 INL:

poYBAGO9hX6AGF-LAAANi3da934350.png

INL 表示 DNL 错误的累积影响。在计算DNL和INL值时,我们假设ADC的失调和增益误差已经校准出来。因此,第一个代码(代码 1)和最后一个代码的 INL 为零。对于代码零,未定义 INL。

表示 ADC INL 信息

就像 DNL 一样,我们可以将 INL 信息表示为 INL 相对于代码值的图。对于上面的示例,我们得到如图 2 所示的下图。

poYBAGO9h4WAFXdFAAA-k8SFncc267.jpg

图2. 显示 INL 相对于代码值的示例图。

INL 通常也表示为所有代码的最小值和最大值。我们假设的ADC的INL介于-0.71 LSB和+0.5 LSB之间。INL图不仅表示ADC的线性度性能,而且还揭示了有关ADC内部架构的一些信息。例如,子范围ADC具有三角形INL图(图3(a)),而闪存ADC通常具有随机模式(图3(b))。

poYBAGO9h4iAE4zlAABUYAVGZM8873.jpg

图3.子范围ADC三角形INL图(a)和闪存ADC的随机模式图(b)示例。图片由 M. Pelgrom 提供

INL:超出ADC量化误差的误差

需要注意的是,INL除了指定ADC的量化误差外,还指定了一个误差。由于ADC将连续vwin 输入范围转换为多个离散输出代码,因此即使是理想的ADC也会固有地会在系统中引入一些误差,称为量化误差。如果我们将斜率为1的斜坡输入施加到ADC,则可以从输入中减去输出代码的模拟等效值,以找到量化误差。如图 4 所示。

pYYBAGO9h4qAcnuWAABPBme0nG0914.jpg

图4. 显示量化误差的示例图。

在图4中,绿色曲线表示斜坡输入,蓝色阶跃表示理想ADC产生的代码的模拟等效值。然而,图4中的下图显示了锯齿形状的量化误差。让我们看看非线性如何影响误差项。如果将斜坡输入应用于图1中的非理想特性曲线,则得到以下误差波形(图5)。

poYBAGO9h4yAKP3mAABY0yDHFJ4588.jpg

图5. 示例图显示了ADC输出代码的模拟等效值以及理想变换(a)和误差波形(b)。

图5(a)中的紫色阶跃表示ADC输出代码的模拟等效值,蓝点表示均匀阶梯响应的理想过渡点。例如,考虑从代码 1 到代码 2 的转换。如果这种转换发生在理想点(A点),则代码1的最负误差将是-0.5 LSB。由于 INL(2)=+0.125 LSB,因此从代码 1 到代码 2 的实际转换发生在高于理想值的 +0.125 LSB 处。由于这种延迟转换,绿色曲线与ADC输出之间的差值在转换点(B点)大于0.5 LSB。通过检查该图,您可以确认 B 点的误差由下式给出:

poYBAGO9hZ-ACzgGAAATjjte83Y506.png

请注意,虽然这种非理想效应将代码 1 的误差扩展到 -0.625 LSB,但它将下一个代码(代码 2)的误差上限降低到 0.5 LSB - 0.125 LSB = +0.375 LSB。您可以在 D 点看到由 INL(3) = +0.375 LSB 引起的误差波形的类似变化。

让我们检查代码 6,看看负 INL 如何影响错误 (INL(6 )= -0.71 LSB)。在这种情况下,(F点)处的实际跃迁发生在理想值(E点)以下0.71 LSB处。由于ADC输出增量早于预期值,因此会产生较大的正误差。如错误图所示,代码 6 的误差可以大到:

pYYBAGO9hbGARzgPAAATP5nYCuo596.png

使用理想ADC时,量化过程会产生±0.5 LSB的误差。然而,对于实际的ADC,量化过程和INL都会影响系统的整体误差。换句话说,INL是超出量化误差的误差。

到目前为止,我们考虑的INL定义可能是该规范中最有用和最常见的定义。但是,应该注意的是,ADC制造商的教科书和技术文档中有时会提到其他一些定义。为了避免任何混淆,我们将在本文的其余部分查看INL的其他常见定义。

重新定义INL代码:不同但相同的定义

在我们继续其他定义之前,值得一提的是,人们可以用稍微不同的方式查看图 1 中使用的定义。与其将 INL 定义为代码转换与其理想值的偏差,我们可以将其定义为代码转换与经历第一个和最后一个代码转换的直线的偏差。如图 6 所示。

poYBAGO9h42ARobWAABZK-k4YKI656.jpg

图6. 显示代码在实际响应和理想响应之间的偏差的图。

在图 6 中,点 A 和 B 是第一个和最后一个转换点。由于我们假设在INL计算之前失调和增益误差为零,因此A点和B点对应于理想和实际传递函数。如您所见,穿过点 A 和 B 的线也穿过理想特性的所有其他过渡点(图中的蓝色曲线)。因此,实际过渡点与其相应理想过渡点的偏差等于该实际过渡点与穿过点 A 和 B 的直线的偏差。一些参考文献,如《高速模数转换》一书,使用此直线来定义ADC INL。另请注意,此参考线与之前文章中介绍的ADC线性模型(图中的绿线)不同。

定义 INL - 代码中心行定义

对于这种类型的定义,ADC传输特性是根据穿过ADC代码中心的直线定义的。图 7 显示了如何使用代码中心线定义 INL。

pYYBAGO9h46AFcuaAABWpzEcU6A690.jpg

图7.使用代码中心线定义 INL。图片由 R. Plassche 提供

在上面的示例中,对角线是穿过理想ADC阶跃中点的线(我们在本系列的文章中称之为ADC的线性模型)。如图所示,实际步长中点与直线的偏差被视为该代码的INL误差。

此示例显示了此定义的一个缺点。如您所见,代码 1101 的相邻转换偏离了理想值。但是,由于 1101 的测量代码中心与理想值一致,因此该代码的 INL 为零。使用图 1 中使用的定义,代码 1101 的 INL 将不为零。

作为旁注,上面的图片取自Rudy van de Plassche的书。Rudy是世界著名的模拟设计师和许多电路和电路创意的发明者,例如斩波和稳定放大器,这些电路和电路理念在今天被广泛使用。

另一个基于代码中心的定义如图 8 所示。

poYBAGO9h5CAAHb-AAAzxlW3oK8408.jpg

图8.显示代码中心行定义的示例图。图片由M. Demler提供

在这种情况下,用于计算INL误差的参考线是穿过实际传递函数的第一个和最后一个步骤的中点的线。对于三位ADC,这是穿过代码001和110中点的线路。实际步长的中点与这条直线的偏差被认为是该代码的INL误差。

在这个特定的例子中,ADC传递函数具有交替的宽窄代码,从第一个和最后一个代码获得的参考线截获所有代码的中点。因此,所有代码的 INL 错误均为零。这再次凸显了基于代码中心的定义在某些情况下无法描述传递函数的非线性的缺点。

本文中讨论的 INL 定义被归类为基于端点的定义,因为它们仅使用第一个和最后一个代码来派生参考线。定义 INL 误差的另一种方法是最佳拟合方法。在这种情况下,使用一条适合所有代码的直线作为参考线。本系列的下一篇文章将详细研究最佳拟合方法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    98

    文章

    6495

    浏览量

    544446
  • INL
    INL
    +关注

    关注

    0

    文章

    7

    浏览量

    7526
收藏 人收藏

    评论

    相关推荐

    非线性负载分为哪些类型

    非线性负载是指其电流波形与电压波形不成线性关系的负载,这类负载在电力系统中较为常见,会对电网产生一系列不良影响。根据不同的分类标准,非线性负载可以分为以下几种类型: 一、按负载性质分 电阻性
    发表于 12-18 15:18

    采用什么方法可以消除ADC,DAC的偏置误差与增益误差

    采用什么方法可以消除ADC,DAC的偏置误差与增益误差,希望能够得到具体方案?有什么办法减小ADC、DAC的DNL和INL吗?
    发表于 12-18 07:41

    DAC8531手册上有线性误差非线性误差,这两个是怎么定义的,区别又是什么呢?

    看到DAC8531手册上有线性误差非线性误差,请教一下,这两个是怎么定义的,区别又是什么呢?谢谢
    发表于 11-22 08:53

    非线性光耦与线性光耦的差别

    非线性光耦与线性光耦的不同 在电路中光耦的电路非常常见,光耦在电路中的作用是进行隔离并对光电进行转换,光耦的种类当中,包括线性光耦与非线性光耦。虽然都是光耦,但是这两种光耦的区别在哪?
    的头像 发表于 11-16 10:28 319次阅读

    PGA309的非线性曲线是如何产生的?

    类似PGA309的信号调节器,我公司约500万片的需求,对PGA309不是很了解,有些问题要请教 PGA309的非线性曲线是如何产生的? EEROM表中数据是如何写进去的? PGA309DK能做些什么事? 有无批量自动校准的方法?
    发表于 09-23 06:48

    什么是无杂散动态范围 (SFDR)?为什么 SFDR 很重要?

    的静态(或直流)非线性。静态非线性的特征是ADC 传递函数中的DNL(微分非线性)和INL积分
    发表于 09-11 15:48

    INA301的datasheet电特性表中的“Nonlinearity error”非线性误差是如何定义的?

    想知道INA301的datasheet中的电特性表里面的”Nonlinearity error”(非线性误差)的定义是什么,以及此指标在实际应用中的意义,设计时需要考虑哪些因素。
    发表于 08-02 11:11

    如何降低输入引起的稳态误差

    的来源 稳态误差的来源主要包括以下几个方面: 2.1 系统本身的非线性特性 许多实际系统都存在非线性特性,这些非线性特性会导致系统在输入信号作用下产生稳态
    的头像 发表于 07-29 10:50 487次阅读

    非线性电路的基本特点是什么

    非线性电路是一类具有非线性特性的电路,其输出与输入之间的关系不是线性的。非线性电路在电子技术、通信技术、自动控制等领域有着广泛的应用。本文将详细分析
    的头像 发表于 07-09 11:15 1137次阅读

    非线性电路具有什么作用

    非线性电路在电子工程和电气工程领域中扮演着非常重要的角色。它们在许多应用中发挥着关键作用,包括信号处理、放大、调制、解调、滤波、振荡器、传感器、执行器等。 非线性电路概述 非线性电路是指那些其输出
    的头像 发表于 07-09 10:41 746次阅读

    减小交流电桥的非线性误差有哪些方法?

    交流电桥的非线性误差可能来源于多个方面,包括元件的非线性特性、测量方法、电路设计以及外部环境因素。
    的头像 发表于 05-15 17:59 2108次阅读

    CYT2B9使用没有偏移和增益调整的ADCADC误差会出现A_TEB (+/-12LSB) 吗?

    你好,我有关于 ADC 的问题。 CYT2B9 数据表提到 ADC 的总误差规格如下: 1、总误差是什么意思? 总误差是否意味着量化
    发表于 01-22 06:21

    adc采集波形出现失真的根本原因

    。 一、非线性失真 非线性失真是ADC采集波形失真的主要原因之一。非线性失真是指ADC在转换模拟信号为数字信号时产生的
    的头像 发表于 01-09 10:48 3190次阅读

    磁编码器芯片常见参数INL和DNL的区别

    INL:学名“积分线性误差值”,英文名“Interger NonLinear”通俗点“精度”,再白话点“整体误差值”。DNL清晰于单挑 一对一的误差
    的头像 发表于 01-07 20:44 2015次阅读
    磁编码器芯片常见参数<b class='flag-5'>INL</b>和DNL的区别

    ADXL313如何针对加速计的非线性度(Non-linearity)进行校正?

    , 0.707*1024(full scale) = 724, 我的加速计输出为720而非724,asin(720/1024) = 44.67, asin(724/1024) = 44.99,误差了0.32度,是否可以透过某种方式对许多角度的非线性度进行校正呢?@
    发表于 12-29 07:25