-
"Verfahren zur Zugriffsteuerung auf einen Datenbus"
-
Die Erfindung betrifft ein Verfahren zum Steuern des Zugriffes auf
einen Datenbus, an den eine Anzahl Stationen angeschlossen sind, die unabhängig
voneinander binäre Daten innerhalb einer für alle gleichen und synchronen Rahmenstruktur
über den Datenbus übertragen, deren mit dem Datenbus verbundenen Ausgänge über den
Datenbus für die binären Daten eine ODER-Verknüpfung bilden und außerhalb der Sendezeiten
den binären Wert "0" am Ausgang abgeben, und die zu Beginn einer Datenübertragung
ein dieser Station zugeordnetes Bitmuster über den Datenbus übertragen und bei Empfang
des ungestörten Bitmusters weitere Daten aussenden und im Konfliktfall bei Detektion
einer Veränderung der über den Datenbus ausgesandten Bitmuster die weitere Aussendung
von Daten abbrechen.
-
Ein solches Verfahren ist beispielsweise in der älteren deutschen
Patentanmeldung P 33 00 531.1 beschrieben. Dort sind eine Anzahl Möglichkeiten beschrieben,
wie im Konfliktfall, wenn zwei Stationen gleichzeitig ihr Bitmuster aussenden, mit
einer gewissen Wahrscheinlichkeit eine dieser Stationen den Zugriff auf den Datenbus
wirklich erhält. Besonders in dem Fall, in dem den Stationen keine Prioritäten zugeteilt
werden sollen, kommt es jedoch häufig nicht zu einer Auflösung des Konfliktfalles,
so daß keine der beiden Stationen, die ihre Bitmuster gleichzeitig über den Datenbus
aussenden, ihr Bitmuster ungestört wieder empfängt und damit Zugriff zum Datenbus
erhält, so daß beide Stationen die weitere Datenübertragung abbrechen und zu verschiedenen
späteren Zeitpunkten einen erneuten Zugriff versuchen. Dadurch bleibt der Kanal,
der einer be-
stimmten Stelle im Rahmen zugeordnet ist, in der die
beiden Stationen ihr Bitmuster ausgesendet haben, unbenutzt, so daß die gesamte
Übertragungskapazität schlecht ausgenutzt wird. Es ist also wünschenswert, daß in
einem Kollisionsfall, bei dem zwei Stationen gleichzeitig den Zugriff auf den Datenbus
suchen, möglichst oft eine dieser beider Stationen tatsächlich den Zugriff erhält.
Wie in der älteren Patentanmeldung P 33 00 531.1 angegeben ist, kann durch spezielle
Prioritätsvergabe an die einzelnen Stationen eine häufige Auflösung des Konfliktfalles
erreicht werden. Die dort angegebenen Methoden sind jedoch dafür weniger geeignet,
wenn alle Stationen untereinander gleichberechtigt oder zumindest weitgehend gleichberechtigt
sein sollen.
-
Aufgabe der Erfindung ist es, ein Verfahren der eingangs genannten
Art anzugeben, bei dem in möglichst vielen der angegebenen Kollisionsfälle eine
der gleichzeitig zugreifenden Stationen den Zugriff zum Datenbus tatsächlich erhält.
-
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß die den Stationen
zugeordneten Bitmuster aus zwei Gruppen von Bitmustern ausgewählt werden, von denen.
die Bitmuster der ersten Gruppe in einem ersten Bitmusterteil nur Bitwerte des anderen
binären Wertes enthalten und die Bitmuster der zweiten Gruppe in einem zweiten Bitmusterteil
nur Bitwerte des einen binären Wertes enthalten.
-
Die möglichst häufige Auflösung von Konfliktfällen wird erfindungsgemäß
also durch eine entsprechende Wahl der Bitmuster erreicht. Durch die erfindungsgemäße
Auswahlvorschrift der Bitmuster werden zwar eine Anzahl Bitmuster, die bei einer
bestimmten Bitmusterlänge möglich sind, nicht ausgenutzt, so daß bei einer gegebenen
Anzahl von
Stationen längere Bitmuster erforderlich sind als bei
Ausnutzung aller möglichen Bitkombinationen, jedoch ist der dadurch erzeugte zusätzliche
Zeitaufwand wesentlich geringer als der Zeitverlust, der durch nicht aufgelöste
Konfliktfälle entsteht.
-
Eine besonders häufige Auflösung der Konfliktfälle ergibt sich, wenn
die beiden Bitmusterteile kein gemeinsames Bit enthalten. Dies bedeutet, daß die
beiden Bitmusterteile innerhalb des Bitmusters sich nicht überschneiden. Darüber
hinaus ergeben sich bei gleichzeitiger optimaler Konfliktauflösung besonders kurze
Bitmuster, wenn die beiden Bitmusterteile zusammen genau das vollständige Bitmuster
ergeben.
-
Bei der erfindungsgemäßen Auswahl der Bitmuster erhält im Falle von
zwei Stationen, die gleichzeitig ihr Bitmuster aussenden und bei denen die eine
Station ein Bitmuster der ersten Gruppe und die andere Station ein Bitmuster der
zweiten Gruppe aussendet, diejenige Station schließlich den Zugriff, der ein Bitmuster
der zweiten Gruppe zugeordnet ist. Um diese Tatsache günstig auszunutzen, ist es
zweckmäßig, wenn beide Bitmusterteile die gleiche Anzahl Bit enthalten. Dies bedeutet,
daß das Bitmuster eine gerade Anzahl von Bit enthält.
-
Da wie vorstehend angegeben die Stationen, denen Bitmuster der zweiten
Gruppe zugeordnet sind, im Konfliktfall den Stationen bevorrechtigt sind, denen
ein Bitmuster der ersten Gruppe zugeordnet ist, ergibt sich dadurch indirekt eine
Prioritätsvergabe. Wenn dies vermieden werden soll, ist es zweckmäßig, daß in den
Stationen auf jeweils ein gemeinsames Steuersignal die den einzelnen Stationen zugeordneten
Bitmuster zyklisch im Ring gewechselt werden.
-
Auf diese Weise gleicht sich die Bevorrechtigung über eine größere
Anzahl von Zugriffen aus.
-
Eine andere Möglichkeit, die Bevorrechtigung auszugleichen, besteht
darin, daß jeweils zwei Stationen paarweise einander zugeordnet sind und auf ein
Steuersignal das Bitmuster der jeweils anderen Station des Paares übernehmen, wobei
ein Bitmuster jedes Paares der Stationen der ersten Gruppe und das andere Bitmuster
des Paares der Stationen der zweiten Gruppe angehört.
-
Um in diesem Fall zu erreichen, daß die einzelnen Stationen untereinander
möglichst weitgehend gleichberechtigt sind, ist es zweckmäßig, daß die jeweils zwei
zusammengehörigen Bitmuster so ausgewählt werden, daß beide Stationen zusammen bei
der Hälfte aller Kollisionsfälle, bei denen eine Station den Zugriff zum Datenbus
behält, den Zugriff zum Datenbus behalten. Auf diese Weise ist bei einem einander
zugeordneten Paar von Stationen jede Station ebenso oft bevorrechtigt wie benachteiligt.
-
Wenn nur wenige Stationen vorhanden bzw. die Bitmuster ausreichend
lang sind, besteht eine andere derartige Methode darin, daß jeder Station sowohl
ein Bitmuster der ersten Gruppe als auch ein Bitmuster der zweiten Gruppe zugeordnet
wird und auf ein Steuersignal hin auf jeweils das andere Bitmuster umgeschaltet
wird.
-
Damit auch dabei alle Stationen wirklich gleichberechtigt sind, ist
es zweckmäßig, daß die jeweils zwei zusammengehörigen Bitmuster so ausgewählt werden,
daß die Station im zeitlichen Mittel bei der Hälfte aller Kollisionsfälle, bei denen
eine Station den Zugriff zum Datenbus behält, selbst den Zugriff zum Datenbus behält.
Dadurch ist für jede Station, der zwei Bitmuster zugeordnet sind zugeordnet sind,
die Häufigkeit der Bevorrechtigung ebenso groß wie die der Benachteiligung, so daß
sich beide Zustände im Mittel aufheben.
-
Ausführungsbeispiele der Erfindung werden nachstehend anhand der Zeichnung
näher erläutert. Es zeigen Fig. 1 schematisch die Anschaltung mehrerer Stationen
an einen Datenbus, Fig. 2 eine Möglichkeit des Aufbaus der Rahmenstruktur der auf
dem Datenbus übeiEragenen Daten, Fig. 3 in Form einer Tabelle die Auswahl der Bitmuster
und deren Aufteilung in zwei Gruppen.
-
In Fig. 1 sind an einen gemeinsamen Datenbus, der beispielsweise aus
einem Koaxialkabel oder einer Lichtleitfaser bestehen kann, einen Zeitrahmengenerator
2 und eine Anzahl Teilnehmerstationen angeschlossen, von denen hier nur beispielhaft
die Stationen 4 und 6 dargestellt sind.
-
Der Anschluß an den Datenbus 8 ist hier als direkte Verbindung dargestellt,
jedoch wird insbesondere bei größeren räumlichen Entfernungen zwischen den Stationen
4 und 6 und den weiteren der Datenbus 8 nacheinander durch jede Station hindurchgeleitet,
das Signal regeneriert und der Bus wieder zurückgeführt, wobei eine unidirektionale
Schleifentopologie oder eine Ringtopologie möglich ist. In jedem Falle wird jedoch
von einer ODER-Verknüpfung der von der jeweiligen Station erzeugten Signale mit
den auf dem Datenbus vorhandenen Signalen ausgegangen, wodurch also ein von einer
Station erzeugter logischer Wert 1 einen von einer anderen Station erzeugten logischen
Wert "0" überdeckt. Die Zuordnung der logischen Werte zu technischen Signalen hängt
ab von der verwendeten Technologie und hat keine Bedeutung für die Erfindung.
-
Die Informationen auf dem Datenbus 8 werden in einer Rahmenstruktur
gegliedert, die in Fig. 2 angedeutet ist.
-
Ein Rahmen umfaßt eine feste Anzahl von Datenwörtern mit je einer
festen Anzahl von Bits. Die Dauer eines Rahmens
beträgt die Zeit
T, und am Ende des Rahmens schließt sich unmittelbar der nächste Rahmen an. Beispielsweise
zu Beginn eines jeden Rahmens sendet die zentrale Einheit 2 ein Synchronisierwort
S aus, wodurch alle Stationen 4, 6 usw.
-
auf diese Rahmenstruktur synchronisiert werden. Im nächsten Wort kann
eine Station ihr Bitmuster B aussenden. Wenn diese das Bitmuster anschließend über
den Datenbus 8 ungestört wieder empfängt, kann diese Station in den folgenden Wörtern
eine Information aussenden, die hier beispielsweise mit einer festen Länge von vier
Wörtern angenommen ist. In der Praxis wird diese Informationlänge allgemein größer
gewählt. Da diese Informationslänge aber wesentlich kürzer als die Rahmenlänge T
ist, sind mehrere Stellen im Rahmen vorhanden, an denen eine Station ihr Bitmuster
B aussenden kann, wie in Fig. 2 angedeutet ist.
-
An den in Fig. 2 mit bezeichneten Stellen innerhalb des Rahmens können
gelegentlich auch zwei Stationen gleichzeitig versuchen, ihre Adresse, d.h. das
ihnen zugeordnete Bitmuster, auszusenden. Diese beiden Bitmuster der beiden Stationen
werden nun also ODER-mäßig verknüpft, und diese Verknüpfung wird anschließend von
den beiden Stationen empfangen. Wenn die Verknüpfung eines der beiden Bitmuster
der beiden Stationen ergibt, kann diese Station anschließend in den folgenden Worten
des Rahmens eine Information übertragen. Anderenfalls müssen beide Stationen die
weitere Informationsübertragung abbrechen, und die entsprechenden Wörter in dem
Rahmen bleiben frei, wodurch die Übertragungskapazität des Datenbusses schlecht
ausgenutzt wird. Es wird nun nachfolgend beschrieben, wie die Bitmuster ausgewählt
und den Stationen zugeordnet werden können, um möglichst oft zu erreichen, daß die
Verknüpfung von zwei Bitmustern eines dieser beiden Bitmuster erhält, so daß es
bei Kollisionsfällen, wenn zwei Stationen gleichzeitig ihre Bitmuster über dem Datenbus
aussenden,
möglichst oft eines der beiden Bitmuster erhalten bleibt
und die zugehörige Station anschließend eine Information übertragen kann. Zunächst
ist mit dieser Bitmusterauswahl und deren unmittelbaren Zuordnung zu jeweils einer
Station eine Prioritätenregelung verbunden. Es wird anschließend jedoch auch noch
beschrieben, wie diese Prioritätenregelung so durchgeführt werden kann, daß im Mittel
alle Stationen untereinander gleichberechtigt werden.
-
Das von einer Station ausgesendete Bitmuster enthält eine Anzahl von
n Bit. Von der Menge der Bitmuster, die mit diesen n Bit gebildet werden können,
werden zwei Gruppen ausgewählt. In der ersten Gruppe enthalten die Bitmuster beispielsweise
an den ersten n1 Stellen nur den Wert 0.
-
Dabei ist diesertWert 0 auf die ODER-Verknüpfung auf den Datenbus
bezogen, d.h. die Verknüpfung eines Bits mit dem Wert 0 mit einem Bit mit dem Wert
1 ergibt ein Bit mit dem Wert 1. Die erste Gruppe enthält aufgrund der einschränkenden
Bildungsvorschrift maximal 2("-"1) Bitmuster. In der zweiten Gruppe enthalten alle
Bitmuster an den beispielsweise letzten n2 Stellen nur Bits mit dem Wert 1.
-
Damit enthält die zweite Gruppe maximal 2("-"2) Bitmuster. Nachstehend
ist ein Beispiel in allgemeiner Form angegeben: Bitmuster der Gruppe 1 000XXXXX
Bitmuster der Gruppe 2 XXXX1111.
-
Darin bedeuten die Symbole X, daß an diesen Stellen die Bitwerte 0
oder 1 enthalten sein können. Es ist zu erkennen, daß jedes Bitmuster der Gruppe
2 bei einer ODER-Verknüpfung mit einem Bitmuster der Gruppe 1 erhalten bleibt, wenn
die beiden Bitmusterteile mit festem Inhalt gerade das gesamte Bitmuster ergeben,
d.h. wenn n1+n2=n ist. Um diesen Effekt möglichst gut auszunutzen, sollten
beide
Gruppen gleich groß sein, d.h. beide Bitmusterteile untereinander gleich lang sein,
so daß n1=n2=n/2 ist.
-
Ein vollständigeres Beispiel für derart gebildete Bitmuster mit n=8
Bits ist in Fig. 3 dargestellt. Daraus ist zu erkennen, daß insgesamt 31 Bitmuster
gebildet werden können. Die Bitmuster 1 bis 15 gehören zur Gruppe 1, die Bitmuster
17 bis 31 zur Gruppe 2. Das Bitmuster 16 gehört beiden Gruppen an. In der Gruppe
1 haben die ersten vier Bit den Wert 0, und die letzten vier Bit durchlaufen alle
binären Zahlen, die mit vier Bit darstellbar sind. Entsprechendes gilt für die Bitmuster
der Gruppe 2, bei denen die ersten vier Bit alle binären Zahlen durchlaufen und
die letzten vier Bit den Wert 1 haben. Wenn 31 Stationen vorhanden sind, denen jeweils
ein anderes der in Fig. 3 angegebenen 31 Bitmuster zugeordnet wird, so ergibt sich
bei Kollisionsfällen von beliebigen zwei Stationen eine Wahrscheinlichkeit von 76%,
daß eines der beiden Bitmuster erhalten bleibt. Wenn bei solchen Kollisionsfällen
von zwei Stationen der einen Station das Bitmuster 1, 16 oder 31 zugeordnet ist,
bleibt stets eines der beiden verknüpften Bitmuster erhalten. Die Fälle, wo bei
Kollisionsfällen keines der Bitmuster erhalten bleibt, verteilen sich etwa gleichmäßig
auf die übrigen Bitmuster.
-
Bei einer festen Zuordnung der in Fig. 3 angegebenen Bitmuster auf
die Stationen ergibt sich keine gleichmäßige Prioritätenvergabe, denn ein Bitmuster
der Gruppe 2 bleibt immer gegenüber einem Bitmuster der Gruppe 1 erhalten, und innerhalb
der Gruppe 1 bleibt immer das Bitmuster 16 erhalten, und innerhalb der Gruppe 2
bleibt immer das Bitmuster 31 erhalten.
-
Um eine ungleichmäßige Prioritätsvergabe zu vermeiden, muß die Zuordnung
der Bitmuster zu den Stationen gewechselt werden. Dies läßt sich beispielsweise
dadurch erreichen, daß auf ein bestimmtes Steuersignal hin, das beispielsweise im
Synchronisierwort S enthalten sein kann, alle Stationen das Bitmuster der jeweils
vorhergehenden Station übernehmen, wobei die erste Station das Bitmuster der letzten
Station übernimmt. Dies braucht selbstverständlich nicht durch eine externe Datenübertragung,
beispielsweise über den Datenbus 8, erfolgen, sondern alle Bitmuster sind in jeder
Station gespeichert, und die Station schaltet dann jeweils auf das nächste gespeicherte
Bitmuster weiter.
-
Eine andere Möglichkeit, die unter Umständen leichter realisierbar
ist, besteht darin, daß jeweils zwei Stationen bezüglich ihrer Bitmuster ein Paar
bilden, wobei der einen Station ein Bitmuster der Gruppe 1 und der anderen Station
ein Bitmuster der Gruppe 2 zugeordnet ist. Auch hierbei ist zum Austausch der Bitmuster
keine Übertragung notwendig, sondern jede Station kann das neue Bitmuster auf folgende
Weise bilden: Schritt 1: Der Bitmusterteil mit den vier Nullen eines Bitmusters
der Gruppe 1 wird hinter die übrigen vier Bit gesetzt; Schritt 2: Das entstandene
Bitmuster wird invertiert.
-
Diese Paarbildung hat die Eigenschaft, daß für eine Station eines
Paares in allen möglichen Kollisionsfällen k1-mal das Bitmuster erhalten bleibt
und k2-mal nicht erhalten bleibt, und für die zweite Station die umgekehrte Verteilung
entsteht, d.h. deren Bitmuster-bleibt k2-mal er-
halten und kl-mal
nicht erhalten. Bezogen auf das Paar ist es also gleich häufig, daß ein Bitmuster
erhalten bleibt bzw. daß es nicht erhalten bleibt. Ist der Prozentsatz an Kollisionsfällen,
bei denen kein Bitmuster erhalten bleibt, nur gering, so ergibt sich aus dieser
Art der Bitmusterverteilung auf die Paare, daß alle Stationen untereinander gleichberechtigt
sind, weil für alle Stationen durch die paarweise Vertauschung der Bitmuster dieses
ebenso oft erhalten bleibt wie es nicht erhalten bleibt.
-
Ein Sonderfall ist dann gegeben, wenn weniger als 16 Stationen bei
den in Fig. 3 angegebenen Bitmustern vorhanden sind. Dann nämlich kann jede Station
quasi mit sich selbst ein Paar bilden, indem jeder Station ein Bitmusterpaar der
oben genannten Art zugeordnet wird, und jede Station schaltet zwischen den beiden
Bitmustern hin und her. Es ist klar, daß auch in diesem Falle alle Stationen im
Mittel untereinander gleichberechtigt sind. In diesem Falle käme noch als Vorteil
hinzu, daß der Umschaltvorgang ohne Synchronisation mit anderen Stationen erfolgen
kann, beispielsweise nach jedem erfolgreichen Übertragungsvorgang. Außerdem kann
aus übergeordneten Gesichtspunkten jede Station jederzeit eine relativ hohe Priorität
erhalten, indem sie z.B. durch eine entsprechende Information über den Datenbus
oder durch eigene Steuerung ausschließlich das Bitmuster der Gruppe 2 verwendet
und nicht umschaltet.
-
- L e e r s e i t e -