FPGA之JESD204B接口——总体概要 首片

article/2025/10/2 4:52:07

1. 简介

JESD204是一种连接数据转换器(ADC和DAC)和逻辑器件的高速串行接口,该标准的 B 修订版支持高达 12.5 Gbps串行数据速率(目前C修订版已经发布,即JESD204C),并可确保 JESD204 链路具有可重复的确定性延迟。随着高速ADC跨入GSPS范围,与FPGA(定制ASIC)进行数据传输的首选接口协议是JESD204B。

在上一篇有关SerDes的博客《SerDes基础知识总结》中提到,JESD204B的物理层是基于SerDes的,所以JESD204B理所当然的继承了SerDes的优点,即:

  • 更小的封装尺寸与更低的封装成本
  • 简化的 PCB 布局与布线
  • 高灵活布局
  • 扩展能力强:该接口能够自适应不同数据转换器分辨率。

那么JESD204B有什么缺点呢?第一个缺点就是:复杂!真要对接口理解透彻的话,需要阅读很多资料。第二个缺点:有一定的时延,不适用于实时性要求高的场合,因为数据从发送到接收有一定的延迟。

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

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

2. 分层简介

2.1 应用层(Application Layer)

通过应用层可以实现特殊用户配置。参考文献1中提到:

对于需要以不同于N'(每个样本传输的位数)的样本大小传输数据的ADC,以独特方式配置应用层可能有利。可以将多个样本重新包装,从而降低通道速率,提高链路整体效率。

我的理解是:当多个发送器模块和一个接收器模块连接时,如果发送器(ADC)的样本大小不一致,在接收端可以进行特殊配置,通过补位或者合包的方式,使每一个接受的数据包大小都相同?(PS:待实际调试接口后再来理解这一个功能)

2.2 传输层(Transport Layer)

传输层根据给定器件已定义的链路配置参数,决定如何包装来自ADC的数据,即LMFS参数配置,四个字母代表最主要的四个参数,收发两端协商好之后(ADC会将参数发给FPGA,双方会进行校验),就按规则进行组包和解包。在下一篇博客JESD204B(2)——理解链路配置参数中,着重说明了配置参数的含义以及参数是如何影响链路组包以及传输速率的,这是理解JESD204B的重点之一。用下图来大概说明一下传输层的作用,8个ADC通过一定的方式组合在4条链路中进行传输。

数据链路层主要是完成链路建立和数据编码(编码有的时候有划分在物理层中)。数据编码主要是加扰(可选)和8B/10B编码,其主要作用在《SerDes基础知识总结》中有介绍,这里就不再赘述。链路建立是也是JESD204B重点掌握的知识之一。

数据链路层通过链路建立过程同步JESD204B链路。链路建立包括三个不同阶段:

  1. 代码组同步(CGS)

在代码组同步(Code Group Synchronization,CGS)期间,各接收器(FPGA)必须利用时钟和数据恢复(CDR)技术,在ADC传来的输入数据流中找到K28.5字符。一旦在所有链路通道上检测到某一数量的连续K28.5字符,接收器模块就会解除置位送至发送器模块的SYNC~ 信号。在发送端捕获到SYNC~ 的变化后,JESD204A和JESD204B的处理会略有不同。在JESD204A中,发送模块捕捉SYNC~ 信号的变化,经过固定数量的帧时钟之后,ILAS就会启动。在JESD204B中,发送模块捕捉SYNC~ 信号的变化,并在下一个本地多帧时钟(LMFC)边界上启动ILAS。

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

ILAS(Initial Lane Alignment Sequence)的主要作用是对齐链路的所有通道,验证链路参数,以及确定帧和多帧边界在接收器的输入数据流中的位置。

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

  1. 用户数据

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

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

2.4 物理层(Physical Layer)

在物理层中,数据进行串行化,8B/10B编码数据以线路速率发送和接收。JESD204的物理层实际上就是SerDes结构,具体可参见《SerDes基础知识总结》。在物理层主要是要关注电气特性,通过眼图来测量信号完整性。

3. 总结

这篇博客基本上我是看了很多资料,稍微对JESD204B有一定的理解之后,从参考文献1中筛选出来的有助的快速入门的内容。实际上理解透JESD204B还有很多知识点要学习,并且结合实际调试观察信号和数据变化。接下来需要学习的是JESD204B的三个子类(相当于三种模式)的特点,通过各个时钟和信号之间的关系来确定延迟(这也是B修正版中的重要内容,这一方面还没理解透),以及通过信号关系对错误的表征等,后面有机会再慢慢展开。

参考文献

  1. 《了解JESD204B规范的各层——从高速ADC的角度出发》_ADI
  2. JESD204B:适合您吗?
  3. Link synchronization and alignment in JESD204B: Understanding control characters

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

相关文章

JESD204B 参数理解

M和N M表示单片芯片上转换器的个数。 N表示转换器的分辨率。 比如一个4通道14位的ADC器件,M为4,N为14. N’ N’ 定位为word 长度。N’的计算为首先把N打散成一个个的nibble,每个nibble为4bit.对于14bit和16bit的分辨率,都是4个nibble,12…

Atmel ATSHA204应用总结

1 ACES软件安装 Atmel Crypto Evaluation Studio (ACES) https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/Atmel%20Crypto%20%20Studio%20(ACES) 2 基本概念 ACES CE:Atmel Crypto Evalution Studio Configuration Environment(基于加…

加密芯片ATSHA204之使用

目录 看手册Command PacketsConfiguration ZoneLock CommandNonce CommandGenDig CommandWrite CommandRead CommandMAC CommandDeriveKey Command相关参考 本文旨在记录 ATSHA204 的使用过程。ATSHA204 是一个安全认证和验证设备,可防止设备被抄袭,应该…

ATSHA204芯片手册阅读笔记

使用心得: (1)配置好IIC,访问芯片之前先唤醒。 (2)按个人需求配置好Config区域,配置好之后锁住Config。只有锁住了Config,才能去操作Data区。 (3)开始写数据区&#xff0…

JESD204标准概述

此篇是我在学习中做的归纳与总结,其中如果存在版权或知识错误请直接联系我,欢迎留言。 PS:本着知识共享的原则,此篇博客可以随意转载,但请标明出处! 目录 JESD204协议标准的分类和区别: JESD204A JESD20…

【JESD204系列】二、JESD204概述

在JESD204B 版本中,引入了确定性延时这一关键同步机制,并根据确定性延迟的不同实现方式划分了三个子类。通过实现确定性延迟,系统在两次上电之间,或者重新建立链路的时候,有了一个可以重复的延迟,为系统在处…

JESD204B学习之关键点问答

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/u014586651/article/details/86744263 JESD204B学习之关键点问答 1.概述 本文是用于记录JESD20…

jesd204B

调试ADI_JESD204B: 问题描述 卡在CGS阶段。 rx_204B 收到了连续的K码bcbcbcbc,但是SYNC一直不能拉高。 sdk的串口打印报错。initial frame synchronization:NO ? 原因分析: 可能收发的配置问题? sysref频率有问题? 复…

JESD204B 使用说明

JESD204B IP核作为接收端时,单独使用,作为发送端时,可以单独使用,也可以配合JESD204b phy使用。 JESD204B通常配合AD或DA使用,替代LVDS,提供更高的通讯速率,抗干扰能力更强,布线数量更少。 本…

http中的204和205

基本概念 http协议的200,301,302,304,404,503这些常用的状态码就不再介绍了。这里主要说一下不常见的204和205吧。 204代表响应报文中包含若干首部和一个状态行,但是没有实体的主体内容。主要用于在浏览器…

火狐firefox快速切换代理插件:Proxy Switcher

简介 l利用Firefox下的Proxy Switcher插件可以实现快速切换代理 安装 两种方式进入拓展和主题页面 方式一 寻找更多扩展的搜索栏输入Proxy Switcher 选择添加到Firefox 方式二 语言设置为中文的火狐浏览器直接打开地址:https://addons.mozilla.org/zh-CN/f…

关于proxy代理

之前一直有个问题,就是它到底是只代理那部分带有/api的,还是全都代理掉 答案是,只会代理api那部分,也就是你配置了代理的部分 发请求的时候,包括axios发完后,vue会检测你的所有请求,把符合你代理的那部分正则匹配到,然后代理,再发请求 这个地方是我搞错了,其实这个proxy好像…

AnyProxy代理

背景:当一个公司测试团队有多个人的时候,只需搭建一个AnyProxy服务,其它小伙伴浏览器上打开AnyProxy页面,手机上设置代理就能抓到http、https请求了。解决了部分人电脑不正经的小伙伴fiddler死活抓不到https请求的问题&#xff0c…

代理器Proxy

基本概念 一.代理器Proxy 1.用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”,即对编程语言进行编程。 2.Proxy可以理解为,在目标对象之前架设一层“拦截”,外界对该对象的访问&#xff…

代理(Proxy)

-代理模式(Proxy Pattern),23个经典模式中的一个,又称之为委托模式,就是为目标对象提供了一个代理,这个代理可以控制对目标对象的访问。代理对象可以添加审查和监控功能。 在java中的代理有静态代理以及动态…

Proxy-Server

一、摘录 二、背景 由于某些原因,在我们国内无法访问google、facebook等外国网站,如果你想使用外网来学习,聊天,那么就可以使用一些翻墙代理。 三、原理 1.要想翻墙,首先得知道墙是什么东西?墙是看不见摸…

Proxy(代理)服务器

代理服务器:---代理服务器必须有DNS地址。如果开启转发需要在客户端设置DNS地址 NAT:是直接与目标服务器通信的。也就是直接访问的baidu服务器,目标地址是baidu服务器的地址,所以必须要有DNS来解析主机名。 如果是通过代理客户端是…

代理服务器(Proxy)

目录 1.什么是代理服务器 2.代理服务器的作用 3.代理服务器的工作流程 4.安装代理服务器软件及配置文件解析(squid) 5.正向代理 6.修改数据存放位置 7.设置磁盘使用阈值 "代理"两字顾名思义就是以代理人的身份去帮助其他人取得所需要的…

ProxyHandler处理器(代理设置)

我们在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么美好,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden,这时候打开网页一看,可能会看到“您的…

代理工具及使用技巧Proxy Hunter

转自:http://bbs.taisha.org/thread-385064-1-1.html 如需转载,请注明出处,谢谢。 由于国外大学图书馆购买的数据库大多数是用IP登陆方式,所以获取这些大学的代理就成为我们利用这些数据库的唯一方式,我介绍的方法是最…