A/D轉換器
什麼是A/D轉換器
A/D轉換器(Analog-Digital Converter)是將類比電壓轉換為數位訊號的電路。例如,如果希望由微控制器來執行檢測溫升情況並使風扇旋轉這樣的處理,就需要先將溫度導入微控制器。然而,我們周圍的訊號大多是類比訊號,而微控制器可以處理的訊號是數位訊號。此時,就需要用A/D轉換器將這些類比訊號輸入至微控制器並將其轉換為數位訊號。
類比訊號的取值範圍是無限的。將類比訊號轉換為數位訊號時涉及到一些關鍵要素。那就是決定將哪些類比訊號轉換為數位訊號的標準,以及決定以多高精度進行轉換的解析度。
標準包括正參考電壓(+VREF電壓)和負參考電壓(-VREF電壓),A/D轉換器可接受該標準範圍內的類比輸入。一般微控制器中內建的A/D轉換器是ーVREF電壓=0V的情況比較多。因此,以下以0~VREF的電壓範圍為准。
解析度是指A/D轉換時能夠正確分辨最小量化類比訊號的能力。當解析度為10位元時,表示可以分辨2^10=1024、即將VREF電壓分解為1024份的類比訊號。其中,最低有效位元VREF電壓/1024稱為“1LSB”。
這個解析度可以是8位、10位、12位、16位等。數位越高,表示分辨類比訊號越平滑。該解析度取決於輸出的數位訊號的數量。例如,如果是8位A/D轉換器,則輸出的數位訊號有8個。將VREF電壓等分成256,即2的8次方。
逐次比較型A/D轉換器的原理
下面介紹微控制器中最常用的A/D轉換器—逐次比較型A/D轉換器的原理。
將類比訊號轉換為數位訊號時,會反覆比較輸入的類比訊號是否大於或小於某個標準。下面我們來看在生成某個標準(參考電壓)的電路中使用電阻梯形網路的情況。
在圖中所示的電路中,假設Vin電壓輸入了1/4VREF電壓。如果使用電阻梯形網路的1/2VREF電壓作為標準(參考電壓),比較器電路中將被輸入1/4VREF電壓和1/2VREF電壓。這意味著需要比較1/4VREF電壓和1/2VREF電壓哪個更大,結果當然是1/2VREF電壓更大。假設當Vin電壓小於參考電壓時比較電路輸出0,則這裡的比較電路將輸出0。這意味著已將類比訊號1/4VREF電壓轉換為數位訊號0,即進行了1位A/D轉換。
這實質上意味著Vin電壓是高於1/2VREF電壓還是低於1/2VREF電壓已經得到確認。
下面我們來更詳細地探討3位元A/D轉換。假設下圖中Vin電壓被輸入9/16VREF電壓。
首先,需要比較中間值4/8VREF電壓和9/16VREF電壓。比較結果是9/16VREF電壓更大。因此,比較電路的輸出為1。
該結果表明實質上9/16VREF電壓高於4/8VREF電壓。因此,我們能夠縮小Vin電壓的範圍。
接下來比較6/8VREF電壓和9/16VREF電壓。比較結果是6/8VREF電壓更大,比較器電路的輸出為0。
由於已知9/16VREF電壓小於6/8VREF電壓,所以我們能夠進一步縮小Vin電壓的範圍。
最後比較5/8VREF電壓和9/16VREF電壓。比較結果是5/8VREF電壓更大,比較器電路的輸出為0。
這意味著當將類比訊號9/16VREF電壓轉換為數位訊號時會是100,也就是已經完成了3位A/D轉換。
將該工作用示意圖來表示的話,將如下圖所示。透過用比較器一次一次地逐一進行比較,可以不斷縮小認為可能的Vin電壓範圍。
這種進行逐次比較的A/D稱為“逐次比較型A/D轉換器”。