CDR — récupération d’horloge et de données
Une liaison optique série ne transporte pas d’horloge séparée : le récepteur doit récupérer l’horloge à partir du flux de données lui-même, puis rééchantillonner (« retimer ») les bits par rapport à elle. Le circuit qui fait cela est le CDR (récupération d’horloge et de données). L’endroit où se trouve le CDR — dans l’hôte ou à l’intérieur du module — est l’une des différences déterminantes entre facteurs de forme, et ses bits de contrôle font partie de la mémoire que CodingBox lit et code.
Ce que fait un CDR
- Extrait l’horloge des transitions de bits entrantes à l’aide d’une boucle à verrouillage de phase.
- Retime les données — rééchantillonne chaque bit sur le front d’horloge récupéré, ce qui élimine le bruit de synchronisation (gigue) accumulé en chemin.
- Régénère des fronts propres vers l’étage suivant (pilote laser côté Tx, SerDes de l’hôte côté Rx).
Un CDR agit donc comme un point de remise à zéro de la gigue. Chaque liaison dispose d’un budget de gigue partagé entre la piste PCB de l’hôte, le connecteur et le module ; un retimer dans le module permet au côté hôte de dépenser sa part plus largement.
Côté hôte ou côté module
| Facteur de forme | Emplacement du CDR | Conséquence |
|---|---|---|
| XFP | dans le module (interface XFI) | hôte simple, module agnostique au protocole ; module plus grand, plus chaud |
| SFP+ | sur l’hôte (interface SFI) | module petit, froid, bon marché ; l’hôte a besoin d’un CDR/EDC ; modules linéaires (LRM) possibles |
| SFP28 | généralement dans le module | budget de gigue 25G trop serré pour un CDR côté hôte seul |
| QSFP+ 40G | souvent aucun dans le module | l’hôte retime le 4×10G |
| QSFP28 100G | CDR Tx et Rx dans le module (typique) | contrôle marche/arrêt par voie ; bits CDR-present signalés |
| Modules PAM4 (QSFP56 / QSFP-DD / OSFP) | DSP — un CDR avec égalisation et prise en compte de la FEC | forte puissance ; le LPO le supprime à nouveau |
C’est exactement pour cela que le SFP+ l’a emporté sur le XFP pour la commutation 10G dense, et pourquoi les modules 100G chauffent plus que les modules 40G.
Où il se trouve dans la mémoire du module
SFF-8636 (QSFP+/QSFP28) — voir SFF-8636 :
| Octet | Champ | Signification |
|---|---|---|
| 129 (page supérieure 00h) | Extended Identifier, bits 3 / 2 | CDR present en Tx / en Rx |
| 98 (page inférieure) | CDR control | bits 7–4 activent le CDR Tx par voie, bits 3–0 activent le CDR Rx par voie |
| 5 (page inférieure) | LOL flags | bits 7–4 perte de verrouillage (loss of lock) Tx par voie, bits 3–0 LOL Rx par voie |
| 194 (page supérieure 00h) | Options | indique si le contrôle marche/arrêt du CDR et les indicateurs LOL sont implémentés |
CMIS (QSFP-DD, OSFP, QSFP112) — la page 01h signale la prise en charge du CDR Tx/Rx et si le bypass est pilotable ; la page 10h contient les commandes d’activation (bypass) du CDR Tx/Rx par voie, et la machine d’état du chemin de données n’atteint pas l’état activated si un CDR requis ne parvient pas à verrouiller (Problèmes CMIS).
SFF-8472 (SFP/SFP+/SFP28) — pas de contrôle CDR standard ; le CDR du module (s’il en a un) est géré en interne. Le mécanisme visible côté hôte associé est le rate select, qui commute la bande passante du récepteur entre des groupes de débit.
Pourquoi c’est important en pratique
- Modules multi-débit. Un CDR se verrouille sur une plage de débit. Un module 25G utilisé à 10G, ou un QSFP28 100G éclaté en 4×10G, doit avoir un CDR qui prend en charge le débit inférieur — sinon l’hôte doit le bypasser (octet 98 / CMIS). « Fonctionne à 25G, mort à 10G » vient généralement de là.
- La perte de verrouillage comme diagnostic. Les LOL flags signifient que le CDR ne parvient pas à récupérer d’horloge : signal trop dégradé, mauvais débit, ou absence de signal — vérifiez la puissance Rx et les réglages de débit avant de soupçonner le module (Niveaux DDM).
- Puissance et latence. Chaque retimer coûte de la puissance (de dizaines à centaines de mW à 25G ; des watts pour les DSP PAM4) et ajoute de la latence. Les liaisons DAC courtes et les fabrics sensibles à la latence fonctionnent souvent avec le CDR bypassé.
- Cohérence du codage. Lors du recodage d’un QSFP28, les bits CDR-present (octet 129) doivent correspondre au matériel : un hôte qui croit des CDR présents peut les laisser activés à un débit que le CDR manquant ou différent ne peut pas gérer. Voir les spécifications matérielles de la famille QSFP.
Dans CodingBox
L'EEPROM editor nomme ces champs au survol — CDR present, CDR control, LOL flags, Options — selon SFF-8636 ou CMIS, pour que vous puissiez lire la configuration CDR d’un module, voir si une voie a perdu le verrouillage, et garder les bits CDR cohérents avec le matériel lors du codage de l’identité.
« Connecté à 25G, mort à 10G » et d’autres symptômes de verrouillage de débit sont traités dans Problèmes de vitesse, débit et mode.
L’emplacement du CDR parmi le pilote, le TIA et le contrôleur, et comment les modules PAM4 l’absorbent dans un DSP avec égalisation et gearboxing : Électronique du module, Modulation et DSP.
Quelles interfaces hôte attendent un module retimé (XFI, CAUI-4 C2M, PAM4 AUIs) et lesquelles tolèrent un module linéaire (SFI, LPO) : XGMII, XAUI et la famille AUI.