JESD204B 协议解析和参数理解

article/2025/10/17 21:48:14

目录

 1. 概述    

2. 时钟

3. 同步协议

4. 参数理解


 1. 概述    

在JESD204接口出现以前,数模转换器的数字接口绝大多数是差分LVDS的接口,这就造成了布板的困难,当PCB的密度很大的时候就需要增加板层从而造成制版的成本。但是JESD204需要进行严格的同步和时延的测量,接口逻辑会比LVDS复杂。JESD204 有不同的版本,但是大部分用的subclass1。

2. 时钟

     device clock 是器件工作的主时钟,一般在模数转换器里为采样时钟或者整数倍频的时钟,其协议本身的帧和多帧时钟也是基于device  clock 。sysref是用于指示不同转换器或者逻辑的device clock的沿,或者不同器件间的deterministic latency 的参考。

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

sysref 在我以前的设计中,用的是,同步上以后,就没有sysref信号,也就IP 配置的时候sysref off。

 

3. 同步协议

 

CGS:代码组同步(code group sync)当发送端检测到syncb信号为低电平时启动发送8B10B 中的K28.5码,本段数据段不进行扰码和字节替换操作,接收端检测到最少4个BC字节后可释放SYNCb信号;

ILA:初始化多帧序列 (initial lane alignment)该阶段发送连续4个初始化多帧(多帧是由K个帧组成,字节数为K*F),此样本数据段不进行扰码和字节替换。初始化多帧以8B10B中的K28.0开始以K28.3结束,其中第二个多帧的第二字节K28.4关键字用来指示当前多帧在紧跟着K28.4的后续14个字节是参数配置信息。表2是具体的配置参数定义。

DATA:数据传输阶段 (data transmission ),该阶段进行数据传输,规范中要求该阶段的数据需要进行字节替换(扰码和不扰码的字节替换规则不同)。

字节替换规则:

1、没有使能扰码情况下的字节替换规则

2、 使能扰码情况下的字节替换规则

JESD204B规定的扰码、解扰码生成多项式

4. 参数理解

 

具体实现可以参考   http://xilinx.eetrend.com/blog/2020/100049267.html  小青菜哥哥的博文 


http://chatgpt.dhexx.cn/article/39kvHYOl.shtml

相关文章

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 中间的处理环节比较复杂&…

Stream之flatMap

一、flatMap简介 flatMap:将小Stream转换为大Stream 二、示例转换要求 目标:将如下对象中的分类category提取出来,去重。其中如"哲学,爱情",需要解析为两个分类,["哲学","爱情"] [{"age":33,"…

flatmap使用

使用场景 适用于嵌套list数据结构&#xff0c;想把内部的list数据合并成一个list.。 举例如下&#xff1a; public class Test {public static void main(String[] args) {List<List<String>> list new ArrayList<>();List<String> list1 new Arr…

Java8中map与flatMap用法

目录 1 概述 2 map与flatMap 3 常用写法 1 概述 Java8中一些新特性在平时工作中经常会用到&#xff0c;但有时候总感觉不是很熟练&#xff0c;今天特意将这个Java8中的映射记录一下。 2 map与flatMap map---对集合中的元素逐个进行函数操作映射成另外一个 flatMap---接收一…

如何使用flatMap

1. 什么情况下用到flatMap 当使用map&#xff08;&#xff09;操作时&#xff0c;不是返回一个值&#xff0c;而是返回一个集合或者一个数组的时候&#xff0c;这时候就可以使用flatMap解决这个问题。举个例子&#xff0c;你有一个列表 [21,23,42]&#xff0c;然后你调用getPr…

【JavaScript中数组的flatMap方法的详细介绍】

在我们平时对数组进行操作的时候&#xff0c;通常map、forEach和filter方法比较常用。而flatMap方法用得相对少一些。当你掌握了flatMap方法的使用之后&#xff0c;我相信你一定会喜欢上它的&#xff01; 下面我们会通过以下三个问题展开对flatMap方法的讲解&#xff1a; 1. f…

Java8 - Streams flatMap()

文章目录 官方文档What is flatMap()?Why flat a Stream?Demo需求1&#xff1a;Find all books需求2&#xff1a;Order and LineItems需求3&#xff1a;Splits the line by spaces需求4&#xff1a; flatMap and primitive type 官方文档 https://docs.oracle.com/javase/8/…