我們所接觸到自然界的各種信號(hào),無(wú)論是電壓、電流、溫度、壓力等都屬于模擬信號(hào)的范疇。但因?yàn)?a target="_blank">單片機(jī)只能處理數(shù)字信號(hào),所以需要?個(gè)能將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的介質(zhì)——模數(shù)轉(zhuǎn)換器 (ADC),模擬量轉(zhuǎn)換為數(shù)字量包含以下幾個(gè)步驟:采樣、保持、量化、編碼。本文我們以 ADI 亞德諾半導(dǎo)體 24 位 Σ-ΔADC 為例,為大家講解 ADC 碼值的轉(zhuǎn)換過(guò)程。
AD7768-1 介紹
AD7768-1 是一款低功率、高性能 Σ-Δ 模數(shù)轉(zhuǎn)換器 (ADC),其具有一個(gè) Σ-Δ 調(diào)制器和數(shù)字濾波器,可實(shí)現(xiàn) AC 和 DC 信號(hào)的精確轉(zhuǎn)換。下圖 (圖1) 所示為 AD7768-1 的核心信號(hào)鏈:
圖1 AD7768-1 的核心信號(hào)鏈
Σ-Δ 調(diào)制器對(duì)模擬輸入進(jìn)行過(guò)采樣,并將數(shù)字表示傳遞給數(shù)字濾波器塊。數(shù)據(jù)被濾波,增益調(diào)整和抽取 (抽取率取決于用戶設(shè)置) 后在 SPI 接口上輸出。其中量化以及編碼除了 ADC 本身之外,還涉及到基準(zhǔn)源 Reference,AD7768-1 外部基準(zhǔn)源電壓范圍支持 1V 至 (AVDD1–AVSS) 電壓,前端輸入電壓范圍支持到 ±VREF。
ADC 理想傳遞函數(shù)
AD7768-1 可以使用高達(dá) 5V 的參考電壓并轉(zhuǎn)換模擬輸入之間的差分電壓 (AIN+ 和 AIN?) 到數(shù)字輸出。模擬輸入可以配置為以下任意一種:差分或偽差分輸入。作為偽差分輸入時(shí),AIN+ 或 AIN- 可以連接到一個(gè)常數(shù)輸入電壓 (如 0V、AVSS 或其他參考電壓),ADC 轉(zhuǎn)換模擬量之間的電壓差,使用共模 (AVDD1?AVSS)/2 可以最大限度地提高 ADC 輸入范圍。下圖 (圖2) 顯示了 AD7768-1 的理想傳遞函數(shù),值得注意的是目前絕大多數(shù) ADC 在輸出碼值的時(shí)候是以二進(jìn)制補(bǔ)碼 (twos complement format) 的形式輸出的,AD7768-1 也是如此。
圖2 ADC 理想傳遞函數(shù)
二進(jìn)制補(bǔ)碼
二進(jìn)制補(bǔ)碼 (twos complement format) 是一種常用的二進(jìn)制數(shù)表示方法,它主要用來(lái)表示負(fù)數(shù)的大小。在二進(jìn)制補(bǔ)碼中,正數(shù)的表示方法和普通的二進(jìn)制數(shù)表示方法沒(méi)有任何區(qū)別,但是負(fù)數(shù)的表示方法是通過(guò)將它的絕對(duì)值的二進(jìn)制數(shù)取反 (即將每一位的 0 變?yōu)?1,1 變?yōu)?0),再加 1 得到的。假設(shè)要用二進(jìn)制補(bǔ)碼表示數(shù)字 -5,則首先需要將 5 的二進(jìn)制數(shù) 101 取反得到 010,再加 1 得到 011,即 011 就是 -5 的二進(jìn)制補(bǔ)碼。
基于以上信息,根據(jù)下圖 (圖3) 我們可以得出 ADC 輸出的碼值和理想輸入電壓的對(duì)應(yīng)關(guān)系;其中 -FS 是可以輸入的最低電壓,因?yàn)槭且粋€(gè)負(fù)值,MSB 位取 1,所以得到 800000,正常來(lái)講的話這個(gè)值應(yīng)該是最小的,F(xiàn)S 是可以輸入的最高電壓,應(yīng)該對(duì)應(yīng) 0XFFFFFF。Midscale 對(duì)于 24 分辨率 ADC 來(lái)說(shuō)的話,應(yīng)該取 2 的 23 次方,也就是 8388608 (0X800000) 這個(gè)值。
圖3 ADC 輸出碼值與理想輸入電壓
根據(jù) ADC 輸出碼值求輸入電壓
下圖 (圖4) 為求輸入電壓的計(jì)算公式,需要注意的是,部分工程師通過(guò) ADC 讀出來(lái)的 CODE 是直接二進(jìn)制碼值,那么此時(shí) Midscale Code 需要對(duì)應(yīng)轉(zhuǎn)換為直接二進(jìn)制的碼值 0X800000 (對(duì)應(yīng)十進(jìn)制的 8388608),否則就會(huì)發(fā)現(xiàn)只有前端輸入正電壓是正確的,負(fù)電壓就會(huì)報(bào)錯(cuò)了。
圖4 根據(jù) ADC 輸出碼值求輸入電壓計(jì)算公式
總結(jié)
本文以 AD7768-1 為例介紹了通用 ADC 進(jìn)行編碼過(guò)程,以及根據(jù)輸出碼值反推出實(shí)際 ADC 輸入的電壓。但需要注意,目前絕大多數(shù) ADC 都是按照二級(jí)制補(bǔ)碼方式輸出編碼值,這是為了方便計(jì)算機(jī)對(duì)符號(hào)和數(shù)值的統(tǒng)一運(yùn)算而不需要增加額外的硬件電路,一定要和 ADC 輸出的原碼區(qū)分開(kāi)。
審核編輯:劉清
-
adc
+關(guān)注
關(guān)注
99文章
6533瀏覽量
545523 -
數(shù)字濾波器
+關(guān)注
關(guān)注
4文章
270瀏覽量
47071 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
796瀏覽量
41741 -
SPI
+關(guān)注
關(guān)注
17文章
1721瀏覽量
92017 -
模數(shù)轉(zhuǎn)換器
+關(guān)注
關(guān)注
26文章
3218瀏覽量
126972 -
調(diào)制器
+關(guān)注
關(guān)注
3文章
842瀏覽量
45268 -
SPI接口
+關(guān)注
關(guān)注
0文章
259瀏覽量
34499
原文標(biāo)題:深入了解 ADC 碼值轉(zhuǎn)換過(guò)程
文章出處:【微信號(hào):駿龍電子,微信公眾號(hào):駿龍電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論