DE4020809C2 - Verfahren zum Informationsaustausch über einen seriellen Bus - Google Patents

Verfahren zum Informationsaustausch über einen seriellen Bus

Info

Publication number
DE4020809C2
DE4020809C2 DE19904020809 DE4020809A DE4020809C2 DE 4020809 C2 DE4020809 C2 DE 4020809C2 DE 19904020809 DE19904020809 DE 19904020809 DE 4020809 A DE4020809 A DE 4020809A DE 4020809 C2 DE4020809 C2 DE 4020809C2
Authority
DE
Germany
Prior art keywords
byte
data
bit
block
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19904020809
Other languages
English (en)
Other versions
DE4020809A1 (de
Inventor
Peter Dipl Ing Schrottenloher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19904020809 priority Critical patent/DE4020809C2/de
Publication of DE4020809A1 publication Critical patent/DE4020809A1/de
Application granted granted Critical
Publication of DE4020809C2 publication Critical patent/DE4020809C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Description

Die Erfindung bezieht sich auf ein wie im Oberbegriff des Patentanspruchs 1 angegebenes Verfahren zum Informationsaustausch über einen seriellen Bus.
Ein derartiges Verfahren ist bereits aus der DE 21 17 819 C3 bekannt. Die bekannte Übertragungseinrichtung verwendet Datentelegramme, die aus Fernschreibzeichen zusammengesetzt und daher byteorientiert sind. Auf ein Synchronzeichen folgen Zeichen mit einer Adresseninformation, einer Information über die Länge des Datentelegrammes und die zu übertragenden Daten.
Aufgabe der Erfindung ist es, das im Oberbegriff des Patentanspruchs 1 angegebene Verfahren zum Informationsaustausch über einen seriellen Bus so weiter zu vervollkommnen, daß sich die Art des Informationsaustausches zwischen der Zentrale und den Teilnehmerstellen in Abhängigkeit von der Art der zu übertragenden Daten optimieren läßt.
Gemäß der Erfindung wird diese Aufgabe mit den im kennzeichnenden Teil des Patentanspruchs 1 angegebenen Verfahrensschritten gelöst.
Das erfindungsgemäße Verfahren hat den Vorteil, daß zwischen der Zentrale und den Eingabe- und/oder Ausgabeeinheiten verschiedenartige Informationen in jeweils optimaler Weise ausgetauscht werden können.
In weiterer Ausgestaltung der Erfindung wechseln die aus jeweils acht Bit bestehenden Bit bestehenden Datenbytes eines Datenblockes mit Einzelbits ab, die jeweils Logikpegel 1 haben.
Zweckmäßigerweise folgen in einem byteorientierten Datentelegramm auf das Steuerbyte ein Adreßbyte und ein Werte-Byte.
Die Erfindung wird anhand der in den Figuren dargestellten Ausführungsbeispiele näher erläutert.
Es zeigen
Fig. 1 einen Teile eines Anzeigefeldes,
Fig. 2 eine Impulsfolge mit Taktimpulsen und mit Datenimpulsen,
Fig. 3 eine über einen seriellen Bus zu übertragende Bytefolge,
Fig. 4 einen bitorientierten Block,
Fig. 5 einen byteorientierten Block,
Fig. 6 ein Flußdiagramm für einen Eingabe-/Ausgabebaustein,
Fig. 7 ein getastetes Ausgangssignal,
Fig. 8 ein Impulsdiagramm für das Einlesen von Bytes und
Fig. 9 ein Impulsdiagramm für die Ausgabe von Bytes.
Das Verfahren dient zum Austauschen von Informationen zwischen der Zentrale und den Eingabe- und/oder Ausgabeeinheiten, die über den seriellen Bus an die Zentrale angeschlossen sind. Der Informationsaustausch erfolgt mit Hilfe von Datentelegrammen. Die von der Zentrale ausgesandten Datentelegramme sind wahlweise byteorientiert oder bitorientiert.
Die byteorientierten Datentelegramme enthalten jeweils ein oder mehrere Adreßbytes. Die bitorientierten Datentelegramme enthalten jeweils ein Bit je Eingabe- und/oder Ausgabeeinheit.
Die Datentelegramme beginnen jeweils mit einem Synchronisationszeichen, auf das ein Steuerbyte und ein oder mehrere Datenbytes folgen.
Die aus jeweils acht Bit bestehenden Datenbytes eines Datentelegrammes wechseln mit Einzelbits ab, die jeweils Logikpegel 1 haben.
In einem byteorientierten Datentelegramm folgen auf das Synchronisationszeichen ein Steuerbyte, ein Adreßbyte und ein Werte-Byte.
Bitorientierte Datentelegramme werden mit einem Synchronisationszeichen abgeschlossen.
In der folgenden Figurenbeschreibung werden der Einfachheit halber die Ein- und/oder Ausgabeelemente als E/A-Elemente, die Eingabe- und/oder Ausgabebausteine als E/A-Bausteine und Eingabe- und/oder Ausgabevorrichtungen als E/A-Vorrichtungen und die Ein- und/oder Ausgabeaufsätze als E/A-Aufsätze bezeichnet. Die E/A-Aufsätze und die E/A-Elemente bilden die E/A-Peripherie P.
Das in Fig. 1 gezeigte Anzeigefeld enthält Vorrichtungen, die aus gleichartigen E/A-Bausteinen 411 . . . 416 und darauf aufsetzbaren verschiedenartigen E/A-Aufsätzen 501 . . . 711 bestehen.
Die E/A-Bausteine 411 . . . 416 enthalten jeweils eine Sendevorrichtung und eine Empfangsvorrichtung zum seriellen Datenaustausch und sind gruppenweise über je einen gemeinsamen Datenbus 31 . . . 3x miteinander und mit einer gruppeneigenen Zentrale 21 . . . 2x verbunden, die eine Vorrichtung zur Ablaufsteuerung enthält.
Die Vorrichtung 11 zur Hauptsteuerung, die mit dem Datensichtgerät 11a versehen ist, tauscht mit einer in der Figur nicht dargestellten übergeordneten Einrichtung Prozeßdaten PD aus. Die Vorrichtung 12 zur Diagnose bzw. Einzelsteuerung, die mit dem Datensichtgerät 12a versehen ist, tauscht mit einer nicht dargestellten Anordnung ebenfalls Prozeßdaten aus.
Die Hauptzentrale 13 ist über die Leitung 300 mit der Vorrichtung 11 zur Hauptsteuerung verbunden. Die Zentralen 21 . . . 2x haben jeweils einen Anschluß für den mit der Hauptzentrale 13 verbundenen Bus 302 und einen Anschluß für den mit der Vorrichtung 12 verbundenen Bus 301.
An die Zentrale 21 ist der lokale Bus 31 angeschlossen. In entsprechender Weise verbinden weitere, nicht dargestellte lokale Busse jeweils eine weitere Zeile von E/A-Bausteinen des Anzeigefeldes mit einer zugeordneten Zentrale.
Die E/A-Bausteine sind jeweils mit einem Bezugszeichen versehen, dessen erste Ziffer 4, dessen zweite Ziffer die betreffende Zeile des Anzeigefeldes und dessen dritte Ziffer eine fortlaufende Nummer innerhalb der betreffenden Zeile ist.
Somit sind die E/A-Bausteine 411 . . . 416 der ersten Zeile an den lokalen Bus 31 angeschlossen.
Die Anzahl von Zeilen des Anzeigefeldes kann insbesondere etwa 100, die Zahl von E/A-Bausteinen je Zeile insbesondere etwa 250 betragen. An die Hauptzentrale 13 lassen sich somit bis zu etwa 100 Zentralen anschließen.
Der E/A-Baustein 411 ist nicht bestückt, so daß sein Eingang E und sein Ausgang A frei zugänglich sind. Die weiteren E/A-Bausteine der ersten Zeile sind mit E/A-Aufsätzen bestückt, die unmittelbar an den betreffenden E/A-Baustein angeschlossen und zugleich als E/A-Element ausgebildet sind. Als Eingabeelemente dienen der Schalter 501 und die Taste 502. Als Ausgabeelemente sind die Leuchtdiode 601, die Anzeigelampe 602, der Optokoppler 603, das Relais 604 und der Summer 605 vorgesehen.
Die E/A-Bausteine können andererseits mit je einem Schieberegister als E/A-Aufsatz bestückt sein. An die Schieberegister sind dann die E/A-Elemente angeschlossen. Der E/A-Baustein ist dann somit jeweils mittelbar mit einem Eingabeelement und/oder mit einem Ausgabeelement verbunden. Als Ausgabeelemente können dabei eine Vorrichtung zur 7-Segment-Anzeige, ein Drucker mit CENTRONIX-Interface oder ein Codierschalter dienen.
Außer den genannten E/A-Elementen erster Art können insbesondere die folgenden E/A-Elemente zweiter Art Verwendung finden.
Ein Meßgerät kann mit seinem Eingang an den Ausgang eines Schieberegisters angeschlossen und mit seinem Ausgang an ein weiteres Schieberegister geführt sein.
Als E/A-Aufsätze können ferner Analog/Digital-Wandler bzw. A/D- Wandler, Digital/Analog-Wandler bzw. D/A-Wandler und Zähler dienen.
Ein Sensor, der z. B. ein Temperatursensor sein kann, kann an einem A/D-Wandler geführt sein. Ein Aktor, insbesondere mit Analogwert-Vorgabe, kann an einen D/A-Wandler angeschlossen sein.
Die genannten A/D-Wandler und der D/A-Wandler liegen jeweils mit einem Eingang an den Ausgang und mit einem Ausgang am Eingang des zugeordneten E/A-Bausteins. Dabei hat der Eingang des dem D/A-Wandler zugeordneten E/A-Bausteins und der Ausgang des dem A/D-Wandler zugeordneten E/A-Bausteins jeweils eine Hilfsfunktion.
Ferner kann die Einrichtung, die ein Gerät oder eine Anlage sein kann, in Empfangs- und in Senderichtung jeweils zwei E/A-Aufsätze mit je einem Schieberegister benötigen.
Fig. 2 zeigt eine Spannungspegel-, Bit- und Takt-Darstellung für die über den lokalen Bus übertragenen Daten. Impulse im Bereich von 2/3 U bis U werden als Taktimpulse gewertet. Blieb der Pegel der Datenleitung im Bereich von 1/3 U bis 2/3 U, so wird ein Datenbit "1" angenommen. War der Pegel der Datenleitung zwischen zwei Taktimpulsen für eine vorgegebene Zeit im Bereich von 0 bis 1/3 U, so wird ein Datenbit "0" angenommen.
Als Orientierungszeichen für den E/A-Baustein wird im fortlaufenden Daten-Bitstrom ein Synchronisationszeichen verwendet. Dieses besteht aus der kontinuierlichen Folge von 9×"0". Um bei beliebigem Dateninhalt kein Synchronisationszeichen vorzutäuschen, wird ähnlich dem bekannten SDLC-Verfahren nach jeweils acht Datenbits ein Zusatzbit mit dem logischen Wert "1" eingeschoben. Anders als bei dem SDLC-Verfahren ist ein festes Raster vorgesehen, so daß sich eine definierte Blocklänge ergibt. Für eine allgemeine Bitfolge ohne Darstellung der Taktimpulse zwischen den Datenbits ergibt sich das in Fig. 3 gezeigte Bild.
Eine Folge von Bits, die logisch zusammengehören und eine bestimmte Funktion im E/A-Baustein ansprechen, bildet einen Block. Es gibt zwei Arten von Blöcken:
Bitorientierte Blöcke enthalten Werte für alle E/A-Bausteine, wobei jeweils ein Bit einem E/A-Baustein zugeordnet ist. Ein solcher Block wird durch Synchronisationszeichen abgeschlossen.
Byteorientierte Blöcke enthalten codierte Werte, die entweder für einen bestimmten, angegebenen E/A-Baustein oder gleichzeitig für alle E/A-Bausteine gültig sind. Ein Abschluß des Blockes durch Synchronisationszeichen ist dabei nicht nötig, und daher nicht vorgesehen.
Ein bitorientierter Block ist in Fig. 4, ein byteorientierter Block in Fig. 5 dargestellt.
Mit Hilfe dieser Blöcke werden die Daten zwischen der Zentrale und dem E/A-Baustein ausgetauscht. Dabei können Ausgabewerte Bitausgaben oder Byteausgaben sein.
Abfragen können zu einer Biteingabe oder Byteeingabe auffordern oder sich auf die Betriebsart, das zuletzt ausgegebene Bit oder Byte, das zuletzt eingelesene Bit oder Byte oder auf einen oder mehrere zuletzt eingestellte Parameter beziehen. Ferner kann eine Abfrage, ob ein E/A-Baustein vorhanden ist, eine Bitantwort auslösen. Weiterhin kann sich eine Abfrage darauf beziehen, ob die Schnittstelle zur Peripherie hin funktioniert oder ob eine Störung vorliegt.
Eine Biteingabe ist vorzugsweise damit verbunden, daß der Eingang E wie bei Sensor-Bedienungstasten üblich berührt oder mit einer Spannungs- oder Stromquelle verbunden wird.
Zweckmäßige Einstellungsmöglichkeiten betreffen die Betriebsart und umfassen insbesondere eine Einstellung der Ausgabeform des Taktes normal invertiert oder permanent und eine Einstellung am Eingang auf Ansprechen bezüglich des Pegels oder der Flanken. Weitere Einstellungsmöglichkeiten betreffen eine Adreßzuweisung, Parametereinstellungen wie Einstellungen einer Monoflop-Zeit für die Bitantworten, des Tastverhältnisses bei getaktetem Ausgang oder einer Blinkfrequenz, ein Reset bzw. eine Grundeinstellung und ein Freigeben oder Sperren des Blinkens.
In die Eingabeelemente werden als Eingabedaten insbesondere Steuerungs- oder Quittierungssignale eingegeben.
Der E/A-Baustein verhält sich entsprechend dem Flußdiagramm nach Fig. 6. Dabei bedeutet
data
8 Bit + "1" im 9. Bit
Sync 8 × "0" + "0" im 9. Bit
NOP Befehl "no operation"
. . . Ergebnis der Auswertung
/ kein weiteres Ergebnis bzw. Empfang von Zeichen
In der folgenden Beschreibung ist unter einem Sync-Zeichen ein Synchronisationszeichen zu verstehen. Immer dann, wenn das Sync-Zeichen empfangen wird, wird der E/A-Baustein in den Zustand "bereit" überführt. Das hat den Vorteil, daß das System aus undefinierten bzw. blockierenden Zuständen befreit wird.
Dieser Bereitzustand wird nur auf dem Weg "8 Bit + 1" verlassen. Die "1" trennt hier die 8 Bit voneinander, im Unterschied zum Sync-Zeichen, das anstelle der "1" im 9. Bit jeweils eine "0" hat.
Kommt ein Zeichen oder ein Block, der kein Sync-Zeichen ist, so verläßt der E/A-Baustein den Zustand "bereit".
Das Sync-Zeichen besteht aus neun "0"-Bits. "8 Bit + 1", d. h. acht beliebige Bit und ein "1"-Bit an neunter Position bedeutet, daß ein Kontrollbyte empfangen wurde. Aus dem Inhalt der ersten acht Bit kann der E/A-Baustein erkennen, um welche Art von Datenblock es sich handelt und wie lang der gesamte Datenblock sein wird.
Mit einem Bit der 8 Bit des Kontrollbytes wird dem E/A-Baustein mitgeteilt, um welche Art von Block es geht. Mit zumindest 4 Bit wird die Bedeutung des gesamten Blocks entsprechend einem Kontroll code codiert. In diesem Zustand decodiert der E/A-Baustein diese vier Bits der empfangenen 8 Bits. Liegt jedoch keine zulässige Bitkombination und kein zulässiger Code vor, so geht der E/A-Baustein in den Wartezustand über. Dies ist z. B. bei Störungen auf dem Übertragungsweg oder im E/A-Baustein selbst der Fall. In diesem Zustand wartet der E/A-Baustein darauf, wieder ein Sync-Zeichen zu empfangen, d. h. eine Folge von neun logischen "0". Nach Empfang des Sync-Zeichens geht der E/A-Baustein wieder in den Grundzustand "bereit" über.
Wurde eine decodierbare Nachricht empfangen, so geht der E/A- Baustein in den Zustand "auf nächstes Byte warten" oder " Kontroll-Code interpretieren" über. Das Verfahren sieht prinzipiell unterschiedliche Blöcke vor: Einerseits einen Kurzblock, der aus drei Bytes besteht, d. h. 3×8 Bit und andererseits einen Langblock, der praktisch beliebig viele Bits enthalten kann. Um welche Art von Block es sich handelt, geht aus einem der ersten 8 Bit hervor.
Der E/A-Baustein nimmt im Falle eines Drei-Byte-Blockes bzw. eines byte-orientierten Datentelegrammes den Zustand "auf nächstes Byte warten" und im Falle eines Bitblockes bzw. bitorientierten Datentelegrammes den Zustand "Kontroll-Code interpretieren" an. Der Drei-Byte-Block dient insbesondere dazu, von der Zentrale aus einzelne Unterstationen anzusprechen oder codierte Parameter zu übertragen. Der Bitblock dient dazu, eine Unterstation nach der anderen abzufragen oder mit einem aktuellen Ausgabewert zu versorgen. Die Länge des Bitblockes richtet sich danach, mit wievielen E/A-Bausteinen das Anzeigefeld bestückt ist. Besagt der Kontrollcode, daß nichts zu tun ist, d. h. im Falle NOP (No Operation), so geht der E/A-Baustein in den Zustand über, in dem er auf ein Sync-Zeichen wartet. Ein Bit-Block mit den Nachrichteninhalt "NOP" hat insbesondere die Funktion, den Kontakt zur Unterstation aufrechtzuerhalten, ohne daß ein Befehl zu übermitteln ist, insbesondere zur Aufrechterhaltung der Synchronisation oder dergleichen oder wenn für Servicezwecke ein Datenverkehr auf der Leitung verlangt wird, ohne daß der E/A-Baustein auf die empfangenen Daten reagieren soll.
Im Falle "kein NOP" geht der E/A-Baustein in den Zustand über, in dem Taktimpulse gezählt werden. Dabei wird jeder 9. Impuls ignoriert und der Inhalt des Impuls-Zählers mit der eigenen Adresse verglichen. Im betrachteten Fall wurde im ersten Block mitgeteilt, daß es sich um einen Bitblock handeln werde, d. h. eine Bitfolge wählbarer Länge, die mit einem definierten Abschlußzeichen abgeschlossen wird. Dieses Abschlußzeichen ist das Synchronzeichen, bestehend aus neuen "0"-Bits. Hat der E/A-Baustein erkannt, daß es nicht um "No Operation", sondern um etwas Konkretes geht, so beginnt er, die Taktimpulse zu zählen. Diese Taktimpulse sind in Fig. 2 mit TP bezeichnet. Die Taktimpulse werden anhand der Anstiegsflanke im positiven Spannungsbereich erkannt. Zwischen den Taktimpulsen TP ist ein Freiraum für die Dateninformation vorgesehen. Fig. 2 zeigt für die Datenimpulse allein jeweils den Logikpegel. Zwischen diesen Datenbits liegen die nicht dargestellten Taktimpulse.
Die Bitfolge nach Fig. 3 beginnt mit 9 "0"-Datenbits, d. h. mit den Sync-Zeichen. Darauf folgen beliebige Datenbits und an neunter Position die logische "1". Der erste Block nach dem Sync-Zeichen ist das Kontrollbyte.
Der E/A-Baustein ist so geartet, daß er immer nach Empfang von neun logischen "0" in Reihe erkennt, daß es sich um ein Sync- Zeichen handelt und dann in den Bereitzustand zurückkehrt.
Nach Empfang des Kontrollbytes beginnt der Baustein, die Taktimpulse zu zählen. Jeder 9. Taktimpuls wird dabei ignoriert, da dieser dem Rahmenbit und nicht dem Nutzdatenbit zugeordnet ist. Die Information des Informationsbits, das nach der Anstiegsflanke des ersten eigentlichen Datenimpulses kommt, betrifft den E/A-Baustein mit der Adresse 1. Nach dem ersten Datenbit kommt die Anstiegsflanke des nächsten Taktimpulses. Der Datenbitfreiraum danach ist zum Datenaustausch mit dem E/A- Baustein bestimmt, der die Adresse 2 hat. Die dabei übermittelte Information ist entweder ein neuer Ausgabewert oder ein neuer Eingabewert.
Jeder E/A-Baustein zählt Impulsflanken mit. Nur bei zwei Ereignissen verläßt der E/A-Baustein diesen Zustand. Im einen Fall empfängt er vor Erreichen seiner eigenen Adresse ein Sync-Zeichen, d. h. die Zentrale hat nicht genug Impulse abgegeben, um diesen E/A-Baustein auch zu erreichen. Im anderen Fall wird er bei verlorener Synchronisation neu synchronisiert, so daß er in den Zustand "bereit" übergeht. Entspricht die mitgezählte Nummer der eigenen Adresse, so geht er in den Zustand über, in dem der E/A-Baustein entsprechend dem Kontrollcode des ersten Blocks verfährt. Je nach Kontrollcode, der die Übertragungsrichtung bestimmt bzw. festlegt, ob es sich um eine Abfrage oder um eine Ausgabe handelt, übernimmt der E/A-Baustein das Datenbit als Ausgabewert und leitet es an den eigenen Ausgang weiter oder gibt in dieser Datenbitphase den am Eingabepin herrschenden Zustand oder einen anderen, im Kontrollcode spezifizierten Wert an die Leitung weiter.
Ist die Eingabe oder Ausgabe abgeschlossen, so geht der E/A-Baustein ohne weiteres externes Ereignis in den Zustand "auf Synchron warten" über, da die weiteren Nachrichten für andere E/A-Bausteine bestimmt sind.
Empfängt der E/A-Baustein ein Sync-Zeichen, so geht er in den Grundzustand "bereit" über.
Erkennt der sich im Zustand "bereit" befindliche E/A-Baustein aufgrund des Codes im ersten Kontrollblock, daß es sich insgesamt um einen Drei-Byte-Block handeln wird, so geht er in den Zustand "auf nächstes Byte warten" über. In diesem Zustand wird nicht auf ein Sync-Zeichen gewartet, da die Gesamtlänge der Dateninformation durch die Angabe "3-Byte-Block" klar ist. Im Zustand "auf nächstes Byte warten" wartet der E/A- Baustein zunächst den Zustand des zweiten Bytes ab.
Mit dem Empfang des zweiten Byte hat er die E/A-Adresse empfangen. Der E/A-Baustein nimmt diesen Zustand ein, wenn er insgesamt weitere acht beliebige Bit und eine "1", d. h. das zweite Byte empfangen hat. Alle diese Drei-Byte-Blöcke dienen dazu, eine bestimmte E/A-Adresse anzusprechen: Entweder um dem E/A-Baustein etwas mitzuteilen oder vom E/A-Baustein etwas zu erfahren.
Der E/A-Baustein führt einen Adressenvergleich durch. Im Falle einer Fremdadresse geht der E/A-Baustein in den Zustand über, in dem er ein weiteres Byte abwartet. Wurde daraufhin ein weiteres Byte mit acht beliebigen Bit und eine "1" auf der neunten Bitposition empfangen, dann ist der Drei-Byte-Block beendet und der E/A-Baustein geht selbsttätig in den Zustand über, in dem er zum Empfang weiterer Informationen bereit ist
Wurde beim Vergleich des zweiten Blocks mit der eigenen Adresse erkannt, daß der betrachtete E/A-Baustein selbst angesprochen ist, so geht der E/A-Baustein in den Zustand über, in dem der Kontrollcode interpretiert wird. Enthält der Kontrollcode die Information "No Operation", so wird der E/A-Baustein - obwohl er angesprochen wurde - wieder in den Zustand überführt, in dem ein drittes Byte abgewartet wird. Auf diese Weise wird die Informationsauswertung routinemäßig ohne weitere Aktion beendet.
Für den Fall, daß die im Kontrollcode enthaltene Information kein "No Operation" war, gibt es zwei Varianten. Bei der ersten Variante soll der E/A-Baustein einen Wert empfangen. Bei der zweiten Variante soll der E/A-Baustein einen Wert, den er selber empfangen hat, abgeben.
Im Fall, daß die im Kontrollcode des ersten Blockes enthaltene Information "empfangen" heißt, geht der E/A-Baustein in den Zustand über, in dem er das nächste Byte abwartet, einliest und entsprechend der im ersten Byte codierten Bedeutung dieses Bytes verwendet. Beispielsweise wird eine neue Konfiguration irgendeines Betriebsverhaltens übernommen.
Erkennt der E/A-Baustein, daß er senden soll, wird der angeforderte Wert während der nächsten acht Bitzeiten Bit für Bit an die Leitung gelegt und damit zur Zentrale übertragen. Nach Abschluß dieser acht Bit - entweder in Empfangs- oder Senderichtung - ist der Drei-Byte-Block beendet. Der E/A-Baustein geht in den Grundzustand a, d. h. "bereit" über.
In jedem Zustand, in dem ein weiteres Byte erwartet wird, ist ein Ausstieg in den Zustand "bereit" bei Empfang des Sync- Zeichens vorgesehen. Eine Auswerteschaltung, die das Synchron- Zeichen erkennt, führt bei erkanntem Sync-Zeichen den E/A-Baustein in den Zustand "bereit" über.
Eine zweckmäßige Wahl der 3-Byte- und der Bit-Blöcke ergibt sich aus folgender Tabelle:
In der Tabelle bedeuten:
Block
 1 Bit-Ausgabe
 2 Bit-Eingabe
 3 Blinken aktiv
 4 E/A vorhanden
 5 Störung
 6 letzte Bit-Ausgabe
 7 NOP: no operation
 8 Betriebsart/u = Adresse/m: Modus
 9 Adreß-Vergabe/u′: Antwort
10 Vorgabe/Tastung & Blinkfrequenz
11 Byte-Ausgabe
12 Byte-Eingabe
13 Abfrage: Tastung & Blinkfrequenz
14 Abfrage: eingestellter Modus
15 NOP: no operation
16 Reset
a = 0: Bit-Block
1: 3-Byte-Block
b = Reserve
c = Controllcode
d = im 3-Byte-Block: E/A-Adresse (u = 0: Sammel-Adresse)
im Bit-Block: Werte für die E/A-Bausteine erster Art
e = im 3-Byte-Block: Modus/Parameter/Ausgabe-Byte/Eingabe-Byte u.ä.
im Bit-Block: Werte für die E/A-Bausteine zweiter Art
Das Protokoll auf der Peripherieseite P der E/A-Bausteine sieht eine Bitausgabe vor. Der mit dem Bitausgabeblock vorgegebene logische Ausgangspegel steht am Stift A statisch an. Zum Stromsparen besteht die Möglichkeit der Tastung des Ausgangssignales. In diesem Fall ist, wie Fig. 7 zeigt, der Ausgang A periodisch nur für einen Teil der Zeit aktiv. Die Wiederholfrequenz 1/T liegt über etwa 60 Hz, so daß ein Flimmereindruck vermieden wird. Es gibt maximal 8 Werte für das Tastverhältnis. "0" bedeutet dabei "permanent unaktiv", "8" bedeutet "permanent aktiv". Bei einer auf das etwa dreifache angehobenen Stromstärke durch eine angeschlossene Leuchtdiode während einem Zehntel der Zeit ergibt sich etwa der gleiche visuelle Eindruck.
Zur Realisierung der Tastung werden die Taktimpulse des lokalen Busses 31 mit Hilfe eines Modulo-8-Zählers gezählt. Der Ausgang A ist dann für die Anzahl von Taktimpulsen aktiv, die im entsprechenden 3-Byte-Block an diesem E/A-Baustein vorgegeben wurde. Das Synchronisationszeichen setzt den Impulszähler auch zurück. Um zu vermeiden, daß bei der Tastung in mehreren E/A-Bausteinen die Stromquelle zur selben Zeit stark belastet wird, werden die niedrigstwertigen 3 Bits der E/A-Baustein-Adresse dem Modulo-8-Zähler auch zugeführt. Hierdurch wird erreicht, daß sich die Stromaufnahme der E/A-Bausteine ausmittelt.
Der E/A-Baustein kann auch selbständig, d. h. ohne dauerndes Umstellen des Ausgangszustandes durch die Zentrale seinen Ausgang A periodisch an- und ausschalten. Die "An"- und die "Aus"- Zeit betragen gleichermaßen ein Vielfaches von 8 Taktimpulsen des Taktes, der über den lokalen Bus zugeführt wird. Dieser Wert, der im Bereich von 1 bis 31 liegt, wird durch die Zentrale in einem entsprechenden 3-Byte-Block vorgegeben.
Aktiviert und mit dem Einsatzzeitpunkt des Blinkens anderer E/A-Bausteine synchronisiert wird das Blinken mit einem entsprechenden Bitblock "Blinken aktiv". Alle E/A-Bausteine mit darin freigegebenem Blinken beginnen nach dem abschließenden Synchronisationszeichen dieses Bitblocks mit einer "An"-Zeit. Die Zentrale bestimmt daher den zeitlichen Verlauf des Blinkens. Dabei sorgt die Zentrale dafür, daß es zu keinen Rhythmusstörungen kommt.
Das Einlesen von Bytes erfolgt entsprechend Fig. 8, die den zeitlichen Verlauf der Signalspannungen an Stiften des E/A-Bausteins zeigt. Diese Signalspannungen sind das Datensignal D, das Eingangssignal E, der Takt T und das Ausgangssignal A.
In Fig. 8 bedeuten u8 das letzte Bit der E/A Adresse und a . . . h die Bits 1 bis 8 die im Schieberegister parallel eingelesen sind.
Mit t1 ist eine Monoflop-Zeitkonstante, getriggert durch eine fallende Taktflanke, bezeichnet. In dieser Zeit, die durch ein Modus-Kommando verändert werden kann, antwortet der E/A-Baustein.
In Fig. 8 sind zu den Signalspannungen an den Stiften E, T und A noch die Stiftbezeichnungen QH, clock und shift/load angegeben. Diese Bezeichnungen werden bei üblichen Schieberegistern z. B. bei solchen vom Typ 74 LS165 und 74 LS166 für die entsprechenden Anschlüsse verwendet.
Vorzugsweise erfolgt gleichzeitig Speicherung der Werte im E/A- Baustein, insbesondere zum Zwecke einer Wiedergewinnung bei gestörter Einrichtung.
Die Ausgabe von Bytes erfolgt entsprechend Fig. 9, die den zeitlichen Verlauf der Signalspannungen an Stiften des E/A-Bausteines zeigt. Diese Signalspannungen sind das Datensignal D, das Ausgangssignal A, der Takt T und das Eingangssignal E. Die in Fig. 9 zusätzlich angegebenen Stiftbezeichnungen beziehen sich auf die entsprechenden Anschlüsse des handelsüblichen Schieberegisters vom Typ 74 LS595.
Dabei wird direkt von der Datenleitung D nach A ausgegeben. Gleichzeitig wird der gesamte Wert im E/A-Baustein gespeichert, so daß ein späteres Kontroll-Lesen oder eine Wiedergewinnung der Information bei gestörter Einrichtung möglich ist.
Der E/A-Baustein sieht zweckmäßigerweise verschiedene Modi für den Takt T und das Eingangssignal E vor. Der Takt T kann dabei wahlweise - in derselben Polarität wie der auf dem lokalen Bus oder dazu invertiert sein. Bei Byteeingaben wird er vorzugsweise nur so lange am Stift T ausgegeben, so lange der Ausgang A aktiv ist. Bei Byte-Ausgaben wird er vorzugsweise nur so lange am Stift T ausgegeben, wie der Eingang E aktiv ist.
Im Modus Pegel-Eingabe für den Eingang E wird genau der zum Abfragezeitpunkt anliegende logische Wert eingelesen. Beim Modus "Flanke" für den Eingang E triggert die Flanke ein Flip-Flop, das zum Abfragezeitpunkt gelesen und damit auch wieder rückgesetzt wird.
Zweckmäßigerweise läßt sich dabei ein Ansprechen auf die Anstiegs- oder Abstiegsflanke einstellen.
Ferner kann zwischen den Parametern t, b und tz gewählt werden. Dabei bedeuten t eine Tastung mit 0 bis 8 von 8 Taktimpulsen, b ein Blinken mit 1 bis 31mal 8 Taktimpulsen an bzw. aus und tz eine Torzeit, und zwar ein zeitliches Tor innerhalb einer Bitzeit direkt hinter der fallenden Flanke des Taktimpulses, in dem der E/A-Baustein antwortet. Eine Grundeinstellung sieht zweckmäßigerweise 100 µs vor. Diese Zeit kann auf die Werte 10, 100, 1000 µs umgeschaltet werden.
Der E/A-Baustein enthält zweckmäßigerweise als Funktionseinheiten einen Fensterkomparator zur Unterscheidung der Pegel am Datenanschluß, ein 9-Bit-Schieberegister zur Aufnahme von 8 Daten- und 1 Rahmen-Bit, einem 9×"0"-Vergleicher zur Generierung eines internen Synchronisationssignals, einen bis 9 zählenden Zähler als Rahmen- bzw. Byte-Zähler, einen Zähler bis 255 I als Taktimpulszähler zum Adreßvergleich.
Der Fenster-Komparator hat vorzugsweise drei Ausgänge: Einen Taktausgang, einen Datenausgang für die logische 1 des Datensignals und einen Datenausgang für die logische 0 des Datensignals.
Ein Sequenzer generiert aus Synchronisations- und Rahmeninformationen Signale, die die zeitliche Orientierung im Bitstrom ermöglichen. Insbesondere gewinnt er die Kriterien "bereit", "Kontroll-Byte", "Adresse da" und "drittes Byte da".
Ein Kontroll-Code-Decoder steuert zusammen mit dem Sequenzer unter anderem die Signalperiode. Ein Antwort-Multiplexer schaltet die laut Kontroll-Code gewünschte Information mit einem Gatter in Richtung Datenanschluß durch. Ein Torzeit- Monoflop belegt über den Datenstift den lokalen Bus zu einer bestimmten Zeit für eine bestimmte Zeitdauer. Diverse Register dienen unter anderem zur Speicherung von Modus-Byte, Parametern bzw. letztem Ausgabe-Byte. Eine EEPROM-ähnliche Struktur dient zum Speichern der für diesen E/A-Baustein übernommenen Adresse.
Die E/A-Peripherie P umfaßt eine Vielzahl von direkt anschließbaren Standardbauteilen, insbesondere LED, Relais, Signallampen, Optokoppler, Summer, Kleinlautsprecher, Schalter und Taster.
Nach dem Zwischenschalten einfacher Schieberegister, z. B. vom Typ 74 LS595, 165, 166 oder dergleichen lassen sich 7-Segment-Anzeigen, Drucker, Tastaturen mit paralleler Schnittstelle, Meßgeräte, steuerbare Stromversorgungen oder Codierschalter anschließen.
Nach dem Zwischenschalten von A/D- bzw. D/A-Wandlern, gegebenenfalls in Verbindung mit einem Schieberegister, lassen sich Sensoren, z. B. für Temperatur oder Licht oder Aktoren bzw. Geräte mit Analog-Eingängen anschließen.
Die E/A-Bausteine werden zweckmäßigerweise als Chips realisiert, die die genannten Funktionseinheiten enthalten. Der E/A-Baustein besteht vorzugsweise aus einem einzigen Chip mit 6 Anschlüssen und einer Miniaturleiterplatte zur Aufnahme dieses Chips und der Anschlußstifte zum Bus und der E/A-Peripherie P hin.
Bei der Adressierung von E/A-Bausteinen sendet die Zentrale - zweckmäßigerweise zyklisch - 3-Byte-Blöcke der Bedeutung "Adreßvergabe" aus. Die Zentrale sendet die Taktimpulse aus und belegt aktiv die Datenbits im ersten und zweiten Byte. Der erste Block besagt, daß es um die Adreßvergabe geht. Das zweite Byte beinhaltet die Adresse, die vergeben werden soll. Die Zentrale gibt auch den Impulsrahmen für das dritte Byte vor, ist aber in den Datenpositionen passiv. In diesem Zustand wertet die Zentrale empfangene Datenimpulse aus. Der E/A-Baustein, der die Adresse des zweiten Bytes übernimmt, legt in diese Phase die Adresse in die Datenpositionen des dritten Bytes. Die ersten beiden Bytes gehen von der Zentrale zum E/A-Baustein. Der Dateninhalt des dritten Bytes geht vom E/A-Baustein zur Zentrale.
Zur Erweiterung der Eingabe- oder Ausgabemöglichkeiten können Schieberegister vorgesehen sein. Diese Schieberegister benötigen zum seriellen Übergeben oder Empfangen des Wertes einen Takt. Dieser Takt läßt sich vorhandenen Anschlüssen des E/A- Bausteines entnehmen, insbesondere durch Doppelverwendung des Eingangsanschlusses. In Ausgaberichtung wird auf dem Eingangsanschluß der Schiebetakt ausgegeben. In Eingaberichtung wird der Schiebetakt auf dem Ausgabeanschluß an das angeschlossene Schieberegister ausgegeben. Mit Hilfe der Schieberegister wird die Möglichkeit der Ein-Bit-Ausgabe für eine Byte-Ein-/Ausgabe nutzbar gemacht. Auf diese Weise lassen sich z. B. Siebensegmentanzeigen oder Drucker anschließen.
Die Taktinformation, die der E/A-Baustein abgibt, besteht aus den von der Zentrale empfangenen Taktimpulsen. Der E/A-Baustein gibt diese Taktimpulse weiter. Ein eigener Taktgenerator ist daher im E/A-Baustein weder vorgesehen noch erforderlich.

Claims (3)

1. Verfahren zum Austauschen von Informationen zwischen einer Zentrale und über einen seriellen Bus daran angeschlossenen Eingabe- und/oder Ausgabeeinheiten mit Hilfe von Datentelegrammen,
dadurch gekennzeichnet,
daß von der Zentrale ausgesandte Datentelegramme wahlweise byte- oder bitorientierte Blöcke enthalten,
daß von der Zentrale ausgesandte Datentelegramme jeweils ein Steuerbyte enthalten, das angibt, ob ein bit- oder byteorientierter Block folgt,
daß die die byteorientierte Blöcke enthaltenden Datentele­ gramme zur Adressierung der Eingabe- und/oder Ausgabeeinhei­ ten jeweils wenigstens ein Adreßbyte enthalten, auf das wenigstens ein Datenbyte folgt und
daß die bitorientierte Blöcke enthaltenden Datentelegrammen Impulse je Eingabe- und/oder Ausgabeeinheit aufweisen, aus denen der Takt und die Datenbits abgeleitet werden, mit denen eine Eingabe- und/oder Ausgabeeinheit nach der anderen abfragbar oder mit einem aktuellen Ausgabewert zu versorgen ist und jeweils mit einem Synchronisationszeichen abgeschlossen werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die aus jeweils acht Bit bestehenden Datenbytes eines byteorientierten Datenblockes jeweils mit Einzelbits abgeschlossen sind, die jeweils Logikpegel 1 haben.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß in einem byteorientierten Datentelegramm auf das Steuerbyte ein Adreßbyte und ein Werte-Byte folgen.
DE19904020809 1990-06-29 1990-06-29 Verfahren zum Informationsaustausch über einen seriellen Bus Expired - Fee Related DE4020809C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19904020809 DE4020809C2 (de) 1990-06-29 1990-06-29 Verfahren zum Informationsaustausch über einen seriellen Bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19904020809 DE4020809C2 (de) 1990-06-29 1990-06-29 Verfahren zum Informationsaustausch über einen seriellen Bus

Publications (2)

Publication Number Publication Date
DE4020809A1 DE4020809A1 (de) 1992-01-02
DE4020809C2 true DE4020809C2 (de) 1994-10-20

Family

ID=6409377

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19904020809 Expired - Fee Related DE4020809C2 (de) 1990-06-29 1990-06-29 Verfahren zum Informationsaustausch über einen seriellen Bus

Country Status (1)

Country Link
DE (1) DE4020809C2 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19852276C2 (de) * 1998-11-13 2001-09-27 Motorola Inc Verfahren zum Empfang einer Nachricht über einen seriellen Datenbus, Funktionseinheit und lokales Netzwerk
DE19618821B4 (de) * 1996-05-10 2005-03-24 Phoenix Contact Gmbh & Co. Kg Verfahren zur multifunktionalen Adressierung der Prozeßdaten von Teilnehmern serieller Bussysteme
DE19701310B4 (de) * 1996-02-16 2006-07-27 Dr. Johannes Heidenhain Gmbh Vorrichtung und Verfahren zur Datenübertragung und zur Umschaltung zwischen verschiedenen Betriebsmodi eines Meßwertaufnehmers

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4322249A1 (de) * 1992-10-23 1994-04-28 Marquardt Gmbh Bus-Schalter

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2117819C3 (de) * 1971-04-13 1981-06-11 Siemens AG, 1000 Berlin und 8000 München Anordnung zur Bildung von Impulstelegrammen in Fernwirkanlagen

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19701310B4 (de) * 1996-02-16 2006-07-27 Dr. Johannes Heidenhain Gmbh Vorrichtung und Verfahren zur Datenübertragung und zur Umschaltung zwischen verschiedenen Betriebsmodi eines Meßwertaufnehmers
DE19618821B4 (de) * 1996-05-10 2005-03-24 Phoenix Contact Gmbh & Co. Kg Verfahren zur multifunktionalen Adressierung der Prozeßdaten von Teilnehmern serieller Bussysteme
DE19852276C2 (de) * 1998-11-13 2001-09-27 Motorola Inc Verfahren zum Empfang einer Nachricht über einen seriellen Datenbus, Funktionseinheit und lokales Netzwerk

Also Published As

Publication number Publication date
DE4020809A1 (de) 1992-01-02

Similar Documents

Publication Publication Date Title
DE1809913C3 (de) Verfahren und Datenübermittlungsanlage zur Übertragung von Daten zwischen einer Haupteinheit und mehreren Endstelleneinheiten
EP0852859B1 (de) Verfahren zur synchronisierung von daten, schnittstelle zur übertragung
DE2148906C2 (de) Schaltungsanordnung zur Übertragung von Daten zwischen einem Rechner und einer Vielzahl von Endgeräten
DE3300262A1 (de) Schaltungsanordnung zur zuteilung des zugriffs zu einer auf anforderungsbasis gemeinsam benutzten sammelleitung
DE2362344B2 (de) Datenuebertragungsanlage
DE3317567A1 (de) Zeitmultiplex-fernsteuerungssystem
DE2023693A1 (de)
EP0863637A2 (de) Kommunikationseinrichtung mit optischem Bus und Verfahren zu deren Betriebssteuerung
DE3789791T2 (de) Datenübertragungsvorrichtung.
DE1462615A1 (de) Codemeldungssystem
DE4020809C2 (de) Verfahren zum Informationsaustausch über einen seriellen Bus
DE3545293C2 (de)
DE69116585T2 (de) Fernbedienungssystem sowie Sender und Empfänger für ein Fernbedienungssystem
DE2558374C2 (de) Fernwirkeinrichtung zur Übermittlung von Fernwirksignalen mit Hilfe von Impulstelegrammen
DE2423195A1 (de) Wartungsvorrichtung
EP3632056A1 (de) Initialisierung eines lokalbusses
EP1817679B1 (de) Elektronisches steuerungssystem für die automatisierungstechnik
DE4020807A1 (de) Anzeigefeld zur ein- und ausgabe von daten
DE10039460A1 (de) Datenbus für mehrere Teilnehmer
AT393427B (de) Einrichtung zum uebertragen von daten
DE2126456A1 (de) Datenübertragungsanordnung
DE2543555A1 (de) Datenuebertragungsnetz
DE2843117C2 (de)
EP0048939B1 (de) Signalübertragungseinrichtung mit Stationen, die mit Eingabeeinrichtungen wahlweise bestückbar sind
EP0348809B1 (de) Verfahren zur Adressierung von Prozessoreinheiten und Schaltungsanordnung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee