AXI4的主从机的收发机制
AXI4的收发机制
1、AXI4的译码器
对于多个主机和从机的AXI4总线的互联架构,译码器都是重要的。主机的端口一般有三个译码器,分别是读地址通道、写地址通道和写数据通道的译码器。主要作用是将通道的信息和内部寄存器的信息相互转化。从机的端口就是写响应和读数据通道会有译码器。译码器就是保证一方可以向其他几个方向传递。这个根据设计需要自行决定。如果有确切的指向关系就可以不使用译码器。
2、AXI4的仲裁器
仲裁器,就是决定优先级的逻辑。多个主机可能同时向一个从机发起访问,这时就需要考虑那个主机先执行。这就是潜在执行顺序。可以看出,一个仲裁器的作用相当于交警在堵车时的作用。一个好的仲裁器可以快速地解决通道拥堵的问题。反之,总线的传输效率就会降低。有以下几个标准的解决方法:
1)时间切换时分复用
就是将总线的使用权按时间划分,依次分给总机使用。这和交通灯的交通秩序是一样的道理。优点是可以保证总体功能执行且结构简单,缺点是容易浪费。
2)事务时分复用
就是轮流使用,每个主机使用完成后向下一个主机传递。缺点也是对于重点的主机无法占用更多的作用。
3)固定优先级
这个方法就是事先就确定顺序,显然,这种方法需要事先对每个主机对于总线的使用效率做一个统计。这个对于设计这来说是比较大的挑战。
3、AXI4互联架构
互联结构,就是多个主机和多个从机如何组成一个网络。实际的设计中,主机与从机之间的通道有许多的通道是可以复用的。
1)M-1型互联
就是多个主机向一个从机进行数据传输时,所需要的仲裁器需要使用主机优先级判断和从机数据发送的功能。
2)1-N型互联
这个就是一个主机和N个从机,需要的互联的架构也是需要仲裁器支持。在zynq中使用的AXI4应该采用的就是这种架构。
3)M-N型互联
这种互联方式是有两种大的方向的,就是数据共享和地址共享。依旧需要靠仲裁器的工作原理来实现。具体的结构就不过多的了解了。
4、小结
通过对这个部分的AXI4总线协议的基本内容的了解,大致地知道了AXI总线的组成和工作结构。接下来的学习会基于具体的AXI4总线的从机的原理构建,从机的接受与发送来实现对该协议的具体认识。使用的架构应该是1-N互联。至于总机和仲裁器则是由IP核的设计确认。这里的目标只是通过了解AXI4协议得到zynq基于AXI4总线的挂载自定义IP的设计。
AXI4的主从机的收发机制的更多相关文章
- 如何在项目中引入MetaQ消息收发机制
当需要异步发送和接收大量消息时,需要在Crystal项目中引入MetaQ消息收发机制. 关于MetaQ使用的官方例子可参考:https://github.com/killme2008/Metamorp ...
- DA_01_linux_物理机局域网工作机制
一:物理机局域网工作机制: 二:域名服务的工作流程: 首先通过域名映射到IP地址,如果没有找到域名,向外部服务器DNS查询,然后通过IP地址访问服务器: 三:Vmware--NAT虚拟网络配置:
- STM32 HAL 库实现乒乓缓存加空闲中断的串口 DMA 收发机制,轻松跑上 2M 波特率
前言 直接储存器访问(Direct Memory Access,DMA),允许一些设备独立地访问数据,而不需要经过 CPU 介入处理.因此在访问大量数据时,使用 DMA 可以节约可观的 CPU 处理时 ...
- 硬件IIC主从机中断代码注释解析
目录 硬件IIC的主从中断在582的最新EVT中已支持. 对于IIC从机中断,例程中已封装好中断处理过程,用户调用app_i2c时,初始化中需要配置回调函数. 初始化的配置如下. struct i2c ...
- JAVA虚拟机15---虚拟机的类加载机制
1.概述 在Class文件中描述的各类信息,最终都需要加载到虚拟机中之后才能被运行和使用.而虚拟机如何加载这些Class文件,Class文件中的信息进入到虚拟机后会发生什么变化,这就涉及到虚拟机的类加 ...
- redis主从 以及认证配置
以前用redis用的很多,各种数据类型用的飞起,算是用得很溜了.不过那都是封装好的方法,自己直接调用.以前的公司比较规范,开发只是开发,很少去做跟运维相关的事情. 换了一份工作,不过这边项目刚开始起步 ...
- Zynq-PL中创建AXI Master接口IP及AXI4-Lite总线主从读写时序测试(转)
转载:原文 http://www.eefocus.com/antaur/blog/17-08/423751_6cc0d.html 0. 引言 通过之前的学习,可以在PL端创建从机模式的AXI接口IP ...
- 学习6__STM32--SPI外设之中断收发---
<目标> STM32双机 SPI中断收发通信 <描述> # STM32双机配置为一主一从模式 # 采用主机中断发送,从机中断接收 # 收发机制采用不间断收发(发送为空就发送,接 ...
- Redis学习 - 主从拷贝
Redis主从拷贝的特点 同一个Master可以拥有多个Slaves. Master下的Slave还可以接受同一架构中其它slave的链接与同步请求,实现数据的级联复制,即Master->Sla ...
- PostgreSQL9.6主从配置
参考文档: 备机日志传送:https://www.postgresql.org/docs/9.6/static/warm-standby.html 英文文档:https://www.postgresq ...
随机推荐
- Java集合框架学习(八) HashMap详解
HashMap介绍 HashMap是一个基于Map的集合类,用于存储Key和Value的键值对. 通常用HashMap<Key, Value> or HashMap<K, V> ...
- RAID 10磁盘阵列实践
RAID概述 RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数 ...
- 使用3-hexo主题时无法正常渲染html代码
问题描述 在hexo框架中使用3-hexo主题时,会遇到这样一个问题:在markdown中嵌入html代码,这些嵌入的html代码无法正常显示. 原因分析 在使用3-hexo主题时,默认使用主题自带的 ...
- RK3568开发笔记(一):瑞芯微RK3568芯片介绍,入手开发板的核心板介绍
前言 目前主流国产芯片为RV11XX.RK33XX.Hi35XX系列,本系列开启RK3568系列的技术教程笔记分享. 本篇主要介绍RK3568芯片和入手开发板的核心板详细介绍. RK3568 ...
- 【算法day4】堆结构、堆排序、比较器以及桶排
堆与堆结构(优先级队列结构) 知识点: 堆结构就是用数组实现的完全二叉树结构 完全二叉树中如果每棵子树的最大值都在顶部就是大根堆 完全二叉树中如果每棵子树的最小值都在顶部就是小根堆 堆结构的heapl ...
- 聊聊微信小程序的流式(stream)响应请求
场景:类似ChatGPT的逐字显示效果. 流程:服务端我用Python的flask框架(向外提供API接口)实现,服务部署在replit上,Python调用azure 的chatgpt服务(需要申请) ...
- C++socket服务器与客户端简单通信流程
服务器和客户端简单通信的流程,做一个简单的复习: 1.服务器创建的流程 代码如下,各个重要函数已经写注释: #include <iostream> // 推荐加上宏定义 #define W ...
- 我见过最好的.NET/C#图片工具(裁剪、缩放、与加水印)
付费才能得到的好资源,限今天"免费"领取,月薪超30k必备技能! 资源1:高薪热门[WPF上位机+工业互联网]从零手写实战回复wpf免费领取 资源2:C#+Halcon机器视觉零基 ...
- Java开发中String.format的妙用
format方法是String类中的一个方法,主要作用是用来格式化字符串.当前做 的一个功能当中,刚好用到了这个方法,代码处理起来非常简便.因此就写篇博客 记录下来. 分析使用场景:前端App需要根据 ...
- PDF/Excel文件预览功能完整实现-java版本
新需求 最近接到一个新的需求,说是之前直接下载的PDF文件或者是Excel文件,现在不能直接下载,需要实现在线预览功能. 前端人员拿到这个需求后,去看了一下以前的代码,以前调用的下载接口和PDF文件预 ...