Soglie, allarmi e flag
Un modulo non si limita a riportare i valori — porta con sé anche i limiti con cui quei valori vengono giudicati, e alza dei flag quando un limite viene superato. Lo switch legge tutto questo dalla memoria del modulo; non ne inventa nulla. Per questo due moduli dall’aspetto identico possono comportarsi diversamente sullo stesso collegamento.
Quattro soglie per parametro
Ogni parametro DDM ha quattro limiti programmati in fabbrica:
| Soglia | Significato |
|---|---|
| Allarme alto | valore sopra questo → il modulo potrebbe essere guasto o il collegamento inutilizzabile |
| Avviso alto | in avvicinamento al limite alto |
| Avviso basso | in avvicinamento al limite basso |
| Allarme basso | valore sotto questo → ad es. Rx sotto la sensibilità del ricevitore |
Definiscono tre zone: normale (tra gli avvisi), avviso (tra un avviso e l’allarme corrispondente) e allarme (oltre un allarme). Un modulo sano da 10 km potrebbe uscire di fabbrica con soglie Rx di circa +0,5 / −2 / −18 / −22 dBm (HA / HW / LW / LA) — ma ogni produttore imposta le proprie.
Dove sono memorizzate — SFF-8472
Byte A2h 0–39, due byte per soglia, stesse unità dei monitor (Parametri e unità):
| Byte | Parametro (HA, LA, HW, LW) |
|---|---|
| 0–7 | Temperatura |
| 8–15 | Vcc |
| 16–23 | Bias Tx |
| 24–31 | Potenza Tx |
| 32–39 | Potenza Rx |
| 40–55 | soglie estese opzionali (temperatura laser, TEC) |
L’ordine all’interno di ogni gruppo è allarme alto, allarme basso, avviso alto, avviso basso.
Flag — su cosa agisce davvero l’host
| Byte A2h | Contenuto |
|---|---|
| 110 | stato/controllo: stato TX_DISABLE, stato RS0/RS1, TX_FAULT, RX_LOS, data-ready |
| 112–113 | flag di allarme — un bit per parametro, alto e basso |
| 116–117 | flag di avviso — un bit per parametro, alto e basso |
Il modulo imposta un flag quando un valore supera la sua soglia e lo azzera quando rientra. Un host che mostra «allarme basso di potenza Rx» sta semplicemente leggendo il bit 1 del byte 113 — nient’altro. Se i flag siano implementati o meno è dichiarato in A0h byte 93 bit 7.
QSFP e CMIS
Si applica lo stesso modello, con flag per lane:
- SFF-8636 — soglie del modulo sulla pagina superiore 03h byte 128–175 (temperatura, Vcc), soglie di canale byte 176–223 (potenza Rx, bias Tx, potenza Tx); flag nella pagina inferiore byte 3–14 (LOS/fault/LOL in 3–5, allarmi di temperatura e Vcc in 6–7, allarmi di potenza e bias per lane in 9–14).
- CMIS — soglie del modulo sulla pagina 02h, soglie di lane più avanti sulla stessa pagina; flag del modulo nei byte inferiori 8–13, flag di lane sulla pagina 11h byte 134–153.
Vedi Diagnostica per lane.
Perché «nessun allarme» non è «sano»
Le soglie sono l’opinione del produttore del modulo sui propri limiti, non su quelli del collegamento. Conseguenze comuni:
- Soglie generose — un modulo il cui allarme Rx basso è a −24 dBm resterà silenzioso su un ricevitore che già commette errori a −20 dBm.
- Tx fittizio — un valore Tx costante non può mai superare una soglia.
- Il bilancio di potenza riguarda il margine, non i limiti: un collegamento a −17 dBm con un avviso a −18 dBm ha 1 dB di margine e fallirà al primo connettore sporco.
Gli avvisi operativi dovrebbero quindi usare le tue baseline e i tuoi delta (Monitoraggio), con i flag del modulo come rete di sicurezza.
Modificare le soglie
Poiché le soglie vivono nella memoria del modulo, possono essere lette e riscritte. Usi legittimi: ripristinare limiti sensati su un modulo codificato a zero, allineare una flotta, o impostare un avviso più stretto per un preavviso più anticipato. L’area protetta di A2h normalmente richiede la password del modulo.
In CodingBox
La schermata DDM disegna le soglie di allarme e avviso del modulo direttamente sui grafici e colora i valori per zona. I byte delle soglie 0–39 e i flag 112–117 sono visibili e modificabili nell’EEPROM editor, con il checksum CC_DMI (byte 95) ricalcolato alla scrittura.
Posizioni esatte in byte di ogni soglia, flag e maschera: Mappa A2h SFF-8472, Pagina inferiore SFF-8636 e pagina 03h, CMIS pagina 02h e pagina 11h.