AXI接口协议学习总结

article/2025/10/18 9:18:30

AXI接口协议学习总结

下面将AXI接口协议学到的相关内容整理如下

一、AXI接口协议定义

AXI是Advanced eXtensible Interface的缩写,译为高级可扩展接口协议,是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)高级微控制器总线架构的一部分,是一种高性能、低时延、高带宽的芯片内部多主机与多从机互连总线,可以用来替代APB和AHB总线,2003年发布了AXI第一版即AXI3.0(称为AXI3),2010年发布了AXI第二版即AXI4.0(称为AXI4)。

二、AXI接口协议特点

1、地址信号、地址控制信号、数据信号、数据控制信号相互对立;
2、只需要传输首地址;
3、向下兼容AHB和APB;
4、地址信号与数据信号分离,满足低时延;
5、使用字节选通,支持非对齐的数据传输。

三、三种AXI接口协议

AXI以下有三种接口协议,满足不同的使用需求
1、AXI4:属于存储器映射(通过地址访问数据)协议,主要用于高速数据传输,例如处理器/FPGA等主设备访问DDR等从设备。相当于原来的AHB接口协议。
2、AXI-Lite:是AXI4的简化版,单次仅能读写1个数据,类似原来处理器通过EMIF读写FPGA寄存器,主要用于寄存器的配置。相当于原来的APB接口协议。
3、AXI-stream:与上面两种存储器映射方式不同,数据传输不需要地址,主从设备之间直接连续读写数据,主要用于视频、高速AD、PCIe、DMA接口等需要高速数据传输场景,与FIFO类似。

四、AXI接口通道

(一)AXI接口通道总体分类

AXI接口通道可以总体分为读通道和写通道。
1、读通道又包括:读地址通道和读数据通道,读取数据过程如下图所示。
在这里插入图片描述
其中:
1)、读地址通道:不仅包括读数据的地址,还可以携带控制消息,用于描述被传输的数据属性。
2)、读数据通道:读数据和读响应信号包括数据总线(8/16/32/64/128/256/512/1024 bit)和指示读传输完成的读响应信号。

2、写通道又包括:写地址通道、写数据通道,写数据反馈,写数据过程如下图所示。
在这里插入图片描述
其中:
1)、写地址通道:同上,不仅包括写数据的地址,还可以携带控制消息,用于描述被传输的数据属性。
2)、写数据通道:包括数据总线(8/16…1024 bit)和字节线(用于指示8 bit 数据信号的有效性)。
3)、写响应通道:slave使用写响应通道对写传输进行响应。

(二)AXI接口握手信号

以上提到读地址通道、读数据通道、写地址通道、写数据通道,写数据反馈通道这5个通道,都有独立的VALID/READY信号,实现握手机制,发送端和接收端都可以实现流控,发送端使用VALID表明地址/控制信号、数据是有效的,接收端使用READY表明自己能够接收信息。
注意:主设备和从设备可以是发送或接收。

(三)多主机、多从机互连

AXI严格来讲应该是主机与从机点对点的接口协议,但是通过xilinx提供的Interconnect IP核可以实现多主机与多从机的互连,即AXI互联矩阵,作用是提供将一个或多个AXI主设备连接到一个或多个AXI从设备的一种交换机制,类似于交换机的交换矩阵。
AXI可以提供三种接口之间互连:
1、master/interconnect;
2、slave/interconnect;
3、master/slave。
地址及数据总线共享方式有三种:
1、共享地址与数据总线;
2、共享地址总线,多数据总线;
3、multilayer多层,多地址总线,多数据总线。
在大多数系统中,地址通道的带宽要求没有数据通道高,因此可以使用共享地址总线,多数据总线结构来对系统性能和互联复杂度进行平衡。
拓扑结构如下图所示:
在这里插入图片描述

五、AXI接口信号说明

(一)全局信号

1、ACLK:全局时钟信号
2、ARESTn:全局复位信号

(二)读地址信号

1、ARID:读地址ID,M->S;
2、ARADDR:读地址,M->S;
3、ARLEN:突发长度,M->S;(读取的个数)
4、ARSIZE:突发尺寸,M->S;(每次突发传输的字节数)
5、ARBURST:突发类型,M->S;(有FIXED,INCR,WRAP三种类型,其中FIXED为固定地址,循环读取相同位置的数据;INCR为地址自增方式,依次读取数据;WRAP回环突发和增量突发类似,但会在特定高地址的边界处回到低地址处。回环突发的长度只能是2,4,8,16次传输,传输首地址和每次传输的大小对齐。最低的地址整个传输的数据大小对齐)
6、ARCACHE:存储类型,M->S;
7、ARPROT:保护类型,M->S;
8、ARQOS:Qos标识符,M->S;
9、ARREGION:区域标识符,M->S;
10、ARUSER:用户自定义,M->S;
11、ARVALID:读地址有效,M->S;(表示ARADDR总线上地址有效)
12、ARREADY:写有效信号,S->M;(表示从机已经准备好接收ARADDR总线的地址了)

(三)读数据信号

1、RID:读数据ID,S->M;
2、RDATA:读数据,S->M;
3、RRESP:读响应,S->M;
(读传输的响应信息是附加在读数据通道上的,写传输的响应在写响应通道)
4、RLAST:突发传输的最后一个,S->M;
5、RUSER:用户自定义,S->M;
6、RVALID:读数据有效,S->M;
7、RREADY:读数据有效信号,M->S;(表示主机已经准备好接收读取数据了)

(四)写地址信号

1、AWID:写地址ID,M->S;(用于区分该地址属于哪个写地址组)
2、AWADDR:写地址,M->S;
3、AWLEN:突发长度,M->S;(写入的个数)
4、AWSIZE:突发尺寸,M->S;(每次突发传输的最长字节数)
5、AWBURST:突发类型,M->S;(有FIXED,INCR,WRAP三种类型,其中FIXED为固定地址,循环写入相同位置的数据;INCR为地址自增方式,依次写入数据;WRAP回环突发和增量突发类似,但会在特定高地址的边界处回到低地址处。回环突发的长度只能是2,4,8,16次传输,传输首地址和每次传输的大小对齐。最低的地址整个传输的数据大小对齐)
6、AWCACHE:存储类型,M->S;(标记系统需要的传输类型)
7、AWPROT:保护模式,M->S;
8、AWQOS:Qos标识符,M->S;
9、AWREGION:区域标识符,M->S;(当slave有多种逻辑接口时标识使用的逻辑接口)
10、AWUSER:用户自定义,M->S;
11、AWVALID:读地址有效,M->S;(表示AWADDR总线上地址有效)
12、AWREADY:写有效信号,S->M;(表示从机已经准备好接收AWADDR总线的地址了)

(五)写数据信号

1、WDATA:写数据,M->S;
2、WSTRB:数据段有效,M->S;(标记写数据哪几个字节有效)
3、WLAST:突发传输的最后一个,M->S;
4、WUSER:用户自定义,M->S;
5、WVALID:写数据有效,M->S;(表示WDATA总线上的数据已经有效了)
6、WREADY:写数据有效信号,M->S;(表示从机已经准备好接收写入的数据)

(六)写响应信号

1、BID:响应ID,S->M;
2、BRESP:写响应,S->M;
3、BUSER:用户自定义,S->M;
4、BVALID:写响应有效,S->M;
5、BREADY:写响应有效信号,M->S;(表示主机已经准备好接收写响应信号了)

六、AXI接口时序

(一)时钟、复位与VALID信号

AXI的复位信号(ARESETn)可以进行异步复位,但是复位完必须与ACLK的上升沿同步。在复位过程中,要求:
1、主机接口必须驱动ARVALID、AWVALID、和WVALID为低电平。
2、从机接口必须驱动RVALID和BVALD 为低电平。
3、所有其他信号可以为任何值。
4、在完成复位后,允许master驱动ARVALID,、AWVALID、WVALID为高。但是上升沿信号是在ARESETn是拉高之后而且要在ACLK上升沿。如下图:
在这里插入图片描述

(二)AWVALID信号与地址/控制信息

写地址通道的主机可以在地址/控制信息有效时拉高 AWVALID,当AWVALID拉高后要保持地址/控制信息不变,直到AWREADY也拉高并且时钟产生上升沿之后。换句话说,在握手传输的时,我们的数据信息和地址信息要保持不变,这样才能确保传输的数据为有效可靠的。也就是AWVALID和信息数据是同步变化的,如下图。
在这里插入图片描述

(三)AWREADY信号与地址/控制信息

AWREADY的默认状态可以是高或者低。AXI协议建议的默认状态为高。当AWREADY为高时,从机能够接受任何提供给它的有效地址。不建议默认AWREADY状态为低,因为它强制进行握手传输,至少需要两个时钟周期,一个周期拉高AWVALID,另一个周期拉高AWREADY。

(四)信号依赖关系

首先,单箭头表示可以等待有效再置位,双重箭头表示必须等待有效再置位。
下图为读操作的依赖关系,ARREADY可以等待ARVALID信号,RVALID必须等待ARVALID和ARREADY同时有效后(一次地址传输发生)才能能有效
在这里插入图片描述
在AXI4中,定义了额外的依赖关系,即BVALID必须依赖AWVALID、AWREADY、WVALID和WREADY信号,如下图所示。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/UHfigGVF.shtml

相关文章

【AXI】解读AXI协议双向握手机制的原理

解读AXI协议双向握手机制的原理 一、写在前面二、AXI 双向握手机制简介2.1 信号列表2.2 双向握手目的2.3 握手过程2.3.1 CASE1(READY信号先于VALID信号改变)2.3.2 CASE2(READY信号与VALID信号同时改变)2.3.3 CASE3(REA…

带你快速入门AXI4总线--AXI4-Full篇(1)----AXI4-Full总线

写在前面 AXI4系列链接:带你快速入门AXI4总线--汇总篇(直达链接) 1、什么是AXI4-Full? AXI 表示 Advanced eXtensible Interface(高级可扩展接口),它是由 Arm 定义的接口协议,包含在…

通信协议(AXI)

一、AXI简介 SoC片上总线尚处于发展阶段,不像微机总线那样成熟,目前还没有统一的标准,因此各大厂商和组织纷纷推出自己的标准,以便在未来的SoC片上总线标准中占有一席之地。ARM公司就在1995年推出了自己的总线——AMBA&#xff0…

AXI协议详解

AXI协议详解 Created: July 11 Tags: ARM amba_axi_protocol_spec.pdf AMBA_axi.pdf AXI基础简介 AXI总共分为5个通道,写地址,写数据,写应答,读地址,读数据(读应答在读数据中体现) 特点&a…

AXI协议规范超详细中文总结版

AXI协议规范中文翻译版 来源:https://github.com/lizhirui/AXI_spec_chinese 综述 本文参考分析整理总结了AMBA AXI and ACE Protocol Specification文档的AXI总线协议规范部分,错误之处欢迎指出。 AMBA AXI协议支持高性能高频的系统设计,该协…

虞美人·寄公度

我在阳台上抽烟,我抽了一半,风抽了一半,我没有和风计较,可能风也有烦恼凭栏倚,吞云烟。半入清风、半入喉,清风也染人间愁生活除了眼前的苟且,还要有诗和远…

柳永8首绝美词句

他是白衣卿相,是才子词人。 他有傲人的才华,却仕途失意。 他眠花宿柳,写下流传千古的词章。 他是才子柳永。 今天,给大家介绍他的8首词,体会柳永的人生起伏。 1、《雨霖铃 寒蝉凄切》 寒蝉凄切,对长亭晚…

千灯照碧云,越夜越星沙

(题图摄影:邓建辉) 文 | 弘乐、陈曦 来源 | 螳螂财经(ID:TanglangFin) “晚上去红记吃小龙虾啊!”准备下班的李强拿着电话呼朋唤友。和他一起下楼的同事伍娟听到了,忍不住摇头说:…

《红楼梦》诗词鉴赏(精选)

石上偈 无材可去补苍天,枉入红尘若许年。 此系身前身后事,倩谁记去作奇传? 【诗词简注】 偈(ji记),佛经中的唱词,也泛指佛家的诗歌。 倩(qing庆),央求 【诗词鉴赏】 《红楼梦》的作者…

HDFS核心理论学习记录

标题HDFS理论学习第一天 一、HDFS优缺点 1、优点 高容错性:数据会保存多个副本适合处理大数据:能够处理GB,TB甚至PB级别的数据能够处理百万规模的数据数据廉价不吃配置 2、缺点 不适合低延时数据访问,文件存储是放在磁盘中读…

HDFS——命令、工作机制

1. HDFS前言 设计思想 分而治之:将大文件、大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析; 在大数据系统中作用: 为各类分布式运算框架(如:mapreduce&…

单元测试(学习笔记--ITCAST黎活明)

第一步在项目中的AndroidManifest.xml中加入以下代码&#xff1a; <?xml version"1.0" encoding"utf-8"?><manifest xmlns:android"http://schemas.android.com/apk/res/android"package"com.jluzhsoft.test"android:vers…

spring aop获取目标对象的方法对象及方法上的注解

spring aop获取目标对象的方法对象&#xff08;包括方法上的注解&#xff09; 这两天在学习权限控制模块。以前看过传智播客黎活明老师的巴巴运动网视频教程&#xff0c;里面就讲到权限控制的解决方案&#xff0c;当时也只是看看视频&#xff0c;没有动手实践&#xff0c;虽说看…

spring aop获取目标对象的方法对象

这两天在学习权限控制模块。以前看过传智播客黎活明老师的巴巴运动网视频教程&#xff0c;里面就讲到权限控制的解决方案&#xff0c;当时也只是看看视频&#xff0c;没有动手实践&#xff0c;虽说看过几遍&#xff0c;可是对于系统中的权限控制还是很迷茫&#xff0c;所以借着…

赢在下班后,告别一无所有

工作几年后&#xff0c;为什么有些人财务自由&#xff0c;而有些人&#xff0c;仍一无所有&#xff1f; 其间差别&#xff0c;就在于&#xff1a;八小时之外的思维模式不同。 大部分的人&#xff0c;觉得八小时之内是工作&#xff0c;八小时之外是生活&#xff0c;工作和生活之…

关于海明码,我悟了

目录&#xff1a; 话在前面差错控制编码差错控制编码的分类 检错码纠错码 奇偶校验码海明码 校验位的位置码字格式校验位的确定校验位的校验规则(重点)海明编码示例 检错和纠错 什么是码距海明码的码距海明码的检错与纠错能力海明码的检错与纠错能力理解 总结考题最后参考链接…

SVPWM原理

SVPWM原理 空间矢量的定义PWM逆变器基本输出电压矢量SVPWM的实现 SVPWM已经是非常成熟且应用范围最为广泛的PWM调制方式之一了&#xff0c;所以本文也只是常规的原理介绍。 空间矢量的定义 交流电动机绕组的电压、电流、磁链等物理量都是随时间变化的&#xff0c;如果考虑到它…

foc学习笔记2——svpwm

foc学习笔记2——svpwm 写在前面&#xff1a;如今网上关于foc的文章和教程很多&#xff0c;但初学者往往会被那些专业且复杂的公式搞晕&#xff0c;不知道自己到底在学什么。本文尽量少列公式&#xff0c;多解释用途&#xff0c;所以不会有公式的推导过程&#xff0c;会更加注重…

二、SVPWM

二、SVPWM 1. 介绍 SVPMW是将逆变器和电机看作一个整体&#xff0c;用八个基本的电压矢量合成期望的电压矢量&#xff0c;建立逆变器功率器件的开关状态&#xff0c;并依据电机磁链和电压关系&#xff0c;实现对电机恒磁通变压变频调速。 三相无刷电机的三项排除三项全部为1和…

SVPWM调制中非零基础矢量的幅值是2/3Udc还是Udc?

1:、三相电压空间矢量的合成 设直流母线侧电压为Udc&#xff0c;逆变器输出的三相相电压为UA、UB、UC、其分别加在空间上互差120的三相静止平面坐标系上&#xff0c;可以定义三个相电压UA(t)、UB(t)、UC(t)、他们的方向始终在各自的轴线上&#xff0c;而大小随着时间按正弦规律…