DE60112498T2 - System zum Überbeschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit - Google Patents

System zum Überbeschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit Download PDF

Info

Publication number
DE60112498T2
DE60112498T2 DE60112498T DE60112498T DE60112498T2 DE 60112498 T2 DE60112498 T2 DE 60112498T2 DE 60112498 T DE60112498 T DE 60112498T DE 60112498 T DE60112498 T DE 60112498T DE 60112498 T2 DE60112498 T2 DE 60112498T2
Authority
DE
Germany
Prior art keywords
time
memory
ecu
overwriting
writing
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.)
Expired - Lifetime
Application number
DE60112498T
Other languages
English (en)
Other versions
DE60112498D1 (de
Inventor
Tetsuya Yashiki
Masanori Matsuura
Naohiko Mizuo
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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Application granted granted Critical
Publication of DE60112498D1 publication Critical patent/DE60112498D1/de
Publication of DE60112498T2 publication Critical patent/DE60112498T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • B60R16/0232Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Read Only Memory (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

  • Die vorliegende Erfindung betrifft ein System zum Überschreiben eines Programms oder von Daten, die in einem Speicher einer Fahrzeugsteuereinrichtung gespeichert sind, mit einem anderen Programm oder mit anderen Daten, die von einer externen Überschreibungsvorrichtung übertragen werden.
  • Fahrzeuge werden durch eine elektronische Steuereinheit (nachstehend als "ECU" bezeichnet) verschiedenen Steuerungstypen unterzogen. Diese Steuerung umfasst die motorbezogene Steuerung des Luft-Kraftstoff-Verhältnisses, der Kraftstoffinjektionsmenge und der Emission sowie die karosseriebezogene Steuerung eines motorbetriebenen Fensters, eines Airbags und eines ABS-Systems. Die ECU stellt dem Fahrzeug auf der Grundlage aktueller Bedingungen und Fahrbedingungen eines Fahrzeugs, die von verschiedenen an dem Fahrzeug angebrachten Sensoren erfasst werden, verschiedene Steuerungstypen bereit.
  • Die ECU umfasst eine Zentralverarbeitungseinheit (CPU), einen ROM (Nurlesespeicher), in dem auszuführende Programme und Daten gespeichert sind, einen RAM (Direktzugriffsspeicher), der einen Arbeitsbereich zur Ausführung bereitstellt und in dem Rechenergebnisse gespeichert werden, und eine E/A-Schnittstelle zum Empfangen von Signalen von verschiedenen Sensoren und zum Übertragen von Steuersignalen zu verschiedenen Teilen des Motors.
  • Ein System gemäß dem Oberbegriff des Anspruchs 1 ist im Stand der Technik allgemein bekannt. Insbesondere ist ein System bekannt, bei dem ein überschreibbarer und nichtflüchtiger Speicher in der Art eines Flash-Speichers, eines EEPROMs oder eines EPROMs als ROM verwendet wird, um das Überschreiben eines Programms oder von Daten durch serielle Kommunikation zu ermöglichen. Ein solches System weist typischerweise eine Überschreibungsvorrichtung, eine ECU und einen seriellen Kommunikationsweg, der sie verbindet, auf. Das Überschreiben wird durch Löschen von Daten, die in dem an der ECU montierten überschreibbaren Speicher gespeichert sind, und durch Schreiben von der Überschreibungsvorrichtung übertragener neuer Daten durch serielle Kommunikation in den Speicher erreicht. Beispielsweise ist in der offengelegten japanischen Patentanmeldung 63-223901 ein Verfahren zum Ändern eines im EEPROM der ECU gespeicherten Programms ansprechend auf eine Anforderung von einer externen Vorrichtung über einen SCI-(serielle Kommunikationsschnittstelle)-Anschluss, wobei die ECU an dem Fahrzeug angebracht ist, beschrieben.
  • Im allgemeinen erfordert der Lösch- und Schreibvorgang bei einem nichtflüchtigen Speicher in der Art eines Flash-Speichers und eines EEPROMs eine verhältnismäßig große Zeitmenge. Die ECU kann während des Lösch- oder Schreibvorgangs belegt sein. Daher ist die ECU möglicherweise nicht in der Lage, auf die Überschreibungsvorrichtung zu antworten. Wenn von der ECU über einen vorgegebenen Zeitraum keine Antwort erhalten wird, stellt die Überschreibungsvorrichtung fest, dass die Kommunikation zwischen der ECU und der Überschreibungsvorrichtung offline ist.
  • Die 5 und 6 zeigen ein typisches Verfahren zum Überschreiben eines in einem Speicher der ECU gespeicherten Programms. 5 ist ein Flussdiagramm, in dem der von der Überschreibungsvorrichtung ausgeführte Prozess dargestellt ist, und 6 ist ein Flussdiagramm, in dem der von der ECU ausgeführte Prozess dargestellt ist.
  • In Reaktion auf eine Anforderung eines Löschvorgangs von der Überschreibungsvorrichtung (501) sendet die ECU ein Signal an die Überschreibungsvorrichtung, welches den Beginn des Löschvorgangs angibt (552), und löscht ein in einem Speicher der ECU gespeichertes Programm (553). In Reaktion auf ein Signal, das den Beginn des Löschvorgangs angibt, fordert die Überschreibungsvorrichtung das Ergebnis des Löschvorgangs an (505). Falls der Löschvorgang nicht abgeschlossen wurde, sendet die ECU ein Signal an die Überschreibungsvorrichtung, welches angibt, dass der Löschvorgang gerade ausgeführt wird (556). Falls der Löschvorgang abgeschlossen wurde, sendet die ECU ein Signal, das den Abschluss des Löschvorgangs angibt (557).
  • Ähnlich wird ein Schreibvorgang ausgeführt. In Reaktion auf eine Anforderung eines Schreibvorgangs von der Überschreibungsvorrichtung (521) sendet die ECU ein Signal an die Überschreibungsvorrichtung, welches den Beginn des Schreibvorgangs angibt (562), und schreibt ein neues Programm in den Speicher der ECU (563). In Reaktion auf das Signal, das den Beginn des Schreibvorgangs angibt, fordert die Überschreibungsvorrichtung das Ergebnis des Schreibvorgangs an (525). Falls der Schreibvorgang nicht abgeschlossen wurde, sendet die ECU ein Signal an die Überschreibungsvorrichtung, welches angibt, dass der Schreibvorgang gerade ausgeführt wird (566). Falls der Schreibvorgang abgeschlossen wurde, sendet die ECU ein Signal, das den Abschluss des Schreibvorgangs angibt (567).
  • Falls in Schritt 509 oder 529 die Antwort von der ECU an gibt, dass der Lösch- oder Schreibvorgang gerade ausgeführt wird, kehrt der Prozess zu Schritt 505 oder 525 zurück. Falls die Antwort von der ECU angibt, dass der Lösch- oder Schreibvorgang abgeschlossen wurde, wird der Prozess im folgenden Schritt 510 oder 530 fortgesetzt. Auf diese Weise stellt die Überschreibungsvorrichtung fest, ob gerade ein Lösch- oder Schreibvorgang ausgeführt wurde oder abgeschlossen wurde, indem sie eine Anforderung des Ergebnisses des Lösch- oder Schreibvorgangs sendet und eine Antwort auf die Anforderung bzw. Anfrage empfängt. Selbst wenn der Lösch- oder Schreibvorgang gerade ausgeführt wird, wird keine fehlerhafte Offline-Bestimmung ausgeführt, solange eine Antwort von der ECU erhalten wird.
  • 7 zeigt zwei typische Formen eines an der ECU angebrachten nichtflüchtigen Speichers. 7(a) zeigt eine Form, wobei ein Flash-Speicher 216, der ein nichtflüchtiger Speicher ist, unabhängig von einer CPU 214 bereitgestellt ist. Mit anderen Worten ist der Flash-Speicher 216 auf einem von der CPU 214 verschiedenen Chip angebracht. Der Flash-Speicher 216 ist mit einem Chip eines Mikrocomputers, an dem die CPU angebracht ist, über einen externen Bus 205 gekoppelt. Wenn die ECU 210 eine Anforderung eines Lösch- oder Schreibvorgangs an dem Flash-Speicher 216 von der Überschreibungsvorrichtung 211 empfängt, wird der Vorgang von einer Ein-/Ausgabe-Steuereinrichtung (nicht dargestellt) ausgeführt, die die Ein-/Ausgabe über den externen Bus 205 steuert. Weil der Lösch- oder Schreibvorgang an dem Flash-Speicher 216 auf diese Weise unabhängig von der CPU ausgeführt wird, wird die CPU während des Lösch- oder Schreibvorgangs nicht belegt.
  • 7(b) zeigt eine andere Form, wobei der Flash-Speicher 216 und die CPU 214 auf einem Einzelchip bereitgestellt sind, um einen Einchip-Mikrocomputer zu bilden. Der Flash- Speicher 216 ist über einen internen Bus 207 mit der CPU 214 gekoppelt. Der Lösch- oder Schreibvorgang wird durch eine in der CPU 214 vorhandene Schnittstelleneinrichtung als eine Funktion ausgeführt. In diesem Fall kann die CPU während des Lösch- oder Schreibvorgangs belegt werden. Wenn die CPU belegt ist, ist die ECU 210 möglicherweise nicht in der Lage, mit der Überschreibungsvorrichtung 211 zu kommunizieren.
  • In letzter Zeit wurde zum Verringern der Kosten bezüglich der ECU zunehmend ein Mikrocomputer eingesetzt, der einen nichtflüchtigen Speicher aufweist, wie in 7(b) dargestellt ist. Wie voranstehend beschrieben wurde, kann eine CPU in dieser Form während eines Lösch- oder Schreibvorgangs an einem nichtflüchtigen Speicher belegt werden. Wenn die ECU belegt ist, kann sie nicht auf eine Anforderung des Ergebnisses des Lösch- oder Schreibvorgangs von der Überschreibungsvorrichtung antworten. Selbst wenn die Kommunikation zwischen der ECU und der Überschreibungsvorrichtung normal ist, kann die Überschreibungsvorrichtung als Ergebnis feststellen, dass die Kommunikation offline ist, falls innerhalb eines vorgegebenen Zeitraums keine Antwort von der ECU empfangen wird. Wenn die CPU der ECU belegt ist, kann die Überschreibungsvorrichtung demgemäß eine falsche Offline-Bestimmung ausführen.
  • Eine Aufgabe der Erfindung besteht darin, ein Überschreibungssystem bereitzustellen, das eine fehlerhafte Offline-Bestimmung vermeiden kann, wenn gerade ein Lösch- oder Schreibvorgang an einem nichtflüchtigen Speicher in der ECU ausgeführt wird.
  • Eine weitere Aufgabe der Erfindung besteht darin, ein Überschreibungssystem bereitzustellen, das die Wirksamkeit des Überschreibens verbessert.
  • Gemäß einer Ausführungsform wird ein Überschreibungssystem zum Überschreiben in einem Speicher einer Fahrzeugsteuereinrichtung gespeicherter Daten mit neuen Daten vorgeschlagen, wobei das System folgendes aufweist:
    eine Überschreibungsvorrichtung, die mit der Fahrzeugsteuereinrichtung kommunizieren kann, wobei die Überschreibungsvorrichtung dazu konfiguriert ist, ohne Kommunikation mit der Fahrzeugsteuereinrichtung zu warten, bis eine vorgegebene Wartezeit von der Zeit an, zu der ein Signal zum Auffordern der Fahrzeugsteuereinrichtung, die Daten zu löschen oder die neuen Daten zu schreiben, gesendet wurde, oder von der Zeit an, zu der ein den Beginn eines Löschvorgangs der Daten oder eines Schreibvorgangs der neuen Daten angebendes Signal empfangen wurde, verstrichen ist, dadurch gekennzeichnet, dass
    die vorgegebene Wartezeit für den Löschvorgang die zum Löschen der im Speicher (16) gespeicherten Daten erforderliche Zeit ist und die vorgegebene Wartezeit für den Schreibvorgang die zum Schreiben der neuen Daten in den Speicher (16) erforderliche Zeit ist.
  • Gemäß einer anderen Ausführungsform wird ein Verfahren zum Überschreiben eines Speichers einer Fahrzeugsteuereinrichtung durch eine Überschreibungsvorrichtung vorgeschlagen, die mit der Fahrzeugsteuereinrichtung kommunizieren kann, wobei das Verfahren folgende Schritte aufweist:
    Senden einer Anforderung, durch die die Fahrzeugsteuereinrichtung aufgefordert wird, in dem Speicher gespeicherte Daten zu löschen oder neue Daten in den Speicher zu schreiben, und
    Warten an der Überschreibungsvorrichtung, bis eine vorgegebene Wartezeit ab der Absendezeit der Anforderung verstrichen ist,
    wobei während der Wartezeit kein Nachrichtentausch zwischen der Fahrzeugsteuereinrichtung und der Überschreibungsvorrichtung erfolgt, wobei das Verfahren des weiteren die folgenden Schritte umfasst:
    Berechnen der zum Löschen der in dem Speicher gespeicherten Daten erforderlichen Löschzeit, und
    Festlegen der Löschzeit als die Wartezeit im Fall einer Anforderung zum Löschen von Daten, und
    Berechnen der zum Schreiben der neuen Daten in den Speicher erforderlichen Wartezeit, und
    Festlegen der Schreibzeit als die Wartezeit im Fall einer Anforderung zum Schreiben neuer Daten.
  • Die Löschzeit und die Schreibzeit sind abhängig von der Spezifikation des Speichers. Somit wird die Wartezeit entsprechend der Spezifikation des Speichers optimiert.
  • Gemäß einer anderen Ausführungsform der Erfindung wird die Löschzeit auf der Grundlage der Größe der Daten und der Spezifikation des Speichers berechnet und die Schreibzeit auf der Grundlage der Größe der neuen Daten und der Spezifikation des Speichers berechnet. Die Berechnung wird in der Fahrzeugsteuereinrichtung implementiert.
  • Gemäß einer anderen Ausführungsform der Erfindung erfasst die Überschreibungsvorrichtung die Löschzeit von der Fahrzeugsteuereinrichtung und setzt sie in die Wartezeit für den Löschvorgang ein. In ähnlicher Weise erfasst die Überschreibungsvorrichtung die Schreibzeit von der Fahrzeugsteuereinrichtung und setzt sie in die Wartezeit für den Schreibvorgang ein. Dies ermöglicht eine Minimierung der Wartezeit, wodurch die Effizienz der Überschreibung verbessert wird.
  • Bevorzugte Ausführungsformen der Erfindung werden nun lediglich als Beispiel mit Bezug auf die Zeichnung beschrieben.
  • 1 ist ein Blockdiagramm, in dem Funktionsblöcke eines Überschreibungssystems gemäß einer Ausführungsform der Erfindung dargestellt sind,
  • 2 zeigt eine Betriebsprozedur eines Überschreibungssystems gemäß einer Ausführungsform der Erfindung,
  • 3 ist ein Flussdiagramm, in dem der Lösch- und Schreibvorgang in einer Überschreibungsvorrichtung gemäß einer Ausführungsform der Erfindung dargestellt ist,
  • 4 ist ein Flussdiagramm, in dem der Lösch- und Schreibvorgang in einer Fahrzeugsteuereinrichtung gemäß einer Ausführungsform der Erfindung dargestellt ist,
  • 5 ist ein Flussdiagramm, in dem der herkömmliche Lösch- und Schreibvorgang in einer Überschreibungsvorrichtung dargestellt ist,
  • 6 ist ein Flussdiagramm, in dem der herkömmliche Lösch- und Schreibvorgang in einer Fahrzeugsteuereinrichtung dargestellt ist, und
  • 7 zeigt eine typische Form einer CPU und eines Spei chers in einer Fahrzeugsteuereinrichtung.
  • Ein System zum Überschreiben eines in einem nichtflüchtigen Speicher einer Fahrzeugsteuereinrichtung gespeicherten Programms wird mit Bezug auf die anliegende Zeichnung beschrieben. Die vorliegende Erfindung ist jedoch nicht auf das System beschränkt, sondern sie ist auf verschiedene Systeme zum Überschreiben in einem Speicher gespeicherter Daten anwendbar, wie durch die Ansprüche definiert ist.
  • 1 zeigt ein allgemeines Funktionsblockdiagramm eines erfindungsgemäßen Überschreibungssystems. Das Überschreibungssystem weist eine ECU 10 und eine Überschreibungsvorrichtung 11 auf. Die Überschreibungsvorrichtung 11 ist eine Überschreibungsvorrichtung, die von einem Hersteller von Fahrzeugen autorisiert ist, an denen die ECU 10 montiert ist. Durch Verbinden der Überschreibungsvorrichtung 11 mit der ECU 10 über einen seriellen Kommunikationsbus und Betätigen der Überschreibungsvorrichtung 11 wird die Sicherheit zum Verhindern, dass ein Programm oder Daten, die im ROM 16 der ECU 10 gespeichert sind, ohne geeignete Berechtigung überschrieben werden, aufgehoben. Demgemäß wird es der Überschreibungsvorrichtung 11 ermöglicht, ein Programm oder Daten, die im ROM 16 gespeichert sind, zu überschreiben.
  • Die ECU 10 umfasst eine Zentralverarbeitungseinheit 14 (nachstehend als "CPU" bezeichnet), die einen Mikrocomputer und zugeordnete Schaltungselemente aufweist, ROMs 16 und 17, die nichtflüchtige Speicher sind und Programme und Daten speichern, einen RAM 15 (Direktzugriffsspeicher), der einen Arbeitsbereich zur Ausführung bereitstellt und Rechenergebnisse speichert, und eine E/A-Schnittstelle 18 zum Empfangen von Signalen von verschiedenen Sensoren 19 und zum Senden von Steuersignalen zu verschiedenen Teilen des Motors.
  • Signale von verschiedenen Sensoren 19 umfassen die Motordrehgeschwindigkeit (Ne), die Motorwassertemperatur (Tw), die Ansauglufttemperatur (Ta), die Batteriespannung (VB) und einen Zündschalter (IGSW). Demgemäß ruft die CPU 14 auf der Grundlage eines von der E/A-Schnittstelle 18 eingegebenen Signals ein Steuerprogramm und Daten von den ROMs 16 und 17 auf, um Berechnungen auszuführen, und gibt die Ergebnisse über die E/A-Schnittstelle 18 an verschiedene Teile des Fahrzeugs aus, um verschiedene Funktionen des Fahrzeugs zu steuern.
  • Die ECU 10 weist auch eine Schnittstelle 12 auf. Die Schnittstelle 12 weist ein Protokoll zur Kommunikation mit der Überschreibungsvorrichtung 11 auf, um eine serielle Kommunikation zwischen der ECU 10 und der Überschreibungsvorrichtung 11 zu ermöglichen.
  • Der überschreibbare ROM 16 ist ein nichtflüchtiger Speicher, bei dem gespeicherte Daten gelöscht werden können und in den neue Daten geschrieben werden können. Der überschreibbare ROM 16 kann beispielsweise ein Flash-Speicher oder ein EEPROM sein. Der nicht überschreibbare ROM 17 ist ein nichtflüchtiger Speicher. Der nicht überschreibbare ROM 17 kann durch Spezifizieren eines Teils des Speicherbereichs eines überschreibbaren ROMs als ein unveränderlicher Bereich oder durch die Verwendung eines Masken-ROMs, für den Daten während der Herstellung festgelegt werden und aus dem Daten anschließend nicht gelöscht werden können oder in den Daten anschließend nicht geschrieben werden können, implementiert werden. Alternativ kann der ROM 17 mit einem PROM implementiert werden, in den Daten nur einmal geschrieben werden können.
  • Die ROMs 16 und 17 können als zwei Speicher implementiert werden, die physikalisch getrennt sind. Alternativ kann der Speicherbereich eines einzelnen Speichers in zwei Bereiche unterteilt werden, so dass einer der Bereiche als ein überschreibbarer Bereich verwendet wird, während der andere als ein nicht überschreibbarer Bereich verwendet wird. Beispielsweise wird, nachdem ein nicht überschreibbarer Bereich, in dem ein Programm oder dergleichen gespeichert ist, in einem EEPROM spezifiziert worden ist, ein überschreibbarer Bereich mit Anfangs- und Endadressen in dem ungefüllten Platz des Speichers spezifiziert.
  • Ein Programm P1, das von der Überschreibungsvorrichtung 11 zu überschreiben ist, ist in dem überschreibbaren ROM 16 gespeichert. Programme, die einen Berechtigungsprüfungsteil 33, einen Initialisierungsteil 34, einen Löschteil 35 und einen Schreibteil 36 implementieren, sind in dem nicht überschreibbaren ROM 17 gespeichert. Der Berechtigungsprüfungsteil 33 beurteilt, ob die Überschreibungsvorrichtung 11 berechtigt ist. Falls entschieden wird, dass die Überschreibungsvorrichtung berechtigt ist, hebt der Berechtigungsprüfungsteil 33 die Sicherheit auf, die verhindert, dass im ROM 16 gespeicherte Daten ohne geeignete Genehmigung geändert werden.
  • Der Initialisierungsteil 34 führt einen Initialisierungsprozess aus, um einen Lösch- und Schreibvorgang einzuleiten. Der Löschteil 35 löscht das Programm P1. Der Schreibteil 36 empfängt seriell ein neues Programm P2 darstellende Datenblöcke von der Überschreibungsvorrichtung 11. Die Datenblöcke werden von dem Programmcode des neuen Programms P2 zusammengestellt. Der Schreibteil 36 schreibt einen in jedem Datenblock enthaltenen Teilprogrammcode in den ROM 16.
  • Die Überschreibungsvorrichtung 11 weist einen Sicherheits aufhebungs-Anforderungsteil 20, einen Überschreibungsinitialisierungsteil 21, einen Löschanforderungsteil 23 und einen Löschergebnis-Anforderungsteil 25 auf, die als Programme in einem Speicher der Überschreibungsvorrichtung 11 gespeichert sind. Der Sicherheitsaufhebungs-Anforderungsteil 20 fordert die ECU 10 auf, die Sicherheit aufzuheben, so dass das Überschreiben in den überschreibbaren ROM 16 der ECU 10 gestattet wird. Der Überschreibungsinitialisierungsteil 21 führt einen Initialisierungsprozess zum Einleiten des Lösch- und Schreibvorgangs aus. Der Löschanforderungsteil 23 fordert die ECU 10 auf, das Programm P1 im ROM 16 zu löschen.
  • Der Löschwarteteil 24 wartet, bis eine vorgegebene Wartezeit DT2 von der Zeit an verstrichen ist, zu der der Löschvorgang in der ECU 10 eingeleitet wurde. Für die Wartezeit DT2 tauscht die Überschreibungsvorrichtung 11 keine Nachricht mit der ECU 10 aus. Mit anderen Worten befindet sich die Überschreibungsvorrichtung 11 in einem Wartezustand, wenn der Löschvorgang in der ECU 10 ausgeführt wird. Auf diese Weise kann eine fehlerhafte Offline-Bestimmung infolge eines Belegungszustands der ECU 10 vermieden werden. Wenn die Wartezeit DT2 verstrichen ist, fordert der Löschergebnis-Anforderungsteil 25 das Ergebnis des Löschvorgangs an, um zu bestimmen, ob der Löschvorgang gerade abläuft oder abgeschlossen wurde.
  • Die Überschreibungsvorrichtung 11 weist auch einen Schreibanforderungsteil 27, einen Schreibergebnis-Anforderungsteil 29 und einen Datenblock-Zusammenstellungsteil 30 auf, die als Programme in einem Speicher gespeichert sind. Der Datenblock-Zusammenstellungsteil 30 stellt Datenblöcke von dem neuen Programm P2 zusammen. Jeder Datenblock weist ein Programmcodefeld für einen Teilprogrammcode des neuen Programms P2 und ein Adressfeld für eine erste Adresse des ROMs 16, worin der Teilprogrammcode zu speichern ist, auf Beispielsweise hat jeder Teilprogrammcode eine Länge von acht Bits. Die zusammengestellten Datenblöcke werden durch serielle Kommunikation durch den Schreibanforderungsteil 27 seriell an die ECU 10 gesendet.
  • Der Schreibanforderungsteil 27 fordert die ECU 10 auf, einen Teilprogrammcode jedes Datenblocks an eine Adresse des ROMs 16 zu schreiben, die durch einen Adresswert im Adressfeld jedes Datenblocks angegeben ist.
  • Der Schreibwarteteil 28 wartet, bis eine vorgegebene Wartezeit WT2 von der Zeit an verstrichen ist, zu der der Schreibvorgang in der ECU 10 eingeleitet wurde. Für die Wartezeit WT2 tauscht die Überschreibungsvorrichtung 11 keine Nachricht mit der ECU 10 aus. Mit anderen Worten befindet sich die Überschreibungsvorrichtung 11 in einem Wartezustand, wenn ein Schreibvorgang in der ECU 10 ausgeführt wird. Auf diese Weise kann eine fehlerhafte Offline-Bestimmung infolge eines Belegungszustands der ECU 10 vermieden werden. Wenn die Wartezeit WT2 verstrichen ist, fordert der Schreibergebnis-Anforderungsteil 29 das Ergebnis des Schreibvorgangs an, um zu bestimmen, ob der Schreibvorgang gerade abläuft oder abgeschlossen wurde.
  • Die ECU 10 umfasst auch einen Löschzeit-Berechnungsteil 37 und einen Schreibzeit-Berechnungsteil 38. Der Löschzeit-Berechnungsteil 37 berechnet die zum Löschen des Programms P1 erforderliche Zeit DT. Eine Einheitszeit für das Löschen, die beispielsweise in Blöcken oder Bytes ausgedrückt werden kann, hängt vom Typ des ROMs 16 ab. Das heißt, dass eine Einheitszeit für das Löschen entsprechend der Spezifikation des ROMs 16 vorbestimmt ist. Der Löschzeit-Berechnungsteil 37 berechnet die Löschzeit DT auf der Grundlage der Größe des Programms P1 und einer für den ROM 16 spezi fischen Einheitszeit für das Löschen.
  • Der Schreibzeit-Berechnungsteil 38 berechnet die für das Schreiben eines Teilprogrammcodes des von der Überschreibungsvorrichtung 11 empfangenen neuen Programms P2 erforderliche Zeit WT. Wie im Fall für das Löschen hängt eine Einheitszeit für das Schreiben vom Typ des ROMs 16 ab und ist entsprechend der Spezifikation des ROMs 16 vorbestimmt. Der Schreibzeit-Berechnungsteil 38 berechnet die Schreibzeit WT auf der Grundlage der Größe eines Teilprogrammcodes des Programms P2 und einer für den ROM 16 spezifischen Einheitszeit für das Schreiben. Auf diese Weise wird die Schreibzeit WT entsprechend der zu einer Zeit durch den Schreibteil 36 in den ROM 16 geschriebenen Datenmenge berechnet.
  • Gemäß einer anderen Ausführungsform können der Löschzeit-Berechnungsteil 37 und der Schreibzeit-Berechnungsteil 38 in der Überschreibungsvorrichtung 11 bereitgestellt werden. Die Überschreibungsvorrichtung 11 kann eine vorab festgelegte für den ROM 16 spezifische Einheitszeit für das Löschen und das Schreiben aufweisen. Alternativ kann die Überschreibungsvorrichtung 11 eine Einheitszeit für das Löschen und Schreiben von der ECU 10 abrufen. Demgemäß werden die Löschzeit DT und die Schreibzeit WT in der Überschreibungsvorrichtung 11 berechnet.
  • Die Überschreibungsvorrichtung 11 weist vorzugsweise einen Löschzeit-Erfassungsteil 22 und einen Schreibzeit-Erfassungsteil 26 auf. Bevor oder während der Löschanforderungsteil 23 die ECU 10 auffordert, das Programm P1 zu löschen, erfasst der Löschzeit-Erfassungsteil 22 von der ECU 10 die von dem Löschzeit-Berechnungsteil 37 berechnete Löschzeit DT. Der Löschzeit-Erfassungsteil 22 setzt die erfasste Löschzeit DT in die zweite Bestimmungszeit DT2 ein. Demge mäß wartet die Überschreibungsvorrichtung 11, bis die Löschzeit DT von der Zeit an verstrichen ist, zu der der Löschvorgang eingeleitet wurde. Dies ermöglicht es, die Wartezeit für den Löschvorgang entsprechend der Spezifikation des ROMs 16 zu optimieren, wodurch die Wirksamkeit des Löschvorgangs verbessert wird.
  • Ähnlich erfasst der Schreibzeit-Anforderungsteil 26 von der ECU 10 die vom Schreibzeit-Berechnungsteil 38 berechnete Schreibzeit WT bevor oder während der Schreibanforderungsteil 27 die ECU 10 auffordert, einen Teilprogrammcode des neuen Programms P2 zu schreiben. Der Schreibzeit-Erfassungsteil 26 setzt die erfasste Schreibzeit WT in die Wartezeit WT2 ein. Demgemäß wartet die Überschreibungsvorrichtung 11, bis die Schreibzeit WT von der Zeit an verstrichen ist, zu der der Schreibvorgang eingeleitet wurde. Dies ermöglicht es, die Wartezeit für den Schreibvorgang entsprechend der Spezifikation des ROMs 16 zu optimieren, wodurch die Wirksamkeit des Schreibvorgangs verbessert wird. Alternativ können die Wartezeit DT2 bzw. die Wartezeit WT2 als fester Wert vorgegeben werden.
  • Die Überschreibungsvorrichtung 11 weist auch einen Offline-Bestimmungsteil 31 auf. Der Offline-Bestimmungsteil 31 entscheidet, ob die Kommunikation zwischen der Überschreibungsvorrichtung 11 und der ECU 10 offline ist. Insbesondere stellt der Offline-Bestimmungsteil 31 fest, dass die Kommunikation offline ist, falls keine Antwort von der ECU 10 empfangen wird, bis eine vorgegebene Bestimmungszeit DT1 von der Zeit an verstrichen ist, zu der eine Anforderung durch die Überschreibungsvorrichtung 11 zur ECU 10 gesendet wurde. Die Anforderung kann eine Anforderung der Löschzeit DT, eine Anforderung eines Löschvorgangs oder eine Anforderung des Ergebnisses des Löschvorgangs sein.
  • Ähnlich stellt der Offline-Bestimmungsteil 31 fest, dass die Kommunikation offline ist, falls von der ECU 10 keine Antwort empfangen wird, bis eine vorgegebene Bestimmungszeit WT1 von der Zeit an verstrichen ist, zu der eine Anforderung von der Überschreibungsvorrichtung 11 zur ECU 10 gesendet wurde. Die Anforderung kann eine Anforderung der Schreibzeit WT, eine Anforderung eines Schreibvorgangs oder eine Anforderung des Ergebnisses des Schreibvorgangs sein. Der Wert der Bestimmungszeit WT1 kann mit demjenigen der Bestimmungszeit DT1 übereinstimmen oder davon verschieden sein.
  • 2 zeigt den Überschreibungsvorgang gemäß dem in 1 dargestellten Überschreibungssystem. Der Überschreibungsvorgang wird beispielsweise durch Betätigen der Überschreibungsvorrichtung 11, nachdem sie mit der ECU 10 verbunden worden ist, eingeleitet. Alternativ kann der Überschreibungsvorgang durch Betätigen der ECU 10 eingeleitet werden.
  • In Schritt 41 sendet der Sicherheitsaufhebungs-Anforderungsteil 20 der Überschreibungsvorrichtung 11 ein Signal an die ECU 10, das eine Anforderung zum Aufheben der Sicherheit angibt. Die ECU 10 antwortet auf das Signal und ruft den Berechtigungsprüfungsteil 33 auf. Der Berechtigungsprüfungsteil 33 leitet einen Berechtigungsprüfungsprozess ein, um zu bestätigen, dass die berechtigte Überschreibungsvorrichtung angeschlossen ist.
  • Der Berechtigungsprüfungsprozess kann in beliebiger Weise ausgeführt werden. Beispielsweise haben die Überschreibungsvorrichtung 11 und die ECU 10 jeweils Sicherheitsfunktionen. Die Überschreibungsvorrichtung 11 berechnet ihren eigenen Funktionswert für eine gegebene Zahl und sendet den berechneten Wert an die ECU 10. Andererseits berechnet die ECU 10 ihren eigenen Funktionswert für dieselbe Zahl. Die ECU 10 vergleicht den von ihr selbst berechneten Wert mit dem von der Überschreibungsvorrichtung 11 empfangenen Wert. Die ECU 10 stellt fest, dass die Überschreibungsvorrichtung berechtigt ist, falls die beiden Werte gleich sind. Die ECU 10 sendet ein Signal an die Überschreibungsvorrichtung 11, welches eine Erlaubnis zum Überschreiben angibt. Auf diese Weise wird die Sicherheit aufgehoben.
  • Falls die ECU 10 der Überschreibungsvorrichtung 11 eine Berechtigung erteilt und es ihr ermöglicht, den ROM 16 zu überschreiben, geht der Prozess zu Schritt 42. Der Überschreibungsinitialisierungsteil 21 der Überschreibungsvorrichtung 11 sendet ein Signal an die ECU 10, welches den Beginn des Überschreibens angibt. Der Initialisierungsteil 34 der ECU 10 gibt ein Signal zurück, das eine Erlaubnis zum Überschreiben angibt, wenn er für das Überschreiben bereit ist.
  • In Schritt 43 sendet die Überschreibungsvorrichtung 11 eine Anforderung zum Überführen in einen Überschreibungsvorgangsmodus an die ECU 10. Der Initialisierungsteil 34 der ECU 10 führt einen Prozess zum Überführen in den Überschreibungsvorgangsmodus aus. In Schritt 44 fragt der Überschreibungsinitialisierungsteil 21 der Überschreibungsvorrichtung 11 die ECU 10 ab, falls die Überführung abgeschlossen wurde. Falls die Überführung abgeschlossen wurde, sendet der Überschreibungsinitialisierungsteil 34 der ECU 10 ein Signal an die Überschreibungsvorrichtung 11, welches den Abschluss der Überführung angibt.
  • In Schritt 45 fragt der Löschzeit-Erfassungsteil 22 der Überschreibungsvorrichtung 11 die Zeit ab, die für das Löschen des Programms P1 erforderlich ist. Ansprechend auf die Anfrage berechnet der Löschzeit-Berechnungsteil 37 der ECU 10 die Löschzeit DT und sendet sie zur Überschreibungs vorrichtung 11. Der Löschzeit-Erfassungsteil 22 setzt die erfasste Löschzeit DT in die zweite Bestimmungszeit DT2 ein. In Schritt 46 fordert der Löschanforderungsteil 23 der Überschreibungsvorrichtung 11 die ECU 10 auf, das Programm P1 zu löschen. In Reaktion auf die Anforderung sendet der Löschteil 35 der ECU 10 ein Signal, das den Beginn des Löschvorgangs angibt.
  • Wenn sie das den Beginn des Löschvorgangs angebende Signal empfängt, tritt die Überschreibungsvorrichtung 11 in einen Wartezustand ein. Die Überschreibungsvorrichtung 11 wartet, bis die Wartezeit DT2 verstrichen ist. Alternativ kann die verstrichene Zeit der Wartezeit DT2 von der Zeit an gemessen werden, zu der die Anforderung des Löschvorgangs gesendet wird. Für die Wartezeit DT2 wird der Löschvorgang des Programms P1 vom Löschteil 35 der ECU 10 ausgeführt.
  • Wenn die Wartezeit DT2 verstrichen ist, fordert der Löschergebnis-Anforderungsteil 25 der Überschreibungsvorrichtung 11 das Ergebnis des Löschvorgangs an (Schritt 47). Wenn der Löschvorgang des Programms P1 abgeschlossen wurde, sendet der Löschteil 35 der ECU 10 ein Signal an die Überschreibungsvorrichtung 11, das den Abschluss des Löschvorgangs angibt.
  • In der Überschreibungsvorrichtung 11 wurde das neue Programm P2 vom Datenblock-Zusammenstellungsteil 30 als Datenblöcke vorbereitet. Das Zusammenstellen der Datenblöcke vom Programm P2 wird typischerweise ausgeführt, bevor die Sicherheitsaufhebungsanforderung oder das Überschreibungsanfangssignal an die ECU 10 gesendet wird. Alternativ kann es unmittelbar vor Schritt 47 oder 48 ausgeführt werden.
  • In Schritt 48 fordert der Schreibzeit-Erfassungsteil 26 der Überschreibungsvorrichtung 11 die für das Schreiben des neuen Programms P2 erforderliche Zeit an. In Reaktion auf die Anforderung berechnet der Schreibzeit-Berechnungsteil 38 der ECU 10 die Schreibzeit WT und sendet sie an die Überschreibungsvorrichtung 11. Der Schreibzeit-Erfassungsteil 26 setzt die Schreibzeit WT in die zweite Bestimmungszeit WT2 ein.
  • In Schritt 49 überträgt der Schreibanforderungsteil 27 der Überschreibungsvorrichtung 11 einen Datenblock, der einen Teilprogrammcode des neuen Programms P2 enthält, zusammen mit einem Signal, das eine Anforderung eines Schreibvorgangs angibt, an die ECU 10. In Reaktion auf die Anforderung sendet der Schreibteil 36 der ECU 10 ein Signal an die Überschreibungsvorrichtung 11, das den Beginn des Schreibvorgangs angibt. Der Schreibteil 36 schreibt den Teilprogrammcode, der in dem Datenblock enthalten ist, in den ROM 16. Der Teilprogrammcode wird in eine Adresse des ROMs 16 geschrieben, die durch das Adressfeld des Datenblocks angegeben wird. Es kann ein Prüfmechanismus bereitgestellt werden, um festzustellen, ob der Adresswert in dem Adressfeld des Datenblocks in Adressen von Daten enthalten ist, die von dem Löschteil 35 gelöscht wurden.
  • Wenn sie das den Beginn des Schreibvorgangs angebende Signal empfängt, tritt die Überschreibungsvorrichtung 11 in einen Wartezustand ein. Die Überschreibungsvorrichtung 11 wartet, bis die Wartezeit WT2 verstrichen ist. Alternativ kann die verstrichene Zeit von der Wartezeit WT2 von der Zeit an gemessen werden, zu der die Anforderung des Schreibvorgangs gesendet wurde. Für die Wartezeit WT2 wird das Schreiben des Programms P2 vom Schreibteil 36 der ECU 10 ausgeführt.
  • Wenn die Wartezeit WT2 verstrichen ist, fordert der Schreibergebnis-Anforderungsteil 29 der Überschreibungsvor richtung 11 das Ergebnis des Schreibvorgangs an (Schritt 50). Wenn der Schreibvorgang abgeschlossen wurde, sendet der Schreibteil 36 ein Signal an die Überschreibungsvorrichtung 11, welches den Abschluss des Schreibvorgangs angibt.
  • Der Schreibanforderungsteil 27 überträgt den nächsten Datenblock an die ECU 10, falls das Abschlusssignal ein normales Ende angibt. Die Schritte 49 und 50 werden wiederholt, bis der gesamte Programmcode des Programms P2 in den ROM 16 geschrieben wurde. Wenn das Schreiben des gesamten Programmcodes abgeschlossen wurde, fordert der Schreibanforderungsteil 27 die ECU 10 auf, den Überschreibungsvorgangsmodus aufzuheben (Schritt 51). In Reaktion auf die Anforderung hebt der Schreibteil 36 den Überschreibungsvorgangsmodus auf.
  • Die 3A und 3B sind zusammen ein Flussdiagramm eines in der Überschreibungsvorrichtung 11 ausgeführten Lösch- und Schreibvorgangs. In Schritt 60 sendet die Überschreibungsvorrichtung 11 ein Signal an die ECU 10, das eine Anforderung für die Löschzeit angibt. Wenn die Löschzeit DT von der ECU empfangen wird (Schritt 61), wird die Löschzeit DT in die zweite Bestimmungszeit DT2 eingesetzt (Schritt 64). Die Überschreibungsvorrichtung 11 sendet ein Signal, das eine Anforderung eines Löschvorgangs angibt, an die ECU 10 (Schritt 65).
  • Falls in Schritt 61 keine Antwort von der ECU 10 erhalten wird, wird festgestellt, ob die vorgegebene erste Bestimmungszeit DT1 (beispielsweise 30 Millisekunden) von der Zeit an, zu der die Anforderung in Schritt 60 gesendet wurde, verstrichen ist (Schritt 62). Ähnlich wird, falls in Schritt 66 keine Antwort von der ECU 10 erhalten wird, festgestellt, ob die vorgegebene erste Bestimmungszeit DT1 von der Zeit an, zu der die Anforderung in Schritt 65 gesendet wurde, verstrichen ist (Schritt 67). Falls die erste Bestimmungszeit DT1 nicht verstrichen ist, kehrt der Prozess zu Schritt 61 bzw. 66 zurück, und die Überschreibungsvorrichtung 11 wartet wieder auf eine Antwort von der ECU 10. Falls die erste Bestimmungszeit DT1 verstrichen ist, wird festgestellt, dass die Kommunikation zwischen der Überschreibungsvorrichtung 11 und der ECU 10 offline ist (Schritte 63 und 68).
  • Falls in Schritt 66 eine Antwort von der ECU 10 erhalten wird, sendet die Überschreibungsvorrichtung 11 ein Signal an die ECU 10, das eine Anforderung des Ergebnisses des Löschvorgangs angibt (Schritt 70). Falls eine Antwort von der ECU 10 erhalten wird (Schritt 71), wird geprüft, ob die Antwort den Abschluss des Löschvorgangs angibt (Schritt 72). Falls die Antwort den Abschluss des Löschvorgangs angibt, wird der Prozess mit Schritt 76 fortgesetzt. Falls der Löschvorgang gerade abläuft, kehrt der Prozess zu Schritt 70 zurück, und das Signal, das eine Anforderung für das Ergebnis des Löschvorgangs angibt, wird wieder an die ECU 10 gesendet. Alternativ kann nach einem vorgegebenen Zeitraum zu Schritt 70 zurückgekehrt werden.
  • Falls in Schritt 71 keine Antwort von der ECU 10 erhalten wird, wird geprüft, ob die erste Bestimmungszeit DT1 von der Zeit an, zu der die Anforderung in Schritt 70 gesendet wurde, verstrichen ist (Schritt 73). Falls die erste Bestimmungszeit DT1 nicht verstrichen ist, kehrt der Prozess zu Schritt 71 zurück, und die Überschreibungsvorrichtung 11 wartet wieder auf eine Antwort von der ECU 10. Falls die erste Bestimmungszeit DT1 verstrichen ist, wird festgestellt, dass die Kommunikation offline ist (Schritt 75).
  • Demgemäß kann durch Warten, bis die Wartezeit DT2 vom Be ginn des Löschvorgangs an verstrichen ist, eine fehlerhafte Offline-Bestimmung infolge eines Belegungszustands der ECU vermieden werden. Zusätzlich kann die Wirksamkeit des Löschvorgangs verbessert werden, weil die Löschzeit DT entsprechend der Spezifikation des ROMs in die Wartezeit DT2 eingesetzt ist.
  • Falls in Schritt 76 der Löschvorgang normal endet, wird der Prozess in 3B mit Schritt 80 fortgesetzt. Falls der Löschvorgang nicht normal endet, verlässt der Prozess diese Routine.
  • In Schritt 80 wird ein Signal, das eine Anforderung der Schreibzeit angibt, an die ECU 10 gesendet. Die Überschreibungsvorrichtung empfängt die Schreibzeit WT und setzt sie in die zweite Bestimmungszeit WT2 ein (Schritt 84). Der Prozess geht zu Schritt 85, und ein Datenblock, der einen Teilprogrammcode des neuen Programms P2 enthält, wird an die ECU 10 übertragen.
  • Falls in Schritt 81 keine Antwort von der ECU 10 erhalten wird, wird festgestellt, ob die vorgegebene Bestimmungszeit WT1 (beispielsweise 30 Millisekunden) von der Zeit an verstrichen ist, zu der die Anforderung in Schritt 80 gesendet wurde (Schritt 82). Falls in Schritt 86 keine Antwort von der ECU 10 erhalten wird, wird ähnlich festgestellt, ob die vorgegebene Bestimmungszeit WT1 von der Zeit an verstrichen ist, zu der die Anforderung in Schritt 85 gesendet wurde (Schritt 87). Falls die Bestimmungszeit WT1 nicht verstrichen ist, kehrt der Prozess zu Schritt 81 bzw. 86 zurück, und die Überschreibungsvorrichtung 11 wartet wieder auf eine Antwort von der ECU 10. Falls die Bestimmungszeit WT1 verstrichen ist, wird festgestellt, dass die Kommunikation offline ist (Schritte 83 und 88).
  • Falls in Schritt 86 eine Antwort von der ECU 10 empfangen wird, wird der Prozess in Schritt 89 fortgesetzt. In Schritt 89 tritt die Überschreibungsvorrichtung 11 in einen Wartezustand ein und wartet, bis die Wartezeit WT2 (beispielsweise 40 Millisekunden) verstrichen ist. Wenn die Wartezeit WT2 verstrichen ist, sendet die Überschreibungsvorrichtung ein Signal an die ECU 10, das eine Anforderung des Ergebnisses des Schreibvorgangs angibt (Schritt 90). Falls es eine Antwort auf die Anforderung gibt, wird geprüft, ob die Antwort den Abschluss des Schreibvorgangs angibt (Schritt 92). Falls die Antwort den Abschluss des Schreibvorgangs angibt, wird der Prozess in Schritt 96 fortgesetzt. Falls der Schreibvorgang gerade abläuft, kehrt der Prozess zu Schritt 90 zurück, und die Überschreibungsvorrichtung 11 sendet das Signal, das eine Anforderung des Ergebnisses des Schreibvorgangs angibt, wieder an die ECU 10. Die Rückkehr zu Schritt 90 kann nach einem vorgegebenen Zeitraum erfolgen.
  • Falls in Schritt 91 keine Antwort von der ECU 10 erhalten wird, wird geprüft, ob die Bestimmungszeit WT1 von der Zeit an verstrichen ist, zu der die Anforderung in Schritt 90 gesendet wurde (Schritt 93). Falls die Bestimmungszeit WT1 nicht verstrichen ist, kehrt der Prozess zu Schritt 91 zurück, und die Überschreibungsvorrichtung wartet wieder auf eine Antwort von der ECU 10. Falls von der ECU keine Antwort erhalten wird, bis die Bestimmungszeit WT1 verstrichen ist, stellt die Überschreibungsvorrichtung 11 fest, dass die Kommunikation offline ist (Schritt 95).
  • Demgemäß kann durch Warten, bis die Wartezeit WT2 vom Beginn des Schreibvorgangs an verstrichen ist, eine fehlerhafte Offline-Bestimmung infolge eines Belegungszustands der ECU vermieden werden. Zusätzlich kann die Wirksamkeit des Schreibvorgangs verbessert werden, weil die Schreibzeit WT entsprechend der Spezifikation des ROMs in die Wartezeit WT2 eingesetzt wird.
  • Falls in Schritt 96 festgestellt wird, dass der Schreibvorgang normal endet, wird der Prozess mit Schritt 97 fortgesetzt. Falls nicht der gesamte Programmcode des neuen Programms P2 an die ECU 10 gesendet worden ist, kehrt der Prozess zu Schritt 80 zurück, um den nächsten Datenblock zu senden. Falls der gesamte Programmcode des neuen Programms P2 an die ECU 10 gesendet worden ist, verlässt der Prozess diese Routine.
  • 4 zeigt ein Flussdiagramm des von der ECU 10 ausgeführten Lösch- und Schreibvorgangs. Falls in Schritt 101 ein Signal empfangen wird, das eine Anforderung der Löschzeit angibt, wird die Löschzeit DT an die Überschreibungsvorrichtung 11 gesendet (Schritt 102). Falls ein Signal, das eine Anforderung eines Löschvorgangs angibt, in Schritt 103 empfangen wird, wird ein Signal, das den Beginn des Löschvorgangs angibt, an die Überschreibungsvorrichtung 11 gesendet (Schritt 104), und es wird der Löschvorgang ausgeführt (Schritt 105). Wenn ein Signal, das eine Anforderung des Ergebnisses des Löschvorgangs angibt, von der Überschreibungsvorrichtung 11 empfangen wird (Schritt 106), wird ein Signal, das das Ergebnis des Löschvorgangs angibt, an die Überschreibungsvorrichtung 11 gesendet (Schritt 107). Das Ergebnissignal zeigt den Zustand des Löschvorgangs, so dass ein Wert "1" den Abschluss des Löschvorgangs angibt und ein Wert "0" angibt, dass der Löschvorgang gerade abläuft.
  • Ähnlich wird, falls ein Signal, das eine Anforderung der Schreibzeit angibt, von der Überschreibungsvorrichtung 11 empfangen wird (Schritt 111), die Schreibzeit WT berechnet und an die Überschreibungsvorrichtung 11 gesendet (Schritt 112). Falls ein Datenblock des neuen Programms P2 in Schritt 113 von der Überschreibungsvorrichtung 11 empfangen wird, wird ein Signal, das den Beginn des Schreibvorgangs angibt, an die Überschreibungsvorrichtung 11 gesendet (Schritt 114), und es wird ein in dem empfangenen Datenblock enthaltener Teilprogrammcode in den ROM 16 geschrieben (Schritt 115). Falls ein Signal, das eine Anforderung des Ergebnisses des Schreibvorgangs angibt, von der Überschreibungsvorrichtung 11 empfangen wird (Schritt 116), wird das Ergebnis des Schreibvorgangs an die Überschreibungsvorrichtung 11 gesendet (Schritt 117). Das Schreibergebnissignal zeigt den Zustand des Schreibvorgangs, so dass ein Wert "1" den Abschluss des Schreibvorgangs angibt und ein Wert "0" angibt, dass der Schreibvorgang gerade abläuft. Die Übertragung des neuen Programms P2 von der Überschreibungsvorrichtung 11 an die ECU 10 wird für jeden Datenblock ausgeführt. Daher werden die Schritte 113 bis 117 wiederholt, bis alle Datenblöcke des neuen Programms P2 empfangen worden sind (Schritt 118).

Claims (10)

  1. Überschreibungssystem zum Überschreiben in einem Speicher (16) einer Fahrzeugsteuereinrichtung (10) gespeicherter Daten mit neuen Daten, wobei das System folgendes aufweist: eine Überschreibungsvorrichtung (11), die mit der Fahrzeugsteuereinrichtung (10) kommunizieren kann, wobei die Überschreibungsvorrichtung dazu konfiguriert ist, ohne Kommunikation mit der Fahrzeugsteuereinrichtung zu warten, bis eine vorgegebene Wartezeit von der Zeit an, zu der ein Signal zum Auffordern der Fahrzeugsteuereinrichtung, die Daten zu löschen oder die neuen Daten zu schreiben, gesendet wurde, oder von der Zeit an, zu der ein den Beginn eines Löschvorgangs der Daten oder eines Schreibvorgangs der neuen Daten angebendes Signal empfangen wurde, verstrichen ist, dadurch gekennzeichnet, dass die vorgegebene Wartezeit für den Löschvorgang die zum Löschen der in dem Speicher (16) gespeicherten Daten erforderliche Zeit ist und die vorgegebene Wartezeit für den Schreibvorgang die zum Schreiben der neuen Daten in den Speicher (16) erforderliche Zeit ist.
  2. Überschreibungssystem nach Anspruch 1, wobei die Fahrzeugsteuereinrichtung (10) dazu konfiguriert ist, die zum Löschen der Daten in dem Speicher (16) erforderliche Lösch zeit zu berechnen, und wobei die Löschzeit von der Fahrzeugsteuereinrichtung an die Überschreibungsvorrichtung (11) gesendet wird.
  3. Überschreibungssystem nach Anspruch 1 oder 2, wobei die Fahrzeugsteuereinrichtung (10) dazu konfiguriert ist, die zum Schreiben der neuen Daten in den Speicher (16) erforderliche Schreibzeit zu berechnen, und wobei die Schreibzeit von der Fahrzeugsteuereinrichtung an die Überschreibungsvorrichtung (11) gesendet wird.
  4. Überschreibungssystem nach Anspruch 1, wobei die Löschzeit und die Schreibzeit jeweils entsprechend der Spezifikation des Speichers (16) berechnet werden.
  5. Überschreibungssystem nach Anspruch 1, wobei die Überschreibungsvorrichtung (11) des weiteren dazu konfiguriert ist: die zum Löschen der Daten in dem Speicher (16) erforderliche Löschzeit zu berechnen und die Löschzeit in die vorgegebene Wartezeit einzusetzen.
  6. Überschreibungssystem nach Anspruch 1 oder 5, wobei die Überschreibungsvorrichtung (11) des weiteren dazu konfiguriert ist: die zum Schreiben der neuen Daten in den Speicher (16) erforderliche Schreibzeit zu berechnen und die Schreibzeit in die vorgegebene Wartezeit einzusetzen.
  7. Überschreibungssystem nach Anspruch 1, wobei der Speicher (16) einen nichtflüchtigen Speicher aufweist.
  8. Verfahren zum Überschreiben eines Speichers (16) einer Fahrzeugsteuereinrichtung (10) durch eine Überschreibungsvorrichtung (11), die in der Lage ist, mit der Fahrzeugsteuereinrichtung zu kommunizieren, welches folgende Schritte aufweist: Senden einer Anforderung, durch die die Fahrzeugsteuereinrichtung (10) aufgefordert wird, Daten in dem Speicher (16) zu löschen oder neue Daten in den Speicher (16) zu schreiben, und Warten an der Überschreibungsvorrichtung (11), bis von der Zeit an, zu der die Anforderung gesendet wurde, eine vorgegebene Wartezeit verstrichen ist, wobei während der Wartezeit kein Nachrichtenaustausch zwischen der Fahrzeugsteuereinrichtung (10) und der Überschreibungsvorrichtung (11) auftritt, wobei das Verfahren des weiteren die folgenden Schritte aufweist: Berechnen der zum Löschen der in dem Speicher (16) gespeicherten Daten erforderlichen Löschzeit und Festlegen der Löschzeit als die Wartezeit im Fall einer Anforderung zum Löschen von Daten und Berechnen der zum Schreiben der neuen Daten in den Speicher (16) erforderlichen Wartezeit und Festlegen der Schreibzeit als die Wartezeit im Fall einer Anforderung zum Schreiben neuer Daten.
  9. Verfahren nach Anspruch 8, bei dem des weiteren Wartezeit eine Anforderung des Ergebnisses des Löschvorgangs zu der Fahrzeugsteuereinrichtung (10) gesendet wird.
  10. Verfahren nach Anspruch 8 oder 9, bei dem des weiteren nach Verstreichen der Wartezeit eine Anforderung des Ergebnisses des Schreibvorgangs zu der Fahrzeugsteuereinrichtung (10) gesendet wird.
DE60112498T 2000-04-13 2001-04-11 System zum Überbeschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit Expired - Lifetime DE60112498T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000112126 2000-04-13
JP2000112126A JP3828335B2 (ja) 2000-04-13 2000-04-13 車両制御装置のための書き換えシステム

Publications (2)

Publication Number Publication Date
DE60112498D1 DE60112498D1 (de) 2005-09-15
DE60112498T2 true DE60112498T2 (de) 2006-02-16

Family

ID=18624346

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60112498T Expired - Lifetime DE60112498T2 (de) 2000-04-13 2001-04-11 System zum Überbeschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit

Country Status (4)

Country Link
US (1) US6876892B2 (de)
EP (1) EP1145912B1 (de)
JP (1) JP3828335B2 (de)
DE (1) DE60112498T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3828335B2 (ja) * 2000-04-13 2006-10-04 本田技研工業株式会社 車両制御装置のための書き換えシステム
JP2003271410A (ja) * 2002-03-15 2003-09-26 Sharp Corp プログラムデータ書替システム
US6857041B2 (en) * 2002-03-29 2005-02-15 Intel Corporation Method and apparatus providing an interface to allow physical memory to be initialized using firmware/hardware methods
DE10238093B4 (de) * 2002-08-21 2007-10-18 Audi Ag Fahrzeug-Steuergerät
JP3879635B2 (ja) * 2002-09-06 2007-02-14 日産自動車株式会社 移動体用燃料電池パワープラントシステム
DE10332452B4 (de) * 2003-07-17 2018-04-12 Continental Teves Ag & Co. Ohg Steuerungs- und Regelungsgerät in einem Kraftfahrzeug sowie Verfahren zum Betreiben desselben
JP4367513B2 (ja) 2007-03-28 2009-11-18 株式会社デンソー 電子制御装置
DE102011079402A1 (de) * 2011-07-19 2013-01-24 Bayerische Motoren Werke Aktiengesellschaft Steuervorrichtung für ein Kraftfahrzeug, Programmiervorrichtung und Programmiersystem
WO2013031394A1 (ja) * 2011-09-02 2013-03-07 日本電気株式会社 電池制御システム、電池制御装置、電池制御方法、および記録媒体
EP3159219B8 (de) * 2014-06-19 2021-10-13 Hitachi Astemo, Ltd. Fahrzeugmontierte programmschreibvorrichtung
JP7411467B2 (ja) * 2020-03-19 2024-01-11 株式会社デンソーテン 電子制御装置及びプログラム書き換え制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2753225B2 (ja) 1987-03-13 1998-05-18 株式会社日立製作所 車載制御装置
JP2830302B2 (ja) 1990-02-15 1998-12-02 株式会社デンソー 自動車用制御装置
EP0473421B1 (de) * 1990-08-30 1997-10-29 Nec Corporation Halbleiterspeicheranordnung
US5523948A (en) * 1990-09-06 1996-06-04 Adrain; John B. Apparatus and method for modifying control of an originally manufactured engine control module
JPH09288573A (ja) * 1996-04-23 1997-11-04 Mitsubishi Electric Corp 車載制御装置
JPH1185526A (ja) * 1997-09-12 1999-03-30 Hitachi Ltd プログラムロード方法
EP0941910B1 (de) * 1997-10-02 2006-06-28 Mitsubishi Denki Kabushiki Kaisha Fahrzeugsteuerung
JPH11141394A (ja) * 1997-11-07 1999-05-25 Nissan Motor Co Ltd 車両制御用メモリ書き換え装置
JP3893755B2 (ja) * 1998-07-03 2007-03-14 株式会社デンソー 電子制御装置
JP3870563B2 (ja) * 1998-07-22 2007-01-17 株式会社デンソー 電子制御装置及び不揮発性メモリの書き換え回数計数方法
JP2000089822A (ja) * 1998-09-16 2000-03-31 Mitsubishi Electric Corp 車両用電子制御システム
JP3633406B2 (ja) * 1999-11-09 2005-03-30 三菱電機株式会社 Eeprom書込装置
JP3849379B2 (ja) * 1999-11-30 2006-11-22 株式会社デンソー エンジン制御装置およびエンジン制御方法
JP3828335B2 (ja) * 2000-04-13 2006-10-04 本田技研工業株式会社 車両制御装置のための書き換えシステム

Also Published As

Publication number Publication date
DE60112498D1 (de) 2005-09-15
JP2001295694A (ja) 2001-10-26
EP1145912A1 (de) 2001-10-17
EP1145912B1 (de) 2005-08-10
US6876892B2 (en) 2005-04-05
JP3828335B2 (ja) 2006-10-04
US20010049765A1 (en) 2001-12-06

Similar Documents

Publication Publication Date Title
DE60108676T2 (de) Speicherumschreibungssystem für Fahrzeugsteuergerät
DE10027006B4 (de) System zur Steuerung / Regelung der Betriebsabläufe bei einem Kraftfahrzeug und ein Verfahren zum Starten eines solchen Systems
DE60112498T2 (de) System zum Überbeschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit
DE19964013B4 (de) Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug
DE60112643T2 (de) System zum Überschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit
DE102005013285B4 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE19929796B4 (de) Vorrichtung und Verfahren zum erneuten Schreiben von Daten aus einem flüchtigen Speicher in einen nichtflüchtigen Speicher
DE102009016060A1 (de) Elektronische Steuervorrichtung und Fahrzeugsteuersystem
DE19934191B4 (de) Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
DE10044505B4 (de) Steuergerät zur Speicherung von Steuerdaten in einem nichtflüchtigen Speicher
DE4100151C2 (de)
DE102013225445A1 (de) Verfahren und System zum Umgehen von Authentizitätsüberprüfungen für geschützte Steuermodule
WO2012025244A1 (de) Portable vorrichtung zur veränderung von betriebsparameterwerten und/oder firmware von elektronischen steuerungseinrichtungen von kraftfahrzeugen
EP0997347B1 (de) Verfahren und System zur Umschaltung eines Steuergerätes, insbesondere eines Kraftfahrzeuges
WO1998051538A2 (de) Verfahren zur manipulationssicheren konfigurierung eines kfz-steuergerätes sowie steuergerät
DE102007024192A1 (de) Verfahren und Vorrichtung für Speichermodule
DE60025969T2 (de) Kraftfahrzeug-Steuerungssystem and Verfahren geeignet zur Revision der Steuerldatenübertragungsfunktion
EP0664387B1 (de) Verfahren zum Ändern der Arbeitsweise eines Steuergeräts von Kraftfahrzeugen
EP1495927A2 (de) System zur Funktionssteuerung eines Kraftfahrzeugs mit einem Steuergerät und einer Chipkarte, auf der Betriebsparameter und Programmergänzungen des Steuergeräts gespeichert sind, sowie Chipkarte dafür
WO2009015952A1 (de) Verfahren zum betreiben eines tachographen und tachograph
DE10101253A1 (de) Fahrzeugsteuerungscomputergerät mit Selbstdiagnosefunktion
DE10311250B4 (de) Mikroprozessorsystem und Verfahren zum Schützen des Systems vor dem Austausch von Bausteinen
DE19963475B4 (de) Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug sowie zur Bereitstellung von Daten diesbezüglich
EP1187011A2 (de) Verfahren zur Programmierung eines Steuergerätes
DE10015319B4 (de) Vorrichtung zur Steuerung einer Brennkraftmaschine

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: KUDLEK & GRUNERT PATENTANWAELTE PARTNERSCHAFT, 803