文章来源于博客园http://www.cnblogs.com/feitian629/archive/2012/11/13/2767473.html

因为小弟觉得文章甚好,所以收藏于此,望原创者见谅。如有意见,即可删除!

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

说起来都是教科书害人。几乎所有的教科书、参考书、文献选编都只关心模数器件的分辨率和速度,而忽略了器件的精度。而关系到器件精度的两个非常重要的参数就是INL值和DNL值。小弟觉得非常有必要专门写一篇贴子来普及一下模数器件
精度这个重要的概念。 
     说精度之前,首先要说分辨率。最近已经有贴子热门讨论了这个问题,结论是分辨率决不等同于精度。比如一块精度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还存许多怪脾气,难伺候。
ADC应用中被 bangzhu 发表于 2006-3-20 23:15 模拟技术 ←返回版面

总结:
(1)INL(Interger NonLinear,Linearity error)精度。理解为单值数据误差,对应该点模拟数据由于元器件及结构造成的不能精确测量产生的误差。
(2)DNL(Differential NonLinear)差分非线性值。理解为刻度间的差值,即对每个模拟数据按点量化,由于量化产生的误差。
例子:
(1)INL,精度
     比如12位ADC:假设基准Vref=4.095V,那么1LSB=Vref/2^12=0.001V。如果精度为1LSB,则它的单值测量误差0.001V*1=0.001V,比如测量结果1.000V,实际在1.000+/-0.001V范围。如果精度为8LSB,则他的单值测量误差0.001V*8=0.008V,比如测量结果1.000V,实际在1.000+/-0.008V范围

(2)DNL,差分非线性值
     比如12位ADC:假设基准Vref=4.095V,那么1LSB=Vref/2^12=0.001V。不考虑精度,即精度为0LSB。没有单值误差。如果DNL=3LSB=0.001V*3=0.003V假设A实际电压为1.001V,B实际电压为1.003V。理论上A点读数1.001V/1LSB=1001,B点读数1.003V/1LSB=1003,B-A=2,B>A,但由DNL=3LSB=0.003V,模拟数据间的量化误差有0.003V,那么B-A会在-1(2-3=-1)到+5(2+3=5)之间的某一个数。

BMT硬件之ADC(一):转换参数——INL_DNL相关推荐

  1. 硬件知识-ADC模数转换芯片

    ADC的分辨率与精度 精度"是用来描述物理量的准确程度的,而"分辨率"是用来描述刻度划分的. 分辨率与AD芯片的位数有关,而精度需要查看手册看参数. 对于ADC*:确定输 ...

  2. STM32F4系列ADC最大转换速率及操作条件(以STM32F407ZGT6为例)

    STM32F4系列ADC最大转换速率及操作条件(以STM32F407ZGT6为例) 前言 一.如何获取数据手册? 二.STM32F4系列ADC相关基础 ADC时钟 ADC采样时间 ADC分辨率 三.一 ...

  3. STM-32:ADC模数转换器—ADC单通道转换/ADC多通道转换

    目录 一.ADC 模数转换器 1.1ADC简介 1.2 逐次逼近型ADC工作原理 1.3STM32中的ADC基本结构 1.4STM32中ADC的输入通道 1.5STM32中的ADC的四种转换模式 1. ...

  4. PWM硬件触发ADC

    需要配置四个外设来实现PWM硬件触发ADC采样:eFlexPWM.ADC.XBARA.ADC_ETC eFlexPWM Enhanced Flex Pulse Width Modulator (eFl ...

  5. ad 原理图差分线_采用差分PulSAR ADC AD7982转换单端信号电路图

    电路功能与优势 许多应用都要求通过高分辨率.差分输入ADC来转换单端模拟信号,无论是双极性还是单极性信号.本直流耦合电路可将单端输入信号转换为差分信号,适合驱动PulSAR系列ADC中的18位.1 M ...

  6. 南方h5手簿求转换参数_工程之星、 gps操作、RTK求转换参数操作步骤

    二.移动站 移动站开机后,接收到基准站电台信号,STA灯和DL灯以发射间隔均匀闪烁. 工程之星操作步骤: 1. 打开工程之星,路径:我的电脑→FLASH DISK→STEUP→工程之星3.0(根据应用 ...

  7. arcpy投影(三)——定义投影、地理变换关系自定义和投影变换Project_managemen(含基准面/椭球体转换参数使用方法,arcpro/arcmap)

    arcpy投影这一个专题从文件位置.文件含义.空间参照获取.转换关系查询.投影定义.自定义转换关系.投影变换这几个角度上系统的进行了介绍,整理出了: arcpy投影(一)--prj.gtf文件定义.路 ...

  8. 南方h5手簿求转换参数_如何使用RTK手簿求坐标转换参数(四参数/七参数)

    参数计算是用于两个坐标系统之间的转换关系,GPS 接收机输出的数据是CGCS2000经纬度坐标,但是有些时候根据甲方的要求,需要转化到施工测量坐标,这个时候就需要软件进行坐标转换参数的计算和设置,而转 ...

  9. Google Earth Engine谷歌地球引擎GEE图层投影信息与参考坐标系及其空间转换参数获取

      本文主要对GEE中的投影信息与参考坐标系及其空间转换参数获取加以介绍.本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第十二篇,更多GEE文章请参考专栏:GEE学 ...

最新文章

  1. 注销凭证与自定义屏幕
  2. 千鸟弹幕机器人_千鸟熊猫TV直播弹幕机器人软件
  3. suse 内核编译安装_升级SUSE Linux内核的完整步骤!
  4. idea中Gitlab项目导入导出
  5. HTML5 Canvas中创建图像数据
  6. 去掉java文件中的注释_利用JavaParser去除java文件中的注释
  7. 为何我的苹果手机,每次打开软件都提示要登录ID帐号,而且软件打不开
  8. Ogre1.8.1 Basic Tutorial 6 - The Ogre Startup Sequence
  9. 计算机二级java邓伦单_2010年3月计算机等级考试二级Java笔试试题(文字版)
  10. paip.erlang 文本文件读写操作attilax总结
  11. PDF转CAD怎么弄?可以尝试一下这两种方法
  12. 删除后别人的微信号变成wxid_“ 微信号 ” 和 “ 微信账号 ” 分别代表什么?...
  13. java合并果子_【单调队列】合并果子
  14. Sending build context to Docker daemon 解决办法
  15. 两个自我的对话和博弈
  16. AirTag被不法分子滥用为恶意追踪工具?苹果:即将更新解决
  17. 笔记本计算机屏幕亮度暗,笔记本屏幕暗,详细教您怎么解决
  18. Matlab论文插图绘制模板第39期—阶梯图(Stairs)
  19. 月薪3500的我,是怎样把自己 “逼”成月入十万的?
  20. 艾永亮:耐克阿迪都慌了,成功逆袭的李宁,产品创新战略是什么

热门文章

  1. nginx的反向代理proxy_pass指令
  2. win10系统更新服务器太慢了,Win10升级更新速度慢的解决方法
  3. centos添加第二张网卡
  4. 163vip邮箱登录,网易邮箱如何登录?vip163邮箱怎么登陆?
  5. 安防人眼里的“区块链玩法遛狗也能赚钱”
  6. 5G工业路由器与4G无线路由器各自有何优缺点
  7. 基于tp5 微信公众号模板消息
  8. CTF-SQL注入入门题型
  9. C++~STL容器实例——三国武将阵营管理系统
  10. 杀了一个程序员祭天换来今天的正常推送:仿知乎APP源码分享