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

Регистры SYSINFO RP2350

Регистры SYSINFO RP2350: идентификатор чипа с ревизией, номером детали и кодом производителя, признак корпуса — QFN-60 или QFN-80, — тип платформы и хеш исходников чипа.

Блок SYSINFO хранит сведения о самом чипе. CHIP_ID — идентификатор по стандарту JEDEC JEP-106: ревизия кремния, номер детали и код производителя; в отличие от RP2040, младший бит вынесен в отдельное поле STOP_BIT (даташит RP2350, раздел 12.15.1).

Новый регистр PACKAGE_SEL показывает корпус: 0 — QFN-80 (RP2350B, 48 GPIO), 1 — QFN-60 (RP2350A, 30 GPIO). PLATFORM нужен только при разработке чипа: у серийных микросхем в нём всегда ASIC без признаков моделирования, а GITREF_RP2350 хранит хеш исходников чипа.

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

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

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

РегистрСмещениеНазначениеПосле сброса
SYSINFO_CHIP_ID0x00Идентификатор чипа по JEDEC JEP-1060x0000 0001
SYSINFO_PACKAGE_SEL0x04Корпус: 0 — QFN-80, 1 — QFN-600x0000 0000
SYSINFO_PLATFORM0x08Тип платформы: микросхема или ПЛИС0x0000 0000
SYSINFO_GITREF_RP23500x14Хеш исходников чипане определено

SYSINFO_CHIP_ID — идентификатор чипа по JEDEC JEP-106

Смещение 0x00, адрес 0x4000 0000, после сброса 0x0000 0001. Макросы pico-sdk: SYSINFO_CHIP_ID_…

31302928272625242322212019181716
REVISIONPART
1514131211109876543210
PARTMANUFACTURERSTOP_BIT
  • REVISION (биты 31:28, только чтение, после сброса не определено) — Ревизия кремния.
  • PART (биты 27:12, только чтение, после сброса не определено) — Номер детали.
  • MANUFACTURER (биты 11:1, только чтение, после сброса не определено) — Код производителя по JEDEC JEP-106 без младшего бита.
  • STOP_BIT (бит 0, только чтение, после сброса 0x1) — Младший бит идентификатора, всегда 1.

SYSINFO_PACKAGE_SEL — корпус: 0 — QFN-80, 1 — QFN-60

Смещение 0x04, адрес 0x4000 0004, после сброса 0x0000 0000, только чтение. Макросы pico-sdk: SYSINFO_PACKAGE_SEL_…

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

SYSINFO_PLATFORM — тип платформы: микросхема или ПЛИС

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

1514131211109876543210
—GATESIMBATCHSIMHDLSIMASICFPGA
  • GATESIM (бит 4, только чтение, после сброса не определено) — Моделирование на уровне вентилей — только при разработке чипа.
  • BATCHSIM (бит 3, только чтение, после сброса не определено) — Пакетное моделирование — только при разработке чипа.
  • HDLSIM (бит 2, только чтение, после сброса не определено) — Моделирование HDL — только при разработке чипа.
  • ASIC (бит 1, только чтение, после сброса не определено) — Программа выполняется на микросхеме.
  • FPGA (бит 0, только чтение, после сброса не определено) — Программа выполняется на макете в ПЛИС.

SYSINFO_GITREF_RP2350 — хеш исходников чипа

Смещение 0x14, адрес 0x4000 0014, после сброса не определено, только чтение. Макросы pico-sdk: SYSINFO_GITREF_RP2350_…

Значение занимает регистр целиком, отдельных полей нет.

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

Как программно узнать корпус RP2350?

Прочитайте регистр PACKAGE_SEL блока SYSINFO по адресу 0x4000 0004: 0 — QFN-80 с 48 GPIO, 1 — QFN-60 с 30 GPIO. Так одна прошивка может понять, доступны ли GPIO30–47 и восемь входов АЦП.

Где у RP2350 ревизия кристалла?

В поле REVISION регистра CHIP_ID — биты 31:28; номер детали — в битах 27:12, код производителя JEP-106 — в битах 11:1, а бит 0 всегда равен 1.

Источники

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

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

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

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