<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 精密ADC中的偏置和增益校準(zhǔn)功能:自校準(zhǔn)

          精密ADC中的偏置和增益校準(zhǔn)功能:自校準(zhǔn)

          作者: 時(shí)間:2024-09-05 來源:EEPW編譯 收藏

          了解模數(shù)轉(zhuǎn)換器(ADC)中的或內(nèi)部校準(zhǔn)功能。

          本文引用地址:http://www.ex-cimer.com/article/202409/462702.htm

          在本系列之前,我們討論了兩點(diǎn)校準(zhǔn)可用于消除ADC(模數(shù)轉(zhuǎn)換器)的偏移和增益誤差。根據(jù)所使用的硬件,可以使用定點(diǎn)或浮點(diǎn)方法來實(shí)現(xiàn)校準(zhǔn)方程式。替代方法是使用包括集成校準(zhǔn)函數(shù)的ADC,因?yàn)樵诰_ADC中可能找到不同類型的校準(zhǔn)函數(shù),即:

          自我校準(zhǔn)

          系統(tǒng)校準(zhǔn)

          背景校準(zhǔn)

          在本文中,我們將探討功能。

          ADC校準(zhǔn)選項(xiàng)

          一些ADC支持校準(zhǔn)模式,這可以簡化設(shè)計(jì)并幫助我們從系統(tǒng)處理器中節(jié)約一些中央處理單元(CPU)周期。在這種情況下,您只需要調(diào)整ADC設(shè)置,發(fā)送適當(dāng)?shù)男?zhǔn)命令,然后等待ADC確定偏移和增益誤差。

          然后ADC將校準(zhǔn)信息存儲在其片上寄存器中,并使用它來校正后續(xù)的和增益誤差的讀數(shù)。圖1顯示了得克薩斯儀器公司(TI)的ADS1246校準(zhǔn)框圖示例。

          顯示校準(zhǔn)塊的ADS1246框圖示例

           

          1.png

          ?圖1。顯示校準(zhǔn)塊的ADS1246框圖示例。圖片由TI提供

          在圖1中,寄存器(OFC)和滿量程寄存器(FSC)包含適當(dāng)?shù)男?zhǔn)值。從A/D(模擬-數(shù)字)轉(zhuǎn)換過程產(chǎn)生的數(shù)字值中減去OFC的值,然后將結(jié)果乘以FSC除以400000h。

          例如,當(dāng)FSC=800000h時(shí),A/D轉(zhuǎn)換結(jié)果將乘以2,因?yàn)镕SC值在代碼400000h處被標(biāo)準(zhǔn)化為1.0。ADS1246的校準(zhǔn)功能可通過以下方程式描述:

           2.png

          校準(zhǔn)啟動(dòng)后,ADC自動(dòng)設(shè)置OFC和FSC寄存器的值。然而,使用ADS1246,用戶可以直接將一些值寫入這些寄存器,這使得用戶能夠?qū)π?zhǔn)功能有更多的控制。

          注意,雖然大多數(shù)ADC首先減去偏移校準(zhǔn)系數(shù)然后將其乘以增益誤差系數(shù),但是存在先調(diào)整傳遞函數(shù)的斜率然后校正偏移誤差的ADC。例如,NXP MPCL500系列中包含的ADC使用多累積單元來實(shí)現(xiàn)校準(zhǔn)功能(圖2)。

          MPCL500系列框圖示例。

           3.png

          ?圖2。MPCL500系列框圖示例。圖片由恩智浦提供

          顯然,對于給定的系統(tǒng),圖1和圖2中描述的兩種方法將具有不同的增益和偏移校準(zhǔn)系數(shù)。

          通常,校準(zhǔn)程序有效地包括對已知輸入電壓執(zhí)行的一個(gè)或兩個(gè)ADC轉(zhuǎn)換。ADC使用這些轉(zhuǎn)換的結(jié)果來確定輸入輸出特性曲線的偏移和斜率,并相應(yīng)地更新其校準(zhǔn)寄存器。

          模數(shù)轉(zhuǎn)換器或內(nèi)部校準(zhǔn)

          自校準(zhǔn),有時(shí)稱為內(nèi)部校準(zhǔn),試圖表征和補(bǔ)償ADC內(nèi)部塊的偏移和增益誤差。例如,對于具有集成PGA(可編程增益放大器)的Δ∑(Δ∑)ADC,自校準(zhǔn)從PGA和Δ∑調(diào)制器去除DC誤差。對于某些ADC,如AD7124-4,自校準(zhǔn)功能可執(zhí)行(零刻度)和增益(滿刻度)校準(zhǔn)。然而,對于一些其他ADC,例如AD7172-2,自校準(zhǔn)程序僅執(zhí)行偏置校準(zhǔn)。

          ADC內(nèi)部偏置校準(zhǔn)

          對于內(nèi)部偏置校準(zhǔn),所選ADC通道的輸入內(nèi)部短路。此外,將輸出代碼與理想值進(jìn)行比較,以確定偏移誤差。對于大多數(shù)ADC,例如ADS1260-Q1,輸入多路復(fù)用器被納入以將輸入從外部世界斷開,并在內(nèi)部將它們連接到公共電壓以執(zhí)行偏置校準(zhǔn)。ADS131M06的輸入多路復(fù)用器比ADS1260-Q1相對簡單,如圖3所示。

          ADS131M06輸入多路復(fù)用器示意圖。

           4.png

          ?圖3。ADS131M06輸入多路復(fù)用器示意圖。圖片由TI提供

          如您所見,其中一個(gè)多路復(fù)用器配置MUXn[1:0]=01將兩個(gè)輸入短路到地。這種多路復(fù)用器配置可用于補(bǔ)償校準(zhǔn)。另一方面,一些ADC僅將其中一個(gè)輸入從外部電路斷開。例如,考慮AD7124-4的內(nèi)部連接,如圖4所示。

          顯示AD7124-4內(nèi)部連接的框圖。

           5.png

          ?圖4。顯示AD7124-4內(nèi)部連接的框圖。圖像由ADI提供

          在偏置校準(zhǔn)過程中,兩個(gè)輸入短路在一起。然而,負(fù)輸入仍與外部電路相連。這就是為什么設(shè)備數(shù)據(jù)表建議設(shè)計(jì)師確保在偏置校準(zhǔn)期間,負(fù)輸入不存在任何多余的噪聲和干擾的原因。此外,在進(jìn)行校準(zhǔn)時(shí),該輸入電壓不允許超過額定限值。

          ADC內(nèi)部滿量程校準(zhǔn)

          滿刻度校準(zhǔn)通常通過向ADC輸入施加內(nèi)部生成的滿刻度電壓來執(zhí)行。如果ADC的輸入范圍為±VREF,則輸入在內(nèi)部與+VREF和-VREF線相連。已知輸入處于滿刻度水平,ADC可以確定所需的增益校準(zhǔn)系數(shù)。如果ADC具有積分PGA,那么內(nèi)部生成的電壓通常是ADC的參考電壓除以PGA的所選增益以避免超出ADC的范圍。這允許設(shè)備在每個(gè)增益設(shè)置下支持內(nèi)部滿刻度校準(zhǔn)。

          具有校準(zhǔn)功能的ADC通常重復(fù)一定數(shù)量的零刻度和滿刻度測量(例如,16次),并平均轉(zhuǎn)換結(jié)果以計(jì)算校準(zhǔn)值。平均數(shù)據(jù)減少了轉(zhuǎn)換噪聲,提高了校準(zhǔn)精度。

          ADC自校準(zhǔn)的有效性

          下表1摘錄了AD7124-4數(shù)據(jù)表。

           6.png

          ?表1。數(shù)據(jù)由ADI提供

          應(yīng)用偏置校準(zhǔn)之前,ADC偏置為±15μV。然而,在偏置校準(zhǔn)之后,偏置誤差按照噪聲的順序,根據(jù)設(shè)備數(shù)據(jù)表,其小于400 nV RMS。同樣地,增益校準(zhǔn)顯著地減小了ADC的增益誤差。

          圖5比較了帶和不帶ADC校準(zhǔn)的RTD測量系統(tǒng)的誤差。本例中使用的模數(shù)轉(zhuǎn)換器為AD7124-8。

          使用AD7124-8的電阻式溫度檢測器測量系統(tǒng)示例。

           7.png

          ?圖5。使用AD7124-8的電阻式溫度檢測器測量系統(tǒng)示例。圖像由ADI提供

          如果不進(jìn)行校準(zhǔn),測量誤差超出Pt100電阻式溫度檢測器的預(yù)期輪廓。然而,在25°C溫度下對ADC偏置和增益誤差進(jìn)行一次性校準(zhǔn)會導(dǎo)致誤差在預(yù)期范圍內(nèi)。注意,在此實(shí)例中,不去除由外部電路組件產(chǎn)生的偏移和增益誤差。關(guān)于常見電阻式溫度檢測器配置的校準(zhǔn)效果的綜合檢查,請參考ADI的參考設(shè)計(jì)。

          如圖5和上述ADI參考設(shè)計(jì)的結(jié)果所示,許多應(yīng)用程序應(yīng)通過簡單地去除ADC偏移和增益誤差來滿足設(shè)計(jì)目標(biāo)。然而,隨著要求更高的應(yīng)用,我們可能需要系統(tǒng)校準(zhǔn)以消除ADC和外部電路中的偏移和增益誤差。

          讓我們快速查看RTD應(yīng)用程序示例,了解外部電路的錯(cuò)誤可能有多大。

          計(jì)算ADC誤差-系統(tǒng)校準(zhǔn)的有效性如何?

          考慮圖6中的3線比例電阻式溫度檢測器測量系統(tǒng)。

          示例3線比例電阻式溫度檢測器測量系統(tǒng)。

           8.png

          ?圖6。示例3線比例電阻式溫度檢測器測量系統(tǒng)。

          假設(shè)勵(lì)磁電流(Iexc1和Iexc2)為0.5 mA,參考電阻為RREF=1.6 kΩ,產(chǎn)生1.6 V的參考電壓。該電路中的主要誤差源為:

          ADC偏置和增益誤差

          參考電阻公差

          Iexc1與Iexc2匹配

          假設(shè)勵(lì)磁電流完全匹配或使用電流交換技術(shù);因此,電流失誤差可忽略不計(jì)。這給我們帶來了一個(gè)主要的外部誤差來源:Rref公差。

          讓我們來看看這個(gè)誤差有多大。使用上述比例電路,n位ADC產(chǎn)生的數(shù)字輸出通常可以通過以下方程式來描述:

           9.png

          假設(shè)Iexc1=Iexc2,上述方程式簡化為方程式1:

           10.png

          ?方程式1。

          假設(shè)Rref的實(shí)際值與其理想值略有不同,由下式給出:

           11.png

          將Rref,m代入方程式1,可得出:

           12.png

          使用泰勒級數(shù)概念,我們可以近似 

          11+α11+α 帶有1-α。因此,我們得出:

           13.png

          將其與方程式1中的理想關(guān)系進(jìn)行比較,我們觀察到Rref中的小誤差導(dǎo)致傳遞函數(shù)斜率中的相同誤差。如果我們使用0.1%的參考電阻(α=0.001),系統(tǒng)的實(shí)際增益將與其理想值相差0.1%,這意味著由于Rref公差,我們的增益誤差為0.1%。這個(gè)增益誤差可以與ADC增益誤差進(jìn)行比較,這取決于您選擇的ADC。

          例如,在沒有校準(zhǔn)的情況下,ADS1260-Q1的最大增益誤差為0.6%。因此,在要求苛刻的應(yīng)用中,系統(tǒng)校準(zhǔn)能夠顯著提高精度。欲了解更多關(guān)于RTD應(yīng)用中誤差源的信息,請參閱TI的參考設(shè)計(jì)。在下一篇文章中,我們將繼續(xù)進(jìn)行討論,并探討中的系統(tǒng)校準(zhǔn)和背景校準(zhǔn)模式。




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();