Initial commit: knowledge base

This commit is contained in:
2026-08-05 17:12:34 +08:00
commit bfabe83832
21 changed files with 1720 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
# 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_RTCRTC 域)/ VDD_SPIFlash 供电域)。
: 内部数字 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 映射
### ADC15chWiFi 可用)
- ADC1_CH0GPIO=GPIO0
- ADC1_CH1GPIO=GPIO1
- ADC1_CH2GPIO=GPIO2, 备注=⚡ Strapping
- ADC1_CH3GPIO=GPIO3
- ADC1_CH4GPIO=GPIO4
### ADC21ch
- ADC2_CH0GPIO=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 功能表
- 0ADC=ADC1_CH0, RTC 唤醒=Deep-sleep, 复用=XTAL_32K_P
- 1ADC=ADC1_CH1, RTC 唤醒=Deep-sleep, 复用=XTAL_32K_N
- 2ADC=ADC1_CH2, RTC 唤醒=Deep-sleep, 复用=FSPIQ, Strapping=⚡ VDD_SPI, 备注=**禁止上拉!**
- 3ADC=ADC1_CH3, RTC 唤醒=Deep-sleep, 复用=JTAG_MTMS
- 4ADC=ADC1_CH4, RTC 唤醒=Deep-sleep, 复用=JTAG_MTCK
- 5ADC=ADC2_CH0, RTC 唤醒=Deep-sleep, 复用=JTAG_MTDI
- 6RTC 唤醒=Light-sleep, 复用=FSPICLK
- 7RTC 唤醒=Light-sleep, 复用=FSPID
- 8RTC 唤醒=Light-sleep, 复用=FSPICS0, Strapping=⚡ 启动+日志, 备注=**高电平=进下载**
- 9RTC 唤醒=Light-sleep, 复用=FSPIHD, Strapping=⚡ Boot Mode
- 10RTC 唤醒=Light-sleep, 复用=FSPIWP/FSPICS1
- 11RTC 唤醒=Light-sleep, 复用=VDD_SPI
- 1217:复用=FSPI, 备注=🔒 Flash 占用
- 18:复用=**USB_D-**, 备注=⚠️ USB 占
- 19:复用=**USB_D+**, 备注=⚠️ USB 占
- 20:复用=U0RXD
- 21:复用=U0TXD
## 新手安全 GPIO
> **GPIO0, GPIO1, GPIO4, GPIO5, GPIO10**(避开 Strapping/USB/Flash 冲突)