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功能备注
13.3V电源-
2GND地-
3EN使能复位
4GPIO36输入 onlySENSOR_VP
5GPIO39输入 onlySENSOR_VN
6GPIO34输入 onlyGPIO34
7GPIO35输入 onlyGPIO35
8GPIO32XTAL_32K_P32K晶振
9GPIO33XTAL_32K_N32K晶振
10GPIO25DAC_1DA输出
11GPIO26DAC_2DA输出
12GPIO27--
13GPIO14HSPI_CLK-
14GPIO12HSPI_MISOMTDI
15GND--
16GPIO13HSPI_MOSIMTDO
17GPIO9FlashQ/DATA
18GPIO10FlashQ/DATA
19GPIO11FlashCMD
20GPIO6FlashSCK/CLK
21GPIO7FlashQ/DATA
22GPIO8FlashQ/DATA
23GPIO15VSPI_CSMTDO
24GPIO2-LED
25GPIO4VSPI_MISO-
26GPIO16--
27GPIO17-UART0 RX
28GPIO5VSPI_CS-
29GPIO18VSPI_MOSI-
30GPIO19VSPI_MISO-
…………

特殊引脚说明

引脚特性
GPIO0内部上拉,Boot选择
GPIO1UART0 TX
GPIO3UART0 RX
GPIO6-11连接内部Flash,禁止使用
GPIO34-39只能输入,无上拉/下拉
GPIO32-3332K晶振引脚

电源与功耗

典型功耗

模式电流场景
正常工作 (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()

启动模式

GPIO0GPIO2模式
1X正常启动
0X下载模式

下一步


参考资料

官方文档

引脚参考

图片参考

ESP32 DEVKIT V1 引脚图


相关链接

反向链接

进阶学习

更新日志

  • 2024-01: 初始版本