APB5(又称Issue D版本):
APB5协议更新内容:
在APB4的基础上添加了Wakeup信号,User信号和优先级保护和检查信号。
APB特点:1.低成本,低功耗 2.非流水线 3.需要两拍完成传输
在AXI与APB协议中可以使用APB转接桥来完成与AXI Memory 系统的通讯。
APB5协议信号简介
这里写目录标题
APB5协议信号简介
信号名称 | 来源 | 位宽 | 描述 |
---|---|---|---|
PCLK | Clock | 1 | 时钟信号 |
PRESETn | System bus | 1 | 低电位有效的复位信号 |
PADDR | Master | ADDR_WIDTH(最高32位) | 地址 |
PPRORT | Master | 3 | 保护类型信号 |
PSELx | Master | 1 | 选择信号 |
PENABLE | Master | 1 | 使能信号 |
PWRITE | Master | 1 | 读写方向信号 |
PWDATA | Master | DATA_WIDTH | 写数据信号(当PWRITE=1时,8、16或者32位宽) |
PSTRB | Master | DATA_WIDTH/8 | 写选通信号(PSTRB[n]对应PWDATA[(8n + 7):(8n)],在读数据的过程PSTRB是无效的) |
PREADY | Slave | 1 | Ready信号 |
PRDATA | Slave | DATA_WIDTH | 读数据信号(当PWRITE=0时,8、16或者32位宽) |
PSLVERR | Slave | 1 | 传输错误信号,高电平的可选信号,表示传输错误 |
PWAKEUP | Slave | 1 | 唤醒信号 |
PAUSER | Slave | USER_REQ_WIDTH | 用户请求分配,最大是128位 |
PWUSER | Slave | USER_DATA_WIDTH | 用户写数据分配,最大是DATA_WIDTH/2的数据位宽 |
PRUSER | Slave | USER_DATA_WIDTH | 用户读数据分配,最大是DATA_WIDTH/2的数据位宽 |
PBUSER | Slave | USER_RESP_WIDTH | 用户数据分配,最大是16位数据位宽 |
地址总线
APB总线接口只有一个PADDR地址信号接口来进行读写操作其地址位宽是1个字节,PADDR允许进行非对齐的操作。
数据总线
APB总线有两个独立的数据总线,读写过程各有一个通路并且读写数据位宽必须一致,数据位宽可以是8位,16位和32位。在数据传输不能连续的进行,这是因为读写数据总线没有单独的握手机制。
多种传输方式
写操作无等待
- T0-T1:初始状态。
- T1-T2:写数据准备状态,写选通信号PSEL为高,表明PADDR,PWRITE和PWDATA均有效。
- T2-T3:写数据状态,PENABLE需要拉高,PREADY需要拉高表示完成数据写入的过程,在这个阶段,PADDR和PWDATA及其他控制信号需要持续保持不变。
- T3-T4:传输结束状态,PENABLE拉低,PSEL也同时拉低,除非还有持续的数据传输。
写操作有等待
上图表示使用PREADY信号延长等待的过程。
在数据访问阶段,当PENABLE和PSEL都为高时,PREADY为低电平时,对应其他信号应该保持不变。
写选通信号PSTRB
通常使用在稀疏数据流的写过程。
读操作无等待
T2-T3过程需要slave准备发送的数据。
读操作有等待
错误响应信号PSLVERR
当PSEL,PENABLE和PREADY为高电平时,PSLVERR仅在最后一个周期有效。推荐的时序原则为当PSEL,PENABLE和PREADY为低电平时,PSLVERR也为低电平。
写入过程
读出过程
在转接桥中PSLVERR利用不同的信号完成错误信号的映射。
1.从AXI到APB的转接桥:PSLVERR信号在读取过程中通过RRESP完成映射,在写入过程中通过BRESP完成映射。
2.从AHB到APB的转接桥:PSLVERR信号在读写过程中都通过HRESP信号完成映射。
操作状态
状态 | 含义 | 描述 |
---|---|---|
IDLE | 默认状态 | APB状态机预设状态 |
SETUP | 准备阶段(地址阶段) | 总线会在SETUP停留一个时钟周期,在下一个时钟上升沿进入ACCESS阶段。 |
ACCESS | 使能阶段(数据阶段) | 该状态会持续一个周期,其他控制信号继续保持稳定。 |