一种移动介质的新型车载影音系统
时间:2009-12-15 09:05:20 来源:单片机与嵌入式系统 作者:吴义保,张月琴 中国电子科技集团
1 工作原理
当今互联网上的影像资源80%以上都是以RMVB格式进行下载的,歌曲则以MP3、WMA格式为主,图片以JPG为主。通过移动介质对上述影音资源进行海量存储,形成一个“家庭影院”。然后通过USB或SD/MMC/MS接口插入本系统中,系统可以通过按键或触摸屏在AM/FM收音功能、影音功能和系统设置之间进行切换。在选择收音功能后,AM/FM收音模块开始工作,通过主微处理器对其进行控制,具有电台频道切换、自动搜台、半自动搜台等功能;在选择影音功能后,可以将存储影音文件的SD/MMC/汽车影音娱乐系统MS卡、U盘或USB移动硬盘插入系统内,通过微处理器USB HOST对移动介质内文件进行读取,文件可以支持FAT/FAT32/NTFS等格式,系统对选择RMVB、MP3、JPG等不同格式进行硬件解码,解码后视频信号通过YPrPb或CVBS格式传输到液晶显示屏。解码后音频信号为微弱信号,需经过音频放大器后接车载音响。
2 整体设计
系统整体设计框图如图1所示。
模拟显示屏驱动芯片操作处理,按键及遥控器红外接收处理。AM/FM收音模块选用Silicon Labs公司的Si4730。它主要是完成AM、FM收音广播,同时还有搜台和存储功能。
为了更好地收看视频图像,系统采用低成本元太7"模拟屏。模拟显示屏驱动芯片采用台湾Terawins公司T108L。其采用I2C通信接口,可以通过AML8613对其初始化和控制操作。
4线电阻触摸屏采样芯片选用TSC2003,它是通过I2C总线与微处理器进行通信。音频多路选择器用于选择当前播放的声音是收音机还是RMVB等格式播放的声音,系统选用ST公司的TDA7418,其通信接口也是I2C通信总线,可以直接接到I2C总线上进行通信。车载音频功率放大器选用ST公司的TDA7384,其具有低失真度,低输出噪声,4路35 W功率放大器,直接驱动车内喇叭。外部32 Mb的SPI Flash用来存储嵌入式操作系统、用户程序代码和界面图片。SDRAM功能是在系统启动后将SPI Flash中的嵌入式操作系统和用户程序Bootloader到SDRAM中,提高程序运行速率。
为了更好地收看视频图像,系统采用低成本元太7"模拟屏。模拟显示屏驱动芯片采用台湾Terawins公司T108L。其采用I2C通信接口,可以通过AML8613对其初始化和控制操作。
4线电阻触摸屏采样芯片选用TSC2003,它是通过I2C总线与微处理器进行通信。音频多路选择器用于选择当前播放的声音是收音机还是RMVB等格式播放的声音,系统选用ST公司的TDA7418,其通信接口也是I2C通信总线,可以直接接到I2C总线上进行通信。车载音频功率放大器选用ST公司的TDA7384,其具有低失真度,低输出噪声,4路35 W功率放大器,直接驱动车内喇叭。外部32 Mb的SPI Flash用来存储嵌入式操作系统、用户程序代码和界面图片。SDRAM功能是在系统启动后将SPI Flash中的嵌入式操作系统和用户程序Bootloader到SDRAM中,提高程序运行速率。
3 硬件设计
(1)电源处理单元
AML8613需要3.3 V、1.25 V电源,USB HOST接口单元需要5 V供电电源。其他芯片
电源需求为5 V和3.3 V。轿车电源范围一般为9~16 V。这就需要把车载电源转换为上述3种电源,以给芯片供电。车载电源先经L4979转换成5 V,然后分别经SPX1117M3-3.3 V和MP2103转换成3.3 V和1.25 V。硬件设计如图2所示。
由于车载干扰因素非常多(例如发动机、点火系统、雨刮驱动电机和继电器等),最有威胁的干扰大都是共模干扰,小部分还有差模干扰,因此系统需要在电源输入端加共模/差模干扰过滤电路,并加大铝电解电容容量、电感量,并增加一个TVS管,以消除汽车电源输入端的干扰。
(2)主控芯片AML8613接口单元
AML8613是系统主控制芯片,负责各个分模块之间协同工作,同时其还集成视频/音频解码硬件引擎。可见此芯片是系统的核心芯片,它的设计决定了系统的功能和可靠性。它对外硬件接口电路如图3所示,其分为SPIFlash、SDRAM、KEY、红外接收、调试接口、SD/MMC/MS、LISB HOST、音频输出、视频输出等模块。
(3)音频和视频处理单元
AML8613输出的视频信号要与模拟显示屏驱动相连,它们之间还需阻抗匹配,以避免视频信号损耗。匹配电路选用的是π型电路,以使输出阻抗和输入阻抗得到匹配。其中从AML8613引脚G/Y/Y经过图4所示的匹配电路后输出CVBS信号。
YPbPr视频阻抗匹配电路也类似于图4所示电路。匹配电路选用的是π型电路。AML8613的YPbPr对应引脚VDAC_DAC_G/VDAC_DAC_R/VDAC_DAC_B经过阻抗匹配后输出YPbPr信号。
YPbPr视频阻抗匹配电路也类似于图4所示电路。匹配电路选用的是π型电路。AML8613的YPbPr对应引脚VDAC_DAC_G/VDAC_DAC_R/VDAC_DAC_B经过阻抗匹配后输出YPbPr信号。
收音模块Si4730对外通信接口为I2C总线,将它挂在系统I2C总线上,AML8613可以对其相关寄存器进行设置。收音机和AML8613输出的音频信号非常微弱,没有足够的功率驱动车载音响。它们通过音频多路选择器后输入到音频放大器TDA7384。其具体电路连接如图5所示。
(4)SD和USB HOST接口单元
SD接口是读取SD/MMC/MS数据,AML8613集成了SD接口,可以直接将三合一读卡器连接到AML8613芯片相对应的引脚上。SD_CMD、SD_CLK、SD_WP、SD/MS_IN、SD-DO~SD_D3需要接4.7 kΩ上拉电阻,具体电路如图6所示。
SD接口是读取SD/MMC/MS数据,AML8613集成了SD接口,可以直接将三合一读卡器连接到AML8613芯片相对应的引脚上。SD_CMD、SD_CLK、SD_WP、SD/MS_IN、SD-DO~SD_D3需要接4.7 kΩ上拉电阻,具体电路如图6所示。
(5)触摸屏接口单元
系统采用的是四线电阻式触摸屏,它需要专用触摸屏A/D采样芯片TSC2003I,触摸屏引脚分别接芯片引脚X+/X-/Y+/Y-。当在触摸屏上有点击时,TSC2003I就会实时将坐标通过I2C总线通知给主控芯片AML8613。其电路连接如图7所示。
系统采用的是四线电阻式触摸屏,它需要专用触摸屏A/D采样芯片TSC2003I,触摸屏引脚分别接芯片引脚X+/X-/Y+/Y-。当在触摸屏上有点击时,TSC2003I就会实时将坐标通过I2C总线通知给主控芯片AML8613。其电路连接如图7所示。
4 软件设计
本车载影音娱乐系统是一个实时嵌入式系统。该系统软件体系结构自底向上包括4个部分,即嵌入式实时操作系统层、驱动层、功能模块层和应用程序,如图8所示。最底层是嵌入式操作系统层,这里是Amlogic公司自己开发的AVOS操作系统。文件系统支持FAT/FA
本车载影音娱乐系统是一个实时嵌入式系统。该系统软件体系结构自底向上包括4个部分,即嵌入式实时操作系统层、驱动层、功能模块层和应用程序,如图8所示。最底层是嵌入式操作系统层,这里是Amlogic公司自己开发的AVOS操作系统。文件系统支持FAT/FA
T32/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)
视频解码包括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)、设置播放模式、清除播放列表、建立播放列表等。
本系统建立了一个中心调度模块,负责应用层和其他功能模块(如文件访问模块、窗口模块、视频输出模块、音频输出模块等)之间交互信息数据,并根据外设要求调度各个模块应用程序,同时维护每个功能模块的状态。系统在正常工作时,等待用户事件发生。一旦收到用户事件,系统将调用相应的功能模块,完成用户指定的功能。当收到结束信号或程序结束时,则向中心调度模块发送结束信号,同时释放所占用的资源。
应用层是软件框架的最高层,编写的是用户应用代码,主要完成车载娱乐影音系统各个模块之间的协调操作。
本系统建立了一个中心调度模块,负责应用层和其他功能模块(如文件访问模块、窗口模块、视频输出模块、音频输出模块等)之间交互信息数据,并根据外设要求调度各个模块应用程序,同时维护每个功能模块的状态。系统在正常工作时,等待用户事件发生。一旦收到用户事件,系统将调用相应的功能模块,完成用户指定的功能。当收到结束信号或程序结束时,则向中心调度模块发送结束信号,同时释放所占用的资源。
应用层是软件框架的最高层,编写的是用户应用代码,主要完成车载娱乐影音系统各个模块之间的协调操作。
发布评论