Beschreibung
Verfahren zur dynamischen Konfiguration von Sensoren und Steuergeräten in einem Ethernetnetzwerk
FELD
Die vorliegende Erfindung betrifft ein Verfahren zur dynamischenKonfiguration von Sensoren und Steuergeräten in einem Ethernetnetzwerk in einem Kraftfahrzeug, ein Steuergerät und ein Ethernet-Bordnetzwerk
STAND DER TECHNIK
Mit 10 Mbit/s (IEEE802.3ch) wird neben 100 Mbit/s; 1000 Mbit/s und den laufenden Multi-Gigabit-Standardisierungen ein weiterer Ethernet-Standard für Automotive Anwendungen zur Verfügung stehen.
Eine Variante des neuen Standards ist der auf CSMA/CD basierende MultiDrop-Modus. Dieser unterscheidet sich deutlich von den anderen Ethernet-Varianten (>10 Mbit/s), da mit diesem das Ziel verfolgt wird Ethernet kostengünstiger auslegen zu können und damit auch einfachere Steuergeräte zu adressieren. Dieser Standard benötigt keine Switches (Switch ICs) sondern wird als Bus (ähnlich zum CAN) ausgelegt. Dadurch halbiert sich ca. die Anzahl der notwendigen PHYs (Transceiver). Somit wird Ethernet eine ernsthafte Konkurrenz zu CAN/CAN-FD und FlexRay, da hiermit die Systemkosten deutlich gesenkt werden. Weiterhin sind auch typische Automotive-Schnittstellen wie SPI statt xMII zur Kommunikation zwischen Controllern und Physical Transceivern (PHYs) möglich.
Fig.1 stellt die wesentlichen Merkmale von Switched Ethernet und dem „Bus-Ethernet“ (MultiDrop) wie es im IEEE-Standard IEEE P802.3cg definiert wird gegenüber. Der wichtigste Unterschied ist dabei, dass die Ressourcen, der Buszugriff, bei Switched Ethernet exklusiv zur Verfügung stehen, was bedeutet das
jeder Ethernet-Knoten (ECU) jederzeit senden darf, ohne dass dabei Kollisionen auftreten. Beim der neuen Ethernet Bus-Umsetzung mit Multi-Drop-Mode wird ein geteiltes Medium („shared media“) verwendet, d.h. es muss mit dem Buszugriff gewartet werden bis diese Ressource zur Verfügung steht.
Der Standard IEEE P802.3cg verwendet unter anderem einen neu definierten Mechanismus (PLCA - Physical Layer Collision Avoidance), um Kollisionen beim Buszugriff zu vermeiden und einen fairen Zugriff zu realisieren. Dabei erhält immer nur genau ein PHY (Physical Transceiver) zu genau einem Zeitpunkt Zugriff auf den Bus. Hierdurch kann es nicht zu Kollisionen kommen. Der Zugriff wird nach einem sog. Round Robin-Verfahren gestaltet. Jede ECU (Knoten) am Bus bekommt die Möglichkeit einmal innerhalb eines definierten Zyklus bzw. Reihenfolge zu senden.
Ein sogenannter Headnode, der die Funktion eines Netzwerkcontrollers übernimmt, bestimmt dabei den Zyklus und sendet wiederkehrend „Beacons“ auf dem Bus.
Damit starten die Knoten in Abhängigkeit ihrer vorher definierten Identität ID, die bestimmt die Reihenfolgen wann Sie senden dürfen, einen Timer und nach Ablauf dessen und der Erkennung, dass Sie an der Reihe sind, dürfen Sie senden.
Fig. 2 stellt den prinzipiellen Ablauf der Kommunikation am Ethernet-Bus. Nach Aussendung des Beacons ist erst Knoten 0 an der Reihe und wenn dieser seine Übertragung beendet hat darf der nächste Knoten senden (typischerweise darf im Slot jeweils nur ein einzelner Ethernet-Frame gesendet werden).
Fig. 3 stellt die physische Darstellung des Ethernet-Busses mit Stubs dar.
EP 2 585 940 A1 beschreibt ein Systeme und Verfahren zum Planen der Netzwerkkommunikation in einem verwalteten Netzwerk können einen Netzwerkcontroller umfassen, der mehrere Netzwerkknoten erkennt; der Netzwerkcontroller klassifiziert die erkannten Netzwerkknoten in zwei oder mehr Klassifikationen von Knoten zur Priorisierung der Netzwerkkommunikation auf Knotenebene; den Netzwerkcontroller, der Reservierungsanforderungen von mindestens einem Teil der Vielzahl von Netzwerkknoten empfängt, wobei die
Reservierungsanforderungen einen oder mehrere Zeitschlitze für ihre jeweiligen Netzwerkknoten in einem bevorstehenden Kommunikationsfenster anfordern; und die Netzwerksteuerung weist einem oder mehreren Netzwerkknoten als Antwort auf Reservierungsanforderungen Zeitschlitze in dem bevorstehenden Kommunikationsfenster zu, wobei die Zuweisung auf einer Priorität der Netzwerkknoten basiert und wobei die Priorität den Knoten gemäß ihrer Klassifizierung zugewiesen wird. Diese Patentanmeldung beschreibt, dass ein Netwerkcontroller für einen zyklischen Media Access Plan (MAP) erstellt, in dem die Zugriffe der Netzwerkknoten in jedem Zyklus festgelegt werden. Basis ist die erforderliche Dienstgüte, die Reservierungsanfragen der jeweiligen Knoten sowie deren Priorität/Unterpriorität, aus denen der Netwerkcontroller den MAP erstellt. Der Netwerkcontroller kann auch ohne Reservierungsanfragen selbsttätig MAP-Nachrichten versenden.
US 2005 213 503 A1 führt in Übereinstimmung mit bestimmten beschriebenen Implementierungen eine koordinierende Vorrichtung Bandbreitenzuweisungsprozeduren basierend auf Informationen aus zuvor nicht erfüllten Bandbreitenzuweisungsanforderungen durch und reagiert auf aktuelle Bandbreitenzuweisungsanforderungen. Die aktuellen Bandbreitenzuweisungsanforderungen legen die aktuell angeforderten Bandbreitenbeträge für mehrere Streams fest, und die aktuellen Bandbreitenzuweisungsanforderungen können von mehreren Entitäten mit mehreren Streams empfangen werden. Die Informationen aus zuvor nicht erfüllten Bandbreitenzuweisungsanforderungen werden berücksichtigt, wenn die verfügbare Bandbreite zwischen den mehreren Streams und mehreren Entitäten für die aktuell angeforderten Bandbreitenbeträge zugewiesen wird. Bei Planung des Buszugriffs der Netzknoten wird vom Headnode die 'nichtbediente' Zugriffsreservierung aus dem vorhergehenden Zyklus mitberücksichtigt.
WO 2019 014 754 A1 offenbart ein konfigurierbares Verwaltungssystem für ein Fahrzeug beinhaltet eine Empfangseinheit, die angepasst ist, um eine Nachricht, die einer Fahrzeugressource zugeordnet ist, von einem Kommunikationsnetzwerk des Fahrzeugs zu empfangen. Eine Steuereinheit ist dazu ausgelegt, eine der
empfangenen Nachricht zugeordnete Fahrzeugressource zu bestimmen. Eine Integrationseinheit umfasst ein externes Netzwerk, das mit der Steuereinheit verbunden ist, und die Integrationseinheit umfasst mindestens einen Knoten, wobei der mindestens eine Knoten konfiguriert ist, um eine externe Nachricht über das externe Netzwerk an die Steuereinheit zu senden. Die Steuereinheit wandelt die externe Nachricht in eine geeignete Nachricht um, die an die Fahrzeugressource gesendet wird.
WO 2019 160 569 A1 beschreibt Systeme und Verfahren zum Betreiben von elektronischen Steuereinheiten (ECUs) über mehrere ECU-Domänen in einer Kraftfahrzeugkonfiguration. Ein erster Umgebungssensor für ein fortschrittliches Fahrerassistenzsystem (ADAS) kann eine erste Ausgabe erzeugen. Ein Sensorkonnektivitätsschalter kann die erste Ausgabe an eine erste ECU in einer der Nicht-ADAS-Domänen leiten, um eine zweite Ausgabe zu erzeugen. Jede der Nicht-ADAS-Domänen kann mindestens eine ECU umfassen. Eine zweite ECU in einer Domäne für ADAS kann den zweiten Ausgang verwenden, um einen ADAS-Betrieb oder autonomes Fahren in Fahrzeugumgebungen durchzuführen.
Im Gegensatz zu einem Switched Netzwerk (wie bei 100/1000... Mbit/s) kann mit 10Mbit/s, wie beschrieben, nicht sofort auf den Bus zugegriffen werden, sondern es muss der jeweilige Zeitpunkt abgewartet werden.
Teilnetzbetrieb (aka Sleep/Wakeup) wird eine immer wichtigere Funktion für das Automobil und bspw. auch für den Ethernet-Bus. Dabei werden Steuergeräte bei Bedarf (auch über den Bus) aufgeweckt oder schlafen gelegt, um bspw. Energie einzusparen oder sie initial zu starten.
Der 10Mbit-Bus bietet im Vergleich zu anderen Ethernet-Typen deutlich weniger Datenrate, weshalb hier speziell auf Effizienz der Datenübertragung und der Latenz der Übertragung resp. auch der Zugriffszeit geachtet werden muss. Wenn auch noch Security ein Teil des 10Mbit/s Systems wird, dann bleibt kaum noch Datenrate für Nutzdaten übrig, wie es ähnlich zu den aktuellen CAN-FD-Implementierungen der Fall ist.
Mit der Funktion Teilnetzbetriebs muss man sich zusätzlich Gedanken über die Zugriffszeiten und die Effizienz des Busses machen, da dies ein neues Szenario ist, welches im Standard nicht betrachtet wurde.
Im Gegensatz zu einem Switched Netzwerk (wie bei 100/1000... Mbit/s) kann mit 10 Mbit/s, wie beschrieben, nicht sofort auf den Bus zugegriffen werden, sondern es muss der jeweils eigene Sende-Zeitpunkt abgewartet werden. Automotive 10 Mbit/s bzw. 802.3cg PLCA funktioniert nicht mittels Plug and Play wie „normales“ Ethernet. Jeder Knoten muss mit einer speziellen ID (Rangfolge) konfiguriert sein. Diese muss einmalig am Bus sein und auch abgestimmt sein. Die ID kann nicht wahllos vergeben werden und auch nicht ohne Änderung der anderen IDs verändert werden.
Zudem gibt es heute keine Möglichkeit einer automatischen Konfiguration. Es wird eine manuelle Konfiguration benötigt werden, welche fehleranfälliger ist, mehr Zeit beim Flashen in Anspruch nimmer, mehr Geld kostet, mehr Zeit beim Konfigurieren kostet für den Fahrzeughersteller, nicht änderbar ist, wenn es im System Änderungen gibt und unflexibel für das Variantenmanagement ist.
Der Headnode wird entweder in einer Head-Unit, einem Gateway, einer Fusionseinheit oder generell in einem Zonencontroller implementiert sein, also üblicherweise genau auf dem Steuergerät, von dem auch Updates oder Diagnoseabfragen ausgehen.
Bekannt ist einen sogenannten Burstmode einzusetzen, bei dem Knoten max. 255 Pakete während ihres Zyklus schicken können, jedoch ist dieser Modus statisch vor zu konfigurieren und beizubehalten.
Mit dem teilautomatisierten und hochautomatisierten Fahren kommen zunehmend Anforderungen ins Fahrzeug die vom Übertragungsnetzwerk und den Protokollen harte Echtzeitunterstützung verlangen, wie es heute schon im Flugzeug oder der Industrieautomatisierung zu erfüllen gilt.
Weiterhin wird ein Bordnetz in Zukunft viel flexibler als heute sein. Knoten werden abgeschaltet, während des Betriebes, wenn sie nicht benötigt werden (dies wird auch Teilnetzbetrieb oder Partial Networking genannt). Das wiederum bedeutet, dass sich das Bordnetz dynamisch zur Laufzeit sehr stark ändern wird. Die Nachteile der manuellen Konfiguration und damit der spezifischen Software soll damit behoben werden. Plattformabhängige Software ist teuer und kann zudem schwerer verkauft werden. Weiterhin wird ein Bordnetz in Zukunft viel flexibler als heute sein. Sensoren und Steuergeräte werden in Zukunft ad hoc hinzugefügt werden. Das wiederum bedeutet, dass sich das Bordnetz dynamisch zur Laufzeit sehr stark ändern wird.
Die Aufgabe der Erfindung ist es, die neuen Ethernet-Technologien flexibel an die aktuelle Anforderung kostenoptimiert und mit geringem Implementierungsaufwand anzupassen.
Die Aufgabe wird gelöst durch die Merkmale des Verfahrens nach Anspruchl , dem Steuergerät nach Anspruch 4 und dem Ethernetnetzwerk nach Anspruch nach 6.
Vorteilhaft wird durch die Erfindung die neuen Ethernet-Technologien hinsichtlich Kosten und Implementierungsaufwand für den automobilen Einsatz angepasst.
Die Erfindung schlägt ein Verfahren vor, dass das 10 Mbit/s Ethernet Netzwerk resp. die Steuergeräte automatisch konfiguriert. Die EM schlägt ein Verfahren vor, bei dem die Steuergeräte unkonfiguriert an den Bus angeschlossen werden können und sich nach dem Start selbstständig konfigurieren. Hierbei ist keine ECU-spezifische Spezialsoftware notwendig, sondern die Ethernet-Software kann auf allen Steuergeräten (Sensoren) gleich sein. Der Aufstart inkl. Synchronisation innerhalb des Busses kann trotz Automatisierung (also nicht vorkonfiguriert) innerhalb weniger Millisekunden erfolgen.
Das Verfahren schlägt vor, dass sich die Steuergeräte jeweils die kleinste mögliche ID selbst vergeben und dann den Buszugriff versuchen. Dabei wird der Versuch über Timer gesteuert, diese Timer werden zufällig gestartet, so dass es
zwangsläufig in kürzester Zeit zu einem Buszugriff kommt. Wenn Busaktivität erkannt wird, verhalten sich alle anderen Steuergeräte passiv.
Die Konfiguration und der Test von Mikrofonen, Ultraschall, Radar und vielen weiteren heute CAN-basierten Steuergeräten wird einfacher. Durch die Lösung können Produkte flexibler ausgestaltet werden, ohne dabei in große Teile der Software einzugreifen. Man spart hierdurch eine komplexe Konfiguration und erspart sich dadurch Konfigurationsaufwand.
In vorteilhafter Weise kann durch die Erfindung die Entwicklung von Sensor-basierenden Anwendungen, z. B. Automatisiertes Fahren, Datenlogger, Diagnose, vereinfacht werden. Die erfindungsgemäße Überlegung lässt sich ohne finanziellen Mehraufwand und Hardwarekosten und unter Beibehaltung des Standards verwirklichen. Mit der Nutzung der neu eingeführten Ethernet-Protokolle im Automobil sind Mechanismen notwendig, die sich einfache Techniken und gegebene Eigenschaften von Technologien zu Nutze machen, um auf teure Implementierungen und weitere zusätzliche Hardware verzichten zu können. Das erfindungsgemäße Netzwerksystem ist im Hinblick auf Qualität verbessert. Das erfindungsgemäße Verfahren bietet ein neues Verfahren einer automatischen Konfiguration für den 10 Mbit/s Ethernet Bus.
Mit dieser Erfindung wird ein Verfahren vorgestellt, die Software flexibler gestalten lässt und das Beste aus dem darunter liegenden System macht, ohne es vorher fest in Software programmiert zu haben. Die Erfindung erlaubt es den Softwareentwicklern und -architekten eine Software/Anwendung anzubieten, welche flexibler und präziser auf die Anforderungen des Anwendungsfalles zugeschnitten werden kann. Durch den Einbau der genannten Verfahren in Software kann jeweils innerhalb des Steuergerätes eine Optimierung erfolgen. Dies bedeutet, dass Software plattformunabhängiger entwicklet werden kann. Ein weiterer Vorteil dieser Erfindung ist, dass die gängige Hardware nicht verändert werden muss sondern die bestehende weiterverwendet werden kann. Das neue Verfahren kann in ein bestehendes Netzwerk integriert werden ohne dass vorhandene Geräte zu Schaden kommen. Der Standard wird nicht verletzt, da das
vorhandene Protokoll verwendet werden kann. Durch die automatische Konfiguration des physicals Layers können verschiedenste Varianten entwickelt und produziert werden, ohne manuell spezielle Konfigurationen erstellen zu müssen. Die führt dazu, dass Produkte schneller auf den Markt kommen.
Als Vorteil aus der anwendungsspezifischen Bestimmung einer genaueren und vorhersagbaren Verzögerung ergibt sich eine Verbesserung der Planung und Ausführung der Kommunikation im Fahrzeug. Hierdurch können vorhandene Bussysteme effizienter ausgenutzt werden, und der Sprung zu einer teuren Technologie mit höherer Bandbreite kann vermieden werden. Dies kann auch Auswirkungen auf benötigte Pufferspeicher haben, auf die dann verzichtet oder kleiner ausgelegt werden kann. Fusionen von verschieden Daten, bspw. Ultraschall, Radar oder Mikrofonen, können hiermit verbessert und genauer ausgelegt werden. Weiterhin kann das Loggen von Daten noch präziser gestaltet werden.
Heute werden Anwendungen zugeschnitten und angepasst auf eine Plattform. Mit dieser Erfindung werden Verfahren vorgestellt, die Software etwas flexibler gestalten lässt und das Beste aus dem darunter liegenden System macht, ohne es vorher fest in Software programmiert zu haben. Auszugehen ist von dem sogenannten Worst-Case, was Ressourcen und Geld kostet und Qualität einbüßt. Die Erfindung erlaubt es den Softwareentwicklern und -architekten eine Software/Anwendung anzubieten, welche flexibler und präziser auf die Anforderungen des Anwendungsfalles zugeschnitten werden kann. Durch den Einbau des beschriebenen Verfahrens in unsere Software kann jeweils innerhalb des Steuergerätes eine Optimierung erfolgen. Dies bedeutet, dass Software plattformabhängiger entwickelt werden kann.
Teilnetzbetrieb als Systemfunktion hat noch größere Auswirkungen auf das Gesamtsystem, wenn damit bspw. die Effizienz des Busses beeinflusst werden kann und Steuergeräte keine Zeit mehr mit dem „Warten“ verschwenden, was bei der 10Mbit/s Technologie leider müssen.
Die neuen Technologien sind im Automobil nicht mehr aufzuhalten. Protokolle wie IP, AVB und TSN haben mehrere Tausend Seiten an Spezifikationen und Testsuites. Die Beherrschbarkeit dieser neuen Protokolle im Automobil ist nicht direkt gegeben.
Ein Vorteil dieser Erfindung ist, dass die gängige Hardware nicht verändert werden muss, sondern die bestehende weiterverwendet werden kann. Das neue Verfahren kann in ein bestehendes Netzwerk integriert werden ohne dass vorhandene Geräte zu Schaden kommen. Der Standard wird nicht verletzt, da das vorhandene Protokoll verwendet werden kann. Gerade diese Sensoren müssen so günstig wie möglich sein, um den Massenmarkt zu bedienen. Wenn auf eine teurere Schnittstelle, wie Kabel/Stecker verzichtet werden kann bedeutet dies einen großen Mehrwert. Zudem wird die Güte der Daten besser, je schneller die Daten auf den Bus gelangen und umso weniger gewartet und / oder gespeichert werden muss.
Es wird mit dem Vorschlag ein Problem behoben, dass die Beacon-Zykluszeit nur vom Bus und dessen Konfiguration abhängt, aber nicht von dem einzelnen Knoten bzw. deren Anforderungen. Die grundlegende Revolution der neuen Architekturen ist durch die Zentrierung der Software auf immer weniger Recheneinheiten geprägt. Diese sog. Server oder Zentralrechner bestehen nicht mehr nur aus nur einem pC oder pP sondern beinhalten mehrere pC, pP, SOC und auch Ethernet-Switches mit mit einer großen Anazhl an Ports. Sie stellen ein eigenes lokales Netzwerk mit jeweils individueller Software dar, das bedeutet auch, dass die jeweiligen Softwarekomponenten nicht wissen (können) das Sie bspw. mit Komponenenten kommunizieren, welche im gleichen Gehäuse verortet sind. Bekannt ist Zonenarchitektur mit zentralen Servern. Hier gilt, dass zum einen der Server viele und leistungsstarke Prozessoren beinhaltet und zum anderen sehr viel Software resp. Anwendungen darauf ausgeführt werden. Der Kommunikationsaufwand innerhalb des Steuergeräts ist enorm und dies stellt ein eigenes lokales Netzwerk dar. Die gesamte Software des Fahrzeuges wird hier in Zukunft ausgeführt und jeder Controller hat seinen eigenen Software-Stack, welcher von verschiedenen Anbietern zur Verfügung gestellt wird.
Bekannt sind Konzepte um Funktionen und Anwendungen auf andere Steuergeräte/Prozessoren dynamisch auszulagern also auch um diese zu optimieren. Dies wird als Live-Migration, Reallokation oder Migration bezeichnet. Der Serieneinsatz für die Auslagerung von Software auf andere ECUs/Prozessoren ist bekannt.
Durch die neuen Architekturen gibt es nun erstmal Möglichkeiten Software auch auf verschiedenen ECUs zu implementieren da die Hardware generalisierter wird und die Software plattformunabhängiger, wobei bisher dies nicht mit allen Funktionen und ECUs möglich ist. Es steht also zur Designzeit des Systems nicht immer fest, auf welchem Steuergerät (Server), welche Software laufen wird. Die Verschiebung der Software beschränkt sich dabei aber nicht auf ECU-zu-ECU Operationen, sondern bezieht sich noch mehr auf Controller-zu-Controller Operationen innerhalb derselben ECU.
BESCHREIBUNG UND VORTEILE DER ERFINDUNG
Die Idee lässt sich ohne finanziellen Mehraufwand, wie Hardwarekosten und unter Beibehaltung des Standards verwirklichen. Mit der Nutzung der neu eingeführten Ethernet-Protokolle im Automobil sind Mechanismen notwendig, die sich einfache Techniken und gegebene Eigenschaften von Technologien zu Nutze machen, um auf teure Implementierungen und weitere zusätzliche Hardware verzichten zu können. Das erfindungsgemäße Netzwerksystem ist im Hinblick auf Zuverlässigkeit verbessert.
Als Vorteil aus der anwendungsspezifischen Bestimmung einer genaueren und vorhersagbaren Verzögerung ergibt sich eine Verbesserung der Planung und Ausführung der Kommunikation im Fahrzeug. Hierdurch können vorhandenen Bussysteme effizienter ausgenutzt werden und der Sprung zu einer teuren Technologie (höhere Bandbreite) kann vermieden werden. Dies kann auch Auswirkungen auf benötigte Pufferspeicher haben, auf die dann verzichtet werden kann (oder kleiner ausgelegt). Fusionen verschiedener Daten (z.B. Ultraschall +
Radar oder Mikrofone) können hiermit verbessert und genauer ausgelegt werden.
Weiterhin kann das Loggen von Daten noch präziser gestaltet werden.
Wenn es sich um ein Software Update handelt dann kann durch die Erfindung ein realistischeres Zeitfenster zurückgemeldet werden und es muss nicht vom Worst Case ausgegangen werden. So sind Downloads/Updates möglich die sonst nie oder später gestartet werden würden.
Der Einsatz des erfindungsgemäßen Verfahrens kann in weiteren Industrie-Bereichen eingesetzt werden, die 10 Mbit/s-Ethernet einsetzen, wie bspw. in der Industrie-Automatisierung.
TECHNISCHE VORTEILE DER ERFINDUNG
Die Aufgabe wir vorteilhaft gelöst durch ein Verfahren zur Optimierung der Übertragungsdatenrate in einem Sensornetzwerke im Teilnetzbetrieb in einem Ethernetnetzwerk, wobei das Verfahren umfasst: a) Bestimmung der Anzahl der aktiven Knoten durch einen Headnode, b) Klassifizierung der erkannten Knoten in zwei oder mehr Klassifikationen von Knoten zur Priorisierung der Ethernetnetzwerkkommunikation durch den Headnode; c) Empfang von Reservierungsanforderungen von mindestens einem Teil der Vielzahl von Knoten durch den Headnode, d) Zuweisung von Zeitschlitze als Antwort auf Reservierungsanforderungen an einen oder mehreren Knoten im bevorstehenden Kommunikationsfenster, wobei die Zuweisungen auf einer Priorität der Knoten basiert und die Priorität den Knoten gemäß ihrer Klassifizierung zugewiesen wird, wobei nach der Bestimmung der Anzahl der aktiven Knoten, eine dynamische Konfiguration der Knoten vorgenommen wird, und eine Auswahl und ein Start eines Timers des jeweiligen Knoten erfolgt, wobei jeder aktive Knoten jeweils die kleinstmögliche ID selbst vergibt, wobei hierdurch es zu einem Buszugriff des jeweligen Knotens kommt und bei vorhanden sein von einer Busaktivität, die anderen Knoten im Ethernetnetzwerk sich passiv verhalten.
Eine weitere vorteilhafte Ausgestaltung des Verfahrens zeichnet sich dadurch aus, dass, wenn ein Buszugriff erfolgt, der erfolgreich ist, die Erhöhung des Timers erfolgt.
Eine weitere vorteilhafte Ausgestaltung des Verfahrens zeichnet sich dadurch aus, dass, wenn ein Buszugriff erfolgt, der nicht erfolgreich ist, die Verkleinerung des Timers erfolgt.
Eine weitere vorteilhafte Ausgestaltung des Verfahrens zeichnet sich dadurch aus, dass nach einer Ermittlung der Busposition (Node-ID) der schlafenden Knoten, überprüft wird, ob es einen Knoten mit einer höheren Busposition (Node-ID), die keinen schlafenden Knoten repräsentiert, gibt, der nicht aktiv ist, eine Optimierung der Busposition (Node-ID) der aktiven Knoten erfolgt.
Eine weitere vorteilhafte Ausgestaltung des Verfahrens zeichnet sich dadurch aus, dass nach der Ermittlung der notwendigen Download-Datenrate, eine Ermittlung einer aktuell freien Datenrate im Ethernetnetzwerkes im letzten Buszyklus (Dfrei) des Ethernetnetzwerkes erfolgt, eine Bestimmung einer notwendigen Datenrate pro Buszyklus (Dzus) erfolgt, wobei wenn die freien Datenrate im Ethernetnetzwerkes im letzten Buszyklus (Dfrei) des Ethernetnetzwerkes größer oder gleich der notwendigen Datenrate pro Buszyklus (Dzus) ist, keine Änderung im nächsten Buszyklus vorgenommen wird, und wenn die freien Datenrate im Ethernetnetzwerkes im letzten Buszyklus (Dfrei) des Ethernetnetzwerkes kleiner der notwendigen Datenrate pro Buszyklus ist, eine Änderung im nächsten Buszyklus vorgenommen wird.
Besonders vorteilhaft ist Umsetzung durch eine Steuereinheit für ein Ethernetnetzwerk, welche als erster Knoten als Steuereinheit dazu ausgebildet ist, ein Signal an eine zweite Steuereinheit des Ethernet-Bordnetzes zu senden und das Signal von der zweiten Steuereinheit zu empfangen; eine Laufzeit des Signals auf einem Verbindungsweg zur zweiten Steuereinheit zu bestimmen; eine Maximalgeschwindigkeit des Verbindungswegs anhand der Laufzeit zu bestimmen; und eine Art eines Übertragungsmediums des Verbindungswegs anhand der
Maximalgeschwindigkeit zu bestimmen, mindestens umfass einen Mikroprozessor, einen flüchtigen Speicher und nichtflüchtigen Speicher, mindestens zwei Kommunikationsschnittstellen, einen synchronisierbaren Zeitgeber, der nichtflüchtige Speicher Programminstruktionen enthält die, wenn sie von dem Mikroprozessor ausgeführt werden, wobei eine Ausgestaltung des erfindungsgemäßen Verfahrens implementierbar und ausführbar ist.
Besonders vorteilhaft ist die Umsetzung durch ein Ethernetnetzwerk für ein Kraftfahrzeug, mit einer ersten Steuereinheit und einer zweiten Steuereinheit, wobei die Steuereinheiten über zumindest einen Verbindungsweg miteinander verbunden sind, und die erste Steuereinheit ausgebildet ist, um das erfindungsgemäße Verfahren durchzuführen.
Eine besonders vorteilhafte Ausgestaltung des Ethernet-Bordnetz zeichnet sich dadurch aus, dass das Ethernetnetzwerk eine dritte Steuereinheit aufweist, welche nur indirekt mit der ersten Steuereinheit verbunden ist und über einen dritten Verbindungsweg direkt mit der zweiten Steuereinheit verbunden ist, wobei die dritte Steuereinheit dazu ausgebildet ist, eine Laufzeit eines dritten Signals auf dem dritten Verbindungsweg zu bestimmen, wobei die erste Steuereinheit dazu ausgebildet ist, die Bestimmung der Laufzeit des dritten Signals durch eine Dienstnachricht an die dritte Steuereinheit auszulösen.
Durch die Implementierung der durch die Erfindung angegeben Verfahren kann plattformunabhängige Software mit höherer Qualität und Lebensdauer zum Einsatz kommen. Der Einsatz der Erfindung kann in andere Kommunikationssysteme mit Uhrensynchronisationskomponenten und embedded Systemen eingesetzt werden.
ZEICHNUNGEN
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im Folgenden näher beschrieben. Es zeigen:
Fig. 1 die vereinfachte Darstellung der Unterschiede zwischen einem
Ethernet-Bus (1 OMbit/s) und einem Switched Network;
Fig. 2 den Prinzipieller Ablauf der Kommunikation am Ethernet-Bus;
Fig. 3 die physische Darstellung des Ethernet-Busses mit Stubs;
Fig. 4 den Ablauf des erfindungsgemäßen Verfahrens durch ID Zuweisung nach erfolgreichem Buszugriff;
Fig. 5 Erweiterung des Standards um eine automatische Konfiguration der NodelDs (die Boxen stellen den Ablauf des Standards dar, die weißen Boxen zeigen an, wie das Verfahren in einen Standard integriert werden kann);
Fig. 6 den automatisierten Buszugriff durch lokale ID-Vergabe;
Fig. 7 das Setzen der Timer-Range in Abhängigkeit der Art des Buszugriffs;
Fig. 8 die Variabilität des Ranges (Timers) in Abhängigkeit von verschiedenen Situationen;
Fig. 9 die Initialisierung des Busses (ID-Vergabe) aus Sicht des Masterknotens;
Fig. 10 die Spezialversion der Initialisierung des Busses nach Fig. 9 (ID Vergabe) aus Sicht des Masterknotens bei einem Plug und Play Netzwerk, wenn Steuergeräte nicht „gleichzeitig“ hochfahren, sondern erst später zeitverzögert werden;
Fig. 11 die Ausprägungsstufe Plug and Play des automatisierten Buszugriffs, wenn Steuergeräte erst später zeitverzögert werden.
BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
Die Fig. 1 zeigt die vereinfachte Darstellung der Unterschiede zwischen einem Ethernet-Bus (1 OMbit/s) und einem Switched Network
Die Erfindungsmeldung schlägt ein neues Verfahren vor, um die Effizienz der Datenübertragung auf dem Automotive 10Mbit/s Bus zu optimieren und die Buszugriffszeit für die Knoten zu reduzieren.
Die Fig. 2 zeigt den prinzipiellen Ablauf der Kommunikation am Ethernet-Bus. Nach Aussendung des Beacons ist erst Knoten 0 an der Reihe, und wenn dieser seine Übertragung beendet hat, darf der nächste Knoten senden (typischerweise darf im Slot jeweils nur ein einzelner Ethernet-Frame gesendet werden).
Die Grundüberlegung des erfindungsgemäßen Verfahrens beschreibt eine dynamische Anpassung des Bus-Zyklus. Im Gegensatz zum FlexRay hat dies keine negativen oder unbedachten Auswirkungen. Die Knoten habe kein fix definiteres Zeitfenster, sondern folgen nur einer Reihenfolge. Welche Daten von den Knoten vorher geschickt werden, weiß auch der Headnode nicht.
Die Fig. 3 zeigt die physische Darstellung des Ethernet-Busses mit Stubs
Das Verfahren ermittelt als Erstes alle Teilnehmer am Bus. Dies ist typischerweise statisch vorkonfiguriert, da der Headnode diese Anzahl der Teilnehmer wissen muss, um den Ablauf zu planen.
Die Fig. 4 zeigt den Ablauf des erfindungsgemäßen Verfahrens durch ID Zuweisung nach erfolgreichem Buszugriff.
Die Fig. 5 zeigt die Erweiterung des Standards um eine automatische Konfiguration der NodelDs, wobei die Boxen den Ablauf des Standards darstellen. Die weißen Boxen zeigen wie das erfindungsgemäße Verfahren in den Standard integriert werden kann. Hiermit soll verdeutlicht werden, wo das erfindungsgemäße Verfahren greift und wie der Standard dahingehend abgeändert werden kann, ohne den generellen Ablauf zu verändern. Dabei wechseln die Knoten, welche noch
keine ID zugewiesen haben können, wobei eine Prüfung ob Vorkonfiguration vorliegt erfolgt, in den Zustand Initialize ID und behalten die Default-ID 255 oder weißen sich diese ID zu. In diesem Zustand verharren die Knoten bis Sie einen erfolgreichen Buszugriff hatten. Im Status Initialize Network tritt der Masterknoten ein, wenn eben noch keine Slaves bei ihm vorkonfiguriert sind, also wenn er sein Netzwerk nicht kennt. Erst wenn er alle Slave-Steuergeräte initialisiert hat verlässt er den Zustand.
Der Headnode ermittelt dann alle schlafenden oder defekten oder inaktiven Knoten am Bus. Dabei kann unterschieden werden, ob diese zurzeit schlafen oder ob ein Zeitpunkt in der Zukunft bekannt ist, wenn die Knoten inaktiv sind - schlafen bzw. inaktiv heißt in diesem Zusammenhang das sie nicht an der Buskommunikation teilnehmen (weder aktiv - Nutzdaten senden - noch passiv - Nutzdaten empfangen). Diese Kenntnis bekommt der Headnode entweder über eine höhere Softwareschicht, bzw. Applikation mitgeteilt durch eine Mittteilung eines oder des Teilnehmers am Bus z.B. Antwort auf ein Sleep/Wake-up-Signal aufgrund eines Fehlerzustandes eines Knotens, bspw. durch eine Anfrage des Netzwerkmanagements, Überprüfung von Protokollen, Auslesen von Registern am Knoten.
Die Fig. 6 zeigt den automatisierten Buszugriff durch lokale ID-Vergabe. Die un-initialisierten Teilnehmer am Bus warten auf den Beacon vom Headnode (Masterknoten). Sobald sie diesen Beacon erkennen starten die den NodelDSelectionTimer. Die Timers werden zu unterschiedlichen Zeiten bei jedem Knoten abgelaufen sein da hier mit einer Zufallsfunktion aus einem Wertebereich ausgewählt wird - die Steuergeräte müssen deshalb auch nicht synchron arbeiten. Die Initialisierung startet mit dem Setzen der lokalen NodelD (ID). Dieser Wert wird von 255 auf den geringst möglichen und noch nicht verwendeten Wert gesetzt (wichtig: es sollten keine Lücken in der Reihenfolge entstehen).
LastSuccessfullNodelD wird mit 0 initialisiert. Das Verfahren startet also mit der ID =
1 für allen Knoten. Dies ist jeweils eine lokale Zuweisung. Da alle Knoten, bzw
Steuergeräte, Aktivität auf dem Bus lesen können haben Sie stets die gleiche ID und es wird sichergestellt, dass keine ausgelassen wird.
Mit Ablauf des Timers versuchen Sie Zugriff auf den Bus zu bekommen. Wenn der Bus bereits noch vor Ablauf des eigenen Timers belegt ist und keine Kollision erkannt wird, dann bedeutet dies, dass die aktuelle ID hiermit vergeben wird und die nächste NodelD um eins erhöht wird. Es wird weiter versucht Zugriff auf den Bus zu erlangen.
Ist der Bus noch nicht belegt und beim Zugriff tritt eine Kollision auf, dann wird eine Variable hochgezählt, welche die Anzahl der Kollisionen zählt. Dies soll verhindern, dass es zu einem Deadlock kommt. Bei einem definierten Wert (oder Zeitwert) wird dann abgebrochen.
Kommt es zu keiner Kollision, dann behält diese ECU die ID und der Zustand „Initialize ID“ wird verlassen.
Die Fig. 7 zeigt das Setzen der Timer-Range in Abhängigkeit der Art des Buszugriffs. Die Wahl des Timers bzw. dessen Bereichs, aus welchem mit einer Zufallsfunktion gewählt wird, ist entscheidend für die Zeit bis der Bus vollständig initialisiert ist.
Die Range (ein Zahlenbereich von x-y) variiert über die Phase des Initialisierungsvorgangs. Der Zahlenbereich soll so vorgegeben werden, dass zum einen eine schnelle Initialisierung und zum anderen wenig Kollisionen auftreten. Er wird in „Bit-Times“ angegeben und startet bei 20 Bit-Times als unteres Ende.
Das obere Ende (MaxValue) kann entweder immer bei allen Knoten immer gleich sein oder auch prioritätsbasiert also in Abhängigkeit von der Wichtigkeit der ECU geringer oder höher als die anderen ausfallen. Wird bspw. ein großer MaxValue gewählt, dann ist die Wahrscheinlichkeit für einen Buszugriff bei anderen ECUs höher als bei dieser usw. Range [20B it - MaxValue]
Die Fig. 8 zeigt Variabilität des Ranges (Timers) in Abhängigkeit von verschiedenen Situationen. Für eine möglichst schnelle Initialisierung schlägt die EM eine FastMode-Variable vor. Dies gibt an um wieviel die Range verkleinert wird, wenn ein Knoten einen erfolgreichen Buszugriff, und damit eine ID zugewiesen bekommen hat, geschafft hat. Im Automotive-Bereich sind zurzeit die Anzahl der Knoten stark beschränkt (typ. 8) weshalb das Verfahren schnell zu einer abschließenden Konfiguration führen kann. Treten Kollisionen auf, kann bspw. der Rang zu klein sein. Deshalb schlägt das Verfahren vor, diesen Wert dann zu erhöhen. Dies wird dann auch auf jedem Knoten umgesetzt und nicht nur auf denen, die ein erfolglosen Buszugriff hatten. Ein größerer Bereich bedeutet, dass die Wahrscheinlichkeit steigt, dass eine ECU Buszugriff bekommt.
Die Fig. 9 zeigt die Initialisierung des Busses (ID-Vergabe) aus Sicht des Masterknotens. Der Masterknoten muss auch lernen, welche und wie viele Knoten es in seinem Netzwerk gibt, weil er daran seinen Buszyklus anpasst. Dazu sendet er getreu dem Standard ganz normale Beacons aus. Kollisionen können alle Busteilnehmer erkennen und so auch er. Er lässt einen Zähler hochlaufen, um zu protokollieren wie viele Fehlersuche es schon gab und um optional eingreifen zu können.
Bei erfolgreichem Empfang einer Nachricht (keine Kollision) sendet er einen Beacon aus und unterbricht damit diesen Zyklus und bestätigt damit die die Vergabe dieser ID, die gerade empfangen wurde. Weiterhin speichert er das ID-Mac-Adresse-Paar ab und schaut optional, ob nicht Fehler aufgetreten sind.
Wenn sein Timer abläuft, wird dieser so gesetzt, dass er größer ist wie die Timer-Rang der Slaves, und er weder Kollision noch Frame empfangen hat. Dann ist der Bus initialisiert, und er geht in den Normalmodus über. Damit schreibt er die Anzahl der Teilnehmer fest und berechnet den Buszyklus, den er ja vorgibt. Der Bus kann nun im Normalbetrieb betrieben werden.
Die Fig. 10 eine Spezialversion der Initialisierung des Busses nach Fig. 9 (ID Vergabe) aus Sicht des Masterknotens bei einem Plug und Play Netzwerk, also,
wenn Steuergeräte nicht „gleichzeitig“ hochfahren, sondern erst später zeitverzögert werden. Die Fig. 10 zeigt ein Folgende Abbildungen zeigen eine Ausführungsbeispiel, welches zur Ausführung kommt, wenn die Steuergeräte zeitverzögert gestartet werden. Dieses Verfahren greift solange sich das Netzwerk noch in der Initialisierungsphase befindet. Hierzu schlägt das Verfahren vor, dass noch im Initialisierungsverfahren Daten von den Steuergeräten versendet werden, welche bereits eine ID zugewiesen haben. Inhalt der Daten ist dabei egal.
Durch das Mitlesen der Buskommunikation können die Steuergeräte den aktuellen Stand der Initialisierungsphase bestimmen, auch wenn sie erst später aufgewacht/gestartet wurden. Die Teilnehmer (welche noch keine ID zugewiesen bekommen haben) erkennen dadurch die bereits höchste vergebene ID und passen dann ihre eigene ID an. Weiterhin dazu wird der Timer (Range) angepasst.
Die Fig. 11 zeigt die Ausprägungsstufe Plug and Play des automatisierten Buszugriffs, wenn Steuergeräte erst später zeitverzögert werden.
Der Beacon-Zyklus (resp. wann der nächste Beacon ausgesendet wird bzw. wie viele Knoten am Bus aktiv sind) lässt sich berechnen indem die Anzahl der schlafenden oder defekten oder inaktiven Teilnehmer ermittelt wird. Per se kann mit der verbleibenden Anzahl der aktiven Knoten, egal welche ID sie haben, erstmal berechnet werden wieviel Zeit am Bus eingespart bzw. um wieviel der Buszyklus verkürzt werden kann.
Bei einer Zykluslänge im Normalmodus von
Z = Teilnehmer * (Sendefenster + Framegröße) reduziert sich so generell auf Z‘ = (Teilnehmer-NichtaktiveTeilnehmer)*( Sendefenster + Framegröße)
Es ist vorgesehen, die Ermittlung des Zeitpunkts der Versendung des Beacon in Abhängigkeit der Position (hier: Node ID) der aktiven/schlafenden Knoten vorzunehmen. Alle Knoten am Bus haben eine eindeutige ID. Das Verfahren bestimmt über die Gesamtanzahl der Knoten und der ID die Position der schlafenden Teilnehmer je Bus-Zyklus. Die Anzahl der Teilnehmer am 10Mbit/s
Ethernet-Bus für Automotive ist durch die Bustopologie limitiert und so kann leicht ein Überblick ermittelt werden ob sich „hinter“ dem schlafenden oder ggf. fehlerhaften Knoten (IDschlafenderKnoten < IDaktiverKnoten) ein aktiver Knoten befindet.
Wenn sich bis zur höchsten ID kein aktiver Knoten mehr befindet, dann wird der Beacon-Zyklus so angepasst, dass der Beacon vor den Sendeslot, der sogenannten Transmit Opportunity, des ersten schlafenden Knotens gesetzt wird, welcher nur aktive Knoten vor und schlafende Knoten hinter sich hat. Dieses Verfahren setzt voraus, dass sich hinter dem schlafenden Knoten, also höhere ID, kein aktiver Knoten, oder ECU, Sensor, mehr befindet, wie es in Fig 10 angegeben ist. Diese Wahrscheinlichkeit ist ziemlich hoch da das 10 Mbit/s-Ethernet-Bussystem im Automotive-Umfeld heute für typ. 8 ECUs ausgelegt ist.
Es ist vorgesehen, die Verkürzung und Optimierung der Zykluszeit durch vorgezogenes Senden des nächsten Beacon-Frames bei ausschließlich inaktiven Teilnehmern am „Ende“ des Busses, somit der höchsten Node-IDs, vorzunehmen. Wenn allerdings ein Knoten mit einer kleinen ID nicht mehr am Bus teilnimmt, dann schlägt die Erfindung vor die IDs der Teilnehmer anzupassen bzw. zu optimieren. Hierfür gibt es mehrere erfindungsgemäße Vorschläge die Auswahl oder eine Kombination des Verfahrens kann je nach Anwendungsfall angepasst werden:
Die IDs aller aktiven Teilnehmer am Bus mit einer höheren ID werden um die Anzahl der schlafenden Knoten vorher reduziert. Wenn bspw. ID 3 schläft so wird ID 4 um eins reduziert. Dadurch wird die Sende-Reihenfolge der Bus-Teilnehmer beibehalten.
Eine weitere Möglichkeit ist es, die schlafenden IDs durch Teilnehmer mit der höchsten ID aufzufüllen. Wenn ID 3 schläft, dann wird diese ID der höchsten (bspw. ID 8) neu zugewiesen. Dadurch wird die Reihenfolge der Busteilnehmer zwar verändert, es müssen aber weniger Busteilnehmer umkonfiguriert werden.
Damit der Buszyklus nicht nutzlos optimiert bzw. angepasst wird, schlägt das Verfahren vor die aktuelle Busauslastung zu ermitteln. Die aktuelle Auslastung kann mittels der zeitlichen Differenz der letzten Beacons und der Anzahl der teilnehmenden Knoten erfolgen. Ergibt sich eine geringe Busauslastung, so ist statistisch anzunehmen, dass diese nicht sprunghaft zum nächsten Zyklus hin ansteigt. Auf etwaige Änderungen kann dennoch reagiert werden, da vorgeschlagen wird die Busauslastung durchgehend zu überwachen.
Im letzten Schritt wird der Buszyklus im Hinblick auf die erforderliche Datenrate angepasst. Hierfür werden später zwei Möglichkeiten vorgeschlagen.
In einem vorteilhaften Teilschritt kann das Verfahrens, bei dem die notwendige Datenrate der aktuellen Buskapazität gegenübergestellt wird, ermittelt werden. Dabei wird erst die notwendige Download-Datenrate in Bezug auf den 10Mbit Bus berechnet. Anschließend wird die Anzahl der aktiven Knoten vom der Headnode bestimmt. Die Slots der inaktiven Teilnehmer, entweder nur passiv mithörend, im Fehlerzustand, oder im Schlafmodus, werden ermittelt und sollen durch das Verfahren für die Headnode zur Verfügung gestellt werden, welches als Dfrei bezeichnet wird.
Dadurch ergibt sich schon einmal eine Optimierung des Busses, ohne dass hierbei aktiv in die laufende Kommunikation eingegriffen wird bzw. ohne das hierbei Knoten stumm geschaltet werden. Der Anwendung kann dann auch die reale Datenrate zurück gemeldet werden ohne dass hierbei immer vom Worst Case ausgegangen werden muss. Das spart Speicher und gibt der Anwendung, evtl, auch dem Fahrer, eine reales Zeitfenster zurück. Diese Methode ist der erste Schritt zur Optimierung des Zyklus.
Es wird eine weitere mögliche Optimierungsstufe beschrieben, anhand der berechneten, notwendigen Datenrate am Headnode eine Teilmenge (oder auch alle) der anderen Teilnehmer am Bus (außer natürlich dem Headnode) vom Senden abzuhalten und somit die Zykluszeit zum Zweck des Downloads (oder Sicherheitsupdates) zu verringern, dass der Headnode seine notwendige Datenrate
bedienen kann, selbst wenn laut normaler Busoperation nicht genug Bandbreite zur Verfügung stehen würde. Hierzu wird stets verglichen, welche Datenmenge der Headnode im aktuellen Zyklus noch zu senden hätte, wobei dieser Wert als Grenzwert genommen wird, welcher in diesem Zyklus nicht unter 0 fallen darf und weswegen vorher der Zyklus durch das Senden des nächsten Beacon beendet würde. Dieses Verfahren ergibt höchstmögliche Fairness gegenüber den anderen Busteilnehmern, da nur innerhalb gewisser Toleranzen so viel Bandbreite wie benötigt für den Headnode in Anspruch genommen wird und der Rest weiterhin zur Verwendung durch die nachfolgenden Nodes zur Verfügung steht. Wie viele Nodes durch diese überbleibende Bandbreite in einem Zyklus noch senden können ist nicht genau vorherzusagen, da jeder Busteilnehmer zwischen 0 (sendet gar keine Daten), 64 (sendet einen minimalen Ethernet-Frame) und 1522 Bytes (sendet einen maximalen Ethernet-Frame) liegen kann.
Um die Fairness noch weiter zu steigern, wird vorgeschlagen, dass im Falle das ein Node nicht mehr senden kann und der Zyklus durch den nächsten Beacon beendet wird (da die restliche benötigte Datenrate in diesem Slot unter einen potentiell maximalen Ethernet-Frame fällt), die „Restbandbreite“ in den nächsten Zyklus zu übertragen und für die Verwendung durch die anderen Busteilnehmer im nächsten Zyklus freizugeben. So kann eine Art „Guthaben“ aufgebaut werden trotz eingehaltener Bandbreitenanforderung am Headnode.
Um jedoch ein zu starkes Ansteigen des Guthabens und damit potentiell große Datenbursts bei denen viele der weiteren Busteilnehmer ungehindert große Datenmengen senden können, zu verhindern, wird ebenfalls vorgeschlagen den Anstieg des Guthabens zu begrenzen, entweder zeitlich durch Saturierung oder Rücksetzen des Guthabens nach einer konfigurierbaren Zeitspanne in Sekunden, oder durch einen Zykluszähler bei Saturierung oder Rücksetzen des Guthabens nach einer konfigurierbaren Anzahl an Bus-Zyklen.
Diese Art der Zyklusoptimierung ist nicht die einzig Denkbare. Eine Zwischenlösung zwischen „keine Fairness“, und „größtmögliche Fairness“, könnte beispielsweise ein simpleres Verfahren sein, bei dem über mehrere Zyklen einzig der Headnode
senden darf und sich entsprechend schnell ein großes Guthaben aufbaut. Dieses kann ab einem gewissen Schwellwert dann in einem Schwung abgebaut werden, indem dann ein Zyklus eingeschoben wird, in welchem alle Knoten eine Sendemöglichkeit erhalten bevor sie dann wieder eine bestimmte Anzahl Zyklen „aussetzen“ müssen. Diese Variante lässt sich auf Wunsch zur Vereinfachung des Verfahrens auch ganz ohne eine Betrachtung von Guthaben realisieren, sondern schlicht nach Anzahl Zyklen umsetzen - bspw. „99 Zyklen sendet nur Headnode, dann 1 Zyklus alle Knoten“. In diesem Fall kann allerdings ein gewisser Jitter (Varianz) in der Datenrate des Headnodes nicht ausgeschlossen werden.
Das erfindungsgemäße Verfahren kann durch alternative Verfahrensschritte, mittels dieser nach Bestimmung der Anzahl der aktiven Knoten, eine Ermittlung der nicht verwendeten Übertragungsmöglichkeiten erfolgt und hierdurch eine Berechnung der absoluten Datenrate für den Headnode pro Zeiteinheit durchgeführt wird.
Das Verfahren schlägt im Folgenden vor, die Vertrauenswürdigkeit eines Kommunikationspartners bzw. dessen Anwendung zu bestimmen. Sofern diese Vertrauenswürdigkeit bestimmt ist, kann somit der Austausch von sensiblen Daten vollzogen werden.
Die Headnode auf dem Server sind beispielsweise auf der PCB (Platine) typischerweise per MH (Media Independent Interface) oder PCI-Express verbunden und kommen damit immer ohne Transceiver (PHYs) aus.
Ein Ethernet-Transceiver (PHY) verursacht eine Verzögerung im 3-stelligen Nanosekunden Bereich. Das klingt wenig, aber die Verzögerung auf Schicht 2 (MAC) befindet sich etwa im 1 -stelligen Nanosekunden Bereich bzw. tendiert gegen 0 - je nachdem wie hoch die Auflösung der Messung liegt.
Das Verfahren bestimmt zu allererst die Adresse der Anwendung, mit der Daten ausgetauscht werden sollen (empfangen, versendet oder beides).
Dann startet das Verfahren eine Laufzeitmessung zu dieser Komponente. Hierbei kann bspw. das PDelay_Request-Verfahren des gPTP Protokolls (oder 802.1 AS) zum Einsatz kommen. Als Antwort darauf werden zwei Antworten zurückgeschickt und mithilfe von Hardwarezeitstempel lässt sich die Laufzeit der Nachricht bestimmen, (wichtig ist die Verwendung eines Protokolls mit Hardwarezeitstempeln- NTP fällt bspw. damit raus da die Auflösung zu ungenau ist).
Mithilfe dieses berechneten Wertes berechnet das Verfahren den physikalischen Abstand zu diesem Teilenehmer. Der Abstand ist hierbei nicht direkt ausgedrückt durch eine Maßeinheit wie bspw. Meter oder Zentimeter, sondern lässt sich umrechnen auf die Anzahl der Komponenten (PHYs, Switches), die Teil der Verbindung sind, da diese Verzögerung maßgeblich im Gegensatz zur Verzögerung auf dem eigentlichen Kabel ist.
Das Verfahren misst alternativ die Laufzeit zu einem Teilnehmer/Adresse indem es Laufzeitmessungen startet (bspw. Teil des PTP Protokolls) und daraus den Abstand zu diesem Teilnehmer berechnet.
Die gemessene Laufzeit muss erst bewertet werden, um einen Aufschluss über den Ort zu geben. Ob sich ein Partner innerhalb dergleichen ECU befindet oder nicht kann die Software nicht wissen bzw. idealerweise darf sie es nicht wissen, wenn eine generalisierte SW und keine Spezialversion genutzt wird; zudem können IP-Adressen gefälscht oder verändert werden. Die Laufzeit einer Mll-basierten Verbindung kommt ohne PHYs (Transceiver) aus. Das weiß jedoch weder die Zeitsynchronisationssoftware noch die eigentliche Anwendung, die diese Untersuchung in Auftrag gibt. Ein PHY wandelt die Daten in elektrische Signale um und codiert diese noch was viel mehr Zeit in Anspruch nimmt als wenn zwei Ethernet-MACs über die MH basierten Leitungen miteinander kommunizieren.
Das vorgestellte Verfahren erkennt auch, ob ein Teilnehmer direkt mit dem anfragenden Teilnehmer verbunden ist. Ist dies nicht der Fall dann kann je nach Latenz das jeweilig passende Protokoll ausgewählt werden. Für Latenzen die
innerhalb des Fahrzeuges gelten könnte bspw. MAC-Sec, IP-Sec zum Einsatz kommen und weitere IP/TCP-basierte Verfahren, wenn die Latenz so groß ist zweifelsfrei der Teilnehmer sich außerhalb des Fahrzeuges befindet.