ESP32-S31 外设管脚分配说明

ESP32-S31 芯片具有 60 个物理 GPIO 管脚(GPIO0 ~ GPIO61,除 GPIO29、GPIO41 外)。其中包括 8 个低功耗 (LP) GPIO 管脚和 52 个高性能 (HP) GPIO 管脚。每个管脚都可用作一个通用 IO,或连接一个内部的外设信号。通过 GPIO 交换矩阵和 IO MUX,可配置外设模块的输入信号来源于任何的 IO 管脚,并且外设模块的输出信号也可连接到任意 IO 管脚。这些模块共同组成了芯片的 IO 控制。更多详细信息,请参阅 ESP32-S31 技术参考手册 > IO MUX 和 GPIO 矩阵(GPIO、IO_MUX) PDF

快速上手路径(Quick Start)

如果这是您第一次进行开发,建议优先参考以下核心外设的推荐管脚定义:

基础通信与控制

  • UART 管脚分配说明 —— 用于代码下载、日志监视与基础串口通信。

    • ESP32-S31 芯片集成了多达 4 路主系统 UART 和 1 路低功耗 LP UART。
  • I2C 管脚分配说明 —— 用于音频编解码器配置及各种低速传感器的数据交互。

    • ESP32-S31 有两个 HP_I2C 总线接口和一个 LP_I2C 总线接口。根据配置,HP_I2C 总线接口可以用作 I2C 主机或从机模式;LP_I2C 总线接口只能用作 I2C 主机模式。总线速率最高可配置为 800 Kbit/s 快速模式。
  • SPI 管脚分配说明 —— 用于高速存储器读写以及串行屏显控制。

    • ESP32-S31 芯片内部集成 6 个 SPI + 1 个低功耗 SPI (LP SPI) ,其中:

      • 2 个 SPI0/1 专用于连接封装内 PSRAM,默认 SPI0 和 SPI1 预留给系统使用,用户无法修改。
      • 2 个 SPI0/1 专用于连接封装外 Flash,默认 SPI0 和 SPI1 预留给系统使用,用户无法修改。
      • 2 个 通用 SPI , 默认 SPI2 ,可供用户使用。
      • 1 个 低功耗 SPI,默认 LP SPI,可供用户使用。
  • SDIO 管脚分配说明 —— 用于高速 TF 卡及 SD 设备的 4-bit 协议级传输。

    • ESP32-S31 芯片集成了一个高速 SDIO 3.0 主机控制器,支持 SD 存储卡、SDIO 读卡器及 SDIO 外设的 1 线、4 线传输模式。
  • USB 管脚分配说明 —— 支持 USB OTG 高速双向传输与 USB Serial/JTAG 固件下载调试。

    • ESP32-S31 支持多路 USB 通信接口:一个支持全速/高速模式的 USB 2.0 OTG 控制器,以及一个支持程序下载、调试和 CDC-ACM 控制台的 USB Serial/JTAG 调试器
  • 以太网管脚分配说明 —— 原生 1000 Mbps 千兆以太网 MAC,支持 RMII 与 RGMII。

    • ESP32-S31 原生集成了一个 IEEE 802.3 规范兼容的千兆媒体访问控制器(EMAC),支持硬件精确时间协议(IEEE 1588-2008 PTP)。它提供外接以太网物理层芯片(Ethernet PHY,如 IP101G、RTL8211 等)的物理通道,支持 10/100/1000 Mbps 的超宽数据传输。
  • TWAI 管脚分配说明 —— 用于 CAN FD 总线车载和工业级通信。

    • ESP32-S31 支持一个 TWAI(双线汽车接口)控制器,完全兼容 CAN FD 协议规范,支持 1 Kbit/s 到 1 Mbit/s 的通信速率。
  • RMT 管脚分配说明 —— 用于红外编解码信号收发及驱动 WS2812 炫彩灯带。

    • ESP32-S31 的 RMT(远程控制器)外设支持 4 路发送通道(TX)和 4 路接收通道(RX) 。
  • LED PWM 管脚分配说明 —— 脉冲宽度调制(LEDC),用于调节 LED 亮度或控制电机转速。

    • ESP32-S31 支持 2 组 LED PWM 控制器,共具有 16 个独立的 PWM 生成通道 和 4 个独立的硬件定时器,支持高精度的占空比(最高支持 20-bit)与高达 40 MHz 的高频方波输出。
  • MCPWM 管脚分配说明 —— 电机控制专用 PWM 发生器。

    • ESP32-S31 包含一个电机控制脉宽调制器 (MCPWM),共计 4 路 MCPWM 输出。

模拟外设

  • ADC 管脚分配说明 —— 12 位高精度 SAR 模数转换器,采集外部模拟电压信号。

    • ESP32-S31 内置 2 个 12 位高分辨率的逐次逼近型模数转换器(SAR ADC),支持最多 16 个模拟测量输入通道,支持多通道连续扫描及通过 AXI GDMA 进行超高速、低延迟数据搬移。
  • DAC 管脚分配说明 —— 硬件数模转换器,用于输出模拟音频或波形。

    • ESP32-S31 内置 2 个 10-bit 与 2 个 12-bit 数模转换控制器(DAC),可通过数字算法或查表生成平滑的模拟波形或模拟音频信号,输出范围支持 0V 至 3.3V。
  • Touch 触摸管脚分配说明 —— 电容式触摸按键、滑轮或手势控制检测。

    • ESP32-S31 支持多达 14 个高可靠性的电容式触摸感应通道,能够透过非导电材质盖板(如玻璃、亚克力、塑料)精确捕获极微小的电容跃变,支持通过严格的 CS(电磁兼容性抗扰)测试。

多媒体外设

  • I2S 管脚分配说明 —— 用于连接音频 Codec 进行高质量数字音频的采集与输出。

    • ESP32-S31 内置 2 个独立的 I2S 控制器,支持硬件级蓝牙音频(LE Audio)同步及 APLL 高精度时钟源。
  • LCD 与 Camera 管脚分配说明 —— 包含 DVP 摄像头、并行 RGB LCD 屏幕

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

系统 Strapping/Boot 管脚

JTAG 调试管脚

  • JTAG 调试管脚分配说明 —— 用于连接外部专业的硬件调试器进行极速仿真。

    • ESP32-S31 芯片内部集成了两个独立的 JTAG 调试物理源:一个内置的 USB Serial/JTAG 调试器,以及一个标准的外部物理 JTAG 接口

UART 管脚分配说明

1. UART0 管脚分配

  • UART0 是系统默认的调试终端与固件烧录接口。在系统复位启动和上电自检期间,芯片将强制通过该接口输出 Boot Log。
信号名称默认管脚GPIO 矩阵特性方向功能描述
U0TXDGPIO58受限输出UART0 数据发送端,连接外部串口工具的 RXD
U0RXDGPIO59受限输入UART0 数据接收端,连接外部串口工具的 TXD

2. UART1 ~ UART3 管脚分配

  • UART1 ~ UART3 的所有信号线均支持通过 GPIO 矩阵特性重映射到任意空闲的 GPIO。

3. LP UART 管脚分配

  • LP UART 的所有信号线均支持通过 GPIO 矩阵特性重映射到任意空闲的 LP GPIO 。同时, LP UART 也支持使用 LP IO MUX 管脚进行分配。

    • LP UART IO MUX 管脚分配
    UART 信号名称LP IO 名称GPIO 矩阵特性
    LP_UART_DTRN_PADLP_GPIO2支持
    LP_UART_DTSN_PADLP_GPIO3支持
    LP_UART_RTSN_PADLP_GPIO4支持
    LP_UART_CTSN_PADLP_GPIO5支持
    LP_UART_TXD_PADLP_GPIO6支持
    LP_UART_RXD_PADLP_GPIO7支持

[!NOTE]

  • 在硬件布线较长、高速传输(如 3 Mbps)或存在高频干扰的场景中,建议尽量缩短走线,并加入阻抗匹配,以保障串口通信的绝对稳定性。

I2C 管脚分配说明

1. HP I2C 管脚分配

  • HP I2C 的所有信号线均支持通过 GPIO 矩阵特性重映射到任意空闲的 GPIO。

2. LP I2C 管脚分配

  • LP I2C 的所有信号线均支持通过 GPIO 矩阵特性重映射到任意空闲的 LP GPIO 。

  • 同时, LP I2C 也支持使用 LP IO MUX 管脚进行分配。LP I2C IO MUX 管脚分配 :

    信号名称LP IO MUX 管脚GPIO 矩阵特性方向功能描述
    LP_I2C_SDALP_GPIO7支持输入/输出I2C 数据信号线,需外接 4.7 kΩ 上拉电阻
    LP_I2C_SCLLP_GPIO6支持输出I2C 时钟信号线,需外接 4.7 kΩ 上拉电阻

[!NOTE]

  • I2C 属于漏极开路(Open-Drain)总线,在 PCB 走线上必须正确接入上拉电阻(通常为 2.2 kΩ 至 4.7 kΩ,连接至 3.3V),否则将导致总线传输超时及发生非预期的 NACK 错误。

SPI 管脚分配说明

1. SPI0/1 Flash 管脚分配

[!NOTE]

  • SPI0 和 SPI1 接口预留给 Flash 使用,用户无法使用。
管脚名称GPIOFlash 信号脚GPIO 矩阵特性方向功能描述
SPI0_CSGPIO26FLASH_CS不支持输入/输出SPI 片选信号 (CS)
SPI0_QGPIO27FLASH_Q不支持输入/输出SPI 数据线 1 (MISO / D1)
SPI0_WPGPIO28FLASH_WP不支持输入/输出SPI 写保护信号 (WP / D2)
SPI0_HDGPIO30FLASH_HOLD不支持输入/输出SPI 保持信号 (HOLD / D3)
SPI0_CLKGPIO31CLK/FLASH_CLK不支持输出SPI 串行时钟线 (CLK)
SPI0_DGPIO32FLASH_D不支持输入/输出SPI 数据线 0 (MOSI / D0)

2. SPI2 管脚分配

通用 SPI2 支持通过 GPIO 矩阵特性重映射到任意空闲的 GPIO。 同时通用 SPI2 也支持通过 IO MUX 特性分配管脚以获取高速支持。

  • HP SPI2 IO MUX 管脚分配

    • 1-bit HP SPI2 IO MUX 管脚分配

      SPI 信号脚GPIOGPIO 矩阵特性方向功能描述
      SPI2_CLKGPIO20GPIO53支持输出SPI 串行时钟线
      SPI2_D0GPIO21GPIO54支持输入/输出SPI 数据线 0 (MOSI)
      SPI2_D1GPIO22GPIO55支持输入/输出SPI 数据线 1 (MISO)
      SPI2_CSGPIO23GPIO52支持输出(Master)/输入(Slave)SPI 片选信号 (CS)
      SPI2_WPGPIO24GPIO56支持输入/输出Quad SPI 数据线 D3(传统 HOLD)
      SPI2_HDGPIO25GPIO57支持输入/输出Quad SPI 数据线 D2(传统 WP)
    • 8-bit HP SPI2 IO MUX 管脚分配

      SPI 信号脚GPIOGPIO 矩阵特性方向功能描述
      SPI2_CLKGPIO12支持输出SPI/OPI 时钟信号
      SPI2_CSGPIO10支持输出SPI 片选信号 (CS)
      SPI2_D0GPIO11支持输入/输出SPI 数据线 0 (MOSI)
      SPI2_D1GPIO13支持输入/输出SPI 数据线 1 (MISO)
      SPI2_D2GPIO14支持输入/输出SPI2 数据线 2(Quad 模式)
      SPI2_D3GPIO9支持输入/输出SPI2 数据线 3(Quad 模式)
      SPI2_D4GPIO15支持输入/输出SPI2 数据线 4(Octal 模式)
      SPI2_D5GPIO16支持输入/输出SPI2 数据线 5(Octal 模式)
      SPI2_D6GPIO17支持输入/输出SPI2 数据线 6(Octal 模式)
      SPI2_D7GPIO18支持输入/输出SPI2 数据线 7(Octal 模式)
      SPI2_DQSGPIO19支持输入SPI2 高速 DDR/OPI 模式下的数据选通信号(Data Strobe),用于接收端同步采样数据

3. LP SPI 管脚分配

  • ESP32-S31 的 LP SPI 支持通过 GPIO 矩阵特性重映射到任意空闲的 LP GPIO ,同时 LP SPI 也支持通过 IO MUX 特性分配管脚。

    LP SPI IO MUX 管脚分配

    信号名称推荐管脚GPIO 矩阵特性方向功能描述
    LP_SPI_CLKLP_GPIO2支持输出SPI 串行时钟线
    LP_SPI_CSLP_GPIO3支持输入/输出SPI 片选信号 (CS)
    LP_SPI_DLP_GPIO4支持输入/输出SPI 数据线 0 (MOSI)
    LP_SPI_QLP_GPIO5支持输入/输出SPI 数据线 1 (MISO)

4. 屏显控制 SPI 推荐管脚

如果您的开发板配备了液晶显示屏,其串行控制线通常使用以下管脚:

信号名称推荐管脚GPIO 矩阵特性方向功能描述
LCD_MOSIGPIO60支持输出液晶屏 SPI 数据线
LCD_SCKGPIO61支持输出液晶屏 SPI 时钟线
LCD_CSGPIO38支持输出液晶屏 SPI 片选信号

SDIO 管脚分配说明

ESP32-S31 的 SDIO 主机控制器的卡 1 可以通过 IO MUX 使用 GPIO20GPIO25,卡 2 可以通过 IO MUX 使用 GPIO35GPIO40 。 不支持 GPIO 矩阵特性。

  • SDIO 卡 1 IO MUX 管脚分配
信号名称对应管脚GPIO 矩阵特性方向功能描述
SDIO_CLKGPIO24不支持输出高速时钟信号线
SDIO_CMDGPIO25不支持输入/输出命令与响应复用信号线
SDIO_DATA0GPIO20不支持输入/输出双向数据线 0
SDIO_DATA1GPIO21不支持输入/输出双向数据线 1
SDIO_DATA2GPIO22不支持输入/输出双向数据线 2
SDIO_DATA3GPIO23不支持输入/输出双向数据线 3
  • SDIO 卡 2 IO MUX 管脚分配
信号名称对应管脚GPIO 矩阵特性方向功能描述
SDIO_CLKGPIO39不支持输出高速时钟信号线
SDIO_CMDGPIO40不支持输入/输出命令与响应复用信号线
SDIO_DATA0GPIO35不支持输入/输出双向数据线 0
SDIO_DATA1GPIO36不支持输入/输出双向数据线 1
SDIO_DATA2GPIO37不支持输入/输出双向数据线 2
SDIO_DATA3GPIO38不支持输入/输出双向数据线 3

[!NOTE]

  • SDIO 3.0 支持更高的时钟频率,因此高速模式下对 PCB 差分布线和等长控制有较严格的要求,同时数据线上通常需要并联 10 kΩ 左右的上拉电阻以防止传输时产生毛刺或丢包。

USB 管脚分配说明

1. USB 2.0 HS OTG 管脚分配说明

USB OTG 模块集成了内置的高速 USB 2.0 PHY,仅支持专用引脚直连 USB Type-A 或 Type-C 物理接口,不支持 GPIO 矩阵特性。

信号名称物理管脚GPIO 矩阵特性方向功能描述
USB2.0_DPUSB_DP不支持USB D+专用高速差分数据线正极(Pin 44)
USB2.0_DMUSB_DM不支持USB D-专用高速差分数据线负极(Pin 45)

2. USB Serial/JTAG 管脚分配说明

USB 串口与 JTAG 调试器使用特定的 IO MUX 引脚,不支持 GPIO 矩阵特性。

信号名称对应GPIOGPIO 矩阵特性功能描述
USB_D+GPIO14不支持调试器物理差分信号正极
USB_D-GPIO13不支持调试器物理差分信号负极

[!NOTE]

  • 调试器专用的 GPIO13GPIO14 同时也是 SDIO 接口的备选管脚。当 SDIO 处于 1-bit 单线工作模式下时,调试器可以与 SDIO 完美共享使用;然而一旦将 SDIO 接口升级为 4-bit 模式,则无法同时使用 USB Serial/JTAG 调试功能。

以太网管脚分配说明

ESP32-S31 的以太网引脚智能使用专用的高速 IO MUX 管脚进行配置,不支持 GPIO 矩阵特性。用户只能在以下两个选项组中择一使用,不可混用。

物理选项引脚组以太网接口模式复用 GPIOGPIO 矩阵特性接口特性与描述
选项组 A(低序号引脚,官方推荐)RGMII 接口GPIO8 ~ GPIO19 (共 12 根专用高速信号线)不支持高速硬绑定总线,时序要求极高,常用于千兆以太网接口开发
选项组 A(低序号引脚,官方推荐)RMII 接口GPIO8GPIO9GPIO12GPIO13GPIO15GPIO18GPIO19不支持经典百兆以太网接口,大幅节省 GPIO 引脚资源
选项组 B(高序号引脚)RGMII 接口GPIO36 ~ GPIO47 (共 12 根专用高速信号线)不支持备选千兆以太网硬复用引脚组
选项组 B(高序号引脚)RMII 接口GPIO36GPIO37GPIO40GPIO41GPIO43GPIO44GPIO45不支持备选百兆以太网硬复用引脚组

[!NOTE]

  • 相比于高度敏感的高速差分时钟与数据线,以太网物理控制接口 MDIO(以太网控制器管理接口)的信号时钟较低,支持通过 GPIO 矩阵重映射到任意通用 GPIO 引脚。

TWAI 管脚分配说明

ESP32-S31 的 TWAI 接口所有信号线均支持通过 GPIO 矩阵特性重映射到任意空闲的 GPIO。

信号名称推荐管脚GPIO 矩阵特性方向功能描述
TWAI_TX (CAN_TX)GPIO4支持输出发送总线数据,连至 CAN 外部收发器的 TXD
TWAI_RX (CAN_RX)GPIO5支持输入接收总线数据,连至 CAN 外部收发器的 RXD

[!NOTE]

  • TWAI 芯片本身不集成差分物理收发器,因此必须在外围电路设计中外接标准的 CAN 物理收发芯片(例如 TJA1050 或 SN65HVD230),方可连入真实的差分双线物理 CAN 总线网段。

RMT 管脚分配说明

RMT 的所有通道信号线均支持通过 GPIO 矩阵特性重映射到任意空闲的 GPIO 。

推荐外设应用推荐管脚GPIO 矩阵特性方向功能描述
板载 WS2812 可寻址 RGBGPIO60 (CoreBoard板) / GPIO37 (Korvo板)支持输出驱动板载彩色 LED 灯的脉冲序列
IR_TX (红外发射引脚)GPIO18 (推荐)支持输出输出载波红外信号以驱动红外发射二极管
IR_RX (红外接收引脚)GPIO19 (推荐)支持输入捕捉红外一体化接收头输出的解调脉冲波

LED PWM 管脚分配说明

LEDC PWM 所有通道信号线均支持通过 GPIO 矩阵特性重映射到任意空闲的 GPIO 。

功能应用推荐管脚GPIO 矩阵特性方向功能描述
PWM_REDGPIO15 (推荐)支持输出驱动红色通道,实现渐变/调光效果
PWM_GREENGPIO16 (推荐)支持输出驱动绿色通道,实现渐变/调光效果
PWM_BLUEGPIO17 (推荐)支持输出驱动蓝色通道,实现渐变/调光效果

MCPWM 管脚分配说明

ESP32-S31 的 MCPWM 引脚支持通过 GPIO 矩阵特性重映射到任意空闲的 GPIO 。

信号名称推荐管脚GPIO 矩阵特性方向功能描述
PWM0AGPIO10支持输出A 相驱动互补输出 1
PWM0BGPIO11支持输出A 相驱动互补输出 2(带死区互补控制)
PWM1AGPIO12支持输出B 相驱动互补输出 1
PWM1BGPIO13支持输出B 相驱动互补输出 2
PWM_FAULTGPIO14支持输入硬件过流/故障保护刹车触发线(高电平刹车)

ADC 管脚分配说明

ESP32-S31 ADC 的所有输入引脚都只能通过 IO MUX 管脚进行配置,不支持 GPIO 矩阵特性。

ADC 控制器信号通道ADC 物理信号脚极性类型GPIOGPIO 矩阵特性功能描述
ADC1通道 0ADC1_CHANNEL0_N负极 (N)GPIO42不支持模拟输入通道 0 (负输入端)
ADC1通道 0ADC1_CHANNEL0_P正极 (P)GPIO43不支持模拟输入通道 0 (正输入端)
ADC1通道 1ADC1_CHANNEL1_N负极 (N)GPIO44不支持模拟输入通道 1 (负输入端)
ADC1通道 1ADC1_CHANNEL1_P正极 (P)GPIO45不支持模拟输入通道 1 (正输入端)
ADC1通道 2ADC1_CHANNEL2_N负极 (N)GPIO46不支持模拟输入通道 2 (负输入端)
ADC1通道 2ADC1_CHANNEL2_P正极 (P)GPIO47不支持模拟输入通道 2 (正输入端)
ADC1通道 3ADC1_CHANNEL3_N负极 (N)GPIO48不支持模拟输入通道 3 (负输入端)
ADC1通道 3ADC1_CHANNEL3_P正极 (P)GPIO49不支持模拟输入通道 3 (正输入端)
ADC2通道 0ADC2_CHANNEL0_N负极 (N)GPIO50不支持模拟输入通道 0 (负输入端)
ADC2通道 0ADC2_CHANNEL0_P正极 (P)GPIO51不支持模拟输入通道 0 (正输入端)
ADC2通道 1ADC2_CHANNEL1_N负极 (N)GPIO52不支持模拟输入通道 1 (负输入端)
ADC2通道 1ADC2_CHANNEL1_P正极 (P)GPIO53不支持模拟输入通道 1 (正输入端)
ADC2通道 2ADC2_CHANNEL2_N负极 (N)GPIO54不支持模拟输入通道 2 (负输入端)
ADC2通道 2ADC2_CHANNEL2_P正极 (P)GPIO55不支持模拟输入通道 2 (正输入端)
ADC2通道 3ADC2_CHANNEL3_N负极 (N)GPIO56不支持模拟输入通道 3 (负输入端)
ADC2通道 3ADC2_CHANNEL3_P正极 (P)GPIO57不支持模拟输入通道 3 (正输入端)

DAC 管脚分配说明

ESP32-S31 的 DAC 的所有模拟信号引脚只能通过 IO MUX 管脚进行配置,不支持 GPIO 矩阵特性。

信号名称硬件引脚输出通道GPIO 矩阵特性功能描述
DAC_PAD0GPIO4对应 DAC 通道 0不支持模拟输出端 0
DAC_PAD1GPIO5对应 DAC 通道 1不支持模拟输出端 1

Touch 触摸管脚分配说明

  • ESP32-S31 的触摸传感器接口与 GPIO2GPIO15、LP_GPIO2LP_GPIO15、LP_UART 接口和 SPI2 的一组四线接口管脚复用。配置模拟功能生效时,与其复用的数字功能无效。
  • ESP32-S31 的触摸传感器接口只能通过 IO MUX 管脚进行配置,不支持 GPIO 矩阵特性。
触摸通道复用 GPIOGPIO 矩阵特性
TOUCH_CHANNEL0GPIO6不支持
TOUCH_CHANNEL1GPIO7不支持
TOUCH_CHANNEL2GPIO8不支持
TOUCH_CHANNEL3GPIO9不支持
TOUCH_CHANNEL4GPIO10不支持
TOUCH_CHANNEL5GPIO11不支持
TOUCH_CHANNEL6GPIO12不支持
TOUCH_CHANNEL7GPIO13不支持
TOUCH_CHANNEL8GPIO14不支持
TOUCH_CHANNEL9GPIO15不支持
TOUCH_CHANNEL10GPIO16不支持
TOUCH_CHANNEL11GPIO17不支持
TOUCH_CHANNEL12GPIO18不支持
TOUCH_CHANNEL13GPIO19不支持

I2S 管脚分配说明

ESP32-S31 的I2S 引脚支持通过 GPIO 矩阵特性重映射到任意空闲的 GPIO 。

信号名称推荐管脚GPIO 矩阵特性方向功能描述
I2S_MCLKGPIO2支持输出主时钟信号线,用于外部音频芯片 of 系统同步
I2S_SCLK (BCLK)GPIO3支持输出位时钟信号线,控制每个音频数据比特位的传输
I2S_LRCLK (WS)GPIO4支持输出帧同步 / 左右声道选择信号线
I2S_DSINGPIO5支持输入音频数据输入线(串行 ADC 数据输入)
I2S_SDOUTGPIO6支持输出音频数据输出线(串行 DAC 数据输出)

LCD-Camera-管脚分配说明

ESP32-S31 的 Camera-LCD 控制器的 CAM 和 LCD 接口通过 GPIO 交换矩阵可配置使用任意空闲 GPIO 管脚。同时 LCD 与 Camera 控制器管脚也支持使用 IO MUX 管脚进行分配。

1. DVP 摄像头 (8-bit 并行 DVP) IO MUX 管脚分配

信号名称推荐管脚GPIO 矩阵特性功能描述
CAM_D0 ~ CAM_D7GPIO46 ~ GPIO53支持8 位并行视频数据输入线
CAM_PCLKGPIO54支持摄像头像素时钟信号线
CAM_XCLKGPIO55支持摄像头驱动系统时钟信号线
CAM_VSYNCGPIO56支持摄像头帧同步信号线
CAM_HSYNCGPIO57支持摄像头行同步信号线

2. 16-bit 并行 RGB LCD 屏 IO MUX 管脚分配

信号名称推荐管脚GPIO 矩阵特性功能描述
DB0 ~ DB11GPIO8 ~ GPIO19支持屏显并行数据线(低 12 位)
DB12 ~ DB15GPIO33 ~ GPIO36支持屏显并行数据线(高 4 位)
LCD_PCLKGPIO40支持液晶显示像素时钟线
LCD_DE (H_EN)GPIO43支持液晶屏数据使能控制线
LCD_HSYNCGPIO44支持液晶屏水平行同步信号线
LCD_VSYNCGPIO45支持液晶屏垂直帧同步信号线

系统-Strapping/Boot-管脚分配说明

芯片在上电复位期间,系统会根据以下特定 Strapping 管脚的电平值来判定芯片的启动模式。请尽量避免在这些引脚上挂载会改变其初始电平的外部器件。

管脚物理名称功能芯片内部上电初始状态默认电平启动模式与硬件设计注意事项
GPIO36 VDD_SPI 电压检测内部弱上拉 (Weak Pull-Up)13.3V Flash 需要为高电平;1.8V Flash 需要为低电平。
GPIO37JTAG 信号源控制高阻态 (Floating)悬空外部无强干扰时默认为悬空态。
GPIO60 ROM 日志打印控制内部弱上拉 (Weak Pull-Up)1默认拉高。与 GPIO61 共同控制启动行为,在从 Flash 启动(SPI Boot)模式下保持默认的 1
GPIO61芯片启动模式控制内部弱上拉 (Weak Pull-Up)1核心下载/运行选择引脚。上电复位瞬间外部拉低至 0 进入固件下载模式,悬空/拉高为 1 从 Flash 启动。

JTAG 调试管脚分配说明

1. 内置 USB Serial/JTAG 调试引脚

  • 通过内置的 USB 物理收发器,开发者只需使用一根 USB 线直连芯片引脚,即可实现全速 JTAG 下载与软硬件在线调试,无需任何外部调试器(如 J-Link 或 ESP-Prog)。
  • USB-JTAG 调试管脚必须严格通过 IO MUX 调用,不支持通过 GPIO 矩阵重映射
信号名称硬绑定引脚GPIO 矩阵特性方向功能描述
USB_D+GPIO14不支持输入/输出内置调试器物理差分信号正极
USB_D-GPIO13不支持输入/输出内置调试器物理差分信号负极

2. 外部物理 JTAG 引脚 (IO MUX)

  • 如果需要连接外部专业的硬件调试器进行极速仿真,ESP32-S31 也提供了底层的物理 JTAG 硬绑定引脚。
  • JTAG 外部物理调试引脚与 ADC2SPI2 的部分引脚复用,必须严格通过 IO MUX 配置,不支持通过 GPIO 矩阵重映射
信号名称硬绑定引脚GPIO 矩阵特性方向芯片 IO 物理功能描述
MTCKGPIO55不支持输入测试时钟输入线 (Test Clock)
MTDOGPIO54不支持输出测试数据输出线 (Test Data Out)
MTDIGPIO56不支持输入测试数据输入线 (Test Data In)
MTMSGPIO57不支持输入测试模式选择线 (Test Mode Select)

JTAG 调试通路选择与控制机制

内置 USB JTAG 与外部物理 JTAG 的切换由 Strapping 管脚 GPIO37 在系统上电复位瞬间(RST)的初始电平状态,以及底层的 eFuse 熔丝共同控制:

JTAG 通路切换控制规则

调试接口源GPIO37 启动瞬间电平EFUSE_JTAG_SEL_ENABLE 熔丝状态调试模式说明
内置 USB JTAG拉低 / 00 (默认状态)系统默认状态。调试信号走内置 USB PHY,GPIO54 ~ GPIO57 可以作为普通的 GPIO 使用。
外部物理 JTAG拉高 / 10 (默认状态)外部 JTAG 启用。调试信号切换至物理引脚 GPIO54 ~ GPIO57,由外部调试器接管调试。
永久绑定物理 JTAG任意状态1物理 JTAG 永久生效,USB JTAG 调试被硬屏蔽。

[!Note]

  • 注意GPIO37 在上电复位瞬间的默认状态是高阻态(悬空)。为了确保系统上电后能默认使用最便利的内置 USB Serial/JTAG 调试器,建议在 GPIO37 引脚上挂载一个 10 kΩ 的下拉电阻,或保证复位瞬间外部电路不会将该引脚拉高,以防止意外将调试通路切往外部物理 JTAG 导致 USB 调试不可用。

全局物理 GPIO 及功能分配表

下表提供了各管脚的详细信息,部分 GPIO 具有特殊的使用限制,具体可参考表中的注释与限制说明。

GPIO 编号模拟功能LP_GPIO (RTC GPIO)注释与物理使用限制
GPIO0-LP_GPIO0可复用为 XTAL_32K_N (外部低频晶振负极),提供 RTC 极低功耗高精度时钟计时。
GPIO1-LP_GPIO1可复用为 XTAL_32K_P (外部低频晶振正极)。
GPIO2-LP_GPIO2LP IO MUX,支持低功耗外设和休眠唤醒。
GPIO3-LP_GPIO3LP IO MUX,支持低功耗外设和休眠唤醒。
GPIO4DAC0LP_GPIO4硬件数模转换器通道 0,支持低功耗下的模拟波形与音频输出。
GPIO5DAC1LP_GPIO5硬件数模转换器通道 1。
GPIO6TOUCH0LP_GPIO6电容触摸感应通道 0,支持 Deep-sleep 低功耗触摸按键唤醒。
GPIO7TOUCH1LP_GPIO7电容触摸感应通道 1,支持 Deep-sleep 低功耗触摸按键唤醒。
GPIO8TOUCH2-电容触摸感应通道 2;千兆以太网 (选项组 A) 专用线。
GPIO9TOUCH3-电容触摸感应通道 3;千兆以太网 (选项组 A) 专用线。
GPIO10TOUCH4-电容触摸感应通道 4。
GPIO11TOUCH5-电容触摸感应通道 5。
GPIO12TOUCH6-电容触摸感应通道 6;千兆以太网 (选项组 A) 专用线。
GPIO13TOUCH7-双重用途/冲突:电容触摸通道 7;内置调试器 USB_D-当 SDIO 采用 4-bit 传输模式时,调试器会被完全禁用!
GPIO14TOUCH8-双重用途/冲突:电容触摸通道 8;内置调试器 USB_D+同上,4-bit SDIO 模式下会与调试器产生严重物理冲突!
GPIO15TOUCH9-电容触摸感应通道 9;千兆以太网 (选项组 A) 专用线。
GPIO16TOUCH10-电容触摸感应通道 10。
GPIO17TOUCH11-电容触摸感应通道 11。
GPIO18TOUCH12-电容触摸感应通道 12;千兆以太网 (选项组 A) 专用线。
GPIO19TOUCH13-电容触摸感应通道 13;千兆以太网 (选项组 A) 专用线。
GPIO20--通用 GPIO;推荐用于高速 SDIO DATA0 或 SPI2。
GPIO21--通用 GPIO;推荐用于高速 SDIO DATA1 或 SPI2。
GPIO22--通用 GPIO;推荐用于高速 SDIO DATA2 或 SPI2。
GPIO23--通用 GPIO;推荐用于高速 SDIO DATA3 或 SPI2。
GPIO24--通用 GPIO;推荐用于高速 SDIO CLK 或 SPI2。
GPIO25--通用 GPIO;推荐用于高速 SDIO CMD 或 SPI2。
GPIO26--SPI0/1 专用总线:连接 Flash 片选脚 SPICS / flash_cs_pad,应用层决不可重新配置,严禁他用!
GPIO27--SPI0/1 专用总线:连接 Flash 数据输出脚 SPIQ / flash_q_pad (D1),严禁它用!
GPIO28--SPI0/1 专用总线:连接 Flash 写保护脚 SPIWP / flash_wp_pad (D2),严禁它用!
GPIO30--SPI0/1 专用总线:连接 Flash 挂起脚 SPIHD / flash_hold_pad (D3),严禁它用!
GPIO31--SPI0/1 专用总线:连接 Flash 时钟脚 SPICLK / flash_ck_pad (CLK),严禁它用!
GPIO32--SPI0/1 专用总线:连接 Flash 数据输入脚 SPID / flash_d_pad (D0),严禁它用!
GPIO33--通用 GPIO。
GPIO34--通用 GPIO。
GPIO35--通用 GPIO。
GPIO36--Strapping 管脚:系统启动选择引脚;千兆以太网 (选项组 B) 专用线。请勿加外部强上下拉电平。
GPIO37--Strapping 管脚;模拟比较器输入 COMP0 通道;千兆以太网 (选项组 B) 专用线。
GPIO38--Strapping 管脚 (Boot Mode 0);模拟比较器输入 COMP1 通道。
GPIO39--Strapping 管脚 (Boot Mode 1);模拟比较器输入 COMP2 通道。
GPIO40--Strapping 管脚 (Boot Mode 2);模拟比较器输入 COMP3 通道;千兆以太网 (选项组 B) 专用线。
GPIO42ADC1_CH0_N-12位逐次逼近型 ADC1 通道 0(负端,硬绑定)。
GPIO43ADC1_CH0_P-12位逐次逼近型 ADC1 通道 0(正端,硬绑定);千兆以太网 (选项组 B) 专用线。
GPIO44ADC1_CH1_N-双重用途:ADC1 通道 1 (负端);内置高速 USB 2.0 HS OTG 物理 PHY 数据线 DP (Pin 44)。
GPIO45ADC1_CH1_P-双重用途:ADC1 通道 1 (正端);内置高速 USB 2.0 HS OTG 物理 PHY 数据线 DM (Pin 45)。
GPIO46ADC1_CH2_N-12位逐次逼近型 ADC1 通道 2(负端,硬绑定)。
GPIO47ADC1_CH2_P-12位逐次逼近型 ADC1 通道 2(正端,硬绑定);千兆以太网 (选项组 B) 专用线。
GPIO48ADC1_CH3_N-12位逐次逼近型 ADC1 通道 3(负端,硬绑定)。
GPIO49ADC1_CH3_P-12位逐次逼近型 ADC1 通道 3(正端,硬绑定)。
GPIO50ADC2_CH0_N-12位逐次逼近型 ADC2 通道 0(负端,硬绑定)。
GPIO51ADC2_CH0_P-12位逐次逼近型 ADC2 通道 0(正端,硬绑定)。
GPIO52ADC2_CH1_N-12位逐次逼近型 ADC2 通道 1(负端,硬绑定)。
GPIO53ADC2_CH1_P-12位逐次逼近型 ADC2 通道 1(正端,硬绑定)。
GPIO54ADC2_CH2_N-12位逐次逼近型 ADC2 通道 2(负端,硬绑定)。
GPIO55ADC2_CH2_P-12位逐次逼近型 ADC2 通道 2(正端,硬绑定)。
GPIO56ADC2_CH3_N-12位逐次逼近型 ADC2 通道 3(负端,硬绑定)。
GPIO57ADC2_CH3_P-12位逐次逼近型 ADC2 通道 3(正端,硬绑定)。
GPIO58--UART0 物理调试串口 TXD (系统默认调试终端日志输出脚,悬空/弱上拉)。
GPIO59--UART0 物理调试串口 RXD (系统默认接收脚)。
GPIO60--Strapping 管脚 (Boot Mode 3);弱上拉。
GPIO61--Strapping 管脚 (Boot Mode 4);系统 Boot/固件下载模式选择物理引脚,上电拉低进入下载模式,悬空/拉高进入 Flash 运行。