李洪法
(中国科学院长春光学精密机械与物理研究所,吉林长春 130033)
一种基于高速串行接口技术的CCD图像数据传输系统的设计实现
李洪法
(中国科学院长春光学精密机械与物理研究所,吉林长春 130033)
为了解决空间CCD(电荷耦合器件)大数据量的图像数据的高速实时传输,设计了一种基于高速串行接口技术的CCD数据传输系统。该系统可实现2Gbps的数据流传输,经实验验证,系统工作稳定可靠。
空间CCD 高速串行接口 图像数据传输
在光电成像领域,电子耦合器件(CCD:Charge Coupled Device)得到了广泛的应用。随着应用范围的扩大,应用系统对CCD的功能、性能要求越来越高,CCD逐渐向大尺寸,小像元,高速度的方向发展。这直接导致图像数据量的成倍增长,给图像数据传输带来压力。因此解决CCD图像数据的高速传输成为必须要面对的问题[1,2]。本文基于高速差分串行总线技术,设计了空间CCD的高速实时传输系统,有效解决了图像数据高速传输所面临的瓶颈问题。
本文为实现CCD高速图像数据传输而设计的数传系统,其组成如图1所示,主要包括CCD、图像采集整合与控制单元、高速数据串化和解串核心器件TLK2711、图像数据控制与接收单元、快视上位机。
图 1 系统组成原理图
图像采集整合与控制单元对CCD进行时序控制,同时接收CCD输出的图像信号,将其进行AD量化、采集、整合后,以并行16位数据的形式输出给高速串化器TLK2711,同时提供的信号还包括TLK2711工作时所需的时序控制信号,以及数据传输所必需的时钟信号。高速串化器输出的差分信号,经过高速串行总线后,到达高速解串器。高速串化器和高速解串器都由TLK2711实现,一个实现数据发送,另一个实现数据接收。高速解串器的工作控制由数据控制与接收单元实现。高速差分信号经过高速解串后,重新恢复为16位并行数据和一路时钟信号,进入到数据控制与接收单元中,并由后者缓存整理后,通过内部总线发送给快视上位机。快视上位机将接收到的图像数据进行显示和存储。
本设计的数传系统中高速串化器和高速解串器都是由TLK2711[3,4]实现的。TLK2711是TI公司生产的一款高速串行收发器。它专用于高速双向点对点的数据收发系统,其主要功能模块包括:并转串单元、串转并单元、8B/10B编码和解码单元,逗号码检测单元、伪随机码产生与检测单元、时钟合成与恢复以及内部控制单元等,如图2所示。
图2 TLK2711的功能组成框图
TLK2711支持的有效接口串行数据速度可达1.6Gbps到2.7Gbps,这主要取决于传输时所采用的时钟。TLK2711所允许的并行数据发送时钟频率可达80MHz至135MHz,具体值根据实际系统的不同可具体设置,在本系统中并行时钟速度为100MHz。
作为发送端使用的TLK2711,在TXCLK的驱动下,将端口上的16位并行数据锁进器件内部的存储器[5]。在器件内部采用8B/10B编码格式,将16位并行数据编码为位宽为20位的数据。器件以20倍于TXCLK的速度将编码后的数据通过串行差分总线传输给接收端。串行差分总线可以是同轴电缆、阻抗受控的底台板,也可以是光缆。本系统中采用的是同轴电缆传输方式。
接收端从20位宽的数据流中恢复出时钟RXCLK,并在该时钟的同步驱动下,完成对接收到的串行数据串/并转换。转换后的数据从RXD0-RXD15引脚输出。
所有真实的串行接口都有自己的编码方法,以保证最小的数据传输密度。通过编码使总线上传输的“1”和“0”的数量相等,这样可保持 总线上直流信号的平衡,为数据传输提供了较好的传输密度[6],有利于接收端的时钟恢复,提高错误容限。
8B/10B编码是一种已在fibre channel和千兆以太网中得到应用了的编码方法。这种编码方法将8B数据编码为10B数据。10B数据共有1024个数据,8B/10B编码只选取了其中的256个,用以实现前文中所说的保证总线上传输的“1”和“0”的数量相等的目的。这些数据在编码规则中被称为D码。
除此之外,8B/10B编码还使用了12个控制字符,在编码规则中被称为K码。K码的主要作用是用来区分图像数据流。根据实际需要可以描述图像的段、帧、行等信息。
TLK2711的数据接口是16位宽,因此数据被拆分成两个8位宽的数据,分别进行8B/10B编码后,再组合为20位宽的数据。编码方式则由TKLSB和TKMSB决定。
3.3 逗号码检测和8B/10B解码
TLK2711有两个并行的8B/10B解码单元。每个单元各自独立地将10位宽数据恢复为8位宽数据。但是在完成该功能之前,首先要完成逗号码的检测。所谓逗号码是TLK2711在编码过程中使用的用以区分字符边界的控制字符,通常采用独特的“1”和“0”实现。TLK2711中使用的是b0011111或b1100000。逗号码检测和8B/10B解码过程是这样的:逗号码检测电路利用逗号码,产生一个同步信号对接收信号进行重构以便进行解码;解串器,亦即8B/10B解码器将接收到的信号恢复为8位宽的数据;两个解码器的输出锁存进16位宽的寄存器;在恢复时钟信号RXCLK上升沿的驱动下,16位宽寄存器的数据在RXD0~RXD15引脚上输出。
本文应用高速差分串行总线技术设计了一个高速CCD图像数据传输系统。该系统保证了图像数据的实时高速传输,大大减少了连接器的点数,降低了系统间互联的复杂性,确保了信号传输的准确性,提高了系统可靠性。利用该技术设计的10通道CCD数传系统,工作稳定可靠,数传速度达到2Gbps,达到了预期的目的。
[1]李洪法.一种多通道CCD图像数据传输系统的设计[J].科技资讯,2014(1):9-10.
[2]陈骥,郭超.线阵CCD的高速信号采集与USB数据传输系统设计[J].仪表技术与传感器,2010(12):106-110.
[3]Texas Instruments.TLK2711 1.6 to 2.7Gbps transceiver datasheet[Z].2001.
[4]R.Koga,P.Yu,J.George.Single event effects and total dose test results for TI TLK2711 transceiver[J].IEEE REDW,2008:69-75.
[5]倪建军,李涛,王建宇.基于TLK2711的高速串行全双工通信协议研究.电子设计工程[J],2013,21(10):76-80.
[6]wikipedia. 8b/10b encoding[OL]. http://en.wikipedia.org/wiki/8b/10b_encoding.