精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

深度分析AMBA總線工作原理3

jf_78858299 ? 來源:黑客與攝影師 ? 作者:黑客與攝影師 ? 2023-05-04 11:30 ? 次閱讀

2.4 AHB總線

2.4.1 AHB總線簡介

AHB是一種高性能、高時鐘頻率的AMBA總線協議。主要用于連接RAMDMA、Bridge等高速設備。主要支持如下特性:burst傳輸、Split事務處理、單周期master移交、流水線操作、支持多個總線主設備。

AHB總線的強大之處在于它可以將微控制器CPU、高帶寬的片上RAM、高帶寬的外部存儲器接口、DMA總線master、各種擁有AHB接口的控制器等連接起來,構成一個獨立的完成SOC系統。不僅如此,還可以通過AHB-APB橋來連接APB總線系統。AHB可以成為一個完成的SOC芯片的骨架

2.4.2 AHB的組成

完整的AHB總線由四個部分構成:

  • AHB主設備Master:總線主設備能夠通過提供地址和信息發起讀寫操作,任何時候,只允許一個總線主設備處于有效狀態,并使用總線。
  • AHB從設備Slave:從設備在給定的地址空間范圍內響應讀寫操作,總線從設備將成功、失敗或者等待數據傳輸的信號返回給有效的主設備。
  • AHB仲裁器Arbiter:總線仲裁器確保每次只有一個總線主機被允許發起數據傳輸。即使仲裁協議已經固定,任何一種仲裁算法,比如最高優先級或者公平訪問都能根據應用要求而得到執行。AHB必須只包含一個仲裁器,盡管在單總線主設備系統中這顯得并不重要。
  • AHB譯碼器Decoder:AHB譯碼器用來對每次傳輸進行地址譯碼,并且在傳輸中包含一個從設備選擇信號。
    每個AHB都需要一個仲裁器和一個解碼器,并且分別有且只有一個。
    總線可分為三組:
  • 寫數據總線(HWDATA)
  • 讀數據總線(HRDATA)
  • 地址控制總線(HADDR

2.4.3 AHB總線操作

主設備通過驅動地址和控制信號開始一次傳輸。這些信號提供了地址、方向、傳輸的位寬,如果傳輸的類型是猝發,那么會指示出傳輸的類型。傳輸的類型可以是:

  • 單次傳輸(Single)。
  • 遞增猝發(Incrementing burst),即在地址邊界處不進行包裝(地址不進行回繞)。
  • 包裝猝發(Warpping burst),及到達地址邊界處重新包裝下一次傳輸的地址(地址回繞)。
    寫操作數據由主設備到從設備,讀數據數據由從設備到主設備。每次傳輸都包含兩個階段:
  • 地址階段(Address phase),地址和控制周期。
  • 數據階段(Data phase),數據周期是一個或多個周期。
    從設備不能請求Address phase進行延長,所以所有的從設備必須具備在Address phase周期采樣地址的能力。但是從設備可以請求主設備延長Data phase,通過控制HREADY。HREADY信號為低時,從設備可以在傳輸中插入等待狀態,使得從設備具有額外的時間提供和采樣數據。最后從設備使用HRESP表明傳輸的成功/失敗。

2.4.4 AHB信號

從上面的表可以看出,為了克服APB的缺點,從而支持多主機模式。提升效率操作,在總線接口數量上做了增加,并且位寬也做了提升。

2.4.5 AHB傳輸

1)AHB傳輸過程

AHB傳輸分為以下幾個部分:

  • 主模塊獲取總線使用權:主模塊向仲裁器發送總線請求信號,仲裁器發送應答后主模塊可以開始傳輸。
  • 數據傳輸:主模塊向從模塊傳輸數據,分為如下兩個部分:
  • 發送地址和控制信號:包括地址、位寬、突發類型(增量突發和回卷突發)等控制新高,僅一個時鐘周期。
  • 數據傳輸:進行數據交換,一個或多個時鐘周期。
  • 從模塊應答:從模塊通過HRESP和HREADY 標記完成狀態,對于HRESP,有以下狀態:
  • OKAY:標記傳輸完成,當HRESP為該狀態且HREADY拉高時,傳輸完成。
  • ERROR:標記傳輸出錯
  • RETRY和SPLIT:標記傳輸未完成,主模塊仍需要占用總線。
    前面已介紹一個基本的傳輸包括兩個階段:
  • 地址:持續一個系統時鐘HCLK周期,除非被上一個傳輸延長
  • 數據:可能需要數個系統時鐘HCLK周期,使用HREADY信號來控制完成一次傳輸所需要的時鐘周期。
    HWRITE:控制數據的方向。當為高時,表明進行一次寫傳輸,數據由主模塊端發送,從模塊端接收。當為低時,表明進行一次讀傳輸,從模塊端產生讀數據,主模塊端接收讀數據。

2)無等待狀態

上圖是沒有等待狀態的簡單傳輸的時序圖,所以此傳輸包含一個地址周期和一個數據周期。3.1為讀傳輸,3.2為寫傳輸。在這個沒有等待狀態的傳輸中:

  • 主模塊端在第一個時鐘HCLK上升沿將地址和控制信號到總線。
  • 從模塊端在接下來的一個時鐘HCLK上升沿進行地址和控制信號采樣。
  • 在從模塊端對地址和控制信號采樣結束后,從模塊端可以驅動HEADYOUT信號及數據作為回應。該信號及數據由主模塊端在傳輸的第三個時鐘HCLK上升沿進行采樣。
    這個例子說明了地址和數據階段在不同的時鐘周期是如何傳輸的。任意一次傳輸的地址階段發生在上一次傳輸的數據階段(重合,即當前傳輸的地址階段和前一次傳輸的數據階段重合)。address與data的重合是進行總線流水線處理的基礎,此特性允許總線高性能操作,同時也為從模塊端發送反饋信息提供了充足的時間。

2)有等待狀態傳輸

從模塊端可以插入等待階段到任意一個傳輸中從而延長完成傳輸的時間。每個從模塊端具有一個HREADYOUT信號,該信號為從模塊端在data phase階段驅動?;ヂ摻Y構需要將每個從模塊端的HREADYOUT信號聯合起來產生一個HREADY信號,HREADY信號用來控制上述延長傳輸完成時間的過程。

如上圖是具有等待階段的時序圖。3.3是帶有兩個等待周期的讀傳輸,3.4是帶有一個等待周期的寫傳輸。有等待傳輸下,數據傳輸階段可以擴展,即在HREADY拉高之前,數據傳輸階段不結束。要求寫數據在HREADY拉高前保持穩定,主模塊在HRAEADY拉高后采樣讀數據。對于寫操作,在HREADY為低的等待階段內,主模塊端需要將寫數據DATA保持不變,直到寫操作完成。對于讀操作,從模塊端只需要在HREADY為高的周期內提供有效數據即可。

當傳輸由具有等待階段通過延長address階段進行延長時,那么對接下來的傳輸具有副作用。3.5是包含地址不相關的3次傳輸,A,B和帶有一個等待周期的C傳輸。

在上述時序圖中:

  • 傳輸A和傳輸C是0等待傳輸。
  • 傳輸B具有一個等待周期的address phase。
  • 延長傳輸B的數據phase對下一次傳輸C的address phase會相應的拉長。

2.4.6 傳輸類型

1)傳輸類型

傳輸類型使用端口HTRANS標記,有以下取值:

  • IDLE(0b00):標志主模塊占有AHB總線,但是沒有數據傳輸發生。從模塊需要使用OKAY狀態回應該類型
  • BUSY(0b 01):標志主模塊占有AHB總線并在進行突發傳輸,但下一個傳輸不能立刻發生。從模塊需要使用OKAY狀態回應
  • NONSEQ(0b 10):標志主模塊當前發送的地址和控制信號與上一次傳輸無關(單次傳輸就是該狀態)
  • SEQ(0b 11):標記主模塊處于突發傳輸的中間部分,即當前發送的地址和控制信號與上一次地址和控制信號有關

2)突發類型

突發傳輸分為兩類:

  • 增量突發:傳輸過程中傳輸地址遞增。下一次傳輸的地址是上一次地址加上一個增量。
  • 回卷突發:猝發的地址范圍被限制在一個固定范圍之內,傳輸地址遞增,若是超出則回到地址范圍的開始的地址。例如從0x34進行增量為4,范圍為16的回卷突發,地址順序為0x34、0x38、0x3c,0x30
    突發類型使用字段HBURST標記,含義如下表所示:

注意一次突發傳輸不能跨越1kB的地址區間,且傳輸的起始地址必須與數據類型對應,例如傳輸字數據的二進制起始地址必須滿足后兩位為00。

3)突發終止

從機通過監控HTRANS發現突發傳輸的終止:

  • 若下一個HTRANS標記為BUSY或SEQ:突發傳輸未終止
  • 若下一個HTRANS標記為NONSEQ或IDLE:上一次突發傳輸已經終止
    若突發傳輸是提前終止的,如總線控制權被剝奪,那么主機需要在可以進行傳輸時重建突發傳輸。例如一個4拍傳輸僅發送了一拍就終止,主機需要使用INCR類型的突發構建3拍傳輸以重建。

4)傳輸的例子

  • T0~T1:由非連續序列性的傳輸啟動的4拍讀。
  • T1~T2:主模塊端不能進行傳輸,在第二個周期,所以插入了一個BUSY傳輸來延時第二次傳輸。此周期從模塊端返回第一個周期主模塊端發送讀地址的讀數據。
  • T2~T3:主模塊端準備好進行第二次傳輸,發送一個SEQ傳輸。主模塊端此周期將會忽略讀數據總線上由任何從模塊端返回的讀數據(因前一個周期為BUSY傳輸)。
  • T3~T4:主模塊端進行了第三次傳輸。發送了一個SEQ傳輸,此時讀數據返回主模塊端發起的第二次SEQ讀讀數據。
  • T4~T5:主模塊端進行最后一次傳輸。此時在第一個周期內HREADY信號為低,從模塊不能將前一次SEQ讀的數據返回,所以將延遲上一次SEQ傳輸的DATA Phase,也就是當前傳輸的ADDRESS phase。
  • T5~T6:從模塊端返回第T3、T4周期發送的SEQ讀數據。
  • T6~T7:無傳輸命令,返回T4、T6發送的讀數據。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9046

    瀏覽量

    366815
  • 總線
    +關注

    關注

    10

    文章

    2866

    瀏覽量

    87986
  • AMBA
    +關注

    關注

    0

    文章

    68

    瀏覽量

    14951
收藏 人收藏

    評論

    相關推薦

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

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

    AMBA總線IP核的設計

    文章采用TOP-DOWN 的方法設計了 AMBA 總線IP 核!它包括AHB 和APB兩個子IP 核 所有AMBA結構模塊均實現了RTL級建模
    發表于 07-25 18:10 ?92次下載
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>IP核的設計

    AMBA AXI總線學習筆記

    AMBA AXI 總線學習筆記,非常詳細的AXI總線操作說明
    發表于 11-11 16:49 ?11次下載

    ARM體系的特點與ARM的技術的簡介及AMBA總線分析

    簡要介紹了ARM體系及其特點,詳細分析了ARM的流水技術、Cache技術、低功耗技術、代碼壓縮技術等,介紹了AMBA總線,給出了基于ARM和AMBA
    發表于 11-20 17:12 ?9次下載
    ARM體系的特點與ARM的技術的簡介及<b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>的<b class='flag-5'>分析</b>

    AMBA3.0 AXI總線接口協議的研究與應用

    本文介紹了AMBA3。0AXI的結構和特點,分析了新的AMBA3。0AXI協議相對于AMBA2。0的優點。它將革新未來高性能SOC總線互連技
    發表于 03-29 09:46 ?8次下載
    <b class='flag-5'>AMBA</b>3.0 AXI<b class='flag-5'>總線</b>接口協議的研究與應用

    AMBA 3.0 AXI總線接口協議的研究與應用

    本文介紹了AMBA 3.0 AXI的結構和特點,分析了新的AMBA 3.0 AXI協議相對于AMBA 2. 0的優點。它將革新未來高性能SOC總線
    發表于 04-12 15:47 ?28次下載

    基于AMBA總線介紹?

    3.0:增加了AXI協議(了解);AMBA4.0:ACE協議(了解) 本文主要介紹AMBA2.0 (Advanced Microcontroller Bus Architecture,先進微控制總線結構),主要
    的頭像 發表于 05-19 14:22 ?2078次閱讀
    基于<b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>介紹?

    深度解讀AMBA、AHB、APB、AXI總線介紹及對比

    什么是AMBA? 現如今,集成電路芯片的規模越來越大。數字IC從基于時序驅動的設計方法,發展到基于IP復用的設計方法,并在SoC設計中得到了廣泛應用。在基于IP復用的SoC設計中,片上總線
    的頭像 發表于 06-25 11:22 ?1w次閱讀

    介紹AMBA2.0總線

    3.0:增加了AXI協議(了解);AMBA4.0:ACE協議(了解) 本文主要介紹AMBA2.0 (Advanced Microcontroller Bus Architecture,先進微控制總線結構),主要
    的頭像 發表于 09-06 09:53 ?3120次閱讀
    介紹<b class='flag-5'>AMBA</b>2.0<b class='flag-5'>總線</b>

    深度分析AMBA總線工作原理1

    本文主要介紹總線相關的知識,會從以下幾個方面展開:什么是總線,為什么需要總線,總線的組成,總線的分類,ARM中常見的
    的頭像 發表于 05-04 11:29 ?1004次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>分析</b><b class='flag-5'>AMBA</b><b class='flag-5'>總線</b><b class='flag-5'>工作原理</b>1

    深度分析AMBA總線工作原理2

    本文主要介紹總線相關的知識,會從以下幾個方面展開:什么是總線,為什么需要總線總線的組成,總線的分類,ARM中常見的
    的頭像 發表于 05-04 11:30 ?811次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>分析</b><b class='flag-5'>AMBA</b><b class='flag-5'>總線</b><b class='flag-5'>工作原理</b>2

    深度分析AMBA總線工作原理4

    本文主要介紹總線相關的知識,會從以下幾個方面展開:什么是總線,為什么需要總線,總線的組成,總線的分類,ARM中常見的
    的頭像 發表于 05-04 11:30 ?1209次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>分析</b><b class='flag-5'>AMBA</b><b class='flag-5'>總線</b><b class='flag-5'>工作原理</b>4

    AMBA總線知識之AHB(上)

    AMBA總線陣營的強大超乎多數人的想象。AMBA總線是一個在SoC領域使用的事實上的標準。AMBA總線
    的頭像 發表于 05-04 14:45 ?2449次閱讀
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>知識之AHB(上)

    AMBA總線知識之AHB(下)

    AMBA總線陣營的強大超乎多數人的想象。AMBA總線是一個在SoC領域使用的事實上的標準。AMBA總線
    的頭像 發表于 05-04 14:47 ?2348次閱讀
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>知識之AHB(下)

    AMBA總線—apb簡介

    APB(Advanced Peripheral Bus),外圍總線的意思。該總線協議是ARM公司提出的AMBA總線結構之一,幾乎已成為一種標準的片上
    發表于 06-05 15:10 ?1829次閱讀
    <b class='flag-5'>AMBA</b><b class='flag-5'>總線</b>—apb簡介