CodingBox Документация

Карта регистров CMIS: нижняя страница

Нижние 128 байт CMIS-модуля (QSFP-DD, OSFP, QSFP112, SFP-DD с CMIS…) видны всегда и несут интерфейс времени работы уровня модуля: идентификатор и версию CMIS, состояние модуля, флаги и маски, мониторы модуля, глобальное управление, статус CDB, тип среды, первые восемь дескрипторов применений, ввод пароля и селекторы банка/страницы. Здесь они перечислены побайтно и побитно по CMIS 5.x с отмеченными отличиями 4.x. Пояснения: CMIS; верхние страницы — в Карте верхних страниц CMIS; поканальные — в Карте канальных страниц CMIS.

Обозначения: резерв = зарезервировано · вендор = вендорское · флаги защёлкиваются, сбрасываются чтением; бит маски = 1 подавляет вклад флага в IntL.

Идентификация и состояние — байты 0–7

БайтПолеБиты / значения
0ИдентификаторSFF-8024 Table 4-1: 18h QSFP-DD · 19h OSFP · 1Eh QSFP+/28/56 с CMIS · 1Fh SFP-DD с CMIS · 20h SFP+ с CMIS (SFP112) · 21h OSFP-XD
1Ревизия CMIS7–4 major · 3–0 minor: 30h = 3.0 · 40h = 4.0 · 41h = 4.1 · 50h = 5.0 · 51h–53h = 5.1–5.3
2Характеристики памяти7 MemoryModel (1 = плоская, без страниц) · 6 SteppedConfigOnly (1 = конфигурацию тракта применять по одному каналу) · 5–4 резерв · 3–2 MciMaxSpeed: 00 = 400 кГц · 01 = 1 МГц · 1–0 резерв
3Состояние модуля7–4 резерв · 3–1 ModuleState: 001 ModuleLowPwr · 010 ModulePwrUp · 011 ModuleReady · 100 ModulePwrDn · 101 ModuleFault · 0 InterruptDeasserted (1 = прерывание не ожидает)
4Сводка флагов банка 0по биту на группу флагов в канальных страницах банка 0 (смена состояния тракта, флаги Tx/Rx, аварии) — читать, чтобы знать, какой банк смотреть
5Сводка флагов банка 1как байт 4 для каналов 9–16
6Сводка флагов банка 2каналы 17–24
7Сводка флагов банка 3каналы 25–32

Флаги модуля — байты 8–11

БайтПолеБиты
8Флаги уровня модуля7–5 резерв · 4 CdbCmdComplete2 · 3 CdbCmdComplete1 · 2 DataPathFirmwareFault · 1 ModuleFirmwareFault · 0 ModuleStateChanged
9Флаги температуры / Vcc7 Vcc нижнее предупреждение · 6 Vcc верхнее предупреждение · 5 Vcc нижняя авария · 4 Vcc верхняя авария · 3 температура нижнее предупреждение · 2 верхнее предупреждение · 1 нижняя авария · 0 верхняя авария
10Флаги Aux1 / Aux27 Aux2 нижнее предупреждение · 6 Aux2 верхнее предупреждение · 5 Aux2 нижняя авария · 4 Aux2 верхняя авария · 3 Aux1 нижнее предупреждение · 2 Aux1 верхнее предупреждение · 1 Aux1 нижняя авария · 0 Aux1 верхняя авария
11Флаги Aux3 / пользовательского7–4 пользовательский монитор: нижнее предупреждение / верхнее предупреждение / нижняя авария / верхняя авария · 3 Aux3 нижнее предупреждение · 2 Aux3 верхнее предупреждение · 1 Aux3 нижняя авария · 0 Aux3 верхняя авария
12–13резерв

Мониторы модуля — байты 14–25

БайтыМониторФормат
14–15Температуразнаковое 16 бит, 1/256 °C
16–17Vccбеззнаковое 16 бит, 100 мкВ
18–19Aux1ток TEC (знаковый, % от максимума ×100/32767) или температура лазера (1/256 °C) — тип объявлен на странице 01h
20–21Aux2температура лазера или ток TEC
22–23Aux3температура лазера или дополнительное напряжение питания (100 мкВ)
24–25Пользовательский мониторопределяется вендором

Глобальное управление и маски — байты 26–36

БайтПолеБиты
26Глобальное управление модулемCMIS 5.x: 7 резерв · 6 LowPwrAllowRequestHW (1 = пин LPMode может запрашивать низкую мощность) · 5 SquelchMethodSelect (0 = squelch по OMA, 1 = по Pave) · 4 LowPwrRequestSW (1 = запрос низкой мощности) · 3 SoftwareReset · 2–0 резерв · 4.x: 6 = LowPwr (программный запрос низкой мощности) · 4 = ForceLowPwr · 5 и 3 как выше
27Маски флагов модулямаски для байта 8 (те же позиции битов)
28Маски температуры / Vccмаски для байта 9
29Маски Aux1 / Aux2маски для байта 10
30Маски Aux3 / пользовательскогомаски для байта 11
31–36резерв

Статус CDB и прошивка — байты 37–41

БайтПолеБиты / значения
37CdbStatus1 (командный блок 1)7 CdbIsBusy · 6 CdbHasFailed · 5–0 CdbCommandResult: пока занято — 01h захват команды, 02h проверка, 03h исполнение; при успехе — 01h успех; при отказе — 01h неизвестная команда, 02h параметр вне диапазона, 03h ошибка длины, 04h ошибка контрольной суммы, 05h ошибка пароля, 06h не разрешено … (см. CMIS Table 8-20)
38CdbStatus2 (командный блок 2)та же раскладка
39Активная прошивка модуля — majorверсия работающего образа
40Активная прошивка модуля — minor
41ModuleFaultCause00h нет отказа · 01h разгон TEC · 02h повреждена память данных · 03h повреждена память программы · 04h–1Fh резерв · 20h–FFh вендорские
42–63резерв
64–84резерв / вендорпо ревизии

Тип среды и применения — байты 85–117

БайтПолеСодержимое
85MediaType00h не определён · 01h MMF (SFF-8024 Table 4-6) · 02h SMF (4-7) · 03h пассивная медь (4-8) · 04h активный кабель (4-9) · 05h BASE-T (4-10) · 06h–3Fh резерв · 40h–8Fh вендорские
86–89Дескриптор применения 1байт 86 HostInterfaceID (SFF-8024 Table 4-5) · 87 MediaInterfaceID (таблица по байту 85) · 88 биты 7–4 HostLaneCount, 3–0 MediaLaneCount · 89 HostLaneAssignmentOptions — бит n = 1: канал n+1 может быть первым каналом тракта этого применения
90–93Дескриптор применения 2та же раскладка
94–97Дескриптор применения 3
98–101Дескриптор применения 4
102–105Дескриптор применения 5
106–109Дескриптор применения 6
110–113Дескриптор применения 7
114–117Дескриптор применения 8

FFh в первом байте дескриптора завершает список. Дескрипторы 9–15 продолжаются на странице 01h, байты 223–250; варианты назначения медиа-каналов для них — на странице 01h 176–190. Пример: 12 1C 84 01 = 400GAUI-8 C2M ↔ 400GBASE-DR4, 8 каналов хоста / 4 канала среды, начиная с канала хоста 1; 0E 14 21 55 = 100GAUI-2 ↔ 100GBASE-DR, 2/1 канала, может начинаться на каналах 1, 3, 5, 7 (breakout 4 × 100G).

Пароли и селекторы — байты 118–127

БайтПолеСодержимое
118–121Ввод смены пароляопределяется вендором
122–125Ввод пароляопределяется вендором — Типы защиты от записи
126BankSelect00h банк 0 (каналы 1–8) · 01h банк 1 (9–16) · 02h банк 2 · 03h банк 3; действует для банковых страниц 10h–3Fh
127PageSelect00h идентификация · 01h объявления · 02h пороги · 04h возможности лазера · 10h управление каналами · 11h состояние каналов · 12h управление перестройкой · 13h–14h диагностика · 20h–2Fh VDM · 9Fh CDB · A0h–AFh CDB EPL · 80h–8Fh… вендорские

Чтение нижней страницы QSFP-DD на практике

  1. Байт 0 = 18h, байт 1 = 50h → QSFP-DD, CMIS 5.0; байт 2 бит 7 = 0 → страничная память.
  2. Байт 3 = 03h → ModuleLowPwr (001 в битах 3–1, прерывание снято) — норма сразу после вставки; 07h → ModuleReady.
  3. Байт 85 = 02h → таблица среды SMF; байты 86–89 → первое применение (например, DR4).
  4. Байты 8–11 → установлен ли какой-то флаг модуля? Читать дважды, чтобы сбросить историю.
  5. Байты 14–17 → температура и Vcc.
  6. Чтобы выйти из низкой мощности в 5.x: сбросить бит 4 байта 26 (LowPwrRequestSW) и убедиться, что пин LPMode низкий или бит 6 = 0; затем ждать, пока байт 3 не станет 07h.

Связанные карты