《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 新一代嵌入式微處理器STM32F103的開發(fā)與應(yīng)用
新一代嵌入式微處理器STM32F103的開發(fā)與應(yīng)用
摘要: 基于Co rtex- M3內(nèi)核的STM 32F103系列芯片是新型的32位嵌入式微處理器, 它是不需操作系統(tǒng)的ARM, 其性能遠(yuǎn)高于51系列單片機, 但開發(fā)過程與51系列單片機一樣簡便, 因而在很多應(yīng)用場合可替代51系列單片機。本文從STM 32F103系列芯片性能特點和片上資源入手, 重點介紹其開發(fā)工具以及開發(fā)流程。并以溫度測量為例, 具體說明了基于Keil? Vision4軟件的工程建立、源程序編輯、編譯, 基于J- L ink仿真器的程序下載, 程序在線調(diào)試, 片上運行等過程, 最終測量的溫度轉(zhuǎn)換為數(shù)字量, 通過串口發(fā)送至PC 機顯示。
Abstract:
Key words :

關(guān)鍵字: STMF芯片嵌入式微處理器溫度測量

  摘要: 基于Co rtex- M3內(nèi)核的STM 32F103系列芯片是新型的32位嵌入式微處理器, 它是不需操作系統(tǒng)的ARM, 其性能遠(yuǎn)高于51系列單片機, 但開發(fā)過程與51系列單片機一樣簡便, 因而在很多應(yīng)用場合可替代51系列單片機。本文從STM 32F103系列芯片性能特點和片上資源入手, 重點介紹其開發(fā)工具以及開發(fā)流程。并以溫度測量為例, 具體說明了基于Keil? Vision4軟件的工程建立、源程序編輯、編譯, 基于J- L ink仿真器的程序下載, 程序在線調(diào)試, 片上運行等過程, 最終測量的溫度轉(zhuǎn)換為數(shù)字量, 通過串口發(fā)送至PC 機顯示。

  1 引言

  嵌入式微處理器正越來越廣泛的應(yīng)用在生產(chǎn)生活的各個領(lǐng)域, 但是傳統(tǒng)的嵌入式微處理器要么是8位的處理器, 性能有限, 要么是32位基于ARM 的微處理器在使用上需要嵌入式操作系統(tǒng)的支持, 比如L inux操作系統(tǒng), 使得系統(tǒng)不夠精煉。這一情況直到ARM 公司推出Cortex- M 內(nèi)核才得以改善, 它無需操作系統(tǒng),可以像單片機一樣使用Ke il C 語言進(jìn)行編程, 極大的減少了開發(fā)者的工作量。2007年6月, ST 公司及時推出了一款基于Cortex- M 3內(nèi)核的新型ARM 處理器: STM32系列微處理器。本文以stm32F103處理器為例, 列舉了開發(fā)需要用到的各種軟硬件資源及其作用, 較詳細(xì)介紹了處理器開發(fā)使用方法, 隨后具體到以溫度傳感器檢測溫度這一實際應(yīng)用, 給開發(fā)者提供一個更加直觀的印象, 目的就是讓開發(fā)者能盡快了解熟悉該處理器的特點, 掌握該系列處理器的開發(fā)使用方法。

  2 STM32F103系列微處理器簡介

  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 處理器, 它為實現(xiàn)MCU 的需要提供了低成本的平臺、縮減的引腳數(shù)目、降低的系統(tǒng)功耗, 同時提供了卓越的計算性能和先進(jìn)的中斷響應(yīng)系統(tǒng)。豐富的片上資源使得STM32F103系列微處理器在多種領(lǐng)域如電機驅(qū)動、實時控制、手持設(shè)備、PC 游戲外設(shè)和空調(diào)系統(tǒng)等都顯示出了強大的發(fā)展?jié)摿Α?/p>

  STM32F103系列微處理器主要資源和特點如下:

 ?。?1)多達(dá)51個快速I /O 端口, 所有I/O口均可以映像到16個外部中斷, 幾乎所有端口都允許5V 信號輸入。每個端口都可以由軟件配置成輸出(推挽或開漏)、輸入(帶或不帶上拉或下拉) 或其它的外設(shè)功能口。

 ?。?2) 2個12位模數(shù)轉(zhuǎn)換器, 多達(dá)16個外部輸入通道, 轉(zhuǎn)換速率可達(dá)1MH z, 轉(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接口, 為實現(xiàn)數(shù)據(jù)通信提供了保證。

  表1 各個定時器名稱及其作用


  3 開發(fā)工具和流程

  3.1 開發(fā)工具

  對STM32F103系列MPU 開發(fā)前, 需要準(zhǔn)備相應(yīng)的軟硬件。其中硬件主要包括STM32F103開發(fā)板(或用戶目標(biāo)板)、J- L ink下載仿真器等; 軟件主要包括Ke il V ision4 IDE 開發(fā)平臺。下面對各自的功能和特點做簡要說明。

 ?。?1) STM32F103開發(fā)板(或用戶目標(biāo)板)是開發(fā)目標(biāo)對象。

 ?。?2) J- L ink下載仿真器是程序下載的樞紐, 它帶有的標(biāo)準(zhǔn)20芯扁平電纜可將程序通過JTAG 接口下載到處理器內(nèi)部存儲空間; 無需外部供電, 用USB 連接線與PC 機連接好后即可工作; 還具有下載速度快、功耗低的特點。

 ?。?3) Ke il V ision4 IDE 是一個基于窗口的軟件開發(fā)平臺, 它集成了強大而且現(xiàn)代化的編輯器、工程管理器和make工具, 幾乎集成了嵌入式系統(tǒng)開發(fā)所需的全部工具: C /C + + 編譯器、宏匯編器、鏈接/定位器、HEX 文件生成器等。該軟件提供了兩種工作模式: 編譯和調(diào)試模式。在編譯模式中, 開發(fā)者可以創(chuàng)建工程、選擇目標(biāo)器件、新建文件、輸入源代碼、生成可執(zhí)行文件; 調(diào)試模式中, 開發(fā)者可以利用其強大的集成調(diào)試器對應(yīng)用程序進(jìn)行調(diào)試, 如設(shè)置斷點、單步執(zhí)行等, 方便了程序錯誤的查找和修改。

  3.2 開發(fā)流程

 ?。?1)用J- L ink仿真器將PC 機和STM32F103開發(fā)板連接起來。

 ?。?2)使用K eil V ision4 IDE開發(fā)平臺創(chuàng)建新工程, 編寫源程序。

  打開Ke il V ision4 軟件, 創(chuàng)建新的工程文件, 為該工程選擇器件: STM icroe lectron ics 公司的STM32F103R8芯片, 單擊確定后會彈出對話框, 提示是否選擇將啟動代碼添加到目標(biāo)工程。啟動代碼用來完成系統(tǒng)的初始化工作, 對于嵌入式系統(tǒng)來說是必不可少的。選擇??是 將啟動代碼加入到目標(biāo)工程, 這樣可以大大節(jié)省啟動代碼的編寫工作。工程創(chuàng)建完畢后, 即可在該工程下新建C 文件, 編寫源程序, 完成后將其添加到工程中。最后將庫文件STM32F10xRLIB 和STM32F10xDLIB 也添加到工程中。至此, 程序創(chuàng)建工作結(jié)束。所需源文件及功能如表2示。

  表2 完整工程所需文件


 ?。?3)程序的編譯、下載、仿真和調(diào)試等。

  程序編寫完成后即可編譯文件, 編譯無錯誤后選擇Options選項, 在D ebug程序編譯鏈接成功之后, 選擇Pro ject /Opt ions for Targe,t 打開對話框后, 選擇Debug選項卡, 在U se下拉按鈕中選擇Cortex- M3 J- L ink, 選擇好后點擊settings, 在彈出的對話框中點擊Add按鈕, 選擇STM32F10xM ed- density Flash。點擊OK 完成配置。通過Load即可將程序下載到目標(biāo)器件中。如圖1所示。

  如果需要對程序進(jìn)行在線調(diào)試, 選擇S tart /Stop Debug Session, 這時可以插入斷點、設(shè)置指針、單步執(zhí)行、復(fù)位等, 還可以觀察各個寄存器值的變化, 進(jìn)行波形仿真。總之可以很方便的在線調(diào)試程序。

  4 應(yīng)用程序開發(fā)實例

  下面以溫度測量為例, 具體介紹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℃~ + 125℃之間變化的溫度值, 轉(zhuǎn)換精度為±1.5 ℃ , 能夠較好的滿足溫度測量的任務(wù)。

  4.1 AD轉(zhuǎn)換和數(shù)據(jù)傳輸

  通常情況下, 內(nèi)部溫度傳感器是關(guān)閉的, 為了使其正常工作, 首先需要選擇ADC _IN16通道, 因為該通道是內(nèi)部通道, 與溫度傳感器直接相連, 其次要設(shè)置相關(guān)功能寄存器ADC _CR2的TSVREFE位, 開啟溫度傳感器和VREFINT通道。

  編寫main c文件時, 首先配置系統(tǒng)時鐘, 然后進(jìn)行引腳配置, 主要是為串口數(shù)據(jù)發(fā)送和接收配置引腳,本設(shè)計采用通用I /O 口PB10作為串口發(fā)送引腳, 配置為推挽式輸出, 速度為50MH z; 將通用I /O 口PB11作為串口接收引腳, 浮空輸入模式。然后配置串口工作方式及中斷, 設(shè)置波特率為9600Baud、8位數(shù)據(jù)位、無校驗位、1位停止位、無硬件流控制。然后使能串口的中斷、發(fā)送、接收。將AD 轉(zhuǎn)換通道設(shè)為通道16, 使能溫度傳感器。檢測到ADC 校準(zhǔn)寄存器復(fù)位完成后, 啟動ADC 校準(zhǔn), 校準(zhǔn)完成后軟件觸發(fā)啟動ADC 轉(zhuǎn)換。

  設(shè)置w h ile無限循環(huán), 等待串口中斷, 在中斷程序stm32 f10x_ it c文件中, 將轉(zhuǎn)換結(jié)果數(shù)據(jù)通過串口發(fā)送到PC機。流程圖如圖2所示。


圖1 Dubug 選項的配置


圖2 溫度測量流程圖


圖3 C + + Buider顯示界面

  4.2 顯示界面的設(shè)計

  在PC 機上, 使用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 - VSEN SE ) /A vg_S lope} + 25可進(jìn)一步算出當(dāng)前溫度值。其中, V25 為VSENSE 在25℃ 時的大小, 其值為1.43V; Avg_Slope為溫度與VSENSE曲線的平均斜率, 大小為4.3mV /℃ 。根據(jù)上例得出的當(dāng)前電壓1428V, 可推算得溫度值為25.36 ℃ 。得出結(jié)果的同時將該溫度值在該界面中顯示出來。結(jié)果顯示如圖3所示。

  5 結(jié)束語:

  基于C ortex- M3內(nèi)核的STM32F103系列處理器是新型的嵌入式微處理器, 它在各方面指標(biāo)上都遠(yuǎn)遠(yuǎn)優(yōu)于51系列單片機, 但是其開發(fā)使用方法卻和51系列單片機一樣簡便, 而且不需要操作系統(tǒng)的支持, 因此開發(fā)工作量比起傳統(tǒng)的嵌入式系統(tǒng)大大減少了。這些突出的優(yōu)勢使得STM32系列處理器在生產(chǎn)生活的各個領(lǐng)域都有很大的發(fā)展?jié)摿Γ?得到了越來越廣泛的應(yīng)用。本文從該款處理器的資源、性能和特點入手, 較詳細(xì)的介紹了其開發(fā)工具和開發(fā)流程, 特別對K eilV ision4開發(fā)平臺的使用做了詳細(xì)的說明。最后以溫度測量實驗為例, 具體講解了片上AD資源的開發(fā)使用方法, 給讀者提供了一個直觀的印象, 為開發(fā)者更好的使用該款微處理器提供借鑒。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99在线|亚洲一区二区| 亚洲免费视频一区二区| 亚洲美女黄网| 亚洲盗摄视频| 黄色成人在线免费| 国产午夜亚洲精品不卡| 国产精品国产三级国产aⅴ浪潮| 亚洲韩国一区二区三区| 亚洲一区激情| 亚洲视频每日更新| 99re国产精品| 亚洲美女视频在线观看| 亚洲精华国产欧美| 亚洲欧洲日本一区二区三区| 曰本成人黄色| 国产在线成人| 韩日欧美一区二区| 国产亚洲欧美日韩在线一区| 国产美女精品| 国产欧美日韩综合一区在线播放 | 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品久久久久一区二区| 欧美女主播在线| 欧美日韩精品免费| 欧美日韩在线视频一区二区| 欧美日韩中字| 国产精品久久久久国产精品日日| 久久亚洲综合色| 久久影音先锋| 欧美成人免费在线观看| 欧美黄色一区| 欧美天堂亚洲电影院在线观看| 久久先锋影音av| 久久在线免费| 欧美二区视频| 欧美日韩视频第一区| 欧美视频中文字幕在线| 国产精品亚洲综合色区韩国| 国产午夜精品美女毛片视频| 在线观看精品| 亚洲美女淫视频| 亚洲一区不卡| 久久国产精品网站| 亚洲精品永久免费| 亚洲一区二区在线免费观看视频 | 国产一区二区在线观看免费| 国产欧美在线看| 韩日精品视频一区| 亚洲国产精品激情在线观看| 99国内精品久久久久久久软件| 激情综合自拍| 亚洲欧洲精品一区二区| 制服丝袜激情欧洲亚洲| 亚洲免费在线看| 亚洲第一毛片| 亚洲神马久久| 欧美一区二区在线视频| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美在线免费观看视频| 久久精品夜色噜噜亚洲a∨| 久久深夜福利免费观看| 欧美精品高清视频| 国产精品入口日韩视频大尺度| 欧美日韩国产综合在线| 国产精品美女久久久久久久| 狠狠色2019综合网| 日韩一级在线观看| 亚洲承认在线| 亚洲一区二区三区在线看| 久久这里只精品最新地址| 欧美揉bbbbb揉bbbbb| 国产一区清纯| 在线综合+亚洲+欧美中文字幕| 一本色道久久综合亚洲91| 午夜久久电影网| 一本久道久久综合中文字幕 | 久久精品国产视频| 一区二区三区**美女毛片| 久久xxxx精品视频| 欧美激情亚洲一区| 国产欧美精品在线观看| 亚洲三级免费电影| 亚洲成人在线视频网站| 亚洲在线免费| 欧美精彩视频一区二区三区| 国产午夜精品视频免费不卡69堂| 国产欧美另类| 日韩视频免费大全中文字幕| 亚洲国产高清自拍| 欧美一区二区黄| 欧美日韩视频一区二区| 一区福利视频| 亚洲欧美日韩一区二区三区在线 | 亚洲国产日韩在线| 亚洲一区二区三区四区五区午夜| 亚洲视频www| 麻豆av一区二区三区| 国产精品视频最多的网站| 亚洲伦理一区| 亚洲精品一区在线| 蜜桃av一区| 国产一区在线免费观看| 亚洲天堂av高清| 一本色道88久久加勒比精品| 免费久久99精品国产自| 国产女人18毛片水18精品| 中文欧美日韩| 在线视频欧美一区| 美女任你摸久久| 好看不卡的中文字幕| 亚洲一区二区三区免费观看 | 亚洲国产精品一区二区第一页 | 日韩视频在线免费| 久久久久久一区| 国产亚洲观看| 亚洲免费在线电影| 午夜欧美理论片| 国产精品www994| 99精品视频免费在线观看| 日韩小视频在线观看专区| 欧美成人激情在线| 在线观看国产日韩| 亚洲全部视频| 欧美风情在线| 亚洲激情社区| 亚洲伦理在线免费看| 欧美电影在线免费观看网站| 91久久精品一区| 日韩一区二区精品视频| 欧美国产日韩精品免费观看| 最近中文字幕日韩精品| 99国产一区| 欧美日韩久久久久久| 一卡二卡3卡四卡高清精品视频| 久久精品亚洲| 巨乳诱惑日韩免费av| 国内精品久久久久久久影视麻豆| 日韩一级大片在线| 中文欧美日韩| 欧美婷婷久久| 亚洲欧美成人| 久久久噜噜噜久久| 在线观看不卡| 亚洲美女在线视频| 欧美色欧美亚洲另类七区| 亚洲一区二区高清视频| 欧美亚洲一区在线| 国产亚洲免费的视频看| 亚洲电影免费观看高清完整版在线| 亚洲制服av| 国产欧美精品va在线观看| 欧美一二区视频| 免费成人av在线| 亚洲国产精品ⅴa在线观看| 99精品99久久久久久宅男| 欧美特黄一级| 欧美一级免费视频| 老司机67194精品线观看| 亚洲啪啪91| 亚洲一区日本| 国产一区二区三区四区在线观看| 宅男噜噜噜66一区二区| 欧美一区永久视频免费观看| 国产亚洲综合性久久久影院| 亚洲人午夜精品| 欧美日韩第一区日日骚| 亚洲免费一在线| 美女主播视频一区| 一区二区三区精密机械公司 | 欧美成人福利视频| 亚洲美女av在线播放| 午夜精品久久久久久久蜜桃app| 欧美视频网址| 香蕉久久精品日日躁夜夜躁| 久久综合色8888| 99re热这里只有精品视频| 欧美在线视频导航| 亚洲国产一区二区三区在线播| 亚洲国产日韩在线| 欧美日韩一区二区高清| 午夜精品久久99蜜桃的功能介绍| 午夜免费电影一区在线观看| 精品99一区二区| 亚洲一区二区三区涩| 精品成人a区在线观看| 亚洲一区二区不卡免费| 极品少妇一区二区三区精品视频| 欧美一区=区| 欧美久久久久久久久久| 欧美一区视频在线| 欧美日本中文字幕| 久久精品青青大伊人av| 国产精品久久久久秋霞鲁丝| 亚洲国产日韩精品| 国产精品一区二区在线| 91久久国产综合久久| 国产精品丝袜91| 一本色道婷婷久久欧美| 影音先锋中文字幕一区| 欧美在线观看一区|