模擬信號(hào)源阻抗對(duì)ADC的影響是什么
在ADC轉(zhuǎn)換部件內(nèi)部,還有個(gè)開關(guān)電阻(RADC)和采樣保持電容CADC。這個(gè)開關(guān)電阻可以理解為ADC轉(zhuǎn)換過程中開關(guān)電路導(dǎo)通時(shí)的等效電阻,其大小一般就幾K上下,視具體的芯片而定。
關(guān)于這個(gè)開關(guān)電阻和采用保持電容以及可允許的最大信號(hào)源電阻(RAIN)的取值范圍,在STM32芯片的數(shù)據(jù)手冊(cè)里都有明確介紹。比如我們可以從STM32F407的數(shù)據(jù)手冊(cè)中ADC特性參數(shù)部分可以看多許多與ADC特性有關(guān)的數(shù)據(jù)。
從表格中可以到ADC能接受的最大外部觸發(fā)頻率,最大外部輸入阻抗RAIN【50K歐姆】,以及內(nèi)部ADC通道的采樣保持電容的典型值【4pf】等。
在做AD轉(zhuǎn)換時(shí),信號(hào)源通過外部輸入電阻和內(nèi)部開關(guān)電阻【RADC + RAIN】對(duì)采樣保持電容CADC進(jìn)行充電,正常情況下,直到采樣電容上的電壓被充到與外部待測(cè)信號(hào)一致后再進(jìn)行AD轉(zhuǎn)換才合理。顯然,對(duì)采樣保持電容CADC的有效充電由外部電阻和內(nèi)部開關(guān)電阻之和所控制,因?yàn)槟遣蓸颖3蛛娙菔枪潭ǖ摹?
其充電時(shí)間常數(shù)是tc =(RADC + RAIN) × CADC。
那么,如果內(nèi)部采樣時(shí)間【Ts】小于采樣保持電容CADC通過RADC + RAIN 的有效充電的時(shí)間【tc】,則經(jīng)過ADC轉(zhuǎn)換得到的數(shù)值會(huì)小于實(shí)際數(shù)值, 這時(shí)就會(huì)產(chǎn)生AD誤差。
這種情形下如何應(yīng)對(duì)呢?
1、軟件上調(diào)整內(nèi)部采樣時(shí)間。STM32 ADC的采樣時(shí)間可以軟件配置。調(diào)整范圍從幾個(gè)時(shí)鐘多達(dá)幾百個(gè)ADC時(shí)鐘,這樣便于盡量滿足各類充電時(shí)間的實(shí)際需要。
2、硬件上調(diào)整外部信號(hào)源的電阻,通過調(diào)整信號(hào)源電阻而改變RC充電時(shí)間,進(jìn)而與實(shí)現(xiàn)采樣時(shí)間相匹配。
關(guān)于這個(gè)信號(hào)源電阻最大允許值,我們可以根據(jù)手冊(cè)中給定的公式進(jìn)行計(jì)算。不過,一般來講無須用這個(gè)公式做多么精確的計(jì)算。倒是可以通過公式看出可允許的最大外部信號(hào)源電阻與哪些因素有關(guān),它們之間有些什么樣的數(shù)學(xué)關(guān)系,這樣便于我們分析、估算和判斷。何況,各stm32芯片的數(shù)據(jù)手冊(cè)里往往都有基于不同采樣時(shí)間下可接受的最大信號(hào)源電阻推薦值,可供我們參考使用。
整體上,較大的外部信號(hào)源輸入電阻往往需要較長的采樣時(shí)間與之相匹配。同時(shí),它還跟ADC時(shí)鐘、ADC轉(zhuǎn)換的分辨率等有關(guān)。
總體上講,在ADC應(yīng)用中加大采樣時(shí)間或減小信號(hào)源電阻對(duì)于提高ADC結(jié)果的精度是有利的。當(dāng)然,在實(shí)際應(yīng)用中我們往往需要結(jié)合具體情況,靈活地綜合考慮。
因?yàn)榧哟蟛蓸訒r(shí)間,勢(shì)必會(huì)導(dǎo)致轉(zhuǎn)換速率的下降,有些對(duì)轉(zhuǎn)換速率有要求時(shí),加大采樣時(shí)間可能就行不通。所以,除了加大采樣時(shí)間的調(diào)整外,我們還可以考慮減小外部信號(hào)源電阻,但有些情況下一味減小信號(hào)源電阻又可能帶來其它困擾,比如功耗方面的挑戰(zhàn)。所以,我們?cè)诰唧w應(yīng)用中可以依據(jù)不同的需求做調(diào)整、做取舍和平衡。
剛才提到,我們可以通過加大內(nèi)部采樣時(shí)間來與外部充電時(shí)間相匹配,但是,當(dāng)外部信號(hào)源電阻超過一定限度時(shí),由于STM32芯片內(nèi)部采樣時(shí)間的調(diào)整也是有限度的。當(dāng)過了這個(gè)度后,加大采樣時(shí)間也就無能為力了。
實(shí)際ADC應(yīng)用中,有人在外部隨隨便便弄個(gè)幾百K、甚至幾兆的電阻在信號(hào)源與采樣腳之間,因?yàn)檫@時(shí)候信號(hào)源電阻超過了芯片允許的范圍,即使你再怎么加大采樣時(shí)間也解決不了問題。
當(dāng)然,我們還有種方法。使用運(yùn)放做一個(gè)電壓跟隨器,這樣可以減小信號(hào)源的阻抗效應(yīng)。因?yàn)榉糯笃骶哂泻芨叩妮斎胱杩购头浅5偷妮敵鲎杩?,它把信?hào)源電阻RAIN與內(nèi)部開關(guān)電阻RADC隔離開來,這樣就避開了因信號(hào)源電阻過大導(dǎo)致外部充電時(shí)間偏長,而內(nèi)部采樣時(shí)間又難以匹配的問題。
小結(jié),我們?cè)谑褂肧TM32芯片的ADC功能時(shí),因?yàn)橥獠砍潆姇r(shí)間與內(nèi)部采樣時(shí)間不匹配,準(zhǔn)確的說外部充電時(shí)間長于內(nèi)部采樣時(shí)間,導(dǎo)致采樣電容沒有被充分充電而產(chǎn)生ADC誤差是非常常見的情形。