3. ADI JESD204链路参数规划

JESD204B/C链路的参数规划,本质上是把ADC/DAC的“模拟侧需求”翻译成“串行链路侧能力”,并验证两者是否匹配。核心参数包括:M(转换器数量)、L(物理通道数)、F(每帧每通道的八位组数)、K(每多帧的帧数)、S(每帧每转换器的采样数),以及由它们推导出的线速率、帧时钟和多帧时钟。规划的目标不是让参数“看起来合理”,而是让链路在确定的采样率、位宽和通道数下,既不超载也不浪费。

一、先明确输入条件:采样率、通道数、位宽

规划的第一步是收集转换器侧的真实约束。以一颗双通道ADC为例,假设采样率 fs = 250 MSPS,分辨率 N = 14 bit,通道数 M = 2。如果使用JESD204B,通常还会在14位有效数据后附加控制位或填充位,使每个采样在链路上占用 N' = 16 bit(即2个八位组)。这个N'是链路预算的关键,因为它决定了每采样需要传输的比特数,而不是ADC的标称分辨率。

对于DAC侧,输入条件类似:采样率、通道数、位宽,但方向相反——链路把数据从逻辑器件送到DAC。无论ADC还是DAC,规划逻辑一致:先确定“每秒钟需要搬运多少比特”,再决定“用几条通道、以多快的线速率搬运”。

二、计算总数据吞吐量

总吞吐量由采样率、通道数和每采样比特数共同决定。对于上述双通道ADC:

总比特率 = fs × M × N'
         = 250 MSPS × 2 × 16 bit
         = 8000 Mbps = 8 Gbps

这8 Gbps是链路必须承载的有效数据速率。注意,这里还没有考虑8b/10b编码开销(JESD204B)或64b/66b编码开销(JESD204C)。如果使用JESD204B的8b/10b编码,线速率需要乘以10/8;如果使用JESD204C的64b/66b,则乘以66/64。这个开销直接决定了最终SerDes线速率是否落在器件支持范围内。

三、选择L、F、K、S的组合

L是物理通道数,F是每帧每通道的八位组数,S是每帧每转换器的采样数,K是每多帧的帧数。它们之间满足一个基本关系:

每帧总八位组数 = L × F
每帧承载的采样数 = M × S
每采样八位组数 = N' / 8

因此有:L × F = M × S × (N'/8)。这个等式是参数规划的核心约束。以M=2、N'=16(即2八位组)为例,若取S=1,则每帧需要承载2×1×2=4个八位组。如果选择L=2,则F=2;如果选择L=1,则F=4。L越小,单通道线速率越高;L越大,单通道线速率越低,但占用更多SerDes资源。

K的选择影响多帧结构和确定性延迟。JESD204B要求K满足 1 ≤ K ≤ 32,且通常取2的幂或便于帧对齐的值。K越大,多帧周期越长,链路同步的缓冲深度越大,但确定性延迟的粒度也越粗。工程上常取K=16或K=32,在延迟和鲁棒性之间折中。

四、线速率与时钟推导

确定L、F、S后,可以计算帧时钟和多帧时钟。帧时钟频率为:

帧时钟 = fs × S / F

对于fs=250 MSPS、S=1、F=2,帧时钟=125 MHz。多帧时钟=帧时钟/K,若K=16,则多帧时钟=7.8125 MHz。线速率则为:

线速率 = 帧时钟 × L × F × 10   (JESD204B,8b/10b)
       = 125 MHz × 2 × 2 × 10
       = 5000 Mbps = 5 Gbps

这里每条通道承载5 Gbps,两条通道合计10 Gbps,扣除8b/10b开销后有效数据8 Gbps,与前面的总吞吐量一致。如果换成JESD204C的64b/66b,线速率约为 125 × 2 × 2 × 66/64 ≈ 5.16 Gbps,开销更小,但协议复杂度更高。

JESD204B 链路参数规划流程(示例:2通道ADC,250MSPS,14bit) 输入条件 fs = 250 MSPS M = 2 通道 N = 14 bit → N' = 16 bit 总数据吞吐量 = fs × M × N' = 250M × 2 × 16 = 8 Gbps 选择 L / F / S / K 组合 约束:L × F = M × S × (N'/8) 示例:L=2, F=2, S=1, K=16 校验:2×2 = 2×1×2 ✓ 时钟与线速率推导 帧时钟 = fs × S / F = 125 MHz 多帧时钟 = 帧时钟 / K = 7.8125 MHz 线速率 = 帧时钟 × L × F × 10 = 5 Gbps/通道 链路预算校验 有效数据速率 = 5 Gbps × 2通道 × 8/10 = 8 Gbps ✓ 线速率需在SerDes支持范围内,且满足建立/保持余量 参数调整方向 L↑ → 线速率↓,SerDes资源↑ F↑ → 帧时钟↓,缓冲深度↑ K↑ → 多帧周期↑,延迟粒度↑ S↑ → 帧时钟↑,每帧采样数↑

五、参数调整与工程折中

实际规划中,很少一次就得到最优组合。常见调整方向包括:如果线速率超出FPGA SerDes上限,可以增加L,把数据分散到更多通道;如果通道数受限,则减少L、增大F,但要注意F不能超过协议允许的最大值(JESD204B中F≤256)。如果帧时钟过高导致逻辑时序紧张,可以增大F或S来降低帧时钟,但S增大会使每帧承载的采样数增加,需要更大的缓冲。

K的选择还影响确定性延迟。JESD204B的确定性延迟要求多帧边界对齐,K越大,多帧周期越长,接收端弹性缓冲需要覆盖的相位差越大。工程上通常先按K=16或K=32规划,再根据链路建立时间和延迟要求微调。对于需要多芯片同步的系统,还要保证各链路的多帧时钟同源且相位一致。

六、一个可复用的规划检查表

下面给出一个简化的参数规划检查表,可直接用于项目初期的链路预算:

检查项 示例值 判断依据
总有效数据速率 8 Gbps fs × M × N'
L × F 是否等于 M × S × N'/8 2×2 = 2×1×2 ✓ 协议帧结构约束
线速率是否在SerDes范围 5 Gbps/通道 查器件数据手册
帧时钟是否满足逻辑时序 125 MHz FPGA时序约束
K是否在1~32且便于对齐 K=16 JESD204B规范
8b/10b开销是否已计入 ×10/8 JESD204B编码
提示:如果使用JESD204C,编码开销从8b/10b变为64b/66b,线速率计算改为乘以66/64,同时F、K的定义和帧结构也有变化。规划时应先确认协议版本,再套用对应的公式。

参数规划完成后,建议用链路预算表把输入条件、中间计算和最终线速率全部记录下来,并与ADC/DAC数据手册中的JESD204配置示例对照。如果手册给出了推荐配置,优先采用手册值;如果需要自定义,则必须逐项验证帧结构、时钟和线速率是否同时满足协议和硬件约束。只有所有约束都通过,链路才具备可建立、可同步、可稳定传输的基础。