Carte des registres CMIS : pages de voie (10h, 11h, VDM, CDB)
Tout ce qui concerne chaque voie dans un module CMIS vit dans des pages en banques : la banque b (octet inférieur 126) couvre les voies 8b+1 … 8b+8. La page 10h est celle où l’hôte écrit — initialisation du chemin de données, désactivation Tx, polarité, squelch, égalisation et les jeux de commande étagés qui sélectionnent les applications ; la page 11h est celle où il relit — états du chemin de données, indicateurs par voie, mesures, état de configuration et le jeu de commande actif. Les pages 20h–2Fh contiennent le VDM et 9Fh la boîte aux lettres CDB. Cette page recense les octets clés, compilée d’après CMIS 5.x (la position de certains champs d’intégrité du signal diffère entre 4.x et 5.x ; ceux-ci sont donnés sous forme de plages). Présentation : CMIS.
Légende : les octets par voie utilisent le bit n−1 pour la voie n (bit 0 = voie 1 … bit 7 = voie 8) ; les champs en quartet utilisent les bits 7–4 pour la voie impaire et 3–0 pour la voie paire de chaque paire, sauf indication contraire · rsvd = réservé.
Page 10h — commande de voie (écritures de l’hôte)
| Octet | Champ | Bits / contenu |
|---|---|---|
| 128 | DPDeinitLane | bit par voie : 1 = désinitialiser (amener le chemin de données de la voie à DPDeactivated) |
| 129 | rsvd | — |
| 130 | OutputDisableTx | bit par voie : 1 = sortie Tx (laser) éteinte |
| 131 | PolarityFlipTx | bit par voie : inverser l’entrée électrique Tx |
| 132 | SquelchDisableTx | bit par voie : 1 = désactiver le squelch automatique de Tx |
| 133 | ForceSquelchTx | bit par voie : 1 = forcer le squelch de Tx |
| 134 | rsvd | — |
| 135 | AdaptiveInputEqEnableTx | bit par voie : 1 = égalisation d’entrée adaptative côté hôte |
| 136 | AdaptiveInputEqRecallTx | bit par voie : rappeler le réglage d’égalisation enregistré (4.x : geler) |
| 137 | rsvd | — |
| 138–141 | FixedInputEqTargetTx | quartet par voie (138 : voies 1–2 … 141 : voies 7–8) : code d’égalisation d’entrée fixe 0–15 |
| 142 | rsvd | — |
| 143 | ApplyDPInitLane | bit par voie : 1 = appliquer le Staged Control Set 0 et exécuter DPInit |
| 144 | ApplyImmediateLane | bit par voie : appliquer SCS0 sans réinitialiser le chemin de données |
| 145–152 | Staged Control Set 0 — configuration du chemin de données | un octet par voie (145 = voie 1 … 152 = voie 8) : bits 7–4 AppSelCode (1–15 = index de descripteur, 0 = aucun) · 3–1 DataPathID (première voie hôte du chemin de données − 1) · 0 ExplicitControl (1 = utiliser les réglages SI ci-dessous au lieu des valeurs par défaut de l’application) |
| 153 | SCS0 AdaptiveInputEqEnableTx | bit par voie |
| 154 | SCS0 AdaptiveInputEqRecallTx | bit par voie |
| 155 | rsvd | — |
| 156–159 | SCS0 FixedInputEqTargetTx | quartet par voie |
| 160 | SCS0 CDREnableTx | bit par voie : 1 = CDR Tx actif, 0 = bypass |
| 161 | SCS0 CDREnableRx | bit par voie |
| 162–165 | SCS0 OutputEqPreCursorTargetRx | quartet par voie |
| 166–169 | SCS0 OutputEqPostCursorTargetRx | quartet par voie |
| 170–173 | SCS0 OutputAmplitudeTargetRx | quartet par voie |
| 174–177 | rsvd | — |
| 178–210 | Staged Control Set 1 | même disposition que 145–177 (178–185 configuration du chemin de données, 186–210 cibles SI) |
| 211–255 | Commandes et masques de sortie Rx | OutputDisableRx, PolarityFlipRx, SquelchDisableRx par voie ; masques d’indicateurs pour la page 11h (positions d’octet selon la révision) |
Flux de sélection : écrire 145–152 → positionner 143 pour les voies → interroger la page 11h 202–205 pour ConfigStatus → lire 128–131 pour l’état du chemin de données — CMIS, Vitesse et débit.
Page 11h — état de voie (lectures de l’hôte)
| Octet | Champ | Bits / contenu |
|---|---|---|
| 128 | DPStateHostLane 1–2 | 3–0 état de la voie 1 · 7–4 état de la voie 2 (table de codes ci-dessous) |
| 129 | DPStateHostLane 3–4 | comme ci-dessus |
| 130 | DPStateHostLane 5–6 | — |
| 131 | DPStateHostLane 7–8 | — |
| 132–133 | rsvd | — |
| 134 | DPStateChangedFlag | bit par voie ; verrouillé |
| 135 | TxFaultFlag | bit par voie |
| 136 | TxLOSFlag | bit par voie (LOS d’entrée côté hôte) |
| 137 | TxCDRLOLFlag | bit par voie |
| 138 | TxAdaptiveInputEqFailFlag | bit par voie |
| 139 | alarme haute de puissance Tx | bit par voie |
| 140 | alarme basse de puissance Tx | — |
| 141 | avertissement haut de puissance Tx | — |
| 142 | avertissement bas de puissance Tx | — |
| 143 | alarme haute de bias Tx | — |
| 144 | alarme basse de bias Tx | — |
| 145 | avertissement haut de bias Tx | — |
| 146 | avertissement bas de bias Tx | — |
| 147 | RxLOSFlag | bit par voie (LOS côté média) |
| 148 | RxCDRLOLFlag | bit par voie |
| 149 | alarme haute de puissance Rx | — |
| 150 | alarme basse de puissance Rx | — |
| 151 | avertissement haut de puissance Rx | — |
| 152 | avertissement bas de puissance Rx | — |
| 153 | OutputStatusRx | bit par voie : 1 = sortie Rx activée/valide |
| 154–169 | Mesures de puissance Tx | 2 octets par voie (154–155 voie 1 … 168–169 voie 8), non signé, 0,1 µW |
| 170–185 | Mesures de bias Tx | 2 octets par voie, 2 µA × multiplicateur |
| 186–201 | Mesures de puissance Rx | 2 octets par voie, 0,1 µW |
| 202 | ConfigStatus voies 1–2 | 3–0 voie 1 · 7–4 voie 2 (table de codes ci-dessous) |
| 203 | ConfigStatus voies 3–4 | — |
| 204 | ConfigStatus voies 5–6 | — |
| 205 | ConfigStatus voies 7–8 | — |
| 206–213 | Active Control Set — configuration du chemin de données | un octet par voie, même disposition que la page 10h 145–152 : la configuration réellement en vigueur |
| 214–234 | Active Control Set — réglages SI | activation/rappel d’égalisation adaptative, égalisation fixe, CDR Tx/Rx, pré/post-curseur Rx, amplitude Rx — reflet de la disposition SCS |
| 235 | DPInitPending | bit par voie : 1 = une configuration étagée attend ApplyDPInit |
| 236–255 | rsvd / indicateurs selon la révision | — |
Codes d’état du chemin de données (octets 128–131)
| Code | État | Signification |
|---|---|---|
| 1h | DPDeactivated | voie inactive ; Tx éteint |
| 2h | DPInit | initialisation avec la configuration appliquée |
| 3h | DPDeinit | désinitialisation |
| 4h | DPActivated | Tx allumé, données en circulation |
| 5h | DPTxTurnOn | le laser s’allume |
| 6h | DPTxTurnOff | le laser s’éteint |
| 7h | DPInitialized | configuré, en attente de l’activation Tx |
| 0h, 8h–Fh | rsvd | — |
Codes ConfigStatus (octets 202–205)
| Code | État | Signification |
|---|---|---|
| 0h | ConfigUndefined | aucune configuration appliquée pour l’instant |
| 1h | ConfigSuccess | jeu étagé accepté et en vigueur |
| 2h | ConfigRejected | rejet générique |
| 3h | ConfigRejectedInvalidAppSel | code AppSel non annoncé |
| 4h | ConfigRejectedInvalidDataPath | DataPathID non autorisé pour cette application |
| 5h | ConfigRejectedInvalidSI | cible d’intégrité du signal hors plage |
| 6h | ConfigRejectedLaneInUse | voie déjà utilisée par un autre chemin de données actif |
| 7h | ConfigRejectedPartialDataPath | toutes les voies du chemin de données n’ont pas été configurées |
| 8h–Bh | rsvd | — |
| Ch | ConfigInProgress | application en cours |
| Dh–Fh | custom | fournisseur |
Page 12h — commande du laser accordable (par voie)
Réglage du numéro de canal, réglage de longueur d’onde/fréquence, décalage d’ajustement fin, état de réglage et indicateurs par voie, avec les capacités sur la page 04h — Cartes accordables.
Pages 20h–2Fh — VDM (Versatile Diagnostics Monitoring)
| Pages | Contenu | Disposition |
|---|---|---|
| 20h–23h | Descripteurs | 2 octets par observable (128–255 → 64 par page, 256 au total) : octet 0 bits 7–4 ID de l’ensemble de seuils, 3–0 voie (0 = niveau module) ; octet 1 type d’observable (1 âge du laser · 2 courant TEC · 3 erreur de fréquence du laser · 4 température du laser · 5/6 eSNR média/hôte · 7/8 transition de niveau PAM4 média/hôte · 9–16 TEB pré-FEC min/max/moy/actuel média/hôte · 17–24 FERC min/max/moy/actuel média/hôte · 128+ ensemble cohérent) |
| 24h–27h | Échantillons | 2 octets par observable, même index que son descripteur ; formats U16 / S16 / F16 |
| 28h–2Bh | Seuils | 8 octets par ensemble de seuils : alarme haute, alarme basse, avertissement haut, avertissement bas |
| 2Ch–2Fh | Indicateurs et masques | indicateurs d’alarme/avertissement par observable (2Ch–2Dh) et masques (2Eh–2Fh) |
Format de rapport F16 : bits 15–11 exposant e, bits 10–0 mantisse m ; valeur = m × 10^(e − 24). Détails : Métriques VDM et FEC.
Page 9Fh — bloc de commande CDB
| Octets | Champ | Contenu |
|---|---|---|
| 128–129 | ID de commande | identifiant de commande, MSB en premier (0000h interroger l’état · 0040h fonctionnalités du module · 0041h fonctionnalités de gestion du firmware · 0100h obtenir les infos firmware · 0101h démarrer le téléchargement du firmware · 0102h annuler · 0103h écrire un bloc de firmware LPL · 0104h écrire un bloc de firmware EPL · 0107h terminer le téléchargement · 0109h exécuter l’image · 010Ah valider l’image) |
| 130–131 | Longueur EPL | octets de charge utile étendue dans les pages A0h–AFh |
| 132 | Longueur LPL | octets de charge utile locale (0–120) |
| 133 | CdbChkCode | somme de contrôle sur 128–132 et le LPL : complément à un de (Σ) mod 256 |
| 134 | Longueur RPL | longueur de la charge utile de réponse écrite par le module |
| 135 | RplChkCode | somme de contrôle de la réponse |
| 136–255 | LPL | charge utile locale (paramètres de commande / réponse) |
| A0h–AFh 128–255 | EPL | jusqu’à 2048 octets de charge utile étendue |
Écrire l’octet 129 (le LSB de l’ID de commande) en dernier déclenche l’exécution ; l’hôte interroge ensuite les octets inférieurs 37–38 (CdbStatus) jusqu’à ce que CdbIsBusy se libère.
Cartes associées
- Carte de la page inférieure CMIS — état du module, indicateurs, applications.
- Carte des pages supérieures CMIS — identité, annonce, seuils.
- Carte de la page inférieure SFF-8636 — le prédécesseur à 4 voies.