ESP32

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
ESP32

ESP32 — серия недорогих микроконтроллеров с низким энергопотреблением. Представляют собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами и антеннами. В серии ESP32 используется микроконтроллерное ядро Tensilica Xtensa LX6 в вариантах с двумя и одним ядром. В систему интегрирован радиочастотный тракт: балун (симметрирующий трансформатор), встроенные антенные коммутаторы, радиочастотные компоненты, малошумящий усилитель, усилитель мощности, фильтры и модули управления питанием. ESP32 создан и разработан компанией Espressif Systems, китайской компанией, расположенной в Шанхае, а производится компанией TSMC по техпроцессу 40 нм. Серия является преемником микроконтроллеров ESP8266.

Особенности[править | править код]

Функциональная блок-схема ESP32.

ESP32 включают в себя:[1]

  • Микроконтроллер и управление
    • Tensilica Xtensa LX6 двухъядерный (или одноядерный) 32-разрядный процессор, с тактовой частотой 160 или 240 МГц и производительностью до 600 DMIPS (Dhrystone IMPS)
    • Сопроцессор с ультранизким энергопотреблением
  • Память: 520 КБ памяти SRAM
  • Беспроводная связь:
  • Периферийные интерфейсы:
  • Безопасность:
  • Управление питанием:
    • Линейный регулятор с низким уровнем падения напряжения
    • Индивидуальнное питание для RTC
    • потребление 5-2,5 мкА в режиме «глубокий сон»
    • Пробуждение по прерыванию от GPIO, таймера, измерению АЦП, прерыванию емкостного сенсорного датчика
    • Рабочее напряжение от 2,2 в до 3,6 В
    • От -40 °C до + 125 °C рабочая температура
    • Максимальная скорость передачи данных 150 Мбит/с при 11n HT40, 72 Мбит/с при 11n HT20, 54 Мбит/с @ 11g, и 11 Мбит/с при 11b
    • Максимальная мощность передачи 19,5 дБм @ 11b, 16,5 дБм @ 11 г, 15,5 дБм @ 11n
    • Минимальная чувствительность приемника-98 дБм
    • Устойчивая пропускная способность UDP 135 Мбит/с


Wi-fi
802.11 n (2.4 GHz), up to 150 Mbps
802.11 e: QoS for wireless multimedia technology
WMM-PS, UAPSD
A-MPDU and A-MSDU aggregation
Block ACK
Fragmentation and defragmentation
Automatic Beacon monitoring/scanning
802.11 i security features: pre-authentication and TSN
Wi-Fi Protected Access (WPA)/WPA2/WPA2-Enterprise/Wi-Fi Protected Setup (WPS)
Infrastructure BSS Station mode/SoftAP mode
Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management
UMA compliant and certified
Antenna diversity and selection
Compliant with Bluetooth v4.2 BR/EDR and BLE specification
Bluetooth
Class-1, class-2 and class-3 transmitter without external power amplifier
Enhanced power control
+10 dBm transmitting power
NZIF receiver with -98 dBm sensitivity
Adaptive Frequency Hopping (AFH)
Standard HCI based on SDIO/SPI/UART
High speed UART HCI, up to 4 Mbps
BT 4.2 controller and host stack
Service Discover Protocol (SDP)
General Access Profile (GAP)
Security Manage Protocol (SMP)
Bluetooth Low Energy (BLE)
ATT/GATT
HID
All GATT-based profile supported
SPP-Like GATT-based profile
BLE Beacon
A2DP/AVRCP/SPP, HSP/HFP, RFCOMM
CVSD and SBC for audio codec
Bluetooth Piconet and Scatternet


ESP32 vs ESP8266:

ESP32 ESP8266
Ethernet MAC Interface Nicht vorhanden
GPIOs für 10 Touch-Sensoren Nicht vorhanden
Temperatur-Sensor (on-chip) Nicht vorhanden
Remote-Controller-Funktionalität Nicht vorhanden
Hall-Sensor Nicht vorhanden
Digital-to-Analog Converter (DAC) Nicht vorhanden
CAN 2.0 Nicht vorhanden
Analog-to-Digital Converter (ADC): 16 Kanäle mit 12-Bit

SAR-ADC mit Unterstützung für einen Low-Noise Amplifier (LNA)

10-bit ADC, kein LNA
2 I2C-Schnittstellen 1 I2C-Schnittstelle
16 Kanäle für PWM 8 Kanäle für PWM
GPIOs (General-Purpose Input/Output): 36 GPIOs: 17
4 SPI-Schnittstellen mit Quad-SPI und maximal 80 MHz 3 SPI-Schnittstellen mit Quad-SPI und maximal 80 MHz


Корпус планарный (QFN)[править | править код]

ESP32 размещается в планарном корпусе (QFN) с 49 контактами различного размера. В частности, 48 контактов по периметру и один большой тепловой контакт (масса) посредине.

Версии[править | править код]

SoC ESP32 выпускается в планарном корпусе QFN размерами 6×6 мм либо 5×5 мм.

Модель Количество ядер Встроенная флеш-память, МБ Размер микросхемы Описание
ESP31B 2 0 6×6 мм Предрелизный SoC для бета-тестов; снят с производства
ESP32-D0WDQ6 2 0 6×6 мм Первая версия чипа ESP32
ESP32‑D0WD 2 0 5×5 мм Чип с уменьшенным корпусом, аналог ESP32-D0WDQ6
ESP32‑D2WD 2 2 5×5 мм Вариант с 2 МБ (16 Мбит) встроенной флеш-памяти
ESP32‑S0WD 1 0 5×5 мм Вариант с одним ядром



ESP32-D0WDQ6 содержит два малой мощности Xtensa® 32-бит LX6 микропроцессоров. Внутренняя память включает:

  • 448 КБ ПЗУ для загрузки и основных функций.
  • 520 Кб (8 КБ RTC быстрая память в комплекте) on-chip SRAM для данных и инструкций.
  • 8 КБ SRAM в RTC, который называется RTC быстрой памяти и хранения данных используется для; это для доступа к нему со стороны Главный процессор во время загрузки RTC из режима глубокого сна.
  • 8 КБ SRAM в RTC, который называется медленной памятью RTC и может быть доступен со-процессором во время режима глубокого сна.
  • 1 кбит eFuse, из которых 256 бит используются для системы (MAC-адрес и конфигурация чипа) и остальные 768 бит зарезервированы для клиентских приложений, включая шифрование флэш-памяти и идентификатор чипа.

[Внешняя вспышка и SRAM]

ESP32 поддерживает до четырех 16-мб внешней flash QSPI и SRAM с аппаратным шифрованием на основе AES to Защита программ и данных разработчиков.

ESP32 может получить доступ к внешней flash QSPI и SRAM через скоростные тайники.

  • До 16 Мб внешней флэш-памяти сопоставлены с кодовым пространством ЦП, поддерживающим 8, 16 и 32-бит доступа. Поддерживается выполнение кода.
  • До 8 Мб внешней flash/SRAM карты памяти на ЦП пространства данных, поддержка 8, 16 и3 2-бит доступа. Чтение данных поддерживается на флэш-памяти и SRAM. Запись данных поддерживается на SRAM.
  • ESP32-WROVER интегрирует 4-16 Мб внешней вспышки SPI. 4-мб SPI flash может быть карта памяти на процессор пространство, поддерживающие 8, 16 и 32 бит доступа. Поддерживается выполнение кода.
  • В дополнение к 4-16 МБ SPI flash, ESP32-WROVER также интегрирует 4-8 Мб PSRAM для большего пространства памяти.

[Кварцевые генераторы]

  • Микропрограмма ESP32 Wi-Fi/BT может поддерживать только кварцевый генератор 40 МГц.

[RTC и управление низкой мощностью]

С использованием современных технологий управления питанием ESP32 может переключаться между различными режимами питания (См. таблицу ниже).

[Мощность режимы/Power modes]

  • Active mode / Активный режим: чип радио включен. Чип может получать, передавать или слушать.
  • Modem-sleep mode / Режим сна модема: ЦП работает и часы настраиваются. Базовая полоса Wi-Fi/BluetoothИ радио отключено.
  • Light-sleep mode / Режим сна: ЦП приостановлен. Память RTC и периферийные устройства RTC, а также ULPСопроцессор работает. Все события пробуждения (MAC, хост, таймер RTC или внешние прерывания) будут пробуждать до chip.
  • Deep-sleep mode / Режим глубокого сна: Только память RTC и периферийные устройства RTC включены. Wi-Fi и Bluetooth данные соединения хранятся в памяти RTC. Сопроцессор ULP может работать.
  • Hibernation mode / Режим гибернации: внутренний 8-мгц осциллятор и co-процессор ULP отключены. RTC восстановления памяти выключена. Только один таймер RTC на медленных часах и некоторые GPIOs RTC активны.Таймер RTC или GPIOs RTC могут разбудить чип в режиме спячки.

[Сон/Sleep Patterns]

  • Association sleep pattern / Шаблон Association sleep: режим питания переключается между активным режимом, модемом и LightsleepРежим во время этого сна CPU, Wi-Fi, Bluetooth и радио просыпаются на заранее определенном Интервалы для сохранения соединения Wi-Fi/BT живыми.
  • ULP sensor-monitored pattern / ULP датчик-контролируемый шаблоном: Главный процессор находится в режиме глубокого сна. Комбинированный процессор ULPИзмерение датчиков и Пробуждение основной системы на основе данных, собранных с датчиков.
Режимами питания при сне
Power mod Active Modem-sleep Light-sleep Deep-sleep Hibernation
Sleep pattern Association sleep pattern ULP sensor-monitored pattern -
CPU ON ON PAUSE OFF OFF
Wi-Fi/BT baseband and radio ON OFF OFF OFF OFF
RTC memory and RTC peripherals ON ON ON ON OFF
ULP co-processor ON ON ON ON/OFF OFF

Модули[править | править код]

Модуль ESP32-PICO-D4 системы в корпусе (system-in-a-package) сочетает в себе микросхему ESP32, кварцевый генератор, микросхему флэш-памяти, фильтрующие конденсаторы и радиочастотные контакты. Применяется корпус QFN размером 7×7 мм.

Модель Количество ядер Встроенная флеш-память, МБ Размер модуля Описание
ESP32-PICO-D4 2 4 7×7 mm2 Includes ESP32 chip, crystal oscillator, flash memory, filter capacitors, and RF matching links.[2]


Печатные платы[править | править код]

Модульные SMT платы[править | править код]

Модули SMT платы на основе ESP32 содержат ESP32 SoC и предназначены для легкого интегрирования в другие платы. Измеряемые инвертированные F-антенные конструкции используются для трассировки антенны PCB на модулях, перечисленных ниже. Кроме флэш-памяти, некоторые модули включают псевдостатическую оперативную память (pSRAM).

Производитель Название Антенна Флеш-память, МБ pSRAM, МБ Описание
Espressif ESP-WROOM-03 PCB trace 4 0 Не производится, для бета-тестов.[3][4][5][6][7] FCC Part 15.247 tested (FCC ID: 2AC7Z-ESP32).[8]
ESP32-WROOM-32 PCB trace 4 0 Первый публичный вариант модуля от Espressif.[9] FCC Part 15.247 tested (FCC ID: 2AC7Z-ESPWROOM32).[10] Based on ESP32-D0WDQ6 chip. Originally named «ESP32-WROOM-32».
ESP32-WROOM-32D PCB trace 4 0 Обновление ESP-WROOM-32 с применением чипа ESP32-D0WD вместо ESP32-D0WDQ6.[11] Изначально «ESP-WROOM-32D».
ESP32-SOLO-1 PCB trace 4 0 Аналог ESP32-WROOM-32D с одноядерным ESP32-S0WD вместо ESP32-D0WD с 2 ядрами
ESP32-WROOM-32U U.FL socket 4 0 Альтернатива ESP-WROOM-32D с коннектором U.FL для подключения внешней антенны.[11]
ESP32-WROVER PCB trace 4 4 Модуль ESP32 с 4 МБ pSRAM памяти от Espressif. Имеет сертификацию "FCC part 15.247" (FCC ID 2AC7Z-ESP32WROVER). Использует 40 МГц кварцевый генератор, не использует U.FL разъём. Построен на микросхеме ESP32-D0WDQ6.
ESP32-WROVER-I U.FL socket, PCB trace 4 4 Вариант ESP32-WROVER с U.FL разъёмом. Антенна на печатной плате (PCB trace) выполнена, но не подключена по умолчанию.
ESP32-WROVER-B PCB trace 4 8 Вариант ESP32-WROVER на 8 МБ pSRAM вместо 4  и ESP32-D0WD (вместо ESP32-D0WDQ6). FCC part 15.247 (FCC ID 2AC7Z-ESP32WROVERB). Без U.FL. (Есть опция с флеш-памятью на 8 или 16 МБ)
ESP32-WROVER-IB U.FL socket, PCB trace 4 8 Вариант ESP32-WROVER-B с U.FL
Banana pi BPI:bit PCB trace 4 0 Аналог ESP-WROOM-32 от banana pi.
BPI-UNO32 U.FL socket, PCB trace 4 4 Аналог ESP32-WROVER от banana pi, совместимость с arduino
Ai-Thinker ESP32-S PCB trace 4 0 Вариант от Ai-Thinker, сходный с ESP-WROOM-32[12]
ESP32-A1S U.FL socket, PCB trace 4 4 Аналог ESP32-WROVER от Ai-Thinker
AnalogLamb ESP-32S-ALB PCB trace 4 0 Копия ESP-32S (совместим с ESP-WROOM-32). [13]
ALB-WROOM PCB trace 16 0 Вариант ESP-32S-ALB на 16 МБ флеш-памяти.[13]
ALB32-WROVER PCB trace 4 4 ESP32 модуль с 4  МБ pSRAM в размерах ESP-WROOM-32.[14]
DFRobot ESP-WROOM-32 PCB trace 4 0 Аналог ESP-WROOM-32 без FCC сертификата, применяет 26 МГц или 32 кГц генератор.[15]
eBox & Widora ESP32-Bit Ceramic, U.FL socket 4 0 Керамическая антенна и U.FL.
Goouuu Tech ESP-32F PCB trace 4 0 Аналог ESP-WROOM-32, есть FCC проверка (ID 2AM77-ESP-32F).
IntoRobot W32 PCB trace 4 0 Сходный с ESP-WROOM-32 модуль с иной цоколевкой контактов.[16]
W33 Ceramic, U.FL socket 4 0 Аналог IntoRobot W32 с другим антенным хозяйством
ITEAD PSH-C32 PCB trace 1[17] 0 Модуль с небольшим размером флеш-памяти и нестандартным размером.[18]
Pycom[19] W01 (Not included.) 8 4 OEM-вариант WiPy 2.0. Реализует Wi-Fi и Bluetooth. FCC ID 2AJMTWIPY01R.
L01 (Not included.) 8 4 OEM-вариант LoPy. Реализует Wi-Fi, Bluetooth и LoRa. FCC ID 2AJMTLOPY01R.
L04 (Not included.) 8 4 OEM-вариант LoPy4. Реализует Wi-Fi, Bluetooth, LoRa и Sigfox.
S01 (Not included.) 8 4 Снят с производства. Вариант SiPy с Wi-Fi, Bluetooth, Sigfox (14 dBm и 22 dBm).
G01 (Not included.) 8 4 OEM-вариант GPy. Содержит модуль сотовой связи LTE-CAT M1/NB1, Wi-Fi и Bluetooth.
u-blox NINA-W131 (Not included.) 2 0 Серия u-blox NINA-W13.[20]
NINA-W132 PIFA 2 0 Серия u-blox NINA-W13.[20] Встроенная антенна - Planar implementation[en] (PIFA) - выполнена из гнутого листового металла с фигурным вырезом, а не в виде дорожки на печатной плате (PCB trace).

Платы для разработки и другие платы[править | править код]

Платы для разработки имеют расширенную коммутацию и функциональность, обычно построены на базе плат с ESP32 и облегчают их использование для разработки (и особенно для макетирования).

Программирование[править | править код]

Языки программирования, платформы и среды, используемые для программирования ESP32:

  • Arduino IDE с ESP32 Arduino Core
  • Espressif IoT Development Framework — Официальная Espressif разработка для ESP32.
  • Espruino — JavaScript SDK, эмулятор Node.js.
  • Lua RTOS.
  • Mongoose OS[en][1] — Операционная система для носимой электроники, рекомендована Espressif Systems,[21] AWS IoT,[22] and Google Cloud IoT.[23]
  • mruby[en] для ESP32
  • PlatformIO Ecosystem и IDE
  • Pymakr IDE — IDE предназначен для использования с устройствами Pycom;
  • Simba Embedded Programming Platform
  • Whitecat Ecosystem Blockly основана на Web IDE
  • MicroPython[en]*
  • Zerynth — Python для IoT и микроконтроллеров, включая ESP32.

Использование[править | править код]

Коммерческое и промышленное использование ESP32:

Использование в коммерческих устройствах[править | править код]

  • Светодиодный браслет IoT группы Alibaba, который использовался участниками ежегодного сбора в 2017 году. Каждый браслет работает как пиксель, принимающей команды для координированного управления светодиодным светом. Это позволяет формировать «живой беспроводной экран».[24]
  • DingTalk’s M1 — биометрическая система отслеживания посещаемости.[25]
  • LIFX Mini — серия дистанционно управляемых светодиодных ламп.[26]
  • Pium — домашний аромат и ароматерапия.[27]

Промышленные устройства[править | править код]

  • TECHBASE’s Moduino X серий X1 и X2 модули ESP32-WROVER для индустриальной автоматизации и мониторинга, поддерживается цифровой и аналоговый ввод-вывод и различные сетевые интерфейсы.[28]

Примечания[править | править код]

  1. ESP32 Datasheet. Espressif Systems (6 марта 2017). Дата обращения 14 марта 2017.
  2. Espressif Systems. ESP32-PICO-D4 Datasheet (21 августа 2017). Дата обращения 21 июля 2017.
  3. Jim Lindblom. Enginursday: First Impressions of the ESP32. Sparkfun Electronics (21 января 2016). Дата обращения 1 сентября 2016.
  4. Playing With New ESP32 Beta Module. Adafruit Industries. Проверено 2 сентября 2016.
  5. Martin Harizanov. ESP32 (18 декабря 2015). Дата обращения 2 сентября 2016.
  6. Brian Benchoff. The ESP32 Beta Units Arrive, Hackaday (23 декабря 2015). Дата обращения 2 сентября 2016.
  7. Markus Ulsass. ESP32 beta module HiRes pictures (25 декабря 2015). Дата обращения 2 сентября 2016.
  8. FCC Part 15.247 Test Report for Espressif Systems (Shanghai) Pte. Ltd.. Bay Area Compliance Laboratories Corp. (17 февраля 2016). Дата обращения 2 сентября 2016.
  9. ESP-WROOM-32 Datasheet (недоступная ссылка). Espressif Systems (22 августа 2016). Дата обращения 2 сентября 2016. Архивировано 13 сентября 2016 года.
  10. FCC Part 15.247 Test Report for Espressif Systems (Shanghai) Pte. Ltd.. Bay Area Compliance Laboratories Corp. (10 ноября 2016). Дата обращения 15 декабря 2016.
  11. 1 2 ESP-WROOM-32D/ESP32-WROOM-32U Datasheet. Espressif Systems. Дата обращения 28 ноября 2017.
  12. Baoshi. Ai-Thinker ESP-32S Decap Photos (11 октября 2016). Дата обращения 22 октября 2016.
  13. 1 2 ESP-32S-ALB/ALB-WROOM. AnalogLamb.
  14. ESP32-WROVER – ESP32 Module with 32Mb Flash and 32Mb PSRAM. AnalogLamb.
  15. (SKU:TEL0111)ESP32 WiFi&Bluetooth Module/ESP-WROOM-32. DFRobot.
  16. 硬件功能 (Hardware Function) (недоступная ссылка). IntoRobot. Дата обращения 2 октября 2018. Архивировано 30 мая 2018 года.
  17. ITEAD. PSH-C32 Schematic (15 февраля 2017). Дата обращения 23 февраля 2017.
  18. ITEAD. PSH-C32. Дата обращения 23 февраля 2017.
  19. Pycom. Pycom OEM Products. Дата обращения 14 марта 2017.
  20. 1 2 NINA-W13 series. u-blox.
  21. Third-Party Platforms That Support Espressif Hardware. Espressif Systems. Дата обращения 20 октября 2017.
  22. Tim Mattison. AWS IoT on Mongoose OS, Part 1 (13 апреля 2017).
  23. Google Cloud IoT Partners. Google. Дата обращения 20 октября 2017.
  24. Alibaba's IoT Wrist Bands Based on ESP32. Espressif Systems (30 сентября 2017).
  25. DingTalk's New Biometric Attendance Monitor Based on ESP32. Espressif Systems (2 июня 2017).
  26. ESP32net. FCC internal photos exhibit for the LIFX Mini Wi-Fi LED light ( FCC ID 2AA53-MINI) show inclusion of ESP32 .... Твиттер (7 ноября 2017).
  27. New ESP32-based Aromatherapy Device. Espressif Systems (31 июля 2017).
  28. Moduino X Series - Industrial IoT module based on ESP32. TECHBASE Group.

Ссылки[править | править код]