OMAP5912双核通信及数字音频系统实现
RF6是专门针对双核芯片OMAP中DSP端软件设计提出的一种参考框架[5],不但包含了外围器件驱动模块、线程模块以及算法封装模块,还包含了用于同ARM端进行通信的模块。RF6中数据处理的4种基本元素为:单元、通道、任务和TMS320DSP数字信号处理器标准算法(eXpressDSP Algol-ithm InteropeliabilityStandard,XDAIS)。其中,单元是算法的集合,为外界和算法提供标准接口;通道是单元的集合;任务是按时间顺序执行的一系列通道,其目的是和设备驱动程序及其他任务通信。图2为基于RF6框架的数字音频系统结构图。本文引用地址:http://www.amcfsurvey.com/article/150186.htm
4.2 ARM端应用程序和DSP端算法
ARM端应用程序主要实现人机交互、系统控制(如传送参数)等功能,由2个线程组成:主线程和数据处理线程。主线程提供用户界面和调用DSIVBIOSLINK中:PROC模块的API函数,引导和加载DsP端可执行文件。数据处理线程将从DsP端任务O传输过来的音频数据帧回送给任务1,其通过调用CHNL模块中的API函数来实现ARM和DSP间的数据传输。
DSP端有2个任务:任务0和任务1。任务0将交又存取的音频数据帧分开成左、右2个声道。任务0分别对2个声道进行FIR滤波器处理,滤波器参数(如低通、高通)通过ARM端程序调用MSGQ模块中的API函数来设定。然后任务0将左右声道数据帧重新合成一个音频信号数据帧,通过DSP/BIOS LlNK发送给ARM端。任务1与任务0非常相似,其通过DSP/BIOSLlNK从ARM端接收数据,然后对其采用音量控制算法实现声音大小控制。
DSP端程序通过CodeComposer Studio编译后,生成out格式的可执行文件。ARM端程序交叉编译后生成应用程序。运行应用程序,可执行文件以参数形式传递给ARM端应用程序。采样率44.1 kHz,量化精度16 bit。经测试,用户可通过在超级终端输入命令实现对FIR和音量的调节,其运行结果如图3所示。
5 结束语
0MAP平台因其特有的双核结构,广泛应用于实时多媒体影音数据处理、语音识别系统、网络通信等领域。笔者以OMAP5912平台的数字音频系统为例介绍双核通信的具体应用,希望能对使用OMAP的人员具有借鉴意义。
评论