ESP32-Ethernet-Kit V1.0 入门指南

[English]

本指南介绍了如何使用 ESP32-Ethernet-Kit 开发板以及配置相关功能。

ESP32-Ethernet-Kit 是一款以太网转 Wi-Fi 开发板,可为以太网设备赋予 Wi-Fi 连接功能。为了提供更灵活的电源选项,ESP32-Ethernet-Kit 也同时支持以太网供电 (PoE)。

准备工作

您可以跳过介绍部分,直接前往 应用程序开发 章节。

概述

ESP32-Ethernet-Kit 是一款来自 乐鑫 的开发板,由以太网子板(A 板)和 PoE 子板(B 板)两部分组成。其中 以太网子板(A 板) 贴蓝牙 / Wi-Fi 双模 ESP32-WROVER-B 模组和单端口 10/100 快速以太网收发器 (PHY) IP101GRI。PoE 子板(B 板) 提供以太网供电功能。ESP32-Ethernet-Kit 的 A 板可在不连接 B 板的情况下独立工作。

ESP32-Ethernet-Kit V1.0

ESP32-Ethernet-Kit V1.0

为了实现程序下载和监控,A 板还集成了一款先进多协议 USB 桥接器(FTDI FT2232HL 芯片),进而允许开发人员直接通过 USB 接口,使用 JTAG 对 ESP32 进行调试,无需额外的 JTAG 调试器。

功能概述

ESP32-Ethernet-Kit 开发板的主要组件和连接方式见下。

ESP32-Ethernet-Kit 功能框图(点击放大)

ESP32-Ethernet-Kit 功能框图(点击放大)

功能说明

ESP32-Ethernet-Kit 开发板的主要组件、接口及控制方式见下。

以太网子板(A 板)

ESP32-Ethernet-Kit - 以太网子板(A 板)布局

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 供电。

ESP32-Ethernet-Kit -  PoE 子板(B 板)

ESP32-Ethernet-Kit - PoE 子板(B 板)布局(点击放大)

主要组件 基本介绍
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 用于其他用途。

流控

2 x 2 跳线连接器,可用于 UART 流控功能。

. 信号 备注
MTDO GPIO13,见 功能选择开关
MTCK GPIO15,见 功能选择开关
RTS FT2232 的 RTS 信号
CTS FT2232 的 CTS 信号

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。

注解

  1. ESP32 芯片的 GPIO16 和 GPIO17 管脚没有引出至 ESP32-WROVER-B 模组的管脚,因此无法使用。如需使用 ESP32 的 GP1016 和 GPIO17 管脚,建议更换其他不含 SPIRAM 的模组,比如 ESP32-WROOM-32D 或 ESP32-SOLO-1。
  2. 具体功能取决与 功能选择开关 的设置。

GPIO Header 3

本连接器中 GPIO 的功能取决与 功能选择开关 的设置。

. ESP32 管脚
GPIO15
GPIO13
GPIO12
GPIO14
GND
3V3

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        

注解

  1. GPIO2 用于使能 PHY 的外部振荡器。
  2. GPIO0 用于为 PHY 提供 50 MHz 基准时钟源。为了防止传输线路延迟对时钟相位带来的影响,该时钟信号将首先被反相,而后提供给 PHY。
  3. 为防止 PHY 端 GPIO0 的上电状态受到时钟输出的影响,PHY 的外部晶振将在 ESP32 上电后通过 GPIO2 使能。
  4. ESP32 芯片的 GPIO16 和 GPIO17 管脚没有引出至 ESP32-WROVER-B 模组的管脚,因此无法使用。如需使用 ESP32 的 GP1016 和 GPIO17 管脚,建议更换其他不含 SPIRAM 的模组,比如 ESP32-WROOM-32D 或 ESP32-SOLO-1。

应用程序开发

ESP32-Ethernet-Kit 上电前,请首先确认开发板完好无损。

初始设置

  1. 首先,请将 以太网子板(A 板) 上的所有开关均拨至 ON 状态,即使 功能选择开关 处于默认状态。
  2. 为了方便应用程序的下载和测试,此时请不要在开发板安装任何条线帽,也不要为开发板接入任何信号。
  3. 此时可以连接 PoE 子板(B 板),但不要向 B 板连接任何外部电源。
  4. 使用 USB 数据线将 以太网子板(A 板) 连接至 PC。
  5. 电源开关 从 GND 拨至 5V0 一侧。此时,5V Power On LED 应点亮。

正式开始开发

现在,请前往 快速入门(CMake) 中的 详细安装步骤 章节,查看如何设置开发环境,并尝试将示例项目烧录至您的开发板。

如需使用较早 GNU Make 编译系统,则请参考 详细安装步骤 章节。

请务必在进入下一步前,确保您已完成上述所有步骤。

配置与加载以太网示例

在完成开发环境设置和开发板测试后,您可以配置并烧录 ethernet/ethernet 示例。本示例专门用于测试以太网功能,支持不同 PHY,包括 ESP32-Ethernet-Kit V1.0 开发板 使用的 IP101GRI