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

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

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

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

雅特力 AT32 MCU ? 2022-11-01 09:58 ? 次閱讀

概述

AT32的微控制器內(nèi)置最多三個(gè)高級(jí)12位片上SAR模擬數(shù)字轉(zhuǎn)換器ADC)并提供自校準(zhǔn)功能,用于提高環(huán)境條件變化時(shí)的ADC精度。在涉及模數(shù)轉(zhuǎn)換的應(yīng)用中,ADC精度會(huì)影響整體的系統(tǒng)質(zhì)量和效率。為了提高此精度,必須了解ADC相關(guān)的運(yùn)作和影響精度的原因。

SAR ADC使用一個(gè)采樣電容充電至輸入信號(hào)電壓,SAR邏輯對(duì)此電壓做數(shù)據(jù)轉(zhuǎn)換。然而,這個(gè)ADC內(nèi)的采樣電容是由外部的信號(hào)源直接充電的,也因著采樣電容值、輸入阻抗、還有外部線路影響,需要一段充電穩(wěn)定時(shí)間來(lái)保證對(duì)輸入信號(hào)電壓量測(cè)的準(zhǔn)確性。為達(dá)到好的ADC量測(cè),必需設(shè)置足夠的采樣時(shí)間。否則,前一次在某一輸入通道轉(zhuǎn)換所殘余在采樣電容上的電荷,會(huì)影響目前正在進(jìn)行轉(zhuǎn)換通道的準(zhǔn)確性。ADC精度不僅取決于ADC性能和功能,還取決于ADC周圍的整體應(yīng)用設(shè)計(jì)。此應(yīng)用筆記旨在幫助用戶如何設(shè)置正確軟、硬件使ADC達(dá)到準(zhǔn)確的量測(cè),也提供相關(guān)應(yīng)用上的注意事項(xiàng)。

ADC的誤差來(lái)源及其誤差最小化辦法

本章列出了影響ADC轉(zhuǎn)換精度的主要誤差。這些類型的誤差存在于所有ADC中,轉(zhuǎn)換質(zhì)量將取決于它們的消除情況。為便于參考,將精度誤差以LSB為單位來(lái)表達(dá)。就電壓而言,通過(guò)將LSB數(shù)乘以1 LSB對(duì)應(yīng)的電壓來(lái)計(jì)算電壓誤差(1 LSB=VREF+/4096或VDDA/4096)。

ADC自身誤差

ADC自身誤差為ADC本身設(shè)計(jì)和制造時(shí)所產(chǎn)生本體的誤差,這類誤差通常由以下靜態(tài)參數(shù)顯示:微分線性誤差(DNL)、積分線性誤差(INL)、偏移誤差(OE)、增益誤差(GE)、和總未調(diào)整誤差(TUE)。AT32微控制器數(shù)據(jù)手冊(cè)的ADC特性部分規(guī)定了這些誤差的定義和值。其中TUE為實(shí)際和理想傳輸曲線間的最大偏離,此參數(shù)指定可能發(fā)生的會(huì)導(dǎo)致理想數(shù)字輸出與實(shí)際數(shù)字輸出之間最大偏離誤差。(注意TUE不是DNL、INL、OE、與GE之和,它可能源自同時(shí)發(fā)生的一種或多種誤差。)

AT32 ADC自校準(zhǔn)功能可以補(bǔ)償偏移誤差,在ADC使用前先進(jìn)行一次自校準(zhǔn)可保證在數(shù)據(jù)手冊(cè)揭示范圍的任何環(huán)境條件之下,TUE小于4 LSB,也就是保證12位ADC靜態(tài)準(zhǔn)確度(accuracy)可達(dá)10位以上。

至于ADC的動(dòng)態(tài)參數(shù)(如:ENOB)及其代表的誤差程度,通常在語(yǔ)音和特定音頻應(yīng)用才會(huì)考慮,在一般MCU的應(yīng)用場(chǎng)合不會(huì)太重視,在本文中也不于討論。

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

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

供電側(cè)噪聲而言,開(kāi)關(guān)式電源模塊通常內(nèi)置快速切換功率晶體管,這會(huì)在輸出中產(chǎn)生高頻噪聲,此切換噪聲介于15 kHz至1 MHz之間,也需留意。線性穩(wěn)壓器的輸出質(zhì)量更佳。如果使用切換電源,建議使用線性穩(wěn)壓器供應(yīng)模擬級(jí)。建議在電源線和地線之間連接具有優(yōu)良高頻特性的電容。應(yīng)在靠近電源的位置安裝一個(gè)0.1 μF和一個(gè)1至10 μF的電容。這些電容允許直流信號(hào)通過(guò)它們。小值電容過(guò)濾高頻噪聲,高值電容過(guò)濾低頻噪聲。要過(guò)濾高頻噪聲,還可使用與電源串聯(lián)的鐵氧體電感器(ferrite bead)。由于線的串行電阻極低,此解決方案導(dǎo)致的直流損失極低(可忽略不計(jì)),除非電流很大。

微控制器端VDD和VSS引腳的安裝位置很接近,因此可以在盡量靠近的位置通過(guò)極短的引線將電容連接到微控制器。VDDA和VREF+引腳必須連接到兩個(gè)外部去耦電容,100 nF陶瓷電容加上1 μF鉭電容或陶瓷電容。注意數(shù)字地與模擬地應(yīng)相互隔離,避免噪聲串?dāng)_。

圖1. 具有VREF引腳封裝的電源和參考去耦2bea8d72-5753-11ed-b116-dac502259ad0.png圖2. 無(wú)VREF引腳封裝的電源和參考去耦2c10368a-5753-11ed-b116-dac502259ad0.pngGPIO輸入電壓電平超出常規(guī)AT32F403系列、AT32F413系列、和AT32F415系列作為具有ADC輸入功能的任一GPIO引腳,輸入的電壓不能超過(guò)VDD+0.3V(VDDA與VDD須同電位),否則會(huì)由芯片內(nèi)部干擾ADC輸入信號(hào)。只要是ADC輸入功能的GPIO,即使只當(dāng)I/O輸入用途,如果輸入的電壓超過(guò)VDD+0.3V,也會(huì)干擾其它ADC通道轉(zhuǎn)換結(jié)果。如果存在此種高電壓,建議使用電阻分壓或減壓到小于VDD的電壓范圍。

其它AT32型號(hào)MCU則沒(méi)有以上限制(例如:AT32F403A、AT32F407、AT32F421、AT32F435/437等系列),所有具有ADC輸入功能的GPIO引腳都是耐5V引腳。這類引腳在未使用作ADC輸入信號(hào)而作為數(shù)字輸入時(shí),需設(shè)置為浮空輸入、輸入上拉、或輸入下拉模式,就可以輸入高于VDD的電壓而不干擾ADC的操作。但使用者仍需注意輸入電壓不可超出5.5V。但作為ADC輸入使用設(shè)置為模擬模式時(shí),則失去耐5V特性,使用者需注意輸入電壓不可超出VDD+0.3V。

在GPIO引腳輸入負(fù)電壓也會(huì)干擾ADC的轉(zhuǎn)換。注意輸入電壓不可低于-0.3V。

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

采樣平均濾波

此方法是一個(gè)簡(jiǎn)單的技巧,即通過(guò)軟件對(duì)模擬輸入多次采樣,取所有結(jié)果的均值。當(dāng)模擬電壓不頻繁變化時(shí),此技巧有助于消除模擬輸入上的噪聲。如果被測(cè)模擬信號(hào)產(chǎn)生不穩(wěn)定的ADC值,軟件運(yùn)算時(shí)則可以通過(guò)剔除大值和小值,選擇適當(dāng)數(shù)量的待平均樣本執(zhí)行平均。此數(shù)量取決于需要的精度、最低轉(zhuǎn)換速度。平均濾波法的優(yōu)勢(shì)是可以在無(wú)任何硬件變更的情況下提高ADC精度。它的缺點(diǎn)是轉(zhuǎn)換速度和頻率響應(yīng)較慢,相當(dāng)于降低了有效采樣頻率。平均濾波法也針對(duì)不同需求發(fā)展出各樣差別,如:限幅濾波、中位值濾波、遞推平均濾波、消抖濾波及其組合等等的算法。使用者可根據(jù)信號(hào)特性和芯片資源選擇合適的數(shù)據(jù)平均方式。

添加外部濾波器

添加外部RC濾波器以消除高頻。無(wú)需使用昂貴的濾波器來(lái)處理頻率分量高于所涉頻率范圍的信號(hào)。這種情況下,截止頻率fC剛好高于所涉頻率范圍的相對(duì)簡(jiǎn)單的低通濾波器將足以限制噪聲和混疊。使用與所涉最高頻率相同的采樣率足以,通常為fC的2至5倍。但添加了外部RC濾波器時(shí),ADC的采樣時(shí)間和采樣間隔都需要重新評(píng)估,否則可能造成更大的量測(cè)誤差。請(qǐng)?jiān)敿?xì)參考第3章內(nèi)容。模擬信號(hào)源阻抗的影響在源和引腳之間的模擬信號(hào)源的阻抗或串聯(lián)電阻(RAIN),可能會(huì)因?yàn)椴蓸訒r(shí)流入或流出引腳的電流而導(dǎo)致其上的電壓瞬間改變,這時(shí)ADC內(nèi)部采樣保持電容充滿電所需要的時(shí)間會(huì)延長(zhǎng)。如果采樣時(shí)間短于將內(nèi)部采樣電容充分充放電所需的時(shí)間,則ADC轉(zhuǎn)換的數(shù)字值會(huì)與實(shí)際值有徧差。

關(guān)于模擬信號(hào)源具有高輸入阻抗特性或加入RC濾波器時(shí),ADC的測(cè)量設(shè)置請(qǐng)?jiān)敿?xì)參考第3章內(nèi)容。

CPU生成的內(nèi)部噪聲當(dāng)CPU(以及其他外設(shè))操作時(shí),會(huì)產(chǎn)生大量?jī)?nèi)部和外部信號(hào)變化,這些變化通過(guò)電容耦合傳輸?shù)紸DC外設(shè)。此類干擾影響ADC精度。

為使CPU(以及其他外設(shè))對(duì)ADC的影響最小化,必須使采樣和轉(zhuǎn)換期間的數(shù)字信號(hào)變化量最小化(數(shù)字靜默)。使用下列方法之一可以實(shí)現(xiàn)這一點(diǎn)(在采樣和轉(zhuǎn)換時(shí)間內(nèi)實(shí)現(xiàn)):

內(nèi)部CPU變化量最小化(CPU停止,等待模式)

溫度影響溫度對(duì)ADC精度有重要影響。它主要產(chǎn)生兩種重要誤差:偏移誤差漂移和增益誤差漂移。建議使用內(nèi)部溫度傳感器和ADC看門狗,以在溫度變化達(dá)到給定值時(shí)重新校準(zhǔn)ADC。I/O引腳串?dāng)_由于I/O之間的電容耦合,切換I/O可能會(huì)在ADC的模擬輸入中產(chǎn)生一些噪聲。彼此距離很近或交叉的PCB走線可能會(huì)產(chǎn)生串?dāng)_。內(nèi)部切換數(shù)字信號(hào)和I/O會(huì)產(chǎn)生高頻噪聲。由于電流浪涌,切換高灌電流I/O可能導(dǎo)致電源電壓小幅下降。

PCB上與模擬輸入走線交叉的數(shù)字走線可能影響模擬信號(hào)。通過(guò)讓接地走線來(lái)屏蔽模擬信號(hào),可以減少串?dāng)_產(chǎn)生的噪聲。PCB布線時(shí),應(yīng)考慮對(duì)ADC輸入信號(hào)給予屏蔽,可在信號(hào)線周圍鋪銅并就近接地,同時(shí)應(yīng)盡量縮短走線距離。另外在ADC采樣和轉(zhuǎn)換時(shí)間內(nèi)實(shí)現(xiàn)I/O引腳變化量最小化,對(duì)減小對(duì)ADC的干擾很有幫助。

EMI產(chǎn)生的噪聲鄰近電路產(chǎn)生的電磁輻射可能在模擬信號(hào)中產(chǎn)生高頻噪聲,此時(shí)PCB走線相當(dāng)于天線接收干擾噪聲。使用者可以通過(guò)在可能的發(fā)射源和接收器之間提供物理隔離,或通過(guò)適當(dāng)?shù)慕拥睾推帘未胧?duì)它們進(jìn)行電氣隔離。

沿敏感模擬信號(hào)布置接地走線,在PCB上提供屏蔽。雙層PCB的另一側(cè)也應(yīng)具有接地板。這樣可以防止干擾和I/O串?dāng)_影響信號(hào)。應(yīng)使用屏蔽線纜將遠(yuǎn)距離信號(hào)(例如:傳感器)連接到PCB或注意盡可能縮短PCB上信號(hào)的路徑長(zhǎng)度。晶振、時(shí)鐘以及存在快速變化的信號(hào)線盡量遠(yuǎn)離ADC輸入信號(hào)。

ADC輸入源阻抗對(duì)測(cè)量的影響和正確的設(shè)置方式

SAR ADC的量測(cè)要求設(shè)置足夠的采樣時(shí)間讓ADC內(nèi)采樣電路充分充、放電,以獲得轉(zhuǎn)換的準(zhǔn)確性。多通道間切換的使用也是同樣道理,足夠的采樣時(shí)間可以避免輸入通道間的交互干擾(crosstalk)。為了計(jì)算估計(jì)的采樣時(shí)間,圖3給出一個(gè)能近似ADC采樣線路的等效阻值和容值(包含:模擬多工器、模擬開(kāi)關(guān)、寄生電容、采樣電容…等)的電路圖。圖3. 輸入級(jí)與ADC簡(jiǎn)化示意圖 - 采樣和保持電路2c2804c2-5753-11ed-b116-dac502259ad0.png

其中模擬信號(hào)輸入源對(duì)ADC的輸入阻抗(RAIN),直接與ADC采樣時(shí)間有關(guān),影響ADC轉(zhuǎn)換結(jié)果甚巨。未考慮輸入阻抗使得ADC輸入的外部器件與軟件設(shè)置的采樣時(shí)間不批配,往往是造成ADC使用問(wèn)題的原因。以下分別針對(duì)信號(hào)源具有一般輸入阻抗或高輸入阻抗,分別探討如何正確設(shè)置ADC的軟、硬件。

一般輸入阻抗的測(cè)量設(shè)置

VC是內(nèi)部CADC電容兩側(cè)的電壓(請(qǐng)參見(jiàn)圖4)。對(duì)于給定的采樣tC,可以考慮VAIN=VREF+所對(duì)應(yīng)的tC需要采樣時(shí)間是最大值,因?yàn)榇藭r(shí)CADC電容需要最多時(shí)間從0V充電到VAIN。因此,VAIN=VREF是驗(yàn)證最大源電阻時(shí)要考慮的最壞情況。通過(guò)軟件設(shè)置增加采樣時(shí)間或降低ADC時(shí)鐘頻率可等效加長(zhǎng)采樣時(shí)間,當(dāng)采樣時(shí)間越長(zhǎng)越可以獲得好的轉(zhuǎn)換結(jié)果。圖4. 模擬信號(hào)源對(duì)采樣和保持電路充電示意圖2c32263c-5753-11ed-b116-dac502259ad0.png

一般我們假設(shè)允許的最大誤差等于1 LSB,照RC充放電公式:

2c48ad26-5753-11ed-b116-dac502259ad0.png

其中V(t)帶入VREF×(1-1/212),VAIN帶入VREF;而時(shí)間常數(shù)τ=(RAIN+RADC)xCADC,采樣時(shí)間大于8.32x(RAIN+RADC)xCADC就可達(dá)到1LSB誤差之內(nèi)。若使用者要求較低的準(zhǔn)確度,可進(jìn)一步增大允許的外部電阻RAIN。

高輸入阻抗的測(cè)量設(shè)置

ADC輸入信號(hào)源常有存在高阻特性。例如系統(tǒng)電池電壓經(jīng)電阻分壓后輸入給ADC采集,因分壓電阻會(huì)形成一個(gè)直流耗電路徑,為節(jié)省耗電,分壓電阻串常使用100 kΩ到1 MΩ的阻值組合而成。又或者有些傳感器本身為弱電流輸出,通過(guò)外接一大電阻轉(zhuǎn)換為電壓后輸入給ADC。以上硬件往往都無(wú)法以上一節(jié)方法調(diào)試出適合的采樣時(shí)間,(例如軟件已設(shè)置采樣時(shí)間至最大值仍無(wú)法獲得準(zhǔn)確的轉(zhuǎn)換值,或降低ADC時(shí)鐘又使得整體采樣間隔太長(zhǎng),)此時(shí)可以在ADC輸入通道前增加運(yùn)算放大器,可以提高輸入驅(qū)動(dòng)能力,如圖5。此方案可大大縮短ADC的采樣時(shí)間以及采樣間隔,但缺點(diǎn)是增加了器件成本。另外在設(shè)計(jì)前置放大器時(shí),必須注意可能額外產(chǎn)生的誤差(例如額外的偏移、放大器增益穩(wěn)定性或線性、頻率響應(yīng))。并且若未慎選運(yùn)算放大器,這些放大器的誤差會(huì)成為另外測(cè)量誤差的來(lái)源。圖5. ADC輸入通道前增加運(yùn)算放大器示意圖2c5f1188-5753-11ed-b116-dac502259ad0.png

若硬件電路不容許增加運(yùn)算放大器,無(wú)法通過(guò)提高采樣時(shí)間滿足要求,此時(shí)還可以采用外接電容作為電荷存儲(chǔ)器的方法。

SAR ADC內(nèi)部采樣保持電容在采樣開(kāi)關(guān)接通后,在采保電容穩(wěn)定時(shí)間內(nèi)需要一個(gè)足夠的充放電電流,而通常實(shí)際的信號(hào)電路若具有較高的輸入阻抗,往往不能提供足夠大的電流快速為ADC內(nèi)采樣電容充電。為此大部分的應(yīng)用都采用在ADC輸入管腳到地接一個(gè)外部大電容作為一個(gè)電荷存儲(chǔ)器,即圖3中的CEXT。這個(gè)電容參與采樣時(shí)電路的充放電過(guò)程,以便向SAR ADC采樣電容提供充足的電荷,而對(duì)內(nèi)部采樣電容進(jìn)行快速充電,并且穩(wěn)定ADC輸入點(diǎn)的電壓。此CEXT與RAIN組成的RC濾波器也順帶限制到達(dá)ADC輸入端的帶外噪聲,同時(shí)也幫助衰減ADC輸入端中開(kāi)關(guān)電容頻繁切換和通斷的反沖噪聲影響。當(dāng)然此RC濾波器也限制了VAIN信號(hào)源的截止頻率。

計(jì)算CEXT

當(dāng)采樣開(kāi)關(guān)接通后,會(huì)在CEXT和CADC之間有一段電荷重新分配的過(guò)程,這一段RC時(shí)間常數(shù)主要是由RADC的最大阻值和CADC的最大容值決定的。在考慮CEXT和CADC之間電荷分配時(shí),CPAD因?yàn)橄鄬?duì)微小且與CEXT并聯(lián),是可以忽略的。電荷分配的算式是基于「分配前的全部電荷等于分配后的全部電荷」。假設(shè)現(xiàn)在CADC是完全放電的,而CEXT儲(chǔ)存著和VAIN一樣的電壓。VC(分配后的電壓)定規(guī)為VAIN的0.999939倍,這個(gè)意義是VC最后徧差在VAIN的1 LSB之內(nèi),以12位解析度來(lái)記算。2c72a05e-5753-11ed-b116-dac502259ad0.png例如CADC=15 pF,CEXT=4095x15 pF=61.4 nF。這是CEXT的絕對(duì)最小值。在實(shí)際選擇器件值時(shí)必需確認(rèn)考慮到器件誤差和老化因素,選擇大一點(diǎn)的值是可以的,如68 nF。如果電容值選擇再大,其實(shí)對(duì)采樣時(shí)間要再縮短并沒(méi)有實(shí)質(zhì)幫助,反而限制了ADC輸入信號(hào)的頻寬。但如果一個(gè)12位的ADC配罝CEXT<4095xCADC,反而會(huì)要求相當(dāng)大的采樣時(shí)間讓CADC充電足夠。所以若CEXT<4095xCADC而且使用者若沒(méi)有需要anti-aliasing濾波器的情況下,還不如不要加CEXT。若要求的精準(zhǔn)度沒(méi)有這么高,CEXT的數(shù)值可以照前面公式減小,這時(shí)ADC輸入信號(hào)的頻寬就增大了。相反的若要求精準(zhǔn)度,CEXT就必須提高了,就要付出ADC采樣時(shí)間間隔要拉大,ADC輸入信號(hào)的頻寬縮小的代價(jià)。

計(jì)算RAIN

所有對(duì)外部電容CEXT充電的阻值總合程為RAIN,也就是從CEXT看到驅(qū)動(dòng)信號(hào)源的等效阻值。當(dāng)RAIN變大,RAIN和CEXT所型成的截止頻率就會(huì)變低。這表示當(dāng)輸入信號(hào)開(kāi)始變動(dòng)到CEXT電荷穩(wěn)定的這段反應(yīng)時(shí)間會(huì)增加。要準(zhǔn)確度穩(wěn)定達(dá)到12位解析度誤差1 LSB之內(nèi),RC線路的時(shí)間常數(shù)要求為:ln(212)=8.32倍。Cext和Rain型成的截止頻率為:2c8aca08-5753-11ed-b116-dac502259ad0.png以前段CEXT=62?nF為例,若RAIN=200Ω,截止頻率可達(dá)9.7kHz;但若RAIN=20kΩ,僅可接受97Hz。源的頻率若超以上截止頻率,ADC轉(zhuǎn)換結(jié)果會(huì)不準(zhǔn)確。注意此時(shí)程序不得將ADC設(shè)定為連續(xù)模式,而應(yīng)設(shè)定為單點(diǎn)模式或以定時(shí)器間隔觸發(fā)轉(zhuǎn)換,軟件必 須確保兩次轉(zhuǎn)換之間的時(shí)間間隔等于或大于1/f。

采樣時(shí)間不足的后果

若遵照計(jì)算CEXT的方式在ADC輸入放置足夠大的CEXT,要使CADC穩(wěn)定所需要的時(shí)間就顯得非常短。另外也只有一個(gè)情況之下可以不需要CEXT就是RAIN很小的時(shí)候。一般來(lái)說(shuō)RAIN很小是因?yàn)閭鞲衅饔休敵鼍彌_極,這是RAIN都小于100Ω。以上情況采樣時(shí)間都容易滿足。

不足的采樣時(shí)間會(huì)造成ADC通道間互相干擾。就如本文開(kāi)頭所討論的,這是因?yàn)殡姾蓮囊粋€(gè)通道累積在CADC上并轉(zhuǎn)移到另一個(gè)通道,造成通道間互相影響。

信號(hào)源高阻的后果

通常造成以上所述通道間干擾的原因是因?yàn)樾盘?hào)源輸入阻抗太高了。若要達(dá)到1 LSB的準(zhǔn)確度,就必需在各通道轉(zhuǎn)換中間加入延時(shí),后果就是整體的轉(zhuǎn)換時(shí)間變慢。如果沒(méi)有加上CEXT或著電容值太小,而采樣時(shí)間又不足,ADC轉(zhuǎn)換出來(lái)的結(jié)果因?yàn)橥ǖ篱g干擾而永遠(yuǎn)達(dá)不到1 LSB的準(zhǔn)確度。

關(guān)于輸入阻抗匹配的其他建議

以近期ADC朝向低功耗、高采樣頻率、并復(fù)雜功能的方向進(jìn)行設(shè)計(jì),ADC的采樣行為已經(jīng)不是如上文以一階簡(jiǎn)易的RADC和CADC模型可以仿真的了,因此近期普遍ADC規(guī)格中只提供CADC的典型值,而不再提供RADC數(shù)值。取而代之的是ADC輸入信號(hào)阻抗(RAIN)與采樣時(shí)間(ts)的對(duì)應(yīng)關(guān)系表,如下表所示。(下表自AT32F403A系列數(shù)據(jù)手冊(cè)截取。)表1. fADC=28MHz時(shí)的最大RAIN(1)2c9f1968-5753-11ed-b116-dac502259ad0.png(1) 由設(shè)計(jì)保證。在可以得知ADC信號(hào)源的輸入阻抗時(shí),使用者不需進(jìn)行計(jì)算,只要照表格指示透過(guò)軟件設(shè)置足夠的采樣時(shí)間,一般都會(huì)得到合理的ADC轉(zhuǎn)換值。但在一般情況下,使用者常常難以直接或間接得知ADC輸入信號(hào)的阻抗時(shí),最好的方法是逐步調(diào)試軟件采樣時(shí)間。

使用者可以依照下述步驟調(diào)試ADC的采樣時(shí)間:

  • 首先設(shè)置ADC時(shí)鐘頻率為最高值,并設(shè)置采樣周期為最大值;
  • 嘗試ADC轉(zhuǎn)換并檢視轉(zhuǎn)換結(jié)果;
  • 若轉(zhuǎn)換數(shù)值符合預(yù)期,則可逐步調(diào)試減小采樣周期并觀察ADC轉(zhuǎn)出值,以求得足夠而不過(guò)長(zhǎng)的采樣時(shí)間;
  • 若最大采樣時(shí)間所得轉(zhuǎn)換值不符合預(yù)期,使用者需要降低ADC時(shí)鐘頻率,或是照著前文計(jì)算并外加合適大小的CEXT;硬件設(shè)置完成后再修改軟件設(shè)置,逐步調(diào)試出合適的采樣時(shí)間及采樣間隔。

另外若采樣間隔時(shí)間許可時(shí),采取一些軟件技巧也會(huì)提高ADC轉(zhuǎn)換的準(zhǔn)確度,例如:

  • 采用平均法、移動(dòng)平均法、或中值濾波;
  • 對(duì)同一ADC通道采樣兩次,將第一次的值丟棄而使用第二次的采樣的值。此種方式可以消除輸入源內(nèi)阻過(guò)大而在不同通道切換時(shí),上一個(gè)通道的電壓來(lái)不及從采樣電阻放電而累積的電荷,導(dǎo) 致影響下一個(gè)通道的轉(zhuǎn)換值;
  • 若ADC輸入信號(hào)大約在0V到VREF+/2時(shí),可交替轉(zhuǎn)換該ADC輸入通道和內(nèi)部VINTRV源,也可達(dá)到讓采樣電阻有足夠時(shí)間充放電的效果,避免通道間干擾。若有內(nèi)部VSSA通道,交替轉(zhuǎn)換ADC輸入通道和內(nèi)部VSSA通道效果會(huì)更好且省時(shí)。因?yàn)樽孉DC采樣電路放電到VSSA比起充放電到VINTRV可以以更快的采樣時(shí)間達(dá)成。

其它ADC應(yīng)用指南

內(nèi)部參考電壓VINTRV的設(shè)置目的與使用方式

內(nèi)部參考電壓(VINTRV)為ADC提供了一個(gè)穩(wěn)定的電壓輸出。VINTRV內(nèi)部連接到ADC1_IN17輸入通道上,用于將VINTRV的輸出轉(zhuǎn)換為數(shù)字?jǐn)?shù)值。

VINTRV是一個(gè)芯片內(nèi)部的一個(gè)恒定電壓信號(hào)源,按規(guī)格為1.2V±3.3%,在所有VDDA操作電壓范圍內(nèi)都維持在此穩(wěn)定電壓規(guī)格內(nèi),不隨VDDA電壓變動(dòng)而變化。因此,VINTRV在ADC的外部VREF+(通常與VDDA同電源)的電壓未知或VVREF+電壓會(huì)變動(dòng)時(shí)(例如:使用電池電源),可用來(lái)參照推算出VREF+或VDDA電壓以及各ADC_IN輸入的準(zhǔn)確絕對(duì)電壓值。

例如:選定VINTRV通道經(jīng)ADC轉(zhuǎn)換后數(shù)值若為1650(Code_VINTRV),就可以推算出電壓滿格的VREF+或VDDA的電壓為1.2x4096/1650=2.979V。此時(shí)若另一選定的ADC_IN外部通道轉(zhuǎn)換出來(lái)的數(shù)值為800(Code_VAIN),就可采用以下兩種計(jì)算方式:1.2x800/1650或2.979x800/4096,計(jì)算出此外部信號(hào)電壓VAINx為0.582V。

以上范例使用公式如下:

VREF+或VDDA=(VINTRV)x4096/(Code_VINTRV)VAINx=(VINTRV)x(Code_VAIN)/(Code_VINTRV)VAINx=VREF+或VDDAx(Code_VAIN)/4096

使用者可以根據(jù)應(yīng)用系統(tǒng)電源的特性,決定對(duì)VINTRV轉(zhuǎn)換次數(shù)及間隔。若電源為電壓未知但不變動(dòng),可于系統(tǒng)上電后并在ADC初始化并校正后,一次性對(duì)VINTRV轉(zhuǎn)換;若電源為變動(dòng)電壓,就要根據(jù)電源變動(dòng)速度和系統(tǒng)需求決定對(duì)VINTRV轉(zhuǎn)換間隔,多次對(duì)VINTRV轉(zhuǎn)換并更新此參照值,甚至需要對(duì)ADC重新校正。另外溫度變化也可能使電源情況有改變,也可參考2.2.6節(jié)內(nèi)容啟動(dòng)對(duì)VINTRV轉(zhuǎn)換。因VINTRV為內(nèi)部弱電壓源,ADC進(jìn)行采樣時(shí)需要足夠時(shí)間讓VINTRV為采樣電路正確充放電,使用者需確實(shí)遵照數(shù)據(jù)手冊(cè)中的TS_INTRV參數(shù)為VINTRV設(shè)置足夠的采樣時(shí)間,以獲得正確的轉(zhuǎn)換數(shù)值。

關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動(dòng)全球市場(chǎng)32位微控制器(MCU)創(chuàng)新趨勢(shì)的芯片設(shè)計(jì)公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級(jí)別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無(wú)人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競(jìng)周邊市場(chǎng)、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎ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

    文章

    16667

    瀏覽量

    347772
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AT32講堂085 | 雅特力AT32 MCU HICK時(shí)鐘校準(zhǔn)

    簡(jiǎn)介AT32系列MCU內(nèi)部都有提供適合運(yùn)行的內(nèi)部高速時(shí)鐘(HICK),其本質(zhì)就是內(nèi)置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準(zhǔn)到±1%,在-40到105℃,該內(nèi)部高速時(shí)鐘
    的頭像 發(fā)表于 08-30 12:26 ?208次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時(shí)鐘校準(zhǔn)

    如何使用AT32 MCU WDT和WWDT?

    如何使用AT32 MCU WDT和WWDT?
    的頭像 發(fā)表于 11-10 18:26 ?1491次閱讀
    如何使用<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> WDT和WWDT?

    Segger Jscope波形軟件在AT32 MCU的使用

    Segger Jscope波形軟件在AT32 MCU的使用
    的頭像 發(fā)表于 11-10 18:24 ?1736次閱讀
    Segger Jscope波形軟件在<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的使用

    如何在AT32 MCU上使用FPU功能

    如何在AT32 MCU上使用FPU功能
    的頭像 發(fā)表于 11-01 17:18 ?3864次閱讀
    如何在<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>上使用FPU功能

    關(guān)于AT32 MCU溫度傳感器的應(yīng)用

    關(guān)于AT32 MCU溫度傳感器的應(yīng)用
    的頭像 發(fā)表于 10-27 09:44 ?569次閱讀
    關(guān)于<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>溫度傳感器的應(yīng)用

    AT32 MCU Printf的功能使用方法

    AT32 MCU Printf的功能使用方法
    的頭像 發(fā)表于 10-27 09:27 ?833次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> Printf的功能使用方法

    AT32 MCU如何使用USB MSD 進(jìn)行IAP升級(jí)?

    AT32 MCU如何使用USB MSD 進(jìn)行IAP升級(jí)?
    的頭像 發(fā)表于 10-27 09:23 ?950次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>如何使用USB MSD 進(jìn)行IAP升級(jí)?

    AT32 MCU DMA通道的靈活配置

    AT32 MCU DMA通道的靈活配置
    的頭像 發(fā)表于 10-26 17:51 ?876次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> DMA通道的靈活配置

    帶VSCode EIDE的AT32 MCU

    AT32 MCU With VSCode EIDE描述了VSCode開(kāi)發(fā)環(huán)境中,使用Embedded IDE管理AT32項(xiàng)目。
    發(fā)表于 10-26 07:38

    AT32 MCU USART應(yīng)用說(shuō)明

    AT32 MCU USART Application Note介紹了AT32 的USART 功能,并對(duì)BSP 例程的軟件設(shè)計(jì)加以說(shuō)明,同時(shí)演示使用方法并展示實(shí)驗(yàn)效果,供用戶參考。
    發(fā)表于 10-25 08:11

    AT32 MCU ACC使用指南

    AT32 MCU ACC使用指南AT32 MCU 擁有HICK 自動(dòng)時(shí)鐘校準(zhǔn)器,其作用是當(dāng)系統(tǒng)內(nèi)部使用HICK 作為時(shí)鐘源時(shí),若外界環(huán)境改變等因素導(dǎo)致HICK 時(shí)鐘差生偏差時(shí),可利用H
    發(fā)表于 10-25 07:24

    AT32 MCU SDRAM應(yīng)用說(shuō)明

    AT32 MCU SDRAM Application Note本文主要講解AT32 SDRAM 控制器的使用。
    發(fā)表于 10-25 06:37

    AT32 MCU CAN入門指南

    AT32 MCU CAN入門指南本文介紹了CAN 標(biāo)準(zhǔn)協(xié)議,AT32 CAN 的使用流程以及基于AT32 的幾個(gè)CAN 使用例程。
    發(fā)表于 10-25 06:01

    如何提高AT32ADC轉(zhuǎn)換精度

    如何提高AT32ADC轉(zhuǎn)換精度設(shè)計(jì)者在使用AT32芯片AD
    發(fā)表于 10-24 07:36

    AT32 MCU如何設(shè)定啟動(dòng)存儲(chǔ)器為主存擴(kuò)展

    AT32 MCU如何設(shè)定啟動(dòng)存儲(chǔ)器為主存擴(kuò)展
    的頭像 發(fā)表于 10-18 17:50 ?474次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>如何設(shè)定啟動(dòng)存儲(chǔ)器為主存擴(kuò)展