Mapa de registros CMIS: página inferior
Os 128 bytes inferiores de um módulo CMIS (QSFP-DD, OSFP, QSFP112, SFP-DD com CMIS…) estão sempre visíveis e carregam a interface de runtime em nível de módulo: identificador e versão do CMIS, estado do módulo, flags e máscaras, monitores do módulo, controles globais, status do CDB, tipo de mídia, os oito primeiros descritores de aplicação, entrada de senha e os seletores de banco/página. Esta página os lista byte a byte e bit a bit, compilada de acordo com o CMIS 5.x, com as diferenças da 4.x anotadas. Narrativa: CMIS; páginas superiores em Mapa das páginas superiores do CMIS; páginas por lane em Mapa das páginas de lane do CMIS.
Legenda: rsvd = reservado · custom = específico do fabricante · as flags têm retenção (latched), e são limpas na leitura; um bit de máscara = 1 suprime a contribuição da flag para o IntL.
Identificação e estado — bytes 0–7
| Byte | Campo | Bits / valores |
|---|
| 0 | Identificador | SFF-8024 Tabela 4-1: 18h QSFP-DD · 19h OSFP · 1Eh QSFP+/28/56 com CMIS · 1Fh SFP-DD com CMIS · 20h SFP+ com CMIS (SFP112) · 21h OSFP-XD |
| 1 | Revisão do CMIS | 7–4 maior · 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 memória | 7 MemoryModel (1 = flat, sem paginação) · 6 SteppedConfigOnly (1 = a configuração do caminho de dados precisa ser aplicada lane a lane) · 5–4 rsvd · 3–2 MciMaxSpeed: 00 = 400 kHz · 01 = 1 MHz · 1–0 rsvd |
| 3 | Estado do módulo | 7–4 rsvd · 3–1 ModuleState: 001 ModuleLowPwr · 010 ModulePwrUp · 011 ModuleReady · 100 ModulePwrDn · 101 ModuleFault · 0 InterruptDeasserted (1 = nenhuma interrupção pendente) |
| 4 | Resumo de flags do banco 0 | um bit por grupo de flags presente nas páginas de lane do banco 0 (mudança de estado do caminho de dados, flags de Tx/Rx, alarmes) — leia para saber qual banco inspecionar |
| 5 | Resumo de flags do banco 1 | como o byte 4, para as lanes 9–16 |
| 6 | Resumo de flags do banco 2 | lanes 17–24 |
| 7 | Resumo de flags do banco 3 | lanes 25–32 |
Flags do módulo — bytes 8–11
| Byte | Campo | Bits |
|---|
| 8 | Flags em nível de módulo | 7–5 rsvd · 4 CdbCmdComplete2 · 3 CdbCmdComplete1 · 2 DataPathFirmwareFault · 1 ModuleFirmwareFault · 0 ModuleStateChanged |
| 9 | Flags de temperatura / Vcc | 7 aviso baixo de Vcc · 6 aviso alto de Vcc · 5 alarme baixo de Vcc · 4 alarme alto de Vcc · 3 aviso baixo de temperatura · 2 aviso alto de temperatura · 1 alarme baixo de temperatura · 0 alarme alto de temperatura |
| 10 | Flags de Aux1 / Aux2 | 7 aviso baixo de Aux2 · 6 aviso alto de Aux2 · 5 alarme baixo de Aux2 · 4 alarme alto de Aux2 · 3 aviso baixo de Aux1 · 2 aviso alto de Aux1 · 1 alarme baixo de Aux1 · 0 alarme alto de Aux1 |
| 11 | Flags de Aux3 / custom | 7–4 aviso baixo / aviso alto / alarme baixo / alarme alto do monitor custom · 3 aviso baixo de Aux3 · 2 aviso alto de Aux3 · 1 alarme baixo de Aux3 · 0 alarme alto de Aux3 |
| 12–13 | rsvd | — |
Monitores do módulo — bytes 14–25
| Bytes | Monitor | Formato |
|---|
| 14–15 | Temperatura | 16 bits com sinal, 1/256 °C |
| 16–17 | Vcc | 16 bits sem sinal, 100 µV |
| 18–19 | Aux1 | corrente do TEC (com sinal, % do máx. ×100/32767) ou temperatura do laser (1/256 °C) — o tipo é anunciado na página 01h |
| 20–21 | Aux2 | temperatura do laser ou corrente do TEC |
| 22–23 | Aux3 | temperatura do laser ou tensão de alimentação adicional (100 µV) |
| 24–25 | Monitor custom | definido pelo fabricante |
Controles e máscaras globais — bytes 26–36
| Byte | Campo | Bits |
|---|
| 26 | Controles globais do módulo | CMIS 5.x: 7 rsvd · 6 LowPwrAllowRequestHW (1 = o pino LPMode pode solicitar baixa potência) · 5 SquelchMethodSelect (0 = squelch por OMA, 1 = Pave) · 4 LowPwrRequestSW (1 = solicita baixa potência) · 3 SoftwareReset · 2–0 rsvd · 4.x: 6 = LowPwr (solicitação de baixa potência por software) · 4 = ForceLowPwr · 5 e 3 como acima |
| 27 | Máscaras de flags do módulo | máscaras para o byte 8 (mesmas posições de bit) |
| 28 | Máscaras de temperatura / Vcc | máscaras para o byte 9 |
| 29 | Máscaras de Aux1 / Aux2 | máscaras para o byte 10 |
| 30 | Máscaras de Aux3 / custom | máscaras para o byte 11 |
| 31–36 | rsvd | — |
Status do CDB e firmware — bytes 37–41
| Byte | Campo | Bits / valores |
|---|
| 37 | CdbStatus1 (bloco de comando 1) | 7 CdbIsBusy · 6 CdbHasFailed · 5–0 CdbCommandResult: durante a execução — 01h capturando comando, 02h verificando, 03h executando; em caso de sucesso — 01h sucesso, 02h sem resposta? ; em caso de falha — 01h comando desconhecido, 02h parâmetro fora da faixa, 03h erro de comprimento, 04h erro de soma de verificação, 05h erro de senha, 06h não habilitado, 07h abortado? … (ver CMIS Tabela 8-20) |
| 38 | CdbStatus2 (bloco de comando 2) | mesmo layout |
| 39 | Firmware ativo do módulo — maior | versão da imagem em execução |
| 40 | Firmware ativo do módulo — menor | — |
| 41 | ModuleFaultCause | 00h sem falha · 01h TEC descontrolado · 02h memória de dados corrompida · 03h memória de programa corrompida · 04h–1Fh rsvd · 20h–FFh custom |
| 42–63 | rsvd | — |
| 64–84 | rsvd / custom | conforme a revisão |
Tipo de mídia e aplicações — bytes 85–117
| Byte | Campo | Conteúdo |
|---|
| 85 | MediaType | 00h indefinido · 01h MMF (SFF-8024 Tabela 4-6) · 02h SMF (4-7) · 03h cobre passivo (4-8) · 04h cabo ativo (4-9) · 05h BASE-T (4-10) · 06h–3Fh rsvd · 40h–8Fh custom |
| 86–89 | Descritor de aplicação 1 | byte 86 HostInterfaceID (SFF-8024 Tabela 4-5) · 87 MediaInterfaceID (tabela conforme o byte 85) · 88 bits 7–4 HostLaneCount, 3–0 MediaLaneCount · 89 HostLaneAssignmentOptions — bit n = 1: a lane n+1 pode ser a primeira lane do caminho de dados desta aplicação |
| 90–93 | Descritor de aplicação 2 | mesmo layout |
| 94–97 | Descritor de aplicação 3 | — |
| 98–101 | Descritor de aplicação 4 | — |
| 102–105 | Descritor de aplicação 5 | — |
| 106–109 | Descritor de aplicação 6 | — |
| 110–113 | Descritor de aplicação 7 | — |
| 114–117 | Descritor de aplicação 8 | — |
Um FFh no primeiro byte de um descritor termina a lista. Os descritores 9–15 continuam na página 01h, bytes 223–250; suas opções de atribuição de lane de mídia estão na página 01h, 176–190. Exemplo: 12 1C 84 01 = 400GAUI-8 C2M ↔ 400GBASE-DR4, 8 lanes de host / 4 lanes de mídia, começando na lane de host 1; 0E 14 21 55 = 100GAUI-2 ↔ 100GBASE-DR, 2/1 lanes, pode começar nas lanes 1, 3, 5, 7 (breakout 4 × 100G).
Senhas e seletores — bytes 118–127
| Byte | Campo | Conteúdo |
|---|
| 118–121 | Entrada de troca de senha | definido pelo fabricante |
| 122–125 | Entrada de senha | definido pelo fabricante — Tipos de proteção contra gravação |
| 126 | BankSelect | 00h banco 0 (lanes 1–8) · 01h banco 1 (9–16) · 02h banco 2 · 03h banco 3; aplica-se às páginas em banco 10h–3Fh |
| 127 | PageSelect | 00h identidade · 01h anúncio · 02h limiares · 04h capacidades do laser · 10h controle de lane · 11h status de lane · 12h controle sintonizável · 13h–14h diagnóstico · 20h–2Fh VDM · 9Fh CDB · A0h–AFh CDB EPL · 80h–8Fh… custom |
Lendo uma página inferior de QSFP-DD na prática
- Byte 0 = 18h, byte 1 = 50h → QSFP-DD, CMIS 5.0; byte 2 bit 7 = 0 → memória paginada.
- Byte 3 = 03h → ModuleLowPwr (001 nos bits 3–1, interrupção desativada) — normal logo após a inserção; 07h → ModuleReady.
- Byte 85 = 02h → tabela de mídia SMF; bytes 86–89 → a primeira aplicação (por exemplo, DR4).
- Bytes 8–11 → alguma flag do módulo ativa? Leia duas vezes para limpar o histórico.
- Bytes 14–17 → temperatura e Vcc.
- Para sair de baixa potência na 5.x: limpe o byte 26 bit 4 (LowPwrRequestSW) e garanta que o pino LPMode esteja em nível baixo ou que o bit 6 seja 0; depois aguarde o byte 3 chegar a 07h.
Mapas relacionados