![AHB总线规范详解_第1页](http://file4.renrendoc.com/view/4ce6bc4bcccf2460d9f4878d6557212f/4ce6bc4bcccf2460d9f4878d6557212f1.gif)
![AHB总线规范详解_第2页](http://file4.renrendoc.com/view/4ce6bc4bcccf2460d9f4878d6557212f/4ce6bc4bcccf2460d9f4878d6557212f2.gif)
![AHB总线规范详解_第3页](http://file4.renrendoc.com/view/4ce6bc4bcccf2460d9f4878d6557212f/4ce6bc4bcccf2460d9f4878d6557212f3.gif)
![AHB总线规范详解_第4页](http://file4.renrendoc.com/view/4ce6bc4bcccf2460d9f4878d6557212f/4ce6bc4bcccf2460d9f4878d6557212f4.gif)
![AHB总线规范详解_第5页](http://file4.renrendoc.com/view/4ce6bc4bcccf2460d9f4878d6557212f/4ce6bc4bcccf2460d9f4878d6557212f5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、AHB总线规范读书笔记中国科学院微电子研究所韩健TOC o 1-5 h z序1 HYPERLINK l bookmark01、概述1 HYPERLINK l bookmark22、命名规则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总线规范是AMBA总线规范的一部分。AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB(AdvancedHigh-performanceBus)ASB(AdvancedSystemBus)APB(AdvancedPeripheralBus)。AHB用于高性能、高时钟频率的系统结构,典型的应用如ARM核与系统内部的高速RAM,NandFlash,DMA,Bridge的链接。APB用于连接外部设备,对性能要求不高,而考虑低功耗问题。ASB是AHB的一种替代方案,没有关注过它的使用,也没有
4、见过其实际使用范例。因项目需要,阅读AHB总线规范,并做读书笔记。下面主要介绍AHB规范(AMBASpecificationRev2.0),预计今后加入APB协议部分。1、概述AHB总线规范被用来作为SoC设计的内部高速总线,挂载高速设备,如图一所示。bursttransferssplittransactionssinglecyclebusmasterhandoversingleclockedgeoperationnon-tristateimplementationwiderdatabusconfigurations(64/128bits).2、命名规则H:以H开头代表AHB总线定义的信号,以
5、区别系统设计时的其他信号n:低电平有效。如HRESETn低电平有效的reset信号,也是AHB协议里唯一的低电平有效信号x:针对某一Master或Slave的信号,如HBUSREQx1为Master1的busrequest信号。3、总线结构AHB总线系统有Master、Slave和Infrastructure构成。Infrastructure由Arbiter,数据多路,地址控制多路,译码器构成。有需要占用总线的Master向Arbiter提出占用总线请求,Arbiter授权给指定的Master0任一时间周期只有一个Master可以接入总线,对其指定的Slave进行读写操作。总线统一规划slav
6、e的地址,译码器根据地址选择哪个slave与master进行数据通信。授权访问机制通过多路选择器实现:Arbiter将获得授权的master序号传输给地址和写数据多路,以选择哪个master接入总线;地址译码器根据master需要访问的地址选择master,并为写数据多路提供控制信号以选通相应的slave。下图取自ARMSpecificationp3-4,显示了三个Master,四个Slave的连接。 4、信号定义总线上传输的信号基本可以分为时钟复位信号、地址信号、控制信号、读写数据信号申请信号、授权信号、反馈信号。表一列出了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带有保护功能(规范的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发出请求信号,然后arbiter决定哪个master可以获得授权接入总线。获得授权的总线开始AHB传输,首先发出地址和控制信号。这些信号提供地址信息、传输方向和带宽以及burst类型。根据地址和控制信号确定master与哪个slave
18、链接,进行数据传输,数据传输通过数据总线完成。为避免出现三态总线,AHB将读写总线分开,写数据总线用于从master到slave的数据传输,读数据总线用于从slave到master的数据传输。每比传输包括一个地址和控制周期,一个或多个数据周期。地址控制周期不能被扩展,因此slave必须在一个周期采样地址信号。数据周期可以通过HREADY信号扩展。但HREADY为低时给传输加入一个等待状态以使slave获得额外的时间来提供或采样数据。另外slave通过响应信号HRESP反映传输状态。一般情况下master完成的完整的burst传输,arbiter才会授权给其他的master接入总线。然而为避免过
19、大的判决延迟,aibiter也可能打断burst传输。在这种情况下master必须请求再次接入总线以进行中断的burst的剩余部分的传输。6、基本传输一笔传输由如下两部分组成:地址段,一个周期数据段,一个或多个周期,可以由HREADY发出请求延长一个周期图三显示了一笔没有等待状态的简单的传输:HCLK上升沿master驱动地址和控制信号HCLK下一周期上升沿slave采样地址和控制信息获得地址和控制信息后,slave发出相应的放映信息,在第三个时钟上升沿被master采样,同时slave完成数据的读写操作。这个简单的传输例子显示地址和数据传输发生在不同的周期。事实上,与这笔传输的地址段传输的同
20、时发生的是上一笔传输的数据段传输。这种地址与数据的交叠是总线流水线的特征,允许高速传输,并为slave响应一笔传输留出充裕的时间。图四显示了带有等待状态的传输。写数据操作master必须在扩展的周期内保持总线上的数据稳定,而读数据操作则只需slave在传输完成前的一个周期提供有效的数据。扩展数据周期的一个付效应是必须延长相应的下一笔传输的地址周期。图五显示了三笔不相关的传输。传输A、C为零等待传输,传输B加入了一个等待周期,因此相应的传输C的地址周期要进行扩展。 图四、加入等待状态的传输定义。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不能及时提供传输数据,因此为BUSY以延迟下一笔传输;第三笔传输master立即发出但是slave没有准备好,因此使用HREADY加入一个等待状态;第四笔传输不用等待直接完成。HCLKHTRANS1:0NONSEQHADDR31:0HBURST2:0HWDA1A31:O7.2、Burst传输BUSYSEQSEQZ7议支持increme16behW传输,以及未定义长度VVVData图六、传输类型实例沏INCRData(0 x24)AHB协议规定了4、8、trans
26、fer即为burst的长度AHB协没有边界;wrap将地址划分为传输burst长度的边界,超过边界部分折返回边界开始处。如传输一笔wrap4的burst,字长为4byte,第一笔传输的地址为0 x34,会在16byte绕回,因此4笔传输的地址为0 x34,0 x38,传输。其中beat数nting和wrapbUrst,incrementing为递增的70 x3c,0 x30。表三为Burst信号编码说明。 # #表三、Burst信号编码HBURST2:0TypeDescription000SINGLESingletransfer001INCRIncrementingburstofunspeci
27、fiedlength010WRAP44-beatwrappingburst011INCR44-beatincrementingburst HTRANS1:0HADDR31:0HBURST2:0HWDATA31:0当HWRITE信号为高时,进行写数据传输,master向数据总线写数据;当HWRITE信号为低时,进行读数据操作,slave产生读数据驱动读数据总线。101INCR88-beatincrementingburst110WRAP1616-beatwrappingburst111INCR1616-beatincrementingburst100WRAP88-beatwrappingburs
28、tBurst不能超过1K地址边界,注意未指定长度的incrementingburst不能超过这一地址边界。图七显示了一笔类型为WRAP4的burst传输,第一笔传输加入一个等待状态。HWRITEHSIZE2:0HPROT3:0HREADY73、传输方向HRDATA31:07.4、传输大小HSIZE信号指定了传输大小,从8bits至到1024bits,它与HBURST共同决定wrappingburst的地址边界。表四给出具体编码信息。l0表四、Size编码HSIZE2HSIZElHSIZE0SizeDescription0008bitsByte00ll6bitsHalfword0l032bits
29、Word0ll64bits-l00l28bits4-wordlinel0l256bits8-wordlinell05l2bits-llll024bits7.5、保护控制保护控制信号HPROT3:0为总线接入提供附加信息,用来为需要的模块提供一定级别的保护。保护控制信号指定传输是读取操作码或数据,特权模式或用户模式。不是所有的master都能够产生精确的保护信息,因此规范建议如非必须slave不要使用HPROT信号,故在此不过多介绍此信号。8、地址译码地址译码器用于为总线上的每个slave提供选择信号HSELx。选择信号是通过组合逻辑对地址码译码产生的,规范建议避免复杂的译码逻辑以保证高速操作。
30、只在当前的数据传输完成后(HREADY为高),slave才会采样地址和控制信号以及HSELx。在一定条件下可能出现这样的情况:产生HSELx信号而HREADY为低,在完成当前传输后slave会改变。每个slave最小的地址空间为lkB,所有的master的burst传输的上限也是lkB,如此设计保证了不会出现地址越界问题。当一个设计不会用到所有的地址空间时,可能出现访问到一个不存在的地址的情况,这就需要增加一个附加的默认slave来为上面的情况提供一个响应。当SEQ或NONSEQ传输访问到一个不存在的地址,默认slave应该提供ERROR响应;当IDLE或BUSY传输访问到一个不存在的地址,默
31、认slave会提供OKAY响应。地址译码器会带有实现默认slave的功能。图八显示典型的地址译码系统和选择信号。 Master发起一笔传输后,slave可以决定这笔传输的进程;而master不能取消已经发出的传输。Slave通过HREADY信号反映传输是否完成,通过HRESP1:O放映传输的状态。Slave可以如下方式完成一笔传输:立即完成一笔传输延迟一个或几个周期完成chuansh传输失败返回error延迟传输,释放总线9.1、传输完成HREADY信号用于延长数据部分传输:HREADY为高时传输完成;HREADY为低时,传输需要延迟。9.2、传输响应HRESP1:0信号有OKAY,ERROR
32、,RETRY,SPLIT四种状态。一笔成功的传输完成时的响应为HREADY为高,HRESP为OKAY。ERROR用来指示传输出现问题,如向一个只读存储器写数据。RETRY和SPLIT用来延迟传输释放总线资源。10、仲裁仲裁机制保证了任意时刻只有一个master可以接入总线。Arbiter决定哪个向其发出接入请求的master可以接入总线,这通过优先级算法实现。AHB规范并没有给出优先级算法,设计者需要根据具体的系统要求定义。一般情况下arbiter不会中断一个burst传输,将总线接入权让给其他master。当然未定义长度的burst传输是可以打断的。这都要看优先级算法是如何规定的。如果一笔b
33、urst被打断,master再度获得接入权限是,会传递剩余的部分。如一笔长度为INCR8的传输在传递3beat后被打断,master再次获得接入授权后,会继续传输剩余的5beat,剩余部分可以由一个SINGLE和一个INCR4组成,或者是一个INCR。用于仲裁的信号有:HBUSREQx:master向arbiter发出接入请求的信号。HLOCKx:指示是否要进行不可中断的传输。这一信号与HBURSEQx同时由master向arbiter发出。HGRANTx:arbiter产生指示master获得授权。当HGRANTx信号为高同时HREADY为高时,master可以向总线传输地址信号。HMAST
34、ER3:0:arbiter产生指示那个master获得授权。这一信号用于地址控制多路来选择哪个master接入总线。HMASTERLOCK:arbiter产生指示当前传输是否为锁定序列传输。HSPLIT:供支持SPLIT传输使用。图九显示了零等待周期,HREADY为高时的判决情况。第一个周期master发出总线接入请求,第二个周期arbiter做出判决,第三个周期arbiter发出授权信号,第四周期master开始传递地址。11、AHB组件AHB组件主要由slave,master,arbiter和decoder构成,下面分别对其接口图和时序图做出介绍,先介绍一下时序的命名规则。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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度教育培训机构转让居间合同
- 2025年度公共租赁住房租赁服务合同范本
- 2025年度广告灯箱广告品牌合作推广合同
- 2025年度国际贸易租赁合同范文
- 2025年工地刮大白包工合同施工人员培训协议
- 2025年度房地产项目工程追加开发合同
- 2025年度水利工程居间代理合同(标准版)
- 2025年度美食城租赁合同范本之美食街区商业租赁合作协议
- 2025年度广告宣传品制作委托代理合同
- 2025年度商业空间装修设计与施工合同规范
- 2024年西藏中考物理模拟试题及参考答案
- 九型人格与领导力讲义
- 药品经营和使用质量监督管理办法培训试题及答案2023年9月27日国家市场监督管理总局令第84号公布
- 人教版五年级上册数学脱式计算练习200题及答案
- 卵巢黄体囊肿破裂教学查房
- 医院定岗定编
- 计算机网络毕业论文3000字
- 2023年大学物理化学实验报告化学电池温度系数的测定
- 脑出血的护理课件脑出血护理查房PPT
- 煤矿机电运输安全培训课件
- 扣缴个人所得税报告表-(Excel版)
评论
0/150
提交评论