1、SERDES技术

了解JESD204B之前需要先了解SERDES(SERialization/DESerialization)技术,也就是串化和解串,在发送端将多位并行的数据转换为1bit的串行数据,在接收端将串行数据恢复成原始的并行数据。如下图为基于FPGA的串化功能框图。

下图为8b/10b的串化例图。

下图为A/D应用中经过8B/10B串化为串行数据,通过发送器发送给数据处理器后,解串为并行数据的应用实例。

2、JESD204协议

JESD204 是基于 SerDes 的串行接口标准,主要用于数模转换器和逻辑器件之间的数据传输,其最早的版本是 JESD204A, 现在是 JESD204B subclass0,subclass1,subclass2。区别主要在于其对同步和链路间固定时差的测量。目前市场上比较多地数模转换器接口是 JESD204B subclass1。其最大传输速率可达 12.5Gbps,支持多链路和多器件的同步以及固定 时差的测量。下表是各版本之间的差异。

在JESD204 接口出现以前,数模转换器的数字接口绝大多数是差分 LVDS 的接口,这就造成了布板的困难,当 PCB 的密度很大的时候就需要增加板层从而造成印制板的成本上升。 而 JESD204B 接口是串行接口,能有效减少数据输出的差分对,能最大限度的简化 Layout。 因此 JESD204B 是高密度板不可或缺的接口。但因其需要进行严格的同步和以及时延的测量, 与之接口的逻辑会比 LVDS 接口复杂很多,现在逻辑厂商都集成了专用的JESD204 IPCore 在他们的软件里,从而简化了逻辑的设计。如下图为同样需求的DAC,使用LVDS接口和J204B接口下需要的设计对比。

下图为两种接口下设计PCB走线对比。可以看出使用JESD204B接口能明显简化走线。

LVDS接口和JESD204B接口(CML)电平的速率对比如下图。

3、JESD204B 原理

3.1 JESD204B 的分层

JESD204B 是一种高速的串行接口协议,它规定了收发双方的同步机制,告警机制及其告警后处理机制。 任何 一种复杂的接口协议都将遵从逻辑架构分层来进行描述。 JESD204B 也是如此,其遵从如下的逻辑分层(右图)。

204B适用的范围/对象中 TX 侧对应的是 FPGA/ASIC 或者 ADC,RX 侧对应的是 FPGA/ASIC 或者 DAC。 204B 的所有相关动作的描述都将依据其分层来进行描述,所以理解和掌握分层是了解 204B 的基础。

3.1.1传输层(Transport Layer)

传输层的功能是将 AD/DA 的采集到的数据映射到非扰码的八字节的过程(The transport layer maps the conversion samples to non-scrambled octets)。204B 协议规定了几种映射模式。

  1. A single converter to a single-lane link
  2. Multiple converters in the same device to a single-lane link
  3. A single converter to a multi-lane link
  4. Multiple converters in the same device to a multi-lane link

上述的四种模式是两个对象的几种组合,一个是数据转换器的个数,另外一个是对应的link的个数。 数据转换器就是对应的I/Q的数据组,例如我们无线系统中都是采用complex数据有16bits 的I 也有 16bits的Q,那么对应的转换器就是2,就类似I数据需要一个转换器来完成,Q数据需要一个转换器来 完成(注意这里的转换器的个数和我们通常所说的物理的ADC/DAC数据有区别,可以抽象为一个吞吐数据器件)。 通常情况下我们转换器的个数都是多个(多通道),这些转换器的数据可以一起来建链称之为单link也可以分组建链称之为多link。 所以下面将于常用的Multiple converters in the same device to a multi-lane link来说明。 在传输层映射过程中会用到几个参数:

  1. CF: Number of control words per frame clock period per link.
  2. CS: Number of control bits per conversion sample.
  3. NG: Nibble Group(group of half octets).

这三个参数会影响到映射的过程,但实际的过程中往往没有这些控制字,同时也不需要插入nibble数 据,所以会比较简单。 这些数据的映射过程和排列过程会体现在JESD的LMFS 等配置中,一般数据 手册中都会给出我们支持的模式说明。

3.1.2加扰(Scrambler)

加扰的主要目的是去除数据相关性例如各个帧同时发送相同的数据,从而减小造成的系统干扰和减小电磁兼容性问题。 按照实际的运用可以选择加扰或者不加扰。

3.1.3链接层(Link layer)

链接层在再整个 204B 中占有及其重要的地位, 是 204B 的核心。 它包含了 8B/10B 的编码过程, TX 和 RX键链(link establishment)过程。下面会专门描述 204B 的键链过程。

  8B/10B 编码:

8B/10B 编码的状态机和码表如下图所示。 编码的目的就是去除数数据中的 DC-unbalance(CML电平中会增加直流偏置),8bit变为 10bit。 例如我们通常所说的 K28.5,8 bit 的时候为 BC,编码后变成 0011111010……。

3.1.4物理层( Physical layer)

物理层包含了完成高速并/串转换的SDRDES 模块, 时钟及时钟数据恢复模块(CDR) 。 物理层也规定了接口的物理电器特性如下表所示。

3.3 JESD204B 中的一些关键参数描述

传输层(Transport Layer)中关键参数 传输层中的关键参数描述如下:

  1. L: Number of lanes in a link.
  2. M: Number of converters per device.
  3. F: Number of octets per frame.
  4. S: Number of samples per converter per frame clock cycle(two octets per sample)
  5. K:# of frames per multi-frame
  6. CF: Number of control words per frame clock cycle per link
  7. CS: Number of control bits per sample.
  8. HD :High-Density bit which controls whether a sample may be divided over more lanes to reduce data transfer overhead
  9. Line rate = Serdes speed
  10. LMFC = Local Multiple Frame Clock= Line rate/(10 * F*K) Control bits can either be appended after the LSB of every sample or all the bits for different samples can be sent together in CF number of frames.

可以参考上图理解对应参数。

可以按照 LMFC 的公式技术出多帧的周期,SYSREF 的周期。例如如果 Lane rate is 10G, F=2,K=32 可以计算出 LMFC 的周期是 64ns。 下面通过一个实例来说明各个参数之间的关联。

参考上图中是以 16bitd 的 4 通道 ADC 为例来说明它的 JESD 格式将是如何映射的。

1、图中所示是一个单 Link,ADC 共占用了 4 条 lane,对 L 的定义,可以看到 L=4。

2、ADC 的四个物理通道,而且每个通道上假设都是 I/Q 数据传输,那么每一条 lane 上 M=2,一共 4 条 lane 所以 M=8。

3、每一个 frame 为 8 个八字节,F=8。

4、一个 frame 里面有 4 个 sample(16bits),S=4。

所以 LMFS=4884。

在实际的运用中,数据手册都会规定所能支持的各种模式下的 LMFSH值。例如我们的高集成的 4 通道 transceiver AFE7689 中就有非常详细的各种模式描述。 这里需要说明的是同一种接口模式可以有不同LMFSH 值从而或得到不同的数据排列格式。 例如下面对应的 是同一个接口 983.04M I/Q 占用 4 条 lane 对应的数据排列格式。 左边的是 42220 模式,右边的是 42111 模式。通过 增加 F 的值,就可以将 I 数据和 Q 数据分别放到同一个 Lane 上传输。

如下为ADS42JB49的两种模式的对比图。

  4、204B中的TX 和 RX 功能模型

上述对 JESD 中的逻辑分层和关键参数进行了描述,基于描述抽象出 JESD 的 TX 和 RX 功能模型。 掌握 TX 和 RX 模型,可以将分层和 204B 中的关键参数归属到某个功能中。 TX 和 RX 模型分别如下所示。从模型图中可以看到几个非常重要的信号:

  1. SYNC 信号: 该信号由 204B 侧的 RX 侧发出触发 TX 侧开始发 K28.5。
  2. LMFC 信号: 本地多帧信号。

5、204B 键链(Establishment)步骤整体描述

204B 的键链是在 link layer 完成,目的就是完成了 RX/TX 之间的同步对齐,主要完成如下三大步骤:

马组同步: Code Group Synchronization (CGS).

帧同步: Initial Frame Synchronization.

Lane 同步: Initial Lane Synchronization

上图清晰的描述了 JESD 键链过程中各个信号的配合及其步骤, 各个信号的功能如下:

  1. SYNCb: RX 侧送出,用于使能 TX 侧发送 K 码。
  2. CLKIN: Link layer 的输入时钟,可以理解为 device clock。
  3. SYSREF: 系统的同步信号,用于同步 TX 和 RX 侧的 Frame CLK,SYSREF的周期必须是多帧时钟LMFC周期的整倍数。

特别注意只有检测到 SYSREF 才能使能 Frame clock!如果没有 SYSREF 那么就 没有 LMFC clock,这样 TX 端会持续发 K 码。 整个过程可以简单描述为在 SYSREF 完成时钟同步后, RX 侧会将 SYNC 拉低,当 TX 侧 Device clock检测到 SYNC 为低以后,则开始发送 K28.5 码用于码组同步, RX 侧所有 lane 上收到连续 4 个 K 码后会将 SYNC 拉高从而 完成码组同步, TX 侧检测到 SYNC 为高并在 LMFC 的边缘处开始发送 ILA 序列来完成 Frame 和 lane 的同步。

6、JESD204B 时钟的需求

尽管 JESD204B 也有不同的版本,但越来越多的厂商选择 Subclass1,因此市面上绝大多 数的数模转换器都是基于这个版本设计的。Subclass0/1/2设计对比如下图。

以 JESD204B subclass1 来讨论时钟的时序需要以及 TI 时钟芯片方案的实现。任何一个串行协议都离不开帧和同步,JESD204B 也 例外,也需要收发双方有相同的帧结构,然后以一种方式来同步,即辨别起始。JESD204B 是以时钟信号的沿来辨别同步的开始,以及通过一定的握手信号使得收发双方能够正确识别 帧的长度和边界,因此时钟信号及其时序关系对于 JESD204B 就显得极其重要。下图是典型 的 JESD204B 系统的系统连接,Device Clock 是器件工作的主时钟,一般在数模转换器里为其采样时钟或者整数倍频的时钟,其协议本身的帧和多帧的时钟也是基于 Device Clock。 SYSREF 是用于指示不同转换器或者逻辑的 Device Clock 的沿,或者不同器件间 Deterministic latency 的参考。

如下图所示,Device Clock 和 SYSREF 必须满足的时序关系。SYSREF 的第一个上升沿要非常容易的能被 Device Clock 捕捉到,这样就需要 SYSREF 和 Device Clock 满足上图的时序关系。通常会因为 PCB 的线长以及时钟器件不同通道输出 时的 Skew,会带来一定的误差, Device Clock 的上升沿不一定正好在 SYSREF 的脉冲的正 中间,工程上只要在一定范围内就能保证 JESD204 收发正常工作。

--内容来源于TI官网

JESD204B简介相关推荐

  1. JESD204接口调试总结——Xilinx JESD204B IP AXI寄存器简介

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JESD204接口调试总结--Xilinx JESD204B IP AXI寄存器简介 一般来说,如果在IPcore配置正确的话,不太需 ...

  2. (21)FPGA面试技能提升篇(JESD204B接口)

    1.1 FPGA面试技能提升篇21(JESD204B) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试技能提升篇21(JESD204B): 5)结束语. 1 ...

  3. 高速AD采集项目JESD204B采集卡详细上板教程

    本文为明德扬原创文章,转载请注明出处! 明德扬通过JESD204B协议等完成此高速AD采集工程.综合上板后,可以使用上位机通过千兆网来配置AD9144和AD9516板卡,实现高速ad采集.最终可以在示 ...

  4. 【JESD204系列】三、JESD204B标准分层

    font color=#999AAA > JESD204B 作为一种分层规范,在规范中共定义了四个层,分别为应用层,传输层,数据链路层和物理层.各层分别执行各自的对应的功能,最终通过四个层的联合 ...

  5. JESD204接口调试总结——Xilinx JESD204C IP AXI寄存器简介

    JESD204接口调试总结--Xilinx JESD204C IP AXI寄存器简介 关于JESD204C的寄存器如下所示: 重要的寄存器: 020: 复位 这个复位和JESD204B的复位不太一样, ...

  6. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

  7. Docker学习(一)-----Docker简介与安装

    一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...

  8. 【Spring】框架简介

    [Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...

  9. TensorRT简介

    TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...

最新文章

  1. 清华学长免费分享Java基础核心知识点基础篇(2)
  2. IntelliJ IDEA导航特性Top20
  3. C++中返回对象的情形及RVO
  4. PostProcessor
  5. linux系统硬盘设置密码,LUKS:Linux下磁盘加密
  6. 基于同步视频的视野分界线划分算法
  7. c++ 如何将输入的内容输出到文本文件 要建立文本文件嘛_python如何学习
  8. 湖南大学离散数学实验——代码(一)
  9. 企业微信如何借助企客加运营私域流量的策略
  10. SDRAM控制器仿真
  11. 一文详解 RSA 非对称加密算法
  12. seo与sem的区别
  13. win7局域网访问共享文件取消需要密码的方法(完美解决)。
  14. R中rank函数使用
  15. 前端开发(html和css)
  16. 天池大数据比赛,菜鸟仓库比赛,御膳房操作
  17. 浅尝springboot
  18. 以CS1231为例,解释电子方案开发中的ADC芯片
  19. 马萨诸塞大学阿姆赫斯特分校计算机科学专业,UMass Amherst的CS「马萨诸塞大学安姆斯特分校计算机科学学系」...
  20. 【强哥推荐】VSCode常用快捷键配置文件表、代码片段,记得收藏

热门文章

  1. WebP 原理和 Android 支持现状介绍
  2. 蓝桥杯 蚂蚁感冒 不要模拟!
  3. onBlur事件与onfocus事件 (js)
  4. 频谱仪测的是什么?功率?功率谱密度?
  5. PHP基金会 - PHP Foundation
  6. 原版 openwrt + WireGuard + passwall 编译
  7. WebAssembly 能取代 Kubernetes 成为下一代云计算王者吗?
  8. 35个排版耳目一新的网站设计欣赏
  9. Python 导入模块
  10. 安装pycharm专业版