- 音视频
- 音频处理
- 嵌入式
- 物联网
- 语音
【免费下载链接】esp-adf
Espressif Advanced Development Framework for Multimedia Applications
导读
本文档基于 ESP-ADF 仓库中的 board-esp32-lyrat-mini-v1.2.rst(中文版 board-esp32-lyrat-mini-v1.2.rst 通过 include 引用英文原版),面向使用 ESP32-LyraT-Mini V1.2 开发板进行音频应用开发的工程师。文章将系统讲解该板的硬件架构、各功能模块、测试点与 GPIO 分配、供电设计,以及音频输出选择机制,并结合作品源码与示例工程说明其在实际项目中的使用方式。读完本文,你将掌握该板的完整资源布局,能据此进行板级配置、外设接线与应用开发。
开发板概览
ESP32-LyraT-Mini 是乐鑫(Espressif)为双核 ESP32 音频应用设计的硬件平台,典型场景包括 Wi-Fi/BT 音频音箱、语音遥控器、带音频功能的智能家居设备等。它是一块单声道(mono)音频板,如果需要立体声音频板,可参考同系列的 ESP32-LyraT 开发板。
ESP32-LyraT-Mini V1.2 电气框图
该板在 ESP32 芯片自带的存储之上,额外提供了音频处理所需的硬件与 RAM,核心资源包括:
- ESP32-WROVER-E 模组:集成 ESP32 芯片,提供 Wi-Fi / 蓝牙连接与数据处理能力,并集成 4 MB 外部 SPI Flash 与额外 8 MB PSRAM;
- 音频 Codec 芯片 ES8311(单声道、低功耗,用于音频输入输出处理);
- ADC 芯片 ES7243(低功耗多位 delta-sigma 音频 ADC/DAC,本板用作麦克风接口);
- 板载麦克风;
- 音频输出(3.5 mm 立体声耳机插孔,输出单声道信号);
- 1 路 3 瓦扬声器输出(2.00 mm / 0.08" 间距排针);
- MicroSD 卡槽(SPI/1-bit 模式);
- 八个按键(六个功能键 + Boot/Reset);
- 两颗系统 LED与电源/充电状态 LED;
- JTAG 与 UART 测试点;
- 集成USB-UART 桥接芯片(CP2102N,最高 3 Mbps);
- 单节锂离子电池充电管理(AP5056 线性充电器)。
ESP32-LyraT-Mini V1.2 板载布局图
功能模块详细描述
以下按板卡布局图从右上角起顺时针方向,逐项描述关键组件、接口与控制键的功能。
MicroSD 卡槽
开发板支持 SPI/1-bit 模式的 MicroSD 卡,可存储或播放卡中的音频文件。MicroSD 接口的具体引脚分配见后文 MicroSD 卡 一节。
板载麦克风
板上麦克风连接到Audio ADC 芯片(ES7243)的 AINRP/AINRP 输入引脚,用于录音等音频采集场景。
系统 LED
两颗通用 LED(绿色与红色)由ESP32-WROVER-E 模组控制,应用可通过专用 API 指示音频应用的不同运行状态。GPIO 分配见 GPIO 分配汇总。
音频 Codec(ES8311)
ES8311 是一颗低功耗单声道音频 Codec,集成 1 通道 ADC、1 通道 DAC、低噪声前置放大器、耳机驱动、数字音效、模拟混音与增益功能。它与 ESP32-WROVER-E 模组通过I2S 与 I2C 总线连接,从而在硬件层面独立于音频应用完成音频处理。在 ESP-ADF 中,该芯片由 es8311.c 驱动实现,默认 I2C 地址为0x30(见 es8311_codec.h)。
音频输出(Audio Output)
3.5 mm 立体声耳机插孔,其中一个端子连接到 ESP32 用于插拔检测(PJ_DET 信号)。注意板卡输出的是单声道信号。
ADC(ES7243)
ES7243 是低功耗多位 delta-sigma 音频 ADC/DAC,本板上用作麦克风接口。在 ESP-ADF 中由 es7243.c 驱动,默认 I2C 地址为0x26(见 es7243_adc.h)。其驱动配置只需提供控制接口即可(es7243_codec_cfg_t仅含ctrl_if字段),且该芯片仅支持 ADC 功能。
PA 功放
用于放大来自Audio Codec 芯片的音频信号以驱动扬声器。板上 PA 芯片为NS4150,其使能控制信号为PA_CTRL(GPIO21)。
扬声器输出
连接扬声器的输出插座,推荐使用4 欧姆、3 瓦的扬声器,引脚间距 2.00 mm / 0.08",需使用 JST PH 2.0 2-Pin 插头(开发阶段也可用杜邦母跳线代替)。
功能按键
六个功能按键:Rec、Mode、Play、Set、Vol-、Vol+。它们连接到 ESP32-WROVER-E 模组,供开发者通过专用 API 开发、测试音频应用 UI。
Boot/Reset 按键
- Boot:按住 Boot 键并短暂按下 Reset 键可进入固件上传模式,随后即可通过串口烧录固件;
- Reset:单独按下可复位系统。
自动上传电路
板载简单的双晶体管电路,依据 UART DTR 与 RTS 信号状态将 ESP32 置入固件上传模式,由外部应用控制这些信号通过 USB-UART 接口完成固件上传。
USB-UART 端口与桥接芯片
USB-UART 端口是 PC 与 ESP32 模组之间的通信接口,桥接芯片为单芯片CP2102N,最高支持 3 Mbps 传输速率。
USB 电源端口、待机/充电 LED 与电池
- USB 电源端口为板卡供电;
- Standby(绿色)LED:指示 USB 电源端口已上电;
- Charging(红色)LED:指示连接在电池插座上的电池正在充电;
- 电池插座:两针插座,用于连接单节锂离子电池(2.00 mm / 0.08" 间距),作为 USB 电源的替代供电。建议电池规格:容量 > 1000 mAh、输出电压 3.7 V、输入电压 4.2 V – 5 V,且必须带保护电路与保险丝;连接时注意核对电池插头极性是否与板卡丝印标记一致;
- 电池充电器:AP5056,单节锂离子电池恒流恒压线性充电器,通过 USB 电源端口为电池充电;
- 电源监控:电源电压稳定后提供 EN 信号使能 ESP32;
- 电源开关:拨码开关,拨向上方开机,拨向下方关机。注意:电源开关不会影响/断开锂电池充电,详见原理图(PDF)。
电源 LED
红色 LED,指示电源开关已打开。
ESP32-WROVER-E 模组
内含 ESP32 芯片,提供 Wi-Fi / Bluetooth 连接与数据处理能力,集成 4 MB 外部 SPI Flash 与 8 MB PSRAM,便于灵活的数据存储。
UART/JTAG 端子
- UART 端子:提供 ESP32-WROVER-E 模组与 USB-UART 桥接芯片之间串行 TX/RX 信号的访问,引脚定义见 UART 测试点;
- JTAG 端子:提供 ESP32-WROVER-E 模组 JTAG 接口的访问,可用于调试、应用上传以及实现其他功能(如应用级追踪 Application Level Tracing),引脚定义见 JTAG 测试点。
测试点与 GPIO 分配
测试点说明
板上测试点为裸露的通孔焊盘,间距为标准 2.54 mm / 0.1",需要时可用排针或插座引出,便于连接外部硬件。
JTAG 测试点
| 序号 | ESP32 Pin | JTAG 信号 |
|---|---|---|
| 1 | MTDO / GPIO15 | TDO |
| 2 | MTCK / GPIO13 | TCK |
| 3 | MTDI / GPIO12 | TDI |
| 4 | MTMS / GPIO14 | TMS |
注意:当应用使用MicroSD 卡时,JTAG 不可用(SD 卡与 JTAG 复用了 MTDO/MTCK/MTDI/MTMS 等引脚)。
UART 测试点
| 序号 | ESP32 Pin | 引脚说明 |
|---|---|---|
| 1 | RXD0 | RX |
| 2 | TXD0 | TX |
| 3 | GND | GND |
| 4 | n/a | 3.3 V |
MicroSD 卡
本板 MicroSD 接口工作在SPI/1-bit 模式。在 PCB 上预留位置补齐若干额外元件后(原理图中未焊接元件标记为NC),可以支持SPI/4-bit 模式。
| 序号 | ESP32 Pin | MicroSD 信号 |
|---|---|---|
| 1 | MTDI / GPIO12 | -- |
| 2 | MTCK / GPIO13 | -- |
| 3 | MTDO / GPIO15 | CMD |
| 4 | MTMS / GPIO14 | CLK |
| 5 | GPIO2 | DATA0 |
| 6 | GPIO4 | -- |
| 7 | GPIO34 | CD |
由于 MTDO/MTCK/MTDI/MTMS 被 SD 卡占用,使用 MicroSD 卡时无法同时使用 JTAG 调试。
GPIO 分配汇总
下表列出 ESP32-WROVER-E 模组端子引出的 GPIO 与板上各组件/功能的对应关系:
| Pin | Pin Name | ES8311 | ES7243 | Keys | MicroSD | Other |
|---|---|---|---|---|---|---|
| 3 | EN | EN_KEY | ||||
| 4 | S_VP | I2S_DATA | ||||
| 5 | S_VN | REC, MODE, PLAY, SET, VOL-, VOL+ | ||||
| 6 | IO34 | CD | ||||
| 7 | IO35 | I2S0_ASDOUT | ||||
| 8 | IO32 | I2S1_SCLK | ||||
| 9 | IO33 | I2S1_LRCK | ||||
| 10 | IO25 | I2S0_LRCK | ||||
| 11 | IO26 | I2S0_DSDIN | ||||
| 12 | IO27 | Blue_LED | ||||
| 13 | IO14 | CLK | ||||
| 14 | IO12 | NC (DATA2) | ||||
| 16 | IO13 | NC (DATA3) | ||||
| 17 | SD2 | |||||
| 18 | SD3 | |||||
| 19 | CMD | |||||
| 20 | CLK | |||||
| 21 | SD0 | |||||
| 22 | SD1 | |||||
| 23 | IO15 | CMD | ||||
| 24 | IO2 | IO2_KEY | DATA0 | |||
| 25 | IO0 | I2S0_MCLK | I2S1_MCLK | IO0_KEY | ||
| 26 | IO4 | NC (DATA1) | ||||
| 27 | NC (IO16) | |||||
| 28 | NC (IO17) | |||||
| 29 | IO5 | I2S0_SCLK | ||||
| 30 | IO18 | I2C_SDA | I2C_SDA | |||
| 31 | IO19 | PJ_DET ² | ||||
| 33 | IO21 | PA_CTRL ³ | ||||
| 34 | RXD0 | RXD0 ⁴ | ||||
| 35 | TXD0 | TXD0 ⁴ | ||||
| 36 | IO22 | Green_LED | ||||
| 37 | IO23 | I2C_SCK | I2C_SCL |
表注:
- Pin—— ESP32-WROVER-E 模组引脚号,GND 与电源引脚未列出;
- PJ_DET—— 耳机插孔插入检测信号;
- PA_CTRL—— NS4150 功放芯片控制信号;
- RXD0、TXD0—— 连接到 CP2102N USB-UART 桥接芯片 TXD/RXD 引脚的串行通信信号;
- NC—— 未连接。
从表中可以清晰看到两条音频总线:I2S0用于连接 ES8311(MCLK=IO0、SCLK=IO5、LRCK=IO25、DSDIN=IO26、ASDOUT=IO35),I2S1用于连接 ES7243(MCLK=IO0、SCLK=IO32、LRCK=IO33、DATA=IO4);I2C 总线(SDA=IO18、SCK=IO23)同时挂接两颗芯片,这与 ESP-ADF 中esp_codec_dev组件通过 I2C 控制接口 + I2S 数据接口驱动 Codec 的方式一致(参考 esp_codec_dev_defaults.h 中audio_codec_i2c_cfg_t与audio_codec_i2s_cfg_t的结构定义)。
电源分配设计
ESP32-LyraT-Mini 为音频与数字子系统提供了独立的电源分配,以隔离数字组件产生的噪声,提升音频质量与整体性能。
USB 与电池双路供电
开发板有两种供电方式:
- 5 V USB 电源端口;
- 3.7 V 可选锂电池(对电源纯净度要求更高的应用推荐使用)。
USB 供电方式 电池供电方式
音频与数字独立供电
板卡为音频组件与 ESP32 模组提供独立的电源轨,以降低数字电路对音频信号的噪声干扰,改善整体性能。
数字电源 音频电源
音频输出选择机制
板卡在 ES8311 Codec 的 OUTN/OUTP 引脚输出单声道音频信号,该信号被路由到两路输出:
- 功放(PA)——驱动外部扬声器;
- 耳机插孔——驱动外部耳机。
板卡设计采用软件切换输出,而非传统耳机插孔中依靠机械触点断开扬声器的方案。为此提供两个数字 IO 信号:
- PJ_DET(数字输入,GPIO19):检测耳机插头是否插入;
- PA_CTRL(数字输出,GPIO21):使能/关闭功放 IC。
运行在 ESP32 上的应用根据PJ_DET的状态,通过PA_CTRL使能或关闭 PA,从而在耳机插入时自动静音扬声器。具体 GPIO 编号见上文 GPIO 分配汇总。
这一机制在 ESP-ADF 的 Codec 驱动中同样有对应实现:es8311_codec_cfg_t结构体提供pa_pin(PA 芯片电源引脚)与pa_reverted(PA 使能电平极性)字段(见 es8311_codec.h)。在 es8311.c 中,驱动会根据pa_pin是否为 -1、gpio_if是否为空决定是否跳过 PA 控制,并通过ES_PA_SETUP / ES_PA_ENABLE / ES_PA_DISABLE完成 PA 引脚的初始化、开与关,这正是板上 PA_CTRL 信号在软件层的落点。
快速上手:初始化与示例验证
按 get-started-esp32-lyrat-mini.rst(中文版 get-started-esp32-lyrat-mini.rst)的步骤,可以快速完成开发板的首次上电与开发环境准备:
- 准备硬件:将扬声器(不超过 3 W,需 JST PH 2.0 2-Pin 插头)连接到Speaker Output,可选连接耳机到Audio Output;用两根 Micro-USB 2.0(Type A 转 Micro B)线缆同时连接 PC 与板卡的两个 USB 端口;
- 上电检查:绿色Standby LED应点亮;未接电池时红色Charging LED会每隔几秒闪烁;将Power On Switch拨向上方,红色Power On LED点亮,即表示板卡就绪;
- 搭建开发环境:依次完成ESP-IDF环境配置、获取ESP-ADF(ESP-ADF 是面向音频应用的特有 API 框架)、设置环境变量、启动示例工程、连接设备、编译并运行,即可播放音乐。
在 ESP-ADF 的多个示例工程中,ESP32-LyraT-Mini 都是受支持的板型之一。例如 music_player 示例支持esp32_lyrat_mini_1_1板型,其运行时日志会输出 ES8311 Codec 的初始化信息(Create esp_codec_dev success ... chip:es8311);play_music_control 示例同样列出该板型。编译时可通过idf.py bmgr -b <board_index|board_name>选择对应板型(如esp32_lyrat_mini_1_1),即可自动应用匹配该板硬件的引脚与外设配置。
相关文档
- ESP32-LyraT-Mini V1.2 原理图(PDF,外部链接)
- ESP32-LyraT-Mini V1.2 板卡尺寸图(PDF,外部链接)
- ESP32-LyraT-Mini V1.2 入门指南
- ESP32 Datasheet(PDF,外部链接)
- ESP32-WROVER-E Datasheet(PDF,外部链接)
- 音视频
- 音频处理
- 嵌入式
- 物联网
- 语音
【免费下载链接】esp-adf
Espressif Advanced Development Framework for Multimedia Applications
相关推荐
AutoHotkey Lib DLL托管指南:如何在你的应用中嵌入AHK解释器
AutoHotkey Lib DLL托管指南:如何在你的应用中嵌入AHK解释器 AutoHotkey 是一款经典的 Windows 宏创建与自动化脚本工具,而它
音视频音频处理嵌入式物联网语音ESP32-LyraT V4.2 开发板入门指南:ESP-ADF 音频开发硬件配置与上手实战
ESP32 LyraT V4.2 开发板入门指南:ESP ADF 音频开发硬件配置与上手实战 本文基于 Espressif Advanced Developme
音视频音频处理嵌入式物联网语音ESP32-LyraT V4 音频开发板入门指南:硬件架构、DIP 开关配置与 ESP-ADF 开发启动
ESP32 LyraT V4 音频开发板入门指南:硬件架构、DIP 开关配置与 ESP ADF 开发启动 ESP32 LyraT V4 是乐鑫官方围绕双核 ES
音视频音频处理嵌入式物联网语音
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考