narod stream
430 subscribers

ESP32 Урок 1. Первое знакомство с контроллером ESP32

<100 full reads

Ну вот, наконец-то, настало время нам перейти к знакомству с более взрослой линейкой контроллеров китайского производителя Espressif - ESP32.

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

Но, понятное дело, прежде чем приступить к программированию тех или иных встроенных систем, надо с ними хоть немного познакомиться.

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

Также поставляется данный контроллер в основном в виде различных модулей и отладочных плат, которых очень и очень много

ESP32 Урок 1. Первое знакомство с контроллером ESP32
ESP32 Урок 1. Первое знакомство с контроллером ESP32

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

Архитектура контроллера похожа на архитектуру ESP8266, но есть ряд важных отличий, как то наличие модуля Bluetooth, второго ядра процессора и многие другие.

Основные технические характеристики контроллера ESP8266 (а точнее ESP8266EX), касающиеся передачи данных по Wi-FI:

  • поддержка протокола 802.11 b/g/n
  • поддержка 802.11 n (2.4 GHz) до  150 Mbps
  • WMM (Wi-Fi Multimedia)
  • дефрагментация
  • TX/RX A-MPDU, RX A-MSDU
  • автоматический мониторинг радиомаяка
  • 4 виртуальных передатчика Wi-Fi
  • разнесение антенн.

Также приведу некоторые остальные характеристики:

  • процессор Tensilica Xtensa LX6, состоящий из двух 32-разрядных ядер
  • производительность до 600 MIPS
  • сопроцессор с ультранизким энергопотреблением
  • 448 KB ROM для загрузчика и функций ядра
  • 520 KB SRAM для данных и команд
  • 16 KB SRAM в RTC
  • две группы таймеров, включая 2x64 бит таймеры и сторожевой таймер в каждой группе
  • 34 программируемых универсальных портов GPIO
  • два 8-битных ЦАПа
  • 12-битный АЦП 18 каналов
  • Ethernet MAC интрефейс
  • четрые SPI
  • два I2C
  • два I2S
  • три UART
  • хост контроллер SD/eMMC/SDIO
  • SLAVE контроллер SDIO/SPI
  • CAN 2.0
  • датчик Холла
  • IR порт
  • PWM для двигателей
  • PWM для светодиодов до 16 каналов
  • модуль RTC, предназначенный для работы процессора в режимах с низким энергопотреблением, общего управления питанием, а также включающий в себя всю аналоговую периферию.

Интересно было бы отметить то, что у контроллера ESP32 ножки делятся на 4 группы по питанию.

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

ESP32 Урок 1. Первое знакомство с контроллером ESP32
ESP32 Урок 1. Первое знакомство с контроллером ESP32

Если пролистать документацию дальше, то мы увидим распиновку контроллера, в которой ножки отображены по группам различным цветом

ESP32 Урок 1. Первое знакомство с контроллером ESP32
ESP32 Урок 1. Первое знакомство с контроллером ESP32

На ножки, отмеченные жёлтым цветом, питание подаётся только в активном режиме, в спящем режиме энергосбережения, в котором работает только третье ядро, специально для этого предназначенное, питание на данные ножки не подаётся, следовательно управлять ими и брать с них сигнал мы не можем.

Окрашенные в синий цвет ножки питаются как и в активном режиме работы микроконтроллера, а также они не теряют питание и в спящем режиме.

Ножки, окрашенные в красный цвет, питаются вместе с аналоговой частью контроллера.

Отмеченные зелёным цветом ножки могут питаться как напряжением 3.3В, так и 1.8В. Эта возможность, видимо, реализована потому, что данные ножки могут управлять подключенной картой SD, которые питаются разным напряжением.

Думаю, что краткая информация изложена, более глубоко будем постигать неизведанные просторы этого непростого микроконтроллера, когда будем писать свои программы для него, а писать мы будем их, как всегда на обычном языке C, что позволяет более гибко отрегулировать работу периферийных устройств, но в ту же очередь требует от нас большей ответственности. Но мы трудностей не боимся и я верю, что обязательно у нас всё получится.

Ждём новых уроков. Спасибо за внимание!

Следующий урок>>

Оригинал статьи находится здесь.

Недорогие отладочные платы ESP32 можно купить здесь: Недорогие отладочные платы ESP32

Видео в Дзен

Видео в YouTube