ESP32-s3开发板麦克风使用全解析

ESP32-s3开发板麦克风使用全解析

目录

1. 硬件原理介绍

我们的ESP32开发板上集成了两个麦克风,它们的位置分别是:
在这里插入图片描述

  • 麦克风1:位于扩展接口旁边
  • 麦克风2:位于USB接口旁边

这两个麦克风是如何工作的呢?从硬件角度看,它们都连接到了ES7210这个专业的音频ADC芯片上。这个芯片负责采集麦克风信号,然后通过I²S接口将数字化后的音频数据传输给ESP32主控。

除了I²S接口外,ES7210还提供了I²C接口用于寄存器配置。这样我们就可以通过ESP32读写ES7210内部寄存器,对其进行灵活配置。

2. 电路设计分析

ES7210芯片支持最多4个麦克风输入,在我们的开发板上:

  • 麦克风1:连接到ES7210的15/16脚
  • 麦克风2:连接到ES7210的19/20脚
  • 麦克风3:连接到31/32脚,这个比较特别,它其实接的是ES8311输出的音频(也就是送往喇叭的声音)。这个设计的妙处在于可以实现回声消除,对语音识别应用非常有用
  • 麦克风4:接地,未使用
    在这里插入图片描述
    在这里插入图片描述

通过这种接法,麦克风3能捕获开发板自己输出的声音,配合麦克风1/2捕获的环境声音,可以实现更高质量的语音交互体验。

3. 实践案例:麦克风录音

接下来,我们通过一个实际案例来学习如何使用这两个麦克风进行录音,并将音频保存到SD卡。

3.1 运行原有示例

首先,我们运行一下官方提供的示例程序,看看它的实现效果。这个程序的主要流程是:

  1. 初始化ES7210芯片
  2. 挂载SD卡
  3. 录制10秒钟的音频
  4. 卸载SD卡,完成录音

具体操作步骤:

# 选择目标芯片并配置
# 选择串口
# 编译并下载程序

录音完成后,我们可以取出SD卡,将其放到读卡器中,然后在电脑上播放录制好的wav文件来验证效果。

3.2 代码修改与适配

现在,我们基于IDF中的示例代码i2s/i2s_es7210_tdm来实现自己的录音程序。主要修改点包括:

  1. 针对ES7210的引脚配置
// I²C接口配置 (SDA=1, SCL=2)
i2c_config.sda_io_num = 1;
i2c_config.scl_io_num = 2;

// I²S接口配置
i2s_pin_config.mck_io_num = 38;   // MCLK引脚
i2s_pin_config.bck_io_num = 39;   // BCLK引脚 
i2s_pin_config.ws_io_num = 40;    // WS/LRCK引脚
i2s_pin_config.data_in_num = 41;  // DATA引脚
  1. 修改SD卡接口从SPI到SDIO
// SD卡SDIO接口配置
sdmmc_host_t host = SDMMC_HOST_DEFAULT();
sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Despacito0o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值