Beschreibung
Titel
Verfahren zum Betreiben einer Kommunikationsanordnung Die Erfindung betrifft ein Verfahren zum Betreiben einer Kommunikationsanordnung sowie eine Kommunikationsanordnung.
Stand der Technik Im Bereich der Kraftfahrzeugtechnik werden zur Datenübertragung zwischen logischen Bausteinen, die bspw. als integrierte Schaltkreise (IC, Integrated Circuit) ausgebildet sein können, in Steuergeräten serielle Schnittstellen, bspw. SPI, Se- rial Peripheral Interface, eingesetzt. Eine SPI-Schnittstelle beschreibt eine bidirektionale, synchrone und serielle Datenübertragung zwischen einem als Master ausgebildeten Baustein und verschiedenen als Slaves ausgebildeten Bausteinen.
Dabei umfasst eine Schnittstelle mindestens drei Leitungen zwischen dem Master und einem Slave, in der Regel sind dies zwei Datenleitungen und eine Taktleitung. Bei mehreren Slaves benötigt jeder dieser Bausteine eine zusätzliche Auswahl- bzw. Selektleitung vom Master. Die SPI-Schnittstelle ermöglicht den Auf- bau einer Daisy-Chain- oder Bustopologie.
In einigen Fällen ist die SPI-Schnittstelle nicht für die Übertragung zeitkritischer Ansteuersignale geeignet, um den Echtzeitanforderungen heutiger sicherheitskritischer Applikationen gerecht zu werden. Häufig erfolgt mit einer SPI nur ein Aus- tausch von Diagnose- und Statusinformationen. Zeitkritische Ansteuersignale werden in der Regel unter der Nutzung von Timer-Einheiten und/oder proprietären Schnittstellen mit hohem Aufwand an die Ansteuerbausteine der Aktoren und/oder von den Auswerteschaltungen der Sensoren übertragen.
In der Anwendung der SPI-Schnittstelle in Form einer Bustopologie ergeben sich bei höheren Datenraten zunehmend verschlechterte Signalintegritäten und hohe
Störbeeinflussungen aufgrund schlechter EMV-Eigenschaften. Weiter wird nur das Sendesignal mit dem Taktsignal synchron übertragen, wohingegen sich die phasensynchrone Übertragung des Empfangssignals durch die internen Verzögerungszeiten im Slave bei hohen Datenraten zunehmend schwieriger gestaltet. So können bei einer Anwendung der SPI-Schnittstelle in einer Daisy-Chain-
Topologie, d. h. in einer Ringtopologie, sehr hohe Latenzzeiten entstehen, weshalb eine derartige Kommunikationsanordnung nicht effizient in Kfz- Steuergeräten genutzt werden kann.
Im Stand der Technik wird basierend auf einer physikalischen Übertragungsschicht, bspw. SPI, zur verlustfreien Datenübertragung zwischen zwei Instanzen ein sogenanntes Drei-Wege-Handschlag (tree-way-handshake) Verfahren eingesetzt. Beim Transport von Nachrichten benötigen die teilnehmenden Instanzen eine Möglichkeit, sicherzustellen, dass die von ihnen kontaktierte Instanz die Nachricht erhalten hat. Eine sendende Instanz möchte also eine Bestätigungsantwort, wenn die Nachricht angekommen ist. So sendet ein erster Teilnehmer eine Nachricht an einen zweiten Teilnehmer. Auf Basis einer Ringtopologie kann der sendende erste Teilnehmer, bspw. der Master, nun seine gesendete Botschaft zurücklesen und vergleichen, ob ein Übertragungsfehler aufgetreten ist, jedoch kann der erste Teilnehmer nicht unterscheiden, ob die ursprüngliche Nachricht bei dem zweiten Teilnehmer schon gestört angekommen ist oder ob diese korrekt bei dem zweiten Teilnehmer ankam und auf dem Rückweg verfälscht wurde. Des Weiteren muss der zweite Teilnehmer, bspw. der Slave, sicher sein, dass seine Botschaft, bspw. die Bestätigung, korrekt an den ersten Teilnehmer übertragen wurde, um danach bspw. den Speicherplatz mit neuen Daten belegen zu können.
Offenbarung der Erfindung Vor diesem Hintergrund werden ein Verfahren und eine Kommunikationsanordnung mit den Merkmalen der unabhängigen Patentansprüche vorgestellt. Weitere Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Patentansprüchen und der Beschreibung. Mit der Erfindung werden u. a. ein Protokoll und eine Datenstruktur für ein Verfahren zum Übertragen von Daten zwischen Teilnehmern in einer Kommunikati-
onsanordnung bereitgestellt, wobei die Teilnehmer mit einander seriell verbunden sind und die Kommunikationsanordnung eine üblicherweise ringförmige Struktur in Ring-Topologie aufweist. Hierbei ist in Ausgestaltung vorgesehen, dass durch spezielle Segmente in dem Protokoll zur Übertragung und/oder in der Datenstruktur eine Übertragung der Daten abgesichert wird. Als derartige Segmente werden Interrup-Bits in Interrupt-Registern der Teilnehmer und Umschaltbits in Unterbrechungsanfragen verwendet. Dabei ist jeweils einem Slave ein Interrupt-Bit zugeordnet, wobei der jeweilige Slave durch Einstellen des ihm zugeordneten Interrupt-Bits in einem Leerrahmen dem Master signalisiert, ob dieser Slave dem Master Daten bereitstellen kann oder nicht. Falls der Slave dem Master Daten bereitstellen kann, bittet er den Master mit dem eingestellten Interrupt- Bit darum, ihm einen Datenrahmen zu senden, in den der Slave die Daten einfügen kann. Jeder Rahmen, der als Leerahmen oder Datenrahmen ausgebildet sein kann, weist ein Umschaltbit für sämtliche Teilnehmer auf. Durch einen Wert des Umschaltbits wird angezeigt, ob eine Übertragung des vorigen Rahmens störungsfrei erfolgt ist oder nicht, d. h. wiederholt werden muss.
Damit kann eine einfache und kostengünstige Implementierung von Teilnehmern auf Logikbausteinen der Kommunikationsanordnung, mit bspw. mindestens ei- nem Mikrocontroller mindestens einer anwendungsspezifischen integrierten
Schaltung (ASIC) bis hin zu hohen Datenraten erfolgen. Das Verfahren ermöglicht eine fehlerfreie Übertragung von Daten zwischen den Teilnehmern zur Anwendung in sicherheitskritischen Anwendungen. Bei einer möglichen Anwendung werden üblicherweise benötigte Absicherungen seitens der Software minimiert. Somit reduziert sich der Bedarf einer Interaktion zwischen einem Rechnerkern und einem Schnittstellenmodul eines Teilnehmers, das als serielle Schnittstelle ausgebildet sein kann. Die Kommunikationsanordnung unterstützt demnach eine abgesicherte Übertragung von Botschaften zwi- sehen Teilnehmern, wobei ein Teilnehmer der Kommunikationsanordnung als
Master und mindestens ein weiterer Teilnehmer als Slave ausgebildet ist. Bei einem Übertragungsfehler kann in einer Ausgestaltung der Erfindung eine autarke Wiederholung einer Datenanforderung ohne Interaktion der Software erfolgen. Ferner ermöglicht die beschriebene Kommunikationsanordnung eine Synchroni- sation der angeschlossenen Teilnehmer auf eine einheitliche Zeitdomäne und
unterstützt Befehle zur Singlecast-, Multicast- oder Broadcast-Übertragung von Daten, wodurch der Master gleichzeitig mehrere Slaves ansprechen kann.
In der Kommunikationsanordnung, die eine Ring-Topologie aufweist, sind die Teilnehmer durch Punkt-zu-Punkt-Verbindungen mit geringster Pinanzahl verbunden. Einer der Teilnehmer, z. B. ein Mikrocontroller, agiert dabei als Master, wodurch keine Busarbitrierung erforderlich wird. Die Slaves können verschiedenartig ausgebildet sein. So kann ein diskreter Baustein mehrere Slaves oder lediglich einen Slave aufweisen. Diskrete Bausteine mit jeweils zumindest einem Sla- ve können als ASICs (anwendungsspezifische integrierte Schaltungen) ausgebildet sein, wobei mindestens ein Baustein, in dem zumindest ein Slave integriert ist, von einer Logik, z. B. einem Mikrocontroller oder einem anderen ASIC, als Master gesteuert werden kann. Der Master sendet in der Regel einen kontinuierlichen Datenstrom, der die Slaves nacheinander durchläuft. Durch die Möglich- keit der kontinuierlichen Synchronisation benötigen die Slaves auch keinen weiteren Takt. Damit ein Datenaustausch unter den Teilnehmern erfolgen kann, ist in Ausgestaltung der Erfindung ein einheitliches Protokoll mit zugehöriger Datenstruktur vorgesehen. In weiterer Ausgestaltung der Erfindung ist eine Übertragung von Daten zwischen Teilnehmern einer seriellen, ringförmigen Kommunikationsanordnung, bspw. einem sog. Ringbus, in der die Teilnehmer miteinander seriell verbunden sind, möglich. Dabei kann ein Datenpaket von einem als Master ausgebildeten Teilnehmer an weitere Teilnehmer, die als Slaves ausgebildet sind, übermittelt werden, wobei das Datenpaket von Slave zu Slave übermittelt wird. Außerdem kann eine Datenübertragung von Teilnehmer zu Teilnehmer mit einer Verzögerung von mindestens einer Bitdauer erfolgen, wodurch Datenpakete, die Nachrichten enthalten können, zwischen den Teilnehmern mit sehr geringer Latenz übertragen werden können.
Die erfindungsgemäße Kommunikationsanordnung ist dazu ausgebildet, sämtliche Schritte des vorgestellten Verfahrens durchzuführen. Dabei können einzelne Schritte dieses Verfahrens auch von einzelnen Komponenten der Kommunikationsanordnung durchgeführt werden. Weiterhin können Funktionen der Kommu- nikationsanordnung oder Funktionen von einzelnen Komponenten der Kommunikationsanordnung als Schritte des Verfahrens umgesetzt werden. Außerdem ist
es möglich, dass Schritte des Verfahrens als Funktionen wenigstens einer Komponente der Kommunikationsanordnung oder der gesamten Kommunikationsanordnung realisiert werden. Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, son- dem auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Kurze Beschreibung der Zeichnungen Figur 1 zeigt in schematischer Darstellung Beispiele für Zwischenrahmensymbole mit einer Miller-/MFM-Kodierung, die bei einer Ausführungsform eines erfindungsgemäßen Verfahrens verwendet werden.
Figur 2 zeigt in schematischer Darstellung eine Struktur eines als Datenrahmen ausgebildeten Rahmens, der bei einer anderen Ausführungsform des erfindungsgemäßen Verfahrens verwendet wird.
Figur 3 zeigt in schematischer Darstellung eine Struktur eines als Leerrahmen ausgebildeten Rahmens, der bei einer weiteren Ausführungsform des er- findungsgemäßen Verfahrens verwendet wird.
Figur 4 zeigt in schematischer Darstellung eine Ausführungsform der erfindungsgemäßen Kommunikationsanordnung, mit der bei einer Ausführungsform des erfindungsgemäßen Verfahrens eine Soft-Interrupt- Anforderung ausgelöst wird.
Figur 5 zeigt in schematischer Darstellung ein Beispiel für eine Ablaufsteuerung zur sicheren Übertragung einer Interrupt-Anforderung bei Durchführung einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens.
Figur 6 zeigt in schematischer Darstellung ein Beispiel für einen Einsatz eines Umschaltbits (Toggle-Bits) zur autarken Rücksendung (Re-Transmit) von Botschaften bei Durchführung einer anderen Ausführungsform des erfindungsgemäßen Verfahrens.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Figur 1 zeigt Beispiele für Zwischenrahmensymbole 2, 4, 6, 8, 10, 12, die bei einer Ausführung des erfindungsgemäßen Verfahrens als Komponenten von Datenpaketen verwendet werden, die zwischen Teilnehmern einer erfindungsgemäßen Kommunikationsanordnung übermittelt werden. In einem derartigen Datenpaket folgt auf eines der gezeigten Zwischenrahmensymbole 2, 4, 6, 8, 10, 12 ein Rahmen 14, der entweder als Datenrahmen oder Leerrahmen ausgebildet sein kann.
Im Falle einer MFM- und somit Millerkodierung, die bei einer Ausgestaltung des erfindungsgemäßen Verfahrens zum Kodieren von Datenpaketen verwendet wird, ergeben sich u. a. die in Figur 1 dargestellten Beispiele für
Zwischenrahmensymole 2, 4, 6, 8, 10, 12 für Datenpakete eines Datenstroms. Dabei weist jedes Zwischenrahmensymbol 2, 4, 6, 8, 10, 12 einen charakteristischen Signalverlauf 16, 18, 20, 22, 24, 26 mit einer zugeordneten Periodendauer auf. Der Signalverlauf 16, 18, 20, 22, 24, 26 jedes Zwischenrahmensymbols 2, 4, 6, 8, 10, 12 weist aufgrund der Millerkodierung eine bei einer Initialisierung der Teilnehmer verwendete, unzulässige Periodendauer von 2,5 oder 3 Bit auf, die von einer herkömmlichen Periodendauer, die beim Versenden von Daten verwendet wird, abweicht. Die Signalverläufe 16, 18 der beiden ersten Zwischenrahmensymbole 2, 4 weisen eine Periodendauer von 3 Bit auf, wohingegen die Signalverläufe 20, 22, 24, 26 der weiteren Zwischenrahmensymbole 6, 8, 10, 12 jeweils eine Periodendauer von 2,5 Bit aufweisen. Die Zwischenrahmensymbole 2, 4, 6, 8, 10, 12 mit unzulässigen Periodendauern werden durch eine
Kodierverletzung erzeugt. Die Zwischensymbole 2, 4, 6, 8, 10, 12 entsprechen ungültigen Datensignalen, die jedoch von den Teilnehmern erkannt werden.
Durch das wiederholte Senden eines derartigen Zwischenrahmensymbols 2, 4, 6, 8, 10, 12 während der Initialisierung erhält jeder Slave der Kommunikationsanordnung eine Folge von abwechselnd kurzen und langen Periodendauern zwischen zwei aufeinanderfolgenden Flankenwechsel, die durch die Signalverläufe 16, 18, 20, 22, 24, 26 definiert sind.
Ein Zwischenrahmensymbol 2, 4, 6, 8, 10, 12 (IFS, Interframe-Symbol), das funktionell einem Paketanfang (Start of Package) und/oder einem Paketende (End of Package) eines Datenpakets entspricht, wird in den zu übertragenden Datenstrom eingefügt, damit die Botschaften von den Teilnehmern in dem kontinuierlichen Datenstrom erkannt und extrahiert werden können. Ein Zwischenrahmensymbol (IFS) 2, 4, 6, 8, 10, 12 kann auch als Preamble ausgebildet sein, womit sich die als Slaves ausgebildeten Teilnehmer auf die nachfolgenden Botschaften synchronisieren können. Das Zwischenrahmensymbol 2, 4, 6, 8, 10, 12 wird somit zur Synchronisation von Rahmen verwendet, die als Datenrahmen oder Leerrahmen ausgebildet sein können.
Um zu gewährleisten, dass ein Zwischenrahmensymbol 2, 4, 6, 8, 10, 12 sicher erkannt wird, ist auszuschließen, dass eine identische Bitfolge im Datenstrom auftritt. Dies kann beispielsweise durch eine geeignete Kodierung oder
Kodierverletzung sichergestellt werden. Zur Erzeugung eines speziellen Zwischenrahmensymbols 2, 4, 6, 8, 10, 12, das als Synchronisationssymbol verwendet werden kann, können die Regeln der angewandten Leitungskodierung, z. B. Miller-Kodierung ausgenutzt werden, die nach einer bestimmten Anzahl an Nullen oder Einsen in dem Datenstrom immer einen Flankenwechsel vorsieht. Sofern in dem Datenstrom je nach Ausführung des Verfahrens eine minimale oder maximale Zeitdauer ohne Flankenwechsel überschritten wird, wird eine ungültige Kodierung bereitgestellt. Da eine Unterschreitung der minimalen Periodendauer ohne Flankenwechsel die Bandbreitenanforderung der Kommunikationsanordnung erhöht, wird alternativ eine ungültige Erhöhung der maximal zulässigen Periodendauer ohne Flankenwechsel gewählt.
Figur 2 zeigt in schematischer Darstellung ein Beispiel für einen Aufbau eines als Datenrahmen 28 ausgebildeten Rahmens eines Datenpakets, der zwischen Teilnehmern einer erfindungsgemäßen Kommunikationsanordnung versendet werden kann. Dieser Datenrahmen 28 umfasst ein Identitätsfeld 30, ein Adressfeld 34, ein Datenfeld 36 sowie ein optionales CRC-Feld 38 für eine zyklische Redundanzprüfung. Außerdem zeigt Figur 2 jeweils ein Zwischenrahmensymbol 40 unmittelbar vor sowie unmittelbar nach dem Datenrahmen 28.
Ein Beispiel für eine Struktur eines als Leerrahmen 42 ausgebildeten Rahmens, der bei einer Ausführungsform des erfindungsgemäßen Verfahrens zwischen Teilnehmern einer erfindungsgemäßen Kommunikationsanordnung ausgetauscht werden kann, ist in Figur 3 schematisch dargestellt. Dieser Leerrahmen 42 umfasst ebenfalls ein Identitätsfeld 30 sowie ein bei dem Leerrahmen 42 optionales und somit nicht zwingend erforderliches Adressfeld 34. Weiterhin umfasst der Leerrahmen 42 ein IRQ-Feld 44 für eine Unterbrechungsanfrage (IRQ, Interrupt Request). Der Leerrahmen 42 kann ebenfalls ein optionales CRC-Feld 38 für eine zyklische Redundanzprüfung aufweisen. In einem versendeten Datenstrom ist auch der Leerrahmen 42 zwischen zwei Zwischenrahmensymbolen 40 unmittelbar vor und unmittelbar nach dem Leerrahmen 42 angeordnet.
Entsprechend der Datenstruktur der in den Figuren 2 und 3 vorgestellten Rahmen folgt nach einem Zwischenrahmensymbol 40 das Identitätsfeld 30 mit einer Folge von Rahmenidentitäts-Bits (Frame-ID-Bits). Diese signalisieren dem Teilnehmer, um welche Art von Botschaft es sich im nachfolgenden Datenstrom handelt. In einer beispielhaften Konfiguration können jeweils ein Rahmenidenti- täts-Bit und vier Address-Bits vorgesehen sein. In alternativen Ausführungen ist auch eine Erhöhung oder Verkleinerung der Bits eines Headers, der das Identitätsfeld 30 sowie das Adressfeld 34 umfasst, möglich. In Ausgestaltung der Erfindung werden das Adressfeld 34 sowie das Identitätsfeld 30 des Rahmens eines Datenpakets mit einem Paritäts-Bit versehen, womit eine fehlerhafte Adressierung verhindert wird. Alternativ oder ergänzend kann auch über den gesamten Rahmen, üblicherweise den gesamten Datenrahmen, eine zyklische Redundanzprüfung (cyclic redundancy check, CRC) durchgeführt und dabei eine Prüf- bzw. Checksumme berechnet werden. Eine Berechnung der
Prüfsumme über den kompletten Rahmen erhöht die Identifikation eines Übertra-
gungsfehlers und ermöglicht daher auch den Einsatz in einer sicherheitskritischen Einrichtung, bspw. in einem Steuergerät eines Kraftfahrzeugs.
In einer weiteren Anwendung werden die Identitäts-Bits in einem Identitätsfeld 30 eines Rahmens durch den Master derart konfiguriert, dass die angeschlossenen
Slaves die Botschaft als einen Datenrahmen 28 interpretieren können. In einer beispielhaften Konfiguration wird ein Datenrahmen 28 dadurch gekennzeichnet, dass ein erstes Identitäts-Bit FDO in dem Identitätsfeld 30 des Datenrahmens 28 nicht gesetzt wird: FD0= 0. Der Dateninhalt der Botschaft darf somit nur von dem adressierten Teilnehmer verarbeitet werden. Diese Art der Botschaft (Datenrahmen 28) entspricht dem Dateninhalt einer seriellen periphären Schnittstelle (SPI).
Neben dem Identitätsfeld 30 mit den Identitäts-Bits weist ein Rahmen Adressfelder 34 mit Adressbits auf. Dabei kann eine Adressierung eines Teilnehmer durch Einstellung und/oder Änderung eines Adresswerts und somit des Adressbits in dem Adressfeld 34 durchgeführt werden, wodurch eines Adressinformation des Adressfelds 34 des Rahmens eingestellt wird. Bei der Adressierung eines Teilnehmers wird die Ring-Topologie dahingehend genutzt, dass jeder Teilnehmer, üblicherweise ein Slave, von einer aktuellen Adresse, die bspw. durch den Ad- resswert definiert ist, 0x01 subtrahiert, wodurch bei der Adresse 0x00 mit entsprechendem Adresswert der gewünschte Teilnehmer adressiert ist. Die Realisierung erfolgt üblicherweise durch einen 1 -Bit-Subtrahierer, indem die Adresse eines ersten geringwertigsten Bits (least significant bit, LSB-First) übertragen wird.
Außerdem können die weiteren Identitäts-Bits im Identitätsfeld 30 des Rahmens beispielsweise für Übertragungsbefehle (Single-, Multi- und/oder Broadcast- Befehle) genutzt werden. Durch eine entsprechende Konfiguration, kann bei der Übertragung eines Datenrahmens 28 ein Schreiben (broadcast write) und/oder ein Lesen (broadcast read) durchgeführt werden. Im Falle eines solchen Übertragungsbefehls zum Schreiben und/oder zum Lesen wird ein nachfolgender Adresswert nicht mehr als Adressinformation sondern als Übertragungsidentität (Broadcast-ID) interpretiert und von den Slaves nicht verändert. Folglich können somit viele verschiedene Übertragungen (Broadcasts) von Adressen, also z. B. 16 Adressen im Falle eines Address-Headers mit einer Länge von 4 Bit, durchgeführt werden.
In einer ersten Anwendung einer Übertragung (Broadcast-Anwendung) sendet der Master als Teilnehmer z. B. einen Befehl zum Stellen der Systemuhren an die Slaves, die an der Kommunikation teilnehmen, zuzüglich eines individuellen Offsets (Versatzes), der der Verzögerung in der ringförmigen Kommunikationsanordnung entspricht und der dem Master bekannt ist. Sonst kann der Master mehreren Slaves einen einzigen Rahmen mit bekanntem Zeitversatz senden. Ein Zeitversatz von dem Master zu einem ersten Slave ist x Bit + Anzahl der Datenbits, da der Slave seine Uhr erst stellen kann, nachdem er den gesamten Rah- men empfangen hat. Diese Zeit ist jedoch fix und berechenbar. Aufeinanderfolgende Slaves stellen ihre Uhren mit nur einem weiteren Zeitversatz und somit nur einem weiteren Taktversatz, da die Verzögerung pro Teilnehmer in Ausgestaltung der Erfindung nur ein Bit beträgt. In einer zweiten Anwendung einer Übertragung sendet der Master einen Befehl zum Ausgeben/Stellen der Winkeluhren der angeschlossenen Slaves. In einer beispielhaften Anwendung erkennt der erste Slave in der ringförmigen Netzwerkanordnung einen Übertragungs-Befehl zum Ausgeben seines Werts der Winkeluhr. Er ändert die im Identitätsfeld 30 des üblicherweise als Datenrahmen 28 ausgebildeten Rahmens durch eine im Identitäts-Bit hinterlegte Identität dahingehend, dass die nachfolgenden Slaves lesend auf den Dateninhalt zugreifen und den vom Master leer gelassenen Datenteil des Rahmens mit dem Wert der Winkeluhr füllen. Die nachfolgenden Slaves nutzen nun diese Übertragung in ähnlicher Weise wie bei der ersten Anwendung zum Setzen der Werte ihrer Win- keluhren unter Berücksichtigung des Taktversatzes um ein Bit. Wenn zusätzlich noch eine aktuelle Änderungsgeschwindigkeit übertragen wird, wobei berücksichtigt wird, dass ein Rahmen beliebig lang sein kann, können die Slaves ausreichend genau winkelsynchron gehalten werden. Es ist in Ausgestaltung der Erfindung vorgesehen, dass jedes IRQ-Feld 44 eines
Leerahmens 42 für jeden teilnehmenden Slave ein Interrupt-Bit aufweist, das einem jeweiligen Slave eindeutig zugeordnet ist. Jeder Slave kann durch Setzen und/oder Einstellen des ihm zugeordneten Interrupt-Bits, entweder auf 1 oder O, dem Master eine Unterbrechungsanfrage übermitteln und somit signalisieren, dass der Master eine besondere Aktion durchführen soll, bspw. diesem Slave ei-
nen Datenrahmen 28 zusendet, in den der Slave Daten für den Master einfügen kann.
Ein Auslösen und ein Rücksetzen einer Unterbrechungsanfrage bei einer möglichen Ausgestaltung des erfindungsgemäßen Verfahrens ist in Figur 4 beispielhaft dargestellt.
Figur 4 zeigt in schematischer Darstellung ein Beispiel für eine erfindungsgemäße Kommunikationsanordnung 50 in drei zeitlich aufeinander folgenden Betriebssituationen bei einer Ausführungsform des erfindungsgemäßen Verfahrens. Die hier ringförmige Kommunikationsanordnung 50 weist als Teilnehmer einen Master 52 sowie Slaves 54, 56, 58, 60 auf, die in der Kommunikationsanordnung 50 miteinander seriell und ringförmig verbunden sind. Dabei ist ein erster Slave 54 über eine Datenverbindung mit dem Master 52 verbunden. Sämtliche Slaves 54, 56, 58, 60 sind in Reihe geschaltet und ebenfalls über Datenverbindungen miteinander verbunden. Ein letzter Slave 60 der Kommunikationsanordnung ist wiederum mit dem Master 52 verbunden.
Weiterhin ist in Figur 4 für jeden Slave 54, 56, 58, 60 ein Interrupt-Register 62 mit einem Feld dargestellt, das einen Zustand eines Interrupt-Bits und somit eines Bits für eine Unterbrechungsanfrage, das entweder den Zustand 0 oder 1 aufweist, anzeigt. Der Master 52 umfasst zwei Interrupt-Register 64, 66, wobei jedes dieser beiden Interrupt-Register 64, 66 des Masters 52 y Felder aufweist, wobei ein Wert eines x-ten Felds eines Interrupts-Registers 64, 66 einem Wert und /oder einem Zustand eines Interrupts eines x-ten Slaves 54, 56, 58, 60 zugeordnet ist. Ein erstes Interrupt-Register 64 des Masters 52 zeigt einen Dateninhalt eines Interrupt-Bits eines vorhergehenden k-1 -ten Leerrahmens an. Ein zweites Interrupt-Register 66 zeigt den Dateninhalt eines aktuellen Interrupts-Bits eines k-ten Leerrahmens an.
Eine in Figur 4 ebenfalls dargestellte Zeitachse 68 ist in drei Bereiche unterteilt, wobei ein erster Bereich durch einen ersten Zeitpunkt 70 t = 0 und einen zweiten Zeitpunkt 72, zu dem von dem Master 52 an die Slaves 54, 56, 58, 60 ein n-ter Leerrahmen verschickt wird, begrenzt ist, wobei zwischen diesen beiden Zeitpunkten 70, 72 eine Initialisierung 74 der Kommunikationsanordnung 50 durchgeführt wird. Ein zweiter Bereich der durch den zweiten Zeitpunkt 72 und einen
dritten Zeitpunkt 76 begrenzt ist, zu dem durch den Master 52 an die Slaves 54, 56, 58, 60 ein η+1 -ter Leerrahmen versendet wird, kennzeichnet ein Auslösen 78 eines Interrupts. Nach dem dritten Zeitpunkt 76 wird ein Zurücksetzen 80 des Interrupts durchgeführt. Bei dem Zurücksetzen 80 des Interrupts und somit der Unterbrechungsanfrage wird nicht das Interrupt-Bit in einem Interrupt-Register 62 eines der Slaves 54, 56, 58, 60 zurückgesetzt, sondern es erfolgt eine Übernahme eines Werts eines x-ten Felds für ein Interrupt des zweiten Interrupt-Registers 66 in das erste Interrupt-Register 64 des Masters 52. Damit bleibt der Wert des Interrupt-Bits im Interrupt-Register 62 des Slaves 54, 56, 58, 60 unverändert. Sofern der Slave 54, 56, 58, 60 nun dem Master 52 eine neue Unterbrechungsanfrage übermitteln möchte, wird der Zustand des Interrupt-Bits im Interrupt- Register 62 des Slaves 54, 56, 58, 60 invertiert, welches der Master 52 nach der Übertragung durch einen Leerrahmen mittels Vergleich des ersten Interrupt- Registers 64 mit dem zweiten Interrupt-Register 66 entsprechend dem obig beschriebenen Verfahren erkennt.
Bei der Initialisierung 74 der Kommunikationsanordnung 50 ist in der beschriebenen Ausführungsform der Erfindung vorgesehen, dass alle Interrupt-Bits für alle Slaves 54, 56, 58, 60 auf 0 gesetzt werden. Bei dem Auslösen 78 des Interrupts ist vorgesehen, dass hier ein dritter Slave 58 das Auslösen 78 des Interrupts durch Umschalten des Interrupt-Bits in seinem Interrupt-Register 62 markiert, was wiederum durch den Master 52 nach Empfang der Interrupt-Felder der einzelnen Slaves 54, 56, 58, 60 in seinem zweiten Interrupt-Register 66 dadurch registriert wird, dass ein Wert im dritten Feld dieses zweiten Interrupt-Registers 66 auf 1 gesetzt ist und die Werte der anderen Felder 0 sind.
Alternativ ist es möglich, dass die Interrupt-Bits bei der Initialisierung 74 auf 1 gesetzt sind und ein Slave 54, 56, 58, 60 den Wert des ihm zugeordneten Interrupt- Bits auf 0 setzt, sofern dieser Slave 54, 56, 58, 60 dem Master 52 Daten bereitstellen kann. Durch geeignetes Setzen und/oder Einstellen des Interrupt-Bits, was je nach Definition bedeuten kann, dass das Interrupt-Bit auf 0 oder 1 gesetzt und/oder gestellt wird, kann ein Slave 54, 56, 58, 60 dem Master ein Signal übermitteln. Falls einer der Slaves 54, 56, 58, 60 eine Unterbrechungsanfrage vorsieht, löst der jeweilige Slave 54, 56, 58, 60 diese durch Einstellen des Werts des Interrupt-
Bits in seinem Interrupt-Register 62 aus. Außerdem wird der aktuelle Wert des Interrupt-Bits, unabhängig davon, ob der jeweilige Slave 54, 56, 58, 60 nun eine Unterbrechungsanfrage auslöst oder nicht, in einen Rahmen, üblicherweise einen Leerahmen übertragen, der in der Kommunikationsanordnung 50 von Teilnehmer zu Teilnehmer, d. h. ausgehend von dem Master 52 von Slave 54, 56, 58, 60 zu Slave 54, 56, 58, 60 und letztendlich wieder zu dem Master 52 übertragen wird. Dabei weist jeder Rahmen in der Regel x Felder auf, wobei ein x-tes Feld einem Wert eines Interrupt-Bits eines x-ten Slaves 54, 56, 58, 60 eindeutig zugeordnet ist. Sobald der Master 52 den Rahmen nach einem Umlauf von Slave 54, 56, 58, 60 zu Slave 54, 56, 58, 60 wieder empfangen hat, können die Felder des ersten Interrupt-Registers 64 des Masters 52 aktualisiert werden, wobei ein Wert des Interrupt-Bits aus dem x-ten Feld des empfangenen Rahmens in das x- te Feld des ersten, als Referenz vorgesehenen Interrupt-Registers 64 des Masters 52 übertragen wird.
In einer weiteren Anwendung werden die Identitäts-Bits eines Rahmens durch den Master 52 derart konfiguriert, dass die angeschlossenen Slaves 54, 56, 58, 60 den als Botschaft empfangenen Rahmen als einen Leerrahmen interpretieren können. In einer beispielhaften Konfiguration wird ein Leerrahmen dadurch gekennzeichnet, dass zumindest das erste Identitäts-Bit FD0 im Identitätsfeld geeignet gesetzt und somit definiert wird, wobei das erste Identitäts-Bit bspw. FD0= 1 gesetzt wird. Eine Definition eines Rahmens als Leerrahmen ist entsprechend eines verwendeten Protokolls vorzunehmen, wobei ein Leerrahmen durch Setzen der hierfür vorgesehenen Felder und/oder Bits eines Rahmens als ein solcher definiert wird. Ein Leerahmen dient der Synchronisation der Teilnehmer im Leerlauf der Kommunikationsanordnung 50 aber auch um Unterbrechungsanfragen, sog. Soft-Interrupts, von den Slaves 54, 56, 58, 60 an den Master 52 übermitteln zu können. Ein Slave 54, 56, 58, 60 kann über eine derartige Unterbrechungsanfrage dem Master 52 beispielsweise ein neues Datenpaket signalisieren, das der Master 52 mit einer Leseanforderung abholen kann. Jedem Slave 54, 56, 58, 60 ist in einem Rahmen, der als Datenrahmen oder Leerrahmen ausgebildet sein kann, zumindest ein Interrupt-Bit fest zugeordnet, das von ihm modifiziert werden kann. Die Priorisierung der Abarbeitung der Unterbrechungsanfragen kann nun vom Master 52, z. B. MikroController, durchgeführt werden.
In einem verwendeten Protokoll ist vorgesehen, dass eine Unterbrechungsanfrage (Soft-Interrupt) eines Slaves 54, 56, 58, 60 bei einer überschneidenden Adressierung durch den Master 52 korrekt beantwortet wird, d. h. der Master 52 spricht den Slave 54, 56, 58, 60 an, noch bevor die Unterbrechungsanfrage des Slaves 54, 56, 58, 60 verarbeitet und/oder rückgesetzt wird. Beispielsweise kann nach erfolgreicher Abarbeitung der Unterbrechungsanfrage durch den Master 52 ein Befehl zum Rücksetzen (Reset) an den Slave 54, 56, 58, 60 abgesetzt werden, der jedoch durch die Latenz der Kommunikationsanordnung 50 erst zu einem Zeitpunkt im Slave 54, 56, 58, 60 ausgeführt werden kann, nachdem bereits eine neue Unterbrechungsanfrage vorliegt. Somit ist es möglich, dass die im Zeitraum nach dem Empfang des letzten Leerrahmens bis zur Ausführung des Rücksetz-Befehls zu der Unterbrechungsanfrage weiterhin auftretenden Unterbrechungsanfragen im Slave 54, 56, 58, 60 versehentlich gelöscht werden.
Um dies zu verhindern, ist in Ausgestaltung der beschriebenen Kommunikationsanordnung eine unidirektionale Übertragung von einer Information zu einer Unterbrechungsanfrage vorgesehen. In dieser Ausgestaltung weist jeder Slave 54, 56, 58, 60 das Interrupt-Register 62 und somit ein Register für Unterbrechungsanfragen auf. Ein Wert des Interrupts-Register 62 im Slave 54, 56, 58, 60 wird mit dem Auftreten und/oder Auslösen 78 einer Unterbrechungsanfrage invertiert. Ein aktueller Status des Interrupt-Registers 60 wird von jedem Teilnehmer in den Leerrahmen eingefügt und an den Master 52 übertragen. Der Master 52 enthält und/oder umfasst bereits ein Abbild der Statusinformation eines Interrupt-Registers 64 aus dem vorigen Umlauf und kann nun durch einen Vergleich des aktuellen Status mit dem vorigen Status von Interrupt-Bits zu Unterbrechungsanfragen entscheiden, welcher mindestens eine als Slave 54, 56, 58, 60 ausgebildete Teilnehmer bei einer Durchführung einer Soft-Interrupt-Service- Routine und somit eines Programms zur Bereitstellung einer Unterbrechungsanfrage abgearbeitet werden soll, wobei der mindestens eine Slave 54, 56, 58, 60 möglicherweise entsprechend der ihm zugeordneten Priorität abgearbeitet wird.
Figur 5 zeigt für eine weitere Ausführungsform des erfindungsgemäßen Verfahrens ein Diagramm mit einer ersten Zeitachse 82 auf der Seite eines Masters und eine zweite Zeitachse 84 auf der Seite eines Slaves, wobei entlang dieser beiden Zeitachsen 82, 84 Ereignisse dokumentiert sind, die während einer Ablaufsteue-
rung zur sicheren Übertragung einer Interrupt-Anforderung und somit einer Anforderung für eine Unterbrechungsanfrage stattfinden.
Dabei wird zu einem ersten Zeitpunkt 86 von dem Master an mindestens einen Slave ein Leerrahmen geschickt und von dem mindestens einen Slave zu einem zweiten Zeitpunkt 88 ein Interrupt-Bit gesetzt, sofern in dem Slave neue Daten vorliegen. Falls von dem mindestens einen Slave ein Interrupt an den Master gesendet wird, wird dieser zu einem dritten Zeitpunkt 90 empfangen und von dem Master eine Abarbeitung dieses Interrupts durchgeführt. Weiterhin wird von dem Master an den mindestens einen Slave ein erster Lesebefehl und/oder Schreibbefehl abgesetzt und von dem mindestens einen Slave zu einem vierten Zeitpunkt 92 empfangen, wobei von dem mindestens einen Slave weiterhin ein Registerinhalt, beispielsweise über einen Zeitstempel, ausgelesen wird.
Bei einer nachfolgenden Antwort des mindestens einen Slaves an den Master ist nunmehr vorgesehen, dass eine Störung 94 der Kommunikation auftritt. Aufgrund dieser Störung 94 kommt es zu einem Übertragungsfehler im Datenstrom. Allerdings wird dieser Übertragungsfehler von dem Master zu einem fünften Zeitpunkt 96 durch Auswertung einer zyklischen Redundanzsumme (CRC) nachgewiesen. Aufgrund dessen erfolgt eine Wiederholung des Lesebefehls, worauf von dem Master an den mindestens einen Slave ein zweiter Lesebefehl und/oder Schreibbefehl gesendet und von dem mindestens einen Slave zu einem sechsten Zeitpunkt 98 empfangen wird. Weiterhin wird durch den mindestens einen Slave eine Wiederholung des vorherigen (ersten) Lesebefehls und/oder Schreibbefehls durchgeführt. Danach werden von dem mindestens einen Slave an den Master Daten übermittelt und von dem Master zu einem siebten Zeitpunkt 100 empfangen. Nach Empfang der Daten erfolgt ein Transfer dieser Daten in einen Speicher, beispielsweise einem RAM, des Masters. Danach kann von dem Master an den mindestens einen Slave erneut ein Leerrahmen gesendet werden, der von dem mindestens einen Slave zu einem achten Zeitpunkt 102 empfangen wird.
Figur 6 zeigt in schematischer Darstellung ein Beispiel für einen hier als Datenrahmen 104 ausgebildeten Rahmen in einem Datenstrom zwischen Teilnehmern einer erfindungsgemäßen Kommunikationsanordnung im zeitlichen Verlauf einer Ausführungsform des erfindungsgemäßen Verfahrens. Dabei ist diesem Datenrahmen 104 ein Zwischenrahmensymbol 106 vorangestellt. Außerdem umfasst
der Datenrahmen 104 ein Identitätsfeld 108, das hier ein Toggle-Bit 1 10 bzw. Umschaltbit sowie ein Identitäts-Bit 1 12 aufweist, sowie ein Adressfeld 1 14, ein Datenfeld 1 16 und ein CRC-Feld 1 18 für eine zyklische Redundanzprüfung. Üblicherweise weist jeder Rahmen, unabhängig davon, ob dieser als Datenrahmen 104 oder als Leerrahmen ausgebildet ist, ein Toggle-Bit und somit ein Umschaltbit für sämtliche Teilnehmer, in der Regel sämtliche Slaves auf. Durch einen Wert des Umschaltbits wird signalisiert, ob eine Übertragung des Rahmens korrekt durchgeführt wurde oder ob dabei eine Störung und somit ein Fehler im vorigen Umlauf eines Daten- oder Leerrahmens aufgetreten ist. Das Datenfeld
1 16 weist weiterhin Interrupt-Bits auf, wobei jedem Slave ein Interrupt-Bit eindeutig zugeordnet ist.
Es ist vorgesehen, dass das Identitäts-Bit 1 12 des hier dargestellten Datenrahmens 104 zu allen Zeitpunkten den Wert 0 aufweist, was den Rahmen als Datenrahmen 104 identifiziert. Falls das Identitäts-Bit alternativ den Wert 1 aufweisen würde, würde es sich bei dem Rahmen um einen Leerrahmen handeln. Zu einem ersten Zeitpunkt 120 erfolgt eine erste Übertragung einer k-1 -ten Botschaft im Datenfeld 1 16, wobei weiterhin vorgesehen ist, dass das Toggle-Bit 1 10 den Wert 1 aufweist. Zu einem zweiten Zeitpunkt 122 wird das Toggle-Bit 1 10 auf den Wert 0 umgeschaltet und eine erste Übertragung einer k-ten Botschaft im Datenfeld 1 16 vorgenommen. Allerdings ereignet sich hier während der ersten Übertragung nach dem zweiten Zeitpunkt 122 ein Übertragungsfehler 124. Dadurch ergibt sich bei einem nachfolgenden dritten Zeitpunkt 126, dass das Toggle-Bit 1 10 durch den Master nicht invertiert wird, so dass es im vorliegenden Beispiel den Wert 0 beibehält. Dadurch ergibt sich weiterhin, dass der Slave die vorherige, hier k-te Botschaft wiederholt, so dass diese k-te Botschaft zu einem zweiten Mal übertragen wird. Dabei ist jedoch zu berücksichtigen, dass eine Anzahl von Wiederholungsversuchen begrenzt sein kann. Zu einem vierten Zeitpunkt 128 wird das Toggle-Bit 1 10 wieder auf 1 invertiert und im Datenfeld 1 16 eine k+1 -te Botschaft erstmals übertragen.
Bei einer Auslegung der Kommunikationsanordnung, mit der u. a. auch berücksichtigt wird, mit welcher Geschwindigkeit unterschiedliche Funktionen und somit bspw. Programme und/oder Befehle von Teilnehmern der Kommunikationsanordnung durchgeführt und/oder umgesetzt werden, ist weiterhin vorgesehen,
dass das Auftreten der Unterbrechungsanfragen in einem Slave langsamer erfolgt, als diese durch einen Leerrahmen abgeholt werden. Ansonsten wird durch ein zweimaliges Toggeln, d. h. Um- oder Hin- und Herschalten, des Interrupt- Registers wieder der Ausgangzustand hergestellt, wodurch das Interrupt- Register durch ein Vergleich der Statusinformation im Master nicht identifiziert werden kann. Bei einer Nicht-Beachtung dieser Regel können Unterbrechungsanfragen verloren gehen, jedoch ist sichergestellt dass niemals zu viele Unterbrechungsanfragen auftreten, was in Ausgestaltung dadurch erreicht werden kann, dass zwischen zwei Unterbrechungsanfragen von einem ersten an einen zweiten Teilnehmer ein Zeitintervall mit einer festzusetzenden minimalen Länge vorgesehen ist, die bspw. von der Anzahl der Teilnehmer der Kommunikationsanordnung und/oder einer Länge von Rahmen abhängig sein kann.
Neben der Übertragung von Unterbrechungsanfragen werden die Leerrahmen zur Konfiguration der Slaves im laufenden Betrieb der Kommunikationsanordnung genutzt. Wie bereits erwähnt, kann bei sicherheitskritischen Anwendungen eine Kodierung mit einer und/oder über eine zyklischen Redundanzprüfung (CRC, cyclic redundancy check) über die bspw. als Datenrahmen
ausgebildetdeten Rahmen durchgeführt werden. Um eine fehlerhafte Adressie- rung der Teilnehmer durch einen Übertragungsfehler zu verhindern, kann ein Ad- ress-Header und demnach für einen Datenkopf einer Adresse eines Rahmens ebenfalls eine CRC-Berechnung durchgeführt werden, wobei für den Adress- Header eine Prüfsumme berechnet wird, wobei von einem Teilnehmer dessen Adresse verwendet wird.
In Ausgestaltung wird jedem Teilnehmer, üblicherweise jedem Slave, über einen Leerrahmen dessen Adresse zugewiesen. Dies hat aber zur Folge, dass jeder Teilnehmer in der ringförmigen Kommunikationsanordnung die Kenntnis über seine absolute Adresse hat und diese für die CRC-Berechnung verwenden kann. Hierzu sendet der Master den Leerrahmen mit einem Adressfeld, dem ein Adresswert 0x00 zugeordnet ist. Jeder Slave subtrahiert den Wert 0x01 von dem Adresswert und negiert die empfangene Adresse. Somit erhält der Slave mit jedem Empfang eines Leerrahmens eine Information über seine Position im Ring. Dabei ist die Position eines empfangenden Slaves typischerweise von dem je- weiligen Adresswert im Adressfeld abhängig, der darüber Auskunft gibt, wie viele
Substraktionen des Adresswert bereits durchgeführt worden sind, wobei die An-
zahl an Subtraktionen der Anzahl Slaves, die in der Kommunikationsanordnung dem empfangenden Slave voranstehend, d. h. nach dem Master und vor dem empfangenden Slave angeordnet sind. In einer weiteren Anwendung werden die Identitäts-Bits eines Rahmens eines
Datenpakets durch den Master derart konfiguriert, dass eines der Identitäts-Bits als sogenanntes Umschaltbit (Toggle-Bit) durch die Slaves interpretiert wird. In einer beispielhaften Konfiguration wird das Umschaltbit durch das zweite Identitäts-Bit FD1 des Rahmens beschrieben. Mit Hilfe des als Umschaltbit definierten zweiten Identitäts-Bits FD1 des Rahmens kann der Master im Falle eines Übertragungsfehlers ein Datenpaket erneut anfordern. Dabei ist in der Regel vorgesehen, dass eine Detektion eines Übertragungsfehlers anhand einer Auswertung einer Prüfsumme einer zyklischen Redundanzprüfung durchgeführt wird. Eine Rücksendung (Re-Transmit) des fehlerhaft übertragenen Datenpakets und/oder einer entsprechend fehlerhaft übertragenen Botschaft wird dabei im Master autark initiiert, d. h. ohne Interaktion mit einer zentralen Recheneinheit (central pro- cessing unit, CPU) durchgeführt. Nach dem erneuten Versenden eines zuvor bereits versendeten, vorigen Datenpakets durch den Master, identifiziert der Slave, ob es sich um eine Wiederholung der vorigen Anfrage oder bereits eine neue Botschaft mit vergleichbarem Inhalt handelt. Hierzu wird das Umschaltbit FD1 entsprechend durch den Master modifiziert. Sofern sich das Umschaltbit einer eingehenden Botschaft zum vorigen Umlauf nicht geändert hat, ist vorgesehen, dass der Slave das vorige Datenpaket nochmals überträgt. Im umgekehrten Fall, falls das Umschaltbit FD1 durch Umschalten modifiziert wird, verarbeitet der Sla- ve das aktuelle Datenpaket und erhält mit diesem aktuellen Datenpaket zugleich eine Bestätigung (acknowledge) für die erfolgreiche Übertragung des vorigen Datenpakets an den Master.
Bei dem Verfahren zum Übertragen von Rahmen, die Daten aufweisen, zwischen Teilnehmern einer ringförmigen Kommunikationsanordnung 50, die als Teilnehmer einen Master 52 und mindestens einen Slave 54, 56, 58, 60 aufweist, weist jeder Teilnehmer mindestens ein Interrupt-Register 62, 64, 66 auf. Dabei ist ein Feld des mindestens einen Interrupt-Registers 62, 64, 66 einer Unterbrechungsanfrage zugeordnet und umfasst einen Wert für ein Interrupt-Bit. Dabei wird dem Master 52 von einem Slave 54, 56, 58, 60 in einem üblicherweise als Leerrahmen 42 ausgebildeten Rahmen eine Unterbrechungsanfrage, die das Interrupt-
Bit umfasst, übermittelt. Es kann in Ausgestaltung des Verfahrens vorgesehen sein, dass in dem Leerrahmen 42 jedem Slave 54, 56, 58, 60 ein derartiges Interrupt-Bit eindeutig zugeordnet ist. Es ist auch möglich, dass Rahmen, die als Datenrahmen 28, 1 16 ausgebildet sind, für jeden der Slaves 54, 56, 58, 60 ein Interrupt-Bit aufweist. Der Leerrahmen 42 aber auch jeder Datenrahmen 28, 1 16 und somit typischerweise jeder Rahmen kann weiterhin ein Umschaltbit für alle Slaves 54, 56, 58, 60 aufweisen, das einen Zustand des übertragenen Rahmens und somit auch einer in einem Leerrahmen 42 übermittelten Unterbrechungsanfrage angibt. Üblicherweise kann durch einen Wert des Umschaltbits signalisiert werden, ob der vorige Rahmen fehlerfrei übertragen wurde oder ob es bei der Übertragung bspw. wegen einer Störung zu einem Fehler kam.
In der Regel weist jeder Slave 54, 56, 58, 60 ein Interrupt-Register 62 auf, wobei ein Wert eines Interrupt-Bits des Interrupt-Registers 62 von dem Slave 54, 56, 58, 60 bei Auftreten einer Unterbrechungsanfrage invertiert wird. Dabei kann ein aktueller Wert des Felds des Interrupt-Registers 62 von dem Slave 54, 56, 58, 60 in den üblicherweise als Leerrahmen 42 oder ggf. als Datenrahmen 28, 104 ausgebildeten Rahmen eingefügt und an den Master 52 übertragen werden. Hierbei überträgt ein x-ter Slave 54, 56, 58, 60 den Wert seines Interrupt-Bits in ein x-tes Feld des Rahmens, das dem x-ten Slave 54, 56, 58, 60 eindeutig zugeordnet ist. Sobald der Master 52 einen Rahmen mit aktualisierten Feldern für Werte von Interrupt-Bits empfängt, können diese in das erste Interrupt-Register 64 des Masters 52 übertragen werden.
Es ist ferner möglich, dass der Master 52 zwei Interrupt-Register 64, 66 aufweist, wobei ein x-tes Feld eines ersten Interrupt-Registers 64 ein Interrupt-Bit zur Angabe eines Vorliegens oder Nicht-Vorliegens einer Unterbrechungsanfrage eines x-ten Slaves 54, 56, 58, 60 eines vorherigen Umlaufs umfasst und wobei ein x- tes Feld eines zweiten Interrupt-Registers 66 ein Interrupt-Bit zur Angabe eines Vorliegens oder Nicht-Vorliegens einer Unterbrechungsanfrage des x-ten Slaves 54, 56, 58, 60 eines aktuellen Umlaufs umfasst. Das Vorliegen einer Unterbrechungsanfrage kann durch Analyse bzw. Vergleich der beiden Interrupt-Register 64, 66 von dem Master 52 festgestellt werden, wobei eine Abarbeitung von Unterbrechungsanfragen von dem Master 52 priorisiert wird.
Weiterhin wird dem Master 52 mit dem Leerrahmen 42, der die Unterbrechungsanfrage umfasst, von dem mindestens einen Slave 54, 56, 58, 60 signalisiert, dass von dem Slave 54, 56, 58, 60 mit einem als Datenrahmen 28 ausgebildeten Rahmen ein Datenpaket abzuholen ist. Ob ein x-ter Slave 54, 56, 58, 60 eine derartige Unterbrechungsanfrage ausgelöst hat oder nicht, wird dem Master durch einen Wert des Interrupt-Bits in dem x-ten Feld des Leerrahmens signalisiert. Das Vorliegen einer Unterbrechungsanfrage kann je nach Definition durch den Wert 1 oder 0 des Interrupt-Bits des x-ten Slaves 54, 56, 58, 60 angezeigt werden.
Das Umschaltbit in dem üblicherweise als Leerrahmen 42 und/oder als Datenrahmen 28, 104 ausgebildeten Rahmen wird von dem Master 52 bei einer fehlerfreien Übertragung invertiert, wobei ein Wert des Umschaltbits in dem Rahmen bei einer Störung der vorigen Übertragung beibehalten wird, und wobei von dem Slave 54, 56, 58, 60 ein vorheriger als Datenrahmen 28, 104 und/oder als Leerrahmen 42 ausgebildeter Rahmen, der zu übertragende Daten oder eine zu übertragende Botschaft umfasst, bei einem unveränderten Umschaltbit nochmal übertragen wird. Dabei weist jeder Rahmen in der Regel lediglich ein derartiges Umschaltbit für sämtliche Teilnehmer aus, das einen Zustand einer Übertragung des jeweiligen Rahmens dokumentiert.
Üblicherweise treten Unterbrechungsanfragen im Slave 54, 56, 58, 60 langsamer auf, als dass Unterbrechungsanfragen in Leerrahmen 42 abgeholt werden. Eine Unterbrechungsanfrage kann unidirektional übermittelt werden.