版課程計(jì)劃課件_第1頁(yè)
版課程計(jì)劃課件_第2頁(yè)
版課程計(jì)劃課件_第3頁(yè)
版課程計(jì)劃課件_第4頁(yè)
版課程計(jì)劃課件_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)四ADCAnalog-to-DigitalConverter模數(shù)轉(zhuǎn)換實(shí)驗(yàn)內(nèi)容1、使用STM32內(nèi)部溫度傳感器,采集溫度

2、使用數(shù)模轉(zhuǎn)換器ADC采集紅外傳感器模擬量信號(hào),并通過(guò)串口發(fā)出模擬量和數(shù)字量模擬量(Analog)溫度、濕度、壓力流量、電壓、電流數(shù)字量(Digital)單片機(jī)內(nèi)部用“0”和“1”的數(shù)字量進(jìn)行運(yùn)算模擬量需要通過(guò)模數(shù)轉(zhuǎn)換器(ADC)轉(zhuǎn)換成數(shù)字量傳送給單片機(jī)ADC采樣原理量化編碼STM32F103芯片:12位分辨率ADC3.3V/212ADC供電要求VDDA模擬高電平接3.3V

VSSA模擬低電平接GNDSTM32ADC特點(diǎn)12個(gè)通道STM32F103系列最多可有18個(gè)ADC通道智能小車中ADC相關(guān)電路PA4:ADC_IN4PA5:ADC_IN5PA6:ADC_IN6PA7:ADC_IN7規(guī)則通道與注入通道規(guī)則組由多達(dá)16個(gè)轉(zhuǎn)換組成。規(guī)則通道和它們的轉(zhuǎn)換順序在ADC_SQRx寄存器中選擇。規(guī)則組中轉(zhuǎn)換的總數(shù)應(yīng)寫(xiě)入ADC_SQR1寄存器的L[3:0]位中。

注入組由多達(dá)4個(gè)轉(zhuǎn)換組成。注入通道和它們的轉(zhuǎn)換順序在ADC_JSQR寄存器中選擇。注入組里的轉(zhuǎn)換總數(shù)目應(yīng)寫(xiě)入ADC_JSQR寄存器的L[1:0]位中。注入通道可以打斷規(guī)則通道的數(shù)據(jù)轉(zhuǎn)換ADC相關(guān)模式ADC只執(zhí)行一次轉(zhuǎn)換執(zhí)行完本次轉(zhuǎn)換后繼續(xù)開(kāi)始下一次轉(zhuǎn)換。單次轉(zhuǎn)換模式連續(xù)轉(zhuǎn)換模式掃描模式間斷模式對(duì)所有選中的通道執(zhí)行一次單次轉(zhuǎn)換對(duì)所有選中的通道分批次轉(zhuǎn)換,每次執(zhí)行n個(gè)通道的轉(zhuǎn)換例:12345通道依次轉(zhuǎn)換一遍,置ECO標(biāo)志例:設(shè)置n=3,先轉(zhuǎn)換123通道,置ECO標(biāo)志

再轉(zhuǎn)換45

通道,置ECO標(biāo)志需要注意的問(wèn)題1、數(shù)據(jù)對(duì)齊右對(duì)齊左對(duì)齊12位轉(zhuǎn)換數(shù)據(jù)12位轉(zhuǎn)換數(shù)據(jù)2、采樣時(shí)間本試驗(yàn)中采樣時(shí)間設(shè)置的較大,目的在于避免處理器過(guò)于繁忙。12位轉(zhuǎn)換數(shù)據(jù)需要注意的問(wèn)題3、轉(zhuǎn)換順序通道34、獨(dú)立模式通道8通道2通道2通道0通道2例如:通道2通道15ADC1和ADC2相互獨(dú)立工作5、數(shù)據(jù)校準(zhǔn)

校準(zhǔn)可大幅減小因內(nèi)部電容器組的變化而造成的準(zhǔn)精度誤差。建議上電后執(zhí)行一次校準(zhǔn)。

讀取的數(shù)據(jù)需要減去校準(zhǔn)碼,這樣才接近真實(shí)值需要注意的問(wèn)題6、ADC中斷ADC_ITConfig(ADC1,ADC_IT_EOC,ENABLE);ADC1產(chǎn)生中斷產(chǎn)生EOC中斷使能voidADC_IRQHandler(void)中斷服務(wù)函數(shù)7、軟件啟動(dòng)與外部觸發(fā)ADC_SoftwareStartInjectedConvCmd(ADC1,ENABLE);外部觸發(fā):軟件啟動(dòng):定時(shí)器,外部引腳相關(guān)寄存器本章使用的是獨(dú)立模式,所以設(shè)置這幾位為0即可STM32內(nèi)部溫度傳感器內(nèi)部連接到ADC_IN16上,用于將傳感器輸出轉(zhuǎn)換成數(shù)字量需設(shè)置ADC_CR2中的TSVREFE控制位,使能通道ADC_IN16ADC_TempSensorVrefintCmd(Enable)ADC_IN16通道上讀出溫度傳感器電壓與實(shí)際溫度的對(duì)應(yīng)關(guān)系Temperature(°C)=((V25–VSENSE)/Avg_Slope)+25V25=傳感器在25°C時(shí)輸出的電壓值,典型值1.43V;VSENSE是溫度傳感器當(dāng)前輸出電壓值A(chǔ)vg_Slope是溫度與ADC數(shù)值轉(zhuǎn)換的斜率,典型值4.3mV/°C如VSENSE=1.40V計(jì)算得Temperature(°C)=((1.43–1.40)*1000/4.3)+25=31.9°CSTM32單片機(jī)ADC是12位的,模擬部分單元VDDA接3.3VVSENSE=AD_value*3.3/4095STM32溫度傳感器特性相關(guān)寄存器控制寄存器ADC_CR1:獨(dú)立模式ADC_CR2:位ADCON、位ALIGN、位EXTSEL[2:0]、位AWDENADC采樣時(shí)間寄存器:ADC_SMPR1Tcovn=采樣時(shí)間+12.5個(gè)周期當(dāng)ADCCLK=14Mhz的時(shí)候,并設(shè)置1.5個(gè)周期的采樣時(shí)間,則得到:Tcovn=1.5+12.5=14個(gè)周期=1us采樣時(shí)間越長(zhǎng),轉(zhuǎn)換結(jié)果越穩(wěn)定ADC規(guī)則序列寄存器(ADC_SQR1~3)ADC規(guī)則數(shù)據(jù)寄存器(ADC_DR)ADC狀態(tài)寄存器(ADC_SR):EOC檢測(cè)環(huán)境溫度程序(1)初始化:選擇ADC_IN16輸入通道、設(shè)置采樣時(shí)間(2)設(shè)置ADC_CR2中的TSVREFE位,開(kāi)啟內(nèi)置溫度傳感器和內(nèi)部參考電壓通道;使能EOC中斷(3)設(shè)置ADC_CR2中的ADON位,軟件啟動(dòng)ADC轉(zhuǎn)換(4)在中斷服務(wù)子函數(shù)中,讀取數(shù)據(jù)寄存器ADC_DR中的結(jié)果,數(shù)字濾波(5)計(jì)算溫度值(6)通過(guò)串口打印出數(shù)據(jù)ADC_TempSensorVrefintCmd(ENABLE);ADC輸入范圍:VREF-≤VIN≤VREF+

對(duì)于48腳的封裝,沒(méi)有VREF+

,VREF-,他們?cè)谛酒瑑?nèi)部與ADC的電源(VDDA)和地(VSSA)相聯(lián)。即ADC輸入范圍:0≤VIN≤3.3VTCRT5000紅外反射式傳感器發(fā)射接收

實(shí)驗(yàn)平臺(tái)的傳感器電路已將輸出電壓轉(zhuǎn)換到ADC的測(cè)量范圍內(nèi)。四路紅外傳感器AD測(cè)量四路紅外傳感器AD測(cè)量四路紅外傳感器AD測(cè)量由于ADC規(guī)則轉(zhuǎn)換通道的值儲(chǔ)存在一個(gè)僅有的數(shù)據(jù)寄存器(ADC_DR)中,所以當(dāng)多個(gè)規(guī)則通道時(shí),一定使用DMA傳輸,這樣可以避免已經(jīng)存儲(chǔ)在ADC_DR寄存器中的數(shù)據(jù)丟失。當(dāng)規(guī)則通道的轉(zhuǎn)換結(jié)束時(shí)產(chǎn)生DMA請(qǐng)求,并將轉(zhuǎn)換的數(shù)據(jù)從ADC_DR寄存器傳輸?shù)接脩糁付ǖ哪康牡刂贰?/p>

DMADirectMemoryAccess,直接存儲(chǔ)器存取用來(lái)提供在外設(shè)和存儲(chǔ)器之間或存儲(chǔ)器和存儲(chǔ)器之間的高速數(shù)據(jù)傳輸ADC規(guī)則轉(zhuǎn)換通道的值儲(chǔ)存在一個(gè)僅有的數(shù)據(jù)寄存器(ADC_DR)中,所以當(dāng)多個(gè)規(guī)則通道時(shí),一定使用DMA傳輸DMAADC的DMA配置部分跟串口DMA配置部分很類似,它的DMA整體上被配置為:使用DMA1的通道1,數(shù)據(jù)從ADC外設(shè)的數(shù)據(jù)寄存器(ADC1_DR_Address)轉(zhuǎn)移到內(nèi)存(ADC_ConvertedValue變量),內(nèi)存、外設(shè)地址都固定,每次傳輸?shù)臄?shù)據(jù)大小為半字(16位),使用DMA循環(huán)傳輸模式。其中ADC1外設(shè)的DMA請(qǐng)求通道為DMA1的通道1,初始化時(shí)要注意。DMA傳輸?shù)耐庠O(shè)地址ADC1_DR_Address是一個(gè)自定義的宏:1.#defineADC1_DR_Address((u32)0x40012400+0x4c)ADC_DR數(shù)據(jù)寄存器保存了ADC轉(zhuǎn)換后的數(shù)值,以它作為DMA的傳輸源地址。它的地址是由ADC1外設(shè)的基地址(0x40012400)加上ADC數(shù)據(jù)寄存器(ADC_DR)的地址偏移(0x4c)計(jì)算得到的typedefstruct{u32DMA_PeripheralBaseAddr; //設(shè)置外設(shè)傳輸?shù)幕刂穟32DMA_MemoryBaseAddr; //設(shè)置內(nèi)存DMA傳輸基地址u32DMA_DIR; //設(shè)置外設(shè)是傳輸源/目的地

u32DMA_BufferSize; //設(shè)置傳輸緩存大小u32DMA_PeripheralInc; //設(shè)置外設(shè)基地址是否遞增u32DMA_MemoryInc; //設(shè)置內(nèi)存基地址是否遞增u32DMA_PeripheralDataSize; //設(shè)置外設(shè)數(shù)據(jù)寬度u32DMA_MemoryDataSize; //設(shè)置內(nèi)存數(shù)據(jù)寬度u32DMA_Mode; //

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論