AMBA协议笔记(APB)

AMBA协议笔记(APB)

Chapter 1 概述

APB(Advanced Peripheral Bus),是低功耗减少接口复杂度的优化接口协议。APB接口是低带宽不需高性能流水线的接口协议,同时APB也具有非流水线的协议。

所有信号都只在时钟的上升沿跳变,目的是为了简化设计流程中的APB外设融合每次传输至少需要两个cycles。APB可以与AHB,AXI连接,可以使用APB进行程序级的控制寄存器和外设。

Chapter 2 信号描述
信号来源描述
PCLK系统时钟时钟。传输发生在时钟上升沿
PRESETn等效的系统总线复位信号。低电平有效,通常与系统的复位信号直接连接
PADDRAPB桥地址,APB地址线,位宽最高32bit,由外设驱动
PSELxAPB桥选择信号,APB产生,用来选择外设。该信号表明外设从设备被选择,进行数据传输。每个从设备具都有一个PSELx信号
PENABLEAPB桥使能信号,表示传输的第二个cycle和接下来的cycle传输有效
PWRITEAPB桥方向信号,为高时表示APB写,为低时表示APB读
PWDARAAPB桥写数据,在写cycle由外部设备驱动,最高32bits
PREADY从接口就绪信号,表明从设备已就绪,进行接下来的传输
PRDATA从接口读数据,在读cycle被选中的从设备驱动此信号,位宽最高32bits
PSLVERR从接口表示传输失败,APB从设备不要求支持此信号
Chapter 3 传输

3.1 写传输

  • 没有等待状态的写传输

在这里插入图片描述

传输开始时钟上升沿(T1),PADDR,PWRITE,PSEL,PWDATA改变。传输的第一个阶段称为Setup phase。在随后的一个时钟周期,当PENABLE拉高后(T2),表示进入Access Phase(因为是无等待阶段的写操作,所以PREADY默认拉高的)。PADDR,PWRITE,PSEL,PWDATA信号在Access Phase保持不变。在Access Phase结束后表示此次传输完成。

传输完成后PENABLE信号拉低(T3)。如果接下来对同一个外设进行传输,则PSEL信号保持为高(Setup Phase),否则拉低。

  • 有等待阶段的写传输
    在这里插入图片描述

在Access Phase阶段,从端发送的PREADY可以延长此阶段(T2~T4)。此时,PENABLE为高,当PREADY为低时,各控制信号(PWRITE,PSEL,PENABLE),数据信号(PADDR,PWDATA)保持不变,一直等到PREADY为高时,完成此次传输。当PENABLE为低时,PREADY可以为任意值。

注:推荐PADDR和PWRITE信号保持不变直到下一个传输开始,这有助于降低功耗

3.2 读传输

  • 没有有等待阶段的读

在这里插入图片描述

Setup Phase与Write相似,不同的是PWRITE为低,表示APB读,PRDATA为读数据,从从设备接收读数据。在Acess Phase(T2),PENABLE拉高,PREADY拉高,完成握手,然后从设备发送读数据Data1,读传输结束。

  • 有等待阶段的读

在这里插入图片描述

与带有等待阶段的写相似,在进入Access Phase时(T2),如果从端PREADY为低,则其他控制信号(PWRITE,PSEL,PENABLE),数据信号(PADDR,PRDATA)保持不变,一直等到PREADY为高(可以延长任意时钟周期),PRDATA接收从从端读取的数据Data1,传输结束。

3.3 错误反馈

可以使用PSLAERR表明APB传输的过程中发生了错误。错误的情形可以发生在读和写过程中。PSLVERR只能在APB传输的第二个cycle拉高,即Access Phase阶段,也就是PSLE,PENABLE,PREADY都为高时

传输收到一个错误时,从设备的状态可能发生或者没有发生变化(如读/写传输过程发生错误,则无法保证读/写的数据正确性,具有不确定性)。也就是说,在一个写传输过程中发生了错误,并不意味着从设备中寄存器的值没有更新。在读传输的过程中发生了错误也可能返回的是非法的读数值。这里并没有要求从设备在读传输发生错误时将数据总线设置为0。

APB从设备并没有要求支持PSLVERR管脚(信号),这对于现有的和新的APB设计通用。(此特性非强制实现

写传输

在这里插入图片描述

在上述的写传输过程中,Access Phase阶段,T3时,PREADY拉高,同时从设备将PSLVERR拉高,表明此次传输发生错误。此时Addr1的数据可能为Data1也可能不是Data1,具有不确定性。

读传输

在这里插入图片描述

在读传输的Access Phase阶段,T4周期内,PREADY拉高,从设备发送PSLVERR为高,表明此次读传输发生错误,PRDATA读到的数据可能是非法值(不确定性)。

PSLVERR的映射关系

PSLEERR与AHB,AXI协议中错误信号存在映射关系[后续补充]。

Chapter 4 操作状态

在这里插入图片描述

状态机包括以下几种状态:

IDLE:APB的默认状态。

SETUP:当有传输需求总线进入SETUP状态(PSELx拉高,选中要进行传输的从设备,进入SETUP状态)。总线总是保持SETUP状态一个周期,然后在下个始终在后期上升沿进入ACCESS状态。

ACCESS:PENABLE拉高时,进入ACCESS状态。在总线由SETUP到ACCESS过程中,PADDR,PWRITE,PSEL,PWDATA必须保持不变。离开ACCESS状态是由从设备PREADY进行控制

  • 如果PREADY为低,则从设备总线保持ACCESS状态。(PSELx==1,PENABLE==1,PREADY==0)
  • 如果PREADY为高,则退出ACCESS状态。如果接下来有传输,则总线直接进入SETUP状态。如果接下来没有传输,则进入IDLE状态。

参考资料:AMBA 3 APB Protocol v1.0 Specification

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: AMBA协议APB3(Advanced Peripheral Bus 3)是一种在ARM处理器与外围设备之间传输数据的总线协议。它是AMBA协议族中相对较简单的一种总线协议,主要用于连接芯片内部的低速IO设备,例如电源管理芯片、GPIO控制器或者LED驱动器等。 APB3协议的数据传输采用的是基于时钟沿的同步传输方式。在数据传输过程中,数据的传输和控制信号是分开发送的,控制信号比数据信号的带宽小,并且可以确定传输的具体位置和大小。APB3协议支持访问长度为8位、16位和32位的数据,以及读、写和读写的访问方式。 APB3协议的主从构架与其他AMBA协议类似。主设备通过传输起始地址和控制信号指示从设备进行数据操作;从设备接收到读或写请求后根据控制信号进行相应的数据操作,并向主设备返回操作结果。 总体来讲,APB3协议由于其简单易懂、适用范围广以及与其他AMBA协议兼容的优点,使其成为了嵌入式系统设计中非常常见的总线协议。 ### 回答2: AMBA协议是专门为嵌入式系统中处理器和外设之间的通信设计的一个通信协议。其中,APB3是AMBA协议中的一种总线协议APB3全称为“Advanced Peripheral Bus 3”,意为高级外设总线第三版。 APB3协议的设计针对的是外设的低带宽、低功耗需求。与其他总线协议相比,APB3支持低功耗模式和深度睡眠模式,能够最大限度地节省外设的能耗。同时,APB3在数据线和地址线的数量上也做出了优化,能够在外设具有较小的面积和成本的同时满足通信需求。 按照APB3协议,外设需要具备一定的状态机和寄存器,从而能够被连接到APB3总线上进行数据传输和处理。在APB3总线上,数据是按照字节流进行传输的,数据传输流程通过读写控制信号的控制完成。同时,APB3还通过支持优先级编码和多主机机制来保证数据的传输的异步操作稳定和可信。 总之,APB3协议是一种适用于低带宽、低功耗的外设通信协议,通过其支持的低功耗模式、优先级编码、多主机机制和异步操作,能够帮助嵌入式系统开发中的处理器和外设之间实现更加高效可靠的数据传输和通信。 ### 回答3: AMBA协议是英国ARM公司开发的一种片内总线系统,其中包含了APB总线协议APB3是AMBA APB的第三代协议,其核心设计思想是提高吞吐量和降低延迟。 APB3优化了交互协议,增加了对对称式管道传输和多条命令的支持,进一步提高了总线效率。同时,APB3还引入了带宽请求和数据传输等多条信号线,可以支持高带宽传输和多主机系统的需求。 APB3的数据传输采用存储器映射方式,在地址和数据之间以清晰的指令格式进行传输,支持多种类型的传输模式。此外,APB3还提供了用于连接外设到总线上的两种接口类型:主机接口和从机接口。 在实际应用中,APB3协议广泛应用于低速外设的连接,如GPIO、ADC、DAC等。此外,由于APB3协议具有可扩展性和易实现性,还可以适用于其他一些应用场景。 总体来说,APB3协议的设计和优化都旨在提高总线的性能和效率,为处理器和外设之间的高效通信提供了支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值