??????? 最近做了一塊板子,當然考慮到元器件的選型了,由于指標中要求精度比較高,所以對于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);