参考:
AMBA™ 3 APB Protocol v1.0
Internet
前言:
AMBA(advanced microcontroller bus architecture)总线是ARM公司设计一种总线标准,大量的应用在soc上。
AMBA总线发展到现在已经历经五代:
AMBA 1:1996,ASB APB
AMBA 2:1999,ASB APB AHB
AMBA 3:2003,APB AHB AXI ATB
AMBA 4:2010,ACE AXB-lite AXI ATB APB
AMBA 5:2014,CHI AHB
本系列主要描述下面三种总线:
AHB(advanced high-performance bus):用于高性能模块
APB(advanced peripheral bus):用于慢速外设,例如uart,1284等
AXI(advanced extensiable interface):高级扩展接口总线
简介:
略
传输过程:
直接上内容:
上面的图展现了AMBA总线时序图中一些基本概念,灰色区域表示该部分可以是任意值。
写操作
APB有两种操作,一种是具有等待状态,另一种不具备等待状态。
非等待状态:
T0时,进入等待状态psel和penable都是0。T1进入建立状态,psel=1,penable=0。T2进入使用状态,psel=1,penable=1。T3时刻将数据写入,同时pready要为高。(data数据要在建立和使用状态保持稳定)。
下面其他操作情况同理。
等待状态:
等待状态就是指在ready信号拉低时刻可以暂缓操作,直到ready信号拉高。
读操作
读操作时序图与写操作同理。只是使用信号发生了变化。
非等待状态:
等待状态:
错误响应
写操作:
当读/写操作出现错误时,pslverr信号会在操作的最后一个周期拉高。此时psel,penable,pready信号为高,只有在此时pslverr信号才会有效。其他时刻psverr应该尽量保持低电平。
当出现错误响应信号时代表当前读/写操作是无效的。
读操作:
操作状态:
上图3-1展示了APB的状态转移图。APB一次传输最快需要二拍,由idle到setup到access为一次完整的传输过程。
信号描述
下表4-1为APB各个信号的描述。