首页 > 其他分享 >高速收发器(四)

高速收发器(四)

时间:2024-08-11 16:54:35浏览次数:12  
标签:字节 高电平 IP QPLL 收发器 高速 对齐 时钟

通过前面的学习,我们对GTX的内部结构和工作原理已经有了一定的了解,但是通过文字的描述我们只能掌握一些基础知识,想要真正熟悉GTX还要通过具体的使用。

对于GTX的使用,第一步就是打开IP catalog然后搜索GT,找到下面的7 Series FPGAs Transcelvers Wizard之后双击打开,进入配置界面。

  • GT Selection

此界面中的GT Type是固定的,我用的是K7的板子,因此固定就是GTX,而红框中的部分就是需要我们设置的,通过前面的学习,我们已经知道一个Qaud只有一个QPLL,红框中的上面一个选项表示将QPLL的控制放在IP的内部,用户不能自行控制,而下面一个选项表示将QPLL的代码放在IP核外面,方便后续扩展收发通道。

  • Line Rate , RefClk Selection

Procotol : 协议选择,可以选择一些常见的上层协议,比如Auraro 8b/10b,SATA等,由于本次实验是对GTX的使用,因此不选择任何上层协议。

TX : 这部分需要设置发送端的线速率,可以看到最高速率为8Gbps,因此将线速率设置为最高速率,参考时钟设置为125MHz,并且启用接收通道,即后面的TX off不打√。

RX : 接收端的配置与发送端的配置相同。

Qaud Column : 用于选择高速收发器在FPGA内部的位置,我的芯片固定在右侧,因此不用对齐进行更改。

Use Common DRP:勾选后,用户可以通过DRP接口动态配置QPLL,修改QPLL的参考时钟来源等等信息。

PLL Selection:由于线速率超过了6.6Gbps,因此选择QPLL作为发送通道和接收通道的时钟信号。

Advanced Clocking Option:勾选后,可以把所有的参考时钟端口开放给用户,用于动态时钟切换。

PRBS pattern generator and check:PRBS模式产生和检测功能经常用来验证信道质量测试。

在左下侧的框图中,可以选中相应的通道,然后勾选Use GT X0Y0,即可使用坐标为(X0,Y0)的收发器。但是这种方式对于设计者来说并不方便,需要用户知道后续要使用通道在芯片中的坐标。

还有另一种方式也可以对通道位置进行修改,就是通过约束发送和接收通道的引脚,来确定使用的通道,并且约束引脚的优先级大于此处IP设置的位置,因此常用的方式是通过约束引脚来确定使用具体的收发器资源。

由此处可知,可以在一个IP中勾选多个通道,这种方式也行,但是更加常用的方法是生成单通道的IP,需要使用多通道时,多次例化该IP即可,这也是为什么需要把QPLL放在IP外部,防止将QPLL多次例化。其中TX Clock Source用于确定发送通道的时钟来源,在前文分析过QPLL和CPLL的时钟只能来自GT bank的差分时钟引脚,因此TX Clock Source只能来自参考时钟0管脚或者参考时钟1管脚输入的差分时钟。

RX Clock Source和TX Clock Source是来自同一个QPLL或者CPLL输出时钟,因此设置需要保持一致。

  • Encoding and Clocking

Extemal Data Width:用户数据位宽,如果线速率大于6.6Gbps,那么用户数据位宽可以设置为32或者64位,否则用户数据位宽可以设置为16、20、32、40、64、80位。

Encoding:编码方式可以选择8B/10B,64B/66B,64B/67B,也可以选择不编码

Internal Data Width:内部数据位宽,即编码后的数据位宽,由于线速率大于6.6Gbps,因此此处的内部数据位宽只能设置为40。

接收通道与发送通道配置相同即可。

DRP System Clock Frequecy:默认即可。

TXBYPASS8B10B:允许字节交错数据以每字节为基础旁路8B / 10B编码器,高电平有效。TX8B10BEN必须为高此信号才有用。TXBYPASS8B10B [ x] = 1,字节x绕过编码器。TXBYPASS8B10B [x] = 0,字节x使用编码器。

TXCHARDISPMODE、TXCHARDISPVAL:在启用8B/10B编码时,这两个选项同时勾选可以在字节编码前将运行不一致性强制为正;只勾选TXCHARDISPMODE选项可以在字节编码前将运行不一致性强制为负;只勾选TXCHARDISPVAL选项时可以在字节编码前将运行的差异性反转;不勾选TXCHARDISPMODE和TXCHARDISPVAL时可以保持运行的差异性不变。当发送通道不启用8B/10B编码时,可以利用TXCHARDISPMODE和TXCHARDISPVAL扩展端口位宽。

RXCHARISCOMMA:高电平有效,表示RXDATA上显示的相应字节是K码。

RXCHARISK:高电平有效,当启用8B / 10B解码时,RXDATA上显示的相应字节为K字符。

将发送端的buffer使能(勾选Enable TX Buffer),将PCS并行时钟域的时钟源(TXUSRCLK Source)设置为IP输出的时钟TXOUTCLK,并且勾选TXOUTCLK来源于发送通道的PLL参考时钟信号。

同步模块的端口如下所示:一般不需要对该部分的端口进行更改,默认即可。

  • Alignment Termination and Equalization

Use comma detection:启用接收端K码检测,用于标识数据流中的K码字符。

Decode valid comma only:启用接收逗号检测,将检测限制在特定的已定义逗号字符,即K28.1或K28.5。

Comma Value:选择标准逗号模式或用户定义的模式之一以输入自定义模式。

Plus Comma:表示要匹配的正差异K码的10位二进制模式(RD+),模式的最右边位是串行到达的第一位。

Minus Comma:表示要匹配的负差异K码的10位二进制模式,模式的最右边位是串行到达的第一位。

Comma Mask:10位二进制模式,表示逗号匹配模式的掩码。1表示要匹配逗号模式中的相应位,0表示不关心逗号模式中的相应位。

Align to:根据自己的设计选择。

ENPCOMMAALIGN:高电平有效,当检测到K码(RD+)模式时,启用字节边界对齐过程。

ENMCOMMAALIGN:高电平有效,当检测到K码(RD-)模式时,启用字节边界对齐过程

RXSLIDE:高电平有效,每次置位都会将字节对齐调整一位,优先于普通逗号对齐。

RXBYTEISALIGN:高电平有效,表示接收端已经完成字节对齐。

RXBYTEREALIGN:高电平有效,表示接收端正在进行字节对齐。

RXCOMMADET:高电平有效,表示逗号对齐逻辑在数据流中检测到逗号模式。Differential Swing and Emphasis Mode:选择加重的模式,选择自定义模式即可。

Equalization Mode:设置接收通道的均衡模式,一般设置为LPM就行。

Automatic Gain Control:设置接收器的自动增益控制,设置为自动即可

Termination Voltage:有GND、Floating、AVTT、可编程等几个选项。其中GND会使内部终端网络接地,Floating可隔离网络,AVTT会将内部参考电压源应用于终端网络,选择可编程选项后,可以通过更改Trim Value的值修改接收通道终端网络的电压。

其余端口的含义如下所示,根据自己的需求选择即可。

其余两页配置保持默认即可,但要注意打开回环模式。

  • 仿真

生成好IP之后打开官方提供的例程即可进行仿真验证。仿真的时候遇到几个问题,首先就是接收端和发送端的用户时钟均为未知态,不知道是什么原因。

还有就是最开始仿真的时候接收端的数据没有对齐,我改了半天才发现问题出现在了IP核配置的第四页,即字节对齐那一页,

最开始我选择的是任意字节做为边界,就出现是上述问题,改为四字节后问题得到解决。

具体原因如下:因为每次接收的数据是32位也就是4字节,因此选择第三种对齐方式刚好可以满足字节对齐。

最终仿真结果如下:

本篇文章结合了网上的资源与一些自己的理解,如有问题请联系博主。

标签:字节,高电平,IP,QPLL,收发器,高速,对齐,时钟
From: https://blog.csdn.net/qq_69315815/article/details/141107922

相关文章

  • DDR5 RCD/DB高速多通道误码测试仪 BERT
    针对LPDDR5/DDR5提供了高速多通道的误码测试仪(BERT), 适合用在DDR5DRAM/RCD/DB等物理层接收机信号质量完整性测试及针对DDR5协议层之功能性验证.目前该产品有广泛的应用在各大DDR5相关的厂商中,完整的支持DDR5DRAMTestSuite,DDR5R-DIMMTestSuite, DDR5RCDTestSuite,DDR......
  • XD6500S— LoRa SIP模块芯片 集成了射频前端和LoRa射频收发器SX1262 应用温湿度传感器
    XD6500S是一系列LoRaSIP模块,集成了射频前端和LoRa射频收发器SX1262系列,支持LoRa和FSK调制。收发器SX1262系列,支持LoRa和FSK调制。LoRa技术是一种扩频协议,针对LPWAN应用的低数据速率、超远距离和超低功耗通信进行了优化。通信进行了优化。XD6500S的主动接收电流消耗为4.2mA,电池寿......
  • USB 同步字段中高速同步字段和低速全速同步字段的区别
    USB(UniversalSerialBus)有几种不同的传输模式:低速(Low-Speed)、全速(Full-Speed)、高速(High-Speed)和超级速度(SuperSpeed)。同步字段(SyncField)是USB协议中的一部分,用于同步接收端的时钟,以便正确地接收数据。以下是高速同步字段和低速/全速同步字段的区别:低速和全速同步字段:-传......
  • 高速图像采集卡设计原理图: 613-基于6UVPX C6678+XCVU9P的信号处理板卡
    基于6UVPXC6678+XCVU9P的信号处理板卡一、板卡概述      板卡基于6U VPX标准结构,包含一个C6678 DSP芯片,一个XCVU9P 高性能FPGA,双路HPC FMC。  二、处理板技术指标•  DSP处理器采用TI 8核处理器TMS320C6678;•  DSP 外挂一组64bit DDR3......
  • 高速收发器(一)
    什么是高速收发器(GTX)FPGA中的通信协议分为低速协议和高速协议,常见的低速协议有UART、SPI、I2C等,这些协议的通信速率较低使用FPGA内部逻辑就可以实现;常见的高速协议有PCIe、以太网、Auraro、SRIO等协议,利用FPGA内部的时钟、LUT是无法实现的,假如线速度为1G,则FPGA内部需要跑到1G......
  • 高速收发器:PHY层代码(二)
    TX:总结:不难,只需要注意小端发送即可;我选取的实现思路是使用VAILD信号计数,延迟几个周期之后启动发送计数器,发送计算器在其计数数值来到VAILD信号计数器的最大值-1后结束;思路很简单,事实上这就是一个很常见的组帧模块,和其他的没有什么本质的差别;always@(posedgei_sys_clk)......
  • SK-500A高速数控机械手锯床
    SK-500A高速数控立式锯床(机器人配合)SK-500A高速数控立式锯床(机器人配合),锯床采用德国技术与机器人配合,机器人根据不同的工装可定制适合的夹具,夹具夹持工装,精准把工装运送到锯床合适的位置,实现工装不同需求的精准切割。●采用变频调速设计,高速运转同时设备运行平稳可靠......
  • ToDesk高速无限畅联全球设备,跨境远控办公必备软件
    随着跨境电商和企业跨境办公的兴起,全球跨境远程控制已成为企业和个人的办公刚需。在跨境电商领域,经常因需要跨国远控电脑进行线上办公的需求,而跨国企业则是为了更好的管理全球的工作人员,更高效率的完成日常工作。但与此同时,由于工作地点需要跨境,员工又过于分散,线上协作的难度开始......
  • 高速上用到的视频上云网关现在市场上真的太卷了
      先看一个需求: 这个是最近的一个招标项目上对视频网关的需求,我看了以后,真的有点不知道该怎么说。两个问题:第一个问题,目前都在执行新标准了,部标目前是128K推送到标准了,这个招标文件中还是32K,看来设计公司这个项目时,还是去年上半年的时候,但这个标发出来前,难道不应该......
  • 精通Gradle发布配置:打造自动化部署的高速公路
    精通Gradle发布配置:打造自动化部署的高速公路在现代软件开发中,自动化部署是持续集成/持续部署(CI/CD)流程的核心部分。Gradle作为一个强大的构建工具,提供了丰富的插件和任务来支持项目的发布配置。本文将详细介绍如何在Gradle中配置项目的发布配置,包括发布流程的设置、版本管......