AXI总线学习

编程入门 行业动态 更新时间:2024-10-26 04:31:27

AXI<a href=https://www.elefans.com/category/jswz/34/1769217.html style=总线学习"/>

AXI总线学习

AXI总线学习连载(10)

 

鲁迅曾经说过:

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

 

我也曾经说过:

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

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

 

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

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

 

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

 

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

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

首先介绍一个什么是读写响应

同样给出来官网的概念注解。

    axi原型对于读写处理都提供了相应了响应信号,然后有两点小细节:

    1.对于读处理来说,响应信号的信息是从从设备发出的,并且实在读数据通道上。

    2.对于写处理来说,响应的信息是在写响应通道(即B通道),这个响应信号也是从设备发起(这个是补充的)

接下来我们看看这两个信号线:

这里需要注意下,这两个信号都是从设备发起的。其实对于BRESP来说,这个好理解,因为写数据,都是主设备往从设备上写,所以从设备给出响应。

但是也需要注意,对于读处理来说,从设备是数据的发起者,但是也是响应发起的端口需要注意一下。

我们可以看见两个信号都是两位,所以可以表示四种状态,给出官方图,对于四种状态的编码。

以上就是四个状态,对于第一次接触的话,建议自己写一写,okay exokay SLVERR decerr.接下来官方给了一个简略的概念表和分步讲解,我们就跟着官方文档解析

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

 

1.首先给出第一个状态,OKAY,状态编码00

 

OKAY  对于普通的访问成功的表示。暗示着普通的访问成功,同样也说明了一次独家访问失败。好了我第一次也不知道这两个概念是什么,继续往下看。

这里的两个概念 NORMAL ACCESS 和 EXCLUSIVE ACCESS

这里也不讲解,什么是normal access,什么是 exclusive access。看清楚特征即可。后面会分析时序。

这里做个小补充,其实不需要关注什么是normal ,记住exclusive 即从设备只能被指定的主设备访问就行了。

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

 

2.第二个叫做EX okay

        代表EX访问成功,这种指定的独家的访问成功。

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

3.第三个是从设备错误,这种情况是当读写的访问成功抵达了从设备,但是从设备希望发一个自己目前在错误状态时候时,就通过这个状态发送,

至于为什么要发送错误,后面会讲解。现在先理解含义。

 

下面给出一个slverr的含义。

这个信号暗示着这个传输是不成功的.这里系统建议,为了方便一些系统工作,把error这种响应仅仅用于发送错误情况而并不是是去描述发信号错误,

常见的从设备error的情况:

   fifo或者缓冲器过流发送或者是缺流发送。

   如果传输的burst size 不支持,比如传一个9位的,17位这种是不行的。

   如果写操作,访问一个只读模块

  从设备出现超时情况

  访问了一个正在失效或者是不在正常工作负载状态的结构。

 

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

4.解码错误  

 

最后一种是解码错误,意思是从设备不存在的意思,当我们读写处理开始,但是发现读写地址发过去的时候没有从设备接受的情况,这个情况很好理解。

这种情况了表明,可能互联快没有成功解码一个从设备,举个例子,最典型的就是互联接口要是和后续从设备接口不匹配,这个经常出现在我们自定义ip时候,容易

忘记规范好接口匹配。

 这里说了如果出现互联结构没有和从设备匹配接口,那么从设备一定会返还这个DECERR状态。

 

所有的AXI原型要求读写处理当中的数据传输都必须被完成,意思其实和前面讲的burst 必须完成!!!!即使有这个DECERR出现,也必须把处理行为完成!!!!

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

 

这里我就不自己做总结,其实推敲了很多次这段话,觉得他的总结更好。

翻译一下

对于一次写处理,一个响应总是表示的是一次完整burst的执行,并不是只对于burst里单个具体的的transfer,而是所有的transfer(这句真的tm的精髓。。。)

对于一次读处理,从设备可以发送不同的响应编码代表burst过程完毕后出现的各种错误,举一个例子,再一次burst里有16次transfer(burst length=16)这时从设备可能会给一个

OKAy响应,表示后15此传输,或者是SLVERR响应给每一次transfer。

这个原型表明了要求传输的时候数据个数必须体现出来,不管是否错误,举个例子如果有一次length为8的写 burst,此时从设备有一个错误,但不知道什么错误。对于从设备而言

不管什么错误,都必须去执行,哪怕没接到这个指令或者没有这个从设备(没有从设备的意思是那里仅仅只有接口,或者接口不匹配),这个也简洁的反应了burst不能被取消

哪怕时候从设备有错。

一句话总结,这个总线原型在这个响应上,主设备就像曹操! 知错不认错,必须要做下去!!

 

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

 

今天有点没状态,但是也总结好了原型讲解的最后一点。

后面的内容就是具体应用和一些不同axi的不同点了。

前十讲是我们学习具体axi总线的基础,好好复习好好记忆。

休息去了,周末坚持更新 ,bu'guan'dao'shan'h

更多推荐

AXI总线学习

本文发布于:2024-03-08 07:58:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1720279.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:总线   AXI

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!