<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AMBA協議之AHB介紹

jf_78858299 ? 來源:IC匠芯 ? 作者:九州匠芯 ? 2023-05-04 11:33 ? 次閱讀

00 AMBA概述

AMBA (Advanced Microcontroller Bus Architecture)高級微控制器總線架構定義了在設計高性能嵌入式微控制器的一種片上通信標準。主要包含以下四種:

AHB (Advanced High-performance Bus) 高級高性能總線,用于高性能、高時鐘頻率的系統模塊

ASB (Advanced System Bus) 高級系統總線,用于高性能的系統模塊[現在使用較少]

APB (Advanced Peripheral Bus) 高級外圍總線,用于低功耗外設,可連接任一版本系統總線

AXI (Advanced eXtensible Interface) 高級可拓展接口,高速度、高帶寬,管道化互聯,單向通道,只需要首地址,讀寫并行,支持亂序,支持非對齊操作,有效支持初始延遲較高的外設,連線非常多。

圖片


***01 ***基本組成

典型的AHB系統主要包含以下四部分:

AHB Master :總線主機能夠通過提供地址和控制信號進行讀寫操作,任何時候只允許一個主機處于有效狀態并使用總線。[發起端]

AHB Slave :總線從機在給定的地址空間響應讀寫操作,并將操作響應返回給有效的主機。[響應端]

AHB Arbiter :總線仲裁器確保每次只有一個總線主機被允許發起數據傳輸。

AHB Decoder : AHB譯碼器對每次傳輸的地址譯碼并在傳輸中包含一個從機選擇信號。

圖片

操作流程:

①Mater向Arbtier發送總線占用請求;

②獲得授權的Master進行總線傳輸

首先發出地址和控制信號:提供地址信息、傳輸方向等;

其次,譯碼器根據地址和控制信號選擇Slave,確定數據傳輸路徑;

最后進行數據傳輸。


02 ** 基本傳輸**

AHB傳輸分為兩部分:地址周期和數據周期;先地址周期,再數據周期;地址周期單周期,數據周期可多周期。

1.簡單傳輸(無等待)

圖片

在第一個時鐘上升沿傳輸控制和地址信號,在第二個時鐘上升沿傳輸數據信號,同時HREADY信號為高表明數據傳輸完成。

2.等待狀態的傳輸

圖片

首先是地址周期,在時鐘上升沿時傳輸地址信號和控制信號;

其次是數據周期,在下一個時鐘上升沿開始,如果HREADY信號為高則表明數據傳輸完成,HREADY信號為低則繼續傳輸。

注意:對于寫操作而言,數據在整個擴展周期要保持穩定;讀操作則無必要。

3.多重傳輸

圖片

多重傳輸采用流水線pipeline技術。

如圖,第一個周期傳輸A地址;第二個周期傳輸A數據和B地址,同時READY為高表明A傳輸完成;第三個周期傳輸B數據和C地址,由于READY信號為低,數據傳輸未完成,需要等待;第四個周期保持地址和控制信號,同時READY信號為高表明B傳輸完成;由于沒有其他操作,第五個周期僅進行C數據傳輸,同時READY信號為高表明數據傳輸完成。


03 ** 傳輸類型HTRANS**

傳輸類型分四種:

空閑IDLE [00]:沒有數據傳輸要求

忙BUSY [01]:表明總線正被占用,下次傳輸不能立即發生

非連續NONSEQ [10]:表明一個單一傳輸或一次突發傳輸的第一個傳輸

連續SEQ [11]:突發中的剩下傳輸且地址與前一次傳輸有關

圖片

第一個傳輸是一次突發傳輸的開始,為NONSEQ類型;

由于主機不能立刻執行第二次傳輸,因此未BUSY類型來延時下一次傳輸開始;


04 ** 突發類型HBURST**

突發類型分八種:

SINGLE單一傳輸、INCR未指定長度的增量突發、

INCR4、INCR8、INCR16 分別是4拍、8拍和16拍的增量突發

WRAP4、WRAP8、WRAP16 分別是4拍、8拍和16拍的回環突發

注意:突發禁止超過1KB的地址邊界

1KB邊界限制在AHB中表示burst傳輸不能跨越1KB邊界的約束。該限制旨在防止burst傳輸從一個slave交叉到另一個slave。在實踐中,這意味著如果master必須要進行跨1KB邊界的burst傳輸則必須切分成兩次傳輸

  1. WRAP4

圖片

起始地址為0x38, HSIZE=WORD[4byte], 突發類型是4拍回環突發,回環邊界地址=回環拍數*SIZE=4*4byte=16byte = 0x10。

由于起始地址不是16的整倍數,因此會產生折回,0x3C的下一個地址按增量為0x40,是16的整數倍,因此需要減去16,即為0x30。

2.INCR4

圖片

起始地址為0x38, HSIZE=WORD[4byte],突發類型為4拍增量突發。

地址順序為0x38 0x3C 0x40 0x44[4次]

3.WRAP8

圖片

起始地址0x34, SIZE=WORD=4byte, 突發類型為WRAP8,

回環邊界地址=回環拍數*SIZE=8*4=32byte=0x20,當遇到回環邊界地址的整數倍時減去回環邊界地址。

地址順序0x34、0x38、0x3C、0x20、0x24、0x28、0x2C、0x30。

4.INCR

圖片

對于T1-T3周期,突發類型為INCR, SIZE=halfword=2byte,因此地址依次為0x20、0x22;

對于T3-T8周期,突發類型為INCR, SIZE=WORD=4Byte, 起始地址為0x5C,因此地址依次為0x5C、0x60、0x64。


05 ** 控制信號**

傳輸方向HWRITE

HWRITE=H表明寫操作,傳輸方向為MasteràSlave;

HWRITE=L表明讀操作,傳輸方向為SlaveàMaster;

傳輸大小HSIZE[2:0]

8bit(byte) 、16bit(halfword)、32bit(word)、64bit(2word)、128bit(4word)、256bit(8word)、512bit、1024bit


06 地址譯碼

圖片

主機發送地址信息給地址和控制多路選擇器,選擇器將地址信息發送給所有從機,同時將地址信息發送給譯碼器,譯碼器根據地址信息將相應設備的HSEL信號置高。

如果地址不存在則從機提供ERROR響應。


07 ** 從機傳輸響應**

傳輸完成HREADY

HREADY=1表明傳輸完成;

HREADY=0表明傳輸將被擴展,繼續傳輸。

傳輸響應HRESP

00 OKAY 傳輸成功完成

01 ERROR 傳輸發生錯誤

10 RETRY 重試

11 SPLIT 傳輸未完成

僅有OKAY信號是單周期給出,其他響應信號至少兩個周期。

08 ** 接口框圖**

主機接口框圖

圖片

從機接口框圖

圖片

仲裁器接口框圖

圖片

譯碼器接口框圖

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • AMBA
    +關注

    關注

    0

    文章

    67

    瀏覽量

    14831
  • AHB
    AHB
    +關注

    關注

    0

    文章

    18

    瀏覽量

    9648
  • 嵌入式微控制器

    關注

    1

    文章

    11

    瀏覽量

    2559
收藏 人收藏

    評論

    相關推薦

    什么是AMBA APB4與AMBA3 AHB-Lite1.0協議

    本文我們簡單對AMBA4中的APBv2.0(也稱為APB4),以及AMBA3AHB-Litev1.0進行簡單的了解。
    發表于 04-02 06:30

    ARM總線協議AMBAAHB、APB的區別與聯系

    寫在前面:最近實習項目里用到這三個協議,因此簡單整理一下,內容大多來自ARM官方文檔與網絡上的,我只是做一個整合,來源都會分別標出。如有侵權請指出,立刻刪帖。官方文檔入口:AMBA(包括AHB
    發表于 02-09 07:46

    AMBA、APB、AHB簡介

    STM32菜鳥學習手冊——1、AMBA、APB、AHB簡介芯片上總線標準種類繁多,而由ARM公司推出的AMBA片上總線受到了廣大IP開發商和SoC系統集成者的青睞,已成為一種流行的工業標準片上結構
    發表于 02-17 07:18

    AMBA AHB總線與APB總線資料合集

    使用的是 SystemVerilog 描述。2、AMBA APB總線信號接口介紹前面分析了AHB總線協議。接下來分析APB總線協議?! C
    發表于 04-07 10:03

    AMBA中的AHB總線協議詳解

    ,數據傳輸效率不高。所以針對以上的缺點,ARM 開發了更高級的總線AHB,下文將詳述AHB基于APB的改進點,改進策略,以及AHB協議運行機制。1-1 背景在漫談
    發表于 06-07 16:57

    在Arm AMBA協議集中AHB-lite可否使用

    Arm AMBA協議集中,LPI 在AMBA4 出現,協議和鏈路層 與 AXI/AHB 無關 獨立的嗎?
    發表于 09-08 11:35

    Arm AMBA協議集中AHB與AXI相比訪問DDR效率帶寬會差很大

    Arm AMBA協議集中,AHB沒有outstanding, 只有burst。 與AXI 相比訪問DDR 效率,帶寬會差很大?
    發表于 09-14 11:44

    Arm AMBA協議集中ahb2.0和3.0必須要有dummy master和default slave嗎?

    Arm AMBA協議集中,ahb2.0和3.0必須要有dummy master和default slave嗎?
    發表于 09-27 11:58

    請問一下Arm AMBA協議集中,axi burst 和ahb burst的區別是什么?

    請問一下Arm AMBA協議集中,axi burst 和ahb burst的區別是什么?
    發表于 10-08 15:48

    AMBA CHI協議介紹

    (SoC)中。它促進了多處理器設計的首次開發,具有大量的控制器和外設。 CHI適用于需要一致性的廣泛應用,包括移動,網絡、汽車和數據中心。AMBA CHI的設計是為了保持性能在組件和流量不斷增加的系統中。 本指南介紹了CHI協議
    發表于 08-02 13:40

    基于AMBA總線介紹?

    1.1.AMBA發展史 AMAB1.0 AMBA2.0 AMBA3.0 AMBA4.0 AMBA1.0:ASB
    的頭像 發表于 05-19 14:22 ?1920次閱讀
    基于<b class='flag-5'>AMBA</b>總線<b class='flag-5'>介紹</b>?

    介紹AMBA2.0總線

    1.1.AMBA發展史 AMAB1.0 AMBA2.0 AMBA3.0 AMBA4.0 AMBA1.0:ASB
    的頭像 發表于 09-06 09:53 ?2848次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>AMBA</b>2.0總線

    數字IC驗證:ARM總線協議AMBAAHB、APB的簡介、區別與聯系

    寫在前面:最近實習項目里用到這三個協議,因此簡單整理一下,內容大多來自ARM官方文檔與網絡上的,我只是做一個整合,來源都會分別標出。如有侵權請指出,立刻刪帖。官方文檔入口:AMBA(包括AHB
    發表于 12-05 15:36 ?16次下載
    數字IC驗證:ARM總線<b class='flag-5'>協議</b><b class='flag-5'>AMBA</b>中<b class='flag-5'>AHB</b>、APB的簡介、區別與聯系

    Arm AMBA 5 AHB5:加速嵌入式和物聯網世界

    AMBA 5 AHB5(高級高性能總線)是一種總線接口協議,將最廣泛地與 Arm Cortex-M 處理器一起使用,用于嵌入式設計和低延遲 SoC,用于物聯網和嵌入式應用。AHB5 的
    的頭像 發表于 05-26 14:18 ?641次閱讀

    AMBA AHB協議的burst termination簡析

    AMBA AHB協議中,AHB master可以用burst傳輸連續取多筆數據。AHB定義了4、8和16拍的burst傳輸、未定義長度的b
    發表于 06-29 15:54 ?1192次閱讀
    <b class='flag-5'>AMBA</b> <b class='flag-5'>AHB</b><b class='flag-5'>協議</b>的burst termination簡析
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>