通信协议(AXI)

article/2025/10/17 23:35:42

一、AXI简介

SoC片上总线尚处于发展阶段,不像微机总线那样成熟,目前还没有统一的标准,因此各大厂商和组织纷纷推出自己的标准,以便在未来的SoC片上总线标准中占有一席之地。ARM公司就在1995年推出了自己的总线——AMBA(Advanced Microcontroller Bus Architecture,高级微处理器总线架构)。它独立于处理器和制造工艺技术,增强了各种应用中的外设和系统宏单元的可重用性,非常适合于现代大规模集成电路设计自动化的要求。

AMBA3.0中新增加了一种总线——AXI(Advanced eXtensible Interface,高级扩展接口)。它是一种面向高性能、高带宽、低延迟的片内总线,它的总线结构如Figure 1所示。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,并更加容易就行时序收敛。AXI 是AMBA 中一个新的高性能协议。AXI 技术丰富了现有的AMBA 标准内容,满足超高性能和复杂的SoC设计的需求。

AXI三种类型
AXI4(AXI4-full):用于高性能的存储器映射需求;(存储器映射:主机在对从机进行读写操作时,指定一个目标地址,这个地址对应系统存储空间的地址,表示对该空间进行读写操作)。
AXI4-Lite:简化版的AXI4接口,用于低吞吐率存储器映射的通信。
AXI4-Stream(ST):用于高速的流数据通信。

AXI的优点:
生产力高,
灵活性:AXI4(支持突发256)和AXI4-Lite(1个数据)都属于存储器映射
AXI4-ST不属于存储器映射,他的突发长度不受限制
可获得性:

二、AXI的工作方式

AXI4和AXI4-Lite包含5个独立的通道
读地址通道
读数据通道
写地址通道
写数据通道
写响应通道

AXI4:由于读写地址通道是分离的,所以支持双向同时传输;突发长度最大256
AXI4-Lite:和AXI4比较类似,但是不支持突发传输
AXI4-Stream:只有一个单一数据通道,和AXI4的写数据通道比较类似;突发长度不受限制。

在这里插入图片描述
读事务图
在这里插入图片描述
写事务图

AXI InterConnect 和 AXI SmartConnect
这两个ip核都用于 连接单/多个存储器映射的AXI Master和单/多个存储器映射的AXI Slave

三、AXI的通道定义

每一个独立的通道都包含一组信息信号VALID信号READY信号,用于提供双向的握手机制。
信息源端使用VALID信号表示当前通道地址、数据和控制信息什么时候有效,目的端使用READY信号表示什么时候可以接收信息,读数据通道和写数据通道都包含一个LAST信号,用于表示传输的最后一个数据。
读数据通道和写数据通道都包含各自的地址通道,地址通道携带了请求所需的地址和信息
读数据通道由从机发送给主机,包含了读数据和读相应的信息,读响应的信号用于表示读传输是否操作完成。
写数据通道是由主机发给从机,包含了写数据,然后通过WSTRB信号表示当前数据的哪个字节有效。
写响应通道由从机发送给主机,包含了写响应信号,用于表示当前写操作是否完成。

四、AXI总线信号级描述

AXI总线和其他总线一样,具有很多的信号,其中包括全局信号、写地址通道信号、写数据通道信号、写响应通道信号、读地址通道信号、读数据通道信号、低功耗接口信号。本章的所有表都是以32位的数据总线、4位的写数据闸门、4位的ID段。
1.全局信号

信号描述
ACLKClock source全局时钟信号
ARESETnReset source全局复位信号,低电平有效

2.写地址通道信号

信号描述
AWID[3:0]主机写地址ID,这个信号是写地址信号组的ID tag,指定某些特殊传输任务的顺序
AWADDR[31:0]主机写地址。
AWLEN[3:0]主机突发式写的长度。此长度决定突发式写所传输的数据的个数。
AWSIZE[2:0]主机突发式写的大小。
AWBURST[1:0]主机突发式写的类型。
AWLOCK[1:0]主机锁类型。
AWCACHE[3:0]主机Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。
AWPROT[2:0]主机保护类型。
AWVALID主机写地址有效。1 = 地址和控制信息有效。0 = 地址和控制信息无效 ,这个信号会一直保持,直到AWREADY变为高。
AWREADY设备写地址准备好。这个信号用来指明设备已经准备好接受地址和控制信息了。1 = 设备准备好,0 = 设备没准备好

3.写数据通道信号

信号描述
WID[3:0]主机写ID tag,WID的值必须与AWID的值匹配
WDATA[31:0]主机写的数据。
WSTRB[3:0]主机写阀门。WSTRB[n]标示的区间为WDATA[(8n)+7:(8n)]
WLAST主机写的最后一个数据。
**WVALID**主机写有效,1 = 写数据和阀门有效,0 = 写数据和阀门无效
WREADY设备写就绪。指明设备已经准备好接受数据了,1 = 设备就绪吗,0 = 设备未就绪

4.写响应通道信号

信号描述
BID[3:0]设备响应ID , 这个数值必须与AWID的数值匹配。
BRESP[1:0]设备写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。
BVALID设备写响应有效。1 = 写响应有效。0 = 写响应无效
BREADY主机接受响应就绪。该信号表示主机已经能够接受响应信息。1 = 主机就绪。0 = 主机未就绪

5.读地址通道信号

信号描述
ARID[3:0]主机读地址ID。
ARADDR[31:0]主机读地址。
ARLEN[3:0]主机突发式读长度。
ARSIZE[2:0]主机突发式读大小。
ARBURST[1:0]主机突发式读类型。
ARLOCK[1:0]主机锁类型。
ARCACHE[3:0]主机Cache类型。
ARPROT[2:0]主机保护类型。
ARVALID主机读地址有效。信号一直保持,直到ARREADY为高。1 = 地址和控制信息有效。0 = 地址和控制信息无效
ARREADY设备读地址就绪。指明设备已经准备好接受数据了。1 = 设备就绪.0 = 设备未就绪

6.读数据通道信号

信号描述
RID[3:0]设备读ID tag。RID的数值必须与ARID的数值匹配。
RDATA[31:0]设备读数据。
RRESP[1:0]设备读响应。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR。DECERR。
RLAST设备读事务传送的最后一个数据
RVALID设备读数据有效。1 = 读数据有效。0 = 读数据无效。
RREADY主机读数据就绪。1 = 主机就绪。0 = 主机未就绪

突发式的时序图如下:
当地址出现在地址总线后,传输的数据将出现在读数据通道上。设备保持VALID为低直到读数据有效。为了表明一次突发式读写的完成,设备用RLAST信号来表示最后一个被传输的数据。
在这里插入图片描述
设备会在第一次突发式读完成后处理第二次突发式读数据。也就意味着,主机一开始传送了两个地址给设备。设备在完全处理完第一个地址的数据之后才开始处理第二个地址的数据。
在这里插入图片描述
突发式时序图如下:
这一过程的开始时,主机发送地址和控制信息到写地址通道中,然后主机发送每一个写数据到写数据通道中。当主机发送最后一个数据时,WLAST信号就变为高。当设备接收完所有数据之后他将一个写响应发送回主机来表明写事务完成。
在这里插入图片描述

五、握手机制

所有的五个通道都是通过相同的VALID/READY握手处理来传输地址、数据和控制信息。双向握手的机制意味着主机和从机之间传输数据时,都可以控制传输的速率,只有当VALID和READY同时为高电平时,传输才会发生。

全部5个通道使用相同的VALID/READY握手机制传输数据及控制信息。传输源产生VLAID信号来指明何时数据或控制信息有效。而目地源产生READY信号来指明已经准备好接受数据或控制信息。传输发生在VALID和READY信号同时为高的时候。VALID和READY信号的出现有三种关系。

在这里插入图片描述
在箭头处信息传输发生。
(2) READY先变高VALID后变高。时序图如下:
在这里插入图片描述
同样在箭头处信息传输发生。
(3) VALID和READY信号同时变高。时序图如下
在这里插入图片描述
在这种情况下,信息传输立马发生,如图箭头处指明信息传输发生。
2、通道之间的关系

地址、读、写和写响应通道之间的关系是灵活的。

例如,写数据可以出现在接口上早于与其相关联的写地址。也有可能写数据与写地址在一个周期中出现。

两种关系必须被保持:

(1)读数据必须总是跟在与其数据相关联的地址之后。

(2)写响应必须总是跟在与其相关联的写事务的最后出现。

3、通道握手信号之间的依赖性
读事务握手依赖关系如图:
在这里插入图片描述
其中单箭头不表示先后依赖关系,双箭头才表示依赖关系
(1)设备可以在ARVALID出现的时候在给出ARREADY信号,也可以先给出ARREADY信号,再等待ARVALID信号。

(2)但是设备必须等待ARVALID和ARREADY信号都有效才能给出RVALID信号,开始数据传输。

写事务握手依赖关系如图:
在这里插入图片描述
(1)主机必须不能够等待设备先给出AWREADY或WREADY信号信号后再给出信号AWVALID或WVLAID。

(2)设备可以等待信号AWVALID或WVALID信号有效或者两个都有效之后再给出AWREADY信号。

(3)设备可以等待AWVALID或WVALID信号有效或者两个信号都有效之后再给出WREADY信号。

六、AXI4-Lite

适用于当不需要AXI4完整功能的时候,一些简单的控制寄存器的读写


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

相关文章

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;而大小随着时间按正弦规律…

Matlab SVPWM仿真模型

文中涉及的仿真模型可在公众号 iFTrue未来已来 中获取&#xff1a; 请扫描下方二维码关注微信公众号&#xff1a;iFTrue 未来已来 在公众号后台回复以下关键字获取SVPWM仿真模型&#xff1a;SVPWM模型 「 iFTrue 未来已来 」 目录&#xff1a; 1.1 基于C语言的SIMULINK仿真模…

SVPWM调制的simulink仿真

1、SVPWM的生成 在FOC矢量控制中&#xff0c;Id、Iq 经过PID输出Vd、Vq。Vd、Vq经过反park变换成Vα、Vβ。再Vα、Vβ合成空间参考矢量Uref。那么怎么根据Vα、Vβ确定Uref所在扇区&#xff0c;然后确定所在扇区两个非零基础矢量的作用时间呢。 1.1、传统的计算方法 1.1.1、…

电机专用SVPWM算法实现

SH33F2811包含三相电机的空间矢量脉宽调制&#xff08;Space Vector Pulse Width Modulation&#xff0c;SVPWM&#xff09;算法&#xff0c;对应于交流感应电机或永磁同步电机中的三相电压源逆变器的功率器件的一种特殊的开关触发顺序和脉宽大小的组合。这种开关触发顺序和组合…