出口 - 4.1 简体中文

10G/25G High Speed Ethernet Subsystem 产品指南 (PG210)

Document ID
PG210
Release Date
2023-05-16
Version
4.1 简体中文
图 1. 出口

如前图所示,根据所需的是单步操作还是双步操作,时间戳逻辑存在于两处不同位置。单步操作需用户数据报协议 (UDP) 校验和及 FCS 更新,因此使用 FCS 核逻辑。

TS 参考定义如下:

TS1
选中单步操作时的输出时间戳信号。
TS2
选中双步操作时的输出时间戳信号。
TS2'
2 个时间戳纠正到该平面。

对于 TS2,始终应用纠正以使其可供 TS2' 平面作为参考。TS1 可根据 ctl_tx_ptp_latency_adjust[10:0] 信号的值来选择是否应用 TS2' 纠正。

基于速率和时钟模式(普通或透明),ctl_tx_ptp_latency_adjust[10:0] 信号的建议默认值如下:

  • 25G 普通时钟 = 370
  • 25G 透明时钟 = 449
  • 10G 普通时钟 = 925
  • 10G 透明时钟 = 1132

在发射端,“Command”字段由客户端随发送的帧(以供发射之用)并行提供给子系统。这表示根据每个帧来确定要执行的 1588 功能(即,无操作、单步操作或双步操作),并且对于单步帧,这还可用于指示是否存在需更新的 UDP 校验和字段。

如果使用 ToD 格式,那么对于单步操作和双步操作,完整捕获的 80 位 ToD 时间戳将使用 端口描述 中定义的附加端口返回给客户端逻辑。

如果使用“Correction Field”(纠正字段)格式,那么对于单步双步操作,完整捕获的 64 位时间戳将使用 端口描述 中定义的附加端口返回给客户端逻辑(根据表中定义,上位数据设置为 0)。

如果使用 ToD 格式,那么对于单步操作,完整捕获的 80 位 ToD 时间戳将插入帧中。如果使用“Correction Field”格式,那么对于单步操作,捕获的 64 位时间戳将与帧中包含的现有“Correction Field”求和,求和所得结果将覆盖到帧中的原“Correction Field”中。针对单步时间戳支持的帧类型包括:

  • 原始以太网 (Raw Ethernet)
  • UDP/IPv4
  • UDP/IPv6对于单步 UDP 帧类型,将根据 IETF RFC 1624 来更新 UDP 校验和。对于所有单步帧,将在完成所有帧修改之后计算“Ethernet Frame Check Sequence (FCS)”(以太网帧校验序列)字段。对于双步发射操作,支持所有“Precision Time Protocol (PTP)”(精确时间协议)帧类型。

逐帧设置时间戳操作

出口时间戳功能的操作模式由 1588 命令端口上的设置判定。命令端口中所含信息用于指示以下任一结果:

  • 无操作:该帧并非 PTP 帧,不应执行任何时间戳操作。
  • 需执行双步操作并在“Command”字段中提供 1 个标签值(用户序列 ID);对于该帧,应设置时间戳,并且所设时间戳可供客户端逻辑使用,所提供的标签值则可供该帧使用。附加 MAC 发射器端口可提供此功能。
  • 需执行单步操作。
    • 对于 ToD 定时器和时间戳格式,将在命令端口中提供时间戳偏移;应对该帧设置时间戳,并且此时间戳应按提供的偏移(字节数)插入帧中。
    • 对于“Correction Field”格式,将在命令端口中提供“Correction Field”偏移值;应对该帧设置时间戳,捕获的 64 位时间戳应与该帧中包含的现有“Correction Field”求和,求和所得结果将覆盖到帧中的原“Correction Field”中。对于帧修改后的单步操作,还应更新/重新计算帧的循环冗余校验 (CRC) 值。对于 UDP IPv4 格式和 IPv6 PTP 格式的帧,需更新/重新计算该帧的报头中的校验和值。
  • 对于单步 UDP 帧类型,将根据 IETF RFC 1624 来更新 UDP 校验和。
    • 如果使用“ToD”格式,为了能正确执行此更新功能,计算发送(以供发射)的帧的原校验和值时,针对时间戳数据应使用 0 值。使用“Correction Field”格式时,则不适用此特殊限制。
    • 如果使用“Correction Field”格式,则适用另一种限制;1588 PTP 帧报头中的“UDP Checksum”(UDP 校验和)字段与“Correction Field”之差为固定间隔(以字节为单位),以支持 1588 PTP 帧定义。此要求用于最大限度缩短通过 MAC 的时延,因为校验和与纠正字段必须完全包含在 MAC 流水线内才能正确更新校验和。此特殊限制不适用于“ToD”格式,因为计算所得原时间戳数据为 0 值;因此,校验和与时间戳位置可分别位于同一帧中的不同位置。