劉 歡,肖志河,石志強(qiáng)
(1.北京環(huán)境特性研究所,北京 100854;2.電磁散射重點實驗室,北京 100854)
基于FPGA的多路數(shù)據(jù)單信道傳輸方法研究
劉 歡1,2,肖志河1,2,石志強(qiáng)2
(1.北京環(huán)境特性研究所,北京 100854;2.電磁散射重點實驗室,北京 100854)
為了解決圖像數(shù)據(jù)遠(yuǎn)距離快速傳輸?shù)膯栴},以光纖作為傳輸媒介,對基于FPGA平臺的圖像數(shù)據(jù)傳輸方法進(jìn)行了研究;對圖像數(shù)據(jù)的特點及遠(yuǎn)距離傳輸面臨的問題進(jìn)行了分析;設(shè)計了運行在FPGA上的多路圖像數(shù)據(jù)時分復(fù)用系統(tǒng);從算法設(shè)計的角度展開,對系統(tǒng)的整個運行框架、時分復(fù)用模塊工作原理、優(yōu)缺點進(jìn)行了分析,提出了一種結(jié)合優(yōu)先級的時間輪片通道復(fù)用方式,重點對通道復(fù)用模塊核心算法進(jìn)行了介紹,詳述了編碼單元、發(fā)送請求模塊的設(shè)計方法及特點;最后,在仿真環(huán)境下,對整個算法進(jìn)行了驗證,實驗仿真分析表明數(shù)據(jù)得到有效傳輸,實驗結(jié)果證明多路數(shù)據(jù)單信道傳輸方法有效合理。
高分辨率; 圖像傳輸 ;時分復(fù)用;優(yōu)先級;時間輪片
目前,圖像數(shù)據(jù)傳輸?shù)姆绞街饕?種:第一種是基于數(shù)據(jù)壓縮的傳輸方式,典型方案是將前端記錄的圖像數(shù)據(jù)采用編碼的方式進(jìn)行壓縮,降低數(shù)據(jù)率,然后通過以太網(wǎng)、無線信道等進(jìn)行傳輸。其優(yōu)點是技術(shù)較為成熟、傳輸距離不受限制,但缺點是隨距離增加傳感器的圖像質(zhì)量下降,實時性也較差。因此,壓縮傳輸只適合作為一般觀測類應(yīng)用,不適合對圖像實時性要求較高的應(yīng)用;第二種是基于模擬信號的PAL(NTFS)制式傳輸方式,這種視頻信號常采用同軸75歐姆電纜進(jìn)行傳輸,傳輸距離很容易達(dá)到200 m以上,具有實時性強(qiáng),傳輸距離遠(yuǎn)的特點,但其不足是傳輸方式?jīng)Q定分辨率有上限,PAL制式的分辨率最高為576行,因此無法滿足高分辨率圖像的傳輸需求;第3種是以VGA、DVI、HDMI以及cameralink為代表的一類視頻傳輸方式,其中VGA、DVI、HDMI等傳輸方式在消費領(lǐng)域較為常見,cameralink傳輸方式則在工業(yè)領(lǐng)域應(yīng)用廣泛,它們的共同點是傳輸視頻分辨率適應(yīng)范圍較廣,能夠?qū)崟r傳輸高分辨率高幀頻的數(shù)據(jù)流,但缺點是只能進(jìn)行近距離傳輸,例如VGA、DVI和HDMI傳輸方式的傳輸距離不會超過15 m, cameralink傳輸方式的傳輸距離不會超過10 m。并且隨著分辨率的提高,傳輸距離和傳輸質(zhì)量還會進(jìn)一步下降。
一種常見的改進(jìn)方式是將VGA、DVI、HDMI、cameralink通過光電轉(zhuǎn)換單元轉(zhuǎn)換為光信號,通過光纖進(jìn)行傳輸,這樣即解決了實時性的問題,又由于光通道有傳輸距離遠(yuǎn),不易受外界影響的特點,解決了遠(yuǎn)距離傳輸?shù)膯栴}[1-2],目前大部分視頻采用單路光纖來傳輸單路信號,用該方式傳輸多路視頻信號就需要多根光纖,很高的光纖帶寬沒有得到充分利用,信道利用率低,系統(tǒng)成本高。因此,有文章提出基于時間輪片的時分復(fù)用數(shù)據(jù)傳輸方案,實現(xiàn)單路光信道傳輸多路數(shù)據(jù),但該方案在總數(shù)據(jù)率達(dá)到或超過信道帶寬或者某一通道的圖像數(shù)據(jù)出現(xiàn)異常時,會使整個傳輸信道出現(xiàn)錯亂,可靠性較差。
為提高光信道利用率和傳輸?shù)目煽啃?,本文設(shè)計一種結(jié)合時間輪片和基于優(yōu)先級調(diào)度算法的多路數(shù)據(jù)單信道傳輸?shù)臅r分復(fù)用方法,該方法通過將單路圖像進(jìn)行壓縮編碼并合理設(shè)計多路視頻傳輸策略,最終實現(xiàn)了一個可以將多路視頻流通過單信道進(jìn)行傳輸。
整個復(fù)用模塊結(jié)構(gòu)如圖1所示。
圖1 多路數(shù)據(jù)單信道傳輸時分復(fù)用模塊
從圖1可以看到,數(shù)據(jù)編碼單元對輸入視頻流進(jìn)行無損編碼,減少視頻流的數(shù)據(jù)量。在這一部分中,本文將行場同步信息復(fù)合進(jìn)圖像數(shù)據(jù)流中,然后對消隱期時序進(jìn)行壓縮,通過計數(shù)的方式,將消隱期的時序信息完整保留進(jìn)編碼后的數(shù)據(jù)流中,達(dá)到既壓縮視頻傳輸帶寬,又能完整保留數(shù)字圖像時序信息的目的。同時,針對本文最終要處理的14位圖像的特點,設(shè)計了一種簡單合理的奇偶校驗恢復(fù)方式。
時分復(fù)用選通打包模塊作為系統(tǒng)的重要組成部分由發(fā)送請求模塊和發(fā)送決策以及狀態(tài)機(jī)編碼模塊組成。模塊結(jié)構(gòu)如圖2所示。
圖2 時分復(fù)用打包模塊
發(fā)送請求模塊檢測通道使能信號并通過fifo標(biāo)志信號產(chǎn)生發(fā)送請求,在內(nèi)部計時模塊的參與下輸出超時發(fā)送請求標(biāo)志。
發(fā)送決策及編碼狀態(tài)機(jī)實現(xiàn)對經(jīng)過編碼后的選通通道數(shù)據(jù)二次打包,添加通道信息后通過單通道發(fā)送出去,實現(xiàn)多通道數(shù)據(jù)信道復(fù)用。
為了體現(xiàn)通道的可擴(kuò)展性,本設(shè)計在每個通道發(fā)送請求模塊上添加了通道使能標(biāo)志,可以通過通道使能標(biāo)志來決定是否使能相應(yīng)的通道發(fā)送。經(jīng)過壓縮的數(shù)據(jù)在數(shù)據(jù)有效時,一般采用固定發(fā)送包大小的傳輸方式連續(xù)的傳輸數(shù)據(jù),但在行消隱或者場消隱期間,編碼后的數(shù)據(jù)量少,如果采用該方式可能導(dǎo)致信號得不到及時的傳輸,嚴(yán)重情況下會打亂接收端對圖像數(shù)據(jù)的時序恢復(fù)。因此,發(fā)送端采用fifo的半滿標(biāo)志去觸發(fā)數(shù)據(jù)傳輸請求,并且通過內(nèi)部計時設(shè)置一個超時傳送機(jī)制。以此解決傳輸?shù)臅r效性問題。
發(fā)送決策機(jī)制采用具有優(yōu)先級的決策模型。即在不同通道的發(fā)送請求同時到達(dá)時,優(yōu)先處理通道號小的發(fā)送請求。這樣,在通道帶寬不夠的情況下,能夠優(yōu)先保證通道號小的通道進(jìn)行傳輸,最大限度的保證通道傳輸?shù)耐暾浴?/p>
本文中復(fù)用通道的數(shù)量取決于信道帶寬,對于2.5 Gbps的信道,最多可以復(fù)用2 Gbps的傳輸數(shù)據(jù),這要求各通道的帶寬之和不超過2 Gbps,整個模塊的發(fā)送速率取決于串行收發(fā)器的收發(fā)速率。
本系統(tǒng)針對的實際工程圖像數(shù)據(jù)為14位位深。通過高位添加2位數(shù)據(jù),采用16位數(shù)據(jù)進(jìn)行編碼傳輸。其中,數(shù)據(jù)的第15位作為系統(tǒng)的控制字/數(shù)據(jù)標(biāo)識的區(qū)分,這里定義1:控制;0:數(shù)據(jù)。將信道的14位作為單字節(jié)數(shù)據(jù)的校驗位來使用。
2.1 編碼單元
標(biāo)準(zhǔn)的視頻圖像流如圖3所示,其中有效視頻流數(shù)據(jù)只在行有效期間進(jìn)行傳輸。實際只需要傳輸行有效期間的視頻數(shù)據(jù),對于行消隱以及場消隱,可以通過傳輸一個標(biāo)志位以及表示時序的信息即可。
圖3 圖像數(shù)據(jù)一般格式
由時序圖可知,傳輸狀態(tài)分為場消隱、行消隱(場有效)和數(shù)據(jù)有效。因此,設(shè)計了如表1~2幀結(jié)構(gòu)。
表1 數(shù)據(jù)有效幀結(jié)構(gòu)
表2 場/行消隱幀結(jié)構(gòu)
對于有效數(shù)據(jù),首先輸出一個數(shù)據(jù)有效控制字,然后順序輸出帶校驗的有效行數(shù)據(jù),在有效行結(jié)束后,輸出包尾控制字,完成一組數(shù)據(jù)的編碼。對于行/場消隱,則首先輸出對應(yīng)的行消隱或者場消隱開始標(biāo)志,然后按照像素時鐘進(jìn)行計數(shù)。計數(shù)值大于0x7F輸出一個計數(shù)滿標(biāo)志,重新開始計數(shù),從輸入視頻流中檢測出對應(yīng)的行場消隱狀態(tài)改變候,結(jié)束計數(shù),輸出對應(yīng)的計數(shù)值,并輸出包尾控制字。
因為圖像傳輸對誤碼率的容忍度較高。因此,在圖像數(shù)據(jù)傳輸過程中,采用較為簡單的偶校驗,如果接受部分檢測到圖像數(shù)據(jù)的誤碼,則利用前一位有效像素直接代替本位像素進(jìn)行顯示。但是對于行/場幀計數(shù),因為會影響到圖像的整個時序,則采用冗余碼,計數(shù)限定在7位,在一個16位傳輸數(shù)據(jù)中,分別利用低14位,同時傳輸計數(shù)結(jié)果,第14位則對計數(shù)值進(jìn)行一次偶校驗[3]。這樣,在接收端,首先利用0~6位加校驗位來判斷傳輸計數(shù)結(jié)果的有效性,如果計數(shù)值無效,則利用7~13位計數(shù)結(jié)果進(jìn)行后續(xù)恢復(fù)。
2.2 發(fā)送請求模塊
通常通過光纖等串行信道發(fā)送的數(shù)據(jù)包具有固定的包長,這種方式缺點明顯,主要表現(xiàn)在低碼率的通道,對于數(shù)據(jù)率差異很大的兩個通道,低碼率通道發(fā)送延遲要明顯高于高碼率通道,多路傳輸不同步。
對于單路圖像數(shù)據(jù),由于編碼后的圖像流在傳輸過程中具有突發(fā)傳輸?shù)奶攸c。即有效數(shù)據(jù)流傳輸時,碼率高,只傳輸消隱期數(shù)據(jù),則碼率很低。如果只是湊夠了一定的數(shù)據(jù)包大小才啟動一次傳輸,則會造成消隱期數(shù)據(jù)發(fā)送遲滯,嚴(yán)重情況下會打亂接收端時序,最終傳輸失敗。
這里,采用一種類似時間輪片的方法,一方面采用fifo狀態(tài)標(biāo)志來產(chǎn)生發(fā)送請求,即當(dāng)fifo中數(shù)據(jù)達(dá)到發(fā)送長度時,發(fā)送請求模塊產(chǎn)生一次發(fā)送請求;另一方面,如果fifo不空的時候,啟動一個內(nèi)部計時機(jī)制,在達(dá)到超時的情況下,雖然fifo內(nèi)的數(shù)據(jù)達(dá)不到發(fā)送正常包的長度,依然去請求一次發(fā)送,來滿足系統(tǒng)實時性的要求。
發(fā)送決策及編碼狀態(tài)機(jī)的工作流程是首先對不同模塊產(chǎn)生的請求進(jìn)行排序。如果當(dāng)前只有一個通道產(chǎn)生發(fā)送請求,則對產(chǎn)生發(fā)送請求通道的數(shù)據(jù)進(jìn)行一個打包發(fā)送。如果兩個通道同時產(chǎn)生發(fā)送請求,則首先響應(yīng)通道號較小的通道,當(dāng)發(fā)送完通道號較小的通道緩存fifo數(shù)據(jù)后,然后再發(fā)送其它。在正常情況下,這種方式顯現(xiàn)不出太大優(yōu)點。但是如果視頻通道的總數(shù)據(jù)率達(dá)到或超過信道帶寬或者某一通道的圖像數(shù)據(jù)出現(xiàn)異常時,這種方式,只阻塞通道號大的通道即低優(yōu)先級的通道,通道號小的通道圖像即高優(yōu)先級的通道正常傳輸,而不是整個傳輸信道出現(xiàn)錯亂,從而提高傳輸?shù)目煽啃浴?/p>
在通道編碼過程中,分別定義如下控制字:
通道1包頭:0xC077
通道2包頭:0xC877
通道3包頭:0xD177
通道4包頭:0xD977
包尾:0xD277
空字節(jié)1:0xFFFF
空字節(jié)2:0xFFFE
其中空字節(jié)1和2,主要的目的是給后面串行發(fā)送模塊預(yù)留出來時鐘校正和字節(jié)排序碼的時序。
整個包格式如表3所示。
表3 整個包格式
當(dāng)發(fā)送狀態(tài)機(jī)相應(yīng)某一通道發(fā)送請求后,首先發(fā)送8個空字節(jié)1,接著發(fā)送1個空字節(jié)2。然后,開始發(fā)送添加了包頭和包尾的一段通道數(shù)據(jù),當(dāng)發(fā)送fifo的數(shù)據(jù)為空時,結(jié)束發(fā)送。
整個工程是在quartus環(huán)境下進(jìn)行設(shè)計,目標(biāo)器件是WP4CGX110T[4][5],使用的仿真開發(fā)平臺為modelsim 10.1d。
在設(shè)計中,為了仿真結(jié)果更接近實際,分別對3個通道輸入如下仿真激勵信號:通道1和3:320×256×50 Hz,通道2:640×512×100 Hz,時鐘均為50 MHz。圖4為輸入的三路激勵波形。圖5是數(shù)據(jù)編碼模塊的仿真。
圖4 仿真激勵波形
圖5 數(shù)據(jù)編碼模塊仿真結(jié)果
圖中VSYN1、HSYN1分別指代的是場有效及行有效信號,stream_data1為編碼后的數(shù)據(jù)流,stream_data_en1為編碼后的數(shù)據(jù)有效標(biāo)志,由圖中stream_data_en1可知,編碼后的數(shù)據(jù)流只包含有效行的數(shù)據(jù)以及少量的消隱期計數(shù)數(shù)據(jù),整個對傳輸數(shù)據(jù)流的壓縮效果較好。
優(yōu)先級編碼傳送結(jié)果如圖6~8所示。
圖7 高優(yōu)先級搶占低優(yōu)先級傳輸
圖8 低優(yōu)先級搶占高優(yōu)先級
圖中bag_en指示的是不同通道打包發(fā)送的一組數(shù)據(jù),可用來估計不同時刻到底是打包的哪個通道數(shù)據(jù)。由圖中看出,在不同請求同時到來的情況下,程序先滿足通道數(shù)小的通道,進(jìn)行數(shù)據(jù)包的發(fā)送,而在不同通道包發(fā)送過程中,程序不會去響應(yīng)其他通道發(fā)送請求,能夠達(dá)到設(shè)想的效果。
最終的發(fā)送請求和傳輸細(xì)節(jié)可由圖9看出。
圖9 信道發(fā)送綜合效果圖
在圖中,當(dāng)視頻信號處于消隱期的時候,模塊依然可以通過內(nèi)部定時產(chǎn)生等間隔的超時發(fā)送請求,滿足實時傳輸?shù)囊蟆6矣烧埱笮盘柡蚥ag_en 信號的疏密可知,3路視頻已經(jīng)完整的復(fù)用在了最終的數(shù)據(jù)流bag中,達(dá)到了實時復(fù)用的目的。
由仿真結(jié)果可以看出,數(shù)據(jù)編碼、時分復(fù)用打包模塊達(dá)到了設(shè)計的效果,整個多數(shù)據(jù)單信道復(fù)用的傳輸方法算法有效可行,達(dá)到了預(yù)期的目的。
本文所設(shè)計的多路數(shù)據(jù)單信道傳輸時分復(fù)用模塊,很好地解決了多路視頻同時傳輸?shù)膯栴}。尤其是發(fā)送請求模塊,結(jié)合時間輪片和基于優(yōu)先級的調(diào)度算法,在滿足各通道實時傳輸?shù)臈l件下,為盡可能多的時分復(fù)用信道提供一種可靠方法,理論上可以復(fù)用接近一個串行通道的傳輸極限,對于2.5Gbps的信道,最多可以復(fù)用接近2Gbps的傳輸數(shù)據(jù),是一種經(jīng)濟(jì)、實用的圖像數(shù)據(jù)傳輸方式,可以應(yīng)用于多路視頻同時傳輸系統(tǒng)。
[1] 吳 賀.多通道數(shù)字光電轉(zhuǎn)換系統(tǒng)的設(shè)計與實現(xiàn)[D]. 西安:西安電子科技大學(xué),2013.
[2] 肖兒良,韋榮明,顏文超. 基于Aurora及CameraLink的高速數(shù)字圖像傳輸[J]. 信息技術(shù), 2015(4):94-97.
[3] 姚七棟,張春玉.CRC校驗及其軟件實現(xiàn)[J]. 現(xiàn)代電子技術(shù),2006(13):67-68.
[4] 陳忠平,高金定,高見芳.基于Quartus II的FPGA/CPLD設(shè)計與實踐[M].北京:電子工業(yè)出版社,2010.
[5] 王 誠,蔡海寧,吳繼華.Altera FPGA/CPLD設(shè)計(基礎(chǔ)篇)[M]. 北京:人民郵電出版社,2011.
Research on Method for Single Channel Transmitting Multi-channel Data Based on FPGA
Liu Huan1,2,Xiao Zhihe1,2,Shi Zhiqiang2
(1.Beijing Institute of Environment Characteristics, Beijing 100854, China;2.National Electromagnetic Scattering Laboratory, Beijing 100854, China)
In order to solve the problem of fast and long-distance transmission for image data, using optical fiber as medium , optimization for the method of image transmission based on the FPGA was studied. Characteristic and the long-distance transmission difficulties of image data were also analysed. We designed a time-division multiplexing (TDM) transmission system running on the FPGA. To begin with algorithm design, this paper analyses the advantages and disadvantages of the operating framework and operating principles of reused-module. Meanwhile, a reused-module based on the time-slice was proposed. This paper introduces the core algorithms of reused-module, details the coding unit and the design method and characteristics of the transmission requiring module. Finally, the effectiveness of the image transmitting method was verified by the experiment, and the results demonstrate that the method for single channel transmitting multi-channel data is efficient and reliable.
high resolution; image transmission; TDM; priorities; time-slice
2016-01-26;
2016-03-07。
劉 歡(1985-),男,河北廊坊人,碩士研究生,主要從事信號處理方向的研究。
肖志河(1966-),男,北京人,研究員,碩士研究導(dǎo)師,主要從事電磁場散射、信號處理等方向的研究。
1671-4598(2016)07-0276-04
10.16526/j.cnki.11-4762/tp.2016.07.074
TP391 文獻(xiàn)標(biāo)識碼:A