ADC模數轉換

2021-10-19 09:52:03 字數 1721 閱讀 8450

adc模數轉換

1.1、什麼是adc

(1)adc:analog digital converter,ad轉換,模數轉換(也就是模擬轉數字)

(2)ad型別:積分型,逐次比較型,並行比較/序列比較型,∑-△調製型,電容陣列逐次比較型,壓頻變換型。

(2)cpu本身是數字的,而外部世界變數(如電壓、溫度、高度、壓力···)都是模擬的,所以需要用cpu來處理這些外部的模擬變數的時候就需要做ad轉換。

1.3、有ad自然就有da

(1)ad是analog to digital,da digital to analog

(2)純粹用cpu是不可能實現數字轉模擬,因為cpu本身就是數字的。使用一些(具有一些積分或微分效果的)物理器件就可實現數字轉模擬。

(3)數字轉模擬的作用。譬如可以用來做波形發生器。(以前的波形發生器都是完全模擬電路,比方說用rc,這種儀器有弊端:受環境比如溫度影響,電容隨時間也會變化,所以測出的值不准。現在的都是用數學先生成準確的波形,然後電腦生成離散的點,最後用數字晶元的濾波器或者電阻電容濾波器生成平滑的波形,成本低。)波形***(現在的波形***:前端ad,後端da)。

2.1、量程(模擬量輸入範圍)

(1)ad轉換器是乙個電子器件,所以他只能輸入電壓訊號。其他種類的模擬訊號要先經過感測器(sensor)(物聯網很常見)的轉換變成模擬的電壓訊號然後才能給ad。

現在很多都是將這些整合在一塊晶元上:

(2)ad輸入端的模擬電壓要求有乙個範圍,一般是0~3.3或0~5或0~12v等等。模擬電壓的範圍是ad晶元本身的乙個引數。實際工作時給ad的電壓訊號不能超過這個電壓範圍。

2.2、精度(解析度resolution)

(1)ad轉換輸出的數字值是有一定的位數的(譬如說10位,意思就是輸出的數字值是用10個二進位制位來表示的,這種就叫10位ad)。這個位數就表示了轉換精度。

(2)10位ad就相當於把整個範圍分成了1024個格仔,每個格仔之間的間隔就是電壓的表示精度。加入ad晶元的量程是0~3.3v,則每個格仔代表的電壓值是3.3v/1024=0.0032265v。如果此時ad轉換後得到的數字量是447,則這個數字量代表的模擬值是:447×0.0032265v=1.44v。

(3)ad的位數越多,則每個格仔表示的電壓值越小,將來算出來的模擬電壓值就越精確。

(4)ad的模擬量程一樣的情況下,ad精度位數越多精度越高,測出來的值越準。

2.3、轉換速率(msps與conventor clock的不同)

(1)首先要明白:ad晶元進行ad轉換是要耗費時間的。這個時間需要多久,不同的晶元是不一樣的,同一顆晶元在配置不一樣(譬如說精度配置為10位時時間比精度配置為12位時要小,譬如說有些ad可以配轉換時鐘,時鐘頻率高則轉換時間短)時轉換時間也不一樣。

(2)詳細的需要時間可以參考資料手冊。一般資料手冊中描述轉換速率用的單位是msps(第乙個m是兆,s是sample,就是取樣;ps就是per second,總的意思就是兆樣本每秒,每秒種轉出來多少m個數字值)

(3)ad工作都需要乙個時鐘。ad轉換是在這個時鐘下進行的,時鐘的頻率控制著ad轉換的速率。注意:時鐘頻率和msps不是一回事,只是成正比不是完全相等。譬如s5pv210中的ad轉換器,msps = 時鐘頻率/5

2.4、通道數

(1)ad晶元有多少路analog input通道,代表了將來可以同時進行多少路模擬訊號的輸入。

ADC模數轉換實驗

1 adc初始化函式adc init 3 adc使能軟體轉換函式 adc softwarestartconvcmd 1 開啟pa口時鐘和adc1時鐘,設定pa1為模擬輸入。gpio init apb2periphclockcmd 2 復位adc1,同時設定adc1分頻因子。rcc adcclkcon...

ADC0809模數轉換

將模擬電壓通過ad轉換,通過at89c51微控制器接數碼管顯示轉換結果。adc0809的晶元介紹 adc0809的晶元簡介 include reg52.h char code shumaguan 16 共陰 define led p0 p1埠控制數碼管段選端 define wei p2 p3埠控制位...

ADC0809模數轉換與顯示

用電阻阻值大小控制,並用七段數碼管顯示0 500的數 adc0809是帶有8位a d轉換器 8路多路開關以及微處理機相容的控制邏輯的cmos元件。它是逐次逼近式a d轉換器,可以和微控制器直接介面。內部邏輯結構 由上圖可知,adc0809由乙個8路模擬開關 乙個位址鎖存與解碼器 乙個a d轉換器和乙...