- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍
AMBA APB4 与 AMBA3 AHB-Lite 1.0 协议介绍2013年09月18日 16:09 ?? 绝对好文关键词: AMBA , APB4 , AHB-Lite作者:Allen Zhan[介绍]根据 ARM 的说法, 今天 AMBA 已经成为了业界事实上的总线标准. 本文我们简单对AMBA4 中的 APB v2.0(也称为 APB4), 以及 AMBA3 AHB-Lite v1.0 进行简单的了解. 我们的介绍集中在, 我们比较有兴趣的地方. 尽管如此, 也可能几乎覆盖了协议中几个最重要的部分.[AMBA APB]AMBAAdvanced Microcontroller Bus Architecture, 由ARM定义的总线架构(标准), 由一个协议家族组成. ARM 声称这一标准已经称为事实上的 uController 业界通用标准.APBThe Advanced Peripheral Bus(APB) 是 AMBA 协议家族中一个组成部分.它被定义为一个 low-cost 的接口, 为了最小能耗与减小接口的复杂性进行的优化设计.被用于连接通用外围, 比如 timers, inerrupt controllers, UART是, and IOs.通过 system-to-peripheral bus bridge 与 main system bus 相连, 有助于降低能耗.APB 版本当前(2013年9月), 最近的 APB协议版本是 AMBA APB Protocol Specification v2.0. 或者因为属于 AMBA4 家族中的发布协议, 一般也被称为 APB4.而在第一个版本(APB2 )中, APB 的基本组元, APB bridge 与 APB slave 被定义.而在 APB3 中, Ready signal 被引入, 这意味着增加了操作状态中, 增加了 wait state. 另外增加了 PSLVERR, 用于错误报告的 signal. 最近的 APB4, 增加了 PPROT 与 PSTRB signal.APB bridge 与 APB slave我们可以挂载各种慢速的外设在 APB 上, 比如 IO, 比如 UART, 比如 SPI, etc. 它们都作为 slave 的角色存在.但是, 我们想想看, bridge 这个 role 就蛮有意思. 它实际上暗示我们, APB 不能单独存在. 我们这里所谓不能单独存在的意思, 是说 APB 一定不能直接连接在 processor 上(或者说 arm core上). 而最可能的, 是通过 APB bridge 而连接在高速的 bus 上.实际上, 在 AHB-Lite 协议中, 我们发现 APB bridge 被作为 AHB-Lite 的 slave 而被定义.Data busesAPB 协议有两个独立的 data bus, 一个用来读 data, 一个用来写 data.因为没有独立的握手信号, 所以在两根bus上, 同一时刻数据传输不能同时发生.Write Transfers我们简单对 APB 的 trasfers 过程进行分析, 比如我们分析 write transfer with no wait states:[图例1: Write transfer with no wait states]T0: Idle stateT1: Setup statewrite address PADDR, write data PWDATAsetup state 仅仅只保持 1pcs clock cycle, 而在下一个 PCLK 的上升沿, 一定进入 Access state.T2: Access stateAPB bridge 通过拉高 PENABLE, 通知slave 第二阶段(也就是 access phase) 开始.因为是 no wait states, 我们见到了 PREADY 在此被拉高, 表示 slave 通知 bridge, 在下一个 PCLK 的上升沿, 本次 transfer 的过程可以结束.T3: finish transfer, then enter Idle state again or the next setup.PREADY 拉低, 说明 slave 通知本次 transfer 结束. 在 PREADY unasserted 之前, PADDR, PWDATA, 以及其他的 signals 都应该保持有效.从上述时序中, 我们了解到, write transfer 看来至少需要 3 cycles. setup - access - finish而在一个 write transfer with wait states
文档评论(0)