一、概述
高级外围设备总线(APB)是高级微控制器总线架构(AMBA)总线层次结构的一部分,并为最小的功耗和降低接口复杂性进行了优化。AMBA APB应用于连接到任何低带宽且不需要流水线总线接口的高性能的外设。
二、APB总线信号
三、APB总线状态机
- IDLE:对于外围总线的默认状态
- SETUP:当有一个transfer到来的时候,总线转移到SETUP状态,在这个状态拉高相应的选择信号PSELx,总线只会在SETUP状态持续一个时钟周期,在下一个时钟上升沿到来的时候转移到ENABLE状态。
- ENABLE:在此状态,PENABLE信号是会被断言。地址信号、选择信号、write信号在从SETUP状态转移到ENABLE状态期间是保持稳定的。ENABLE状态也是只持续一个时钟周期,在这个时钟周期之后如果没有 transfer就会返回到IDLE状态,如果有transfer会直接回到SETUP状态。在从ENABLE状态转移到SETUP状态期间,地址、写信号、选择信号出现为微小差错是可以接受的。
四、APB总线传输过程
write transfer
write transfer开始是在SETUP状态的时钟周期,在这个状态下,会拉高PWRITE、PSEL信号,同时会将要写的地址、数据准备好。在下一个时钟周期,也就是ENABLE状态,会拉高PENABLE信号。下一个时钟周期会将PSEL、PENABLE拉低。
为了降低功耗,地址信号和写入信号在传输后不会改变,直到下一次访问发生。
Read transer
PADDR、PWRITE、PSEL和PENABLE信号的定时都与写传输相同。在读取的情况下,从机必须在ENABLE状态周期期间提供数据。数据在ENABLE周期结束时,在时钟的上升边缘进行采样。
五、 APB bridge
APB bridge是APB总线上唯一的总线主机,而相对于更高级的总线系统来说,APB bridge是一个从机。
桥接单元将系统总线传输转换为APB传输,并执行以下功能:
- APB bridge将系统总线传输转换为APB传输
- 对传输过来的地址进行解码,并产生选择信号,PSELx,在传输的过程中只能选择一个选择信号
- 将数据驱动到APB上以进行Write Transfer。
- 将APB数据驱动到系统总线上,以进行读取传输。
- 为每次传输产生一个使能信号 PENABLE。