李洪法
(中國科學(xué)院長春光學(xué)精密機械與物理研究所,吉林長春 130033)
一種基于高速串行接口技術(shù)的CCD圖像數(shù)據(jù)傳輸系統(tǒng)的設(shè)計實現(xiàn)
李洪法
(中國科學(xué)院長春光學(xué)精密機械與物理研究所,吉林長春 130033)
為了解決空間CCD(電荷耦合器件)大數(shù)據(jù)量的圖像數(shù)據(jù)的高速實時傳輸,設(shè)計了一種基于高速串行接口技術(shù)的CCD數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)可實現(xiàn)2Gbps的數(shù)據(jù)流傳輸,經(jīng)實驗驗證,系統(tǒng)工作穩(wěn)定可靠。
空間CCD 高速串行接口 圖像數(shù)據(jù)傳輸
在光電成像領(lǐng)域,電子耦合器件(CCD:Charge Coupled Device)得到了廣泛的應(yīng)用。隨著應(yīng)用范圍的擴大,應(yīng)用系統(tǒng)對CCD的功能、性能要求越來越高,CCD逐漸向大尺寸,小像元,高速度的方向發(fā)展。這直接導(dǎo)致圖像數(shù)據(jù)量的成倍增長,給圖像數(shù)據(jù)傳輸帶來壓力。因此解決CCD圖像數(shù)據(jù)的高速傳輸成為必須要面對的問題[1,2]。本文基于高速差分串行總線技術(shù),設(shè)計了空間CCD的高速實時傳輸系統(tǒng),有效解決了圖像數(shù)據(jù)高速傳輸所面臨的瓶頸問題。
本文為實現(xiàn)CCD高速圖像數(shù)據(jù)傳輸而設(shè)計的數(shù)傳系統(tǒng),其組成如圖1所示,主要包括CCD、圖像采集整合與控制單元、高速數(shù)據(jù)串化和解串核心器件TLK2711、圖像數(shù)據(jù)控制與接收單元、快視上位機。
圖 1 系統(tǒng)組成原理圖
圖像采集整合與控制單元對CCD進(jìn)行時序控制,同時接收CCD輸出的圖像信號,將其進(jìn)行AD量化、采集、整合后,以并行16位數(shù)據(jù)的形式輸出給高速串化器TLK2711,同時提供的信號還包括TLK2711工作時所需的時序控制信號,以及數(shù)據(jù)傳輸所必需的時鐘信號。高速串化器輸出的差分信號,經(jīng)過高速串行總線后,到達(dá)高速解串器。高速串化器和高速解串器都由TLK2711實現(xiàn),一個實現(xiàn)數(shù)據(jù)發(fā)送,另一個實現(xiàn)數(shù)據(jù)接收。高速解串器的工作控制由數(shù)據(jù)控制與接收單元實現(xiàn)。高速差分信號經(jīng)過高速解串后,重新恢復(fù)為16位并行數(shù)據(jù)和一路時鐘信號,進(jìn)入到數(shù)據(jù)控制與接收單元中,并由后者緩存整理后,通過內(nèi)部總線發(fā)送給快視上位機??煲暽衔粰C將接收到的圖像數(shù)據(jù)進(jìn)行顯示和存儲。
本設(shè)計的數(shù)傳系統(tǒng)中高速串化器和高速解串器都是由TLK2711[3,4]實現(xiàn)的。TLK2711是TI公司生產(chǎn)的一款高速串行收發(fā)器。它專用于高速雙向點對點的數(shù)據(jù)收發(fā)系統(tǒng),其主要功能模塊包括:并轉(zhuǎn)串單元、串轉(zhuǎn)并單元、8B/10B編碼和解碼單元,逗號碼檢測單元、偽隨機碼產(chǎn)生與檢測單元、時鐘合成與恢復(fù)以及內(nèi)部控制單元等,如圖2所示。
圖2 TLK2711的功能組成框圖
TLK2711支持的有效接口串行數(shù)據(jù)速度可達(dá)1.6Gbps到2.7Gbps,這主要取決于傳輸時所采用的時鐘。TLK2711所允許的并行數(shù)據(jù)發(fā)送時鐘頻率可達(dá)80MHz至135MHz,具體值根據(jù)實際系統(tǒng)的不同可具體設(shè)置,在本系統(tǒng)中并行時鐘速度為100MHz。
作為發(fā)送端使用的TLK2711,在TXCLK的驅(qū)動下,將端口上的16位并行數(shù)據(jù)鎖進(jìn)器件內(nèi)部的存儲器[5]。在器件內(nèi)部采用8B/10B編碼格式,將16位并行數(shù)據(jù)編碼為位寬為20位的數(shù)據(jù)。器件以20倍于TXCLK的速度將編碼后的數(shù)據(jù)通過串行差分總線傳輸給接收端。串行差分總線可以是同軸電纜、阻抗受控的底臺板,也可以是光纜。本系統(tǒng)中采用的是同軸電纜傳輸方式。
接收端從20位寬的數(shù)據(jù)流中恢復(fù)出時鐘RXCLK,并在該時鐘的同步驅(qū)動下,完成對接收到的串行數(shù)據(jù)串/并轉(zhuǎn)換。轉(zhuǎn)換后的數(shù)據(jù)從RXD0-RXD15引腳輸出。
所有真實的串行接口都有自己的編碼方法,以保證最小的數(shù)據(jù)傳輸密度。通過編碼使總線上傳輸?shù)摹?”和“0”的數(shù)量相等,這樣可保持 總線上直流信號的平衡,為數(shù)據(jù)傳輸提供了較好的傳輸密度[6],有利于接收端的時鐘恢復(fù),提高錯誤容限。
8B/10B編碼是一種已在fibre channel和千兆以太網(wǎng)中得到應(yīng)用了的編碼方法。這種編碼方法將8B數(shù)據(jù)編碼為10B數(shù)據(jù)。10B數(shù)據(jù)共有1024個數(shù)據(jù),8B/10B編碼只選取了其中的256個,用以實現(xiàn)前文中所說的保證總線上傳輸?shù)摹?”和“0”的數(shù)量相等的目的。這些數(shù)據(jù)在編碼規(guī)則中被稱為D碼。
除此之外,8B/10B編碼還使用了12個控制字符,在編碼規(guī)則中被稱為K碼。K碼的主要作用是用來區(qū)分圖像數(shù)據(jù)流。根據(jù)實際需要可以描述圖像的段、幀、行等信息。
TLK2711的數(shù)據(jù)接口是16位寬,因此數(shù)據(jù)被拆分成兩個8位寬的數(shù)據(jù),分別進(jìn)行8B/10B編碼后,再組合為20位寬的數(shù)據(jù)。編碼方式則由TKLSB和TKMSB決定。
3.3 逗號碼檢測和8B/10B解碼
TLK2711有兩個并行的8B/10B解碼單元。每個單元各自獨立地將10位寬數(shù)據(jù)恢復(fù)為8位寬數(shù)據(jù)。但是在完成該功能之前,首先要完成逗號碼的檢測。所謂逗號碼是TLK2711在編碼過程中使用的用以區(qū)分字符邊界的控制字符,通常采用獨特的“1”和“0”實現(xiàn)。TLK2711中使用的是b0011111或b1100000。逗號碼檢測和8B/10B解碼過程是這樣的:逗號碼檢測電路利用逗號碼,產(chǎn)生一個同步信號對接收信號進(jìn)行重構(gòu)以便進(jìn)行解碼;解串器,亦即8B/10B解碼器將接收到的信號恢復(fù)為8位寬的數(shù)據(jù);兩個解碼器的輸出鎖存進(jìn)16位寬的寄存器;在恢復(fù)時鐘信號RXCLK上升沿的驅(qū)動下,16位寬寄存器的數(shù)據(jù)在RXD0~RXD15引腳上輸出。
本文應(yīng)用高速差分串行總線技術(shù)設(shè)計了一個高速CCD圖像數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)保證了圖像數(shù)據(jù)的實時高速傳輸,大大減少了連接器的點數(shù),降低了系統(tǒng)間互聯(lián)的復(fù)雜性,確保了信號傳輸?shù)臏?zhǔn)確性,提高了系統(tǒng)可靠性。利用該技術(shù)設(shè)計的10通道CCD數(shù)傳系統(tǒng),工作穩(wěn)定可靠,數(shù)傳速度達(dá)到2Gbps,達(dá)到了預(yù)期的目的。
[1]李洪法.一種多通道CCD圖像數(shù)據(jù)傳輸系統(tǒng)的設(shè)計[J].科技資訊,2014(1):9-10.
[2]陳驥,郭超.線陣CCD的高速信號采集與USB數(shù)據(jù)傳輸系統(tǒng)設(shè)計[J].儀表技術(shù)與傳感器,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的高速串行全雙工通信協(xié)議研究.電子設(shè)計工程[J],2013,21(10):76-80.
[6]wikipedia. 8b/10b encoding[OL]. http://en.wikipedia.org/wiki/8b/10b_encoding.