0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA技術(shù)和微控制器實(shí)現(xiàn)將TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包的設(shè)計(jì)

牽手一起夢(mèng) ? 來(lái)源:電子產(chǎn)品世界 ? 作者:李鋒,魏子奇 ? 2020-02-07 10:04 ? 次閱讀

引言

隨著互聯(lián)網(wǎng)的發(fā)展,人類進(jìn)入了網(wǎng)絡(luò)化、數(shù)字化的時(shí)代。在三網(wǎng)融合的政策背景下,數(shù)字電視信號(hào)的網(wǎng)絡(luò)傳輸?shù)玫搅嗽絹?lái)越多的關(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ù)流,主要用來(lái)傳輸數(shù)字電視的視頻節(jié)目、音頻節(jié)目和一些用戶信息,它是以包的方式存在,一個(gè)TS包一般為188或204字節(jié),其廣泛用于電視信號(hào)的傳輸中。當(dāng)前的廣播電視傳輸主要是TS流在現(xiàn)有的有線電視網(wǎng)絡(luò)中進(jìn)行傳輸。而本文的TS over IP技術(shù)是將TS流數(shù)據(jù)包轉(zhuǎn)換成IP數(shù)據(jù)包,并能夠在網(wǎng)絡(luò)中進(jìn)行傳輸。使只有網(wǎng)絡(luò)接口的終端設(shè)備可以接收到電視信號(hào)。

目前實(shí)現(xiàn)該技術(shù)的主要方法是通過(guò)MCU IP核在FPGA中模擬出一個(gè)控制器來(lái)控制其余的子模塊實(shí)現(xiàn)。本文設(shè)計(jì)的系統(tǒng)使用FPGA芯片和MCU芯片,兩個(gè)芯片之間通過(guò)EMIF接口進(jìn)行通信,并使用兩個(gè)雙口RAM,以及DMA的方式來(lái)實(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)行控制,可以通過(guò)設(shè)置初始時(shí)的IP和MAC地址將數(shù)據(jù)發(fā)送到不同的目的主機(jī)。

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

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

1.2 系統(tǒng)流程

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

基于FPGA技術(shù)和微控制器實(shí)現(xiàn)將TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包的設(shè)計(jì)

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

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

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

基于FPGA技術(shù)和微控制器實(shí)現(xiàn)將TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包的設(shè)計(jì)

其中,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所示。

基于FPGA技術(shù)和微控制器實(shí)現(xiàn)將TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包的設(shè)計(jì)

本模塊的時(shí)鐘來(lái)自于編碼器,接收符合時(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的空間用來(lái)存放IP包頭數(shù)據(jù),所以TS數(shù)據(jù)從第43個(gè)地址開(kāi)始存放,直到接收到7個(gè)TS包即到地址1357后切換另一個(gè)RAM。在一個(gè)RAM存滿之后,接收模塊會(huì)通過(guò)標(biāo)志位通知MCU進(jìn)行接下來(lái)的工作。

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

2.3.1 IP包封裝模塊

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

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)和寫(xiě)入RAM的12、13、18、19號(hào)地址 之中,最后通知系統(tǒng)準(zhǔn)備調(diào)用DMA模塊。

2.3.3 MAC模塊

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

2.4.2 FPGA與MCU通信的實(shí)現(xiàn)

此模塊實(shí)現(xiàn)FPGA與MCU之間的通信,在本設(shè)計(jì)中主要采用的是EMIF接口的方式,與此同時(shí)我們還使用了MCU的通用I/O口,采用了以EMIF接口為主、通用I/O口為輔的混合通信方式,使FPGA與MCU之間的通信更加地靈活,邏輯框圖如圖4所示。

基于FPGA技術(shù)和微控制器實(shí)現(xiàn)將TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包的設(shè)計(jì)

在本系統(tǒng)中R8051XC2提供了EMIF接口來(lái)訪問(wèn)外部的數(shù)據(jù)或程序存儲(chǔ)器,該接口具有23bit的數(shù)據(jù)總線“memaddr”,可以訪問(wèn)最大16MB的存儲(chǔ)空間;8bit的輸出數(shù)據(jù)總線“memdatao”和8bit的輸入數(shù)據(jù)總線“memdatai”,讀寫(xiě)控制信號(hào)“memwr”和“memrd”,以及一個(gè)響應(yīng)信號(hào)“memack”。

R8051XC2為EMIF接口提供了基于三個(gè)輸入信號(hào)的等待狀態(tài),三種信號(hào)分別為:“mempsack”主要用于外部程序存儲(chǔ)器;“memack”主要用于外部數(shù)據(jù)存儲(chǔ)器;“sfrack”主要用于外部特殊功能寄存器。這些管腳的狀態(tài)在傳輸指令或數(shù)據(jù)時(shí)被采樣,例如,在使用“memrd”和“memwr”對(duì)外部的數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)操作時(shí),處理器會(huì)對(duì)“memack”進(jìn)行采樣來(lái)確認(rèn)外部存儲(chǔ)器是否已經(jīng)完成操作。還提供了一個(gè)全局等待信號(hào)“waitstate”,表示插入一個(gè)等待狀態(tài),無(wú)論是由什么原因引起的。

控制內(nèi)部產(chǎn)生的程序或外部數(shù)據(jù)存儲(chǔ)器的等待狀態(tài)長(zhǎng)度的寄存器是“ckcon”,它的值作為初始值裝入內(nèi)部等待狀態(tài)的計(jì)數(shù)器中。當(dāng)有一個(gè)外部數(shù)據(jù)存儲(chǔ)器的訪問(wèn)初始化時(shí),ckcon[2:0]的值被裝入內(nèi)部等待狀態(tài)計(jì)數(shù)器,這個(gè)計(jì)數(shù)器會(huì)強(qiáng)制將waitstate信號(hào)置1,使處理器中的寄存器和觸發(fā)器進(jìn)入等待狀態(tài),直到計(jì)數(shù)器的值減少到0。

本文設(shè)計(jì)的系統(tǒng)在兩個(gè)不同的層次中包含兩個(gè)時(shí)鐘域,需要使用兩個(gè)PLL模塊來(lái)實(shí)現(xiàn),其中一個(gè)在FPGA的頂層模塊中為MAC模塊和MCU接口模塊提供100MHz與80MHz的時(shí)鐘,并通過(guò)locked接口產(chǎn)生低有效的復(fù)位信號(hào)。另一個(gè)PLL模塊為FPGA提供運(yùn)行時(shí)所需的時(shí)鐘信號(hào)。

2.4.3 異步時(shí)鐘域通信的實(shí)現(xiàn)

在本文介紹的系統(tǒng)中,存在著兩個(gè)時(shí)鐘域,其中TS模塊工作在標(biāo)準(zhǔn)中要求的27MHz的時(shí)鐘域中,處理器和MAC模塊工作在100MHz的時(shí)鐘域中,其中TS模塊需要和處理器之間進(jìn)行數(shù)據(jù)傳輸。在傳輸中需要進(jìn)行異步時(shí)鐘域處理的主要包括兩種信號(hào):一種是控制信號(hào),另一種是數(shù)據(jù)信號(hào)。在異步時(shí)鐘域的通信中需要解決兩個(gè)問(wèn)題:一是信號(hào)的同步,二是盡量減少亞穩(wěn)態(tài)的影響。

基于FPGA技術(shù)和微控制器實(shí)現(xiàn)將TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包的設(shè)計(jì)

對(duì)于第一個(gè)問(wèn)題,在本文中使用部分握手協(xié)議來(lái)進(jìn)行信號(hào)的同步[7]。部分握手協(xié)議的過(guò)程中,兩個(gè)通信的時(shí)鐘域不需要完全了解對(duì)方的狀態(tài),可以按順序發(fā)送或撤銷各自的握手信號(hào)。由于雙方不需要等待對(duì)方的回應(yīng),就可以撤銷自己的信號(hào)并繼續(xù)執(zhí)行協(xié)議,因此相對(duì)于完全握手協(xié)議,部分握手協(xié)議的穩(wěn)定性稍差,當(dāng)然可以使用更少的時(shí)間完成一次握手傳輸。根據(jù)使用的信號(hào)不同,部分握手協(xié)議又可以分為兩種。第一種為使用電平和脈沖的同步握手信號(hào)。第二種為使用脈沖的同步握手信號(hào)。在此本文使用脈沖的同步握手信號(hào),其過(guò)程如圖6所示。

在這種握手機(jī)制中采用脈沖同步器接收通信雙方的握手信號(hào),如果時(shí)鐘域A的時(shí)鐘頻率比時(shí)鐘域B的時(shí)鐘頻率快兩倍時(shí),可以采用邊沿同步器來(lái)收握手信號(hào)。從圖6中可以看出,這種握手機(jī)制中,時(shí)鐘域A需要2個(gè)時(shí)鐘周期,時(shí)鐘域B需要3個(gè)時(shí)鐘周期,所耗費(fèi)的時(shí)鐘周期最少。

握手機(jī)制的優(yōu)點(diǎn)是可以在時(shí)鐘頻率相差較大的時(shí)鐘域之間進(jìn)行通信,可以進(jìn)行多位傳輸。缺點(diǎn)是需要額外的多個(gè)時(shí)鐘周期完成握手的流程,降低了系統(tǒng)的效率。

對(duì)于亞穩(wěn)態(tài)的減少,使用常用的同步電路的方法來(lái)處理,同步電路的原理是降低出現(xiàn)亞穩(wěn)態(tài)的概率,由圖6中可分析出,第一個(gè)時(shí)鐘域的信號(hào)到達(dá)第二個(gè)時(shí)鐘域的第一個(gè)觸發(fā)器時(shí),很可能無(wú)法滿足建立和保持時(shí)間,從而導(dǎo)致在觸發(fā)器的輸出端出現(xiàn)亞穩(wěn)態(tài),當(dāng)這種狀態(tài)持續(xù)不到一個(gè)周期時(shí),可以通過(guò)增加一級(jí)觸發(fā)器來(lái)消除該亞穩(wěn)態(tài),這樣第二個(gè)觸發(fā)器的輸出信號(hào)就可以滿足同步信號(hào)的要求,可以達(dá)到異步電路同步化的效果[4]。

3 系統(tǒng)狀態(tài)機(jī)及各狀態(tài)說(shuō)明

下面主要對(duì)執(zhí)行TS over IP操作時(shí)系統(tǒng)的狀態(tài)轉(zhuǎn)換情況進(jìn)行說(shuō)明。系統(tǒng)狀態(tài)轉(zhuǎn)換圖如7所示。

基于FPGA技術(shù)和微控制器實(shí)現(xiàn)將TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包的設(shè)計(jì)

信號(hào)說(shuō)明:

wdata1,wdata2 :RAM1和RAM2的可寫(xiě)數(shù)據(jù)信號(hào)。

wchk1,wchk2 :RAM1和RAM2的可寫(xiě)包頭信息信號(hào)。

rdata1,rdata2 :RAM1和RAM2的可讀信號(hào)。

狀態(tài)圖說(shuō)明,除開(kāi)始和結(jié)束狀態(tài)外,本系統(tǒng)共包含六個(gè)狀態(tài):

1) 初始化狀態(tài):

a) 配置本機(jī)的MAC地址,IP地址以及要發(fā)送的目標(biāo)的IP地

b) 完成硬件初始化

c) 置wdata1=1,wdata2=0,wchk1=0,wchk2=0,rdata1=0,rdata2=0

d) 跳轉(zhuǎn)到S1_1

2) S1_1:

a) 若此時(shí)wdata1=1,rdata1=1,則說(shuō)明數(shù)據(jù)溢出,跳轉(zhuǎn)到溢出狀態(tài)

b) 向RAM1中寫(xiě)入TS流數(shù)據(jù)

c) 數(shù)據(jù)量達(dá)到1316個(gè)字節(jié)后,置wdata1=0,wchk1=1

d) 同時(shí)處理器讀取RAM2中的數(shù)據(jù),讀取結(jié)束時(shí)置rdata2=0

e) 跳轉(zhuǎn)到狀態(tài)S1_2

3) S1_2:

a) 將修改后的包頭信息寫(xiě)入RAM1中

b) 寫(xiě)入完成后置wchk1=0,wdata2=1, rdata1=1

c) 通知處理器可讀取RAM1中的數(shù)據(jù)

d) 跳轉(zhuǎn)到S2_1

4) S2_1:

a) 若此時(shí)wdata2=1,rdata2=1,則說(shuō)明數(shù)據(jù)溢出,跳轉(zhuǎn)到溢出狀態(tài)

b) 向RAM2中寫(xiě)入TS流數(shù)據(jù)

c) 數(shù)據(jù)量達(dá)到1316個(gè)字節(jié)后,置wdata2=0,wchk2=1

d) 同時(shí)處理器讀取RAM1中的數(shù)據(jù),讀取結(jié)束時(shí)置rdata1=0

e) 跳轉(zhuǎn)到狀態(tài)S2_2

5) S2_2:

a) 將修改后的包頭信息寫(xiě)入RAM2中

b) 寫(xiě)入完成后置wchk2=0,rdata2=1,wdata1=1

c) 通知處理器可讀取RAM2中的數(shù)據(jù)

d) 跳轉(zhuǎn)到S1_1

6) 溢出狀態(tài):

a) 在S1_1或S2_1狀態(tài)時(shí),當(dāng)CPU沒(méi)有完成數(shù)據(jù)的讀取,卻要求再次寫(xiě)入時(shí),則視為數(shù)據(jù)溢出

b) 通知CPU數(shù)據(jù)溢出,并停止系統(tǒng)的運(yùn)行

c) 跳轉(zhuǎn)到結(jié)束狀態(tài)

4 結(jié)論

本文闡述了一種基于FPGA和MCU芯片的TS over IP系統(tǒng)的設(shè)計(jì)方法,說(shuō)明了系統(tǒng)各個(gè)部分的功能和實(shí)現(xiàn),詳細(xì)敘述了系統(tǒng)工作流程。同時(shí)還相較以往的系統(tǒng)進(jìn)行了改進(jìn),通過(guò)使用雙RAM進(jìn)行乒乓操作存儲(chǔ)并轉(zhuǎn)換數(shù)據(jù),并通過(guò)DMA的方式進(jìn)行RAM與MAC模塊數(shù)據(jù)交換等方法提高了系統(tǒng)運(yùn)行效率。本系統(tǒng)在FPGA查找表(LUT)資源為6144,MCU頻率為100MHz的條件下,完成了視屏TS數(shù)據(jù)的傳輸,網(wǎng)絡(luò)傳輸速率達(dá)到30Mbit/s。

同時(shí)本文還在相同的硬件條件下,對(duì)使用FIFO作為緩沖器的系統(tǒng)和本系統(tǒng)在處理不同傳輸率的TS流時(shí)的系統(tǒng)性能做了對(duì)比,其中對(duì)比的主要參數(shù)是在不同數(shù)據(jù)傳輸速率下丟包率的多少,丟包率計(jì)算方法如下:

丟包率 = (發(fā)包數(shù) — 收包數(shù))/ 發(fā)包數(shù)

對(duì)比結(jié)果如表1所示。從表1中可以看出,在相同的硬件條件下,改進(jìn)后的本系統(tǒng)的性能與運(yùn)行效率有了明顯的提高,達(dá)到了實(shí)驗(yàn)?zāi)康摹?/p>

基于FPGA技術(shù)和微控制器實(shí)現(xiàn)將TS流數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)包的設(shè)計(jì)

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603420
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17148

    瀏覽量

    351213
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16361

    瀏覽量

    178071
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    將UDP數(shù)據(jù)包發(fā)送到廣播IP地址時(shí)遇到的疑問(wèn)求解

    保持不變,包括傳輸?shù)?b class='flag-5'>數(shù)據(jù)。 此外,當(dāng) wroom 充當(dāng)客戶端時(shí),我們可以通過(guò)遠(yuǎn)程主機(jī)(WIFI 路由)廣播 UDP 數(shù)據(jù)包,方法是使用主機(jī) IP 在 wroom 上創(chuàng)建到主機(jī)的 U
    發(fā)表于 07-16 06:07

    使用AT SAVETRANSLINK時(shí)UDP數(shù)據(jù)包丟失怎么解決?

    收來(lái)自微控制器數(shù)據(jù)包,并在UDP,IP 192.168.4.2,端口2345上發(fā)送,Android成功接收到該數(shù)據(jù)包。 這在一段時(shí)間內(nèi)工作正常。Android 發(fā)送的所有
    發(fā)表于 07-18 07:17

    怎么通過(guò)FPGA實(shí)現(xiàn)微控制器?

    FPGA實(shí)現(xiàn)這個(gè)微控制器。 (例如,在opencores站點(diǎn)中有一些微型ip核心。)。那么我們應(yīng)該怎樣處理之前編寫(xiě)的代碼(用C語(yǔ)言編寫(xiě))?我希望我能夠說(shuō)出我的問(wèn)題。問(wèn)候,Ghasem以
    發(fā)表于 03-22 07:32

    AXI數(shù)據(jù)包傳輸問(wèn)題

    數(shù)據(jù)包結(jié)構(gòu):“ccccdddd”,“計(jì)數(shù)”,“00000000”,“00000000”,“00000000”,“00000000”,“00000000”,“00000000”,“deadbeef
    發(fā)表于 04-15 13:51

    DDR3存儲(chǔ)接口控制器IP助力數(shù)據(jù)處理應(yīng)用

    :視頻處理框圖FPGA獲取并緩存四個(gè)視頻源的數(shù)據(jù)流。這些FIFO緩沖由DDR3存儲(chǔ)控制器
    發(fā)表于 05-24 05:00

    基于FPGA數(shù)據(jù)采集控制器IP核的設(shè)計(jì)方案和實(shí)現(xiàn)方法研究

    此提供了新的解決方案。IP核(IP Core)是具有特定電路功能的硬件描述語(yǔ)言程序,可較方便地進(jìn)行修改和定制,以提高設(shè)計(jì)效率[3]。本文研究了基于FPGA數(shù)據(jù)采集
    發(fā)表于 07-09 07:23

    怎樣利用FPGA來(lái)實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆裝?

    怎樣利用FPGA來(lái)實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆裝?IPV6數(shù)據(jù)包的包頭和數(shù)據(jù)部分的拆分過(guò)程是怎樣進(jìn)行的?
    發(fā)表于 04-28 06:05

    基于FPGA的IPV6數(shù)據(jù)包的拆裝是如何實(shí)現(xiàn)的?

    基于FPGA的IPV6數(shù)據(jù)包的拆裝是如何實(shí)現(xiàn)的?
    發(fā)表于 05-28 06:23

    基于數(shù)據(jù)包標(biāo)記的偽造IP DDoS攻擊防御

    提出一種基于數(shù)據(jù)包標(biāo)記的偽造IP DDoS攻擊防御方案,該方案在IP數(shù)據(jù)包中嵌入一個(gè)路徑相關(guān)的16位標(biāo)識(shí),通過(guò)檢測(cè)標(biāo)識(shí)計(jì)數(shù)臨界值判斷是否發(fā)
    發(fā)表于 04-14 09:54 ?21次下載

    網(wǎng)絡(luò)數(shù)據(jù)包捕獲機(jī)制研究

    網(wǎng)絡(luò)數(shù)據(jù)包捕獲技術(shù),是實(shí)現(xiàn)入侵檢測(cè)、網(wǎng)絡(luò)安全審計(jì)的關(guān)鍵技術(shù)。本文改進(jìn)了國(guó)外傳統(tǒng)的數(shù)據(jù)包捕獲函數(shù)庫(kù)Libpcap 捕獲
    發(fā)表于 09-01 10:09 ?9次下載

    基于Jpcap的數(shù)據(jù)包捕獲的設(shè)計(jì)與實(shí)現(xiàn)

    本文研究了以太網(wǎng)數(shù)據(jù)包的捕獲機(jī)制,實(shí)現(xiàn)了基于JPcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲工具,其基本原理是通過(guò)調(diào)用Jpcap庫(kù)捕獲本地網(wǎng)絡(luò)上的所有數(shù)據(jù)包,然后對(duì)數(shù)據(jù)包
    發(fā)表于 01-15 13:47 ?38次下載

    基于FPGA的IPV6數(shù)據(jù)包的拆裝

    介紹了一種運(yùn)用FPGA將IPV6數(shù)據(jù)包的包頭和數(shù)據(jù)部分分離并重新封裝的方法。利用該方法,可以使IPV6數(shù)據(jù)包的拆裝處理速度達(dá)到2Gbit/s以上。
    發(fā)表于 06-25 17:53 ?14次下載

    數(shù)據(jù)包過(guò)濾原理

    數(shù)據(jù)包過(guò)濾技術(shù)數(shù)據(jù)包過(guò)濾原理              數(shù)據(jù)包過(guò)濾
    發(fā)表于 06-16 23:44 ?4613次閱讀
    <b class='flag-5'>數(shù)據(jù)包</b>過(guò)濾原理

    什么是數(shù)據(jù)包?

    什么是數(shù)據(jù)包? 您在互聯(lián)網(wǎng)上做的一切都涉及到數(shù)據(jù)包。例如,您接收的每個(gè)網(wǎng)頁(yè)都以一系列數(shù)據(jù)包的形式傳入,您發(fā)送的每封電子郵件都以一系列數(shù)據(jù)包的形式傳出。以
    發(fā)表于 08-03 09:13 ?2025次閱讀

    數(shù)據(jù)包的發(fā)送流程

    一個(gè)數(shù)據(jù)包,從聊天框里發(fā)出,消息會(huì)從聊天軟件所在的用戶空間拷貝到內(nèi)核空間的發(fā)送緩沖區(qū)(send buffer),數(shù)據(jù)包就這樣順著傳輸層、網(wǎng)絡(luò)層,進(jìn)入到數(shù)據(jù)鏈路層,在這里數(shù)據(jù)包會(huì)經(jīng)過(guò)
    的頭像 發(fā)表于 08-19 14:38 ?2671次閱讀