3. JESD204C 核心术语

JESD204C 的术语体系看似繁杂,但本质上是在描述一条从 ADC/DAC 采样数据到高速串行差分信号之间的“分层流水线”。理解这些术语,关键不是死记缩写,而是搞清楚每一层负责什么、数据以什么单位组织、接收端靠什么完成对齐与同步。下面按数据流方向,把核心术语串成一条完整链路。

一、四层结构:从样本到比特的职责划分

JESD204C 协议在逻辑上分为四层,每层只关心自己的“数据单位”和“边界”。

  • 传输层(Transport Layer):负责把 ADC/DAC 的采样样本映射为帧数据。它定义样本如何按转换器、I/Q 通道、尾比特等规则打包,输出的是“帧”级别的数据流。
  • 数据链路层(Data Link Layer):负责帧的成帧、加扰、同步头插入、多帧/扩展多帧组织,以及 64B/66B 或 8B/10B 编码前的数据准备。它输出的是“链路层数据块”。
  • 物理层(Physical Layer):负责串行化、预加重、差分驱动、时钟恢复和接收均衡,最终把并行数据变成高速 SerDes 差分信号。
  • 链路层(Link Layer):在工程语境中常作为“数据链路层 + 物理层”的统称,强调链路建立、同步和对齐的整体行为。严格协议文档中,它更多指链路初始化与维护机制。
记忆口诀:传输层管“样本怎么排”,数据链路层管“帧怎么组”,物理层管“比特怎么跑”,链路层管“链路怎么通”。

二、多帧与扩展多帧:链路层的时间容器

在 JESD204C 中,帧是最基本的链路层单位,但仅靠帧无法完成确定性延迟和错误检测。因此协议引入了多帧(Multiframe)和扩展多帧(Extended Multiframe)。

  • 帧(Frame):由若干八位字节组成,包含样本数据和可选的控制位。帧长由参数 F 决定。
  • 多帧(Multiframe):由 K 个连续帧组成,用于承载同步头、对齐字符和链路配置信息。多帧边界是接收端进行帧对齐的重要参考。
  • 扩展多帧(Extended Multiframe):JESD204C 新增概念,由多个多帧组成,主要用于 64B/66B 编码模式下的同步头周期和链路状态维护,支持更高的链路速率和更灵活的同步机制。

可以把它们理解为“帧 → 多帧 → 扩展多帧”的嵌套容器:帧是数据单元,多帧是同步单元,扩展多帧是链路维护单元。

三、同步头与对齐字符:接收端的“路标”

高速串行链路没有独立的时钟线,接收端必须从数据流中恢复时钟并找到字节边界。同步头和对齐字符就是为此服务的。

  • 同步头(Sync Header):在 64B/66B 编码中,每 66 位数据包含 2 位同步头,用于指示当前 64 位数据是控制字还是数据字。接收端通过同步头快速判断数据块类型,完成块同步。
  • 对齐字符(Alignment Character):在 8B/10B 编码中,K28.5 等特殊字符用于多帧对齐和通道间偏斜校正。JESD204C 在 64B/66B 模式下使用同步头序列替代传统对齐字符,但概念上仍属于“对齐标记”。
  • 通道对齐(Lane Alignment):多通道链路中,各通道到达时间不同,接收端利用对齐字符或同步头序列测量并补偿偏斜,使所有通道的数据重新对齐到同一多帧边界。
常见误区:把“同步头”和“对齐字符”混为一谈。同步头是 64B/66B 编码的块类型标识,对齐字符是 8B/10B 编码的特殊码字;两者目标相似,但所属编码模式和插入位置完全不同。

四、核心术语速查表

术语 所属层 核心作用 典型参数/标识
传输层 传输层 样本映射为帧数据 F、S、N、N'
数据链路层 数据链路层 成帧、加扰、同步头插入 K、M、CS、CF
物理层 物理层 串行化、差分驱动、均衡 Lane、SerDes、预加重
多帧 数据链路层 同步与链路配置容器 K 个帧
扩展多帧 数据链路层 64B/66B 同步头周期维护 E、多帧嵌套
同步头 数据链路层 指示 64B/66B 块类型 2 位 Sync Header
对齐字符 数据链路层 多帧对齐与通道偏斜校正 K28.5 等

五、案例场景:一条 4 Lane 链路的同步过程

假设一个 ADC 通过 4 条 Lane 向 FPGA 发送数据,链路速率为 24.75 Gbps,采用 64B/66B 编码。上电后,FPGA 接收端依次经历以下阶段:

  1. 块同步:每条 Lane 独立搜索 66 位块边界,利用同步头序列锁定 64B/66B 块起始位置。
  2. 多帧对齐:识别扩展多帧边界,确认多帧计数与配置参数一致。
  3. 通道对齐:比较 4 条 Lane 的多帧起始位置,测量并补偿通道间偏斜,使所有 Lane 对齐到同一扩展多帧边界。
  4. 链路建立:传输层开始解析帧数据,恢复出 ADC 样本,链路进入稳定数据传输状态。
// 典型链路状态日志片段(示意)
[LINK] Lane0: block_sync_done
[LINK] Lane1: block_sync_done
[LINK] Lane2: block_sync_done
[LINK] Lane3: block_sync_done
[LINK] Multiframe alignment: OK (E=8, K=32)
[LINK] Lane skew: 0/1/2/1 UI, compensated
[LINK] Link up, 4 lanes, 64B/66B, 24.75 Gbps

六、复盘:术语背后的三个关键判断

学习这些术语时,建议始终问自己三个问题:

  • 这个术语属于哪一层? 层决定了它的数据单位和调试手段。传输层问题看样本映射,数据链路层问题看同步头和对齐,物理层问题看眼图和均衡。
  • 它解决的是“对齐”还是“传输”? 多帧、扩展多帧、同步头、对齐字符都服务于对齐与同步;帧、样本、SerDes 服务于数据传输。
  • 它依赖哪种编码模式? 8B/10B 模式依赖对齐字符,64B/66B 模式依赖同步头和扩展多帧。混淆编码模式是调试中最常见的误区之一。
把四层结构、多帧/扩展多帧、同步头/对齐字符这三组概念放在同一张数据流图上理解,JESD204C 的术语体系就会从“缩写列表”变成一条清晰的链路建立路径。
JESD204C 分层数据流与关键术语 传输层 样本 → 帧数据 参数:F / S / N / N' 负责样本映射 数据链路层 成帧 / 加扰 / 同步头 多帧 / 扩展多帧 负责对齐与同步 物理层 串行化 / 差分驱动 均衡 / 时钟恢复 负责比特传输 链路层 链路建立 同步维护 统称概念 多帧与扩展多帧的嵌套关系 扩展多帧(Extended Multiframe) 多帧 0 多帧 1 多帧 2 …… 多帧 E-1 每个多帧 = K 个帧 帧 0 帧 1 帧 2 …… 帧 K-1 同步头与对齐字符的作用位置 64B/66B 模式:同步头(2 bit) 每 66 位块携带 2 位同步头,指示数据/控制类型 8B/10B 模式:对齐字符(K28.5) 多帧边界插入特殊码字,用于通道对齐与偏斜校正 数据流方向:样本 → 帧 → 多帧 → 扩展多帧 → 编码 → SerDes 差分信号