0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AMBA協(xié)議之AHB介紹

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

00 AMBA概述

AMBA (Advanced Microcontroller Bus Architecture)高級(jí)微控制器總線架構(gòu)定義了在設(shè)計(jì)高性能嵌入式微控制器的一種片上通信標(biāo)準(zhǔn)。主要包含以下四種:

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

ASB (Advanced System Bus) 高級(jí)系統(tǒng)總線,用于高性能的系統(tǒng)模塊[現(xiàn)在使用較少]

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

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

圖片


***01 ***基本組成

典型的AHB系統(tǒng)主要包含以下四部分:

AHB Master :總線主機(jī)能夠通過(guò)提供地址和控制信號(hào)進(jìn)行讀寫操作,任何時(shí)候只允許一個(gè)主機(jī)處于有效狀態(tài)并使用總線。[發(fā)起端]

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

AHB Arbiter :總線仲裁器確保每次只有一個(gè)總線主機(jī)被允許發(fā)起數(shù)據(jù)傳輸。

AHB Decoder : AHB譯碼器對(duì)每次傳輸?shù)牡刂纷g碼并在傳輸中包含一個(gè)從機(jī)選擇信號(hào)。

圖片

操作流程:

①M(fèi)ater向Arbtier發(fā)送總線占用請(qǐng)求;

②獲得授權(quán)的Master進(jìn)行總線傳輸

首先發(fā)出地址和控制信號(hào):提供地址信息、傳輸方向等;

其次,譯碼器根據(jù)地址和控制信號(hào)選擇Slave,確定數(shù)據(jù)傳輸路徑;

最后進(jìn)行數(shù)據(jù)傳輸。


02 ** 基本傳輸**

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

1.簡(jiǎn)單傳輸(無(wú)等待)

圖片

在第一個(gè)時(shí)鐘上升沿傳輸控制和地址信號(hào),在第二個(gè)時(shí)鐘上升沿傳輸數(shù)據(jù)信號(hào),同時(shí)HREADY信號(hào)為高表明數(shù)據(jù)傳輸完成。

2.等待狀態(tài)的傳輸

圖片

首先是地址周期,在時(shí)鐘上升沿時(shí)傳輸?shù)刂沸盘?hào)和控制信號(hào);

其次是數(shù)據(jù)周期,在下一個(gè)時(shí)鐘上升沿開(kāi)始,如果HREADY信號(hào)為高則表明數(shù)據(jù)傳輸完成,HREADY信號(hào)為低則繼續(xù)傳輸。

注意:對(duì)于寫操作而言,數(shù)據(jù)在整個(gè)擴(kuò)展周期要保持穩(wěn)定;讀操作則無(wú)必要。

3.多重傳輸

圖片

多重傳輸采用流水線pipeline技術(shù)。

如圖,第一個(gè)周期傳輸A地址;第二個(gè)周期傳輸A數(shù)據(jù)和B地址,同時(shí)READY為高表明A傳輸完成;第三個(gè)周期傳輸B數(shù)據(jù)和C地址,由于READY信號(hào)為低,數(shù)據(jù)傳輸未完成,需要等待;第四個(gè)周期保持地址和控制信號(hào),同時(shí)READY信號(hào)為高表明B傳輸完成;由于沒(méi)有其他操作,第五個(gè)周期僅進(jìn)行C數(shù)據(jù)傳輸,同時(shí)READY信號(hào)為高表明數(shù)據(jù)傳輸完成。


03 ** 傳輸類型HTRANS**

傳輸類型分四種:

空閑IDLE [00]:沒(méi)有數(shù)據(jù)傳輸要求

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

非連續(xù)NONSEQ [10]:表明一個(gè)單一傳輸或一次突發(fā)傳輸?shù)牡谝粋€(gè)傳輸

連續(xù)SEQ [11]:突發(fā)中的剩下傳輸且地址與前一次傳輸有關(guān)

圖片

第一個(gè)傳輸是一次突發(fā)傳輸?shù)拈_(kāi)始,為NONSEQ類型;

由于主機(jī)不能立刻執(zhí)行第二次傳輸,因此未BUSY類型來(lái)延時(shí)下一次傳輸開(kāi)始;


04 ** 突發(fā)類型HBURST**

突發(fā)類型分八種:

SINGLE單一傳輸、INCR未指定長(zhǎng)度的增量突發(fā)、

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

WRAP4、WRAP8、WRAP16 分別是4拍、8拍和16拍的回環(huán)突發(fā)

注意:突發(fā)禁止超過(guò)1KB的地址邊界

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

  1. WRAP4

圖片

起始地址為0x38, HSIZE=WORD[4byte], 突發(fā)類型是4拍回環(huán)突發(fā),回環(huán)邊界地址=回環(huán)拍數(shù)*SIZE=4*4byte=16byte = 0x10。

由于起始地址不是16的整倍數(shù),因此會(huì)產(chǎn)生折回,0x3C的下一個(gè)地址按增量為0x40,是16的整數(shù)倍,因此需要減去16,即為0x30。

2.INCR4

圖片

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

地址順序?yàn)?x38 0x3C 0x40 0x44[4次]

3.WRAP8

圖片

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

回環(huán)邊界地址=回環(huán)拍數(shù)*SIZE=8*4=32byte=0x20,當(dāng)遇到回環(huán)邊界地址的整數(shù)倍時(shí)減去回環(huán)邊界地址。

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

4.INCR

圖片

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

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


05 ** 控制信號(hào)**

傳輸方向HWRITE

HWRITE=H表明寫操作,傳輸方向?yàn)镸asteràSlave;

HWRITE=L表明讀操作,傳輸方向?yàn)镾laveàMaster;

傳輸大小HSIZE[2:0]

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


06 地址譯碼

圖片

主機(jī)發(fā)送地址信息給地址和控制多路選擇器,選擇器將地址信息發(fā)送給所有從機(jī),同時(shí)將地址信息發(fā)送給譯碼器,譯碼器根據(jù)地址信息將相應(yīng)設(shè)備的HSEL信號(hào)置高。

如果地址不存在則從機(jī)提供ERROR響應(yīng)。


07 ** 從機(jī)傳輸響應(yīng)**

傳輸完成HREADY

HREADY=1表明傳輸完成;

HREADY=0表明傳輸將被擴(kuò)展,繼續(xù)傳輸。

傳輸響應(yīng)HRESP

00 OKAY 傳輸成功完成

01 ERROR 傳輸發(fā)生錯(cuò)誤

10 RETRY 重試

11 SPLIT 傳輸未完成

僅有OKAY信號(hào)是單周期給出,其他響應(yīng)信號(hào)至少兩個(gè)周期。

08 ** 接口框圖**

主機(jī)接口框圖

圖片

從機(jī)接口框圖

圖片

仲裁器接口框圖

圖片

譯碼器接口框圖

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AMBA
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    15002
  • AHB
    AHB
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9790
  • 嵌入式微控制器
    +關(guān)注

    關(guān)注

    1

    文章

    12

    瀏覽量

    2612
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM總線協(xié)議AMBAAHB、APB的區(qū)別與聯(lián)系

    寫在前面:最近實(shí)習(xí)項(xiàng)目里用到這三個(gè)協(xié)議,因此簡(jiǎn)單整理一下,內(nèi)容大多來(lái)自ARM官方文檔與網(wǎng)絡(luò)上的,我只是做一個(gè)整合,來(lái)源都會(huì)分別標(biāo)出。如有侵權(quán)請(qǐng)指出,立刻刪帖。官方文檔入口:AMBA(包括AHB
    發(fā)表于 02-09 07:46

    AMBA、APB、AHB簡(jiǎn)介

    STM32菜鳥(niǎo)學(xué)習(xí)手冊(cè)——1、AMBA、APB、AHB簡(jiǎn)介芯片上總線標(biāo)準(zhǔn)種類繁多,而由ARM公司推出的AMBA片上總線受到了廣大IP開(kāi)發(fā)商和SoC系統(tǒng)集成者的青睞,已成為一種流行的工業(yè)標(biāo)準(zhǔn)片上結(jié)構(gòu)
    發(fā)表于 02-17 07:18

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

    使用的是 SystemVerilog 描述。2、AMBA APB總線信號(hào)接口介紹前面分析了AHB總線協(xié)議。接下來(lái)分析APB總線協(xié)議。  PC
    發(fā)表于 04-07 10:03

    AMBA中的AHB總線協(xié)議詳解

    ,數(shù)據(jù)傳輸效率不高。所以針對(duì)以上的缺點(diǎn),ARM 開(kāi)發(fā)了更高級(jí)的總線AHB,下文將詳述AHB基于APB的改進(jìn)點(diǎn),改進(jìn)策略,以及AHB協(xié)議運(yùn)行機(jī)制。1-1 背景在漫談
    發(fā)表于 06-07 16:57

    在Arm AMBA協(xié)議集中AHB-lite可否使用

    Arm AMBA協(xié)議集中,LPI 在AMBA4 出現(xiàn),協(xié)議和鏈路層 與 AXI/AHB 無(wú)關(guān) 獨(dú)立的嗎?
    發(fā)表于 09-08 11:35

    Arm AMBA協(xié)議集中AHB與AXI相比訪問(wèn)DDR效率帶寬會(huì)差很大

    Arm AMBA協(xié)議集中,AHB沒(méi)有outstanding, 只有burst。 與AXI 相比訪問(wèn)DDR 效率,帶寬會(huì)差很大?
    發(fā)表于 09-14 11:44

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

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

    請(qǐng)問(wèn)一下Arm AMBA協(xié)議集中,axi burst 和ahb burst的區(qū)別是什么?

    請(qǐng)問(wèn)一下Arm AMBA協(xié)議集中,axi burst 和ahb burst的區(qū)別是什么?
    發(fā)表于 10-08 15:48

    AMBA CHI協(xié)議介紹

    (SoC)中。它促進(jìn)了多處理器設(shè)計(jì)的首次開(kāi)發(fā),具有大量的控制器和外設(shè)。 CHI適用于需要一致性的廣泛應(yīng)用,包括移動(dòng),網(wǎng)絡(luò)、汽車和數(shù)據(jù)中心。AMBA CHI的設(shè)計(jì)是為了保持性能在組件和流量不斷增加的系統(tǒng)中。 本指南介紹了CHI協(xié)議
    發(fā)表于 08-02 13:40

    基于AMBA總線介紹?

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

    介紹AMBA2.0總線

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

    數(shù)字IC驗(yàn)證:ARM總線協(xié)議AMBAAHB、APB的簡(jiǎn)介、區(qū)別與聯(lián)系

    寫在前面:最近實(shí)習(xí)項(xiàng)目里用到這三個(gè)協(xié)議,因此簡(jiǎn)單整理一下,內(nèi)容大多來(lái)自ARM官方文檔與網(wǎng)絡(luò)上的,我只是做一個(gè)整合,來(lái)源都會(huì)分別標(biāo)出。如有侵權(quán)請(qǐng)指出,立刻刪帖。官方文檔入口:AMBA(包括AHB
    發(fā)表于 12-05 15:36 ?16次下載
    數(shù)字IC驗(yàn)證:ARM總線<b class='flag-5'>協(xié)議</b><b class='flag-5'>AMBA</b>中<b class='flag-5'>AHB</b>、APB的簡(jiǎn)介、區(qū)別與聯(lián)系

    聊聊AMBA總線-AHB

    所以針對(duì)以上的缺點(diǎn),ARM 開(kāi)發(fā)了更高級(jí)的總線AHB,下文將詳述AHB基于APB的改進(jìn)點(diǎn),改進(jìn)策略,以及AHB協(xié)議運(yùn)行機(jī)制。
    的頭像 發(fā)表于 05-04 11:36 ?1751次閱讀
    聊聊<b class='flag-5'>AMBA</b>總線-<b class='flag-5'>AHB</b>

    AMBA總線知識(shí)AHB(上)

    AMBA總線陣營(yíng)的強(qiáng)大超乎多數(shù)人的想象。AMBA總線是一個(gè)在SoC領(lǐng)域使用的事實(shí)上的標(biāo)準(zhǔn)。AMBA總線的最大優(yōu)點(diǎn)是開(kāi)放的架構(gòu),和因此帶來(lái)的免費(fèi)。開(kāi)放的總線標(biāo)準(zhǔn)使AMBA總線迅速普及,而
    的頭像 發(fā)表于 05-04 14:45 ?2500次閱讀
    <b class='flag-5'>AMBA</b>總線知識(shí)<b class='flag-5'>之</b><b class='flag-5'>AHB</b>(上)

    AMBA AHB協(xié)議的burst termination簡(jiǎn)析

    AMBA AHB協(xié)議中,AHB master可以用burst傳輸連續(xù)取多筆數(shù)據(jù)。AHB定義了4、8和16拍的burst傳輸、未定義長(zhǎng)度的b
    發(fā)表于 06-29 15:54 ?2133次閱讀
    <b class='flag-5'>AMBA</b> <b class='flag-5'>AHB</b><b class='flag-5'>協(xié)議</b>的burst termination簡(jiǎn)析