综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章通信网络正文
 
OMAP5912的双核通信与数字音频系统
发布日期:2008-06-21 作者:潘涛涛,张正炳,夏振华 来源:微电子学与计算机

摘  要:根据OMAP5912双核的特点,详细叙述了双核间通信的几种方式及双核通信的基础应用程序。并在此基础上,以基于OMAP5912的数字音频系统为例,介绍OMAP双核间通信的具体应用。
关键词:OMAP5912;双核通信;邮箱;DSP/BIOS LINK

1、 OMAP5912平台的简介

开放式多媒体应用平台(Open Multimedia Applications Platform,简称OMAP),是TI公司针对第三代手机而开发的高性能多媒体处理器。它除了具有“性能/功耗比”上的优势外,还提供丰富的外围接口,支持几乎所有流行的有线和无线接口标准。由于出色表现,该平台一直得到世界主要移动设备制造商们(诸如诺基亚、爱立信、索尼等)的青睐。

OMAP5912 采用独特的双核结构,内含一个实现控制功能的带TI 增强型的ARM926EJ-S 内核的处理器和一个实现数据处理功能的高性能、低功耗的TMS320C55x DSP 内核。ARM 处理器可用来实现各种通讯协议、控制和人机接口等功能;DSP具有多条数据地址总线,非常适合数据密集的多媒体处理,如视频编解码等,并且具有极低的功耗(0.05MW/MIPS)[1]。如何结合这两个处理器的优势,让其发挥最大的效率,双核通信机制起了至关重要的作用。

2、 OMAP5912的双核间通信方式

在OMAP5912中实现ARM和DSP双核通信的方式主要由共享邮箱寄存器、共享存储空间这两种方式来实现。在实际应用中需要配合使用这些双核通信方式。例如双核通信中的握手联络,其数据量小,可用共享邮箱用来实现,因为它传递消息及时可靠;当需要传输大量数据时(比如图像数据时),通常要使用高效率的共享存储空间这种通信方式。具体如下。

2.1、共享邮箱寄存器方式

    双核间可以相互中断并通过邮箱寄存器[2]传递少量数据。共有4套邮箱寄存器,每套邮箱寄存器由2个16bit寄存器和1个1bit的寄存器组成。当一个处理器将合适的命令字写到命令字寄存器后,该寄存器会产生中断,对另一个处理器的标志寄存器进行正确设置。被中

断的处理器通过读标志寄存器响应中断并清空标志寄存器。每套邮箱寄存器中,还有一个附加的数据字寄存器,可以在每次中断时在处理器间传送两个字的数据。通过命令和数据字通信的信息完全由用户定义。数据字可以用来表示地址指针或状态字。

2.2、共享存储器方式

    共享存储器又有两种方式。第一种方式由ARM通过主机接口(MPUI)获取对DSP存储空间和I/O空间的访问权,由ARM来完成数据在双核间的搬移。MPU接口为MPU和系统DMA控制器与DSP及其外设的通信提供了桥梁。通过MPUI可以访问DSP的整个存储空间及DSP的公共外设总线。

    另一种方式就是ARM通过DSP存储管理单元(DSP MMU)的设置将DSP的外部存储空间映射到OMAP5912系统存储资源中,由DSP来完成双核间数据的传输。OMAP5912通过一个通信控制器(TC)来实现共享存储器,这样ARM和DSP可以访问共享的SRAM存储器、EMIFF以及EMIF存储空间。

3、             双核间通信的基础应用程序

为了降低上层应用开发者的实现难度和节省设计时间,TI公司提供了双核间通信的基础应用程序―――DSP/BIOS LINK[3]。它是上述两种双核通信方式的实现。开发人员在进行上层应用程序开发时,只需使用DSP/BIOS LINK提供的接口函数即可。DSP/BIOS LINK允许开发人员在ARM端利用一套标准API进入和控制DSP的运行环境。它用于非对称的,由一个通用处理器(如ARM)和一个或多个DSP组成的处理器环境。图1为DSP/BIOS LINK的软件体系结构图。

图1、DSP/BIOS LINK 的软件体系结构图

DSP/BIOS LINK为开发人员提供了如下服务:基本的处理器控制(启动、执行、停止)、基于逻辑通道(CHANNEL)的数据传输、消息。它由以下三个组件组成:PROC、CHNL、MSGQ。

       PROC是Process control的缩写,它负责DSP处理器在应用程序用户空间的操作。PROC的主要功能有:DSP初始化、DSP端程序的加载、执行和停止。CHNL是Channel的缩写,表示了ARM和DSP之间数据流的逻辑通道,它负责ARM和DSP之间的数据传输。CHNL是通过在ARM和DSP之间通过物理连接而映射的逻辑实体。MSGQ是Message Queue的简称,它这要负责ARM和DSP之间长短不一的消息的交互和通信。消息的接收和发送是通过消息队列实现的。

4、             基于OMAP5912的数字音频系统实现

在这里,将以基于OMAP5912的数字音频系统实例来介绍OMAP双核间通信的具体应用。本系统是在TI提供RF6框架基础上实现的。整个系统是将输入的立体声音频信号按照给定的采样率和量化精度转化为左、右两声道数据帧,再对其进行有限脉冲滤波(FIR)和声音控制(VOL)的处理,然后合成立体声输出。整个系统划分为ARM端应用程序和DSP端算法两部分。

4.1、RF6框架简介

       RF6(Reference Framework Level 6)[4]是TI公司专门针对双核芯片OMAP中DSP端软件设计提出的一种参考框架,它不但包含了外围器件驱动模块、线程模块以及算法封装模块,还包含了用于同ARM端进行通讯的模块。RF6中数据处理的四种基本元素:任务、通道、单元和TMS320DSP标准算法(XDAIS)。单元是算法的集合,为外界和算法提供标准接口。通道是单元的集合,是连续地执行一系列的单元。任务则是按时间顺序执行的一系列通道。它的目的是和设备驱动程序、其它任务通信。图2是基于RF6框架的数字音频系统结构图。

图2、音频系统整体框架图

4.2、ARM端应用程序和DSP端算法

       ARM端程序主要是现实人机交互、系统的控制(如传送参数)等功能。ARM端应用程序由两个线程组成:控制线程和数据处理线程。控制线程提供用户界面和调用DSP/BIOS LINK中PROC模块的API函数,来引导和加载DSP端可执行文件。数据处理线程将从DSP端的任务0传输过来的音频数据帧回送给任务1。它是通过调用CHNL模块中的API函数来实现ARM和DSP间的数据传输。

       DSP端有两个任务:任务0将交叉存取的音频数据帧分开成左右两个声道。任务0分别对两个声道进行有限脉冲响应(FIR)滤波器算法,滤波器参数(如低通、高通)通过ARM端程序调用MSGQ模块中的API函数来设定。然后任务0将左右声道数据帧重新合成一个音频信号数据帧,通过DSP/BIOS LINK发送给ARM端。任务1和任务0非常相似,它通过DSP/BIOS LINK从ARM端接收数据,然后对其采用音量控制处理来实现声音大小的控制。

       DSP端程序通过CCS编译后,生成可执行文件app.out,ARM端程序交叉编译后生成应用程序。运行应用程序,app.out以参数的形式传递给ARM端应用程序。采样率设为44.1KHz、量化精度设为16bit。经测试,用户可以通过在超级终端输入命令来实现对FIR和音量的调节,其运行结果如图3。

图3、运行结果图

5、             结束语

OMAP平台因其特有的双核结构,广泛应用于实时的多媒体影音数据处理、语音识别系统、网络通信等领域。本文以OMAP5912平台的数字音频系统实例来介绍双核通信的具体应用,希望能对使用OMAP的人员具有借鉴意义。

 

 

参考文献

[1]彭启琮,潘晔等.开发式多媒体应用平台OMAP处理器的原理与应用.电子工业出版社 2005

[2]苏绍,璟吕喜.开放式多媒体应用平台OMAP5910 双核通讯.微计算机信息,2005/07

[3]Texas Instruments application report. DSP/BIOS Link User Guide,LNK 058 USR.April 2004

[4]Texas Instruments application report.Reference Frame—works for eXpressDSP Software. RF6.A DSP/BIOS Link—Based GPP.DSP system.SPRA796A.April 2004


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
谢谢,现在还没有相关信息...
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号