WO2020099023A2 - Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium - Google Patents

Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium Download PDF

Info

Publication number
WO2020099023A2
WO2020099023A2 PCT/EP2019/076994 EP2019076994W WO2020099023A2 WO 2020099023 A2 WO2020099023 A2 WO 2020099023A2 EP 2019076994 W EP2019076994 W EP 2019076994W WO 2020099023 A2 WO2020099023 A2 WO 2020099023A2
Authority
WO
WIPO (PCT)
Prior art keywords
program
update
data
control device
data carrier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2019/076994
Other languages
English (en)
French (fr)
Other versions
WO2020099023A3 (de
Inventor
Hans-Guenter Kothgasser
Christophe Elies
Matthias Bilger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Publication of WO2020099023A2 publication Critical patent/WO2020099023A2/de
Publication of WO2020099023A3 publication Critical patent/WO2020099023A3/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • Control device for a vehicle component kit comprising a control device and a tester device, vehicle, method for updating a control device and computer-readable storage medium
  • the present invention relates to a control device for a vehicle component, a kit comprising a control device and a tester device, a vehicle, a method for updating a control device and a corresponding computer-readable storage medium.
  • Vehicles such as cars, have a large number of control units which control and / or monitor different functions or actuators of the vehicle. So control devices are provided, for example the
  • Control devices for communication are each connected to one or more BUS systems in order to send or receive data.
  • Control devices also typically have a computing device and a storage device, and are designed to execute different programs in order to perform their control functions.
  • Control units are usually updated in a workshop.
  • a workshop employee connects a so-called tester or a tester device, ie a device which is used to update the control units, to the vehicle via an OBD connection.
  • the tester can then communicate with the control units in the vehicle via a BUS system.
  • Classic control units are implemented very close to the hardware. You have specialized hardware, e.g. B. ASICS (Application Specific Integrated Circuits), which work with defined programs and data.
  • Modern control devices on the other hand, can be used universally in some cases and have complex operating systems such as B. Linux-based systems and a file system.
  • the file system makes it possible to save data as files on partitions, ie logical data carriers, and to access them.
  • Such a modern control unit usually has two partitions in which the data or the programs and the operating system of the control unit are present in a mirrored manner.
  • a so-called main partition is used to run the programs while the vehicle is running.
  • a so-called mirror partition or mirror partition is used to ensure redundant storage of the programs of the control device. Programs to be executed as well as the
  • the data of the mirror partition are updated first.
  • the update process it is checked whether the update of the mirror partition has been successfully completed, e.g. B. by calculating a hash value over the partition and comparing the calculated hash value with a reference value. If the update is successfully completed, all data of the mirror partition can be transferred to the main partition.
  • Copying the mirror partition to the main partition includes copying application data and operating system data. This process takes a long time.
  • a control device is to be specified which consumes less time when updating the control device.
  • the object of the invention is achieved by a control device according to claim 1.
  • the object is achieved by a control device for a
  • Vehicle component in particular for a vehicle component of a car, comprising the following:
  • a storage device for storing a program update, a first logical data carrier and a second logical data carrier
  • a computing device for executing the program update and first program data stored on the first logical data carrier;
  • the program updater is designed to use second program data of the second logical data carrier
  • the computing device is designed to execute the updated second program data of the second logical data carrier.
  • a core of the invention is that a program updater is used to update the second program data.
  • a program update means a program that can be set up to update the second program data.
  • For the first and second program data can be programs to be executed or parts of programs to be executed.
  • Program user data can also be used to update the second program data.
  • Program data must be included.
  • the operating system of the control device is not part of the first or second program data.
  • Operating system can be stored on an operating system disk or partition.
  • the program updater can be stored on the first logical data carrier.
  • Program update is a program that is executed by the operating system.
  • a logical volume can be a partition of a
  • the first and second logical data carriers can be partitions of a file-based system.
  • the computing device can be designed to copy at least a subset of the second program data to the first logical data carrier, in particular the updated second program data.
  • the computing device can be designed to carry out the copying at a time when the computing device is in an idle or idle state.
  • the idle state is preferably a state in which no update tasks are carried out by the control device.
  • the vehicle can thus be any vehicle.
  • Refresh can be put back into operation quickly.
  • copying can only take place when a rest phase occurs. This means that the vehicle is available to the customer again more quickly.
  • a communication device can be provided in the control device, which can be designed to receive an update signal, wherein the program updater can be configured to update the second program data in response to the receipt of the
  • the initiation of the update process can thus advantageously be started by an external signal.
  • a tester connected to the control unit outputs the update signal.
  • the communication device can be designed to transmit the update signal via a wireless interface, such as e.g. B. to receive an air interface such as LTE or GSM or 3G. It is also conceivable that the communication device receives the update signal via a WLAN interface.
  • the program updater may be configured to interrupt execution of the first program data in response to / receiving the update signal.
  • control unit can thus be brought into a defined state. For example, access to
  • Hardware resources are interrupted, or the hardware resources are released. This is an advantage because it ensures that the
  • ECU can be ensured during the update.
  • authorization conflicts can be prevented if individual files are used by the second program data.
  • the computing unit can be designed to identify a program that is specified by the second program data.
  • program data can indicate programs that form a logical unit. A program can thus be specifically updated.
  • the updating may be an exchange of a program stored on the second logical volume with one
  • the update may include replacing an operating system stored on the second logical volume.
  • the second logical data carrier can also store an operating system. For example, a Linux-based operating system
  • the updating can include calculating a checksum, in particular a hash value, using the second program data.
  • the updating can include comparing the calculated checksum with a reference checksum, wherein the computing device can be designed to execute the second program data only if the calculated checksum and the reference checksum are identical.
  • the reference checksum can indicate a planned state of the second logical data carrier and / or the second program data.
  • the update data can indicate an operating system, in particular a Linux-based operating system.
  • the computing device can be designed to switch the control device into an update mode.
  • the computing device can, for example in response to receiving the update signal, switch the control device into an update mode.
  • control functions of the control device can be deactivated in the update mode.
  • the control device can thus be switched in a kind of passive state.
  • One advantage is that external influences do not affect the update process.
  • kits comprising a control device as described above and a tester device, the control device having a communication device and the tester device being designed to update data via the communication device to send to the control unit.
  • the tester device or the tester can for example be communicatively connected to the control device via an OBD interface.
  • the tester device can therefore be a device with the aid of which a workshop employee can update data for updating the
  • Control unit can play on the control unit.
  • the tester device can be designed to check whether the second logical data carrier indicates a consistent state of the vehicle and / or the control device, in particular before and / or after an update has been carried out.
  • a consistent condition of the vehicle can result from a variety of
  • a consistent state can be indicated by a number of programs installed. It is also possible that calculated checksums of the installed programs on the second logical data carrier indicate a consistent state.
  • a consistent state can be stored on the tester device, wherein the tester device can be designed to compare the consistent state stored on the tester device with a state specified by the control device or the plurality of control devices.
  • the tester device can thus prevent a control unit from being put back into operation, which causes an inconsistent state. Overall, the safety of the vehicle during operation is increased.
  • the object is further achieved by a vehicle according to claim 11.
  • the object is achieved by a vehicle comprising a plurality of control devices, as described above, wherein a gateway communicatively connected to the plurality of control devices is provided, which is designed to receive update data from a tester device and to send it to the plurality of control devices .
  • a vehicle can thus have a large number of control units, the gateway sending the update data from the tester device to the
  • control unit sends updating control units. This makes it possible to easily update a large number of control units at once. Furthermore, there are the advantages of upgrading the control unit
  • Control units are thus drastically reduced.
  • the object is further achieved by a method according to claim 11.
  • the object is achieved by a method for updating a control device, comprising the following steps: a) execution of first program data by a control device, which are stored on a first logical data carrier; b) receiving update data;
  • the method can include copying at least a subset of the second program data onto the first logical data carrier.
  • the control device, the vehicle and the kit can be identified as the main data carrier and the second logical data carrier can be identified as the mirror data carrier, the execution of the
  • updated second program data includes an identification of the first logical data carrier as a mirror data carrier and the second logical data carrier as the main data carrier.
  • the control device can be instructed in a very simple manner to execute the updated second program data.
  • a computing device can be designed to always execute the program data of the main data carrier.
  • the second logical data carrier as the main data carrier, it can be easily ensured that the updated second program data are executed after an update. There is no need for time-consuming copying of the updated program data.
  • the new one can also be identified Main data carrier copying the update from the second logical data carrier to the first logical data carrier can be provided.
  • the method can include: dl) determining at least one characteristic value that is specified by the updated second program data;
  • the object is further achieved by a computer-readable storage medium which contains instructions for implementing a method as described above if the instructions are provided by at least one
  • Figure 1 is a schematic representation of a vehicle with a tester and a plurality of control units.
  • Fig. 2 is a schematic representation of a control unit
  • FIG. 3 shows a schematic illustration of a storage device with two logical data carriers
  • Fig. 4 shows the memory device of Fig. 3 after the update process
  • Fig. 6 is a flowchart schematically illustrating the process of the update.
  • FIG. 1 shows vehicle 10 with a large number of control units 20, 20 ', 20 ".
  • the control unit 20 is a device which is used for
  • the control unit 20 ' is a device which is used for automatically switching on the front light.
  • the control unit 20 " is a device which is used to control a temperature sensor.
  • the central gateway 12 is a device which allows the control devices 20, 20 ', 20 "to communicate with one another, although they may be connected via different BUS systems 23, 23', 23".
  • the BUS systems include a CAN bus, an Ethernet network or a LIN bus.
  • the central gateway 12 is communicatively connected to an onboard diagnostic connector 11 (OBD connector) by means of an Ethernet connection 13.
  • a tester 1 can be connected via the OBD connection 11.
  • Tester 1 is a device that can be used by workshop personnel and is usually part of an OBD diagnostic device.
  • the tester 1 comprises a tester storage device and a tester computing device.
  • a tester communication device is provided for communication, which enables communication with the OBD interface 11 of the vehicle 10. Update data are stored in the tester storage device
  • the tester 1 can download the update data from a server from the Internet.
  • the tester 1 can have a mobile radio interface or a WLAN interface.
  • the tester 1 receives a vehicle identification and a list of the installed ones via the tester communication device Control units 20, 20 ', 20 "and the programs installed thereon. Using this information, tester 1 can query a server whether there are updates for control units 20, 20', 20" that
  • Programs can tester 1 update data 3 via an OBD connection
  • the update data 3 can be individual programs or also individual files. This is particularly advantageous if the control units 20, 20 ', 20" are designed as file-based control units. This means that a file system is present on the control units 20, 20 ', 20 ". File systems can be, for example, ext2, ext3, ext3, Btrfs, FAT, FAT32, VFAT, NTFS, HFS, HFS + or corresponding derivatives. In addition to that The file system and the program to be executed usually comprise the control devices 20, 20 ', 20 "an operating system. Linux-based operating systems can preferably be used on the control devices 20, 20 ', 20 ".
  • Fig. 2 shows a schematic representation of a control unit 20.
  • Control device 20 comprises a control device communication device 21, a control device computing device 22 and a control device storage device 30.
  • the control device communication device 21 can be designed as a BUS communication device. This means that the control unit 20 can be connected to a vehicle bus.
  • the control device 20 receives update data 3 via the control device communication device 21.
  • the update data 3 are then processed by the control device computing device 22.
  • FIG. 3 shows the control unit storage device 30 in a schematic
  • the control unit storage device 30 comprises a boot loader 33, as well as a first logical data carrier 31 and a second logical one
  • the first logical data carrier 31 denotes a so-called main or main partition.
  • the second logical volume 32 denotes a so-called Mirror or mirror partition.
  • program data is stored as first program data 34 and second program data 35.
  • the first program data 34 and second program data 35 are identical in the exemplary embodiment in FIG. 3 and each indicate a program APP2. Furthermore, there are in each case on the first logical data carrier 31 and second logical data carrier 32
  • Program update APP1 is trained to update programs.
  • the boot loader 33 has the function of starting the operating system OS of the main partition 31 when the control unit 20, 20 ', 20 "is switched on.
  • the first program data 34 are saved by the first program data 34 .
  • Control unit computing device 22 executed.
  • the control unit computing device 22 is designed to always execute the program data that is stored on the main partition.
  • the second program data 35 the
  • Mirror partition serve as a backup.
  • the second logical data carrier 32 is first updated and then the updated data which are stored in the second logical data carrier 32 are copied to the first logical data carrier.
  • Program update APP1 that update data 3 are initially stored in the second logical data carrier 32.
  • the update data 3 are represented by an additional program APP3.
  • An additional program is therefore installed on the control unit 20.
  • an existing program can be replaced, whereby the replacement of a program is equivalent to an update. Deleting at least one program can also represent an update of the second program data 35.
  • the identification of the first logical data carrier 31 and the second logical data carrier 32 is exchanged. This means that after the update, the second logical volume 32 as the main Partition is referred to and the first logical volume 31 as a mirror or mirror partition.
  • the control unit computing device 22 immediately after updating the second program data 35 together with the
  • the updated control device 20, 20 ', 20 "can continue its operation immediately after the update.
  • FIG. 5 illustrates that after a successful update of the second program data 35 of the second logical data carrier 32 and one
  • the program data or files or data of the second logical data carrier 32 are mirrored or copied onto the first logical data carrier 31.
  • the main partition and the mirror partition contain the same program data 34, 35. It is not necessary to copy all the program data, but it is sufficient if the changed or updated data is copied. An incremental update of the program data is thus carried out, after which only the changes have to be copied or mirrored onto the first logical data carrier. As a result, little data is copied overall.
  • step S1 a workshop employee connects a tester 1 to a corresponding OBD connection 11 to a vehicle 10 by means of an OBD connection 2.
  • step S2 an update signal is sent from the tester 1 to the
  • tester 1 can send out a broadcast signal which is received by all connected control devices 20, 20', 20".
  • Control devices 20, 20 ', 20 in a so-called flash mode.
  • the control units 20, 20 ', 20 block their actual control tasks.
  • step S3 the tester 1 reads the data on the control units 20, 20 ', 20 "
  • the tester 1 thus contains a complete list of all programs and data that are installed on the control units 20, 20 ′, 20 ′′ of the vehicle 10. In addition, the tester 1 also receives
  • step S4 tester 1 determines which program data or which
  • Programs or data must be updated so that the vehicle 10 again has a consistent vehicle state after the update of a single control device 20. This is particularly necessary because
  • Vehicles are tested in different software configurations, so that a certain combination of software versions must be installed in the vehicle. Otherwise, for the security of a software configuration, i.e. the combination of a variety of different software versions are not guaranteed.
  • control units 20, 20 ', 20 Programs and data on which control units 20, 20 ', 20 "need to be updated, the tester 1 sends a corresponding signal to the control units 20, 20', 20" to be updated in step S5.
  • control units 20, 20 ', 20 " In response to the received signal by the control units 20, 20 ', 20 ", the control units 20, 20', 20" end their current programs.
  • step S7 a corresponding program is exchanged, added or deleted by the program update APP1.
  • user data such. B. card material or configuration parameters can be exchanged.
  • a checksum is calculated for the newly installed program or program data, e.g. Legs MD5 checksum.
  • step S7 it is then checked whether the update was carried out successfully.
  • the calculated checksum or the hash is compared by the tester 1 with a reference value.
  • the tester 1 can send the reference value to the updated control device 20, 20 ', 20 ", so that the control device 20, 20', 20" can check itself whether the update was carried out successfully.
  • step S8 the tester 1 checks whether all control units 20, 20 ', 20 "have stored software which together have a consistent one
  • step S9 the previous mirror partition becomes the main partition
  • step S10 the content of the new main partition is transferred to the mirror partition, i.e. mirrored. However, only the changed ones are used
  • step Si 1 the program update APP2 is ended and the vehicle 10 is switched to a basic state.
  • the tester 1 sends a further signal to all connected control units 20, 20 ', 20 ", so that the programs on the control units 20, 20', 20" are started.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Die Erfindung betrifft ein Steuergerät (20) für eine Fahrzeugkomponente, insbesondere für eine Fahrzeugkomponente eines PKWs (10), folgendes aufweisend: - eine Speichereinrichtung (30) zur Speicherung eines Programmupdaters (APP1), eines ersten logischen Datenträgers (31) und eines zweiten logischen Datenträgers (32); - eine Recheneinrichtung (22) zum Ausführen des Programmupdaters (APP1) und von ersten Programmdaten (34), die auf dem ersten logischen Datenträger (31) gespeichert sind; wobei - der Programmupdater (APP1) dazu ausgebildet ist, zweite Programmdaten (34) des zweiten logischen Datenträgers (32) unter Verwendung von Aktualisierungsdaten (3) zu aktualisieren; und - die Recheneinrichtung (32) dazu ausgebildet ist: ° zumindest eine Teilmenge der zweiten Programmdaten (35) auf den ersten logischen Datenträger (31) zu kopieren, insbesondere die aktualisierten zweiten Programmdaten (35) zu kopieren; ° die aktualisierten zweiten Programmdaten (35) des zweiten logischen Datenträgers (32) auszuführen.

Description

Steuergerät für eine Fahrzeugkomponente, Kit umfassend ein Steuergerät und eine Testereinrichtung, Fahrzeug, Verfahren zum Aktualisieren eines Steuergeräts und computerlesbares Speichermedium
Beschreibung
Die vorliegende Erfindung betrifft ein Steuergerät für eine Fahrzeugkomponente, ein Kit umfassend ein Steuergerät und eine Testereinrichtung, ein Fahrzeug, ein Verfahren zum Aktualisieren eines Steuergeräts und ein entsprechendes computerlesbares Speichermedium.
Fahrzeuge, wie PKW, verfügen über eine Vielzahl von Steuergeräten, die unterschiedliche Funktionen bzw. Aktuatoren des Fahrzeugs steuern und/oder überwachen. So sind Steuergeräte vorgesehen, die beispielsweise die
Motorsteuerung übernehmen oder die Bremssteuerung. Ein Einbau kann an einer beliebigen Stelle im Fahrzeug vorgesehen sein. Üblicherweise sind diese
Steuergeräte zur Kommunikation jeweils an ein oder mehrere BUS-Systeme angeschlossen, um Daten zu senden oder zu empfangen.
Steuergeräte weisen ferner üblicherweise eine Recheneinrichtung und eine Speichereinrichtung auf, und sind dazu ausgebildet unterschiedliche Programme auszuführen, um ihre Steuerfunktionen zu übernehmen.
Im Zuge der zunehmenden Vernetzung von Fahrzeugen ist es notwendig, die auf den Steuergeräten auszuführende Software bzw. die Programme regelmäßig mit Updates bzw. Aktualisierungen zu versorgen. Durch regelmäßige Aktualisierungen können bestehende Programme aktualisiert oder entfernt werden. Es ist auch möglich, neue Funktionen in Form neuer Programme per Aktualisierung
hinzuzufügen.
Üblicherweise werden Steuergeräte in einer Werkstatt aktualisiert. Dazu schließt ein Werkstattmitarbeiter einen sog. Tester bzw. eine Testereinrichtung, d.h. eine Vorrichtung, die zum Aktualisieren der Steuergeräte eingesetzt wird, über einen OBD-Anschluss an das Fahrzeug an. Der Tester kann dann mit den Steuergeräten im Fahrzeug über ein BUS-System kommunizieren. Klassische Steuergeräte sind sehr Hardware-nah umgesetzt. Sie verfügen über spezialisierte Hardware, z. B. ASICS (Application Specific Integrated Circuits), die mit fest definierten Programmen und Daten arbeiten. Moderne Steuergeräte hingegen sind teilweise universal einsetzbar und verfügen über aufwändige Betriebssysteme, wie z. B. Linux-basierte Systeme und ein Dateisystem. Das Dateisystem ermöglicht es, Daten als Dateien auf Partitionen, d.h. logischen Datenträgern, zu speichern und auf diese zuzugreifen.
Solch ein modernes Steuergerät verfügt üblicherweise über zwei Partitionen, in denen die Daten bzw. die Programme und das Betriebssystem des Steuergerätes gespiegelt vorliegen. Eine sog. Hauptpartition oder auch Main genannt, wird verwendet, um die Programme während des Betriebs des Fahrzeugs auszuführen. Eine sog. Spiegel-Partition bzw. Mirror-Partition, wird verwendet, um eine redundante Speicherung der Programme des Steuergeräts zu gewährleisten. Auf den Partitionen werden jeweils auszuführende Programme sowie das
Betriebssystem gespeichert. Somit ist immer gewährleistet, dass auch bei
Beschädigung der Hauptpartition eine Sicherungskopie vorliegt.
Bei einem Aktualisierungsvorgang einer Applikation während das Fahrzeug in Betrieb ist, werden zunächst die Daten der Spiegelpartition aktualisiert.
Zum Abschluss des Aktualisierungsvorgangs wird überprüft, ob die Aktualisierung der Spiegelpartition erfolgreich abgeschlossen ist, z. B. durch das Berechnen eines Hash-Wertes über die Partition und Vergleichen des berechneten Hash-Wertes mit einem Referenzwert. Ist die Aktualisierung erfolgreich abgeschlossen, so können sämtliche Daten der Spiegelpartition auf die Hauptpartition überspielt werden.
Das Kopieren der Spiegelpartition auf die Hauptpartition umfasst das Kopieren von Anwendungsdaten sowie die Betriebssystemdaten. Dieser Vorgang nimmt eine lange Zeit in Anspruch.
Bei einem Aktualisierungsvorgang eines Betriebssystems des Steuergeräts in einer Werkstatt sind keine besonderen Sicherheitsanforderungen beim Aktualisieren zu beachten, da das Fahrzeug bzw. die Steuergeräte in einen kontrollierten Zustand geschaltet werden. Somit kann beim Aktualisieren direkt auf die Main-Partition geschrieben werden. Dabei werden zunächst die Daten der Main-Partition gelöscht. Im Anschluss wird eine neue Version des Betriebssystems in komprimierter Form durch den Tester auf das Steuergerät aufgespielt, d.h. in den Speicher geschrieben. Das Betriebssystem wird anschließend entpackt. Letztlich muss das Steuergerät neugestartet werden, d.h. es muss ein sog. Hardware-reset ausgeführt werden. Diese Prozedur nimmt sehr viel Zeit in Anspruch und umfasst eine Menge von Schreibzyklen im Speicher des Steuergeräts, welche die
Lebenszeit des Speichers negativ beeinflussen.
Es ist daher Aufgabe der Erfindung, die Zeit beim Aktualisieren eines Steuergeräts zu reduzieren. Insbesondere soll ein Steuergerät angegeben werden, welches weniger Zeit beim Aktualisieren des Steuergeräts verbraucht. Darüber hinaus ist es Aufgabe der Erfindung, ein entsprechendes Kit anzugeben. Ferner ist es Aufgabe der Erfindung, ein entsprechendes Fahrzeug und ein entsprechendes Verfahren sowie ein entsprechendes computerlesbares Speichermedium
anzugeben.
Die Aufgabe der Erfindung wird gelöst durch ein Steuergerät nach Anspruch 1. Insbesondere wird die Aufgabe gelöst durch ein Steuergerät für eine
Fahrzeugkomponente, insbesondere für eine Fahrzeugkomponente eines PKWs, folgendes aufweisend :
- eine Speichereinrichtung zur Speicherung eines Programmupdaters , eines ersten logischen Datenträgers und eines zweiten logischen Datenträgers;
- eine Recheneinrichtung zum Ausführen des Programmupdaters und von ersten Programmdaten, die auf dem ersten logischen Datenträger gespeichert sind; wobei
- der Programmupdater dazu ausgebildet ist, zweite Programmdaten des zweiten logischen Datenträgers unter Verwendung von
Aktualisierungsdaten zu aktualisieren; und
- die Recheneinrichtung dazu ausgebildet ist, die aktualisierten zweiten Programmdaten des zweiten logischen Datenträgers auszuführen.
Ein Kern der Erfindung ist, dass ein Programmupdater verwendet wird, die zweiten Programmdaten zu aktualisieren. Unter einem Programmupdater kann ein Programm verstanden werden, das dazu eingerichtet sein kann, die zweiten Programmdaten zu aktualisieren. Bei den ersten und zweiten Programmdaten kann es sich um auszuführende Programme oder Teile von auszuführenden Programmen handeln. Auch Nutzdaten von Programmen können von den
Programmdaten umfasst sein. Das Betriebssystem des Steuergeräts ist in einer Ausführungsform nicht Teil der ersten oder zweiten Programmdaten. Das
Betriebssystem kann auf einem Betriebssystemdatenträger bzw. einer -partition gespeichert sein. Der Programmupdater kann in einer Ausführungsform auf dem ersten logischen Datenträger gespeichert sein.
Insbesondere kann in einer Ausführungsform vorgesehen sein, dass der
Programmupdater ein Programm ist, dass durch das Betriebssystem ausgeführt wird.
Bei einem logischen Datenträger kann es sich um eine Partition eines
Dateisystems handeln. Insbesondere kann es sich bei dem ersten und zweiten logischen Datenträger um eine Partition eines dateibasierten Systems handeln.
In einer Ausführungsform kann die Recheneinrichtung dazu ausgebildet sein, zumindest eine Teilmenge der zweiten Programmdaten auf den ersten logischen Datenträger zu kopieren, insbesondere die aktualisierten zweiten Programmdaten.
Dadurch, dass lediglich zweite Programmdaten des zweiten logischen
Datenträgers aktualisiert werden müssen, müssen wenig Daten von dem zweiten logischen Datenträger auf den ersten logischen Datenträger kopiert werden.
Insbesondere ist vorgesehen, dass nur jene Daten kopiert werden, die von der Aktualisierung betroffen sind. Eine Kopie des Betriebssystems ist nicht
erforderlich, sofern das Betriebssystem nicht selbst aktualisiert wird. Somit kann ein inkrementeiles Aktualisieren von Programmen und Programmdaten
durchgeführt werden, wobei die Zeit zur Aktualisierung und des Kopierens stark reduziert wird.
In einer Ausführungsform kann die Recheneinrichtung dazu ausgebildet sein, das Kopieren zu einem Zeitpunkt auszuführen, zu dem sich die Recheneinrichtung in einem Idle- bzw. Ruhezustand befindet. Vorzugsweise ist der Ruhezustand ein Zustand, in dem keine Aktualisierungsaufgeben durch das Steuergerät ausgeführt werden. In einer Ausführungsform kann vorgesehen sein, dass das Kopieren nach höchstens jedem 2. Aktualisieren, vorzugsweise nach jedem 3. oder 4.
Aktualisieren, ausgeführt wird.
Bei der beschrieben Ausführungsform kann somit das Fahrzeug nach dem
Aktualisieren schnell wieder in Betrieb genommen werden. Ein Kopieren kann in einer Ausführungsform erst dann erfolgen, wenn eine Ruhephase eintritt. Somit steht das Fahrzeug dem Kunden schneller wieder zur Verfügung.
In einer Ausführungsform kann eine Kommunikationseinrichtung im Steuergerät vorgesehen sein, die zum Empfang eines Aktualisierungssignals ausgebildet sein kann, wobei der Programmupdater dazu ausgebildet sein kann, das Aktualisieren der zweiten Programmdaten in Reaktion auf den Empfang des
Aktualisierungssignals auszuführen.
Die Initiierung des Aktualisierungsvorgangs kann vorteilhafterweise somit durch ein externes Signal gestartet werden. Beispielsweise ist es denkbar, dass ein an das Steuergerät angeschlossener Tester das Aktualisierungssignal ausgibt. In einer Ausführungsform ist es möglich, dass die Kommunikationseinrichtung dazu ausgebildet sein kann, das Aktualisierungssignal über eine drahtlose Schnittstelle, wie z. B. eine Luftschnittstelle wie LTE oder GSM oder 3G, zu empfangen. Ebenso ist es denkbar, dass die Kommunikationseinrichtung das Aktualisierungssignal über eine WLAN-Schnittstelle empfängt.
In einer Ausführungsform kann der Programmupdater dazu ausgebildet sein, eine Ausführung der ersten Programmdaten in Reaktion auf ein/das Empfangen des Aktualisierungssignals zu unterbrechen.
Es ist demnach möglich, dass vor einem Aktualisieren die Ausführung der ersten Programmdaten unterbrochen wird. Somit kann das Steuergerät in einen definierten Zustand überführt werden. Z. B. kann der Zugriff auf
Hardwareressourcen unterbrochen werden, bzw. die Hardwareressourcen werden freigegeben. Dies ist von Vorteil, da somit ein sicheres Betreiben des
Steuergeräts während der Aktualisierung sichergestellt werden kann. Darüber hinaus können Berechtigungskonflikte verhindert werden, wenn einzelne Dateien durch die zweiten Programmdaten verwendet werden. In einer Ausführungsform kann die Recheneinheit dazu ausgebildet sein, ein Programm zu identifizieren, das durch die zweiten Programmdaten angegeben ist. Im Allgemeinen können Programmdaten Programme angeben, die eine logische Einheit bilden. Somit kann gezielt ein Programm aktualisiert werden.
In einer Ausführungsform kann das Aktualisieren ein Austauschen eines auf dem zweiten logischen Datenträger gespeicherten Programms mit einem
Austauschprogramm umfassen.
Es ist somit möglich, gezielt einzelne Programme zu ersetzen. Damit wird ein einfacher Mechanismus bereitgestellt, komplexe Datenstrukturen zu ersetzen. Ferner wird möglich gemacht, dass nur einzelne Programme von dem zweiten logischen Datenträger auf den ersten logischen Datenträger kopiert werden müssen. Somit kann ein inkrementeiles Update der auf einem Steuergerät gespeicherten Programme ausgeführt werden.
In einer Ausführungsform kann das Aktualisieren ein Austauschen eines auf dem zweiten logischen Datenträger gespeicherten Betriebssystems umfassen. Der zweite logische Datenträger kann neben den zweiten Programmdaten auch ein Betriebssystem speichern. Z. B. kann ein Linux-basiertes Betriebssystem
gespeichert sein. Das Betriebssystem kann somit ebenso wie ein Programm einfach ersetzt werden. Wird nur das Betriebssystem ersetzt, so ist es auch nur notwendig, das Betriebssystem auf den ersten logischen Datenträger zu kopieren. Es ist somit auch möglich, komplette Betriebssysteme mit dem
erfindungsgemäßen Steuergerät auszutauschen.
In einer Ausführungsform kann das Aktualisieren ein Berechnen einer Prüfsumme, insbesondere eines Hashwertes, über die zweiten Programmdaten umfassen.
In einer Ausführungsform kann das Aktualisieren ein Vergleichen der berechneten Prüfsumme mit einer Referenzprüfsumme umfassen, wobei die Recheneinrichtung dazu ausgebildet sein kann, die zweiten Programmdaten nur dann auszuführen, wenn die berechnete Prüfsumme und die Referenzprüfsumme identisch sind.
Die Referenzprüfsumme kann einen geplanten Zustand des zweiten logischen Datenträgers und/oder der zweiten Programmdaten angeben. Durch das Vergleichen einer berechneten Prüfsumme mit einer Referenzprüfsumme kann sichergestellt werden, dass das Steuergerät einen geplanten Zustand einnimmt und einwandfrei funktioniert.
In einer Ausführungsform können die Aktualisierungsdaten ein Betriebssystem, insbesondere ein Linux-basiertes Betriebssystem, angeben.
Das Austauschen eines Betriebssystems wird mit dem Steuergerät somit so einfach, wie das Austauschen eines einzelnen Programms.
In einer Ausführungsform kann die Recheneinrichtung dazu ausgebildet sein, das Steuergerät in einen Aktualisierungsmodus zu schalten.
Die Recheneinrichtung kann, beispielsweise in Reaktion auf das Empfangen des Aktualisierungssignals, das Steuergerät in einen Aktualisierungsmodus schalten.
In dem Aktualisierungsmodus können die Steuerfunktionen des Steuergeräts deaktiviert sein. Das Steuergerät kann somit in einer Art Passivzustand geschaltet sein. Ein Vorteil besteht darin, dass externe Einflüsse den Aktualisierungsvorgang nicht beeinflussen.
Die Aufgabe wird ferner gelöst durch ein Kit nach Anspruch 9. Insbesondere wird die Aufgabe gelöst durch ein Kit umfassend ein Steuergerät, wie es vorstehend beschrieben wurde und eine Testereinrichtung, wobei das Steuergerät eine Kommunikationseinrichtung aufweist und die Testereinrichtung dazu ausgebildet ist, Aktualisierungsdaten über die Kommunikationseinrichtung an das Steuergerät zu senden.
Die Testereinrichtung bzw. der Tester kann beispielsweise über eine OBD- Schnittstelle kommunikativ mit dem Steuergerät verbunden sein. Bei der
Testereinrichtung kann es sich somit um eine Vorrichtung handeln, mit deren Hilfe ein Werkstattmitarbeiter Aktualisierungsdaten zur Aktualisierung des
Steuergeräts auf das Steuergerät aufspielen kann.
Ein Vorteil ist, dass nur berechtigten Personen Zugriff auf die Aktualisierung des Steuergeräts gegeben wird. Somit kann ein unbefugtes Verändern der zweiten Programmdaten verhindert werden. In einer Ausführungsform kann die Testereinrichtung dazu ausgebildet sein, zu prüfen, ob der zweite logische Datenträger einen konsistenten Zustand des Fahrzeugs und/oder des Steuergeräts angibt, insbesondere bevor und/oder nachdem eine Aktualisierung durchgeführt ist.
Ein konsistenter Zustand des Fahrzeugs kann sich aus einer Vielzahl von
Zuständen von angeschlossenen Steuergeräten ergeben. Auch kann sich ein konsistenter Zustand des Fahrzeugs durch den Zustand eines einzelnen
Steuergeräts ergeben. Zum Beispiel kann ein konsistenter Zustand durch eine Menge an installierten Programmen angegeben sein. Auch ist es möglich, dass berechnete Prüfsummen der installierten Programme auf dem zweiten logischen Datenträger einen konsistenten Zustand angeben. Ein konsistenter Zustand kann auf der Testereinrichtung gespeichert sein, wobei die Testereinrichtung dazu ausgebildet sein kann, den auf der Testereinrichtung gespeicherten konsistenten Zustand mit einem durch das Steuergerät oder die Vielzahl an Steuergeräten angegebenen Zustand zu vergleichen.
Die Testereinrichtung kann somit verhindern, dass ein Steuergerät wieder in Betrieb genommen wird, bei dem ein inkonsistenter Zustand hervorgerufen wird. Insgesamt wird somit die Sicherheit des Fahrzeugs im Betrieb erhöht.
Die Aufgabe wird ferner gelöst durch ein Fahrzeug nach Anspruch 11.
Insbesondere wird die Aufgabe gelöst durch ein Fahrzeug umfassend eine Vielzahl von Steuergeräten, wie vorstehend beschrieben, wobei ein mit der Vielzahl von Steuergeräten kommunikativ verbundenes Gateway vorgesehen ist, das dazu ausgebildet ist, Aktualisierungsdaten von einer Testereinrichtung zu empfangen und an die Vielzahl der Steuergeräte zu senden.
Ein Fahrzeug kann somit eine Vielzahl von Steuergeräten aufweisen, wobei das Gateway die Aktualisierungsdaten von der Testereinrichtung an die zu
aktualisierenden Steuergeräte sendet. Es wird somit möglich gemacht, auf einfache Art eine Vielzahl von Steuergeräten auf einmal zu aktualisieren. Ferner treten die Vorteilte, die hinsichtlich der Aktualisierung des Steuergeräts
beschrieben wurden, vervielfacht auf. Die Gesamtbeanspruchung der
Fahrzeugressourcen bei einem Aktualisieren von Programmdaten von
Steuergeräten wird somit drastisch reduziert. Die Aufgabe wird ferner gelöst durch ein Verfahren nach Anspruch 11.
Insbesondere wird die Aufgabe gelöst durch ein Verfahren zum Aktualisieren eines Steuergeräts, folgende Schritte aufweisend : a) Ausführen von ersten Programmdaten durch ein Steuergerät, die auf einem ersten logischen Datenträger gespeichert sind; b) Empfangen von Aktualisierungsdaten;
c) Aktualisieren von zweiten Programmdaten unter Verwendung der Aktualisierungsdaten, wobei die zweiten Programmdaten auf einem zweiten logischen Datenträger gespeichert sind;
d) Ausführen der aktualisierten zweiten Programmdaten auf dem
zweiten logischen Datenträger durch das Steuergerät.
In einer Ausführungsform kann das Verfahren ein Kopieren zumindest einer Teilmenge der zweiten Programmdaten auf den ersten logischen Datenträger umfassen.
Es ergeben sich ähnliche oder identische Vorteile, wie sie bereits im Hinblick auf das Steuergerät beschrieben sind. In einer Ausführungsform des Verfahrens, des Steuergeräts, des Fahrzeugs und des Kits kann der erste logische Datenträger als Hauptdatenträger gekennzeichnet sein und der zweite logische Datenträger kann als Spiegeldatenträger gekennzeichnet sein, wobei das Ausführen der
aktualisierten zweiten Programmdaten eine Kennzeichnung des ersten logischen Datenträgers als Spiegeldatenträger und des zweiten logischen Datenträgers als Hauptdatenträger umfasst.
Durch das Vertauschen der Datenträgerzuordnungen kann auf eine sehr einfache Art und Weise das Steuergerät dazu angewiesen werden, die aktualisierten zweiten Programmdaten auszuführen. Zum Beispiel kann eine Recheneinrichtung dazu ausgebildet sein, immer die Programmdaten des Hauptdatenträgers auszuführen. Durch ein Kennzeichnen des zweiten logischen Datenträgers als Hauptdatenträger kann auf einfach Weise sichergestellt werden, dass nach einer Aktualisierung die aktualisierten zweiten Programmdaten ausgeführt werden. Ein aufwändiges Kopieren der aktualisierten Programmdaten entfällt zunächst. In einer Ausführungsform kann jedoch auch nach dem Kennzeichnen des neuen Hauptdatenträgers ein Kopieren der Aktualisierung von dem zweiten logischen Datenträger auf den ersten logischen Datenträger vorgesehen sein.
In einer Ausführungsform des Verfahrens kann das Verfahren umfassen : dl) Ermitteln mindestens eines Kennwerts, der durch die aktualisierten zweiten Programmdaten angeben ist;
d2) Vergleichen des Kennwerts mit einem Referenzwert;
d3) Abbrechen des Verfahrens, wenn der Referenzwert von dem
ermittelten Kennwert abweicht.
Es ergeben sich ähnliche oder identische Vorteile, wie sie bereits hinsichtlich der entsprechenden Ausführungsform des Steuergeräts beschrieben wurden.
Die Aufgabe wird ferner gelöst durch ein computerlesbares Speichermedium, welches Instruktionen enthält, ein Verfahren wie es vorstehend beschrieben wurde zu implementieren, wenn die Instruktionen durch mindestens einen
Prozessor ausgeführt werden.
Es ergeben sich ähnliche oder identische Vorteile, wie sie bereits im Hinblick auf das Steuergerät und das Verfahren beschrieben wurden.
Weitere Ausführungsformen ergeben sich aus den Unteransprüchen.
Im Folgenden wird die Erfindung anhand von Figuren näher erläutert. Dabei zeigen:
Fig. 1 eine schematische Darstellung eines Fahrzeugs mit einem Tester und einer Vielzahl von Steuergeräten;
Fig. 2 eine schematische Darstellung eines Steuergeräts;
Fig. 3 eine schematische Darstellung einer Speichereinrichtung mit zwei logischen Datenträgern;
Fig. 4 die Speichereinrichtung der Fig. 3 nach dem Aktualisierungsvorgang;
Fig. 5 die Speichereinrichtung nach einem Kopiervorgang; Fig. 6 ein Flussdiagramm, das schematisch den Ablauf der Aktualisierung darstellt.
Im Folgenden werden für gleiche oder gleichwirkende Teile dieselben
Bezugsziffern verwendet.
Fig. 1 zeigt Fahrzeug 10 mit einer Vielzahl von Steuergeräten 20, 20', 20".
Bei dem Steuergerät 20 handelt es sich um eine Vorrichtung, welche zur
Steuerung von Scheibenwischern eingesetzt wird. Bei dem Steuergerät 20' handelt es sich um eine Vorrichtung, welche zum automatischen Einschalten des Frontlichts verwendet wird. Das Steuergerät 20" ist eine Vorrichtung, welche zur Steuerung eines Temperatursensors eingesetzt wird. Die Steuergeräte 20, 20',
20" sind über entsprechende BUS-Verbindungen 23, 23', 23" mit einem zentralen Gateway 12 kommunikativ verbunden. Bei dem zentralen Gateway 12 handelt es sich um eine Vorrichtung, die eine Kommunikation der Steuergeräte 20, 20', 20" untereinander erlaubt, obwohl sie womöglich über unterschiedliche BUS-Systeme 23, 23', 23" angeschlossen sind.
Als BUS-Systeme kommen u.a. in Betracht ein CAN-BUS, ein Ethernet-Netz oder auch ein LIN-BUS.
Das zentrale Gateway 12 ist mittels einer Ethernet-Verbindung 13 kommunikativ mit einem Onboard-Diagnoseanschluss 11 (OBD-Anschluss) verbunden. Über den OBD-Anschluss 11 kann ein Tester 1 angeschlossen werden.
Der Tester 1 ist eine Vorrichtung, die von Werkstattpersonal eingesetzt werden kann und üblicherweise ein Teil einer OBD-Diagnosevorrichtung ist. Der Tester 1 umfasst eine Tester-Speichereinrichtung und eine Tester-Recheneinrichtung. Zur Kommunikation ist eine Tester-Kommunikationseinrichtung vorgesehen, die eine Kommunikation mit der OBD-Schnittstelle 11 des Fahrzeugs 10 ermöglicht. In der Tester-Speichereinrichtung sind Aktualisierungsdaten gespeichert, die zur
Aktualisierung von Steuergeräten 20, 20', 20" vorgesehen sind. Der Tester 1 kann die Aktualisierungsdaten von einem Server aus dem Internet herunterladen.
Hierzu kann der Tester 1 eine Mobilfunkschnittstelle oder eine WLAN-Schnittstelle aufweisen. In einem Ausführungsbeispiel empfängt der Tester 1 über die Tester- Kommunikationseinrichtung eine Fahrzeugkennung und eine Liste der installierten Steuergeräte 20, 20', 20" sowie der darauf installierten Programme. Unter Verwendung dieser Informationen kann der Tester 1 von einem Server abfragen, ob Aktualisierungen für die Steuergeräte 20, 20', 20" vorliegen, die
entsprechenden Daten als Aktualisierungsdaten herunterladen und für das
Fahrzeug 10 bereitstellen.
Zum Aktualisieren der auf einem Steuergerät 20, 20', 20" gespeicherten
Programme kann der Tester 1 Aktualisierungsdaten 3 über eine OBD-Verbindung
2 über das zentrale Gateway 12 an das zu aktualisierende Steuergerät 20, 20',
20" senden. Bei den Aktualisierungsdaten 3 kann es sich um einzelne Programme handeln oder auch um einzelne Dateien. Dies ist insbesondere dann vorteilhaft, wenn die Steuergeräte 20, 20', 20" als dateibasierte Steuergeräte ausgebildet sind. Das bedeutet, dass auf den Steuergeräten 20, 20', 20" ein Dateisystem vorhanden ist. Dateisysteme können zum Beispiel ext2, ext3, ext3, Btrfs, FAT, FAT32, VFAT, NTFS, HFS, HFS+ oder entsprechende Derivate sein. Zusätzlich zu dem Dateisystem und dem auszuführenden Programm umfassen die Steuergeräte 20, 20', 20" üblicherweise ein Betriebssystem. Vorzugsweise können auf den Steuergeräten 20, 20', 20" Linux-basierte Betriebssysteme eingesetzt werden.
Die Fig. 2 zeigt eine schematische Darstellung eines Steuergeräts 20. Das
Steuergerät 20 umfasst eine Steuergerät-Kommunikationseinrichtung 21, eine Steuergerät-Recheneinrichtung 22 und eine Steuergerät-Speichereinrichtung 30. Die Steuergerät-Kommunikationseinrichtung 21 kann als eine BUS- Kommunikationseinrichtung ausgebildet sein. Das bedeutet, dass das Steuergerät 20 an einen Fahrzeug-BUS angeschlossen sein kann. Über die Steuergerät- Kommunikationseinrichtung 21 empfängt das Steuergerät 20 Aktualisierungsdaten 3. Die Aktualisierungsdaten 3 werden anschließend von der Steuergerät- Recheneinrichtung 22 verarbeitet. Insbesondere werden die Aktualisierungsdaten
3 dafür genutzt, die Daten bzw. Programmdaten, welche in der Steuergerät- Speichereinrichtung 30 gespeichert sind, zu aktualisieren.
Fig. 3 zeigt die Steuergerät-Speichereinrichtung 30 in einer schematischen
Darstellung. Die Steuergerät-Speichereinrichtung 30 umfasst einen Bootloader 33, sowie einen ersten logischen Datenträger 31 und einen zweiten logischen
Datenträger 32. Der erste logische Datenträger 31 bezeichnet eine sog. Main- bzw. Hauptpartition. Der zweite logische Datenträger 32 bezeichnet eine sog. Spiegel- bzw. Mirror-Partition. Auf der Hauptpartition 31 sowie auf der
Spiegelpartition 32 sind Programmdaten als erste Programmdaten 34 und zweite Programmdaten 35 gespeichert. Die ersten Programmdaten 34 und zweiten Programmdaten 35 sind in dem Ausführungsbeispiel der Figur 3 identisch und geben jeweils ein Programm APP2 an. Ferner sind auf dem ersten logischen Datenträger 31 und zweiten logischen Datenträger 32 jeweils ein
Programmupdater APP1 und ein Betriebssystem OS gespeichert. Der
Programmupdater APP1 ist dazu ausgebildet, Programme zu aktualisieren. Der Bootloader 33 hat die Funktion, das Betriebssystem OS der Main-Partition 31 zu starten, wenn das Steuergerät 20, 20', 20" eingeschaltet wird.
Während des Betriebes werden die ersten Programmdaten 34 durch die
Steuergerät-Recheneinrichtung 22 ausgeführt. Die Steuergerät-Recheneinrichtung 22 ist dazu ausgebildet immer die Programmdaten, die auf der Hauptpartition gespeichert sind, auszuführen. Die zweiten Programmdaten 35 der
Spiegelpartition dienen als Sicherung.
Zum Aktualisieren eines Steuergeräts 20, 20', 20" wird zunächst der zweite logische Datenträger 32 aktualisiert und anschließend werden die aktualisierten Daten, die in dem zweiten logischen Datenträger 32 gespeichert sind auf den ersten logischen Datenträger kopiert.
Für die Aktualisierung der gespeicherten Programme und Daten ist der
Programmupdater APP1 zuständig. Wie in Fig. 4 gezeigt, veranlasst der
Programmupdater APP1, dass Aktualisierungsdaten 3 zunächst in dem zweiten logischen Datenträger 32 gespeichert werden. In dem Beispiel der Fig. 4 sind die Aktualisierungsdaten 3 durch ein zusätzliches Programm APP3 dargestellt. Es wird also ein zusätzliches Programm auf dem Steuergerät 20 installiert. Alternativ kann ein bestehendes Programm ersetzt werden, wobei das Ersetzen eines Programms einem Aktualisieren gleichsteht. Auch das Löschen mindestens eines Programms kann ein Aktualisieren der zweiten Programmdaten 35 darstellen.
Nachdem die zweiten Programmdaten 35 des zweiten logischen Datenträgers 32 aktualisiert sind, wird die Kennzeichnung des ersten logischen Datenträgers 31 und des zweiten logischen Datenträgers 32 getauscht. Das bedeutet, dass nach dem Aktualisieren der zweite logische Datenträger 32 als Haupt- bzw. Main- Partition bezeichnet wird und der erste logische Datenträger 31 als Spiegel- bzw. Mirror-Partition. Somit führt die Steuergerät-Recheneinrichtung 22 unmittelbar nach dem Aktualisieren die zweiten Programmdaten 35 zusammen mit den
Aktualisierungsdaten 3 aus. Das aktualisierte Steuergerät 20, 20', 20" kann unmittelbar nach dem Aktualisieren seinen Betrieb fortsetzen.
Die Fig. 5 illustriert, dass nach einem erfolgreichen Aktualisieren der zweiten Programmdaten 35 des zweiten logischen Datenträgers 32 und einem
Vertauschen der Kennzeichnung des ersten logischen Datenträgers 31 und des zweiten logischen Datenträgers 32, die Programmdaten bzw. Dateien oder Daten des zweiten logischen Datenträgers 32 auf den ersten logischen Datenträger 31 gespiegelt bzw. kopiert werden. Somit enthalten die Hauptpartition und die Spiegelpartition dieselben Programmdaten 34, 35. Dabei müssen nicht sämtliche Programmdaten kopiert werden, sondern es reicht aus, wenn die geänderten bzw. aktualisierten Daten kopiert werden. Es wird also ein inkrementeiles Update der Programmdaten ausgeführt, wobei im Anschluss lediglich die Änderungen auf den ersten logischen Datenträger kopiert bzw. gespiegelt werden müssen. Somit werden insgesamt wenig Daten kopiert.
Die Fig. 6 zeigt noch einmal den vollständigen Prozess, um ein Steuergerät 20 zu aktualisieren.
Im Schritt S1 schließt ein Werkstattmitarbeiter einen Tester 1 mittels einer OBD- Verbindung 2 an einen entsprechenden OBD-Anschluss 11 an ein Fahrzeug 10 an.
Im Schritt S2 wird ein Aktualisierungssignal von dem Tester 1 an die
angeschlossenen Steuergeräte 20, 20', 20" gesendet, das eine anstehende
Aktualisierung der Software initiiert. Die einzelnen Steuergeräte 20, 20', 20" können gezielt auf ein solches Aktualisierungssignal warten und den
angeschlossenen BUS 23, 23', 23" entsprechend abhören. Der Tester 1 kann hierzu ein Broadcastsignal aussenden, das von sämtlichen angeschlossenen Steuergeräten 20, 20', 20" empfangen wird.
In Reaktion auf das Empfangen des Aktualisierungssignals schalten die
Steuergeräte 20, 20', 20" in einen sog. Flashmodus. In dem Flashmodus, auch Aktualisierungsmodus genannt, blockieren die Steuergeräte 20, 20', 20" ihre eigentlichen Steueraufgaben.
Im Schritt S3 liest der Tester 1 die auf den Steuergeräten 20, 20', 20"
installierten Programmdaten aus. Somit enthält der Tester 1 eine vollständige Liste aller Programme und Daten, die auf den Steuergeräten 20, 20', 20" des Fahrzeugs 10 installiert sind. Darüber hinaus erhält der Tester 1 auch
Informationen darüber, in welcher Version die Programme installiert sind.
Im Schritt S4 ermittelt der Tester 1 welche Programmdaten bzw. welche
Programme oder Daten aktualisiert werden müssen, damit das Fahrzeug 10 nach der Aktualisierung eines einzelnen Steuergeräts 20 wieder einen konsistenten Fahrzeugzustand aufweist. Dies ist insbesondere deswegen notwendig, da
Fahrzeuge in unterschiedlichen Softwarekonfigurationen getestet werden, sodass eine bestimmte Kombination von Softwareversionen im Fahrzeug installiert sein muss. Andernfalls kann für die Sicherheit einer Softwarekonfiguration, d.h. die Kombination einer Vielzahl unterschiedlicher Softwareversionen, nicht garantiert werden.
Nachdem der Tester 1 ermittelt hat, welche Programmdaten bzw. welche
Programme und Daten auf welchen Steuergeräten 20, 20', 20" aktualisiert werden müssen, sendet der Tester 1 im Schritt S5 ein entsprechendes Signal an die zu aktualisierenden Steuergeräte 20, 20', 20".
In Reaktion auf das empfangene Signal durch die Steuergeräte 20, 20', 20", beenden die Steuergeräte 20, 20', 20" ihre laufenden Programme.
Im Schritt S6 wird auf jedem Steuergerät 20, 20', 20", für welches eine
Softwareaktualisierung vorgesehen ist, ein entsprechender Programmupdater APP1 gestartet.
Im Schritt S7 wird ein entsprechendes Programm durch den Programmupdater APP1 ausgetauscht, hinzugefügt oder gelöscht. Ebenso können Nutzdaten, wie z. B. Kartenmaterial oder Konfigurationsparameter ausgetauscht werden. Zur Verifikation, dass die Aktualisierung erfolgreich war, wird eine Prüfsumme über das neu installierte Programm bzw. die Programmdaten berechnet, z. B. eine MD5-Checksumme. Im Schritt S7 wird anschließend geprüft, ob das Aktualisieren erfolgreich durchgeführt wurde. Dazu wird die berechnete Prüfsumme bzw. der Hash von dem Tester 1 mit einem Referenzwert verglichen. Alternativ kann der Tester 1 den Referenzwert an das aktualisierte Steuergerät 20, 20', 20" senden, sodass das Steuergerät 20, 20', 20" selbst überprüfen kann, ob die Aktualisierung erfolgreich ausgeführt wurde.
Im Schritt S8 wird durch den Tester 1 geprüft, ob sämtliche Steuergeräte 20, 20', 20" Software gespeichert haben, die zusammen einen konsistenten
Fahrzeugzustand angeben. Zusätzlich kann für jedes einzelne Steuergerät 20, 20', 20" geprüft werden, ob ein konsistenter Steuergerätezustand vorliegt.
Im Schritt S9 wird die bisherige Spiegelpartition als Hauptpartition
gekennzeichnet. Die bisherige Hauptpartition wird wiederum als neue
Spiegelpartition gekennzeichnet.
Im Schritt S10 wird der Inhalt der neuen Hauptpartition auf die Spiegelpartition überspielt, d.h. gespiegelt. Dabei werden jedoch nur die geänderten
Applikationen bzw. die geänderten Programmdaten gespiegelt bzw. kopiert.
Im Schritt Si l wird der Programmupdater APP2 beendet und das Fahrzeug 10 wird in einen Grundzustand geschaltet.
Im letzten Schritt S12 wird durch den Tester 1 ein weiteres Signal an alle angeschlossenen Steuergeräte 20, 20', 20" gesendet, sodass die Programme auf den Steuergeräten 20, 20', 20" gestartet werden.
Bezugszeichenliste
1 Tester bzw. Testereinrichtung
2 OBD-Verbindung
3 Aktualisierungsdaten
10 Fahrzeug
11 OBD-Anschluss
12 zentrales Gateway 13 Ethernet
20, 20', 20" Steuergerät
21 BUS-Anschluss/Steuergerät-Kommunikationseinrichtung
22 Steuergerät-Recheneinrichtung
23, 23', 23" BUS
30 Steuergerät-Speichereinrichtung
31 erster logischer Datenträger
32 zweiter logischer Datenträger
33 Bootloader/Startprogramm
34 erste Programmdaten
35 zweite Programmdaten
S1-S12 Schritte
OS Betriebssystem
APP1 Programmupdater
APP2, APP3 Programme

Claims

Ansprüche
1. Steuergerät (20) für eine Fahrzeugkomponente, insbesondere für eine
Fahrzeugkomponente eines PKWs (10), folgendes aufweisend:
- eine Speichereinrichtung (30) zur Speicherung eines
Programmupdaters (APP1), eines ersten logischen Datenträgers (31) und eines zweiten logischen Datenträgers (32);
- eine Recheneinrichtung (22) zum Ausführen des
Programmupdaters (APP1) und von ersten Programmdaten (34), die auf dem ersten logischen Datenträger (31) gespeichert sind;
dadurch gekennzeichnet, dass
- der Programmupdater (APP1) dazu ausgebildet ist, zweite
Programmdaten (34) des zweiten logischen Datenträgers (32) unter Verwendung von Aktualisierungsdaten (3) zu aktualisieren; und
- die Recheneinrichtung (22) dazu ausgebildet ist, die aktualisierten
zweiten Programmdaten (35) des zweiten logischen Datenträgers (32) auszuführen.
2. Steuergerät (20) nach Anspruch 1,
dadurch gekennzeichnet, dass
die Recheneinrichtung (22) dazu ausgebildet ist, zumindest eine Teilmenge der zweiten Programmdaten (35) auf den ersten logischen Datenträger (31) zu kopieren, insbesondere die aktualisierten zweiten Programmdaten (35) zu kopieren.
3. Steuergerät (20) nach einem der vorhergehenden Ansprüche,
gekennzeichnet durch
eine Kommunikationseinrichtung (21) zum Empfangen eines
Aktualisierungssignals, wobei der Programmupdater (APP1) dazu ausgebildet ist, das Aktualisieren der zweiten Programmdaten (32) in Reaktion auf den Empfang des Aktualisierungssignals auszuführen.
4. Steuergerät (20) nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 3,
dadurch gekennzeichnet, dass der Programmupdater (APP1) dazu ausgebildet ist, eine Ausführung der ersten Programmdaten (34) in Reaktion auf ein/das Empfangen des Aktualisierungssignals zu unterbrechen.
5. Steuergerät (20) nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, dass
das Aktualisieren ein Austauschen eines auf dem zweiten logischen
Datenträger gespeicherten Programms mit einem Austauschprogramm umfasst.
6. Steuergerät (20) nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, dass
das Aktualisieren ein Berechnen einer Prüfsumme, insbesondere eines Hash-Wertes, über die zweiten Programmdaten (35) umfasst.
7. Steuergerät (20) nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 4,
dadurch gekennzeichnet, dass
das Aktualisieren ein Vergleichen der berechneten Prüfsumme mit einer Referenzprüfsumme umfasst, wobei die Recheneinrichtung dazu
ausgebildet ist, die zweiten Programmdaten nur dann auszuführen, wenn die berechnete Prüfsumme und die Referenzprüfsumme identisch sind.
8. Steuergerät (20) nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, dass
die Aktualisierungsdaten (3) ein Betriebssystem (OS, OS') angeben.
9. Steuergerät (20) nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, dass
die Recheneinrichtung (22) dazu ausgebildet ist, das Steuergerät (20) in einen Aktualisierungsmodus zu schalten.
10. Kit umfassend ein Steuergerät (20) nach einem der vorhergehenden
Ansprüche und eine Testereinrichtung (1), wobei das Steuergerät (20) eine Kommunikationseinrichtung (21) aufweist und die Testereinrichtung (1) dazu ausgebildet ist, Aktualisierungsdaten (3) über die
Kommunikationseinrichtung (21) an das Steuergerät (20) zu senden.
11. Kit nach Anspruch 10,
dadurch gekennzeichnet, dass
die Testereinrichtung (1) dazu ausgebildet ist, zu prüfen, ob der zweite logische Datenträger (32) einen konsistenten Zustand des Fahrzeugs (10) und/oder des Steuergeräts (20, 20', 20") angibt, insbesondere nachdem eine Aktualisierung ausgeführt ist.
12. Fahrzeug (10) umfassend eine Vielzahl von Steuergeräten (20, 20', 20") nach einem der Ansprüche 1 bis 9,
g e ke n n ze i c h n et durch
ein mit der Vielzahl von Steuergeräten (20, 20', 20") kommunikativ verbundenes Gateway (12), das dazu ausgebildet ist, Aktualisierungsdaten von einer Testereinrichtung (1) zu empfangen und an die Vielzahl der Steuergeräte (20, 20', 20") zu senden.
13. Verfahren zum Aktualisieren eines Steuergeräts (20), folgende Schritte aufweisend:
e) Ausführen von ersten Programmdaten (34) durch ein
Steuergerät (20), die auf einem ersten logischen Datenträger (31) gespeichert sind;
f) Empfangen von Aktualisierungsdaten (3);
g) Aktualisieren von zweiten Programmdaten (35) unter Verwendung der Aktualisierungsdaten (3), wobei die zweiten
Programmdaten (35) auf einem zweiten logischen Datenträger (32) gespeichert sind;
h) Ausführen der aktualisierten zweiten Programmdaten (35) auf dem zweiten logischen Datenträger (32) durch das Steuergerät (20).
14. Verfahren nach Anspruch 12,
gekennzeichnet durch
Kopieren zumindest einer Teilmenge der zweiten Programmdaten (35) auf den ersten logischen Datenträger (31).
15. Verfahren nach einem der Ansprüche 13 oder 14,
dadurch gekennzeichnet, dass
der erste logische Datenträger (31) als Hauptdatenträger gekennzeichnet ist und der zweite logische Datenträger (32) als Spiegeldatenträger gekennzeichnet ist, wobei das Ausführen der aktualisierten zweiten Programmdaten (35) eine Kennzeichnung des ersten logischen
Datenträgers (31) als Spiegeldatenträger und des zweiten logischen Datenträgers als Hauptdatenträger umfasst.
16. Verfahren nach Anspruch 13,
g e ke n n ze i c h n et durch
d4) Ermitteln mindestens eines Kennwerts, der durch die aktualisierten zweiten Programmdaten (35) angeben ist;
d5) Vergleichen des Kennwerts mit einem Referenzwert;
d6) Abbrechen des Verfahrens, wenn der Referenzwert von dem
ermittelten Kennwert abweicht.
17. Computerlesbares Speichermedium, welches Instruktionen enthält, ein Verfahren nach einem der Ansprüche 12 bis 16 zu implementieren, wenn die Instruktionen durch mindestens einen Prozessor ausgeführt werden.
PCT/EP2019/076994 2018-11-12 2019-10-07 Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium Ceased WO2020099023A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018128183.8 2018-11-12
DE102018128183.8A DE102018128183A1 (de) 2018-11-12 2018-11-12 Steuergerät für eine Fahrzeugkomponente, Kit umfassend ein Steuergerät und eine Testereinrichtung, Fahrzeug, Verfahren zum Aktualisieren eines Steuergeräts und computerlesbares Speichermedium

Publications (2)

Publication Number Publication Date
WO2020099023A2 true WO2020099023A2 (de) 2020-05-22
WO2020099023A3 WO2020099023A3 (de) 2020-08-13

Family

ID=68208279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/076994 Ceased WO2020099023A2 (de) 2018-11-12 2019-10-07 Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium

Country Status (2)

Country Link
DE (1) DE102018128183A1 (de)
WO (1) WO2020099023A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022207459A1 (de) 2022-07-21 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Steuervorrichtung für eine Scheibenwischeranlage
WO2024125958A1 (de) * 2022-12-16 2024-06-20 Zf Friedrichshafen Ag Indirektes over-the-air-update

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102024104159B4 (de) * 2024-02-14 2025-09-11 Daimler Truck AG CAN-Bus-System

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016200711A1 (de) * 2016-01-20 2017-07-20 Robert Bosch Gmbh Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022207459A1 (de) 2022-07-21 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Steuervorrichtung für eine Scheibenwischeranlage
WO2024125958A1 (de) * 2022-12-16 2024-06-20 Zf Friedrichshafen Ag Indirektes over-the-air-update

Also Published As

Publication number Publication date
WO2020099023A3 (de) 2020-08-13
DE102018128183A1 (de) 2020-05-14

Similar Documents

Publication Publication Date Title
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
DE102011075776A1 (de) Verfahren und System zum Aktualisieren eines gemeinsam genutzten Speichers
DE10003108A1 (de) Wiederherstellbarer Software-Installationsvorgang und Vorrichtung für ein Computersystem
WO2003003200A1 (de) Verfahren zum übertragen von software-modulen
WO2020099023A2 (de) Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium
DE112019000179T5 (de) Fahrzeugsteuervorrichtung und programmaktualisierungssystem
DE102022106659A1 (de) Ota-master, aktualisierungssteuerungsverfahren und nicht-transitorisches speichermedium
DE102017220526A1 (de) Verfahren und Vorrichtung zur Aktualisierung von Software
DE102022110824A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102022107393A1 (de) Center, verteilungssteuerungsverfahren undnicht-transitorisches speichermedium
DE102021129232A1 (de) Center, managementverfahren und nicht-transitorisches speichermedium
DE102022104321A1 (de) Center, aktualisierungsmanagementverfahren und nicht-transitorisches speichermedium
DE102015207795A1 (de) Verfahren und Vorrichtung zum Aktualisieren von Software in einem Transportmittel
DE112020001385T5 (de) Elektronische Steuerungsvorrichtung und Verfahren zum Einstellen von Steuerungsdaten
WO2022184407A1 (de) Verfahren zum betreiben eines steuergeräts und steuergerät
WO2017125181A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102021128988A1 (de) Center, aktualisierungsmanagementverfahren und nicht-transitorisches speichermedium
WO2005022382A2 (de) Verfahren zur installation einer programmkomponente
WO2025146349A1 (de) Verfahren zum konfigurieren eines steuergeräts für ein fahrzeug
DE102021202658A1 (de) Computerimplementiertes Verfahren und Vorrichtung zur automatisierten Aktualisierung einer Kommunikationseinheit einer Steuereinheit eines Fahrzeugs
DE69119286T2 (de) Verfahren und Gerät zur Schattenprozessgenerierung
DE102018209248A1 (de) Datenaktualisierungssystem, Verfahren zum Aktualisieren eines auf einem Steuergerät gespeicherten Datensatzes und computerlesbares Speichermedium
DE112022005984T5 (de) Aktualisierungsmanagementsystem
DE102021207046A1 (de) Upgraden oder Updaten einer Software-Anwendung

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19786288

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19786288

Country of ref document: EP

Kind code of ref document: A2