基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx

上传人:b****3 文档编号:3944691 上传时间:2023-05-06 格式:DOCX 页数:22 大小:1.78MB
下载 相关 举报
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第1页
第1页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第2页
第2页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第3页
第3页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第4页
第4页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第5页
第5页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第6页
第6页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第7页
第7页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第8页
第8页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第9页
第9页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第10页
第10页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第11页
第11页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第12页
第12页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第13页
第13页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第14页
第14页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第15页
第15页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第16页
第16页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第17页
第17页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第18页
第18页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第19页
第19页 / 共22页
基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx

《基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx》由会员分享,可在线阅读,更多相关《基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx(22页珍藏版)》请在冰点文库上搜索。

基于Xilinx FPFA JESD204B高速接口技术实现与实践.docx

基于XilinxFPFAJESD204B高速接口技术实现与实践

基于XilinxFPFAJESD204B高速接口技术总结

1.JESD204B协议简介

JESD204系列标准是一个定义转换器(一般为ADC或DAC)与所连接器件(一般为FPGA或ASIC)之间数GB级串行数据链路的国际性通用标准,是针对更高速转换器不断增长的带宽需求而开发。

JESD204B是第三代标准,其单位通道速度最高可达12.5Gbps,它使用帧数据打包方式,并添加对齐字符及嵌入式时钟,建立串行数字链路,并支持确定性延迟。

标准中的关键模块及传输关系如图1所示。

数据传输总共划分为应用层、传输层(可选加扰层)、数据链路层和物理层。

图1JESD204B标准传输关系

1.1术语定义

DID:

设备(链路)识别号;

BID:

bankID;

LID:

每条链路中的各个通道的通道ID;

M:

转换器的个数,即AD/DA的格式;

L:

每条链路(转换器)对应的通道数;

K:

每个多帧的帧数;

F:

每帧中8位字节的数量;

N:

转换器的分辨率;

CS:

每个样本中的控制bit位数;

CF:

每条链路每帧周期的控制字数;

N’:

每个转换器样本转化到JESD204B接口发射的位数(包括控制位在内);

S:

每个转换器每帧发送的样本数;

HD:

高密度用户格式(0或1);

JESDV:

JESD204版本(000:

JESD204A;001:

JESD204B);

SUBCLASS:

设备子类版本(000:

子类0;001:

子类1;010:

子类2);

1.2传输层设计

传输层是JESD204B标准接口电路实现的首要步骤,是收发设备的第一个部分。

传输层针对4种主要映射执行转换样本与帧传输、非加扰8位字节之间的映射。

发射端旨在把多位样本数据转换成一系列非扰码的8位字节。

接收端旨在按照发射端的逆过程还原有效数据,给定4种转换机制如下:

1:

单个转换器至单通道链路;

2:

单个转换器至多通道链路;

3:

同一器件内的多个转换器至单通道链路;

4:

同一器件内的多个转换器至多通道链路;

JESD204B标准定义转换器的一个或多个样本数据为一帧数据,每帧数据中的8位字节个数必须为整数。

将转换器输出的多位并行数据进行一定形式的排列组合或添加,使其满足JESD204B标准对数据打包形式的要求。

如果用户有效转换器数据中需添加相关标记符或者转换器输出数据位数不能够刚好被8整除,则需补全8位字节中的空缺位,可通过添加控制字节和尾字节实现。

传输层的设计主要取决于所采用的AD或DA器件。

对于选定的AD/DA器件的既定模式,其传输层的AD/DA样本与链路通道上的数据映射关系是确定的,在FPGA实际工程应用时,只需设计成与其匹配即可。

1.3加扰层设计

当相同的字节连续传输时,其字节之间的相关性会对数据传输的正确性产生不好的影响,即:

在模拟域会产生相关杂散频谱。

杂散频谱会导致一定程度上的电磁干扰现象,极有可能产生数据误码,从而影响整个数据链路的传输正确性。

加扰模块为可选模块,通过对8位字节进行加扰/解扰,来扩展频谱尖峰,以减少EMI效应。

1.4数据链路层设计

数据链路层为JESD204B协议中比较关键的一层,该层对8bit字节进行8b/10b编解码,生成并检测特殊控制符,用以实现通道对准监控和维护。

JESD204B标准定义系统同步信号SYNC和SYSREF。

数据链路的确立分为三部:

1.代码组同步(CGS),2.初始通道同步(ILAS),3.用户数据传输。

在详细描述之前,需知道以下两点:

aJESD204B定义每帧数据传输的时间周期为帧时钟周期;并根据数据传输需要,将一定数量的帧数据定义为一个多帧数据,其周期为多帧时钟周期。

bJESD204B支持确定性延迟,并规定了三种器件子类:

器件子类0——不支持确定性延迟;

器件子类1——使用SYSREF的确定性延迟(高于500Msps);

器件子类2——使用SYNC~的确定性延迟(最高500Msps);

1.4.1代码组同步

下面以发射机单个ADC器件N个通道(即传输层设计章节中第2中转换机制)的情况分析代码组同步过程。

1.接收机通过同步接口发出一个同步请求(拉低sync信号)。

2.发射机在每个通道发射一系列连续的标志符/K/=/K28.5/

3.在此阶段,每个接收通道必须使用时钟和数据恢复(CDR)技术在其输入数据流内定位/K/=/k28.5/字符。

至少正确接收到4个连续的标志符/K/=/K28.5/。

4.一旦已在所有通道上检测到特定数目的连续/K/=/K28.5/字符,接收机将信号SYNC拉高,送到发射机。

5.JESD204B中,发射机模块捕捉SYNC信号的变化,一旦监测到上升沿,会在在下一个多帧时钟周期(子类1或子类2)或帧周期(子类0)的上升沿开始发送初始通道同步序列(ILAS)。

至此,接收机完成了代码组同步的操作。

子类1(或子类2)与子类0两者区别仅在于发射端接收到SYNC信号之后,是根据帧时钟还是多帧时钟进行初始通道同步操作。

1.4.2初始化通道同步

系统进行初始化通道同步操作期间,数据链路层负责链路中的所有通道链路参数,并进行验证,ILAS初始化通道同步序列具体实现形式如下:

1.ILAS期间,链路参数以特定的形式被发送到接收机中。

2.ILAS序列包含4个或4个以上多帧(根据AD/DA器件需要,一般是发送4个多帧)。

每个多帧的最后一个8位并行数据是多帧对准字符/A/=/K28.3/。

3.第一、第三和第四个多帧均以特殊控制符/R/=/K28.开头,以特殊控制符/A/=/K28.3/结尾。

中间的数据为斜坡数据。

接收机使用每个通道的最后一个殊控制符/A/=/K28.3/来对准接收机内的多帧的末尾。

4.第二个多帧包含特殊控制符/R/=/K28.0/和/Q/=/K28.4/,/R/=/K28.0/是多帧帧头,而/Q/=/K28.4/是该多帧的第3个8位并行字节,从该多帧的第3

个8位并行字节开始,传输链路的配置参数,如表2所示,其中FCHK为校验和段。

5.ILAS序列最后一个多帧的最后一个特殊控制符/A/=/K28.3/后,用户数据开始传输。

6.在不需要通道间偏斜管理的系统中,可旁路ILAS,只要发射机和接收机支持该模式。

初始化通道同步操作在用户有效载荷数据开始传输前,进行实施。

初始化通道同步进程满足一些特殊标准的规则。

根据现在已经定义好的规范,所有发射机发送专用的通道对齐符/A/=/K28.3/。

因为不同通道延迟不同,所以,各个通道接收机接收到这些对齐符的时间是不同的。

当接收机接收到特殊控制符/A/=/K28.

3/时,每个接收机用缓存器存储随后的数据,并向其他接收机发出一个应答信号,表明该通道的接收机已接收到有效的对齐符。

当所有通道接收机都发出这个应答信号后,所有接收机开始传播后续的有效数据并进行处理,初始通道对齐操作是基于这个应答信号完成的。

表1链路配置参数在ILAS序列中的8位字节映射表

序号

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

0

DID[7:

0]

1

BID[3:

0]

2

LID[4:

0]

3

SCR

L[4:

0]-1

4

F[7:

0]-1

5

K[4:

0]

6

M[7:

0]-1

7

CS[1:

0]

N[4:

0]-1

8

SUBCLASS[2:

0]

N’[4:

0]-1

9

JESDV[2:

0]

S[4:

0]-1

10

HD

CF[4:

0]

11

保留

12

保留

13

FCHK[7:

0]

1.4.3链路同步流程

对于不同的器件子类,对应的链路层同步流程分别如图2和图3所示。

图2JESD204B中子类0的同步过程

图3JESD204B中子类1或子类2的同步过程

完成以上同步过程(代码组同步和初始通道同步)后,即可开始正常的数据传输过程。

1.5物理层设计

负责在线路速率下发射或接收字符。

主要包括串行器,解串器,驱动器,接收机,时钟和数据恢复。

2.XilinxJESD204BIP核介绍

XilinxJESD204BIP核包含JESD204B数据链路层(包括加扰层)和物理层处理过程,传输层需由用户自行设计(具体样本的映射参照与之相连的AD/DA器件所采取的映射方式)。

JESD204BIP核支持以下特色:

1)单核最高支持8个通道(Lane),使用多核最高支持高达32个通道;

2)支持初始通道同步(ILA);

3)支持扰码;

4)可配为发送或接收核,支持发送核与接收核共享JESD204BPHY(物理层);

5)支持子类0、子类1和子类2;

6)支持单通道线速率1~12.5Gbit/s(具体速率与FPGA器件有关);

7)每帧支持1~256个字节;

8)每个多帧支持1~32个帧

图4和图5分别为JESD204Bip核发射和接收的原理框图。

图4JESD204Bip核-发射原理框图

图5JESD204Bip核-接收原理框图

AXI-Stream接口为用户接口,用于发送或接收样本数据。

AXI-Lite为控制总线,用于配置相应的寄存器,从而配置相应链路信息(此处的链路信息包含表1中所列的信息,必须与相连的AD或DA器件的链路信息相匹配,否则不能正确的完成初始链路同步)。

JESD204SerialData为串行数据接口,单个IP核最高支持8个通道(Lane)。

SYSREF和SYNC为同步信号。

其中SYNC信号由接收机发送给发射机。

SYSREF信号由外部提供,并分配到系统中的所有设备(FPGA和所有所连的AD或DA转换器)。

接下来对IP核使用过程中一些较为重要的概念做一些简要的说明

2.1时钟

SerialLineRate:

串行线速率,表示单个通道的线速率。

对于不同的器件不同的速度等级,支持的线速率范围不一样,大致范围为1~12.5Gbit/s。

在大部分情况下,线速率都是由与之相连的ADC/DAC器件的线速率决定的(ADC/DAC器件会提供相应线速率的计算方法,与采样率、采样分辨率、转换器的个数和采用的通道数相关)。

Coreclock:

核时钟,JESD204B核总是使用32bit(4Byte)位宽,核时钟总是等于串行线速率/40(这是由于内部有一个8b/10b编码器,32bit数据会转换成40bit数据,时钟为LineRate/40,单通道总的数据速率为40bit*(LineRate/40)=LineRate);例如线速率为6.25Gbs,那么核时钟为156.25MHz,也是AXI-stream数据接口的处理时钟。

ReferenceClock:

参考时钟。

JESD204B_PHY内的GTP/GTX/GTH/GTY串行收发器需要一个稳定的、低抖动的参考时钟,用以产生线速率。

参考时钟频率的选择取决于线速率和GTP/GTX/GTH/GTY所用锁相环(CPLL/QPLL)的频率因子。

一般选定了线速率之后,IP核配置界面会出现可选的参考时钟频率。

需注意一点:

参考时钟必须与核时钟共源。

AXI4-LiteInterfaceClock:

AXI控制接口时钟,与参考时钟和核时钟可以完全独立。

glblclk_p/glblclk_n:

差分核时钟输入。

转化成单端后即为核时钟。

2.2AXI_stream数据接口时序

AXI-stream数据接口时序如图6所示。

图中通道数Lane=4。

相应的AXI-Stream接口总线位宽为32*Lane–1;tx_tdata[31:

0]对应Lane0,tx_tdata[63:

32]对应Lane1,tx_tdata[95:

64]对应Lane2,tx_tdata[127:

96]对应Lane3,且低字节先传。

图6AXI-stream数据接口时序

2.3SYSREF信号

SYSREF信号在子类1的链路同步中非常重要。

依靠SYSREF信号可以确定“确定性延迟”。

图7给出了相应的示意图。

图7确定性时延

SYSREF信号被分配到系统中的所有设备,是主要的时序参考。

SYSREF可以是单脉冲、可以使是周期性信号,也可以是间歇性的。

为了获取准确的确定性延迟,SYSREF信号必须被核时钟采样(可以在界面上配置是在核时钟上升沿还是下降沿采样);如果是SYSREF是周期信号,那么必须满足SYSREF信号是4字节周期的整数倍,同时需满足是多帧周期的整数倍。

通常情况下,SYSREF信号是核时钟的分频时钟,且默认在核时钟的下降沿对SYSREF信号信号进行采样,以更好的满足时序要求。

确定性延迟的计算:

一旦检测到SYSREF信号,JESD294B接收机将会调整内部LMFC,并拉高SYNC。

当发射机采样到SYNC信号拉高时,会等待下一个LMFC到来,发送ILA序列。

当接收机监测到链路的所有通道都有有效数据时,将缓存数据,直到下一个LMFC到来,然后释放缓存,并发送至用户接口。

注意:

如果Rxcore未检测到SYSREF信号,将不会拉高SYNC信号。

如果Txcore未检测到SYSREF信号,将不会开始发送ILA。

如果采用单脉冲SYSREF信号需要特别注意这一点。

更加详细的关于JESD204BIP核的资料见xilinxpg066和pg198用户手册。

3.设计关键点

在实际工程应用过程中,时钟电路的设计至关重要。

对于JESD204BIP核而言,有两个重要的时钟输入。

Refclk(P/N):

收发器参考时钟(走GTX专用时钟管脚,必选);

Gloclk(P/N):

核时钟(走专用时钟管脚,可选);

仅当参考时钟等于核时钟,且参考时钟在可用作核时钟的频率范围内时,参考时钟可当做核时钟,Gloclk(P/N)不用选。

对于不同器件,参考时钟在可用作核时钟的频率范围内不一样,表2给出了7系列的一个频率范围。

图8和图9分别给出了不同的时钟电路参考方案。

图8采用分开的参考时钟和核时钟,提供给FPGA两个时钟;图9利用参考时钟作为核时钟,提供给FPGA仅一个时钟输入。

 

表2xilinx7系列芯片的频率范围

图8分开的参考时钟和核时钟

图9参考时钟用于核时钟

4.例子工程

这里以一个简单的例子(FPGAJESD204BTX+DACJESD204BRX)实现JESD204B协议。

4.1平台

硬件平台:

XilinxKC705开发板+AD9136FMCdemo板

软件平台:

vivado2015.5+ACE软件(ADI开发板配到的应用软件)

参考资料:

KC705开发板原理图;AD9136FMCdemo板原理图;ACE软件操作手册;AD9136用户手册资料。

XilinxKC705开发板与AD9136FMCdemo板通过FMCHPC连接器相连。

4.2参数计算

AD9136为双通道、16位高动态范围的数模转换器(DAC),提供最高达2800Msps的采样速率。

由于KC706开发板仅仅连接了4对GTX,且连到了AD9136芯片的SerdersIn7~SerdersIn4上,所以AD9136芯片选择双链路、工作在模式8下,相应的链路参数如表3所示。

AD9136的配置由ADI自带的ACE软件进行配置。

表3AD9136模式配置

这里,DAC采样率定为1.2Gbps,每个样本的位宽为16bit(经过8bit/10bit译码前,为20bit),每个DAC样本对应的通道数为4。

那么线速率的计算方法为:

Lanerate=1.2*10^6(采样速率)*20(位宽)/4(通道数)=6Gbit/s

Coreclk=Lanerate/40=150Mbit/s

Frameclk=Lanerate/(F*10)=600Mbit/s

MultiFrameclk=Frameclk/K=Frameclk/32=18.75Mbit/s

这选用Refclk(P/N)=150Mbit/s=Coreclk,且位于表2所在的频率范围内,所以可以只提供给FPGA一个参考时钟。

时钟结构如图9所示。

测试工程中SYSREF采用周期性时钟,为了更好的满足时序要求,SYSREF与Refclk同源,且是Refclk的8分频,正好满足多帧周期(MultiFrameclk)的整数倍(1倍),能实现确定性延迟。

4.3FPGA工程

FPGA工程流程如下:

1).建立工程

2).定制JESD204BIP核,界面配置如图10-1,10-2,10-3,10-4所示。

图10-1中配置JESD204BIP核为发送核,每条链路通道数为4,AXI-lite时钟为100MHz,在下降沿对SYSREF信号进行采样,由于所选时钟结构如图9所示,所以用全局时钟驱动JEAD204B核时钟选项不需要选中。

图10-1

图10-2中选择在例子中共享JESD204BPHY逻辑。

也可以选择在IPcore中包含JESD204BPHY逻辑。

如果选择在例子中共享JESD204BPHY逻辑,那么需要在IP核外面添加JESD204B_PHYIP核。

图10-2

图10-3中配置链路层参数。

其中SCR、F、M这三个参数需要与DA器件配置一致

图10-3

根据计算好的参数值,设置PHY层参数

图10-4

3).定制JESD204BPHYIP核,如图11所示,需与JESD204BIP核配置的参数保持一致。

图11JESD204BPHYIP配置

4).编写传输层代码

这里产生一个18.75MHz的单载波用于测试,详细的代码设计见工程。

具体的传输层样本映射关系与AD9136模式8保持一致,如图12所示。

图12AD9136芯片模式8样本映射

5).建立microblazer最小系统,如图13所示,以便于对JESD204BIPAXI-Lite总线进行控制。

图13microblazer最小系统

6).完成整体工程,编译、实现、生成bit流,导入硬件平台到SDK。

7).编写JESD204B驱动程序,以配置JESD204B链路层信息。

详细的驱动信息见工程文件jesd204_tx_driver.c和jesd204_tx_driver.h

8).编译,下载工程到开发板中测试。

4.4调试

1)利用ADI自带的ACE软件配置AD936demo板,如图14所示。

可见JESDPLL已经锁定,但未完成代码组同步、未完成帧同步、未完成校验和检验、未完成初始通道同步。

图14ACE初始配置界面

2)运行程序,完成JESD204BIP的配置后,ACE界面如图15所示。

图15-1可见JESDPLL已经锁定,但已经完成代码组同步、帧同步、校验和检验、和初始通道同步。

图15-1ACE-板级界面

图15-2ACE-芯片级界面

3)用逻辑分析仪捕获FPGA内部信号,如图16所示。

从图中可以看到在tx_sync0拉高之前,gt0_txdata[31:

0]、gt1_txdata[31:

0]、gt2_txdata[31:

0]、gt3_txdata[31:

0]一直都发送bcbcbcbc,对应的txcharisk[3:

0]为1,表示该字符为/K28.5/。

在检测到tx_sync0为高电平之后,发射机会发送4个多帧信号(即ILA),此后ready信号会拉高,发送用户数据。

图16逻辑分析仪捕获FPGA内部信号

4)用频谱仪和示波器测试AD9136输出端,测试结果如图17和图18所示。

图17示波器测试结果

图18频谱仪测试结果

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2