<Desc/Clms Page number 1>
Die Erfindung betrifft ein Verfahren zur Übertragung von Daten zwischen Datenquellen und Datensenken über durch Adressen gekennzeichnete Stationen, wobei die Nutzdaten in einzelnen Übertragungssequenzen übertragen werden, die Übertragung jeder Übertragungssequenz durch eine Startbedingung eingeleitet wird, worauf die Adressen der Empfangs- und der Sendestation übertragen werden und wobei die Übertragungssequenz durch eine Stoppbedingung beendet wird.
Bei den bekannten Verfahren werden bei der Übertragung von Nutzdaten diese in einzelne Übertragungssequenzen aufgeteilt, wobei jede Übertragungssequenz getrennt übertragen wird.
Bei diesen herkömmlichen Verfahren zur Übertragung von Nutzdaten ergibt sich insbesondere der Nachteil, dass zur Übertragung von Befehlsdaten eigene Befehls-Übertragungssequenzen verwendet werden müssen, wobei für jede Übertragungssequenz aufs Neue die Belegung des Busses und die Adressierung durchgeführt werden müssen. Weiters ist es mit herkömmlichen Verfahren nur bei erheblichen zusätzlichen Aufwand möglich, festzustellen, ob eine Datenübertragungssequenz fehlerfrei übertragen worden ist. Dazu müssen eigene Bestätigungsübertragungssequenzen übertragen werden.
Gemäss der EP-OS 341 166 ist ein Verfahren bekannt, bei dem eine paketweise Übertragung von Daten vorgesehen Ist, wobei jedoch in diesem Paket keine Befehisdaten enthalten sind. Zur Fehlersicherung ist lediglich - wie bei jeder asynchronen Datenübertragung üblich - ein Paritätsbit für jedes zu übertragende Zeichen vorgesehen.
Daraus ergibt sich der Nachteil, dass zur Übertragung von Befehlsdaten eigene Befehisdatenübertra- gungssequenzen verwendet werden müssen, und die Feststellung der Fehterfrohett einer Datenübertragungssequenz nur mit einem erheblichen Aufwand möglich ist.
Es Ist weiters gemäss EP-OS 0 207 313 ein serielles Bussystem bekannt, welches über eine erste unidirektional betriebene Leitung Daten in Form einzelner Übertragungssequenzen (Rahmen) zwischen einer Zentralstation und mehreren Unterstationen überträgt, wobei zusätzliche Bits Jedes Rahmens einen Transaktionskode übermitteln, welcher angibt, ob es sich bei dem betreffenden Rannen um ein Befehlswort. eine Adresse oder um ein Datenelement handelt. Über eine zweite Leitung kann ein angesprochener Empfänger antworten.
Bei diesem Verfahren sind jeweils eigene Rahmen für Befehle, Adressen und Daten vorgesehen, welche sich durch den Transaktionskode unterscheiden. Zur Übertragung von Nutzdaten wird als erster Rahmen ein Befehlsrahmen zur Adressierung gefolgt von den eigentlichen Nutzdatenrahmen und einem weiteren Befehlsrahmen zu Entadressierung übertragen.
Damit weist dieses Verfahren ein hohes Mass an Universalität auf, es ist jedoch vom Gesichtspunkt der Busbelegung wenig effizient-besonders wenn nacheinander viele unterschiedliche Empfangssationen angesprochen werden sollen.
Das Verfahren ist weiters ausschliesslich für den Datenverkehr zwischen einer als Zentralstation unveränderlich festliegenden Station und den Unterstationen ausgelegt. Eine Busarbitrierung zur Bestimmung der sendenden Station ist nicht vorgesehen.
Die Fehlersicherung der Übertragung erfolgt durch ein In jeden Rahmen eingefügtes Paritätsbit. Diese nur niedrigen Ansprüchen genügende Vorgangsweise zur Fehlersicherunge versagt insbesondere häufig bei der Erkennung von Burstfehlern, bei welchen mehrere aufeinanderfolgende Datenbits gestört sind.
Ziel der Erfindung ist es diese Nachteile zu vermeiden und ein Verfahren vorzuschlagen, das eine fehlergesicherte Übertragung einer vorgegebenen Menge von Nutzdaten mit wenigen Übertragungssequenzen erlaubt.
Erfindungsgemäss wird dies dadurch erreicht, dass anschliessend an die Adressen der Empfangs- und Sendestation erste Befehlsdaten. darauffolgend die Nutzdaten selbst, dann gegebenenfalls weitere zweite Befehlsdaten und zumindest ein Prüfsummenzeichen vor der die Übertragungssequenz abschliessenden Stoppbedingung übertragen werden.
Dadurch ergibt sich der Vorteil, da die die Übertragung steuernden Befehlsdaten einen Bestandteil der Datenübertragungssequenzen bilden, dass die Daten in einer Übertragungssequenz übertragbar sind.
Die Übertragung eines Prüfsummenzeichens ermöglicht es weiters in einfacher Weise festzustellen, ob eine Datenübertragungssequenz zumindest mit hoher Wahrscheinlichkeit fehlerfrei übertragen worden ist.
Des weiteren kann vorgesehen sein, dass die Adresse der Empfangsstation und/oder die Adresse der Sendestation durch eine Hauptadresse und eine Subadresse gebildet wird.
Durch diese Massnahme wird in vorteilhafter Welse die Bildung von Adressgruppen unterstützt. Die Dekodierung der auf dem Bus anliegenden Adressen wird vereinfacht und Rund-Sendungen von Daten zu ganzen Empfängergruppen werden durch Rundruf-Adressen ermöglicht
In einer weiteren Ausgestaltung der Erfindung kann vorgesehen sein, dass In einem der Zeichen für die Übermittlung der Adressen der Empfangs- oder der Sendestation ein Lese-Schrelb-Umschaltebit vorgesehen 1St.
<Desc/Clms Page number 2>
Dadurch wird die Datenübertragung in besonders einfacher Weise zwischen Sende- und Empfangsstation in beiden Richtungen ermöglicht, indem die ursprüngliche Empfangsstation in den Sendebetrieb und die ursprüngliche Sendestation in den Empfangsbetrieb übergeht.
Weiters kann vorgesehen sein, dass die ersten Befehlsdaten mindestens ein Zeichen, das die Anzahl der Nutzdaten-Zeichen repräsentiert und/oder einen Adressanzeiger umfassen.
Durch diese Massnahme werden eigene Organisationsübertragungssequenzen vermieden, wodurch sich kompakte Datenübertragungssequenzen ergeben, wobei die Möglichkeit den angesprochenen Stationen mitzuteilen welche und wieviele Daten von ihnen verlangt oder ihnen übermittelt werden, bestehen bleibt.
Durch die Übermittlung der Anzahl der nachfolgenden Nutzdatenzeichen wird die Organisation der Datenübertragung wesentlich vereinfacht.
Der Adresszeiger stellt bevorzugt einen Zeiger im Speicheradressraum der angesprochenen Station dar und zeigt somit an. welche Daten zu senden sind, bzw wohin die empfangenen Daten abzulegen sind.
Dadurch wird es möglich, einzelne Stationen mit nur sehr wenig interner Datenkapazität vorzusehen.
Bei einer erfindungsgemässen Datenübertragung mit zumindest einer die Datenübertragung initiierenden Meisterstation und zumindest einer Sklavenstation kann in Weiterbildung der Erfindung vorgesehen sein, dass bei der Übertragung von Nutzdaten von der Meister- zu einer Sklavenstation die Meisterstation m Anschluss an die Nutzdatenzeichen zweite Befehlsdaten sendet, die ein erstes Prüfsummenzeichen gefolgt von einer neuerlichen Startbedingung und zumindest einem Teil der Adresse derselben Sklavenstation jedoch mit zum vorigen Wert komplementärem Lese-Schreib-Umschaltebit umfassen, und dass daraufhin die Sklavenstation ein zweites Prüfsummenzeichen aussendet worauf die Meisterstation die Übertragungssequenz mit einer Stoppbedingung beendet.
Durch diese Massnahmen ist gewährleistet, dass bei der Übertragung von Nutzdaten zwischen einer höherwertigen Station, der Meisterstation und einer Partnerstation, der Sklavenstation die Fehlerfreiheit der Übertragung in einer einfachen Weise überprüft wird.
Durch das unmittelbar den Nutzdatenzeichen folgende Prüfsummenzeichen der Meisterstation kann die Sklavenstation feststellen, ob sie die Nutzdaten richtig empfangen konnte. Das von der Sklavenstation ausgesandte zweite Prüfsummenzeichen ermöglicht es auch der Meisterstation festzustellen, ob ihre Nutzdaten richtig in der Sklavenstation empfangen werden konnten.
Dadurch dass der Bus nicht durch eine Stoppbedingung freigegeben wird, sondern gleich im Anschluss an das Prüfsummenzeichen der Meisterstation durch eine neuerliche Startbedingung und Adressierung der Sklavenstation belegt gehalten wird, ist eine besonders kompakte Übertragung gewährleistet.
Desweiteren liegt ein wesentliches Merkmal der Erfindung darin, dass bei der Übertragung von Nutzdaten von der Sklaven- zu der Meisterstation die von der Meisterstation gesendeten ersten Befehlsdaten zusätzlich eine neuerliche Startbedingung und zumindest einen Teil der Adresse derselben Sklavenstation mit dem Lese-Schreib-Umschaltebit gleichen Wertes umfassen, und dass daraufhin die Sklavenstation die Nutzdaten gefolgt von einem Prüfsummenzeichen aussendet, worauf die Meisterstation die Übertragungssequenz mit einer Stoppbedingung beendet.
Auch wenn eine Meisterstation Daten von einer Sklavenstation anfordert ist in diesem Fall gewährleistet, dass die Übertragung nur mit einer Übertragungssequenz erfolgt.
Nachfolgend Ist die Erfindung beispielhaft anhand der Zeichnungen beschneben.
Es zeigt dazu die Fig. 1 schematisch die Zusammenschaltung von N-Datenquellen oder -senken mittels N-Stationen über einen Bus.
Die Fig. 2a und 2b erläutern das Protokoll für die Datenübertragung zwischen zwei Stationen Im speziellen erläutert die Fig. 2a die Übertragung von Daten einer Meister- zu einer Sklavenstation, die Fig. 2b die Datenübertragung von einer Sklaven- zu einer Meisterstation.
Die Fig. 3 zeigt eine Ausführungsform einer Anwendung mit einem seriellen Bus (12C-Bus).
Die Fig. 4 zeigt einen beispielhaften Signalverlauf auf dem Takt- und Datenbus zu Beginn einer Übertragungssequenz und während der Übertragung zweier Bytes über den Bus.
Die Fig. 5 erläutert die Signalverläufe auf dem Bus während des Endes einer Übertragungssequenz.
Die Fig. 6 bis 8 zeigen eine Ausführungsform einer Anwendung mit einer asynchronen Datenübertragung.
Dazu zeigt die Fig. 6 die Zusammenschaltung mehrerer Stationen über einen seriellen Bus ensprechend RS422
Die Fig. 7 zeigt schematisch den Aufbau einer Station 60.
Die Fig. 8 zeigt beispielhaft Signalverläufe auf dem Bus. die Flg. 8a für die Startbedingung, die Fig. 8b für ein beliebiges Zeichen und die Fig. 8c für die Stoppbedingung.
Die Figur 1 zeigt die prinzipielle Zusammenschaltung von N-Datenquellen bzw. Datensenken (la, b c etc) mittels N-Stationen (2a, b, c etc. ) über einen gemeinsamen Bus 30. Jede Station beinhaltet mindestens
<Desc/Clms Page number 3>
je eine Sendeempfangsschaltung 3a, b, c usw. für die Ankopplung der Station an den Bus.
Jeder der N Stationen ist eine Adresse zugeordnet, wobei das Adressierungsverfahren ein zweistufiges mit einer Stations-Hauptadresse (SHA) und einer Stations-Subadresse (SSA) ist.
Über die Hauptadresse ist aus der Gesamtzahl der Stationen eine Stationenengruppe als Teilmenge auswählbar, aus der mit Hilfe der Subadresse eine Station ausgewählt wird.
Die Hauptadresse wird durch ein Sieben-Bit-Wort gebildet, d. h. es sind theoretisch 128 Stationengruppen anwählbar, wobei in der Praxis nicht alle möglichen Bit-Kombinationen für die Adressierung verwendet werden, sondern einzelne Bit-Kombinationen spezielle Adressierungsmodi erlauben wie z. B. einen allgemeinen Rundruf (broadcasting).
Jeder Hauptadresse können Subadressen zugeordnet sein, wobei pro Hauptadresse ein Acht-Bit-Wort als Subadresse verwendet wird, wodurch pro Hauptadresse maximal 256 Unteradressen möglich sind.
Die Stationen können vier Zustände einnehmen, einen Meister-Sende-Zustand. einen Sklaven-Empfangs-Zustand, einen Sklaven-Sende-Zustand oder einen Meister-Empfangs-Zustand. Es ist jedoch nicht notwendig, dass jede Station jeden Zustand einnehmen kann, so wird z. B. eine Rechnerstation üblicherweise alle Zustände einnehmen können, eine Ausgabestation nur den Sklaven-Empfangs-Zustand und eine Eingabestation nur den Sklaven-Sende-Zustand.
Eine Station, die einen Meisterzustand einnimmt, soll im folgenden auch Meisterstation genannt werden, analog soll eine Station in einem Sklavenzustand Sklavenstation genannt werden.
Nur eine Station in einem Meisterzustand kann die Datenübertragung über den Bus initiieren und andere Stationen adressieren.
Bei der Inbetriebnahme des Gesamtsystems befinden sich alle Stationen im Sklaven-Empfangs- Zustand.
Die Initiierung des Überganges einer Station in einen Meister- Zustand geht in der Regel von der an die Station angeschlossenen Datenquelle oder Datensenke aus.
Den Meister-Sende-Zustand nimmt eine Station ein, die den Bus für sich belegen konnte und an eine andere Station, Daten sendet ; den Meister-Empfangszustand nimmt eine Sation ein, weiche von einer Sklavenstation, welche dazu den Sklaven-Sende-Zustand einnehmen muss, Daten empfangen soll.
Es ist dabei in der Regel durch das Busbelegungsverfahren sichergestellt, dass jeweils nur eine Station gleichzeitig den Bus belegen kann und daher auch nur eine Station gleichzeitig einen Meister-Zustand einnehmen kann.
An Hand der Fig. 2a soll Im folgenden beschrieben werden, wie nach dem erfindungsgemässen Verfahren Daten von einer Meisterstation zu einer Sklavenstation übertragen werden.
Eine Station kann den Bus belegen, indem sie, nachdem von ihr überprüft worden ist. dass keine Datenübertragungssequenz auf dem Bus abläuft und der Bus daher frei ist. eine Startsequenz (SB) über den Bus ausgibt. Die in der konkreten Anwendung des Verfahrens ausgebildete Form der Startsequenz soll allen angeschlossenen Stationen ermöglichen den Beginn eines Datenübertragungsablaufes zu erkennen.
Konnte die Station den Bus belegen, so nimmt sie den Meister-Sende-Zustand ein und steuert bis zur Freigabe des Busses die Datenübertragung.
Die Datenübertragung erfolgt zeichenweise, wobei ein Zeichen üblicherweise aber nicht zwingend notwendig durch ein Byte mit 8 zusammengehörigen Bits dargestellt wird.
Wie ein einzelnes Zeichen über den Bus übertragen wird, ISt nicht Erfindungsgegenstand und hängt von der Art des Busses ab.
Auch ist es bevorzugt möglich, zB im Falle eines 12C-Busses, dass ein Bestätigungszeichen (etwa ein einzelnes Bit) für jedes gesendete Zeichen vom Empfänger an den Sender zurückgesendet wird.
Das erste von der Meisterstation gesendete Zeichen stellt die Sklaven-Hauptadresse (SHA) dar. Über die Sklaven-Hauptadresse wird eine Gruppe von Stationen aus den restlichen N-1 vorhandenen Stationen ausgewählt.
Im Zeichen für die Sklaven-Hauptadresse Ist ein Bit als Lese-Schrelb-Umschaltebit (R/W) reserviert, wobei der eine logische Zustand dieses Bits (bevorzugt long.0) angibt, dass die Meisterstation Nutzdaten an eine Sklavenstation sendet, dh dass die Meisterstation den Melster-Sende-Zustand, die adressierte Sklavestation den Sklaven-Empfangszustand einnimmt, der zweite logische Zustand angibt, dass die Meisterstation Nutzdaten von einer Sklavenstation erwartet, dh dass die Meisterstation den Melster-Empfangszustand, die Sklavenstation den Sklaven-Sende-Zustand einnimmt.
Es soll im folgenden-entsprechend der Fig. 2a - zuerst die Übertragung von Nutzdaten von der Meisterstatton zu einer Sklavenstation beschrieben werden.
Durch das in der zeitlichen Abfolge als nächstes von der Meisterstation gesendete Zeichen, der Sklaven-Subadresse (SSA), wird aus der über die Sklaven-Hauptadresse selektierten Stationengruppe eine Station als Kommunikationspartner ausgewählt.
<Desc/Clms Page number 4>
Als drittes und viertes Zeichen der Übertragungssequenz sendet die Meisterstation ihre eigene Hauptadresse (MHA) gefolgt von der eigenen Subadresse (MSA). Auf diese Weise kann die angesprochene Sklavenstation feststellen, welche Meisterstation ihr Kommunikationspartner ist.
Als nächstes Zeichen sendet die Meisterstation einen Sklaven-Adresszeiger (SAZ). Dieser Zeiger gibt in der Regel an, auf welchen Adressen die Sklavenstation die ankommenden Daten speichern soll ; bevorzugterweise wird SAZ als Offset in einem Datenpufferbereich interpretiert.
Als letztes Zeichen des Rahmenkopfes wird von der Meisterstation in einem Zeichen (BA) die Anzahl der nachfolgenden Nutzdaten-Zeichen gesendet. Im Anschluss daran folgen-entsprechend der in BA übermittelten Zeichenanzahl - beliebig viele Nutzdaten-Zeichen, welche von der Meisterstation an die Sklavenstation übertragen werden. Im Anschluss an die Nutzdaten sendet die Meisterstation ein MeisterPrüfsummen-Zeichen (PSM), das nach verschiedenen Vorschriften gebildet werden kann. In einer bevorzugten Ausführungsform des Verfahrens wird die arithmetische Summe ohne Übertrag über alle gesendeten Zeichen inklusive Meister- und Sklavenadressen gebildet.
Da die empfangende Sklavenstation ihr eigenes Prüfsummenzeichen (PSS) nach derselben Vorschrift bildet, kann die Sklavenstation feststellen, ob die Datenübertragung - bei Übereinstimmung der Prüfsummenzeichen - mit sehr hoher Wahrscheinlichkeit ohne Fehler abgewickelt wurde, bzw-bei ungleichen Prüfsummenzeichen -, dass mindestens ein Übertragungsfehler aufgetreten ist.
Damit auch die Meisterstation die Richtigkeit der Übertragung prüfen kann, wird über ein Kurzprotokoll das Prüfsummenzeichen der Sklavenstation an die Meisterstation übertragen. Dazu wird von der Meisterstation unmittelbar nach dem Prüfsummenzeichen (PSM) eine neuerliche Startbedingung über den Bus ausgegeben, dieselbe Sklavenstation mit ihrer Hauptadresse adressiert (SHA), wobei aber jetzt das LeseSchreib-Umschaltebit den zum vorangegangenen Wert komplementären Wert einnimmt und damit die Skiavenstation in den Sklaven-Sendezustand umschaltet.
Als nächstes Zeichen überträgt schliesslich die Sklavenstation das von ihr gebildete Prüfsummenzeichen (PSS) an die Meisterstation Die Meisterstation kann draufhin kontrollieren, ob einerseits die Busbelegung ordnungsgemäss erfolgen konnte und andererseits die Nachricht richtig an die Sklavenstation übermittelt wurde. Im Fehlerfall kann die Meisterstation die Nachncht nach dem Abschluss des Daten-Rahmens ein weiteres Mal übermitteln.
Den Abschluss der Daten-Übertragungs-Rahmens bildet eine von der Meisterstation an den Bus gelegte Stopp-Sequenz (STB), wodurch der Bus für nachfolgende Übertragungen wieder frei gegeben wird. Nach dem Aussenden der Stopp-Sequenz verlässt die Meisterstation den Meister-Zustand und geht wiederum in den Sklaven-Empfangs-Zustand über. Alle weiteren an den Bus angeschlossenen Stationen befinden sich bzw. gehen ebenfalls in den Sklaven-Empfangs-Zustand über.
Für die Übertragung von Nutzdaten einer Sklavenstation zur Meisterstation wird der Daten-Rahmen durch die Fig. 2b beschrieben. Die Meisterstation belegt den Bus, Indem sie eine Startsequenz (SB) ausgibt. Anschliessend gibt sie die Sklaven-Hauptadresse (SHA) mit gesetztem Lese-Schreib-Umschaltebit aus, um der Sklavenstation anzuzeigen, dass die Meisterstation von ihr Daten erwartet. Als nächste Zeichen folgen wiederum die Sklaven-Subadresse (SSA), die Meister-Hauptadresse (MHA), die Melster-Subadresse (MSA) und der Sklaven-Adresszeiger (SAZ), welcher angibt, welche Daten die über die Sklaven-Hauptadresse und
EMI4.1
ein von der Meisterstation gesendetes Zeichen (BA), welches die Anzahl der von der Sklavenstation zu sendenden Nutzdatenzeichen angibt.
Unmittelbar danach sendet die Meisterstation eine neuerliche Startsequenz (SB) mit nachfolgender Sklaven-Hauptadresse (SHA) mit gesetztem Lese-Schreib-Umschaltebit worauf die Sklavenstation eine entsprechende Zeichenzahl (D1,.. Dn) an die Meisterstation sendet. Als letztes Zeichen sendet schliesslich die Sklavenstation ihr-wie bereits beschrieben-selbst gebildetes Prüfsummenzeichen (PSS) an die Meisterstation. Die Übertragung wird danach von der Meisterstation durch Ausgabe einer Stopp-Sequenz (STB) beendet und der Bus wieder freigegeben.
Im folgenden soll eine Anwendung des erfindungsgemässen Busverwaltungsprotokolls in Verbindung mit einem unter der Bezeichnung 12C-Bus bekannten Zweidrahtbus beschrieben werden. Dabei können entsprechend Fig. 3 die Stationen (1a. b. c..) zB aus handelsüblichen 12C-Bus-Controller-Bausteinen, wie etwa dem Mikrokontroller 83C552 bestehen, der Bus (30) wird aus einem bidirektionalen Taktbus mit der Taktleitung T und einem Datenbus mit der bidirektionalen Datenleitung D gebildet Die Sendeempfangs-
EMI4.2
tung wobei die jeweiligen Treiberschaltungen in Open-Kollektor-Technik ausgeführt und In verdrahteter UndFunktion an die Busleitungen angeschlossen sind.
Die Treiberschaltungen sind In einem Bus-Controller der oben angeführten Type enthalten, sodass die entsprechenden Anschlüsse (SCL, SDA) direkt an die entsprechenden Busleitungen angeschlossen werden können.
Zur näheren Erläuterung der Übertragung der Daten über- den Bus ist in Figur 4 ein typisches Zeitablaufdiagramm für die Übertragung zweier Datenbytes gezeigt.
<Desc/Clms Page number 5>
Die Übertragung der Daten erfolgt byteweise, wobei die einzelnen Bit jedes Bytes beginnend mit den höchstwertigen Bit seriell übertragen werden. Vor Beginn der Übertragung liegen die Datenbusleitung D wie auch die Taktleitung T auf dem Ruhepegel'H'. Die Übertragungssequenz wird von der Sendestation, weiche den Meister-Sende-Zustand einnimmt, durch Erzeugen der Startsequenz begonnen. Dazu werden, wenn sowohl auf der Takt-wie auch auf der Datenleitung der Ruhepegel'H'anliegt, die Sendeempfangsschaltungen für den Datenbus wie auch für den Taktbus auf Sendebetrieb geschaltet und ein Übergang der
Datenleitung von'H'auf'L'-während die Taktleitung'H'bleibt-, erzeugt.
Dies ist ein für die normale
Datenübertragung auf dem Bus verbotener Übergang und wird von allen an den Bus angeschlossenen Stationen erkannt, welche dadurch in den Sklaven-Empfangs-Zustand versetzt werden. Anschliessend setzt die Sendestation die Taktleitung T kurzzeitig auf'L'-Pegel und legt während dieses Zeitintervalls den dem höchstwertigen Bit entsprechenden Pegel an den Datenbus an. Dieser Pegel bleibt unverändert, während die Taktleitung T einen Übergang'L'auf'H'und wieder'H'auf'L'ausführt. Damit ist die Übertragung des ersten Bit beendet und während die Taktleitung T'L'-Pegel aufweist, legt die Sendestation den dem nächsten Bit entsprechenden Pegel an den Datenbus an. Mit dem nächsten'L'auf'H'und'H'auf'L'- Übergang der Taktleitung wird dieses Bit übertragen.
Diese Sequenz wird wiederholt, bis mit dem achten Taktimpuls auch das niedrigstwertige Bit übertragen wurde. Die Übertragungsrate des Busverkehrs wird durch die Rate der Taktimpulse, die die Sendestation ausgibt, bestimmt. Eine langsame Sklavenstation kann jedoch auf einfache Weise die Ausgabe des jeweils nächsten Bit verzögern, indem sie auf der Taktleitung einen'L'-Pegel ausgibt, wodurch trotz des eventuell bereits von der Sendestation erzeugten'H'- Taktpegels sich wegen der verdrahteten Undverknüpfung insgesamt ein'L'-Pegel auf der Taktleitung ergibt. Dies kann wiederum die Sendestation detektieren, indem sie ständig das intern erzeugte Taktsignal mit dem tatsächlich auf der Busleitung auftretenden Pegel vergleicht und in dem beschriebenen Fall die Übertragung verlangsamen.
Zum Abschluss der Übertragung des ersten Bytes wird über die Sendeempfangsschaltung für den Taktbus von der Sendestation ein neunter Taktimpuls ausgegeben, während die dem Datenbus zugeordnete Sendeempfangsschaltung der sendenden Station auf Empfang geschaltet wird. Die an der Übertragung beteiligte Empfangsstation legt über ihre kurzfristig in Sendebetrieb umgeschaltete Sendeempfangsschaltung für den Datenbus während dieser Zeit ein Bestätigungsbit mit'L'-Pegel an den Datenbus an. Der Empfang dieses Bestätigungsbits gibt der Sendestation Auskunft darüber, dass das vorangegangene Byte von zumindest einer Sklavenstation empfangen worden ist.
Sollen Im Anschluss an das erste Byte noch weitere Bytes übertragen werden, so geschieht dies unmittelbar im Anschluss an das erste Byte durch Anlegen der Informationen an den Datenbus und Takten des Taktbusses durch die Sendestation. Der Empfang jedes Bytes wird dabei wiederum durch das während eines neunten Taktimpulses von der Empfangsstation an die Sendestation zurückgesandte Bestätigungsbit quittiert. Auch wenn. wie bereits früher erwähnt, eine Meisterstation eine Sklavenstation auffordert Daten zu senden, das heisst die Meisterstation den Meister-Empfangs-Zustand und die Sklavenstation den SklaveSende-Zustand einnimmt, werden die Taktimpulse für die Übertragung der jeweils acht Datenbits und des Bestätigungsbits von der Meisterstation erzeugt und an den Bus gelegt.
Die Datenbits werden dabei jedoch von der Sklavenstation, die Bestätigungsbits von der Meisterstation gesendet.
Die Fig. 5 zeigt schematisch den Zeitverlauf der Signale am Ende der Übertragung. Sie wird in jedem Fall von der Meisterstation beendet indem, nachdem das Bestätigungsbit des letzten Datenbytes übertragen wurde, eine Stoppbedingung über den Bus ausgegeben wird. Dazu wird während die Taktleitung T'L'Pegel aufweist, die Datenleitung 0 auf'L'-Pegel gelegt, danach die Taktleitung Tauf'H'-Pegel umgeschal- tet und bei andauerndem'H'-Pegel auf der Taktleitung T die Datenleitung D von'L'auf'H'-Pegel umgeschaltet. Auch dieser Übergang tritt während der normalen Datenübertragung nicht auf und kann daher von allen an den Bus angeschlossenen Stationen leicht erkannt werden. Durch das Anlegen der Stoppbedingung gibt die Meisterstation den Bus für weitere Übertragungssequenzen frei. Sie selbst geht wieder vom Meisterzustand In den Sklavenzustand über.
Im folgenden wird anhand der Fig. 6 bis 8 eine Anwendung der Erfindung in Verbindung mit einem asynchronen, differentiellen Bus entsprechend RS422 beschrieben.
Die Fig. 6 zeigt dazu die Zusammenschaltung mehrerer Stationen. Die Sendeleitungen Tx+, Tx- einer Hauptstation 60a sind über einen Tx-Bus 61 mit den Empfangsleitungen Rx +, Rx-von Nebenstationen 60
EMI5.1
mit den Empfangsleitungen Rx +, Rx- der Hauptstation über einen Rx-Bus 62 verbunden. Über den Tx-Bus werden bevorzugt Steuerdaten und Anweisungen von der Hauptstation zu einer der Nebenstationen gesendet, über den Rx-Bus hingegen werden im wesentlichen Rückmeldungen und untergeordnete Daten übertragen.
Die Datenübertragung über die beiden Busse, dem Rx- und dem Tx-Bus erfolgt so dass auf dem Tx-Bus die Hauptstation sendet und die Nebenstationen empfangen, auf dem Rx-Bus die Hauptstation empfängt
<Desc/Clms Page number 6>
und jeweils eine der Nebenstationen sendet.
Die Hauptstation ist im allgemeinen Meisterstation, es kann jedoch auch eine Nebenstation Meisterstation werden, dabei ist aber aufgrund der Bustopologie nur die Datenübertragung in Richtung Hauptstation möglich.
Wenn die grosse Übertragungskapazität, die das Doppelbussystem entsprechend Fig. 6 bietet, nicht benötigt wird, so können jeweils die Sendeleitungen mit den entsprechenden Empfangsleitungen jeder Station verbunden und über einen gemeinsamen (aus zwei Leitungen bestehenden) Bus mit den ensprechenden Sende- und Empfangsleitungen der übrigen Stationen verbunden werden.
Die Fig. 7 zeigt schematisch den Aufbau einer Station 60. Ein serieller asynchroner Schnittstellenbaustein (UART) 68 (zB vom Typ 8250), der von einem Mikrocomputer 67 (zB vom Typ 8052) gesteuert wird oder selbst in einem monolithisch integrierten Single-Chip Mikrocomputer 66 enthalten sein kann, liefert an seinem Ausgang das asynchrone, serielle Sendesignal Tx, welches an den Eingang des Sendeteils 64a einer ersten Sende-Empfangsschaltung 63a (zB vom Typ 75176 oder LT485) geführt ist, dort in das Differenzsignal Tx +, Tx- umgewandelt wird und als solches an dem Tx-Bus (Im Fall der Hauptstation) bzw am Rx-Bus (im Fall einer Nebenstation) anliegt.
Ein Schreib/Lese-Umschaltesignal (R/W) der ersten Sendeempfangsschaltung 63a ist an einen Ausgang des Mikrocomputers 67 geführt ; an einem Eingang des Mikrocomputers liegt ein Empfangssignal TxR an, welches vom Empfangsteil 65a der Sendeempfangsschaltung 64a geliefert wird. Auf diese Weise ist es dem steuernden Mikrocomputer möglich, vor dem Beginn eines Sendevorganges durch Umschalten der ersten Sendeempfangsschaltung auf Empfang und Auswertung des Signals TxR, festzustellen, ob die Sendeleitungen frei sind und daher der Bus belegbar ist.
Vom Rx-Bus (im Fall der Hauptstation) bzw vom Tx-Bus (im Fall einer Nebenstation) wird ein Differenzsignal Rx +, Rx-abgegriffen und über den Empfangsteil 65b einer zweiten Sendeempfangsschaltung 63b als Empfangssignal Rx einem Eingang des asynchronen Schnittstellenbausteins 68 zugeführt. Die Schreib/Lese-Umschalteleitung des zweiten Sendeempfangsbausteins 63b ist mit der Masse verbunden, wodurch der Sendeteil 64b des zweiten Sendeempfangsbausteins dauernd inaktiv bleibt. Zur Verbindung der Station mit den ihr zugeordneten Datenquellen und-Senken ist der Mikrocomputer mit einer Datenschnittstelle 67 ausgestattet.
Die Fig. 8 zeigt beispielhafte Signalverläufe auf dem Bus, die Fig. 8a den Zeitverlauf für die Startsequenz, die Fig. 8b für ein beliebiges Zeichen und die Fig. 8c für die Stoppbedingung, wobei In den Diagrammen die Differenzspannug zwischen jeweils der Tx + und Tx-Leitung bzw der Rx + und Rx-Leitung dargestellt ist.
Die einzelnen Zeichen werden in bekannter Art und Weise, nach einem asynchronen, seriellen Datenübertragungsverfahren mit zweiwertiger Logik übertragen. Dem log. Zustand 1 entspricht eine negative Differenzspannug zwischen den beiden Leitungen des Busses, dem logischen Zustand 0 eine positive Differenzspannung Jedes übertragene Zeichen wird von einem Startbit (logisch 1) eingeleitet, welches von den acht Datenbits des Zeichens gefolgt wird, wobei die Reihenfolge der einzelnen Bits mit dem niedrigstwertigen beginnend zum höchstwertigen fortschreitet ; den Abschluss eines Zeichens bildet schliesslich ein Stoppbit (logisch 0).
Eine Datenübertragungssequenz beginnt mit der Übertragung einer Startbedingung, welche in bevorzugter Weise ein charaktenstisches Bitmuster aufweist ; im gegenständlichen Fall ist das Zeichen mit dem Sedezimalcode AAH entsprechend dem Binärcode 1010101 OB gewählt. Anschliessend folgen die einzelnen entsprechend dem erfindungsgemässen Protokoll vorgesehenen und bereits ausführlich beschriebenen Adresszeichen, Nutzdaten, Prüfzeichen etc.. wobei bei dieser Anwendung eine Bestätigung für jedes gesendete Zeichen nicht vorgesehen ist.
Den Abschluss der Datenübertragungssequenz bildet das Stoppzeichen, wobei auch hier wiederum ein Zeichen mit auffälligem Bitmuster etwa mit dem Sedezimalcode 55H entsprechend dem Binärcode 01010101B gewählt ist.
Das erfindungsgemässe Verfahren zur Datenübertragung über einen Bus ist nicht auf die beschriebenen Anwendungsbeispiele beschränkt, sondern allgemein überall dort anwendbar, wo an einen Bus mehrere adressierbare Stationen angeschlossen sind und Daten mit einem gegen Übertragungsfehler gesicherten Verfahren übertragen werden sollen Daher ist die Anwendung des erfindungsgemässen Verfahrens nicht auf eine senelle Übertragung beschränkt, auch Übertragungswege mit paralleler Übertragung der einzelnen Bits eines Zeichens sind gleich gut betreibbar.
Das erfindungsgemässe Verfahren setzt auch nicht zwingend voraus, dass das Verbindungsnetzwerk zwischen den Stationen einen Bus bildet, es sind zum Beispiel zwischen den Stationen sternförmig (wie in Fig. 6 für den Tx-Bus gezeigt) oder nngförmg angeordnete Verbindungswege zwischen den Stationen möglich.