4B5B
Inom telekommunikation är 4B5B en form av datakommunikationslinjekod . 4B5B mappar grupper om 4 bitar data till grupper om 5 bitar för överföring. Dessa 5-bitars ord är förutbestämda i en ordbok och de är valda för att säkerställa att det kommer att finnas tillräckliga övergångar i linjetillståndet för att producera en självklockningssignal . En bieffekt av koden är att 25 % fler bitar behövs för att skicka samma information.
Ett alternativ till att använda 4B5B-kodning är att använda en scrambler . Vissa system använder scramblers i kombination med 4B5B-kodning för att säkerställa DC-balans och förbättra elektromagnetisk kompatibilitet .
Beroende på standarden eller specifikationen av intresse kan det finnas flera 5-bitars utgångskoder som inte används. Närvaron av någon av de oanvända koderna i dataströmmen kan användas som en indikation på att det finns ett fel någonstans i länken. Därför kan de oanvända koderna användas för att upptäcka fel i dataströmmen.
Ansökningar
4B5B populariserades av Fiber Distributed Data Interface (FDDI) i mitten av 1980-talet. Den antogs för digital ljudöverföring av MADI 1989 och av Fast Ethernet 1995.
Namnet 4B5B anses allmänt betyda FDDI-versionen. Andra 4-till-5-bitars koder har använts för magnetisk inspelning och är kända som gruppkodad inspelning (GCR), men de är (0,2) körlängdsbegränsade koder, med högst två på varandra följande nollor. 4B5B tillåter upp till tre nollor i följd (en (0,3) RLL-kod), vilket ger en större variation av kontrollkoder.
På optisk fiber är 4B5B-utgången NRZI- kodad. FDDI över koppar (CDDI) använder MLT-3-kodning istället, liksom 100BASE-TX Fast Ethernet.
4B5B-kodningen används också för USB Power Delivery -kommunikation, där den skickas via USB-C CC-stiftet (kodas ytterligare med tvåfasmärkeskod ) eller USB-A/B-strömledningarna (vidare kodas med frekvensskiftnyckel ).
Klocka
4B5B-koder är designade för att producera minst två övergångar per 5 bitar av utgångskod oavsett indata. Övergångarna tillhandahåller nödvändiga övergångar för att mottagaren ska kunna utföra klockåterställning . Till exempel innehåller en körning på 4 bitar som 0000 2 med NRZI- kodning inga övergångar och det kan orsaka klockningsproblem för mottagaren. 4B5B löser detta problem genom att tilldela 4-bitarsblocket en 5-bitars kod, i detta fall 11110 2 .
Kodningstabell
|
|
|
Tre på varandra följande nollbitar visas endast i normala data när en kod som slutar med två 0-bitar (2, E) följs av en kod som börjar med en 0-bit (1, 4, 5, 6, 7), så kommer alltid att visas separerade med multiplar av den 5-bitars kodade symbollängden (och aldrig åtskilda av en enda symbol). Överträdelser av den här egenskapen används för speciella synkroniseringskoder.
Kommandotecken
Följande koder kallas ibland för kommandotecken. De används vanligtvis i par, även om USB-PD använder 4-symbolsekvenser för att börja sina paket.
Kontrollkaraktär | 5b symboler | Syfte |
---|---|---|
JK | 11000 10001 | Synkronisera, Starta avgränsare |
jag | 11111 | 100BASE-X tomgångsmarkör |
T | 01101 | USB-PD ändavgränsare |
TT | 01101 01101 | FDDI ändavgränsare |
TS | 01101 11001 | Inte använd |
IH | 11111 00100 | SAL |
TR | 01101 00111 | 100BASE-X ändavgränsare |
SR | 11001 00111 | Inte använd |
SS | 11001 11001 | Inte använd |
H | 00100 | 100BASE-X sändningsfel |
JJJK | 11000 11000 11000 10001 | USB-PD Start Of Packet (SOP) |
JJLL | 11000 11000 00110 00110 | USB-PD SOP′ |
JLJL | 11000 00110 11000 00110 | USB-PD SOP″ |
JSSL | 11000 11001 11001 00110 | USB-PD SOP′_Debug |
JSLK | 11000 11001 00110 10001 | USB-PD SOP″_Debug |
RRRS | 00111 00111 00111 11001 | USB-PD hård återställning |
RJRL | 00111 11000 00111 00110 | USB-PD-kabelåterställning |
Se även
externa länkar
- Simulator - 4B/5B Encoder-linje skriven i Matlab
- CodSim 2.0: Simulator med öppen källkod för digital datakommunikationsmodell vid universitetet i Malaga skriven i HTML