-
Die vorliegende Erfindung betrifft ein Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs sowie ein Steuergerät und ein Computerprogramm zu dessen Durchführung.
-
Stand der Technik
-
Im Zuge einer sogenannten Firmware-Over-the-Air-Programmierung (FOTA) oder Over-the-Air-Programmierung (OTA) kann ein Steuergerät eines Kraftfahrzeugs programmiert werden, wenn sich das Kraftfahrzeug bereits im Feld befindet. Beispielsweise kann im Zuge derartiger Programmierungen eine Aktualisierung von Steuergeräte-Software bzw. ein Firmware-Update durchgeführt werden, wobei ein neuer, überarbeiteter Programmcode in das entsprechende Steuergerät geschrieben wird. Dieser neue Programmcode kann beispielsweise drahtlos über eine Funkverbindung, wie beispielsweise WLAN oder Mobilfunknetze an das Kraftfahrzeug übertragen werden, beispielsweise von einem Server des Fahrzeugherstellers.
-
Ein Verfahren zur Programmierung eines Steuergerätes wird beispielsweise in der
DE 100 07 610 A1 beschrieben, wobei das Steuergerät durch ein extern dem Steuergerät zugeführtes Signal von einem Betriebsmodus in einen Programmiermodus umgeschaltet wird.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden ein Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs sowie ein Steuergerät und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Im Zuge des Verfahrens weist ein erstes Steuergerät des Kraftfahrzeugs wenigstens ein zweites Steuergerät des Kraftfahrzeugs an, in einen abgesicherten Modus überzugehen. Wenn das wenigstes eine zweite Steuergerät in den abgesicherten Modus übergegangen ist, wird die Programmierung von dem ersten Steuergerät durchgeführt. Das erste Steuergerät kann insbesondere sämtliche von mehreren zweiten Steuergeräten programmieren oder nur einen Teil dieser zweiten Steuergeräte. Es ist auch denkbar, dass das erste Steuergerät sich selbst programmiert und/oder ein weiteres, drittes Steuergerät des Kraftfahrzeugs. Zweckmäßigerweise kann im Zuge der Programmierung eine Aktualisierung der entsprechenden Steuergeräte-Software durchgeführt werden.
-
Die Programmierung wird insbesondere durchgeführt, während sich das Fahrzeug bereits im Feld befindet. Ein für die Programmierung benötigter neuer bzw. aktualisierter Programmcode kann drahtlos über eine Funkverbindung, wie beispielsweise WLAN oder Mobilfunknetze (z.B. GSM, 3G, 4G usw.), an das erste Steuergerät übertragen werden, insbesondere von einem Server des Fahrzeug- oder Steuergeräteherstellers. Vorzugsweise wird die Programmierung im Zuge einer Firmware-Over-the-Air-Programmierung (FOTA) oder Over-the-Air-Programmierung (OTA) durchgeführt.
-
Das wenigstens eine zweite Steuergerät wird in dem abgesicherten Modus insbesondere derart betrieben, dass es bei einem Ausfall des entsprechenden zweiten Steuergeräts zu keiner Gefährdung des Kraftfahrzeugs kommt. Während der Programmierung kann es dazu kommen, dass das entsprechende Steuergerät, welches programmiert wird, nicht oder nur eingeschränkt funktionsfähig ist. Wenn dieses Steuergerät im regulären Betrieb des Kraftfahrzeugs mit anderen Steuergeräten relevante Daten austauscht, können auch diese anderen Steuergeräte unter Umständen nicht fehlerfrei betrieben werden. Somit kann es unter Umständen bei einer Steuergeräteprogrammierung während einer regulären Fahrt zu einer Gefährdung des Kraftfahrzeugs kommen. Um ein derartiges Sicherheitsrisiko zu verhindern, werden alle relevanten Steuergeräte durch das erste Steuergerät in den abgesicherten Modus versetzt, insbesondere das zu programmierende Steuergerät sowie sämtliche mit diesem kommunizierende Steuergeräte. Insbesondere werden in dem abgesicherten Modus in dem wenigstens einen zweiten Steuergerät keine für den Betrieb des Kraftfahrzeugs sicherheitsrelevanten Operationen durchgeführt.
-
Im Zuge herkömmlicher Programmierungen im Feld überprüft oftmals ein spezielles Steuergerät, welches z.B. die Programmierung durchführt, ob sich das Kraftfahrzeug in einem sicheren Zustand (z.B. im Stillstand) befindet, in welchem die Programmierung gefahrlos durchgeführt werden kann. Zu diesem Zweck muss dieses Steuergerät oftmals eigenständig eine Vielzahl von (Sensor-) Daten beispielsweise aus dem Fahrzeug-Bus einlesen oder von anderen Steuergeräten abfragen und überprüfen. Beispielsweise können Geschwindigkeit, Motordrehzahl sowie Schaltstellungen des Zündschlosses eingelesen und überprüft werden. Aus diesen Daten evaluiert das entsprechende Steuergerät, gegebenenfalls modellbasiert, ob sich das Kraftfahrzeug in einem sicheren Zustand befindet. Jedoch ist diese herkömmliche Methode mit großem Aufwand verbunden, da komplexe, rechenintensive Software ausgeführt wird und unter Umständen zusätzliche Sensoren (z.B. Bewegungs- oder Beschleunigungssensoren) benötigt werden. Des Weiteren kann diese Überprüfung auch unzureichend sein, etwa aufgrund falscher Modelle, oder das Kraftfahrzeug kann während der Programmierung unerwartet den sicheren Zustand verlassen, beispielsweise weil ein Fahrer losfahren möchte. Das spezielle Steuergerät kann zumeist keinen Einfluss auf andere Steuergeräte oder Fahrzeugkomponenten nehmen, sondern dient nur zu Evaluationszwecken. Dennoch trägt dieses Steuergerät die gesamte Verantwortung für die Sicherheit des Kraftfahrzeugs während der Programmierung.
-
Im Gegensatz dazu kann das Kraftfahrzeug im Rahmen des Verfahrens bewusst in einen sicheren Zustand versetzt werden, indem das wenigstens eine zweite Steuergerät (also insbesondere auch mehrere zweite Steuergeräte) jeweils in den abgesicherten Modus versetzt wird. Durch das Verfahren wird ein sicherer Zustand für die Programmierung definiert, welcher durch das erste Steuergerät abrufbar ist. Somit wird nicht einem einzigen Steuergerät die Verantwortung zugeteilt, zu evaluieren, ob die Programmierung ohne Gefährdung durchführbar ist. Stattdessen kann diese Verantwortung auf eine Vielzahl von Steuergeräten allokiert werden. Jedes der zweiten Steuergeräte ist selbst dafür verantwortlich, sich auf die Anweisung des ersten Steuergeräts hin in den abgesicherten Modus zu versetzen (gegebenenfalls einen dafür geeigneten Zeitpunkt und/oder eine Freigabe durch den Fahrer abzuwarten) und in diesem zu verbleiben, bis die Programmierung abgeschlossen ist. Insbesondere teilen die zweiten Steuergeräte dem ersten Steuergerät ihren aktuellen Status über entsprechende Rückmeldungen mit. Das erste Steuergerät hat somit auf einfache Weise Überblick über die einzelnen für die Programmierung relevanten Steuergeräte, ohne dass dafür zusätzliche Sensoren oder Hardwareelemente benötigt werden oder dass aufwendige, rechenintensive Software ausgeführt werden muss.
-
Das erste Steuergerät kann beispielsweise als ein zentrales Steuergerät (Central Connectivity Unit, CCU) ausgebildet sein, welches mit den zweiten Steuergeräten in Kommunikationsverbindung steht und diese koordiniert.
-
Vorteilhafterweise wird jedes der zweiten Steuergeräte in dem abgesicherten Modus jeweils gemäß individuellen Sicherheitsrichtlinien betrieben. Für jedes der zweiten Steuergeräte gelten somit spezifische Richtlinien bzw. Sicherheitskonzepte, gemäß welchen dessen Betrieb für die Programmierung abgesichert wird. Jedes der zweiten Steuergeräte ist dafür verantwortlich, sich selbst nach seinen individuellen Richtlinien abzusichern. Die Absicherung der zweiten Steuergeräte erfolgt insbesondere gemäß dem sog. Automotive Safety Integrity Level (ASIL), eine von der Norm ISO 26262 spezifizierte Sicherheitsanforderungsstufe für sicherheitsrelevante Systeme in Kraftfahrzeugen.
-
Vorzugsweise wird die Programmierung von dem ersten Steuergerät durchgeführt, wenn das erste Steuergerät eine Rückmeldung von dem wenigstens einen zweiten Steuergerät erhalten hat, dass das wenigstens eine zweite Steuergerät in den abgesicherten Modus übergegangen ist. Somit ist es nicht notwendig, dass das erste Steuergerät aufwendig Daten bzw. Informationen der zweiten Steuergeräte eigenständig einliest und überprüft, sondern die zweiten Steuergeräte können ihren aktuellen Status durch eine aufwandsarme Nachricht als Rückmeldung dem ersten Steuergerät mitteilen.
-
Durch Anforderung der abgesicherten Modi des ersten Steuergeräts und Rückmeldung der zweiten Steuergeräte kann die Programmierung zweckmäßigerweise zu einem bestmöglichen Zeitpunkt durchgeführt werden. Das erste Steuergerät setzt insbesondere somit einen Anstoß zur Durchführung der Programmierung und wartet danach auf positive Rückmeldung aller zweiten Steuergeräte. Der bestmögliche Zeitpunkt wird insbesondere automatisch als derjenige Zeitpunkt bestimmt, zu welchem alle zweiten Steuergeräte positiv rückmelden, dass sie sich jeweils in dem abgesicherten Modus befinden.
-
Um die zweiten Steuergeräte jeweils in den abgesicherten Modus zu versetzen, führt das erste Steuergerät gemäß einer vorteilhaften Ausführung folgende Schritte durch: Vorzugsweise weist das erste Steuergerät das wenigstens eine zweite Steuergerät zunächst an zu überprüfen, ob Anforderungen für den abgesicherten Modus erfüllt sind. Wenn das wenigstens eine zweite Steuergerät rückmeldet, dass die Anforderungen erfüllt sind, weist das erste Steuergerät das wenigstens eine zweite Steuergerät bevorzugt an, in den abgesicherten Modus überzugehen und in diesem zu verbleiben. Somit wird sichergestellt, dass einzelne der zweiten Steuergeräte nicht unnötigerweise in den abgesicherten Modus versetzt werden. Erst wenn alle Steuergeräte rückmelden, dass sie in dem abgesicherten Modus betrieben werden können, startet das erste Steuergerät die Programmierung.
-
Während die Programmierung durchgeführt wird, überprüft das erste Steuergerät vorteilhafterweise Rückmeldungen des wenigstens einen zweiten Steuergeräts, ob sich dieses jeweils noch in dem abgesicherten Modus befindet. Wenn während der Programmierung eines der zweiten Steuergeräte den abgesicherten Modus verlassen muss, beispielsweise weil eine Fahranforderung oder ein Beschleunigungswunsch des Fahrers vorliegt, wird dies dem ersten Steuergerät automatisch mitgeteilt, ohne dass das erste Steuergerät selbst Daten auslesen muss. Das erste Steuergerät beendet die Programmierung vorzugsweise, wenn es anhand der Rückmeldungen erkennt, dass sich wenigstens eines der zweiten Steuergeräte nicht mehr in dem abgesicherten Modus befindet, um den sicheren Betrieb des Kraftfahrzeugs zu gewährleisten.
-
Vorteilhafterweise verlässt das zweite Steuergerät den abgesicherten Modus während der Programmierung nicht, insbesondere weil dazu eingerichtet ist, dies nicht eigenständig zu tun, insbesondere dies nur nach Freigabe durch das erste Steuergerät zu tun. Insbesondere wird somit ein Losfahren des Kraftfahrzeugs verhindert, so lange die Programmierung noch nicht vollständig abgeschlossen ist. Wenn ein Fahrer dennoch während der Programmierung losfahren möchte, kann beispielsweise eine Meldung an den Fahrer ausgegeben werden, etwa über einen Bordcomputer, dass sich das Losfahren aufgrund einer Softwareaktualisierung noch verzögert.
-
Nachdem die Programmierung erfolgreich durchgeführt wurde, weist das erste Steuergerät das wenigstens eine zweite Steuergerät bevorzugt an, den abgesicherten Modus wieder zu verlassen. Beispielsweise kann zu diesem Zweck ein Freigabesignal an sämtliche zweite Steuergeräte ausgegeben werden. Die zweiten Steuergeräte können daraufhin wieder regulär betrieben werden
-
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
-
Auch die Implementierung des Verfahrens in Form eines Computerprogramms ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt schematisch ein Kraftfahrzeug mit einem Steuergerät, das dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen.
-
2 zeigt schematisch eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens als ein Blockdiagramm.
-
Ausführungsform(en) der Erfindung
-
In 1 ist ein Kraftfahrzeug schematisch dargestellt und mit 100 bezeichnet. Das Kraftfahrzeug 100 weist ein erstes Steuergerät 110 auf, welches ein zentrales Steuergerät (Central Connectivity Unit, CCU) darstellt. Das erste, zentrale Steuergerät 110 steht mit einer Vielzahl von zweiten Steuergeräten in Kommunikationsverbindung. In Figur sind beispielhaft drei derartige zweite Steuergeräte 121, 122, 123 dargestellt. Es versteht sich, dass das Kraftfahrzeug 100 noch weitere Steuergeräte aufweisen kann, z.B. ein Motor-, Bremsen-, Getriebe-, Entertainment-, Batteriesteuergerät, usw.
-
Im Zuge einer Firmware-Over-the-Air-Programmierung (FOTA) soll eine Programmierung wenigstens eines der zweiten Steuergeräte 121, 122, 123 durchgeführt werden. Insbesondere soll ein Firmware-Update dieses einen der zweiten Steuergeräte 121, 122, 123 bzw. eine Aktualisierung der entsprechenden Steuergeräte-Software durchgeführt werden.
-
Zu diesem Zweck kann das erste Steuergerät 110 über eine drahtlose Verbindung 130, beispielsweise über ein Mobilfunknetz, mit einem Server 140 des Kraftfahrzeugherstellers verbunden werden. Neue, aktualisierte Programmcodes für die zweiten Steuergeräte 121, 122, 123 werden über die drahtlose Verbindung 130 an das erste Steuergerät 110 übertragen.
-
Um die zweiten Steuergeräte 121, 122, 123 mit diesen neuen Programmcodes zu programmieren bzw. zu aktualisieren, ist das erste Steuergerät 110, insbesondere programmtechnisch, dazu eingerichtet, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen, welche in 2 als ein Blockdiagramm dargestellt ist und im Folgenden in Bezug auf 2 erläutert wird.
-
Nachdem die aktualisierten Programmcodes in das erste Steuergerät 110 übertragen wurden, wird der bestmöglicher Zeitpunkt bestimmt bzw. abgewartet, zu welchem die Programmierung durchgeführt werden kann, ohne dass dabei eine Gefährdung für das Kraftfahrzeug 100 bzw. Personen besteht.
-
In einem Schritt 201 weist das erste Steuergerät 110 jedes der zweiten Steuergeräte 121, 122 und 123 jeweils an zu überprüfen, ob bestimmte Anforderungen für einen abgesicherten Modus erfüllt sind. Für jedes dieser Steuergeräte 121, 122 und 123 können individuelle, unterschiedliche Anforderungen gelten, welche die Steuergeräte 121, 122 und 123 unabhängig voneinander jeweils in Schritt 202 überprüfen.
-
Beispielsweise kann das Steuergerät 121 als ein Motorsteuergerät ausgebildet sein, welches Geschwindigkeit und Drehzahl des Kraftfahrzeugs 100 regelt. Anforderungen für dieses Motorsteuergerät 121 können beispielsweise sein, dass Geschwindigkeit und Drehzahl den Wert Null besitzen. Auf die Anweisung des ersten Steuergeräts 110 in Schritt 201 hin überprüft das Motorsteuergerät 121 in Schritt 202, ob Geschwindigkeit und Drehzahl diese Bedingung erfüllen.
-
Das Steuergerät 122 kann beispielsweise zur Bestimmung einer Kraftstoffeinspritzmenge vorgesehen sein. In Schritt 202 kann dieses Steuergerät 122 beispielsweise überprüfen, ob die bestimmte Kraftstoffeinspritzmenge unterhalb eines bestimmten Grenzwerts liegt.
-
Das Steuergerät 123 kann beispielsweise für ein Navigationssystem vorgesehen sein und kann z.B. GPS-Daten auswerten, um daraus eine Position des Kraftfahrzeugs 100 zu bestimmen. Als Anforderung kann dieses Navigationssteuergerät 123 in Schritt 202 beispielsweise überprüfen, ob sich die aktuelle Position des Kraftfahrzeugs 100 verändert.
-
Nachdem die Steuergeräte 121, 122 und 123 die jeweilige Überprüfung durchgeführt haben, übermitteln sie jeweils eine Rückmeldung an das erste Steuergerät 110, ob die jeweilige Anforderung erfüllt ist oder nicht. Das erste Steuergerät 110 überprüft diese Rückmeldungen in Schritt 203.
-
Wenn wenigstens eines der Steuergeräte 121, 122 und 123 rückmeldet, dass die jeweilige Anforderung nicht erfüllt ist, weist das erste Steuergerät gemäß Schritt 201 erneut alle Steuergeräte 121, 122 und 123 an, die entsprechenden Überprüfungen durchzuführen.
-
Wenn alle Rückmeldungen positiv sind und wenn somit alle Anforderungen der einzelnen Steuergeräte 121, 122 und 123 erfüllt sind, bedeutet dies, dass das Kraftfahrzeug 100 stillsteht und nicht bewegt wird. Das Kraftfahrzeug 100 befindet sich somit in einem sicheren Zustand, während welchem gefahrlos die Programmierung der Steuergeräte 121, 122 und 123 durchgeführt werden kann. Wenn eines oder mehrere dieser Steuergeräte 121, 122 und 123 während der Programmierung nicht oder nur eingeschränkt funktionsfähig sind, besteht kein Sicherheitsrisiko für das Kraftfahrzeug.
-
In diesem Fall weist das erste Steuergerät 110 die zweiten Steuergeräte 121, 122 und 123 in Schritt 204 an, jeweils in den abgesicherten Modus überzugehen und in diesem zu verbleiben. Die Steuergeräte 121, 122 und 123 wechseln auf diese Anweisung hin in Schritt 205 jeweils in den abgesicherten Modus und übermitteln jeweils eine Rückmeldung an das erste Steuergerät 110, ob sie sich jeweils in den abgesicherten Modus befinden oder nicht.
-
Jedes der zweiten Steuergeräte 121, 122 und 123 wird in dem abgesicherten Modus jeweils gemäß individuellen Sicherheitsrichtlinien betrieben. Beispielsweise gilt für das Motorsteuergerät 121, dass Geschwindigkeit und Drehzahl in dem abgesicherten Modus weiterhin den Wert Null beibehalten sollen. Für das Steuergerät 122 gilt beispielsweise, dass die Kraftstoffeinspritzmenge weiterhin unterhalb des bestimmten Grenzwerts liegen soll.
-
Das erste Steuergerät überprüft die Rückmeldungen in Schritt 206. Sofern wenigstens eines der Steuergeräte 121, 122 und 123 rückmeldet, dass es sich nicht in dem abgesicherten Modus befindet, wird erneut bei Schritt 201 begonnen, da in diesem Fall die Programmierung unter Umständen nicht gefahrlos durchgeführt werden kann. Wenn alle Steuergeräte 121, 122 und 123 rückmelden, dass sie sich jeweils in dem abgesicherten Modus befinden, beginnt das erste Steuergerät in Schritt 207 mit der Programmierung und aktualisiert die Programmcodes der Steuergeräte 121, 122 und 123.
-
Auch während der Programmierung übermitteln die Steuergeräte 121, 122 und 123 weiterhin Rückmeldungen, ob sie sich noch in dem abgesicherten Modus befinden. Das erste Steuergerät 110 überprüft während der Programmierung in Schritt 208 weiterhin diese Rückmeldungen.
-
Beispielsweise wenn der Fahrer das Kraftfahrzeug losfahren möchte, kann eines oder mehrere der Steuergeräte 121, 122 und 123 gezwungen werden, den abgesicherten Modus zu verlassen. Wenn dies der Fall ist, wird dies dem ersten Steuergerät 110 durch Rückmeldung von dem jeweiligen zweiten Steuergerät mitgeteilt. In diesem Fall bricht das erste Steuergerät 110 in Schritt 209 die Programmierung ab und weist alle zweiten Steuergeräte 121, 122 und 123 an, den abgesicherten Modus zu verlassen und wieder in den regulären Betrieb überzugehen. Danach wird erneut mit Schritt 201 begonnen.
-
Alternativ kann das erste Steuergerät 110 auch verhindern, dass die zweiten Steuergeräte 121, 122, 123 den abgesicherten Modus während der Programmierung verlassen, auch wenn der Fahrer losfahren möchte. In diesem Fall kann dem Fahrer über den Bordcomputer mitgeteilt werden, dass aktuell eine Softwareaktualisierung durchgeführt wird und sich das Losfahren noch kurzzeitig verzögert.
-
Wenn die Programmierung erfolgreich durchgeführt wurde und die Software aller Steuergeräte 121, 122 und 123 aktualisiert wurde, gibt das erste Steuergerät in Schritt 210 ein Freigabesignal an alle Steuergeräte 121, 122 und 123 aus, welche daraufhin in Schritt 211 den abgesicherten Modus wieder verlassen und ihren regulären Betrieb wieder aufnehmen.
-
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
-