ESP32

ESP32 — серия недорогих микросхем с малым энергопотреблением китайской компании Espressif Systems. Представляют собой систему на кристалле с интегрированным контроллерами радиосвязи Wi-Fi, Bluetooth и Thread. В сериях ESP32 и ESP32-S используются процессорные ядра с архитектурой компании Tensilica, а в сериях ESP32-C и ESP32-H – ядра с открытой архитектурой RISC-V.
В микросхему интегрирован радиочастотный тракт: симметрирующий трансформатор, встроенные антенные коммутаторы, радиочастотные компоненты, малошумящий усилитель, усилитель мощности, фильтры и модули управления питанием. ESP32 создан и разработан компанией, расположенной в Шанхае, а производится компанией TSMC по техпроцессу 40 нм и 28 нм. Серия является преемником микросхем ESP8266.
Особенности
Серии ESP32 и ESP32-S включают в себя:
- Микроконтроллер и управление
- Tensilica Xtensa LX6 двухъядерный (или одноядерный) 32-разрядный процессор, с тактовой частотой 160 или 240 МГц и производительностью до 600 DMIPS (Dhrystone MIPS)
- Сопроцессор с ультранизким энергопотреблением
- Память: 520 КБ памяти SRAM
- Беспроводная связь:
- Wi-Fi: 802.11 b / g / N
- Bluetooth: v4.2 BR/EDR and BLE
- Периферийные интерфейсы:
- 12-разрядный АЦП до 18 каналов
- 2 × 8 бит ЦАПа
- 10 × портов для подключения емкостных датчиков (измеряющие ёмкость GPIO)
- Датчик температуры отсутствует. Информация о нем удалена из спецификации V2.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 Мбит/с
ESP32 vs ESP8266:
Корпус планарный (QFN)
ESP32 выпускается в планарном корпусе (QFN) с 48 контактами по периметру и одним большим теплоотводом по центру, выполняющим одновременно функцию сигнальной земли.
Версии
SoC ESP32 выпускается в планарном корпусе QFN размерами 6×6 мм либо 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 с защитой пользовательский программ и данных.
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Измерение датчиков и Пробуждение основной системы на основе данных, собранных с датчиков.
Модули
Модуль ESP32-PICO-D4 системы в корпусе (system-in-a-package) сочетает в себе микросхему ESP32, кварцевый генератор, микросхему флэш-памяти, фильтрующие конденсаторы и радиочастотные контакты. Применяется корпус QFN размером 7×7 мм.
Печатные платы
Модульные SMT-платы
Модули SMT-платы на основе ESP32 содержат ESP32 SoC и предназначены для легкого интегрирования в другие платы. Измеряемые инвертированные F-антенные конструкции используются для трассировки антенны PCB на модулях, перечисленных ниже. Кроме флэш-памяти, некоторые модули включают псевдостатическую оперативную память (pSRAM).
ESP32 Espressif ESP-WROOM-32Платы для разработки и другие платы
Платы для разработки имеют расширенную коммутацию и функциональность, обычно построены на базе плат с ESP32 и облегчают их использование для разработки (и особенно для макетирования).
Программирование
Языки программирования, платформы и среды, используемые для программирования ESP32:
- Arduino IDE с ESP32 Arduino Core
- Espressif IoT Development Framework — Официальная Espressif разработка для ESP32.
- Espruino — JavaScript SDK, эмулятор Node.js.
- Lua RTOS.
- Mongoose OS[1] — Операционная система для носимой электроники, рекомендована Espressif Systems, AWS IoT, and Google Cloud IoT.
- 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 году. Каждый браслет работает как пиксель, принимающей команды для координированного управления светодиодным светом. Это позволяет формировать «живой беспроводной экран».
- DingTalk’s M1 — биометрическая система отслеживания посещаемости.
- LIFX Mini — серия дистанционно управляемых светодиодных ламп.
- Pium — домашний аромат и ароматерапия.
Промышленные устройства
- TECHBASE’s Moduino X серий X1 и X2 модули ESP32-WROVER для индустриальной автоматизации и мониторинга, поддерживается цифровой и аналоговый ввод-вывод и различные сетевые интерфейсы.