Курс 10 • Урок 2 из 8 • 3 часа учебной нагрузки

GPIO: вход, выход, подтяжка и нагрузка

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

3 часа короткая теория, самостоятельная практика, проверка результата и тест.

Суть темы

GPIO — универсальный цифровой вывод микроконтроллера. В режиме входа он считывает логический уровень, а в режиме выхода формирует его. Если вход оставить электрически неподключённым, его состояние может стать неопределённым из-за помех и токов утечки. Поэтому входу часто задают исходный уровень резистором подтяжки к питанию или к общему проводу.

Выход типа «двухтактный» активно формирует и высокий, и низкий уровень. Выход с открытым стоком сам может только притянуть линию к нулю; высокий уровень создаёт внешний или внутренний резистор подтяжки. Такой режим удобен для общей линии, где несколько устройств могут по очереди тянуть сигнал к нулю.

Ключевые связи и параметры

Цифровой уровень определяется не словами «0 В» и «напряжение питания», а допустимыми диапазонами входных и выходных напряжений, указанными в документации микроконтроллера. Для совместимости проверяют минимальное напряжение, которое вход гарантированно распознаёт как единицу, максимальное напряжение нуля, а также уровни, которые способен обеспечить выход при заданном токе.

Вывод имеет ограничение по току. Светодиод, реле, двигатель или другая заметная нагрузка не должны подключаться к GPIO как к силовому источнику: при необходимости используют внешний транзисторный ключ или драйвер.

Разбор примера

Кнопка соединяет вход с общим проводом. Если включить подтяжку входа к питанию, отпущенная кнопка даёт устойчивую логическую единицу, а нажатая — ноль. Без подтяжки отпущенный вход оказался бы «плавающим».

Для светодиода сначала рассчитывают ограничительный резистор и проверяют допустимый ток вывода. Для катушки реле GPIO управляет транзистором, а не питает катушку напрямую.

Практическая работа и проверка

  1. Найдите в документации вывод и его допустимые электрические параметры.
  2. Настройте его входом с подтяжкой и проверьте напряжение в обоих состояниях кнопки.
  3. Настройте тот же вывод двухтактным выходом и измерьте высокий и низкий уровни без перегрузки.
  4. Сравните двухтактный режим с режимом открытого стока при внешней подтяжке.

Типичные ошибки и диагностика

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

Связь с реальным устройством

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

Что нужно запомнить

  • Входу нужен определённый логический уровень; для этого применяют подтяжку.
  • Двухтактный выход активно формирует оба уровня, открытый сток — только низкий.
  • Логическую совместимость проверяют по электрическим уровням из документации.
  • GPIO имеет ограничения по току и напряжению.
  • Мощную нагрузку подключают через подходящий драйвер или ключ.
Проверка знаний

Вопросы по уроку

Нужно 75%
Загрузка вопросов…