0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

提高ADC采集精度的辦法

5RJg_mcuworld ? 來源:lq ? 2019-02-04 11:09 ? 次閱讀

想要提高ADC采集精度,軟件和硬件工程師都應(yīng)該了解一下相關(guān)的內(nèi)容!

1寫在前面

ADC:Analog Digital Converter,指模數(shù)轉(zhuǎn)換,也就是(電壓)模擬量轉(zhuǎn)換成數(shù)字量。

大多數(shù)MCU中都集成了ADC模塊,同時(shí)ADC也是在產(chǎn)品開發(fā)中使用率較高的一個(gè)模塊,相信大部分人都使用過ADC這個(gè)功能。

STM32中內(nèi)置最多四個(gè)高級(jí)12位ADC控制器(ADC1、2、3、4)。當(dāng)然,ADC控制器數(shù)量多少取決于STM32型號(hào),還有部分STM32具有16位采樣的ADC(如STM32F373)。他們提供自校準(zhǔn)功能,用于提高環(huán)境條件變化時(shí)的ADC精度。

我們平時(shí)在使用ADC中要求不是很高,可能就沒有在于ADC轉(zhuǎn)換的值是否精確。但是,有些特定場(chǎng)合就需要更精確的轉(zhuǎn)換值,那么我們就需要對(duì)ADC做更多了解。下面章節(jié)帶領(lǐng)大家了解相關(guān)內(nèi)容。

2

ADC誤差

在涉及模數(shù)轉(zhuǎn)換的應(yīng)用中, ADC精度會(huì)影響整體的系統(tǒng)質(zhì)量和效率。為了提高此精度,有必要了解與ADC相關(guān)的誤差。

ADC誤差主要包含:ADC自身和環(huán)境導(dǎo)致的誤差。

1.ADC自身導(dǎo)致的誤差

說誤差之前,先說下ADC精度,為便于參考,將精度誤差表達(dá)為1 LSB的倍數(shù):

1 LSB = VREF+ / 2^12.

A.偏移誤差

偏移誤差是第一次實(shí)際轉(zhuǎn)換和第一次理想轉(zhuǎn)換之間的偏離。第一次轉(zhuǎn)換發(fā)生在數(shù)字ADC輸出從0變?yōu)?時(shí)。理想情況下,當(dāng)模擬輸入介于0.5 LSB和1.5 LSB之間時(shí),數(shù)字輸出應(yīng)為1。

仍然是理想情況下,第一次轉(zhuǎn)換發(fā)生在0.5 LSB處。用EO表示偏移誤差??赏ㄟ^應(yīng)用固件輕松校準(zhǔn)偏移誤差。

正偏移誤差的表示方法:

負(fù)偏移誤差的表示方法:

B.增益誤差

增益誤差是最后一次實(shí)際轉(zhuǎn)換和最后一次理想轉(zhuǎn)換之間的偏離。增益誤差用EG表示。

正增益誤差的表示方法:

負(fù)增益誤差的表示方法:

C.微分線性誤差

微分線性誤差( DLE)為實(shí)際步進(jìn)和理想步進(jìn)之間的最大偏離。這里的“理想情況”不是指理想傳輸曲線,而是指ADC分辨率。

理想情況下, 1 LSB的模擬輸入電壓變化量應(yīng)導(dǎo)致數(shù)字代碼變化。如果需要大于1 LSB的模擬輸入電壓才能導(dǎo)致數(shù)字代碼變化,將觀察到微分線性誤差。因此, DLE對(duì)應(yīng)于從一個(gè)數(shù)字代碼變?yōu)橄乱粋€(gè)數(shù)字代碼所需的最大額外電壓。

D.積分線性誤差

積分線性誤差為任何實(shí)際轉(zhuǎn)換和端點(diǎn)相關(guān)線間的最大偏離,用EL表示ILE。

端點(diǎn)相關(guān)線可以定義為A/D傳輸曲線上連接第一次實(shí)際轉(zhuǎn)換與最后一次實(shí)際轉(zhuǎn)換的線。 EL是指與每一次轉(zhuǎn)換的這條線的偏離。因此,端點(diǎn)相關(guān)線對(duì)應(yīng)于實(shí)際傳輸曲線并且與理想傳輸曲線不相關(guān)。

E.總未調(diào)整誤差

總未調(diào)整誤差( TUE)為實(shí)際和理想傳輸曲線間的最大偏離。此參數(shù)指定可能發(fā)生的會(huì)導(dǎo)致理想數(shù)字輸出與實(shí)際數(shù)字輸出之間最大偏離的總誤差。 TUE是記錄到的任何輸入電壓的理想預(yù)期值與從ADC獲得的實(shí)際值之間的最大偏離。

2.ADC環(huán)境導(dǎo)致的誤差

A.參考電壓噪聲

由于ADC輸出為模擬信號(hào)電壓與參考電壓之比,因此模擬參考上的任何噪聲都會(huì)導(dǎo)致轉(zhuǎn)換后數(shù)字值的變化。在某些封裝中, VDDA模擬電源被用作參考電壓( VREF+),因此VDDA電源的質(zhì)量會(huì)影響ADC誤差。

B.參考電壓/電源調(diào)節(jié)

電源調(diào)節(jié)對(duì)于ADC精度十分重要,因?yàn)檗D(zhuǎn)換結(jié)果是模擬輸入電壓與VREF+值之比。

當(dāng)連接到VDDA或VREF+時(shí),如果這些輸入上的負(fù)載及其輸出阻抗導(dǎo)致電源輸出下降,將在轉(zhuǎn)換結(jié)果中產(chǎn)生誤差。

C.外部參考電壓參數(shù)

當(dāng)使用外部參考電壓源( VREF+引腳上)時(shí),該外部參考源有一些重要參數(shù)。必須考慮三個(gè)參考電壓規(guī)格:溫度漂移、電壓噪聲和長期穩(wěn)定性。

D.模擬輸入信號(hào)噪聲

在采樣時(shí)間內(nèi),小而高頻率的信號(hào)變化可導(dǎo)致較大轉(zhuǎn)換誤差。此噪聲由電氣設(shè)備(例如電機(jī)、發(fā)動(dòng)機(jī)點(diǎn)火、電源線)生成。它增加了不需要的信號(hào),因此會(huì)影響源信號(hào)(例如傳感器)。這樣一來,導(dǎo)致ADC轉(zhuǎn)換結(jié)果不準(zhǔn)確。

E.最大輸入信號(hào)幅度的ADC動(dòng)態(tài)范圍匹配不佳

為獲得最高ADC轉(zhuǎn)換精度, ADC動(dòng)態(tài)范圍必須與待轉(zhuǎn)換信號(hào)的最大幅度相匹配。

我們假設(shè)待轉(zhuǎn)換信號(hào)在0 V與2.5 V之間變化,并且VREF+等于3.3 V。 如下圖,有部分未使用的ADC轉(zhuǎn)換范圍,也會(huì)使轉(zhuǎn)換后信號(hào)精度下降。

3

如何提高ADC采集數(shù)據(jù)準(zhǔn)確性

這個(gè)問題之前寫過相關(guān)的內(nèi)容,只是沒有單獨(dú)提出來說,這里匯總一下。

1.減少ADC相關(guān)誤差的影響

上面描述了“ADC自身導(dǎo)致的誤差”,使用STM32 ADC自校準(zhǔn)功能或通過微控制器固件可以輕松補(bǔ)償偏移誤差和增益誤差。

之前在分享的代碼中有提到,比如:ADC_StartCalibration(ADC1);

2.使外部環(huán)境誤差最小化

A.參考電壓/電源噪聲最小化

也就是在VREF和VDDA引腳連接外部去耦電容。

B.模擬輸入信號(hào)噪聲消除

通過添加外部RC濾波器以消除高頻。

C.將ADC動(dòng)態(tài)范圍與最大信號(hào)幅度進(jìn)行匹配

也就是將參考電壓范圍匹配采樣電壓(當(dāng)然,需要有參考電壓引腳的芯片才行)。

同時(shí),也可以使用放大器針對(duì)ADC范圍調(diào)整輸入信號(hào)范圍:

D.溫度影響補(bǔ)償

第一種方法是完整描述偏移和增益漂移特性,并在存儲(chǔ)器中提供查詢表,以便根據(jù)溫度變化修正測(cè)量值。此校準(zhǔn)方法需要額外的成本和時(shí)間。

第二種方法包括使用內(nèi)部溫度傳感器和ADC看門狗,以在溫度變化達(dá)到給定值時(shí)重新校準(zhǔn)ADC。

E.優(yōu)化PCB布局

將模擬和數(shù)字布局分開

隔離模擬和數(shù)字電路電源

對(duì)供電和接地使用單獨(dú)的PCB層

3.提高精度的軟件方法

A.平均采樣

·平均會(huì)降低速度但可以提高精度

B.數(shù)字濾波(抑制DC值中的50/60 Hz噪聲)

·設(shè)置適當(dāng)?shù)牟蓸宇l率(這種情況下,從計(jì)時(shí)器觸發(fā)十分有用)。

·對(duì)采樣數(shù)據(jù)執(zhí)行軟件后處理(例如,對(duì)50 Hz噪聲及其諧波抑制進(jìn)行組合濾波)。

C.AC測(cè)量的快速傅里葉變換( FFT)

·此方法可以顯示被測(cè)信號(hào)中的諧波部分。

·由于使用了更強(qiáng)的計(jì)算能力,因此速度較慢。

D.ADC校準(zhǔn):偏移、增益、位權(quán)重校準(zhǔn)

·ADC校準(zhǔn)可減少內(nèi)部ADC誤差。但是,必須知道內(nèi)部ADC結(jié)構(gòu)。

E.使CPU生成的內(nèi)部噪聲最小化

應(yīng)用設(shè)計(jì)必須確保

·ADC轉(zhuǎn)換期間來自微控制器的干擾盡可能小。

·使采樣和轉(zhuǎn)換期間的數(shù)字信號(hào)變化量最小化(數(shù)字靜默)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16900

    瀏覽量

    349951
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16111

    瀏覽量

    177091
  • 模數(shù)轉(zhuǎn)換

    關(guān)注

    1

    文章

    213

    瀏覽量

    36816

原文標(biāo)題:想提高ADC采集精度,你有辦法嗎?

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何提高AT32 MCU ADC轉(zhuǎn)換精度

    AT32的微控制器內(nèi)置最多三個(gè)高級(jí)12位片上SAR模擬數(shù)字轉(zhuǎn)換器(ADC)并提供自校準(zhǔn)功能,用于提高環(huán)境條件變化時(shí)的ADC精度。在涉及模數(shù)轉(zhuǎn)換的應(yīng)用中,
    發(fā)表于 10-24 12:04 ?2936次閱讀

    過采樣提高12位ADC精度

    過采樣提高12位ADC精度 背景: 過去傳統(tǒng)的按鍵都是機(jī)械按鍵,隨著技術(shù)的發(fā)展也出現(xiàn)了觸摸按鍵,但是機(jī)械按鍵不能泡水,壽命也比較短。觸摸按鍵也沒法有很多水或泡沫等,金屬面板還不能使用。 壓感就應(yīng)
    發(fā)表于 09-19 19:29

    ADC精度采集

    ADC
    橙群微電子
    發(fā)布于 :2023年02月24日 09:37:18

    過采樣提高ADC精度

    本帖最后由 eehome 于 2013-1-5 09:55 編輯 過采樣提高ADC精度
    發(fā)表于 08-15 16:23

    提高STM32ADC精度

    提高STM32ADC精度
    發(fā)表于 08-27 13:58

    STM8S ADC采集精度不夠有什么解決辦法嗎?

    10K電阻接到IO口上的,10位ADC精度0.003V,顯示精度別人都是做到0.01的精度,我期望表頭能顯示到0.001的精度,有什么
    發(fā)表于 11-20 11:21

    如何提高STM8S ADC采集精度?

    是直接10K電阻接到IO口上的,10位ADC精度0.003V,顯示精度別人都是做到0.01的精度,我期望表頭能顯示到0.001的精度,有什么
    發(fā)表于 11-27 17:03

    請(qǐng)問如何提高數(shù)據(jù)采集系統(tǒng)的精度

    我是一枚在荷蘭電子信息工程專業(yè)留學(xué)生,我的同學(xué)外國同學(xué)正在做一項(xiàng)實(shí)習(xí)設(shè)計(jì),他想請(qǐng)教一些問題。設(shè)計(jì)內(nèi)容:提高數(shù)據(jù)采集系統(tǒng)的精度和改善其延時(shí)問題。該系統(tǒng)為傳感器→抗混淆濾波器→ADC→FP
    發(fā)表于 05-24 06:25

    查看ADC轉(zhuǎn)化時(shí)間采集精度

    文章目錄系統(tǒng)時(shí)間查看ADC轉(zhuǎn)化時(shí)間采集精度提高穩(wěn)定性示例代碼系統(tǒng)時(shí)間查看ADC掛在APB2上,對(duì)應(yīng)的時(shí)鐘為PCLK2,由系統(tǒng)時(shí)鐘SYSCLK
    發(fā)表于 08-04 07:26

    如何提高AT32的ADC轉(zhuǎn)換精度

    如何提高AT32的ADC轉(zhuǎn)換精度設(shè)計(jì)者在使用AT32芯片ADC模塊時(shí),提供注意事項(xiàng)和軟、硬件的設(shè)計(jì)建議。
    發(fā)表于 10-24 07:36

    ADC的各種指標(biāo)如何理解如何提高ADC轉(zhuǎn)換精度

    在此我們簡要總結(jié)一下ADC的各種指標(biāo)如何理解,以及從硬件到軟件都有哪些可以采用的手段來提高ADC的轉(zhuǎn)換精度。
    發(fā)表于 03-18 01:16 ?26次下載
    <b class='flag-5'>ADC</b>的各種指標(biāo)如何理解如何<b class='flag-5'>提高</b><b class='flag-5'>ADC</b>轉(zhuǎn)換<b class='flag-5'>精度</b>

    AN2668_通過過采樣來提高STM32的ADC精度

    AN2668_通過過采樣來提高STM32的ADC精度
    發(fā)表于 11-21 17:06 ?10次下載
    AN2668_通過過采樣來<b class='flag-5'>提高</b>STM32的<b class='flag-5'>ADC</b><b class='flag-5'>精度</b>

    AN059 提高ADC采樣精度的方法

    AN059 提高ADC采樣精度的方法
    發(fā)表于 03-01 18:50 ?14次下載
    AN059 <b class='flag-5'>提高</b><b class='flag-5'>ADC</b>采樣<b class='flag-5'>精度</b>的方法

    AT32講堂032 | 如何提高AT32 MCU ADC轉(zhuǎn)換精度

    概述AT32的微控制器內(nèi)置最多三個(gè)高級(jí)12位片上SAR模擬數(shù)字轉(zhuǎn)換器(ADC)并提供自校準(zhǔn)功能,用于提高環(huán)境條件變化時(shí)的ADC精度。在涉及模數(shù)轉(zhuǎn)換的應(yīng)用中,
    的頭像 發(fā)表于 11-01 09:58 ?2126次閱讀
    AT32講堂032 | 如何<b class='flag-5'>提高</b>AT32 MCU <b class='flag-5'>ADC</b>轉(zhuǎn)換<b class='flag-5'>精度</b>

    如何校準(zhǔn)adc提高精度

    校準(zhǔn)ADC(模數(shù)轉(zhuǎn)換器)以提高精度是確保系統(tǒng)精確采集模擬信號(hào)的重要步驟。以下是一些常見的校準(zhǔn)ADC提高精度的方法: 一、硬件校準(zhǔn)方法 外部
    的頭像 發(fā)表于 10-31 11:10 ?178次閱讀