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的输入参考时钟是可选的。


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协议。

图 4GTP Transceiver参考时钟原理图1

图 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内部复位的顺序图。


6 GTPA1_DUAL Reset Hierarchy

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


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。


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

Spartan6系列之GTP Transceiver的介绍与使用的更多相关文章

  1. Spartan6系列之器件详细介绍、选型参考

    1.      概述 Spartan6系列是一类低成本高容量的FPGA,采用45nm低功耗敷铜技术,能在功耗.性能.成本之间很好地平衡:Spartan6系列内部采用双寄存器.6输入的LUT,还有一系列 ...

  2. Spartan6系列之器件引脚功能详述

    1.   Spartan-6系列封装概述 Spartan-6系列具有低成本.省空间的封装形式,能使用户引脚密度最大化.所有Spartan-6 LX器件之间的引脚分配是兼容的,所有Spartan-6 L ...

  3. Spartan6系列之SelectIO深入详解及高级应用简介

    1.      什么是I/O Tile? 对Spartan-6系列FPGA来说,一个IO Tile包括2个IOB.2个ILOGIC.2个OLOGIC.2个IODELAY. 图 1Spartan-6系列 ...

  4. Spartan6系列之Spartan6系列之芯片时钟资源深入详解

    1.   时钟资源概述 时钟设施提供了一系列的低电容.低抖动的互联线,这些互联线非常适合于传输高频信号.最大量减小时钟抖动.这些连线资源可以和DCM.PLL等实现连接. 每一种Spartan-6芯片提 ...

  5. Spartan6系列之芯片配置模式详解

    1.   配置概述 Spartan6系列FPGA通过把应用程序数据导入芯片内部存储器完成芯片的配置.Spart-6 FPGA可以自己从外部非易失性存储器导入编程数据,或者通过外界的微处理器.DSP等对 ...

  6. Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例

    概要  前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对Linked ...

  7. Java 集合系列07之 Stack详细介绍(源码解析)和使用示例

    概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...

  8. Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例

    概要 这一章,我们对HashMap进行学习.我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap.内容包括:第1部分 HashMap介绍第2部分 HashMa ...

  9. Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例

    概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ...

随机推荐

  1. [tarjan] 1827 Summer Holiday

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1827 Summer Holiday Time Limit: 10000/1000 MS (Java/ ...

  2. SQL Server 海量数据查询代码优化以及建议

    1.应尽量避免在  where  子句中对字段进行   null  值推断,否则将导致引擎放弃使用索引而进  行全表扫描,如:     select id from t where num is nu ...

  3. Java实现二叉排序树的插入、查找、删除

    import java.util.Random; /** * 二叉排序树(又称二叉查找树) * (1)能够是一颗空树 * (2)若左子树不空,则左子树上全部的结点的值均小于她的根节点的值 * (3)若 ...

  4. 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例

    服务器无法处理请求. ---> 未将对象引用设置到对象的实例. 简短说下我遇到的问题.webservice部署到服务器上后,访问方法报上面的错误,最终原因为改方法需要操作文件夹,加上了相应的权限 ...

  5. 嵌入式开发之davinci--- 8127 和8148的区别

    1.主要的差别是8148有sata接口,8127没有 2.经过最近各方查找,应该是8107中把DSP砍掉了,8127如1楼所示 http://www.deyisupport.com/question_ ...

  6. spoj 1812 LCS2 - Longest Common Substring II (后缀自己主动机)

    spoj 1812 LCS2 - Longest Common Substring II 题意: 给出最多n个字符串A[1], ..., A[n], 求这n个字符串的最长公共子串. 限制: 1 < ...

  7. gitlab的安装和配置

    1 使用omnibus gitlab来安装gitlab 也就是说,将gitlab和它所需要的组件打一个包,即打一个bundle进行安装. 第一步,安装gitlab的源. curl https://pa ...

  8. 阳性比例 mysql CASE UNION ALL

    阳性比例 mysql CASE UNION ALL SELECT t.*,t.type_0/all_ FROM ( SELECT FROM_UNIXTIME(create_time,'%Y-%m-%d ...

  9. oracle type类型

    转载 http://blog.sina.com.cn/s/blog_6cfb6b090100ve92.html 转自网络,具体用法我会再细化 1.概念    方法:是在对象类型说明中用关键字  MEM ...

  10. 10.05FZSZ Day2模拟总结

    今天的题目难度比昨天小一些,但是太菜的我还是啥也不会. 今天的出题大佬是Heaplex,他的题目中倒是出现了ZZQ,不知道是否是本人? T1.a 期望得分30,实际得分30 这道题开场发现好像有什么小 ...