AXI接口
什么是AXI?
AXI(高级可扩展接口),是ARM AMBA的一部分
AMBA(Advanced Microcontroller Bus Architecture):高级微控制器总线架构;是1996年首次引入的一组微控制器总线;开放的片内互联的总线标准,能在多主机设计中实现多个控制器和外围设备之间的连接和管理。
AXI接口的三种类型
AIX4(AXI4-Full)用于高性能的存储器映射【存储器映射-主机在对从机进行读写操作时,指定一个目标地址,这个地址就是对应系统存储空间的地址,表示对该空间进行读写操作(在读写操作时有没有指定地址)】
AXI4-Lite:简化版的AXI4接口-用于低吞吐率存储器映射通信-对寄存器进行读写,配置操作
AXI4-Stream(ST):用于高速的流数据通信-传输视频流数据
AXI优点:
- 生产力
- 灵活性
AXI | 存储器映射 | 最大突发支持256数据传输,只需要给定一个单一的地址 |
AXI-lite | 存储器映射 | 轻量级,单次的存储器映射接口(1个数据) |
AXI-Stream | 非存储器映射 | 突发长度不受限制 |
- 可获得性
AXI工作方式?
单个主机和从机之间进行信息的交互;通过AXI Intercconnect IP 和 AXI SmartConnect IP可以实现多主机和多从机之间的路由。
AXI4和AXI4-Lite包含5个独立通道:
(主机对从机的读操作)
- 读地址通道
- 读数据通道
(主机对从机的写操作)
- 写地址通道
- 写数据通道
- 写响应通道
AXI4:由于读写地址通道是分离的,所以支持双向同时传输;突发长度最大256;
AXI4-Lite:和AXI4比较相似,但是不支持突发传输;
AXI4-Stream:用于传输流数据的单一通道,是有一个单一数据通道,和AXI4的写数据通道比较类似,突发数量不受限制。
存储器映射协议:
在系统存储空间和传输数据时,需要指定目标地址
AXI4-Stream协议:
侧重于数据为中心和数据流模式的应用程序,每个AXI-Stream都充当单向通道,并具有握手式数据流。
Infrastructure IP:基础设施IP核--用于搭建系统构建模块
AXI DMA(AXI Direct Memory Access)--用于存储器映射到stream流的转换 用于AXI4 Memory Map格式和AXI4-Stream格式之间的转换。
AXI Stream 与 Memory-Mapped Protocols之间的转换
使用DMA
AXI SmartConnct IP 和 AXI Interconnect IP
这两个IP核都是用于连接单/多个存储器映射AXI Master和单/多存储器映射 AXI Slave(不能是AXI4-Stream)
AXI互联核心关键模型
关于AXI Channel的定义
- 每一个独立的通道都包含一组信息信号:VALID信号和READY信号;用于提供双向的握手机制。
- 信息源端使用VALID信号表示当前通道地址、数据和控制信息什么时候有效
- 目的端使用READY信号表示什么时候可以接受信息,
- 读数据通道和写数据通道都包含一个LAST信号,用于表示传输的最后一个数据(由源端将LAST信号拉高)
读地址通道和写地址通道,都包含各自的地址信息的通道,地址通道携带了请求所需的地址和控制信息。
读数据通道(用从机发送给主机):包含了读数据和读响应信息(从机到主机的响应信息),数据的位宽
读响应信息是被包含在读数据通道里面,写响应信息是在写响应通道,是一个独立的通道。
读响应信号用于标识读传输是否操作完成。
写数据通道(从主机发送个给从机):包含了写数据,通过WSTRB信号表示当前数据的哪个字节有效
写响应通道:由从机发送给主机,包含了写响应信号,用于标识当前写操作是否完成。
所有的信号都是在全局时钟的上升沿采样的,复位信号时在低电平有效
IVCR-自增的突发模式
突发长度和突发大小?
突发长度:
突发大小:单次数据占用了多少字节
关于握手机制的处理:
所有的五个通道都是通过相同的VALID/READY握手处理来传输地址、数据和控制信息
双向握手机制意味着主机和从机之间传输数据时,都可以控制传输的速率。
只有当VAALID和READY信号为高电平,传输才会发生。