01前文
本文主要進(jìn)行學(xué)習(xí)總結(jié),為他人提供參考和學(xué)習(xí),也為了記錄自己的學(xué)習(xí)知識進(jìn)行總結(jié),并且望有錯誤之處,請各位技術(shù)大佬們提出修正,互相進(jìn)步,也便認(rèn)識自己的不足之處,查漏補(bǔ)缺。
02前情提要
在說總線架構(gòu)之前,要了解一些知識點(diǎn),AMBA是什么、總線、矩陣的作用,了解了這些才能明白總線為何這樣走,為何要有矩陣。
1、AMBA
AMBA是ARM公司提出的一種開放性的SoC總線標(biāo)準(zhǔn),現(xiàn)在已經(jīng)廣泛的應(yīng)用于RISC的內(nèi)核上了。
定義了一種多總線系統(tǒng),包括系統(tǒng)總線和等級稍低的外設(shè)總線。
利用AMBA定義的一款總線架構(gòu):
AHB (Advanced High-performance Bus) 高級高性能總線
ASB (Advanced System Bus) 高級系統(tǒng)總線
APB (Advanced Peripheral Bus) 高級外圍總線
AXI (Advanced eXtensible Interface) 高級可拓展接口
其中 AHB速度高,可連接芯片,或者搭載快速高效率的模塊如內(nèi)存,DMA。
APB頻率較低,可由AHB經(jīng)BUS-BRIDGE橋接而來,常用于搭載較低速度需求的外圍設(shè)備,被稱為外圍總線。
AXI:屬于AMBA3.0標(biāo)準(zhǔn)的產(chǎn)物,其中STM32F7中就采用了AXI總線,相對于AHB不僅頻率高,數(shù)據(jù)寬度范圍廣和大,且數(shù)據(jù)和地址通道分離。
AHB和APB之間是通過Bridge(橋接器)連接起來的。
2總線橋接
眾所周知,一個系統(tǒng)中的各個模塊之間相互通信是通過總線,總線的作用,就是把數(shù)據(jù)和地址從設(shè)備A搬運(yùn)到設(shè)備B上,
如果說設(shè)備A和設(shè)備B具有一致性,那么設(shè)備A和設(shè)備B可以直接掛在同一個總線上,并直接解讀總線上的數(shù)據(jù)。
但是,如果設(shè)備A和設(shè)備B不具有一致性,那么設(shè)備A和設(shè)備B就必須掛在兩條不同的總線上,這時(shí)候我們就需要一個“翻譯”,把設(shè)備A上的總線上的數(shù)據(jù)和地址轉(zhuǎn)換成設(shè)備B可以解析的格式,然后放到設(shè)備B的總線上。
3矩陣
矩陣的作用是按照訪問關(guān)系將主從設(shè)備間連接起來。因此,多個從設(shè)備可以類似于并行地訪問主設(shè)備,例如當(dāng)多個從設(shè)備訪問一個主設(shè)備時(shí),那么如何工作?一個時(shí)刻只能有一個從設(shè)備訪問主設(shè)備,因此當(dāng)多個從設(shè)備訪問同一個主設(shè)備時(shí)需要有優(yōu)先級的參與。
矩陣內(nèi)部有仲裁器,可根據(jù)優(yōu)先級對每個從設(shè)備進(jìn)行優(yōu)先級判斷來操作。
重點(diǎn)來了噢!
跟上圖中的走線腳步一起前進(jìn)
系統(tǒng)架構(gòu)
主系統(tǒng)架構(gòu)基于 2 個子系統(tǒng):
一個 AXI 轉(zhuǎn) multi-AHB 總線橋,用于將 AXI4 協(xié)議轉(zhuǎn)換為 AHB-Lite 協(xié)議:
① 一個連接到內(nèi)嵌 flash 的 AXI 轉(zhuǎn) 64 位 AHB 總線橋(圖中標(biāo)記為紅色)
② 3 個連接到 AHB 總線矩陣的 AXI 轉(zhuǎn) 32 位 AHB 總線橋(途中標(biāo)記為藍(lán)色)
一個 multi-AHB 總線矩陣
multi-AHB 總線矩陣將所有主控總線和被控總線互連,它包括:
– 32 位 multi-AHB 總線矩陣 (圖中32位總線矩陣:方框)
– 64 位 multi-AHB 總線矩陣(圖中用紫色圈出的部分):它將來自 CPU 的 64 位 AHB 總線(圖中黃線路徑)(通過 AXI 轉(zhuǎn) AHB 總線橋)和來自 GP DMA 與外設(shè) DMA(增至 64 位)的 32 位 AHB 總線連接到內(nèi)部flash。
multi-AHB 總線矩陣可連接:十二個總線主控器:(以下部分可參照圖2來走線:圖一不太好理解)
– 3x32 位 AHB 總線以及 64 位 Cortex?-M7 AXI 主控總線通過 AXI-AHB 總線橋分為 4 個總線主控器
– 連接到內(nèi)嵌 flash 的 1x64 位 AHB 總線
–Cortex? -M7 AHB 外設(shè)總線
–DMA1 存儲器總線
–DMA2 存儲器總線
–DMA2 外設(shè)總線
– 以太網(wǎng) DMA 總線
– USB OTG HS DMA 總線
–LCD 控制器 DMA 總線
– Chrom-Art 加速器? (DMA2D) 存儲器總線
八個總線從控制器:
–AHB 總線上的內(nèi)嵌 Flash(用于 Flash 讀/寫訪問、代碼執(zhí)行和數(shù)據(jù)訪問) –Cortex?-M7 AHBS 從接口(僅用于 DTCM RAM 的 DMA 數(shù)據(jù)傳輸)
–主 SRAM1 (240 KB)
– 輔助 SRAM2 (16 KB)
–AHB1 外設(shè)(包括 AHB-APB 總線橋和 APB 外設(shè))
–AHB2 外設(shè)(包括 AHB-APB 總線橋和 APB 外設(shè))
–FMC – Quad SPI
結(jié)尾
總線架構(gòu)需要了解的就這么多,我們只需要知道總線的作用,以及它大概連接的邏輯,怎樣走線的,呃,這個詞語也不是很專業(yè)。總得來說,知道有哪些東西在你的單片機(jī)上,如何運(yùn)作的就差不多啦!如果想具體知道每一個設(shè)備是如何來連接運(yùn)作的,可以單獨(dú)查詢。
-
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354298 -
總線
+關(guān)注
關(guān)注
10文章
2858瀏覽量
87912 -
矩陣
+關(guān)注
關(guān)注
0文章
418瀏覽量
34475 -
AMBA
+關(guān)注
關(guān)注
0文章
68瀏覽量
14940 -
AXI
+關(guān)注
關(guān)注
1文章
127瀏覽量
16575
發(fā)布評論請先 登錄
相關(guān)推薦
評論