1. 概述
ESP32-WROOM-32 是一款通用型 Wi-Fi+BT+BLE MCU 模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和 MP3 解码等。
此款模组的核心是 ESP32-D0WDQ6 芯片 ,具有可扩展、自适应的特点。两个 CPU 核可以被单独控制。
时钟频率的调节范围为 80 MHz
到 240 MHz。用户可以切断 CPU 的电源,利用低功耗协带处理器来不断地监测外设的状态变化或某些模拟量是否超出阈值。 ESP32 还集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、低噪声传感放大器,SD 卡接口、以太网接口、高速 SDIO/SPI、UART、I 2 S 和 I 2 C 等。
模组集成了传统蓝牙、低功耗蓝牙和 Wi-Fi
,具有广泛的用途:Wi-Fi 支持极大范围的通信连接,也支持通过路由器直接连接互联网;而蓝牙可以让用户连接手机或者广播 BLE Beacon
以便于信号检测。ESP32 芯片的睡眠电流小于 5 µA,使其适用于电池供电的可穿戴电子设备。模组支持的数据传输速率高达 150 Mbps,天线输出功率达到 20 dBm,可实现最大范围的无线通信。因此,这款模组具有行业领先的技术规格,在高集成度、无线传输距离、功耗以及网络联通等方面性能极佳。 ESP32 的操作系统是带有 LwIP 的 freeRTOS,还内置了带有硬件加速功能的 TLS 1.2。芯片同时支持 OTA 加密升级,方便用户在产品发布之后继续升级。
以下是ESP32-WROOM-32 的产品规格。
2. 管脚定义
2.1 管脚布局
2.2 管脚定义
ESP32-WROOM-32 共有 38 个管脚,具体描述参见下面这张图。
2.3 Strapping 管脚
ESP32 共有 5 个 Strapping 管脚,可参考章节 6 电路原理图: • MTDI
• GPIO0
• GPIO2
• MTDO
• GPIO5
软件可以读取寄存器“GPIO_STRAPPING”中这 5 个管脚 strapping 的值。
在芯片的系统复位(上电复位、RTC 看门狗复位、欠压复位)放开的过程中,Strapping 管脚对电平采样并存储到锁存器中,锁存为“0”或“1”,并一直保持到芯片掉电或关闭。
每一个 Strapping 管脚都会连接内部上拉/下拉。如果一个 Strapping 管脚没有外部连接或者连接的外部线路处于高阻抗状态,内部弱上拉/下拉将决定 Strapping 管脚输入电平的默认值。
为改变 Strapping 的值,用户可以应用外部下拉/上拉电阻,或者应用主机 MCU 的 GPIO 控制 ESP32 上电复位放开时的 Strapping 管脚电平。复位放开后,Strapping 管脚和普通管脚功能相同。配置 Strapping 管脚的详细启动模式请参阅下图:
3. 功能描述
本章描述了 ESP32-WROOM-32 的各个模块和功能。
3.1 CPU 和片上存储
ESP32-D0WDQ6 内置两个低功耗 Xtensa ® 32-bit LX6 MCU。片上存储包括:
• 448 KB 的 ROM,用于程序启动和内核功能调用
• 用于数据和指令存储的 520 KB 片上 SRAM
• RTC 快速存储器,为 8 KB 的 SRAM,可以在 Deep-sleep 模式下 RTC 启动时用于数据存储以及被主 CPU访问
• RTC 慢速存储器,为 8 KB 的 SRAM,可以在 Deep-sleep 模式下被协处理器访问
• 1 Kbit 的 eFuse,其中 256 bit 为系统专用(MAC 地址和芯片设置); 其余 768 bit 保留给用户程序, 这些程序包括 flash 加密和芯片 ID
3.2 外部 Flash 和 SRAM
ESP32 支持多个外部 QSPI flash 和静态随机存储器 (SRAM)。详情可参考《ESP32 技术参考手册》 中的 SPI 章节。ESP32 还支持基于 AES 的硬件加解密功能,从而保护开发者 flash 中的程序和数据。
ESP32 可通过高速缓存访问外部 QSPI flash 和 SRAM:
• 外部 flash 可以同时映射到 CPU 指令和只读数据空间。
– 当映射到 CPU 指令空间时,一次最多可映射 11 MB + 248 KB。如果一次映射超过 3 MB + 248 KB,则 cache 性能可能由于 CPU 的推测性读取而降低。
– 当映射到只读数据空间时,一次最多可以映射 4 MB。支持 8-bit、16-bit 和 32-bit 读取。
• 外部 SRAM 可映射到 CPU 数据空间。一次最多可映射 4 MB。支持 8-bit、16-bit 和 32-bit 访问。
ESP32-WROOM-32 集成了 4 MB 的 SPI flash,连接 ESP32 的管脚 GPIO6,GPIO7,GPIO8,GPIO9,GPIO10和 GPIO11。这六个管脚不建议用于其他功能。
3.3 晶振
模组使用 40 MHz 晶振。
3.4 RTC 和低功耗管理
ESP32 采用了先进的电源管理技术,可以在不同的功耗模式之间切换。
关于 ESP32 在不同的功耗模式下的电流消耗,详见《ESP32 技术规格书》中章节“RTC 和低功耗管理”。
以上是我个人平时了解到的资料,有感兴趣的可以互相探讨。