本文將介紹STM32F407的模數(shù)轉(zhuǎn)換功能ADC
①ADC的概念及作用
②ADC的性能指標(biāo)及STM32F4-ADC的特性
③ADC的功能框圖
④ADC的功能框圖的詳細(xì)介紹
⑤ADC的工作模式
①ADC的概念及作用
ADC是analog to digtal converter的縮寫(xiě),指的是模數(shù)轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器可以將連續(xù)的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)。
ADC的作用:采集傳感器的數(shù)據(jù)、電壓、電流等。
②ADC的性能指標(biāo)及STM32F4-ADC的特性
ADC的性能指標(biāo)主要有以下幾個(gè)方面:
量程:能測(cè)量的電壓范圍;
分辨率:ADC的分辨率常以輸出二進(jìn)制的位數(shù)表示,位數(shù)越多分辨率越高、相應(yīng)的轉(zhuǎn)換時(shí)間會(huì)越長(zhǎng);
轉(zhuǎn)換時(shí)間:在模擬輸入電壓符合輸入電壓范圍的基礎(chǔ)上,從開(kāi)始轉(zhuǎn)換到獲得穩(wěn)定數(shù)字量的時(shí)間;
STM32F4-ADC的特性:
3個(gè)ADC,每個(gè)通道的分辨率可調(diào)12、10、8、6位;
每個(gè)ADC有16個(gè)外部通道,ADC1還有另外的兩個(gè)內(nèi)部ADC源、1個(gè)BAT通道;
AD轉(zhuǎn)換可以以單次、連續(xù)、掃描、間斷的工作模式運(yùn)行;
ADC具有獨(dú)立模式、雙重模式或三重模式;
AD轉(zhuǎn)換的結(jié)果以左對(duì)齊或者右對(duì)齊的方式存放在16位的數(shù)據(jù)寄存器中;
③ADC的功能框圖
④ADC的功能框圖的詳細(xì)介紹
輸入電壓范圍:由VREF+、VREF-、VDDA、VSSA決定,硬件上一般將VREF-、VSSA接在一起,另外兩個(gè)接到3.3V的電源上,這樣輸入電壓的范圍就為0-3.3V;若實(shí)際測(cè)量的電壓不是這個(gè)范圍、可以在硬件上用電壓轉(zhuǎn)換電路轉(zhuǎn)換到這個(gè)范圍;
輸入通道:每個(gè)ADC都具有16個(gè)外部通道,ADC1相比其他兩個(gè)ADC多出3個(gè)通道用于測(cè)量芯片內(nèi)部溫度、電壓、以及備用電池的電壓
轉(zhuǎn)換順序:規(guī)則通道組、可以按照既定的轉(zhuǎn)換順序依次進(jìn)行轉(zhuǎn)換,具體轉(zhuǎn)換順序在ADC_SQRx寄存器中選擇、總的轉(zhuǎn)換數(shù)量在ADC_SQR1寄存器中配置;注入通道組、不按照順序來(lái)轉(zhuǎn)換可以插隊(duì)轉(zhuǎn)換;
轉(zhuǎn)換時(shí)間:采樣時(shí)間+12個(gè)ADC周期,采樣在數(shù)個(gè)ADCCLK周期內(nèi)完成、可使用ADC_SMPR1、ADC_SMPR2寄存器中的SMP[2:0]位修改周期數(shù)從而改變采樣時(shí)間;ADC的周期由PCLK2經(jīng)過(guò)ADC的預(yù)分頻器分頻得到、分頻數(shù)在ADC_CCR寄存器的第16、17位選擇;
數(shù)據(jù)寄存器:ADC的數(shù)據(jù)寄存器只有一個(gè)ADC_DR,ADC_DR是一個(gè)32位的寄存器、其中只有16個(gè)位是有效的、而轉(zhuǎn)換后的數(shù)據(jù)最多只有12個(gè)位,所以轉(zhuǎn)換后的數(shù)據(jù)可以左對(duì)齊或者右對(duì)齊存放、具體如何存放可以在ADC_CR2的第11位設(shè)置;由于規(guī)則通道組只有一個(gè)數(shù)據(jù)寄存器、所以在轉(zhuǎn)換完成后若不及時(shí)取走轉(zhuǎn)換好的數(shù)據(jù)下一次的轉(zhuǎn)換結(jié)果會(huì)將之前的結(jié)果覆蓋,為避免數(shù)據(jù)丟失可以使用DMA、后續(xù)將繼續(xù)講解DMA;
中斷:
轉(zhuǎn)換結(jié)束中斷:規(guī)則通道和注入通道的數(shù)據(jù)轉(zhuǎn)換結(jié)束后,都可以產(chǎn)生中斷;
模擬看門(mén)狗中斷:當(dāng)ADC的轉(zhuǎn)換的模擬電壓低于低閾值或者高于高閾值會(huì)產(chǎn)生中斷;
溢出中斷:如果發(fā)生DMA傳輸數(shù)據(jù)丟失、會(huì)置位ADC_SR的OVR位,如果同時(shí)使能了溢出中斷、數(shù)據(jù)轉(zhuǎn)換結(jié)束后會(huì)產(chǎn)生一個(gè)溢出中斷;
DMA請(qǐng)求:規(guī)則和注入通道轉(zhuǎn)換結(jié)束后,除了產(chǎn)生中斷外、還可以產(chǎn)生DMA請(qǐng)求將轉(zhuǎn)換好的數(shù)據(jù)直接存儲(chǔ)到內(nèi)存中去;
觸發(fā)源:軟件觸發(fā)+外部事件觸發(fā),軟件觸發(fā)、由ADC控制寄存器ADC_CR2的ADON位來(lái)控制、為1開(kāi)始轉(zhuǎn)換為0停止轉(zhuǎn)換,外部事件觸發(fā)有內(nèi)部定時(shí)器觸發(fā)和外部IO觸發(fā)、具體選擇哪種觸發(fā)方式可以由ADC_CR2的EXTSEL[2:0]和JEXTSEL[2:0]位來(lái)控制
⑤ADC的工作模式
單次轉(zhuǎn)換模式:ADC僅執(zhí)行一次轉(zhuǎn)換,CONT位為0時(shí)可以通過(guò)以下方式啟動(dòng)此模式:
ADC_CR2寄存器中SWSTART位置1,僅適用于規(guī)則通道;
將JSESTART置1,僅適用于注入通道;
外部觸發(fā),適用于注入通道、規(guī)則通道;
完成所選通道的轉(zhuǎn)換之后、數(shù)據(jù)存儲(chǔ)在16位的數(shù)據(jù)存儲(chǔ)器中,如果轉(zhuǎn)換的是規(guī)則通道轉(zhuǎn)換結(jié)束EOC置1、EOCIE置1后會(huì)產(chǎn)生中斷,如果轉(zhuǎn)換的是注入通道轉(zhuǎn)換結(jié)束后JEOC置1、JEOCIE置1后會(huì)產(chǎn)生中斷,然后ADC停止工作;
連續(xù)轉(zhuǎn)換模式:ADC結(jié)束一個(gè)轉(zhuǎn)換后立即啟動(dòng)另一個(gè)轉(zhuǎn)換,CONT為1時(shí)可通過(guò)外部觸發(fā)或者ADC_CR2中的SWSTART位置1來(lái)啟動(dòng)此模式(僅適用于規(guī)則通道)。如果轉(zhuǎn)換了規(guī)則通道組,會(huì)將上次轉(zhuǎn)換的數(shù)據(jù)存在數(shù)據(jù)寄存器中、EOC置1、EOCIE將置1產(chǎn)生中斷。無(wú)法連續(xù)轉(zhuǎn)換注入通道;
掃描模式:
不連續(xù)采樣模式:
-
傳感器
+關(guān)注
關(guān)注
2553文章
51402瀏覽量
756615 -
寄存器
+關(guān)注
關(guān)注
31文章
5363瀏覽量
121172 -
adc
+關(guān)注
關(guān)注
99文章
6533瀏覽量
545760 -
模數(shù)轉(zhuǎn)換器
+關(guān)注
關(guān)注
26文章
3218瀏覽量
127019 -
STM32F4
+關(guān)注
關(guān)注
3文章
194瀏覽量
28192
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論