Files
esp32-dev/components/esp32-c3_constraints.md
2026-08-05 17:25:09 +08:00

63 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ESP32-C3 硬件约束与踩坑
> **芯片:esp32-c3** | **类别:constraints** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 1. Strapping 引脚方向与 D0WD 相反 ⚠️ 最危险的坑
- 进下载模式 — GPIO0 → GND(低电平), GPIO8 → 3.3V**高电平**
- 正常 Boot ×GPIO0 高电平 — GPIO8 低电平
**C3 正确设计:** GPIO8 下拉 GND(默认低=正常启动)+ 按键接 3.3V(按下=进下载)
如果按 D0WD 习惯给 GPIO8 加上拉 + 按键到 GND → **每次 RESET 都进下载模式,根本启动不了!**
## 2. GPIO2 不能接上拉 ⚠️ 量产必炸
GPIO2 上电瞬间决定 VDD_SPI 电压:
- GPIO2=LOW → VDD_SPI=3.3V ✅
- GPIO2=HIGH → VDD_SPI=1.8V ❌ Flash 读不出
**GPIO2 绝对禁止:** I2C SDA(开漏+上拉)、OneWire、任何带外部上拉的信号
## 3. C3 Strapping 全表
- GPIO2 (Pin5) — VDD_SPI 电压选择,需保持 LOW=3.3V。**禁止接上拉!禁止做 I2C SDA!**
- GPIO8 (Pin22) — ROM 打印开关 + 下载模式。HIGH=关闭打印, LOW=进下载。需上拉 3.3V**与 D0WD 方向相反**
- GPIO9 (Pin23) — 启动模式选择。HIGH=SPI Boot, LOW=Download Boot。需上拉 + BOOT 键
## 4. USB-JTAG 约束
- GPIO18/19 默认 USB-JTAG,上电即启用
- 用作普通 GPIO 需固件重配 IO MUX
- 重配后 USB-JTAG 失效,只能 UART 烧录
## 5. RTC GPIO 唤醒限制
- **✅ Deep-sleep**: GPIO05
- **✅ Light-sleep**: GPIO011
- **❌ Deep-sleep**: GPIO1221
## 6. Flash 占用
GPIO1217: QSPI Flash 占用(模组内部连接)
## 7. 供电
- 3.03.6V, 推荐 3.3V
- LDO ≥500 mA, 纹波 <75 mVpp
- WiFi TX 峰值 ~190 mA
## 8. 无硬件
❌ DAC, ❌ 触摸, ❌ ULP, ❌ 以太网
## 9. 常见踩坑
- **C3 一直进下载模式**: GPIO8 加了上拉
→ GPIO8 下拉到 GND,按键接 3.3V
- **GPIO2 做 I2C SDA 芯片不启动**: GPIO2 被上拉 → Flash 1.8V
→ SDA 换到 GPIO1
- **USB 烧录后 GPIO18/19 不能用**: USB-JTAG 占用
→ 固件中切换 IO MUX
- **Deep-sleep 唤醒不了 GPIO12+**: 只有 GPIO05 可唤醒 Deep-sleep
→ 用 GPIO05
- **嘉立创封装引脚与数据手册不一致**: 封装厂商映射差异
→ 以 EDA 标注为准