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

 
» » » Детальная распиновка ESP32: какие линии GPIO можно использовать

Детальная распиновка ESP32: какие линии GPIO можно использовать

Автор: Mike(admin) от 12-09-2018, 10:25

Микроконтроллер ESP32 имеет 48 выводов, обладающих различными функциями. Не все контакты доступны на всех отладочных платах с ESP32, и есть некоторые контакты, которые нельзя использовать. Существует много вопросов о том, как использовать линии ввода/вывода (GPIO) на ESP32. Какие контакты вы должны использовать? Какие выводы вы должны избегать использовать в своих проектах? В этом материале мы постараемся ответить на данные вопросы.


Детальная распиновка ESP32: какие линии GPIO можно использовать

Итак, в первую очередь нужно знать, какую периферию имеет ESP32. В микроконтроллере содержится:


  • 18 каналов АЦП
  • 3 интерфейса SPI
  • 3 интерфейса UART
  • 2 интерфейса I2C
  • 16 выходных каналов ШИМ
  • 2 канала ЦАП
  • 2 интерфейса I2S
  • 10 GPIO для емкостных датчиков

АЦП (аналого-цифровой преобразователь) и ЦАП (цифро-аналоговый преобразователь) назначаются конкретным статическим контактам. Однако вы можете определить контакты UART, I2C, SPI, PWM и т. д. – вам просто нужно назначить их в коде. Это возможно благодаря функции мультиплексирования ESP32. Хотя вы можете определить выводы в программном обеспечении, по умолчанию назначены контакты, как показано на следующем рисунке (это пример для платы ESP32 DEVKIT V1 DOIT с 36 выводами - расположение контактов может меняться в зависимости от производителя).


Детальная распиновка ESP32: какие линии GPIO можно использовать

Кроме того, есть выводы с определенными функциями, которые делают их подходящими или нет для конкретного проекта. На следующем рисунке показана распиновка ESP-WROOM-32. Вы можете использовать его в качестве справочной информации, если вы используете чип для создания пользовательской платы.


Детальная распиновка ESP32: какие линии GPIO можно использовать

Линии GPIO с 34 по 39 являются GPI, то есть направлены только на ввод информации. Эти линии не имеют внутренних подтягивающих резисторов. Они не могут использоваться в качестве выходов, поэтому используйте эти контакты только как входы.


GPIO 6 - GPIO 11 отображаются на некоторых платах ESP32. Однако эти контакты подключены к интегрированной SPI flash на микроконтроллере ESP-WROOM-32 и не рекомендуются для других целей. Поэтому не используйте эти контакты в своих проектах.


ESP32 имеет 10 внутренних емкостных сенсорных датчиков. Они могут ощущать изменения во всем, что содержит электрический заряд, даже на человеческой коже. Таким образом, они могут обнаруживать изменения, вызванные прикосновением к GPIO пальцем. Эти выводы легко работают с емкостными панелями и заменяют механические кнопки. Емкостные сенсорные выводы также могут использоваться для пробуждения ESP32 от глубокого сна. Эти датчики подключены к следующим GPIO: T0 (GPIO 4), T1 (GPIO 0), T2 (GPIO 2), T3 (GPIO 15), T4 (GPIO 13), T5 (GPIO 12), T6 (GPIO 14), T7 (GPIO 27), T8 (GPIO 33), T9 (GPIO 32).


ESP32 имеет 18 x 12 битных входных каналов АЦП (в то время как ESP8266 имеет только один 10 битный канал АЦП). Вот GPIO, которые могут использоваться как АЦП и соответствующие каналы: ADC1_CH0 (GPIO 36), ADC1_CH1 (GPIO 37), ADC1_CH2 (GPIO 38), ADC1_CH3 (GPIO 39), ADC1_CH4 (GPIO 32), ADC1_CH5 (GPIO 33), ADC1_CH6 (GPIO 34), ADC1_CH7 (GPIO 35), ADC2_CH0 (GPIO 4), ADC2_CH1 (GPIO 0), ADC2_CH2 (GPIO 2), ADC2_CH3 (GPIO 15), ADC2_CH4 (GPIO 13), ADC2_CH5 (GPIO 12), ADC2_CH6 (GPIO 14), ADC2_CH7 (GPIO 27), ADC2_CH8 (GPIO 25), ADC2_CH9 (GPIO 26). Следует помнить, выводы ESP32 ADC ведут себя не совсем линейно. Вероятно, вы не сможете отличить от 0 до 0,1 В или от 3,2 до 3,3 В. Это необходимо учитывать при использовании выводов АЦП. Вы получите такое же поведение, как показано на следующем рисунке.


Нелинейность АЦП ESP32

В ESP32 есть 2 x 8 битных канала ЦАП для преобразования цифровых сигналов в аналоговые выходы напряжения. Вот каналы ЦАП: DAC1 (GPIO25), DAC2 (GPIO26).


В ESP32 имеется поддержка RTC (ядро низкого энергопотребления) GPIO. GPIO, перенаправленные в подсистему с низким энергопотреблением RTC, могут использоваться, когда ESP32 находится в глубоком сне. Эти RTC GPIO могут использоваться для пробуждения ESP32 от глубокого сна при работе сопроцессора Ultra Low Power (ULP). Следующие GPIO могут использоваться как внешний источник пробуждения: RTC_GPIO0 (GPIO36), RTC_GPIO3 (GPIO39), RTC_GPIO4 (GPIO34), RTC_GPIO5 (GPIO35), RTC_GPIO6 (GPIO25), RTC_GPIO7 (GPIO26), RTC_GPIO8 (GPIO33), RTC_GPIO9 (GPIO32), RTC_GPIO10 (GPIO4), RTC_GPIO11 (GPIO0), RTC_GPIO12 (GPIO2), RTC_GPIO13 (GPIO15), RTC_GPIO14 (GPIO13), RTC_GPIO15 (GPIO12), RTC_GPIO16 (GPIO14), RTC_GPIO17 (GPIO27).


ШИМ-контроллер PWM LED в ESP32 имеет 16 независимых каналов, которые могут быть сконфигурированы для генерации сигналов ШИМ с различными свойствами. Практически все контакты, которые могут выступать в качестве выходов, могут использоваться в качестве выходов ШИМ (GPIO с 34 по 39 не могут генерировать ШИМ). Чтобы установить сигнал ШИМ, вам необходимо определить эти параметры в коде: частота сигнала, скважность, ШИМ-канал, а также GPIO, где вы хотите вывести сигнал.


При использовании ESP32 с Arduino IDE вы должны использовать стандартные выходы ESP32 I2C (поддерживаемые библиотекой Wire): GPIO 21 (SDA), GPIO 22 (SCL).


В ESP32 имеется также интерфейс SPI, вот его сопоставление контактов:


SPI в ESP32

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


Помимо прочего в ESP32 есть еще один вывод – Enable (EN). Это линия активации регулятора 3.3V. Он подтянут, поэтому подключитесь к земле, чтобы отключить регулятор 3.3V. Это означает, что вы можете использовать этот вывод, подключенный к кнопке, чтобы перезапустить ESP32, например.


И напоследок, абсолютный максимальный ток, потребляемый одной линией GPIO, составляет 12 мА, но рекомендуется при нормальном использовании 6 мА.




© digitrode.ru


Теги: ESP32




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

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

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