当前位置: 首页 > 图灵资讯 > 技术篇> 基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程

来源:图灵教育
时间:2023-05-06 09:35:41

  基于 JESD204B 收集和数据接收电路设计

  本章将围绕基础展开 JESD204B 双通道高速数据采集实现高速数据传输接口的展示

  打开。首先,简介 JESD204B 协议,界面结构。然后,研究 JESD204B 链路建立与同

  步骤的过程。其次,研究是基于 JESD204B 子类 1 多器件同步方案。最后,将完成

  双通道同步采集和数据接收设计,包括时钟、采集和数据接收设计。

  3.1 JESD204B 协议概述

  为应对高采样率、高分辨率数据转换器数据吞吐率的提高, JEDEC 协会

  在数据转换器和逻辑器件之间制定了高速串行通信协议—— JESD204 ,

  并不断更新和修改协议。其中 JESD204 系列协议的第二次修订版—— JESD204B

  各大知名设备制造商(如 ADI 、 TI )广泛应用于高速数据转换器。

  与之前的两个版本相比, JESD204B 首先,数据传输速率提高,单通道最高

  输速率为 12.5Gbps ;其次,同一时钟(帧时钟)不再用于链路的收发两端,而是用于链路的收发

  设备时钟,即转换器的采样时钟,逻辑器件的参考时钟,通常是这两个时钟的频率

  不同的;最后,通过在每个链路上实现可重复和可编程延迟,引入确定性延迟

  数据在道路和多通道之间不同步的问题。确定性延迟是否支持并用于实现确定性

  延迟时钟的类型, JESD204B 可分为子类 0 、子类 1 及子类 2 。只有子类 1 及

  子类 2 支持确定性延迟。 JESD204B 协议的传输示意如图所示 3-1 所示。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_fpga开发

  3.2 JESD204B 接口结构

  JESD204B 接口由发送端(模数转换器或逻辑设备)和接收端(逻辑设备)

  或数模转换器)接口由两部分组成,无论是发送端还是接收端,其结构都是一致的

  包括应用层、传输层、数据链路层和物理层 4 个部分。在 JESD204B 协议中并未

  定义应用层。然而,它通常用于用户设置 JESD204B 链路参数的应用接口称为应用

  层。只有发送端和接收端之间的链路参数一致,才能保证 JESD204B 正确的链路工作。图

  3-2 是 JESD204B 接口结构框图,发送端和接收端之间的相应级别在功能上相互逆转

  程。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_链路_02

  发送端一侧的传输层根据链路参数将数据生成模块的数据映射到字节、帧、帧

  多帧及通道形式 [23] ,链路参数有 L 、 M 、 F 、 S 、 CS 、 N 、 N’ ,其中 L 、 N’ 、 M 、 F

  同 2.3.1 小节及 2.3.2 小节的意义是一样的, S 这意味着每个帧时钟的每个转换器有多少

  个采样点, CS 这意味着每个转换样本包含多少个控制位, N 表示样点分辨率。接收

  端侧的传输层需要根据链路参数和映射模式恢复样点接收到的包装数据。

  负责建立链路层 JESD204B 链路,链路同步,主要功能有 8b/10b 编 / 解码,

  链路同步、建立和监控。本文主要介绍 8b/10b 编 / 解码、链路同步、建立和监控

  以下小节介绍。 8b/10b 编码方法可以为交流耦合的串行解串链路提供直流平衡,

  避免连续传输数据 6 位为 0 或为 1 的情况。故 8b/10b 编码方法可以在数据传输中编码

  在输入过程中产生足够数量的边缘跳变,使接收端能够可靠地恢复数据时钟。 8b/10b 还

  当接收端接收到错误检测时,可以提供一定的错误检测 10 位字符不在位 8b/10b 解码器查找

  在表中,表示字符中的数据位错误。

  物理层将发送端 8b/10b 编码后的数据串行化并按通道数据传输速率发送,

  接收端物理层并行化接收的串行数据 8b/10b 解码字节数据。 JESD204B

  物理层主要由电流模式逻辑组成( CML )电平驱动器、预加重器(均衡器)和串行器

  (接收端为解串器)。发送端由预加重器补偿信道组成。 PCB 传递材料和信号

  对于输距造成的损失,接收端采用平衡器校准传输通道的低通响应。接收端的组

  部分还包括时钟检测恢复模块,该模块通过数据传输通道串行数据流进行分析

  串行数据并行化的数据时钟。

  发送端的加扰是位于传输层和链路层之间的可选功能。加扰功能传输

  层的 8bits 添加数据以消除传输数据中可能存在的频谱尖峰。当发送端选择时

  当选择使用加扰功能时,接收端需要正确 8b/10b 解码数据进行解扰 [23] 。

  3.3 JESD204B 链路的建立与同步

  由前一小节 JESD204B 界面结构可以知道, JESD204B 数据链路的建立主要是基于数据链路

  层完成。采样数据正式传输前,需要代码组同步( CGS )阶段,然

  然后是初始化通道同步(

  ILS )阶段 [24] 。同步初始化帧(

  IFS )完成包含在内 CGS 及

  ILS 阶段中。 JESD204B 建立和同步各子类链路的区别在于代码组同步完成后

  基准开启初始化通道同步的时钟边缘是什么?子类 0 帧时钟,子类 1 、 2 采用多

  帧时钟。图 3-3 是 JESD204B 子类 1 、 2 链路同步过程示意。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_接收端_03

  链路同步第一阶段-代码组同步,主要用于检测串行数据流中的关键字符

  边界,同步数据流中的字符边界和接收端字节时钟。接收端通过降低接收端 SYNC 信号

  发送端通过发送表示同步请求 /K28.5/ (即 /K/ 十六进制数字符 bc )字符

  流量表示检测到同步信号,接收器将接收并同步数据流。当接收器至少接收时 4 个

  连续正确的 /K28.5/ 当字符被拉高时,接收端将被拉高 SYNC 虽然信号表示取消了同步请求。

  然 SYNC 拉高,但发送端仍会发送 /K28.5/ 直到发送端的下一个字符 LMFC 边界

  在到来的时候,代码组同步完成。对于 JESD204B 子类 1 ,在开始代码组同步之前

  需要使用 SYSREF 信号指定每个设备的帧时钟和多帧时钟边界。

  链路同步第二阶段-初始化通道同步,主要用于检测串行数据流的帧边界

  以及多帧边界,并验证链路参数是否与用户设置一致。初始化通道由初始化通道同步

  道对齐序列(ILAS)初始化通道对齐序列由多帧组成 JESD204B 不

  同子类工作模式,多帧数不同, JESD204B 子类 0 多帧数可以自定义,

  JESD204B

  子类 1 、 2 多帧数为 4 个。以子类 1 、 2 以初始化通道对齐序列为例

  帧都是从帧开始的 /K28.0/ (即 /R/ 十六进制数字符 1c )首先,链路同步字符

  /K28.3/ (即 /A/ 十六进制的字符 7c )特别是,第二个多帧将在字符开始时结束

  跟上一个链路控制数据开始字符 /K28.4/ (即 /Q/ 十六进制的字符 9c ),随后

  是链路参数的具体值(字符) C ),对齐序列中未填充的初始化通道使用斜坡数据

  (字符 D )填充,图 3-4 对齐序列示意是初始化通道。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_fpga开发_04

  同步存在于初始化帧中 JESD204B 链路建立的各个阶段。代码组同步阶段,发送

  发送端通过发送 /K28.5/ 字符完成帧标识;在初始化通道同步阶段,接收端将接收

  第一个非 /K28.5/ 字符作为一个新帧开始,即图 3-4 中帧开始字符 /R/ ;接收端还

  根据链路参数 F 估计新帧的开始位置。帧对齐和错误可能发生在用户数据传输过程中

  为此,通过对齐字符 /K28.7/ (即 /F/ 十六进制的字符 fc )和 /K28.3/ 字符插入

  或更换特定帧,并在接收端验证对齐字符位置,实现帧对齐监控和纠正。

  3.4 基于 JESD204B 多器件同步

  对于多通道采集系统,同步是指多个通道采集系统 ADC 设备同步采样,采样数据

  采样数据之间的相位差在同步传输中保持稳定。无论采用与否 LVDS 并行传输接

  口的多 ADC 还是基于采集系统 JESD204 高速串行接口协议较多 ADC 采集系统

  首先,确定设备之间的采样时钟相位,然后确保采样数据的同步传输。基础

  于 JESD204B 为了实现数据同步传输,多器件采集系统不仅同步传输 LVDS 并行传输接

  口部采用数据走线匹配方式,并引入了两种同步方式:一种是时间戳,一种是时间戳,

  一种是确定性延迟。第二种方法最常用于实际应用,即通过实现确定性

  多器件同步延迟完成 [25-26] 。

  3.4.1 确定性延迟原理

  通常需要基础 JESD204B 多通道采集系统有不同上电周期或不同上电周期的数据延迟

  重建链路时可重复的特性。 JESD204B 标准将确定性延迟定义为帧结构样本

  从串行接收器输出进入串行发送器和样本的时差 [27] ,如图 3-5 所示。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_高精度AD调试_05

  确定性延迟包括固定延迟和可变延迟。可变延迟由 JESD204B 协议定

  每次上电或重建链路时,用于数据传输和处理的多个时钟相位关系不确定

  定引起。 JESD204B 子类 0 虽然单链路多通道对齐无需外部电路即可实现,

  但是,当链路延迟不能固定在不同的上电周期或重建链路时,不适合多链路需求

  同步的情况。 JESD204B 子类 1 、子类 2 通过确定性延迟实现多链路同步,发送

  发送端需要使所有通道在一定的“确定时间”同时发送初始化通道对齐序列

  对应通道的接收缓冲器需要在某个“确定时间”同时释放所有通道数据。无论是发送还是发送

  接收端的“确定时刻”或“确定时刻”计数单元都是帧时钟。发送端

  “确定时刻”可以是 SYNC 拉高后的第一个多帧边缘也可以编程成 SYNC 信号

  上升后的几个多帧边缘。接收端的“确定时间”是指多帧边界后的几个可编程帧

  周期( RBD , RX Buffer Delay ),可编程帧周期值范围 1 至 K 。确保接收缓慢

  在释放所有通道的数据之前,所有通道的数据已经到达,所有通道中最大的延迟

  延迟必须小于本地多帧周期, RBD 帧周期乘积必须大于数据通道中可能的最大值

  延迟。

  3.4.2 SYSREF 设计

  上述确定性延迟要求中提到的初始通道对齐序列发送和接收缓冲器释放时间

  与发送端和接收端的帧时钟和多帧时钟有关。发送端和接收端的帧时钟和多帧时钟

  时钟相位对齐是实现确定性延迟的关键。

  JESD204B 子类 1 采用 SYSREF 对齐系统

  中间器件之间的帧时钟和多帧时钟相位如图 3-6 所示 [28] 。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_链路_06

  随着转换器件采样率的提高, SYSREF 与设备时钟的建立和保持相比,它变得定时

  极具挑战性,特别是采样率达千兆的器具零件。本文采用的 ADC12DJ3200 采样率高达

  6.4GSPS ,为应对 SYSREF 该款的建立保持了窗口的减少。 ADC 通过单通道

  在模式下,使用双边采样将输入时钟(设备时钟)的频率降低一半

  SYSREF 建立保持窗口翻倍的效果。除了降低输入时钟的频率外,还应该

  ADC 还提供了 SYSREF 窗口以及 SYSREF 通过自动校准两个功能。 SYSREF 窗口

  检测 SYSREF 位置(相对于器件时钟)和 SYSREF 选择辅助用户设计采样位置

  在各种情况下,满足建立和维持时间的需要。 SYSREF 与自动校准相比 SYSREF 窗口功

  基于孔径时间调整模块,可以更容易地操作 SYSREF 相位移动 ADC 采样序列,而不是

  是基于 ADC 调整采样序列 SYSREF 相位。

  SYSREF 窗口功能需要在一定的过程中实现 [29] 。首先,需给 ADC 当芯片提供采样时

  钟及 SYSREF 。 SYSREF 使用捕捉模块 SYSREF 窗口确定 SYSREF 与设备相比

  钟的位置,并存储位置值 SYSREF 位置寄存器( SYSREF_POS )中。

  SYSREF_POS 每个寄存器都代表一个潜在的 SYSREF 采样位置。当

  SYSREF_POS 中间的某个位置,然后对应 SYSREF 采样位置有潜在的建立或

  保持违规行为。然后,根据 SYSREF_POS 寄存器 值 在 SYSREF 选择寄存器

  (SYSREF_SEL)中设置与 SYSREF_POS 相应的有效采样位置。采样位置通过

  通常位于两个设置和保持时间都满足的采样位置的中间。 SYREF_SEL 取值范围为

  为 0 至 15 ,即 SYSREF 只支持窗口功能 SYSREF 设置在前 16 采样位置。根

  据 SYSREF_POS 数值选择 SYSREF_SEL 位置示例如表 3-1 ,加粗部分表示可以

  所选位置。 SYSREF_POS 采样位置的步进可以通过 SYSREF 放大寄存器

  ( SYSREF_ZOOM )调节。当 SYSREF_POS 的 0 至 23 位都为 1 时需要将

  SYSREF_ZOOM 设置为 0 ,在其他时候,这个值被设置为 1 。

  根据上述情况,选择本文采集模块以满足建立和维护时间的最佳要求 SYSREF 位置。

  将 SYSREF_ZOOM 设置为 1 ,关闭 SYSREF 自动校正功能,然后读取 SYSREF_POS

  值。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_高精度AD调试_07

  由表 3-2 中 ADC1 与 ADC2 的 SYSREF_POS 值可知,

  ADC1 的 SYSREF_SEL

  设置为 13 可以满足建立维护时间, ADC2 的 SYSREF_SEL 设置为 12 或 13 都

  可以满足建立维护时间,所以可以有两个 ADC 的 SYSREF_SEL 所有的值都设置为 13 。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_高精度AD调试_08

  3.4.3 基于确定性延迟的多器件同步

  JESD204B 子类 1 链路确定性延迟的实现过程如图所示 3-7 所示 [30] 。首先 SYSREF

  本地多帧时钟边界指定发送端和接收端,发送端在 SYNC 当信号降低时,打开链路

  接收端各通道的接收缓冲器缓存有效数据,在接收端各通道的建立和同步过程中

  在接收到有效数据后,所有缓存数据同时发布在下一个本地多帧边界。这个

  当所有数据通道的数据延迟只是一个本地多帧周期,即 RBD 取 K 而且延迟是

  确定,可重复。当然,缓存在接收缓冲器的每个通道的有效数据也可以在下一个本地

  在多帧边界释放之前,即 RBD 的值小于 K ,其中最小 RBD 值对应的延迟称为最大值

  小确定性延迟。

  JESD204B IP 核将 0x030 寄存器( RBD )定义为接收端缓冲器延迟,

  缓冲调整寄存器被定义为每个数据通道( Buffer Adjust )用于指示接收缓冲器

  填充水平。在所有数据通道中找到缓冲调整寄存器的最小值,并赋值 RBD

  最小确定性延迟可以实现。

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程_链路_09

  上述 RBD 基于数据通道的最大延迟,值调整满足了一个多帧以下的要求

  通道的最大延迟可能不符合这一要求。不仅如此,还有两个通道可能出现在链路中

  效率数据分别落在两个相邻的本地多帧内。

  信迈提供高速数据采集方案。