Holoscan 传感器桥 v2.0.0

数据平面

数据平面是指数据从传感器接口到主机接口以及反向的流动。 AXI-Stream 协议用于连接传感器和主机与 Holoscan 传感器桥 IP。 AXI-Stream 是一种 AMBA 定义的总线协议,用于在端点之间传输数据。

Holoscan 传感器桥 IP 中使用了 IHI0051B 修订版中记录的 AXI4-Stream 协议规范。

在当前版本的 Holoscan 传感器桥 IP 中,传感器 RX AXI-Stream 信号受限于

完整的 TDATA 总线将在每个 TVALID 周期发送到主机。

TLAST 高电平将终止并传输 UDP 数据包,其中包含当前缓冲区中的数据量,并包括 TLAST 周期内的数据。 TLAST 高电平是一个可选功能,可用于同步数据包传感器 AXI-S 到传感器窗口的开始。有关传感器窗口的更多信息,请参阅本页后面的描述。

TKEEP 和 TUSER 信号将被忽略。

在未来版本的 Holoscan 传感器桥 IP 中,传感器 RX AXI-Stream 信号的预期功能是

TKEEP 信号将指示 TDATA 上要传输的有效字节。 TKEEP 仅在 TLAST 为高电平时有效。

传感器 RX AXI-Stream 的示例时序图如下所示。此示例使用 39 字节的传感器数据大小,DATAPATH_WIDTH 为 64 位。图中的 D0、D1 等代表 1 个字节。

请注意,在 TLAST 时钟周期中,MSB 填充为 0。填充的 0 将被传输到主机。

sensor_timing.png

图 1 传感器 RX AXI-Stream 接口

传感器事件

每个传感器接口的事件信号都可用作 Holoscan 传感器桥 IP 的输入。

例如,传感器事件信号可以连接到前端传感器 PHY 错误信号,以便在发生 PHY 错误时通知主机,并让主机执行软复位。

一旦传感器事件信号被断言至少一个“i_sif_clk”周期,Holoscan 传感器桥 IP 将停止接收 AXI-Stream 数据。传感器事件信号可以通过硬件或软件复位取消断言。如果未设置传感器事件掩码位,传感器事件信号还将生成并传输控制事件数据包。

当前 IP 中不支持从主机 RX 到传感器 TX 的流数据。传感器 TX 的一个示例应用是软件定义无线电。

这将在未来的 IP 版本中支持。

传感器 RX 数据被打包成 UDP 数据包,并通过主机 TX AXI-Stream 端口传输。

UDP 开销

UDP 数据包需要开销,例如数据包开头的标头和添加到数据包末尾的 iCRC。当传感器封装的 UDP 数据包达到配置的以太网数据包长度大小或传感器窗口结束时,将发送这些数据包。在达到传感器窗口结束时,将发送带有不同 UDP 数据包的元数据数据包。下表描述了这两种数据包的 UDP 数据包结构。

传感器 UDP 数据包

字节计数

描述

字节大小

字节序

0 到 13 以太网标头 14 大端
14 到 33 IPv4 标头 20 大端
34 到 41 UDP 标头 8 大端
42 到 69 Holoscan 传感器桥标头 28 小端
70 到 N+691 传感器数据 N 小端
N+70 到 N+731 iCRC 4 小端
  1. N=配置的以太网数据包长度或传感器窗口剩余结束大小。

元数据 UDP 数据包

字节计数

描述

字节大小

字节序

0 到 13 以太网标头 14 大端
14 到 33 IPv4 标头 20 大端
34 到 41 UDP 标头 8 大端
42 到 73 Holoscan 传感器桥标头 32 小端
74 到 77 标志 4 小端
78 到 81 数据包序列号 4 小端
82 到 85 整个窗口中传感器数据的 CRC 4 小端
86 到 97 窗口中第一个传感器数据的 PTP 12 小端
98 到 105 缓冲区内有效字节数 8 小端
106 到 109 帧编号 4 小端
110 到 121 元数据数据包形成的 PTP 12 小端
122 到 201 保留 80 小端
202 到 205 iCRC 4 小端

以太网、IPv4 和 UDP 标头均符合标准以太网标头格式。

请注意,帧校验序列 (FCS) 是以太网数据包的最后 4 个字节,并且是以太网数据包长度的一部分,但它不是由 Holoscan 传感器桥 IP 计算和添加的。以太网 IP 预计会计算 FCS 并将其添加到 UDP 数据包的末尾。

前导码和起始帧定界符 (SFD) 也应由以太网 IP 添加,这些字段不作为以太网数据包长度的一部分进行计算。

传感器数据吞吐量

由于 UDP 开销,总传感器数据吞吐量小于可用的最大以太网带宽。

使用参考设计以太网数据包长度 1486 字节,对于 10G 以太网模块,计算出的传感器数据吞吐量为 9.146G。

当考虑每个以太网数据包由以太网 IP 添加的前导码、SFD 和包间间隔时,总传感器吞吐量将降低。

请注意,传感器数据吞吐量取决于以太网数据包长度。较小的以太网数据包长度将导致较小的传感器数据吞吐量。

传感器数据延迟

一旦接收到足够的传感器数据来构建完整的 UDP 数据包,Holoscan 传感器桥 IP 将开始将传感器数据打包成 UDP 数据包。在 Holoscan 传感器桥 IP 输入端接收到的 UDP 数据包的最后一个传感器数据与从 Holoscan 传感器桥 IP 输出端传输的 UDP 数据包的第一个数据之间的延迟为 50 个主机接口时钟周期。

这是假设队列中没有其他传输数据包。

传感器窗口

在某些传感器应用中,窗口大小具有特定用途。例如,在相机传感器应用中,1 帧的大小可以是窗口大小。

Holoscan 传感器桥 IP 可配置为在指定的窗口大小结束时发送窗口结束数据包。有关更多详细信息,请参阅 Holoscan 文档。

主机 RX 接口用于主机与 FPGA 通信。主机可以发送 BOOTP 响应、PING 和 Nvidia 定义的以太网控制总线 (ECB) 来读取和写入 FPGA 寄存器。

主机 RX AXI-Stream 端口必须连接到 MAC IP RX AXI-Stream 端口。

主机 RX AXI-Stream 端口符合 AMBA AXI-Stream 协议。 TUSER 信号指示数据包错误(例如:帧校验序列错误)。 TUSER 信号仅在 TLAST 为高电平时评估。

当 TUSER 与 TLAST 在同一周期内为高电平时,Holoscan 传感器桥 IP 将丢弃整个以太网数据包。

上一篇 时钟和复位
下一篇 外围接口
© 版权所有 2022-2024 NVIDIA。 上次更新时间:2025 年 2 月 4 日。