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

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

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

ADC采集的數(shù)據(jù)都準(zhǔn)確嗎?

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-03-04 10:08 ? 次閱讀

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

1寫(xiě)在前面

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

大多數(shù)MCU中都集成了ADC模塊,同時(shí)ADC也是在產(chǎn)品開(kāi)發(fā)中使用率較高的一個(gè)模塊,相信大部分人都使用過(guò)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中要求不是很高,可能就沒(méi)有在于A(yíng)DC轉(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)致的誤差

說(shuō)誤差之前,先說(shuō)下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表示偏移誤差。可通過(guò)應(yīng)用固件輕松校準(zhǔn)偏移誤差。

正偏移誤差的表示方法:

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

B.增益誤差

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

正增益誤差的表示方法:

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

C.微分線(xiàn)性誤差

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

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

D.積分線(xiàn)性誤差

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

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

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

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

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

A.參考電壓噪聲

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

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

電源調(diào)節(jié)對(duì)于A(yíng)DC精度十分重要,因?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ī)格:溫度漂移、電壓噪聲和長(zhǎng)期穩(wěn)定性。

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

在采樣時(shí)間內(nèi),小而高頻率的信號(hào)變化可導(dǎo)致較大轉(zhuǎn)換誤差。此噪聲由電氣設(shè)備(例如電機(jī)、發(fā)動(dòng)機(jī)點(diǎn)火、電源線(xiàn))生成。它增加了不需要的信號(hào),因此會(huì)影響源信號(hào)(例如傳感器)。這樣一來(lái),導(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è)問(wèn)題之前寫(xiě)過(guò)相關(guān)的內(nèi)容,只是沒(méi)有單獨(dú)提出來(lái)說(shuō),這里匯總一下。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

隔離模擬和數(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)換期間來(lái)自微控制器的干擾盡可能小。

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

好了,就寫(xiě)到這里。本文內(nèi)容參考ST官方應(yīng)用筆記內(nèi)容,經(jīng)我整理分享給大家,還有許多方法,大家可以自行研究。

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

    關(guān)注

    146

    文章

    17149

    瀏覽量

    351225
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6498

    瀏覽量

    544687
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1196

    瀏覽量

    50498
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么原因?qū)е铝薃DS1262采集到的數(shù)據(jù)準(zhǔn)確了?

    =2.39v,當(dāng)Vp=1.5v,VN=0v,adc讀取到的數(shù)據(jù)0x101F7626對(duì)應(yīng)的電壓V=0x101F7626/0xFFFFFFFF=0.15v 請(qǐng)問(wèn)下是什么原因?qū)е铝?b class='flag-5'>采集到的數(shù)據(jù)
    發(fā)表于 11-26 08:12

    將LM50接在雙極性的ADC上,能否采集準(zhǔn)確的溫度?

    LM50根據(jù)數(shù)據(jù)手冊(cè)的描述,LM50可以接在A(yíng)MC7836的ADC輸入來(lái)采集溫度,數(shù)據(jù)手冊(cè)中給出的示例是接在“LV_ADC”上的,如果將L
    發(fā)表于 11-13 07:47

    ADC12DL3200的測(cè)試模式下數(shù)據(jù)采集不正確的原因?怎么處理?

    0xh00 0x06C 0xh01 當(dāng)ADC處于測(cè)試模式時(shí),ADC會(huì)發(fā)送固定的Pattern值,但其中一組信號(hào)無(wú)論我怎么調(diào)節(jié)IDELAY的Tap值無(wú)法實(shí)現(xiàn)數(shù)據(jù)正確
    發(fā)表于 11-13 07:38

    TLV320AIC3104內(nèi)置ADC實(shí)現(xiàn)MIC數(shù)據(jù)采集準(zhǔn)確度,為什么Codec測(cè)得的數(shù)據(jù)比原始信號(hào)要大那么多?

    第一個(gè)問(wèn)題:用3104內(nèi)置ADC 實(shí)現(xiàn)MIC數(shù)據(jù)采集準(zhǔn)確度: 實(shí)測(cè)結(jié)果是:采集數(shù)據(jù)與實(shí)現(xiàn)信號(hào)大了約170mVrms; 測(cè)量辦法:用示波
    發(fā)表于 10-14 08:22

    第12章-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細(xì)講解+HAL庫(kù))

    第12章-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細(xì)講解+HAL庫(kù))
    的頭像 發(fā)表于 08-21 16:31 ?2589次閱讀
    第12章-<b class='flag-5'>ADC</b><b class='flag-5'>采集</b>電壓和顯示 基于STM32的<b class='flag-5'>ADC</b>—電壓<b class='flag-5'>采集</b>(詳細(xì)講解+HAL庫(kù))

    國(guó)產(chǎn)ADC兼容AD7606在便攜式振動(dòng)數(shù)據(jù)采集器中應(yīng)用

    國(guó)產(chǎn)ADC兼容AD7606在便攜式振動(dòng)數(shù)據(jù)采集器中應(yīng)用
    的頭像 發(fā)表于 07-04 10:05 ?431次閱讀
    國(guó)產(chǎn)<b class='flag-5'>ADC</b>兼容AD7606在便攜式振動(dòng)<b class='flag-5'>數(shù)據(jù)采集</b>器中應(yīng)用

    16位200kSPS的ADC替代AD7606在數(shù)據(jù)采集系統(tǒng)中應(yīng)用

    16位200kSPS的ADC替代AD7606在數(shù)據(jù)采集系統(tǒng)中應(yīng)用
    的頭像 發(fā)表于 06-03 09:42 ?573次閱讀
    16位200kSPS的<b class='flag-5'>ADC</b>替代AD7606在<b class='flag-5'>數(shù)據(jù)采集</b>系統(tǒng)中應(yīng)用

    STM32F334 ADC1和ADC2同步采樣,有時(shí)會(huì)出現(xiàn)采ADC1和ADC2所有的通道采集數(shù)據(jù)一樣的情況為什么?

    STM32F334 ADC1和ADC2同步采樣,有時(shí)會(huì)出現(xiàn)采ADC1和ADC2所有的通道采集數(shù)據(jù)
    發(fā)表于 05-15 08:15

    ST BlueNRG-1的ADC每個(gè)接一個(gè)模擬量傳感器,可以同時(shí)采集數(shù)據(jù)嗎?

    傳感器,可以同時(shí)采集數(shù)據(jù)嗎? 另外接麥克風(fēng)的PDM接口也用到了ADC單元,可以同時(shí)采集ADC數(shù)據(jù)的同時(shí)同時(shí)
    發(fā)表于 05-06 06:12

    stm32 ADC定時(shí)喚醒采集數(shù)據(jù),工作一段時(shí)間adc值不變了是為什么?

    ,但是不知道過(guò)多久,隨機(jī)的,adc數(shù)據(jù)就會(huì)停留在一個(gè)固定數(shù)值,不論我怎么調(diào)節(jié)模擬輸入無(wú)效 用仿真器查了dma 和數(shù)據(jù)buf 和adc的D
    發(fā)表于 04-11 07:22

    STM32F4 ADC采集數(shù)據(jù)不匹配是什么原因造成的?如何解決?

    地。 然而實(shí)際采集到的數(shù)據(jù)是: 輸入電壓0V~ADC轉(zhuǎn)換數(shù)據(jù)0; 輸入電壓1.054V~ADC轉(zhuǎn)換數(shù)據(jù)
    發(fā)表于 04-02 08:21

    STM32G431的ADC數(shù)據(jù)準(zhǔn)確是什么原因?qū)е碌模?/a>

    我在一個(gè)STM32G431的核心板上做的測(cè)試工程. 使用 ADC1,TIM1,DMA1 實(shí)現(xiàn)的 ADC多通道定時(shí)采集工程. ADC進(jìn)行了校準(zhǔn), 采集
    發(fā)表于 03-26 08:22

    DMA傳輸打印ADC采集數(shù)據(jù)ADC采集直接打印數(shù)據(jù)不同,為什么?如何排查?

    現(xiàn)在發(fā)現(xiàn)利用DMA將ADC采集數(shù)據(jù)傳入數(shù)組打印與直接將ADC采集數(shù)據(jù)打印 出來(lái)有差異,為啥呢
    發(fā)表于 03-19 07:39

    關(guān)于STM32G474 ADC多通道數(shù)據(jù)采集遇到的問(wèn)題求解

    STM32G474 ADC時(shí)鐘:168MHz/4=42MHz 分辨率 12bit 單端輸入 ADC1 采集6通道數(shù)據(jù) 采樣時(shí)間6.5cycle 單端1.65V【0~-10mV左右跳動(dòng)
    發(fā)表于 03-14 08:11

    振弦采集儀:高效準(zhǔn)確,助力工程監(jiān)測(cè)

    工程監(jiān)測(cè)工作更加精確和有效。 振弦采集儀:高效準(zhǔn)確,助力工程監(jiān)測(cè) 首先,振弦采集儀可以實(shí)時(shí)采集振弦信號(hào),并將其轉(zhuǎn)換為數(shù)字信號(hào)進(jìn)行處理。這種數(shù)字信號(hào)處理的方式可以大大降低測(cè)量誤差,提高
    的頭像 發(fā)表于 02-21 13:46 ?389次閱讀
    振弦<b class='flag-5'>采集</b>儀:高效<b class='flag-5'>準(zhǔn)確</b>,助力工程監(jiān)測(cè)