CodingBox Documentação

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

ByteCampoBits / valores
0IdentificadorSFF-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
1Revisão do CMIS7–4 maior · 3–0 menor: 30h = 3.0 · 40h = 4.0 · 41h = 4.1 · 50h = 5.0 · 51h–53h = 5.1–5.3
2Características de memória7 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
3Estado do módulo7–4 rsvd · 3–1 ModuleState: 001 ModuleLowPwr · 010 ModulePwrUp · 011 ModuleReady · 100 ModulePwrDn · 101 ModuleFault · 0 InterruptDeasserted (1 = nenhuma interrupção pendente)
4Resumo de flags do banco 0um 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
5Resumo de flags do banco 1como o byte 4, para as lanes 9–16
6Resumo de flags do banco 2lanes 17–24
7Resumo de flags do banco 3lanes 25–32

Flags do módulo — bytes 8–11

ByteCampoBits
8Flags em nível de módulo7–5 rsvd · 4 CdbCmdComplete2 · 3 CdbCmdComplete1 · 2 DataPathFirmwareFault · 1 ModuleFirmwareFault · 0 ModuleStateChanged
9Flags de temperatura / Vcc7 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
10Flags de Aux1 / Aux27 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
11Flags de Aux3 / custom7–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–13rsvd

Monitores do módulo — bytes 14–25

BytesMonitorFormato
14–15Temperatura16 bits com sinal, 1/256 °C
16–17Vcc16 bits sem sinal, 100 µV
18–19Aux1corrente do TEC (com sinal, % do máx. ×100/32767) ou temperatura do laser (1/256 °C) — o tipo é anunciado na página 01h
20–21Aux2temperatura do laser ou corrente do TEC
22–23Aux3temperatura do laser ou tensão de alimentação adicional (100 µV)
24–25Monitor customdefinido pelo fabricante

Controles e máscaras globais — bytes 26–36

ByteCampoBits
26Controles globais do móduloCMIS 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
27Máscaras de flags do módulomáscaras para o byte 8 (mesmas posições de bit)
28Máscaras de temperatura / Vccmáscaras para o byte 9
29Máscaras de Aux1 / Aux2máscaras para o byte 10
30Máscaras de Aux3 / custommáscaras para o byte 11
31–36rsvd

Status do CDB e firmware — bytes 37–41

ByteCampoBits / valores
37CdbStatus1 (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)
38CdbStatus2 (bloco de comando 2)mesmo layout
39Firmware ativo do módulo — maiorversão da imagem em execução
40Firmware ativo do módulo — menor
41ModuleFaultCause00h sem falha · 01h TEC descontrolado · 02h memória de dados corrompida · 03h memória de programa corrompida · 04h–1Fh rsvd · 20h–FFh custom
42–63rsvd
64–84rsvd / customconforme a revisão

Tipo de mídia e aplicações — bytes 85–117

ByteCampoConteúdo
85MediaType00h 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–89Descritor de aplicação 1byte 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–93Descritor de aplicação 2mesmo layout
94–97Descritor de aplicação 3
98–101Descritor de aplicação 4
102–105Descritor de aplicação 5
106–109Descritor de aplicação 6
110–113Descritor de aplicação 7
114–117Descritor 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

ByteCampoConteúdo
118–121Entrada de troca de senhadefinido pelo fabricante
122–125Entrada de senhadefinido pelo fabricante — Tipos de proteção contra gravação
126BankSelect00h 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
127PageSelect00h 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

  1. Byte 0 = 18h, byte 1 = 50h → QSFP-DD, CMIS 5.0; byte 2 bit 7 = 0 → memória paginada.
  2. Byte 3 = 03h → ModuleLowPwr (001 nos bits 3–1, interrupção desativada) — normal logo após a inserção; 07h → ModuleReady.
  3. Byte 85 = 02h → tabela de mídia SMF; bytes 86–89 → a primeira aplicação (por exemplo, DR4).
  4. Bytes 8–11 → alguma flag do módulo ativa? Leia duas vezes para limpar o histórico.
  5. Bytes 14–17 → temperatura e Vcc.
  6. 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


Se você encontrar uma imprecisão ou um erro neste artigo, selecione o trecho correspondente e pressione Ctrl+Enter para .