第二章STM32微處理器概述_第1頁(yè)
第二章STM32微處理器概述_第2頁(yè)
第二章STM32微處理器概述_第3頁(yè)
第二章STM32微處理器概述_第4頁(yè)
第二章STM32微處理器概述_第5頁(yè)
已閱讀5頁(yè),還剩50頁(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)介

Cortex-M3的體系結(jié)構(gòu)

STM32F103x處理器的特點(diǎn)

STM32F103x內(nèi)部結(jié)構(gòu)

STM32F103x的時(shí)鐘結(jié)構(gòu)STM32F103x的存儲(chǔ)結(jié)構(gòu)STM32F103x的啟動(dòng)模式

STM32F103x的片上外設(shè)第二章STM32微處理器概述2.1

Cortex-M3的體系結(jié)構(gòu)1.Cortex-M3系列微處理器的主要特點(diǎn)Thumb-2指令集架構(gòu)(ISA)的子集。哈佛處理器架構(gòu),在加載/存儲(chǔ)數(shù)據(jù)的同時(shí)能夠執(zhí)行指令取指。三級(jí)流水線。32位單周期乘法。具備硬件除法。Thumb狀態(tài)和調(diào)試狀態(tài)。處理模式和線程模式。2.1

Cortex-M3的體系結(jié)構(gòu)ISR的低延遲進(jìn)入和退出??芍袛?可繼續(xù)的LDM/STM,PUSH/POPARMv6類(lèi)型BE8/LE支持。ARMv6非對(duì)齊訪問(wèn)。分支預(yù)測(cè)功能2.1

Cortex-M3的體系結(jié)構(gòu)三級(jí)流水線及執(zhí)行過(guò)程2.1

Cortex-M3的體系結(jié)構(gòu)2.基于Cortex-M3微處理器的結(jié)構(gòu)ARMCortex-M3模塊結(jié)構(gòu)ARMCortex-M3模塊結(jié)構(gòu)2.1

Cortex-M3的體系結(jié)構(gòu)3.基于Cortex-M3微處理器的寄存器組ARMCortex-M3處理器內(nèi)存映射2.1

Cortex-M3的體系結(jié)構(gòu)4.Cortex-M3的工作模式與狀態(tài)

Cortex-M3處理器代碼可以是特權(quán)執(zhí)行或非特權(quán)執(zhí)行。線程模式在復(fù)位之后為特權(quán)訪問(wèn)。這里需要注意的是,處理模式始終是特權(quán)訪問(wèn)的。2.1

Cortex-M3的體系結(jié)構(gòu)4.Cortex-M3的存儲(chǔ)器系統(tǒng)CM3的存儲(chǔ)器系統(tǒng)與從傳統(tǒng)ARM架構(gòu)的相比,已經(jīng)有過(guò)脫胎換骨般的改革了:

CM3的存儲(chǔ)器映射是預(yù)定義的,且規(guī)定好哪個(gè)位置使用哪條總線。CM3存儲(chǔ)器系統(tǒng)支持“位綁定”(bit-band)操作。CM3的存儲(chǔ)器系統(tǒng)支持非對(duì)齊訪問(wèn)和互斥訪問(wèn)。這兩個(gè)特性是直到v7M時(shí)才出來(lái)的。CM3的存儲(chǔ)器系統(tǒng)支持both小端配置和大端配置。2.1

Cortex-M3的體系結(jié)構(gòu)5.Cortex-M3的NVIC嵌入式中斷控制器進(jìn)入中斷方式入棧:把8個(gè)寄存器的值壓入棧。取向量:從向量表中找出對(duì)應(yīng)的中斷服務(wù)程序入口地址。選擇堆棧指針MSP/PSP,更新堆棧指針SP,更新連接寄存器LR,更新程序計(jì)數(shù)器PC。高效的低延遲異常處理NVIC的寄存器以存儲(chǔ)器映射的方式來(lái)訪問(wèn)使能與除能寄存器懸起與“解懸”寄存器優(yōu)先級(jí)寄存器活動(dòng)狀態(tài)寄存器2.1

Cortex-M3的體系結(jié)構(gòu)標(biāo)準(zhǔn)NVIC包括一個(gè)NMI和32個(gè)通用物理中斷,可配置中斷240個(gè),優(yōu)先級(jí)位3~8位。通過(guò)與處理器的緊密結(jié)合,加快中斷服務(wù)程序(ISR)的執(zhí)行。通過(guò)寄存器硬件堆棧,加上退出和重啟多寄存器Load-Store操作,可以不用任何匯編代碼完成寄存器數(shù)據(jù)傳送。采用尾鏈(Tail-Chaining)技術(shù),簡(jiǎn)化激活和掛起的中斷之間的數(shù)據(jù)傳送。進(jìn)入中斷和退出中斷時(shí),處理器狀態(tài)硬件自動(dòng)保存和恢復(fù),無(wú)須而外指令消耗。2.2

STM32F103x處理器的特點(diǎn)1.內(nèi)核ARM32位的Cortex-M3CPU72MHz,高達(dá)90DMips,1.25DMips/MHz單周期硬件乘法和除法——加快計(jì)算2.存儲(chǔ)器從32K字節(jié)至128K字節(jié)閃存程序存儲(chǔ)器從6K字節(jié)至20K字節(jié)SRAM2.2

STM32F103x處理器的特點(diǎn)3.時(shí)鐘、復(fù)位和供電管理2.0至3.6伏供電和I/O管腳上電/斷電復(fù)位(POR/PDR)、可編程電壓監(jiān)測(cè)器(PVD)、掉電監(jiān)測(cè)器內(nèi)嵌4至16MHz高速晶體振蕩器內(nèi)嵌經(jīng)出廠調(diào)校的8MHz的RC振蕩器內(nèi)嵌40kHz的RC振蕩器內(nèi)嵌PLL供應(yīng)CPU時(shí)鐘內(nèi)嵌使用外部32kHz晶體的RTC振蕩器2.2

STM32F103x處理器的特點(diǎn)4.2個(gè)12位模數(shù)轉(zhuǎn)換器,1us轉(zhuǎn)換時(shí)間(16通道)轉(zhuǎn)換范圍是0至3.6V雙采樣和保持功能溫度傳感器5.低功耗3種省電模式:睡眠、停機(jī)和待機(jī)模式VBAT為RTC和后備寄存器供電調(diào)試模式6.DMA7通道DMA控制器支持外設(shè):定時(shí)器、ADC、USART、SPI和I2C2.2

STM32F103x處理器的特點(diǎn)STM32系列的優(yōu)點(diǎn):先進(jìn)的內(nèi)核結(jié)構(gòu)STM32系列使用了ARM最新的、先進(jìn)架構(gòu)Cortex-M3內(nèi)核

優(yōu)秀的功耗控制

STM32處理器具有三種低功耗模式運(yùn)行模式時(shí)使用高效的動(dòng)態(tài)耗電機(jī)制,在Flash中以72MHz全速運(yùn)行時(shí),如果開(kāi)啟外部時(shí)鐘,處理器僅耗電27mA。待機(jī)狀態(tài)時(shí)極低耗電,典型值2uA。電池供電時(shí),提供低電壓2.0~3.6V工作能力。靈活的時(shí)鐘控制機(jī)制,用戶可以根據(jù)自己所需的耗電/性能要求進(jìn)行合理優(yōu)化。RTC可獨(dú)立供電,外接紐扣電池供電。2.2

STM32F103x處理器的特點(diǎn)性能出眾而且功能創(chuàng)新的片上外設(shè)

STM32處理器片上外設(shè)的優(yōu)勢(shì)來(lái)源于雙APB總線結(jié)構(gòu)。其中有一個(gè)高速APB,速度可達(dá)CPU的運(yùn)行頻率,連接到該總線上的外設(shè)能以更高的速度運(yùn)行?!馯SB:12Mbit/s●

USART:4.5Mbit/s●

SPI:18Mbit/s

IIC:400kHz●

GPIO:18MHz翻轉(zhuǎn)

●PWM:定時(shí)器72MHz輸入針對(duì)MCU應(yīng)用中最常見(jiàn)的電機(jī)控制,STM32對(duì)片上外圍設(shè)備進(jìn)行一些功能創(chuàng)新。

●內(nèi)嵌適合三相無(wú)刷電機(jī)控制的定時(shí)器和ADC2.2

STM32F103x處理器的特點(diǎn)●高級(jí)PWM定時(shí)器提供:6路PWM輸出死區(qū)產(chǎn)生編碼器輸入霍爾傳感器邊沿對(duì)齊和中心對(duì)齊波形完整的向量控制環(huán)緊急故障停機(jī),與2路ADC同步,與其它定時(shí)器同步可編程防范機(jī)制可用于防止對(duì)寄存器的非法寫(xiě)入●雙通道ADC采樣/保持,12位1uS,連續(xù)/獨(dú)立模式,多觸發(fā)源易于開(kāi)發(fā),可使產(chǎn)品快速進(jìn)入市場(chǎng)2.2

STM32F103x處理器的特點(diǎn)高度的集成整合STM32處理器最大程度地實(shí)現(xiàn)集成,盡可能地減少對(duì)外部器件的要求內(nèi)嵌電源監(jiān)控器,帶上電復(fù)位、低電壓檢測(cè)、掉電檢測(cè)自帶時(shí)鐘的看門(mén)狗定時(shí)器一個(gè)主晶振(4~16MHz晶振)驅(qū)動(dòng)整個(gè)系統(tǒng),內(nèi)嵌PLL產(chǎn)生多種頻率;RTC時(shí)鐘可內(nèi)部也可外部晶振(32kHz)內(nèi)嵌精密8MHzRC振蕩電路,可作為主時(shí)鐘LQPF封裝僅需7個(gè)濾波電容2.3

STM32F103x內(nèi)部結(jié)構(gòu)2.3STM32F103x內(nèi)部結(jié)構(gòu)2.3STM32F103x內(nèi)部結(jié)構(gòu)總線矩陣FLASH接口2.3STM32F103x內(nèi)部結(jié)構(gòu)四個(gè)主動(dòng)單元M3內(nèi)核的ICode總線(I-bus)、DCode總線(D-bus)、系統(tǒng)總線(S-bus)、DMA(DMA1、DMA2、以太網(wǎng)DMA)。四個(gè)被動(dòng)單元內(nèi)部SRAM、內(nèi)部閃存、FSMC、AHB到APB橋。ICode總線將M3內(nèi)核的指令總線與FLASH指令接口相連,用于指令預(yù)取。DCode總線將M3內(nèi)核的數(shù)據(jù)總線與FLASH數(shù)據(jù)接口相連,常量加載和調(diào)試。2.3STM32F103x內(nèi)部結(jié)構(gòu)系統(tǒng)總線將M3內(nèi)核的系統(tǒng)總線與總線矩陣相連,協(xié)調(diào)內(nèi)核與DMA訪問(wèn)。DMA總線將DMA的AHB主控接口與總線矩陣相連,協(xié)調(diào)CPU的DCode和DMA到SRAM、閃存、外設(shè)的訪問(wèn)。2.3STM32F103x內(nèi)部結(jié)構(gòu)總線矩陣協(xié)調(diào)內(nèi)核系統(tǒng)總線和DMA主控總線間的訪問(wèn)仲裁,仲裁采用輪換算法。包含DCode、系統(tǒng)總線、DMA1和DMA2總線、被動(dòng)單元。AHB到APB橋兩個(gè)AHB/APB橋在AHB和兩個(gè)APB總線間提供同步連接。APB1速度限于36MHz,APB2全速最高72MHz2.3STM32F103x內(nèi)部結(jié)構(gòu)2.3STM32F103x內(nèi)部結(jié)構(gòu)2.4

STM32F103x的時(shí)鐘結(jié)構(gòu)時(shí)鐘監(jiān)視系統(tǒng)一旦HSE失效則自動(dòng)切換至SYSCLK=HSI晶振可關(guān)閉或旁路晶振可關(guān)閉或旁路內(nèi)置振蕩器可關(guān)閉輸出內(nèi)部時(shí)鐘2.4

STM32F103x的時(shí)鐘結(jié)構(gòu)2.4

STM32F103x的時(shí)鐘結(jié)構(gòu)系統(tǒng)復(fù)位后,所有外設(shè)全部關(guān)閉,但

SRAM和FLASH接口(FLITF)除外使用外設(shè)之前需打開(kāi)該外設(shè)時(shí)鐘,設(shè)置

RCC--AHBENR寄存器三種不同的時(shí)鐘源可被用來(lái)驅(qū)動(dòng)系統(tǒng)

時(shí)鐘(SYSCLK):

HSI振蕩器時(shí)鐘HSE振蕩器時(shí)鐘PLL時(shí)鐘2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)組織:存儲(chǔ)系統(tǒng)采用統(tǒng)一編址方式,小端方式4GB的線性地址空間內(nèi),尋址空間被分成8

個(gè)主塊block0~block7每塊512MB片內(nèi)Flash:從0x00000000開(kāi)始片內(nèi)SRAM:從0x20000000開(kāi)始代碼空間數(shù)據(jù)空間位段、位段別名2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)組織:

程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、寄存器和輸入輸出端口被組織在同一4GB的線性地址空間內(nèi),存儲(chǔ)系統(tǒng)采用統(tǒng)一編址方式。數(shù)據(jù)字節(jié)以小端格式存放在存儲(chǔ)器中。一個(gè)字的最低地址字節(jié)為該字的最低有效字節(jié),最高地址字節(jié)是最高有效字節(jié)??稍L問(wèn)的存儲(chǔ)器空間被分成8個(gè)主要塊,每個(gè)塊為512MB。其他所有沒(méi)有分配給片上存儲(chǔ)器和外設(shè)的存儲(chǔ)器空間都是保留的地址空間。2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)

4GB的線性地址空間內(nèi),尋址空間被分成8個(gè)主塊block0~block7每塊512MB片內(nèi)Flash:從0x00000000開(kāi)始片內(nèi)SRAM:從0x20000000開(kāi)始

*寄存器*片上外設(shè)*代碼空間*外部外設(shè)*數(shù)據(jù)空間*外部存儲(chǔ)器*位段、位段別名2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)CODESRAMPeripherals0x000000000x200000000x400000000xE01000000xFFFFFFFFReservedReservedReservedBit-Bandregion0x080000000x0801FFFF0x1FFFF0000x1FFFF7FFFlashSystemMemoryReservedReservedOptionBytes0x1FFFF8000x1FFFF80FCortex-M3internalperipherals0xE00000000xE00FFFFFReserved2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)地址范圍固定分配給處理器系統(tǒng)控制寄存器、位段區(qū)域、位段別名2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)器映射:2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)器映射:如果某款處理器不帶有某個(gè)片上外圍,則該地址范圍保留。2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)器映射:2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)存儲(chǔ)器映射:

如果某款處理器不帶有某個(gè)片上外圍,則該地址范圍保留。2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)FLASH由MainBlock和InformationBlock組成MainBlock:存放用戶程序,最高512KB地址范圍:0x08000000-0x0807FFFF小容量:16K-32K,最大4Kx64bit共32x1K頁(yè)中容量:64K-128K,最大16Kx64bit,共128x1K頁(yè)大容量:256K-512K,最大64Kx64bit共256x2K頁(yè)互聯(lián)型:最大32Kx64bit,共128x2K頁(yè)InformationBlock:SystemMemory2KB:0x1FFFF000-0x1FFFF7FF

ISPBootloader程序OptionBytes16B:0x1FFFF800-0x1FFFF80F2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)特殊區(qū)域FLASH塊名稱地址范圍長(zhǎng)度主存儲(chǔ)器頁(yè)00x08000000–0x080003FF1KB頁(yè)10x08000400–0x080007FF1KB頁(yè)1270x0801FC00–0x0801FFFF1KB信息塊系統(tǒng)存儲(chǔ)器0x1FFFF000–0x1FFFF7FF2KB選項(xiàng)存儲(chǔ)器0x1FFFF800–0x1FFFF80F16BFLASH存儲(chǔ)器接口寄存器FLASH_ACR0x40022000–0x400220034FLASH_KEYR4FLASH_OPTKEYR4FLASH_SR4FLASH_CR4FLASH_AR4保留4FLASH_OBR4FLASH_WRPR0x40022020–0x4002202342.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)SRAM

最大64KB地址范圍:0x20000000~0x2000FFFF片上外設(shè)地址映射:2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)位段(bit-band)、位段別名

存儲(chǔ)空間中包括兩個(gè)位段區(qū),該區(qū)域既可字操作,又可位操作。SRAM最低1MB空間:0x20000000~0x200FFFFF外設(shè)最低1MB空間:0x40000000~0x400FFFFF為方便位段區(qū)操作,安排兩個(gè)32M位段別名區(qū)位段區(qū)中每一位映射位段別名區(qū)中的一個(gè)字通過(guò)對(duì)別名區(qū)中某個(gè)字的讀寫(xiě)操作,可實(shí)現(xiàn)對(duì)位段區(qū)中某一位的讀寫(xiě)操作。別名區(qū)2個(gè)32MB:SRAM:0x22000000~0x21FFFFFF外設(shè):0x42000000~0x41FFFFFF2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)位段(bit-band)、位段別名位段別名區(qū)中的字與位段區(qū)的位映射公式:bit_word_addr=bit_band_base+(byte_offsetx32)+bit_numberx4

如SRAM位段區(qū)中地址0x20000300字節(jié)中位2被映射到別名區(qū)中的地址為:0x22006008=0x22000000+(0x300x32)+(2x4)2.5

STM32F103x的存儲(chǔ)結(jié)構(gòu)對(duì)別名區(qū)中某個(gè)字進(jìn)行寫(xiě)操作:該字的第0位將影響位段區(qū)中對(duì)應(yīng)的位對(duì)別名區(qū)中某個(gè)字進(jìn)行讀操作若位段區(qū)中對(duì)應(yīng)的位為0則讀的結(jié)果為0x0若位段區(qū)中對(duì)應(yīng)的位為1則讀的結(jié)果為0x1對(duì)別名區(qū)的讀寫(xiě)可實(shí)現(xiàn)對(duì)位段區(qū)中每一位的操作,且僅只需要一條指令即可實(shí)現(xiàn)。2.6

STM32F103x的啟動(dòng)模式

STM32系統(tǒng)啟動(dòng)區(qū):0x00000000~0x0007FFFF,512KB系統(tǒng)啟動(dòng)之后:

CPU從位于0x00000000地址處的啟動(dòng)區(qū)開(kāi)始執(zhí)行代碼該區(qū)實(shí)際既無(wú)FLASH,也無(wú)SRAM,通過(guò)引導(dǎo)配置后,將實(shí)際引導(dǎo)區(qū)映射到啟動(dòng)區(qū)。系統(tǒng)復(fù)位后,在SYSCLK第4個(gè)上升沿,BOOT管腳的狀態(tài)被保存。用戶通過(guò)設(shè)置BOOT1、BOOT0的引腳狀態(tài)選擇啟動(dòng)模式。2.6

STM32F103x的啟動(dòng)模式

CPU從位于0x00000000處啟動(dòng)區(qū)開(kāi)始執(zhí)行代碼

0x00000000實(shí)際是SP0x00000004是執(zhí)行代碼的地址即使被映射到啟動(dòng)區(qū),仍然可以在原存儲(chǔ)空間訪問(wèn)相關(guān)存儲(chǔ)器

從待機(jī)模式退出后,BOOT引腳狀態(tài)被重新保存

待機(jī)時(shí),BOOT管腳需保持2.6

STM32F103x的啟動(dòng)模式STM32F10x通過(guò)配置BOOT[1:0]引腳選擇三種不同啟動(dòng)模式啟動(dòng)模式選擇引腳啟動(dòng)模式說(shuō)明BOOT1BOOT0X0用戶模式:從內(nèi)置閃存用戶存儲(chǔ)區(qū)啟動(dòng)0x08000000–0x0807FFFF,512KB作為啟動(dòng)區(qū),該區(qū)映射到0x00000000

原地址和映射地址均可訪問(wèn)01ISP模式:從內(nèi)置閃存系統(tǒng)存儲(chǔ)區(qū)啟動(dòng)0x1FFFF000–0x1FFFF7FF,2KB(互聯(lián)型從0x1FFFB000開(kāi)始)映射到0x00000000。廠家設(shè)置的程序,通過(guò)USART1的ISPBootloader。ROM。原地址和映射地址均可訪問(wèn)11SRAM模式:從內(nèi)置SRAM啟動(dòng)0x20000000–0x2000FFFF,64KB用于調(diào)試,讀寫(xiě)板上FLASH、EPROM,還可用于解除內(nèi)部FLASH保護(hù)(同時(shí)會(huì)清除FLASH內(nèi)容)2.7

STM32F103x的片上外設(shè)STM32F10x外設(shè)引腳數(shù)小容量中容量大容量16K閃存32K64K128K256K384K512K6KRAM10K20K20K48K64K6

溫馨提示

  • 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)論