• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

APB协议和3.0-4.0-5.0对比

武飞扬头像
IC碎碎念
帮助1

APB协议详解与3.0-4.0-5.0对比

AMBA 总线中APB总线作为使用最多也最为基础的总线,本文主要总结介绍APB总线的优缺点,以及目前使用最广的APB3.0与4.0使用的对比。与5.0的介绍

APB总线介绍

AMBA,是一种开放的协议,主要用于SoC内部和ASIC,用于连接各种功能模块

学新通

大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。主模块是向从模块发出读写操作的模块,如CPU,DSP等;从模块是接受命令并做出反应的模块,如片上的RAM,AHB/APB 桥等。另外,还有一些模块同时具有两种属性,例如直接存储器存取(DMA)在被编程时是从模块,但在系统读传输数据时必须是主模块。如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。**APB 桥既是APB总线上唯一的主模块,也是AHB系统总线上的从模块。**其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生APB外围设备的选择信号,从而实现AHB协议到APB协议的转换

APB简介(外围总线)

学新通

学新通

1)系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。

2)当有传输要进行时,PSELx=1,PENABLE=0,系统进入SETUP状态,并只会在SETUP 状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE 状态。

3)系统进入ENABLE状态时,维持之前在SETUP 状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态(不考虑pready信号)。

学新通

以上是APB总线最简单基础的一次数据传输(没有等待和报错)

APB3.0新增PREADY和PSLVER信号,PREADY用于表示APB传输的完成,APB_Slave通过PREADY信号直接来告诉master现在APB_Slave已经READY了,可以接受读写操作,如果此时不READY,那么master就要wait到它Ready,这样就不需要软件时刻去轮询status register了。

对于PSLVERR而言,加入了Slave反馈给master error response功能。pslverr信号只在APB传输的最后一个周期有效,此时psel,penable,pready信号都为高。若pslverr信号置高表示此次传输失败,但是并不表示此次写寄存器失败,寄存器的值还是可能更新。若是读数据,也并不意味着rdate一定全是0.

AMBA3.0增加pready后:ACCESS状态的跳转取决于slave 输出的PREADY信号状态:

pready与pslver为slave输出信号。

1)如果 PREADY 为 0,表示slave还没有准备好接收数据,会让其继续处于 ACCESS 状态;

2)如果PREADY 为 1,表示slave已完成数据,可以跳转到其他状态。如果后面有连续的数据传输则直接跳转到 SETUP,如果没有传输,直接回到 IDLE;

学新通

关于pslverr的应用图。

学新通
学新通

**From AXI to APB :**An APB error on PSLVERR is mapped back to RRESP for reads and BRESP for writes.
**From AHB to APB:**An APB error on PSLVERR is mapped back to HRESP for reads and writes.

**APB4增加了PPROT(Transaction protection),PSTRB(Sparse data transfer)。**这两个信号都是可选信号。

PPROT信号主要可实现安全和非安全的数据传输,可实现系统在不同安全属性的控制传输,保证系统的安全性。

学新通

PPROT[0]表示不同优先级的传输,可实现salve对不通优先级数据的特殊处理操作。

PPROT[1]表示对不同安全属性的数据传输,对Secure和Non-secure的数据进行数据处理,Non-secure不能更改secure属性的区域。

PPROT[2]用来指示此时传输的是数据还是指令。

PSTRB信号用于实现一笔写数据传输中wdate[31:0]的数据有效位。

学新通

For read transfers, the Requester must drive all bits of PSTRB LOW

APB5增加了wake-up,user,pairty protection和check信号

wake-up用于实现低功耗的控制,通过控制时钟只在传输的时候开启,减少动态功耗的消耗。用于指示组件是否支持唤醒信号

user则增加了用户自定义信号
学新通

pairty protection和check信号主要针对安全系统设计中的保护功能。以支持安全传输与安全验证。

解决方案主要有奇偶校验或者SECDED算法等。

AMBA5中提供了奇偶校验的解决方案。具体使用可由用户自己决定。

奇偶校验信号的每一位最多覆盖8bit数据。下表展示了一些APB信号和对应的check 信号。

学新通

APB 总线特点总结

APB总线只有一个master,其他的都是slave。

APB 总线传输是对数据目标的读写操作,总是至少需要 2个总线周期

可工作在高频下

协议简单:无复杂的时序;只有四个控制信号。(PSEL,Pwriter,Penable,Pread)

同步总线:总线上所有的transaction(读写操作)都依赖于时钟的上升沿;

一主多从:一般情况下,APB挂在AHB总线系统下,通过AHB-APB Bridge将事务在AHB总线系统之间进行转化,此时Bridgre即为APB的master,其他的外围设备均为slave。 ****

APB主要用于低带宽的周边外设之间的连接,例如UART、I2C等,

IHI0024D_amba_apb_protocol_spec.pdf

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcjgkb
系列文章
更多 icon
同类精品
更多 icon
继续加载