APB协议

文章目录


AMBA(Advanced Microcontroller Bus Architecture)总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。 它不是芯片与外设之间的接口,而是ARM内核与芯片上其他元件进行通信的接口。

什么是 APB总线

APB(Advanced Peripheral Bus)先进外设接口:APB总线主要用在低速且低功率消耗的外围,在APB总线中,唯一的M为APB bridge, 其它一些低速和低功率的外围皆为S。不是流水线操作,两个周期完成一次读或写的操作。
APB协议

APB信号列表

信号名 来源 描述
PLK 总线时钟 时钟信号,上升沿采样
PRESENTn 系统总线 低有效
PADDR[31:0] APB桥(主) 32位的地址总线
PSELx 译码器 S选择信号:表示当前哪个S被选择在传输,地址选择就是地址译码出来地S选择信号HSELx
PENABLE APB桥(主) 允许读写操作信号线
PWRITE APB桥(主) 读写操作线,为1时写,为0时读
PWDATA APB桥(主) master通过PWDATA线将数据写到slave,数据最大支持32bit
PRDATA master通过PRDATA线将数据从slave读取回来,数据最大支持32bit

APB协议
APB桥将系统总线传送转换成APB方式的传递,功能:

  • 锁存地址,保持地址有效。锁存读写控制信号
  • 对锁存的地址译码产生选择信号PSELx,选择唯一一个APB从设备以进行读写动作
  • 写操作:负责将AHB送上来的数据送上APB总线
  • 读操作:负责将APB的数据送上AHB系统总线
  • 产生时序选通信号PENABLE作为数据传递时的启动信号

APB状态机

APB协议

状态 跳转条件 描述
IDEL PSELx=0,PENABLE=0 系统初始化状态,此时没有传输操作,也没有选中任何模块
SETUP(地址阶段) PSELx=1,PENABLE=0 系统进入SETUP状态,并且会在SETUP状态停留一个周期
ENABLE(数据阶段) PSELx=1,PENABLE=1 系统进入ENABLE状态

写操作:

APB协议

读操作:

APB协议

上一篇:SOC设计——(3)AMBA总线之APB


下一篇:[architecture]-AMBA AXI AHB APB学习总结