SerDes

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 23. februar 2021; checks kræver 2 redigeringer .

Serializer/Deserializer ( SerDes ) er et par funktionsblokke, der almindeligvis bruges i højhastighedskommunikation til at konvertere data mellem serielle og parallelle grænseflader i begge retninger. Udtrykket "SerDes" refererer til generiske grænseflader, der bruges i forskellige teknologier og applikationer. Den primære anvendelse af SerDes er at levere højhastighedsdataoverførsel over en enkelt linje eller differentielt par for at reducere antallet af I/O-ben på en chip og sammenkoblingen mellem komponenter.

Generel funktion

Hovedstrukturen i SerDes er opdelt i to funktionelle blokke: en parallel-til-seriel konverterblok (PISO, Parallel In Serial Out ) og en seriel-til-parallel konverterblok (SIPO, Serial In Parallel Out ). Der er fire forskellige SerDes-arkitekturer:

  1. SerDes med parallel clocking;
  2. SerDes med intern clocking;
  3. 8b/10b SerDes (eller mere komplekse koder);
  4. SerDes med bit interleaving.

En PISO parallel-til-seriel konverterblok har typisk en parallel clock-indgang, et sæt datainputlinjer og en datahold-input. Den kan bruge en intern eller ekstern  faselåst sløjfe (PLL)  til at multiplicere det indkommende parallelle clock-signal til den serielle output-clock-frekvens. Den enkleste form for PISO har kun et  skifteregister , som tager parallelle data med parallel clocking og fremfører dem med en højere seriel clock-hastighed. Implementeringer kan også bruge register dobbelt buffering for at undgå metastabilitet ved overførsel af data mellem dele med forskellige klokhastigheder.

SIPO'er, seriel-til-parallel-konverterenheden, har typisk en input-clock-output, et sæt output-datalinjer og output-datalåse. Modtagelsesuret kan gendannes fra dataene ved hjælp af urgendannelsesmetoden. SerDe'er, der ikke transmitterer clocksignaler, bruger imidlertid referenceure til at låse PLL'en til den påkrævede TX-frekvens for at undgå de lavfrekvente harmoniske, der er til stede i datastrømmen . SIPO-blokken sænker det indkommende ur for den parallelle udgang. Implementeringer har typisk to registre forbundet som en dobbelt buffer. Det ene register bruges til at clocke den serielle strøm, og det andet bruges til at lagre data på den langsommere, parallelle side.

Nogle typer SerDes inkluderer en kodnings-/afkodningsblok. Formålet med en sådan kodning og afkodning er sædvanligvis at ændre de statistiske egenskaber af det transmitterede signal for at lette clock-gendannelse ved modtageren og opretholde rammesynkronisering. Kodningen kan også give DC balance.

SerDes med parallel clocking

Parallelle clockede SerDe'er bruges typisk til at serialisere en parallel inputbus sammen med adresse- og styresignaler. Den serialiserede stream sendes sammen med ursignalet. Uret jitter i størrelsesordenen 5-10 ps rms.

SerDes med indbygget clocking

SerDes med intern clocking serialiserer data og clocking i en enkelt strøm. Først transmitteres en clock-cyklus og derefter databitstrømmen; dette skaber en periodisk stigende kant i begyndelsen af ​​databitstrømmen. Da urene er indlejret og kan udtrækkes fra bitstrømmen, er jittertolerancen for serialisering (sender) 80-120 ps rms, mens referenceklokkeforskellen i deserializeren kan være ±50.000 ppm (dvs. 5%).

8V/10V SerDes

SerDes type 8b/10b oversætter hver byte af data til en 10-bit kode, før dataene serialiseres. Deserializeren bruger referencefrekvensen til at styre de genvundne ure fra bitstrømmen. Da clockinformationen er generaliseret i databitstrømmen og ikke eksplicit indlejret i den, er rms-jitteren for serializeren (senderen) i området 5-10 ps, ​​og referencefrekvensforskellen i deserializeren er ca. ±100 ppm .

Standardkodningsskemaet, der bruges i SerDes, er 8b/10b-kodning . Dette opretholder DC-balance, sikrer indramning og garanterer hyppige overgange. Garanteret overgange gør det muligt for modtageren at udtrække indlejrede ure. Kontrolkoder tillader indramning, normalt i starten af ​​en pakke. Typisk parallel sidegrænseflade SerDes 8b/10b har en clock-linje, en kontrollinje og 8 datalinjer.

En sådan serializer er sammen med en 8b/10b encoder og en deserializer-plus-dekoder-blok defineret i Gigabit Ethernet - specifikationen  .

Et andet standardkodningsskema, der bruges med SerDes, er 64b/66b-kodning. Dette kredsløb giver statistisk DC balance og scrambler overgange. Framingen leveres via deterministiske overgange i tilføjede framing bits.

Sådanne serializer-plus-64b/66b-koder og deserializer-plus-dekoder-blokke er defineret i  10 Gigabit Ethernet -specifikationen . Transmissionsdelen indeholder en 64b/66b encoder, en encoder og en gearkasse, der konverterer et 66b signal til et 16-bit interface. En anden serializer konverterer derefter denne 16-bit grænseflade til et serielt signal.

Bit-interleaved SerDes

Bit-interleaved SerDes multiplekser flere langsomme serielle datastrømme til hurtigere serielle strømme, og modtageren demultiplekser de hurtigere bitstrømme tilbage til langsommere strømme.

SerDes standardisering

The Optical Internetworking Forum ( OIF ) har udgivet Interoperability Agreements ( IAs  ) for Common Electrical I/O , inden for hvilke 5 generationer er blevet defineret SerDes elektriske grænseflader, der opererer ved 3.125, 6, 10, 28 og 56 Gbps. FPMO annoncerede også nye projekter, der opererer ved 112 Gbps [1] . Derudover er der offentliggjort beskrivelser af tre tidligere generationer af elektriske grænseflader. Disse konventioner er enten blevet tilpasset eller vedtaget i varierende grad eller påvirket de elektriske grænseflader defineret af IEEE 802.3 , InfiniBand , Serial RapidIO , Fibre Channel og mange andre standarder.   

Noter

  1. Accelererende chips med 112G XSR SerDes PHYs Arkiveret 10. december 2019 på Wayback Machine 

Links