Spartan6系列之GTP Transceiver的介绍与使用
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一种参考的电源连接方式