轉(zhuǎn) AMBA總線協(xié)議AHB、APB、AXI對(duì)比分析

一、AMBA概述

? ? AMBA (Advanced Microcontroller Bus Architecture) 高級(jí)處理器總線架構(gòu)

? ? AHB (Advanced High-performance Bus) 高級(jí)高性能總線

? ? ASB (Advanced System Bus) 高級(jí)系統(tǒng)總線

? ? APB (Advanced Peripheral Bus) 高級(jí)外圍總線

? ? AXI (Advanced eXtensible Interface) 高級(jí)可拓展接口

? ? 這些內(nèi)容加起來(lái)就定義出一套為了高性能SoC而設(shè)計(jì)的片上通信的標(biāo)準(zhǔn)。

? ? AHB主要是針對(duì)高效率、高頻寬及快速系統(tǒng)模塊所設(shè)計(jì)的總線,它可以連接如微處理器、芯片上或芯片外的內(nèi)存模塊和DMA等高效率模塊。

? ? APB主要用在低速且低功率的外圍,可針對(duì)外圍設(shè)備作功率消耗及復(fù)雜接口的最佳化。APB在AHB和低帶寬的外圍設(shè)備之間提供了通信的橋梁,所以APB是AHB或ASB的二級(jí)拓展總線。

AXI:高速度、高帶寬,管道化互聯(lián),單向通道,只需要首地址,讀寫(xiě)并行,支持亂序,支持非對(duì)齊操作,有效支持初始延遲較高的外設(shè),連線非常多。

幾種AMBA總線的性能對(duì)比分析


二、AHB總線

AHB的組成

Master:能夠發(fā)起讀寫(xiě)操作,提供地址和控制信號(hào),同一時(shí)間只有1個(gè)Master會(huì)被激活。

Slave:在給定的地址范圍內(nèi)對(duì)讀寫(xiě)操作作響應(yīng),并對(duì)Master返回成功、失敗或者等待等狀態(tài)。

Arbiter:負(fù)責(zé)保證總線上一次只有1個(gè)Master在工作。仲裁協(xié)議是規(guī)定的,但是仲裁算法可以根據(jù)應(yīng)用決定。

Decoder:負(fù)責(zé)對(duì)地址進(jìn)行解碼,并提供片選信號(hào)到各Slave。

每個(gè)AHB都需要1個(gè)仲裁器和1個(gè)中央解碼器。

AHB基本信號(hào)

HADDR:32位系統(tǒng)地址總線

HTRANS:M指示傳輸狀態(tài),NONSEQ、SEQ、IDLE、BUSY

HWRITE:傳輸方向1-寫(xiě),0-讀

HSIZE:傳輸單位

HBURST:傳輸?shù)腷urst類型

HWDATA:寫(xiě)數(shù)據(jù)總線,從M寫(xiě)到S

HREADY:S應(yīng)答M是否讀寫(xiě)操作傳輸完成,1-傳輸完成,0-需延長(zhǎng)傳輸周期。需要注意的是HREADY作為總線上的信號(hào),它是M和S的輸入;同時(shí)每個(gè)S需要輸出自HREADY。所以對(duì)于S會(huì)有兩個(gè)HREADY信號(hào),一個(gè)來(lái)自總線的輸入,一個(gè)自己給到多路器的輸出。

HRESP:S應(yīng)答當(dāng)前傳輸狀態(tài),OKAY、ERROR、RETRY、SPLIT。

HRDATA:讀數(shù)據(jù)總線,從S讀到M。

AHB基本傳輸

兩個(gè)階段

地址周期(AP),只有一個(gè)cycle

數(shù)據(jù)周期(DP),由HREADY信號(hào)決定需要幾個(gè)cycle

流水線傳送

先是地址周期,然后是數(shù)據(jù)周期

AHB突發(fā)傳輸與AXI突發(fā)傳輸?shù)奶攸c(diǎn)

? ? AHB協(xié)議需要一次突發(fā)傳輸?shù)乃械刂?,地址與數(shù)據(jù)鎖定對(duì)應(yīng)關(guān)系,后一次突發(fā)傳輸必須在前次傳輸完成才能進(jìn)行。

? ? AXI只需要一次突發(fā)的首地址,可以連續(xù)發(fā)送多個(gè)突發(fā)傳輸首地址而無(wú)需等待前次突發(fā)傳輸完成,并且多個(gè)數(shù)據(jù)可以交錯(cuò)傳遞,此特征大大提高了總線的利用率。

? ? AHB總線與AXI總線均適用于高性能、高帶寬的SoC系統(tǒng),但AXI具有更好的靈活性,而且能夠讀寫(xiě)通道并行發(fā)送,互不影響;更重要的是,AXI總線支持亂序傳輸,能夠有效地利用總線的帶寬,平衡內(nèi)部系統(tǒng)。因此SoC系統(tǒng)中,均以AXI總線為主總線,通過(guò)橋連接AHB總線與APB總線,這樣能夠增加SoC系統(tǒng)的靈活性,更加合理地把不同特征IP分配到總線上。

三、APB總線

主要應(yīng)用在低帶寬的外設(shè)上,如UART、 I2C,它的架構(gòu)不像AHB總線是多主設(shè)備的架構(gòu),APB總線的唯一主設(shè)備是APB橋(與AXI或APB相連),因此不需要仲裁一些Request/grant信號(hào)。APB的協(xié)議也十分簡(jiǎn)單,甚至不是流水的操作,固定兩個(gè)時(shí)鐘周期完成一次讀或?qū)懙牟僮?。其特性包括:兩個(gè)時(shí)鐘周期傳輸,無(wú)需等待周期和回應(yīng)信號(hào),控制邏輯簡(jiǎn)單,只有四個(gè)控制信號(hào)。APB上的傳輸可用如圖所示的狀態(tài)圖來(lái)說(shuō)明。

1、系統(tǒng)初始化為IDLE狀態(tài),此時(shí)沒(méi)有傳輸操作,也沒(méi)有選中任何從模塊。

2、當(dāng)有傳輸要進(jìn)行時(shí),PSELx=1,,PENABLE=0,系統(tǒng)進(jìn)入SETUP狀態(tài),并只會(huì)在SETUP狀態(tài)停留一個(gè)周期。當(dāng)PCLK的下一個(gè)上升沿到來(lái)時(shí),系統(tǒng)進(jìn)入ENABLE狀態(tài)。

3、系統(tǒng)進(jìn)入ENABLE狀態(tài)時(shí),維持之前在SETUP狀態(tài)的PADDR、PSEL、PWRITE不變,并將PENABLE置為1。傳輸也只會(huì)在ENABLE狀態(tài)維持一個(gè)周期,在經(jīng)過(guò)SETUP與ENABLE狀態(tài)之后就已完成。之后如果沒(méi)有傳輸要進(jìn)行,就進(jìn)入IDLE狀態(tài)等待;如果有連續(xù)的傳輸,則進(jìn)入SETUP狀態(tài)。


原文鏈接? https://blog.csdn.net/ivy_reny/article/details/56274412

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 總線 計(jì)算機(jī)的各個(gè)功能部件通過(guò)總線連接在一起構(gòu)成完整的計(jì)算機(jī)系統(tǒng),總線是多個(gè)系統(tǒng)功能部件之間進(jìn)行數(shù)據(jù)傳送的公共通路...
    羅蓁蓁閱讀 5,334評(píng)論 0 10
  • 1.AHB概述 AHB總線是一種專為高性能同步傳輸設(shè)計(jì)的總線,層次高于APB總線,支持以下特性: 突發(fā)傳輸 拆分事...
    月見(jiàn)樽閱讀 9,482評(píng)論 0 4
  • ???本文主要介紹嵌入式系統(tǒng)的一些基礎(chǔ)知識(shí),希望對(duì)各位有幫助。 嵌入式系統(tǒng)基礎(chǔ) 1、嵌入式系統(tǒng)的定義 (1)定義:...
    OpenJetson閱讀 3,458評(píng)論 0 13
  • 1、嵌入式系統(tǒng)的定義 (1)定義:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本...
    榮卓然閱讀 2,250評(píng)論 0 5
  • 我出生在一個(gè)破舊的廠房宿舍,那時(shí)父母在那工作,據(jù)說(shuō)因?yàn)楦F我都是喝糖水度過(guò)的斷奶期。后來(lái)家里借了外債,在村里蓋...
    余振興閱讀 375評(píng)論 2 2

友情鏈接更多精彩內(nèi)容