APB3.0协议详解

1.协议详解

APB接口用在低带宽和不需要高性能总线的外围设备上。 APB是非流水线结构,所有的信号仅与时钟上升沿相关,这样就可以简化APB外围设备的设计流程,每个传输至少耗用两个周期。APB可以与AMBA高级高性能总线(AHB-Lite) 和AMBA 高级可扩展接口 (AXI)连接;

APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。

1.1协议发展

协议已经从APB2.0发展到现在的APB4.0。具体区别如下;

APB2.0 :该版本协议定义基本的接口信号(具体可见端口信号章节,删除APB3.0有的接口就行);
APB3.0:增加信号PREADY用以指示slave准备好数据,增加信号PSLAVERR代表传输错误;
APB4.0:增加信号PROT保护类型,增加信号PSTRB来支持byte级的访问;

需要注意的是高版本是向下兼容低版本的;如APB4.0里面是拥有APB3.0里所有的特点的;

1.2master与slave区别

对于apb中master与slave之间的关系;可以这么理解,apb作为一捆线(端口列表里面就是一根根线),连接master与slave,如下图;
在这里插入图片描述
中间两个箭头就是APB的内容;master主动发起一次操作,slave配合master完成一次传输,还是可以认为slave作为内存,master来这边取东西;

2.APB3.0端口列表

信号名来源作用说明
pclk时钟源系统时钟,上升沿触发
presetn复位源复位信号,低有效复位
paddrmaster读写地址
pselmaster选择信号,只有在该位为高的slave才会进行读写
penablemaster读操作下,指示master可接受数据;写操作下,指示写数据有效
pwritemaster读写信号,高为写,低为读
pwdatamaster写数据
pready(apb3.0加的)slaveslave是否已经发送读数据到master,或获取到master的写数据;
prdataslaveslave读数据
pslverr(apb3.0加的)slave错误信号,代表了发生了故障,如地址错误等

一般来说apb信号都是以p开头的一组信号;

3.读写时序

1.写数据无等待

在这里插入图片描述

解释如下:
在第2拍master将写地址(paddr),写指示信号(pwrite),写数据(pwdata)等信号发送给slave,第3拍slave返回pready信号,代表已经将写数据存下;

2.写数据有等待

在这里插入图片描述

解释如下;
第一拍于无等待的一致,在第二拍由于slave没有做好接受写数据的准备,所以将pready置底,此时master需要保持总线信号(paddr/pwdata/psel/pwrite/penable)待到slave给出pready,slave成功接收数据,后方可释放总线;

3.读数据无等待

在这里插入图片描述

第2拍master给出指示,第3拍slave将数据返回到总线,并给出pready代表读数据已经返回,总线可以进行下一次传输;

4.读数据有等待

在这里插入图片描述

同无等待操作;
中间插入等待时序,master需保持相关信号不变,等到slave侧成功返回数据已经pready信号后方可释放总线;

总结一下

  1. pwrite信号作为master侧读写的区别指示;
  2. penable既代表了master侧的读ready,又代表了写侧的ready;master侧的penable与slave侧返回的pready进行握手,该握手过程可以是写动作的握手,也可以是读过程的握手;
  3. slave侧可通过拉低pready实现master的读写等待动作,也就是可以理解由于slave侧的原因,拉低了pready,使得握手动作被延迟了。

slaverr、pstrb、pprot信号一般是不用的,这里就不提了;多说几句,psel信号的存在是因为在系统中可能存在许多外设拥有相同的apb总线,此时我们的master侧为了能确保apb的读写操作只发送给特定的一个外设,所以加入了这个信号;

  • 21
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汶.z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值