一、什么是AXI?
AXI(Advanced eXtensible Interface, 高级可扩展接口)隶属于ARM AMBA(Advanced Microcontroller Bus Architecture)家族,AMBA是1996年ARM引入的微控制器总线标准。AMBA的本质是开放的片内总线互联标准,为多主机设计中多个微控制器和外围设备的连接和管理提供了基础。
AXI于2003年在AMBA3.0标准中首次出现,于2010年发布的AMBA4.0则推出了AXI,AXI4的第二个主流版本,并广泛使用至今。
二、AXI接口的类型
有三种形式的AXI接口,Xilinx的官方文档UG1037中对它们的描述如下:

- AXI4(AXI4-Full):为了满足高性能存储器映射的需求
- AXI-Lite:简化版的AXI4接口,为了简单、低吞吐量的存储器映射通信(例如到控制寄存器和状态寄存器的通信)
- AXI4-Stream(AXI-ST):为了高速的流式数据通信而设计(比如视频流),不属于存储映射的范围。
在这里简单补充一下存储器映射(Memory-Mapped)的概念(Quoted From The Zynq Book):如果一个协议是存储映射的,那么在主机所发出的会话中(无论读或写)中就会标明一个地址,这个地址是对应于系统存储空间中的一个地址。也就是在AXI4的语境下,所有对外设的访问都会被抽象为对特定存储空间地址的访问。
三、AXI协议的优势
-
生产力:通过将AXI接口标准化,开发者只需要学习一个简单的协议。
-
灵活性:正如上面分类所述,有三种不同类型的AXI4接口提供了广泛的应用场景(这里还有一些关于三种接口的详细说明,不再详述了)
-
可获得性:通过成为事实上的工业标准,不仅可以使用到各式各样的IP核,也同时加入到ARM全球的合作者中

四、AXI如何工作?- AXI和AXI-Lite接口都包含5个不同的通道:读地址通道、写地址通道、读数据通道、写数据通道、写响应通道。数据可以在主从端口之间同时地双向传输,数据传输规格是可变的。AXI4协议支持一次高达256个数据的猝发传输,而AXI-Lite则一次只能传输一个数据。
- 下面的图片展示了一次AXI4读事务的执行时序:

也就是主机首先向从机发送要读的地址和控制信息(比如说促发传输的数据长

本文详细介绍了ARM的AXI接口协议。AXI隶属于AMBA家族,有AXI4、AXI - Lite、AXI4 - Stream三种接口类型。阐述了其优势,包括生产力、灵活性和可获得性。还说明了工作方式、通道描述、信号描述,分析了主从接口通信波形图及通道握手信号时序依赖关系,最后介绍了AXI - Lite接口特性。

128

被折叠的 条评论
为什么被折叠?



