陳洋君,吳志勇,崔 明,張維達(dá),范日召
(1.中國科學(xué)院 長春光學(xué)精密機(jī)械與物理研究所,吉林 長春 130033; 2.中國科學(xué)院大學(xué),北京 100049)
隨著數(shù)字圖像[1]數(shù)據(jù)量的急劇增加,傳輸速率的不斷提高[2],以及為了滿足數(shù)據(jù)處理相關(guān)性高,長距離傳輸?shù)刃枨?,?duì)傳輸系統(tǒng)的要求越來越高。本文采用一種基于SerDes芯片組MAX9259/9260的串行/解串行技術(shù),并將其應(yīng)用到base型Cameralink光纖傳輸系統(tǒng)的串并轉(zhuǎn)換模塊中。即CameraLink接口作為相機(jī)和圖像采集卡間的通信接口,以FPGA為核心實(shí)現(xiàn)了數(shù)據(jù)的采集和預(yù)處理,以MAX9259/9260作為系統(tǒng)的串行收發(fā)器,經(jīng)光纖傳輸后,最終實(shí)現(xiàn)了圖像數(shù)據(jù)的遠(yuǎn)程無失真?zhèn)鬏敗?/p>
作為工業(yè)數(shù)字相機(jī)的主要圖像輸出接口之一的Cameralink接口,采用并串結(jié)合的方式實(shí)現(xiàn)大數(shù)據(jù)量的傳輸,該接口具有實(shí)時(shí)性好和抗干擾能力強(qiáng)的優(yōu)點(diǎn)。同時(shí)光纖通信[3]具有抗噪聲干擾性強(qiáng)、抗電磁干擾、通信容量大、保密性強(qiáng),適于遠(yuǎn)距離傳輸?shù)葍?yōu)點(diǎn),可以提高圖像傳輸?shù)乃俾屎涂煽啃?。傳統(tǒng)系統(tǒng)中,串并轉(zhuǎn)換模塊大多采用TLK2711[4]等,由于不能提供足夠的并行總線,需要通過內(nèi)部實(shí)現(xiàn)時(shí)分復(fù)用/解復(fù)用以及圖像重組,同時(shí)還存在圖像數(shù)據(jù)時(shí)鐘域的匹配問題等,大大增加了開發(fā)難度。與傳統(tǒng)的光纖傳輸系統(tǒng)相比,本系統(tǒng)選取了功能強(qiáng)大,應(yīng)用廣泛的SerDes芯片組MAX9259/X9260作為串行收發(fā)器,其與傳統(tǒng)的串行收發(fā)器TLK2711等相比,省去了時(shí)分復(fù)用/解復(fù)用和時(shí)鐘域匹配操作,大大降低了CameraLink光纖通信的開發(fā)難度,同時(shí)提高了系統(tǒng)的適應(yīng)性。
CameraLink接口是一種視頻應(yīng)用的通用接口,是ChannelLink技術(shù)的擴(kuò)展[5],它為相機(jī)和圖像采集卡提供了一種標(biāo)準(zhǔn)連接。CameraLink接口采用了多路低電壓差分信號(hào)(Low Voltage Differential Signal,LVDS)進(jìn)行通信,其傳輸速率可達(dá)到2.38 Gb/s。CameraLink接口由一個(gè)驅(qū)動(dòng)器和一個(gè)接收器組成,驅(qū)動(dòng)器接收一路clock信號(hào)以及28路并行數(shù)據(jù)信號(hào)[6-8]。數(shù)據(jù)信號(hào)以7∶ 1形式分成4對(duì)數(shù)據(jù)流,加上clock信號(hào)流,一共有5對(duì)低電壓差分信號(hào)。接收端用于接收這5對(duì)信號(hào)。轉(zhuǎn)換原理如圖1所示。
圖1 CameraLink轉(zhuǎn)換原理圖 Fig.1 Block diagram of cameraLink conversion
CameraLink接口相機(jī)定義3種輸出信號(hào):相機(jī)控制信號(hào)、相機(jī)配置串行通信信號(hào)和視頻傳輸信號(hào)。核心部分是視頻傳輸信號(hào),其中包括了X0-~X0+、X1-~X1+、X2-~X2+、X3-~X3+、Xclk-~Xclk+這5對(duì)低壓差分信號(hào);相機(jī)控制包括4對(duì)差分信號(hào),即CCl-~CCl+、CC2-~CC2+、CC3-~CC3+、CC4-~CC4+;串行通信部分包括2對(duì)差分信號(hào),即SerTC-~SerTC+和SerTFG-~SerTFG+。
CameraLink接口相機(jī)具有Base型、Medium型和Full型3種模式[9-10]。本系統(tǒng)是在Base模式下進(jìn)行研究的,數(shù)據(jù)信號(hào)共有28位,其中包括A、B、C三個(gè)8位的數(shù)據(jù)端口,以及FVAL(幀有效)、LVAL(行有效)、DVAL(數(shù)據(jù)有效)、SPARE(空)4個(gè)視頻控制信號(hào)。
在整個(gè)過程中相機(jī)的驅(qū)動(dòng)信號(hào)、全部的數(shù)據(jù)信號(hào)、以及控制信號(hào)都與經(jīng)CameraLink轉(zhuǎn)換后的時(shí)鐘信號(hào)同步。
圖2為基于CameraLink接口的光纖傳輸系統(tǒng)[11]的結(jié)構(gòu)框圖,整個(gè)系統(tǒng)的工作流程如下:首先由LVDS轉(zhuǎn)TTL模塊將相機(jī)輸出的LVDS信號(hào)轉(zhuǎn)換成TTL信號(hào)并直接送入FPGA[12],在相機(jī)同步信號(hào)的控制下,由FPGA完成對(duì)數(shù)據(jù)的采集以及預(yù)處理;然后,經(jīng)串并轉(zhuǎn)換模塊處理后,為光發(fā)射模塊傳輸提供所有信號(hào)。光接收部分同理。整個(gè)系統(tǒng)主要由以下幾個(gè)單元模塊組成,即:CameraLink接口模塊、FPGA圖像采集和預(yù)處理模塊、串并轉(zhuǎn)換模塊、時(shí)鐘同步模塊、光電轉(zhuǎn)換模塊。
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖 Fig.2 Block diagram of system hardware
SerDes(Serializer/Deserializer)是目前主流的一種點(diǎn)對(duì)點(diǎn)(P2P),時(shí)分多路復(fù)用(TDM)的串行通信技術(shù),即在發(fā)送端多路低速并行信號(hào)被轉(zhuǎn)換成高速串行信號(hào),經(jīng)過傳輸媒體(光纜或銅線)后,在接收端高速串行信號(hào)重新轉(zhuǎn)換成低速并行信號(hào)。
圖3為本文設(shè)計(jì)的光纖傳輸系統(tǒng)設(shè)計(jì)方案。具體工作過程如下:在接收模塊,像素時(shí)鐘作為同步時(shí)鐘,經(jīng)DS90CR288解碼以及FPGA預(yù)處理后,直接把1路異步串行通信數(shù)據(jù)以及28位并行數(shù)據(jù)輸出到串并轉(zhuǎn)換收模塊。在發(fā)送模塊,像素時(shí)鐘及時(shí)恢復(fù)到同步狀態(tài),同時(shí)又作為 FPGA 的系統(tǒng)時(shí)鐘,此時(shí)串并轉(zhuǎn)換發(fā)模塊從輸入的高速串行數(shù)據(jù)中提取幀信號(hào)后被FPGA送到DS90CR287中進(jìn)行編碼。其中,電平轉(zhuǎn)換電路用于對(duì)FPGA與光收發(fā)模塊之間進(jìn)行電平轉(zhuǎn)換,完成了相機(jī)與圖像采集卡兩者間的通信。
圖3 系統(tǒng)實(shí)現(xiàn)框圖 Fig.3 Specific system implementation block
串并轉(zhuǎn)換模塊用于對(duì)信號(hào)進(jìn)行串并轉(zhuǎn)換,使光模塊高速傳輸所有信號(hào)。目前,在Cameralink光纖傳輸領(lǐng)域,應(yīng)用最廣泛的是基于TLK2711,DS90UR241的串并轉(zhuǎn)換模塊。鑒于TLK2711和DS90UR241分別只能提供16位和24位并行數(shù)據(jù),給任務(wù)實(shí)現(xiàn)帶來了一定的難度,具體體現(xiàn)在以下兩個(gè)方面:數(shù)據(jù)時(shí)鐘的匹配性問題,即像素時(shí)鐘與光纖通信同步時(shí)鐘的匹配問題。它需要通過采用FIFO技術(shù)進(jìn)行數(shù)據(jù)緩存調(diào)整;數(shù)據(jù)的位數(shù)問題,CameraLink接收模塊輸出的是30位并行TTL信號(hào),這時(shí)候需要在核心芯片F(xiàn)PGA中采取分時(shí)復(fù)用/解復(fù)用的方法進(jìn)行重組圖像信號(hào)[15]。雖然這些問題都可以通過相應(yīng)辦法解決,但是它對(duì)系統(tǒng)硬件提出了更高的要求,同時(shí)加大了FPGA的開發(fā)難度。
針對(duì)串行/解串行芯片TLK2711[16]和DS90UR241傳輸方式存在的問題,本系統(tǒng)采用SerDes芯片組MAX9259/MAX9260[15]作為串并轉(zhuǎn)換模塊的核心芯片。該芯片組基于吉比特(千兆 )多媒體串行鏈路(GMSL)的原理,由串化器芯片MAX9259配合解串器MAX9260組成數(shù)字串行鏈,共同傳輸高速數(shù)據(jù)。其最大串行數(shù)據(jù)速率達(dá)到了2.5 Gb/s,同時(shí)具有兩種模式,即24/32位并行總線模式。其中32位模式下的最大總線時(shí)鐘達(dá)78 MHz;24位模式下的總線時(shí)鐘則可高104 MHz。
本系統(tǒng)的串行/解串行芯片設(shè)置為32位模式,當(dāng)像素時(shí)鐘要求小于78 MHz,可直接完成29位數(shù)據(jù)(28位TTL并行數(shù)據(jù)和1路異步通信數(shù)據(jù))的串行數(shù)據(jù)轉(zhuǎn)換。
在這一過程中,縱使相機(jī)像素時(shí)鐘發(fā)生了改變,串并轉(zhuǎn)換發(fā)模塊的時(shí)鐘也能實(shí)時(shí)改變,同時(shí)在整個(gè)傳輸過程中,光纖通信的同步時(shí)鐘以及FPGA的系統(tǒng)時(shí)鐘也都是由像素時(shí)鐘決定的,從而保證了整個(gè)系統(tǒng)圖像數(shù)據(jù)傳輸?shù)耐叫浴?/p>
接口電路主要用于完成數(shù)字圖像信號(hào)的傳輸以及相機(jī)與采集卡之間的串行通信與控制等。以發(fā)送部分為例:系統(tǒng)采用應(yīng)用較廣的DS90CR288作為CameraLink接收芯片,它的主要功能是將4路LVDS數(shù)據(jù)信號(hào)和一路LVDS時(shí)鐘信號(hào)轉(zhuǎn)換成TTL電平標(biāo)準(zhǔn)的圖像信號(hào)和時(shí)鐘信號(hào),并輸入到FPGA中。
在控制信號(hào)的電平轉(zhuǎn)換電路設(shè)計(jì)上,根據(jù)CameraLink協(xié)議要求,采用DS90LV047芯片對(duì)相機(jī)的控制信號(hào)進(jìn)行電平轉(zhuǎn)換,相機(jī)控制信號(hào)包括CC1、CC2、CC3、CC4。具體工作過程為:FPGA發(fā)出控制相機(jī)的命令(為TTL電平信號(hào)),經(jīng)過DS90LV047將FPGA發(fā)出的TTL電平信號(hào)轉(zhuǎn)換為LVDS信號(hào)再傳給相機(jī),從而實(shí)現(xiàn)對(duì)相機(jī)的控制。
在相機(jī)串行通信信號(hào)電平轉(zhuǎn)換電路設(shè)計(jì)上,選用具有差分發(fā)送和差分接收功能的DS90LV019芯片完成串行通信(其中包括2對(duì)差分信號(hào)SerTFG、SerTC),即通過將兩對(duì)LVDS差分信號(hào)與TTL信號(hào)之間的相互轉(zhuǎn)換,實(shí)現(xiàn)相機(jī)端和數(shù)據(jù)處理端的通信。
光模塊[14]也稱為光收發(fā)一體模塊。它的組成部分包括光電子器件、功能電路和光接口等,光電子器件又由發(fā)射和接收兩部分構(gòu)成。
發(fā)射部分的工作原理是:輸入的電信號(hào)經(jīng)過驅(qū)動(dòng)芯片后,由發(fā)光二極管或半導(dǎo)體激光發(fā)射相應(yīng)的調(diào)制光信號(hào)。同時(shí)利用光功率控制電路自動(dòng)穩(wěn)定輸出光信號(hào)功率。接收部分的工作原理是:輸入的光信號(hào)經(jīng)過光探測二極管后,轉(zhuǎn)換成相應(yīng)的電信號(hào),相應(yīng)的電信號(hào)由前置放大器輸出。10G光模塊主要包括光/電轉(zhuǎn)換、時(shí)鐘提取和同步、復(fù)用/解復(fù)用、64B/66B編解碼、WIS、8B/10B編解碼等子功能模塊[17],有300pin、Xenpak、Xpak、X2和XFP等封裝形式。
本文采用的是收發(fā)一體、單模雙向的XFP封裝形式,來完成光電信號(hào)之間的轉(zhuǎn)換。采用波分復(fù)用技術(shù)實(shí)現(xiàn)兩種光信號(hào)共用一個(gè)信道,從而完成雙向通信功能。在發(fā)送端的發(fā)送單元光波長為1 310 nm,接收端的光發(fā)射單元光波長為1 550 nm,該光模塊結(jié)構(gòu)小巧,價(jià)格相對(duì)廉價(jià),使用方便靈活。
實(shí)驗(yàn)首先采用模擬相機(jī)數(shù)據(jù)源[18]測試了系統(tǒng)設(shè)計(jì)的正確性,以及傳輸通路中存在的問題。采用Verilog HDL硬件描述語言進(jìn)行時(shí)序設(shè)計(jì),完成了分辨率為320 pixel×256 pixel,像素時(shí)鐘為40 MHZ,幀頻為100 Hz,像素深度為14位的相機(jī)模擬源,然后將程序下載到FPGA進(jìn)行驗(yàn)證。
當(dāng)FVAL、LVAL、DVAL時(shí)為高電平時(shí),才能輸出數(shù)據(jù),每14 bit為一個(gè)數(shù)據(jù),從0開始,每一行的各像素點(diǎn)數(shù)值相同,行與行之間數(shù)據(jù)值加64。采集卡采集到的漸變條圖像如圖4所示。從采集到的漸變條圖像中截取了有代表部分(圖4虛線框部分所示)的像素值,如圖5所示。像素值的變化符合模擬圖像源的設(shè)計(jì)要求,驗(yàn)證了系統(tǒng)的正確性。
圖4 數(shù)據(jù)合成采集卡漸變條顯示圖 Fig.4 Gradient bar graph for data synthesis acquisition card
接著,實(shí)現(xiàn)了型號(hào)為MC1362(像素時(shí)鐘最高工作在80 MHz)的MIKROTRON可見相機(jī)的CameraLink數(shù)字圖像的光纖傳輸驗(yàn)證實(shí)驗(yàn)。相機(jī)工作模式設(shè)置為2×8 bit,相機(jī)的幀頻為100 Hz,分辨率為1 024 pixel×1 024 pixel,將相機(jī)輸出的Base接口連接到系統(tǒng)的圖像發(fā)送端,圖像采集卡采集到的數(shù)字圖像如圖6所示。
與其他同類技術(shù)相比較,整個(gè)系統(tǒng)的優(yōu)勢在于:通過采用相機(jī)的像素時(shí)鐘,避免了多個(gè)時(shí)鐘域匹配帶來的麻煩。另外,由于SerDes芯片組MAX9259/MAX9260,其本身就提供了足夠位數(shù)的并行總線,因此FPGA不需要進(jìn)行時(shí)分復(fù)用等工作,只需要執(zhí)行簡單的數(shù)據(jù)分配即可。從而使其設(shè)計(jì)簡單,效率更高。
本文提出一種系統(tǒng),其采用了一種新的串行/解串行技術(shù),基于Base型CameraLink標(biāo)準(zhǔn)信號(hào)的遠(yuǎn)距離傳輸,實(shí)現(xiàn)了數(shù)字圖像的光纖傳輸。本文設(shè)計(jì)的核心為利用SerDes芯片組MAX9259/MAX9260串行收發(fā)器代替光纖傳輸系統(tǒng)常用的串并轉(zhuǎn)換模塊(基于TLK2711和DS90UR241等)。該方法省去了數(shù)據(jù)通道的時(shí)分復(fù)用、異步FIFO數(shù)據(jù)緩存的繁瑣開發(fā)過程,大大簡化了設(shè)計(jì)的復(fù)雜度。實(shí)驗(yàn)結(jié)果表明,圖像數(shù)據(jù)光纖傳輸系統(tǒng)工作性能穩(wěn)定,傳輸圖像效果較好,傳輸帶寬達(dá)到2.5 Gb/s(相機(jī)時(shí)鐘要求小于78 MHz)。接下來將致力于如何提高傳輸信息正確性的研究,以及解決噪聲干擾等問題。