SFF-8636 — управление QSFP
SFF-8636, Management Interface for Cabled Environments, — спецификация управления для четырёхканального семейства QSFP — QSFP+ (40G), QSFP28 (100G) и большинства модулей QSFP56 (200G) — и родственных параллельных форм-факторов вроде CXP и microQSFP. Она пришла на смену SFF-8436, сохранила его раскладку памяти и продолжает расти ревизиями 2.x. Модули QSFP для Fibre Channel и InfiniBand тоже используют её. Байт версии и история ревизий: Ревизии спецификаций.
Один адрес, страничная память
В отличие от двух устройств SFP, модуль QSFP отвечает по одному адресу (A0h) через двухпроводной интерфейс:
- Нижняя страница 00h (байты 0–127) видна всегда: статус, флаги прерываний, живые мониторы, управление и байт выбора страницы 127.
- Верхние страницы (байты 128–255) подключаются записью в 127: страница 00h — идентификация, 01h — таблица выбора применения, 02h — пользовательская EEPROM, 03h — пороги и управление каналами, необязательные 20h–21h.
Модули только со страницей 00h выставляют бит плоской памяти (байт 2 бит 2). Шина с несколькими модулями арбитрируется пином ModSelL, а не адресом. Скорость шины до 400 кГц разрешена с ревизии 2.x.
Нижняя страница 00h — статус и управление
| Байты | Блок | Примечания |
|---|---|---|
| 0 | Идентификатор | 0Dh QSFP+, 11h QSFP28 (SFF-8024) |
| 1 | Соответствие ревизии | какой ревизии SFF-8436/8636 следует карта |
| 2 | Статус | бит 2 плоская память, бит 1 IntL выставлен, бит 0 данные не готовы |
| 3–21 | Флаги прерываний | 3 LOS Rx/Tx по каналам, 4 Tx fault, 5 LOL Tx/Rx (захват CDR), 6 аварии/предупреждения температуры, 7 Vcc, 9–10 мощность Rx, 11–12 ток Tx, 13–14 мощность Tx; защёлкиваются, сбрасываются чтением |
| 22–33 | Мониторы модуля | температура (22–23), Vcc (26–27); форматы как у SFP |
| 34–81 | Мониторы каналов | мощность Rx каналов 1–4 (34–41), ток Tx (42–49), мощность Tx (50–57), резерв/вендор до 81 — поканальная диагностика |
| 86 | Tx disable | биты 0–3, по одному на канал |
| 87–88 | Выбор скорости | Rx (87) и Tx (88), по два бита на канал — выбор скорости |
| 89–92, 94–97 | Выбор применения | по каналам, индексы в страницу 01h |
| 93 | Управление питанием | бит 0 power override, бит 1 power set (1 = низкая мощность), бит 2 разрешить классы 5–7, бит 3 разрешить класс 8 |
| 98 | Управление CDR | биты 7–4 CDR Tx включён по каналам, 3–0 CDR Rx — CDR |
| 100–106 | Маски прерываний | по биту маски на флаг |
| 107 | Макс. мощность | ×0,1 Вт, для модулей класса 8 (ред. 2.10) |
| 119–122 | Смена пароля | определяется вендором |
| 123–126 | Ввод пароля | определяется вендором — обычное место пароля защиты от записи |
| 127 | Выбор страницы | записать перед чтением 128–255 |
Верхняя страница 00h — идентификация
| Байты | Поле | Примечания |
|---|---|---|
| 128 | Идентификатор | повторяет байт 0 |
| 129 | Расширенный идентификатор | биты 7–6 класс мощности 1–4, бит 5 объявлен класс 8, бит 4 есть CLEI, бит 3 есть CDR Tx, бит 2 есть CDR Rx, биты 1–0 класс мощности 5–7 |
| 130 | Разъём | 0Ch MPO 1×12, 07h LC, 23h без отделяемого разъёма (DAC/AOC) |
| 131–138 | Соответствие спецификациям | 131 Ethernet 10/40G (бит 7 = смотреть байт 192), 132 SONET, 133 SAS/SATA, 134 GbE, 135–138 Fibre Channel — Коды соответствия |
| 139 | Кодирование | 05h 64B/66B, 08h PAM4 (значения отличаются от таблицы SFP) |
| 140 | Номинальная скорость | ×100 Мбит/с на канал; FFh → см. байт 222 |
| 141 | Расширенный выбор скорости | — |
| 142–146 | Длины линий | SMF км, OM3 ×2 м, OM2 м, OM1 м, метры меди или OM4 ×2 м |
| 147 | Технология устройства | ниббл типа передатчика (ниже) + биты контроля длины волны, охлаждения, APD/PIN, перестройки |
| 148–163 | Имя вендора | 16 ASCII — Поля вендора |
| 164 | Расширенный модуль | биты скоростей InfiniBand (SDR…EDR) |
| 165–167 | OUI вендора | — |
| 168–183 | Партномер | — |
| 184–185 | Ревизия | 2 ASCII |
| 186–189 | Длина волны и допуск | ×0,05 нм и ×0,005 нм; для меди — затухание на 2,5 / 5 / 7 / 12,9 ГГц |
| 190 | Макс. температура корпуса | °C |
| 191 | CC_BASE | контрольная сумма 128–190 — Контрольные суммы |
| 192 | Расширенное соответствие | код SFF-8024 Table 4-4 (100GBASE-SR4 = 02h, CWDM4 = 06h…) |
| 193–195 | Опции | управление эквализацией/предыскажением, вкл./выкл. CDR и флаги LOL, squelch, какие страницы есть |
| 196–211 | Серийный номер | — |
| 212–219 | Код даты | ГГММДД + 2 лота |
| 220 | Тип диагностики | мощность Rx средняя/OMA, реализован монитор мощности Tx |
| 221 | Расширенные опции | флаг завершения инициализации, объявление выбора скорости, быстрый режим Tx disable |
| 222 | Расширенная скорость | ×250 Мбит/с при байте 140 = FFh |
| 223 | CC_EXT | контрольная сумма 192–222 |
| 224–255 | Вендорская область | — |
Байт 147 — технология передатчика (биты 7–4)
| Значение | Технология | Значение | Технология |
|---|---|---|---|
| 0h | VCSEL 850 нм | 8h | другое / не определено |
| 1h | VCSEL 1310 нм | 9h | DFB 1490 нм |
| 2h | VCSEL 1550 нм | Ah | медь без эквализации |
| 3h | FP 1310 нм | Bh | медь, пассивная эквализация |
| 4h | DFB 1310 нм | Ch | медь, активная limiting на ближнем и дальнем концах |
| 5h | DFB 1550 нм | Dh | медь, активная limiting на дальнем конце |
| 6h | EML 1310 нм | Eh | медь, активная limiting на ближнем конце |
| 7h | EML 1550 нм | Fh | медь, линейные активные эквалайзеры |
Биты 3–0: контроль длины волны, охлаждаемый передатчик, детектор APD (1) или PIN (0), перестраиваемый. Что это за технологии: Лазеры.
Остальные страницы
| Страница | Содержимое |
|---|---|
| 01h | таблица выбора применения (AST) — объявленные применения для выбора в стиле SFF-8079; используется редко |
| 02h | пользовательская EEPROM (128–255); код CLEI при бите 4 байта 129 |
| 03h | пороги: модуль 128–175 (температура, Vcc), каналы 176–223 (мощность Rx, ток Tx, мощность Tx); управление каналами 226–241 (входная эквализация Tx, предыскажение и амплитуда выхода Rx, squelch и отключение выхода); маски мониторов каналов 242–253 |
| 20h–21h | необязательные расширенные функции, объявлены битом 0 байта 195 |
Смысл порогов: Пороги и аварии.
Классы мощности
Байт 129 объявляет класс, байт 93 позволяет хосту выпустить модуль из низкой мощности и разрешить классы 5–8, байт 107 даёт точный максимум для класса 8. Хост, прочитавший класс, который порт не может дать, держит модуль в низкой мощности — классы и симптомы перечислены в материале Питание и тепло.
Прерывания и LOL
IntL уходит в низкий уровень, когда установлен любой незамаскированный флаг в байтах 3–21; хост читает флаги, что их сбрасывает. Флаги LOL (байт 5) — индикатор захвата CDR и самый быстрый признак несовпадения скорости — см. Скорость и режимы.
Что читает хост
Вставка → ожидание готовности данных → чтение нижних 0–127 и верхней 00h → проверка CC_BASE / CC_EXT → декодирование идентификатора, разъёма, соответствия и байта 192, блока вендора → проверка класса мощности → снятие низкой мощности → настройка CDR/скорости → снятие Tx disable → опрос мониторов и флагов. Последовательность и тайминги: Что делает хост.
В CodingBox
CodingBox читает все присутствующие страницы, показывает их вкладками в редакторе EEPROM с подписью каждого поля, декодирует байт 147 и байты соответствия на Check transceiver, строит четыре канала на DDM и пересчитывает CC_BASE и CC_EXT при записи.
Полные таблицы регистров: Карта нижней страницы 00h (флаги, мониторы, управление) и Карта верхних страниц (идентификация, пороги, управление каналами).