一、什么是AXI
(一)简介
AXI:高级可扩展接口,是ARM,AMBA的一部分
AMBA:是由ARM公司定义的一种高级微控制器总线架构;开放的片内互联总线标准,提供一种用于系统-on-chip(SoC)设计的通用、高性能、可扩展的总线架构,以便于不同的处理器、外设和其他硬件组件之间的通信和协作。
(二)分类
AXI4(AXI4-Full): 用于高性能的存储器映射需求
(存储器映射:主机对从机进行读写操作时,指定一个目标地址,这个地址对应系统存储空间的地址,表示对该空间进行读写操作)
AXI4-Lite: 简化版AXI4,低吞吐率存储器映射通信
AXI4-Stream(AXI4-ST): 用于高速的流数据通信
通过DMA可以实现AXI4数据流通信到存储器映射的转换
(三)优势
- 高效性:只需要学习一个IP核
- 灵活性:AXI4仅使用一个地址阶就允许高达256个数据传输周期的高吞吐量。AXI4-Lite占据很小的逻辑空间,但突发长度仅为1。AXI-Stream无需指定地址,不限制突发长度,不属于存储器映射。
(四)工作方式
AXI4和AXI4-Lite包含5个独立通道:主机对从机的读地址通道,写地址通道,写数据通道,读数据通道,写响应通道
二、AXI SmartConnect 与 AXI Interconnect IP核
都可以将一个或多个AXI内存映射的主设备连接到一个或多个内存映射的从设备。
如果系统较为简单,对总线连接的定制需求不高,AXI SmartConnect 可能是一个更便捷的选择。而对于需要更精细控制和定制的系统,AXI Interconnect 则提供了更多的灵活性和配置选项。通常,AXI Interconnect 更适用于大型、复杂的 SoC 设计,而 AXI SmartConnect 则适用于相对简单的连接场景。
三、AXI4读写操作
AXI4: 由于读写操作是分离的,因此支持双向同时传输.最大突发长度为256("突发长度"(burst length)指的是在一个AXI事务中一次性传输的数据元素数量)
AXI4-Lite:与AXI4类似,但是不支持突发传输
AXI4-Stream:只有一个单一的通道,和AXI4写数据通道相似。突发长度不受限制
突发长度是指单词所传输的数据个数,突发大小是指传输的每个数据位宽大小
(一)读
(二)写
四、协议规范
对于5个独立的通道,每个通道都包含一组信息信号,VALID信号和READY信号,用于提供双向的握手机制。
对于数据的源端用VAILD信号去表示地址,数据和控制信号就绪,终端使用READY去表示自己可以接受数据。在最后一个传输的数据后,写数据通道和读数据通道的最后都有一个LAST信号。
读数据通道和写数据通道都包含各自的地址通道,地址通道包含了携带了请求所需的地址和信息。
读数据通道由从机发送给主机,包含了读数据和读响应的信息,读响应信号用于表示读传输是否完成
而写数据通道是由主机发送给从机,包含了写数据,通过频闪信号WSTRB来表示当前数据的哪个字节有效
写响应通道是由从机发送给主机,当前写操作完成后,从机向主机发送该信号
(一)写地址信号通道
(二)写数据信号通道
(三)写响应信号通道
关于读写的响应信号,有以下种类:
(四)读地址信号通道
(五)读数据信号通道
五、接口介绍
(1)时钟采用全局时钟,上升沿采样
(2)复位信号低电平有效,此时主机的ARVALID,AWVALID和WVALID信号为低电平,从机的RVALID和BVALID为低电平,其他信号可以为任意值
(3)握手处理。只有当VALID和READY都为高电平时,信号才可以传输
六、时序图
(一)突发读
(二)突发写
###本文参考正点原子视频,仅用于自己学习复习,如有侵权,请联系删除
###协议文件可私信获取