-
Die Erfindung betrifft ein Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug, insbesondere für ein Lenksystem eines Kraftfahrzeugs, das mindestens eine Recheneinheit aufweist, die mit mindestens einem Programmspeicher verbunden ist.
-
Ferner betrifft die Erfindung ein entsprechendes Steuergerät zum Betreiben eines Kraftfahrzeugs, insbesondere eines Lenksystems eines Kraftfahrzeugs, mit wenigstens einer Recheneinheit, die mit wenigstens einem Programmspeicher verbunden ist, in welchem ein von der Recheneinheit auszuführendes Steuerprogramm speicherbar oder gespeichert ist, und mit einer Kommunikationseinrichtung zum Empfangen eines neuen Steuerprogramms.
-
Weiterhin betrifft die Erfindung ein Betriebssystem, insbesondere Lenksystem, eines Kraftfahrzeugs sowie ein Kraftfahrzeug.
-
Stand der Technik
-
Steuergeräte der eingangs genannten Art und Verfahren zum Betreiben dieser sind aus dem Stand der Technik bekannt. In modernen Kraftfahrzeugen werden mehrere Steuergeräte verwendet, die unterschiedliche Teilsysteme des Kraftfahrzeugs ansteuern. So ist es bekannt, mindestens ein Steuergerät für den Antriebsstrang, ein Steuergerät für ein Bremssystem und insbesondere auch ein Steuergerät für ein Lenksystem des Kraftfahrzeugs vorzusehen. Die Steuergeräte dienen dazu, die vom Benutzer gewünschten Befehle umzusetzen, den Betrieb des jeweiligen Systems zu überwachen und gegebenenfalls selbsttätig zu steuern.
-
Dazu führen die Steuergeräte in der Regel ein Computer-Programm aus, das in einem Programmspeicher hinterlegt ist, auf welchen eine Recheneinheit des jeweiligen Steuergeräts Zugriff hat. Bekanntermaßen werden derartige Steuerprogramme in regelmäßigen oder unregelmäßigen Abständen erneuert, um beispielsweise neue Funktionen einzusetzen, oder um vorhandene Funktionen zu optimieren. In der Regel findet ein Überschreiben des im Programmspeicher hinterlegten Steuerprogramms durch ein neues Programm in der Werkstatt über einen kabelgebundenen Anschluss des Fahrzeugs mit einem entsprechenden stationären Gerät statt, welches den Programmaustausch in Form eines Updates durchführt. Auch ist es bereits bekannt, das Update ohne Werkstattaufenthalt durchzuführen, indem dies über eine Funkverbindung, insbesondere durch eine drahtlose Internetverbindung beziehungsweise Mobilfunkverbindung, erfolgt. Hier hat sich der Begriff „Flash Over The Air“ (FOTA = drahtlose Programmüberschreibung) durchgesetzt.
-
Wünschenswert ist es, einen derartigen Neuprogrammiervorgang möglichst mit vorhandenen Mitteln umzusetzen, um Zusatzkosten für weitere Hardware zu vermeiden. Darüber hinaus muss sichergestellt werden, dass bei dem Überschreiben des alten Programms mit dem neuen Programm keine Fehler entstehen, die dazu führen könnten, dass das Steuergerät funktionslos wird. So besteht beispielsweise die Gefahr, dass beim Überschreiben eines alten Programms dieses nur teilweise überschrieben wird und aufgrund eines Abbruchs der Funkverbindung, insbesondere Internetverbindung, das neue Steuerprogramm nicht vollständig installiert werden kann, was bei einem Programmupdate außerhalb einer Werkstatt zu einer Fehlfunktion des Steuergeräts führt.
-
Offenbarung der Erfindung
-
Das erfindungsgemäße Verfahren mit den Merkmalen des Anspruchs 1 hat den Vorteil, dass ein sicheres Update des Steuerprogramms gewährleistet wird, ohne dass während der Durchführung des Updates auf Funktionen des Steuergeräts verzichtet werden oder ein Fehler während des Updates zu einem Totalausfall des Steuergeräts führen muss. Erfindungsgemäß wird dies dadurch erreicht, dass zunächst eine erste Recheneinheit mit einem in einem ersten Programmspeicherabschnitt des Programmspeichers hinterlegten Steuerprogramm betrieben wird. Eine Kommunikationseinrichtung des Steuergeräts wird dann bei Bedarf oder in vorgegebenen, insbesondere regelmäßigen Abständen angesteuert, um ein neues Steuerprogramm zu empfangen. Sobald ein neues Steuerprogramm empfangen worden ist, wird dies in einem darauffolgenden Schritt in einen zweiten Programmspeicherabschnitt des Programmspeichers geschrieben. Damit bleibt der erste Programmspeicherabschnitt für die erste Recheneinheit weiter verfügbar, sodass die Funktion des Steuergeräts während des Empfangens und Speicherns des neuen Steuerprogramms ohne jegliche Einschränkung weiter funktionsfähig bleibt. Sobald das neue Steuerprogramm in den zweiten Programmspeicherabschnitt geschrieben wurde, wird die erste Recheneinheit mit dem in dem zweiten Programmspeicherabschnitt hinterlegten neuen Steuerprogramm betrieben. Es findet also ein Wechsel des Steuerprogramms und der Recheneinheit statt. Dadurch wird erreicht, dass eine negative Auswirkung eines Fehlers beim Überschreiben des zweiten Programmspeicherabschnitts auf den Gesamtbetrieb des Steuergeräts minimiert wird. Tritt ein Fehler beim Überschreiben auf, ist gegebenenfalls der zweite Programmspeicherabschnitt für den Weiterbetrieb des Steuergeräts nicht nutzbar, jedoch kann das Steuergerät ohne weiteres mit dem Steuerprogramm aus dem ersten Programmspeicherabschnitt weiter betrieben werden. Bevorzugt wird im Normalbetrieb die erste Recheneinheit und der erste Programmspeicherabschnitt verwendet und nur im Fehlerfall in der ersten Recheneinheit und/oder in dem ersten Programmspeicherabschnitt wird auf die zweite Recheneinheit und den zweiten Programmspeicherabschnitt zurückgegriffen. Bei den Programmspeicherabschnitten kann es sich um zwei virtuell getrennte Abschnitte eines Programmspeicherbausteins/-Bauteils handeln, oder um zwei getrennte Programmspeicher beziehungsweise Programmspeicherbauteile, die körperlich voneinander getrennt sind. Zusammen bilden sie jedoch den Programmspeicher des Steuergeräts. Bei einem Wechsel von der ersten Recheneinheit zu der zweiten Recheneinheit und das neue Steuerprogramm ist somit eine hohe Ausfallsicherheit gewährleistet, weil das Steuergerät mit dem neuen Steuerprogramm ohne Unterbrechung weiterbetrieben werden kann. Nach dem Wechsel auf das neue Steuerprogramm wird das neue Steuerprogramm außerdem auch in den ersten Programmspeicherabschnitt geschrieben, sodass das neue Steuerprogramm erneut redundant zur Verfügung steht und ein Wechsel von der zweiten Recheneinheit zu der ersten Recheneinheit ohne Nachteile für den Betrieb des Steuergeräts möglich ist. Es ist also vorgesehen, dass durch die Verwendung von zwei Recheneinheiten und einem Programmspeicher mit wenigstens zwei Programmspeicherabschnitten ein redundanter Betrieb des Steuergeräts mit einem unterbrechungsfreien Betrieb bei einem Programupdate eine besonders hohe Ausfallsicherheit des Steuergeräts gewährleistet wird. Insbesondere auch bei Abbrüchen während des Empfangs des neuen Programms oder bei Schreibfehlern in dem Programmspeicher ist das Steuergerät zunächst weiter einsetzbar, ohne Nachteile für den Betrieb des Fahrzeugs. Das beschriebene Verfahren wird anschließend wiederholt, wobei in einem ersten Schritt entweder die zweite Recheneinheit weiter mit dem zweiten Programmspeicherabschnitt beziehungsweise mit dem in dem zweiten Programmspeicherabschnitt hinterlegten Steuerprogramm betrieben und das neue Steuerprogramm zuerst in den ersten Programmspeicherabschnitt eingeschrieben wird, sodass bei der Wiederholung des Programms der zuvor als erster Programmspeicherabschnitt bezeichnete Programmspeicherabschnitt nunmehr im Verlauf des Verfahrens den zweiten Programmspeicherabschnitt und der zweite Programmspeicherabschnitt den ersten Programmspeicherabschnitt darstellt, beziehungsweise dass die zweite Recheneinheit bei der Wiederholung des Programms als die erste Recheneinheit und die erste Recheneinheit als die zweite Recheneinheit bezeichnet wird. Alternativ wird mit Beginn des neuen Verfahrens beziehungsweise des nächsten Durchlaufs zunächst wieder der Betrieb des Steuergeräts durch mittels der ersten Recheneinheit eingestellt, so dass das neue Steuerprogramm zuerst in den ersten Programmspeicherabschnitt geschrieben wird. Anschließend wird wie zuvor beschrieben vorgegangen.
-
Gemäß einer bevorzugten Weiterbildung der Erfindung ist vorgesehen, dass der jeweilige Programmspeicherabschnitt durch das neue Steuerprogramm überschrieben wird. Es findet somit ein „Flashen“ des jeweiligen Programmspeichers durch das jeweils neue Steuerprogramm statt.
-
Besonders bevorzugt erfolgt der Wechsel der Recheneinheiten erst dann, wenn das neue Steuerprogramm vollständig beziehungsweise erfolgreich in den zweiten Programmspeicherabschnitt geschrieben wurde. Also erst bei abgeschlossenem Update des Steuerprogramms wird das Umschalten auf die zweite Recheneinheit und das neue Steuerprogramm durchgeführt. Dies kann beispielsweise mit jedem neuen Zündzyklus des Kraftfahrzeugs, also bei jedem Neustart, erfolgen. Dadurch wird ein fehlerfreier Betrieb des Steuergeräts beim Update-Vorgang gewährleistet.
-
Besonders bevorzugt ist vorgesehen, dass mittels der Kommunikationseinrichtung das neue Steuerprogramm drahtlos empfangen wird. Dadurch kann das sogenannte „Flashen over the air“ durchgeführt werden. Die Kommunikationseinrichtung weist dazu insbesondere ein Mobilfunkmodul auf, um die Daten zu empfangen.
-
Weiterhin ist bevorzugt vorgesehen, dass die Kommunikationseinrichtung regelmäßig angesteuert wird, um ein neues Steuerprogramm zu empfangen. Damit triggert die Kommunikationseinrichtung selbst den Empfang eines neuen Steuerprogramms. Ist kein neues Steuerprogramm vorhanden, so wird auch kein neues Steuerprogramm heruntergeladen oder in den jeweiligen Programmspeicherabschnitt geschrieben. Alternativ ist die Kommunikationseinrichtung von außen beziehungsweise extern ansteuerbar oder aktivierbar, wenn ein neues Steuerprogramm aufgespielt werden soll.
-
Das erfindungsgemäße Steuergerät mit den Merkmalen des Anspruchs 6 zeichnet sich durch eine Steuereinrichtung aus, die speziell dazu hergerichtet ist, bei bestimmungsgemäßem Gebrauch das erfindungsgemäße Verfahren durchzuführen, sowie durch eine erste Recheneinheit und eine zweite Recheneinheit, die jeweils mit dem Programmspeicher verbunden sind, wobei die jede Recheneinheit insbesondere mit jeweils einem Programmspeicherabschnitt des Programmspeichers verbunden ist, beziehungsweise wobei jeweils ein Programmspeicherabschnitt des Programmspeichers jeweils einer der Recheneinheiten zugeordnet ist. Bei den Programmspeicherabschnitten kann es sich um virtuelle beziehungsweise digitale Abschnitte eines Programmspeicherbausteins handeln oder bevorzugt um zwei voneinander physisch getrennte Programmspeicherbauteile. Es ergeben sich hierdurch die bereits genannten Vorteile. Zweckmäßigerweise stellen die Programmspeicherabschnitte physikalisch unterschiedliche Abschnitte des Programmspeichers dar, die von den Recheneinheiten individuell angesprochen werden können.
-
Weiterhin ist bevorzugt vorgesehen, dass die Kommunikationseinrichtung wenigstens ein Funkmodul, insbesondere Mobilfunkmodul aufweist. Dadurch ist der drahtlose Empfang des neuen Programms beziehungsweise der neuen Programmdaten auf einfache Art und Weise gewährleistet.
-
Gemäß einer bevorzugten Weiterbildung der Erfindung ist vorgesehen, dass der erste Programmspeicherabschnitt (4a) von einem ersten Programmspeicherbaustein und der zweite Programmspeicherabschnitt (4b) von einem zweiten Programmspeicherbaustein gebildet sind. Damit bilden die erste Recheneinheit mit dem ersten Programmspeicher und die zweite Recheneinheit mit dem zweiten Programmspeicher jeweils redundante Steuereinheiten des Steuergeräts 1, die wie zuvor beschrieben betrieben werden. Dabei ist insbesondere vorgesehen, dass nur eine der Steuereinheiten die Kommunikationseinrichtung aufweist oder mit dieser verbunden ist. Das einmal empfangen Steuerprogramm wird dann zweckmäßigerweise von der Steuereinrichtung aus dem einen Programmspeicher/Programmspeicherabschnitt in den anderen beziehungsweise nicht genutzten Programmspeicher/Programmspeicherabschnitt kopiert. Durch die Ausbildung der Programmspeicherabschnitte als Programmspeicherbausteine sind diese physisch voneinander getrennt und können insbesondere in die jeweils zugeordnete Recheneinheit integriert ausgebildet beziehungsweise angeordnet werden, sodass die jeweilige Recheneinheit mit dem zugehörigen Programmspeicherabschnitt eine kompakte Einheit bildet. Die Programmspeicherbausteine oder Programmspeicherabschnitte bilden dann insgesamt den Programmspeicher des Steuergeräts.
-
Das erfindungsgemäße Betriebssystem mit den Merkmalen des Anspruchs 8 zeichnet sich durch das erfindungsgemäße Steuergerät aus. Insbesondere ist das Betriebssystem als Lenksystem des Kraftfahrzeugs ausgebildet, wobei das Lenksystem insbesondere mindestens eine lenkbares Rad sowie einen Aktuator zum Beaufschlagen des Rads mit einem Lenkmoment aufweist. Es ergeben sich hierdurch die bereits genannten Vorteile.
-
Das erfindungsgemäße Kraftfahrzeug mit den Merkmalen des Anspruchs 9 zeichnet sich durch das erfindungsgemäße Steuergerät aus. Es ergeben sich hierdurch die bereits genannten Vorteile.
-
Weitere Vorteile und bevorzugte Merkmale und Merkmalskombinationen ergeben sich insbesondere aus dem zuvor Beschriebenen sowie aus den Ansprüchen. Im Folgenden soll die Erfindung anhand eines Ausführungsbeispiels näher erläutert werden. Dazu zeigen
-
1 ein Steuergerät eines Kraftfahrzeugs in einer vereinfachten Darstellung und
-
2 ein vorteilhaftes Verfahren zum Betreiben des Steuergeräts.
-
Die Figur zeigt einer vereinfachten Darstellung ein Steuergerät 1 für ein hier nicht naher dargestelltes Lenksystems eines Kraftfahrzeugs in einer vereinfachten Darstellung. Das Steuergerät 1 weist eine erste Recheneinheit 2 und zweite Recheneinheit 3 auf, die beide mit einem Programmspeicher 4 verbunden sind. Für beide Steuereinheiten 2, 3 ist in dem Programmspeicher 4 jeweils ein Steuerprogramm hinterlegt. Dazu ist das Steuerprogramm für die Recheneinheit 2 in einem ersten Programmspeicherabschnitt 4a und das Steuerprogramm für die Steuereinheit 3 in einem zweiten Programmspeicherabschnitt 4b, der von dem ersten Programmspeicherabschnitt verschieden ist, hinterlegt. Damit können beide Recheneinheiten 2, 3 auf das jeweils für sie vorgesehene Steuerprogramm zugreifen und dieses entsprechend für den Betrieb des Lenksystems ausführen. Insbesondere ist vorgesehen, dass die Steuerprogramme und Recheneinheiten 2, 3 redundant ausgebildet sind, sodass das Steuergerät 1 eine hohe Ausfallsicherheit aufweist. Gemäß dem vorliegenden Ausführungsbeispiel handelt es sich bei den Programmspeicherabschnitten 4a und 4b um jeweils eigenständige Programmspeicherbausteine, die physisch getrennt voneinander im Steuergerät 1 angeordnet und vorhanden sind. Insbesondere sind die Programmspeicherabschnitte 4a und 4b der jeweiligen Recheneinheit 2 beziehungsweise 3 zugeordnet oder insbesondere in diese jeweils integriert. Alternativ können die Programmspeicherabschnitte 4a und 4b jedoch auch als digitale beziehungsweise virtuelle Speicherabschnitte eines einzelnen Programmspeicherbausteins, auf welchem beide Recheneinheiten 2, 3 zugreifen, ausgebildet sein, wie in 1 durch gestrichelte Linien angedeutet.
-
Um ein Update des oder der Steuerprogramme durchzuführen, ist das in 2 vereinfacht dargestellte Verfahren vorgesehen. Mit Inbetriebnahme des Steuergeräts 1 in einem Schritt S1 werden die Recheneinheit 2, 3 durch eine Steuereinrichtung 5, insbesondere Mikrokontroller, dazu angesteuert, die jeweils für sie hinterlegten Steuerprogramme auszuführen. Sind die beiden Steuerprogramme identisch ausgebildet, sodass die Recheneinheiten 2, 3 vollständig redundant arbeiten, so wird bei Inbetriebnahme des Steuergeräts 1 nur einer der Recheneinheiten 2 zum Betreiben des Lenksystems aktiviert. In einem folgenden Schritt S2 steuert die Steuereinrichtung 5 beispielsweise bei Bedarf oder in regelmäßigen Abständen eine Kommunikationseinrichtung 6, die wenigstens ein Mobilfunkmodul 7 aufweist, dazu an, ein neues Steuerprogramm drahtlos zu empfangen. Dazu wird beispielsweise durch das Kommunikationsmodul 6 eine Anfrage an eine zentrale Datenbank gesendet, ob ein neues Steuerprogramm vorhanden ist. Wird dies bestätigt, so wird das neue Steuerprogramm an die Kommunikationseinrichtung 6 gesendet und von dieser empfangen.
-
In einem darauffolgenden Schritt S3 wird das empfangene neue Steuerprogramm in den derzeit ungenutzten Programmspeicherabschnitt 4b geschrieben, mittels dessen die in diesem Moment deaktivierte Recheneinheit 3 ansonsten betrieben werden würde. Erst bei erfolgreichem Abschluss des Überschreibens des Programmspeicherabschnitts 4b durch das neue Steuerprogramm, steuert die Steuereinrichtung 5 das Steuergerät 1 derart an, dass der Betrieb von der Recheneinheit 2 auf die Recheneinheit 3 gewechselt wird, sodass die Recheneinheit 3 mit dem neuen Steuerprogramm betrieben wird beziehungsweise das neue Steuerprogramm ausführt. Anschließend wird in einem Schritt S5 das neue Steuerprogramm in den Programmspeicherabschnitt 4a geschrieben, während die Recheneinheit 2 deaktiviert ist, sodass bei einem späteren Wechsel der Recheneinheiten 2, 3 das neue Steuerprogramm weiterhin ausgeführt wird. Anschließend wird das Verfahren beispielsweise regelmäßig oder insbesondere mit jedem Neustart des Kraftfahrzeugs wiederholt, um ein Update des Steuersystems durchzuführen. Insbesondere ist vorgesehen, dass im Normalbetrieb des Steuergeräts 1 die Recheneinheit 2 auf den Programmspeicherabschnitt 4a zugreift und nur bei Auftreten eines Fehlerfalls ein Betrieb auf die Recheneinheit 3 mit dem Programmspeicherabschnitt 4b gewechselt wird.
-
Gemäß dem dargestellten Ausführungsbeispiel ist vorgesehen, dass die beiden Programmspeicherabschnitte 4a und 4b von jeweils einem Programmspeicher(-baustein) gebildet werden, wobei jede Recheneinheit 2 und 3 mit nur jeweils einem der Programmspeicherabschnitte verbunden ist, wie zuvor bereits erörtert. Insbesondere ist außerdem vorgesehen, dass die Steuereinrichtung 5, nachdem das neue Steuerprogramm in den Programmspeicherabschnitt 4b geladen wurde, das neue Steuerprogramm von dort kopiert und in den anderen Programmspeicherabschnitt 4a zum Überschreiben des Programmspeicherabschnitts 4a kopiert, so dass das neue Steuerprogramm nicht erneut empfangen werden muss.
-
Durch das vorteilhafte Verfahren werden die hohen Anforderungen an Sicherheit und Verfügbarkeit, die insbesondere aus der zunehmenden Verbreitung von autonomen Fahrfunktionen entstehen, erfüllt. Durch die redundante Ausbildung des Steuergeräts 1 ist eine hohe Ausfallsicherheit gewährleistet. Dadurch, dass die insoweit voneinander unabhängigen Steuerprogramme nacheinander ersetzt werden, kann das Fahrzeug während des Update-Vorgangs mit einem der redundanten Teilbereiche weiterbetrieben werden. Auf diese Weise ist zu jedem Zeitpunkt ein gültiges Steuerprogramm vorhanden und ein Ausfall des Steuergeräts 1 auch bei Auftreten eines Fehlers beim Überschreiben von einem der Programmspeicherbausteine oder -abschnitte sicher verhindert.