嵌入式AU1200无线车载终端播放器设计实现
扫描二维码
随时随地手机看文章
人民生活水平的提高,公车、轿车等交通工具作为人们的代步工具,越来越普及,汽车的智能化、个性化需求越来越高,尤其是客车、公交汽车中娱乐以及信息服务也越来越受到重视,集成媒体播放,硬盘录像,无线传输等多项功能于一体的车载终端产品,将成为未来汽车电子发展的必然趋势。
1 无线车载终端系统简介
无线车载终端系统采用AU1200的嵌入式CPU内核,配以车载硬盘、无线网卡、摄像头、用户控制键盘、显示器等部分组成。在车站采用服务器管理系统,可通过车站的Wi-Fi网络实现车载终端系统和车站服务器之间的无线数据传输,车辆进站时,服务器会自动对车载终端系统进行检查和记录,并进行相应更新,其包括节目、广告的下载和录像图片或视频的上传。车辆还可通过用户控制键盘选择是否上传车程中PVR(Personal Video Recoder)录像。无线车载多媒体处理系统包括了车站服务器系统和车载终端系统。其框图如图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采用的是Intel公司的TE28F128J3C,DDR采用NT5TU32M16AG。外存是硬盘,用于存放通过无线网络下载的多媒体文件以及在客车行驶过程中拍摄的PVR录像,硬盘部分主要通过两片双向总线数据收发器74LVC245实现。
(4)外设接口:实现功能包括目标板与PC机的通信,多媒体文件传输及保存,音视频数据的播放等。采用的接口有串口,以太网口,VGA(Video Graphics Ar-ray),Audio,IDE以及USB口。串口主要用于在宿主机开发环境中目标板与PC机之间的通信;以太网接口主要用于文件系统的挂载;IDE接口用于硬盘的连接,针对车载系统不可避免的颠簸抖动,IDE接口减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强;VGA接口用于连接终端显示器,处理器内部以数字方式生成的显示图像信息经过数/模转换器ADV7123转变为R,G,B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中,使图像显示更加清晰。声卡芯片是UDA1380,它数字音频信号由CPU通过数据总线输入UDA1380,经过D/A转换为模拟音频信号,输出至扬声器;USB接口用于连接无线网卡,使无线车载终端系统可以通过WI-FI网络进行节目源的无线下载。
3 无线车载终端播放器的软件实现
无线车载终端播放器要实现包括MPEG1,MPEG2,MPEG3,MPEG4,H.263,H.264等格式的多媒体的播放。采用在软件解码的基础上加AU1200的媒体加速引擎(MAE)实现。这里设计的无线车载终端播放器的软件整体架构图如图3所示。车载系统采用软硬件结合的方式对多媒体文件进行解码。软件解码主要采用媒体应用接口MAI(Media ApplicationInterface)和多媒体引擎MAI Engine,硬件解码主要采用AU1200的板载硬件设备MAE(Media AccelerationEngine)。[!--empirenews.page--]
(1)MAI:是一个流媒体的架构,用于对多媒体的管理。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对音视频数据进行渲染。至此,音频数据便可送至扬声器输出,视频数据送至MAE进行硬件解码。
(4)MAE:是一种能解码的基于块的视频格式的硬件加速单元,它主要负责对上层软件解码出来的可变长度编码进行解码。在AlchemyTM AU1200TM proces-sor承担了视频解码、缩放、颜色空间转换和过滤功能的片上硬件。通过在硬件上完成大部分的视频解码任务,因此省掉了外部DSP电路,MAE把MIPS32TM处理器核解放出来去执行用户交互,音频处理和其他任务。同时,因为处理器上运行的软件将不同长度的解码信息传递给MAE。MAE硬件上被分为前端和后端,各自执行特定的任务。MAE的前端独立执行最为复杂和繁重的解码任务,包括反向量化,反向余弦转换,运动补偿等。MAE后端执行一次性地水平和垂直缩放,可编程颜色空间处理,和过滤功能。当不执行视频解码时,MAE后端功能可以被其他数据源使用如处理从片上摄像头接口模块来的CMOS/CCD或NTSC/PAL数据。
(5)外设驱动:AU1200将上层软件解析出来的视频宏块数据写回给DDR存储器;然后通过DMA控制MAE从DDR存储器取出视频宏块数据,将其解压缩成RGB数字信号,并将RGB数字信号再写回到DDR存储器,然后由LCD控制器从DDR存储器中取出该数据输人输出到数/模转换器ADV 7123,经ADV 7123转换为R,G,B三原色信号和行、场同步信号,信号通过VGA接口输到显示设备中,至此,便完成了视频的播放。
4 结 语
无线车载多媒体终端系统是目前研究的热点之一,这里提供了一种基于AU1200的嵌入式车载终端播放器的设计实现方案,具有功耗低,软硬件解码,省略外部DSP电路,通过Wi-Fi网络进行数据的无线下载,节目源的更新,且功能模块化,便于升级等,具有较大的实用价值。