02 - 硬件基础
ESP32芯片架构与硬件特性
芯片架构
系统框图
┌─────────────────────────────────────────┐
│ ESP32 芯片 │
├─────────────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ │
│ │ Core 0 │ │ Core 1 │ Xtensa LX6│
│ └────┬────┘ └────┬────┘ │
│ └──────────┬───┘ │
│ │ │
│ ┌────────▼────────┐ │
│ │ 共享存储区 │ 520KB SRAM│
│ └─────────────────┘ │
├─────────────────────────────────────────┤
│ 外设控制器 │
│ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ │
│ │GPIO│ │I2C│ │SPI│ │UART│ │LEDC│ │RTC│
│ └──┘ └──┘ └──┘ └──┘ └──┘ └──┘ │
├─────────────────────────────────────────┤
│ 无线通信 │
│ ┌─────────┐ ┌─────────┐ │
│ │ WiFi │ │ 蓝牙 │ │
│ │ 802.11 │ │BR/BLE 4.2│ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────────┘
CPU 特性
- 架构: Xtensa® LX6 32位 RISC
- 主频: 80~240MHz (可调)
- 指令集: 支持 DSP 指令 (乘累加、FFT等)
- 缓存: 32KB I-Cache / 32KB D-Cache
引脚定义
ESP32 DEVKIT V1 (30引脚)
| 编号 | GPIO | 功能 | 备注 |
|---|
| 1 | 3.3V | 电源 | - |
| 2 | GND | 地 | - |
| 3 | EN | 使能 | 复位 |
| 4 | GPIO36 | 输入 only | SENSOR_VP |
| 5 | GPIO39 | 输入 only | SENSOR_VN |
| 6 | GPIO34 | 输入 only | GPIO34 |
| 7 | GPIO35 | 输入 only | GPIO35 |
| 8 | GPIO32 | XTAL_32K_P | 32K晶振 |
| 9 | GPIO33 | XTAL_32K_N | 32K晶振 |
| 10 | GPIO25 | DAC_1 | DA输出 |
| 11 | GPIO26 | DAC_2 | DA输出 |
| 12 | GPIO27 | - | - |
| 13 | GPIO14 | HSPI_CLK | - |
| 14 | GPIO12 | HSPI_MISO | MTDI |
| 15 | GND | - | - |
| 16 | GPIO13 | HSPI_MOSI | MTDO |
| 17 | GPIO9 | Flash | Q/DATA |
| 18 | GPIO10 | Flash | Q/DATA |
| 19 | GPIO11 | Flash | CMD |
| 20 | GPIO6 | Flash | SCK/CLK |
| 21 | GPIO7 | Flash | Q/DATA |
| 22 | GPIO8 | Flash | Q/DATA |
| 23 | GPIO15 | VSPI_CS | MTDO |
| 24 | GPIO2 | - | LED |
| 25 | GPIO4 | VSPI_MISO | - |
| 26 | GPIO16 | - | - |
| 27 | GPIO17 | - | UART0 RX |
| 28 | GPIO5 | VSPI_CS | - |
| 29 | GPIO18 | VSPI_MOSI | - |
| 30 | GPIO19 | VSPI_MISO | - |
| … | … | … | … |
特殊引脚说明
| 引脚 | 特性 |
|---|
| GPIO0 | 内部上拉,Boot选择 |
| GPIO1 | UART0 TX |
| GPIO3 | UART0 RX |
| GPIO6-11 | 连接内部Flash,禁止使用 |
| GPIO34-39 | 只能输入,无上拉/下拉 |
| GPIO32-33 | 32K晶振引脚 |
电源与功耗
典型功耗
| 模式 | 电流 | 场景 |
|---|
| 正常工作 (WiFi) | 80-170mA | 发送数据 |
| 正常工作 (BLE) | 80-100mA | 蓝牙广播 |
| 浅睡眠 | 0.8mA | 保留RAM |
| 深度睡眠 | 10µA | 仅RTC |
| 休眠 | 2.5µA | 仅RTC备份 |
电源设计建议
┌─────────────┐
│ USB 5V │
└──────┬──────┘
│
┌──────▼──────┐
│ AMS1117-3.3 │ LDO稳压
└──────┬──────┘
│
┌──────▼──────┐
│ ESP32 │
└─────────────┘
推荐使用 3.3V 稳压芯片,电流至少 500mA。
启动流程
上电/复位
↓
Boot ROM (固化)
↓
读取 GPIO0, GPIO2 状态判断启动模式
↓
├─ 正常启动: 从 Flash 加载程序
├─ 下载模式: 等待 UART 烧录
└─ 测试模式: 工厂测试
↓
执行 app_main()
启动模式
下一步
参考资料
官方文档
引脚参考
图片参考

相关链接
反向链接
进阶学习
更新日志