AD精度与分辨率

AD 精度与分辨率 最近做了一块板子,当然考虑到元器件的选型了,由于指标中要求精度比较高,所以对于AD 的选型很慎重。

很多人对于精度和分辨率的概念不清楚,这里我做一下总结,希望大家不要混淆。

我们搞电子开发的,经常跟“精度”与“分辨率”打交道,这个问题不是三言两语能搞得清楚的,在这里只作抛砖引玉了。

简单点说,“精度”是用来描述物理量的准确程度的,而“分辨率”是用来描述刻度划分的。从定义上看,这两个量应该是风马牛不相及的。(是不是有朋友感到愕然^_^)。很多卖传感器的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) ;

使用飞思卡尔MC9S08LL8的经验二:A/D精度及校准的问题 (原创)

[ 2010-9-25 2:06:00 | By: 飞翔 ]

A/D采样在硬件方面需要考虑数字地和模拟地分开,参考电源LC 滤波等。软件方面可以考虑滑动滤波等滤波技术,滤除电压瞬间的突变。在硬件设计合理的情况下,采样误差的主要因素是参考电压(温度因素我目前没有考虑)的准确性,而目前的线性稳压片或者LDO 普遍的精度在±2%,±3%左右,也就是说稳压输出的电压越高,误差也就越大;电压越小,误差也越小。这样的话,如果用普通的稳压片给A/D做参考,则需要一个校准的问题,或者在电路上A/D的参考电源用一个精准电源,而这样的话势必增加成本。所以如果单片机片内有一个低压的参考电压,将会省去校准的过程,通过软件处理即可完成。以12bit 为例,假设A/D外部参考电压是Vref ,片内的参考电压是Viref = 1.17V (LL8内部参考),通过采集片内参考电压通道所得到的12bit ,设为CODEref ,可以倒推出Vref , 由公式:

推出: (CODEref 为已知)

如果我们采集某个通道的电压Vin ,其12bit 码设为CODEin ,则有:

(1.1) 由式1.1可知,某个通道的电压和外部参考电压Vref 没有直接的关系了,只和C ODEref 有关。因此,A/D的采样误差只和片内参考电压的精度有关了。我们可以认为在某一时刻,其外部参考电压是相同的,因此在采集某个通道电压时预先采集片内基准电压,得到CODEref ,进而通过CODEin 得出Vin 。

庆幸的是一般单片机片内都集成了一个较准的低电压参考基准,并且内部参

考电压都作为一个采集通道,像AVR ,PIC 和Freesacle 等都有。MEGA88里面的内部参考典型 值是1.1V ,LL8里面的基准典型值是1.17V ,如图1.5所示:最小为1.15V ,最大为1.18V ,差值为30mV ,相对稳压片误差180mV 来说还是比较小的,一般的12bit 采样精度可以满足要求。我测试了发现,用12bit 采样,只有末位在跳变。

图1.5

注意了,这里面不是用这个1.17V 作为参考基准,而是作为校准用,如果作为电压参考基准的话就有点低了,并且并没有提高精度。

AD 精度和分辨率

http://www.ic72.com 发布时间:2010-8-3 9:53:58

很多人对于精度和分辨率的概念不清楚,这里我做一下总结,希望大家不要混淆。 我们搞电子开发的,经常跟“精度”与“分辨率”打交道,这个问题不是三言两语能搞得清楚的,在这里只作抛砖引玉了。

简单点说,“精度”是用来描述物理量的准确程度的,而“分辨率”是用来描述刻度划分的。从定义上看,这两个量应该是风马牛不相及的。(是不是有朋友感到愕然^_^)。很多卖传感器的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,那么他们的价格可能相差一倍。

所以在这里帮大家把这两个概念理一下,以后大家就可以理直气壮的说精度和分辨率了,而不是将精度理解为分辨率

AD 、DA 器件的精度

时间:2006-10-18 来源: 作者: 点击:2256 字体大小:【大 中 小】

在前面一个讨论7135的贴子里,提到了INL 、DNL 等几个参数,可是似乎知道

这几个参数意义的朋友并不多。

说起来都是教科书害人。几乎所有的教科书、参考书、文献选编都只关心模数器件的分辨率和速度,而忽略了器件的精度。而关系到器件精度的两个非常重要的参数就是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 还存许多怪脾气,难伺候。我准备专门开一个贴子介绍Sigma-Delta 型ADC 应用中被忽略的重要问题。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn