Mappa dei registri CMIS: pagina inferiore
I 128 byte inferiori di un modulo CMIS (QSFP-DD, OSFP, QSFP112, SFP-DD con CMIS…) sono sempre visibili e trasportano l’interfaccia runtime a livello di modulo: identificatore e versione CMIS, stato del modulo, flag e maschere, monitor del modulo, controlli globali, stato CDB, tipo di media, i primi otto descrittori di applicazione, inserimento password e i selettori di banco/pagina. Questa pagina li elenca byte per byte e bit per bit, redatta sulla base di CMIS 5.x con le differenze della 4.x indicate. Descrizione narrativa: CMIS; le pagine superiori nella mappa delle pagine superiori CMIS; le pagine per lane nella mappa delle pagine per lane CMIS.
Legenda: rsvd = riservato · custom = specifico del produttore · i flag sono a latch, azzerati alla lettura; un bit di maschera = 1 sopprime il contributo del flag a IntL.
Identificazione e stato — byte 0–7
| Byte | Campo | Bit / valori |
|---|
| 0 | Identificatore | SFF-8024 Tabella 4-1: 18h QSFP-DD · 19h OSFP · 1Eh QSFP+/28/56 con CMIS · 1Fh SFP-DD con CMIS · 20h SFP+ con CMIS (SFP112) · 21h OSFP-XD |
| 1 | Revisione CMIS | 7–4 maggiore · 3–0 minore: 30h = 3.0 · 40h = 4.0 · 41h = 4.1 · 50h = 5.0 · 51h–53h = 5.1–5.3 |
| 2 | Caratteristiche della memoria | 7 MemoryModel (1 = flat, senza paging) · 6 SteppedConfigOnly (1 = la configurazione del data path deve essere applicata lane per lane) · 5–4 rsvd · 3–2 MciMaxSpeed: 00 = 400 kHz · 01 = 1 MHz · 1–0 rsvd |
| 3 | Stato del modulo | 7–4 rsvd · 3–1 ModuleState: 001 ModuleLowPwr · 010 ModulePwrUp · 011 ModuleReady · 100 ModulePwrDn · 101 ModuleFault · 0 InterruptDeasserted (1 = nessun interrupt in sospeso) |
| 4 | Riepilogo flag del banco 0 | un bit per ogni gruppo di flag presente nelle pagine di lane del banco 0 (cambio di stato del data path, flag Tx/Rx, allarmi) — leggi per sapere quale banco ispezionare |
| 5 | Riepilogo flag del banco 1 | come il byte 4, per le lane 9–16 |
| 6 | Riepilogo flag del banco 2 | lane 17–24 |
| 7 | Riepilogo flag del banco 3 | lane 25–32 |
Flag del modulo — byte 8–11
| Byte | Campo | Bit |
|---|
| 8 | Flag a livello di modulo | 7–5 rsvd · 4 CdbCmdComplete2 · 3 CdbCmdComplete1 · 2 DataPathFirmwareFault · 1 ModuleFirmwareFault · 0 ModuleStateChanged |
| 9 | Flag di temperatura / Vcc | 7 avviso basso di Vcc · 6 avviso alto di Vcc · 5 allarme basso di Vcc · 4 allarme alto di Vcc · 3 avviso basso di temperatura · 2 avviso alto di temperatura · 1 allarme basso di temperatura · 0 allarme alto di temperatura |
| 10 | Flag Aux1 / Aux2 | 7 avviso basso di Aux2 · 6 avviso alto di Aux2 · 5 allarme basso di Aux2 · 4 allarme alto di Aux2 · 3 avviso basso di Aux1 · 2 avviso alto di Aux1 · 1 allarme basso di Aux1 · 0 allarme alto di Aux1 |
| 11 | Flag Aux3 / custom | 7–4 avviso basso / avviso alto / allarme basso / allarme alto del monitor custom · 3 avviso basso di Aux3 · 2 avviso alto di Aux3 · 1 allarme basso di Aux3 · 0 allarme alto di Aux3 |
| 12–13 | rsvd | — |
Monitor del modulo — byte 14–25
| Byte | Misura | Formato |
|---|
| 14–15 | Temperatura | con segno a 16 bit, 1/256 °C |
| 16–17 | Vcc | senza segno a 16 bit, 100 µV |
| 18–19 | Aux1 | corrente TEC (con segno, % del massimo ×100/32767) oppure temperatura del laser (1/256 °C) — il tipo è dichiarato nella pagina 01h |
| 20–21 | Aux2 | temperatura del laser oppure corrente TEC |
| 22–23 | Aux3 | temperatura del laser oppure tensione di alimentazione aggiuntiva (100 µV) |
| 24–25 | Monitor custom | definito dal produttore |
Controlli globali e maschere — byte 26–36
| Byte | Campo | Bit |
|---|
| 26 | Controlli globali del modulo | CMIS 5.x: 7 rsvd · 6 LowPwrAllowRequestHW (1 = il pin LPMode può richiedere la bassa potenza) · 5 SquelchMethodSelect (0 = squelch OMA, 1 = Pave) · 4 LowPwrRequestSW (1 = richiede la bassa potenza) · 3 SoftwareReset · 2–0 rsvd · 4.x: 6 = LowPwr (richiesta software di bassa potenza) · 4 = ForceLowPwr · 5 e 3 come sopra |
| 27 | Maschere dei flag del modulo | maschere per il byte 8 (stesse posizioni di bit) |
| 28 | Maschere di temperatura / Vcc | maschere per il byte 9 |
| 29 | Maschere Aux1 / Aux2 | maschere per il byte 10 |
| 30 | Maschere Aux3 / custom | maschere per il byte 11 |
| 31–36 | rsvd | — |
Stato CDB e firmware — byte 37–41
| Byte | Campo | Bit / valori |
|---|
| 37 | CdbStatus1 (blocco comandi 1) | 7 CdbIsBusy · 6 CdbHasFailed · 5–0 CdbCommandResult: mentre è occupato — 01h acquisizione del comando, 02h verifica, 03h esecuzione; in caso di successo — 01h successo, 02h nessuna risposta? ; in caso di fallimento — 01h comando sconosciuto, 02h parametro fuori intervallo, 03h errore di lunghezza, 04h errore di checksum, 05h errore di password, 06h non abilitato, 07h abort? … (vedi CMIS Tabella 8-20) |
| 38 | CdbStatus2 (blocco comandi 2) | stesso layout |
| 39 | Firmware attivo del modulo — maggiore | versione dell’immagine in esecuzione |
| 40 | Firmware attivo del modulo — minore | — |
| 41 | ModuleFaultCause | 00h nessun guasto · 01h fuga del TEC · 02h memoria dati corrotta · 03h memoria di programma corrotta · 04h–1Fh rsvd · 20h–FFh custom |
| 42–63 | rsvd | — |
| 64–84 | rsvd / custom | secondo la revisione |
| Byte | Campo | Contenuto |
|---|
| 85 | MediaType | 00h non definito · 01h MMF (SFF-8024 Tabella 4-6) · 02h SMF (4-7) · 03h rame passivo (4-8) · 04h cavo attivo (4-9) · 05h BASE-T (4-10) · 06h–3Fh rsvd · 40h–8Fh custom |
| 86–89 | Descrittore di applicazione 1 | byte 86 HostInterfaceID (SFF-8024 Tabella 4-5) · 87 MediaInterfaceID (tabella secondo il byte 85) · 88 bit 7–4 HostLaneCount, 3–0 MediaLaneCount · 89 HostLaneAssignmentOptions — bit n = 1: la lane n+1 può essere la prima lane del data path di questa applicazione |
| 90–93 | Descrittore di applicazione 2 | stesso layout |
| 94–97 | Descrittore di applicazione 3 | — |
| 98–101 | Descrittore di applicazione 4 | — |
| 102–105 | Descrittore di applicazione 5 | — |
| 106–109 | Descrittore di applicazione 6 | — |
| 110–113 | Descrittore di applicazione 7 | — |
| 114–117 | Descrittore di applicazione 8 | — |
Un FFh nel primo byte di un descrittore termina l’elenco. I descrittori 9–15 continuano sulla pagina 01h byte 223–250; le loro opzioni di assegnazione delle lane media sono sulla pagina 01h 176–190. Esempio: 12 1C 84 01 = 400GAUI-8 C2M ↔ 400GBASE-DR4, 8 lane host / 4 lane media, a partire dalla lane host 1; 0E 14 21 55 = 100GAUI-2 ↔ 100GBASE-DR, 2/1 lane, può iniziare sulle lane 1, 3, 5, 7 (4 × 100G breakout).
Password e selettori — byte 118–127
| Byte | Campo | Contenuto |
|---|
| 118–121 | Inserimento cambio password | definito dal produttore |
| 122–125 | Inserimento password | definito dal produttore — Tipi di protezione in scrittura |
| 126 | BankSelect | 00h banco 0 (lane 1–8) · 01h banco 1 (9–16) · 02h banco 2 · 03h banco 3; si applica alle pagine a banchi 10h–3Fh |
| 127 | PageSelect | 00h identità · 01h annuncio · 02h soglie · 04h capacità del laser · 10h controllo di lane · 11h stato di lane · 12h controllo sintonizzabile · 13h–14h diagnostica · 20h–2Fh VDM · 9Fh CDB · A0h–AFh CDB EPL · 80h–8Fh… custom |
Leggere una pagina inferiore QSFP-DD nella pratica
- Byte 0 = 18h, byte 1 = 50h → QSFP-DD, CMIS 5.0; byte 2 bit 7 = 0 → memoria paginata.
- Byte 3 = 03h → ModuleLowPwr (001 nei bit 3–1, interrupt deasserted) — normale subito dopo l’inserimento; 07h → ModuleReady.
- Byte 85 = 02h → tabella media SMF; byte 86–89 → la prima applicazione (es. DR4).
- Byte 8–11 → qualche flag del modulo impostato? Leggi due volte per azzerare la cronologia.
- Byte 14–17 → temperatura e Vcc.
- Per uscire dalla bassa potenza nella 5.x: azzera il bit 4 del byte 26 (LowPwrRequestSW) e assicurati che il pin LPMode sia basso o che il bit 6 sia 0; poi attendi che il byte 3 raggiunga 07h.
Mappe correlate