关于 ESP32 端口的一般信息

ESP32 是 Espressif Systems 流行的支持 WiFi 和蓝牙的片上系统 (SoC)。

多块板子

有许多来自不同来源的模块和电路板带有 ESP32 芯片。MicroPython 试图提供一个可以在尽可能多的板/模块上运行的通用端口,但可能存在限制。端口以乐鑫开发板为参考(例如进行测试)。对于您使用的任何电路板,请确保您有数据表、原理图和其他参考材料,以便您可以查找任何特定于电路板的功能。

为了制作通用 ESP32 端口并支持尽可能多的开发板,我们做出了以下设计和实现决策:

  • GPIO 引脚编号基于 ESP32 芯片编号。请手头有您的电路板的手册/引脚图,以查找您的电路板引脚和实际 ESP32 引脚之间的对应关系。

  • MicroPython 支持所有引脚,但并非所有引脚都可用于任何给定的电路板。例如,不应使用连接到外部 SPI 闪存的引脚,并且电路板可能只暴露特定选择的引脚。

技术规格和 SoC 数据表

ESP32 芯片的数据表和其他参考资料可从供应商站点获得:https://www.espressif.com/en/support/download/documents?keys=esp32。它们是芯片技术规格、功能、操作模式、内部功能等的主要参考。

为了您的方便,下面提供了一些技术规格:

  • 架构:Xtensa 双核 32 位 LX6

  • CPU频率:最高240MHz

  • 可用内存总量:528KB(部分预留给系统)

  • 引导ROM:448KB

  • 内部闪存:无

  • 外部FlashROM:代码和数据,通过SPI Flash;通常大小 4MB

  • GPIO:34个(GPIO与其他功能复用,包括外部FlashROM、UART等)

  • UART:3个RX/TX UART(无硬件握手),1个TX-only UART

  • SPI:4个SPI接口(1个用于FlashROM)

  • I2C:2 I2C(bitbang 实现可用于任何引脚)

  • I2S: 2

  • ADC:12 位 SAR ADC,最多 18 个通道

  • DAC:2 个 8 位 DAC

  • RMT:8 个通道,允许精确的脉冲发射/接收

  • 编程:使用来自 UART 的 BootROM 引导加载程序 - 由于外部 FlashROM 和始终可用的 BootROM 引导加载程序,ESP32 不可砖砌

有关更多信息,请参阅 ESP32 数据表: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

MicroPython 是在乐鑫为 ESP32 开发的框架 ESP-IDF 之上实现的。这是一个基于 FreeRTOS 的系统。有关 详细信息,请参阅 ESP-IDF 编程指南