Xtensa 与 RISC-V 架构
处理器的基础指令集。经典 ESP32、S2 和 S3 使用 Tensilica 的专有 Xtensa 内核(LX6/LX7);较新的 C 系列(C2、C3、C5、C6、C61)、H 系列(H2、H4)和 P 系列(P4)则采用开放、模块化且高能效的 32 位 RISC-V 架构。
为生态中的每个术语提供直接定义、硬件参数和实用示例,从 ADC 到 Secure Boot。
处理器的基础指令集。经典 ESP32、S2 和 S3 使用 Tensilica 的专有 Xtensa 内核(LX6/LX7);较新的 C 系列(C2、C3、C5、C6、C61)、H 系列(H2、H4)和 P 系列(P4)则采用开放、模块化且高能效的 32 位 RISC-V 架构。
彼此独立的中央处理单元。双核芯片可以让一个内核(Core 0)专门负责 Wi-Fi/蓝牙射频和 FreeRTOS 调度,把第二个内核(Core 1)完全留给用户应用和计算。
以兆赫兹(MHz)衡量的处理速度。ESP-IDF 会动态调整频率(动态频率调节,DFS),在空闲时节省电能。
独立的超低功耗辅助处理器。在主内核处于深度睡眠(Deep Sleep)时,它仍可继续执行指令,读取模拟传感器(ADC)、I2C 和 GPIO 引脚。
芯片中的专用指令,可并行执行整数(int8/int16)向量与矩阵运算,加速卷积神经网络(CNN)和信号处理。
硬件浮点运算单元,可在一个时钟周期内完成小数(`float`)的加、乘、除运算,没有软件开销。
ESP32-P4 独有的 2D 图形硬件加速器,用于加速图像处理:帧旋转、缩放、Alpha 通道混合和颜色转换(RGB565、ARGB8888、YUV420)。
实际应用
以 60 FPS 渲染复杂图形界面(LVGL),且不占用主 CPU 内核的时间。
由微型硅熔丝构成、只能一次性且不可逆写入的存储(OTP,一次性可编程)。用于保存加密密钥、出厂 MAC 地址,并在商用产品中锁定调试接口。
实际应用
配合 `espefuse.py` 工具烧写安全启动密钥,并在产品出货前禁用 JTAG 端口。
一种安全启动协议:ROM 代码先对引导加载程序和固件的 RSA-3072 或 ECDSA 签名做密码学校验,通过后才允许执行,从而阻止被篡改的代码注入。
硬件机制,使用 XTS-AES 算法对外部 SPI 闪存的内容进行实时加密和解密。即使开发板被盗或闪存被拆焊,也无法直接读取固件。
实际应用
大多数芯片使用 XTS-AES-128;ESP32-S3、C5、P4 和 H4 还支持 XTS-AES-256。
高级安全模块,在芯片内部生成、存储并使用密钥,密钥不会暴露给 SRAM 或固件,因此即使软件存在漏洞也无法提取密钥。
在芯片中实现的椭圆曲线加速器(如 P-256 和 P-384)和 ECDSA 数字签名算法,对于快速安全地连接云端以及满足 Matter 标准的认证要求至关重要。
实际应用
ESP32-S31、C5、C61、P4、H2 和 H4 带有 ECDSA 硬件加速器。
密码学认证外设,使用烧写在 eFuse 中、对固件不可见的密钥来计算 HMAC 并对消息签名。
实际应用
无需以明文保存证书,即可与 AWS IoT Core 和 Microsoft Azure IoT 进行安全、快速的认证。
基于射频与硅电路的模拟热噪声的真随机数发生器,对于在 TLS/HTTPS 握手中生成会话密钥至关重要。
实际应用
ESP32 全系列均提供,为 HTTPS/MbedTLS 连接提供可靠的熵源。
硬件层面的物理机制,通过在芯片电流消耗中加入噪声并做平衡,防止攻击者用示波器测量功耗来推断密钥。
实际应用
见于 ESP32-C5、C6、C61 和 H2 系列。
直接集成在 CPU 芯片内的超高速易失性存储器,用于程序变量、FreeRTOS 数据结构、驱动缓冲区和运行栈。断电后数据丢失。
乐鑫在出厂时永久写入的只读存储器,包含一级引导加载程序(First-Stage Bootloader)、数学表和基础初始化例程,永远无法修改。
实际应用
上电后 ROM 最先运行,检查 启动配置引脚,然后从闪存加载用户的引导加载程序。
存放应用固件的外部非易失性存储器。通过 4 线(Quad SPI / QSPI)或 8 位数据线(Octal SPI / OPI / OSPI)连接,后者的带宽和传输速率是前者的两倍。
通过 SPI/QSPI/OPI 连接的高密度外部 RAM,可把微控制器的内存扩展到数十 MB,适用于需要超大缓冲区的应用。
专属于实时时钟(RTC)供电域的 SRAM 块。在深度睡眠(Deep Sleep)期间保持供电,用于存放 ULP 代码和标记为 `RTC_DATA_ATTR` 的变量。
实际应用
在 ESP32 以 10 µA 的功耗进入深度睡眠期间,保持读数计数器或校准数据不丢失。
兼容直接内存访问(DMA)的内存,使外设(SPI、I2S、LCD、SDMMC)可以直接向 RAM 传输数据,而不占用 CPU 时间。
实际应用
在大多数 ESP32 芯片上,DMA 必须通过 `MALLOC_CAP_DMA | MALLOC_CAP_INTERNAL` 标志在内部 SRAM 中分配。
经过多次分配与释放后,动态内存被拆成零散的小块(使用 Arduino 的 `String` 对象时很常见),导致无法为 TLS/Wi-Fi 分配大块连续内存。
实际应用
在 ESP-IDF 中通过 `heap_caps_get_largest_free_block()` 监测,以避免 HTTPS 连接失败。
新一代无线网络标准,支持 OFDMA(并行通信,延迟更低)、1024-QAM 调制,以及 TWT(目标唤醒时间)功能,可大幅延长 IoT 传感器的电池寿命。
既能工作在传统的 2.4 GHz 频段,也能工作在电磁拥塞更少的 5 GHz 频段,支持 20 MHz / 40 MHz 信道,连接更稳定。
实际应用
ESP32-C5 是乐鑫首款集成 Wi-Fi 6 双频射频的芯片。
Wi-Fi 6 的技术,把单个射频信道划分为几十个更小的子载波(资源单元,Resource Unit),让路由器同时服务多个 ESP32 设备而不产生冲突。
实际应用
在有数十个节点相连的密集家庭或工业环境中,降低响应延迟。
Wi-Fi 6 的协议:ESP32 与路由器约定好交换数据包的确切时间,使微控制器可以长时间完全关闭射频,同时不断开网络连接。
实际应用
由电池供电的 ESP32-C6 传感器可连接 Wi-Fi 6 运行数年,且不丢失同步。
传统蓝牙协议,用于连续传输立体声音频(A2DP)、虚拟串口(SPP),以及需要持续高传输速率的设备。
实际应用
在经典 ESP32 上实现蓝牙音箱、音频接收器和 HID 键盘。
蓝牙的低功耗版本,支持 2 Mbps 速率(2M PHY)、可达数百米的远距离(Coded PHY / Long Range)、广播扩展以及蓝牙 Mesh 网络。
新一代高保真、超低功耗的蓝牙音频,采用 LC3 编解码器,并支持向多个听众同时广播音频(Broadcast Audio / Auracast)。
实际应用
ESP32-H4 系列支持,面向新的音频生态和智能耳机。
2.4 GHz 的低功耗、低数据速率射频标准,是 Zigbee 3.0 和 Thread 1.3 这类工业与家用 Mesh 网络的物理层基础。
由 CSA 维护的通用开放式智能家居连接标准,可运行在 Wi-Fi、以太网和 Thread 网络上,原生兼容 Apple Home、Google Home、Alexa 和 Home Assistant。
多功能引脚,可配置为数字输入或输出,带有可选的内部上拉/下拉电阻,任意引脚都支持外部中断。
实际应用
用 `gpio_set_level()` 或 `digitalWrite()` 读取按键、控制继电器和 LED。
特定的 GPIO 引脚,芯片在复位释放的那一毫秒由硬件采样,以决定启动模式(UART 下载与 SPI 闪存启动)和电压电平。
把连续的模拟电压(0 至 3.3V)转换为 12 位数字值的转换器(ESP32-S2 输出 13 位,其中 12 位有效),可通过衰减器配置(0dB、2.5dB、6dB、11dB/12dB)。
实际应用
读取 LDR 光敏电阻、电位器、热敏电阻,以及测量锂电池电量。
根据软件生成的数字值产生连续比例模拟电压的转换器,无需外部电路。
专用于产生多路脉宽调制(PWM)信号的外设,可控制频率,分辨率最高 14-20 位,并支持硬件渐变(fade),不占用 CPU。
实际应用
平滑调节 RGBW LED 灯带的亮度,以及舵机定位。
为驱动电机设计的高级 PWM 控制器,适用于三相变频器、可配置死区时间(dead-time)的 H 桥,并可采集正交编码器信号。
实际应用
在经典 ESP32、S3 和 P4 上精确控制无刷电机(BLDC)和移动机器人。
可精确到微秒级时序的脉冲收发与生成器,最初为红外遥控(NEC、RC5、Sony)设计,被广泛用于驱动 WS2812B / NeoPixel 数字 LED 灯带。
实际应用
刷新数百颗 NeoPixel LED,而无需关闭系统中断。
硬件脉冲计数器,可对外部高频信号的上升/下降沿计数,而无需软件为 CPU 产生中断。
实际应用
读取工业旋转编码器、转速计和水流量计。
芯片内集成的、符合 ISO 11898-1 标准的 CAN 2.0B 车载与工业总线控制器,只需外接一个物理收发器(如 SN65HVD230)。
实际应用
OBD-II 汽车诊断、电动车遥测以及稳健的工业自动化。
专用引脚,用于测量手指靠近时静电电容的变化,可隔着玻璃或亚克力制作触摸按键和滑条。
实际应用
ESP32-S2 和 S3 最多提供 14 个通道,可做现代触摸控制面板。
较新系列(C6、H2、P4)提供的可配置高速并行总线,使用自定义时钟向 LCD 显示屏、摄像头和外部传感器同步传输数据。
实际应用
与外围芯片进行高效并行通信,无需让 CPU 用位操作(bit-banging)模拟。
芯片内置的全速(12 Mbps)USB 控制器,使 ESP32 既可作为外设(HID 键盘、鼠标、Mass Storage 优盘),也可作为 USB 主机(读取优盘或外设)。
芯片内集成的 USB 接口,同时提供用于控制台的串口和完整的 JTAG 调试探针,无需外接转换芯片(CH340/CP2102)。
实际应用
在 ESP32-C3、S3、C6 和 H2 上,只需把 USB 线接到 D+/D- 引脚,就能烧录固件并在 VS Code 中用断点调试。
高速 USB 2.0 控制器,集成 PHY,传输速率最高 480 Mbps,带宽是全速 USB 的 40 倍。
实际应用
ESP32-P4 独有,用于高清视频流和大批量数据传输。
智能手机行业的标准高速差分串行接口:MIPI-CSI(摄像头串行接口)用于高分辨率摄像头传感器,MIPI-DSI(显示串行接口)用于触摸屏。
实际应用
在 ESP32-P4 SoC 上连接 1080p 屏幕和高帧率摄像头。
专用加速模块,可实时把摄像头的原始视频流压缩为标准 H.264(AVC)格式,分辨率最高 1080p、30 FPS,不增加 CPU 负担。
实际应用
在 ESP32-P4 上用高效压缩实现智能安防摄像头和电子门铃。
芯片内集成的有线网络数据链路层(Media Access Control)控制器,只需通过 RMII 接口外接一颗物理层收发芯片(PHY,如 LAN8720 或 IP101)。
并行总线,包含 VSYNC、HREF、PCLK 信号和数据总线,支持 DMA,可直接从常见摄像头模组(OV2640、OV5640)采集帧。
正常运行模式:CPU 以最高频率执行指令,所有外设和射频随时可用,电流消耗在 30 mA 到约 240 mA 之间(Wi-Fi 发射期间)。
实际应用
ESP32 处理音频、刷新显示屏或实时传输传感器数据。
在两次发射的间隔里暂时关闭 Wi-Fi 和蓝牙射频电路,而 CPU 继续正常运行代码,把电流降到约 20 至 40 mA。
实际应用
连接 Wi-Fi 的应用在等待网络事件时的默认模式,不会丢失与路由器的关联。
中间级别的节能模式:CPU 时钟暂停、射频关闭,但内部 SRAM、外设和任务状态完整保留。芯片可在 1 ms 内唤醒。
实际应用
需要被按键中断或定时器快速唤醒的设备,电流约 0.8 mA。
深度睡眠模式:所有数字电源域和 CPU 都被关闭,仅保留 RTC 域供电(可选保留 RTC 内存和 ULP)。电流降到 5 至 15 µA,芯片唤醒后从头开始执行。
实际应用
由电池和太阳能板供电的远程气象站,每小时测量一次。
芯片中功耗最低的状态:连 RTC 的晶振和慢速域都被关闭,只保留一个模拟恢复电路,可由外部按键或复位唤醒。
实际应用
使用 CR2032 纽扣电池、可运行数年的设备,残余电流约 5 µA。
用于把 ESP32 从深度睡眠或浅睡眠中唤醒的硬件事件:RTC 定时器、外部 GPIO 引脚(EXT0 / EXT1)、电容触摸,或 ULP 协处理器的信号。
实际应用
`esp_sleep_enable_timer_wakeup(60 * 1000000)` 可让芯片每 60 秒准时唤醒。
内部的模拟比较器硬件电路,监测 3V3 引脚的供电电压,当电压降到约 2.8V 以下时强制安全复位,防止闪存数据损坏。
实际应用
避免电源不足的供电在射频发射峰值期间引起部分复位,保护微控制器。
电气复位后立即执行的代码。一级位于芯片 ROM 中;二级位于闪存中,负责校验分区表、检查安全签名,并加载用户固件。
实际应用
控制 OTA 分区之间的切换,并在 `app_main` 之前初始化 PSRAM 内存。
ESP-IDF 默认的抢占式多任务内核,在多个任务(Task)、消息队列(Queue)、信号量、互斥量和软件定时器之间划分 CPU,并支持优先级控制。
实际应用
用 `xTaskCreatePinnedToCore()` 把繁重的任务分配到指定的 CPU 内核上。
ESP32 的 GCC 编译器专用属性,强制函数和变量驻留在内部超高速 IRAM/DRAM 中,而不是外部闪存,对中断服务例程(ISR)是必需的。
实际应用
避免在闪存忙于写入数据时,中断引发崩溃(*Cache Error*)。
配置文件,把闪存的存储空间映射为多个逻辑块,分别用于引导加载程序、NVS 数据、LittleFS 文件和多个固件镜像(Factory、OTA_0、OTA_1)。
实际应用
可自定义,以容纳带有蓝牙、Wi-Fi 和加密库的大型固件。
无线固件升级:新版本被写入另一个分区。若新固件启动失败,系统会自动回滚(*Rollback*)到之前可用的版本。
实际应用
`esp_ota_mark_app_valid_cancel_rollback()` 用于确认现场的新升级运行正常。
闪存中的结构化键值机制,用于持久保存网络凭据、校准参数和计数器,并支持通过 eFuse 中的 AES 密钥进行硬件加密。
实际应用
保存 Wi-Fi 名称和加密后的密码,以便断电后自动重连。
为闪存设计的文件系统,带磨损均衡(*wear leveling*),使应用可以读写 HTML 页面、SSL 证书和日志等文件。
实际应用
保存 ESP32 内置网页服务器的 HTML/CSS 页面,用于通过浏览器配置网络。
硬件级调试标准,可通过 USB-JTAG 探针在 VS Code 或 Eclipse 中暂停 CPU、设置断点,并实时查看寄存器和变量。
实际应用
调试复杂崩溃和空指针问题,而不必只依赖 `Serial.println()`。