JESD204B是最近批准的JEDEC标准,用于转换器与数字处理器件之间的串行数据接口。它是第三代标准,解决了先前版本的一些缺陷。该接口的优势包括:数据接口路由所需电路板空间更少,建立与保持时序要求更低,以及转换器和逻辑器件的封装更小。多家供应商的新型模拟/数字转换器采用此接口,例如ADI公司的AD9250 。
与现有接口格式和协议相比,JESD204B接口更复杂、更微妙,必须克服一些困难才能实现其优势。像任何其他标准一样,要使该接口比单倍数据速率或双倍数据速率CMOS/LVDS等常用接口更受欢迎,它必须能无缝地工作。虽然JESD204B标准由JEDEC制定,但某些特定信息仍需要阐明,或者可能散布于多个参考文献中。另外,如果有一个简明的指南能概要说明该标准、工作原理以及如何排除故障,无疑对使用者将极为有帮助。
本文阐释JESD204B标准的ADC与FPGA的接口,如何判断其是否正常工作,以及可能更重要的是,如何在有问题时排除故障。文中讨论的故障排除技术可以采用常用的测试与测量设备,包括示波器和逻辑分析仪,以及Xilinx®的ChipScope或Altera®的SignalTap等软件工具。同时阐明了接口信号传输,以便能够利用一种或多种方法实现信号传输的可视化。
JESD204B标准提供一种将一个或多个数据转换器与数字信号处理器件接口的方法(通常是ADC或DAC与FPGA接口),相比于通常的并行数据传输,这是一种更高速度的串行接口。该接口速度高达12.5 Gbps/通道,使用帧串行数据链路及嵌入式时钟和对齐字符。它减少了器件之间的走线数量,降低了走线匹配要求,并消除了建立与保持时序约束问题,从而简化了高速转换器数据接口的实施。由于链路需要在数据传输之前建立,因此存在新的挑战,必须采用新的技术来确定接口是否正常工作,以及在接口故障时怎么办。
JESD204B接口通过三个阶段来建立同步链路:代码组同步(CGS)、初始通道同步(ILAS)和数据传输阶段。链路需要以下信号:共享参考时钟(器件时钟),至少一个差分CML物理数据电连接(称为“通道”),以及至少一个其他同步信号(SYNC~和可能的SYSREF)。使用哪些信号取决于子类:
子类0在许多情况下足以满足需求,因而是本文的重点。子类1和子类2提供了建立确定性延迟的方法,这在需要同步多个器件或需要系统同步或固定延迟的应用中非常重要,例如一个系统的某个事件需要已知的采样沿,或者某个事件必须在规定时间内响应输入信号。
图1显示了从发射器件(ADC)到接收器件(FPGA)的简化JESD204B链路,数据从一个ADC经由一个通道传输。
虽然JESD204B规范有许多变量,但某些变量对于链路的建立特别重要。这些关键变量如下所示(注:这些值通常表示为“X − 1”):
M:转换器数。
L:物理通道数。
F:每帧的8位字节数。
K:每个多帧的帧数。
N和N’:分别表示转换器分辨率和每个样本使用的位数(4的倍数)。N’的值等于N值加上控制和填充数据位数。
如上所述,许多应用可以采用相对简单的子类0工作模式,这也是建立和验证链路的最简单模式。子类0通过三个阶段来建立和监控同步:CGS阶段、ILAS阶段和数据阶段。各阶段相关的图表以不同格式显示数据,可以在示波器、逻辑分析仪或FPGA虚拟I/O分析仪(如Xilinx ChipScope或Altera SignalTap)上观察到这些数据。
可以在链路上观察到的CGS阶段最重要部分如图2所示,图中5个突出显示的点说明如下。
/K28.5/字符在JESD204B标准中也称为/K/,如图3所示。标准要求直流平衡。利用8B/10B编码,可以实现平均而言包含等量1和0的平衡序列。每个8B10B字符可能具有正(1较多)或负(0较多)偏差,当前字符的奇偶性由先前发送的字符的极性偏差决定,这通常是通过交替发送正奇偶性字与负奇偶性字来实现。图中显示了/K28.5/符号的两种极性。
图1:JESD204B链路图:一个ADC通过一个通道与FPGA接口。
图2:JESD204B子类0链路信号在CGS阶段的逻辑输出(假设有两个通道,一个器件含两个ADC)。
图3:K28.5字符的逻辑输出以及它如何通过JESD204B Tx信号路径传播。
重点注意以下几点:
ILAS阶段有4个多帧,允许接收器对齐来自所有链路的通道,以及验证链路参数。为了调和不同长度的走线以及接收器导致的字符偏斜,通道必须对齐。4个多帧紧紧相连(图4)。无论启用加扰链路参数与否,ILAS始终是无加扰传输。
SYNC信号从低电平变为高电平后,便进入ILAS阶段。发送模块内部跟踪到(ADC内部)一个完整多帧后,便开始发送4个多帧。在所需的字符中插入填充数据,以便传送完整的多帧(图4)。4个多帧包括:
帧长度可以利用JESD204B参数计算:
(S) ×(1/采样速率)。
(样本数/转换器/帧)×(1/样本速率)
采样速率为250 MSPS、每帧每转换器一个样本的转换器(注:在本例中“S”为0,因为它被编码为二进制值-1),其帧长度为4 ns。
(1)多帧长度可以利用JESD204B参数计算:
(2)含义:
(样本数/转换器/帧)×(帧数/多帧)×(1/采样速率)
示例:
采样速率为250 MSPS、每帧每转换器一个样本、每多帧有32帧的转换器,其多帧长度为128 ns。
(3)数据阶段(使能字符替换)
在数据传输阶段,通过控制字符监控帧对齐。在帧的结尾处执行字符替换。在数据阶段,数据或帧对齐不会造成额外开销。字符替换允许在帧边界处发送对齐字符,唯一条件是当前帧的最后一个字符可以替换为上一帧的最后一个字符。这有利于(间或)确认自ILAS序列后,对齐未改变。
出现下列情况时,会对发送器执行字符替换:
若禁用了加扰,帧或多帧的最后一个8位字等于上一帧的8位字。
若使能了加扰,多帧的最后一个8位字等于0x7C,或帧的最后一个8位字等于0xFC。
发射器和接收器各自保持一个本地多帧计数器(LMFC),它持续计数到(F × K) − 1,然后绕回到“0”重新开始计数(忽略内部字宽)。向所有发送器和接收器发送一个公共(源)SYSREF,这些器件利用SYSREF复位其LMFC,这样所有LMFC应互相同步(在一个时钟周期内)。
释放SYNC(所有器件都会看到)后,发送器在下一次(Tx) LMFC绕回0时开始ILAS。如果F × K设置适当,大于(发送器编码时间)+(线路传播时间)+(接收器解码时间),则接收数据将在下一个LMFC之前从接收器的SERDES传播出去。接收器将把数据送入FIFO,然后在下一个(Rx) LMFC边界开始输出数据。发射器的SERDES输入和接收器FIFO输出之间的这种已知关系称为确定性延迟。
图4:JESD204B 子类0链路信号在ILAS阶段的逻辑输出。
图5:./K/字符[K28.5]、/R/字符[K28.0]、/A/字符[K28.3]和/Q/字符[K28.4]图。
JESD204B可以说是一个复杂的接口标准,操作上有许多微妙之处。要找出不能正常工作的原因,需要对可能的情形有良好的了解:
本故障排除指南并未穷尽所有可能,但为使用JESD204B链路以及希望了解更多信息的工程师提供了一个很好的基本框架,对排除故障将有所帮助。
责编:Amy Wu
本文为《电子工程专辑》2022年1月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅