APB总线

APB(Advance Peripheral Bus)是AMBA总线的一部分,从1998年第一版至今共有3个版本。

AMBA 2 APB Specfication:定义最基本的信号interface, 读写transfer, APB bridge, APB slave.

AMBA 3 APB:增加定义信号PREADY, PSLVERR来完成对wait state和Error reporting的功能。

AMBA 4 APB:增加定义信号PPROT, PSTRB来支持secure, supervisor和sparse data transfer的功能。

 

APB主要用在低速的IP接口上,协议简单,时钟clock也比较低,power较小。

 

APB总线中的信号:

PSELx:由APB bridge产生的信号,针对每一个peripheral bus slave,表示一个slave 是被选中的,有transfer需要传输。

PENABLE:在一个transfer的second and subsequent cycles有效。

PSTRB:只能在写操作中用来指示byte lanes,在读操作中全为1。

PREADY:由slave产生,来extend an APB transfer,结束前一时钟有效,表示下一时钟transfer结束。

PSLVERR:APB transfer的最后一个cycle有效,当PSEL, PENABLE, PREADY同时有效时,不需要该引脚时,tie0

当需要bridge时,PSLVERR可以与AXI总线中的BRESP[1],AHB总线中的HRESP[0]连接一起。

PPROT:分别表示Normal or privileged, Secure or non_secure, Data or Instruction。

在APB总线中分别有PWDATA和PRDATA,但这并不表示它支持同时读写,

因为他没有分别的读写握手信号,在读写过程中,addr/enable/sel也不可变的,两组数据信号,可能只是为了简化逻辑。

 

write transfer:T1时刻,建立阶段(Setup)。在PCLK上升沿采样PADDR,PWDATA,PWRITE,PSEL信号。

                      T2时刻,通信阶段(Access)。采样PENABLE,PREDAY信号。

                      T3时刻,transfer结束。所以一个APB的transfer最少需要两个时钟。

 

APB的write操作也需要两个cycle,可能是考虑与读操作的一致性,

这样在AHB2APB 和APB2APB bridge上,逻辑更简单一些。

 

posted @   _9_8  阅读(21708)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示