您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > SigmaDSP 启动与控制
2015.03.231/12V1.0SigmaDSP启动与控制Content搭建SigmaDSP开发环境Sigmastudio用MCU启动SigmaDSP用MCU控制SigmaDSP2015.03.232/12V1.0一.SigmaDSP开发环境SigmaStudio搭建及简单音频链路设计1、PC端安装SigmaStudio从官网下载最新版的SigmaStudio:找到合适的PC版本,如32位PC系统下载X86版的SigmaStudio,64位的PC系统下载X64版的SigmaStudio。或向代理商寻要最新版本的SigmaStudio。安装SigmaStudio时,有可能需要你安装Microsoft.NETFrameworkVer3.5,如果你的机器之前没有安装过此类软件包,请到官网下载安装。若是WIN7或以上PC系统,请确保“我的文档”在C盘目录中,否则在安装过程中会提示出错。2、连接USBi仿真下载器将USBi仿真器通过MiniUSB连接至PC,SigmaStudio已集成USBi的驱动程序,插上PC后在设备管理器中就能看到AnalogDevicesUSBi设备,如图9所示:图9AnalogDevicesUSBi设备3、将USBi仿真器按如图3所示连接到开发板4、建立SigmaStudio工程文件打开SigmaStudio,选择菜单“File——NewProject”新建一个工程,在左侧的“TreeToolBox”工具栏中将USBi及ADAU176x拖做中间空白处,如图10所示:图10USBi及ADAU1761插件在空白处用鼠标按图11所示将线连接起来图11USBi连接DSP2015.03.233/12V1.0点击“Schematic”选项卡,进入ADAU1761音频链路设计。同样在左侧的“TreeToolBox”工具栏分别找到Input、Output、Mute、SingleVolume、MediumSizeEQ拖至中间空白处,选中SingleVolume右键AddAlgorithm--IC1—GAIN(NOSLEW),选中MediumSizeEQ右键AddAlgorithm—1.2channeldoubleprecision—9,然后按照图12将链路连接起来,这样一个简单的DSP音频链路就设计好了。详细的SigmaStudio工程设计资料请参考“SigmaStudioHelp_3.0(中文).pdf”或按F1获取帮助,也可参考“SigmaStudioBasicuCIntegrationTutorial.pdf”、“SigmaStudio实例.pdf”,或联系代理商获取帮助。图12DSP音频链路5、编译下载工程点击工具栏中LinkCompileDownload按钮(如图13所示),可将设计好的工程文件编译,并通过USBi将编译过的配置参数载入DSP,DSP的参数及时生效。图13工程文件编译和下载6、导出配置文件点击工具栏中的ExportSystemFiles按钮(如图14所示),可将设计好的工程文件导出为8个MCU配置文件。2015.03.234/12V1.0图14工程配置文件导出二.MCU启动SigmaDSP1、在设计好SigmaStudio的工程后,编译后点击exportSystemfiles按钮,就可以生成导出工程文件,导出的配置文件有8个。如下图所示图18SigmaStudio导出配置文件2、在图18所生成的配置文件中,我们一般的MCU工程用到的有四个(SigmaStudioFW.h是用户的I2C接口文件,需要用户根据MCU平台自己配置I2C)文件:“define.h”,“Demo_IC_1.h”,“Demo_IC_1_PARAM.h”,“Demo_IC_1_REG.h”。在MCU工程下建好DSP的子工程如图3所示:图19MCU工程中的DSP子工程3、DSP需要配置相关的参数才能启动,而这些所有与DSP启动相关的参数由“Demo_IC_1.h”中的default_download_IC_1()函数完成,只要在MCU主程序中执行一次default_download_IC_1()函数即可启动2015.03.235/12V1.0DSP。如图20所示图20SigmaStudio子工程文件解析4、default_download_IC_1()中的子函数SIGMA_WRITE_REGISTER_BLOCK()由I2C/SPI接口完成数据传送,需要传送的参数有:intdevAddress,intaddress,intlength,ADI_REG_TYPE*pData,四个,分别代表的是:I2C/SPI设备地址,寄存器地址,数据长度,数据。这四个数据在Sigmastudio导出配置的时候已经定义2015.03.236/12V1.0在“Demo_IC_1.h,Demo_IC_1_REG.h中。5、所以MCU启动DSP时序是:①上电,②延时等待约100ms,③执行一次default_download_IC_1()函数。三.MCU控制SigmaDSP1、控制SigmaDSP需要用到SIGMA_WRITE_REGISTER_BLOCK()和SIGMA_SAFELOAD_WRITE_REGISTER()两个接口函数。SIGMA_WRITE_REGISTER_BLOCK()函数与启动DSP的接口函数是一样的,SIGMA_SAFELOAD_WRITE_REGISTER()接口需要先写到DSP里面的Buffer,然后再触发,参考示意图21:图21SafeloadWrite示意图2、编译好SigmaStudio工程文件后,用鼠标在SigmaStudio界面调节一些参数,然后在下面的Capturewindow中可以看到会有如下图22的信息,每个鼠标动作都会在Capturewindow出现相应的一行/几行动作。Mode列中显示的即是控制方式,有BlockWrite和SafeloadWrite。图22Capturewindow动作信息2015.03.237/12V1.03、上图中蓝色的控制方式BlockWrite使用SIGMA_WRITE_REGISTER_BLOCK()函数,具体导出控制文件的流程如下所示:2015.03.238/12V1.0图23BlockWrite导出动作4、SafeloadWrite控制方式用SIGMA_SAFELOAD_WRITE_REGISTER()函数实现,其导出动作方式与BlockWrite方式类似,如图24所示:2015.03.239/12V1.02015.03.2310/12V1.02015.03.2311/12V1.02015.03.2312/12V1.0图24Safeloadwrite导出动作5、BlockWrite和SafeloadWrite动作可以混在一起导出,并且顺序可以任意组合,方法与前面一样。在SigmaStudio上面用鼠标按顺序控制,在Capturewindow会按顺序出现动作信息,把这些动作导出来,用MCU调用一遍导出来的函数就可以实现鼠标操作的效果。完毕6、为什么一定要用Safeload?因为Safeload机制可以避免更新DSP内核参数时产生噪声。GoodLuck!
本文标题:SigmaDSP 启动与控制
链接地址:https://www.777doc.com/doc-5156610 .html