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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、ripheral bus則用來(lái)連接系統(tǒng)的周邊元件,該協(xié)議相對(duì)AHB要簡(jiǎn)單很多。與AHB之間通過(guò)橋接器(Bridge)相連。 一個(gè)典型的AMBA系統(tǒng)如下圖2. AMBA AHB AHB是為了提出高性能可綜合設(shè)計(jì)的要求而產(chǎn)生的新一代AMBA總線(xiàn)。它的一些特性包括單時(shí)鐘沿操作(Single-clock edge operation)非三態(tài)執(zhí)行(Non-tristate implementation)突發(fā)傳輸(Burst transfers)分塊處理(Split transaction)多主機(jī)(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來(lái)仲裁;decoder負(fù)責(zé)位解碼,從multiple slave中選擇要回應(yīng)transfer的slave。 兩個(gè)mux則負(fù)責(zé)bus的routing(以不適用tristate bus)。如下圖 Bus上傳輸?shù)男盘?hào)有七種

6、:clock,arbitration,address,control signal,write data,read data,response signal 除了clock和arbitration之外,其他的信號(hào)都會(huì)經(jīng)過(guò)mux。經(jīng)過(guò)master to slave mux的信號(hào)為:address,control signal,write data經(jīng)過(guò)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可分為兩個(gè)階段:address phase和data phaseaddress phase 傳送 address,control signaldata phase 傳送 wrtie/read data, response signal. 如圖 transfer 在 data phase 時(shí)若無(wú)法在1個(gè)clock cycle內(nèi)完成,slav

10、e可用HREADY信號(hào)延長(zhǎng)transfer。參考下圖,當(dāng)HREADY為L(zhǎng)ow時(shí),表示transfer尚未結(jié)束,為High是則表示transfer結(jié)束。 由于一次transfer需要兩個(gè)phase,為了增加總線(xiàn)的performance,AHB將多次transfer pipeline。 當(dāng)前transfer的data phase與下一次transfer的address phase是重疊的。2.3 Control signal AHB上的control signal分5類(lèi)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時(shí),若master無(wú)法及時(shí)將數(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è)計(jì)時(shí)盡量不使用HPROT信號(hào)2.4 Slave response 在transfer結(jié)束時(shí),slave可以用HRESP1:0告訴master結(jié)束的狀態(tài)。AHB中transfer結(jié)束時(shí)的狀態(tài)可分為4種:OKAY, ERROR, RETRY, SPLIT OKAY表示transfer成功 ERROR表示transfer失敗 RETRY和S

14、PLIT則是用于當(dāng)slave判斷目前的transfer需要很多個(gè)bus cycle才能完成,為了避免當(dāng)前的transfer將bus一直占有,回應(yīng)RETRY/SPLIT response給master,表示說(shuō)目前的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時(shí),bus還是由高優(yōu)先權(quán)的master獲得 SPLIT:當(dāng)arbiter觀察到master收到SPLIT respons

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論