Одноплатник Raspberry Pi 5 із новим периферійним контролером RP1 відкриває новий рівень гнучкості та продуктивності для роботи з GPIO (General Purpose Input/Output). У цій статті ви знайдете глибокий огляд системи GPIO на недорогих мікрокомп’ютерах Raspberry Pi 5: архітектура, електричні характеристики, підтримувані функції, обробка переривань, таблиця виводів та багато іншого — на основі офіційної документації RP1.
Периферійний контролер вводу/виводу GPIO RP1.
Чіп RP1 — це спеціалізований периферійний контролер, який з’єднується з основним процесором Broadcom BCM2712 через високошвидкісну шину PCIe 2.0 x4. Він об’єднує всі низькошвидкісні цифрові контролери та аналогові інтерфейси, необхідні для зовнішніх підключень мінікомп’ютера RPi 5, зокрема й 40-контактний GPIO-роз’єм.

Електричні характеристики та архітектура GPIO Raspberry Pi 5
Кількість виводів GPIO Raspberry Pi 5
Raspberry Pi 5 має 28 багатофункціональних GPIO-виводів, які доступні через стандартний 40-контактний роз’єм. Цей роз’єм сумісний за розташуванням і функціями з попередньою моделлю Raspberry Pi 4 Model B, що забезпечує просту і швидку адаптацію апаратних аксесуарів і проектів.
Електрична група
Всі GPIO Raspberry Pi 5 належать до однієї електричної групи (VDDIO0). Це означає, що вони живляться від спільного джерела напруги, яке може бути налаштоване на 1.8В або 3.3В. Офіційні специфікації та рекомендовані умови роботи передбачають використання 3.3В, що відповідає стандартам логіки Raspberry Pi.
Рівні напруги
GPIO RPi 5 працюють на логічному рівні 3.3В. Важливо, що виводи GPIO є толерантними до 5В, коли контролер RP1 живиться, тобто можуть безпечно приймати сигнали з напругою до 5В без ризику пошкодження. Якщо RP1 не живиться, максимальна допустима напруга на виводах становить 3.63В.
Термін толерантність у цьому контексті означає здатність GPIO витримувати вищу напругу на вході, ніж їх логічний рівень, без пошкодження або некоректної роботи. Це важливо для сумісності з пристроями, які працюють на 5В логіці.
Керування GPIO
Кожен GPIO-вивід Raspberry Pi 5 можна керувати програмно як цифровий вхід або вихід, а також призначати для роботи з апаратними периферіями, такими як UART, SPI, I2C, PWM, PCM та іншими. Завдяки RP1 контролеру, який відповідає за периферійні інтерфейси, Raspberry Pi 5 підтримує гнучке переназначення функцій виводів.
Електричні обмеження та струми
- Максимальний струм на один GPIO-вивід: 16 мА. Це безпечне значення, при якому не буде пошкоджень.
- Загальний струм через всі GPIO: рекомендується не перевищувати 100-200 мА для безпечної роботи.
- Живлення 5В: Виводи живлення 5В (пін 2 і 4) можуть забезпечувати струми, обмежені потужністю джерела живлення та трасуванням плати. На практиці можна отримати до 800 мА з 5В лінії, але це залежить від джерела та теплових умов.
- Живлення 3.3В: Обмежене потужністю регулятора живлення (близько 1А), який живить SoC і периферію, тому доступна потужність для зовнішніх пристроїв обмежена.
Підтримувані функції GPIO
Система GPIO на RP1 підтримує широкий спектр функцій, які можна призначити кожному виводу:
Цифровий ввід/вивід
- UART: до 5 інтерфейсів
- SPI: до 6 інтерфейсів
- I2C: до 4 інтерфейсів
- I2S: 2 інтерфейси (1 — генератор тактів, 1 — споживач)
- RIO: Registered IO interface
- DPI: 24-бітний Display Parallel Interface
- PWM: 4-канальний вихід PWM
- AUDIO_OUT: стерео PWM-аудіо (Delta Sigma, аналогового аудіовиходу на Pi 5 немає)
- GPCLK: універсальний тактовий ввід/вивід
- eMMC/SDIO: 4-бітний інтерфейс для розширення зберігання
- Переривання: рівневі та фронтові, з гнучким маршрутизацією
- ADC: 12-бітний, 5-канальний (4 зовнішні, 1 внутрішній датчик температури), до 500 kSPS
Таблиця розпіновки GPIO Raspberry Pi 5
| Фізичний пін | BCM GPIO | Основна функція | Альтернативні функції (приклади) |
|---|---|---|---|
| 1 | 3.3V живлення | ||
| 2 | 5V живлення | ||
| 3 | GPIO2 | SDA1 (I2C1 Data) | GPIO |
| 4 | 5V живлення | ||
| 5 | GPIO3 | SCL1 (I2C1 Clock) | GPIO |
| 6 | GND (Земля) | ||
| 7 | GPIO4 | GPCLK0 | GPIO, DPI_D0 |
| 8 | GPIO14 | TXD0 (UART0 TX) | GPIO, SPI1_CE1 |
| 9 | GND | ||
| 10 | GPIO15 | RXD0 (UART0 RX) | GPIO, SPI1_CE0 |
| 11 | GPIO17 | GPIO | PCM_CLK, SPI1_MISO |
| 12 | GPIO18 | PCM_CLK | GPIO, PWM0 |
| 13 | GPIO27 | GPIO | DPI_D1, SPI1_MOSI |
| 14 | GND | ||
| 15 | GPIO22 | GPIO | DPI_D2 |
| 16 | GPIO23 | GPIO | DPI_D3 |
| 17 | 3.3V живлення | ||
| 18 | GPIO24 | GPIO | DPI_D4 |
| 19 | GPIO10 | SPI0_MOSI | GPIO, DPI_D5 |
| 20 | GND | ||
| 21 | GPIO9 | SPI0_MISO | GPIO, DPI_D6 |
| 22 | GPIO25 | GPIO | DPI_D7 |
| 23 | GPIO11 | SPI0_SCLK | GPIO, DPI_D8 |
| 24 | GPIO8 | SPI0_CE0 | GPIO, DPI_D9 |
| 25 | GND | ||
| 26 | GPIO7 | SPI0_CE1 | GPIO, DPI_D10 |
| 27 | GPIO0 | SDA0 (I2C0 Data) | GPIO, DPI_D11 |
| 28 | GPIO1 | SCL0 (I2C0 Clock) | GPIO, DPI_D12 |
| 29 | GPIO5 | GPIO | DPI_D13 |
| 30 | GND | ||
| 31 | GPIO6 | GPIO | DPI_D14 |
| 32 | GPIO12 | PWM0 | GPIO, DPI_D15 |
| 33 | GPIO13 | PWM1 | GPIO, DPI_D16 |
| 34 | GND | ||
| 35 | GPIO19 | PCM_FS | GPIO, DPI_D17, SPI1_MOSI |
| 36 | GPIO16 | GPIO | DPI_D18 |
| 37 | GPIO26 | GPIO | DPI_D19 |
| 38 | GPIO20 | PCM_DIN | GPIO, DPI_D20, SPI1_MISO |
| 39 | GND | ||
| 40 | GPIO21 | PCM_DOUT | GPIO, DPI_D21, SPI1_SCLK |
Кожен GPIO підтримує декілька альтернативних функцій, які можна налаштувати програмно. Повний перелік функцій для кожного виводу дивіться у документації RP1.
Обробка переривань GPIO RPi 5
Джерела переривань. Кожен GPIO може генерувати переривання на:
- Рівень високий
- Рівень низький
- Фронт наростання
- Фронт спаду
- Асинхронні фронти наростання/спаду
Маршрутизація:
- Всі джерела переривань об’єднуються (OR) і можуть бути спрямовані до трьох місць: ARM Cortex M3 у RP1, основний процесор (AP) та контролер DMA.
Дебаунсінг:
- Для усунення брязкоту контактів і синхронізації з DMA доступні генератори часових баз.
Додаткові можливості GPIO Raspberry Pi 5
- Спільна SRAM: 64 КБ оперативної пам’яті для обміну даними між AP і RP1, корисно для DMA і буферизації подій GPIO.
- Прямий доступ до регістрів: GPIO і периферія керуються через прямий доступ до регістрів по PCIe (нове розташування регістрів у порівнянні з попередніми моделями).
- Гнучке призначення периферії: Кожен периферійний ввід (наприклад, I2C3_SCL) має бути вибраний лише на одному GPIO одночасно; якщо на декількох — периферія бачить логічне OR.
- Сила струму та підтягування: Програмована сила драйвера і вбудовані підтягуючі резистори.
- Толерантність до напруги: Виводи витримують до 5В при живленні RP1 — це значний плюс для DIY-користувачів та промислових користувачів.
Порівняння: RP1 vs попередні моделі Raspberry Pi
| Характеристика | Raspberry Pi 5 (RP1) | Попередні моделі |
|---|---|---|
| Контролер GPIO | RP1 Southbridge | Основний SoC (BCM2XXX) |
| Кількість GPIO | 28 (на 40-конт. роз’ємі) | 28 (на 40-конт. роз’ємі) |
| Толерантність до напруги | 5В (при живленні) | 3.3В (обмежена 5В) |
| Інтеграція периферії | UART, SPI, I2C, I2S, PWM, DPI, ADC, RIO | UART, SPI, I2C, PWM, DPI |
| Розташування регістрів | Нове (RP1-специфічне) | BCM2XXX |
| Спільна SRAM | 64 КБ | Відсутня |
https://www.privat24.ua/send/g3iz4
5168752132884621
Цей гід базується на найновішій документації RP1 та аналізі технічної спільноти. Для критичних або промислових застосувань завжди використовуйте повний даташит і проводьте власну перевірку у ваших умовах.
Компанія VD MAIS має статус офіційного реселлера Raspberry Pi в Україні, отримати відповіді на будь-які технічні питання можна у менеджерів VD MAIS, які спілкуються напряму з виробником.
Купити оригінальні комп’ютери Raspberry Pi і периферію до них в Києві зі складу можна в інтернет-магазині VD MAIS.