Kapitel 5: Digitale Übertragung im Basisband 5.3. Leitungscodierung

Transcrição

Kapitel 5: Digitale Übertragung im Basisband 5.3. Leitungscodierung
1
ZHW, NTM, 2005/06, Rur
Kapitel 5: Digitale Übertragung im Basisband
5.3. Leitungscodierung
5.3.1. Ziel der Leitungscodierung.....................................................................................1
5.3.2. Unipolarer Non-Return-to-Zero Code (NRZ).........................................................2
5.3.3. Bipolarer NRZ Code...............................................................................................2
5.3.4. NRZ Mark Code .....................................................................................................3
5.3.5. Return-to-Zero Code (RZ).....................................................................................3
5.3.6. Bi-Phase oder Manchester Code ...........................................................................4
5.3.7. Alternate Mark Inversion Code (AMI).....................................................................5
5.3.8. High Density Bipolar Code of Order 3 (HDB3)......................................................5
5.3.9. Ternäre und Quaternäre Codes .............................................................................6
5.3.10. Scrambling ...........................................................................................................9
5.3.11. Beispiel: Physical Layer von Fast Ethernet......................................................111
Referenzen
[1]
Prof. Dr. A. Steffen, „Signale und Uebertragung“, ZHW-Skript, 2003.
[2]
J. Rech, „Ethernet“, Verlag Heinz Heise, 2002, ISBN 3-88229-186-9.
[3]
FDDI-Standard, TP-PMD, ANSI X3.263-1995 (R2000)
5.3.1. Ziel der Leitungscodierung
Die Leitungscodierung soll durch gezielte Verformung des Signalspektrums das zu übertragende digitale Datensignal an den Kanal anpassen. Enthält das Signal in Bereichen, in
denen der Übertragungskanal nicht gut überträgt keine spektralen Komponenten, dann
können auch keine Impulsverzerrungen auftreten.
Folgende Gesichtspunkte sind bei der Formung des Signalspektrums relevant:
1. Gleichspannungsfreiheit: Häufig ist im Signalspektrum eine Nullstelle bei der Frequenz
f = 0 erwünscht. Der lineare Mittelwert des Signals hat damit unabhängig vom Nachrichteninhalt den Wert Null. Dies erlaubt zum Beispiel wie in Figur 5-15 gezeigt, den Einsatz
von Trenntrafos oder Koppelkondensatoren und damit eine DC-freie Übertragung:
l, Z W
l, Z W
Figur 5-15: Der Einsatz von Trenntrafos und Koppelkondensatoren bedingt ein
gleichspannungsfreies Signalspektrum.
2. Taktrückgewinnung: Unabhängig vom Verlauf des Datensignals (z.B. beim Auftreten
von langen Null- oder Einsfolgen), sollten immer genügend Signalflanken vorhanden
sein, damit am Empfangsort daraus der Takt zurück gewonnen werden kann. Nur mit
einem synchronen Systemtakt kann das Empfangssignal im richtigen Zeitpunkt abgetastet und ausgewertet werden.
ZHW, NTM, 2005/06, Rur
2
3. Kompaktes Spektrum: Das Signalspektrum sollte möglichst kompakt werden, um bei
Frequenzmultiplexsystemen ein möglichst enges Kanalraster zu ermöglichen und damit
eine gute Bandausnützung zu erreichen. Im Basisband wird das elektromagnetische
Übersprechen auf Nachbarleitungen minimiert, wenn möglichst wenig hochfrequente
Signalanteile auftreten.
In den folgenden Abschnitten wird eine Reihe von Leitungscodes vorgestellt und unter den
Gesichtspunkten 1-3 bewertet. Es gibt bessere und schlechtere Codes, aber es wird sich
kein eindeutiger, unter allen Einsatzbedingungen optimaler Code herauskristallisieren. Zu
vielfältig sind jeweils die Aspekte, die bei einer konkreten Anwendung berücksichtigt werden
müssen.
5.3.2. Unipolarer Non-Return-to-Zero Code (NRZ)
Häufig wird ein binäres Digitalsignal im unipolaren Non-Return-to-Zero Format dargestellt.
Eine logische Eins (engl. mark) wird mit dem normierten Pegel 1 übertragen, während eine
logische Null (engl. space) mit dem Pegel 0 dargestellt wird. Der Pegel bleibt jeweils über die
ganze Bitdauer τ, d.h. während einer Taktperiode konstant. Folgen mehrere Bits mit dem
Wert ′1‘ hintereinander, so wird der Pegel 1 die ganze Zeit über gehalten. Deshalb wird
dieser Code „Non-Return-to-Zero“, abgekürzt NRZ, genannt.
1
Datenfolge
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0
1
0
Einsfolge
1
0
Nullfolge
1
0
Figur 5-16: Unipolarer Non-Return-to-Zero Code.
Dieser Code hat den Nachteil, dass er erstens nicht mittelwertfrei ist und dass zweitens bei
langen Eins-, respektive Nullfolgen keine Signalflanken auftreten, aus denen die Taktinformation und damit die Bitgrenzen extrahiert werden können. In Rechnerbussystemen muss
deshalb der Takt als separates Signal geführt werden. Aus diesen Gründen eignet sich der
NRZ-Code schlecht für die Übertragung über grössere Distanzen.
5.3.3. Bipolarer NRZ Code
Hält sich die Abfolge von logisch ′1′ und logisch ′0′ Werten in etwa die Waage und können
längere Null-, respektive Einsfolgen vermieden werden, erzielt ein bipolarer NRZ Code mit
den Pegeln +1 für logisch Eins und -1 für logisch Null eine annähernde Gleichspannungsfreiheit.
Die Definition von zwei zu Null symmetrischen Pegeln ist nicht auf den NRZ-Code beschränkt. Die meisten binären Leitungscodes existieren sowohl in einer unipolaren, wie
auch in einer bipolaren Variante, so dass wir die beiden im Weiteren nicht separat aufführen wollen.
ZHW, NTM, 2005/06, Rur
1
Datenfolge
3
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0
1
-1
Einsfolge
1
-1
Nullfolge
1
-1
Figur 5-17: Bipolarer NRZ Code.
5.3.4. NRZ Mark Code
In gewissen Anwendungen kann am Empfangsort der absolute Pegel nicht mehr bestimmt
werden, sondern es können nur Pegeländerungen detektiert werden. Sind zum Beispiel die
beiden Adern einer symmetrischen Zweidrahtleitung nicht eindeutig angeschrieben, so können sie an einem Ende vertauscht angeschlossen werden. Dadurch wird die Polarität eines
bipolaren Signals invertiert. Eine ′0′ wird zu einer ′1′ und umgekehrt. In solchen Fällen kann
die zu übermittelnde Information differentiell codiert werden. Eine mögliche Realisierung
bietet der NRZ Mark Code, der eine logische Eins (mark) durch einen Pegelwechsel von 0
auf 1 oder von 1 auf 0 codiert, während bei einer logischen Null keine Pegeländerung auftritt,
sondern der Wert auf 0 oder 1 bleibt.
1
Datenfolge
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0
1
0
Einsfolge
1
0
Nullfolge
1
0
Figur 5-18: NRZ Mark Code.
5.3.5. Return-to-Zero Code (RZ)
Beim NRZ-Code entspricht die Dauer τ eines einzelnen Bits gerade dem Kehrwert der Taktfrequenz f0. Das Spektrum eines Rechteckpulses der Dauer τ hat ein sin(x)/x-förmiges
Spektrum mit der ersten Nullstelle bei 1/τ = f0 Ein bipolares NRZ-Signal, das sich aus einer
Abfolge von solchen Rechteckpulsen mit zufälliger Polarität +1 oder -1 zusammensetzt,
besitzt demnach keine Frequenzkomponente bei der Taktfrequenz f0. Konsequenz: Der Takt
kann nicht durch eine einfache Filteroperation aus dem Datensignal gewonnen werden.
Beim „Return-to-Zero“ Code kehrt der Pegel bei einer logischen Eins jeweils nach der halben
Bitdauer τ/2 wieder auf Null zurück. Von daher der Name. Durch die Halbierung der Pulsdauer entsteht eine Linie bei der Taktfrequenz f0, die nun einfach zurückgewonnen werden
kann. Der Preis dafür ist eine Vergrösserung der benötigten Signalbandbreite.
ZHW, NTM, 2005/06, Rur
1
Datenfolge
4
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0
1
0
Einsfolge
1
0
Nullfolge
1
0
Figur 5-19: Return-to-Zero Code.
5.3.6. Bi-Phase oder Manchester Code
Treten im RZ-Code lange Nullfolgen auf, so fällt während dieser Zeit die Taktinformation aus.
Für dieses Problem bietet der Bi-Phase Code Abhilfe, der auch Manchester Code genannt
wird. Es gibt zwei gleichwertige Betrachtungsweisen bei der Definition dieses Codes.
1. Jeweils in der Mitte einer Bitdauer findet ein Pegelübergang statt. Dadurch ist die Taktrückgewinnung immer garantiert. Eine logische Eins wird als negative Flanke von 1 auf 0,
eine logische Null als positive Flanke von 0 auf 1 codiert.
2. Die Bitdauer wird in zwei Hälften aufgeteilt. Zur Übertragung einer logischen Eins wird
der Pegel 1 während der ersten Hälfte des Bits gesendet und der Pegel 0 während der
zweiten Hälfte, bei einer logischen Null ist es gerade umgekehrt. Die bipolare Variante
des Bi-Phase Codes mit den Pegeln +1 und -1 erzielt dabei gleichspannungsfreie Datenbits, da sich die beiden Bithälften mit entgegen gesetzter Polarität jeweils aufheben.
Der Manchester Code wird bei Ethernet eingesetzt. Die grösste Schwierigkeit bei der Realisierung liegt in der Synchronisation. Damit die richtige Flanke ausgewertet wird, muss zuerst
die Bitmitte bestimmt werden. Beim physikalischen Ethernet-Protokoll wird deshalb vor
jedem Paket eine Folge von abwechselnden Nullen und Einsen gesendet, deren steigende
und fallende Flanken jeweils in die Bitmitte fallen und deshalb zur Synchronisation und Einmittelung benutzt werden können.
1
Datenfolge
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0
1
0
Einsfolge
1
0
Nullfolge
1
0
Figur 5-20: Bi-Phase oder Manchester Code.
ZHW, NTM, 2005/06, Rur
5
5.3.7. Alternate Mark Inversion Code (AMI)
Die AMI-Codierung ist ein ternärer Code. Das Leitungssignal kann die drei Werte -1, 0 und
+1 annehmen. Für den logischen Wert ′0′ wird kein Puls gesendet, während für den Wert ′1′
abwechslungsweise positive und negative Pulse mit Pegel +1, respektive -1 gesendet werden. Durch diese Alternierung wird Gleichspannungsfreiheit erzielt.
1
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0
1
Datenfolge 0
-1
Einsfolge
1
0
-1
Nullfolge
1
0
-1
Figur 5-21: Alternate Mark Inversion Code.
5.3.8. High Density Bipolar Code of Order 3 (HDB3)
Die AMI-Codierung ist ein sehr populärer Leitungscode. Er besitzt allerdings auch den Nachteil, dass bei langen Nullsequenzen die Taktrückgewinnung nicht mehr gewährleistet ist, weil
das Signal ständig auf Null bleibt. Um diese Situation zu verbessern wurden die HDBnCodierungen eingeführt, welche garantieren, dass spätestens nach n Bitfolgen ein Pegelwechsel stattfindet. Die bekannteste Variante ist der HDB3-Code mit n = 3, der bei der Übertragung von elektrischen 2.048 Mbit/s Signalen gemäss ITU-T G.703 eingesetzt wird.
Enthält das Quellensignal mehr als drei aufeinander folgende ′0′ Werte, so wird beim vierten
′0′ Wert ein Puls gesendet. Damit dieser Puls auf der Empfangsseite nicht als ′1′ interpretiert
wird, arbeitet man mit einer bewussten Verletzung der AMI-Wechselregel, in dem, wie im
Beispiel von Figur 5-22 gezeigt, auf den letzten negativen Puls, der eine ′1′ darstellt, die
vierte Null ebenfalls als negativer Puls übertragen wird. Wäre der letzte ′1′ Wert als positiver
Puls codiert worden, so würde die Regelverletzung entsprechend einen positiven Puls für die
vierte Null bedeuten.
1
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0
1
Datenfolge 0
-1
Einsfolge
1
0
-1
Nullfolge
1
0
-1
Figur 5-22: High Density Bipolar Code of Order 3 mit Regelverletzungen.
6
ZHW, NTM, 2005/06, Rur
Damit durch eine Abfolge von Regelverletzungen keine Gleichstromkomponente entstehen
kann, muss das Vorzeichen nacheinanderfolgender Regelverletzungen ebenfalls alternieren.
Dies wird möglich, indem für eine Reihe ′0000′ von vier Nullen, anstatt ′000V′, der alternative
Code ′B00V′ eingesetzt werden kann, wobei ′B′ für einen positiven oder negativen Puls
steht, der die AMI-Wechselregel erfüllt, während ′V′ eine Verletzung dieser Regel angibt.
Figur 5-23 zeigt die vier möglichen Varianten. Bei der ersten und vierten Nullserie wurde die
Regel ′000V′ angewandt, bei der zweiten und dritten Nullfolge kam die zweite Regel ′B00V′
zum Zug. Dadurch wechselt das Vorzeichen der Regelverletzung mit -1, +1, -1, +1
alternierend ab.
0
1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0
1
0
-1
Figur 5-23: Das Vorzeichen der Regelverletzungen muss alternieren.
5.3.9. Ternäre und Quaternäre Codes
Mit n nacheinander folgenden binären Symbolen können 2n mögliche Zustände codiert
werden. Geht man bei der Übertragung zu ternären Symbolen mit drei Pegeln ′+′, ′0′ und ′-′
über, wird mit m Symbolen eine Darstellung von 3m Zuständen möglich. Weil die zu übertragende Information meist in binärer Form vorliegt, muss eine Umkodierung in die ternäre
Welt vorgenommen werden. Durch Bildung von Blöcken aus n nacheinander folgenden Bits
ist eine Abbildung auf m nacheinander folgende ternäre Symbole möglich, falls gilt
3m ≥ 2 n
oder logarithmisch
m≥
log 2
n ≈ 0.631n
log 3
(5.5)
Die Anzahl der benötigten Symbole reduziert sich also gut um einen Drittel beim Übergang
von einer binären in eine ternäre Darstellung. In einem kontinuierlichen Datenstrom fallen in
einer gewissen Zeiteinheit T eine Anzahl n binärer Bits an, die in derselben Zeitdauer T als m
ternäre Symbole übertragen werden müssen, damit kein Pufferüberlauf oder Pufferunterlauf
auftritt. Zwischen der Dauer τ2 eines binären, respektive τ3 eines ternären Symbols muss
also die Beziehung
T = nτ 2 = mτ 3
(5.6)
gelten. Ein ternäres Symbol kann also bei gleichem Informationsdurchsatz ein Drittel länger
dauern als ein binäres Symbol. Die benötigte Bandbreite als Kehrwert der Pulsdauer wird
dadurch gut ein Drittel kleiner. Der verminderte Bandbreitenbedarf ist deshalb der Hauptgrund, dass mehrwertige Symbole bei der Übertragung eingesetzt werden.
Wird andererseits bei gegebener Bandbreite durch den Einsatz höherwertiger Symbole der
Datendurchsatz erhöht, so steigt bei gleich bleibender Signalleistung im allgemeinen die
Empfindlichkeit gegenüber Störungen und Rauschen, da durch die zusätzlichen Amplitudenstufen der Abstand zwischen den einzelnen Pegeln geringer wird.
Ternäre Codes, die aus binären Blöcken gebildet werden, besitzen die generelle Bezeichnung
nBmT.
Der einfachste Code in dieser Familie ist der 3B2T Code aus Figur 5-24. Acht mögliche Zustände, definiert durch einen Block von 3 Bits, werden auf 2 ternäre Symbole mit total 9 Zuständen abgebildet. Dies geschieht über eine eins-zu-eins Abbildung gemäss Tabelle 5.2,
die auf die Verwendung des ternären Codeworts ′00′ verzichtet.
7
ZHW, NTM, 2005/06, Rur
1
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1
+
Datenfolge 0
-
Einsfolge
+
0
-
Nullfolge
+
0
-
Figur 5-24: Ternärer 3B2T Code.
Binär
b1
0
0
0
0
1
1
1
1
n=3
b2
0
0
1
1
0
0
1
1
b3
0
1
0
1
0
1
0
1
Ternär
t1
-
0
-
-
+
+
0
+
m=2
t2
-
-
0
+
-
0
+
+
Tabelle 5.2: Code-Tabelle für den ternären 3B2T Code.
Wie der Figur 5-24 entnommen werden kann, garantiert der 3B2T Code weder die
Gleichspannungsfreiheit, noch das ständige Vorhandensein von Taktinformation. Dies
muss durch zusätzliche Massnahmen, wie zum Beispiel durch Scrambling der Nutzdaten
bewerkstelligt werden.
Der durch Tabelle 5.3 definierte 4B3T-Code, der in Deutschland als Leitungscode für ISDN
verwendet wird, bietet hier ein besseres Verhalten. 16 binären Zuständen stehen hier 27
ternäre gegenüber. Gewisse ternäre Codewörter, wie z. Bsp. die Folge ′− + 0′ besitzen einen
DC-Mittelwert von Null, sind also ausbalanciert. Andere Codewörter, wie z. Bsp. ′+ + 0′,
verursachen einen positiven DC-Offset mit Gewicht +2. Deshalb ist dem binären Datenwert
′1111′ ein zweites Codewort ′0 0 −′ mit Gewicht -1 zugeordnet.
Zu Beginn der Übertragung initialisiert der Sender einen Zustandszähler S auf den Wert 1
und summiert nun laufend die Gewichte der verwendeten Codewörter auf. Tabelle 5.3 gibt
dabei an, welches ternäre Codewort, abhängig vom aktuellen Stand S1 .. S4 des Zählers, für
das zu übermittelnde Binärwort zur Anwendung kommt und welcher nächste Zählerstand
durch das Gewicht des verwendeten Codeworts resultiert.
Durch diese Steuerung der DC-Bilanz wird ähnlich wie beim AMI-Code ein im kurzfristigen
Mittel gleichspannungsfreies Leitungssignal erzielt. Das Schema garantiert auch, dass nicht
mehr als viermal hintereinander der gleiche ternäre Pegel auftreten kann, so dass immer
genügend Taktwechsel vorhanden sind. Als Nachteil des 4B3T-Codes sei die nur relativ
bescheidene Bandbreiteneinsparung von 25% erwähnt.
In der Schweiz wird für ISDN der quaternäre Code 2B1Q eingesetzt, der zwei Bits in einer
eins-zu-eins Abbildung auf ein vierwertiges Symbol abbildet, wie Figur 5-26 zeigt. Der Hauptvorteil liegt beim halbierten Bandbreitebedarf. Ansonsten ist ohne Zusatzmassnahmen weder
die Gleichspannungsfreiheit, noch die Taktrückgewinnung gewährleistet.
8
ZHW, NTM, 2005/06, Rur
Binärwort
S1
Nex S2
t
Nex S3
t
Nex S4
t
Nex
t
unused
000
1
000
2
000
3
000
4
0001
0−+
1
0−+
2
0−+
3
0−+
4
0111
−0+
1
−0+
2
−0+
3
−0+
4
0100
−+0
1
−+0
2
−+0
3
−+0
4
0010
+−0
1
+−0
2
+−0
3
+−0
4
1011
+0−
1
+0−
2
+0−
3
+0−
4
1110
0+−
1
0+−
2
0+−
3
0+−
4
1001
+−+
2
+−+
3
+−+
4
−−−
1
0011
00+
2
00+
3
00+
4
−−0
2
1101
0+0
2
0+0
3
0+0
4
−0−
2
1000
+00
2
+00
3
+00
4
0−−
2
0110
−++
2
−++
3
−−+
2
−−+
3
1010
++−
2
++−
3
+−−
2
+−−
3
1111
++0
3
00−
1
00−
2
00−
3
0000
+0+
3
0−0
1
0−0
2
0−0
3
0101
0++
3
−00
1
−00
2
−00
3
1100
+++
4
−+−
1
−+−
2
−+−
3
Tabelle 5.3: Code-Tabelle des ternären 4B3T Codes.
1 0 1 1
0 0 1 1
+
Datenfolge 0
-
Einsfolge
+
0
-
Nullfolge
+
0
-
Figur 5-25: Ternärer 4B3T Code.
1 0 0 0
0 1 0 1
0 1 0 0
9
ZHW, NTM, 2005/06, Rur
1
0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1
3
Datenfolge 1
-1
-3
Einsfolge
Nullfolge
3
1
-1
-3
3
1
-1
-3
Figur 5-26: Quaternärer 2B1Q Code.
5.3.10. Scrambling
Eine Möglichkeit lange Null- und Einsfolgen zu vermeiden, sowie ein annähernd gleiches
Verhältnis von logischen Nullen und Einsen zu erzielen, ist das Scrambling (Verwürfeln) der
Nutzdatensequenz vor der Abbildung auf einen Leitungscode. Dies kann mittels eines rückgekoppelten Schieberegisters geschehen, das eine pseudozufällige Sequenz mit einer
maximal-langen Periodendauer erzeugt. Im Beispiel der Synchronen Digitalen Hierarchie
(SDH), das in Figur 5-27 aufgezeichnet ist, beträgt diese Dauer 127 Bit und dies bei einer
Länge des Schieberegisters von 7 Bit.
Data in
D Q
S
D Q
S
D Q
S
D Q
S
D Q
S
D Q
S
D Q
S
STM-N
clock
Scrambled
data out
Frame pulse
Figur 5-27: Scrambling eines STM-N Rahmens mittels einer durch ein rückgekoppeltes
Schieberegister erzeugten Pseudozufallssequenz.
Der Nutzdatenstrom wird mit einer XOR-Schaltung, d.h. durch eine modulo 2 Addition.mit der
Scramblingsequenz verknüpft. Der Empfänger besitzt die gleiche Schaltung und erhält durch
die gleiche Operation die ursprüngliche Datensequenz zurück, wie unten stehendes Beispiel
zeigt:
Datensignal
... 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 ...
XOR
Scramblingfolge
... 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 ...
=
Leitungssignal
... 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 0 0 1 1 1 0 1 0 ...
XOR
Scramblingfolge
... 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 ...
=
Datensignal
... 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 ...
10
ZHW, NTM, 2005/06, Rur
Dabei wurde vorausgesetzt, dass die rückgekoppelten Schieberegister beim Sender und
Empfänger synchron laufen, d.h. relativ zum Datensignal zum gleichen Zeitpunkt die gleiche
Pseudozufallsfolge erzeugen. Bei Übertragungsverfahren mit einer festen Rahmenstruktur,
wie dies bei einem STM-N Signal der Fall ist, kann Synchronisation dadurch erzielt werden,
dass jeweils beim Rahmenstart ein Puls erzeugt wird, der die Schieberegister des
Scramblers auf den internen Zustand ′1111111′ zurücksetzt.
Es gibt auch selbstsynchronisierende Verfahren, bei denen sich der Scrambler des
Empfängers selbständig nach einigen empfangenen Datenbits aufsynchronisiert, so dass
kein Rahmenstartsignal übertragen werden muss.
ys[n]
x[n]
y[n]
s[n]
s’[n]
Figur 5-28: Scrambler (links) und Descrambler (rechts) nach ITUV.27 / V.29
In Figur 5-28 ist die Schaltung eines Scramblers und eines Descramblers dargestellt. Im
Sender werden die Daten x[n] mit der Scrambling-Folge s[n] verwürfelt (modulo 2 Addition
bzw. logisch XOR), um lange Null- oder Einsfolgen zu unterbrechen. Die Scrambling-Folge
s[n] wird mit Hilfe eines rückgekoppelten Schieberegisters generiert.
Im Empfänger muss die Scrambling-Folge s[n] wieder von der verwürfelten Datenfolge ys[n]
subtrahiert werden. Die Scrambling-Folge s[n] wird aus ys[n] mit dem identischen, aber nicht
rückgekoppelten Schieberegister generiert. Nach 7 übertragenen Datenbits ist der Inhalt der
beiden Schieberegister nänlich identisch und es gilt: s’[n] = s[n]. Die Modulo 2 Subtraktion ist
identisch mit der Modulo 2 Addition. Dieser Scrambler ist also selbstsynchronisierend.
Scrambler und Descrambler könnten auch vertauscht werden. Im Empfänger wird aber mit
Vorteil das Schieberegister nicht rückgekoppelt, damit sich Übertragungsfehler am Ausgang
nur über eine endliche Anzahl Bit bemerkbar machen.
Die Selbstsynchronisation kann auch mit den folgenden beiden Gleichungen verifiziert
werden:
ys[n] = (x[n] + ys[n-6] + ys[n-7]) modulo 2
(5.7)
y[n] = (ys[n] + ys[n-6] + ys[n-7]) modulo 2
(5.8)
Durch Einsetzen von Gleichung (5.7) in Gleichung (5.8) erhält man für binäre Daten in der
Modulo 2 Arithmetik
y[n] = x[n] .
(5.9)
11
ZHW, NTM, 2005/06, Rur
5.3.11. Beispiel: Physical Layer von Fast Ethernet
Die Informationen zu diesem Kapitel stammen aus [2] und [3].
Im Jahre 1995 erweiterte die IEEE-802.3u-Gruppe den Ethernet Standard für Datenraten von
100 Mb/s (Fast Ethernet). Die Erweiterungen des Standards beziehen sich auf den Physical
Layer (PHY).
Die bekannteste Fast-Ethernet-Variante 100Base-TX basiert auf einem Twisted-Pair (TP)
Kabel der Kategorie 5 mit 100Ω-Impedanz. Um die Datenrate von 10 Mb/s auf 100 Mb/s zu
erhöhen, musste ein anderes Kodierungsverfahren als bei 10Base-T verwendet werden.
Hätte man die Manchester-Kodierung von 10Base-T beibehalten, müssten Frequenzkomponenten bis 100 MHz und Oberwellen bis 300 MHz übertragen werden, was zu massiven
Übertragungsproblemen auf den Kategorie 5 TP-Kabeln geführt hätte. In Abbildung 5-29 ist
der Physical Layer von 100Base-TX Fast Ethernet dargestellt.
25 MNibbles/s
4B/5B-Encoding
4B/5B-Decoding
NRZ-to-NRZI
NRZI-to-NRZ
NRZI-to-NRZ
NRZ-to-NRZI
125 Mb/s
Scrambling
Descrambling
MLT3-Encoding
MLT3-Decoding
B < 31.25 MHz
pseudoternär
Treiber
Empfänger
typ. -1V, 0V, 1V
Abbildung 5-29: Physical Layer von 100Base-TX Fast Ethernet.
Fast Ethernet setzt wie FDDI eine NRZI-ähnliche Kodierung (non return to zero invert on
ones) ein. Sie wird MLT3-Kodierung genannt (multi level transmit - 3 levels).
NRZI stellt eine logische Eins durch einen Pegelwechsel innerhalb der Bitperiode dar. Eine
logische Null ist durch einen fehlenden Wechsel gekennzeichnet, siehe Abbildung 5-30.
Bei der MLT3-Kodierung werden 3 verschiedene Signalpegel -1, 0 und +1 verwendet. Eine
Null führt zu keiner Änderung des Signalpegels. Jede neue Eins führt zu einer Änderung des
Signalpegels 0, +1, 0 -1, 0, +1, ... Es sind keine Wechsel direkt von +1 nach -1 oder umgekehrt erlaubt.
12
ZHW, NTM, 2005/06, Rur
1 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0
NRZI
1
0
1
MLT3
0
-1
Abbildung 5-30: NRZI- und MLT3-Leitungskodierung.
Da bei einer MLT3-Kodierung nicht in jeder Bitperiode automatisch ein Pegelwechsel stattfindet, reduziert sich die Übertragungsfrequenz deutlich. Die Reduzierung der Pegelwechsel
ist bei der Übertragung einer Nullfolge aber problematisch. Auf Grund der fehlenden Pegelwechsel wären keine ausreichenden Taktinformationen im Datenstrom enthalten und der
Gleichstromanteil zu gross. Deshalb verwendet man bei Fast Ethernet zusätzlich eine 4B/5BCodierung.
Die 4B/5B-Kodierung wandelt Nibble bzw. 4 Datenbits in 5-Bit-Symbole um, so dass die
Länge einer Nullsequenz limitiert wird. Dadurch wird sichergestellt, dass ausreichend Taktinformation im Datenstrom enthalten ist. Ausserdem wird eine gewisse DC-Freiheit erzwungen. Zusätzlich können die 16 nicht benutzten 5-Bit-Symbole zur Signalisierung und zur
Fehlererkennung eingesetzt werden. In Tabelle 5-4 ist die 4B/5B-Kodiertabelle dargestellt.
4B Code
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Name
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
5B Symbole
11110
01001
10100
10101
01010
01011
01110
01111
10010
10011
10110
10111
11010
11011
11100
11101
4B Code
undefiniert
0101
0101
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
undefiniert
Name
I (idle)
J (start of stream)
K (start of stream)
T (end of stream)
R (end of stream)
H (transmit error)
V (invalid code)
V (invalid code)
V (invalid code)
V (invalid code)
V (invalid code)
V (invalid code)
V (invalid code)
V (invalid code)
V (invalid code)
V (invalid code)
5B Symbole
11111
11000
10001
01101
00111
00111
00000
00001
00010
00011
00100
00101
00110
01000
10000
11001
Tabelle 5-4: 4B/5B-Codiertabelle
TR
JK
... Idle ...
SSD
Ethernet-MAC-Frame
[Präambel, Ziel-/Quellenadresse, Länge, Daten, CRC]
ESD
Abbildung 5-31: Einkapselung eines Ethernet-MAC-Frames bei Fast Ethernet.
... Idle ...
13
ZHW, NTM, 2005/06, Rur
In Abbildung 5-31 ist die Einkapselung eines Ethernet-MAC-Frames durch Start-of-Stream(SSD) und End-of-Stream (ESD-) Deliminatoren dargestellt. In den Pausen zwischen der
Frame-Aussendung werden ständig idle-Symbole gesendet. Sie ermöglichen eine LinkErkennung und die Synchronisation, siehe unten.
Vor der MLT3-Kodierung wird noch ein Scrambling durchgeführt, um das Spektrum „flach“ zu
machen, was sich positiv auf die elektromagnetische Abstrahlung auswirkt.
LFSR
x[n]
Synch
LFSR
Daten
x[n]
Daten
Scrambler
Descrambler
Abbildung 5-32: Scrambling bei Fast Ethernet (100Base-TX).
Für das Scrambling wird ein 11 Bit langes, lineares, rückgekoppeltes Schieberegister verwendet (engl. Linear Feedback Shift Register LFSR), siehe Abbildung 5-32. Das LFSR
generiert eine 2047 Bit lange PN-Sequenz gemäss folgender Rekursion
X[n] = (X[n-9] + X[n-11]) modulo 2,
(5.7)
die zu den Daten addiert wird (modulo 2 bzw. XOR).
Die gleiche PN-Sequenz wird im Empfänger bzw. im Descrambler wieder von den verwürfelten Daten subtrahiert (modulo 2 Addition und Subtraktion sind identisch). Dazu müssen die
beiden LFSR im Scrambler und Descrambler synchronisiert werden, d.h. in beiden LFSR
müssen zur selben Zeit die gleichen Startwerte (engl. seed) verwendet werden. Die Synchronisation kann im Descrambler aus dem Datenstrom heraus mit Hilfe der idle-Symbole
gemacht werden.
Bei Fast Ethernet 100Base-TX wird durch die 4B/5B-Codierung die Datenrate von 100 Mb/s
auf 125 Mb/s erhöht, siehe Abbildung 5-29. Bei der MLT3-Codierung wird die grösste Grundfrequenz generiert, wenn viele Einer aufeinander folgen. Die kürzeste Periode beträgt
T0 = 4·Tb = 32 ns,
(5.8)
wobei Tb = 1/125 MHz. Damit erhält man bei der Fast Ethernet 100Base-TX Datenübertragung eine maximale Grundfrequenz von
f0 = 125/4 MHz = 31.25 MHz,
(5.9)
die keine Probleme bei der Übertragung über Kategorie 5 TP-Kabel bis zu 100m bereitet.
Im Treiber in Abbildung 5-29 findet eine Pulsformung und eine Pegelanpassung statt. Für die
Pulsformung schreibt der Standard min. und max. Anstiegszeiten bzw. Abfallzeiten vor.