您好,欢迎访问三七文档
ADC分辨率和精度的区别rourou2015-9-9下午3:10分辨率和精度这两个,经常拿在一起说,才接触的时候经常混为一谈。对于ADC来说,这两样也是非常重要的参数,往往也决定了芯片价格,显然,我们都清楚同一个系列,16位AD一般比12位AD价格贵,但是同样是12位AD,不同厂商间又以什么参数区分性能呢?性能往往决定价格,那么什么参数对价格影响较大呢?不好意思,我其实还是有些迷惑的,但是看了下篇文章,至少知道“精度”是有很大影响力的。该篇文章主要解释ADC分辨率和精度的区别,非常详细且易懂,值得一看,全文如下:最近做了一块板子,当然考虑到元器件的选型了,由于指标中要求精度比较高,所以对于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:DifferencialNonLiner——微分非线性度INL:IntergerNonLiner——积分非线性度(精度主要用这个值来表示)他表示了ADC器件在所有的数值点上对应的模拟值,和真实值之间误差最大的那一点的误差值。也就是,输出数值偏离线性最大的距离。单位是LSB(即最低位所表示的量)。当然,像有的AD如△—∑系列的AD,也用Linearityerror来表示精度。为什么有的AD很贵,就是因为INL很低。分辨率同为12bit的两个ADC,一个INL=±3LSB,而一个做到了±1.5LSB,那么他们的价格可能相差一倍。所以在这里帮大家把这两个概念理一下,以后大家就可以理直气壮的说精度和分辨率了,而不是将精度理解为分辨率。呵呵,希望对大家有用!分辨率计算:测量电压范围/(2^AD位数-1)详述ADC精度和分辨率的概念差异在与使用模数转换器(ADC)的系统设计人员进行交谈时,我最常听到的一个问题就是:“你的16位ADC的精度也是16位的吗?”这个问题的答案取决于对分辨率和精度概念的基本理解。尽管是两个完全不同的概念,这两个数据项经常被搞混和交换使用。该文详述了这两个概念间的差异,并将深入研究造成ADC不准确的主要原因。ADC的分辨率被定义为输入信号值的最小变化,这个最小数值变化会改变数字输出值的一个数值。对于一个理想ADC来说,传递函数是一个步宽等于分辨率的阶梯。然而,在具有较高分辨率的系统中(≥16位),传输函数的响应将相对于理想响应有一个较大的偏离。这是因为ADC以及驱动器电路导致的噪声会降低ADC的分辨率。此外,如果DC电压被施加到理想ADC的输入上并且执行多个转换的话,数字输出应该始终为同样的代码(由图1中的黑点表示)。现实中,根据总体系统噪声(也就是包括电压基准和驱动器电路),输出代码被分布在多个代码上(由下面的一团红点表示)。系统中的噪声越多,数据点的集合就越宽,反之亦然。图1中显示的是一个中量程DC输入的示例。ADC传递函数上输出点的集合通常被表现为ADC数据表中的DC柱状图。图1:ADC传递曲线上ADC分辨率和有效分辨率的图示图1中的图表提出了一个有意思的问题。如果同样的模拟输入会导致多个数字输出,那么对于ADC分辨率的定义仍然有效吗?是的,前提是我们只考虑ADC的量化噪声。然而,当我们将信号链中所有的噪声和失真计算在内时,正如等式(1)中所显示的那样,ADC的有效无噪声分辨率取决于输出代码分布(NPP)。在典型ADC数据表中,有效位数(ENOB)间接地由AC参数和信噪失真比(SINAD)指定,可使用方程式2计算得出:下面,考虑一下图1中的输出代码簇(红点)不是位于理想输出代码的中央,而是位于远离黑点的ADC传递曲线上的其他位置(如图2中所示)。这个距离是指示出采集系统精度。不但ADC,还有前端驱动电路、基准和基准缓冲器都会影响到总体系统精度。图2:ADC传递曲线的精度图示需要注意的重要一点是ADC精度和分辨率是两个也许不相等的不同参数。从系统设计角度讲,精度确定了系统的总体误差预算,而系统软件算法完整性、控制和监视功能取决于分辨率。ADI_Amy2015-4-23下午6:05(回复rourou)感谢分享!分辨率和精度之间的差异。举例来说,当两个转换器都具有12bit的相同分辨率时,但其中一个可能只有10bit的精度,而另一个可能具有14bit的精度,应当认识到这两种转换器具有不一样的性能。还有就是,即使增加分辨率bit数而达不到这些增加的bit数所提高的精度,也不能达到提高精度的目的。顺便推荐一点有关“精度和分辨率”的资料问:我的ADC具有12位线性度,但ENOB仅10.5。你们的规格是否违规夸大?答:最近我的一个老朋友兼同事退休了。在整理办公室的时候,我想起他曾经是“官方老数据手册管理员”。没错,就是那些已经发布、并且过时了的数据手册的罕见印刷副本;早在目前已经普及的数字文档产生之前。我的朋友和古老苏格兰长老派教会的教堂执事没什么两样,执事负责保管的教堂圣经可能是所在教堂中唯一的一本圣经。他告诉我,他选择了我做他的继任者。那是一间充满老年人气息的房间,没有标识和其它类似的东西,而我的办公室有幸与他信任的人离得最近,能够托付这项光荣的任务。当我和我朋友追忆以前某些产品的成败往事时,我想起我刚回答过客户有关ADC有效位数(ENOB)的问题。ENOB基于理想的ADC产品信噪比(SNR)公式计算:SNR=6.02×N+1.76dB,其中N是ADC的分辨率。实际使用中,由于ADC自身存在噪声和误差,因此从未能达到这一SNR值。您可以重新排列这个公式,来计算ADC的有效N(即我们常说的ENOB):ENOB=(SNR–1.76)/6.02dB。我们讨论的器件是一款12位ADC,但ENOB仅为10.5。客户非常有礼貌,但必须说明将这款ADC说成具有12位分辨率似乎不太合适,因为它缺少了1.5位性能。我们所说的这款器件工作在500MSPS,对于驱动它的电源而言,这是非常高的速度。客户追问我,我们是不是夸大了分辨率。他说得就像我们不守规矩!我解释说,我们并没有违背线性度规定;在额定分辨率下,转换器的差分线性度必须低于1LSB。另外,转换器的积分线性度决定其失真性能,因此具有较高分辨率的转换器能够达到较高的SFDR。当我把这事告诉我朋友的时候,他表示理解。我们刚谈论了一款25年前真正获得成功的产品,它是一款12位ADC器件,而当时最先进的吞吐率要比现在低50倍——仅10MSPS。我们拿出老数据手册查找起来,果然,它是10.5ENOB!
本文标题:ADC精度
链接地址:https://www.777doc.com/doc-2896141 .html