圖1:PMP的係統架構
在設計係統框架之前,首先需要確認播放器的具體功能。目前比較常見的功能包括:MPEG4播放、電視節目錄製、MP3/WMA音頻播放、錄音、圖片顯示、遊戲和存儲功能(HDD/CF/SD)等。根據這些功能,圖1給出了一個參考的係統架構,主要由五部分組成:主處理模塊、視頻輸入模塊、視頻輸出模塊、音頻輸入輸出模塊、電源模塊和存儲模塊。
作為主處理模塊,DM270是整個係統的核心,係統的其它模塊都由它來協調和控製。DM270支持的多種多媒體的格式,包括視頻(MPEG1/2/4等)、圖像(JPEG/BMP等)和音頻(MP3/WMA等)。
視頻輸入模塊的核心芯片是TVP5150A。它是一款低功耗小體積的視頻解碼器,可以將NTSC、PAL及SECAM視頻信號轉換成數字分量視頻信號。視頻輸出模塊由LCD和電視輸出組成。目前市麵上采用2.5寸到3.6寸的LCD模塊,也不乏有采用7寸大屏幕。同時可以加上觸摸屏的功能,隻要使用觸摸屏控製器,就能方便的實現。
音頻輸入輸出模塊由音頻codec和DM270的McBSP共同完成。可以根據需要選擇單聲道、雙聲道、DAC或者ADC+DAC的芯片。如果同時需要觸摸屏控製器和音頻codec,還可以選用集成觸摸屏控製器和音頻codec的產品,可以減小芯片體積,同時降低成本。
電源模塊需要根據係統電源的需要來選擇。圖1係統中的電源較為簡單,可以使用像TPS6501x這樣的集成電源模塊,能為電池提供AC或者USB充電,並且可為係統提供多路電源輸出。存儲模塊可以采用硬盤或各種存儲卡。
硬件設計建議
平台的可擴展性是選擇主處理芯片的一個重要考量點。DM270是可編程的芯片,具有豐富的外設,有利於適應處於動態變化的市場的需要。除了PMP以外,CCD控製器使得DM270可以應用於數碼照相機,靈活的主機接口也使得DM270可以作為多媒體協處理器應用於多媒體手機等等。
功耗是便攜式多媒體播放器一個敏感的問題,所以在選擇芯片的時候就需要考慮到這一點。選擇低功耗的芯片是最簡單,也是最有效的方法,當然需要與成本進行權衡。例如選擇mobile SDRAM代替普通的SDRAM,或者選擇有節能模式的芯片,如DM270。
芯片的體積,集成度,成本也是選型時不容忽視的要點。DM270就是即節約體積又節約本的好例子。DM270集成了模擬視頻編碼器,需要輸出到電視的功能時,就節約了一顆視頻編碼芯片;DM270可以完成MPEG4的編解碼,就不需要在額外增加MPEG4的編碼芯片。
在設計PMP時,還要周密考慮下麵幾個部分的設計。首先是電源部分。電源是整個係統穩定的根源。在設計時很容易考慮到電池單獨供電的情況,但往往忽略了可能出現外部電源AC單獨供電的情況。在這種情況下,如何設計不合理,很可能出現電源無輸出的情況,導致係統無法正常工作。還需要注意的是電池在充電時,係統的供電回路的狀態。要保證在各種可能情況下,係統電源的穩定性。
其次是電視輸出部分,需要考慮輸出阻抗的匹配問題。第三是LCD模塊接口部分。DCLK對於LCD模塊是一個很重要的時鍾信號。如果頻率過低,會導致屏幕顯示抖動。在硬件設計時要充分考慮到這一點。
第四需要注意硬盤防震。硬盤防震可以分為被動型和主動型兩種。被動型硬盤防震利用純機械原理,采取吸收震動能量方式來減輕硬盤傷害的可能性,例如防震氣墊。主動型硬盤防震,可使用加速度傳感器。當傳感器監測到播放器掉落時,係統主動采取措施對硬盤進行保護,防止數據丟失。
軟件設計及建議
PMP的軟件框架如圖2所示。客戶可以根據產品的開發計劃、研發能力等,選擇不同層次的軟件的開發或者利用第三方的支持。
驅動層是和硬件最相關的軟件,包括硬件的驅動程序和API接口,它主要用於完成對硬件設備的操作。
算法庫建議采用第三方的軟件。因為編寫算法需要投入大量的人力和物力,而且開發周期長。利用第三方的軟件可以縮短開發周期。TI擁有龐大的第三方網絡,可以為客戶提供針對不同應用的算法。同時TI建議的算法接口標準XDAIS已成為事實上的業界標準,這標準協同TI建議的軟件參考框架使得客戶在集成上時間花費最少。
PMP可以沒有操作係統,這時需要注意的就是要建立自己的文件係統,對文件進行管理。使用操作係統,在選擇時需要對可移植性、可擴充性、內核大小和成本等進行權衡。內核較小的操作係統,係統占用資源較少,但集成新的外設時就需要寫驅動。像uClinux這樣的操作係統,集成了較多外設,網上資源豐富,但占用的係統資源較多,對性能有一定的影響。
盡管使用操作係統會消耗一定的係統資源,但它其實也有很多好處。比如操作係統經過多年的開發和應用,穩定性較好。操作係統內嵌了文件管理、線程調度、內存管理等機製,也增加了係統的穩定性。應用軟件的開發與平台無關,方便了軟件的開發,也利於軟件的移植。一些流行的操作係統有很多現成的代碼可以參考和移植,這也大大減少了開發的難度和節約了開發的時間。而且操作係統還可以根據需要進行裁減,以最少的資源來滿足係統的需要。
應用層是設計者最能發揮特長,也是突出產品的獨特之處、增加產品的附加值的地方。ARCHOS的PMA400就是一個很好的例子。它為最終用戶提供的軟件平台,讓用戶可以開發基於PMA400的應用軟件。
功耗除了在硬件設計中需要考慮,而且也是在軟件設計中需要攻克的難題。硬件設計好以後,一般來說功耗就定下來了,但是利用芯片的可編程性就可以盡可能的減小係統的功耗,在提供最佳效果的同時,利用軟件調節獲得最長的待機和播放時間。方法之一是在待機時讓芯片進入低功耗模式。DM270除了有低功耗模式外,還可利用軟件關閉不使用的內部模塊,從而達到省電的效果。並且可以動態的調節主頻,在處理較簡單事務時,降低頻率進行省電。硬盤和LCD屏是PMP的用電大戶。對於硬盤,正常工作時的電流有幾百毫安,所以通常是將硬盤上的數據複製到SDRAM上,盡可能的減少硬盤工作的時間。
結束語
目前便攜式多媒體播放器的市場還處於一個緩慢上升的階段,相信隨著MPEG4格式的流行,解決了內容這個問題,加上係統整體成本的降低、播放時間的延長、應用領域的擴大,便攜式多媒體播放器一定有一個輝煌的明天。
TMS320DM270介紹
TI的DM270芯片是一款高集成度的雙核結構的SoC產品,集成了RISC處理核ARM7,以及TI的54係列DSP核。ARM作為的芯片的控製核心,控製絕大部分的外設,處理除多媒體算法以外的工作。54係列DSP核具有低功耗的特點,作為協處理器參與視頻、圖像和音頻處理。為了提高處理視頻的能力,DM270集成了硬件圖像加速器(IMX),並將在視頻算法中經常使用的變長編解碼(VLC/D)用硬件實現。這就使得DM270可以實現VGA分辨率(640*480),每秒30幀的MPEG4視頻。
DM270的外設功能包括:
CCD控製器除了可以和百萬像數的CCD/CMOS模塊連接以外,也可以與視頻解碼芯片TVP5150A無縫連接。 DM270提供了硬件的3A統計。3A也就自動曝光,自動對焦,自動白平衡。獲得這些統計數據後,就可以對閃光燈、鏡頭、圖像數據等進行調整,從而獲得較好的照片效果。 預覽引擎可以提供實時的圖像預覽顯示和縮放,而不用經過DSP的處理。OSD (on-screen-display)屏顯模塊,能很容易實現菜單和圖標。 內置模擬NTSC/PAL視頻輸出,可以將圖像或視頻方便的輸出到電視上。 靈活的LCD接口,支持眾多公司的LCD模塊,比如SONY、SHARP、AUO、CASIO、Epson,等。 多種存儲卡接口,可以支持市麵上流行的存儲卡,例如CF、SM、SD、MMC、MS。 DM270還擁有許多通用接口,例如I2C, UART, SPI等等,有利於和其它器件的連接和配合。