|
說精度之前,首先要說分辨率。最近已經有貼子熱門討論了這個問題,結論是分辨率決不等同于精度。比如一塊精度0.2%(或常說的準確度0.2級)的四位半萬用表,測得A點電壓1.0000V,B電壓1.0005V,可以分辨出B比A高0.0005V,但A點電壓的真實值可能在0.9980"1.0020之間不確定。
那么,既然數字萬用表存在著精度和分辨率兩個指標,那么,對于ADC和DAC,除了分辨率以外,也存在精度的指標。
模數器件的精度指標是用積分非線性度(Interger NonLiner)即INL值來表示。也有的器件手冊用 Linearity error 來表示。他表示了ADC器件在所有的數值點上對應的模擬值,和真實值之間誤差最大的那一點的誤差值。也就是,輸出數值偏離線性最大的距離。單位是LSB (即最低位所表示的量)。
比如12位ADC:TLC2543,INL值為1LSB。那么,如果基準4.095V,測某電壓得的轉換結果是1000,那么,真實電壓值可能分布在 0.999"1.001V之間。對于DAC也是類似的。比如DAC7512,INL值為8LSB,那么,如果基準4.095V,給定數字量1000,那么輸出電壓可能是0.992"1.008V之間。
下面再說DNL值。理論上說,模數器件相鄰量個數據之間,模擬量的差值都是一樣的。就相一把疏密均勻的尺子。但實際并不如此。一把分辨率1毫米的尺子,相鄰兩刻度之間也不可能都是1毫米整。那么,ADC相鄰兩刻度之間最大的差異就叫差分非線性值(Differencial NonLiner)。DNL值如果大于1,那么這個ADC甚至不能保證是單調的,輸入電壓增大,在某個點數值反而會減小。這種現象在SAR(逐位比較)型 ADC中很常見。
舉個例子,某12位ADC,INL=8LSB,DNL=3LSB(性能比較差),基準4.095V,測A電壓讀數1000,測B電壓度數1200。那么,可判斷B點電壓比A點高197"203mV。而不是準確的200mV。對于DAC也是一樣的,某DAC的DNL值3LSB。那么,如果數字量增加200,實際電壓增加量可能在197"203mV之間。很多分辨率相同的ADC,價格卻相差很多。除了速度、溫度等級等原因之外,就是INL、DNL這兩個值的差異了。比如AD574,貴得很,但它的INL值就能做到0.5LSB,這在SAR型ADC中已經很不容易了。換個便宜的2543吧,速度和分辨率都一樣,但INL值只有1"1.5LSB,精度下降了3 倍。另外,工藝和原理也決定了精度。比如SAR型ADC,由于采用了R-2R或C-2C型結構,使得高權值電阻的一點點誤差,將造成末位好幾位的誤差。在 SAR型ADC的2^n點附近,比如128、1024、2048、切換權值點阻,誤差是最大的。1024值對應的電壓甚至可能會比1023值對應電壓要小。這就是很多SAR型器件DNL值會超過1的原因。但SAR型ADC的INL值都很小,因為權值電阻的誤差不會累加。和SAR型器件完全相反的是階梯電阻型模數/數模器件。比如TLC5510、DAC7512等低價模數器件。比如7512,它由4095個電阻串聯而成。每個點阻都會有誤差,一般電阻誤差5%左右,當然不會離譜到100%,更不可能出現負數。因此這類器件的DNL值都很小,保證單調。但是,每個電阻的誤差,串聯后會累加,因此INL值很大,線性度差。
這里要提一下雙積分ADC,它的原理就能保證線性。比如ICL7135,它在40000字的量程內,能做到0.5LSB的INL值(線性度達到 1/80000 !!)和0.01LSB的DNL值.這兩個指標在7135的10倍價錢內,是不容易被其他模數器件超越的。所以7135這一類雙積分ADC特別適合用在數字電壓表等需要線性誤差非常小的場合。
還要特別提一下基準源。基準源是測量精度的重要保證。基準的關鍵指標是溫飄,一般用ppm/K來表示。假設某基準30ppm/K,系統在20"70度之間工作,溫度跨度50度,那么,會引起基準電壓30*50=1500ppm的漂移,從而帶來0.15%的誤差。溫漂越小的基準源越貴,比如30ppm/K的 431,七毛錢;20ppm/K的385,1塊5;10ppm/K的MC1403,4塊5;1ppm/K的LM399,14元;0.5ppm/K的 LM199,130元。
最后說一下Sigma-Delta型ADC,它比較特殊,對于精度,一般用直接用線性度表示,比如0.0015%.不說差分非線性值,而直接用有效分辨率來表示。此外,Sigma-Delta型ADC還存許多怪脾氣,難伺候。我準備專門開一個貼子介紹Sigma-Delta型ADC應用中被忽略的重要問題。 |
|