Leitungscode
Der Leitungscode bzw. -kode legt bei der digitalen Nachrichtenübermittlung die Kodierung des Signals auf physikalischer Ebene fest. Dabei werden zum Beispiel unterschiedliche Spannungsfolgen binären Symbolen zugeordnet.
Einfache Spannungspegel
In einfachsten Fall wird den logischen Zuständen 0 und 1 ein Spannungspegel auf der physikalischen Leitung zugeordnet. Beim seriellen RS-232-Protokoll entspricht etwa eine negative Spannung einer logischen Eins, eine positive Spannung einer logischen Null. Werden jetzt lauter Nullen übertragen, tut sich auf der Leitung nichts. Dadurch können bei asynchronem Takt nur wenige (5 bis 8) Bits in einem Block übertragen werden, die mit einer Startsequenz gekennzeichnet werden, oder es ist eine zusätzliche Taktleitung zur Synchronisation nötig.
Manchestercodierung
Dies wird durch die Manchestercodierung geändert: Hier entspricht eine Null-Eins-Folge einer logischen Eins (steigende Flanke), eine Eins-Null-Folge (fallende Flanke) einer logischen Null:
Manchestercode:
Datenbits: 0 1 1 0 0 0 1 0 Leitungscode: 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 Spannungspegel: - + + - - + + - + - + - - + + -
Hierdurch wird erreicht, dass
- 1. stets Spannungswechsel zur Taktrückgewinnung vorhanden sind,
- 2. der Gleichspannungsanteil (im Mittel) gleich Null ist.
Durch die Spannungswechsel ist eine Taktrückgewinnung möglich. Eine weitere Leitung für den Takt erübrigt sich. Im Falle der Manchestercodierung wird eine Startsequenz mit einer Folge von vielen 10-Datenbits (20-100), also 10011001100110... auf der Leitung, eine PLL synchronisert. Eine 11-Sequenz (...01100110011010 startet die eigentliche Datenübertragung. Dann folgt ein Datenpaket mit mehreren tausend Bits.
Codierungen mit mehreren Bits
Der Leitungscode hat bei der Manchestercodierung doppelt so viele Bits wie der Datenstrom, er ist hinsichtlich der erforderlichen Bandbreite ungünstig. Andere Kodierungen, etwa 4 Datenbits auf 5 Codebits (4B5B), sind hier besser, daneben wird bei mehreren Bits eine Fehlererkennung oder Fehlerkorrektur möglich:
- 3. Verringerung der erforderlichen Leitungsbandbreite
- 4. Fehlererkennung oder -korrektur
Bei der digitalen Datenübertragung werden Leitungscodes bzw. Leitungskodes benutzt. Oft werden statt zwei (+/-) auch drei (+,=,-) oder mehr Spannungspegel eingesetzt.
4B3T-Code (4 Bits auf 3 Ternär-Pegel):
Datenbits: 0 1 1 0 0 0 1 0 Datenblocks: 0110 0010 Ternärcode: ==+ -=+ Spannungspegel: 0 0 + - 0 +
Die Leitungscodes sollten gleichspannungsfrei sein, weil eine Übertragung von Gleichspannung über lange Leitungen nicht möglich ist.
Bezeichnungen von Block-Codes
So genannte Block-Codes werden gewöhnlich mit pBqX bezeichnet. Dabei ist "p" die Anzahl der Bits, die in "q" Stellen der X-Struktur abgebildet werden. 4B5B ist ein Code, der 4 Bits auf 5 Bits abbildet, also 16 (24) Block-Codes auf 32 (25) Leitungscodes. 4B3T bildet entsprechend 4 Bits auf 3 ternäre Spannungsstufen ab, und damit 16 (24>) Block-Codes auf 27 (33) Leitungscodes. Der Manchestercode hätte hier die Bezeichnung 1B2B (2 Block-Codes auf 4 Leitungscodes), verwendet jedoch nur zwei Leitungscodes, 01 und 10, da die beiden anderen keine Spannungswechsel enthalten.
Bekannte Leitungscodes
- NRZ-Code
- RZ-Code
- Manchester-Code
- AMI-Code
- Modifizierter AMI-Code
- 4B5B-Code
- 8B10B-Code
- HDB3-Code
- 4B3T-Code
- 2B1Q-Code
- Trellis-Code
- TC-PAM
- Carrier Amplitude and Phase
Siehe auch: Physikalische Schicht