Распиновка Orange Pi 3 LTS — первое, что нужно сверить перед подключением датчиков, экранов и модулей к 40-пиновому разъёму платы: неверно поданное питание 5 В на сигнальный пин или ошибка с нумерацией контактов способны вывести из строя как периферию, так и сам одноплатник. Плата построена на процессоре Allwinner H6, и её разъём расширения физически повторяет раскладку Raspberry Pi, однако логика нумерации пинов в программном коде отличается — это источник большинства ошибок у новичков.
В этой статье разберём назначение каждого контакта, различия между физической и логической нумерацией, способы проверки распиновки программно и правила безопасного подключения нагрузки. Материал ориентирован на тех, кто собирает проекты на Orange Pi 3 LTS под Linux (Debian/Ubuntu-сборки от Orange Pi или Armbian).
Общая структура 40-пинового разъёма
Разъём расширения Orange Pi 3 LTS — это двухрядная гребёнка 2×20 контактов с шагом 2,54 мм. Расположение пинов стандартное для всей линейки Orange Pi с 40-контактными разъёмами: первый пин находится у края платы со стороны, противоположной разъёмам USB, и обычно помечен шелкографией или квадратной площадкой на обратной стороне.
Контакты делятся на несколько функциональных групп. Часть пинов отвечает за питание, часть — за землю, остальные — программируемые линии GPIO, которые можно переконфигурировать под интерфейсы I2C, SPI, UART, PWM и I2S. Важно понимать: один и тот же физический контакт может выполнять разные функции в зависимости от настроек в device tree операционной системы.
- 🔌 Пины питания: 5 В (пины 2 и 4) и 3,3 В (пины 1 и 17) — для питания внешних модулей.
- ⏚ Земля (GND): пины 6, 9, 14, 20, 25, 30, 34, 39 — общий провод для всех цепей.
- 📡 Сигнальные GPIO: остальные контакты, работающие с логическими уровнями 3,3 В.
- 🔧 Мультиплексные функции: I2C, SPI, UART, PWM — назначаются через конфигурацию системы.
Таблица распиновки основных контактов
Ниже приведена распиновка ключевых контактов разъёма. Полную официальную схему со всеми альтернативными функциями стоит сверять с user manual конкретной ревизии платы, поскольку назначение отдельных GPIO может отличаться в зависимости от версии образа системы.
| Физический пин | Функция по умолчанию | Альтернативная функция |
|---|---|---|
| 1 | 3,3 В (питание) | — |
| 2 / 4 | 5 В (питание) | — |
| 3 | GPIO (TWI/I2C SDA) | I2C данные |
| 5 | GPIO (TWI/I2C SCL) | I2C тактирование |
| 7 | GPIO | общего назначения |
| 8 / 10 | UART TX / RX | отладочная консоль или GPIO |
| 19 / 21 / 23 | SPI MOSI / MISO / CLK | GPIO |
Обратите внимание: все сигнальные линии Orange Pi 3 LTS работают с уровнями 3,3 В и не толерантны к 5 В. Подача пятивольтового логического сигнала на вход GPIO — одна из самых частых причин выхода платы из строя при работе с Arduino-совместимыми модулями.
⚠️ Внимание: перед подключением любого модуля убедитесь, что его сигнальные выходы выдают не более 3,3 В. Для 5-вольтовой периферии используйте двунаправленный преобразователь логических уровней (logic level shifter).
Физическая и логическая нумерация пинов
Главная путаница при работе с распиновкой возникает из-за трёх разных систем нумерации. Физическая нумерация (BOARD) — это просто порядковый номер контакта на гребёнке от 1 до 40. Нумерация BCM пришла из мира Raspberry Pi и на Orange Pi работает лишь частично, в рамках совместимости библиотек. Системная нумерация — это номера линий GPIO, которые видит ядро Linux через подсистему gpiochip.
Для Allwinner H6 номер GPIO в системе вычисляется по формуле, привязанной к банкам портов (PA, PB, PC и так далее): номер равен смещению банка плюс позиция пина внутри банка. Например, линия PC7 и PL10 будут иметь совершенно разные системные номера, хотя физически могут находиться рядом. Точное соответствие для вашей прошивки проще всего получить командой, описанной в следующем разделе.
📊 Как вы чаще всего используете GPIO на Orange Pi 3 LTS?