第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 系统连接拓扑
实际项目中,连接方式就那么几种。我画了一张图帮你捋清楚,先看拓扑,再去找自己的场景。
个人习惯:如果板子上只有一颗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代码全是白搭。