大家在使用ADC的时候,往往最关注位数,而对ADC的线性度往往会忽略。

其实这个线性度也是ADC非常重要的指标,ADC(或DAC,其实ADC也是由DAC组成的)线性度指标有两个:

INL:翻译过来叫“积分非线性”,指的是ADC整体的非线性程度。

DNL:翻译过来叫“微分非线性”,指的是ADC局部(细节)的非线性程度。

我们通常讲的“线性度”都是指“积分非线性”,积分非线性一般以百分比给出,或者以位数给出。举个例子:AD7705(16位)的datasheet上说有0.003%的非线性。1LSB为1/65535=0.0015%,所以也可说AD7705有2LSB的非线性。“微分非线性”不常用, AD7705的datasheet上说:“16位无失码”,那就是说明它的微分非线性小于1LSB。

再举个例子:有一把10厘米的尺子,分度为1mm(分辨率,相当于ADC的1LSB),那总共有100小格(满量程为100LSB,7位ADC都不到)。

“微分非线性”指的是,每一小格长度和理想的一小格长度(定为1mm)之间的误差。就是说这把尺子有疏有密,假设这把尺子有些小格的长度分别为: 0.8mm, 0.9mm,1.0mm,1.1mm,1.3mm。那么 1.3mm的小格对应的“微分非线性”为:1.3mm–1mm = 0.3mm,0.8mm的小格对应的“微分非线性”为0.8mm–1mm = -0.2mm,取绝对值就是0.2mm。取最大的误差值0.3mm(也就是0.3LSB)定义为这把尺子的“微分非线性”。

“积分非线性”是微分非线性误差的积累,是某一长段区间(有可能在3cm处,也有可能在5cm处有最大误差)和真实长度的误差。“积分”就是对一段区间内的“微分”求代数和嘛(离散域)。

好的微分非线性并不能保证有一个好的积分非线性,因为假如微分非线性的误差很小,但都是正的,那积分非线性就会很大(假如尺子有100小格,每一小格的的微分非线性误差累加起来就很大)。但是好的积分非线性可以保证有一个好的微分非线性。

有些人会问,假如有一把尺子的每一小格都是0.9mm,这时INL和DNL为多少?这时候格子的疏密是均匀的,DNL为0mm,INL也为0%,也就是线性度非常理想(我这里把理想一小格长度定为0.9mm)。但是这样的尺子是不准确的,我们说这把尺子有一个增益误差(这里就是0.9倍)。就是说你用这把尺寸量到一个物体长度读数为10CM,需要再乘上0.9这个系数,物体的真实尺寸为10CM*0.9=9CM。我们使用一些ADC时,常常要做增益校准,做的就是这个事(用一个标准的信号源,把这个0.9的系数给算出来,存到单片机或者E2PROM里面)。

说到这里大家对ADC线性度概念应该可以明白一些了,但是如何把一个ADC芯片的线性度测量出来,那可不是容易的事。特别是高位数的ADC,比如16位,笨一点的办法,就是测65536个点,计算得到积分非线性,如果是24位的ADC,估计一两年之内都测不完。

最新文章

  1. T-SQL备忘-表连接更新
  2. asp.net MVC动态路由
  3. Android -- 简单的图片浏览器
  4. DELL R720系统内存指南
  5. vc++编译libtiff4.0.4
  6. WCF+EntityFramework+mysql总结
  7. POJ 3468 A Simple Problem with Integers(线段树)
  8. Java 数据结构之ArrayList
  9. String和bytes的编码转换
  10. 手把手教你在Windows端搭建Redmine项目管理软件
  11. php 中 return exit break contiue 详解
  12. asp.net学习之ado.net(无连接模式中的DataAdapter)
  13. 关于P,NP,NPC和NP-hard的通俗解释
  14. Java集合的区别和选择
  15. Apache 443端口占用解决方法
  16. js中时间戳与日期格式的相互转换
  17. tensorflow笔记4:函数:tf.assign()、tf.assign_add()、tf.identity()、tf.control_dependencies()
  18. BZOJ5334 [TJOI2018] 数学计算 【线段树分治】
  19. Centos7 开放80,3306端口解决办法
  20. iOS.C

热门文章

  1. java分享第十三天(fastjson生成和解析json数据,序列化和反序列化数据)
  2. HDU3371 最小生成树
  3. bzoj1745: [Usaco2005 oct]Flying Right 飞行航班(贪心+map)
  4. Linux中syntax error near unexpected token 错误提示解决方法
  5. 《Linux内核设计与实现》读书笔记 第五章 系统调用
  6. 对接第三方支付接口-获取http中的返回参数
  7. REACT day 1
  8. iOS圆饼图和圆环的绘制,并且添加引线
  9. IntelliJ Idea 常用快捷键列表
  10. SQL Server 2014 Backup Encryption