首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

OMAP5912双核通信及数字音频系统实现(2)

OMAP5912双核通信及数字音频系统实现(2)

本帖最后由 yuyang911220 于 2017-1-3 16:27 编辑

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

        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的人员具有借鉴意义。
继承事业,薪火相传
返回列表