抓住JESD204B接口功能的关键问题

时间:2022-10-03 07:30:59

抓住JESD204B接口功能的关键问题

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

与现有接口格式和协议相比,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)。使用哪些信号取决于Subclass:

Subclass 0使用器件时钟、通道和SYNC~;

Subclass 1使用器件时钟、通道、SYNC~和SYSREF;

Subclass 2使用器件时钟、通道和SYNC~。

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

图1显示了从Tx器件(ADC)到Rx器件(FPGA)的简化JESD204B链路,数据从一个ADC经由一个通道传输。

虽然JESD204B规范有许多变量,但某些变量对于链路的建立特别重要。这些关键变量如下所示(注:这些值通常表示为“X-1”):

·M:转换器数

·L:物理通道数

·F:每帧的8位字数

·K:每个多帧的帧数

·N和N’:分别表示转换器分辨率和每个样本使用的位数(4的倍数)。N’的值等于N值加上控制和伪数据位数。

Subclass 0:同步步骤

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

代码组同步(CGS)阶段

可以在链路上观察到的CGS阶段最重要部分如图2所示,图中5个突出显示的点说明如下。

1 RX将SYNC~引脚拉低,发出一个同步请求。

2 Tx从下一个符号开始,发送未加扰的/K28.5/符号(每个符号10位)。

3 当R x接收到至少4个无错误的连续/K28.5/符号时,Rx同步,然后将SYNC~引脚拉高。

4 Rx必须接收到至少4个无错误8B/10B字符,否则同步将失败,链路留在CGS阶段。

5 CGS阶段结束,ILAS阶段开始。

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

重点注意以下几点:

·“串行值”表示通过通道传输的10位的逻辑电平,可通过测量物理接口的示波器看到。

·“8B/10B值”表示通过通道传输的逻辑值(10位),可通过测量物理接口的逻辑分析仪看到。

·“数据值”和“数据逻辑”表示8810B编码前JESD204B Tx模块内符号的逻辑电平,可通过Xilinx ChipScope或Altera SignalTap等FPGA逻辑分析工具看到。

·“符号”表示要发送的字符的十六进制值,注明PHY层的奇偶性。

·“字符”表示JEDEC规范中所指的JESD204B字符。

ILAS阶段

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

完成SYNC的去置位后(变为高电平),便进入ILAS阶段。发送模块内部跟踪到(ADC内部)一个完整多帧后,便开始发送4个多帧。在所需的字符中插入伪采样,以便传送完整的多帧,如图4所示。4个多帧包括:

多帧1:以/R/字符【K28.0】开始,以/A/字符【K28.3】结束。

多帧2:以/R/字符开始,后接/Q/【K28.4】字符,然后是14个配置8位字的链路配置参数,最后以/A/字符结束。

多帧3:与多帧1相同。

多帧4:与多帧1相同。

帧长度可以利用JES D204B参数计算:(M/L)×F×(1/采样速率),含义:(ADC数/通道数)×(8位字数/帧)×(1/采样速率)。示例:2个ADC、2个通道、每帧2个8位字,采样速率为250 MSPS,则帧长度为:(2/2)×(2)×(1/250MHz)=8ns。

多帧长度可以利用JESD204B参数计算:(M/L)×F×K(1/采样速率),含义:(ADC数/通道数)×(8位字数/帧)×(帧数/多帧)×(1/采样速率),(2/2)×(2)×(32)×(1/250MHz)=256ns。示例:2个ADC,采样速率为250MSPS,2个通道,每帧2个8位字,每个多帧含32帧,则多帧长度为:(2/2)×(2)×(32)×(1/250MHz)=256ns。

数据阶段(使能字符替换)

在数据传输阶段,通过控制字符监控帧对齐。在帧的结尾处执行字符替换。在数据阶段,数据或帧对齐不会造成额外开销。字符替换允许在帧边界处发送对齐字符,唯一条件是当前帧的最后一个字符可以替换为上一帧的最后一个字符。这有利于(问或)确认自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传播出去。接收器将把数据送入FIF0,然后在下一个(RX)LMFC边界开始输出数据。发送器SERDES输入与接收器FIFO输出之间的已知关系称为“确定性延迟”。

**注意:204的数据阶段具有零延迟,即数据阶段一旦开始,则不存在对齐字符。字符替换允许在帧边界处发送对齐字符,唯一条件是当前帧的最后一个字符可以替换为上一帧的最后一个字符。这有利于(问或)确认自ILAS序列后,对齐未改变。

上一篇:篮球防守的若干理论问题研究 下一篇:CAN BUS特色与应用实例