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