APB协议介绍/为什么同时需要PSEL和PENABLE?
1.APB的状态机
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的结构一样是可以的。