這里我們簡單地把在信號源與ADC引腳之間的阻抗或者說兩者之間的串行電阻(RAIN)稱之為外部信號源電阻。在ADC轉換部件內部,還有個開關電阻(RADC)和采樣保持電容CADC。這個開關電阻可以理解為ADC轉換過程中開關電路導通時的等效電阻,其大小一般就幾K上下,視具體的芯片而定。
關于這個開關電阻和采用保持電容以及可允許的最大信號源電阻(RAIN)的取值范圍,在STM32芯片的數據手冊里都有明確介紹。比如我們可以從STM32F407的數據手冊中ADC特性參數部分可以看多許多與ADC特性有關的數據。
從表格中可以到ADC能接受的最大外部觸發頻率,最大外部輸入阻抗RAIN【50K歐姆】,以及內部ADC通道的采樣保持電容的典型值【4pf】等。
在做AD轉換時,信號源通過外部輸入電阻和內部開關電阻【RADC + RAIN】對采樣保持電容CADC進行充電,正常情況下,直到采樣電容上的電壓被充到與外部待測信號一致后再進行AD轉換才合理。顯然,對采樣保持電容CADC的有效充電由外部電阻和內部開關電阻之和所控制,因為那采樣保持電容是固定的。
其充電時間常數是tc =(RADC + RAIN) × CADC。
那么,如果內部采樣時間【Ts】小于采樣保持電容CADC通過RADC + RAIN 的有效充電的時間【tc】,則經過ADC轉換得到的數值會小于實際數值, 這時就會產生AD誤差。
這種情形下如何應對呢?
1、軟件上調整內部采樣時間。STM32 ADC的采樣時間可以軟件配置。調整范圍從幾個時鐘多達幾百個ADC時鐘,這樣便于盡量滿足各類充電時間的實際需要。
2、硬件上調整外部信號源的電阻,通過調整信號源電阻而改變RC充電時間,進而與實現采樣時間相匹配。
關于這個信號源電阻最大允許值,我們可以根據手冊中給定的公式進行計算。不過,一般來講無須用這個公式做多么精確的計算。倒是可以通過公式看出可允許的最大外部信號源電阻與哪些因素有關,它們之間有些什么樣的數學關系,這樣便于我們分析、估算和判斷。何況,各stm32芯片的數據手冊里往往都有基于不同采樣時間下可接受的最大信號源電阻推薦值,可供我們參考使用。
整體上,較大的外部信號源輸入電阻往往需要較長的采樣時間與之相匹配。同時,它還跟ADC時鐘、ADC轉換的分辨率等有關。
總體上講,在ADC應用中加大采樣時間或減小信號源電阻對于提高ADC結果的精度是有利的。當然,在實際應用中我們往往需要結合具體情況,靈活地綜合考慮。
因為加大采樣時間,勢必會導致轉換速率的下降,有些對轉換速率有要求時,加大采樣時間可能就行不通。所以,除了加大采樣時間的調整外,我們還可以考慮減小外部信號源電阻,但有些情況下一味減小信號源電阻又可能帶來其它困擾,比如功耗方面的挑戰。所以,我們在具體應用中可以依據不同的需求做調整、做取舍和平衡。
剛才提到,我們可以通過加大內部采樣時間來與外部充電時間相匹配,但是,當外部信號源電阻超過一定限度時,由于STM32芯片內部采樣時間的調整也是有限度的。當過了這個度后,加大采樣時間也就無能為力了。
實際ADC應用中,有人在外部隨隨便便弄個幾百K、甚至幾兆的電阻在信號源與采樣腳之間,因為這時候信號源電阻超過了芯片允許的范圍,即使你再怎么加大采樣時間也解決不了問題。
當然,我們還有種方法。使用運放做一個電壓跟隨器,這樣可以減小信號源的阻抗效應。因為放大器具有很高的輸入阻抗和非常低的輸出阻抗,它把信號源電阻RAIN與內部開關電阻RADC隔離開來,這樣就避開了因信號源電阻過大導致外部充電時間偏長,而內部采樣時間又難以匹配的問題。
小結,我們在使用STM32芯片的ADC功能時,因為外部充電時間與內部采樣時間不匹配,準確的說外部充電時間長于內部采樣時間,導致采樣電容沒有被充分充電而產生ADC誤差是非常常見的情形。
-
阻抗
+關注
關注
17文章
961瀏覽量
46254 -
adc
+關注
關注
99文章
6533瀏覽量
545743 -
模擬信號源
+關注
關注
0文章
12瀏覽量
8056
原文標題:模擬信號源阻抗對ADC的影響
文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論