基于OMAP5910的移動媒體播放機設(shè)計
OMAP是TI公司近年來提出的面向無線領(lǐng)域和移動媒體的開放式多媒體應(yīng)用平臺。它具有獨特的雙核設(shè)計,將一個ARM精簡指令處理器和TI C55x高性能、超低功耗DSP相結(jié)合,為移動媒體處理提供了強大的動力。目前OMAP處理器被廣泛應(yīng)用于手持設(shè)備、智能電話及PDA上。鑒于其對移動媒體的良好支持,OMAP會在3G應(yīng)用中取得更大的市場份額。因此,開發(fā)OMAP平臺的媒體播放機,支持目前主流的MP3、MPEG4媒體解碼,對未來在無線通信領(lǐng)域研發(fā)基于OMAP平臺的媒體軟硬件應(yīng)用具有參考作用。
1 系統(tǒng)設(shè)計
目前,主流媒體文件格式包括AVI、MOV、RM及WMV等,其中AVI文件應(yīng)用最為廣泛。AVI(Audio Video Interleaved)是一種RIFF(Resource Interchange File Format)文件格式。通常情況下,一個AVI文件可以包含多個不同類型的媒體流,典型的情況為MPEG4視頻流加MP3音頻流。本文介紹一款選擇TI的OMAP 5910平臺設(shè)計的媒體播放機,用來播放MP3音頻文件和AVI媒體文件。
1.1 系統(tǒng)硬件設(shè)計
本多媒體播放機以TI OMAP 5910為核心,通過OMAP 5910集成的總線接口及I/O端口控制器,外擴存儲器、音頻、視頻、通訊和SD卡接口;通過FPGA擴展了以太網(wǎng)、CF卡接口;由CPLD進行板級芯片的管理,使其具備了完整的多媒體播放機的功能。圖1為多媒體播放機的軟硬件結(jié)構(gòu)圖。
1.1.1 存儲器設(shè)計
存儲器接口通信控制器(TC)管理的存儲器可分為片外和片內(nèi)兩種。而TC又有兩個獨立的訪問片外的存儲器接口:
(1)快速片外存儲器接口(EMIFF):與片外SDRAM相連的快速同步接口。在EMIFF接口上,掛載SDRAM用于運行LINUX操作系統(tǒng)。
(2)慢速片外存儲器接口(EMIFS):與片外FLASH、SRAM等存儲器相連的異步接口。在EMIFS接口上,分別掛載SRAM和FLASH。
1.1.2 板上CPLD和FPGA設(shè)計
(1)CPLD。本系統(tǒng)選用XILINX的95144XL-TQ144作為整個系統(tǒng)的配置。它負(fù)責(zé)系統(tǒng)上電后,對OMAP5910進行復(fù)位,對整個板級的器件進行配置,并作地址譯碼,以給存儲器分配存儲空間。
(2)FPGA。本系統(tǒng)擴展FPGA主要是為了擴展CF卡和以太網(wǎng)。
CF卡有多種連接方式,本設(shè)計選擇TRUE IDE方式,在FPGA中映射出CF卡內(nèi)部相應(yīng)的寄存器。這樣,通過控制FPGA內(nèi)部的寄存器產(chǎn)生相應(yīng)的時序,寫入CF卡的內(nèi)部控制器,完成相應(yīng)的操作。
以太網(wǎng)選用AX88796L芯片,它具有標(biāo)準(zhǔn)的ISA接口和10Mbps/100Mbps的速度,通過FPGA進行控制,完全能滿足實際的需求。
1.1.3 音視頻及人機接口設(shè)計
(1)LCD顯示。OMAP 5910內(nèi)部集成了一個TFT LCD控制器,有標(biāo)準(zhǔn)的LCD控制信號。LCD電源控制、背光開關(guān)控制、亮度控制、觸摸屏信號等將由此系統(tǒng)中的CPLD供給。此設(shè)計的集成板選擇的是NEC LCD:NL2432DR22-12B。
(2)鍵盤。出于人機交互的需求,本系統(tǒng)擴展了34的鍵盤。
(3)音頻接口。本系統(tǒng)采用OMAP與TLV320AIC23外部音頻解碼器完成音頻系統(tǒng)的設(shè)計。通過OMAP的兩根I/O線模仿I2C時序來配置音頻芯片,而McBSP1接口用作OMAP對音頻芯片傳輸數(shù)據(jù)。
1.1.4 擴展接口設(shè)計
(1)存儲卡接口設(shè)計。多媒體播放機需要大數(shù)據(jù)量的存儲設(shè)備,此設(shè)計選用SD卡。OMAP 5910內(nèi)部集成了SD卡控制器,通過對OMAP 5910 SD卡控制器編程,就能完成對SD卡的控制。
(2)USB接口設(shè)計。OMAP 5910內(nèi)部集成了USB Host和USB Function的控制器和接口,方便了USB接口的擴展。外接PDIUSBP11APW USB收發(fā)器,將OMAP 5910 USB控制器的信號轉(zhuǎn)換成USB總線的信號。
1.2 系統(tǒng)軟件設(shè)計
軟件系統(tǒng)主要包括MP3、MPEG4解碼算法,以及使用兩個解碼算法模塊的媒體播放機程序框架。
1.2.1 MP3音頻解碼算法
MP3算法是根據(jù)人體心理聲學(xué)模型,利用人耳的掩蔽效應(yīng),去除音頻信號中低于絕對聽閾和掩蔽域的信號,并根據(jù)掩蔽域?qū)κS嘈盘栠M行動態(tài)量化,結(jié)合子帶編碼、變換編碼以及哈夫曼編碼等技術(shù),達到大幅縮減音頻文件的大小,同時保證音質(zhì)的目的。
MP3音頻解碼算法是根據(jù)ISO/IEC 11172-3標(biāo)準(zhǔn)編寫的,并針對TI DSP55x進行部分優(yōu)化。
1.2.2 MPEG4視頻解碼算法
MPEG4算法基于對象編碼,同時更加注重多媒體系統(tǒng)的交互性與靈活性。基于對象編碼使得對視頻對象的操控成為可能。MPEG4的一個特點是采用新的、高效的壓縮算法使壓縮比提高,它可以在速率相對較小的情況下,獲得高質(zhì)量的畫面效果。線性MPEG4視頻沒有對象交互的內(nèi)容,僅僅包含需要解碼的視頻流。
MPEG4解碼算法依照ISO/IEC 14496-2編寫,其中計算過程集中在IDCT、運動補償和VOP重建,優(yōu)化的重點也放在這三個過程。針對TIDSP55x的特點,具體優(yōu)化方案如下:
(1)使用TI提供的圖像視頻處理庫IMGLIB提高算法性能:獲得了IDCT、運動補償?shù)人惴▽崿F(xiàn)的最高性能。
(2)減少片外存儲器的讀寫:由于DSP對片外存儲器的讀寫速度相對較慢,因此需要在內(nèi)外部存儲器間建立DMA通道,由外部存儲器存放解碼幀數(shù)據(jù),再由DMA通道把待解碼宏塊傳送到內(nèi)部存儲器進行高速處理。
(3)優(yōu)化代碼組織:在編寫代碼時,注意循環(huán)展開、循環(huán)分布以及循環(huán)交換等優(yōu)化技術(shù),并且針對相應(yīng)處理器選擇了最優(yōu)的數(shù)據(jù)類型,使代碼效率達到最高。
1.2.3 媒體播放機軟件設(shè)計
媒體播放機軟件設(shè)計鑒于OMAP獨特的雙核結(jié)構(gòu)分成MPU端和DSP端兩大部分。播放機程序就是運行在LINUX操作系統(tǒng)下的一個帶有圖形界面的應(yīng)用程序。該應(yīng)用程序通過調(diào)用DSP設(shè)備的驅(qū)動程序,使得MPU與DSP雙方配合完成整個播放功能。圖2為媒體播放機總體框圖。
(1)MPU端軟件設(shè)計
作為MPU的ARM核的任務(wù)為:建立底層操作系統(tǒng)和上層與用戶交互的GUI,完成AVI文件數(shù)據(jù)讀取解析以及控制DSP核音視頻解碼。因此,可將MPU端軟件工作分為以下幾部分。
①LINUX嵌入式操作系統(tǒng)的移植、設(shè)備驅(qū)動的編寫和移植;
②基于FLTK應(yīng)用程序圖形用戶界面的設(shè)計。FLTK是一套小型化的多平臺GUI快速開發(fā)工具包,它在LINUX平臺上的移植非常簡便。使用FLTK開發(fā)的播放機圖形用戶界面如圖3所示。
③AVI文件讀取解析。在用戶選擇某一AVI文件后,將文件打開,讀取文件的屬性信息、索引信息及音視頻待解碼數(shù)據(jù)等,播放完畢后關(guān)閉文件。
④DSP音視頻解碼的控制。應(yīng)用程序通過DSP設(shè)備驅(qū)動,啟動DSP核,開辟與DSP端交互的數(shù)據(jù)緩沖區(qū),建立使用MAILBOX進行的通信機制。實現(xiàn)了對DSP端解碼進程的控制。
(2)DSP端軟件設(shè)計
在處理器的DSP端,主要負(fù)責(zé)的工作是對音視頻數(shù)據(jù)的解碼,并最終完成播放。這部分主要完成的工作是采用DSP/BIOS和Reference Frameworks 5對音視頻解碼播放進程進行有效組織并完成的同步機制。其中包含的主要模塊為:視頻解碼進程、音頻解碼進程、視頻播放進程、音頻播放進程、音視頻同步控制等。
1.3 系統(tǒng)關(guān)鍵設(shè)計總結(jié)
(1)基于TI OMAP5910的移動媒體播放機硬件平臺采用6層PCB設(shè)計,模塊完整,可擴展性強。
(2)參照TI TMS320 DSP ALGORITHMS STANDARD(XDAIS)設(shè)計了MP3及MPEG4解碼算法。
(3)為TI的OMAP5910處理器移植了嵌入式Linux操作系統(tǒng)及相關(guān)驅(qū)動程序。
(4)設(shè)計了基于雙核OMAP5910平臺的媒體播放機軟件系統(tǒng)。該系統(tǒng)中的控制型任務(wù)由MPU完成,運算型的工作由DSP處理,從而最大限度地發(fā)揮了處理器性能。另外,系統(tǒng)有效組織了存儲器、DMA通道等資源,并對程序代碼應(yīng)用DSP/BIOS和RF5也進行了組織,使系統(tǒng)的實時性和可靠性得到了保證。
2 測試與結(jié)論
播放機的整體性能選用了四個較有代表性的AVI媒體文件來測試。測試結(jié)果如表1所示。
從測試結(jié)果看出,對于測試文件1(176144 128kbps)來說,音視頻可以流暢播放,滿足欣賞要求。當(dāng)視頻尺寸加大時,由于運算量的加大,導(dǎo)致視頻流暢度(幀率)下降,同時影響到MP3的實時播放。對同樣視頻尺寸的文件,在加大MP3速率時,MP3解碼速度下降,同樣影響了視頻流暢度。另外,音視頻同步效果欠佳。
總體來說,媒體播放機工作正常,CPU占用率略高。視頻解碼器性能不是太好,對于畫面尺寸較大的文件難以實現(xiàn)實時播放。因此,進一步對解碼模塊進行更細(xì)致優(yōu)化非常必要。
參考文獻
[1] 陳 矗張福洪.開放式多媒體應(yīng)用平臺研究[J].杭州電子工業(yè)學(xué)院學(xué)報,2002,3:41-44.
[2] International Standard.Information technology coding ofmoving pictures and associated audio information:Audio,1993.ISO/IEC 11172-3.
[3] International Standard.Information technology coding ofaudio-visual objects:Visual,1998.ISO/IEC 14496-2.
[4] 鐘玉啄,王 琪,賀玉文.基于對象的多媒體數(shù)據(jù)壓縮編碼國際標(biāo)準(zhǔn)MPEG-4及其校驗?zāi)P蚚M].北京:科學(xué)出版社,2000.
評論