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