Xilinx_JESD204B

本文详细介绍了Xilinx FPGA中JESD204B接口的使用,包括接口术语、OSI模型、AXI-Lite配置以及通道对齐过程。针对AD9625的调试,分析了同步问题、数据提取和配置代码,展示了AXI-Lite的读写时序及波形。内容涵盖了JESD204B AXI驱动的实现和配置,以及通道对齐的步骤和数据流处理,适合FPGA开发者参考。
摘要由CSDN通过智能技术生成

Xilinx_JESD204B_实操
说明:通过FPGA的高速数据接口JESD204B对AD9625进行高速采集,分析通道对齐过程,sync时高时低分析,ADC数据提取,读写JESD204B IP AXI时序代码(可通过VIO实时查看JESD204B IP核的状态)。
环境:Vivado2018.3。
IP核:JESD204(7.2)。
参考手册:pg066_jesd204 v7.2。
资料以及IP_licence:JESD204B
AXI协议资料:AXI
Xilinx JESD204B IP AXI驱动代码:Xilinx JESD204B IP AXI驱动代码
工程代码、ADC SPI驱动、AXI对JESD204B IP核进行读写:联系微信:Crazzy_M

直通☛ 200页+ FPGA/IC秋招面试笔试题


1.JESD204B概述

  JESD204B是一种新型的高速串行ADC/DAC数据传输接口,JESD204B包括3个子类,分别是子类0,子类1,子类2。三个子类主要是根据同步方式的不同划分的。
其他相关资料移至官方文档以及互联网,主要想写一下JESD204B在XilinxFPGA上的应用。

1.1 JESD204B接口术语

S每个帧周期每个转换器发送的样本
M每个转换器件(链路)的转换器数
L每个转换器件(链路)的通道数
N转换器分辨率
N’每个样本的总位数
CF每个转换器件(链路)每个帧时钟周期的控制字数
CS每个转换样本的控制位数
K每个多帧的帧数
HD高密度模式
F每帧的8位字数
C控制位(超范围、时间戳)
T结束位

1.2 JESD204B OSI模型

  以下为AD9625通过JESD204B高速接口输出的示意图,由此示意图理解JESD204B传输过程。
在这里插入图片描述
传输层:
  传输层将数据(由样本和可选控制位组成)包装成8位字并发送至数据链路层。传输层受链路配置数据产生的规则控制。它根据规则包装数据,需要时添加结束位以填补空隙。
数据链路层:
  数据链路层负责执行通过链路传送数据的低级功能,包括加扰数据(可选),处理链路上的字符、帧和通道的同步过程,将8位数据字编码为10位字符,以及在数据输出中插入适当的控制字符。数据链路层还负责发送初始通道对齐序列(ILAS),它包含链路配置数据,接收机(Rx)利用它来验证传输层的设置。
物理层:
  物理层由以串行时钟速率运行的高速电路构成,包括串行化电路和高速驱动器。

2JESD204B_AXI介绍

2.1 AXI介绍

  AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。AXI 是AMBA 中一个新的高性能协议。AXI 技术丰富了现有的AMBA 标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。

2.2 JESD204B__AXI_Lite接口

  Xilinx的高速数据接口JESD204(7.2)是通过AXI-Lite总线接口配置的。打开IP核如下
在这里插入图片描述

2.3 AXI-Lite接口介绍

AXI4-Lite接口是AXI4接口的一个子集
AXI4-Lite特点:
1、所有的传输突发均为1。
2、所有数据访问的大小与数据总线的宽度相同。
3、支持32bit或64bit数据总线宽度。
4、所有访问等效于AWCACHE或ARCACHE等于b0000。
不支持独占访问。
AXI4-Lite不支持的信号
AWLEN,ARLEN
突发长度定义为长度1,等于AWLEN或
ARLEN等于零。

AWSIZE,ARSIZE
所有访问都定义为与数据总线的宽度相同。支持固定的32位或64位数据总线宽度。

AWBURST, ARBURST
突发类型没有意义,因为突发长度为1,因此所有的突发类型相同。

AWLOCK, ARLOCK
所有访问都定义为“普通访问”,等效于AWLOCK或 ARLOCK为b0。

AWCACHE , ARCACHE
所有访问等效于AWCACHE或 ARCACHE等于b0000。

WLAST, RLAST
所有突发长度为1,等价于WLAST, RLAST总是被断言。

RRESP, BRESP
RRESP、BRESP不支持EXOKAY响应通道。

2.4 AXI-Lite接口信号

在这里插入图片描述
全局信号:

ACLK全局时钟信号,所有的信号都在此上升沿采样
ARESETn全局复位信号,该信号低电平有效

写地址通道:

AWVALID写地址有效。表示有效的写地址和控制信息。1:地址可用、0:地址不可用
AWREADY接收地址准备。表明从机已经准备好接收地址信息。1:从机准备就绪、0:从机未准备就绪
AWADDR写地址。写地址总线给出写突发中第一次传输的地址。
AWPROT保护类型

写数据通道:

WVALID写有效。表明写数据有效。1:写数据可用、0:写数据不可用。
WREADY接收数据准备。1:从机准备就绪、0:从机为准备就绪、
WDATA[31:0],写数据。写数据总线的宽度可以为8、16、32、64、128、256、512或1024。
WSTRB[3:0],写数据选择。该信号指示存储器中更新的字节通道。WSTRB[n]对应选通WDATA[8×n]+7:(8×n)。

写响应通道:

BVALID写入响应有效。1:写响应可用、0:写响应不可用。
BREADY接收响应准备就绪。1:主机准备接收就绪、0:主机未准备接收就绪
BRESP[1:0]写响应。该信号指示写事务的状态。允许的响应为OKAY、EXOKAY、SLVERR、DECERR

读地址通道:

ARVALID读地址有效。1:读取地址有效、0:读地址无效
ARREADY读取地址准备就绪。1:从机地址准备就绪、0:从机地址未准备就绪。
ARADDR[31:0],读取地址。读取地址总线提供读取突发事务的初始地址
ARPROT保护类型

读数据通道:

RVALID读数据有效。1:读取数据可用、0:读取数据不可用
RREADY读取数据就绪。1:主机准备就绪、0:主机为准备就绪。
RDATA[31;0],读取数据。读取数据总线的宽度可以为8、16、32、64、128、256、512或1024。
RRESP读取响应。该信号指示读取传输的状态允许的响应为OKAY、EXOKAY、SLVERR、DECERR

OKAY、EXOKAY、SLVERR、DECERR:
在这里插入图片描述

2.5 AXI-Lite读写

读地址通道:
每个读事务都有自己的地址通道。适当的地址通道携带通信所需的所有地址和控制信息。AXI协议支持以下机制:
可变的突发长度,每个突发长度从1-16个数据。
(连续传输的周期数就是突发长度。)
突发传送的大小为8-1024bit

读取数据通道:
读取数据通道可同时传输读取数据和来自设备从设备到主设备的响应信息。
数据总线,可以是8、16、32、64、128、256、512或1024bit。
一个指示读取事务完成状态的读取响应
在这里插入图片描述
写地址通道:
每个写事务都有自己的地址通道。适当的地址通道携带通信所需的所有地址和控制信息。AXI协议支持以下机制:
可变的突发长度,每个突发长度从1-16个数据。
(连续传输的周期数就是突发长度。)
突发传送的大小为8-1024bit

写数据通道:
将写数据从主机传送到从机
数据总线,可以是8、16、32、64、128、256、512或1024bit。
每八个数据位的一个字节通道选通脉冲,指示数据总线的哪个字节有效。
写响应通道:
写通道响应为从设备提供了一种响应事务的方法。所有写事务使用完成信令。
完成信号对于每个脉冲串仅发生一次,而不是针对其中的每个单独的数据传输发生一次突变。
在这里插入图片描述

2.6 AXI-Lite握手过程

  所有五个通道都使用相同的VLAID/READY握手机制来传输和控制信息。这种双向流量控制机制使主机和从机都可以控制数据和信息的移动速率。主机,指示何时有数据或控制信息。从机,产生READY信号,以指示它接收数据或控制信息。传输仅当VALID和READY信号均为高时。
通道握手信号之间的依赖:
为避免出现死锁情况,您必须观察到两者之间存在的依赖关系。
握手信号。
在任何传输中:
●一个AXI组件的VALID信号不得取决于READY信号。
●READY信号可以等待VALID信号的断言。
读取握手依赖关系:

读取握手信号发起者说明
ARVALID读地址有效。1:读取地址有效、0:读地址无效
RVALID读数据有效。1:读取数据可用、0:读取数据不可用
ARREADY读取地址准备就绪。1:从机地址准备就绪、0:从机地址未准备就绪。
RREADY读取数据就绪。1:主机准备就绪、0:主机为准备就绪。

在这里插入图片描述
从机可以在声明ARREADY之前等待ARVALID声明
从设备必须等待ARVALID和ARREADY都被声明后才能开始
通过声明RVALID返回读取的数据。

写入握手依赖关系:

写入握手信号发起者说明
AWVALID写地址有效。表示有效的写地址和控制信息。1:地址可用、0:地址不可用
AWREADY接收地址准备。表明从机已经准备好接收地址信息。1:从机准备就绪、0:从机未准备就绪
WVALID写有效。表明写数据有效。1:写数据可用、0:写数据不可用。
WREADY接收数据准备。1:从机准备就绪、0:从机为准备就绪、
BVALID写入响应有效。1:写响应可用、0:写响应不可用。
BREADY接收响应准备就绪。1:主机准备接收就绪、0:主机未准备接收就绪

在这里插入图片描述
主机不得在等待从机断言AWREADY或WREADY之前断言AWVALID或WVALID
从机可以在声明AWREADY之前等待AWVALID或WVALID或两者
从机可以在声明WREADY之前等待AWVALID或WVALID或两者
从机必须在声明前等待WVALID和WREADY在BVALID断言之前声明。

握手方式:
VALID在READY之前:
在这里插入图片描述
主机放置数据或控制信号,并将VALID信号驱动为高电平。
来自主机的数据或控制信息保持稳定,直到目标驱动READY信号为高电平,表示它接受数据或控制信息,箭头显示何时开始传输。
在声明VALID之前,不允许等待READY声明。一旦VALID被
断言它必须保持断言直到握手发生。

READY在VALID之前:
在这里插入图片描述
目标驱动器在数据或控制信息被写入之前就驱动READY为高,这表明从机可以在一个接收器中接受数据或控制信息生效后立即循环。允许在声明相应的READY之前等待VALID声明。 如果声明了READY ,则允许在声明VALID之前取消声明READY 。

VALID和READY同时:
在这里插入图片描述
主机和从机恰好在同一周期内指示他们可以传输数据或控制信息。

2.7 AXI-Lite读写时序

AXI-Lite读:
在这里插入图片描述
地址出现在地址总线上后,数据传输将在读取的数据通道上进行。从机将VALID信号保持为低电平,直到读取数据可用为止。对于最终数据传输突发时,从机将RLAST信号置位,表明正在传输最后一个数据项。
AXI-Lite重叠突发读取:
在这里插入图片描述
显示了从机接收到第一个突发地址后,主机如何驱动另一个突发地址使得从机能够与第二个突发并行的开始处理第二个突发数据,一次完成传输。
AXI-Lite写:
在这里插入图片描述
当主机发送地址和和控制信息至写地址通道,然后主机发送每个数据至写数据通道。当主机发送最后一个数据项时,WLAST信号变为高。当从机接收了所有数据项后,它将写响应返回至主机表示写操作完成。

3.JESD204B_AXI配置

JESD204B IP核配置:
Page1
在这里插入图片描述
Page2
在这里插入图片描述
Page3
在这里插入图片描述
Page4
在这里插入图片描述
说明:
AXI4-Lite配置时钟: 默认为100MHz。对于ultrascale器件,频率范围为10MHz~200MHz,对于7系列器件,如果IP核的模式为“Include Shared Logic in example design” ,则频率范围为10MHz~200MHz;如果IP核的模式为“Include Shared Logic in core” ,则频率范围和Transceiver DRP时钟频率范围相同。
传输线速率: 6.25Gbps
ADC采样速率为2.5Gsps。
(2.5G×16bit×8/10B)/8Lane=6.25Gbps。
参考时钟: 156.25Mhz
6.25G/(32×8/10B)=156.25M
(单通道数据宽度为32bit,经过8/10B编码为40bit,6.25G/40=156.25M)
在这里插入图片描述
JESD204B 寄存器配置:
  用户在使用JESD204 IP核时需要通过AXI_Lite4协议对内部的寄存器进行配置,正确配置IP核的工作参数,以及在调试过程中读某些状态寄存器的参数,以便确定IP核的工作状态,寄存器详情查看文档pg066。
例如:
0X000: JESD204版本
在这里插入图片描述
0x00C:扰码开关在这里插入图片描述
0x020:F

0x024:K
在这里插入图片描述

3.1 JESD204B配置驱动示例_寄存器配置

方便调试,将AXI_Lite接口接入VIO调试。调试过程如下:
在这里插入图片描述
JESD_VIO_DEBUG:
  1:通过Vavido的VIO模式就可以对JESD204 IP进行配置。
  0:通过代码配置。
JESD_CMD
  1:读寄存器
  0:写寄存器
JESD_RESET
  1:复位
  0:取消复位
JESD_ADDR
  进行读写的地址。
JESD_RDATA
  读取JESD_ADDR地址的数据。
JESD_WDATA
  写入JESD_ADDR地址的数据。
JESD_CMD_EXE
  1:触发一次读写操作。
  0:默认为0,1时触发一次读写操作。
读写试例:
读寄存器0x000 版本号:
在这里插入图片描述
读寄存器0x038 锁定状态:
在这里插入图片描述
读写寄存器0x024 K值:
在这里插入图片描述

3.2 JESD204B AXI驱动波形

驱动波形:
AXI读
在这里插入图片描述
读地址:主机只有在驱动有效地址和控制时才能声明ARVALID信号 信息。在从机接受地址和控制信息之前,它必须保持置位状态并声明关联的ARREADY信号。
读数据:从机只有在驱动有效的读取数据时才能声明RVALID信号。RVALID必须 保持置位,直到主机接受数据并置位RREADY信号为止。
AXI写
在这里插入图片描述
写地址:主机只有在驱动有效地址和控制时才能声明AWVALID信号。从机接收地址和控制信号之前,它必须保持置位状态,直到AWREADY信号置位。
写数据:在写突发期间,主机只有在驱动有效写操作时才能声明WVALID信号数据。WVALID必须保持置位,直到从机接受写入数据并置位WREADY信号。
写响应:从机只有在驱动有效的写响应时才能声明BVALID信号。BVALID在主机接受写响应并声明BREADY之前,必须保持声明状态。
BREADY的默认值可以为高,但前提是主机始终可以接受写入在一个周期内做出响应。

3.3 JESD204B AXI驱动代码

邮箱:zm_zhao@qq.com
微信:Crazzy_M

4. JESD204B通道对齐

  1、JESD数据发送模块可将来自ADC的并行数据组合成数据帧,并使用8/10B编码以及可选数据加扰技术,输出串行数据。在初始链路的建立过程中,使用特殊字符可支持通道同步;而用于维持同步的额外数据则嵌入在随后的数据流中。

  2、在JESD204B的OSI模型中,我们主要注意数据链路层:数据链路层负责执行通过链路传送数据的低级功能,包括加扰数据(可选),处理链路上的字符、帧和通道的同步过程,将8位数据字编码为10位字符,以及在数据输出中插入适当的控制字符。数据链路层还负责发送初始通道对齐序列(ILAS),它包含链路配置数据,接收机(Rx)利用它来验证传输层的设置。
在这里插入图片描述

4.1JESD204B链路的建立、同步

以Subclass1为例,分为以下几步:代码组同步初始化通道对齐序列数据流
首先明白以下两点
1、JESD204B的控制字符:在这里插入图片描述
2、JESD204B的发送机和接收机
在FPGA对ADC进行数据采集时

TX: 发送机为ADC(以AD9625为例):
在这里插入图片描述
RX: 接收机为FPGA的JESD204B IP:
在这里插入图片描述

4.1.1 代码组同步(CGS)和SYNCIB±

  代码组同步是JESD204B接收机找到数据流中10位字符边界的过程。在代码组同步阶段,JESD204B传送模块传送/K28.5/字符(组同步字符)。接收机(外部逻辑器件)必须使用时钟和数据恢复技术(CDR),在输入数据流中定位/K28.5/字符。
同步过程如下:
在这里插入图片描述
对同步过程进行以下分解:

  1、 接收机JESD204B IP发出一个同步请求(可以理解为JESD204B IP核通过rx_sync端口输出一个同步请求输入至ADC的ADC_SYNCIN端口)。
在这里插入图片描述

   2、发送端接收到同步请求后 发送端( ADC )TX 开始发送/K28.5/字符,直到下一个LMFC边界。
在这里插入图片描述
  3、当接收机(JESD IP核) RX已经同步时,它便等待接收机至少正确接收连续的4个/K28.5/字符,然后停用SYNCINB±(下图过程①)。ADC接着在下一个LMFC(下图竖线)边界发送一个初始化通道对齐序列(ILAS)(下图过程②)。
在这里插入图片描述

4.1.2 初始化通道对齐序列(ILAS)

  CGS阶段之后是ILAS阶段,它在下一个LMFC边界(下图竖线)开始。ILAS由4个多帧组成,/R/字符表示开始,/A/字符表示结束。如下图所示(多帧中未定义数据时隙都用斜坡数据填充)
在这里插入图片描述
第一个多帧:从/R/(K28.0)字符开始,然后发送一个多帧的0-255的递增数据,以/A/(K28.3)结束。

第二个多帧:从/R/(K28.0)字符开始,后接/Q/(K28.4)字符,然后是14个配置8位字的链路配置参数,以/A/(K28.3)结束。

第三个多帧:与多帧1相同。

第四个多帧:与多帧1相同。

确定性延迟:

  初始通道同步在用户有效数据开始之前执行。在明确定义的时间点。所有发射器都会发出专用通道对齐字符/A/=/K28.3/。由于不同通道的存在延迟,接收器可能在不同的时间接收到这些字符。在接收到数据后,每个接收器将后续数据存储在缓冲存储器中,并向其他接收器指示一个就绪标志,指示缓冲器包含一个有效的对准起始点。当所有的接收器都已经指示“对准接收”标志时,它们开始在相同的时间点将接收到的数据传播到后续的数据处理单元,其中同步是基于一个公共的信号“start”。 JESD204B允许主接收器中接收到对准字符后的指定时间进行这种对准过程,如果其他接收器同时在它们自己的缓冲器中没有找到对准字符,则发出错误信号。

  许多JESD204系统包含分布在不同时钟域的各种数据处理元件,并导致通过接口的模糊延迟。这些模糊性会导致从加电到加电或重新建立链路的链路上出现不可重复的延迟。JESD204B为此提供了两种可能的机制,定义为子类1和子类2操作。链路的确定性延迟定义为从发送设备上基于并行帧的数据输入到接收设备上基于并行帧的数据输出,均在帧时钟域内测量。如果辅助时序信号满足器件输入端的要求,则链路上的延迟应以至少与帧时钟周期一样小的单位进行编程,并且在上电周期之间以及在链路重新同步事件之间是可重复的。

跨链路的确定性延迟的实现涉及两个要求:
① 在发射设备中:必须在明确定义的时间点跨所有通道同时启动ILA生成。(这也确保了ILA之后的用户数据在明确定义的时间跨所有通道同时启动)。发射设备中ILA生成(以及用户数据生成)的“明确定义的时间点”是检测到同步上升沿后的第一个LMFC边界。虽然发送设备必须能够在检测到同步上升沿后在第一个LMFC边界上产生ILA,但设备也可以支持可编程数量的附加LMFC边界,以便在开始ILA序列之前等待。

② 在接收设备中:每个通道上的输入数据必须进行缓冲,以解决发送串行数据传输通道、物理通道和接收串行数据传输通道之间的偏斜。接收缓冲区必须在一个明确定义的时间点跨所有通道同时释放(即允许数据传播)。接收缓冲释放的“明确定义的时间点”是LMFC边界后可编程的帧周期数。这个可编程的帧周期数称为接收缓冲延迟(RBD)。

  当接收设备在所有通道上实现代码组同步后,它会在任何后续的LMFC上升沿取消同步输出。此后不久,发射设备对该去激活的同步信号进行采样,并在随后的LMFC上升沿开始传输ILA序列。然后,接收设备将检测所有通道上ILA序列的开始,并将该数据馈送到每个通道的弹性存储缓冲器中。在下一个LMFC上升沿,接收设备将检测到所有通道上存在有效的ILA数据,并将释放所有弹性存储缓冲区。从接收设备输出的结果数据与JESD204B链路上1个多帧的固定延迟对齐。如下图所示:

在这里插入图片描述
同步:是指JESD204B的每根线的数据同步。即需要调整到每根线同时发送同一多帧中的同一帧的第一个数据。
上图描述了发送设备和接收设备的确定性延迟推出(代码组同步和初始化通道序列阶段)。
①:发送设备。
②:接受设备。
③:最早到达的通道。
④:最晚到达的通道。
⑤:所有通道对齐输出。
⑥:最晚到达通道的2字符弹性缓冲延迟。
⑦:最早到达通道的6字符弹性缓冲延迟。
⑧:从发射ILA输出到接收ILA输出的确定性延迟。

为了实现确定性延迟协议的适当性能:
系统实施者必须遵守以下要求:多帧的长度必须大于任何链路上的最大可能延迟。
帧周期的值必须大于任何链路上的最大可能延迟。
RBD值必须在1和K之间。
上述3个要求的目的是确保RBD足够大,以保证发送数据在接收弹性缓冲区释放之前到达所有通道的接收缓冲区。

SYSREF±
在这里插入图片描述
Subclass1器件,利用SYSREF±输入信号实现多芯片同步和确定性延迟,用于校准JESD204B子类1设备中的本地时钟边界。SYSREF必须与器件时钟源同步。SYSREF的目的是识别器件时钟边沿,该边沿应用于对齐内部LMFC和帧时钟的相位,设备可以检查每个SYSREF脉冲,以确定LMFC和帧时钟的现有相位对齐是否需要调整。
在这里插入图片描述

SYSREF周期计算方式:
SYSREF_Periods = F × K × REFCLK_Periods.
F:每帧8位位组的数量。
K:多帧数据的帧数。
REFCLK_Periods:通道参考时钟。
本项目采用配置F=1、K=32,、REFCLK_Freq=156.25MHz。
则 SYSREF_Freq = 156.26M/(32×1)= 4.8828125MHz。

完成初始通道对齐序列之后便发送用户数据。

4.1.3 数据流

  完成初始通道对齐序列之后便发送用户数据,在普通的一帧中,所有字符都是用户数据、然而,为了监控帧时钟和多帧时钟同步,当数据符合某些条件时,有一个机制来将字符替换为/F/(帧对齐)或/A/(通道对齐)对齐字符。

列出字符方便下面的理解:
在这里插入图片描述
通道线性监控和校正
  初始帧和通道对齐后,通道切换到对齐监控模式。通道对齐通过/A/= /K28.3/字符进行监控,这些字符由发射器在多帧结束时的特定条件下插入。
  对于加扰数据,帧末尾的任何0xFC(D28.7)字符都用/F/(K28.7)替换,多帧末尾的任何0x7C(D28.3)字符都用/A/(K28.3)代替。如果通道至少有一侧不支持通道同步,当接收到/K28.7/符号时,接收器应向解扰器输入D28.7。验证其仅出现在预期的位置,如果发现意外的/F/或/A/字符,接收器通过使用动态对齐处理这种情况,或激活四帧以上的SYNCINB±来启动重新同步。

Data Byte NameBitsCurrent RD–Current RD+
D28.7111 11100001110 1110001110 0001
K28.7111 11100001111 1000110000 0111
D28.3011 11100001110 1100001110 0011
K28.3011 11100001111 0011110000 1100

  对于未加扰的数据,如果两个连续帧的最后字符相同,则第二个字符将被替换为/F/(若它位于一个帧的末尾)或/A/(如果它位于一个多帧的末尾)。如果通道的至少一侧不支持通道同步,接收到/K28.7/符号后,接收器应将其替换为在前一帧中相同位置解码的数据八位字节的值。

注意:注4启用加扰后,平均256帧中有一帧将以对齐字符结束。在没有加扰的情况下,对齐字符的频率取决于采样数据和样本到帧的映射。大多数实际信号会映射到帧尾的随机或准随机八位字节,并生成频率约为每256帧一个的对齐字符。

一般来说,不是所有的通道都会同时传输通道对齐/A/信号。然而,每个接收机可以根据本地定时基准分别检查模数转换器的到达,并在校准中进行必要的校正。

5. AD9625调试注意事项

测试模式可以按照下图以及下图寄存器的配置执行:
在这里插入图片描述

5.1对接AD9625导致SYNC无法拉高或者间接性拉高原因

1、两边模式配置不一样。
检查AD9625与FPGA的JESD204B的配置模式是否匹配。
在这里插入图片描述
2、AD9625写完寄存器没更新。
查看手册:
在这里插入图片描述
  AD9625的寄存器地址被屏蔽。寄存器写入不影响器件操作,直到通过将0x01写入地址0x0FF发出传输命令,从而设置传输位。 这允许寄存器在传输位置位时内部同时更新。当传输位被置位时,内部更新发生,然后该位自动清零。

3、检查复位,先对ADC进行复位再对IP核进行复位,尽量避免异步复位,做好做到异步复位同步释放。

5.2 AD9625数据提取

官方给的数据产生图:
在这里插入图片描述
256 bit数据详述:
256bit数据按照以下方式表示,8行就是8Lane数据,数据从高到低位(D256-D0)如下所示:
在这里插入图片描述
8Lane数据里包含了16个采样点,每个采样点里有12bit有效数据。
在这里插入图片描述
从下面的16个采样点里均提取12bit有效数据即得到采集的有效值。
(括号了的数值代表D256-D0)。
SAMPLE0:
在这里插入图片描述
12bit数据解析(剩余的SMAPLE类似):在这里插入图片描述

SAMPLE1:
在这里插入图片描述
SAMPLE2:
在这里插入图片描述
SAMPLE3:
在这里插入图片描述
SAMPLE4:
在这里插入图片描述
SAMPLE5:
在这里插入图片描述
SAMPLE6:
在这里插入图片描述
SAMPLE7:
在这里插入图片描述
SAMPLE8:
在这里插入图片描述
SAMPLE9:
在这里插入图片描述
SAMPLE10:
在这里插入图片描述
SAMPLE11:
在这里插入图片描述
SAMPLE12:
在这里插入图片描述
SAMPLE13:
在这里插入图片描述
SAMPLE14:
在这里插入图片描述
SAMPLE15:
在这里插入图片描述
为什么会有16个SAMPLE,有什么用怎么得到最终结果?

观察下面SMPLE0的波形为正弦波(AD端施加的事正弦信号),其实SMPLE0-SMPLE15是看起来几乎一样的波形,因为设备有限,之前截图直截了一个,现在没有信号源…凑合看。
在这里插入图片描述
为什么16个SAMPLE是相同的波形,解释如下图,AD端我们施加一个正弦信号,图中四种颜色的点代表4个SAMPLE,所以每个SAMPLE波形都是看着一样的,其实相邻的SAMPLE是正弦信号上相邻的采样点,可以说每个SAMPLE都表示AD输入端信号的轮廓,最终将16个SAMPLE合成一个信号将会变成比SAMPLE信号密集16倍的最终信号。
在这里插入图片描述

5.3 FPGA JESD204B配置156.25M时钟为什么能采集2.5GSPS的AD数据

JESD204B参考时钟为156.25MHz。
在这里插入图片描述
采集通道Lane=8
在这里插入图片描述
8Lane在一个参考时钟出16个采样点。
在这里插入图片描述
采集速率:16×156.25=2500M=2.5G。

速率匹配:
AD端: 采样速率为2.5GSPS,即一秒有2500个采样点,每个采样点为16bit,经过8/10b编码为20bit,则数据位速率为:2.5G×20=50Gbit/s。
单Lane线速率:50G/8=6.25Gbps。

FPGA端: JESD204B接收端参考时钟为156.25Mhz,8Lane,每Lane的数据位宽为32bit,经过8/10B编码为40bit,则数据位速率为:156.25M×8×40=50Gbit/s。
单Lane线速率:50G/8=6.25Gbps。

5.4 AD9625配置代码

AD9625配置测试模式实例:
测试模式寄存器为0x00D:
在这里插入图片描述
1、000Dh寄存器中写入00FF将AD模式改为测试模式
在这里插入图片描述
2、00FFh寄存器中写入0001更新寄存器,查看波形
在这里插入图片描述

JESD204B AXI驱动代码:

AD9625 SPI驱动代码、

LMK04828B时钟芯片驱动代码、

CDCM6208时钟芯片驱动代码、

邮箱:zm_zhao@qq.com
微信:Crazzy_M

5.5 调试结果

在这里插入图片描述

写的有点匆忙。
★★★如有错误欢迎指导!!!

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数字硬鉴

你的鼓励就是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值