ESP32-Ethernet-Kit V1.0 入门指南¶
本指南介绍了如何使用 ESP32-Ethernet-Kit 开发板以及配置相关功能。
ESP32-Ethernet-Kit 是一款以太网转 Wi-Fi 开发板,可为以太网设备赋予 Wi-Fi 连接功能。为了提供更灵活的电源选项,ESP32-Ethernet-Kit 也同时支持以太网供电 (PoE)。
准备工作¶
- ESP32-Ethernet-Kit V1.0 开发板
- USB 数据线(A 转 Micro-B)
- PC(Windows、Linux 或 Mac OS)
您可以跳过介绍部分,直接前往 应用程序开发 章节。
概述¶
ESP32-Ethernet-Kit 是一款来自 乐鑫 的开发板,由以太网子板(A 板)和 PoE 子板(B 板)两部分组成。其中 以太网子板(A 板) 贴蓝牙 / Wi-Fi 双模 ESP32-WROVER-B 模组和单端口 10/100 快速以太网收发器 (PHY) IP101GRI。PoE 子板(B 板) 提供以太网供电功能。ESP32-Ethernet-Kit 的 A 板可在不连接 B 板的情况下独立工作。
为了实现程序下载和监控,A 板还集成了一款先进多协议 USB 桥接器(FTDI FT2232HL 芯片),进而允许开发人员直接通过 USB 接口,使用 JTAG 对 ESP32 进行调试,无需额外的 JTAG 调试器。
功能说明¶
ESP32-Ethernet-Kit 开发板的主要组件、接口及控制方式见下。
以太网子板(A 板)¶
下表将从图片右上角开始,以顺时针顺序介绍图中的主要组件。
主要组件 | 基本介绍 |
---|---|
ESP32-WROVER-B 模组 | 这款 ESP32 模组内置 64-Mbit PSRAM,可提供灵活的额外存储空间和数据处理能力。 |
GPIO Header 2 | 由 5 个未引出通孔组成,可连接至 ESP32 的部分 GPIO。具体介绍,请见 GPIO Header 2。 |
流控 | 跳线帽,可接入开发板信号。具体介绍,请见 流控。 |
功能选择开关 | DIP 开关,可配置 ESP32 部分 GPIO 的功能。具体介绍,请见 功能选择开关。 |
Tx/Rx LED | 2 个 LED,可显示 UART 传输的状态。 |
GPIO Header 3 | 可连接至 ESP32 的部分 GPIO,根据 功能选择开关 的位置有不同功能。 |
FT2232 | FT2232 多协议 USB 转串口桥接器。开发人员可通过 USB 接口对 FT2232 芯片进行控制和编程,与 ESP32 建立连接。FT2232 芯片可在通道 A 提供 USB-to-JTAG 接口功能,并在通道 B 提供 USB-to-Serial 接口功能,便利开发人员的应用开发与调试。见 ESP32-Ethernet-Kit V1.0 以太网子板(A 板)原理图。 |
USB 端口 | USB 接口。可用作开发板的供电电源,或连接 PC 和开发板的通信接口。 |
电源开关 | 电源开关。拨向 Boot 按键一侧,开发板上电;拨离 Boot 按键一侧,开发板掉电。 |
5V Input | 5V 电源接口建议仅在开发板自动运行(未连接 PC)时使用。仅用于全负荷工作下的后备电源。 |
5V Power On LED | 当开发板通电后(USB 或外部 5V 供电),该红色指示灯将亮起。 |
DC/DC 转换器 | 直流 5 V 转 3.3 V,输出电流高达 2 A。 |
B 板连接器 | 1 对 2 针排针,用于连接 PoE 子板(B 板)。 |
IP101GRI (PHY) | 物理层 (PHY) 单端口10/100 快速以太网收发器 IP101GRI ,允许开发人员实现与以太网线缆的物理层连接。PHY 与 ESP32 通过简化媒体独立接口 (RMII) 实现连接。RMII 是 媒体独立接口 (MII) 的简化版本。PHY 可在 10/100 Mbps 速率下支持 IEEE 802.3 / 802.3u 标准。 |
RJ45 端口 | 以太网数据传输断口。 |
网络变压器 | 网络变压器属于以太网物理层的一部分,可保护电路免受故障和电压瞬变影响,包括防止收发器芯片和线缆之间产生共模信号。同时它也可以在收发器与以太网设备之间提供电流隔绝。 |
Link/Activity LED | 2 个 LED(绿色和红色),可分别显示 PHY 处于 “Link” 状态或 “Activity” 状态。 |
BOOT 按键 | 下载按键。按下 BOOT 键并保持,同时按一下 EN 键(此时不要松开 BOOT 键)进入“固件下载”模式,通过串口下载固件。 |
CH_PU 按键 | 复位按键。 |
GPIO Header 1 | 由 6 个未引出通孔组成,可连接至 ESP32 的备用 GPIO。具体介绍,请见 GPIO Header 1。 |
PoE 子板(B 板)¶
PoE 子板通过以太网电缆传输电能 (PoE),为以太网子板(A 板)提供电源。PoE 子板(B 板)的主要组件见 功能概述 中的功能框图。
PoE 子板(B 板)具有以下特性:
- 支持 IEEE 802.3at
- 电源输出:5 V,1.4 A
如需使用 PoE 功能,请用以太网线缆将以太网子板(A 板)上的 RJ45 端口 连接至 PoE 的交换机。太网子板(A 板)检测到来自 PoE 子板(B 板)的 5 V 供电后,将从 USB 供电自动切换至 PoE 供电。
主要组件 | 基本介绍 |
---|---|
A 板连接器 | 1 个 4 针排母,用于将 B 板连接至 以太网子板(A 板)。 |
外部电源终端 | PoE 子板(B 板)备用电源。 |
设置选项¶
本节介绍用于 ESP32-Ethernet-Kit 开发板的硬件配置选项。
功能选择开关¶
用户可使用 功能选择开关 配置特定 GPIO 管脚的功能。
DIP SW | GPIO 管脚 | 管脚功能( DIP SW 开启状态) |
---|---|---|
GPIO14 | 连接至 FT2232,提供 JTAG 功能 | |
GPIO12 | 连接至 FT2232,提供 JTAG 功能 | |
GPIO13 | 连接至 FT2232,提供 JTAG 功能 | |
GPIO15 | 连接至 FT2232,提供 JTAG 功能 | |
GPIO4 | 连接至 FT2232,提供 JTAG 功能 | |
GPIO2 | 连接至板上 25 MHz 晶振 | |
GPIO5 | 连接至 IP101GRI 的 RESET_N 输入 | |
n/a |
用户还可以关闭 DIP DW,将部分 GPIO 用于其他用途。
GPIO 分配¶
本节介绍了 ESP32-Ethernet-Kit 开发板特定接口或功能的 GPIO 分配情况。
IP101GRI (PHY) 接口¶
ESP32 (MAC) 与 IP101GRI (PHY) 的管脚对应关系见下:
. | ESP32 管脚 (MAC) | IP101GRI (PHY) |
---|---|---|
RMII 接口 | ||
GPIO21 | TX_EN | |
GPIO19 | TXD[0] | |
GPIO22 | TXD[1] | |
GPIO25 | RXD[0] | |
GPIO26 | RXD[1] | |
GPIO27 | CRS_DV | |
GPIO0 | REF_CLK | |
串行管理接口 | ||
8 | GPIO23 | MDC |
9 | GPIO18 | MDIO |
PHY 复位 | ||
10 | GPIO5 | Reset_N |
注解
除了 REF_CLK 之外,RMII 接口 下的所有管脚分配都是固定的,不能通过 IOMUX 或 GPIO 矩阵进行更改。
GPIO Header 1¶
本连接器包括 ESP32-Ethernet-Kit 开发板上部分不用做他用的 GPIO。
. | ESP32 管脚 |
---|---|
GPIO32 | |
GPIO33 | |
GPIO34 | |
GPIO35 | |
GPIO36 | |
GPIO39 |
GPIO Header 2¶
本连接器包括具有特定 RMII 功能的 GPIO(GPIO2 除外)。根据具体情况,部分以太网应用程序可能需要使用此功能。
. | ESP32 管脚 | RMII 功能 | 说明 |
---|---|---|---|
GPIO17 | EMAC_CLK_180 | 见说明 1。 | |
GPIO16 | EMAC_CLK_OUT | 见说明 1。 | |
GPIO4 | EMAC_TX_ER | ||
GPIO2 | n/a | 见说明 2。 | |
GPIO5 | EMAC_RX_CLK | 见说明 2。 |
注解
- ESP32 芯片的 GPIO16 和 GPIO17 管脚没有引出至 ESP32-WROVER-B 模组的管脚,因此无法使用。如需使用 ESP32 的 GP1016 和 GPIO17 管脚,建议更换其他不含 SPIRAM 的模组,比如 ESP32-WROOM-32D 或 ESP32-SOLO-1。
- 具体功能取决与 功能选择开关 的设置。
GPIO 管脚分配¶
ESP32-WROVER-B | IP101GRI | UART | JTAG | GPIO | 说明 |
---|---|---|---|---|---|
S_VP | IO36 | ||||
S_VN | IO39 | ||||
IO34 | IO34 | ||||
IO35 | IO35 | ||||
IO32 | IO32 | ||||
IO33 | IO33 | ||||
IO25 | RXD[0] | ||||
IO26 | RXD[1] | ||||
IO27 | CRS_DV | ||||
IO14 | TMS | IO14 | |||
IO12 | TDI | IO12 | |||
IO13 | RTS | TCK | IO13 | ||
IO15 | CTS | TDO | IO15 | ||
IO2 | IO2 | 见下方说明 1 和说明 3。 | |||
IO0 | REF_CLK | 见下方说明 2 和说明 3。 | |||
IO4 | nTRST | IO4 | |||
IO16 | IO16 (NC) | 见下方说明 4。 | |||
IO17 | IO17 (NC) | 见下方说明 4。 | |||
IO5 | Reset_N | IO5 | |||
IO18 | MDIO | ||||
IO19 | TXD[0] | ||||
IO21 | TX_EN | ||||
RXD0 | RXD | ||||
TXD0 | TXD | ||||
IO22 | TXD[1] | ||||
IO23 | MDC |
注解
- GPIO2 用于使能 PHY 的外部振荡器。
- GPIO0 用于为 PHY 提供 50 MHz 基准时钟源。为了防止传输线路延迟对时钟相位带来的影响,该时钟信号将首先被反相,而后提供给 PHY。
- 为防止 PHY 端 GPIO0 的上电状态受到时钟输出的影响,PHY 的外部晶振将在 ESP32 上电后通过 GPIO2 使能。
- ESP32 芯片的 GPIO16 和 GPIO17 管脚没有引出至 ESP32-WROVER-B 模组的管脚,因此无法使用。如需使用 ESP32 的 GP1016 和 GPIO17 管脚,建议更换其他不含 SPIRAM 的模组,比如 ESP32-WROOM-32D 或 ESP32-SOLO-1。
应用程序开发¶
ESP32-Ethernet-Kit 上电前,请首先确认开发板完好无损。
初始设置¶
- 首先,请将 以太网子板(A 板) 上的所有开关均拨至 ON 状态,即使 功能选择开关 处于默认状态。
- 为了方便应用程序的下载和测试,此时请不要在开发板安装任何条线帽,也不要为开发板接入任何信号。
- 此时可以连接 PoE 子板(B 板),但不要向 B 板连接任何外部电源。
- 使用 USB 数据线将 以太网子板(A 板) 连接至 PC。
- 将 电源开关 从 GND 拨至 5V0 一侧。此时,5V Power On LED 应点亮。
正式开始开发¶
现在,请前往 快速入门(CMake) 中的 详细安装步骤 章节,查看如何设置开发环境,并尝试将示例项目烧录至您的开发板。
如需使用较早 GNU Make 编译系统,则请参考 详细安装步骤 章节。
请务必在进入下一步前,确保您已完成上述所有步骤。
配置与加载以太网示例¶
在完成开发环境设置和开发板测试后,您可以配置并烧录 ethernet/ethernet 示例。本示例专门用于测试以太网功能,支持不同 PHY,包括 ESP32-Ethernet-Kit V1.0 开发板 使用的 IP101GRI。