AD参数微分非线性(DNL)与积分非线性(INL)

AD参数微分非线性(DNL)与积分非线性(INL)  

关于DNL与INL

 

 微分非线性(DNL)

在理想的A/D转换器传递函数中,每一个代码都有一个相同的宽度。也就是说,从一个代码转换点到下一个代码转换点的模拟输入电压差是恒定的。微分非线性(Differential nonlinearity,DNL)指的是传递函数中任 一输出代码的宽度与1 LSb理想代码宽之间的偏差。在 补偿了增益误差和失调误差之后,通过对相邻代码转换点的位置作减法可测得DNL。正的DNL表示代码比理想代码宽长,而负的DNL表示代码比理想代码宽短。图6給出了A/D传递函数中DNL误差的示例。

 

DNL信息以两种方式提供给设计者。第一,通常给出最大正、负DNL值。第二,以图形格式给出每一个代码的DNL。DNL的图形数据能在A/D转换器的“品质”方面为设计者提供有价值的信息。例如,SAR A/D转换器采 用电容阵列和比较器来测定转换结果每一位的值。那么,个别性能不好的电容就会使图形DNL数据产生周期性波动。图7给出了DNL和数字代码关系曲线的图形示例。

每一个代码的DNL都不能小于“-1”。事实上,DNL值为“-1”的代码根本就不存在。换句话说就是没有任何模拟输入电压可以产生这样的代码。

严格地说,对于某一特定的A/D转换器,如果指定最小的DNL值为-1,那么设计人员应能从中预见到传递函数中可能会丢失一个或更多个代码。然而,规范中可能声称A/D转换器的最小DNL值为-1,并且还指明在声明的工作条件下,该转换器不会丢失代码。在这种情况下,将最小DNL值指定为-1是为了确保正确的测试防护带,况且设计人员能够遇见实际最小DNL值接近-1的器件的可能性非常小。

 

积分非线性(Integral Nonlinearity,INL)

积分非线性(Integral Nonlinearity,INL)是DNL误差累积的结果,它指的是整个传递函数与线性响应相比偏离了多少。INL有时也简称为转换器的线性度。INL规范告诉设计人员在校正系统增益误差和失调误差后转换器能够提供的最佳精度。INL可以采用两种方法来测量。

测定INL的第一种方法是端点法。采用端点法时,要测定转换器的第一个代码转换点和最后一个代码转换点的位置,并根据这两个端点推导出线性传递函数。通过计算推导出的线性传递函数的每个代码位置相对于理想值的偏差可以测得端点非线性度。

测定INL的第二种方法是最适宜法。可通过对所测传递函数的增益和失调误差进行补偿、与线性传递函数进行比较以及对总的正负偏差进行平衡来找出最适宜的响应。

图8显示了测量相同A/D转换器线性度的不同方法的比较。由传递函数可知,端点法提供的结果比较保守,所以设计者通常采用该方法来测定INL。

最大正负INL通常是在规定工作条件下定义的。此外,有时器件数据手册中会给出有关每一个代码的INL曲线图。像DNL图形数据一样,INL图形数据可用来分析A/D转换器的质量。图9给出了INL与数字代码对应关系的图形示例。

     关于精度与分辨率(这个例子是引用网上的,个人觉得比喻的很形象!)。

简单点说,“精度”是用来描述物理量的准确程度的,而“分辨率”是用来描述刻度划分的。从定义上看,这两个量应该是风马牛不相及的。(是不是有朋友感到愕然^_^)。很多卖传感器的JS就是利用这一点来糊弄人的了。简单做个比喻:有这么一把常见的塑料尺(中学生用的那种),它的量程是10厘米,上面有100个刻度,最小能读出1毫米的有效值。那么我们就说这把尺子的分辨率是1毫米,或者量程的1%;而它的实际精度就不得而知了(算是0.1毫米吧)。当我们用火来烤一下它,并且把它拉长一段,然后再考察一下它。我们不难发现,它还有有100个刻度,它的“分辨率”还是1毫米,跟原来一样!然而,您还会认为它的精度还是原来的0.1毫米么?

我们考察一个常用的数字温度传感器:AD7416。供应商只是大肆宣扬它有10位的AD,分辨率是1/1024。那么,很多人就会这么欣喜:哇塞,如果测量温度0-100摄氏度,100/1024……约等于0.098摄氏度!这么高的精度,足够用了。但是我们去浏览一下AD7416的数据手册,居然发现里面赫然写着:测量精度0.25摄氏度!所以说分辨率跟精度完全是两回事,在这个温度传感器里,只要你愿意,你甚至可以用一个14位的AD,获得1/16384的分辨率,但是测量值的精度还是0.25摄氏度^_^

所以很多朋友一谈到精度,马上就和分辨率联系起来了,包括有些项目负责人,只会在那里说:这个系统精度要求很高啊,你们AD的位数至少要多少多少啊……

其实,仔细浏览一下AD的数据手册,会发现跟精度有关的有两个很重要的指标:DNL和INL。似乎知道这两个指标的朋友并不多,所以在这里很有必要解释一下。

DNL:Differencial NonLiner——微分非线性度

INL:Interger NonLiner——积分非线性度(精度主要用这个值来表示)

他表示了ADC器件在所有的数值点上对应的模拟值,和真实值之间误差最大的那一点的误差值。也就是,输出数值偏离线性最大的距离。单位是LSB(即最低位所表示的量)。

当然,像有的AD如△—∑系列的AD,也用Linearity error 来表示精度。

为什么有的AD很贵,就是因为INL很低。分辨率同为12bit的两个ADC,一个INL=±3LSB,而一个做到了±1.5LSB,那么他们的价格可能相差一倍。

分辨率计算:测量电压范围/(2^AD位数-1)

From: http://blog.chinaunix.net/space.php?uid=20801941&do=blog&id=1839011

 

   说精度之前,首先要说分辨率。最近已经有贴子热门讨论了这个问题,结论是分辨率决不等同于精度。比如一块精度0.2%(或常说的准确度0.2级)的四位半万用表,测得A点电压1.0000V,B电压1.0005V,可以分辨出B比A高0.0005V,但A点电压的真实值可能在0.9980~1.0020之间不确定。

 

   那么,既然数字万用表存在着精度和分辨率两个指标,那么,对于ADC和DAC,除了分辨率以外,也存在精度的指标。

   模数器件的精度指标是用积分非线性度(Interger NonLiner)即INL值来表示。也有的器件手册用 Linearity error 来表示。他表示了ADC器件在所有的数值点上对应的模拟值,和真实值之间误差最大的那一点的误差值。也就是,输出数值偏离线性最大的距离。单位是LSB(即最低位所表示的量)。

   比如12位ADC:TLC2543,INL值为1LSB。那么,如果基准4.095V,测某电压得的转换结果是1000,那么,真实电压值可能分布在0.999~1.001V之间。对于DAC也是类似的。比DAC7512,INL值为8LSB,那么,如果基准4.095V,给定数字量1000,那么输出电压可能是0.992~1.008V之间。

 

   下面再说DNL值。理论上说,模数器件相邻量个数据之间,模拟量的差值都是一样的。就相一把疏密均匀的尺子。但实际并不如此。一把分辨率1毫米的尺子,相邻两刻度之间也不可能都是1毫米整。那么,ADC相邻两刻度之间最大的差异就叫差分非线性值(Differencial NonLiner)。DNL值如果大于1,那么这个ADC甚至不能保证是单调的,输入电压增大,在某个点数值反而会减小。这种现象在SAR(逐位比较)型ADC中很常见。

   举个例子,某12位ADC,INL=8LSB,DNL=3LSB(性能比较差),基准4.095V,测A电压读数1000,测B电压度数1200。那么,可判断B点电压比A点高197~203mV。而不是准确的200mV。对于DAC也是一样的,某DAC的DNL值3LSB。那么,如果数字量增加200,实际电压增加量可能在197~203mV之间。

 

 

   很多分辨率相同的ADC,价格却相差很多。除了速度、温度等级等原因之外,就是INL、DNL这两个值的差异了。比如AD574,贵得很,但它的INL值就能做到0.5LSB,这在SAR型ADC中已经很不容易了。换个便宜的2543吧,速度和分辨率都一样,但INL值只有1~1.5LSB,精度下降了3倍。

 

   另外,工艺和原理也决定了精度。比如SAR型ADC,由于采用了R-2R或C-2C型结构,使得高权值电阻的一点点误差,将造成末位好几位的误差。在SAR型ADC的2^n点附近,比如128、1024、2048、切换权值点阻,误差是最大的。1024值对应的电压甚至可能会比1023值对应电压要小。这就是很多SAR型器件DNL值会超过1的原因。但SAR型ADC的INL值都很小,因为权值电阻的误差不会累加。

   和SAR型器件完全相反的是阶梯电阻型模数/数模器件。比如TLC5510、DAC7512等低价模数器件。比如7512,它由4095个电阻串联而成。每个点阻都会有误差,一般电阻误差5%左右,当然不会离谱到100%,更不可能出现负数。因此这类器件的DNL值都很小,保证单调。但是,每个电阻的误差,串联后会累加,因此INL值很大,线性度差。

 

   这里要提一下双积分ADC,它的原理就能保证线性。比如ICL7135,它在40000字的量程内,能做到0.5LSB的INL值(线性度达到1/80000 !!)和0.01LSB的DNL值.这两个指标在7135的10倍价钱内,是不容易被其他模数器件超越的。所以7135这一类双积分ADC特别适合用在数字电压表等需要线性误差非常小的场合。

 

   还要特别提一下基准源。基准源是测量精度的重要保证。基准的关键指标是温飘,一般ppm/K来表示。假设某基准30ppm/K,系统在20~70度之间工作,温度跨度50度,那么,会引起基准电压30*50=1500ppm的漂移,从而带来0.15%的误差。温漂越小的基准源越贵,比30ppm/K的431,七毛钱;20ppm/K的385,1块5;10ppm/K的MC1403,4块5;1ppm/K的LM399,14元;0.5ppm/K的LM199,130元。

   该死的教科书害了一代学生。说起来好笑的一个现象:我这边新来的学生大多第一次设计ADC电路的时候,基准直接连VCC,还理直气壮的找来N本教科书,书上的基准写了个网标:+5V。天下的书互相抄,也就所有的学校的教科书都是基准接5V。教科书把5V改成5.000V多好?学生就会知道,这个5V不是VCC。或者提一下基准需要高稳定度,也好啊!  

 

   最后说一下Sigma-Delta型ADC,它比较特殊,对于精度,一般用直接用线性度表示,比如0.0015%.不说差分非线性值,而直接用有效分辨率来表示。此外,Sigma-Delta型ADC还存许多怪脾气,难伺候。我准备专门开一个贴子介绍Sigma-Delta型ADC应用中被忽略的重要问题。

http://bbs.ednchina.com/BLOG_ARTICLE_2076821.HTM

http://blog.sina.com.cn/s/blog_c545a44a0102vpt1.html

http://blog.sina.com.cn/s/blog_628dd2bc01013gl1.html

  • 40
    点赞
  • 184
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值