0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Valid-Ready握手协议的介绍与时序说明

冬至子 来源:芯时代青年 作者:尼德兰的喵 2023-12-04 10:37 次阅读

最早接触到握手协议是在校期间学习PCIe的AXI总线时,至今日虽然PCIe的结构已经忘得一干二净,但握手协议经过不断的使用还算掌握的不错。

对于点开这篇文章的人而言,握手协议是什么其实不需要赘述:

"Valid-Ready" 握手协议是一种常用于数字电路中的接口协议,用于控制数据的传输和处理。这种协议通常在两个设备(如芯片、模块或模块间的通信)之间使用,以确保数据的有效传输和正确处理。

下面是 "Valid-Ready" 握手协议的特点和优势:

特点:

*有效数据传输: "Valid-Ready" 握手协议通过有效信号(Valid)来指示数据是否有效,Ready信号来指示接收方是否已准备好接收数据。只有在Valid和Ready信号都为高电平时,数据传输才会发生,从而确保数据在正确的时机传输。

*流控制: Ready信号可以起到流量控制的作用。如果接收方没有准备好接收数据,它可以将Ready信号置低,从而停止发送方的数据传输,以防止数据拥塞。

*同步性: "Valid-Ready" 握手协议提供了同步机制,确保发送和接收之间的时序一致性。数据传输只会在双方都准备好的情况下进行,避免了数据的不同步问题。

*灵活性: 握手信号的有效和准备状态可以根据具体的应用需求来控制。这使得协议可以适应不同的数据传输速率和处理速度。

*错误检测: 在有效信号中,还可以包含错误检测位,以便接收方可以验证传输的数据的正确性。

优势:

*简单可靠: "Valid-Ready" 握手协议相对简单,易于实现和调试。它的工作原理直观清晰,使得设计者和开发者能够更容易地理解和管理数据传输流程。

*节约资源: 与其他复杂的通信协议相比,"Valid-Ready" 握手协议在硬件资源和时钟周期方面的需求较低。这使得它在资源受限的系统中具有优势。

*适应性强: 由于其简单性,"Valid-Ready" 握手协议可以适应不同类型的通信和数据处理需求。它可以用于内部芯片通信,模块之间的通信,以及许多其他数字电路场景。

*实时性好: 由于有效和准备信号的即时性,"Valid-Ready" 握手协议通常能够满足实时数据传输的需求,特别适用于需要低延迟的应用。

好的,冠冕堂皇的部分结束了。那么一句话来概括握手协议就是:通过valid控制信号发送,通过ready控制信号接收,通过若干info承载信息的一种接口总线,其典型时序图如下:

图片

握手接口时序

对于发射模块而言,valid/data为输出,ready为输入。对于接收模块而言,valid/data为输入,ready为输出:

图片

接口方向

对于握手协议的时序,有如下几条较为通用的要求:

1.发送方在准备好发送数据之后,需要将valid信号置高,表示数据有效,在接收方的ready置高前(包括当拍)valid不可拉低;

2.接收方在准备好接收数据时,需要将ready信号置高,表示已准备好接收数据;

3.在数据传输期间,valid 和ready信号需要保持同步,数据传输只能在valid和ready信号同时为高电平时进行;

4.解复位后(工作期间)valid不可为不定态,即仿真中valid不允许出现X态和Z态,必须为高/低电平;

5.解复位后(工作期间)ready不可为不定态,即仿真中valid不允许出现X态和Z态,必须为高/低电平,注意ready的定态要求不如valid严格(或者说在valid不为1时,ready的不定态一般是允许的,有时也会要求ready全程不可为不定态);

6.info在valid为1时不可为不定态,在valid为0时无约束;

7.在valid置起为1后,到valid和ready进行握手前(包括当拍),info值不能跳变;
7.
8.valid的产生逻辑中不可包含或隐式包含ready信号;

9.ready的产生逻辑中可以包含valid信号;

当然了,以上是相对通用的要求,是否需要遵守可以根据实际情况来判断。比如果接收模块需要5拍来处理一个info,那么数据传输就不必非要在valid和ready同时为高时进行,可以在valid拉高后就开始处理,处理完成时再拉高ready接收并丢弃info。

个人的建议是,1、2、4、7、8/9选一为必须遵守的规则,其余为尽量遵守但是可以调整的规则。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16376

    浏览量

    178200
  • 接收器
    +关注

    关注

    14

    文章

    2472

    浏览量

    71929
  • 数据传输
    +关注

    关注

    9

    文章

    1901

    浏览量

    64628
  • 数字电路
    +关注

    关注

    193

    文章

    1606

    浏览量

    80641
  • 高电平
    +关注

    关注

    6

    文章

    149

    浏览量

    21399
收藏 人收藏

    评论

    相关推荐

    valid-ready握手协议和enable-xoff协议对比

    这一篇主要对比下valid-ready握手协议和enable-xoff协议,当然这个对比仅限于同时钟域下的信号传输。
    的头像 发表于 12-04 10:32 800次阅读
    <b class='flag-5'>valid-ready</b><b class='flag-5'>握手</b><b class='flag-5'>协议</b>和enable-xoff<b class='flag-5'>协议</b>对比

    【芯片设计】握手协议介绍时序说明

    最早接触到握手协议是在校期间学习PCIe的AXI总线时,至今日虽然PCIe的结构已经忘得一干二净,但握手协议经过不断的使用还算掌握的不错。
    的头像 发表于 12-11 14:11 3332次阅读
    【芯片设计】<b class='flag-5'>握手</b><b class='flag-5'>协议</b>的<b class='flag-5'>介绍</b>与<b class='flag-5'>时序</b><b class='flag-5'>说明</b>

    玩转Zynq连载4——AXI总线协议介绍2

    表明主机可以接收从机送出的读数据:1 = 主机是准备好的;0 = 主机未准备好。3 握手过程全部5个通道使用同样的VALIDREADY握手机制来实现数据和控制信息的传输。这个双向的流
    发表于 05-10 16:15

    ARM系列 -- AXI协议资料汇总(一)

    前两条好理解,重点看一下第三条。之前讲过,为了避免死锁,协议规定发送方的VALID不能依赖接收方的READY;反过来,接收方的READY可以等待,也可以不等待发送方的
    发表于 04-08 09:34

    AXI接口协议详解

    和AXi4-stream都支持三种握手机制,但其具体的总线结构是不同的,详情在后文中会介绍。这三种握手机制分别是:(1) VALID 先变高 REA
    发表于 04-08 10:45

    基于ECC带缓存的快速SSL握手协议

    标准安全套接层(SSL)握手协议带宽开销大且网络数据通信效率低。该文提出一种基于椭圆曲线密码体制、带缓存的快速SSL握手协议。该协议将服务器
    发表于 04-13 09:41 19次下载

    什么是握手信号? 什么是握手协议?

    什么是握手信号? 什么是握手协议? RS -232通行方式允许简单连接三线:Tx、Rx和地线。但是对于数据传输,双方必须对数据定
    发表于 10-14 10:26 5440次阅读

    什么是询问握手身份验证协议

    什么是询问握手身份验证协议 CHAP(询问握手身份验证协议)是用于远程登录的身份验证协议,通过三次握手
    发表于 04-03 16:06 2679次阅读

    AXI总线协议的几种时序介绍

    由于ZYNQ架构和常用接口IP核经常出现 AXI协议,赛灵思的协议手册讲解时序比较分散。所以笔者收藏AXI协议的几种时序,方便编程。
    发表于 05-12 09:10 1.1w次阅读
    AXI总线<b class='flag-5'>协议</b>的几种<b class='flag-5'>时序</b><b class='flag-5'>介绍</b>

    setup/hold的概念

    协议,需要打拍的信号间存在时序的耦合。 所以问题就简化成如何在遵循valid -ready协议的master和slave 之间完成“打拍
    的头像 发表于 07-25 10:09 2062次阅读

    Channel传输示例介绍

    本节检查源和目标之间可能的握手的一些示例。它显示了符合 AXI 协议规范的 VALIDREADY 序列的几种可能组合。
    的头像 发表于 05-08 10:30 954次阅读
    Channel传输示例<b class='flag-5'>介绍</b>

    AXI4协议五个不同通道的握手机制

    AXI4 协议定义了五个不同的通道,如 AXI 通道中所述。所有这些通道共享基于 VALIDREADY 信号的相同握手机制
    的头像 发表于 05-08 11:37 1229次阅读
    AXI4<b class='flag-5'>协议</b>五个不同通道的<b class='flag-5'>握手</b>机制

    握手协议中的Valid及data打拍技巧

    AXI 协议使用的是valid-ready握手的方式去传输数据。
    发表于 06-27 16:12 1653次阅读
    在<b class='flag-5'>握手</b><b class='flag-5'>协议</b>中的<b class='flag-5'>Valid</b>及data打拍技巧

    valid ready协议中对ready进行timing修复打拍的方法

    首先将把目标设计想象成一个黑盒子,如图1所示,我们的目标是将READY_DOWN通过打拍的方法获得时序优化。
    的头像 发表于 06-27 16:20 1353次阅读
    在<b class='flag-5'>valid</b> <b class='flag-5'>ready</b><b class='flag-5'>协议</b>中对<b class='flag-5'>ready</b>进行timing修复打拍的方法

    validready信号有哪三种情况

    信号一旦置起就不能置低,直到完成握手,至少传输一周期数据。 协议另外规定:发送方不能通过等待接收方 READY信号来确定置起 VALID 信号的时机。 通俗来讲就是设计发送方逻辑时,不
    的头像 发表于 10-31 15:44 2120次阅读
    <b class='flag-5'>valid</b>与<b class='flag-5'>ready</b>信号有哪三种情况