Работа с GPIO

Введение в GPIO: ввод/вывод #

GPIO (от англ. General Purpose Input/Output) — это универсальные цифровые пины, которые можно программно настроить как вход или выход. Они позволяют Repka Pi взаимодействовать с внешним оборудованием напрямую, без дополнительных микросхем.

  • В режиме входа (Input) пин может считывать логическое состояние внешнего сигнала: например, определять, нажата ли кнопка или поступает ли сигнал с датчика.

  • В режиме выхода (Output) пин может устанавливать логический уровень (высокий или низкий), например — зажигать светодиод, управлять реле или подавать сигнал на другой контроллер.

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

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

Нумерация пинов #

Перед тем как приступить к работе с GPIO на Repka Pi, важно разобраться, как именно пронумерованы пины — ведь одна и та же физическая ножка разъёма может иметь несколько «имен», в зависимости от контекста. Существует несколько систем нумерации, и каждая используется в своих целях:

Важно учитывать, что в линейке Repka Pi используются разные SoC: Repka Pi 3 построена на Allwinner H5, Repka Pi 4 — на Allwinner H6, а Repka Pi 5 — на Rockchip RK3588. Поэтому имена GPIO-линий, внутренняя организация GPIO-контроллеров и способы низкоуровневой адресации между моделями могут отличаться.

Варианты нумерации:

  1. Физическая нумерация
    Это просто позиция пина на 40-контактном разъёме.

  2. GPIO-имена от SoC (логическая нумерация)
    Каждый пин напрямую связан с конкретным выводом на микросхеме (SoC). Название таких линий зависит от используемого процессора и его внутренней схемы GPIO-банков.

    На платах Repka Pi 3 и Repka Pi 4 на базе Allwinner H5/H6 часто встречаются обозначения вида PL11, PG10, PC7 и т.п., где:

    • Первая буква указывает порт (Port),

    • Цифра — номер пина в этом порту (от 0 до 31).

    На Repka Pi 5 с Rockchip RK3588 используется другая схема именования GPIO-линий, поэтому ориентироваться на обозначения вида PLx или PGx для этой модели не следует.

  3. Внутренние GPIO-номера (целые числа)
    В Linux GPIO могут быть представлены не только физическими номерами пинов, но и внутренними идентификаторами, именами линий или номерами, которые зависят от драйвера, версии ядра и используемого пользовательского интерфейса доступа к GPIO.

    На некоторых платформах и в старых интерфейсах Linux GPIO можно встретить целочисленные номера GPIO. Например, для части платформ на Allwinner такие номера вычислялись по формуле:
    GPIO_number = base_offset + (порт_буква * 32) + номер_пина.
    Например, если PG начинается с номера 192, то PG10 = 192 + 10 = 202.

    Для Repka Pi 5 такую схему не следует воспринимать как универсальное правило: внутреннее представление GPIO в системе может отличаться от материалов, ориентированных на Repka Pi 3/4.

Ниже представлено изображение, на котором показано в какой колонке искать определенный тип нумерации пинов на наших изображениях с распиновками к Repka Pi:


2105 просмотров0 комментариев
0

Комментарии (0)

Для участия в обсуждении Вы должны быть авторизованным пользователем
Разделы

Навигация

ВойтиРегистрация