Регистры CLOCKS RP2350
Регистры тактирования RP2350: источники и делители десяти генераторов — системной, опорной, периферии, HSTX, USB, АЦП и четырёх выходов на GPIO, — восстановление clk_sys, частотомер и маски тактирования блоков.
Содержание
- Регистры блока
- CLOCKS_CLK_GPOUT0_CTRL
- CLOCKS_CLK_GPOUTn_DIV
- CLOCKS_CLK_GPOUTn_SELECTED
- CLOCKS_CLK_GPOUT1_CTRL
- CLOCKS_CLK_GPOUT2_CTRL
- CLOCKS_CLK_GPOUT3_CTRL
- CLOCKS_CLK_REF_CTRL
- CLOCKS_CLK_REF_DIV
- CLOCKS_CLK_REF_SELECTED
- CLOCKS_CLK_SYS_CTRL
- CLOCKS_CLK_SYS_DIV
- CLOCKS_CLK_SYS_SELECTED
- CLOCKS_CLK_PERI_CTRL
- CLOCKS_CLK_PERI_DIV
- CLOCKS_CLK_PERI_SELECTED
- CLOCKS_CLK_HSTX_CTRL
- CLOCKS_CLK_HSTX_DIV
- CLOCKS_CLK_HSTX_SELECTED
- CLOCKS_CLK_USB_CTRL
- CLOCKS_CLK_USB_DIV
- CLOCKS_CLK_USB_SELECTED
- CLOCKS_CLK_ADC_CTRL
- CLOCKS_CLK_ADC_DIV
- CLOCKS_CLK_ADC_SELECTED
- CLOCKS_DFTCLK_XOSC_CTRL
- CLOCKS_DFTCLK_ROSC_CTRL
- CLOCKS_DFTCLK_LPOSC_CTRL
- CLOCKS_CLK_SYS_RESUS_CTRL
- CLOCKS_CLK_SYS_RESUS_STATUS
- CLOCKS_FC0_REF_KHZ
- CLOCKS_FC0_MIN_KHZ
- CLOCKS_FC0_MAX_KHZ
- CLOCKS_FC0_DELAY
- CLOCKS_FC0_INTERVAL
- CLOCKS_FC0_SRC
- CLOCKS_FC0_STATUS
- CLOCKS_FC0_RESULT
- CLOCKS_WAKE_EN0
- CLOCKS_WAKE_EN1
- CLOCKS_SLEEP_EN0
- CLOCKS_SLEEP_EN1
- CLOCKS_ENABLED0
- CLOCKS_ENABLED1
- CLOCKS_INTR
- CLOCKS_INTE
- CLOCKS_INTF
- CLOCKS_INTS
Блок CLOCKS RP2350 раздаёт тактовые частоты. Источники — кольцевой генератор ROSC, кварцевый XOSC, низкочастотный LPOSC на 32 кГц, две PLL и внешние входы GPIN0 и GPIN1. Генераторов десять: clk_ref (6–12 МГц), clk_sys (номинально 150 МГц), clk_peri (12–150 МГц), clk_hstx (150 МГц), clk_usb и clk_adc (по 48 МГц) и четыре выхода clk_gpout0–3 на GPIO до 50 МГц (даташит RP2350, раздел 8.1).
По сравнению с RP2040 нет генератора clk_rtc — его заменил таймер AON в POWMAN, — зато появился clk_hstx для быстрого вывода HSTX и делитель у clk_peri. Делители стали 16.16: целая часть в битах 31:16, дробная — в 15:0, диапазон — от 1,0 до 2¹⁶; у части генераторов делитель только целый. Бит ENABLED в регистрах CTRL показывает, что генератор действительно работает.
У clk_ref и clk_sys по-прежнему основной мультиплексор без сбоев, его состояние видно в SELECTED. Частотомер FC0, восстановление clk_sys и маски WAKE_EN, SLEEP_EN и ENABLED работают как в RP2040, но набор блоков в масках другой. В ревизии A3 после сброса clk_sys берётся от ROSC через вспомогательный мультиплексор (SRC = 1, AUXSRC = 2). Регистры DFTCLK_… нужны для заводских испытаний.
| Экземпляр | Базовый адрес |
|---|---|
| CLOCKS | 0x4001 0000 |
В RP2040 блок CLOCKS устроен иначе — регистры и поля отличаются, они описаны на странице «Регистры CLOCKS RP2040».
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| CLOCKS_CLK_GPOUT0_CTRL | 0x00 | Управление выходом частоты на GPIO | 0x0000 0000 |
| CLOCKS_CLK_GPOUTn_DIV | 0x04 + n · 0x0C | Делитель выхода частоты на GPIO, формат 16.16 | 0x0001 0000 |
| CLOCKS_CLK_GPOUTn_SELECTED | 0x08 + n · 0x0C | Выбранный источник выхода на GPIO, всегда 0x1 | 0x0000 0001 |
| CLOCKS_CLK_GPOUT1_CTRL | 0x0C | Управление выходом частоты на GPIO | 0x0000 0000 |
| CLOCKS_CLK_GPOUT2_CTRL | 0x18 | Управление выходом частоты на GPIO | 0x0000 0000 |
| CLOCKS_CLK_GPOUT3_CTRL | 0x24 | Управление выходом частоты на GPIO | 0x0000 0000 |
| CLOCKS_CLK_REF_CTRL | 0x30 | Источник опорной частоты clk_ref | 0x0000 0000 |
| CLOCKS_CLK_REF_DIV | 0x34 | Делитель clk_ref | 0x0001 0000 |
| CLOCKS_CLK_REF_SELECTED | 0x38 | Источник clk_ref на выходе основного мультиплексора: один бит на источник, при переключении возможны все нули | 0x0000 0001 |
| CLOCKS_CLK_SYS_CTRL | 0x3C | Источник системной частоты clk_sys | 0x0000 0000 |
| CLOCKS_CLK_SYS_DIV | 0x40 | Делитель clk_sys, формат 16.16 | 0x0001 0000 |
| CLOCKS_CLK_SYS_SELECTED | 0x44 | Источник clk_sys на выходе основного мультиплексора: один бит на источник, при переключении возможны все нули | 0x0000 0001 |
| CLOCKS_CLK_PERI_CTRL | 0x48 | Источник и включение частоты периферии clk_peri | 0x0000 0000 |
| CLOCKS_CLK_PERI_DIV | 0x4C | Делитель clk_peri | 0x0001 0000 |
| CLOCKS_CLK_PERI_SELECTED | 0x50 | Выбранный источник clk_peri, всегда 0x1 | 0x0000 0001 |
| CLOCKS_CLK_HSTX_CTRL | 0x54 | Источник и включение частоты HSTX clk_hstx | 0x0000 0000 |
| CLOCKS_CLK_HSTX_DIV | 0x58 | Делитель clk_hstx | 0x0001 0000 |
| CLOCKS_CLK_HSTX_SELECTED | 0x5C | Выбранный источник clk_hstx, всегда 0x1 | 0x0000 0001 |
| CLOCKS_CLK_USB_CTRL | 0x60 | Источник и включение частоты USB clk_usb | 0x0000 0000 |
| CLOCKS_CLK_USB_DIV | 0x64 | Делитель clk_usb | 0x0001 0000 |
| CLOCKS_CLK_USB_SELECTED | 0x68 | Выбранный источник clk_usb, всегда 0x1 | 0x0000 0001 |
| CLOCKS_CLK_ADC_CTRL | 0x6C | Источник и включение частоты АЦП clk_adc | 0x0000 0000 |
| CLOCKS_CLK_ADC_DIV | 0x70 | Делитель clk_adc | 0x0001 0000 |
| CLOCKS_CLK_ADC_SELECTED | 0x74 | Выбранный источник clk_adc, всегда 0x1 | 0x0000 0001 |
| CLOCKS_DFTCLK_XOSC_CTRL | 0x78 | Тестовый источник вместо XOSC — для заводских испытаний | 0x0000 0000 |
| CLOCKS_DFTCLK_ROSC_CTRL | 0x7C | Тестовый источник вместо ROSC — для заводских испытаний | 0x0000 0000 |
| CLOCKS_DFTCLK_LPOSC_CTRL | 0x80 | Тестовый источник вместо LPOSC — для заводских испытаний | 0x0000 0000 |
| CLOCKS_CLK_SYS_RESUS_CTRL | 0x84 | Управление восстановлением clk_sys | 0x0000 00FF |
| CLOCKS_CLK_SYS_RESUS_STATUS | 0x88 | Состояние восстановления clk_sys | 0x0000 0000 |
| CLOCKS_FC0_REF_KHZ | 0x8C | Частотомер: частота clk_ref в кГц | 0x0000 0000 |
| CLOCKS_FC0_MIN_KHZ | 0x90 | Частотомер: нижняя граница проверки в кГц, 0 — без проверки | 0x0000 0000 |
| CLOCKS_FC0_MAX_KHZ | 0x94 | Частотомер: верхняя граница проверки в кГц, 0x1FFFFFF — без проверки | 0x01FF FFFF |
| CLOCKS_FC0_DELAY | 0x98 | Частотомер: задержка начала счёта в периодах clk_ref | 0x0000 0001 |
| CLOCKS_FC0_INTERVAL | 0x9C | Частотомер: длительность измерения 2ⁿ мкс | 0x0000 0008 |
| CLOCKS_FC0_SRC | 0xA0 | Частотомер: измеряемая частота; запись запускает измерение | 0x0000 0000 |
| CLOCKS_FC0_STATUS | 0xA4 | Частотомер: состояние измерения | 0x0000 0000 |
| CLOCKS_FC0_RESULT | 0xA8 | Частотомер: результат, действителен при DONE = 1 | 0x0000 0000 |
| CLOCKS_WAKE_EN0 | 0xAC | Подача частот блокам в рабочем режиме, первая часть | 0xFFFF FFFF |
| CLOCKS_WAKE_EN1 | 0xB0 | Подача частот блокам в рабочем режиме, вторая часть | 0x7FFF FFFF |
| CLOCKS_SLEEP_EN0 | 0xB4 | Подача частот блокам в режиме сна, первая часть | 0xFFFF FFFF |
| CLOCKS_SLEEP_EN1 | 0xB8 | Подача частот блокам в режиме сна, вторая часть | 0x7FFF FFFF |
| CLOCKS_ENABLED0 | 0xBC | Частоты, которые подаются сейчас, первая часть | 0x0000 0000 |
| CLOCKS_ENABLED1 | 0xC0 | Частоты, которые подаются сейчас, вторая часть | 0x0000 0000 |
| CLOCKS_INTR | 0xC4 | Необработанные флаги прерываний | 0x0000 0000 |
| CLOCKS_INTE | 0xC8 | Разрешение прерываний | 0x0000 0000 |
| CLOCKS_INTF | 0xCC | Принудительная установка прерываний | 0x0000 0000 |
| CLOCKS_INTS | 0xD0 | Флаги прерываний после маски и принуждения | 0x0000 0000 |
CLOCKS_CLK_GPOUT0_CTRL — управление выходом частоты на GPIO
Смещение 0x00, адрес 0x4001 0000, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_GPOUT0_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ENABLED | — | NUDGE | — | PHASE | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | DC50 | ENABLE | KILL | — | AUXSRC | — | |||||||||
- ENABLED (бит 28, только чтение, после сброса 0x0) — Генератор включён.
- NUDGE (бит 20, чтение и запись, после сброса 0x0) — Сдвиг фазы: каждое изменение бита сдвигает выход на один период входной частоты, в любой момент.
- PHASE (биты 17:16, чтение и запись, после сброса 0x0) — Задержка включения на 0–3 периода входной частоты; задают до включения генератора.
- DC50 (бит 12, чтение и запись, после сброса 0x0) — Коррекция скважности до 50 % при нечётном делителе.
- ENABLE (бит 11, чтение и запись, после сброса 0x0) — Пуск и остановка генератора без сбоев на выходе.
- KILL (бит 10, чтение и запись, после сброса 0x0) — Асинхронная остановка генератора; на выходе возможен сбой, даташит не советует заменять этим битом ENABLE.
- AUXSRC (биты 8:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому генератор сначала останавливают.
Значение Имя в pico-sdk 0x0 clksrc_pll_sys 0x1 clksrc_gpin0 0x2 clksrc_gpin1 0x3 clksrc_pll_usb 0x4 clksrc_pll_usb_primary_ref_opcg 0x5 rosc_clksrc 0x6 xosc_clksrc 0x7 lposc_clksrc 0x8 clk_sys 0x9 clk_usb 0xA clk_adc 0xB clk_ref 0xC clk_peri 0xD clk_hstx 0xE otp_clk2fc
CLOCKS_CLK_GPOUTn_DIV — делитель выхода частоты на GPIO, формат 16.16
4 регистра, n = 0…3: смещение 0x04 + n · 0x0C, после сброса 0x0001 0000. Макросы pico-sdk: CLOCKS_CLK_GPOUTn_DIV_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| INT | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FRAC | |||||||||||||||
- INT (биты 31:16, чтение и запись, после сброса 0x0001) — Целая часть делителя; 0 — наибольший делитель; можно менять на ходу.
- FRAC (биты 15:0, чтение и запись, после сброса 0x0000) — Дробная часть делителя в 1/65 536; дробное деление чередует два целых и даёт дрожание частоты.
CLOCKS_CLK_GPOUTn_SELECTED — выбранный источник выхода на GPIO, всегда 0x1
4 регистра, n = 0…3: смещение 0x08 + n · 0x0C, после сброса 0x0000 0001, только чтение. Макросы pico-sdk: CLOCKS_CLK_GPOUTn_SELECTED_…
Отдельных полей нет: значение занимает бит 0, остальные биты не используются.
CLOCKS_CLK_GPOUT1_CTRL — управление выходом частоты на GPIO
Смещение 0x0C, адрес 0x4001 000C, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_GPOUT1_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ENABLED | — | NUDGE | — | PHASE | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | DC50 | ENABLE | KILL | — | AUXSRC | — | |||||||||
- ENABLED (бит 28, только чтение, после сброса 0x0) — Генератор включён.
- NUDGE (бит 20, чтение и запись, после сброса 0x0) — Сдвиг фазы: каждое изменение бита сдвигает выход на один период входной частоты, в любой момент.
- PHASE (биты 17:16, чтение и запись, после сброса 0x0) — Задержка включения на 0–3 периода входной частоты; задают до включения генератора.
- DC50 (бит 12, чтение и запись, после сброса 0x0) — Коррекция скважности до 50 % при нечётном делителе.
- ENABLE (бит 11, чтение и запись, после сброса 0x0) — Пуск и остановка генератора без сбоев на выходе.
- KILL (бит 10, чтение и запись, после сброса 0x0) — Асинхронная остановка генератора; на выходе возможен сбой, даташит не советует заменять этим битом ENABLE.
- AUXSRC (биты 8:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому генератор сначала останавливают.
Значение Имя в pico-sdk 0x0 clksrc_pll_sys 0x1 clksrc_gpin0 0x2 clksrc_gpin1 0x3 clksrc_pll_usb 0x4 clksrc_pll_usb_primary_ref_opcg 0x5 rosc_clksrc 0x6 xosc_clksrc 0x7 lposc_clksrc 0x8 clk_sys 0x9 clk_usb 0xA clk_adc 0xB clk_ref 0xC clk_peri 0xD clk_hstx 0xE otp_clk2fc
CLOCKS_CLK_GPOUT2_CTRL — управление выходом частоты на GPIO
Смещение 0x18, адрес 0x4001 0018, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_GPOUT2_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ENABLED | — | NUDGE | — | PHASE | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | DC50 | ENABLE | KILL | — | AUXSRC | — | |||||||||
- ENABLED (бит 28, только чтение, после сброса 0x0) — Генератор включён.
- NUDGE (бит 20, чтение и запись, после сброса 0x0) — Сдвиг фазы: каждое изменение бита сдвигает выход на один период входной частоты, в любой момент.
- PHASE (биты 17:16, чтение и запись, после сброса 0x0) — Задержка включения на 0–3 периода входной частоты; задают до включения генератора.
- DC50 (бит 12, чтение и запись, после сброса 0x0) — Коррекция скважности до 50 % при нечётном делителе.
- ENABLE (бит 11, чтение и запись, после сброса 0x0) — Пуск и остановка генератора без сбоев на выходе.
- KILL (бит 10, чтение и запись, после сброса 0x0) — Асинхронная остановка генератора; на выходе возможен сбой, даташит не советует заменять этим битом ENABLE.
- AUXSRC (биты 8:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому генератор сначала останавливают.
Значение Имя в pico-sdk 0x0 clksrc_pll_sys 0x1 clksrc_gpin0 0x2 clksrc_gpin1 0x3 clksrc_pll_usb 0x4 clksrc_pll_usb_primary_ref_opcg 0x5 rosc_clksrc_ph 0x6 xosc_clksrc 0x7 lposc_clksrc 0x8 clk_sys 0x9 clk_usb 0xA clk_adc 0xB clk_ref 0xC clk_peri 0xD clk_hstx 0xE otp_clk2fc
CLOCKS_CLK_GPOUT3_CTRL — управление выходом частоты на GPIO
Смещение 0x24, адрес 0x4001 0024, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_GPOUT3_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ENABLED | — | NUDGE | — | PHASE | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | DC50 | ENABLE | KILL | — | AUXSRC | — | |||||||||
- ENABLED (бит 28, только чтение, после сброса 0x0) — Генератор включён.
- NUDGE (бит 20, чтение и запись, после сброса 0x0) — Сдвиг фазы: каждое изменение бита сдвигает выход на один период входной частоты, в любой момент.
- PHASE (биты 17:16, чтение и запись, после сброса 0x0) — Задержка включения на 0–3 периода входной частоты; задают до включения генератора.
- DC50 (бит 12, чтение и запись, после сброса 0x0) — Коррекция скважности до 50 % при нечётном делителе.
- ENABLE (бит 11, чтение и запись, после сброса 0x0) — Пуск и остановка генератора без сбоев на выходе.
- KILL (бит 10, чтение и запись, после сброса 0x0) — Асинхронная остановка генератора; на выходе возможен сбой, даташит не советует заменять этим битом ENABLE.
- AUXSRC (биты 8:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому генератор сначала останавливают.
Значение Имя в pico-sdk 0x0 clksrc_pll_sys 0x1 clksrc_gpin0 0x2 clksrc_gpin1 0x3 clksrc_pll_usb 0x4 clksrc_pll_usb_primary_ref_opcg 0x5 rosc_clksrc_ph 0x6 xosc_clksrc 0x7 lposc_clksrc 0x8 clk_sys 0x9 clk_usb 0xA clk_adc 0xB clk_ref 0xC clk_peri 0xD clk_hstx 0xE otp_clk2fc
CLOCKS_CLK_REF_CTRL — источник опорной частоты clk_ref
Смещение 0x30, адрес 0x4001 0030, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_REF_CTRL_…
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | AUXSRC | — | SRC | ||||||||||||
- AUXSRC (биты 6:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому сначала переводят SRC на другой источник.
Значение Имя в pico-sdk 0x0 clksrc_pll_usb 0x1 clksrc_gpin0 0x2 clksrc_gpin1 0x3 clksrc_pll_usb_primary_ref_opcg - SRC (биты 1:0, чтение и запись, после сброса не определено) — Источник без сбоев: ROSC, вспомогательный мультиплексор, XOSC или LPOSC; смену подтверждает CLK_REF_SELECTED.
Значение Имя в pico-sdk 0x0 rosc_clksrc_ph 0x1 clksrc_clk_ref_aux 0x2 xosc_clksrc 0x3 lposc_clksrc
CLOCKS_CLK_REF_DIV — делитель clk_ref
Смещение 0x34, адрес 0x4001 0034, после сброса 0x0001 0000. Макросы pico-sdk: CLOCKS_CLK_REF_DIV_…
- INT (биты 23:16, чтение и запись, после сброса 0x01) — Целый делитель; 0 — наибольший делитель; можно менять на ходу.
CLOCKS_CLK_REF_SELECTED — источник clk_ref на выходе основного мультиплексора: один бит на источник, при переключении возможны все нули
Смещение 0x38, адрес 0x4001 0038, после сброса 0x0000 0001, только чтение. Макросы pico-sdk: CLOCKS_CLK_REF_SELECTED_…
Отдельных полей нет: значение занимает биты 3:0, остальные биты не используются.
CLOCKS_CLK_SYS_CTRL — источник системной частоты clk_sys
Смещение 0x3C, адрес 0x4001 003C, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_SYS_CTRL_…
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | AUXSRC | — | SRC | ||||||||||||
- AUXSRC (биты 7:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому сначала переводят SRC на другой источник.
Значение Имя в pico-sdk 0x0 clksrc_pll_sys 0x1 clksrc_pll_usb 0x2 rosc_clksrc 0x3 xosc_clksrc 0x4 clksrc_gpin0 0x5 clksrc_gpin1 - SRC (бит 0, чтение и запись, после сброса 0x0) — Источник без сбоев: clk_ref или вспомогательный мультиплексор; смену подтверждает CLK_SYS_SELECTED.
CLOCKS_CLK_SYS_DIV — делитель clk_sys, формат 16.16
Смещение 0x40, адрес 0x4001 0040, после сброса 0x0001 0000. Макросы pico-sdk: CLOCKS_CLK_SYS_DIV_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| INT | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FRAC | |||||||||||||||
- INT (биты 31:16, чтение и запись, после сброса 0x0001) — Целая часть делителя; 0 — наибольший делитель; можно менять на ходу.
- FRAC (биты 15:0, чтение и запись, после сброса 0x0000) — Дробная часть делителя в 1/65 536; дробное деление чередует два целых и даёт дрожание частоты.
CLOCKS_CLK_SYS_SELECTED — источник clk_sys на выходе основного мультиплексора: один бит на источник, при переключении возможны все нули
Смещение 0x44, адрес 0x4001 0044, после сброса 0x0000 0001, только чтение. Макросы pico-sdk: CLOCKS_CLK_SYS_SELECTED_…
Отдельных полей нет: значение занимает биты 1:0, остальные биты не используются.
CLOCKS_CLK_PERI_CTRL — источник и включение частоты периферии clk_peri
Смещение 0x48, адрес 0x4001 0048, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_PERI_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ENABLED | — | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | ENABLE | KILL | — | AUXSRC | — | ||||||||||
- ENABLED (бит 28, только чтение, после сброса 0x0) — Генератор включён.
- ENABLE (бит 11, чтение и запись, после сброса 0x0) — Пуск и остановка генератора без сбоев на выходе.
- KILL (бит 10, чтение и запись, после сброса 0x0) — Асинхронная остановка генератора; на выходе возможен сбой, даташит не советует заменять этим битом ENABLE.
- AUXSRC (биты 7:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому генератор сначала останавливают.
Значение Имя в pico-sdk 0x0 clk_sys 0x1 clksrc_pll_sys 0x2 clksrc_pll_usb 0x3 rosc_clksrc_ph 0x4 xosc_clksrc 0x5 clksrc_gpin0 0x6 clksrc_gpin1
CLOCKS_CLK_PERI_DIV — делитель clk_peri
Смещение 0x4C, адрес 0x4001 004C, после сброса 0x0001 0000. Макросы pico-sdk: CLOCKS_CLK_PERI_DIV_…
- INT (биты 17:16, чтение и запись, после сброса 0x1) — Целый делитель; 0 — наибольший делитель; можно менять на ходу.
CLOCKS_CLK_PERI_SELECTED — выбранный источник clk_peri, всегда 0x1
Смещение 0x50, адрес 0x4001 0050, после сброса 0x0000 0001, только чтение. Макросы pico-sdk: CLOCKS_CLK_PERI_SELECTED_…
Отдельных полей нет: значение занимает бит 0, остальные биты не используются.
CLOCKS_CLK_HSTX_CTRL — источник и включение частоты HSTX clk_hstx
Смещение 0x54, адрес 0x4001 0054, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_HSTX_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ENABLED | — | NUDGE | — | PHASE | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | ENABLE | KILL | — | AUXSRC | — | ||||||||||
- ENABLED (бит 28, только чтение, после сброса 0x0) — Генератор включён.
- NUDGE (бит 20, чтение и запись, после сброса 0x0) — Сдвиг фазы: каждое изменение бита сдвигает выход на один период входной частоты, в любой момент.
- PHASE (биты 17:16, чтение и запись, после сброса 0x0) — Задержка включения на 0–3 периода входной частоты; задают до включения генератора.
- ENABLE (бит 11, чтение и запись, после сброса 0x0) — Пуск и остановка генератора без сбоев на выходе.
- KILL (бит 10, чтение и запись, после сброса 0x0) — Асинхронная остановка генератора; на выходе возможен сбой, даташит не советует заменять этим битом ENABLE.
- AUXSRC (биты 7:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому генератор сначала останавливают.
Значение Имя в pico-sdk 0x0 clk_sys 0x1 clksrc_pll_sys 0x2 clksrc_pll_usb 0x3 clksrc_gpin0 0x4 clksrc_gpin1
CLOCKS_CLK_HSTX_DIV — делитель clk_hstx
Смещение 0x58, адрес 0x4001 0058, после сброса 0x0001 0000. Макросы pico-sdk: CLOCKS_CLK_HSTX_DIV_…
- INT (биты 17:16, чтение и запись, после сброса 0x1) — Целый делитель; 0 — наибольший делитель; можно менять на ходу.
CLOCKS_CLK_HSTX_SELECTED — выбранный источник clk_hstx, всегда 0x1
Смещение 0x5C, адрес 0x4001 005C, после сброса 0x0000 0001, только чтение. Макросы pico-sdk: CLOCKS_CLK_HSTX_SELECTED_…
Отдельных полей нет: значение занимает бит 0, остальные биты не используются.
CLOCKS_CLK_USB_CTRL — источник и включение частоты USB clk_usb
Смещение 0x60, адрес 0x4001 0060, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_USB_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ENABLED | — | NUDGE | — | PHASE | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | ENABLE | KILL | — | AUXSRC | — | ||||||||||
- ENABLED (бит 28, только чтение, после сброса 0x0) — Генератор включён.
- NUDGE (бит 20, чтение и запись, после сброса 0x0) — Сдвиг фазы: каждое изменение бита сдвигает выход на один период входной частоты, в любой момент.
- PHASE (биты 17:16, чтение и запись, после сброса 0x0) — Задержка включения на 0–3 периода входной частоты; задают до включения генератора.
- ENABLE (бит 11, чтение и запись, после сброса 0x0) — Пуск и остановка генератора без сбоев на выходе.
- KILL (бит 10, чтение и запись, после сброса 0x0) — Асинхронная остановка генератора; на выходе возможен сбой, даташит не советует заменять этим битом ENABLE.
- AUXSRC (биты 7:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому генератор сначала останавливают.
Значение Имя в pico-sdk 0x0 clksrc_pll_usb 0x1 clksrc_pll_sys 0x2 rosc_clksrc_ph 0x3 xosc_clksrc 0x4 clksrc_gpin0 0x5 clksrc_gpin1
CLOCKS_CLK_USB_DIV — делитель clk_usb
Смещение 0x64, адрес 0x4001 0064, после сброса 0x0001 0000. Макросы pico-sdk: CLOCKS_CLK_USB_DIV_…
- INT (биты 19:16, чтение и запись, после сброса 0x1) — Целый делитель; 0 — наибольший делитель; можно менять на ходу.
CLOCKS_CLK_USB_SELECTED — выбранный источник clk_usb, всегда 0x1
Смещение 0x68, адрес 0x4001 0068, после сброса 0x0000 0001, только чтение. Макросы pico-sdk: CLOCKS_CLK_USB_SELECTED_…
Отдельных полей нет: значение занимает бит 0, остальные биты не используются.
CLOCKS_CLK_ADC_CTRL — источник и включение частоты АЦП clk_adc
Смещение 0x6C, адрес 0x4001 006C, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_ADC_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ENABLED | — | NUDGE | — | PHASE | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | ENABLE | KILL | — | AUXSRC | — | ||||||||||
- ENABLED (бит 28, только чтение, после сброса 0x0) — Генератор включён.
- NUDGE (бит 20, чтение и запись, после сброса 0x0) — Сдвиг фазы: каждое изменение бита сдвигает выход на один период входной частоты, в любой момент.
- PHASE (биты 17:16, чтение и запись, после сброса 0x0) — Задержка включения на 0–3 периода входной частоты; задают до включения генератора.
- ENABLE (бит 11, чтение и запись, после сброса 0x0) — Пуск и остановка генератора без сбоев на выходе.
- KILL (бит 10, чтение и запись, после сброса 0x0) — Асинхронная остановка генератора; на выходе возможен сбой, даташит не советует заменять этим битом ENABLE.
- AUXSRC (биты 7:5, чтение и запись, после сброса 0x0) — Источник вспомогательного мультиплексора; при смене выход сбоит, поэтому генератор сначала останавливают.
Значение Имя в pico-sdk 0x0 clksrc_pll_usb 0x1 clksrc_pll_sys 0x2 rosc_clksrc_ph 0x3 xosc_clksrc 0x4 clksrc_gpin0 0x5 clksrc_gpin1
CLOCKS_CLK_ADC_DIV — делитель clk_adc
Смещение 0x70, адрес 0x4001 0070, после сброса 0x0001 0000. Макросы pico-sdk: CLOCKS_CLK_ADC_DIV_…
- INT (биты 19:16, чтение и запись, после сброса 0x1) — Целый делитель; 0 — наибольший делитель; можно менять на ходу.
CLOCKS_CLK_ADC_SELECTED — выбранный источник clk_adc, всегда 0x1
Смещение 0x74, адрес 0x4001 0074, после сброса 0x0000 0001, только чтение. Макросы pico-sdk: CLOCKS_CLK_ADC_SELECTED_…
Отдельных полей нет: значение занимает бит 0, остальные биты не используются.
CLOCKS_DFTCLK_XOSC_CTRL — тестовый источник вместо XOSC — для заводских испытаний
Смещение 0x78, адрес 0x4001 0078, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_DFTCLK_XOSC_CTRL_…
- SRC (биты 1:0, чтение и запись, после сброса 0x0) — Тестовый источник частоты.
Значение Имя в pico-sdk 0x0 null 0x1 clksrc_pll_usb_primary 0x2 clksrc_gpin0
CLOCKS_DFTCLK_ROSC_CTRL — тестовый источник вместо ROSC — для заводских испытаний
Смещение 0x7C, адрес 0x4001 007C, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_DFTCLK_ROSC_CTRL_…
- SRC (биты 1:0, чтение и запись, после сброса 0x0) — Тестовый источник частоты.
Значение Имя в pico-sdk 0x0 null 0x1 clksrc_pll_sys_primary_rosc 0x2 clksrc_gpin1
CLOCKS_DFTCLK_LPOSC_CTRL — тестовый источник вместо LPOSC — для заводских испытаний
Смещение 0x80, адрес 0x4001 0080, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_DFTCLK_LPOSC_CTRL_…
- SRC (биты 1:0, чтение и запись, после сброса 0x0) — Тестовый источник частоты.
Значение Имя в pico-sdk 0x0 null 0x1 clksrc_pll_usb_primary_lposc 0x2 clksrc_gpin1
CLOCKS_CLK_SYS_RESUS_CTRL — управление восстановлением clk_sys
Смещение 0x84, адрес 0x4001 0084, после сброса 0x0000 00FF. Макросы pico-sdk: CLOCKS_CLK_SYS_RESUS_CTRL_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | CLEAR | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | FRCE | — | ENABLE | TIMEOUT | |||||||||||
- CLEAR (бит 16, чтение и запись, после сброса 0x0) — Снять восстановление, когда причина остановки clk_sys устранена.
- FRCE (бит 12, чтение и запись, после сброса 0x0) — Принудительное восстановление — только для проверки.
- ENABLE (бит 8, чтение и запись, после сброса 0x0) — Включение восстановления clk_sys; TIMEOUT задают раньше.
- TIMEOUT (биты 7:0, чтение и запись, после сброса 0xFF) — Интервал проверки в периодах clk_ref; не меньше 2 × частота clk_ref / наименьшая проверяемая частота clk_sys.
CLOCKS_CLK_SYS_RESUS_STATUS — состояние восстановления clk_sys
Смещение 0x88, адрес 0x4001 0088, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_CLK_SYS_RESUS_STATUS_…
- RESUSSED (бит 0, только чтение, после сброса 0x0) — Сработало восстановление: clk_sys переключена на clk_ref; после исправления ошибки запишите 1 в CLEAR.
CLOCKS_FC0_REF_KHZ — частотомер: частота clk_ref в кГц
Смещение 0x8C, адрес 0x4001 008C, после сброса 0x0000 0000, чтение и запись. Макросы pico-sdk: CLOCKS_FC0_REF_KHZ_…
Отдельных полей нет: значение занимает биты 19:0, остальные биты не используются.
CLOCKS_FC0_MIN_KHZ — частотомер: нижняя граница проверки в кГц, 0 — без проверки
Смещение 0x90, адрес 0x4001 0090, после сброса 0x0000 0000, чтение и запись. Макросы pico-sdk: CLOCKS_FC0_MIN_KHZ_…
Отдельных полей нет: значение занимает биты 24:0, остальные биты не используются.
CLOCKS_FC0_MAX_KHZ — частотомер: верхняя граница проверки в кГц, 0x1FFFFFF — без проверки
Смещение 0x94, адрес 0x4001 0094, после сброса 0x01FF FFFF, чтение и запись. Макросы pico-sdk: CLOCKS_FC0_MAX_KHZ_…
Отдельных полей нет: значение занимает биты 24:0, остальные биты не используются.
CLOCKS_FC0_DELAY — частотомер: задержка начала счёта в периодах clk_ref
Смещение 0x98, адрес 0x4001 0098, после сброса 0x0000 0001, чтение и запись. Макросы pico-sdk: CLOCKS_FC0_DELAY_…
Отдельных полей нет: значение занимает биты 2:0, остальные биты не используются.
CLOCKS_FC0_INTERVAL — частотомер: длительность измерения 2ⁿ мкс
Смещение 0x9C, адрес 0x4001 009C, после сброса 0x0000 0008, чтение и запись. Макросы pico-sdk: CLOCKS_FC0_INTERVAL_…
Отдельных полей нет: значение занимает биты 3:0, остальные биты не используются.
CLOCKS_FC0_SRC — частотомер: измеряемая частота; запись запускает измерение
Смещение 0xA0, адрес 0x4001 00A0, после сброса 0x0000 0000, чтение и запись. Макросы pico-sdk: CLOCKS_FC0_SRC_…
Отдельных полей нет: значение занимает биты 7:0, остальные биты не используются.
| Значение | Имя в pico-sdk |
|---|---|
| 0x0 | null |
| 0x1 | pll_sys_clksrc_primary |
| 0x2 | pll_usb_clksrc_primary |
| 0x3 | rosc_clksrc |
| 0x4 | rosc_clksrc_ph |
| 0x5 | xosc_clksrc |
| 0x6 | clksrc_gpin0 |
| 0x7 | clksrc_gpin1 |
| 0x8 | clk_ref |
| 0x9 | clk_sys |
| 0xA | clk_peri |
| 0xB | clk_usb |
| 0xC | clk_adc |
| 0xD | clk_hstx |
| 0xE | lposc_clksrc |
| 0xF | otp_clk2fc |
| 0x10 | pll_usb_clksrc_primary_dft |
CLOCKS_FC0_STATUS — частотомер: состояние измерения
Смещение 0xA4, адрес 0x4001 00A4, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_FC0_STATUS_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | DIED | — | FAST | — | SLOW | — | FAIL | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | WAITING | — | RUNNING | — | DONE | — | PASS | ||||||||
- DIED (бит 28, только чтение, после сброса 0x0) — Измеряемая частота пропала во время измерения.
- FAST (бит 24, только чтение, после сброса 0x0) — Частота выше ожидаемой; действительно при DONE = 1.
- SLOW (бит 20, только чтение, после сброса 0x0) — Частота ниже ожидаемой; действительно при DONE = 1.
- FAIL (бит 16, только чтение, после сброса 0x0) — Проверка не пройдена.
- WAITING (бит 12, только чтение, после сброса 0x0) — Ожидание, пока измеряемая частота запустится.
- RUNNING (бит 8, только чтение, после сброса 0x0) — Идёт измерение.
- DONE (бит 4, только чтение, после сброса 0x0) — Измерение закончено.
- PASS (бит 0, только чтение, после сброса 0x0) — Проверка пройдена.
CLOCKS_FC0_RESULT — частотомер: результат, действителен при DONE = 1
Смещение 0xA8, адрес 0x4001 00A8, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_FC0_RESULT_…
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | KHZ | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| KHZ | FRAC | ||||||||||||||
- KHZ (биты 29:5, только чтение, после сброса 0x0000000) — Измеренная частота, целые килогерцы.
- FRAC (биты 4:0, только чтение, после сброса 0x00) — Дробная часть измеренной частоты.
CLOCKS_WAKE_EN0 — подача частот блокам в рабочем режиме, первая часть
Смещение 0xAC, адрес 0x4001 00AC, после сброса 0xFFFF FFFF. Макросы pico-sdk: CLOCKS_WAKE_EN0_…
- CLK_SYS_SIO (бит 31, чтение и запись, после сброса 0x1) — Подача clk_sys на SIO в рабочем режиме.
- CLK_SYS_SHA256 (бит 30, чтение и запись, после сброса 0x1) — Подача clk_sys на SHA256 в рабочем режиме.
- CLK_SYS_PSM (бит 29, чтение и запись, после сброса 0x1) — Подача clk_sys на PSM в рабочем режиме.
- CLK_SYS_ROSC (бит 28, чтение и запись, после сброса 0x1) — Подача clk_sys на ROSC в рабочем режиме.
- CLK_SYS_ROM (бит 27, чтение и запись, после сброса 0x1) — Подача clk_sys на ROM в рабочем режиме.
- CLK_SYS_RESETS (бит 26, чтение и запись, после сброса 0x1) — Подача clk_sys на RESETS в рабочем режиме.
- CLK_SYS_PWM (бит 25, чтение и запись, после сброса 0x1) — Подача clk_sys на PWM в рабочем режиме.
- CLK_SYS_POWMAN (бит 24, чтение и запись, после сброса 0x1) — Подача clk_sys на POWMAN в рабочем режиме.
- CLK_REF_POWMAN (бит 23, чтение и запись, после сброса 0x1) — Подача clk_ref на POWMAN в рабочем режиме.
- CLK_SYS_PLL_USB (бит 22, чтение и запись, после сброса 0x1) — Подача clk_sys на PLL_USB в рабочем режиме.
- CLK_SYS_PLL_SYS (бит 21, чтение и запись, после сброса 0x1) — Подача clk_sys на PLL_SYS в рабочем режиме.
- CLK_SYS_PIO2 (бит 20, чтение и запись, после сброса 0x1) — Подача clk_sys на PIO2 в рабочем режиме.
- CLK_SYS_PIO1 (бит 19, чтение и запись, после сброса 0x1) — Подача clk_sys на PIO1 в рабочем режиме.
- CLK_SYS_PIO0 (бит 18, чтение и запись, после сброса 0x1) — Подача clk_sys на PIO0 в рабочем режиме.
- CLK_SYS_PADS (бит 17, чтение и запись, после сброса 0x1) — Подача clk_sys на PADS в рабочем режиме.
- CLK_SYS_OTP (бит 16, чтение и запись, после сброса 0x1) — Подача clk_sys на OTP в рабочем режиме.
- CLK_REF_OTP (бит 15, чтение и запись, после сброса 0x1) — Подача clk_ref на OTP в рабочем режиме.
- CLK_SYS_JTAG (бит 14, чтение и запись, после сброса 0x1) — Подача clk_sys на JTAG в рабочем режиме.
- CLK_SYS_IO (бит 13, чтение и запись, после сброса 0x1) — Подача clk_sys на IO в рабочем режиме.
- CLK_SYS_I2C1 (бит 12, чтение и запись, после сброса 0x1) — Подача clk_sys на I2C1 в рабочем режиме.
- CLK_SYS_I2C0 (бит 11, чтение и запись, после сброса 0x1) — Подача clk_sys на I2C0 в рабочем режиме.
- CLK_SYS_HSTX (бит 10, чтение и запись, после сброса 0x1) — Подача clk_sys на HSTX в рабочем режиме.
- CLK_HSTX (бит 9, чтение и запись, после сброса 0x1) — Подача clk_hstx в рабочем режиме.
- CLK_SYS_GLITCH_DETECTOR (бит 8, чтение и запись, после сброса 0x1) — Подача clk_sys на GLITCH_DETECTOR в рабочем режиме.
- CLK_SYS_DMA (бит 7, чтение и запись, после сброса 0x1) — Подача clk_sys на DMA в рабочем режиме.
- CLK_SYS_BUSFABRIC (бит 6, чтение и запись, после сброса 0x1) — Подача clk_sys на BUSFABRIC в рабочем режиме; отключать нельзя — ядра потеряют доступ ко всем регистрам.
- CLK_SYS_BUSCTRL (бит 5, чтение и запись, после сброса 0x1) — Подача clk_sys на BUSCTRL в рабочем режиме.
- CLK_SYS_BOOTRAM (бит 4, чтение и запись, после сброса 0x1) — Подача clk_sys на BOOTRAM в рабочем режиме.
- CLK_SYS_ADC (бит 3, чтение и запись, после сброса 0x1) — Подача clk_sys на ADC в рабочем режиме.
- CLK_ADC (бит 2, чтение и запись, после сброса 0x1) — Подача clk_adc в рабочем режиме.
- CLK_SYS_ACCESSCTRL (бит 1, чтение и запись, после сброса 0x1) — Подача clk_sys на ACCESSCTRL в рабочем режиме.
- CLK_SYS_CLOCKS (бит 0, чтение и запись, после сброса 0x1) — Подача clk_sys на CLOCKS в рабочем режиме; отключать нельзя — ядра потеряют доступ к регистрам CLOCKS.
CLOCKS_WAKE_EN1 — подача частот блокам в рабочем режиме, вторая часть
Смещение 0xB0, адрес 0x4001 00B0, после сброса 0x7FFF FFFF. Макросы pico-sdk: CLOCKS_WAKE_EN1_…
- CLK_SYS_XOSC (бит 30, чтение и запись, после сброса 0x1) — Подача clk_sys на XOSC в рабочем режиме.
- CLK_SYS_XIP (бит 29, чтение и запись, после сброса 0x1) — Подача clk_sys на XIP в рабочем режиме.
- CLK_SYS_WATCHDOG (бит 28, чтение и запись, после сброса 0x1) — Подача clk_sys на WATCHDOG в рабочем режиме.
- CLK_USB (бит 27, чтение и запись, после сброса 0x1) — Подача clk_usb в рабочем режиме.
- CLK_SYS_USBCTRL (бит 26, чтение и запись, после сброса 0x1) — Подача clk_sys на USBCTRL в рабочем режиме.
- CLK_SYS_UART1 (бит 25, чтение и запись, после сброса 0x1) — Подача clk_sys на UART1 в рабочем режиме.
- CLK_PERI_UART1 (бит 24, чтение и запись, после сброса 0x1) — Подача clk_peri на UART1 в рабочем режиме.
- CLK_SYS_UART0 (бит 23, чтение и запись, после сброса 0x1) — Подача clk_sys на UART0 в рабочем режиме.
- CLK_PERI_UART0 (бит 22, чтение и запись, после сброса 0x1) — Подача clk_peri на UART0 в рабочем режиме.
- CLK_SYS_TRNG (бит 21, чтение и запись, после сброса 0x1) — Подача clk_sys на TRNG в рабочем режиме.
- CLK_SYS_TIMER1 (бит 20, чтение и запись, после сброса 0x1) — Подача clk_sys на TIMER1 в рабочем режиме.
- CLK_SYS_TIMER0 (бит 19, чтение и запись, после сброса 0x1) — Подача clk_sys на TIMER0 в рабочем режиме.
- CLK_SYS_TICKS (бит 18, чтение и запись, после сброса 0x1) — Подача clk_sys на TICKS в рабочем режиме.
- CLK_REF_TICKS (бит 17, чтение и запись, после сброса 0x1) — Подача clk_ref на TICKS в рабочем режиме.
- CLK_SYS_TBMAN (бит 16, чтение и запись, после сброса 0x1) — Подача clk_sys на TBMAN в рабочем режиме.
- CLK_SYS_SYSINFO (бит 15, чтение и запись, после сброса 0x1) — Подача clk_sys на SYSINFO в рабочем режиме.
- CLK_SYS_SYSCFG (бит 14, чтение и запись, после сброса 0x1) — Подача clk_sys на SYSCFG в рабочем режиме.
- CLK_SYS_SRAM9 (бит 13, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM9 в рабочем режиме.
- CLK_SYS_SRAM8 (бит 12, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM8 в рабочем режиме.
- CLK_SYS_SRAM7 (бит 11, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM7 в рабочем режиме.
- CLK_SYS_SRAM6 (бит 10, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM6 в рабочем режиме.
- CLK_SYS_SRAM5 (бит 9, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM5 в рабочем режиме.
- CLK_SYS_SRAM4 (бит 8, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM4 в рабочем режиме.
- CLK_SYS_SRAM3 (бит 7, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM3 в рабочем режиме.
- CLK_SYS_SRAM2 (бит 6, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM2 в рабочем режиме.
- CLK_SYS_SRAM1 (бит 5, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM1 в рабочем режиме.
- CLK_SYS_SRAM0 (бит 4, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM0 в рабочем режиме.
- CLK_SYS_SPI1 (бит 3, чтение и запись, после сброса 0x1) — Подача clk_sys на SPI1 в рабочем режиме.
- CLK_PERI_SPI1 (бит 2, чтение и запись, после сброса 0x1) — Подача clk_peri на SPI1 в рабочем режиме.
- CLK_SYS_SPI0 (бит 1, чтение и запись, после сброса 0x1) — Подача clk_sys на SPI0 в рабочем режиме.
- CLK_PERI_SPI0 (бит 0, чтение и запись, после сброса 0x1) — Подача clk_peri на SPI0 в рабочем режиме.
CLOCKS_SLEEP_EN0 — подача частот блокам в режиме сна, первая часть
Смещение 0xB4, адрес 0x4001 00B4, после сброса 0xFFFF FFFF. Макросы pico-sdk: CLOCKS_SLEEP_EN0_…
- CLK_SYS_SIO (бит 31, чтение и запись, после сброса 0x1) — Подача clk_sys на SIO в режиме сна.
- CLK_SYS_SHA256 (бит 30, чтение и запись, после сброса 0x1) — Подача clk_sys на SHA256 в режиме сна.
- CLK_SYS_PSM (бит 29, чтение и запись, после сброса 0x1) — Подача clk_sys на PSM в режиме сна.
- CLK_SYS_ROSC (бит 28, чтение и запись, после сброса 0x1) — Подача clk_sys на ROSC в режиме сна.
- CLK_SYS_ROM (бит 27, чтение и запись, после сброса 0x1) — Подача clk_sys на ROM в режиме сна.
- CLK_SYS_RESETS (бит 26, чтение и запись, после сброса 0x1) — Подача clk_sys на RESETS в режиме сна.
- CLK_SYS_PWM (бит 25, чтение и запись, после сброса 0x1) — Подача clk_sys на PWM в режиме сна.
- CLK_SYS_POWMAN (бит 24, чтение и запись, после сброса 0x1) — Подача clk_sys на POWMAN в режиме сна.
- CLK_REF_POWMAN (бит 23, чтение и запись, после сброса 0x1) — Подача clk_ref на POWMAN в режиме сна.
- CLK_SYS_PLL_USB (бит 22, чтение и запись, после сброса 0x1) — Подача clk_sys на PLL_USB в режиме сна.
- CLK_SYS_PLL_SYS (бит 21, чтение и запись, после сброса 0x1) — Подача clk_sys на PLL_SYS в режиме сна.
- CLK_SYS_PIO2 (бит 20, чтение и запись, после сброса 0x1) — Подача clk_sys на PIO2 в режиме сна.
- CLK_SYS_PIO1 (бит 19, чтение и запись, после сброса 0x1) — Подача clk_sys на PIO1 в режиме сна.
- CLK_SYS_PIO0 (бит 18, чтение и запись, после сброса 0x1) — Подача clk_sys на PIO0 в режиме сна.
- CLK_SYS_PADS (бит 17, чтение и запись, после сброса 0x1) — Подача clk_sys на PADS в режиме сна.
- CLK_SYS_OTP (бит 16, чтение и запись, после сброса 0x1) — Подача clk_sys на OTP в режиме сна.
- CLK_REF_OTP (бит 15, чтение и запись, после сброса 0x1) — Подача clk_ref на OTP в режиме сна.
- CLK_SYS_JTAG (бит 14, чтение и запись, после сброса 0x1) — Подача clk_sys на JTAG в режиме сна.
- CLK_SYS_IO (бит 13, чтение и запись, после сброса 0x1) — Подача clk_sys на IO в режиме сна.
- CLK_SYS_I2C1 (бит 12, чтение и запись, после сброса 0x1) — Подача clk_sys на I2C1 в режиме сна.
- CLK_SYS_I2C0 (бит 11, чтение и запись, после сброса 0x1) — Подача clk_sys на I2C0 в режиме сна.
- CLK_SYS_HSTX (бит 10, чтение и запись, после сброса 0x1) — Подача clk_sys на HSTX в режиме сна.
- CLK_HSTX (бит 9, чтение и запись, после сброса 0x1) — Подача clk_hstx в режиме сна.
- CLK_SYS_GLITCH_DETECTOR (бит 8, чтение и запись, после сброса 0x1) — Подача clk_sys на GLITCH_DETECTOR в режиме сна.
- CLK_SYS_DMA (бит 7, чтение и запись, после сброса 0x1) — Подача clk_sys на DMA в режиме сна.
- CLK_SYS_BUSFABRIC (бит 6, чтение и запись, после сброса 0x1) — Подача clk_sys на BUSFABRIC в режиме сна.
- CLK_SYS_BUSCTRL (бит 5, чтение и запись, после сброса 0x1) — Подача clk_sys на BUSCTRL в режиме сна.
- CLK_SYS_BOOTRAM (бит 4, чтение и запись, после сброса 0x1) — Подача clk_sys на BOOTRAM в режиме сна.
- CLK_SYS_ADC (бит 3, чтение и запись, после сброса 0x1) — Подача clk_sys на ADC в режиме сна.
- CLK_ADC (бит 2, чтение и запись, после сброса 0x1) — Подача clk_adc в режиме сна.
- CLK_SYS_ACCESSCTRL (бит 1, чтение и запись, после сброса 0x1) — Подача clk_sys на ACCESSCTRL в режиме сна.
- CLK_SYS_CLOCKS (бит 0, чтение и запись, после сброса 0x1) — Подача clk_sys на CLOCKS в режиме сна.
CLOCKS_SLEEP_EN1 — подача частот блокам в режиме сна, вторая часть
Смещение 0xB8, адрес 0x4001 00B8, после сброса 0x7FFF FFFF. Макросы pico-sdk: CLOCKS_SLEEP_EN1_…
- CLK_SYS_XOSC (бит 30, чтение и запись, после сброса 0x1) — Подача clk_sys на XOSC в режиме сна.
- CLK_SYS_XIP (бит 29, чтение и запись, после сброса 0x1) — Подача clk_sys на XIP в режиме сна.
- CLK_SYS_WATCHDOG (бит 28, чтение и запись, после сброса 0x1) — Подача clk_sys на WATCHDOG в режиме сна.
- CLK_USB (бит 27, чтение и запись, после сброса 0x1) — Подача clk_usb в режиме сна.
- CLK_SYS_USBCTRL (бит 26, чтение и запись, после сброса 0x1) — Подача clk_sys на USBCTRL в режиме сна.
- CLK_SYS_UART1 (бит 25, чтение и запись, после сброса 0x1) — Подача clk_sys на UART1 в режиме сна.
- CLK_PERI_UART1 (бит 24, чтение и запись, после сброса 0x1) — Подача clk_peri на UART1 в режиме сна.
- CLK_SYS_UART0 (бит 23, чтение и запись, после сброса 0x1) — Подача clk_sys на UART0 в режиме сна.
- CLK_PERI_UART0 (бит 22, чтение и запись, после сброса 0x1) — Подача clk_peri на UART0 в режиме сна.
- CLK_SYS_TRNG (бит 21, чтение и запись, после сброса 0x1) — Подача clk_sys на TRNG в режиме сна.
- CLK_SYS_TIMER1 (бит 20, чтение и запись, после сброса 0x1) — Подача clk_sys на TIMER1 в режиме сна.
- CLK_SYS_TIMER0 (бит 19, чтение и запись, после сброса 0x1) — Подача clk_sys на TIMER0 в режиме сна.
- CLK_SYS_TICKS (бит 18, чтение и запись, после сброса 0x1) — Подача clk_sys на TICKS в режиме сна.
- CLK_REF_TICKS (бит 17, чтение и запись, после сброса 0x1) — Подача clk_ref на TICKS в режиме сна.
- CLK_SYS_TBMAN (бит 16, чтение и запись, после сброса 0x1) — Подача clk_sys на TBMAN в режиме сна.
- CLK_SYS_SYSINFO (бит 15, чтение и запись, после сброса 0x1) — Подача clk_sys на SYSINFO в режиме сна.
- CLK_SYS_SYSCFG (бит 14, чтение и запись, после сброса 0x1) — Подача clk_sys на SYSCFG в режиме сна.
- CLK_SYS_SRAM9 (бит 13, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM9 в режиме сна.
- CLK_SYS_SRAM8 (бит 12, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM8 в режиме сна.
- CLK_SYS_SRAM7 (бит 11, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM7 в режиме сна.
- CLK_SYS_SRAM6 (бит 10, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM6 в режиме сна.
- CLK_SYS_SRAM5 (бит 9, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM5 в режиме сна.
- CLK_SYS_SRAM4 (бит 8, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM4 в режиме сна.
- CLK_SYS_SRAM3 (бит 7, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM3 в режиме сна.
- CLK_SYS_SRAM2 (бит 6, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM2 в режиме сна.
- CLK_SYS_SRAM1 (бит 5, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM1 в режиме сна.
- CLK_SYS_SRAM0 (бит 4, чтение и запись, после сброса 0x1) — Подача clk_sys на SRAM0 в режиме сна.
- CLK_SYS_SPI1 (бит 3, чтение и запись, после сброса 0x1) — Подача clk_sys на SPI1 в режиме сна.
- CLK_PERI_SPI1 (бит 2, чтение и запись, после сброса 0x1) — Подача clk_peri на SPI1 в режиме сна.
- CLK_SYS_SPI0 (бит 1, чтение и запись, после сброса 0x1) — Подача clk_sys на SPI0 в режиме сна.
- CLK_PERI_SPI0 (бит 0, чтение и запись, после сброса 0x1) — Подача clk_peri на SPI0 в режиме сна.
CLOCKS_ENABLED0 — частоты, которые подаются сейчас, первая часть
Смещение 0xBC, адрес 0x4001 00BC, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_ENABLED0_…
- CLK_SYS_SIO (бит 31, только чтение, после сброса 0x0) — clk_sys на SIO сейчас подаётся.
- CLK_SYS_SHA256 (бит 30, только чтение, после сброса 0x0) — clk_sys на SHA256 сейчас подаётся.
- CLK_SYS_PSM (бит 29, только чтение, после сброса 0x0) — clk_sys на PSM сейчас подаётся.
- CLK_SYS_ROSC (бит 28, только чтение, после сброса 0x0) — clk_sys на ROSC сейчас подаётся.
- CLK_SYS_ROM (бит 27, только чтение, после сброса 0x0) — clk_sys на ROM сейчас подаётся.
- CLK_SYS_RESETS (бит 26, только чтение, после сброса 0x0) — clk_sys на RESETS сейчас подаётся.
- CLK_SYS_PWM (бит 25, только чтение, после сброса 0x0) — clk_sys на PWM сейчас подаётся.
- CLK_SYS_POWMAN (бит 24, только чтение, после сброса 0x0) — clk_sys на POWMAN сейчас подаётся.
- CLK_REF_POWMAN (бит 23, только чтение, после сброса 0x0) — clk_ref на POWMAN сейчас подаётся.
- CLK_SYS_PLL_USB (бит 22, только чтение, после сброса 0x0) — clk_sys на PLL_USB сейчас подаётся.
- CLK_SYS_PLL_SYS (бит 21, только чтение, после сброса 0x0) — clk_sys на PLL_SYS сейчас подаётся.
- CLK_SYS_PIO2 (бит 20, только чтение, после сброса 0x0) — clk_sys на PIO2 сейчас подаётся.
- CLK_SYS_PIO1 (бит 19, только чтение, после сброса 0x0) — clk_sys на PIO1 сейчас подаётся.
- CLK_SYS_PIO0 (бит 18, только чтение, после сброса 0x0) — clk_sys на PIO0 сейчас подаётся.
- CLK_SYS_PADS (бит 17, только чтение, после сброса 0x0) — clk_sys на PADS сейчас подаётся.
- CLK_SYS_OTP (бит 16, только чтение, после сброса 0x0) — clk_sys на OTP сейчас подаётся.
- CLK_REF_OTP (бит 15, только чтение, после сброса 0x0) — clk_ref на OTP сейчас подаётся.
- CLK_SYS_JTAG (бит 14, только чтение, после сброса 0x0) — clk_sys на JTAG сейчас подаётся.
- CLK_SYS_IO (бит 13, только чтение, после сброса 0x0) — clk_sys на IO сейчас подаётся.
- CLK_SYS_I2C1 (бит 12, только чтение, после сброса 0x0) — clk_sys на I2C1 сейчас подаётся.
- CLK_SYS_I2C0 (бит 11, только чтение, после сброса 0x0) — clk_sys на I2C0 сейчас подаётся.
- CLK_SYS_HSTX (бит 10, только чтение, после сброса 0x0) — clk_sys на HSTX сейчас подаётся.
- CLK_HSTX (бит 9, только чтение, после сброса 0x0) — clk_hstx сейчас подаётся.
- CLK_SYS_GLITCH_DETECTOR (бит 8, только чтение, после сброса 0x0) — clk_sys на GLITCH_DETECTOR сейчас подаётся.
- CLK_SYS_DMA (бит 7, только чтение, после сброса 0x0) — clk_sys на DMA сейчас подаётся.
- CLK_SYS_BUSFABRIC (бит 6, только чтение, после сброса 0x0) — clk_sys на BUSFABRIC сейчас подаётся.
- CLK_SYS_BUSCTRL (бит 5, только чтение, после сброса 0x0) — clk_sys на BUSCTRL сейчас подаётся.
- CLK_SYS_BOOTRAM (бит 4, только чтение, после сброса 0x0) — clk_sys на BOOTRAM сейчас подаётся.
- CLK_SYS_ADC (бит 3, только чтение, после сброса 0x0) — clk_sys на ADC сейчас подаётся.
- CLK_ADC (бит 2, только чтение, после сброса 0x0) — clk_adc сейчас подаётся.
- CLK_SYS_ACCESSCTRL (бит 1, только чтение, после сброса 0x0) — clk_sys на ACCESSCTRL сейчас подаётся.
- CLK_SYS_CLOCKS (бит 0, только чтение, после сброса 0x0) — clk_sys на CLOCKS сейчас подаётся.
CLOCKS_ENABLED1 — частоты, которые подаются сейчас, вторая часть
Смещение 0xC0, адрес 0x4001 00C0, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_ENABLED1_…
- CLK_SYS_XOSC (бит 30, только чтение, после сброса 0x0) — clk_sys на XOSC сейчас подаётся.
- CLK_SYS_XIP (бит 29, только чтение, после сброса 0x0) — clk_sys на XIP сейчас подаётся.
- CLK_SYS_WATCHDOG (бит 28, только чтение, после сброса 0x0) — clk_sys на WATCHDOG сейчас подаётся.
- CLK_USB (бит 27, только чтение, после сброса 0x0) — clk_usb сейчас подаётся.
- CLK_SYS_USBCTRL (бит 26, только чтение, после сброса 0x0) — clk_sys на USBCTRL сейчас подаётся.
- CLK_SYS_UART1 (бит 25, только чтение, после сброса 0x0) — clk_sys на UART1 сейчас подаётся.
- CLK_PERI_UART1 (бит 24, только чтение, после сброса 0x0) — clk_peri на UART1 сейчас подаётся.
- CLK_SYS_UART0 (бит 23, только чтение, после сброса 0x0) — clk_sys на UART0 сейчас подаётся.
- CLK_PERI_UART0 (бит 22, только чтение, после сброса 0x0) — clk_peri на UART0 сейчас подаётся.
- CLK_SYS_TRNG (бит 21, только чтение, после сброса 0x0) — clk_sys на TRNG сейчас подаётся.
- CLK_SYS_TIMER1 (бит 20, только чтение, после сброса 0x0) — clk_sys на TIMER1 сейчас подаётся.
- CLK_SYS_TIMER0 (бит 19, только чтение, после сброса 0x0) — clk_sys на TIMER0 сейчас подаётся.
- CLK_SYS_TICKS (бит 18, только чтение, после сброса 0x0) — clk_sys на TICKS сейчас подаётся.
- CLK_REF_TICKS (бит 17, только чтение, после сброса 0x0) — clk_ref на TICKS сейчас подаётся.
- CLK_SYS_TBMAN (бит 16, только чтение, после сброса 0x0) — clk_sys на TBMAN сейчас подаётся.
- CLK_SYS_SYSINFO (бит 15, только чтение, после сброса 0x0) — clk_sys на SYSINFO сейчас подаётся.
- CLK_SYS_SYSCFG (бит 14, только чтение, после сброса 0x0) — clk_sys на SYSCFG сейчас подаётся.
- CLK_SYS_SRAM9 (бит 13, только чтение, после сброса 0x0) — clk_sys на SRAM9 сейчас подаётся.
- CLK_SYS_SRAM8 (бит 12, только чтение, после сброса 0x0) — clk_sys на SRAM8 сейчас подаётся.
- CLK_SYS_SRAM7 (бит 11, только чтение, после сброса 0x0) — clk_sys на SRAM7 сейчас подаётся.
- CLK_SYS_SRAM6 (бит 10, только чтение, после сброса 0x0) — clk_sys на SRAM6 сейчас подаётся.
- CLK_SYS_SRAM5 (бит 9, только чтение, после сброса 0x0) — clk_sys на SRAM5 сейчас подаётся.
- CLK_SYS_SRAM4 (бит 8, только чтение, после сброса 0x0) — clk_sys на SRAM4 сейчас подаётся.
- CLK_SYS_SRAM3 (бит 7, только чтение, после сброса 0x0) — clk_sys на SRAM3 сейчас подаётся.
- CLK_SYS_SRAM2 (бит 6, только чтение, после сброса 0x0) — clk_sys на SRAM2 сейчас подаётся.
- CLK_SYS_SRAM1 (бит 5, только чтение, после сброса 0x0) — clk_sys на SRAM1 сейчас подаётся.
- CLK_SYS_SRAM0 (бит 4, только чтение, после сброса 0x0) — clk_sys на SRAM0 сейчас подаётся.
- CLK_SYS_SPI1 (бит 3, только чтение, после сброса 0x0) — clk_sys на SPI1 сейчас подаётся.
- CLK_PERI_SPI1 (бит 2, только чтение, после сброса 0x0) — clk_peri на SPI1 сейчас подаётся.
- CLK_SYS_SPI0 (бит 1, только чтение, после сброса 0x0) — clk_sys на SPI0 сейчас подаётся.
- CLK_PERI_SPI0 (бит 0, только чтение, после сброса 0x0) — clk_peri на SPI0 сейчас подаётся.
CLOCKS_INTR — необработанные флаги прерываний
Смещение 0xC4, адрес 0x4001 00C4, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_INTR_…
- CLK_SYS_RESUS (бит 0, только чтение, после сброса 0x0) — Сработало восстановление clk_sys.
CLOCKS_INTE — разрешение прерываний
Смещение 0xC8, адрес 0x4001 00C8, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_INTE_…
- CLK_SYS_RESUS (бит 0, чтение и запись, после сброса 0x0) — Разрешение прерывания по восстановлению clk_sys.
CLOCKS_INTF — принудительная установка прерываний
Смещение 0xCC, адрес 0x4001 00CC, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_INTF_…
- CLK_SYS_RESUS (бит 0, чтение и запись, после сброса 0x0) — Принудительное прерывание восстановления clk_sys.
CLOCKS_INTS — флаги прерываний после маски и принуждения
Смещение 0xD0, адрес 0x4001 00D0, после сброса 0x0000 0000. Макросы pico-sdk: CLOCKS_INTS_…
- CLK_SYS_RESUS (бит 0, только чтение, после сброса 0x0) — Прерывание восстановления clk_sys после маски.
Частые вопросы
Как вывести тактовую частоту RP2350 на вывод GPIO?
Выберите на выводе функцию CLOCK GPOUT0…3, задайте источник в AUXSRC регистра CLK_GPOUTn_CTRL и делитель в CLK_GPOUTn_DIV — целая часть в битах 31:16, дробная в 15:0 — и установите ENABLE. Частота на выводе — до 50 МГц; что генератор запустился, покажет бит ENABLED.
Чем делитель тактов RP2350 отличается от RP2040?
У RP2350 дробная часть 16-битная: делитель записывают в формате 16.16 (целая часть в битах 31:16, дробная в 15:0) вместо 24.8 у RP2040, диапазон — от 1,0 до 2¹⁶. После сброса в регистре 0x0001 0000, то есть деление на 1.
Где на RP2350 часы реального времени?
Генератора clk_rtc и блока RTC больше нет: время в пониженном питании считает таймер AON в блоке POWMAN — 64-битный счётчик миллисекунд от LPOSC, кварца или внешнего сигнала.
Источники
- Raspberry Pi. RP2350 Datasheet (release 8, build 80d627281ed5) — раздел 8.1.7: список регистров, назначение полей, тип доступа и значения после сброса
- Raspberry Pi. pico-sdk 2.1.1: заголовки src/rp2350/hardware_regs/include/hardware/regs/*.h (коммит bddd20f) — смещения, биты, тип доступа и значение после сброса каждого поля, базовые адреса из addressmap.h; лицензия BSD-3-Clause
Нашли ошибку в регистрах?
Другие регистры RP2350
- Все регистры RP2350Блоки периферии и базовые адреса
- SHA256 — ускоритель SHA-256SHA256_CSR, SHA256_WDATA, SHA256_SUMn
- TICKS — генераторы тиковTICKS_PROC0_CTRL, TICKS_PROC0_CYCLES, TICKS_PROC0_COUNT, TICKS_PROC1_CTRL, TICKS_PROC1_CYCLES, TICKS_PROC1_COUNT
- TRNG — генератор случайных чиселTRNG_RNG_IMR, TRNG_RNG_ISR, TRNG_RNG_ICR, TRNG_TRNG_CONFIG, TRNG_TRNG_VALID, TRNG_EHR_DATA0
- GLITCH_DETECTOR — детектор сбоевGLITCH_DETECTOR_ARM, GLITCH_DETECTOR_DISARM, GLITCH_DETECTOR_SENSITIVITY, GLITCH_DETECTOR_LOCK, GLITCH_DETECTOR_TRIG_STATUS, GLITCH_DETECTOR_TRIG_FORCE
- HSTX — быстрый последовательный выводHSTX_CTRL_CSR, HSTX_CTRL_BITn, HSTX_CTRL_EXPAND_SHIFT, HSTX_CTRL_EXPAND_TMDS
- HSTX_FIFO — FIFO быстрого выводаHSTX_FIFO_STAT, HSTX_FIFO_FIFO
- QMI — интерфейс QSPI-памятиQMI_DIRECT_CSR, QMI_DIRECT_TX, QMI_DIRECT_RX, QMI_M0_TIMING, QMI_M0_RFMT, QMI_M0_RCMD
- XIP_AUX — быстрый порт FIFO XIPXIP_AUX_STREAM, XIP_AUX_QMI_DIRECT_TX, XIP_AUX_QMI_DIRECT_RX
- BOOTRAM — регистры загрузочной памятиBOOTRAM_WRITE_ONCE0, BOOTRAM_WRITE_ONCE1, BOOTRAM_BOOTLOCK_STAT, BOOTRAM_BOOTLOCKn
- CORESIGHT_TRACE — FIFO трассировкиCORESIGHT_TRACE_CTRL_STATUS, CORESIGHT_TRACE_TRACE_CAPTURE_FIFO
- EPPB — регистры ядра от Raspberry PiM33_EPPB_NMI_MASK0, M33_EPPB_NMI_MASK1, M33_EPPB_SLEEPCTRL
- OTP — однократно программируемая памятьOTP_SW_LOCKn, OTP_SBPI_INSTR, OTP_SBPI_WDATA_0, OTP_SBPI_WDATA_1, OTP_SBPI_WDATA_2, OTP_SBPI_WDATA_3
- POWMAN — менеджер питанияPOWMAN_BADPASSWD, POWMAN_VREG_CTRL, POWMAN_VREG_STS, POWMAN_VREG, POWMAN_VREG_LP_ENTRY, POWMAN_VREG_LP_EXIT
- ACCESSCTRL — права доступа к шинеACCESSCTRL_LOCK, ACCESSCTRL_FORCE_CORE_NS, ACCESSCTRL_CFGRESET, ACCESSCTRL_GPIO_NSMASK0, ACCESSCTRL_GPIO_NSMASK1, ACCESSCTRL_ROM
- TIMER — системные таймерыTIMER_TIMEHW, TIMER_TIMELW, TIMER_TIMEHR, TIMER_TIMELR, TIMER_ALARMn, TIMER_ARMED
- WATCHDOG — сторожевой таймерWATCHDOG_CTRL, WATCHDOG_LOAD, WATCHDOG_REASON, WATCHDOG_SCRATCHn
- ADC — аналого-цифровой преобразовательADC_CS, ADC_RESULT, ADC_FCS, ADC_FIFO, ADC_DIV, ADC_INTR
- PWM — широтно-импульсная модуляцияPWM_CHn_CSR, PWM_CHn_DIV, PWM_CHn_CTR, PWM_CHn_CC, PWM_CHn_TOP, PWM_EN
- XOSC — кварцевый генераторXOSC_CTRL, XOSC_STATUS, XOSC_DORMANT, XOSC_STARTUP, XOSC_COUNT
- PLL — умножители частотыPLL_CS, PLL_PWR, PLL_FBDIV_INT, PLL_PRIM, PLL_INTR, PLL_INTE
- PADS_BANK0 — электрические настройки GPIOPADS_BANK0_VOLTAGE_SELECT, PADS_BANK0_GPIOn, PADS_BANK0_SWCLK, PADS_BANK0_SWD
- PADS_QSPI — электрические настройки выводов QSPIPADS_QSPI_VOLTAGE_SELECT, PADS_QSPI_GPIO_QSPI_SCLK, PADS_QSPI_GPIO_QSPI_SD0, PADS_QSPI_GPIO_QSPI_SD1, PADS_QSPI_GPIO_QSPI_SD2, PADS_QSPI_GPIO_QSPI_SD3
- RESETS — сброс подсистемRESETS_RESET, RESETS_WDSEL, RESETS_RESET_DONE
- PSM — автомат включения питанияPSM_FRCE_ON, PSM_FRCE_OFF, PSM_WDSEL, PSM_DONE
- SYSINFO — сведения о чипеSYSINFO_CHIP_ID, SYSINFO_PACKAGE_SEL, SYSINFO_PLATFORM, SYSINFO_GITREF_RP2350
- BUSCTRL — управление шинойBUSCTRL_BUS_PRIORITY, BUSCTRL_BUS_PRIORITY_ACK, BUSCTRL_PERFCTR_EN, BUSCTRL_PERFCTRn, BUSCTRL_PERFSELn
- ROSC — кольцевой генераторROSC_CTRL, ROSC_FREQA, ROSC_FREQB, ROSC_RANDOM, ROSC_DORMANT, ROSC_DIV
- SYSCFG — системные настройкиSYSCFG_PROC_CONFIG, SYSCFG_PROC_IN_SYNC_BYPASS, SYSCFG_PROC_IN_SYNC_BYPASS_HI, SYSCFG_DBGFORCE, SYSCFG_MEMPOWERDOWN, SYSCFG_AUXCTRL
- XIP_CTRL — кеш выполнения из флеш-памятиXIP_CTRL, XIP_STAT, XIP_CTR_HIT, XIP_CTR_ACC, XIP_STREAM_ADDR, XIP_STREAM_CTR
- USB — контроллер USBUSB_ADDR_ENDP, USB_ADDR_ENDPn, USB_MAIN_CTRL, USB_SOF_WR, USB_SOF_RD, USB_SIE_CTRL
- PIO — программируемый ввод-выводPIO_CTRL, PIO_FSTAT, PIO_FDEBUG, PIO_FLEVEL, PIO_TXFn, PIO_RXFn
- DMA — прямой доступ к памятиDMA_CHn_READ_ADDR, DMA_CHn_WRITE_ADDR, DMA_CHn_TRANS_COUNT, DMA_CHn_CTRL_TRIG, DMA_CHn_AL1_CTRL, DMA_CHn_AL1_READ_ADDR
- SIO — однотактный ввод-вывод ядерSIO_CPUID, SIO_GPIO_IN, SIO_GPIO_HI_IN, SIO_GPIO_OUT, SIO_GPIO_HI_OUT, SIO_GPIO_OUT_SET
- IO_BANK0 — мультиплексор GPIOIO_BANK0_GPIOn_STATUS, IO_BANK0_GPIOn_CTRL, IO_BANK0_IRQSUMMARY_PROC0_SECURE0, IO_BANK0_IRQSUMMARY_PROC0_SECURE1, IO_BANK0_IRQSUMMARY_PROC0_NONSECURE0, IO_BANK0_IRQSUMMARY_PROC0_NONSECURE1
- IO_QSPI — мультиплексор выводов QSPI и USBIO_QSPI_USBPHY_DP_STATUS, IO_QSPI_USBPHY_DP_CTRL, IO_QSPI_USBPHY_DM_STATUS, IO_QSPI_USBPHY_DM_CTRL, IO_QSPI_GPIO_QSPI_SCLK_STATUS, IO_QSPI_GPIO_QSPI_SCLK_CTRL
- M33 — системные регистры Cortex-M33M33_ITM_STIMn, M33_ITM_TER0, M33_ITM_TPR, M33_ITM_TCR, M33_INT_ATREADY, M33_INT_ATVALID