STM32匯流排架構筆記

2021-09-23 22:17:04 字數 1951 閱讀 2223

amba是一種soc(system of chip)匯流排標準,有amba1.0 / 2.0 /3.0標準。

利用amba定義的一款匯流排架構:

ahb (advanced high-performance bus) 高階高效能匯流排

asb (advanced system bus) 高階系統匯流排

apb (advanced peripheral bus) 高階外圍匯流排

axi (advanced extensible inte***ce) 高階可拓展介面

其中 ahb速度高,可連線晶元,或者搭載快速高效率的模組如記憶體,dma。

apb頻率較低,可由ahb經bus-bridge橋接而來,常用於搭載較低速度需求的外圍裝置,被稱為外圍匯流排。

axi:屬於amba3.0標準的產物,其中stm32f7中就採用了axi匯流排,相對於ahb不僅頻率高,資料寬度範圍廣和大,且資料和位址通道分離。

晶元的讀取模組、記憶體操作、模組間的通訊等,是通過匯流排來完成的。

其中:位址匯流排:可用來傳輸位址值

資料匯流排:可用來傳輸資料值

如圖裝置a和裝置b通訊,a傳送資料到匯流排上,b可以通過匯流排讀取a資料。

可以看出a裝置和b裝置屬於同一條匯流排,可以對資料和位址直接解讀。

那麼如果多個裝置都屬於同條匯流排,如何區分不同裝置資料是否接收?

不知是否可以認為是通過資料和位址的結合來識別是哪個裝置間的通訊。

如圖是ab在同一條匯流排上,cd是另一條匯流排上,那麼如果a/b要和c/d通訊呢?位址和資料是否可以直接解讀?

不可以,需要乙個匯流排橋接充當翻譯。

如圖m3中的匯流排架構。

m3核心中flash和sram(optional)部分由指令匯流排/資料匯流排 經 匯流排矩陣連線到核心,而ahb與核心間的聯絡屬於系統匯流排,ahb匯流排上有sram,外部記憶體控制器等其他裝置,最後可看出經ahb—apb橋接到apb匯流排,而apb上搭了其他的外設如io、uart。。。。

m7匯流排架構可分為多個域:d0/d1/d2域。

其中

asibs:從介面,用來連線主裝置

amibs:主介面,用來連線從裝置

主裝置如cpu/dma/ltdc,可進行啟動匯流排操作,即實際的讀寫操作;而該響應該操作的就是從裝置,也就是主裝置可訪問從裝置。

以d1域為例可看出:

從裝置為ahb3/flasha等,主裝置為ltdc,dma2d等。

訪問許可權:主裝置可訪問從裝置

如:d1域的dma2d 可經過 64矩陣 訪問 flasha;

d2域的usb1 可經過 ahb矩陣訪問 sram1;

d1域的dma2d 可經過 d1-to-d2 ahb bus訪問d2域的主裝置;

d2域的dma2 可經過 d1-to-d2 ahb bus訪問d1域的主裝置;

(具體方法要看矩陣裡面的點表示連線,且記住主裝置訪問從裝置)

矩陣的作用是按照訪問關係將主從裝置間連線起來。

因此,多個從裝置可以類似於並行地訪問主裝置,例如當多個從裝置訪問乙個主裝置時,那麼如何工作?

乙個時刻只能有乙個從裝置訪問主裝置,因此當多個從裝置訪問同乙個主裝置時需要有優先順序的參與。

矩陣內部有仲裁器,可根據優先順序對每個從裝置進行優先順序判斷來操作。

STM32的匯流排AMBA AHB APB

一 匯流排的簡單介紹 處理器無疑是計算機中最重要的部件,但並不是唯一的部件。一台計算機也需要隨機訪問儲存器 ram 來存放機器碼指令以便讓處理器執行。計算機還必須有一些方法使這些指令進入ram 輸入裝置 以及一些方法使程式執行結果得以看見 輸出裝置 ram是易失性的,當斷電時,它的內容就會丟失。所以...

stm32的匯流排AMBA AHB APB

出處 amba advanced microprocessor bus architecture 是arm公司提出的一種開放性的soc匯流排標準,現在已經廣泛的應用於risc的核心上了。amba定義了一種 多匯流排系統 multilevel busing system 包括系統匯流排和等級稍低的外設...

STM32系統架構

這裡所講的 stm32 系統架構主要針對的 stm32f103 這些非互聯型晶元 stm32 主系統主要由 四個驅動單元 和四個被動單元 構成。四個驅動單元是 核心 dcode 匯流排 系統匯流排 通用 dma1 通用 dma2 四被動單元是 ahb 到 apb 的橋 連線所有的 apb 裝置 內部...