GTP(学习笔记1)

	GTP (吉比特收发器),GTP简称Gigabit Transceiver with Low Power,GTP transceiver是FPGA里一种线速度达500Mb/sà6.6Gb/s的收发器,利用FPGA内部可编程资源可对其进行灵活地配置,使其适合不同的需要如以太网、SATA,PCIE接口等,经常应用于板级通信,板与板,应用在高速串行接口的数据收发,它的作用是各种高速串行接口的物理层。
	Xilinx的对不同代的高速串行收发器的称法不同,在A7系列芯片中我们叫GTP、在K7系列我们叫GTX、V系列叫GTH、对于不同速度等级的高速通信的物理接口。Atrix-7系列FPGA芯片,只能使用速率较低的GTP 收发器,所以类型无法选择。GTP收发器在我这个芯片中最高线速率可达6.6Gbps,具体最大数值会根据器件速度等级和封装有所不同,读者可自行查阅Data Sheet。很多Xilinx IP核都有Shared Logic,我理解是一些重用的部分,当多个地方需要用到这些资源时,将其放置在example design中可以节约硬件资源。
	首先就是要了解aurora IP帧模式
	Aurora 协议是由Xilinx 公司提供的一个开放、免费的链路层协议,可以用来进行点到点的串行数据传输,具有实现高性能数据传输系统的高效率和简单易用的特点。Aurora 8b10协议是一个可扩展的、轻量级的链路层协议,可以用于单路或者多路串行数据通信

1. AuroraIP帧模式

1.1 IP核配置                                                                 
	 Lane width Byte=4Bytes设置了用户AXI-Stream接口位宽是32bit 
	Lane Rate=5.0Gbps设置了高速串行总线的数据速率 
	GT Refclk=125Mhz 设置了高速串行总线参考时钟频率,需要参考板卡实际连接的晶振频率 
	Init clk=50Mhz用于初始化和产生复位的信号,请使用独立的时钟不要使用本IP核生成的用户时钟。 
	Drp clk=50Mhz 用于DRP配置的时钟,此时钟可以与Init clk 一致。   ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200409175927322.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaWNoZW4wMDExMjI=,size_16,color_FFFFFF,t_70)
	DataFlow Mode=Duplex 通信模式选择全双工,也可以选择单收或单发. 
	Interface =Frame用户接口模式选择帧模式,帧模式帧内部含有起始字节和结束字节,选择性使能CRC,用于数据校验,相对比流模式效率降低,但是能感知帧内是否出错。 
	Flow Control = UFC流控信号选择User Flow Control,加入流控机制,流控信息可以更优先的传送,只有在Frame模式下可以选择。   		![在这里插入图片描述](https://img-blog.csdnimg.cn/20200409180030486.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaWNoZW4wMDExMjI=,size_16,color_FFFFFF,t_70) 
	Error Detection = CRC使能CRC校验帧数据是否出错。 
	GT Selection -> Lanes = 1;
	RefClk=GTPQ0选择高速接口数量和参考时钟,这部分设置芯片有专用管脚对应,根据实际板卡和芯片型号选择。 
	Shared Logic = Include shared logic in core 共享逻辑资源不输出共享信号接口,只包含在IP核内部,在共享模式下一些时钟PLL资源可以给多个核使用。 
	INITCLK = Single ended 初始化时钟选择单端时钟 
	未注明的设置选项保持默认即可

1.2 复位时序
上电后GT_Reset和Reset同时复位,GT_Reset提前128clk退出复位,当LaneUp&ChannelUp出现下降沿后触发复位时序,Reset提前进入复位,128个时钟后GT_Reset进入复位状态,GT_Reset保持128时钟周期后退出复位,之后再经过128时钟周期Reset退出复位,复位顺序完成。GTP(学习笔记1)_第1张图片
1.3 用户流控信号
1.3.1 用户流控信号时序
用户流控信号可以插入数据流中,从而在接收端可以降低缓冲buffer压力,一般应用场景,当接收端buffer即将溢出时,给发送端发送指令,使得发送端插入流控数据降低接收端数据量防止溢出。GTP(学习笔记1)_第2张图片

2. 帧模式结构框图

GTP(学习笔记1)_第3张图片
tx_ctrl和rx_ctrl模块是用户设计模块。tx_ctrl产生测试数据源,通过Aurora IP发送到传输介质中,接收端接收数据并检测CRC检测结果,并对CRC错包计数。在调试期间可以用xilinx调试IP的VIO功能监测错包数量。
GTP(学习笔记1)_第4张图片

GTX的预加重和均衡:
当使用到GTX的物理接口出现信号质量不佳,数据丢包,校验出错之类的情况时,为了提高信号质量,可以使用GTX提供的预加重、均衡、调整输出振幅等功能。预加重和调整输出振幅用于数据发送方向,均衡用于数据接收方向。在高速串行接口上,高频分量衰减比低频分量要严重,导致信号失真,信号质量变差。通过GTX TX方向的预加重,可以提高高频分量的比例,可以通过设置 TXPREEMPHASIS[3:0]的值,可以选择预加重的幅度。调整振幅可以补偿线路衰减,通过设置TXDIFFCTRL[3:0]可以选择输出振幅。接收侧的均衡,用于补偿高频信号,也可以选择补偿的幅度。

【1】https://baike.baidu.com/item/GTP/791315?fr=aladdin
【2】https://www.xilinx.com/support/documentation/user_guides/ug482_7Series_GTP_Transceivers.pdf
【3】https://www.baidu.com/link?url=tAXvqv1W4WO1h4yNd7k1br3mWEcGfSgafttS9gFq5d0f2Z8m7cOaBz2JAGPoe2B5Reg6VGdhwQl02MQlutMmYM8XBQ-Z1UaXuhiS6i_FFG7&wd=&eqid=b50d99de0000a2be000000045e8ecf95

你可能感兴趣的:(FPGA)