JESD204B 和 JESD204C 之间的差异

article/2025/10/17 21:38:54

JESD204 标准

JESD204规范定义了实现协议数据流的四个关键层,如图9所示。

  • 传输层映射样本和已帧、已解码的字节之间的转换。
  • 可选的扰乱层对八位元进行扰动/解扰动,分散谱峰值以降低电磁干扰(EMI)。
  • 数据链路层处理链路同步、设置和维护,并对10位字符(JESD204B, 8位/10位编码)和66位字符(JESD204C, 64位/66位编码)的任意置乱的八位字符进行编码/解码。
  • 物理层负责以比特率传输和接收字符。

 

下图说明了JESD204是如何实现传输和接收协议的。

 

JESD204B 和 JESD204C 之间的差异

该接口的最初版本提供了支持每个转换器设备的单链路和多链路。JESD204B增加了可编程的确定性延迟,使用设备时钟作为主要时钟源,数据速率最高可达12.5Gbps。在JESD204C规范中,数据速率增加到32Gbps,三个链路层被定义为8位/10位、64位/66位和64B/80B,其中8位/10位链路层与JESD204B链路层相同。

在8位/10位链路层中,数据被组织成多帧(multiframes),其中在64位/66位链路层中,数据被组织成32个块的多块(multiblocks),每个块包含8个八位字节。在8位/10位链路层中,相位同步是由本地多帧时钟( Local Multiframe clock , LMFC)完成的,在64位/66位使用本地扩展多块时钟( local extended multiblock clock LEMC)。在8位/10位链路层中,LMFC标记多帧边界,在64位/66位链路层中,LEMC用于标记扩展的多块边界。根据所使用的链路层,可以通过本地多帧时钟(LMFC)或本地扩展多块时钟(LEMC)来实现确定性延迟。

8位/10位链路层通过将多个转换器的 LMFCs 对准到一个外部信号SYSREF来在多个转换器之间进行对齐。在64位/66位链路层中,多个转换器设备之间的对齐是通过将它们的LEMC对齐到子类1中的外部信号SYSREF/MULTIREF来实现的。然后,每个转换器装置可以调整其LEMC相位,以匹配逻辑设备的公共LEMC。在64位/66位的链路层只支持基于子类1的LEMC对齐。在这种情况下,RBD调整分辨率不能大于255步,如果缓冲区中每个链路包含超过一个多帧或多块,则RBD调整分辨率必须为每个多帧或多块至少16步。在64位/66位链路层还定义了一个同步头流,它传输与用户数据并行的信息。该信息使用66位字块的同步头信息进行编码。每个块的一个同步头被解码为单个位,而多块中的32个位构成一个32位同步字。同步字可以包含以下信息:

  • 先导信号( Pilot signal ,用于标记多块和扩展多块的边界)
  • CRC-3 信号(用于错误检测)
  • CRC-12 信号(用于错误检测)
  • FEC信号(用于误差检测和纠正)
  • 命令通道(用于发送命令和状态信息)

对于8位/10位链路层,JESD204使用SYNC接口进行同步和错误报告,在64位/66位编码的编码数据中的同步头进行同步过程,错误报告留给应用层。

时钟分配

ADRV9026中的时钟分布允许SERDES由SERDES PLL或时钟PLL驱动。ADI提供具有适当设置的测试预定义配置文件,以便每个用例都有一个已知的工作设置配置。对于其他的配置文件配置,计划在未来发布一个概要文件生成器应用程序,允许客户更改自定义配置支持的带宽和采样率。

JESD204B 和 JESD204C 链路速率计算公式:

 

链路初始化和调试(LINK INITIALIZATION AND DEBUGGING)

链路初始化发生在设备初始化的MCS后阶段。链路生成过程通常遵循以下步骤:

JESD204B :

对于Deframer,执行以下步骤:

  1. 初始化并打开基带处理器 framer。
  2. Deframer 保持重置状态,直到执行复位命令,然后通过断言SYNC信号发出同步请求。
  3. framer 开始发送K28.5 字符,然后 Deframer 将退出复位 。
  4. Deframer 识别四个连续的K28.5字符,然后取消断言SYNC并进入ILAS阶段。
  5. 如果SYNC保持断言,这表示它卡在CGS阶段。检查链接参数是否匹配。否则,请检查信号的完整性(请参考PRBS测试的铁Python代码样本部分)。

对于 framer ,链接的建立遵循相同的流程。首先启用 Deframer ,基带处理器 Deframer 与信号同步。

JESD204C :

对于Deframer,执行以下步骤:

  1. 初始化并打开基带处理器 framer。
  2. 发送JESD204C初始化校准命令。这导致了链接,因为它现在是基于协议的。
  3. 启用JESD204C跟踪校准。这将在60秒的时间表中维护链接参数。

对于framer,链接的建立遵循相同的流程。首先启用framer,然后基带处理器Deframer与信号同步。

【注】本文翻译自ADRV9026的用户开发手册的章节。原文件为 《ADRV9026-System-Development-User-Guide-UG-1727.pdf》

‧  END  

e0510c931dfe8ae5d372f1a9d5abef68.png

长按识别图中二维码关注

欢迎关注微信公众号【数字积木】,更精彩的内容等着你!


http://chatgpt.dhexx.cn/article/nv0bBVgs.shtml

相关文章

纸上谈兵_JESD204B

文章目录 基本概念优点子类协议结构链路参数传输层映射方式测试模式 数据链路层对齐字符替换与还原数据链路建立与维护 物理层 时钟器件时钟帧时钟/多帧时钟调整时钟各时钟关系图各协议层时钟使用情况 Xilinx IPPortsBasic Generic Clocking SchemesSubclass 1 OperationRx exa…

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

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

【高速总线】JESD204B简介

一、简介 JESD204是一种连接数据转换器(ADC和DAC)和逻辑器件的高速串行接口,支持高达 12.5 Gbps串行数据速率,并可确保 JESD204 链路具有可重复的确定性延迟。随着高速ADC跨入GSPS范围,与FPGA(定制ASIC&am…

JESD204接口调试总结——JESD204B协议的理解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JESD204接口调试总结——JESD204B协议的理解 JESD204B建链的步骤 本节内容摘抄于网络上,写的比较明了,故转载于此 内容来源:理解JESD204B协…

JESD204B协议基础知识

目录 1.JESD204B优势 2. 关键变量 3.IP核应用 4.同步 4.1 代码组同步 4.2 初始化多帧序列 4.3 数据传输 1.JESD204B优势 JESD204是基于SERDES的串行接口标准,主要用于数模转换器和逻辑器件之间的数据传输,最早版本的是JESD204A,现在是…

JESD204B 协议解析和参数理解

目录 1. 概述 2. 时钟 3. 同步协议 4. 参数理解 1. 概述 在JESD204接口出现以前,数模转换器的数字接口绝大多数是差分LVDS的接口,这就造成了布板的困难,当PCB的密度很大的时候就需要增加板层从而造成制版的成本。但是JESD204需要…

JESD204B简介(一)-------理论概述篇

JESD204B是一种新型的基于高速SERDES的ADC/DAC数据传输接口。JESD204和JESD204B修订版数据转换器串行接口标准由JEDEC委员会制定,旨在标准化并减少高速数据转换器与FPGA(现场可编程门阵列)等其它器件之间的数据输入/输出数目。更少的互连可简…

JESD204B简介

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

高速接口----JESD 204B(1)

前言 最近两周在做一些关于高速ADC的东西,也算是接触到了一些新的东西,做技术的,就是要不断地学习新的东西才可以啊。调试的平台是zcu102daq3。daq3是ADI推出的一个高速AD和DA的评估板。上面主要的芯片是ADC芯片AD9680,DAC芯片AD…

gzip chunked

gzip chunked --比天空间-- - mod_gzip和chunked http://www.httpwatch.com/httpgallery/chunked/ When an HTTP client is reading a response message from a server it needs to know when it has reached the end of the message. This is particularly important with per…

http协议里的chunked编码与测试

如果有写过http下载的人,或多或少了解一点chunked编码的传输方式。例如笔者最初不知道这个http传输方式,以前能行的代码有一天就突然不行了,抓包才发现数据异样。 chunked编码 分块传输编码(Chunked transfer encoding&#xff09…

c客户端http post chunked协议上传到服务器demo源码

下面例子中 :c 客户端采用 chunked协议上传到服务器,java 服务器返回的不是chunked 协议 chunked 编码协议格式参考 https://blog.csdn.net/wy5761/article/details/17568851 c 客户端 chunked 完整内容是 Hello, world,how are you 。分了2块上传 Hel…

HTTP CHUNKED

服务端给浏览器发送报文时,必须告诉浏览器报文的大小,这样浏览器可以根据报文大小来判断报文的完整性以及在长连接中确定报文的截尾。但是很多服务器的报文是动态创建的,在发送之前是无法确定其大小的。服务器只有等待内容全部创建后&#xf…

chunked java_HTTP协议的chunked编码

一般情况HTTP的Header包含Content-Length域来指明报文体的长度。如: 有时候服务生成HTTP回应是无法确定消息大小的,比如大文件的下载,或者后台需要复杂的逻辑才能全部处理页面的请求,这时用需要实时生成消息长度,服务器…

HTML中chunked解码和gzip解压

chunked编码 chunked编码的的好处 当访问的时动态页面时,服务器则无法预知内容的大小,因此需要一遍产生数据,一边发送数据,将数据分块发送(服务器通过响应头’Transfer-Encoding: chunked’告诉浏览器它将使用chunked编码传输)。…

Android:rxjava简单实现原理(map/flatmap操作符)

rxjava 装饰者模式1、背景2、定义3、特征4、装饰者模式demo rxjava装饰者模式1、rxjava中转换操作符map的简单实现2、rxjava中转换操作符flatmap的简单实现 装饰者模式 1、背景 假设奶茶店有两种茶,果茶(fruit tea)和奶茶(milky tea)&#…

java dataset flatmap_Spark中map和flatMap的區別詳解

本文介紹了Spark中map(func)和flatMap(func)這兩個函數的區別及具體使用。 函數原型 1.map(func) 將原數據的每個元素傳給函數func進行格式化,返回一個新的分佈式數據集。(原文:Return a new distributed dataset formed by passing each element of the…

Spark中flatMap的操作

Test 1: package test.wyh.wordcountimport org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext}object TestFlatMap {def main(args: Array[String]): Unit {//建立Spark连接val sparkConf new SparkConf().setMaster("local&quo…

flatMap底层实现

上篇:Transformation的map使用 第一种方式重写flatMap方法实现 实现需求:根据字符串在nc -lk 8888的窗口命令下输入的数据,在控制台打印输出发现:在同一行数据输入的单词字符串自动换行,按每个单词独立换行并且若输入…

java7 flatmap_flink学习之七-map、fliter、flatmap

看完了Flink的datasource、sink,也就把一头一尾给看完了,从数据流入到数据流出,缺少了中间的处理环节。 而flink的大头恰恰是只在这个中间环节,如下图: source-transform-sink-update.png 中间的处理环节比较复杂&…