閔應(yīng)濤,唐清善,李亞捷,鐘海麗,曾鵬飛,羅 振,陳 凱,黎 歡
(長沙理工大學(xué) 物理與電子科學(xué)學(xué)院,湖南 長沙 410004)
?
一種基于GTP的光纖高清視頻傳輸系統(tǒng)設(shè)計
閔應(yīng)濤,唐清善,李亞捷,鐘海麗,曾鵬飛,羅振,陳凱,黎歡
(長沙理工大學(xué) 物理與電子科學(xué)學(xué)院,湖南 長沙 410004)
摘要為滿足視頻傳輸系統(tǒng)對遠距離、高清畫質(zhì)、無失真、抗干擾性和穩(wěn)定性的需求,提出了一種基于GTP的高速串行傳輸以取代以往的并行傳輸模式,實現(xiàn)高清視頻的無壓縮遠距離傳輸。FPGA采集數(shù)字視頻數(shù)據(jù)后識別視頻格式并經(jīng)過SDRAM緩存,在GTP中轉(zhuǎn)換為高速串行數(shù)據(jù)后通過單模光纖傳輸。GTP在2.5 Gbit·s-1的速率下傳輸,接收端對視頻數(shù)據(jù)進行解碼、緩存、顯示。經(jīng)過仿真、調(diào)試、驗證,系統(tǒng)能穩(wěn)定傳輸720p、1 080p等8種主流分辨率的視頻,且可實時切換。
關(guān)鍵詞GTP;高清視頻;光纖傳輸;實時切換分辨率
隨著高清視頻的普及,遠距離傳輸帶寬高、數(shù)據(jù)量大的高清視頻信號成為趨勢[1],人們越來越需要通過高清畫面獲得更豐富的細節(jié)信息,而傳統(tǒng)的傳輸方式一般將視頻壓縮后傳輸,傳輸速率通常為1.485Gbit·s-1,以適應(yīng)較低的帶寬,雖然能夠完成傳輸?shù)绊懏嬅婕毠?jié)甚至失真,特別是犯罪監(jiān)控、危險場所等無法捕獲關(guān)鍵的細節(jié)信息。國內(nèi)市場視頻傳輸系統(tǒng)多采用標(biāo)準(zhǔn)串行接口,支持NTSC、PAL、SECAM制式視頻格式輸入,采集的視頻信號多為CVBS視頻信號或者直接從前端CMOS、CCD攝像頭獲取的原始視頻信號[2],而采集DVI接口的高清視頻,以2.5Gbit/s-1的速率直接傳輸無壓縮視頻,能夠傳輸多種分辨率并能自適應(yīng)調(diào)整分辨率的產(chǎn)品較少。另外,多數(shù)產(chǎn)品將視頻的數(shù)據(jù)、行場信號、像素時鐘封裝成幀同步傳輸,即使行場消隱期間的無效數(shù)據(jù)仍然被傳輸,不僅浪費帶寬,且由于像素時鐘的傳輸需要外加波分復(fù)用器,增加了成本[3]。為解決上述問題,本文研究了一種能夠遠距離傳輸無壓縮高清視頻的光纖傳輸系統(tǒng),具有一定的應(yīng)用價值。
1系統(tǒng)設(shè)計方案及工作流程
1.1系統(tǒng)設(shè)計方案
系統(tǒng)是在FPGA具有足夠的帶寬和數(shù)據(jù)處理能力的基礎(chǔ)上工作的,F(xiàn)PGA通過視頻采集芯片獲得圖像數(shù)據(jù)后進行處理,并控制一片SDRAM進行緩存,最后通過GTP發(fā)送出去,接收端將通過單模光纖收到的視頻數(shù)據(jù)進行處理、SDRAM緩存并通過TFP410顯示到LCD上,系統(tǒng)設(shè)計方案框圖如圖1所示。
圖1 系統(tǒng)設(shè)計方案框圖
1.2系統(tǒng)工作流程
高清視頻數(shù)據(jù)經(jīng)過FPGA內(nèi)部邏輯采集編碼后,在一片SDRAM中進行緩存,通過兩個容量為8k×32bit的FIFO進行數(shù)據(jù)跨時鐘域處理,最后通過GTP和單模光纖將FPGA中的視頻數(shù)據(jù)發(fā)送出去,接收端GTP收到數(shù)據(jù)后進行逆向處理,最終在LCD上顯示出視頻圖像。不同模塊所處時鐘域如圖2所示。
圖2 各模塊所處時鐘域
(1)系統(tǒng)上電后完成一系列初始化工作,ARM通過I2C配置差分晶振芯片SI570,使其輸出62.5MHz的LVDS電平格式差分時鐘,提供給FPGA中GTP使用;(2)FPGA中的視頻數(shù)據(jù)采集模塊在像素時鐘頻率下采集視頻數(shù)據(jù)并寫入FIFO1中,只采集有效視頻數(shù)據(jù),行同步和場同步時的數(shù)據(jù)均舍棄;(3)視頻格式編碼模塊根據(jù)不同的分辨率對應(yīng)產(chǎn)生一個8位的視頻格式編碼,并插入到4個32bit的場同步碼中,在場同步時向FIFO1寫入;(4)SDRAM控制器輪流進行讀寫操作,將FIFO1中數(shù)據(jù)讀出寫入到SDRAM,并將SDRAM中數(shù)據(jù)讀出寫入到FIFO2,在讀FIFO1和寫FIFO2時,都需要對場同步碼進行解碼操作,解出場同步碼后產(chǎn)生一個SDRAM讀寫行地址清零信號;(5)數(shù)據(jù)讀出FIFO2后送入到GTP模塊,GTP在每32個數(shù)據(jù)中插入兩個同步碼,然后將并行數(shù)據(jù)轉(zhuǎn)換為高速串行數(shù)據(jù),并通過SFP光模塊轉(zhuǎn)換為光信息后通過單模光纖發(fā)送出去;(6)接收端GTP收到數(shù)據(jù)后轉(zhuǎn)換為并行數(shù)據(jù),并通過同步碼對錯位的數(shù)據(jù)進行糾正,然后將去掉同步碼后的數(shù)據(jù)寫入到FIFO中,同步碼錯位方式如圖3所示;(7)與發(fā)送端一樣,接收端同樣在一片SDRAM中進行數(shù)據(jù)緩存,通過兩個容量為8k×32bit的FIFO進行數(shù)據(jù)的跨時鐘域處理[4];(8)接收端對場同步碼解碼后得到視頻格式編碼,以此為依據(jù)產(chǎn)生對應(yīng)的行場格式和像素時鐘,并最終將視頻數(shù)據(jù)顯示到LCD上。
圖3 GTP同步碼錯位
2系統(tǒng)關(guān)鍵部分設(shè)計及調(diào)試
FPGA內(nèi)部邏輯處理包括用于視頻數(shù)據(jù)緩存的SDRAM控制器,實現(xiàn)視頻數(shù)據(jù)跨時鐘域處理的FIFO,這部分在發(fā)送端和接收端的原理相同,另外發(fā)送端有視頻格式識別與編碼部分,接收端有像素時鐘動態(tài)重配置部分和行場格式產(chǎn)生部分。
2.1GTP配置及帶寬計算
在Spartan-6系列FPGA中,GTP由物理編碼子層PCS和物理媒體適配層PMA組成[4],除了并行/串行時鐘、底層IP包選擇、8B/10B編碼選擇、數(shù)據(jù)寬度、Comma字符等參數(shù)的配置[5],還需通過Xilinx的集成比特錯誤率測試儀IBERT,配置收發(fā)端預(yù)/去加重的權(quán)重值、接收端均衡值、接收終端電壓及發(fā)送端差分輸出電壓等關(guān)鍵參數(shù)[6],找到適合硬件的最佳通信參數(shù),以達到最小的誤碼率。
GTP的帶寬選取與最大視頻格式的場有效時鐘有關(guān),在SDRAM緩存一幅圖像的前提下,GTP要在下一幅圖像到來前將當(dāng)前圖像傳輸完。傳輸?shù)姆洲q率為800×600~1 920×1 080,最大分辨率1 920×1 080的像素時鐘為148.5MHz,一場的像素點共為2 200×1 125個,實際像素時鐘頻率為f1=148.5MHz,實際周期為T1=1/f1,有效像素點為1 920×1 080個,有效像素時鐘頻率f2和有效周期T2。
一場圖像連續(xù)傳輸2 200×1 125個像素點,雖有24bit,但經(jīng)過RGB轉(zhuǎn)YUV后只有16bit,每個像素的時間長度為T1,所以每場的實際時間為2 200×1 125×T1。
實際上每場只有1 920×1 080個像素點,F(xiàn)IFO將兩個16bit轉(zhuǎn)換為一個32bit數(shù)據(jù)再送給GTP,且經(jīng)過FIFO處理后其并不間斷,而是連續(xù)的,所以有效像素個數(shù)為1 920×1 080/2個,即一場的時間內(nèi),只傳輸了1 920×1 080/2個32bit數(shù)據(jù),所以每個數(shù)據(jù)的等效時間應(yīng)該為T2=(2 200×1 125×T1)/(1 920×1 080/2),將T寫為1/f,變成1/f2=(2 200×1 125/f1)/(1 920×1 080/2),因此f2=(1 920×1 080)×f1(2 200×1 125×2)=62.208MHz,這就是分辨率1 920×1 080的等效像素時鐘頻率,其余分辨率的值一樣可以計算出來,如表1所示。
表1 不同分辨率的場等效像素時鐘
表1中的場有效時鐘頻率最大為62.208MHz,因此GTP工作頻率高于62.208MHz即可。當(dāng)GTP工作于62.5MHz的速率時,由于使用了8B/10B編碼,系統(tǒng)的串行速度為62.5MHz×10/8=2.5Gbit·s-1,這就是GTP的串行工作速度。
2.2SDRAM控制器
系統(tǒng)使用SDRAM緩存視頻數(shù)據(jù),使用FPGA設(shè)計高可靠性的SDRAM控制方案[7-8],選用三星的64Mbit大容量SDRAM存儲器K4S643232H-UC60[6]。SDRAM控制器工作在150MHz時鐘頻率下,F(xiàn)PGA讀出FIFO1的數(shù)據(jù)后進行解碼判斷,一旦解出場同步碼就將VSYNIN_CLR信號置位并保持一段時間,等待SDRAM操作完成,然后狀態(tài)機返回繼續(xù)讀數(shù)據(jù)解碼。當(dāng)FIFO1不為空且VSYNIN_CLR為低時產(chǎn)生一個高有效的RD_FIFO1_RDY信號給SDRAM控制器。同理,讀出SDRAM的數(shù)據(jù)寫入FIFO2時也會對讀出的數(shù)據(jù)解碼,一旦解出場同步碼就置位VSYNOUT_CLR信號,等待一段時間,等待SDRAM操作完成后繼續(xù)對讀出SDRAM的數(shù)據(jù)解碼。當(dāng)FIFO2未滿且VSYNOUT_CLR信號為低時產(chǎn)生一個高有效的WR_FIFO2_RDY信號給SDRAM控制器。最大分辨率1 080p共有1 920×1 080個24bit有效數(shù)據(jù),經(jīng)過RGB轉(zhuǎn)YUV后為1 920×1 080/2個32bit數(shù)據(jù),而選擇的SDRAM有21位行列地址線,即最多存儲2M個32bit數(shù)據(jù),因此一片SDRAM可存儲2.02幅高清圖像,每緩存一幅圖像后讀寫SDRAM的行號均清零,因此只需一片SDRAM即可實現(xiàn)圖像數(shù)據(jù)的緩存。
SDRAM控制器中的讀寫使能控制狀態(tài)機首先在WAIT_WR_SDR狀態(tài)進行判斷,若RD_FIFO1_RDY信號有效且SDRAM_RD_REQ為低,則置位WR_EN信號并進入WR_SDR狀態(tài),狀態(tài)機在WR_SDR等待1 024個時鐘周期后清零WR_EN信號并跳轉(zhuǎn)到WAIT_RD_SDR,如果在WAIT_WR_SDR狀態(tài)時RD_FIFO1_RDY無效或SDRAM_RD_REQ為高,則狀態(tài)機直接跳轉(zhuǎn)到WAIT_RD_SDR。在WAIT_RD_SDR狀態(tài),如果WR_FIFO2_RDY信號有效且SDRAM_WR_REQ為低,則置位RD_EN信號并進入RD_SDR,等待1 024個時鐘周期后清零RD_EN信號并跳轉(zhuǎn)到WAIT_WR_SDR,在WAIT_RD_SDR狀態(tài),如果WR_FIFO2_RDY信號無效或SDRAM_WR_REQ為高,則狀態(tài)機直接跳轉(zhuǎn)到WAIT_WR_SDR狀態(tài)。圖4是SDRAM讀寫控制狀態(tài)機流程圖。SDRAM使用頁突發(fā)的方式進行讀寫,每次讀寫一整行256個32bit數(shù)據(jù),每次WR_EN信號有效或RD_EN信號有效都連續(xù)突發(fā)讀寫4次共1 024個32bit數(shù)據(jù),因此在WR_SDR和RD_SDR狀態(tài)都等待1 024個時鐘周期,以完成4次突發(fā)讀寫的請求。圖5為Chipscope抓取的讀出SDRAM數(shù)據(jù)。
圖4 SDRAM讀寫控制狀態(tài)機
圖5 SDRAM讀出數(shù)據(jù)
2.3視頻數(shù)據(jù)跨時鐘域處理
使用一個FIFO進行視頻數(shù)據(jù)的跨時鐘域處理,解決SDRAM數(shù)據(jù)接口與像素時鐘、GTP時鐘之間的不匹配問題[9]。FGPA獲取TFP403芯片采集到的視頻數(shù)據(jù)后寫入到FIFO1中,在場同步時向FIFO1中寫入場同步碼,場同步碼由4個32bit數(shù)據(jù)組成,包含2個相同的8bit視頻格式碼,視頻格式碼在視頻格式識別與編碼部分產(chǎn)生。FIFO1的復(fù)位信號為GTP輸出的復(fù)位信號,寫入時鐘為視頻數(shù)據(jù)的像素時鐘,大小為40~148.5MHz,視頻數(shù)據(jù)有效或?qū)懭雸鐾酱a時WREN信號都有效,而讀信號RDEN則由VSYNIN_CLR信號和SDRAM_WR_ACK信號共同產(chǎn)生,讀出FIFO1的數(shù)據(jù)解碼后寫入SDRAM,而讀出SDRAM的數(shù)據(jù)同樣經(jīng)過一個FIFO進行處理再以62.5MHz的時鐘讀出到GTP中。使用FIFO1進行視頻數(shù)據(jù)的跨時鐘域處理框圖如圖6所示。
圖6 視頻數(shù)據(jù)跨時鐘域處理框圖
2.4像素時鐘動態(tài)重配置
為在接收端及時配置正確像素時鐘,發(fā)送端要識別8種分辨率的視頻格式并編碼,通過每行的有效數(shù)據(jù)個數(shù)和每場的有效行數(shù)來識別要比通過像素時鐘來識別更加準(zhǔn)確。接收端解碼得到視頻格式編碼后,若發(fā)現(xiàn)視頻格式有變化,立即通過PLL_ADV的動態(tài)重配置產(chǎn)生對應(yīng)的像素時鐘頻率[10]和行場時序,并將視頻數(shù)據(jù)顯示到LCD上,經(jīng)過測試,視頻格式變化后產(chǎn)生新的像素時鐘頻率需要2.452us,可確保視頻格式切換的實時性,像素時鐘的動態(tài)重配置仿真如圖7所示。
圖7 像素時鐘動態(tài)重配置仿真圖
圖8 系統(tǒng)運行實物圖
經(jīng)過調(diào)試和驗證,使用PC機作為視頻源,通過DVI線連接到發(fā)送端電路板,發(fā)送端經(jīng)過內(nèi)部處理后將數(shù)據(jù)通過光纖發(fā)送給接收端電路板,接收端接收數(shù)據(jù)并通過DVI線連接到LCD顯示,實驗證明能夠清晰流暢地播放視頻。實物如圖8所示。
3結(jié)束語
本文利用GTP在高速串行傳輸中的優(yōu)勢和FPGA的并行處理優(yōu)勢,實現(xiàn)了720p、1 080p等8種主流分辨率的高清視頻數(shù)據(jù)的傳輸,解決了傳統(tǒng)視頻傳輸系統(tǒng)清晰度不高,對于關(guān)鍵的細節(jié)信息無法捕獲,無法進行遠距離傳輸?shù)葐栴}。FPGA采集數(shù)字視頻數(shù)據(jù)后識別視頻格式并經(jīng)過SDRAM緩存,在GTP中轉(zhuǎn)換為高速串行數(shù)據(jù)后通過單模光纖傳輸。視頻像素時鐘為40~148.5MHz,GTP工作速率2.5Gbit·s-1,接收端對視頻數(shù)據(jù)進行解碼、緩存、顯示。經(jīng)過仿真、調(diào)試、驗證,視頻能夠清晰穩(wěn)定顯示,并在8種分辨率之間實時切換。
參考文獻
[1]廖加文.基于FPGA的高清視頻光纖傳輸系統(tǒng)的研究與實現(xiàn)[D].西安:中國科學(xué)院研究生院西安光學(xué)精密機械研究所,2013.
[2]張朝春.高清視頻光纖傳輸系統(tǒng)[D].成都:成都理工大學(xué),2012.
[3]熊先越,高進,李保雪.基于Spartan-6的高清視頻傳輸系統(tǒng)[J].光通信技術(shù),2014,38(7):36-38.
[4]Xilinx.XilinxSpartan-6FPGAGTPtransceiversadvanceproductspecification[M].USA:XilinxCorporation,2010.
[5]孫科林,周維超,吳欽章.高速實時光纖圖像傳輸系統(tǒng)的工程實現(xiàn)[J].光學(xué)精密工程,2011,19(9):2228-2235.
[6]李凱,何松華,歐建平.Virtex-5GTP和Virtex-6GTX間匹配通信研究及應(yīng)用[J].計算機應(yīng)用,2014,34(2):325-328.
[7]朱文斌,劉春平,黃振.基于FPGA的高可靠性SDRAM控制器設(shè)計與實現(xiàn)[J].電訊技術(shù),2011,51(10):113-116.
[8]陳雨,陳科,安濤.高速圖像處理系統(tǒng)中DDR2-SDRAM接口的設(shè)計[J].現(xiàn)代電子技術(shù),2011(12):104-107,110.
[9]庾志衡,葉俊明,鄧迪文.基于FPGA與DDR2SDRAM的大容量異步FIFO緩存設(shè)計[J].微型機與應(yīng)用,2011(4):34-36.
[10]KarlKurbjun.PLLdynamicreconfiguration[M].USA:XilinxCorporation,2011.
Design of Fiber Optic High-definition Video Transmission System Based on GTP
MINYingtao,TANGQingshan,LIYajie,ZHONGHaili,ZENGPengfei,LUOZhen,CHENKai,LIHuan
(SchoolofPhysicsandElectronicScience,ChangshaUniversityofScienceandTechnology,
Changsha410004,China)
AbstractTo meet the needs of the long-distance, high-definition picture quality, anti-interference and stability in video transmission system, a high-speed serial transmission based on GTP is proposed to replace the conventional parallel transmission mode, implements long-distance transmission of uncompressed HD video. FPGA identifies the video formats and cached data in SDRAM after acquiring digital video data, which are converted to high-speed serial data in GTP and then transmitted via single-mode fibers at 2.5 Gbit·s-1. The receiver decodes, caches and displays the video data. Simulation, debugging and verification show that the system is capable of stable transmission of and real-time switching between 8 mainstream resolution videos such as 720p and1 080p.
KeywordsGTP; HD Video; fiber transmission; real-time switching resolution
收稿日期:2015- 11- 04
作者簡介:閔應(yīng)濤(1989-),男,碩士研究生。研究方向:數(shù)字視頻處理。唐清善(1977-),男,博士。研究方向:數(shù)字信號處理等。李亞捷(1980-),女,副教授。研究方向:基于光纖的全光處理器件。鐘海麗(1967-),女,副教授。研究方向:光電子技術(shù)及其應(yīng)用等。
doi:10.16180/j.cnki.issn1007-7820.2016.07.040
中圖分類號TN919.8
文獻標(biāo)識碼A
文章編號1007-7820(2016)07-139-04