MPEG-2傳輸流解復(fù)用在內(nèi)嵌ARM核的FPGA上的實(shí)現(xiàn)
引言
本文引用地址:http://m.butianyuan.cn/article/189845.htm隨著芯片技術(shù)的發(fā)展,FPGA的容量已經(jīng)達(dá)到上百萬(wàn)門級(jí),從而使FPGA成為設(shè)計(jì)的選擇之一。Altera公司的FPGA芯片EPXA10應(yīng)用SOPC技術(shù),集高密度邏輯(FPGA)、存儲(chǔ)器(SRAM)及嵌入式處理器(ARM)于單片可編程邏輯器件上,實(shí)現(xiàn)了RISC和FPGA的完美結(jié)合。本文使用EPXA10芯片,利用片上的ARM微處理器對(duì)MPEG-2傳輸流進(jìn)行解碼,得到必要的解碼參數(shù),實(shí)現(xiàn)了將傳輸流分成視頻流和音頻流的解復(fù)用。
EPAX10器件
簡(jiǎn)要介紹
ALTERA公司的EPXA10器件單片集成了ARM硬核,百萬(wàn)門級(jí)的FPGA,以及SDRAM存儲(chǔ)器的接口。它將FPGA和ARM處理器完美結(jié)合在一起,是一個(gè)典型的SOPC結(jié)構(gòu)。
其中ARM處理器是32位的ARM922T,工作頻率可以達(dá)到200MHz,具有8K的數(shù)據(jù)緩存和8K的指令緩存。通過(guò)板上的JTAG接口,可以實(shí)現(xiàn)斷點(diǎn)調(diào)試功能。
片上的百萬(wàn)門級(jí)FPGA可用于實(shí)現(xiàn)用戶自定義的邏輯。它通過(guò)AHB總線和ARM處理器相互連接。為了更加靈活的使用,F(xiàn)PGA用戶自定義邏輯可以定義為主模塊(master),在總線通信時(shí)處于發(fā)起端;或是定義為從模塊(slave),在總線通信時(shí)處于接收端。FPGA器件內(nèi)部有3M大小的存儲(chǔ)器,同時(shí)集成了SDRAM控制器。在FPGA開發(fā)板上可以外接128M的SDRAM,為了便于內(nèi)部FPGA和外部SDRAM大數(shù)據(jù)量的交換,用戶還可以定義自己的DMA模塊,用于訪問(wèn)外部SDRAM。通過(guò)UART、網(wǎng)卡接口、JTAG接口,F(xiàn)PGA可以很方便地同外部計(jì)算機(jī)通信、下載程序,及調(diào)試程序等。
MPEG-2傳輸流簡(jiǎn)要介紹
作為數(shù)字視頻壓縮技術(shù)的國(guó)際通用標(biāo)準(zhǔn),MPEG-2標(biāo)準(zhǔn)于1994年被運(yùn)動(dòng)圖像專家組制定出來(lái),分成系統(tǒng)層、視頻壓縮層和音頻壓縮層。系統(tǒng)層主要用來(lái)描述音、視頻的數(shù)據(jù)復(fù)用和音、視頻的同步方式。在系統(tǒng)層定義了TS(傳輸流)和PS(節(jié)目流)兩種形式的碼流。PS通常用于相對(duì)無(wú)錯(cuò)的環(huán)境,例如DVD中,其長(zhǎng)度為2048字節(jié);TS通常用于相對(duì)有錯(cuò)的環(huán)境,例如數(shù)字電視的地面廣播傳輸中,分組長(zhǎng)度規(guī)定為188字節(jié)。TS流和PS流都是由編碼后的基本數(shù)據(jù)流(ES)根據(jù)一定的格式打包形成PES包,再加入一些系統(tǒng)信息而構(gòu)成的,碼流形成過(guò)程如圖2所示。根據(jù)MPEG-2協(xié)議,在發(fā)送端,基本流的PES打包由音/視頻編碼器完成,復(fù)用器接收編碼端的音、視頻數(shù)據(jù)流以及輔助數(shù)據(jù)流,按照一定的復(fù)用方法將其交織成為單一的TS流。為了實(shí)現(xiàn)音、視頻同步,在碼流中還必須加入各種時(shí)間的標(biāo)志和系統(tǒng)的控制信息。接收端和發(fā)送端正好相反。
評(píng)論