原理图设计

[English]

概述

ESP32-S31 系列芯片的核心电路只需要 30 个左右的电阻电容电感和 1 个无源晶振,以及 1 个 SPI flash。为了能够更好地保证 ESP32-S31 系列芯片的工作性能,本章将详细介绍 ESP32-S31 系列芯片的原理图设计。

下图所示为 ESP32-S31 的核心电路参考设计,您可以将它作为您的原理图设计的基础。

备注

核心电路已经是最小电路,请不要随意删减器件。

ESP32-S31 系列芯片参考设计原理图

ESP32-S31 系列芯片参考设计原理图

ESP32-S31 系列芯片的核心电路图的设计有以下重要组成部分:

下文将分别对这些部分进行描述。

电源

电源电路设计的通用要点有:

  • 使用单电源供电时,建议供给 ESP32-S31 的电源电压为 3.3 V,最大输出电流至少 800 mA。

  • 建议在总电源入口处(外部电源接入 PCB 的位置)添加 ESD 保护器件和至少 10 μF 的大电容。

电源管理如图 ESP32-S31 系列芯片电源管理图 所示。

ESP32-S31 系列芯片电源管理图

ESP32-S31 系列芯片电源管理图

有关电源管脚的更多信息,请查看 ESP32-S31 系列芯片技术规格书 > 章节 电源

数字电源

  • ESP32-S31 的管脚 VDDPST_1 是电源输入管脚,与数字 LP 电源域相关,工作电压范围为 3.0 V ~ 3.6 V。建议在电路中靠近该电源管脚处添加 0.1 μF 电容。

  • 管脚 VDDPST_3 和 VDDPST_4 是电源输入管脚,与数字 HP 电源域相关,工作电压范围为 3.0 V ~ 3.6 V。建议在电路中靠近这两个电源管脚处分别添加 0.1 μF 电容。

  • 管脚 VCCA/VDDPST_2 是电源输入管脚,与 USB_PHY 和数字 HP 电源域相关,工作电压范围为 3.0 V ~ 3.6 V。建议在电路中靠近该电源管脚处添加 0.1 μF 电容。

  • 管脚 VDD_SPI 是电源输入/输出管脚,与 flash 电源域相关,推荐使用 VDD_SPI 输出电源给封装外 flash 供电。建议靠近该电源管脚和 flash 处添加 0.1 μF 及 1 μF 去耦电容。

当前管脚 VDD_SPI 只能输出 3.3 V,同时请在 GPIO36 外部添加上拉电阻。

  • 管脚 VDD_PSRAM_1P8_1 和 VDD_PSRAM_1P8_2 是电源输入管脚,与 PSRAM 电源域相关。建议在电路中靠近这两个电源管脚处分别添加 0.1 μF 及 1 μF 电容。

  • 管脚 VDD_LDO_1P8 是电源输出管脚,可作为输出电源给封装内 PSRAM、封装外 flash 和内部 SD GPIO 使用。

推荐使用 VDD_LDO_1P8 输出电源给封装内 PSRAM 供电,即将 VDD_PSRAM_1P8_1 和 VDD_PSRAM_1P8_2 连接至 VDD_LDO_1P8。

ESP32-S31 系列芯片 PSRAM 电源电路图

ESP32-S31 系列芯片 PSRAM 电源电路图

模拟电源

ESP32-S31 的 VDDA1 至 VDDA4 管脚 为模拟电源管脚,工作电压范围为 3.0 V ~ 3.6 V。

建议在电路中靠近 VDDA1 和 VDDA2 电源管脚处添加 10 nF 和 1 μF 电容。

对于 VDDA3 和 VDDA4,当 ESP32-S31 工作在 TX 时,瞬间电流会加大,往往引起电源的轨道塌陷。所以在电路设计时建议在 VDDA3 和 VDDA4 的电源走线上增加一个 10 μF 电容,该电容可与 1 μF 电容或其他电容搭配使用。

建议在总电源入口添加另一个 10 μF 电容。如果总电源入口靠近 VDDA3 和 VDDA4,可以合并仅使用一个 10 μF 电容。

另外,在靠近 VDDA3 和 VDDA4 处还需添加 LC 滤波电路,用于抑制高频谐波,同时请注意该电感的额定电流最好在 500 mA 及以上。

其余电容电路请参考 ESP32-S31 系列芯片参考设计原理图

上电时序与复位

ESP32-S31 的 CHIP_PU 管脚为高电平时使能芯片,为低电平时复位芯片。

当 ESP32-S31 使用 3.3 V 系统电源供电时,电源轨需要一些时间才能稳定,之后才能拉高 CHIP_PU,激活芯片。因此,CHIP_PU 管脚上电要晚于系统电源 3.3 V 上电。

复位芯片时,复位电压 VIL_nRST 范围应为 (–0.3 ~ 0.15 × VDDPST_1) V。为防止外界干扰引起重启,CHIP_PU 管脚引线需尽量短一些。

ESP32-S31 系列芯片上电和复位时序图 为 ESP32-S31 系列芯片的上电、复位时序图。

ESP32-S31 系列芯片上电和复位时序图

ESP32-S31 系列芯片上电和复位时序图

上电和复位时序参数说明见表 上电和复位时序参数说明

上电和复位时序参数说明

参数

说明

最小值 (ms)

tSTBL

CHIP_PU 管脚拉高激活芯片前,VDDA1、VDDA2、VDDA3、VDDA4、VDDPST_1、VDDPST_2、VDDPST_3、VDDPST_4 达到稳定所需的时间

1

tRST

CHIP_PU 电平低于 VIL_nRST 从而复位芯片的时间

1

注意

  • CHIP_PU 管脚不可浮空。

  • 为确保芯片上电和复位时序正常,一般采用的方式是在 CHIP_PU 管脚处增加 RC 延迟电路。RC 通常建议为 R = 10 kΩ,C = 1 μF,但具体数值仍需根据实际的电源特性配合芯片的上电、复位时序进行调整。

  • 如果应用中存在以下场景:

    • 电源缓慢上升或下降,例如电池充电;

    • 需要频繁上下电的操作;

    • 供电电源不稳定,例如光伏发电。

    此时,仅仅只有 RC 电路不一定能够满足时序要求,有概率会导致芯片无法进入正常的工作模式或者 flash 擦除操作可能偶尔无法彻底完成从而出现问题。此时,请预留电源监控芯片,保证在电源异常的情况下可以复位芯片,电源监控芯片的阈值建议 3.0 V 左右。

Flash 及 PSRAM

目前 ESP32-S31 系列芯片固件仅支持 NOR flash。

ESP32-S31 需要配合封装外 flash 一起使用,用于存储应用的固件和数据。ESP32-S31 支持以 SPI、Dual SPI、Quad SPI/QPI 等接口模式连接 flash,最大可支持 256 MB flash。

ESP32-S31 内部封装了八线、1.8 V 工作电压的 PSRAM,但是 PSRAM 的管脚并没有引出芯片。

芯片与封装外 flash 的管脚对应关系 列出了所有 SPI 模式下芯片与 flash 的管脚对应关系。

芯片与封装外 flash 的管脚对应关系

管脚序号

管脚名称

Single SPI

Dual SPI

Quad SPI/QPI

36

SPICS

CS#

CS#

CS#

37

SPIQ

DO

DO

DO

38

SPIWP

WP#

WP#

WP#

40

SPIHD

HOLD#

HOLD#

HOLD#

41

SPICLK

CLK

CLK

CLK

42

SPID

DI

DI

DI

为了减少软件适配的风险,推荐使用乐鑫官方适配过的 flash 型号,具体选型请咨询商务或者技术团队。建议如图 ESP32-S31 系列芯片封装外 Flash 电路图 所示在 SPI 线上预留 0 Ω 串联电阻,以便在需要时进行灵活调整,实现降低驱动电流、减小对射频的干扰、调节时序、提升抗干扰能力等功能。

ESP32-S31 系列芯片封装外 Flash 电路图

ESP32-S31 系列芯片封装外 Flash 电路图

时钟源

ESP32-S31 外部可以有两个时钟源:

外置主晶振时钟源(必选)

目前 ESP32-S31 系列芯片固件仅支持 40 MHz 晶振。

ESP32-S31 的无源晶振部分电路如图 ESP32-S31 系列芯片无源晶振电路图。注意,选用的无源晶振自身精度需在 ±10 ppm。

ESP32-S31 系列芯片无源晶振电路图

ESP32-S31 系列芯片无源晶振电路图

XTAL_P 时钟走线上必须添加一个串联电感,初始建议使用 24 nH (0201)。该电感作为系统正常启动的必须的元器件,即使不使用射频功能也需要该电感,也可以用来减弱晶振高频谐波对射频性能的影响,最终值需要通过测试后确认。

外部匹配电容 C1 和 C2 的初始值可参考以下公式来决定:

\[C_L = \frac{C1 \times C2} {C1+C2} + C_{stray}\]

其中 CL (负载电容)的值可查看所选择晶振的规格书,Cstray 的值为 PCB 的寄生电容。C1 和 C2 的最终值需要通过对系统测试后进行调节确定。调试方法如下:

  1. 通过 认证测试工具,选择 TX tone 模式。

  2. 使用综测仪或者频谱仪查看 2.4 GHz 信号,解调得到实际频偏。

  3. 通过调整外置负载电容,把频偏调整到 ±10 ppm(室温)以内。

  • 当中心频率偏正时,说明等效负载电容偏小,需要增加外置负载电容。

  • 当中心频率偏负时,说明等效负载电容偏大,需要减小外置负载电容。

  • 通常两个外置负载电容相等,在特殊情况下,也可以有略微差异。

备注

  • 尽管 ESP32-S31 内部带有自校准功能,但是自身频偏过大(例如大于 ±10 ppm)、工作温度范围内稳定度不高等晶振本身的质量问题仍然会影响芯片的正常工作,导致射频指标性能下降。

  • 建议晶振的幅值大于 500 mV。

  • 如果出现功能性的 Wi-Fi 或蓝牙无法连接,排除软件原因后,可以采用上文中的方法,通过调节晶振的电容来保证频偏满足要求。

RTC 时钟源(可选)

ESP32-S31 支持外置 32.768 kHz 的无源晶振作为 RTC 时钟。使用外部 RTC 时钟源是为了使时间更准确,从而降低平均功耗,但对于功能没有任何影响。

外置 32.768 kHz 无源晶振的电路如图 ESP32-S31 系列芯片外置 32.768 kHz 无源晶振电路图 所示。

ESP32-S31 系列芯片外置 32.768 kHz 无源晶振电路图

ESP32-S31 系列芯片外置 32.768 kHz 无源晶振电路图

请注意 32.768 kHz 晶振选择要求:

  • 等效内阻 (ESR) ≤ 70 kΩ。

  • 两端负载电容值根据晶振的规格要求进行配置。

并联电阻 R 用于偏置晶振电路,电阻值要求 5 MΩ < R ≤ 10 MΩ。

该电阻一般无需上件。

如果不需要该 RTC 时钟源,则 32.768 kHz 晶振的管脚也可配置为通用 GPIO 口使用。

射频

射频电路

ESP32-S31 系列芯片的射频电路主要由三部分组成:PCB 板射频走线、芯片匹配电路、天线及其匹配电路。各部分电路应满足以下设计规范:

  • PCB 板射频走线:需进行 50 Ω 阻抗控制。

  • 芯片匹配电路:请尽量靠近芯片放置,优先采用 CLCCL 结构。

  • 天线及其匹配电路:为保证辐射性能,建议天线的输入阻抗为 50 Ω 左右。为保险起见,推荐在靠近天线位置增加一组 CLC 匹配电路,用于调节天线的输入阻抗。

  • 整体匹配电路建议至少有两组 CLC 结构。

ESP32-S31 系列芯片射频匹配电路图

ESP32-S31 系列芯片射频匹配电路图

射频调试

射频匹配网络的参数值和 PCB 板有关,不要直接使用模组的匹配值,须按照下述射频调试进行确认。

ESP32-S31 射频调试示意图 展示了射频调试的大概过程。

ESP32-S31 射频调试示意图

ESP32-S31 射频调试示意图

将芯片匹配电路靠近芯片的端口定义为端口 1,将其靠近天线的端口定义为端口 2,则 S11 用来描述从端口 1 反射回来的信号功率与输入信号功率之比,如果匹配阻抗与芯片阻抗共轭,则传输性能最佳。S21 用来描述从端口 1 到端口 2 的信号功率传输损耗。如果 S11 接近芯片共轭阻抗点 40+j0,且 S21 在 4.8 GHz 和 7.2 GHz 频率下小于 -35 dB,则匹配电路可满足传输要求。

将芯片匹配电路的两端分别接到综测仪上,测试其信号反射参数 S11 及传输参数 S21。调试该匹配电路中元件的数值,直至 S11 和 S21 满足上述要求。如果芯片的 PCB 板严格设计遵循章节 PCB 版图布局 里的规范,用户可以参考表 匹配电路元器件推荐数值范围 来调试该匹配电路。

射频匹配器件请采用 0201 物料,芯片端匹配电路的第一个电容需要添加枝节。

备注

如果不需要射频功能,建议不要在固件中初始化射频堆栈。此时,射频管脚可以悬空。如果启用射频功能,请确保已连接天线,否则可能导致系统不稳定或射频电路损坏。

UART

ESP32-S31 有 4 个 UART 接口,即 UART0 ~ UART3。U0TXD 和 U0RXD 默认为 GPIO58 和 GPIO59,其他 UART 信号可以通过 GPIO 交换矩阵功能配置到任意空闲的 GPIO 管脚上。

ESP32-S31 还有 1 个 LP UART,可以配置到任意 LP GPIO 管脚上。

UART0 通常作为下载和 log 打印的串口。关于如何使用 UART0 进行下载,请参考章节 下载指导。U0TXD 线上建议串联 499 Ω 电阻用于抑制谐波。

应用通信建议优先使用 UART0 以外的 UART,并在 TX 线上串联电阻用于抑制谐波。

SPI

在使用 SPI 功能时,为了提高 EMC 性能,请在 SPI_CLK 线上添加串联电阻(或磁珠)以及对地电容。如果空间允许,建议在其他 SPI 线上也添加串联电阻和对地电容。另外,请确保 RC/LC 器件靠近芯片或模组的管脚放置。

Strapping 管脚

芯片每次上电或复位时,都需要一些初始配置参数,如加载芯片的启动模式等。这些参数通过 strapping 管脚控制。复位放开后,strapping 管脚和普通 IO 管脚功能相同。

GPIO37、GPIO60 和 GPIO61 为 strapping 管脚。

所有的 strapping 管脚信息,可参考 ESP32-S31 系列芯片技术规格书 > 章节 启动配置项

下面主要介绍和启动模式有关的 strapping 管脚信息。

芯片复位释放后,GPIO60 和 GPIO61 共同决定启动模式,详见表 芯片启动模式控制

芯片启动模式控制

启动模式

GPIO61

GPIO60

SPI Boot(默认)

1

任意值

Joint Download Boot

0

1

备注

  • 加粗 表示默认值和默认配置。

  • Joint Download Boot 模式下支持以下下载方式:

    • USB-Serial-JTAG Download Boot

    • USB-OTG Download Boot

    • UART Download Boot

    • GPSPI Download Boot

除了 SPI Boot 和 Joint Download Boot 模式,ESP32-S31 还支持 SPI Download Boot 模式。

Strapping 管脚的时序参数包括 建立时间保持时间。更多信息,详见图 Strapping 管脚的时序参数图 和表 Strapping 管脚的时序参数说明

Strapping 管脚的时序参数图

Strapping 管脚的时序参数图

Strapping 管脚的时序参数说明

参数

说明

最小值 (ms)

tSU

建立时间,即拉高 CHIP_PU 激活芯片前,电源轨达到稳定所需的时间

0

tH

保持时间,即 CHIP_PU 已拉高、strapping 管脚变为普通 IO 管脚开始工作前,可读取 strapping 管脚值的时间

3

注意

  • 建议在 GPIO61 管脚处预留上拉电阻。

  • 不要在 GPIO61 管脚处添加较大的电容,可能会导致进入下载模式。

外置阻容

ESP32-S31 系列芯片有以下需要外接电容的管脚:

  • VREF_TOUCH 是 TOUCH 参考电压电容管脚,建议在电路中靠近该管脚处添加 0.47 μF 电容。如果不使用 TOUCH 功能,该管脚可以悬空。

  • VREF_ADC 是 ADC 参考电压电容管脚,建议在电路中靠近该管脚处添加 0.1 μF 电容。如果不使用 ADC 功能,该管脚可以悬空。

GPIO

ESP32-S31 系列芯片通过 IO MUX 表格或者 GPIO 交换矩阵来配置 GPIO。IO MUX 是默认的外设管脚配置(详见 ESP32-S31 系列芯片技术规格书 > 附录 ESP32-S31 管脚总览),GPIO 交换矩阵用于将可以配置的外设信号传输至 GPIO 管脚。更多关于 IO MUX 和 GPIO 交换矩阵的信息,请参考 ESP32-S31 技术参考手册 > 章节 IO MUX 和 GPIO 交换矩阵

部分外设的 GPIO 管脚是固定的,部分是可以任意配置的,具体信息请参考 ESP32-S31 系列芯片技术规格书 > 章节 外设

使用 GPIO 时,请注意:

  • Strapping 管脚的上电状态。

  • 请注意 GPIO 复位后的默认配置,详见下表。对于未使用、处于高阻态且无内部上下拉的管脚,建议配置上拉或下拉电阻,或在软件初始化时开启内部上下拉,以避免不必要的耗电,具体方向按外部电路要求选择。

  • 避免使用 flash 占用的管脚。

  • Deep-sleep 模式下只能控制 LP GPIO,即 GPIO0 至 GPIO7。

IO 管脚默认配置

管脚序号

管脚名称

供电管脚

复位时

复位后

1

ANT

2

VDDA3

3

VDDA4

4

CHIP_PU

5

XTAL_32K_N/GPIO0

VDDPST_1

6

XTAL_32K_P/GPIO1

VDDPST_1

7

GPIO2

VDDPST_1

8

GPIO3

VDDPST_1

9

GPIO4

VDDPST_1

10

GPIO5

VDDPST_1

11

VDDPST_1

12

GPIO6

VDDPST_1

13

GPIO7

VDDPST_1

14

GPIO8

VDDPST_1

IE

15

GPIO9

VDDPST_1

IE

16

GPIO10

VDDPST_1

IE

17

GPIO11

VDDPST_1

IE

18

VREF_TOUCH

19

GPIO12

VDDPST_1

IE

20

GPIO13

VDDPST_1

IE

21

GPIO14

VDDPST_1

IE

22

GPIO15

VDDPST_1

IE

23

GPIO16

VDDPST_1

IE

24

GPIO17

VDDPST_1

IE

25

GPIO18

VDDPST_1

IE

26

GPIO19

VDDPST_1

IE

27

SDIO_DATA0

VDDPST_SD

IE

28

SDIO_DATA1

VDDPST_SD

IE

29

SDIO_DATA2

VDDPST_SD

IE

30

VDD_PSRAM_1P8_1

31

SDIO_DATA3

VDDPST_SD

IE

32

SDIO_CLK

VDDPST_SD

IE

33

SDIO_CMD

VDDPST_SD

IE

34

VDD_PSRAM_1P8_2

35

VDD_LDO_1P8

36

SPICS

VDD_SPI

WPU

WPU, IE

37

SPIQ

VDD_SPI

WPU

WPU, IE

38

SPIWP

VDD_SPI

WPU

WPU, IE

39

VDD_SPI

40

SPIHD

VDD_SPI

WPU

WPU, IE

41

SPICLK

VDD_SPI

WPU

WPU, IE

42

SPID

VDD_SPI

WPU

WPU, IE

43

VCCA/VDDPST_2

44

USB_DP

VDDPST_2

45

USB_DM

VDDPST_2

46

GPIO33

VDDPST_3

DRV=3

USB_PU, IE, DRV=3

47

GPIO34

VDDPST_3

DRV=3

USB_PU, IE, DRV=3

48

GPIO35

VDDPST_3

IE

49

GPIO36

VDDPST_3

IE

IE

50

GPIO37

VDDPST_3

IE

IE

51

GPIO38

VDDPST_3

IE

IE

52

GPIO39

VDDPST_3

IE

IE

53

GPIO40

VDDPST_3

IE

IE

54

VDDPST_3

55

GPIO42

VDDPST_3

IE

56

GPIO43

VDDPST_3

IE

57

GPIO44

VDDPST_3

IE

58

GPIO45

VDDPST_3

IE

59

GPIO46

VDDPST_3

IE

60

GPIO47

VDDPST_3

IE

61

GPIO48

VDDPST_3

62

GPIO49

VDDPST_3

63

VREF_ADC

64

VDDPST_4

65

GPIO50

VDDPST_4

66

GPIO51

VDDPST_4

67

GPIO52

VDDPST_4

IE

68

GPIO53

VDDPST_4

IE

69

MTDO

VDDPST_4

IE

70

MTCK

VDDPST_4

IE

71

MTDI

VDDPST_4

IE

72

MTMS

VDDPST_4

IE

73

GPIO58

VDDPST_4

IE

74

GPIO59

VDDPST_4

IE

75

GPIO60

VDDPST_4

WPU, IE

WPU, IE

76

GPIO61

VDDPST_4

WPU, IE

WPU, IE

77

VDDA1

78

XTAL_N

79

XTAL_P

80

VDDA2

81

GND

  • IE – 输入使能

  • WPU – 内部弱上拉电阻使能

  • DRV – 驱动强度

    • 取值 0 ~ 3 分别对应约 5、10、20、40 mA。

    • GPIO33、GPIO34 管脚的默认驱动电流为 40 mA,其余 IO 管脚的默认驱动电流均为 20 mA。

  • USB_PU – USB 上拉电阻使能

    • USB 管脚(GPIO33 和 GPIO34)默认开启 USB 功能,此时管脚是否上拉由 USB 上拉电阻决定。USB 上拉由 USB_SERIAL_JTAG_DP/DM_PULLUP 控制,USB 上拉电阻的具体阻值可通过 USB_SERIAL_JTAG_PULLUP_VALUE 位控制。

    • USB 管脚关闭 USB 功能时,用作普通 GPIO,默认禁用管脚内部弱上/下拉电阻,可通过 IO_MUX_GPIOn_MCU_WPU/WPD 配置。

ADC

ADC 功能对应的 GPIO 管脚如下表所示。

ADC 功能

GPIO 管脚

ADC 功能

GPIO42

ADC1_CH0_N

GPIO43

ADC1_CH0_P

GPIO44

ADC1_CH1_N

GPIO45

ADC1_CH1_P

GPIO46

ADC1_CH2_N

GPIO47

ADC1_CH2_P

GPIO48

ADC1_CH3_N

GPIO49

ADC1_CH3_P

GPIO50

ADC2_CH0_N

GPIO51

ADC2_CH0_P

GPIO52

ADC2_CH1_N

GPIO53

ADC2_CH1_P

MTDO/GPIO54

ADC2_CH2_N

MTCK/GPIO55

ADC2_CH2_P

MTDI/GPIO56

ADC2_CH3_N

MTMS/GPIO57

ADC2_CH3_P

使用 ADC 功能时,请靠近管脚添加 0.1 μF 的对地滤波电容,精度会更准确一些。

SD/MMC 主机控制器

ESP32-S31 系列芯片集成一个 SD/SDIO/MMC 主机控制器,不能作为从机。该 SD/MMC 主机外设共有两个卡槽 (slot),用于插入 SD 卡、连接 SDIO 设备或连接 eMMC 芯片,每个卡槽均可独立使用。

  • 卡槽 1 (SDMMC_HOST_SLOT_0) 的信号通过 IO MUX 使用 GPIO20 ~ GPIO25,支持 SD 3.0 版本,1.8 V/3.3 V 在芯片内部自动切换。

  • 卡槽 2 (SDMMC_HOST_SLOT_1) 的信号通过 IO MUX 使用 GPIO35 ~ GPIO40。

SD/MMC GPIO 定义

DATA0

DATA1

DATA2

DATA3

CLK

CMD

SLOT0

GPIO20

GPIO21

GPIO22

GPIO23

GPIO24

GPIO25

SLOT1

GPIO35

GPIO36

GPIO37

GPIO38

GPIO39

GPIO40

使用 slot0 时,因为 GPIO 电源域是内部电源,所以无需添加上拉,建议每根线上添加一个串联电阻,在 CLK 线上预留对地电容用于可能的调试。此外,如果使用 1 bit 模式,其他没有使用的管脚也不能再作为其他用处。

使用 slot1 时,请在 GPIO 管脚处添加上拉电阻,建议每根线上添加一个串联电阻,在 CLK 线上预留对地电容用于可能的调试。

USB

ESP32-S31 系列芯片带有一个集成了收发器的 USB 2.0 高速 OTG 外设,管脚 44 USB_DP 和管脚 45 USB_DM 分别作为 USB 2.0 高速 OTG 接口的 USB_D- 和 USB_D+ 的专用数字管脚,其余信号通过 GPIO 交换矩阵可配置使用任意 GPIO 管脚。

ESP32-S31 系列芯片包含一个 USB 串口/JTAG 控制器,GPIO33 和 GPIO34 分别作为 USB 串口/JTAG 控制器接口的 USB_D- 和 USB_D+ 的专用数字管脚。

GPIO33 和 GPIO34 线上建议预留串联电阻(初始值可为 22/33 Ω)和对地电容(初始可不上件),并注意靠近芯片端放置。

USB RC 电路如图 ESP32-S31 系列芯片 USB RC 电路图 所示。

ESP32-S31 系列芯片 USB RC 电路图

ESP32-S31 系列芯片 USB RC 电路图

ESP32-S31 系列芯片也支持通过 USB 进行下载和 log 打印,下载指导请参考章节 下载指导

触摸传感器

ESP32-S31 提供了多达 14 个电容式传感 GPIO,能够探测由手指或其他物品直接接触或接近而产生的电容差异。这种设计具有低噪声和高灵敏度的特点,可以用于支持使用相对较小的触摸板。设计中也可以使用触摸板阵列以探测更大区域或更多点。

ESP32-S31 的触摸传感器同时还支持防水、跳频检测和数字滤波等功能来进一步提高传感器的性能。

触摸传感器功能对应的 GPIO 管脚如下表所示。

触摸传感器功能

GPIO 管脚

触摸传感器功能

GPIO6

TOUCH_CH0

GPIO7

TOUCH_CH1

GPIO8

TOUCH_CH2

GPIO9

TOUCH_CH3

GPIO10

TOUCH_CH4

GPIO11

TOUCH_CH5

GPIO12

TOUCH_CH6

GPIO13

TOUCH_CH7

GPIO14

TOUCH_CH8

GPIO15

TOUCH_CH9

GPIO16

TOUCH_CH10

GPIO17

TOUCH_CH11

GPIO18

TOUCH_CH12

GPIO19

TOUCH_CH13

使用 TOUCH 功能时,建议靠近芯片侧预留串联电阻,用于减小线上的耦合噪声和干扰,也可加强 ESD 保护。该阻值建议 470 Ω 到 2 kΩ,推荐 510 Ω。具体值还需根据产品实际测试效果而定。

以太网 MAC

ESP32-S31 为以太网通信提供了一个符合 IEEE-802.3 标准的媒体访问控制器 (MAC) 接口,支持通过 MII 接口、RMII 接口或 RGMII 接口与外部快速以太网 PHY 进行通信(一次仅可使用一种接口)。

接口定义和 GPIO 的对应如下:

EMAC GPIO 定义

GPIO 管脚

MII 接口管脚

RMII 接口管脚

RGMII 接口管脚

GPIO8

MII_TXD0

RMII_TXD0

RGMII_TXD0

GPIO9

MII_TXD1

RMII_TXD1

RGMII_TXD1

GPIO10

MII_TXD2

N/A

RGMII_TXD2

GPIO11

MII_TXD3

N/A

RGMII_TXD3

GPIO12

MII_TXEN

RMII_TXEN

RGMII_TX_CTL

GPIO13

MII_TX_CLK

RMII_CLK

RGMII_TX_CLK

GPIO14

MII_RX_CLK

N/A

RGMII_RX_CLK

GPIO15

MII_RXDV

RMII_CRS_DV

RGMII_RX_CTL

GPIO16

MII_RXD3

N/A

RGMII_RXD3

GPIO17

MII_RXD2

N/A

RGMII_RXD2

GPIO18

MII_RXD1

RMII_RXD1

RGMII_RXD1

GPIO19

MII_RXD0

RMII_RXD0

RGMII_RXD0

任意 GPIO

MII_RX_ER

N/A

N/A

任意 GPIO

MII_CRS

N/A

N/A

任意 GPIO

MII_COL

N/A

N/A

任意 GPIO

MDIO

MDIO

MDIO

任意 GPIO

MDC

MDC

MDC

  • 建议在 MII/RMII/RGMII 的 CLK 线上添加串联电阻用于调节。

  • RMII 接口中的时钟信号(GPIO13)仅为输入。如果需要时钟输出方案,请使用 REF_GMAC_CLK_PAD 信号(GPIO35)连接至 GPIO13 和 PHY 端。

LCD 与 Camera 控制器

ESP32-S31 的 LCD_CAM 控制器包含一个独立的 LCD 控制模块和 Camera(摄像头)控制模块,可以外接 LCD 和摄像头设备。

LCD_CAM 控制器的 LCD 和 CAM 接口通过 GPIO 交换矩阵可配置使用任意 GPIO 管脚。如果对高速率有要求,请使用 IO MUX 定义的 GPIO,如下表所示。

LCD IO MUX 接口定义

GPIO 管脚

并行 LCD 接口管脚

RGB 888 接口管脚

RGB565 接口管脚

GPIO2

LCD_DATA19

R3

GPIO3

LCD_DATA20

R4

GPIO4

LCD_DATA21

R5

GPIO5

LCD_DATA22

R6

GPIO7

LCD_DATA23

R7

GPIO8

LCD_DATA0

B0

B3

GPIO9

LCD_DATA1

B1

B4

GPIO10

LCD_DATA2

B2

B5

GPIO11

LCD_DATA3

B3

B6

GPIO12

LCD_DATA4

B4

B7

GPIO13

LCD_DATA5

B5

G2

GPIO14

LCD_DATA6

B6

G3

GPIO15

LCD_DATA7

B7

G4

GPIO16

LCD_DATA8

G0

G5

GPIO17

LCD_DATA9

G1

G6

GPIO18

LCD_DATA10

G2

G7

GPIO19

LCD_DATA11

G3

R3

GPIO33

LCD_DATA12

G4

R4

GPIO34

LCD_DATA13

G5

R5

GPIO35

LCD_DATA14

G6

R6

GPIO36

LCD_DATA15

G7

R7

GPIO37

LCD_DATA16

R0

GPIO38

LCD_DATA17

R1

GPIO39

LCD_DATA18

R2

GPIO40

LCD_PCLK

LCD_PCLK

LCD_PCLK

GPIO43

LCD_H_ENABLE

LCD_H_ENABLE

LCD_H_ENABLE

GPIO44

LCD_H_SYNC

LCD_H_SYNC

LCD_H_SYNC

GPIO45

LCD_V_SYNC

LCD_V_SYNC

LCD_V_SYNC

Camera IO MUX 接口定义

GPIO 管脚

Camera 接口管脚

GPIO46

CAM_DATA0

GPIO47

CAM_DATA1

GPIO48

CAM_DATA2

GPIO49

CAM_DATA3

GPIO50

CAM_DATA4

GPIO51

CAM_DATA5

GPIO52

CAM_DATA6

GPIO53

CAM_DATA7

GPIO54

CAM_PCLK

GPIO55

CAM_XCLK

GPIO56

CAM_V_SYNC

GPIO57

CAM_H_SYNC