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

article/2025/10/17 21:34:03

JESD204B是一种新型的基于高速SERDES的ADC/DAC数据传输接口。JESD204和JESD204B修订版数据转换器串行接口标准由JEDEC委员会制定,旨在标准化并减少高速数据转换器与FPGA(现场可编程门阵列)等其它器件之间的数据输入/输出数目。更少的互连可简化布局布线,并支持实现更小尺寸的解决方案,同时不影响整体系统性能。这些特性对于克服许多高速ADC应用的系统尺寸和成本限制非常重要,包括无线基础设施(GSM、EDGE、W-CDMA、LTE、CDMA2000、WiMAX、TD-SCDMA)、收发器架构、软件定义无线电、便携式仪器仪表、医疗超声设备、雷达和安全通信等军用/航空应用。
ADC/DAC的采样速率变得越来越高,数据的吞吐量越来越大,对于500MSPS以上的ADC/DAC,动辄就是几十个G的数据吞吐率,采用传统的CMOS和LVDS已经很难满足设计要求,JESD204B应运而生。现在各大厂商的高速ADC/DAC上基本都采用了这种接口。JESD204B一共有三种子类,分别是子类0,子类1和子类2。三个子类主要是根据同步方式的不同划分的,现在大部分ADC/DAC都使用的子类1,所以接下来主要讲解子类1。
表1 JESD204B、LVDS接口对比
在这里插入图片描述
JESD204B包括3个之类,分别是子类0,子类1,子类2;三个子类主要是根据同步方式的不同划分的。子类0兼容JESD204A,子类1使用SYSREF同步,子类2使用SYNC进行同步。只有子类1和子类2支持确定性延迟——发送端到接收端之间的链路延迟固定。JESD204B标准定义了多个层,每个层负责特定的功能。这里定义了4层:物理层、链路层、传输层和应用层。根据FPGA和转换器的接口组合,可以为物理层和传输层选择不同的组件。JESD204B接口分层定义如图1所示。
在这里插入图片描述
图1 JESD204B发送、接收接口结构组成

具体详细的启动过程如图2所示:
在这里插入图片描述
图2 链路启动时序图

  1. 代码组同步(CGS)- 不需要接口时钟,因此RX必须将其数位及字边界与TX串行输出对齐。RX 可向TX发送SYNC请求,让其通过所有信道发送一个已知的重复比特序列,本例中每字符每K 是K28.5。确切的字符比特序列可在标准中找到。RX 将移动每个信道上的比特数据,直到找到4个连续的K28.5字符为止。这时,它不仅将知道比特及字边界,而且已经实现了CGS。随后,它会取消对SYNC的断言,而TX和RX则都会进入下一个状态:初始信道对齐序列(ILAS)。

  2. ILAS - JESD204B 协议的一个良好特性可实现通过RX模块中的一些FIFO/缓冲器吸收信道偏移。在实现CGS后,TX 可在每个信道上发送已知的字符帧集合,称为信道对齐序列(以每字符每R K28.0 开始,以每字符每A K28.3 结束)。收到对齐序列后,RX 会对数据进行FIFO缓冲,直到所有信道都收到完整的对齐序列。由于已经知道了整个序列,因此信道随后可重新对齐,这样每个信道上的任何信道偏移都可通过FIFO存储器吸收,而且,信道随后还可在相同的时间点、在RX 模块内释放该数据。这可缓解为串行解串器信道提供匹配布局的需求,因为信道偏移可通过FIFO存储器吸收。

  3. 用户数据(UD)- 在代码组同步及信道对齐后,就可正确接收用户数据。如果在该最后状态时用户数据无效,则需要重新启动本过程,RX 会发送一个SYNC请求重新开始该过程。

  4. 在代码组同步及信道对齐后,就可正确接收用户数据。如果信道对齐后用户数据无效,则需要重新启动链路,接收端会重新发送同步请求。

    以上文章为千有科技专有,未经允许,不允许转发或者用于商用,否则将追责。


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

相关文章

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/…

JAVA8 中的flatmap

构建对象 class User{private String addr } 将多个User集合中的addr按照;分割合并成一个字符串list List<User> uList Lists.newArrayList();User u1 new User();u1.setAddr("a1;a2;a3;a4;a5");User u2 new User();u2.setAddr("b1;b2;b3;b4;b5&qu…