作者的话
本章开始正式进入ADAU1466的开发教程,什么叫有手就行,看下去就明白了。
特别注意
因为ADAU1452和ADAU1466是P2P完全兼容的,管脚兼容,硬件设计兼容,软件程序配置全部都兼容,差别在于ADAU1466的内存更大。我的文章里所用到的程序都是基于ADAU1452的,程序也是基于ADAU1452的,ADAU1466通用。
所以这个教程也适用于ADAU1452。
这个系列用到的硬件有
ADAU1466开发板: https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.11.33837495jEH4ik&id=568517158252
USBi仿真器: https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.11.682b2dbdayuiYi&id=38242936768
MCU控制卡: https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.15.5769629cUrDqTM&id=591590330503
硬件链接示意图
ADAU1452 的开发 22:延时
延时是音频处理中最常见的一种算法,“延迟”(Delay)模块(采用 Z-a 算法)向信号流中添加一个可变延迟,其范围在 1 与 DSP 的最大可用内存之间。
我做一个例程:
在这个例程呢,我把延迟加了进来,并且做了一个开关,上面的音频流是加了延时的,下面的音频流是直通,通过开关来选择,大家可以听一下有没有区别吧。
ADAU1452 的开发 23:移频
ADAU1452 有专门的移频算法,这个模块多用于防啸叫,我只给一个最简单的例程,至于防啸叫就需要用户自己在自己的声乐环境下细调了。
ADAU1452 的开发 24:反馈
“反馈”(Feedback)算法在信号通道中生成一个延迟,并将信号重新引导至该通道中较早发生的输入。(图中所示即为这种反向信号流,这是唯一一个绿色输入位于右侧、蓝色输出位于左侧的模块。)注意,如果设计中要求反馈,则必须使用该模块。
我做一个例子,主要是要讲一下这个反馈的信号流是反的:
通过开关的选择,上面是经过反馈后的音效,下面的是直通的音效,对比音效还是比较明显的。