李洪法
(中國科學院長春光學精密機械與物理研究所,吉林長春 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.