第2章:系统架构与典型应用场景

JESD204B这套标准,说白了就是给高速转换器(ADC/DAC)和逻辑器件(FPGA/ASIC)之间搭的一座数字桥。它把并行数据线变成了高速串行链路,省掉一大堆PCB走线,但也带来了新的设计复杂度。

我最早接触这个标准是在一个宽带相控阵项目里。当时看着原理图上少了一大片并行数据线,心里还挺爽的。结果调试链路对齐的时候,差点没把自己绕进去。嗯,这一章咱们就先把架构理清楚,再聊聊它到底能用在哪儿。

2.1 JESD204B的分层架构

标准文档写得比较绕,但拆开看其实就三层。我习惯这么记:传输层管数据映射,链路层管帧封装,物理层管串行收发。

层级 核心职责 我踩过的坑
传输层 将采样点打包成帧;处理样本转换与填充 分辨率和通道数没算对,导致丢数据
链路层 帧对齐、初始通道对齐序列(ILAS)、数据加扰/解扰 ILAS没跑完就急着发数据,结果全乱
物理层 高速串行收发(SerDes)、时钟恢复、电平标准 参考时钟抖动超标,链路死活锁不住

2.2 关键设备角色

一个完整的JESD204B系统里,通常有这几类角色。你想想看,有点像一个小型团队,各司其职。

  • 发送端(TX):通常是高速ADC。它把模拟信号转换成数字样本,然后按照JESD204B协议打包,通过SerDes发出去。
  • 接收端(RX):一般是FPGA或专用接收芯片。它负责把高速串行数据流收下来,解包,恢复出原始的样本数据。
  • 设备时钟(Device Clock):给所有设备提供参考时钟。抖动必须很小,我记得有一次用了普通晶振,结果误码率飙升。
  • SYSREF:系统参考信号。一个脉冲,用来对齐各设备的帧时钟和多帧时钟。这是JESD204B的精华所在,也是坑最多的地方。

核心概念:JESD204B系统中,所有TX和RX必须共享一个确定性延迟。意思是,数据从ADC采样到FPGA内部恢复出来,时间必须固定不变。SYSREF就是干这个用的。

2.3 系统连接拓扑

实际项目中,连接方式就那么几种。我画了一张图帮你捋清楚,先看拓扑,再去找自己的场景。

JESD204B 典型系统拓扑结构 TX (ADC) RX (FPGA) 1-8 Lane 点对点(Point-to-Point) TX1 (ADC) TX2 (ADC) RX (FPGA) SYSREF 多TX → 单RX 确定性延迟(常见于相控阵/多通道接收机) 主TX (AD) 从TX (AD) SYSREF转发 RX 汇总数据

个人习惯:如果板子上只有一颗ADC接一片FPGA,我肯定选点对点。要是多通道同步采样,就得考虑多TX共享SYSREF的方案,并且做严格的PCB等长布线。

2.4 典型应用场景

不同的应用,对JESD204B的要求侧重点完全不同。我把它分成三大类:

场景一:通信基站收发信机

通信系统最看重带宽和延迟一致性。你想想看,MIMO天线里几十个通道,如果每个通道的时延不一样,波束指向就偏了。JESD204B的确定性延迟能力刚好解决这个问题。

  • 典型配置:4个ADC + 4个DAC,每器件4条lane,速率12.5 Gbps
  • 频率点:器件时钟300 MHz附近,SYSREF必须是周期脉冲,频率与多帧对齐
  • 我个人习惯在FPGA里做专门的SYSREF捕获逻辑,保证所有器件在同一时刻采到同一个脉冲沿

场景二:高速示波器/数据采集卡

示波器要的是超高采样率和精确时基。经常遇到多片ADC交替采样,得把它们的时钟相位精确错开。

  • 核心挑战:ADC交错之间,增益和相位失配会引入杂散
  • JESD204B能提供准确的采样起始标记,帮助FPGA做数字校正
  • 避坑:我曾经因为SYSREF抖动偏大,导致交错时钟的边界有1-2个UI的模糊,校正后还有残余杂散。后来改用专用时钟分配芯片才搞定。

场景三:相控阵雷达/电子战系统

相控阵的核心是多通道的时间和相位同步。一个阵面几十甚至几百个通道,每个通道有自己的ADC。

  • 必须保证所有通道的采样时刻差异在皮秒级别
  • 常用菊花链或星形SYSREF拓扑
  • 每个ADC的链路层延迟寄存器需要校准到一致值
  • 我见过一个团队直接用SYSREF脉冲的上升沿作为采样触发,省去了外部同步芯片,但PCB布线必须等长到±5 mil以内

注意事项:不同场景下,link parameters(L、M、F、S、N、NP等)的配置完全不同。别拿基站项目的配置直接用到仪器仪表项目里。L值(lane数)选多了浪费FPGA资源,选少了带宽不够。

2.5 设计前必须确定的参数

拿到一个项目,我第一件事就是填一张参数表。填清楚了,后面的设计才有方向。

参数 含义 决定因素
L(Lane数) 每条链路的串行通道数 总数据速率 / 每Lane速率天花板
M(转换器数) 一个设备里有多少个ADC/DAC核 通道数量需求
F(每帧字节数) 一个帧包含多少字节 帧时钟频率与采样率的比值
K(每多帧帧数) 多帧大小,影响ILAS和SYSREF频率 通常取4~32,必须为整数
N/NP(样本位数/打包位数) 16位还是14位?是否填充 ADC真实分辨率,以及封装格式

干货:我以前带过一个新人,他没搞清楚N和NP的区别,把14位ADC的样本按16位打包,结果链路层怎么都对不齐。记住,NP ≥ N,多余位补0。FPGA端解包时得知道这个差值。

2.6 本章小结

JESD204B的系统架构,说复杂也复杂,说简单也简单。关键是把自己项目的角色和拓扑对号入座。点对点适合单通道高速采集,多TX共享时钟适合多通道同步,菊花链适合级联扩展。

每个场景的配置参数都不一样。别急着画原理图,先把L、M、F、K、S、N、NP这几个参数算清楚。算不清楚,后面的硬件设计和FPGA代码全是白搭。