一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

基于FPGA的TS over lP的設計與實(shí)現

時(shí)間:2024-07-01 15:29:00 計算機畢業(yè)論文 我要投稿
  • 相關(guān)推薦

基于FPGA的TS over lP的設計與實(shí)現

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

  關(guān)鍵詞:FPCJA;TS over lP;雙端口RAM;異步時(shí)鐘域通信

  引言

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

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

  一、系統概述及流程

  1.1 系統概述

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

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

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

  1.2 系統流程

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

  二、系統模塊概述

  2.1 系統總體結構

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

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

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

  系統中設計的TS接收模塊可以直接與TS流的編碼器相連接,其基本結構如圖3所示。

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

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

  2.3.1 IP包封裝模塊

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

  2.3.2 IPCHK模塊

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

  2.3.3 MAC模塊

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

  2.4 系統各模塊間的通信

  2.4.1 DMA控制模塊

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

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

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

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

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

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

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

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

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

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

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

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

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

  三、系統狀態(tài)機及各狀態(tài)說(shuō)明

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

  信號說(shuō)明:

  wdatal,wdata2:RAM1和RAM2的可寫(xiě)數據信號。

  wchkl,wchk2:RAM1和RAM2的可寫(xiě)包頭信息信號。

  rdatal,rdata2:RAM1和RAM2的可讀信號。

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

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

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

  b) 完成硬件初始化

  c) 置wdatal=l,wdata2=O,wchkl=O,wchk2=O,rdatal=O,rdata2=0

  d)跳轉到Sl 1

  2) Sl_l:

  a)若此時(shí)wdatal=l,rdatal=l,則說(shuō)明數據溢出,跳轉到溢出狀態(tài)

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

  c) 數據量達到1316個(gè)字節后,置wdatal=0.wchkl=l

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

  e) 跳轉到狀態(tài)Sl_2

  3) S1_2:

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

  b)寫(xiě)入完成后置wchkl=0,wdata2=1.rdatal=l

  c) 通知處理器可讀取RAM1中的數據

  d)跳轉到S2_1

  4) S2_1:

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

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

  c) 數據量達到1316個(gè)字節后,置wdata2=0,wchk2=1

  d) 同時(shí)處理器讀取RAM1中的數據,讀取結束時(shí)置rdatal=0

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

  5) S2_2:

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

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

  c) 通知處理器可讀取RAM2中的數據

  d)跳轉到Sl_1

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

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

  b)通知CPU數據溢出,并停止系統的運行

  c)跳轉到結束狀態(tài)4結論

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

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

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

  對比結果如表1所示。從表1中可以看出,在相同的硬件條件下,改進(jìn)后的本系統的性能與運行效率有了明顯的提高,達到了實(shí)驗目的。

【基于FPGA的TS over lP的設計與實(shí)現】相關(guān)文章:

基于FPGA的TS201 linkport數據通信設計與實(shí)現03-30

基于FPGA的指紋特征點(diǎn)集匹配的設計與實(shí)現03-07

基于FPGA的HDLC通信模塊的實(shí)現05-14

基于TS201的通信偵察接收機的設計與實(shí)現03-07

基于EDA技術(shù)的FPGA設計03-18

基于FPGA實(shí)現FIR濾波器的研究03-18

基于FPGA的直接數字頻率合成器的設計和實(shí)現03-19

基于Cyclone系列FPGA的1024點(diǎn)FFT算法的實(shí)現03-07

基于FPGA的IPV6數字包配置實(shí)現03-07

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看