多媒體應(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)試過(guò)程等嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),。
1 引 言
采用 MPEG 標(biāo)準(zhǔn)Layer3算法進(jìn)行壓縮處理后的文件統(tǒng)稱為MP3文件,,能夠?qū)P3文件進(jìn)行解碼并還原聲音的系統(tǒng)都可以被稱為MP3播放器。作為消費(fèi)類(lèi)電子產(chǎn)品的代表,,MP3不斷增長(zhǎng)的消費(fèi)要求也促使生產(chǎn)廠家采用更先進(jìn)的技術(shù)來(lái)提高自己產(chǎn)品的競(jìng)爭(zhēng)力,。針對(duì)MP3 、MP4以及智能手機(jī)上的數(shù)字音視頻應(yīng)用,,SOC芯片廠商如國(guó)外的SIGMATEL,、國(guó)內(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)類(lè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芯片,,主要組成包括電源單元、顯示單元,、鍵盤(pán)輸入電路,、FM收音機(jī)單元、外部存儲(chǔ)器,、功放及揚(yáng)聲器單元等,。系統(tǒng)總體框圖如圖1。主控MAP中的嵌入式DSP對(duì)MP3文件進(jìn)行音頻解碼,,解碼后的序列經(jīng)MAP中DAC輸出至功放及揚(yáng)聲器或耳機(jī),。
主控MAP中的嵌入式CPU運(yùn)行實(shí)時(shí)操作系統(tǒng)管理包括鍵盤(pán)與LCD、文件系統(tǒng),、FM模塊,,并實(shí)現(xiàn)MP3的數(shù)據(jù)管理、娛樂(lè)游戲,、通信等功能,。
2.1 主控芯片
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、鍵盤(pán)和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等器件來(lái)實(shí)現(xiàn),。
2.3輸入輸出組件
2.3.1 A/D式線控鍵盤(pán)接口設(shè)計(jì)
為了適應(yīng)MP3應(yīng)用的特殊性,ATJ2135提供另外一種我們?cè)谄渌度胧綉?yīng)用中很少見(jiàn)的鍵盤(pán)結(jié)構(gòu)——A/D式線控鍵盤(pán),。這種鍵盤(pán)可以進(jìn)一步減少I(mǎ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)寬的范圍來(lái)區(qū)分每一個(gè)按鍵值,。ATJ2135內(nèi)部提供一個(gè)4位低分辨率A/D轉(zhuǎn)換器,,可以很方便的配置成線控按鍵模式。
2.3.2 LCD顯示輸出
由于ATJ2135芯片沒(méi)有自帶 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è)高效的升壓電路來(lái)實(shí)現(xiàn)這一功能,,為此ATJ2135提供了一個(gè)背光控制,它可以按照軟件的設(shè)定值輸出8種不同頻率的脈沖,,通過(guò)改變輸出頻率值來(lái)改變背光亮度。
2.4系統(tǒng)存儲(chǔ)器
本播放器采用一塊512 M NAND FLASH作為片上存儲(chǔ)單元,,寫(xiě)入速度較快,,具有良好的抗震能力,體積,、重量較小,,尤其適合便攜式系統(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解碼流程
MP3采用了較為復(fù)雜的比特流結(jié)構(gòu),,所有MPEG的比特流都被分割成了單獨(dú)的幀。對(duì)于MPEG圖2音頻,,每秒都傳送固定數(shù)目的幀,,也就是說(shuō),當(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è)源代碼公開(kāi)的嵌入式實(shí)時(shí)操作系統(tǒng),,具有小內(nèi)核,、多任務(wù)、豐富的系統(tǒng)服務(wù),、容易使用等特點(diǎn)并且非常穩(wěn)定,、可靠。而由于其極小的內(nèi)核,,就特別適用于對(duì)程序代碼存儲(chǔ)空間要求極其敏感的嵌入式MP3應(yīng)用系統(tǒng)開(kāi)發(fā),。本系統(tǒng)采用可剝奪型多任務(wù)內(nèi)核,其任務(wù)層設(shè)計(jì)及任務(wù)流程如圖3所示,。
3.3 嵌入式系統(tǒng)軟件編譯與調(diào)試
系統(tǒng)所采用ATJ2135的嵌入式開(kāi)發(fā)工具為cygwin,。cygwin軟件是cygnus solution公司開(kāi)發(fā)的,是一個(gè)在Windows平臺(tái)運(yùn)行的Unix模擬環(huán)境,。其中,,USDK13O 提供最主要的調(diào)試手段。它需要在調(diào)試的代碼段添加打印語(yǔ)句,,而運(yùn)行則是觀察超級(jí)終端上的打印輸出,,以此來(lái)診斷程序是否符合設(shè)計(jì)邏輯。通過(guò)打印輸出來(lái)調(diào)試程序是一種簡(jiǎn)單實(shí)用的調(diào)試手段,。它可以在不打斷系統(tǒng)運(yùn)行的情況下獲知其運(yùn)行過(guò)程,。超級(jí)終端提供日志功能,只要點(diǎn)擊傳送菜單下的捕獲文字項(xiàng),,然后設(shè)置日志所在的目錄,,這樣輸出的所有信息都將記錄在日志文件中,便于后續(xù)的分析和查找,。當(dāng)程序存在設(shè)計(jì)或編碼的缺陷時(shí),,系統(tǒng)運(yùn)行會(huì)崩潰,并在終端輸出異常信息,。此時(shí)可以將異常出現(xiàn)的地址比對(duì) USDK130 提供的空間分配表來(lái)查找導(dǎo)致異常的模塊,,然后可以找到該模塊對(duì)應(yīng)的 IST 文件來(lái)定位錯(cuò)誤所在的位置,從而完成調(diào)試過(guò)程。
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 等)合理地分開(kāi),,使相互間的信號(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)工具打開(kāi)固件文件將固件下載到系統(tǒng)中,,然后對(duì)各個(gè)功能進(jìn)行逐個(gè)測(cè)試,,對(duì)發(fā)現(xiàn)的問(wèn)題加以糾正。
5 結(jié)束語(yǔ)
本文給出了基于多媒體應(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)類(lèi)電子的便攜式數(shù)字音視頻設(shè)備快速升級(jí)換代以適應(yīng)市場(chǎng)需求變化提供了保證,。本款產(chǎn)品已于07年投入生產(chǎn)并產(chǎn)生經(jīng)濟(jì)效益約一百萬(wàn)元,。
本文作者創(chuàng)新點(diǎn):
通過(guò)嵌入式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ì)付各類(lèi)格式繁雜的視音頻信號(hào),,可以獲得強(qiáng)大的性能并能很容易進(jìn)行產(chǎn)品的升級(jí)換代。