-
TECHNISCHES GEBIET
-
Das vorliegende Dokument betrifft ein Verfahren und ein Gateway eines Busses. Insbesondere werden ein Verfahren und ein Gateway für einen Bus umfassend eine Mehrzahl von Segmenten zum Lastenausgleich der Verkehrslast für nicht-zyklische Nachrichten zwischen den verschiedenen Segmenten des Busses bereitgestellt.
-
HINTERGRUND
-
Ein Controller-Area-Network-(CAN-)Bus ist ein Fahrzeugcomputersystembus-Standard, der ausgebildet ist, Mikrocontrollern und Geräten das Kommunizieren miteinander in Anwendungen ohne einen Hostcomputer zu ermöglichen. Es handelt sich um ein nachrichtenbasiertes Protokoll, das ursprünglich für eine Multiplex-Stromverkabelung in Automobilen entwickelt wurde, aber ebenfalls in vielen anderen Kontexten verwendet wird.
-
In CAN-Netzwerken wird der Lastenausgleich in der Konstruktion durchgeführt (berechnet) und je nach Netzwerkstruktur und implementierter verteilter Funktionalität kann sich diese vom realen Produkt unterscheiden. Dies kann für einen Fahrzeughersteller zum Problem werden, der modulare Fahrzeuge herstellt. Es wird dann sehr schwierig, die richtigen Berechnungen für einen ordnungsgemäßen Lastenausgleich für alle Fahrzeuge durchzuführen.
-
Zum Problem tragen ferner noch nicht-zyklische Nachrichten wie die Diagnose bei, bei denen zu jedem Zeitpunkt eine Spitze von Netzwerkverkehr auftreten kann. Beim Senden einer großen Menge von nicht-zyklischen Daten beispielsweise beim Auslesen von Fahrzeuginformationen mit einer Ferndiagnose, Herunterladen von Software oder Durchführen eines Leistungstests in einer Werkstatt kann das CAN-Gateway mit Nachrichten verstopfen und es können CAN-Frames verloren gehen, wenn der Empfangspuffer überläuft.
-
Der CAN-Verkehr des Busses wird durch die CAN-Priorität geregelt und das Gateway speichert die Nachrichten in einem Puffer zwischen den verschiedenen Netzwerksegmenten. Es tritt ein Problem auf, wenn die Last auf den Netzwerksegmenten nicht gleich ist und die eingehenden Nachrichten eine höhere Geschwindigkeit aufweisen, als das Gateway auf der anderen Seite senden kann. Wenn die entsprechende Netzwerklast der Netzwerksegmente angemessen gleich ist, regelt die Priorität (Arbitrierung) des CAN-Protokolls den Fluss und verlangsamt die Sendefrequenz der Knoten.
-
Die Bus-Arbitrierung ist ein Vorgang in der Bus-Kommunikation, der zwischen angeschlossenen Geräten wählt, die um die Kontrolle des gemeinsamen Busses rivalisieren. Das Gerät, das aktuell in Kontrolle des Busses ist, kann als Bus-Master bezeichnet werden. Mit dem Bus verbundenen Geräten können unterschiedliche Prioritätsniveaus zugewiesen werden, welche die Wahl des Bus-Masters bei einer Rivalität bestimmen. Ein Gerät, das momentan kein Bus-Master ist, muss die Kontrolle des Busses anfordern, bevor es versuchen kann, eine Datenübertragung über den Bus anzustoßen. Typischerweise kann nur ein Gerät jeweils zu einem Zeitpunkt Bus-Master sein und alle anderen Geräte dienen als Slaves für diesen Master. Nur ein Bus-Master kann eine normale Datenübertragung auf dem Bus anstoßen; Slave-Geräte reagieren auf vom aktuellen Bus-Master ausgegebene Befehle durch das Liefern von angeforderten Daten oder Annehmen von gesendeten Daten.
-
Die Dokumente
US2008010702 und
US2002065973 zeigen Verfahren zur Kommunikation auf einer CAN-Datenverbindung in einem Fahrzeug. Auf dieser Datenverbindung werden Dummy-Nachrichten/Signale gesendet, um die Verbindung zu besetzen, bis Datennachrichten/-signale verarbeitet werden.
US2008010702 behandelt ebenfalls verschiedene Prioritätsniveaus für die Dummy-Nachrichten, um die Kommunikationsverbindung besetzen zu können.
-
Keines dieser Dokument erwähnt, dass die Signale gesendet werden, um eine Arbitrierungsänderung im Netzwerk durchzuführen.
-
In den Dokumenten
WO200171991 und
US20050060442 werden leere Nachrichten übertragen, um einen Stau in einem Netzwerk zu verhindern. Die leeren Nachrichten werden kontinuierlich mit realen Nachrichten gesendet und der Pool / die Geschwindigkeit wird auf der Basis der Anwendung oder der Nachrichtengrößen angepasst. Die Arbitrierung wird jedoch nicht geändert; stattdessen wird die Übertragung von Nachrichten verhindert oder verzögert.
-
Somit wäre es wünschenswert, die Verkehrsflusssteuerung eines seriellen Multi-Master-Busses zu verbessern.
-
ZUSAMMENFASSUNG
-
Eine Aufgabe der vorliegenden Erfindung besteht somit im Lösen wenigstens einiger der zuvor beschriebenen Probleme und im Verbessern der Verkehrsflusssteuerung eines Computersystembusses.
-
Gemäß einem ersten Aspekt der Erfindung wird diese Aufgabe durch ein Verfahren in einem Gateway eines Busses, umfassend eine Mehrzahl von Segmenten, zum Lastenausgleich der Verkehrslast für nicht-zyklische Nachrichten zwischen den verschiedenen im Bus enthaltenen Segmenten erfüllt. Das Verfahren umfasst das Ermitteln der entsprechenden Verkehrslast der Segmente des Busses. Das Verfahren umfasst ebenfalls das Berechnen des entsprechenden Verkehrslastunterschieds zwischen der ermittelten entsprechenden Verkehrslast. Ferner umfasst das Verfahren ebenfalls das Ermitteln des größten Verkehrslastunterschieds der berechneten Verkehrslastunterschiede. Das Verfahren umfasst ferner das Vergleichen des ermittelten größten Verkehrslastunterschieds mit einem Schwellengrenzwert. Ferner umfasst das Verfahren ebenfalls das Senden einer Menge von Nachrichten auf dem Segment des Busses mit der niedrigsten ermittelten Verkehrslast mit einer Frequenz auf der Basis des berechneten entsprechenden Verkehrslastunterschieds, wobei die Menge von Nachrichten ein ein erstes Prioritätsniveau, aber nicht ein zweites Prioritätsniveau übersteigendes Prioritätsniveau aufweist. Das Verfahren umfasst ferner das Wiederholen des Verfahrens gemäß den zuvor beschriebenen Verfahrensschritten, bis der ermittelte größte Verkehrslastunterschied kleiner ist als der Schwellengrenzwert für alle Segmente.
-
Gemäß einem zweiten Aspekt der Erfindung wird diese Aufgabe durch ein Gateway eines Busses, umfassend eine Mehrzahl von Segmenten, zum Lastenausgleich der Verkehrslast für nicht-zyklische Nachrichten zwischen den verschiedenen im Bus enthaltenen Segmenten erfüllt. Das Gateway ist zum Ermitteln der entsprechenden Verkehrslast der Segmente des Busses ausgebildet. Ferner ist das Gateway zum Berechnen des entsprechenden Verkehrslastunterschieds zwischen der ermittelten entsprechenden Verkehrslast der Segmente ausgebildet. Das Gateway ist ferner zum Ermitteln des größten Verkehrslastunterschieds der berechneten Verkehrslastunterschiede ausgebildet. Ferner ist das Gateway zum Vergleichen des ermittelten größten Verkehrslastunterschieds mit einem Schwellengrenzwert ausgebildet. Ferner ist das Gateway zum Senden einer Menge von Nachrichten auf dem Segment des Busses mit der niedrigsten ermittelten Verkehrslast mit einer Frequenz auf der Basis des berechneten entsprechenden Verkehrslastunterschieds, wobei die Menge von Nachrichten ein ein erstes Prioritätsniveau, aber nicht ein zweites Prioritätsniveau übersteigendes Prioritätsniveau aufweist, ausgebildet. Das Gateway ist ebenfalls zum Erzeugen von Steuersignalen zum Wiederholen des Verfahrens gemäß dem ersten Aspekt der Erfindung, bis der berechnete Verkehrslastunterschied kleiner ist als der Schwellengrenzwert für alle Segmente, ausgebildet.
-
Durch die beschriebenen Aspekte kann durch Erfassen eines Unterschieds in der Last zwischen verschiedenen Segmenten des Busses, der einen Schwellenwert überschreitet, und Senden von Dummy-Nachrichten auf der niedrig belasteten Seite des Gateways die Buslast dynamisch mit dem Standardregulierungsmechanismus im Bus-Protokoll geregelt werden. Die Folge ist ein kleinerer Unterschied in der Verkehrslast zwischen verschiedenen Bussegmenten, was bedeutet, dass das Gateway nicht mehr verstopft und keine oder wenigstens weniger Nachrichten verloren gehen.
-
Weitere Vorteile und zusätzliche neuartige Merkmale gehen aus der folgenden ausführlichen Beschreibung hervor.
-
Figurenliste
-
Nachfolgend sind Ausführungsformen der Erfindung ausführlich in Bezug auf die beigefügten Figuren beschrieben.
- 1A zeigt einen Bus und ein Gateway gemäß einer Ausführungsform der Erfindung.
- 1B zeigt einen Bus und ein Gateway gemäß einer Ausführungsform der Erfindung.
- 2 zeigt ein kombiniertes Signalgebungsschema und -fließbild zur Darstellung der Signalübertragung gemäß einigen Ausführungsformen.
- 3 zeigt ein Fließbild zur Darstellung einer Ausführungsform des Verfahrens.
- 4 zeigt eine Darstellung eines Systems gemäß einer Ausführungsform.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ausführungsformen der Erfindung wie hier beschrieben sind als ein Verfahren und Gateway definiert, die in den nachfolgend beschriebenen Ausführungsformen umgesetzt werden können. Diese Ausführungsformen können in vielen verschiedenen Formen ausgeführt und realisiert werden und sind nicht auf die hier beschriebenen Beispiele beschränkt. Diese illustrativen Beispiele von Ausführungsformen dienen in erster Linie zur Vervollständigung der vorliegenden Offenbarung.
-
Weitere Aufgaben und Merkmale gehen gegebenenfalls aus der folgenden ausführlichen Beschreibung in Bezug auf die beigefügten Zeichnungen hervor. Die Zeichnungen dienen ausschließlich dem Zwecke der Illustration und nicht als eine Definition der Grenzen der hier offenbarten Ausführungsformen, für die auf die beigefügten Ansprüche verwiesen wird. Ferner sind die Zeichnungen nicht notwendigerweise maßstabsgetreu und sie dienen ausschließlich zum konzeptionellen Darstellen der hier beschriebenen Strukturen und Verfahren.
-
1A zeigt einen Bus 100. Der Bus 100 kann ein serieller Multi-Master-Bus, beispielsweise ein Controller-Area-Network-(CAN-)Bus, ein Media-Oriented-Systems-Transport-(MOST-)Bus o. Ä., in einem Fahrzeug sein. Der Bus 100 umfasst eine Mehrzahl von Segmenten, wie beispielsweise ein erstes Segment 101 und ein zweites Segment 102.
-
Im nicht beschränkenden dargestellten Beispiel des Busses 100 erstreckt sich das erste Segment 101 des Busses 100 von einem ersten Knoten 110 und einem Gateway 130, während sich das zweite Segment 102 des Busses 100 von einem zweiten Knoten 120 und dem Gateway 130 erstreckt. Die Knoten 110, 120 können ebenfalls als elektronische Steuereinheiten bezeichnet werden. Die mit dem Bus 100 verbundene Knoten 110, 120 können typischerweise beispielsweise Sensoren, Stellglieder und andere Steuergeräte des Fahrzeugs umfassen. Diese Geräte können mit dem Bus 100 durch einen Hostprozessor, ein Steuergerät und einen Sender/Empfänger verbunden sein. Beliebige der Knoten 110, 120 können jedoch auch ein Gateway in einigen Ausführungsformen sein, das einem Computer ermöglicht, über beispielsweise einem Universal-Serial-Bus-(USB-) oder Ethernet-Anschluss mit den Knoten 110, 120 im Bus 100 zu kommunizieren. Die Kommunikation über die Segmente 101, 102 des Busses 100 kann verdrahtet oder drahtlos in verschiedenen Ausführungsformen erfolgen.
-
Die Verkehrslast auf den entsprechenden Segmenten 101, 102 des Busses 100 kann sehr unterschiedlich sein, beispielsweise wenn nicht-zyklische Nachrichten etwa zur Diagnose über den Bus 100 übertragen werden.
-
Zum Regeln des Verkehrs überwacht das Gateway 130 die Last der verbundenen Bussegmente 101, 102. Wenn der Lastunterschied zwischen Bussegmenten 101, 102 einen Schwellengrenzwert überschreitet und die Puffer anfangen sich zu füllen, beginnt das Gateway 130 mit dem Aussenden von Dummy-Nachrichten auf den Bussegmenten 101, 102 mit der niedrigsten Last, um die Last von diesem Bussegment 101, 102 zu erhöhen.
-
Der Ausdruck „Dummy-Nachricht“ wie hier verwendet bezeichnet eine beliebige Nachricht, die keine gültigen Daten enthält. Die Priorität der vom Gateway 130 übertragenen Dummy-Nachricht ist höher als die nicht-zyklischen Nachrichten, aber niedriger als die zyklischen Funktionsnachrichten.
-
Da die Dummy-Nachrichten eine höhere Priorität haben als die nicht-zyklischen Nachrichten, verringert eine größere Zahl von Dummy-Nachrichten die Zahl von nicht-zyklischen Nachrichten aufgrund eines Mechanismus, bezeichnet als Arbitrierung, die eine Eigenschaft von beispielsweise dem CAN-Protokoll ist; nähere Hinweise siehe International Organisation for Standardisation (ISO) 11898.
-
Das CAN-Kommunikationsprotokoll ist ein Carrier-Sense-Multiple-Access-Protokoll mit Kollisionserfassung und Arbitrierung nach der Nachrichtenpriorität (CSMA/CD+AMP) in einigen Ausführungsformen. CSMA bedeutet, dass jeder Knoten 110, 120 im Bus 100 einen vorgeschriebenen Zeitraum der Inaktivität warten muss, bevor er versuchen kann, eine Nachricht zu senden. CD+AMP bedeutet, dass Kollisionen durch eine bitweise Arbitrierung auf der Basis einer vorprogrammierten Priorität von jeder Nachricht im Identifizierfeld einer Nachricht gelöst werden. Der Identifizierer mit der höheren Priorität gewinnt immer den Buszugang. Das heißt das letzte logische Low, das heißt 0, im Identifizierer fährt mit dem Übertragen fort, weil es die höchste Priorität ist. Da jeder Knoten 110, 120 im Bus 100 am Schreiben von jedem Bit, „wie es geschrieben wird“, teilnimmt, weiß ein arbitrierender Knoten 110, 120, ob es das logische Low-Bit auf dem Bus 100 gesetzt hat.
-
Durch die offenbarte Lösung kann die Buslast mit dem Standardregelmechanismus in beispielsweise dem CAN-Protokoll dynamisch geregelt werden. Die Folge der hier beschriebenen Lösung besteht in einem geringeren Unterschied in der Last in nicht-zyklischen Nachrichten zwischen den Bussegmenten 101, 102, was bedeutet, dass das Gateway 130 nicht mehr verstopft und keine oder wenigstens weniger Nachrichten verlorengehen als bei herkömmlichen Verfahren.
-
Dies stellt insbesondere bei modularen Fahrzeugen einen Vorteil dar, wenn das modulare System das Berechnen der Buslast vorab erschwert.
-
1B zeigt eine weitere Ausführungsform eines Busses 100 umfassend eine Mehrzahl von Segmenten 101, 102, 103, 104, 105, 106, 107, 10n, die mit einem Gateway 130 verbunden sind.
-
Der Bus 100 kann eine beliebige Zahl von Segmenten 101, 102, ..., 10n in einigen Ausführungsformen umfassen.
-
2 zeigt schematisch die Signalgebung in den verschiedenen Bussegmenten 101, 102 des Busses 100. Im dargestellten nicht beschränkenden Beispiel überträgt der erste Knoten 110 eine erste Verkehrslast 201 über dem ersten Segment 101 des Busses 100, während der zweite Knoten 120 eine zweite Verkehrslast 202 über dem zweiten Segment 102 des Busses 100 überträgt. In einem allgemeinen Fall kann aber 2 beliebige zwei Netzwerksegmente 101-10n darstellen.
-
Die entsprechenden Verkehrslasten 201, 202 werden gemessen und ermittelt. Anschließend wird der Unterschied zwischen der ersten Verkehrslast 201 und der zweiten Verkehrslast 202 mit einer vorgegebenen oder konfigurierbaren Schwellengrenze verglichen. Im dargestellten Beispiel ist die erste Verkehrslast 201 auf dem ersten Segment 101 wesentlich größer als die zweite Verkehrslast 202 auf dem zweiten Segment 102.
-
Die erste Verkehrslast 201 des ersten Segments 101 und die zweite Verkehrslast 202 des zweiten Segments 102 des Busses 100 können jeweils auf der Basis eines entsprechenden Inhalts eines ersten Empfangspuffers des Gateways 130, verknüpft mit dem ersten Segment 101, und eines zweiten Empfangspuffers des Gateways 130, verknüpft mit dem zweiten Segment 102, in einigen Ausführungsformen ermittelt werden.
-
Wenn der Unterschied zwischen den entsprechenden Verkehrslasten 201, 202 die Schwellengrenze überschreitet, beginnt das Gateway 130 mit dem Senden einer Menge von Nachrichten 210, das heißt Dummy-Nachrichten, auf dem zweiten Segment 102 des Busses 100, das die niedrigste Verkehrslast 202 aufweist.
-
Die Menge von Nachrichten 210 kann ein Prioritätsnivau aufweisen, das ein erstes Prioritätsniveau übersteigt, aber nicht ein zweites Prioritätsniveau übersteigt. Das Prioritätsniveau kann somit auf einen höheren Wert als nicht-zyklische Nachrichten (das heißt das erste Prioritätsniveau), aber niedriger als zyklische Nachrichten (das heißt das zweite Prioritätsniveau) festgelegt sein.
-
Da die vom Gateway 130 gesendete Menge von Nachrichten 210 eine höhere Priorität aufweist als die nicht-zyklischen Nachrichten, verringert eine größere Zahl von Dummy-Nachrichten 210 die Zahl von nicht-zyklischen Nachrichten durch Arbitrierung.
-
Das Gateway 130 wiederholt die Messung der Verkehrslast 201, 202 auf den entsprechenden Bussegmenten 101, 102, die Berechnung des Unterschieds zwischen den Verkehrslasten 201, 202, 35 und den Vergleich zwischen dem berechneten Verkehrslastunterschied und der Schwellengrenze, bis der berechnete Verkehrslastunterschied niedriger ist als der Schwellengrenzwert. Wenn der Verkehrslastunterschied niedriger ist als der Schwellengrenzwert, ist das Gateway 130 oder ein beliebiger seiner Puffer nicht mehr verstopft.
-
Wenn der Verkehrslastunterschied niedriger ist als der Schwellengrenzwert, stoppt das Gateway 130 das Senden von Dummy-Nachrichten 210.
-
Diese Schritte können anschließend in einigen Ausführungsformen wiederholt werden, das heißt die entsprechende Verkehrslast 201, 202 auf den entsprechenden Bussegmenten 101, 102 kann kontinuierlich gemessen werden und der Unterschied zwischen diesen kann wiederholt berechnet und mit der Schwellengrenze verglichen werden.
-
3 zeigt ein Beispiel eines Verfahrens 300 gemäß einer Ausführungsform. Das Fließbild in 3 zeigt das Verfahren 300 in einem Gateway 130 eines Busses 100 umfassend eine Vielzahl von Segmenten 101, 102, ..., 10n. Das Verfahren 300 dient zum Lastenausgleich der Verkehrslast für nicht-zyklische Nachrichten zwischen den verschiedenen im Bus 100 enthaltenen Segmenten 101, 102, ..., 10n.
-
Der Bus 100 kann ein serieller Multi-Master-Bus in einem Fahrzeug, beispielsweise einem modularen Fahrzeug, sein.
-
Das Fahrzeug kann ein Mittel zur Beförderung im weitesten Sinne wie beispielsweise einen Lastwagen, ein Auto, ein Motorrad, einen Anhänger, einen Bus, ein Fahrrad, einen Zug, eine Tram, ein Flugzeug, ein Wasserfahrzeug, eine Seilbahn, eine Luftseilbahn, einen Aufzug, eine Drohne, ein Raumfahrzeug oder ein anderes bemanntes oder unbemanntes (autonom gesteuertes oder ferngesteuertes) Mittel zum Transport, das sich beispielsweise auf Rädern, Schienen, in der Luft, im Wasser oder auf/in ähnlichen Medien bewegt, umfassen.
-
Um den Lastenausgleich zwischen den verschiedenen Bussegmenten 101, 102, ..., 10n ordnungsgemäß durchführen zu können, kann das Verfahren 300 eine Zahl von Schritten 301-306 umfassen. Einige dieser Schritte 301-306 können aber auf verschiedene alternative Weisen durchgeführt werden. Ferner können die beschriebenen Schritte 301-306 in einer anderen chronologischen Reihenfolge durchgeführt werden, als die Nummerierung angibt. Das Verfahren 300 kann die folgenden Schritte umfassen:
-
Schritt 301 umfasst das Ermitteln einer entsprechenden Verkehrslast 201, 202 der Segmente 101, 102, ..., 10n des Busses 100.
-
Die Verkehrslast 201, 202 von jedem Segment 101, 102, ..., 10n kann auf der Basis eines entsprechenden Inhalts eines Empfangspuffers des Gateways 130, verknüpft mit dem entsprechenden Segment 101, 102, ..., 10n, ermittelt werden.
-
Schritt 302 umfasst das Berechnen eines entsprechenden Verkehrslastunterschieds zwischen den ermittelten 301 entsprechenden Verkehrslasten 201, 202.
-
Der Verkehrslastunterschied kann durch Abziehen der ermittelten 301 ersten Verkehrslast 201 von der zweiten Verkehrslast 202 oder umgekehrt berechnet werden. Der Verkehrslastunterschied kann somit ein absoluter Wert oder Modul sein. Dies kann anschließend für Verkehrslasten 201, 202 auf allen Segmenten 101, 102, ..., 10n des Busses 100 wiederholt werden.
-
Schritt 303 umfasst das Ermitteln des größten Verkehrslastunterschieds der berechneten 302 Verkehrslastunterschiede zwischen den ermittelten 301 entsprechenden Verkehrslasten 201, 202. Der größte Verkehrslastunterschied kann durch Vergleichen der absoluten Werte der Verkehrslasten 201, 202 auf allen Segmenten 101, 102, ..., 10n des Busses 100 ermittelt werden.
-
Schritt 304 umfasst das Vergleichen des ermittelten 303 größten Verkehrslastunterschieds mit einem Schwellengrenzwert.
-
Der Schwellengrenzwert kann vorgegeben oder konfigurierbar sein.
-
Schritt 305 umfasst das Senden einer Menge von Nachrichten 210 auf dem Segment 101, 102, ..., 10n des Busses 100 mit der niedrigsten ermittelten 301 Verkehrslast 201, 202 mit einer Frequenz auf der Basis des berechneten 302 entsprechenden Verkehrslastunterschieds, wobei die Menge von Nachrichten 210 ein das erste Prioritätsniveau der nicht-zyklischen Nachrichten übersteigendes, aber nicht ein zweites Prioritätsniveau übersteigendes Prioritätsniveau aufweist.
-
Das Segment 101, 102, ..., 10n mit der niedrigsten ermittelten 301 Verkehrslast 201, 202 weist somit den ermittelten 303 größten Verkehrslastunterschied zur Verkehrslast auf dem Segment 101, 102, ..., 10n mit der höchsten ermittelten 301 Verkehrslast 201, 202 auf.
-
Somit kann in einigen Ausführungsformen die Frequenz, das heißt die Zahl von Nachrichten pro Zeiteinheit, der zu sendenden Nachrichten 210 hoch sein, wenn der ermittelte 303 größte Verkehrslastunterschied hoch ist, das heißt einen Schwellengrenzwert überschreitet, und umgekehrt.
-
In einigen Ausführungsformen kann die Frequenz auf der Basis des Unterschieds zwischen der maximalen oder größten Verkehrslast von einem beliebigen Segment 101, 102, ..., 10n im Bus 100 und der minimalen oder niedrigsten Verkehrslast von einem beliebigen Segment 101, 102, ..., 10n im Bus 100 angepasst werden.
-
Die Menge von zu sendenden Nachrichten 210 weist ein Prioritätsnivau auf, das ein erstes Prioritätsniveau von nicht-zyklischen Nachrichten übersteigt, aber nicht ein zweites Prioritätsniveau von zyklischen Nachrichten übersteigt.
-
Die Menge von zu sendenden Nachrichten 210 kann eine Dummy-Nachricht sein, das heißt eine Nachricht mit einem sinnfreien Inhalt oder unschädlichen Informationen, die keine nützlichen Daten enthalten. Somit wird die Menge von zu sendenden Nachrichten 210 zum Lastenausgleich verwendet und sie enthält beliebige Daten.
-
Schritt 306 umfasst das Wiederholen des Verfahrens 300 gemäß Schritt 301-305, bis der ermittelte 303 größte Verkehrslastunterschied kleiner ist als der Schwellengrenzwert für alle Segmente 101, 102, ..., 10n.
-
Somit können Nachrichten 210 gesendet werden 305, bis der Unterschied zwischen den Segmenten 101, 102, ..., 10n des Busses 100 mit der niedrigsten und höchsten Verkehrslast jeweils ausgeglichen ist.
-
Dadurch können die Verkehrslasten 201, 202 der verschiedenen Segmente 101, 102, ..., 10n des Busses 100 kontinuierlich überwacht werden und es kann ein Pufferüberlauf im Gateway 130 vermieden werden.
-
4 zeigt eine Ausführungsform eines Busses 100 umfassend eine Mehrzahl von Segmenten 101, 102, ..., 10n. Der Bus 100 umfasst ebenfalls ein Gateway 130, ausgebildet zum Ausführen von wenigstens einigen der zuvor beschriebenen Schritte 301-306 gemäß dem zuvor beschriebenen und in 3 dargestellten Verfahren 300 zum Lastenausgleich der Verkehrslast 201, 202 für nicht-zyklische Nachrichten zwischen den entsprechenden Segmenten 101, 102, ..., 10n des Busses 100.
-
Das Gateway 130 des Busses 100 ist zum Ermitteln der entsprechenden Verkehrslast 201, 202 der Segmente 101, 102, ..., 10n des Busses 100 ausgebildet. Ferner ist das Gateway 130 zum Berechnen des entsprechenden Verkehrslastunterschieds zwischen der ermittelten entsprechenden Verkehrslast 201, 202 der Segmente 101, 102, ..., 10n ausgebildet. Das Gateway 130 ist ferner zum Ermitteln des größten Verkehrslastunterschieds der berechneten Verkehrslastunterschiede ausgebildet. Ferner ist das Gateway 130 ebenfalls zum Vergleichen des ermittelten größten Verkehrslastunterschieds mit einem Schwellengrenzwert ausgebildet. Das Gateway 130 ist ferner zum Senden einer Menge von Nachrichten 210 auf dem Segment 101, 102, ..., 10n des Busses 100 mit der niedrigsten ermittelten Verkehrslast 201, 202 mit einer Frequenz auf der Basis des berechneten entsprechenden Verkehrslastunterschieds, wobei die Menge von Nachrichten 210 ein das erste Prioritätsniveau der nicht-zyklischen Nachrichten übersteigendes, aber nicht ein zweites Prioritätsniveau übersteigendes Prioritätsniveau aufweist, ausgebildet. Das Gateway 130 ist ebenfalls zum Erzeugen von Steuersignalen zum Wiederholen des Verfahrens 300 gemäß Schritt 301-306, bis der berechnete Verkehrslastunterschied kleiner ist als der Schwellengrenzwert für alle Segmente, ausgebildet.
-
Das Gateway 130 kann in einigen Ausführungsformen zum Senden der Nachricht 210, wobei die Nachricht 210 zum Lastenausgleich verwendet wird und beliebige Daten enthält, ausgebildet sein.
-
Das Gateway 130 kann ferner zum Senden der Nachricht 210 mit einem Prioritätsnivau, das ein erstes Prioritätsniveau von nicht-zyklischen Nachrichten übersteigt, aber nicht ein zweites Prioritätsniveau von zyklischen Nachrichten übersteigt, ausgebildet sein. Ferner kann das Gateway 130 ebenfalls zum Senden von Dummy-Nachrichten 210 ausgebildet sein.
-
Das Gateway 130 kann einen ersten Puffer 410 zum Empfangen von Signalen und Nachrichten über ein erstes Segment 101 von einem ersten Knoten 110 und einen zweiten Puffer 420 zum Empfangen von Signalen und Nachrichten über ein zweites Segment 102 von einem zweiten Knoten 110 in einigen Ausführungsformen umfassen. Allgemein kann das Gateway 130 einen Puffer entsprechend jedem Segment 101, 102, ..., 10n des Busses 100 in einigen Ausführungsformen umfassen.
-
Ferner umfasst das Gateway 130 einen zum Ausführen von wenigstens einigen Schritten 301-306 des zuvor beschriebenen Verfahrens 300 ausgebildeten Prozessor 430 gemäß einigen Ausführungsformen.
-
Solch ein Prozessor 430 kann eine oder mehrere Exemplare einer Verarbeitungsschaltung umfassen, das heißt eine Central Processing Unit (CPU), eine Verarbeitungseinheit, eine Verarbeitungsschaltung, eine anwendungsspezifische integrierte Schaltung (Application Specific Integrated Circuit, ASIC), einen Mikroprozessor oder eine andere Verarbeitungslogik, die Anweisungen interpretieren und ausführen kann. Der hier verwendete Ausdruck „Prozessor“ kann somit eine Verarbeitungsschaltung umfassend eine Mehrzahl von Verarbeitungsschaltungen darstellen wie etwa beliebige, einige oder alle der zuvor genannten.
-
Ferner kann das Gateway 130 in einigen Ausführungsformen einen Signalsender 440 umfassen. Der Signalsender 440 kann zum Senden eines Signals an verschiedene Segmente 101, 102, ..., 10n des Busses 100 ausgebildet sein.
-
Ferner kann das Gateway 130 in einigen Ausführungsformen einen Speicher 450 umfassen. Der optionale Speicher 450 kann eine physikalische Vorrichtung zum vorübergehenden oder dauerhaften Speichern von Daten oder Programmen, das heißt Folgen von Anweisungen, umfassen. Gemäß einigen Ausführungsformen kann der Speicher 450 integrierte Schaltungen umfassend siliciumbasierte Transistoren umfassen. Der Speicher 450 kann beispielsweise eine Speicherkarte, einen Flash-Speicher, einen USB-Speicher, eine Festplatte oder eine andere ähnliche flüchtige oder nichtflüchtige Speichereinheit zum Speichern von Daten wie beispielsweise ROM (Read-Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM) usw. in verschiedenen Ausführungsformen umfassen.
-
Die zuvor beschriebenen Verfahrensschritte 301-508 zum Ausführen im Gateway 130 können durch den einen oder die mehreren Prozessoren 430 des Gateway 130 zusammen mit einem zum Ausführen von wenigstens einigen der Funktionen der Verfahrensschritte 301-306 ausgeführt werden. Somit kann ein Computerprogramm umfassend Anweisungen zum Ausführen der Verfahrensschritte 301-306 im Gateway 130 das Verfahren 300 zum Lastenausgleich der Verkehrslast für zyklische Nachrichten in den verschiedenen Segmenten 101, 102, ..., 10n des Busses 100, enthalten im Bus 100, ausführen, wenn das Computerprogramm im Prozessor 430 im Gateway 130 ausgeführt wird.
-
Das zuvor beschriebene Computerprogramm kann beispielsweise in der Form eines Computerprogrammcode tragenden Datenträgers zum Durchführen wenigstens einiger der Verfahrensschritte 301-306 gemäß einigen Ausführungsformen beim Laden in den einen oder die mehreren Prozessoren 430 des Gateways 130 bereitgestellt werden. Der Datenträger kann beispielsweise eine Festplatte, eine CD-ROM, eine optische Speichervorrichtung, eine magnetische Speichervorrichtung oder ein beliebiges anderes geeignetes Medium wie eine Disk oder ein Band, das maschinenlesbare Daten in einer nichtflüchtigen Weise speichern kann, sein. Das Computerprogrammprodukt kann ferner als Computerprogrammcode auf einem Server bereitgestellt und remote auf das Gateway 130 beispielsweise über eine Internet- oder Intranet-Verbindung heruntergeladen werden.
-
Die in der Beschreibung der Ausführungsformen wie in den beigefügten Zeichnungen dargestellt verwendete Terminologie soll das Verfahren 300, das Gateway 130, das Computerprogramm und/oder den Bus 100 wie beschrieben nicht einschränken. Es können verschiedene Austäusche und/oder Änderungen durchgeführt werden, ohne von den Erfindungsausführungsformen wie in den beigefügten Ansprüchen definiert abzuweichen.
-
In der hier vorliegenden Verwendung umfasst „und/oder“ beliebige und alle Kombinationen von einem oder mehreren der entsprechenden aufgeführten Elemente. Der Begriff „oder“ wie hier verwendet ist als ein mathematisches ODER zu verstehen, das heißt als eine inklusive Disjunktion, und nicht als ein mathematisches exklusives ODER (XODER), es sei denn es ist ausdrücklich anders angegeben. Ferner sind die Singularformen „ein“, „eine“, „einer“ und „der“, „die“, „das“ als „wenigstens ein/eine/einer“ zu verstehen und somit ebenfalls möglicherweise eine Vielzahl von Elementen der gleichen Art umfassend, es sei denn es ist ausdrücklich anders angegeben. Es ist ferner davon auszugehen, dass die Begriffe „umfasst“ und/oder „umfassend“ das Vorhandensein von genannten Merkmalen, Aktionen, Ganzzahlen, Schritten, Vorgängen, Elementen und/oder Komponenten bezeichnen, aber nicht das Vorhandensein oder Hinzufügen von einem oder mehreren weiteren Merkmalen, Aktionen, Ganzzahlen, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen hiervon ausschließen. Eine einzelne Einheit wie beispielsweise ein Prozessor kann die Funktionen von mehreren in den Ansprüchen genannten Elementen erfüllen. Die bloße Tatsache, dass bestimmte Maßnahmen in verschiedenen abhängigen Ansprüchen genannt sind, weist nicht darauf hin, dass eine Kombination von diesen Maßnahmen nicht in vorteilhafter Weise verwendet werden kann. Ein Computerprogramm kann auf einem geeigneten Medium wie einem optischen Speichermedium oder einem Solid-State-Medium gespeichert/verteilt werden, das zusammen mit oder als Teil einer anderen Hardware bereitgestellt wird, kann aber ebenfalls in anderen Formen wie etwa über das Internet oder ein anderes verdrahtetes oder drahtloses Kommunikationssystem verteilt werden.
-
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
-
- US 2008010702 [0007]
- US 2002065973 [0007]
- WO 200171991 [0009]
- US 20050060442 [0009]