我用ADAU1467加5个ADAU1772,做20进10出的音频处理板(二):电路板上电初检

作者的话

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,如下图:

电脑(也可以用手机等作为音源)播放音乐,音箱中听到音乐正常播放。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-27 15:58:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-27 15:58:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-27 15:58:01       87 阅读
  4. Python语言-面向对象

    2024-04-27 15:58:01       96 阅读

热门阅读

  1. 大话人工智能之(一)深度学习概念

    2024-04-27 15:58:01       32 阅读
  2. 【pytorch】TensorBoard的使用

    2024-04-27 15:58:01       29 阅读
  3. 电路邱关源学习笔记——3.2KCL和KVL的独立方程数

    2024-04-27 15:58:01       24 阅读
  4. c入门基础题(3)

    2024-04-27 15:58:01       30 阅读
  5. 华为机试:夺宝奇兵

    2024-04-27 15:58:01       24 阅读
  6. 深入解析JVM G1 垃圾回收器

    2024-04-27 15:58:01       33 阅读
  7. ARP模块——计算机网络

    2024-04-27 15:58:01       33 阅读
  8. 华纳云:怎么设计DDoS抵抗力强的网络架构?

    2024-04-27 15:58:01       35 阅读
  9. Go的json序列化与反序列化(Marshal与Unmarshal)

    2024-04-27 15:58:01       36 阅读