64b66b-kod
Den 64b / 66b-kod är en linje -kod som avbildar en 64 bitars dataord till ett 66 bitars kodord. Denna linjekod används i samband med Gigabit Ethernet , såsom 10 Gigabit Ethernet, 40 Gigabit Ethernet och 100 Gigabit Ethernet. 64b / 66b-linjekoden är strukturerad helt annorlunda och har olika spektrala och statistiska egenskaper än t.ex. B. 8b10b-koden .
Liksom varje linjekod används den för att spektralt anpassa en användardatasekvens till de fysiska kraven för överföringsmediet, såsom en linje. Typen av implementering säkerställer särskilt att den genererade kodsekvensen är fri från direkta komponenter , vilket möjliggör överföring via pulstransformatorer som inte tillåter någon direkt komponent att passera i signalen. Pulstransformatorer används för galvanisk isolering i området för det fysiska Ethernet-gränssnittet . Dessutom garanterar 64b / 66b-kodningen att mottagaren kan återställa klockan från kodordet . Detta är nödvändigt så att mottagaren kan känna igen de tider då en viss status sänds.
funktionalitet
De 66 bitarna i ett kodord introduceras av en 2-bitars ingress . De fyra möjliga kombinationerna av inledningen betyder vardera:
- Inledning 01
- Följande 64 bitar är användardata.
- Inledning 10
- Detta följs omedelbart av ett typfält med en längd på 8 bitar med efterföljande 56 bitar styr- och styrinformation eller användardata. Betydelsen beror på typfältet. Typfältet är 8 bitar långt, men endast 16 värden och därmed funktioner är tillåtna; dessa har ett Hamming-avstånd på minst 4 mellan dem.
- Inledning 00 och 11
- Inte tillåtet. Skapa (vid andra tillfället i rad) ett fel vid mottagning.
Användningen av 01 eller 10 som en giltig ingress garanterar en signalkant i ingressen. Som ett resultat kan symbolklockan bestämmas på mottagarsidan med hjälp av en faslåst slinga .
64-bitars användardata eller 56 bitar av kontroll- och övervakningsdata är länkade med hjälp av en självsynkroniserande scrambler , vilket innebär att datafälten bara är fria från konstanta komponenter på lång sikt. Scrambler implementeras i form av ett linjärt återkopplingsskiftregister . Scrambler-metoden för 64b / 66b-kodning är en stor skillnad jämfört med den tabellbaserade linjekoden 8b10b. Koderna som används i typfältet består av fyra 0 och 1 bitar vardera , så att ingen scrambler krävs.
Förvrängningspolynomet är: x 58 + x 39 + 1.
Ändringar av 64b / 66b-koden
128b / 130b-kod
Inledningen följs inte av 64 bitar, utan 128 bitar. Används med PCI Express version 3 eller högre.
Förvrängningspolynomet är: x 23 + x 21 + x 16 + x 8 + x 5 + x 2 + 1.
128b / 132b-kod
Inledningarna är inte 01 och 10 utan 0011 och 1100. Dessutom, som med 128b / 130b-koden, följer 128 databitar; används med USB 3.1.
64b / 67b-kod
Inledningarna lyder:
- Inledning 001
- Följande 64 bitar är användardata.
- Inledning 101
- Följande 64 bitar är användardata. De är inverterade.
- Inledning 010
- Följande 64 bitar är kontrollinformation.
- Inledning 110
- Följande 64 bitar är kontrollinformation. De är inverterade.
- Förord x 00 och x 11
- Inte tillåtet.
Genom att ställa in den första biten på rätt sätt kan kodaren aktivt motverka DC-drift och begränsa skillnaden till −33 ... +33. I fallet med en 64b / 66b-kod är skillnaden inte begränsad även i det statistiska medelvärdet, vilket leder till baslinjedrift som leder till signifikant sämre överföringsegenskaper än t.ex. B. leder till de av 8b / 10b-koder.
De statistiska och spektrala egenskaperna är mycket mer välvilliga än de för 64b / 66b-kodningen. Den här koden används i Interlaken- protokollet som utvecklats av Cisco Systems och Cortina Systems . används för kommunikation mellan Xilinx och Altera FPGA .
webb-länkar
- PatentView / EP1133123 64b / 66b kodning för paketerade seriella data (engelska)
- 10 Gigabit Ethernet / FibreChannel Reference Design (PDF; 169 kB) applikationsnot, Xilinx, 2006 (engelska)
Individuella bevis
- ↑ Höghastighets I / O-gränssnitt: Interlaken Protocol FTF-NET-F0154. (PDF; engelska)