【总线】AXI4第三课时:握手机制

          大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣,那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者,AXI4以其高性能和高度可扩展性,成为了现代电子系统中不可或缺的通信桥梁。

        上一课时我们了解到AXI4的AXI的基础事务,对他们有了初步的认识,这一课时我们来聊一聊AXI4总线中的“社交礼仪”——握手机制。就像我们在交朋友之前要握手一样,AXI4总线在数据传输前也要进行一套复杂的“礼仪”来确保数据能够顺利、准确地传输。

        这里会有一系列的课程,和大家分享AMBA总线家族,欢迎大家一起学习,收藏点赞。

 系列文章

【总线】AMBA总线架构的发展历程-CSDN博客

【总线】设计fpga系统时,为什么要使用总线?-CSDN博客

【总线】AXI总线:FPGA设计中的通信骨干-CSDN博客

【总线】AMBA总线家族的明星成员:AXI协议简介-CSDN博客

【总线】AXI4第一课时:揭秘AXI4总线的五大独立通道-CSDN博客

【总线】AXI4第二课时:深入AXI4总线的基础事务-CSDN博客

【总线】AXI4第三课时:握手机制-CSDN博客 


目录

AXI4握手机制的优点

如何实现双向流控的

VALID/READY的三种情况

1.双方都准备好了

2.发送方准备好了,接收方还没准备好

3.接收方准备好了,发送方还没准备好

总结

结语


AXI4握手机制的优点

在AXI4总线的世界里,握手不仅仅是礼貌,更是效率和可靠性的保证。以下是握手机制的几个优点:

  1. 确保数据完整性:通过握手,我们可以确保数据在传输过程中不会被损坏。
  2. 提高传输效率:握手机制允许发送方和接收方同步它们的操作,避免了数据拥堵。
  3. 增强通信灵活性:AXI4的握手机制支持灵活的数据传输,可以根据需要调整传输速度和大小。

如何实现双向流控的

AXI4总线的双向流控就像是一场精心编排的舞蹈。以下是实现双向流控的关键步骤:

  1. VALID信号:发送方通过VALID信号告诉接收方,“嘿,我这里有数据要给你!”
  2. READY信号:接收方通过READY信号回复发送方,“好的,我准备好接收了。”
  3. 数据交换:当VALID和READY信号都为高电平时,数据就可以在双方之间流动了。

VALID/READY的三种情况

在AXI4的握手过程中,VALID和READY信号有三种可能的情况,我们可以把它们想象成三种不同的对话场景:

1.双方都准备好了

:VALID和READY都为高,数据传输开始。

图:VALID和READY握手成功

2.发送方准备好了,接收方还没准备好

VALID为高,READY为低,发送方需要等待接收方准备好。

图:发送方等待接收方

3.接收方准备好了,发送方还没准备好

VALID为低,READY为高,这种情况比较少见,意味着接收方在说,“我准备好了,但你的数据呢?”

图:接收方等待发送方

总结

今天我们一起学习了AXI4总线的握手机制,这就像是在数据的高速公路上设置了一套交通规则,确保了数据传输的顺畅和安全。通过VALID和READY信号的互动,我们可以实现高效的双向流控。希望大家能够理解这些概念,并在设计自己的电子系统时运用它们。

这里给大家留一个小任务:思考一下,如果VALID和READY信号出现了“我准备好了,但你的数据呢?”这种情况,我们应该如何优化设计来避免这种尴尬的局面呢?答案评论区见~

结语

感谢大家的参与,希望你们在AXI4的世界里越来越得心应手。下课!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/727417.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面向对象的三大特性之一——继承

目录 一、继承概念 二、为什么要继承 三、继承语法(关键字extends) 四、父类成员访问 1、子类中访问父类的成员变量 (1)子类和父类不存在同名的成员变量 (2)子类和父类中存在同名的成员变量 2、子类中访…

Transformer学习理解

1.前言 本文介绍当下人工智能领域的基石与核心结构模型——Transformer,为什么说它是基石,因为以ChatGPT为代表的聊 天机器人以及各种有望通向AGI(通用人工智能)的道路上均在采用的Transformer。 Transformer也是当下NLP任…

基于PCL实现多边形框选点云并进行裁剪(附C++源码)

文章目录 一.算法效果二.算法原理PNPoly算法直线相交性判断三.代码实现一.算法效果 通过在PCL可视化界面上绘制2D封闭多边形来提取位于该封闭多边形内部或者外部的 的点,算法效果如下: 图1多边形裁剪点云效果图 二.算法原理 PNPoly算法 2D多边形框选裁剪点云,实际上可以简…

SSRF学习,刷题

[HNCTF 2022 WEEK2]ez_ssrf 给了一个Apache2的界面,翻译一下 就是一个默认的界面,目录扫描 可以看到flag.php,肯定是不能直接访问得到的,还有index.php,访问这个 可以看到三个参数data,host,port 还有fsockopen() 函数是 PHP 中用于打开一个…

代码随想录训练营Day 64|卡码网98. 所有可达路径(深搜)

1.所有可达路径 98. 所有可达路径 | 代码随想录 代码&#xff1a; &#xff08;深搜&#xff09;邻接矩阵表示 #include <iostream> #include <vector> using namespace std; vector<int> path; vector<vector<int>> result; void dfs(const ve…

LeetCode 算法:两两交换链表中的节点 c++

原题链接&#x1f517;&#xff1a;两两交换链表中的节点 难度&#xff1a;中等⭐️⭐️ 题目 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交…

QT中利用动画弄一个侧边栏窗口,以及贴条效果

1、效果 2、关键代码 void Widget::on_sliderBtn_clicked() {m_sliderWidget->show();QPropertyAnimation* animation = new QPropertyAnimation(m

政策更新记录:敏感信息访问权限与API使用变更

我们将更新“健康数据共享”政策,简化“健康数据共享”申请流程,并与“健康类应用”政策保持一致。此外,我们将于今年晚些时候在 Play 管理中心推出一项新的声明,取代当前使用表单进行申请的方式。 公布日期:2024-04-03 Health Connect 政策要求及常见问题解答 初步认识对…

[AIGC] 使用Google的Guava库中的Lists工具类:常见用法详解

在Java程序设计中&#xff0c;集合是我们最常用的数据结构之一。为了方便我们操作集合&#xff0c;Google的Guava库提供了一个名为Lists的工具类&#xff0c;它封装了许多用于操作List对象的实用方法。在本文中&#xff0c;我们将详细介绍其常见的用法&#xff0c;以帮助您更好…

volatile关键字(juc编程)

volatile关键字 3.1 看程序说结果 分析如下程序&#xff0c;说出在控制台的输出结果。 Thread的子类 public class VolatileThread extends Thread {// 定义成员变量private boolean flag false ;public boolean isFlag() { return flag;}Overridepublic void run() {// 线…

钡铼BL101网关助力智慧城市路灯远程智能管控

在迈向智慧城市的征途中&#xff0c;基础设施的智能化改造是关键一环&#xff0c;而路灯作为城市脉络的照明灯塔&#xff0c;其智能化升级对于节能减排、提升城市管理效率具有重要意义。钡铼BL101网关&#xff0c;作为Modbus转MQTT的专业桥梁&#xff0c;正以其卓越的性能和广泛…

数据仓库与数据库的区别

在数据管理和分析的过程中&#xff0c;我们常常会听到“数据库”和“数据仓库”这两个术语。 虽然它们看起来相似&#xff0c;但实际上它们在设计目的、结构和使用场景上都有显著的区别。 数据库是什么&#xff1f; 数据库&#xff08;Database&#xff09;是一个用于存储和管…

[创业之路-120] :全程图解:软件研发人员如何从企业的顶层看软件产品研发?

目录 一、企业全局 二、供应链 三、团队管理 四、研发流程IPD 五、软件开发流程 六、项目管理 七、研发管理者的自我修炼 一、企业全局 二、供应链 三、团队管理 四、研发流程IPD 五、软件开发流程 六、项目管理 七、研发管理者的自我修炼

时空预测 | 基于深度学习的碳排放时空预测模型

时空预测 模型描述 数据收集和准备&#xff1a;收集与碳排放相关的数据&#xff0c;包括历史碳排放数据、气象数据、人口密度数据等。确保数据的质量和完整性&#xff0c;并进行必要的数据清洗和预处理。 特征工程&#xff1a;根据问题的需求和领域知识&#xff0c;对数据进行…

【C++】基础知识--inline(内联)关键字以及与宏的区别

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

Nginx Rewrite技术

一&#xff1a;理解地址重写 与 地址转发的含义。二&#xff1a;理解 Rewrite指令 使用三&#xff1a;理解if指令四&#xff1a;理解防盗链及nginx配置 简介&#xff1a;Rewrite是Nginx服务器提供的一个重要的功能&#xff0c;它可以实现URL重定向功能。 一&#xff1a;理解地…

医学图像预处理之z分数归一化

在医学图像处理中&#xff0c;Z分数标准化&#xff08;Z-score normalization&#xff09;是一种常用的数据标准化方法&#xff0c;其目的是将数据集中的每个图像像素值转换为具有均值为0和标准差为1的标准化值。这种标准化方法有助于改善图像的质量&#xff0c;便于后续图像处…

RS485中继器的作用你还不知道?

RS485是一种串行通信协议&#xff0c;支持设备间长距离通信。RS485中继器则像“传声筒”&#xff0c;能放大衰减信号&#xff0c;延长通信距离&#xff0c;隔离噪声&#xff0c;扩展分支。在实际场景中&#xff0c;如工厂内&#xff0c;通过中继器可确保控制室与远距离机器间通…

嵌入式Linux 中常见外设屏接口分析

今天将梳理下嵌入式外设屏幕接口相关的介绍,对于一个嵌入式驱动开发工程师,对屏幕都可能接触到一些相关的的调试,这里首先把基础相关的知识梳理。 1. 引言 在嵌入式开发过程中,使用到的液晶屏有非常多的种类,根据不同技术和特性分类,会接触到TN液晶屏,TN液晶屏 VA液晶屏…

Java基础16(集合框架 List ArrayList容器类 ArrayList底层源码解析及扩容机制)

目录 一、什么是集合&#xff1f; 二、集合接口 三、List集合 四、ArrayList容器类 1. 常用方法 1.1 增加 1.2 查找 int size() E get(int index) int indexOf(Object c) boolean contains(Object c) boolean isEmpty() List SubList(int fromindex,int …