|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
分辨率和精度这两个,经常拿在一起说,才接触的时候经常混为一谈。$ j- j* i p7 X9 l5 R* N) h1 U+ i; f% T3 l1 l0 n2 A2 N
7 O# m5 r) ?0 i1 n& U: b& o [0 C1 J( k8 m5 V* g8 S
& b9 F7 u6 L) f0 z7 U
1 z' @: W5 `" ]) l. C对于ADC来说,这两样也是非常重要的参数,往往也决定了芯片价格,显然,我们都清楚同一个系列,16位AD一般比12位AD价格贵,但是同样是12位AD,不同厂商间又以什么参数区分性能呢?性能往往决定价格,那么什么参数对价格影响较大呢?不好意思,我其实还是有些迷惑的,但是看了下篇文章,至少知道“精度”是有很大影响力的。该篇文章主要解释ADC分辨率和精度的区别,非常详细且易懂,值得一看,全文如下:8 H. Y3 X/ I5 k8 X
4 `; @7 f5 L+ S5 G, w& ~" o( M( f$ E& y6 V, C9 z' K# y3 I! m& y
最近做了一块板子,当然考虑到元器件的选型了,由于指标中要求精度比较高,所以对于AD的选型很慎重。
. l0 j; q7 T: T' O" H' c4 a( _/ }% I1 O( N" n2 v) @( \4 e3 |) H3 s: i1 M# i: \8 h! z) L
很多人对于精度和分辨率的概念不清楚,这里我做一下总结,希望大家不要混淆。) |, ?- ]; U8 y5 j' G1 x/ v; A' [
; f6 _& G/ P& F e0 O B# a, T0 f& L2 x1 m5 I3 I3 I' q% |
我们搞电子开发的,经常跟“精度”与“分辨率”打交道,这个问题不是三言两语能搞得清楚的,在这里只作抛砖引玉了。1 J$ h" y7 Y- ^* k& s9 ?- f
0 z: P0 i! H: q6 r
& ]4 N j& s Q5 K% q简单点说,“精度”是用来描述物理量的准确程度的,而“分辨率”是用来描述刻度划分的。从定义上看,这两个量应该是风马牛不相及的。(是不是有朋友感到愕然^_^)。很多卖传感器的JS就是利用这一点来糊弄人的了。简单做个比喻:有这么一把常见的塑料尺(中学生用的那种),它的量程是10厘米,上面有100个刻度,最小能读出1毫米的有效值。那么我们就说这把尺子的分辨率是1毫米,或者量程的1%;而它的实际精度就不得而知了(算是0.1毫米吧)。当我们用火来烤一下它,并且把它拉长一段,然后再考察一下它。我们不难发现,它还有有100个刻度,它的“分辨率”还是1毫米,跟原来一样!然而,您还会认为它的精度还是原来的0.1毫米么?(这个例子是引用网上的,个人觉得比喻的很形象!)9 @. h0 i0 O: d* D2 w
6 q# a5 f9 J7 N9 v
" h+ V& A# ?: v' C6 M; e2 \' |回到电子技术上,我们考察一个常用的数字温度传感器:AD7416。供应商只是大肆宣扬它有10位的AD,分辨率是1/1024。那么,很多人就会这么欣喜:哇塞,如果测量温度0-100摄氏度,100/1024……约等于0.098摄氏度!这么高的精度,足够用了。但是我们去浏览一下AD7416的数据手册,居然发现里面赫然写着:测量精度0.25摄氏度!所以说分辨率跟精度完全是两回事,在这个温度传感器里,只要你愿意,你甚至可以用一个14位的AD,获得1/16384的分辨率,但是测量值的精度还是0.25摄氏度^_^3 F/ ^9 f! V8 q/ s$ H
P9 P. v/ h" L# P* p0 Y5 {所以很多朋友一谈到精度,马上就和分辨率联系起来了,包括有些项目负责人,只会在那里说:这个系统精度要求很高啊,你们AD的位数至少要多少多少啊……' F( t Q$ j6 f; S4 S/ X7 b1 Q8 X$ k. \ X$ _
7 a; d j$ h+ C! _
其实,仔细浏览一下AD的数据手册,会发现跟精度有关的有两个很重要的指标:DNL和INL。似乎知道这两个指标的朋友并不多,所以在这里很有必要解释一下。
6 r4 R4 b7 [ C) z9 ? Y, }' Z$ [. u% J% S) v
DNL:Differencial NonLiner——微分非线性度
" m" m- s2 T5 B/ {' ]* X+ i/ e5 k; G/ X3 T
INL:Interger NonLiner——积分非线性度(精度主要用这个值来表示)5 v; A" A% q8 B& G7 z
+ D" v( X! [0 M2 U& `% P5 F
7 \- n1 A' Z/ h. S I他表示了ADC器件在所有的数值点上对应的模拟值,和真实值之间误差最大的那一点的误差值。也就是,输出数值偏离线性最大的距离。单位是LSB(即最低位所表示的量)。2 |* g2 R# v1 |1 q- i& b6 Q* w) s' b8 L+ t6 [
0 Q! G+ k0 @. o, A3 K% e
, z0 {5 ^. h' V! w当然,像有的AD如△—∑系列的AD,也用Linearity error 来表示精度。, C3 i! b: d' w. l3 u n4 X/ b. _ `
8 r) q+ n+ M p7 q: w8 [2 c' Y$ q4 O# N5 [2 X
为什么有的AD很贵,就是因为INL很低。分辨率同为12bit的两个ADC,一个INL=±3LSB,而一个做到了±1.5LSB,那么他们的价格可能相差一倍。
! y, Y8 d% X, X: S% K5 m8 ]0 y. M7 W, X& S+ j/ I
- b5 |- }, J5 H" y$ U8 n所以在这里帮大家把这两个概念理一下,以后大家就可以理直气壮的说精度和分辨率了,而不是将精度理解为分辨率。希望对大家有用!( g6 J3 x( \% g% ` J' E* K
; R. v0 F% r0 y2 D2 d# z+ E& Z1 i. G- u; L
& s! A/ l# {8 J7 U分辨率计算:测量电压范围/(2^AD位数-1);+ X
9 u5 a9 R( b: A# @* K) ^ |
|