你的位置:首頁 > 電路保護 > 正文

ADC誤差是如何產(chǎn)生的?

發(fā)布時間:2020-08-18 責任編輯:lina

【導(dǎo)讀】本篇文章列出了影響模數(shù)轉(zhuǎn)換精度的主要誤差。這些類型的誤差存在于所有模數(shù)轉(zhuǎn)換器中,轉(zhuǎn)換質(zhì)量將取決于它們的消除情況。STM32微控制器數(shù)據(jù)手冊的ADC特性部分規(guī)定了這些誤差 值。規(guī)定了STM32 ADC的不同精度誤差類型。為便于參考,將精度誤差表達為1 LSB的倍數(shù)。
 
01、前言
 
本篇文章列出了影響模數(shù)轉(zhuǎn)換精度的主要誤差。這些類型的誤差存在于所有模數(shù)轉(zhuǎn)換器中,轉(zhuǎn)換質(zhì)量將取決于它們的消除情況。STM32微控制器數(shù)據(jù)手冊的ADC特性部分規(guī)定了這些誤差 值。規(guī)定了STM32 ADC的不同精度誤差類型。為便于參考,將精度誤差表達為1 LSB的倍數(shù)。就電壓而言,分辨率取決于參考電壓。通過將LSB數(shù)乘以1 LSB對應(yīng)的電壓來計算電壓誤差。
 
02、ADC自身導(dǎo)致的誤差
 
偏移誤差
偏移誤差是第一次實際轉(zhuǎn)換和第一次理想轉(zhuǎn)換之間的偏離。第一次轉(zhuǎn)換發(fā)生在數(shù)字ADC輸出 從0變?yōu)?時。理想情況下,當模擬輸入介于0.5 LSB和1.5 LSB之間時,數(shù)字輸出應(yīng)為1。仍然是理想情況下,第一次轉(zhuǎn)換發(fā)生在0.5 LSB處。用EO表示偏移誤差??赏ㄟ^應(yīng)用固件輕松校準偏移誤差。
 
示例:
對于STM32 ADC,電壓的最小可檢測增量變化用LSB表示為:
 1 LSB = VREF+/4096(在某些封裝上,VREF+ = VDDA) 
如果 VREF+=3.3 V,則在理想情況下, 402.8 µV(0.5 LSB = 0.5 × 805.6 µV)的輸入應(yīng)導(dǎo)致生成數(shù)字輸出 1。但實際上,ADC可能仍然提供讀數(shù) 0。如果從550 µV的模擬輸入獲得 數(shù)字輸出 1,則:
 偏移誤差 = 實際轉(zhuǎn)換 – 理想轉(zhuǎn)換 
EO = 550 µV – 402.8 µV = 141.2 µV 
EO = 141.2 µV / 805.6 µV = 0.17 LSB
 
當大于0.5 LSB的模擬輸入電壓生成第一次轉(zhuǎn)換時,偏移誤差為正。如下圖:
 
ADC誤差是如何產(chǎn)生的?
 
當小于0.5 LSB的模擬輸入電壓生成第一次轉(zhuǎn)換時,偏移誤差為負。如下圖:
 
ADC誤差是如何產(chǎn)生的?
 
增益誤差
增益誤差是最后一次實際轉(zhuǎn)換和最后一次理想轉(zhuǎn)換之間的偏離。增益誤差用EG表示。最后一次實際轉(zhuǎn)換是從0xFFE到0xFFF的轉(zhuǎn)換。
 
理想情況下,當模擬輸入等于VREF+ – 0.5  LSB時,應(yīng)存在從0xFFE到0xFFF的轉(zhuǎn)換。因此對于VREF+= 3.3 V,最后一次理想轉(zhuǎn)換應(yīng)發(fā)生 在3.299597 V處。如果ADC提供VAIN < VREF+ – 0.5 LSB的0xFFF讀數(shù),將獲得負增益誤差。
 
示例
按以下公式計算增益誤差: 
EG = 最后一次實際轉(zhuǎn)換 – 理想轉(zhuǎn)換 
如果VREF+ = 3.3 V且VAIN = 3.298435 V時生成從0xFFE到0xFFF的轉(zhuǎn)換,則:
 EG = 3.298435 V – 3.299597 V 
EG = –1162 µV 
EG = (–1162 µV / 805.6 V) LSB = –1.44 LSB 
如果VAIN等于VREF+時沒有得到滿量程讀數(shù)(0xFFF),則增益誤差為正。
正增益誤差的表示方法:
 
ADC誤差是如何產(chǎn)生的?
負增益誤差的表示方法:
 
ADC誤差是如何產(chǎn)生的?
 
微分線性誤差
微分線性誤差(DLE)為實際步進和理想步進之間的最大偏離。這里的“理想情況”不是指理想傳輸曲線,而是指ADC分辨率。在下圖中,用ED表示DLE。 
ED = 實際步寬 – 1 LSB
理想情況下,1 LSB的模擬輸入電壓變化量應(yīng)導(dǎo)致數(shù)字代碼變化。如果需要大于1 LSB的模擬輸入電壓才能導(dǎo)致數(shù)字代碼變化,將觀察到微分線性誤差。因此,DLE對應(yīng)于從一個數(shù)字代 碼變?yōu)橄乱粋€數(shù)字代碼所需的最大額外電壓。DLE也稱為微分非線性(DLE)誤差。
 
示例
給定數(shù)字輸出應(yīng)對應(yīng)于模擬輸入范圍。理想情況下,步寬應(yīng)為1 LSB。我們假設(shè)1.9998 V至 2.0014 V模擬輸入電壓范圍內(nèi)的數(shù)字輸出相同,則步寬為:2.0014 V – 1.9998 V = 1.6 mV。因此,ED等于較高(2.0014 V)和較低(1.9998 V)模擬電壓之間的電壓差減去1 LSB所對應(yīng)的電壓。
 
ADC誤差是如何產(chǎn)生的?
 
如果VREF+ = 3.3 V,則1.9998 V(0x9B1)的模擬輸入可提供介于0x9B0和0x9B2之間的結(jié) 果。同樣地,2.0014 V(0x9B3)的輸入可提供介于0x9B2和0x9B4之間的結(jié)果。因此,0x9B2步進所對應(yīng)的總電壓變化量為: 
0x9B3 – 0x9B1
即 2.0014 V – 1.9998 V = 1.6 mV (1660 µV) 
ED = 1660 µV – 805.6 µV 
ED = 854.4 µV 
ED = (854.4 µV/805.6 µV) LSB 
ED = 1.06 LSB 
 
假設(shè)當步寬小于1 LSB時,電壓高于2.0014 V不會導(dǎo)致0x9B2數(shù)字代碼,則ED為負。
 
積分線性誤差
積分線性誤差為任何實際轉(zhuǎn)換和端點相關(guān)線間的最大偏離。在下圖中,用EL表示ILE。端點相關(guān)線可以定義為A/D傳輸曲線上連接第一次實際轉(zhuǎn)換與最后一次實際轉(zhuǎn)換的線。EL是指與每一次轉(zhuǎn)換的這條線的偏離。因此,端點相關(guān)線對應(yīng)于實際傳輸曲線并且與理想傳輸曲線不相關(guān)。ILE也稱為積分非線性(INL)誤差。ILE是整個范圍內(nèi)DLE的積分。
 
ADC誤差是如何產(chǎn)生的?
 
示例 
如果從 0 到 1 的第一次轉(zhuǎn)換發(fā)生在 550 µV 處并且最后一次轉(zhuǎn)換(0xFFE 到 0xFFF)發(fā)生在 3.298435 V(增益誤差)處,則傳輸曲線上連接實際數(shù)字代碼 0x1 和 0xFFF 的線為端點相關(guān)線。
 
總未調(diào)整的誤差
總未調(diào)整誤差(TUE)為實際和理想傳輸曲線間的最大偏離。此參數(shù)指定可能發(fā)生的會導(dǎo)致理想數(shù)字輸出與實際數(shù)字輸出之間最大偏離的總誤差。TUE是記錄到的任何輸入電壓的理想預(yù)期值與從ADC獲得的實際值之間的最大偏離。在下圖中,用ET表示TUE。TUE不是EO、EG、EL與ED之和。偏移誤差影響較低電壓的數(shù)字結(jié)果,而增益誤差影響較高電壓的數(shù)字輸出。 
 
示例
如果VREF+ = 3.3 V且VAIN = 2 V,則理想結(jié)果為0x9B2。但是,如果得到的轉(zhuǎn)換結(jié)果為0x9B4, 由于DLE和ILE同時發(fā)生,因此偏離可能源于偏移。 
TUE = 絕對(實際值 – 理想情況值) 
       = 0x9B4 – 0x9B2 = 0x2 = 2 LSB
 
 ADC誤差是如何產(chǎn)生的?
 
免責聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請電話或者郵箱聯(lián)系小編進行侵刪。
 
 
推薦閱讀:
賦能智造•智強未來,中國制造數(shù)字化服務(wù)云端峰會成功舉行
如何識別和防止7nm工藝失效
差分信號及差分放大電路有什么作用?
CCM與DCM模式到底有什么區(qū)別?
COT控制模式簡述:TI的DCAP系列
要采購微控制器么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉