APB自发布以来,已经经过了多个版本的迭代
最初的版本已经过时,目前使用的是三个修订版本
amba 2 版本定义的是最简单的apb
amba 3 相对 2 添加了PREADY/PSLVERR信号
amba 4 相对 3 添加了PPROT/PSTRB信号
amba2的apb:AMBA APB学习记录(AMBA 2.0)
Two types of write/read transfer are described in this section:
• With no wait states
• With wait states.
当从机的ready为低电平时,从机没有准备好接收数据,主机维持高电平,保持主机的发送数据。
从机ready拉高以后,一次传输完成,可以当作从机的传输完成标志信号。
ready的有效范围同enable的高电平范围相同。
当从机的ready信号为高时,表示读出的数据为有效数据。可作为传输完成标志。
错误信号的有效范围为ready的高电平时钟,即传输的最后一个时钟。
错误信号的有效范围为ready的高电平时钟,即传输的最后一个时钟。
APB4在APB3的基础上添加了两个端口,一个是PPROT,一个是PSTRB。 (其实在平时工作中几乎用不到这两个,主要还是APB3)
PPROT:一种保护信号,可支持APB上的非安全传输和安全传输。
PSTRB:一个写选通信号,用于在写数据总线上进行稀疏数据传输。
我们直接来看看官方文档里对这两个端口的解释
PPROT
为了支持复杂的系统设计,通常需要互连和系统中的其他设备提供针对非法交易的保护。 对于APB接口,此保护由PPROT [2:0]信号提供。
这个信号位宽为3,每一位代表不同的作用。
PPROT [0]:普通或特权
低代表正常
高代表特权
一些master使用它来指示其处理模式。特权处理模式通常在系统内具有更高级别的访问权限。
PPROT [1]:安全还是非安全
低代表安全
高代表非安全
这用于需要更大程度区分处理模式的系统中。
PPROT [2]:数据还是指令
低代表数据
高代表指令
该位指示事务是数据访问还是指令访问。此指示仅作为提示,并非在所有情况下都是准确的。 例如,传输包含指令和数据项的混合。 建议默认情况下,除非明确将其称为指令访问,否则将访问标记为数据访问。
写选通信号PSTRB使写数据总线上的稀疏数据传输成为可能。 每个写选通信号对应于写数据总线的一个字节。 当置为高电平时,写选通脉冲指示写数据总线的相应字节通道包含有效信息。 写数据总线的每八位有一个写选通脉冲,因此PSTRB [n]对应于PWDATA [(8n + 7): ( 8n)]。