AMBA总线APB、AHB、AXI(详细)总结附实例便于快速掌握

一、简介

本文主要介绍APB、AHB和AXI总线的相关内容,同时对比三种总线的差异,附图和应用场景方便读者快速掌握。

二、具体内容

AMBA总线的系统架构:其中APB总线是AHB总线的扩展,方便外设连接到系统总线上,AHB和APB之间有一个转接桥来进行连接。
在这里插入图片描述

对于AMBA协议,APB的信号都是以P开头,AHB的信号都是以H开头,而AXI的信号都是以A开头。

2.1 APB

APB的全称为Advanced Peripheral Bus高级外围总线,是一种优化的,低功耗的,精简接口总线,可以技术多种不同慢速外设;主要应用在低带宽的外设上,如UART、 I2C和SPI,除了连接低速外设之外,APB总线还广泛用于配置各种IP的寄存器(这些IP预留用户控制信号,由软件进行配置,这个时候就可以选择使用APB总线来配置这些寄存器)。
APB协议不支持流水线设计,它主要应用在低带宽设计需求的接口中,高性能带宽需求可以使用AXI总线。APB协议的实现与时钟沿对齐,以简化外设接口的设计。每次传输至少需要消耗两个时钟周期。
总结特点如下:
1、低成本;
2、低功耗;
3、低带宽;
4、无流水线结构;
5、所有信号的跳变仅与时钟上升沿相关;
6、每次传输至少需要两个时钟周期。

2.2 AHB

AHB (Advanced High-performance Bus) 高级高性能总线,用于高性能、高时钟频率的系统模块,典型的应用如ARM核与系统内部的高速RAM、NAND FLASH、DMA、Bridge的连接。
AHB总线强大之处在于它可以将微控制器(CPU)、高带宽的片上RAM、高带宽的外部存储器接口、DMA总线控制器,以及各种AHB接口的控制器等连接起来构成一个独立的完整SOC系统,还可以通过AHB-APB桥来连接APB总线系统。
AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的Mux、从模块到主模块的Mux、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。具体结构如下图所示。
在这里插入图片描述

AHB总线具有两级流水操作,包括地址周期和数据周期的两级流水线处理。第一个周期读地址,第二个周期写数据,用流水线操作处理,在第二个周期写数据的同时读另一个地址,这样在下一个周期就可以直接写数据,读地址写数据同时进行,这样两周期的操作在流水线开始后每周期都能写一个数据。
在这里插入图片描述

总结特点如下:
1、Burst传输;
2、Split事务处理;
3、单周期master移交;
4、单一时钟沿操作;
5、无三态;
6、更宽的数据总线配置(64/128);
7、流水线操作;
8、可支持多个总线主设备(最多16个)。

2.3 AXI

AXI (Advanced eXtensible Interface) 高级可拓展接口,高速度、高带宽,管道化互联,单向通道,只需要首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多。

AMBA版本AXI版本ACE版本
AMBA3AXI3\
AMBA4AXI4、AXI4-LiteACE、ACE-Lite
AMBA5AXI5、AXI5-LiteACE5、ACE5-Lite、ACE5-LiteDVM

多个master和slave连接在一起构成的典型系统如下:
在这里插入图片描述

总结特点如下:
1、地址/控制操作与数据操作分离;
2、使用byte strobes (字节选通) 信号实现非对齐数据传输;
3、使用burst传输 (突发传输) 时只需要发送首地址,便可以发送一段数据读数据和写数据通道独立,从而支持DMA (low-cost Direct Memory Access);
4、支持outstanding功能,可以发送多个地址进行读写;
5、支持out-of-order传输;
6、Permits easy addition of register stages to provide timing closure。

三、总线对比

3.1 总体对比

总线功能通道主从设备数据操作
APBAPB是高级外围总线单通道总线,不支持读写并行单主设备多从设备,主设备就是APB桥,不具有仲裁机制不支持
AHBAHB是先进的高性能总线单通道总线,不支持读写并行多主/从设备,且通过仲裁机制实现总线控制权的分配支持突发传输
AXIAXI是先进的可扩展接口多通道总线,总共分为五个通道,能够实现读写并行多主/从设备,且通过仲裁机制实现总线控制权的分配;支持突发传输,数据非对齐操作

3.2 部分功能差异

具体内容详细说明:
1、AHB突发传输与AXI突发传输的区别:
AHB协议需要一次突发传输的所有地址,地址与数据锁定对应关系,后一次突发传输必须在前次传输完成才能进行;
AXI只需要一次突发的首地址,可以连续发送多个突发传输首地址而无需等待前次突发传输完成,并且多个数据可以交错传递,此特征大大提高了总线的利用率;

AHB总线与AXI总线均适用于高性能、高带宽的SoC系统,但AXI具有更好的灵活性,而且能够读写通道并行发送,互不影响;更重要的是,AXI总线支持乱序传输,能够有效地利用总线的带宽,平衡内部系统。因此SoC系统中,均以AXI总线为主总线,通过桥连接AHB总线与APB总线,这样能够增加SoC系统的灵活性,更加合理地把不同特征IP分配到总线上。

四、其他相关链接

1、PCI总线及发展历程总结

2、SPI协议详细总结附实例图文讲解通信过程

3、I2C总线内容总结分享

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值