AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍

AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍

ID:42561794

大小:123.44 KB

页数:7页

时间:2019-09-17

AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍_第1页
AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍_第2页
AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍_第3页
AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍_第4页
AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍_第5页
资源描述:

《AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、AMBAAPB4与AMBA3AHB-Lite1.0协议介绍2013年09月18日16:09  绝对好文关键词:AMBA,APB4,AHB-Lite作者:AllenZhan[介绍]根据ARM的说法,今天AMBA已经成为了业界事实上的总线标准.本文我们简单对AMBA4中的APBv2.0(也称为APB4),以及AMBA3AHB-Litev1.0进行简单的了解.我们的介绍集中在,我们比较有兴趣的地方.尽管如此,也可能几乎覆盖了协议中几个最重要的部分.[AMBAAPB]AMBAAdvancedMicrocontrollerBusArchitecture,由ARM定义的总线架构(标准),由一个协议家族组成

2、.ARM声称这一标准已经称为事实上的uController业界通用标准.APBTheAdvancedPeripheralBus(APB)是AMBA协议家族中一个组成部分.它被定义为一个low-cost的接口,为了最小能耗与减小接口的复杂性进行的优化设计.被用于连接通用外围,比如timers,inerruptcontrollers,UART是,andIOs.通过system-to-peripheralbusbridge与mainsystembus相连,有助于降低能耗.APB版本当前(2013年9月),最近的APB协议版本是AMBAAPBProtocolSpecificationv2.0.或者因为

3、属于AMBA4家族中的发布协议,一般也被称为APB4.而在第一个版本(APB2)中,APB的基本组元,APBbridge与APBslave被定义.而在APB3中,Readysignal被引入,这意味着增加了操作状态中,增加了waitstate.另外增加了PSLVERR,用于错误报告的signal.最近的APB4,增加了PPROT与PSTRBsignal.APBbridge与APBslave我们可以挂载各种"慢速"的外设在APB上,比如IO,比如UART,比如SPI,etc.它们都作为slave的角色存在.但是,我们想想看,bridge这个role就蛮有意思.它实际上暗示我们,APB不能"单独存

4、在".我们这里所谓不能"单独存在"的意思,是说APB一定不能直接连接在processor上(或者说armcore上).而最可能的,是通过APBbridge而连接在高速的bus上.实际上,在AHB-Lite协议中,我们发现APBbridge被作为AHB-Lite的slave而被定义.DatabusesAPB协议有两个独立的databus,一个用来读data,一个用来写data.因为没有独立的握手信号,所以在两根bus上,同一时刻数据传输不能同时发生.WriteTransfers我们简单对APB的trasfers过程进行分析,比如我们分析writetransferwithnowaitstates:

5、[图例1:Writetransferwithnowaitstates]T0:IdlestateT1:SetupstatewriteaddressPADDR,writedataPWDATAsetupstate仅仅只保持1pcsclockcycle,而在下一个PCLK的上升沿,一定进入Accessstate.T2:AccessstateAPBbridge通过拉高PENABLE,通知slave第二阶段(也就是accessphase)开始.因为是nowaitstates,我们见到了PREADY在此被拉高,表示slave通知bridge,在下一个PCLK的上升沿,本次transfer的过程可以结束.T3

6、:finishtransfer,thenenterIdlestateagainorthenextsetup.PREADY拉低,说明slave通知本次transfer结束.在PREADYunasserted之前,PADDR,PWDATA,以及其他的signals都应该保持有效.从上述时序中,我们了解到,writetransfer看来至少需要3cycles.setup-access-finish而在一个writetransferwithwaitstates时序中,[图例2:Writetransferwithwaitstates]我们见到了,Slave通过unassert的方式(拉低),延迟了2pc

7、scycles(根据图例的例子),这样在T2状态上的拉高动作,被延时到T4进行拉高.也就是Slave通知在T5cycle中结束本次transfer.这就是通过PREADY引入了waitstate后现象,我们注意到,一般的术语被称为"extendthetransfer".OperatingStatesReadTransfer的情形与WriteTransfer类似,这样,我们就基本完备讲述了APBpr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。