- 賽事資訊
- 職教新聞
- 新聞專題
- 汽修專業(yè)
- 數(shù)控專業(yè)
- 電子專業(yè)
- 加工制造
- 機(jī)電專業(yè)
- 模具專業(yè)
- 電氣信息
- 旅游管理
- 建筑專業(yè)
- 信息技術(shù)
- 化工專業(yè)
- 機(jī)械制造
- 財(cái)經(jīng)專業(yè)
- 餐飲專業(yè)
- 酒店專業(yè)
- 商貿(mào)專業(yè)
- 醫(yī)藥衛(wèi)生
- 地質(zhì)勘察
- 交通土建
- 財(cái)經(jīng)商貿(mào)
- 鐵道工程
- 服裝設(shè)計(jì)
- 基礎(chǔ)課程
- 美容美發(fā)
- 農(nóng)林牧漁
- 包裝印刷
- 材料能源
- 法學(xué)專業(yè)
- 公共事業(yè)
- 生物工程
- 市場(chǎng)營(yíng)銷
- 資源環(huán)境
- 機(jī)器人
- 無(wú)人機(jī)
- 通用性技能知識(shí)
- 綜合
當(dāng)前位置:首頁(yè) > 文章資訊 > 機(jī)電專業(yè) > 信息技術(shù):?jiǎn)纹瑱C(jī)A/D采樣和轉(zhuǎn)換的原理
信息技術(shù):?jiǎn)纹瑱C(jī)A/D采樣和轉(zhuǎn)換的原理
單片機(jī)A/D采樣的原理 是信息專業(yè)學(xué)生專業(yè)課。
自己學(xué)習(xí)的單片機(jī)也有一段時(shí)間了,剛開(kāi)始接觸單片機(jī)的時(shí)候,就總是強(qiáng)調(diào)AD,單片機(jī)自帶AD不,等一些說(shuō)法,但是自己從來(lái)沒(méi)有仔細(xì)想過(guò)AD的過(guò)程,只是知道是將模擬量轉(zhuǎn)化為數(shù)字量,但是不知道這個(gè)采集過(guò)來(lái)的電壓是2.5V,為什么在數(shù)碼管上顯示為2.5V就是轉(zhuǎn)化成數(shù)字量了,現(xiàn)在來(lái)說(shuō)一下自己的理解,只是自己的主觀理解,不一定準(zhǔn)確!
在A/D轉(zhuǎn)換器中,因?yàn)檩斎氲哪M信號(hào)在時(shí)間上式連續(xù)的,而輸出的數(shù)字信號(hào)代碼是離散的。所以A/D轉(zhuǎn)換器在進(jìn)行轉(zhuǎn)換時(shí),必須在一系列選定的瞬間(時(shí)間軸上的一些規(guī)定點(diǎn)上)對(duì)輸入的模擬信號(hào)采樣保持,然后再把這些采樣值轉(zhuǎn)換為數(shù)字量。因此,一般的A/D轉(zhuǎn)換過(guò)程是通過(guò)采樣保持、量化和編碼這三個(gè)步驟完成的,即首先對(duì)輸入的模擬電壓采樣保持,采樣結(jié)束后進(jìn)入保持時(shí)間,在這段時(shí)間內(nèi)將采樣的電壓量轉(zhuǎn)化為數(shù)字量,并按一定的編碼形式給出轉(zhuǎn)換結(jié)果,然后開(kāi)始下一次采樣。下圖給出模擬量到數(shù)字量轉(zhuǎn)換過(guò)程圖:
采樣定理
可以證明,為了正確無(wú)誤的用5.2.2圖中所示的采樣信號(hào)Vs表示模擬信號(hào)V1,必須滿足:
因此,A/D轉(zhuǎn)換器工作時(shí)采樣頻率必須高于上式所規(guī)定的頻率。采樣頻率提高后,留給A/D轉(zhuǎn)換器每次轉(zhuǎn)換時(shí)間縮短。
所謂模擬量很好理解就是模擬量是指變量在一定范圍連續(xù)變化的量;也就是在一定范圍(定義域)內(nèi)可以取任意值(在值域內(nèi))。數(shù)字量是分立量,而不是連續(xù)變化量,只能取幾個(gè)分立值,如三位進(jìn)制數(shù)字變量只能取7個(gè)整數(shù)值0.1.2.3.4.5.6.7。
而不是經(jīng)過(guò)AD通道的話,經(jīng)過(guò)的是普通的IO口,那么模擬信號(hào)只會(huì)在引腳上出現(xiàn)兩種數(shù)字結(jié)果,一個(gè)是1一個(gè)是0,而不能比較準(zhǔn)確的描述出模擬量的數(shù)值,模擬量信號(hào)是一種變量信號(hào),比如果0V--10V,或50MA到100MA,開(kāi)關(guān)信號(hào)是一種通斷信號(hào),比如家里的燈開(kāi)關(guān),數(shù)字信號(hào)是一種連續(xù)的開(kāi)關(guān)信號(hào)或高低電平信號(hào),比如1101----高高低高。一連串的信號(hào)代表數(shù)字信號(hào)。
再繼續(xù)說(shuō)一下AD精度的問(wèn)題,8位AD精度的話就是將這個(gè)滿電壓值分成2^8=256份,比方說(shuō)51單片機(jī)采集的電壓范圍是0-5v那么0v對(duì)應(yīng)的是0 5v對(duì)應(yīng)的是255.
現(xiàn)在再來(lái)講解一下逐次逼近型ADC的原理。
一、逐次逼近式AD轉(zhuǎn)換器與計(jì)數(shù)式A/D轉(zhuǎn)換類似,只是數(shù)字量由“逐次逼近寄存器SAR”產(chǎn)生。SAR使用“對(duì)分搜索法”產(chǎn)生數(shù)字量,以8位數(shù)字量為例,SAR首先產(chǎn)生8位數(shù)字量的一半,即10000000B,試探模擬量Vi的大小,若Vo>Vi,清除最高位,若Vo
單片機(jī)會(huì)讀到什么值?
單片機(jī)讀值要看一個(gè)特性,就是幾位的ADC,在手冊(cè)上就會(huì)給出,例如,STM32的 ADC是 12位的。另外,還有8位,10位,16位,24位等。
我先告訴你答案:STM32讀到的 ADC值,是從0到4095,當(dāng)你把 ADC引腳接了GND,讀到的就是 0,當(dāng)你把 ADC引腳接了 VDD,讀到的就是 4095。
接下來(lái)告訴你為什么:前面提到,STM32的ADC是 12位的,我們知道,8位的值是從 0 ~ 255;16位的值,是從 0 ~ 65535。這兩個(gè)位的最大值,是我們最為熟悉的。
(怎么算出來(lái)的?這問(wèn)題就又降低到另一個(gè)層面了,這里我們說(shuō)的幾位的值,每個(gè)位只能是 0或者 1,比如 2位的值,可以表示為 00 01 10 11四種不同的值,這是以 2進(jìn)制表示的,轉(zhuǎn)換成十進(jìn)制就是 0 1 2 3,所以得出結(jié)論,2位的值可以表示從0 ~ 3。同理,3位的值,可以表示十進(jìn)制的 0 ~ 9,你可以展開(kāi)計(jì)算一下。4位的值,可以表示0~16,5位的值,可以表示從 0 ~ 31,同理,你可以得出任意位的值可以表示的范圍。)
所以,12位的值,可以表示從 0 ~ 4095(2^12),這就是先在感性上,認(rèn)識(shí)了為什么 12位的 ADC的值,是從 0 ~ 4095.
讀到的值怎么換算成實(shí)際的電壓值?
前面提到了,我們輸入GND,讀到的值是0,輸入VDD,得到的值是4095,那么,當(dāng)你讀到2035的時(shí)候,你知道輸入電壓多少V嗎?這個(gè)問(wèn)題,歸根接地,就到了數(shù)學(xué) XY坐標(biāo),已知兩點(diǎn)坐標(biāo)值(0, 0)(3.3, 4095),給出任意X坐標(biāo)值,求Y值的問(wèn)題了吧?簡(jiǎn)單不簡(jiǎn)單?
ADC測(cè)電壓示意圖:
參考電壓是什么?
討論這個(gè)問(wèn)題之前,你先拿萬(wàn)用表量一下你的 VDDA的實(shí)際電壓是多大?是不是標(biāo)準(zhǔn)的 3.300V?應(yīng)該不是吧?或許是 2.296V,或許是 3.312V。然后你把 VDD連接到ADC引腳之后,得到的是 4095,也就是,實(shí)際上,當(dāng)你讀出4095這個(gè)數(shù)據(jù)的時(shí)候,實(shí)際的電壓值不是你想象中的 3.300V。有些初學(xué)者,覺(jué)得幾毫伏的電壓差無(wú)所謂,但實(shí)際應(yīng)用中,幾毫伏就可能代表很大的實(shí)際工況,例如,在一個(gè)量程為 50克的電子稱上。
所以,這時(shí)候,芯片廠商就想了一個(gè)辦法,給 ADC模塊中引入?yún)⒖茧妷?,由非常?biāo)準(zhǔn)的參考電壓芯片來(lái)接入?yún)⒖茧妷阂_。標(biāo)準(zhǔn)的電壓芯片,我們一般叫做參考電壓芯片,或者叫做基準(zhǔn)電壓芯片。例如 REF3133(輸出 3.300V) REF3025(輸出 2.500V)等等。
注意:STM32 的 100腳以上(含 100腳)有參考電壓引腳。在沒(méi)有參考電壓引腳的單片機(jī)上,可以把基準(zhǔn)電壓芯片接入 VDDA,但是 VDDA和 VDD的電壓差不能超過(guò) 0.3V,例如,VDD是 3.3V的話,可以給 VDDA接入一個(gè) 3.3V的參考電壓芯片或者 3.0V的參考電壓芯片,但是不能接入 2.5V的參考電壓芯片,后果就是芯片不能工作。
ADC引腳的輸入電壓范圍是多大?
一般情況下,ADC引腳的輸入電壓,是從0 ~ VDD,如果有REF引腳,一般是0 ~ Vref,也有0 ~ 2Vref 的情況。
如果被測(cè)的電壓大于ADC的輸入電壓,例如,要用STM32測(cè)量 0 ~ 5V的電壓的話,可以在輸入ADC引腳之前,加入電阻分壓和放大器電路。
注意:如果用內(nèi)部基準(zhǔn)電壓作為參考基準(zhǔn),公式就跟用外部芯片供電電壓測(cè)量有點(diǎn)不同
#define REF_VOLTAGE 1224UL // 基準(zhǔn)電壓千倍
#define VOLTAGE 3300UL // 電壓千倍
#define ADC_DIP(X) (X) // ADC分辨率
一般我們用外部芯片供電電壓為參考基準(zhǔn)就用下面那個(gè)公式,也就是上面說(shuō)的XY比例
ADC_value = (uint32_t)(ADC_value*VOLTAGE >> ADC_DIP(12)); // 換算成千倍的電壓值
若用內(nèi)部基準(zhǔn)電壓作為參考則用以下公式
VDD_value = (uint32_t)((REF_VOLTAGE << ADC_DIP(12)) / VDD_value); // 換算成千倍的電壓值
內(nèi)置的參照電壓看芯片的datasheet;外部芯片供電電壓最好用萬(wàn)用表測(cè)一下
以上就是100唯爾(100vr.com)小編為您介紹的關(guān)于單片機(jī)的知識(shí)技巧了,學(xué)習(xí)以上的信息技術(shù):?jiǎn)纹瑱C(jī)A/D采樣和轉(zhuǎn)換的原理知識(shí),對(duì)于單片機(jī)的幫助都是非常大的,這也是新手學(xué)習(xí)機(jī)電專業(yè)所需要注意的地方。如果使用100唯爾還有什么問(wèn)題可以點(diǎn)擊右側(cè)人工服務(wù),我們會(huì)有專業(yè)的人士來(lái)為您解答。
本站在轉(zhuǎn)載文章時(shí)均注明來(lái)源出處,轉(zhuǎn)載目的在于傳遞更多信息,未用于商業(yè)用途。如因本站的文章、圖片等在內(nèi)容、版權(quán)或其它方面存在問(wèn)題或異議,請(qǐng)與本站聯(lián)系(電話:0592-5551325,郵箱:help@onesoft.com.cn),本站將作妥善處理。
單片機(jī)課程推薦
機(jī)電專業(yè)熱門(mén)資料
機(jī)電專業(yè)技術(shù)文檔
- 1?呼和浩特工務(wù)段卓資東高鐵實(shí)訓(xùn)場(chǎng)建設(shè)項(xiàng)目議價(jià)采購(gòu)二次公告
- 2鐵小微帶你看:大南鐵國(guó)家高鐵實(shí)訓(xùn)基地,超牛!
- 3尚義職教中心首屆高鐵專業(yè)學(xué)生赴北京實(shí)習(xí)實(shí)訓(xùn)
- 4技能展示 | 高鐵專業(yè)實(shí)訓(xùn)技能展示
- 5磨礪青春、出彩中職——高鐵專業(yè)實(shí)訓(xùn)風(fēng)采
- 6陜西長(zhǎng)城鐵路技師學(xué)院,一所把高鐵實(shí)訓(xùn)搬進(jìn)課堂的高等院校
- 7喜訊!喜訊!1:1仿真高鐵實(shí)訓(xùn)設(shè)備進(jìn)入梧州電子科技學(xué)校
- 8云南工程職業(yè)學(xué)院高鐵實(shí)訓(xùn)基地建成啟用
- 9高鐵實(shí)訓(xùn)課走進(jìn)無(wú)錫東站!
- 10職教標(biāo)準(zhǔn)I高等職業(yè)學(xué)校城市軌道交通通信信號(hào)技術(shù)教學(xué)標(biāo)準(zhǔn)