-
Die
Erfindung betrifft ein Verfahren zur Datenübertragung und ein serielles
Bussystem zur Anbindung von untergeordneten Einheiten an eine übergeordnete
Einheit.
-
Es
gibt diverse Bussysteme zur Steuerung von untergeordneten Einheiten,
die nicht fest mit einer übergeordneten
Einheit verbunden sind. Serielle Bussysteme bieten hierbei den Vorteil,
dass zur Datenübertragung
zwischen der übergeordneten
und der untergeordneten Einheit lediglich wenige Verbindungsleitungen
notwendig sind.
-
Die
Kommunikation auf einem solchen Datenbus findet mit Hilfe eines
speziellen Protokolls, wie z.B. V.24 oder AEI-XY statt, das die
Datenübertragung
zwischen den verschiedenen Komponenten steuert.
-
Solche
seriellen Bussysteme werden häufig auch
in modernen Telekommunikationsanlagen verwendet, um Zusatzfunktionen,
wie. z.B. DSS-Module, Freisprecheinrichtungen oder externe Recheneinheiten
an ein zentrales Terminal anzuschließen.
-
Aus
US 6 256 693 B1 geht
ein Bussystem hervor, bei dem ein übergeordnetes und ein untergeordnetes
Modul über
Datenleitungen miteinander kommunizieren. Das Bussystem weist Signalleitungen
auf, die u. a. zur Anforderung des Datenbusses durch ein Modul oder
zur Adressierung eines Moduls durch seinen Kommunikationspartner
dienen.
-
Aus
US 5 309 567 A ist
ein Verfahren zur Datenübertragung
auf einem Datenbus zwischen einem übergeordneten Modul und einem
untergeordneten Modul bekannt, bei dem u. a. die Sendeerlaubnis
für ein
Modul durch Setzen eines Signalpegels auf einer hierfür vorgesehenen
Signalleitung erteilt wird.
-
Die
Aufgabe der Erfindung besteht darin, eine flexible und kostengünstige Anbindung
von untergeordneten Modulen an ein übergeordnetes Modul bereitzustellen.
-
Die
Aufgabe der Erfindung wird durch ein Verfahren zur seriellen Datenübertragung
nach Anspruch 1 sowie durch ein serielles Bussystem nach Anspruch
7 gelöst.
Weitere vorteilhafte Ausführungsformen
der Erfindung sind in den abhängigen
Ansprüchen
angegeben.
-
Als
vorteilhaft wird angesehen, dass das erfindungsgemäße Verfahren
vor einer Datenübertragung
von einem übergeordneten
Modul zu einem untergeordneten Modul die Übertragung einer Adressinformation
des jeweiligen untergeordneten Moduls auf der ersten Datenleitung
vorsieht. Hierdurch lässt sich
jedes untergeordnete Modul individuell adressieren.
-
Das
dem erfindungsgemäßen Datenübertragungsverfahren
auf dem seriellen Bussystem zugrundeliegende Übertragungsprotokoll ist mehrstufig aufgebaut
und beliebig erweiterbar. Hierdurch wird eine hohe Flexibilität des Protokolls
bedingt, was insbesondere das Kaskadieren der untergeordneten Module
ermöglicht.
-
Die
Anbindung der untergeordneten Module an das übergeordnete Hauptmodul erfolgt
erfindungsgemäß über ein
serielles Bussystem, bei dem vor einer Datenübertragung jedes der untergeordneten
Module mit Hilfe einer individuellen Modul-Adresse auf einer Datenleitung
adressiert wird. Hierdurch wird lediglich eine einzige Signalleitung
zur Signalisierung einer Datenübertragung
von übergeordneten Modul
zu den untergeordneten Modulen notwendig. Da alle untergeordneten
Module lediglich über
einen gemeinsamen Signalausgang des übergeordneten Moduls aktiviert
werden, kann der Hardware- und damit auch der Kostenaufwand des übergeordneten Moduls
deutlich reduziert werden.
-
Da
alle untergeordneten Module über
einen gemeinsamen Ausgang des übergeordneten
Moduls angesprochen werden, wird darüber hinaus die maximale Anzahl
der untergeordneten Module nicht mehr durch die Anzahl der Ausgänge des übergeordneten Moduls
bestimmt. Mit Hilfe von Extendermodulen, die anstatt eines untergeordneten
Moduls angeschlossen werden, lässt
sich eine besonders einfache Kaskadierung der untergeordneten Module
erreichen, da an jedes Extendermodul weitere untergeordnete Module
angeschlossen werden können.
Daher zeichnet sich das erfindungsgemäße serielle Bussystem gegenüber herkömmlichen
seriellen Bussystemen durch eine hohe Flexibilität aus.
-
Gemäß einer
bevorzugten Ausführungsform der
Erfindung ist vorgesehen, dass ein Extendermodul direkt am übergeordneten
Modul angeschlossen ist und dass ein zweites untergeordnetes Modul über das
Extendermodul an das übergeordnete
Modul angebunden ist. Durch die Verwendung von Extendermodulen,
kann die Anzahl der am übergeordneten Modul
angebundenen untergeordneten Module flexibel erweitert werden.
-
Als
vorteilhaft wird auch angesehen, dass die gemeinsame dritte Signalleitung
dem übergeordnete Modul
zur Anforderung einer Quittung dient.
-
Eine
weitere günstige
Lösung
wird auch darin gesehen, dass ein zweiter Ausgang jedes untergeordneten
Moduls als Wired-AND
ausgebildet ist. Hierdurch lässt
sich die Anbindung aller untergeordneten Module an eine gemeinsame
vierte Signalleitung realisieren.
-
Die
Erfindung wird im Folgenden anhand der Figuren näher erläutert. Es zeigen:
-
1 eine schematische Darstellung
eines erfindungsgemäßen seriellen
Bussystems mit einem Hauptmodul und zwei Modulen;
-
2 eine schematische Darstellung
eines erfindungsgemäßen seriellen
Bussystems mit einem Hauptmodul und drei Modulen;
-
3 eine schematische Darstellung
eines erfindungsgemäßen seriellen
Bussystems mit einem Hauptmodul und zwei auf die Leiterplatte des
Hauptmoduls steckbaren Module;
-
4 in einem Zeitdiagramm
den Ablauf einer Arbitration bei einer Registrierung eines Moduls;
-
5 in einem Zeitdiagramm
den Ablauf einer Arbitration bei einer Datenübertagung vom Hauptmodul zu
einem Modul;
-
6 in einem Zeitdiagramm
den Ablauf einer Arbitration bei einer Datenübertragung von einem Modul
zum Hauptmodul;
-
7 in einem Zeitdiagramm
den Ablauf einer Arbitration bei einer Kollision zweier Module;
-
8 in einem Zeitdiagramm
den Ablauf einer Arbitration bei einer Kollision von Modul und Hauptmodul;
-
9 in einem Zeitdiagramm
den Ablauf einer Arbitration bei einer Kollision zweier externen
Module.
-
1 zeigt schematisch ein
Ausführungsbeispiel
eines seriellen Bussystems, wobei zwei Module M1, M2 über einen
seriellen Datenbus an ein Hauptmodul HM angebunden sind. Der serielle
Datenbus weist eine Reihe von Leitungen auf, die zwischen dem Hauptmodul
HM und den beiden Modulen M1, M2 angeordnet sind und über die
die Kommunikation zwischen dem Hauptmodul HM und den Modulen M1,
M2 stattfindet. Das Hauptmodul HM weist dabei eine Schnittstelle
mit einer Reihe von Kontakten auf, die als Eingänge bzw. Ausgänge für ankommender
bzw. abgehende Signale ausgebildet sind. Die schematische Darstellung
der 1 zeigt lediglich
drei Ein- und drei Ausgänge
des Hauptmoduls HM, die über
sechs Leitungen RQ1, RQ2, GR1, GR2, RQH, BSY mit jeweils vier Ein-
und Ausgänge
der beiden Module M1, M2 verbunden sind. Nicht gezeigt sind die
für die
Datenübertragung
zwischen Hauptmodul und den beiden Modulen M1, M2 dienenden Datenleitungen
BUS1, BUS2 sowie die zur Synchronisation des seriellen Datenbusses
dienenden Verbindungsleitungen CLK.
-
Das
erste Modul M1 verfügt über einen
ersten Ausgang RQM1, der über eine
separate Signalleitung RQ1 mit einem Eingang RQ1HM des
Hauptmoduls HM verbunden ist. Die erste Signalleitung RQ1 dient
dem ersten Modul M1 zur Anforderung des seriellen Datenbusses für eine Datenübertragung
vom ersten Modul M1 zum Hauptmodul HM. Weiterhin verfügt das erste
Modul M1 über
einen ersten Eingang GRM1, der über eine
erste Rückmeldeleitung GR1
mit einem ersten Ausgang GR1HM des Hauptmoduls
HM verbunden ist. Die erste Rückmeldeleitung
GR1 dient dem Hauptmodul HM dabei dazu, dem ersten Modul M1 eine
individuelle Freigabe des seriellen Datenbusses für eine Datenübertragung zwischen
dem ersten Modul M1 zum Hauptmodul HM zu gewähren.
-
Analog
zum ersten Modul M1 weist das zweite Modul M2 einen ersten Ausgang
RQM2 auf, der über eine separate zweite Signalleitung
RQ2 des seriellen Datenbusses mit einem zweiten Eingang RQ2HM des Hauptmoduls HM verbunden ist. Die zweite
Signalleitung RQ2 dient dabei zur Anforderung des seriellen Datenbusses
zur Datenübertragung
vom ersten Modul M1 zum Hauptmodul HM. Weiterhin weist das zweite
Modul M2 analog zum ersten Modul M1 einen ersten Eingang GRM2 auf, der über eine zweite Rückmeldeleitung
GR2 mit einem zweiten Ausgang GR2 des Hauptmoduls HM verbunden ist.
Die zweite Rückmeldeleitung
GR2 dient dabei der Freigabe des seriellen Datenbusses durch das
Hauptmodul HM für
eine Datenübertragung
vom zweiten Modul M2 zum Hauptmodul HM.
-
Das
erste und das zweite Modul M1, M2 weisen weiterhin jeweils einen
zweiten Eingang RQHM1, RQHM2 auf,
die über
eine gemeinsame dritte Signalleitung RQH mit einem dritten Ausgang
RQH des Hauptmoduls HM verbunden sind. Die
dritte Signalleitung RQH dient dem Hauptmodul HM dabei zum Belegen
des seriellen Datenbusses für
eine Datenübertragung
vom Hauptmodul HM zu dem ersten bzw. zweiten Modul M1, M2.
-
Weiterhin
weisen das erste und das zweite Modul M1, M2 jeweils einen zweiten
Ausgang BSYM1, BSYM2 auf,
die über
eine gemeinsame vierte Signalleitung BSY mit einem dritten Eingang
BSY des Hauptmoduls HM verbunden sind. Die vierte Signalleitung
BSY ist vorzugsweise als eine Open-Drain-Schaltung (Wired-AND) der
zweiten Ausgänge
BSYM1, BSYM2 ausgebildet
und signalisiert den Zeitraum einer Datenübertragung zwischen dem Hauptmodul
HM und einem Modul M1, M2 und umgekehrt.
-
Im
Folgenden wird zur Veranschaulichung der Kaskadierbarkeit des erfindungsgemäßen Datenbusses
beispielhaft eine Anbindung von drei Modulen an das Hauptmodul mit
Hilfe eines Extendermoduls beschrieben. Das Extendermodul verhält sich dabei
zum Hauptmodul wie ein gewöhnliches
Modul und zu den externen Modulen wie das Hauptmodul. Es leitet
die Signale des Hauptmoduls und der externen Module weiter, ohne
dass es die Datenübertragung
auf den beiden Datenleitungen mithört.
-
2 zeigt schematisch ein
weiteres Ausführungsbeispiel
des erfindungsgemäßen Bussystems,
wobei das erste, das zweite und ein drittes Modul M1, M2, M3 über den
seriellen Datenbus an das Hauptmodul HM angebunden sind. Dabei erfolgt
die Anbindung des ersten Moduls M1 an das Hauptmodul HM analog zu
der in 1 gezeigten Weise.
Die Anordnung weist jedoch anstelle des in 1 gezeigten zweiten Moduls M2 ein Extendermodul
EM auf, das über
die beiden Leitungen RQ2, GR2 direkt mit dem Hauptmodul HM verbunden
ist. Das zweite und das dritte Modul M2, M3 sind wiederum mit Hilfe von
vier externen Leitungen RQE1, RQE2, GRE1, GRE2 an dem Extendermodul
EM angebunden.
-
Zur Übertragung
der Anforderungssignale für
den Datenbus von den beiden Modulen M2, M3 zum Hauptmodul HM ist
der erste Ausgang RQM2 des zweiten Moduls
M2 über
eine fünfte
Signalleitung RQE1 mit einem zweiten Eingang RQ2EM des
Extendermoduls EM und der erste Ausgang RQM3 des
dritten Moduls M3 über
eine sechste Signalleitung RQE2 mit einem dritten Eingang RQ3EM des Extendermoduls EM verbunden. Zur Weiterleitung
der Anforderungssignale beider Module M2, M3 ist ein erster Aus gang
RQ1EM des Extendermoduls EM über die zweite
Signalleitung RQ2 mit dem zweiten Eingang RQ2HM des
Hauptmoduls HM verbunden. Zur Übermittlung
der Sendeerlaubnis vom Hauptmodul HM zu den beiden Modulen M2, M3
ist der zweite Ausgang GR2HM des Hauptmoduls
HM über
die zweite Rückmeldeleitung
GR2 mit einem ersten Eingang GR1EM des Extendermoduls
EM verbunden. Zur Weiterleitung der Sendeerlaubnis an das zweite
bzw. das dritte Modul M2, M3 ist das Extendermodul EM mit einem
zweiten Ausgang GR2EM über eine dritte Signalleitung
GRE1 mit dem ersten Eingang GRM2 des zweiten
Moduls M2 und mit einem dritten Ausgang GR3EM über eine
vierte Signalleitung GRE1 mit dem ersten Eingang GRM3 des
dritten Moduls M3 verbunden.
-
Weiterhin
sind beide Module M2, M3 über ihre
zweiten Ausgänge
BSYM2 ,BSYM3 mit
der gemeinsamen vierten Signalleitung BSY und über ihre zweiten Eingänge RQHM2, RQHM3 mit der
gemeinsamen dritten Signalleitung RQH verbunden.
-
Die
zur Übertragung
von Daten zwischen den Modulen M1, M2, M3 und dem Hauptmodul HM dienenden
Datenleitungen BUS1, BUS2 und die Synchronisationsleitung CLK (hier
nicht gezeigt) werden ebenfalls vom Extendermodul EM an die beiden
daran angeschlossenen Module M2, M3 weitergeleitet. Die Datenleitungen
BUS1, BUS2 werden jedoch vorzugsweise durchgeleitet, ohne dass das
Extendermodul EM den Datenverkehr mithört.
-
3 zeigt ein weiteres Ausführungsbeispiel des
erfindungsgemäßen seriellen
Bussystems, wobei zwei steckbare Module M1, M2 an ein Hauptmodul
HM angebunden sind. Dabei ist das Hauptmodul HM vorzugsweise als
ein Telefongerät
ausgebildet, das einen auf einer Hauptmodulleiterplatte HP angeordneten
Mikrocontroller μC
aufweist. Die Hauptmodulleiterplatte HP weist zwei Modulsteckplätze S1, S2
auf, die über
einen erfindungsgemäßen seriellen Datenbus
mit dem Mikrocontroller μC
des Hauptmoduls HM verbunden sind. Die beiden Modulsteckplätze S1,
S2 sind mit zwei Modulen M1, M2 belegt, die als steckbare Einheiten
ausgebildet sind. Jedes der beiden Module M1, M2 weist dabei eine
zu den Steckverbindungen der Modulsteckplätze S1, S2 kompatible Steckverbindung
sowie ein Bus-Managementsystem
BM1, BM2 zur Steuerung des Datenbuskommunikation auf. Die Module
M1, M2 beinhalten dabei vorzugsweise Zusatzeinrichtungen, wie z.B.
eine Freisprecheinrichtung oder einen CTI-Link (Computer Telefonie
Integration), die die Funktionalität des Hauptmoduls HM erweitern.
-
Im
Folgenden wird das erfindungsgemäße Verfahren
zur Datenübertragung
auf dem seriellen Datenbus zwischen dem Hauptmodul HM und den Modulen
M1, M2, M3 beschrieben. Die Zugriffe des Hauptmoduls HM sowie der
Module M1, M2, M3 auf den seriellen Datenbus werden dabei über eine
Arbitrationslogik gesteuert. Die Arbitrationslogik des seriellen
Datenbusses wird in den folgenden 4 bis 9 an Hand zeitlicher Signalverläufe verschiedener
Szenarien näher
dargestellt.
-
Da
die Datenübertragung
vom Hauptmodul HM zu einem der Module M1, M2, M3 über eine
einzige Datenleitung BUS1 stattfindet, und das Hauptmodul HM erfindungsgemäß über eine
einzige Signalleitung RQH zur Signalisierung einer Datenübertragung
zu einem der Module M1, M2, M3 verfügt, erfolgt die Datenübertragung
vom Hauptmodul HM zu einem der Module M1, M2, M3 mit Hilfe einer
als Modul-Adresse MID ausgeführten
Adressinformation. Ein selektives Ansprechen einzelner Module M1,
M2, M3 ist jedoch nur möglich,
wenn jedem Modul M1, M2, M3 eine eindeutige Modul-Adresse MID zugewiesen
wurde. Hierzu wird bei dem erfindungsgemäßen Verfahren vorzugsweise
nach der Installation eines Moduls M1, M2, M3 eine Registrierung
beim Hauptmodul HM durchgeführt.
Dabei vergibt das Hauptmodul HM dem jeweiligen Modul M1, M2, M3 eine
eindeutige Modul-Adresse MID. Die Modul-Adresse MID wird dabei vorzugsweise
in einem Rahmen der Quittung vom Hauptmodul HM zu dem jeweiligen
Modul M1, M2, M3 übertragen.
Mit Hilfe dieser Modul-Adresse MID kann das jeweilige Modul M1,
M2, M3 für
einen Datenempfang aktiviert werden.
-
Außerdem müssen sich
das Hauptmodul HM und die Module M1, M2, M3 über wichtige Übertragungsparameter,
wie z.B. maximale Rahmenlänge und
maximale Bitrate einigen. Diese Übertagungsparameter
werden vorzugsweise vom Hauptmodul HM vorgegeben und während der
Registrierung an das jeweilige Modul M1, M2, M3 übertragen.
-
4 zeigt in einem Zeitdiagramm
den Ablauf einer Registrierung des ersten Moduls M1 beim Hauptmodul
HM. Die Registrierung der weiteren Module M2, M3 findet analog hierzu
statt. Dargestellt ist der Verlauf der Signale auf den sechs Leitungen RQ1,
RQ2, RQH, GR1, GR2, BSY zwischen dem Hauptmodul und den Modulen
M1, M2 und M3. Die Zeitachse verläuft in X-Richtung, wobei die
Zeitpunkte der Ereignisse auf den Leitungen RQ1, RQ2, RQH, GR1,
GR2, BSY durch nummerierte Dreiecke angezeigt werden.
-
Der
Datenbus ist anfangs frei, d.h. es findet kein Datenverkehr statt.
Die Leitungen RQ1, RQ2, RQH, GR1, GR2, BSY befinden sich im Normalzustand
(high-level-Potential).
-
Zu
Beginn der Registrierung fordert das Modul M1 den Datenbus durch
Setzen eines low-level-Signals auf der ersten Signalleitung RQ1
beim Hauptmodul HM an. Das Hauptmodul HM erteilt dem ersten Modul
M1 daraufhin die Freigabe für
den Datentransfer durch Setzen eines low-level-Signals auf der ersten
Rückmeldeleitung
GR1.
-
Anschließend setzt
das erste Modul M1 ein low-level-Signal auf der vierten Signalleitung
BSY und beginnt mit der Übertragung
der Modulparameter zum Hauptmodul HM. Das Belegen der vierten Signalleitung
BSY signalisiert den weiteren Modulen M2, M3, dass der Datenbus
reserviert ist, und verhindert so Kollisionen zwischen den Modulen
M1, M2, M3. Die vom ersten Modul M1 zum Hauptmodul HM übermittelten
Modulparameter enthalten modulspezifische Informationen, wie Hardware-Kennungen,
anhand derer eine Klassifizierung des jeweiligen Moduls M1 und damit
auch eine Priorisierung bei einer Kollision möglich ist, sowie weitere für die Datenübertragung
notwendige Eigenschaften des ersten Moduls M1. Das Ende der Übertragung
der Modulparameter signalisiert das erste Modul 1 dem Hauptmodul HM
durch Rücksetzen
des Signalpegels auf der ersten Signalleitung RQ1. Das Hauptmodul
HM prüft
anschließend
die Checksumme der empfangenen Daten und quittiert den Empfang auf
einer ersten Datenleitung BUS1.
-
Bei
der Registrierung eines Moduls M1, M2, M3 beim Hauptmodul HM vergibt
das Hauptmodul HM dem jeweiligen Modul M1, M2, M3 auch eine eindeutige
Modul-Adresse MID, mit deren Hilfe eine individuelle Adressierung
des jeweiligen Moduls M1, M2, M3 ermöglicht wird. Diese Modul-Adresse
MID wird dem ersten Modul M1, wie 4 zeigt,
im Anschluss an die Quittungsinformation auf der ersten Datenleitung
BUS1 gesendet. Es ist jedoch auch möglich, die Modul-Adresse MID
in der Quittungsinformation integriert an das erste Modul M1 zu übergeben.
Dabei besteht die Quittung vorzugsweise aus zwei Byte, wobei das
zweite Byte zur Sicherung als das Komplement des ersten Bytes ausgebildet
ist. Dabei wird lediglich nur ein Wert für die Quittungsinformation
reserviert, um eine negative Quittung (NOT-OK) zu übertragen.
-
Im
Anschluss daran hebt das Hauptmodul HM die Sendeerlaubnis für das erste
Modul M1 durch Rücknahme
des Signalpegels auf der ersten Rückmeldeleitung GR1 wieder auf.
-
Anschließend prüft das erste
Modul M1 die erhaltene Quittung und gibt den Datenbus durch Rücknahme
des Signalpegels auf der vierten Signalleitung BSY bei einer positiven
Quittung wieder frei. In diesem Fall ist die Registrierung erfolgreich
verlaufen und das erste Modul M1 ist beim Hauptmodul HM registriert.
Andernfalls muss das erste Modul M1 den Datenbus für eine erneute
Registrierung wieder anfordern. Bei der erneuten Registrierung wird
dem Hauptmodul HM vorzugsweise in nerhalb der Modulparameter mitgeteilt,
dass bereits ein fehlgeschlagener Versuch existiert.
-
Während der
Registrierung müssen
auch die Übertragungsparameter
zwischen dem Hauptmodul HM und dem ersten Modul M1 geklärt werden.
So gibt das Hauptmodul HM dem ersten Modul M1 neben der Modul-Adresse
MID auch die maximale Rahmenlänge
und die maximale Bit-Rate der Übertragungsstrecke
vor. Das erste Modul M1 merkt sich diese Informationen für die spätere Datenübertragung.
Das Hauptmodul HM wiederum merkt sich in einer speziellen Registrierungstabelle
neben der jeweiligen Modul-Adresse MID auch die vereinbarte Rahmenlänge und
die maximale Bitrate des jeweiligen Moduls M1, M2, M3. Die Registrierungstabelle kann
ebenfalls Prioritätsvorgaben
enthalten, die z.B. eine Priorisierung eines der Module M1, M2,
M3 bei einer Kollision der Module M1, M2, M3 ermöglichen.
-
Eine
Registrierung kann dabei sowohl von einem Modul M1, M2, M3, wenn
das Modul M1, M2, M3 z.B. neu in Betrieb genommen wird, als auch
durch das Hauptmodul HM erflogen, wenn z.B. ein Fehler auf dem Datenbus
auftritt. Im letzteren Fall kommt es häufig zu Kollisionen der Module
M1, M2, M3, da sämtliche
Module M1, M2, M3 fast zeitgleich ihre Registrierungsanfragen an
das Hauptmodul HM senden. Hierbei entscheidet das Hauptmodul HM,
analog zu der in 8 dargestellten
Kollision bei der Datenübertragung, über die
Priorisierung der Module M1, M2, M3.
-
5 zeigt die Arbitrationslogik
des seriellen Datenbusses bei seiner Anforderung durch das Hauptmodul
HM für
eine Datenübertragung
zu einem der Module M1, M2, M3. Dabei belegt das Hauptmodul HM den
Datenbus durch Setzen eines low-level-Signals auf der dritten Signalleitung
RQH. Anschließend
sendet das Hauptmodul HM, vorzugsweise nach Ablauf einer kurzen
Latenzzeit, die Modul-Adresse MID des gewünschten Moduls M1, M2, M3 auf
der ersten Datenleitung BUS1. Die gesendete Modul-Adresse MID wird
von den Modulen M1, M2, M3 vorzugsweise auch im Power-down-Zustand empfangen
und ausgewertet. Lediglich das adressierte Modul M1, M2, M3 wird
jedoch für
einen Datenempfang aktiviert und erteilt daraufhin dem Hauptmodul
HM die Freigabe für
den Datentransfer durch Setzen eines low-level-Signals auf der vierten Signalleitung
BSY. Nachdem das Hauptmodul HM das Freigabesignal auf der dritten
Signalleitung BSY erkannt hat, beginnt es mit dem Datentransfer
zu dem jeweiligen Modul M1, M2, M3 auf der ersten Datenleitung BUS1.
Das Hauptmodul HM signalisiert dem jeweiligen Modul M1, M2, M3 das
Ende seiner Datenübertragung
durch Rücksetzen
des Signalspegels auf der dritten Signalleitung RQH. Nach abgeschlossener Datenübertragung
prüft das
jeweilige Modul M1, M2, M3 die Checksumme der empfangenen Nachricht und
sendet dem Hauptmodul HM eine Quittung auf der zweiten Datenleitung
BUS2. Anschließend
nimmt das jeweilige Modul M1, M2, M3 die Freigabe für den Datentransfer
durch Rücksetzen
des Signalpegels auf der vierten Signalleitung BSY zurück.
-
Die
verwendeten Module M1, M2, M3 müssen
dabei derart gestaltet sein, dass sie in der Lage sind, im synchronen
Betrieb eine auf der ersten Datenleitung BUS1 ankommende Modul-Adresse
MID fehlerfrei zu empfangen. Das Hauptmodul HM adressiert jedes
der Module M1, M2, M3 grundsätzlich über die
zugehörige
Modul-Adresse MID. Daher sind die Mikrocontroller der Module M1,
M2, M3 vorzugsweise derart gestaltet, dass sie in jedem Zustand, also
auch im Power-down-Zustand das betreffende Adressbyte empfangen
können.
-
6 zeigt in einem Zeitdiagramm
den Ablauf einer Datenübertragung
von ersten Modul M1 zum Hauptmodul HM. In einem ersten Schritt der
Datenübertragung
fordert das erste Modul M1 den Datenbus durch Setzen eines low-level-Signals
auf der ersten Signalleitung RQ1 an. Daraufhin erteilt das Hauptmodul
HM dem ersten Modul M1 eine Sendeerlaubnis durch Setzen eines low-level-Signals
auf der ersten Rückmeldeleitung
GR1. Anschließend
belegt das erste Modul M1 den Datenbus durch Setzen eines low-level-Signals
auf der vierten Signalleitung BSY und beginnt mit dem Transfer der
Daten zum Hauptmodul HM auf der zweiten Datenleitung BUS2 (hier
nur angedeutet). Das Ende der Datenübertragung signalisiert das
erste Modul M1 dem Hauptmodul HM durch Rücknahme des low-level-Signals
auf der ersten Signalleitung RQ1. Die steigende Flanke auf der ersten
Signalleitung RQ1 zeigt dem Hauptmodul HM gleichzeitig die Bereitschaft
des ersten Moduls zum Empfang einer Quittung an. Das Hauptmodul
HM prüft
die Checksumme der empfangenen Nachricht und sendet dem ersten Modul
M1 eine Quittung auf der ersten Datenleitung BUS1 zurück. Anschließend nimmt
das Hauptmodul HM die Sendeerlaubnis für das erste Modul M1 durch
Zurücksetzen des
low-level-Signals auf der ersten Rückmeldeleitung GR1 zurück. Schließlich prüft das erste
Modul M1 die vom Hauptmodul HM gesendete Quittung und gibt den Datenbus
durch Setzen eines high-level-Signals auf der vierten Signalleitung
BSY bei einer positiven Quittung wieder frei. Ist die erfolgte Datenübertragung
jedoch Teil eines segmentierten Transfers, bei dem wenigsten ein
weiterer zugehöriger Rahmen
folgt, so fordert das erste Modul M1 den Datenbus durch Setzen eines
low-level-Signals auf der ersten Signalleitung RQ1 noch vor dem
Rücksetzen des
low-level-Signals auf der vierten Signalleitung BSY an.
-
Im
Falle einer fehlerhaften Datenübertragung
vom ersten Modul M1 zum Hauptmodul HM wird der entsprechende Rahmen
vom ersten Modul M1 zum Hauptmodul HM erneut übertragen.
-
Im
Falle einer Störung
auf der ersten Signalleitung RQ1 erkennt das Hauptmodul HM den aufgetretenen
Fehler daran, dass die erste Signalleitung RQ1 noch bevor der Datentransfer
erfolgt durch Rücksetzen
des Signalpegels wieder deaktiviert wird. In diesem Fall bricht
das Hauptmodul HM die Datenübertragung
durch Rücknahme
der Sendeerlaubnis (Rücksetzen
des Signalpegels auf der ersten Rückmeldeleitung GR1) ab.
-
Das
Hauptmodul HM greift ebenso im Falle einer Blockierung des Datenbusses
durch das erste Modul M1, wenn z.B. ein Da tentransfer nach Ablauf einer
definierten maximalen Transferzeit TCOM TRANS nicht erfolgt und die erste Signalleitung
RQ1 vom ersten Modul M1 auch nach Zurücksetzen des Signalpegels auf
der ersten Rückmeldeleitung
GR1 weiterhin aktiv bleibt, aktiv in die Steuerung der Datenübertragung
ein. In diesem Fall führt
das Hauptmodul HM vorzugsweise einen Reset des betreffenden Moduls M1
durch, indem es das erste Modul M1 über eine zugehörige Steckplatz-Reset-Leitung
(hier nicht gezeigt) initialisiert.
-
Die
Entscheidung über
die Zuteilung des Datenbusses erfolgt ausschließlich im Hauptmodul HM, so
dass die Module M1, M2, M3 keine Möglichkeit der Einflussnahme
auf die Zuteilung besitzen und nach Anforderung des Datenbusses
lediglich auf die Zuteilung passiv warten müssen.
-
Im
Folgenden wird die Arbitrationslogik bei einer gleichzeitigen Anforderung
des Datenbusses durch mehrere Module M1, M2, M3 dargestellt. 7 zeigt in einem Zeitdiagramm
die Signalverläufe
bei einer Kollision des ersten und des zweiten Moduls M1, M2. Dabei
fordern beide Module M1, M2 den Datenbus vom Hauptmodul HM gleichzeitig
oder, wie 7 zeigt, kurz
nacheinander durch Setzen eines low-level-Signals auf der ersten
und der zweiten Signalleitung RQ1, RQ2 an. Das Hauptmodul HM erteilt daraufhin
z.B. auf Grundlage einer Prioritätsvorgabe dem
ersten Modul M1 eine Freigabe für
die Datenübertragung
durch Setzen eines low-level-Signals auf der ersten Rückmeldeleitung
GR1. Hierdurch wird die Sendeerlaubnis lediglich dem ersten Modul
M1 erteilt, während
das zweite Modul M2 weiterhin auf die Freigabe des Busses warten
muss.
-
Das
erste Modul M1 erkennt die ihm zugeteilte Sendeerlaubnis und belegt
den Datenbus durch Setzen eines low-level-Signals auf der vierten
Signalleitung BSY und startet die Datenübertragung zum Hauptmodul HM.
Das low-level-Signal auf der vierten Signalleitung BSY zeigt den
anderen Modulen M2, M3 den Beginn einer Datenübertragung zwischen dem ersten
Modul M1 und dem Hauptmodul HM an. Nach erfolgter Datenübertragung
setzt das erste Modul M1 die erste Signalleitung RQ1 wieder auf
ein high-level-Potential zurück,
woraufhin das Hauptmodul HM die Checksumme der empfangenen Daten prüft und eine
Quittung auf der ersten Datenleitung BUS1 an das erste Modul M1
sendet. Nachdem das erste Modul M1 die Quittung empfangen und geprüft hat,
gibt es den Datenbus durch Rücksetzen
des Signalpegels auf der vierten Signalleitung BSY wieder frei.
Das Hauptmodul erkennt nun, dass das zweite Modul M2 auch weiterhin
den Datenbus durch ein low-level-Signal auf der zweiten Signalleitung
RQ2 anfordert und erteilt ihm daraufhin durch Setzen eines low-level-Signals
auf der zweiten Rückmeldeleitung
GR2 die Sendeerlaubnis. Das zweite Modul M2 belegt nun den Datenbus
durch Setzen eines low-level-Signals auf der vierten Signalleitung
BSY und startet mit dem Datentransfer zum Hauptmodul HM. Nachdem
der Datenrahmen gesendet wurde, zeigt das zweite Modul M2 dem Hauptmodul
HM das Ende der Datenübertragung
durch Zurücksetzen
des Signalpegels auf der zweiten Signalleitung RQ2 an. Daraufhin
prüft das
Hauptmodul HM die Checksumme der empfangenen Nachricht und sendet
dem zweiten Modul M2 eine Quittung auf der ersten Datenleitung BUS1.
Danach nimmt das Hauptmodul HM die Sendeerlaubnis des zweiten Moduls
M2 durch Rücksetzen
des Signalpegels auf der zweiten Rückmeldeleitung GR2 zurück. Schließlich gibt
das zweite Modul M2 nach dem Empfang und der Prüfung der Quittung des Hauptmoduls
HM den Datenbus durch Zurücksetzen
des Signalpegels auf der vierten Signalleitung BSY wieder frei.
-
Im
Falle einer segmentierten Datenübertragung,
wobei nach dem vom ersten Modul M1 zum Hauptmodul HM übertragenen
Datenrahmen noch weitere zu folgen haben, setzt das erste Modul
M1 ein low-level-Signal auf der ersten Signalleitung RQ1 noch vor
der Freigabe des Datenbusses durch Zurücksetzen des Signalpegels auf
der vierten Signalleitung BSY. Hierdurch bleibt das erste Modul
M1 für eine
Datenübertragung
zum Hauptmodul HM weiterhin priorisiert, während das zweite Modul M2 weiterhin
auf die Zuteilung des Datenbusses warten muss.
-
Außer einer
Kollision zweier oder mehrerer Module M1, M2, M3 kann es auch zur
Kollision des Hauptmoduls HM mit einem oder mehreren Modulen M1,
M2, M3 kommen.
-
8 zeigt in einem Zeitdiagramm
die Arbitrationslogik bei der koinzidenten Anforderung des Datenbusses
durch das Hauptmodul HM und durch das ersten Modul M1. Dabei aktiviert
das erste Modul M1 die erste Signalleitung RQ1 und das Hauptmodul HM
die vierte Signalleitung RQH gleichzeitig oder, wie 8 zeigt, kurz nacheinander. Das Hauptmodul HM
sendet nach einer kurzen Latenzzeit die Modul-Adresse MID des adressierten
ersten Moduls M1 auf der ersten Datenleitung BUS1. Sowohl das erste Modul
M1 als auch das Hauptmodul HM erkennt die Kollision der Anfragen
und verfährt
nach einer zuvor bestimmten Prioritätsvorgabe. Hierbei wird, wie
in 8 gezeigt, vorzugsweise
das Hauptmodul priorisiert, so dass das erste Modul M1 den Datenbus durch
Setzen eines low-level-Signals auf der vierten Signalleitung BSY
für eine
Datenübertragung
vom Hauptmodul HM freigibt und selber in einer Warteposition bis
zur Zuteilung des Datenbusses durch das Hauptmodul HM verbleibt.
Daraufhin beginnt das Hauptmodul HM mit seiner Datenübertragung
zum ersten Modul M1. Nachdem der Transfer des Datensatzes zum ersten
Modul M1 abgeschlossen ist, setzt das Hauptmodul HM den Signalpegel
auf der dritten Signalleitung RQH wieder zurück. Das erste Modul M1 erkennt
das Ende der Datenübertragung
und prüft
die Checksumme der empfangenen Nachricht. Anschließend sendet
es eine entsprechende Quittung an das Hauptmodul HM und nimmt seinerseits die
Sendeerlaubnis für
das Hauptmodul HM durch Zurücksetzen
des Signalpegels auf der vierten Signalleitung BSY wieder zurück. Das
Hauptmodul HM erkennt anhand des low-level-Signals auf der ersten Signalleitung
RQ1, dass das erste Modul M1 auch weiterhin den Datenbus anfordert
und erteilt dem ersten Modul M1 nun eine Sendeerlaubnis durch Setzen eines
low-level-Signals auf der ersten Rückmeldeleitung GR1. Daraufhin
belegt das erste Modul M1 den Bus durch Setzen eines low-level-Signals
auf der vier ten Signalleitung BSY und startet mit der Datenübertragung
zum Hauptmodul HM. Nach erfolgter Datenübertragung setzt das erste
Modul M1 den Signalpegel auf der ersten Signalleitung RQ1 wieder
zurück.
Daraufhin prüft
das Hauptmodul HM die Checksumme der empfangenen Daten und sendet
dem ersten Modul M1 eine entsprechende Quittung zurück. Anschließend nimmt
das Hauptmodul HM die Sendeerlaubnis für das erste Modul M1 durch
Zurücksetzen
des Signalpegels auf der ersten Rückmeldeleitung GR1 wieder zurück. Schließlich gibt
das erste Modul M1 nach der Prüfung
der Quittung den Datenbus durch Zurücksetzen des Signalpegels auf der
vierten Signalleitung BSY wieder frei.
-
Die
bis hierhin behandelten Szenarien gelten insbesondere für die Kommunikation
zwischen dem Hauptmodul und einem oder mehreren Modulen M1, M2,
M3, wobei höchstens
eines der auf den Datenbus zugreifenden Module M1, M2, M3 als ein
externes Modul über
ein Extendermodul EM an das Hauptmodul HM angebunden ist.
-
Bei
dem in der 2 gezeigten
Ausführungsbeispiel,
wobei die zwei externen Module M2, M3 an das selbe Extendermodul
EM angeschlossen sind und das Extendermodul EM lediglich über die zweite
Signalleitung RQ2 und die zweite Rückmeldeleitung GR2 mit dem
Hauptmodul HM verbunden ist, kann es jedoch zur Kollision der beiden
externen Module M2, M3 kommen. In diesem Fall muss die Priorisierung
schon im Extendermodul EM erfolgen.
-
9 zeigt hierzu in einem
Zeitdiagramm die Arbitrationslogik bei der Kollision der beiden
externen Module M2, M3. Dabei fordert das zweite und das erste Modul
M2, M3 durch Setzen jeweils eines low-level-Signals auf der fünften und
der sechsten Signalleitung RQE1, RQE2 zeitgleich oder kurz nacheinander
den Datenbus vom Hauptmodul HM an. Das Extendermodul EM erkennt
die beiden Anforderungen und leitet diese durch Setzen eines low-level-Signals
auf der zweiten Signalleitung RQ2 an das Hauptmodul HM weiter. Das
Hauptmodul HM erteilt durch Setzen eines low-level-Signals auf der
zweiten Rückmeldeleitung
GR2 die Freigabe für
eine Datenübertragung.
Das Extendermodul EM entscheidet vorzugsweise entsprechend einer
Prioritätsvorgabe, welches
der beiden externen Module M1, M2 die Sendeerlaubnis des Hauptmoduls
HM zugeteilt bekommt. In dem vorliegenden Beispiel entscheidet das
Extendermodul EM, dass die Sendeerlaubnis zuerst dem zweiten Modul
M2 zugeteilt wird, und leitet diese durch Setzen eines lowlevel-Signals
auf der dritten Rückmeldeleitung
GRE1 an das zweite Modul M2 weiter. Daraufhin belegt das zweite
Modul M2 den Datenbus durch Setzen eines low-level-Signals auf der
vierten Signalleitung BSY und startet mit der Datenübertragung
zum Hauptmodul HM. Das zweite Modul M2 zeigt das Ende seines Datentransfers durch
Zurücksetzen
des Signalpegels auf der fünften Signalleitung
RQE1 an. Dieses Signal wird vom Extendermodul EM durch Zurücksetzen
des Signalpegels auf der zweiten Signalleitung RQ2 an das Hauptmodul
HM weitergeleitet. Im Anschluss daran prüft das Hauptmodul die Checksumme
der empfangenen Nachricht und sendet dem zweiten Modul M2 eine entsprechende
Quittung auf der ersten Datenleitung BUS1 zurück. Danach nimmt das Hauptmodul
HM die Sendeerlaubnis durch Zurücksetzen
des Signalpegels auf der zweiten Rückmeldeleitung GR2 wieder zurück. Diese
Zurücknahme
der Sendeerlaubnis zeigt das Extendermodul EM dem zweiten Modul
M2 durch Rücksetzen
des Signalpegels auf der dritten Rückmeldeleitung GRE1 an. Das
zweite Modul M2 prüft
die empfangene Quittung und gibt anschließend den Datenbus durch Rücksetzen
des Signalspegels auf der vierten Signalleitung BSY wieder frei.
Da die sechste Signalleitung RQE2 auch weiterhin ein low-level-Signal aufweist,
erkennt das Extendermodul EM, dass das dritte Modul M3 noch weiterhin
den Datenbus für
eine Datenübertragung
zum Hauptmodul HM anfordert. Diese Anforderung leitet das Extendermodul
EM wiederum durch Setzen eines low-level-Signals auf der zweiten Signalleitung
RQ2 an das Hauptmodul HM weiter. Das Hauptmodul HM erteilt daraufhin
dem dritten Modul M3 eine Sendeerlaubnis durch Setzen eines low-level-Signals auf
der zweiten Rückmeldeleitung
GR2. Das Ex tendermodul EM leitet die Sendeerlaubnis durch Setzen
eines low-level-Signals auf der vierten Rückmeldeleitung GRE2 an das
dritte Modul M3 weiter. Nachdem das dritte Modul M3 die Sendeerlaubnis
erhalten hat, belegt es den Datenbus durch Setzen eines low-level-Signals
auf der vierten Signalleitung BSY und startet mit der Datenübertragung
zum Hauptmodul HM auf der zweiten Datenleitung BUS2. Anschließend beendet
das dritte Modul seinen Datentransfer durch Rücksetzen des Signalpegels auf
der fünften Signalleitung
RQE1. Das Extendermodul EM setzt daraufhin seinerseits den Signalpegel
auf der zweiten Signalleitung RQ2 zurück. Nachdem das Hauptmodul
HM die Daten vom dritten Modul M3 empfangen hat, prüft es die
Checksumme und sendet auf der ersten Datenleitung BUS1 eine entsprechende
Quittung an das dritte Modul M3 zurück. Anschließend nimmt
das Hauptmodul HM die Sendeerlaubnis durch Rücksetzen des Signalpegels auf
der zweiten Rückmeldeleitung
GR2 wieder zurück.
Dieses Signal leitet das Extendermodul EM an das dritte Modul M3 durch
Zurücksetzen
des Signalpegels auf der vierten Rückmeldeleitung GRE2 weiter.
Das dritte Modul M3 prüft
die empfangene Quittung des Hauptmoduls und gibt schließlich den
Datenbus durch Rücksetzen
des Signalpegels auf der vierten Signalleitung BSY wieder frei.
-
Das
hier vorgestellte Verfahren zur seriellen Datenübertragung zwischen einem zentralen
Hauptmodul HM und einem oder mehreren Modulen M1, M2, M3 wird mit
Hilfe eines speziellen seriellen Übertragungsprotokolls realisiert.
Sämtliche
Parameter, wie z.B. Zeitrahmen und Toleranzen und Formate der ausgetauschten
Signale, die für
eine fehlerfreie Datenübertragung
notwendig sind, werden insbesondere durch dieses Protokoll sowie
durch die Hardware der beteiligten Komponenten HM, M1, M2, M3, EM bestimmt.
-
Die
in der vorangehenden Beschreibung, den Ansprüchen und den Zeichnungen offenbarten Merkmale
der Erfindung können
sowohl einzeln als auch in beliebiger Kombination für die Verwirkli chung der
Erfindung in ihren verschiedenen Ausgestaltungen wesentlich sein.