CDR — klok- en dataherstel
Een seriële optische link heeft geen afzonderlijke klok: de ontvanger moet de klok uit de gegevensstroom zelf herstellen en de bits vervolgens opnieuw op die klok bemonsteren (‘retimen’). Het circuit dat dit doet is de CDR (clock and data recovery). Waar de CDR zit — in de host of in de module — is een van de bepalende verschillen tussen vormfactoren, en de besturingsbits ervan maken deel uit van het geheugen dat CodingBox leest en codeert.
Wat een CDR doet
- Herstelt de klok uit de binnenkomende bitovergangen met een phase-locked loop.
- Retimeert de gegevens — samplet elk bit opnieuw op de herstelde klokflank, zodat tijdens het traject opgebouwde timingruis (jitter) wordt verwijderd.
- Regenereert scherpe flanken naar de volgende elektronische trap (laserdriver aan de Tx-zijde, host-SerDes aan de Rx-zijde).
Een CDR werkt dus als een jitter-resetpunt. Elke link heeft een jitterbudget dat wordt verdeeld tussen het PCB-spoor van de host, de connector en de module; een retimer in de module geeft de hostzijde meer speling in zijn jitterbudget.
Aan de hostzijde of modulezijde
| Vormfactor | CDR-locatie | Gevolg |
|---|---|---|
| XFP | in de module (XFI-interface) | eenvoudige host, protocolonafhankelijke module; grotere, hetere module |
| SFP+ | op de host (SFI-interface) | kleine, koele, goedkope module; host heeft CDR/EDC nodig; lineaire (LRM)-modules mogelijk |
| SFP28 | meestal in de module | 25G-jitterbudget te krap voor alleen de host |
| QSFP+ 40G | vaak geen in de module | host retimeert 4×10G |
| QSFP28 100G | Tx- en Rx-CDR’s in de module (gebruikelijk) | besturing per lane aan/uit; CDR-present-bits geadverteerd |
| PAM4-modules (QSFP56 / QSFP-DD / OSFP) | DSP — een CDR met signaalegalisatie en FEC-bewustzijn | hoog vermogen; LPO verwijdert hem weer |
Daarom versloeg SFP+ XFP bij compacte 10G-switching, en worden 100G-modules warmer dan 40G-modules.
Waar deze zich in het modulegeheugen bevindt
SFF-8636 (QSFP+/QSFP28) — zie SFF-8636:
| Byte | Veld | Betekenis |
|---|---|---|
| 129 (upper page 00h) | Extended Identifier, bits 3 / 2 | CDR present in Tx / in Rx |
| 98 (lower page) | CDR-besturing | bits 7–4 schakelen Tx CDR per lane in, bits 3–0 schakelen Rx CDR per lane in |
| 5 (lower page) | LOL-vlaggen | bits 7–4 Tx loss of lock per lane, bits 3–0 Rx LOL per lane |
| 194 (upper page 00h) | Options | of aan/uit-besturing van CDR en LOL-vlaggen zijn geïmplementeerd |
CMIS (QSFP-DD, OSFP, QSFP112) — Page 01h adverteert ondersteuning voor Tx/Rx CDR en of bypass bestuurbaar is; Page 10h bevat de besturing voor het inschakelen van Tx/Rx CDR per lane (bypass), en de statusmachine van het datapad bereikt geen activated als een vereiste CDR niet kan locken (CMIS-problemen).
SFF-8472 (SFP/SFP+/SFP28) — geen standaard CDR-besturing; de CDR van de module (indien aanwezig) wordt intern beheerd. Het verwante voor de host zichtbare mechanisme is rateselectie, waarmee de ontvangerbandbreedte tussen snelheidsklassen wisselt.
Waarom dit in de praktijk belangrijk is
- Multirate-modules. Een CDR vergrendelt op een snelheidsbereik. Een 25G-module op 10G, of een 100G QSFP28 die is opgesplitst naar 4×10G, moet een CDR hebben die de lagere snelheid ondersteunt — of de host moet deze bypassen (byte 98 / CMIS). ‘Werkt op 25G, dood op 10G’ wijst meestal hierop.
- Loss of lock als diagnose. LOL-vlaggen betekenen dat de CDR geen klok kan herstellen: het signaal is te verslechterd, de snelheid is verkeerd, of er is geen signaal — controleer Rx-vermogen en snelheidsinstellingen voordat u de module verdenkt (DDM-niveaus).
- Vermogen en latentie. Elke retimer kost vermogen (tientallen tot honderden mW bij 25G; watt voor PAM4 DSP’s) en voegt latentie toe. Korte DAC-links en latentiegevoelige fabricnetwerken werken vaak met omzeilde CDR.
- Codeerconsistentie. Bij het hercoderen van een QSFP28 moeten de CDR-present-bits (byte 129) met de hardware overeenkomen: een host die denkt dat CDR’s aanwezig zijn, kan ze ingeschakeld laten bij een snelheid die de ontbrekende of andere CDR niet aankan. Zie Hardwarespecificaties QSFP-familie.
In CodingBox
De EEPROM editor noemt deze velden bij aanwijzen — CDR present, CDR control, LOL flags, Options — volgens SFF-8636 of CMIS, zodat u de CDR-configuratie van een module kunt lezen, kunt zien of een lane loss of lock heeft, en de CDR-bits bij het coderen van de identiteit consistent met de hardware kunt houden.
‘Links bij 25G, dood bij 10G’ en andere symptomen van snelheidsvergrendeling worden behandeld in Problemen met snelheid, rate en modus.
Waar de CDR zich bevindt tussen driver, TIA en controller, en hoe PAM4-modules deze opnemen in een DSP met signaalegalisatie en gearboxing: Module-elektronica, Modulatie & DSP.
Welke hostinterfaces een geretimeerde module verwachten (XFI, CAUI-4 C2M, PAM4 AUIs) en welke een lineaire verdragen (SFI, LPO): XGMII, XAUI en de AUI-familie.