reference:https://blog.csdn.net/qq_40261818/article/details/83039829

PG046-Aurora 8B/10B  Logicore IP Product Guide.pdf

GTP(吉比特收发器)简称Gigabit Transceiver with Low Power,经常应用于板级通信,板与板,应用在高速串行接口的数据收发。在A7系列芯片中我们叫GTP、在K7系列我们叫GTX、V系列叫GTH、对于不同速度等级的高速通信的物理接口。

首先就是要了解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 一致。

DataFlow Mode=Duplex          通信模式选择全双工,也可以选择单收或单发.

Interface =Frame                     用户接口模式选择帧模式,帧模式帧内部含有起始字节和结束字节,选择性使能CRC ,用于数据校验,相对比流模式效率降低,但是能感知帧内是否出错。

Flow Control = UFC                  流控信号选择User Flow Control,加入流控机制,流控信息可以更优先的传送,只有在Frame模式下可以选择。

Error Detection = CRC              使能CRC校验帧数据是否出错。

GT Selection -> Lanes = 1;

RefClk=GTPQ0                          选择高速接口数量和参考时钟,这部分设置芯片有专用管脚对应,根据实际板卡和芯片型号选择。

Shared Logic = Include shared logic in core

共享逻辑资源不输出共享信号接口,只包含在IP核内部,在共享模式下一些时钟PLL资源可以给多个核使用。

INITCLK = Single ended init clk           初始化时钟选择单端时钟

未注明的设置选项保持默认即可

1.2 复位时序  

上电后GT_Reset和Reset同时复位,GT_Reset提前128clk退出复位,当LaneUp&ChannelUp出现下降沿后 触发复位时序,Reset提前进入复位,128个时钟后GT_Reset进入复位状态,GT_Reset保持128时钟周期后,退出复位,之后再经过128时钟周期Reset退出复位,复位顺序完成。

1.3 用户流控信号   (ufc)

发送UFC数据,数据来自于S_axi_tx_tdata,发送到m_axi_ufc_rx_tdata; s_axi_ufc_tx_tdata指定UFC发送数据的大小(2~16byte); 如图,指定发送UFC大小2byte;

接收UFC数据,接收到2byte数据

1.3.1 用户流控信号时序

用户流控信号可以插入数据流中,从而在接收端可以降低缓冲buffer压力,一般应用场景,当接收端 buffer即将溢出时,给发送端发送指令,使得发送端插入流控数据降低接收端数据量防止溢出。

2. 帧模式结构框图      

tx_ctrl和rx_ctrl模块是用户设计模块。tx_ctrl产生 测试数据源,通过Aurora IP发送到传输介质中,接收端接收数据并检测CRC检测结果,并对CRC错包计 数。在调试期间可以用xilinx调试IP的VIO功能监测错包数量。

FPGA的GTP(aurora 协议)高速串行接口数据收发(转)的更多相关文章

  1. [INet] WebSocket 协议中的数据收发过程

    WebSocket 和 HTTP 相似,只是一个应用层协议,对下层透明,所以不涉及 TCP/IP. 由于浏览器支持了 WebSocket,所以在用 JS 写客户端的时候,是无需考虑数据的编码解码的. ...

  2. 批量生成sqlldr文件,高速卸载数据

    SQL*Loader 是用于将外部数据进行批量高速加载的数据库的最高效工具,可用于将多种平面格式文件加载到Oracle数据库.SQL*Loader支持传统路径模式以及直接路径这两种加载模式.关于SQL ...

  3. 网络编程--使用TCP协议发送接收数据

    package com.zhangxueliang.tcp; import java.io.IOException; import java.io.OutputStream; import java. ...

  4. SQL Server高速导入数据分享

    SQL Server高速导入数据,能够尝试的方法例如以下:CTE.OpenRowSet/OpenDataSource.BULK INSERT.bcp.Shell. 以下依次介绍这几种办法. 1.CTE ...

  5. STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发

    这里我主要说一下如何做一个USB下位机,这里主要分3部分:1.建立工程:2.添加报文描述符:3.数据的传输.这里就不讲USB的理论知识了,有想要了解的自行百度一下就可以了. 建立工程:工程建立参考:h ...

  6. 转载 STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发

    STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发  本文转载自 https://www.cnblogs.com/xingboy/p/9913963.html 这里我主要说一 ...

  7. 通过集群的方式解决基于MQTT协议的RabbitMQ消息收发

    在完成了基于AMQP协议的RabbitMQ消息收发后,我们要继续实现基于MQTT协议的RabbitMQ消息收发. 由于C#的RabbitMQ.Client包中只实现了基于AMQP协议的消息收发功能的封 ...

  8. HAL UART DMA 数据收发

    UART使用DMA进行数据收发,实现功能,串口2发送指令到上位机,上位机返回数据给串口2,串口2收到数据后由串口1进行转发,该功能为实验功能 1.UART与DMA通道进行绑定 void HAL_UAR ...

  9. java网络编程——多线程数据收发并行

    基本介绍与思路 收发并行 前一篇博客中,完成了客户端与服务端的简单TCP交互,但这种交互是触发式的:客户端发送一条消息,服务端收到后再回送一条.没有做到收发并行.收发并行的字面意思很容易理解,即数据的 ...

随机推荐

  1. Ubuntu vim终端常用的快捷键

    Ubuntu中常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手.在Ubuntu中打开终端的快捷键是Ctrl+Alt+T.其他的一些常用的快捷 ...

  2. Python 编程快速上手 第九章 组织文件

    上一章节,主要讲了如何用 Python 进行创建并写入新文件.这一章节,讲了对如何用 Python 对文件进行进一步的操作,包括: 移动,复制,删除文件 改名 压缩文件 [shutil]移动,复制,删 ...

  3. 部署的error和排查,注意服务器内存占用!

    mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server thro ...

  4. hdu-2421 Deciphering Password 数学姿势

    给定A,B,对于A^B的每一个因子,M为其因子的因子数的三次方求和. 容易推导得出A^B的每一个因子都是A的质因子的组合(质因子可重复利用),其因子数自然等于所使用的每个质因子的数量乘积. 假设A由质 ...

  5. android -------- Data Binding的使用 RecyclerView

    今天来说说DataBinding在列表RecyclerView中的使用 列表绑定 App中经常用到列表展示,Data Binding在列表中一样可以扮演重要的作用,直接绑定数据和事件到每一个列表的it ...

  6. 集合 (set)

    set 是一个无序不重复的元素集,集合跟字典是无序的,不支持索引 创建集合: 第一种方式:通过{ }创建 >>> num={1,2,3,4,3,3,1} >>> n ...

  7. HTML 弹出遮罩层二(遮罩层和内容标签分开)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Leetcode 145

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  9. R12 查询EBS用户相关SQL(转)

    https://www.cnblogs.com/quanweiru/p/4869697.html http://hutianci.iteye.com/blog/934921 --R12查询EBS在线用 ...

  10. 记一次搭建vsftp服务器坑

    避免踩坑,特此记录... yum -y install vsftpd useradd -d /www -s /sbin/nologin sui # 修改vsftpd配置文件/etc/vsftpd/vs ...