logo资料库

GTX光纤通信测试例程.pdf

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
1 实验简介
2 实验原理
2.1 GTX 介绍
2.2 硬件介绍
3 程序设计
3.1 4 路 SFP 光纤模块通信测试程序
3.2 QSFP 与 4 路SFP 通信测试程序
4 GTX 的眼图测试现象
4.1 4 路 SFP 眼图测试现象
4.2 QSFP 与 4 路 SFP眼图测试现象
芯驿电子科技(上海)有限公司 芯驿电子科技(上海)有限公司 021-67676997 www.alinx.cn www.heijin.org GTX 光纤通信测试例程 光纤通信测试例程 黑金动力社区 2018-08-13 黑金动力社区 黑金动力社区 黑金动力社区 1 实验简介 Xilinx 的 Kintex-7 系列 FPGA FPGA 集成了 GTX 串行高速收发器,可以实现高速串行数据通信。在 串行高速收发器,可以实现高速串行数据通信。在 AX7325 开发板上,FPGA 的 GT GTX 其中的 8 个收发器通道中 4 路连接到 4 路 SFP SFP 光模块接口, 另外 4 路连接到 QSFP 光模块接口, 光模块接口,用户只需要另外购买 SPF 的光模块就可以实现光纤的数据传输。本 的光模块就可以实现光纤的数据传输。本 实验将介绍通过光纤连接实现光模块之间的数据收发和眼图的测试 将介绍通过光纤连接实现光模块之间的数据收发和眼图的测试。 2 实验原理 2.1 GTX 介绍 AX7325 的 FPGA 芯片(XC7K325TFFG900 XC7K325TFFG900)自带 16 路高速 GTX 串行高速收发器通道, 串行高速收发器通道, 每通道的 收发速度为高达 12.5 Gb/s。GTX GTX 收发器支持不同的串行传输接口或协议,比如 收发器支持不同的串行传输接口或协议,比如 PCIE 1.1/2.0/3.0 接 口、万兆网 XUAI 接口、OC-48 48、串行 RapidIO 接口、 SATA(Serial ATA) 接口、 接口、数字分量串行接口 (SDI)等等。 Xilinx 以 Quad 来对串行高速收发器进行分组,四个串行高速收发器和一个 来对串行高速收发器进行分组,四个串行高速收发器和一个 COMMOM(QPLL) 来对串行高速收发器进行分组,四个串行高速收发器和一个 组成一个 Quad,每一个串行高速收发器称为一个 ,每一个串行高速收发器称为一个 Channel(通道),下图为 通道),下图为 16 路 GTX 收发器在 Kintex-7 FPGA 芯片中的示意图: 芯片中的示意图: 黑金 FPGA 版权所有 1 / 33
www.heijin.org GTX 的具体内部逻辑框图如下所示,它由 的具体内部逻辑框图如下所示,它由 4 个如下图的四个收发器通道 四个收发器通道 GTXE2_CHANNEL 和 一个 GTXE2_COMMON 组成。每路 组成。每路 GTXE2_CHANNEL 包含发送电路 TX 和接收电路 和接收电路 RX。 黑金动力社区 2 / 33
www.heijin.org 每个 GTXE2_CHANNEL 的逻辑电路如下图所示: 的逻辑电路如下图所示: 黑金动力社区 3 / 33
www.heijin.org GTXE2_CHANNEL 的发送端和接收端功能是独立的,均由 的发送端和接收端功能是独立的,均由 PMA(Physical Media Attachment PMA(Physical Media Attachment,物 理媒介适配层)和 PCS(Physical Coding Sublayer PCS(Physical Coding Sublayer,物理编码子层)两个子层组成。其中 两个子层组成。其中 PMA 子层包含 高速串并转换(Serdes)、预/后加重、接收均衡、时钟发生器及时钟恢复等电路。 后加重、接收均衡、时钟发生器及时钟恢复等电路。PCS 子层包含 后加重、接收均衡、时钟发生器及时钟恢复等电路。 8B/10B 编解码、缓冲区、通道绑定和时钟修正等电路。 编解码、缓冲区、通道绑定和时钟修正等电路。 GTX 发送和接收处理流程: 发送和接收处理流程: 首先用户逻辑数据经过 8B/10B 8B/10B 编码后,进入一个发送缓存区(Phase Adjust FIFO Phase Adjust FIFO),该缓冲 区主要是 PMA 子层和 PCS 子层两个时钟域的时钟隔离,解决两者时钟速率匹配和相位差异的问题, 子层两个时钟域的时钟隔离,解决两者时钟速率匹配和相位差异的问题, 子层两个时钟域的时钟隔离,解决两者时钟速率匹配和相位差异的问题, 最后经过高速 Serdes 进行并串转换 进行并串转换(PISO),有必要的话,可以进行预加重(TX Pre TX Pre-emphasis)、后加 重。值得一提的是,如果在 PCB PCB 设计时不慎将 TXP 和 TXN 差分引脚交叉连接,则可以通过极性控 差分引脚交叉连接,则可以通过极性控 制(Polarity)来弥补这个设计错误。接收端和发送端过程相反,相似点较多,这里就不赘述了,需 来弥补这个设计错误。接收端和发送端过程相反,相似点较多,这里就不赘述了,需 来弥补这个设计错误。接收端和发送端过程相反,相似点较多,这里就不赘述了,需 要注意的是 RX 接收端的弹性缓冲区,其具有时钟纠正和通道绑定功能。 接收端的弹性缓冲区,其具有时钟纠正和通道绑定功能。 GTX 的参考时钟 GTX 模 块 有 四 组 参 考 时 钟 , 每 组 有 两 个 差 分 参 考 时 钟 输 入 管 脚 (MGTREFCLK0P/N 和 有 四 组 参 考 时 钟 , 每 组 有 两 个 差 分 参 考 时 钟 输 入 管 脚 MGTREFCLK1P/N),作为 GTX GTX 模块的参考时钟源,用户可以自行选择。AX7102 AX7102 的核心板上,有一 路 125Mhz 的 GTX 参考时钟连接到 参考时钟连接到 MGTREFCLK0P/N 上,作为 GTX 的参考时钟。差分参考时钟通 的参考时钟。差分参考时钟通 过 IBUFDS 模块转换成单端时钟信号进入到 模块转换成单端时钟信号进入到 GTXE2_COMMOM 的 QPLL 和 GTXE2_CHANNEL GTXE2_CHANNEL 的 CPLL 中,产生 TX 和 RX 电路中所需的时钟频率。 电路中所需的时钟频率。TX 和 RX 收发器速度相同的话, 收发器速度相同的话,TX 电路和 RX 电路可 以使用同一个 PLL 产生的时钟,如果 产生的时钟,如果 TX 和 RX 收发器速度不相同的话,需要使用不同的 收发器速度不相同的话,需要使用不同的 PLL 时钟 产生的时钟。 黑金动力社区 4 / 33
www.heijin.org GTX 的 FPGA TX 接口信号 TX 接口信号是 FPGA 的用户数据发往 的用户数据发往 GTX 的接口信号,该接口信号的名称和说明如下表所示: 的接口信号,该接口信号的名称和说明如下表所示: 其中 TXCHARDISPMODE[7:0] :0]和 TXCHARFDISPVAL[7:0]的功能由 TX8B10BEN TX8B10BEN 是否使能来决定,当 8B/10B 使能,这些信号作为 TX TX 的数据信号。 TXDATA[63:0] 发 送 数 据 接 口 信 号 , 数 据 宽 度 由 发 送 数 据 接 口 信 号 , 数 据 宽 度 由 TX_DATA_WIDTH TX_DATA_WIDTH 参 数 决 定 , 当 TX_DATA_WIDTH 为 16,或者 ,或者 20 时,TXDATA 数据宽度为 16;当 TX_DATA_WIDTH TX_DATA_WIDTH 为 32,或者 40 时,TXDATA 数据宽度为 32,当 当 TX_DATA_WIDTH 为 64,或者 80 时,TXDATA TXDATA 数据宽度为 64。通 过 TX8B10BEN、TX_DATA_WIDTH TX_DATA_WIDTH 参数设置可以配置成不同的 FPGA 接口数据位宽和 接口数据位宽和 GTX 内部数据 宽度,如下表所示: 黑金动力社区 5 / 33
www.heijin.org 当 TX8B10BEN 不使能时,由 不使能时,由 TXCHARDISPMODE[7:0]、TXCHARFDISPVAL[ TXCHARFDISPVAL[7:0]信号和 TXDATA 组 合成 20 位、40 位和 80 位的数据信号。 的数据信号。 所有的 FPGA 接口信号的采样时钟是 接口信号的采样时钟是 TXUSRCLK2,在 TXUSRCLK2 的上升沿对 的上升沿对 TXDATA 进行采样。 TXUSRCLK 是提供给 GTX 模块的 模块的 PCS logic 和数据发送,TXUSRCLK 的时钟频率由 的时钟频率由 GTX 的串行发送速 度和内部的数据宽度决定的。计算的公式如下: 度和内部的数据宽度决定的。计算的公式如下: TXUSRCLK2 的频率和 TXUSRCLK TXUSRCLK 有相关性,它是由 TXUSRCLK 的频率和 的频率和 TX_DATA_WIDTH 的值 决定的。TXUSRCLK2 的时钟频率计算如下表所示: 的时钟频率计算如下表所示: 黑金动力社区 6 / 33
www.heijin.org TXUSRCLK2 和 TXUSRCLK 两个时钟时应该遵循下面两个准则: 两个时钟时应该遵循下面两个准则: 1. TXUSRCLK 和 TXUSRCLK2 TXUSRCLK2 必须是上升沿对齐的,偏差越小越好,因此应该使用 必须是上升沿对齐的,偏差越小越好,因此应该使用 BUFGs 或者 BUFRs 来驱动这两个时钟。 2. 即使 TXUSRCLK、TXUSRCLK2 TXUSRCLK2 和 GTX 的参考时钟运行在不同的时钟频率,必须保证三者必 的参考时钟运行在不同的时钟频率,必须保证三者必 须使用同源时钟。所以 TXUSRCLK TXUSRCLK、TXUSRCLK2 时钟频率必须由 GTX 的参考时钟倍频或者分频得到。 的参考时钟倍频或者分频得到。 在 XILINX 的官方文档" ug4 ug476_7Series_Transceivers.pdf"中,建议使用 中,建议使用 TXOUTCLK 信号来驱动 TXUSRCLK 和 TXUSRCLK2 时 钟 , 当 时 钟 , 当 TX_DATA_WIDTH=16 或 者 20 时 时 (2 字 节 模 式 ) 或 TX_DATA_WIDTH=32 或 者 或 者 40 时 (4 字 节 模 式 且 TX_INT_DATAWIDTH TX_INT_DATAWIDTH=1 时 ),TXUSRCLK 和 TXUSRCLK2 TXUSRCLK2 的时钟频率相等。TXOUTCLK 通过 BUFG 直接驱动 直接驱动 TXUSRCLK 和 TXUSRCLK2,具体框图如下图所示: ,具体框图如下图所示: 当为其它两种模式时,TXUSRCLK TXUSRCLK 是 TXUSRCLK2 的时钟频率的 2 倍。TXOUTCLK TXOUTCLK 通过 MMCM 或者 PLL 来产生 TXUSRCLK 和 TXUSRCLK2 TXUSRCLK2 的时钟,具体框图如下图所示: 黑金动力社区 7 / 33
www.heijin.org GTX 的 FPGA RX 接口信号 接口信号 RX 接口信号是 GTX 模块发往 模块发往 FPGA 用户数据的接口信号,该接口信号的名称和说明如下表所 用户数据的接口信号,该接口信号的名称和说明如下表所 示: 黑金动力社区 8 / 33
分享到:
收藏