Программирование ARM Raspberry Pi 4 GPIO Pinout Tue, October 08 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Raspberry Pi 4 GPIO Pinout Печать
Добавил(а) microsin   

Платка Raspberry Pi 4 [3] имеет на борту больше разных полезных функций в сравнении с предыдущими моделями. Она была выпущена в июне 2019, и работает на 90% быстрее благодаря памяти 4GB и 8GB RAM. Цоколевка разъема портов (General-Purpose Input Output, GPIO) была сохранена совместимой с предыдущими моделями Raspberry Pi.

У Raspberry Pi 4 есть 40-выводный коннектор J8 (см. рис. 1).

Pi4B GPIO fig01

Рис. 1. 40-контактный разъем Raspberry Pi 4.

На этот коннектор выведены 28 портов GPIO, которые можно сконфигурировать как входы (их можно читать) или выходы (их можно записывать и читать). Также эти выводы могут выполнять специальные функции различных аппаратных интерфейсов.

Pi4B GPIO fig02

Рис. 2. Питание, земля и зарезервированные выводы Raspberry Pi 4.

5V. На ножки 5V (контакты 2 и 4) выведено питание, поступающее от коннектора USB Type-C.

3.3V. Эти выводы предоставляют питание 3.3V для внешних устройств (контакты 1 и 17).

GND. Общий провод для питания и всех сигналов (Ground, земля, контакты 6, 9, 14, 20, 25, 30, 34 и 39).

Зарезервированные выводы. Эти контакты (27 и 28) используются для обмена данными с памятью EEPROM по протоколу I2C. Их стоит использовать только в том случае, если Вы понимаете, что делаете.

[GPIO]

Это контакты на Raspberry Pi, которые выполняют различные функции, и каждому контакту назначается своя задача. Одни выводы используются в качестве входов, другие - в качестве выходов. Ножки GPIO могут программно менять свои выходные уровни, когда настроены как выходы, и могут считывать уровень логики, когда настроены как входы. Входные напряжения в диапазоне от 1.8V до 3V считаются высоким уровнем (лог. 1), а напряжения менее 1.8V - низким (лог. 0). Не следует подавать на эти выводы напряжение выше уровня 3.3V, иначе можно вывести Raspberry Pi из строя.

Кроме функций программного ввода/вывода, некоторые ножки портов GPIO могут выполнять специальные аппаратные функции различных интерфейсов (см. далее).

[PWM]

Ножки портов GPIO могут выводить сигнал широтно-импульсной модуляции, ШИМ (Pulse Width Modulation, PWM). Программно ШИМ могут формировать все выводы GPIO, однако некоторые из них формируют ШИМ аппаратно, это контакты 12 (GPIO18, PWM0), 32 (GPIO12, PWM0), 33 (GPIO13, PWM1) и 35 (GPIO19).

Pi4B GPIO PWM fig03

Рис. 3. Выводы аппаратного формирования PWM (GPIO12, GPIO13, GPIO18, GPIO19).

[SPI]

Последовательный интерфейс SPI (Serial Peripheral Interface [4]) может использоваться для быстрого обмена данными с различными внешними устройствами, такими как датчики, АЦП/ЦАП, дисплеями, клавиатурами и т. п. В качестве главного устройства (SPI Master) Raspberry Pi посылает данные через сигнал Master Out Slave In (выход MOSI), и принимает данные через сигнал Master In Slave Out (вход MISO). Обмен через SPI может задействовать до 5 выводов GND, SCLK, MOSI, MISO и CEx (x = 0, 2 или 3). Сигнал CEx (выход) используется для разрешения или запрета внешнего починенного устройства (SPI Slave), а сигнал SCLK (выход) формирует такты интерфейса SPI.

SPI0 использует выводы GPIO9 MISO (контакт 21), GPIO10 MOSI (контакт 19), GPIO11 SCLK (контакт 23), GPIO8 CE0 (контакт 24) и GPIO7 CE1 (контакт 26).

Pi4B GPIO SPI0 fig04

Рис. 4. Сигналы интерфейса SPI0.

SPI1 использует GPIO19 MISO (контакт 35), GPIO20 MOSI (контакт 38), GPIO21 SCLK (контакт 40), GPIO18 CE0 (контакт 12), GPIO17 CE1 (контакт 11) и GPIO16 CE2 (контакт 36).

Pi4B GPIO SPI1 fig05

Рис. 5. Сигналы интерфейса SPI1.

Таким образом, SPI0 может аппаратно управлять двумя устройствами на шине (сигналами выборки CE0 и CE1), а SPI1 тремя (сигналами выборки CE0, CE1, CE2).

[I2C]

Обмен через интерфейс I2C осуществляется сигналами Serial Data (SDA, последовательные данные, двунаправленный сигнал) и Serial Clock (SCL, выход тактов). I2C0 обычно используется для обмена данными с EEPROM, а I2C1 для управления периферийными устройствами.

I2C0. Вывод порта GPIO0 (контакт 27) отвечает за сигнал SDA, и GPIO1 (контакт 28) за сигнал SCL.

I2C1. Вывод порта GPIO2 (контакт 3) отвечает за сигнал SDA, и GPIO3 (контакт 5) за сигнал SCL.

Pi4B GPIO I2C fig06

Рис. 6. Сигналы интерфейса I2C0 и I2C1.

[UART]

Это универсальный асинхронный последовательный интерфейс (Universal Asynchronous Receiver Transmitter, UART). UART Raspberry Pi 4 по умолчанию использует 2 вывода - передача TXD0 (GPIO14, контакт 8) и прием RXD0 (GPIO15, контакт 10). Через UART выводит сообщения загрузчик. UART также может использоваться для вывода отладочных сообщений, или для ввода команд пользователя.

Pi4B GPIO UART fig07

Рис. 7. Сигналы интерфейса UART.

[Ссылки]

1. Raspberry Pi 4 GPIO Pinout site:linuxhint.com.
2. Raspberry Pi Pinout site:pinout.xyz.
3. Raspberry Pi, быстрый старт.
4. Интерфейс SPI.
5. Linux: программирование GPIO на основе sysfs.

 

Добавить комментарий


Защитный код
Обновить

Top of Page