Mapa de registros CMIS: páginas de lane (10h, 11h, VDM, CDB)
Tudo o que é por lane em um módulo CMIS vive em páginas em banco: o banco b (byte inferior 126) cobre as lanes 8b+1 … 8b+8. A página 10h é onde o host grava — inicialização do caminho de dados, desabilitação de Tx, polaridade, squelch, equalização e os Staged Control Sets que selecionam as aplicações; a página 11h é onde ele lê de volta — estados do caminho de dados, flags por lane, monitores, status de configuração e o Active Control Set. As páginas 20h–2Fh contêm o VDM e a 9Fh, a caixa de correio CDB. Esta página lista os bytes principais, compilada de acordo com o CMIS 5.x (as posições de byte de alguns campos de integridade de sinal diferem entre 4.x e 5.x; esses são dados como faixas). Narrativa: CMIS.
Legenda: os bytes por lane usam o bit n−1 para a lane n (bit 0 = lane 1 … bit 7 = lane 8); os campos de nibble usam os bits 7–4 para a lane ímpar e 3–0 para a lane par de cada par, salvo indicação em contrário · rsvd = reservado.
Página 10h — controle de lane (o host grava)
| Byte | Campo | Bits / conteúdo |
|---|---|---|
| 128 | DPDeinitLane | bit por lane: 1 = desinicializar (leva o caminho de dados da lane a DPDeactivated) |
| 129 | rsvd | — |
| 130 | OutputDisableTx | bit por lane: 1 = saída de Tx (laser) desligada |
| 131 | PolarityFlipTx | bit por lane: inverte a entrada elétrica de Tx |
| 132 | SquelchDisableTx | bit por lane: 1 = desabilita o squelch automático de Tx |
| 133 | ForceSquelchTx | bit por lane: 1 = força o squelch de Tx |
| 134 | rsvd | — |
| 135 | AdaptiveInputEqEnableTx | bit por lane: 1 = equalização de entrada adaptativa do lado do host |
| 136 | AdaptiveInputEqRecallTx | bit por lane: recupera a configuração de EQ armazenada (4.x: congela) |
| 137 | rsvd | — |
| 138–141 | FixedInputEqTargetTx | nibble por lane (138: lanes 1–2 … 141: lanes 7–8): código de EQ de entrada fixa 0–15 |
| 142 | rsvd | — |
| 143 | ApplyDPInitLane | bit por lane: 1 = aplica o Staged Control Set 0 e executa DPInit |
| 144 | ApplyImmediateLane | bit por lane: aplica o SCS0 sem reinicializar o caminho de dados |
| 145–152 | Staged Control Set 0 — configuração do caminho de dados | um byte por lane (145 = lane 1 … 152 = lane 8): bits 7–4 AppSelCode (1–15 = índice do descritor, 0 = nenhum) · 3–1 DataPathID (primeira lane de host do caminho de dados − 1) · 0 ExplicitControl (1 = usa as configurações de SI abaixo em vez dos padrões da aplicação) |
| 153 | SCS0 AdaptiveInputEqEnableTx | bit por lane |
| 154 | SCS0 AdaptiveInputEqRecallTx | bit por lane |
| 155 | rsvd | — |
| 156–159 | SCS0 FixedInputEqTargetTx | nibble por lane |
| 160 | SCS0 CDREnableTx | bit por lane: 1 = CDR de Tx ligado, 0 = bypass |
| 161 | SCS0 CDREnableRx | bit por lane |
| 162–165 | SCS0 OutputEqPreCursorTargetRx | nibble por lane |
| 166–169 | SCS0 OutputEqPostCursorTargetRx | nibble por lane |
| 170–173 | SCS0 OutputAmplitudeTargetRx | nibble por lane |
| 174–177 | rsvd | — |
| 178–210 | Staged Control Set 1 | mesmo layout de 145–177 (178–185 configuração do caminho de dados, 186–210 alvos de SI) |
| 211–255 | Controles e máscaras de saída de Rx | OutputDisableRx, PolarityFlipRx, SquelchDisableRx por lane; máscaras de flags para a página 11h (posições de byte conforme a revisão) |
Fluxo de seleção: gravar 145–152 → ativar 143 para as lanes → consultar a página 11h 202–205 para o ConfigStatus → ler 128–131 para o estado do caminho de dados — CMIS, Velocidade e taxa.
Página 11h — status de lane (o host lê)
| Byte | Campo | Bits / conteúdo |
|---|---|---|
| 128 | DPStateHostLane 1–2 | 3–0 estado da lane 1 · 7–4 estado da lane 2 (tabela de códigos abaixo) |
| 129 | DPStateHostLane 3–4 | como acima |
| 130 | DPStateHostLane 5–6 | — |
| 131 | DPStateHostLane 7–8 | — |
| 132–133 | rsvd | — |
| 134 | DPStateChangedFlag | bit por lane; com retenção (latched) |
| 135 | TxFaultFlag | bit por lane |
| 136 | TxLOSFlag | bit por lane (LOS do lado do host) |
| 137 | TxCDRLOLFlag | bit por lane |
| 138 | TxAdaptiveInputEqFailFlag | bit por lane |
| 139 | Alarme alto de potência de Tx | bit por lane |
| 140 | Alarme baixo de potência de Tx | — |
| 141 | Aviso alto de potência de Tx | — |
| 142 | Aviso baixo de potência de Tx | — |
| 143 | Alarme alto de polarização de Tx | — |
| 144 | Alarme baixo de polarização de Tx | — |
| 145 | Aviso alto de polarização de Tx | — |
| 146 | Aviso baixo de polarização de Tx | — |
| 147 | RxLOSFlag | bit por lane (LOS do lado da mídia) |
| 148 | RxCDRLOLFlag | bit por lane |
| 149 | Alarme alto de potência de Rx | — |
| 150 | Alarme baixo de potência de Rx | — |
| 151 | Aviso alto de potência de Rx | — |
| 152 | Aviso baixo de potência de Rx | — |
| 153 | OutputStatusRx | bit por lane: 1 = saída de Rx habilitada/válida |
| 154–169 | Monitores de potência de Tx | 2 bytes por lane (154–155 lane 1 … 168–169 lane 8), sem sinal, 0,1 µW |
| 170–185 | Monitores de polarização de Tx | 2 bytes por lane, 2 µA × multiplicador |
| 186–201 | Monitores de potência de Rx | 2 bytes por lane, 0,1 µW |
| 202 | ConfigStatus lanes 1–2 | 3–0 lane 1 · 7–4 lane 2 (tabela de códigos abaixo) |
| 203 | ConfigStatus lanes 3–4 | — |
| 204 | ConfigStatus lanes 5–6 | — |
| 205 | ConfigStatus lanes 7–8 | — |
| 206–213 | Active Control Set — configuração do caminho de dados | um byte por lane, mesmo layout da página 10h 145–152: a configuração de fato em vigor |
| 214–234 | Active Control Set — configurações de SI | habilitação/recuperação de EQ adaptativa, EQ fixa, CDR Tx/Rx, pré/pós-cursor de Rx, amplitude de Rx — espelho do layout do SCS |
| 235 | DPInitPending | bit por lane: 1 = uma configuração staged aguarda ApplyDPInit |
| 236–255 | rsvd / flags conforme a revisão | — |
Códigos de estado do caminho de dados (bytes 128–131)
| Código | Estado | Significado |
|---|---|---|
| 1h | DPDeactivated | lane ociosa; Tx desligado |
| 2h | DPInit | inicializando com a configuração aplicada |
| 3h | DPDeinit | desmontando |
| 4h | DPActivated | Tx ligado, dados fluindo |
| 5h | DPTxTurnOn | laser ligando |
| 6h | DPTxTurnOff | laser desligando |
| 7h | DPInitialized | configurada, aguardando o Tx enable |
| 0h, 8h–Fh | rsvd | — |
Códigos de ConfigStatus (bytes 202–205)
| Código | Status | Significado |
|---|---|---|
| 0h | ConfigUndefined | nenhuma configuração aplicada ainda |
| 1h | ConfigSuccess | conjunto staged aceito e em vigor |
| 2h | ConfigRejected | rejeição genérica |
| 3h | ConfigRejectedInvalidAppSel | código AppSel não anunciado |
| 4h | ConfigRejectedInvalidDataPath | DataPathID não permitido para essa aplicação |
| 5h | ConfigRejectedInvalidSI | alvo de integridade de sinal fora da faixa |
| 6h | ConfigRejectedLaneInUse | lane já faz parte de outro caminho de dados ativo |
| 7h | ConfigRejectedPartialDataPath | nem todas as lanes do caminho de dados foram configuradas |
| 8h–Bh | rsvd | — |
| Ch | ConfigInProgress | aplicando |
| Dh–Fh | custom | do fabricante |
Página 12h — controle do laser sintonizável (por lane)
Ajuste do número de canal, ajuste de comprimento de onda/frequência, offset de sintonia fina, status de sintonia e flags por lane, com as capacidades na página 04h — Mapas sintonizáveis.
Páginas 20h–2Fh — VDM (Versatile Diagnostics Monitoring)
| Páginas | Conteúdo | Layout |
|---|---|---|
| 20h–23h | Descritores | 2 bytes por observável (128–255 → 64 por página, 256 no total): byte 0 bits 7–4 ID do conjunto de limiares, 3–0 lane (0 = nível de módulo); byte 1 tipo de observável (1 idade do laser · 2 corrente do TEC · 3 erro de frequência do laser · 4 temperatura do laser · 5/6 eSNR mídia/host · 7/8 transição de nível PAM4 mídia/host · 9–16 BER pré-FEC mín/máx/média/atual mídia/host · 17–24 FERC mín/máx/média/atual mídia/host · 128+ conjunto coerente) |
| 24h–27h | Amostras | 2 bytes por observável, mesmo índice do seu descritor; formatos U16 / S16 / F16 |
| 28h–2Bh | Limiares | 8 bytes por conjunto de limiares: alarme alto, alarme baixo, aviso alto, aviso baixo |
| 2Ch–2Fh | Flags e máscaras | flags de alarme/aviso por observável (2Ch–2Dh) e máscaras (2Eh–2Fh) |
Formato de razão F16: bits 15–11 expoente e, bits 10–0 mantissa m; valor = m × 10^(e − 24). Detalhes: Métricas de VDM e FEC.
Página 9Fh — bloco de comando CDB
| Bytes | Campo | Conteúdo |
|---|---|---|
| 128–129 | CMD ID | identificador do comando, MSB primeiro (0000h consultar status · 0040h recursos do módulo · 0041h recursos de gerenciamento de firmware · 0100h obter informações de firmware · 0101h iniciar download de firmware · 0102h abortar · 0103h gravar bloco de firmware LPL · 0104h gravar bloco de firmware EPL · 0107h concluir download · 0109h executar imagem · 010Ah confirmar imagem) |
| 130–131 | Comprimento do EPL | bytes de payload estendido nas páginas A0h–AFh |
| 132 | Comprimento do LPL | bytes de payload local (0–120) |
| 133 | CdbChkCode | soma de verificação sobre 128–132 e o LPL: complemento de um de (Σ) mod 256 |
| 134 | Comprimento do RPL | comprimento do payload de resposta gravado pelo módulo |
| 135 | RplChkCode | soma de verificação da resposta |
| 136–255 | LPL | payload local (parâmetros do comando / resposta) |
| A0h–AFh 128–255 | EPL | até 2048 bytes de payload estendido |
Gravar o byte 129 (o LSB do CMD ID) por último dispara a execução; o host então consulta os bytes inferiores 37–38 (CdbStatus) até CdbIsBusy ser desmarcado.
Mapas relacionados
- Mapa da página inferior do CMIS — estado do módulo, flags, aplicações.
- Mapa das páginas superiores do CMIS — identidade, anúncio, limiares.
- Mapa da página inferior do SFF-8636 — o predecessor de 4 lanes.