PatentDe  


Dokumentenidentifikation DE69323662T2 22.07.1999
EP-Veröffentlichungsnummer 0579397
Titel Verfahren zur Bestimmung von Geräten, die die Übertragung von Datensignalen auf einem Bus anfordern
Anmelder Xerox Corp., Rochester, N.Y., US
Erfinder Nguyen, Uoc H., Long Beach, California 90807, US;
Su, Sam S., Rowland Heights, California 91748, US;
Cheung, Li-Fung, Alhambra, California 91803, US
Vertreter Grünecker, Kinkeldey, Stockmair & Schwanhäusser, Anwaltssozietät, 80538 München
DE-Aktenzeichen 69323662
Vertragsstaaten DE, FR, GB
Sprache des Dokument En
EP-Anmeldetag 24.06.1993
EP-Aktenzeichen 933049652
EP-Offenlegungsdatum 19.01.1994
EP date of grant 03.03.1999
Veröffentlichungstag im Patentblatt 22.07.1999
IPC-Hauptklasse G06F 13/362
IPC-Nebenklasse G06F 13/42   

Beschreibung[de]

Die vorliegende Erfindung betrifft ein Verfahren zum Bestimmen von Geräten, die eine Übertragung von Datensignalen auf einem Bus anfordern, und insbesondere ein Verfahren, um Datensignale nur dann auf einem Bus zu übertragen, wenn sowohl das Quellen- wie das Zielgeräte für eine Übertragung der Datensignale bereit sind.

Eine gewöhnliche Anordnung für Mikrocomputersysteme der unteren Preisklasse plaziert Systemelemente wie die zentrale Verarbeitungseinheit (CPU), den Hauptspeicher (z. B. einen Speicher mit wahlfreiem Zugriff (RAM)), einen Nur-Lese- Speicher (ROM) sowie Eingabe-/Ausgabe-Geräte (I/O) auf demselben Bus. Die Kommunikation auf dem Bus erfolgt über die CPU, wobei diese Anordnung eine nicht annehmbar langsame Datenübertragung (zum Beispiel von einem I/O-Gerät zum RAM) zur Folge haben kann. Weiterhin müssen Geräte mit einer niedrigeren Priorität auf dem Bus lange auf eine Datenübertragung warten.

In Antwort auf diese Mängel wurden Direktspeicherzugriff-Controller (DMA- Controller, DMA = Direct Memory Access) entwickelt. Ein DMA-Controller ist mit dem Hauptbus verbunden und für die Steuerung der Datensignalübertragungen auf dem Hauptbus zwischen dem RAM und den I/O-Geräten verantwortlich. Um die Datensignalübertragungen vorzunehmen, steuert ein DMA-Controller den Hauptbus, wenn derselbe nicht durch die CPU verwendet wird (Zyklusklau). Obwohl die DMA-Controller gewöhnlich zufriedenstellende Leistungen vorsehen, weisen DMA-Controller bestimmte Beschränkungen auf. Bei einem DMA-Controller ist die Datenübertragungsrate dadurch begrenzt, wie oft die CPU dem DMA-Controller die Übernahme der Kontrolle über den Bus erlaubt und wie lange der DMA-Controller die Kontrolle des Busses behalten kann. Weiterhin sind DMA-Controller nicht dafür ausgebildet, Datensignalübertragungen zwischen I/O-Geräten zu erleichtern: typischerweise überträgt ein DMA-Controller Datensignale wortweise von oder zu einer bestimmten (d. h. adressierten) Speicherstelle im RAM. Der DMA-Controller nimmt weiterhin typischerweise an, daß der RAM für das Empfangen eines Wortes bereit ist. Bei den meisten RAMs, die relativ schnelle Zugriffszeiten erlauben, ist dies eine relativ sichere Annahme; bei einem I/O-Gerät ist dies jedoch keine sichere Annahme.

Eine andere Antwort auf die bei der Verwendung von einem Bus auftretenden Mängel ist ein Zwischenebenen-Bus (Mezzanine-Bus). Ein Zwischenebenen-Bus ist ein zweiter Bus bzw. ein Hilfsbus, der parallel zu dem Hauptbus angeordnet ist und mit dem Hauptbus über eine Bus-zu-Bus-Schnittstelle verbunden ist. Der Zwischenebenen-Bus ist mit den meisten, wenn nicht mit allen I/O-Geräten verbunden, die sonst direkt mit dem Hauptbus verbunden sind. Auf diese Weise können die I/O- Geräte untereinander Datensignale auf dem Zwischenebenen-Bus übertragen, ohne daß sie dafür über den Hauptbus kommunizieren müssen. Der Zwischenebenen-Bus umfaßt einen Buscontroller und kann auch einen DMA-Controller umfassen. Obwohl Zwischenebenen-Busse im allgemeinen zufriedenstellende Leistungen aufweisen, insbesondere wenn sie in Kombination mit DMA-Controllern vorgesehen sind, sind weiterhin bestimmte Mängel bei der Übertragung von Datensignalen zwischen den I/O-Geräten gegeben. Zusätzlich zu den weiter oben erläuterten Mängeln der DMA- Controller, wird bei der Verwendung des Zwischenebenen-Busses typischerweise nicht die besondere Natur der Übertragungen zwischen den I/O-Geräten berücksichtigt. Obwohl nämlich im voraus nicht bekannt ist, wann I/O-Geräte Datensignale an andere I/O-Geräte übertragen müssen, ist häufig im voraus bekannt, was I/O- Geräte miteinander kommunizieren müssen.

Die vorliegende Erfindung gibt ein Verfahren zum Bestimmen der Bereitschaft von Geräten in einem digitalen Bussystem zum Übertragen von Datensignalen an. Das Bussystem umfaßt einen Bus mit einer Taktleitung zum Kommunizieren eines Taktsignals, Adreßleitungen zum Kommunizieren von Adreßsignalen, Datenleitungen zum Kommunizieren von Datensignalen und Steuerleitungen zum Kommunizieren von Steuersignalen. Das Bussystem umfaßt auch eine Vielzahl von Geräten. Jedes Gerät ist mit dem Bus verbunden und weist eine Identifikation oder Adresse auf dem Bus auf. Wenigstens ein Gerät ist ein Quellengerät, das Datensignale senden kann, und wenigstens ein Gerät ist ein Zielgerät, das Datensignale empfangen kann. Ein Buscontroller ist mit dem Bus verbunden und steuert den Bus. Die Steuerleitungen umfassen Busanforderungsleitungen, die jedes Gerät mit dem Bus controller verbinden, um ein Busanforderungssignal von einem Gerät zum Buscontroller zu kommunizieren. Das Busanforderungssignal gibt an, daß das Gerät zum Senden oder Empfangen von Datensignalen bereit ist. Der Buscontroller umfaßt eine Übereinstimmungslogik, die die Identitäten von vorbestimmten Paaren von Quellen- und Zielgeräten speichert, zwischen denen die Übereinstimmungslogik eine Übertragung von Daten erlaubt. Die Übereinstimmungslogik empfängt die Busanforderungssignale und bestimmt auf der Basis der Busanforderungssignale, ob ein bestimmtes erlaubtes Paar aus einem Quellen- und einem Zielgerät für das Senden und Empfangen von Datensignalen bereit ist. In Übereinstimmung mit diesem Verfahren erzeugt ein Quellengerät ein Busanforderungssignal auf den Busanforderungsleitungen, das angibt, ob das Quellengerät zum Senden der Datensignale auf den Datenleitungen bereit ist. Als nächstes erzeugt ein Zielgerät ein Busanforderungssignal auf den Busanforderungsleitungen, das angibt, ob das Zielgerät zum Empfangen von Datensignalen auf den Datenleitungen bereit ist. Schließlich empfängt die Übereinstimmungslogik das durch das Quellengerät erzeugte Busanforderungssignal und das durch das Zielgerät erzeugte Busanforderungssignal und entscheidet auf der Basis der empfangenen Busanforderungssignale, ob das Quellen- /Zielgerät-Paar zum Senden und Empfangen von Datensignalen bereit ist, vorausgesetzt, daß das Quellen-/Zielgerät-Paar Datensignale übertragen darf.

Lediglich beispielhaft wird im folgenden eine Ausführungsform der vorliegenden Erfindung mit Bezug auf die beigefügten Zeichnungen beschrieben, wobei

Fig. 1 ein System-Blockdiagramm eines Bussystems in Übereinstimmung mit dem Verfahren der vorliegenden Erfindung ist, das einen lokalen Bus, einen lokalen Buscontroller sowie mit dem lokalen Bus verbundene Geräte umfaßt.

Fig. 2 ein Blockdiagramm eines der in Fig. 1 gezeigten Geräte ist,

Fig. 3 ein Blockdiagramm des in Fig. 1 gezeigten lokalen Buscontrollers ist,

Fig. 4 ein Zeitdiagramm ist, das die Zeitsteuerung der Datensignale zeigt, wobei eine einzelne Kommunikationsanforderung dargestellt ist, die unter der Steuerung des Buszuteilungssignals von einem Quellengerät zu einem Zielgerät gesendet wird,

Fig. 5 ein Blockdiagramm ist, das die Struktur der Steuerlogik des lokalen Buscontrollers von Fig. 3 mit der Übereinstimmungslogik zeigt,

Fig. 6 ein Blockdiagramm ist, das die Struktur der Übereinstimmungslogik der in Fig. 5 dargestellten Steuerlogik zeigt, und

Fig. 7 ein Zeitdiagramm ist, das die Zeitsteuerung der Busanforderungssignale zeigt.

Im folgenden wird auf Fig. 1 Bezug genommen, die ein System-Blockdiagramm des Steuer-Teilsystems 100 zum Steuern eines Laserdruckers (nicht gezeigt) zeigt. Das Steuer-Teilsystem 100 umfaßt einen Mikrocomputer 16 mit einem eingebetteten Controller 20 und einem Speicher 22 (d. h. ROM und RAM), die über den Hauptbus 18 verbunden sind. Vorzugsweise ist der eingebettete Controller 22 ein AMD 29200, d. h. ein 32-Bit-Gerät. Das Steuer-Teilsystem 100 umfaßt weiterhin einen durch den Buscontroller 12 gesteuerten lokalen Bus 10 sowie fünf mit dem Bus 10 verbundene Geräte 14. Die Geräte 14 umfassen spezialisierte Hardware, die dafür ausgebildet ist, einige der mit dem Drucken verbundenen Verarbeitungsaufgaben durchzuführen, etwa die Geräte 14-1, 14-3. Die Geräte 14 umfassen auch ein Gerät 14-4, das eine Schnittstelle mit einem xerographischen Druckermechanismus (nicht gezeigt) herstellt, ein Gerät 14-5 für die Verbindung des lokalen Busses 10 mit den Laufwerken 4 und ein Gerät 14-2 für die Verbindung des lokalen Busses mit einem lokalen Netzwerk (LAN) 2. Der lokale Bus 10 wird parallel zu dem Hauptbus 8 betrieben und entlastet den Hauptbus 18 bezüglich der Datensignalübertragungen zwischen den Geräten 14. Der lokale Bus 10 ist über den Buscontroller 12 mit dem Hauptbus 18 verbunden.

Im folgenden wird auf Fig. 1, 2, 3 und 4 Bezug genommen, die einen lokalen Bus 10 zeigen, der ein synchroner, paralleler, digitaler Hochgeschwindigkeits-Bus ist, der in der Lage ist, Datensignale 25 zwischen den Geräten 14 sowie zwischen den Geräten 14 und dem Buscontroller 12 auszutauschen. Der lokale Bus 10 umfaßt eine Taktleitung 23 zum Kommunizieren eines Hochgeschwindigkeits-Taktsignals 61, Datenleitungen 24 zum Kommunizieren von Datensignalen 25, Adreßleitungen 26 zum Kommunizieren von Adreßsignalen 27 und Steuerleitungen 28 zum Kommunizieren von Steuersignalen, wie etwa einem Buszuteilungssignal 63. Das Taktsignal 61 weist vorzugsweise eine Frequenz von 20 MHz oder mehr auf, um eine Hochgeschwindigkeitsübertragung von Datensignalen 25 zu erlauben.

DER LOKALE BUS

Die Adreßleitungen 26 kommunizieren Adreßsignale 27 vom Buscontroller 12 zu den Geräten 14 für zwei verschiedene Zwecke. Der Buscontroller 12 verwendet die Adreßleitungen 26 in Verbindung mit Datenleitungen 24 und bestimmten Steuerleitungen 28, um ein bestimmtes Gerät 14, etwa das Gerät 14-1, mit einer oder mehreren Adressen auf dem lokalen Bus 10 zu programmieren. Wenn das Gerät 14-1 mit einer Adresse programmiert wurde, kann der Buscontroller 12 die Adreßleitungen 26 verwenden, um das Gerät 14-1 tatsächlich zu adressieren. Das Programmieren der Geräteadressen wird ausführlicher in der parallel anhängigen europäischen Anmeldung 93 304 966.0 beschrieben.

Vorzugsweise kann jedes Gerät 14 sowohl Datensignale 25 senden wie dieselben empfangen. Jedes Gerät 14 weist eine separate, programmierbare Adresse zum Senden von Datensignalen 25 auf, die als Quellenadresse 37 bezeichnet wird. Jedes Gerät 14 weist auch eine separate, programmierbare Adresse zum Empfangen von Datensignalen 25 auf, die als Zieladresse 33 bezeichnet wird. Ein bestimmtes Gerät 14 kann eine Vielzahl von Quellenadressen 37 oder Zieladressen 33 oder eine Vielzahl von sowohl Quellenadressen 37 wie Zieladressen 33 aufweisen.

Die Adreßleitungen 26 bestehen aus zehn parallelen Leitungen. Mit zehn parallelen Leitungen können die Adreßleitungen 2¹&sup0; oder 1024 separate Adressen adressieren. Natürlich müssen nicht alle Adressen verwendet werden (Fig. 1 zeigt zum Beispiel nur fünf Geräte 14 für eine Verwendung von insgesamt zehn Adressen 33 und 37), wobei die Anzahl der verfügbaren Adressen 33 und 37 variiert werden kann, indem die Anzahl der Adreßleitungen 26 erhöht oder vermindert wird.

Vorzugsweise werden die Adreßsignale 27 für die Quellenadressen 37 alle über die untere Hälfte 26-1 (d. h. über die fünf niedrigerwertigen Bits) der Adreßleitungen 26 übertragen und werden die Adreßsignale 27 für die Zieladressen 33 alle über die obere Hälfte 26-2 (d. h. die fünf höherwertigen Bits) der Adreßleitungen 26 übertragen. Das Adressierungsschema reduziert die Anzahl der verfügbaren Adres sen auf zweiunddreißig (d. h. 2&sup5;) Zieladressen 33 und zweiunddreißig Quellenadressen 37, wobei aber auch die Hardware für die Adreßcodierung und -decodierung vereinfacht wird, wie weiter unten erläutert wird.

Vorzugsweise sind zweiunddreißig parallele Datenleitungen 24 vorgesehen, die es ermöglichen, daß die Datensignale 25 als Zweiunddreißig-Bit-Wörter 55 kommuniziert werden. Natürlich kann auch eine geringere oder eine höhere Anzahl von Datenleitungen 24 verwendet werden (z. B. auch acht Datenleitungen 24 oder vierundsechzig Datenleitungen 24, die jeweils Acht-Bit- und Vierundsechzig-Bit- Wörter 55 ermöglichen). Eine Wortgröße von zweiunddreißig Bit wird in Übereinstimmung mit der Wortgröße des Mikrocomputers 16 und des Hauptbusses 18 gewählt, was die Datenübertragung zwischen dem Bus 18 und dem lokalen Bus 10 erleichtert.

Im folgenden wird auf Fig. 1 und 4 Bezug genommen. Die Datensignale 25 werden über die Datenleitungen 24 in Blöcken oder Gruppen 53 mit einer festen Anzahl von Zweiunddreißig-Bit-Wörtern 55 gesendet. Die Festlegung der Größe eines Blockes 53 reduziert den für die Übertragung des Blockes 53 erforderlichen Aufwand. Natürlich erfordert eine feste Blockgröße manchmal das Einfügen von Dummy-Wörtern 55 in den Block 53, damit die Wörter in einem teilweise vollen Puffer 36 weiterhin als voller Block 52 gesendet werden können. Fig. 5 zeigt zwei Datenübertragungen 57. Vorzugsweise beinhaltet jede Datenübertragung 57 das Senden von Blöcken 53 mit jeweils acht Wörtern 55. Natürlich kann die Größe der Blöcke 53 mit mehr oder weniger als acht Wörtern gewählt werden.

GERÄTE

Im folgenden wird auf Fig. 1, 2 und 4 Bezug genommen. Jedes Gerät 14 umfaßt einen mit den Leitungen 24 verbundenen Puffer 32 zum Speichern von Datensignalen 25, die auf den Leitungen 24 gesendet und auf den Adreßleitungen 26-1 an die Zieladresse 33 des Gerätes 14 adressiert werden. Der Zielpuffer 32 ist vorzugsweise ein FIFO mit einer Größe von zweiunddreißig mal acht Bit, damit der Puffer 32 einen ganzen Block 53 mit acht Zweiunddreißig-Bit-Wörtern 55 speichern kann. Natürlich kann der Puffer 53 tiefer gewählt werden, damit der Puffer 32 die Datenwörter 55 von mehreren Blöcken 53 speichern kann.

Der Zielpuffer 32 wird durch einen Gerätecontroller 34 gesteuert. Der Gerätecontroller 34 umfaßt ein Ziel-Adreßregister 35, das die Zielidentifikation oder -adresse 33 des Gerätes 14 enthält. Die besondere Zieladresse 33 im Ziel- Adreßregister 35 kann durch den Buscontroller 12 programmiert werden.

Jedes Gerät 14 enthält auch einen mit den Datenleitungen 24 verbundenen Quellenpuffer 36 zum Speichern der Datensignale, die das Gerät 14 von der Quellenadresse des Gerätes 14 auf den lokalen Bus 10 senden möchte. Ähnlich wie der Zielpuffer 32 ist der Puffer 36 ein FIFO mit einer Breite von zweiunddreißig Bit und einer Tiefe von acht Bit, der durch den Gerätecontroller 34 gesteuert wird. Der Gerätecontroller umfaßt ein Quellen-Adreßregister 39, das die Quellenidentifikation oder -adresse 37 des Gerätes 14 enthält. Die besondere Quellenadresse 27 im Quellen-Adreßregister 39 kann durch den Buscontroller 12 programmiert werden.

FIFOs sind für die Puffer 32 und 36 vorzuziehen, da diese eine schnelle Eingabe und Ausgabe der Blöcke 53 aus Wörtern 55 erlauben. Weiterhin erlaubt die Verwendung von FIFOs für die Puffer 32 und 36, daß die Geräte 14 asynchron zum lokalen Bus 10 betrieben werden. Die interne Taktrate des Gerätes 14 kann sich also von der Rate des Taktsignals 61 des lokalen Busses 10 unterscheiden.

LOKALBUSCONTROLLER

Im folgenden wird auf Fig. 1 und 3 Bezug genommen. Der Buscontroller 12 umfaßt eine Steuerlogik 6 und eine Busschnittstelle 19. Die Busschnittstelle 19 verbindet den Hauptbus 18 und den lokalen Bus 10. Die Steuerlogik 6 bestimmt, welche Datenübertragungen 57 auf dem lokalen Bus 10 angefordert werden und entscheidet, wann und in welcher Reihenfolge die Datenübertragungen 57 gestattet werden. Nur bestimmte Datenübertragungen 57 werden durch die Steuerlogik betrachtet, wie weiter unten erläutert wird.

Die Busschnittstelle 19 umfaßt die Puffer 41 und 42 sowie einen Schnittstellencontroller 44 zum Steuern der Busschnittstelle 19. Der Schnittstellencontroller 44 umfaßt jeweils die Hauptbus-Adreßregister 3 und 5 sowie jeweils die Lokalbus- Adreßregister 7 und 9 für die entsprechenden Puffer 41 und 42. Die Puffer 41 und 42 sind aus weiter unten erläuterten Gründen vorzugsweise FIFOs. Der Puffer 41 dient dazu, Datensignale 25 vom Hauptbus 18 auf den lokalen Bus 10 zu übertragen. Der Puffer 41 weist eine Zieladresse 43 auf dem Hauptbus 18 und eine Quellenadresse 37 auf dem lokalen Bus 10 auf. Die Zieladresse 43 ist im Hauptbus-Adreßregister 3 gespeichert. Vorzugsweise ist die Zieladresse 43 fest, oder es ist zumindest ein Defaultwert für die Adresse 43 für den Mikrocomputer 16 bekannt. Die Quellenadresse 37 kann im Lokalbus-Adreßregister 7 programmiert und gespeichert werden. Während des Betriebs speichert der Puffer 41 vom Bus 18 empfangene und an den Puffer 41 adressierte Datensignale. Auf Anweisung des Buscontrollers 12 überträgt der Puffer 41 die vom Hauptbus 18 empfangenden Datensignale 25 zum lokalen Bus 10.

Der Puffer 42 dient dazu, Datensignale 25 vom Lokalbus 10 zum Hauptbus 18 zu übertragen. Der Puffer 42 weist eine programmierbare Zieladresse 33 auf dem lokalen Bus 10 und eine programmierbare Quellenadresse 45 auf dem Hauptbus 18 auf. Die Zieladresse 33 wird in einem Busadreßregister 9 gespeichert, und die Quellenadresse 45 wird im Hauptbus-Adreßregister 5 gespeichert. Während des Betriebs weist der Schnittstellencontroller 44 den Puffer 42 an, die vom lokalen Bus 10 empfangenden und ran die Zieladresse 33 des Puffers 42 adressierten Datensignale 25 zu speichern. Auf Anweisung des Buscontrollers 12 weist der Schnittstellencontroller 44 den Puffer 42 an, diese Datensignale 25 von einer Quellenadresse 45 auf dem Bus 18 auf den Hauptbus 18 zu schreiben.

Für die Geräte 14 auf dem lokalen Bus 10 erscheint die Busschnittstelle 19 wie ein anderes Gerät 14. Das heißt, die Datensignale 25 der Datenübertragungen 57 werden zu und von der Busschnittstelle 19 auf dem lokalen Bus 10 so gesendet, als ob die Busschnittstelle 19 ein weiteres Gerät 14 wäre. Das Erscheinen der Busschnittstelle 19 als Gerät 14 auf dem lokalen Bus 10 wird in Fig. 3 durch das Einschließen der Busschnittstelle 19 innerhalb eines gestrichelten Rechtecks 14-6 angegeben, so daß effektiv ein virtuelles Gerät 14-6 geschaffen wird. Symbolisch umfaßt das Gerät 14-6 die Lokalbus-Adreßregister 7 und 9 des Schnittstellencontrollers 44 und auch die Enden der Puffer 41 und 42 des benachbarten lokalen Busses 10.

Für den richtigen Betrieb erfordern die Geräte 14 und die Busschnittstelle 19 über die Programmierung der Ziel- und Quellenadressen 33 und 37 hinaus eine Programmierung und Steuerung durch den Buscontroller 12. Zum Beispiel sollte der Buscontroller 12 in der Lage sein, die entsprechenden Ziel- und Quellenpuffer 32 und 36 der Geräte 14 zu löschen oder zurückzusetzen. Für diese zusätzliche Steuerung und Programmierung umfassen der Gerätecontroller 34 jedes Geräts 14 und der Schnittstellencontroller 44 der Busschnittstelle 19 eine Bank 71 aus Befehlsregistern 73. Jedes Befehlsregister 73 kann durch den Buscontroller 12 mit einem Steuerwort 74 programmiert werden.

Der Buscontroller 12 verwendet die Steuerwörter 74, um die Geräte 14 und die Busschnittstelle 19 zu konfigurieren und zu steuern. Das Konfigurieren umfaßt das Programmieren der Adressen 33 und 37. Das Steuern umfaßt das Anweisen eines Gerätes 14, einen Selbsttest zu initiieren oder den Quellenpuffer 36 unmittelbar rückzusetzen. Bei den Geräten 14 sind die Adreßregister 35 und 39 vorzugsweise Teil einer Bank 71 aus Befehlsregistern 73 und keine separaten Registerstrukturen. Insbesondere sind das Ziel-Adreßregister 35 und das Quellen-Adreßregister 39 in der jeweils höherwertigen und niedrigwertigen Hälfte eines besonderen Befehlsregisters vorgesehen. Entsprechend sind die Zieladresse 33 und die Quellenadresse 37 in der jeweils höherwertigen und niedrigwertigen Hälfte des Steuerwortes 74 im Befehlsregister 73-1 vorgesehen. Weiterhin sind bei der Busschnittstelle 19 die Adreßregister 3, 5, 7 und 9 vorzugsweise ebenfalls ein Teil einer Bank 71 der im Schnittstellencontroller 44 enthaltenen Steuerregister 73. Die Programmierung der Steuerwörter 74 wird in der oben genannten gleichzeitig anhängigen Patentanmeldung 93 304 966.0 ausführlicher beschrieben.

Im folgenden wird auf Fig. 1, 2, 3, 4 und 5 Bezug genommen. Die Steuerlogik 6 des Buscontrollers 12 umfaßt eine Übereinstimmungslogik 80, einen Zuteiler 82 und ein Zustandsgerät 84. Die Übereinstimmungslogik 80 wird durch den Mikrocomputer 16 mit den möglichen Datenübertragungen programmiert, die durch die Steuerlogik 6 erlaubt werden können.

Die Geräte 14 teilen der Übereinstimmungslogik 80 mit, daß die Geräte 14 dazu bereit sind, Datensignale 25 zu senden oder zu empfangen, indem sie Busanforderungssignale 90 auf den Busanforderungsleitungen 88, die Teil der Steuerleitungen 28 sind, verwenden. Wenn die Übereinstimmungslogik 80 bestimmt, daß ein bestimmtes Paar aus einem Quellen- und einem Zielgerät 14 für eine Datenübertragung 57 bereit ist, informiert die Übereinstimmungslogik 80 den Zuteiler 82 über die Bereitschaft des bestimmten Paares durch Paarbereitschaftssignale 86 auf der Paarbereitschaftsleitung 87. Der Zuteiler 82 wählt eines von verschiedenen bereiten Paaren in Übereinstimmung mit einem Entscheidungsverfahren (nicht gezeigt) aus, das durch den Mikrocomputer 16 programmiert werden kann. Dem Fachmann sind mehrere Entscheidungsverfahren bekannt. Wenn der Zuteiler 82 ein bestimmtes Paar für die nächste Datenübertragung 57 auf dem Bus ausgewählt hat, wird diese Information zu dem Zustandsgerät 84 gesendet. Das Zustandsgerät 84 führt die tatsächliche Steuerung der Datenübertragungen 57 aus, vorzugsweise wie in der oben genannten gleichzeitig anhängigen Patentanmeldung 93 304 966.0 beschrieben.

DAS BESTIMMEN DER GERÄTE, DIE DIE ÜBERTRAGUNG VON DATENSIGNALEN ANFORDERN

Im folgenden wird auf Fig. 1, 2, 3, 4, 5 und 6 Bezug genommen. Die Steuerlogik 6 des Buscontrollers 12 bestimmt, welche Datenübertragungen 57 auf dem lokalen Bus 10 angefordert werden, indem die Übereinstimmungslogik 80 zusammen mit den Busanforderungsleitungen 88 verwendet wird. Die Busanforderungsleitungen 88 sind ein Teil der Steuerleitungen 28. Eine eigene Busanforderungsleitung 88 verbindet jedes Gerät 14 mit der Steuerlogik 6. Für das Gerät 14-6 in der Busschnittstelle 19 ist intern eine Busanforderungsleitung 88 vorgesehen. Die Busanforderungsleitungen 88 übertragen jeweils ein Busanforderungssignal 90, das der Übereinstimmungslogik 80 signalisiert, daß der Quellenpuffer 36 dieses bestimmten Gerätes 14 zum Senden von Datensignalen 25 bereit ist, daß der Zielpuffer 32 dieses bestimmten Gerätes 14 zum Empfangen von Datensignalen 25 bereit ist oder daß beide Puffer 32 und 36 bereit sind.

Es sind maximal zweiunddreißig Busanforderungsleitungen 88 erforderlich, jeweils eine für jedes mögliche Gerät 14, das mit dem lokalen Bus 10 verbunden sein kann. Da das Gerät 14-6 jedoch intern im Buscontroller 12 vorgesehen ist, sind physikalisch nur maximal einunddreißig Busanforderungsleitungen 88 außerhalb des Buscontrollers 12 erforderlich.

Das Busanforderungssignal 90 wird auf der Busanforderungsleitung 88 gemultiplext, so daß nur eine einzige Busanforderungsleitung 88 erforderlich ist, um Information über die Bereitschaft beider Puffer 32 und 36 zu übertragen. Um das Busanforderungssignal 90 zu erzeugen, umfaßt die Steuerlogik 34 jedes Gerätes 14 einen Busanforderungs-Multiplexer 92. Um das Busanforderungssignal 90 wieder zu demultiplexen umfaßt die Steuerlogik 6 einen Busanforderungs-Demultiplexer 94. Um den Busanforderungs-Multiplexer 92 und den Busanforderungs-Demultiplexer 94 zu takten, umfaßt die Steuerlogik 6 weiterhin einen Multiplexsignal-Generator 95. Der Multiplexsignal-Generator 95 erzeugt ein Multiplexsignal 97, das auf der Multiplexleitung 99, einer einzelnen Steuerleitung 28, zu dem Busanforderungs-Multiplexer 92 und intern zu dem Demultiplexer 94 transportiert wird.

Fig. 6 zeigt ein detaillierteres Blockdiagramm der Übereinstimmungslogik 80 und des Busanforderungs-Demultiplexers 94. Der Busanforderungs-Demultiplexer 94 umfaßt zweiunddreißig Demultiplexer 102. Mit jeder Busanforderungsleitung 88 ist jeweils ein eigener Demultiplexer 102 verbunden. Jeder Demultiplexer 102 ist ein 2 : 1-Demultiplexer, der unter der Steuerung des Multiplexsignals 97 das entsprechende Busanforderungssignal 90 in ein Quellen-Busanforderungssignal 104 und ein Ziel-Busanforderungssignal 106 demultiplext. Die Signale 104 und 106 werden über entsprechende Leitungen 108 und 110 zu der Übereinstimmungslogik 80 geleitet.

Fig. 7 zeigt die Zeitbeziehung zwischen dem Multiplexsignal 97, dem Taktsignal 61 und dem Busanforderungssignal 90-1 des Gerätes 14-1. Weiterhin sind Quellenpuffer- und Zielpuffersignale 104-1 und 106-1 gezeigt, die dem Busanforderungssignal 90-1 des Gerätes 14-1 entsprechen. Das Multiplexsignal 97 ist eine Rechteckwelle mit der halben Frequenz des Taktsignals 61, um eine rapide Aktualisierung der Busanforderungssignale 90 vorzusehen. Wenn das Multiplexsignal 97 eine logische 1 ist, überträgt jeder Multiplexer 92 als Busanforderungssignal 90 den Bereitschaftsstatus des entsprechenden Quellenpuffers 36. Wenn das Multiplexsignal 97 eine logische 0 ist, überträgt jeder Multiplexer 92 als Busanforderungssignal 90 den Bereitschaftsstatus des entsprechenden Zielpuffers 32. Das heißt, das Busanforderungssignal 90-1 gibt den Bereitschaftsstatus des Quellenpuffers 36-1 während der ungeraden Perioden des Taktsignals 61 wieder und gibt den Bereitschaftsstatus des Zielpuffers 32-1 während der geraden Perioden des Taktsignals 61 wieder. Ein Bereitschaftsstatus wird hier durch eine logische 1 und ein Nicht-Bereitschaftsstatus durch eine logische 0 angegeben. Dabei sollte dem Fachmann deutlich sein, daß andere Signale für die Signale 90 und 97 verwendet werden können (z. B. eine logische 0 für bereit anstelle einer logischen 1).

Für Fig. 7 soll angenommen werden, daß der Quellenpuffer 36-1 vor der ersten Periode des Taktsignals 61 bereit ist (d. h. der Status eine logische 1 ist), beim Start der dritten Periode des Taktsignals 61 nicht mehr bereit ist und für den Rest des Zeitdiagramms nicht-bereit bleibt. Entsprechend soll angenommen werden, daß der Zielpuffer 32-2 vor der ersten Periode bereit ist und bis zum Start der siebten Periode bereit bleibt. Währen der ersten Taktperiode des Taktsignals 61 ist das Busanforderungssignal 90-1 dann eine logische 1 und ist das Quellenpuffer- Anforderungssignal 104-1 eine logische 1. Dabei ist zu beachten, daß das Zielpuffer- Anforderungssignal eine logische 1 ist, was die Ereignisse vor der ersten Periode des Taktsignals 61 widerspiegelt.

In der zweiten Periode des Taktsignals 61 ist das Multiplexsignal 97 eine logische 0, so daß die Busanforderungssignale 90 den Status der entsprechenden Zielpuffer 32 wiedergeben. Insbesondere ist das Puffer-Anforderungssignal 90-1 eine logische 1 und ist das Zielpuffer-Anforderungssignal 106-1 auch eine logische 1. Das Quellenpuffer-Anforderungssignal 104-1 bleibt eine logische 1, was die Ereignisse der vorhergehenden Periode widerspiegelt. In der dritten Periode geht das logische Signal 90-1 zu einer logischen 0 über, und das Quellenpuffer-Anforderungssignal 104-1 geht für die Dauer des Zeitdiagramms zu einer logische 0 über.

Dabei ist zu beachten, daß das Ziel-Busanforderungssignal 106-1 in Periode sieben eine logische 1 bleibt, obwohl der Zielpuffer 32-1 nicht mehr bereit ist. Nicht vor der nächsten Periode wird der wahre Zustand der Bereitschaft des Zielpuffers 32-1 zu der Übereinstimmungslogik 80 geleitet. Mit hoher Wahrscheinlichkeit ist der Zielpuffer 32-1 nicht mehr bereit, weil das Zustandsgerät 84 eine Anforderung für eine Datenübertragung 57 zwischen dem Zielpuffer 32-1 und dem Quellenpuffer 36 eines anderen Gerätes 14 (oder auch dem Quellenpuffer 36-1 des Gerätes 14) gewährt hat, was eine Situation darstellt, der durch den Zuweiser 82 und das Zustandsgerät 84 bei deren Steuerung der Datenübertragungen 57 Rechnung getragen wird.

Im folgenden wird auf Fig. 6 Bezug genommen. Die Übereinstimmungslogik 80 umfaßt mehrfach programmierbare Übereinstimmungseinheiten 112. Jede Übereinstimmungseinheit 112 umfaßt ein Quellen-Adreßregister 114 und ein Ziel-Adreßregister 116. Der Mikrocomputer 16 programmiert die Adreßregister 114 und 116 jeder Übereinstimmungseinheit 112 mit entsprechenden Quellengerät- und Zielgerät- Adressen 118 und 120. Zusammen identifizieren die Adressen 118 und 120 ein Paar von Geräten 14, denen die Übertragung von Datensignalen 25 durch die Übertragungslogik 80 gestattet wird. Die Anzahl von Übereinstimmungseinheiten 112 bestimmt die Anzahl der Paare 86, die die Übereinstimmungslogik 80 überwachen kann. In Fig. 6 sind zum Beispiel zwölf Übereinstimmungseinheiten 112 für zwölf mögliche Paare gezeigt. Natürlich kann die Anzahl der Übereinstimmungseinheiten 112 erhöht oder vermindert werden, um die Anzahl der möglichen Paare zu verändern.

In jeder Übereinstimmungseinheit 112 steuern das Ziel-Adreßregister 116 und das Quellen-Adreßregister 118 die entsprechenden Ziel- und Quellen-Multiplexer 122 und 124. Der Ziel-Multiplexer 122 ist ein 32 : 1-Multiplexer: der Multiplexer 122 weist als Eingaben die Leitungen 108, von denen zweiunddreißig vorgesehen sind, und als Ausgabe eine einzige Leitung 126 auf. Entsprechend ist der Quellen- Multiplexer 124 ein 32 : 1-Multiplexer, der als Eingaben die zweiunddreißig Leitungen 110 und als Ausgabe eine einzige Leitung 128 aufweist. In jeder Übereinstimmungseinheit 112 sind die Ausgabeleitungen 126 und 128 die Eingaben in ein UND-Gatter 130. Die Ausgabe des UND-Gatters 130 ist ein Paar-Signal 86 auf der Leitung 87. Natürlich ist das Paar-Signal 86 nur dann eine logische 1, wenn die Ausgabeleitungen 126 und 128 logische Einsen sind.

Die Leitungen 108 leiten die Ziel-Busanforderungssignale 106 zu dem Ziel- Multiplexer 122. Die Leitungen 110 leiten die Quellen-Busanforderungssignale 104 zu dem Quellen-Multiplexer 124. Während des Betriebs gibt ein bestimmter Ziel- Multiplexer 122 nur dann eine logische 1 aus seiner entsprechenden Ausgabeleitung 126 aus, wenn ein Ziel-Busanforderungssignal 106 mit einer logischen 1 auf der Eingangsleitung 108 anliegt, das der Ziel-Adresse 120 im Ziel-Adreßregister 116 entspricht, das den besonderen Ziel-Multiplexer 122 steuert. Andernfalls ist eine logische 0 auf der Ausgabeleitung 126. Entsprechend gibt ein besonderer Quellen- Multiplexer 124 nur dann eine logische 1 auf seiner entsprechenden Ausgabeleitung 128 aus, wenn ein Quellen-Busanforderungssignal 104 mit einer logischen 1 auf der Eingabeleitung 110 anliegt, das der Quellenadresse 118 im Quellen-Adreßregister 118 entspricht, das den besonderen Quellen-Multiplexer 124 steuert. Andernfalls ist eine logische 0 auf der Ausgabeleitung 128. Dementsprechend gibt eine logische 1 für das Paar-Signal 86 die Bereitschaft für eine Datenübertragung 57 von den entsprechenden Quellen- und Zielpuffern 32 und 36 der entsprechenden Quellen- und Zielgeräte 14 an, die entsprechende Quellen- und Zieladressen 118 und 120 in entsprechenden assoziierten Quellen- und Ziel-Adreßregistern 114 und 116 aufweisen.

Vorzugsweise programmiert der Mikrocomputer 16 die Übereinstimmungseinheiten 112 der Übereinstimmungslogik 80, so daß ein Gerät 14 nur mit einem einzigen Gerät 14 als Quelle und mit einem einzigen Gerät 14 als Ziel gepaart wird. Wenn also ein bestimmtes Gerät 14 als die Zieladresse 120 im Ziel-Adreßregister 116 einer bestimmten Übereinstimmungseinheit 112 adressiert wird, dann sollte keine andere Übereinstimmungseinheit 112 das besondere Geräte 14 als Zieladresse 120 adressieren. Entsprechend sollte keine andere Übereinstimmungseinheit 112 das besondere Gerät 14 als Quellenadresse 118 adressieren, wenn das besondere Gerät 14 als die Quellenadresse 118 im Quellen-Adreßregister 114 einer bestimmten Übereinstimmungseinheit adressiert wird. Diese Beschränkung ist erforderlich, weil ein bestimmtes Busanforderungssignal 90 nur signalisieren kann, daß ein Quellenpuffer 36 und/oder ein Zielpuffer 32 eines bestimmten Gerätes 14 für eine Datenübertragung 57 bereit sind, jedoch nicht signalisieren kann, was für eine bestimmte Datenübertragung 57 angefordert wird, wenn mehr als eine mögliche Datenübertragung 57 in der Übereinstimmungslogik 80 programmiert sind.

Sollte es gewünscht werden, daß ein bestimmtes Gerät 14, etwa das Gerät 14-1, Datensignale 25 zu dem Gerät 14-2 überträgt und dann später Datensignale 25 zu dem Gerät 14-3 überträgt, dann besteht die richtige Prozedur für den Mikrocomputer 16 darin, zuerst die Adressen 120 und 118 für die erste Datenübertragung in eine Übereinstimmungseinheit 112 zu programmieren. Nach der ersten Datenübertragung 57 kann der Mikrocomputer 16 die Übereinstimmungseinheit mit den Adressen 120 und 118 für die zweite Datenübertragung programmieren.


Anspruch[de]

1. Verfahren zum Bestimmen der Bereitschaft von Geräten in einem digitalen Datenbussystem zum Übertragen von Datensignalen, wobei das Bussystem einen Bus mit einer Taktleitung zum Kommunizieren eines Taktsignals, Adreßleitungen zum Kommunizieren von Adreßsignalen, Datenleitungen zum Kommunizieren von Datensignalen, Steuerleitungen zum Kommunizieren von Steuersignalen, eine Vielzahl von Geräten, wobei jedes Gerät mit dem Bus verbunden ist und eine Adresse auf dem Bus aufweist, wenigstens ein Gerät eine Quelle ist, die Datensignale senden kann, und wenigstens ein Gerät ein Zielgerät ist, das Datensignale empfangen kann, sowie einen zum Steuern des Busses mit dem Bus verbundenen Buscontroller umfaßt, wobei die Steuerleitungen Busanforderungsleitungen umfassen, die jedes Gerät mit dem Buscontroller verbinden, um ein Busanforderungssignal von einem Gerät zum Buscontroller zu kommunizieren, wobei das Busanforderungssignal angibt, daß das Gerät zum Senden oder Empfangen von Datensignalen bereit ist, wobei der Buscontroller eine Übereinstimmungslogik enthält, in der die Identitäten von vorbestimmten Paaren aus einem Quellengerät und einem Zielgerät gespeichert sind, zwischen denen die Übereinstimmungslogik die Übertragung von Datensignalen erlaubt, um die Busanforderungssignale zu empfangen und auf der Basis der Busanforderungssignale zu bestimmen, ob ein bestimmtes erlaubtes Paar aus einem Quellen- und einem Zielgerät zum Senden und Empfangen von Datensignalen bereit ist, wobei das Verfahren folgende Schritte umfaßt:

Erzeugen, durch ein Quellengerät, eines Busanforderungssignals auf den Busanforderungsleitungen, das angibt, daß das Quellengerät zu Senden von Datensignalen auf den Datenleitungen bereit ist,

Erzeugen, durch ein Zielgerät, eines Busanforderungssignals auf den Busanforderungsleitungen, das angibt, ob das Zielgerät zum Empfangen von Datensignalen auf den Datenleitungen bereit ist, und

Empfangen, durch die Übereinstimmungslogik, des durch das Quellengerät erzeugten Busanforderungssignals und des durch das Zielgerät erzeugten Busanforderungssignals, und, vorausgesetzt ob das Paar aus dem Zielgerät dem Quellengerät ein Paar ist, daß Datensignale übertragen darf, Entscheiden auf der Basis der Busanforderungssignale, ob das Paar aus dem Zielgerät und dem Quellengerät zum Senden und Empfangen von Datensignalen bereit ist.

2. Digitales Datenbussystem mit einem Bus, der eine Taktleitung zum Kommunizieren eines Taktsignals, Adreßleitungen zum Kommunizieren von Adreßsignalen, Datenleitungen zum Kommunizieren von Datensignalen, Steuerleitungen zum Kommunizieren von Steuersignalen, eine Vielzahl von Geräten, wobei jedes Gerät mit dem Bus verbunden ist und eine Adresse auf dem Bus aufweist, wenigstens ein Gerät eine Quelle ist, die Datensignale senden kann, und wenigstens ein Gerät ein Zielgerät ist, das Datensignale empfangen kann, sowie einen zum Steuern des Busses mit dem Bus verbundenen Buscontroller umfaßt, wobei die Steuerleitungen Busanforderungsleitungen umfassen, die jedes Gerät mit dem Buscontroller verbinden, um ein Busanforderungssignal von einem Gerät zum Buscontroller zu kommunizieren, wobei das Busanforderungssignal angibt, daß das Gerät zum Senden oder Empfangen von Datensignalen bereit ist, wobei der Buscontroller eine Übereinstimmungslogik enthält, in der die Identitäten von vorbestimmten Paaren aus einem Quellengerät und einem Zielgerät gespeichert sind, zwischen denen die Übereinstimmungslogik die Übertragung von Datensignalen erlaubt, um die Busanforderungssignale zu empfangen und auf der Basis der Busanforderungssignale zu bestimmen, ob ein bestimmtes erlaubtes Paar aus einem Quellen- und einem Zielgerät zum Senden und Empfangen von Datensignalen bereit ist, wobei

ein Quellengerät angeordnet ist, um ein Busanforderungssignal auf den Busanforderungsleitungen zu erzeugen, das angibt, ob das Quellengerät zum Senden von Datensignalen auf den Datenleitungen bereit ist,

ein Zielgerät angeordnet ist, um ein Busanforderungssignal auf den Busanforderungsleitungen zu erzeugen, das angibt, ob das Zielgerät zum Empfangen von Datensignalen auf den Datenleitungen bereit ist, und

die Übereinstimmungslogik angeordnet ist, um das durch das Quellengerät erzeugte Busanforderungssignal und das durch das Zielgerät erzeugte Busanforderungssignal zu empfangen und, vorausgesetzt, daß das Paar aus dem Zielgerät und dem Quellengerät ein Paar ist, das Datensignale übertragen darf, auf der Basis der empfangenden Busanforderungssignale zu entscheiden, ob das Paar aus dem Zielgerät und dem Quellengerät zum Senden und Empfangen von Datensignalen bereit ist.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com