作者的话

ADAU1761是ADI公司音频DSP处理器,SigmaDSP系列里可以说价格最便宜的一颗,零售价10块钱?或者更低?用得人非常多,但是我看似乎全网就我做了一块教新手入门,以及让用户能快速评估这颗DSP性能的板,有这么神秘吗?这颗甜品DSP我觉得有必要科普一下,到底怎么去做开发,在我看来这颗真的是有手就行。

ADAU1761,ADI给他的一句话定义是:集成 PLL 的 SIGMADSP® 立体声、低功耗、96 KHZ、24 位音频编解码器,但我觉得定义成codec显然是不合适的,因为他有海量的DSP算法,而不仅仅只是做ADDA。所以我更愿意称他为自带codec的音频DSP。

正因为他是一颗有海量算法的DSP,又自带了codec,价格且是最底,开发有手就行,所以很有竞争力。

这个系列用到的硬件有

ADAU1761评估板

产品链接:https://item.taobao.com/item.htm?id=38240607959&spm=a1z10.5-c.w4002-5192690539.11.289a24cbZPGllT

在这里插入图片描述

USBi仿真器

产品链接:https://item.taobao.com/item.htm?id=38242936768&spm=a1z10.5-c.w4002-5192690539.11.537e2dbdy3MyZZ

MCU控制卡

产品链接:https://item.taobao.com/item.htm?id=599032051661&spm=a1z10.5-c.w4002-5192690539.19.5b4c629cPjln3G

编者的话

SigmaDSP-MCU-EVB 开发板是 OpenADSP 开源社区新推出的单片机控制 DSP 调音的开发板。

用过 ADI SigmaDSP 的用户都知道,SigmaDSP 的开发都是图形化编程,将程序框架做好后,下载 boot 实现音效处理的功能。但是有个很重要的问题就是,你在 SigmaStudio 软件中调试的各种参数是什么样的状态,下载到外部 EEPROM 中实现脱机后,就是什么样的状态,单凭 DSP 是很难实现实时调整 EEPROM 里的程序参数的。这个时候我如果想做个静音?调个音量?调 EQ 参数怎么办?

这个时候,单片机控制 DSP 就能很完美的解决,从原理上讲就是,单片机模拟 USBi,通过单片机来发送 USBi 一样的指令,来控制 EEPROM 里的 SigmaStudio 程序框架,从而实现调音量、静音等功能。

简单举例(很重要,提前有一个控制的概念)

我们看一个简单的例子:

在这里插入图片描述

这个 SigmaStudio 里的程序,模拟音源从 0/1 输入,经过 2 个静音模块,两个调音量的模块,到 0/1 模拟输出,输出之前可以对每个声道进行调音量和静音。这是一个很简单的ADAU1761 的例程,如果把这个例程下载到 STM32 中,那么程序就固定死了,每个音量的大小无法调节,也不能对静音模块进行静音处理。但是有了单片机控制板之后,我们就可以用单片机来模拟 USBi 的指令,让 SigmaStudio 程序认为仍然是 USBi 正在操作它,从而实现脱机状态下得调音量和给每个通道静音。

这些 USBi 的指令从哪里找呢?当你用 USBi 在线调试的时候,都会有具体的显示:

在这里插入图片描述

只要我们用单片机,用到相关的函数、程序去模拟 USBi 的这些操作,就能实现啦。

科普完毕,下一篇进入正题。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐