AHB總線規(guī)范詳解_第1頁
AHB總線規(guī)范詳解_第2頁
AHB總線規(guī)范詳解_第3頁
AHB總線規(guī)范詳解_第4頁
AHB總線規(guī)范詳解_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、AHB總線規(guī)范讀書筆記中國科學院微電子研究所韓健TOC o 1-5 h z序1 HYPERLINK l bookmark01、概述1 HYPERLINK l bookmark22、命名規(guī)則1 HYPERLINK l bookmark43、總線結構2 HYPERLINK l bookmark64、信號定義3 HYPERLINK l bookmark85、總線操作概述5 HYPERLINK l bookmark106、基本傳輸57、控制信號77.1、傳輸類型7 HYPERLINK l bookmark227.2、Burst傳輸87.3、傳輸方向97.4、傳輸大小97.5、保護控制10 HYPERL

2、INK l bookmark468、地址譯碼109、響應信號11 HYPERLINK l bookmark489.1、傳輸完成11 HYPERLINK l bookmark509.2、傳輸響應11 HYPERLINK l bookmark5210、仲裁12 HYPERLINK l bookmark5411、AHB組件13 HYPERLINK l bookmark5611.1、slave13 HYPERLINK l bookmark5811.2、master14 HYPERLINK l bookmark6411.3、arbiter16 HYPERLINK l bookmark8211.4、dec

3、oder17 HYPERLINK l bookmark8412、其他18 AHB總線規(guī)范是AMBA總線規(guī)范的一部分。AMBA總線規(guī)范是ARM公司提出的總線規(guī)范,被大多數(shù)SoC設計采用,它規(guī)定了AHB(AdvancedHigh-performanceBus)ASB(AdvancedSystemBus)APB(AdvancedPeripheralBus)。AHB用于高性能、高時鐘頻率的系統(tǒng)結構,典型的應用如ARM核與系統(tǒng)內(nèi)部的高速RAM,NandFlash,DMA,Bridge的鏈接。APB用于連接外部設備,對性能要求不高,而考慮低功耗問題。ASB是AHB的一種替代方案,沒有關注過它的使用,也沒有

4、見過其實際使用范例。因項目需要,閱讀AHB總線規(guī)范,并做讀書筆記。下面主要介紹AHB規(guī)范(AMBASpecificationRev2.0),預計今后加入APB協(xié)議部分。1、概述AHB總線規(guī)范被用來作為SoC設計的內(nèi)部高速總線,掛載高速設備,如圖一所示。bursttransferssplittransactionssinglecyclebusmasterhandoversingleclockedgeoperationnon-tristateimplementationwiderdatabusconfigurations(64/128bits).2、命名規(guī)則H:以H開頭代表AHB總線定義的信號,以

5、區(qū)別系統(tǒng)設計時的其他信號n:低電平有效。如HRESETn低電平有效的reset信號,也是AHB協(xié)議里唯一的低電平有效信號x:針對某一Master或Slave的信號,如HBUSREQx1為Master1的busrequest信號。3、總線結構AHB總線系統(tǒng)有Master、Slave和Infrastructure構成。Infrastructure由Arbiter,數(shù)據(jù)多路,地址控制多路,譯碼器構成。有需要占用總線的Master向Arbiter提出占用總線請求,Arbiter授權給指定的Master0任一時間周期只有一個Master可以接入總線,對其指定的Slave進行讀寫操作??偩€統(tǒng)一規(guī)劃slav

6、e的地址,譯碼器根據(jù)地址選擇哪個slave與master進行數(shù)據(jù)通信。授權訪問機制通過多路選擇器實現(xiàn):Arbiter將獲得授權的master序號傳輸給地址和寫數(shù)據(jù)多路,以選擇哪個master接入總線;地址譯碼器根據(jù)master需要訪問的地址選擇master,并為寫數(shù)據(jù)多路提供控制信號以選通相應的slave。下圖取自ARMSpecificationp3-4,顯示了三個Master,四個Slave的連接。 4、信號定義總線上傳輸?shù)男盘柣究梢苑譃闀r鐘復位信號、地址信號、控制信號、讀寫數(shù)據(jù)信號申請信號、授權信號、反饋信號。表一列出了AHB總線的信號名稱,用途等信息:表一、AHB信號 # #NameS

7、ourceToDescription # #HBUSREQxMasterArbiterHCLKClocksource各個moduleBusclockHRESETnReset各個moduleResetcontrollerHADDR31:0MasterdecoderAddressbusmuxtoSlavearbiterHTRANS1:0MastermuxtoSlaveTransfertypeHWRITEMastermuxtoSlaveTransferdirectionHSIZE2:0MastermuxtoSlaveTransfersizeHBURST2:0MastermuxtoSlaveBurst

8、typeArbiterHPROT3:0MastermuxtoSlaveProtectioncontrolHWDATA31:0MastermuxtoSlaveWritedatabusClocksource.上升沿采樣Resetsignal.低電平有效32-bitsystemaddressbus.Indicatesthetypeofthecurrenttransfer,whichcanbeNONSEQUENTIAL,SEQUENTIAL,IDLEorBUSYWhenHIGHthissignalindicatesawriteandwhenLOWareadtransferIndicatesthesiz

9、eofthetransfer,whichistypicallybyte(8-bit),halfword(16-bit)orword(32-bit).Theprotocolallowsforlargertransfersizesuptoamaximumof1024bits.MasterIndicatesifthetransferformspartofaburst.Four,eightandsixteenbeatburstsaresupportedandtheburstmaybeeitherincrementingorwrapping.保護機制需要slave帶有保護功能(規(guī)范的slave接口結構圖

10、沒有HPROT信號)Thewritedatabusisusedtotransferdatafromthemastertothebusslavesduringwriteoperations.Aminimumdatabuswidthof32bitsisrecommended.However,thismayeasilybeextendedtoallowforhigherbandwidthoperation.Asignalfrombusmasterxtothebusarbiterwhich # BusrequestHLOCKxLockedtransfersHRDATA31:0ReaddatabusMa

11、sterArbiterSlavemuxtoMasterHREADYTransferdoneSlavemuxtoMasterArbiterHRESP1:0TransferresponseSlavemuxtoMasterArbiterHSPLITx15:0SplitcompletionrequestHSELxSlaveselectSlaveArbiterDecoderSlaveHGRANTxBusgrantArbiterMasterindicatesthatthebusmasterrequiresthebus.ThereisanHBUSREQxsignalforeachbusmasterinthe

12、system,uptoamaximumof16busmasters.WhenHIGHthissignalindicatesthatthemasterrequireslockedaccesstothebusandnoothermastershouldbegrantedthebusuntilthissignalisLOW.Thereaddatabusisusedtotransferdatafrombusslavestothebusmasterduringreadoperations.Aminimumdatabuswidthof32bitsisrecommended.However,thismaye

13、asilybeextendedtoallowforhigherbandwidthoperation.WhenHIGHtheHREADYsignalindicatesthatatransferhasfinishedonthebus.ThissignalmaybedrivenLOWtoextendatransfer.Note:SlavesonthebusrequireHREADYasbothaninputandanoutputsignal.Thetransferresponseprovidesadditionalinformationonthestatusofatransfer.Fourdiffe

14、rentresponsesareprovided,OKAY,ERROR,RETRYandSPLIT.This16-bitsplitbusisusedbyaslavetoindicatetothearbiterwhichbusmastersshouldbeallowedtore-attemptasplittransaction.Eachbitofthissplitbuscorrespondstoasinglebusmaster.EachAHBslavehasitsownslaveselectsignalandthissignalindicatesthatthecurrenttransferisi

15、ntendedfortheselectedslave.Thissignalissimplyacombinatorialdecodeoftheaddressbus.Thissignalindicatesthatbusmasterxiscurrentlythehighestprioritymaster.Ownershipoftheddress/controlsignalschangesattheendofatransferwhenHREADYisHIGH,soamastergetsaccesstothebuswhenbothHREADYandHGRANTxareHIGH.HMASTER3:0Mas

16、ternumberThesesignalsfromthearbiterindicatewhichbusmasterArbiter具有SPLIT功能的iscurrentlyperformingatransferandisusedbytheSlaveslaveswhichsupportSPLITtransferstodeterminewhichmasterisattemptinganaccess.ThetimingofHMASTERisalignedwiththetimingoftheaddressandcontrolsignals. HMASTLOCKLockedsequenceArbiter具

17、有SPLIT功能的SlaveIndicatesthatthecurrentmasterisperformingalockedsequenceoftransfers.ThissignalhasthesametimingastheHMASTERsignal. # 5、總線操作概述Master必須獲得授權接入總線,才可以進行AHB傳輸。這一過程開始于總線向arbiter發(fā)出請求信號,然后arbiter決定哪個master可以獲得授權接入總線。獲得授權的總線開始AHB傳輸,首先發(fā)出地址和控制信號。這些信號提供地址信息、傳輸方向和帶寬以及burst類型。根據(jù)地址和控制信號確定master與哪個slave

18、鏈接,進行數(shù)據(jù)傳輸,數(shù)據(jù)傳輸通過數(shù)據(jù)總線完成。為避免出現(xiàn)三態(tài)總線,AHB將讀寫總線分開,寫數(shù)據(jù)總線用于從master到slave的數(shù)據(jù)傳輸,讀數(shù)據(jù)總線用于從slave到master的數(shù)據(jù)傳輸。每比傳輸包括一個地址和控制周期,一個或多個數(shù)據(jù)周期。地址控制周期不能被擴展,因此slave必須在一個周期采樣地址信號。數(shù)據(jù)周期可以通過HREADY信號擴展。但HREADY為低時給傳輸加入一個等待狀態(tài)以使slave獲得額外的時間來提供或采樣數(shù)據(jù)。另外slave通過響應信號HRESP反映傳輸狀態(tài)。一般情況下master完成的完整的burst傳輸,arbiter才會授權給其他的master接入總線。然而為避免過

19、大的判決延遲,aibiter也可能打斷burst傳輸。在這種情況下master必須請求再次接入總線以進行中斷的burst的剩余部分的傳輸。6、基本傳輸一筆傳輸由如下兩部分組成:地址段,一個周期數(shù)據(jù)段,一個或多個周期,可以由HREADY發(fā)出請求延長一個周期圖三顯示了一筆沒有等待狀態(tài)的簡單的傳輸:HCLK上升沿master驅動地址和控制信號HCLK下一周期上升沿slave采樣地址和控制信息獲得地址和控制信息后,slave發(fā)出相應的放映信息,在第三個時鐘上升沿被master采樣,同時slave完成數(shù)據(jù)的讀寫操作。這個簡單的傳輸例子顯示地址和數(shù)據(jù)傳輸發(fā)生在不同的周期。事實上,與這筆傳輸?shù)牡刂范蝹鬏數(shù)耐?/p>

20、時發(fā)生的是上一筆傳輸?shù)臄?shù)據(jù)段傳輸。這種地址與數(shù)據(jù)的交疊是總線流水線的特征,允許高速傳輸,并為slave響應一筆傳輸留出充裕的時間。圖四顯示了帶有等待狀態(tài)的傳輸。寫數(shù)據(jù)操作master必須在擴展的周期內(nèi)保持總線上的數(shù)據(jù)穩(wěn)定,而讀數(shù)據(jù)操作則只需slave在傳輸完成前的一個周期提供有效的數(shù)據(jù)。擴展數(shù)據(jù)周期的一個付效應是必須延長相應的下一筆傳輸?shù)牡刂分芷?。圖五顯示了三筆不相關的傳輸。傳輸A、C為零等待傳輸,傳輸B加入了一個等待周期,因此相應的傳輸C的地址周期要進行擴展。 圖四、加入等待狀態(tài)的傳輸定義。HTRANS1:0TypeDescription00IDLEIndicatesthatnodatatr

21、ansferisrequired.TheIDLEtransfertypeisusedwhenabusmasterisgrantedthebus,butdoesnotwishtoperformadatatransfer.SlavesmustalwaysprovideazerowaitstateOKAYresponsetoIDLEtransfersandthetransfershouldbeignoredbytheslave.01BUSYTheBUSYtransfertypeallowsbusmasterstoinsertIDLEcyclesinthemiddleoftransfers.Thist

22、ransfertypeindicatesthatthebusmasteriscontinuingwithaburstoftransfers,butthenexttransfercannottakeplaceimmediately.WhenamasterusestheBUSYtransfertypetheaddressandcontrolsignalsmustreflectthenexttransferintheburst.Thetransfershouldbeignoredbytheslave.SlavesmustalwaysprovideazerowaitstateOKAYresponse,

23、inthesamewaythattheyrespondtoIDLEtransfers.10NONSEQIndicatesthefirsttransferofaburstorasingletransfer.Theaddressandcontrolsignalsareunrelatedtotheprevioustransfer.SingletransfersonthebusaretreatedasburstsofoneandthereforethetransfertypeisNONSEQUENTIAL.11SEQTheremainingtransfersinaburstareSEQUENTIALa

24、ndtheaddressisrelatedtotheprevioustransfer.Thecontrolinformationisidenticaltotheprevioustransfer.Theaddressisequaltotheaddressoftheprevioustransferplusthesize(inbytes).Inthecaseofawrappingbursttheaddressofthetransferwrapsattheaddressboundaryequaltothesize(inbytes)multipliedbythenumberofbeatsinthetra

25、nsfer(either4,8or16).圖六顯示了含有不同傳輸類型的傳輸。Burst的第一筆傳輸為NONSEQ;下一周期master不能及時提供傳輸數(shù)據(jù),因此為BUSY以延遲下一筆傳輸;第三筆傳輸master立即發(fā)出但是slave沒有準備好,因此使用HREADY加入一個等待狀態(tài);第四筆傳輸不用等待直接完成。HCLKHTRANS1:0NONSEQHADDR31:0HBURST2:0HWDA1A31:O7.2、Burst傳輸BUSYSEQSEQZ7議支持increme16behW傳輸,以及未定義長度VVVData圖六、傳輸類型實例沏INCRData(0 x24)AHB協(xié)議規(guī)定了4、8、trans

26、fer即為burst的長度AHB協(xié)沒有邊界;wrap將地址劃分為傳輸burst長度的邊界,超過邊界部分折返回邊界開始處。如傳輸一筆wrap4的burst,字長為4byte,第一筆傳輸?shù)牡刂窞? x34,會在16byte繞回,因此4筆傳輸?shù)牡刂窞? x34,0 x38,傳輸。其中beat數(shù)nting和wrapbUrst,incrementing為遞增的70 x3c,0 x30。表三為Burst信號編碼說明。 # #表三、Burst信號編碼HBURST2:0TypeDescription000SINGLESingletransfer001INCRIncrementingburstofunspeci

27、fiedlength010WRAP44-beatwrappingburst011INCR44-beatincrementingburst HTRANS1:0HADDR31:0HBURST2:0HWDATA31:0當HWRITE信號為高時,進行寫數(shù)據(jù)傳輸,master向數(shù)據(jù)總線寫數(shù)據(jù);當HWRITE信號為低時,進行讀數(shù)據(jù)操作,slave產(chǎn)生讀數(shù)據(jù)驅動讀數(shù)據(jù)總線。101INCR88-beatincrementingburst110WRAP1616-beatwrappingburst111INCR1616-beatincrementingburst100WRAP88-beatwrappingburs

28、tBurst不能超過1K地址邊界,注意未指定長度的incrementingburst不能超過這一地址邊界。圖七顯示了一筆類型為WRAP4的burst傳輸,第一筆傳輸加入一個等待狀態(tài)。HWRITEHSIZE2:0HPROT3:0HREADY73、傳輸方向HRDATA31:07.4、傳輸大小HSIZE信號指定了傳輸大小,從8bits至到1024bits,它與HBURST共同決定wrappingburst的地址邊界。表四給出具體編碼信息。l0表四、Size編碼HSIZE2HSIZElHSIZE0SizeDescription0008bitsByte00ll6bitsHalfword0l032bits

29、Word0ll64bits-l00l28bits4-wordlinel0l256bits8-wordlinell05l2bits-llll024bits7.5、保護控制保護控制信號HPROT3:0為總線接入提供附加信息,用來為需要的模塊提供一定級別的保護。保護控制信號指定傳輸是讀取操作碼或數(shù)據(jù),特權模式或用戶模式。不是所有的master都能夠產(chǎn)生精確的保護信息,因此規(guī)范建議如非必須slave不要使用HPROT信號,故在此不過多介紹此信號。8、地址譯碼地址譯碼器用于為總線上的每個slave提供選擇信號HSELx。選擇信號是通過組合邏輯對地址碼譯碼產(chǎn)生的,規(guī)范建議避免復雜的譯碼邏輯以保證高速操作。

30、只在當前的數(shù)據(jù)傳輸完成后(HREADY為高),slave才會采樣地址和控制信號以及HSELx。在一定條件下可能出現(xiàn)這樣的情況:產(chǎn)生HSELx信號而HREADY為低,在完成當前傳輸后slave會改變。每個slave最小的地址空間為lkB,所有的master的burst傳輸?shù)纳舷抟彩莑kB,如此設計保證了不會出現(xiàn)地址越界問題。當一個設計不會用到所有的地址空間時,可能出現(xiàn)訪問到一個不存在的地址的情況,這就需要增加一個附加的默認slave來為上面的情況提供一個響應。當SEQ或NONSEQ傳輸訪問到一個不存在的地址,默認slave應該提供ERROR響應;當IDLE或BUSY傳輸訪問到一個不存在的地址,默

31、認slave會提供OKAY響應。地址譯碼器會帶有實現(xiàn)默認slave的功能。圖八顯示典型的地址譯碼系統(tǒng)和選擇信號。 Master發(fā)起一筆傳輸后,slave可以決定這筆傳輸?shù)倪M程;而master不能取消已經(jīng)發(fā)出的傳輸。Slave通過HREADY信號反映傳輸是否完成,通過HRESP1:O放映傳輸?shù)臓顟B(tài)。Slave可以如下方式完成一筆傳輸:立即完成一筆傳輸延遲一個或幾個周期完成chuansh傳輸失敗返回error延遲傳輸,釋放總線9.1、傳輸完成HREADY信號用于延長數(shù)據(jù)部分傳輸:HREADY為高時傳輸完成;HREADY為低時,傳輸需要延遲。9.2、傳輸響應HRESP1:0信號有OKAY,ERROR

32、,RETRY,SPLIT四種狀態(tài)。一筆成功的傳輸完成時的響應為HREADY為高,HRESP為OKAY。ERROR用來指示傳輸出現(xiàn)問題,如向一個只讀存儲器寫數(shù)據(jù)。RETRY和SPLIT用來延遲傳輸釋放總線資源。10、仲裁仲裁機制保證了任意時刻只有一個master可以接入總線。Arbiter決定哪個向其發(fā)出接入請求的master可以接入總線,這通過優(yōu)先級算法實現(xiàn)。AHB規(guī)范并沒有給出優(yōu)先級算法,設計者需要根據(jù)具體的系統(tǒng)要求定義。一般情況下arbiter不會中斷一個burst傳輸,將總線接入權讓給其他master。當然未定義長度的burst傳輸是可以打斷的。這都要看優(yōu)先級算法是如何規(guī)定的。如果一筆b

33、urst被打斷,master再度獲得接入權限是,會傳遞剩余的部分。如一筆長度為INCR8的傳輸在傳遞3beat后被打斷,master再次獲得接入授權后,會繼續(xù)傳輸剩余的5beat,剩余部分可以由一個SINGLE和一個INCR4組成,或者是一個INCR。用于仲裁的信號有:HBUSREQx:master向arbiter發(fā)出接入請求的信號。HLOCKx:指示是否要進行不可中斷的傳輸。這一信號與HBURSEQx同時由master向arbiter發(fā)出。HGRANTx:arbiter產(chǎn)生指示master獲得授權。當HGRANTx信號為高同時HREADY為高時,master可以向總線傳輸?shù)刂沸盘枴MAST

34、ER3:0:arbiter產(chǎn)生指示那個master獲得授權。這一信號用于地址控制多路來選擇哪個master接入總線。HMASTERLOCK:arbiter產(chǎn)生指示當前傳輸是否為鎖定序列傳輸。HSPLIT:供支持SPLIT傳輸使用。圖九顯示了零等待周期,HREADY為高時的判決情況。第一個周期master發(fā)出總線接入請求,第二個周期arbiter做出判決,第三個周期arbiter發(fā)出授權信號,第四周期master開始傳遞地址。11、AHB組件AHB組件主要由slave,master,arbiter和decoder構成,下面分別對其接口圖和時序圖做出介紹,先介紹一下時序的命名規(guī)則。Tis:輸入建立

35、時間Tih:輸入保持時間Tov:輸出有效時間Toh:輸出保持時間11.1、slave圖十和圖十一分別為slave的接口和時序圖。SelectHSELxAddressandcontrolHWRITEHADDR31:0HTRANSM:01HSIZE2:S-HBURST01DataResetHRESETnHWDATA31:0ClockHCLKHMASTER叫HMASTLQCK圖十、siaHREADYHRESPH:D1HSPLITxri5:01.ve接口圖TransferresponseHRDATA31:0Data HCLKHTRANS1:0HADDR31:0HWRITEHSIZE2:DHBURST2:0HWDATA31:0HREADYHSELxTbvrsp-HRESP1:0OKAYi # #圖十一、slave時序圖11.2、master圖十二和圖十三分別為master的接口圖和時序圖,圖十四為master授權請求時序圖。 Data圖十二、master接口圖HTRANSHmHSI疋E說:mHBU艮ST(

溫馨提示

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

評論

0/150

提交評論