聊聊單片機(jī)STM32
單片機(jī)STM32是一個(gè)微控制器產(chǎn)品系列的總稱(chēng),目前這個(gè)系列中已經(jīng)包含了多個(gè)子系列,分別是:STM32小容 量產(chǎn)品、STM32中容量產(chǎn)品、STM32大容量產(chǎn)品和STM32互聯(lián)型產(chǎn)品;按照功能上的劃分,又可分為 STM32F101xx、STM32F102xx和STM32F103xx系列;因此STM32產(chǎn)品系列有以下這些數(shù)據(jù)手冊(cè)產(chǎn)品名命名規(guī)則如下
存儲(chǔ)器和總線(xiàn)構(gòu)架
系統(tǒng)構(gòu)架 在小容量、中容量和 大容量產(chǎn)品中,主系統(tǒng)由以下部分構(gòu)成: ● 四個(gè)驅(qū)動(dòng)單元: ─ Cortex?-M3內(nèi)核DCode總線(xiàn)(D-bus),和系統(tǒng)總線(xiàn)(S-bus) ─ 通用DMA1和通用DMA2 ● 四個(gè)被動(dòng)單元 ─ 內(nèi)部SRAM ─ 內(nèi)部閃存存儲(chǔ)器 ─ FSMC ─ AHB到APB的橋(AHB2APBx),它連接所有的APB設(shè)備這些都是通過(guò)一個(gè)多級(jí)的AHB總線(xiàn)構(gòu)架相互連接的,如下圖圖1所示
在互聯(lián)型產(chǎn)品中,主系統(tǒng)由以下部分構(gòu)成:
● 五個(gè)驅(qū)動(dòng)單元:
─ Cortex?-M3內(nèi)核DCode總線(xiàn)(D-bus),和系統(tǒng)總線(xiàn)(S-bus)─ 通用DMA1和通用DMA2
─ 以太網(wǎng)DMA
● 三個(gè)被動(dòng)單元
─ 內(nèi)部SRAM
─ 內(nèi)部閃存存儲(chǔ)器
─ AHB到APB的橋(AHB2APBx),它連接所有的APB設(shè)備 這些都是通過(guò)一個(gè)多級(jí)的AHB總線(xiàn)構(gòu)架相互連接的,如圖2所示:
存儲(chǔ)器和總線(xiàn)架構(gòu)。
ICode總線(xiàn)
該總線(xiàn)將Cortex?-M3內(nèi)核的指令總線(xiàn)與閃存指令接口相連接。指令預(yù)取在此總線(xiàn)上完成。 DCode總線(xiàn)該總線(xiàn)將Cortex?-M3內(nèi)核的DCode總線(xiàn)與閃存存儲(chǔ)器的數(shù)據(jù)接口相連接(常量加載和調(diào)試訪(fǎng) 問(wèn))。
系統(tǒng)總線(xiàn)
此總線(xiàn)連接Cortex?-M3內(nèi)核的系統(tǒng)總線(xiàn)(外設(shè)總線(xiàn))到總線(xiàn)矩陣,總線(xiàn)矩陣協(xié)調(diào)著內(nèi)核和DMA間 的訪(fǎng)問(wèn)。
DMA總線(xiàn)
此總線(xiàn)將DMA的AHB主控接口與總線(xiàn)矩陣相聯(lián),總線(xiàn)矩陣協(xié)調(diào)著CPU的DCode和DMA到 SRAM、閃存和外設(shè)的訪(fǎng)問(wèn)。
總線(xiàn)矩陣
總線(xiàn)矩陣協(xié)調(diào)內(nèi)核系統(tǒng)總線(xiàn)和DMA主控總線(xiàn)之間的訪(fǎng)問(wèn)仲裁,仲裁利用輪換算法。在互聯(lián)型產(chǎn) 品中,總線(xiàn)矩陣包含5個(gè)驅(qū)動(dòng)部件(CPU的DCode、系統(tǒng)總線(xiàn)、以太網(wǎng)DMA、DMA1總線(xiàn)和 DMA2總線(xiàn))和3個(gè)從部件(閃存存儲(chǔ)器接口(FLITF)、SRAM和AHB2APB橋)。在其它產(chǎn)品中總線(xiàn) 矩陣包含4個(gè)驅(qū)動(dòng)部件(CPU的DCode、系統(tǒng)總線(xiàn)、DMA1總線(xiàn)和DMA2總線(xiàn))和4個(gè)被動(dòng)部件(閃存 存儲(chǔ)器接口(FLITF)、SRAM、FSMC和AHB2APB橋)。
AHB外設(shè)通過(guò)總線(xiàn)矩陣與系統(tǒng)總線(xiàn)相連,允許DMA訪(fǎng)問(wèn)。