-
Die Erfindung betrifft ein Verfahren zum Betreiben einer Busanordnung sowie eine Busanordnung.
-
Stand der Technik
-
Ein Local Interconnect Network (LIN) ist eine Spezifikation für ein serielles Kommunikationssystem und somit für eine serielle Busanordnung, die auch LIN-Bus genannt wird. Diese Busanordnung kann zur Realisierung einer Kommunikation zwischen Sensoren und/oder Aktoren sowie einem Steuergerät als Teilnehmer der Busanordnung, bspw. in einem Kraftfahrzeug, verwendet werden.
-
Mit dem LIN 2.0 Standard werden für Daten, die zwischen den Teilnehmern übermittelt werden, ereignisausgelöste Rahmen (Event Triggered Frames, ETF) und sporadische Rahmen (Sporadic Frames, SF) eingeführt. Somit ist es möglich, einen zeitlichen Ablaufplan (Schedule) zur Übermittlung von Daten zu beeinflussen, d. h. die genannten Rahmen erlauben eine sporadische bzw. ereignisgesteuerte Datenübertragung, wobei die Rahmen selbst aber fest im Ablaufplan (Schedule) definiert sind.
-
Bei sporadischen Rahmen können für einen Zeitschlitz mehrere Botschaften mit statischer Priorität definiert werden. In einem derartigen Zeitschlitz (Slot) wird nur dann eine Nachricht versendet, wenn für einen Master als Teilnehmer der Busanordnung Daten vorliegen oder vom Master Slave-Antworten gefordert werden. Ist beides nicht der Fall, so bleibt die Busanordnung in dieser Zeit leer. Die Busanordnung kann also mit sporadischen Rahmen nicht vollständig ausgelastet werden.
-
Mit ereignisausgelösten Rahmen kann berücksichtigt werden, dass nicht alle Slaves als Teilnehmer der Busanordnung in jedem Datenübertragungszyklus Daten zu senden haben. Dabei können einem ereignisausgelösten Rahmen mehrere Slaves zugeordnet werden, d. h. auf einen Header eines ereignisausgelösten Rahmens können mehrere Slaves antworten. Ergibt sich eine Kollision zwischen übertragenen Rahmen, so können die Slaves dies durch Rücklesen der Daten erkennen und den Sendevorgang abbrechen. Der Master erkennt dann einen Empfangs- oder Timeout-Fehler. Bei einem nächsten Zeitschlitz dieses ereignisausgelösten Rahmens fragt der Master die Slaves mit normalen Botschaften oder mit separaten Identifiern, ab. Das heißt, für jeden Slave, der auf einen ereignisausgelösten Rahmen reagiert, muss jeweils auch noch ein eindeutiger normaler Identifier existieren.
-
Ab dem LIN 2.1 Standard ist festgelegt, dass der Master nach einer Kollision einmalig auf einen anderen zeitlichen Ablaufplan mit Kollisionsfreiheit wechseln muss und nach dessen Abarbeitung wieder auf die ursprüngliche Tabelle des zeitlichen Ablaufplans zurückschalten muss. Hierzu ist jedoch erforderlich, dass eine Kollisionserkennung implementiert wird. Außerdem entstehen bei einer Kollision erhebliche Verzögerungen durch die erneute und einzelne Abfrage der Slaves. Ereignisausgelöste Rahmen sind in der Regel also nur dann sinnvoll, wenn nur sehr wenige Kollisionen zu erwarten sind.
-
Ein Steuerungsverfahren für den Medienzugriff bei einem seriellen Bus ist in der Druckschrift
DE 197 21 740 A1 beschrieben. Dieser serielle Bus umfasst mehrere Teilnehmer, die über Daten-Telegramme miteinander kommunizieren. Um einzelne Teilnehmer zu bestimmten Zeitpunkten auf den Bus zugreifen zu lassen, werden von einem als Master ausgebildeten ersten Teilnehmer in zyklischer Folge Trigger-Telegramme gesendet. Dabei enthält jedes Trigger-Telegramm den Beginn und die Dauer der Sendeberechtigung für mindestens einen von dem Master ausgewählten Teilnehmer. Durch das Trigger-Telegramm wird für die ausgewählten Teilnehmer ein Zeitablauf zum Übermitteln von Daten-Telegrammen festgelegt. Vor dem Senden eines nächsten Trigger-Telegramms können die Slaves Sendeberechtigungen für weitere Daten-Telegramme bei dem Master anfordern.
-
Offenbarung der Erfindung
-
Vor diesem Hintergrund werden ein Verfahren und eine Busanordnung 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 kann eine Eliminierung von Leerzeiten und/oder Leerbytes innerhalb eines Rahmens (Frames) zur Datenübertragung auf der Busanordnung, eine Verringerung der Zykluszeit sowie eine Verringerung der Latenzzeit, falls bspw. kein Slave als Teilnehmer der Busanordnung Daten zu senden hat, erreicht werden. Bei dem Verfahren treten keine Kollisionen auf. Somit kann die Busanordnung bis zu 100% ausgelastet werden.
-
Um dies zu erreichen, fragt ein Master k Slaves mit einem für alle k Slaves gemeinsamen Abfragerahmen danach ab, ob und wie viele Daten jeder Slave in einem nachfolgenden Datenübertragungszyklus zu senden hat. Hierzu wird ein Verfahren genutzt, bei dem sich mehrere Slaves den einen Abfragerahmen teilen.
-
Der Abfragerahmen umfasst k Informationsfelder. Der Master sendet einen Header dieses Abfragerahmens, woraufhin jeder der k Slaves Informationen in eines von k Informationsfeldern schreibt. Der Header und die Informationsfelder ergeben zusammen mit der Prüfsumme, die der letzte Slave sendet, auf der Busanordnung den kompletten und LIN-konformen Abfragerahmen Der Master liest nach Empfang des Abfragerahmens die von den Slaves gesendeten Informationsfelder. Daraufhin wird von dem Master ein zeitlicher Ablaufplan erzeugt, der durch mindestens einen Zeitschlitz (Slot), in der Regel eine Folge von Zeitschlitzen, der oder die mindestens einem Slave zugewiesen wird oder werden bereitgestellt und somit zumindest implizit mitgeteilt wird. Weiterhin kann mindestens ein Slave durch den Master zum Senden von Daten in einem ihm zugeordneten Zeitschlitz zur Übertragung der Daten mit einem Datenübertragungsrahmen veranlasst werden.
-
Dabei kann der Master mit dem Header zusätzlich eine Synchronisationsinformation für die Slaves und/oder für den Datenübertragungszyklus übermitteln. Weiterhin kann durch Schreiben der Informationen in die Informationsfelder eine Reihenfolge, ein Umfang und/oder eine maximale Menge der von den Slaves zu übermittelnden Daten festgelegt werden.
-
In Ausgestaltung der Erfindung kann jeder Slave in ein Informationsfeld des Abfragerahmens, das bspw. ein Byte umfasst, Informationen schreiben, wobei die Reihenfolge der Informationsfelder durch eine Identität (ID) der Slaves und/oder deren Position in der Busanordnung bestimmt ist. Der Header des Abfragerahmens wird zur Durchführung einer Abfrage versendet. Gemäß dem LIN-Standard kann der Abfragerahmen acht Informationsfelder mit einer maximalen Länge von 8 Byte aufweisen, so dass maximal k = 8 Slaves als Teilnehmer der Busanordnung abgefragt werden können.
-
Durch einen bestimmten Wert, z. B. "0", der auch als Leerwert bezeichnet werden kann, wobei der Slave diesen Leerwert in das ihm zugeordnete Informationsfeld des Abfragerahmens einträgt und somit schreibt, signalisiert der Slave dem Master, dass für den nächsten Datenübertragungszyklus, der durch den Abfragerahmen eingeleitet und/oder vorbereitet wird, keine neuen Daten vorhanden sind.
-
Sind in einem m-ten Slave Daten zum Senden vorhanden, so kann ein erster Teil des ihm zugeordneten Informationsfelds des Abfragerahmens, der z. B. 5 Bits des einen Bytes umfasst, einen Wert für eine erste Indikation der im Datenübertragungszyklus zu übertragenden Daten verwendet werden. Im zweiten Teil des ihm zugeordneten Informationsfelds, das z. B. 3 Bits umfasst, teilt der Slave die Menge, bspw. die Anzahl Bytes an Daten mit, die im nächsten Datenübertragungszyklus zu übertragen sind.
-
Nach Erhalt und Abarbeitung des Abfragerahmens ist der Master nun in der Lage, für den nächsten Datenübertragungszyklus einen nach dem tatsächlichen Bedarf optimierten zeitlichen Ablaufplan bereitzustellen, bspw. aus mehreren bereits vorliegenden Ablaufplänen auszuwählen. Es ist jedoch auch möglich, dass ein derartiger Ablaufplan von dem Master betriebsbegleitend erzeugt und ggf. für weitere zukünftige Datenübertragungszyklen durch Speicherung vorgemerkt werden kann.
-
Dem Master werden mit dem empfangenen Abfragerahmen folgende Informationen der Slaves bereitgestellt:
- – Die Anzahl der Slaves, die Daten zu senden haben: hieraus kann der Master ableiten, wie viele Zeitschlitze vorzusehen sind.
- – Eine erste Indikation der zu übertragenden Daten, bspw. hinsichtlich ihrer Entstehung, Relevanz, Wichtigkeit und/oder Dringlichkeit: Hieraus kann der Master ableiten, in welcher zeitlichen Reihenfolge den Slaves Zeitschlitze des Ablaufplans zugewiesen werden. Die zeitliche Reihenfolge, nach der den Slaves im Datenübertragungszyklus die Zeitschlitze zugewiesen werden, kann abhängig von der Höhe eines Werts zur quantitativen Einstufung der Indikation der zu versendenden Daten festgelegt werden. Dabei wird einem ersten ausgewählten Slave, der einen ersten Wert als Datenindikation aufweist, zu einem ersten Zeitpunkt ein erster Zeitschlitz zugewiesen, einem n-ten ausgewählten Slave, der einen n-ten Wert als Datenindikation aufweist, zu einem n-ten Zeitpunkt ein n-ter Zeitschlitz zugewiesen, usw.
- – Die Menge der von einem Slave zu versendenden Daten: hieraus wird von dem Master abgeleitet, welches Zeitintervall einen Zeitschlitz umfassen sollte, wobei eine Länge des Zeitintervalls von der Menge und/oder einem benötigten Speicherplatz der von einem Slave im Datenübertragungsrahmen zu übermittelnden Daten bestimmt wird.
-
Der Master sieht in seiner Konfiguration bspw. entsprechend der Anzahl k an vorhandenen Slaves verschiedene zeitliche Ablaufpläne (Schedules) vor. Dabei ist jeder Ablaufplan durch eine Anzahl und Reihenfolge von Zeitschlitzen charakterisiert. Die Anzahl der Zeitschlitze entspricht der Anzahl Slaves, die in dem Datenübertragungszyklus Daten zu versenden haben. Eine Länge eines Zeitintervalls eines Zeitschlitzes wird an die jeweilige Menge an Daten, die von dem zugeordneten Slave zu versenden sind, von dem Master angepasst. Weiterhin kann für jeden Zeitschlitz über den zeitlichen Ablaufplan ein Sendezeitpunkt festgelegt werden. Dadurch wird eine Reihenfolge der von dem Master zugewiesenen Zeitschlitze festgelegt. Daraus ergibt sich auch die zeitliche Reihenfolge, zu der die Slaves die Datenübertragungsrahmen senden. Weiterhin wird dadurch die zeitliche Reihenfolge, zu der der Master die Datenübertragungsrahmen wieder empfängt, festgelegt. Dies betrifft einen Zeitpunkt, zu dem der Master von dem m-ten Slave den nunmehr m-ten Datenübertragungsrahmen empfängt.
-
Eine Abfrage, bei der ein Header eines Abfragerahmens von dem Master an die Slaves versendet wird, kann zyklisch ausgeführt werden. Somit wird bei einer Abfrage zyklisch ein Header versendet, bis mindestens ein Slave durch Schreiben einer Information in das ihm zugeordnete Informationsfeld signalisiert, dass er neue Daten zu übertragen hat. Damit werden die Slaves praktisch mit einer Zykluszeit der Abfrage abgefragt und somit gepollt, solange keine Daten zu übertragen sind. Kommt es bei der Übertragung des Headers zu einem Fehler, so wird dieser durch den Master erneut gesendet und/oder initiiert.
-
Das erfindungsgemäße Verfahren kann bspw. dann eingesetzt werden, wenn nach einem Zeitraum, in dem keine Daten versendet wurden, möglichst schnell ein neuer Datenübertragungszyklus begonnen werden soll. Mit dem Verfahren kann berücksichtigt werden, dass von den Slaves nicht immer oder ständig Daten bereitgestellt werden. Durch Einrichten eines Zeitschlitzes für einen Datenübertragungsrahmen kann berücksichtigt werden, dass eine Menge der Daten der Slaves in jedem Datenübertragungszyklus variieren kann. Somit kann für die Slaves ein Ablaufplan, der Zeitschlitze für einen Datenübertragungszyklus umfasst, flexibel eingestellt werden.
-
Zur Bereitstellung des bedarfsoptimierten Ablaufplans (Schedules) für eine, bspw. als LIN-Busanordnung, ausgebildete Busanordnung fragt der Master die Slaves danach, ob und wie viele Daten diese zu senden haben. Hierbei werden alle Slaves der LIN-Busanordnung mit dem gemeinsamen Header eines Abfragerahmens abgefragt, den sich die Slaves teilen. Dabei ist jedem der Slaves ein Informationsfeld des Abfragerahmens mit bspw. einem Byte zugeordnet, über das der Slave angibt, ob neue Daten gesendet werden oder nicht. Weiterhin kann der Slave auch angeben, wie viele Bytes an Daten zu übertragen sind. Nach Ausfüllen der Informationsfelder wird der Abfragerahmen an den Master gesendet. Auf Grundlage dessen ist es möglich, einen für den tatsächlichen Bedarf an zu übertragenden Daten optimierten zeitlichen Ablaufplan bereitzustellen. In der Regel kann ein Slave dem Master explizit angeben, wie groß die Menge und wie hoch die Wichtigkeit der an ihn zu übertragenden Daten sind.
-
Bei einer zeitgesteuerten LIN-Busanordnung bestimmt der Master durch dedizierte Zeitschlitze, die den Slaves gemäß dem Ablaufplan übermittelt werden, welcher Slave wann seine Daten senden kann. Der Ablaufplan für einen Datenübertragungszyklus kann betriebsbegleitend dynamisch eingestellt werden. Es können mehrere Ablaufpläne definiert werden, zwischen denen der Master zur Laufzeit dynamisch umschalten kann.
-
Mit der Erfindung kann u. a. berücksichtigt werden, dass nicht alle sondern nur einzelne Slaves auch aktuelle Daten zu senden haben, und dass eine Menge an Daten eines Slaves von Datenübertragungszyklus zu Datenübertragungszyklus variieren kann. Somit können viele Leerzeiten und Leerbytes auf der Busanordnung vermieden werden, so dass eine Nutzdatenrate optimiert werden kann. Außerdem können nunmehr hohe Latenzzeiten vermieden werden.
-
Durch die im Rahmen der Erfindung vorgesehene dynamische Festlegung darüber, zu welchem Zeitpunkt ein Slave seine Daten innerhalb eines Datenübertragungszyklus sendet, kann bspw. berücksichtigt werden, dass derjenige Slave seine Daten als erstes sendet, dessen Daten auch als erstes vorliegen und somit am ältesten sind. Somit kann vermieden werden, dass der Slave, der seine Daten als erstes ermittelt hat, diese in einem Datenübertragungszyklus als letzter überträgt.
-
Die erfindungsgemäße Busanordnung ist dazu ausgebildet, sämtliche Schritte des vorgestellten Verfahrens durchzuführen. Dabei können einzelne Schritte dieses Verfahrens auch von einzelnen Komponenten der Busanordnung durchgeführt werden. Weiterhin können Funktionen der Busanordnung oder Funktionen von einzelnen Komponenten der Busanordnung als Schritte des Verfahrens umgesetzt werden. Außerdem ist es möglich, dass Schritte des Verfahrens als Funktionen wenigstens einer Komponente der Busanordnung oder der gesamten Busanordnung 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, 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 Beispiele für Ablaufpläne, die Reihenfolgen für Zeitschlitze umfassen, die bei einer ersten Ausführungsform des erfindungsgemäßen Verfahrens verwendet werden.
-
2 zeigt in schematischer Darstellung ein Beispiel für einen Abfragerahmen.
-
3 zeigt in schematischer Darstellung weitere Beispiele für Zeitschlitze, die verschiedenen Slaves bei einer zweiten Ausführungsform des erfindungsgemäßen Verfahrens zugeordnet werden.
-
4 zeigt in schematischer Darstellung ein Diagramm zu einer dritten Ausführungsform des erfindungsgemäßen Verfahrens.
-
5 zeigt in schematischer Darstellung eine Ausführungsform einer erfindungsgemäßen Busanordnung.
-
In 1 ist in einer ersten Zeile ein Header 1 eines anhand der nachfolgenden 2 vorgestellten Abfragerahmens 2 dargestellt, der zur Umsetzung einer Abfrage von einem Master einer Busanordnung an insgesamt k Slaves, mit k = 8, der Busanordnung versendet wird. Während der Abfrage wird lediglich der hier in 1 gezeigte Header 1 übermittelt.
-
Falls während eines vorgesehenen Datenübertragungszyklus lediglich von einem ersten Slave Daten zu übertragen sind, wird gemäß einem ersten Ablaufplan von dem Master, wie die zweite Zeile aus 1 zeigt, ein erster Zeitschlitz 4 für den lediglich einen, bspw. ersten, Slave bereitgestellt.
-
In der dritten Zeile ist neben dem ersten Zeitschlitz 4 auch ein zweiter Zeitschlitz 6, der bei einem Ablaufplan für einen Datenübertragungszyklus, in dem von zwei Slaves Daten zu versenden sind, gezeigt. Hierbei ist der zweite Zeitschlitz 6 einem zweiten Slave der Busanordnung zugeordnet.
-
Dabei werden bei einem in der vierten Zeile aus 1 dargestellten Ablaufplan eines Datenübertragungszyklus von drei Slaves Daten übertragen. Hierzu wird durch den Ablaufplan der erste Zeitschlitz 4 für den ersten Slave, ein dritter Zeitschlitz 8 für einen dritten Slave sowie ein vierter Zeitschlitz 10 für einen vierten Slave bereitgestellt.
-
Falls bei Ausführungsformen des erfindungsgemäßen Verfahrens von allen k Slaves in einem Datenübertragungszyklus Daten zu versenden sind, stellt ein Ablaufplan, der anhand der fünften Zeile aus 1 dargestellt ist, für jeden dieser Slaves einen Zeitschlitz 4, 6, 8, 10, 12, 14, 16, 18 bereit. Dabei ist der erste Zeitschlitz 4 dem ersten Slave, der zweite Zeitschlitz 6 dem zweiten Slave, ein dritter Zeitschlitz 8 einem dritten Slave, ein vierter Zeitschlitz 10 einem vierten Slave, ein fünfter Zeitschlitz 12 einem fünften Slave, ein sechster Zeitschlitz 14 einem sechsten Slave, ein siebter Zeitschlitz 16 einem siebten Slave und ein achter Zeitschlitz 18 einem achten Slave zugeordnet.
-
Die in 1 gezeigten Zeitschlitze 4, 6, 8, 10, 12, 14, 16, 18 weisen Zeitintervalle auf, wobei eine Länge eines Zeitintervalls eines Zeitschlitzes 4, 6, 8, 10, 12, 14, 16, 18 an die Menge der von einem Slave zu übertragenden Daten für jeden Datenübertragungszyklus individuell und flexibel angepasst werden kann. Somit kann bspw. ein Zeitintervall des ersten Zeitschlitzes 4 an die Menge der Daten, die von dem ersten Slave zu übertragen sind, für jeden vorgestellten Ablaufplan angepasst werden.
-
Weiterhin wird durch die in 1 vorgestellten Ablaufpläne auch eine Reihenfolge festgelegt, mit der der Master den Slaves die Zeitschlitze 4, 6, 8, 10, 12, 14, 16, 18 zuweist. Daraus ergibt sich wiederum die Reihenfolge, mit der die Slaves Datenübertragungsrahmen bereitstellen, mit den Daten befüllen sowie die Reihenfolge, mit der die Slaves die Datenübertragungsrahmen an den Master senden und in welcher Reihenfolge der Master die Datenübertragungsrahmen von den Slaves empfängt.
-
Mögliche Details zu einer Länge von Zeitintervallen von Zeitschlitzen 4, 6, 8, 10, 12, 14, 16, 18, die von der Menge der Daten abhängig ist, und wodurch eine Länge von Datenübertragungsrahmen zur Aufnahme von Daten definiert wird, die bei einem jeweiligen Datenübertragungszyklus zu übertragen sind, sind anhand der nachfolgenden 3 beschrieben.
-
2 zeigt in schematischer Darstellung Details zu einem Aufbau eines Abfragerahmens 2, der den in 1 vorgestellten Header 1 umfasst. Der Abfragerahmen 2 weist neben dem Header 1 k, mit k = 8, leere Informationsfelder 24, 26, 28, 30, 32, 34, 36, 38 sowie ein zusätzliches Prüffeld 40 auf. Nach Befüllen der Informationsfelder 24, 26, 28, 30, 32, 34, 36, 38 mit Informationen über zu versendende Daten durch die Slaves wird der Abfragerahmen 2 an den Master gesendet. Dabei ist ein erstes Informationsfeld 24 einem ersten Slave, ein zweites Informationsfeld 26 einem zweiten Slave, ein drittes Informationsfeld 28 einem dritten Slave, ein viertes Informationsfeld 30 einem vierten Slave, ein fünftes Informationsfeld 32 einem fünften Slave, ein sechstes Informationsfeld 34 einem sechsten Slave, ein siebtes Informationsfeld 36 einem siebten Slave und ein achtes Informationsfeld 38 einem achten Slave der Busanordnung mit hier insgesamt acht Slaves zugeordnet. Über das abschließende Prüffeld 40 wird für den gesamten Abfragerahmen 2 bei einer zyklischen Redundanzprüfung eine hierzu vorgesehene Prüfsumme bereitgestellt und/oder berechnet.
-
Bei Durchführung der Ausführungsform des erfindungsgemäßen Verfahrens sind in die Informationsfelder 24, 26, 28, 30, 32, 34, 36, 38, die den Slaves zugeordnet sind, noch keine Daten geschrieben, wenn der Header 1 des Abfragerahmens 2 von dem Master an die Slaves in einem Abfragezyklus übermittelt wird. Die Slaves empfangen den Header 1 gemäß ihrer Reihenfolge in der Busanordnung. Falls mindestens einer der Slaves, bspw. ein m-ter Slave, bei dem nachfolgenden Datenübertragungszyklus an den Master Daten zu versenden hat, schreibt dieser m-te Slave mindestens eine Information über die zu versendenden Daten in das ihm zugeordnete leere m-te Informationsfeld 24, 26, 28, 30, 32, 34, 36, 38. Dabei ist jedes dieser Informationsfelder 24, 26, 28, 30, 32, 34, 36, 38 in zwei Teile aufgeteilt. Dabei kann der m-te Slave in den ersten Teil, der hier 5 Bit umfasst, Informationen zu einer Indikation der zu versendenden Daten schreiben. In einen zweiten Teil des ihm zugeordneten m-ten Informationsfelds 24, 26, 28, 30, 32, 34, 36, 38 kann der m-te Slave Informationen über die Menge der von ihm zu versendenden Daten schreiben, wobei der zweite Teil des Informationsfelds 24, 26, 28, 30, 32, 34, 36, 38 hier 3 Bit umfasst. Falls der m-te Slave bei dem nächsten Datenübertragungszyklus keine Daten an den Master zu versenden hat, schreibt der m-te Slave in das ihm zugeordnete m-te Informationsfeld 24, 26, 28, 30, 32, 34, 36, 38 einen sogenannten Leerwert, der geeignet zu vereinbaren ist und bspw. den Wert 0 aufweisen kann. Es ist demnach vorgesehen, dass Informationen des Headers 1, die bspw. Identitäten (IDs) der Slaves umfassen können, an die der Header 1 adressiert ist, von dem Master geschrieben und von den Slaves gelesen werden. Informationen in den Informationsfeldern 24, 26, 28, 30, 32, 34, 36, 38 werden von den Slaves geschrieben. Die Prüfsumme wird von einem letzten Slave der Busanordnung in das Prüffeld 40 geschrieben. Die Informationsfeldern 24, 26, 28, 30, 32, 34, 36, 38 sowie das Prüffeld 40 bilden eine Antwort der Slaves, die von dem Master gelesen wird.
-
3 zeigt Beispiele für Zeitschlitze 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, deren Zeitintervalle von einer Menge an Daten, die von Slaves 74, 76, 78, 80 mit Datenübertragungsrahmen zu versenden sind, abhängig ist. Dabei sind einem ersten Slave 74 ein erster Zeitschlitz 42 für eine Menge von 1 Byte an Daten, ein zweiter Zeitschlitz 44 für eine Menge von 2 Byte an Daten, ein x-ter Zeitschlitz 46 für eine Menge von x Byte an Daten oder ein achter Zeitschlitz 48 für eine Menge von 8 Byte an Daten zugeordnet. Entsprechend sind einem zweiten Slave 76 ein erster Zeitschlitz 50 für eine Menge von 1 Byte an Daten, ein zweiter Zeitschlitz 52 für eine Menge von 2 Byte an Daten, ein x-ter Zeitschlitz 54 für eine Menge von x Byte an Daten oder ein achter Zeitschlitz 56 für eine Menge von 8 Byte an Daten zugeordnet. Einem m-ten Slave 78 von insgesamt k Slaves 74, 76, 78, 80 werden in einem Ablaufplan von einem Master ein erster Zeitschlitz 58 für eine Menge von 1 Byte an Daten, ein zweiter Zeitschlitz 60 für eine Menge von 2 Byte an Daten, ein x-ter Zeitschlitz 62 für eine Menge von x Byte an Daten oder ein achter Zeitschlitz 64 für eine Menge von 8 Byte an Daten bereitgestellt, so dass diesem m-ten Slave 78 einer der hier gezeigten Zeitschlitze 58, 60, 62, 64, die unterschiedlich große Zeitintervalle zur Bereitstellung unterschiedlich großer Datenübertragungsrahmen zur Aufnahme unterschiedlicher Mengen an Daten aufweisen, zugeordnet wird.
-
Es ist vorgesehen, dass die Busanordnung insgesamt k, mit k = 8 Slaves 74, 76, 78, 80 aufweist. Mit einem Ablaufplan wird dem letzten, k-ten Slave 80 von dem Master entweder ein erster Zeitschlitz 66 für eine Menge von 1 Byte Daten, ein zweiter Zeitschlitz 68 für eine Menge von 2 Byte Daten, ein x-ter Zeitschlitz 70 für eine Menge von x Byte Daten, oder ein achter Zeitschlitz 72 für eine Menge von 8 Byte Daten zugewiesen.
-
Eine Länge eines Zeitintervalls eines Zeitschlitzes 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72 wird durch eine Menge an Daten, die ein Slave 74, 76, 78, 80 nach Zuweisung des Zeitschlitzes 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72 in einen bereitzustellenden Datenrahmen einfügen kann, festgelegt. Die Länge eines Zeitintervalls wird in Abhängigkeit der Information über die Menge an zu sendenden Daten, die der Slave 74, 76, 78, 80 in das ihm zugeordnete Informationsfeld des Abfragerahmens geschrieben und somit dem Master mitgeteilt hat, von dem Master eingestellt.
-
Das Diagramm aus 4 zu einer dritten Ausführungsform des erfindungsgemäßen Verfahrens umfasst eine Abszisse 82, entlang der eine Zeit in ms aufgetragen ist. Dabei umfasst das Diagramm aus 4 ein weiteres Beispiel für einen Abfragerahmen 84, der einen Header 85 umfasst, der bei einer Abfrage 86 von Slaves an einen Master einer Busanordnung übermittelt wird, sowie Beispiele für Datenübertragungsrahmen 88, 90, 92, die bei einem Datenübertragungszyklus 94 verwendet werden. Dabei folgt der Datenübertragungszyklus 94 unmittelbar auf die Abfrage 86 und wird durch die Abfrage 86 auch vorbereitet und/oder eingeleitet.
-
In der hier beschriebenen Ausführungsform ist vorgesehen, dass die Busanordnung k = 4 Slaves aufweist. Folglich weist der Abfragerahmen 84 ein erstes Informationsfeld 96 für einen ersten Slave, ein zweites Informationsfeld 98 für einen zweiten Slave, ein drittes Informationsfeld 100 für einen dritten Slave sowie ein viertes Informationsfeld 102 für einen vierten Slave auf. Dabei sind die genannten Informationsfelder 96, 98, 100, 102, wenn der Header 85 des Abfragerahmens 84 von dem Master an die Slaves übermittelt wird, leer. Sobald ein Slave während der Abfrage 86 den Header 85 erhält, schreibt dieser Slave in das ihm zugeordnete Informationsfeld 96, 98, 100, 102 Informationen zu Daten, die von dem jeweiligen Slave während des nachfolgenden Datenübertragungszyklus 94 an den Master zu versenden sind.
-
Im Detail schreibt der erste Slave in dem hier gezeigten Beispiel in das ihm zugeordnete erste Informationsfeld 96 die Information "20:2". Der zweite Slave schreibt in das ihm zugeordnete zweite Informationsfeld 98 die Information "0:0", der dritte Slave schreibt in das ihm zugeordnete dritte Informationsfeld 100 die Information "13:2". Weiterhin schreibt der vierte Slave in das ihm zugeordnete vierte Informationsfeld 102 die Information "19:4".
-
Somit wird von einem m-ten Slave in das ihm zugeordnete m-te Informationsfeld 96, 98, 100 die Information "Y:Z" geschrieben, wobei Y für eine erste Zahl und/oder einen ersten Wert und Z für eine zweite Zahl und/oder einen zweiten Wert steht. Dabei umfasst der erste Wert Y Informationen zu einer Indikation der zu versendenden Daten, also in dem hier gezeigten Beispiel 20, 0, 13 oder 19. In der vorliegenden Ausführungsform wird durch die Indikation dargelegt, welche Relevanz, bspw. Wichtigkeit und/oder Dringlichkeit, oder welches Alter die von dem m-ten Slave zu versendenden Daten aufweisen. Dabei ist die Relevanz umso größer, je kleiner der Wert Y für die Indikation ist. Alternativ oder ergänzend wird durch den Wert Y dargelegt, zu welchem Zeitpunkt die zu versendenden Daten von dem m-ten Slave erfasst worden sind. Dabei sind die zu versendenden Daten umso älter, je kleiner der Wert Y ist. Durch den zweiten Wert Z wird eine Größe und/oder Menge der zu versendenden Daten angegeben.
-
Somit informiert der erste Slave mit den Informationen "20:2" in dem ersten Informationsfeld 96, dass dieser erste Slave eine Menge von 2 Byte Daten, die eine Relevanz 20 haben und/oder zum Zeitpunkt Y = 20 erfasst wurden, zu versenden hat. Der dritte Slave signalisiert dem Master über das dritte ihm zugeordnete Informationsfeld 100, dass er eine Menge von 2 Byte Daten, die eine Relevanz 13 haben und/oder zu dem Zeitpunkt Y = 13 erfasst wurden, zu versenden hat. Durch die Informationen "19:4" in das ihm zugeordnete vierte Informationsfeld 102 informiert der vierte Slave den Master darüber, dass er eine Menge von 4 Byte zu versenden hat, die die Relevanz 19 aufweisen und/oder zu dem Zeitpunkt Y = 19 erfasst worden sind.
-
Bei der vorliegenden Ausführungsform nehmen die Informationen "0:0" in dem zweiten Informationsfeld 98, das dem zweiten Slave zugeordnet ist, eine Sonderstellung ein. Hier wird durch die erste Information mit dem Y-Wert 0 angezeigt, dass von dem zweiten Slave in dem nachfolgenden Datenübertragungszyklus 94 keine Daten zu übersenden sind, die zwangsläufig eine Menge von 0 Byte umfassen.
-
Während der Abfrage 86 wird der Abfragerahmen 84, nachdem jeder Slave in das ihm zugeordnete Informationsfeld 96, 98, 100, 102 die Informationen "Y:Z" über die zu versendenden Daten geschrieben hat, an den Master übermittelt und ausgewertet. Unter Berücksichtigung der von den Slaves bereitgestellten Informationen wird von dem Master nunmehr ein zeitlicher Ablaufplan mit Zeitschlitzen zur Übermittlung der Daten während des nachfolgenden Datenübertragungszyklus 94 zugewiesen, wobei dieser zeitliche Ablaufplan durch die Reihenfolge und Größe der von dem Master während des Datenübertragungszyklus 94 übertragenen Datenübertragungsrahmen 88, 90, 92 charakterisiert ist.
-
Dabei geht aus den Informationen in den Informationsfeldern 96, 98, 100, 102 hervor, welcher Slave welche Menge an Daten zu versenden hat und welche Relevanz und/oder welches Alter die zu versendenden Daten aufweisen. Dabei wird der Master darüber informiert, dass der zweite Slave keine Daten zu versenden hat und dass die Relevanz der Daten des dritten Slaves (Y = 13) höher als die Relevanz der Daten des vierten Slaves (Y = 19) und diese wiederum höher als die Relevanz der Daten des ersten Slaves (Y = 20) ist. Weiterhin wird der Master darüber informiert, dass der erste und der dritte Slave jeweils eine Menge von 2 Byte Daten und der vierte Slave eine Menge von 4 Byte Daten zu versenden haben.
-
Unter Berücksichtigung dieser Informationen stellt der Master für den folgenden Datenübertragungszyklus 94 den zeitlichen Ablaufplan bereit, der durch die Relevanz und/oder das Alter der zu versendenden Daten sowie die Menge der von einem Slave jeweils zu versendenden Daten charakterisiert ist. Während des Datenübertragungszyklus 94 weist der Master nunmehr zu einem ersten Zeitpunkt 104 t1 dem dritten Slave einen ersten Zeitschlitz für einen ersten Datenübertragungsrahmen 88 mit zwei Datenfeldern 106 zum Speichern von 2 Byte Daten zu. Zu einem zweiten Zeitpunkt 108 t2 weist der Master dem vierten Slave einen Zeitschlitz für einen zweiten Datenübertragungsrahmen 90 mit vier Datenfeldern 106 zum Speichern von 4 Byte an Daten. Zu einem dritten Zeitpunkt 110 t3 weist der Master dem ersten Slave einen dritten Zeitschlitz für den dritten Datenübertragungsrahmen 92 mit zwei Datenfeldern 106 zum Speichern von 2 Byte Daten zu.
-
Bei der vorliegenden Ausführungsform ist vorgesehen, dass für jedes zu übertragende Bit eine Übertragungszeit TBit = 52 µs vorgesehen ist. Außerdem umfasst ein Header 85 und somit ein Datenkopf jedes der gezeigten Rahmen, d. h. für den Abfragerahmen 84 sowie für die Datenübertragungsrahmen 88, 90, 92, eine Datenlänge BitsHeader = 34. Für einen Trailer jedes der in 4 dargestellten Rahmens ist eine Datenlänge BitsTrailer = 10 vorgesehen. Somit ergibt sich für eine Übertragungszeit TF0 des Abfragerahmens 84 die nachfolgende Formel (1): TF0 = 1,4·(TBit·(BitsHeader + (NSlaves·10) + BitsTrailer)) (1)
-
Die Datenübertragungsdauer für den Abfragerahmen 84 ist in dem Diagramm aus 4 durch den ersten Doppelpfeil 108 dargestellt. Durch die nachfolgende Formel (2) ist die Übertragungszeit der Datenübertragungsrahmen 88, 90, 92 dargestellt, wobei m für die Nummer des Slaves und Z für die Anzahl der zu übertragenden Bytes steht. TFmZ = 1,4·(TBit·(BitsHeader + (Z·10) + BitsTrailer)) (2)
-
Dabei ist stellvertretend für alle vorgesehenen Datenübertragungszeiten TFmZ durch den zweiten Doppelpfeil 110 in dem Diagramm aus 4 die Datenübertragungszeit TF32 des ersten Datenübertragungsrahmen 88 für den dritten Slave dargestellt. In der beschriebenen Ausführungsform ist bspw. vorgesehen, dass pro Datenübertragungszyklus 94 und pro Slave bis zu 6 Byte Daten übertragen werden können. Deshalb sind in der Busanordnung pro Datenübertragungsrahmen 88, 90, 92 maximal sechs Datenfelder 106 zur Aufnahme von Nutzdaten (Payload) vorgesehen. Demnach weist ein Datenübertragungsrahmen 88, 90, 92, der zum Transport einer Menge von 6 Bytes Daten ausgebildet ist, eine Datenübertragungszeit TFm6 = 7,58 ms auf. Ein Datenübertragungszyklus 94 dauert somit 4·7,58 ms = 30,32 ms. Für den Abfragerahmen 84 ergibt sich eine Datenübertragungszeit TF0 = 6,13 ms. Für den ersten Datenübertragungsrahmen 88, mit dem 2 Byte Daten zu übertragen sind, ergibt sich eine Datenübertragungszeit TF32 = 4,67 ms, für den zweiten Datenübertragungsrahmen 90, mit dem 4 Byte Daten übertragen werden, eine Datenübertragungszeit TF44 = 6,13 ms und für den dritten Datenübertragungsrahmen 92, mit dem ebenfalls 2 Byte Daten übertragen werden, eine Datenübertragungszeit TF12 = 4,67 ms, so dass eine Zykluszeit für den Abfragezyklus 86 sowie den Datenübertragungszyklus 94 sich aus der Summe der Datenübertragungszeiten zu 21,60 ms ergibt.
-
Die anhand von 5 schematisch dargestellte Ausführungsform der erfindungsgemäßen Busanordnung 112 ist als LIN(Local Interconnect Network)-Netzwerk ausgebildet und umfasst einen Master 114, der hier als Steuergerät eines Kraftfahrzeugs ausgebildet ist. Weiterhin umfasst die Busanordnung 112 einen ersten Slave 116, einen zweiten Slave 118, einen m-ten Slave 120 sowie einen k-ten, letzten Slave 122. Dabei können die Slaves 116, 118, 120, 122 als Sensoren oder Aktoren des Kraftfahrzeugs ausgebildet sein. Außerdem sind sämtliche Teilnehmer der Busanordnung 112, d. h. der Master 114 sowie die Slaves 116, 118, 120, 122, entlang einer Kommunikationsverbindung 124 seriell verbunden und somit in Reihe geschaltet.
-
Der Master 114 ist dazu ausgebildet, an die Slaves 116, 118, 120, 122 einen Header eines Abfragerahmens, der k leere Informationsfelder umfasst, zu übermitteln. Dabei ist jeweils einem m-ten Slave 116, 118, 120, 122 ein m-tes Informationsfeld der k Informationsfelder zugeordnet. Nach Empfang des Headers des Abfragerahmens durch den m-ten Slave 116, 118, 120, 122 schreibt dieser in das ihm zugeordnete m-te Informationsfeld eine Information darüber, welche Menge an Daten von dem m-ten Slave 116, 118, 120, 122 an den Master 114 in einem nachfolgenden Datenübertragungszyklus zu versenden sind. Nach Befüllen der zunächst leeren Informationsfelder übermitteln die Slaves 116, 118, 120, 122 den mit Informationen ausgefüllten Abfragerahmen wieder an den Master 114. Nach Empfang des ausgefüllten Abfragerahmens stellt der Master 114 zur Übermittlung der Daten einen zeitlich Ablaufplan bereit, der die Menge der zu versendenden Daten berücksichtigt.
-
Weiterhin ist vorgesehen, dass der m-te Slave 116, 118, 120, 122 in das ihm zugeordnete m-te Informationsfeld zusätzlich eine Information über eine Indikation der zu versendenden Daten schreibt. Diese Informationen über die Indikation der Daten werden von dem Master 114 ebenfalls zur Bereitstellung des zeitlichen Ablaufplans berücksichtigt.
-
Dadurch dass der m-te Slave 116, 118, 120, 122 Informationen über die Menge und/oder die Indikation der zu versendenden Daten in das m-te Informationsfeld schreibt, teilt er dem Master 114 mit, ob von ihm Daten zu versenden sind oder nicht.
-
Die während dem Datenübertragungszyklus zu versendenden Daten werden unter Berücksichtigung des zeitlichen Ablaufplans übermittelt. Der zeitliche Ablaufplan wird durch eine Reihenfolge von Zeitschlitzen, die von dem Master 114 an die Slaves 116, 118, 120, 122 zugewiesen werden, realisiert.
-
Durch Bereitstellung des zeitlichen Ablaufplans wird jedem Slave 116, 118, 120, 122 durch den Daten zu übermitteln sind, ein für ihn vorgesehener Zeitschlitz übermittelt, wobei dem m-ten Slave 116, 118, 120, 122 ein m-ter Zeitschlitz zugewiesen wird. Einem Slave 116, 118, 120, 122, der durch Schreiben mindestens einer der Informationen in das ihm zugeordnete Informationsfeld, d. h. durch die Information über die Menge und/oder die Indikation der Daten angekündigt hat, dass von ihm keine Daten zu versenden sind, wird während dem Datenübertragungszyklus von dem Master 114 kein Zeitschlitz zugewiesen.
-
Mit dem zeitlichen Ablaufplan wird eine Reihenfolge darüber festgelegt, wann durch welchen Slave die zu versendenden Daten übermittelt werden. Diese Reihenfolge hängt u. a. von der Indikation der zu versendenden Daten ab. Durch Schreiben der Information über die Indikation in das ihm zugeordnete Informationsfeld des Abfragerahmens teilt der Slave 116, 118, 120, 122 dem Master 114 mit, welche Relevanz, Wichtigkeit, Dringlichkeit und/oder welchen Zeitrang die von ihm zu versendenden Daten haben. Nach Empfang des Abfragerahmens vergleicht der Master 114 die von sämtlichen Slaves 116, 118, 120, 122 angegebenen Informationen. Die Informationen über die Indikation werden durch Werte hierfür quantitativ festgelegt, wobei die Daten eines Slaves 116, 118, 120, 122 umso früher zu verarbeiten sind, je höher der von dem Slave 116, 118, 120, 122 als Information angegebene Wert für die Indikation ist. Zur Realisierung des Ablaufplans wird nun an jenen Slave 116, 118, 120, 122, dessen zu versendenden Daten den höchsten Wert für die Indikation aufweisen, ein erster Zeitschlitz zugewiesen. Einem n-ten Slave 116, 118, 120, 122, dessen zu übertragende Daten bzgl. der Indikation in einer Rangfolge sämtlicher Werte für die Indikation einen n-ten Rang einnehmen, wird ein n-ter Zeitschlitz zugewiesen. An jenen Slave 116, 118, 120, 122, dessen zu übertragende Daten einen niedrigsten Wert für die Indikation haben, wird in der Reihenfolge ein letzter Zeitschlitz zugewiesen. Der Reihenfolge entsprechend stellen die Slaves 116, 118, 120, 122 Datenübertragungsrahmen bereit, befüllen diese mit den zu versendenden Daten und schicken die Datenübertragungsrahmen an den Master 114, der die Datenübertragungsrahmen gemäß der Reihenfolge empfängt und die darin abgelegten Daten gemäß der Reihenfolge verarbeitet.
-
Der m-te Datenübertragungsrahmen weist mindestens ein Datenfeld auf, das einen Speicherplatz umfasst, das an die Menge der von dem m-ten Slave 116, 118, 120, 122 zu versendenden Daten angepasst ist, wobei von dem m-ten Slave 116, 118, 120, 122 nach Empfang des m-ten Datenübertragungsrahmen die zu versendenden Daten in das mindestens eine Datenfeld einfügt werden und der mit Daten befüllte m-te Datenübertragungsrahmen an den Master 114 übermittelt wird.
-
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
-
-
Zitierte Nicht-Patentliteratur
-
- LIN 2.0 Standard [0003]
- LIN 2.1 Standard [0006]