Перейти к содержанию

Raspberry Pi 5: разъём GPIO и функции выводов

Raspberry Pi 5 сохранил стандартный 40-контактный разъём GPIO, но выводы на нём теперь обслуживает не процессор, а отдельный контроллер ввода-вывода RP1. Разбираем по документации Raspberry Pi, какой контакт за что отвечает, какие интерфейсы RP1 можно вывести на каждый GPIO, сколько тока выдерживают выводы и чего требует питание.

Обновлено Редакция GAW

Raspberry Pi 5 — одноплатный компьютер на процессоре Broadcom BCM2712 с четырьмя ядрами Cortex-A76 на 2,4 ГГц. Главное отличие от прежних моделей для электронщика — разъём GPIO: его выводы обслуживает отдельный контроллер ввода-вывода RP1, а не процессор. Назначение контактов при этом осталось прежним.

ПараметрЗначение
ПроцессорBCM2712: 4 × Cortex-A76 2,4 ГГц, L2 512 КБ на ядро, общий L3 2 МБ
ПамятьLPDDR4X-4267: 1, 2, 4, 8 или 16 ГБ
ВидеоVideoCore VII, 2 × HDMI 4Kp60
СвязьGigabit Ethernet (PoE+ через HAT), Wi-Fi 802.11ac, Bluetooth 5.0
USB2 × USB 3.0, 2 × USB 2.0
РасширениеPCIe 2.0 x1, 2 × MIPI на 4 линии для камер и дисплеев, разъём GPIO на 40 контактов
Питание5 В 5 А через USB-C с Power Delivery
Прочеечасы реального времени с внешней батареей, кнопка питания

Распиновка разъёма GPIO

Разъём — два ряда по 20 контактов с шагом 2,54 мм. Контакт 1 — 3,3 В — у края платы со стороны крепёжного отверстия; нечётные контакты — во внутреннем ряду, чётные — во внешнем.

Разъём GPIO Raspberry Pi 5, 40 контактовКонтакты: 1 — 3V3, 2 — 5V, 3 — GPIO2 SDA, 4 — 5V, 5 — GPIO3 SCL, 6 — GND, 7 — GPIO4 GPCLK0, 8 — GPIO14 TXD, 9 — GND, 10 — GPIO15 RXD, 11 — GPIO17, 12 — GPIO18 PCM_CLK, 13 — GPIO27, 14 — GND, 15 — GPIO22, 16 — GPIO23, 17 — 3V3, 18 — GPIO24, 19 — GPIO10 MOSI, 20 — GND, 21 — GPIO9 MISO, 22 — GPIO25, 23 — GPIO11 SCLK, 24 — GPIO8 CE0, 25 — GND, 26 — GPIO7 CE1, 27 — GPIO0 ID_SD, 28 — GPIO1 ID_SC, 29 — GPIO5, 30 — GND, 31 — GPIO6, 32 — GPIO12 PWM0, 33 — GPIO13 PWM1, 34 — GND, 35 — GPIO19 PCM_FS, 36 — GPIO16, 37 — GPIO26, 38 — GPIO20 PCM_DIN, 39 — GND, 40 — GPIO21 PCM_DOUTJ8, 40 контактов13V325V3GPIO2 SDA45V5GPIO3 SCL6GND7GPIO4 GPCLK08GPIO14 TXD9GND10GPIO15 RXD11GPIO1712GPIO18 PCM_CLK13GPIO2714GND15GPIO2216GPIO23173V318GPIO2419GPIO10 MOSI20GND21GPIO9 MISO22GPIO2523GPIO11 SCLK24GPIO8 CE025GND26GPIO7 CE127GPIO0 ID_SD28GPIO1 ID_SC29GPIO530GND31GPIO632GPIO12 PWM033GPIO13 PWM134GND35GPIO19 PCM_FS36GPIO1637GPIO2638GPIO20 PCM_DIN39GND40GPIO21 PCM_DOUTвид сверху на штыришаг 2,54 мм
40-контактный разъём GPIO Raspberry Pi 5 по рисунку документации Raspberry Pi

Номера GPIO не идут по порядку контактов. Подписи в скобках на рисунке — назначения по умолчанию из документации Raspberry Pi: I²C (SDA, SCL), UART (TXD, RXD), SPI (MOSI, MISO, SCLK, CE0, CE1), ШИМ и цифровой звук PCM.

Особые выводы по документации:

  • GPIO2 и GPIO3 (контакты 3 и 5) — с постоянными подтяжками вверх: на них шина I²C, которой подтяжки нужны.
  • GPIO0 и GPIO1 (контакты 27 и 28) — ID_SD и ID_SC; документация называет их зарезервированными для специального применения.
  • 3V3 (контакты 1 и 17) и 5V (2 и 4) — питание, GND — восемь контактов земли.

Функции GPIO контроллера RP1

На разъём выведены GPIO0–GPIO27 банка 0 контроллера RP1. По его даташиту функции разложены так же, как на разъёме Raspberry Pi 4 Model B, но их больше: пять UART, четыре I²C, шесть SPI. Ниже — функции a0, a2, a3, a4 и a8 из таблицы 4 даташита RP1 (сверено с таблицей драйвера pinctrl-rp1 ядра Linux). Функция a1 у всех выводов — параллельный видеовыход DPI, a5–a7 — программный ввод-вывод и PIO.

КонтактGPIOa0a2a3a4a8
270SPI0_SIO[3]UART1_TXI2C0_SDA—SPI2_CSn[0]
281SPI0_SIO[2]UART1_RXI2C0_SCL—SPI2_SIO[1]
32SPI0_CSn[3]UART1_CTSI2C1_SDAUART0_IR_RXSPI2_SIO[0]
53SPI0_CSn[2]UART1_RTSI2C1_SCLUART0_IR_TXSPI2_SCLK
74GPCLK[0]UART2_TXI2C2_SDAUART0_RISPI3_CSn[0]
295GPCLK[1]UART2_RXI2C2_SCLUART0_DTRSPI3_SIO[1]
316GPCLK[2]UART2_CTSI2C3_SDAUART0_DCDSPI3_SIO[0]
267SPI0_CSn[1]UART2_RTSI2C3_SCLUART0_DSRSPI3_SCLK
248SPI0_CSn[0]UART3_TXI2C0_SDA—SPI4_CSn[0]
219SPI0_SIO[1]UART3_RXI2C0_SCL—SPI4_SIO[0]
1910SPI0_SIO[0]UART3_CTSI2C1_SDA—SPI4_SIO[1]
2311SPI0_SCLKUART3_RTSI2C1_SCL—SPI4_SCLK
3212PWM0[0]UART4_TXI2C2_SDAAUDIO_OUT_LSPI5_CSn[0]
3313PWM0[1]UART4_RXI2C2_SCLAUDIO_OUT_RSPI5_SIO[1]
814PWM0[2]UART4_CTSI2C3_SDAUART0_TXSPI5_SIO[0]
1015PWM0[3]UART4_RTSI2C3_SCLUART0_RXSPI5_SCLK
3616SPI1_CSn[2]MIPI0_DSI_TE—UART0_CTS—
1117SPI1_CSn[1]MIPI1_DSI_TE—UART0_RTS—
1218SPI1_CSn[0]I2S0_SCLKPWM0[2]I2S1_SCLKGPCLK[1]
3519SPI1_SIO[1]I2S0_WSPWM0[3]I2S1_WS—
3820SPI1_SIO[0]I2S0_SDI[0]GPCLK[0]I2S1_SDI[0]—
4021SPI1_SCLKI2S0_SDO[0]GPCLK[1]I2S1_SDO[0]—
1522SDIO0_CLKI2S0_SDI[1]I2C3_SDAI2S1_SDI[1]—
1623SDIO0_CMDI2S0_SDO[1]I2C3_SCLI2S1_SDO[1]—
1824SDIO0_DAT[0]I2S0_SDI[2]—I2S1_SDI[2]SPI2_CSn[1]
2225SDIO0_DAT[1]I2S0_SDO[2]AUDIO_IN_CLKI2S1_SDO[2]SPI3_CSn[1]
3726SDIO0_DAT[2]I2S0_SDI[3]AUDIO_IN_DAT0I2S1_SDI[3]SPI5_CSn[1]
1327SDIO0_DAT[3]I2S0_SDO[3]AUDIO_IN_DAT1I2S1_SDO[3]SPI1_CSn[1]

У SPI контроллера RP1 линии данных называются SIO: SPI0_SIO[0] на GPIO10 — это MOSI, SPI0_SIO[1] на GPIO9 — MISO, как на рисунке разъёма. Основной UART разъёма — UART0 на GPIO14 и GPIO15 (функция a4), а UART1–UART4 можно вывести на GPIO0–GPIO15 функцией a2.

Ток и уровни

По документации Raspberry Pi выходы GPIO выдают 3,3 В, а входы рассчитаны на 3,3 В: 5-вольтовые сигналы подают через делитель или преобразователь уровней. Один вывод может отдавать до 16 мА, все выводы GPIO вместе — до 50 мА. Светодиод подключают через резистор, а нагрузки больше — через транзисторный ключ или драйвер.

Питание

Raspberry Pi 5 питается от 5 В через USB-C с поддержкой Power Delivery; документация рекомендует блок на 5 А (27 Вт). Только с таким блоком плата отдаёт USB-устройствам до 1,6 А; с блоком на 3 А — до 600 мА. Сама плата в работе потребляет около 800 мА.

На плате есть часы реального времени: их питают от батареи через разъём J5 (BAT) рядом с разъёмом USB-C. Контакты J2 у края платы позволяют подключить внешнюю кнопку питания — нормально разомкнутую кнопку, которая работает так же, как кнопка на плате.

О микроконтроллерных платах Raspberry Pi — в статьях о Raspberry Pi Pico и его версиях, об интерфейсах — в разделах I²C, SPI и UART.

Частые вопросы

Какое напряжение на выводах GPIO Raspberry Pi 5?

3,3 В. По документации Raspberry Pi выходы GPIO выдают 3,3 В, а входы рассчитаны на 3,3 В. Подавать на них 5 В нельзя: для 5-вольтовых датчиков и модулей нужен делитель или преобразователь уровней. На разъёме есть и контакты 5 В — 2 и 4, но это питание, а не сигналы.

Какой ток можно брать с выводов GPIO Raspberry Pi?

По документации Raspberry Pi один вывод — до 16 мА, а все выводы GPIO вместе — до 50 мА. Светодиод подключают через резистор, а реле, двигатели и мощные нагрузки — через транзистор, драйвер или модуль: напрямую к GPIO их подключать нельзя.

Где на Raspberry Pi 5 UART, I²C и SPI?

На тех же местах, что у прежних моделей. По рисунку документации: I²C — SDA на GPIO2 (контакт 3) и SCL на GPIO3 (контакт 5), UART — TXD на GPIO14 (контакт 8) и RXD на GPIO15 (контакт 10), SPI — MOSI на GPIO10, MISO на GPIO9, SCLK на GPIO11, CE0 и CE1 на GPIO8 и GPIO7. Контроллер RP1 позволяет вывести на разъём и другие UART, I²C и SPI — до пяти UART.

Какой блок питания нужен Raspberry Pi 5?

По документации Raspberry Pi — 5 В на 5 А через USB-C, рекомендуется блок на 27 Вт. С блоком, который не выдаёт 5 А, плата ограничивает ток USB-устройств 600 мА вместо 1,6 А. Сама плата в работе потребляет около 800 мА.

Источники

  1. Raspberry Pi. Raspberry Pi 5 Product Brief — BCM2712: 4 × Cortex-A76 2,4 ГГц, L2 512 КБ на ядро, L3 2 МБ; VideoCore VII; 2 × HDMI 4Kp60; LPDDR4X-4267 от 1 до 16 ГБ; Wi-Fi 802.11ac, Bluetooth 5.0; 2 × USB 3.0, 2 × USB 2.0; Gigabit Ethernet с PoE+ через HAT; 2 × MIPI на 4 линии; PCIe 2.0 x1; питание 5 В 5 А через USB-C с Power Delivery; стандартный 40-контактный разъём GPIO; RTC с внешней батареей; кнопка питания; 0–70 °C; выпуск не раньше января 2036 года
  2. Raspberry Pi. Documentation: GPIO and the 40-pin header, Power supplies, RTC, Power button (raspberrypi/documentation, коммит 0456a78) — рисунок GPIO-Pinout-Diagram-2 — назначение 40 контактов; шаг 2,54 мм; выходы 3,3 В, входы допускают 3,3 В; у GPIO2 и GPIO3 постоянные подтяжки вверх; GPIO0 и GPIO1 (контакты 27 и 28) зарезервированы; все GPIO вместе — до 50 мА, один вывод — до 16 мА; блок питания 5 А, ток USB-устройств 1,6 А (600 мА при блоке 3 А), ток платы около 800 мА; RTC от батареи через разъём J5 (BAT); контакты J2 — внешняя кнопка питания; лицензия CC BY-SA 4.0
  3. Raspberry Pi. RP1 Peripherals (build-date 2023-11-07) — разд. 3.1 — 28 GPIO банка 0 на 40-контактном разъёме, функции размещены как на разъёме Raspberry Pi 4 Model B; табл. 4 — функции a0–a8: SPI0–SPI5, UART0–UART4, I2C0–I2C3, PWM0, GPCLK0–2, I2S0 и I2S1, SDIO0, DPI, PIO; банки 1 и 2 — для внутреннего использования; лицензия CC BY-ND 4.0
  4. Raspberry Pi. Linux rpi-6.12.y: drivers/pinctrl/pinctrl-rp1.c (коммит 881f1ec) — таблица rp1_gpio_pin_funcs — функции a0–a8 для GPIO0–27 (сверка табл. 4 RP1 Peripherals, в том числе пустых ячеек у GPIO16, 17 и 24)
  5. GPIO Zero 2.0.1: gpiozero/pins/data.py — PLUS_J8 — назначение 40 контактов разъёма J8 плат с B+ (сверка рисунка документации); лицензия BSD-3-Clause

Нашли ошибку?