-
Die Erfindung betrifft ein Verfahren zum Betreiben einer insbesondere ringförmigen Kommunikationsanordnung, in der zwischen Teilnehmern eine Kommunikation erfolgt. Die Erfindung betrifft weiterhin eine solche Kommunikationsanordnung.
-
Stand der Technik
-
Im Bereich der Kraftfahrzeugtechnik kommen zur Datenübertragung zwischen logischen Bausteinen, die als integrierte Schaltkreise (IC, Integrated Circuit) ausgebildet sein können, in Steuergeräten serielle Schnittstellen wie bspw. SPI (Serial Peripheral Interface) zum Einsatz.
-
Dieser Standard beschreibt eine bidirektionale, synchrone und serielle Datenübertragung zwischen einem als Master ausgebildeten Teilnehmer und verschiedenen als Slaves ausgebildeten Teilnehmern. 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 Teilnehmer eine zusätzliche Auswahl- bzw. Selektleitung vom Master.
-
Die SPI-Schnittstelle ermöglicht die Umsetzung einer Daisy-Chain- oder Bustopologie. In der Anwendung der SPI-Schnittstelle in einer Daisy-Chain-Topologie, d. h. Ringtopologie, entstehen sehr lange Latenzzeiten, weswegen diese Form nicht effizient in Kfz-Steuergeräten genutzt werden kann.
-
Insbesondere ist zu beachten, dass in einigen Fällen die SPI-Schnittstelle nicht für die Übertragung zeitkritischer Ansteuersignale geeignet ist, um den Echtzeitanforderungen heutiger sicherheitskritischer Applikationen, z. B. ESP, gerecht zu werden. Häufig erfolgt mit einer SPI-Schnittstelle nur noch ein Austausch 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 schlechtere Signalintegritäten und hohe Störbeeinflussungen aufgrund schlechter EMV-Eigenschaften. Weiter wird nur das Sendesignal mit dem Taktsignal synchron übertragen, während sich die phasensynchrone Übertragung des Empfangssignals durch die internen Verzögerungszeiten im Slave bei hohen Datenraten zunehmend schwieriger gestalten und Fehler in der Datenübertragung hervorrufen können.
-
Ein Verfahren zur Realisierung einer Kommunikation in einem Ringbus mit minimierter Latenzzeit ist aus der Druckschrift
DE 10 2010 041 427 A1 bekannt. Bei dem Verfahren erfolgt eine serielle Verbindung von Teilnehmern und somit Knoten einer seriellen, ringförmigen Kommunikationsanordnung. Darin 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. Hierbei sind ein Master und eine Anzahl von Slaves vorgesehen, wobei ein Datenpaket von Slave zu Slave übermittelt wird, wobei von jedem Slave eine Adressinformation des Datenpakets geändert wird. Es ist ebenfalls denkbar, die Kommunikation ohne die Änderung in der Adresseninformation von jedem Slave zu realisieren, indem jeder Slave eine eigene feste Adresse im Ring bekommt.
-
Offenbarung der Erfindung
-
Vor diesem Hintergrund werden ein Verfahren mit den Merkmalen des Anspruchs 1 und eine Kommunikationsanordnung gemäß Anspruch 8 vorgestellt. Ausführungen ergeben sich aus den abhängigen Ansprüchen und der Beschreibung.
-
Das Verfahren ermöglicht eine Kommunikation zwischen unterschiedlichen Teilnehmern mit verschiedenen Datenraten innerhalb der ringförmigen Kommunikationsanordnung, wie diese in der Druckschrift
DE 10 2010 041 427 A1 beschrieben ist. Es stellt eine Möglichkeit dar, um die Kommunikationsvorrichtung von der Betriebsart Simplex in Halbduplex umzuschalten und führt ein erweitertes Protokoll, das einen Betrieb der Kommunikationsanordnung in Halbduplex erlaubt.
-
Die Betriebsart Simplex bedeutet, dass Daten nur in eine Richtung übertragen werden können. Halbduplex bezeichnet eine Betriebsart, bei der Daten auf einem Kanal abwechselnd in beide Richtungen übertragen werden können. Als Vollduplex wird eine Betriebsart bezeichnet, bei der Daten gleichzeitig in beide Richtungen fließen können.
-
Das beschriebene Verfahren ermöglicht die Aufrechterhaltung der Kommunikation der in der Druckschrift
DE 10 2010 041 427 A1 beschriebenen Schnittstelle beim Ausfall von einem oder mehreren Teilnehmern.
-
Bei dem Verfahren erfolgt ein Umschalten von der Betriebsart Simplex zu Halbduplex und die Einführung eines erweiterten Protokolls, das einen Betrieb der Kommunikationsanordnung in Halbduplex erlaubt.
-
Ein Vorteil besteht in der Möglichkeit, den Betrieb einer Kommunikationsanordnung, wie diese in der Druckschrift
DE 10 2010 041 427 A1 beschrieben ist, nach dem Ausfall mindestens eines Teilnehmers, was zu einer Unterbrechung in der beschriebenen Ringstruktur führt, aufrechtzuerhalten. Einer der Teilnehmer in der Kommunikationsanordnung ist üblicherweise als Master ausgebildet bzw. besitzt die Masterfunktionalität. Die anderen Teilnehmer dienen üblicherweise als Slaves.
-
Das Konzept Master/Slave bezeichnet eine Form der hierarchischen Verwaltung des Zugriffs auf eine gemeinsame Ressource in einer Kommunikationsanordnung, die mehrere Teilnehmer umfasst. Wenn mehrere Teilnehmer gleichzeitig senden bzw. auf die Ressource zugreifen, kann keine Übertragung stattfinden. Um dieses Problem zu lösen, wird einem der Teilnehmer eine Masterfunktionalität zugewiesen, dieser ist damit der Master, alle anderen sind dann Slaves. Der Master hat als einziger Teilnehmer das Recht, unaufgefordert auf die Ressource zuzugreifen. Der Master steuert bzw. beherrscht somit die Zugriffsrechte.
-
Es wird insbesondere ein Verfahren und eine Vorrichtung zur Datenkommunikation zwischen Teilnehmern innerhalb einer ringförmigen Kommunikationsanordnung vorgestellt, wie diese bspw. in der Druckschrift
DE 10 2010 041 427 A1 beschrieben ist. Dabei sind die Teilnehmer in Form einer Ring-Topologie angeordnet, wodurch die Teilnehmer durch Punkt-zu-Punkt-Verbindungen mit einer geringen Anzahl an Pins verbunden werden können. Einer der Teilnehmer, z. B. der Mikrocontroller, agiert als Master, wodurch keine Busarbitrierung erforderlich wird. Bei den Slaves handelt es sich bspw. um einen diskreten Baustein bzw. diskrete Bausteine, z. B. ASICs, die von einer Logik, z. B. Mikrocontroller oder andere ASICs, gesteuert werden müssen. Der Master sendet einen kontinuierlichen Datenstrom.
-
Sollte ein Teilnehmer ausfallen oder die Kommunikationsstrecke unterbrochen werden, d. h. es liegt ein Fehler vor, wird dies sowohl vom Master, da die Kommunikation abbricht und kein Signal am Eingang des Masters anliegt, als auch von den Slaves registriert. Der Master leitet zunächst eine neue Initialisierungsphase ein. Die Initialisierungsphase der Kommunikation erfolgt so, wie dies in der Druckschrift
DE 10 2010 041 427 A1 beschrieben ist. Während dieser Phase kann der Master die Initialisierungszeit T
init max messen. Das ist die maximale Zeit zwischen dem Absenden der ersten Interframe-Symbols (IFS) bis zum Erhalt des ersten IFS am Empfänger des Masters.
-
Ein Interframe-Symbol ist eine eindeutige Abfolge von Bits, die das Ende eines Datenrahmens zeigt. Dieses wird jedesmal zwischen zwei Datenrahmen eingefügt und dient als Trennzeichen. So kann jeder Teilnehmer unterscheiden, wo ein Datenrahmen endet und der nächste anfängt.
-
Die maximal mögliche Dauer der Initialisierung lässt sich auch so darstellen: Tinit max = (k=1ΣN(4Msk + 1))Tbit + TsMAXd (1)
-
Dabei stellt N die Anzahl Slaves im System dar. Msk ist die Anzahl IFS, die der Slave k braucht, um sich auf dem Signal zu synchronisieren. Tbit ist die Dauer einer Bitperiode. Zudem ist TsMAXd die maximale zulässige Schaltverzögerung bzw. Interconnect Delay auf alle Strecken der Kommunikationsanordnung. Sollte nach Tinit max kein IFS am Mastereingang anliegen ist die Strecke direkt vor dem Master unterbrochen oder der letzte Slave vor dem Master ist nicht funktionsfähig und der Master startet die Ausführung des Notbetriebs. Die Unterbrechung kann nur direkt vor dem Master liegen, da ansonsten der direkte Vorgänger beim Erreichen von Tinit slave i, wie nachstehend beschrieben ist, eine Flanke absetzen würde, die vom Master empfangen wird.
-
Falls innerhalb von Tinit max ein IFS am Master-Eingang sichtbar ist, werden zunächst die ankommenden IFS gezählt. Falls mehr als Mm, die Anzahl der IFS, die das Empfangsteil des Masters braucht, um sich mit dem Eingangssignal zu synchronisieren, IFS empfangen werden, ist der Ring unterbrochen und der Master geht zum Notbetrieb über. Sollten nach Mm IFS die gesendeten Daten ankommen, liegt kein Fehler vor. Der Ablauf des Verfahrens im Master ist in 2 dargestellt.
-
Der Slave wartet nach dem Verlust der Synchronisation zunächst auf die nächste Initialisierungsphase. Die Initialisierungsphase der Kommunikation läuft, wie in der Druckschrift
DE 10 2010 041 427 A1 beschrieben ist, ab. Die maximale Zeit T
init slave i, die vergehen kann, bis der i-te Slave im Ring das erste IFS empfängt, hängt von seiner Position i ab und kann mit folgender Formel ausgedrückt werden:
Tinit slave i = (k=1Σi-1(4Msk + 1))Tbit + TsMAXd (2)
-
Sollte nach Tinit slave i kein IFS am Slaveeingang anliegen, ist die Strecke direkt vor dem Slave unterbrochen. Der i-te Slave sendet dann mindestens k=1ΣN4Msk + Mm + 1 (3) IFS. Dabei ist N die Anzahl Teilnehmer im Ring. Damit wird die Unterbrechung im Ring dem Master gemeldet. Anschließend startet der Slave die Ausführung des Notbetriebs. Falls innerhalb von Tinit max ein IFS am Master-Eingang sichtbar ist, werden zunächst die ankommenden IFS gezählt. Falls mehr als k=1ΣNMsk + 1 (4) IFS empfangen werden, ist der Ring unterbrochen und der Master geht zum Notbetrieb über. Sollten nach k=1ΣNMsk + 1 (5) IFS gültige Datenframes ankommen, liegt kein Fehler vor. Der Ablauf des Verfahrens im Slave ist in 3 dargestellt.
-
Der Notbetrieb könnte zum Beispiel einen neuen Befehl im Datenfeld der Frames nach der Druckschrift
DE 10 2010 041 427 A1 einführen, der von jedem Teilnehmer unterstützt wird. Dabei soll ein Teilnehmer nach dem Erhalt des Befehls die Übertragungsrichtung ändern, sobald der Teilnehmer den aktuellen Rahmen bzw. Frame übertragen hat. Sollte der Teilnehmer selbst adressiert sein, kann dieser nach der Richtungsänderung seine Daten zum Master übertragen. Er sollte im Datenframe denselben Befehl verwenden, um die ursprüngliche Übertragungsrichtung wiederherzustellen. Anschließend sollte der sendende Slave selbst die Übertragungsrichtung ändern. Somit hat der Master wieder die volle Kontrolle über die Kommunikationsanordnung und kann die nächste Nachricht übermitteln.
-
Zu beachten ist, dass das Verfahren auch funktioniert, wenn Tsk sample, der Quantisierungsfehler vom Slave k, aus Tskd herausgerechnet und separat benutzt wird.
-
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.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt in schematischer Darstellung eine Ausführungsform einer erfindungsgemäßen Kommunikationsanordnung.
-
2 zeigt in einem Flussdiagramm den Ablauf der Umstellung von Simplex- auf Halbduplex-Betrieb bei einem Master.
-
3 zeigt in einem Flussdiagramm den Ablauf der Umstellung von Simplex- auf Halbduplex-Betrieb bei einem Slave.
-
Ausführungsformen der Erfindung
-
Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
-
Die in 1 schematisch dargestellte Ausführungsform einer Kommunikationsanordnung 2 ist ringförmig ausgebildet und umfasst mehrere in Serie hintereinander geschaltete Teilnehmer. Bezugsziffer 4 bezeichnet einen ersten Teilnehmer, der als aktueller Master dient, Bezugsziffer 6 einen zweiten Teilnehmer, Bezugsziffer 8 einen dritten Teilnehmer sowie Bezugsziffer 10 einen n-ten Teilnehmer, die über Abschnitte 12 einer Leitung miteinander verbunden sind. Teilnehmer 6, 8 und 10 dienen als Slaves. Weiterhin umfasst der erste Teilnehmer 4 eine erste digitale, serielle Schnittstelle 14 zum Versenden von Datenpaketen, mit der der erste Teilnehmer 4 je nach Definition mit einem Anfang oder mit einem Ende der Leitung verbunden ist.
-
Außerdem umfasst der zweite Teilnehmer 4 eine zweite digitale, serielle Schnittstelle 16 zum Empfangen von Datenpaketen, mit der der erste Teilnehmer 4 je nach Definition mit einem Ende oder mit einem Anfang der Leitung verbunden ist. Die serielle erste Schnittstelle 14 ist dabei mit einer Systemuhr 18 verbunden. Die serielle zweite Schnittstelle 16 ist mit einem Modul zur Detektion der Phasenlage 20 verbunden. Weiterhin ist der erste Teilnehmer 4 mit einem Quarzoszillator 22 verbunden. Entsprechende Quarzoszillatoren sollten auch die anderen Teilnehmer 6, 8 und 10 aufweisen.
-
Jeder der Teilnehmer 6, 8, 10 weist eine als Slave-Schnittstelle 24 ausgebildete digitale, serielle Schnittstelle auf, die jeweils mit zwei Verbindungen 12 und somit einer Datenleitung verbunden ist. Somit existiert zwischen zwei Teilnehmern eine Verbindung. Außerdem ist jede serielle Slave-Schnittstelle 24 mit einem Taktrückgewinnungsmodul 21, aus dem ein lokaler Systemtakt 19 abgeleitet werden kann, verbunden.
-
Zur Bereitstellung einer Kommunikation zwischen den Teilnehmern 4, 6, 8 und 10 der Kommunikationsanordnung 2 ist vorgesehen, dass ausgehend von der Anfangsschnittstelle 14 des Masters 4 über einen Bitstrom 26 Nachrichten als Datenpakete von serieller Slave-Schnittstelle 24 zu serieller Slave-Schnittstelle 24 der Teilnehmer 6, 8, 10 kontinuierlich übertragen werden. Nachdem ein Datenpaket einen letzten Teilnehmer 6, 8, 10, hier den n-ten Teilnehmer 10, erreicht hat, wird das Datenpaket von der Slave-Schnittstelle 24 des letzten Teilnehmers 10 zu der Endschnittstelle 16 des ersten Teilnehmers 4 übermittelt.
-
Das Datenpaket wird von dem ersten Teilnehmer 4 zu dem zweiten Teilnehmer 6 und nacheinander von Teilnehmer 6 zu Teilnehmer 8 bis zu dem letzten Teilnehmer 10 und von dem letzten Teilnehmer 10 zu dem ersten Teilnehmer 4 übermittelt. Somit durchläuft das Datenpaket sämtlich Teilnehmer der Kommunikationsanordnung 2. Der Datenrahmen, mit dem an mindestens einen Teilnehmer 6, 8, 10 eine Nachricht zu übermitteln ist, weist ein Adressfeld mit einer Adresse auf. Es ist vorgesehen, dass jeder Teilnehmer 6, 8, 10 einen Adresswert des empfangenen Datenrahmens mit der zu übermittelnden Nachricht um einen festen Wert, bspw. durch Subtraktion oder Addition, ändert und an einen nächsten Teilnehmer 6, 8, 10 weitergibt. Hierbei wird der Adresswert von jedem Teilnehmer 6, 8, 10, je nach hierfür festgelegtem Algorithmus, in gleicher Weise verändert. Innerhalb der gezeigten Kommunikationsanordnung 2 weisen die Teilnehmer 6, 8, 10 identische lokale Adressen auf. Außerdem ist in allen Teilnehmers 6, 8, 10 ein identischer Algorithmus für die Kommunikationsschnittstelle hinterlegt. Dabei ist typischerweise nur das Modul zur Interchip-Kommunikation identisch, ansonsten können die Teilnehmer sehr wohl unterschiedliche Funktionen beinhalten.
-
2 zeigt in einem Flussdiagramm einen möglichen Ablauf bei der Umstellung von Simplex- in Halbduplex-Betrieb bei einem Master. Die Darstellung zeigt den Ablauf, der in einem Master 50 ausgeführt wird. In einem ersten Schritt 52 ist die Kommunikationsanordnung im Normalzustand, der Master 50 arbeitet synchron. In einem nächsten Schritt 54 wird überprüft, ob eine Flanke nach maximal 3 Tbit vorliegt. Ist dies der Fall, erfolgt ein Rücksprung zu Schritt 52 (Pfeil 56). Ist dies nicht der Fall, ist festzustellen (Schritt 58), dass die Synchronisation verloren ist, keine Flanken am Dateneingang des Master 50 vorliegen. Es wird eine neue Initialisierung nach maximal k Tbit durchgeführt.
-
In einem darauffolgenden Schritt 60 wird überprüft, ob IFS am Eingang nach maximal Tinit max vorliegt. Ist dies nicht der Fall, erfolgt in Schritt 62 eine Fehlererkennung. Es wird erkannt, dass die Strecke direkt vor dem Master 50 abgebrochen ist. Zudem wird ein Notprotokoll ausgeführt. Ist dies der Fall, so erfolgt in Schritt 64 eine Fehlererwartung. Der Master 50 zählt, wieviel IFS empfangen werden. In einem darauffolgenden Schritt 66 wird überprüft, ob mehr als M·N + 1IFS empfangen werden. Ist dies nicht der Fall, erfolgt ein Sprung zu Schritt 52 (Pfeil 68). Ist dies der Fall erfolgt in einem Schritt 70 eine Fehlererkennung. Die Strecke ist unterbrochen, ein Notprotokoll wird ausgeführt.
-
3 zeigt in einem Flussdiagramm einen möglichen Ablauf bei der Umstellung von Simplex- in Halbduplex-Betrieb bei einem Slave. Die Darstellung zeigt den Ablauf, der in einem Slave 80 ausgeführt wird. In einem ersten Schritt 82 ist die Kommunikationsanordnung im Normalzustand, der Slave 80 arbeitet synchron. In einem nächsten Schritt 84 wird überprüft, ob eine Flanke nach maximal 3 Tbit vorliegt. Ist dies der Fall, erfolgt ein Rücksprung zu Schritt 82 (Pfeil 86). Ist dies nicht der Fall, ist festzustellen (Schritt 88), dass die Synchronisation verloren ist, keine Flanken am Dateneingang des Slaves 80 vorliegen. Es wird abgewartet.
-
In einem darauffolgenden Schritt 90 wird überprüft, ob IFS am Eingang nach maximal Tinit slave vorliegt. Ist dies nicht der Fall, erfolgt in Schritt 92 eine Fehlererkennung. Es wird erkannt, dass die Strecke direkt vor dem Slave 90 abgebrochen ist. Es werden M·(N – Si) + 2IFS abgesendet, anschließend werden die Eingänge vertauscht und es wird ein Notprotokoll ausgeführt. Ist dies der Fall, so erfolgt in Schritt 94 eine Fehlererwartung. Der Master 80 soll noch prüfen, ob ein Fehler auf der Strecke vor ihm vorliegt. In einem darauffolgenden Schritt 96 wird überprüft, ob mehr als M·(N – Si) + 1IFS empfangen werden. Ist dies nicht der Fall, erfolgt ein Sprung zu Schritt 82 (Pfeil 98). Ist dies der Fall erfolgt in einem Schritt 100 eine Fehlererkennung. Die Strecke ist irgendwo vor dem Slave abgebrochen, Eingänge werden vertauscht, ein Notprotokoll wird ausgeführt. Si bezeichnet die Position des i-ten Slaves im Ring.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102010041427 A1 [0007, 0009, 0011, 0013, 0015, 0016, 0021, 0023]