цифровая электроника
вычислительная техника
встраиваемые системы

 

Обзор WiFi микроконтроллера ESP32 и платы с модулем WROOM-32

Автор: Mike(admin) от 16-09-2016, 09:55

Недавно вышедший на рынок WiFi микроконтроллер ESP32 представляет собой выдающееся устройство, и не только благодаря своей низкой цене. Он обладает хорошим функционалом и многообещающими возможностями. Совмещение в одном чипе WiFi и Bluetooth, двух процессорных ядер и богатого набора периферии может сделать ESP32 лидером в своем сегменте.


Для удобной работы с микроконтроллером ESP32 был выпущен модуль WROOM-32, который может поставляться со специальной отладочной платой.


Обзор WiFi микроконтроллера ESP32 и платы с модулем WROOM-32

Эта плата позволяет быстро программировать модуль благодаря встроенному адаптеру USB-TTL. На ней также расположены кнопки программирования и сброса, а также регулятор напряжения для питания микроконтроллера ESP32 напряжением 3.3 В. Также плата дает удобный доступ к выводам модуля, шаг между которыми довольно узок, чтобы без проблем работать с ними. Шаг же между выводами платы составляет 2.54 мм, что является стандартом для DIP-корпусов, с которыми удобно работать обычному радиолюбителю без специальных инструментов.


ESP32 получил значительный прирост в производительности по сравнению со своим предшественником ESP8266. Вычислительная мощность возросла в четыре раза. У ESP32 есть два ядра, каждый из которых работает на частоте 160 МГц. ESP8266 мог похвастаться только одним ядром с частотой 80 МГц (без разгона). Второе ядро сделает жизнь разработчика проще. Так, например, одно ядро может взять на себя задачи реального времени по работе с графикой или управлению двигателями, а второе может обрабатывать коммуникационные протоколы и в целом отвечать за связь. Благодаря этому вам меньше придется думать о распределении времени между задачами.


Что касается периферии, то тут дело так же обстоит лучше, чем у ESP8266. К ESP32 нет никакой необходимости подключать второй микроконтроллер для расширения периферийных возможностей. Блок портов ввода/вывода заслуживает отдельного внимания.


Обзор WiFi микроконтроллера ESP32 - периферия

Здесь есть специальный мультиплексор IO_MUX, который позволяет назначать различные функции на один вывод микроконтроллера. Для некоторых линий уже выделены определенные аппаратные модули. Остальные же идут к матрице GPIO, которая соединяет любой периферийный модуль с определенным выводом. Если вы хотите, например, подключить UART2 RX к 13-му выводу, то нет никаких проблем – просто укажите это в коде.


В ESP32 много интересной периферии. Например, модуль ШИМ (PWM) позволяет определить затухание между различными циклами наполнения. Также имеются порты для подключения инфракрасного датчика, которые выполняют работу по кодированию и декодированию модулированных ИК-сигналов.


С точки зрения аналоговой периферии в ESP32 имеются два 8-разрядных ЦАП и два 12-разрядных АЦП, которые мультиплексированы на 18 выводов. Также в нем есть встроенный аналоговый предусилитель, датчик температуры и даже датчик Холла. Что касается интерфейсных модулей, то в ESP32 присутствуют три UART, три SPI, два I2S и два I2C. Все они подключены к матрице ввода/вывода, поэтому они могут быть назначены на любую линию. Но также они могут работать с большей скоростью, если их подключить непосредственно после I/O MUX до матрицы. Это дает определенную гибкость при работе с периферией. Для шифрования при передаче данных по WiFi в ESP32 имеются криптографические модули AES и SHA. Единственное, чего не хватает в этом микроконтроллере это USB, но, в крайнем случае, можно использовать переходник USB-последовательный порт. На изображении ниже приведена блок-схема периферии ESP32.


Обзор WiFi микроконтроллера ESP32 - периферия

Теперь встает вопрос: как же программировать ESP32? Компания Espressif выпустила среду разработки ESP32 SDK, которую она также называет IDF (IoT Development Framework или фреймворк для разработки устройств для Интернета вещей). ESP32 SDK находится в открытом доступе, и скачать ее можно с GitHub. Хотя эта среда еще «сырая», поскольку ее доработка еще продолжается, поэтому возможны ошибки при работе с ней. В качестве альтернативного варианта можно использовать RTOS SDK, которая является портированной версией операционной системы реального времени RTOS. Но и здесь могут возникнуть некоторые проблемы, поскольку RTOS SDK изначально предназначалась для ESP31, бета-версии ESP32, поэтому надежная работа здесь не гарантируется. Со временем, конечно, будет поддержка со стороны многих сред разработки, и, наверное, ESP32 можно будет программировать в Arduino IDE, как это происходит теперь с ESP8266.


В итоге можно сказать, что микроконтроллер ESP32 получился отличным для своего сегмента рынка. В таком дешевом устройстве столько функционала не умещал, наверное, еще никто. Но может ли он стать заменой ESP8266? Не очень. На данный момент ESP32 пока еще слишком молод и не оброс тем уровнем поддержки, который характерен сегодня для ESP8266. Документации, примеров и поддерживаемых сред не так уж и много. Но даже когда ESP32 возмужает, ESP8266 все равно будет применяться для решения простых задач по обеспечению дешевой связи по WiFi, для которых ESP32 просто избыточен. Но он найдет свое применение в более ресурсоемких приложениях.




Перевод © digitrode.ru


<Via>


Теги: ESP32, WiFi, Wi-Fi



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий