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
- PatentView / EP1133123 64b / 66b koding for pakkede serielle data (engelsk)
- 10 Gigabit Ethernet / FibreChannel Reference Design (PDF; 169 kB) applikasjonsmerknad, Xilinx, 2006 (engelsk)