Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Микроконтроллер LuaNode32 с ESP-32 кратко

Лекция



Привет, Вы узнаете о том , что такое микроконтроллер, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое микроконтроллер, luanode32, esp-32 , настоятельно рекомендую прочитать все из категории Цифровые устройства. Микропроцессоры и микроконтроллеры. принципы работы ЭВМ.

Микроконтроллер LuaNode32 с ESP-32

Домашняя страница для платы ESP32 под Arduino на GitHub - github.com/espressif/arduino-esp32

Аппаратная часть IoT-платформы выполнена на модуле ESP-WROOM-32 с однокристальной системой ESP32-D0WDQ6 производства компании Espressif.

Чип ESP32-D0WDQ6 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле).

ESP32-WROOM — модуль с чипом ESP32-D0WDQ6, Flash-памятью на 4 МБ и всей необходимой обвязкой, которые спрятаны под металлическим кожухом. Рядом с кожухом расположена миниатюрная антенна из дорожки на верхнем слое печатной платы. Металлический кожух экранирует компоненты модуля и тем самым улучшает электромагнитные свойства.

Микроконтроллер LuaNode32 с ESP-32

Кристалл включает в себя 2-ядерный 32-разрядный процессор Tensilica Xtensa LX6, 520 Кб памяти SRAM и 448 Кб флеш-памяти, 4 Мб внешней флеш-памяти. Тактовая частота выставляется до 240 МГц в зависимости от режима энергопотребления.

Имеются встроенный температурный датчик, датчик Холла, инфракрасный контроллер на прием и на передачу, контроллер сенсорных кнопок, Bluetooth (BLE v4.2 BR/EDR), Wi-Fi (стандарты связи Wi-Fi 802.11 b/g/n (2,4 ГГц)).

Преобразователь USB-UART на микросхеме CP2102 обеспечивает связь модуля ESP32-WROOM с USB-портом компьютера. При подключении к ПК — платформа ESP32 DevKit определяется как виртуальный COM-порт.

Разъем micro-USB предназначен для прошивки и питания платформы ESP32 DevKit с помощью компьютера.

Контакты

Микроконтроллер LuaNode32 с ESP-32

C двух сторон платы расположены контактные гребенки по 15 пинов с шагом 2,54 мм (модификация на 30 пинов).

Доступны 25 пинов общего назначения. Все контакты поддерживают прерывания. Максимальный ток на пинах: 12 мА/

  • Цифровые 21 контакт ввода-вывода (GPIO): 1–5, 12–19, 21–23, 25–27, 32 и 33. Контакты общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. Все выводы ввода-вывода могут работать как ШИМ, что позволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит. Максимальное количество каналов 16
  • цифровые 4 контакта ввода (GPI): 34, 35, 36 и 39. Могут быть настроены только на вход.
  • 15 аналоговых входов с АЦП (12 бит): 2, 4, 12–15, 25–27, 32–36 и 39. Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит
  • 2 аналоговых выхода с ЦАП (8 бит): 25 (DAC1) и 26 (DAC2). Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 8-битные уровни напряжения. Выводы могут использоваться для аудио-выхода.
  • 10 контактов емкостного сенсора

На пинах ввода-вывода можно сконфигурировать аппаратные интерфейсы:

  • 3×UART
  • 3×SPI
  • 2×I²C
  • 3× I²S

Для экспериментов используйте выводы 2, 4, 12, 13, 14, 18, 19, 21, 22, 23, 25, 26, 27.

Сводная таблица выводов для использования в проектах

Сводная таблица выводов для использования в проектах

GPIO Input Output Notes
0 pulled up OK outputs PWM signal at boot
1 TX pin OK debug output at boot
2 OK OK connected to on-board LED
3 OK RX pin HIGH at boot
4 OK OK
5 OK OK outputs PWM signal at boot
6 x x connected to the integrated SPI flash
7 x x connected to the integrated SPI flash
8 x x connected to the integrated SPI flash
9 x x connected to the integrated SPI flash
10 x x connected to the integrated SPI flash
11 x x connected to the integrated SPI flash
12 OK OK boot fail if pulled high
13 OK OK
14 OK OK outputs PWM signal at boot
15 OK OK outputs PWM signal at boot
16 OK OK
17 OK OK
18 OK OK
19 OK OK
21 OK OK
22 OK OK
23 OK OK
25 OK OK
26 OK OK
27 OK OK
32 OK OK
33 OK OK
34 OK input only
35 OK input only
36 OK input only
39 OK input only

Пины питания

  • VIN: Пин для подключения внешнего источника напряжения в диапазоне от 5 до 14 вольт (рядом с GND)
  • 3V3: Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 1 А. Об этом говорит сайт https://intellect.icu . Регулятор обеспечивает питание модуля ESP32-WROOM (рядом с GND)
  • GND: Выводы земли (два контакта, по одному на каждой стороне)

На отладочном модуле расположены две тактовые кнопки. Кнопка EN предназначена для ручного перезапуска платы - аналог кнопки RESET обычного компьютера.

Кнопка Boot служит для ручного запуска режима прошивки модуля. Алгоритм следующий: Зажмите кнопку BOOT; Нажмите и отпустите кнопку EN; Отпустите кнопку BOOT.

Также на плате находится светодиод питания и индикаторный светодиод, подключенный к цифровому пину 2 (вместо 13 как у стандартных Arduino).

Питание

Линейный понижающий регулятор напряжения AMS1117-3.3 обеспечивает питание микроконтроллер а. Выходное напряжение 3,3 вольта с максимальным током 1 А.

Питание подается через разъем micro-USB или контакт Vin. Источник определяется автоматически.

При питании через USB используйте зарядник на 5В совместно с кабелем Micro USB. В случае питания через Vin рекомендуется входное напряжение от 5 до 14 В. Преобразователь питания на плате выровняет входное напряжение до необходимых 3,3 В.

Важно! Напряжение логических уровней на пинах — 3,3В, подключение 5-вольтовой периферии может повредить микроконтроллер!

Как и в случае с платами Arduino, платы ESP32 также бывают от разных производителей с разным числом выводов и разной обвязкой. Также появляются модификации и конкретной платы. Например, плата ESP32 DEVKIT DOIT бывает с 30 и 36 пинами.

Характеристики ESP32

SoC ESP32 обладает существенно улучшенными характеристиками по сравнению со своим предшественником, но и стоит дороже. Так что, что именно применять - каждый решает сам.

  • CPU: Xtensa Dual-Core 32-bit LX6, 160 MHz или 240 MHz (до 600 DMIPS)
  • Memory: 520 KByte SRAM, 448 KByte ROM
  • Flash на модуле: 1, 2, 4… 64 Мб

Wireless:

  • Wi-Fi: 802.11b/g/n/e/i, до 150 Mbps c HT40
  • Bluetooth: v4.2 BR/EDR и BLE

Peripheral interfaces:

  • 12-bit SAR ADC до 18 каналов
  • 2 × 8-bit DAC
  • 10 × touch сенсоров
  • Temperature сенсор
  • 4 × SPI
  • 2 × I²S
  • 2 × I²C
  • 3 × UART
  • 1 host (SD/eMMC/SDIO)
  • 1 slave (SDIO/SPI)
  • Ethernet MAC с поддержкой DMA и IEEE 1588
  • CAN 2.0
  • IR (TX/RX)
  • Motor PWM
  • LED PWM до 16 каналов
  • Hall sensor
  • Ultra low power analog pre-amplifier

Security:

  • IEEE 802.11 безопасность WFA, WPA/WPA2 и WAPI
  • Secure boot
  • Flash encryption
  • 1024-bit OTP, в том числе до 768-bit под задачу
  • Cryptographic: AES, SHA-2, RSA, ECC, RNG

Микроконтроллер LuaNode32 с ESP-32

Документация

Микроконтроллер LuaNode32 с ESP-32

  • Схема
  • Документация на SoC ESP32
  • Документация на модуль ESP Wroom 32
  • распиновка модуля ESP Wroom 32

Приложение

Создаем проект через PlatformIO:

mkdir esp32-intro
cd esp32-intro
pio init -b esp32doit-devkit-v1 --ide vscode

Создаем в каталоге src файл Main.cpp со следующим содержимым (да, это тот самый блинкер):

#include <Esp.h>

void setup() {
    pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(100);
    digitalWrite(LED_BUILTIN, LOW);
    delay(900);
}

И в файл platformio.ini в секцию [env:esp32doit-devkit-v1] дописывам параметр с указанием скорости загрузки:

upload_speed = 921600

В данном случае это имеет смысл, поскольку SoC ESP32 обладает большим быстродействием, и увеличение скорости канала повышает скорость загрузки. Правда у меня она получилась плавающая: от шести до десяти секунд.

Соберем наше приложение:

pio run

И загружаем:

pio run -t upload

Вообще не обязательно давать две отдельных команды. Вызов команды pio run -t upload самостоятельно пересоберет приложение при необходимости. Я даю две команды исключительно для того, что бы посмотреть на время загрузки приложения в плату.

В ходе загрузки выводится достаточно подробный лог.

[Fri Sep 29 11:52:53 2017] Processing esp32doit-devkit-v1 (platform: espressif32; upload_speed: 921600; board: esp32doit-devkit-v1; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
Collected 15 compatible libraries
Looking for dependencies...
No dependencies
Looking for upload port...
Auto-detected: /dev/ttyUSB0
Uploading .pioenvs/esp32doit-devkit-v1/firmware.bin
esptool.py v2.1-beta1
Connecting........_
Chip is ESP32D0WDQ6 (revision 1)
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x022f
Compressed 10464 bytes to 7012...
Wrote 10464 bytes (7012 compressed) at 0x00001000 in 0.1 seconds (effective 1044.7 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 122...
Wrote 3072 bytes (122 compressed) at 0x00008000 in 0.0 seconds (effective 8280.8 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 35367.7 kbit/s)...
Hash of data verified.
Compressed 356880 bytes to 177296...
Wrote 356880 bytes (177296 compressed) at 0x00010000 in 3.2 seconds (effective 891.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting...
==== [SUCCESS] Took 8.46 seconds ====

Из лога видно интересное новвоведение в загрузчике: прошивка передается в упакованном виде, что солидно ускоряет процесс передачи данных и как сдедствие общую скорость загрузки.

Исследование, описанное в статье про микроконтроллер, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое микроконтроллер, luanode32, esp-32 и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Цифровые устройства. Микропроцессоры и микроконтроллеры. принципы работы ЭВМ

создано: 2020-04-06
обновлено: 2021-03-13
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Цифровые устройства. Микропроцессоры и микроконтроллеры. принципы работы ЭВМ

Термины: Цифровые устройства. Микропроцессоры и микроконтроллеры. принципы работы ЭВМ