單片機(jī)原理與實(shí)踐第六章_第1頁
單片機(jī)原理與實(shí)踐第六章_第2頁
單片機(jī)原理與實(shí)踐第六章_第3頁
單片機(jī)原理與實(shí)踐第六章_第4頁
單片機(jī)原理與實(shí)踐第六章_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2023年5月6日1Cortex-M4原理與實(shí)踐第六章模擬外設(shè)主講人:陳朋(博士、副教授)地址:廣B二樓Email:2023年5月6日Cortex-M4原理與實(shí)踐2主要內(nèi)容提綱6.1模擬比較器6.2模擬數(shù)字轉(zhuǎn)換器2023年5月6日3第六章Cortex-M4F微處理器的系統(tǒng)控制6.1模擬比較器2023年5月6日4概要Cortex-M4原理與實(shí)踐模擬比較器的基本概念模擬比較器模塊結(jié)構(gòu)與功能模擬比較器模塊的編程模擬比較器TM4C1294微控制器提供三個(gè)獨(dú)立的集成模擬比較器,具有如下功能:可以比較外部輸入管腳和外部輸入管腳或內(nèi)部可編程的參考電壓比較器可將測(cè)試電壓與下面的其中一種電壓相比較獨(dú)立的外部參考電壓共用的外部參考電壓共用的內(nèi)部參考電壓2023年5月6日Cortex-M4原理與實(shí)踐52023年5月6日6內(nèi)部結(jié)構(gòu)Cortex-M4原理與實(shí)踐功能描述比較器通過比較VIN-和VIN+輸入來產(chǎn)生輸出VOUT;VIN-<VIN+,VOUT=1;VIN->VIN+,VOUT=0;2023年5月6日Cortex-M4原理與實(shí)踐7內(nèi)部參考電壓2023年5月6日Cortex-M4原理與實(shí)踐8內(nèi)部參考電壓可設(shè)置為兩種模式(低電平或高電平),具體取決于ACREFCTL寄存器的RNG位。當(dāng)RNG位被清零時(shí),內(nèi)部參考電壓處于高電平模式,而當(dāng)RNG被置位時(shí),內(nèi)部參考電壓處于低電平模式。初始化與配置舉例2023年5月6日Cortex-M4原理與實(shí)踐9voidmain(){intoutput;//初始化系統(tǒng)時(shí)鐘g_ui32SysClock=SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ|SYSCTL_OSC_MAIN|SYSCTL_USE_PLL|SYSCTL_CFG_VCO_480),120000000);//設(shè)置為內(nèi)部參考電壓1.65VComparatorRefSet(COMP_BASE,COMP_REF_1_65V);例6.1:將比較器0配置成內(nèi)部參考電壓1.65V,不觸發(fā)ADC轉(zhuǎn)換,輸出高低電平產(chǎn)生中斷,輸出不翻轉(zhuǎn)。初始化與配置舉例2023年5月6日Cortex-M4原理與實(shí)踐10//配置比較器0、不會(huì)觸發(fā)ADC轉(zhuǎn)(COMP_TRIG_NONE)、用內(nèi)部產(chǎn)生的電壓//作為參考電壓(COMP_ASRCP_REF)、比較器正常輸出到器件管腳,不翻轉(zhuǎn)//(COMP_OUTPUT_NORMAL)ComparatorConfigure(COMP_BASE,0,(COMP_TRIG_NONE|COMP_ASRCP_REF|COMP_OUTPUT_NORMAL));//延時(shí)SysCtlDelay(g_ui32SysClock/12);//讀取比較器的輸出值output=ComparatorValueGet(COMP_BASE,0);}2023年5月6日11第六章Cortex-M4F微處理器的系統(tǒng)控制6.2ADC數(shù)模轉(zhuǎn)換模塊2023年5月6日12概要Cortex-M4原理與實(shí)踐ADC的基本概念模塊結(jié)構(gòu)與功能滾輪傳感器和片上溫度傳感器的編程2023年5月6日13模-數(shù)轉(zhuǎn)換器(ADC)Cortex-M4原理與實(shí)踐實(shí)現(xiàn)把模擬信號(hào)轉(zhuǎn)換成相應(yīng)數(shù)字信號(hào)的電路ADC能將連續(xù)變化的模擬電壓轉(zhuǎn)換成離散的數(shù)字量值廣泛應(yīng)用于自動(dòng)控制系統(tǒng)、測(cè)量系統(tǒng)等2023年5月6日14內(nèi)置兩個(gè)12位的ADC模塊Cortex-M4原理與實(shí)踐支持20個(gè)模擬輸入通道和一個(gè)片上內(nèi)置溫度傳感器;可配置為單端輸入或差分輸入;采樣率最高可達(dá)1Msps(每秒采樣一百萬次);每個(gè)ADC模塊有4個(gè)可編程的采樣轉(zhuǎn)換序列發(fā)生器,序列長度1到8個(gè)單元不等,且均帶有相應(yīng)的轉(zhuǎn)換結(jié)果FIFO;每個(gè)采樣序列均可靈活配置輸入源、觸發(fā)事件、中斷的產(chǎn)生和序列優(yōu)先級(jí)等;硬件可自動(dòng)對(duì)最多64個(gè)采樣取平均值以提高采樣精度;用微型直接內(nèi)存訪問(μDMA)有效的傳輸數(shù)據(jù)ADC模塊的連接框圖2023年5月6日Cortex-M4原理與實(shí)踐15兩個(gè)ADC模塊共享20個(gè)模擬輸入通道,工作相互獨(dú)立,可同時(shí)執(zhí)行不同的采樣序列、隨時(shí)對(duì)任一模擬輸入通道進(jìn)行采樣、并各自產(chǎn)生不同的中斷和觸發(fā)事件2023年5月6日16ADC模塊框圖Cortex-M4原理與實(shí)踐2023年5月6日Cortex-M4原理與實(shí)踐17采樣序列發(fā)生器(SampleSequencer)功能:采樣控制和數(shù)據(jù)采集每個(gè)采樣序列由一系列程序設(shè)定的連續(xù)采樣動(dòng)作組成,實(shí)現(xiàn)自動(dòng)從多個(gè)輸入源中收集數(shù)據(jù)可以通過ADCSSMUXn寄存器配置采樣序列輸入管腳,通過ADCSSCTLn配置溫度傳感器使能、中斷使能位和結(jié)束位等

ADCSequenceConfigure()每個(gè)序列發(fā)生器有各自最大的采樣數(shù)目和FIFO深度采樣序列執(zhí)行完后,可以從ADC采樣序列結(jié)果FIFO寄存器(ADCSSFIFOn)中讀取結(jié)果數(shù)據(jù)ADCSequenceDataGet()Sequencer采樣數(shù)FIFO深度SS088SS144SS244SS3112023年5月6日Cortex-M4原理與實(shí)踐18模塊控制控制單元負(fù)責(zé)除采樣序列發(fā)生器外的剩余部分:中斷產(chǎn)生、DMA操作、序列優(yōu)先級(jí)設(shè)置、觸發(fā)條件配置、比較器配置、外部參考電壓、采樣相位控制等2023年5月6日Cortex-M4原理與實(shí)踐19中斷控制ADC模塊是否產(chǎn)生中斷信號(hào)由ADC中斷屏蔽寄存器(ADCIM)的MASK位決定中斷狀態(tài)可以從寄存器ADCRIS得到原始狀態(tài);或者從寄存器ADCISC得到屏蔽的中斷狀態(tài)使用函數(shù)ADCIntStatus()查知置位ADCISC寄存器的IN位可清除相應(yīng)的序列發(fā)生器中斷使用函數(shù)ADCIntClear()清除

中斷狀態(tài)2023年5月6日Cortex-M4原理與實(shí)踐20采樣事件采樣序列發(fā)生器的觸發(fā)條件通過ADC事件復(fù)用選擇寄存器(ADCEMUX)定義觸發(fā)事件源包括微控制器觸發(fā)(默認(rèn))、模擬比較器觸發(fā)、GPIO觸發(fā)、通用定時(shí)器觸發(fā)、PWM觸發(fā)及持續(xù)采樣觸發(fā)軟件可以通過置位ADC處理器采樣序列啟動(dòng)寄存器(ADCPSSI)來啟動(dòng)采樣序列采樣啟動(dòng)函數(shù)ADCProcessorTrigger()例子2023年5月6日Cortex-M4原理與實(shí)踐21voidmain(){intpui32ADC0Value;//初始化系統(tǒng)時(shí)鐘g_ui32SysClock=SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ|SYSCTL_OSC_MAIN|SYSCTL_USE_PLL|SYSCTL_CFG_VCO_480),120000000);//開啟ADC0時(shí)鐘SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);例6.2:配置PE3口為ADC單端采樣模式,使用采樣序列3采樣,處理器信號(hào)觸發(fā)方式。例子2023年5月6日Cortex-M4原理與實(shí)踐22//使能GPIOE口SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);//將PE3口配置成AD輸入模式GPIOPinTypeADC(GPIO_PORTE_BASE,GPIO_PIN_3);//使用采樣序列3來采樣,處理器的信號(hào)觸發(fā)方式,0為最高優(yōu)先級(jí)ADCSequenceConfigure(ADC0_BASE,3,ADC_TRIGGER_PROCESSOR,0);//配置采樣序列3的步驟0,配置模擬通道0(ADC_CTL_CH0)、采樣結(jié)束產(chǎn)生中斷ADCSequenceStepConfigure(ADC0_BASE,3,0,ADC_CTL_CH0|ADC_CTL_IE|ADC_CTL_END);//使能采樣序列3ADCSequenceEnable(ADC0_BASE,3); 例子2023年5月6日Cortex-M4原理與實(shí)踐23//開始采樣前先清除采樣序列3產(chǎn)生的中斷ADCIntClear(ADC0_BASE,3);while(1){//觸發(fā)ADC轉(zhuǎn)換ADCProcessorTrigger(ADC0_BASE,3);//等待轉(zhuǎn)換結(jié)束while(!ADCIntStatus(ADC0_BASE,3,false)){}//清除中斷標(biāo)志ADCIntClear(ADC0_BASE,3);//讀取ADC轉(zhuǎn)化的值A(chǔ)DCSequenceDataGet(ADC0_BASE,3,pui32ADC0Value);SysCtlDelay(g_ui32SysClock/12);}//延時(shí)}2023年5月6日Cortex-M4原理與實(shí)踐24硬件采樣平均電路產(chǎn)生更高精度的結(jié)果,最高可以將64個(gè)采樣值進(jìn)行平均,將平均結(jié)果作為單次采樣結(jié)果寫入FIFO的一個(gè)單元硬件平均電路默認(rèn)是關(guān)閉的,關(guān)閉時(shí)轉(zhuǎn)換器的所有數(shù)據(jù)直接傳送到序列發(fā)生器FIFO硬件采樣平均電路由ADCSAC寄存器控制,配置函數(shù): ADCHardwareOversampleConfigure()2023年5月6日Cortex-M4原理與實(shí)踐25A/D轉(zhuǎn)換器采用SAR(逐次逼近法)產(chǎn)生12位模-數(shù)轉(zhuǎn)換使用內(nèi)部參考電壓3.0V或外部參考電壓(2.4V-3.63V)A/D轉(zhuǎn)換的數(shù)值范圍為0x00~0xFFF(即0~212-1)2023年5月6日Cortex-M4原理與實(shí)踐26差分采樣除了傳統(tǒng)的單端采樣,ADC模塊還支持對(duì)兩個(gè)模擬輸入通道進(jìn)行差分采樣。要啟用差分采樣功能,軟件必須在某個(gè)采樣步驟的配置半字節(jié)中將ADCSSCTL0n寄存器的Dn位置位。差分信號(hào)對(duì)模擬輸入00和112和324和536和748和9510和11612和13714和15816和17918和19注意:ADC不支持差分信號(hào)對(duì)的隨意組合,如模擬輸入端0和模擬輸入端3無法作為一對(duì)差分信號(hào)輸入。2023年5月6日27差分采樣Cortex-M4原理與實(shí)踐差分模式下采樣電壓是奇數(shù)通道與偶數(shù)通道電壓的差值:正向輸入電壓:VIN+=VIN_EVEN(偶數(shù)通道電壓)負(fù)向輸入電壓:VIN-=VIN_ODD(奇數(shù)通道電壓)差分輸入電壓定義為:VIND=VIN+?VIN-,因此:若VIND=0,則轉(zhuǎn)換結(jié)果=0x800若VIND>0,則轉(zhuǎn)換結(jié)果>0x800(范圍是0x800~0xFFF)若VIND<0,則轉(zhuǎn)換結(jié)果<0x800(范圍是0~0x800)2023年5月6日Cortex-M4原理與實(shí)踐28差分采樣由于最大的峰峰差分信號(hào)電壓為2×(VREFP?VREFN),ADC讀數(shù)表示為:mVperADCcode=(2×(VREFP?VREFN))/4096例子例6.3:差分采樣實(shí)例:配置差分采樣,使用差分對(duì)0,使用采樣序列3,處理器信號(hào)觸發(fā)采樣。2023年5月6日Cortex-M4原理與實(shí)踐292023年5月6日Cortex-M4原理與實(shí)踐30溫度傳感器溫度傳感器的主要作用是當(dāng)芯片溫度過高或過低時(shí)向系統(tǒng)給予提示,保障芯片穩(wěn)定工作溫度傳感器必須始終使能內(nèi)部溫度傳感器提供模擬溫度讀數(shù)以及參考電壓。輸出端SENSO的電壓按照下式計(jì)算:SENSO=2.7–((T+55)/75)可以從溫度傳感器的ADC結(jié)果通過函數(shù)轉(zhuǎn)換得到溫度讀數(shù)(單位為℃):TEMP=147.5-((75*(VREFP-VREFN)×ADCCODE)/4096)例子2023年5月6日Cortex-M4原理與實(shí)踐31voidmain(){//初始化系統(tǒng)時(shí)鐘g_ui32SysClock=SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ|SYSCTL_OSC_MAIN|SYSCTL_USE_PLL|

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論