无线车载终端播放器设计与实现
引 言 人民生活水平的提高,公车、轿车等交通工具作为人们的代步工具,越来越普及,汽车的智能化、个性化需求越来越高,尤其是客车、公交汽车中娱乐以及信息服务也越来越受到重视,集成媒体播放,硬盘录像,无线传输等多项功能于一体的车载终端产品,集成定位,通信、汽车行驶记录仪等多项功能;具有强大的业务调度功能和数据处理能力;支持电话本呼叫、文字信息语音播报;具有安防报警、剪线报警及远程安全断油、断电安全保护功能;预留多个RS-232接口和RS485接口,可外接计价器、摄像头、麦克风、耳机、TTS语音合成盒子。分体式设计主机可隐蔽安装,自备高量备用电池可供车载终端的无电情况下工作报警。 1 无线车载终端系统简介 车载无线终端,属于出租车管理领域。本实用新型使得乘客在乘车时可以接收到管理中心发送的各种信息,乘客也可以反馈信息到管理中心或者登陆互联网。本实用新型包括控制模块、无线通信模块LCD模块、键盘模块。所述控制模块耦接所述无线通信模块,该无线通信模块可接收来自控制模块的信号并向管理中心发送信息,也可接收管理中心发送的信息并向控制模块发送相关指令。所述LCD模块和键盘分别与所述无线通信模块耦接,乘客通过键盘输入各种指令给所述无线通信模块,无线通信模块接收到的信息通过LCD模块显示出来。 无线车载终端系统采用AU1200的嵌入式CPU内核,配以车载硬盘、无线网卡、摄像头、用户控制键盘、显示器等部分组成。在车站采用服务器管理系统,可通过车站的Wi-Fi网络实现车载终端系统和车站服务器之间的无线数据传输,车辆进站时,服务器会自动对车载终端系统进行检查和记录,并进行相应更新,其包括节目、广告的下载和录像图片或视频的上传。车辆还可通过用户控制键盘选择是否上传车程中PVR(Personal Video Recoder)录像。PVR 实际上是不需要录像带的VCR(录像机)。 普通的VCR只是将电视机节目录制到VHS 录像带上,而PVR用一块内置硬盘驱动器代替了录像带。在将电视节目录制到PVR的内置硬盘中,您就可以播放录制的节目,可以快进,想看多少便就看多少遍,等最后看够了,就从硬盘上删除。所有的PVR在机壳后部的面板上都有耳机插孔。通过这个插孔还可以用来更新PVR的节目收视指南,您可以浏览在接下来的一周内将要播放的所有节目,您还可以通过编排节目收视指南,只录制具有某些关键词的节目。其框图如图1所示。
2 无线车载终端播放器硬件设计 该方案由处理器、电源、存储器、外设接口、人机界面等组成。图2是车载终端硬件电路模块示意图。
(1)处理器:采用Alchemy Au1200,是MIPS架构的一款低功耗,高性能处理器。可支持Windows CE,Linux等操作系统。它的主频可达500 MHz功耗低于400 mW,集成媒体加速引擎,可支持的媒体格式包括MPEG1,MPEG2,MPEG4,WMV9,H.263,DivX,Xvid,MP3,WMA,WAV,ASF,AVI,JPEG等。 (2)电源:一般车载电源为12 V直流电源,需经过变换为5 V,3.3 V,1.8 V和1.2 V的直流电源,该电路采用芯片LM2676ADJ和LM2381实现。 (3)存储器部分:分为内存和外存储器。内存由FLASH和DDR共同构成,主要功能是存储并运行bootloader以及应用程序、驱动程序等二进制文件。 Flash 是一种创作工具,设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。Flash 可以包含简单的动画、视频内容、复杂演示文稿和应用程序以及介于它们之间的任何内容。通常,使用 Flash 创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的 Flash 应用程序。FLASH采用的是Intel公司的TE28F128J3C,DDR采用NT5TU32M16AG。外存是硬盘,用于存放通过无线网络下载的多媒体文件以及在客车行驶过程中拍摄的PVR录像,硬盘部分主要通过两片双向总线数据收发器74LVC245实现。 (4)外设接口:实现功能包括目标板与PC机的通信,多媒体文件传输及保存,音视频数据的播放等。采用的接口有串口,以太网口,VGA(Video Graphics Ar-ray),Audio,IDE以及USB口。串口主要用于在宿主机开发环境中目标板与PC机之间的通信;以太网接口主要用于文件系统的挂载;IDE接口用于硬盘的连接,针对车载系统不可避免的颠簸抖动,IDE接口减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强;VGA接口用于连接终端显示器,处理器内部以数字方式生成的显示图像信息经过数/模转换器ADV7123转变为R,G,B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中,使图像显示更加清晰。 3 无线车载终端播放器的软件实现 无线车载终端播放器要实现包括MPEG1,MPEG2,MPEG3,MPEG4,H.263,H.264等格式的多媒体的播放。采用在软件解码的基础上加AU1200的媒体加速引擎(MAE)实现。这里设计的无线车载终端播放器的软件整体架构图如图3所示。车载系统采用软硬件结合的方式对多媒体文件进行解码。软件解码主要采用媒体应用接口MAI(Media ApplicationInterface)和多媒体引擎MAI Engine,硬件解码主要采用AU1200的板载硬件设备MAE(Media AccelerationEngine)。
(1)MAI:是一个流媒体的架构,用于对多媒体的管理。MAI Engine会接收由输入设备输入的媒体信息,根据多媒体文件的类型连接MAI相应的解码算法文件处理该媒体流,并将其输出到视频或音频设备。MAIEngine对媒体流的控制主要包括以下几个方面: ①预览媒体流以确定格式; ②载入并连接所需的各独立元素用于对媒体流的解码等工作; ③处理播放的命令:如暂停、播放、定位等; ④整理播放进度以及错误信息并向应用程序报告。 (2)播放器应用层:包括:播放器应用程序,MAIEngine的引擎函数,MAI针对各种格式的多媒体文件的元素库。 (3)音视频解码:播放器软件解码程序的流图如图4所示。在多媒体文件解码过程中,首先播放器应用程序分别调用播放文件函数:Player_PlayFile()和引擎函数MAIengine_QuerySupport()进行对多媒体文件的读取和多媒体文件类型的检测,支持此过程完成的库函数是Libmaifilereader.so。接下来,播放器应用程序调用引擎函数MAIengine AutoConnect(),该函数会根据多媒体文件的类型调用库文件对多媒体文件进行解复用,支持解复用的库文件包括Libmaimpeg2demux.so和Lib-maimpeg4demux.so等;再根据解复用后的音视频格式调用库文件进行音视频的解码,播放器可解码的音频格式有MP3,OGG,WAV等,可解码的视频格式有MPEG1,MPEG2,MPEG4等;支持解码的库函数主要包括Lib-maimp3dec.so,Libmaimpeg2dec.so等;解码后分别通过调用库文件Libmaiaudrend.so和Libmaividrend.so对音视频数据进行渲染。
(4)MAE:是一种能解码的基于块的视频格式的硬件加速单元,它主要负责对上层软件解码出来的可变长度编码进行解码。在AlchemyTM AU1200TM proces-sor承担了视频解码、缩放、颜色空间转换和过滤功能的片上硬件。通过在硬件上完成大部分的视频解码任务,因此省掉了外部DSP电路,MAE把MIPS32TM处理器核解放出来去执行用户交互,音频处理和其他任务。同时,因为处理器上运行的软件将不同长度的解码信息传递给MAE。MAE硬件上被分为前端和后端,各自执行特定的任务。 (5)外设驱动:AU1200将上层软件解析出来的视频宏块数据写回给DDR存储器;然后通过DMA控制MAE从DDR存储器取出视频宏块数据,将其解压缩成RGB数字信号,并将RGB数字信号再写回到DDR存储器,然后由LCD控制器从DDR存储器中取出该数据输人输出到数模转换器ADV 7123,经ADV 7123转换为R,G,B三原色信号和行、场同步信号,信号通过VGA接口输到显示设备中,至此,便完成了视频的播放。 4 结 语 无线车载多媒体终端系统是目前研究的热点之一,这里提供了一种基于AU1200的嵌入式车载终端播放器的设计实现方案,具有功耗低,软硬件解码,省略外部DSP电路,通过Wi-Fi网络进行数据的无线下载,节目源的更新,且功能模块化,便于升级等,具有较大的实用价值。 |