ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AMBA协议学习一之APB协议

2022-03-21 21:05:57  阅读:308  来源: 互联网

标签:状态 一之 PREADY 传输 信号 APB AMBA 时钟


引言

本文针对AMBA3家族中的APH协议。

APB协议是一种低成本的协议,它提供低功耗且复杂度最低的精简接口。对于任何外设而言,APB接口不需要流水线总线接口的高性能并且具有低带宽的特性。APB接口兼容AHB-Lite与AXI协议。

传输

APB协议具有三种传输方式:

  • Write transfer
  • Read transfer
  • Error response

首先介绍写传输

Write transfer

写传输分为2类,一类是无等待阶段写传输,另一类是有等待阶段写传输。

No wait states

无等待阶段写传输的时序如下:

先看后文中对于各信号的解释:

第一个时钟周期称之为setup阶段,给出地址,写信号拉高,同时选通信号拉高。下一时钟周期声明使能信号即PENABLE,表明进入访问阶段,在此阶段地址,数据和控制信号都要保持有效。时钟周期结束表示传输完成。

使能信号PENABLE在传输结束时刻撤除,PSEL如果没有紧接着一次传输的话也会在结束时拉低

With wait states

这种模式的传输是从机可以通过控制PREADY信号进行扩展, 在访问阶段当PENABLE高有效时,将PREADY信号拉低数个周期,保持相应信号不变。时序如下所示:

Read transfer

读传输与写传输一样具有两个模式

No wait states

读传输的时序如下图所示:可以看出这里PWRITE拉低,意味着读指令,因此在一定程度上精简了接口,不需要多个通道来分别指示读写。从机必须要在读传输结束前提供数据。

With wait states

具有等待阶段的读传输如下图所示:相应的地址信号、写信号、选通信号和使能信号都在额外的时钟周期保持了不变。这里PREADY在使用前延迟了2个时钟周期,实际设计中可以任意设置延迟时间。

Error response

在APB读写传输中都可能出现传输错误,因此PSLVERR信号标志了错误的传输情况。该信号仅在APB传输的最后一个时钟周期有效,即PSEL/PENABLE/PREADY都高有效时有效。

该协议建议非采样时刻将该信号置0,即PSEL/PENABLE/PREADY任意一信号为0时。

但是APB外设不是一定需要支持该信号引脚的,当外设不支持时将该信号拉低。

下图表示写传输时出错的时序:

Mapping of PSLVERR

当存在桥接时,存在两种映射情况

AXI to APB:一个APB的错误映射为RRESP/BRESP,即读传输错误映射为RRESP[1]而写传输错误映射为BRESP[1]。

AHB to APB:一个APB的错误映射为HRESP,即读/写传输错误均映射为HRESP[0]。

操作状态

APB的操作活动如下所示:

 

该状态机一共3个状态,当存在传输需求时进入SETUP状态,此时拉高PSEL信号,该总线在此阶段只保持1个时钟周期并在下一个时钟上升沿到来时进入ACCESS状态。当进入ACCESS状态后即拉高PENABLE信号,当状态由SETUP进入ACCESS状态时地址信号、写信号、选通信号和写数据信号都要保持稳定。

从ACCESS状态跳变到其他状态是由PREADY信号控制的,如果PREADY信号保持为低则状态保持在ACCESS不变,若从机将PREADY信号拉高则推出ACCESS状态,并且当没有传输请求时回到IDLE状态,但是如果有另一个请求,则直接跳转至SETUP状态。

参考文献

AMBA APB Protocol Specification

标签:状态,一之,PREADY,传输,信号,APB,AMBA,时钟
来源: https://www.cnblogs.com/Achilles7/p/16036471.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有