SFF-8472 — diagnostica SFP
SFF-8472, la Diagnostic Monitoring Interface for Optical Transceivers, è la specifica di gestione per ogni modulo di classe SFP: SFP, SFP+, SFP28 e, con codici estesi, SFP56. È nata dal blocco di identificazione seriale dell’MSA SFP (INF-8074), lo ha mantenuto byte per byte e ha aggiunto un secondo dispositivo di memoria con diagnostica in tempo reale. SFP in rame, stick PON, SFP+ DWDM sintonizzabili ed estremità di cavo DAC/AOC si presentano tutti tramite questa specifica. Cronologia delle revisioni e byte di versione: Revisioni della specifica.
Due indirizzi di memoria
Il modulo viene letto tramite l’interfaccia a due fili a due indirizzi di dispositivo:
| Indirizzo | Dispositivo | Contenuto |
|---|---|---|
| A0h | EEPROM di identificazione seriale (256 byte, piatta) | identità: tipo, connettore, codici di conformità, velocità, lunghezze, blocco del produttore, opzioni, checksum |
| A2h | diagnostica (128 byte + metà superiore paginata) | soglie, costanti di calibrazione, monitor in tempo reale, stato/controllo, flag, EEPROM utente, pagine del produttore |
Se A2h esista affatto è dichiarato nel bit 6 del byte 92 di A0h. La velocità predefinita del bus è 100 kHz. Tabelle byte per byte: Guida rapida alla mappa di memoria.
A0h — identità in cinque blocchi
| Byte | Blocco | Cosa contiene |
|---|---|---|
| 0–2 | Tipo | identificatore (03h = famiglia SFP, SFF-8024), identificatore esteso (04h = MOD_DEF 4, ID seriale presente), codice del connettore |
| 3–10 | Codici di conformità | campi di bit per 10G Ethernet, InfiniBand, ESCON, SONET, 1G Ethernet, lunghezza/tecnologia/medio/velocità di Fibre Channel — decodificati in Codici di conformità |
| 11–19 | Segnale e portata | codifica (11), bit rate nominale ×100 Mb/s (12), identificatore di velocità per RS0/RS1 (13, vedi selezione del rate), lunghezze di collegamento: SMF km (14), SMF ×100 m (15), OM2 ×10 m (16), OM1 ×10 m (17), OM4 ×10 m o metri di rame (18), OM3 ×10 m (19) |
| 20–63 | Produttore e checksum | nome del produttore (20–35), codice di conformità esteso da SFF-8024 (36), OUI IEEE (37–39), numero di parte (40–55), revisione (56–59), lunghezza d’onda in nm o conformità/attenuazione del cavo per il rame (60–61), velocità Fibre Channel 2 (62), CC_BASE (63) — vedi Campi del produttore |
| 64–95 | ID esteso | opzioni (64–65), margine max/min del bit rate % (66–67) oppure, quando il byte 12 = FFh, il byte 66 è la velocità in ×250 Mb/s, numero di serie (68–83), codice data (84–91), tipo di diagnostica (92), opzioni avanzate (93), revisione di conformità a SFF-8472 (94), CC_EXT (95) |
| 96–127 | Specifico del produttore | libero per il produttore; spesso contiene configurazione o una firma |
| 128–255 | Riservato | riservato per le tabelle di selezione dell’applicazione di SFF-8079 |
Byte di opzioni 64–65
| Byte.bit | Significato quando impostato |
|---|---|
| 64.5 | dichiarazione di livello di potenza alto — livello 3 (fino a 2,0 W) |
| 64.4 | paginazione implementata — il byte 127 di A2h seleziona le pagine superiori |
| 64.3 | retimer o CDR presente |
| 64.2 | trasmettitore raffreddato |
| 64.1 | livello di potenza 2 (fino a 1,5 W); a 0 = livello 1 (1,0 W) |
| 64.0 | uscita del ricevitore lineare (per esempio 10GBASE-LRM) |
| 65.7 | soglia di decisione del ricevitore implementata |
| 65.6 | trasmettitore sintonizzabile — vedi mappe sintonizzabili |
| 65.5 | RATE_SELECT implementato |
| 65.4 | TX_DISABLE implementato |
| 65.3 | TX_FAULT implementato |
| 65.2 | il segnale LOS è invertito |
| 65.1 | LOS implementato |
Byte 92 — tipo di monitoraggio diagnostico
| Bit | Significato |
|---|---|
| 6 | diagnostica digitale (A2h) implementata |
| 5 | calibrato internamente — i monitor di A2h sono già in unità fisiche |
| 4 | calibrato esternamente — l’host deve applicare le costanti in A2h 56–91 |
| 3 | misura della potenza ricevuta: 1 = potenza media, 0 = OMA |
| 2 | richiesta sequenza di cambio indirizzo prima dell’accesso ad A2h (legacy) |
Esattamente uno dei bit 5 e 4 dovrebbe essere impostato quando il bit 6 è impostato. Cosa significa ciascuna modalità per i valori che vedi: Calibrazione.
Byte 93 — opzioni avanzate
Bit 7 flag di allarme/avviso implementati · 6 controllo soft di TX_DISABLE · 5 monitor soft di TX_FAULT · 4 monitor soft di RX_LOS · 3 RATE_SELECT soft · 2 selezione dell’applicazione secondo SFF-8079 · 1 selezione del rate soft secondo SFF-8431.
A2h — diagnostica in nove blocchi
| Byte | Blocco | Note |
|---|---|---|
| 0–39 | Soglie di allarme e avviso | cinque monitor × (allarme alto, allarme basso, avviso alto, avviso basso), 2 byte ciascuna, stesso formato del valore in tempo reale — soglie e allarmi |
| 40–55 | Soglie opzionali | temperatura del laser e corrente TEC (moduli raffreddati/sintonizzabili) |
| 56–91 | Costanti di calibrazione | Rx_PWR(4..0) come float a 32 bit, pendenza e offset di Tx_I / Tx_PWR / T / V; significative solo quando il bit 4 del byte 92 è impostato |
| 92–94 | Riservato | — |
| 95 | CC_DMI | checksum dei byte 0–94 di A2h — Checksum |
| 96–105 | Monitor in tempo reale | temperatura (96–97), Vcc (98–99), bias Tx (100–101), potenza Tx (102–103), potenza Rx (104–105) |
| 106–109 | Monitor opzionali | temperatura del laser, corrente TEC |
| 110–118 | Stato e controllo | byte 110 (sotto), flag di allarme 112–113, flag di avviso 116–117, stato/controllo esteso 118 (RS1 soft, stato e selezione del livello di potenza) |
| 119–126 | Specifico del produttore | in pratica l’area di inserimento password su molti moduli basati su controller (123–126) — vedi tipi di protezione in scrittura |
| 127 | Selezione pagina | presente quando il bit 4 del byte 64 di A0h è impostato |
| 128–255 | Pagine superiori | pagina 00h/01h: EEPROM utente (128–247) e controllo del produttore (248–255); pagina 02h: funzioni di controllo, sede dei registri sintonizzabili di SFF-8690; le altre pagine sono specifiche del produttore |
Formati dei monitor
| Misura | Formato | Unità |
|---|---|---|
| Temperatura | con segno a 16 bit | 1/256 °C |
| Vcc | senza segno a 16 bit | 100 µV |
| Bias Tx | senza segno a 16 bit | 2 µA |
| Potenza Tx, potenza Rx | senza segno a 16 bit | 0,1 µW (converti in dBm: 10·log10(µW/1000)) |
Conversioni ed esempi svolti: Unità e conversioni.
Byte 110 — stato/controllo
| Bit | Significato | Accesso |
|---|---|---|
| 7 | stato del pin TX_DISABLE | lettura |
| 6 | TX_DISABLE soft | lettura/scrittura (se bit 6 del byte 93) |
| 5 | stato del pin RS1 | lettura |
| 4 | stato del pin RS0 (selezione del rate) | lettura |
| 3 | selezione soft di RS0 | lettura/scrittura |
| 2 | stato di TX_FAULT | lettura |
| 1 | stato di RX_LOS | lettura |
| 0 | dati non pronti (1 mentre i monitor si stanno ancora inizializzando) | lettura |
Particolarità di rame e cavo
Per il rame passivo e attivo (DAC), i byte 60–61 non contengono una lunghezza d’onda: per il cavo passivo il byte 60 segnala la conformità all’appendice E di SFF-8431; per il cavo attivo i bit indicano la conformità limiting o lineare di FC-PI-4 / SFF-8431. I bit 2–3 del byte 8 indicano la tecnologia di cavo passivo/attivo e il byte 18 porta la lunghezza in metri. Dettagli: Ethernet in rame e DAC.
Cosa legge davvero l’host
Uno switch tipico legge i byte 0–95 di A0h all’inserimento, verifica CC_BASE e CC_EXT, decodifica l’identificatore, il connettore, i codici di conformità e la velocità, confronta il blocco del produttore con la propria policy, e solo allora interroga A2h per il DDM — di norma ogni pochi secondi. La sequenza completa e le sue tempistiche: Cosa fa l’host. I disallineamenti tra questi campi e l’ottica reale sono all’origine della maggior parte dei ticket di velocità e rate e di blocco del produttore.
In CodingBox
CodingBox legge sia A0h sia A2h (inclusa la A2h paginata quando dichiarata), etichetta ogni campo delle tabelle sopra nell’EEPROM editor, ricalcola CC_BASE, CC_EXT e CC_DMI in scrittura, applica la calibrazione interna o esterna nella schermata DDM e mostra l’identità decodificata su Check transceiver.
Tabelle byte per byte e bit per bit di entrambi i dispositivi: Mappa dei registri A0h, Mappa dei registri A2h.