Serielle und parallele
Übertragung
Methoden wie Nachrichten binär,
d.h. als Bitfolgen verschlüsselt werden können sind bekannt, z.B. als ASCII Zeichen oder
als duale Zahlen. Um Daten auf Leitungen über größere Entfernungen übertragen zu
können, müssen sie im Allgemeinen als elektrisches Signal s(t) codiert werden.
Beim
Empfänger wird das empfangene Signal r(t) wiederum in eine Folge von Bits, also als
Daten, rückgewandelt. Da eine Nachricht üblicherweise aus mehr als einem Bit besteht
erhebt sich die Frage, wie eine ganze Folge von Bits am besten zu übertragen ist.
Da
Speicher immer in gewissen Grundeinheiten (Zellen) organisiert sind, z.B. Bytes, Halbworte
(16 Bits), Worte (32 oder 64 Bits) etc. sind prinzipiell zwei unterschiedliche
Übertragungsstrategien möglich: parallele und serielle Übertragung.

Die parallele Form der Datenübertragung ist aus physikalischen Gründen (Kapazitäten
zwischen den Leitungen, Induktivitäten der Leitungen etc. und daraus folgender Dämpfung
und Übersprechen) nur über relative kurze Distanzen möglich. Sie wird daher vorwiegend
innerhalb von Rechnersystemen als Bus, untergliedert in Daten- Adress- und
Steuerleitungen, eingesetzt.
Die immer auftretenden Wechselwirkungen zwischen den einzelnen Leitungen, hervorgerufen
durch die Kapazität und Induktivität der einzelnen Leitungsdrähte, führen zu einer
Frequenzabhängigkeit der Ausbreitungseigenschaften und dadurch zu einer Verzerrung der
Signale. Außerdem tritt eine Wechselwirkung zwischen den Strömen in den einzelnen
Leitungen auf, die eine Mitkopplung der Signale in Form des sog.
"Übersprechens" erzeugt.
Wesentlich günstiger in dieser Hinsicht ist es, nur eine serielle Leitung zu verwenden
und die Zellen über einen Parallel/Seriell Wandler auf die Leitung zu geben. Das Prinzip
ist im folgenden Bild dargestellt.

Natürlich muß diese Form der Übertragung auf den ersten Blick langsamer erscheinen
als die parallele, da ja bei dieser Form der Übertragung n Bits gleichzeitig auf n
Leitungen übertragen werden. Bei der technischen Realisierung stellt sich jedoch heraus,
daß die parallele Anordnung mehrerer Leitungen nicht unbedingt vorteilhaft ist, wenn
größere Entfernungen zu überbrücken sind.
Die Signalverzerrungen, die bei größeren
Distanzen auftreten, führen dazu, daß der Empfänger nicht mehr in der Lage ist, die
exakte Form des gesendeten Signal noch zu erkennen, es sei denn man sendet mit einer
deutlich niedrigeren Signalisierrate, d.h. man verlängert die Zeit für die einzelne
Bitgruppe. Dies führt aber letztlich dazu, lieber serielle Leitungen mit entsprechend
höherer Signalisierrate für die Überbrückung größerer Entfernungen einzusetzen. Dies
wird auch durch die Nachrichtentheorie eindeutig belegt.
Codierung
(A) NRZ:
Liegen die zu übertragenden Daten bereits als Bitfolge vor, so kann daraus unmittelbar
ein elektrisches Signal erzeugt werden. Bei der einfachsten Form werden die beiden Werte
eines Bits direkt als Signalpegel codiert; das einfachste dieser Verfahren ist NRZ-L (non
return to zero - level):
Bit NRZ-L Code
0 niedriger Pegel
1 hoher Signalpegel
Aus traditionellen Gründen wird oft der Wert für Eins mit "mark" und der
Wert für Null mit "space" bezeichnet. Aus dem einfachen NRZ werden häufig zwei
differentielle Codes abgeleitet - NRZ-M und NRZ-S; beiden gemein ist, daß ein
Pegelübergang für die Codierung benützt wird und nicht der Wert des Pegels selbst.
Bit NRZ-M NRZ-S
0 kein Pegelübergang Wechsel des Signalpegels
1 Wechsel des Pegels kein Pegelübergang
Die NRZ Verfahren zeichnen sich durch große Einfachheit aus und werden häufig
verwendet um asynchrone Geräte zu verbinden. Ein Nachteil ist, daß aus dem codierten
Signal kein Referenztakt (clock) abgeleitet werden kann und daher die Synchronisation
schwieriger wird. Das folgende Bild zeigt im Vergleich diese drei Formen der
Signalcodierung und die als nächstes zu besprechenden Formen der Codierung, die speziell
für die synchrone Übertragung geeignet sind.
Biphasen Codierung:
Die Biphasen Codierung wurde vor allem durch den sog. "Manchester Code"
bekannt, der bei vielen Local Area Networks die Basis der Übertragung bildet. Der große
Vorteil dieser Verfahren ist, daß regelmäßig in der Mitte oder am Beginn eines
Signalintervalls ein Pegelsprung erfolgt, der zur Einhaltung des Synchronisationstakts und
zur Erkennung von Fehlern dient.
Bit (Einfacher) Manchester Code.
Immer ein Pegelsprung in der Intervallmitte!
0 Pegelsprung von Low nach High in der Mitte 1 Pegelsprung von High nach
Low in der Mitte
Bit Differentieller Manchester Code
Immer ein Pegelsprung in der Intervallmitte
0 Pegelsprung am Anfang des Intervalls
1 kein Pegelsprung am Intervallanfang
Bit Biphase - Mark Code
Immer ein Pegelsprung am Intervallanfang
0 kein Pegelsprung in der Intervallmitte
1 Pegelsprung in der Intervallmitte
Bit Biphase - Space Code
Immer ein Pegelsprung am Intervallanfang
0 Pegelsprung in der Intervallmitte
1 kein Pegelsprung in der Intervallmitte
Natürlich muß diese zusätzliche Information (d.h. der Referenztakt) auch
"bezahlt" werden; hier ist dies die Bandbreite, denn da jetzt jedes Mal
in der
Mitte des Symbolintervalls ein Übergang stattfindet haben wir effektiv die Pulsrate
verdoppelt. mit anderen Worten: wir benötigen jetzt die doppelte Bandbreite!
Ein weiterer nicht unwesentlicher Faktor ist, wie die einzelnen Codierverfahren die
Energie eines Symbols verteilen. Am günstigsten sind natürlich Verfahren, bei denen der
Großteil der Energie im Durchlassbereich zu finden ist. Wie man am nachfolgenden Bild
(spectral density of signal encoding schemes) erkennt, unterscheiden sich hier die
Verfahren deutlich. Zu beachten ist, daß diese Energieverteilung nicht für einen
kompletten Symbolvorrat (Alphabet) gilt, sondern für einzelne Symbole unterschiedlich
ausfallen kann!
Synchronisation
Eine Kommunikation zwischen Sender und Empfänger ist nur möglich, wenn beide über
eine gemeinsame Zeitbasis verfügen, d.h. Beginn und Ende der einzelnen Symbole müssen
eindeutig für den Empfänger erkennbar sein. Ebenso muß Beginn und Ende jeder
Symbolfolge eindeutig erkennbar sein. Das primitivste digitale Übertragungsverfahren, bei
dem einfach die Bits als elektrisches Signal, z.B. 1 als = +5V und 0 als -5V codiert
werden, ist nur dann einsetzbar, wenn der Empfänger auch den Zeittakt, z.B. über eine
getrennte Leitung erhält; diese Lösung wird ja beim üblichen Datenbus innerhalb eines
Computersystems angewendet, wo es eine eigene Leitung für das "clock" Signal
gibt. Bei serieller Übertragung ist diese Lösung allerdings nicht mehr gangbar. Hier
müssen andere Lösungen gesucht werden.

Sowohl Sender als auch Empfänger müssen über eine eigene Uhr verfügen, die
möglichst genau den Takt angeben muß. Synchronisation bedeutet, daß die Uhren von Sender
und Empfänger im Gleichlauf sind, d.h. daß der Empfänger genau weiß, wann beim Sender
ein Takt beginnt bzw. endet. Das Herstellen dieses Gleichlaufs benötigt zwei Schritte:
1.Starten der Uhren zu einem genau definierten Zeitpunkt
2.Nachführen der Uhr des Empfänger mit der des Senders

Je nachdem, welcher Aufwand in Hardware getrieben wird, können Taktgeneratoren (Uhren)
mit mehr oder weniger Präzision gebaut werden. Relativ billige Generatoren werden daher
eine gewisse "Drift" aufweisen, d.h. zwei Uhren, die genau zum gleichen
Zeitpunkt gestartet werden, werden nach einigen tausend oder zigtausend Zyklen nicht mehr
exakt synchron laufen. Es wird daher notwendig, die Uhren in regelmäßigen Intervallen
wieder in Gleichlauf zu bringen.
Zwei Verfahren werden verwendet:
das sogenannte Asynchronverfahren, das Gleichlauf nur für eine relativ kurze
Zeit, z.B. für die Übertragung eines Blocks von 8 oder 10 Bits garantiert,
und
das Synchronverfahren, bei dem mit jedem Bit oder in gewissen kurzen Abständen
Synchronisationsinformation geliefert wird und die Drift der Uhr ausgeglichen wird.
(A) Die asynchrone Übertragung
Bei der sogenannten asynchroner Übertragung wird jeweils ein Zeichen von einem
Startbit und ein bis zwei Stopbits eingerahmt; die Uhren synchronisieren sich an der
Flanke und an der Dauer des Startbits und erkennen auch wieder die Flanke bzw. das Ende
des Stoppbits. Durch diese zusätzlichen Bits entsteht ein Verlust, der z.B. bei 8-Bit
ASCII Zeichen und je einem Start- und Stoppbit 20 % beträgt. Eine wesentliche
Einschränkung ist, daß nur Zeichen übertragen werden können, die im ASCII Alphabet
enthalten sind; rein binäre 8-Bit Oktetts können zu Verwechslung mit Steuerzeichen
führen und sind daher nicht zulässig.

Da jedes Übertragungsverfahren eine Kooperation zwischen Sender und Empfänger
benötigt, ist die Festlegung bestimmter Steuerzeichen unerlässlich; sie werden von dem
über dem reinen Übertragungsverfahren angesiedelten "handshake" Verfahren oder
genauer gesagt Leitungsprotokoll benötigt und dürfen daher nicht im reinen Datenfeld
vorkommen. Das Leitungsprotokoll muß daher bestimmte Vorkehrungen treffen, um dies
dennoch zu ermöglichen, üblicherweise durch vorsetzen eines Fluchtzeichens
(escape symbol).
(B) Die synchrone Übertragung.
Bei der synchronen Übertragung einer Nachricht kann sowohl rein binär als auch im
ASCII Modus übertragen werden. Die älteren Verfahren wie BSC sind zeichenorientiert und
unterliegen denselben Einschränkungen wie das Asynchronverfahren da gewisse Bitmuster mit
speziellen Funktionen belegt sind, die zur Steuerung der Leitung benötigt werden; die
neueren bitorientierten Verfahren sind jedoch transparent und daher flexibler.
Bei der synchronen Übertragung wird prinzipiell blockweise übertragen, d.h. eine
ganze Folge von Symbolen wird zu einem Übertragungsblock zusammengefasst und auf einmal
und ohne Unterbrechung durch Synchronisierungsmaßnahmen übertragen. Der prinzipielle
Aufbau ist daher wie folgt:

Jeder Übertragungsblock wird mit einer bestimmten Bitfolge eingeleitet, die zur
Synchronisation und zur Begrenzung der Blocks dient. Dieses Bitmuster muß eine hohe
Autokorrelation besitzen, sodaß der Empfänger genau die Einstellung der Uhr vornehmen
kann. Diese Uhr muß hohe Präzision aufweisen, damit über längere Bitsequenzen hinweg
der Gleichlauf gewährleistet werden kann. Gegebenenfalls muß für eine Nachführung der
Uhr gesorgt werden (Manchester Code).

Beim zeichenorientierten BSC Verfahren wird jeder Block mit der Zeichenfolge SYN SYN
DLE STX eingeleitet und dadurch die Synchronisation hergestellt.
Der Aufbau eines BSC Übertragungsblocks wird im folgenden Bild gezeigt; man beachte,
dab das Ende des Blocks durch DLE ETX angezeigt wird.

Der Verschnitt ist hier wesentlich geringer als beim Asynchronverfahren, da die Folge
SYN SYN DLE nur einmal zu Beginn des Blocks gesendet werden muß und dann kaum mehr
überflüssige Zeichen gesendet werden müssen (Ausnahme: wenn in den Daten DLE vorkommt,
muß durch Wiederholen dieses Zeichens angezeigt werden, daß das Zeichen selbst gemeint
ist und nicht "Ende des Blocks"). Der Nachteil dieser, heute als veraltet
anzusehenden Form der Übertragung ist, daß sie eindeutig auf Zeichenübertragung
ausgerichtet ist und bei der Übertragung beliebiger Bitfolgen, d. h. Daten in binärer
Form auf Schwierigkeiten stößt, da die Bitmuster für SYN, DLE, ETX, etc. nicht direkt,
sondern nur durch davorgesetzte Ausweich-eichen übertragen werden können.
Beim bitorientierten HDLC (und SDLC) Verfahren wird jeder Block mit einer bestimmten
Bitfolge, der sogenannten Flag eingeleitet; die Flag schliesst den Block wieder ab, kann
aber gleichzeitig den nachfolgenden Block einleiten, d.h. sie wirkt nicht nur als
Begrenzungs- sondern auch als Trennsymbol. Das nachfolgende Bild zeigt den Aufbau des HDLC
Übertragunsrahmens.

Bei den bitorientierten Übertragungsverfahren wird die spezielle Bitfolge 01111110
(Flag) als Begrenzung und zur Synchronisation verwendet. Natürlich darf dieses Bitmuster
nicht im Datenfeld (der `Informations- Bitfolge' im Bild) vorkommen; die bitorientierten
Verfahren benutzen daher ein Ausweichverfahren (Bitstopfen - bit stuffing), das bei einer
Folge von fünf 1-Bits automatisch ein 0-Bit einfügt, egal ob 0 oder 1 folgt. Der
Empfänger entfernt dieses überflüssige Zeichen wieder - wenn nämlich ein 1-Bit folgt,
dann handelt es sich eindeutig um die Flag, d.h. das Ende des Rahmens. Die den Rahmen
abschließende Flag kann gleichzeitig auch als Beginn des nächsten Rahmens dienen,
so daß
die Flag also sowohl Rahmenbegrenzer als auch Rahmentrenner ist.

Bei einer Nachricht von 1000 Zeichen beträgt der Verlust dann nur 1/1000.
Offensichtlich sind blockorientierte Verfahren wie HDLC wesentlich wirtschaftlicher als
asynchrone Verfahren soweit die Auslastung der Leitung betroffen ist. Wie bereits bei BSC
muß auch hier dafür Sorge getroffen werden, daß eine Folge von sechs Eins-Bits zwischen
zwei Nullbits nicht irrtümlich als Steuerzeichen (Flag) erkannt wird; hier wird ein
Verfahren angewendet, das Bitstopfen (bit stuffing) genannt wird und nach jeweils 5
konsekutiven Einsen ein Nullbit einschiebt, bzw. beim Empfang wieder entfernt. Dadurch ist
sichergestellt, da die Flag nur als Steuerzeichen auftreten kann. Den Rahmenaufbau für
bitorientierte Synchronübertragung, die z.B. bei HDLC (High Level Data Link Control)
angewendet wird, ist im obigen Bild verdeutlicht. Dabei ist angedeutet, daß in der Praxis
zur Fehlersicherung ein Teil des Informationsfeldes für ein sog. "frame check
sequence" verwendet wird. Man opfert also einen Teil des Informationsfeldes für
Redundanz um eine Möglichkeit zu haben, Übertragungsfehler zu entdecken. Bei den
asynchronen Verfahren versucht man dies bekanntermaßen durch das Paritätsbit, das aber
nur einen sehr unzureichenden Schutz bietet.
Analoge Symbolübertragung
Daten in digitaler Form können mehr oder weniger unmittelbar als elektrisches Signal
übertragen werden. Bei Gleichstromübertragung entstehen dabei jedoch im Allgemeinen sehr
rasch Verzerrungen, die größere Entfernungen nicht zulassen, es sei denn das Signal wird
in regelmäßigen Abständen regeneriert. Man muß daher entweder das Signal in geeigneter
Form codieren, oder aber einem Träger aufprägen. Bei den Trägerfrequenzverfahren wird
die Codierung des zu übertragenden Symbols mittels einer Trägerwelle aufgeprägt. Man
geht dabei von einer Sinuswelle aus, der die Information aufgeprägt wird; dabei sind
sowohl die analoge als auch die digitale Codierung möglich. Wir wollen daher kurz auf die
möglichen Formen der Codierung eingehen.
Die Sinus-Schwingung des Trägers ist eine Funktion der Zeit (t) mit drei Parametern:
s = A . sin (2p * f * t + Phi)
Dabei sind:
A ..... Amplitude
f ..... Frequenz
Phi ... Phasenverschiebung
Entsprechend den drei Parametern gibt es zur Codierung des zu übertragenden Signals S
= S(t) drei Arten der Modulation:
Amplitudenmodulation:
Bei gleichbleibender Frequenz und Phase wird der Code durch eine Veränderung der
Amplitude erzeugt, wie im nächsten Bild bei zwei Niveaus gezeigt wird.
Selbstverständlich ist eine Codierung auch auf mehreren Niveaus möglich, was
entsprechende Abstufungen der Amplitude erfordert; dadurch wird eine höhere
"Symbolrate" (gemessen in "Baud"!!) möglich.
Code S(t) = A(t)
s = A(t) * sin(2 p * f * t + Phi)
Frequenzmodulation
Hier wird der Code durch eine Veränderung der Frequenz bei gleichbleibender Amplitude
und Phase ausgedrückt.
Code S(t) = f(t)
s = A * sin(2 Pi * f(t) * t + Phi)
Phasenmodulation
Hier wird eine Verschiebung der Phase zur Codierung verwendet:
Code S(t) = Phi
s = A * sin(2 Pi * f * t + Phi(t))
Die Amplituden, Frequenz- oder Phasenänderungen können sowohl kontinuierliche als
auch nur diskrete Werte zulassen. Bei der Codierung digitaler Symbole wird man also nur
Sprünge dieser Werte zulassen, also z.B. nur zwei oder 4 Werte der Amplitude, der
Frequenz oder der Phasenlage.
|