97 lines
4.2 KiB
Markdown
97 lines
4.2 KiB
Markdown
# ESP32-C3 GPIO 引脚映射
|
||
> **芯片:esp32-c3** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
|
||
|
||
## 系统引脚(System Pins)
|
||
|
||
**EN (CHIP_PU)** [I, Pin 2 QFN32 / WROOM-02 模组 Pin2]
|
||
: 芯片使能。高电平=正常工作,低电平=芯片关闭。
|
||
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
|
||
: 上电时序:VDD 稳定 >=50µs (t_STBL) 后 EN 拉高;EN 拉低 >=50µs (t_RST) 触发复位。
|
||
|
||
**VDD** [P]
|
||
: 芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
|
||
: VDD3P3_CPU(数字 GPIO 域)/ VDD3P3_RTC(RTC 域)/ VDD_SPI(Flash 供电域)。
|
||
: 内部数字 LDO 输出 1.1V 供数字核心,RTC LDO 输出 1.1V 供 RTC 域。
|
||
|
||
**GND** [P]
|
||
: 所有 GND 焊盘必须全部连接到电源地平面。
|
||
|
||
**XTAL_P / XTAL_N** [-]
|
||
: 40 MHz 外部高速晶振。**不可复用为 GPIO。**
|
||
: 晶振两端对地各接负载电容(典型 15-22pF,具体值见晶振 datasheet)。
|
||
|
||
**LNA_IN** [I]
|
||
: 射频天线输入端口(WiFi 4 + BLE 5.0)。**不可复用为 GPIO。**
|
||
|
||
**USB_D- / USB_D+** [I/O, GPIO18 (Pin13 模组) / GPIO19 (Pin14 模组)]
|
||
: USB Serial/JTAG。默认上电即启用 USB 上拉电阻。
|
||
: 用作普通 GPIO 需固件重配 IO MUX,重配后 USB 功能失效只能通过 UART0 (GPIO20/21) 烧录。
|
||
|
||
> C3 无 DAC、无触摸传感器、无 ULP 协处理器、无以太网 MAC。GPIO12-17 被 Flash 占用。RTC Deep-sleep 唤醒仅 GPIO0-5。
|
||
|
||
## 驱动电流
|
||
|
||
- **GPIO18, GPIO19**:默认 **40 mA** — USB/JTAG 引脚,增强驱动能力
|
||
- **其他所有 GPIO**:默认 **20 mA** — 标准驱动能力
|
||
|
||
## 上电时序
|
||
|
||
- t_STBL:**>= 50 µs** — VDD 稳定后到 EN 拉高之间的最短等待时间
|
||
- t_RST:**>= 50 µs** — EN 拉低以触发硬件复位的最短保持时间
|
||
- t_H:**>= 3 ms** — EN 拉高后 Strapping 引脚值被锁存的时间,此后 Strapping 引脚恢复普通 GPIO 功能
|
||
|
||
> EN (CHIP_PU) 引脚**绝对不能浮空**,必须通过外部上拉电阻(典型 10kΩ)连接到 VDD。
|
||
|
||
## Strapping 引脚(3个)⚠️ 与 D0WD 方向相反
|
||
|
||
- **GPIO2**:Pin=Pin5, 上电状态决定=VDD_SPI 电压, 正常启动需要=**LOW=3.3V**, 备注=**禁止接上拉!禁止做 I2C SDA!**
|
||
- **GPIO8**:Pin=Pin22, 上电状态决定=ROM 打印 + 下载模式, 正常启动需要=HIGH=关闭打印, LOW=下载, 备注=需上拉 3.3V,**与 D0WD 相反**
|
||
- **GPIO9**:Pin=Pin23, 上电状态决定=启动模式, 正常启动需要=HIGH=SPI Boot, 备注=需上拉 + BOOT 键
|
||
|
||
> ⚠️ 铁律:C3 的 GPIO2/8/9 三根 Strapping 引脚,设计初期就必须标红。GPIO2 绝对不能接任何有上拉的信号线。
|
||
|
||
## ADC 映射
|
||
|
||
### ADC1(5ch,WiFi 可用)
|
||
|
||
- ADC1_CH0:GPIO=GPIO0
|
||
- ADC1_CH1:GPIO=GPIO1
|
||
- ADC1_CH2:GPIO=GPIO2, 备注=⚡ Strapping
|
||
- ADC1_CH3:GPIO=GPIO3
|
||
- ADC1_CH4:GPIO=GPIO4
|
||
|
||
### ADC2(1ch)
|
||
|
||
- ADC2_CH0:GPIO=GPIO5
|
||
|
||
> 12-bit SAR,最高 100 Ksps。**C3 无 ADC2/WiFi 冲突**(RISC-V 架构已修复)。
|
||
|
||
## USB Serial/JTAG
|
||
|
||
- USB_D-:GPIO=**GPIO18**, 说明=默认 USB,切 GPIO 需固件配置
|
||
- USB_D+:GPIO=**GPIO19**, 说明=默认 USB,切 GPIO 需固件配置
|
||
|
||
## 所有 GPIO 功能表
|
||
|
||
- 0:ADC=ADC1_CH0, RTC 唤醒=Deep-sleep, 复用=XTAL_32K_P
|
||
- 1:ADC=ADC1_CH1, RTC 唤醒=Deep-sleep, 复用=XTAL_32K_N
|
||
- 2:ADC=ADC1_CH2, RTC 唤醒=Deep-sleep, 复用=FSPIQ, Strapping=⚡ VDD_SPI, 备注=**禁止上拉!**
|
||
- 3:ADC=ADC1_CH3, RTC 唤醒=Deep-sleep, 复用=JTAG_MTMS
|
||
- 4:ADC=ADC1_CH4, RTC 唤醒=Deep-sleep, 复用=JTAG_MTCK
|
||
- 5:ADC=ADC2_CH0, RTC 唤醒=Deep-sleep, 复用=JTAG_MTDI
|
||
- 6:RTC 唤醒=Light-sleep, 复用=FSPICLK
|
||
- 7:RTC 唤醒=Light-sleep, 复用=FSPID
|
||
- 8:RTC 唤醒=Light-sleep, 复用=FSPICS0, Strapping=⚡ 启动+日志, 备注=**高电平=进下载**
|
||
- 9:RTC 唤醒=Light-sleep, 复用=FSPIHD, Strapping=⚡ Boot Mode
|
||
- 10:RTC 唤醒=Light-sleep, 复用=FSPIWP/FSPICS1
|
||
- 11:RTC 唤醒=Light-sleep, 复用=VDD_SPI
|
||
- 12–17:复用=FSPI, 备注=🔒 Flash 占用
|
||
- 18:复用=**USB_D-**, 备注=⚠️ USB 占
|
||
- 19:复用=**USB_D+**, 备注=⚠️ USB 占
|
||
- 20:复用=U0RXD
|
||
- 21:复用=U0TXD
|
||
|
||
## 新手安全 GPIO
|
||
|
||
> **GPIO0, GPIO1, GPIO4, GPIO5, GPIO10**(避开 Strapping/USB/Flash 冲突)
|