許多嵌入式應用都會用到A/D轉換器。然而,如果錯誤連接了A/D轉換器輸入端的電路,就會無意識的破壞A/D轉換的測量。
圖1是A/D轉換器和集成采樣保持(S/H)電路的典型應用實例。這是一個非常簡單的應用,幾乎不可能出現錯誤連接。然而它確實是錯誤的,由此檢測到的A/D轉換器的數值將低于預期的數值。
要了解錯在哪里,我們就得先檢查采樣保持電路。如今的采樣保持電路遠比圖例中的電路要復雜得多,但基本的原理還是相同的。在采樣過程中開關處于閉合狀態(tài),并對采樣電容進行充電。為了保護外部電路,防止由于電容突然與自己的輸出相連而對外部電路形成沖擊,我們在片上集成了一個模擬緩沖器。我們在理論設計和圖紙設計時都會用到理想的緩沖器,但真實的電子世界里并不存在這樣的理想狀況。在這里,緩沖器更像是一個阻抗變換器,它會把自己輸出端電容量的變化轉化為其輸入端電容量的變化。
A/D轉換器的輸入端與一個外部放大器相連。由于采樣過程非常迅速,比外部放大器的帶寬快得多,因此無論A/D轉換器的輸入端怎樣變化,都不受外部放大器的影響。
圖 1:A/D轉換器的典型應用
圖 2:A/D輸入端的等效電路
圖2是一個等效電路,它使我們能夠了解整個采樣過程。在采樣發(fā)生前,PCB導線和芯片引腳的組合電容(CT + CP)被充電為輸入電壓VIN。在采樣時,由片上輸入緩沖器的電容與放電的采樣保持電容合并而成的(CX),與這些組合電容處于并聯狀態(tài),因此輸入引腳的電壓將下降。在這種情況下,唯一能向這些電容器傳遞更多電荷并抬高輸入電壓的器件就只有外部放大器,但它的反應非常遲緩。此時,輸入的電壓值會下降多少呢?
我們先假設某些合理值,例如(CT + CP) = 5pF,CX = 0.5 pF。根據上面的公式計算,輸入電壓將下降到95%!
很明顯,通過提高依附于A/D轉換器輸入端的電容量,就可以減輕壓降。我們先來計算一下要想使壓降低于A/D轉換器的1/2LSB,所需要的最小電容量。
當輸入電壓為允許的最大值時,情況將最糟糕。如果假設A/D轉換器的解析度為N位時,其允許的最大輸入電壓相當于2N.LBS 。
因此如果我們用12位A/D轉換器、輸入電容的變化值為0.5pF時,與A/D轉換器輸入端相連的最小電容必須大于213 0.5pF(例如4nF),以便使壓降小于1/2 LSB。
眾所周知,芯片制造商通常不能為設計師提供足夠的數據。我看過許多A/D轉換器的datasheet,發(fā)現它們都沒有提供采樣過程中輸入電容的變化數據。但我們能夠通過測量輕松得到這個參數,而測量所需要的設備僅為一臺示波器和一臺信號發(fā)生器。值得說明的是,這一簡單測量的結果并不準確,但至少可以讓我們粗略地估計出這一參數值。我們可以通過觀測芯片引腳的壓降,計算出電容值的變化情況。
圖3: 測量方法
測量方法如圖3所示。為了方便測量,RC網絡的時間常數要足夠長,因此輸入電阻RI的阻值要足夠大。我在測量中就用了1MOhm的電阻。圖4和圖5顯示的測量采用了飛思卡爾半導體的混合控制器DSP56F805。這些測量值是適用于整個DSP56F80x系列的快速A/D轉換器的典型值。
圖4:測量輸入電容值C
首先,我們得測量與A/D輸入端相連的電容值(C = CO + CT + CP)。我們先對輸入電阻施加一個方波信號,然后通過顯示屏觀察結果波形的時間常數(如圖4)。我們可以從顯示屏上直接推算出這一時間常數,但最好把數據輸入到excel中以求計算結果更精確。在圖4的例子中,時間常數大約為28.5μs。
因此在上面的例子中,C ≈ 28.5 μs / 6.2832 / 1 MOhm ≈ 4.54 pF.
現在,我們將在允許的范圍內對輸入電阻施加最高的DC電壓,啟動A/D轉換。圖5顯示了最終的壓降:在3.3V時,壓降約為176mV。
圖5:觀察到的壓降
一旦我們測量到了壓降值,我們就可以計算出A/D轉換器輸入電容量的變化情況。
在這個例子中,CX = 4.54 pF · (3.32 / 3.1242 -1) ≈ 4.54 pF · 0.116 ≈ 0.53 pF.
放大器通常不是電容性負載。因此圖6中增加了一個外部輸入電阻。由此形成的RC網絡還具有濾波功能,可以濾除高頻噪音。
圖6:A/D轉換器的正確應用
A/D轉換器的輸入漏電流通常低于1μA。如果我們采用幾百ohm的電阻來充當輸入電阻,則通過該電阻的壓降將為100μV左右,低于1/2 LSB。