ADC/FPGA串连顺畅 JESD204B界面故障排除无碍

作者:Anthony DeSimone,ADI自动化、能源与传感器部门应用工程师;Michael Giancioppo,ADI FPGA系统应用工程师

JESD204B是近期核准的JEDEC标准,用于转换器与数字讯号处理组件之间的串行数据接口。它是第三代标准,进一步解决了先前版本的一些缺陷。这个接口的优势包括,数据接口路由所需电路板空间更少,建立与保持时序要求更低,以及转换器和逻辑组件的封装更小。多家供货商的新型模拟/数字转换器采用此接口。

与现有接口格式和协议相比,JESD204B接口更复杂、更微妙,必须克服一些困难才能实现其优势。如同任何其他标准,要使该接口比单倍数据速率或双倍数据速率CMOS/LVDS等常用接口更受欢迎,它必须能无缝地工作。虽然JESD204B标准是由JEDEC所制定,但某些特定信息仍需要阐明,或者可能散布于多个参考文献中。另外,如果有一个简单明了的指南能概要说明该标准、工作原理以及如何排除故障,无疑对于使用者而言将会相当有帮助。

本文阐释了JESD204B标准的ADC与FPGA的接口,如何判断其是否正常工作,以及可能更重要的是,如何在有问题时排除故障。文中讨论的故障排除技术可以采用常用的测试与测量设备,包括示波器和逻辑分析仪,以及Xilinx的ChipScope或Altera的SignalTap等软件工具。同时说明了接口讯号传输,以便能够利用一种或多种方法实现讯号传输的可视化。

JESD204B技术架构
JESD204B标准提供一种将一个或多个数据转换器与数字讯号处理组件接口(通常是ADC或DAC与FPGA接口),相较于常见的并行数据传输,这是一种更高速的串行接口。该接口每信道速度高达12.5Gbps,使用帧串行数据链路及嵌入式频率和对齐字符。减少了组件之间的布线数量,降低布线匹配要求,并消除建立与保持时序约束问题,简化了高速转换器数据接口的实施。由于链路需要在数据传输之前建立,因此存在新的挑战,必须采用新的技术来确定接口是否正常工作,以及在接口故障时如何解决。

JESD204B接口透过三个阶段来建立同步链路,代码组同步(CGS)、初始通道同步(ILAS)和数据传输阶段。链路需要共享参考频率(组件频率),至少一个差分CML物理数据电连接(称为通道),以及至少一个其他同步讯号(SYNC~和可能的SYSREF)。使用哪些讯号取决于子类:
・子类0使用组件频率、信道和SYNC~。
・子类1使用组件频率、信道、SYNC~和SYSREF。
・子类2使用组件频率、信道和SYNC~。

子类0在许多情况下足以满足需求,因而是本文的重点。子类1和子类2提供了建立确定性延迟的方法,这在需要同步多个组件或需要系统同步或固定延迟的应用中非常重要,例如一个系统的某个事件需要已知的采样边缘,或者某个事件必须在规定时间内响应输入讯号。

图1显示了从发射组件ADC到接收组件FPGA的简化JESD204B链路,数据从一个ADC经由一个通道传输。

图1 JESD204B链路图:一个ADC透过一个信道与FPGA接口

虽然JESD204B规范有许多变数,但某些变量对于链路的建立特别重要。这些关键变量如下所示(这些值通常表示为X- 1):
・M:转换器数。
・L:物理通道数。
・F:每帧的8字节数。
・K:每个多帧的帧数。
・N和N':分别表示转换器分辨率和每个样本使用的位数(4的倍数)。N'的值等于N值加上控制和填充数据位数。

子类0:同步步骤
如上所述,许多应用可以采用相对简单的子类0工作模式,这也是建立和验证链路的最简单模式。子类0透过三个阶段来建立和监控同步,包括CGS阶段、ILAS阶段和数据阶段。各阶段相关的图表以不同格式显示数据,可以在示波器、逻辑分析仪或FPGA虚拟I/O分析仪(如Xilinx ChipScope或Altera SignalTap)上观察到这些资料。

代码组同步(CGS)阶段
可以在链路上观察到的CGS阶段最重要部分如图2,图中五个突出显示的点说明如下。

图2 JESD204B子类0链路讯号在CGS阶段的逻辑输出(假设有两个信道,一个组件含两个ADC)

・接收器透过拉低SYNC~针脚,发出一个同步请求。
・收发器从下一个符号开始,发送未加扰的/K28.5/符号(每个符号10位)。
・当接收器收到至少四个无错误的连续/K28.5/符号时同步,然后将SYNC~针脚拉高。
・接收器必须接收到至少四个无错误8B/10B字符,否则同步将失败,链路留在CGS阶段。
・CGS阶段结束,ILAS阶段开始。

/K28.5/字符在JESD204B标准中也称为/K/,如图3。标准要求直流平衡。利用8B/10B编码,可以实现平均而言包含等量1和0的平衡序列。每个8B/10B字符可能具有正(1较多)或负(0较多)偏差,当前字符的奇偶性由先前发送字符的极性偏差决定,这通常是透过交替发送正奇偶性字与负奇偶性字来实现。图中显示了/K28.5/符号的两种极性。

图3 K28.5字符的逻辑输出以及其如何透过JESD204B Tx讯号路径传播

重点注意以下几点:
・串行值表示透过信道传输的10位逻辑位准,可透过测量物理接口的示波器看到。
・8B/10B值表示透过信道传输的逻辑值(10位),可透过测量物理接口的逻辑分析仪看到。
・数据值和数据逻辑表示8B/10B编码前JESD204B收发器模块内符号的逻辑位准,可透过Xilinx ChipScope或Altera SignalTap等FPGA逻辑分析工具看到。
・符号表示要发送的字符的十六进制值,注意PHY层的奇偶性。
・字符表示JEDEC规范中所指的JESD204B字符。

ILAS阶段无加扰传输
ILAS阶段有四个多帧,允许接收器对齐来自所有链路的通道,以及验证链路参数。为了调和不同长度的布线以及接收器导致的字符偏斜,信道必须对齐。四个多帧紧紧相连(图4)。无论启用加扰链路参数与否,ILAS始终是无加扰传输。

图4 JESD204B 子类0链路讯号在ILAS阶段的逻辑输出

SYNC~讯号从低位准变为高位准后,便进入ILAS阶段。发送模块内部追踪到(ADC内部)一个完整多帧后,便开始发送四个多帧。在所需的字符中插入填充数据,以便传送完整的多帧(图4)。四个多帧包括:
・多帧1:以/R/字符[K28.0]开始,以/A/字符[K28.3]结束。
・多帧2:以/R/字符开始,后接/Q/ [K28.4]字符,然后是14个配置8位字的链路配置参数(表1),最后以/A/字符结束。
・多帧3:与多帧1相同。
・多帧4:与多帧1相同。

帧长度可以利用JESD204B参数计算:(S)×(1/采样速率)

图5 /K/字符[K28.5]、/R/字符[K28.0]、/A/字符[K28.3]和/Q/字符[K28.4]图

含义:
(样本数/转换器/帧)×(1/样本速率)

范例:
采样速率为250MSPS、每帧每转换器一个样本的转换器(注:在本例中「S」为0,因为它被编码为二进制值-1),其帧长度为4 ns。
(1) × (1/250 MHz) = 4 ns..................公式(1)
多帧长度可以利用JESD204B参数计算:
K × S × (1/Sample Rate)...................公式(2)

含义:
(样本数/转换器/帧)×(帧数/多帧)×(1/采样速率)

范例:
采样速率为250 MSPS、每帧每转换器一个样本、每多帧有32帧的转换器,其多帧长度为128 ns。
(1) × (32) × (1/250 MHz) = 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输出之间的这种已知关系称为确定性延迟。

除错需多面向检验
JESD204B可以说是一个复杂的接口标准,操作上有许多微妙之处。要找出不能正常工作的原因,需要对可能的情形有良好的了解。陷入CGS模式,如果SYNC保持逻辑低位准;或者脉冲高位准持续时间少于四个多帧。

不上电检查电路板
・SYSREF和SYNC~讯号应直流耦合。
・在电路板未上电的情况下,检查从SYNC~源(通常来自FPGA或DAC)到SYNC~输入(通常是ADC或FPGA)的电路板SYNC~连接是否良好且具有低阻抗。
・确保下拉或上拉电阻不是讯号传输的主导因素,例如:值太小或短路就会导致无法正确驱动。
・确认JESD204B链路的差分对布线(及电缆,若使用)匹配。
・确认布线的差分阻抗为100Ω。

上电检查电路板
・如果SYNC路径中有一个缓冲器/转换器,确保其能正常工作。
・确认SYNC~源和板上电路(SYNC+和SYNC-,若为差分)配置正确,产生符合SYNC~接收组件要求的逻辑位准。如果逻辑位准不兼容,应检查源和接收配置以找出问题,否则,请咨询组件制造商。
・确认JESD204B串行发送器和板电路配置正确,产生符合JESD204B串行数据接收器要求的正确逻辑位准。如果逻辑位准不兼容,应检查电路的来源和接收配置以找出问题。否则,请咨询组件制造商。

检查SYNC∼讯号
・如果SYNC~为静态逻辑位准,链路将停留在CGS阶段。可能是所发送的数据有问题,或者JESD204B接收器未对样本进行正确译码。确认发送的是/K/字符,确认接收配置设置,确认SYNC~源,检查板电路,考虑过驱SYNC~讯号并强迫链路进入ILAS模式,从而找出链路接收器和收发器问题。否则,请咨询组件制造商。
・如果SYNC~为静态逻辑高位准,确认源组件是否正确配置了SYNC~逻辑位准。检查上拉和下拉电阻。
・如果SYNC~脉冲变为高位准,然后返回逻辑低位准状态且持续时间少于6个多帧周期,则JESD204B链路会从CGS阶段前进到ILAS阶段,但会停留在后一阶段。这可能意味着/K/字符正确,CDR的基本功能正常。请参阅「ILAS故障排除」部分。
・如果SYNC~变为高位准且持续时间大于6个多帧周期,则链路会从ILAS阶段前进到资料阶段,但会在后一阶段发生故障;相关故障排除提示请参阅「资料阶段」部分。

检查串行数据
・确认收发器的数据速度和接收器的预期速率是否相同。
・用高阻抗探头(如果可能,使用差分探头)测量通道;如果字符看起来错误,确保通道差分布线匹配,PCB上的返回路径未中断,并且组件正确焊接到PCA上。与ILAS和数据阶段的随机字符不同,CGS字符很容易在示波器上识别(如果使用速度足够高的示波器)。
・用高阻抗探头验证/K/字符。
。如果/K/字符正确,则表示链路的收发器端工作正常。
。如果/K/字符不正确,则表示收发器组件或电路板信道讯号有问题。
・若是直流耦合,确认发送器和接收器共模电压在组件的要求范围内。
。根据建置情况,发射器共模电压范围可能为490 mV至1135 mV。
。根据建置情况,接收器共模电压范围可能为490 mV至1300 mV。
・确认数据信道上的发射器CML差分电压(注意,CML差分电压等于讯号各侧电压摆幅的两倍)。
。对于3.125Gbps及以下的速度,发射器CML差分电压范围为0.5V p-p至1.0V p-p。
。对于6.374Gbps及以下的速度,发射器CML差分电压范围为0.4V p-p至0.75V p-p。
。对于12.5Gbps及以下的速度,发射器CML差分电压范围为0.360V p-p至0.770V p-p。
・如果存在预加重选项,应启用该选项并观察数据路径上的数据讯号。
・确认发射器与接收器的M和L值一致,否则数据速率可能不匹配。例如,M=2且L=2这种情况的预期串行接口数据速率是M=2且L=1这种情况的一半。
・确保进入发射器和接收器的组件频率已锁相且频率正确。

如果SYNC变为高位准且持续约四个多帧,则停留在ILAS模式。
・链路参数冲突
。确认链路参数未偏移1(许多参数规定为值减1)。
。确认ILAS多帧传送正确,确认收发组件、接收组件和ILAS第二多帧传送的链路参数正确。
。计算预期ILAS长度(tframe, tmultiframe, 4×tmultiframe),确认ILAS已尝试大约四个多帧。
・确认所有通道工作正常。确保不存在多通道/多链路冲突。

进入数据阶段但链路偶尔会复位(先返回CGS和ILAS阶段,再进入数据阶段):
・周期性或频隙周期性SYSREF或SYNC~讯号的建立和保持时间无效。
・链路参数冲突。
・字符替换冲突。
・加扰问题(如果启用)。
・信道数据损坏、噪声或抖动可能迫使眼图闭合。
・杂散频率或组件频率的抖动过大。

关于排除链路故障的其他一般提示:
・以允许的最低速度运行转换器和链路,如此就可使用较容易获得的低带宽测量仪器。
・设定允许的最少M、L、K、S组合。
・可能时使用测试模式。
・使用子类0来排除故障。
・排除故障时禁用加扰。

本故障排除指南并未穷尽所有可能,但可为使用JESD204B链路以及希望了解更多信息的工程师提供一个很好的基本框架。 以上是JESD204B规范的概述,并提供了链路相关的实用信息。希望与此最新高性能接口标准的工程师能从中获益,并对排除故障有所说明。

最新文章

最新文章