目录
一、前言
芯片间的数据传输根据同一时间传输的bit数分为串行传输和并行传输。
串行传输:每次传输1bit数据,该方式具有传输距离长,传输可靠,但延迟高,数据带宽低。
并行传输:每次可传输多bit数据,具有传输效率高,但传输距离短,因同时多路传输相互之间存在干扰导致信号容易失真。
二、芯片间数据传输技术发展
芯片间数据传输时,要保证数据准确被接收端接收,需要考虑时钟信号在准确的时刻采集数据信号,因为需要考虑时钟信号与数据信号的同步。
2.1 时钟/数据同步方式
根据时钟信号与数据信号的同步方式分为系统同步,源同步,自同步
系统同步:发送端和接收端的时钟来自同一个外部时钟,简单原理图如下
对应的详细时间模型如下图,下图中灰色背景的都是实际需要考虑的,可见需要考虑不少相关单元的延时。
源同步:接收端的时钟和数据都来自发送端
源同步对应的时间模型如下图,相比于系统同步,只需考虑输出延时和板间延时
自同步:源同步设计会带来时钟域的增加,如上图中的clk2,因此,出现了自同步这种方式,时钟信号和数据信号在同一路传输。
对应的时间模型如下图,自同步中包含了3个主要模块:串并转换,并串转换以及时钟数据恢复单元
并串转换有两种实现方式:移位寄存器,旋转选择器(revolving selectors)
串并转换的方式与并串转换相反
时钟数据恢复
时钟数据恢复是通过PLL去同步一个和生成输入串行数据流的时钟频率相匹配的时钟
2.2 Serdes
Serdes是属于自同步的一种,通常结构如下
Serializer(并串转换):将并行数据流转换成串行数据
Deserializer(串并转换): 将串行数据流转换成并行数据
Rx (Receive) Align:将输入数据以合适的长度进行分组,从自动检测到用户控制的位流分隔有多个不同的机制
Clock Manager:管理设计中需要的不同时钟,包括分频时钟,倍频时钟,以及时钟恢复
Transmit FIFO (First In First Out): 将需发送的数据先存储
Receive FIFO:允许在移除接收到的数据前先进行存储,对于需要进行时钟纠正的系统很重要
Receive Line Interface:指模拟接收电路,包括差分接收器,以及正向均衡或反向均衡
Transmit Line Interface:模拟发送电路,可以改变驱动强度
Line Encoder:将数据编码成一种更有友好的线性格式,包括将无变化的长序列移除,对于serdes不是必需的模块
Line Decoder:将经过Line Encoder的数据恢复成原始数据
Clock Correction and Channel Bonding:允许纠正发射时钟和接收时钟的差异,也可以纠正不同信道中时钟的偏斜
三、 7系列GTX/GTH
GT的全称为Gigabit Transceiver ,是基于serdes技术发展起来的。Xilinx 7系列器件的收发器有GTX和GTH两类,GTX支持的线速率范围为500Mb/s到12.5Gb/s
GTH支持的线速率范围为500Mb/s到13.1Gb/s. GTX/GTH可以通过配置灵活使用。