分享我们必须知道的高速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所示为差分信号传输模式。

图 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.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...
- 分享MYSQL中的各种高可用技术(源自姜承尧大牛)
分享MYSQL中的各种高可用技术(源自姜承尧大牛) 图片和资料来源于MYSQL大牛姜承尧老师(MYSQL技术内幕作者) 姜承尧: 网易杭州研究院 技术经理 主导INNOSQL的开发 mysql高可用各 ...
- 分享MYSQL中的各种高可用技术
分享MYSQL中的各种高可用技术 图片和资料来源于姜承尧老师(MYSQL技术内幕作者) mysql高可用各个技术的比较 数据库的可靠指的是数据可靠 数据库可用指的是数据库服务可用 可靠的是数据:例如工 ...
- 分享刚出炉的基于Blazor技术的Web应用开发框架
这是最近刚刚重构完成的项目,有点迫不及待的分享给大家,为了跟上技术升级把原来基于MVC Razor Page开源项目 RazorPageCleanArchitecture 进行重构, 前端用Blazo ...
- 【恒天云技术分享系列10】OpenStack块存储技术
原文:http://www.hengtianyun.com/download-show-id-101.html 块存储,简单来说就是提供了块设备存储的接口.用户需要把块存储卷附加到虚拟机(或者裸机)上 ...
- “大话架构”阿里架构师分享Java程序员需要突破的技术要点
一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...
- 个人新站 【EXP技术分享博客】 落成~ 全新的技术资源~ 欢迎莅临~
对的,我筹备了大半年的个站技术网站正式开张了~ EXP技术分享博客: http://exp-blog.com CSDN上面大部分文章已经迁移过去了,以后也会更多地在新站点更新~ 为了庆祝新站开张,近期 ...
- 经验分享:如何系统学习 Web 前端技术?
这篇文章主要是面向小白用户的,如果你有些基础,当然也建议你看看,尤其是最后一个主题,或许你能得到一些启发.本文的观点,纯属个人自以为是的想法,不是真理,仅供参考. 抛开具体技术细节,先主要谈谈程序员如 ...
- 让互联网更快:新一代QUIC协议在腾讯的技术实践分享
本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如 ...
随机推荐
- linux历史命令
"忘记历史的Linux用户注定要输入很多信息.” 这也让强有力的历史命令(包括Bash shell的历史变体)不仅在援引之前执行命令而不需重新输入它们时有用,在调用其它很少用到的命令时也有用 ...
- 【费用流】BZOJ1061[NOI2008]-志愿者招募
[题目大意] 一个项目需要n天完成,其中第i天至少需要Ai个人.共有m类人可以招募,其中第i类可以从第Si天做到第Ti天,每人的招募费用为Ci元.求最小招募费用. [思路] byvoid神犇的建图详解 ...
- 6.3(java学习笔记)缓冲流
一.缓冲流 使用缓冲流后的输入输出流会先存储到缓冲区,等缓冲区满后一次性将缓冲区中的数据写入或取出. 避免程序频繁的和文件直接操作,这样操作有利于提高读写效率. 缓冲流是构建在输入输出流之上的,可以理 ...
- 《深入理解Spark-核心思想与源码分析》(三)第三章SparkContext的初始化
3.1 SparkContext概述 SparkConf负责配置参数,主要通过ConcurrentHaspMap来维护各种Spark的配置属性. class SparkConf(loadDefault ...
- 【摘】请问make -j8 和make -j4 是什么意思?什么作用?
看到别人写的Shell脚本中有 make -j8 等字眼,Google了一下,网友说是: make linux kernel/rootfs时候多线程执行.
- Klaus Aschenbrenner--windbg
http://www.sqlservercentral.com/blogs/aschenbrenner/?page=1
- CSS部分属性的深入学习
先上个张鑫旭大神的政治课,来个一棒打醒(手动滑稽): 说说CSS学习中的瓶颈: 虽然自己水平不高,但是对于重构这方面工作一直不怎么喜欢,可能觉得比较没有新意,但是看了大神文章突然有点一棍打醒的感觉,突 ...
- jquery ui autocomplete
//条码录入,自动完成功能 function addAutoComplete() { $('#txt_spuNo').autocomplete({ autoFocus: true, source: f ...
- UNDO表空间损坏导致数据库无法OPEN
在数据库undo表空间文件损坏.或者undo表空间文件缺失的情况下.无法打开数据库. 这两种情况都能够视为一种情况处理,解决方法一样. 场景:在23:10的时候新建一个undo表空间undotbs02 ...
- ylbtech-DBD-WeShop(微店)
ylbtech-DatabaseDesgin:ylbtech-DBD-WeShop(微店) DatabaseName:WESHOP Model:微店数据设计 Type:专业技术网站 Url: 1.A, ...