AMBA總線介紹2.0PPT課件_第1頁
AMBA總線介紹2.0PPT課件_第2頁
AMBA總線介紹2.0PPT課件_第3頁
AMBA總線介紹2.0PPT課件_第4頁
AMBA總線介紹2.0PPT課件_第5頁
已閱讀5頁,還剩94頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、1 1 amba 總線2 2sep32033 3目錄 amba總線概述 ahb apb 不同ip之間的互連4 4系統(tǒng)總線簡介 系統(tǒng)芯片中各個模塊之間需要有接口來連接系統(tǒng)芯片中各個模塊之間需要有接口來連接 總線作為子系統(tǒng)之間共享的通信鏈路總線作為子系統(tǒng)之間共享的通信鏈路 優(yōu)點優(yōu)點 低成本低成本 方便易用方便易用 缺點缺點 會造成性能瓶頸會造成性能瓶頸5 5amba介紹 advanced microcontroller bus architectureadvanced microcontroller bus architecture 片上總線的標準片上總線的標準 定義了三種總線定義了三種總線 ah

2、b (advanced high-performance bus)ahb (advanced high-performance bus) asb (advanced system bus)asb (advanced system bus) apb (advanced peripheral bus)apb (advanced peripheral bus)6 6amba發(fā)展歷史 amba 1.0amba 1.0 asb asb 和和 apbapb amba 2.0amba 2.0 ahb, asb ahb, asb 和和 apbapb amba 3.0amba 3.0 amba advanced

3、 extensible interface (axi)amba advanced extensible interface (axi)7 7一個典型的amba系統(tǒng) 處理器和其它主設備/從設備都是可以替換的8 8ahb 高速總線,高性能高速總線,高性能 流水線操作流水線操作 可支持多個總線主設備(最多可支持多個總線主設備(最多1616個)個) 支持支持burstburst傳輸傳輸 總線帶寬:總線帶寬:8 8、1616、3232、6464、128bits128bits 上升沿觸發(fā)操作上升沿觸發(fā)操作 對于一個新設計建議使用對于一個新設計建議使用ahbahb 9 9asb高速總線高速總線流水線操作流水

4、線操作支持多個總線主設備支持多個總線主設備支持支持burstburst傳輸傳輸總線帶寬:總線帶寬:8 8、1616、32bits32bits三態(tài)、雙向總線三態(tài)、雙向總線 (不適于做(不適于做dftdft)下降沿或者上升沿觸發(fā)下降沿或者上升沿觸發(fā)1010apb 低速總線、低功耗低速總線、低功耗 接口簡單接口簡單 在在bridgebridge中鎖存地址信號和控制信號中鎖存地址信號和控制信號 適用于多種外設適用于多種外設 上升沿觸發(fā)上升沿觸發(fā)1111ahb組成部分 ahb ahb 主設備(主設備(mastermaster) 初始化一次讀初始化一次讀/ /寫操作寫操作 某一時刻只允許一個主設備使用總線

5、某一時刻只允許一個主設備使用總線 upup、dmadma、dspdsp、lcdc lcdc ahbahb從設備(從設備(slaveslave) 響應一次讀響應一次讀/ /寫操作寫操作 通過地址映射來選擇使用哪一個從設備通過地址映射來選擇使用哪一個從設備 外部存儲器控制器外部存儲器控制器emiemi、apb bridgeapb bridge、uartuart、 ahbahb仲裁器(仲裁器(arbiterarbiter) 允許某一個主設備控制總線允許某一個主設備控制總線 在在ambaamba協(xié)議中沒有定義仲裁算法協(xié)議中沒有定義仲裁算法 ahbahb譯碼器(譯碼器(decoderdecoder) 通

6、過地址譯碼來決定選擇哪一個從設備通過地址譯碼來決定選擇哪一個從設備1212apb組成部分 ahb2apb bridgeahb2apb bridge 可以鎖存所有的地址、數(shù)據(jù)和控制信號可以鎖存所有的地址、數(shù)據(jù)和控制信號 進行二級譯碼來產(chǎn)生進行二級譯碼來產(chǎn)生apbapb從設備選擇信號從設備選擇信號 apbapb總線上的所有其他模塊都是總線上的所有其他模塊都是apbapb從設備從設備 不是流水線方式不是流水線方式 接口是零功耗接口是零功耗1313amba協(xié)議其他有關(guān)問題 與工藝無關(guān)與工藝無關(guān) 沒有定義電氣特性沒有定義電氣特性 僅在時鐘周期級定義時序僅在時鐘周期級定義時序 提取時序參數(shù)依賴于所采用的工

7、藝和工作頻率提取時序參數(shù)依賴于所采用的工藝和工作頻率1414目錄 amba總線概述 ahb apb 不同ip之間的互連1515ahb總線互連1616ahb傳輸發(fā)起一個請求給仲裁發(fā)起一個請求給仲裁器器驅(qū)動地址和驅(qū)動地址和控制信號控制信號允許某個主設允許某個主設備控制總線備控制總線僅選中的從設僅選中的從設備響應地址備響應地址/控制信號控制信號拉高拉高hready信號,總線信號,總線傳輸完成傳輸完成1717dummy/default masterdummy master granted when all masters split generates idle cycles only typical

8、ly master #0 granted when locked master gets split response implement as part of address/control muxdefault master granted when no master requires bus generally master most likely to require bus generates idle cycles when not requesting bus avoids minimum 2 cycle arbitration period immediate access

9、to bus1818default slaveslave 3(apb)default slave0 x0000_00000 xffff_ffffcase haddr is when . = hselebi hselsram hselapb hseldefault hresp hresp 0 x38 - 0 x3c - 0 x300 x34 - 0 x38 - 0 x3c - 0 x30 應用場合:應用場合:cachecache填充填充3434地址計算舉例 根據(jù)hsize和hburst來計算地址 例:起始地址是0 x48,hsize=010(32bits)3535incr8 bursthclks

10、eqnseqseqseqseqseqincr80 x600 x680 x640 x6c0 x740 x70htranshbursthaddrhrdatad1d0d2d4d3d50 x780 x7cseqseqd6d73636wrap8 bursthclkseqnseqseqseqseqseqwrap80 x700 x780 x740 x7c0 x640 x60htranshbursthaddrhrdatad5d4d6d0d7d10 x680 x6cseqseqd2d3start of line3737incr4 burst3838wrap4 burst3939例:未定義長度的burst傳輸40

11、40example ldm ahb activity si = singlehclkseqnseqnseqnseqseqseqidleincr4sisi0 x340 x3c0 x380 x400 x480 x44htranshbursthaddrhrdatahwdatar6r5r7r9r8r10ldm ,r5-r104141注意! burstburst傳輸不能穿越傳輸不能穿越1k1k邊界邊界 一個從設備最小的地址間隙是一個從設備最小的地址間隙是1kb1kb nonseq - seq - 1kb boundary -nonseq - seq - 1kb boundary - nonseq - s

12、eq nonseq - seq 主設備不能試圖開始一個可能穿越主設備不能試圖開始一個可能穿越1k1k邊界的固定長度的邊界的固定長度的incrementing burstincrementing burst傳輸傳輸4242incr burst over 1k boundaryhclkseqnseqseqnseqseqseqincr0 x3f00 x3f80 x3f40 x3fc0 x4040 x400htranshbursthaddrhrdatad1d0d2d4d3d50 x408 0 x40cseqseqd6d7start of 1k page4343地址譯碼 hselxhselx:選擇從設備

13、:選擇從設備 指出由主設備所選擇的從設備指出由主設備所選擇的從設備 由地址譯碼器來提供選擇信號由地址譯碼器來提供選擇信號 一個從設備應該至少占用一個從設備應該至少占用1kb1kb的存儲空間的存儲空間 需要一個額外的缺省從設備來映射其他的存儲地址需要一個額外的缺省從設備來映射其他的存儲地址4444地址譯碼(續(xù))4545從設備響應 所訪問的從設備必須響應這次傳輸所訪問的從設備必須響應這次傳輸 從設備可能返回的響應:從設備可能返回的響應: 完成這次傳輸完成這次傳輸 插入等待狀態(tài)(插入等待狀態(tài)(hreadyhready信號)信號) 發(fā)出錯誤信號表示這次傳輸失敗發(fā)出錯誤信號表示這次傳輸失敗 延遲傳輸,使

14、得總線可用于其他傳輸(延遲傳輸,使得總線可用于其他傳輸(splitsplit)4646從設備響應信號 hreadyhready:transfer donetransfer done hresp1:0hresp1:0:transfer responsetransfer response 0000:okayokay 成功成功 0101:errorerror 失敗失敗 1010:retryretry 傳輸未完成傳輸未完成 請求主設備重新開始一個傳輸請求主設備重新開始一個傳輸 1111:splitsplit 傳輸未完成傳輸未完成 請求主設備分離一次傳輸請求主設備分離一次傳輸4747兩周期的響應 hre

15、sp1:0hresp1:0 okayokay:單周期響應:單周期響應 errorerror:兩周期響應:兩周期響應 retryretry:兩周期響應:兩周期響應 splitsplit:兩周期響應:兩周期響應 總線的流水特性需要從設備兩個周期的響應??梢允沟弥髟O備有總線的流水特性需要從設備兩個周期的響應。可以使得主設備有足夠的時間處理下一次傳輸。足夠的時間處理下一次傳輸。4848slave responsesmem amem bmem dmem cslaveprocessorambawrite mem ei couldnt write it because of no mem e!4949sla

16、ve responsesmem amem bmem dmem cslaveprocessorambawrite mem ai couldnt write it now for busy!you could retry write it latter!busy5050例:retry 響應5151retry和split的不同 主要區(qū)別在于仲裁的方式主要區(qū)別在于仲裁的方式 retryretry:arbiterarbiter會繼續(xù)使用通常的優(yōu)先級會繼續(xù)使用通常的優(yōu)先級 splitsplit:arbiterarbiter會調(diào)整優(yōu)先級方案以便其他請求總線的主設備可以訪問會調(diào)整優(yōu)先級方案以便其他請求總線的主

17、設備可以訪問總線總線 總線主設備應該用同樣的方式處理總線主設備應該用同樣的方式處理retryretry響應和響應和splitsplit響應響應5252locked transfershclkhaddrhwdatahlockaddress phaseadata phase aaddress phase baadata phase baddress phase cccbb locked sequences of transfers cannot be interrupted by interconnect hlock indicates next address phase is part of

18、a locked transfer in the above transfers to addresses b & c are locked and should not be separated arm processors use hlock for swp instruction only5353數(shù)據(jù)總線 不是三態(tài)總線,讀總線和寫總線是分開的。不是三態(tài)總線,讀總線和寫總線是分開的。 印第安序印第安序 在在ambaamba協(xié)議中沒有定義協(xié)議中沒有定義 主設備和從設備應該采用同樣的印第安序主設備和從設備應該采用同樣的印第安序 不支持動態(tài)印第安序不支持動態(tài)印第安序 對于對于ipip設計

19、,設計, 只有應用面比較廣泛的應用程序才支持兩種印第只有應用面比較廣泛的應用程序才支持兩種印第安序。安序。545432bit小印第安數(shù)據(jù)總線的有效字節(jié)555532bit大印第安數(shù)據(jù)總線的有效字節(jié)5656多個主設備i am first i am first!5757ahb仲裁信號5858仲裁信號(續(xù)) hbusreqhbusreq 總線請求總線請求 hlockxhlockx: 高電平:主設備請求鎖定總線高電平:主設備請求鎖定總線 hgrantxhgrantx 指出主設備指出主設備x x可訪問總線可訪問總線 主設備主設備x x控制總線:控制總線:hgrantx=1hgrantx=1且且hready

20、=1hready=15959仲裁信號(續(xù)) hmaster3:0hmaster3:0 指出哪個主設備正在進行傳輸指出哪個主設備正在進行傳輸 hmastlockhmastlock 指出主設備正在進行一次鎖定傳輸指出主設備正在進行一次鎖定傳輸 hsplitx15:0hsplitx15:0 從設備用這個信號告訴仲裁器哪個主設備允許重新嘗試一次從設備用這個信號告訴仲裁器哪個主設備允許重新嘗試一次splitsplit傳輸。傳輸。 每一位對應一個主設備每一位對應一個主設備6060仲裁舉例(1) 沒有等待狀態(tài)的grant6161仲裁舉例(2) 有等待狀態(tài)的有等待狀態(tài)的grantgrant6262仲裁舉例(3

21、) burstburst傳輸之后移交總線傳輸之后移交總線6363總線主設備grant信號arbiter6464幾點說明對于固定長度的對于固定長度的burstburst傳輸,不必持續(xù)請求總線傳輸,不必持續(xù)請求總線對于未定義長度的對于未定義長度的burstburst傳輸,主設備應該持續(xù)傳輸,主設備應該持續(xù)送出送出requestrequest信號,直到開始最后一次傳輸。信號,直到開始最后一次傳輸。如果沒有主設備請求總線,則給缺省主設備如果沒有主設備請求總線,則給缺省主設備grantgrant信號,且信號,且htrans=idlehtrans=idle建議主設備在鎖定總線傳輸結(jié)束之后插入建議主設備在鎖

22、定總線傳輸結(jié)束之后插入idleidle傳傳輸,以重新仲裁優(yōu)先級。輸,以重新仲裁優(yōu)先級。6565split傳輸過程由主設備開始傳輸。由主設備開始傳輸。如果從設備需要多個周期才能獲取數(shù)據(jù),則從設如果從設備需要多個周期才能獲取數(shù)據(jù),則從設備給出一個備給出一個splitsplit傳輸響應。從設備記錄主設備號:傳輸響應。從設備記錄主設備號:hmasterhmaster。接著仲裁器改變主設備的優(yōu)先級。接著仲裁器改變主設備的優(yōu)先級。仲裁器仲裁器grantgrant其他的主設備,總線主設備移交。其他的主設備,總線主設備移交。當從設備準備結(jié)束本次傳輸,將設置給仲裁器的當從設備準備結(jié)束本次傳輸,將設置給仲裁器的h

23、splitxhsplitx信號的相應位。信號的相應位。仲裁器恢復優(yōu)先級仲裁器恢復優(yōu)先級仲裁器仲裁器grantgrant主設備,這樣主設備可以重新開始傳主設備,這樣主設備可以重新開始傳輸。輸。結(jié)束結(jié)束6666防止deadlock當多個不同的主設備試圖訪問同一個從設備,這當多個不同的主設備試圖訪問同一個從設備,這個從設備發(fā)出了個從設備發(fā)出了splitsplit或或retryretry信號,這是很可能信號,這是很可能發(fā)生發(fā)生deadlockdeadlock從設備最多可以接收系統(tǒng)中從設備最多可以接收系統(tǒng)中1616個主設備的請求。個主設備的請求。只需要記錄主設備號(忽略地址和控制信號)只需要記錄主設備號

24、(忽略地址和控制信號)給出給出retryretry響應的從設備在某一時刻只能由一個響應的從設備在某一時刻只能由一個主設備訪問。主設備訪問。 可以使用一些硬件保護機制,比如可以使用一些硬件保護機制,比如errorerror6767ahb主設備接口6868ahb從設備接口6969ahb arbiter7070ahb decoder7171typical multi-layer examplemaster 0on-chiprammaster 1externalmemoryi/fdmaslaveslave muxslave muxuarttimergpioahb2apb master 0 can ac

25、cess private ram, apb and external interface master 1 can access dma slave, apb and external interfaceparallel access improves system bandwidth7272ahb-litesubset of ahb functionalitysubset of ahb functionalitysingle master no need for hbusreq & hgrantsimple slavesno retry or split responses stan

26、dard ahb modules can be usedstandard ahb modules can be usedallows easier module design/debugallows easier module design/debugmaster 0slave#1slave#2slave#3slave#47373ahb總結(jié)主要組成部分主要組成部分 mastermaster、slavesslaves、arbiterarbiter、decoderdecoder傳輸?shù)倪^程傳輸?shù)倪^程 流水線機制流水線機制 address phaseaddress phase和和data phased

27、ata phase如何提高性能如何提高性能 burst read/writeburst read/write仲裁機制仲裁機制 總線控制權(quán)的移交總線控制權(quán)的移交7474ahb總結(jié)(續(xù)) slaveslave短時間內(nèi)無法響應短時間內(nèi)無法響應 hreadyhready信號拉低信號拉低 slaveslave長時間內(nèi)無法響應長時間內(nèi)無法響應 插入插入split/retrysplit/retry mastermaster不能進行傳輸不能進行傳輸 插入插入busybusy7575ahb的應用建議 arbiterarbiter的優(yōu)先級可以配置的優(yōu)先級可以配置 slaveslave長時間不能響應的話,一般不支持

28、長時間不能響應的話,一般不支持splitsplit響應,使用響應,使用retryretry響應響應 總線上如果只有一個總線上如果只有一個mastermaster的話,可以使用的話,可以使用ahb liteahb lite協(xié)議,不用協(xié)議,不用arbiterarbiter 設計一個新的設計一個新的ipip時,要仔細核對時,要仔細核對ambaamba的的featurefeature和和ipip所支持的所支持的featurefeature是否匹配。是否匹配。7676實現(xiàn) 如果設計中既有主設備端口又有從設備端口如果設計中既有主設備端口又有從設備端口 通過主設備端口讀通過主設備端口讀/ /寫數(shù)據(jù)寫數(shù)據(jù) 通

29、過從設備端口配置寄存器等通過從設備端口配置寄存器等 如處理器設置的一些參數(shù)如處理器設置的一些參數(shù)7777目錄 amba總線概述 ahb apb 不同ip之間的互連7878apb信號7979apb信號(續(xù)) paddr31:0paddr31:0 地址總線,由設備總線的地址總線,由設備總線的bridgebridge單元驅(qū)動單元驅(qū)動 pselxpselx 從譯碼器來的信號,到每一個總線從設備從譯碼器來的信號,到每一個總線從設備x x penablepenable 用于在設備總線上把所有訪問按時間階段進行用于在設備總線上把所有訪問按時間階段進行 pwritepwrite 高電平:寫高電平:寫 低電平:

30、讀低電平:讀 prdataprdata和和pwdatapwdata 最多最多3232位寬位寬8080address decoding stagesslave 3(apb)slave 1(ebi)slave 2(sram)0 xcfff_ffff0 xc000_00000 x5000_ffff0 x5000_00000 x3fff_ffff0 x0000_0000peripheral 3(uart)peripheral 1(int cont)peripheral 2(timers)0 xc3ff_ffff0 xc300_00000 xc2ff_ffff0 xc100_00000 xc000_ff

31、ff0 xc000_0000apbmemory maptimer 2timer 10 xc2ff_ffff0 xc200_00000 xc1ff_ffff0 xc100_0000ahb decoderhselapbpseltimapb bridgetimersahbmemory maptimersmemory map8181apb interconnectahb2apbbridgeapbmasterpaddrhclkpsel#1pwritepsel#2psel#3pclkhaddrhwriteperipheral #1peripheral #3peripheral #2penablepwdat

32、aprdatahrdatahselhwdataahbapb8282寫傳輸8383讀傳輸8484bridgehow to translate ahb pipelined timing to 2-cycle apb timing?8585bridge fsmahb transfer8686apb slave8787apb到ahb的接口讀8888目錄 amba總線概述 ahb apb 不同ip之間的互連8989通信方式 cpu (master) cpu (master) ip (slave) ip (slave) ip (master) ip (slave)ip (master) ip (slave) 9090memory mapped io 每一個從設備都占用系統(tǒng)中的一段地址空間每一個從設備都占用系統(tǒng)中的一段地址空間 所有的從設備都是可尋址的所有的從設備都是可尋址的 寄存器寄存器/ /存儲器都是內(nèi)存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論