引言
随着多媒体技术的迅速发展以及3G时代的到来,人们对多媒体的要求越来越高,各种组织提出了多种视频算法。国际标准化组织制定了许多国际标准来规范多媒体技术的发展。在多媒体通信终端设备方面,TI公司的开放式多媒体应用平台OMAP(Open Multimedia Application Platform)体系结构,综合了ARM处理器的控制能力与DSP的运算能力,可以实现单一DSP无法完成的更多、更复杂的服务(如实时视频交互)等。TI公司1998年就推出了可扩展的开放式0MAP处理器平台,先后推出了0MAP310、0MAP710、OMAPl510、0MAPl610、OMAP2410与OMAP2420等处理器。2008年推出的OMAP3架构的器件(0MAP3503、OMAP3515、OMAP3525以及OMAP3530),由ARM Cortex-A8内核和DSP TMS320C64X+内核组成,具有更强大的控制功能和运算功能。由于OMAP系列处理器一直强调向上兼容性,所以系列之间的通用性很强,结构变化不大,程序便于移植。
本文以OMAP3530为例,分析了0MAP平台的硬件结构与软件编程特点;总结了TI公司提供的专用图像图形处理库(IMGLIB)的使用技巧,并与OMAPl510进行了部分比较;在流行的视频编解码标准的基础上,提出了基于OMAP3的视频解码器的通用解码方案。
1 OMAP平台简介
开放式多媒体应用平台OMAP结合高性能、低功耗的DSP核与控制性能强大的ARM内核,是一种开放式的、可编程的体系结构,目前主要有OMAP1X、OMAP2X和OMAP3X系列。
1.1 OMAP3530的硬件平台
0MAP3530的硬件平台主要由ARM内核、DSP内核以及流量控制器(Traffic Controler,TC)组成。
(1)ARM内核
OMAP3530采用ARM Cortex-A8核,工作主频最高可达720 MHz。它包括存储器管理单元、16 KB的高速指令缓冲存储器、16 KB的数据高速缓冲存储器和256K字的二级Cache;片内有64 KB的内部SRAM,为液晶显示等应用提供了大量的数据和代码存储空间。CortexA8内核采用13级流水线、32位的RISC处理器架构。系统中的控制寄存器对MMU、Cache和读写缓存控制器进行存取操作。ARM内核具有整个系统的控制权,可以设置DSP、TC以及各种外设的时钟及其他工作参数,控制DSP的运行停止。OMAP3530平台可支持包含绘图、多媒体内容和Java程序的先进应用。
(2)DSP内核
TMS320C64X+内核具有最佳的功耗性能比,工作主频最高为520 MHz;它具有高度的并行能力,32位读写和功能强大的EMIF,双流水线的独立操作以及双MAC的运算能力。它采用3项关键的革新技术:增大的空闲省电区域、变长指令和扩大的并行机制。其结构针对多媒体应用高度优化,适合低功耗的实时语音图像处理。另外,TMS320C64X+内核增加了固化了算法的硬件加速器,来处理运动估计、8×8的DCT/IDCT和1/2像素插值,降低了视频处理的功耗。
(3)流量控制器
流量控制器TC用于控制ARM、DSP、DMA以及本地总线对OMAP3530内所有存储器(包括SRAM,SDRAM、Flash和ROM等)的访问。
OMAP3530具有丰富的外围接口,如液晶控制器、存储器接口、摄像机接口、空中接口、蓝牙接口、通用异步收发器、I2C主机接口、脉宽音频发生器、串行接口、主客户机USB口、安全数字多媒体卡控制器接口、键盘接口等。这些丰富的外围接口使应用OMAP的系统具有更大的灵活性和可扩展性。
1.2 OMAP3530的软件平台
利用OMAP可以建立两个操作系统:基于ARM的操作系统(如WinCE、Linux等),以及基于DSP的DSP/BIOS。连接两个操作系统使用的核心技术是DSP/BIOS桥。0MAP支持多种实时多任务操作系统在ARM微处理器上工作,用来对ARM微处理器进行实时多任务调度管理,对TMS320C64X+进行控制和通信;同时,支持多种实时多任务操作系统在TMS320C64X+上工作,实现复杂的多媒体信号处理。DSP/BIOS桥包含DSP管理器、DSP管理服务器、DSP和外围接口链接驱动器。DSP/BIOS桥提供运行在Cortex-A8上的应用程序和运行TMS320C64X+上的算法之间的通信管理服务。开发者可以利用DSP/BIOS桥中的应用编程接口控制在DSP中实时任务的执行,并同DSP交换任务运行结果和状态消息。在这个环境下,开发者可以调用局部DSP网关组件来实现诸如视频、音频和语音等功能。因此,开发者不需要了解DSP和DSP/BIOS桥,就能开发新的应用软件。使用标准应用编程接口开发的应用软件,与基于0MAP的未来无线设备兼容。
[1] [2] [3]