AXI总线学习------从零开始详细学-----------连载(2)axi protocol 通道分类

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

AXI总线学习连载(2)

 

鲁迅曾经说过:

学硬件,不是学哪里查哪里,有一些东西是必须系统的学的,不管是嵌入式还是FPGA,硬件学习的积累一定要是系统的。

 

我也曾经说过:

英文手册非常重要,这是学习硬件标准的不二法门,没有捷径,我们这一行可以不说英语,英语也可以像我和我某些同事一样口语富有乡土气息,但是一定要能熟练看,内心看,做阅读理解一样看

跟着这篇博客,慢慢学习,对着官方文档,不仅可以学会这个协议,更能够学会硬件学习的方法,所谓举一反三。(我说的比鲁迅还多)

 

好了既然是axi,那么这么说,只要你使用arm架构的芯片,arm和fpga(pl 可编程逻辑)部分通信,或者外部设备通信,你都会用上这个协议。所以一起来学习,打工人!就该把自己的时间全部放在上面 

好了不废话了,一起来探索吧! 

 

不要厌烦枯燥,理论学习是在实践之前的必经过程,当学习完axi原型后,我也会专门贴出来一个axi协议使用开发的详细详细详细的n次方的接口解析。请学习过程中不要放弃,不要觉得枯燥!! (其实说给自己听的)

 

qq:2198187857  这里放出来一下,就是希望朋友们指导,有不足的地方批评教育一下,作为新手,还是很认真在学习

--------------------------------------------------------------分割线-----------------------------------------笨蛋看不见-----------------------------------------

在我每次学习新东西前,我首先会复习上次的内容,那么我把一些关键信息放在这里。如果想要复习,请回到连载(1)

 

 

上一次我们学到五个通道

         读地址通道(read address  channel)   AR

        读数据通道(read data address channel)R

        写地址通道(write address channel )AW

        写数据通道(write data channel )W

        写响应通道(write response channel )  B   

 

那么请自己默念一下这个几个通道的含义。

 

--------------------------------------------------------------分割线-----------------------------------------笨蛋看不见-----------------------------------------

 

这次我们来进一步学习一下这个五个通道有什么特征

                 1.    第一个特征就是他们都有各自的VALID和READY(比如AWREADY和AWVALID,你可以理解为五对腐臭的异性恋,他们都非常辣眼睛!!!)

                  首先我们知道每一个通道都包含了一些信号线,这些信号线位宽可以自定义(先学习,实际应用后续会有),其中我们会率先认识每个通道都有的VALID和READY信号

 这是一个双路信号握手机制,不懂握手机制没问题也会讲到,但我们要先清楚知道,握手机制其实是master和slave之间达成共识的一个标志,请在这里注意,并不是VALID信号就来自于master

READY信号就来自于SLAVE,其实是VALID来自于source即源设备,READY来自于destination即目标设备。(主从设备,源,目标设备概念在连载(1)).

                    

                   所有的信息源设备(请注意是源)都会发送一个VALID信号,去展示出自己通道内此时的东西是否是有效的,比如AWVALID表示此时AW通道内的地址和控制信息是有效的。

当然目标设备(请注意是目标设备)都会发送一个READY信号,去展示自己是否准备好,当VALID和READY都是高电平的时候(当然有规则哈,后续会讲解),我们可以说这时候,各自通道内的东西开始

发挥作用,至于怎么发生作用,这个各自通道之间会有一定关联性,比如地址通道会给数据通道中的数据标识存放位置。但我们目前能够知道,所谓握手其实就是通过源发送VALID,目标设备发送READY.

 

         重要事情说两遍:握手信号其实就是通过源发送VALID,目标设备发送READY

                       

                2,读地址和写地址通道(AR AW)

                  这两个通道其实都是传送的各自在读和写处理时候,需要把读或者写的数据放的地址和控制信息,这里强调下,其实只传递了第一个字节数据的地址,后续地址根据控制信息改变。

          (请注意一点,在arm体系内,都是字节编址,所谓字节编址其实是每8bit即一个byte占据一个地址,和传统FPGA不同,当然,xilinx的ip核也可以配置为这样的一种方式,比如ram模块打开32bits模式,此时就是按照字节编址,不得不感叹官方

ip核的通用性有多么强大)

              

             3 读数据通道

           读数据通道携带的是我们要去读出来的数据,这里再一次说明对于读来说,从设备是源设备,主设备是目标设备,所以在这个通道内部,VALID其实是从设备发出,READY是主设备发出,这里在FPGA的编程界面需要注意,

比如我们使用axi外围ip核和axi bram controller等从设备时需要注意的。(这里涉及底层,后续会贴出接口代码,并讲解)

           其中我们的数据总线可以是8,16,32,64,128,256,512,1024bits,还需要注意读响应信号是包含在读书据通道中,和写响应通道不同。

 

           4 写数据通道W

            写数据通道携带的是我们把主设备需要写给从设备上的数据,同样的我们可以使用8,16,32,64,128,256,512,1024bits的总线位宽

          这里引入一个术语(a  byte lane stobe)来字面解释,一个字节通路闸门,其实我们可以说是对于一个字节的开关,这个其实就是对于每八位一个辨别或者是识别,看看这当前数据总线中的每八位即每个字节

是否用上。

          有人会担心了,写数据会不会有丢失,因为各种原因,其实不用担心,在写数据通路的硬件电路上,始终都是具有缓冲输入的,所以我们可以不需要从设备发送上一次写处理信息而继续写入(当然这是有限制的后续也会有),现在就记住

写就对了,对于ZYNQ开发 我们其实就直接用库函数的寄存器写入直接写就行了,满足后面讲的边界规则即可。现在只需要记住缓冲输入,所以你可以看见eda工具自动生成部分会有buffer部分。

 

        5写响应通道B

          顾名思义其实就是一个响应当前写处理过程的一个通道,值得注意的是,要求所有写处理都需要把返还响应。

 

--------------------------------------------------------------分割线-----------------------------------------笨蛋看不见---------------------------------------------------------------------

 

接口和互联

 

                  这里放一张图就可以了,说的太负责比较绕口,反正就看到从处理器出来的m接后面互联的s ,对称互联会有一个m接后面pl ip核的s,这样连接下去。

总的来说其实就是,这个就是arm处理器要和别人连一起必须要遵守的。这也就反应,一个哲理问题:

      鲁迅说过的:

                       协议是协议,协议不仅仅是协议。

                       总线是总线,总线不仅仅是总线。

                       总线实现协议,协议标明总线。

                      都是设备,都是外设,只是手牵手时要用正确姿势。

                      

 

 

 

 

--------------------------------------------------------------分割线-----------------------------------------笨蛋看不见---------------------------------------------------------------------

 

可能这里有朋友会说,为什么我们搞了这么一大堆操作,怎么说写读,读写巴拉巴拉,到底是主从设备哪里在搞这些。其实不要心急,如果你问我可以说时主从设备各自有一个寄存器

不信你看图

 

 

 

 

 

这是笔者最近在用的,你可以看见这两个模块都是从设备,他们都有各自的寄存器空间。当然对这个寄存器具体的位置进行什么操作这个是需要继续学习的,但我们要理清楚一个关系。其实我们在sdk中做的所有操作,

其实都是主设备(处理器)处理外面的从设备,往这个从设备寄存器写信息。

 这就是今天的重点,以往来说我们会接触寄存器版和库函数版本,但是这一次学习,不会这么简单,我们两个版本都会讲明白。

看到这里,需要知道一个基本点,就是每一个通道他们在传东西传信息都是仅仅按照一个方向即单向,这样做的好处是,各通道之间可以减少更多的依赖性,虽然通道之间有关系,但是还是最好减少,

就像是五个家庭,虽然是亲戚,但是不必要的关系少一点,大家族才能更和谐。

 

--------------------------------------------------------------分割线-----------------------------------------笨蛋看不见---------------------------------------------------------------------

好了 关于axi原型导论部分就结束了,明日我们将学习五个通道内部的信号特征,当然是概念性,我们去研究首先的得知道大家族内部各自信号名字,然后在深入学习

今天我先把我们学习的两个握手信号拿出来,机理部分后续讲,现在我们先认识他

 

 

写地址通道

 

写数据通道

 

写响应通道

 

 

读地址通道

 

读数据通道

 

--------------------------------------------------------------分割线-----------------------------------------笨蛋看不见---------------------------------------------------------------------

好了依旧勉励大家,每天一小时学习,笔者也是每天一小时把学习过的东西拿出来好好总结,在自己总结学习的路上结合工程,真的是受益匪浅,

硬件学习很漫长,但是每一次成就感都很深,希望各位加油,年轻的时候多学习,少玩了

好了笔者要去玩战地5了      明天见!!!


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

相关文章

【AXI】解读AXI协议中的burst突发传输机制

芯片设计验证社区芯片爱好者聚集地硬件相关讨论社区数字verifier星球四社区联合力荐!近500篇数字IC精品文章收录!【数字IC精品文章收录】学习路线基础知识总线脚本语言芯片求职EDA工具低功耗设计VerilogSTA设计验证FPGA架构AMBA书籍 解读AXI协议中的burs…

【AXI】解读AXI协议事务属性(Transaction Attributes)

芯片设计验证社区芯片爱好者聚集地硬件相关讨论社区数字verifier星球四社区联合力荐!近500篇数字IC精品文章收录!【数字IC精品文章收录】学习路线基础知识总线脚本语言芯片求职EDA工具低功耗设计VerilogSTA设计验证FPGA架构AMBA书籍 解读AXI协议事务属性…

AXI总线知多少?

关注、星标公众号,精彩内容每日送达 来源:数字ICer 前言 本文针对秋招面试高频问题: AXI总线进行总结; 1.简介 AXI是个什么东西呢,它其实不属于Zynq,不属于Xilinx,而是属于ARM。它是ARM最新的总线接口&…

AXI学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 一、AXI中关于非对齐问题理解 AXI 协议支持地址非对齐的传输,允许突发传输的首字节地址,即起始地址与突发传输位宽不对齐。举个例子,总线位…

AXI 中文

AXI总线协议资料整理 第一部分: 1、AXI简介:AXI(AdvancedeXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(AdvancedMicrocontroller Bus Architecture)3.0协议中最重要的部分&a…

AXI协议

文章目录 前言一、通道信号二、AXI 握手机制三、读写Timing3.1 写数据3.2 读数据 四、通道间的依赖关系4.1 写地址通道( AW )4.2 写数据通道( W )4.2 写响应通道( B )4.3 读数据( R ) 五、信号详细解释5.1 ACLK和ARESETn5.2 Burst…

AXI 总线详解

综述 本文我们详解AXI,在ZYNQ中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议。其中三种AXI总线分别为: AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地…

AXI总线概述

AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA3.0中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AMBA4.0将其修改升级为AXI4.0。 AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.…

AXI协议学习笔记~~

AXI总线简介 ​  AXI属于AMBA(The ARM Advanced Microcontroller Bus Architecture)家族的一员,AXI协议在AMBA3.0版本中开始出现,并在后续的AMBA4.0,AMBA5.0中持续更新,对应为 AXI3,AXI4,AXI5。 ​   …

AXI 系列 之 AXI概述

目录 AXI简介 AMBA总线的演进图 AXI overriew AXI读写通道 AXI读取传输 事务 AXI 写入传输事务 AXI 概念解读 burst传输 FIXED模式下传输首地址后就可以不停传输数据吗? 突发传输不能跨4KB边界? 非对齐传输 复位期间对接口有如下要求&#xf…

AXI接口协议学习总结

AXI接口协议学习总结 下面将AXI接口协议学到的相关内容整理如下 一、AXI接口协议定义 AXI是Advanced eXtensible Interface的缩写,译为高级可扩展接口协议,是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)高级…

【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庆),央求 【诗词鉴赏】 《红楼梦》的作者…