SFF-8472 — SFP-diagnostiek
SFF-8472, de Diagnostic Monitoring Interface for Optical Transceivers, is de beheerspecificatie voor elke SFP-klassemodule: SFP, SFP+, SFP28 en, met uitgebreide codes, SFP56. De specificatie ontstond uit het Serial ID-blok van de SFP MSA (INF-8074), behield dat blok byte voor byte en voegde een tweede geheugenapparaat met realtimediagnostiek toe. Koperen SFP’s, PON-sticks, afstembare DWDM SFP+ en DAC/AOC-kabeluiteinden presenteren zich allemaal via deze specificatie. Revisiegeschiedenis en de versiebyte: Specificatierevisies.
Twee geheugenadressen
De module wordt gelezen via de tweedraadsinterface op twee apparaatadressen:
| Adres | Apparaat | Inhoud |
|---|---|---|
| A0h | Serial ID EEPROM (256 bytes, vlak) | identiteit: type, connector, conformiteitscodes, snelheid, lengtes, fabrikantblok, opties, checksums |
| A2h | diagnostiek (128 bytes + gepagineerde bovenste helft) | drempels, kalibratieconstanten, actuele metingen, status/besturing, vlaggen, gebruikers-EEPROM, fabrikantpagina’s |
Of A2h überhaupt bestaat, staat in A0h byte 92 bit 6. De standaardbussnelheid is 100 kHz. Tabellen per byte: Beknopt overzicht geheugenindeling.
A0h — identiteit in vijf blokken
| Bytes | Blok | Inhoud |
|---|---|---|
| 0–2 | Type | identifier (03h = SFP-familie, SFF-8024), uitgebreide identifier (04h = MOD_DEF 4, Serial ID aanwezig), connectorcode |
| 3–10 | Conformiteitscodes | bitvelden voor 10G Ethernet, InfiniBand, ESCON, SONET, 1G Ethernet, Fibre Channel-lengte / technologie / media / snelheid — gedecodeerd in Conformiteitscodes |
| 11–19 | Signaal & bereik | codering (11), nominale bitsnelheid ×100 Mb/s (12), snelheidsidentifier voor RS0/RS1 (13, zie rate select), linklengtes: SMF km (14), SMF ×100 m (15), OM2 ×10 m (16), OM1 ×10 m (17), OM4 ×10 m of koperlengte in meters (18), OM3 ×10 m (19) |
| 20–63 | Fabrikant & checksum | fabrikantnaam (20–35), uitgebreide conformiteitscode uit SFF-8024 (36), IEEE OUI (37–39), artikelnummer (40–55), revisie (56–59), golflengte in nm of kabelconformiteit/demping voor koper (60–61), Fibre Channel-snelheid 2 (62), CC_BASE (63) — zie Fabrikantvelden |
| 64–95 | Uitgebreide ID | opties (64–65), max./min. bitsnelheidsmarge % (66–67) of, wanneer byte 12 = FFh, is byte 66 de snelheid in ×250 Mb/s, serienummer (68–83), datumcode (84–91), type diagnostiek (92), uitgebreide opties (93), SFF-8472-conformiteitsrevisie (94), CC_EXT (95) |
| 96–127 | Fabrikantspecifiek | vrij voor de fabrikant; bevat vaak configuratie of een handtekening |
| 128–255 | Gereserveerd | gereserveerd voor SFF-8079-toepassingsselectietabellen |
Optiebytes 64–65
| Byte.bit | Betekenis indien ingesteld |
|---|---|
| 64.5 | verklaring voor hoog vermogensniveau — niveau 3 (tot 2,0 W) |
| 64.4 | paging geïmplementeerd — A2h byte 127 selecteert bovenste pagina's |
| 64.3 | retimer of CDR aanwezig |
| 64.2 | gekoelde zender |
| 64.1 | vermogensniveau 2 (tot 1,5 W); niet ingesteld = niveau 1 (1,0 W) |
| 64.0 | lineaire ontvangeruitvoer (bijvoorbeeld 10GBASE-LRM) |
| 65.7 | beslissingsdrempel voor de ontvanger geïmplementeerd |
| 65.6 | afstembare zender — zie afstembare indelingen |
| 65.5 | RATE_SELECT geïmplementeerd |
| 65.4 | TX_DISABLE geïmplementeerd |
| 65.3 | TX_FAULT geïmplementeerd |
| 65.2 | LOS-signaal is geïnverteerd |
| 65.1 | LOS geïmplementeerd |
Byte 92 — type digitale diagnostiek
| Bit | Betekenis |
|---|---|
| 6 | digitale diagnostiek (A2h) geïmplementeerd |
| 5 | intern gekalibreerd — A2h-metingen zijn al in fysieke eenheden |
| 4 | extern gekalibreerd — host moet de constanten bij A2h 56–91 toepassen |
| 3 | meting ontvangen vermogen: 1 = gemiddeld vermogen, 0 = OMA |
| 2 | adreswijzigingsreeks vereist vóór toegang tot A2h (verouderd) |
Precies één van bits 5 en 4 hoort te zijn ingesteld wanneer bit 6 is ingesteld. Wat elke modus voor de getallen betekent die u ziet: Kalibratie.
Byte 93 — uitgebreide opties
Bit 7 alarm-/waarschuwingsvlaggen geïmplementeerd · 6 softwarematige TX_DISABLE-besturing · 5 softwarematige TX_FAULT-monitor · 4 softwarematige RX_LOS-monitor · 3 softwarematige RATE_SELECT · 2 toepassingsselectie volgens SFF-8079 · 1 softwarematige snelheidsselectie volgens SFF-8431.
A2h — diagnostiek in negen blokken
| Bytes | Blok | Opmerkingen |
|---|---|---|
| 0–39 | Alarm- & waarschuwingsdrempels | vijf metingen × (hoog alarm, laag alarm, hoge waarschuwing, lage waarschuwing), elk 2 bytes, hetzelfde formaat als de actuele waarde — drempels & alarmen |
| 40–55 | Optionele drempels | lasertemperatuur en TEC-stroom (gekoelde/afstembare modules) |
| 56–91 | Kalibratieconstanten | Rx_PWR(4..0) als 32-bits floats, helling en offset voor Tx_I / Tx_PWR / T / V; alleen betekenisvol wanneer byte 92 bit 4 is ingesteld |
| 92–94 | Gereserveerd | — |
| 95 | CC_DMI | checksum van A2h bytes 0–94 — Checksums |
| 96–105 | Realtime metingen | temperatuur (96–97), Vcc (98–99), Tx bias (100–101), Tx-vermogen (102–103), Rx-vermogen (104–105) |
| 106–109 | Optionele metingen | lasertemperatuur, TEC-stroom |
| 110–118 | Status & besturing | byte 110 (hieronder), alarmvlaggen 112–113, waarschuwingsvlaggen 116–117, uitgebreide status/besturing 118 (softwarematige RS1, status en selectie van het vermogensniveau) |
| 119–126 | Fabrikantspecifiek | in de praktijk het gebied voor wachtwoordinvoer op veel modules met een controller (123–126) — zie typen schrijfbeveiliging |
| 127 | Paginaselectie | aanwezig wanneer A0h byte 64 bit 4 is ingesteld |
| 128–255 | Bovenste pagina's | pagina 00h/01h: gebruikers-EEPROM (128–247) en fabrikantbesturing (248–255); pagina 02h: besturingsfuncties, locatie van de SFF-8690 afstembare registers; overige pagina's fabrikantspecifiek |
Meetformaten
| Monitor | Indeling | Eenheid |
|---|---|---|
| Temperatuur | 16-bit met rekenkundig teken | 1/256 °C |
| Vcc | 16-bit zonder teken | 100 µV |
| Tx bias | 16-bit zonder teken | 2 µA |
| Tx-vermogen, Rx-vermogen | 16-bit zonder teken | 0,1 µW (omzetten naar dBm: 10·log10(µW/1000)) |
Omzettingen en uitgewerkte voorbeelden: Eenheden & omzettingen.
Byte 110 — status/besturing
| Bit | Betekenis | Toegang |
|---|---|---|
| 7 | status TX_DISABLE-pin | lezen |
| 6 | softwarematige TX_DISABLE | lezen/schrijven (indien byte 93 bit 6) |
| 5 | status RS1-pin | lezen |
| 4 | status RS0-pin (rate select) | lezen |
| 3 | softwarematige RS0-selectie | lezen/schrijven |
| 2 | status TX_FAULT | lezen |
| 1 | status RX_LOS | lezen |
| 0 | gegevens niet gereed (1 terwijl metingen nog initialiseren) | lezen |
Bijzonderheden voor koper en kabels
Voor passief en actief koper (DAC) bevatten bytes 60–61 geen golflengte: voor een passieve kabel markeert byte 60 conformiteit met SFF-8431 Appendix E; voor een actieve kabel markeren bits conformiteit met FC-PI-4 / SFF-8431-begrenzing of lineaire conformiteit. Byte 8 bits 2–3 markeren passieve/actieve kabeltechnologie en byte 18 bevat de lengte in meters. Details: Koperen Ethernet & DAC.
Wat hosts daadwerkelijk lezen
Een typische switch leest A0h bytes 0–95 bij het insteken, verifieert CC_BASE en CC_EXT, decodeert identifier, connector, conformiteitscodes en snelheid, vergelijkt het fabrikantblok met zijn beleid en bevraagt pas dan A2h voor DDM, doorgaans om de paar seconden. De volledige reeks en tijdstippen: Wat de host doet. Verschillen tussen deze velden en de werkelijke optische module veroorzaken de meeste meldingen over snelheid & rate en fabrikantvergrendeling.
In CodingBox
CodingBox leest zowel A0h als A2h (inclusief gepagineerde A2h wanneer die is gedeclareerd), benoemt elk veld uit de bovenstaande tabellen in de EEPROM editor, herberekent CC_BASE, CC_EXT en CC_DMI bij schrijven, past interne of externe kalibratie toe in DDM en toont de gedecodeerde identiteit in Check transceiver.
Tabellen per byte en bit van beide apparaten: A0h-registerkaart, A2h-registerkaart.