AMBA学习笔记之APB

APB(advance peripheral bus)

概述:
APB主要用在低速的IP接口上,协议简单,时钟clock也比较低,功耗低,低宽带。APB是非流水线结构,所有的信号仅与时钟上升沿相关,这样就可以简化APB外围设备的设计流程,每个传输至少耗用两个周期。

特点:
APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在***APB里面唯一的主模块就是APB 桥***。
其特性包括:
两个时钟周期传输;
无需等待周期和回应信号;
控制逻辑简单,只有四个控制信号。

1.无等待写传输
地址、写入数据、写入信号和选择信号都在时钟上升沿后改变。
第一个时钟周期叫做Setup phase。 下一个时钟沿后使能信号PENABLE被置位,表示Access phase就位。
地址、数据和控制信号在Access phase期间有效。
传输在该周期后结束。使能信号PENABLE, 在传输结束后清空。
选择信号PSELx同样被置低,除非紧接着下一传输开始
地址、写入数据、写入信号和选择信号都在时钟上升沿后改变。第一个时钟周期叫做Setup phase。 下一个时钟沿后使能信号PENABLE被置位,表示Access phase就位。地址、数据和控制信号在Access phase期间有效。传输在该周期后结束。使能信号PENABLE, 在传输结束后清空。 选择信号PSELx同样被置低,除非紧接着下一传输开始。
2.有等待写传输
在Access phase期间,当PENABLE为高,传输可以通过拉低PREADY来扩展传输。
下述信号仍旧不变:
• 地址: PADDR
• 写信号:PWRITE
• 选择信号: PSEL
• 使能信号: PENABLE
• 写入的数据: PWDATA
在Access phase期间,当PENABLE为高,传输可以通过拉低PREADY来扩展传输。下述信号仍旧不变:• 地址: PADDR• 写信号: PWRITE• 选择信号: PSEL• 使能信号: PENABLE• 写入的数据: PWDATA
3.无等待读传输
从器件必须在读传输结束前提供数据
从器件必须在读传输结束前提供数据

4.有等待读传输
如果在Access phase期间PREADY信号拉低,则传输被扩展。
但下述信号不变:
• 地址: PADDR
• 写信号: PWRITE
• 选择信号: PSEL
• 使能信号: PENABLE
如果在Access phase期间PREADY信号拉低,则传输被扩展。但下述信号不变:• 地址: PADDR• 写信号: PWRITE• 选择信号: PSEL• 使能信号: PENABLE.

错误响应

使用PSLVERR来指示APB传输错误。当PSEL, PENABLE以及PREADY 都为高时, PSLVERR才在最后一个周期进行判断。 当任何一个PSEL, PENABLE或者PREADY为低时,你可以将PSLVERR拉低,这是推荐,并不是强制要求。 收到一个错误后,可能或不可能改变外围器件的状态。 APB外围设备不要求必须支持PSLVERR引脚,当不使用该引脚时,应被置低。

写传输失败的例子。
读传输同样可以使用错误响应,下图便是一个错误响应的例子
PSLVERR映射:

AXI桥接到APB: AXI的RRESP/BRESP = APB的SLVERR(read: PSLVERR -> RRESP[1], write: PSLVERR -> BRESP[1])
AHB桥接到APB: PSLVERR被映射到HRESP = ERROR(PSLVERR -> HRESP[0])

信号描述

APB的支持最大32-bit的数据位宽。APB协议有两个独立的数据通道,读通道和写通道,两个通道不会同时使用。
在这里插入图片描述
除了上表的信号外,APB还有两个信号接口:
PPROT: 保护类型,分为 normal, privileged, secure, data/instruction 访问。
PSTRRB: 写选通信号,指示哪个字节是有效的数据,PSTRB与PWDATA之间的关系为PSTRB[n] <–> PWDATA[(8n+7):(8n)]​

操作状态

在这里插入图片描述
状态机按照下面的状态执行:
IDLE 这是默认的APB状态

SETUP 当传输被请求时,总线进入SETUP状态,选择信号 PSELx,被置位。总线仅在SETUP 状态停留一个时钟周期,并在下一个时钟周期进入ACCESS状态。

ACCESS 使能信号PENABLE, 在ACCESS状态中置位。在传输从SETUP状态到ACCESS状态转变的过程中address, write, select和write data信号必须保持不变。从ACCESS状态退出,由从器件的PREADY 信号控制:
a) 如果PREADY 为低,保持ACCESS状态。
b)如果PREADY 为高,则退出ACCESS状态,如果此时没有其它传输请求,总线返回IDLE状态,否则进入SETUP状态。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值