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

这篇具有很好参考价值的文章主要介绍了【JESD204系列】三、JESD204B标准分层。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  JESD204B 作为一种分层规范,在规范中共定义了四个层,分别为应用层,传输层,数据链路层和物理层。各层分别执行各自的对应的功能,最终通过四个层的联合,将数据高速无误的进行传输。

【JESD204系列】三、JESD204标准分层

1. 简介

JESD204B与PCIE类似,其标准是一种分层规范,规范中的各层都有自己的功能要完成。如下图所示为JESD204B的分层框图。
【JESD204系列】三、JESD204B标准分层
【JESD204系列】三、JESD204B标准分层

下面就一一介绍各层完成的基本功能。


2. 分层简介

2.1 应用层(Application Layer)

应用层本身并不包含在协议标准之内,而是为了实现用户特殊配置,以及将原始数据映射成为规范格式之外的格式,而添加的一个层。对于需要以不同于N’(样本传输位数)的大小传输的数据,使用单独设计的应用层可以对其进行更加灵活且具有针对性的配置,将多个样本重新包装,从而降低通道速率,提高链路整体效率。值得注意的一点是,发送端和接收端的配置必须相同,才能进行正确的数据传输和接收。

2.2 传输层(Transport Layer)

传输层根据给定器件已定义的链路配置参数,决定如何包装来自ADC的数据,即LMFS参数配置,四个字母代表最主要的四个参数,收发两端协商好之后(ADC会将参数发给FPGA,双方会进行校验),就按规则进行组包和解包。 这些参数在初始通道对齐序列(ILAS)期间从ADC传输到FPGA。这些设置通过串行端口接口(SPI)配置,其设置ADC和FPGA上的寄存器值来定义链路配置参数。根据这些参数产生一个校验和并将其传输给接收器,以便接收器(FPGA)能够验证链路配置参数是否正确接收。通过链路传输的这些参数不是用于配置接收器,而是仅用于验证链路参数匹配。若检测到错误,FPGA将通过JESD204B规范的错误报告中定义的中断报告此错误。
数据在发送过程中首先要经过传输层,对于发送端来说,传输层要完成的任务是基于用户选择的链路参数,对转换器设备采样得到的原始数据进行打包组帧,从而映射成宽度为8bit 的特定格式数据,并根据链路参数中的相关参数,对数据进行控制位和尾位的添加,以满足映射后数据的格式要求。因此对接收端来说,传输层负责的主要功能就是对收到的数据进行对应的解帧处理,恢复成原始的数据。此外,根据协议规范,在传输层和数据链路层之间,还要有可选的加扰模块,按照特定算法对映射后的数据进行加扰。因此,相应的在接收端需要一个解扰模块,对发送端输出的数据流进行对应的解扰,使之恢复为未加扰的数据。用下图来大概说明一下传输层的作用,8个ADC通过一定的方式组合在4条链路中进行传输。
【JESD204系列】三、JESD204B标准分层
在传输层,一组样本或部分样本被分组成F个八位字节的帧。“帧”数据结构是指一组连续的八位字节(8b/10b 编码器的输出都是一个八位字节),其中每个八位字节的位置都以帧对齐信号作为参考。“多帧”数据结构是指一组连续的帧,其中每个多帧的位置都以多帧对齐信号作为参考。在许多应用中,帧时钟将具有与采样时钟相同的频率。JESD204 协议允许在每个帧周期内每个转换器传输多个采样,S 必须总是整数,这样可以最小化SERDES 电路和敏感模拟部件之间的串扰。每个采样作为一组N’比特发送,由N 个数据比特,可选控制比特和可选尾部比特组成。在帧的结尾处的附加尾比特是必需的,这样可以在每个帧周期中填充每个通道使比特总数为整数个八位字节。

数据映射相关链路配置参数的意义与取值范围如表1 所示。

参数名 含义 取值范围
M 每个设备中的转换器数 1-256
L 每个转换器链路的通道数 1-32
F 每个帧中的字节数 1-256
S 每帧中每个转换器的采样点数 1-32
N 转换器分辨 1-32
N’ 每个采样的总比特数 1-32
K 每个多帧中帧的数量 1-32
CF 每个链路每个帧周期的控制字数量 0-32
CS 每个采样的控制比特数 0-3
HD 高数据密度模式使能 0-1
表1. 链路配置参数含义及取值范围

2.3 数据链路层(Data Link Layer)

数据链路层主要是完成链路建立和数据编码,该层的主要功能即为建立传输链路,对数据进行传输。数据链路层层接受并行成帧数据(包含ADC样本、控制位和结束位),并输出8B/10B字,后者在物理层中进行串行化且可以加扰。传输过程包含以下几个环节,即代码组同步(CGS),初始通道对齐序列(ILAS),用户数据传输(DATA),每阶段具体功能下面将进行具体说明。在本层中还包含8B/10B 编码模块,功能是将打包形成的8bit 数据采取8B/10B 编码的处理,使传输保持直流平衡,从而使CDR(Clock Data Recovery)电路的设计更加简单。并且通过使用8B/10B 编码方式的几种控制字符,如字符/K/、/A/等,实现对多通道的同步对齐和检测。因此,接收端需要对应的8B/10B 解码模块,对发送端生成的10bit 编码数据恢复为8bit 数据,且通过其中包含的控制字符,实现检错和对齐等功能。

数据链路层通过链路建立过程同步JESD204B链路。链路建立包括三个不同阶段:代码组同步(CGS)、初始通道同步(ILS)、传输用户数据。

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

1.代码组同步(CGS)

根据JESD204B 协议规定,代码组同步是链路建立的第一个步骤,并且不进行加扰,代码组同步主要有以下几个步骤,值得注意的是,以下步骤对于单发射端-单接收端和多发射端-多接收端两种情况均适用。首先,接收端通过拉低SYNC 信号发起同步请求,进入代码组同步(Code Group Synchronization,CGS)阶段。发射端开始发送连续的/K/=/K28.5/字符,各接收器(FPGA)必须利用时钟和数据恢复(CDR)技术,在ADC传来的输入数据流中找到K28.5字符。一旦在所有链路通道上检测到某一数量的连续K28.5字符,接收器模块就会解除置位送至发送器模块的SYNC~ 信号。在发送端捕获到SYNC~ 的变化后,JESD204A和JESD204B的处理会略有不同。在JESD204A中,发送模块捕捉SYNC~ 信号的变化,经过固定数量的帧时钟之后,ILAS就会启动。在JESD204B中,发送模块捕捉SYNC~ 信号的变化,并在下一个本地多帧时钟(LMFC)边界上启动ILAS。

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

2.初始通道对齐序列(ILAS)

在开始传输用户数据之前,要先对通道进行初始化对齐,方法是通过发送ILAS(Initial Lane Alignment Sequence)。ILAS的主要作用是对齐链路的所有通道,验证链路参数,以及确定帧和多帧边界在接收器的输入数据流中的位置。 由于ILAS 中包含了链路配置信息,接受端需要以此信息对链路进行配置,包括是否使用可选的加扰功能。因此JESD204B 协议规定,ILAS 不能进行加扰。

ILAS由4个或更多多帧组成。多帧以/R/字符开始,以/A/字符结束。第二个多帧包含/R/和/Q/字符,随后是链路参数。/Q/字符表示之后的数据是链路配置参数。如果接收器需要,ILAS可以添加其它多帧。最后一个ILAS多帧的最后一个/A/字符出现后,用户数据开始。
【JESD204系列】三、JESD204B标准分层

3.用户数据

在这一阶段,用户数据根据发送器(ADC)中定义并转发到接收器(FPGA)的链路参数,以流形式从发送器传输到接收器。达到用户数据阶段后,如果需要,通过数据链路中的字符替换可以监视并纠正帧和通道对齐。

【JESD204系列】三、JESD204B标准分层
如下图所示,为整个链路层数据链路建立的图示。实际上链路层除了要理解协议之外,还有理解对齐过程中各信号的时序关系,包括SYNC~ 、 LMFC,后面有时间再专门梳理指示信号和同步时钟的关系。

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

字符简写 字符 编码前数值 RD=-1时编码结果 RD=+1时编码结果 功能说明
/R/ /K28.0/ 000_11100 001111_0100 110000_1011 多帧开始
/A/ /K28.3/ 011_11100 001111_0011 110000_1100 通道对齐
/Q/ /K28.4/ 100_11100 001111_0010 110000_1101 链路配置数据开始
/K/ /K28.5/ 101_11100 001111_1010 110000_0101 组同步
/F/ /K28.7/ 111_11100 001111_1000 110000_0111 帧同步

由于不同通道之间可能存在的延迟,这些特殊的通道控制字符可能无法同时传输到接收端,因此使用字符/A/进行同步。每个接收端在收到数据时,将数据存储在缓存中,并且使用一个标志位(READY)来告知其它接收器,自己当前已经接收到有效信息。当所有接收器的标志位都有效时,它们就将收到的数据同时送到下一步的逻辑功能中去,从而实现不同通道间的数据对齐。

2.4 物理层(Physical Layer)

物理层由串化/解串器,CML 驱动器,接收机以及CDR 电路组成。在发送端,通过串化器将多位的并行数据转化为串行数据,按照通道速率发送至接收端。在接收端通过解串器,将收到的串行数据转换为并行数据。由于数据传输速率非常高,这些模块常常采用定制单元设计。

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

物理层(TX)

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

物理层(RX)

JESD204和JESD204A均支持最高3.125 Gbps的速度。JESD204B规范支持三种可能的速度等级。速度等级1支持最高3.125 Gbps的速度,基于OIF-SxI5-0.10规范。速度等级2支持最高6.375 Gbps的速度,基于CEI-6G-SR规范。速度等级3支持最高12.5 Gbps的速度,基于CEI-11G-SR规范。表2概要显示了三种速度等级对应的一些物理层规格。JESD204的物理层实际上就是SerDes结构。在物理层主要是要关注电气特性,通过眼图来测量信号完整性。

参数 OIF-Sx15-01.0 CEI-6G-SR CEI-6G-SR
线路速率(Gbps) ≤3.125 ≤6.375 ≤12.5
输出差分电压(mVppd) 500 (最小值) 1000 (最大值) 400 (最小值) 750 (最大值) 360 (最小值) 770 (最大值)
输出上升/下降时间(ps) >50 >30 >24
输出总抖动(pp UI) 0.35 0.30 0.30
表2. JESD204B物理层规范

3. 总结

3.1 数据帧输出路径

为了说明数据从转换器中取出,直到被经过8B/10B 编码生成10bit 数据之间的一系列过程,下面以14 位转换器的采样数据为例进行说明。下图为14bit 数据传输的输出路径。
【JESD204系列】三、JESD204B标准分层
对于14 位的数据,根据JESD204B 协议要求,处理后的数据位数应为8 的倍数,因此将被14bit 的数据组合成两个8bit 的字节。将原始数据按顺序排列后,为了满足格式位数要求,还添加了两个尾位,从而实现两个8bit 的数据格式。其中尾位并没有实际的意义,可以全为0 或者使用伪随机数列,或者根据应用情景,使用控制位来代替尾位。然后是一个可选择的加扰过程,基于多项式1 + 𝑥14 + 𝑥15对数据进行加扰,避免频谱尖峰现象。一般根据实际应用情况决定是否使用对数据进行加扰。然后这两个8bit 字节经过8B/10B 编码模块,输出两个宽度为10bit 的编码后数据。然后经过物理层的处理,输出一连串的串行数据,此时发送端的功能完成。之后在接收端进行发送端的逆过程,对数据进行还原。

3.2 发送端和接收端的逻辑功能

对于发送端来说,首先在根据SYSREF 信号产生帧和多帧的信号。在JESD204B 规范中,帧的长度是以8bit 字节为单位的,一个单帧包含的8bit 字节数由链路配置参数中的F决定。大多数情况下为了简化设计,多帧的字节数一般都设计为4 的整数倍。发送端控制模块在检测到SYNC 信号有效时,进入代码组同步阶段,开始发送一连串的字符/K/=8’hBC。当SYNC 无效时,在下一个本地多帧时钟的上升沿到来时,进入ILAS 阶段,发送4 个初始化多帧。发送结束后,进入用户数据阶段,开始发送用户数据,并根据链路配置决定是否进行加扰及字符替换,最后将数据通过物理层的接口进行输出。发送端的逻辑功能框图如下图所示。
【JESD204系列】三、JESD204B标准分层

对于接收端来说,首先要将串行接收接口接收到的数据,还原成10bit 的并行数据,然后经过8B/10B 解码模块进行解码。如果在解码过程中发现错误,则通过控制模块再次使能SYNC~信号,来实现报错或者重新发起同步。在经过8B/10B 解码后,要通过字符替换模块,将数据中被替换过的字符再次进行替换,还原出原本数据。数据在发送时若进行了加扰处理,那么就要使用接收端的解扰模块进行解扰。和发送端一样,接收端的解扰模块也是可选的。经过上述一系列的操作之后,接受数据将被还原成最初的帧格式。最后根据发送端的组帧格式,进行相对应的解帧,从而还原出原始数据。接收端的逻辑功能框图如下图所示。
【JESD204系列】三、JESD204B标准分层文章来源地址https://www.toymoban.com/news/detail-480941.html

到了这里,关于【JESD204系列】三、JESD204B标准分层的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于 JESD204B 协议ARM+FPGA+AD多板卡多通道同步采集实现方法

    0 引言 随着数字化信号处理技术的不断进步,对数字信号 的处理已经成为当前大多数工程应用的基本方法。由于 模拟信号才是现实生活中的原始信号,为了工程研究实 现的可能,需将模拟信号转换为数字信号才能在工程中 处理,AD 转换作为模拟信号转换为数字信号的关键环

    2024年02月09日
    浏览(47)
  • AD9680之JESD204B接口2路、4路、8路的14bit 500MSPS/1GSPS/1.25GSPS采样率子卡的中文版本设计及调试经验资料分享

    板卡概述: 【FMC155】 FMC155 是一款基于 VITA57.1 标准的,实现 2 路 14-bit、500MSPS/1GSPS/1.25GSPS 直流耦合 ADC 同步采集 FMC 子卡模 块。 该模块遵循 VITA57.1 规范,可直接与 FPGA 载卡配合使用,板 卡 ADC 器件采用 ADI 的 AD9680 芯片,该芯片具有两个模拟输入通道和两个 JESD204B 输出数据通

    2024年02月04日
    浏览(40)
  • 【JESD204系列】五、传输层设计原理

    传输层的主要功能是根据用户配置的链路参数,对转换器得到的原始样本数据进行映射,从而产生宽度为8bit 的特定格式数据,并视实际应用情景添加控制位或者尾位,以满足格式需求。 【JESD204系列】五、传输层设计原理 在JESD204B 协议所规定的链路参数中,主要通过L 决定链

    2024年02月06日
    浏览(34)
  • 【JESD204系列】六、加解扰模块的设计原理

     扰码模块的目的之一是可以避免频谱尖峰,另一个目的是可使频谱数据独立,使电气接口的频谱选择更有效,避免数据错误。然而,扰码模块的使用会使转换器中所有数字模块会产生一些转换噪声。所以,JESD204B 标准的一些模式不使用扰码模式。 【JESD204系列】六、加解扰

    2024年02月14日
    浏览(34)
  • AD9680+JESD204B接口+FPGA FMC高速率数据采集板卡

    板卡概述: 【FMC_XM155】 FMC_XM155 是一款基于 VITA57.1 标准的,实现 2 路 14-bit、500MSPS/1GSPS/1.25GSPS 直流耦合 ADC 同步采集 FMC 子卡模 块。 该模块遵循 VITA57.1 规范,可直接与 FPGA 载卡配合使用,板 卡 ADC 器件采用 ADI 的 AD9680 芯片,该芯片具有两个模拟输入通道和两个 JESD204B 输出数

    2024年02月14日
    浏览(47)
  • FPGA的ADC信号采集ADS52J90-JESD204B接口

    本篇的内容是基于博主设计的jesd204b接口的ADC和FPGA的硬件板卡,通过调用jesd204b ip核来一步步在FPGA内部实现高速ADC数据采集,jesd204b协议和xilinx 的jesd204 IP核相关基本知识已在前面多篇文章中详细介绍,这里不再叙述~ 在该篇中,博主试图从一个初学者的视角来记录整个开发流

    2024年02月02日
    浏览(66)
  • 基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集设计(三)连续多段触发存储及传输逻辑设计

    本章将完成数据速率为 80MHz 、位宽为 12bits 的 80 路并行采样数据的连续多 段触发存储。首先,给出数据触发存储的整体框架及功能模块划分。然后,简介 MIG 用户接口、设置及读写时序。最后,进行数据跨时钟域模块设计,内存控制 模块设计以实现连续多段触发存储。触发

    2024年02月05日
    浏览(56)
  • RK3399平台开发系列讲解(内核入门篇)网络协议的分层

    🚀返回专栏总目录 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢对于多数的应用和用户而言,使用互联网的一个基本要求就是数据可以无损地到达。用户通过应用进行网络通信࿰

    2024年02月02日
    浏览(35)
  • Spring Security 6.x 系列【72】授权篇之角色分层

    有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列Spring Security 版本 6.1.0 源码地址:https://gitee.com/pearl-organization/study-spring-security-demo

    2024年01月23日
    浏览(41)
  • 万字长文深入理解Docker镜像分层原理、容器数据卷、网络通信架构(Docker系列第2章,共3章)

    在执行docker pull时,会发现多个Pull complete 字样,就能体现分层,如果是一个文件,只会有一个Pull complete 。 概念:文件系统是计算机系统中用于组织和管理数据存储的一种方式。它定义了数据如何存储、命名、访问和修改的方式。 举例:如Windows自带的NTFS、FAT32、EXFAT,和L

    2024年04月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包