Raspberry Pi Pico и Pico W: распиновка и описание GPIO
В этой статье подробно рассматривается распиновка Raspberry Pi Pico и Pico W. Raspberry Pi Pico имеет 40 выводов, которые можно использовать для подключения электронных компонентов, таких как светодиоды, моторы и датчики. Узнайте, для чего предназначен каждый вывод, как его можно использовать и какие у него специфические функции.
Содержание
В этой статье мы рассмотрим следующие темы:
Знакомство с GPIO Raspberry Pi Pico
Raspberry Pi Pico и Raspberry Pi Pico W имеют по ряду из 20 выводов с каждой стороны, что в сумме составляет 40 выводов. Из этих 40 выводов 26 являются программируемыми GPIO, которые можно использовать для подключения периферийных устройств, таких как светодиоды, моторы и датчики, или даже для установления связи с другими платами микроконтроллеров.
GPIO 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 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 (какие функции поддерживаются каждым выводом).
Источник изображения: raspberrypi.com
Схема распиновки Raspberry Pi Pico W
На следующем изображении показана распиновка Raspberry Pi Pico W (какие функции поддерживаются каждым выводом).
Источник изображения: 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 (выводы общего назначения — ввод/вывод), которые можно использовать для подключения периферийных устройств.
Эти выводы обозначены светло-зелёным цветом на схемах. Они пронумерованы от 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 оснащён встроенным светодиодом на плате, который полезен для тестирования и отладки (см. зелёный светодиод на фотографии выше). Вы можете управлять встроенным светодиодом через 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 для устранения неполадок и отладки.
Эти выводы расположены в разных местах на 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, ознакомьтесь с нашими руководствами: