> 技术文档 > JESD204B子类Subclass 0,1,2建链的过程的区别_jesd204b subclass0

JESD204B子类Subclass 0,1,2建链的过程的区别_jesd204b subclass0

虽然 JESD204B 的 Subclass 0、1、2 建链流程在表面上看起来相似(都是 CGS → ILAS → DATA),但它们在链路对齐机制、同步精度、确定性延迟支持方面有本质区别。下面我们从整体结构、时序控制、同步方式等角度详细对比。


✅ 一表总结:Subclass 0 / 1 / 2 建链流程差异

对比项 Subclass 0 Subclass 1 Subclass 2 是否支持确定性延迟 ❌ 不支持 ✅ 支持 ✅ 支持 同步机制 仅 SYNC~ 控制 SYSREF + LMFC + SYNC~ 控制 本地定时器(计数) + SYNC~ 控制 是否有 SYSREF ❌ 无 ✅ 必须(外部精确定时) ❌ 无(只靠本地) LMFC(Multi-Frame Clock) ❌ 无 ✅ 必须(所有设备对齐) ✅ 有(本地同步) 延迟一致性 ❌ 每次重启延迟不同 ✅ 每次链路延迟完全一致(确定性) ⚠️ 近似一致(但对本地计数器要求极高) 多芯片同步能力 ❌ 基本无 ✅ 可实现跨多芯片同步 ⚠️ 有限制,必须所有设备严格配置计数器

🧭 三种子类建链流程对比图解

✅ Subclass 0 建链流程(最简单):

FPGA 拉低 SYNC~→ ADC 发 CGS (/K28.5/)→ FPGA 拉高 SYNC~→ ADC 发 ILAS(无时间参考)→ FPGA 接收 ILAS,进入 DATA

🔸 特点:

  • 仅靠 SYNC~ 控制链路状态
  • ILAS 不与任何固定时间参考对齐
  • 多次启动延迟值不可预测

✅ Subclass 1 建链流程(主流推荐):

外部 SYSREF 上升沿到来→ FPGA & ADC 生成 LMFC(本地多帧时钟)→ FPGA 拉低 SYNC~→ ADC 发 CGS→ FPGA 检测到 LMFC 边界时 拉高 SYNC~→ ADC 在下一个 LMFC 边界开始发 ILAS(时间对齐)→ FPGA 接收 ILAS & 校验参数→ 进入 DATA(保证延迟一致)

🔸 特点:

  • 加入了 SYSREF 和 LMFC 机制
  • ILAS 必须精确对齐到 LMFC 边界
  • 每次启动链路延迟完全确定
  • 支持多 Lane + 多设备 + 多 FPGA 同步

✅ Subclass 2 建链流程(非主流):

设备内部固定启动定时器→ FPGA 拉低 SYNC~→ ADC 发 CGS→ FPGA 在定时器到达 LMFC 点时拉高 SYNC~→ ADC 也根据本地定时器判断 LMFC→ ILAS 发送、接收都靠本地计时完成对齐

🔸 特点:

  • 不依赖 SYSREF
  • 所有设备必须本地计时器完全一致
  • 延迟近似固定,但比 subclass 1 更脆弱

🧠 ILAS 在不同 Subclass 中的意义

子类 ILAS 的时间特性 Subclass 0 ILAS 开始时间不固定,不能作为延迟参考 Subclass 1 ILAS 精确对齐 LMFC,是延迟基准点 Subclass 2 ILAS 与本地计时对齐,但易受抖动误差影响

🧪 FPGA 实现影响对比

项目 Subclass 0 Subclass 1 Subclass 2 是否需要外部 SYSREF ❌ 无 ✅ 是(推荐 AD9528) ❌ 无 是否生成 LMFC ❌ 否 ✅ 必须 ✅ 必须 JESD204 IP 配置复杂度 简单 中等 较复杂 多通道/多设备系统推荐 ❌ 不推荐 ✅ 强烈推荐 ⚠️ 不推荐(很少用)

✅ 建议选择(实际工程经验)

使用场景 推荐子类 单个 ADC、非关键同步 Subclass 0 多 ADC、多 Lane、需确定性延迟 Subclass 1 资源极度受限、或无 SYSREF 可用环境 Subclass 2(需评估)

✅ 总结回顾

项目 Subclass 0 Subclass 1 Subclass 2 控制信号 SYNC~ SYNC~ + SYSREF SYNC~ + 本地定时器 是否有 LMFC ❌ 无 ✅ 有(对齐 SYSREF) ✅ 有(本地生成) ILAS 对齐精度 ❌ 不确定 ✅ 精确边界对齐 ⚠️ 可控但误差难校 应用典型场景 非同步、单通道 高速 ADC/DAC、MIMO 系统 特殊 ASIC、无 SYSREF 场合