DE3115453C2 - - Google Patents
Info
- Publication number
- DE3115453C2 DE3115453C2 DE3115453A DE3115453A DE3115453C2 DE 3115453 C2 DE3115453 C2 DE 3115453C2 DE 3115453 A DE3115453 A DE 3115453A DE 3115453 A DE3115453 A DE 3115453A DE 3115453 C2 DE3115453 C2 DE 3115453C2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- module
- period
- data
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000005540 biological transmission Effects 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 13
- 230000007704 transition Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 6
- 230000035484 reaction time Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims 2
- 230000009471 action Effects 0.000 description 60
- 238000004891 communication Methods 0.000 description 58
- 230000006698 induction Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000010453 quartz Substances 0.000 description 3
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- VIKNJXKGJWUCNN-XGXHKTLJSA-N norethisterone Chemical compound O=C1CC[C@@H]2[C@H]3CC[C@](C)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1 VIKNJXKGJWUCNN-XGXHKTLJSA-N 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- NEOZOXKVMDBOSG-UHFFFAOYSA-N propan-2-yl 16-methylheptadecanoate Chemical compound CC(C)CCCCCCCCCCCCCCC(=O)OC(C)C NEOZOXKVMDBOSG-UHFFFAOYSA-N 0.000 description 1
- NQLVQOSNDJXLKG-UHFFFAOYSA-N prosulfocarb Chemical compound CCCN(CCC)C(=O)SCC1=CC=CC=C1 NQLVQOSNDJXLKG-UHFFFAOYSA-N 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/374—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Multi Processors (AREA)
Description
Die Erfindung betrifft eine Anordnung nach dem Oberbegriff
des Anspruchs 1 sowie eine Datenquelle und -empfänger zur
Verwendung in einer derartigen Anordnung.
Derartige Anordnungen bzw. Systeme sind bekannt, insbe
sondere solche Systeme, in denen die Datenquellen und
Datenempfänger wenigstens teilweise aus Signalprozessor
einheiten wie Mikroprozessoren und dergleichen bestehen.
In einem System mit mehreren Datenquellen und -empfängern
ist es beispielsweise aus der Veröffentlichung von
Casaglia in "Euromicro Newsletter", Oktober 1976, Vol. 2,
Nr. 4, S. 5 ff. bekannt, für die Interkommunikation einen
sogenannten Kommunikationsbus zu verwenden. Dabei
erfordert eine asynchrone Kommunikation zwischen Quellen
und Empfängern z. B. vier Leitungen: Mindestens eine
Datenleitung und drei "Handshake"-Leitungen. Bei dieser
Lösung (siehe beispielsweise Fall Joint Comp. Conf. 1972,
S. 719 bis 740) ist eine Kommunikation zwischen den Moduln
möglich ohne ihre gegenseitige Kenntnis der inneren
Verarbeitungsgeschwindigkeit. Jedoch ist ein derartiger
Kommunikationsbus zu kompliziert und oft zu teuer, um als
Bus in den Bereichen in Betracht gezogen werden zu können,
in denen es sich darum handelt, die Kosten niedrig zu
halten. Es sind Lösungen erforderlich, bei denen der
Kommunikationsbus und die über sie zu betreibende
Kommunikation möglichst einfach und preisgünstig sind.
Insbesondere würde ein Bus mit einer Mindestanzahl von
Übertragungsleitungen in Betracht kommen.
Ein Beispiel eines eingangs erwähnten Datenverarbeitungs
systems mit mehreren Datenquellen und Datenempfängern ist
bekannt aus den Konferenzdokumenten mit der Bezeichnung
EUROMICRO 1976, S. 299 bis 303: R. Sommer, "Cobus, a
firmware controlled data transmission system". "Cobus"
bezeichnet einen Koaxialbus, mit dem eine Kommunikation
zwischen einer Anzahl von mit Mikroprozessoren versehenen
Stationen erfolgt. Jedoch erfüllt dieses System nicht die
Bedingung niedriger Kosten, da bei den verschiedenen
Prozessoren kein großer Unterschied im "Zeitbegriff"
erlaubt ist. Für den ordnungsgemäßen Verlauf der
Kommunikation müssen die sich beteiligenden Prozessoren
Vorkenntnisse über die Bitzeiträume der anderen
Prozessoren haben. Dies bedeutet, daß jeder Prozessor mit
einem teuren Kristalloszillator ausgerüstet sein muß oder
daß das System einen zentralen Taktgeber haben muß oder
daß nach der Montage ein Taktbestimmungsnetz einzustellen
ist, was ebenfalls teuer und zumal unzuverlässig ist.
Eine Anordnung der eingangs genannten Art ist bekannt aus
der WO 80-01021. Dabei werden mehrere Teilnehmer über
einen gemeinsamen Datenbus verbunden. In jedem Teilnehmer
sind zwei Zeitgeber vorhanden, von denen der eine die
kürzeste Zeit zwischen zwei aufeinanderfolgenden Aus
sendungen des betreffenden Teilnehmers bestimmt und der
andere Zeitgeber prüft, ob der Bus eine vorgegebene Zeit
lang frei von Informationen ist. Die letztere Zeit soll
für alle Teilnehmer unterschiedlich sein, während die
erstere Zeit im wesentlichen gleich sein soll. Dadurch
wird zwar gewährleistet, daß jeder Teilnehmer innerhalb
der durch den ersteren Zeitgeber bestimmten Zeitspanne
einmal senden kann, jedoch wird in dem Fall, daß nur
wenige Teilnehmer oder gar nur einer sendebereit ist, der
Bus zeitlich sehr ungünstig ausgenutzt. Außerdem wird
dabei ausgegangen von zeitlich genau gesteuerten Teil
nehmern, die also praktisch über einen quarzgesteuerten
Taktgeber verfügen müssen, um die gegenseitigen Verhält
nisse der Zeiten genau einhalten zu können. Insbesondere
eine prioritätsgesteuerte Übertragung ist dabei nicht
möglich.
Aufgabe der Erfindung ist es daher, eine Anordnung der
eingangs genannten Art anzugeben, die einfach aufgebaut
und damit preiswert und dennoch zuverlässig ist und leicht
erweitert werden kann, wobei die einzelnen Moduln große
Geschwindigkeitsunterschiede untereinander aufweisen
können.
Diese Aufgabe wird erfindungsgemäß durch die im
kennzeichnenden Teil des Anspruchs 1 angegebenen Merkmale
gelöst.
Erfindungsgemäß ist eine große Freiheit in den gegen
seitigen Toleranzen der im System vorgesehenen Taktgeber
gegeben. Diese Toleranzen werden berücksichtigt, denn je
größer die Toleranzen, um so länger ist der erwähnte
zweite Zeitraum durch die Abhängigkeit vom Toleranz
faktor (R). Dies bedeutet zwar eine Verringerung der
Kommunikationsgeschwindigkeit, aber keine nachteiligen
Folgen für die gestellten Bedingungen. Es sei hier
bemerkt, daß in vorliegenden Systemen, wie insbesondere
einem Konsumsystem zwischen z. B. Audio- oder Videogeräten,
der Geschwindigkeitsfaktor nicht eine derartige ausschlag
gebende Rolle wie in professioneller ausgerichteten
Systemen spielt, in denen die Verwendung von Kommunika
tionsbussen mit einer Anzahl von Leitungen (z. B. 4 oder 8
usw.) nicht von vornherein prohibitiv ist.
Der Erfindung liegt die Erkenntnis zugrunde, daß allen
Aktionsteilnehmern die Gelegenheit geboten werden muß,
sich auch tatsächlich an einer sich auf eine Kommunikation
beziehenden Aktion zu beteiligen. Die gegenseitigen Takt
toleranzen dürfen nicht dazu führen, daß Aktionsteilnehmer
mit einem zu langsamen Takt nicht mitmachen können (weil
sie nicht schnell genug reagieren, in eine solche Aktion
hineingezogen zu werden). Um dies zu erreichen, ist durch
die Einführung des ersten und zweiten Zeitraums
(z. B. T Ai und T Bi ) ein sogenannter Induktionsablauf
erhalten, mit dem gewährleistet ist, daß alle Aktions
teilnehmer teilnehmen können. Angenommen, mehrere Moduln
möchten den Bus benutzen. Hierzu müssen sie warten, bis
der Bus für eine genügend lange Zeit dazu fertig ist.
Angenommen sei weiter, daß der Ortstaktgeber eines ersten
Moduls schneller als der eines zweiten Moduls verläuft.
Damit kann der erste Modul früher wissen (nach T Bi ), ob
der Bus frei, d. h. für Benutzung fertig ist, als der
zweite Modul. Der erste Modul fängt damit an, den Bus zu
verwenden (belegt den Bus). Der Induktionsablauf sorgt
nunmehr dafür, daß der zweite Modul (der selbst inzwischen
schon den Zeitpunkt T A ₂ detektierte), nachdem er
festgestellt hat, daß ein anderer Modul (der erste) damit
anfängt, den Bus zu benutzen, in Beantwortung darauf auch
damit anfängt, den Bus zu verwenden.
Der Begriff Reaktionszeit einer Datenquelle und eines
Datenempfängers bezieht sich auf die Zeit, die ein
derartiger Modul benötigt, um auf ein Datenbit anzu
sprechen. Im Normalfall ist die Reaktionszeit das Produkt
eines Faktors Vi<1 und der Taktsignaldauer für einen
derartigen Modul (Mi).
In der vorangehenden Beschreibung wird einige Male der
Begriff "sich auf eine Kommunikation beziehende Aktion"
verwendet. Eine Kommunikation besteht aus einer Anzahl
durchzuführender Aktionen:
- - die Anfrage ("start") mehrerer Aktionsteilnehmer zur Herstellung einer Kommunikationsverbindung,
- - die Durchführung eines Wählverfahrenss zwischen mehreren, eine Kommunikationsverbindung anfragenden Aktionsteil nehmern auf Basis von Prioritäts- und/oder Adreßdaten (Meisterwahl),
- - die vom Meister hergestellte Verbindung mit der Quelle oder dem Empfänger, die bzw. der in dieser Kommunikation als Sklave dient (sog. "öffne Sklave"-Phase),
- - die Datenübertragung selbst.
Der erwähnte erfindungsgemäße Induktionsablauf ist
insbesondere wichtig bei den zuerst genannten zwei
Aktionen: mehrere Aktionsteilnehmer müssen trotz ihrer
Takttoleranzen mitmachen können. Für die zwei letzt
genannten Aktionen ist dies an sich nicht mehr dringend
der Fall, es handelt sich dabei um die direkte Verbindung
zwischen einem Meister und einem Sklaven, der adressiert
wird und mit dem Meister eine Datenübertragung aufnimmt.
Da es dem Meister dabei also bekannt ist, wer der Sklave
ist, ist es denkbar, daß er dabei auch die Reaktions
geschwindigkeit des Sklaven kennt und diese bei der
Datenübertragung berücksichtigt. Dabei ist praktisch die
Möglichkeit gegeben, die Datenübertragungsgeschwindigkeit
an die betreffende Situation zwischen Meister und Sklaven
anzupassen. Damit sind größere Geschwindigkeiten erreich
bar.
Ausgestaltungen der erfindungsgemäßen Anordnung sowie eine
Datenquelle und -empfänger zur Verwendung in der
erfindungsgemäßen Anordnung sind in den Unteransprüchen
gekennzeichnet.
Ausführungsbeispiele der Erfindung werden nachstehend
anhand der Zeichnung näher erläutert. Es zeigt
Fig. 1 schematisch einige Aktionen, aus denen
die Kommunikation an einem Kommunikationsbus besteht,
Fig. 2 ein Datenverarbeitungssystem mit mehreren
Datenquellen und Datenempfängern mit einer einzigen Leitung
als Übertragungsmedium,
Fig. 3 das dem System nach Fig. 2 zugeordnete
Zeitdiagramm,
Fig. 4 ein Datenverarbeitungssystem mit mehreren
Datenquellen und Datenempfängern mit zwei Leitungen als
Übertragungsmedium,
Fig. 5 das dem System nach Fig. 4 zugeordnete
Zeitdiagramm,
Fig. 6 ein System mit drei Leitungen als Über
tragungsmedium,
Fig. 7 eine etwas geänderte Ausführung des
Systems mit drei Leitungen als Übertragungsmedium,
Fig. 8a und 8b Beispiele von Moduln, die als
Digitalsignalprozessor ausgeführt sind,
Fig. 9 ein Flußdiagramm zur Durchführung von
Unterbrechungen,
Fig. 10 ein Flußdiagramm eines Hauptprogramms,
Fig. 11 ein Flußdiagramm eines Unterbrechungs
verfahrens,
Fig. 12 ein Flußdiagramm eines detaillierten
Unterbrechungsverfahrens,
Fig. 13 ein Flußdiagramm der "Bus Fertig"-
Prüfung,
Fig. 14 ein Blockschaltbild einer Datenquelle
und/oder eines Datenempfängers, bestehend aus einem ersten
und einem zweiten Teil,
Fig. 15 ein detailliertes Schema des Block
schaltbilds nach Fig. 14,
Fig. 16 ein Zeitbitdiagramm für das Schema
nach Fig. 15,
Fig. 17 das Schema eines "Fertig-Belegt-Übergang"-
Detektors.
In Fig. 1 ist schematisch dargestellt, aus
welchen Aktionen eine Kommunikation an einem Bus bestehen
kann:
- - Warte, bis der Bus für eine Kommunikationsaktion fertig ist (Block 20). Der Bus wird als "fertig" betrachtet, wenn er für eine genügend lange Zeit keine Aktion aufweist. Hierbei handelt es sich darum, daß allen Aktionsteil nehmern diese Situation "Bus fertig" bekannt ist, so daß sie sich alle an der folgenden Aktion beteiligen können.
- - Schiedsverfahren (Block 22) ist diese folgende Aktion, die sich auf die Durchführung eines Wählverfahrens auf Basis von Prioritäts- und/oder Kenndaten bezieht. Damit wird bestimmt, welcher Modul der Meister im System wird.
- - Sklavenwahl (Block 24): Der Meister erzeugt eine Ziel adresse. Alle Moduln vergleichen diese Adresse mit der eigenen Kennung. Die Quelle oder der Empfänger, die eine Übereinstimmung feststellt, betrachtet sich selbst als Sklave. Dies ist die sog. "Öffne Sklave"-Phase.
- - Diese Quelle oder dieser Empfänger wird in den meisten Fällen seine Eigenkennung noch dem Meister bekanntgeben, so daß er prüfen kann, ob der richtige Sklave gewählt ist (Block 26).
- - Datenübertragung (Block 28). Die zu übertragenden Daten werden über den Bus weitergeleitet. Der Sklave betrachtet die Übertragung als beendet, wenn er feststellt, daß der Bus wieder freigegeben wird (keine Aktion innerhalb eines bestimmten Zeitraums). Da nach dem Schiedsverfahren und der Sklavenwahl normalerweise eine Punkt-zu-Punkt-Verbindung vorhanden ist, können andere Dauereinschränkungen als zuvor gelten. Diese Einschränkungen können für die betreffende Meister-Sklave-Konfiguration optimal gewählt werden, wodurch eine höhere Datenübertragungsgeschwindigkeit erreichbar ist. Während der Datenübertragung kann vor Bitübertragungs fehlern geschützt werden. Dies erfolgt durch ein sog. Bit echoverfahren, bei dem der Empfänger jedes Bit neu aus sendet (echot). Die Quelle vergleicht dabei das ausgestrahlte mit dem empfangenen Bit.
Es sei bemerkt, daß außer dem Block 26 auch
der Block 28 nicht immer auftreten wird. Es gibt Fälle,
bei denen ein Meister durch das Öffnen eines Sklaven damit
seinen Kommunikationsauftrag beendet.
In den erfindungsgemäßen Systemen erfolgt
die Datenübertragung im allgemeinen bitseriell über das
zumindest eine Übertragungsmedium. Wie oben bereits be
schrieben wurde, tritt dabei das Problem der Synchroni
sation auf, wenn kein Zentraltaktgeber, keine Quarzoszilla
toren und keine Einstellnetze verwendet werden können oder
dürfen.
Durch das erwähnte Induktionsprinzip ermöglicht
die Erfindung, daß die Taktgeber im System, die insbe
sondere je Modul oder gegebenenfalls je Modulgruppe vor
gesehen sein können, Toleranzen aufweisen. Angenommen sei,
daß je aktiver Quelle und/oder aktivem Empfänger eine
Toleranz R i besteht:
Eine Abweichung von -20% bis +80% gibt ein R i =2,25.
Nachstehend sei angenommen, daß alle Zeiträume jeder
aktiven Quelle und/oder jedes aktiven Empfängers denen des
dieser aktiven Quelle und/oder diesem aktiven Empfänger
zugeordneten Taktgebers (T ci ) proportional ist.
In Fig. 2 ist ein Datenverarbeitungssystem mit
mehreren Datenquellen und Datenempfängern mit einer einzigen
Leitung als Übertragungsmedium dargestellt. C ist dabei
der Einfachleitungsbus, über den zwei logische Zustände
0 und 1 übertragbar sind. Mit M 1, M 2 . . . Mn sind Daten
quellen und Datenempfänger bezeichnet. Sie können aktive
und passive Quellen und/oder Empfänger sein. Da es für
die Erläuterung der Erfindung nicht interessiert, daß es
außer aktiven auch passive Quellen und/oder Empfänger
geben kann, wird weiter unten davon ausgegangen, daß in
den Beispielen nur die Rede von aktiven Datenquellen und
Datenempfängern ist. Sie werden nachstehend meistens mit
dem allgemeinen Begriff Modul bezeichnet.
Jeder Modul kann Daten lesen oder schreiben
oder beides aus der bzw. zur Leitung, jedoch vor der Her
stellung einer Kommunikationsverbindung müssen alle Moduln
Kommunikationssteuerinformation aus dem Kommunikationsbus
lesen und darin schreiben können. Jeder Modul hat dazu
einen Ausgang CW (Modul M 1), CW (Modul M 2) . . . zum Schreiben
in den Bus und einen Eingang CR zum Lesen des Busses.
Dabei ist die Information an C gleich der Information an
den Eingängen CR (Modul M 1), CR (Modul M 2) . . . CR (Modul Mn).
Zum Schreiben sei angenommen, daß die Busleitung C eine
verdrahtete logische Gatterfunktion besitzt: Ein verdrahtetes
UND- oder ein verdrahtetes ODER-Gatter. Im Zusammenhang
mit den später in dieser Beschreibung benutzten Beispielen
und mit der dabei gewählten Signaldefinition des logischen
Zustands "belegt"="niedrig"=0 und "frei"="hoch"=1
wird die logische UND-Funktion für die Bestimmung des
logischen Zustands am Bus benutzt. Auf diese Weise ist der
Zustand auf der Leitung C von C=CW(M 1) · CW(M 2) . . . bestimmt.
Bekanntlich kann ein verdrahtetes UND-Gatter beispiels
weise mit offenen Kollektorbustreibern verwirklicht werden.
In Fig. 3 ist ein Zeitdiagramm dargestellt,
das zum Beispiel nach Fig. 2 gehört. In diesem Zeitdiagramm
stellen C die Signale am Bus dar. CW (M 1) und CW (M 2) geben
die Signalzustände an den Schreibausgängen der Moduln M 1
und M 2 an. In diesem Beispiel sei angenommen, daß beide
Moduln eine Anfrage zur Kommunikation machen. Weiter in
diesem Beispiel ist der Taktgeber des Moduls M 1 schneller
als der von M 2. Zeitlich gesehen geschieht folgendes:
- 1) Ein vorangehender Meister des Systems (ein Modul Mi) hat seine Verwendung des Busses beendet.
- 2) Wenn nach einem ersten Zeitraum T A ₁ (in diesem Fall also für M 1) die C-Leitung nicht den logischen Zustand ändert, wird der Bus als "frei" betrachtet (C=1). Wenn der Bus in den logischen Zustand "belegt" tritt (C=0), bevor der Zeitraum T A ₁ abgelaufen ist, wird der Bus als belegt betrachtet. Dabei wird erneut gewartet, bis der Bus freigegeben wird. Siehe links von 1).
- 3) Nach T A ₁ wird gewartet, bis der zweite Zeit raum T B ₁ abgelaufen ist, bevor der Modul M 1 einen Anfang damit macht, den Bus zu verwenden. Dies geschieht durch das Abgeben eines Startbits: CW (M 1) bewirkt den logischen Zustand "belegt", wodurch C=0 wird. Inzwischen hat der Modul M 2 seinen ersten Zeitraum T A ₂ durchlaufen, und er stellt auf der Leitung C fest, daß C=0 wird. Darauf spricht der Modul M 2 an, indem auch er an seinem Ausgang CW (M 2) den logischen "Belegt"-Zustand bewirkt. Dies geschieht nicht sofort, denn der Modul benötigt eine Reaktionszeit, bevor dieser Vorgang verwirklicht wird. Diese Reaktionszeit wird mit T R ₂ bezeichnet. Die hier erwähnten Zeiträume, die Reaktionszeit und die für den ganzen Vorgang interes sierenden Toleranzen der Taktgeber werden weiter unten näher erläutert, um eine Einsicht in die gegenseitigen Abhängigkeiten zu gewinnen.
Der Teil zwischen 1) und 3) ist in Fig. 3 mit
WBF bezeichnet, und es handelt sich hier also um die Aktion
"warten, bis der Bus fertig ist", dies ist das Einbringen
aller Anfragen (Start) aller Aktionsteilnehmer.
- 4) Das Startbit nimmt eine Zeit T 11 (Modul M 1) bzw. T 12 (Modul M 2) in Anspruch. Auf der Leitung C ist dies Tsb durch die verdrahtete UND-Funktion. Anschließend wird ein Datenbit (hoher oder niedriger Zustand) auf den Bus gebracht. Dies geschieht sowohl vom Aktionsteilnehmer Modul M 1 als auch M 2. Das zuerst zugeführte Datenbit ist das bedeutsamste Bit der Kennung eines jeden der Moduln M 1 und M 2.
- 5) Zum Zeitpunkt t=T 21 wird das Datenbit an C vom Modul M 1 gelesen. Zum Zeitpunkt t=T 22 wird dieses Datenbit vom Modul M 2 gelesen. In M 2 geschieht dies also später infolge seines langsamen Taktgebers.
Dieser Teil der Kommunikation betrifft die
Aktion zum Durchführen einer Wahl zwischen den Aktionsteil
nehmern auf der Basis von Kenndaten. Hiermit wird bestimmt,
wer der Meister wird. Dies wird auch mit Schiedsverfahren
bezeichnet. Durch die verdrahtete UND-Funktion vergleichen
die Moduln ihre Bits: Hier also zunächst ihr bedeutsamstes
Bit, und das Ergebnis davon ist, daß ein zugeführtes
niedriges Signal über ein zugeführtes hohes Signal siegt.
Sobald ein Aktionsteilnehmer über seinen Leseeingang fest
stellt, daß ein von ihm zugeführtes hohes Signal offen
sichtlich von einem anderen niedrig gemacht ist, zieht
dieser Teilnehmer seine Teilnahme zurück und stimmt also
damit ein, daß er das Schiedsverfahren verloren hat. In
den folgenden Phasen ist dieser Modul dann kein aktiver
Teilnehmer mehr und hält seinen Ausgang (wie auch alle
anderen Nicht-Teilnehmer) im logischen Zustand "hoch":
CW (Mi)=1.
- 6) Nach T 31 bzw. T 32 wird ein Stoppbit ausge sandt (von den noch aktiven Teilnehmern). Dieses Bit ist ein logisch hohes Signal.
- 7) Von einem weiteren ersten Zeitraum T E ₁ bzw. T E ₂ an wird nunmehr von den (noch) aktiven Teilnehmern festgestellt, ob es einen Übergang auf der Leitung C=1→0 gibt. Dies deutet auf ein neues Startbit hin. Dieser Teil des Verfahrens bezieht sich auf die Behandlung des ersten Datenbits: TFB in Fig. 3.
- 8) Diese Wartezeit unter 7) läuft, bis ein weiterer zweiter Zeitraum (T F ₁) abgelaufen ist. Hier tritt wieder das erwähnte Induktionsprinzip auf: Nach T E ₁ (für Modul M 1) und T E ₂ (für Modul M 2), welche Zeiträume also wieder mit erstem Zeitraum zu bezeichnen sind, wird ge wartet, bis einer der beiden Moduln seinen eignen zweiten Zeitraum T F ₁ bzw. T F ₂ durchlaufen hat. Der Modul M 1 er reicht als erster (schnellerer Taktgeber) seinen T F ₁, und dabei gelangt für beide Moduln ein neues Starbit auf der Leitung C. Jedoch wie unter 3) erwähnt, eilt der Modul M 2 etwas nach. Nach seiner Reaktionszeit T R ₂.
Nach T F ₁ tritt ein Übergang C=1→0 auf, d. h.
ein neues Startbit. Ab jetzt werden alle Phasen 4)-8)
wiederum durchlaufen: TSB-Behandlung des zweiten Datenbits
usw. Dies wird zumindest wiederholt, bis alle zur Her
stellung der Kommunikationsverbindung erforderlichen Daten
bits verarbeitet sind. Hierbei sei auf die Blöcke verwiesen
und auf ihre Beschreibung an Hand der Fig. 1, wo die Tat
sache erwähnt ist, daß nach der Herstellung der Verbindung
sich die Zeiteinschränkungen ändern können und dadurch
eine schnellere Punkt-zu-Punkt-Datenübertragung zwischen
einem Meister und einem Sklaven möglich ist.
Für das Verständnis der Erfindung ist eine
Erläuterung der Zusammenhänge zwischen den erwähnten Zeit
räumen wichtig. Für das an Hand der Fig. 2 und 3 erläuterte
Ausführungsbeispiel kann folgendes berechnet werden.
Angenommen, Tci ist der Ortstaktgeberzeitraum eines Moduls
Mi. Der Entwurf eines Moduls wird als derart angenommen,
daß alle entsprechenden Zeiträume vom erwähnten Zeitraum
Tci abgeleitet sind:
T Ri =a Ri · Tci; T Ai =a Ai · Tci; T Bi =
a Bi · Tci;
T 1i=a 1i · Tci; T 2i=a 2i · Tci; T 3i=a 3i · Tci; T Ei =a Ei · Tci; T Fi =a Fi · Tci (1)
T 1i=a 1i · Tci; T 2i=a 2i · Tci; T 3i=a 3i · Tci; T Ei =a Ei · Tci; T Fi =a Fi · Tci (1)
Hierin sind die Symbole aji Konstanten. a Ai und a Ei sind
interne Fertigzeitfaktoren. a Ai betrifft die Anzahl der
Taktzeiträume, die in einem Modul Mi für eine Anfrage zur
Herstellung einer Kommunikationsverbindung erforderlich sind.
a Ei bezieht sich auf die Anzahl der Taktzeiträume, die
ein Modul Mi benötigt, um nach einem Datenbit ein Stoppbit
(nach T 31) zuzuführen. Um das gesteckte Ziel zu erreichen,
insbesondere mit einer einzigen Leitung dennoch eine gute
Kommunikationsverbindung herzustellen, ohne daß den Takt
gebern im System schwere Bedingungen gestellt zu werden
brauchen, müssen die Symbole a Bi und a Fi für das ganze
System und nicht nur je Modul Mi gelten, denn die erwähnten
zweiten Zeiträume T Bi und T Fi sind für eine gute Verarbei
tung der Aktionen kritisch. Nachstehend wird abgeleitet,
welche Anforderungen a Bi und a Fi erfüllen müssen.
Das Zeitdiagramm nach Fig. 3 zeigt, welche
Bedingungen für eine gute Verarbeitung der Aktionen erfüllt
werden müssen:
Ri < T 1i (2A)
1i < T 2i (2B)
2i < T 3i (2C)
3i < T Fi (2D)
Ei < T Fi (2E)
Fi < T Ai (2F)
Ai < T Bi (2G)
1i < T 2i (2B)
2i < T 3i (2C)
3i < T Fi (2D)
Ei < T Fi (2E)
Fi < T Ai (2F)
Ai < T Bi (2G)
Hierin bedeutet ein maximaler Zeitraum und T
ein minimaler Zeitraum. Es ist definiert: Toleranzfaktor
Ri=ci/ T ci. Hiermit und mit (1) und (2) wird
a 1i/a Ri < Ri (3A)
a 2i/a 1i < Ri (3B)
a 3i/a 2i < Ri (3C)
a Fi /a Ei < Ri (3D)
a Ai /a Fi < Ri (3E)
a Bi /a Ai < Ri (3F)
a 2i/a 1i < Ri (3B)
a 3i/a 2i < Ri (3C)
a Fi /a Ei < Ri (3D)
a Ai /a Fi < Ri (3E)
a Bi /a Ai < Ri (3F)
und außerdem a Ei <a 31 (zumindest nicht einander gleich
(3G).
Davon ausgehend, daß im Normalfall eine Situ
ation mit möglichst großer Kommunikationsgeschwindigkeit
angestrebt wird, kann (3A-3F) mit (3G) wie folgt geschrieben
werden:
a 1i = Ri · a Ri (4A)
a 2i = Ri · a 1i (4B)
a 3i = Ri · a 2i (4C)
a Fi = Ri · a 3i (4D)
a Ai = Ri · a Fi (4E)
a Bi = Ri · a Ai (4F)
a 2i = Ri · a 1i (4B)
a 3i = Ri · a 2i (4C)
a Fi = Ri · a 3i (4D)
a Ai = Ri · a Fi (4E)
a Bi = Ri · a Ai (4F)
Es folgt daraus, daß:
a Fi = R 4i · a Ri = R 4i · Vi (5A)
a Ai = R 5i · a Ri = R 5i · Vi (5B)
a Bi = R 6i · a Ri = R 6i · Vi (5C)
a Ai = R 5i · a Ri = R 5i · Vi (5B)
a Bi = R 6i · a Ri = R 6i · Vi (5C)
und
a Ei < R 3i · a Ri (5D)
Dies gilt je Modul. Da es sich für diese Symbole darum
handelt, für das ganze System die Aktionen ("Bus fertig",
"Wahl des Meisters") möglichst fehlerfrei zu machen, muß
als Systemkonstante der größte Wert von a Bi =a B und
a Fi =a F aus dem Vorrat der zugeordneten Produkte gewählt
werden. Dies bedeutet also, daß das größte Produkt der
Faktoren Ri und Vi aus dem Vorrat aller Produkte von Ri
und Vi der Moduln dabei ausschlaggebend ist. Moduln mit
großer Taktgebertoleranz und großer Reaktionszeit ergeben
große Produkte für Ri und Vi, aber auch Moduln mit kleiner
Taktgebertoleranz und sehr großer Reaktionszeit und umge
kehrt, ergeben große Produkte für Ri und Vi. Dieses größte
Produkt ist mit R.V. bezeichnet. Damit liegen die Abhängig
keiten der zwei Zeiträume fest:
a B = R⁶ · V und a F = R⁴ · V (6)
Damit ist
T Bi = R⁶ · Tci und T Fi = R⁴ · V · Tci (7)
Hierin ist also V=V p der Reaktionszeitfaktor dieses
bestimmten Moduls M p , für den mit R p =R dieses Moduls
das größte Produkt V.R. entsteht. Die Reaktionszeit dieses
Moduls ist T Rp =V · Tcp. Daraus folgen die minimalen zwei
Zeiträume
T B = R⁶ · T Rp und T F = R⁴ · T Rp (8)
Der T F ist ein Maß für die Dauer des Mindest
zyklus ("frame") für die Kommunikation eines Datenbits bei
einer sich auf eine Kommunikation beziehende Aktion.
In der Praxis kann die interne Reaktionszeit
T Ri eines Moduls Mi nicht begrenzt verkleinert werden;
dies ist von der gewählten Ausführung abhängig. Wenn eine
Kommunikation mit einem programmierten Mikroprozessor er
folgt, ist heutzutage ein T Ri von beispielsweise 10 Mikro
sekunden erreichbar. Bei vollständiger Hardware-Verwirk
lichung der Mittel kann für T Ri beispielsweise an 2 Mikro
sekunden bis 0,2 Mikrosekunde gedacht werden. Bei quarz
gesteuerten Taktgebern liegt R ganz nahe bei 1, jedoch wenn
billigere Taktgeber, beispielsweise mit einfachen RC-Oszilla
toren, angewandt werden (und dies wird hier angenommen),
kann R schon einen Faktor 4 oder größer sein.
Zahlenbeispiel einer möglichen Situation:
Angenommen R=4 und T Rp =10 Mikrosekunden. Dabei ist
T Bp =4⁶ · 10≈40 Millisekunden und T F = T (frame) ≈2,6 Millisekunden und also = R.T. (frame)=10,4 Milli
sekunden und auch Bp =160 Millisekunden.
Dies bedeutet im ungünstigsten Zustand ("worst
case"), daß die Kommunikationsgeschwindigkeit bei einer
Aktion etwa 99 Baud ist.
Wäre T Rp =2 bis 0,2 Mikrosekunde (infolge der
vorhandenen Hardware, siehe weiter bei Fig. 14 und 15), so
vergrößert sich die erwähnte niedrigste Geschwindigkeit
auf etwa 500-5000 Baud.
Es sei hier bemerkt, daß es möglich ist, den
T Ri zu verkleinern, auch wenn das Verfahren mit einem
programmierten Signalprozessor gesteuert wird. Dazu kann
ein einfacher "Hoch"-zu-"Niedrig"-Zustanddetektor zwischen
der Busleitung C und dem Modul aufgenommen werden. Der
Detektor arbeitet wie folgt: Sobald der Bus nach "niedrig"
geht (C→0), bringt er über eine Schaltung die CW (Mi)=0.
Es sei bemerkt, daß aus obiger Beschreibung
folgt, daß bei der Definition eines Systems nach der vor
liegenden Erfindung also festgestellt werden kann, welches
das größte Produkt (R.V) sein darf. Mit anderen Worten,
unter Berücksichtigung eines möglichst unvorteilhaften,
gerade noch zulässigen Moduls ist die Gewißheit, daß
alles einwandfrei durch die Berücksichtigung des erwähnten
Produkts (R.V) verlaufen wird, gefestigt.
In Fig. 4 ist ein Datenverarbeitungssystem mit
mehreren Datenquellen und Datenempfängern dargestellt,
in dem der Einzelleitungsbus nach Fig. 2 um eine zusätz
liche Leitung erweitert ist. Dieser Zweileitungsbus, der
mit den zwei Leitungen, die je für die Übertragung zweier
logischer Zustände 0 und 1 geeignet ist, weniger preis
günstig ist als der Einzelleitungsbus, bietet den Vorteil,
daß eine größere Kommunikationsgeschwindigkeit erreich
bar ist. M 1, M 2 . . . Mn sind wiederum Moduln, die als
aktive Aktionsteilnehmer auftreten können. K ist eine
Steuerleitung und D eine Datenleitung. Jeder Modul hat
einen Schreibausgang KW zur Steuerleitung und einen Lese
eingang KR von der Steuerleitung K. Jeder Modul hat weiter
hin einen Schreibausgang DW zur Datenleitung und einen Lese
eingang von der Datenleitung D. Beide Leitungen haben die
verdrahtete UND-Eigenschaft: K=KW (M 1) · KW (M 2) . . . und
D=DW (Mi) · DW(M 2) . . .
Fig. 5 zeigt das Zeitdiagramm, das zum System
nach Fig. 4 gehört. Im Prinzip geschieht hier mehr oder
weniger dasselbe wie bei Fig. 3, insbesondere bildet die
Verteilung der Aktionen auf die Leitungen K und D den
Unterschied. Wiederum sei angenommen, daß der Modul M 1
schneller als M 2 ist. Zeitlich gesehen geschieht folgendes:
- 1) Ein vorangehender Meister hat die Benutzung des Busses beendet. Alle Aktionsteilnehmer starten mit der Rückwärts zählung der Zeit T Ai , in der Erwartung des fertigen Zu stands des Busses (C=1).
- 2) Wenn nach dem ersten Zeitraum T Ai (in diesem Fall für den Modul M 1 der T A ₁) die K-Leitung den logischen Zustand nicht ändert, wird der Bus als "frei" betrachtet. Wenn der Bus den logischen Belegtzustand bekommt (K=0), bevor der Zeitraum T Ai abgelaufen ist, wird der Bus als belegt be trachtet. Dabei wird erneut gewartet, bis der Bus freige geben wird. In Fig. 5 ist die Benutzung des Busses mit BIU angegeben. Wenn der Bus fertig ist (nach T Ai ), wird an (prt 2) ein Datenbit (DB) des Moduls M 1 am Ausgang DW(M 1) auf die Leitung D gebracht. Gleiches gilt für den Modul M 2 nach Ablauf seines ersten Zeitraums T A ₂. Am Ausgang DW(M 2) wird ein Datenbit (DB) auf D gebracht. Die verdrahtete UND-Funktion der Leitung D bestimmt das Ergebnis der beiden zugeführten Datenbits (eine "0" überdeckt eine "1").
- 3) Der Modul (hier M 1), der als erster feststellt, daß sein zweiter Zeitraum T Bi (hier T B ₁) abgelaufen ist, bringt einen logischen Zustand 0 auf die K-Leitung: Über den Schreibausgang KW(M 1) wird K=0. Andere Moduln, die in zwischen selbst den Ablauf ihres ersten Zeitraums T Ai fest gestellt haben, reagieren darauf: "Induktion" und schreiben selbst (nach ihrer Reaktionszeit T Ri ) auch eine 0 auf der K-Leitung. In Fig. 5: Auf 3) nach T R ₂ wird am Schreibaus gang KW(M 2) eine 0 auf die Leitung K geschrieben. Diese Phase ist die Aktion "Fertigzustand des Busses abwarten": WBF in Fig. 5.
- 4) Nach obiger K0-Aktion wird die Datenleitung D abge tastet: Jeder Modul, der sich an der Aktion beteiligt, tastet die Leitung D nach einem Zeitraum T Si ab (die Unter schiede sind wiederum durch die Taktgebertoleranzen ver ursacht). Damit wird der Zustand der Leitung D in die Moduln über ihre Eingänge DR(M 1) und DR(M 2) . . . gebracht.
- 5) Nach dem Abtasten schreiben alle betreffenden Moduln einen logischen Zustand 1 auf die K-Leitung über ihren Ausgang KW(Mi). Der Modul M 1 macht dies nach dem Zeitraum T 21, M 2 und mögliche andere Moduln zu anderen Zeitpunkten T 2i, wobei:
- 6) Zum Zeitpunkt 6) alle Moduln über ihren Ausgang KW(Mi) die Leitung K=1 gemacht haben. Hiermit hat die Leitung K daher den Zustand 1 angenommen (verdrahtetes UND).
- 7) Nach der Detektion des Übergangs 6) geben alle Aktions teilnehmer ein neues Datenbit (DB) auf die Leitung D. Der Modul M 1 macht dies nach dem Zeitraum T Ei vom Zeit punkt 6) an. T Ei ist ein Zeitraum, der im Modul Mi benötigt wird, um ein neues Datenbit auf der Leitung D abzugeben. Andere Moduln machen das gleiche, und zwar vor dem Ablauf von T Fi · T Ei und T Fi sind wieder der erwähnte erste und zweite Zeitraum. Es tritt hier wiederum "Induktion" auf.
- 8) Nach dem zweiten Zeitraum T Fi geht die Leitung K erneut in den Zustand 0 über. Zu diesem Zeitpunkt ist es sicher, daß alle Aktionsteilnehmer ihr neues Datenbit auf der Leitung D zugeführt haben (Modul M 2 machte dies bei 7), siehe Leitung DW(M 2) in Fig. 5). Die verdrahtete UND-Funktion der Datenleitung D bestimmt wiederum das Ergebnis der zu geführten Datenbits. Die Phase von 3)-8) ist die Aktion für die Kommunikation des ersten Bits mit der Bezeichnung TFB. Die Phasen 4)-8) werden so oft durchlaufen, wie für die Herstellung der Kommunikationsverbindung notwendig ist, d. h. zumindest bis die Schiedsverfahren- und "Öffne- Sklave"-Phase verarbeitet ist: Kommunikation des zweiten Bits (TSB) usw. Auch für dieses Beispiel wird hier eine Berechnung der Zeiträume im Zusammenhang mit den Taktgeber toleranzen angegeben. Tci ist wiederum der Ortstaktzeit raum des Moduls Mi. Alle entsprechenden Zeiträume sind je Modul von diesem Zeitraum abgeleitet. T Ri = a Ri · Tci; T Ai = a Ai · Tci; T Bi = a Bi · Tci; T Si = a Si · Tci;T 2i = a 2i · Tci; T Ei = a Ei · Tci; T Fi = a Fi - Tci (1)
Hierin sind die Symbole aji Konstanten. a Ai und a Ei sind
wiederum interne Fertigzeitfaktoren. a Ai bezieht sich auf
die Anzahl der Taktzeiträume, die in einem Modul Mi für
eine Anfrage zur Herstellung einer Kommunikationsverbindung
erforderlich ist. a Ei bezieht sich auf die Anzahl der Takt
zeiträume, die ein Modul Mi benötigt, um ein neues Daten
bit (beispielsweise nach Heranziehung aus einem Speicher)
dem Bus anzubieten. Wie oben müssen auch hier a Bi und a Fi
für das ganze System und nicht je Modul gelten. Nachstehend
wird für das Zweileitungssystem abgeleitet, was a Bi =a B
und a Fi =a F erfüllen müssen.
Das Zeitdiagramm nach Fig. 5 ermöglicht eine
gute Aktionsverarbeitung nur dann, wenn folgende Bedingungen
erfüllt sind:
Ri < T 2i (2A)
Ei < T Fi (2B)
Fi < T Ai (2C)
Ai < T Bi (2D)
Ei < T Fi (2B)
Fi < T Ai (2C)
Ai < T Bi (2D)
Mit definiertem Ri=/ Tci kann aus 1) und 2) abgeleitet
werden:
a 2i/a Ri < Ri (3A)
a Fi /a Ei < Ri (3B)
a Ai /a Fi < Ri (3C)
a Bi /A Ai < Ri (3D)
a Fi /a Ei < Ri (3B)
a Ai /a Fi < Ri (3C)
a Bi /A Ai < Ri (3D)
Aus der Tatsache, daß normalerweise eine Situation mit der
größtmöglichen Kommunikationsgeschwindigkeit angestrebt
werden wird, kann (3A-3D) wie folgt geschrieben werden:
a 2i = Ri · a Ri (4A)
a Fi = Ri · a Ei (4B)
a Ai = Ri · a Fi (4C)
a Bi = Ri · a Ai (4D)
a Fi = Ri · a Ei (4B)
a Ai = Ri · a Fi (4C)
a Bi = Ri · a Ai (4D)
Es folgt daraus, daß:
a Fi = Ri · a Ei = Ri · Vi (5A)
(a Ai = R² · a Ei = R²i · Vi (5B)
a Bi = R³i · a Ei = R³i · Vi (5C)
(a Ai = R² · a Ei = R²i · Vi (5B)
a Bi = R³i · a Ei = R³i · Vi (5C)
Es geht hieraus hervor, daß der Reaktionszeitfaktor
Vi=a Ei der Fertigzeitfaktor zum Zuführen eines neuen
Datenbits ist.
Auf entsprechende Weise wie oben für das Ein
leitungssystem beschrieben, müssen auch hier die Konstanten
a Bi =a B und a Fi =a F als größter Wert des Produkts (R · V)
aus dem Vorrat der Produkte (Ri · Vi) gewählt werden. Damit
liegen die Abhängigkeiten der zweiten Zeiträume fest:
a B = R³V und a F = R · V (6)
Damit ist dann
T Bi = R³ · V · Tci und T Fi = R · V · Tci (7)
Hierin ist also V=a Ep (=Vp) der Fertigzeitfaktor dieses
Moduls Mp, für den das größte Produkt (R · V) entsteht.
Die Reaktionszeit dieses Moduls ist (Fertigzeit) T Ep =V · Tcp.
Damit sind die kleinstmöglichen zweiten Zeiträume:
T B = R³ · T Ep und T F = R · T Ep (8)
Hinsichtlich des Mindestzykluszeitraums ("frame")
für die Kommunikation eines Datenbits bei einer Aktion folgt:
(siehe weiter Fig. 5) aus (8) und (4A) mit (1).
T (frame) = T F + T₂ p = R · T Ep + R · T Rp ,
so daß
T (frame) = R (T Ep + T Rp (8A)
Angenommen sei, wie es praktisch häufig gewählt wird,
T Ep =T Rp , womit T (frame)=2R · T Rp . Dies ist also vorteil
hafter als im Falle eines Einzelleitungssystems. Es gibt
ein Verhältnis mit R statt mit R⁴. Bei einem R=4 weicht
dies bereits um einen Faktor 64 ab. Unter Berücksichtigung
von 2R ist dies also ein Faktor 32.
Zahlenbeispiel: Angenommen R=4, T Rp =10 Mikrosekunden
(und also auch T Ep =10 Mikrosekunden). Dabei ist
T (frame)=2 · 4 · 10=80 Mikrosekunden und dabei ist T Bp =640
Mikrosekunden. In diesem Fall ist dabei die ungünstigste
Situation ("worst case"): = R. T. (frame)=320 Mikro
sekunden. Dies bedeutet eine niedrigste Kommunikations
geschwindigkeit von etwa 3000 Baud.
Auch hier ist eine Geschwindigkeitserhöhung
durch Anordnung eines einfachen "Hoch"-zu-"Niedrig"-Zustands
detektors zwischen der K-Leitung und den Moduleingängen
KR(Mi) möglich. Sobald ein 1→0-Übergang auftritt,
bringt die Detektorschaltung die Leitung K auf 0. Hiermit
wird die Reaktionszeit T Ri wesentlich verkleinert.
In der Datenkommunikationsphase (nach der Her
stellung einer Kommunikationsverbindung) arbeitet ein Modul
als Sender (Quelle), und ein anderer Modul empfängt die
Daten (Empfänger). Es kann erforderlich sein, die Daten
übertragung vor Kommunikationsfehlern zu sichern. Dies kann
dadurch gemacht werden, daß der Empfänger jedes empfangene
Bit wieder zurücksendet ("Echo"). Der Sender vergleicht
das empfangene Bit mit dem eben von ihm abgesandten Bit.
Durch dieses abwechselnde Absenden und Empfangen der Daten
bits wird selbstverständlich die Kommunikationsgeschwindig
keit herabgesetzt.
Mit den beschriebenen Einzelleitungs- und Zwei
leitungssystemen ist das Induktionsprinzip ausführlich
genug erörtert. Es sei hier bemerkt, daß eine Vergrößerung
der Leitungsanzahl ebenso möglich ist: Beispielsweise ein
Dreileitungssystem, in dem zwei Steuerleitungen und eine
Datenleitung vorgesehen sind. In diesen Fällen ist das
Induktionsprinzip ebenfalls anwendbar. Jedoch wird der
Nutzfaktor dabei kleiner, weil die größere Leitungsanzahl
kostenerhöhend wirkt, was eben durch das vorliegende
System vermieden werden muß. Beim Dreileitungssystem
tritt zwar wieder eine Erhöhung der Kommunikationsgeschwin
digkeit auf, aber seine Einfachheit wird auch wieder geringer.
Kommunikationsfehler können im Dreileitungssystem auf
gleichartige Weise wie oben für das Zweileitungssystem
genannt, detektiert werden.
In Fig. 6 ist zur Veranschaulichung ein System
mit drei Leitungen als Übertragungsmedium dargestellt.
Es gibt zwei Steuerleitungen KA und KB und eine Daten
leitung D. Die Moduln M 1, M 2 . . . Mn besitzen Anschlüsse,
mit denen sie mit diesen Leitungen verbunden sind: Ein
Ausgangsanschluß KAW (Mi), mit dem Steuerdaten vom Modul Mi
auf die Leitung KA geschrieben werden. Ein Eingangsan
schluß KAR(Mi), mit dem Steuerinformation vom Modul Mi
von der Leitung KA ausgelesen wird. Ebenso gibt es einen
Eingangsanschluß KBW(Mi) und einen Eingangsanschluß KBR(Mi)
zum Schreiben bzw. zum Lesen auf der Steuerleitung KB.
Weiter hat jeder Modul einen Datenleitungsschreibanschluß
DW(Mi) und einen Datenleitungsleseanschluß DR(Mi). Ein
zugeordnetes Zeitdiagramm spricht, nach den in Fig. 3 und 5
gegebenen Zeitdiagrammen, für sich und wird hier nicht
weiter erläutert.
In der Zusammenfassung läßt sich hinsichtlich der obigen
Beschreibung folgendes schließen:
- - Wie in der Einführung bereits erwähnt, werden zumindest vier Leitungen zum Betreiben einer asynchronen Kommunikation an einem Bus benötigt.
- - Wenn weniger Leitungen verfügbar sind, müssen zeitabhängige Bestimmungen eingeführt werden.
- - Die vorliegende Beschreibung gibt an, wie diese zeit abhängigen Bestimmungen lauten und welche einfache Lösung für die Kommunikation über Busse mit zumindest einem Über tragungsmedium möglich ist. Es sei bemerkt, daß sich die Erfindung an sich nicht auf Einzel-, Zwei- oder Dreileitungs busse beschränkt, jedoch wird praktisch bei mehr als drei Leitungen die Vierleitungslösung mit einem Handshake-Ver fahren häufig bevorzugt.
- - Die Kommunikationsgeschwindigkeit ist in vorliegenden Systemen stark von der ungünstigsten (worst case) Takt geberungsgenauigkeit der Moduln abhängig. Das Einzelleitungs system ist besonders einfach und preisgünstig für Anwen dungen insbesondere in Gebrauchsartikeln und dergleichen. Nachteilig dabei ist schon, daß ein Empfänger die Ge schwindigkeit der Quelle, aus der er Daten empfängt, nicht reduzieren kann. Das Zweileitungssystem hat eine Zusatz leitung, mit der es neben einer größeren Kommunikations geschwindigkeit auch möglich ist, diesen Nachteil des Einzelleitungssystems zu beseitigen. Denn (unter Hinweis auf Fig. 5) sowohl ein Meister- als auch ein Sklaven-Modul des Systems kann die Datengeschwindigkeit dadurch herab setzen, daß die Leitung K=0 für einen Zeitraum bedarfs mäßig gehalten wird (Zeitpunkt (6) verschiebt sich nach rechts in Fig. 5). Das Dreileitungssystem gibt im allge meinen keine zweimal größere Kommunikationsgeschwindig keit. Deshalb wird, wenn drei Leitungen verfügbar sind, das System nach dem Zweileitungsprinzip bevorzugt: Eine Leitung ist dabei Steuerleitung, und die zwei anderen Lei tungen dienen dabei als zwei parallele Datenleitungen.
Zur Veranschaulichung dieses letzten Falls ist
in Fig. 7 diese Form des Dreileitungsbusses dargestellt.
Es gibt eine Steuerleitung K und zwei Datenleitungen DA
und DB. Die Moduln M 1, M 2 . . . Mn besitzen einen Steuer
leitungsschreibanschluß KW(Mi) und einen Steuerleitungs
leseanschluß KR(Mi). Weiter besitzen sie für eine jede
der Datenleitungen einen Datenleitungsschreibanschluß
DAW(Mi) und DBW(Mi) und einen Datenleitungsleseanschluß
DAR(Mi) und DBR(Mi).
Ein Detail von Ausführungsbeispielen eines
Datenverarbeitungssystems mit mehreren Datenquellen und
Datenempfängern, bei dem der Bus aus einem einzigen Über
tragungsmedium besteht, ist in Fig. 2 im allgemeinen dar
gestellt. Die Moduln Mi können digitale Signalprozessoren
sein. Diese Prozessoren sind mit eigenen Speichern ausge
rüstet und können bestimmte Aufgaben durchführen. Wenn eine
Kommunikation mit anderen Moduln notwendig ist, geschieht
dies über den Bus. Die Prozessoren mit Speichern werden
vorzugsweise vom Typ sein, bei denen sog. Mikroprozessoren
als Prozessor dienen. Mit Speichern, die möglicherweise
auf dem gleichen Chip angeordnet sind, werden diese Moduln
auch Mikrocomputer genannt. Ein Beispiel eines derartigen
Mikrocomputers ist der Typ 8048. Dabei kann ein Eingabe-/
Ausgabeanschluß (E/A), beispielsweise Anschluß 34,
sowohl als Schreibausgang CW als auch als Leseeingang CR
dienen. (Dazu im Programm zugeordnet.) Es können auch zwei
Anschlüsse verwendet werden: ein E/A-Anschluß 34 (P 17) als
CR und ein E/A-Anschluß 38 (P 27) als CW. Weiter ist für
einen derartigen Prozessor ein gesonderter Eingangsanschluß
(Nr. 6) noch erforderlich, um Unterbrechungen empfangen
zu können . Dieser kann also auch als CR betrachtet
werden, wenn auch nur für eine gewisse Aufgabe. auf die
weiter unten näher eingegangen werden wird (Fig. 11 und 12).
In Fig. 8 ist dies nochmals dargestellt: in Fig. 8a und
Fig. 8b sind mit Ci Taktgeber gemeint.
In Fig. 9 ist dargestellt, wie ein Prozessor
mit einem Unterbrechungseingang , wie beispielsweise
8048, Unterbrechungen verarbeiten kann: ab SRT=Start im
Block 30 folgt immer die Frage: Gibt es eine Unterbrechung
INT (Block 32)?, wenn nicht (N) wird ein Befehl des Haupt
programms ausgeführt: MPI im Block 34. Danach wird wieder
festgestellt (zurück zum Block 30), ob es eine Unterbre
chung gibt. Wenn es keine Unterbrechung gibt (Y), wird
das Unterbrechungsprogramm vollständig ausgeführt: IPIS
(Block 36). Dabei wird wieder geprüft, ob es eine Unter
brechung gibt (Block 30), usw. Diese Art der Unterbrechungs
verarbeitung ist eine spezifische Eigenschaft beispiels
weise vom 8048.
Ein Mikroprozessor wie 8021, der keine Unter
brechung kennt, besitzt einen Eingangsanschluß, der als
Unterbrechung definiert werden kann, mit dem die Unter
brechungsverarbeitung in das Gesamtprogramm aufgenommen
werden kann.
In Fig. 10 ist ein Flußdiagramm eines möglichen
Prozessorhauptprogramms dargestellt. Ein derartiges Haupt
programm kann jede Art von Programm sein und besteht im
beschriebenen Beispiel aus dem Block 38, Anfang BEG. Darauf
folgt eine Initialisierung INIT, Block 40. Im Block 42
werden Ortsoperationen LOP vom Hauptprogramm durchgeführt.
Dabei wird immerhin stets darauf geachtet, ob es Unter
brechungen gibt (siehe Fig. 9). Wenn im Hauptprogramm ein
Zustand erreicht wird, in dem eine Kommunikation mit einem
anderen Modul erforderlich ist, stellt der Prozessor in
diesem Zustand eine Anfrage zum Herstellen einer Kommuni
kation REQ, d. h. dieser Modul möchte Meister des Systems
werden. Diese Anfrage muß verarbeitet werden. Dies ist
nur möglich, wenn der Bus für diese Aktion "fertig" ist,
welcher Zustand im Block 44 geprüft wird: RDY?, der in
diesem Beispiel die erwähnten Mittel HS umfaßt. Ist der
Bus "fertig", wird die Freigabe (ACK) zur Aktion gegeben
(Y des Blocks 44). Dieser Block 44 ist hier besonders
wichtig, denn es handelt sich um das Thema in der vor
liegenden Erfindung. Der Block 44 enthält die programmier
ten Funktionsmittel, die die erwähnten Mittel sind, mit
denen feststellbar ist, ob der Bus zum Durchführen von
Aktionen, die sich auf die Kommunikation beziehen, "fertig"
ist. Wird diese Freigabe nicht gegeben (N des Blocks 44),
wird erneut ein Versuch angestellt usw.; Wird dagegen
Freigabe gegeben (Y), werden die Systemübertragungsopera
tionen TOP für die Datenübertragung, z. B. Senden, durch
geführt, Block 46. Am Ende dieser Operation wird der Bus
wiederum freigegeben, Signal , und Rückkehr zum Block 42.
Dabei werden die Unterbrechungseingänge wieder zum Emp
fangen von Unterbrechungen freigemacht ("enable interrupt(s)"),
denn bei der Anfrage zur Freigabe (Block 44 sind (ist) diese
(dieser) gesperrt ("disabled interrupt(s)"), damit ver
mieden wird, daß zwischenzeitliche Unterbrechungen den
Prozeß stören. Siehe weiter die Beschreibung bei Fig. 13.
Wenn (siehe den punktierten Teil der Fig. 10) eine Daten
quelle und/oder ein Datenempfänger aus einem ersten Teil
und einem zweiten Teil besteht, wobei der erste Teil ein
digitaler Signalprozessor ist, der die Quellen- und/oder
Empfängerfunktion erfüllt, und der zweite Teil, auch mit
Schiedsrichter bezeichnet, die erwähnten Mittel enthält,
wird eine Anfrage REQ aus dem Block 42 in den Schieds
richter (Block 43) gebracht. Hier wird dann die Freigabe
abgewartet, siehe wiederum Block 44, ACK. Nach Ablauf
der Übertragung gibt der Schiedsrichter den Bus wieder
frei: (Block 48). Der Schiedsrichter muß dies auch
feststellen: Block 50. Wenn ja (Y), wird ACK und
kehrt der Prozeß zum Block 42 zurück. Wenn nein (N), wird
48 wiederholt. Zu diesem Punkt sei bemerkt, daß der er
wähnte Block 44 deshalb so wichtig ist, weil hier der
Konflikt entsteht, wer der Meister wird, wenn mehrere
Moduln in ihrem betreffenden Block 44 ankommen. Insbesondere
ist es hier daher wichtig, daß ein schneller Modul einen
langsam nicht verdrängt. Dies erfordert also die be
schriebene "Induktion". Nachstehend wird dargestellt,
wie dies vor sich geht: siehe Fig. 13 und Fig. 15 mit Fig. 16.
Der Vollständigkeit halber sei noch darauf
hingewiesen, daß, wenn ein Modul Meister ist, er einen
Sklaven anzeigen wird. Er sendet eine Identität der Sklaven
aus und versucht, den Sklaven zu unterbrechen. Dies ist
der Grund, weshalb oben in den Beispielen nach Fig. 8a und
8b die INT-Eingänge dargestellt sind. Der Vorgang ist in
Fig. 11 dargestellt. Im Block 52 kommt die Unterbrechung
INT an, die vom Meister über den Bus allen anderen Quellen
und Empfängern zugesandt wird (praktisch ist diese INT als
Signal angegeben durch die Bezeichnungen: Eingänge ).
Im Block 54 prüfen alle Quellen und Empfänger, ob die
zugeführte Identität i ihrer eigenen Identität i ist.
Wenn nicht (N), ist die Unterbrechung beendet: END, Block 58.
Wenn ja (Y), wird im Block 56 die Übertragungsoperation TOP
(z. B. empfangen) durchgeführt. Beim Ablauf folgt dann END,
Block 58.
Der Block 54 enthält den Identitätsvergleich
für die Sklavenwahl. Dies wird ausführlicher nachstehend
beschrieben in:
Fig. 12. Der Block 60 ist der Anfang BEG. Im
Block 62 wird eine Blockzählerstellung bt=0 und die
Zeitzählerstellung Tt=0 eingestellt. Im Block 64 wird
gewartet, bis eine Zeit Tt=T 2i (angenommen Mi ist der
Modul, in dem geprüft wird) (siehe T 2i in Fig. 3) abge
laufen ist. Zu T 2i wird ein am Bus vorhandenes Identitäts
bit als Datenbit abgetastet, Block 66. Es ist das Bit bt
der Kennung j, das vom Anschluß P 17 (siehe Fig. 8) in
ein Register des Prozessors gebracht wird: btj=P 17.
Der Bitzähler wird mit 1 inkrementiert: bt+1, Block 68.
Im Block 70 wird geprüft, ob die gewünschte Kennbitanzahl
(oder soviel mehr als gegebenenfalls für andere Zwecke
auch noch erwünscht ist), beispielsweise bt=4, erreicht
ist. Wenn nicht (N), wird bis zu Tt=T Ei (siehe Fig. 3)
gewartet: Block 72. Sobald danach der Übergang des Busses C
nach "0" festgestellt wird: Block 74 (wobei P 17=0 sein soll)
(siehe Fig. 3 T Fi ) wird erneut angefangen: Zähler Tt=0
Block 76) und zurück zum Block 64. Ist die Anzahl bt=4
erreicht, Block 70 (Y), wird der Inhalt des Registers, in
dem die Kennung j eingeführt ist, mit der Kennung des be
treffenden Moduls verglichen, Block 78. Ist i≠j, so
ist es nicht als Sklave bestimmt und endet das Unterbre
chungsprogramm: END; Block 82 (=Block 58 nach Fig. 11).
Ist i=j gleich, so ist dieser Modul als Sklave gewählt
und wird die Übertragungsoperation TOP durchgeführt, Block 80
(Block 56, Fig. 11). Es folgt dann wieder Block 82, END.
Es stellt sich hier also heraus, daß für
Sklavenwahl jede andere Quelle und jeder andere Empfänger
als der Meister selbst unterbrochen und gezwungen wird,
den Identitätsvergleich durchzuführen. Dies nimmt viel Zeit
in Anspruch: die Quellen und Empfänger, die feststellen,
daß i≠j sind, sind vergebens unterbrochen worden und
haben also eine überflüssige Unterbrechung ihres Haupt
programms. Dieser Nachteil kann durch das Anbringen eines
sog. Bedingtunterbrechungsmechanismus beseitigt werden.
Hiermit wird ohne direkte Unterbrechung des Prozessors
selbst, zunächst der Identitätsvergleich durchgeführt.
Wenn tatsächlich i=j, so folgt eine Unterbrechung des
Prozessors selbst. Der erwähnte Bedingtunterbrechungsmecha
nismus ist in der deutschen Patentanmeldung P 30 35 718.7
vom 27. September 1979 beschrieben und kann auf eine für
den Fachmann auf der Hand liegende Weise angepaßt werden,
um im System der vorliegenden Anmeldung zur Versorgung
der Sklavenwahl verwendet werden zu können.
In Fig. 13 ist ein Flußdiagramm der Prüfung
Bus "fertig"? dargestellt (es ist der Block 44 nach Fig. 10).
In diesem Beispiel mit dem digitalen Signalprozessor sind
hiermit die erwähnten Mittel HS angegeben, die also program
mierte Funktionsmittel sind. Der Anfang ist mit SRT durch
REQ (siehe Fig. 10) Block 84 bezeichnet. Im Block 86 werden
die Unterbrechungseingänge außer Betrieb gesetzt: DABINT.
Hiermit wird vermieden, daß ein Modul unterbrochen wird,
wenn er selbst eine Aktion zum Einbringen einer Anfrage
macht. Im Block 88 wird die Zeit zurückgestellt: Tt=0;
dies geschieht durch die Rückstellung eines Zählers CR
auf 0 (CR: =0). Im Block 90 wird geprüft, ob die Leitung C,
die über den Anschluß P 17 ankommt, den Zustand "1" hat.
Wenn nicht (N), ist der Bus besetzt und wird wiederum ein
Versuch durch Rückgang zum Block 88 gemacht. Ist im Block 90
P 17=1 (Y), wird der Zähler CR mit Hilfe des Taktgebers
für diesen Modul Mi mit "1" inkrementiert, d. h. CR: =CR+1
(Block 92). Im Block 94 wird festgestellt, ob die Zähler
stellung CR=a Ai erreicht ist. Dieses a Ai ist hier also
wiederum der Zeitfaktor a Ai , wie oben bereits erwähnt
wurde. Ist CR=a Ai , bedeutet dies, daß Tt=a Ai · Tci=T Ai
ist, der sog. erste Zeitraum. Der Block 94 enthält also
die ersten, die Detektion durchführenden Mittel: FDETM
für den ersten Zeitraum T Ai . Ist diese Stellung CR=a Ai
noch nicht erreicht (N), wird nach Block 90 zurückgegangen.
Ist a Ai erreicht, ist dieser Modul an sich für die Aktion
fertig. Es wird im Block 96 der Bitzähler bt auf 0 zurück
gestellt: bt: =0, weiter wird geprüft (Block 98) ob die
Leitung C immer noch "1" führt und also belegt ist, d. h.
ob er "Bus fertig" angibt. Wenn hier die Leitung C und also
P 17=0 ist (N des Blocks 98), ist der "Bus fertig" und
kann die folgende Aktion anfangen. Solange C=1 ist im
Block 98 (Y), wird der Zähler CR→Cr+1 (Block 100). Im
Block 102 wird festgestellt, ob die Stellung CR=a B er
reicht ist. Hier gilt wenn (Y), daß Tt=T Bi =a B Tci ist.
Der Block 102 enthält also die zweiten, die Detektion
durchführenden Mittel SDETM. Diese Stellung a B wird also
als Systemkonstante in den Speicher des Prozessors aufge
nommen sein (wie die obengenannte a Ai , die jedoch eine
Information des Moduls Mi selbst ist). Ist die Stellung a B
erreicht (Y), kann also die folgende Aktion gestartet werden.
Solange diese Stellung nicht erreicht ist (N), wird nach 98
zurückgekehrt. Es wird wiederum geprüft, ob inzwischen
C=P 17 bereits "0" geworden ist. Dies ist inzwischen mög
lich, weil in einem anderen Modul sein zweiter Zeitraum T Bj
inzwischen abgelaufen ist. Wenn ja (das bedeutet hier N),
ist diese Aktion "Bus fertig" abgelaufen (Punkt 103 in Fig. 13).
Wenn nicht, d. h. P 17=1 (Y), wird CR wiederum um "1" inkre
mentiert usw. Die Leitung "IND" in Fig. 13 bezieht sich
also auf die sog. Induktion. Der Zähler CR geht nicht
bis a B weiter, wenn ein anderer Modul seinen Zeitraum
t Bj =a B · Tcj früher erreicht und dies durch C=0=P 17 kennt
lich gemacht hat. Hat Mi selbst inzwischen zumindest
T Ai =a Ai · Tci durchlaufen, so stellt auch er fest, daß
der Bus "fertig" ist. Hiermit haben dann alle Moduln, die
eine Anfrage (REQ) eingereicht haben, ihre Aktion für das
Einbringen ihrer Anfrage (Start) beendet. Dies ist der
Punkt (3) in Fig. 3. Der Bus ist im C=0-Zustand. Die
folgende Aktion kann anfangen, nachdem die betreffenden
Prozessoren, die dieses C=0 festgestellt haben, selbst
ihren Schreibausgang (P 17 oder beispielsweise P 27) auf 0
zurückgestellt haben (Block 104). Die folgende Aktion, die
mit einem Startbit anfängt, bezieht sich auf die Fest
stellung, wer der Meister des Systems wird, auf der Basis
von Prioritäts- und/oder Kenndaten. Im Block 104 wird außer
dem Schreibausgang CW (mit P 17 im weiteren bezeichnet,
siehe auch Fig. 8a und 8b): =0 auch die Zeit: =0 durch
das Rückstellen des Zählers CR: =0. Die Zeitzählung startet
erneut. Es wird gewartet, bis Tt=T 1i=a 1i Tci abgelaufen
ist (für das Startbit), Block 106. Dabei gibt der Schreib
ausgang CW (P 17) das erste Datenbit der Kennung und/oder
der Priorität ab: P 17: =bit (Block 108). Der umkreiste
Buchstabe A unten zeigt auf den umkreisten Buchstaben A
oben, an welcher Stelle der Prozeß weitergeht. Im Block 110
wird gewartet, bis Tt=T 2i abgelaufen. Dabei ist CR=a 2i.
Dies ist der Punkt (5) in Fig. 3, in dem die Leitung C
abgetastet wird ("sample"). Im Block 112 ist geprüft, was
die Leitung C enthält: Das verdrahtete UND der angebotenen
Bits bti usw., Bezeichnung mit P 17=WAB. Leseeingang CR
(P 17) liest den Inhalt. Sind alle betreffenden (hier ersten)
Bits gleich, so ist Y des Blocks 112 der Ausgang für alle
Moduln. Wenn jedoch von einem oder mehreren Moduln dieses
Bit 0 und für die anderen Moduln dieses Bit 1 ist, so ist
für diesen/diese letztere Moduln das Schiedsverfahren ver
loren, und dieser (diese) erreicht(en) den Ausgang N von 112.
Dieser (diese) Modul(n) beteiligt(en) sich nicht mehr in
der Wahl des Meisters. Dies wird je Bit der Kennung und/oder
der Priorität verarbeitet, so daß schließlich einer als
Meister übrigbleibt. Nach N des Blocks 112 wird (werden)
vom Modul (von den Moduln) im Block 114 wiederum die
Unterbrechung(en) freigegeben, und sie sind wieder ansprech
bar (enabled) EABINT). Damit sind für diese Moduln (für
diesen Modul) die Aktionen zur Herstellung einer Kommuni
kationsverbindung (also als Meister) nicht erfolgreich
ausgegangen, und er erreicht (sie erreichen) die Situation N
des Blocks 44 (Fig. 10), wie im Block 116 der Fig. 13 ange
geben ist.
Für die Moduln, die noch nicht aus dem Wähl
prozeß ausgeschieden sind, geht es über Y von 112 weiter:
Der Bitzähler wird eine Stellung erhöht bt→bt+1 (Block 118).
Im Block 120 wird festgestellt, ob die maximale Anzahl
der Prioritäts- und/oder Kennbits (bt max.+1) bereits
erreicht ist. Wenn ja, (Y) ist der Wählprozeß abgelaufen
und ist der (jetzt einzige) Modul, der diesen Punkt er
reicht hat, der Meister des Systems: Der Block 122 gibt
dies mit Y, 44, an, das auf den Y-Ausgang des Blocks 44
nach Fig. 10 zurückweist: ACK. Die Übertragung der Daten
kann anfangen: TOP usw. nach Fig. 10. Ist das Maximum btmax
noch nicht erreicht (N), Block 129, wird gewartet, bis
Tt=T 3i=a 3iTci abgelaufen ist, Zähler CR=a 3i (Block 124).
Damit ist der Bitzeitraum von bti abgelaufen und setzt
der Modul (Mi) den Ausgang P 17: =1, Block 127. Dies ist
CW(Mi)=1 nach Punkt (6) in Fig. 3. Nach einer Reaktions
zeit Tt=T Ei =a Ei · Tci ist es sicher, daß dieser Modul
Mi der C-Leitung wiederum den Zustand C=1 über P 17 als
Schreibausgang zugeführt hat, Block 128. Es handelt sich
hier also um den ersten Zeitraum für diese Aktion mit dem
Fertigzeitfaktor a Ei . Der Prozeß wartet darauf im Block 128,
dieser enthält also die sog. ersten, die Detektion durch
führenden Mittel FDETM für diese Aktion. Im Block 130
wird festgestellt, ob die C-Leitung selbst tatsächlich =1
wird durch Zuführung von 1 aus dem Schreibausgang CW (P 17).
Dies geschieht über CR (P 17) als Leseeingang. Wenn C=P 17=
1(Y) ist, bedeutet dies, daß noch kein Modul seinen
zweiten Zeitraum T Fi erreicht hat. Der Zähler CR wird
wieder um 1 inkrementiert: CR→CR+1, Block 132. Im
Block 134 wird festgestellt, ob die erreichte CR-Stellung
inzwischen gleich dem Reaktionszeitfaktor a F ist. Dies
betrifft also die sog. zweiten, die Detektion durchführenden
Mittel SDETM für diese Aktion. Ist diese Stellung a F noch
nicht erreicht (N), wird erneut festgestellt, ob inzwischen
kein anderer Modul durch das Erreichen dieser Stellung a F
dem Wert von C=PC 17=1 in C=0 geändert hat (wiederum
Block 130 also). Bleibt C=P 17=1, so folgt erneut 132 usw.
Erzeugt inzwischen ein anderer Modul C=0, so gilt N des
Blocks 130: Die Induktion tritt auf, und der Prozeß springt
zum Punkt 103 zurück. Dies ist Punkt (8) in Fig. 3. Es
wird ein folgendes Datenbit zugeführt: Block 108 gibt das
folgende Bit bti (zweites usw.) ab, das wieder über die
verdrahtete UND-Funktion beurteilt wird (Block 112) usw.
Wenn kein anderer Modul a F früher zurückzählte, wird zu
einem bestimmten Zeitpunkt im Block 134 CR=a F im be
treffenden Modul erreicht. Dies bedeutet, über Y von 134
wird dann der Punkt 103 des Prozesses erreicht. Darauf
geht es wieder weiter, bis entweder der Modul aus dem
Wählprozeß herausgestoßen wird: N des Blocks 112, oder
der Modul als Meister angezeigt ist, Y des Blocks 120,
was erreicht wird, nachdem das letzte Bit verglichen ist
und es sich in 120 ergibt, daß nicht weiter gewählt zu
werden braucht: bt=btmax+1.
In Fig. 14 ist ein Blockschaltbild einer Daten
quelle und/oder eines Empfängers dargestellt, die bzw. der
aus einem ersten Teil DL 1 und einem zweiten Teil DL 2 besteht.
DL 2 ist der Teil, der die Quellen- und/oder die Empfänger
funktion enthält. Über einen Anfrageausgang REQ ist DL 1
mit einem Anfrageeingang REQ von DL 2 verbunden. Über einen
Freigabeeingang ACK ist DL 1 mit einem Freigabeausgang von
DL 2 verbunden. DL 2 enthält die erwähnten Mittel HS. Die
Taktsignalquelle für DL 1 ist über C 1 mit DL 2 verbunden.
DL 2 ist mit einem früher genannten Schreibausgang CW und
Leseeingang CR mit der Busleitung C verbunden. DL 1 ist
selbst mit einem Unterbrechungseingang INT und einer (oder
gegebenenfalls zwei) Eingangs- bzw. Ausgangsverbindung
bildenden Leitung(en) aus dem Eingangs/Ausgangsanschluß
(den Eingangs-/Ausgangsanschlüssen) E/A mit der Busleitung C
verbunden. Die INT hat wieder die gleiche Funktion, wie
bereits erwähnt wurde, siehe Fig. 8 usw. Die E/A-Verbindung
spricht an, wenn die Verbindung Meister-Sklave hergestellt
ist und die Datenübertragung erfolgt.
Es handelt sich darum, daß in DL 2 die Mittel HS
insbesondere dazu ausgelegt sind, außerhalb DL 1 fest
stellen zu können, ob der Bus zum Durchführen der erwähnten
Aktionen "fertig" ist. Für den Zusammenhang mit den Vor
gängen im Hauptprogramm eines Moduls Mi, von dem DL 2 ein
Teil ist, sei hier auf Fig. 10 verwiesen und auf die
Beschreibung dieser Vorgänge insbesondere in den punktiert
angegebenen Blöcken 43, 48 und 50.
Im allgemeinen ist es vorteilhaft, in DL 2 auch
die Aktion für die Meisterwahl anzubringen.
In Fig. 15 ist ein detailliertes Schema des
Teils DL 2 nach Fig. 14 dargestellt.
In Fig. 16 ist ein Zeitbitdiagramm (Adreß-
und Dateninhalt) dargestellt, das zur Fig. 15 gehört.
In Fig. 15 ist statt eines ausgearbeiteten
logischen Schaltschemas mit vielen logischen Teilen (wie
viele Gatter, Zweistellungenelementen usw.) eine Lösung
gewählt, bei der die erwähnten Mittel ein Festwertspeicher
ROM, ein Adreßzähler ADCR, ein logisches UND-Funktions
element, hier als NAND 140, sind. Weiter ist in diesem
Beispiel auch vorgesehen, daß die Wählaktion in den im
Teil DL 2 befindlichen Kennvergleichsmitteln erfolgen kann.
Diese Vergleichsmittel IDCOMP arbeiten mit dem vom Zähler
ADCR adressierten Festwertspeicher ROM und weiter mit
einer Kippstufe DFF und einem Exklusiv-ODER-Gatter 142.
Weiter gibt es noch einen Inverter 144 mit offenem Kollektor
und eine NAND 146 mit offenem Kollektor, die beide den
Schreibausgang CW bilden. Die Elemente 148 und 150 sind
weitere Inverter. 141 ist ein weiteres Nicht-ODER-Gatter.
Die Wirkung wird im Zusammenhang mit Fig. 16 erläutert:
Hier sind links die Adressen A (0 . . . n, n+1, n+2, n+3),
die Zeiten Tt und damit zusammenhängend die Zeitfaktoren
a Ai , a B , a 1i . . . a F angeordnet, die Adreßteile der Adressen
A von ROM darstellen. Rechts sind die Inhalte der Speicher
stellen angegeben, die an Ausgängen D 0, 1, 2, 3, 4, 5, 6 von ROM
bei einer betreffenden Adressierung erscheinen.
Angenommen, es gibt keine Anfrage REQ=0.
Angenommen, die Leitung C=0, dabei ist am Ausgang des
Gatters 141 eine 0 vorhanden, mit der =0 ist, also
ein Löschvorgang einer im Zähler ADCR (gegebenenfalls)
vorhandenen Stellung auftritt ("clear"). Der Zähler tritt
in den Zustand A (0 . . . n, . . .)=0, und damit führen alle
Ausgänge eine 0. Waren durch A (. . . n+1) und/oder n+2, . . .)
einer oder mehrere Ausgänge 1, so ist jetzt dieser Zustand
aufgehoben.
Angenommen, es gibt keine Anfrage: REQ=0, und
angenommen, die Leitung C=1, so ist ebenfalls am Ausgang
des Gatters 141 eine 0 vorhanden, und es geschieht dasselbe;
Löschen.
Angenommen, es gibt eine Anfrage: REQ=1, und
angenommen, die Leitung C ist 0 (also "belegt", so geschieht
das gleiche wie oben.
Angenommen, es gibt eine Anfrage REQ=1 und
es sei die Leitung C=1, so sind alle Eingänge von 141
gleich 0 (denn, weil D 4=0, ist =1 und liegt also
nach dem Inverter 150 auch eine 0 am Gatter 141), so daß
=1 ist und der Adreßzähler ADCR tatsächlich zu zählen
anfängt. Die Taktimpulse an C 1 (aus dem Modultaktgeber)
werden gezählt. Die Adressen, die ADCR durchläuft A (0),
A (1), usw. Ergeben noch immer für alle D=0. Ändert sich
die Leitung C=1 wieder in C=0, so kehrt der Vorgang
wieder zurück: Löschen ("clear") des Zählers ADCR. Dies
bedeutet, daß der Bus die Anfrage nicht gewährt, denn er
war noch mit einer früheren Kommunikation beschäftigt.
Es sei bemerkt, daß an REQ=1 in einem Register IDCOMP,
am Eingang gesteuert, die Kenn- und/oder Prioritäts
daten IDi des Moduls i gespeichert werden. Danach ist dieses
Register vorbereitet "S", um an seinem Taktgeber < den
Inhalt nach rechts zu schieben. Ist REQ=1, C=1 und
erreicht ADCR die Stellung a Ai , für die Tt=T Ai (siehe Fig. 3)
(der erste Zeitraum), so erscheint am Ausgang D 4 von ROM
eine 1, mit der das Gatter 140 vorbereitet wird. Das be
deutet, daß ab jetzt die "Induktion" auftreten kann.
Der Zähler zählt inzwischen weiter, wobei keine ROM-Ausgänge
geändert werden. Erreicht der Zähler ADCR die Stellung a B ,
so ist der Zeitraum Tt=T Bi und damit der zweite Zeitraum
erreicht. In diesem Zustand wird der Ausgang D 1 von ROM
gleich 1. Hiermit wird über den Inverter 144, der einen
offenen Kollektor hat, die Leitung auf C=0 gebracht
(Punkt (3) in Fig. 3). Dies geschieht auch, wenn vor der
Stellung a B über die Leitung C selbst eine 0 zugeführt wird.
Dies ist möglich, weil ein anderer Modul seinen T Bj früher
erreicht. Hiermit wird über den Inverter 148 das NAND 140
geöffnet (denn D 4 war bereits 1), und damit wird =0
so daß der Zähler ADCR mit einer Stellung a B geladen wird
(a B ist am Zähler fest verdrahtet und wird beim Ladebefehl
in den Zähler geladen). Hiermit ist dann Induktion aufge
treten, es erscheint auch D 1=1 und damit führt auch
dieser Modul C=0 über den Schreibausgang CW. Anschließend
wird das Startbit (Strecke (3)-(4) in Fig. 3) ausgesandt:
C=0, bis Tt=T 1i=a 1i. Tci passiert wird. Der Zähler
ADCR geht ab a B weiter. (Es tritt kein Löschen auf, denn
D 4 ist wieder 0, und damit ist =1, und über den Inverter
150 liegt eine 0 an einem Eingang von NOR 141, d. h. =1.)
In der Stellung a B =a 1i wird D 2=1. Damit
öffnet sich das Gatter 146: das bedeutet, daß ein (bedeut
samstes) Bit der Kenn- und/oder Prioritätsdaten IDi, die
im Register IDCOMP vorhanden sind, auf die Leitung C ge
geben wird. Hier wird also eine 1/0 als eine 0/1 auf der
Leitung C geschrieben (Punkt (4) in Fig. 3). An der Leitung
C tritt mit Bits anderer Moduln die verdrahtete UND-Funktion
auf. Beim Weiterzählen bis a B +a 2i erzeugt der ROM am Aus
gang D 2 immer noch eine 1, so daß das erwähnte Bit nach
wie vor zugeführt wird. Außerdem ist D 0 auch 1, und damit
wird die Kippstufe DFF getaktet (sie war bereits durch
REQ=1 vorbereitet. Hier steht der Punkt (5) in Fig. 3
("sample") an. Am Eingang von DFF liegt das Signal vor,
das am Ausgang des Exklusiv-ODER-Gatters 142 vorhanden ist.
Dieses Signal ist das Ergebnis der Exklusiv-ODER-Funktion
des Bits, das vom Modul selbst aus IDCOMP zugeführt wird,
und des Bits, das auf der C-Leitung vorhanden ist. Es kann
dasselbe Bit sein (beide 0 oder beide 1) oder verschieden.
Bei Gleichheit liegt am Eingang von DFF eine 1, so daß
am Ausgang ebenfalls eine 1 erscheint, die festgehalten
wird, wenigstens solange keine neue D 0=1 als Taktimpuls
erscheint. Die erwähnte 1 adressiert ROM am Adreßteil
A (n+3)=1, so daß die Gesamtadresse A (a 2i, 0, 0, 1) vorliegt.
Wenn die erwähnten Bits ungleich sind, erscheint am Ausgang
von DFF eine 0 und wird der Adreßteil A (N+3)=0. Die
Gesamtadresse ist dabei A (a 2i, 0, 0, 0). Dies bedeutet: Bei
Gleichheit entscheidet das Schiedsverfahren günstig. Der
Modul darf sich nach wie vor an dem Schiedsverfahren mit
einem folgenden Bit beteiligen. Der Speicher ROM ist jetzt
von der erwähnten A (N+3)=1 in einem bestimmten Teil adres
siert, wodurch der Modul die Möglichkeit hat, der Meister
zu werden. Bei Ungleichheit entscheidet das Schiedsver
fahren ungünstig. Der Modul kann jetzt kein Meister werden,
weil Moduln mit höheren Kennummern und/oder höherer Priori
tät ebenfalls REQ=1 haben 12273 00070 552 001000280000000200012000285911216200040 0002003115453 00004 12154. Schiedsverfahrenbeispiel:
Identitäten M 1=01 nach Inversion, Zuführung zur Leitung C 10.
Identitäten M 2=10 nach Inversion, Zuführung zur Leitung C 01.
Identitäten M 3=11 nach Inversion, Zuführung zur Leitung C 00.
Identitäten M 2=10 nach Inversion, Zuführung zur Leitung C 01.
Identitäten M 3=11 nach Inversion, Zuführung zur Leitung C 00.
Für das bedeutsamste Bit gibt die Leitung C durch verdrahte
tes UND den Wert 0. Mit den Mitteln IDCOMP zusammen mit
DFF und 142 gibt dies in:
M 1 eine 0 am Ausgang von DFF, damit A (n+3) = 0 fehlerhalft.
M 2 eine 1 am Ausgang von DFF, damit A (n+3) = 1 richtig.
M 3 eine 1 am Ausgang von DFF, damit A (n+3) = 1 richtig
M 2 eine 1 am Ausgang von DFF, damit A (n+3) = 1 richtig.
M 3 eine 1 am Ausgang von DFF, damit A (n+3) = 1 richtig
Also nur M 2 und M 3 beteiligen sich im weiteren Schieds
verfahren (für das zweite Bit). Beim zweiten Bit gilt, daß
ebenfalls C=0 erscheint. Hiermit erscheint in M 2 eine 0
am Ausgang von DFF und also A (n+3)=0 falsch. Nur für
M 3 wird A (n+3)=1 richtig. M 3 ist gewählt. Im ROM geschieht
folgendes: Bei "falsch" wird im Teil vom ROM, für den der
Adreßteil A (N+3)=0 gilt, bei weiterzählendem Adreß
zähler adressiert. In diesem Teil von ROM bleibt immer
D 1=D 2=D 3=0. Damit werden keine weiteren Bits dem Schieds
verfahren zugeführt. CW ist damit immer 1 und übt keinen
Einfluß mehr aus. Durch D 3=0 tritt also kein ACK auf, was
bedeutet, daß dieser Modul keine Erlaubnis für eine Daten
übertragung als Meister des Systems erhält. Inzwischen wird
am Zähler ADCR weitergezählt (alle Moduln; jedoch beein
flussen nur die Moduln, die sich am weiteren Schiedsver
fahren beteiligen, die Leitung C).
Der Zähler ADCR erreicht den Zeitraum Tt=Tbi+T 3i,
bei dem die Stellung a B +a 3i erreicht wird (Punkt (6) in
Fig. 3). Hier sind alle Ausgänge D 0 . . . 6=0. Auf der
Leitung C herrscht der 1-Zustand (Stoppbit nach Punkt (5)
in Fig. 3). Der Zähler zählt nach a Bi +a Ei weiter (Punkt (7)
Fig. 3). Dabei ist wiederum der erste Zeitraum T Ei nach T Bi
erreicht. Induktion kann auftreten: Ausgang D 4=1, womit
das Gatter 140 wieder vorbereitet wird. So auch D 6=1.
Damit erreicht der Speicher ROM den Teil, der mit dem
Adreßteil A (n+2)=1 adressiert wird. Hierin sind die
Steuerbits für die Verarbeitung des zweiten Bits der Prio
ritäts- und/oder Kenndaten gespeichert. (In diesem Beispiel
mit D 5 und D 6 sind 2²=4 Bits gedacht.) Der Zähler ADCR geht
weiter, bis die Stellung a B +a F erreicht ist, d. h. der
zweite Zeitraum T Fi =a F · Tci nach T Bi . Damit ist wieder
D 1=1 (und D 6 bleibt 1 durch die folgende Verarbeitung des
zweiten Bits). Das zweite Bit wird aus dem Register IDCOMP
herausgeschoben und am Gatter 146 bereitgestellt. Durch
D=1 herrscht auch 0 auf der Leitung C. Über CR liefert sie
eine 1 am Gatter 140, das bereits vorbereitet ist. Es
tritt wieder =0 auf, wodurch der Zähler ADCR wieder in
die Stellung a B gezwungen wird. Ab diesem Punkt (Punkt (8)
in Fig. 3) fängt der Zyklus erneut mit der Stellung a B an.
Der Zähler zählt nach Tt=T Bi +T 1 weiter, in der das zweite
Bit der Prioritäts- und/oder Kenndaten vom Gatter 142
(durch D 2=1) zur Leitung C geht usw.
Wenn vor dem Erreichen der Stellung a B +a F
durch den Zähler auf der Leitung C eine 0 an CR gelesen
wird, wird hierdurch immer (Induktion) a B in ADCR geladen
und springt der Prozeß zum neuen Zyklus weiter (Punkt (8)
Fig. 3). Von hier startet also der neue Zyklus für das
Schiedsverfahren des folgenden Bits, siehe oben, usw.
Wenn ein Modul immer "richtig" siegt, A (n+3)
bleibt immer 1, liegt am Ende des Zyklus für das letzte
Bit (hier also vier) an der Adresse A (a B +a F , 1, 1, 1) am
Ausgang D 3=1, d. h. ACK=1, und damit ist dieser Modul
also Meister gewählt.
Es wird klar sein, daß die Reaktionszeit T Ri
des in Fig. 15 dargestellten Aufbaus klein ist. Denn bei
der Induktion (angenommen, T Bj ist erreicht, d. h. C=0 durch
Modul Mj) wird im Modul Mi direkt über den Inverter 148
das Gatter 140, und den Zähler ADCR der ROM an einer
Stelle, an der D 1=1 ist, adressiert. Hiermit macht auch
dieser Modul Mi die Leitung C=0 · T Ri ist völlig schaltungs
mäßig bestimmt, im Gegensatz zu dem T Ri im Beispiel nach
Fig. 13. Dabei muß der programmierte digitale Signal
prozessor entweder nach dem Block 98 (N) oder nach dem
Block 102 für den Fall T Ai /T Bi und nach dem Block 130 (N)
oder nach dem Block 134 für den Fall T Ei /T Fi Programm
schritte durchlaufen, um dafür zu sorgen, daß an seinem
Anschluß CW=P 17 eine 0 liegt (Block 104) (und für Tt=0,
daß außerdem der Zähler CR: =0 wird). Dies nimmt mehr
Zeit in Anspruch, wodurch T Ri größer als im schaltungs
mäßigen Fall ist. Um dies zu begünsigen, kann zwischen
dem Bus und dem als Datenquelle und/oder Datenempfänger
benutzten programmierten Digitalsignalprozessor ein
"fertig-besetzt"-Zustandsübergangsdetektor angeordnet
werden.
Dies ist in Fig. 17 dargestellt. Der Detektor
besteht aus einem Inverter 152 und einem NICHT-UND-Gatter 154.
Der Inverter 152 empfängt ein Signal von der Busleitung C
und das Gatter 154 sowohl aus dem Inverter 152 als auch
aus dem Prozessor Mi (8048). Der Ausgang von 154 ist wieder
mit der Busleitung C verbunden.
Der Ausgang P 27 ist in diesem Beispiel ein
Anschluß des Prozessors Mi (hier 8048), der derart während
der Aktionen der vorliegenden Anmeldung definiert ist,
daß bei CR=a Ai (Block 94, FDETM) und bei CR=a Ei (Block 128,
FDETM nach Fig. 13) an P 27=1 liegt. Damit geschieht folgendes:
Das Gatter 154 ist vorbereitet. Angenommen, es erreicht
über C ein 0-Zustand den Inverter 152. Dabei wird über 154
auch eine 0 ab diesem Modul Mi an die Leitung C gegeben.
Also: sobald nach T Ai oder T Ei eines Moduls Mi die Leitung C
auf 0 kommt (durch Mi selbst bei T Bi bzw. T Fi , aber ins
besondere von einem anderen Modul Mj bei T Bj bzw. T Fj ),
sorgt Mi dafür, daß dieser selbst auch C=0 wird. Hiermit
ist T Ri verringert. Der Anschluß P 27 ist weiter so defi
niert, daß er bei der Lieferung von P 17: =0 (Block 104)
vom Prozessor wieder 0 wird, so daß der Detektor weiter
keinen Einfluß ausübt (es wird immer 1 durch das Gatter 154
erzeugt).
Es sei bemerkt, daß es selbstverständlich auch
möglich ist, statt eines Anschlusses (P 27) für diese Aus
gabe eine Lösung zu wählen, bei der unter Umgehung des
Prozessors das Gatter 154 gesteuert wird. In Fig. 17 ist
dies als Beispiel noch für den Zeitraum T Ai dargestellt:
Innerhalb des strichpunktierten Rahmens. Dabei ist ein
zusätzlicher Zähler DETCR angeordnet, der beim Erreichen
der 0-Stellung einen Übertrag CY liefert. Die Leitung, auf
der CY erscheint, ist mit dem Gatter 154 verbunden. Die
Wirkung ist wie folgt: Der Prozessoranschluß P 16 ist als
der invertierte Löscheingang des Zählers DETCR defi
niert, mit dem nur während der Aktion (P 16=1), in der
T Ai eine Rolle spielt, der Zähler nicht gelöscht wird.
Weiter ist der Zähler immer, trotz der Steuerung über LD
und CK, von keinerlei Bedeutung und führt auch CY=0-Signal.
Beim jeweiligen Auftritt eines 0-1-Übergangs auf der Lei
tung C wird der Zähler DETCR von LD=1 mit einem Wert gleich
-a Ai geladen, wobei eine früher erreichte Stellung, die
bei einem früheren Versuch zum Rückwärtszählen von -a Ai
erreicht sein kann, überschrieben wird. Der Anschluß T 0
des Prozessors ist als Taktausgang definiert, über den
Zählimpulse den Zähler DETCR erreichen, der rückwärts zählt.
Wenn es gelingt, die Zählerstellung=0 zu
erreichen, ist also T Ai erreicht, und es geschieht folgendes:
CY erzeugt ein Übertragssignal am Gatter 154, das damit
vorbereitet ist. Wird von Mi selbst oder insbesondere von
einem anderen Modul Mj die Leitung C=0, so bedeutet dies
am Inverter 152, daß das Gatter 154 auch eine 0 für die
Leitung C erzeugt. Damit ist wiederum die schnelle Reaktion
erreicht und also T Ri verkleinert. Der Zähler selbst läuft
nicht mehr weiter, denn CY=1 erzeugt eine Blockierung am
Erregereingang; =1, also die Erregung ist 0. Damit bleibt
auch CY=1. Dies geschieht dann, bis diese Aktion beendet
ist, d. h. in diesem Beispiel, daß P 17: =0 geworden ist.
P 16 ist dabei wieder 0 und also =0, d. h. der Zähler
wird gelöscht, mit welcher Aktion CY wieder 0 wird und
das Gatter 154 nicht länger vorbereitet ist. Der Detektor
kann weiter keinen Einfluß mehr ausüben.
Claims (16)
1. Anordnung zur Übertragung von Daten zwischen
mehreren Datenquellen und Datenempfängern (Moduln) über
einen Bus,
der wenigstens eine Verbindung enthält und
an den alle Moduln derart angeschlossen sind, daß ein von
wenigstens einem Modul dem Bus zugeführtes Signal mit dem
einen binären Wert unabhängig von dem von den anderen
Moduln zugeführten Signalwert den Bus in den ersten
logischen Zustand bringt und der zweite logische Zustand
nur dann vorhanden ist, wenn kein Modul dem Bus ein Signal
mit dem einen binären Wert zuführt,
wobei jeder Modul einen ersten Zeitgeber, der nach einem
vorgegebenen ersten Zeitraum nach dem Auftreten des
zweiten logischen Zustands auf dem Bus ein erstes Zeit
steuersignal erzeugt, sowie einen zweiten Zeitgeber
aufweist,
dadurch gekennzeichnet,
daß in jedem Modul ein Taktgeber, deren Taktfrequenzen untereinander Toleranzen aufweisen und den ersten sowie weitere Zeiträume bestimmen, vorgesehen ist,
daß der zweite Zeitgeber durch das erste Zeitsteuersignal ausgelöst nach einem zweiten Zeitraum T Bi ein Bus- Fertig-Signal erzeugt, sofern der zweite logische Zustand auf dem Bus noch vorhanden ist, wobei der zweite Zeitraum T Bi größer ist als der erste Zeitraum T Ai und von dem größten der Produkte R i · Vi abhängt, in denen R i ein Toleranzwert von Vi ein Reaktionszeitwert des jeweiligen Moduls M i ist,
daß das Bus-Fertig-Signal in einem sendebereiten Modul den Start einer Datenaussendung mit dem Erzeugen eines Start signals auslöst, das den Bus in den ersten Zustand bringt,
daß in jedem weiteren sendebereiten Modul, in der das erste Zeitsteuersignal erzeugt wurde, das Detektieren des ersten logischen Zustands auf dem Bus nach einer vorge gebenen individuellen Reaktionszeit in entsprechender Weise den Start einer Datenaussendung auslöst, wobei in jedem dieser Moduln durch ein Schiedsverfahren das Feststellen vorgegebener Daten auf dem Bus während der Datenaussendung diesen Modul in den nichtsendenden Zustand bringt.
daß in jedem Modul ein Taktgeber, deren Taktfrequenzen untereinander Toleranzen aufweisen und den ersten sowie weitere Zeiträume bestimmen, vorgesehen ist,
daß der zweite Zeitgeber durch das erste Zeitsteuersignal ausgelöst nach einem zweiten Zeitraum T Bi ein Bus- Fertig-Signal erzeugt, sofern der zweite logische Zustand auf dem Bus noch vorhanden ist, wobei der zweite Zeitraum T Bi größer ist als der erste Zeitraum T Ai und von dem größten der Produkte R i · Vi abhängt, in denen R i ein Toleranzwert von Vi ein Reaktionszeitwert des jeweiligen Moduls M i ist,
daß das Bus-Fertig-Signal in einem sendebereiten Modul den Start einer Datenaussendung mit dem Erzeugen eines Start signals auslöst, das den Bus in den ersten Zustand bringt,
daß in jedem weiteren sendebereiten Modul, in der das erste Zeitsteuersignal erzeugt wurde, das Detektieren des ersten logischen Zustands auf dem Bus nach einer vorge gebenen individuellen Reaktionszeit in entsprechender Weise den Start einer Datenaussendung auslöst, wobei in jedem dieser Moduln durch ein Schiedsverfahren das Feststellen vorgegebener Daten auf dem Bus während der Datenaussendung diesen Modul in den nichtsendenden Zustand bringt.
2. Anordnung nach Anspruch 1,
dadurch gekennzeichnet, daß ein dritter Zeitgeber
vorgesehen ist, der von jedem Übergang zum ersten
logischen Zustand auf den Bus ausgelöst nach einem
weiteren zweiten Zeitraum T Fi jeweils erneut den ersten
logischen Zustand erzeugt, sofern dieser Zustand nicht vor
Ablauf des weiteren zweiten Zeitraums aufgetreten ist,
wobei dieser weitere zweite Zeitraum T Fi ebenfalls von
dem größten der Produkte R i · V i abhängt.
3. Anordnung nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß der Bus aus einem einzigen
Übertragsmedium besteht und der minimale zweite Zeit
raum (T Bi ) je Modul (Mi) die Beziehung
T Bi =a B · Tci=(R⁶ · V) · Tci erfüllt, worin Tci die
Periode des Taktgebers für diesen Modul (Mi) ist.
4. Anordnung nach Anspruch 2,
dadurch gekennzeichnet, daß der Bus aus einem einzigen
Übertragsmedium (C) besteht und der minimale weitere
zweite Zeitraum (T Fi ) je Modul (Mi) die Beziehung
T Fi =a F · Tci=(R⁴ · V) · Tci erfüllt, worin Tci die
Periode des Taktgebers für diesen Modul (Mi) ist.
5. Anordnung nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß der Bus aus zwei Übertrags
medien (K, D) besteht, von denen das eine als Steuerüber
tragsmedium (K) und das andere als Datenübertragungs
medium (D) dient, wobei jeder Modul (Mi) je einen Schreib
anschluß und einen Leseanschluß (KW (Mi) und KR(Mi), DW(Mi)
und DR(Mi)) für das Steuerübertragungsmedium (K) und das
Datenübertragungsmedium (D) aufweist.
6. Anordnung nach Anspruch 5,
dadurch gekennzeichnet, daß der minimale zweite
Zeitraum (T Bi ) je Modul (Mi) die Beziehung
T Bi =(R³ · V) · Tci erfüllt, worin Tci die Periode des
Taktgebers für diesen Modul (Mi) ist.
7. Anordnung nach Anspruch 5 oder 6,
dadurch gekennzeichnet, daß der minimale weitere zweite
Zeitraum (T Fi ) je Modul (Mi) die Beziehung
T Fi =-(R · V) · Tci erfüllt, worin Tci die Periode des
Taktgebers für diesen Modul (Mi) ist.
8. Anordnung nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß der Bus aus drei Übertrags
medien besteht, von denen zwei als Steuerübertragungs
medium (KA, KB) dienen und das dritte als Datenüber
tragungsmedium (D) dient, wobei jeder Modul (Mi) je
Schreibanschlüsse und Leseanschlüsse (KAW(Mi), KWB(Mi) und
KAR(Mi), KBR(Mi)) für die Steuerübertragungsmedien und
einen Schreibanschluß und einen Leseanschluß (DW(Mi) und
DR(Mi)) für das Datenübertragungsmedium aufweist.
9. Anordnung nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß der Bus aus drei Übertragungs
medien besteht, von denen eines als Steuerübertragungs
medium (K) dient und die zwei anderen als Datenüber
tragungsmedien (DA und DB) dienen, wobei jeder Modul (Mi)
einen Schreibanschluß und einen Leseanschluß (KW(Mi) und
KR(Mi)) für das Steuerübertragungsmedium und je Schreib
anschlüsse und Leseanschlüsse (DAW(Mi), DWB(Mi) und
DAR(Mi), DBR(Mi)) für die Datenübertragungsmedien
aufweist.
10. Datenquelle und -empfänger zur Verwendung in einer
Anordnung nach einem der Ansprüche 1 bis 9,
gekennzeichnet durch zumindest einen Steuereingang (CR)
und einen Steuerausgang (CW) sowie durch eine Steuer
anordnung mit einem ersten und einem zweiten Zeitgeber,
die den Ablauf des zweiten Zeitraums in dem zweiten
Zeitgeber detektiert und das Bus-Fertig-Signal erzeugt,
und durch eine mit dem Steuerausgang (CW) verbundene
Ausgangsstufe, die von der Steueranordnung mit dem
Bus-Fertig-Signal oder mit der Detektion des ersten
logischen Zustands auf dem Bus am Steuereingang (CR) nach
Ablauf des ersten Zeitgebers zum Erzeugen des ersten
logischen Zustands auf dem Bus für eine vorgegebene
Zeitdauer angesteuert wird.
11. Datenquelle und -empfänger nach Anspruch 10,
dadurch gekennzeichnet, daß zumindest die Steueranordnung
durch einen programmierten Mikroprozessor gebildet ist,
von dem ein Eingang als der Steuereingang (CR) und ein
Ausgang als der Steuerausgang (CW) arbeitet.
12. Datenquelle und -empfänger nach Anspruch 11,
dadurch gekennzeichnet, daß ein Zustandsübergangsdetektor
vorgesehen ist, der einen Übergang in den ersten logischen
Zustand auf dem Bus mit verkürzter Reaktionszeit
detektiert zum Abgeben des Startsignals am Steuer
ausgang (CW), wenn zumindest der zweite Zeitraum
abgelaufen ist.
13. Datenquelle und -empfänger nach Anspruch 10,
dadurch gekennzeichnet, daß ein erster Teil (DL 1) und ein
zweiter Teil (DL 2) vorhanden sind, von denen der erste
Teil (DL 1) im wesentlichen die Quellen- und/oder
Empfängerfunktion verwirklicht und über zumindest einen
Anfrageausgang (REQ) und einen Freigabeeingang (ACK) mit
dem zweiten Teil (DL 2) verbunden ist und der zweite Teil
einen entsprechenden Anfrageeingang (REQ) und einen
Freigabeausgang (ACK) besitzt und weiter die Steuer
anordnung enthält, die mit dem Steuereingang (CR) und dem
Steuerausgang (CW) mit dem Bus (z. B. C) verbindbar ist.
14. Datenquelle und -empfänger nach Anspruch 13,
dadurch gekennzeichnet, daß der zweite Teil (DL 2) ferner
eine Kennvergleichsanordnung (IDCOMP) enthält, mit denen
die eigene Identität mit einer dem Bus zugeführten Kennung
vergleichbar ist.
15. Datenquelle und -empfänger nach Anspruch 13,
dadurch gekennzeichnet, daß die Steueranordnung im zweiten
Teil einen Festwertspeicher (ROM), einen Adreß
zähler (ADCR) und ein logisches UND-Funktionselement (140)
enthält, wobei der Festwertspeicher vom Adreßzähler
adressierbar ist und der Adreßzähler bei unbelegtem Bus
nach Empfang eines Anfragesignals über den Anfrageein
gang (REQ) Taktsignale zählt, die über einen Taktgeber
eingang (C 1) aus dem ersten Teil zugeführt werden, daß
beim Erreichen der Zählerstellung, die den ersten
Zeitraum (z. B. T Ai ) darstellt, der adressierte
Festwertspeicher ein Ausgangsbit erzeugt, mit dem das
logische UND-Funktionselement (140) freigegeben wird, und
daß beim Erreichen der Zählerstellung, die den zweiten
Zeitraum (T Bi ) darstellt, oder sobald am Steuer
eingang (CR) der Übergang in den ersten logischen Zustand
auf dem Bus auftritt, mit dem dann über das UND-Funktions
element (140) der Zähler (ADCR) in die Zählerstellung des
zweiten Zeitraums (T Bi ) gesetzt wird, der Festwert
speicher ab der dabei adressierten Stelle ebenfalls den
ersten logischen Zustand am Steuerausgang erzeugt.
16. Datenquelle und -empfänger nach Anspruch 15,
dadurch gekennzeichnet, daß der mit Hilfe des Adreß
zählers (ADCR) adressierte Festwertspeicher (ROM) in
Zusammenarbeit mit der Kennvergleichsanordnung (IDCOMP)
einen Kennungsvergleich durchführt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8002346A NL8002346A (nl) | 1980-04-23 | 1980-04-23 | Multi databron- en dataontvangersysteem met communicatiebus. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3115453A1 DE3115453A1 (de) | 1982-04-15 |
DE3115453C2 true DE3115453C2 (de) | 1990-09-20 |
Family
ID=19835186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3115453A Granted DE3115453A1 (de) | 1980-04-23 | 1981-04-16 | Datenuebertragunssystem mit mehreren datenquellen und datenempfaengern und mit kommunikationsbus |
Country Status (11)
Country | Link |
---|---|
US (1) | US4418386A (de) |
JP (2) | JPS56169453A (de) |
AU (1) | AU544216B2 (de) |
CA (1) | CA1164968A (de) |
CH (1) | CH654126A5 (de) |
DE (1) | DE3115453A1 (de) |
FR (1) | FR2481485B1 (de) |
GB (1) | GB2074819B (de) |
IT (1) | IT1135779B (de) |
NL (1) | NL8002346A (de) |
SE (1) | SE449801B (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58500227A (ja) * | 1981-06-17 | 1983-02-10 | ザ ボ−イング コンパニ− | 改良自律端末デ−タ通信システム |
US4332027A (en) * | 1981-10-01 | 1982-05-25 | Burroughs Corporation | Local area contention network data communication system |
US4513370A (en) * | 1982-07-19 | 1985-04-23 | Amdahl Corporation | Data transfer control system and method for a plurality of linked stations |
GB8316463D0 (en) * | 1983-06-16 | 1983-07-20 | Secr Defence | Priority resolution in bus oriented computer systems |
US4654820A (en) * | 1983-11-30 | 1987-03-31 | At&T Bell Laboratories | Interrupt bus structure |
DE3402076A1 (de) * | 1984-01-21 | 1985-08-01 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Verfahren und anordnung zur datenuebertragung |
JPS61161840A (ja) * | 1985-01-10 | 1986-07-22 | Sharp Corp | デ−タ伝送方式 |
JPS61161842A (ja) * | 1985-01-11 | 1986-07-22 | Sharp Corp | 信号送出方式 |
IT1184933B (it) * | 1985-03-28 | 1987-10-28 | Olivetti & Co Spa | Circuito di integrazione per la trasmissione e la ricezione di dati |
US5101478A (en) * | 1985-06-28 | 1992-03-31 | Wang Laboratories, Inc. | I/O structure for information processing system |
US4908749A (en) * | 1985-11-15 | 1990-03-13 | Data General Corporation | System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal |
US5237670A (en) * | 1989-01-30 | 1993-08-17 | Alantec, Inc. | Method and apparatus for data transfer between source and destination modules |
US5088024A (en) * | 1989-01-31 | 1992-02-11 | Wisconsin Alumni Research Foundation | Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit |
US5274774A (en) * | 1989-01-31 | 1993-12-28 | Wisconsin Alumni Research Foundation | First-come first-serve arbitration protocol |
US5333301A (en) * | 1990-12-14 | 1994-07-26 | International Business Machines Corporation | Data transfer bus system and method serving multiple parallel asynchronous units |
US5251305A (en) * | 1991-04-04 | 1993-10-05 | Unisys Corporation | Apparatus and method for preventing bus contention among a plurality of data sources |
US5245261A (en) * | 1991-10-24 | 1993-09-14 | International Business Machines Corporation | Temperature compensated overcurrent and undercurrent detector |
DE4135553A1 (de) * | 1991-10-29 | 1993-05-06 | Alcatel Sel Aktiengesellschaft, 7000 Stuttgart, De | Verfahren und schaltungsanordnung zur datenblockuebertragung ueber ein bussystem |
US5613038A (en) * | 1992-12-18 | 1997-03-18 | International Business Machines Corporation | Communications system for multiple individually addressed messages |
US5963719A (en) * | 1996-01-22 | 1999-10-05 | Cabletron Systems, Inc. | Two-pin distributed ethernet bus architecture |
DE69733684T2 (de) * | 1996-09-18 | 2006-04-27 | Koninklijke Philips Electronics N.V. | Nachrichtenverteilungssystem |
US6081904A (en) * | 1998-04-30 | 2000-06-27 | International Business Machines Corporation | Method for insuring data integrity during transfers |
EP0980166A1 (de) * | 1998-08-06 | 2000-02-16 | Siemens Aktiengesellschaft | Aktives Publishing |
GB0004088D0 (en) * | 2000-02-21 | 2000-04-12 | Nokia Networks Oy | Packet data services in a telecommunications system |
JP4120978B2 (ja) | 2001-02-27 | 2008-07-16 | ヤマハ株式会社 | 電子楽器用バスシステム |
US9910808B2 (en) * | 2012-04-30 | 2018-03-06 | Hewlett Packard Enterprise Development Lp | Reflective memory bridge for external computing nodes |
US10762011B2 (en) | 2012-04-30 | 2020-09-01 | Hewlett Packard Enterprise Development Lp | Reflective memory bridge for external computing nodes |
EP3912048B1 (de) | 2019-01-15 | 2023-07-19 | Heldeis, Christoph | Verfahren zur impliziten adressierung von elektronischen einheiten und entsprechende einheiten |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3543246A (en) * | 1967-07-07 | 1970-11-24 | Ibm | Priority selector signalling device |
US3593300A (en) * | 1967-11-13 | 1971-07-13 | Ibm | Arrangement for automatically selecting units for task executions in data processing systems |
JPS5812611B2 (ja) * | 1975-10-15 | 1983-03-09 | 株式会社東芝 | デ−タテンソウセイギヨホウシキ |
JPS5296836A (en) * | 1976-02-10 | 1977-08-15 | Toshiba Corp | Multiplex data processing system |
US4096569A (en) * | 1976-12-27 | 1978-06-20 | Honeywell Information Systems Inc. | Data processing system having distributed priority network with logic for deactivating information transfer requests |
US4110823A (en) * | 1977-02-17 | 1978-08-29 | Xerox Corporation | Soft display word processing system with multiple autonomous processors |
DE2846488A1 (de) * | 1977-10-25 | 1979-05-03 | Digital Equipment Corp | Datenverarbeitungssystem |
US4199663A (en) * | 1978-11-06 | 1980-04-22 | The Boeing Company | Autonomous terminal data communications system |
-
1980
- 1980-04-23 NL NL8002346A patent/NL8002346A/nl not_active Application Discontinuation
-
1981
- 1981-04-13 GB GB8111624A patent/GB2074819B/en not_active Expired
- 1981-04-16 DE DE3115453A patent/DE3115453A1/de active Granted
- 1981-04-16 AU AU69597/81A patent/AU544216B2/en not_active Ceased
- 1981-04-16 CA CA000375726A patent/CA1164968A/en not_active Expired
- 1981-04-17 IT IT21288/81A patent/IT1135779B/it active
- 1981-04-20 US US06/255,916 patent/US4418386A/en not_active Expired - Fee Related
- 1981-04-21 SE SE8102494A patent/SE449801B/sv not_active IP Right Cessation
- 1981-04-21 CH CH2606/81A patent/CH654126A5/de not_active IP Right Cessation
- 1981-04-21 FR FR8107897A patent/FR2481485B1/fr not_active Expired
- 1981-04-22 JP JP5992681A patent/JPS56169453A/ja active Granted
-
1989
- 1989-08-25 JP JP1217654A patent/JPH02180450A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
NL8002346A (nl) | 1981-11-16 |
SE8102494L (sv) | 1981-10-24 |
CH654126A5 (de) | 1986-01-31 |
CA1164968A (en) | 1984-04-03 |
US4418386A (en) | 1983-11-29 |
JPH023577B2 (de) | 1990-01-24 |
FR2481485A1 (fr) | 1981-10-30 |
JPH02180450A (ja) | 1990-07-13 |
JPH035102B2 (de) | 1991-01-24 |
DE3115453A1 (de) | 1982-04-15 |
GB2074819A (en) | 1981-11-04 |
AU544216B2 (en) | 1985-05-23 |
IT8121288A0 (it) | 1981-04-17 |
AU6959781A (en) | 1981-10-29 |
JPS56169453A (en) | 1981-12-26 |
SE449801B (sv) | 1987-05-18 |
GB2074819B (en) | 1984-08-30 |
IT1135779B (it) | 1986-08-27 |
FR2481485B1 (fr) | 1987-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3115453C2 (de) | ||
EP1814263B1 (de) | Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens Zwei mit einem Bussystem verbundenen Teilnehmern | |
DE3300261C2 (de) | ||
DE2901762C2 (de) | Datenübertragungsanlage | |
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE10291119B4 (de) | Verfahren und Vorrichtung zur Synchronisation der Zykluszeit von mehreren Bussen, wobei mindestens einer der Busse ein TTCAN Bus ist, sowie entsprechendes Bussystem | |
DE2731188A1 (de) | Datenverarbeitungssystem | |
DE2523399A1 (de) | Datenverarbeitungssystem mit eingabe/ausgabeprozessoren | |
DE4104601A1 (de) | Empfangsdatenverarbeitungsanlage | |
DE69433232T2 (de) | Digitales Nachrichtennetz mit Auswahlprozess einer Moderatorstation | |
DE3882192T2 (de) | Schnittstelleanordnung für die Verbindung zwischen einerseits getrennten Stationen und andererseits einem für den Nachrichtenverkehr zwischen diesen Stationen benutzten physikalischen Mittel. | |
DE3103786A1 (de) | Datenuebertragungssystem | |
DE3400464A1 (de) | Datenuebertragungssystem | |
DE10208650A1 (de) | Verfahren und Vorrichtung zur Synchronisation wenigstens eines Teilnehmers eines Bussystems und Bussystem | |
DE102018001574B4 (de) | Master-Slave Bussystem und Verfahren zum Betrieb eines Bussystems | |
EP1428340B1 (de) | Verfahren und vorrichtung zur erzeugung von programmunterbrechungen bei teilnehmern eines bussystems und bussystem | |
DE3539510A1 (de) | Verfahren und einrichtung zur uebertragung von nachrichten zwischen verschiedenen stationen ueber ein lokales verteilernetz | |
DE69612092T2 (de) | Digitales datenbussystem mit arbitrierung | |
EP0175095B1 (de) | Datenübertragungsverfahren über einen Multiprozessorbus | |
DE60211874T2 (de) | Anordnung von zwei Geräten, verbunden durch einen Kreuzvermittlungsschalter | |
DE2629401C2 (de) | ||
DE102012204536A1 (de) | Netzwerk und Verfahren zur Übertragung von Daten über ein gemeinsames Übertragungsmedium | |
DE69626090T2 (de) | System zur Regulierung von Informationsströmen für eine Paketvermittlungsstelle | |
DE68906224T2 (de) | Zentrale datenverarbeitungseinheit fuer ein datenverarbeitungssystem. | |
EP1554660B1 (de) | Verfahren und vorrichtung zum senden von nachrichten über ein datennetzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: H04L 11/00 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |