stm32的匯流排AMBA AHB APB

2021-09-30 12:37:35 字數 1778 閱讀 8102

出處:

amba(advanced microprocessor bus architecture)是arm公司提出的一種開放性的soc匯流排標準,現在已經廣泛的應用於risc的核心上了。 

amba定義了一種

多匯流排系統

(multilevel busing system),包括系統匯流排和等級稍低的外設匯流排。 

amba支援32位、64位、128位的資料匯流排,和32位的位址匯流排,同時支援byte和half-word設計。 

它定義了兩種匯流排: ahb(advanced high-performance bus)先進的高效能匯流排,也叫做asb(advanced system bus)。apb(advanced peripheral bus)先進的外設匯流排 

ahb和asb其實是乙個東西,是

高速匯流排

,主要負責嵌入式處理器、dma控制器、memory等等的介面。 

apb是

低速匯流排

,主要負責外設介面 

ahb和apb之間是通過bridge(橋接器)鏈結的 

總所周知,乙個系統中的各個模組之間相互通訊是通過匯流排,匯流排的作用,就是把資料和位址從裝置a搬運到裝置b上, 

如果說裝置a和裝置b

具有一致性(原文是under discussion,這裡我不知道怎麼翻譯比較好,暫且翻譯為一致性)

,那麼裝置a和裝置b可以直接掛在同乙個匯流排上,並直接解讀匯流排上的資料。 

但是,如果裝置a和裝置b不具有一致性,那麼裝置a和裝置b就必須掛在兩條不同的匯流排上,這時候我們就需要乙個

「翻譯」

,把裝置a上的匯流排上的資料和位址

轉換成裝置b可以解析的格式

,然後放到裝置b的匯流排上,這個「翻譯」就是「bus bridge」, 

下面這幅圖就形象的說明了bus bridge在ahb和apb之間的作用。

緩衝」這裡可以看到ahb主要是鏈結在了系統的核心以及儲存管理上面的,apb則主要分布給我外設。 

下面這張圖,更容易看出ahb和apb的作用: ahb鏈結的是系統匯流排、ram等等 apb鏈結的是常用的外設:gpio、uart等等

首先看一下f103系列的晶元的匯流排結構 

需要注意的是,這裡有

/** @defgroup apb2_peripheral 

* @*/

/** @defgroup apb1_peripheral

* @*/

apb的速率見下面說明:

apb1限制在了36mhz,apb2也可以達到全速72mhz 

下面是f105和f107的匯流排構架: 

STM32的匯流排AMBA AHB APB

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

STM32匯流排架構筆記

amba是一種soc system of chip 匯流排標準,有amba1.0 2.0 3.0標準。利用amba定義的一款匯流排架構 ahb advanced high performance bus 高階高效能匯流排 asb advanced system bus 高階系統匯流排 apb adv...

STM32的CAN匯流排除錯

1.使用stm32的can匯流排,回環程式寫好之後,在無外接收發晶元的情況下,使程式不斷發資料,使用示波器可以看到tx引腳有波形,而rx引腳沒有波形 2.模式改為正常模式,在沒有接收發晶元的情況下再次測一下tx與rx的波形,但是發現使用示波器採集不到波形,而且在發了幾次資料後會進行標準庫的斷言,一直...