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