(5)触摸屏接口单元
系统采用的是四线电阻式触摸屏,它需要专用触摸屏A/D采样芯片TSC2003I,触摸屏引脚分别接芯片引脚X+/X-/Y+/Y-。当在触摸屏上有点击时,TSC2003I就会实时将坐标通过I2C总线通知给主控芯片AML8613。其电路连接如图7所示。
4 软件设计
本车载影音娱乐系统是一个实时嵌入式系统。该系统软件体系结构自底向上包括4个部分,即嵌入式实时操作系统层、驱动层、功能模块层和应用程序,如图8所示。最底层是嵌入式操作系统层,这里是Amlogic公司自己开发的AVOS操作系统。文件系统支持FAT/FAT32/NTFS等格式。文件访问模块函数包含:进入目录INT32S FileNavCD(CHARSTR*pCD-Path)、读取当前文件目录CHARSTR*FileNa-vGetCurrDir(void)、刷新当前目录INT32S FileNa-vRefreshCuurem Dir(void)、读取下一页文件列表INT32S FileNavGetNextFileList(PAX、HNODE*pDesList,INT32U*pListLength,INT32U iGet-ListFlag)、读取上一页文件列表、搜索文件列表、读取当前文件目录、读取当前文件列表的显示文件类型、文件列表上下翻页、进入文件目录、读取当前目录名、进入设备目录等。
视频解码包括RM、RMVB、AVI、MPEG1/2/4、DIVX、XVID、VOB、AVI、DAT、M-JPEG、JPG、BMP、TIFF、PNG、GIF。系统采用嵌入式GUI(Graphic User Interface)。嵌入式GUI系统就是在嵌入式系统中为特定的硬件设备或环境而设计的图形用户界面系统。
音频驱动包括MP3、WMA、AAC解码。音频输出模块函数包含:初始化播放列表INT32S AWPlayListInit(INT32S list_num,INT32U*list_media_type,INT16U*max_list_item_num)、添加播放列表中的项目INT32SAWAddPlaylistItem(char*item_path,INT3 2 S item_media_t,INT16U item_index)、读取播放列表第一个文件char*AWGetFirstlistIterm(INT32U media_type)、设置播放模式、清除播放列表、建立播放列表等。
本系统建立了一个中心调度模块,负责应用层和其他功能模块(如文件访问模块、窗口模块、视频输出模块、音频输出模块等)之间交互信息数据,并根据外设要求调度各个模块应用程序,同时维护每个功能模块的状态。系统在正常工作时,等待用户事件发生。一旦收到用户事件,系统将调用相应的功能模块,完成用户指定的功能。当收到结束信号或程序结束时,则向中心调度模块发送结束信号,同时释放所占用的资源。
应用层是软件框架的最高层,编写的是用户应用代码,主要完成车载娱乐影音系统各个模块之间的协调操作。
5 结 论
针对目前配备DVD车载影音系统高价位、难普及的特性,提出新一代车载影音系统方案,取代以DVD机芯为载体的高成本影音系统,通过存储介质提供影音片源,支持多种视频、音频格式,是低成本的车载多媒体系统。硬件和软件系统都已通过测试,运行情况良好,能够流畅播放多种格式的视频流和收音AM/FM。其兼顾了车载播放功能和通用性,还弥补了传统车载影音系统的不足,具有良好的市场应用前景。