RapidIO 事务操作全解析
1. 事务基础与错误响应
在事务操作中,ERROR 响应表示事务的目标方遇到了无法恢复的错误,导致事务无法完成。对于大多数事务类型,发送到系统中的请求事务会被标记一个事务 ID,这个 ID 对于每一对请求者和响应者处理元素来说是唯一的。借助这个事务 ID,当响应返回给请求者时,就能轻松将其与原始请求匹配起来。在请求者收到原始事务的响应之前,端点不能对同一目的地重复使用相同的事务 ID。系统支持的未完成事务数量取决于具体的实现。
如果目标处理元素要求事务按顺序接收,并且互连结构可以对数据包重新排序,那么事务 ID 还可以用于指示顺序信息。接收设备可以选择重试后续乱序的请求,或者在接收到并完成序列中缺失的事务之前,先接受但不完成后续乱序的请求。
2. 示例读取操作
2.1 读取操作概述
在了解了 Type 2 和 Type 13 事务数据包格式后,我们可以深入了解在 RapidIO 架构中读取操作是如何实现的。读取操作由一个 NREAD 事务和一个 RESPONSE 事务组成,它是展示 RapidIO 协议工作原理的典型示例。
2.2 操作假设
假设处理器要通过 RapidIO 互连读取外围设备上内存映射寄存器的内容,为了便于说明,我们做出以下假设:
- 处理器(源)的 RapidIO 设备 ID 为 0x10。
- 外围设备(目标)的 RapidIO 设备 ID 为 0x36。
- 要读取的外围设备上的内存地址为 0xffff0004,数据长度为 4 字节,该外围设备的地址空间采用 32 位寻址。
RapidIO事务操作解析与应用
超级会员免费看
订阅专栏 解锁全文
60

被折叠的 条评论
为什么被折叠?



