-
Die
Erfindung betrifft ein Verfahren zur Speicherung und/oder Aktualisierung
von Daten in zumindest einem Gerät
eines Fahrzeugs.
-
Die
Software in Steuergeräten,
die in Fahrzeugen verbaut werden, muss stets einem gegenwärtigen bzw.
einem neuesten verfügbaren
und getesteten Aktualitätsgrad
angepasst werden. Bei Geräten
und/oder Komponenten in fertiggestellten und in ausgelieferten Fahrzeugen,
ist es erforderlich, stets den neuesten Softwarestand upzudaten
oder ausgetauschte Geräte
mit Betriebssoftware zu versorgen, bzw. einen abgespeicherten Parameterstand für das Fahrzeug
und das Gerät
zu aktualisieren, um einen zuverlässigen und ordnungsgemäßen Betrieb gewährleisten
zu können.
Dabei wird die neue Betriebssoftware sowie spezifische Parameter
des Fahrzeugs oder des Herstellers bereitgestellt und nicht mehr
aktuelle oder veraltete Daten überschrieben
und ersetzt. Der Vorgang der Aktualisierung von Daten, insbesondere
Software und/oder Parametern, und das Überschreiben von veralteten
Daten ist dem Fachmann unter dem Begriff „Flashen" bekannt.
-
Aus
der deutschen Offenlegungsschrift
DE 100 12 272 A1 ist ein Verfahren zur Abspeicherung von
Daten in rechnergestützten
Geräten
von Fahrzeugen bekannt, bei dem Betriebssoftware und/oder Fahrzeugdaten
aktualisiert werden können.
Dabei wird beim Starten des Fahrzeugs mittels einer im Grundmodul
des Fahrzeugs abgespeicherten Programm-Routine überprüft, ob sich bei den Geräten an der
Hardware oder an der Software etwas geändert hat oder ob ein Datenpaket
mit aktualisierter Betriebssoftware per Telekommunikation an das
Grundmodul übersandt
worden ist und, dass bei vorliegenden Änderungen oder Aktualisierungen
die Programm-Routine den Dateninhalt der Datenspeicher mit dem Dateninhalt
eines Datenpaketes flasht. Das Erkennen, ob ein Flashen erforderlich
ist, wird über eine
Checksummenprüfung
festgestellt.
-
Darüber hinaus
ist aus der
WO 03/021192 A1 ein
Verfahren, eine Vorrichtung und ein Computerprodukt zur Aktualisierung
von Steuergerät-Daten in
einem Fahrzeug beschrieben. Die zum Flashen erforderliche Software
wird über
Datenträger,
wie beispielsweise CD-ROM, verteilt. Die in einem Steuergerät gespeicherten,
zu aktualisierenden Steuergerät-Daten
und die auf dem Datenträger
gespeicherten Daten werden jeweils mit einem deren Aktualität kennzeichnenden
Merkmal, wie beispielsweise ein Datum und/oder eine Versionsbezeichnung,
versehen und ältere
Steuergerät-Daten
werden durch jüngere
Steuergerät-Daten
aktualisiert bzw. ersetzt. Bei diesen bekannten Verfahren ist zur
Erreichung der Zielversion mit dem neuesten Aktualitätsgrad zwingend
erforderlich, dies in einem einzigen Flashschritt durchzuführen. Gerade
bei Flashvorgängen,
bei denen eine Datenaktualisierung mit einem sehr alten Aktualitätsgrad zu
einem sehr neuen Aktualitätsgrad, zwischen
denen zumindest ein weiterer zwischenzeitlicher Aktualitätsgrad liegt,
erforderlich ist, treten daher Probleme auf. Es kann dabei vorkommen, dass
keine vollständige
Aktualisierung durchgeführt werden
kann und daher der nachfolgende Betrieb des Gerätes erheblich beeinträchtigt werden
kann.
-
Darüber hinaus
ist aus der deutschen Offenlegungsschrift
DE 102 60 103 A1 ein Verfahren
und eine Vorrichtung zur Änderung
von Software an einem Steuergerät
zur Steuerung von Betriebsabläufen
bekannt. Die Ausführung
alter Softwareteile wird durch die Ausführung neuer Softwareteile ersetzt, wobei
die alten Softwareteile in einem ersten Speicherbereich eingeschrieben
sind und die neuen Softwareteile in einem zweiten Speicherbereich
eingeschrieben werden. Durch eine erste Verzweigung am ersten Speicherbereich
werden statt der alten Softwareteile im ersten Speicherbereich die
neuen Softwareteile im zweiten Speicherbereich ausgeführt, wobei
nach Ausführung
der neuen Softwareteile durch eine zweite Verzweigung im zweiten Speicherbereich
wieder in den ersten Speicherbereich zurückverzweigt wird und die Ausführung der weiteren
von den alten Softwareteilen verschiedene Software im ersten Speicherbereich
fortgesetzt wird, wobei die alten Softwareteile im ersten Speicherbereich
verbleiben. Bei diesen bekannten Verfahren wird nicht der gesamte
Programmcode, sondern nur Teile ausgetauscht.
-
Die
bekannten Verfahren und Vorrichtungen sind relativ zeitaufwendig
im Hinblick auf eine Aktualisierung der Daten ausgebildet. Des Weiteren
ist die Zeitdauer für
das Testen und die Freigabe der Software relativ lang. Darüber hinaus
ist die Flexibilität des
Flashens beschränkt.
-
Aus
der
DE 102 34 063
A1 ist ein Verfahren zum variantenspezifischen Programmieren
eines Programm- und Datenspeichers eines Steuergeräts eines
Kraftfahrzeugs bekannt.
-
Aus
der
DE 103 47 382
A1 ist ein Verfahren und eine Vorrichtung für eine mindestens
teilweise automatische Aufbereitung von Software für eine Übertragung
an einen Rechner und/oder zur Aktualisierung von Software auf dem
Rechner bekannt. Dazu wird auf einem Zentralrechner ein Subpaket und
ein Skript erstellt, welches Subpaket mindestens einen Aktualisierungsbefehl
umfasst und welchem eine eindeutige Versionskennung zugeordnet wird und
das Skript das Subpaket automatisch an dem empfangenden Rechner
entpackt und/oder ausführt.
-
Des
Weiteren ist aus der
DE
199 26 206 A1 ein Verfahren zur Aktualisierung von Daten
in einem Gerät
eines Fahrzeugs bekannt. Zu aktualisierende Software- und Hardware-Module
werden identifiziert und entsprechende Änderungen oder Aktualisierungen
vorgenommen.
-
Werden
beim Flashen beispielsweise gespeicherte Daten verlagert oder verändert, so
ist es erforderlich, dass dabei eine Zuordnung von „alten Daten/altes
Datenformat" auf „neue Daten/neues
Datenformat" erfolgt.
Ist ein derartiger Übertrag
in der Software berücksichtigt
und wird so von einem Aktualitätsgrad „A" (älteste Aktualität) auf einen
Aktualitätsgrad „B" (zweitältester
Aktualitätsgrad)
geflasht, werden die Daten korrekt übertragen. Gibt es bei einer
nächsten
Version mit einem Aktualitätsgrad „C" (drittältester
Aktualitätsgrad)
jedoch wieder Änderungen,
so ist eine fehlerfreie Übertragung
von dem Aktualitätsgrad „A" auf den Aktualitätsgrad „C" zunächst nicht
unterstützt.
Um auch hierfür
eine Unterstützung bereitzustellen,
ist jedoch ein erheblicher Aufwand und eine erhebliche Komplexität für eine Aktualisierung
erforderlich, welche bei einer steigenden Zahl an Aktualitätsgraden
praktisch explodiert und nur noch sehr schwer überschaubar ist. Für vier unterschiedliche
Aktualitätsgrade
für Software
(Aktualitätsgrade
A, B, C und D) ergeben sich sechs unterschiedliche zu unterstützende Formate,
die entwickelt, getestet und unterstützt werden müssen.
-
Daher
ist es Aufgabe der vorliegenden Erfindung, ein Verfahren zu schaffen,
mit dem die Speicherung und/oder Aktualisierung von Daten hoch flexibel
und zuverlässig
erfolgen kann.
-
Diese
Aufgabe wird durch ein Verfahren, welches die Merkmale nach Patentanspruch
1 aufweist, gelöst.
-
Bei
einem erfindungsgemäßen Verfahren
zur Speicherung und/oder Aktualisierung von Daten in zumindest einem
Gerät eines
Fahrzeugs, werden folgende Schritte durchgeführt, welche nicht zwingend in
der angegebenen Reihenfolge durchgeführt werden müssen:
a)
Bereitstellen von Daten mit einem gegenwärtigen Aktualitätsgrad für das Gerät;
b)
Bereitstellen einer spezifischen Steuerdatei, in welcher Informationen über den
gegenwärtigen
Aktualitätsgrad
der Daten für
das Gerät
enthalten sind;
c) Feststellen des Aktualitätsgrades der in dem Gerät vorhandenen
Daten;
d) Auswerten der Informationen der Steuerdatei im Hinblick
darauf, ob der Aktualitätsgrad
der in dem Gerät
vorhandenen Informationen mit dem gegenwärtigen Aktualitätsgrad übereinstimmt;
e)
Aktualisieren der in dem Gerät
vorhandenen Daten abhängig
vom festgestellten Aktualitätsgrad
der in dem Gerät
vorhandenen Daten, falls dieser Aktualitätsgrad von den mit dem gegenwärtigen Aktualitätsgrad bereitgestellten
Daten abweicht, wobei ein Aktualisierungsablauf der Daten durch
die in der Steuerdatei enthaltenen Informationen abhängig vom
Aktualitätsgrad
der in dem Gerät
vorhandenen Daten vorgegeben wird, wobei der gegenwärtige Aktualitätsgrad der
Soll-Aktualitätsgrad
abgelegt wird und in der Steuerdatei nach Informationen über den
Soll-Aktualitätsgrad
gesucht wird und
die Steuerdatei eine Aktualisierungsfrequenz
mit einem spezifischen Index aufweist, die den Soll-Aktualitätsgrad beinhaltet
und der über
den spezifischen Index gesucht wird und
dem spezifischen Index
eine Kommando-Sequenz zugeordnet, die die Aktualisierungsweise vorgibt
und die Aktualisierung der Daten in zumindest zwei Stufen durch
Zwischen-Aktualisierungen durchgeführt wird, wobei die Daten in
mehreren Stufen aktualisiert werden, wenn zwischen dem gegen wärtigen Aktualitätsgrad der
in dem Gerät
vorhandenen Daten zumindest ein weiterer Aktualitätsgrad vorhanden
ist.
-
Das
Verfahren ermöglicht
eine vollständige und
schnelle Aktualisierung von Daten eines Gerätes in sehr flexibler Weise.
In bevorzugter Weise werden die in der Steuerdatei enthaltenen Informationen
separat zu Informationen einer Aktualisierungsweise der Daten bereitgestellt.
-
Es
ist vorteilhaft, wenn ein Abbruch nachfolgend auf Schritt d) durchgeführt wird,
wenn der gegenwärtige
Aktualitätsgrad
der Daten mit dem Aktualitätsgrad
der in dem Gerät
vorhandenen Daten übereinstimmt.
-
Die
Informationen der Steuerdatei werden bevorzugt auf einem Datenspeicher
bereitgestellt oder übertragen.
Die in dem Gerät
vorhandenen und gegebenenfalls zu aktualisierenden Daten sind vorteilhafter
Weise Software- und/oder
Hardwaredaten.
-
Durch
das erfindungsgemäße Verfahren kann
ein dynamisches Flashkonzept bereitgestellt werden, welches in aufwandsarmer
und zulässiger Weise
die Speicherung und/oder Aktualisierung von Daten in zumindest einem
Gerät eines
Fahrzeugs ermöglicht.
Auch dann, wenn eine Mehrzahl an unterschiedlichen Aktualitätsgraden
der Daten in einem oder mehreren Geräten vorliegt, kann die Aktualisierung
individuell durchgeführt
werden. Nicht zuletzt erfolgt der Update von Software in Fahrzeugen
durch die Erfindung auch schnell und vollständig.
-
Die
Anzahl an unterschiedlichen Formaten (im Stand der Technik sechs
Formate bei vier unterschiedlichen Aktualitätsgraden A bis D) kann deutlich reduziert
werden. Im eingangs genannten Beispiel müssen dann beispielsweise nur
noch maximal drei Datenformate entwickelt und getestet werden, da
allenfalls quasi eine kontinuierliche Aktualisierung vom Aktualitätsgrad A
bis zum gegenwärtig
neuesten Aktualitätsgrad
D über
die zwischenzeitlichen Aktualitätsgrade
B und C durchgeführt
werden muss. Dadurch kann sowohl Zeit in der Entwicklung als auch beim
Testen und Freigeben der Software eingespart werden. Nicht zuletzt
deshalb kann dadurch auch eine deutliche Kostenreduzierung und Qualitätsverbesserung
erreicht werden.
-
Die
Auslagerung der Informationen in eine Steuerdatei als separate Datei
ermöglicht
eine maximale Flexibilität
im Hinblick auf das Speichern und/oder Aktualisieren von Daten mit
unterschiedlichsten Aktualitätsgraden.
Indem die Steuerdatei Informationen zur individuellen bzw. spezifischen
Ablaufsteuerung der Aktualisierung aufweist kann somit die eigentliche
Vorgehensweise des Aktualisierungsablaufs von der eigentlichen Aktualisierungsweise separiert
werden. Einerseits wird dabei durch den spezifischen Aktualisierungsablauf
und damit durch die Informationen in der Steuerdatei individuell
festgelegt, ob überhaupt
eine Aktualisierung durchgeführt
werden muss. Falls dies gegeben ist, wird durch die Steuerdatei
aktualitätsgradabhängig vorgegeben, welche
Daten aktualisiert werden sollen. Andererseits wird dann davon praktisch
unabhängig
eine eigentliche Aktualisierung durch eine Aktualisierungsweise
bzw. ein Aktualisierungsverfahren durchgeführt. Diese Aktualisierungsweise
beinhaltet im Unterschied zum durch die Steuerdatei vorgegebenen Aktualisierungsablauf
die Informationen, wie im Falle einer erkannten und durchzuführenden
Unterschiedlichkeit an Aktualitätsgraden
die Daten ersetzt werden sollen. Die Aktualisierungsweise kann von
beliebigen Parametern eines Steuergeräts abhängig sein. So kann der Aktualitätsgrad ebenso
wie der Hardware-Typ oder die Hardware-Variante berücksichtigt werden.
-
Nachdem
der Aktualitätsgrad
der in dem Gerät
enthaltenen Daten erkannt wurde, kann daraufhin ein spezielles Flashen
dieser Daten vorgesehen werden. Die Flashreihenfolge und somit der
spezifische Aktualisierungsablauf für Daten mit einem geltenden Aktualisierungsgrad
wird dabei in der Steuerdatei beschrieben und ist nicht fest in
der Flash-Software und somit nicht fest in der Software für die Aktualisierungsweise
bzw. das Aktualisierungsverfahren hinterlegt.
-
Die
Erfindung ermöglicht
auch ein mehrfaches Flashen über „Zwischenstände". Das ist dann vorteilhaft,
wenn Daten mit einem sehr alten Aktualitätsgrad in einem Gerät vorliegen
(beispielsweise Aktualitätsgrad „A") und der gegenwärtige Aktualitätsgrad viel
jünger
ist (beispielsweise Aktualitätsgrad „D"). Hierbei kann es
vorteilhaft sein, wenn ein Flashen der Daten mit dem Aktualitätsgrad „A" über die Aktualitätsgrade „B" und „C" erfolgt, um dann
zum neuesten Aktualitätsgrad „D" zu gelangen. Dabei kann
erreicht werden, dass auch spezielle und bestimmte Software-Treiber
auf den neuesten gegenwärtigen
Aktualitätsgrad „D" gebracht werden
können.
Die erreichten „Zwischenstände" (hier die Aktualitätsgrade „B" und „C") sind jedoch nur
temporär und
im Allgemeinen nicht kundentauglich. Ein solches Mehrfach- Flashen kann mit
der Erfindung und speziell für
die betroffene Software vorgesehen werden.
-
Die
Erfindung wird nachfolgend anhand einer schematischen Zeichnung
näher erläutert. Die einzige 1 zeigt
ein Ablaufdiagramm des erfindungsgemäßen Verfahrens.
-
Bei
dem in 1 gezeigten Verfahren werden Software- und/oder
Hardwaredaten von mehreren Geräten
in einem Fahrzeug gespeichert und aktualisiert. In einem ersten
Schritt S1 werden dabei zunächst
Software- und/oder Hardwaredaten mit einem gegenwärtigen und
somit dem neuesten Aktualitätsgrad
für das
jeweilige Gerät
bereitgestellt. In einem weiteren Schritt S2 wird eine spezifische
Steuerdatei bereitgestellt, in welche Informationen über den
gegenwärtigen
Aktualitätsgrad
der Daten enthalten sind. Die Steuerdatei kann dabei auf einem Datenträger, beispielsweise
auf einer CD-ROM oder einer DVD, bereitgestellt werden und in eine
zur Aktualisierung bereitgestellte Einheit eingeführt werden.
Es kann jedoch auch vorgesehen sein, dass die Steuerdatei und die
Informationen dieser Steuerdatei über eine externe Einheit drahtlos
oder drahtgebunden an die jeweiligen Geräte des Fahrzeugs übertragen
werden.
-
In
einem weiteren Schritt S3 wird der Aktualitätsgrad der in dem jeweiligen
Gerät vorhandenen Daten
festgestellt.
-
Im
Ausführungsbeispiel
weisen die Daten in einem ersten Gerät des Fahrzeugs einen Aktualitätsgrad „A" auf, welcher einen ältesten
Aktualitätsgrad charakterisiert.
Im Ausführungsbeispiel
ist der gegenwärtige
Aktualitätsgrad
durch den neuesten Aktualitätsgrad „D" gekennzeichnet.
Zwischen diesen Aktualitätsgraden „A" und „D" sind Zwischen-Aktualitätsgrade „B" und „C" gegeben, wobei die
zeitliche Aktualität
durch die Buchstabenreihenfolge A, B, C, D symbolisch vorgegeben
ist.
-
Anhand
der Informationen der Steuerdatei und dem festgestellten Aktualitätsgrad „A" der in dem Gerät vorhandenen
Daten wird im Ausführungsbei spiel
gemäß einem
Schritt S4 eine Auswertung im Hinblick auf eine Übereinstimmung der Aktualitätsgrade
vorgenommen. Gemäß Schritt
S5 wird im Ausführungsbeispiel
festgestellt, dass die Aktualitätsgrade
voneinander abweichen, wodurch mit dem Schritt S6 fortgefahren wird.
-
Würde beispielsweise
festgestellt werden, dass die Aktualitätsgrade zwischen den Daten
in dem gegenwärtig
zu prüfenden
Gerät gleich
dem gegenwärtigen
Aktualitätsgrad,
beispielsweise „D", übereinstimmen
würden,
so würde
im Schritt S5 sofort zum Schritt S9 gesprungen werden, da eine Aktualisierung
von Daten des gegenwärtig
geprüften
Gerätes
nicht erforderlich ist. Im Schritt S9 würde dann geprüft werden,
ob weitere Geräte
in dem Fahrzeug vorhanden sind, welche im Hinblick auf eine Aktualisierung
von Daten noch nicht überprüft wurden.
-
Ausgehend
von dem im Schritt S5 festgestellten Unterschied (unterschiedliche
Aktualitätsgrade „A" und „D") wird dann gemäß einem
Schritt S6 ein spezifischer Index in einer Aktualisierungssequenz der
Steuerdatei gesucht. Diese Aktualisierungs-Sequenz bzw. Flash-Sequenz
bildet einen bestimmten Abschnitt der Steuerdatei bzw. der Flash-Steuerdatei.
Dabei ist in der Steuerdatei auch ein Grundeinstellungs-Index enthalten,
welcher herangezogen wird, falls ein genaues teilqualifiziertes
Profil des Aktualitätsgrades
der in dem Gerät
vorhandenen Daten (im Ausführungsbeispiel
Aktualitätsgrad "A") nicht gefunden wird.
-
Abhängig von
dem gefundenen spezifischen Index wird das zu überprüfende Gerät anhand einer Kommando-Sequenz
geflasht, wobei diese Kommando-Sequenz
an dem spezifischen Index hinterlegt ist (Schritt S7).
-
Im
vorliegenden Ausführungsbeispiel
wird durch die Steuerdatei ein spezifischer Aktualisierungsablauf
der in dem Gerät
vorhandenen Daten durch die in der Steuerdatei enthaltenen Informationen
abhängig
vom Aktualitätsgrad
der in dem Gerät vorhandenen
Daten vorgegeben.
-
Die
in der Steuerdatei enthaltenen Informationen sind als separate Informationen
bereitgestellt. Die Steuerdatei und die darin enthaltenen Informationen
sind nicht fest in der Flash-Software hinterlegt, wodurch die durch
die Flash-Software
vorgegebene Aktualisierungsweise separat zu dem spezifischen Aktualisierungsablauf
hinterlegt wird.
-
Im
Ausführungsbeispiel
wird dabei im Schritt S7 ein Aktualitätsgrad „B" der in dem Steuergerät vorhandenen
Daten erreicht.
-
Im
Schritt S8 wird dann überprüft, ob der nunmehr
erreichte Aktualitätsgrad
(hier „B") der in dem Gerät vorhandenen
Daten gleich dem gegenwärtigen
Aktualitätsgrad „D", welcher als Soll-Aktualitätsgrad in
der Steuerdatei abgelegt ist, ist. Dabei wird im Ausführungsbeispiel
festgestellt, dass dies nicht der Fall ist und dadurch wieder auf
Schritt S3 zurückgesprungen
wird. Die Schleife vom Schritt S3 bis zum Schritt S8 wird so oft
wiederholt, bis im Schritt S8 festgestellt wird, dass die in dem
Gerät vorhandenen
Daten nunmehr einen Aktualitätsgrad „D" aufweisen, und somit
auf den aktuellsten Stand gebracht wurden. Es kann auch vorgesehen
sein, dass der Schritt S8 entfällt
und vom Schritt S7 direkt zum Schritt S3 und/oder zum Schritt S9 übergegangen wird.
-
Nachfolgend
wird dann im Schritt S9 geprüft, ob
alle im Fahrzeug zu überprüfenden Geräte im Hinblick
auf eine Speicherung und/oder Aktualisierung von den jeweils darin
vorhandenen Daten überprüft wurden.
Trifft dies nicht zu, wird auch hier wiederum auf Schritt S3 zurückgesprungen
und das nächste Gerät des Fahrzeugs
gemäß dem oben
erläuterten Ablauf
aktualisiert. Sind dann im Schritt S9 alle Geräte überprüft, wird der Vorgang beendet
(Schritt S10). Die im Ausführungsbeispiel
durchlaufenen Zwischen-Aktualitätszustände „B" und „C" sind lediglich temporär und nicht
kundentauglich, was bedeutet, dass ein ordnungsgemäßer Betrieb
mit diesen Zwischenstufen im Allgemeinen nicht ordnungsgemäß möglich ist.
-
Durch
das Verfahren kann somit auch über mehrere
Zwischenstufen ein zuverlässiges
und schnelles Aktualisieren von Daten in einem Gerät eines Fahrzeugs
ermöglicht
werden. Auch dann wenn eine Vielzahl an unterschiedlichen Aktualitätsgraden von
in den Geräten
vorhandenen Daten vorliegen können,
kann mit dem Verfahren in einfacher und aufwandsarmer Weise eine
individuelle Aktualisierung in variabler Weise durchgeführt werden.
Die Flexibilität
des vorliegenden Verfahrens ist ein wesentlicher Vorteil.