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

Пороги, аварии и флаги

Модуль не просто сообщает значения — он несёт и пределы, по которым эти значения оцениваются, и поднимает флаги, когда предел пересечён. Коммутатор читает всё это из памяти модуля; сам он ничего не придумывает. Поэтому два внешне одинаковых модуля могут вести себя на одной линии по-разному.

Четыре порога на параметр

У каждого параметра DDM четыре заводских предела:

ПорогСмысл
High alarmзначение выше → модуль, возможно, отказывает или линия непригодна
High warningприближение к верхнему пределу
Low warningприближение к нижнему пределу
Low alarmзначение ниже → например, Rx ниже чувствительности приёмника

Они задают три зоны: норма (между предупреждениями), предупреждение (между предупреждением и соответствующей аварией) и авария (за аварией). Исправный модуль на 10 км может иметь пороги Rx около +0,5 / −2 / −18 / −22 дБм (HA / HW / LW / LA) — но каждый вендор задаёт свои.

Где хранятся — SFF-8472

A2h байты 0–39, по два байта на порог, единицы те же, что у мониторов (Параметры и единицы):

БайтыПараметр (HA, LA, HW, LW)
0–7Температура
8–15Vcc
16–23Ток смещения Tx
24–31Мощность Tx
32–39Мощность Rx
40–55опциональные расширенные пороги (темп. лазера, TEC)

Порядок внутри группы: high alarm, low alarm, high warning, low warning.

Флаги — на что реально реагирует хост

Байты A2hСодержимое
110статус/управление: состояние TX_DISABLE, RS0/RS1, TX_FAULT, RX_LOS, готовность данных
112–113флаги аварий — по биту на параметр, high и low
116–117флаги предупреждений — по биту на параметр, high и low

Модуль выставляет флаг при пересечении порога и снимает при возврате. Хост, показывающий «Rx power low alarm», читает бит 1 байта 113 — и ничего больше. Реализованы ли флаги вообще, объявляет байт 93 A0h, бит 7.

QSFP и CMIS

Та же модель, но с поканальными флагами:

  • SFF-8636 — пороги модуля на верхней странице 03h, байты 128–175 (температура, Vcc), пороги каналов — байты 176–223 (мощность Rx, ток смещения, мощность Tx); флаги — в нижней странице, байты 3–14 (LOS/fault/LOL в 3–5, аварии температуры и Vcc в 6–7, поканальные аварии мощности и тока в 9–14).
  • CMIS — пороги модуля на странице 02h, пороги каналов дальше на той же странице; флаги модуля в нижних байтах 8–13, флаги каналов на странице 11h, байты 134–153.

См. Поканальную диагностику.

Почему «нет аварии» ≠ «исправно»

Пороги — мнение производителя модуля о его собственных пределах, а не о линии. Типичные следствия:

  • Щедрые пороги — модуль с аварией низкого Rx на −24 дБм будет молчать на приёмнике, который уже ошибается при −20 дБм.
  • Фиктивный Tx — константа никогда не пересечёт порог.
  • Бюджет линии — про запас, а не про пределы: линия на −17 дБм при предупреждении −18 дБм имеет 1 дБ запаса и упадёт на первом грязном разъёме.

Поэтому эксплуатационные оповещения должны опираться на ваши базы и дельты (Мониторинг), а флаги модуля — страховка.

Правка порогов

Поскольку пороги живут в памяти модуля, их можно прочитать и переписать. Законные случаи: вернуть вменяемые пределы модулю, закодированному нулями, выровнять парк или задать более узкое предупреждение для раннего сигнала. Защищённая область A2h обычно требует пароль модуля.

В CodingBox

Экран DDM наносит пороги аварий и предупреждений модуля прямо на графики и раскрашивает значения по зонам. Байты порогов 0–39 и флаги 112–117 видны и редактируемы в редакторе EEPROM с пересчётом контрольной суммы CC_DMI (байт 95) при записи.