随着通信技术、计算机技术、微电子技术等的发展,多媒体信号的处理和传输对系统配置提出了更高的要求。OMAP(开放式多媒体应用平台)是基于DSP的开放多媒体应用平台。OMAP TM平台是双核结构,由ARM核及DSP核组成,DSP以低功耗高性能实现多媒体应用。目前在OMAP TM平台上实现的多媒体应用有语音、音频、图像、视频等。
1 OMAP TM的开放性
OMAP TM的开放性表现在以下三个方面:
(1)对于用户来说,基于OMAP TM平台的应用是开放的。通过DSP/BIOS TM桥,DSP的资源就如同ARM的外设一样通过操作系统的API被调用。DSP/BIOS TM桥在OMAP TM平台上实现了双核的无缝连接。
(2)对于独立的软件制造商(ISV)来说,为OMAP TM平台开发商业应用软件的标准是开放。算法的兼容性及可评佑性是关键。只有算法的性能、占用资源及接口方式是标准的,算法才能离架。而且DSP/BIOS TM桥提供XDAIS兼容算法接口。ISV开发的XDAIS兼容算法可直接用于OMAP TM平台。
(3)对于原始设备制造厂商(OEM)来说,可以开放先进的操作系统。OMAP TM平台支持的操作系统很多,借助于第三方OS及TI的第三方网络等,OEM厂商仿佛置身于一个巨大软件超市,各种算法及软件商品性能价格一目了然,尽可以取其所需。
2 OMAP TM的硬件平台
OMAP TM的多媒体应用取决于它内部硬件结构的实现,DSP是实现多媒体应用的关键。当然其内部的硬件加速器、DMA及交通控制单元等也举足轻重。
OMAP TM硬件平台主要由DSP核、ARM核及交通控制(TRAFFIC CONTROLLER)单元组成。这三个部分可以独立地进行时钟管理,有效地控制功耗。
OMAP TM平台的硬件平台会逐步升级国,以满足日益增长的应用需求。目前的ARM核选用ARM95TDMI,其上可以运行先进的操作系统如WINDOWS CE、EPOC等。DSP核采用TMS320C55X TM DSP,其上运行的RTOS是DSP/BIOS TM。TMS320C55X TM DSP有高度并行能力,它的32位读写能力天功能强大的EMIF、双流水线的独立操作及双MAC的运算能力,以及它的变长指令、用户自定义的并行指令是优异的多媒体性能的保证。其采用模块化的IDLE模式,地降低了功耗。OMAP TM硬件平台的框图如图1所示。
3 OMAP TM的软件结构
OMAP TM的软件结构在两个操作系统上,一是基于ARM的先进的OS如EPOC、WINCE等;二是基于DSP的DSP/BIOS TM。如何使两个操作系统无缝工作,是实现开放的软件平台的关键。这个技术就是首次正式应用在OMAP TM平台上的DSP/BIOS TM桥。
3.1 DSP/BIOS TM桥
DSP/BIOS TM桥用于连接DSP/BIOS和其他通用处理器(GPP)上的OS。GPP在OMAT TM里是ARM,还可以是MTPS(Microprocessor without Interlocked Pipe Stage)等。DSP/DIOS TM桥具有以下特点:
·高性能;
·有效利用GPP和DSP的资源;
·可移植到不同的GPP和DSP硬件平台上;
·可移值到不同的GPP和DSP操作系统上;
·支持多个DSP和一个GPP;
·从GPP应用程序中使用;
·对象为中心的设计;
·高可靠性;
·APIs与将来的版本向后兼容。
DSP/BIOS TM桥用于非对称的,由一个通用的处理器(GP:P)和一个或多个DSP组成的多处理器环境。DSP/BIOS TM桥作为GPP OS和DSP OS的软件组合,把两个操作系统连接在一起。这种连接能够使GPP端的客户与DSP上的任务交换信息和数据。连接分为两种类型的子连接,消息子连接和数据流子连接。每种子连接都按顺序传递消息,哪个消息先到消息链,哪个消息就先被传递;同样哪个数据流先到数据流链;哪个数据流就先被传递。每个子连接都独立地进行操作,例如:GPP先发送数据流,然后发送消息,如果消息有高优先级,那么消息比数据流先到DSP。图2表示GPP客户端程序和DSP任务间的关系。
3.2 主机软件结构
对于GPP操作系统来说,DSP/BIOS TM桥增加了API,它能使GPP应用和驱动程序同时利用DSP的资源。GPP客户端可以通过API完成以下工作:
·初始化DSP上的信号处理任务;
·与DSP任务交换信息;
·与DPS任务双向交换数据流;
·停止、激活、删除DSP任务;
·进行资源的状态查询。
一个GPP应用程序或设备驱动程序可以使用DSP/BIOS TM桥API与DSP子系统上的DSP任务进行通信。例如:一个GPP WAVE设备驱动程序可以利用API发送信息给DSP任务来管理数据从ADC到DAC。
3.3 DSP软件结构
对于DSP RTOS,DSP/BIOS TM桥增加了目标独立的流式I/O界面(STRM)、消息界面(NODE)和资源管理(RM)服务器。RM服务器就象DSP RTOS的一个任务一样运行,并服务于GPP的命令和查询。一旦GPP端的程序通过GPP端的API发出请求,RM服务器响应,启动或停止DSP信号处理节点。
由RM服务器的任务采用STRM和NODE界面,作为对应的GPP客户程序的服务器,并根据GPP客户程序发出的信息进行处理工作。典型的,一个DSP任务用设备独立的流式I/O把数据从源端传送到罕主端,并在数据传送过程中进行特定的处理和转换。例如:一个WAVE音频任务从GPP WAVE设备驱动程序接收到数据后,可能要执行音频解压缩(ADPCM,MPEG,CELP),然后把解压缩的线性采样送到DAC。
3.4 DSP/BIOS TM桥的功能组件
DSP/BIOS TM桥的功能组件如图3所示。
在典型配置中,GPP与一个或多个DSP相连,终用户在GPP上的应用程序调用媒体服务模块或驱动程序,通过DSP/BIOS TM桥来管理DSP资源。
DSP任务节点是DSP上单独执行的线程,它实现信号处理算法。任务节点通过固定长度的短消息和与设备无关的流式I/O互相通信或与GPP通信。
3.5 举例说明DSP/BIOS TM桥的实现过程
在这个例子中用DSP进行滤波,GPP应用程序调用API控制DSP上的音频滤波任务。API用来控制DSP,但GPP和DSP之间没有数据流,如图4所示。
为初始化DSP上的滤波器任务,GPP应用程序要完成的工作如下:
·连接到DSP;
·分配滤波器任务节点及ADC和DAC设备节点;
·连接节点;
·创建DSP上的节点;
·启动滤波器节点。
为终止DSP上的滤波器应用,GSP应用程序完成的工作如下:
·调DSP节点,终止API发消息到滤波器来终止处理;
·删除滤波器节点和ADC,DAC节点;
·与DSP分离。
作为双核的OMAP TM平台,其的特点是开放性及其软件平台和硬件平台的独立性,基于C的ARM和基于XDAIS算法的DSP使OMAP TM平台易于开发和维护,功能强大。软件平台的DSP/BIOS TM桥并不依赖于固定的操作系统,具有可移植性。目前已经有众多的第三方开发出大量XDAIS兼容算法。OAP TM的软件开发集成环境支持多核的CCS2.0 IDE、XDS510及XDS560仿真器,同时TI还提供OMAP TM EVM做的评估工具。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。