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

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

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

AMBA總線知識之AHB(上)

jf_78858299 ? 來源:知芯有道 ? 作者:知芯有道 ? 2023-05-04 14:45 ? 次閱讀

AMBA總線陣營的強(qiáng)大超乎多數(shù)人的想象。AMBA總線是一個(gè)在SoC領(lǐng)域使用的事實(shí)上的標(biāo)準(zhǔn)。AMBA總線的最大優(yōu)點(diǎn)是開放的架構(gòu),和因此帶來的免費(fèi)。開放的總線標(biāo)準(zhǔn)使AMBA總線迅速普及,而且更易吸收整個(gè)半導(dǎo)體界的成果。

AMBA總線標(biāo)準(zhǔn)提供的AXI,AHB,ASB,APB和ATB總線,不僅使用在ARM處理器系統(tǒng)中,MIPS和PowerPC處理器也開始使用AMBA總線。在接下來的文章中我們重點(diǎn)為大家介紹AHB, AXI總線協(xié)議。

內(nèi)容概括

這次為大家講述的內(nèi)容包括:

AHB介紹

總線互聯(lián)

AHB信號描述

基本傳輸

0****1

AHB介紹

AMBA是為提高性能綜合設(shè)計(jì)的要求而產(chǎn)生的新一代AMBA總線它是支持總線主機(jī)和提供高帶寬的高性能總線。AHB實(shí)現(xiàn)了高性能,高時(shí)鐘頻率系統(tǒng)的以下特征要求:突發(fā)傳輸;分塊處理;單周期總線主機(jī)移交;單時(shí)鐘沿操作;非三態(tài)執(zhí)行;

AHB 的設(shè)計(jì)可能包含一個(gè)或者多個(gè)主機(jī),一個(gè)典型的系統(tǒng)將至少包含處理器和測試接口。然而,將直接數(shù)據(jù)存?。?a href="http://www.ttokpm.com/tags/dma/" target="_blank">DMA)或者數(shù)字信號處理器(DSP)包含作總線主機(jī)也很普遍。

典型的 AMBA AHB 系統(tǒng)設(shè)計(jì)包含以下的成分:

AHB 主機(jī) :總線主機(jī)能夠通過提供地址和控制信息發(fā)起讀寫操作。任何時(shí)候只允許一個(gè)總線主機(jī)處于有效狀態(tài)并能使用總線。

AHB 從機(jī) :總線從機(jī)在給定的地址空間范圍內(nèi)響應(yīng)讀寫操作??偩€從機(jī)將成功、失敗或者等待數(shù)據(jù)傳輸?shù)男盘柗祷亟o有效的主機(jī)。

AHB 仲裁器 :總線仲裁器確保每次只有一個(gè)總線主機(jī)被允許發(fā)起數(shù)據(jù)傳輸。即使仲裁協(xié)議已經(jīng)固定,任何一種仲裁算法,比如最高優(yōu)先級或者公平訪問都能夠根據(jù)應(yīng)用要求而得到執(zhí)行。AHB 必須只包含一個(gè)伸裁器,盡管在單總線主機(jī)系統(tǒng)中這顯得并不重要。

AHB 譯碼器: AHB 譯碼器用來對每次傳輸進(jìn)行地址譯碼并且在傳輸中包含一個(gè)從機(jī)選擇信號。所有 AHB 執(zhí)行都必須僅要求有一個(gè)中央譯碼器。

02

總線互聯(lián)

AHB總線協(xié)議設(shè)計(jì)使用一個(gè)中央多路選擇器互聯(lián)方案。使用該方案所有總線主機(jī)設(shè)備輸出地址和控制信號來指示它們想執(zhí)行的傳輸,同時(shí)仲裁器決定哪一個(gè)主機(jī)能夠?qū)⑺牡刂泛涂刂菩盘栠B通到所有的從機(jī)。當(dāng)然也需要—個(gè)譯碼器來控制讀數(shù)據(jù)和響應(yīng)多路信號選擇器,多路信號選擇器選中米自傳輸中所包含從機(jī)的適當(dāng)信號。圖 1表示了實(shí)現(xiàn)包含三個(gè)主機(jī)和四個(gè)從機(jī)的AHB設(shè)計(jì)的結(jié)構(gòu)要求。

圖1 多路選擇器互聯(lián)

0****3

AHB信號描述

名稱 來源 描述
HCLK總線時(shí)鐘 時(shí)鐘源 時(shí)鐘為所有總線傳輸提供時(shí)基。所有信號時(shí)序都和HCLK的上升沿相關(guān)。
HRESETn復(fù)位 復(fù)位控制器 總線復(fù)位信號,低電平有效,用來復(fù)位系統(tǒng)和總線。這是唯一低電平有效的信號。
HADDR[31:0]地址總線 主機(jī) 32位地址總線
HTRANS[1:0]傳輸類型 主機(jī) 表示當(dāng)前傳輸?shù)念愋停梢允沁B續(xù),不連續(xù),空閑和忙
HWRITE傳輸方向 主機(jī) 該信號為高表示一個(gè)寫傳輸,為低表示一個(gè)讀傳輸
HSIZE[2:0]傳輸大小 主機(jī) 表示傳輸?shù)拇笮?,三位表?…7,分別對應(yīng)8bits(byte), 16bits(halfword),32bits(word),64bits, 128bits,256bits, 512bits,1024bits
HBURST[2:0]突發(fā)類型 主機(jī) 表示傳輸是否組成了突發(fā)的一部分。支持4個(gè),8個(gè),16個(gè)節(jié)拍的突發(fā)傳輸,突發(fā)傳輸可以使增量或回環(huán)。
HPROT[3:0]保護(hù)控制 主機(jī) 提供總線訪問的附加信息,主要是給那些希望執(zhí)行某種保護(hù)級別的模塊使用的。這個(gè)信號指示當(dāng)前傳輸是否為預(yù)取指令或者數(shù)據(jù)傳輸,同時(shí)也表示傳輸是保護(hù)模式訪問還是用戶模式訪問。對帶存儲器管理單元的總線主機(jī)而言這些信號也用來指示當(dāng)前傳輸是高速緩存的(cache)還是緩沖的(buffer)。
HWDATA[31:0]寫總線數(shù)據(jù) 主機(jī) 寫數(shù)據(jù)總線用來在寫操作期間從主機(jī)到總線從機(jī)傳輸數(shù)據(jù)。建議最小的數(shù)據(jù)總線寬度為 32 位。在要求高帶寬運(yùn)行時(shí)擴(kuò)展(數(shù)據(jù)總線)還是很容易的。
HSELx從機(jī)選擇 譯碼器 每個(gè) AHB 從機(jī)都有自己獨(dú)立的從機(jī)選擇信號并且用該信號來表示當(dāng)前傳輸是否是打算送給選中的從機(jī)。該信號是地址總線的簡單組合譯碼。
HRDATA[31:0]讀數(shù)據(jù)總線 從機(jī) 讀數(shù)據(jù)總線用來在讀操作期間從總線從機(jī)向總線主機(jī)傳輸數(shù)據(jù)。建議最小的數(shù)據(jù)總線寬度為 32 位。在要求高帶寬運(yùn)行時(shí)擴(kuò)展(數(shù)據(jù)總線)還是很容易的。
HREDAY傳輸完成 從機(jī) 當(dāng) HREADY 為高時(shí)表示總線上的傳輸已經(jīng)完成。在擴(kuò)展傳輸時(shí)該信號可能會被拉低。注意:總線上的從機(jī)要求 HREADY 作為輸入輸出信號。
HRESP[1:0]傳輸響應(yīng) 從機(jī) 傳輸響應(yīng)給傳輸狀態(tài)提供了附加信息。提供四種不同的響應(yīng):OKEY、 ERROR、 RETRY 和 SPLIT。

0****4

基本傳輸

一筆傳輸由如下兩部分組成:

地址階段 :一個(gè)周期

數(shù)據(jù)階段 :一個(gè)或多個(gè)周期,由HBURST信號決定需要幾個(gè)有效周期,可以由HREADY發(fā)出請求延長一個(gè)周期。

01

沒有等待狀態(tài)的single transfer

  • 第一個(gè)周期的上升沿,主機(jī)將地址信息和控制信息發(fā)送到總線上;

  • 第二個(gè)周期的上升沿,從機(jī)采樣地址和控制信號,并將HREADY拉高;如果是寫操作,主機(jī)會在第二個(gè)周期的上升沿過后傳輸要寫入的數(shù)據(jù);如果是讀操作,從機(jī)會在HREADY信號拉高后將讀取的數(shù)據(jù)寫入總線;

  • 第三個(gè)周期的上升沿,如果是寫操作,主機(jī)獲取HREADY高信號,表明從機(jī)已成功接收數(shù)據(jù),操作成功;如果是讀操作,主機(jī)獲取HREADY高信號,表明此時(shí)的讀數(shù)據(jù)有效并且接收下來,操作成功。需要注意,HREADY信號在數(shù)據(jù)有效期間必須為高,并且延續(xù)到第三個(gè)周期的上升沿之后,確保主機(jī)的正確采樣。

02

slave插入等待狀態(tài)的single transfer

從機(jī)可以及時(shí)處理主機(jī)請求,但也可能存在從機(jī)太慢不能立即處理的情況。這時(shí)需要讓主機(jī)稍微等一等,需要從機(jī)插入一些等待的狀態(tài)。如下圖所示,HREADY信號在第二和第三周期拉低,意在告訴主機(jī),從機(jī)不能立即處理,需要主機(jī)等待2個(gè)周期。在這里需要注意2點(diǎn):

如果是寫操作,主機(jī)要在等待期間保持寫數(shù)據(jù)不變,直到本次傳輸完成;如果是讀操作,從機(jī)不需要一開始就給出數(shù)據(jù),僅當(dāng)HREADY拉高后才給出有效數(shù)據(jù)。

03

多個(gè)single transfer的pipeline操作

擴(kuò)展數(shù)據(jù)周期的一個(gè)負(fù)效應(yīng)是必需延長相應(yīng)的下一筆傳輸?shù)牡刂分芷?。A和C為零等待傳輸,B加入了一個(gè)等待周期,因此相應(yīng)的C地址周期要進(jìn)行擴(kuò)展。

  • 第一個(gè)周期,主機(jī)發(fā)起一個(gè)操作A,并驅(qū)動地址和控制信號;
  • 第二個(gè)周期,從機(jī)收到了來自總線的請求,將HREADY信號拉高;
  • 第二個(gè)周期上升沿后,主機(jī)發(fā)現(xiàn)有操作B需要執(zhí)行,并且檢查到上一周期的HREADY為高,則發(fā)起第二個(gè)操作B;
  • 第三個(gè)周期,主機(jī)獲取HREADY信號為高,表示操作A已經(jīng)完成;
  • 第三個(gè)周期上升沿后,主機(jī)發(fā)現(xiàn)有操作C需要執(zhí)行,并且檢查到上一周期的HREADY為高,則發(fā)起第三個(gè)操作C;
  • 第三個(gè)周期上升沿后,從機(jī)由于繁忙插入了一個(gè)等待狀態(tài),將HREADY拉低;
  • 第四個(gè)周期,主機(jī)獲取HREADY信號為低,知道從機(jī)希望等待,于是主機(jī)保持和上一拍一樣的信號;
  • 第四個(gè)周期,從機(jī)處理完了事務(wù),將HREADY信號拉高,表示可以繼續(xù)處理;
  • 第五個(gè)周期,主機(jī)獲取HREADY信號為高,知道從機(jī)已經(jīng)可以處理B操作;
  • 第五個(gè)周期上升沿后,B操作完成;
  • 第六個(gè)周期上升沿后,C操作完成。

需要注意幾點(diǎn):

HREADY在一定程度上表示了從機(jī)的pipeline能力,在AHB中是2個(gè)pipe,也就是總線上最多存在2個(gè)未處理完的transfer。只有當(dāng)總線上未完成的transfer少于2個(gè)時(shí),主機(jī)才能發(fā)起操作。

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

    關(guān)注

    334

    文章

    26311

    瀏覽量

    209940
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4021

    瀏覽量

    217014
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2817

    瀏覽量

    87697
  • AMBA
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

    14872
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    AMBA、APB、AHB簡介

    STM32菜鳥學(xué)習(xí)手冊——1、AMBA、APB、AHB簡介芯片總線標(biāo)準(zhǔn)種類繁多,而由ARM公司推出的AMBA
    發(fā)表于 02-17 07:18

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

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

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

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

    AHB系統(tǒng)總線的建模與驗(yàn)證

    如何有效的對SoC 設(shè)計(jì)進(jìn)行驗(yàn)證已經(jīng)成為縮短設(shè)計(jì)周期的關(guān)鍵問題。針對這個(gè)問題,本文提出一種形式化建模與驗(yàn)證方法,對片系統(tǒng)AMBA 工業(yè)總線規(guī)范的AHB
    發(fā)表于 11-30 15:29 ?9次下載

    基于AMBA總線的片系統(tǒng)

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

    總線概述AMBA總線

    的連接通路。 AMBA3.0 協(xié)議: 1 Advanced High-performance Bus (AHB) AHB總線用于高性能,高時(shí)鐘工作頻率模塊。
    發(fā)表于 11-16 13:24 ?3.9w次閱讀
    <b class='flag-5'>總線</b>概述<b class='flag-5'>之</b><b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>

    基于AMBA總線介紹?

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

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

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

    STM32菜鳥學(xué)習(xí)手冊——AMBA、APB、AHB簡介

    STM32菜鳥學(xué)習(xí)手冊——1、AMBA、APB、AHB簡介芯片總線標(biāo)準(zhǔn)種類繁多,而由ARM公司推出的AMBA
    發(fā)表于 12-22 19:09 ?16次下載
    STM32菜鳥學(xué)習(xí)手冊——<b class='flag-5'>AMBA</b>、APB、<b class='flag-5'>AHB</b>簡介

    AMBA協(xié)議AHB介紹

    AMBA (Advanced Microcontroller Bus Architecture)高級微控制器總線架構(gòu)定義了在設(shè)計(jì)高性能嵌入式微控制器的一種片通信標(biāo)準(zhǔn)。主要包含以下四種
    的頭像 發(fā)表于 05-04 11:33 ?2760次閱讀
    <b class='flag-5'>AMBA</b>協(xié)議<b class='flag-5'>之</b><b class='flag-5'>AHB</b>介紹

    聊聊AMBA總線-AHB

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

    AMBA總線知識AHB(下)

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

    AMBA總線ahb簡介

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