WO2017182210A1 - Verfahren zur programmierung von steuergeräten eines kraftfahrzeugs - Google Patents

Verfahren zur programmierung von steuergeräten eines kraftfahrzeugs Download PDF

Info

Publication number
WO2017182210A1
WO2017182210A1 PCT/EP2017/056507 EP2017056507W WO2017182210A1 WO 2017182210 A1 WO2017182210 A1 WO 2017182210A1 EP 2017056507 W EP2017056507 W EP 2017056507W WO 2017182210 A1 WO2017182210 A1 WO 2017182210A1
Authority
WO
WIPO (PCT)
Prior art keywords
programming
motor vehicle
coordinating
control unit
control devices
Prior art date
Application number
PCT/EP2017/056507
Other languages
English (en)
French (fr)
Inventor
Luay Abu-Shariha
Andreas Heyl
Original Assignee
Robert Bosch Gmbh
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 Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Publication of WO2017182210A1 publication Critical patent/WO2017182210A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Definitions

  • the present invention relates to a method for programming of
  • Control units of a motor vehicle and a computing unit and a computer program for its implementation Control units of a motor vehicle and a computing unit and a computer program for its implementation.
  • a control unit of a motor vehicle can be programmed when the motor vehicle is already in the field.
  • an update of control unit software or a firmware update can be carried out, a new, revised program code being written to the corresponding control unit.
  • This new program code can be transmitted, for example, wirelessly via a radio link, such as WLAN or mobile networks to the motor vehicle, for example, from a server of the vehicle manufacturer.
  • the motor vehicle includes a multiplicity of control devices (eg engine, brake, transmission, entertainment, battery control device, etc.) which are expediently in communication with one another, in particular via a fieldbus system such as CAN, Sercos, etc.
  • control devices eg engine, brake, transmission, entertainment, battery control device, etc.
  • a fieldbus system such as CAN, Sercos, etc.
  • a programming of at least two control devices is performed, which cooperate to perform a functionality or are needed together. If the programming of at least one of these at least two controllers is not completed successfully, a notification is issued to a driver of the motor vehicle.
  • control devices for example engine control unit, brake control unit, distance measuring control device
  • the controllers must exchange data or calculated values.
  • ECU-specific program codes are executed on the control devices for executing the functionality, by means of which, for example, different parts of the functionality can be executed in each case.
  • the programming of the control units is advantageously carried out while the motor vehicle is in the field or in regular operation. Before the programming is carried out, it is first of all checked whether the motor vehicle is in a safe state (for example, at standstill) in which the programming is carried out without danger can be. For example, (sensor) data can be read and checked for this purpose, by means of which it can be evaluated whether the motor vehicle is in a safe state. For example, speed, engine speed and switch positions of the ignition lock can be read in and checked. The programming is carried out in particular once it has been determined that the motor vehicle is in a safe state.
  • a safe state for example, at standstill
  • (sensor) data can be read and checked for this purpose, by means of which it can be evaluated whether the motor vehicle is in a safe state.
  • speed, engine speed and switch positions of the ignition lock can be read in and checked.
  • the programming is carried out in particular once it has been determined that the motor vehicle is in a safe state.
  • the programming of the at least two control devices is carried out simultaneously or substantially simultaneously.
  • the programming of the individual control units is carried out in parallel or coherently while the motor vehicle is in the safe state.
  • the programming of the at least one of the control units can not be terminated successfully, for example, if an internal error of the corresponding control unit occurs when the motor vehicle leaves the safe state too early and the programming must be stopped especially for security reasons or if the programming of the corresponding control device too long takes and needs to be canceled.
  • Software versions of the successfully programmed control units are therefore no longer compatible with software versions of the control unit (s) that have not been successfully programmed, and the functionality may no longer be able to be executed or may be limited.
  • the driver is informed by the notification that the corresponding motor vehicle functions due to unsuccessful programming are limited or not at all available.
  • the notification can be done visually and / or acoustically and / or haptically.
  • the notification is displayed on a display device, for example in the dashboard area, a display of the on-board computer or a head-up display.
  • the corresponding error case of the restricted vehicle function is thus protected or controlled, in particular in the sense of the ISO 26262 standard.
  • Conventionally, such an error is usually dealt with by withdrawing the successfully executed programs and by resetting all the controllers to the former software version (so-called rollback). Thus, all programming must be performed again at a later date, which is associated with great effort.
  • the method provides, in particular, a possibility for reliably controlling such fault cases and for controlling them by the driver until the unsuccessful programming can be carried out successfully and corresponding vehicle functions again operate faultlessly.
  • the vehicle would have to be placed in a safe state, which may result in a comfort restriction of the driver and possibly a risk to the occupants of the vehicle or other road users, since the vehicle may be stopped.
  • the programming of the at least one of the at least two control devices, which does not terminate successfully, is repeated at a later time.
  • the reprogramming is in particular not carried out immediately, but expediently only when the motor vehicle is again in the safe state at the later time.
  • the notification instructions are issued to the driver as to how to control the vehicle until the programming of the at least one of the at least two controllers is repeated at the later time.
  • the notification Information contains which vehicle function is concretely restricted in which framework and up to which driving conditions the vehicle function still functions without error.
  • the notification may also include the instruction that the driver should not move the vehicle faster than at a certain maximum speed and / or beyond a certain maximum speed.
  • the programming of the at least two control units is coordinated by a coordinating control unit, which may be designed, for example, as a central control unit (Central Connectivity Unit, CCU).
  • the coordinating control unit monitors the individual programming in particular and ensures that the notification is issued in the event of incorrect programming.
  • the coordinating control unit preferably checks whether the programming of at least one of the at least two control devices has failed.
  • the coordinating control unit first checks whether conditions for the programming are fulfilled. For example, these conditions describe whether the motor vehicle is in the safe state, whether sufficient energy is available to complete the programming, whether appropriate new or updated program codes are available for the programming, whether the software versions of these program codes match, etc. Preferably for each of the at least two control units apply individual conditions. If all these conditions are fulfilled at the same time, the individual control units can be programmed safely.
  • the coordinating control unit starts the programming of the at least two control units thus preferably starts when the conditions are met.
  • the coordinating control unit checks, while the programming of the at least two control units is performed, whether the conditions are no longer met. For example, the conditions may no longer be satisfied when the motor vehicle leaves the safe state.
  • the coordinating controller breaks the programming of the controllers expediently from when at least one of the conditions is no longer satisfied.
  • the coordinating control unit thus ensures that the safety or safe operation of the motor vehicle is ensured.
  • a notification controller is informed when the
  • the notification controller is informed by the coordinating controller.
  • the notification to the driver is issued in this case from the notification controller.
  • Man-machine interface be provided and control, for example, display devices, e.g. For example, in the dashboard area, a display of the on-board computer or a head-up display.
  • display devices e.g.
  • the programming is performed in the course of a firmware over-the-air
  • New or updated program codes required for the programming can be transmitted wirelessly via a radio link, such as WLAN or mobile networks (e.g., GSM, 3G, 4G, etc.) to the motor vehicle, particularly from a vehicle or server
  • a radio link such as WLAN or mobile networks (e.g., GSM, 3G, 4G, etc.) to the motor vehicle, particularly from a vehicle or server
  • An arithmetic unit according to the invention e.g. a control device of a motor vehicle is, in particular programmatically, configured to perform a method according to the invention.
  • computer programs are magnetic, optical and electrical memories, such as hard disks, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.). Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.
  • FIG. 1 shows schematically a motor vehicle with a control unit which is set up to carry out a preferred embodiment of a method according to the invention.
  • FIG. 2 schematically shows a preferred embodiment of a method according to the invention as a block diagram.
  • the motor vehicle 100 has a multiplicity of control units 110.
  • the control units 1 12, 1 13 and 1 14 may be formed, for example, engine, brake, or distance sensor control unit.
  • the controller 1 15 is configured as a notification controller and controls a display device 120, e.g. a display of an on-board computer.
  • the motor vehicle 100 may include other control devices, e.g. ABS, ESP, entertainment, battery, transmission control, etc.
  • the motor vehicle function of a Abstandsregeltempomats be executed.
  • This motor vehicle function represents a functionality for the execution of which the control devices 1 12, 1 13 and 1 14 are needed or cooperate together.
  • a firmware-over-the-air programming is a parallel programming of these control units 1 12, 1 13 and 1 14 are performed.
  • a firmware update or an update of the corresponding ECU software is performed to implement an updated version of the Adaptive cruise control.
  • Control unit 1 1 1 is designed as a central control unit (Central Connectivity Unit, CCU) and serves as a coordinating control unit to perform these programs and monitor.
  • the coordinating control unit 1 1 1 can be connected via a wireless connection 130, for example via a mobile network, with a server 140 of the motor vehicle manufacturer. New, updated program codes for the control units 1 12, 1 13 and 1 14 are transmitted via the wireless connection 130 to the coordinating control unit 1 1 1.
  • CCU Central Connectivity Unit
  • the coordinating control unit 1 1 in particular programmatically, is adapted to carry out a preferred embodiment of a method according to the invention, which is illustrated in FIG. 2 as a block diagram and in the following With reference to Figure 2 is explained.
  • a step 201 as explained above, the new, updated program codes for the control units 1 12, 1 13, 1 14 are transmitted via the wireless connection 130 from the server 140 to the coordinating control unit 1 1 1.
  • step 202 the coordinating control unit 1 1 1 checks whether conditions for the execution of the programming are fulfilled. For example, the coordinating control unit 1 1 1 checks on the one hand whether all the program codes required for programming have been transmitted by the server 140 and whether software versions of the program codes for the individual control units 1 12, 1 13 and 1 14 match. Furthermore, the coordinating control unit 1 1 1 checks in step 203, whether the motor vehicle 100 is in a safe state, for example, is at a standstill, in which the programming can be performed safely. Similarly, it is checked by the coordinating controller 1 1 1 in step 203 whether sufficient energy is available to complete the programming. For example, a state of charge of a motor vehicle battery can be checked for this purpose.
  • the coordinating controller 1 1 1 starts the parallel programming in step 203.
  • the coordinating control unit 1 1 1 perform the programming of the individual control units 1 12, 1 13, 1 14 itself, e.g. by transmitting instructions in accordance with the so-called UDS protocol (Unified Diagnostic Services).
  • UDS protocol Unified Diagnostic Services
  • the coordinating control unit 1 1 1, the individual control units 1 12, 1 13, 1 14 also authorize that they perform their own programming independently.
  • the coordinating controller 1 1 1 1 checks in step 204, on the one hand, whether the conditions from step 202 are still met and, on the other hand, whether the programming is successfully performed.
  • control units 1 12, 1 13, 1 14 with the updated program codes are available again in step 205 for the regular operation of the motor vehicle.
  • step 204 If, however, the conditions checked in step 204 are no longer met, for example because the motor vehicle is leaving the safe state, for example because the driver wishes to start the vehicle from a standstill, the programming must be aborted. It can happen, for example, the case that although the conditions are still met, but the programming of the control units 1 12, 1 13, 1 14 still can not be performed successfully due to an error. If the programming of at least one of the control units 1 12, 1 13, 1 14 has not been carried out successfully, this represents a fault that can lead to vehicle functions no longer being able to be carried out correctly. For example, in this case, the Abstandsregeltempomat for which an interaction of the control units 1 12, 1 13 and 1 14 is required, no longer be executed without errors.
  • the coordinating controller 1 1 1 1 determines in step 204 that the programming of at least one of the controllers 1 12, 1 13, 1 14 has not been successfully performed, the coordinating controller 1 1 1 takes a measure to safely control this error case to be able to.
  • the notification controller 1 15 informs the coordinating controller 1 1 1 in step 206, the notification controller 1 15 about this error case.
  • the notification controller 1 15 in step 206 also by the one control unit or those control units whose or their programming could not be successfully performed, be informed itself.
  • step 207 the notification controller 1 15 outputs a corresponding message via the display 120 to the driver, by means of which the driver is informed of the number of errors and that the adaptive cruise control currently no longer functions correctly. In particular, the driver is instructed by the notification that he should no longer use the adaptive cruise control currently.
  • the coordinating control unit 1 1 1 repeats the unsuccessful programming of the corresponding control units at a later time according to step 208.
  • the control unit checks for this purpose analogous to step 202, whether the corresponding conditions are met again, in particular whether the motor vehicle in the safe state, and re-executes the faulty programming as soon as it does.

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)

Abstract

Die Erfindung betrifft ein Verfahren zur Programmierung von Steuergeräten (112, 113, 114) eines Kraftfahrzeugs (100), wobei eine Programmierung von wenigstens zwei Steuergeräten (112, 113, 114), welche zur Ausführung einer Funktionalität zusammenwirken, durchgeführt wird, wobei, wenn die Programmierung von wenigstens einem der wenigstens zwei Steuergeräte (112, 113, 114) nicht erfolgreich beendet wird, eine Benachrichtigung an einen Fahrer des Kraftfahrzeugs (100) ausgegeben wird.

Description

Beschreibung
Titel
Verfahren zur Programmierung von Steuergeräten eines Kraftfahrzeugs Die vorliegende Erfindung betrifft ein Verfahren zur Programmierung von
Steuergeräten eines Kraftfahrzeugs sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
Stand der Technik
Im Zuge einer sogenannten Firmware-Over-the-Air-Programmierung (FOTA) oder Over-the-Air-Programmierung (OTA) kann ein Steuergerät eines Kraftfahrzeugs programmiert werden, wenn sich das Kraftfahrzeug bereits im Feld befindet. Beispielsweise kann im Zuge derartiger Programmierungen eine Aktualisierung von Steuergeräte-Software bzw. ein Firmware-Update durchgeführt werden, wobei ein neuer, überarbeiteter Programmcode in das entsprechende Steuergerät geschrieben wird. Dieser neue Programmcode kann beispielsweise drahtlos über eine Funkverbindung, wie beispielsweise WLAN oder Mobilfunknetze an das Kraftfahrzeug übertragen werden, beispielsweise von einem Server des Fahrzeugherstellers.
Offenbarung der Erfindung
Erfindungsgemäß werden ein Verfahren zur Programmierung von Steuergeräten eines Kraftfahrzeugs sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung. Das Kraftfahrzeug umfasst insbesondere eine Vielzahl von Steuergeräten (z.B. Motor-, Bremsen-, Getriebe-, Entertainment-, Batteriesteuergerät, etc.), die zweckmäßigerweise miteinander in Kommunikationsverbindung stehen, insbesondere über ein Feldbussystem wie CAN, Sercos, etc. Im Rahmen des Verfahrens wird eine Programmierung von wenigstens zwei Steuergeräten durchgeführt, welche zur Ausführung einer Funktionalität zusammenwirken bzw. gemeinsam benötigt werden. Wenn die Programmierung von wenigstens einem dieser wenigstens zwei Steuergeräte nicht erfolgreich beendet wird, wird eine Benachrichtigung an einen Fahrer des Kraftfahrzeugs ausgegeben.
Um diese Funktionalität (z.B. Abstandsregeltempomat) ausführen zu können, ist insbesondere eine Kommunikation bzw. Interaktion der wenigstens zwei Steuergeräte (z.B. Motorsteuergerät, Bremssteuergerät, Abstandsmess- steuergerät) miteinander erforderlich. Beispielsweise müssen die Steuergeräte Daten oder berechnete Werte miteinander austauschen. Insbesondere werden auf den Steuergeräten zur Ausführung der Funktionalität jeweils steuergerätspezifische Programmcodes ausgeführt, mittels welchen jeweils beispielsweise unterschiedliche Teile der Funktionalität ausgeführt werden können.
Im Zuge der Programmierung soll beispielsweise eine neue, aktualisierte Version dieser Funktionalität in das Kraftfahrzeug implementiert werden. Beispielswiese kann auch ein Firmware-Update der entsprechenden Steuergeräte durchgeführt werden. Für die Ausführung der Funktionalität ist es insbesondere von Bedeutung, dass auf sämtlichen benötigten Steuergeräten übereinstimmende
Softwareversionen implementiert sind. Passen die einzelnen Softwareversionen nicht zusammen, kann die Funktionalität gegebenenfalls nicht mehr korrekt und fehlerfrei ausgeführt werden. Die Programmierung der Steuergeräte wird zweckmäßigerweise durchgeführt, während sich das Kraftfahrzeug im Feld bzw. im regulären Betrieb befindet. Bevor die Programmierungen durchgeführt werden, wird insbesondere zunächst überprüft, ob sich das Kraftfahrzeug in einem sicheren Zustand (z.B. im Stillstand) befindet, in welchem die Programmierungen gefahrlos durchgeführt werden können. Beispielsweise können zu diesem Zweck (Sensor-) Daten eingelesen und überprüft werden, anhand welcher evaluiert werden kann, ob sich das Kraftfahrzeug in einem sicheren Zustand befindet. Beispielsweise können Geschwindigkeit, Motordrehzahl sowie Schaltstellungen des Zündschlosses eingelesen und überprüft werden. Die Programmierungen werden insbesondere durchgeführt, sobald festgestellt wurde, dass sich das Kraftfahrzeug in einem sicheren Zustand befindet.
Zweckmäßigerweise wird die Programmierung der wenigstens zwei Steuergeräte zeitgleich oder im Wesentlichen zeitgleich durchgeführt. Insbesondere wird die Programmierung der einzelnen Steuergeräte parallel bzw. zusammenhängend durchgeführt, während sich das Kraftfahrzeug in dem sicheren Zustand befindet.
Die Programmierung des wenigstens einen der Steuergeräte kann beispielsweise nicht erfolgreich beendet werden, wenn ein interner Fehler des entsprechenden Steuergeräts auftritt, wenn das Kraftfahrzeug den sicheren Zustand zu früh verlässt und die Programmierung insbesondere aus Sicherheitsgründen abgebrochen werden muss oder wenn die Programmierung des entsprechenden Steuergeräts zu lange dauert und abgebrochen werden muss. Softwareversionen des bzw. der erfolgreich programmierten Steuergeräte passen somit nicht mehr mit Softwareversionen des bzw. der nicht erfolgreich programmierten Steuergeräte zusammen und die Funktionalität kann gegebenenfalls nicht mehr oder nur noch eingeschränkt ausgeführt werden.
Im Rahmen des Verfahrens wird der Fahrer durch die Benachrichtigung darüber informiert, dass die entsprechenden Kraftfahrzeugfunktionen aufgrund nicht erfolgreich durchgeführter Programmierungen nur eingeschränkt oder überhaupt nicht verfügbar sind. Die Benachrichtigung kann dabei visuell und/oder akustisch und/oder haptisch erfolgen. Insbesondere wird die Benachrichtigung auf einer Anzeigevorrichtung dargestellt, beispielsweise im Armaturenbereich, einem Display des Bordcomputers oder einem Head-up-Display. Der entsprechende Fehlerfall der eingeschränkten Fahrzeugfunktion ist somit abgesichert bzw. kontrolliert, insbesondere im Sinne der Norm ISO 26262. Auf herkömmliche Weise wird ein derartiger Fehlerfall zumeist behandelt, indem die erfolgreich durchgeführten Programmierungen zurückgenommen werden und sämtliche Steuergeräte auf die frühere Softwareversion zurückgesetzt werden (sog. Rollback). Somit müssen sämtliche Programmierungen zu einem späteren Zeitpunkt erneut durchgeführt werden, was mit großem Aufwand verbunden ist.
Des Weiteren besteht auch hier die Gefahr, dass ein derartiges Rollback von einem oder mehreren Steuergeräten nicht erfolgreich durchgeführt werden kann, so dass auch in diesem Fall Softwareversionen einzelner Steuergeräte nicht mehr übereinstimmen. Durch die Erfindung ist es nicht notwendig, ein derartiges Rollback durchzuführen und bereits erfolgte Programmierungen zurückzunehmen.
Durch das Verfahren wird insbesondere eine Möglichkeit bereitgestellt, um derartige Fehlerfälle sicher beherrschen und durch den Fahrer kontrollieren zu können, bis die nicht erfolgreiche Programmierung erfolgreich durchgeführt werden kann und entsprechende Fahrzeugfunktionen wieder fehlerfrei funktionieren. Insbesondere ist es nicht notwendig, eine sofortige Wiederholung der nicht erfolgreich durchgeführten Programmierungen zu erzwingen. Zu diesem Zweck müsste das Fahrzeug in einen sicheren Zustand versetzt werden, was eine Komfort-Einschränkung des Fahrer sowie gegebenenfalls eine Gefährdung der Insassen des Fahrzeugs oder weiter Verkehrsteilnehmer zur Folge haben kann, da das Fahrzeug unter Umständen gestoppt wird.
Gemäß einer vorteilhafteren Ausführungsform wird die Programmierung des wenigstens einen der wenigstens zwei Steuergeräte, welche nicht erfolgreich beendet wird, zu einem späteren Zeitpunkt wiederholt. Die erneute Programmierung wird dabei insbesondere nicht sofort durchgeführt, sondern zweckmäßigerweise erst, wenn sich das Kraftfahrzeug zu dem späteren Zeitpunkt erneut in dem sicheren Zustand befindet.
Vorzugsweise werden durch die Benachrichtigung Anweisungen an den Fahrer ausgegeben, wie das Fahrzeug gesteuert werden soll, bis die Programmierung des wenigstens einen der wenigstens zwei Steuergeräte zu dem späteren Zeitpunkt wiederholt wird. Beispielsweise kann die Benachrichtigung Informationen enthalten, welche Fahrzeugfunktion konkret in welchem Rahmen eingeschränkt ist und bis zu welchen Fahrbedingungen die Fahrzeugfunktion noch fehlerfrei funktioniert. Die Benachrichtigung kann beispielsweise auch die Anweisung enthalten, dass der Fahrer das Fahrzeug nicht schneller als mit einer bestimmten Maximalgeschwindigkeit und/oder nicht jenseits einer bestimmten Maximaldrehzahl bewegen soll.
Vorteilhafterweise wird die Programmierung der wenigstens zwei Steuergeräte von einem koordinierenden Steuergerät koordiniert, welches beispielsweise als ein zentrales Steuergerät (Central Connectivity Unit, CCU) ausgebildet sein kann. Das koordinierende Steuergerät überwacht die einzelnen Programmierungen insbesondere und sorgt dafür, dass die Benachrichtigung bei einer fehlerhaften Programmierung ausgegeben wird. Zu diesem Zweck überprüft das koordinierende Steuergerät vorzugsweise, ob die Programmierung von wenigstens einem der wenigstens zwei Steuergeräte fehlgeschlagen ist.
Vorzugsweise überprüft das koordinierende Steuergerät zunächst, ob Bedingungen für die Programmierung erfüllt sind. Beispielsweise beschreiben diese Bedingungen, ob sich das Kraftfahrzeug in dem sicheren Zustand befindet, ob ausreichend Energie vorhanden ist, um die Programmierungen komplett durchzuführen, ob entsprechende neue bzw. aktualisierte Programmcodes für die Programmierungen vorliegen, ob die Softwareversionen dieser Programmcodes zusammenpassen, etc. Bevorzugt können für jedes der wenigstens zwei Steuergeräte individuelle Bedingungen gelten. Wenn all diese Bedingungen gleichzeitig erfüllt sind, können die einzelnen Steuergeräte sicher programmiert werden. Das koordinierende Steuergerät startet die Programmierung der wenigstens zwei Steuergeräte startet somit bevorzugt, wenn die Bedingungen erfüllt sind.
Bevorzugt überprüft das koordinierende Steuergerät, während die Programmierung der wenigstens zwei Steuergeräte durchgeführt wird, ob die Bedingungen nicht mehr erfüllt sind. Beispielsweise können die Bedingungen nicht mehr erfüllt sein, wenn das Kraftfahrzeug den sicheren Zustand verlässt. Das koordinierende Steuergerät bricht die Programmierung der Steuergeräte zweckmäßigerweise ab, wenn wenigstens eine der Bedingungen nicht mehr erfüllt ist. Insbesondere stellt das koordinierende Steuergerät somit sicher, dass die Sicherheit bzw. ein sicherer Betrieb des Kraftfahrzeugs gewährleistet ist. Vorteilhafterweise wird ein Benachrichtigungs-Steuergerät informiert, wenn die
Programmierung von wenigstens einem der wenigstens zwei Steuergeräte nicht erfolgreich beendet wird. Bevorzugt wird das Benachrichtigungs-Steuergerät von dem koordinierenden Steuergerät informiert. Die Benachrichtigung an den Fahrer wird in diesem Fall von dem Benachrichtigungs-Steuergerät ausgegeben. Beispielsweise kann das Benachrichtigungs-Steuergerät für die Steuerung einer
Mensch-Maschinen-Schnittstelle vorgesehen sein und beispielsweise Anzeigevorrichtungen steuern, z.B. etwa im Armaturenbereich, ein Display des Bordcomputers oder ein Head-up-Display. Vorzugsweise wird die Programmierung im Zuge einer Firmware-Over-the-Air-
Programmierung (FOTA) oder Over-the-Air-Programmierung (OTA) durchgeführt. Für die Programmierung benötigte neue bzw. aktualisierte Programmcodes können dabei drahtlos über eine Funkverbindung, wie beispielsweise WLAN oder Mobilfunknetze (z.B. GSM, 3G, 4G usw.), an das Kraftfahrzeug übertragen werden, insbesondere von einem Server des Fahrzeug- oder
Steuergeräteherstellers, zweckmäßigerweise an das koordinierende Steuergerät.
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
Auch die Implementierung des Verfahrens in Form eines Computerprogramms ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des
Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
Kurze Beschreibung der Zeichnungen
Figur 1 zeigt schematisch ein Kraftfahrzeug mit einem Steuergerät, das dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen.
Figur 2 zeigt schematisch eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens als ein Blockdiagramm.
Ausführungsform(en) der Erfindung
In Figur 1 ist ein Kraftfahrzeug schematisch dargestellt und mit 100 bezeichnet. Das Kraftfahrzeug 100 weist eine Vielzahl von Steuergeräten 1 10 auf.
Die Steuergeräte 1 12, 1 13 und 1 14 können beispielsweise Motor-, Bremsen-, bzw. Abstandssensorsteuergerät ausgebildet sein. Das Steuergerät 1 15 ist beispielsweise als ein Benachrichtigungs-Steuergerät ausgebildet und steuert eine Anzeigevorrichtung 120, z.B. ein Display eines Bordcomputers. Es versteht sich, dass das Kraftfahrzeug 100 noch weitere Steuergeräte aufweisen kann, z.B. ABS-, ESP-, Entertainment-, Batterie-, Getriebesteuergerät, usw.
Durch Interaktion von Motorsteuergerät 1 12, Bremsensteuergerät 1 13 und Abstandssensorsteuergerät 1 14 kann beispielsweise die Kraftfahrzeugfunktion eines Abstandsregeltempomats ausgeführt werden. Diese Kraftfahrzeugfunktion stellt eine Funktionalität dar, zu deren Ausführung die Steuergeräte 1 12, 1 13 und 1 14 gemeinsam benötigt werden bzw. zusammenwirken. Im Zuge einer Firmware-Over-the-Air-Programmierung (FOTA) soll eine parallele Programmierung dieser Steuergeräte 1 12, 1 13 und 1 14durchgeführt werden. Beispielsweise soll ein Firmware-Update bzw. eine Aktualisierung der entsprechenden Steuergeräte-Software durchgeführt werden, um eine aktualisierte Version des Abstandsregeltempomats zu implementieren.
Steuergerät 1 1 1 ist als ein zentrales Steuergerät (Central Connectivity Unit, CCU) ausgebildet und dient als koordinierendes Steuergerät dazu, diese Programmierungen durchzuführen und zu überwachen. Zu diesem Zweck kann das koordinierende Steuergerät 1 1 1 über eine drahtlose Verbindung 130, beispielsweise über ein Mobilfunknetz, mit einem Server 140 des Kraftfahrzeugherstellers verbunden werden. Neue, aktualisierte Programmcodes für die Steuergeräte 1 12, 1 13 und 1 14 werden über die drahtlose Verbindung 130 an das koordinierende Steuergerät 1 1 1 übertragen.
Um die Programmierung der Steuergeräte 1 12, 1 13, 1 14 durchzuführen, ist das koordinierende Steuergerät 1 1 1 , insbesondere programmtechnisch, dazu eingerichtet, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen, welche in Figur 2 als ein Blockdiagramm dargestellt ist und im Folgenden in Bezug auf Figur 2 erläutert wird.
In einem Schritt 201 werden, wie oben erläutert, die neuen, aktualisierten Programmcodes für die Steuergeräte 1 12, 1 13, 1 14 über die drahtlose Verbindung 130 von dem Server 140 an das koordinierende Steuergerät 1 1 1 übertragen.
In Schritt 202 überprüft das koordinierende Steuergerät 1 1 1 , ob Bedingungen für die Durchführung der Programmierungen erfüllt sind. Beispielsweise überprüft das koordinierende Steuergerät 1 1 1 dabei einerseits, ob sämtliche für die Programmierung benötigten Programmcodes von dem Server 140 übermittelt wurden und ob Softwareversionen der Programmcodes für die einzelnen Steuergeräte 1 12, 1 13 und 1 14 übereinstimmen. Weiterhin überprüft das koordinierende Steuergerät 1 1 1 in Schritt 203, ob sich das Kraftfahrzeug 100 in einem sicheren Zustand befindet, z.B. im Stillstand befindet, in welchem die Programmierungen gefahrlos durchgeführt werden können. Ebenso wird von dem koordinierenden Steuergerät 1 1 1 in Schritt 203 überprüft, ob ausreichend Energie vorhanden ist, um die Programmierungen vollständig durchzuführen. Beispielsweise kann zu diesem Zweck ein Ladezustand einer Kraftfahrzeugbatterie überprüft werden.
Wenn all diese Bedingungen erfüllt sind, startet das koordinierende Steuergerät 1 1 1 in Schritt 203 die parallelen Programmierungen. Beispielsweise kann das koordinierende Steuergerät 1 1 1 die Programmierungen der einzelnen Steuergeräte 1 12, 1 13, 1 14 selbst durchführen, z.B. durch Übermittlung von Anweisungen gemäß dem sog. UDS-Protokoll (Unified Diagnostic Services). Das koordinierende Steuergerät 1 1 1 kann die einzelnen Steuergeräte 1 12, 1 13, 1 14 auch autorisieren, dass diese ihre jeweilige Programmierung eigenständig durchführen.
Während die Programmierungen durchgeführt werden, überprüft das koordinierende Steuergerät 1 1 1 in Schritt 204 einerseits, ob die Bedingungen aus Schritt 202 nach wie vor erfüllt sind, und andererseits, ob die Programmierungen erfolgreich durchgeführt werden.
Wenn die Bedingungen weiterhin erfüllt sind und alle Programmierungen fehlerfrei durchgeführt wurden, stehen die Steuergeräte 1 12, 1 13, 1 14 mit den aktualisierten Programmcodes in Schritt 205 wieder für den regulären Betrieb des Kraftfahrzeugs zur Verfügung.
Wenn jedoch die in Schritt 204 überprüften Bedingungen nicht mehr erfüllt sind, beispielsweise weil das Kraftfahrzeug den sicheren Zustand verlässt, etwa weil der Fahrer mit dem Kraftfahrzeug aus dem Stillstand losfahren möchte, müssen die Programmierungen abgebrochen werden. Es kann beispielsweis auch der Fall eintreten, dass zwar die Bedingen weiterhin erfüllt sind, aber die Programmierung der Steuergeräte 1 12, 1 13, 1 14 aufgrund eines Fehlers dennoch nicht erfolgreich durchgeführt werden kann. Wenn die Programmierung von wenigstens einem der Steuergeräte 1 12, 1 13, 1 14 nicht erfolgreich durchgeführt wurde, stellt dies einen Fehlerfall dar, der dazu führen kann, dass Fahrzeugfunktionen nicht mehr korrekt durchgeführt werden kann. Beispielsweise kann in diesem Fall der Abstandsregeltempomat, für welchen eine Interaktion der Steuergeräte 1 12, 1 13 und 1 14 erforderlich ist, nicht mehr fehlerfrei ausgeführt werden.
Wenn das koordinierende Steuergerät 1 1 1 in Schritt 204 daher feststellt, dass die Programmierung von wenigstens einem der Steuergeräte 1 12, 1 13, 1 14 nicht erfolgreich durchgeführt wurde, führt das koordinierende Steuergerät 1 1 1 eine Maßnahme durch, um diesen Fehlerfall sicher kontrollieren zu können.
Zu diesem Zweck informiert das das koordinierende Steuergerät 1 1 1 in Schritt 206 das Benachrichtigung-Steuergerät 1 15 über diesen Fehlerfall. Alternativ kann das Benachrichtigung-Steuergerät 1 15 in Schritt 206 auch durch dasjenige Steuergerät bzw. diejenigen Steuergeräte, dessen bzw. deren Programmierung nicht erfolgreich durchgeführt werden konnte, selbst informiert werden.
In Schritt 207 gibt das Benachrichtigung-Steuergerät 1 15 eine entsprechende Nachricht über das Display 120 an den Fahrer aus, mittels welcher der Fahrer über den Fehlerzahl informiert wird und dass der Abstandsregeltempomat derzeit nicht mehr fehlerfrei funktioniert. Insbesondere wird der Fahrer durch die Benachrichtigung angewiesen, dass er den Abstandsregeltempomat derzeit nicht mehr verwenden soll.
Das koordinierende Steuergerät 1 1 1 wiederholt die nicht erfolgreich durchgeführte Programmierung der entsprechenden Steuergeräte zu einem späteren Zeitpunkt gemäß Schritt 208. Insbesondere überprüft das Steuergerät zu diesem Zweck analog zu Schritt 202, ob erneut die entsprechenden Bedingungen erfüllt sind, insbesondere ob sich das Kraftfahrzeug in dem sicheren Zustand befindet, und führt die fehlerhafte Programmierung erneut durch, sobald dies der Fall ist.

Claims

Ansprüche
1 . Verfahren zur Programmierung von Steuergeräten (1 12, 1 13, 1 14) eines Kraftfahrzeugs (100),
wobei eine Programmierung von wenigstens zwei Steuergeräten (1 12, 1 13, 1 14), welche zur Ausführung einer Funktionalität zusammenwirken, durchgeführt wird (203)
wobei, wenn die Programmierung von wenigstens einem der wenigstens zwei Steuergeräte (1 12, 1 13, 1 14) nicht erfolgreich beendet wird (206), eine Benachrichtigung an einen Fahrer des Kraftfahrzeugs (100) ausgegeben wird (207).
2. Verfahren nach Anspruch 1 , wobei die Programmierung des wenigstens einen der wenigstens zwei Steuergeräte (1 12, 1 13, 1 14), welche nicht erfolgreich beendet wird, zu einem späteren Zeitpunkt wiederholt wird (208).
3. Verfahren nach Anspruch 2, wobei durch die Benachrichtigung Anweisungen an den Fahrer ausgegeben werden, wie das Kraftfahrzeug (100) gesteuert werden soll, bis die Programmierung des wenigstens einen der wenigstens zwei Steuergeräte (1 12, 1 13, 1 14) zu dem späteren Zeitpunkt wiederholt wird.
4. Verfahren nach einem der vorstehenden Ansprüche, wobei die Programmierung der wenigstens zwei Steuergeräte (1 12, 1 13, 1 14) von einem koordinierenden Steuergerät (1 1 1 ) koordiniert wird.
5. Verfahren nach Anspruch 4, wobei das koordinierende Steuergerät (1 1 1 ) zunächst überprüft, ob Bedingungen für die Programmierung erfüllt sind (202), und wobei das koordinierende Steuergerät (1 1 1 ) die Programmierung der wenigstens zwei Steuergeräte (112, 113, 114) startet, wenn die Bedingungen erfüllt sind (203).
Verfahren nach Anspruch 5, wobei für jedes der wenigstens zwei Steuergeräte (112, 113, 114) individuelle Bedingungen gelten.
Verfahren nach Anspruch 5 oder 6, wobei das koordinierende Steuergerät (111), während die Programmierung der wenigstens zwei Steuergeräte (112, 113, 114) durchgeführt wird, überprüft, ob die Bedingungen nicht mehr erfüllt sind (204).
Verfahren nach einem der Ansprüche 4 bis 7, wobei das koordinierende Steuergerät (111), während die Programmierung der wenigstens zwei Steuergeräte (112, 113, 114) durchgeführt wird, überprüft, ob die Programmierung von wenigstens einem der wenigstens zwei Steuergeräte fehlgeschlagen ist (204).
Verfahren nach einem der vorstehenden Ansprüche, wobei ein Benachrichtigungs-Steuergerät (115) informiert wird (206), wenn die Programmierung von wenigstens einem der wenigstens zwei Steuergeräte (112, 113, 114) nicht erfolgreich beendet wird, und wobei die Benachrichtigung an den Fahrer von dem Benachrichtigungs-Steuergerät (115) ausgegeben wird (207).
0. Recheneinheit (111), die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.
11. Computerprogramm, das eine Recheneinheit (111) dazu veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen, wenn es auf der Recheneinheit (111) ausgeführt wird.
12. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 11.
PCT/EP2017/056507 2016-04-18 2017-03-20 Verfahren zur programmierung von steuergeräten eines kraftfahrzeugs WO2017182210A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016206489.4 2016-04-18
DE102016206489.4A DE102016206489A1 (de) 2016-04-18 2016-04-18 Verfahren zur Programmierung von Steuergeräten eines Kraftfahrzeugs

Publications (1)

Publication Number Publication Date
WO2017182210A1 true WO2017182210A1 (de) 2017-10-26

Family

ID=58398163

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/056507 WO2017182210A1 (de) 2016-04-18 2017-03-20 Verfahren zur programmierung von steuergeräten eines kraftfahrzeugs

Country Status (2)

Country Link
DE (1) DE102016206489A1 (de)
WO (1) WO2017182210A1 (de)

Families Citing this family (1)

* 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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113521A1 (en) * 2013-10-18 2015-04-23 Fujitsu Limited Information processing method and information processing apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113521A1 (en) * 2013-10-18 2015-04-23 Fujitsu Limited Information processing method and information processing apparatus

Also Published As

Publication number Publication date
DE102016206489A1 (de) 2017-10-19

Similar Documents

Publication Publication Date Title
Schäuffele et al. Automotive software engineering
EP1874587B1 (de) Konfigurationssystem eines fahrzeugs und verfahren zur konfiguration mindestens einer steuereinheit des konfigurationssystems
EP2705430B1 (de) System zur diagnose einer komponente in einem fahrzeug
EP3584140B1 (de) Verfahren und vorrichtung für die steuerung eines sicherheitsrelevanten vorganges, sowie fahrzeug
DE102016200734A1 (de) Verfahren und Vorrichtung zum Überwachen einer fahrerlosen Fahrt eines Kraftfahrzeugs innerhalb eines Parkplatzes
DE102018212025A1 (de) Verfahren zum Betreiben eines autonomen Fahrzeugs und autonomes Fahrzeug
WO2017020999A1 (de) Verfahren zum betreiben eines kraftfahrzeugs und system zum betreiben eines kraftfahrzeugs
DE102017220327B4 (de) Verfahren zum Prüfen wenigstens einer Fahrzeugkomponente eines Fahrzeugs, sowie Steuergerät eines Fahrzeugs, Fahrzeug und System mit einem Fahrzeug
EP3644148A1 (de) Testterminal für tests an einer fahrzeug-infrastruktur
EP3353650B1 (de) System und verfahren zur verteilung und/oder aktualisierung von software in vernetzten steuereinrichtungen eines fahrzeugs
WO2017125181A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
WO2017182210A1 (de) Verfahren zur programmierung von steuergeräten eines kraftfahrzeugs
EP2962162B1 (de) Verfahren zur einrichtung oder aktualisierung einer programmierung eines steuergerätes eines verkehrsmittels
WO2017178211A1 (de) Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug
DE102014219322B4 (de) Update einer Fahrzeugsteuerung per Car2X
EP3743815A1 (de) Vorrichtung und verfahren zum registrieren und überwachen autonomer fahrzeuge
DE102016200711A1 (de) Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug
WO2015120984A1 (de) Kraftfahrzeug
EP3582032B1 (de) Feldgerät mit reduzierter stillstandszeit bei firmware-update
EP3437261A1 (de) Vorrichtung und verfahren zur filterung von sicherheitsrelevanten eingriffen, sowie ein gateway-steuergerät
DE102009047974B4 (de) Verfahren zur Programmierung eines Steuergeräts
DE102016202524A1 (de) Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs
WO2020070042A1 (de) Verfahren zur aktualisierung von daten eines steuergeräts eines fahrzeugs
DE102012218665B4 (de) Applikationssystem für Steuergeräte
DE102016116168A1 (de) Fahrzeug, System und Verfahren zur Aktualisierung der Firmware einer Fahrzeugkomponente

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 17712739

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17712739

Country of ref document: EP

Kind code of ref document: A1