Eine weitere Art Bussysteme zu unterteilen ist in synchrone und asynchrone Busse. Auch bei diesen beiden Bustypen gibt es keine Patentantwort, welcher von beiden zu bevorzugen ist.
Synchrone Busse
Die synchrone Datenübertragung funktioniert im wesentlichen durch Festlegung von genau definierten Zeitintervallen, in welchen die Daten am Bus sind. Sender und Empfänger muß somit die Möglichkeit gegeben werden sich zu synchronisieren. Dies kann entweder durch eine gemeinsame Taktleitung geschehen, oder es stellt sich der Empfänger mit dem ersten Datensatz auf den Sender ein. Sind Bussysteme für die Überwindung großer Distanzen ausgelegt, verzichtet man auf die gemeinsame Datenleitung. Somit können synchronisierte Busse ohne Steuerleitung funktionieren. Da sich die synchronen Busse also meist am Anfang der Übertragung synchronisieren, und die Zeitpunkte zu denen die Daten gelesen werden, von den synchronisierenden Quarzen abgeleitet werden, tritt ein neues Problem auf. Sender und Empfängerquarz unter liegen bestimmten Bauteiltoleranzen, daher wird früher oder später ein Bit ausgelassen, oder doppelt gelesen. Damit dies nicht eintritt ist es notwendig die Datenübertragung immer wieder zu unterbrechen, damit sich der Empfängerquarz neu synchronisieren kann. Daher kann man sich aus den Toleranzen der Quarze eine maximale Blockgröße berechnen. Wo liegen aber nun die wesentlichen Nachteile der synchronen Busse ? Synchrone Busse besitzen eine fest definierte Übertragungsgeschwindigkeit, das heißt aber, daß diese auch für einfache Standardteilnehmer gilt. Somit müssen diese mit den gleichen Bustreibern versehen werden. Umgekehrt kann es passieren, daß der Bus durch neue Anforderungen permanent überfordert ist. Ein exzellentes Beispiel dafür ist der ISA Bus der PC. Dieser Bus hat eine definierte Busfrequenz von 8Mhz. Durch die gewachsenen Anforderungen (vor allem an die Graphikkarte) wurde er zu Engpaß. Synchrone Busse sind somit zwangsläufig immer nur ein Abbild der aktuelle Technologie.
Asynchrone Busse
Asynchrone Verfahren verzichten auf die gegenseitige Synchronisation. Statt dessen werden mindestens zwei Handshake-Leitungen im Steuerbus eingeführt. Der Datenaustausch findet nun mit Hilfe der Handshake-Leitungen statt: Der Sender legt einen Datensatz an den Bus, und sendet gleichzeitig das "Daten gültig Signal". Der Empfänger wartet auf das "Daten gültig Signal" und beginnt mit dem Empfang des Signals den Datensatz vom Bus zu lesen. Ist der Empfänger mit dem Lesevorgang fertig, bestätigt er dieses mit dem "Daten gelesen Signal". Registriert der Sender nun das Signal, so nimmt er sein "Daten gültig Signal" vom Bus. Bemerkt de Empfänger das Verschwinden des "Daten gültig Signals" nimm er seinerseits das "Daten gelesen Signal" vom Bus. Der Sender weiß, daß er mit dem verschwinden des "Daten gelesen Signals" den nächsten Datensatz schicken kann. Dieses Verfahren bewirkt nun, daß sowohl billigere, und damit langsamere als auch teurere und damit schnellere an dem gleichen Bus betrieben werden dürfen. Es wir sich immer die für beide Kommunikationspartner günstigste Übertragungsrate einstellen. Ein einmaliges Beispiel für den asynchronen Bus ist der VME-Bus. Der VME-Bus ist eine Erweiterung des von der Motorola entwickelten VERSA Busses. Dieser Bus wir von der Motorola Prozessorfamilie MC68XXX direkt unterstützt. Obwohl er schon 1981 entwickelt wurde, konnte der Amiga (mit einem MC 68000) lange Zeit mit dem PC (gebremst durch den ISA Bus) mithalten. Doch auch der asynchrone Bus ist nicht die Lösung aller Probleme. Um einen einzigen Datensatz auszutauschen müssen insgesamt vier Flanken hintereinander über die Leitung geschickt werden. Lauzeitverzögerungen können hier einen extremen Geschwindigkeitsverlust bedeuten. Dies soll anhand eines kurzen Rechenbeispiels gezeigt werden.
Annahme:
Zwei Rechner sollen über einen Asynchronen seriellen Bus miteinander verbunden werden. Die beiden Rechner stehen in einer Entfernung von 25km. Die Busleitungen sind als Glasfaser ausgeführt. Die Reaktionszeit der Rechner kann als ideal angesehen werden.
Mit c=299.792.458m/s ergibt sich eine Laufzeitverzögerung von
Tkabel=L/c=25000m/c=83,39s
tbit=4*tKabel =333,56s
f=1/T=2997,9bit/s
Obwohl Lichtwellenleiter verwendet wurden liegt die Übertragungsrate unter der eines billigen Modems. Asynchrone Busse sind daher nur für räumlich begrenzte Systeme anwendbar. Ein weiterer Nachteil der asynchronen Busse liegt in den Handshake-Leitungen. Ist der Empfänger aus irgendeinem Grund vom Netz getrennt, und kann die Daten nicht annehmen, kommt auch kein "Daten gelesen Signal". Der Sender würde ewig warten und das System stehenbleiben. Um dies zu verhindern müssen asynchrone Busse immer einen Watchdog-Timer besitzen. Dieser hat die Aufgabe den Bus laufend zu überwachen, und im Falle eines nicht kommenden "Daten gelesen Signals" die Rolle des Empfängers zu übernehmen. So kann das System, wenn auch mit Verzögerungen weiterlaufen.
|