0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA高速收发器的GTX发送端解析

454398 来源:CSDN博主 作者:Evening_FPGA 2020-11-20 11:27 次阅读

每一个收发器拥有一个独立的发送端,发送端有PMA(Physical Media Attachment,物理媒介适配层)和PCS(PhysicalCoding Sublayer,物理编码子层)组成,其中PMA子层包含高速串并转换(Serdes)、预/后加重、接收均衡、时钟发生器时钟恢复等电路。PCS子层包含8B/10B编解码、缓冲区、通道绑定和时钟修正等电路。对于GTX的发送端来说,结构如图1所示。

图1

FPGA内部并行数据通过FPGATX Interface进入TX发送端,然后经过PCS和PMA子层的各个功能电路处理之后,最终从TX驱动器中以高速串行数据输出,下面将介绍各个功能电路。

FPGA TX Interface用户接口:TX Interface是用户数据发往GTX的接口,该接口的信号如表1所示。

表1

发送数据接口是TXDATA,采样时钟是TXUSRCLK2,在TXUSRCLK2的上升沿对TXDATA进行采样。TXUSRCLK2的速率由线速率、TX Interface接口位宽和8B/10B是否使能决定(TXUSRCLK2频率= 线速率/ TX_DATA_WIDTH ;比如线速率是10Gb/s,TX_DATA_WHDTH等于80,那么TXUSRCLK2的频率是125MHz)。TXDATA的位宽可以配置成16/20/32/40/64/80位宽,通过TX_DATA_WIDTH 、TX_INT_DATAWIDTH、TX8B10BEN三个属性设置可以配置成不同的位宽,具体属性如表2所示。

表2

GTX的TX Interface分成内部数据位宽和FPGA接口位宽,其中内部数据归属于TXUSRCLK时钟域,FPGA接口数据归属于TXUSRCLK2时钟域,而内部数据位宽支持2byte/4byte,FPGA接口数据位宽支持2byte/4byte/8byte,因此,决定了TXUSRCLK和TXUSRCLK2有一定的时钟倍数关系,TXUSRCLK和TXUSRCLK2的时钟倍数关系如表3所示,其中TX_INT_DATAWIDTH属性设置为“0”,表示内部数据位宽为2byte,如果设置为“1”,则表示内部数据位宽为4byte(线速率大于6.6Gb/s的时候应当置“1”)。

表3

TXUSRLK和TXUSRCLK2时钟是相关联的,在时钟这两个时钟时应该遵循下面两个准则:

1.TXUSRCLK和TXUSRCLK2必须是上升沿对齐的,偏差越小越好,因此应该使用BUFGs或者BUFRs来驱动这两个时钟(因为TX Interface和PCS子层之间没有相位校正电路或者FIFO,所以需要严格对齐,本人自己的理解)。

2.即使TXUSRCLK、TXUSRCLK2和GTX的参考时钟运行在不同的时钟频率,必须保证三者必须使用同源时钟。

发送端的时钟结构:为了能够更好的理解GTX的发送端如何工作,理解发送端的时钟结构很有必要,图2是发送端的时钟结构图。

图2

其中红框部分和黄底部分的内容是我们需要重点了解的地方,图中的MGTREFCLK是上一篇中提到的GTX的参考时钟,经过一个IBUFDS_GTE2源语之后进入GTX,用以驱动CPLL或者QPLL。对于TX PMA来说,主要实现的功能是并串转换,其并串转换的时钟可以由CPLL提供,也可以由QPLL提供,由TXSYSCLKSEL选择,TX PMA子层里面有三个红色方框部分是串行和并行时钟分频器,作用是产生并行数据的驱动时钟,其中D分频器主要用于将PLL的输出分频,以支持更低的线速率。

÷2/÷4这个选项由TX_INT_DATAWIDTH决定,如果TX_INT_DATAWIDTH为“0”,则选择÷2,反之选择÷4。

对于÷4/÷5,则由TX_DATA_WIDTH决定,如果是位宽是16/32/64,则选择÷4,如果位宽是20/40/80,则选择÷5。

对于TXUSRCLK和TXUSRCLK2由谁驱动呢,官方推荐使用TXOUTCLK驱动,这样做能精简设计,同时稳定,如何使用TXOUTCLK来做TXUSRCLK和TXUSRCLK2的驱动时钟呢,根据TXUSRCLK和TXUSRCLK2的频率关系,以一个Lane为例,图3表示TXUSRCLK=TXUSRCLK2的驱动方式,图4表示TXUSRCLK = 2*TXUSRCLK2的驱动方式。

图3
图4

对于图4,CLKOUT0的值为CLKOUT1的2倍。

TX 8B/10B Encoder:高速收发器的发送端一般都带有8b/10b编码器。目的是保证数据有足够的切换提供给时钟恢复电路,编码器还提供一种将数据对齐到字的方法,同时线路可以保持良好的直流平衡。在GTX应用中,如果发送的是D码,则需要将TXCHARISK拉低,如果是K码,则将相应的TXCHARISK拉高。

TX Buffer:了解发送的TXBuffer的作用,首先得搞清楚TX发送端的时钟域,TX发送端的时钟域如图5所示。

图5

图5中红色方框就是TXBuffer,我们都知道FIFO具有隔离时钟域的功能,在这里也不例外,我们从图中可以知道,TX Buffer连接着两个不同的时钟域XCLK和TXUSRCLK,在发送端的PCS子层内部包含两个时钟域,XCLK(PMA并行时钟域)TXUSRCLK时钟域,为了数据发送的稳定,XCLK和TXUSRCLK必须是速率匹配,相位差可以消除的,TX Buffer主要用于匹配两时钟域的速率和消除两时钟域之间的相位差。

TX Buffer也可以被旁路,TX发送端提供了一个相位对齐电路,可以解决XCLK和TXUSRCLK时钟域之间的相位差,但是TX_XCLK_SEL需设置为“TXUSR”来保持XCLK时钟域和TXUSRCLK保持同频。

TX Pattern Generator:GTX拥有伪随机数列产生电路,伪随机数列是之中看似随机,但是是有规律的周期性二进制数列,有良好的随机性和接近白噪声的相关函数,所以伪随机数列可以用来做误码率测量、时延测量、噪声发生器、通信加密和扩频通信等等领域,在GTX中可以用来测试高速串行通道传输的误码率,图6是GTX的PRBS生成电路。

图6

可以使能或者旁路这个PRBS生成电路,如果旁路的话TXDATA会传输到发送端的PMA。一般使用PRBS模式测试模型如图7所示。

图7

TX Polarity Control:TX发送端支持对TX发送的数据进行极性控制,从PCS子层输出的编码数据在进入PISO串行化之前进行极性翻转,这部分功能主要是用来弥补PCB的设计错误,如果PCB设计时不慎将TXP和TXN交叉连接的话,可以通过设置TXPOLARITY为“1”来翻转信号的极性,。

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21305

    浏览量

    593113
  • pcb
    pcb
    +关注

    关注

    4220

    文章

    22468

    浏览量

    385652
  • 收发器
    +关注

    关注

    10

    文章

    2968

    浏览量

    104767
  • 驱动器
    +关注

    关注

    51

    文章

    7305

    浏览量

    142913
收藏 人收藏

    评论

    相关推荐

    多模光纤收发器分ab端吗 多模光纤收发器怎么连接

    多模光纤收发器是一种能够将电信号转换为光信号并发送到光纤中的设备,同时也可以将接收到的光信号转换为电信号。在光纤通信中,多模光纤收发器常常被用于连接不同的设备,以实现数据的高速传输。在
    的头像 发表于 01-23 15:16 665次阅读

    光纤收发器ab端如何区分 光纤收发器a与b可随便放吗

    光纤收发器的ab端应该是发射端(a端)和接收端(b端。关于收发器分发射端与接收端的原因在于,收发器在使用时需把信号进行双向传输,通常是成对使用,根据连接光纤的芯数可分为单纤收发器与双纤
    发表于 12-07 14:42 7266次阅读

    光纤收发器的放置和使用方法

    光纤收发器是一种用于光纤通信的设备,其作用是在发送端将电信号转换为光信号,并在接收端将光信号转换为电信号。光纤收发器通常由发光器(发送端)和光电二极管(接收端)组成。在使用光纤
    的头像 发表于 12-07 10:46 733次阅读

    什么是单纤收发器,什么是双纤收发器呢?他们有什么区别?

    我将详细阐述这两种光模块的特点和区别。 首先,单纤收发器(Single-Fiber Transceiver)是一种利用单根光纤进行双向传输的光模块。它能够同时进行光信号的发送和接收,通过不同的波长或频率将信号进行区分。单纤收发器
    的头像 发表于 12-07 10:09 884次阅读

    光纤收发器一定要成对用吗?光纤收发器怎么连?

    ,即一个光纤收发器用于将电信号转换为光信号并发送,另一个光纤收发器用于接收光信号并转换为电信号。这样的设计是为了保证光信号的传输与接收的完整性和稳定性。 为什么光纤收发器要成对使用呢?
    的头像 发表于 12-07 10:09 2094次阅读

    光纤收发器怎么分ab端 光纤收发器ab端的区别 光纤收发器ab端放哪里

    。在使用光纤收发器时,需要对其进行接线,将发送端(A端)和接收端(B端)连接在一起。本文将详细介绍光纤收发器A、B端的区别、放置位置和讲究,帮助读者更好地使用和了解光纤收发器。 一、光
    的头像 发表于 11-27 17:08 1.1w次阅读

    高速CAN收发器产品概述

    WAYON维安研发设计出来可以满足AEC-Q100标准的高速CAN收发器提供方案应用支持
    的头像 发表于 11-01 15:04 306次阅读
    <b class='flag-5'>高速</b>CAN<b class='flag-5'>收发器</b>产品概述

    如何计算高速RS485收发器的功耗?

    如何计算高速RS485收发器的功耗? 高速RS485收发器是一种常见的通信设备,用于对串口数据进行收发。对于
    的头像 发表于 10-31 14:37 708次阅读

    #fpga 利用IBERT IP核实现GTX收发器硬件误码率测试实例

    fpga收发器
    明德扬科技
    发布于 :2023年09月05日 11:32:14

    基于IBERT的GTX数据传输测试

    高速串行收发器GTX)通信情况进行板上测试。利用该IP核可以得到 GTX通信误码率,同时结合眼图,有助于我们FPGA硬件的
    的头像 发表于 08-31 11:45 1252次阅读
    基于IBERT的<b class='flag-5'>GTX</b>数据传输测试

    如何计算高速RS-485收发器的功率损耗

    如何计算高速RS-485收发器的功率损耗
    的头像 发表于 08-24 13:37 391次阅读
    如何计算<b class='flag-5'>高速</b>RS-485<b class='flag-5'>收发器</b>的功率损耗

    光纤收发器的工作原理、作用、分类与应用解析

    光纤通信已经广泛应用于各个领域,而光纤收发器成为了光信号与电信号之间的重要桥梁。本文将深入解析什么是光纤收发器,以及它在通信领域的重要作用。内容包含光纤收发器的工作原理、主要组成部分以
    的头像 发表于 08-03 18:38 2495次阅读
    光纤<b class='flag-5'>收发器</b>的工作原理、作用、分类与应用<b class='flag-5'>解析</b>

    微安M760收发器拆卸

    收发器
    YS YYDS
    发布于 :2023年06月28日 16:13:56

    利用IBERT核对GTX收发器板级测试

    GTX收发器的动态重新配置端口属性,还包括通信逻辑,以允许设计在运行时通过JTAG进行访问。 IBERT工具用于对Xilinx FPGA芯片的高速串行
    发表于 06-21 11:23

    光纤收发器A/B 端的放置方式和区别

      光纤收发器的 A/B 端是指光纤收发器的两个端口,其中 A 端是发送端,B 端是接收端。在数据传输过程中,A 端将电信号转换为光信号并发送出去,B 端则接收光信号并将其转换为电信号
    发表于 05-17 14:52 2.2w次阅读