想要提高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ù)字靜默)。
-
mcu
+關(guān)注
關(guān)注
146文章
16900瀏覽量
349951 -
控制器
+關(guān)注
關(guān)注
112文章
16111瀏覽量
177091 -
模數(shù)轉(zhuǎn)換
+關(guān)注
關(guān)注
1文章
213瀏覽量
36816
原文標(biāo)題:想提高ADC采集精度,你有辦法嗎?
文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論