Перейти к содержанию

Регистры PADS_QSPI RP2350

Регистры площадок шести выводов QSPI RP2350, к которым подключены флеш-память и PSRAM: изоляция, подтяжки, сила выхода, триггер Шмитта, скорость фронтов, вход и запрет выхода, пороги входов банка.

Выводы QSPI_SCLK, QSPI_SD0–SD3 и QSPI_SS соединяют RP2350 с внешней памятью. Их площадки устроены как у GPIO, включая бит изоляции ISO, но вход после сброса включён (IE = 1), а подтяжки разные: у SCLK, SD0 и SD1 — к земле, у SD2, SD3 и SS — к питанию (даташит RP2350, раздел 9.3).

Поэтому регистры SD0–SD3 после сброса различаются и описаны по отдельности. QSPI_SS по-прежнему служит кнопкой BOOTSEL. VOLTAGE_SELECT задаёт пороги входов банка; банки GPIO и QSPI питаются от одного IOVDD, так что значения в обоих банках должны совпадать.

ЭкземплярБазовый адрес
PADS_QSPI0x4004 0000

В RP2040 блок PADS_QSPI устроен иначе — регистры и поля отличаются, они описаны на странице «Регистры PADS_QSPI RP2040».

Регистры блока

РегистрСмещениеНазначениеПосле сброса
PADS_QSPI_VOLTAGE_SELECT0x00Пороги входов банка: 0 — для IOVDD 2,5–3,3 В, 1 — для 1,8 В0x0000 0000
PADS_QSPI_GPIO_QSPI_SCLK0x04Площадка вывода QSPI_SCLK0x0000 0156
PADS_QSPI_GPIO_QSPI_SD00x08Площадка вывода QSPI_SD00x0000 0156
PADS_QSPI_GPIO_QSPI_SD10x0CПлощадка вывода QSPI_SD10x0000 0156
PADS_QSPI_GPIO_QSPI_SD20x10Площадка вывода QSPI_SD20x0000 015A
PADS_QSPI_GPIO_QSPI_SD30x14Площадка вывода QSPI_SD30x0000 015A
PADS_QSPI_GPIO_QSPI_SS0x18Площадка вывода QSPI_SS0x0000 015A

PADS_QSPI_VOLTAGE_SELECT — пороги входов банка: 0 — для IOVDD 2,5–3,3 В, 1 — для 1,8 В

Смещение 0x00, адрес 0x4004 0000, после сброса 0x0000 0000, чтение и запись. Макросы pico-sdk: PADS_QSPI_VOLTAGE_SELECT_…

Отдельных полей нет: значение занимает бит 0, остальные биты не используются.

PADS_QSPI_GPIO_QSPI_SCLK — площадка вывода QSPI_SCLK

Смещение 0x04, адрес 0x4004 0004, после сброса 0x0000 0156. Макросы pico-sdk: PADS_QSPI_GPIO_QSPI_SCLK_…

1514131211109876543210
—ISOODIEDRIVEPUEPDESCHMITTSLEWFAST
  • ISO (бит 8, чтение и запись, после сброса 0x1) — Изоляция: выход, разрешение выхода и подтяжки защёлкнуты; после сброса 1 — сбрасывают, когда вывод настроен.
  • OD (бит 7, чтение и запись, после сброса 0x0) — Запрет выхода: важнее разрешения выхода от периферии.
  • IE (бит 6, чтение и запись, после сброса 0x1) — Разрешение входа; для вывода, который работает входом АЦП, сбрасывают.
  • DRIVE (биты 5:4, чтение и запись, после сброса 0x1) — Сила выхода: 2, 4, 8 или 12 мА.
    ЗначениеИмя в pico-sdk
    0x02ma
    0x14ma
    0x28ma
    0x312ma
  • PUE (бит 3, чтение и запись, после сброса 0x0) — Подтяжка к питанию.
  • PDE (бит 2, чтение и запись, после сброса 0x1) — Подтяжка к земле.
  • SCHMITT (бит 1, чтение и запись, после сброса 0x1) — Триггер Шмитта на входе.
  • SLEWFAST (бит 0, чтение и запись, после сброса 0x0) — Скорость нарастания: 1 — быстрая, 0 — медленная.

PADS_QSPI_GPIO_QSPI_SD0 — площадка вывода QSPI_SD0

Смещение 0x08, адрес 0x4004 0008, после сброса 0x0000 0156. Макросы pico-sdk: PADS_QSPI_GPIO_QSPI_SD0_…

1514131211109876543210
—ISOODIEDRIVEPUEPDESCHMITTSLEWFAST
  • ISO (бит 8, чтение и запись, после сброса 0x1) — Изоляция: выход, разрешение выхода и подтяжки защёлкнуты; после сброса 1 — сбрасывают, когда вывод настроен.
  • OD (бит 7, чтение и запись, после сброса 0x0) — Запрет выхода: важнее разрешения выхода от периферии.
  • IE (бит 6, чтение и запись, после сброса 0x1) — Разрешение входа; для вывода, который работает входом АЦП, сбрасывают.
  • DRIVE (биты 5:4, чтение и запись, после сброса 0x1) — Сила выхода: 2, 4, 8 или 12 мА.
    ЗначениеИмя в pico-sdk
    0x02ma
    0x14ma
    0x28ma
    0x312ma
  • PUE (бит 3, чтение и запись, после сброса 0x0) — Подтяжка к питанию.
  • PDE (бит 2, чтение и запись, после сброса 0x1) — Подтяжка к земле.
  • SCHMITT (бит 1, чтение и запись, после сброса 0x1) — Триггер Шмитта на входе.
  • SLEWFAST (бит 0, чтение и запись, после сброса 0x0) — Скорость нарастания: 1 — быстрая, 0 — медленная.

PADS_QSPI_GPIO_QSPI_SD1 — площадка вывода QSPI_SD1

Смещение 0x0C, адрес 0x4004 000C, после сброса 0x0000 0156. Макросы pico-sdk: PADS_QSPI_GPIO_QSPI_SD1_…

1514131211109876543210
—ISOODIEDRIVEPUEPDESCHMITTSLEWFAST
  • ISO (бит 8, чтение и запись, после сброса 0x1) — Изоляция: выход, разрешение выхода и подтяжки защёлкнуты; после сброса 1 — сбрасывают, когда вывод настроен.
  • OD (бит 7, чтение и запись, после сброса 0x0) — Запрет выхода: важнее разрешения выхода от периферии.
  • IE (бит 6, чтение и запись, после сброса 0x1) — Разрешение входа; для вывода, который работает входом АЦП, сбрасывают.
  • DRIVE (биты 5:4, чтение и запись, после сброса 0x1) — Сила выхода: 2, 4, 8 или 12 мА.
    ЗначениеИмя в pico-sdk
    0x02ma
    0x14ma
    0x28ma
    0x312ma
  • PUE (бит 3, чтение и запись, после сброса 0x0) — Подтяжка к питанию.
  • PDE (бит 2, чтение и запись, после сброса 0x1) — Подтяжка к земле.
  • SCHMITT (бит 1, чтение и запись, после сброса 0x1) — Триггер Шмитта на входе.
  • SLEWFAST (бит 0, чтение и запись, после сброса 0x0) — Скорость нарастания: 1 — быстрая, 0 — медленная.

PADS_QSPI_GPIO_QSPI_SD2 — площадка вывода QSPI_SD2

Смещение 0x10, адрес 0x4004 0010, после сброса 0x0000 015A. Макросы pico-sdk: PADS_QSPI_GPIO_QSPI_SD2_…

1514131211109876543210
—ISOODIEDRIVEPUEPDESCHMITTSLEWFAST
  • ISO (бит 8, чтение и запись, после сброса 0x1) — Изоляция: выход, разрешение выхода и подтяжки защёлкнуты; после сброса 1 — сбрасывают, когда вывод настроен.
  • OD (бит 7, чтение и запись, после сброса 0x0) — Запрет выхода: важнее разрешения выхода от периферии.
  • IE (бит 6, чтение и запись, после сброса 0x1) — Разрешение входа; для вывода, который работает входом АЦП, сбрасывают.
  • DRIVE (биты 5:4, чтение и запись, после сброса 0x1) — Сила выхода: 2, 4, 8 или 12 мА.
    ЗначениеИмя в pico-sdk
    0x02ma
    0x14ma
    0x28ma
    0x312ma
  • PUE (бит 3, чтение и запись, после сброса 0x1) — Подтяжка к питанию.
  • PDE (бит 2, чтение и запись, после сброса 0x0) — Подтяжка к земле.
  • SCHMITT (бит 1, чтение и запись, после сброса 0x1) — Триггер Шмитта на входе.
  • SLEWFAST (бит 0, чтение и запись, после сброса 0x0) — Скорость нарастания: 1 — быстрая, 0 — медленная.

PADS_QSPI_GPIO_QSPI_SD3 — площадка вывода QSPI_SD3

Смещение 0x14, адрес 0x4004 0014, после сброса 0x0000 015A. Макросы pico-sdk: PADS_QSPI_GPIO_QSPI_SD3_…

1514131211109876543210
—ISOODIEDRIVEPUEPDESCHMITTSLEWFAST
  • ISO (бит 8, чтение и запись, после сброса 0x1) — Изоляция: выход, разрешение выхода и подтяжки защёлкнуты; после сброса 1 — сбрасывают, когда вывод настроен.
  • OD (бит 7, чтение и запись, после сброса 0x0) — Запрет выхода: важнее разрешения выхода от периферии.
  • IE (бит 6, чтение и запись, после сброса 0x1) — Разрешение входа; для вывода, который работает входом АЦП, сбрасывают.
  • DRIVE (биты 5:4, чтение и запись, после сброса 0x1) — Сила выхода: 2, 4, 8 или 12 мА.
    ЗначениеИмя в pico-sdk
    0x02ma
    0x14ma
    0x28ma
    0x312ma
  • PUE (бит 3, чтение и запись, после сброса 0x1) — Подтяжка к питанию.
  • PDE (бит 2, чтение и запись, после сброса 0x0) — Подтяжка к земле.
  • SCHMITT (бит 1, чтение и запись, после сброса 0x1) — Триггер Шмитта на входе.
  • SLEWFAST (бит 0, чтение и запись, после сброса 0x0) — Скорость нарастания: 1 — быстрая, 0 — медленная.

PADS_QSPI_GPIO_QSPI_SS — площадка вывода QSPI_SS

Смещение 0x18, адрес 0x4004 0018, после сброса 0x0000 015A. Макросы pico-sdk: PADS_QSPI_GPIO_QSPI_SS_…

1514131211109876543210
—ISOODIEDRIVEPUEPDESCHMITTSLEWFAST
  • ISO (бит 8, чтение и запись, после сброса 0x1) — Изоляция: выход, разрешение выхода и подтяжки защёлкнуты; после сброса 1 — сбрасывают, когда вывод настроен.
  • OD (бит 7, чтение и запись, после сброса 0x0) — Запрет выхода: важнее разрешения выхода от периферии.
  • IE (бит 6, чтение и запись, после сброса 0x1) — Разрешение входа; для вывода, который работает входом АЦП, сбрасывают.
  • DRIVE (биты 5:4, чтение и запись, после сброса 0x1) — Сила выхода: 2, 4, 8 или 12 мА.
    ЗначениеИмя в pico-sdk
    0x02ma
    0x14ma
    0x28ma
    0x312ma
  • PUE (бит 3, чтение и запись, после сброса 0x1) — Подтяжка к питанию.
  • PDE (бит 2, чтение и запись, после сброса 0x0) — Подтяжка к земле.
  • SCHMITT (бит 1, чтение и запись, после сброса 0x1) — Триггер Шмитта на входе.
  • SLEWFAST (бит 0, чтение и запись, после сброса 0x0) — Скорость нарастания: 1 — быстрая, 0 — медленная.

Частые вопросы

Как подтянуты выводы QSPI RP2350 после сброса?

SCLK, SD0 и SD1 подтянуты к земле, а SD2, SD3 и SS — к питанию: высокий уровень на SS держит флеш-память не выбранной. Если второй выбор памяти выведен на GPIO, даташит требует внешнюю подтяжку к питанию.

Источники

  1. Raspberry Pi. RP2350 Datasheet (release 8, build 80d627281ed5) — раздел 9.11.4: список регистров, назначение полей, тип доступа и значения после сброса
  2. Raspberry Pi. pico-sdk 2.1.1: заголовки src/rp2350/hardware_regs/include/hardware/regs/*.h (коммит bddd20f) — смещения, биты, тип доступа и значение после сброса каждого поля, базовые адреса из addressmap.h; лицензия BSD-3-Clause

Нашли ошибку в регистрах?

Другие регистры RP2350

Статьи и термины