64b66b-kode

Den 64b / 66b-koden er en linjekode som avbilder en 64 bits dataord inn i et 66 b kodeord. Denne linjekoden brukes i sammenheng med Gigabit Ethernet , for eksempel 10 Gigabit Ethernet, 40 Gigabit Ethernet og 100 Gigabit Ethernet. Linjekoden 64b / 66b er strukturert helt annerledes og har andre spektrale og statistiske egenskaper enn f.eks. B. 8b10b-koden .

Som enhver linjekode brukes den til å tilpasse en brukerdatasekvens spektralt til de fysiske kravene til overføringsmediet, for eksempel en linje. Implementeringstypen sørger spesielt for at den genererte kodesekvensen er fri for direkte komponenter , som tillater overføring via pulstransformatorer som ikke lar noen direkte komponent passere i signalet. Pulstransformatorer brukes til elektrisk isolasjon i det fysiske Ethernet-grensesnittet . I tillegg garanterer 64b / 66b-kodingen at mottakeren kan gjenopprette klokken fra kodeordet . Dette er nødvendig slik at mottakeren kan gjenkjenne tidspunktene da en viss status overføres.

funksjonalitet

De 66 bitene i et kodeord er introdusert av en innledning på 2 bits. De fire mulige kombinasjonene av innledningen betyr hver:

Innledning 01
Følgende 64 bits er brukerdata.
Innledning 10
Dette følges umiddelbart av et typefelt med en lengde på 8 bits med påfølgende 56 bits kontroll- og kontrollinformasjon eller brukerdata. Betydningen avhenger av typefeltet. Typefeltet er 8 bits langt, men bare 16 verdier og dermed funksjoner er tillatt. Disse har en Hamming-avstand på minst 4 mellom seg.
Innledning 00 og 11
Ikke tillatt. Generer (ved andre forekomst på rad) en feil ved mottak.

Bruken av 01 eller 10 som en gyldig innledning sikrer en signalkant i innledningen. Som et resultat kan symbolklokken bestemmes på mottakersiden ved hjelp av en faselåst sløyfe .

64-biters brukerdata eller 56 bits kontroll- og overvåkingsdata er koblet sammen ved hjelp av en selvsynkroniserende scrambler , noe som betyr at datafeltene bare er fri for konstante komponenter på langt sikt. Scrambler er implementert i form av et lineært tilbakemeldingsskiftregister . Scrambler-tilnærmingen til 64b / 66b-koding er en stor forskjell sammenlignet med den tabellbaserte linjekoden 8b10b. Kodene som brukes i typefeltet består av fire 0 og 1 bits hver , slik at det ikke kreves noen scrambler.

Det krypterende polynomet er: x 58 + x 39 + 1.

Endringer i 64b / 66b-koden

128b / 130b-kode

Innledningen følges ikke av 64 bits, men 128 bits. Brukes med PCI Express versjon 3 eller høyere.

Det krypterende polynomet er: x 23 + x 21 + x 16 + x 8 + x 5 + x 2 + 1.

128b / 132b-kode

Innledningene er ikke 01 og 10, men 0011 og 1100. Som med 128b / 130b-koden, følger 128 databiter; brukes med USB 3.1.

64b / 67b-kode

Innledningen lyder:

Innledning 001
Følgende 64 bits er brukerdata.
Innledning 101
Følgende 64 bits er brukerdata. De er omvendte.
Innledning 010
Følgende 64 bits er kontrollinformasjon.
Innledning 110
De følgende 64 bitene er kontrollinformasjon. De er omvendte.
Forord x 00 og x 11
Ikke tillatt.

Ved å stille den første biten riktig, kan koderen aktivt motvirke DC-drift og begrense ulikheten til −33 ... +33. Når det gjelder en 64b / 66b-kode, er forskjellen ikke begrenset selv i det statistiske gjennomsnittet, noe som fører til grunnlinjedrift som fører til signifikant dårligere overføringsegenskaper enn f.eks. B. de av 8b / 10b-koder.

De statistiske og spektrale egenskapene er mye mer velvillige enn 64b / 66b-kodingen. Denne koden brukes i Interlaken- protokollen utviklet av Cisco Systems og Cortina Systems . brukes til kommunikasjon mellom Xilinx og Altera FPGAer .

weblenker

Individuelle bevis

  1. Høyhastighets I / O-grensesnitt: Interlaken Protocol FTF-NET-F0154. (PDF; engelsk)