基于基于TLK2711的高速数据串行传输的高速数据串行传输
提出了一种基于多路TLK2711的高速数据串行传输方案,详细介绍了其工作原理和设计思想,结合FPGA和
DDR3实现了单路有效数据率最高可达1.55 Gb/s。在此基础上设计并实现了6通道TLK2711的数据串行传输系
统,有效数据率高达9.67 Gb/s。实验证明,该系统工作稳定可靠,实时传输效果好,无误码,满足了高速多通
道TLK2711数据的传输速率要求。
目前空间遥感技术在农业、地质探测、气象以及军事等领域有着广泛的应用[1]。搭载在航天器上的空间遥感仪器将拍摄到
的图像数据通过数据传输系统发送到地面[2]。空间遥感仪器进行工作时会获取大量的图像数据信息,为了便于后期数据的处
理和分析应用,需要对获取的
1 系统硬件设计系统硬件设计
本文研究的是一种基于TLK2711的高速串行传输方案,在实现高速实时数据传输的基础上进行数据信号处理。系统中的关
键组成部分包括PCI Express总线接口模块、FPGA数据处理控制模块、DDR3 SDRAM存储模块以及TLK2711高速串/并转换
接口模块,系统框图如图1所示。系统的工作原理:发送端PC通过PCI Express总线接口与发送板进行数据通信,将PC模拟的
卫星成像数据源通过缓存DDR3 SDRAM由TLK2711高速串/并转接口发送给数据信号处理器;经过数据信号处理器处理的数据
再通过TLK2711高速串/并转接口发送给接收板,接收板通过缓存DDR3 SDRAM由PCI Express总线接口上传给接收端PC,最
后在接收端PC中进行数据校验和相应处理。
2 系统逻辑设计系统逻辑设计
2.1 总体逻辑设计总体逻辑设计
作为系统的控制核心,FPGA起着前端TLK2711发送/接收控制、数据链路多路转换控制、DDR3 SDRAM控制器、PCI
Express总线DMA传输控制的作用。发送端的PC将数据源在发送板总线主控DMA控制器的控制下,通过PCIE-8x通道将数据
传入FPGA存储到片外的DDR3 SDRAM,FPGA通过内部逻辑对DDR3 SDRAM中缓存的数据进行必要的时序控制和相关处
理,处理过后的并行数据流在FPGA内部进行重组,形成满足TLK2711数据格式要求的16 bit数据流。这个过程主要是同步字
符、帧头、帧尾以及控制信号的添加等。TLK2711根据参考时钟对输入的并行数据进行8B/10B编码,然后以20倍的参考时钟
频率将数据以高速差分串行输出的方式通过铜缆传送给数据信号处理器。
经过数据信号处理器处理过的数据以串行差分方式通过铜缆传送给接收板的TLK2711,TLK2711在参考时钟下完成高速串
行输入数据的串/并转换,转换后的20 bit并行数据经过内部同步到恢复时钟,然后利用8B/10B解码格式将20 bit并行数据解码
为原始的16 bit并行数据输出到FPGA进行数据处理,FPGA通过内部逻辑对高速数据进行必要的时序控制和相关处理。这个过
程主要是去除帧头、帧尾、同步字符,同时检测控制信号并对数据进行处理。处理过后的数据缓存到片外的DDR3 SDRAM,
在总线主控DMA控制器的控制下,通过PCIE-8x通道将缓存的数据写入计算机硬盘。FPGA内部逻辑示意图如图2所示。
2.2 TLK2711传输协议传输协议
TLK2711高速串行协议是一种基于点对点的单工协议,它以16 bit为一个基本的传输单位,数据被分成了高8位和低8位,因
此每个控制字符都定义成了2 B(分别由D码和K码组成),编码方式由2个控制信号TKMSB/RKMSB和TKLSB/RKLSB决定。协
议的工作过程如图3所示。
系统上电或复位后,收发双方处于失步状态(在发送端复位后要保证接收端已处于接收状态),发送端首先发送同步字符
且时间长度不小于1 ms,1 ms结束后认为系统完成同步过程,发送端开始数据帧的发送。在每一帧数据发送结束后和下一帧
数据开始发送前,发送端要发送同步字符来保持数据传输链路的同步状态。在同步状态建立后,接收端不断检测输出控制信号
RKLSB和 RKMSB,根据RKLSB和 RKMSB的状态判断数据类型,舍去帧头、帧尾和同步字符,锁存真正需要的数据。接收
端在数据帧传输过程中如果失步,则依靠数据帧间的同步字符重新建立起收发间的同步关系,同步关系建立后立刻转入正常数
评论1