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的主从机的收发机制的更多相关文章

  1. 如何在项目中引入MetaQ消息收发机制

    当需要异步发送和接收大量消息时,需要在Crystal项目中引入MetaQ消息收发机制. 关于MetaQ使用的官方例子可参考:https://github.com/killme2008/Metamorp ...

  2. DA_01_linux_物理机局域网工作机制

    一:物理机局域网工作机制: 二:域名服务的工作流程: 首先通过域名映射到IP地址,如果没有找到域名,向外部服务器DNS查询,然后通过IP地址访问服务器: 三:Vmware--NAT虚拟网络配置:

  3. STM32 HAL 库实现乒乓缓存加空闲中断的串口 DMA 收发机制,轻松跑上 2M 波特率

    前言 直接储存器访问(Direct Memory Access,DMA),允许一些设备独立地访问数据,而不需要经过 CPU 介入处理.因此在访问大量数据时,使用 DMA 可以节约可观的 CPU 处理时 ...

  4. 硬件IIC主从机中断代码注释解析

    目录 硬件IIC的主从中断在582的最新EVT中已支持. 对于IIC从机中断,例程中已封装好中断处理过程,用户调用app_i2c时,初始化中需要配置回调函数. 初始化的配置如下. struct i2c ...

  5. JAVA虚拟机15---虚拟机的类加载机制

    1.概述 在Class文件中描述的各类信息,最终都需要加载到虚拟机中之后才能被运行和使用.而虚拟机如何加载这些Class文件,Class文件中的信息进入到虚拟机后会发生什么变化,这就涉及到虚拟机的类加 ...

  6. redis主从 以及认证配置

    以前用redis用的很多,各种数据类型用的飞起,算是用得很溜了.不过那都是封装好的方法,自己直接调用.以前的公司比较规范,开发只是开发,很少去做跟运维相关的事情. 换了一份工作,不过这边项目刚开始起步 ...

  7. Zynq-PL中创建AXI Master接口IP及AXI4-Lite总线主从读写时序测试(转)

    转载:原文  http://www.eefocus.com/antaur/blog/17-08/423751_6cc0d.html 0. 引言 通过之前的学习,可以在PL端创建从机模式的AXI接口IP ...

  8. 学习6__STM32--SPI外设之中断收发---

    <目标> STM32双机 SPI中断收发通信 <描述> # STM32双机配置为一主一从模式 # 采用主机中断发送,从机中断接收 # 收发机制采用不间断收发(发送为空就发送,接 ...

  9. Redis学习 - 主从拷贝

    Redis主从拷贝的特点 同一个Master可以拥有多个Slaves. Master下的Slave还可以接受同一架构中其它slave的链接与同步请求,实现数据的级联复制,即Master->Sla ...

  10. PostgreSQL9.6主从配置

    参考文档: 备机日志传送:https://www.postgresql.org/docs/9.6/static/warm-standby.html 英文文档:https://www.postgresq ...

随机推荐

  1. 【Unity3D】Unity3D技术栈

    1 前言 ​ 本文梳理了笔者在学习 Unity3D 的过程中,对 Unity3D 的理解和学习路线,以帮助读者循序渐进地学习 Unity3D,后续笔者仍会持续更新 Unity3D 相关技术栈,并同步到 ...

  2. 斐讯K3C改散热

    斐讯K3C改散热 斐讯K3C日常使用还是不错的,就是日常的温度还是比较高的,不过冬天用来当暖手宝还是不错的. 这个改散热的方法是跟贴吧老哥学的,不得不说贴吧老哥还是牛皮,原贴在这,我当时拍的照片不够, ...

  3. Java I/O 教程(六) BufferedInputStream 类

    Java BufferedInputStream Class Java BufferedInputStream class 用于从输入流读取数据,和BufferedOutStream一样内部使用缓冲机 ...

  4. win32 - 控制台聊天

    仅适用于同一台电脑的两个进程聊天,对于不同电脑之前的聊天需要依靠tcp/ip协议. 两个进程是通过发送WM_COPYDATA 消息来传输字节的. 代码如下: Server.cpp #include & ...

  5. Redis哨兵(sentinel)

    目录 前言 原理 架构图 下载 命令 配置 启动 查看 Sentinel(哨兵)配置 常用命令 Q&A Redis主从配置异常解决:Error condition on socket for ...

  6. 【Azure Redis】Redis服务负载达到100%后的影响及有何优化方法

    问题描述 Redis服务负载达到100%后的影响及有何优化方法 问题解答 Redis的负载达到100% 意味着 Redis 服务器繁忙,无法跟上请求,导致客户端发送出来的请求超时. 常规情况下有一下几 ...

  7. 【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)

    问题描述 Azure Event Hub 在标准版以上就默认启用的Kafka终结点,所以可以通过Apache Kafka协议连接到Event Hub进行消息的生产和消费.通过示例代码下载到本地运行后, ...

  8. nginx rewrite 语法

    nginx rewrite 语法 一 定义 Rewrite主要实现url地址重写, 以及地址重定向,就是将用户请求web服 务器的地址重新定向到其他URL的过程. 二 语法格式 reweite fia ...

  9. electron-vite 可用,本机软件开发环境搭建

    electron-vite 可用,本机软件开发环境搭建 https://electron-vite.github.io/

  10. vite + vue3 打包后 本地直接运行 type="module" crossorigin 替换为defer - 多个vue文件就不好使了

    vite + vue3 打包后 本地直接运行 type="module" crossorigin 替换为defer 需求: 想打包后,双击运行,不启动服务 修改 vite.conf ...