CMIS: Registerkarte, Lane-Seiten (10h, 11h, VDM, CDB) · Spezifikationen und Standards · Optische Transceiver und Kabel · Dokumentation · CodingBox
CodingBox Dokumentation

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)

ByteFeldBits / Inhalt
128DPDeinitLaneBit pro Lane: 1 = deinitialisieren (versetzt den Data Path der Lane in DPDeactivated)
129rsvd—
130OutputDisableTxBit pro Lane: 1 = Tx-Ausgang (Laser) aus
131PolarityFlipTxBit pro Lane: Tx-Eingangssignal invertieren
132SquelchDisableTxBit pro Lane: 1 = automatisches Tx-Squelch deaktivieren
133ForceSquelchTxBit pro Lane: 1 = Tx-Squelch erzwingen
134rsvd—
135AdaptiveInputEqEnableTxBit pro Lane: 1 = adaptive hostseitige Eingangsequalisierung
136AdaptiveInputEqRecallTxBit pro Lane: gespeicherte EQ-Einstellung abrufen (4.x: einfrieren)
137rsvd—
138–141FixedInputEqTargetTxNibble pro Lane (138: Lanes 1–2 … 141: Lanes 7–8): fester Eingangs-EQ-Code 0–15
142rsvd—
143ApplyDPInitLaneBit pro Lane: 1 = Staged Control Set 0 anwenden und DPInit ausführen
144ApplyImmediateLaneBit pro Lane: SCS0 anwenden, ohne den Data Path neu zu initialisieren
145–152Staged Control Set 0 — Data-Path-Konfigurationein 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)
153SCS0 AdaptiveInputEqEnableTxBit pro Lane
154SCS0 AdaptiveInputEqRecallTxBit pro Lane
155rsvd—
156–159SCS0 FixedInputEqTargetTxNibble pro Lane
160SCS0 CDREnableTxBit pro Lane: 1 = Tx-CDR ein, 0 = Bypass
161SCS0 CDREnableRxBit pro Lane
162–165SCS0 OutputEqPreCursorTargetRxNibble pro Lane
166–169SCS0 OutputEqPostCursorTargetRxNibble pro Lane
170–173SCS0 OutputAmplitudeTargetRxNibble pro Lane
174–177rsvd—
178–210Staged Control Set 1gleiches Layout wie 145–177 (178–185 Data-Path-Konfiguration, 186–210 SI-Zielwerte)
211–255Rx-Ausgangssteuerungen und MaskenOutputDisableRx, 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)

ByteFeldBits / Inhalt
128DPStateHostLane 1–23–0 Zustand Lane 1 · 7–4 Zustand Lane 2 (Codetabelle unten)
129DPStateHostLane 3–4wie oben
130DPStateHostLane 5–6—
131DPStateHostLane 7–8—
132–133rsvd—
134DPStateChangedFlagBit pro Lane; gelatcht
135TxFaultFlagBit pro Lane
136TxLOSFlagBit pro Lane (hostseitiges Eingangs-LOS)
137TxCDRLOLFlagBit pro Lane
138TxAdaptiveInputEqFailFlagBit pro Lane
139Tx-Leistung High-AlarmBit pro Lane
140Tx-Leistung Low-Alarm—
141Tx-Leistung High-Warnung—
142Tx-Leistung Low-Warnung—
143Tx-Bias High-Alarm—
144Tx-Bias Low-Alarm—
145Tx-Bias High-Warnung—
146Tx-Bias Low-Warnung—
147RxLOSFlagBit pro Lane (medienseitiges LOS)
148RxCDRLOLFlagBit pro Lane
149Rx-Leistung High-Alarm—
150Rx-Leistung Low-Alarm—
151Rx-Leistung High-Warnung—
152Rx-Leistung Low-Warnung—
153OutputStatusRxBit pro Lane: 1 = Rx-Ausgang aktiviert/gültig
154–169Tx-Leistungsmonitore2 Byte pro Lane (154–155 Lane 1 … 168–169 Lane 8), vorzeichenlos, 0,1 µW
170–185Tx-Bias-Monitore2 Byte pro Lane, 2 µA × Multiplikator
186–201Rx-Leistungsmonitore2 Byte pro Lane, 0,1 µW
202ConfigStatus Lanes 1–23–0 Lane 1 · 7–4 Lane 2 (Codetabelle unten)
203ConfigStatus Lanes 3–4—
204ConfigStatus Lanes 5–6—
205ConfigStatus Lanes 7–8—
206–213Active Control Set — Data-Path-Konfigurationein Byte pro Lane, gleiches Layout wie Page 10h 145–152: die tatsächlich geltende Konfiguration
214–234Active Control Set — SI-Einstellungenadaptives EQ Enable/Recall, festes EQ, CDR Tx/Rx, Rx Pre-/Post-Cursor, Rx-Amplitude — Spiegelbild des SCS-Layouts
235DPInitPendingBit pro Lane: 1 = eine staged Konfiguration wartet auf ApplyDPInit
236–255rsvd / Flags je Revision—

Data-Path-Zustandscodes (Byte 128–131)

CodeZustandBedeutung
1hDPDeactivatedLane inaktiv; Tx aus
2hDPInitwird mit der angewendeten Konfiguration initialisiert
3hDPDeinitwird abgebaut
4hDPActivatedTx ein, Daten fließen
5hDPTxTurnOnLaser schaltet ein
6hDPTxTurnOffLaser schaltet aus
7hDPInitializedkonfiguriert, wartet auf Tx-Freigabe
0h, 8h–Fhrsvd—

ConfigStatus-Codes (Byte 202–205)

CodeStatusBedeutung
0hConfigUndefinednoch keine Konfiguration angewendet
1hConfigSuccessstaged Set akzeptiert und in Kraft
2hConfigRejectedallgemeine Ablehnung
3hConfigRejectedInvalidAppSelAppSel-Code nicht beworben
4hConfigRejectedInvalidDataPathDataPathID für diese Applikation nicht zulässig
5hConfigRejectedInvalidSISignal-Integrity-Zielwert außerhalb des Bereichs
6hConfigRejectedLaneInUseLane bereits Teil eines anderen aktiven Data Path
7hConfigRejectedPartialDataPathnicht alle Lanes des Data Path wurden konfiguriert
8h–Bhrsvd—
ChConfigInProgresswird angewendet
Dh–Fhcustomherstellerspezifisch

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)

PagesInhaltLayout
20h–23hDeskriptoren2 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–27hSamples2 Byte pro Observable, gleicher Index wie sein Deskriptor; Formate U16 / S16 / F16
28h–2BhSchwellwerte8 Byte pro Threshold-Set: High-Alarm, Low-Alarm, High-Warnung, Low-Warnung
2Ch–2FhFlags und MaskenAlarm-/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

BytesFeldInhalt
128–129CMD IDKommandokennung, 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–131EPL-LängeBytes der Extended Payload auf Page A0h–AFh
132LPL-LängeBytes der Local Payload (0–120)
133CdbChkCodePrüfsumme über 128–132 und die LPL: Einerkomplement von (Σ) mod 256
134RPL-Längevom Modul geschriebene Länge der Reply Payload
135RplChkCodePrüfsumme der Antwort
136–255LPLLocal Payload (Kommandoparameter / Antwort)
A0h–AFh 128–255EPLbis 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


Wenn Sie in diesem Artikel eine Ungenauigkeit oder einen Fehler finden, markieren Sie die betreffende Stelle und drücken Sie Ctrl+Enter, um .