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

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

3天内不再提示

介绍单个数据项的读取事务的过程

快乐的芯片工程师 来源:快乐的芯片工程师 2023-05-11 09:16 次阅读

本节详细介绍单个数据项的读取事务的过程,以及用于完成事务的不同通道。

本次写传输涉及以下channel:

Read Address (AR)

Read (R)

首先,在读取地址(AR)通道上进行一次握手,如下图所示:

6f436130-ef5f-11ed-90ce-dac502259ad0.png

握手具有以下事件序列:

时钟周期2中,manager将读取的地址传达给ARADDR上的subordinate并断言ARVALID

在时钟周期3中,subordinate断言ARREADY以指示它已准备好接收地址值。

握手在时钟周期4的上升沿完成。

接下来,在读取 (R) 通道上,subordinate将数据传输给经理。下图显示了数据传输过程:

6f5d1490-ef5f-11ed-90ce-dac502259ad0.png

数据传输握手具有以下事件序列:

在时钟周期n中,manager通过置位RREADY表示它正在等待接收数据。

subordinate检索数据并在时钟周期 n+2 中将其放在RDATA上。在这种情况下,因为这是一个单一的数据事务,subordinate也将RLAST信号设置为高。同时,subordinate使用RRESP向manager指示读取事务的成功或失败,并断言RVALID

因为RREADY已经被manager断言,所以握手在时钟周期 n+3 的上升沿完成。

multiple data items

AXI 协议还允许在同一事务中进行多个数据传输的读取突发。这类似于写入事务中描述的写入突发:多个数据项。

下图显示了突发读取传输的示例:

6f824a76-ef5f-11ed-90ce-dac502259ad0.png

在此示例中,我们在AR通道上传输单个地址以传输多个数据项,以及相关的突发宽度和长度信息

在这里,AR通道表示三个传输的序列,因此在R通道上,我们看到从subordinate到manager的三个数据传输。

R通道上,subordinate将数据传递给manager。

在此示例中,manager正在等待数据,如RREADY设置为高所示。subordinate驱动有效的RDATA并为每次传输断言RVALID

读取事务和写入事务之间的一个区别是对于读取事务,事务中的每个传输都有一个RRESP响应。这是因为,在写事务中,subordinate必须将响应作为单独的传输在B通道上发送。在读取事务中,subordinate使用相同的通道将数据发送回manager并指示读取操作的状态。

如果truncation中的任何transfer指示错误,则truncation的完整指示长度仍必须完成。没有早期突发终止这样的事情。





审核编辑:刘清

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

    关注

    10

    文章

    1479

    浏览量

    130306
  • axi协议
    +关注

    关注

    0

    文章

    8

    浏览量

    2075

原文标题:【AXI翻译--09】读传输(Read transaction)

文章出处:【微信号:快乐的芯片工程师,微信公众号:快乐的芯片工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    采用单个ADC端口来读取多个按钮状态的方法

    利用单片机的ADC端口,可以读取多个按钮的状态。在设计过程中,需要综合考虑到按扭的个数读取的可靠性,特别是对选择电阻的阻值进行优化,使得不同分压数值之间相差最大。
    的头像 发表于 10-07 15:19 1474次阅读
    采用<b class='flag-5'>单个</b>ADC端口来<b class='flag-5'>读取</b>多个按钮状态的方法

    请教LabVIEW高手一个数据读取问题

    用CAN Analyser读取的即时数据,samples rate是100, 然后用excel(csv)保存下来。这个数据我需要即时同步做计算引用,所以在labview里面加了一个数据
    发表于 12-27 05:48

    怎么解决这个数据读取并显示在列表框的问题?

    图中tdms读取配置控件的属性值数据是变体,经过变体至数据转换是一维数组,但是多列表框的名属性是二维数组,求大神帮助怎么解决这个数据
    发表于 05-16 11:21

    CR95HF是否通过单个读取单个块然后以其他方式发送整个数据

    嗨,几个问题 - 从CR95HF正确读取数据到将数据发送到MCU(通过UART)所需的时间长短?让我们说它是10字节的用户数据。当读取多个块
    发表于 07-18 07:59

    Qspi和AD9253读取事务不起作用的原因?

    你好,我正在使用ADC(AD-9253),读取事务不起作用。我想了解spi读取
    发表于 05-13 09:35

    stm32是如何接受单个数据或者一帧数据

    stm32支持接受单个数据或者一帧数据,若配置单个数据接收中断的话,会出现接收包丢包,数据不完整的情况!因此在stm32的串口中断中,还有一个IDLE中断,用来产生串口接受一帧
    发表于 01-06 06:46

    如何实现EEPROM页写入和连续内存数据读取

    /113729858#comments_15148487按照手册内容实现连续数据的写入(但是不能跨页)和单个数据的写入后。下面介绍硬件IIC跨页写入任意长度的数据。基本思想:若一页有8
    发表于 01-11 07:45

    用一个数字输出和一个数字输入来读取温度

    用一个数字输出和一个数字输入来读取温度
    发表于 06-08 20:59 358次阅读
    用一<b class='flag-5'>个数</b>字输出和一<b class='flag-5'>个数</b>字输入来<b class='flag-5'>读取</b>温度

    单个数码管模拟水流

    18-单个数码管模拟水流---51单片机源代码 用keil直接打开
    发表于 06-15 18:17 4次下载

    单个数码管指示逻辑电平

    20-单个数码管指示逻辑电平一----------51单片机源程序 用keil直接打开
    发表于 06-16 15:36 8次下载

    基于8051的Proteus仿真-8只数码管滚动显示单个数

    基于8051的Proteus仿真-8只数码管滚动显示单个数
    发表于 09-06 16:52 36次下载

    事务深度遍历过程详解

    )。 在一个事务中定义USER标签的name作为模式可索引的属性,然后使用分离的事务实际设置一个真实用户的值: 许多数据库管理系统使用锁机制来管理对同一个数据库的同时访问。Neo4j
    发表于 12-11 12:34 1012次阅读

    介绍单个数据项的写入事务过程

    manager将地址放在 AWADDR 上并在时钟周期 2 中断言 AWVALID。
    的头像 发表于 05-08 09:21 215次阅读
    <b class='flag-5'>介绍</b><b class='flag-5'>单个数据项</b>的写入<b class='flag-5'>事务</b>的<b class='flag-5'>过程</b>

    GaussDB数据事务介绍

    之一,因此事务管理在数据库技术中占据了极为重要的位置。在这里我们将着重介绍华为云数据库 GaussDB 对事务的支持及管理,包括
    的头像 发表于 06-05 16:28 486次阅读
    GaussDB<b class='flag-5'>数据</b>库<b class='flag-5'>事务</b><b class='flag-5'>介绍</b>

    labview读取excel数据中的每个数据

    如何使用 LabVIEW 读取 Excel 数据,并对其中的每个数据进行处理。 Excel 是一种常用的电子表格软件,广泛用于数据存储和分析。在实际的工程项目中,常常需要从 Excel
    的头像 发表于 12-26 11:19 1072次阅读