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.