• 分享我们必须知道的高速GTX技术


    eSATA接口只有几根线为什么那么快?连上网线显示的1Gbps是不是很令人兴奋!没错他们都用了高速GTX技术,GTX全称为Gigabit Transceiver,是为了满足现代数字处理技术和计算技术庞大数据的高速、实时的传输,目前主要应用在片间通信(两片FPGA之间,FPGA与DSP之间等)、板间通信(电脑主板与交换机,硬盘与主板等)等。传统的并并行传输技术存在抗干扰能力低,同步能力差,传输速率低和信号质量差等问题。GTX目前的线速度范围为1Gbps~12Gbps,有效负载范围为0.8Gbps~10Gbps,目前GTX已经应用于光纤通道(FC),PCI Express,RapidIO,串行ATA,千兆以太网,万兆以太网等,GTX技术已经充斥我们周围很久了,作为一个技术人员,你是不是该知道点关于高速GTX呢?

      GTX线路实现

      GTX收发器采用的是差分信号对数据进行传输,其中LVDS(Low Voltage Different Signal)和CML(Current Mode Logic)是常用的两种差分信号标准。在普通单片机(如51单片机中)不包含差分接口,均是以地作为参考,差分信号时有两根几乎完全相同的线路来组成一对等值、反相信号,接收端通过比较两端电压差值来确定传输的是“0”还是“1”,如果正参考电压比负参考电压低,则信号为高;如果负参考比正参考电压高,则信号为低。因为线路上受到的噪声干扰几乎完全相同,在计算差值时相减从而达到抵消的效果,这就使得差分信号抗干扰能力特别强,高速传输时不易出错。如图1所示为差分信号传输模式。

      分享我们必须知道的高速GTX技术

      图 1 差分传输

      除了利用差分信号外,GTX采用自同步技术来解决时钟同步问题。目前常用同步方式有系统同步,源同步和自同步。三种同步方式的结构如图2所示。系统同步利用片外的晶振进行同步,由于板间线路的长度不一致,以及片内延迟不一致,在时钟速度较高时可能存在较大误差。源同步是在发送数据时同时发送一个时钟副本,这种设计需要更多的时钟端口。自同步将时钟包含在数据流中,从数据流中进行时钟恢复,不仅端口使用较少,而且不论是在高速还是低速,时钟延迟与数据延迟都保持一致,可以保证采样的正确性。

      分享我们必须知道的高速GTX技术

      图2 同步结构

      自同步接口主要包含三个模块分别是并串转换、串并转换和时钟恢复。时钟恢复是利用锁相环(PLL)合成出一个与输入串行信号的时钟频率一致的时钟,供采集数据用。

      GTX线路驱动器最重要的特性可能就是预加重的能力。预加重是在电平翻转开始前的有意过量驱动。如果串行流包含多个比特位时间的相同数值数据,而其后跟着段比特位(1或2)时间的相反数据数值时,会发送符号间干扰。介质(传输通道电容)在短时间过程中没有足够的充电时间,因此产生了较低的幅度。在符号间干扰的情况下,长时间的恒定值将通道中的等效电容完全的充电,在紧接着的相反数据值位时间内无法反相补偿。这样就会导致相反数据的电压值有可能不会被检测到,如图3所示。解决这种现象的方法是:转变开始时加入过量驱动,而在任意的连续相同数值时间内减少驱动量,减少驱动量的过程也称作去加重。经过预加重后,眼图的睁开度将会得到极大改善。

      分享我们必须知道的高速GTX技术

      图 3 符号间干扰

      GTX接口结构

      图4为常用的串行GTX收发器发送和接收基本结构框图,发送通道由线路编码器、发送缓冲器、并串转换器等模块组成,接收通道由串并转换器、时钟修正和通道绑定、线路译码、接收缓冲等模块构成。

      并串转换器:顾名思义就是讲速率为y的n位宽并行数据转变成速率为n*y的串行数据。

      发送缓冲器:在输入数据发送之前,暂时保存数据。

      线路编码器:将数据编码程适应不同线路的格式。编码器通常会消除长的无转变的序列,同时还可以平衡数据中0、1的出现次数。常用的线路编码机制为8B/10B编码。

      串并转换器:与并串转换器的功能相反,将速率为n*y的串行数据转变成速率为y的n位宽并行数据。

      时钟修正和通道绑定:修正发送时钟和接收时钟之间的偏差,同时也可以实现多通道间时钟歪斜的修正。

      线路译码:将线路上的编码数据分解成原始数据。

      接收缓冲:在接收数据被提取之前,暂时保存数据。

      

      图4 GTX收发结构

      这里只是简单的介绍了GTX一些知识,不过从以上内容就可以大概知道GTX的底层是如何实现的,和上层的实现结构,其中的每一个部分都包含了很多的内容,如果想深入了解,可以看一看High-Speed Serial IO Made Simple,里面详细介绍了各个模块的实现,已经如何在PCB板上布线。希望本篇文章对你了解GTX有所帮助。

    转载:http://www.elecfans.com/instrument/355013.html

  • 相关阅读:
    C语言开发框架、printf(day02)
    Linux C(day01)
    线程同步、信号量、system v IPC
    UDP、线程、mutex锁(day15)
    Socket编程(day14)
    共享内存、网络(day13)
    pause、jobs、setitimer(2)、system v ipc(day12)
    PIPE、SIGNAL(day11)
    环境变量、system(day10)
    进程(day09)
  • 原文地址:https://www.cnblogs.com/chengqi521/p/7878735.html
Copyright © 2020-2023  润新知