4. LVDS与JESD204B接口原理

在高速采集系统中,ADC与FPGA之间的数据接口决定了系统能跑多快、能同步多少通道、以及系统上电后能否稳定复现同一延迟。LVDS与JESD204B是两类典型接口:前者是并行差分物理层,后者是面向多通道、多器件同步的串行链路协议。理解它们的关键,不是记住速率数字,而是看清数据从采样到进入FPGA内部寄存器的完整路径。

一、LVDS:并行差分的物理层

LVDS(Low-Voltage Differential Signaling)本质是一种物理层标准:用约350 mV的差分摆幅、约3.5 mA的恒流源驱动,在100 Ω差分线上传输。它的优势是功耗低、抗共模干扰强、边沿快。在ADC侧,常见形式是DDR(双沿采样)输出:数据位在时钟的上升沿和下降沿都更新,因此一条数据线每周期传2 bit。

以一款14 bit、250 MSPS的ADC为例,若采用DDR LVDS输出,每对数据线每周期传2 bit,则14 bit需要7对数据线,再加1对随路时钟(DCO)和1对帧时钟(FCO)。FPGA侧接收时,DCO用于采样数据,FCO用于确定帧边界。这里有一个容易忽略的细节:DCO与数据之间的相位关系由ADC内部决定,FPGA必须用IDELAY或IDELAYCTRL对每条数据线做独立延迟校准,否则采样点会落在数据跳变沿附近,导致误码。

LVDS的局限也很明显:线对数随分辨率线性增长,16 bit、18 bit时PCB布线压力大;多器件同步需要额外处理FCO/DCO的相位对齐;速率提升后,DDR时序窗口变窄,对FPGA的输入延迟校准精度要求更高。因此,当通道数多、分辨率高、速率超过约500 MSPS时,JESD204B成为更主流的选择。

二、JESD204B:串行化与链路层

JESD204B把ADC的并行数据先做8b/10b编码,再串行化到高速SerDes通道上。一条lane的线速率可达数Gbps,因此原本需要十几对LVDS线的数据,现在可能只需要1~2条lane。它的核心参数包括:M(转换器数)、L(lane数)、F(每帧每lane的字节数)、K(每多帧的帧数)、S(每帧每转换器的采样数)、N(分辨率)、N'(打包后的位宽,通常为16)。

链路建立不是一上电就传数据,而是分阶段完成。JESD204B定义了三个状态:代码组同步(CGS)、初始通道对齐(ILAS)、用户数据阶段。CGS阶段,接收端(FPGA)发送SYNC请求,发送端(ADC)持续发送K28.5字符;当FPGA连续收到4个正确的K28.5后,拉高SYNC。ILAS阶段,ADC发送4个多帧的ILAS序列,包含链路配置参数和通道对齐信息。FPGA据此完成lane间对齐,随后进入用户数据阶段。

这里的关键是“确定性延迟”:从ADC采样时刻到FPGA内部收到对应样本,延迟必须是固定值,且每次上电、每次复位后都一致。JESD204B通过SYSREF信号实现这一点。SYSREF是一个与采样时钟同源的低速参考信号,它同时送到ADC和FPGA,用于对齐各自的本地多帧计数器(LMFC)。只要SYSREF的建立/保持时间满足要求,所有器件的LMFC相位就一致,延迟就确定。

JESD204B 链路建立与确定性延迟机制 ADC (发送端) 采样 + 8b/10b编码 M=2, L=4, F=2, K=32 串行化 SerDes 线速率 6.25 Gbps/lane LMFC 计数器 由 SYSREF 复位对齐 CGS / ILAS 状态机 K28.5 → ILAS → 数据 SYNC~ 接收 FPGA (接收端) SerDes 接收 + CDR 恢复时钟与数据 8b/10b 解码 + 对齐 lane deskew LMFC 计数器 与 ADC 同相 弹性缓冲 FIFO 吸收 lane 间偏斜 SYNC~ 驱动 Lane 0 Lane 1 Lane 2 Lane 3 SYNC~ 反馈(CGS 阶段) SYSREF(同源参考,对齐 LMFC 相位) 确定性延迟 = 采样时刻 → FPGA 内部样本,固定且可复现

三、多器件同步与确定性延迟

多片ADC同步时,仅靠SYSREF对齐LMFC还不够。假设系统中有4片ADC,每片2个通道,共8个通道。每片ADC的lane数、F值、K值必须一致,否则LMFC周期不同,无法对齐。SYSREF的走线长度必须匹配,通常要求等长误差控制在采样时钟周期的1/10以内。以250 MSPS、周期4 ns为例,1/10即400 ps,对应PCB上约60 mm的走线差。如果SYSREF到达不同ADC的时间差超过这个值,LMFC相位就会错开,通道间出现固定但未知的采样偏移。

确定性延迟的验证方法:在FPGA内部用一个已知的测试序列(如递增计数器)从ADC的测试模式输出,FPGA接收后比较延迟。更实用的做法是:给所有ADC同一模拟输入(如正弦波),在FPGA内比较各通道样本的相位差。若相位差在多次上电后保持一致,说明确定性延迟成立;若每次上电相位差随机,则SYSREF或LMFC配置有问题。

四、FPGA侧接收要点

FPGA侧接收JESD204B链路,通常使用厂商提供的IP核(如Xilinx JESD204B IP或Intel JESD204B IP)。配置时需注意以下几点:

  • 参考时钟与线速率匹配:SerDes的参考时钟必须与ADC的线速率成整数比。例如线速率6.25 Gbps,参考时钟可选125 MHz(50倍)或156.25 MHz(40倍),具体取决于FPGA的PLL范围。
  • 弹性缓冲深度:FIFO深度要能吸收lane间偏斜和时钟域差异。偏斜通常来自PCB走线不等长和SerDes内部延迟差异,典型值在几个UI到几十个UI之间。深度不足会导致溢出或下溢,表现为数据错位或周期性误码。
  • 错误检测:JESD204B链路层有8b/10b解码错误、ILAS校验错误、FIFO溢出/下溢等状态位。FPGA应把这些状态引出到寄存器,便于在线监测。若8b/10b错误计数持续增长,说明信号完整性或均衡设置有问题。
  • 眼图与均衡:高速SerDes接收端通常有CTLE(连续时间线性均衡)和DFE(判决反馈均衡)。在6 Gbps以上,PCB损耗可能超过10 dB,需要开启均衡。调试时可通过FPGA内部的眼图扫描功能观察眼高和眼宽,判断是否需要调整均衡参数。
实操建议:初次调试JESD204B链路时,先让ADC输出测试模式(如K28.5或递增码),在FPGA侧用ILA(集成逻辑分析仪)抓取接收数据。确认CGS和ILAS阶段能正常完成、SYNC能拉高后,再切换到真实采样数据。若链路无法建立,优先检查SYSREF是否到达、LMFC是否对齐、以及参考时钟是否稳定。

五、LVDS与JESD204B的选型对比

对比项 LVDS JESD204B
物理层 并行差分,DDR 串行SerDes,8b/10b
线对数 随分辨率线性增长 1~4条lane,与通道数相关
多器件同步 需额外对齐FCO/DCO SYSREF + LMFC,确定性延迟
典型速率 ≤ 500 MSPS ≥ 500 MSPS,可达数Gbps
FPGA资源 普通IO + IDELAY SerDes + JESD204B IP

选型时,若系统通道数少、速率低、成本敏感,LVDS更简单直接;若通道数多、速率高、要求多器件同步和确定性延迟,JESD204B是必然选择。实际工程中,两者也常共存:低速辅助通道用LVDS,高速主通道用JESD204B。

注意:JESD204B的确定性延迟依赖SYSREF与采样时钟的同源关系。若SYSREF由FPGA内部产生,必须确保其抖动和相位噪声不会恶化采样时钟。通常建议SYSREF由专用时钟芯片(如LMK04828)产生,并与采样时钟保持固定相位关系。