JESD204B 系统复位与同步选项

article/2025/10/2 4:13:18

CGS,代码组同步,ILA,初始化多帧序列帧同步,然后进行数据传输 。

       系统复位

        在系统复位上:JESD204中提供了一个全局的异步时钟复位,rx_reset用来复位整个系统,AXI4-Lite系统总线复位不受此影响,AXI4-Lite线中带有单独的重置信号,s_axi_aresetn,用来复位和AXI4总线相关的配置寄存器。

        在软件复位上:在AXI4-Lite总线中提供了一个寄存器,该寄存器用来复位和软件配置相关的寄存器,用来触发软件相关的逻辑数据路径上的数据路径重置序列,配置寄存器不会受此影响。

        在收发器内还提供了一个看门狗定时器,如果长时间不实现同步机制,看门狗定时器会自动提供复位。

        AXI4-Stream数据传输和接受接口用于在JESD204数据格式和Core之间传递数据,在IP设置为传输模式下,数据由Core传递到JESD204 ,在IP设置为接受模式下,数据又JESD204传输到Core,数据的输入输出通道中每个通道每个时钟周期下有4个字节的数据,32位数据,也就是4个字节数据,最低有效字节位传输从AD或者从DA中传输的第一个字节。

        Subclass1设备支持确定性延迟操作,链路信号之间的时序关系图如下所示:

        确定性延迟

        SYSREF是系统的主定时参考,为了实现准确的确定性延迟也就必须同步捕获到核心时钟的SYSREF时钟信号,SYSREF必须是 4字节时钟周期的倍数,默认情况下SYSREF信号在核心时钟的下降沿捕获,以允许时钟的上升沿和SYSREF在设备的边缘对齐。

        当JESD204的core使用32位路径也就是4字节数据路径运行时,SYSREF周期必须是多帧周期的整数倍,而且如果多帧周期本身并不是4字节时钟的倍数,它也必须是4字节时钟的倍数。

        SYSREF可以在核心时钟的上升沿或者下降沿进行采样,默认情况下SYSREF在核心时钟的下降沿进行采样。

        Core_clk是ref_clk还是glb_clk是可选的,同时在SDC中设置时,对捕捉的上升沿和下降沿有确定的建立时间和保持时间,确定采样周期有充足的时间裕量。

        采用refclk为core_clk并采用下降沿捕捉SYSREF,其建立时间为1.2ns,保持时间为1.8ns,采用下降沿采样。

        采用refclk上升沿采样,建立时间为4.8ns,保持时间为-1.5ns,时序违例??

        VIVADO的jesd204IP提供了一个可编程选项可以使sysref长保持为高或者长保持为低。

        当长保持为低时,只有在重置时或者链路重新同步链接时才会重新被用来对齐内部的LMFC计数器。

        当长保持为高时,所有的sysref事件都被用来重新对齐LMFC计数器,这个设置要求SYSREF周期是多帧周期的正确倍数。

        在具体实现时,JESD需要一个初始的SYS信号拉高来同步对齐LMFC然后需要在代码组实现同步时在下一个LMFC边界拉低SYNC。

          SYSREF用来LMFC链路重新同步,当SYSREF Required on Re-Sync is set to 0,链路只有在初次同步时需要SYSREF信号来完成同步,后续链路的重新不同不用每次都使用sysref信号来完成重新同步操作,当SYSREF Required on Re-Sync is set to 1也就是每次完成同步时都需要用SYSREF信号来完成同步操作,JESD204B协议要求多帧大小大于链路上可能的最大延迟,只要多帧大小大于链路上延迟的最大变化就可以实现确定性延迟。

        JESD204的总体延迟需要考虑跨链接的各种固定和可变延迟源

        计算端到端延迟所需的ADC关键参数:

1.SYSREF TO LMFC(T TXLMFC)

2.模拟输入到LMFC的固定延迟。

3.LMFC到JESD204串行输出的固定延迟。

 

        计算端到端时延所需的FPGA端的关键参数:

1.SYSREF到LMFC端的固定延迟。

2.从JESD204输入到LMFC的延迟。

3.固定延迟从LMFC到AXI的数据输出。

总的TX到RX的延迟为T = N*LMFC - TTXLMFC + TRXLMFC:

 后面两项的和其实就是两个LMFC之间的差值。

最小的确定性延迟:

        当子类1和子类2设备中首次建立JESD204B链路时,接收端输出的数据如下图:当所有的lane检测到数据后,通过调制buffer_delay的寄存器数量可以支持最小延迟。

        确定性延时分为两个方面在TX端从帧的数据输入开始到RX端帧的数据输出截止,在每次上电时或者每次重新连接时其延时是一致和确定的。

        在Tx端就是在预定义的时刻所有的lane同时发往ILA数据,预定义的时刻一般指SYNC信号有效后的一个LMFC边界处,也就是说在SYNC信号后指定的几个LMFC边界处开始输出ILA。

        在RX端,考虑到从TX端过来的数据经过物理延迟,和每条lane之间必然存在着不确定性的延迟,所有在RX端有必要准备一段缓存,数据进来后先进入缓存,然后经过指定的时间后从缓存中读取数据,也就是在一个预定义的时刻读取数据,通常预定义的时刻是可以被编程定义的。

        由此可见要想实现RX端和TX端的同步很有必要的一点就是实现LMFC的对齐,Xilinx手册保证确定性延时最小的情况下给了如下的准则:

        Multiframe的长度必须大于Link之间的最大的偏差。

        RBD*Tf的值必须大于link之间最大的偏差,Tf指帧周期

        RBD的深度为[1:k],其中K为多帧中包含的帧数量。

        另外要实现确定性延迟在Rx端还要保证能够缓存所有的ILA帧序列和信息数据,也就是说要整RXbuffer一般要足够大能够缓存一次多帧序列的数据,然后在指定时间同步释放从而保证数据输出时间相同达到同步效果。   

        如果ILA数据会通过RX elastic buffer,则“有效数据”是指ILA序列;如果ILA数据不通过RX elastic buffer,则“有效数据”是指ILA序列之后的第一个采样数据。当ILA数据不通过RX elastic buffer时,RX elastic buffer的释放时刻应该在上文提到的“第RBD个frame clock时钟周期”之后,再延时4个multiframe周期。(因为subclass 1的ILA就包含4个multiframe,RBD延时之后应该是开始处理第一个ILA的时间,处理完ILA后才能释放采样数据。

DELAYlink = ΔTLMFC = TXdelay + LANEdelay + RXdelay

          其中各个变量的定义如下。

         TXdelay:从TX端ILA并行数据的产生(该行为对齐于某个LMFC边界)到ILA数据出现在serdes输出端口的这段时间。

        LANEdelay:指lane之间的延时。

        RXdelay:从输入数据出现在serdes输入端口到RX elastic buffer释放。

        ΔTLMFC:从ILA/用户数据被写入到link时所对应的LMFC上升沿开始,到ILA/用户数据出现RX elastic buffer的输出端口处为止的时间差。

       RX elastic buffer的最小深度等于:从第一个数据到达RX elastic buffer开始,直到第一个数据释放为止,即LMFC边界后的第RBD个frame clock周期。也就是RBD个frame的深度。
        

        subclass1同步机制

        在Subclass1模式中主要通过sysref信号实现同步机制,因此要求SYSREF信号必须分配到每个设备当中。在具体的同步实现当中保证设备时钟和SYSREF信号的高精度就能够保证最小化确定性延迟,因此Xilinx建议所有的SYSREF信号来自同一个芯片从而保证高度精准。

        因此Subclass1模式下的对各设备有如下要求:

        对RX端要求能够具有generated sysref的能力也就是根据重同步信号发出sysref信号的能力,该信号发送到JESD的各个模块当中实现同步机制,

        TX和RX设备能够决定是否响应第一个SYSREF之后的其他SYSREF脉冲,并根据该脉冲对本地帧和多帧时钟进行相位对齐。根据规范,TX和RX设备一般会提供以下选项。

        检测每一个SYSREF脉冲,如果当前LMFC和frame clock需要进行相位调整,则进行相应的相位调整。
        通过一个输入管脚,或者通过配置接口发送配置命令来控制设备,使其在接收到后续SYSREF时对LMFC和frame clock进行强制相位对齐。
        通过一个输入管脚,或者通过配置接口发送配置命令来控制设备,使其忽略后续的所有SYSREF。
        上述情况只有在设备已经完成初始化并发送了重同步请求,或者link发现错误并发送了重同步请求的情况下才会发生。此外,subclass 1设备应该给出以下时序参数:

        从采样到SYSREF脉冲的Device clock的上升沿,到LMFC上升沿之间的延迟。


    如果需要确定性延时等于一个multiframe周期,需要将RBD的值设置为K。下图描述了这种延时的实现过程。

    图中上半部分为TX设备,下半部分为RX设备。TX设备一直在发送K码。当TX设备监测到SYSREF之后应该产生本地的LMFC,TX设备需要给出从检测到SYSREF的device clock的上升沿,到下一个LMFC之间的延迟参数。该延迟应该是一个确定的值。

    RX设备的所有lane能够正确接收K码之后,会将在下一个LMFC上升沿后撤销SYNC信号(SYNC低有效)。当TX设备检测到SYNC撤销后,会在下一个LMFC上升沿开始发送ILA。

    由于不同lane延时不同,RX设备中每个lane收到ILA的时间有差异,但是这些ILA都被elastic buffer缓存。当RX端检测到所有lane都接收到ILA启动信号后(即所有lane都至少检测到R码),将会在下一个LMFC开始同步释放elastic buffer。

 

    最后需要提一下的是,上图是基于TX端和RX端的LMFC严格对齐的前提。如果两者的LMFC有偏差,自然也会导致延时出现一定的偏差。
    当需要确定性延时小于multiframe周期时,需要将RBD值设置为小于K的值。

    同样假设TX和RX端的LMFC对齐。该例中,RBD设置值小于K。这样elastic buffer才有可能提前释放缓冲区。

    当RX端所有lane都完成组同步后,将在下一个LMFC上升沿撤销SYNC。紧接着TX设备检测到SYNC撤销,并且在下一个LMFC开始发送ILA。RX设备的所有lane将会检测ILA起始信号。

    在LMFC上升沿后的RBD个frame clock周期后,正常情况下RX设备的所有lane应该都检测到了ILA的起始信号,此时会同步释放elastic buffer。这种情况下,确定性延时等于RBD个frame clock周期。
 

 


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

相关文章

Atsha204a使用心得

最近公司要用到Atsha204a做软件和硬件的绑定加密,于是就调了它的驱动,将使用过程中遇到的坑整理下,也好让各位同仁少加点班;废话少说,直接入正题。 0.加密原理: 主控端和Atsha204a端有相同的16 组密码&am…

JESD204B接口调试记录3 - 总结

目录 一、介绍下项目历史情况 二、为什么要用fs4模式? 三、为什么要将采样率改成2.5Gsps? 四、时钟芯片参数如何设置? 五、AD芯片参数如何设置? 六、FPGA工程里JESD204 IP如何设置? 七、传输层如何解包&#xff…

【JESD204B】基于JESD204B协议的ADC、DAC数据传输

1、JESD204协议概述 ADC、DAC技术即模数、数模转换技术,在军用和民用领域广泛应用,如现在常用的有微信语音、网络电话、其典型数据处理流程: 语音输入->ADC采样->调制->基站->无线传输->基站->解调->DAC->语音输出…

理解JESD204B链路参数 Understanding JESD204B Link Parameters

想要彻底理解参数意义要先看JESD协议标准原文,再看看这文章。这是我花了很久才意识到的道理,不过这篇文章对理解也有一定意义。 这个文章是我看的一篇英文文章的大体翻译,并不是逐行的。文章名《Understanding JESD204B Link Parameters》 L…

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

1. 简介 JESD204是一种连接数据转换器(ADC和DAC)和逻辑器件的高速串行接口,该标准的 B 修订版支持高达 12.5 Gbps串行数据速率(目前C修订版已经发布,即JESD204C),并可确保 JESD204 链路具有可重…

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中的代理有静态代理以及动态…