AXI接口,全称为Advanced eXtensible Interface,是ARM公司推出的一种高性能、低成本、可扩展的高速总线接口。AXI接口是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)高级微控制器总线架构的一部分。2003年发布了AXI的第一版即AXI3.0(称为AXI3),2010年发布了AXI的第二版即AXI4.0(称为AXI4)。
主要特点:
高性能、高带宽、低延迟:AXI接口被设计用于需要高性能、高带宽和低延迟的应用场景。
灵活性和可扩展性:AXI接口具有高度的灵活性和可扩展性,可以适应不同的应用场景和系统需求。
支持多种传输类型:包括读取、写入、缓存、锁定和原子性操作。
支持多个主设备和从设备,支持不对齐的数据传输:可以方便地构建高度集成的系统。
总线的地址/控制和数据通道是分离的,具有分离的读/写数据通道;
支持突发传输,突发传输过程中只需要首地址;
支持显著传输访问和乱序访问,更加容易进行时序收敛
类型与版本:
AXI接口有三种主要类型:AXI4、AXI4-Lite和AXI4-Stream。
AXI4:最完整、最全面的版本,支持大量的高级特性,如数据一致性、QoS(Quality of Service)、多周期传输、多个地址通道等。
AXI4-Lite:简化版,只支持简单的读写操作,适用于对带宽要求不高的设备。主要用于访问一些低速外设中的寄存器
AXI4-Stream:面向流数据的版本,适用于数据流传输,如音视频数据,高速 AD、PCIe、DMA 接口等需要高速数据传输的场合
技术细节:
地址/控制和数据通道分离:使得AXI接口在数据传输时具有更高的灵活性和效率。
支持不对齐的数据传输:增加了数据传输的灵活性。
支持突发传输:在突发传输过程中只需要首地址,提高了数据传输的效率。
分离的读/写数据通道:进一步提高了数据传输的并行性和效率。
读传输过程,主机首先在读地址通道给出读地址和控制信号,然后从机由读数据通道返回读出的数据,主机从该地址连续突发读出四个数据。
写传输过程中,用到了写地址、写数据和写响应三个通道。突发写四个数据。
AXI 总线中的每个通道都包含了一组信息信号,还有一个 VALID 和一个 READY 信号。所有的输入信号都在是 ACLK 的上升沿采样,输出信号在上升沿后改变。T1时刻后,源端VALID信号拉高,说明 INFORMATION信号线上传输的是有效的地址、数据或者控制信息。T2时刻,目的端READY信号拉高,说明准备好接受数据。T3时刻开始进行数据传输。
应用场景:
AXI接口广泛应用于数字系统中,特别是嵌入式系统、FPGA和ASIC设计中。
用于连接处理器、内存、外设以及其他硬件模块之间,提供了一种灵活、可扩展的通信方式。