一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

聊聊AMBA總線(xiàn)-AHB

jf_78858299 ? 來(lái)源:IC解惑君 ? 作者:木飛 ? 2023-05-04 11:36 ? 次閱讀

1 - AHB引言

在上篇文章文章我們已經(jīng)分析了AMBA總線(xiàn)系列中的APB總線(xiàn)的優(yōu)點(diǎn)和缺點(diǎn)。

缺點(diǎn)1: APB支持且僅支持一個(gè)主機(jī)

缺點(diǎn)2: APB兩個(gè)周期才能完成一個(gè)數(shù)據(jù)的傳輸,數(shù)據(jù)傳輸效率不高。

所以針對(duì)以上的缺點(diǎn),ARM 開(kāi)發(fā)了更高級(jí)的總線(xiàn)AHB,下文將詳述AHB基于APB的改進(jìn)點(diǎn),改進(jìn)策略,以及AHB的協(xié)議運(yùn)行機(jī)制。

1-1 背景

在[漫談AMBA總線(xiàn)-APB]文章中我們知道 只有一個(gè)水果店,只賣(mài)三種水果分別是:草莓藍(lán)莓和蘋(píng)果。 隨著該地區(qū)人數(shù)的上漲, 一個(gè)水果店(單主機(jī)) 已經(jīng)不能滿(mǎn)足該地區(qū)的要求,又因?yàn)?水果店和廠(chǎng)商的配合時(shí)間太長(zhǎng)(傳輸效率低) ,所以大家在商議之下,又開(kāi)了一家水果店,兩家水果店獨(dú)立運(yùn)營(yíng)。在這樣的情況下,之前設(shè)計(jì)的 水果運(yùn)輸總線(xiàn)(類(lèi)比APB) 就不能滿(mǎn)足當(dāng)前的需求,所以需要根據(jù)當(dāng)前的需求重新定制水果運(yùn)輸總線(xiàn)V2。

對(duì)于V2版本的水果運(yùn)輸總線(xiàn),在 尋求制定策略方面碰到很多問(wèn)題 ,但是最主要的兩個(gè)問(wèn)題如下:

**問(wèn)題1 : ** 當(dāng)水果店1和水果店2同時(shí)缺貨 ,所以 同時(shí)使用大喇叭廣播自己的訂單需求 ,那么供應(yīng)廠(chǎng)商 由于兩個(gè)大喇叭同時(shí)通知,會(huì)聽(tīng)不清訂單的需求,因?yàn)榛ハ喔蓴_ 。

概念 1:總線(xiàn)碰撞(Bus Collision )

由于水果店1和水果店2同時(shí)使用大喇叭廣播自己的需求,導(dǎo)致供貨商聽(tīng)不清訂單需求,那么這次水果運(yùn)輸?shù)娜蝿?wù)就算是失敗的。

類(lèi)比:

在AHB總線(xiàn)里面,ARM在設(shè)計(jì)的時(shí)候就支持連接多個(gè)主機(jī)進(jìn)行操作。當(dāng)兩個(gè)或者兩個(gè)以上的主機(jī)同時(shí)發(fā)起數(shù)據(jù)操作的時(shí)候,那么總線(xiàn)就會(huì)產(chǎn)生混亂,導(dǎo)致數(shù)據(jù)傳輸失敗。

本質(zhì)原因: 一條總線(xiàn)服務(wù)兩個(gè)主機(jī),難免會(huì)產(chǎn)生沖突,比如兩個(gè)人同時(shí)打第三個(gè)人的電話(huà),第三個(gè)人只能接其中某一個(gè)人的電話(huà),主要是 資源沖突

解決方法:

(1)每個(gè)水果店配套一個(gè)水果運(yùn)輸總線(xiàn) ,同時(shí) 供應(yīng)廠(chǎng)商也再配套三個(gè) ,專(zhuān)門(mén)為對(duì)應(yīng)的水果店服務(wù)(因?yàn)楣?yīng)商同時(shí)只能服務(wù)一家客戶(hù)),在IC設(shè)計(jì)中也叫 資源復(fù)制 。這種方案設(shè)計(jì)最簡(jiǎn)單,但是耗費(fèi)大量的資源。

(2) 當(dāng)出現(xiàn)兩個(gè)水果店同時(shí)進(jìn)行訂單需求的時(shí)候,水果店自己需要先確認(rèn) 一下另一個(gè)水果店有沒(méi)有廣播 ,如果有,就等另一個(gè)水果店使用大喇叭廣播完畢,自己再使用大喇叭廣播,在總線(xiàn)協(xié)議中,這個(gè)動(dòng)作也叫 總線(xiàn)偵聽(tīng) 。

(3) 兩個(gè)水果店 不想派人力進(jìn)行偵聽(tīng)廣播(或者不具備條件) ,所以購(gòu)買(mǎi)一個(gè) 仲裁設(shè)施 ,該設(shè)施對(duì)水果店進(jìn)行等級(jí)分類(lèi),如果兩個(gè)水果店同時(shí)發(fā)起要求,那么最重要的水果店****先獲得使用這個(gè)仲裁設(shè)施的允許再使用大喇叭廣播(這個(gè)獲取仲裁設(shè)施的允許也叫獲取總線(xiàn)授權(quán)),等最重要的水果店完成訂單之后,仲裁設(shè)施再服務(wù)相對(duì)比較不重要的水果店,總線(xiàn)仲裁中 稱(chēng)為優(yōu)先級(jí)仲裁策略 。

結(jié)論: ARM在升級(jí)APB的時(shí)候,為了支持多主機(jī),同時(shí)為了解決總線(xiàn)沖突的問(wèn)題,引入了第三種解決方法( 優(yōu)先級(jí)仲裁 ),給每個(gè)主機(jī)分配不同的優(yōu)先級(jí),優(yōu)先級(jí)高的主機(jī)先發(fā)送數(shù)據(jù),優(yōu)先級(jí)低的等待完成之后再進(jìn)行數(shù)據(jù)發(fā)送。

PS:CAN總線(xiàn),IIC總線(xiàn)使用的是第二種解決方法(總線(xiàn)偵聽(tīng))來(lái)解決總線(xiàn)碰撞的問(wèn)題。一般來(lái)說(shuō),分布式總線(xiàn)比較傾向于使用第二種策略,集中式總線(xiàn)比較傾向于第三種(例如SOC片內(nèi)總線(xiàn))。

Q1 :可能有同學(xué)會(huì)問(wèn),那 兩個(gè)水果店同時(shí)發(fā)起請(qǐng)求的幾率很小 ,有沒(méi)有必要引入優(yōu)先級(jí)仲裁策略:

答:如果為了安全的完成數(shù)據(jù)的策略,即使這種情況出現(xiàn)的概率很小,但是也要考慮這種最壞的情況。同時(shí)同樣的問(wèn)題,在SOC設(shè)計(jì)中遇到這種情況的概率相對(duì)較大。

問(wèn)題2: 在上一版本水果運(yùn)輸總線(xiàn)的時(shí)候, 水果店需要一箱水果 ,則廠(chǎng)家就需要 提供一次水果的運(yùn)輸 ,水果店 再需要一箱 ,又得 再次提供一次水果的運(yùn)輸 ,這就導(dǎo)致了水果店訂單小,但是經(jīng)常發(fā)起訂單,浪費(fèi)了廠(chǎng)家有效運(yùn)輸?shù)臅r(shí)間,因?yàn)?***等待訂單和運(yùn)輸是串行工作 ,先訂單發(fā)出再運(yùn)輸再發(fā)出訂單再運(yùn)輸

概念2:突發(fā)傳輸(Burst)

水果店發(fā)起請(qǐng)求的時(shí)候,不是按照一箱水果作為訂單的單位,而是10箱或者其他數(shù)目N個(gè)作為訂單請(qǐng)求(Burst類(lèi)型),雖然 廠(chǎng)家運(yùn)輸單位是一箱(也就是一輛車(chē)只能運(yùn)送1箱) ,但是廠(chǎng)家可以派出多輛車(chē)同時(shí)運(yùn)輸,形成運(yùn)輸?shù)?車(chē)隊(duì)流水線(xiàn) ),這樣 n拍運(yùn)輸時(shí)間就基本滿(mǎn)足水果店的需求 ,而 之前是2n拍時(shí)間才能滿(mǎn)足需求 。所以這個(gè)方案需要水果店和水果廠(chǎng)家同時(shí)改進(jìn)方案。

類(lèi)比:

在AHB總線(xiàn)中,數(shù)據(jù)傳輸時(shí)基于Burst類(lèi)型進(jìn)行傳輸?shù)?,每次傳輸都是多個(gè)(總線(xiàn)位寬的)數(shù)據(jù),通過(guò)數(shù)據(jù)形成多拍(流水的)效果,相比APB總線(xiàn)提升數(shù)據(jù)的傳輸效率。

這兩個(gè)點(diǎn)是AHB針對(duì)APB總線(xiàn)提升最大的兩個(gè)點(diǎn) ,當(dāng)然AHB為了兼容一些其他的問(wèn)題,有自己獨(dú)立的一些信號(hào),這個(gè)下面繼續(xù)討論。

在這里我們總結(jié)一下****多主機(jī)總線(xiàn) 的正式概念

總線(xiàn)是被總線(xiàn)上所有的部件所共享的一組通路(連線(xiàn)),對(duì)于 支持多主機(jī)的總線(xiàn) ,如果某一個(gè)主機(jī)想要與 其他的部件進(jìn)行通信 (獲得數(shù)據(jù)),首先****需要 向總線(xiàn)內(nèi)部的仲裁器發(fā)起使用總線(xiàn)的請(qǐng)求,獲得內(nèi)部仲裁器授予所有權(quán)。 其次需要將地址(廠(chǎng)商名字)、數(shù)據(jù)(水果)、命令(進(jìn)貨還是退貨)放到總線(xiàn)上,其他的部件對(duì)總線(xiàn)上的數(shù)據(jù)進(jìn)行偵聽(tīng),檢查地址數(shù)據(jù)和命令的是否與自己相關(guān),最后相關(guān)從機(jī)部件做出命令響應(yīng)。

2 - AHB總線(xiàn)詳解

2-1 AHB在SOC內(nèi)使用的部分:

圖片

如上圖:

CPU : CPU是操作的發(fā)起者,CPU發(fā)起讀寫(xiě)外設(shè)數(shù)據(jù)的操作。

DMA: DMA也是操作的發(fā)起者,DMA從一個(gè)部件搬移數(shù)據(jù)到另一個(gè)部件。

比如Mem 2 Mem 、 Mem 2 Peri 、 Peri 2 Mem 、Peri 2 Peri

AHB_interconnect(AHB_Bridge):

根據(jù)上文所說(shuō)的總線(xiàn)協(xié)議和傳輸信號(hào)的要求,構(gòu)建出來(lái)的設(shè)計(jì)實(shí)體,該實(shí)體首先 接收主機(jī)端發(fā)送過(guò)來(lái)的獨(dú)占AHB總線(xiàn)和通路的請(qǐng)求 ,其次根據(jù)內(nèi)部的 仲裁算法拒絕或者授予該主機(jī)訪(fǎng)問(wèn)總線(xiàn)的權(quán)利 。當(dāng)主機(jī)端被授予訪(fǎng)問(wèn)總線(xiàn)的權(quán)利時(shí),該AHB_interconnect(AHB_Bridge)接收主機(jī)端的命令、數(shù)據(jù)、地址總線(xiàn)并傳播和生成相應(yīng)的信號(hào)到外設(shè)。同時(shí)接收外設(shè)返回的數(shù)據(jù)并交付給主機(jī)端。

SLAVE:對(duì)AHB_interconnect輸出數(shù)據(jù)和指令進(jìn)行響應(yīng)。

**Q2 : **是否可以不需要AHB_interconnect,AHB_Interconect的作用是什么?

同上篇APB文章類(lèi)似,當(dāng)CPU只有一個(gè)外設(shè),那么直接可以和外設(shè)相連,不需要AHB_Interconect。同時(shí)也不需要總線(xiàn)的仲裁邏輯,所以關(guān)于總線(xiàn)仲裁邏輯的接口直接根據(jù)信號(hào)狀態(tài)tie相應(yīng)的值或者懸空。

當(dāng)CPU需要連接多個(gè)外設(shè)的時(shí)候,且不止有一個(gè)主機(jī)(還有DMA)時(shí),需要AHB_interconnect進(jìn)行仲裁、路由、相應(yīng)外設(shè)信號(hào)的生成。

2-2 AHB總線(xiàn)接口: (AMBA AHB 2.0)

AHB信號(hào)較多,相應(yīng)功能也比較強(qiáng)大

系統(tǒng)信號(hào):
HCLK
HRESETn
地址總線(xiàn):
HADDR
數(shù)據(jù)總線(xiàn):
HWDATA
HRDATA
命令總線(xiàn):(支持突發(fā))
HWRITE
HSIZE
HBURST
HPROT
HSELx
HTRANS
HREADY
HRESP
仲裁總線(xiàn):(支持多主機(jī))
HBUSREQx
HLOCKx
HGRANTx
HMASTER
HMASTERLOCK
HSPLITx

從這張大表可以看出,為了克服APB的缺點(diǎn)從而支持多主機(jī)模式、提升效率操作****,所在 總線(xiàn)接口上付出的代價(jià) 。至少AHB總線(xiàn)位寬和信號(hào)個(gè)數(shù)遠(yuǎn)遠(yuǎn)超過(guò)了APB總線(xiàn)。

根據(jù)上面的AHB信號(hào)列表,結(jié)合之前的類(lèi)比和概念我們基本上就知道AHB該怎么運(yùn)行,相應(yīng)的信號(hào)如何動(dòng)作也有了一般的概念。

接下來(lái)會(huì)從這種總體傳輸?shù)母拍罘治龅紸HB總線(xiàn)內(nèi)部的時(shí)序邏輯和相關(guān)的具體操作,希望大家多多支持。

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

    關(guān)注

    134

    文章

    9270

    瀏覽量

    373637
  • 總線(xiàn)
    +關(guān)注

    關(guān)注

    10

    文章

    2936

    瀏覽量

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

    關(guān)注

    0

    文章

    25

    瀏覽量

    10068
  • apb2
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    1517
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于AMBA-AHB總線(xiàn)的SDRAM控制器設(shè)計(jì)方案

    為了在嵌入式系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)對(duì)SDRAM存儲(chǔ)器的訪(fǎng)問(wèn),本文提出了一種基于AMBA-AHB總線(xiàn)規(guī)范的SDRAM控制器設(shè)計(jì)方案。方案首先簡(jiǎn)要介紹了AMBA總線(xiàn)規(guī)范,然后在完成整個(gè)存儲(chǔ)控制器的
    發(fā)表于 01-02 13:59 ?4844次閱讀
    基于<b class='flag-5'>AMBA-AHB</b><b class='flag-5'>總線(xiàn)</b>的SDRAM控制器設(shè)計(jì)方案

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

    , ASB, APB);Qchannel文章目錄1 AMBA總線(xiàn)2 AHB2.1 一個(gè)典型的基于AHB的微控制器2.2 AHB
    發(fā)表于 02-09 07:46

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

    STM32菜鳥(niǎo)學(xué)習(xí)手冊(cè)——1、AMBA、APB、AHB簡(jiǎn)介芯片上總線(xiàn)標(biāo)準(zhǔn)種類(lèi)繁多,而由ARM公司推出的AMBA片上總線(xiàn)受到了廣大IP開(kāi)發(fā)商和
    發(fā)表于 02-17 07:18

    AMBA AHB總線(xiàn)與APB總線(xiàn)資料合集

    1、AMBA AHB總線(xiàn)信號(hào)接口介紹Advanced Microcontroller Bus Architecture, 即 AMBA,是 ARM 公司提出的
    發(fā)表于 04-07 10:03

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

    1、漫談AMBA總線(xiàn)-AHB在上篇文章文章我們已經(jīng)分析了AMBA總線(xiàn)系列中的APB總線(xiàn)的優(yōu)點(diǎn)和缺
    發(fā)表于 06-07 16:57

    基于AMBA片上總線(xiàn)的片上系統(tǒng)

      AMBA片上總線(xiàn)   AMBA 2.0規(guī)范包括四個(gè)部分:AHB、ASB、APB和Test Methodology。AHB的相互連接采用
    發(fā)表于 09-01 10:59 ?2179次閱讀
    基于<b class='flag-5'>AMBA</b>片上<b class='flag-5'>總線(xiàn)</b>的片上系統(tǒng)

    AHB總線(xiàn)應(yīng)用教程

    AHB總線(xiàn)規(guī)范是AMBA總線(xiàn)規(guī)范的一部分,AMBA總線(xiàn)規(guī)范是ARM公司提出的
    發(fā)表于 11-15 12:33 ?2.2w次閱讀
    <b class='flag-5'>AHB</b><b class='flag-5'>總線(xiàn)</b>應(yīng)用教程

    基于AMBA總線(xiàn)介紹?

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

    介紹AMBA2.0總線(xiàn)

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

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

    , ASB, APB);Qchannel文章目錄1 AMBA總線(xiàn)2 AHB2.1 一個(gè)典型的基于AHB的微控制器2.2 AHB
    發(fā)表于 12-05 15:36 ?16次下載
    數(shù)字IC驗(yàn)證:ARM<b class='flag-5'>總線(xiàn)</b>協(xié)議<b class='flag-5'>AMBA</b>中<b class='flag-5'>AHB</b>、APB的簡(jiǎn)介、區(qū)別與聯(lián)系

    STM32菜鳥(niǎo)學(xué)習(xí)手冊(cè)——AMBA、APB、AHB簡(jiǎn)介

    STM32菜鳥(niǎo)學(xué)習(xí)手冊(cè)——1、AMBA、APB、AHB簡(jiǎn)介芯片上總線(xiàn)標(biāo)準(zhǔn)種類(lèi)繁多,而由ARM公司推出的AMBA片上總線(xiàn)受到了廣大IP開(kāi)發(fā)商和
    發(fā)表于 12-22 19:09 ?16次下載
    STM32菜鳥(niǎo)學(xué)習(xí)手冊(cè)——<b class='flag-5'>AMBA</b>、APB、<b class='flag-5'>AHB</b>簡(jiǎn)介

    AMBA總線(xiàn)知識(shí)之AHB(上)

    AMBA總線(xiàn)陣營(yíng)的強(qiáng)大超乎多數(shù)人的想象。AMBA總線(xiàn)是一個(gè)在SoC領(lǐng)域使用的事實(shí)上的標(biāo)準(zhǔn)。AMBA總線(xiàn)
    的頭像 發(fā)表于 05-04 14:45 ?2702次閱讀
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線(xiàn)</b>知識(shí)之<b class='flag-5'>AHB</b>(上)

    AMBA總線(xiàn)知識(shí)之AHB(下)

    AMBA總線(xiàn)陣營(yíng)的強(qiáng)大超乎多數(shù)人的想象。AMBA總線(xiàn)是一個(gè)在SoC領(lǐng)域使用的事實(shí)上的標(biāo)準(zhǔn)。AMBA總線(xiàn)
    的頭像 發(fā)表于 05-04 14:47 ?2672次閱讀
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線(xiàn)</b>知識(shí)之<b class='flag-5'>AHB</b>(下)

    AMBA總線(xiàn)ahb簡(jiǎn)介

    AHB(Advanced High-performance Bus),高性能總線(xiàn)的意思。
    發(fā)表于 06-05 15:14 ?5741次閱讀
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線(xiàn)</b>—<b class='flag-5'>ahb</b>簡(jiǎn)介

    AMBA AHB協(xié)議規(guī)范

    電子發(fā)燒友網(wǎng)站提供《AMBA AHB協(xié)議規(guī)范.pdf》資料免費(fèi)下載
    發(fā)表于 02-11 15:51 ?0次下載