DE102017221291A1 - Elektronische steuereinheit in fahrzeug - Google Patents

Elektronische steuereinheit in fahrzeug Download PDF

Info

Publication number
DE102017221291A1
DE102017221291A1 DE102017221291.8A DE102017221291A DE102017221291A1 DE 102017221291 A1 DE102017221291 A1 DE 102017221291A1 DE 102017221291 A DE102017221291 A DE 102017221291A DE 102017221291 A1 DE102017221291 A1 DE 102017221291A1
Authority
DE
Germany
Prior art keywords
program
control
vehicle
control program
electronic
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.)
Pending
Application number
DE102017221291.8A
Other languages
English (en)
Inventor
Kazuhiro Uehara
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of DE102017221291A1 publication Critical patent/DE102017221291A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Eine elektronische In-Vehicle-Steuereinheit weist auf: einen Speicher (25) mit mehreren Programmbereichen (SA, SB), in die bzw. in denen an jeweils verschiedenen Zeitpunkten ein Steuerprogramm geschrieben bzw. überschrieben wird; und eine Steuerprogrammwähleinheit, die ein Ausführungsprogramm unter den mehreren Steuerprogrammen (PA, PB), die in den mehreren Programmbereichen gespeichert sind, wählt.
Der Speicher (25) speichert (i) Abschluss-Flags (FlgA, FlgB), die anzeigen, ob das Schreiben/Überschreiben des Steuerprogramms (PA, PB) bezüglich des Programmbereichs (SA, SB) abgeschlossen ist, und (ii) Schreibzähler (CntA, CntB), die die Anzahl von Malen eines Überschreibens des Steuerprogramms in den entsprechenden Programmbereichen (SA, SB) anzeigen. Die Steuerprogrammwähleinheit wählt das Ausführungsprogramm auf der Grundlage der Abschluss-Flags (FlgA, FlgB) und der Schreibzähler (CntA, CntB).

Description

  • Die vorliegende Erfindung betrifft im Allgemeinen eine elektronische In-Vehicle-Steuereinheit (fahrzeugeigene ECU), die mit einem Speicher ausgerüstet ist, der mehrere Steuerprogramme in einem überschreibbaren Speicherbereich speichert.
  • Bekannt, aus dem nachstehend aufgeführten Patentdokument 1, ist ein Speicher, der mehrere Steuerprogramme speichert und in einer elektronischen In-Vehicle-Steuereinheit verwendet wird. Solch eine ECU führt das Steuerprogramm aus, indem es einen von mehreren vordefinierten Speicherbereichen in dem Speicher wählt und das in dem gewählten Speicherbereich gespeicherte Steuerprogramm liest. Ferner überschreibt die ECU das Steuerprogramm, indem sie beispielsweise einen Nicht-in-Ausführung-Bereich des Speichers wählt, in dem aktuell keiner der gespeicherten Inhalte ausgeführt wird und der sich von einem In-Ausführung-Bereich unterscheidet, der das Steuerprogramm speichert, das aktuell von einer CPU ausgeführt wird, so dass das Überschreiben des Steuerprogramms das aktuell ausgeführte Steuerprogramm (d.h. ein „In-Ausführung“-Steuerprogramm) und eine Beständigkeit bei der Ausführung/Abarbeitung des In-Ausführung-Steuerprogramms nicht beeinträchtigen wird.
  • Patentdokument 1: JP 2013-254263
  • Die vorstehend beschriebene ECU führt das Steuerprogramm aus, ohne irgendeine Gültigkeitsprüfung des Programms vorzunehmen. Folglich wird gegebenenfalls ein ungültiges bzw. unzulässiges Steuerprogramm ausgeführt, wie beispielsweise ein Steuerprogramm, das noch nicht vollständig in den Speicher geschrieben ist. Wenn das ungültige Steuerprogramm ausgeführt wird, kann ein unbeabsichtigter Fahrzeugsteuerzustand auftreten und weiterhin auftreten, wenn das ungültige Steuerprogramm ausgeführt wird.
  • Es ist Aufgabe der vorliegenden Erfindung, eine elektronische In-Vehicle-Steuereinheit bereitzustellen, die das Steuerprogramm ausführt, nachdem sie eine Gültigkeit des Steuerprogramms bestimmt hat.
  • Gemäß einem Aspekt der vorliegenden Erfindung weist eine elektronische In-Vehicle-Steuereinheit auf: einen Speicher (25) mit mehreren Programmbereichen (SA, SB), wobei jeder der mehreren Programmbereiche ein Steuerprogramm speichert, das ein Steuerobjekt steuert, das in einem Fahrzeug angeordnet ist, wobei jeder der mehreren Programmbereiche an verschiedenen Überschreibungszeitpunkten mit den Steuerprogrammen des Steuerobjekts überschreibbar ist; und eine Steuerprogrammwähleinheit (S10-S40, S70, S80), die ein Ausführungsprogramm unter den mehreren Steuerprogrammen (PA, PB) wählt, die in den mehreren Programmbereichen gespeichert sind. Der Speicher speichert ein Abschluss-Flag (FlgA, FlgB) und einen Schreibzähler (CntA, CntB) für jeden der mehreren Programmbereiche, wobei das Abschluss-Flag einen Abschluss eines Überschreibens des Steuerprogramms anzeigt und der Schreibzähler eine Anzahl von Malen des Überschreibens des Steuerprogramms anzeigt. Die Steuerprogrammwähleinheit wählt das Ausführungsprogramm auf der Grundlage des Abschluss-Flags und des Schreibzählers.
  • Gemäß der vorliegenden Erfindung werden Steuerprogramme, die an verschiedenen Zeitpunkten geschrieben werden, in verschiedenen Programmbereichen gespeichert und speichert der Speicher ein Abschluss-Flag und einen Schreibzähler für jeden der mehreren Programmbereiche. Die Gültigkeit von jedem der Steuerprogramme wird auf der Grundlage des Abschluss-Flags und des Schreibzählers entsprechend jedem der Programme bestimmt, und es wird das Steuerprogramm, das als gültig bestimmt wird, ausgeführt.
  • Die Bezugszeichen in Klammern in diesem Abschnitt und in den Ansprüchen bestimmen Verhältnisse zwischen den Elementen in den Ansprüchen und den Komponenten in den hierin beschriebenen Ausführungsformen, beschränken jedoch den Schutzumfang der vorliegenden Erfindung nicht.
  • Aufgaben, Eigenschaften und Vorteile der vorliegenden Erfindung sind aus der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen näher ersichtlich. In den Zeichnungen zeigt:
    • 1 ein Blockdiagramm einer Konfiguration eines elektronischen In-Vehicle-Steuersystems der vorliegenden Erfindung;
    • 2 eine Konfiguration eines Speicherbereichs des elektronischen In-Vehicle-Steuersystems;
    • 3 ein Ablaufdiagramm eines Verarbeitungsverfahrens zum Ausführen eines Boot-Programms;
    • 4 ein Ablaufdiagramm eines Verarbeitungsverfahrens zur Überwachung eines Steuerbetriebs;
    • 5 ein Ablaufdiagramm eines Verarbeitungsverfahrens zum Ausführen eines Repro-Programms;
    • 6 eine Aktualisierung eines Zählers und eines Abschluss-Flags, wenn das Steuerprogramm geschrieben wird; und
    • 7 ein Ablaufdiagramm eines Verarbeitungsverfahrens zur Überwachung eines Steuerbetriebs.
  • Nachstehend sind Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
  • (Erste Ausführungsform)
  • <Konfiguration>
  • Nachstehend ist die Konfiguration eines elektronischen In-Vehicle-Steuersystems 10 unter Bezugnahme auf die 1 beschrieben. Das elektronische In-Vehicle-Steuersystem 10 ist in einem Fahrzeug angeordnet und weist auf: einen Verbindungsknoten 20, einen Verbindungsknoten 30, einen Repeater 40 und eine Drahtloskommunikationsvorrichtung 50. Der Verbindungsknoten 20, der Verbindungsknoten 30, der Repeater 40 und die Drahtloskommunikationsvorrichtung 50 sind über eine Kommunikationsleitung gemäß einem Kommunikationsstandard, wie beispielsweise CAN oder Ethernet, miteinander verbunden, um als ein Fahrzeugnetzwerk zu dienen. CAN und Ethernet sind jeweils eingetragene Marken.
  • Der Verbindungsknoten 20 ist eine elektronische In-Vehicle-Steuereinheit (In-Vehicle-ECU), die ein Steuerobjekt steuert, das in dem Fahrzeug angeordnet ist, wie beispielsweise ein Verbrennungsmotor, eine Bremse und dergleichen.
  • Die ECU weist einen Mikrocomputer 21 als eine Hauptkomponente auf. Der Mikrocomputer 21 weist eine CPU 23, ein RAM 24, ein ROM 25 und einen Daten-Transceiver 22 auf. Die CPU 23 ist eine Recheneinheit zum Ausführen der Befehle eines Programms anhand von Rechen-, Logik-, Steuer- und Eingabe/Ausgabe-Operationen (d.h. Berechnungen). Das RAM 24 ist ein flüchtiger Speicher zum temporären Speichern von Rechenergebnissen der CPU 23 und dergleichen. Das ROM 25 ist ein nicht-flüchtiger Speicher, wie beispielsweise ein EEPROM, mit einem wiederbeschreibbaren/überschreibbaren Speicherbereich. Das ROM 25 speichert ein Programm, das von der CPU 23 ausgeführt wird. Der Daten-Transceiver 22 sendet und empfängt Daten über eine Kommunikationsleitung zu und von jeder der Vorrichtungen im Fahrzeugnetzwerk. Die Konfiguration des ROM 25 ist nachstehend noch näher beschrieben.
  • Der Verbindungsknoten 30 ist eine ECU, die ein Steuerobjekt steuert, das in dem Fahrzeug angeordnet ist, gleich dem Verbindungsknoten 20. Der Verbindungsknoten 30 kann dasselbe Steuerobjekt wie der Verbindungsknoten 20 steuern, oder der Verbindungsknoten 30 kann ein Steuerobjekt verschieden von dem Steuerobjekt steuern, das durch den Verbindungsknoten 20 gesteuert wird. Obgleich nicht in der 1 gezeigt, können viele Steuerobjekte in einem Fahrzeug angeordnet sein und bilden viele ECUs zur Steuerung der vielen Steuerobjekte das Fahrzeugnetzwerk als Verbindungsknoten.
  • Die Drahtloskommunikationsvorrichtung 50 stellt eine drahtlose Verbindung zu externen Vorrichtungen her, d.h. Vorrichtungen, die nicht in dem Fahrzeugnetzwerk enthalten sind, und sendet und empfängt Daten über einen Daten-Transceiver 51. Die externe Vorrichtung kann beispielsweise ein Zentrum 80 oder ein tragbares Endgerät 90 sein.
  • Das Zentrum 80 ist vorgesehen, damit der Benutzer ein vom ROM 25 gespeichertes Programm aktualisieren kann, ohne das Fahrzeug zu einem Fahrzeughändler oder einer anderen Fahrzeugwartungseinrichtung bringen zu müssen. Das Zentrum 80 sendet ein neues Programm über die Drahtloskommunikationsvorrichtung 50 an den Verbindungsknoten 20, um das vom ROM 25 gespeicherte Programm zu aktualisieren, sofern Bedarf besteht.
  • Das tragbare Endgerät 90 kann eine Vorrichtung sein, die der Benutzer des Fahrzeugs oder ein Fahrzeugtechniker mit sich führt, wie beispielsweise ein Smartphone oder ein Tablet. Das tragbare Endgerät 90 empfängt einen Hinweis über die Drahtloskommunikationsvorrichtung 50, wenn beispielsweise ein Fehler im Verbindungsknoten 20 auftritt.
  • Der Repeater 40 ist mit der Drahtloskommunikationsvorrichtung 50 und jedem der Verbindungsknoten verbunden. Daten, die von den externen Vorrichtungen über die Drahtloskommunikationsvorrichtung 50 an das Fahrzeugnetzwerk gesendet werden, werden durch den Repeater 40 an einen der Verbindungsknoten weitergeleitet. Daten, die von dem Verbindungsknoten an das Fahrzeugnetzwerk gesendet werden, werden durch den Repeater 40 an die Drahtloskommunikationsvorrichtung 50 weitergeleitet.
  • Der Repeater 40 weist eine drahtgebundene Verbindung zu einer Diagnosevorrichtung 70 auf, die eine externe Vorrichtung ist. Der Repeater 40 leitet Daten zwischen der Diagnosevorrichtung 70 und den Verbindungsknoten weiter. Die Diagnosevorrichtung 70 empfängt Diagnosedaten, die die Steuerobjekte betreffen, von jedem der Verbindungsknoten, um ein Fahrzeugdiagnoseverfahren auszuführen.
  • Nachstehend ist die Konfiguration des ROM 25 unter Bezugnahme auf die 2 beschrieben. Das ROM 25 weist einen Überschreibungsbereich 251, der ein wiederbeschreibbarer/überschreibbarer Speicherbereich ist, und einen Nicht-Überschreibungsbereich 252, der ein nicht-wiederbeschreibbarer/nicht-überschreibbarer Speicherbereich ist, auf. Das ROM 25 ist hierin auch als „Speicher“ bezeichnet.
  • Der Überschreibungsbereich 251 weist mehrere Programmbereiche SA und SB auf, in die Steuerprogramme zu verschiedenen Zeiten geschrieben werden. „Schreiben“ eines Steuerprogramms in den Überschreibungsbereich 251, so wie es hierin verwendet wird, kann den Prozess eines Schreibens, Überschreibens und Umschreibens des Steuerprogramms umfassen, und solch ein Steuerprogramm, das in den Überschreibungsbereich 251 geschrieben, überschrieben und umgeschrieben wird, ist hierin auch allgemein als „geschriebenes“ Steuerprogramm bezeichnet. Ein Steuerprogramm PA wird in dem Programmbereich SA gespeichert, und ein Steuerprogramm PB wird in dem Programmbereich SB gespeichert. Die Steuerprogramme PA und PB sind Programme zur Steuerung desselben Steuerobjekts, das in einem Fahrzeug angeordnet ist.
  • Ein Abschluss-Flag FlgA und ein Schreibzähler CntA des Programmbereichs SA werden in dem Programmbereich SA gespeichert. Das Abschluss-Flag FlgA ist ein Flag, das den Abschluss eines Schreibzustands anzeigt, d.h. ob das Schreiben des Steuerprogramms PA abgeschlossen ist. Der Schreibzähler CntA zeigt die Anzahl von Malen, die ein Schreiben an dem Steuerprogramm PA erfolgt ist, das durch den Programmbereich SA in dem Überschreibungsbereich 251 gespeichert wird. D.h., jedes Mal, wenn ein Umschreiben/Überschreiben des Steuerprogramms PA in dem Programmbereich SA erfolgt, wird der Zähler CntA erhöht. In gleicher Weise werden ein Abschluss-Flag FlgB und ein Zähler CntB durch den Programmbereich SB gespeichert.
  • Der Wert der Abschluss-Flags FlgA und FlgB ist entweder OK oder NG. OK zeigt einen abgeschlossenen Schreibzustand, in dem ein Schreiben an einem Steuerprogramm abgeschlossen ist. NG zeigt einen nicht abgeschlossenen Schreibzustand, in dem ein Schreiben an einem Steuerprogramm nicht abgeschlossen ist. Die Werte der Zähler CntA und CntB können verwendet werden, um anzuzeigen, dass ein in einem Speicherbereich gespeichertes Steuerprogramm neuer ist als ein in dem anderen Speicherbereich gespeichertes Steuerprogramm ist. Das Steuerprogramm (d.h. PA oder PB) entsprechend dem höheren Zählwert der Zähler CntA und CntB kann beispielsweise neuer als das andere sein, was bedeutet, dass das Steuerprogramm entsprechend dem höheren Zählwert von CntA und CntB an einem Zeitpunkt später als oder nach dem Schreiben des anderen Steuerprogramms in den entsprechenden Speicherbereich (d.h. SA oder SB) geschrieben wurde. Die CPU 23 kann die Steuerprogramme PA und PB ausführen, um die Funktion eines Abnormitätsdetektors oder eines Abnormitätshandlers aufzuweisen.
  • Während Steuerprogramme in dem Überschreibungsbereich 251 gespeichert werden können, können ein Boot-Programm und ein Repro-Programm in dem Nicht-Überschreibungsbereich 252 gespeichert werden. Das Boot-Programm ist ein Startprogramm, das von der CPU 23 ausgeführt wird, wenn die Energieversorgung des Verbindungsknotens 20 von AUS zu EIN geschaltet wird. Das Repro-Programm ist ein Programm zum Umschreiben/Überschreiben der in dem Überschreibungsbereich 251 gespeicherten Steuerprogramme PA und PB. Die CPU 23 kann das Boot-Programm ausführen, um eine Funktion einer Steuerprogrammwähleinheit, eine Funktion eines Fehlerhandlers und eine Funktion einer Stoppanfrageeinheit auszuführen.
  • <Prozess>
  • <Prozess zum Ausführen von Boot-Programm>
  • Nachstehend ist der Prozess zum Ausführen des Boot-Programms unter Bezugnahme auf das in der 3 gezeigte Ablaufdiagramm beschrieben. Dieser Prozess erfolgt, wenn die Energieversorgung des Verbindungsknotens 20 von AUS zu EIN geschaltet wird (d.h. an einem Einschaltzeitpunkt).
  • Zunächst wird, in Schritt S5, eine Ausführung eines Boot-Programms in gestartet.
  • Anschließend wird, in Schritt S10, bestimmt, ob der Wert des Zählers CntA des Programmbereichs SA und der Wert des Zählers CntB des Programmbereichs SB zueinander gleich sind. Grundsätzlich sind der Wert des Zählers CntA und der Wert des Zählers CntB dazu ausgelegt, voneinander verschieden zu sein, d.h. einer der zwei Werten CntA und CntB ist größer als der andere. Wenn jedoch Daten während einer Verarbeitung beschädigt werden, können die zwei Werte den gleichen Wert annehmen.
  • In Schritt S10 wird, wenn die Werte der Zähler CntA und CntB nicht zueinander gleich sind, eine negative Bestimmung getroffen (d.h. NEIN) und schreitet der Prozess zu Schritt S20 voran.
  • In Schritt S20 wird bestimmt, ob der Wert des Zählers CntA kleiner als der Wert des Zählers CntB ist. Wenn der Wert des Zählers CntA größer als der Wert des Zählers CntB ist, d.h. anzeigt, dass das Steuerprogramm PA neuer als das Steuerprogramm PB ist, wird eine negative Bestimmung getroffen (d.h. NEIN) und schreitet der Prozess zu Schritt S30 voran.
  • In Schritt S30 wird bestimmt, ob das Abschluss-Flag FlgA des Programmbereichs SA OK ist. Wenn das Abschluss-Flag FlgA OK ist, wird eine positive Bestimmung getroffen und schreitet der Prozess zu Schritt S40 voran.
  • In Schritt S40 wird das Schreiben des Steuerprogramms PA als abgeschlossen betrachtet und das Steuerprogramm PA als neuer als das Steuerprogramm PB erachtet. Das Steuerprogramm PA wird als gültig bestimmt und als ein Ausführungsobjekt gewählt.
  • Durch ein Springen aus dem Speicherbereich des Boot-Programms zu einer Startadresse des Steuerprogramms PA wird das Steuerprogramm PA gestartet und ausgeführt.
  • Demgegenüber wird, wenn, in Schritt S10, der Wert des Zählers CntA und der Wert des Zählers CntB zueinander gleich sind, eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S50 voran. In Schritt S30 wird, wenn das Abschluss-Flag FlgA NG ist, eine negative Bestimmung getroffen (d.h. NEIN) und schreitet der Prozess zu Schritt S50 voran.
  • In Schritt S50 wird bestimmt, dass kein Programmbereich existiert, der ein gültiges Programm speichert, und wird kein Steuerprogramm als ein Ausführungsobjekt gewählt. Um das ältere der Steuerprogramme zu einem gültigen Programm umzuschreiben/überzuschreiben, springt der Speicherbereich des Boot-Programms zu einer Startadresse des Repro-Programms und wird das Repro-Programm gestartet und ausgeführt. Der Prozess zur Ausführung des Repro-Programms ist nachstehend noch näher beschrieben.
  • In Schritt S50 werden, wenn das Steuerobjekt des Verbindungsknotens 20 beispielsweise ein Steuerobjekt zur Steuerung einer Fahrzeugfahrt oder eines Fahrens des Fahrzeugs ist, wie beispielsweise ein Steuerobjekt, das die Fahrt des Fahrzeugs stoppt, wird eine Stoppsteueranfrage an die anderen Verbindungsknoten gesendet, die die Fahrzeugfahrt steuern, und wird eine Steuerung zum Stoppen der Fahrt des Fahrzeugs ausgeführt.
  • Das Steuerobjekt zur Fahrtsteuerung kann ein Steuerobjekt sein, das einen Fahrzeugbetrieb steuert, wie beispielsweise ein Stoppen des Fahrzeugs, einen/eine Antrieb/Fahrt des Fahrzeugs, ein Lenken/Manövrieren des Fahrzeugs und dergleichen. Solche Steuerobjekte können beispielsweise eine Bremse, ein Gaspedal, ein Lenkrad und dergleichen sein.
  • Die anderen Verbindungsknoten, die eine Fahrt des Fahrzeugs steuern, können eine Verbrennungsmotor-ECU zur Steuerung eines Verbrennungsmotors, eine Einspritzventil-ECU zur Steuerung der Kraftstoffeinspritzung über ein Einspritzventil und dergleichen sein. Wenn der Verbindungsknoten 20 beispielsweise eine Bremse als das Steuerobjekt steuert und kein Steuerprogramm zur Steuerung der Bremse ausführbar ist, wird die Kraftstoffeinspritzung gestoppt und der Verbrennungsmotor gestoppt. D.h., wenn ein Steuerobjekt des Verbindungsknotens 20 ein Steuerobjekt zur Fahrtsteuerung ist und keines der Steuerprogramme PA und PB ausführbar ist, wird die Fahrt des Fahrzeugs gestoppt, da das Fahrzeug in solch einer Situation gegebenenfalls instabil fährt.
  • In Schritt S60 wird/werden die externe(n) Vorrichtung(en) über einen Fehlerzustand, d.h. einen Zustand, in dem kein Steuerprogramm ausführbar ist, informiert. Die externen Vorrichtungen können, wie vorstehend beschrieben, die Diagnosevorrichtung 70 in einer drahtgebundenen Verbindung oder das Zentrum 80 und/oder das tragbare Endgerät 90 in einer drahtlosen Verbindung umfassen. Der Fehlerzustand kann auf der externen Vorrichtung angezeigt werden.
  • In Schritt S20 wird, wenn der Wert des Zählers CntB größer als der Wert des Zählers CntA ist, d.h. wenn berücksichtigt wird, dass das Steuerprogramm PB neuer als das Steuerprogramm PA ist, eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S70 voran.
  • In Schritt S70 wird bestimmt, ob das Abschluss-Flag FlgB des Programmbereichs SB OK ist. Wenn das Abschluss-Flag FlgB OK ist, wird eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S80 voran.
  • In Schritt S80 wird bestimmt, dass das Schreiben des Steuerprogramms PB abgeschlossen und das Steuerprogramm PB neuer als das Steuerprogramm PA ist. Das Steuerprogramm PB wird als ein gültiges Programm bestimmt und als ein Ausführungsobjekt gewählt. Der Speicherbereich des Boot-Programms springt an eine Startadresse des Steuerprogramms PB, und das Steuerprogramm PB wird gestartet und ausgeführt.
  • Demgegenüber wird, wenn, in Schritt S70, das Abschluss-Flag FlgB NG ist, eine negative Bestimmung getroffen (d.h. NEIN) und schreitet der Prozess zu Schritt S90 und Schritt S100 voran.
  • In Schritt S90 erfolgt der gleiche Prozess wie in Schritt S50, und in Schritt S100 erfolgt der gleiche Prozess wie in Schritt S60. Nach den Schritten S40, S60, S80 und S10 endet der Prozess im Ablaufdiagramm der 3.
  • Die Hardware- und strukturellen Komponenten des elektronischen In-Vehicle-Steuersystems 10, die die Prozesse der Schritte S10-S40, S70 und S80 implementieren, und die Prozesse selbst sind hierin auch als eine Steuerprogrammwähleinheit bezeichnet. Die Hardware- und strukturellen Komponenten des elektronischen In-Vehicle-Steuersystems 10, die die Prozesse der Schritte S50, S60, S90 und S100 implementieren, sind hierin auch als ein Fehlerhandler bezeichnet. In gleicher Weise sind die Prozesse der Schritte S50, S60, S90 und S100 hierin auch als ein Fehlerhandler bezeichnet. Die Hardware- und strukturellen Komponenten des elektronischen In-Vehicle-Steuersystems 10, die die Prozesse der Schritte S50 und S90 implementieren, und die Prozesse selbst sind hierin auch als eine Stoppanfrageeinheit bezeichnet.
  • <Überwachungsprozess von Steuerbetrieb>
  • Nachstehend ist der Prozess zur Überwachung eines Steuerbetriebs des Steuerprogramms PA, wenn das Steuerprogramm PA ausgeführt wird, unter Bezugnahme auf das in der 4 gezeigte Ablaufdiagramm beschrieben. Der Ablauf kann wiederholt ausgeführt werden, bis die Energieversorgung AUS geschaltet wird. Da der Prozess zur Überwachung eines Steuerbetriebs des Steuerprogramms PB im Wesentlichen gleich dem Prozess zur Überwachung des Steuerbetriebs des Programms PA ist, ist eine Beschreibung hiervon der Kürze halbe ausgelassen, ist diese jedoch generell beschreibbar, indem im Ablaufdiagramm der 4 und der entsprechenden Beschreibung „A“ durch „B“ (oder umgekehrt) ersetzt wird.
  • Die Ausführung des Steuerprogramms PA wird in Schritt S490 gestartet.
  • In Schritt S500 wird bestimmt, ob irgendwelche Fehler oder Abnormitäten in dem Steuerbetrieb des Steuerprogramms PA vorliegen. Wenn Fehler im Steuerprogramm PA vorliegen, besteht die Möglichkeit, dass Fehler/Abnormitäten während des Steuerbetriebs auftreten werden, so dass die beabsichtigte Steuerung des Steuerprogramms PA gegebenenfalls nicht realisierbar ist. Wenn das Steuerprogramm PA beispielsweise Fehler aufweist und der Initialisierungsprozess zum Einrichten eines Kommunikationsanschlusses für den Mikrocomputer 21 nicht korrekt ausgeführt wird, kann der Mikrocomputer 21 in einen Fehlerzustand versetzt werden, in dem Kommunikationsunterbrechungen auftreten können und eine beabsichtigte Steuerung gegebenenfalls nicht realisierbar ist.
  • Wenn das Steuerprogramm PA Fehler aufweist, wird die Ausführung des Steuerprogramms PA vorzugsweise beendet, anstatt die Ausführung des fehlerhaften Steuerprogramms PA fortzusetzen. Folglich wird der Steuerbetrieb des Steuerprogramms PA überwacht, um das Auftreten von Abnormitäten und Fehlern zu erfassen.
  • Praxisnaher beschrieben, wenn das Steuerprogramm PA ausgeführt wird, wird wenigstens entweder Fehlerdiagnoseinformation, d.h. Störungs-, Fehlfunktions- oder Fehlerinformation, oder Steuerinformation des Steuerobjekts überwacht, um irgendwelche Abnormitäten/Fehler des Steuerbetriebs zu erfassen. Die Steuerinformation kann beispielsweise ein Ansteuersignal zur Ansteuerung des Steuerobjekts oder ein Erfassungswert eines Sensors, der eine Größe eines Betriebs des Steuerobjekts misst/erfasst, sein. D.h., wenn beispielsweise ein Kommunikationsanschlusseinrichtungsprozess nicht korrekt ausgeführt wird, erfasst die Ausführung des Steuerprogramms PA die Kommunikationsunterbrechung und ist die erfasste Kommunikationsunterbrechung in der Fehlerdiagnoseinformation enthalten.
  • Ferner ist, wenn ein Kraftstoffeinspritzmengeneinstellprozess zum Einspritzen von Kraftstoff über ein Einspritzventil nicht korrekt ausgeführt wird, ein Ansteuersignal und/oder ein Erfassungswert, der eine/einen Abnormität/Fehler bei der Einspritzsteuerung anzeigt, in der Steuerinformation enthalten.
  • In Schritt S500 wird, wenn eine/ein Abnormität/Fehler erfasst wird, eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S510 voran. Wenn keine Abnormität erfasst wird, wird eine negative Bestimmung getroffen (d.h. NEIN) und endet der Prozess zur Überwachung des Steuerbetriebs.
  • In Schritt S510 wird der Wert des Zählers CntB des Programmbereichs SB auf einen Wert aktualisiert, der berechnet wird, indem 1 zu dem Wert des Zählers CntA des Programmbereichs SA addiert wird. Auf diese Weise wird, wenn das Boot-Programm das nächste Mal ausgeführt wird, bestimmt, dass das im Programmbereich SB gespeicherte Steuerprogramm PB neuer als das Steuerprogramm PA ist.
  • In Schritt S520 wird ein Fehlerzustand, der eine Energieneustartanfrage beinhaltet, an die externe(n) Vorrichtung(en) gesendet, um die externe(n) Vorrichtung(en) über den Fehlerzustand des Steuerbetriebs durch das Steuerprogramm PA zu informieren, und wird der Fehlerzustand auf der/den externen Vorrichtung(en) angezeigt. Ein Benutzer, der solch eine Energieneustartanfrage empfängt, wird angewiesen, die Energieversorgung des Verbindungsknotens 20 auszuschalten und die Energieversorgung des Knotens 20 anschließend wieder einzuschalten. Genauer gesagt, wenn ein Fehlerzustand und eine Energieneustartanfrage an die externe Vorrichtung gesendet werden, startet ein Benutzer die Energieversorgung des Knotens 20 neu, indem er die Energieversorgung des Knotens 20 AUS und anschließend wieder EIN schaltet.
  • In Schritt S530 wird bestimmt, ob die Energieversorgung des Verbindungsknotens 20 ausgeschaltet ist. In Schritt S530 wird, wenn bestimmt wird, dass die Energieversorgung nicht ausgeschaltet ist, eine negative Bestimmung getroffen (d.h. NEIN) und wartet der Prozess in Schritt S530 darauf, dass die Energieversorgung ausgeschaltet wird. Wenn bestimmt wird, dass die Energieversorgung ausgeschaltet ist, wird eine positive Bestimmung getroffen (d.h. JA) und endet der Prozess zur Überwachung des Steuerbetriebs.
  • Wenn die Energieversorgung des Verbindungsknotens 20 eingeschaltet wird, das Boot-Programm ausgeführt wird und wenn das Abschluss-Flag FlgB des Steuerprogramms PB OK ist, wird der Prozess zum Starten des Steuerprogramms PB gewechselt. Die Hardware- und strukturellen Komponenten des elektronischen In-Vehicle-Steuersystems 10, die den Prozess von Schritt S500 implementieren, und der Prozess selbst sind hierin auch als ein Abnormitätsdetektor bezeichnet. Die Hardware- und strukturellen Komponenten des elektronischen In-Vehicle-Steuersystems 10, die die Prozesse der Schritte S510 und S520 implementieren, und die Prozesse selbst sind hierin auch als ein Abnormitätshandler bezeichnet.
  • <Prozess zum Ausführen von Repro-Programm>
  • Nachstehend ist der Prozess zum Ausführen eines Repro-Programms unter Bezugnahme auf das in der 5 gezeigte Ablaufdiagramm beschrieben. Das Repro-Programm wird, wie vorstehend beschrieben, in den Schritten S50 und S90 ausgeführt, wenn während der Ausführung des Boot-Programms kein gültiges Steuerprogramm gewählt wird. Das Repro-Programm kann ebenso ausgeführt werden, wenn der Verbindungsknoten 20 während der Ausführung des Steuerprogramms PA oder des Steuerprogramms PB eine Übergangsanfrage von einer externen Vorrichtung empfängt.
  • Eine Ausführung des Repro-Programms wird in Schritt S190 gestartet.
  • In Schritt S200 wird bestimmt, ob eine Authentifizierung mit einer externen Vorrichtung abgeschlossen ist. Die externe Vorrichtung ist beispielsweise das Zentrum 80, das ein neues Steuerprogramm sendet.
  • In Schritt S200 wird, wenn die Authentifizierung mit der externen Vorrichtung nicht abgeschlossen ist, eine negative Bestimmung getroffen (d.h. NEIN) und kehrt der Prozess zu Schritt S200 zurück, um zu bestimmen, ob die Authentifizierung abgeschlossen ist. Wenn die Authentifizierung abgeschlossen ist, wird eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S210 voran.
  • In Schritt S210 wird bestimmt, ob eine Löschanfrage von der externen Vorrichtung empfangen wird. D.h., wenn die Löschanfrage nicht von der externen Vorrichtung empfangen wird, wird in Schritt S210 eine negative Bestimmung getroffen (d.h. NEIN), bis eine Löschanfrage von der externen Vorrichtung empfangen wird. Sobald die Löschanfrage empfangen wird, wird eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S220 voran.
  • In Schritt S220 wird der Programmbereich SX mit dem kleinsten Zählwert unter den mehreren Programmbereichen eingestellt, um ein NG-Flag für das Abschluss-Flag FlgX aufzuweisen. D.h., das Abschluss-Flag FlgX des Programmbereichs SX, der das älteste Steuerprogramm speichert, wird auf „NG“ gesetzt. „X“ beispielsweise, so wie es hierin verwendet wird, um den Programmbereich SX zu beschreiben, steht entweder für „A“ oder „B“.
  • In Schritt S230 wird der Wert des Zählers CntX des Programmbereichs SX initialisiert. D.h., der Wert des Zählers CntX wird auf „0“ gesetzt.
  • In Schritt S240 wird ein Steuerprogramm PX, das durch den Programmbereich SX gespeichert wird, gelöscht.
  • In Schritt S250 wird eine Bestätigung (ACK), um zu bestätigen, dass das Löschen des Steuerprogramms PX abgeschlossen ist, an die externe Vorrichtung gesendet.
  • In Schritt S260 wird bestimmt, ob ein Schreibprogramm, d.h. ein neues Steuerprogramm, von der externen Vorrichtung empfangen wird. D.h., wenn das Schreibprogramm nicht empfangen wird, wird wiederholt eine negative Bestimmung (d.h. NEIN) getroffen, bis ein Schreibprogramm empfangen wird, und wird, sobald das Schreibprogramm vollständig empfangen ist, eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S270 voran.
  • In Schritt S270 wird das neue Steuerprogramm, das von der externen Vorrichtung empfangen wird, in den Programmbereich SX geschrieben.
  • In Schritt S280 wird, wenn das Schreiben des neuen Steuerprogramms abgeschlossen ist, eine Bestätigung (ACK) über den Abschluss an die externe Vorrichtung gesendet.
  • In Schritt S290 wird bestimmt, ob die Verifizierung des Schreibens OK ist.
  • Wenn die Verifizierung NG ist, wird eine negative Bestimmung getroffen (d.h. NEIN), bis eine OK Verifizierung bestimmt wird, und sobald die Verifizierung OK ist, wird eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S300 voran.
  • In Schritt S300 wird das Abschluss-Flag FlgX des Programmbereichs SX auf OK gesetzt.
  • In Schritt S310 wird der Wert des Zählers CntX des Programmbereichs SX aktualisiert. Praxisnaher beschrieben, der Zählwert eines Programmbereichs wird auf „den Zählwert des anderen Programmbereichs + 1“ aktualisiert. Wenn beispielsweise X = A ist, wird der Wert des Zählers CntA auf einen Wert des Zählers CntB + 1 aktualisiert.
  • Auf diese Weise nimmt ein Wert des Zählers CntX den Höchstwert unter den im Überschreibungsbereich 251 gespeicherten Zählwerten an, was anzeigt, dass das in Schritt S270 geschriebene Steuerprogramm das neueste Steuerprogramm unter den im Überschreibungsbereich 251 gespeicherten Steuerprogrammen ist.
  • In Schritt S320 wird eine Bestätigung (ACK) über den Abschluss der Verifizierung an die externe Vorrichtung gesendet.
  • In Schritt S330 wird bestimmt, ob die Energieversorgung des Verbindungsknotens 20 ausgeschaltet ist.
  • In Schritt S330 wird, wenn die Energieversorgung nicht ausgeschaltet ist, eine negative Bestimmung getroffen (d.h. NEIN), bis Energieversorgung ausgeschaltet ist, und wird, sobald die Energieversorgung ausgeschaltet ist, eine positive Bestimmung getroffen (d.h. JA), woraufhin der Prozess zur Ausführung eines Repro-Programms endet.
  • <Betrieb>
  • Nachstehend ist ein Aktualisierungsbetrieb zur Aktualisierung des Zählwerts und des Abschluss-Flags, wenn das Steuerprogramm geschrieben wird, unter Bezugnahme auf die 6 beschrieben.
  • 6 zeigt eine beispielhafte Situation, in der ein drittes Schreiben eines Steuerprogramms erfolgt, nachdem ein erstes Schreiben eines Steuerprogramms in den Programmbereich SA und ein zweites Schreiben eines Steuerprogramms in den Programmbereich SB erfolgt sind.
  • Vor der Ausführung des dritten Schreibens des Steuerprogramms speichert der Programmbereich SA den Zähler CntA = 1 und das Abschluss-Flag FlgA = OK und speichert der Programmbereich SB den Zähler CntB = 2 und das Abschluss-Flag FlgB = OK.
  • Wenn der Verbindungsknoten 20 eine Löschanfrage von einer externen Vorrichtung empfängt, werden das Abschluss-Flag FlgA des Programmbereichs SA mit dem kleineren Zählwert auf NG und der Zählwert CntA des Programmbereichs SA auf einen Anfangswert „0“ gesetzt.
  • Anschließend wird, unter den zwei Steuerprogrammen in den Programmbereichen SA und SB, das ältere Steuerprogramm PA, das in dem Programmbereich SA gespeichert ist, gelöscht.
  • Wenn der Verbindungsknoten 20 ein neues Steuerprogramm von einer externen Vorrichtung empfängt, wird das neue Steuerprogramm in den Programmbereich SA geschrieben. Anschließend wird, nachdem das Schreiben verifiziert und auf OK gesetzt wurde, das Abschluss-Flag FlgA auf OK gesetzt.
  • Der Wert des Zählers CntA des Programmbereichs SA wird auf „3“ gesetzt, indem der Wert des Zählers CntB von „2“ des Programmbereichs SB um eins inkrementiert wird. Durch die Erhöhung des Zählwerts von CntA auf diese Weise wird das in dem Programmbereich SA gespeicherte Steuerprogramm PA als neuer als das in dem Programmbereich SB gespeicherte Steuerprogramm PB erachtet.
  • Anschließend, wenn die Energieversorgung des Verbindungsknotens 20 neu gestartet wird, geht die Ausführung des Boot-Programms zu der Ausführung des im Programmbereich SA gespeicherten Steuerprogramms PA über.
  • Wenn während der Ausführung des Steuerprogramms PA eine/ein Abnormität/Fehler des Steuerbetriebs erfasst wird, wird der Wert des Zählers CntB auf „4“ aktualisiert, indem der Wert des Zählers CntA von „3“ um eins inkrementiert wird.
  • Anschließend, wenn die Energieversorgung des Verbindungsknotens 20 neu gestartet wird, wird das Steuerprogramm PB als neuer als das Steuerprogramm PA erachtet und wird das Steuerprogramm PB ausgeführt, auch wenn das Schreiben des Steuerprogramms PB vor dem Schreiben des Steuerprogramms PA erfolgt ist.
  • <Effekte>
  • Mit der vorstehend beschriebenen ersten Ausführungsform können die folgenden Effekte erzielt werden.
  • Die Abschluss-Flags FlgA, FlgB und die Zähler CntA und CntB werden in ihren entsprechenden Programmbereichen SA und SB gespeichert. Das Steuerprogramm, das auszuführen ist, d.h. das Ausführungsobjekt, wird auf der Grundlage von Kriterien gewählt, dass der Programmbereich den größeren Zählwert als der andere aufweist und das Abschluss-Flag des Programmbereichs auf OK gesetzt ist.
  • Folglich wird das Steuerprogramm, das als die neueste Version aufweisend identifiziert und als korrekt in den Programmbereich geschrieben verifiziert wird, gewählt und ausgeführt.
  • Wenn der Verbindungsknoten 20 eingeschaltet und das Boot-Programm ausgeführt wird, wird auf die Abschluss-Flags FlgA und FlgB und die Zählers CntA und CntB Bezug genommen, um schnell zu der Ausführung eines gültigen Steuerprogramms überzugehen, nachdem die Energieversorgung gestartet wurde.
  • Wenn kein gültiges Ausführungsobjekt unter den mehreren Steuerprogrammen verfügbar ist oder ermittelt wird, wird das Repro-Programm zum Umschreiben/Überschreiben eines Steuerprogramms ausgeführt, während eine Benachrichtigung über den Fehlerzustand an die externe Vorrichtung gesendet wird. Anschließend, wenn das Steuerprogramm aktualisiert wird, um ein gültiges Steuerprogramm zu sein, können der Fahrzeugbenutzer oder der Fahrzeugtechniker die Gründe dafür, warum ursprünglich kein gültiges Steuerprogramm zur Ausführung verfügbar war, besser verstehen und/oder die Defekte, Fehler oder Fehlfunktionen einer elektronischen In-Vehicle-Steuereinheit besser erkennen.
  • Wenn ein Steuerprogramm ausgeführt und der Steuerbetrieb des Steuerprogramms überwacht wird und eine/ein Abnormität/Fehler des Steuerbetriebs erfasst wird, wird der Zählwert eines anderen Steuerprogramms auf einen Wert aktualisiert, der „um 1 größer“ als der Zählwert des Steuerprogramms ist, das aktuell ausgeführt wird, und wird eine Energieversorgungsneustartanfrage an die externe Vorrichtung gesendet.
  • Wenn der Benutzer die Energieversorgung im Ansprechen auf die Energieversorgungsneustartanfrage neu startet, wird das Steuerprogramm mit dem größeren Zählwert als das zuvor ausgeführte Steuerprogramm gewählt und ausgeführt.
  • Auf diese Weise werden Steuerbetriebe, bei denen Abnormitäten und Fehler erfasst werden, gestoppt und wird ein anderes, gültiges Steuerprogramm ausgeführt, um die Steuerbetriebe auszuführen.
  • Wenn keines der mehreren Steuerprogramme zum Ausführen einer Fahrtsteuerung eines Fahrzeugs als gültig erachtet wird, wird eine Steuerstoppanfrage an andere elektronische In-Vehicle-Steuereinheiten gesendet und eine Stoppsteuerung zum Stoppen der Fahrt des Fahrzeugs ausgeführt. Auf diese Weise wird die Fahrt des Fahrzeugs in einem instabilen Zustand verhindert und eine Benutzersicherheit erhöht.
  • (Zweite Ausführungsform)
  • In der zweiten Ausführungsform der vorliegenden Erfindung ist die Konfiguration im Wesentlichen gleich derjenigen der ersten Ausführungsform. Folglich ist gleiche Konfiguration nachstehend der Kürze halber nicht wiederholt beschrieben, sondern ist auf den Unterschied zwischen beiden Ausführungsformen näher eingegangen. Die gleichen Komponenten in beiden Ausführungsformen sind mit den gleichen Bezugszeichen versehen.
  • Der Unterschied zwischen der ersten und zweiten Ausführungsformen ist der Prozess zur Überwachung des Steuerbetriebs der Steuerprogramme PA und PB, wenn die Steuerprogramme PA und PB ausgeführt werden.
  • In der ersten Ausführungsform wird, wenn eine/ein Abnormität/Fehler im Steuerbetrieb des Steuerprogramms PA erfasst wird, der Zähler CntB aktualisiert und die Neustartanfrage an die externe Vorrichtung gesendet.
  • In der zweiten Ausführungsform wird jedoch, nachdem der Zähler CntB aktualisiert wurde, das Steuerprogramm PB automatisch gestartet und ausgeführt, ohne die Energieneustartanfrage zu senden.
  • <Prozess>
  • Nachstehend ist der Prozess zur Überwachung des Steuerbetriebs des Steuerprogramms PA in der zweiten Ausführungsform unter Bezugnahme auf das in der 7 gezeigte Ablaufdiagramm beschrieben.
  • Der Prozess zur Überwachung des Steuerbetriebs des Steuerprogramms PB ist nicht beschrieben. Für solch einen Prozess muss jedoch lediglich „A“ durch „B“ (oder umgekehrt) in der 7 und der folgenden Beschreibung ersetzt werden.
  • In den Schritten S390-S410 werden die gleichen Prozesse wie in den vorstehend beschriebenen Schritten S490-S510 ausgeführt.
  • In Schritt S420 wird bestimmt, ob das Abschluss-Flag FlgB des Programmbereichs SB OK ist.
  • In Schritt S420, wenn das Abschluss-Flag FlgB NG ist, bedeutet dies, dass das im Programmbereich SB gespeicherte Steuerprogramm ungültig ist. Der Prozess schreitet zu Schritt S430 voran, und die externe Vorrichtung wird über den Fehlerzustand informiert, was anzeigt, dass kein Steuerprogramm gültig ausführbar ist, und die externe Vorrichtung zeigt den Fehlerzustand. Anschließend schreitet der Prozess zu Schritt S460 voran.
  • In Schritt S420, wenn das Abschluss-Flag FlgB OK ist, ist das Steuerprogramm PB ausführbar, wird eine positive Bestimmung getroffen (d.h. JA) und schreitet der Prozess zu Schritt S440 voran. In Schritt S440 wird die externe Vorrichtung über den Fehlerzustand und den gültigen Zustand des Steuerprogramms PB informiert und zeigt die externe Vorrichtung den Fehlerzustand an. Anschließend wird das Steuerprogramm PB, in Schritt S450, gestartet und ausgeführt. D.h., das Ausführungsobjekt wird von dem Steuerprogramm PA zu dem Steuerprogramm PB gewechselt. Anschließend schreitet der Prozess zu Schritt S460 voran.
  • In Schritt S460 wird der gleiche Prozess wie in Schritt S530 ausgeführt.
  • Die Hardware und strukturellen Komponenten des elektronischen In-Vehicle-Steuersystems 10, die den Prozess von Schritt S400 implementieren, und der Prozess selbst sind hierin auch als ein Abnormitätsdetektor bezeichnet. Die Hardware- und strukturellen Komponenten des elektronischen In-Vehicle-Steuersystems 10, die die Prozesse der Schritte S410, S440 und S450 implementieren, und die Prozesse selbst sind hierin auch als ein Abnormitätshandler bezeichnet.
  • <Effekte>
  • Zusätzlich zu den Effekten, die durch die vorstehend beschriebene erste Ausführungsform erzielt werden, kann die zweite Ausführungsform zusätzlich den folgenden Effekt erzielen.
  • Wenn der Steuerbetrieb eines Steuerprogramms überwacht und eine/ein Abnormität/Fehler des Steuerbetriebs erfasst wird, wird, wenn die externe Vorrichtung über den Fehlerzustand informiert wird, das Ausführungsobjekt von dem Steuerprogramm, das aktuell ausgeführt wird, zu einem anderen Steuerprogramm gewechselt. Hierdurch können, wenn eine Abnormität im Steuerbetrieb erfasst wird, ein Benutzer und/oder ein Fahrzeugtechniker die Situation besser verstehen. Das Steuerprogramm mit der/dem Abnormität/Fehler in seinem Steuerbetrieb kann schnell gestoppt werden, und ein anderes Steuerprogramm kann schnell ausgeführt werden. Ferner kann verhindert werden, dass die/der Abnormität/Fehler des Steuerbetriebs die Fahrzeugsteuerung beeinträchtigt.
  • (Weitere Ausführungsformen)
  • Die vorliegende Erfindung ist nicht auf die vorstehend beschriebenen Ausführungsformen beschränkt, sondern kann auf verschiedene Weise modifiziert werden.
  • In den vorstehend beschriebenen Ausführungsformen ist ein Beispiel mit zwei Programmbereichen im Überschreibungsbereich 251 des ROM 25 beschrieben. Es können jedoch beispielsweise wenigstens drei Programmbereiche im Überschreibungsbereich 251 vorgesehen sein.
  • Wenn wenigstens drei Programmbereiche vorgesehen sind, kann das neueste Steuerprogramm mit dem Abschluss-Flag, das auf OK gesetzt ist, als ein Ausführungsobjekt aus den wenigstens drei Steuerprogrammen gewählt werden.
  • Ferner kann, wenn eine/ein Abnormität/Fehler im Steuerbetrieb des gewählten Steuerprogramms erfasst wird, das Steuerprogramm zu dem zweit-neuesten Steuerprogramm mit dem OK-Abschluss-Flag unter den wenigstens drei Programmen gewechselt werden.
  • In den vorstehend beschriebenen Ausführungsformen werden das Abschluss-Flag und der Zähler von jedem der Programmbereiche durch einen jeweiligen der Programmbereiche gespeichert. Es muss jedoch nicht jeder der Programmbereiche das/den Flag/Zähler speichern. D.h., das Abschluss-Flag und der Zähler können irgendwo im Überschreibungsbereich 251 gespeichert werden, um einen jeweiligen der Programmbereiche darzustellen, d.h. mit einem jeweiligen der Programmbereiche verknüpft.
  • In den vorstehend beschriebenen Ausführungsformen werden das tragbare Endgerät des Benutzers und der Verbindungsknoten 20 drahtlos verbunden. Das tragbare Endgerät kann jedoch, wenn es in einem Fahrzeug verwendet wird, eine drahtgebundene Verbindung zu dem Verbindungsknoten 20 aufweisen.
  • Mehrere Funktionen, die in den vorstehend beschriebenen Ausführungsformen durch nur eine Komponente hervorgebracht werden, können ebenso durch mehrere Komponenten hervorgebracht werden, und eine Funktion von einer Komponente in den vorstehend beschriebenen Ausführungsformen kann durch mehrere Komponenten hervorgebracht werden. Ferner können mehrere Funktionen, die in den vorstehend beschriebenen Ausführungsformen durch mehrere Komponenten hervorgebracht werden, durch nur eine Komponente hervorgebracht werden, und kann eine Funktion, die in den vorstehend beschriebenen Ausführungsformen durch mehrere Komponenten hervorgebracht wird, durch nur eine Komponente hervorgebracht werden.
  • Ferner kann ein Teil der Konfiguration der vorstehend beschriebenen Ausführungsformen ausgelassen werden. Darüber hinaus kann ein Teil der Konfiguration von einer der vorstehend beschriebenen Ausführungsformen zu der Konfiguration der anderen der vorstehend beschriebenen Ausführungsformen hinzugefügt werden oder durch diesen ersetzt werden.
  • Der technische Gedanke der vorliegenden Erfindung, so wie er in den Ansprüchen dargelegt ist, ist, ohne Beschränkung, modifizierbar, um verschiedene Ausführungsformen hervorzubringen.
  • Zusätzlich zur Realisierung der vorliegenden Erfindung als die elektronische In-Vehicle-Steuereinheit gemäß obiger Beschreibung kann die vorliegende Erfindung ebenso als ein System, das die elektronische In-Vehicle-Steuereinheit für eine Systemkomponente aufweist, ein Programm zur Steuerung eines Computers, um als die elektronische In-Vehicle-Steuereinheit zu dienen, die vorstehend beschrieben ist, ein nichttransitives und greifbares Speichermedium, wie beispielsweise ein Halbleiterspeicher zur Speicherung solch eines Programms, und dergleichen realisiert/implementiert werden.
  • Vorstehend ist eine elektronische In-Vehicle-Steuereinheit beschrieben.
  • Eine elektronische In-Vehicle-Steuereinheit weist auf: einen Speicher 25 mit mehreren Programmbereichen SA, SB, in die bzw. in denen an jeweils verschiedenen Zeitpunkten ein Steuerprogramm geschrieben bzw. überschrieben wird; und eine Steuerprogrammwähleinheit, die ein Ausführungsprogramm unter den mehreren Steuerprogrammen PA, PB, die in den mehreren Programmbereichen gespeichert sind, wählt. Der Speicher 25 speichert (i) Abschluss-Flags FlgA, FlgB, die anzeigen, ob das Schreiben/Überschreiben des Steuerprogramms PA, PB bezüglich des Programmbereichs SA, SB abgeschlossen ist, und (ii) Schreibzähler CntA, CntB, die die Anzahl von Malen eines Überschreibens des Steuerprogramms in den entsprechenden Programmbereichen SA, SB anzeigen. Die Steuerprogrammwähleinheit wählt das Ausführungsprogramm auf der Grundlage der Abschluss-Flags FlgA, FlgB und der Schreibzähler CntA, CntB.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2013254263 [0003]

Claims (7)

  1. Elektronische In-Vehicle-Steuereinheit mit: - einem Speicher (25) mit mehreren Programmbereichen (SA, SB), wobei jeder Programmbereich dazu ausgelegt ist, ein Steuerprogramm zu speichern, das ein Steuerobjekt steuert, das in einem Fahrzeug angeordnet ist, wobei jeder der mehreren Programmbereiche an verschiedenen Überschreibungszeitpunkten mit den Steuerprogrammen des Steuerobjekts überschreibbar ist; und - einer Steuerprogrammwähleinheit (S10-S40, S70, S80), die dazu ausgelegt ist, ein Ausführungsprogramm unter den mehreren Steuerprogrammen (PA, PB) zu wählen, die in den mehreren Programmbereichen gespeichert sind, wobei - der Speicher ein Abschluss-Flag (FlgA, FlgB) und einen Schreibzähler (CntA, CntB) für jeden der mehreren Programmbereiche speichert, wobei das Abschluss-Flag einen Abschluss eines Überschreibens des Steuerprogramms anzeigt und der Schreibzähler eine Anzahl von Malen, die das Steuerprogramm überschrieben worden ist, anzeigt, und - die Steuerprogrammwähleinheit das Ausführungsprogramm auf der Grundlage des Abschluss-Flags und des Schreibzählers wählt.
  2. Elektronische In-Vehicle-Steuereinheit nach Anspruch 1, dadurch gekennzeichnet, dass - der Speicher ein Boot-Programm speichert, das während einer Einschaltzeit ausgeführt wird; und - die Steuerprogrammwähleinheit durch einen Prozess implementiert wird, der das Boot-Programm ausführt.
  3. Elektronische In-Vehicle-Steuereinheit nach Anspruch 2, dadurch gekennzeichnet, dass die Steuerprogrammwähleinheit, als ein Ausführungsobjekt unter den mehreren Steuerprogrammen in den mehreren Programmbereichen, ein Programm wählt, das den größten Schreibzählerwert unter den mehreren Steuerprogrammen und ein Abschluss-Flag, das den Abschluss des Überschreibens anzeigt, aufweist.
  4. Elektronische In-Vehicle-Steuereinheit nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass - der Speicher ein Repro-Programm speichert, das das Steuerprogramm überschreibt; und - die elektronische In-Vehicle-Steuereinheit aufweist: - einen Fehlerhandler (S50, S60, S90, S100) zum Ausführen des Repro-Programms und Melden eines Fehlerzustands an eine externe Vorrichtung (70, 80, 90), die mit der elektronischen In-Vehicle-Steuereinheit verbunden ist, wenn bestimmt wird, dass (i) der Wert des Schreibzählers des Programmbereichs, der das Ausführungsprogramm speichert, nicht größer als der Wert des Schreibzählers von irgendeinem anderen Programmbereich ist oder (ii) kein Abschluss-Flag den Abschluss des Überschreibens anzeigt.
  5. Elektronische In-Vehicle-Steuereinheit nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass sie ferner aufweist: - einen Abnormitätsdetektor (S500) zur Erfassung einer Abnormität eines Steuerbetriebs des Steuerprogramms durch eine Überwachung des Steuerbetriebs des Steuerprogramms, wobei das Steuerprogramm, das aktuell ausgeführt wird, als ein In-Ausführung-Programm bezeichnet wird; und - einen Abnormitätshandler (S510, S520) zur (i) Aktualisierung, bei einer Erfassung der Abnormität des Steuerbetriebs durch den Abnormitätsdetektor, des Schreibzählers des Programmbereichs, der das Steuerprogramm speichert, das sich von dem In-Ausführung-Programm unterscheidet, um einen Wert aufzuweisen, der größer als der Wert des Schreibzählers des Programmbereichs ist, der das In-Ausführung-Programm speichert, und zum (ii) Melden einer Energieneustartanfrage an die externe Vorrichtung, die mit der elektronischen In-Vehicle-Steuereinheit verbunden ist.
  6. Elektronische In-Vehicle-Steuereinheit nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass sie ferner aufweist: - einen Abnormitätsdetektor (S400) zur Erfassung einer Abnormität eines Steuerbetriebs eines Steuerprogramms durch eine Überwachung des Steuerbetriebs des Steuerprogramms, wobei das Steuerprogramm, das aktuell ausgeführt wird, als ein In-Ausführung-Programm bezeichnet wird; und - einen Abnormitätshandler (S410, S440, S450) zum (i) Melden eines Fehlerzustands an die externe Vorrichtung, die mit der elektronischen In-Vehicle-Steuereinheit verbunden ist, wenn die Abnormität des Steuerbetriebs durch den Abnormitätsdetektor erfasst wird, und zum (ii) Wechseln des Ausführungsobjekts von dem In-Ausführung-Programm zu dem Steuerprogramm, das sich von dem In-Ausführung-Programm unterscheidet.
  7. Elektronische In-Vehicle-Steuereinheit nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass dann, wenn das Steuerobjekt eine Fahrtsteuerung des Fahrzeugs steuert, die elektronische In-Vehicle-Steuereinheit ferner aufweist: - eine Stoppanfrageeinheit (S50, S90) zum Ausführen einer Stoppsteuerung, die ein Fahren des Fahrzeugs stoppt, indem sie eine Stoppanfrage an eine andere elektronische In-Vehicle-Steuereinheit sendet, die die Fahrt des Fahrzeugs steuert, wenn die Steuerprogrammwähleinheit kein Steuerprogramm als das Ausführungsobjekt wählt.
DE102017221291.8A 2016-11-30 2017-11-28 Elektronische steuereinheit in fahrzeug Pending DE102017221291A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016232953A JP6702161B2 (ja) 2016-11-30 2016-11-30 車載電子制御装置
JP2016-232953 2016-11-30

Publications (1)

Publication Number Publication Date
DE102017221291A1 true DE102017221291A1 (de) 2018-05-30

Family

ID=62117584

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017221291.8A Pending DE102017221291A1 (de) 2016-11-30 2017-11-28 Elektronische steuereinheit in fahrzeug

Country Status (2)

Country Link
JP (1) JP6702161B2 (de)
DE (1) DE102017221291A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013254263A (ja) 2012-06-05 2013-12-19 Denso Corp 電子制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066960A (ja) * 1998-08-25 2000-03-03 Fujitsu Ltd バックアップ方式
JP4548601B2 (ja) * 2005-04-20 2010-09-22 株式会社デンソー 自動車用制御ユニット
JP5884663B2 (ja) * 2012-07-10 2016-03-15 株式会社デンソー 電子制御装置およびデータ書換システム
JP6021597B2 (ja) * 2012-11-15 2016-11-09 三菱電機株式会社 情報処理装置、情報処理方法、およびコンピュータプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013254263A (ja) 2012-06-05 2013-12-19 Denso Corp 電子制御装置

Also Published As

Publication number Publication date
JP2018092241A (ja) 2018-06-14
JP6702161B2 (ja) 2020-05-27

Similar Documents

Publication Publication Date Title
DE60119412T2 (de) Speicherüberschreibungssystem für eine Fahrzeugsteuereinrichtung
DE102019102325A9 (de) Fahrzeugcontroller, programmaktualisierungsverfahren und speichermedium, auf dem ein programm zur aktualisierung eines programms gespeichert ist
DE112016000992T5 (de) Programmneuschreibvorrichtung und programmneuschreibverfahren
DE19929796B4 (de) Vorrichtung und Verfahren zum erneuten Schreiben von Daten aus einem flüchtigen Speicher in einen nichtflüchtigen Speicher
DE112018007680T5 (de) Aktualisierungssteuervorrichtung, Aktualisierungssteuersystem und Aktualisierungssteuerverfahren
DE112018005369T5 (de) Fahrzeuginterne elektronische steuereinheit und zugehöriges verfahren zur abnormalität-reaktionsverarbeitung
DE112018006323T5 (de) Bordeigenes Aktualisierungsgerät, Programm und Verfahren zum Aktualisieren eines Programms oder von Daten
DE102019102853A1 (de) Fahrzeugsteuerungsvorrichtung, Aktualisierungsbestätigungsverfahren eines Programms und nichtflüchtiges, computerlesbares Medium, welches ein Aktualisierungsbestätigungsprogramm speichert
DE102019100114A1 (de) Fahrzeugsteuervorrichtung, Programmupdateverfahren und Programm für Programmupdate speicherndes, computerlesbares, nichtflüchtiges Speichermedium
DE102020213219A1 (de) Verfahren und Vorrichtung für Over-The-Air-Update eines Fahrzeugs
DE102020208245A1 (de) Datenspeicherungsvorrichtung und Datenspeicherungsprogramm
DE19934191B4 (de) Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
EP1804144A1 (de) Überprüfung des Steuerprogramms eines Steuergerätes für eine Maschine
DE102016200130B4 (de) Elektronische Steuervorrichtung
DE102017221291A1 (de) Elektronische steuereinheit in fahrzeug
DE102019217015A1 (de) Kommunikationsvorrichtung
DE102018210868A1 (de) Elektronische Steuereinheit
DE102018217208A1 (de) Elektronische steuervorrichtung
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102018217311A1 (de) Elektronische Steuereinheit
EP3797352B1 (de) Verfahren zum austauschen eines ersten ausführbaren programm-codes und eines zweiten ausführbaren programm-codes und steuergerät
DE102017206752A1 (de) Elektronische steuereinheit und datenumschreibesystem
DE102016224206A1 (de) Fahrzeugsteuervorrichtung
DE112015001252T5 (de) Elektronische Steuereinheit
DE102017202282B4 (de) Fahrzeugeigene steuerungsvorrichtung und fahrzeugeigenes netzwerk mit der fahrzeugeigenen steuerungsvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009445000

Ipc: G06F0008650000