ESP32
ESP32 — серия недорогих микроконтроллеров с низким энергопотреблением. Представляют собой систему на кристалле с интегрированным Wi-Fi- и Bluetooth-контроллерами. В серии ESP32 используется микроконтроллерное ядро Tensilica Xtensa LX6 в вариантах с двумя и одним ядром. В систему интегрирован радиочастотный тракт: симметрирующий трансформатор, встроенные антенные коммутаторы, радиочастотные компоненты, малошумящий усилитель, усилитель мощности, фильтры и модули управления питанием. ESP32 создан и разработан компанией Espressif Systems, китайской компанией, расположенной в Шанхае, а производится компанией TSMC по техпроцессу 40 нм. Серия является преемником микроконтроллеров ESP8266.
Особенности
ESP32 включают в себя:[1]
- Микроконтроллер и управление
- Tensilica Xtensa LX6 двухъядерный (или одноядерный) 32-разрядный процессор, с тактовой частотой 160 или 240 МГц и производительностью до 600 DMIPS (Dhrystone MIPS)
- Сопроцессор с ультранизким энергопотреблением
- Память: 520 КБ памяти SRAM
- Беспроводная связь:
- Периферийные интерфейсы:
- 12-разрядный АЦП до 18 каналов
- 2 × 8 бит ЦАПа
- 10 × портов для подключения емкостных датчиков (измеряющие ёмкость GPIO)
- Датчик температуры отсутствует. Информация о нем удалена из спецификации V2.2[2]
- 4 × SPI мастер-интерфейса (ведущие устройства)
- 2 × I²S мастер-интерфейса
- 2 × I²C мастер-интерфейса
- 3 × UART интерфейса
- SD/SDIO/CE-ATA/MMC/ eMMC хост-контроллер
- SDIO/SPI слейв-контроллеры (ведомые устройства)
- Ethernet MAC interface с выделенным DMA и IEEE 1588 Precision Time Protocol support
- CAN bus 2.0
- ИК дистанционное управление (передатчик/приемник, до 8 каналов)
- Возможность подключения двигателей и светодиодов через ШИМ-выход
- Датчик Холла
- Аналоговый предусилитель низкого энергопотребления
- Безопасность:
- Поддерживаются все функции безопасности стандарта IEEE 802.11, в том числе WFA, WPA/WPA2 и WAPI
- Безопасная загрузка
- Шифрование флэш-диска
- 1024-битный ключ, до 768 бит для клиентов
- Криптографическое аппаратное ускорение: AES, SHA-2, RSA, криптографии на основе эллиптических кривых (ЕСС), аппаратный генератор случайных чисел при включеном WiFi или Bluetooth, иначе используется генератор псевдослучайных чисел
- Управление питанием:
- Линейный регулятор с низким уровнем падения напряжения
- Индивидуальнное питание для 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 Мбит/с
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 |
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 | Не поддерживается |
GPIOs для 10 сенсорных датчиков | Не поддерживается |
Temperatur-Sensor (on-chip) | Не поддерживается |
Функционал пульта дистанционного управления | Не поддерживается |
Hall-Sensor | Не поддерживается |
Digital-to-Analog Converter (DAC) | Не поддерживается |
CAN 2.0 | Не поддерживается |
Аналогово-Цифровой Преобразователь (АЦП): 16 Каналов с 12-Бит
SAR-ADC с малошумящим усилителем (Low-Noise Amplifier, LNA) |
10-bit АЦП, без LNA |
2 I2C-Интерфейс | 1 I2C-Интерфейс |
16 каналов для ШИМ (до 78 кГц при 10-битной точности) | 8 каналов для ШИМ (до 1кГц) |
GPIOs (General-Purpose Input/Output, интерфейс ввода/вывода общего назначения): 36 | GPIOs: 17 |
4 SPI-Интерфейса с Quad-SPI и максимальной частотой 80 MHz | 3 SPI-Интерфейса с Quad-SPI и максимальной частотой 80 MHz |
Корпус планарный (QFN)
ESP32 выпускается в планарном корпусе (QFN) с 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 бит зарезервированы для клиентских приложений, включая шифрование флэш-памяти и идентификатор чипа.
[Внешняя FLASH и 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 flash. 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.[3] |
Печатные платы
Модульные SMT-платы
Модули SMT-платы на основе ESP32 содержат ESP32 SoC и предназначены для легкого интегрирования в другие платы. Измеряемые инвертированные F-антенные конструкции используются для трассировки антенны PCB на модулях, перечисленных ниже. Кроме флэш-памяти, некоторые модули включают псевдостатическую оперативную память (pSRAM).
Производитель | Название | Антенна | Флеш-память, МБ | pSRAM, МБ | Описание |
---|---|---|---|---|---|
Espressif | ESP-WROOM-03 | PCB trace | 4 | 0 | Не производится, для бета-тестов.[4][5][6][7][8] FCC Part 15.247 tested (FCC ID: 2AC7Z-ESP32).[9] |
ESP32-WROOM-32 | PCB trace | 4 | 0 | Первый публичный вариант модуля от Espressif.[10] FCC Part 15.247 tested (FCC ID: 2AC7Z-ESPWROOM32).[11] Based on ESP32-D0WDQ6 chip. Originally named «ESP32-WROOM-32». | |
ESP32-WROOM-32D | PCB trace | 4 | 0 | Обновление ESP-WROOM-32 с применением чипа ESP32-D0WD вместо ESP32-D0WDQ6.[12] Изначально «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 для подключения внешней антенны.[12] | |
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[13] |
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).[14] |
ALB-WROOM | PCB trace | 16 | 0 | Вариант ESP-32S-ALB на 16 МБ флеш-памяти.[14] | |
ALB32-WROVER | PCB trace | 4 | 4 | ESP32 модуль с 4 МБ pSRAM в размерах ESP-WROOM-32.[15] | |
DFRobot | ESP-WROOM-32 | PCB trace | 4 | 0 | Аналог ESP-WROOM-32 без FCC сертификата, применяет 26 МГц или 32 кГц генератор.[16] |
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 модуль с иной цоколевкой контактов.[17] |
W33 | Ceramic, U.FL socket | 4 | 0 | Аналог IntoRobot W32 с другим антенным хозяйством | |
ITEAD | PSH-C32 | PCB trace | 1[18] | 0 | Модуль с небольшим размером флеш-памяти и нестандартным размером.[19] |
Pycom[20] | 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.[21] |
NINA-W132 | PIFA | 2 | 0 | Серия u-blox NINA-W13.[21] Встроенная антенна — Planar implementation (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 — Операционная система для носимой электроники, рекомендована Espressif Systems,[22] AWS IoT,[23] and Google Cloud IoT.[24]
- mruby для ESP32
- PlatformIO Ecosystem и IDE
- Pymakr IDE — IDE предназначен для использования с устройствами Pycom;
- Simba Embedded Programming Platform
- Whitecat Ecosystem Blockly основана на Web IDE
- MicroPython
- Zerynth — Python для IoT и микроконтроллеров, включая ESP32.
- OWLOS — сетевая операционная система с открытым исходным кодом для управления IoT устройствами.
Использование
Коммерческое и промышленное использование ESP32:
Использование в коммерческих устройствах
- Светодиодный браслет IoT группы Alibaba, который использовался участниками ежегодного сбора в 2017 году. Каждый браслет работает как пиксель, принимающей команды для координированного управления светодиодным светом. Это позволяет формировать «живой беспроводной экран».[25]
- DingTalk’s M1 — биометрическая система отслеживания посещаемости.[26]
- LIFX Mini — серия дистанционно управляемых светодиодных ламп.[27]
- Pium — домашний аромат и ароматерапия.[28]
Промышленные устройства
- TECHBASE’s Moduino X серий X1 и X2 модули ESP32-WROVER для индустриальной автоматизации и мониторинга, поддерживается цифровой и аналоговый ввод-вывод и различные сетевые интерфейсы.[29]
Примечания
- ESP32 Datasheet . Espressif Systems (6 марта 2017). Дата обращения: 14 марта 2017.
- Espressif Systems. ESP32 Series Datasheet . Espressif Systems 53. — «Deleted content about temperature sensor;».
- Espressif Systems. ESP32-PICO-D4 Datasheet (21 августа 2017). Дата обращения: 21 июля 2017.
- Jim Lindblom. Enginursday: First Impressions of the ESP32 . Sparkfun Electronics (21 января 2016). Дата обращения: 1 сентября 2016.
- Playing With New ESP32 Beta Module. Adafruit Industries. Проверено 2 сентября 2016.
- Martin Harizanov. ESP32 (18 декабря 2015). Дата обращения: 2 сентября 2016.
- Brian Benchoff. The ESP32 Beta Units Arrive, Hackaday (23 декабря 2015). Дата обращения 2 сентября 2016.
- Markus Ulsass. ESP32 beta module HiRes pictures (25 декабря 2015). Дата обращения 2 сентября 2016.
- FCC Part 15.247 Test Report for Espressif Systems (Shanghai) Pte. Ltd. . Bay Area Compliance Laboratories Corp. (17 февраля 2016). Дата обращения: 2 сентября 2016.
- ESP-WROOM-32 Datasheet (недоступная ссылка). Espressif Systems (22 августа 2016). Дата обращения: 2 сентября 2016. Архивировано 13 сентября 2016 года.
- FCC Part 15.247 Test Report for Espressif Systems (Shanghai) Pte. Ltd. . Bay Area Compliance Laboratories Corp. (10 ноября 2016). Дата обращения: 15 декабря 2016.
- ESP-WROOM-32D/ESP32-WROOM-32U Datasheet (недоступная ссылка). Espressif Systems. Дата обращения: 28 ноября 2017. Архивировано 3 декабря 2017 года.
- Baoshi. Ai-Thinker ESP-32S Decap Photos (11 октября 2016). Дата обращения: 22 октября 2016.
- ESP-32S-ALB/ALB-WROOM (недоступная ссылка). AnalogLamb. Дата обращения: 2 октября 2018. Архивировано 20 июля 2017 года.
- ESP32-WROVER – ESP32 Module with 32Mb Flash and 32Mb PSRAM (недоступная ссылка). AnalogLamb. Дата обращения: 2 октября 2018. Архивировано 12 апреля 2019 года.
- (SKU:TEL0111)ESP32 WiFi&Bluetooth Module/ESP-WROOM-32 . DFRobot.
- 硬件功能 (Hardware Function) (недоступная ссылка). IntoRobot. Дата обращения: 2 октября 2018. Архивировано 30 мая 2018 года.
- ITEAD. PSH-C32 Schematic (недоступная ссылка) (15 февраля 2017). Дата обращения: 23 февраля 2017. Архивировано 24 февраля 2017 года.
- ITEAD. PSH-C32 (недоступная ссылка). Дата обращения: 23 февраля 2017. Архивировано 23 февраля 2017 года.
- Pycom. Pycom OEM Products . Дата обращения: 14 марта 2017.
- NINA-W13 series . u-blox.
- Third-Party Platforms That Support Espressif Hardware . Espressif Systems. Дата обращения: 20 октября 2017.
- Tim Mattison. AWS IoT on Mongoose OS, Part 1 (13 апреля 2017).
- Google Cloud IoT Partners . Google. Дата обращения: 20 октября 2017.
- Alibaba's IoT Wrist Bands Based on ESP32 (недоступная ссылка). Espressif Systems (30 сентября 2017). Дата обращения: 3 октября 2018. Архивировано 5 января 2018 года.
- DingTalk's New Biometric Attendance Monitor Based on ESP32 . Espressif Systems (2 июня 2017).
- ESP32net. FCC internal photos exhibit for the LIFX Mini Wi-Fi LED light ( FCC ID 2AA53-MINI) show inclusion of ESP32 .... [твит] . Твиттер (7 ноября 2017).
- New ESP32-based Aromatherapy Device . Espressif Systems (31 июля 2017).
- Moduino X Series - Industrial IoT module based on ESP32 . TECHBASE Group.