APB协议介绍/为什么同时需要PSEL和PENABLE?

1.APB的状态机

APB协议介绍/为什么同时需要PSEL和PENABLE?

1.每次进入setup状态只会维持一个cyc,无条件跳转到ACCESS状态。也就是说PSEL==1 && PENABLE==0的状态不会持续超过一个cyc。

2.在SETUP进入ACCESS过程中PADDR,PWRITE,PSELx和PWDATA信号必须保持稳定。

3.如果ACCESS状态中PREADY有效,即完成一次transfer之后没有继续transfer则跳入IDLE否则进入SETUP

2.为什么同时需要PSEL和PENABLE?

不进入SETUP状态,直接ACCESS其实也可以完成传输,但是APB可能出于通用性,灵活性,时序,历史遗留等考虑,多加一个状态,一根信号。

早期的APB2是没有PREADY的

直接由PSEL和PREADY握手就像AXI的单Master多Slave的结构一样是可以的