ESP32-LyraT V4.2 入门指南
===========================

:link_to_translation:`en:[English]`

本指南旨在向用户介绍 ESP32-LyraT V4.2 音频开发板的功能、配置选项以及如何快速入门。

ESP32-LyraT 开发板面向搭载 ESP32 双核芯片的音频应用领域，如 Wi-Fi 或蓝牙音箱、语音遥控器以及具备音频功能的智能家居设备等。

如需立即使用此开发板，请直接前往 :ref:`get-started-esp32-lyrat-v4.2-start-development`。


准备工作
----------

* 1 × :ref:`ESP32 LyraT V4.2 开发板 <get-started-esp32-lyrat-v4.2-board>`
* 2 × 扬声器或 3.5 mm 接口的耳机（若使用扬声器，建议功率不超过 3 瓦特，另外需要接口为 JST PH 2.0 毫米 2 针的插头，若没有此插头，开发过程中可替换为杜邦母跳线）
* 2 x Micro-USB 2.0 数据线（Type A 转 Micro B）
* 1 × PC（Windows、Linux 或 Mac OS）


概述
^^^^

ESP32-LyraT V4.2 是一款基于 `乐鑫 <https://espressif.com>`_ ESP32 的音频开发板，专为音频应用市场打造。除 ESP32 芯片原有的硬件外，还提供了可用于音频处理的硬件和扩展 RAM。具体包括以下硬件：

* ESP32-WROVER 模组\ :sup:`*`
* 音频编解码芯片
* 板载双麦克风
* 耳机输入
* 2 x 3 瓦特扬声器输出
* 双辅助输入
* MicroSD 卡槽（一线模式或四线模式）
* 六个按键（2 个物理按键和 4 个触摸按键）
* JTAG 排针
* 集成 USB-UART 桥接芯片
* 锂离子电池充电管理

上标 \ :sup:`*` 表示该产品已进入 EOL 状态。下文中同样适用。

下图展示的是 ESP32-LyraT 的主要组件以及组件之间的连接方式。

.. figure:: ../../../_static/esp32-lyrat-block-diagram.jpg
    :alt: ESP32 LyraT block diagram
    :figclass: align-center

    ESP32-LyraT 开发板框图


功能说明
^^^^^^^^

以下列表和图片介绍了 ESP32-LyraT 开发板的主要组件、接口和控制方式。

ESP32-WROVER 模组\ :sup:`*`
    ESP32-WROVER 模组\ :sup:`*` 采用 ESP32 芯片，可实现 Wi-Fi/蓝牙连接和数据处理，同时集成 32 Mbit SPI flash 和 32 Mbit PSRAM，可实现灵活的数据存储。
红绿 LED 指示灯
    两颗通用 LED，由 ESP32-WROVER 模组\ :sup:`*` 控制，可通过专用 API 指示音频应用程序的特定运行状态。
功能 DIP 开关
    用于配置 GPIO12 至 GPIO15 引脚的复用功能，这些引脚在多个外设之间共享，主要在 JTAG 排针 和 MicroSD 卡 之间复用。默认情况下，MicroSD 卡 处于启用状态，所有开关均置于 *OFF* 位置。若要启用 JTAG 排针，应将第 3、4、5、6 位开关置于 *ON* 位置。若不使用 JTAG，且 MicroSD 卡 以一线模式运行，则可将 GPIO12 和 GPIO13 分配给其他功能。更多详情请参阅 `ESP32 LyraT V4.2 schematic`_。
JTAG 排针
    提供对 ESP32-WROVER 模组\ :sup:`*` JTAG 接口的访问。可用于调试、应用程序烧写，以及实现其他多种功能，例如 `应用层跟踪 <https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/system/app_trace.html>`_。引脚定义请参阅 :ref:`get-started-esp32-lyrat-v4.2-jtag-header`。在使用排针上的 JTAG 信号之前，应启用 功能 DIP 开关。请注意，JTAG 运行时无法使用 MicroSD 卡，应断开 MicroSD 卡，因为部分 JTAG 信号由两个外设共享。
UART 排针
    串行端口：提供 ESP32-WROVER 模组\ :sup:`*` 与 USB-UART 桥接芯片 之间串行 TX/RX 信号的访问。
I2C 排针
    提供对 I2C 接口的访问。ESP32-WROVER 模组\ :sup:`*` 和 音频编解码芯片 均连接至该接口。引脚定义请参阅 :ref:`get-started-esp32-lyrat-v4.2-i2c-header`。
MicroSD 卡
    开发板支持 SPI/1-bit/4-bit 模式下的 MicroSD 卡，可在 MicroSD 卡中存储或播放音频文件。引脚定义请参阅 :ref:`get-started-esp32-lyrat-v4.2-microsd-card-slot`。请注意，MicroSD 卡 运行时无法使用 JTAG，应通过设置 功能 DIP 开关 断开 JTAG，因为部分信号由两个外设共享。
I2S 排针
    提供对 I2S 接口的访问。ESP32-WROVER 模组\ :sup:`*` 和 音频编解码芯片 均连接至该接口。引脚定义请参阅 :ref:`get-started-esp32-lyrat-v4.2-i2s-header`。
左侧麦克风
    板载麦克风，连接至 音频编解码芯片 的 IN1。
AUX 输入
    辅助输入插座，连接至 音频编解码芯片 的 IN2（左右声道）。请使用 3.5 mm 立体声插头连接此插座。
耳机输出
    输出插座，可连接 3.5 mm 立体声耳机。

.. _get-started-esp32-lyrat-v4.2-board:

.. figure:: ../../../_static/esp32-lyrat-v4.2-layout.jpg
    :alt: ESP32 LyraT V4.2 board layout
    :figclass: align-center

    ESP32-LyraT V4.2 开发板布局示意图


右侧麦克风
    板载麦克风，连接至 音频编解码芯片 的 IN1。
左侧扬声器输出
     音频输出插座，可连接扬声器。建议连接 4 欧姆 3 瓦特扬声器。排针间距为 2.00 mm / 0.08"。
右侧扬声器输出
     音频输出插座，可连接扬声器。建议连接 4 欧姆 3 瓦特扬声器。排针间距为 2.00 mm / 0.08"。
PA 芯片
    功率放大器，用于放大来自 音频编解码芯片 的立体声音频信号，以驱动两个扬声器。
启动/复位按键
    启动：按住 Boot 键，然后按下 Reset 键进入固件烧写模式，此时可通过串行端口上传固件。复位：单独按下此按键可重置系统。
触摸按键
    四个触摸板，分别标记为 *Play*、*Sel*、*Vol+* 和 *Vol-*。它们连接至 ESP32-WROVER 模组\ :sup:`*`，用于通过专用 API 开发和测试音频应用程序的用户界面。
音频编解码芯片
    音频编解码芯片 `ES8388 <http://www.everest-semi.com/pdf/ES8388%20DS.pdf>`_ 是一款低功耗立体声编解码器，内置耳机放大器。它由双通道 ADC、双通道 DAC、麦克风放大器、耳机放大器、数字音效处理器、模拟混音和增益控制功能组成。该芯片通过 I2S 和 I2C 总线与 ESP32-WROVER 模组\ :sup:`*` 连接，可在硬件中独立完成音频处理，无需依赖音频应用软件。
EN 排针
    在此排针上安装跳线帽，可启用向 ESP32 自动加载应用程序。应在 IO0 和 EN 两个排针上同时安装或拆除跳线帽。
IO0 排针
    在此排针上安装跳线帽，可启用向 ESP32 自动加载应用程序。应在 IO0 和 EN 两个排针上同时安装或拆除跳线帽。
功能按键
    两个按键，分别标记为 *Rec* 和 *Mode*。它们连接至 ESP32-WROVER 模组\ :sup:`*`，用于通过专用 API 开发和测试音频应用程序的用户界面。
USB-UART 桥接芯片
    单芯片 USB-UART 桥接器，最高传输速率可达 1 Mbps。
USB-UART 接口
    作为 PC 与 ESP32 模组之间的通信接口。
USB 供电接口
    为开发板供电。
待机/充电指示灯
    绿色 待机 指示灯亮起时，表示电源已接入 Micro USB 接口；红色 充电 指示灯亮起时，表示连接至 电池接口 的电池正在充电。
电池充电芯片
    AP5056 单节锂离子电池恒流恒压线性充电芯片。用于通过 Micro USB 接口 为连接至 电池接口 的电池充电。
电源开关
    电源开/关旋钮：向左拨动则开发板电源开启，向右拨动则电源关闭。
电池接口
    两针插座，用于连接单节锂离子电池。
电源指示灯
    红色 LED，表示 电源开关 已开启。

    .. note::

        电源开关 不影响锂离子电池的充电，也不会断开电池充电。


.. _get-started-esp32-lyrat-v4.2-setup-options:

硬件配置选项
^^^^^^^^^^^^

可通过 **功能 DIP 开关** 更改 ESP32-LyraT 开发板的若干硬件配置选项。

启用一线模式 MicroSD 卡
""""""""""""""""""""""""

+---------+-----------------+
|  DIP SW | Position        |
+=========+=================+
|    1    |    OFF          |
+---------+-----------------+
|    2    |    OFF          |
+---------+-----------------+
|    3    |    OFF          |
+---------+-----------------+
|    4    |    OFF          |
+---------+-----------------+
|    5    |    OFF          |
+---------+-----------------+
|    6    |    OFF          |
+---------+-----------------+
|    7    |    OFF :sup:`1` |
+---------+-----------------+
|    8    |    n/a          |
+---------+-----------------+

1. 将 DIP SW 7 拨至 *ON* 可启用 **AUX 输入** 检测

在此模式下：

* **JTAG** 功能不可用
* *Vol-* 触摸按键可通过 API 使用


启用四线模式 MicroSD 卡
""""""""""""""""""""""""

+---------+-----------+
|  DIP SW | Position  |
+=========+===========+
|    1    |    ON     |
+---------+-----------+
|    2    |    ON     |
+---------+-----------+
|    3    |    OFF    |
+---------+-----------+
|    4    |    OFF    |
+---------+-----------+
|    5    |    OFF    |
+---------+-----------+
|    6    |    OFF    |
+---------+-----------+
|    7    |    OFF    |
+---------+-----------+
|    8    |    n/a    |
+---------+-----------+

在此模式下：

* **JTAG** 功能不可用
* *Vol-* 触摸按键无法通过 API 使用
* 无法通过 API 进行 **AUX 输入** 检测


启用 JTAG
"""""""""

+---------+-----------+
|  DIP SW | Position  |
+=========+===========+
|    1    |    OFF    |
+---------+-----------+
|    2    |    OFF    |
+---------+-----------+
|    3    |    ON     |
+---------+-----------+
|    4    |    ON     |
+---------+-----------+
|    5    |    ON     |
+---------+-----------+
|    6    |    ON     |
+---------+-----------+
|    7    |    ON     |
+---------+-----------+
|    8    |    n/a    |
+---------+-----------+

在此模式下：

* **MicroSD 卡** 功能不可用，请从卡槽中取出 MicroSD 卡
* *Vol-* 触摸按键无法通过 API 使用
* 无法通过 API 进行 **AUX 输入** 检测


ESP32 引脚分配
^^^^^^^^^^^^^^

ESP32 模组的若干引脚/端子已分配给板载硬件。其中部分引脚（如 GPIO0 或 GPIO2）具有多种功能。具体详情请参阅下表或 `ESP32 LyraT V4.2 schematic`_。


.. _get-started-esp32-lyrat-v4.2-red-green-led:

红/绿 LED
"""""""""

+---+-----------+-----------+
|   | ESP32 Pin | LED Color |
+===+===========+===========+
| 1 | GPIO19    | Red LED   |
+---+-----------+-----------+
| 2 | GPIO22    | Green LED |
+---+-----------+-----------+

.. _get-started-esp32-lyrat-v4.2-touch-pads:

触摸按键
""""""""

+---+-----------+--------------------+
|   | ESP32 Pin | Touch Pad Function |
+===+===========+====================+
| 1 | GPIO33    | Play               |
+---+-----------+--------------------+
| 2 | GPIO32    | Set                |
+---+-----------+--------------------+
| 3 | GPIO13    | Vol- :sup:`1`      |
+---+-----------+--------------------+
| 4 | GPIO27    | Vol+               |
+---+-----------+--------------------+

1. 若使用 **JTAG**，则 *Vol-* 功能不可用。若 **MicroSD 卡** 配置为四线模式运行，*Vol-* 功能同样不可用。

.. _get-started-esp32-lyrat-v4.2-microsd-card-slot:

MicroSD 卡 / J5
"""""""""""""""

+---+---------------+----------------+
|   | ESP32 Pin     | MicroSD Signal |
+===+===============+================+
| 1 | MTDI / GPIO12 | DATA2          |
+---+---------------+----------------+
| 2 | MTCK / GPIO13 | CD / DATA3     |
+---+---------------+----------------+
| 3 | MTDO / GPIO15 | CMD            |
+---+---------------+----------------+
| 4 | MTMS / GPIO14 | CLK            |
+---+---------------+----------------+
| 5 | GPIO2         | DATA0          |
+---+---------------+----------------+
| 6 | GPIO4         | DATA1          |
+---+---------------+----------------+
| 7 | GPIO21        | CD             |
+---+---------------+----------------+

.. note::
    启用 JTAG 时无法使用 MicroSD 卡。


UART 排针 / JP2
"""""""""""""""

+---+-------------+
|   | Header Pin  |
+===+=============+
| 1 | 3.3V        |
+---+-------------+
| 2 | TX          |
+---+-------------+
| 3 | RX          |
+---+-------------+
| 4 | GND         |
+---+-------------+


EN 与 IO0 排针 / JP23 和 J24
"""""""""""""""""""""""""""""
+---+-------------+-------------+
|   | ESP32 Pin   | Header Pin  |
+===+=============+=============+
| 1 | n/a         | EN_Auto     |
+---+-------------+-------------+
| 2 | EN          | EN          |
+---+-------------+-------------+

+---+-------------+-------------+
|   | ESP32 Pin   | Header Pin  |
+===+=============+=============+
| 1 | n/a         | IO0_Auto    |
+---+-------------+-------------+
| 2 | GPIO0       | IO0         |
+---+-------------+-------------+


.. _get-started-esp32-lyrat-v4.2-i2s-header:

I2S 排针 / JP4
""""""""""""""

+---+----------------+-------------+
|   | I2C Header Pin | ESP32 Pin   |
+===+================+=============+
| 1 | MCLK           | GPI0        |
+---+----------------+-------------+
| 2 | SCLK           | GPIO5       |
+---+----------------+-------------+
| 1 | LRCK           | GPIO25      |
+---+----------------+-------------+
| 2 | DSDIN          | GPIO26      |
+---+----------------+-------------+
| 3 | ASDOUT         | GPIO35      |
+---+----------------+-------------+
| 3 | GND            | GND         |
+---+----------------+-------------+

.. _get-started-esp32-lyrat-v4.2-i2c-header:

I2C 排针 / JP5
""""""""""""""

+---+----------------+-------------+
|   | I2C Header Pin | ESP32 Pin   |
+===+================+=============+
| 1 | SCL            | GPIO23      |
+---+----------------+-------------+
| 2 | SDA            | GPIO18      |
+---+----------------+-------------+
| 3 | GND            | GND         |
+---+----------------+-------------+


.. _get-started-esp32-lyrat-v4.2-jtag-header:

JTAG 排针 / JP7
"""""""""""""""

+---+---------------+-------------+
|   | ESP32 Pin     | JTAG Signal |
+===+===============+=============+
| 1 | MTDO / GPIO15 | TDO         |
+---+---------------+-------------+
| 2 | MTCK / GPIO13 | TCK         |
+---+---------------+-------------+
| 3 | MTDI / GPIO12 | TDI         |
+---+---------------+-------------+
| 4 | MTMS / GPIO14 | TMS         |
+---+---------------+-------------+

.. note::
    启用 MicroSD 卡 时无法使用 JTAG。


功能 DIP 开关 / JP8
"""""""""""""""""""

+---+----------------------+-------------------------+
|   | Switch OFF           | Switch ON               |
+===+======================+=========================+
| 1 | GPIO12 not allocated | MicroSD Card 4-wire     |
+---+----------------------+-------------------------+
| 2 | Touch *Vol-* enabled | MicroSD Card 4-wire     |
+---+----------------------+-------------------------+
| 3 | MicroSD Card         | JTAG                    |
+---+----------------------+-------------------------+
| 4 | MicroSD Card         | JTAG                    |
+---+----------------------+-------------------------+
| 5 | MicroSD Card         | JTAG                    |
+---+----------------------+-------------------------+
| 6 | MicroSD Card         | JTAG                    |
+---+----------------------+-------------------------+
| 7 | MicroSD Card 4-wire  | AUX IN detect :sup:`1`  |
+---+----------------------+-------------------------+
| 8 | not used             | not used                |
+---+----------------------+-------------------------+

1.  系统上电时，**AUX 输入** 信号引脚不应插入插头。否则 ESP32 可能无法正常启动。


.. _get-started-esp32-lyrat-v4.2-start-development:

应用程序开发
------------

ESP32-LyraT 上电之前，请首先确认开发板完好无损，无明显损坏迹象。


初始设置
^^^^^^^^

设置开发板，烧写首个示例应用程序：

1. 在 **IO0** 和 **EN** 排针上安装跳线帽，以启用自动应用程序烧写。若未安装跳线帽，可通过 **Boot** / **RST** 按键触发烧写。
2. 将扬声器连接至 **右侧** 和 **左侧扬声器输出**。也可选择将耳机连接至 **耳机输出**。
3. 将 Micro-USB 数据线插入 PC 以及 ESP32 LyraT 的 **两个 USB 端口**。
4. 绿色 **待机指示灯** 应亮起。假设未连接电池，**充电指示灯** 将每隔几秒闪烁一次。
5. 向左拨动 **电源开关**。
6. 红色 **电源指示灯** 应亮起。

如果指示灯如上述显示，则开发板已准备好烧写应用程序。现在，请按下文介绍在 PC 上安装并配置开发工具。


正式开始开发
^^^^^^^^^^^^

完成开发板的初始设置和检查后，即可开始准备开发工具。请前往 :ref:`get-started-step-by-step` 查看以下步骤：

* :ref:`get-started-setup-esp-idf` 提供一套 ESP32（及 ESP32-S2）芯片的 C 语言通用开发框架；
* :ref:`get-started-get-esp-adf` 安装音频应用程序专用 API；
* :ref:`get-started-set-up-env` 使开发框架能够识别音频专用 API；
* :ref:`get-started-start-project` 为开发板提供音频应用程序示例；
* :ref:`get-started-connect` 准备烧写应用程序；
* :ref:`get-started-build` 最终运行应用程序并播放音乐。


相关文档
--------

* `ESP32 LyraT V4.2 schematic`_ (PDF)
* `ESP32 技术规格书 <https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_cn.pdf>`_ (PDF)
* `JTAG 调试 <https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-guides/jtag-debugging/index.html>`_
* :doc:`get-started-esp32-lyrat-v4`

.. _ESP32 LyraT V4.2 schematic: https://dl.espressif.com/dl/schematics/esp32-lyrat-v4.2-schematic.pdf

免责声明和版权公告
------------------

请参阅 :doc:`免责声明和版权公告 <../../disclaimer-and-copyright>`。
