Progi, alarmy i flagi · Diagnostyka DDM/DOM · Transceivery optyczne i kable · Dokumentacja · CodingBox
CodingBox Dokumentacja

Progi, alarmy i flagi

Moduł nie tylko zgłasza wartości: niesie też granice, względem których te wartości są oceniane, i podnosi flagi, gdy granica zostaje przekroczona. Przełącznik czyta to wszystko z pamięci modułu; niczego nie wymyśla. Dlatego dwa identycznie wyglądające moduły mogą zachowywać się różnie na tym samym łączu.

Cztery progi na parametr

Każdy parametr DDM ma cztery fabrycznie zaprogramowane granice:

PrógZnaczenie
Wysoki alarmwartość powyżej niego → moduł może zawodzić albo łącze jest nieużywalne
Wysokie ostrzeżeniezbliżanie się do górnej granicy
Niskie ostrzeżeniezbliżanie się do dolnej granicy
Niski alarmwartość poniżej niego → np. Rx poniżej czułości odbiornika

Definiują one trzy strefy: normalną (między ostrzeżeniami), ostrzegawczą (między ostrzeżeniem a odpowiadającym mu alarmem) i alarmową (poza alarmem). Zdrowy moduł 10 km może mieć progi Rx w przybliżeniu +0,5 / −2 / −18 / −22 dBm (HA / HW / LW / LA), ale każdy producent ustawia własne.

Gdzie są przechowywane: SFF-8472

Bajty A2h 0–39, dwa bajty na próg, w tych samych jednostkach co wielkości mierzone (Parametry i jednostki):

BajtyParametr (HA, LA, HW, LW)
0–7Temperatura
8–15Vcc
16–23Polaryzacja Tx
24–31Moc Tx
32–39Moc Rx
40–55opcjonalne progi rozszerzone (temperatura lasera, TEC)

Kolejność w każdej grupie to wysoki alarm, niski alarm, wysokie ostrzeżenie, niskie ostrzeżenie.

Flagi: na co faktycznie reaguje host

Bajty A2hZawartość
110stan/sterowanie: stan TX_DISABLE, stan RS0/RS1, TX_FAULT, RX_LOS, data-ready
112–113flagi alarmowe: jeden bit na parametr, wysoki i niski
116–117flagi ostrzegawcze: jeden bit na parametr, wysoki i niski

Moduł ustawia flagę, gdy wartość przekracza swój próg, i czyści ją, gdy wartość wraca do normy. Host, który pokazuje „Rx power low alarm”, po prostu czyta bit 1 bajtu 113, nic więcej. To, czy flagi są w ogóle zaimplementowane, deklaruje bajt 93 bit 7 w A0h.

QSFP i CMIS

Obowiązuje ten sam model, z flagami dla poszczególnych linii:

  • SFF-8636: progi modułu na górnej stronie 03h, bajty 128–175 (temperatura, Vcc), progi kanałów bajty 176–223 (moc Rx, polaryzacja Tx, moc Tx); flagi na dolnej stronie, bajty 3–14 (LOS/fault/LOL w 3–5, alarmy temperatury i Vcc w 6–7, alarmy mocy i polaryzacji dla poszczególnych linii w 9–14).
  • CMIS: progi modułu na stronie 02h, progi linii dalej na tej samej stronie; flagi modułu w dolnych bajtach 8–13, flagi linii na stronie 11h, bajty 134–153.

Zobacz Diagnostyka poszczególnych linii.

Dlaczego „brak alarmu” to nie to samo co „zdrowy”

Progi to opinia producenta modułu o jego własnych granicach, a nie o granicach łącza. Typowe konsekwencje:

  • Hojne progi: moduł, którego niski alarm Rx leży przy −24 dBm, będzie milczał na odbiorniku, który już błądzi przy −20 dBm.
  • Fikcyjny Tx: stała wartość Tx nigdy nie przekroczy progu.
  • Budżet mocy łącza dotyczy zapasu, nie granic: łącze przy −17 dBm z ostrzeżeniem na −18 dBm ma 1 dB zapasu i zawiedzie przy pierwszym zabrudzonym złączu.

Alerty operacyjne powinny więc opierać się na twoich własnych wartościach bazowych i deltach (Monitorowanie), traktując flagi modułu jako zabezpieczenie ostatniej linii.

Edycja progów

Ponieważ progi mieszczą się w pamięci modułu, można je odczytać i nadpisać. Uzasadnione zastosowania: przywrócenie sensownych granic w module zakodowanym zerami, ujednolicenie floty albo zaostrzenie ostrzeżenia, aby dostać wcześniejszy sygnał. Zabezpieczony obszar A2h zwykle wymaga hasła modułu.

W CodingBox

Ekran DDM nanosi progi alarmowe i ostrzegawcze modułu bezpośrednio na wykresy i koloruje wartości według strefy. Bajty progów 0–39 i flagi 112–117 są widoczne i edytowalne w EEPROM editor, a suma kontrolna CC_DMI (bajt 95) jest przeliczana przy zapisie.

Dokładne pozycje bajtów każdego progu, flagi i maski: Mapa A2h SFF-8472, dolna strona SFF-8636 i strona 03h, strona 02h CMIS i strona 11h.


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .