AXI (Advanced eXtensible Interface)
介绍
AXI是ARM AMBA(Advanced Microcontroller Bus Architecture)的一部分,专为高性能、高带宽、低延迟的片内总线设计。它支持多种数据宽度,并且允许读写操作同时进行,极大地提高了总线的利用率。
信号定义
AXI协议定义了多个独立的通道:
AW(Address Write)通道:用于发送写地址和写命令。
W(Write)通道:用于发送写数据。
B(Write Response)通道:用于接收写响应。
AR(Address Read)通道:用于发送读地址和读命令。
R(Read)通道:用于接收读数据。
突发模式
AXI支持以下几种突发模式:
FIXED:每个突发中所有传输的地址相同。
INCR:每个突发中地址依次递增。
WRAP:每个突发中地址在达到一定界限后重新回到起始地址。
优点
高性能:支持高带宽、低延迟的数据传输。
灵活性:支持多种数据宽度,可根据需要配置。
读写并行:地址和数据通道分离,允许同时进行读写操作。
支持突发传输:减少总线占用时间,提高效率。
支持乱序传输:允许事务乱序完成,提高总线利用率。
缺点
实现复杂度高:协议复杂,实现成本较高。
硬件开销较大:需要更多的硬件资源来支持其功能。
AHB (Advanced High-performance Bus)
介绍
AHB是为高性能系统设计的总线协议,它支持多主设备(master)和多从设备(slave)的连接,并通过仲裁机制实现总线控制权的分配。
信号定义
AHB总线使用单通道传输地址和数据,信号包括:
HADDR(地址信号):用于发送地址。
HWDATA(写数据信号):用于发送写数据。
HRDATA(读数据信号):用于接收读数据。
HREADY(传输完成信号):用于控制数据周期。
突发模式
AHB支持以下几种突发模式:
SINGLE:单次传输。
INCR:递增传输。
WRAP:环绕传输。
优点
高性能:虽然不及AXI,但仍能满足大多数高性能嵌入式应用的需求。
相对简单:与AXI相比,协议较为简单,实现起来容易。
支持突发传输:可以进行连续的数据块传输。‘
缺点
性能受限:相较于AXI,性能有所下降。
地址/数据不分离:地址和数据在同一通道上传输,可能影响效率。
APB (Advanced Peripheral Bus)
介绍
APB总线是为低带宽需求的外设设计的,主要用于连接低速外设,如UART、I2C、SPI等。它支持单主设备(master)多从设备(slave)的连接,并且不需要仲裁机制。
信号定义
APB总线使用单通道传输地址和数据,信号包括:
PADDR(地址信号):用于发送地址。
PWDATA(写数据信号):用于发送写数据。
PRDATA(读数据信号):用于接收读数据。
优点
简单:协议简单,实现成本低。
适合低速外设:适合连接低速外设,节省资源。
低功耗:传输速率较低,功耗也相对较小。
缺点
不适合高性能应用:传输速率低,不适合需要高性能的应用场景。
数据传输速度较慢:与AXI和AHB相比,数据传输速度较慢。
横向对比
总结
总结来说,AXI适用于需要高性能和高带宽的应用场景,如数据中心、高性能计算等领域;AHB适用于需要高性能但成本敏感的嵌入式系统;而APB适用于连接低速外设,如在消费电子产品的嵌入式系统中。选择哪种总线应根据具体的应用需求和系统架构来决定。
深入研究参考连接:
1.
AXI4协议学习:架构、信号定义、工作时序和握手机制-优快云博客
2.
【IC设计】草履虫都能看懂的AXI入门博客(大量图文来袭,手把手教学,波形仿真)_axi设计-优快云博客
3.
4.
AMBA总线APB、AHB、AXI(详细)总结附实例便于快速掌握_cpu, ahb and apb-优快云博客
5.