白金成
(中國科學(xué)院 長春光學(xué)精密機(jī)械與物理研究所,吉林 長春 130033)
隨著無人機(jī)行業(yè)的快速發(fā)展,航空光電吊艙作為機(jī)載的重要偵查設(shè)備,在目標(biāo)捕獲、跟蹤、識(shí)別等領(lǐng)域得到了廣泛的應(yīng)用[1]。航空光電吊艙的跟蹤[2]、識(shí)別是通過對高可靠性的數(shù)字圖像實(shí)時(shí)處理實(shí)現(xiàn)的,因此高速可靠的圖像傳輸是影響其跟蹤、識(shí)別等性能優(yōu)劣的重要指標(biāo)之一。
傳統(tǒng)的航空光電吊艙大多采用導(dǎo)電環(huán)進(jìn)行Cameralink協(xié)議[3]的數(shù)字圖像傳輸,存在傳輸帶寬低、抗干擾性差、配線復(fù)雜等問題,后期的錯(cuò)誤排查也非常困難[4]。數(shù)字圖像的傳輸問題一定程度上制約了光電吊艙的發(fā)展。光纖傳輸由于抗干擾能力強(qiáng)、帶寬高、易敷設(shè)、壽命長等特點(diǎn)被廣泛應(yīng)用于數(shù)據(jù)傳輸方面,利用光纖傳輸數(shù)字圖像,可以克服傳統(tǒng)導(dǎo)電環(huán)傳輸數(shù)字圖像的諸多缺點(diǎn),很大程度提高了數(shù)字圖像傳輸?shù)目垢蓴_能力和可靠性[5]。
目前,許多航空光電吊艙的數(shù)字圖像都采用光纖傳輸?shù)姆绞?,例如基于MAX9259/MAX9260的光纖傳輸,雖然開發(fā)速度快,但是靈活性不強(qiáng)且傳輸帶寬有一定的限制[6],并且目前很多光電吊艙的數(shù)字圖像光纖傳輸都是單通道的,無法滿足多路圖像的同時(shí)傳輸[5,7],隨著數(shù)字相機(jī)的頻率越來越高,傳輸?shù)臄?shù)據(jù)量越來越大,航空光電吊艙對數(shù)據(jù)傳輸?shù)囊笤絹碓礁遊8],本文設(shè)計(jì)了數(shù)字圖像光纖傳輸系統(tǒng),利用單根光纖傳輸多路Cameralink數(shù)字圖像,以FPGA為核心處理芯片,采用Aurora 8 B/10 B協(xié)議,并結(jié)合HTW0402HTW4002光模塊實(shí)現(xiàn)多路Cameralink數(shù)字圖像的光纖傳輸。
系統(tǒng)硬件結(jié)構(gòu)如圖1所示。本系統(tǒng)選用FPGA作為系統(tǒng)控制處理核心,結(jié)合圖像編解碼芯片及光模塊實(shí)現(xiàn)多路Cameralink數(shù)字圖像的光纖傳輸。
圖像編解碼:輸入的圖像為LVDS的Cameralink數(shù)字圖像,利用解碼芯片DS90CR286MTD將LVDS信號轉(zhuǎn)化為28位并行TTL信號,其中包括24位數(shù)據(jù)、1位幀同步和1位像素時(shí)鐘信號、2位行場同步信號。在接收端,采用編碼芯片DS90CR285MTD完成相反的工作,將FPGA輸出的28位并行TTL信號轉(zhuǎn)換為LVDS圖像信號,還原輸入的原LVDS的Cameralink數(shù)字圖像。
FPGA控制處理器:FPGA作為光纖傳輸系統(tǒng)的核心處理器件,實(shí)現(xiàn)整個(gè)系統(tǒng)時(shí)鐘的控制、數(shù)據(jù)處理、串并轉(zhuǎn)換的信號控制等功能。在發(fā)送端,F(xiàn)PGA接收經(jīng)解碼單元轉(zhuǎn)換后的并行數(shù)據(jù),根據(jù)相機(jī)輸出時(shí)鐘的具體情況,對數(shù)據(jù)做相應(yīng)處理,并產(chǎn)生控制信號,將處理后的數(shù)據(jù)及控制信號進(jìn)行并轉(zhuǎn)串的操作;在接收端,F(xiàn)PGA根據(jù)串并轉(zhuǎn)換單元的信息,解出相機(jī)的時(shí)鐘信號,并還原數(shù)據(jù)及行、場同步信號傳輸給視頻采集設(shè)備。
圖1 系統(tǒng)結(jié)構(gòu)硬件框圖Fig.1 Hardware block diagram of system structure
收發(fā)光模塊:光模塊負(fù)責(zé)光信號與電信號的相互轉(zhuǎn)換。本系統(tǒng)選用的是中航光電的型號為HTW4002(發(fā)送)/HTW0402(接收)的光模塊,該型號光模塊是一款高性能的4路CWMD光模塊,單通道最大傳輸速率為10.312 5 Gb/s,可用于10 km內(nèi)光互聯(lián)數(shù)據(jù)通信。該模塊通過一根光纖可完成4路信號的傳輸,操作簡單,使用方便,且滿足寬工作溫度范圍,性能穩(wěn)定。
Cameralink數(shù)字圖像光纖傳輸設(shè)計(jì)方案如圖2所示。在發(fā)送端,通過異步FIFO將轉(zhuǎn)換后的TTL并行圖像數(shù)據(jù)信號進(jìn)行數(shù)據(jù)緩存,將相機(jī)時(shí)鐘域轉(zhuǎn)換到Aurora協(xié)議的用戶時(shí)鐘域;按照Aurora 8 B/10 B協(xié)議將異步FIFO緩存后的數(shù)據(jù)進(jìn)行編碼,編碼后的數(shù)據(jù)經(jīng)GTX串行收發(fā)器轉(zhuǎn)換為高速串行的數(shù)據(jù)送入到發(fā)送光模塊,經(jīng)光纖導(dǎo)線傳到接收端;在接收端,串行收發(fā)器將光模塊接收到的串行數(shù)據(jù)按照協(xié)議轉(zhuǎn)換成并行數(shù)據(jù)并解碼,再經(jīng)異步FIFO進(jìn)行數(shù)據(jù)重建,將并行圖像數(shù)據(jù)從Aurora協(xié)議用戶時(shí)鐘域轉(zhuǎn)換到相機(jī)時(shí)鐘域,完成了Cameralink數(shù)字圖像的光纖傳輸。
圖2 光纖傳輸設(shè)計(jì)方案框圖Fig.2 Block diagram of optical fiber transmission
2.2.1 異步FIFO數(shù)據(jù)緩存
異步FIFO數(shù)據(jù)緩存是為了解決相機(jī)時(shí)鐘域與Aurora協(xié)議用戶時(shí)鐘域的匹配問題。Aurora協(xié)議根據(jù)配置的工作時(shí)鐘會(huì)產(chǎn)生固定的用戶時(shí)鐘,而不同的相機(jī)往往輸出的像素時(shí)鐘不同,兩者之間存在時(shí)鐘域不匹配的問題,所以本系統(tǒng)通過異步FIFO數(shù)據(jù)緩存來解決像素時(shí)鐘域與Aurora協(xié)議用戶時(shí)鐘域的匹配問題。異步FIFO數(shù)據(jù)緩存原理框圖如圖3所示。
圖3 異步FIFO原理框圖Fig.3 Principle block diagram of asynchronous FIFO
異步FIFO首先在FPGA內(nèi)部建立兩個(gè)FIFO存儲(chǔ)塊,分別為FIFO1和FIFO2,寫FIFO控制模塊以相機(jī)輸出的像素時(shí)鐘作為FIFO的寫入時(shí)鐘,根據(jù)Fvalin和Lvalin同步信號將奇數(shù)及偶數(shù)行圖像數(shù)據(jù)分別寫入到FIFO1和FIFO2中。讀FIFO控制模塊根據(jù)寫FIFO控制模塊的狀態(tài)及FIFO塊的存儲(chǔ)狀態(tài)產(chǎn)生相應(yīng)的讀FIFO控制信號,以Aurora協(xié)議的用戶時(shí)鐘作為讀時(shí)鐘,讀出的數(shù)據(jù)經(jīng)圖像重建后產(chǎn)生新的行場數(shù)據(jù)。
2.2.2 Aurora 8 B/10 B協(xié)議
Aurora協(xié)議是Xilinx公司針對高速傳輸開發(fā)的一種鏈路層協(xié)議[9],該協(xié)議可根據(jù)需要靈活的進(jìn)行多通道綁定,擴(kuò)展光纖鏈路數(shù)量,提高傳輸帶寬,同時(shí)還能保證傳輸?shù)母咚偻胶头€(wěn)定。本系統(tǒng)采用Aurora 8 B/10 B協(xié)議,通過8 b/10 b的編碼方式,實(shí)現(xiàn)并串轉(zhuǎn)換的高速差分傳輸。具體實(shí)現(xiàn)過程是通過Xilinx公司開發(fā)的Aurora 8 B/10 B IP核,本系統(tǒng)中設(shè)置IP核的工作模式為4字節(jié)單通道流模式,傳輸?shù)木€速率為3.125 Gb/s,參考時(shí)鐘為125 MHz,通過外部高精度的晶振產(chǎn)生,由FPGA專用的高速時(shí)鐘引腳傳入到IP核,以保證傳輸速率的穩(wěn)定;IP核外部數(shù)據(jù)寫入配置為32位的AXI接口形式。在發(fā)送端,可以直接將轉(zhuǎn)換為AXI格式的并行數(shù)據(jù)寫入到IP核的輸入端,IP核自動(dòng)完成8 b/10 b的編碼,并完成并行數(shù)據(jù)到串行數(shù)據(jù)的轉(zhuǎn)換,并通過GTX模塊將串行數(shù)據(jù)通過差分信號傳輸?shù)焦饽K;在接收端,IP核將GTX接收到的差分信號自動(dòng)進(jìn)行串并轉(zhuǎn)換,并完成8 b/10 b的解碼,以AXI的格式將解碼后的并行圖像數(shù)據(jù)輸出,至此完成了由Aurora 8 B/10 B協(xié)議部分的單路數(shù)字圖像數(shù)據(jù)的傳輸。由于本系統(tǒng)采用的是4路波分復(fù)用的光模塊,多路圖像的傳輸相互獨(dú)立、互不影響,因此只需要復(fù)制單路圖像傳輸?shù)姆椒?,分別對多路圖像進(jìn)行相應(yīng)的處理,然后經(jīng)光模塊的不同通道傳輸即可。
為驗(yàn)證本文所設(shè)計(jì)系統(tǒng)的可行性及穩(wěn)定性,進(jìn)行了實(shí)驗(yàn)驗(yàn)證。為了驗(yàn)證多路圖像的同時(shí)傳輸,在FPGA內(nèi)部根據(jù)實(shí)際Cameralink相機(jī)的時(shí)序生成兩路30 Hz的測試圖,測試圖的數(shù)據(jù)規(guī)律性變化,這樣有利于調(diào)試。測試圖1大小為1 024×768,每個(gè)像素由8 bit的RGB分量組成。每行圖像像素值的變化相同,每行圖像的第一個(gè)像素的RGB分量均從0開始,以后每個(gè)像素的RGB分量依次累加1;測試圖2大小為640×512,每個(gè)像素位寬為8 bit,每行像素變化與測試圖1相同。并通過編寫誤碼率檢測模塊,檢測接收端的數(shù)據(jù)誤碼率,由于測試圖的每個(gè)位置上的像素固定,所以只需遍歷每幀圖像的像素值與生成的測試圖像素值是否匹配,計(jì)數(shù)不匹配的像素個(gè)數(shù)即可得到每幀圖像的誤碼率。通過FPGA內(nèi)部的集成邏輯分析儀(ILA)對光纖傳輸前后的測試圖數(shù)據(jù)進(jìn)行分析,得到如圖4所示的實(shí)驗(yàn)結(jié)果。
圖4 測試圖傳輸前后的數(shù)據(jù)Fig.4 Data before and after transmission of test image
由圖4可知,兩路視頻接收端的測試圖數(shù)據(jù)與發(fā)送端的測試圖數(shù)據(jù)完全相同,由此可見,本系統(tǒng)接收端數(shù)據(jù)接收正確,能夠正常的進(jìn)行2路圖像的收發(fā)數(shù)據(jù)。通過30 min的監(jiān)測,共傳輸1.4×1012bit數(shù)據(jù),2路誤碼率檢測模塊的計(jì)數(shù)結(jié)果均為0,未見誤碼,可知本系統(tǒng)傳輸?shù)恼`碼率低于10-12。在本文所設(shè)計(jì)的光纖傳輸系統(tǒng)的輸出端利用采集卡采集2路測試圖并顯示,測試圖傳輸前后的圖像如圖5所示。
從圖5中2路測試圖的原始圖像及經(jīng)過光纖傳輸后的圖像對比可知,傳輸后的圖像清晰穩(wěn)定。
圖5 傳輸前后的測試圖Fig.5 Testimage before and after transmission
本文以FPGA作為核心處理器,設(shè)計(jì)了多路Cameralink數(shù)字圖像的光纖傳輸系統(tǒng)。利用異步FIFO數(shù)據(jù)緩存、Aurora 8 B/10 B協(xié)議完成數(shù)字圖像的編碼、轉(zhuǎn)換等功能,結(jié)合4路波分復(fù)用的光模塊實(shí)現(xiàn)了多路數(shù)字圖像的同時(shí)傳輸,最多可同時(shí)傳輸4路數(shù)字圖像。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的系統(tǒng)能夠?qū)崿F(xiàn)多路Cameralink數(shù)字圖像的光纖傳輸,傳輸圖像效果清晰穩(wěn)定,傳輸通道誤碼率低于10-12,能夠應(yīng)用于多路Cameralink數(shù)字圖像的光纖傳輸。