基于OMAP5910的移动媒体播放机设计
OMAP是TI公司近年来提出的面向无线领域和移动媒体的开放式多媒体应用平台。它具有独特的双核设计,将一个ARM精简指令处理器和TI C55x高性能、超低功耗DSP相结合,为移动媒体处理提供了强大的动力。目前OMAP处理器被广泛应用于手持设备、智能电话及PDA上。鉴于其对移动媒体的良好支持,OMAP会在3G应用中取得更大的市场份额。因此,开发OMAP平台的媒体播放机,支持目前主流的MP3、MPEG4媒体解码,对未来在无线通信领域研发基于OMAP平台的媒体软硬件应用具有参考作用。
1 系统设计
目前,主流媒体文件格式包括AVI、MOV、RM及WMV等,其中AVI文件应用最为广泛。AVI(Audio Video Interleaved)是一种RIFF(Resource Interchange File Format)文件格式。通常情况下,一个AVI文件可以包含多个不同类型的媒体流,典型的情况为MPEG4视频流加MP3音频流。本文介绍一款选择TI的OMAP 5910平台设计的媒体播放机,用来播放MP3音频文件和AVI媒体文件。
1.1 系统硬件设计
本多媒体播放机以TI OMAP 5910为核心,通过OMAP 5910集成的总线接口及I/O端口控制器,外扩存储器、音频、视频、通讯和SD卡接口;通过FPGA扩展了以太网、CF卡接口;由CPLD进行板级芯片的管理,使其具备了完整的多媒体播放机的功能。图1为多媒体播放机的软硬件结构图。
1.1.1 存储器设计
存储器接口通信控制器(TC)管理的存储器可分为片外和片内两种。而TC又有两个独立的访问片外的存储器接口:
(1)快速片外存储器接口(EMIFF):与片外SDRAM相连的快速同步接口。在EMIFF接口上,挂载SDRAM用于运行LINUX操作系统。
(2)慢速片外存储器接口(EMIFS):与片外FLASH、SRAM等存储器相连的异步接口。在EMIFS接口上,分别挂载SRAM和FLASH。
1.1.2 板上CPLD和FPGA设计
(1)CPLD。本系统选用XILINX的95144XL-TQ144作为整个系统的配置。它负责系统上电后,对OMAP5910进行复位,对整个板级的器件进行配置,并作地址译码,以给存储器分配存储空间。
(2)FPGA。本系统扩展FPGA主要是为了扩展CF卡和以太网。
CF卡有多种连接方式,本设计选择TRUE IDE方式,在FPGA中映射出CF卡内部相应的寄存器。这样,通过控制FPGA内部的寄存器产生相应的时序,写入CF卡的内部控制器,完成相应的操作。
以太网选用AX88796L芯片,它具有标准的ISA接口和10Mbps/100Mbps的速度,通过FPGA进行控制,完全能满足实际的需求。
1.1.3 音视频及人机接口设计
(1)LCD显示。OMAP 5910内部集成了一个TFT LCD控制器,有标准的LCD控制信号。LCD电源控制、背光开关控制、亮度控制、触摸屏信号等将由此系统中的CPLD供给。此设计的集成板选择的是NEC LCD:NL2432DR22-12B。
(2)键盘。出于人机交互的需求,本系统扩展了34的键盘。
(3)音频接口。本系统采用OMAP与TLV320AIC23外部音频解码器完成音频系统的设计。通过OMAP的两根I/O线模仿I2C时序来配置音频芯片,而McBSP1接口用作OMAP对音频芯片传输数据。
1.1.4 扩展接口设计
(1)存储卡接口设计。多媒体播放机需要大数据量的存储设备,此设计选用SD卡。OMAP 5910内部集成了SD卡控制器,通过对OMAP 5910 SD卡控制器编程,就能完成对SD卡的控制。
(2)USB接口设计。OMAP 5910内部集成了USB Host和USB Function的控制器和接口,方便了USB接口的扩展。外接PDIUSBP11APW USB收发器,将OMAP 5910 USB控制器的信号转换成USB总线的信号。
1.2 系统软件设计
软件系统主要包括MP3、MPEG4解码算法,以及使用两个解码算法模块的媒体播放机程序框架。
1.2.1 MP3音频解码算法
MP3算法是根据人体心理声学模型,利用人耳的掩蔽效应,去除音频信号中低于绝对听阈和掩蔽域的信号,并根据掩蔽域对剩余信号进行动态量化,结合子带编码、变换编码以及哈夫曼编码等技术,达到大幅缩减音频文件的大小,同时保证音质的目的。
MP3音频解码算法是根据ISO/IEC 11172-3标准编写的,并针对TI DSP55x进行部分优化。
1.2.2 MPEG4视频解码算法
MPEG4算法基于对象编码,同时更加注重多媒体系统的交互性与灵活性。基于对象编码使得对视频对象的操控成为可能。MPEG4的一个特点是采用新的、高效的压缩算法使压缩比提高,它可以在速率相对较小的情况下,获得高质量的画面效果。线性MPEG4视频没有对象交互的内容,仅仅包含需要解码的视频流。
MPEG4解码算法依照ISO/IEC 14496-2编写,其中计算过程集中在IDCT、运动补偿和VOP重建,优化的重点也放在这三个过程。针对TIDSP55x的特点,具体优化方案如下:
(1)使用TI提供的图像视频处理库IMGLIB提高算法性能:获得了IDCT、运动补偿等算法实现的最高性能。
(2)减少片外存储器的读写:由于DSP对片外存储器的读写速度相对较慢,因此需要在内外部存储器间建立DMA通道,由外部存储器存放解码帧数据,再由DMA通道把待解码宏块传送到内部存储器进行高速处理。
(3)优化代码组织:在编写代码时,注意循环展开、循环分布以及循环交换等优化技术,并且针对相应处理器选择了最优的数据类型,使代码效率达到最高。
1.2.3 媒体播放机软件设计
媒体播放机软件设计鉴于OMAP独特的双核结构分成MPU端和DSP端两大部分。播放机程序就是运行在LINUX操作系统下的一个带有图形界面的应用程序。该应用程序通过调用DSP设备的驱动程序,使得MPU与DSP双方配合完成整个播放功能。图2为媒体播放机总体框图。
(1)MPU端软件设计
作为MPU的ARM核的任务为:建立底层操作系统和上层与用户交互的GUI,完成AVI文件数据读取解析以及控制DSP核音视频解码。因此,可将MPU端软件工作分为以下几部分。
①LINUX嵌入式操作系统的移植、设备驱动的编写和移植;
②基于FLTK应用程序图形用户界面的设计。FLTK是一套小型化的多平台GUI快速开发工具包,它在LINUX平台上的移植非常简便。使用FLTK开发的播放机图形用户界面如图3所示。
③AVI文件读取解析。在用户选择某一AVI文件后,将文件打开,读取文件的属性信息、索引信息及音视频待解码数据等,播放完毕后关闭文件。
④DSP音视频解码的控制。应用程序通过DSP设备驱动,启动DSP核,开辟与DSP端交互的数据缓冲区,建立使用MAILBOX进行的通信机制。实现了对DSP端解码进程的控制。
(2)DSP端软件设计
在处理器的DSP端,主要负责的工作是对音视频数据的解码,并最终完成播放。这部分主要完成的工作是采用DSP/BIOS和Reference Frameworks 5对音视频解码播放进程进行有效组织并完成的同步机制。其中包含的主要模块为:视频解码进程、音频解码进程、视频播放进程、音频播放进程、音视频同步控制等。
1.3 系统关键设计总结
(1)基于TI OMAP5910的移动媒体播放机硬件平台采用6层PCB设计,模块完整,可扩展性强。
(2)参照TI TMS320 DSP ALGORITHMS STANDARD(XDAIS)设计了MP3及MPEG4解码算法。
(3)为TI的OMAP5910处理器移植了嵌入式Linux操作系统及相关驱动程序。
(4)设计了基于双核OMAP5910平台的媒体播放机软件系统。该系统中的控制型任务由MPU完成,运算型的工作由DSP处理,从而最大限度地发挥了处理器性能。另外,系统有效组织了存储器、DMA通道等资源,并对程序代码应用DSP/BIOS和RF5也进行了组织,使系统的实时性和可靠性得到了保证。
2 测试与结论
播放机的整体性能选用了四个较有代表性的AVI媒体文件来测试。测试结果如表1所示。
从测试结果看出,对于测试文件1(176144 128kbps)来说,音视频可以流畅播放,满足欣赏要求。当视频尺寸加大时,由于运算量的加大,导致视频流畅度(帧率)下降,同时影响到MP3的实时播放。对同样视频尺寸的文件,在加大MP3速率时,MP3解码速度下降,同样影响了视频流畅度。另外,音视频同步效果欠佳。
总体来说,媒体播放机工作正常,CPU占用率略高。视频解码器性能不是太好,对于画面尺寸较大的文件难以实现实时播放。因此,进一步对解码模块进行更细致优化非常必要。
参考文献
[1] 陈 矗张福洪.开放式多媒体应用平台研究[J].杭州电子工业学院学报,2002,3:41-44.
[2] International Standard.Information technology coding ofmoving pictures and associated audio information:Audio,1993.ISO/IEC 11172-3.
[3] International Standard.Information technology coding ofaudio-visual objects:Visual,1998.ISO/IEC 14496-2.
[4] 钟玉啄,王 琪,贺玉文.基于对象的多媒体数据压缩编码国际标准MPEG-4及其校验模型[M].北京:科学出版社,2000.
评论