ADC

STM32F103RCT 包含有 3 個(gè) ADC火欧。STM32 的 ADC 最大的轉(zhuǎn)換速率為 1Mhz,也就是轉(zhuǎn)換時(shí)間為 1us(在 ADCCLK=14M,采樣周期為 1.5 個(gè) ADC 時(shí)鐘下得到)咕村,不要讓 ADC 的時(shí)鐘超過 14M啡省,否則將導(dǎo)致結(jié)果準(zhǔn)確度下降的圆。STM32 的 ADC 是 12 位逐次逼近型的模擬數(shù)字轉(zhuǎn)換器贮配。它有 18 個(gè)通道,可測(cè)量 16 個(gè)外部和 2 個(gè)內(nèi)部信號(hào)源耍铜。各通道的 A/D 轉(zhuǎn)換可以單次邑闺、連續(xù)、掃描或間斷模式執(zhí)行棕兼。ADC 的結(jié)果可以左對(duì)齊或右對(duì)齊方式存儲(chǔ)在 16 位數(shù)據(jù)寄存器中陡舅。 模擬看門狗特性允許應(yīng)用程序檢測(cè)輸入電壓是否超出用戶定義的高/低閥值伴挚。


ADC通道.png

● 12-位分辨率
● 轉(zhuǎn)換結(jié)束,注入轉(zhuǎn)換結(jié)束和發(fā)生模擬看門狗事件時(shí)產(chǎn)生中斷
● 單次和連續(xù)轉(zhuǎn)換模式
● 從通道 0 到通道 n 的自動(dòng)掃描模式
● 自校準(zhǔn)
● 帶內(nèi)嵌數(shù)據(jù)一致的數(shù)據(jù)對(duì)齊
● 通道之間采樣間隔可編程
● 規(guī)則轉(zhuǎn)換和注入轉(zhuǎn)換均有外部觸發(fā)選項(xiàng)
● 間斷模式
● 雙重模式(帶 2 個(gè) ADC 的器件)
● ADC 供電要求:2.4V 到 3.6V
● ADC 輸入范圍:V REF- ≤ V IN ≤ V REF+
● 規(guī)則通道轉(zhuǎn)換期間有 DMA 請(qǐng)求產(chǎn)生茎芋。

stm32把ADC轉(zhuǎn)換分成2個(gè)通道組:規(guī)則通道組相當(dāng)于正常運(yùn)行的程序;注入通道組相當(dāng)于中斷田弥。程序初始化階段設(shè)置好不同的轉(zhuǎn)換組,系統(tǒng)運(yùn)行中不用變更循環(huán)轉(zhuǎn)換的配置偷厦,從而達(dá)到任務(wù)互不干擾和快速切換。

● 規(guī)則組由多達(dá)16個(gè)轉(zhuǎn)換組成沪哺。規(guī)則通道和它們的轉(zhuǎn)換順序在ADC_SQRx寄存器中選擇。 規(guī)則組中轉(zhuǎn)換的總數(shù)應(yīng)寫入ADC_SQR1寄存器的L[3:0]位中辜妓。

● 注入組由多達(dá)4個(gè)轉(zhuǎn)換組成忌怎。注入通道和它們的轉(zhuǎn)換順序在ADC_JSQR寄存器中選擇。 注入組里的轉(zhuǎn)換總數(shù)目應(yīng)寫入ADC_JSQR寄存器的L[1:0]位中榴啸。如果ADC_SQRx或ADC_JSQR寄存器在轉(zhuǎn)換期間被更改孽惰,當(dāng)前的轉(zhuǎn)換被清除,一個(gè)新的啟動(dòng)脈沖將發(fā)送到ADC以轉(zhuǎn)換新選擇的組鸥印。

CONT=0勋功,SCAN=0 單次轉(zhuǎn)換模式(Single conversion mode)單次掃描1通道
CONT=1坦报,SCAN=0 連續(xù)轉(zhuǎn)換模式(Continuous conversion mode) 連續(xù)掃描1通道
CONT=0,SCAN=1 掃描轉(zhuǎn)換模式(Scan mode):所有ADC_SQR序列通道轉(zhuǎn)換一次后停止狂鞋。(單次掃描組)
CONT=1片择,SCAN=1 掃描轉(zhuǎn)換模式(Scan mode):所有ADC_SQR序列通道轉(zhuǎn)換一次后,再從第一個(gè)通道循環(huán)骚揍。連續(xù)掃描一組

ADC在采用規(guī)則通道組采集的時(shí)候必須啟用掃描模式字管,并且啟用DMA傳輸支持。

寄存器介紹:


ADC_SR.PNG
ADC_CR1.PNG

ADC_CR1 的 SCAN 位信不,該位用于設(shè)置掃描模式嘲叔,由軟件設(shè)置和清除,如果設(shè)置為 1抽活,則使用掃描模式硫戈,如果為 0,則關(guān)閉掃描模式下硕。在掃描模式下丁逝,由 ADC_SQRx 或 ADC_JSQRx 寄存器選中的通道被轉(zhuǎn)換。如果設(shè)置了 EOCIE 或 JEOCIE卵牍,只在最后一個(gè)通道轉(zhuǎn)換完畢后才會(huì)產(chǎn)生 EOC 或 JEOC 中斷果港。
ADC_CR1[19:16]用于設(shè)置 ADC 的操作模式,詳細(xì)的對(duì)應(yīng)關(guān)系如圖


ADC操作模式.PNG
ADC_CR2.PNG

ADON 位用于開關(guān) AD 轉(zhuǎn)換器糊昙。而 CONT 位用于設(shè)置是否進(jìn)行連續(xù)轉(zhuǎn)換辛掠,我們使用單次轉(zhuǎn)換,所以 CONT 位必須為 0释牺。CAL 和 RSTCAL 用于AD 校準(zhǔn)萝衩。ALIGN 用于設(shè)置數(shù)據(jù)對(duì)齊,我們使用右對(duì)齊没咙,該位設(shè)置為 0猩谊。

ADC選擇啟動(dòng)規(guī)則轉(zhuǎn)換事件設(shè)置.PNG

這里使用的是軟件觸發(fā)(SWSTART),所以設(shè)置這 3 個(gè)位為 111祭刚。ADC_CR2 的SWSTART 位用于開始規(guī)則通道的轉(zhuǎn)換牌捷,我們每次轉(zhuǎn)換(單次轉(zhuǎn)換模式下)都需要向該位寫 1。AWDEN 為用于使能溫度傳感器和 Vrefint涡驮。


ADC1_SMPR1.PNG
ADC_SMPR2.PNG

對(duì)于每個(gè)要轉(zhuǎn)換的通道,采樣時(shí)間建議盡量長(zhǎng)一點(diǎn)捉捅,以獲得較高的準(zhǔn)確度,但是這樣會(huì)降低 ADC 的轉(zhuǎn)換速率寄月。ADC 的轉(zhuǎn)換時(shí)間可以由以下公式計(jì)算:
Tcovn=采樣時(shí)間+12.5 個(gè)周期
其中:Tcovn 為總轉(zhuǎn)換時(shí)間,采樣時(shí)間是根據(jù)每個(gè)通道的 SMP 位的設(shè)置來決定的厂抖。例如初橘,當(dāng) ADCCLK=14Mhz 的時(shí)候,并設(shè)置 1.5 個(gè)周期的采樣時(shí)間耕蝉,則得到:Tcovn=1.5+12.5=14 個(gè)周
期=1us垒在。

ADC 規(guī)則序列寄存器(ADC_SQR1~3),該寄存器總共有 3 個(gè)扔亥。


ADC_SQR1.PNG

L[3:0]用于存儲(chǔ)規(guī)則序列的長(zhǎng)度旅挤,我們這里只用了 1 個(gè),所以設(shè)置這幾個(gè)位的值為 0签舞。其他的 SQ13~16 則存儲(chǔ)了規(guī)則序列中第 13~16 通道的編號(hào)(編號(hào)范圍:0~17)儒搭。另外兩個(gè)規(guī)則序列寄存器同 ADC_SQR1 大同小異芙贫。選擇的是單次轉(zhuǎn)換,所以只有一個(gè)通道在規(guī)則序列里面魂仍,這個(gè)序列就是 SQ1拣挪,通過 ADC_SQR3 的最低 5位(也就是 SQ1)設(shè)置。

ADC_JDRx.PNG

ADC 規(guī)則數(shù)據(jù)寄存器(ADC_DR)。規(guī)則序列中的 AD 轉(zhuǎn)化結(jié)果都將被存在這個(gè)寄存器里面闸英,而注入通道的轉(zhuǎn)換結(jié)果被保存在 ADC_JDRx 里面。
步驟:
1 ) 開啟 PA 口時(shí)鐘出吹,設(shè)置 PA1 為模擬輸入辙喂。
STM32F103RCT6 的 ADC 通道 1 在 PA1 上巍耗,所以,我們先要使能 PORTA 的時(shí)鐘灸蟆,然后設(shè)置 PA1 為模擬輸入亲族。
2 ) 使能 ADC1 時(shí)鐘霎迫,并設(shè)置分頻因子。
要使用 ADC1瓤帚,第一步就是要使能 ADC1 的時(shí)鐘炼鞠,在使能完時(shí)鐘之后,進(jìn)行一次 ADC1 的復(fù)位朝扼。接著我們就可以通過 RCC_CFGR 設(shè)置 ADC1 的分頻因子霎肯。分頻因子要確保 ADC1 的時(shí)鐘(ADCCLK)不要超過 14Mhz。
3 ) 設(shè)置 ADC1 的工作模式搂捧。
在設(shè)置完分頻因子之后允跑,我們就可以開始 ADC1 的模式配置了,設(shè)置單次轉(zhuǎn)換模式索烹、觸發(fā)方式選擇百姓、數(shù)據(jù)對(duì)齊方式等都在這一步實(shí)現(xiàn)况木。
4 ) 設(shè)置 ADC1 規(guī)則序列的相關(guān)信息。
接下來我們要設(shè)置規(guī)則序列的相關(guān)信息求类,我們這里只有一個(gè)通道仑嗅,并且是單次轉(zhuǎn)換的张症,所以設(shè)置規(guī)則序列中通道數(shù)為 1(ADC_SQR1[23:20]=0000),然后設(shè)置通道 1 的采樣周期(通過ADC_SMPR2[5:3]置)脖捻。
5 ) 開啟 AD 轉(zhuǎn)換器地沮,并校準(zhǔn)羡亩。
在設(shè)置完了以上信息后,我們就開啟 AD 轉(zhuǎn)換器雷袋,執(zhí)行復(fù)位校準(zhǔn)和 AD 校準(zhǔn)楷怒,注意這兩步是必須的瓦灶!不校準(zhǔn)將導(dǎo)致結(jié)果很不準(zhǔn)確。
6 ) 讀取 ADC 值刃泡。
在上面的校準(zhǔn)完成之后,ADC 就算準(zhǔn)備好了家卖。接下來我們要做的就是設(shè)置規(guī)則序列 1 里面的通道(通過 ADC_SQR3[4:0]設(shè)置)庙楚,然后啟動(dòng) ADC 轉(zhuǎn)換馒闷。在轉(zhuǎn)換結(jié)束后纳账,讀取 ADC1_DR 里面的值就是了捺疼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末啤呼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子翅敌,更是在濱河造成了極大的恐慌蚯涮,老刑警劉巖卖陵,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泪蔫,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡嗦哆,警方通過查閱死者的電腦和手機(jī)婿滓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門凸主,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旁舰,你說我怎么就攤上這事箭窜。” “怎么了纳猫?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵芜辕,是天一觀的道長(zhǎng)块差。 經(jīng)常有香客問我,道長(zhǎng)状蜗,這世上最難降的妖魔是什么诗舰? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任眶根,我火速辦了婚禮边琉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘族扰。我一直安慰自己定欧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布扩氢。 她就那樣靜靜地躺著录豺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪媒抠。 梳的紋絲不亂的頭發(fā)上咏花,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天迟螺,我揣著相機(jī)與錄音,去河邊找鬼矩父。 笑死窍株,一個(gè)胖子當(dāng)著我的面吹牛攻柠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冒滩,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼开睡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起篇恒,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤胁艰,失蹤者是張志新(化名)和其女友劉穎智蝠,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杈湾,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡毛秘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了艰匙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡署驻,死狀恐怖旺上,靈堂內(nèi)的尸體忽然破棺而出糖埋,到底是詐尸還是另有隱情,我是刑警寧澤瞳别,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布祟敛,位于F島的核電站,受9級(jí)特大地震影響跑揉,放射性物質(zhì)發(fā)生泄漏埠巨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一扮饶、第九天 我趴在偏房一處隱蔽的房頂上張望甜无。 院中可真熱鬧哥遮,春花似錦、人聲如沸眠饮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秸苗,卻和暖如春运褪,著一層夾襖步出監(jiān)牢的瞬間惊楼,已是汗流浹背秸讹。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國打工弧可, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留劣欢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像趴久,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子灭忠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • ADC (Analog to Digital Converter):模數(shù)轉(zhuǎn)換器弛作,它負(fù)責(zé)將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)华匾。 ...
    BIGHAI閱讀 2,766評(píng)論 0 3
  • 版權(quán)聲明:本文為小斑馬學(xué)習(xí)總結(jié)文章蜘拉,技術(shù)來源于韋東山著作,轉(zhuǎn)載請(qǐng)注明出處旭旭! 一、ADC硬件原理 模數(shù)轉(zhuǎn)換器即A/D...
    ZebraWei閱讀 3,364評(píng)論 1 2
  • ADC12功能模塊 參考電壓發(fā)生器 ADC需要一個(gè)基準(zhǔn)信號(hào)源梭,ADC的數(shù)字輸出表示模擬輸入相對(duì)于它的基準(zhǔn)的比率。MS...
    nino天閱讀 1,717評(píng)論 0 1
  • LED數(shù)碼管或者LCD12864等顯示器在顯示溫度采樣值時(shí)荠卷,需要的是穩(wěn)定的能反映溫度實(shí)際變化的顯示效果脑溢。ADC采樣...
    Ben2Feng閱讀 4,461評(píng)論 1 3
  • 《飯前洗手》 ——作者:陸陳蔚 兩只手能做什么 吃飯撒尿和東摸西摸 一只手能做什么 吃飯打槍和代人寫信...
    陸陳蔚閱讀 377評(píng)論 0 0