AMBA-AHB-APB-概述PPT文档格式.ppt

上传人:b****9 文档编号:13232355 上传时间:2022-10-08 格式:PPT 页数:65 大小:2.49MB
下载 相关 举报
AMBA-AHB-APB-概述PPT文档格式.ppt_第1页
第1页 / 共65页
AMBA-AHB-APB-概述PPT文档格式.ppt_第2页
第2页 / 共65页
AMBA-AHB-APB-概述PPT文档格式.ppt_第3页
第3页 / 共65页
AMBA-AHB-APB-概述PPT文档格式.ppt_第4页
第4页 / 共65页
AMBA-AHB-APB-概述PPT文档格式.ppt_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

AMBA-AHB-APB-概述PPT文档格式.ppt

《AMBA-AHB-APB-概述PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《AMBA-AHB-APB-概述PPT文档格式.ppt(65页珍藏版)》请在冰豆网上搜索。

AMBA-AHB-APB-概述PPT文档格式.ppt

APBAMBA3.0AMBA4.01.0版为了节省面积,Bus协议都为TristateBus(需要花费更多精力注意timing)2.0版本后随技术革新,为方便设计者,Bus改用Multiplexor架构。

AMBA总线体系,一个以AMBA架构的SoC,一般包含高性能的系统总线AHB和低功耗的外设总线APB。

系统总线(AHB)负责连接如嵌入式处理器、DMA控制器、片上存储器和其他外设接口,或者其他需求高带宽的元件。

而外设总线(APB)则用来连接系统周边的外部设备,其协议相对AHB较为简单。

AHB与APB之间通过桥接器(Bridge)互联。

一个典型的AMBA系统,系统中的Master和Slave可按需求替换,AMBAAHB,AHB(AdvancedHigh-performanceBus)高级高性能总线高速、高性能总线Pipeline操作支持多个Master(最多16个)支持Burst传输支持Split传输Non-tristateBus单时钟边沿操作,AMBAAHB,AHBSystem由Master、Slave和Infrastructure构成AHBBus上由Master发起传输,Slave负责响应。

Infrastructure由Arbiter、M2SMultiplexor、S2MMultiplexor、Decoder、DummySlave、DummyMaster组成。

AMBAAHB,AHBSystem支持MultipleMaster,因此需要Arbiter仲裁。

Decoder负责地址译码从MultipleSlave中选择要响应传输的Slave。

为了不使用三态总线(TristateBus),AHB中使用两个Multiplexor负责Bus上的Routing。

AMBAAHB,Bus上传输的信号可分为:

ClockArbitrationAddressControlsignalM2SMultiplexorWritedataReaddataResponsesignal,S2MMultiplexor,AMBAAHB信号,AMBAAHBBUSInterconnection,省略部分信号:

1.Controlsignal(HBURST、HTRANS)2.Master与Arbiter之间的Request/Grant信号3.Decoder与Slave之间的Selection信号4.Controlmux的output与Arbiter之间的信号(HTRANS/HBURST)5.Responsesignal(HREADY/HRESP)6.Arbiter输出的HMASTER,发起一个请求给仲裁器,驱动地址和控制信号,允许某个主设备控制总线,仅选中的从设备响应地址/控制信号,拉高HREADY信号,总线传输完成,AHBTransfer,BasictransferAddressphase传输address和controlsignalDataphase传输write/readdata和responsesignal传输在dataphase时若一个clockcycle无法完成传输,Slave可通过拉低HREADY信号延长传输,传输结束时状态由SlaveHRESP信号反映。

Masterreleaseaddressandcontrol,Slavesampletheaddressandcontrol,Mastersamplethedata,Notready,Notready,Ready,一次transfer需要2phases完成,为了增加Bus传输效率,AHBSystem引入pipeline。

AHB将multipletransfer的addressphase和dataphase重叠在一起。

当前transfer的dataphase与下一次transfer的addressphase重叠当前transfer的dataphase被延长将使下一次transfer的addressphase也跟着延长,AHBTransfer,AAddress,AData,BAddress,BData,CAddress,CData,AHBControlSignal,AHB上的ControlSignal共五类:

HTRANS1:

0:

TransferTypeHBURST2:

BurstTypeHPROT3:

ProtectionControlHSIZE2:

TransferSizeHWRITE:

TransferDirection,HTRANS1:

0,TransferType,由Master发出:

IDLE:

空闲传输,只是Slave忽略目前transfer,用于Master没有数据需要传输时,此时Slave在传输的dataphase以零等待状态OKAY响应主设备占用总线,但没进行传输两次burst传输中间主设备发IDLEBUSY:

在bursttransfer时Master传输连续的数据给Slave,若Master因为某些原因无法将数据即使准备好,此时使用BUSYtransfertype通知Slave,和响应IDLE一样,Slave在传输的dataphase以零等待状态OKAY响应主设备占用总线,但是在burst传输过程中还没有准备好进行下一次传输一次burst传输中间主设备发BUSY,NONSEQ:

非连续传输,当前transfer的address和control信号与前一次传输无关表明一次单个数据的传输或者一次burst传输的第一个数据地址和控制信号与上一次传输无关SEQ:

连续传输,当前transfer的address信号与前一次传输相关,control信号与前一次传输想同,通常用在bursttransfer中。

表明burst传输接下来的数据地址和上一次传输的地址是相关的,HTRANS1:

0,HTRANS1:

0,Thefirsttransfer,Masterisbusy,Thesubsequenttransfer,Slaveisnotready,Bursttype,由Master发出:

Bursttype用来让AHBMaster发出address彼此相关的连续transfer(control信号相同)8种BursttypeIncrementingburst:

每一次transfer的address是前一次transfer的address加上transfersizeWrappingburst:

将存储器分割成transfersizetransferbeat大小的一个个存储区域。

当transferaddress跨越存储边界时,下一次transferaddress将回到块区的起点。

HBURST2:

0,HBURST2:

0,对于固定长度的burst传输,不必持续请求总线;

对于未定义长度的burst传输,master应该持续送出request信号,直到开始最后一次传输;

如果没有master请求总线,则给defaultmasterGrant信号接入总线,且HTRANS=IDLE;

建议master在锁定总线传输结束之后插入IDLE传输,以重新仲裁优先级。

几点说明,TransferDirection、TransferSize由Master发出:

HWRITE为HIGH,Master在dataphase将数据通过writedatabus(HWDATA31:

0)发往SlaveHWRITE为LOW,Slave在dataphase将数据通过readdatabus(HRDATA31:

0)发往Master,HWRITE&

HSIZE2:

0,ProtectionControl由Master发出:

HPROT3:

0可以让master提供额外的保护信息AHBSpec.未规定所有的master都要指示精确的保护信息,所以slave在设计时若非必须,尽量不要使用HPROT信号若master没有protectiontransfer的考虑,HPROT3:

0可以output=4b0001,HPROT3:

0,AHBDecoder,AHB系统中有一个核心地址译码器,它提供HSELx信号到各个AHBSlave;

Decoder本身只负责位地址译码,为纯组合逻辑电路;

Slave只有在HSELx和HREADY都为High才采样地址/控制信号;

AHB地址线有32条,为简化译码器译码时间,AHBSpec.规定每个Slave的最小地址空间为1KB,因此译码器最多只需要对22条地址线进行译码。

AddressDecoding,AHBDecoder,Slave可通过HREADY信号extendtransfer(插入waitcycle),transfer结束时,HREADY在dataphase为High。

Slave还可以使用HRESP1:

0去响应主机传输结束时候的状态HRESP1:

0可以在transfer结束时表示四种statusOKAYERRORRETRYSPLIT,AHBSlaveResponse,OKAY:

transfer成功完成ERROR:

传输失败或出错。

可能的原因例如企图写入read-only的memorylocation;

读写根本不存在的memorylocation。

RETRY和SPLIT:

Slave响应当前传输需要多个buscycle来完成,为避免因为当前transfer将bus一直占用或者锁死,Slave响应RETRY/SPLIT给master表示当前transfer未完成,master需要重新发出请求,重试。

而此时arbiter可以将bus释放给其他有需要的master使用。

AHBHRESP1:

0,AHBHRESP1:

0,RETRY与SPLIT区别:

RETRYresponse:

arbiter内master优先级不变,当有更高优先级的masterrequest时,arbiter授予高优先级的masterbusaccess。

若原来得到RETRYresponse的master是当前申请接入总线优先级最高的master,则bus依然被占用而无法释放给其他master。

SPLITresponse:

当master收到SPLITresponse时,arbiter将当前master的优先级mask起来,此时该master无法再获得busaccess权力,即使没有其他master向arbiter发出总线接入请求也一样。

若所有master都收到SPLITresponse,则arbiter将总线接入权限交给dummymaster(只会发出IDLEtransfer的主机)。

当响应SPLIT的Slave处理完transfer的要求后将发送HSPLIT信号给arbiter,此时arbiter将相应的master优先级unm

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1