赞
踩
作者的话
ADAU1701是OP认为最具性价比的一颗ADI的音频DSP,价格、性能的匹配度极佳,且通用性强,基本上学会了这颗DSP,后面所有的ADAU系列DSP都可以直接搞。
我希望通过这篇文章,配合开发板和 USBi 仿真器,10分钟让你写出第一个SigmaDSP的程序来!
开发板和仿真器哪里找
某宝搜店铺 “ADI之家”
视频讲解
ADAU1701做第一个DSP程序的讲解
SigmaDSP调音的最基本原理
科普性,非专业,新手玩家可以简单看看。
我们说世间万物皆模拟,在我们电子工程师眼里,一切可视,可见,可闻,都可以统称为模拟,声音也是如此。
SigmaDSP 作为一个数字音频 DSP,是怎么来处理模拟的声音,调整他,改变他,实现我想要的音色?首先需要把模拟的声音,音乐,语音变成数字的 010101,这个过程叫模数转换,又称之为 ADC,经过转换后的 010101 的数字组合,进入到我们的 SigmaDSP 数字音频DSP 中,DSP 就可以对这些 010101 的数字组合进行处理了,再说的通俗彻底一点,就是重新排列组合,拆,拼,凑,这个过程就叫做调音。010101 经过分频、EQ,增益,延迟、反馈、混音、混响等算法调整好了,拼拼凑凑重新组合成了新的 010101。但是我们人耳是听不到 010101 的数字信号的,怎么办?于是又有了数模转换,称之为 DAC,把这些新组合而成的 010101 还原成模拟的声音,再传到我们耳朵里。整个的过程就是如此。
所以你看,具体到 SigmaDSP中的具体型号,ADAU1701 是怎么实现的呢?模拟音源通过 ADAU1701 芯片内部自带的 2 进 4 出 AD/DA 功能的 Codec 功能模块,进行 ADC 转换,变成 010101 的数字送入其 DSP 功能模块中,DSP 获取了 010101 的数字,通过自带的分频、EQ等算法模块进行重新排列组合,形成了含有我们想要的音色的数字音频信号,再通过 1701片内高性能的 DAC 功能转换成模拟音源,输出到功放、耳机等设备上,让我们听到增加了音效的声音,整个过程就是这样。
并不是从专业角度的一段讲解,只希望 0 基础选手对此有个感性的认识,再进入我们理性的专业调音开发中来吧。
ADAU1701-A2B板的简介
看图说话吧:(看板子上的丝印也能看出来)
有同学可能就有疑问了,这明明是1进2出呀,1个输入接口,2个输出接口。这个想法是错的,因为我们在音频这个领域里,讲到的通道数都是指的单通道,这里的绿色输入接口,是立体声输入,也就是左右两个单通道,所以是2进,2个黑色的输出接口同样做的是立体声输出,也就是左右两声道在一个接口输出,所以是4出(这个在后面的程序配置中会有更好的体现)。
5. 一个用IO设计的按键
开发前的准备工作
硬件准备
一台64位的PC,一块ADAU1701开发板,一个USBi仿真器,一个单片机烧写器(STLINK),两根音频线,一个5V2A/1A的电源,一个输入音源,可以是 PC 或者手机或者其他模拟音频输入设备,一个或两个输出音源设备,可以是耳机音箱等。(为啥要64位的PC呢,是因为ADI现在提供的新版本SigmaStudio 软件只支持64位的OS了)。
输入和输出音源这个我也要简单说一下,因为我们这个是开发板,目的是为了迅速的教会大家使用 ADAU1701,所以就用最简单的外设,文档中我使用了手机作为输入音源,一个小音箱和一个普通的3.5耳机作为输出设备。
软件准备
(单片机软件、烧写软件及单片机操作说明有专门的文档,此处不再赘述)
首选需要安装SigmaStudio软件,这个软件是开发ADAU1701的唯一工具,你的所有功能都依赖这个软件来实现,所以请随时关注 ADI 官网上的软件更新情况,确保自己安装的是最新的 SigmaStudio 软件,已获得更多更稳定的功能。
SigmaStudio 软件官网下载链接:
http://www.analog.com/cn/design-center/processors-and-dsp/evaluation-and-development-software/ss_sigst_02.html
这个软件是完全免费的,直接下载安装即可,目前就直接下4.7。
特别注意,安装 SigmaStudio 时,有可能需要你安装 Microsoft.NET Framework Ver4.0,如果你的机器之前没有安装过此类软件包。
最新版本的.net Framework 可到以下网站下载:
http://www.microsoft.com/zh-cn/download/details.aspx?id=17718
操作系统特别注意,若是WIN7或以上PC系统,请确保“我的文档”在C盘目录中,否则在安装过程中有可能会提示出错。 有兄弟问能不能用WIN10和WIN11,WIN11我还真是不清楚,但WIN10肯定可以,因为我自己用的就是WIN10。
软件都装好了,就可以正式开启我们的 ADAU1701 的开发之旅了!
开发平台搭建示意图
开发板上的跳线不动;
开发板上SW2(1701BOOT)开关拨到OFF;(注意,我们在做调试的时候,一律让DSP不启动)
开发板上的SW1(IIC & MCU)开关拨到IIC(就表示我需要用到DSP的IIC模式来做调试)
USBi插到开发板的USBi JTAG接口(开发板和仿真器均有温馨防反插设计,不用担心插反了,这个时候仿真器和开发板均没有通电);
5V2A电源接入,USBi接PC的USB口(如果是台式机,不要前置USB口,要接到后置的);(供电正常时,Power D3红色会被点亮,LED1绿色被点亮,MCUBOOT黄灯闪烁。否则说明供电有问题,请检查电源) ;
模拟音源从绿色的接口输入(接的是PC声卡的音源输入);
模拟音源从黑色的接口输出,我接的是一个小音箱输出,注意该模拟输出口对应的音频通道编号, 这个我在后面的章节会详细讲解;
特别注意,输入输出的线缆用力怼到底,插到最里头。
USBi 通过 USB 线插入 PC 后,如果弹出找到新硬件并要求安装设备驱动,请选择自动安装。如自动安装失败,可手动定位到 USBi 的驱动安装目录:
安装完毕后,可在设备管理器里检查是否有 Analog Devices USBi 设备,如下图所示,则表示安装成功,否则须重试。
ADAU1701的第一个程序开发:直通
软件也装好了,硬件也接好了,下面就跟着OP老师的节奏,正式开搞,会很有趣,只需要点点鼠标,就能搞定,这也是我为什么会说,10分钟就让你写出第一个DSP程序来。
我们从最简单的开始,先做一个直通的例程。先把这个板子弄出声来。
下面要做的事很简单,一路PC声卡模拟音源输入音源(也可以用手机,播放器等模拟音源),通过ADAU1701的内部codec 进行AD,并不经过任何的数字音效处理,在DSP里走直通,然后通过内部codec进行DA,再推到音箱。让PC声卡输入音源播放音乐,看看音箱能否正常的发声。
注意!请不要随便改变 USBi 单元显示的 SPI 或 I2C 地址,否则会导致通信错误,从而不 能正常联接调试,你的硬件是怎么设计的,你就选择怎样的链接。我的开发板设计的是 IIC 的 EEPROM,就是上图这么连。这个地址在ADAU1701 的数据手册里也能够体现。
再注意!这个界面下,你会发现你的这个USB是绿色的,就证明你的USBi调试器正常接入了,你拔掉USBi调试器就会变红,就表示仿真器不可用。
这里为什么选择的是 0 和 1 打勾呢,因为我们开发板上设计的就是 0/1 接口输入音源。请看下图的丝印:
一个输出选择 DAC0,一个输出选择 DAC1,同样也是对应的板子上的输出接口的,看下图。
OUTPUT0/1 接的是音箱,所以一会出声的就是音箱了。
如 USBi 与开发板通信正常, SS 右下角的状态栏会显示 100%, Active: Downloaded。
注意:USBi 将例程 down 到了板子上 ADAU1701 的 SRAM 上,板子断电就没有了。USBi 的 这种调试是为了快速验证功能,最终需要把这个例程的代码烧写到 ADAU1701 的外部
EEPROM 来实现自启动,从而实现脱机运行。
技术支持这一块,咱们把话术约定一下,同学们说USBi下载程序到DSP的SRAM中,实现实时的调试,我们都叫“在线下载调试”,而烧写到EEPROM实现自启动,脱机运行,我们都叫“烧写”,这样后面大家有问题问我的时候,就不会产生理解上的偏差。
下一篇预告
软件装好,硬件连好,新建工程,鼠标点几下,把输出输出框架结构连好,点击下载,直通功能达成。
怎么样,是不是不要 10 分钟,就能自己开发出第一个 SigmaStudio 例程啦!下一章会讲一下EEPROM的烧写和脱机运行。
OP老师在ADAU1701的这个开发板上写了超过100个例程,跟紧OP老师的节奏,后面的开发更简单,也更有趣!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。