Mapa de registros CMIS: página inferior
Los 128 bytes inferiores de un módulo CMIS (QSFP-DD, OSFP, QSFP112, SFP-DD con CMIS…) siempre están visibles y llevan la interfaz de tiempo de ejecución a nivel de módulo: identificador y versión de CMIS, estado del módulo, banderas y máscaras, monitores del módulo, controles globales, estado del CDB, tipo de medio, los primeros ocho descriptores de aplicación, la entrada de contraseña y los selectores de banco/página. Esta página los enumera byte a byte y bit a bit, compilados según CMIS 5.x con las diferencias de 4.x indicadas. Narrativa: CMIS; páginas superiores en Mapa de las páginas superiores de CMIS; páginas por carril en Mapa de páginas de carril de CMIS.
Leyenda: rsvd = reservado · personalizado = específico de fabricante · las banderas tienen retención y se limpian al leer; un bit de máscara = 1 suprime la contribución de la bandera a IntL.
Identificación y estado — bytes 0–7
| Byte | Campo | Bits / valores |
|---|
| 0 | Identificador | SFF-8024 tabla 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 | Revisión de CMIS | 7–4 mayor · 3–0 menor: 30h = 3.0 · 40h = 4.0 · 41h = 4.1 · 50h = 5.0 · 51h–53h = 5.1–5.3 |
| 2 | Características de memoria | 7 MemoryModel (1 = plana, sin paginación) · 6 SteppedConfigOnly (1 = la configuración de la ruta de datos debe aplicarse carril por carril) · 5–4 rsvd · 3–2 MciMaxSpeed: 00 = 400 kHz · 01 = 1 MHz · 1–0 rsvd |
| 3 | Estado del módulo | 7–4 rsvd · 3–1 ModuleState: 001 ModuleLowPwr · 010 ModulePwrUp · 011 ModuleReady · 100 ModulePwrDn · 101 ModuleFault · 0 InterruptDeasserted (1 = ninguna interrupción pendiente) |
| 4 | Resumen de banderas del banco 0 | un bit por grupo de banderas presente en las páginas de carril del banco 0 (cambio de estado de la ruta de datos, banderas Tx/Rx, alarmas) — se lee para saber qué banco inspeccionar |
| 5 | Resumen de banderas del banco 1 | como el byte 4 para los carriles 9–16 |
| 6 | Resumen de banderas del banco 2 | carriles 17–24 |
| 7 | Resumen de banderas del banco 3 | carriles 25–32 |
Banderas de módulo — bytes 8–11
| Byte | Campo | Bits |
|---|
| 8 | Banderas a nivel de módulo | 7–5 rsvd · 4 CdbCmdComplete2 · 3 CdbCmdComplete1 · 2 DataPathFirmwareFault · 1 ModuleFirmwareFault · 0 ModuleStateChanged |
| 9 | Banderas de temperatura / Vcc | 7 advertencia baja de Vcc · 6 advertencia alta de Vcc · 5 alarma baja de Vcc · 4 alarma alta de Vcc · 3 advertencia baja de temperatura · 2 advertencia alta de temperatura · 1 alarma baja de temperatura · 0 alarma alta de temperatura |
| 10 | Banderas Aux1 / Aux2 | 7 advertencia baja de Aux2 · 6 advertencia alta de Aux2 · 5 alarma baja de Aux2 · 4 alarma alta de Aux2 · 3 advertencia baja de Aux1 · 2 advertencia alta de Aux1 · 1 alarma baja de Aux1 · 0 alarma alta de Aux1 |
| 11 | Banderas Aux3 / personalizadas | 7–4 advertencia baja / advertencia alta / alarma baja / alarma alta del monitor personalizado · 3 advertencia baja de Aux3 · 2 advertencia alta de Aux3 · 1 alarma baja de Aux3 · 0 alarma alta de Aux3 |
| 12–13 | rsvd | — |
Monitores de módulo — bytes 14–25
| Bytes | Monitor | Formato |
|---|
| 14–15 | Temperatura | 16 bits con signo, 1/256 °C |
| 16–17 | Vcc | 16 bits sin signo, 100 µV |
| 18–19 | Aux1 | corriente TEC (con signo, % del máximo ×100/32767) o temperatura del láser (1/256 °C) — el tipo se anuncia en la página 01h |
| 20–21 | Aux2 | temperatura del láser o corriente TEC |
| 22–23 | Aux3 | temperatura del láser o tensión de alimentación adicional (100 µV) |
| 24–25 | Monitor personalizado | definido por el fabricante |
Controles y máscaras globales — bytes 26–36
| Byte | Campo | Bits |
|---|
| 26 | Controles globales del módulo | CMIS 5.x: 7 rsvd · 6 LowPwrAllowRequestHW (1 = el pin LPMode puede solicitar bajo consumo) · 5 SquelchMethodSelect (0 = squelch por OMA, 1 = Pave) · 4 LowPwrRequestSW (1 = solicitar bajo consumo) · 3 SoftwareReset · 2–0 rsvd · 4.x: 6 = LowPwr (solicitud de bajo consumo por software) · 4 = ForceLowPwr · 5 y 3 como arriba |
| 27 | Máscaras de banderas de módulo | máscaras para el byte 8 (mismas posiciones de bit) |
| 28 | Máscaras de temperatura / Vcc | máscaras para el byte 9 |
| 29 | Máscaras Aux1 / Aux2 | máscaras para el byte 10 |
| 30 | Máscaras Aux3 / personalizadas | máscaras para el byte 11 |
| 31–36 | rsvd | — |
Estado del CDB y firmware — bytes 37–41
| Byte | Campo | Bits / valores |
|---|
| 37 | CdbStatus1 (bloque de comandos 1) | 7 CdbIsBusy · 6 CdbHasFailed · 5–0 CdbCommandResult: mientras ocupado — 01h capturando comando, 02h comprobando, 03h ejecutando; en éxito — 01h éxito, 02h ¿sin respuesta?; en fallo — 01h comando desconocido, 02h parámetro fuera de rango, 03h error de longitud, 04h error de suma de comprobación, 05h error de contraseña, 06h no habilitado, 07h ¿abortar? … (véase CMIS tabla 8-20) |
| 38 | CdbStatus2 (bloque de comandos 2) | misma disposición |
| 39 | Firmware activo del módulo — mayor | versión de la imagen en ejecución |
| 40 | Firmware activo del módulo — menor | — |
| 41 | ModuleFaultCause | 00h sin fallo · 01h descontrol del TEC · 02h memoria de datos corrupta · 03h memoria de programa corrupta · 04h–1Fh rsvd · 20h–FFh personalizado |
| 42–63 | rsvd | — |
| 64–84 | rsvd / personalizado | según revisión |
Tipo de medio y aplicaciones — bytes 85–117
| Byte | Campo | Contenido |
|---|
| 85 | MediaType | 00h indefinido · 01h MMF (SFF-8024 tabla 4-6) · 02h SMF (4-7) · 03h cobre pasivo (4-8) · 04h cable activo (4-9) · 05h BASE-T (4-10) · 06h–3Fh rsvd · 40h–8Fh personalizado |
| 86–89 | Descriptor de aplicación 1 | byte 86 HostInterfaceID (SFF-8024 tabla 4-5) · 87 MediaInterfaceID (tabla según el byte 85) · 88 bits 7–4 HostLaneCount, 3–0 MediaLaneCount · 89 HostLaneAssignmentOptions — bit n = 1: el carril n+1 puede ser el primer carril de la ruta de datos de esta aplicación |
| 90–93 | Descriptor de aplicación 2 | misma disposición |
| 94–97 | Descriptor de aplicación 3 | — |
| 98–101 | Descriptor de aplicación 4 | — |
| 102–105 | Descriptor de aplicación 5 | — |
| 106–109 | Descriptor de aplicación 6 | — |
| 110–113 | Descriptor de aplicación 7 | — |
| 114–117 | Descriptor de aplicación 8 | — |
Un FFh en el primer byte de un descriptor termina la lista. Los descriptores 9–15 continúan en la página 01h bytes 223–250; sus opciones de asignación de carril de medio están en la página 01h 176–190. Ejemplo: 12 1C 84 01 = 400GAUI-8 C2M ↔ 400GBASE-DR4, 8 carriles de host / 4 carriles de medio, empezando en el carril de host 1; 0E 14 21 55 = 100GAUI-2 ↔ 100GBASE-DR, 2/1 carriles, puede empezar en los carriles 1, 3, 5, 7 (breakout 4 × 100G).
Contraseñas y selectores — bytes 118–127
| Byte | Campo | Contenido |
|---|
| 118–121 | Entrada de cambio de contraseña | definido por el fabricante |
| 122–125 | Entrada de contraseña | definido por el fabricante — Tipos de protección de escritura |
| 126 | BankSelect | 00h banco 0 (carriles 1–8) · 01h banco 1 (9–16) · 02h banco 2 · 03h banco 3; se aplica a las páginas bancarizadas 10h–3Fh |
| 127 | PageSelect | 00h identidad · 01h anuncio de capacidades · 02h umbrales · 04h capacidades del láser · 10h control de carril · 11h estado de carril · 12h control sintonizable · 13h–14h diagnósticos · 20h–2Fh VDM · 9Fh CDB · A0h–AFh EPL de CDB · 80h–8Fh… personalizado |
Leer una página inferior de QSFP-DD en la práctica
- Byte 0 = 18h, byte 1 = 50h → QSFP-DD, CMIS 5.0; byte 2 bit 7 = 0 → memoria paginada.
- Byte 3 = 03h → ModuleLowPwr (001 en bits 3–1, interrupción desactivada) — normal justo después de la inserción; 07h → ModuleReady.
- Byte 85 = 02h → tabla de medio SMF; bytes 86–89 → la primera aplicación (p. ej. DR4).
- Bytes 8–11 → ¿alguna bandera de módulo activada? Leer dos veces para limpiar el historial.
- Bytes 14–17 → temperatura y Vcc.
- Para salir de bajo consumo en 5.x: limpiar el byte 26 bit 4 (LowPwrRequestSW) y asegurarse de que el pin LPMode esté bajo o el bit 6 sea 0; luego esperar a que el byte 3 llegue a 07h.
Mapas relacionados