Der Manchester-Code (auch bekannt als Phase Encoding (PE) bzw. Richtungstaktschrift) ist ein Leitungscode, der bei der Kodierung das Taktsignal erhält. Dabei wird die binäre Phasenlage (entweder 0° oder 180°) eines Rechtecksignals von einer Bitfolge bestimmt. Der Manchester-Code stellt damit eine Form der binären Phasenumtastung (engl. binary phase-shift keying) dar. Er wird u. a. beim AS-Interface, bei 10-Mbit/s-Ethernet nach der Norm IEEE 802.3 und im Wasserzeichen der Eurobanknoten als Sicherheitsmerkmal eingesetzt.
Aus der Phasenverschiebung folgt, dass die Flanken des Signals, die bei der Mitte einer Periode des Taktsignals auftreten, die Information tragen.
Allgemeines
Es gibt für den Manchester-Code zwei mögliche und gleichwertige Definitionen, wie in obiger Abbildung dargestellt:
- In der Codedefinition nach G.E. Thomas, auch bezeichnet als Biphase-L oder Manchester-II, bedeutet eine fallende Flanke eine logische Eins, eine steigende Flanke eine logische Null.
- In der Codedefinition nach IEEE 802.3, wie sie bei 10-Mbit/s-Ethernet verwendet wird, bedeutet eine fallende Flanke eine logische Null und eine steigende Flanke eine logische Eins.
Um dem Empfänger mitzuteilen, welche dieser beiden Definitionen verwendet wird, wird zu Beginn einer Datenübertragung ein Header (eine Präambel) versendet, s. auch Ethernet #Aufbau.
In jedem Fall gibt es mindestens eine Flanke pro Bit, aus der das Taktsignal abgeleitet werden kann. Der Manchester-Code ist selbstsynchronisierend und unabhängig vom Gleichspannungspegel.
Vorteile
Eine wesentliche Eigenschaft dieses Leitungscodes ist die Gleichanteilsfreiheit des resultierenden Signals. Dies bedeutet, dass der Gleichspannungsanteil genau null ist. Daher ist es möglich, die Signalfolge beispielsweise über Impulstransformatoren mit einer galvanischen Trennung zu übertragen.
Ein weiterer Vorteil ist, dass, wie oben beschrieben, aus dem Code selbst das Taktsignal abgeleitet werden kann; ein zusätzlicher Taktgeber wird nicht benötigt.
Nachteile
Ein Nachteil der Manchester-Codierung ist, dass die benötigte Bandbreite bei der Datenübertragung doppelt so hoch ist wie bei der einfachen Binärcodierung (z. B. Non Return to Zero, NRZ). Der Grund dafür liegt darin, dass für die Codierung eines Nutzdatenbits zwei Codebits benötigt werden. Es handelt sich also um eine 1B2B-Kodierung.
Die Bitrate (Nutzdaten) (im Fall eines zweiwertigen Signals) ist somit nur halb so groß wie die Baudrate (Symbolrate in der Übertragung).
Weiteres
Praktisch kann die Kodierung und Dekodierung durch eine invertierte XOR-Verknüpfung des Trägers mit dem Nutzsignal erfolgen.
Neben dem Manchester-Code gibt es noch den differentiellen Manchester-Code. Bei diesem findet, im Gegensatz zur Manchester-Codierung, bei einem bestimmten Bit, meist bei logisch Eins, ein Phasenwechsel statt; bei logisch Null erfolgt kein Phasenwechsel. Dadurch geht die feste Zuordnung zwischen Richtung des Flankenwechsels und Zustand des logischen Signals verloren, und somit kann auch bei invertiertem Signal die Information richtig interpretiert werden. Differentielle Manchester-Codierung wird z. B. bei Token Ring verwendet.
Etymologie
Das Verfahren wurde ursprünglich an der Universität Manchester im Zusammenhang mit schnell rotierenden Platten entwickelt.