APB/AHB/AXI总线介绍和理解

APB/AHB/AXI总线介绍:

     

系统总线连接的设备,根据功能不同分为主模块和从模块。大部分挂在总线上的模块只是单一属性的功能模块:比如要么是主模块,要么是从模块。主模块是向从模块发出读写操作的模块,如CPU、DSP等。从模块是接受主模块发来的命令并做出反应的模块,如片上的RAM,AHB/APB桥接器等。另外,还有一些模块同时具有两种属性,比如DMA(直接存储器存取),在被CPU编程时是从模块,但在后续传输数据时是主模块。

系统芯片上,通常设计多个主模块和多个从模块。不同的从模块在总线上对应着互不重叠的地址区间,总线通过主模块发起传输任务的目标地址。AXI总线使用不同的ID号来区分主模块,主模块可以在其他主模块访问未完成的情况下继续发起请求。同一条AHB总线上的设备共享固定的地址数据传输通道,这意味着其中一个主模块占用AHB总线后,其余主模块均处于等待状态。如果总线上存在多个主模块,这就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。

AHB-APB桥接器既是APB总线上唯一的主模块,也是AHB总线上的从模块。其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。AXI-AHB桥接器跟AHB-APB桥接器具有类似的功能。

如上AMBA系统总线框图,AXI总线连接嵌入式处理器、片内RAM、DMA主机、ISP、CODEC等高速设备,AHB总线连接着PCIE、USB、HDMI、ROM等高速接口设备,APB总线连接UART、SPI、IIC、GPIO、TIMER等低速设备。这样处理器就能通过这些总线及桥接器访问到相应的从模块。根据工作频率不同,总线被设计成高速总线和低速总线:高速总线支持较高的时钟频率,拥有较高的数据带宽和性能,但功耗也比较高,一般适用于处理器、DSP、DMA等高速设备的连接。低速总线工作频率低,虽然性能差,但功耗也低,适合挂载串口等低速外设。

APB/AHB/AXI均属于AMBA (Advanced Microcontroller Bus Architecture),常用于SoC设计中,全称叫作高级微控制器总线架构,它是由ARM公司研发推出的高性能片上总线协议。

AMBA 1.0还包含ASB和APB(ASB (Advanced System Bus) 高级系统总线APB (Advanced Peripheral Bus) 高级外围总线)。

APB (Advanced Peripheral Bus) ,全称叫作高级外围总线。主要用在低速且低功率的外围,可针对外围设备作功率消耗及复杂接口的最佳化。APB在AHB和低带宽的外围设备之间提供了通信的桥梁,所以APB是AHB或ASB的二级拓展总线。主要应用在低带宽的外设上,如UART、 I2C,它的架构不像AHB总线是多主设备的架构,APB总线的唯一主设备是APB桥(与AXI或APB相连),因此不需要仲裁一些Request/grant信号。APB的协议也十分简单,甚至不是流水的操作,固定两个时钟周期完成一次读或写的操作。其特性包括:两个时钟周期传输,无需等待周期和回应信号,控制逻辑简单,只有四个控制信号。

AHB (Advanced High-performance Bus),全称叫作高级高性能总线。AHB用于高性能、高时钟频率的系统结构,典型的应用如ARM核与系统内部的高速RAM、NAND FLASH、DMA、Bridge的连接,AHB总线由主设备Master、从设备Slave,内部包括仲裁器,译码器,数据多路和地址控制多路组成。

AXI(Advanced eXtensible Interface),全称叫作高级可扩展接口,是一种总线协议,该协议是ARM公司提出的AMBA3.0中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。高速度、高带宽,管道化互联,单向通道,只需要首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多。 适合高带宽低延时设计,无需复杂的桥就实现高频操作,向下兼容已有的AHB和APB接口。

三者特点总结:

APB、AHB、AXI速度依次提高

APB最大总线带宽32、AHB最大总线宽度256、AXI最大总线宽度为1024;

AXI传输速度快,5个通道相互独立(读地址通道、读数据通道、写地址通道、写数据通道、写响应通道),且支持outstanding乱序传输,AHB只有三个通道;

AXI支持读写并行操作,其他两个不支持;

AXI和AHB支持多主/从设备,且有仲裁机制,而APB则不支持。

应用和理解:

据自己了解到的,像一些arm芯片平台的设计都会用到此三个总线,比如pcie,usb,sd,spi当总线等。  猜测ARM公司设计好CPU核后把这些总线结口开放出来,然后授权给各大半导体厂商,这些厂商再利用自身的优势设计出各个外围模块挂结到这些总线上,最终做成一个CPU。

比如自己对PCIE 模块的一个理解:

再比如SPI:

其中dma模式开启时,dma可直接与dram交互通信。

AHB总线连接:

主接口框图:

  每一次的数据传送可分成四种型态,M 用 HTRANS[1:0] 信号来决定此次传送数据的型态,这四种传送型态分别是 IDLE、BUSY、NONSEQ 和 SEQ。
  当 M 传送的数据型态为 IDLE 时,表示 M 这时候想要拥有总线的使用权,但并不需要作数据的传送,此时的 S 必须立即作出 OKAY 的响应;
  第二种数据传送型态为 BUSY,当 M 进行一连续笔数据传递期间,若有些数据无法实时在下一个周期作传送,此时 M 会发出 BUSY 信号来延迟此笔数据的传送,S 这时候也会响应一个和 IDLE 传送型态一样的 OKAY 信号,同时忽略这笔数据的传递;
  另一种传送型态为 NONSEQ,NONSEQ 的传送型态表示此次的传送为单笔数据传送或一连续笔数据传送中的第一笔,因此这种的传送型态,数据的地址和控制信号跟前一笔数据不具有关联性;
  最后一种数据传送型态为 SEQ,在一连续笔数据的传递中,除了第一笔数据之外,其它的数据传递型态为 SEQ (第一笔为 NONSEQ),这种数据传递的控制信号和前一笔相同,而数据的地址则为前一笔数据地址加上由 HBURST[2:0]和 HSIZE[2:0] 信号所决定出的地址累加值

从接口框图:

 AHB总线互连(中间还有仲裁器arbiter):

AHB总线协议时序

AHB总线协议的时序包括传输请求阶段、传输数据阶段和传输结束阶段三个阶段。

传输请求阶段

传输请求阶段包括主设备发送传输请求(HTRANS)和传输类型(HSEL)信号,从设备响应传输请求(HREADY)和传输状态(HRESP)信号等时序。

传输数据阶段

传输数据阶段包括主设备发送传输数据(HWDATA)和传输字节掩码(HWRITE)信号,从设备接收传输数据(HRDATA)和传输字节掩码(HRESP)信号等时序。

传输结束阶段

传输结束阶段包括主设备发送传输结束(HMASTLOCK)信号,从设备响应传输结束(HREADY)信号等时序

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
AXI(Advanced eXtensible Interface)协议是一种高性能、可扩展、流水线化的总线协议,与APB(Advanced Peripheral Bus)和AHB(Advanced High-performance Bus)协议相比,具有以下优缺点: 优点: 1. 高性能:AXI协议支持乱序传输和并发操作,能够提供高效的数据传输和处理,满足现代高性能芯片对总线带宽和处理能力的需求。 2. 可扩展性:AXI协议支持多主设备和多从设备的连接,能够满足大规模集成电路设计的需求,提供更高的设备连接性。 3. 流水线化:AXI协议采用流水线的传输方式,使每个数据包在总线上流动的时间更短,能够最大限度地提高总线带宽,提高数据传输效率。 4. 灵活性:AXI协议支持不同的传输类型,如读写传输、突发传输和单个传输等,可以根据不同应用的需要进行配置,提供了更大的灵活性。 缺点: 1. 复杂性:与APBAHB相比,AXI协议更加复杂,需要对其详细的规范和协议进行掌握和理解,对于初学者来说学习成本较高。 2. 资源占用:由于AXI协议支持更高的性能和扩展性,需要更多的物理资源来实现,如引脚数量、片上存储等,可能导致芯片设计资源消耗的增加。 总体来说,AXI协议在高性能、可扩展性和灵活性方面较APBAHB协议更为优越,但其复杂性和资源消耗也相对较高。对于需要满足大规模集成电路设计需求的高性能应用,或者追求更高传输效率和可扩展性的设计,选择AXI协议是一个不错的选择。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

a2591748032-随心所记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值