分辨率和精度這兩個(gè),經(jīng)常拿在一起說,才接觸的時(shí)候經(jīng)?;鞛橐徽?。對(duì)于ADC來說,這兩樣也是非常重要的參數(shù),往往也決定了芯片價(jià)格,顯然,我們都清楚同一個(gè)系列,16位AD一般比12位AD價(jià)格貴,但是同樣是12位AD,不同廠商間又以什么參數(shù)區(qū)分性能呢?性能往往決定價(jià)格,那么什么參數(shù)對(duì)價(jià)格影響較大呢?不好意思,我其實(shí)還是有些迷惑的,但是看了下篇文章,至少知道“精度”是有很大影響力的。該篇文章主要解釋ADC分辨率和精度的區(qū)別,非常詳細(xì)且易懂,值得一看,全文如下:
最近做了一塊板子,當(dāng)然考慮到元器件的選型了,由于指標(biāo)中要求精度比較高,所以對(duì)于AD的選型很慎重。
很多人對(duì)于精度和分辨率的概念不清楚,這里我做一下總結(jié),希望大家不要混淆。
我們搞電子開發(fā)的,經(jīng)常跟“精度”與“分辨率”打交道,這個(gè)問題不是三言兩語(yǔ)能搞得清楚的,在這里只作拋磚引玉了。
簡(jiǎn)單點(diǎn)說,“精度”是用來描述物理量的準(zhǔn)確程度的,而“分辨率”是用來描述刻度劃分的。從定義上看,這兩個(gè)量應(yīng)該是風(fēng)馬牛不相及的。(是不是有朋友感到愕然^_^)。很多賣傳感器的JS就是利用這一點(diǎn)來糊弄人的了。簡(jiǎn)單做個(gè)比喻:有這么一把常見的塑料尺(中學(xué)生用的那種),它的量程是10厘米,上面有100個(gè)刻度,最小能讀出1毫米的有效值。那么我們就說這把尺子的分辨率是1毫米,或者量程的1%;而它的實(shí)際精度就不得而知了(算是0.1毫米吧)。當(dāng)我們用火來烤一下它,并且把它拉長(zhǎng)一段,然后再考察一下它。我們不難發(fā)現(xiàn),它還有有100個(gè)刻度,它的“分辨率”還是1毫米,跟原來一樣!然而,您還會(huì)認(rèn)為它的精度還是原來的0.1毫米么?(這個(gè)例子是引用網(wǎng)上的,個(gè)人覺得比喻的很形象!)
回到電子技術(shù)上,我們考察一個(gè)常用的數(shù)字溫度傳感器:AD7416。供應(yīng)商只是大肆宣揚(yáng)它有10位的AD,分辨率是1/1024。那么,很多人就會(huì)這么欣喜:哇塞,如果測(cè)量溫度0-100攝氏度,100/1024……約等于0.098攝氏度!這么高的精度,足夠用了。但是我們?nèi)g覽一下AD7416的數(shù)據(jù)手冊(cè),居然發(fā)現(xiàn)里面赫然寫著:測(cè)量精度0.25攝氏度!所以說分辨率跟精度完全是兩回事,在這個(gè)溫度傳感器里,只要你愿意,你甚至可以用一個(gè)14位的AD,獲得1/16384的分辨率,但是測(cè)量值的精度還是0.25攝氏度^_^
所以很多朋友一談到精度,馬上就和分辨率聯(lián)系起來了,包括有些項(xiàng)目負(fù)責(zé)人,只會(huì)在那里說:這個(gè)系統(tǒng)精度要求很高啊,你們AD的位數(shù)至少要多少多少啊……
其實(shí),仔細(xì)瀏覽一下AD的數(shù)據(jù)手冊(cè),會(huì)發(fā)現(xiàn)跟精度有關(guān)的有兩個(gè)很重要的指標(biāo):DNL和INL。似乎知道這兩個(gè)指標(biāo)的朋友并不多,所以在這里很有必要解釋一下。
DNL:Differencial NonLiner——微分非線性度
INL:Interger NonLiner——積分非線性度(精度主要用這個(gè)值來表示)
他表示了ADC器件在所有的數(shù)值點(diǎn)上對(duì)應(yīng)的模擬值,和真實(shí)值之間誤差最大的那一點(diǎn)的誤差值。也就是,輸出數(shù)值偏離線性最大的距離。單位是LSB(即最低位所表示的量)。
當(dāng)然,像有的AD如△—∑系列的AD,也用Linearity error 來表示精度。
為什么有的AD很貴,就是因?yàn)镮NL很低。分辨率同為12bit的兩個(gè)ADC,一個(gè)INL=±3LSB,而一個(gè)做到了±1.5LSB,那么他們的價(jià)格可能相差一倍。分辨率和精度—即Resolution和Accuracy。這是兩個(gè)不同的參數(shù),卻經(jīng)常被混用。并且ADC制造商在數(shù)據(jù)手冊(cè)中定義ADC性能的方式也令人困惑,可能會(huì)讓大家在應(yīng)用開發(fā)中導(dǎo)致錯(cuò)誤的推斷。但事實(shí)上,分辨率并不能代表精確度,反之亦然。
分辨率和精度
分辨率
分辨率(Resolution)是指ADC能夠分辨量化的最小信號(hào)的能力,用二進(jìn)制位數(shù)表示。
比如:一個(gè)10位的ADC,其所能分辨的最小量化電平為參考電平(滿量程)的2的10次方分之一。即分辨率越高,就可以將滿量程里的電平分出更多份數(shù),得到的結(jié)果就越精確,得到的數(shù)字信號(hào)再用DAC轉(zhuǎn)換回去后就越接近原來輸入的模擬值。
所以,對(duì)于給定的一個(gè)具體ADC器件,其分辨率值是固定的。
精度
精度(Precision)是指對(duì)于給定模擬輸入,實(shí)際數(shù)字輸出與理論預(yù)期數(shù)字輸出之間的接近度(誤差值是多少)。換而言之,轉(zhuǎn)換器的精度決定了數(shù)字輸出代碼中有多少個(gè)比特表示有關(guān)輸入信號(hào)的有用信息。
有些ADC器件的datasheet中,會(huì)注明精度值或精度范圍。
對(duì)于給定的一個(gè)具體ADC器件,其精度值可能會(huì)受外界環(huán)境(溫度、干擾等)的影響而變化。
ADC的動(dòng)態(tài)范圍精確度和分辨率
動(dòng)態(tài)范圍被定義為系統(tǒng)可測(cè)量到的最小和最大信號(hào)的比例。
最大信號(hào)可為峰間值,零到峰(Zero-to-Peak)值或均方根(RMS)滿量程。其中任何一個(gè)都會(huì)給出不同值。例如,對(duì)于一個(gè)1V正弦波來說:峰間(滿量程)值=2V 零到峰值=1V
RMS滿量程=0.707×峰值振幅=0.707×1V=0.707V
最小信號(hào)通常為RMS噪聲,這是在未應(yīng)用信號(hào)時(shí)測(cè)量的信號(hào)的均方根值。測(cè)量得到的RMS噪聲級(jí)別將取決于測(cè)量時(shí)使用的帶寬。每當(dāng)帶寬翻倍,記錄的噪聲將增長(zhǎng)1.41或3dB。
因此,一定要注意動(dòng)態(tài)范圍數(shù)字始終與某個(gè)帶寬相關(guān),而后者通常未被指定,這使記錄的值變得沒有意義。 器件的信噪比(SNR)和動(dòng)態(tài)范圍多數(shù)時(shí)候被定義為同一個(gè)值,即:動(dòng)態(tài)范圍 =SNR=RMS滿量程/RMS噪聲 并且經(jīng)常使用dB作為單位,即動(dòng)態(tài)范圍(dB) = SNR(dB) = 20*Log10 (RMS滿量程/RMS噪聲)
與使用RMS滿量程相反,一些制造商為了使圖表看上去更漂亮,引用零到峰或峰間值,這使得最終的動(dòng)態(tài)范圍或SNR增加了3dB或9dB,因此我們需要仔細(xì)研究規(guī)范以避免誤解。
ADC分辨率由數(shù)字化輸入信號(hào)時(shí)所使用的比特?cái)?shù)決定。對(duì)于16位器件,總電壓范圍被表示為(216 =65536)個(gè)獨(dú)立的數(shù)字值或輸出代碼。因此,系統(tǒng)可以測(cè)量的絕對(duì)最小電平表示為1比特,或ADC電壓范圍的1/65536。
如前所述,對(duì)于16位ADC分辨率,由于出現(xiàn)內(nèi)部或外部誤差源,實(shí)際的精確度可能遠(yuǎn)小于分辨率。因此,舉例而言,一個(gè)給定的16位ADC可能只能提供12位的精確度。對(duì)于這種情況,4LSb(最低有效位)表示ADC中生成的隨機(jī)噪聲。ADC動(dòng)態(tài)范圍和ADC精確度通常指相同的內(nèi)容。
理想ADC生成一個(gè)數(shù)字輸出代碼,是關(guān)于模擬信號(hào)電壓和電壓參考輸入的方程,其中
輸出代碼 = 滿量程電壓 × [VIN+ - VIN-] / [VREF+ - VREF-]
= 滿量程電壓 × [VIN /VREF]
每個(gè)數(shù)字輸出代碼表示參考電壓的一個(gè)小數(shù)值。
必須注意,ADC動(dòng)態(tài)范圍應(yīng)當(dāng)匹配將要轉(zhuǎn)換的信號(hào)的最大振幅,這樣才能使ADC轉(zhuǎn)換精度最大化?,F(xiàn)在假設(shè)將要轉(zhuǎn)換的信號(hào)在0V到2.5V間變化,而VREF等于3.3V。
16位ADC將包括216 = 65536個(gè)步驟或轉(zhuǎn)換,且最低有效位(LSB)=VREF/65536=3.3V/65536=50.35uV。對(duì)于理想的ADC,所有代碼都具有1LSB的相同寬度。
如果ADC的最大信號(hào)值為2.5V,那么意味著總共有49652次轉(zhuǎn)換(2.5V/1LSB)。對(duì)于這種情況,將有15884次轉(zhuǎn)換未被使用(65536-49652=15884)。這反應(yīng)了轉(zhuǎn)換后的信號(hào)精確度損失或ENOB(有效位數(shù))損失(損失0.4位)。如果ADC參考(VREF)和ADC最大信號(hào)電平之間的差異增加,那么ENOB損失或精確度損失將加劇。例如,如果ADC最大信號(hào)電平為1.2V且VREF=3.3V,那么ENOB損失將為1.5位。因此ADC動(dòng)態(tài)范圍一定要匹配最大信號(hào)振幅,以獲得最高精確度。
模數(shù)轉(zhuǎn)換器(ADC)宣稱具有“n”位分辨率,這常常被誤解為精確度。分辨率和精確度完全是兩個(gè)概念,兩者不能混用。應(yīng)該由具體的應(yīng)用來確定是否允許丟失代碼以及所需ADC精確度。