嵌入式AU1200無(wú)線(xiàn)車(chē)載終端播放器設(shè)計(jì)實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
人民生活水平的提高,公車(chē)、轎車(chē)等交通工具作為人們的代步工具,越來(lái)越普及,汽車(chē)的智能化、個(gè)性化需求越來(lái)越高,尤其是客車(chē)、公交汽車(chē)中娛樂(lè)以及信息服務(wù)也越來(lái)越受到重視,集成媒體播放,硬盤(pán)錄像,無(wú)線(xiàn)傳輸?shù)榷囗?xiàng)功能于一體的車(chē)載終端產(chǎn)品,將成為未來(lái)汽車(chē)電子發(fā)展的必然趨勢(shì)。
1 無(wú)線(xiàn)車(chē)載終端系統(tǒng)簡(jiǎn)介
無(wú)線(xiàn)車(chē)載終端系統(tǒng)采用AU1200的嵌入式CPU內(nèi)核,配以車(chē)載硬盤(pán)、無(wú)線(xiàn)網(wǎng)卡、攝像頭、用戶(hù)控制鍵盤(pán)、顯示器等部分組成。在車(chē)站采用服務(wù)器管理系統(tǒng),可通過(guò)車(chē)站的Wi-Fi網(wǎng)絡(luò)實(shí)現(xiàn)車(chē)載終端系統(tǒng)和車(chē)站服務(wù)器之間的無(wú)線(xiàn)數(shù)據(jù)傳輸,車(chē)輛進(jìn)站時(shí),服務(wù)器會(huì)自動(dòng)對(duì)車(chē)載終端系統(tǒng)進(jìn)行檢查和記錄,并進(jìn)行相應(yīng)更新,其包括節(jié)目、廣告的下載和錄像圖片或視頻的上傳。車(chē)輛還可通過(guò)用戶(hù)控制鍵盤(pán)選擇是否上傳車(chē)程中PVR(Personal Video Recoder)錄像。無(wú)線(xiàn)車(chē)載多媒體處理系統(tǒng)包括了車(chē)站服務(wù)器系統(tǒng)和車(chē)載終端系統(tǒng)。其框圖如圖1所示。
2 無(wú)線(xiàn)車(chē)載終端播放器硬件設(shè)計(jì)
該方案由處理器、電源、存儲(chǔ)器、外設(shè)接口、人機(jī)界面等組成。圖2是車(chē)載終端硬件電路模塊示意圖。
(1)處理器:采用Alchemy Au1200,是MIPS架構(gòu)的一款低功耗,高性能處理器??芍С諻indows CE,Linux等操作系統(tǒng)。它的主頻可達(dá)500 MHz功耗低于400 mW,集成媒體加速引擎,可支持的媒體格式包括MPEG1,MPEG2,MPEG4,WMV9,H.263,DivX,Xvid,MP3,WMA,WAV,ASF,AVI,JPEG等。
(2)電源:一般車(chē)載電源為12 V直流電源,需經(jīng)過(guò)變換為5 V,3.3 V,1.8 V和1.2 V的直流電源,該電路采用芯片LM2676ADJ和LM2381實(shí)現(xiàn)。
(3)存儲(chǔ)器部分:分為內(nèi)存和外存儲(chǔ)器。內(nèi)存由FLASH和DDR共同構(gòu)成,主要功能是存儲(chǔ)并運(yùn)行bootloader以及應(yīng)用程序、驅(qū)動(dòng)程序等二進(jìn)制文件。
FLASH采用的是Intel公司的TE28F128J3C,DDR采用NT5TU32M16AG。外存是硬盤(pán),用于存放通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)下載的多媒體文件以及在客車(chē)行駛過(guò)程中拍攝的PVR錄像,硬盤(pán)部分主要通過(guò)兩片雙向總線(xiàn)數(shù)據(jù)收發(fā)器74LVC245實(shí)現(xiàn)。
(4)外設(shè)接口:實(shí)現(xiàn)功能包括目標(biāo)板與PC機(jī)的通信,多媒體文件傳輸及保存,音視頻數(shù)據(jù)的播放等。采用的接口有串口,以太網(wǎng)口,VGA(Video Graphics Ar-ray),Audio,IDE以及USB口。串口主要用于在宿主機(jī)開(kāi)發(fā)環(huán)境中目標(biāo)板與PC機(jī)之間的通信;以太網(wǎng)接口主要用于文件系統(tǒng)的掛載;IDE接口用于硬盤(pán)的連接,針對(duì)車(chē)載系統(tǒng)不可避免的顛簸抖動(dòng),IDE接口減少了硬盤(pán)接口的電纜數(shù)目與長(zhǎng)度,數(shù)據(jù)傳輸?shù)目煽啃缘玫搅嗽鰪?qiáng);VGA接口用于連接終端顯示器,處理器內(nèi)部以數(shù)字方式生成的顯示圖像信息經(jīng)過(guò)數(shù)/模轉(zhuǎn)換器ADV7123轉(zhuǎn)變?yōu)镽,G,B三原色信號(hào)和行、場(chǎng)同步信號(hào),信號(hào)通過(guò)電纜傳輸?shù)斤@示設(shè)備中,使圖像顯示更加清晰。聲卡芯片是UDA1380,它數(shù)字音頻信號(hào)由CPU通過(guò)數(shù)據(jù)總線(xiàn)輸入U(xiǎn)DA1380,經(jīng)過(guò)D/A轉(zhuǎn)換為模擬音頻信號(hào),輸出至揚(yáng)聲器;USB接口用于連接無(wú)線(xiàn)網(wǎng)卡,使無(wú)線(xiàn)車(chē)載終端系統(tǒng)可以通過(guò)WI-FI網(wǎng)絡(luò)進(jìn)行節(jié)目源的無(wú)線(xiàn)下載。
3 無(wú)線(xiàn)車(chē)載終端播放器的軟件實(shí)現(xiàn)
無(wú)線(xiàn)車(chē)載終端播放器要實(shí)現(xiàn)包括MPEG1,MPEG2,MPEG3,MPEG4,H.263,H.264等格式的多媒體的播放。采用在軟件解碼的基礎(chǔ)上加AU1200的媒體加速引擎(MAE)實(shí)現(xiàn)。這里設(shè)計(jì)的無(wú)線(xiàn)車(chē)載終端播放器的軟件整體架構(gòu)圖如圖3所示。車(chē)載系統(tǒng)采用軟硬件結(jié)合的方式對(duì)多媒體文件進(jìn)行解碼。軟件解碼主要采用媒體應(yīng)用接口MAI(Media ApplicationInterface)和多媒體引擎MAI Engine,硬件解碼主要采用AU1200的板載硬件設(shè)備MAE(Media AccelerationEngine)。[!--empirenews.page--]
(1)MAI:是一個(gè)流媒體的架構(gòu),用于對(duì)多媒體的管理。MAI由視頻解碼的元素庫(kù)構(gòu)成,包括用于多媒體文件的讀取解析、解復(fù)用、解碼等工作的元素庫(kù)。MAI Engine會(huì)接收由輸入設(shè)備輸入的媒體信息,根據(jù)多媒體文件的類(lèi)型連接MAI相應(yīng)的解碼算法文件處理該媒體流,并將其輸出到視頻或音頻設(shè)備。MAIEngine對(duì)媒體流的控制主要包括以下幾個(gè)方面:
①預(yù)覽媒體流以確定格式;
②載入并連接所需的各獨(dú)立元素用于對(duì)媒體流的解碼等工作;
③處理播放的命令:如暫停、播放、定位等;
④整理播放進(jìn)度以及錯(cuò)誤信息并向應(yīng)用程序報(bào)告。
(2)播放器應(yīng)用層:包括:播放器應(yīng)用程序,MAIEngine的引擎函數(shù),MAI針對(duì)各種格式的多媒體文件的元素庫(kù)。
(3)音視頻解碼:播放器軟件解碼程序的流圖如圖4所示。在多媒體文件解碼過(guò)程中,首先播放器應(yīng)用程序分別調(diào)用播放文件函數(shù):Player_PlayFile()和引擎函數(shù)MAIengine_QuerySupport()進(jìn)行對(duì)多媒體文件的讀取和多媒體文件類(lèi)型的檢測(cè),支持此過(guò)程完成的庫(kù)函數(shù)是Libmaifilereader.so。接下來(lái),播放器應(yīng)用程序調(diào)用引擎函數(shù)MAIengine AutoConnect(),該函數(shù)會(huì)根據(jù)多媒體文件的類(lèi)型調(diào)用庫(kù)文件對(duì)多媒體文件進(jìn)行解復(fù)用,支持解復(fù)用的庫(kù)文件包括Libmaimpeg2demux.so和Lib-maimpeg4demux.so等;再根據(jù)解復(fù)用后的音視頻格式調(diào)用庫(kù)文件進(jìn)行音視頻的解碼,播放器可解碼的音頻格式有MP3,OGG,WAV等,可解碼的視頻格式有MPEG1,MPEG2,MPEG4等;支持解碼的庫(kù)函數(shù)主要包括Lib-maimp3dec.so,Libmaimpeg2dec.so等;解碼后分別通過(guò)調(diào)用庫(kù)文件Libmaiaudrend.so和Libmaividrend.so對(duì)音視頻數(shù)據(jù)進(jìn)行渲染。至此,音頻數(shù)據(jù)便可送至揚(yáng)聲器輸出,視頻數(shù)據(jù)送至MAE進(jìn)行硬件解碼。
(4)MAE:是一種能解碼的基于塊的視頻格式的硬件加速單元,它主要負(fù)責(zé)對(duì)上層軟件解碼出來(lái)的可變長(zhǎng)度編碼進(jìn)行解碼。在AlchemyTM AU1200TM proces-sor承擔(dān)了視頻解碼、縮放、顏色空間轉(zhuǎn)換和過(guò)濾功能的片上硬件。通過(guò)在硬件上完成大部分的視頻解碼任務(wù),因此省掉了外部DSP電路,MAE把MIPS32TM處理器核解放出來(lái)去執(zhí)行用戶(hù)交互,音頻處理和其他任務(wù)。同時(shí),因?yàn)樘幚砥魃线\(yùn)行的軟件將不同長(zhǎng)度的解碼信息傳遞給MAE。MAE硬件上被分為前端和后端,各自執(zhí)行特定的任務(wù)。MAE的前端獨(dú)立執(zhí)行最為復(fù)雜和繁重的解碼任務(wù),包括反向量化,反向余弦轉(zhuǎn)換,運(yùn)動(dòng)補(bǔ)償?shù)?。MAE后端執(zhí)行一次性地水平和垂直縮放,可編程顏色空間處理,和過(guò)濾功能。當(dāng)不執(zhí)行視頻解碼時(shí),MAE后端功能可以被其他數(shù)據(jù)源使用如處理從片上攝像頭接口模塊來(lái)的CMOS/CCD或NTSC/PAL數(shù)據(jù)。
(5)外設(shè)驅(qū)動(dòng):AU1200將上層軟件解析出來(lái)的視頻宏塊數(shù)據(jù)寫(xiě)回給DDR存儲(chǔ)器;然后通過(guò)DMA控制MAE從DDR存儲(chǔ)器取出視頻宏塊數(shù)據(jù),將其解壓縮成RGB數(shù)字信號(hào),并將RGB數(shù)字信號(hào)再寫(xiě)回到DDR存儲(chǔ)器,然后由LCD控制器從DDR存儲(chǔ)器中取出該數(shù)據(jù)輸人輸出到數(shù)/模轉(zhuǎn)換器ADV 7123,經(jīng)ADV 7123轉(zhuǎn)換為R,G,B三原色信號(hào)和行、場(chǎng)同步信號(hào),信號(hào)通過(guò)VGA接口輸?shù)斤@示設(shè)備中,至此,便完成了視頻的播放。
4 結(jié) 語(yǔ)
無(wú)線(xiàn)車(chē)載多媒體終端系統(tǒng)是目前研究的熱點(diǎn)之一,這里提供了一種基于AU1200的嵌入式車(chē)載終端播放器的設(shè)計(jì)實(shí)現(xiàn)方案,具有功耗低,軟硬件解碼,省略外部DSP電路,通過(guò)Wi-Fi網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的無(wú)線(xiàn)下載,節(jié)目源的更新,且功能模塊化,便于升級(jí)等,具有較大的實(shí)用價(jià)值。