上一篇博文介绍了GTX的发送端,这一篇将介绍GTX的RX接收端,GTX RX接收端的结构和TX发送端类似,数据流方向相反,不过和发送端也有一些区别,GTX的RX接收端结构图如图1所示:

图1

下面将根据数据流方向介绍一下RX接收端各个电路部分的功能。

RX Equalizer (DFE and LPM):RX信号从AFE(模拟前端)进来之后,首先经过RX均衡器,均衡器的主要作用是用于补偿信号在信道传输过程中的高频损失,因为信道是带宽受限的,所以信号经过它必将造成衰减甚至遭到破坏。

RX接收端的均衡器有两种,分别是LPM和DFE,两者功耗和性能有所不同,其中LPM功耗较低,DFE能提供更精确的滤波器参数,从而可以更好的补偿传输信道损失,因此性能更好。

RX CDR:RX的时钟数据恢复电路是图1的绿色圆圈部分,因为GTX传输不带随路时钟,因此在接收端必须自己做时钟恢复和数据恢复,时钟数据恢复电路如图2所示:

图2

具体过程如图2所示,首先外部数据进来之后经过均衡器,紧接着均衡器出来的数据就进入时钟数据恢复电路。GTX使用相位旋转CDR结构,从DFE进来的数据分别被边缘采样器和数据采样器捕获,然后CDR状态机根据两者决定数据流的相位并反馈控制相位内插器(PI),当数据采样器的位置位于眼图中央的时候边缘采样器锁定到数据流的传输域。其中CPLL或者QPLL为相位内插器提供基础时钟,使CDR状态机能很好进行相位控制。

RX Fabric Clock Output Control:RX接收端的时钟结构和TX发送端的很类似,如图3所示,图中红色方框的CDR部分是和TX端最大的区别。

图3

和TX发送端一样,RX接收端的时钟结构也主要分为串行时钟分频器和并行时钟分频器,D分频器是串行时钟分频器,用于降低PLL时钟速率以支持较低的线速率,后面的并时钟分频器主要根据设置的位宽和是否使用8b/10b生成不同的并行数据时钟。

RX Polarity Control:和TX发送端一样,RX接收端也拥有极性控制功能,可用于实现数据翻转,在PCB设计时RXP和RXN接反时使用这个功能。

RX Pattern Checker:GTX包含一个内嵌的PRBS检查器,如图4所示,有四种不同的伪随机序列生成器可以选择,检查器是自同步的,且工作在边界对齐和解码之前,这个功能可以用来测试信号的完整性。

图4

RX Byte and Word Alignment:串行数据在被并行化之前,比如找到一个合适的特征边界,这个特征边界或者字符边界是由TX发送端发送的一个可识别序列,通常称为标识符(comma)或者K码,接收端在到来的数据中搜索这个标识符,当找到这个标识符之后,后面接收的数据都已这个标识符为边界进行并行化,其工作原理如图5所示。

图5

如图5所示,当在串行数据中搜索到comma之后(红色方框),后面的数据都已此为边界对齐数据。

RX 8B/10B Decoder:如果发送端发送的数据是8B/10B编码的,那么在接收端就需要8B/10B解码,否则的话可以旁路,这一功能在TX发送端介绍时有说明,这里就不再做介绍。

RX Elastic Buffer:RX接收端弹性缓冲器是一个重要的功能,和TX接收端缓冲相比,RX多出了一个“弹性”属性,意味着和TX发送端相比,RX弹性缓冲器有更多的功能(RX时钟纠正和RX通道绑定)。RX弹性缓冲器在RX接收端的位置如图6绿色方框所示。

图6

从图6可以知道,RX接收端PCS子层主要有两个时钟域,分别是XCLK和RXUSRCLK时钟域,RX弹性缓冲器功能主要用来匹配两个时钟相位差。

如果旁路掉这个RX弹性缓冲器,那么为了保证数据的稳定接收,需要满足一定的条件,首先需要一个相位对齐电路处理SIPO电路时钟和XCLK时钟的相位差,其次XCLK需要配置成RXUSRCLK时钟,保证XCLK和RXUSRCLK同一个时钟域,不存在相位差。

RX Clock Correction:RX弹性缓冲器的“弹性”反映在可以通过时钟纠正来调整XCLK和RXUSRCLK的频率差。对于RX接收端来说,即便XCLK和RXUSRCLK运行在同一个时钟频率,但往往存在一定的差异,这种差异很容易导致RX弹性缓冲器写满或者读空,时钟纠正功能应运而生。时钟纠正功能如图7所示。

图7

通俗的讲,在TX发送端的时候,我们会定期的发送K码用于保证接收端边界对齐,在RX弹性缓冲器里面数据不足的时候,接收到的K码数据将被复制写入RX弹性缓冲器,以保持RX弹性缓冲器处于半满。当RX弹性缓冲器数据过多的时候,接收到的K码数据将被舍弃不写入RX弹性缓冲器,以保持RX弹性缓冲器处于半满。

RX Channel Bonding:通道绑定功能同样体现RX弹性缓冲器的“弹性”之处,对于像PCIE和SRIO等协议,可以支持多lane传输来提高传输总带宽。因为传输信道的原因,TX发送端同一时刻发送的数据在RX接收端不能被所有的lane同一时刻接收,每一个lane接收存在时间差,那么在恢复数据的时候就要重新对齐,因此需要在RX接收端执行通道绑定功能。

为了实现这个功能,TX发送端在发送的数据流中加入一个同样的通道绑定序列,子啊RX接收端根据每一个lane检测到的通道绑定序列在各自的RX弹性缓冲器做相应的调整和延迟,最终使得各个lane的数据不存在偏移,在FPGA RX Interface的输出能和TX发送端发送的数据一样,功能如图8所示,左边是未对齐数据,右边是对齐的数据。

图8

FPGA RX Interface:用户通过FPGA RX Interface接收数据,和TX发送端相似,在RXUSRCLK2的上升沿接收数据(TX发送端是在TXUSRCLK2上升沿发送数据),该用户端口可以设置成16/20/32/40/64/80bit位宽,RXUSRCLK2的速率由RX线速率、RXDATA位宽和8B/10B是否使能决定。具体端口如表1所示,和TX相似,就不再描述。

表1

到这里,RX接收端就介绍完毕

UG476-Xilinx-7Series-FPGA高速收发器使用学习—RX接收端介绍相关推荐

  1. Xilinx-7Series-FPGA高速收发器使用学习—RX接收端介绍

    前言 原文中的图片有所缺失,现根据Xilinx官方手册 <7 Series FPGAs GTX/GTH Transceivers User Guide[UG476] >进行补齐. 上一篇博 ...

  2. Xilinx 系列 FPGA 高速收发器的一些知识

    目录 1.GTX概念 1.1  GT定义 1.2 GTX的分布 1.3 GTX结构 2 . ibert 3. DRP端口 1.GTX概念 1.1  GT定义 GT的意思是Gigabyte Transc ...

  3. FPGA Xilinx 7系列高速收发器GTX通信

    Xilinx 7系列高速收发器GTX 说明: FPGA: TX端_zynq(7z035) RX端_zynq(7z100). 两个FPGA通过SFP(光纤)接口相连进行GTX的通信. 环境:Vivado ...

  4. FPGA高速收发器GTX/GTH关于外部参考时钟MGTREFCLK的设计

    FPGA高速收发器GTX/GTH关于外部参考时钟MGTREFCLK的设计 0  背景 最近在调试多片FPGA基于GTX高速收发器的芯片间接口通信,FPGA型号为Kintex7-325T.硬件板卡是直接 ...

  5. Xilinx 7系列FPGA 高速收发器GTX/GTH的一些基本概念

    本来写了一篇关于高速收发器的初步调试方案的介绍,给出一些遇到问题时初步的调试建议.但是发现其中涉及到很多概念.逐一解释会导致文章过于冗长.所以单独写一篇基本概念的介绍,基于Xilinx 7系列的GTX ...

  6. XILINX FPGA 高速收发器 GTP设计初探

    XILINX 高速收发器GTP之配置 FPGA内嵌收发器相当于以太网中的PHY芯片,但更灵活更高效,线速率也在随着FPGA芯片的发展升级.本文对7系列FPGA内部高速收发器GTP IP核的配置和使用做 ...

  7. zynq中mgtx应用_Xilinx 7系列FPGA 高速收发器GTX/GTH的一些基本概念

    本来写了一篇关于高速收发器的初步调试方案的介绍,给出一些遇到问题时初步的调试建议.但是发现其中涉及到很多概念.逐一解释会导致文章过于冗长.所以单独写一篇基本概念的介绍,基于Xilinx 7系列的GTX ...

  8. XILINX Ultrascale/Ultrascale+ 高速收发器时钟MGTHREFCLK原语调用

    1.概述 2.高速收发器 字面意思专用于收发高速数据,UltraScale架构中的GTY收发器是功率高效的收发器,在UltraScale FPGA中支持500Mb/s到30.5Gb/s的线速率,在Ul ...

  9. Xilinx-7Series-FPGA高速收发器使用学习—TX发送端介绍

    每一个收发器拥有一个独立的发送端,发送端有PMA(Physical Media Attachment,物理媒介适配层)和PCS(PhysicalCoding Sublayer,物理编码子层)组成,其中 ...

最新文章

  1. 利用do文件方式进行modelsim仿真
  2. 关于 spring-aop理解
  3. 解题报告——例题5-5 集合栈计算机 UVa12096
  4. java AES 加密和linux解密
  5. 干货整理:处理不平衡数据的技巧总结!收好不谢
  6. js正则表达式限制文本框只能输入数字,小数点,英文字母
  7. 迷你星域冒险服务器维护中,迷你世界星域冒险
  8. linux 文件乱码_RedHatlinux系统虚机启动后/etc/fstab中的文件系统未能挂载上
  9. android studio聊天跳转_android app跳转到微信的示例
  10. 多人麻将源码 html5,新版大众麻将 H5版
  11. UNIX 系统的下载地址
  12. 外卖类应用的竞争与趋势
  13. Python 脚本查询 ip纯真数据库
  14. Linux 各种网卡信息查询方法
  15. BUUCTF [CISCN2019 总决赛 Day2 Web1] Easyweb
  16. xp打印机服务器属性修复,xp打印机服务器属性设置
  17. 404 找不到页面_找不到404页面设计,如何创建较大的错误页面
  18. java graphics2d 乱码_Graphics2D 中文乱码
  19. QT之鼠标点击事件学习
  20. 初识SpringCache

热门文章

  1. 计算机显卡怎么查看,显卡怎么看,教您电脑显卡怎么查看
  2. 杰里之充电仓耳机负载检测电路电源域配置【篇】
  3. MQTT测试环境搭建
  4. 几步制作高清ICO图标
  5. Qt编写控件属性设计器3-拉伸控件
  6. Biotin-PEG-Pyrene,Pyrene-PEG-Biotin,芘丁酸-PEG-生物素peg化芘衍生物
  7. Qt编写控件属性设计器10-导出xml
  8. Excel查找函数之Vlookup多条件查找
  9. js template换行_js 实现自动换行
  10. Golang 垃圾回收