- Leitungscode
-
Der Leitungscode bzw. Leitungskode legt bei der digitalen Telekommunikation fest, wie ein Signal auf der physikalischen Ebene übertragen wird. Dabei werden bestimmte Pegelfolgen, etwa Lichtintensitäten auf Glasfasern oder Spannungen oder Ströme auf elektrischen Leitungen, binären Bitsequenzen im Datenstrom zugeordnet.
Inhaltsverzeichnis
Allgemeines
Die Aufgabe der Leitungscodierung (bzw. Leitungskodierung) ist, das zu übertragende Signal spektral zu formen, um es so möglichst optimal an die Eigenschaften eines Übertragungsmediums anzupassen. So kann beispielsweise der Gleichspannungsanteil unterdrückt werden. Daneben wird eine Taktrückgewinnung möglich. Bei manchen Leitungscodes wird die erforderliche Leitungsbandbreite verringert. Übertragungsstrecken können so besser ausgenutzt werden, denn die Übertragungsreichweite hängt ursächlich mit der Betriebsdämpfung zusammen. Für ein metallisches Kabel gilt näherungsweise, dass die Dämpfungskonstante proportional der Wurzel aus der Frequenz ist: höhere Frequenzen werden stärker gedämpft als tiefe Frequenzen. Deswegen sollte der Code bei einer möglichst geringen Frequenz das Maximum der Leistungsdichte und der spektrale Verlauf eine geringe Bandbreite haben.
Nicht zu verwechseln ist die Leitungscodierung mit der Kanalkodierung oder der Quellenkodierung: Die Kanalcodierung hat die Aufgabe, durch zusätzlich eingebrachte Redundanz Übertrags- bzw. Speicherfehler im Rahmen der Datenübertragung bzw. Datenspeicherung erkennen und korrigieren zu können, während die Quellencodierung überflüssige (redundante) Information einer Datenquelle reduziert und auch als Datenkompression bezeichnet wird.
Manche Leitungscodes sind gleichanteilsfrei, d.h. deren zeitlicher Mittelwert ist 0. Dies ist dann wichtig, wenn in einer bestimmten Anwendung die elektrische Übertragung von Gleichspannung über den Kanal nicht möglich ist. Die Notwendigkeit für Gleichanteilsfreiheit kann beispielsweise durch Impulstransformatoren zur galvanischen Trennung im Übertragungsweg vorgegeben sein, welche keine Gleichspannung passieren lassen.
Binäre Leitungscodes
Im auch schaltungstechnisch einfachsten Fall wird den logischen Zuständen 0 und 1 ein Logikpegel auf der physikalischen Leitung zugeordnet und wird auch als Non Return to Zero (NRZ) bezeichnet, d.h. es gibt keinen Zustand auf der Leitung welche keine Information trägt.
Beispielsweise entspricht bei dem seriellen EIA-232-Schnittstelle (RS-232) aus den 1960er Jahren etwa eine negative Spannung einer logischen Eins, eine positive Spannung einer logischen Null, dies wird auch als antipodale Codierung bezeichnet. Werden jetzt lauter Einsen übertragen, tut sich auf der Leitung nichts. Dadurch können bei asynchronem Takt nur wenige Bits in einem Block übertragen werden, die mit einer Startsequenz gekennzeichnet werden, oder es ist eine zusätzliche Taktleitung zur Synchronisation nötig. EIA-232 schreibt ein 0-Bit (Startbit) am Beginn jeder Sequenz von 5 bis 8 Bit Nutzdaten (plus einem eventuellen Paritätsbit) und ein bis zwei 1-Bits (Stoppbits) an deren Ende vor. Die Stoppbits können beliebig verlängert werden, eine konstante 1 bedeutet daher "keine Datenübertragung". Diese Kodierung ist nicht gleichspannungsfrei (je nach Dateninhalt können 1-Bits oder 0-Bits deutlich überwiegen), wodurch lange Kabel unmöglich sind. EIA-232 gleicht diesen Nachteil teilweise aus durch die Verwendung recht hoher Spannungen (üblicherweise +/- 12V), was aber eigene Probleme mit sich bringt und sich daher in neueren Normen nicht durchgesetzt hat.
Serielle Übertragung (EIA-232):
Start Stop Datenbits: 1 1 0 1 0 0 0 1 Leitungsbits: .... 0 1 1 0 1 0 0 0 1 1 1 .... Spannungspegel: ---- + - - + - + + + - - - ----
Manchesterkodierung
Bei der Manchesterkodierung entspricht eine Null-Eins-Folge einer logischen Null (steigende Flanke), eine Eins-Null-Folge (fallende Flanke) einer logischen Eins:
Hierdurch wird erreicht, dass
- 1. stets Pegelwechsel zur Taktrückgewinnung vorhanden sind,
- 2. der Gleichanteil im Mittel immer gleich Null ist.
- 3. Es verdoppelt sich die erforderliche Symbolrate am Übertragungskanal.
Beim differentiellen Manchestercode steht ein Polaritätswechsel am Taktanfang für eine logische Null (zwei Flankenwechsel pro Bit), bei einer logischen Eins erfolgt kein Polaritätswechsel am Taktanfang (ein Flankenwechsel pro Bit).
Taktrückgewinnung
Durch die permanenten Pegelwechsel wird eine Taktrückgewinnung möglich. Eine gesonderte Leitung für den Takt erübrigt sich daher. Im Falle der Manchestercodierung wird eine Startsequenz mit einer Folge von vielen Eins-Null-Datensequenzen (ca. 10-30) - 1010101010... auf der Leitung – was effektiv einer 11111-Folge am Eingang des Kodierers entspricht - eine PLL im Empfänger synchronisiert. Eine Eins-Null-Sequenz (1001 auf der Leitung) startet die eigentliche Datenübertragung. Danach folgt ein Datenpaket mit mehreren tausend Bits.
Taktrückgewinnung durch PLL bei Manchesterkodierung:
PLL wird synchr. | PLL bleibt synchronisiert Start Datenbits: 0 1 1 0 0 0 0 0 0 1 ... Sync/Daten: 1 1 1 1 1 ...1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 ... Leitungsbits: 1010101010...1010101001 1001 01101001010101010110... Pegel: +-+-+-+-+-...+-+-+-+-+- +--+ -++-+--+-+-+-+-...
Kodierungen mit mehrere Bits langen Blöcken
Der Leitungscode hat bei der Manchestercodierung doppelt so viele Bits wie der Datenstrom, er ist hinsichtlich der erforderlichen Datenrate ungünstig, die Bandbreite hängt nur von der Flanke eines Bits ab, je steiler diese Flanke ist, desto mehr Bandbreite wird benötigt. Binäre Übertragungen sind somit für Kanäle mit begrenzter Bandbreite (z. B. Luft) nicht geeignet; ein Kanalcodierer muss nachgeschaltet werden. Andere Kodierungen, etwa 4 Datenbits auf 5 Codebits (4B5B), sind hier besser, daneben wird bei mehreren Bits eine Fehlererkennung möglich:
- 3. Verringerung der erforderlichen Leitungsdatenrate
- 4. Fehlererkennung
Statt zwei (+/-, binär) können bei elektrischer Übertragung auch drei (+/=/-, ternär) oder noch mehr Spannungspegel eingesetzt werden.
Block-Code (4 Bits auf 3 Ternär-Pegel, 4B3T):
Datenbits: 0 1 1 0 0 0 1 0 Datenblöcke: | 0110 | 0010 | Ternärcode: | ==+ | -=+ | Spannungspegel: 0 0 + - 0 +
Block-Codes
So genannte Block-Codes werden gewöhnlich mit pBqX bezeichnet. Dabei werden „p“ Bits eines Binärwortes zusammengefasst und zu einem Block der Länge q in einer X-Darstellung codiert. Der Vorteil dieser Vorgehensweise liegt darin, dass die Schrittgeschwindigkeit durch diese Codierung um den Faktor „p“ reduziert wird, wodurch sich auch die Dämpfungskonstante reduziert und eine größere Übertragungsreichweite möglich wird. Allerdings wird mit steigender Stufenzahl das Signal auch störanfälliger.
- 4B5B ist ein Code, der jeweils 4 Bits auf 5 Bits abbildet, also 16 (24) Block-Codes auf 32 (25) Leitungscodes. Der Code ist nicht gleichstromfrei, kann aber durch Verwendung von MLT-3 mit drei Spannungspegeln gleichstromfrei gemacht werden. Auch hier ist die Taktrückgewinnung ein wesentliches Ziel. Gegenüber einfacheren Verfahren wie der Manchestercodierung wird die erforderliche Bandbreite des Übertragungskanals reduziert.
- 4B3T bildet entsprechend je 4 Bits auf eine 3er Gruppe mit drei Spannungsstufen ab (Ternäres Signal), und damit 16 (24) Block-Codes auf 27 (33) Leitungscodes. Manche Block-Codes werden auf mehrere Leitungscodes abgebildet, so dass durch Wahl des „besseren“ Codes der aktuelle Gleichstromanteil jeweils reduziert werden kann. Dazu wird das Vorzeichen des Anteils bei der Übertragung summiert, die Summe beeinflusst die Wahl des Leitungscodes. Merkmale von 4B3T sind Taktrückgewinnung, geringer Gleichstromanteil und Bandbreitenreduktion. Diese Codierung wird auf 34 Mbit/s (E3) und 140 Mbit/s (E4) Koaxialübertragungsstrecken und auch für die UK0-Schnittstelle des ISDN-Basisanschlusses verwendet.
- Der Manchester-Code trägt die Bezeichnung 1B2B (1 Bit auf 2 Bits), nämlich 2 (21) Block-Codes auf 4 (22) Leitungscodes, verwendet von den vier jedoch nur zwei Leitungscodes, 01 und 10, da die beiden anderen keine Spannungswechsel enthalten. Die Kodierung ist simpel, sie ist gleichstromfrei und erlaubt die Taktrückgewinnung. Die erforderliche Leitungsbandbreite ist jedoch größer als ohne Code.
- 2B1Q bildet jeweils 2 (22) Bits auf einen Spannungspegel mit 4 (41) Stufen ab (Quaternärer Code). Der Code ermöglicht Bandbreitenreduktion, jedoch keine Taktrückgewinnung und keine Gleichstromfreiheit.
Umsetzung auf Spannungs- oder Intensitätspegel
Die Kodierung eines Leitungscodes wie 4B5B oder 8B10B wandelt eine Binärfolge in eine weitere Binärfolge um. Die kodierte Bitfolge muss dann noch auf Intensitäten umgesetzt werden. Mit NRZ (non return to zero) wird die einfache Zuordnung von logischen Werten (0 und 1) auf zwei Pegel bezeichnet. Bei NRZ-I werden ebenfalls nur zwei Pegel benutzt, die logische 1 wird jedoch einem Pegelwechsel zugeordnet, während eine logische 0 den Pegel konstant hält. FDDI verwendet bei der Übertragung über Glasfasern zum Beispiel erst 4B5B und dann NRZ-I. Bei der elektrischen Übertragung von Ethernet mit 100 Mbit/s über Twisted-Pair-Kabel (100-Base-TX) wird ebenfalls zunächst 4B5B verwendet. Daran wird zur Reduktion des Gleichspannungsanteils der drei-Pegel-Code MLT-3 angefügt (Pseudoternärsignal). Das wenig verbreitete Ethernet über Glasfaser (100-Base-FX) verwendet aber 4B5B/NRZ-I.
Bekannte Leitungscodes (Auswahl)
- NRZ-Code
- RZ-Code (Weiterentwicklung des NRZ-Codes)
- MLT-3-Code (gleichstromarme Umsetzung von Binärfolgen auf drei Spannungspegel)
- Manchester-Code (10 Mbit/s Ethernet) und differentieller Manchester-Code (Token-Ring)
- Biphase-Mark-Code
- Run Length Limited Codes (RLL) wie beispielsweise:
- 4B5B-Code (FDDI, 100 Mbit/s Ethernet)
- 8B10B-Code (Gigabit Ethernet)
- 64b66b-Code (10 Gigabit Ethernet)
- HDB3-Code (ISDN-Primärmultiplexanschluss UK2)
- AMI-Code (modifizierter AMI-Code bei ISDN-Basisanschluss S0)
- B8ZS
- MMS43- oder 4B3T-Code (ISDN-Basisanschluss UK0)
- 2B1Q-Code (Teilnehmeranschlüsse, HDSL)
- Carrier Amplitude and Phase
- Digitale Frequenzmodulation
Weblinks
Commons: Leitungscode – Sammlung von Bildern, Videos und Audiodateien
Wikimedia Foundation.