0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解JESD204B协议

FPGA设计论坛 来源:FPGA技术江湖 2025-02-08 13:45 次阅读

1. JESD204B 基本协议

其实使用到ADI的东西,基本也就没有太去关注协议这些东西,只是简简单单的有个了解就行,在实际调试的时候,用的也是Xilinx的评估版的JESD的IP,基本不需要自己做什么工作就能够把整个系统运行起来了。

下面这个图是AD9680的一个基本的结构框图,可以看到这个ADC的作用就对输入的信号进行采集量化,在JESD204B链路建立之后,按照特定的格式组成数据帧,然后将数据帧通过JESD的接口将数据发送到FPGA上。其实基于JESD 204B的ADC和DAC在使用的时候,只需要去弄清楚链路是如何建立的就基本宣告JESD的驱动成功了。

199a9a8a-e5d2-11ef-9310-92fbcf53809c.png

1.1 JESD204B链路参数

在JESD 204B的链路建立的过程中,最重要就是需要去关注链路所需要的参数,这些参数是后面对FPGA当中JESD IP的配置和对AD9680配置十分重要的,JESD IP的手册可以参考PG066和PG198这两个手册。

无论是JESD的发送还是接收,关于链路建立的关键参数都是一致的,如下面从AD9680的手册当中截取出来的一些参数。

19abb37e-e5d2-11ef-9310-92fbcf53809c.png

19bde788-e5d2-11ef-9310-92fbcf53809c.png

通过这些参数能够确定JESD链路当中所需要使用到的LANE的数量,JESD该如何来进行组帧,组成的数据帧当中哪些位是数据位哪些位是控制位,组成的数据帧是对应哪一个ADC当中的哪一个转换器的。举个基于AD9680和FPGA进行全带宽传输的简单的例子,

L=4,M=2,F=2, N’=16, N=14, CS=2, K=32对应到JESD的链路当中就是

L=4需要4个lane来建立JESD 204链路,从FPGA角度来看就是需要使用到4个高速收发器接口。

M=2产生ADC数据的数据来源有两个,如下面的图中所示

N’=16表示一个采样点中包含16bit数据,N=14表示ADC的采样精度为14bit,CS=2表示在传输JESD的数据的时候有两位的控制位,这样就能够很好地理解N’,N和CS的关系了。一般情况下一个采样点包含了具体的数据和控制位。

F=2表示一个数据帧当中有两个字节的数据,这两个字节刚好能够表示一个采样点。

K=32表示一个多帧当中有32个数据帧,通过前面的F参数,不难计算出一个多帧包含有64个字节的数据。

上面只是一个对JESD链路当中参数的一个简单的介绍,在实际的使用的时候,就是多看手册,弄清楚每个参数在具体的应用当中的作用就OK了。

19c9a7bc-e5d2-11ef-9310-92fbcf53809c.png

下图是一个ADC采样点经采样后从传输层经过数据链路层,最终经过物理层进行传输的过程,在这个过程中,可以看到在具体的数据帧党总,上面介绍的一些关键的参数的具体的表现形式。

19d6140c-e5d2-11ef-9310-92fbcf53809c.png

1.2 JESD 204B的分层

就像学习以太网的时候,要先了解一下OSI的涉及参考模型一样,在JESD当中,也有一个参考的数据分层的物理模型,下图所示的就是一个简单的JESD 204B的分层。主要有三个层级,分别是传输层,数据链路层和物理层。

19f7bb2a-e5d2-11ef-9310-92fbcf53809c.png

传输层:传输层负责将庶几乎打包映射到有字节组成的JESD204B数据帧当中。传输层的映射关系是由链路层的设置的参数来决定的。

数据链路层:数据链路层负责数据传输的底层的功能,这些功能包括对数据进行加扰,插入用于多芯片同步,通道对齐等控制字符,完成8B10B转换,发送初始通道对齐序列(ILAS)等。ILAS是一个比较重要的序列,这个序列当中包含了链路的一些信息,在接收方当中,可以通过这个序列来知道当前链路的一个配置的状态。

物理层:物理层就是负责将数据进行传输的层,在我这里也就是指的FPGA和AD9680之间具体的高速接口了。

1.3 链路建立的过程

在我进行JESD204B的调试过程中,我认为最重要的一步就是链路建立的过程,只要能够正确地建立起JESD204B链路的link,那么后续的工作就比较简单了。因此首先需要弄清楚链路建立的一个过程。

在JESD204B subclass1中链路的建立主要包含一下几个步骤:

Code Group Synchronization (CGS) and SYNCINB±

Initial Lane Alignment Sequence (ILAS)

User Data and Error Detection

1.3.1 CGS & SYNC

在CSG阶段,简而言之就是一个同步的阶段,如果对Xilinx的高速接口有一定的了解的话,就知道高速接口当中是如何实现数据和时钟的恢复和数据的对齐的,在CSG阶段,JESD的发送器会不停的发送/K28.5/字符。在JESD的接收器当中,就会根据所接收到的数据来检测是否接收到了/K28.5/字符,如果检测到了,就会使SYNC信号拉高,从而提示JESD发送器,当前已经检测到了/K28.5/也即已经同步上了。

这里需要提一下SYNC信号,在前面数据链路层当中,我们可以在数据链路层当中,有两个用于控制数据链路层的信号,分别是sysref和sync。JESD204B子类1是否同步上,跟这两个信号有着很紧密的关系。

举个简单的例子,ADC 转换器AD9680作为JESD的发送方,FPGA作为JESD的接收方,两者一个共同的参考信号sysref,链路是否建立是根据LMFC与sysref共同来决定的,作为数据的接收方,FPGA若成功检测到当前已经同步上,需要拉高sync,告诉AD9680当前FPGA已经能够同步了,数据的发送方才会进行下一步的操作。若sync一直不拉高,那么链路的建立将会一直处于CGS阶段,在JESD当中也就只能接收到/K28.5/(0xBC).

1a0e9444-e5d2-11ef-9310-92fbcf53809c.png

JESD常用的字符如下:

1a1ce094-e5d2-11ef-9310-92fbcf53809c.png

1.3.2 ILAS 阶段

在这个阶段当中,JESD的发送方,会发送JESD链路的配置信息。ILAS阶段一般包含4个多帧。每个多帧以/R/字符表示开始,以/A/字符表示多帧结束。

在第一个多帧当中,填充的主要是0~255的递增数。

在第二个多帧当中,以/R/字符表示开始,然后发送一个Q字符,用于表示开始发送链路配置数据,从第三个字符开始发送链路配置数据,链路配置数据一共14个字符,其余地方用递增数进行填充。

第三个和第四个多帧,结构和第一个多帧一致。

1a3beaa2-e5d2-11ef-9310-92fbcf53809c.png

1.3.3 用户数据

在ILAS阶段完成之后,就可以进行用户数据传输了。这些东西在JESD的IP里面都已经集成地很好了,在使用IP地时候,能够大大地减轻设计的难度。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8905

    浏览量

    153074
  • dac
    dac
    +关注

    关注

    43

    文章

    2364

    浏览量

    192897
  • 链路
    +关注

    关注

    1

    文章

    74

    浏览量

    14179
  • JESD204B
    +关注

    关注

    5

    文章

    80

    浏览量

    19484

原文标题:JESD204B接口简介

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐
    热点推荐

    jesd204b

    我最近尝试用arria 10 soc实现与ad9680之间的jesd204B协议,看了很多资料,却依然感觉无从下手,不知道哪位大神设计过此协议,希望可以请教番,在此先谢过。
    发表于 12-13 12:47

    JESD204B的系统级优势

    FPGA 协作。他们特别感兴趣的是 JESD204B 接口将如何简化设计流程。与 LVDS 及 CMOS 接口相比,JESD204B 数据转换器串行接口标准可提供些显著的优势,包括更简单的布局以及更少
    发表于 09-18 11:29

    JESD204B串行接口时钟的优势

    都是基于这个版本设计的。本文就以JESD204B subclass1 来讨论时钟的时序需要以及TI 时钟芯片方案的实现。任何个串行协议都离不开帧和同步,JESD204B 也不例外,也
    发表于 06-19 05:00

    JESD204B是什么工作原理?控制字符是什么?

    JESD204B的工作原理JESD204B的控制字符
    发表于 04-06 06:01

    JESD204B协议有什么特点?

    和 FPGA 至 DAC 链路问题的协议部分,这两种链路本来就是相同的 TX 至 RX 系统。作为名应用工程师,所需要的就是了解其中的细微差别,这样才能充分利用 JESD204B 通过现有 LVDS 和 CMOS 接口提供的
    发表于 04-06 06:53

    如何去实现JESD204B时钟?

    JESD204B数模转换器的时钟规范是什么?JESD204B数模转换器有哪些优势?如何去实现JESD204B时钟?
    发表于 05-18 06:06

    读懂JESD204B标准系统

    JESD204B到底是什么呢?是什么导致了JESD204B标准的出现?什么是JESD204B标准?为什么关注JESD204B接口?
    发表于 05-24 06:36

    JESD204B协议介绍

    路问题的协议部分,这两种链路本来就是相同的 TX 至 RX 系统。作为名应用工程师,我所需要的就是了解其中的细微差别,这样才能充分利用 JESD204B 通过现有 LVDS 和 CMOS 接口提供
    发表于 11-21 07:02

    JESD204B的优势

    的是 JESD204B 接口将如何简化设计流程。与 LVDS 及 CMOS 接口相比,JESD204B 数据转换器串行接口标准可提供些显著的优势,包括更简单的布局以及更少的引脚数。因此它能获得工程师
    发表于 11-23 06:35

    JESD204B协议概述

    在使用我们的最新模数转换器 (ADC) 和数模转换器 (DAC) 设计系统时,我已知道了很多有关 JESD204B 接口标准的信息,这些器件使用该协议与 FPGA 通信。此外,我还在 E2E 上的该
    发表于 04-08 04:48 2462次阅读
    <b class='flag-5'>JESD204B</b><b class='flag-5'>协议</b>概述

    JESD204B SystemC module 设计简介()

    本设计致力于用SystemC语言建立JESD024B协议标准模型,描述JESD204B的所有行为,并且能够保证用户可以通过该JESD204B的SystemC库,进行
    发表于 11-17 09:36 3337次阅读
    <b class='flag-5'>JESD204B</b> SystemC module 设计简介(<b class='flag-5'>一</b>)

    JESD204B标准及演进历程

    在从事高速数据撷取设计时使用FPGA的人大概都听过新JEDEC标准「JESD204B」的名号。近期许多工程师均联络德州仪器,希望进步了解 JESD204B 接口,包括与FPGA如何互动、JE
    发表于 11-18 02:57 1.5w次阅读

    理解JESD204B协议

    理解JESD204B协议
    发表于 11-04 09:52 4次下载
    理解<b class='flag-5'>JESD204B</b><b class='flag-5'>协议</b>

    JESD204B:适合您吗?

    JESD204B:适合您吗?
    发表于 11-07 08:07 0次下载
    <b class='flag-5'>JESD204B</b>:适合您吗?

    JESD204B使用说明

    能力更强,布线数量更少。 本篇的内容基于jesd204b接口的ADC和FPGA的硬件板卡,通过调用jesd204b ip核来步步在FPGA内部实现高速ADC数据采集,jesd204b
    的头像 发表于 12-18 11:31 1300次阅读
    <b class='flag-5'>JESD204B</b>使用说明