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