CMIS: Registerkarte, Lane-Seiten (10h, 11h, VDM, CDB)
Alles Lane-bezogene in einem CMIS-Modul liegt in gebankten Pages: Bank b (Lower Byte 126) deckt die Lanes 8b+1 … 8b+8 ab. Auf Page 10h schreibt der Host — Data-Path-Initialisierung, Tx Disable, Polarität, Squelch, Equalisierung und die Staged Control Sets, die Applikationen auswählen; Page 11h ist, wo er zurückliest — Data-Path-Zustände, Flags pro Lane, Monitore, Konfigurationsstatus und das aktive Control Set. Pages 20h–2Fh enthalten VDM und 9Fh die CDB-Mailbox. Diese Seite listet die wichtigsten Bytes, zusammengestellt anhand von CMIS 5.x (die Byte-Positionen einiger Signal-Integrity-Felder unterscheiden sich zwischen 4.x und 5.x; diese werden als Bereiche angegeben). Erläuterung: CMIS.
Legende: Bytes pro Lane verwenden Bit n−1 für Lane n (Bit 0 = Lane 1 … Bit 7 = Lane 8); Nibble-Felder verwenden Bit 7–4 für die ungerade Lane und 3–0 für die gerade Lane jedes Paars, sofern nicht anders angegeben · rsvd = reserviert.
Page 10h — Lane-Steuerung (Host schreibt)
| Byte | Feld | Bits / Inhalt |
|---|---|---|
| 128 | DPDeinitLane | Bit pro Lane: 1 = deinitialisieren (versetzt den Data Path der Lane in DPDeactivated) |
| 129 | rsvd | — |
| 130 | OutputDisableTx | Bit pro Lane: 1 = Tx-Ausgang (Laser) aus |
| 131 | PolarityFlipTx | Bit pro Lane: Tx-Eingangssignal invertieren |
| 132 | SquelchDisableTx | Bit pro Lane: 1 = automatisches Tx-Squelch deaktivieren |
| 133 | ForceSquelchTx | Bit pro Lane: 1 = Tx-Squelch erzwingen |
| 134 | rsvd | — |
| 135 | AdaptiveInputEqEnableTx | Bit pro Lane: 1 = adaptive hostseitige Eingangsequalisierung |
| 136 | AdaptiveInputEqRecallTx | Bit pro Lane: gespeicherte EQ-Einstellung abrufen (4.x: einfrieren) |
| 137 | rsvd | — |
| 138–141 | FixedInputEqTargetTx | Nibble pro Lane (138: Lanes 1–2 … 141: Lanes 7–8): fester Eingangs-EQ-Code 0–15 |
| 142 | rsvd | — |
| 143 | ApplyDPInitLane | Bit pro Lane: 1 = Staged Control Set 0 anwenden und DPInit ausführen |
| 144 | ApplyImmediateLane | Bit pro Lane: SCS0 anwenden, ohne den Data Path neu zu initialisieren |
| 145–152 | Staged Control Set 0 — Data-Path-Konfiguration | ein Byte pro Lane (145 = Lane 1 … 152 = Lane 8): Bit 7–4 AppSelCode (1–15 = Deskriptor-Index, 0 = keiner) · 3–1 DataPathID (erste Host-Lane des Data Path − 1) · 0 ExplicitControl (1 = die SI-Einstellungen unten statt der Applikationsvorgaben verwenden) |
| 153 | SCS0 AdaptiveInputEqEnableTx | Bit pro Lane |
| 154 | SCS0 AdaptiveInputEqRecallTx | Bit pro Lane |
| 155 | rsvd | — |
| 156–159 | SCS0 FixedInputEqTargetTx | Nibble pro Lane |
| 160 | SCS0 CDREnableTx | Bit pro Lane: 1 = Tx-CDR ein, 0 = Bypass |
| 161 | SCS0 CDREnableRx | Bit pro Lane |
| 162–165 | SCS0 OutputEqPreCursorTargetRx | Nibble pro Lane |
| 166–169 | SCS0 OutputEqPostCursorTargetRx | Nibble pro Lane |
| 170–173 | SCS0 OutputAmplitudeTargetRx | Nibble pro Lane |
| 174–177 | rsvd | — |
| 178–210 | Staged Control Set 1 | gleiches Layout wie 145–177 (178–185 Data-Path-Konfiguration, 186–210 SI-Zielwerte) |
| 211–255 | Rx-Ausgangssteuerungen und Masken | OutputDisableRx, PolarityFlipRx, SquelchDisableRx pro Lane; Flag-Masken für Page 11h (Byte-Positionen je Revision) |
Ablauf der Auswahl: 145–152 schreiben → 143 für die Lanes setzen → Page 11h 202–205 auf ConfigStatus pollen → 128–131 für den Data-Path-Zustand lesen — CMIS, Geschwindigkeit & Rate.
Page 11h — Lane-Status (Host liest)
| Byte | Feld | Bits / Inhalt |
|---|---|---|
| 128 | DPStateHostLane 1–2 | 3–0 Zustand Lane 1 · 7–4 Zustand Lane 2 (Codetabelle unten) |
| 129 | DPStateHostLane 3–4 | wie oben |
| 130 | DPStateHostLane 5–6 | — |
| 131 | DPStateHostLane 7–8 | — |
| 132–133 | rsvd | — |
| 134 | DPStateChangedFlag | Bit pro Lane; gelatcht |
| 135 | TxFaultFlag | Bit pro Lane |
| 136 | TxLOSFlag | Bit pro Lane (hostseitiges Eingangs-LOS) |
| 137 | TxCDRLOLFlag | Bit pro Lane |
| 138 | TxAdaptiveInputEqFailFlag | Bit pro Lane |
| 139 | Tx-Leistung High-Alarm | Bit pro Lane |
| 140 | Tx-Leistung Low-Alarm | — |
| 141 | Tx-Leistung High-Warnung | — |
| 142 | Tx-Leistung Low-Warnung | — |
| 143 | Tx-Bias High-Alarm | — |
| 144 | Tx-Bias Low-Alarm | — |
| 145 | Tx-Bias High-Warnung | — |
| 146 | Tx-Bias Low-Warnung | — |
| 147 | RxLOSFlag | Bit pro Lane (medienseitiges LOS) |
| 148 | RxCDRLOLFlag | Bit pro Lane |
| 149 | Rx-Leistung High-Alarm | — |
| 150 | Rx-Leistung Low-Alarm | — |
| 151 | Rx-Leistung High-Warnung | — |
| 152 | Rx-Leistung Low-Warnung | — |
| 153 | OutputStatusRx | Bit pro Lane: 1 = Rx-Ausgang aktiviert/gültig |
| 154–169 | Tx-Leistungsmonitore | 2 Byte pro Lane (154–155 Lane 1 … 168–169 Lane 8), vorzeichenlos, 0,1 µW |
| 170–185 | Tx-Bias-Monitore | 2 Byte pro Lane, 2 µA × Multiplikator |
| 186–201 | Rx-Leistungsmonitore | 2 Byte pro Lane, 0,1 µW |
| 202 | ConfigStatus Lanes 1–2 | 3–0 Lane 1 · 7–4 Lane 2 (Codetabelle unten) |
| 203 | ConfigStatus Lanes 3–4 | — |
| 204 | ConfigStatus Lanes 5–6 | — |
| 205 | ConfigStatus Lanes 7–8 | — |
| 206–213 | Active Control Set — Data-Path-Konfiguration | ein Byte pro Lane, gleiches Layout wie Page 10h 145–152: die tatsächlich geltende Konfiguration |
| 214–234 | Active Control Set — SI-Einstellungen | adaptives EQ Enable/Recall, festes EQ, CDR Tx/Rx, Rx Pre-/Post-Cursor, Rx-Amplitude — Spiegelbild des SCS-Layouts |
| 235 | DPInitPending | Bit pro Lane: 1 = eine staged Konfiguration wartet auf ApplyDPInit |
| 236–255 | rsvd / Flags je Revision | — |
Data-Path-Zustandscodes (Byte 128–131)
| Code | Zustand | Bedeutung |
|---|---|---|
| 1h | DPDeactivated | Lane inaktiv; Tx aus |
| 2h | DPInit | wird mit der angewendeten Konfiguration initialisiert |
| 3h | DPDeinit | wird abgebaut |
| 4h | DPActivated | Tx ein, Daten fließen |
| 5h | DPTxTurnOn | Laser schaltet ein |
| 6h | DPTxTurnOff | Laser schaltet aus |
| 7h | DPInitialized | konfiguriert, wartet auf Tx-Freigabe |
| 0h, 8h–Fh | rsvd | — |
ConfigStatus-Codes (Byte 202–205)
| Code | Status | Bedeutung |
|---|---|---|
| 0h | ConfigUndefined | noch keine Konfiguration angewendet |
| 1h | ConfigSuccess | staged Set akzeptiert und in Kraft |
| 2h | ConfigRejected | allgemeine Ablehnung |
| 3h | ConfigRejectedInvalidAppSel | AppSel-Code nicht beworben |
| 4h | ConfigRejectedInvalidDataPath | DataPathID für diese Applikation nicht zulässig |
| 5h | ConfigRejectedInvalidSI | Signal-Integrity-Zielwert außerhalb des Bereichs |
| 6h | ConfigRejectedLaneInUse | Lane bereits Teil eines anderen aktiven Data Path |
| 7h | ConfigRejectedPartialDataPath | nicht alle Lanes des Data Path wurden konfiguriert |
| 8h–Bh | rsvd | — |
| Ch | ConfigInProgress | wird angewendet |
| Dh–Fh | custom | herstellerspezifisch |
Page 12h — Steuerung des durchstimmbaren Lasers (pro Lane)
Kanalnummer setzen, Wellenlänge/Frequenz setzen, Feinabstimmungs-Offset, Abstimmstatus und Flags pro Lane, mit den Fähigkeiten auf Page 04h — Tunable-Maps.
Pages 20h–2Fh — VDM (Versatile Diagnostics Monitoring)
| Pages | Inhalt | Layout |
|---|---|---|
| 20h–23h | Deskriptoren | 2 Byte pro Observable (128–255 → 64 pro Page, 256 insgesamt): Byte 0 Bit 7–4 Threshold-Set-ID, 3–0 Lane (0 = Modulebene); Byte 1 Observable-Typ (1 Laseralter · 2 TEC-Strom · 3 Laser-Frequenzfehler · 4 Lasertemperatur · 5/6 eSNR Medien/Host · 7/8 PAM4-Pegelübergang Medien/Host · 9–16 Pre-FEC-BER Min/Max/Durchschnitt/Aktuell Medien/Host · 17–24 FERC Min/Max/Durchschnitt/Aktuell Medien/Host · 128+ kohärentes Set) |
| 24h–27h | Samples | 2 Byte pro Observable, gleicher Index wie sein Deskriptor; Formate U16 / S16 / F16 |
| 28h–2Bh | Schwellwerte | 8 Byte pro Threshold-Set: High-Alarm, Low-Alarm, High-Warnung, Low-Warnung |
| 2Ch–2Fh | Flags und Masken | Alarm-/Warnungs-Flags pro Observable (2Ch–2Dh) und Masken (2Eh–2Fh) |
F16-Verhältnisformat: Bit 15–11 Exponent e, Bit 10–0 Mantisse m; Wert = m × 10^(e − 24). Details: VDM & FEC-Kennzahlen.
Page 9Fh — CDB-Kommandoblock
| Bytes | Feld | Inhalt |
|---|---|---|
| 128–129 | CMD ID | Kommandokennung, MSB zuerst (0000h Statusabfrage · 0040h Modulfunktionen · 0041h Firmware-Management-Funktionen · 0100h Firmware-Info abrufen · 0101h Firmware-Download starten · 0102h abbrechen · 0103h Firmware-Block schreiben LPL · 0104h Firmware-Block schreiben EPL · 0107h Download abschließen · 0109h Image ausführen · 010Ah Image committen) |
| 130–131 | EPL-Länge | Bytes der Extended Payload auf Page A0h–AFh |
| 132 | LPL-Länge | Bytes der Local Payload (0–120) |
| 133 | CdbChkCode | Prüfsumme über 128–132 und die LPL: Einerkomplement von (Σ) mod 256 |
| 134 | RPL-Länge | vom Modul geschriebene Länge der Reply Payload |
| 135 | RplChkCode | Prüfsumme der Antwort |
| 136–255 | LPL | Local Payload (Kommandoparameter / Antwort) |
| A0h–AFh 128–255 | EPL | bis zu 2048 Byte Extended Payload |
Byte 129 (das LSB der CMD ID) zuletzt zu schreiben, löst die Ausführung aus; der Host pollt anschließend die Lower-Bytes 37–38 (CdbStatus), bis CdbIsBusy zurückgesetzt wird.
Verwandte Karten
- CMIS-Lower-Page-Map — Modulzustand, Flags, Applikationen.
- CMIS-Upper-Pages-Map — Identität, Advertising, Schwellwerte.
- SFF-8636-Lower-Page-Map — der 4-Lane-Vorgänger.