RP2350: выводы чипа и функции GPIO
RP2350 выпускается в двух корпусах: RP2350A в QFN-60 с 30 GPIO и RP2350B в QFN-80 с 48 GPIO и восемью входами АЦП. Здесь — таблица функций всех 48 выводов с номерами в обоих корпусах, остальные выводы чипа и электрические ограничения по даташиту Raspberry Pi, включая то, какие выводы выдерживают 5 В.
Обновлено Редакция GAW
RP2350 — микроконтроллер Raspberry Pi второго поколения: два ядра Cortex-M33 или два ядра RISC-V Hazard3 на выбор, частота 150 МГц, 520 КБ оперативной памяти. Программа, как и у RP2040, хранится во внешней флеш-памяти на шине QSPI, но у RP2354A и RP2354B флеш-память 2 МБ уже в корпусе. Сравнение с RP2040 — на странице «RP2040 и RP2350».
| Чип | Корпус | GPIO | Входы АЦП | Флеш-память |
|---|---|---|---|---|
| RP2350A | QFN-60, 7×7 мм | 30 | 4: GPIO26–29 | внешняя |
| RP2350B | QFN-80, 10×10 мм | 48 | 8: GPIO40–47 | внешняя |
| RP2354A | QFN-60 | 30 | 4 | 2 МБ в корпусе |
| RP2354B | QFN-80 | 48 | 8 | 2 МБ в корпусе |
Функции выводов
У каждого GPIO двенадцать функций, F0–F11. Как и у RP2040, SPI, UART, I²C и каналы ШИМ закреплены за выводами и повторяются по кругу, а программное управление и автоматы PIO доступны везде: F5 SIO, F6–F8 PIO0–PIO2 — у RP2350 три блока PIO против двух у RP2040. В таблицу эти функции не вынесены.
| GPIO | QFN-60 | QFN-80 | F0 | F1 SPI | F2 UART | F3 I²C | F4 PWM | F9 | F10 USB | F11 UART | АЦП |
|---|---|---|---|---|---|---|---|---|---|---|---|
| GPIO0 | 2 | 77 | — | SPI0 RX | UART0 TX | I2C0 SDA | PWM0 A | QMI CS1n | USB OVCUR DET | — | — |
| GPIO1 | 3 | 78 | — | SPI0 CSn | UART0 RX | I2C0 SCL | PWM0 B | TRACECLK | USB VBUS DET | — | — |
| GPIO2 | 4 | 79 | — | SPI0 SCK | UART0 CTS | I2C1 SDA | PWM1 A | TRACEDATA0 | USB VBUS EN | UART0 TX | — |
| GPIO3 | 5 | 80 | — | SPI0 TX | UART0 RTS | I2C1 SCL | PWM1 B | TRACEDATA1 | USB OVCUR DET | UART0 RX | — |
| GPIO4 | 7 | 1 | — | SPI0 RX | UART1 TX | I2C0 SDA | PWM2 A | TRACEDATA2 | USB VBUS DET | — | — |
| GPIO5 | 8 | 2 | — | SPI0 CSn | UART1 RX | I2C0 SCL | PWM2 B | TRACEDATA3 | USB VBUS EN | — | — |
| GPIO6 | 9 | 3 | — | SPI0 SCK | UART1 CTS | I2C1 SDA | PWM3 A | — | USB OVCUR DET | UART1 TX | — |
| GPIO7 | 10 | 4 | — | SPI0 TX | UART1 RTS | I2C1 SCL | PWM3 B | — | USB VBUS DET | UART1 RX | — |
| GPIO8 | 12 | 6 | — | SPI1 RX | UART1 TX | I2C0 SDA | PWM4 A | QMI CS1n | USB VBUS EN | — | — |
| GPIO9 | 13 | 7 | — | SPI1 CSn | UART1 RX | I2C0 SCL | PWM4 B | — | USB OVCUR DET | — | — |
| GPIO10 | 14 | 8 | — | SPI1 SCK | UART1 CTS | I2C1 SDA | PWM5 A | — | USB VBUS DET | UART1 TX | — |
| GPIO11 | 15 | 9 | — | SPI1 TX | UART1 RTS | I2C1 SCL | PWM5 B | — | USB VBUS EN | UART1 RX | — |
| GPIO12 | 16 | 11 | HSTX | SPI1 RX | UART0 TX | I2C0 SDA | PWM6 A | CLOCK GPIN0 | USB OVCUR DET | — | — |
| GPIO13 | 17 | 12 | HSTX | SPI1 CSn | UART0 RX | I2C0 SCL | PWM6 B | CLOCK GPOUT0 | USB VBUS DET | — | — |
| GPIO14 | 18 | 13 | HSTX | SPI1 SCK | UART0 CTS | I2C1 SDA | PWM7 A | CLOCK GPIN1 | USB VBUS EN | UART0 TX | — |
| GPIO15 | 19 | 14 | HSTX | SPI1 TX | UART0 RTS | I2C1 SCL | PWM7 B | CLOCK GPOUT1 | USB OVCUR DET | UART0 RX | — |
| GPIO16 | 27 | 16 | HSTX | SPI0 RX | UART0 TX | I2C0 SDA | PWM0 A | — | USB VBUS DET | — | — |
| GPIO17 | 28 | 17 | HSTX | SPI0 CSn | UART0 RX | I2C0 SCL | PWM0 B | — | USB VBUS EN | — | — |
| GPIO18 | 29 | 18 | HSTX | SPI0 SCK | UART0 CTS | I2C1 SDA | PWM1 A | — | USB OVCUR DET | UART0 TX | — |
| GPIO19 | 31 | 19 | HSTX | SPI0 TX | UART0 RTS | I2C1 SCL | PWM1 B | QMI CS1n | USB VBUS DET | UART0 RX | — |
| GPIO20 | 32 | 20 | — | SPI0 RX | UART1 TX | I2C0 SDA | PWM2 A | CLOCK GPIN0 | USB VBUS EN | — | — |
| GPIO21 | 33 | 21 | — | SPI0 CSn | UART1 RX | I2C0 SCL | PWM2 B | CLOCK GPOUT0 | USB OVCUR DET | — | — |
| GPIO22 | 34 | 22 | — | SPI0 SCK | UART1 CTS | I2C1 SDA | PWM3 A | CLOCK GPIN1 | USB VBUS DET | UART1 TX | — |
| GPIO23 | 35 | 23 | — | SPI0 TX | UART1 RTS | I2C1 SCL | PWM3 B | CLOCK GPOUT1 | USB VBUS EN | UART1 RX | — |
| GPIO24 | 36 | 25 | — | SPI1 RX | UART1 TX | I2C0 SDA | PWM4 A | CLOCK GPOUT2 | USB OVCUR DET | — | — |
| GPIO25 | 37 | 26 | — | SPI1 CSn | UART1 RX | I2C0 SCL | PWM4 B | CLOCK GPOUT3 | USB VBUS DET | — | — |
| GPIO26 | 40 | 27 | — | SPI1 SCK | UART1 CTS | I2C1 SDA | PWM5 A | — | USB VBUS EN | UART1 TX | ADC0 (QFN-60) |
| GPIO27 | 41 | 28 | — | SPI1 TX | UART1 RTS | I2C1 SCL | PWM5 B | — | USB OVCUR DET | UART1 RX | ADC1 (QFN-60) |
| GPIO28 | 42 | 36 | — | SPI1 RX | UART0 TX | I2C0 SDA | PWM6 A | — | USB VBUS DET | — | ADC2 (QFN-60) |
| GPIO29 | 43 | 37 | — | SPI1 CSn | UART0 RX | I2C0 SCL | PWM6 B | — | USB VBUS EN | — | ADC3 (QFN-60) |
| GPIO30 | — | 38 | — | SPI1 SCK | UART0 CTS | I2C1 SDA | PWM7 A | — | USB OVCUR DET | UART0 TX | — |
| GPIO31 | — | 39 | — | SPI1 TX | UART0 RTS | I2C1 SCL | PWM7 B | — | USB VBUS DET | UART0 RX | — |
| GPIO32 | — | 40 | — | SPI0 RX | UART0 TX | I2C0 SDA | PWM8 A | — | USB VBUS EN | — | — |
| GPIO33 | — | 42 | — | SPI0 CSn | UART0 RX | I2C0 SCL | PWM8 B | — | USB OVCUR DET | — | — |
| GPIO34 | — | 43 | — | SPI0 SCK | UART0 CTS | I2C1 SDA | PWM9 A | — | USB VBUS DET | UART0 TX | — |
| GPIO35 | — | 44 | — | SPI0 TX | UART0 RTS | I2C1 SCL | PWM9 B | — | USB VBUS EN | UART0 RX | — |
| GPIO36 | — | 45 | — | SPI0 RX | UART1 TX | I2C0 SDA | PWM10 A | — | USB OVCUR DET | — | — |
| GPIO37 | — | 46 | — | SPI0 CSn | UART1 RX | I2C0 SCL | PWM10 B | — | USB VBUS DET | — | — |
| GPIO38 | — | 47 | — | SPI0 SCK | UART1 CTS | I2C1 SDA | PWM11 A | — | USB VBUS EN | UART1 TX | — |
| GPIO39 | — | 48 | — | SPI0 TX | UART1 RTS | I2C1 SCL | PWM11 B | — | USB OVCUR DET | UART1 RX | — |
| GPIO40 | — | 49 | — | SPI1 RX | UART1 TX | I2C0 SDA | PWM8 A | — | USB VBUS DET | — | ADC0 (QFN-80) |
| GPIO41 | — | 52 | — | SPI1 CSn | UART1 RX | I2C0 SCL | PWM8 B | — | USB VBUS EN | — | ADC1 (QFN-80) |
| GPIO42 | — | 53 | — | SPI1 SCK | UART1 CTS | I2C1 SDA | PWM9 A | — | USB OVCUR DET | UART1 TX | ADC2 (QFN-80) |
| GPIO43 | — | 54 | — | SPI1 TX | UART1 RTS | I2C1 SCL | PWM9 B | — | USB VBUS DET | UART1 RX | ADC3 (QFN-80) |
| GPIO44 | — | 55 | — | SPI1 RX | UART0 TX | I2C0 SDA | PWM10 A | — | USB VBUS EN | — | ADC4 (QFN-80) |
| GPIO45 | — | 56 | — | SPI1 CSn | UART0 RX | I2C0 SCL | PWM10 B | — | USB OVCUR DET | — | ADC5 (QFN-80) |
| GPIO46 | — | 57 | — | SPI1 SCK | UART0 CTS | I2C1 SDA | PWM11 A | — | USB VBUS DET | UART0 TX | ADC6 (QFN-80) |
| GPIO47 | — | 58 | — | SPI1 TX | UART0 RTS | I2C1 SCL | PWM11 B | QMI CS1n | USB VBUS EN | UART0 RX | ADC7 (QFN-80) |
- F0 — HSTX, высокоскоростной передатчик, на GPIO12–19.
- F4 — 12 блоков ШИМ по два канала; блоки 8–11 есть только в QFN-80.
- F9 — второй выбор памяти QMI CS1n для дополнительной флеш-памяти или PSRAM, тактовые входы и выходы, а на GPIO1–5 — выходы трассировки CoreSight (TRACECLK и TRACEDATA0–3).
- F10 — сигналы управления питанием USB.
- F11 — дополнительный вариант UART: передатчик и приёмник на выводах, где по F2 стоят CTS и RTS.
Функцию вывода выбирает поле FUNCSEL его регистра управления; адреса всех блоков периферии и описание их регистров — в разделе «Регистры RP2350».
Остальные выводы
| Название | QFN-60 | QFN-80 | Назначение |
|---|---|---|---|
| QSPI_SD3 | 55 | 70 | линия данных QSPI |
| QSPI_SCLK | 56 | 71 | такт QSPI |
| QSPI_SD0 | 57 | 72 | линия данных QSPI |
| QSPI_SD2 | 58 | 73 | линия данных QSPI |
| QSPI_SD1 | 59 | 74 | линия данных QSPI |
| QSPI_SS | 60 | 75 | выбор флеш-памяти QSPI и кнопка BOOTSEL для загрузки по USB |
| XIN | 21 | 30 | кварцевый генератор 12 МГц; можно подать прямоугольный сигнал |
| XOUT | 22 | 31 | кварцевый генератор |
| SWCLK | 24 | 33 | такт отладки SWD |
| SWDIO | 25 | 34 | данные отладки SWD |
| RUN | 26 | 35 | включение и сброс: низкий уровень — сброс |
| USB_DM | 51 | 66 | USB D−, нужен последовательный резистор 27 Ом |
| USB_DP | 52 | 67 | USB D+, нужен последовательный резистор 27 Ом |
| IOVDD | 1, 11, 20, 30, 38, 45 | 5, 15, 24, 29, 41, 50, 60, 76 | питание выводов GPIO |
| QSPI_IOVDD | 54 | 69 | питание выводов QSPI |
| DVDD | 6, 23, 39 | 10, 32, 51 | питание ядра |
| USB_OTP_VDD | 53 | 68 | питание USB и OTP |
| ADC_AVDD | 44 | 59 | питание АЦП |
| VREG_AVDD | 46 | 61 | аналоговое питание стабилизатора ядра |
| VREG_PGND | 47 | 62 | земля силовой части стабилизатора |
| VREG_LX | 48 | 63 | выход импульсного стабилизатора, к дросселю |
| VREG_VIN | 49 | 64 | вход питания стабилизатора |
| VREG_FB | 50 | 65 | обратная связь стабилизатора |
Вывод QSPI_SS одновременно служит кнопкой BOOTSEL: если при загрузке его снаружи прижать к земле, чип входит в загрузчик по USB, а если при этом ещё и поднять QSPI_SD1 — в загрузчик по UART. Ядро питается от встроенного импульсного стабилизатора — к VREG_LX подключают дроссель.
Какие выводы выдерживают 5 В
В отличие от RP2040, у RP2350 цифровые выводы с пометкой FT выдерживают 5 В — но только при поданном питании выводов:
| Питание IOVDD | Допустимо на выводах FT |
|---|---|
| 3,3 В | до 5,5 В |
| 2,5 В | до 4,2 В |
| 1,8 В или питание выключено | до 3,63 В |
Выводы АЦП к ним не относятся — у RP2350A это GPIO26–29, у RP2350B — GPIO40–47. На них напряжение не должно превышать IOVDD + 0,5 В: по даташиту Pico 2, у этих выводов внутренний диод на шину IOVDD, и без питания чипа поданное на них напряжение утекает в эту шину. Подробнее о выводах, допускающих 5 В, — в термине «Толерантность к 5 В».
Питание выводов и токи
| Параметр при IOVDD = 3,3 В | Значение |
|---|---|
| Высокий уровень на входе, VIH | не ниже 2 В |
| Низкий уровень на входе, VIL | не выше 0,8 В |
| Высокий уровень на выходе, VOH | не ниже 2,62 В |
| Низкий уровень на выходе, VOL | не выше 0,5 В |
| Сила выхода | 2, 4, 8 или 12 мА, по умолчанию 4 мА |
| Подтяжка вверх | 32–86 кОм |
| Подтяжка вниз | 36–113 кОм |
| Суммарный ток от IOVDD через GPIO | не больше 100 мА |
| Суммарный ток от QSPI_IOVDD через QSPI | не больше 20 мА |
| Суммарный ток в землю через GPIO | не больше 100 мА |
Все GPIO после сброса подтянуты вниз. У RP2350 есть известная ошибка RP2350-E9 со входами и внутренней подтяжкой вниз — она разобрана на странице «RP2040 и RP2350».
Как выводы RP2350A разведены на плате — на странице Raspberry Pi Pico 2; функции выводов предыдущего чипа — на странице «RP2040: выводы чипа и функции GPIO».
Частые вопросы
Чем RP2350A отличается от RP2350B?
Корпусом и числом выводов: у RP2350A корпус QFN-60 размером 7×7 мм, 30 GPIO и 4 входа АЦП на GPIO26–29, у RP2350B — QFN-80 10×10 мм, 48 GPIO и 8 входов АЦП на GPIO40–47; в QFN-80 GPIO26–29 — обычные цифровые выводы. Варианты RP2354A и RP2354B — те же чипы с флеш-памятью 2 МБ в корпусе.
Выдерживают ли выводы RP2350 5 В?
Большинство — да, в отличие от RP2040: выводы с пометкой FT выдерживают до 5,5 В, если IOVDD подано 3,3 В. Без питания допустимо только 3,63 В. Исключение — выводы АЦП: у RP2350A это GPIO26–29, у RP2350B — GPIO40–47. На них напряжение не должно превышать IOVDD + 0,5 В.
Какой суммарный ток могут отдать выводы RP2350?
Все GPIO вместе — до 100 мА от IOVDD и до 100 мА в землю, выводы QSPI — до 20 мА от QSPI_IOVDD. Сила отдельного вывода выбирается из 2, 4, 8 и 12 мА, по умолчанию 4 мА. Это вдвое больше суммарного предела RP2040, где на GPIO и QSPI вместе отведено 50 мА.
Где на RP2350 кнопка BOOTSEL?
Это не отдельный вывод: роль BOOTSEL выполняет QSPI_SS — выбор флеш-памяти. Если при загрузке его снаружи прижать к земле, чип вместо запуска программы входит в загрузчик по USB. На Raspberry Pi Pico 2 для этого держат кнопку BOOTSEL, подавая питание.
Источники
- Raspberry Pi. RP2350 Datasheet — разд. 1 — два ядра Cortex-M33 или Hazard3 на 150 МГц, 520 КБ SRAM, 8 КБ OTP, до 16 МБ внешней флеш-памяти или PSRAM и ещё 16 МБ по второму выбору, GPIO выдерживают 5 В при поданном питании и 3,3 В без него; табл. 1 — RP2350A и RP2354A в QFN-60 (30 GPIO, 4 входа АЦП), RP2350B и RP2354B в QFN-80 (48 GPIO, 8 входов АЦП), у RP2354 — 2 МБ флеш-памяти в корпусе; табл. 3 — функции F0–F11 каждого GPIO, GPIO30–47 только в QFN-80 (эталон тестов); разд. 1.2.3 — входы АЦП: GPIO26–29 в QFN-60, GPIO40–47 в QFN-80; табл. 1673 — выводы FT выдерживают до 5,5 В при IOVDD = 3,3 В; табл. 1674–1679 — номера выводов обоих корпусов (эталон тестов; в списке IOVDD для QFN-60 стоит 54 вместо 1 — 54 это QSPI_IOVDD, по рисунку 152 вывод 1 — IOVDD), QSPI_SS служит и кнопкой BOOTSEL; разд. 5.2 — загрузчик выбирается, если QSPI CSn снаружи прижат к земле, загрузка по UART — если ещё и QSPI SD1 поднят; табл. 1680 — IOVDD до 3,63 В, на выводах FT до 5,5 В при IOVDD = 3,3 В, до 4,2 В при 2,5 В, до 3,63 В при 1,8 В или без питания, на обычных выводах до IOVDD + 0,5 В; табл. 1683 — при IOVDD = 3,3 В VIH от 2 В, VIL до 0,8 В, VOH от 2,62 В, VOL до 0,5 В при токе 2, 4, 8 или 12 мА, подтяжка вверх 32–86 кОм, вниз 36–113 кОм, суммарный ток от IOVDD через GPIO — до 100 мА, через QSPI — до 20 мА, в землю — до 100 мА
- Raspberry Pi. Raspberry Pi Pico 2 Datasheet — для загрузки по USB кнопку BOOTSEL держат при подаче питания; выводы АЦП GPIO26–29 имеют внутренний диод на IOVDD: напряжение на них не должно превышать IOVDD примерно на 300 мВ, без питания чипа напряжение на них утекает в шину IOVDD; обычные GPIO0–25 и выводы отладки этого ограничения не имеют
- Raspberry Pi. pico-sdk 2.1.1: src/rp2350/hardware_regs/include/hardware/regs/io_bank0.h (BSD-3-Clause) — значения FUNCSEL для GPIO0–47 — сверка с таблицей функций даташита; GPIO30–47 сгенерированы из заголовка и проверены по строкам таблицы
Нашли ошибку?
Смотрите также
- RP2040 и RP2350RP2040 и RP2350: ядра, память, GPIO, PIO, АЦП, 5 В на выводах, эрраты
- RP2040: выводы и функции GPIO30 GPIO: выводы QFN-56, функции F1–F9, АЦП, QSPI, SWD, питание, токи
- PIO RP2040Автоматы PIO: устройство, 9 команд, задержка, side-set, FIFO, частота, пример
- Raspberry Pi Pico 240 контактов как у Pico, функции GPIO RP2350A, HSTX, питание, эррата E9
- QSPISPI с четырьмя линиями данных для флеш-памяти и PSRAM
- Вывод FT (5 V tolerant)Вход на 3,3 В, выдерживающий 5 В, и его условия