基于Sitsang平臺(tái)的便攜式多媒體中心
2005年2月A
本設(shè)計(jì)在2004年全國(guó)大學(xué)生嵌入式系統(tǒng)專題競(jìng)賽中獲得最高獎(jiǎng)Intel杯。
摘要:本設(shè)計(jì)在充分利用Sitsang開(kāi)發(fā)板原有資源的基礎(chǔ)上,通過(guò)增加硬件擴(kuò)展系統(tǒng)、定制Linux內(nèi)核和Qt/Embedded開(kāi)發(fā)庫(kù)等手段,基于Qtopia桌面系統(tǒng)實(shí)現(xiàn)了一個(gè)便攜式多媒體中心。
關(guān)鍵詞:多媒體;嵌入式;Linux內(nèi)核;Qt/Embedded開(kāi)發(fā)庫(kù)
概述
Sitsang開(kāi)發(fā)平臺(tái)是Intel專為嵌入式處理器PXA255設(shè)計(jì)的一個(gè)綜合開(kāi)發(fā)平臺(tái)。PXA255 是Intel推出的取代StrongARMSA1110 的新一代嵌入式應(yīng)用處理器,它擁有Thumb 壓縮指令、64位長(zhǎng)乘法指令、擴(kuò)展型DSP 指令等先進(jìn)特性,并集成了多通信信道、LCD控制器、增強(qiáng)型存儲(chǔ)控制器、PCMCIA/CF 控制器以及通用I/O 口。Sitsang 開(kāi)發(fā)平臺(tái)以PXA255為核心,配備了存儲(chǔ)器、液晶顯示屏、網(wǎng)卡、聲卡、USB控制器等設(shè)備,提供了豐富的外圍數(shù)據(jù)接口,包括IrDA、UART、USB擴(kuò)展槽等外部數(shù)據(jù)接口。
本設(shè)計(jì)以Sitsang開(kāi)發(fā)板作為嵌入式開(kāi)發(fā)平臺(tái),將“隨身看”、影音錄制、視頻輸出、海量存儲(chǔ)、視頻點(diǎn)播、網(wǎng)絡(luò)下載等多種功能融為一體,實(shí)現(xiàn)一個(gè)兼顧家庭娛樂(lè)和戶外便攜的便攜式多媒體中心。
系統(tǒng)總體方案
根據(jù)Sitsang開(kāi)發(fā)平臺(tái)的資源情況以及設(shè)計(jì)的目標(biāo)要求,本設(shè)計(jì)在原有的Sitsang開(kāi)發(fā)平臺(tái)上擴(kuò)展了一塊視頻擴(kuò)展板,視頻擴(kuò)展板的主要功能是視頻信號(hào)的輸出和錄制。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)框圖
系統(tǒng)實(shí)現(xiàn)
媒體播放器
多媒體功能是本系統(tǒng)的重點(diǎn),所以媒體播放器在本系統(tǒng)中具有舉足輕重的地位。為了能夠流暢播放多種格式的視頻文件,本系統(tǒng)在Sitsang開(kāi)發(fā)板上移植、修改并優(yōu)化了Linux媒體播放器MPlayer。
MPlayer是Linux 上最優(yōu)秀的多媒體播放器。它能使用眾多的編解碼器,支持廣泛的輸出設(shè)備。
MPlayer在Sitsang板上播放時(shí),顏色會(huì)出現(xiàn)偏差;正常模式不能在FrameBuffer的中間顯示;帶-fs的全屏參數(shù)播放后,只是將播放位置移到中間,并不放大,而且該模式不支持在播放時(shí)通過(guò)鍵盤(pán)事件觸發(fā)。如果要放大屏幕,需要加-vf scale=
MPlayer自帶的mp3lib浮點(diǎn)音頻解碼庫(kù)在Sitsang開(kāi)發(fā)板上的解碼效率很低,因此使用基于定點(diǎn)運(yùn)算的libmad音頻解碼庫(kù)替代原有的mp3lib庫(kù)進(jìn)行音頻解碼。
MPlayer圖形界面在Qtopia視窗環(huán)境下無(wú)法運(yùn)行。為了方便用戶使用,本系統(tǒng)提供了MPlayer在Qtopia下的用戶圖形界面。為了能將圖形界面的控制命令及時(shí)傳遞給MPlayer,使用MPlayer的-input選項(xiàng),通過(guò)一個(gè)FIFO從GUI向后端程序傳遞控制信息。
通過(guò)上述優(yōu)化、修改后的MPlayer,能夠滿足系統(tǒng)方案中提出的流暢播放各種格式音、視頻文件的要求。
視頻輸出
本系統(tǒng)的視頻輸出電路(圖2)采用將Sitsang開(kāi)發(fā)板上的LCD輸出直接映射到電視機(jī)上的方式。這樣做的好處是:兩個(gè)輸出完全同步,媒體播放器可以不必理會(huì)輸出對(duì)象的改變。
具體的實(shí)現(xiàn)是通過(guò)硬件完成的。LCD控制器輸出的視頻信號(hào)(RGB數(shù)字信號(hào))通過(guò)Philips公司的視頻編碼芯片SAA7102轉(zhuǎn)換成模擬復(fù)合視頻信號(hào)(CVBS)和分量視頻信號(hào)(Y/C),然后傳輸給電視機(jī)。因?yàn)長(zhǎng)CD輸出的時(shí)鐘頻率和SAA7102工作的時(shí)鐘頻率不同步,數(shù)據(jù)寬度也不相同,所以在系統(tǒng)中加了一片F(xiàn)IFO(74V3690),起數(shù)據(jù)緩存、時(shí)鐘轉(zhuǎn)換及數(shù)據(jù)寬度轉(zhuǎn)換的作用。在每幀信號(hào)開(kāi)始的時(shí)候,由VSYNC信號(hào)實(shí)現(xiàn)三者同步。由于LCD輸出的數(shù)據(jù)寬度是SAA7102輸入數(shù)據(jù)的兩倍,所以用了一個(gè)倍頻電路將SAA7102的時(shí)鐘信號(hào)加倍,以滿足數(shù)據(jù)傳輸?shù)乃俾室蟆?/p>
圖2 視頻輸出電路框圖
影音錄制
影音錄制部分(圖3)也是通過(guò)硬件實(shí)現(xiàn)的。輸入的模擬復(fù)合視頻信號(hào)經(jīng)Philips的視頻解碼芯片SAA7113轉(zhuǎn)換為數(shù)字信號(hào),以YUV方式傳輸給華邦公司的JPEG壓縮芯片W9968,經(jīng)硬件壓縮為Motion JPEG圖像信號(hào)并通過(guò)擴(kuò)展總線接口傳輸?shù)絊itsang開(kāi)發(fā)板。音頻輸入信號(hào)則直接通過(guò)Sitsang開(kāi)發(fā)板上的音頻輸入接口送到Sitsang開(kāi)發(fā)板上的音頻編碼芯片,轉(zhuǎn)換成數(shù)字信號(hào)并進(jìn)行編碼。應(yīng)用程序?qū)otion JPEG圖像信號(hào)與音頻信號(hào)一起轉(zhuǎn)換為基于Motion JPEG編碼的AVI格式媒體文件并存入移動(dòng)硬盤(pán)。保存下來(lái)的文件可以直接被MPlayer播放。
圖 3 視頻錄制電路框圖
為了給媒體文件的存儲(chǔ)提供大量的空間,本系統(tǒng)通過(guò)板上的USB主端口擴(kuò)展30GB移動(dòng)硬盤(pán)和通用讀卡器。并重新定制Linux內(nèi)核,使其增加對(duì)USB移動(dòng)硬盤(pán)和通用讀卡器的支持。
紅外遙控
為了方便用戶的控制,在視頻擴(kuò)展板上安裝了紅外遙控接收模塊,其基本結(jié)構(gòu)如圖4所示。其中紅外接收裝置僅僅是一個(gè)紅外接收頭,接收到的串行數(shù)據(jù)信號(hào)送入MCU( 89C2051),由軟件進(jìn)行解碼。這樣做的好處是可以通過(guò)修改軟件實(shí)現(xiàn)對(duì)不同遙控器的兼容,同時(shí)也充分利用了視頻擴(kuò)展板上的資源。
解碼后的數(shù)據(jù)通過(guò)串口送往Sitsang開(kāi)發(fā)板。Qt/Embedded鏈接庫(kù)提供對(duì)終端設(shè)備、虛擬鍵盤(pán)和USB鍵盤(pán)等多種輸入設(shè)備的支持。為了讓Sitsang開(kāi)發(fā)板支持紅外遙控器,修改了Qt/Embedded中處理USB鍵盤(pán)事件的部分,將從串口讀入的數(shù)據(jù)作為鍵盤(pán)事件來(lái)處理,結(jié)合應(yīng)用程序中熱鍵的定義,完成了遙控功能。
圖4 紅外遙控部分的基本結(jié)構(gòu)
網(wǎng)絡(luò)服務(wù)
有了媒體播放器的支持,用戶基于寬帶網(wǎng)絡(luò)既可以利用FTP下載工具,從FTP站點(diǎn)上下載影音資源,又可以通過(guò)VOD點(diǎn)播系統(tǒng)實(shí)現(xiàn)在線觀看視頻節(jié)目,享受豐富的網(wǎng)絡(luò)資源。本系統(tǒng)支持基于HTTP協(xié)議的順序流式VOD點(diǎn)播和網(wǎng)絡(luò)文件系統(tǒng)NFS的視頻點(diǎn)播。除提供VOD點(diǎn)播服務(wù)外,本部分還提供網(wǎng)絡(luò)廣播的收聽(tīng)和網(wǎng)絡(luò)文件系統(tǒng)的功能。
結(jié)語(yǔ)
本系統(tǒng)通過(guò)移植MPlayer播放器,擴(kuò)大Sitsang平臺(tái)的功能,支持MPEG-1、MPEG-2、DivX3、DivX4、DivX5、XviD等視頻格式和MP3、WMA等音頻格式文件的流暢播放。同時(shí)還支持HTTP協(xié)議的網(wǎng)絡(luò)文件的播放和網(wǎng)絡(luò)廣播的收聽(tīng)。
視頻擴(kuò)展板的輸出信號(hào)穩(wěn)定,色彩自然。配合寬屏幕的彩色電視機(jī),給人以美好的視覺(jué)享受。視、音頻信號(hào)錄制功能可以實(shí)現(xiàn)錄像機(jī)、網(wǎng)絡(luò)機(jī)頂盒等功能,與LCD配合又可以使得“隨身看”的節(jié)目源多樣化。紅外遙控功能操作簡(jiǎn)單,能在相當(dāng)大的范圍內(nèi)保證正確的識(shí)別。
系統(tǒng)中提供的其它模塊涉及到圖像處理、文件管理、網(wǎng)絡(luò)下載、移動(dòng)存儲(chǔ)等軟硬件技術(shù),在測(cè)試中各模塊工作正常,性能穩(wěn)定,達(dá)到了設(shè)計(jì)的指標(biāo)。
參考文獻(xiàn):
1. 陳章龍等,嵌入式技術(shù)與系統(tǒng)——Inter XScale結(jié)構(gòu)與開(kāi)發(fā),北京:北京航空航天大學(xué)出版社,2004
2. Arthur Griffith,KDE 2/Qt編程寶典,北京:電子工業(yè)出版社,2002
評(píng)論