Raspberry Pi Pico и Pico W: распиновка и описание GPIO

В этой статье подробно рассматривается распиновка Raspberry Pi Pico и Pico W. Raspberry Pi Pico имеет 40 выводов, которые можно использовать для подключения электронных компонентов, таких как светодиоды, моторы и датчики. Узнайте, для чего предназначен каждый вывод, как его можно использовать и какие у него специфические функции.

Распиновка Raspberry Pi Pico и Pico W

Содержание

В этой статье мы рассмотрим следующие темы:

Знакомство с GPIO Raspberry Pi Pico

Raspberry Pi Pico и Raspberry Pi Pico W имеют по ряду из 20 выводов с каждой стороны, что в сумме составляет 40 выводов. Из этих 40 выводов 26 являются программируемыми GPIO, которые можно использовать для подключения периферийных устройств, таких как светодиоды, моторы и датчики, или даже для установления связи с другими платами микроконтроллеров.

Raspberry Pi Pico W

GPIO Raspberry Pi Pico подписаны на задней стороне платы. Когда вы используете Raspberry Pi Pico на макетной плате, может быть трудно определить каждый вывод. Поэтому удобно всегда иметь под рукой схему распиновки.

Raspberry Pi Pico — подписи выводов на задней стороне

Raspberry Pi Pico W и Raspberry Pi Pico

Прежде чем объяснять всё о GPIO Raspberry Pi Pico, важно отметить, что существуют два различных варианта платы Raspberry Pi Pico:

  • Raspberry Pi Pico: без беспроводного подключения (без Wi-Fi, без Bluetooth)

  • Raspberry Pi Pico W: с беспроводным подключением (Wi-Fi и Bluetooth)

Семейство Raspberry Pi Pico — Pico, Pico H, Pico W, Pico WH

Raspberry Pi Pico, Pico H, Pico W, Pico WH (Источник изображения)

Вы также можете встретить эти версии с буквой H, например Raspberry Pi Pico H или Raspberry Pi Pico WH, что означает, что они поставляются с уже припаянными штыревыми разъёмами.

Распиновка различных вариантов очень похожа, единственное отличие — это вывод GPIO, управляющий встроенным светодиодом, и расположение отладочных выводов. Мы приводим отдельную схему для Raspberry Pi Pico и для Raspberry Pi Pico W.

Интерфейсы GPIO Raspberry Pi Pico

Raspberry Pi Pico имеет 40 выводов, 26 из которых являются программируемыми GPIO, которые можно использовать для подключения периферийных устройств.

Raspberry Pi Pico поддерживает следующие периферийные интерфейсы на своих GPIO:

GPIO Raspberry Pi Pico работают на напряжении 3,3 В.

Схема распиновки Raspberry Pi Pico

На следующем изображении показана распиновка Raspberry Pi Pico (какие функции поддерживаются каждым выводом).

Схема распиновки Raspberry Pi Pico RP2040 — GPIO

Источник изображения: raspberrypi.com

Схема распиновки Raspberry Pi Pico W

На следующем изображении показана распиновка Raspberry Pi Pico W (какие функции поддерживаются каждым выводом).

Схема распиновки Raspberry Pi Pico W RP2040 — GPIO

Источник изображения: raspberrypi.com

Выводы питания

Raspberry Pi Pico имеет несколько выводов питания: 3V3 (OUT), VSYS и VBUS, отмеченные красным на схемах распиновки.

Вывод 3V3(OUT) обеспечивает выходное напряжение 3,3 В, которое может быть полезно для питания внешних схем.

VBUS (вход питания USB) — это входное напряжение от micro-USB. Таким образом, если вы питаете Raspberry Pi Pico через USB-порт с напряжением 5 В, вы получите 5 В на выводе VBUS.

VSYS (вход внешнего питания) — это основное входное напряжение системы. Это означает, что к этому выводу можно подключить внешний источник питания для питания платы, если вы не используете вход micro-USB. Минимальное входное напряжение VSYS составляет 1,8 В, а максимальное — 5,5 В.

Выводы GND обозначены чёрным цветом на схеме.

Существуют и другие выводы питания для особых случаев:

  • 3V3_EN: подключён к выводу разрешения SMPS платы, что, по сути, означает аппаратное включение/выключение (аппаратный сброс) — установите в LOW для сброса;

  • ADC_REF: напряжение питания для выводов АЦП;

  • AGND: опорная земля для выводов АЦП;

  • RUN: это вывод разрешения; установите в LOW для сброса микроконтроллера RP2040 (программный сброс).

Выводы общего назначения (GPIO)

Raspberry Pi Pico имеет 40 выводов, 26 из которых являются программируемыми GPIO (выводы общего назначения — ввод/вывод), которые можно использовать для подключения периферийных устройств.

Выводы GPIO Raspberry Pi Pico

Эти выводы обозначены светло-зелёным цветом на схемах. Они пронумерованы от GPIO0 до GPIO29. Четыре из этих выводов не выведены на штыревой разъём, а предназначены для внутренних функций платы: GPIO23, GPIO24, GPIO25 и GPIO29. См. следующий раздел.

GPIO, выделенные для внутренних функций платы

Существуют GPIO, которые не выведены на штыревой разъём, но которые можно использовать для управления или мониторинга внутренних функций платы:

GPIO29

внутренний АЦП (ADC3) для измерения VSYS (см. Аналоговые выводы)

GPIO25

подключён к встроенному светодиоду (на Pico) (см. Встроенный светодиод)

GPIO24

индикатор наличия VBUS

GPIO23

управление встроенным SMPS (импульсным стабилизатором напряжения)

Выводы PWM

Все GPIO Raspberry Pi Pico могут выводить сигналы ШИМ (PWM) — они обозначены светло-зелёным цветом на схемах.

Raspberry Pi Pico имеет 8 независимых генераторов ШИМ, называемых слайсами. Каждый слайс имеет два канала (A и B), что в сумме даёт 16 каналов ШИМ.

GPIO

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Канал PWM

0A

0B

1A

1B

2A

2B

3A

3B

4A

4B

5A

5B

6A

6B

7A

7B

GPIO

16

17

18

19

20

21

22

23

24

25

26

27

28

29

Канал PWM

0A

0B

1A

1B

2A

2B

3A

3B

4A

4B

5A

5B

6A

6B

Один и тот же выход ШИМ может быть назначен на два вывода GPIO; на каждом GPIO будет появляться одинаковый сигнал.

Аналоговые выводы

Raspberry Pi Pico имеет 12-битный АЦП с четырьмя каналами на фиксированном наборе выводов (плюс дополнительный внутренний датчик температуры). Это означает, что он может преобразовать аналоговый сигнал в цифровой в виде числа от 0 до 4095.

У него пять каналов АЦП, но только четыре доступны на GPIO: GPIO26, GPIO27, GPIO28 и GPIO29.

Первые три GPIO (26, 27 и 28) могут использоваться для считывания напряжения с периферийных устройств, а GPIO29 можно использовать для измерения уровня напряжения питания VSYS на плате Raspberry Pi Pico (VSYS — это входное напряжение, питающее плату).

Пятый канал АЦП подключён к встроенному датчику температуры.

Канал АЦП

GPIO

Функция

ADC0

GPIO26

Чтение аналоговых сигналов от периферийных устройств

ADC1

GPIO27

Чтение аналоговых сигналов от периферийных устройств

ADC2

GPIO28

Чтение аналоговых сигналов от периферийных устройств

ADC3

GPIO29

Измерение уровня напряжения питания VSYS

ADC4

Чтение встроенного датчика температуры

Подводя итог, вот ключевые характеристики аналоговых выводов платы Raspberry Pi Pico:

  • 12-битное разрешение — преобразует аналоговый сигнал в значение от 0 до 4095;

  • 4 канала АЦП на внешних GPIO;

  • GPIO 26, 27 и 28 можно использовать для чтения выходного напряжения периферийных устройств;

  • GPIO29 может измерять входное напряжение, питающее плату (VSYS);

  • Существует пятый канал АЦП, подключённый к внутреннему датчику температуры.

I2C

Доступны два периферийных устройства I2C, называемых I2C0 и I2C1. Вы можете использовать две разные шины (I2C0 и I2C1) одновременно, но нельзя использовать две I2C0 или две I2C1 одновременно. Вы можете использовать связь I2C на любом из доступных выводов I2C.

Выводы I2C по умолчанию — GPIO 4 (SDA) и GPIO 5 (SCL).

В следующей таблице показаны все выводы, которые можно использовать для связи I2C.

Контроллер I2C

GPIO SDA

GPIO SCL

I2C0

GPIO0, GPIO4, GPIO8, GPIO12, GPIO16, GPIO20

GPIO1, GPIO5, GPIO9, GPIO13, GPIO17, GPIO21

I2C1

GPIO2, GPIO6, GPIO10, GPIO14, GPIO18, GPIO26

GPIO3, GPIO7, GPIO11, GPIO15, GPIO19, GPIO27

SPI

Также доступны два периферийных устройства SPI — SPI0 и SPI1. Вы можете использовать две шины SPI на разных периферийных устройствах одновременно, но нельзя использовать две шины на одном и том же периферийном устройстве одновременно. Вы можете использовать SPI на любом из доступных выводов SPI, но выводы по умолчанию — GPIO19 (TX), GPIO18 (SCK), GPIO17 (CS) и GPIO 16 (RX).

Выводы SPI по умолчанию для Raspberry Pi Pico: GPIO19 (MOSI/TX), GPIO18 (SCK), GPIO17 (CS) и GPIO 16 (MISO/RX)

В следующей таблице показаны все выводы, которые можно использовать для связи SPI:

Контроллер SPI

GPIO RX (MISO)

GPIO TX (MOSI)

GPIO CLK

GPIO CS

SPI0

GPIO0, GPIO4, GPIO16

GPIO3, GPIO7, GPIO19

GPIO2, GPIO6, GPIO18

GPIO1, GPIO5, GPIO17

SPI1

GPIO8, GPIO12

GPIO11, GPIO15

GPIO10, GPIO14

GPIO9, GPIO13

UART

Аналогично I2C и SPI, доступны два периферийных устройства UART: UART0 и UART1. Вы можете использовать UART на любом из доступных выводов, но GPIO0(TX) и GPIO1(RX) являются выводами UART по умолчанию.

Выводы UART по умолчанию для Raspberry Pi Pico: GPIO0(TX) и GPIO1(RX)

В следующей таблице показаны все выводы, которые можно использовать для UART:

Интерфейс UART

GPIO TX

GPIO RX

UART0

GPIO0, GPIO12, GPIO16

GPIO1, GPIO13, GPIO17

UART1

GPIO4, GPIO8

GPIO5, GPIO9

Встроенный светодиод

Встроенный светодиод Raspberry Pi Pico W

Raspberry Pi Pico оснащён встроенным светодиодом на плате, который полезен для тестирования и отладки (см. зелёный светодиод на фотографии выше). Вы можете управлять встроенным светодиодом через GPIO25 (Raspberry Pi Pico).

  • Raspberry Pi Pico: встроенный светодиод подключён к GPIO 25

На Raspberry Pi Pico W обычно к нему обращаются как „LED“ в MicroPython или LED_BUILTIN в Arduino IDE.

Встроенный датчик температуры

Как мы упоминали ранее, Raspberry Pi Pico оснащён встроенным датчиком температуры, значение которого можно прочитать на ADC4.

Отладочные выводы

Raspberry Pi Pico имеет отладочные выводы, которые можно использовать для подключения к Raspberry Pi Debug Probe для устранения неполадок и отладки.

Отладочные выводы Raspberry Pi Pico

Эти выводы расположены в разных местах на Pico и Pico W, но работают аналогично. Они подписаны как SWDIO (Serial Wire Debug I/O), GND и SWCLK (Serial Wire Debug Clock) на задней стороне платы.

Заключение

Мы надеемся, что это руководство по GPIO Raspberry Pi Pico и Pico W оказалось для вас полезным. Для получения более подробной информации о GPIO Raspberry Pi Pico обратитесь к даташиту: Даташит Raspberry Pi Pico.

Если вы только начинаете работать с Raspberry Pi Pico, ознакомьтесь с нашими руководствами: