姜興家+劉布民+何春梅+鄭劍鋒
摘 要:介紹了一種用FPGA實(shí)現(xiàn)的基于UDP協(xié)議的新型視頻流傳輸系統(tǒng);分析了系統(tǒng)中各個(gè)組成部分的設(shè)計(jì)方法;同時(shí)結(jié)合測(cè)試方案得出實(shí)際的測(cè)試結(jié)果,測(cè)試結(jié)果表明,本系統(tǒng)能達(dá)到設(shè)計(jì)需求的目標(biāo);最后對(duì)系統(tǒng)做出總結(jié)并給出一種改進(jìn)型方案及其應(yīng)用市場(chǎng)的預(yù)測(cè)。
關(guān)鍵詞:FPGA;VLC;UDP;MicroBlaze
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-1302(2014)02-0044-03
0 引 言
近年來(lái),移動(dòng)互聯(lián)網(wǎng)技術(shù)發(fā)展迅猛,人們希望在任何時(shí)間任何地點(diǎn)以任何方式進(jìn)行通信,無(wú)線互聯(lián)網(wǎng)技術(shù)無(wú)疑至關(guān)重要,尤其對(duì)圖像及其傳輸?shù)男枨笤絹?lái)越迫切,其中視頻的實(shí)時(shí)傳輸越發(fā)受到人們的重視,基于視頻流的無(wú)線傳輸技術(shù)已形成新的研究熱點(diǎn)[1,2]。為了滿足市場(chǎng)需求,本文提出一種新型的視頻流傳輸方案:PC機(jī)發(fā)送的視頻流通過網(wǎng)卡發(fā)送到網(wǎng)線上,網(wǎng)線的數(shù)據(jù)通過PHY芯片以GMII格式發(fā)送到FPGA,F(xiàn)PGA緩存并處理數(shù)據(jù)后以串行數(shù)據(jù)形式發(fā)送到SMA口上,經(jīng)過放大后的電信號(hào)被電光轉(zhuǎn)換模塊轉(zhuǎn)換成光信號(hào),接收端的光電轉(zhuǎn)換模塊將接收到的電信號(hào)以SMA格式輸入到FPGA,經(jīng)過處理后的GMII格式數(shù)據(jù)通過PHY芯片與PC的網(wǎng)口相連,PC上的VLC只要經(jīng)過相應(yīng)正確的操作就能顯示實(shí)時(shí)傳輸?shù)囊曨l流。
1 系統(tǒng)結(jié)構(gòu)及功能分析
1.1 總體需求方案
由于現(xiàn)在的無(wú)線通信技術(shù)中帶寬的限制,人們觀看實(shí)時(shí)視頻的時(shí)候經(jīng)常出現(xiàn)卡屏的現(xiàn)象。為了達(dá)到流暢播放視頻流的效果,設(shè)計(jì)出的總體需求方案框圖如圖1所示,其中的第一路到第四路都是光路,這樣可以滿足無(wú)線傳輸?shù)男Ч?/p>
從圖1可以看到,圖中一共有4路輸出端可以接收到視頻流,但是輸出視頻的切換由發(fā)送方完成。每一路連接輸入與輸出的光路都會(huì)在前端加一個(gè)放大器,且為提高設(shè)計(jì)效率采用現(xiàn)成的光電轉(zhuǎn)換芯片完成光路的設(shè)計(jì)。
1.2 總體設(shè)計(jì)方案
為實(shí)現(xiàn)上述需求方案,這里以一路設(shè)計(jì)為例來(lái)進(jìn)行說明。本設(shè)計(jì)在視頻流進(jìn)入FPGA之前,先經(jīng)過PHY芯片將視頻流轉(zhuǎn)換成GMII格式數(shù)據(jù),這樣做的好處是FPGA可以直接處理這種格式數(shù)據(jù)而不需要再做任何變換即可。而之所以這么做是因?yàn)?,視頻流數(shù)據(jù)做緩存和串并轉(zhuǎn)換處理沒有必要將數(shù)據(jù)包打開,即使是在報(bào)文解析拿出UDP端口號(hào)時(shí)也是僅僅用端口號(hào)做了判斷,沒有將數(shù)據(jù)包剝開或者打亂次序。通過引入現(xiàn)成的PHY芯片,我們大大降低了本方案的難度和工作量。
圖1 總體需求方案框圖
對(duì)于發(fā)送方和接收方FPGA之間的光路系統(tǒng),包括放大電路、LED驅(qū)動(dòng)電路、光路、電光轉(zhuǎn)換電路和放大整形電路。首先,要將輸出的串行數(shù)據(jù)流進(jìn)行放大,放大后的信號(hào)耦合穩(wěn)流電流源后再驅(qū)動(dòng)LED驅(qū)動(dòng)電路,這兩部分組成電光轉(zhuǎn)換模塊。光電轉(zhuǎn)換模塊則包括了光電轉(zhuǎn)換電路和放大整形電路兩大部分,其中的光電轉(zhuǎn)換電路用轉(zhuǎn)換芯片完成,由于光路衰減比較嚴(yán)重,需要進(jìn)行放大,然后整形成標(biāo)準(zhǔn)的TTL電平,這樣之后才可以直接連接到FPGA當(dāng)作數(shù)字信號(hào)進(jìn)行處理。
接收方FPGA在接收到經(jīng)過處理的串行信號(hào)后先從里面恢復(fù)出時(shí)鐘,再進(jìn)行緩存和串并轉(zhuǎn)換處理,以GMII格式輸出到PHY芯片上,PHY芯片通過網(wǎng)線與PC相連。只要接收方PC經(jīng)過正確操作,就可以無(wú)失真地接收發(fā)送方PC傳過來(lái)的實(shí)時(shí)視頻流。
對(duì)于多路輸出情形,只需在發(fā)送方FPGA的輸出端再添加一路接收系統(tǒng)即可。這些系統(tǒng)包括光路系統(tǒng)、接收方FPGA、PHY芯片、網(wǎng)線和帶有網(wǎng)卡的接收方PC。
2 系統(tǒng)硬件及各結(jié)構(gòu)實(shí)現(xiàn)
2.1 硬件設(shè)計(jì)
以一路設(shè)計(jì)為例來(lái)說明,本系統(tǒng)的硬件框圖如圖2所示。
圖2 系統(tǒng)硬件框圖
圖2中,發(fā)送方PC和接收方PC要求主流配置即可,本設(shè)計(jì)采用的是:CPU為Intel Core i5-2450M,內(nèi)存為4GB,顯卡為NVIDIA GeForce GT 630M,操作系統(tǒng)為64位Windows7。網(wǎng)卡也是主流應(yīng)用的網(wǎng)卡,此處為Broadcom NetLink BCM57785 Gigabit Ethernet。
PHY芯片采用的是Marvell的成熟芯片88e1111。發(fā)送方和接收方FPGA均采用Xilinx的Vertex 6 芯片,型號(hào)為6vlx240t。電光轉(zhuǎn)換芯片采用的是S6968。
對(duì)于多路輸出情形,只需加一套發(fā)送方FPGA之后的所有硬件即可,唯一的差別就在于與發(fā)送方FPGA的接口不同而已。另外,為了能夠控制通道切換,增加USB控制電路和LCD顯示電路。在硬件上增加一片CP2103將USB轉(zhuǎn)換為Uart,然后連接到FPGA管腳上。LCD模塊則包括一片電壓轉(zhuǎn)換芯片ST2378E和LCD1602,用來(lái)顯示通道切換情況。
2.2 發(fā)送方FPGA的分模塊設(shè)計(jì)
將發(fā)送方FPGA的設(shè)計(jì)分成鎖相環(huán)、FIFO緩沖、DPRAM乒乓存儲(chǔ)、UDP報(bào)文解析、通道切換、MicroBlaze處理器和并串轉(zhuǎn)換共7個(gè)模塊。
(1) 緩存模塊
該模塊主要將接收到的來(lái)自PHY芯片的GMII格式數(shù)據(jù)經(jīng)過FIFO和DPRAM后輸出,F(xiàn)IFO輸出數(shù)據(jù)送到報(bào)文解析模塊,經(jīng)過DPRAM進(jìn)行乒乓存儲(chǔ)后的數(shù)據(jù)傳送到通道切換模塊。
(2)報(bào)文解析模塊
該模塊的作用是在數(shù)據(jù)有效信號(hào)的上升沿開始接收發(fā)送來(lái)的數(shù)據(jù),判斷為MAC頭并去掉MAC頭,判斷IP頭并去掉IP頭,判斷UDP報(bào)文并取出目的端口號(hào)鎖存,同時(shí)給一個(gè)Valid信號(hào)。
(3) Microblaze控制模塊
用于判斷Uart接口接收的字符串格式,給出4種不同端口號(hào)和對(duì)應(yīng)的通道號(hào),設(shè)置好LCD顯示,然后將對(duì)應(yīng)關(guān)系通過LCD顯示出來(lái)。同時(shí),MicroBlaze中的LwIP可以跑一個(gè)精簡(jiǎn)的IP協(xié)議,對(duì)Mac地址、IP地址及UDP端口號(hào)可方便設(shè)置,也有利于在擴(kuò)展中把裸數(shù)據(jù)打包成為以太網(wǎng)標(biāo)準(zhǔn)格式的數(shù)據(jù)。
(4)通道切換模塊
該模塊通過Microblaze的控制信號(hào)結(jié)合報(bào)文解析模塊的端口號(hào)判斷哪個(gè)端口號(hào)對(duì)應(yīng)哪個(gè)通道進(jìn)行傳輸,為保證報(bào)文不被截?cái)?,在?shù)據(jù)有效信號(hào)為低時(shí)進(jìn)行切換。
(5)并串轉(zhuǎn)換模塊
該模塊主要包括以下幾部分:第一部分是FIFO:負(fù)責(zé)對(duì)來(lái)自外部的數(shù)據(jù)做緩沖處理;第二部分是DPRAM: 負(fù)責(zé)存儲(chǔ)來(lái)自FIFFO緩沖之后的Rxd;第三部分是核心控制模塊:用于控制時(shí)序,并串轉(zhuǎn)換,并將串行數(shù)據(jù)以7.35 MHz時(shí)鐘輸出,有效數(shù)據(jù)的輸出順序?yàn)?2位開始信號(hào)、12位長(zhǎng)度信號(hào)和數(shù)據(jù)。
2.3 接收方FPGA設(shè)計(jì)
由于接收到的是串行數(shù)據(jù)且沒有時(shí)鐘,所以首先需要由串行數(shù)據(jù)恢復(fù)出7.35 MHz時(shí)鐘。
根據(jù)時(shí)鐘接收32位開始信號(hào),11位長(zhǎng)度信號(hào)和8位數(shù)據(jù)信號(hào),在開始信號(hào)匹配,長(zhǎng)度信號(hào)滿足以太網(wǎng)要求時(shí),將數(shù)據(jù)信號(hào)用DPRAM進(jìn)行乒乓存儲(chǔ)后輸出到Txd給PHY芯片,PHY芯片轉(zhuǎn)換成RJ45格式數(shù)據(jù)送到網(wǎng)線上進(jìn)行傳輸。
3 系統(tǒng)測(cè)試結(jié)果
3.1 測(cè)試方案
發(fā)送方PC通過VLC設(shè)置端口號(hào)并以廣播的方式發(fā)送數(shù)據(jù)流到網(wǎng)卡,視頻流通過本測(cè)試系統(tǒng)后在接收方PC上以VLC播放,播放的視頻流為720P高清電影,視頻位率在1Mb/s左右,最多同時(shí)播放4路,要求接收方PC上的視頻流穩(wěn)定輸出無(wú)丟幀現(xiàn)象,且4路視頻可以自由切換。
3.2 測(cè)試結(jié)果
4路輸出除在剛剛開始的時(shí)候有一點(diǎn)花屏,也會(huì)丟失1~5幀數(shù)據(jù),其他時(shí)間均正常顯示,無(wú)花屏且無(wú)丟幀。
4 改進(jìn)及展望
本系統(tǒng)的緩存采用的是FPGA內(nèi)部的DPRAM,大小只有4 Kb深度,對(duì)于比較大的視頻,緩存要達(dá)到數(shù)十兆甚至上百兆量級(jí),所以,改進(jìn)方案中可以考慮用DDR3來(lái)緩存數(shù)據(jù),既可以解決FPGA內(nèi)部RAM不夠的問題,又可以充分利用比較成熟的DDR存儲(chǔ)技術(shù)—— FPGA內(nèi)部利用控制DDR的IP核,外圍接上硬件DDR3芯片。
當(dāng)大視頻流傳輸于長(zhǎng)距離時(shí),整個(gè)光路系統(tǒng)的功率會(huì)大大增加,為了能夠正常接收實(shí)時(shí)視頻流,就必須改變現(xiàn)有的光路系統(tǒng),但是架構(gòu)無(wú)需改動(dòng),只要在硬件選型上改成大功率的芯片即可,同時(shí),模擬電路部分也要重新進(jìn)行設(shè)計(jì)。
Microblaze的加入有利于設(shè)計(jì)的擴(kuò)展,包括將普通數(shù)據(jù)流打包成為以太網(wǎng)數(shù)據(jù)格式進(jìn)行傳輸,或者增進(jìn)控制邏輯等。
應(yīng)用預(yù)測(cè):本系統(tǒng)可應(yīng)用在快餐店甚至候車廳里面,將現(xiàn)在的燈改成我們實(shí)驗(yàn)里面所用的帶有視頻流信號(hào)的LED燈即可。其他類似領(lǐng)域也可以應(yīng)用此系統(tǒng),既可以提高視頻流傳輸效率,又可以節(jié)約能源,非常實(shí)用。
5 結(jié) 語(yǔ)
本文首先從現(xiàn)實(shí)出發(fā)提出一種實(shí)際的市場(chǎng)需求,然后結(jié)合現(xiàn)有的技術(shù)給出一個(gè)比較合理的設(shè)計(jì)方案。為實(shí)現(xiàn)該方案,從硬件軟件設(shè)計(jì)角度給出可行性設(shè)計(jì)。實(shí)際上,本系統(tǒng)已經(jīng)在硬件上實(shí)現(xiàn)并通過FPGA的設(shè)計(jì)完成了視頻流的實(shí)時(shí)傳輸,限于篇幅僅對(duì)設(shè)計(jì)框圖及思路進(jìn)行了描述。設(shè)計(jì)結(jié)果則如第三節(jié)所述,接收方的視頻流和發(fā)送方視頻流除了有0.4 s左右的延時(shí)外完全一致,丟幀率為零。
參 考 文 獻(xiàn)
[1] 趙源.基于網(wǎng)絡(luò)編碼的無(wú)線傳輸關(guān)鍵技術(shù)研究[D].北京:北京郵電大學(xué),2012.
[2] 王少花.嵌入式視頻圖像采集和無(wú)線傳輸系統(tǒng)的設(shè)計(jì)[D].大連:大連海事大學(xué),2013.
[3] 錢建生,程德強(qiáng),田雋,等. IP網(wǎng)絡(luò)中實(shí)時(shí)視頻流的可靠傳輸控制[J]. 煤炭科學(xué)技術(shù),2006(5):53-55.
[4] 程德強(qiáng),錢建生,田雋.基于覆蓋組播網(wǎng)絡(luò)的實(shí)時(shí)視頻傳輸方案的設(shè)計(jì)[J].電信科學(xué),2006(8): 63-67.
[5] 王菽蘭,趙東風(fēng).H.323視頻會(huì)議體系結(jié)構(gòu)的應(yīng)用研究[J].云南民族學(xué)院學(xué)報(bào):自然科學(xué)版,2003(2): 65-67,73.
A reliable transmission scheme of video stream based on FPGA
JIANG Xing-jia, LIU Bu-min, HE Chun-mei, ZHENG Jian-feng
(School of Microelectronics and Solid-State Electronics, University of Electronic Science and Technology of China, Chengdu 610054, China)
Abstract: A new type of UDP-based video stream transmission system implemented by FPGA is introduced. The design method of each part of the system is analyzed. The test result is obtained in combination with the test scheme, which indicates that the system can meet the requirement of the demand. Finally, the whole design is summarized, and a modified scheme and the prediction for the application market are proposed.
Keywords: FPGA; VLC; UDP; MicroBlaze
(4)通道切換模塊
該模塊通過Microblaze的控制信號(hào)結(jié)合報(bào)文解析模塊的端口號(hào)判斷哪個(gè)端口號(hào)對(duì)應(yīng)哪個(gè)通道進(jìn)行傳輸,為保證報(bào)文不被截?cái)?,在?shù)據(jù)有效信號(hào)為低時(shí)進(jìn)行切換。
(5)并串轉(zhuǎn)換模塊
該模塊主要包括以下幾部分:第一部分是FIFO:負(fù)責(zé)對(duì)來(lái)自外部的數(shù)據(jù)做緩沖處理;第二部分是DPRAM: 負(fù)責(zé)存儲(chǔ)來(lái)自FIFFO緩沖之后的Rxd;第三部分是核心控制模塊:用于控制時(shí)序,并串轉(zhuǎn)換,并將串行數(shù)據(jù)以7.35 MHz時(shí)鐘輸出,有效數(shù)據(jù)的輸出順序?yàn)?2位開始信號(hào)、12位長(zhǎng)度信號(hào)和數(shù)據(jù)。
2.3 接收方FPGA設(shè)計(jì)
由于接收到的是串行數(shù)據(jù)且沒有時(shí)鐘,所以首先需要由串行數(shù)據(jù)恢復(fù)出7.35 MHz時(shí)鐘。
根據(jù)時(shí)鐘接收32位開始信號(hào),11位長(zhǎng)度信號(hào)和8位數(shù)據(jù)信號(hào),在開始信號(hào)匹配,長(zhǎng)度信號(hào)滿足以太網(wǎng)要求時(shí),將數(shù)據(jù)信號(hào)用DPRAM進(jìn)行乒乓存儲(chǔ)后輸出到Txd給PHY芯片,PHY芯片轉(zhuǎn)換成RJ45格式數(shù)據(jù)送到網(wǎng)線上進(jìn)行傳輸。
3 系統(tǒng)測(cè)試結(jié)果
3.1 測(cè)試方案
發(fā)送方PC通過VLC設(shè)置端口號(hào)并以廣播的方式發(fā)送數(shù)據(jù)流到網(wǎng)卡,視頻流通過本測(cè)試系統(tǒng)后在接收方PC上以VLC播放,播放的視頻流為720P高清電影,視頻位率在1Mb/s左右,最多同時(shí)播放4路,要求接收方PC上的視頻流穩(wěn)定輸出無(wú)丟幀現(xiàn)象,且4路視頻可以自由切換。
3.2 測(cè)試結(jié)果
4路輸出除在剛剛開始的時(shí)候有一點(diǎn)花屏,也會(huì)丟失1~5幀數(shù)據(jù),其他時(shí)間均正常顯示,無(wú)花屏且無(wú)丟幀。
4 改進(jìn)及展望
本系統(tǒng)的緩存采用的是FPGA內(nèi)部的DPRAM,大小只有4 Kb深度,對(duì)于比較大的視頻,緩存要達(dá)到數(shù)十兆甚至上百兆量級(jí),所以,改進(jìn)方案中可以考慮用DDR3來(lái)緩存數(shù)據(jù),既可以解決FPGA內(nèi)部RAM不夠的問題,又可以充分利用比較成熟的DDR存儲(chǔ)技術(shù)—— FPGA內(nèi)部利用控制DDR的IP核,外圍接上硬件DDR3芯片。
當(dāng)大視頻流傳輸于長(zhǎng)距離時(shí),整個(gè)光路系統(tǒng)的功率會(huì)大大增加,為了能夠正常接收實(shí)時(shí)視頻流,就必須改變現(xiàn)有的光路系統(tǒng),但是架構(gòu)無(wú)需改動(dòng),只要在硬件選型上改成大功率的芯片即可,同時(shí),模擬電路部分也要重新進(jìn)行設(shè)計(jì)。
Microblaze的加入有利于設(shè)計(jì)的擴(kuò)展,包括將普通數(shù)據(jù)流打包成為以太網(wǎng)數(shù)據(jù)格式進(jìn)行傳輸,或者增進(jìn)控制邏輯等。
應(yīng)用預(yù)測(cè):本系統(tǒng)可應(yīng)用在快餐店甚至候車廳里面,將現(xiàn)在的燈改成我們實(shí)驗(yàn)里面所用的帶有視頻流信號(hào)的LED燈即可。其他類似領(lǐng)域也可以應(yīng)用此系統(tǒng),既可以提高視頻流傳輸效率,又可以節(jié)約能源,非常實(shí)用。
5 結(jié) 語(yǔ)
本文首先從現(xiàn)實(shí)出發(fā)提出一種實(shí)際的市場(chǎng)需求,然后結(jié)合現(xiàn)有的技術(shù)給出一個(gè)比較合理的設(shè)計(jì)方案。為實(shí)現(xiàn)該方案,從硬件軟件設(shè)計(jì)角度給出可行性設(shè)計(jì)。實(shí)際上,本系統(tǒng)已經(jīng)在硬件上實(shí)現(xiàn)并通過FPGA的設(shè)計(jì)完成了視頻流的實(shí)時(shí)傳輸,限于篇幅僅對(duì)設(shè)計(jì)框圖及思路進(jìn)行了描述。設(shè)計(jì)結(jié)果則如第三節(jié)所述,接收方的視頻流和發(fā)送方視頻流除了有0.4 s左右的延時(shí)外完全一致,丟幀率為零。
參 考 文 獻(xiàn)
[1] 趙源.基于網(wǎng)絡(luò)編碼的無(wú)線傳輸關(guān)鍵技術(shù)研究[D].北京:北京郵電大學(xué),2012.
[2] 王少花.嵌入式視頻圖像采集和無(wú)線傳輸系統(tǒng)的設(shè)計(jì)[D].大連:大連海事大學(xué),2013.
[3] 錢建生,程德強(qiáng),田雋,等. IP網(wǎng)絡(luò)中實(shí)時(shí)視頻流的可靠傳輸控制[J]. 煤炭科學(xué)技術(shù),2006(5):53-55.
[4] 程德強(qiáng),錢建生,田雋.基于覆蓋組播網(wǎng)絡(luò)的實(shí)時(shí)視頻傳輸方案的設(shè)計(jì)[J].電信科學(xué),2006(8): 63-67.
[5] 王菽蘭,趙東風(fēng).H.323視頻會(huì)議體系結(jié)構(gòu)的應(yīng)用研究[J].云南民族學(xué)院學(xué)報(bào):自然科學(xué)版,2003(2): 65-67,73.
A reliable transmission scheme of video stream based on FPGA
JIANG Xing-jia, LIU Bu-min, HE Chun-mei, ZHENG Jian-feng
(School of Microelectronics and Solid-State Electronics, University of Electronic Science and Technology of China, Chengdu 610054, China)
Abstract: A new type of UDP-based video stream transmission system implemented by FPGA is introduced. The design method of each part of the system is analyzed. The test result is obtained in combination with the test scheme, which indicates that the system can meet the requirement of the demand. Finally, the whole design is summarized, and a modified scheme and the prediction for the application market are proposed.
Keywords: FPGA; VLC; UDP; MicroBlaze
(4)通道切換模塊
該模塊通過Microblaze的控制信號(hào)結(jié)合報(bào)文解析模塊的端口號(hào)判斷哪個(gè)端口號(hào)對(duì)應(yīng)哪個(gè)通道進(jìn)行傳輸,為保證報(bào)文不被截?cái)?,在?shù)據(jù)有效信號(hào)為低時(shí)進(jìn)行切換。
(5)并串轉(zhuǎn)換模塊
該模塊主要包括以下幾部分:第一部分是FIFO:負(fù)責(zé)對(duì)來(lái)自外部的數(shù)據(jù)做緩沖處理;第二部分是DPRAM: 負(fù)責(zé)存儲(chǔ)來(lái)自FIFFO緩沖之后的Rxd;第三部分是核心控制模塊:用于控制時(shí)序,并串轉(zhuǎn)換,并將串行數(shù)據(jù)以7.35 MHz時(shí)鐘輸出,有效數(shù)據(jù)的輸出順序?yàn)?2位開始信號(hào)、12位長(zhǎng)度信號(hào)和數(shù)據(jù)。
2.3 接收方FPGA設(shè)計(jì)
由于接收到的是串行數(shù)據(jù)且沒有時(shí)鐘,所以首先需要由串行數(shù)據(jù)恢復(fù)出7.35 MHz時(shí)鐘。
根據(jù)時(shí)鐘接收32位開始信號(hào),11位長(zhǎng)度信號(hào)和8位數(shù)據(jù)信號(hào),在開始信號(hào)匹配,長(zhǎng)度信號(hào)滿足以太網(wǎng)要求時(shí),將數(shù)據(jù)信號(hào)用DPRAM進(jìn)行乒乓存儲(chǔ)后輸出到Txd給PHY芯片,PHY芯片轉(zhuǎn)換成RJ45格式數(shù)據(jù)送到網(wǎng)線上進(jìn)行傳輸。
3 系統(tǒng)測(cè)試結(jié)果
3.1 測(cè)試方案
發(fā)送方PC通過VLC設(shè)置端口號(hào)并以廣播的方式發(fā)送數(shù)據(jù)流到網(wǎng)卡,視頻流通過本測(cè)試系統(tǒng)后在接收方PC上以VLC播放,播放的視頻流為720P高清電影,視頻位率在1Mb/s左右,最多同時(shí)播放4路,要求接收方PC上的視頻流穩(wěn)定輸出無(wú)丟幀現(xiàn)象,且4路視頻可以自由切換。
3.2 測(cè)試結(jié)果
4路輸出除在剛剛開始的時(shí)候有一點(diǎn)花屏,也會(huì)丟失1~5幀數(shù)據(jù),其他時(shí)間均正常顯示,無(wú)花屏且無(wú)丟幀。
4 改進(jìn)及展望
本系統(tǒng)的緩存采用的是FPGA內(nèi)部的DPRAM,大小只有4 Kb深度,對(duì)于比較大的視頻,緩存要達(dá)到數(shù)十兆甚至上百兆量級(jí),所以,改進(jìn)方案中可以考慮用DDR3來(lái)緩存數(shù)據(jù),既可以解決FPGA內(nèi)部RAM不夠的問題,又可以充分利用比較成熟的DDR存儲(chǔ)技術(shù)—— FPGA內(nèi)部利用控制DDR的IP核,外圍接上硬件DDR3芯片。
當(dāng)大視頻流傳輸于長(zhǎng)距離時(shí),整個(gè)光路系統(tǒng)的功率會(huì)大大增加,為了能夠正常接收實(shí)時(shí)視頻流,就必須改變現(xiàn)有的光路系統(tǒng),但是架構(gòu)無(wú)需改動(dòng),只要在硬件選型上改成大功率的芯片即可,同時(shí),模擬電路部分也要重新進(jìn)行設(shè)計(jì)。
Microblaze的加入有利于設(shè)計(jì)的擴(kuò)展,包括將普通數(shù)據(jù)流打包成為以太網(wǎng)數(shù)據(jù)格式進(jìn)行傳輸,或者增進(jìn)控制邏輯等。
應(yīng)用預(yù)測(cè):本系統(tǒng)可應(yīng)用在快餐店甚至候車廳里面,將現(xiàn)在的燈改成我們實(shí)驗(yàn)里面所用的帶有視頻流信號(hào)的LED燈即可。其他類似領(lǐng)域也可以應(yīng)用此系統(tǒng),既可以提高視頻流傳輸效率,又可以節(jié)約能源,非常實(shí)用。
5 結(jié) 語(yǔ)
本文首先從現(xiàn)實(shí)出發(fā)提出一種實(shí)際的市場(chǎng)需求,然后結(jié)合現(xiàn)有的技術(shù)給出一個(gè)比較合理的設(shè)計(jì)方案。為實(shí)現(xiàn)該方案,從硬件軟件設(shè)計(jì)角度給出可行性設(shè)計(jì)。實(shí)際上,本系統(tǒng)已經(jīng)在硬件上實(shí)現(xiàn)并通過FPGA的設(shè)計(jì)完成了視頻流的實(shí)時(shí)傳輸,限于篇幅僅對(duì)設(shè)計(jì)框圖及思路進(jìn)行了描述。設(shè)計(jì)結(jié)果則如第三節(jié)所述,接收方的視頻流和發(fā)送方視頻流除了有0.4 s左右的延時(shí)外完全一致,丟幀率為零。
參 考 文 獻(xiàn)
[1] 趙源.基于網(wǎng)絡(luò)編碼的無(wú)線傳輸關(guān)鍵技術(shù)研究[D].北京:北京郵電大學(xué),2012.
[2] 王少花.嵌入式視頻圖像采集和無(wú)線傳輸系統(tǒng)的設(shè)計(jì)[D].大連:大連海事大學(xué),2013.
[3] 錢建生,程德強(qiáng),田雋,等. IP網(wǎng)絡(luò)中實(shí)時(shí)視頻流的可靠傳輸控制[J]. 煤炭科學(xué)技術(shù),2006(5):53-55.
[4] 程德強(qiáng),錢建生,田雋.基于覆蓋組播網(wǎng)絡(luò)的實(shí)時(shí)視頻傳輸方案的設(shè)計(jì)[J].電信科學(xué),2006(8): 63-67.
[5] 王菽蘭,趙東風(fēng).H.323視頻會(huì)議體系結(jié)構(gòu)的應(yīng)用研究[J].云南民族學(xué)院學(xué)報(bào):自然科學(xué)版,2003(2): 65-67,73.
A reliable transmission scheme of video stream based on FPGA
JIANG Xing-jia, LIU Bu-min, HE Chun-mei, ZHENG Jian-feng
(School of Microelectronics and Solid-State Electronics, University of Electronic Science and Technology of China, Chengdu 610054, China)
Abstract: A new type of UDP-based video stream transmission system implemented by FPGA is introduced. The design method of each part of the system is analyzed. The test result is obtained in combination with the test scheme, which indicates that the system can meet the requirement of the demand. Finally, the whole design is summarized, and a modified scheme and the prediction for the application market are proposed.
Keywords: FPGA; VLC; UDP; MicroBlaze