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