當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:介紹了一種用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è)。

引言

近年來(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)。為了滿足市場(chǎng)需求,本文提出一種新型的視頻流傳輸方案:PC機(jī)發(fā)送的視頻流通過(guò)網(wǎng)卡發(fā)送到網(wǎng)線上,網(wǎng)線的數(shù)據(jù)通過(guò)PHY芯片以GMII格式發(fā)送到FPGA,F(xiàn)PGA緩存并處理數(shù)據(jù)后以串行數(shù)據(jù)形式發(fā)送到SMA口上,經(jīng)過(guò)放大后的電信號(hào)被電光轉(zhuǎn)換模塊轉(zhuǎn)換成光信號(hào),接收端的光電轉(zhuǎn)換模塊將接收到的電信號(hào)以SMA格式輸入到FPGA,經(jīng)過(guò)處理后的GMII格式數(shù)據(jù)通過(guò)PHY芯片與PC的網(wǎng)口相連,PC上的VLC只要經(jīng)過(guò)相應(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ù)男Ч?

從圖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)行說(shuō)明。本設(shè)計(jì)在視頻流進(jìn)入FPGA之前,先經(jīng)過(guò)PHY芯片將視頻流轉(zhuǎn)換成GMII格式數(shù)據(jù),這樣做的好處是FPGA可以直接處理這種格式數(shù)據(jù)而不需要再做任何變換即可。而之所以這么做是因?yàn)?,視頻流數(shù)據(jù)做緩存和串并轉(zhuǎn)換處理沒(méi)有必要將數(shù)據(jù)包打開(kāi),即使是在報(bào)文解析拿出UDP端口號(hào)時(shí)也是僅僅用端口號(hào)做了判斷,沒(méi)有將數(shù)據(jù)包剝開(kāi)或者打亂次序。通過(guò)引入現(xiàn)成的PHY芯片,我們大大降低了本方案的難度和工作量。

對(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)過(guò)處理的串行信號(hào)后先從里面恢復(fù)出時(shí)鐘,再進(jìn)行緩存和串并轉(zhuǎn)換處理,以GMII格式輸出到PHY芯片上,PHY芯片通過(guò)網(wǎng)線與PC相連。只要接收方PC經(jīng)過(guò)正確操作,就可以無(wú)失真地接收發(fā)送方PC傳過(guò)來(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)說(shuō)明,本系統(tǒng)的硬件框圖如圖2所示。

圖2中,發(fā)送方PC和接收方PC要求主流配置即可,本設(shè)計(jì)采用的是:CPU為IntelCorei5-2450M,內(nèi)存為4GB,顯卡為NVIDIAGeForceGT630M,操作系統(tǒng)為64位Windows7。網(wǎng)卡也是主流應(yīng)用的網(wǎng)卡,此處為BroadcomNetLinkBCM57785GigabitEthernet。

PHY芯片采用的是Marvell的成熟芯片88e1111。發(fā)送方和接收方FPGA均采用Xilinx的Vertex6芯片,型號(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)過(guò)FIFO和DPRAM后輸出,F(xiàn)IFO輸出數(shù)據(jù)送到報(bào)文解析模塊,經(jīng)過(guò)DPRAM進(jìn)行乒乓存儲(chǔ)后的數(shù)據(jù)傳送到通道切換模塊。

(2)報(bào)文解析模塊

該模塊的作用是在數(shù)據(jù)有效信號(hào)的上升沿開(kāi)始接收發(fā)送來(lái)的數(shù)據(jù),判斷為MAC頭并去掉MAC頭,判斷IP頭并去掉IP頭,判斷UDP報(bào)文并取出目的端口號(hào)鎖存,同時(shí)給一個(gè)

Valid信號(hào)。

Microblaze控制模塊

用于判斷Uart接口接收的字符串格式,給出4種不同端口號(hào)和對(duì)應(yīng)的通道號(hào),設(shè)置好LCD顯示,然后將對(duì)應(yīng)關(guān)系通過(guò)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)通道切換模塊

該模塊通過(guò)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.35MHz時(shí)鐘輸出,有效數(shù)據(jù)的輸出順序?yàn)?2位開(kāi)始信號(hào)、12位長(zhǎng)度信號(hào)和數(shù)據(jù)。2.3接收方FPGA設(shè)計(jì)

由于接收到的是串行數(shù)據(jù)且沒(méi)有時(shí)鐘,所以首先需要由串行數(shù)據(jù)恢復(fù)出7.35MHz時(shí)鐘。

根據(jù)時(shí)鐘接收32位開(kāi)始信號(hào),11位長(zhǎng)度信號(hào)和8位數(shù)據(jù)信號(hào),在開(kāi)始信號(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通過(guò)VLC設(shè)置端口號(hào)并以廣播的方式發(fā)送數(shù)據(jù)流到網(wǎng)卡,視頻流通過(guò)本測(cè)試系統(tǒng)后在接收方PC上以VLC播放,播放的視頻流為720P高清電影,視頻位率在1Mb/s左右,最多同時(shí)播放4路,要求接收方PC上的視頻流穩(wěn)定輸出無(wú)丟幀現(xiàn)象,且4路視頻可以自由切換。

3.2測(cè)試結(jié)果

4路輸出除在剛剛開(kāi)始的時(shí)候有一點(diǎn)花屏,也會(huì)丟失1?5幀數(shù)據(jù),其他時(shí)間均正常顯示,無(wú)花屏且無(wú)丟幀。

4改進(jìn)及展望

本系統(tǒng)的緩存采用的是FPGA內(nèi)部的DPRAM,大小只有4Kb深度,對(duì)于比較大的視頻,緩存要達(dá)到數(shù)十兆甚至上百兆量級(jí),所以,改進(jìn)方案中可以考慮用DDR3來(lái)緩存數(shù)據(jù),既可以解決FPGA內(nèi)部RAM不夠的問(wèn)題,又可以充分利用比較成熟的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)并通過(guò)FPGA的設(shè)計(jì)完成了視頻流的實(shí)時(shí)傳輸,限于篇幅僅對(duì)設(shè)計(jì)框圖及思路進(jìn)行了描述。設(shè)計(jì)結(jié)果則如第三節(jié)所述,接收方的視頻流和發(fā)送方視頻流除了有0.4s左右的延時(shí)外完全一致,丟幀率為零。

20211119_619729ef281a7__一種基于FPGA實(shí)現(xiàn)的視頻流可靠傳輸方案

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉