CodingBox Documentação

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)

ByteCampoBits / conteúdo
128DPDeinitLanebit por lane: 1 = desinicializar (leva o caminho de dados da lane a DPDeactivated)
129rsvd
130OutputDisableTxbit por lane: 1 = saída de Tx (laser) desligada
131PolarityFlipTxbit por lane: inverte a entrada elétrica de Tx
132SquelchDisableTxbit por lane: 1 = desabilita o squelch automático de Tx
133ForceSquelchTxbit por lane: 1 = força o squelch de Tx
134rsvd
135AdaptiveInputEqEnableTxbit por lane: 1 = equalização de entrada adaptativa do lado do host
136AdaptiveInputEqRecallTxbit por lane: recupera a configuração de EQ armazenada (4.x: congela)
137rsvd
138–141FixedInputEqTargetTxnibble por lane (138: lanes 1–2 … 141: lanes 7–8): código de EQ de entrada fixa 0–15
142rsvd
143ApplyDPInitLanebit por lane: 1 = aplica o Staged Control Set 0 e executa DPInit
144ApplyImmediateLanebit por lane: aplica o SCS0 sem reinicializar o caminho de dados
145–152Staged Control Set 0 — configuração do caminho de dadosum 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)
153SCS0 AdaptiveInputEqEnableTxbit por lane
154SCS0 AdaptiveInputEqRecallTxbit por lane
155rsvd
156–159SCS0 FixedInputEqTargetTxnibble por lane
160SCS0 CDREnableTxbit por lane: 1 = CDR de Tx ligado, 0 = bypass
161SCS0 CDREnableRxbit por lane
162–165SCS0 OutputEqPreCursorTargetRxnibble por lane
166–169SCS0 OutputEqPostCursorTargetRxnibble por lane
170–173SCS0 OutputAmplitudeTargetRxnibble por lane
174–177rsvd
178–210Staged Control Set 1mesmo layout de 145–177 (178–185 configuração do caminho de dados, 186–210 alvos de SI)
211–255Controles e máscaras de saída de RxOutputDisableRx, 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ê)

ByteCampoBits / conteúdo
128DPStateHostLane 1–23–0 estado da lane 1 · 7–4 estado da lane 2 (tabela de códigos abaixo)
129DPStateHostLane 3–4como acima
130DPStateHostLane 5–6
131DPStateHostLane 7–8
132–133rsvd
134DPStateChangedFlagbit por lane; com retenção (latched)
135TxFaultFlagbit por lane
136TxLOSFlagbit por lane (LOS do lado do host)
137TxCDRLOLFlagbit por lane
138TxAdaptiveInputEqFailFlagbit por lane
139Alarme alto de potência de Txbit por lane
140Alarme baixo de potência de Tx
141Aviso alto de potência de Tx
142Aviso baixo de potência de Tx
143Alarme alto de polarização de Tx
144Alarme baixo de polarização de Tx
145Aviso alto de polarização de Tx
146Aviso baixo de polarização de Tx
147RxLOSFlagbit por lane (LOS do lado da mídia)
148RxCDRLOLFlagbit por lane
149Alarme alto de potência de Rx
150Alarme baixo de potência de Rx
151Aviso alto de potência de Rx
152Aviso baixo de potência de Rx
153OutputStatusRxbit por lane: 1 = saída de Rx habilitada/válida
154–169Monitores de potência de Tx2 bytes por lane (154–155 lane 1 … 168–169 lane 8), sem sinal, 0,1 µW
170–185Monitores de polarização de Tx2 bytes por lane, 2 µA × multiplicador
186–201Monitores de potência de Rx2 bytes por lane, 0,1 µW
202ConfigStatus lanes 1–23–0 lane 1 · 7–4 lane 2 (tabela de códigos abaixo)
203ConfigStatus lanes 3–4
204ConfigStatus lanes 5–6
205ConfigStatus lanes 7–8
206–213Active Control Set — configuração do caminho de dadosum byte por lane, mesmo layout da página 10h 145–152: a configuração de fato em vigor
214–234Active Control Set — configurações de SIhabilitaçã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
235DPInitPendingbit por lane: 1 = uma configuração staged aguarda ApplyDPInit
236–255rsvd / flags conforme a revisão

Códigos de estado do caminho de dados (bytes 128–131)

CódigoEstadoSignificado
1hDPDeactivatedlane ociosa; Tx desligado
2hDPInitinicializando com a configuração aplicada
3hDPDeinitdesmontando
4hDPActivatedTx ligado, dados fluindo
5hDPTxTurnOnlaser ligando
6hDPTxTurnOfflaser desligando
7hDPInitializedconfigurada, aguardando o Tx enable
0h, 8h–Fhrsvd

Códigos de ConfigStatus (bytes 202–205)

CódigoStatusSignificado
0hConfigUndefinednenhuma configuração aplicada ainda
1hConfigSuccessconjunto staged aceito e em vigor
2hConfigRejectedrejeição genérica
3hConfigRejectedInvalidAppSelcódigo AppSel não anunciado
4hConfigRejectedInvalidDataPathDataPathID não permitido para essa aplicação
5hConfigRejectedInvalidSIalvo de integridade de sinal fora da faixa
6hConfigRejectedLaneInUselane já faz parte de outro caminho de dados ativo
7hConfigRejectedPartialDataPathnem todas as lanes do caminho de dados foram configuradas
8h–Bhrsvd
ChConfigInProgressaplicando
Dh–Fhcustomdo 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áginasConteúdoLayout
20h–23hDescritores2 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–27hAmostras2 bytes por observável, mesmo índice do seu descritor; formatos U16 / S16 / F16
28h–2BhLimiares8 bytes por conjunto de limiares: alarme alto, alarme baixo, aviso alto, aviso baixo
2Ch–2FhFlags e máscarasflags 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

BytesCampoConteúdo
128–129CMD IDidentificador 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–131Comprimento do EPLbytes de payload estendido nas páginas A0h–AFh
132Comprimento do LPLbytes de payload local (0–120)
133CdbChkCodesoma de verificação sobre 128–132 e o LPL: complemento de um de (Σ) mod 256
134Comprimento do RPLcomprimento do payload de resposta gravado pelo módulo
135RplChkCodesoma de verificação da resposta
136–255LPLpayload local (parâmetros do comando / resposta)
A0h–AFh 128–255EPLaté 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


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