<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的TS over IP的設(shè)計(jì)與實(shí)現(xiàn)

          基于FPGA的TS over IP的設(shè)計(jì)與實(shí)現(xiàn)

          作者:李鋒 魏子奇 時(shí)間:2015-09-07 來源:電子產(chǎn)品世界 收藏
          編者按:隨著互聯(lián)網(wǎng)的發(fā)展, 數(shù)字電視信號(hào)的網(wǎng)絡(luò)傳輸?shù)玫搅嗽絹碓蕉嗟年P(guān)注,本文設(shè)計(jì)與實(shí)現(xiàn)了一種基于FPGA和MCU(R8051XC2)的TS over IP系統(tǒng),并對(duì)傳統(tǒng)的TS over IP系統(tǒng)進(jìn)行了改進(jìn)。此系統(tǒng)通過從標(biāo)準(zhǔn)TS流接口接收TS流,將其以乒乓操作的方式存放在兩個(gè)雙口RAM中,再通過一定方法封裝IP包發(fā)送至網(wǎng)絡(luò),實(shí)現(xiàn)了TS流和網(wǎng)絡(luò)IP數(shù)據(jù)包的相互轉(zhuǎn)換。通過向系統(tǒng)推送TS流數(shù)據(jù)并使用抓包軟件對(duì)經(jīng)過系統(tǒng)的數(shù)據(jù)進(jìn)行分析統(tǒng)計(jì)的方法證明,得出以下結(jié)論,此系統(tǒng)在相同情況與有限的硬件條件下,相比傳統(tǒng)的使用FIFO作為

          摘要:隨著互聯(lián)網(wǎng)的發(fā)展, 數(shù)字電視信號(hào)的網(wǎng)絡(luò)傳輸?shù)玫搅嗽絹碓蕉嗟年P(guān)注,本文設(shè)計(jì)與實(shí)現(xiàn)了一種基于和MCU(R8051XC2)的系統(tǒng),并對(duì)傳統(tǒng)的系統(tǒng)進(jìn)行了改進(jìn)。此系統(tǒng)通過從標(biāo)準(zhǔn)TS流接口接收TS流,將其以乒乓操作的方式存放在兩個(gè)雙口RAM中,再通過一定方法封裝IP包發(fā)送至網(wǎng)絡(luò),實(shí)現(xiàn)了TS流和網(wǎng)絡(luò)IP數(shù)據(jù)包的相互轉(zhuǎn)換。通過向系統(tǒng)推送TS流數(shù)據(jù)并使用抓包軟件對(duì)經(jīng)過系統(tǒng)的數(shù)據(jù)進(jìn)行分析統(tǒng)計(jì)的方法證明,得出以下結(jié)論,此系統(tǒng)在相同情況與有限的硬件條件下,相比傳統(tǒng)的使用FIFO作為緩沖器的系統(tǒng),系統(tǒng)運(yùn)行效率有了明顯的提高。

          本文引用地址:http://www.ex-cimer.com/article/279225.htm

          引言

            隨著互聯(lián)網(wǎng)的發(fā)展,人類進(jìn)入了網(wǎng)絡(luò)化、數(shù)字化的時(shí)代。在三網(wǎng)融合的政策背景下,數(shù)字電視信號(hào)的網(wǎng)絡(luò)傳輸?shù)玫搅嗽絹碓蕉嗟年P(guān)注。與此同時(shí),先進(jìn)的嵌入式技術(shù)也對(duì)數(shù)字媒體的發(fā)展起到了推動(dòng)的作用。TS流是根據(jù)ITU-T Rec.H.222.0|ISO/IEC 13818-2 和ISO/IEC 13818-3協(xié)議而定義的一種數(shù)據(jù)流,主要用來傳輸數(shù)字電視的視頻節(jié)目、音頻節(jié)目和一些用戶信息,它是以包的方式存在,一個(gè)TS包一般為188或204字節(jié),其廣泛用于電視信號(hào)的傳輸中。當(dāng)前的廣播電視傳輸主要是TS流在現(xiàn)有的有線電視網(wǎng)絡(luò)中進(jìn)行傳輸。而本文的技術(shù)是將TS流數(shù)據(jù)包轉(zhuǎn)換成IP數(shù)據(jù)包,并能夠在網(wǎng)絡(luò)中進(jìn)行傳輸。使只有網(wǎng)絡(luò)接口的終端設(shè)備可以接收到電視信號(hào)[1]

            目前實(shí)現(xiàn)該技術(shù)的主要方法是通過MCU IP核在中模擬出一個(gè)控制器來控制其余的子模塊實(shí)現(xiàn)[2]。本文設(shè)計(jì)的系統(tǒng)使用芯片和MCU芯片,兩個(gè)芯片之間通過EMIF接口進(jìn)行通信,并使用兩個(gè)雙口RAM,以及DMA的方式來實(shí)現(xiàn)系統(tǒng)。

          1 系統(tǒng)概述及流程

          1.1 系統(tǒng)概述

            本系統(tǒng)實(shí)現(xiàn)了將從TS傳輸設(shè)備中接收到的TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包,并使其能在網(wǎng)絡(luò)中傳輸。本系統(tǒng)基于FPGA實(shí)現(xiàn),由一個(gè)MCU進(jìn)行控制,可以通過設(shè)置初始時(shí)的IP和MAC地址將數(shù)據(jù)發(fā)送到不同的目的主機(jī)。

            目前類似的系統(tǒng)大都使用現(xiàn)成的FIFO來對(duì)TS數(shù)據(jù)進(jìn)行暫時(shí)的存儲(chǔ)并通過現(xiàn)成的TCP/IP協(xié)議代碼來封裝IP包。在使用傳統(tǒng)的方法時(shí),當(dāng)FPGA性能不夠時(shí)會(huì)導(dǎo)致丟包的現(xiàn)象出現(xiàn)。而FPGA與MCU在通過FIFO進(jìn)行通信交換數(shù)據(jù)與MCU的處理速度過低與數(shù)據(jù)的多次交換是導(dǎo)致這一現(xiàn)象的主要原因。所以為了提高系統(tǒng)的運(yùn)行效率,使系統(tǒng)能夠在數(shù)據(jù)量非常大的情況下或者FPGA性能不是很好的情況下仍能夠正常運(yùn)行,本系統(tǒng)采用了兩個(gè)雙口RAM通過乒乓操作來完成TS數(shù)據(jù)的暫時(shí)存儲(chǔ),并通過程序在RAM中寫入數(shù)據(jù)來實(shí)現(xiàn)IP包的封裝,封裝完成后通過DMA的方式將數(shù)據(jù)傳輸?shù)組AC模塊中進(jìn)行發(fā)送的設(shè)計(jì),避免了FPGA與MCU進(jìn)行數(shù)據(jù)交換與運(yùn)行復(fù)雜的TCP/IP封裝程序的過程,從而提高系統(tǒng)的運(yùn)行效率。

            本系統(tǒng)使用了FPGA+MCU進(jìn)行實(shí)現(xiàn),由于兩塊芯片的時(shí)鐘頻率不同,則系統(tǒng)涉及到了跨時(shí)鐘域通信問題以及數(shù)據(jù)的亞穩(wěn)態(tài)問題,所以本系統(tǒng)使用了應(yīng)答機(jī)制以及同步電路來避免帶來的問題。

          1.2 系統(tǒng)流程

            如圖1所示,系統(tǒng)流程由3個(gè)部分組成。首先,在程序啟動(dòng)后,由MCU來對(duì)整個(gè)系統(tǒng)進(jìn)行初始化配置,為之后系統(tǒng)的運(yùn)行做好準(zhǔn)備。接著MCU通知FPGA初始化完成,開始接收TS數(shù)據(jù),并將這些數(shù)據(jù)儲(chǔ)存在RAM中,當(dāng)接收7個(gè)TS包以后,程序會(huì)檢測(cè)是否由于傳輸數(shù)據(jù)過快出現(xiàn)數(shù)據(jù)溢出。完成溢出檢測(cè)后,系統(tǒng)會(huì)對(duì)RAM中的IP包頭信息進(jìn)行更新,信息更新完成之后的IP包會(huì)以DMA的方式傳輸?shù)組AC中并最后由MAC模塊發(fā)送到網(wǎng)絡(luò)之中。

          2 系統(tǒng)模塊概述

          2.1 系統(tǒng)總體結(jié)構(gòu)

            該系統(tǒng)主要由TS接收模塊、IP包封裝模塊、IPCHK模塊、DMA模塊、EMIF接口等模塊組成。通過這些模塊我們實(shí)現(xiàn)了TS流的接收、網(wǎng)絡(luò)傳輸協(xié)議以及系統(tǒng)內(nèi)各模塊通信等功能。系統(tǒng)結(jié)構(gòu)圖如圖2所示。

            其中,TS接收模塊、MAC模塊以及接口模塊由FPGA實(shí)現(xiàn)。IP包封裝模塊、片選模塊、IPCHK模塊以及DMA控制模塊在MCU中實(shí)現(xiàn)。

          2.2 TS流接收的實(shí)現(xiàn)

            系統(tǒng)中設(shè)計(jì)的TS接收模塊可以直接與TS流的編碼器相連接,其基本結(jié)構(gòu)如圖3所示。

            本模塊的時(shí)鐘來自于編碼器,接收符合時(shí)序的SPI形式的TS流數(shù)據(jù)。接收模塊接收數(shù)據(jù)后將數(shù)據(jù)存儲(chǔ)到RAM之中。如圖3所示,本模塊使用了兩個(gè)RAM進(jìn)行存儲(chǔ)與分裝IP包,并使用乒乓操作對(duì)兩個(gè)RAM進(jìn)行控制,在雙RAM乒乓操作的模式下,系統(tǒng)可以在處理前一批數(shù)據(jù)的同時(shí)繼續(xù)接收數(shù)據(jù),從而提高系統(tǒng)的運(yùn)行速度,防止數(shù)據(jù)溢出[8]。同時(shí)由于本設(shè)計(jì)使用UDP協(xié)議發(fā)送TS包,每個(gè)TS數(shù)據(jù)包的長(zhǎng)度為188字節(jié),而IP包的最大長(zhǎng)度為1500字節(jié),RAM 0~41的空間用來存放IP包頭數(shù)據(jù),所以TS數(shù)據(jù)從第43個(gè)地址開始存放,直到接收到7個(gè)TS包即到地址1357后切換另一個(gè)RAM。在一個(gè)RAM存滿之后,接收模塊會(huì)通過標(biāo)志位通知MCU進(jìn)行接下來的工作。

          2.3 網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)

          2.3.1 IP包封裝模塊

            IP包封裝模塊即網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)模塊是在開機(jī)時(shí)運(yùn)行,主要負(fù)責(zé)對(duì)MAC模塊進(jìn)行初始化配置與設(shè)置初始的IP地址和MAC地址。由于為了節(jié)省FPGA與MCU數(shù)據(jù)交換以及運(yùn)行TCP/IP程序的開銷,本系統(tǒng)將IP包的封裝是由MCU直接對(duì)RAM寫入數(shù)據(jù)來完成的,根據(jù)TCP/IP協(xié)議的規(guī)定,IP包封裝模塊將已經(jīng)設(shè)置好的IP包頭數(shù)據(jù)分別寫入兩個(gè)RAM地址的0~41之中,將其作為IP包的包頭信息。完成IP包的包頭信息寫入之后,本模塊通過置位標(biāo)志位通知TS接收模塊開始工作。

          2.3.2 IPCHK模塊

            IPCHK模塊實(shí)現(xiàn)了IP包頭的更新功能,本模塊是在MCU接到RAM滿的信號(hào)后進(jìn)行調(diào)用。為了省去運(yùn)行復(fù)雜的TCP/IP程序所用的時(shí)間,需要手動(dòng)完成對(duì)IP包包頭更新以及校驗(yàn)和的計(jì)算。首先IPCHK模塊會(huì)對(duì)IPID進(jìn)行刷新,之后對(duì)IPID更新后的IP包的校驗(yàn)和進(jìn)行重新計(jì)算,并在計(jì)算完成之后將新的IPID檢驗(yàn)和寫入RAM的12、13、18、19號(hào)地址 之中,最后通知系統(tǒng)準(zhǔn)備調(diào)用DMA模塊。

          2.3.3 MAC模塊

            本系統(tǒng)中,MAC模塊通過MCU接口模塊與MCU芯片進(jìn)行通信,并由MCU進(jìn)行初始化,初始化完成后對(duì)PHY芯片進(jìn)行配置,將接收到的含有TS數(shù)據(jù)的IP包發(fā)送給PHY芯片,進(jìn)而傳輸?shù)骄W(wǎng)絡(luò)中。由于基于FPGA的MAC IP core已經(jīng)非常成熟,這里不再贅述。

          2.4 系統(tǒng)各模塊間的通信

          2.4.1 DMA控制模塊

            本系統(tǒng)中PHY芯片與FPGA的數(shù)據(jù)交換是用過DMA來實(shí)現(xiàn)的,DMA模塊是在IPCHK完成后進(jìn)行調(diào)用。此時(shí),DMA模塊根據(jù)FPGA返回的RAM片選控制信息,以DMA的方式將RAM中的數(shù)據(jù)傳輸?shù)組AC中。DMA模塊使得MCU可以從數(shù)據(jù)搬用的工作中解脫出來,從而提高了程序運(yùn)行的效率,防止了數(shù)據(jù)的溢出。


          tcp/ip相關(guān)文章:tcp/ip是什么



          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();