作者的话
ADAU1467是现阶段ADI支持最多通道的ADAU音频DSP,他配合外部的AD/DA,可以实现最多32路音频通道,接了一个小项目,我拿它做了一块20进10出的板,10个MIC/LINE输入,10个LINE IN输入,10个HPOUT,算是把他的接口几乎都用全,芯片性能开发到了极致。(其实可以做20个MIC IN,但是因为客户的具体需求是10个LINE IN,10个MIC IN)
芯片选型
项目背景的话,做这块板的目的是给ADAU1467搞功能验证,还有极限性能评估,所以并没有考虑更细节的芯片成本,怎么方便怎么来。
主芯片当然就是ADAU1467了,CODEC考虑到要LINE IN的同时能够模拟MIC IN,这就要求Codec的AD需要具备前置放大,需要有偏置电压,我选了ADAU1772做Codec,这其实也是一颗DSP,但他片内有一个adda,能做到4进2出,而且4进全部可以支持MIC IN,搞起来非常方便快捷,于是我就直接用它了。这颗codec也因为有自带的运放,我在模拟输出的设计时就不需要额外加运放了。
4进2出去配ADAU1467显然是不够的,那我就拼5个,就有20进10出了,这是我的选型思路。
这个系列文章将对这个电路板的软硬件开发设计做详细讲解,上一章我们讲了硬件设计,这一章我们开始讲软件开发。
硬件准备
开发板的产品链接:https://item.taobao.com/item.htm?id=625095214294&spm=a1z10.5-c.w4002-5192690539.15.713a1c74E0XfRv
调试器的产品链接:https://item.taobao.com/item.htm?id=38242936768&spm=a1z10.5-c.w4002-5192690539.11.663b2dbdDNXVZF
硬件上电检测
拿到这块20进10出的音频处理板,我们首先要检查一下硬件是否工作正常,这个用目测是看不出来了,所有我们要做第一次上电检测。
兄弟们拿到一块陌生的硬件版想要做上电初检,首先最关心的是板子那些个开关,是否拨对了?那我就整体说一说。
电路板供电:5V2A,我准备了一个5V2A的电源适配器,插上就可以正常上电。
S1:(ADAU1467 自启动开关)
开关打到 ON 的时候,是 ADAU1467 通过外部 EEPROM 自启动,打到 OFF 的时候则是调试模式。
JP15 跳线群:
开发板上有 5 个 ADAU1772,需要通过这个跳线群跳线,来分别配置,配置方法我会在第二个
文档中详细讲解。
ADAU1772 BOOT 跳线:5 组
开发板上有 5 组跳线,这 5 组跳线是分别控制板子上 5 个 ADAU1772 BOOT 模式的,我会在第二个文档中做详细说明。
开发板上就是这几个可以配置的地方,每个地方有什么含义,怎么配置,我觉得在具体的调试过程中讲解会更容易理解,所以请见后面的详细说明。
开发板模拟音频通道说明
开发板做了 30 路模拟通道,其中 20 路输入,10 路输出,如下图:
每个接口的通道标号如上图的标号所示,这个标号非常重要,直接涉及到软件开发中的通 道配置。
IN 就是输入,OUT 就是输出,举个例子,E_IN0(CH0),就是 ADAU1467 的输入通道 0,DLOUT
(CH4),就是 ADAU1467 的输出通道 4,以此类推。
有同学会有疑问,开发板的接口是 2 层莲花头,具体板子后面的丝印,对应的是哪个莲花头呢,请看这个图:
这个部分我全部是用标红的字体写的,说明这部分很重要,请一定要搞清楚板子上的每个接口的通道号,这个跟后面的开发联系太紧密了,不得不再次强调。
开发板初始状态说明
我们在 ADAU1467 开发板的 eeprom 中烧写了程序。eeprom 的程序自启动,实现各通路的音频直通。 按此图链接硬件:
S1:ON,ADAU1467 自启动;
JP15 跳线群:跳最上面的 2 个,A
5 个单独的跳线:全部不跳,空置
开发板上电:
当按下 KEY MP7,LED MP6 灯由亮变暗,松开 KEY MP7,由暗恢复到亮;
将音频输入接到 IN 0/1 接口,输出接到 OUT 0/1,如下图:
电脑(也可以用手机等作为音源)播放音乐,音箱中听到音乐正常播放。