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,开销更小,但协议复杂度更高。
五、参数调整与工程折中
实际规划中,很少一次就得到最优组合。常见调整方向包括:如果线速率超出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编码 |
参数规划完成后,建议用链路预算表把输入条件、中间计算和最终线速率全部记录下来,并与ADC/DAC数据手册中的JESD204配置示例对照。如果手册给出了推荐配置,优先采用手册值;如果需要自定义,则必须逐项验证帧结构、时钟和线速率是否同时满足协议和硬件约束。只有所有约束都通过,链路才具备可建立、可同步、可稳定传输的基础。