《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于OMAP5910的移動(dòng)媒體播放機(jī)設(shè)計(jì)

基于OMAP5910的移動(dòng)媒體播放機(jī)設(shè)計(jì)

《電子技術(shù)應(yīng)用》2007年第2期
2007-12-05
作者:張 石,常 皓,佘黎煌,王艷

摘? 要:一種基于TI雙核處理器OMAP5910、采用嵌入式LINUX操作系統(tǒng)設(shè)計(jì)的移動(dòng)媒體" title="移動(dòng)媒體">移動(dòng)媒體播放機(jī)。
關(guān)鍵詞:OMAP5910? 媒體播放機(jī)? MP3? MPEG4

?

??? 隨著多媒體和通信技術(shù)的飛速發(fā)展,人們對(duì)多媒體及其視頻應(yīng)用的需求日益增長。其中MP3音頻及MPEG4視頻標(biāo)準(zhǔn)已經(jīng)得到廣泛的應(yīng)用。研究和開發(fā)一種嵌入式多媒體播放機(jī)具有重要的現(xiàn)實(shí)意義和實(shí)用價(jià)值。
??? OMAP是TI公司近年來提出的面向無線領(lǐng)域和移動(dòng)媒體的開放式多媒體應(yīng)用平臺(tái)。它具有獨(dú)特的雙核設(shè)計(jì),將一個(gè)ARM精簡指令處理器和TI C55x高性能、超低功耗DSP相結(jié)合,為移動(dòng)媒體處理提供了強(qiáng)大的動(dòng)力。目前OMAP處理器被廣泛應(yīng)用于手持設(shè)備、智能電話及PDA上。鑒于其對(duì)移動(dòng)媒體的良好支持,OMAP會(huì)在3G應(yīng)用中取得更大的市場份額。因此,開發(fā)OMAP平臺(tái)的媒體播放機(jī),支持目前主流的MP3、MPEG4媒體解碼,對(duì)未來在無線通信領(lǐng)域研發(fā)基于OMAP平臺(tái)的媒體軟硬件應(yīng)用具有參考作用。
1 系統(tǒng)設(shè)計(jì)
??? 目前,主流媒體文件格式包括AVI、MOV、RM及WMV等,其中AVI文件應(yīng)用最為廣泛。AVI(Audio Video Interleaved)是一種RIFF(Resource Interchange File Format)文件格式。通常情況下,一個(gè)AVI文件可以包含多個(gè)不同類型的媒體流,典型的情況為MPEG4視頻流加MP3音頻流。本文介紹一款選擇TI的OMAP 5910平臺(tái)設(shè)計(jì)的媒體播放機(jī),用來播放MP3音頻文件和AVI媒體文件。
1.1 系統(tǒng)硬件設(shè)計(jì)
??? 本多媒體播放機(jī)以TI OMAP 5910為核心,通過OMAP 5910集成的總線接口及I/O端口控制器,外擴(kuò)存儲(chǔ)器、音頻、視頻、通訊和SD卡接口;通過FPGA擴(kuò)展了以太網(wǎng)、CF卡接口;由CPLD進(jìn)行板級(jí)芯片的管理,使其具備了完整的多媒體播放機(jī)的功能。圖1為多媒體播放機(jī)的軟硬件結(jié)構(gòu)圖。

?


1.1.1 存儲(chǔ)器設(shè)計(jì)
??? 存儲(chǔ)器接口通信控制器(TC)管理的存儲(chǔ)器可分為片外和片內(nèi)兩種。而TC又有兩個(gè)獨(dú)立的訪問片外的存儲(chǔ)器接口:
??? (1)快速片外存儲(chǔ)器" title="片外存儲(chǔ)器">片外存儲(chǔ)器接口(EMIFF):與片外SDRAM相連的快速同步接口。在EMIFF接口上,掛載SDRAM用于運(yùn)行LINUX操作系統(tǒng)。
??? (2)慢速片外存儲(chǔ)器接口(EMIFS):與片外FLASH、SRAM等存儲(chǔ)器相連的異步接口。在EMIFS接口上,分別掛載SRAM和FLASH。
1.1.2 板上CPLD和FPGA設(shè)計(jì)
??? (1)CPLD。本系統(tǒng)選用XILINX的95144XL-TQ144作為整個(gè)系統(tǒng)的配置。它負(fù)責(zé)系統(tǒng)上電后,對(duì)OMAP5910進(jìn)行復(fù)位,對(duì)整個(gè)板級(jí)的器件進(jìn)行配置,并作地址譯碼,以給存儲(chǔ)器分配存儲(chǔ)空間。
??? (2)FPGA。本系統(tǒng)擴(kuò)展FPGA主要是為了擴(kuò)展CF卡和以太網(wǎng)。
????CF卡有多種連接方式,本設(shè)計(jì)選擇TRUE IDE方式,在FPGA中映射出CF卡內(nèi)部相應(yīng)的寄存器。這樣,通過控制FPGA內(nèi)部的寄存器產(chǎn)生相應(yīng)的時(shí)序,寫入CF卡的內(nèi)部控制器,完成相應(yīng)的操作。
??? 以太網(wǎng)選用AX88796L芯片,它具有標(biāo)準(zhǔn)的ISA接口和10Mbps/100Mbps的速度,通過FPGA進(jìn)行控制,完全能滿足實(shí)際的需求。
1.1.3 音視頻" title="音視頻">音視頻及人機(jī)接口設(shè)計(jì)
??? (1)LCD顯示。OMAP 5910內(nèi)部集成了一個(gè)TFT LCD控制器,有標(biāo)準(zhǔn)的LCD控制信號(hào)。LCD電源控制、背光開關(guān)控制、亮度控制、觸摸屏信號(hào)等將由此系統(tǒng)中的CPLD供給。此設(shè)計(jì)的集成板選擇的是NEC LCD:NL2432DR22-12B。
??? (2)鍵盤。出于人機(jī)交互的需求,本系統(tǒng)擴(kuò)展了3×4的鍵盤。
??? (3)音頻接口。本系統(tǒng)采用OMAP與TLV320AIC23外部音頻解碼器完成音頻系統(tǒng)的設(shè)計(jì)。通過OMAP的兩根I/O線模仿I2C時(shí)序來配置音頻芯片,而McBSP1接口用作OMAP對(duì)音頻芯片傳輸數(shù)據(jù)。
1.1.4 擴(kuò)展接口設(shè)計(jì)" title="接口設(shè)計(jì)">接口設(shè)計(jì)
??? (1)存儲(chǔ)卡接口設(shè)計(jì)。多媒體播放機(jī)需要大數(shù)據(jù)量的存儲(chǔ)設(shè)備,此設(shè)計(jì)選用SD卡。OMAP 5910內(nèi)部集成了SD卡控制器,通過對(duì)OMAP 5910 SD卡控制器編程,就能完成對(duì)SD卡的控制。
??? (2)USB接口設(shè)計(jì)。OMAP 5910內(nèi)部集成了USB Host和USB Function的控制器和接口,方便了USB接口的擴(kuò)展。外接PDIUSBP11APW USB收發(fā)器,將OMAP 5910 USB控制器的信號(hào)轉(zhuǎn)換成USB總線的信號(hào)。
1.2 系統(tǒng)軟件設(shè)計(jì)
????軟件系統(tǒng)主要包括MP3、MPEG4解碼算法" title="解碼算法">解碼算法,以及使用兩個(gè)解碼算法模塊的媒體播放機(jī)程序框架。
1.2.1 MP3音頻解碼算法
??? MP3算法是根據(jù)人體心理聲學(xué)模型,利用人耳的掩蔽效應(yīng),去除音頻信號(hào)中低于絕對(duì)聽閾和掩蔽域的信號(hào),并根據(jù)掩蔽域?qū)κS嘈盘?hào)進(jìn)行動(dòng)態(tài)量化,結(jié)合子帶編碼、變換編碼以及哈夫曼編碼等技術(shù),達(dá)到大幅縮減音頻文件的大小,同時(shí)保證音質(zhì)的目的。
??? MP3音頻解碼算法是根據(jù)ISO/IEC 11172-3標(biāo)準(zhǔn)編寫的,并針對(duì)TI DSP55x進(jìn)行部分優(yōu)化。
1.2.2 MPEG4視頻解碼算法
??? MPEG4算法基于對(duì)象編碼,同時(shí)更加注重多媒體系統(tǒng)的交互性與靈活性。基于對(duì)象編碼使得對(duì)視頻對(duì)象的操控成為可能。MPEG4的一個(gè)特點(diǎn)是采用新的、高效的壓縮算法使壓縮比提高,它可以在速率相對(duì)較小的情況下,獲得高質(zhì)量的畫面效果。線性MPEG4視頻沒有對(duì)象交互的內(nèi)容,僅僅包含需要解碼的視頻流。
??? MPEG4解碼算法依照ISO/IEC 14496-2編寫,其中計(jì)算過程集中在IDCT、運(yùn)動(dòng)補(bǔ)償和VOP重建,優(yōu)化的重點(diǎn)也放在這三個(gè)過程。針對(duì)TIDSP55x的特點(diǎn),具體優(yōu)化方案如下:
??? (1)使用TI提供的圖像視頻處理庫IMGLIB提高算法性能:獲得了IDCT、運(yùn)動(dòng)補(bǔ)償?shù)人惴▽?shí)現(xiàn)的最高性能。
??? (2)減少片外存儲(chǔ)器的讀寫:由于DSP對(duì)片外存儲(chǔ)器的讀寫速度相對(duì)較慢,因此需要在內(nèi)外部存儲(chǔ)器間建立DMA通道,由外部存儲(chǔ)器存放解碼幀數(shù)據(jù),再由DMA通道把待解碼宏塊傳送到內(nèi)部存儲(chǔ)器進(jìn)行高速處理。
??? (3)優(yōu)化代碼組織:在編寫代碼時(shí),注意循環(huán)展開、循環(huán)分布以及循環(huán)交換等優(yōu)化技術(shù),并且針對(duì)相應(yīng)處理器選擇了最優(yōu)的數(shù)據(jù)類型,使代碼效率達(dá)到最高。
1.2.3 媒體播放機(jī)軟件設(shè)計(jì)
??? 媒體播放機(jī)軟件設(shè)計(jì)鑒于OMAP獨(dú)特的雙核結(jié)構(gòu)分成MPU端和DSP端兩大部分。播放機(jī)程序就是運(yùn)行在LINUX操作系統(tǒng)下的一個(gè)帶有圖形界面的應(yīng)用程序。該應(yīng)用程序通過調(diào)用DSP設(shè)備的驅(qū)動(dòng)程序,使得MPU與DSP雙方配合完成整個(gè)播放功能。圖2為媒體播放機(jī)總體框圖。

?


(1)MPU端軟件設(shè)計(jì)
??? 作為MPU的ARM核的任務(wù)為:建立底層操作系統(tǒng)和上層與用戶交互的GUI,完成AVI文件數(shù)據(jù)讀取解析以及控制DSP核音視頻解碼。因此,可將MPU端軟件工作分為以下幾部分。
??? ①LINUX嵌入式操作系統(tǒng)的移植、設(shè)備驅(qū)動(dòng)的編寫和移植;
??? ②基于FLTK應(yīng)用程序圖形用戶界面的設(shè)計(jì)。FLTK是一套小型化的多平臺(tái)GUI快速開發(fā)工具包,它在LINUX平臺(tái)上的移植非常簡便。使用FLTK開發(fā)的播放機(jī)圖形用戶界面如圖3所示。

?


??? ③AVI文件讀取解析。在用戶選擇某一AVI文件后,將文件打開,讀取文件的屬性信息、索引信息及音視頻待解碼數(shù)據(jù)等,播放完畢后關(guān)閉文件。
??? ④DSP音視頻解碼的控制。應(yīng)用程序通過DSP設(shè)備驅(qū)動(dòng),啟動(dòng)DSP核,開辟與DSP端交互的數(shù)據(jù)緩沖區(qū),建立使用MAILBOX進(jìn)行的通信機(jī)制。實(shí)現(xiàn)了對(duì)DSP端解碼進(jìn)程的控制。
(2)DSP端軟件設(shè)計(jì)
??? 在處理器的DSP端,主要負(fù)責(zé)的工作是對(duì)音視頻數(shù)據(jù)的解碼,并最終完成播放。這部分主要完成的工作是采用DSP/BIOS和Reference Frameworks 5對(duì)音視頻解碼播放進(jìn)程進(jìn)行有效組織并完成的同步機(jī)制。其中包含的主要模塊為:視頻解碼進(jìn)程、音頻解碼進(jìn)程、視頻播放進(jìn)程、音頻播放進(jìn)程、音視頻同步控制等。
1.3 系統(tǒng)關(guān)鍵設(shè)計(jì)總結(jié)
?? (1)基于TI OMAP5910的移動(dòng)媒體播放機(jī)硬件平臺(tái)采用6層PCB設(shè)計(jì),模塊完整,可擴(kuò)展性強(qiáng)。
?? (2)參照TI TMS320 DSP ALGORITHMS STANDARD(XDAIS)設(shè)計(jì)了MP3及MPEG4解碼算法。
?? (3)為TI的OMAP5910處理器移植了嵌入式Linux操作系統(tǒng)及相關(guān)驅(qū)動(dòng)程序。
?? (4)設(shè)計(jì)了基于雙核OMAP5910平臺(tái)的媒體播放機(jī)軟件系統(tǒng)。該系統(tǒng)中的控制型任務(wù)由MPU完成,運(yùn)算型的工作由DSP處理,從而最大限度地發(fā)揮了處理器性能。另外,系統(tǒng)有效組織了存儲(chǔ)器、DMA通道等資源,并對(duì)程序代碼應(yīng)用DSP/BIOS和RF5也進(jìn)行了組織,使系統(tǒng)的實(shí)時(shí)性和可靠性得到了保證。
2 測試與結(jié)論
??? 播放機(jī)的整體性能選用了四個(gè)較有代表性的AVI媒體文件來測試。測試結(jié)果如表1所示。

?


??? 從測試結(jié)果看出,對(duì)于測試文件1(176×144 128kbps)來說,音視頻可以流暢播放,滿足欣賞要求。當(dāng)視頻尺寸加大時(shí),由于運(yùn)算量的加大,導(dǎo)致視頻流暢度(幀率)下降,同時(shí)影響到MP3的實(shí)時(shí)播放。對(duì)同樣視頻尺寸的文件,在加大MP3速率時(shí),MP3解碼速度下降,同樣影響了視頻流暢度。另外,音視頻同步效果欠佳。
??? 總體來說,媒體播放機(jī)工作正常,CPU占用率略高。視頻解碼器性能不是太好,對(duì)于畫面尺寸較大的文件難以實(shí)現(xiàn)實(shí)時(shí)播放。因此,進(jìn)一步對(duì)解碼模塊進(jìn)行更細(xì)致優(yōu)化非常必要。
參考文獻(xiàn)
[1] 陳 喆,張福洪.開放式多媒體應(yīng)用平臺(tái)研究[J].杭州電子工業(yè)學(xué)院學(xué)報(bào),2002,3:41-44.
[2] International Standard.Information technology coding of?moving pictures and associated audio information:Audio,1993.ISO/IEC 11172-3.
[3] International Standard.Information technology coding of?audio-visual objects:Visual,1998.ISO/IEC 14496-2.
[4] 鐘玉啄,王 琪,賀玉文.基于對(duì)象的多媒體數(shù)據(jù)壓縮編碼國際標(biāo)準(zhǔn)MPEG-4及其校驗(yàn)?zāi)P蚚M].北京:科學(xué)出版社,2000.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。