本节详细介绍单个数据项的读取事务的过程,以及用于完成事务的不同通道。
本次写传输涉及以下channel:
Read Address (AR)
Read (R)
首先,在读取地址(AR)通道上进行一次握手,如下图所示:

握手具有以下事件序列:
在时钟周期2中,manager将读取的地址传达给ARADDR上的subordinate并断言ARVALID。
在时钟周期3中,subordinate断言ARREADY以指示它已准备好接收地址值。
握手在时钟周期4的上升沿完成。
接下来,在读取 (R) 通道上,subordinate将数据传输给经理。下图显示了数据传输过程:

数据传输握手具有以下事件序列:
在时钟周期n中,manager通过置位RREADY表示它正在等待接收数据。
subordinate检索数据并在时钟周期 n+2 中将其放在RDATA上。在这种情况下,因为这是一个单一的数据事务,subordinate也将RLAST信号设置为高。同时,subordinate使用RRESP向manager指示读取事务的成功或失败,并断言RVALID。
因为RREADY已经被manager断言,所以握手在时钟周期 n+3 的上升沿完成。
multiple data items
AXI 协议还允许在同一事务中进行多个数据传输的读取突发。这类似于写入事务中描述的写入突发:多个数据项。
下图显示了突发读取传输的示例:

在此示例中,我们在AR通道上传输单个地址以传输多个数据项,以及相关的突发宽度和长度信息。
在这里,AR通道表示三个传输的序列,因此在R通道上,我们看到从subordinate到manager的三个数据传输。
在R通道上,subordinate将数据传递给manager。
在此示例中,manager正在等待数据,如RREADY设置为高所示。subordinate驱动有效的RDATA并为每次传输断言RVALID。
读取事务和写入事务之间的一个区别是对于读取事务,事务中的每个传输都有一个RRESP响应。这是因为,在写事务中,subordinate必须将响应作为单独的传输在B通道上发送。在读取事务中,subordinate使用相同的通道将数据发送回manager并指示读取操作的状态。
如果truncation中的任何transfer指示错误,则truncation的完整指示长度仍必须完成。没有早期突发终止这样的事情。
审核编辑:刘清
-
时钟
+关注
关注
11文章
1953浏览量
134532 -
axi协议
+关注
关注
0文章
8浏览量
2403
原文标题:【AXI翻译--09】读传输(Read transaction)
文章出处:【微信号:快乐的芯片工程师,微信公众号:快乐的芯片工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
采用单个ADC端口来读取多个按钮状态的方法
怎么解决这个数据读取并显示在列表框的问题?
CR95HF是否通过单个块读取单个块然后以其他方式发送整个数据?
stm32是如何接受单个数据或者一帧数据的
事务深度遍历过程详解
创建约束随机测试目标
labview读取excel数据中的每个数据
鸿蒙开发设备管理:ohos.settings 设置数据项名称

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