-
HINTERGRUND DER ERFINDUNG
-
Die
Erfindung betrifft allgemein das Gebiet der Prozeßsteuerungseinrichtungen
bzw. -geräte.
Im besonderen betrifft die Erfindung ein neues Datenbussystem und
-protokoll für
die Kommunikation zwischen Hauptsteuerknoten und Peripheriegeräten bei Prozeßsteuerungseinrichtungen
bzw. -geräten,
die nach dem MotorolaTM-SPI-Standardprotokoll
arbeiten.
-
Prozeßsteuerungseinrichtungen,
wie z. B. Geber und Steuergeräte,
werden zur Überwachung und/oder
Steuerung von Betriebsabläufen
eingesetzt. Bei einigen neueren Modellen enthalten diese Prozeßsteuerungseinrichtungen
eine Anzahl interner Geräte
oder Komponenten, wie z. B. einen Mikroprozessor, der als Haupt-
bzw. Master-Knoten arbeitet, und eine Anzahl von elektronischen
Peripheriegeräten,
die als untergeordnete bzw. Slave-Knoten dienen. Zu den elektronischen
Peripheriegeräten
gehören
beispielsweise Drucksensoren zur Messung von Betriebs- bzw. Prozeßdrücken, Temperatursensoren zur
Messung von Betriebs- bzw. Prozeßtemperaturen, Ventile zur
Steuerung eines Prozesses, Digital-Analog- und Analog-Digital-Wandler
zur Umwandlung von Daten, die zwischen Analog- und Digitalgeräten übertragen
werden, Übermittlungsabschnitte zum
Senden und Empfangen von Informationen über eine Zweidraht-Prozeßsteuerungsschleife,
Speichervorrichtungen zum Speichern von Anweisungen oder überwachten
Prozeßergebnissen
und Sichtgeräte zur
graphischen Darstellung bestimmter prozeßbezogener Informationen. Typischerweise
sind alle diese Geräte
in der Einrichtung enthalten oder in nächster Nähe der Einrichtung angeordnet.
Die Einrichtung kann irgendeine Kombination der oben erwähnten Slave-Knoten
(d. h. Peripheriegeräte)
aufweisen. Die verschiedenen Slave-Knoten in der Prozeßsteuerungseinrichtung
kommunizieren auf einem Datenbus, der jedes der Peripheriegeräte mit dem
Master-Knoten verbindet.
-
Häufig ist
der Master-Knoten in einer Prozeßsteuerungseinrichtung ein
Motorola- oder Motorola-kompatibler Mikroprozessor oder Mikrocontroller bzw.
Mikrosteuergerät.
Zum Beispiel werden die Motorola-Mikrocontroller 68HC05 und 68HC11
gewöhnlich
als Master-Knoten in Prozeßsteuerungseinrichtungen
eingesetzt. Diese und andere Mikrocontroller sind für den Betrieb
nach dem standardisierten Serial Peripheral Interface-(SPI) bus communication
protocol (Buskommunikationsprotokoll für serielle Peripherieschnittstellen)
konstruiert, das von Motorola in dem Referenzhandbuch M68HC11 definiert
wird, das hiermit durch Verweis einbezogen wird. Die Verwendung
von Mikroprozessoren oder Mikrocontrollern, die nach dem SPI-Protokoll arbeiten,
ist zwar unter vielen Umständen
vorteilhaft, aber das SPI-Protokoll selbst führt eine Reihe von nachteiligen
Datenbusbedingungen ein und hat einige Unzulänglichkeiten. Zum Beispiel
kann in Prozeßsteuerungseinrichtungen
die Größe der Geräte entscheidend
sein. Daher werden kleinere Leiterplatten (PCB) innerhalb der Prozeßsteuerungseinrichtung
bevorzugt. Beim SPI-Protokoll ist jedoch für jedes Peripheriegerät eine separate
Chipansteuerungs-(CS-)Datenbusleitung erforderlich, die an den Master-Knoten
anzuschließen
ist. Außer
dem größeren Leiterplatten(PCB)-Raumbedarf
für die
zusätzlichen
CS-Busleitungen erfordert diese Bedingung des Standard-SPI-Protokolls auch
zusätzliche
Anschlußstifte am
Master-Knoten-Chip.
Ein weiterer Nachteil des SPI-Protokolls betrifft die Probleme beim
Hinzufügen oder
Auswechseln des Master-Knotens
oder der Slave-Knoten. Typischerweise hat jedes Gerät, das auf dem
Datenbus der Prozeßsteuerungseinrichtung kommuniziert,
eine vorgegebene Adresse. Das Hinzufügen, Entfernen oder der Austausch
von Knoten erfordert, daß der
Bus und/oder die Adressierung angepaßt werden, um sie mit der Änderung
in Einklang zu bringen.
-
Wolf,
V., Datenakquisition mit dem SPI-Bus, 26. Juni 1987, Elektronik,
Bd. 36, Nr. 13, S. 96–98,
erläutert
eine MISO-Leitung, die zwischen einem Master-Steuergerät und jedem
der Peripheriegeräte
angeschlossen ist, um auf herkömmliche
Weise betrieben zu werden. Gemäß dem Standard-SPI-Protokoll ermöglicht die
in diesem Dokument erläuterte
MISO-Leitung eine einseitig gerichtete bzw. unidirektionale Kommunikation
von den untergeordneten bzw. Slave-Geräten zum Haupt- bzw. Master-Gerät.
-
US-A-5,072,374
betrifft ein Verfahren zur Kommunikation zwischen mehreren programmierbaren
Logik-Controllern (PLC), die durch einen gemeinsamen Bus miteinander
verbunden sind. Ein Verbindungssignal wird über den Master-PLC übertragen, um
den spezifischen Slave-PLC zu adressieren und auszuwählen, an
den der Master-PLC eine Nachricht übermitteln möchte. Der
Master-PLC übermittelt dann
ein Mailboxsignal, das Informationen bezüglich der Daten- und Nachrichtenlänge betreffend
eine nächste
Nachricht aufweist, wenn nicht alle Daten vom Master-PLC, die für den Slave-PLC
gedacht sind, in die Mailboxnachricht passen.
-
Wie
oben erläutert,
ist es offensichtlich, daß das
SPI-Protokoll eine
Reihe von Nachteilen bietet, besonders bei Datenbussen innerhalb
von Prozeßsteuerungseinrichtungen.
Die vorliegende Erfindung überwindet
diese und weitere Nachteile des Standard-SPI-Kommunikationsprotokolls.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung wird durch die Merkmale der Ansprüche spezifiziert.
-
Die
vorliegende Erfindung betrifft eine Prozeßsteuerungseinrichtung bzw.
ein -gerät
mit einem verbesserten Datenbusprotokoll zur Erleichterung der Kommunikation
zwischen internen Master-Knoten oder Mikroprozessoren und internen
Slave-Knoten oder
Peripheriegeräten.
Die Prozeßsteuerungseinrichtung
weist auf: mindestens einen nach dem Standard-SPI-Datenbusprotokoll
betriebenen Mikroprozessor, ein erstes und ein zweites Peripheriegerät und einen
mit dem Mikroprozessor, dem ersten und dem zweiten Peripheriegerät gekoppelten
Datenbus. Das in den erfindungsgemäßen Prozeßsteuerungseinrichtungen angewandte
verbesserte Datenbusprotokoll bietet zahlreiche vorteile, wie z.
B. einen geringeren Leiterplatten-Raumbedarf und eine größere Austauschbarkeit
von Peripherie- und Master-Knoten-Komponenten.
-
In
einigen Ausführungsformen
der erfindungsgemäßen Prozeßsteuerungseinrichtung
weist das verbesserte Datenbusprotokoll eine einzige Chipansteuerungs-(CS-)Datenbusleitung
auf, die mit den CS-Anschlüssen
an jedem der Master- und Slave-Knoten
gekoppelt wird. In anderen Ausführungsformen
entfallen die CS-Leitungen ganz. In weiteren Ausführungsformen
weist die Prozeßsteuerungseinrichtung
einen Datenbus mit einer zweiseitig gerichteten bzw. bidirektionalen
Master-In-Slave-Out-Leitung
(MISO-Leitung) auf, die so eingerichtet ist, daß sie die serielle Kommunikation
sowohl von Peripheriegeräten
zum Mikroprozessor als auch zwischen den Peripheriegeräten erleichtert.
In weiteren Ausführungsformen
sind die erfindungsgemäße Prozeßsteuerungseinrichtung,
die physikalische Datenbusverbindung und das Protokoll so angepaßt, daß den Peripheriegeräten dynamisch
Adressen für
die Kommunikation auf dem Datenbus zugewiesen werden können.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
1 zeigt
eine schematische Darstellung eines Teils eines Prozeßsteuerungssystems
mit einer Prozeßsteuerungseinrichtung
gemäß der vorliegenden
Erfindung, einer Prozeßrohrleitung
bzw. Verfahrensstromleitung und einem abgesetzten Gerät zur Überwachung
und Steuerung eines Prozesses.
-
2 zeigt
ein Blockdiagramm einer bevorzugten Ausführungsform der erfindungsgemäßen Prozeßsteuerungseinrichtung
mit nach dem SPI-Protokoll betriebenen Master-Knoten, Peripheriegeräten und
einem Datenbus, der die Master- und Slave-Knoten miteinander koppelt.
-
3 zeigt
ein Taktdiagramm zur Erläuterung
des in den erfindungsgemäßen Prozeßsteuerungseinrichtungen
verwendeten Datenbusprotokolls.
-
4 zeigt
eine schematische Darstellung einer Anweisungs-Bytestruktur, die
von den erfindungsgemäßen Master-
und Slave-Knoten verwendet wird.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORMEN
-
Die
vorliegende Erfindung weist ein verbessertes Datenbuskommunikationsprotokoll
für Prozeßsteuerungseinrichtungen bzw.
-geräte
auf der Basis der seriellen MotorolaTM-Peripherieschnittstelle (SPI)
auf. Die Erfindung kann zur Kommunikation zwischen Geräten oder
Komponenten verwendet werden, die an einen Datenbus der Einrichtung
angeschlossen sind. Typischerweise ist der Datenbus ein interner
Datenbus der Einrichtung. Das herkömmliche oder Standard-SPI-Protokoll
unterstützt
einen Master-Knoten und mehrere Slave-Knoten für synchrone bidirektionale
serielle Kommunikation. Das Standard-SPI-Protokoll erfordert für jeden
Slave-Knoten eine separate Chipansteuerungs-(CS-)Datenbusleitung. Das in den Prozeßsteuerungseinrichtungen
gemäß der vorliegenden
Erfindung verwendete Datenbusprotokoll verbessert das Standard-SPI-Protokoll,
indem es zuläßt, daß eine einzige
CS-Leitung mehrere Slave-Knoten steuert, indem es einen Zugriffsentscheidungsmechanismus bereitstellt,
damit mehrere Slave-Knoten aus eigener Initiative auf den Datenbus
zugreifen können,
und Partner-zu-Partner-Kopplungsfähigkeiten sowie Rundsendefähigkeiten
hinzufügt.
-
1 zeigt
eine schematische Darstellung eines Teils eines Prozeßsteuerungssystems
mit einer Steuerwarte 90, die mit einer Prozeßsteuerungseinrichtung 100 gekoppelt
ist, die einen Prozeß steuert oder überwacht.
Die Steuerwarte 90 ist modelliert als eine Spannungsquelle 92,
die mit einem Widerstand 94 in Reihe geschaltet ist. In
der dargestellten Anwendung auf einen industriellen Prozeß fließt ein Fluid 102 durch
eine Rohrleitung 104. Die Prozeßsteuerungseinrichtung 100,
die mit anderen Prozeßsteuerungseinrichtungen
oder mit einer Haupt- bzw. Master-Steuereinheit über eine Zweidrahtsteuerschleife oder
-leitung 106 kommuniziert, die den Schleifenstrom IL führt, überwacht
oder steuert ein abgesetztes bzw. entferntes Gerät 108 (wie z. B. einen
Motor oder Schalter) über
eine Verbindung 107, um den Prozeß zu überwachen oder zu steuern.
Zum Beispiel kann das abgesetzte Gerät 108 ein Ventil aufweisen,
während
die Prozeßsteuerungseinrichtung 100 einen Ventilstellungsregler
als Peripheriegerät
aufweist. Als Alternative kann das abgesetzte Gerät 108 einen Drucksensor,
einen Temperatursensor oder irgendeins aus einer großen Auswahl
von anderen, dem Fachmann bekannten abgesetzten Geräten aufweisen,
das in der Prozeßsteuerungsumgebung
eingesetzt wird. Häufig sind
mehrere Prozeßsteuerungseinrichtungen 100 an
die Zweidrahtsteuerschleife 106 gekoppelt, um verschiedene
Aspekte des Prozesses zu steuern oder zu überwachen.
-
2 zeigt
ein Blockdiagramm der Prozeßsteuerungseinrichtung,
das verschiedene an einen Datenbus 220 angeschlossene Geräte nach
bevorzugten Ausführungsformen
der vorliegenden Erfindung darstellt. Gemäß der Darstellung weist die
Prozeßsteuerungseinrichtung 100 einen
ersten Mikroprozessor 200 und einen zweiten Mikroprozessor 202 auf.
Die Prozeßsteuerungseinrichtung 100 ist zwar
mit zwei Mikroprozessoren dargestellt, kann aber in anderen Ausführungsformen
mehr oder weniger als zwei Mikroprozessoren aufweisen. Die Mikroprozessoren 200 und 202 sind
vorzugsweise Motorola- oder Motorolakompatible Mikroprozessoren
oder im Handel erhältliche
Steuergerätetypen,
die für
den Einsatz mit dem Standard-SPI-Protokoll
konstruiert oder angepaßt
sind. Typischerweise dient einer der Mikroprozessoren 200 und 202 als
Master-Knoten des Systems. Der andere dient typischerweise als Peripheriegerät oder Slave-Knoten.
-
Die
Prozeßsteuerungseinrichtung 100 weist außerdem einen
oder mehrere Slave-Knoten oder Peripheriegeräte 204, 206, 208, 210 und 212 auf.
Die Slave-Knoten der Prozeßsteuerungseinrichtung 100 sind
typischerweise integrierte Chips oder Geräte, die verschiedene Funktionen
ausführen,
die im Zusammenhang mit der Prozeßsteuerung oder -überwachung
stehen oder dafür
notwendig sind. Zum Beispiel ist das Peripheriegerät 204 ein Übermittlungsabschnitt
oder eine Schaltung zum Empfangen und/oder Senden von Informationen
und Anweisungen über
die Zweidraht-Prozeßsteuerschleife 106. Ferner
können
die Geräte
der Prozeßsteuerungseinrichtung 100 zwar
Energie von einer zugeordneten Stromquelle 214 empfangen,
aber in einigen Ausführungsformen
empfangen die Knoten der Prozeßsteuerungseinrichtung 100 Energie über die
Zweidrahtschleife 106 durch den Übermittlungsabschnitt 204.
-
Das
Peripheriegerät 206 kann
ein integriertes Chipspeicherelement aufweisen, um Programmierungsanweisungen
zur Verwendung durch die Master- oder Slave-Knoten oder Informationen
zu speichern, welche die Prozeßbedingungen
anzeigen. Das Peri pheriegerät 208 kann
einen Analog-Digital-Wandler (A/D-Wandler) zur Umwandlung von Informationen
aufweisen, die zwischen einem Gerät, wie z. B. einem Sensor 216,
und anderen Master- oder Slave-Knoten übertragen werden. Das Peripheriegerät 210 kann
einen Digital-Analog-Wandler (D/A-Wandler) aufweisen, um digitale
Informationen oder Anweisungen so umzuwandeln, daß sie durch ein
Analoggerät
genutzt werden können,
wie z. B. durch einen Ventilstellungsregler (Stellglied) 218,
der die Stellung eines Ventils 108 (1) steuert,
um den Prozeß zu
steuern. Der Sensor 216 kann irgendeine System- oder Prozeßvariable
messen, und der Stellungsregler 218 kann beispielsweise
irgendein Typ eines abgesetzten Geräts sein, das zur Steuerung
des Prozesses dient. Das Peripheriegerät 212 kann ein Anzeige- bzw. Sichtgerät sein,
wie z. B. eine Kathodenstrahlröhre
(CRT), eine Leuchtdiode (LED) oder eine Flüssigkristallanzeige (LCD) zur
Bereitstellung graphischer oder anderer visueller Darstellungen
von prozeßbezogenen
Informationen.
-
Jeder
der Slave-Knoten in der Prozeßsteuerungseinrichtung 100 weist
vorzugsweise auf: einen Unterbrechungsausgangsstift (INT-Stift)
oder -Anschluß zur
Erzeugung eines Unterbrechungssignals; einen Chipansteuerungsstift
(CS-Stift) oder -Anschluß zum
Empfangen eines CS-Signals, einen Schiebetaktstift (SCK-Stift) oder
-Anschluß zum Empfangen
eines Synchrontaktsignals, einen Master-Out-Slave-In-Stift (MOSI-Stift)
oder -Anschluß zum
Empfangen von seriell gesendeten Daten vom Master-Knoten, einen
zweiseitig gerichteten bzw, bidirektionalen Master-In-Slave-Out-Stift
(MISO-Stift) oder -Anschluß zum
seriellen Senden und Empfangen von Daten und einen Slave-Unterbrechungseingangsstift
(SLINT-Stift) oder -Anschluß zum
Empfangen von Unterbrechungssignalen. Der bidirektionale MISO-Anschluß an jedem
Slave-Knoten ist vorzugsweise für
die serielle Datenübertragung
vom Slave-Knoten zu einem Master-Knoten
oder zu anderen Slave-Knoten sowie für den Empfang von Daten eingerichtet,
die vom MISO-Anschluß anderer
Slave-Knoten übertragen
werden. In Ausführungsformen
der vorliegenden Erfindung, bei denen die Prozeßsteuerungseinrichtung 100 keinen
Master-Knoten oder Mikroprozessor aufweist, kann der MOSI-Anschluß an den
Slave-Knoten entfallen.
-
Der
Master-Knoten der Prozeßsteuerungseinrichtung 100 weist
vorzugsweise auf: einen Unterbrechungseingangsstift (SLINT-Stift)
oder -Anschluß zum
Empfangen von Unterbrechungssignalen, einen den CS-Eingängen der
Slave-Knoten entsprechenden CS-Ausgang zur Erzeugung von CS-Signalen, einen
den SCK-Eingängen der
Slave-Knoten entsprechenden SCK-Ausgang zur Erzeugung von SCK-Signalen,
einen MOSI-Ausgang zum Senden von seriellen Daten an die MOSI-Eingänge der
Slave-Knoten, und einen MISO-Eingang zum Empfangen von Daten, die
von den MISO-Ausgangsanschlüssen der
Slave-Knoten übertragen
werden. Wahlweise kann der Mikroprozessor 202 (oder 200) einen
INT-Ausgang aufweisen, so daß er
als Slave-Knoten arbeiten kann. Wie in 2 dargestellt,
ist der Mikroprozessor 200 als Master-Knoten konfiguriert. Daher weist der
Mikroprozessor 202 in einigen bevorzugten Ausführungsformen
keine CS-, MOSI- und SCK-Anschlüsse auf
und ist im Überwachungsmodus
bzw. -betrieb konfiguriert.
-
Die
Prozeßsteuerungseinrichtung 100 weist ferner
einen Datenbus 220 auf, der zwischen den verschiedenen
Master- und Slave-Knoten gekoppelt ist, um die Kommunikation zwischen
den Knoten zu erleichtern. Im Grunde genommen weist der Datenbus 220 eine
INT-Leitung auf, die jeweils an die SLINT-Anschlüsse der Mikroprozessoren 200 und 202 und
an den INT-Anschluß des
Slave-Knotens 204 mit der niedrigsten Priorität gekoppelt
ist. Die INT- und SLINT-Anschlüsse
der übrigen
Slave-Knoten sind vom INT-Ausgangsanschluß eines Slave-Knotens zum SLINT-Eingangsanschluß des nächsten Slave-Knotens
in Kaskade geschaltet. Der SLINT-Eingang des letzten Slave-Knotens
(d. h. des dargestellten Slave-Knotens 212) ist immer an
L (den L-Pegel)
gelegt bzw. inaktiv, und dieser Slave-Knoten hat die höchste Priorität. Der INT-Ausgang
eines Slave-Knotens ist aktiv, wenn dieser Knoten ein Unterbrechungssignal
erzeugt oder wenn sein SLINT-Eingang aktiv ist, wodurch angezeigt
wird, daß ein
Slave-Knoten mit höherer
Priorität
gerade eine Unterbrechung erzeugt. Dieses Verfahren vermindert den Bedarf
an zusätzlichen
Schaltungen als Zwischenverbindungen für die Konfliktentscheidung über Unterbrechungen
von mehreren Slave-Geräten.
-
Der
Datenbus 220 weist außerdem
eine einzelne CS-Leitung
auf, die mit dem CS-Ausgang des Master-Knoten-Mikroprozessors 200 und dem CS-Eingang
jedes Slave-Knotens gekoppelt ist. Das CS-Signal der CS-Datenbusleitung
wird durch einen der Master-Knoten erzeugt und zeigt an, daß der Datenbus
aktiv ist. Es kann als Begrenzungszeichen zwischen Nachrichten verwendet
werden, oder um anzuzeigen, welcher Datenbus aktiv ist, wenn der Master-Knoten
mehrere Datenbusse steuert. Alternativ kann es permanent auf aktiv
gesetzt oder weggelassen werden.
-
Der
Datenbus 220 weist ferner eine SCK-Leitung auf, die mit
dem SCK-Ausgang des Master-Knotens und dem SCK-Eingang jedes Slave-Knotens
gekoppelt ist, um Synchrontaktsignale zwischen den Master- und Slave-Knoten
zu übertragen.
Wegen der Adressierung und anderer, weiter unten diskutierter Vorteile
des erfindungsgemäßen Datenbusprotokolls kann
eine einzelne CS-Datenbusleitung verwendet werden, oder die CS-Leitung
kann ganz entfallen. Auf diese Weise kann der Leiterplatten(PCB)-Raumbedarf vermindert
werden.
-
Der
Datenbus 220 weist ferner eine MOSI-Leitung auf, die mit
dem MOSI-Ausgangsanschluß des
Master-Mikroprozessors und dem MOSI-Eingangsanschluß jedes
Slave-Knotens gekoppelt ist, um serielle Daten vom Mikroprozessor
zu den Slave-Knoten zu übermitteln.
Wenn die Prozeßsteuerungseinrichtung 100 keinen
Master-Knoten oder Mikroprozessor aufweist und nur Partner-zu-Partner- bzw.
Peer-zu-Peer-Kommunikation (d. h. Kommunikation zwischen Slave-Knoten)
benötigt,
ist die MOSI-Leitung des Datenbusses 220 nicht erforderlich.
-
Schließlich weist
der Datenbus 220 eine bidirektionale MISO-Leitung auf,
die mit dem MISO-Eingangs-/Ausgangsanschluß jedes Slave-Knotens und dem
MISO-Eingang jedes Mikroprozessors gekoppelt ist, um serielle Daten
von den Slave-Knoten zu den Mikroprozessoren und/oder serielle Daten
zwischen Slave-Knoten zu übermitteln.
Zu beachten ist, die MISO-Anschlüsse
der Slave-Knoten vorzugsweise Dreizustandseinrichtungen sind, da
der MISO-Anschluß an
jedem Slave-Knoten bidirektional ist. Mit anderen Worten, die MISO-Anschlüsse an den
Slave-Knoten sind im hochohmigen Zustand, außer wenn ein einzelner Knoten
die Steuerung der MISO-Datenbusleitung ausübt.
-
Anfangs
steuert der Slave-Knoten mit der höchsten Unterbrechungspriorität die MISO-Datenbusleitung.
Der Knoten mit der höchsten
Priorität,
der eine Unterbrechung erzeugt und einen inaktiven SLINT-Eingang
aufweist, hat Unterbrechungspriorität. In 2 steuert
der Slave-Knoten 212 zuerst die MISO-Datenbusleitung, wenn er gerade an seinem INT-Ausgang
eine Unterbrechung erzeugt. Der Slave-Knoten 210 steuert
zuerst die MISO-Datenbusleitung, wenn er, nicht aber der Slave-Knoten 212,
gerade an seinem INT-Ausgang eine Unterbrechung erzeugt. Allgemein
steuert ein Slave-Knoten zuerst die MISO-Datenbusleitung, wenn er gerade eine
Unterbrechung erzeugt und alle vorhergehenden Knoten in der Unterbrechungskaskade
gerade keine Unterbrechung erzeugen. Außerdem kann die Steuerung der MISO-Datenbusleitung
als Ergebnis der auf dem Bus übertragenen
Anweisung wechseln. Indem die MISO-Datenbusleitung in der vorliegenden
Erfindung bidirektional bzw. als Zweiwegleitung ausgelegt wird, statt
unidirektional bzw. als Einwegleitung, wie im Falle der Datenbuskonfigurationen
mit Standard-SPI-Protokoll, ist eine Partner-zu-Partner- bzw. Peer-zu-Peer-Kommunikation zwischen
den Peripheriegeräten
möglich,
ohne die Anzahl der Datenbusleitungen oder physikalischen Verbindungen
zu erhöhen.
Das oben beschriebene Konfliktentscheidungsverfahren trägt auch
zur Erleichterung bidirektionaler Übertragungen bei.
-
Wenn
die Prozeßsteuerungseinrichtung
einen Master-Knoten aufweist, wird die Datenbussteuerung typischerweise
durch den Master-Knoten ausgeführt.
Wenn die Prozeßsteuerungseinrichtung
nur Peripheriegeräte
(d. h. Slave- oder gleichrangige Partner- bzw. Peer-Knoten) aufweist, kann die
Datenbussteuerungsfunktion von einem der Slave-Knoten oder von mehreren
Slave-Knoten gemeinsam ausgeführt
werden. Zum Beispiel kann der Slave-Knoten mit Unterbrechungspriorität zu Beginn
einer Nachricht die Datenbussteuerungsaufgaben für die Nachricht übernehmen.
-
3 zeigt
ein Taktdiagramm, das ein Nachrichtenformat oder -protokoll darstellt,
das in bevorzugten Ausführungsformen
der erfindungsgemäßen Prozeßsteuerungseinrichtungen
be nutzt wird. Während
ein Unterbrechungssignal (INT) von einem der Slave-Knoten veranlaßt (und
durch die Unterbrechungskaskade zur INT-Datenbusleitung weitergeleitet)
wird und die CS-Leitung
durch einen Master-Knoten im aktiven Zustand gehalten wird, werden
Nachrichten auf den MOSI- oder MISO-Datenbusleitungen mit einem Bit pro
Takt des SCK-Signals übertragen. Wie
aus dem Taktdiagramm von 3 ersichtlich, ist das erste
Byte einer Nachricht auf den MOSI- oder MISO-Datenleitungen die ANWEISUNG. Das zweite Byte
ist wahlweise ein oder mehrere Bytes EXTADR der erweiterungsfähigen Adresse,
die anzeigen, für welchen
Knoten die Nachricht bestimmt ist. Potentiell können dem ersten Byte der erweiterten
Adresse nötigenfalls
mehrere Bytes der erweiterten Adresse folgen. An diese Bytes schließen sich
null oder mehr Datenbytes an. Wenn eine oder mehrere Adressenbyte-Erweiterungen
benutzt werden, wird das Bit 5 des ANWEISUNG-Bytes auf den Logikpegel
1 gesetzt. Wenn die Adresse vollständig im ANWEISUNG-Byte enthalten
ist, wird das Bit 5 auf 0 gesetzt, und auf das ANWEISUNG-Byte folgen DATEN-Bytes.
Eine Bytezahl ist nicht vorhanden, da die Länge der Nachricht dem ANWEISUNG-Byte
inhärent
bzw. daran gebunden ist.
-
Die
Struktur des ANWEISUNG-Bytes der in 3 dargestellten
MOSI- oder MISO-Nachrichten ist detaillierter in 4 dargestellt.
Die Bits 6 und 7 zeigen den Befehl an, wobei 00 einen Rundsendebefehl
BRCST, 01 einen Zustandsbedingungsbefehl STCND, 10 einen Lesebefehl
READ und 11 einen Schreibbefehl WRITE darstellen. Der READ-Befehl ist
eine Anforderung des Inhalts eines Objekts. in einem anderen Knoten,
und der WRITE-Befehl
ist eine Anforderung, den Inhalt eines Objekts in einem anderen
Knoten zu ändern.
Der Rundsendebefehl sendet den Wert eines Objekts zu allen Knoten
und wird durch das Gerät
ausgelöst,
welches das Objekt enthält.
Der Zustandsbefehl sendet die Zustandsbedingung eines Knotens zu
allen anderen Knoten.
-
Wenn
das Adressenerweiterungsbit AE (Bit 5) auf einen Logikwert 1 gesetzt
ist, zeigt es an, daß dem
ANWEISUNG-Byte ein oder mehrere Bytes EXTADR der erweiterten Adresse
folgen, bevor irgendwelche DATEN-Bytes in einer Nachricht übertragen
werden. Wenn das AE-Bit auf eine logische 1 gesetzt ist, die anzeigt,
daß das
nächste
Byte eine Adresse ist, dann zeigt das Bit 7 des Bytes der erweiterten
Adresse an, ob noch ein weiteres Byte der erweiterten Adresse folgt.
Wenn das Bit 7 des Bytes der erweiterten Adresse auf eine logische
1 gesetzt ist, dann ist das nächste
Byte der übertragenen
Nachricht gleichfalls ein Byte der erweiterten Adresse. Ist das
Bit 7 des Bytes der erweiterten Adresse auf eine logische 0 gesetzt,
dann ist das nächste
Byte der Nachricht ein DATEN-Byte. Auf diese Weise können Adressenlängen mit
einer beliebigen Anzahl von Bytes benutzt werden, ohne den Datenbus,
die Komponenten oder die Programmierung zu modifizieren. Durch dieses
Merkmal der vorliegenden Erfindung wird das Hinzufügen oder
Auswechseln von Knoten weiter erleichtert. Die Bits 0–4 des ANWEISUNG-Bytes
sind die Knoten/Objekt-Adresse. Die Anweisung 00 hex (= hexadezimal)
(8 Nullen) ist reserviert und als Unterbrechungsbestätigung oder
als Nulloperations-Anzeiger definiert.
-
Verschiedene
Ausführungsformen
der vorliegenden Erfindung weisen einen von drei Adressenzuweisungsmechanismen
auf, um den Knoten Adressen für
die spätere
Kommunikation auf dem Datenbus zuzuweisen. Die drei Adressenzuweisungsmechanismen
werden in der vorliegenden Patentanmeldung als statische Adressenzuweisung, dynamische
Master-Adressenzuweisung bzw. automatische Partner- bzw. Peer-Adressenzuweisung bezeichnet.
Jedes der Adressenzuweisungsverfahren kann angewandt werden, und
Slave-Knoten, die eines der drei Verfahren nutzen, können auf
dem Datenbus vermischt werden. In allen Fällen müssen jedoch müssen jedoch
die Knoten entweder die Adressenzuweisungen vorher kennen, oder
jeder Knoten muß seine
Adresse bei der Inbetriebnahme rundsenden. Für jeden Knoten in der Prozeßsteuerungseinrichtung
kann es wünschenswert
sein, seine jeweilige Adresse, gleichgültig ob diese ihrer Natur nach statisch
oder dynamisch ist, zusammen mit einer den Knotentyp anzeigenden
Kennung bei der Inbetriebnahme an alle anderen Knoten in der Prozeßsteuerungseinrichtung
zu senden.
-
Beim
statischen Adressenzuweisungsverfahren hat jeder Knoten eine externe,
fest verdrahtete Adresse. ANWEISUNG-Bytes, welche die einem bestimmten Knoten
entsprechende Adres se aufweisen, haben zur Folge, daß der Knoten
die entsprechende Nachricht empfängt.
Ein Knoten kann mehrere unabhängig
adressierbare Objekte aufweisen. Wenn mehr als fünf Bits erforderlich sind,
um alle Objekte und Knoten zu adressieren, können Bytes einer erweiterten
Adresse verwendet werden, wie oben diskutiert. Die Adressen- und
erweiterten Adressenzustände können nach
Bedarf zwischen den Knotenadressen und Objektadressen aufgeteilt
werden.
-
Sowohl
der dynamische Master-Adressenzuweisungs- als auch der automatische
Partner-Adressenzuweisungsmechanismus sind von dynamischer Natur,
was insofern einen Vorteil bietet, als die Knoten der Prozeßsteuerungseinrichtung
aktualisiert und ausgetauscht werden können, ohne Adressen physisch
neu zuzuweisen oder die Systemsoftware zu ändern. Beim dynamischen Master-Adressenzuweisungsverfahren
werden beim Rücksetzen
alle Slave-Knoten/Objekte auf dem Bus auf die Adresse null gesetzt,
und alle Slave-Knoten erzeugen eine Unterbrechung. Dann weist ein
Master-Knoten oder Mikroprozessor jedem Knoten/Objekt in der Reihenfolge
vom Knoten/Objekt mit der höchsten
Priorität
zum Knoten/Objekt mit der niedrigsten Priorität eine von null verschiedene
Adresse zu. Im allgemeinen erzeugt der Master-Knoten die von null verschiedenen Adressen
und sendet die entsprechenden Adressen über den Datenbus zu den zugeordneten
Knoten. Beispielsweise kann die anfängliche Unterbrechungsbestätigung vom
Master-Knoten in einem Datenfeld der Nachricht die Adresse enthalten,
die dem Knoten mit der höchsten Priorität zugewiesen
wird. Indem jedem Knoten/Objekt eine Adresse zugewiesen wird, löscht er/es
seine Unterbrechungsanforderung. Dies muß geschehen, bevor irgendwelche
anderen Operationen auf dem Datenbus ausgeführt werden. Dieses Merkmal
sorgt für
eine leichte Austauschbarkeit verschiedener Module der Einrichtung
vor Ort, wie z. B. das Hinzufügen oder
Auswechseln eines Sensormoduls.
-
Beim
automatischen Partner-Adressenzuweisungsverfahren weist der am Anfang
für eine
Unterbrechung autorisierte Slave-Knoten
sich selbst die erste Adresse zu. Der Knoten mit der höchsten Unterbrechungspriorität, der sich
die erste Adresse zugewiesen hat, benutzt dann einen Rundsendebefehl BRCST
im ANWEISUNG-Byte der Nachricht, um alle anderen Knoten zu benachrichtigen,
daß die
erste Adresse zugewiesen worden ist. Der nächste Knoten ohne Adresse und
mit der nächstniedrigeren
Unterbrechungspriorität
weist sich dann die zweite Adresse zu. Anschließend sendet er eine Nachricht,
die allen anderen Knoten mitteilt, daß die zweite Adresse zugewiesen
worden ist. Allgemein weist der Knoten mit der höchsten Unterbrechungspriorität und ohne Adresse
sich die nächstfolgende
Adresse zu und benachrichtigt dann die anderen Knoten durch Rundsenden,
daß die
neue Adresse zugewiesen worden ist. Eine im Slave-Knoten 206 oder
in einem anderen Speicher abgelegte Aufzeichnung der zuletzt verwendeten
Adresse kann bei der Inbetriebnahme mit null initialisiert werden.
-
In
bevorzugten Ausführungsformen
der erfindungsgemäßen Prozeßsteuerungseinrichtung
kann jeder beliebige Knoten eine Nachricht aus jedem Objekt (d.
h. einem Speicherplatz, einem Peripheriegerät usw.) jedes Knotens auslesen
oder in dieses einschreiben, indem er eine Lese- (READ) oder Schreibbefehlsmeldung
(WRITE) innerhalb der Objektadresse ausgibt, die im ANWEISUNG-Byte
und in etwaigen Bytes der erweiterten Adresse angegeben wird. Außerdem kann
jeder Knoten durch Ausgabe eines STCND-Befehls anzeigen, daß eine Zustandsbedingung
existiert, wobei das Adressenfeld des ANWEISUNG-Bytes das Objekt
mit der Zustandsbedingung anzeigt, und wobei wahlweise ein Datenbyte
der Nachricht den Objektwert enthält. Zu den Zustandsbedingungen
können "Daten bereit", "Datenüberlauf", "Datenpuffer leer" oder Hardware- und
Sofware-Fehler gehören.
Ein Knoten kann auch den Wert eines Objekts mit einer Nachricht
rundsenden, die im ANWEISUNG-Byte einen BRCST-Befehl und eine Objektadresse
aufweist, gefolgt von dem Objektwert in einem Datenbyte der Nachricht.
-
Ein
Master-Knoten oder Mikroprozessor sendet unter Verwendung der MOSI-Leitung
des Datenbusses Befehle zu den Slave-Knoten. Slave-Knoten senden Befehle
sowohl zu Master-Knoten als auch zu anderen Slave-Knoten auf der
bidirektionalen MISO-Leitung
des Datenbusses. Folglich können
Slave-Knoten Befehle und Informationen sowohl auf der MOSI- als
auch auf der MISO-Leitung
des Datenbusses empfangen. Die MISO-Leitung des Daten busses wird
durch ein aktives Schalterelement von einem der Slave-Knoten auf
den L-Zustand gesetzt. Wenn ein Slave-Knoten Kommunikationsvorgänge auf
dem Datenbus auslösen
muß, erzeugt
er eine Unterbrechung an seinem INT-Stift oder -Anschluß. Wenn
keiner der Slave-Knoten gerade eine Unterbrechung erzeugt, befinden
sich alle MISO-Ausgangsanschlüsse der
Slave-Knoten im hochohmigen Zustand, wodurch angezeigt wird, daß von den
Slave-Knoten keine Nachrichten gesendet werden.
-
Der
Master-Knoten kann unter mindestens zwei Bedingungen auf dem Datenbus
senden. Erstens kann der Master-Knoten als Reaktion auf ein Unterbrechungssignal
von einem Slave-Knoten Nachrichten
auf dem Datenbus senden. Zweitens kann der Master-Knoten nach eigenem
Ermessen Nachrichten auf dem Datenbus senden. Wenn ein Slave-Knoten
eine Unterbrechung erzeugt, gibt der Master-Knoten als Antwort einen
Befehl auf der MOSI-Leitung
des Datenbusses aus. Während
der Master-Knoten die Antwortnachricht auf der MOSI-Leitung des
Datenbusses sendet, kann der unterbrechende Slave-Knoten mit der
höchsten
Priorität
seine Nachricht auf der MISO-Leitung des Datenbusses senden. Wenn
die Antwortnachricht des Master-Knotens eine Unterbrechungsbestätigung enthält, kann der
unterbrechende Knoten weiter seine Nachricht auf der MISO-Leitung
des Datenbusses senden. Wenn die Antwortnachricht des Master-Knotens
auf der MOSI-Leitung des Datenbusses ein anderer Befehl als eine
Unterbrechungsbestätigung
ist, wird die Nachricht vom Slave-Knoten bis zur nächsten Nachrichtensequenz abgebrochen.
-
In
Ausführungsformen
der vorliegenden Erfindung, in denen die Prozeßsteuerungseinrichtung keinen
Master-Knoten aufweist, kann die MOSI-Datenbusleitung entfallen
oder inaktiviert (d. h, auf einen Logikpegel L gesetzt) werden,
und alle Nachrichten werden so behandelt, als ob sie eine Unterbrechungsbestätigung enthielten.
In diesem Fall muß das
SCK-Signal durch
ein anderes Gerät
oder einen anderen Knoten als einen Master-Knoten erzeugt werden.
Ferner müßte das
CS-Signal auf der CS-Datenbusleitung, falls überhaupt erforderlich, gleichfalls durch
ein anderes Gerät
erzeugt werden, wenn kein Master-Knoten vorhanden ist.
-
Die
vorliegende Erfindung bietet zahlreiche weitere Vorteile gegenüber Prozeßsteuerungseinrichtungen
mit Master-Knoten,
die nach dem Standard-SPI-Protokoll betrieben werden und eine Standard-Datenbuskonfiguration
verwenden. Ein vorteilhaftes Merkmal einiger bevorzugter Ausführungsformen
der vorliegenden Erfindung ist, daß Slave-Knoten von Partner-Slave-Knoten Nachrichten
auf der MISO-Datenbusleitung empfangen können. Die Kommunikation der
physikalischen bzw. Bitübertragungsschicht
wird in ein Kommunikationsdatenbussystem übertragen, das für Master-
und/oder Slave-Knoten-Rundsendekommunikation, Kommunikation von
Master- zu Slave-Knoten, Kommunikation von Slave- zu Master-Knoten
sowie für
Kommunikation von Partner zu Partner zwischen Slave-Knoten tauglich
ist. Unter Verwendung modifizierter Datenbusmerkmale und physikalischer
Verbindungen können
Master-Knoten, die das Standard-SPI-Protokoll nutzen, mehrere Slave-Knoten
mit einer einzigen CS-Datenbusleitung
adressieren. Wenn alle Knoten am Datenbus dieses modifizierte Protokoll
nutzen, kann die CS-Leitung als ständig aktiv angesehen werden
und daher vollständig
entfallen.
-
Die
vorliegende Erfindung weist außerdem ein
Konfliktentscheidungsverfahren auf, das mit Hilfe der Auswertung
von physikalischen Verbindungen und/oder Anweisungen ermittelt,
welcher von den mehreren Slave-Knoten Priorität hat und daher die Steuerung
des Datenbusses ausführt.
Ferner ermöglichen
die in der erfindungsgemäßen verbesserten Prozeßsteuerungseinrichtung
benutzten dynamischen Adressierverfahren einen leichten Austausch oder
Ersatz der Knoten und eine größere Unabhängigkeit
der Software von der Hardware-Konfiguration. Außerdem stellt die erfindungsgemäße bidirektionale MISO-Datenbusleitung eine
Partner-zu-Partner-Kommunikation zwischen Slave-Knoten bereit. In Prozeßsteuerungseinrichtungen,
die ausschließlich die
Partner-zu-Partner-Kommunikation nutzen, kann die MOSI-Datenbusleitung
ganz entfallen. Weitere Vorteile des erweiterten SPI-Protokolls
und der Datenbuskonfiguration gemäß der vorliegenden Erfindung
sind unter anderem kleinere Anschlußstiftzahlen von integrierten
Chips und weniger Leiterplattenverbindungen, die zu einer Kostensenkung
und physischen Verkleinerung führen,
die Fähigkeit
zur Verwendung vorhandener Mikroprozessoren, die nach dem Standard-SPI-Protokoll
arbeiten, und die Tatsache, daß die
Mikroprozessorbelastung durch die Verfügbarkeit der Rundsende- und
Partner-zu-Partner-Kommunikationsfähigkeiten
reduziert werden kann, so daß die
Kommunikation zwischen Slave-Knoten nicht durch den Mikroprozessor
geleitet werden muß.
-
Die
vorliegende Erfindung ist zwar unter Bezugnahme auf bevorzugte Ausführungsformen
beschrieben worden, aber Fachleute werden erkennen, daß Änderungen
an Form und Detail vorgenommen werden können, ohne vom Grundgedanken
und vom Umfang der Erfindung abzuweichen. Es versteht sich, daß die vorliegende
Erfindung in einem beliebigen Typ der Prozeßsteuerungseinrichtung implementiert
werden kann. Ferner können
unter Verwendung einer geeigneten Hardware-, Software- oder Firmwaretechnik
oder deren Kombination verschiedene Funktionsblöcke implementiert werden. Es
sind auch andere kleinere Konstruktionsänderungen möglich. Zum Beispiel kann in
Ausführungsformen,
in denen der Mikroprozessor 200 als Master-Knoten dient,
die Kommunikation durch einen zweiten Mikroprozessor (d. h. den
Mikroprozessor 202) auf verschiedene Arten implementiert
werden. Der zusätzliche
Mikroprozessor kann als Peripheriegerät behandelt werden, in welchem
Fall er einen INT-Ausgang aufweisen und mit den anderen Slave-Knoten
in Kaskade geschaltet würde.
Dann würde
der zusätzliche Mikroprozessor über die
bidirektionale MISO-Leitung kommunizieren. Als Alternative können Dreizustandstreiber
zum MOSI-Ausgang jedes Mikroprozessors hinzugefügt werden, und alle Mikroprozessoren
können über die
MOSI-Leitung senden.