將模擬輸入帶入微處理器的常用方法是使用模數轉換器 (ADC)。以下是選擇此類零件并對其進行校準以滿足您的需求的一些提示。
什么是模數轉換器?
模數轉換器 (ADC) 接受模擬輸入 - 電壓或電流 - 并將其轉換為可由微處理器讀取的數字值。
顯示了一個簡單的電壓輸入 ADC。這個假設部分有兩個輸入:參考和要測量的信號。它有一個輸出,一個代表輸入值的 8 位數字字。
參考電壓是 ADC 可以轉換的最大值。我們的示例 8 位 ADC 可以將值從 0V 轉換為參考電壓。該電壓范圍分為 256 個值或步長。步長的大小由下式給出:
電壓/256
其中 V ref是參考電壓。轉換器的步長定義了轉換器的分辨率。對于 5V 參考,步長為:
5V/256 = 0.0195V 或 19.5mV
我們的 8 位轉換器將模擬輸入表示為數字字。該字的最高有效位指示輸入電壓是否大于參考電壓的一半(2.5V,使用 5V 參考電壓)。每個后續(xù)位代表前一個位范圍的一半。
.625 + .156 + .078 = .859 伏
ADC 的分辨率由參考輸入和字寬決定。分辨率定義了 ADC 可以測量的最小電壓變化。如前所述,分辨率與最小步長相同,可以通過將參考電壓除以可能的轉換值的數量來計算。
對于我們目前使用的示例,分辨率為 19.5mV。這意味著任何低于 19.5mV 的輸入電壓將導致輸出 0。19.5mV 和 39mV 之間的輸入電壓將導致輸出 1。在 39mV 和 58.6mV 之間,輸出將為 2。
可以通過減少參考輸入來提高分辨率。將其從 5V 更改為 2.5V 可得到 2.5/256 或 9.7mV 的分辨率。但是,現在可以測量的最大電壓是 2.5V 而不是 5V。
在不減小范圍的情況下提高分辨率的唯一方法是使用具有更多位的 ADC。一個 10 位 ADC 有 2個 10或 1,024 個可能的輸出代碼。所以分辨率為5V/1,024,即4.88mV;對于相同的參考,12 位 ADC 的分辨率為 1.22mV。
ADC的類型
ADC 有不同的速度,使用不同的接口,并提供不同程度的準確度。最常見的 ADC 類型是閃存、逐次逼近和 sigma-delta。
閃存 ADC(最快)
閃存 ADC 是可用的最快類型。閃存 ADC 使用比較器,每個電壓階躍一個,以及一串電阻器。一個 4 位 ADC 將有 16 個比較器,一個 8 位 ADC 將有 256 個比較器。所有比較器輸出都連接到一個邏輯塊,該邏輯塊根據哪些比較器為低電平和哪些為高電平來確定輸出。
Flash ADC的轉換速度是比較器延遲和邏輯延遲的總和(邏輯延遲通??梢院雎圆挥?。閃存 ADC 速度非常快,但會占用大量 IC 空間。此外,由于需要比較器的數量,它們往往是耗電的,會消耗大量電流。一個 10 位閃存 ADC 可能消耗半安培。
閃存轉換器的一種變體是半閃存,它使用內部數模轉換器 (DAC) 和減法來減少內部比較器的數量。半閃存轉換器比真正的閃存轉換器慢,但比其他類型的 ADC 快。我們將它們歸為閃存轉換器類別。
逐次逼近轉換器
逐次逼近轉換器使用比較器和計數邏輯來執(zhí)行轉換。轉換的第一步是查看輸入是否大于參考電壓的一半。如果是,則設置輸出的最高有效位 (MSB)。然后從輸入中減去該值,并檢查結果是否為參考電壓的四分之一。這個過程一直持續(xù)到所有的輸出位都被設置或復位。逐次逼近型 ADC 需要與輸出位一樣多的時鐘周期來執(zhí)行轉換。
Σ-Δ
sigma-delta ADC 使用 1 位 DAC、濾波和過采樣來實現非常精確的轉換。轉換精度由輸入參考和輸入時鐘速率控制。
sigma-delta 轉換器的主要優(yōu)點是高分辨率。閃存和逐次逼近型 ADC 使用梯形電阻器或電阻器串。這些問題是電阻器的精度直接影響轉換結果的精度。盡管現代 ADC 使用非常精確的激光微調電阻網絡,但電阻梯仍然存在一些不準確之處。sigma-delta 轉換器沒有梯形電阻器,而是采用大量樣本來收斂于結果。
sigma-delta 轉換器的主要缺點是速度。因為轉換器通過對輸入進行過采樣來工作,所以轉換需要很多時鐘周期。對于給定的時鐘速率,sigma-delta 轉換器比其他轉換器類型慢?;蛘撸瑩Q句話說,對于給定的轉換率,sigma-delta 轉換器需要更快的時鐘。
sigma-delta 轉換器的另一個缺點是將占空比信息轉換為數字輸出字的數字濾波器的復雜性。sigma-delta 轉換器已經變得更加普遍,它能夠將數字濾波器或 DSP 添加到 IC 芯片中。