基于Au1200的多媒體播放終端設(shè)計
1 引言
隨著多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,在樓宇電視廣告播放技術(shù)上,網(wǎng)絡(luò)化的播放系統(tǒng)將逐漸取代現(xiàn)行的廣告機本地播放方式。多樣化、實時化的發(fā)布模式以及智能化、人性化的管理平臺,將推動樓宇電視廣告行業(yè)的發(fā)展。
在網(wǎng)絡(luò)化的播放系統(tǒng)中,具有聯(lián)網(wǎng)功能的多媒體播放終端是一個關(guān)鍵設(shè)備,它可以播放圖片、音樂、視頻、文字,成了整個播放系統(tǒng)不可分割的一部分。在新一代的播放系統(tǒng)中,中心管理員可以通過互聯(lián)網(wǎng)或內(nèi)部網(wǎng)對其進行方便的配置和管理,安排具有個性化的播放內(nèi)容,有效地解決了現(xiàn)有播放終端內(nèi)容相對單調(diào)固定的缺陷。
本文根據(jù)這一新的需求,提出了一種新穎的適合網(wǎng)絡(luò)播放的多媒體播放終端的設(shè)計方案。
2 硬件設(shè)計
2.1 功能分析
表1對新一代網(wǎng)絡(luò)播放終端與獨立播放機進行了比較。
為了實現(xiàn)網(wǎng)絡(luò)遠程控制播放,多媒體播放終端必須具備以下功能:1)連接服務(wù)器:啟動后,自動連接遠程服務(wù)器;2)定時通信:定時與服務(wù)器進行握手通信;3)日志管理:記錄終端運行狀態(tài),形成日志文件,定時向服務(wù)器反饋日志信息;4)遠程接受任務(wù)并按要求執(zhí)行:隨時接受中心/分中心發(fā)送的任務(wù),任務(wù)內(nèi)容包括:定時自動開關(guān)機、定時自動下載播放文件、定時播放指定的媒體文件;5)支持多種視音頻和圖片格式,播放質(zhì)量達到DVD級畫質(zhì)及音質(zhì)要求;6)可監(jiān)控各區(qū)域播放工作狀態(tài);7)多種視頻輸出接口,可外接LCD,LED,PDP等多種顯示終端;8)支持遠程軟件升級。
2.2 硬件平臺選擇
目前,生產(chǎn)多媒體處理器并推出相應(yīng)解決方案的半導體供應(yīng)商多達十幾家,比較典型的有Intel,AMD,TI,F(xiàn)reescale,ADI,NXP,SigmaDesigns,ST,Sharp,Sunplus(凌陽)以及深圳安凱等。這些廠商提供的處理器因為源自不同的架構(gòu),在性能、接口、功耗等方面差異很大,在選擇方案時,要從處理能力、支持的視頻格式、支持的接口、功耗、軟件和操作系統(tǒng)(OS)支持以及成本等方面作精心比較:
1) 處理能力及支持的視頻格式
Intel的PXA270和AMD的Au1200都是通用處理器,性能較強大,支持的音視頻格式有MPEG-1/2/4,WMV9,DivX,XVID,MP3,WMA,WAV,ASF,AVI,JPEG等。但PXA270需媒體加速器配合才能更好地工作,方案相對較復雜?;贒SP的解決方案包括TI的DM270/DM320、NXP的PNX0190和ADI的Blackfin系列。此類方案仍需一個MCU(ARM7或ARM9)來處理系統(tǒng)的通用功能,如操作系統(tǒng)和用戶接口等。音視頻解碼是DSP的專長,一般支持MPEG-1/2/4,DivX,WMV9和JPEG等格式。
2) 支持的接口
豐富的接口使開發(fā)人員可以擴展功能或在確定外圍器件時有更多的選擇。多媒體處理器的外圍接口主要包括存儲器接口、USB接口、存儲卡接口、攝像頭接口、硬盤接口、顯示接口、網(wǎng)絡(luò)接口等。現(xiàn)有的方案都支持SRAM'style='color:ff0000' target='_blank'>DRAM,不過只有AMD,Intel和NXP還能同時支持DDR存儲器,這有利于實現(xiàn)更快的編解碼速率。主流方案都支持USB2.0。多數(shù)方案至少支持兩種存儲卡格式,如MMC/SD或SD/CF等,部分方案支持網(wǎng)絡(luò)接口,如AMD,Intel和SigmaDesigns等。
3) 支持的操作系統(tǒng)
軟件開發(fā)是播放器開發(fā)的重要組成部分,如能縮短軟件開發(fā)時間,就可加速產(chǎn)品上市。對于不同結(jié)構(gòu)的硬件,軟件開發(fā)的難易程度也有區(qū)別。基于X86指令的PXA270處理器,編程較容易。DSP的算法最復雜,需要耗費大量的編程時間,所以供應(yīng)商往往會提供完整的軟件解決方案,如TI和NXP都提供了開發(fā)套件。基于MCU的解決方案提供了比DSP解決方案更容易的可編程性。大多數(shù)方案支持Linux操作系統(tǒng),此外還需要中間件(如媒體播放器)、編解碼器和應(yīng)用程序等。
4) 功耗
一般來說,依靠軟件編解碼的方案將具有更高的功耗,例如Intel和AMD的方案;而依靠硬件進行編解碼的方案更省電,如Freescale的方案;DSP+ARM方案的功耗介于兩者之間。對于本文設(shè)計的交流供電的播放器,功耗不是問題。
筆者選用AMD公司的Alchemy Au1200作為多媒體處理器,其功耗低(<400 W@400 Hz);支持多種視頻格式,可擴展到大型顯示屏(1024×768),不需外部DSP,不需多媒體轉(zhuǎn)碼。
2.3 硬件系統(tǒng)結(jié)構(gòu)
本播放終端是一個嵌入式系統(tǒng),是以微計算機技術(shù)為基礎(chǔ)的軟硬件結(jié)合的專用系統(tǒng),整個系統(tǒng)按分層結(jié)構(gòu)設(shè)計:
1) 應(yīng)用層:圖形用戶界面設(shè)計、媒體文件播放等;
2) 操作系統(tǒng)層:線程調(diào)度、文件系統(tǒng)等;
3) 多媒體解碼:媒體加速引擎,MPEG-1/2/4、WMV9等的解碼;
4)驅(qū)動層:音頻、以太網(wǎng)、IDE、LCD、USB2.0等。
系統(tǒng)的硬件結(jié)構(gòu)框圖見圖1。
2.4 模塊設(shè)計
系統(tǒng)主要由處理器、內(nèi)存、啟動ROM、硬盤、LCD屏、外圍擴展接口等部分構(gòu)成。
Au1200處理器最高可支持DDR2-533內(nèi)存芯片,系統(tǒng)內(nèi)存采用2片三星的DDR-266 SRAM'style='color:ff0000' target='_blank'>DRAM,型號為K4H510838E-TLAA,總?cè)萘繛?28 Mbyte。啟動系統(tǒng)固化在Flash存儲器中,Au1200通過靜態(tài)總線控制Flash存儲器,由于地址總線只有15位,需加入1片鎖存器來鎖存地址信號。由于系統(tǒng)是一個下載播放系統(tǒng),多媒體文件的存儲采用普通微硬盤。
Au1200集成了LCD控制器,通過對垂直和水平同步信號、偏置信號和象素時鐘信號的編程,可支持目前大多數(shù)LCD屏工作。本系統(tǒng)用于公眾場合信息的顯示,宜選用43 cm以上的LCD屏。
在此對網(wǎng)絡(luò)接口設(shè)計加以特別的說明:系統(tǒng)采用以太網(wǎng)接口,網(wǎng)絡(luò)控制器選用DAVCOM公司的DM9000快速以太網(wǎng)控制處理器,該控制器與Au1200處理器具有很好的兼容性,DM9000配備有 標準10/100 Mbit/s以太網(wǎng)接口,物理層支持以太網(wǎng)接口協(xié)議,集成有接收緩沖區(qū)。DM9000支持TCP/IP硬加速,可減輕CPU負擔,提高網(wǎng)絡(luò)上傳和下傳的速度,采用的是Linux驅(qū)動,使更改驅(qū)動、升級更加靈活方便。
在設(shè)計時,實現(xiàn)DM9000與Au1200連接,要對兩者間的數(shù)據(jù)、地址、控制三大總線進行連接和轉(zhuǎn)換,圖2給出了連接示意圖。
DM9000默認I/O基地址為300H,數(shù)據(jù)端口和地址端口的地址碼由下式?jīng)Q定
DM9000地址端口=高位片選地址+300H+0 (1)
DM9000數(shù)據(jù)端口=高位片選地址+300H+4 (2)
網(wǎng)絡(luò)接口模塊的軟件包括TCP/IP協(xié)議軟件和以太網(wǎng)芯片DM9000驅(qū)動程序。Linux用TCP/IP作參考模型,共有4層:應(yīng)用層、傳輸層、互聯(lián)網(wǎng)層和主機至網(wǎng)絡(luò)層。驅(qū)動程序包括了面向操作系統(tǒng)核心的接口程序和面向物理層(主機至網(wǎng)絡(luò)層)的接口程序。面向操作系統(tǒng)核心接口程序,用于發(fā)現(xiàn)、檢測網(wǎng)卡參數(shù)及發(fā)送數(shù)據(jù)結(jié)構(gòu)例程。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)的軟件由3部分組成:嵌入式Linux移植、驅(qū)動和應(yīng)用程序編寫。嵌入式Linux操作系統(tǒng)是用戶控制系統(tǒng)的平臺,系統(tǒng)驅(qū)動程序采用模塊化形式,向上為用戶層的解碼應(yīng)用程序提供API函數(shù),向下通過系統(tǒng)硬件APl函數(shù)控制系統(tǒng)硬件。嵌入式Linux設(shè)計有3個層次:引導裝載程序、Linux內(nèi)核和圖形系統(tǒng):
1) 引導裝載程序
引導裝載程序通常是在硬件上執(zhí)行的第一段代碼。系統(tǒng)采用一個專用軟件JFlash-Linux作為引導裝載程序。它支持多種類型的芯片,可以直接與遠程系統(tǒng)上的閃存設(shè)備進行交互,并將引導裝載程序安裝在閃存的給定位置中。
2) 嵌入式Linux內(nèi)核
內(nèi)核檢查硬件并加載根設(shè)備,然后查找根文件系統(tǒng)的init 程序并執(zhí)行該程序。配置內(nèi)核時選擇:模塊編入內(nèi)核、386處理器、物理內(nèi)存off、支持ELF、標準PC軟盤、支持RAM盤、支持initial RAMdisk、虛擬終端、虛擬終端控制臺、標準串口、ext2文件系統(tǒng)、控制臺驅(qū)動,以及VGAtext console,DOS FAT,MSDOS文件系統(tǒng)。
3) 圖形系統(tǒng)
本嵌入式系統(tǒng)采用一種輕量級的GUI,具有輕型、占用資源少、高可靠性的特點。系統(tǒng)分層設(shè)計,最底層是一組屏幕、鼠標/觸摸屏、鍵盤的抽象接口;中間層是可移植的圖形引擎;最高層是各種API,供圖形應(yīng)用程序調(diào)用。最底層的SCREEN抽象接口建立在Linux Framebuffer(幀緩存)設(shè)備基礎(chǔ)上。
應(yīng)用程序信息管理程序主要實現(xiàn)任務(wù)管理和網(wǎng)絡(luò)通信,其流程如圖3所示。
4 系統(tǒng)應(yīng)用
本設(shè)備主要應(yīng)用是基于網(wǎng)絡(luò)的廣告播放系統(tǒng),該系統(tǒng)由四部分組成:播放終端、中心服務(wù)器、分中心服務(wù)器和管理中心,其系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
將本播放終端接入圖4所示的應(yīng)用系統(tǒng)中,對幾個不同大小、不同格式的多媒體文件進行下載播放,得到測試結(jié)果如表2所示,證明系統(tǒng)設(shè)計符合實際使用要求。
本文設(shè)計的基于Alchemy Au1200的多媒體播放終端,具有強大的多媒體播放功能,其主要創(chuàng)新思想在于增加了網(wǎng)絡(luò)和信息管理功能,使其可實現(xiàn)網(wǎng)絡(luò)遠程控制,達到了高智能化程度,在目前的樓宇視頻聯(lián)播廣告系統(tǒng)應(yīng)用領(lǐng)域具有廣闊的市場前景。