學(xué)習(xí)匯報 AMBA總線協(xié)議_第1頁
學(xué)習(xí)匯報 AMBA總線協(xié)議_第2頁
學(xué)習(xí)匯報 AMBA總線協(xié)議_第3頁
學(xué)習(xí)匯報 AMBA總線協(xié)議_第4頁
學(xué)習(xí)匯報 AMBA總線協(xié)議_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、階段學(xué)習(xí)匯報 AMBA總線協(xié)議XXX目錄 1. AMBA總線簡介 2. AMBA AHB 3. AMBA APB1. AMBA 總線簡介 1.1 AMBA總線概述高級微控制器總線體系(Advanced Microcontroller Bus Architecture)規(guī)范定義了在設(shè)計高性能嵌入式微控制器時的一種片上通信標(biāo)準(zhǔn) 根據(jù)AMBA標(biāo)準(zhǔn)定義了三種不同的總線 高級高性能總線(Advanced High-performance Bus) 高級系統(tǒng)總線(Advanced System Bus) 高級外設(shè)總線(Advanced Peripheral Bus) 1.1.1 高級高性能總線(AHB)

2、用于高性能、高時鐘頻率的系統(tǒng)模塊。 1.1.2 高級系統(tǒng)總線(ASB) 用于高性能的系統(tǒng)模塊之間。在并不要求AHB的高性能特征的地方使用。 1.1.3 高級外設(shè)總線(APB) 用于低功耗外設(shè)。1.2 AMBA規(guī)范的目的 促進帶一個或多個CPU(或信號處理器)的嵌入式微控制器產(chǎn)品的第一時間開發(fā) 技術(shù)上獨立并高復(fù)用度的外設(shè)和系統(tǒng)宏單元能在多樣的在多樣的IC工序之間方便的移植工序之間方便的移植,以及適用于完整定制、標(biāo)準(zhǔn)宏單元和門列陣技術(shù) 鼓勵標(biāo)準(zhǔn)系統(tǒng)設(shè)計以提高處理器的獨立性,提供高級cache CPU的發(fā)展路線圖和外設(shè)庫的發(fā)展 降低硅的下部構(gòu)造要求以支持用在操作和生產(chǎn)測試時有效的片上和片外通信 AM

3、BA是為了推出on-chip bus的規(guī)范,一開始AMBA1.0只有ASB和APB,為了節(jié)省面積,bus協(xié)議都是tristate的bus;到2.0的AHB,為了方便設(shè)計者(tristate bus需要花更多精力注意timing),改用Mux結(jié)構(gòu),并增加了新特性。1.3 基于AMBA的典型微控制器 基于AMBA的微控制器,包含一個高性能系統(tǒng)中樞總線(AHB或ASB)和外設(shè)總線APB。 System bus負(fù)責(zé)連接ARM之類的embedded processor,DMA controller,on-chip memory和其他interface,或其他需要high bandwidth的元件。 Pe

4、ripheral bus則用來連接系統(tǒng)的周邊元件,該協(xié)議相對AHB要簡單很多。與AHB之間通過橋接器(Bridge)相連。 一個典型的AMBA系統(tǒng)如下圖2. AMBA AHB AHB是為了提出高性能可綜合設(shè)計的要求而產(chǎn)生的新一代AMBA總線。它的一些特性包括單時鐘沿操作(Single-clock edge operation)非三態(tài)執(zhí)行(Non-tristate implementation)突發(fā)傳輸(Burst transfers)分塊處理(Split transaction)多主機(Multiple bus master)2.1 概述 AHB System 由Master, Slave,

5、Infrastructure三部分組成。 所有的傳輸(transfer)都是由master發(fā)出,由slave回應(yīng)。 而infrastructure則由arbiter,master to slave mux, slave to master mux, decoder, dummy slave, dummy master組成。 為了支持multiple master,需要arbiter來仲裁;decoder負(fù)責(zé)位解碼,從multiple slave中選擇要回應(yīng)transfer的slave。 兩個mux則負(fù)責(zé)bus的routing(以不適用tristate bus)。如下圖 Bus上傳輸?shù)男盘栍衅叻N

6、:clock,arbitration,address,control signal,write data,read data,response signal 除了clock和arbitration之外,其他的信號都會經(jīng)過mux。經(jīng)過master to slave mux的信號為:address,control signal,write data經(jīng)過slave to master mux的為:read data,response signalNameSourceDescriptionHCLKClock sourceBus clock. All signal timings are related

7、 to the rising edge of HCLKHRESETnReset controllerActive LOW.HADDR31:0Master32-bit system busHTRANS1:0MasterCurrent transfer typeHWRITEMasterH: write. L: readHSIZE2:0MasterSize of transferHBURST2:0MasterIndicate if the transfer forms part of a burstHPROT3:0MasterImplement some level of protectionHWD

8、ATA31:0MasterWrite data busNameSourceDescriptionHSELxDecoderSlave select signalHRDATA31:0SlaveRead data busHREADYSlaveH: transfer done; L: extending transferHRESP1:0SlaveTransfer responseHBUSREQxMasterBus requestHLOCKxMasterLocked transferHGRANTxArbiterBus grant signal HMASTER3:0ArbiterIndicate gran

9、ted master numberHMASTLOCKArbiterLocked sequenceHSPLITx15:0SlaveSplit completion request2.2 Basic transfer 在AHB bus上,一次完整的transfer可分為兩個階段:address phase和data phaseaddress phase 傳送 address,control signaldata phase 傳送 wrtie/read data, response signal. 如圖 transfer 在 data phase 時若無法在1個clock cycle內(nèi)完成,slav

10、e可用HREADY信號延長transfer。參考下圖,當(dāng)HREADY為Low時,表示transfer尚未結(jié)束,為High是則表示transfer結(jié)束。 由于一次transfer需要兩個phase,為了增加總線的performance,AHB將多次transfer pipeline。 當(dāng)前transfer的data phase與下一次transfer的address phase是重疊的。2.3 Control signal AHB上的control signal分5類HTRANS1:0 : Transfer typeHBURST2:0 : Burst typeHPORT3:0 : Protect

11、ion controlHSIZE2:0 : Transfer size HWRITE : Transfer direction2.3.1 Transfer type(HTRANS1:0) IDLE (00) 指示slave忽略目前的transfer BUSY (01) burst transfer時,若master無法及時將數(shù)據(jù)準(zhǔn)備好,發(fā)出BUSY通知slave NONSEQ (10) 指示目前transfer的address和control signal和之前的transfer不一樣 SEQ (11) 指示目前transfer的address和control signal和之前的transf

12、er一樣,通常用在busrt transfer中2.3.2 Burst type(HBURST2:0) AHB支持8種burst type HBURST = 010 (WRAP4) HBURST = 011(INCR4) HBURST = 100(WRAP8) HBURST = 101(INCR8)2.3.3 Transfer direction(HWRITE) HWRTIE = HIGH master在data phase將數(shù)據(jù)置于write data bus HWDATA31:0上,傳輸給slave HWRTIE = LOW slave在data phase將數(shù)據(jù)置于read data b

13、us HRDATA31:0上,傳輸給master 2.3.4 Transfer size(HSIZE2:0)2.3.5 Protection control(HPROT3:0) 讓master提供額外的protection information。 Slave在設(shè)計時盡量不使用HPROT信號2.4 Slave response 在transfer結(jié)束時,slave可以用HRESP1:0告訴master結(jié)束的狀態(tài)。AHB中transfer結(jié)束時的狀態(tài)可分為4種:OKAY, ERROR, RETRY, SPLIT OKAY表示transfer成功 ERROR表示transfer失敗 RETRY和S

14、PLIT則是用于當(dāng)slave判斷目前的transfer需要很多個bus cycle才能完成,為了避免當(dāng)前的transfer將bus一直占有,回應(yīng)RETRY/SPLIT response給master,表示說目前的transfer并未完成,master需要重新發(fā)出相同的transfer再試一次。而arbiter可以將bus釋放給其他有需要的masterRETRY和SPLIT的區(qū)別 RETRY:arbiter內(nèi)master的優(yōu)先權(quán)不變。擁有高優(yōu)先權(quán)的master發(fā)出request時,bus還是由高優(yōu)先權(quán)的master獲得 SPLIT:當(dāng)arbiter觀察到master收到SPLIT respons

15、e時,則該master的優(yōu)先權(quán)mask起來,使其無法獲得bus。若所有master都收到SPLIT,則arbiter把bus交給dummy master(只會發(fā)出IDLE transfer)。當(dāng)發(fā)出SPLIT response的slave處理完transfer之后,會發(fā)出HSPLIT信號給arbiter,將master的優(yōu)先權(quán)unmask。 SPLIT能讓低優(yōu)先權(quán)的master在合理的情況下,取得bus的所有權(quán),讓AHB有更好的設(shè)計。缺點是,是設(shè)計更加復(fù)雜。 4個response中,OKAY需要1個cycle,其他三個response都需要2個cycle。2.5 Arbitration 當(dāng)ma

16、ster想要access bus時,將HBUSREQ置高,arbiter在HHCLK的上升沿采樣各個master的HBUSREQ信號后,將擁有最高優(yōu)先權(quán)的master的HGRANT信號置高,使其能夠access bus。 當(dāng)master正在進行burst transfer,如果有更高優(yōu)先權(quán)的master發(fā)出了request,arbiter可以等待當(dāng)前burst完成后再將bus grant給新的master,也可以中斷當(dāng)前的transfer,將bus交給優(yōu)先級更高的master。被中斷的master需重新發(fā)出request,等到下次被grant bus是繼續(xù)完成burst transfer。 當(dāng)

17、arbiter決定在當(dāng)前burst結(jié)束后,轉(zhuǎn)移bus的所有權(quán),arbiter會在倒數(shù)第二個transfer的address被sample之后,改變HRANT信號,所有新的HGRANT信號會跟最后一個transfer的address一起在同一個時間被sample RETRY/SPLIT response時,其第二個cycle必須是IDLE transfer以便讓arbiter去改變bus owner。下圖介紹HGRANT如何利用IDLE transfer的cycle變化3. AMBA APB APB主要用在連接低帶寬的外設(shè)時。 APB里唯一的master就是APB bridge(與AHB bus

18、相連)。因此,不需要arbiter,以及一些request/grant信號。 特性Always two-cycle transferNo wait cycle & response signal3.1 APB概述 APB上的transfer如下圖中的state diagram一開始為IDLE state,此時沒有transfer,也沒有slave被選擇當(dāng)有transfer要進行時,PSELx=1,PENABLE=0,進入SETUP state,且只停留一個cycle。進入ENABLE state時,之前在SETUP state的PADDR, PSEL, PWRTIE皆保持不變,只有PENABLE被置H。Transfer也只在ENABLE保持一個cycle,若之后沒有其他的transfer則又進入IDLE。NameDescriptionPCLKBus clock.PRESETnAPB reset. Active LOWPADDR31:0APB address busPSELxIndicates that the slave device is selected.PENABLEIndicates the second cycl

溫馨提示

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

評論

0/150

提交評論