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
+172
View File
@@ -0,0 +1,172 @@
# 嵌入式专属查询系统 — 知识库总索引
> 文件总数:**55 个 .md** | 最后审查:2026-07-27 | 编码:全部 UTF-8
> 信源:espressif.com 官方文档 (Datasheet/TRM) + 实战踩坑积累
---
## 命名规则(新增文件必须遵守)
```
芯片手册类: {芯片型号}_{类别}.md
芯片型号: esp32 / esp32-s2 / esp32-s3 / esp32-c2 / esp32-c3 / esp32-c5 / esp32-c6 / esp32-h2 / esp32-p4
类 别: specs(规格) / gpio(引脚) / constraints(约束) / peripherals(外设)
跨系列参考: platforms_{主题}.md 或 {主题描述}.md
例:platforms_esp32-pins.md / electrical-constraints.md / protocol-quick-ref.md
踩坑记录: {芯片或主题}_trap.md 或 {芯片}_fail_log.md 或 {芯片}_basics.md
例:esp32-c3_pin_trap.md / mosfet_trap.md / esp32_fail_log.md
对比文档: {芯片}_compare_{对比对象}.md
例:esp32_compare_d0wd-vs-s3.md
第三方库: {库名}_README.md
例:lvgl_README.md / waveshare_README.md
PCB/通用: pcb_{主题}.md 或 {主题描述}.md
例:pcb_rules_v2.md / common-devices.md
```
**规则:**
- 全部小写英文 + 数字 + 连字符 `-` 或下划线 `_`
- 芯片型号与类别之间用 `_` 分隔(如 `esp32-s3_gpio.md`
- 芯片型号内部用 `-`(如 `esp32-s3`
- 不允许中文文件名、空格、大写字母
- 新增文件前先查 INDEX.md 避免重复
---
## 一、ESP32 全系列芯片手册(9 系列 × 4 文件 = 36 文件)
### ESP32(经典双核 IoT 旗舰,2016
- [esp32_specs.md](esp32_specs.md):内容=完整规格:双核 LX6 240MHz, 520KB SRAM, WiFi4+BT Classic, 34 GPIO
- [esp32_gpio.md](esp32_gpio.md):内容=引脚映射:ADC 18ch, DAC 2ch, 仅输入GPIO34-39, Strapping GPIO0/2/5/12/15
- [esp32_constraints.md](esp32_constraints.md):内容=硬件约束:ADC2/WiFi冲突, GPIO12 Flash电压陷阱(禁止上拉), Flash GPIO6-11
- [esp32_peripherals.md](esp32_peripherals.md):内容=外设:4 SPI, 2 I2C, 3 UART, 2 I2S, 1 CAN, 16 LEDC, 霍尔传感器
### ESP32-S2(单核 USB IoT2019
- [esp32-s2_specs.md](esp32-s2_specs.md):内容=完整规格:单核 LX7 240MHz, 320KB SRAM, WiFi4, **无蓝牙**, USB OTG
- [esp32-s2_gpio.md](esp32-s2_gpio.md):内容=引脚映射:ADC 20ch, DAC 2ch, USB_D-/D+ GPIO19/20, 43 GPIO
- [esp32-s2_constraints.md](esp32-s2_constraints.md):内容=硬件约束:无蓝牙, ADC2/WiFi冲突, 仅3个Strapping, GPIO46仅输入
- [esp32-s2_peripherals.md](esp32-s2_peripherals.md):内容=外设:4 SPI, 2 I2C, 2 UART, LCD i80, DVP Camera, USB OTG
### ESP32-S3(双核 AI/IoT2020
- [esp32-s3_specs.md](esp32-s3_specs.md):内容=完整规格:双核 LX7 240MHz, 512KB SRAM, BLE5, AI向量指令, Octal PSRAM
- [esp32-s3_gpio.md](esp32-s3_gpio.md):内容=引脚映射:ADC 20ch, 45 GPIO, USB双控制器, Octal PSRAM GPIO33-37占用
- [esp32-s3_constraints.md](esp32-s3_constraints.md):内容=硬件约束:ADC2/WiFi冲突, Octal PSRAM引脚占用, 无DAC
- [esp32-s3_peripherals.md](esp32-s3_peripherals.md):内容=外设:LCD RGB/i80, DVP Camera, AI SIMD, 2 CAN, GDMA 5TX+5RX
- [esp32-s3_basics.md](esp32-s3_basics.md):内容=ESP32-S3 基础知识:Strapping, USB, ADC, 供电, 开发板选型
### ESP32-C2RISC-V 极致低成本,2022
- [esp32-c2_specs.md](esp32-c2_specs.md):内容=完整规格:单核 RISC-V 120MHz, 272KB SRAM, WiFi4+BLE5, SiP仅14 GPIO可用
- [esp32-c2_gpio.md](esp32-c2_gpio.md):内容=引脚映射:ADC 5ch, USB-JTAG GPIO18/19, Flash GPIO11-17, 仅2个Strapping
- [esp32-c2_constraints.md](esp32-c2_constraints.md):内容=硬件约束:**无通用SPI!仅1个UART!无I2S** GPIO极度有限
- [esp32-c2_peripherals.md](esp32-c2_peripherals.md):内容=外设:精简外设, C2 vs C3 对比表
### ESP32-C3RISC-V 低成本 IoT2020
- [esp32-c3_specs.md](esp32-c3_specs.md):内容=完整规格:单核 RISC-V 160MHz, 400KB SRAM, WiFi4+BLE5, 22 GPIO
- [esp32-c3_gpio.md](esp32-c3_gpio.md):内容=引脚映射:ADC 6ch, USB-JTAG GPIO18/19, Strapping GPIO2/8/9, Flash GPIO12-17
- [esp32-c3_constraints.md](esp32-c3_constraints.md):内容=硬件约束:**GPIO2禁止上拉!GPIO8方向与D0WD相反!** 无ADC/WiFi冲突
- [esp32-c3_peripherals.md](esp32-c3_peripherals.md):内容=外设:3 SPI, 1 I2C, 2 UART, 1 I2S, 1 CAN, GDMA 3TX+3RX
- [esp32-c3_pin_trap.md](esp32-c3_pin_trap.md):内容=⚠️ ESP32-C3 引脚映射踩坑实录:GPIO2/VDD_SPI变砖, GPIO8下载方向, 嘉立创封装差异
### ESP32-C5RISC-V 双频 WiFi62024
- [esp32-c5_specs.md](esp32-c5_specs.md):内容=完整规格:单核 RISC-V **240MHz**, 384KB SRAM, **双频WiFi6(2.4+5GHz)**, BLE5
- [esp32-c5_gpio.md](esp32-c5_gpio.md):内容=引脚映射:ADC 6ch, 芯片29 GPIO / 模组22 GPIO, GPIO13/14 40mA驱动
- [esp32-c5_constraints.md](esp32-c5_constraints.md):内容=硬件约束:双频天线设计挑战, CAN FD×2, 5GHz PCB走线阻抗
- [esp32-c5_peripherals.md](esp32-c5_peripherals.md):内容=外设:CAN FD×2, 3 UART, C5 vs C6 对比表
### ESP32-C6RISC-V WiFi6 + Thread2023
- [esp32-c6_specs.md](esp32-c6_specs.md):内容=完整规格:单核 RISC-V 160MHz, 512KB SRAM, WiFi6, BLE5.3, Thread/Zigbee
- [esp32-c6_gpio.md](esp32-c6_gpio.md):内容=引脚映射:ADC 7ch, 30 GPIO, USB-JTAG GPIO12/13, LP GPIO 8-21
- [esp32-c6_constraints.md](esp32-c6_constraints.md):内容=硬件约束:无ADC/WiFi冲突, WiFi6仅20MHz/1T1R, LP CPU 20MHz
- [esp32-c6_peripherals.md](esp32-c6_peripherals.md):内容=外设:3 UART(含LP), 2 CAN, SDIO 2.0, PARLIO, ETM
### ESP32-H2RISC-V Thread/Zigbee 无WiFi2023
- [esp32-h2_specs.md](esp32-h2_specs.md):内容=完整规格:单核 RISC-V 96MHz, 320KB SRAM, **无WiFi**, BLE5.3+Thread/Zigbee
- [esp32-h2_gpio.md](esp32-h2_gpio.md):内容=引脚映射:ADC 5ch, 19 GPIO, LP引脚仅GPIO8-14可唤醒Deep-sleep
- [esp32-h2_constraints.md](esp32-h2_constraints.md):内容=硬件约束:无WiFi, 全系列最低主频96MHz, WROOM-07仅3个GPIO
- [esp32-h2_peripherals.md](esp32-h2_peripherals.md):内容=外设:安全最强(Power Glitch Detector), 低功耗, BLE+802.15.4
### ESP32-P4RISC-V 高性能应用处理器,2023
- [esp32-p4_specs.md](esp32-p4_specs.md):内容=完整规格:双核 RISC-V **400MHz**, 768KB SRAM, 16/32MB PSRAM, **无无线**
- [esp32-p4_gpio.md](esp32-p4_gpio.md):内容=引脚映射:55 GPIO, ADC 8ch GPIO16-23, Touch 14ch GPIO2-15, MIPI CSI/DSI
- [esp32-p4_constraints.md](esp32-p4_constraints.md):内容=硬件约束:无无线需外挂协处理器, 400MHz散热, 多电源域, PRELIMINARY
- [esp32-p4_peripherals.md](esp32-p4_peripherals.md):内容=外设:H264, JPEG, MIPI, 以太网, USB HS, I3C, 2D-DMA, 最强外设
---
## 二、跨系列参考资料(10 文件)
- [platforms_esp32-pins.md](platforms_esp32-pins.md):内容=ESP32 GPIO 完整引脚参考:34引脚全表, ADC/DAC/Touch/RTC映射, 变体对比
- [platforms_esp32-specifics.md](platforms_esp32-specifics.md):内容=ESP32 深度参考:MMU/堆分配, Strapping深入, ADC2/WiFi冲突, RTC/DeepSleep
- [esp32_compare_d0wd-vs-s3.md](esp32_compare_d0wd-vs-s3.md):内容=ESP32-D0WD vs ESP32-S3 选型对比踩坑:USB, 烧录, PSRAM差异
- [electrical-constraints.md](electrical-constraints.md):内容=电气约束通用规范
- [common-devices.md](common-devices.md):内容=常用器件参考
- [protocol-quick-ref.md](protocol-quick-ref.md):内容=通信协议快速参考
- [pcb_rules_v2.md](pcb_rules_v2.md):内容=PCB 设计规范 v2
- [lvgl_README.md](lvgl_README.md):内容=LVGL 图形库参考
- [waveshare_README.md](waveshare_README.md):内容=Waveshare 微雪电子模块参考
---
## 三、实战踩坑记录(6 文件)
- [esp32_fail_log.md](esp32_fail_log.md):内容=ESP32 翻车全记录:从面包板到V5.1投板的所有踩坑,按时间排序
- [esp32-c3_pin_trap.md](esp32-c3_pin_trap.md):内容=ESP32-C3 引脚踩坑:GPIO2/VDD_SPI变砖, GPIO8下载方向, 嘉立创封装差异
- [mosfet_trap.md](mosfet_trap.md):内容=MOSFET 选型与驱动踩坑
- [cap_select_trap.md](cap_select_trap.md):内容=电容选型踩坑
- [smt_order_trap.md](smt_order_trap.md):内容=SMT 贴片下单踩坑
- [pcb_4layer_trap.md](pcb_4layer_trap.md):内容=PCB 四层板设计踩坑
- [verify_flow_trap.md](verify_flow_trap.md):内容=验证流程踩坑
- [model_confuse_trap.md](model_confuse_trap.md):内容=AI 模型混淆踩坑
---
## 四、芯片选型速查
### 按无线需求选
- WiFi + 经典蓝牙 (BR/EDR):推荐芯片=**ESP32**
- WiFi + BLE:推荐芯片=ESP32-S3 / C3 / C2
- WiFi + BLE + Thread/Zigbee:推荐芯片=**ESP32-C6**
- 双频 WiFi (2.4+5GHz) + BLE:推荐芯片=**ESP32-C5**
- USB OTG + WiFi:推荐芯片=ESP32-S2 / S3
- 仅 BLE + Thread/Zigbee (无WiFi):推荐芯片=**ESP32-H2**
- 高性能多媒体 (无无线):推荐芯片=**ESP32-P4**
- 极致低成本 BLE+WiFi:推荐芯片=**ESP32-C2**
### 按性能选
- 最高 CPU 性能:推荐=ESP32-P4 (400MHz 双核 RISC-V)
- AI/ML 推理:推荐=ESP32-S3 (向量指令)
- 最大 GPIO:推荐=ESP32-P4 (55) / ESP32-S3 (45)
- 最低功耗:推荐=ESP32-H2 (7µA Deep-sleep, 无WiFi)
- 最小封装:推荐=ESP32-C2 (QFN24 4×4mm)
### 按外设选
- 最多 SPI:推荐=ESP32-P4 (5)
- CAN FD:推荐=ESP32-C5 (×2)
- 以太网 MAC:推荐=ESP32-P4
- MIPI CSI/DSI:推荐=ESP32-P4
- H264 编码:推荐=ESP32-P4
- DAC 输出:推荐=ESP32 / ESP32-S2
- 霍尔传感器:推荐=ESP32(仅此一家)
- 电容触摸:推荐=ESP32 / S2 / S3 / P4
---
## 五、常见踩坑速查
- GPIO12 上拉 → Flash 变砖:芯片=ESP32, 查阅=[esp32_constraints.md](esp32_constraints.md)
- GPIO2 做 I2C SDA → VDD_SPI 变砖:芯片=ESP32-C3, 查阅=[esp32-c3_pin_trap.md](esp32-c3_pin_trap.md)
- GPIO8 下载方向与 D0WD 相反:芯片=ESP32-C3, 查阅=[esp32-c3_pin_trap.md](esp32-c3_pin_trap.md)
- ADC2 开启 WiFi 后读数噪音:芯片=ESP32/S2/S3, 查阅=各 constraints.md
- Octal PSRAM 占用 GPIO33-37:芯片=ESP32-S3, 查阅=[esp32-s3_constraints.md](esp32-s3_constraints.md)
- C2 没有通用 SPI:芯片=ESP32-C2, 查阅=[esp32-c2_constraints.md](esp32-c2_constraints.md)
- H2 没有 WiFi:芯片=ESP32-H2, 查阅=[esp32-h2_specs.md](esp32-h2_specs.md)
- P4 没有无线:芯片=ESP32-P4, 查阅=[esp32-p4_specs.md](esp32-p4_specs.md)
- S2 没有蓝牙:芯片=ESP32-S2, 查阅=[esp32-s2_specs.md](esp32-s2_specs.md)
- WROOM-07 仅 3 个 GPIO:芯片=ESP32-H2, 查阅=[esp32-h2_gpio.md](esp32-h2_gpio.md)
+16
View File
@@ -0,0 +1,16 @@
# ESP32 开发资源库
ESP32 全系列 9 芯片的固件代码、GPIO 配置模板、外设驱动文档。
## 目录
| 目录 | 内容 |
|:--|:--|
| `firmware/` | 各项目固件:Volt Hound V1.0/V2.0、RPM V3.3、电子宠物 V1.0 |
| `gpio/` | 全系 GPIO 约束速查(Strapping/ADC/PSRAM |
| `drivers/` | 外设驱动参考(SPI/I2C/UART/I2S 等) |
## 相关资源
- Wiki: https://wiki.suyushi.top/esp32
- 知识库: https://suyushi.top/agent/agt_ksjt3j38XhHW/docs
+68
View File
@@ -0,0 +1,68 @@
# ESP32-C2 外设清单
> **芯片:esp32-c2** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
> 注意:C2 是极致低成本芯片,外设大幅精简
## 通信接口
- SPI ×2 — SPI0/1 均为 Flash 占用,**无通用 SPI**
- I2C ×1 — 可映射到任意 GPIO
- UART ×**1** — UART0(默认 GPIO20/21),同时用于烧录
- I2S ×**0** — 无 I2S 音频接口
- CAN (TWAI) ×**0** — 无 CAN 接口
- USB Serial/JTAG ×1 — GPIO18/19
> ⚠️ 无通用 SPI、无 I2S、只有 1 个 UART — 选型前务必确认外设需求。
## PWM 与波形
- **LEDC**: 6 通道
- **RMT**: 2 TX + 2 RX
> 无 MCPWM(电机控制 PWM
## 模拟外设
- SAR ADC ×15 通道) — 12-bit,最高 100 Ksps
- 温度传感器 ×1 — 片上
> 无 DAC、无触摸传感器
## 定时器
- **通用定时器**: 254-bit
- **系统定时器**: 152-bit
- **看门狗**: 3
## DMA
- **GDMA**: 21 TX + 1 RX
> C2 的 DMA 通道数远少于 C3 的 3TX+3RX
## 安全
- **AES**: AES-128/256
- **SHA**: 硬件加速
- **ECC**: 硬件加速
- **Flash Encryption**: XTS-AES-128
- **Secure Boot**: 支持
- **TRNG**: 真随机数
## 其他
- 脉冲计数器 (PCNT): 1 个
- 温度传感器: 1 个
## C2 vs C3 外设对比
- CPU — RISC-V 120MHz, RISC-V 160MHz
- SRAM ×272 KB — 400 KB
- GPIO ×14SiP — 22
- ADC ×5ch — 6ch
- 通用 SPI — ❌, ✅ SPI2
- UART ×1 — 2
- I2S — ❌, ✅
- CAN — ❌, ✅
- DMA ×1TX+1RX — 3TX+3RX
- 封装 ×QFN24 4x4 — QFN32 5x5
+33
View File
@@ -0,0 +1,33 @@
# ESP32-C3 外设清单
> **芯片:esp32-c3** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 通信
- SPI ×3 — SPI2 通用, max 80 MHz
- I2C ×1 — max 800 Kbps
- UART ×2 — max 5 Mbps
- I2S ×1 — max 40 MHz BCK
- CAN (TWAI) ×1 — CAN 2.0
- USB Serial/JTAG ×1 — 烧录+调试
## PWM & 波形
- **LEDC**: 6 ch
- **RMT**: 2 TX + 2 RX
## 模拟
- SAR ADC ×2 (6 ch) — 12-bit, max 100 Ksps
- 温度传感器 ×1
> ❌ 无 DAC, 无触摸
## 定时器
通用×2 (54-bit), 系统×1 (52-bit), WDT×3
## DMA
GDMA: 3 TX + 3 RX
## 安全
AES-128/256, SHA, RSA-4096, ECC, Flash Encryption, Secure Boot, TRNG, HMAC, Digital Signature
## 其他
PCNT×1
+66
View File
@@ -0,0 +1,66 @@
# ESP32-C5 外设清单
> **芯片:esp32-c5** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 通信接口
- SPI ×3 — 2 供 Flash/PSRAM1 通用 SPI
- I2C ×2 — 1 HP + 1 LP
- UART ×3 — 2 HP + 1 LP
- I2S ×1
- CAN — **2CAN FD**, ISO 11898-1:2015, 最高 5 Mbps
- USB Serial/JTAG — 1
- SDIO 2.0 ×1 — 从机模式
- PARLIO ×1 — 并行 IO
## PWM 与波形
- **LEDC**: 6 通道
- **MCPWM**: 6 通道
- **RMT**: TX + RX
## 模拟外设
- SAR ADC ×16 通道) — 12-bitGPIO16
- 模拟电压比较器 ×1 — GPIO8/9 输入
- 温度传感器 ×1 — 片上
- 掉电检测 (Brownout) — 1
> 无 DAC、无触摸传感器
## 定时器
- **通用定时器**: 254-bit
- **系统定时器**: 152-bit
- **RTC 定时器**: 1
- **看门狗**: 4
## DMA 与事件
- **GDMA**: 3 TX + 3 RX
- **ETM(事件任务矩阵)**: 1
## 安全
- **AES**: AES-128/256
- **SHA**: 硬件加速
- **ECC**: 硬件加速
- **RSA**: 最高 4096-bit
- **Flash Encryption**: XTS-AES-128
- **Secure Boot**: 支持
- **TRNG**: 真随机数
- **HMAC**: 硬件
## 其他
- 脉冲计数器 (PCNT): 1 个
## C5 vs C6 外设对比
- CPU — RISC-V 240MHz, RISC-V 160MHz
- SRAM ×384 KB — 512 KB
- GPIO(芯片/模组) ×29 / 22 — 30 / 23
- ADC ×6ch — 7ch
- Wi-Fi — 双频 (2.4+5GHz), 2.4GHz only
- CAN ×CAN FD ×2 — CAN 2.0 ×2
- 封装 ×QFN48 6×6 — QFN40 5×5
+32
View File
@@ -0,0 +1,32 @@
# ESP32-C6 外设清单
> **芯片:esp32-c6** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 通信
- SPI ×3 — SPI2 通用
- I2C ×2 — I2C + LP I2C
- UART ×3 — UART0/1 + LP UART, max 5 Mbps
- I2S ×1
- CAN (TWAI) ×2 — CAN 2.0
- USB Serial/JTAG — 1
- SDIO 2.0 ×1 — 从机
- PARLIO ×1 — 并行 IO
## PWM & 波形
LEDC 6ch, MCPWM 1, RMT 2TX+2RX
## 模拟
SAR ADC 1 (7ch, 12-bit), 温度传感器
❌ 无 DAC, 无触摸
## 定时器
通用×2 (54-bit), 系统×1 (52-bit), WDT×4
## DMA & 事件
GDMA 3TX+3RX, ETM (Event Task Matrix)
## 安全
AES, SHA, RSA-4096, ECC, Flash Encryption, Secure Boot, TRNG
## 其他
PCNT×1
+31
View File
@@ -0,0 +1,31 @@
# ESP32-H2 外设清单
> **芯片:esp32-h2** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 通信
- **SPI**: 31 通用)
- **I2C**: 2
- **UART**: 2
- **I2S**: 1
- **CAN (TWAI)**: 1
- **USB Serial/JTAG**: 1
- **PARLIO**: 1
## PWM & 波形
LEDC 6ch, MCPWM 1, RMT 2TX+2RX
## 模拟
SAR ADC 1 (5ch, 12-bit), 温度传感器
❌ 无 DAC, 无触摸
## 定时器
通用×2 (54-bit), 系统×1 (52-bit), WDT×3
## DMA & 事件
GDMA 3TX+3RX, ETM
## 安全(H2 最强)
AES-128/256, SHA, RSA, ECC (ECDSA + P256), Flash Encryption (XTS-AES-128/256), Secure Boot (ECC), TRNG, HMAC, Digital Signature (RSA_DS + ECDSA_DS), **Power Glitch Detector**
## 其他
PCNT×1
+47
View File
@@ -0,0 +1,47 @@
# ESP32-P4 外设清单
> **芯片:esp32-p4** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 通信
- SPI ×5 — 4 HP + 1 LP
- I2C ×4 — 2 HP + 1 LP + 1 模拟
- I3C ×1 — Master & Slave
- UART ×6 — 5 HP + 1 LP
- I2S ×4 — 3 HP + 1 LP (含 PDM)
- CAN (TWAI) — 1
- USB HS OTG ×1 — 480 Mbps
- USB FS OTG ×1 — 12 Mbps
- USB Serial/JTAG — 1
- Ethernet MAC ×1 — RMII 10/100 Mbps
## 多媒体(P4 独有)
- **MIPI CSI**: 2-lane 摄像头
- **MIPI DSI**: 2-lane 显示
- **H264 Encoder**: 硬件编码
- **JPEG Codec**: 硬件编解码
- **ISP**: 图像信号处理器
- **PPA**: 像素处理加速器
- **LCD Controller**: RGB/i8080/MOTO6800
## PWM & 电机
MCPWM ×2, LEDC, RMT, PARLIO
## 模拟
- SAR ADC: 2 控制器, 12-bitADC1: 8ch GPIO1623
- 触摸: 14ch (GPIO215)
- 温度传感器, 模拟电压比较器, VAD (语音活动检测)
## 定时器
HP 系统×2 (52-bit), HP 通用×4 (54-bit), LP 通用×1 (48-bit), WDT×4
## DMA
GDMA-AHB, GDMA-AXI, VDMA (视频), **2D-DMA** (图像)
## 存储
SD/MMC SDIO 3.0, QSPI Flash (外部)
## 安全
AES, SHA, RSA-4096, ECC, XTS-AES (外部内存加解密), Flash Encryption, Secure Boot, TRNG, Key Manager (SRAM PUF HUK), PMS (权限管理+APM+特权分离), PMP/PMA (物理内存保护)
## 其他
PCNT, BitScrambler, RISC-V Trace Encoder
+33
View File
@@ -0,0 +1,33 @@
# ESP32-S2 外设清单
> **芯片:esp32-s2** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 通信
- SPI ×4 — SPI2(FSPI), SPI3 用户可用
- I2C ×2
- UART ×2 — UART0/UART1
- I2S ×1 — 全双工音频
- CAN (TWAI) ×1 — CAN 2.0
- USB OTG ×1 — Full-Speed USB 2.0
## PWM & 电机
- **LEDC**: 8 ch
- **MCPWM**: 2
- **RMT**: 4 ch
## 模拟
- SAR ADC ×2 (20 ch) — 12-bit
- DAC ×2 ch — 8-bit (GPIO17/18)
- 触摸 ×14 ch
- 温度传感器 ×1
## 显示 & 摄像头
- **LCD**: 8-bit i80 / RGB
- **DVP Camera**: 8-bit
## 安全
AES-128/256, SHA, RSA-4096, Flash Encryption, Secure Boot, TRNG
## 其他
- 定时器: 通用×4 (64-bit), 系统×1 (52-bit), WDT×3
- DMA, SD/MMC, PCNT×4
+44
View File
@@ -0,0 +1,44 @@
# ESP32-S3 外设清单
> **芯片:esp32-s3** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 通信
- SPI ×4 — SPI0/1 FlashSPI2+SPI3 用户可用
- I2C ×2
- UART — 3
- I2S ×2 — 全双工音频
- CAN (TWAI) ×1 — CAN 2.0 (ISO 11898-1)
- USB OTG ×1 — Full-Speed USB 2.0
- USB Serial/JTAG ×1 — 烧录+调试
## PWM & 电机
- **LEDC**: 8 ch
- **MCPWM**: 2
- **RMT**: 8 ch (4TX + 4RX)
## 模拟
- SAR ADC ×2 (20 ch) — 12-bit
- 触摸 ×14 ch
- 温度传感器 ×1
> ⚠️ 无 DAC
## 显示 & 摄像头
- **LCD**: 8/16-bit RGB, i8080, MOTO6800RGB565/YUV422/YUV420/YUV411 色彩转换
- **DVP Camera**: 816 bit
## AI 加速
向量指令 (SIMD) 扩展,支持 TensorFlow Lite Micro 推理
## DMA
GDMA: 5 TX + 5 RX
## 存储
SD/MMC: 12 slots
## 安全
AES, SHA, RSA-4096, ECC, Flash Encryption, Secure Boot, TRNG, HMAC
## 其他
- 定时器: 通用×4 (64-bit), 系统×1 (52-bit), WDT×3
- PCNT: 8 ch
+42
View File
@@ -0,0 +1,42 @@
# ESP32 外设清单
> **芯片:esp32** | **类别:peripherals** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 通信接口
- SPI ×4 — SPI0/1 FlashSPI2(HSPI)+SPI3(VSPI) 用户可用
- I2C ×2 — 标准/快速模式 (100/400 Kbps),默认 SDA=GPIO21, SCL=GPIO22
- UART ×3 — UART0(默认 GPIO1/3 烧录用)/ UART1 / UART2
- I2S ×2 — 全双工音频
- CAN (TWAI) ×1 — CAN 2.0,任意 GPIO 通过矩阵
- SD/MMC ×1 — Slot0 8-bit (GPIO6-11/16-17/5/18), Slot1 4-bit (GPIO14-15/2/4/12-13)
- EMAC ×1 — 以太网 MAC(需外部 PHY,如 LAN8720),专用引脚
## PWM & 电机
- LEDC ×16 ch — 高速×8 + 低速×8
- MCPWM ×2 — BLDC/步进电机
- RMT ×8 ch — 红外/WS2812
## 模拟
- SAR ADC ×2 (18 ch) — 12-bit
- DAC ×2 ch — 8-bit (GPIO25/26)
- 触摸 ×10 ch — 电容式
- 霍尔传感器 ×1 — 仅 ESP32
- 温度传感器 ×1
## 定时器
- **通用定时器**: 4 (2组 64-bit)
- **系统定时器**: 1 (52-bit)
- **看门狗**: 3
## DMA
- **DMA**: 13 ch
- **SD/MMC**: 1
## 安全
- AES-128/256, SHA, RSA-4096, ECC
- Flash Encryption (XTS-AES-128)
- Secure Boot (RSA/ECDSA), TRNG
## 其他
- 脉冲计数器 (PCNT): 8 ch
- 以太网 MAC: 1(需外部 PHY
+235
View File
@@ -0,0 +1,235 @@
# ESP32翻车全记录
> **类别:fail_log** | **芯片:cross-platform** | **主题:ESP32翻车全记录 (2026.05-07)**
> 从2026年5月入坑到2026年7月V5.1投板,所有ESP32相关翻车事件汇总。按时间顺序排列,每条附项目版本、代价和教训。
---
## 一、面包板原型阶段(2026年5月)
### 1. Arduino IDE板卡装错
- **项目**:电池检测仪早期面包板验证
- **翻车**:装了"Arduino ESP32 Boards"(只有Nano ESP32),不是"esp32 by Espressif Systems",编译选不到ESP32 Dev Module
- **代价**:浪费1小时
- **教训**:搜esp32时认准Espressif Systems出品的那个
### 2. ESP32经典版和C3的BOOT引脚搞混
- **项目**:面包板接线
- **翻车**:以为ESP32-C3的BOOT是GPIO0(经典版),实际C3是GPIO8/GPIO9控制启动模式
- **代价**:接线错误,重新查Datasheet纠正
- **教训**:不同ESP32型号的Strapping引脚完全不同,不能凭经验混用
### 3. OLED I2C引脚随便分配
- **项目**:面包板接线
- **翻车**GPIO有空就塞,没查Strapping和JTAG约束,SDA/SCL分配到哪算哪
- **代价**:后续引脚分配推倒重来多次
- **教训**ESP32引脚分配必须先查Strapping/JTAG/ADC约束再分配,不能有空就塞
---
## 二、GBC V1.x~V2.x SMT打板阶段(2026年6月)
### 4. MOSFET源极跟随器——GBC V2.0整板报废
- **项目**GBC V2.0SMT打板)
- **翻车**:AO3400A接成高侧源极跟随器(Drain接电池正极、Source接负载),Vgs被源极电压钳位,负载永远得不到满电压,Rdson非线性变化,内阻计算全错
- **代价**:整板报废,¥420学费
- **教训**:N-MOS做开关必须低端接法——负载在上、MOS在下、S极接地、Vgs恒定3.3V
### 5. MOSFET引脚D/S画反——V2.0整板报废的同批次
- **项目**GBC V2.0
- **翻车**AO3400A SOT-23-3引脚D/S画反,左脚=D(漏极)中间=G(栅极)右脚=S(源极),原理图画反导致整板所有MOS全废
- **代价**:与#4同批报废,¥420学费
- **教训**:画原理图前必须对照Datasheet确认MOS引脚定义,不能信AI记忆
### 6. 检流电阻与MOS并联——电流检测完全失效
- **项目**GBC早期拓扑
- **翻车**R_shunt与MOSFET并联而非串联,电流走MOS短路了检流电阻,INA226测不到电流
- **代价**:拓扑设计推倒重来
- **教训**:检流电阻必须串在MOS源极到GND之间,电流必须全部流过采样电阻
### 7. INA226引脚号全错——VBUS和VS搞反
- **项目**GBC V2.0文档
- **翻车**:功能说明文档里INA226引脚排列与TI官方Datasheet SBOS664严重不符,把VBUS(Pin5)和VS(Pin8)搞反了,还凭空多出个NC引脚。VBUS是电压采样输入引脚被当成供电脚,VS才是供电脚被当成电压采样
- **代价**:又加了一组100kΩ分压电阻+滤波电容做ADC降级方案,后来全部删掉重做
- **教训**:IC引脚定义必须逐条对照官方Datasheet验证,不能凭AI记忆或网上二手资料
### 8. BOOT键接错引脚——GPIO8 vs GPIO9
- **项目**GBC V1.7
- **翻车**BOOT键接GPIO8,按下拉3V3。但ESP32-C3的Download模式要求GPIO8=1且GPIO9=0,开发板BOOT键接的是GPIO9不是GPIO8
- **代价**:按BOOT键进不了下载模式
- **教训**ESP32-C3的BOOT键必须接GPIO9(按下接GND拉低),GPIO8必须外部上拉3V3
### 9. GPIO8 NC悬空——Download模式非法组合
- **项目**GBC V1.8
- **翻车**V1.8把SW2从GPIO8改到GPIO9(纠正了#8),但GPIO8没加上拉直接NC。GPIO8内部高阻态无上下拉,按BOOT(GPIO9=0)时GPIO8=0,组合(0,0)是ESP32-C3官方明确声明的非法组合,行为未定义
- **代价**:下载不可靠,每次都不合法
- **教训**GPIO8必须有10kΩ外部上拉到3V3,确保Download模式(GPIO8=1, GPIO9=0)合法
### 10. 设计继承翻车——同一个MOS坑踩两遍
- **项目**NES版拓扑
- **翻车**:GBC版已验证正确的低端开关接法,写NES版拓扑时凭印象重新写,又写回了源极跟随器。该抄作业的地方没抄,自己"创作"了个错的
- **代价**:如果没被审查发现,NES版也会整板报废
- **教训**:已验证项目的接法必须直接继承,禁止凭印象重写。该抄就抄
### 11. 跳过面包板实测——SMT到手才发现问题
- **项目**GBC版全流程
- **翻车**:全程没做面包板测试直接上SMT,模拟电路问题(MOS接法、检流拓扑)在网表验证和AI审查中都没被发现,SMT到手才暴露
- **代价**:整板报废+重新打板
- **教训**:不做面包板验证不上板,核心模拟通路必须实测确认
### 12. ESP32-WROOM-32D没有原生USB——板子到手无法烧录
- **项目**:早期选型
- **翻车**:选了WROOM-32D模组但没加USB转串口芯片(CH340/CH9102)Type-C只能供电无法下载固件,板子变砖
- **代价**:废板
- **教训**:32D没有原生USB,BOM里必须列出USB转串口芯片+外围;选C3/S3原生USB可省大量器件
### 13. ESP32-32D GPIO12上拉导致Flash变砖
- **项目**ESP32-32D选型调研
- **翻车**GPIO12是Strapping引脚,决定VDD_SDIO电压。上拉10kΩ→VDD_SDIO=1.8V→外部3.3V Flash无法工作
- **代价**:设计约束认知
- **教训**:Strapping引脚偏置方向不能随便加,GPIO12必须下拉GND保持3.3V
---
## 三、GBC V3.x~V4.x整改验证阶段(2026年7月初)
### 14. USB D+多余上拉——COM口存在但打不开
- **项目**GBC V4.7/V4.8
- **翻车**ESP32-C3内置D+上拉电阻,但板子上又外挂了1.5kΩ R9上拉3V3,双重上拉导致D+永远被强拉到3V3,USB主机无法正常识别设备断开/连接状态。COM6存在但通信层打不开
- **代价**:拆掉R9才修好
- **教训**ESP32-C3/S3原生USB不需要外部D+上拉,只需22Ω串联电阻
### 15. WDT看门狗API版本不兼容——编译失败
- **项目**GBC V5.0固件编译
- **翻车**V5.0固件用了ESP-IDF v5.1+的新版WDT APIesp_task_wdt_config_t结构体+指针参数),但当前Arduino-ESP32 Core仍为旧版签名(双参数uint32_t+bool),编译2 error
- **代价**:重新查API写法改代码
- **教训**ESP32 Arduino Core版本升级会破坏API兼容性,WDT初始化代码要匹配当前Core版本
### 16. INA226封装引脚映射混乱——VBUS/IN+/IN-互换了
- **项目**GBC V4.7/V4.8 SMT到手
- **翻车**:KiCad封装库的引脚编号与IC物理引脚不一致(Pin8≠物理Pin8),拓扑文档的映射关系又写错了(KiCad Pin8→物理Pin3写成了VBUS但实际Pin3=IN+),导致VBUS线连到IN+、IN+连到VBUS、IN-连到A0。两块板子都一样——INA226电压读数固定0x04EF,电流读数0xFFFF
- **代价**:两块板子INA226模拟功能全废,只能手动飞线修复
- **教训**:封装引脚映射必须从EDA库实际焊盘图验证,不能信拓扑文档的映射注释;嘉立创EDA按功能名连的网表是安全的,按pin号连的必须核物理位置
### 17. GPIO2 Strapping当SDA用——启动隐患
- **项目**GBC V4.8/V5.1
- **翻车**GPIO2是ESP32-C3三个Strapping引脚之一,启动时必须为HIGH才能正常SPI Boot。V4.8把GPIO2当I2C SDA用,4.7kΩ上拉空闲时确实HIGH,但I2C设备上电瞬间可能拉低SDA,踩在启动采样窗口(3ms)内就会干扰Boot
- **代价**:V4.8实测4.7kΩ上拉够强没出事,但V5.0还是修了——SDA挪到GPIO1GPIO2加专用R28(10kΩ)上拉3V3
- **教训**:Strapping引脚不要挂总线,单独上拉锁死电平最安全
### 18. GPIO2 Strapping风险理解错误——VDD_SPI炸Flash说法是错的
- **项目**GBC V5.0修复
- **翻车**:皮蛋最初说"GPIO2 HIGH→VDD_SPI=1.8V→Flash炸",这是把ESP32经典版(GPIO12/MTDI)的行为错误套用到C3上。C3的VDD_SPI由VDD3P3_CPU内部分压固定3.3VGPIO2不控制VDD_SPI。真实风险是浮空毛刺在采样窗口被误读
- **代价**:修复方向虽然对了(SDA换GPIO1+GPIO2上拉),但原理理解是错的
- **教训**:不同ESP32型号的Strapping机制不同,C3≠经典版≠S3,不能套用
### 19. V5.1裸片移植时V5.0修复被丢掉——GPIO2 Strapping隐患回潮
- **项目**GBC V5.1
- **翻车**V5.0已修复GPIO2 Strapping问题(SDA挪GPIO1、GPIO2加R28上拉),但V5.1换回裸片时把R28删了、GPIO1改回NC、SDA又放回GPIO2,等于V5.0的修复被丢了,V4.8的老隐患回来
- **代价**:最终在智谱5.2终审和DeepSeek审查中被发现,重新加R27(10kΩ)上拉+SDA改GPIO1
- **教训**:版本迁移时必须逐条检查上一版的修复项,不能因为"换封装了"就默认不需要
---
## 四、RPM马达测试仪相关(2026年7月)
### 20. GPIO45 LED接法导致ESP32-S3变砖
- **项目**RPM V3.3
- **翻车**GPIO45是ESP32-S3的Strapping引脚,决定VDD_SPI电压(0→3.3V, 1→1.8V)。LED接成低电平亮(3V3→D3→R19→GPIO45),启动时LED正向导通把GPIO45拉高,VDD_SPI=1.8V→3.3V Flash读不出→芯片一行固件都跑不到→变砖。LED电流仅0.1mA但Vf=2.3V足以超过VIL(0.825V)
- **代价**:如果没被智谱5.2审查发现,RPM板子到手必砖
- **教训**Strapping引脚上的LED必须接成启动安全方向——GPIO45接高电平有效(LED接GND侧),启动时内部下拉=LOW=LED灭=VDD_SPI=3.3V
### 21. RPM邮票孔模组走标准型——加工费起飞
- **项目**RPM V3.3
- **翻车**ESP32-S3-WROOM-1-N8R8是邮票孔模组封装,嘉立创SMT只能走标准型,加工费+换料费远高于经济型。标准型2片约800元(含295元换料费)
- **代价**:打样成本高企
- **教训**:选模组前先查嘉立创SMT加工类型,邮票孔=标准型=贵;QFN裸片=经济型=便宜
---
## 五、电子宠物项目相关(2026年7月)
### 22. S3-MINI-1邮票孔封装换料费高
- **项目**:电子宠物V1.0
- **翻车**ESP32-S3-MINI-1也是邮票孔模组,跟RPM一样走标准型,换料费贵
- **代价**:决定等GBC V5.1验证后换S3FH4R2裸片走经济型
- **教训**:同#21,邮票孔是成本大坑
---
## 六、智谱5.2终审及整改阶段(2026年7月21日)
### 23. 反接过功耗——MOSFET栅极寄生通路
- **项目**GBC V5.1智谱终审#1
- **翻车**:电池反接时VBUS通过R13→Q1栅极→R18→GND形成通路,100mA+电流通过R13(1kΩ)和Q1栅极,R13功耗=0.1W超1206额定0.25V的40%R18(10kΩ)分压可能让Q1误导通
- **代价**:新增F1(PTC)+R15/R16换1210封装
- **教训**:反接保护不能只看主通路,寄生路径也要算
### 24. ADC源阻抗50kΩ超标
- **项目**GBC V5.1智谱终审警告2
- **翻车**R4/R31各100kΩ分压,源阻抗=50kΩ,超ESP32-C3 ADC推荐值(<10kΩ),采样电容充不满读数偏低
- **代价**R4/R31从100kΩ改10kΩ(C25744零换料费),源阻抗降到5kΩ
- **教训**:ADC分压电阻不能太大,源阻抗要在推荐值以内
---
## 七、M3二审假警报(2026年7月21日)
### 25. M3算错DW01A过流阈值
- **项目**GBC V5.1 M3第6轮审查P1-3
- **翻车**(M3的翻车):M3假设负载电流流过R26(1kΩ)计算过流阈值=0.16mA,实际R26是DW01A的CS引脚限流电阻,CS是高阻输入,负载电流根本不走R26。真实过流阈值=0.15V÷8205A导通电阻(75mΩ)≈2A165mA工作电流远低于此
- **代价**:浪费审查时间
- **教训**:AI审查报告的结论也要逐条核验,尤其是计算类结论
### 26. M3张冠李戴晶振ESR规格
- **项目**GBC V5.1 M3第6轮审查P1-4
- **翻车**M3的翻车):M3声称"ESP32-C3 datasheet v2.4 Section 2.4.2: ESR≤60Ω",实际查datasheet原文Section 5.2建议工作条件表根本没有晶振ESR规格。60Ω来源不明,疑似从32.768kHz RTC晶振ESR≤70kΩ张冠李戴。ESP32-C3官方对40MHz晶振不设ESR限制
- **代价**:浪费时间论证,但C424432(ESR=40Ω)确认不换
- **教训**AI引用的"官方规格"必须回原文验证,不能盲信
---
## 翻车分类统计
- Strapping引脚相关:次数=7次, 典型案例=#8/9/13/17/18/19/20
- MOSFET接法相关:次数=3次, 典型案例=#4/5/6
- IC引脚映射/封装:次数=3次, 典型案例=#7/16/23
- 设计继承/流程:次数=2次, 典型案例=#10/19
- 选型/成本:次数=3次, 典型案例=#12/21/22
- 固件/编译:次数=2次, 典型案例=#14/15
- AI审查假警报:次数=2次, 典型案例=#25/26
- ADC/模拟:次数=1次, 典型案例=#24
- 面包板验证:次数=1次, 典型案例=#11
- IDE/工具:次数=1次, 典型案例=#1
---
## 最贵的5条教训
1. **¥420** — MOSFET源极跟随器+引脚D/S反,整板报废(#4+#5
2. **废板** — ESP32-32D没原生USB没加串口芯片,变砖(#12
3. **两板飞线** — INA226封装映射错误,模拟功能全废(#16
4. **差点砖** — RPM GPIO45 LED拉高Strapping变砖(#20
5. **两板飞线** — USB D+多余上拉COM口打不开(#14
---
## 铁律沉淀
从这些翻车中提炼出来的规则,已写入MEMORY.md长期执行:
1. N-MOS做开关,负载在上MOS在下,S极接地,禁止源极跟随器
2. ESP32引脚分配必须先查Strapping/JTAG/ADC约束再分配
3. 已验证项目的接法必须直接继承,禁止凭印象重写
4. 不做面包板验证不上板
5. IC引脚定义必须逐条对照官方Datasheet验证
6. Strapping引脚不要挂总线,单独上拉/下拉锁死电平
7. 不同ESP32型号的Strapping机制不同,不能套用
8. 封装引脚映射必须从EDA库实际焊盘图验证
9. 版本迁移时必须逐条检查上一版修复项
10. 邮票孔模组=标准型=贵,QFN裸片=经济型=便宜
11. AI审查报告结论也要逐条核验,不能盲信
12. ADC分压源阻抗要在推荐值以内
13. 反接保护不能只看主通路,寄生路径也要算
14. ESP32-C3/S3原生USB不需要外部D+上拉
+93
View File
@@ -0,0 +1,93 @@
# ESP32-C2 GPIO 引脚映射
> **芯片:esp32-c2** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
> 注意:SiP Flash 型号(ESP32-C2FH4 等)仅 14 个 GPIO 可用
## 系统引脚(System Pins
**EN (CHIP_PU)** [I, QFN24 待核实 Pin 号]
: 芯片使能。高电平=正常工作,低电平=芯片关闭。
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
**VDD** [P]
: 芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
: VDD3P3 单一供电域。
**GND** [P]
: 所有 GND 焊盘必须全部连接到电源地平面。
**XTAL_P / XTAL_N** [-]
: 40 MHz 外部高速晶振。**不可复用为 GPIO。**
**LNA_IN** [I]
: 射频天线输入端口(WiFi 4 + BLE 5.0)。**不可复用为 GPIO。**
**USB_D- / USB_D+** [I/O, GPIO18/19]
: USB Serial/JTAG。默认上电即启用。用作普通 GPIO 需固件重配 IO MUX。
: 重配后 USB 烧录失效,只能通过 UART0 (GPIO20/21) 烧录。
> C2 无通用 SPISPI2 不可用)、无 I2S、仅 1 个 UARTUART0)。SiP Flash 型号(FH4 等)GPIO11-17 被内部 Flash 占用,仅 14 个 GPIO 可用。是 ESP8266 的直接替代升级。
## Strapping 引脚(2个)
- **GPIO8**:功能=启动模式, 说明=上电时确定启动方式
- **GPIO9**:功能=启动模式, 说明=上电时确定启动方式
> C2 只有 2 个 Strapping 引脚(GPIO8/9),比 C33个)更少。
## ADC 映射(仅 ADC15chWiFi 可用)
- ADC1_CH0GPIO=GPIO0, 备注=XTAL_32K_P 复用
- ADC1_CH1GPIO=GPIO1, 备注=XTAL_32K_N 复用
- ADC1_CH2GPIO=GPIO2, 备注=FSPIQ 复用
- ADC1_CH3GPIO=GPIO3, 备注=JTAG_MTMS 复用
- ADC1_CH4GPIO=GPIO4, 备注=JTAG_MTCK 复用
参数:12-bit SAR,最高 100 Ksps
- 衰减 0 dB: 0750 mV
- 衰减 11 dB: 02500 mV
- 推荐工作范围: 02800 mV
- **无 ADC2,无 ADC/WiFi 冲突**
## USB Serial/JTAG
- USB_D-GPIO=**GPIO18**, 说明=默认 USB,切 GPIO 需固件配置
- USB_D+GPIO=**GPIO19**, 说明=默认 USB,切 GPIO 需固件配置
## Flash 占用引脚
- GPIO1117:功能=QSPI Flash, 说明=SiP 封装内 Flash 占用,不可用
> 非 SiP 型号(无内置 Flash)这些引脚可能可用,但极少见。
## 所有 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
- 3ADC=ADC1_CH3, RTC 唤醒=Deep-sleep, 复用功能=JTAG_MTMS
- 4ADC=ADC1_CH4, RTC 唤醒=Deep-sleep, 复用功能=JTAG_MTCK
- 5RTC 唤醒=Deep-sleep, 复用功能=JTAG_MTDI
- 6RTC 唤醒=Light-sleep, 复用功能=FSPICLK
- 7RTC 唤醒=Light-sleep, 复用功能=FSPID
- 8RTC 唤醒=Light-sleep, 复用功能=FSPICS0, Strapping=⚡ 启动模式
- 9RTC 唤醒=Light-sleep, 复用功能=FSPIHD, Strapping=⚡ 启动模式
- 10RTC 唤醒=Light-sleep, 复用功能=FSPIWP, FSPICS1
- 11RTC 唤醒=Light-sleep, 复用功能=VDD_SPI, 备注=🔒 Flash (SiP)
- 12–17:复用功能=FSPI 总线, 备注=🔒 Flash (SiP)
- 18:复用功能=**USB_D-**, 备注=⚠️ USB
- 19:复用功能=**USB_D+**, 备注=⚠️ USB
- 20RTC 唤醒=Light-sleep, 复用功能=U0RXD, 备注=唯一 UART RX
> GPIO21 在部分资料中出现但 QFN24 封装未引出。
## 新手安全 GPIO
> **GPIO05ADC 全通道,避开 Strapping 和 USB**
注意:C2 GPIO 总数仅 14(SiP 型号),规划外设时需精打细算。
## 与外设默认引脚
- UART0 TX:默认引脚=GPIO21, 说明=烧录和日志输出
- UART0 RX:默认引脚=GPIO20, 说明=烧录和日志输入
- USB-JTAG D-:默认引脚=GPIO18
- USB-JTAG D+:默认引脚=GPIO19
+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 冲突)
+93
View File
@@ -0,0 +1,93 @@
# ESP32-C5 GPIO 引脚映射
> **芯片:esp32-c5** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
> 芯片: 29 GPIO | 模组 WROOM-1: 22 GPIO | 模组 MINI-1: 22 GPIO
## 系统引脚(System Pins
**EN (CHIP_PU)** [I, QFN48 待核实 Pin 号]
: 芯片使能。高电平=正常工作,低电平=芯片关闭。
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
**VDD** [P]
: 芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
: VDD3P3 / VDD3P3_RTC。GPIO 分布多电源域(VDDPST2/VDDPST3/VDD_SPI)。
**GND** [P]
: 所有 GND 焊盘必须全部连接到电源地平面。
**XTAL_P / XTAL_N** [-]
: 40 MHz 外部高速晶振。**不可复用为 GPIO。**
: 5GHz 天线需专门的射频匹配设计,PCB 走线阻抗控制要求高于 2.4GHz。
**双频 LNA_IN** [I]
: 2.4GHz + 5GHz 双频射频天线输入(WiFi 6 + BLE 5.0 + 802.15.4)。**不可复用为 GPIO。**
: 天线必须同时支持 2.4GHz 和 5GHz 双频段(双频天线或双天线方案)。
**USB_D- / USB_D+** [I/O]
: USB Serial/JTAG(与 C6 架构类似,具体 GPIO 分配待模组 Datasheet 确认)。
> C5 是乐鑫首款双频 Wi-Fi 6 MCU2.4+5GHz),240MHz RISC-V。GPIO13/14 默认 40mA 驱动(其他 20mA)。2 个 CAN FD 控制器(ISO 11898-1:2015,最高 5Mbps)。
## 引脚驱动能力
- 20 mA(默认):适用引脚=大部分 GPIO
- **40 mA**:适用引脚=GPIO13, GPIO14
> GPIO13/14 有增强驱动能力,适合直接驱动 LED 等负载。
## ADC 映射(仅 ADC16chWiFi 可用)
- ADC1_CH0GPIO=GPIO1
- ADC1_CH1GPIO=GPIO2
- ADC1_CH2GPIO=GPIO3
- ADC1_CH3GPIO=GPIO4
- ADC1_CH4GPIO=GPIO5
- ADC1_CH5GPIO=GPIO6
参数:12-bit SAR。**无 ADC2,无 ADC/WiFi 冲突。**
## 模拟电压比较器
- 比较器输入:GPIO=GPIO8, GPIO9
> GPIO8/9 可配置为模拟电压比较器输入。
## USB Serial/JTAG
GPIO 分配待模组 Datasheet 确认(参考 C6GPIO12/13)。
## 电源域
C5 的 GPIO 分布在多个电源域:
- VDDPST2
- VDDPST3
- VDD_SPI
不同电源域的引脚在睡眠模式下的行为可能不同。
## GPIO 功能概览
- GPIO0:主要功能=XTAL_32K_P, 说明=RTC 唤醒源
- GPIO1:主要功能=XTAL_32K_N, ADC1_CH0, 说明=RTC 唤醒源
- GPIO26:主要功能=ADC1_CH1CH5, FSPI/JTAG, 说明=ADC + 通用 IO
- GPIO7:主要功能=FSPID
- GPIO89:主要功能=Strapping, 模拟比较器, 说明=⚠️ 启动引脚
- GPIO1011:主要功能=FSPIWP, VDD_SPI
- GPIO1213:主要功能=USB_D-/D+(待确认), 说明=⚠️ USB
- GPIO1421:主要功能=通用 IO, UART, SDIO
- GPIO22–28:主要功能=通用 IO, 外设复用, 说明=QFN48 封装特有
## 模组 GPIO 引出
- ESP32-C5-WROOM-1GPIO 数量=**22**, 说明=标准模组
- ESP32-C5-MINI-1GPIO 数量=**22**, 说明=迷你模组
- 裸芯片:GPIO 数量=**29**, 说明=QFN48 封装
## 新手安全 GPIO
> **GPIO16ADC 全通道,避开 Strapping 和 USB**
## 注意事项
- C5 是较新的芯片(2024),部分引脚细节待更多模组资料确认
- Strapping 引脚完整列表和上电默认电平待 TRM 发布
- 5GHz Wi-Fi 天线设计需要专门的射频匹配
+88
View File
@@ -0,0 +1,88 @@
# ESP32-C6 GPIO 引脚映射
> **芯片:esp32-c6** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
> ⚠️ 部分 Strapping 细节待 TRM 确认
## 系统引脚(System Pins
**EN (CHIP_PU)** [I, Pin 2 QFN40]
: 芯片使能。高电平=正常工作,低电平=芯片关闭。
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
**VDD** [P]
: 芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
: VDD3P3 / VDD3P3_RTC。
**GND** [P]
: 所有 GND 焊盘必须全部连接到电源地平面。
**XTAL_P / XTAL_N** [-]
: 40 MHz 外部高速晶振。**不可复用为 GPIO。**
**LNA_IN** [I]
: 2.4GHz 射频天线输入(WiFi 6 + BLE 5.3 + 802.15.4 Thread/Zigbee)。**不可复用为 GPIO。**
**USB_D- / USB_D+** [I/O, GPIO12/13]
: USB Serial/JTAG。
> C6 无 DAC、无触摸传感器。有 LP CPU (20MHz RISC-V) + LP SRAM 16KB。GPIO8-21 可用作 LP GPIO。WiFi 6 仅 20MHz 带宽 1T1R。
## Strapping 引脚
- GPIO4 (MTMS):功能=JTAG/启动
- GPIO5 (MTDI):功能=启动
- GPIO8:功能=启动模式
- GPIO9:功能=启动模式
- GPIO15:功能=启动模式
> 完整 Strapping 细节待 TRM 补充。
## ADC 映射(仅 ADC17chWiFi 可用)
- ADC1_CH0GPIO=GPIO0
- ADC1_CH1GPIO=GPIO1
- ADC1_CH2GPIO=GPIO2
- ADC1_CH3GPIO=GPIO3
- ADC1_CH4GPIO=GPIO4, 备注=⚡ Strapping (MTMS)
- ADC1_CH5GPIO=GPIO5, 备注=⚡ Strapping (MTDI)
- ADC1_CH6GPIO=GPIO6
> 12-bit SAR。C6 只有 ADC1,无 ADC2**无 ADC/WiFi 冲突**。
## USB Serial/JTAG
- USB_D-GPIO=**GPIO12**
- USB_D+GPIO=**GPIO13**
## LP GPIO(低功耗域)
GPIO8GPIO21 可用作 LP GPIO,由 LP CPU 直接驱动,Deep-sleep 保持功能。
## 所有 GPIO 功能表
- 0ADC=ADC1_CH0, 复用功能=XTAL_32K_P
- 1ADC=ADC1_CH1, 复用功能=XTAL_32K_N
- 2ADC=ADC1_CH2, 复用功能=FSPIQ
- 3ADC=ADC1_CH3, 复用功能=JTAG_MTMS
- 4ADC=ADC1_CH4, 复用功能=JTAG_MTCK, 备注=⚡ Strapping
- 5ADC=ADC1_CH5, 复用功能=JTAG_MTDI, 备注=⚡ Strapping
- 6ADC=ADC1_CH6, 复用功能=FSPICLK
- 7:复用功能=FSPID
- 8LP GPIO=LP_GPIO0, 复用功能=FSPICS0, 备注=⚡ Strapping
- 9LP GPIO=LP_GPIO1, 复用功能=FSPIHD, 备注=⚡ Strapping
- 10LP GPIO=LP_GPIO2, 复用功能=FSPIWP
- 11LP GPIO=LP_GPIO3, 复用功能=VDD_SPI
- 12LP GPIO=LP_GPIO4, 复用功能=**USB_D-**, FSPIHD, 备注=⚠️ USB
- 13LP GPIO=LP_GPIO5, 复用功能=**USB_D+**, FSPIWP, 备注=⚠️ USB
- 14LP GPIO=LP_GPIO6, 复用功能=FSPICS0
- 15LP GPIO=LP_GPIO7, 复用功能=FSPID, 备注=⚡ Strapping
- 16LP GPIO=LP_GPIO8, 复用功能=FSPICLK
- 17LP GPIO=LP_GPIO9, 复用功能=FSPIQ
- 18LP GPIO=LP_GPIO10, 复用功能=SDIO_CMD
- 19LP GPIO=LP_GPIO11, 复用功能=SDIO_CLK, U0RXD
- 20LP GPIO=LP_GPIO12, 复用功能=SDIO_DATA0, U0TXD
- 21LP GPIO=LP_GPIO13, 复用功能=SDIO_DATA1
- 2223:复用功能=SDIO_DATA2/3
- 2429:复用功能=🔒 Flash 占用, 备注=QFN40 引脚
## 新手安全 GPIO
> **GPIO03ADC)、GPIO1011、GPIO14、GPIO1621**
+76
View File
@@ -0,0 +1,76 @@
# ESP32-H2 GPIO 引脚映射
> **芯片:esp32-h2** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
> ⚠️ H2 模组 GPIO 数量差异大,选型务必确认
## 系统引脚(System Pins
**EN (CHIP_PU)** [I, QFN32 待核实 Pin 号]
: 芯片使能。高电平=正常工作,低电平=芯片关闭。
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
**VDD** [P]
: 芯片主供电 3.0-3.6V,推荐 3.3V**仅需 >=250mA LDO**(无 WiFi 射频,峰值低)。
: VDD3P3 单一供电域。
**GND** [P]
: 所有 GND 焊盘必须全部连接到电源地平面。
**XTAL_P / XTAL_N** [-]
: 40 MHz 外部高速晶振。**不可复用为 GPIO。**
**ANT** [I]
: 2.4GHz 射频天线输入(BLE 5.3 + 802.15.4 Thread/Zigbee)。**不可复用为 GPIO。**
: **H2 无 WiFi 射频**,仅 BLE + 802.15.4。天线设计仅需考虑 2.4GHz 单频。
**USB_D- / USB_D+** [I/O, GPIO12/13]
: USB Serial/JTAG。
> H2 全系列最低主频 96MHz,全系列最低功耗(峰值仅 ~60mA)。WROOM-07 模组仅 3 个 GPIO 引出务必注意。安全特性最强(含 Power Glitch Detector 电源毛刺检测)。
## Strapping 引脚
- GPIO8:功能=启动模式
- GPIO9:功能=启动模式
- GPIO25:功能=启动模式(待核实)
## ADC 映射(5ch, 12-bit, 无 WiFi 冲突)
- ADC1_CH0GPIO=GPIO1
- ADC1_CH1GPIO=GPIO2
- ADC1_CH2GPIO=GPIO3
- ADC1_CH3GPIO=GPIO4
- ADC1_CH4GPIO=GPIO5
## GPIO 功能分组
### 数字引脚(仅 Light-sleep 可唤醒)
- GPIO0:复用功能=XTAL_32K_P
- GPIO1:复用功能=XTAL_32K_N, ADC1_CH0
- GPIO2:复用功能=FSPIQ, ADC1_CH1
- GPIO3:复用功能=JTAG_MTMS, ADC1_CH2
- GPIO4:复用功能=JTAG_MTCK, ADC1_CH3
- GPIO5:复用功能=JTAG_MTDI, ADC1_CH4
- GPIO6:复用功能=FSPICLK
- GPIO7:复用功能=FSPID
### LP 引脚(所有功耗模式可用,可唤醒 Deep-sleep
- GPIO8LP GPIO=LP_GPIO0, 复用功能=FSPICS0, ⚡ Strapping
- GPIO9LP GPIO=LP_GPIO1, 复用功能=FSPIHD, ⚡ Strapping
- GPIO10LP GPIO=LP_GPIO2, 复用功能=FSPIWP
- GPIO11LP GPIO=LP_GPIO3, 复用功能=VDD_SPI
- GPIO12LP GPIO=LP_GPIO4, 复用功能=USB_D-
- GPIO13LP GPIO=LP_GPIO5, 复用功能=USB_D+
- GPIO14LP GPIO=LP_GPIO6
## Deep-sleep 唤醒限制
- ✅ Deep-sleepGPIO=GPIO814LP 引脚)
- ✅ Light-sleepGPIO=GPIO014
- ❌ Deep-sleepGPIO=GPIO07, GPIO2227
## 新手安全 GPIO
> **GPIO15ADC)、GPIO1011、GPIO14**
## 模组 WROOM-07 注意
⚠️ WROOM-07 仅引出 **3 个 GPIO**,如果 GPIO 不够用必须换 WROOM-02C。
+97
View File
@@ -0,0 +1,97 @@
# ESP32-P4 GPIO 引脚映射
> **芯片:esp32-p4** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
> 状态:PRELIMINARY - 完整引脚映射待正式 Datasheet 和 TRM 补充
## 系统引脚(System Pins
**EN (CHIP_PU)** [I, QFN104 待核实 Pin 号 — Datasheet v0.6 PRELIMINARY]
: 芯片使能。高电平=正常工作,低电平=芯片关闭。
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
**VDD_HP** [P]
: HP CPU 核心供电(400MHz 双核 RISC-V),3.0-3.6V。
**VDD_LP** [P]
: LP CPU 核心供电(40MHz 单核 RISC-V),3.0-3.6V。
**VDD_PSRAM** [P]
: 封装内 PSRAM 独立供电,**1.8V**16MB 或 32MB OPI/HPI)。
**GND** [P]
: 所有 GND 焊盘必须全部连接到电源地平面。QFN104 底部 EPAD 接 GND。
**XTAL_P / XTAL_N** [-]
: 40 MHz 外部高速晶振。**不可复用为 GPIO。**
**无射频天线** [-]
: **P4 无任何无线功能**(无 WiFi / 无 BLE / 无 Thread / 无 Zigbee)。
: 需要无线连接时必须外挂协处理器(ESP32-C6/C5 模组),通过 SPI/SDIO/UART 通信。
**USB_HS_OTG_D- / USB_HS_OTG_D+** [I/O]
: USB 2.0 高速 OTG 480 Mbps,专用引脚。
**USB_FS_OTG_D- / USB_FS_OTG_D+** [I/O]
: USB 2.0 全速 OTG 12 Mbps,专用引脚。
**USB_Serial_JTAG** [I/O]
: 烧录和调试,专用引脚。
> P4 定位为应用处理器(非 MCU),QFN104 10x10mm 封装。MIPI CSI/DSI、H264、JPEG、ISP、2D-DMA。Datasheet v0.6 为初版,设计前务必联系 Espressif FAE 确认最新资料。
## Strapping 引脚(5个)
- **GPIO35**:上电默认=Weak Pull-Up, 功能=下载模式:下拉到 GND = Download Boot
- **GPIO36**:上电默认=Floating(无内置上下拉), 功能=下载模式:上拉到 VDD = Download Boot
- 其余 3 个:上电默认=待 TRM 确认, 功能=启动配置
### 启动模式选择
- SPI Boot(正常):GPIO35=1, GPIO36=任意
- Download BootGPIO35=0, GPIO36=1
### 固件下载接口
- UART0:引脚=TXD0=**GPIO37**, RXD0=**GPIO38**
## ADC 映射
### ADC18通道)
- ADC1_CH0GPIO=GPIO16
- ADC1_CH1GPIO=GPIO17
- ADC1_CH2GPIO=GPIO18
- ADC1_CH3GPIO=GPIO19
- ADC1_CH4GPIO=GPIO20
- ADC1_CH5GPIO=GPIO21
- ADC1_CH6GPIO=GPIO22
- ADC1_CH7GPIO=GPIO23
参数:12-bit SAR2 个 ADC 控制器。LP DIG ADC 待核实。
## 触摸传感器映射
- Touch1 - Touch14GPIO=GPIO2 - GPIO15
## GPIO 功能分组
- GPIO0 - GPIO1:主要功能=通用数字 IO
- GPIO2 - GPIO15:主要功能=触摸传感器 + 通用 IO, 说明=14 个触摸通道
- GPIO16 - GPIO23:主要功能=ADC1_CH0 - ADC1_CH7, 说明=8 通道 12-bit ADC
- GPIO24 - GPIO55:主要功能=通用 IO / 外设复用, 说明=含 UART/SPI/I2C/I2S/PWM 等
## 关键外设接口
- MIPI CSI:说明=2-lane 摄像头输入(专用引脚)
- MIPI DSI:说明=2-lane 显示输出(专用引脚)
- USB 2.0 HS OTG:说明=高速 480 Mbps(专用引脚)
- USB 2.0 FS OTG:说明=全速 12 Mbps
- USB Serial/JTAG:说明=烧录和调试
- Ethernet RMII:说明=10/100 Mbps(专用引脚)
- SD/MMC:说明=SDIO 3.0(专用引脚)
## 注意事项
- QFN104 封装(10x10mm),55 个可编程 GPIO
- 封装内集成 16MB 或 32MB PSRAM1.8V OPI/HPI
- 无无线功能,需搭配 C6/C5 等协处理器提供 WiFi/BLE
- 完整 IO MUX 表待 ESP32-P4 TRM 正式版发布
+112
View File
@@ -0,0 +1,112 @@
# ESP32-S2 GPIO 引脚映射
> **芯片:esp32-s2** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 系统引脚(System Pins
**EN (CHIP_PU)** [I, Pin 56 QFN56]
: 芯片使能。高电平=正常工作,低电平=芯片关闭。
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
**VDD** [P]
: 芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
: VDD3P3_RTC / VDD3P3_CPU。
**GND** [P]
: 所有 GND 焊盘必须全部连接到电源地平面。
**XTAL_P / XTAL_N** [-]
: 40 MHz 外部高速晶振。**不可复用为 GPIO。**
**LNA_IN** [I]
: 射频天线输入端口。**不可复用为 GPIO。**
**XTAL_32K_P / XTAL_32K_N** [I/O]
: 32.768 kHz RTC 晶振(可选),XTAL_32K_P=GPIO15, XTAL_32K_N=GPIO16。
**USB_D- / USB_D+** [I/O, GPIO19/20]
: USB OTG 全速 12 Mbps。用作普通 GPIO 需固件禁用 USB OTG 并重配 IO MUX。
: USB_D- 和 USB_D+ 同时也是 ADC2_CH8/CH9WiFi 不可用)。
> S2 无蓝牙(此为与 ESP32 最大区别)。3 个 StrappingGPIO0/45/46),比 ESP32 简单。
## Strapping 引脚(3个)
- **GPIO0**:上电默认=Pull-Up, 功能=0=下载模式, 1=SPI Boot, 使用限制=不能在上电时被外部拉低
- **GPIO45**:上电默认=Pull-Down, 功能=VDD_SPI 电压 0=1.8V, 1=3.3V, 使用限制=上电后锁存
- **GPIO46**:上电默认=Pull-Down, 功能=0=静默启动(无串口日志), 使用限制=**仅输入**,不能做输出
## ADC 映射
### ADC1WiFi 可用,10ch
- ADC1_CH0GPIO=GPIO1
- ADC1_CH1GPIO=GPIO2
- ADC1_CH2GPIO=GPIO3
- ADC1_CH3GPIO=GPIO4
- ADC1_CH4GPIO=GPIO5
- ADC1_CH5GPIO=GPIO6
- ADC1_CH6GPIO=GPIO7
- ADC1_CH7GPIO=GPIO8
- ADC1_CH8GPIO=GPIO9
- ADC1_CH9GPIO=GPIO10
### ADC2WiFi 不可用,10ch
- ADC2_CH0GPIO=GPIO11
- ADC2_CH1GPIO=GPIO12
- ADC2_CH2GPIO=GPIO13
- ADC2_CH3GPIO=GPIO14
- ADC2_CH4GPIO=GPIO15, 备注=XTAL_32K_P
- ADC2_CH5GPIO=GPIO16, 备注=XTAL_32K_N
- ADC2_CH6GPIO=GPIO17, 备注=DAC_1
- ADC2_CH7GPIO=GPIO18, 备注=DAC_2
- ADC2_CH8GPIO=GPIO19, 备注=USB_D-
- ADC2_CH9GPIO=GPIO20, 备注=USB_D+
## DAC
- DAC_1GPIO=GPIO17, 分辨率=8-bit
- DAC_2GPIO=GPIO18, 分辨率=8-bit
## USB OTG
- USB_D-GPIO=GPIO19, 说明=可切换为普通 GPIO
- USB_D+GPIO=GPIO20, 说明=可切换为普通 GPIO
## Flash 占用引脚
GPIO26GPIO32:模组内部 Flash/PSRAM 占用
## 所有 GPIO 功能表
- 0RTC=RTC_GPIO0, 备注=⚡ Strapping(启动模式)
- 1ADC=ADC1_CH0, Touch=Touch1, RTC=RTC_GPIO1
- 2ADC=ADC1_CH1, Touch=Touch2, RTC=RTC_GPIO2
- 3ADC=ADC1_CH2, Touch=Touch3, RTC=RTC_GPIO3
- 4ADC=ADC1_CH3, Touch=Touch4, RTC=RTC_GPIO4
- 5ADC=ADC1_CH4, Touch=Touch5, RTC=RTC_GPIO5
- 6ADC=ADC1_CH5, Touch=Touch6, RTC=RTC_GPIO6
- 7ADC=ADC1_CH6, Touch=Touch7, RTC=RTC_GPIO7
- 8ADC=ADC1_CH7, Touch=Touch8, RTC=RTC_GPIO8
- 9ADC=ADC1_CH8, Touch=Touch9, RTC=RTC_GPIO9
- 10ADC=ADC1_CH9, Touch=Touch10, RTC=RTC_GPIO10
- 11ADC=ADC2_CH0, Touch=Touch11, RTC=RTC_GPIO11
- 12ADC=ADC2_CH1, Touch=Touch12, RTC=RTC_GPIO12
- 13ADC=ADC2_CH2, Touch=Touch13, RTC=RTC_GPIO13
- 14ADC=ADC2_CH3, Touch=Touch14, RTC=RTC_GPIO14
- 15ADC=ADC2_CH4, RTC=RTC_GPIO15, 备注=XTAL_32K_P
- 16ADC=ADC2_CH5, RTC=RTC_GPIO16, 备注=XTAL_32K_N
- 17ADC=ADC2_CH6, DAC=DAC_1, RTC=RTC_GPIO17
- 18ADC=ADC2_CH7, DAC=DAC_2, RTC=RTC_GPIO18
- 19ADC=ADC2_CH8, RTC=RTC_GPIO19, 备注=USB_D-
- 20ADC=ADC2_CH9, RTC=RTC_GPIO20, 备注=USB_D+
- 21RTC=RTC_GPIO21
- 2632:备注=🔒 Flash PSRAM
- 43:备注=U0TXD
- 44:备注=U0RXD
- 45:备注=⚡ Strapping
- 46:备注=⚡ Strapping, **仅输入**
## 新手安全 GPIO
> **GPIO110ADC1全通道)、GPIO1114、GPIO17(DAC)、GPIO18(DAC)、GPIO21**
+108
View File
@@ -0,0 +1,108 @@
# ESP32-S3 GPIO 引脚映射
> **芯片:esp32-s3** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 系统引脚(System Pins
**EN (CHIP_PU)** [I, Pin 3 QFN56]
: 芯片使能。高电平=正常工作,低电平=芯片关闭。
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
**VDD** [P]
: 芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
: VDD3P3_RTC / VDD3P3_CPU。
**GND** [P]
: 所有 GND 焊盘必须全部连接到电源地平面。
**XTAL_P / XTAL_N** [-]
: 40 MHz 外部高速晶振。**不可复用为 GPIO。**
**LNA_IN** [I]
: 射频天线输入端口(WiFi 4 + BLE 5.0)。**不可复用为 GPIO。**
**XTAL_32K_P / XTAL_32K_N** [I/O]
: 32.768 kHz RTC 晶振(可选),XTAL_32K_P=GPIO15, XTAL_32K_N=GPIO16。
**USB_OTG_D- / USB_OTG_D+** [I/O, GPIO19/20]
: USB OTG 全速 12 Mbps。用作普通 GPIO 需固件禁用 USB OTG。
**USB_Serial_JTAG_D- / USB_Serial_JTAG_D+** [I/O]
: USB Serial/JTAG 控制器,专用独立引脚(不占用 GPIO)。
: S3 是唯一同时具备双 USB 控制器(OTG + Serial/JTAG)的芯片。
> S3 无 DAC。Octal PSRAM 模组(S3R8/S3R8VGPIO33-37 被 SPIIO4-SPIIO7 和 SPIDQS 占用。
## Strapping 引脚(4个)
- **GPIO0**:上电默认=Weak Pull-Up, 功能=0=Download Boot(与 GPIO46 联合)
- **GPIO3**:上电默认=Floating, 功能=JTAG 信号源控制(需外部驱动)
- **GPIO45**:上电默认=Weak Pull-Down, 功能=VDD_SPI 电压 0=1.8V, 1=3.3V
- **GPIO46**:上电默认=Weak Pull-Down, 功能=Boot 模式 + ROM 日志控制
### 启动模式
- SPI BootGPIO0=1, GPIO46=任意
- Joint Download BootGPIO0=0, GPIO46=0
## ADC 映射
### ADC1WiFi 可用,10ch
- ADC1_CH0GPIO=GPIO1, Touch=Touch1, RTC=RTC_GPIO1
- ADC1_CH1GPIO=GPIO2, Touch=Touch2, RTC=RTC_GPIO2
- ADC1_CH2GPIO=GPIO3, Touch=Touch3, RTC=RTC_GPIO3
- ADC1_CH3GPIO=GPIO4, Touch=Touch4, RTC=RTC_GPIO4
- ADC1_CH4GPIO=GPIO5, Touch=Touch5, RTC=RTC_GPIO5
- ADC1_CH5GPIO=GPIO6, Touch=Touch6, RTC=RTC_GPIO6
- ADC1_CH6GPIO=GPIO7, Touch=Touch7, RTC=RTC_GPIO7
- ADC1_CH7GPIO=GPIO8, Touch=Touch8, RTC=RTC_GPIO8
- ADC1_CH8GPIO=GPIO9, Touch=Touch9, RTC=RTC_GPIO9
- ADC1_CH9GPIO=GPIO10, Touch=Touch10, RTC=RTC_GPIO10
### ADC2WiFi 不可用,10ch
- ADC2_CH0GPIO=GPIO11, Touch=Touch11, RTC=RTC_GPIO11
- ADC2_CH1GPIO=GPIO12, Touch=Touch12, RTC=RTC_GPIO12
- ADC2_CH2GPIO=GPIO13, Touch=Touch13, RTC=RTC_GPIO13
- ADC2_CH3GPIO=GPIO14, Touch=Touch14, RTC=RTC_GPIO14
- ADC2_CH4GPIO=GPIO15, RTC=RTC_GPIO15, 备注=XTAL_32K_P
- ADC2_CH5GPIO=GPIO16, RTC=RTC_GPIO16, 备注=XTAL_32K_N
- ADC2_CH6GPIO=GPIO17, RTC=RTC_GPIO17
- ADC2_CH7GPIO=GPIO18, RTC=RTC_GPIO18
- ADC2_CH8GPIO=GPIO19, RTC=RTC_GPIO19, 备注=USB_D-
- ADC2_CH9GPIO=GPIO20, RTC=RTC_GPIO20, 备注=USB_D+
## GPIO 全功能表
- GPIO0RTC=RTC_GPIO0, 备注=⚡ Strapping
- GPIO18ADC=ADC1_CH07, Touch=Touch18, RTC=RTC, 备注=ADC1, 新手安全
- GPIO9ADC=ADC1_CH8, Touch=Touch9, RTC=RTC_GPIO9, 备注=FSPIHD 复用
- GPIO10ADC=ADC1_CH9, Touch=Touch10, RTC=RTC_GPIO10, 备注=FSPICS0 复用
- GPIO11ADC=ADC2_CH0, Touch=Touch11, RTC=RTC_GPIO11, 备注=FSPID 复用
- GPIO12ADC=ADC2_CH1, Touch=Touch12, RTC=RTC_GPIO12, 备注=FSPICLK 复用
- GPIO13ADC=ADC2_CH2, Touch=Touch13, RTC=RTC_GPIO13, 备注=FSPIQ 复用
- GPIO14ADC=ADC2_CH3, Touch=Touch14, RTC=RTC_GPIO14, 备注=FSPIWP 复用
- GPIO1518ADC=ADC2_CH47, RTC=RTC, 备注=U0RTS/U0CTS/U1TXD/U1RXD
- GPIO19ADC=ADC2_CH8, RTC=RTC_GPIO19, USB=**USB_D-**, 备注=U1RTS
- GPIO20ADC=ADC2_CH9, RTC=RTC_GPIO20, USB=**USB_D+**, 备注=U1CTS
- GPIO21RTC=RTC_GPIO21
- GPIO2632:备注=🔒 SPI Flash/PSRAM
- GPIO3337:备注=🔒 Octal PSRAMS3R8/S3R8V
- GPIO38:备注=FSPIWP
- GPIO39:备注=MTCK (JTAG)
- GPIO40:备注=MTDO (JTAG)
- GPIO41:备注=MTDI (JTAG)
- GPIO42:备注=MTMS (JTAG)
- GPIO43:备注=U0TXD(烧录)
- GPIO44:备注=U0RXD(烧录)
- GPIO45:备注=⚡ Strapping
- GPIO46:备注=⚡ Strapping
- GPIO4748:备注=SPICLK 差分,⚠️ 部分模组 1.8V
## 新手安全 GPIO
> **GPIO18, GPIO1518, GPIO21, GPIO47, GPIO48**
## 常用外设默认引脚
- UART0 TX/RX:引脚=GPIO43 / GPIO44
- USB OTG D-/D+:引脚=GPIO19 / GPIO20
- JTAG TMS/TCK/TDI/TDO:引脚=GPIO42 / GPIO39 / GPIO41 / GPIO40
+138
View File
@@ -0,0 +1,138 @@
# ESP32 GPIO 引脚映射
> **芯片:esp32** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 系统引脚(System Pins
**EN (CHIP_PU)** [I, Pin 9 QFN48]
: 芯片使能。高电平=正常工作,低电平=芯片关闭(最小功耗)。
: **禁止浮空!** 必须外部上拉到 VDD(典型 10kΩ)。
: 上电时序:VDD 稳定 >=50µs (t_STBL) 后 EN 拉高;EN 拉低 >=50µs (t_RST) 触发复位。
**VDD** [P]
: 芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
: VDD3P3_RTCRTC域)/ VDD3P3_CPUCPU IO域)/ VDD_SDIOFlash供电,1.8V或3.3V由GPIO12选择)。
**GND** [P]
: 所有 GND 焊盘必须全部连接到电源地平面。QFN48 底部 EPAD 也接 GND。
**XTAL_P / XTAL_N** [-]
: 40 MHz 外部高速晶振,XTAL_P=Pin45, XTAL_N=Pin46。**不可复用为 GPIO。**
: 晶振两端对地各接负载电容(典型 15-22pF)。
**LNA_IN** [I, Pin2]
: 射频天线输入端口。**不可复用为 GPIO。**
**XTAL_32K_P / XTAL_32K_N** [I/O]
: 32.768 kHz RTC 晶振(可选),XTAL_32K_P=GPIO32, XTAL_32K_N=GPIO33。
: 不使用 RTC 晶振时可做普通 GPIO。
> ESP32 无原生 USB,烧录通过 UART0 (GPIO1=TX, GPIO3=RX)。芯片版本 v3.0/v3.1 为当前量产版本。
## 仅输入引脚(GPI
- **GPIO34**:说明=仅输入,无内部上拉/下拉
- **GPIO35**:说明=仅输入,无内部上拉/下拉
- **GPIO36** (SENSOR_VP):说明=仅输入,无内部上拉/下拉
- **GPIO39** (SENSOR_VN):说明=仅输入,无内部上拉/下拉
> GPIO37(SENSOR_CAPP) 和 GPIO38(SENSOR_CAPN) 也是仅输入,但 WROOM-32 模组未引出。
## Flash/PSRAM 占用引脚(不可复用)
- **GPIO6**:功能=SD_CLK / SPICLK, 说明=连接内部 Flash
- **GPIO7**:功能=SD_DATA0 / SPIQ, 说明=连接内部 Flash
- **GPIO8**:功能=SD_DATA1 / SPID, 说明=连接内部 Flash
- **GPIO9**:功能=SD_DATA2 / SPIHD, 说明=连接内部 Flash
- **GPIO10**:功能=SD_DATA3 / SPIWP, 说明=连接内部 Flash
- **GPIO11**:功能=SD_CMD / SPICS0, 说明=连接内部 Flash
- **GPIO16**:功能=SPICS1 / PSRAM_CS, 说明=PSRAM 片选(WROVER
- **GPIO17**:功能=SPID / PSRAM_DATA, 说明=PSRAM 数据(WROVER
## Strapping 引脚
- **GPIO0**:引脚名=Boot, 上电默认=Pull-Up (1), 功能=LOW=下载模式, HIGH=正常启动, 使用限制=不能在上电时被外部拉低
- **GPIO2**:引脚名=Boot, 上电默认=Pull-Down (0), 功能=与 GPIO0 联合决定启动模式, 使用限制=上电时需浮空或低
- **GPIO5**:引脚名=SDIO Slave, 上电默认=Pull-Up (1), 功能=SDIO 从机时序控制, 使用限制=上电时必须保持高
- **GPIO12 (MTDI)**:引脚名=VDD_SDIO, 上电默认=Pull-Down (0), 功能=0=3.3V, 1=1.8V Flash电压, 使用限制=**禁止上拉!会烧Flash!**
- **GPIO15 (MTDO)**:引脚名=Boot, 上电默认=Pull-Up (1), 功能=0=静默启动, 1=U0TXD打印日志, 使用限制=上电时需为高
### 启动模式
- SPI Boot(正常启动):GPIO0=1, GPIO2=任意
- Download Boot(烧录):GPIO0=0, GPIO2=0
## ADC 完整映射
### ADC1WiFi 可用,8通道)
- ADC1_CH0GPIO=GPIO36 (SENSOR_VP), 类型=仅输入
- ADC1_CH1GPIO=GPIO37, 类型=仅输入(WROOM 未引出)
- ADC1_CH2GPIO=GPIO38, 类型=仅输入(WROOM 未引出)
- ADC1_CH3GPIO=GPIO39 (SENSOR_VN), 类型=仅输入
- ADC1_CH4GPIO=GPIO32, 类型=I/O
- ADC1_CH5GPIO=GPIO33, 类型=I/O
- ADC1_CH6GPIO=GPIO34, 类型=仅输入
- ADC1_CH7GPIO=GPIO35, 类型=仅输入
### ADC2WiFi 不可用,10通道)
- ADC2_CH0GPIO=GPIO4
- ADC2_CH1GPIO=GPIO0, 备注=⚡ Strapping
- ADC2_CH2GPIO=GPIO2, 备注=⚡ Strapping
- ADC2_CH3GPIO=GPIO15, 备注=⚡ Strapping (MTDO)
- ADC2_CH4GPIO=GPIO13, 备注=JTAG
- ADC2_CH5GPIO=GPIO12, 备注=⚡ Strapping (MTDI) + JTAG
- ADC2_CH6GPIO=GPIO14, 备注=JTAG
- ADC2_CH7GPIO=GPIO27
- ADC2_CH8GPIO=GPIO25, 备注=DAC_CH1
- ADC2_CH9GPIO=GPIO26, 备注=DAC_CH2
> ⚠️ **ADC2 与 WiFi 冲突:使用 WiFi 时 ADC2 完全不可用,只能用 ADC1**
## DAC
- DAC_CH1GPIO=GPIO25, 分辨率=8-bit
- DAC_CH2GPIO=GPIO26, 分辨率=8-bit
## 完整 GPIO 功能表
- 0I/O=I/O, ADC=ADC2_CH1, Touch=Touch1, RTC=RTC_GPIO11, 备注=⚡ Strapping
- 1I/O=I/O, 备注=U0TXD(默认)
- 2I/O=I/O, ADC=ADC2_CH2, Touch=Touch2, RTC=RTC_GPIO12, 备注=⚡ Strapping
- 3I/O=I/O, 备注=U0RXD(默认)
- 4I/O=I/O, ADC=ADC2_CH0, Touch=Touch0, RTC=RTC_GPIO10, 备注=常用 1-Wire
- 5I/O=I/O, 备注=⚡ Strapping
- 611:备注=🔒 Flash 占用
- 12I/O=I/O, ADC=ADC2_CH5, Touch=Touch5, RTC=RTC_GPIO15, 备注=⚡ **禁止上拉**
- 13I/O=I/O, ADC=ADC2_CH4, Touch=Touch4, RTC=RTC_GPIO14, 备注=JTAG MTCK
- 14I/O=I/O, ADC=ADC2_CH6, Touch=Touch6, RTC=RTC_GPIO16, 备注=JTAG MTMS
- 15I/O=I/O, ADC=ADC2_CH3, Touch=Touch3, RTC=RTC_GPIO13, 备注=⚡ Strapping
- 16I/O=I/O, 备注=🔒 PSRAMWROVER
- 17I/O=I/O, 备注=🔒 PSRAMWROVER
- 18I/O=I/O, 备注=VSPI CLK
- 19I/O=I/O, 备注=VSPI MISO
- 21I/O=I/O, 备注=I2C SDA 默认
- 22I/O=I/O, 备注=I2C SCL 默认
- 23I/O=I/O, 备注=VSPI MOSI
- 25I/O=I/O, ADC=ADC2_CH8, DAC=DAC1, RTC=RTC_GPIO6
- 26I/O=I/O, ADC=ADC2_CH9, DAC=DAC2, RTC=RTC_GPIO7
- 27I/O=I/O, ADC=ADC2_CH7, Touch=Touch7, RTC=RTC_GPIO17
- 32I/O=I/O, ADC=ADC1_CH4, Touch=Touch9, RTC=RTC_GPIO9, 备注=32K_XP, ADC1
- 33I/O=I/O, ADC=ADC1_CH5, Touch=Touch8, RTC=RTC_GPIO8, 备注=32K_XN, ADC1
- 34I/O=**仅输入**, ADC=ADC1_CH6, RTC=RTC_GPIO4, 备注=无内部上下拉
- 35I/O=**仅输入**, ADC=ADC1_CH7, RTC=RTC_GPIO5, 备注=无内部上下拉
- 36I/O=**仅输入**, ADC=ADC1_CH0, RTC=RTC_GPIO0, 备注=SENSOR_VP
- 39I/O=**仅输入**, ADC=ADC1_CH3, RTC=RTC_GPIO3, 备注=SENSOR_VN
> ⚡ = Strapping | 🔒 = Flash/PSRAM | **仅输入** = 不能做输出
## 常用外设默认引脚
- UART0 TX/RX:默认引脚=GPIO1 / GPIO3
- VSPI CLK/MISO/MOSI/CS:默认引脚=GPIO18 / GPIO19 / GPIO23 / GPIO5
- HSPI CLK/MISO/MOSI/CS:默认引脚=GPIO14 / GPIO12 / GPIO13 / GPIO15
- I2C0 SDA/SCL:默认引脚=GPIO21 / GPIO22
- JTAG TMS/TCK/TDI/TDO:默认引脚=GPIO14 / GPIO13 / GPIO12 / GPIO15
## 新手安全 GPIO
> **GPIO4, 13, 14, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33**