基于MAP的嵌入式MP3播放器設(shè)計(jì)與實(shí)現(xiàn)
摘要: 多媒體應(yīng)用處理器簡(jiǎn)稱MAP,是一種適用于便攜式數(shù)字音視頻設(shè)備的新型嵌入式應(yīng)用處理器。文中介紹了MAP的主要性能特點(diǎn),給出了基于MAP芯片ATJ2135的嵌入式MP3播放器的硬件設(shè)計(jì)、MP3解碼流程、實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)、系統(tǒng)軟硬件調(diào)試過程等嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。
關(guān)鍵字: 多媒體應(yīng)用處理器 嵌入式MP3 全軟件模式
1 引 言
采用 MPEG 標(biāo)準(zhǔn)Layer3算法進(jìn)行壓縮處理后的文件統(tǒng)稱為MP3文件,能夠?qū)P3文件進(jìn)行解碼并還原聲音的系統(tǒng)都可以被稱為MP3播放器。作為消費(fèi)類電子產(chǎn)品的代表,MP3不斷增長(zhǎng)的消費(fèi)要求也促使生產(chǎn)廠家采用更先進(jìn)的技術(shù)來提高自己產(chǎn)品的競(jìng)爭(zhēng)力。針對(duì)MP3 、MP4以及智能手機(jī)上的數(shù)字音視頻應(yīng)用,SOC芯片廠商如國外的SIGMATEL、國內(nèi)的珠海炬力集成電路公司均推出了基于MAP的解決方案。
MAP,即Multimedia application processors,是多媒體應(yīng)用處理器的簡(jiǎn)稱。它是在低功耗CPU的基礎(chǔ)上擴(kuò)展音視頻功能和專用接口的超大規(guī)模SOC集成電路,是一種新型的嵌入式應(yīng)用處理器。MAP的主要應(yīng)用領(lǐng)域是便攜式消費(fèi)類電子。MAP要求低功耗,體積微小,并具備盡可能高的性能。因此,許多微電子和IT領(lǐng)域的最新技術(shù)均用到了MAP中。例如用90和45納米工藝提高速度和集成度,并采用前后臺(tái)工作的雙核和多核CPU和DSP提升性能。
MAP分為全軟件模式與全硬件模式兩種。全軟件模式采用嵌入式中央處理器加數(shù)字信號(hào)處理器,即CPU+DSP。MAP中的嵌入式CPU作為一個(gè)通用的硬件平臺(tái),運(yùn)行一個(gè)通用的操作系統(tǒng)。MAP中的嵌入式DSP是另一個(gè)核心器件,它的任務(wù)是完成復(fù)雜的高速信息處理。全硬件模式則采用的是CPU+ASIC,由專用集成電路完成音視頻解碼功能。
下面給出基于珠海炬力公司的全軟件模式專用SOC多媒體應(yīng)用處理器芯片ATJ2135的用于一款智能玩具的MP3播放器嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)方案。
2 MP3系統(tǒng)硬件設(shè)計(jì)
播放器核心是炬力的ATJ2135芯片,主要組成包括電源單元、顯示單元、鍵盤輸入電路、FM收音機(jī)單元、外部存儲(chǔ)器、功放及揚(yáng)聲器單元等。系統(tǒng)總體框圖如圖1。主控MAP中的嵌入式DSP對(duì)MP3文件進(jìn)行音頻解碼,解碼后的序列經(jīng)MAP中DAC輸出至功放及揚(yáng)聲器或耳機(jī)。
圖1 嵌入式MP3系統(tǒng)總體結(jié)構(gòu)
主控MAP中的嵌入式CPU運(yùn)行實(shí)時(shí)操作系統(tǒng)管理包括鍵盤與LCD、文件系統(tǒng)、FM模塊,并實(shí)現(xiàn)MP3的數(shù)據(jù)管理、娛樂游戲、通信等功能。
ATJ2135是真正理想的“一片解決”SOC數(shù)字多媒體處理芯片,為用戶提供了一個(gè)非常靈活而且價(jià)格適宜的嵌入式音頻解決方案。選用32位RISC 的MIPS核,并集成24位嵌入式DSP,構(gòu)成雙核結(jié)構(gòu)。其中DSP用于音頻解碼算法,CPU用于播放器的操作系統(tǒng)。ATJ2135還集成了時(shí)鐘、內(nèi)部存儲(chǔ)器BROM,以及SDRAM、鍵盤和YUV2RGB顯示接口,ADC、DAC、電源管理PMU、紅外接口等外圍控制組件。
2.2電源設(shè)計(jì)
合適的低功耗電源是便攜式系統(tǒng)關(guān)鍵設(shè)計(jì)之一。本硬件系統(tǒng)平常采用鋰離子充電電池供電。而在系統(tǒng)與外部PC機(jī)交換數(shù)據(jù)時(shí),系統(tǒng)電源將采用USB供電模式,同時(shí)鋰電池將停止供電。所以電路應(yīng)具有完成電源切換、穩(wěn)壓及充放電等功能。由于元件工作在降壓模式,選用了XC62系列穩(wěn)壓芯片XC6206P152M、XC6219B182MR和RCR3402等器件來實(shí)現(xiàn)。
2.3輸入輸出組件
為了適應(yīng)MP3應(yīng)用的特殊性,ATJ2135提供另外一種我們?cè)谄渌度胧綉?yīng)用中很少見的鍵盤結(jié)構(gòu)——A/D式線控鍵盤。這種鍵盤可以進(jìn)一步減少I/O口的使用數(shù)量.利用串聯(lián)電阻網(wǎng)絡(luò)在不同的按鍵按下時(shí)輸出不同的電壓值,然后進(jìn)行A/D轉(zhuǎn)換求出其對(duì)應(yīng)的數(shù)字量,從而根據(jù)軟件設(shè)定確定是哪一個(gè)按鍵按下。為了減小誤差和提高軟件識(shí)別率,分壓電阻應(yīng)采用誤差范圍為1%的高精度電阻,軟件可以設(shè)定適當(dāng)寬的范圍來區(qū)分每一個(gè)按鍵值。ATJ2135內(nèi)部提供一個(gè)4位低分辨率A/D轉(zhuǎn)換器,可以很方便的配置成線控按鍵模式。
由于ATJ2135芯片沒有自帶 LCD Controller ,因此需要選用帶 LCD Controller 的 LCD (液晶屏)。本系統(tǒng)選擇KGM281E0作為液晶顯示屏。KGM281E0是一個(gè)240xRGBx320點(diǎn)陣TFT-LCD顯示模塊,它可以配置為16位或18位并行數(shù)據(jù)輸入方式,可支持視頻播放,顯示效果非常出色。顯示屏的背光驅(qū)動(dòng)需要較高的電壓,并且要求根據(jù)需要調(diào)節(jié)背光的亮度,因此就需要一個(gè)高效的升壓電路來實(shí)現(xiàn)這一功能,為此ATJ2135提供了一個(gè)背光控制,它可以按照軟件的設(shè)定值輸出8種不同頻率的脈沖,通過改變輸出頻率值來改變背光亮度。
2.4系統(tǒng)存儲(chǔ)器
本播放器采用一塊512 M NAND FLASH作為片上存儲(chǔ)單元,寫入速度較快,具有良好的抗震能力,體積、重量較小,尤其適合便攜式系統(tǒng)的要求。另外本系統(tǒng)還集成了SD卡插槽以方便用戶升級(jí)存儲(chǔ)空間。Flash芯片采用Hynix的HY27UT084G NAND Flash Memory,其工作電壓為1.8或3.3伏。而為了提高系統(tǒng)運(yùn)行速度,適應(yīng)視頻播放及游戲時(shí)的數(shù)據(jù)處理,還擴(kuò)展有外部SDRAM存儲(chǔ)芯片。存儲(chǔ)器接口方式采三總線連接方式。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 MP3解碼流程
圖2 MP3解碼流程圖
MP3采用了較為復(fù)雜的比特流結(jié)構(gòu),所有MPEG的比特流都被分割成了單獨(dú)的幀。對(duì)于MPEG圖2音頻,每秒都傳送固定數(shù)目的幀,也就是說,當(dāng)比特率和采樣率固定時(shí),每一幀具有相同的大小,并攜帶有相同數(shù)目的樣本。解碼算法由嵌入式DSP軟件實(shí)現(xiàn),流程如圖2所示。
3.2嵌入式實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)
ATJ2135采用μCOS-Ⅱ操作系統(tǒng)進(jìn)行軟件移植設(shè)計(jì)。μCOS-Ⅱ是一個(gè)源代碼公開的嵌入式實(shí)時(shí)操作系統(tǒng),具有小內(nèi)核、多任務(wù)、豐富的系統(tǒng)服務(wù)、容易使用等特點(diǎn)并且非常穩(wěn)定、可靠。而由于其極小的內(nèi)核,就特別適用于對(duì)程序代碼存儲(chǔ)空間要求極其敏感的嵌入式MP3應(yīng)用系統(tǒng)開發(fā)。本系統(tǒng)采用可剝奪型多任務(wù)內(nèi)核,其任務(wù)層設(shè)計(jì)及任務(wù)流程如圖3所示。
3.3 嵌入式系統(tǒng)軟件編譯與調(diào)試
系統(tǒng)所采用ATJ2135的嵌入式開發(fā)工具為cygwin。cygwin軟件是cygnus solution公司開發(fā)的,是一個(gè)在Windows平臺(tái)運(yùn)行的Unix模擬環(huán)境。其中,USDK13O 提供最主要的調(diào)試手段。它需要在調(diào)試的代碼段添加打印語句,而運(yùn)行則是觀察超級(jí)終端上的打印輸出,以此來診斷程序是否符合設(shè)計(jì)邏輯。通過打印輸出來調(diào)試程序是一種簡(jiǎn)單實(shí)用的調(diào)試手段。它可以在不打斷系統(tǒng)運(yùn)行的情況下獲知其運(yùn)行過程。超級(jí)終端提供日志功能,只要點(diǎn)擊傳送菜單下的捕獲文字項(xiàng),然后設(shè)置日志所在的目錄,這樣輸出的所有信息都將記錄在日志文件中,便于后續(xù)的分析和查找。當(dāng)程序存在設(shè)計(jì)或編碼的缺陷時(shí),系統(tǒng)運(yùn)行會(huì)崩潰,并在終端輸出異常信息。此時(shí)可以將異常出現(xiàn)的地址比對(duì) USDK130 提供的空間分配表來查找導(dǎo)致異常的
圖3 任務(wù)層結(jié)構(gòu)及任務(wù)流程圖
模塊,然后可以找到該模塊對(duì)應(yīng)的 IST 文件來定位錯(cuò)誤所在的位置,從而完成調(diào)試過程。
3.4固件生成
軟件編譯和調(diào)試完成后,會(huì)生成一些*.app應(yīng)用程序和*.drv驅(qū)動(dòng)文件,應(yīng)該將這些文件打包,生成后綴為fwu的固件文件,借助于量產(chǎn)工具下載到嵌入式Mp3裸機(jī)上。
4 系統(tǒng)調(diào)試
由于嵌入式MP3對(duì)信號(hào)要求較高,在布線時(shí)要充分考慮外界信號(hào)的干擾,因此將PCB采用四層板。PCB 板的布局按照功能模塊分區(qū),把模擬信號(hào)與數(shù)字電路及噪聲源部分(如 DC-DC 等)合理地分開,使相互間的信號(hào)耦合為最小,盡量減少相互之間的交叉。電源走線應(yīng)盡量做到由小電流到大電流最后到供電電源的負(fù)極(地)和正極處。電源走線應(yīng)注意線徑,信號(hào)線從起點(diǎn)到終點(diǎn)應(yīng)保持同一線寬,不要有粗細(xì)變化。
在整機(jī)電流正常的情況下,測(cè)量關(guān)鍵點(diǎn)電壓,一切正常后才可將樣機(jī)接電腦。若電路正常,PC操作系統(tǒng)應(yīng)該會(huì)提示發(fā)現(xiàn)新的硬件設(shè)備,此時(shí)用量產(chǎn)工具打開固件文件將固件下載到系統(tǒng)中,然后對(duì)各個(gè)功能進(jìn)行逐個(gè)測(cè)試,對(duì)發(fā)現(xiàn)的問題加以糾正。
5 結(jié)束語
本文給出了基于多媒體應(yīng)用處理器SOC芯片ATJ2135實(shí)現(xiàn)MP3播放器的嵌入式應(yīng)用。該MP3被用于一款智能玩具中,表現(xiàn)出了強(qiáng)大的功能與優(yōu)異的性能。ATJ2135的全軟件工作模式使得該MP3播放器只需將嵌入式DSP執(zhí)行的音頻解碼算法調(diào)整為視音頻解碼算法就可以迅速變身為MP4,而不需要改動(dòng)硬件結(jié)構(gòu)。而針對(duì)實(shí)時(shí)操作系統(tǒng)的改動(dòng)也是同樣的。這樣就為屬于消費(fèi)類電子的便攜式數(shù)字音視頻設(shè)備快速升級(jí)換代以適應(yīng)市場(chǎng)需求變化提供了保證。本款產(chǎn)品已于07年投入生產(chǎn)并產(chǎn)生經(jīng)濟(jì)效益約一百萬元。
本文作者創(chuàng)新點(diǎn):
通過嵌入式MP3播放器的MAP應(yīng)用設(shè)計(jì)實(shí)踐可以表明嵌入式MP3設(shè)計(jì)比較好的結(jié)構(gòu)是采用CPU+DSP,即在MAP的嵌入式CPU上安裝實(shí)時(shí)操作系統(tǒng)運(yùn)行應(yīng)用程序并處理用戶數(shù)據(jù),利用嵌入式DSP中的軟件算法對(duì)付各類格式繁雜的視音頻信號(hào),可以獲得強(qiáng)大的性能并能很容易進(jìn)行產(chǎn)品的升級(jí)換代。
參考文獻(xiàn):
[1]. 姜秀華.數(shù)字電視原理及應(yīng)用. 北京:人民郵電出版社,2003
[2]. 沈勝慶. 嵌入式操作系統(tǒng)的內(nèi)核研究[J].微計(jì)算機(jī)信息,2006,2:72-74.
[3]. 任哲. 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS _II原理及應(yīng)用. 北京:北京航空航天大學(xué)出版社,2005.
評(píng)論