HINTERGRUND DER ERFINDUNG
-
Die Erfindung bezieht sich auf ein Kommunikationsbussystem mit
mehreren Stationen, worunter Hauptstationen und Folgestationen, wobei jede
Hauptstation framebasierte Entscheidungsmittel, Entscheidungsergebnisdetektionsmittel und
Frameformatierungsmittel aufweist um beim Erhalten der genannten Entscheidung
eine frameweise organisierte Nachricht mit Verriegelungs- und
Entriegelungssignalisierungen zum Verriegeln bzw. Entriegeln einer adressierten Folgestation
auszusenden, und zwar während der Dauer einiger in der genannten Nachricht enthaltenen
Frames, so dass eine andere Hauptstation gesperrt wird, während der genannten Dauer
wenigstens auf eine bestimmte Art und Weise auf eine verriegelte Folgestation
zuzugreifen. Im Allgemeinen schreiben solche Kommunikationssysteme der erlaubbaren
Länge eines Frames einen maximalen Wert vor, so dass eine bestimmte Hauptstation
nicht das ganze System länger als während eines angemessenen Zeitintervalls belegt
halten kann. Die Folge davon ist, dass, wenn die Hauptstation einer bestimmten
Folgestation eine lange Nachricht senden möchte, dies in einer Sequenz von Frames, die
gemeinsam die Nachricht bilden, geschehen soll. In einem derartigen Fall sollte die
betreffende Hauptstation die Möglichkeit erhalten, eine adressierte Folgestation derart
belegt zu halten, dass zwischen aufeinanderfolgenden Frames dieser Nachricht andere
Hauptstationen auf die betreffende Folgestation nicht zugreifen können. Dazu wurde
der Verriegelungsmechanismus vorgeschlagen, wie dieser beispielsweise in US
Patenten 4.937.816; 5.128.936; 5.249.182 (PHN 12.484) der Anmelderin der
vorliegenden Patentanmeldung beschrieben worden ist, und wobei diese Patente als hierin
aufgenommen betrachtet werden. Bei einer speziellen Ausführungsform kann die
maximale Verriegelungsperiode 300 ms betragen. Wenn eine andere Hauptstation versucht,
der betreffenden Folgestation ein Frame zuzusenden, wird dies nicht erfolgreich sein.
Die Lösung kann sein, dass die zweite Hauptstation einige Zeit später den Versuch
wiederholt. Dennoch sollte in Situationen einer verriegelten oder einer entriegelten
Folgestation der Zugriff so schnell wie angemessen möglich erfolgen. In dieser
Hinsicht dürfte es einleuchten, dass sogar in einer entriegelten Situation das Zugreifen
durch die weitere Hauptstation vorübergehend gesperrt sein kann, beispielsweise weil
bei der Folgestation das Empfangspuffer noch mit der vorher empfangenen Nachricht
gefüllt ist. Andere, weniger oft auftretende Ursachen einer derartigen Sperrung sind
eine elektrische Störung oder ein vorübergehender Fehler.
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung ein
Kommunikationsbussystem der eingangs beschriebenen Art zu schaffen, wobei eine
Hauptstation möglichst schnell auf eine Folgestation zugreifen kann, und zwar wenn die
Folgestation vorübergehend gesperrt ist für eine andere Hauptstation und auch in dem Fall,
wo die Folgestation nicht eine derartige Verriegelung aufweist. Dazu weist nach einem
der Aspekte die vorliegende Erfindung das Kennzeichen auf, dass die genannte andere
Hauptstation Sequenzmittel aufweist, damit, wenn detektiert wird, dass die genannte
andere Hauptstation gesperrt ist, eine erste Sequenz relativ oft durchgeführter neuer
Versuche mit einer kombinierten Zeitlänge durchgeführt werden kann, wobei diese
Zeitlänge im Wesentlichen kleiner ist als ein maximaler Standardwert der genannten
Dauer, wobei eine zweite Sequenz relativ selten durchgeführter neuer Versuche in
einer kombinierten Zeitlänge durchgeführt wird, die größer ist als der maximale
Standardwert der genannten Dauer. Durch die ersten relativ oft durchgeführten Versuche
würde ein kurzer Fehler nur eine geringfügige Verzögerung des aktuellen Zugriffs auf
die Folgestation verursachen, ungeachtet der Tatsache, ob letztere verriegelt oder
entriegelt ist. Durch die zweiten relativ weniger oft durchgeführten Versuche wird,
nachdem die Verriegelung beendet worden ist, der Zugriff wieder möglich. Sogar wenn ein
vorübergehender Fehler aufgetreten ist, würde das relativ lange Intervall zwischen
aufeinanderfolgenden Elementen der zweiten Sequenz die Korrelation mit diesem
Fehler zerstören bei nachfolgenden Versuchen der zweiten Sequenz. Im Wesentlichen
gibt es zwischen frequenteren Versuchen ein Kompromiss, das die Leistung
verbessert, und weniger frequenten Versuchen, das die Prozedur vereinfacht und die
Belastung des Kommunikationsbusses und der anhängenden Stationen reduziert.
-
Auf vorteilhafte Weise hat die genannte andere Hauptstation zweite
Sequenzmittel um bei Detektion einer Nicht-Bestätigung einer übertragenen Adresse
mit Bestimmung die genannte Folgestation, eine dritte Sequenz quasi-instantaner
Versuche zur Adressierung der genannten Folgestation durchzuführen, während nur in
dem Fall, dass Detektion einer Bestätigung der genannten Adresse stattfindet, Zugriff
auf die genannte Folgeadresse erfolgt. Unter bestimmten Umständen wird die
Folgestation aus einem sehr kurz lebenden Grund die Adresse nicht bestätigen. Ein anderer
Grund kann sein, dass die Station im Endeffekt nicht anwesend ist. In beiden Fällen
wird der quasi-instantane neue Versuch auf dem Pegel der Folgeadresse den gesamten
Vorgang weiter beschleunigen, obschon die Gründe für eine derartige Beschleunigung
verschieden sind. In dem ersten Fall kann der Grund schnell enden, so dass der Zugriff
erfolgreich wird. In dem zweiten Fall kann die versuchende Hauptstation ihre
Möglichkeiten auf andere Stationen richten.
-
Die Erfindung, wie diese durch die beiliegenden Ansprüche definiert
ist, bezieht sich ebenfalls auf eine Hauptstation zum Gebrauch in einem
Kommunikationssystem der eingangs beschriebenen Art.
-
In den anhängigen Ansprüchen sind einige vorteilhafte Aspekte
beschrieben.
KURZE BESCHREIBUNG DER ZEICHNUNG
-
Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt
und werden im Folgenden näher beschrieben. Es zeigen:
-
Fig. 1 eine allgemeine Darstellung eines
Einkanal-Kommunikationsbussystems,
-
Fig. 2 die Struktur eines Kommunikationsvorgangs,
-
Fig. 3 eine Ausführungsform einer Schnittstellenschaltung,
-
Fig. 4 ein Flussdiagramm einer Neu-Versuchsprozedur,
-
Fig. 5 ein Flussdiagramm einer Entriegelungsprozedur,
-
Fig. 6 ein Flussdiagramm einer zweiten Entriegelungsprozedur,
-
Fig. 7 ein Flussdiagramm einer verfeinerten Neu-Versuchspozedur.
-
BESCHREIBUNG EINES BEISPIELS EINER VERRIEGELUNGSTECHNOLOGIE
-
Fig. 1 ist eine allgemeine Darstellung eines
Einkanal-Kommunikationsbussystems. Die Leitung 20 stellt den Kanal dar, beispielsweise eine verdrillte
Doppelleitung. Es sind drei Stationen 22, 24, 26 vorgesehen, wobei jede Station eine
betreffende Schnittstellenschaltung 28, 30 bzw. 32 aufweist. Die Stationen können eine
unterschiedliche Komplexität haben. Geräte dieser Art können einfach oder
kompliziert sein, beispielsweise ein Fernsehempfänger, eine Waschmaschine, ein
Mikrowellenherd, ein zentraler Timer, ein Sensor für Umgebungstemperatur/Solarstrahlung,
ein Beleuchtungs(hilfs)system. Manche Geräte werden funktionieren als Hauptstation
im Vergleich zu dem Bus, und andere Geräte als Folgestation. Manche Geräte
funktionieren als Sender von Daten und andere Geräte als Empfänger. Die nachstehend
beschriebenen Vorgänge erfolgen in dem Kommunikationsbussystem und werden
durch die Schnittstellenschaltungen durchgeführt.
BESCHREIBUNG DES BUSPROTOKOLLS
-
Fig. 2 zeigt die Struktur eines Kommunikationsvorgangs auf dem
Frame-Pegel. Die Figur zeigt die Zeitachse als Meanderlinie 40, wobei vorausgesetzt
wird, dass die Bitzellen in aneinander liegender Weise entlang dieser Linie vorgesehen
sind. Das Bezugszeichen 42 bezeichnet das Startbit. Das Bezugszeichen 44 betrifft die
Modeanzeige, welche die Bitrate bezeichnet, mit der danach Daten übertragen werden
sollen: dabei handelt es sich um höchstens 3 Bits. Es wurden eine beschränkte Anzahl
genormter Übertragungsfrequenzen definiert. Das Bezugszeichen 46 bezeichnet die
Adresse der betreffenden Hauptstation; diese Adresse enthält 12 Bits, denen ein
Paritätsbit P folgt. An der Modeanzeige und an der Hauptadresse wird ein
Entscheidungsvorgang durchgeführt. Für die Adressen gewinnt die Station mit der höchsten Priorität.
Modeanzeige und Hauptadresse bilden zusammen ein Prioritätssignal. Nach der
Übertragung der Hauptadresse bleibt nur eine Hauptstation übrig. Diese Station überträgt
danach die Folgeadresse 48. Diese Adresse enthält 12 Adressenbits, ein Paritätsbit P
und Raum für ein Adressenbestätigungsbit A. Wenn eine Folgestation ihre eigene
Adresse erkennt, überträgt sie in dem Block A ein Adressenbestätigungsbit. Wenn
dieses letztere Bit nicht empfangen wird, ist die gemeinte Folgestation entweder nicht
vorhanden oder sie funktioniert nicht, oder aber die Adresse hat eine nicht
einwandfreie Parität. In dem Fall wird das Frame aus Fig. 2 sofort beendet. Wenn die
Bestätigung durch die Folgestation einwandfrei ist, überträgt die Hauptstation ein
Steuersignal 50. Das Signal enthält vier Steuerbits, ein Paritätsbit P und Raum für ein
Steuerbestätigungsbit A. Die Behandlung des P- und des A-Bits entspricht der im Falle der
Folgeadresse. Wenn das Steuerbestätigungsbit nicht erscheint, wird das Frame sofort
beendet. Wenn die Bestätigung durch die Folgestation einwandfrei ist, wird ein
Datenbyte übertragen (52). Die Beschreibung basiert auf einer Hauptsenderstation. Das
Datenbyte enthält 8 Bits, ein Signalisierungsdatenbyte (EOD), ein Paritätsbit P und
Raum für ein Datenbestätigungsbit A. Die EOD-Signalisierung bezeichnet, ob die
Sendestation das betreffende Byte als das letzte Byte oder als ein nicht-letztes Byte der
Nachricht betrachtet. Die Framelänge beträgt höchstens 2 Bytes in der Mode 0; in der
Mode 1 beträgt sie 32 Bytes von (der Hauptstation) oder 16 Bytes von (der
Folgestation); in der Mode 2 beträgt sie bis zu 128 Bytes von (der Hauptstation) oder 64 Bytes
(von der Folgestation), aber kürzere Nachrichten sind ebenfalls möglich. Das
Paritätsbit P ist ebenfalls auf Basis des EOD-Bits bestimmt. Wenn das Datenbestätigungsbit
nicht empfangen wird, kann es eine Skala von Gründen geben: ein Paritätsfehler, die
Folgestation nicht aktiv seit Empfang des Steuersignals 50, oder Folgestation nicht
imstande das Datenbyte zu empfangen und zu speichern, beispielsweise weil die
Verarbeitung der Daten zu viel Zeit beansprucht hat. In all diesen Fällen wird die
Hauptstation in den Wiederholungszustand gesetzt. In diesem Zustand wird das betreffende
Datenbyte, einschließlich der Möglichkeiten für EOD, P, A wiederholt, bis letzten
Endes das Datenbestätigungsbit empfangen wird. Danach wird, sollte das betreffende
Datenbyte nicht das letzte Byte sein, der Wiederholungszustand verlassen und das
nächste Datenbyte wird übertragen (beispielsweise 54). Wenn aber dieses Byte das
letzte Datenbyte war, werden das Frame und die Nachricht beendet. Daraufhin kann
eine neue Nachricht/ein neues Frame anfangen. Bei Übertragung eines Datenbytes
wird eine Zählerposition jeweils erhöht. Wenn der Zähler die maximale Framelänge
erreicht, oder wenn die Nachricht vollständig ist, wird das "letzte" Datenbyte
angegeben (die erste der beiden auftretenden Grenzen ist entscheidend), Das Frame wird nach
dem "letzten" Byte beendet. Wenn das Datenbestätigungsbit nach dem "letzten" Byte
nicht einwandfrei empfangen worden ist, wird das "letzte" Byte wiederholt, solange
dies in die definierte Framelänge passt. Wenn die Nachricht noch nicht vollständig ist,
wenn die maximale Framelänge erreicht wird, wird ein neues Frame gestartet. Das
erste Datenbyte davon wird genommen als das erste noch nicht übertragene Datenbyte
der Nachricht oder als das Datenbyte, für das noch kein einwandfreies
Datenbestätigungsbit empfangen worden ist. Dies bedeutet folglich keine doppelte Übertragung
eines Datenbytes, das bereits erfolgreich übertragen wurde. Normalerweise wird in
dieser Hinsicht der "Verriegelungs"-Mechanismus angewandt, so dass die betreffende
Folgestation für die richtige Übertragung nach wie vor reserviert ist. Dies wird
nachstehend detailliert beschrieben. Entsprechend diesem Verriegelungsmechanismus kann
inzwischen eine andere Hauptstation mit einer höheren Priorität das Monopol über den
Bus erhalten, aber kann keinen Zugriff auf die Folgestation erhalten, die verriegelt
worden war. Diese Organisation vereinfacht die Prozedur in der Folgestation.
WEITERE ORGANISATIONEN
-
Die Hauptstation kann den Verriegelungsmerker bei der Folgestation
mit Hilfe eines bestimmten Steuersignals setzen/rücksetzen, wodurch die Folgestation
instruiert wird nur auf die betreffende Hauptstation zu hören. Die Folgestation wird
durch die Hauptstation dadurch entriegelt, dass diese letztere ein 1-Byte-Datenframe
überträgt, das den Freigabe- oder Entriegelungsbefehl enthält. Der
Verriegelungsmerker sollte von der Folgestation gesetzt/rückgesetzt werden, und zwar nachdem
wenigstens 1 Byte des zugeordneten Frames einwandfrei übertragen/kommuniziert worden
ist.
-
Es wird kein Folgeadressenbestätigungsbit gegeben, wenn:
-
- die Folgestation nicht vorhanden ist
-
- die Folgestation die Mode (Geschwindigkeit) des Frames nicht bewältigen kann
-
- ein Paritätsfehler in der Hautadresse und/oder in der Folgeadresse auftritt
-
- die Zeitbestimmung nicht einwandfrei ist, wodurch Busfehler verursacht werden, so
dass Synchronisationsfehler oder Paritätsfehler auftreten.
-
Die Hauptstation reagiert auf ein negatives Adressenbestätigungsbit entweder dadurch,
dass:
-
-- das Frame wiederholt wird, möglicherweise in einer niedrigeren Mode
-
-- der Status für die betreffende Folgestation in der Mode O beantragt wird (möglicherweise
wiederholt). Die höchste Mode, in der die Folgestation arbeiten kann wird
aus dem Status hergeleitet. Danach wird die Nachricht in der höchstmöglichen Mode
wiederholt.
-
Wenn die Übertragung bei einem negativen Folgeadressenbestätigungsbit wiederholt
anhält, soll man daraus folgern, dass die Folgestation nicht vorhanden ist. In dem Fall
hat eine weitere Wiederholung keinen Sinn.
-
Ein Steuerbestätigungsbit wird in den nachfolgenden Fällen nicht
abgegeben:
-
- Paritätsfehler
-
- Zeitfehler
-
- die Folgestation ist nicht imstande, die beantragte Funktion durchzuführen.
Die Hauptstation kann dadurch reagieren, dass in erster Instanz die Nachricht
wiederholt wird. Wenn wieder kein Steuerbestätigungsbit empfangen wird, beantragt die
Hauptstation an die Folgestation, festzustellen, weshalb diese das betreffende
Bestätigungsbit nicht empfangen hat.
-
Ein negatives Datenbestätigungsbit wird verursacht durch:
-
- Paritätsfehler
-
- Zeitfehler
-
- Empfängerpuffer voll.
-
Im Falle eines Paritätsfehlers oder im Falle eines vollen Empfängerpuffers wird dieses
Byte wiederholt, insofern dies möglich ist, bis entweder das Byte bestätigt worden ist
oder die Framelänge aufgebraucht worden ist. Wenn das Byte nicht innerhalb des
Frames übertragen worden ist, wird für dieses Byte ein neues Frame ausgelöst.
-
Die nachfolgenden Steuersignale sind definiert:
-
HEX 0(0000): den Status der Schnittstellenschaltung der Folgestation auslesen. Wenn
diesem Vorgang nicht ein Bestätigungssignal folgt, ist die Schlussfolgerung, dass die
Schnittstellenschaltung der Folgestation defekt ist. Es kann aber ein
Wiederholungsvorgang durchgeführt werden. Wenn eine einwandfreie Bestätigung empfangen wird,
liefert die Folgestation daraufhin ein Datenbyte, in dem der Status dargestellt ist.
-
HEX 2(0010): den Status auslesen und der Folgestation das Verriegelungssignal zuführen.
Wenn die Folgestation durch eine andere Hauptstation verriegelt ist, wird
dieser Umstand in dem Datenbyte signalisiert; die beantragende Hauptstation soll es
abermals versuchen.
-
HEX 3(0011): Daten auslesen und der Folgestation das Verriegelungssignal zuführen.
Wenn keine Antwort empfangen wird, wird nach dem Status gefragt, der wie folgt
spezifiziert wird:
-
Bit 0 = 0: der Senderpuffer der Folgestation ist leer; dies wird dem Steuersystem
mitgeteilt
-
Bit 2 = 1: die Folgestation ist durch eine andere Station verriegelt; das Steuersystem
empfängt die Instruktion, es abermals zu versuchen
-
Bit 4 = 0: die Folgestation kann keine Daten übertragen; dies wird dem Steuersystem
mitgeteilt.
-
In allen anderen Fällen wird für die Bits 0, 2, 4 ein neues Frame mit demselben
Steuercode ausgelöst.
-
HEX 4(0100): die zwei am wenigsten signifikanten Tetraden derjenigen Adresse
auslesen, worauf die Folgestation verriegelt ist. Wenn die Folgestation nicht verriegelt ist,
wird diese Tatsache dem Steuersystem der Hauptstation mitgeteilt, und zwar mittels
eines negativen Bestätigungsbits.
-
HEX 5(0101): Gleiches für die signifikanteste Tetrade
-
HEX 6(0110): den Status der Folgestation auslesen und diese entriegeln. Wenn die
Folgestation durch eine andere Hauptstation verriegelt ist, wird dies durch ein
negatives Bestätigungsbit mitgeteilt und die Hauptstation beendet die Versuche.
-
HEX 7(0111): die Daten auslesen und entriegeln. Ausgenommen für die Entriegelung.
Dies entspricht dem Code 0011.
-
HEX 8(1000): Besitzantrag schreiben; wenn ein negatives Bestätigungsbit folgt, wird
eine Untersuchung nach den Eigenschaften/dem Status der Folgestation durchgeführt.
Dies wird wie folgt interpretiert:
-
Bit 1 = 1: der Empfangspuffer der Folgestation ist nicht leer; Signal zu dem
Steuersystem der Hauptstation.
-
Bit 2 = 1: wie oben
-
Bit 3 = 0: Folgestation hat keinen Speicher, was bedeutet, dass die Folgestation nicht
imstande ist, Fragen über Eigenschaften/Status zu beantworten.
-
Wenn keines der drei Bits ein Ergebnis hat, wird ein neuer Versuch angestellt.
-
HEX A(1010): den Befehl schreiben und verriegeln. Daraufhin wird der Status
ausgelesen, im Fall eines negativen Bestätigungsbits, wie folgt interpretiert:
-
Bits1, 2 wie oben: wenn keines dieser Bits ein Ergebnis hat, wird ein neuer Versuch
angestellt.
-
HEX B(1011): Daten schreiben und verriegeln. Danach wird der Status ausgelesen, im
Fall eines negativen Bestätigungsbits; Interpretation ist die gleiche wie bei HEX A.
-
HEX E(1110): den Befehl schreiben und entriegeln; Rest identisch wie A.
-
HEX F(1111): Daten schreiben und entriegeln; Rest identisch wie A.
-
Am Ende jedes Frames überprüft die übertragende Station (Folgestation
oder Hauptstation) ob alle erforderlichen Bytes übertragen worden sind. Sollte dies
nicht der Fall sein, so startet die Hauptstation ein neues Frame und die übertragende
Station ladet die restlichen Bytes in den örtlichen Senderpuffer.
BESCHREIBUNG EINER SCHNITTSTELLENSCHALTUNG
-
Fig. 3 zeigt eine Ausführungsform einer Schnittstellenschaltung. Die
Schaltungsanordnung (60) umfasst die nachfolgenden Verbindungen, gesehen im
Uhrzeigersinn, ausgehend von dem Oszillator (6 MHz):
-
- Speisespannung Vcc, Erde GND, Test Steuerung Test, 8 Bits Daten für das örtliche
Steuersystem, mit einem Synchronisationsstift , Lesen/Schreiben Steuerung
R/ , Selektion zwischen Adresse und Daten (A/ ), ein Unterbrechungssignal Int,
drei Preset-Adressenbits dazu (A0, A1, A2), zwei Leitungen für Daten auf dem TTL-
Pegel, und ein verdrillte Doppelleitung für die Einzelkanal-Kommunikation (D²B),
wie oben beschrieben. Das Element 62 umfasst den Taktgeber und die Steuerelemente
zum Rückstellen der Schaltungsanordnung, wenn die Speisespannung erscheint (POR
= Power-On Reset). Ein "chip-ready"-Signal, das POR-Signal und die Taktsignale 0P,
1P rühren daher. Das "chip-ready"-Signal bezeichnet, dass die Schaltungsanordnung
nach Einschaltung und Rückstellung wieder funktionsfähig ist.
-
Der Block 64 ist eine Schaltungsanordnung zur Filterung, Detektion
und Steuerung von Signalen an den D²B- und TTL-Leitungen. Der Dateninhalt der
Signale an D²B und an TTL ist der gleiche, ausgenommen für die nachfolgenden
elektrischen Unterschiede: TTL ist unidirektionell gegenüber D²B, die bidirektionell
ist, und die Spannungspegel sind verschieden. An den Leitungen 65 werden die
Leitungsbits auf dem TTL-Pegel transportiert. In dem Block 66 findet eine Übersetzung
zwischen den Leitungsbits und den logischen Bits statt. Die Blöcke 67 bilden zwei
unidirektionelle Speicherschaltungen zwischen den Blöcken 66 und 68. Die Leitung
69 trägt ein Signal zur Aktivierung des nächsten Bits. Der Block 68 bildet den Kern
der Schnittstellenschaltung. Darin werden die Paritätsbits gebildet, die
Bestätigungsbits werden detektiert und die jeweiligen Steuerbits und Statusbits werden analysiert
oder ggf. zur Befragung gespeichert. Weiterhin wird die Information mit dem
Steuersystem ausgetauscht und die Interaktion mit dem RAM-Puffer 70 wird organisiert. Der
Puffer 70 hat eine Datenbreite von 8 Bits; die Anzahl Bytes wird durch die
Applikation bestimmt. Die Adressen erscheinen an der Leitung 71; der Block 72 ist ein
Datengatter mit einer Breite von 8 Bits zur Verbindung mit dem (nicht dargestellten)
örtlichen Steuersystem. Die Signale Mode 0P, 1P, sind sekundäre Taktsignale mit
derselben Frequenz wie 0P, 1P, oder mit einer Frequenz, die um einen Faktor 4 niedriger ist,
abhängig von der Betriebsart an dem externen Bus D²B. Die Leitung 76 steuert die
Umschaltung von dem Taktpegel auf den Bitpegel für die jeweiligen Bitlängen, die für
das Startbit, die Mode/Adressen/Steuerbits und die Datenbits nicht die gleiche zu sein
braucht. Die Leitung 75 hat dieselbe Funktion auf dem Framepegel. Die Leitung 77 ist
eine Freigabeleitung (EL); die Leitungen 78 und 79 schaffen eine
Synchronisationsquittung.
-
Bei einer einfachen Ausführungsform eignet sich die
Schaltungsanordnung zum Gebrauch in der Mode 0 und 1; weiterhin eignet sie sich für Hauptbetrieb
sowie für Folgebetrieb. Nach einem Rückstellsignal (Power-on-reset, POR) wird die
Schaltungsanordnung ausgelöst. Der Mikroprozessor kann die Adresse der
Schaltungsanordnung für die Schnittstellenschaltung verfügbar machen, indem einige frei
zugreifbare Register geladen werden. Weiterhin werden einige Merkerbits gesetzt,
welche die Kapazitäten der Applikation angeben (wenn es einen örtlichen Speicher
gibt und die Folgestation ebenfalls als Sender funktionieren kann). Das Signal POR
verursacht ebenfalls ein Unterbrechungssignal für das örtliche Steuersystem. Der
Busstatus des Folgeteils der Schaltungsanordnung wird in dem Folgestatusregister
gespeichert. Wenn die Schaltungsanordnung durch eine andere Station verriegelt wird, wird
die Adresse dieser letzteren Station in dem Verriegelungsadressenregister gespeichert.
-
Zum Aktivieren einer Schaltungsanordnung als Hauptstation, sollte die
Steuerschaltung der Applikation die nachfolgende Information liefern:
-
- die Adresse der Folgestation, den Steuercode und, im Falle eines Schreibvorgangs,
die zu übertragenden Datenbytes, damit diese in den Puffer der Hauptstation geladen
werden können,
-
- das Modesignal, das die zu benutzende Leitungsmode angibt, und das
Anforderungssignal der Hauptstation werden in das Befehlsregister der Hauptstation geladen.
Die Station löst daraufhin eine Nachricht aus und nimmt ggf. Teil an
der betreffenden Entscheidungsprozedur. Wenn nach einem positiven
Entscheidungsergebnis das Frame beendet wird, wird ein Unterbrechungssignal für das örtliche
Steuersystem (INT) gegeben. Das örtliche Steuersystem kann daraufhin den Grund des
Unterbrechungssignals in dem Unterbrechungsregister auslesen (Hauptunterbrechung,
Folgesenderunterbrechung oder Folgeempfängerunterbrechung). Das
Hauptstatusregister enthält die Anzahl positiver Bestätigungsbits und gibt an, ob die Nachricht
erfolgreich war. Dieses letztere Register funktioniert folglich als Zähler. Weiterhin enthält
der Hauptpuffer nach einem Unterbrechungssignal im Falle einer Auslesevorgangs die
empfangenen Daten. Das Unterbrechungsregister wird rückgestellt, nachdem es
ausgelesen worden ist: dies erfolgt durch einen expliziten Schreibvorgang in dem
betreffenden Register.
-
Virtuell werden dieselben Vorgänge für die Folgeempfängerfunktion
durchgeführt. Die Anzahl positiver Bestätigungsbits wird danach in dem
Folgeempfängerregister gespeichert. Wenn der Folgeempfängerpuffer ausgelesen worden ist,
wird das Folgeempfängerbefehlsregister mit der Information 00(HEX) gefüllt.
DETAILLIERTE BESCHREIBUNG EINER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
Fig. 4 zeigt ein Flussdiagramm einer Neuversuchsprozedur durch die
Hauptstation. Bei dieser Ausführungsform beträgt die maximale Länge einer
Verriegelungsperiode 300 ms. Der Block 100 stellt den Start der Übertragungsprozedur dar,
was bedeutet, dass die betreffende Station wissen sollte, welche Daten übertragen
werden sollen und in Bezug auf welche Folgestation. Die Prozedur kann sich auf eine
ganze oder eine teilweise Folgesendersituation beziehen. In dem Block 102 wird ein
Neuversuchsparameter auf Null zurückgestellt. In dem Block 104 schafft die
Hauptstation die Übertragung eines Frames, was eine Entscheidungsprozedur umfassen
kann. Zum Eingeben in den Block 106 wird vorausgesetzt, dass die Auslösung sowie
die Entscheidung für das betreffende Frame für die Hauptstation erfolgreich gewesen
sind. In dem Block 106 wird getestet, ob die Folgestation positive Bestätigungen
anhand der eigenen Adresse und anhand des Steuercodes CC sendet, wobei dieser
letztere angibt, dass die Hauptstation eine spezielle Aktivität von der Folgestation wünscht.
Es gibt mehrere Möglichkeiten. Einmal kann der Steuercode erfordern, dass die
Folgestation über den Aktivitätenstatus berichtet, der die Aktivitäten, die den verriegelten
Zustand selber darstellen, nicht stört. Ein anderer Steuercode könnte einen
weitgehenden Datenaustausch erfordern, der mit einer verriegelten Folgestation nicht gestattet
werden würde. Im Allgemeinen geht, wenn die Bestätigung positiv ist, das System zu
dem Block 108, worin die Vorgänge stattfinden und ggf. beendet werden. Wenn der
Block 106 eine negative Bestätigung liefert, wird in dem Block 110 der
Neuversuchsparameter getestet. Sollte der Wert niedriger sein als 3, so implementiert der Block
116 eine kurze Warteperiode und in dem Block 120 wird der Parameter erhöht. Die
Schleife 104, 106, 110, 116, 120 wird höchstens dreimal durchlaufen. Wenn der
Parameterwert 3 erreicht, geht das System zu den Blöcken 112, 118, wodurch eine
längere Warteperiode implementiert wird. Auch diese letztere Schleife wird höchstens
dreimal durchlaufen. Zum Schluss gibt das System, wenn der Parameterwert 6
erreicht, einen Fehler zu und geht zu dem Ausgangsblock 114. Die Gesamtzeit zum
Durchführen der Prozedur beträgt etwa 324 ms.
-
Rekapitulierend lässt sich sagen, dass es drei relevante Fehlerkategorien
gibt:
-
-- Ursache: ein vorübergehender Übertragungsfehler, beispielsweise elektrische
Störung. Zeitregel: keine, weil dieser Fehler nur sehr kurz dauern sollte.
-
-- Ursache: Folgeempfangspuffer ist voll. Zeitregel: Folgestation soll das
Empfangspufferchip innerhalb von 25 ms warten. Hauptprozedur: 3mal neu übertragen, wobei
es eine Zwischenzeit von höchstens 8 ms gibt, weil 3*8 ms plus Übertragungszeit der
zugeordneten Frames mehr als 25 ms beträgt.
-
-- Ursache: Folgestation ist durch eine andere Hauptstation verriegelt. Zeitregel: keine
einzige Hauptstation darf eine Folgestation länger als 300 ms verriegelt halten; im
Falle eines Fehlers soll die Folgestation sich selber nach 300 ms entriegeln.
-
Außerdem gibt es eine Prozedur für die Folgestation, sich selbst zu
entriegeln in der Situation, in der die Hauptstation durch einen internen Fehler die
Folgestation nicht entriegelt hat, was in den Fig. 5 und 6 dargestellt ist. Das Flussdiagramm
nach Fig. 5 startet bei dem Block 130, wenn ein Frame empfangen wird. Danach wird
in dem Block 132 das in dem Empfangspuffer vorhandene Frame in die örtliche
Verarbeitungsanordnung der Station kopiert. In dem Block 134 wird detektiert, ob das auf
diese Weise erhaltene Frame einen Entriegelungscode enthält. Sollte dieses Frame
eine Entriegelungssignalisierung (Y) enthalten, so wird in dem Block 138 der
Entriegelungstimer neu gestartet. Bei dieser speziellen Organisation umfasst jedes Frame
entweder eine Entriegelung (= letztes Frame), oder eine Verriegelung (= nicht netztes
Frame). In beiden Fällen wird in dem Block 140 das Frame oder die Nachricht
verarbeitet. In dem Block 142 endet die Prozedur. In Fig. 6 ist die
Selbstentriegelungsprozedur durch eine verriegelte Station dargestellt. In dem Block 144 wird der Ablauf des
Entriegelungstimers nach 300 ms detektiert. In dem Block 146 wird die Folgestation
effektiv entriegelt. In dem Block 148 endet die Prozedur. Selbstverständlich kann,
wenn die Hauptstation dies nicht weiß, bei dem nächsten Frame der noch nicht
beendeten Nachricht die Hauptstation die betreffende Folgestation wieder verriegeln.
-
Fig. 7 ist ein Flussdiagramm einer Neuversuchsprozedur, die gegenüber
der Fig. 4 verfeinert worden ist. Im Allgemeinen haben entsprechende Blöcke die
gleichen Bezugszeichen. Die Unterschiede sind Folgende. In dem Block 101 werden zwei
Neuversuchsparameter, Neuversuch und Neuversuch1 beide auf Null zurückgestellt,
von denen der erste in Bezug auf Fig. 4 bereits beschrieben worden ist. In dem Block
103 wird getestet, ob die Folgestation eine positive Bestätigung in Bezug auf die
eigene Adresse sendet. Falls diese Bestätigung nicht empfangen wird, führt die
Hauptstation in dem Block 109 einen Test an dem Wert des Parameters Neuversuch1 durch.
Wenn die Übertragung weniger als dreimal durchgeführt worden ist, wird in dem
Block 113 der Wert des Parameters Neuversuch1 um 1 erhöht, wonach das System zu
dem Block 111 geht und die Hauptstation muss sich selbst zu anderen Vorgängen
senden. Die Schleife wird quasi-instantan durchgeführt. Dies bedeuet auf jeden Fall, dass
die Zykluszeit angemessen kleiner ist als die der nächsten langsameren Schleife, deren
Zykluszeit im Wesentlichen in dem Block 116 bestimmt wird. Die Verzögerung kann
in dem ms-Bereich liegen, aber der Wert einiger Millisekunden könnte geeignet sein.
-
Sollte in dem Block 103 der Test positiv sein, so wird in dem Block 105
der Parameter Neuversuch1 wieder auf Null zurückgestellt. Diese Maßnahme
vermeidet die voreilige Beendigung des Versuchs, wenn nach drei Durchgängen durch den
Block 113 und nach einem nachfolgenden Erfolg in dem Block 103 unabsichtlich die
Folgeadressenbestätigung wieder fehlt. Bei bestimmten Verwirklichungen aber kann
auf den Block 105 verzichtet werden. In dem Block 107 wird der Test des Steuercodes
CC durchgeführt. In beiden möglichen Ergebnissen verfährt das System wie in Fig. 4.
Text in der Zeichnung
Fig. 4
-
100 Übertragungsprozedur
-
102 Neuversuch
-
104 Frame senden
-
106 Folgestation Bestätigung und Steuercode-Bestätigung
-
110 Neuversuch
-
114 Fehler
-
1168 ms warten
Fig. 5
-
130 Frame empfangen
-
132 Frame aus Empfangspuffer kopieren
-
134 Steuercode spezifiziert Entriegelung
-
136 Entriegelungstimer hält an
-
138 Neustart des Entriegelungstimers
-
140 Nachricht verarbeiten
-
142 Ende
Fig. 6
-
144 Entriegelungstimer abgelaufen
-
146 Folgestation entriegeln
-
148 Ende
Fig. 7
-
100 Übertragungsprozedur
-
101 Neuversuch = Neuversuch 1 = 0
-
104 Frame senden
-
103 Folgestation bestätigen ?
-
105 Neuversuch 1 = 0
-
107 Steuercode bestätigen ?
-
109 Neuversuch 1
-
111 Fehler
-
112 Neuversuch
-
114 Fehler
-
116 8 ms warten
-
118 100 ms warten