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

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

3天内不再提示

一文了解GTP Transceiver的介绍与使用(Spartan6)

Hx 作者:工程师陈翠 2018-07-14 06:45 次阅读

1. 什么是GTP transceiver?

GTP transceiver是FPGA里一种线速度达500Mb/sà6.6Gb/s的收发器,利用FPGA内部可编程资源可对其进行灵活地配置,使其适合不同的需要如以太网SATA1.0接口等,它的作用是各种高速串行接口的物理层。对Spartan6系列而言,GTPA1_DUAL包含两个GTP transceiver,或者说包含两个通道。

下图是GTPA1_DUAL的内部结构图,图的下半部分是receiver,receiver在对串行输入的比特流并行化后,对其进行Sync原语丢失检测、COMMA字符的检测、8B/10B解码等;图的上半部分是transmitter,transmitter的串行输出则有着与receiver接收相反的过程。

图 1Spartan-6 FPGA GTP Transceiver 框图

下图是GTPA1_DUAL在FPGA里的位置图,实际上,FPGA的高速接口一般都存在于FPGA的TOP部分,GTPA1_DUAL是高速接口,它的摆放位置就在FPGA的顶部。

图 2GTP Transceiver在Spartan6LX45T FPGA内的位置图

图3所示:一个GTP DUAL包含两个GTP Transceiver GTP0和GTP1和两个PLL;在生成GTP Core的时候,其PLL的输入参考时钟是可选的。

一文了解GTP Transceiver的介绍与使用(Spartan6)

图 3Two GTP Transceivers in One GTPA1_DUAL Tile

如图 4所示,GTPA1_DUAL内部的PLL0和PLL1可以分别连接不同的时钟源,也可以连接同一个时钟源如图 5所示。两个PLL可以产生两个不同的时钟供GTPA1_DUAL使用,也就是说,GTPA1_DUAL的两个Transceiver是可以运行于不同的频率的。它们的协议可以不一样,如GTPA1_DUAL的一个Transceiver运行PCIE协议,另一个运行SATA协议。

一文了解GTP Transceiver的介绍与使用(Spartan6)

4GTP Transceiver参考时钟原理图1

一文了解GTP Transceiver的介绍与使用(Spartan6)

5GTP Transceiver参考时钟原理图2

1.1. GTP Transceiver使用中必须明白的几个概念

Spartan6系列的GTP Transceiver是被放在专门的Bank里,也就是说,在Spartan6系列里,如果一个Bank里有GTP引脚,那么这个Bank将不包含Select IO等引脚。

1个发送器、1个接收器、1个PLL组成1个GTP Lane;

两个GTP Lane组成一个GTP_DUAL;

两个GTP_DUAL组成1个Bank;

1.2. GTP Transceiver的复位

GTP Transceiver的复位有两个办法:1是FPGA烧写完后的上电复位;2是直接驱动GTPRESET,使其为高电平一段时间。下图是GTP Transceiver内部复位的顺序图。

一文了解GTP Transceiver的介绍与使用(Spartan6)

图 6 GTPA1_DUAL Reset Hierarchy

GTPRESET有效,使得RESETDONE立刻无效(变低),在GTP Transceiver复位完成后,RESETDONE有效(变高)。

一文了解GTP Transceiver的介绍与使用(Spartan6)

图 7Reset 时序图

1.3. GTP Transceiver的专用引脚功能描述

GTP Transceiver从本质上来说是一种模拟电路,为了能够更好的对它进行PCB等的设计,必须深刻理解其引脚的功能。

表格 1GTP引脚描述表

Pins

Dir

Description

MGTAVCC

In

1.2V,是GTP Transceiver的内部模拟和数字电路供电电压

MGTAVCCPLL0

In

1.2V,不但为PLL0供电,也为GTPA1_DUAL的Lane0供电,所以只要用到了Lane0,就需要给这个电压引脚供电

MGTAVCCPLL1

In

1.2V,不但为PLL1供电,也为GTPA1_DUAL的Lane1供电,所以只要用到了Lane1,就需要给这个电压引脚供电

MGTAVTTRCAL

In

为终端电阻校准电路供电,属于基本供电单元,该引脚不但要与MGTAVTTTX相连,还要连接一个50Ω精密电阻后与MGTRREF相连。

MGTAVTTRX

In

1.2V,接收器的终端电路供电

MGTAVTTTX

In

1.2V,发送终端的供电电压引脚

MGTREFCLK0P

MGTREFCLK0N

In

GTPA1_DUAL的差分输入时钟,如果没有,则需要接地

MGTREFCLK1P

MGTREFCLK1N

In

GTPA1_DUAL的差分输入时钟,如果没有,则需要接地

MGTRREF

In

连接一个50Ω的电阻后与MGTAVTTRCAL相连

MGTRXP0/MGTRXN0

MGTRXP1/MGTRXN1

In

差分数据输入引脚,如果不使用,则应接地

MGTTXP0/MGTTXN0

MGTTXP1/MGTTXN1

Out

差分数据输出引脚,如果不使用,则应悬空

下图描述了GTP Transceiver的电源推荐连接方式,选择该连接的原因(原理)参考表1。

一文了解GTP Transceiver的介绍与使用(Spartan6)

图 8一种参考的电源连接方式

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

    关注

    0

    文章

    8

    浏览量

    17886
  • spartan6
    +关注

    关注

    1

    文章

    10

    浏览量

    11218
收藏 人收藏

    评论

    相关推荐

    spartan6部分重新配置如何使用

    嗨,我是学生我研究了如何在SPARTAN6中设计部分重新配置好几个月,但仍然不知道如何使用它。有我的知识: - 通过planAhead实施设计PlanAhead的部分重新配置设计。 (我
    发表于 02-22 08:22

    关于Spartan6中的振荡器的要求

    我想知道Spartan6中外部振荡器的要求。有关频率稳定性的要求等等。我已经检查了Spartan6的数据表,但我没有找到详细和具体的标准以上来自于谷歌翻译以下为原文I want to know
    发表于 05-10 14:31

    Spartan6启动过程

    大家好,我设计了个红外线凸轮。我使用Spartan6 fpga来控制相机操作。完成设计后,当用户打开相机电源时,闪存中的数据必须启动fpga。对于启动操作,我是使用微控制器还是cpld进行启动操作
    发表于 05-31 12:05

    请问能配置SPARTAN6 GTP差分信号以作为双向工作吗?

    大家好,在我的个项目中,我要求使用GTP并将差分TXP / TXN和RXP / RXN信号配置为双向,可以使用SPARTAN 6LX 100T或任何其他Xilinx FPGA中的
    发表于 06-21 08:21

    Spartan 6(SP605)GTP错误计数

    亲爱的收发器爱好者;我使用Spartan 6 GTP收发器向导1.11版创建的示例设计。我使用8 / 10b编码为2.5Gbps的单通道极光创建了个设计。我使用两个SP605开发板,
    发表于 07-02 13:20

    如何使用RTL代码回读SPARTAN6器件的器件?

    嗨,大家好 我知道如何使用RTL代码回读SPARTAN6器件的器件,通过实例化DNA_PORT很容易实现。 但是在SPARTAN3E中,没有这种原始来源。 剂量SPARTAN3E无法回读设备ID
    发表于 07-10 08:40

    如何调试SPARTAN 6 GTP无输出问题?

    我使用COREGEN在我的SPARTAN 6 45T FGG484 -3设备中生成3G-SDI GTP。实现GTP PLL锁定,并且userclk频率正确。 txbufstatus [
    发表于 07-11 10:30

    无法获取是否启用和重置Spartan6 BRAM信号

    嗨,我正在尝试使用spartan6块rams作为真正的双端口ram,数据宽度为20bits。所以实例化的宏由xilinx.i提供.Spartan-6库指南用于HDL设计,但我无法获取是否启用和重置
    发表于 07-26 13:22

    如何建立Spartan 6和Virtex 6之间的通信?

    亲爱的专家 我尝试通过GTP(S6)/ GTX(V6)在SP605(Spartan6)和ML605(Virtex6)之间建立通信, 我想连接
    发表于 07-31 10:37

    为什么Spartan6 SRIO,clk pad是浮动的?

    Spartan6 SRIO,clk pad是浮动的,有没有办法使用SRIO
    发表于 08-01 08:59

    使用spartan6 gtp收发器向导没有外部时钟

    我正在使用spartan6 gtp收发器向导。但没有外部时钟。相反,我使用时钟向导使用200 M振荡器生成所需的速率。我尝试使用chipcope测试示例设计,但错误计数信号正在增加gradullay。谁能帮帮我吗?
    发表于 08-06 10:47

    Spartan-6 GTP数据错误

    大家好,我正在使用带有8B / 10B的Spartan-6 GTP传输32位数据,并使用光纤外部FPGA,当我将代码下载到芯片时,它是正确的,但在IPull输出光纤后立即插入电源(我称之为热插拔
    发表于 03-18 10:02

    关于Spartan6板子的使用心得

    给大家分享下关于Spartan6板子的使用心得。
    发表于 04-30 07:03

    Spartan6的特点_Spartan-6系列各型号的逻辑资源

    Spartan6系列是一类低成本高容量的FPGA,采用45nm低功耗敷铜技术,能在功耗、性能、成本之间很好地平衡;Spartan6系列内部采用双寄存器、6输入的LUT,还有一系列的内建系统级模块
    的头像 发表于 07-14 06:45 3.1w次阅读

    Spartan6开发中bufpll mapping error

    Spartan6开发中bufpll mapping error 》 最近在做Spartan6上的视频输出,输出的接口是HDMI接口,要求格式是720P。
    发表于 02-11 11:56 2049次阅读