AMBA总线(1)——APB总线


AMBA协议是一个开放标准的片上互联规范,用于SOC功能模块的连接和管理。目前,已经推出来四代版本的AMBA规范。版本2的AMBA规范定义了3个总线接口:
AHB(advanced high-performance bus):高级高性能总线
ASB(advanced sysytem bus ): 高级系统总线
APB(advanced peripheral bus):高级外设总线

APB总线用在低带宽和不需要高性能总线的外部设备上,采用流水线结构,所有信号仅与时钟上升沿有关。每次传输至少消耗2个周期。

APB 信号:

PCLK:时钟源
PRESETN:系统复位信号,低电平有效
PADDR:地址总线,最大32位
PPROT:保护类型,普通传输,安全传输,数据访问或指令访问
PSELx: 片选信号,每个从设备配有一个
PENABLE: 使能信号,表示数据传输的第二个及之后的周期。
PWRITE: 读写控制信号,高电平为写访问,低电平为读访问
PWDATA: 写数据,
PSTRB: 字节有效信号,每一个字节对应一位,如果数据位为32,则PSTRB为4位
PREADY: 从设备准备好信号,
PRDATA: 读取的数据。在读周期里,从设备驱动该总线,最大32位
PSLVERR: 传输失败信号

APB 写传输

APB 写传输包括两种类型:无等待状态写传输和有等待状态写传输
(1)T1周期
给出PADDR,PWRITE,PSELx,PWDATA信号,也称为建立周期
(2)T2周期及之后
抬高PENBLE信号,等待PREADY信号,如果刚好则是无等待状态传输,否则,PENABLE信号一直保持,直到PREADY信号出现,传输结束,这个是有等待状态传输。
无等待状态写传输
有等待状态写传输

APB读传输

APB 读传输包括两种类型:无等待状态读传输和有等待状态读传输
(1)T1周期
给出PADDR,PWRITE,PSELx信号,
(2)T2周期及以后
抬高PENABLE信号,等待PREADY和PRDATA,如果刚好出现就是无等待读传输,否则PENABLE信号一直保持,直到
PREADY和PRDATA出现,这个是有等待状态读传输。
无等待状态读传输
有等待状态读传输

APB传输状态机

1.IDLE
默认状态,无操作
2.SETUP
建立周期,为一个时钟周期,提供必要的信号.如PSELx信号,PADDR信号等。
3.ACCESS
数据传输,PENABLE拉高,等待PREADY信号。如果PREADY信号为低,则保持当前状态,否则根据是否要接下来继续在当前地址传输数据来确定下一个状态。具体可看下面的状态机图。

APB总线状态机


文章作者: zhr
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zhr !
  目录