SFF-8472: Registerkarte A2h
Das Diagnosegerät an der Zweidraht-Adresse A2h enthält alles, was sich während des Betriebs eines Moduls der SFP-Klasse ändert: Alarm- und Warnschwellwerte, Kalibrierungskonstanten, Live-Monitore, Status- und Steuerbits, gelatchte Flags, Anwender-EEPROM und die Herstellerseiten. Diese Seite listet die unteren 128 Bytes Byte für Byte sowie das Layout der oberen Seiten auf, zusammengestellt nach SFF-8472 Rev. 12.4. Erzählend: SFF-8472, Schwellwerte & Alarme, Kalibrierung.
Legende: rsvd = reserviert · opt = optional, nur implementiert, wenn das entsprechende A0h-Optionsbit gesetzt ist · alle 16-Bit-Werte sind big-endian (niedrigere Byte-Adresse = MSB).
Monitor-Formate (verwendet von Schwellwerten, Monitoren und Konstanten)
| Monitor | Format | LSB | Bereich |
|---|---|---|---|
| Temperatur | vorzeichenbehaftet 16-Bit Zweierkomplement | 1/256 °C | −128 … +128 °C |
| Vcc | vorzeichenlos 16-Bit | 100 µV | 0 … 6,55 V |
| Tx-Bias | vorzeichenlos 16-Bit | 2 µA | 0 … 131 mA |
| Tx-Leistung / Rx-Leistung | vorzeichenlos 16-Bit | 0,1 µW | 0 … 6,55 mW (−40 … +8,2 dBm) |
| Laser-Temperatur (opt) | vorzeichenbehaftet 16-Bit | 1/256 °C | wie Temperatur |
| TEC-Strom (opt) | vorzeichenbehaftet 16-Bit | 0,1 mA | ±3,2 A; positiv = Heizen |
Alarm- und Warnschwellwerte — Bytes 0–55
| Bytes | Feld | Bytes | Feld |
|---|---|---|---|
| 0–1 | Temperatur, Alarm hoch | 2–3 | Temperatur, Alarm niedrig |
| 4–5 | Temperatur, Warnung hoch | 6–7 | Temperatur, Warnung niedrig |
| 8–9 | Vcc, Alarm hoch | 10–11 | Vcc, Alarm niedrig |
| 12–13 | Vcc, Warnung hoch | 14–15 | Vcc, Warnung niedrig |
| 16–17 | Tx-Bias, Alarm hoch | 18–19 | Tx-Bias, Alarm niedrig |
| 20–21 | Tx-Bias, Warnung hoch | 22–23 | Tx-Bias, Warnung niedrig |
| 24–25 | Tx-Leistung, Alarm hoch | 26–27 | Tx-Leistung, Alarm niedrig |
| 28–29 | Tx-Leistung, Warnung hoch | 30–31 | Tx-Leistung, Warnung niedrig |
| 32–33 | Rx-Leistung, Alarm hoch | 34–35 | Rx-Leistung, Alarm niedrig |
| 36–37 | Rx-Leistung, Warnung hoch | 38–39 | Rx-Leistung, Warnung niedrig |
| 40–41 | Lasertemperatur / Wellenlänge, Alarm hoch (opt) | 42–43 | … Alarm niedrig (opt) |
| 44–45 | … Warnung hoch (opt) | 46–47 | … Warnung niedrig (opt) |
| 48–49 | TEC-Strom, Alarm hoch (opt) | 50–51 | TEC-Strom, Alarm niedrig (opt) |
| 52–53 | TEC-Strom, Warnung hoch (opt) | 54–55 | TEC-Strom, Warnung niedrig (opt) |
Schwellwerte verwenden dasselbe Format wie der Monitor, den sie begrenzen; bei extern kalibrierten Modulen liegen sie in Rohwert-Einheiten vor und werden mit den folgenden Konstanten umgerechnet.
Externe Kalibrierungskonstanten — Bytes 56–91
Vorhanden und aussagekräftig nur, wenn A0h Byte 92 Bit 4 (extern kalibriert) gesetzt ist.
| Bytes | Konstante | Format | Verwendung als |
|---|---|---|---|
| 56–59 | Rx_PWR(4) | IEEE-754 Single Float | Rx_power = Σ Rx_PWR(i) × raw^i, i = 4…0 |
| 60–63 | Rx_PWR(3) | Float | (typischerweise 0) |
| 64–67 | Rx_PWR(2) | Float | (typischerweise 0) |
| 68–71 | Rx_PWR(1) | Float | Steigung (typischerweise 1,0 für internes Verhalten) |
| 72–75 | Rx_PWR(0) | Float | Offset |
| 76–77 | Tx_I(slope) | vorzeichenlos 16-Bit, LSB 1/256 | Tx_bias = slope × raw + offset |
| 78–79 | Tx_I(offset) | vorzeichenbehaftet 16-Bit | — |
| 80–81 | Tx_PWR(slope) | vorzeichenlos 16-Bit, LSB 1/256 | Tx_power = slope × raw + offset |
| 82–83 | Tx_PWR(offset) | vorzeichenbehaftet 16-Bit | — |
| 84–85 | T(slope) | vorzeichenlos 16-Bit, LSB 1/256 | Temperature = slope × raw + offset |
| 86–87 | T(offset) | vorzeichenbehaftet 16-Bit | — |
| 88–89 | V(slope) | vorzeichenlos 16-Bit, LSB 1/256 | Vcc = slope × raw + offset |
| 90–91 | V(offset) | vorzeichenbehaftet 16-Bit | — |
| 92–94 | rsvd | — | — |
| 95 | CC_DMI | (Σ Bytes 0–94) mod 256 | Prüfsummen |
Echtzeitmonitore — Bytes 96–109
| Bytes | Messwert | Hinweise |
|---|---|---|
| 96–97 | Temperatur | modulintern |
| 98–99 | Vcc | Versorgung im Modul |
| 100–101 | Tx-Bias | Laser-Biasstrom |
| 102–103 | Tx-Leistung | von der Monitor-Photodiode |
| 104–105 | Rx-Leistung | Durchschnitt (A0h 92.3 = 1) oder OMA |
| 106–107 | Lasertemperatur oder Wellenlänge (opt) | Temperaturformat, oder Wellenlänge in Einheiten von 0,05 nm für durchstimmbare Module nach SFF-8690 |
| 108–109 | TEC-Strom (opt) | vorzeichenbehaftet, 0,1 mA |
Status und Steuerung — Bytes 110–127
| Byte | Feld | Bits |
|---|---|---|
| 110 | Status/Steuerung | 7 TX_DISABLE-Zustand (Pin oder Soft) · 6 Soft-TX_DISABLE (R/W, falls A0h 93.6) · 5 RS1-Zustand · 4 RS0-/Rate-Select-Zustand · 3 Soft-RS0-Select (R/W, falls 93.3) · 2 TX_FAULT-Zustand · 1 RX_LOS-Zustand · 0 Daten nicht bereit (1, solange Monitore initialisieren) |
| 111 | rsvd | reserviert für SFF-8079 |
| 112 | Alarm-Flags | 7 Temp hoch · 6 Temp niedrig · 5 Vcc hoch · 4 Vcc niedrig · 3 Tx-Bias hoch · 2 Tx-Bias niedrig · 1 Tx-Leistung hoch · 0 Tx-Leistung niedrig |
| 113 | Alarm-Flags | 7 Rx-Leistung hoch · 6 Rx-Leistung niedrig · 5 Lasertemp/Wellenlänge hoch (opt) · 4 … niedrig (opt) · 3 TEC-Strom hoch (opt) · 2 TEC-Strom niedrig (opt) · 1–0 rsvd |
| 114 | Tx-Eingangs-EQ / Rx-Ausgangs-Emphasis-Steuerung (opt) | Bits 7–4 Tx-Eingangs-Entzerrungspegel, 3–0 Rx-Ausgangs-Emphasis-Pegel (aktive Kabel, SFF-8431); sonst rsvd |
| 115 | rsvd | — |
| 116 | Warn-Flags | gleiches Layout wie Byte 112 (Temp, Vcc, Tx-Bias, Tx-Leistung hoch/niedrig) |
| 117 | Warn-Flags | gleiches Layout wie Byte 113 (Rx-Leistung, Lasertemp, TEC-Strom) |
| 118 | Erweiterter Status/Steuerung | 7–4 rsvd · 3 Soft-RS1-Select (R/W) · 2 Leistungspegel-Betriebszustand (1 = Level 2/3 aktiv) · 1 Leistungspegel-Select (1 schreiben, um Level 2 anzufordern) · 0 Leistungspegel-3-Select rev 12.3 |
| 119–122 | Herstellerspezifisch | häufig Bereich für Passwortänderung bei controllerbasierten Modulen |
| 123–126 | Herstellerspezifisch | häufig Bereich für Passworteingabe (z. B. 00 00 10 11 als Vorgabe bei manchen Controllern) — Schreibschutzarten |
| 127 | Seitenauswahl | wählt die obere Seite (128–255), wenn A0h Byte 64 Bit 4 gesetzt ist; 00h Standard |
Flags in 112–117 sind gelatcht: Sie bleiben gesetzt, bis sie gelesen werden, und der Host löscht sie durch Lesen. Alarm- und Warn-Flags sind nur implementiert, wenn A0h Byte 93 Bit 7 gesetzt ist.
Obere Seiten — Bytes 128–255 über Byte 127
| Seite | Bytes | Inhalt |
|---|---|---|
| 00h / 01h | 128–247 | Anwender-EEPROM — 120 Bytes frei für Host oder Hersteller (Seite 01h ist in den meisten Implementierungen ein Alias von 00h) |
| 00h / 01h | 248–255 | Herstellersteuerung — herstellerspezifische Steuerfunktionen |
| 02h | 128–255 | Steuerfunktionen — SFF-8690 Tuning-Register: 128–129 Dither-Steuerung · 130–131 Tuning-Fähigkeits-Flags · 132–133 erste Frequenz THz · 134–135 erste Frequenz GHz ×0,1 · 136–137 letzte Frequenz THz · 138–139 … GHz · 140–141 Rasterabstand GHz ×0,1 · 144–145 Kanalnummer setzen · 146–147 Wellenlänge setzen ×0,05 nm · 152 Tx-Dither-/Wellenlängensteuerung · 168–169 Frequenzfehler GHz ×0,1 · 170–171 Wellenlängenfehler nm ×0,005 · 172 Tuning-Status (Bits: Tx-Tuning läuft, Wellenlänge entriegelt, Tuning-Fehler) · 173–175 gelatchter Status/Flags |
| 03h–7Fh | — | reserviert |
| 80h–FFh | — | herstellerspezifisch |
Dekodierbeispiel
A2h Bytes 96–105 lauten 1A 80 80 E8 1B 58 0F A0 03 E8 bei einem intern kalibrierten Modul: Temperatur 0x1A80 / 256 = 26,5 °C; Vcc 0x80E8 × 100 µV = 3,300 V; Bias 0x1B58 × 2 µA = 14,0 mA; Tx 0x0FA0 × 0,1 µW = 400 µW = −3,98 dBm; Rx 0x03E8 × 0,1 µW = 100 µW = −10,0 dBm. Byte 110 = 00 → Tx aktiviert, kein Fault, kein LOS, Daten bereit; 112–117 alle 00 → keine Flags. Schritt für Schritt mit Tools: DDM mit Tools auslesen.
Verwandte Speicherbelegungen
- SFF-8472-A0h-Speicherbelegung — Identitätsblock.
- SFF-8636 Lower Page 00h — das QSFP-Äquivalent (Monitore, Flags, Steuerungen).
- CMIS Lower Page — das CMIS-Äquivalent.