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
Application number
DE3115453A
Other languages
English (en)
Other versions
DE3115453A1 (de
Inventor
Hendrik Eindhoven Nl Vrielink
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE3115453A1 publication Critical patent/DE3115453A1/de
Application granted granted Critical
Publication of DE3115453C2 publication Critical patent/DE3115453C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus 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:
Beispiel
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)
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)
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)
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)
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)
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)
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)
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)
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)
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 ij, 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ß ij 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 CRCr+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 btbt+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: CRCR+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.
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
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.
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.
DE3115453A 1980-04-23 1981-04-16 Datenuebertragunssystem mit mehreren datenquellen und datenempfaengern und mit kommunikationsbus Granted DE3115453A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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