版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
新一代嵌入式微處理器STM32F103開發(fā)與應(yīng)用摘要:基于Cortex-M3內(nèi)核的STM32F103系列芯片是新型的32位嵌入式微處理器,它是不需操作系統(tǒng)的ARM,其性能遠(yuǎn)高于51系列單片機(jī),但開發(fā)過程與51系列單片機(jī)一樣簡便,因而在很多應(yīng)用場合可替代51系列單片機(jī)。本文從STM32F103系列芯片性能特點(diǎn)和片上資源入手,重點(diǎn)介紹其開發(fā)工具以及開發(fā)流程。并以溫度測量為例,具體說明了基于Keil?Vision4軟件的工程建立、源程序編輯、編譯,基于J-Link仿真器的程序下載,程序在線調(diào)試,片上運(yùn)行等過程,最終測量的溫度轉(zhuǎn)換為數(shù)字量,通過串口發(fā)送至PC機(jī)顯示。1引言嵌入式微處理器正越來越廣泛的應(yīng)用在生產(chǎn)生活的各個領(lǐng)域,但是傳統(tǒng)的嵌入式微處理器要么是8位的處理器,性能有限,要么是32位基于ARM的微處理器在使用上需要嵌入式操作系統(tǒng)的支持,比如Linux操作系統(tǒng),使得系統(tǒng)不夠精煉。這一情況直到ARM公司推出Cortex-M內(nèi)核才得以改善,它無需操作系統(tǒng),可以像單片機(jī)一樣使用KeilC語言進(jìn)行編程,極大的減少了開發(fā)者的工作量。坤年6月,ST公司及時推出了一款基于Cortex-M3內(nèi)核的新型ARM處理器:STM32系列微處理器。本文以stm32F103處理器為例,列舉了開發(fā)需要用到的各種軟硬件資源及其作用,較詳細(xì)介紹了處理器開發(fā)使用方法,隨后具體到以溫度傳感器檢測溫度這一實(shí)際應(yīng)用,給開發(fā)者提供一個更加直觀的印象,目的就是讓開發(fā)者能盡快了解熟悉該處理器的特點(diǎn),掌握該系列處理器的開發(fā)使用方法。2STM32F103系列微處理器簡介STM32F103系列微處理器是首款基于ARMv7-M體系結(jié)構(gòu)的32位標(biāo)準(zhǔn)RISC(精簡指令集)處理器,提供很高的代碼效率,在通常8位和16位系統(tǒng)的存儲空間上發(fā)揮了ARM內(nèi)核的高性能。該系列微處理器工作頻率為72MHz,內(nèi)置高達(dá)128K字節(jié)的Flash存儲器和20K字節(jié)的SRAM,具有豐富的通用I/O端口。作為最新一代的嵌入式ARM處理器,它為實(shí)現(xiàn)MCU的需要提供了低成本的平臺、縮減的引腳數(shù)目、降低的系統(tǒng)功耗,同時提供了卓越的計算性能和先進(jìn)的中斷響應(yīng)系統(tǒng)。豐富的片上資源使得STM32F103系列微處理器在多種領(lǐng)域如電機(jī)驅(qū)動、實(shí)時控制、手持設(shè)備、PC游戲外設(shè)和空調(diào)系統(tǒng)等都顯示出了強(qiáng)大的發(fā)展?jié)摿?。STM32F103系列微處理器主要資源和特點(diǎn)如下:(1) 多達(dá)51個快速I/O端口,所有I/O口均可以映像到16個外部中斷,幾乎所有端口都允許5V信號輸入。每個端口都可以由軟件配置成輸出(推挽或開漏)、輸入(帶或不帶上拉或下拉)或其它的外設(shè)功能口。(2)2個12位模數(shù)轉(zhuǎn)換器,多達(dá)16個外部輸入通道,轉(zhuǎn)換速率可達(dá)1MHz,轉(zhuǎn)換范圍為0~36V;具有雙采樣和保持功能;內(nèi)部嵌入有溫度傳感器,可方便的測量處理器溫度值。(3) 靈活的7路通用DMA可以管理存儲器到存儲器、設(shè)備到存儲器和存儲器到設(shè)備的數(shù)據(jù)傳輸,無須CPU任何干預(yù)。通過DMA可以使數(shù)據(jù)快速地移動,這就節(jié)??CPU的資源來進(jìn)行其他操作。DMA控制器支持環(huán)形緩沖區(qū)的管理,避免了控制器傳輸?shù)竭_(dá)緩沖區(qū)結(jié)尾時所產(chǎn)生的中斷。它支持的外設(shè)包括:定時器、ADC、SPI、I2C和USART等。(4)調(diào)試模式:支持標(biāo)準(zhǔn)的20腳JTAG仿真調(diào)試以及針對Cortex-M3內(nèi)核的串行單線調(diào)試(SWD)功能。通常默認(rèn)的調(diào)試接口是JTAG接口。(5) 內(nèi)部包含多達(dá)7個定時器,具體名稱和功能如表1所示。(6) 含有豐富的通信接口:三個USART異步串行通信接口、兩個I2C接口、兩個SPI接口、一個CAN接口和一個USB接口,為實(shí)現(xiàn)數(shù)據(jù)通信提供了保證。表1各個定時器名稱及其作用名稱數(shù)目作用通用定時器16位定時器.每個定時器有4個用于輸入捕魏輸出比較4WM或麻沖計數(shù)的通道高黜制定時器116位6通道高級控融定時器,可以控制6路ra輸出成形可選擇邊緣或中間對齊,并且?guī)в兴绤^(qū)控制、緊急制動等功能看門齪時器2分為獨(dú)立看門淅和窗口看門狗;獨(dú)立看n狗可以用于在發(fā)生問題時復(fù)位整個系究或作為一個自由定時器為應(yīng)用程序"覷節(jié)也制請頃具脾期預(yù)警中斷功能'用于在發(fā)生問題時復(fù)位整個系統(tǒng)系統(tǒng)時基定時器124位的數(shù)器性要用于實(shí)時操作就亦可作為一個標(biāo)準(zhǔn)的遞浦計數(shù)器3開發(fā)工具和流程3.1開發(fā)工具對STM32F103系列MPU開發(fā)前,需要準(zhǔn)備相應(yīng)的軟硬件。其中硬件主要包括STM32F103開發(fā)板(或用戶目標(biāo)板)、J-Link下載仿真器等;軟件主要包括KeilVision4IDE開發(fā)平臺。下面對各自的功能和特點(diǎn)做簡要說明。STM32F103開發(fā)板(或用戶目標(biāo)板)是開發(fā)目標(biāo)對象。J-Link下載仿真器是程序下載的樞紐,它帶有的標(biāo)準(zhǔn)20芯扁平電纜可將程序通過JTAG接口下載到處理器內(nèi)部存儲空間;無需外部供電,用USB連接線與PC機(jī)連接好后即可工作;還具有下載速度快、功耗低的特點(diǎn)。KeilVision4IDE是一個基于窗口的軟件開發(fā)平臺,它集成了強(qiáng)大而且現(xiàn)代化的編輯器、工程管理器和make工具,幾乎集成了嵌入式系統(tǒng)開發(fā)所需的全部工具:C/C++編譯器、宏匯編器、鏈接/定位器、HEX文件生成器等。該軟件提供了兩種工作模式:編譯和調(diào)試模式。在編譯模式中,開發(fā)者可以創(chuàng)建工程、選擇目標(biāo)器件、新建文件、輸入源代碼、生成可執(zhí)行文件;調(diào)試模式中,開發(fā)者可以利用其強(qiáng)大的集成調(diào)試器對應(yīng)用程序進(jìn)行調(diào)試,如設(shè)置斷點(diǎn)、單步執(zhí)行等,方便了程序錯誤的查找和修改。3.2開發(fā)流程用J-Link仿真器將PC機(jī)和STM32F103開發(fā)板連接起來。使用KeilVision4IDE開發(fā)平臺創(chuàng)建新工程,編寫源程序。打開KeilVision4軟件,創(chuàng)建新的工程文件,為該工程選擇器件:STMicroelectronics公司的STM32F103R8芯片,單擊確定后會彈出對話框,提示是否選擇將啟動代碼添加到目標(biāo)工程。啟動代碼用來完成系統(tǒng)的初始化工作,對于嵌入式系統(tǒng)來說是必不可少的。選擇??是將啟動代碼加入到目標(biāo)工程,這樣可以大大節(jié)省啟動代碼的編寫工作。工程創(chuàng)建完畢后,即可在該工程下新建C文件,編寫源程序,完成后將其添加到工程中。最后將庫文件STM32F10xRLIB和STM32F10xDLIB也添加到工程中。至此,程序創(chuàng)建工作結(jié)束。所需源文件及功能如表2示。表2完整工程所需文件文件備注§tn32fl(ksCPU相關(guān)啟動代晚初始化目標(biāo)設(shè)備蜩置啟褂鏘工程創(chuàng)建時按提示瀏唧可miihc主程牌系統(tǒng)時鍬通用I/0U、中斷控制器等m主醐文件,由開發(fā)者自醐寫&to32fl0vitc齡了所有的中眥理程序(所有函辨醐為空)該文胸麴立Hi取也啊合并細(xì)如醐文件中W32F10ALBS1M32F10X系列姻器幗件庫,定義了片上外腳楠腳物及基本蹣數(shù)這兩個庫文件均位于KeilURM\RV31\LB\ST1STSIM32F10^LB程序的編譯、下載、仿真和調(diào)試等。程序編寫完成后即可編譯文件,編譯無錯誤后選擇Options選項(xiàng),在Debug程序編譯鏈接成功之后,選擇Project/OptionsforTarge,t打開對話框后,選擇Debug選項(xiàng)卡,在Use下拉按鈕中選擇Cortex-M3J-Link,選擇好后點(diǎn)擊settings,在彈出的對話框中點(diǎn)擊Add按鈕,選擇STM32F10xMed-densityFlash。點(diǎn)擊OK完成配置。通過Load即可將程序下載到目標(biāo)器件中。如圖1所示。如果需要對程序進(jìn)行在線調(diào)試,選擇Start/StopDebugSession,這時可以插入斷點(diǎn)、設(shè)置指針、單步執(zhí)行、復(fù)位等,還可以觀察各個寄存器值的變化,進(jìn)行波形仿真??傊梢院芊奖愕脑诰€調(diào)試程序。4應(yīng)用程序開發(fā)實(shí)例下面以溫度測量為例,具體介紹STM32F103處理器的開發(fā)使用方法。該處理器帶有12位逐次逼近式ADC,其輸入量程為VREF-~VREF+,在LQFP64引腳或更少的引腳封裝形式中,它們在芯片內(nèi)部與ADC的地VSSA和電源VDDA相連。由于STM32處理器在本設(shè)計中采用33V電壓供電,因此其輸入量程為0~33V。處理器內(nèi)部自帶一個溫度傳感器,它感知到MPU周圍的溫度變化,將其轉(zhuǎn)化為電壓的變化。該傳感器的溫度適應(yīng)范圍很寬,可以測量-40°C~+125°C之間變化的溫度值,轉(zhuǎn)換精度為±1.5C,能夠較好的滿足溫度測量的任務(wù)。4.1AD轉(zhuǎn)換和數(shù)據(jù)傳輸通常情況下,內(nèi)部溫度傳感器是關(guān)閉的,為了使其正常工作,首先需要選擇ADC—IN16通道,因?yàn)樵撏ǖ朗莾?nèi)部通道,與溫度傳感器直接相連,其次要設(shè)置相關(guān)功能寄存器ADC_CR2的TSVREFE位,開啟溫度傳感器和VREFINT通道。編寫mainc文件時,首先配置系統(tǒng)時鐘,然后進(jìn)行引腳配置,主要是為串口數(shù)據(jù)發(fā)送和接收配置引腳,本設(shè)計采用通用I/O口PB10作為串口發(fā)送引腳,配置為推挽式輸出,速度為50MHz;將通用I/O口PB11作為串口接收引腳,浮空輸入模式。然后配置串口工作方式及中斷,設(shè)置波特率為9600Baud、8位數(shù)據(jù)位、無校驗(yàn)位、1位停止位、無硬件流控制。然后使能串口的中斷、發(fā)送、接收。將AD轉(zhuǎn)換通道設(shè)為通道16,使能溫度傳感器。檢測到ADC校準(zhǔn)寄存器復(fù)位完成后,啟動ADC校準(zhǔn),校準(zhǔn)完成后軟件觸發(fā)啟動ADC轉(zhuǎn)換。設(shè)置while無限循環(huán),等待串口中斷,在中斷程序stm32f10x_itc文件中,將轉(zhuǎn)換結(jié)果數(shù)據(jù)通過串口發(fā)送到PC機(jī)。流程圖如圖2所示。圖1Dubug選項(xiàng)的配置圖2溫度測量流程圖出于STM32的溫度檢測方*型口設(shè)霓串口號|C0M1 _*袖特率|9G0 型口設(shè)霓串口號|C0M1 _*袖特率|9G0 3校騙位NONE:教據(jù)位|8一二|停止但一■I —I打開卒口成功!06十六歪制1D十遂制電始溫度發(fā)送1773114284423028120:25.3622365&&23Z6搦哎退出圖3C++Buider顯示界面4.2顯示界面的設(shè)計在PC機(jī)上,使用C++Builder軟件制作顯示界面。編寫串口接收程序,將串口設(shè)置與發(fā)端一致,接收數(shù)據(jù)時以雙字節(jié)十六進(jìn)制形式接收。接收到的數(shù)據(jù)大小介于0~0X0FFF之間,換算為十進(jìn)制數(shù)介于0~4095之間。由于VREF-=0V,VREF+=3.3V,因此,根據(jù)數(shù)值和電壓值的關(guān)系算得當(dāng)前電壓值。VSENSE=Data/4096*3.3V。比如,若當(dāng)前得到十進(jìn)制數(shù)值為1773,則根據(jù)上述公式算得當(dāng)前電壓為1.428V。得到電壓值之后,由公式:TA={(V25-VSENSE)/Avg_Slope}+25可進(jìn)一步算出當(dāng)前溫度值。其中,V25為VSENSE在25°C時的大小,其值為1.43V;Avg_Slope為溫度與VSENSE曲線的平均斜率,大小為4.3mV/C。根據(jù)上例得出的當(dāng)前電壓1428V,可推算得溫度值為25.36C。得出結(jié)果的同時將該溫度值在該界面中顯示出來。結(jié)果顯示如圖3所示。5結(jié)束語:基于Cortex-M3內(nèi)核的STM32F103系列處理器是新型的嵌入式微處理器,它在各方面指標(biāo)上都遠(yuǎn)遠(yuǎn)優(yōu)于51系列單片機(jī)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度房屋更名買賣合同創(chuàng)新科技護(hù)航3篇
- 2025版電梯設(shè)備采購與智能化控制系統(tǒng)合同3篇
- 2024年環(huán)保機(jī)械銷售承包協(xié)議
- 2025年度物流企業(yè)安全生產(chǎn)責(zé)任制及風(fēng)險控制合同3篇
- 2024年度大理石臺面安裝與施工驗(yàn)收服務(wù)合同3篇
- 2024年中國大班腳市場調(diào)查研究報告
- 2025版水泥磚生產(chǎn)成本控制與效益分析購銷合同2篇
- 2024年中國半泡殼套刷市場調(diào)查研究報告
- 2024年中國全自動變頻調(diào)速消防給水設(shè)備市場調(diào)查研究報告
- 2024年中國中華獼猴桃濃縮汁市場調(diào)查研究報告
- 大學(xué)生朋輩心理輔導(dǎo)智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 中國馬克思主義與當(dāng)代2021版教材課后思考題
- CNAS-TRC-014_2018《能源管理體系(EnMS)能源績效參數(shù)和能源基準(zhǔn)的建立方法及認(rèn)證審核》
- 旋轉(zhuǎn)式濾水器控制系統(tǒng)設(shè)計1
- 考試焦慮及相關(guān)因素研究
- 崗位風(fēng)險告知卡(40個風(fēng)險點(diǎn))
- 質(zhì)量體系審核不符合項(xiàng)案例
- 鉆井工程巖石力學(xué)與破巖原理
- 《熱軋U型鋼板樁》國家標(biāo)準(zhǔn)——報審稿
- 最新工程簽證單范本
- 河道整治工程項(xiàng)目實(shí)施的重點(diǎn)難點(diǎn)和解決方案(完整版)
評論
0/150
提交評論