STM32芯片架構(gòu)
STM32F103系列芯片的系統(tǒng)架構(gòu)如下:
STM32芯片基于ARM公司的Cortex-M3內(nèi)核,由ST公司設(shè)計(jì)生產(chǎn),內(nèi)核與總線矩陣之間有I(指令)、S(系統(tǒng))、D(數(shù)據(jù))三條信號(hào)線。內(nèi)核通過(guò)總線矩陣與FLASH、SRAM、外設(shè)連接。而外設(shè)包括GPIO、USART、I2C、SPI等。
STM32芯片系統(tǒng)結(jié)構(gòu)
STM32F103 系列芯片(不包含互聯(lián)網(wǎng)型)的系統(tǒng)結(jié)構(gòu)如下:
從上圖可以看出,在小容量、中容量和大容量產(chǎn)品中,主系統(tǒng)由以下部分構(gòu)
成:
四個(gè)驅(qū)動(dòng)單元:
Cortex-M3 內(nèi)核 DCode 總線(D-bus)
Cortex-M3 內(nèi)核系統(tǒng)總線(S-bus)
通用 DMA1
通用 DMA2
四個(gè)被動(dòng)單元:
內(nèi)部 SRAM
內(nèi)部閃存存儲(chǔ)器FLASH
FSMC
AHB 到 APB 的橋(AHB2APBx),它連接所有的 APB 設(shè)備
這些都是通過(guò)一個(gè)多級(jí)的 AHB 總線構(gòu)架相互連接的。下面我們看看它們各自的功能:
ICode 總線
該總線將 Cortex-M3 內(nèi)核的指令總線與閃存指令接口相連接。指令預(yù)取在此
總線上完成。
DCode 總線
該總線將 Cortex-M3 內(nèi)核的 DCode 總線與閃存存儲(chǔ)器的數(shù)據(jù)接口相連接(常量加載和調(diào)試訪問(wèn))。
系統(tǒng)總線
此總線連接 Cortex-M3 內(nèi)核的系統(tǒng)總線(外設(shè)總線)到總線矩陣, 總線矩陣協(xié)調(diào)內(nèi)核和 DMA 間的訪問(wèn)。
DMA 總線
此總線將DMA的AHB主控接口與總線矩陣相聯(lián), 總線矩陣協(xié)調(diào)著CPU的DCode和 DMA 到 SRAM、閃存和外設(shè)的訪問(wèn)。
總線矩陣
總線矩陣協(xié)調(diào)內(nèi)核系統(tǒng)總線和 DMA 主控總線之間的訪問(wèn)仲裁, 仲裁利用輪換算法。在互聯(lián)型產(chǎn)品中,總線矩陣包含 5 個(gè)驅(qū)動(dòng)部件(CPU 的 DCode、系統(tǒng)總線、以太網(wǎng) DMA、 DMA1 總線和 DMA2 總線)和 3 個(gè)從部件(閃存存儲(chǔ)器接口(FLITF)、SRAM 和 AHB2APB 橋)。AHB 外設(shè)通過(guò)總線矩陣與系統(tǒng)總線相連,允許 DMA訪問(wèn)。
AHB/APB橋(APB)
兩個(gè) AHB/APB 橋在 AHB 和 2 個(gè) APB 總線間提供同步連接。APB1 操作速度限于 36MHz, APB2 操作于全速(最高 72MHz)。有關(guān)連接到每個(gè)橋的不同外設(shè)的地址映射請(qǐng)參考《STM32F1xx 中文參考手冊(cè)》存儲(chǔ)器映像章節(jié)。在每一次復(fù)位以后,所有除 SRAM 和 FLITF 以外的外設(shè)都被關(guān)閉,在使用一個(gè)外設(shè)之前,必須設(shè)置寄存器 RCC_AHBENR 來(lái)打開(kāi)該外設(shè)的時(shí)鐘。
STM32F1 的時(shí)鐘系統(tǒng)相對(duì)復(fù)雜,在后續(xù)文章中再介紹。
STM32學(xué)習(xí)進(jìn)階路徑
基本外設(shè):
GPIO 輸入輸出,外部中斷,定時(shí)器,串口。理解了這四個(gè)外設(shè),基本就入門一款MCU了。
基本外設(shè)接口:
SPI,IIC,WDG, FSMC,ADC/DAC,SDIO 等。這些外設(shè)接口功能原理對(duì)每個(gè)芯片幾乎都是一樣。對(duì)芯片而言就是多和少而已。
高級(jí)功能:
UCOS,F(xiàn)ATFS,EMWIN 等。以及一些應(yīng)用。
另外值得一提的是,C 語(yǔ)言是嵌入式開(kāi)發(fā)的基礎(chǔ)中的基礎(chǔ)。如果 C 語(yǔ)言不過(guò)關(guān),很大程度限制嵌入式學(xué)習(xí)的進(jìn)度與深度。在這里推薦3本書(shū)學(xué)習(xí)C語(yǔ)言,剛開(kāi)始可以參看譚浩強(qiáng)的《C程序設(shè)計(jì) 第四版》,入門之后看一下關(guān)于C指針的書(shū)《C 與指針》《C 指針編程之道》。學(xué)習(xí)嵌入式開(kāi)發(fā)要多動(dòng)手編程、多調(diào)試,遇到問(wèn)題也可以向本公眾號(hào)留言提問(wèn),作為一個(gè)入坑不久的STM32嵌入式開(kāi)發(fā)者,在力所能及的范圍內(nèi)會(huì)抽時(shí)間與大家交流、反饋,與君共勉!
-
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
364842 -
STM32F103
+關(guān)注
關(guān)注
33文章
483瀏覽量
65521
原文標(biāo)題:STM32入門系列-學(xué)習(xí)STM32要掌握的內(nèi)容
文章出處:【微信號(hào):?jiǎn)纹瑱C(jī)與嵌入式,微信公眾號(hào):?jiǎn)纹瑱C(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
STM32入門系列-學(xué)習(xí)STM32要掌握的內(nèi)容 精選資料分享
基于STM32F103的振動(dòng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
基于stm32f103系列控制芯片
stm32f103系列引腳定義-功能圖

STM32F103的振動(dòng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)

STM32F103芯片資料介紹

STM32入門系列-學(xué)習(xí)STM32要掌握的內(nèi)容

GD32F103與STM32F103的區(qū)別 2021.6.2

評(píng)論