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所示为差分信号传输模式。

  

  图 1 差分传输

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

  

  图2 同步结构

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

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

  

  图 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

分享我们必须知道的高速GTX技术的更多相关文章

  1. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  2. 分享MYSQL中的各种高可用技术(源自姜承尧大牛)

    分享MYSQL中的各种高可用技术(源自姜承尧大牛) 图片和资料来源于MYSQL大牛姜承尧老师(MYSQL技术内幕作者) 姜承尧: 网易杭州研究院 技术经理 主导INNOSQL的开发 mysql高可用各 ...

  3. 分享MYSQL中的各种高可用技术

    分享MYSQL中的各种高可用技术 图片和资料来源于姜承尧老师(MYSQL技术内幕作者) mysql高可用各个技术的比较 数据库的可靠指的是数据可靠 数据库可用指的是数据库服务可用 可靠的是数据:例如工 ...

  4. 分享刚出炉的基于Blazor技术的Web应用开发框架

    这是最近刚刚重构完成的项目,有点迫不及待的分享给大家,为了跟上技术升级把原来基于MVC Razor Page开源项目 RazorPageCleanArchitecture 进行重构, 前端用Blazo ...

  5. 【恒天云技术分享系列10】OpenStack块存储技术

    原文:http://www.hengtianyun.com/download-show-id-101.html 块存储,简单来说就是提供了块设备存储的接口.用户需要把块存储卷附加到虚拟机(或者裸机)上 ...

  6. “大话架构”阿里架构师分享Java程序员需要突破的技术要点

    一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...

  7. 个人新站 【EXP技术分享博客】 落成~ 全新的技术资源~ 欢迎莅临~

    对的,我筹备了大半年的个站技术网站正式开张了~ EXP技术分享博客: http://exp-blog.com CSDN上面大部分文章已经迁移过去了,以后也会更多地在新站点更新~ 为了庆祝新站开张,近期 ...

  8. 经验分享:如何系统学习 Web 前端技术?

    这篇文章主要是面向小白用户的,如果你有些基础,当然也建议你看看,尤其是最后一个主题,或许你能得到一些启发.本文的观点,纯属个人自以为是的想法,不是真理,仅供参考. 抛开具体技术细节,先主要谈谈程序员如 ...

  9. 让互联网更快:新一代QUIC协议在腾讯的技术实践分享

    本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如 ...

随机推荐

  1. 【分块】bzoj1858 [Scoi2010]序列操作

    分块 Or 线段树 分块的登峰造极之题 每块维护8个值: 包括左端点在内的最长1段: 包括右端点在内的最长1段: 该块内的最长1段: 该块内1的个数: 包括左端点在内的最长0段://这四个是因为可能有 ...

  2. 【堆】bzoj1293 [SCOI2009]生日礼物

    考虑poj3320尺取法的做法,与此题基本一样,但是此题的 位置 的范围到2^31 尺取法不可. 将每种珠子所在的位置排序. 每种珠子要维护一个指针,指到已经用到这个种类的哪个珠子. 所以尺取法用堆优 ...

  3. XCode为单独文件设置ARC

    注:此文为摘抄性质 来源:http://blog.csdn.net/dehengxu/article/details/11537989 在xcode 4 中,选择 targets 中的一个target ...

  4. STM3的Uart中断接受数据和非中断接受数据!

    //非中断方式接受数据if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET) //接收数据寄存器非空标志位{ str = USART_Recei ...

  5. PHP计算字符串长度,PHP如何计算短信的长度/字数?

    PHP计算字符串长度,包括计算英文.GBK.UTF-8多种字符集下PHP如何计算字符串长度. 英文字符串长度,strlen()是PHP自带的计算英文字符串的函数. GBK字符串长度 中文字符计算为2个 ...

  6. Kubernetes master节点的高可用配置

    了解Kubernetes架构都知道Master节点在整个集群中的位置,为了保证整个架构的高可用,Kubernetes提供了HA的架构,处于兴趣和对架构的进一步了解,我在自己的电脑实践以下. 环境: C ...

  7. DEDECMS之0day入侵总结

    1.查看dedecms最后升级版本:http://xxx.com/data/admin/ver.txt 2.利用网上公开之0day进行对应版本之入侵 ps:dedecms默认CMS后台:http:// ...

  8. perl学习笔记——文件测试

    文件测试主要用于查看如文件是否存在.文件大小.文件更新时间等信息. 文件测试操作符 -e  测试文件是否存在: die "Oops!A file called '$filename' alr ...

  9. 病毒木马查杀实战第022篇:txt病毒研究

    前言 反病毒爱好者们非常喜欢讨论的一个问题就是,现在什么样的病毒才算得上是主流,或者说什么样的病毒才是厉害的病毒呢?我们之前的课程所解说的都是Ring3层的病毒.所以有些朋友可能会觉得.那么Ring0 ...

  10. Unity异常警告错误处理方法

    原地址:http://www.haogongju.net/art/2591936 1.  The AnimationClip 'cube1_anim' used by the Animation co ...