Карта регистров SFF-8636: нижняя страница 00h
Нижние 128 байт модуля QSFP+/QSFP28 видны всегда и хранят то, что хост трогает во время работы: идентификатор и ревизию, флаги прерываний, мониторы модуля и каналов, Tx disable, выбор скорости и применения, управление питанием, управление CDR, маски, пароли и байт выбора страницы. Здесь они перечислены побайтно и побитно по SFF-8636 Rev 2.11 (поля, введённые в Rev 2.10, помечены ред. 2.10). Пояснения: SFF-8636; блок идентификации — в Карте верхней страницы 00h.
Обозначения: резерв = зарезервировано · вендор = вендорское · каналы нумеруются 1–4; в поканальных байтах биты 7–4 = каналы 4,3,2,1 первой группы, биты 3–0 = каналы 4,3,2,1 второй группы, если не сказано иное · флаги защёлкиваются, сбрасываются чтением.
Идентификация и статус — байты 0–2
| Байт | Поле | Биты |
|---|
| 0 | Идентификатор | SFF-8024 Table 4-1: 0Ch QSFP · 0Dh QSFP+ · 11h QSFP28 · 1Eh QSFP с CMIS (тогда применяется карта CMIS) |
| 1 | Соответствие ревизии | 00h не задано · 01h SFF-8436 ≤ 4.8 · 02h SFF-8436 ≤ 4.8 с 186–189 по SFF-8636 · 03h SFF-8636 ≤ 1.3 · 04h 1.4 · 05h 1.5 · 06h 2.0 · 07h 2.5/2.6/2.7 · 08h 2.8/2.9/2.10 — Ревизии спецификаций |
| 2 | Индикаторы статуса | 7–3 резерв · 2 Flat_mem (1 = только страница 00h) · 1 IntL (1 = прерывание выставлено, зеркало пина только для чтения) · 0 Data_Not_Ready |
Флаги прерываний — байты 3–21
| Байт | Группа флагов | Биты |
|---|
| 3 | LOS | 7 L-Tx4 LOS · 6 L-Tx3 LOS · 5 L-Tx2 LOS · 4 L-Tx1 LOS · 3 L-Rx4 LOS · 2 L-Rx3 LOS · 1 L-Rx2 LOS · 0 L-Rx1 LOS |
| 4 | Отказ Tx / отказ адаптивной эквализации | 7 L-Tx4 отказ адаптивной EQ · 6 L-Tx3 · 5 L-Tx2 · 4 L-Tx1 отказ адаптивной EQ · 3 L-Tx4 fault · 2 L-Tx3 fault · 1 L-Tx2 fault · 0 L-Tx1 fault |
| 5 | LOL (захват CDR) | 7 L-Tx4 LOL · 6 L-Tx3 · 5 L-Tx2 · 4 L-Tx1 LOL · 3 L-Rx4 LOL · 2 L-Rx3 · 1 L-Rx2 · 0 L-Rx1 LOL |
| 6 | Температура | 7 температура верхняя авария · 6 нижняя авария · 5 верхнее предупреждение · 4 нижнее предупреждение · 3–1 резерв · 0 флаг завершения инициализации ред. 2.x |
| 7 | Vcc | 7 Vcc верхняя авария · 6 нижняя авария · 5 верхнее предупреждение · 4 нижнее предупреждение · 3–0 резерв |
| 8 | вендор | — |
| 9 | Мощность Rx каналов 1–2 | 7 Rx1 верхняя авария · 6 Rx1 нижняя авария · 5 Rx1 верхнее предупреждение · 4 Rx1 нижнее предупреждение · 3 Rx2 верхняя авария · 2 Rx2 нижняя авария · 1 Rx2 верхнее предупреждение · 0 Rx2 нижнее предупреждение |
| 10 | Мощность Rx каналов 3–4 | та же раскладка для Rx3 (7–4) и Rx4 (3–0) |
| 11 | Ток Tx каналов 1–2 | та же раскладка: ток Tx1 (7–4), Tx2 (3–0) |
| 12 | Ток Tx каналов 3–4 | Tx3 (7–4), Tx4 (3–0) |
| 13 | Мощность Tx каналов 1–2 | мощность Tx1 (7–4), Tx2 (3–0) |
| 14 | Мощность Tx каналов 3–4 | Tx3 (7–4), Tx4 (3–0) |
| 15–16 | резерв | — |
| 17–21 | вендор | вендорские флаги |
Мониторы модуля — байты 22–33
| Байты | Монитор | Формат |
|---|
| 22–23 | Температура | знаковое 16 бит, 1/256 °C |
| 24–25 | резерв | — |
| 26–27 | Vcc | беззнаковое 16 бит, 100 мкВ |
| 28–29 | резерв | — |
| 30–33 | вендор | — |
Мониторы каналов — байты 34–81
| Байты | Монитор | Формат |
|---|
| 34–35 / 36–37 / 38–39 / 40–41 | Мощность Rx1 / Rx2 / Rx3 / Rx4 | беззнаковое 16 бит, 0,1 мкВт |
| 42–43 / 44–45 / 46–47 / 48–49 | Ток Tx1 / Tx2 / Tx3 / Tx4 | беззнаковое 16 бит, 2 мкА |
| 50–51 / 52–53 / 54–55 / 56–57 | Мощность Tx1 / Tx2 / Tx3 / Tx4 | беззнаковое 16 бит, 0,1 мкВт |
| 58–65 | резерв | — |
| 66–81 | вендор | — |
| 82–85 | резерв | — |
Поканальная трактовка: Поканальная диагностика.
Управление — байты 86–99
| Байт | Поле | Биты |
|---|
| 86 | Tx disable | 7–4 резерв · 3 Tx4 disable · 2 Tx3 · 1 Tx2 · 0 Tx1 disable (1 = лазер выключен) |
| 87 | Выбор скорости Rx | 7–6 Rx4 · 5–4 Rx3 · 3–2 Rx2 · 1–0 Rx1 (2-битный код на канал; 00 = младшая группа скоростей) — Выбор скорости |
| 88 | Выбор скорости Tx | 7–6 Tx4 · 5–4 Tx3 · 3–2 Tx2 · 1–0 Tx1 |
| 89 | Выбор применения Rx4 | код применения со страницы 01h (модель SFF-8079); 00h = нет |
| 90 | Выбор применения Rx3 | — |
| 91 | Выбор применения Rx2 | — |
| 92 | Выбор применения Rx1 | — |
| 93 | Управление питанием | 7–4 резерв · 3 разрешение класса мощности 8 ред. 2.10 · 2 разрешение высоких классов (5–7) · 1 Power_set (1 = низкое энергопотребление; действует при бите 0 = 1) · 0 Power_override (1 = режим питания задаёт софт, а не пин LPMode) |
| 94 | Выбор применения Tx4 | — |
| 95 | Выбор применения Tx3 | — |
| 96 | Выбор применения Tx2 | — |
| 97 | Выбор применения Tx1 | — |
| 98 | Управление CDR | 7 CDR Tx4 включён · 6 Tx3 · 5 Tx2 · 4 CDR Tx1 · 3 CDR Rx4 · 2 Rx3 · 1 Rx2 · 0 CDR Rx1 (1 = CDR включён, 0 = обход) — CDR |
| 99 | Управление сигналами ред. 2.10 | 7–2 резерв · 1 функция входного пина LPMode/TxDis (0 = LPMode, 1 = TxDis) · 0 функция выходного пина IntL/LOSL (0 = IntL, 1 = LOSL); доступность объявлена в верхнем байте 193 |
Маски — байты 100–106
Бит маски, установленный в 1, не даёт соответствующему флагу выставлять IntL.
| Байт | Маски для | Раскладка битов |
|---|
| 100 | флаги LOS | как байт 3 |
| 101 | отказ Tx / отказ адаптивной EQ | как байт 4 |
| 102 | флаги LOL | как байт 5 |
| 103 | флаги температуры | 7–4 как биты 7–4 байта 6 · 0 маска завершения инициализации |
| 104 | флаги Vcc | как байт 7 |
| 105 | вендор | — |
| 106 | вендор | — |
Маски мощности Rx, тока Tx и мощности Tx — на странице 03h, байты 242–247.
Расширенное управление и пароли — байты 107–127
| Байт | Поле | Содержимое |
|---|
| 107 | Макс. мощность ред. 2.10 | максимальное потребление в единицах 0,1 Вт, действует для класса 8 (верхний байт 129 бит 5) |
| 108–109 | Задержка распространения ред. 2.10 | кабельные сборки: задержка в единицах 10 нс |
| 110 | Расширенный режим низкого энергопотребления ред. 2.10 | биты 3–0 объявляют/управляют промежуточным классом низкой мощности (по ревизии) |
| 111–112 | резерв | — |
| 113–118 | резерв / вендор | — |
| 119–122 | Ввод смены пароля | определяется вендором (запись нового пароля) |
| 123–126 | Ввод пароля | определяется вендором; типичная область разблокировки — Типы защиты от записи |
| 127 | Выбор страницы | 00h идентификация · 01h таблица выбора применения · 02h пользовательская EEPROM · 03h пороги и управление каналами · 20h–21h необязательные; записать перед чтением 128–255 |
Чтение нижней страницы QSFP28 на практике
- Байт 0 = 11h, байт 1 = 06h или 08h → QSFP28 по SFF-8636 ред. 2.x; байт 2 бит 0 = 0 → данные готовы.
- Байты 3–14 все 00h → нет LOS, отказов, LOL и пороговых флагов (читать дважды: первое чтение сбрасывает защёлкнутую историю).
- Байты 34–57 → четыре мощности Rx, четыре тока, четыре мощности Tx; сравнить каналы между собой (Типовые значения).
- Байт 86 = 00h → все лазеры включены; байт 93 бит 1 = 0 → высокая мощность; байт 98 = FFh → все CDR включены.
- Байт 127 = 00h → верхняя страница показывает идентификацию (Карта верхней страницы 00h).
Связанные карты