-
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 7 vorgestellt. Ausführungen ergeben sich aus den abhängigen Ansprüchen und der Beschreibung.
-
Das vorgestellte Verfahren ermöglicht eine Diagnose während der Startphase einer ringförmigen Kommunikationsanordnung, die eine Kommunikation zwischen unterschiedlichen Teilnehmern mit unterschiedlichen Datenraten gestattet und bspw. in der genannten Druckschrift
DE 10 2010 041 427 A1 offenbart ist. Einer der Teilnehmer 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.
-
Die Diagnose kann bei jeder Initialisierungsphase der Schnittstelle, wie diese in der Druckschrift
DE 10 2010 041 427 A1 beschrieben ist, durchgeführt werden und gibt Rückschlüsse über den Zustand der Teilnehmer sowie der Übertragungsstrecke der Kommunikationsanordnung.
-
Das vorgestellte Verfahren zeichnet sich durch eine effiziente Nutzung von vorhandenen Informationen aus, um den Zustand der Übertragungsstrecke und der angeschlossenen Teilnehmer bzw. Module zu bestimmen.
-
Ein Vorteil besteht in der frühzeitigen, und zwar bei der Initialisierung, noch bevor eine Funktion aktiviert werden muss, Detektion von aufkommenden Fehlern der Bauteile bzw. Teilnehmer oder Fehler in der physischen Verbindung, wie bspw. Leiterplatte, Lötung, in der ringförmigen Kommunikationsanordnung, um entsprechende Maßnahmen einzuleiten.
-
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, wobei die vorgestellte Kommunikationsanordnung auch mehr als einen potentiellen Master umfassen kann. 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. Durch die Möglichkeit der kontinuierlichen Synchronisation benötigen die Slaves auch keinen weiteren Systemtakt.
-
Die Initialisierungsphase der Kommunikation läuft, wie in der Druckschrift
DE 10 2010 041 427 A1 beschrieben ist, ab. Während dieser Phase kann der Master die Initialisierungszeit T
init messen. Das ist die Zeit zwischen dem Absenden vom ersten Interframe Symbol (IFS) bis zum Erhalt des ersten IFS am Master-Eingang. Nach diesem Vorgang sind alle Slaves synchron und die Kommunikation kann gestartet werden. Die Initialisierungszeit lässt sich auch so darstellen:
Tinit = (k=1ΣN(4Msk + 1))Tbit + I=1ΣN(Tsld) + Tsmd (1)
-
Dabei stellt N die Anzahl Slaves im System dar. Msk ist die Anzahl IFS die der Slave k braucht, um sich auf das Signal zu synchronisieren. Tbit ist die Dauer einer Bitperiode. Anschließend ist Tsld die Verzögerung des Signals auf die Strecke zum Slave l inklusive des eventuell vorhandenen Quantisierungsfehlers vom Slave I-1. Tsmd ist die Verzögerung des Signals auf die Strecke zwischen dem letzten Slave und dem Master inklusive des eventuell vorhandenen Quantisierungsfehlers vom letzten Slave. Des Weiteren kann nach dem Start der Kommunikation jeder Slave die Anzahl der zur Synchronisation benötigten IFS dem Master melden.
-
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.
-
Mit den verfügbaren Informationen eröffnen sich einige Möglichkeiten, bestehende oder aufkommende Fehler in der Kommunikationsanordnung auszumachen. Hier seien folgende Beispiele genannt:
-
Wenn die Detektion des ersten IFS im Empfänger des Master nach einer Zeitdauer von weniger als (k=0ΣN(4Mk))Tbit (2) nach Absenden der ersten Flanke anschlägt war die Initialisierung zu schnell. Es liegt ein Fehlerfall vor.
-
Wenn die Detektion des ersten IFS im Empfänger des Masters eine Zeitdauer von mehr als (k=0ΣN(4Mk))Tbit + TsMAXd (3) benötigt, ist die Initialisierung zu langsam. Es liegt ein Fehlerfall vor. TsMAXd ist die maximale zulässige Verzögerung des Signals auf alle Strecken der Kommunikationsvorrichtung.
-
Mit dem Verfahren kann auch Tsk sample, den Quantisierungsfehler, aus Tskd herausrechnen und separat benutzen.
-
Weiterhin kann das Verfahren anhand der Anzahl zur Synchronisation benötigten IFS, welche jeder Slave dem Master meldet, ermitteln, ob diese Anzahl an IFS zu hoch oder niedrig ist.
-
Ein Überblick der beschriebenen Werten und Diagnosemöglichkeiten bietet für den Fall eines Systems mit zwei Slaves und einem Master 2.
-
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 einen Ablauf der Initialisierung mit Angabe der relevanten Zeiten für eine beispielhafte Kommunikationsanordnung mit einem Master und zwei Slaves.
-
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.
-
In 2 ist ein möglicher Ablauf der Initialisierung gezeigt, wobei relevante Zeiten für eine Kommunikationsanordnung mit einem Master und zwei Slaves angegeben sind.
-
Dabei zeigt eine erste Reihe 50 den Ausgang des Masters, eine zweite Reihe 52 einen Eingang des ersten Slaves, eine dritte Reihe 54 einen Ausgang des ersten Slaves, eine vierte Reihe 56 einen Eingang des zweiten Slaves, eine fünfte Reihe 58 einen Ausgang des zweiten Slaves und eine sechste Reihe 60 einen Eingang des Masters. Mit Bezugsziffer 70 ist IFS_0 bezeichnet, Bezugsziffer 72 IFS_1, Bezugsziffer 74 IFS_2, Bezugsziffer 76 IFS_3, Bezugsziffer 78 IFS_4, Bezugsziffer 80 IFS_5, Bezugsziffer 82 IFS_6, Bezugsziffer 84 IFS_7, Bezugsziffer 86 IFS_8 und Bezugsziffer 88 IFS_9.
-
Ein erster Doppelpfeil 100 bezeichnet die Zeitdauer 4 * Tbit, ein zweiter Doppelpfeil 102 die Zeitdauer Tinit1 = (M * 4 + 1) * Tbit t Ts1d, ein dritter Doppelpfeil 104 Tsd1, ein vierter Doppelpfeil 106 M*(4 * Tbit) + Tbit = (M * 4 + 1) * Tbit, ein fünfter Doppelpfeil 108 Ts2d, ein sechster Doppelpfeil 110 M*(4 * Tbit) + Tbit = (M * 4 + 1) * Tbit, ein siebter Doppelpfeil 112 Tsmd und ein achter Doppelpfeil 114 Tinit = N*(M * 4 + 1) * Tbit + Ts1d + Ts2d + ... + TsNd + Tmd.
-
Dabei entspricht N der Anzahl der Slaves in der Kommunikationsanordnung, M der Anzahl IFS, die ein Slave zur Synchronisation benötigt, Tbit der Signalverzögerung von einem Bit, TsXd der Signalverzögerung am Eingang von Slave X (X = 1, 2, ... N), wobei der Quantisierungsfehler vom vorhergehenden Slave umfasst ist, Tsmd der Signalverzögerung am Eingang des Masters, wobei der Quantisierungsfehler des letzten Slaves umfasst ist, und TsMAXd der Summe der zulässigen maximalen Verzögerungen der Leitungen.
-
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, 0014, 0016]