DE112019004025T5 - Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, differenzdatenkonsistenzbestimmungsverfahren und differenzdatenkonsistenzbestimmungsprogramm - Google Patents

Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, differenzdatenkonsistenzbestimmungsverfahren und differenzdatenkonsistenzbestimmungsprogramm Download PDF

Info

Publication number
DE112019004025T5
DE112019004025T5 DE112019004025.1T DE112019004025T DE112019004025T5 DE 112019004025 T5 DE112019004025 T5 DE 112019004025T5 DE 112019004025 T DE112019004025 T DE 112019004025T DE 112019004025 T5 DE112019004025 T5 DE 112019004025T5
Authority
DE
Germany
Prior art keywords
data
ecu
cgw
rewrite
bank
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
DE112019004025.1T
Other languages
English (en)
Inventor
Yuzo Harata
Kazuhiro Uehara
Mitsuyoshi Natsume
Takuya Kawasaki
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
Priority claimed from PCT/JP2019/031174 external-priority patent/WO2020032119A1/ja
Publication of DE112019004025T5 publication Critical patent/DE112019004025T5/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
    • G06F8/658Incremental updates; Differential updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle

Abstract

Eine elektronische Steuerungseinheit (19) enthält eine Differenzdatenbeschaffungseinheit (103a), die ausgelegt ist, Differenzdaten, die in einen Datenspeicherbereich der elektronischen Steuerungseinheit zu schreibende Daten sind, zu beschaffen, wobei die Differenzdaten eine Differenz zwischen alten Daten und neuen Daten sind, eine Konsistenzbestimmungseinheit (103b), die ausgelegt ist, auf der Grundlage von ersten Bestimmungsinformationen betreffend in dem Datenspeicherbereich gespeicherte Speicherdaten und zweiten Bestimmungsinformationen, die in Verbindung mit den Differenzdaten beschafft werden, zu bestimmen, ob die Differenzdaten konsistent mit dem Datenspeicherbereich oder den Speicherdaten sind, eine Aktualisierungsdatenwiederherstellungseinheit (103c), die ausgelegt ist, Aktualisierungsdaten als die neuen Daten unter Verwendung der Differenzdaten und der Speicherdaten wiederherzustellen, wenn die Konsistenzbestimmungseinheit bestimmt, dass die Differenzdaten konsistent sind, und eine Datenschreibeinheit (103d), die ausgelegt ist, die Aktualisierungsdaten, die durch Aktualisierungsdatenwiederherstellungseinheit wiederhergestellt wurden, in den Datenspeicherbereich zu schreiben.

Description

  • Querverweis auf betreffende Anmeldungen
  • Diese Anmeldung basiert auf der am 10. August 2018 eingereichten japanischen Patentanmeldung Nr. 2018-151421 und der am 12. Juli 2019 eingereichten japanischen Patentanmeldung Nr. 2019-129963 und beinhaltet diese.
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine elektronische Steuerungseinheit, ein elektronisches Fahrzeugsteuerungssystem, ein Differenzdatenkonsistenzbestimmungsverfahren und ein Differenzdatenkonsistenzbestimmungsprogramm.
  • Stand der Technik
  • In den vergangenen Jahren hat sich das Ausmaß eines Programms zur Fahrzeugsteuerung, -diagnose und Ähnliches, das in einer elektronischen Steuerungsvorrichtung (im Folgenden als elektronische Steuerungseinheit (ECU) bezeichnet) eines Fahrzeugs installiert ist, aufgrund der Diversifizierung von Fahrzeugsteuerungen wie einer Fahrunterstützungsfunktion und einer Autonom-Fahrfunktion vergrößert. Eine Möglichkeit zum Neuschreiben (Neuprogrammieren) eines Programms einer ECU hat sich entsprechend einem Upgraden auf der Grundlage einer Funktionsverbesserung erhöht. Andererseits hat sich eine Technik für Connected Cars bzw. vernetzte Fahrzeuge mit dem Fortschritt von Kommunikationsnetzwerken oder Ähnlichem verbreitet. In Hinblick darauf schlägt beispielsweise die Patentliteratur 1 eine Technik vor, bei der eine Fahrzeug-Master-Vorrichtung als eine Weiterleitungsvorrichtung auf einer Fahrzeugseite angeordnet ist und die Fahrzeug-Master-Vorrichtung Aktualisierungsdaten, die drahtlos von einer Zentrumsvorrichtung empfangen werden, an eine Neuschreibziel-ECU verteilt, so dass ein Programm der Neuschreibziel-ECU drahtlos bzw. Over-The-Air (OTA) neugeschrieben wird.
  • Literatur des Stands der Technik
  • Patentliteratur
  • Patentliteratur 1: JP 6216730 B
  • Zusammenfassung der Erfindung
  • Die Patentliteratur 1 offenbart, dass ein Unterschied zwischen einem Programm vor einem Neuschreiben und einem Programm nach einem Neuschreiben extrahiert wird und dann die Unterschiedsdaten bzw. Differenzdaten verwendet werden. Die Neuschreibziel-ECU erstellt bzw. stellt ein neues Programm aus den Differenzdaten, die von der Fahrzeug-Master-Vorrichtung empfangen werden, und dem alten Programm, das in dem Speicher gespeichert ist, wieder her und schreibt dann das wiederhergestellte neue Programm in einen nichtflüchtigen Speicher. Wenn in diesem Fall ein neues Programm, das aus inkompatiblen Differenzdaten wiederhergestellt wurde, in den nichtflüchtigen Speicher der Neuschreibziel-ECU geschrieben wird, kann ein Problem bei einem Betrieb wie einer Fahrzeugsteuerung oder einem Diagnosebetrieb auftreten.
  • Die vorliegende Erfindung entstand im Hinblick auf die obigen Probleme, und es ist ihre Aufgabe, eine elektronische Steuerungseinheit, ein elektronisches Fahrzeugsteuerungssystem, ein Differenzdatenkonsistenzbestimmungsverfahren und ein Differenzdatenkonsistenzbestimmungsprogramm zu schaffen, die in der Lage sind, ein Neuschreiben eines Programms unter Verwendung von Differenzdaten richtig durchzuführen.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist eine Differenzdatenbeschaffungseinheit ausgelegt, Differenzdaten, die in einen Datenspeicherbereich der elektronischen Steuerungseinheit zu schreibende Daten sind, zu beschaffen, wobei die Differenzdaten eine Differenz zwischen alten Daten und neuen Daten sind. Eine Konsistenzbestimmungseinheit ist ausgelegt, auf der Grundlage von ersten Bestimmungsinformationen betreffend Speicherdaten und zweiten Bestimmungsinformationen, die in Verbindung mit bzw. Zuordnung zu den Differenzdaten beschafft werden, zu bestimmen, ob die Differenzdaten konsistent mit dem Datenspeicherbereich oder mit den Speicherdaten sind, die in dem Datenspeicherbereich gespeichert sind. Eine Aktualisierungsdatenwiederherstellungseinheit ist ausgelegt, Aktualisierungsdaten als die neuen Daten unter Verwendung der Differenzdaten und der Speicherdaten wiederherzustellen, wenn die Konsistenzbestimmungseinheit bestimmt, dass die Differenzdaten konsistent sind. Eine Datenschreibeinheit ist ausgelegt, die Aktualisierungsdaten, die durch die Aktualisierungsdatenwiederherstellungseinheit wiederhergestellt wurden, in den Datenspeicherbereich zu schreiben.
  • Wenn eine Konsistenz der Differenzdaten festgestellt wird und das Ergebnis der Bestimmung der Konsistenz positiv ist, werden Aktualisierungsdaten unter Verwendung der Differenzdaten und der Speicherdaten wiederhergestellt, und dann werden die wiederhergestellten Aktualisierungsdaten geschrieben. Somit ist es möglich, ein Programm unter Verwendung der Differenzdaten geeignet neuzuschreiben.
  • Figurenliste
  • Die oben beschriebene Aufgabe und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden anhand der folgenden detaillierten Beschreibung mit Bezug auf die zugehörigen Zeichnungen deutlich. Es zeigen:
    • 1 ein Diagramm, das eine Gesamtkonfiguration einer Ausführungsform darstellt,
    • 2 ein Diagramm, das eine elektrische Konfiguration eines CGW darstellt,
    • 3 ein Diagramm, das eine elektrische Konfiguration eines DCM darstellt,
    • 4 ein Diagramm, das eine elektrische Konfiguration einer ECU darstellt,
    • 5 ein Diagramm, das einen Verbindungsaspekt einer Stromleitung darstellt,
    • 6 ein Diagramm, das einen Aspekt eines Packens von Neuprogrammierungsdaten und Verteilungsspezifikationsdaten darstellt,
    • 7 ein Diagramm, das Neuschreibspezifikationsdaten für ein DCM darstellt,
    • 8 ein Diagramm, das Neuschreibspezifikationsdaten für ein CGW darstellt,
    • 9 ein Diagramm, das die Verteilungsspezifikationsdaten darstellt,
    • 10 ein Diagramm, das einen Aspekt eines Entpackens eines Verteilungspakets darstellt,
    • 11 ein Diagramm, das einen Aspekt während eines normalen Betriebs in einem Einbettungs-Einzelbankspeicher darstellt,
    • 12 ein Diagramm, das einen Aspekt während eines Neuschreibbetriebs in den Einbettungs-Einzelbankspeicher darstellt,
    • 13 ein Diagramm, das einen Aspekt während eines normalen Betriebs in einem Download-Einzelbankspeicher darstellt,
    • 14 ein Diagramm, das einen Aspekt während eines Neuschreibbetriebs in dem Download-Einzelbankspeicher darstellt,
    • 15 ein Diagramm, das einen Aspekt während eines normalen Betriebs in einem Einbettungs-Einzelbank-Suspendierungs-Speicher darstellt,
    • 16 ein Diagramm, das einen Aspekt während eines Neuschreibbetriebs in den Einbettungs-Einzelbank-Suspendierungs-Speicher darstellt,
    • 17 ein Diagramm, das einen Aspekt während eines normalen Betriebs in einem Download-Einzelbank-Suspendierungs-Speicher darstellt,
    • 18 ein Diagramm, das einen Aspekt während eines Neuschreibbetriebs in den Download-Einzelbank-Suspendierungs-Speicher darstellt,
    • 19 ein Diagramm, das einen Aspekt während eines normalen Betriebs in einem Einbettungs-Doppelbankspeicher darstellt,
    • 20 ein Diagramm, das einen Aspekt während eines Neuschreibbetriebs in den Einbettungs-Doppelbankspeicher darstellt,
    • 21 ein Diagramm, das einen Aspekt während eines normalen Betriebs in einem Download-Doppelbankspeicher darstellt,
    • 22 ein Diagramm, das einen Aspekt während eines Neuschreibbetriebs in den Download-Doppelbankspeicher darstellt,
    • 23 ein Diagramm, das einen Aspekt eines Neuschreibens eines Applikationsprogramms darstellt,
    • 24 ein Diagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 25 ein Diagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 26 ein Zeitdiagramm, das einen Aspekt darstellt, bei dem ein Applikationsprogramm unter Verwendung einer Stromversorgungssteuerung neu geschrieben wird,
    • 27 ein Zeitdiagramm, das einen Aspekt darstellt, bei dem das Applikationsprogramm unter Verwendung der Stromversorgungssteuerung neu geschrieben wird,
    • 28 ein Zeitdiagramm, das einen Aspekt darstellt, bei dem das Applikationsprogramm unter Verwendung von Selbsterhaltungsenergie neu geschrieben wird,
    • 29 ein Zeitdiagramm, das einen Aspekt darstellt, bei dem das Applikationsprogramm unter Verwendung von Selbsterhaltungsenergie neu geschrieben wird,
    • 30 ein Diagramm, das eine Phase darstellt,
    • 31 ein Diagramm, das einen Bildschirm in einem normalen Zustand darstellt,
    • 32 ein Diagramm, das einen Bildschirm darstellt, wenn eine Kampagnen-Mitteilung auftritt,
    • 33 ein Diagramm, das einen Bildschirm zu der Zeit der Kampagnen-Mitteilung darstellt,
    • 34 ein Diagramm, das einen Bildschirm darstellt, wenn einem Download zugestimmt wird,
    • 35 ein Diagramm, das einen Bildschirm darstellt, wenn dem Download zugestimmt wird,
    • 36 ein Diagramm, das einen Bildschirm während einer Ausführung des Downloads bzw. Herunterladens darstellt,
    • 37 ein Diagramm, das einen Bildschirm während einer Ausführung des Downloads darstellt,
    • 38 ein Diagramm, das einen Bildschirm darstellt, wenn der Download beendet ist,
    • 39 ein Diagramm, das einen Bildschirm darstellt, wenn einer Installation zugestimmt wird,
    • 40 ein Diagramm, das einen Bildschirm darstellt, wenn der Installation zugestimmt wird,
    • 41 ein Diagramm, das einen Bildschirm während einer Ausführung der Installation darstellt,
    • 42 ein Diagramm, das einen Bildschirm während einer Ausführung der Installation darstellt,
    • 43 ein Diagramm, das einen Bildschirm darstellt, wenn einer Aktivierung zugestimmt wird,
    • 44 ein Diagramm, das einen Bildschirm darstellt, wenn eine Zündung (IG) eingeschaltet (EIN) ist (IG-EIN),
    • 45 ein Diagramm, das einen Bildschirm während eines Prüfbetriebs darstellt,
    • 46 ein Diagramm, das einen Bildschirm während des Prüfbetriebs darstellt,
    • 47 ein Funktionsblockdiagramm einer Zentrumsvorrichtung,
    • 48 ein Funktionsblockdiagramm des DCM,
    • 49 ein Funktionsblockdiagramm des CGW,
    • 50 ein Funktionsblockdiagramm des CGW,
    • 51 ein Funktionsblockdiagramm der ECU,
    • 52 ein Funktionsblockdiagramm einer fahrzeugeigenen Anzeige,
    • 53 ein Funktionsblockdiagramm einer Verteilungspaketübertragungsbestimm ungseinheit,
    • 54 ein Flussdiagramm, das einen Verteilungspaketübertragungsbestimmungsprozess darstellt,
    • 55 ein Funktionsblockdiagramm einer Verteilungspaket-Download-Bestimm ungseinheit,
    • 56 ein Flussdiagramm, das einen Verteilungspaket-Download-Bestimmungsprozess darstellt,
    • 57 ein Funktionsblockdiagramm einer Schreibdatenübertragungsbestimm ungseinheit,
    • 58 ein Flussdiagramm, das einen Schreibdatenübertragungsbestimmungsprozess darstellt,
    • 59 ein Funktionsblockdiagramm einer Schreibdatenbeschaffungsbestimm ungseinheit,
    • 60 ein Flussdiagramm, das einen Schreibdatenbeschaffungsbestimmungsprozess darstellt,
    • 61 ein Funktionsblockdiagramm einer Installationsbefehlsbestimmungseinheit,
    • 62 ein Flussdiagramm, das einen Installationsbefehlsbestimmungsprozess darstellt,
    • 63 ein Diagramm, das einen Aspekt eines Ausgebens einer Anweisung bzw. eines Befehls zur Installation darstellt,
    • 64 ein Diagramm, das einen Aspekt eines Ausgebens eines Befehls zur Installation darstellt,
    • 65 ein Diagramm, das einen Aspekt eines Erzeugens eines Zufallszahlenwertes darstellt,
    • 66 ein Funktionsblockdiagramm einer Sicherheitszugangsschlüsselverwaltungseinheit,
    • 67 ein Flussdiagramm, das einen Sicherheitszugangsschlüsselerzeugungsprozess darstellt,
    • 68 ein Diagramm, das einen Aspekt eines Erzeugens eines Sicherheitszugangsschlüssels darstellt,
    • 69 ein Flussdiagramm, das einen Prozess zum Löschen eines Sicherheitszugangsschlüssels darstellt,
    • 70 ein Diagramm, das einen Prozessfluss betreffend eine Verifizierung von Schreibdaten darstellt,
    • 71 ein Funktionsblockdiagramm einer Schreibdatenverifizierungseinheit,
    • 72 ein Flussdiagramm, das einen Schreibdatenverifizierungsprozess darstellt,
    • 73 ein Diagramm, das einen Aspekt darstellt, bei dem ein Prozess betreffend eine Verifizierung von Schreibdaten durchgeführt wird,
    • 74 ein Diagramm, das einen Aspekt darstellt, bei dem der Prozess betreffend eine Verifizierung von Schreibdaten durchgeführt wird,
    • 75 ein Diagramm, das einen Aspekt darstellt, bei dem der Prozess betreffend eine Verifizierung von Schreibdaten durchgeführt wird,
    • 76 ein Diagramm, das einen Aspekt darstellt, bei dem der Prozess betreffend eine Verifizierung von Schreibdaten durchgeführt wird,
    • 77 ein Diagramm, das einen Ablauf einer Verifizierung von Schreibdaten und eines Neuschreibens eines Applikationsprogramms darstellt,
    • 78 ein Diagramm, das einen Ablauf einer Verifizierung der Schreibdaten und des Neuschreibens des Applikationsprogramms darstellt,
    • 79 ein Funktionsblockdiagramm einer Datenspeicherbankinformations-Übertragu ngssteuerungse i n he it,
    • 80 ein Flussdiagramm, das einen Datenspeicherbankinformations-Übertragungssteuerungsprozess darstellt,
    • 81 ein Sequenzdiagramm, das einen Aspekt einer Durchführung eines Mitteilens von Doppelbankneuschreibinformationen darstellt,
    • 82 ein Funktionsblockdiagramm einer Stromversorgungsverwaltungseinheit für ein Nicht-Neuschreibziel,
    • 83 ein Flussdiagramm, das einen Stromversorgungsverwaltungsprozess für ein Nicht-Neuschreibziel darstellt,
    • 84 ein Diagramm, das einen Übergang in einen aktiven Zustand, einen Stoppzustand und einen Schlafzustand darstellt,
    • 85 ein Diagramm, das den Übergang in den aktiven Zustand, den Stoppzustand und den Schlafzustand darstellt,
    • 86 ein Diagramm, das einen Verbindungsaspekt von Stromleitungen darstellt,
    • 87 ein Flussdiagramm, das einen Batterierestladungsüberwachungsprozess darstellt,
    • 88 ein Funktionsblockdiagramm einer Dateiübertragungssteuerungseinheit,
    • 89 ein Flussdiagramm, das einen Dateiübertragungssteuerungsprozess darstellt,
    • 90 ein Diagramm, das einen Aspekt eines Austauschens von Dateien darstellt,
    • 91 ein Diagramm, das einen Aspekt eines Austauschens von Dateien darstellt,
    • 92 ein Diagramm, das geteilte Dateien bzw. Teildateien und Schreibdateien darstellt,
    • 93 ein Diagramm, das einen Aspekt darstellt, bei dem das CGW eine Übertragungsanfrage an das DCM überträgt,
    • 94 ein Diagramm, das einen Aspekt darstellt, bei dem das CGW eine Übertragungsanfrage an das DCM überträgt,
    • 95 ein Diagramm, das einen Aspekt darstellt, bei dem das CGW Schreibdaten an eine Neuschreibziel-ECU verteilt,
    • 96 ein Diagramm, das einen Aspekt darstellt, bei dem das CGW die Schreibdaten an die Neuschreibziel-ECU verteilt,
    • 97 ein Diagramm, das einen Aspekt darstellt, bei dem das CGW die Schreibdaten an die Neuschreibziel-ECU verteilt,
    • 98 ein Diagramm, das einen Verbindungsaspekt der ECU darstellt,
    • 99 ein Funktionsblockdiagramm einer Schreibdatenverteilungssteuerungseinheit,
    • 100 ein Diagramm, das eine Buslasttabelle darstellt,
    • 101 ein Diagramm, das eine Tabelle darstellt, zu der die Neuschreibziel-ECU gehört,
    • 102 ein Flussdiagramm, das einen Schreibdatenverteilungssteuerungsprozess darstellt,
    • 103 ein Diagramm, das einen Aspekt eines Verteilens von Schreibdaten darstellt,
    • 104 ein Diagramm, das einen Aspekt eines Verteilens von Schreibdaten darstellt,
    • 105 ein Diagramm, das einen Aspekt eines Verteilens von Schreibdaten während einer Fahrt eines Fahrzeugs darstellt,
    • 106 ein Diagramm, das einen Aspekt eines Verteilens von Schreibdaten während eines Parkens darstellt,
    • 107 ein Diagramm, das eine Verteilungsmenge von Schreibdaten darstellt,
    • 108 ein Diagramm, das eine Verteilungsmenge von Schreibdaten darstellt,
    • 109 ein Funktionsblockdiagramm einer Aktivierungsanfragebefehlseinheit,
    • 110 ein Flussdiagramm, das einen Aktivierungsanfragebefehlsprozess darstellt,
    • 111 ein Diagramm, das einen Aspekt eines Ausgebens eines Befehls für eine Aktivierungsanfrage darstellt,
    • 112 ein Funktionsblockdiagramm einer Aktivierungsausführungssteuerungseinheit,
    • 113 ein Flussdiagramm, das einen Neuschreibprozess darstellt,
    • 114 ein Flussdiagramm, das einen Aktivierungsausführungssteuerungsprozess darstellt,
    • 115 ein Funktionsblockdiagramm einer Neuschreibzielgruppierungseinheit,
    • 116 ein Flussdiagramm, das einen Neuschreibzielgruppenverwaltungsprozess darstellt,
    • 117 ein Flussdiagramm das den Neuschreibzielgruppenverwaltungsprozess darstellt,
    • 118 ein Diagramm, das einen Aspekt eines Gruppierens von Neuschreibzielen darstellt,
    • 119 ein Funktionsblockdiagramm einer Rollback-Ausführungssteuerungseinheit,
    • 120 ein Flussdiagramm, das einen Rollback-Verfahrensbestimmungsprozess darstellt,
    • 121 ein Flussdiagramm, das einen Löschanfragebestimmungsprozess darstellt,
    • 122 ein Flussdiagramm, das den Löschanfragebestimmungsprozess darstellt,
    • 123 ein Flussdiagramm, das den Löschanfragebestimmungsprozess darstellt,
    • 124 ein Flussdiagramm, das den Löschanfragebestimmungsprozess darstellt,
    • 125 ein Flussdiagramm, das den Löschanfragebestimmungsprozess darstellt,
    • 126 ein Diagramm, das einen Aspekt eines Ausführens eines Rollbacks (Zurückgehens) darstellt,
    • 127 ein Diagramm, das einen Aspekt einer Ausführung des Rollbacks darstellt,
    • 128 ein Diagramm, das einen Aspekt eines Ausführens des Rollbacks darstellt,
    • 129 ein Diagramm, das einen Aspekt einer Ausführung des Rollbacks darstellt,
    • 130 ein Diagramm, das einen Aspekt einer Ausführung des Rollbacks darstellt,
    • 131 ein Funktionsblockdiagramm einer Neuschreibfortschrittssituations-Anzeigesteuerungseinheit,
    • 132 ein Flussdiagramm, das einen Neuschreibfortschrittssituations-Anzeigesteuerungsprozess darstellt,
    • 133 ein Flussdiagramm, das den Neuschreibfortschrittssituations-Anzeigesteuerungsprozess darstellt,
    • 134 ein Diagramm, das einen Neuschreibfortschrittssituationsbildschirm darstellt,
    • 135 ein Diagramm, das den Neuschreibfortschrittssituationsbildschirm darstellt,
    • 136 ein Diagramm, das den Neuschreibfortschrittssituationsbildschirm darstellt,
    • 137 ein Diagramm, das den Neuschreibfortschrittssituationsbildschirm darstellt,
    • 138 ein Diagramm, das den Neuschreibfortschrittssituationsbildschirm darstellt,
    • 139 ein Diagramm, das einen Übergang bzw. eine Änderung einer Fortschrittsgrafikanzeige darstellt,
    • 140 ein Diagramm, das den Übergang der Fortschrittsgrafikanzeige darstellt,
    • 141 ein Diagramm, das den Übergang der Fortschrittsgrafikanzeige darstellt,
    • 142 ein Diagramm, das den Übergang der Fortschrittsgrafikanzeige darstellt,
    • 143 ein Diagramm, das einen Neuschreibfortschrittssituationsbildschirm darstellt,
    • 144 ein Funktionsblockdiagramm einer Differenzdatenkonsistenzbestimm ungseinheit,
    • 145 ein Flussdiagramm, das einen Differenzdatenkonsistenzbestimmungsprozess darstellt,
    • 146 ein Diagramm, das einen Aspekt eines Bestimmens der Konsistenz von Differenzdaten darstellt,
    • 147 ein Diagramm, das einen Aspekt eines Bestimmens der Konsistenz von Differenzdaten darstellt,
    • 148 ein Funktionsblockdiagramm einer Neuschreibausführungssteuerungseinheit,
    • 149 ein Flussdiagramm, das einen normalen Betriebsprozess darstellt,
    • 150 ein Flussdiagramm, das einen Neuschreibbetriebsprozess darstellt,
    • 151 ein Flussdiagramm, das einen Informationsmitteilungsprozess darstellt,
    • 152 ein Flussdiagramm, das einen Neuschreibprogrammverifizierungsprozess darstellt,
    • 153 ein Diagramm, das einen Aspekt eines Übertragens von Identifikationsinformationen und Schreibdaten darstellt,
    • 154 ein Diagramm, das einen Aspekt eines Übertragens der Identifikationsinformationen und der Schreibdaten darstellt,
    • 155 ein Flussdiagramm, das einen Installationsbefehlsprozess darstellt,
    • 156 ein Funktionsblockdiagramm einer Sitzungserrichtungseinheit,
    • 157 ein Diagramm, das eine Konfiguration eines Programms darstellt,
    • 158 ein Diagramm, das einen Zustandsübergang darstellt,
    • 159 ein Diagramm, das den Zustandsübergang darstellt,
    • 160 ein Diagramm, das den Zustandsübergang darstellt,
    • 161 ein Diagramm, das eine Sitzungsarbitration bzw. Sitzungsarbitrierung bzw. Sitzungsentscheidung darstellt,
    • 162 ein Diagramm, das eine Sitzungsarbitration darstellt,
    • 163 ein Flussdiagramm, das einen Zustandsübergangsverwaltungsprozess eines ersten Zustands darstellt,
    • 164 ein Flussdiagramm, das den Zustandsübergangsverwaltungsprozess des ersten Zustands darstellt,
    • 165 ein Flussdiagramm, das den Zustandsübergangsverwaltungsprozess des ersten Zustands darstellt,
    • 166 ein Flussdiagramm, das einen Zustandsübergangsverwaltungsprozess eines zweiten Zustands darstellt,
    • 167 ein Flussdiagramm, das den Zustandsübergangsverwaltungsprozess des zweiten Zustands darstellt,
    • 168 ein Diagramm, das eine Konfiguration eines Programms darstellt,
    • 169 ein Diagramm, das Zustandsübergänge darstellt,
    • 170 ein Funktionsblockdiagramm einer Wiederholungspunktbestimmungseinheit,
    • 171 ein Diagramm, das eine Konfiguration eines Flash-Speichers darstellt,
    • 172 ein Flussdiagramm, das einen Prozess-Flag-Einstellprozess darstellt,
    • 173 ein Flussdiagramm, das einen Prozess-Flag-Bestimmungsprozess darstellt,
    • 174 ein Flussdiagramm, das den Prozess-Flag-Bestimmungsprozess darstellt,
    • 175 ein Funktionsblockdiagramm einer Fortschrittszustandssynchronisationssteuerungseinheit,
    • 176 ein Funktionsblockdiagramm der Fortschrittszustandssynchronisationssteuerungseinheit,
    • 177 ein Diagramm, das einen Aspekt eines Übertragens und Empfangens eines Fortschrittszustandssignals darstellt,
    • 178 ein Flussdiagramm, das einen Fortschrittszustandssynchronisationssteuerungsprozess darstellt,
    • 179 ein Flussdiagramm, das den Fortschrittszustandssynchronisationssteuerungsprozess darstellt,
    • 180 ein Flussdiagramm, das einen Fortschrittszustandsanzeigeprozess darstellt,
    • 181 ein Funktionsblockdiagramm einer Anzeigesteuerungsinformations-Übertragungssteuerungseinheit,
    • 182 ein Flussdiagramm, das einen Anzeigesteuerungsinformations-Übertragungssteuerungsprozess darstellt,
    • 183 ein Funktionsblockdiagramm einer Anzeigesteuerungsinformations-Empfangssteueru ngsei n he it,
    • 184 ein Flussdiagramm, das einen Anzeigesteuerungsinformations-Empfangssteuerungsprozess darstellt,
    • 185 ein Diagramm, das Informationen darstellt, die in Verteilungsspezifikationsdaten enthalten sind,
    • 186 ein Funktionsblockdiagramm einer Fortschrittsanzeigebildschirm-Anzeigesteuerungseinheit,
    • 187 ein Diagramm, das Neuschreibspezifikationsdaten darstellt,
    • 188 ein Diagramm, das einen Bildschirm während einer Menüauswahl darstellt,
    • 189 ein Diagramm, das einen Bildschirm während einer Nutzerauswahl darstellt,
    • 190 ein Diagramm, das einen Bildschirm während einer Nutzerregistrierung darstellt,
    • 191 ein Flussdiagramm, das einen Fortschrittsanzeigebildschirm-Anzeigesteuerungsprozess darstellt,
    • 192 ein Flussdiagramm, das den Fortschrittsanzeigebildschirm-Anzeigesteuerungsprozess darstellt,
    • 193 ein Diagramm, das einen Nachrichtenrahmen darstellt,
    • 194 ein Diagramm, das einen Bildschirm darstellt, wenn der Aktivierung zugestimmt wird,
    • 195 ein Diagramm, das eine Einstellung einer Postenanzeigeverfügbarkeit darstellt,
    • 196 ein Diagramm, das die Einstellung einer Postenanzeigeverfügbarkeit darstellt,
    • 197 ein Diagramm, das einen Bildschirm darstellt, wenn einer Aktivierung zugestimmt wird,
    • 198 ein Diagramm, das einen Aspekt einer Datenkommunikation darstellt,
    • 199 ein Diagramm, das einen Nachrichtenrahmen während einer Kampagnen-Mitteilung darstellt,
    • 200 ein Diagramm, das einen Nachrichtenrahmen darstellt, wenn einem Download zugestimmt wird,
    • 201 ein Diagramm, das einen Nachrichtenrahmen darstellt, wenn einer Installation zugestimmt wird,
    • 202 ein Diagramm, das den Nachrichtenrahmen darstellt, wenn einer Aktivierung zugestimmt wird,
    • 203 ein Diagramm, das einen Bildschirmübergang bzw. eine Bildschirmänderung darstellt,
    • 204 ein Diagramm, das einen Bildschirm darstellt, wenn eine Kampagnen-Mitteilung auftritt,
    • 205 ein Diagramm, das einen Bildschirm darstellt, wenn einem Download zugestimmt wird,
    • 206 ein Diagramm, das einen Bildschirm darstellt, wenn dem Download zugestimmt wird,
    • 207 ein Diagramm, das einen Bildschirm während einer Ausführung eines Downloads darstellt,
    • 208 ein Diagramm, das einen Bildschirm darstellt, wenn ein Download beendet ist,
    • 209 ein Diagramm, das einen Bildschirm darstellt, wenn einer Installation zugestimmt wird,
    • 210 ein Diagramm, das einen Bildschirm darstellt, wenn einer Aktivierung zugestimmt wird,
    • 211 ein Funktionsblockdiagramm einer Programmaktualisierungs-Mitteilungssteuerungseinheit,
    • 212 ein Flussdiagramm, das einen Programmaktualisierungs-Mitteilungssteuerungsprozess darstellt,
    • 213 ein Diagramm, das einen Indikatormitteilungsaspekt darstellt,
    • 214 ein Diagramm, das einen Übergang eines Mitteilungsaspektes in einem Fall darstellt, in dem ein Neuschreibziel ein Doppelbankspeicher ist,
    • 215 ein Diagramm, das einen Übergang eines Mitteilungsaspektes in einem Fall darstellt, in dem ein Neuschreibziel ein Einzelbank-Suspendierungs-Speicher ist,
    • 216 ein Diagramm, das einen Übergang eines Mitteilungsaspektes in einem Fall darstellt, in dem ein Neuschreibziel ein Einzelbankspeicher ist,
    • 217 ein Diagramm, das einen Verbindungsaspekt darstellt,
    • 218 ein Funktionsblock einer Selbsterhaltungsenergie-Ausführungssteuerungseinheit in dem CGW,
    • 219 ein Funktionsblock einer Selbsterhaltungsenergie-Ausführungssteuerungseinheit in der ECU
    • 220 ein Flussdiagramm, das einen Ausführungssteuerungsprozess für eine Selbsterhaltungsenergie in dem CGW darstellt,
    • 221 ein Flussdiagramm, das einen Ausführungssteuerungsprozess für eine Selbsterhaltungsenergie in der ECU darstellt,
    • 222 ein Diagramm, das eine Periode bzw. Zeitdauer darstellt, während der eine Selbsterhaltungsenergie benötigt wird,
    • 223 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 224 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 225 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 226 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 227 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 228 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 229 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 230 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 231 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 232 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 233 ein Gesamtsequenzdiagramm, das einen Aspekt eines Neuschreibens des Applikationsprogramms darstellt,
    • 234 ein Diagramm, das die Gesamtkonfiguration eines Fahrzeuginformationskommunikationssystems gemäß einer ersten Ausführungsform darstellt,
    • 235 ein Diagramm, das eine elektrische Konfiguration eines CGW darstellt,
    • 236 ein Diagramm, das eine elektrische Konfiguration einer ECU darstellt,
    • 237 ein Diagramm, das einen Verbindungsaspekt von Stromleitungen darstellt,
    • 238 ein Diagramm, das einen Aspekt eines Packens von Neuprogrammierungsdaten und Verteilungsspezifikationsdaten darstellt,
    • 239 ein Diagramm, das einen Aspekt eines Entpackens eines Verteilungspakets darstellt,
    • 240 ein Blockdiagramm, das Abschnitte bzw. Teile einer Zentrumsvorrichtung betreffend jeweilige Hauptfunktionen eines Servers darstellt,
    • 241 ein Bilddiagramm, das einen Prozessfluss in der Zentrumsvorrichtung darstellt,
    • 242 ein Diagramm, das ein Beispiel von Fahrzeugkonfigurationsinformationen darstellt, die in einer Konfigurationsinformations-DB registriert sind,
    • 243 ein Diagramm, das ein Beispiel eines Programms oder von Daten darstellt, das bzw. die in einer ECU-Neuprogrammierungsdaten-DB registriert ist bzw. sind,
    • 244 ein Diagramm, das ein Beispiel von Spezifikationsdaten darstellt, die in einer ECU-Metadaten-DB registriert sind,
    • 245 ein Diagramm, das ein Beispiel von Fahrzeugkonfigurationsinformationen darstellt, die in einer Individual-Fahrzeuginformations-DB registriert sind,
    • 246 ein Diagramm, das ein Beispiel von Verteilungspaketdaten darstellt, die in einer Paket-DB registriert sind,
    • 247 ein Diagramm, das ein Beispiel von Kampagnen-Daten darstellt, die in einer Kampagnen-DB registriert sind,
    • 248 ein Flussdiagramm, das einen Prozess zum Erzeugen eines Programms oder von Daten darstellt, das bzw. die in der ECU-Neuprogrammierungsdaten-DB registriert ist bzw. sind,
    • 249 ein Flussdiagramm, das einen Prozess zum Erzeugen eines Beispiels von Spezifikationsdaten darstellt, die in der ECU-Metadaten-DB registriert sind,
    • 250 ein Diagramm, das ein Beispiel von Spezifikationsdaten darstellt,
    • 251 ein Diagramm, das ein Beispiel einer Buslasttabelle darstellt,
    • 252 ein Flussdiagramm, das einen Prozess zum Erzeugen eines Verteilungspakets darstellt, das in der Paket-DB registriert ist,
    • 253 ein Diagramm, das einen Inhalt einer Paketdatei darstellt,
    • 254 ein Sequenzdiagramm, das Verarbeitungsprozeduren darstellt, die zwischen einer Zentrumsvorrichtung und einem fahrzeugseitigen System gemäß einer zweiten Ausführungsform ausgeführt werden,
    • 255 ein Flussdiagramm, das einen Prozess darstellt, der von der Zentrumsvorrichtung durchgeführt wird,
    • 256 ein Diagramm, das Inhalte von Prozessen darstellt, die in Schritten D6 und D7 in dem Flussdiagramm der 248 durchgeführt werden,
    • 257 ein Flussdiagramm, das einen Prozess in einem Fall darstellt, in dem ein Hash-Wert von dem fahrzeugseitigen System an die Zentrumsvorrichtung übertragen wird,
    • 258 ein Sequenzdiagramm, das Verarbeitungsprozeduren darstellt, die zwischen einer Zentrumsvorrichtung und einem fahrzeugseitigen System gemäß einer dritten Ausführungsform ausgeführt werden,
    • 259 ein Flussdiagramm, das einen Prozess darstellt, der von der Zentrumsvorrichtung durchgeführt wird,
    • 260 ein Sequenzdiagramm, das einen Zustand darstellt, bei dem die Zentrumsvorrichtung ein EV-Fahrzeug und eine herkömmliche Vorrichtung unter Verwendung eines SMS benachrichtigt,
    • 261 ein Sequenzdiagramm, das Verarbeitungsprozeduren darstellt, die zwischen einer Zentrumsvorrichtung und einem fahrzeugseitigen System gemäß einer vierten Ausführungsform ausgeführt werden,
    • 262 ein Diagramm, das Prozesse darstellt, die zwischen einem Lieferanten, einer Zentrumsvorrichtung und einem fahrzeugseitigen System gemäß einer fünften Ausführungsform durchgeführt werden,
    • 263 ein (erstes) Sequenzdiagramm, das Verarbeitungsprozeduren darstellt, die zwischen dem Lieferanten, der Zentrumsvorrichtung und dem fahrzeugseitigen System durchgeführt werden,
    • 264 ein (zweites) Sequenzdiagramm, das die Verarbeitungsprozeduren darstellt, die zwischen dem Lieferanten, der Zentrumsvorrichtung und dem fahrzeugseitigen System durchgeführt werden,
    • 265 ein (drittes) Sequenzdiagramm, das die Verarbeitungsprozeduren darstellt, die zwischen dem Lieferanten, der Zentrumsvorrichtung und dem fahrzeugseitigen System durchgeführt werden,
    • 266 ein Diagramm, das ein (erstes) Modifikationsbeispiel der ersten Ausführungsform darstellt und ein Datenformat der Paket-DB in einem Fall darstellt, in dem mehrere Pakete einer einzelnen Kampagne entsprechen,
    • 267 ein Diagramm, das ein Datenformat der Kampagnen-DB in einem Fall darstellt, in dem mehrere Pakete einer einzelnen Kampagne entsprechen,
    • 268 ein Diagramm entsprechend 242 in einem Fall, in dem jeweilige Spezifikationsdaten für jeweilige Gruppen erzeugt werden,
    • 269 ein Diagramm entsprechend 245 in einem Fall, in dem jeweilige Verteilungspakete für jeweilige Gruppen erzeugt werden, und
    • 270 ein Diagramm, das ein (zweites) Modifikationsbeispiel der ersten Ausführungsform darstellt und einen Prozessinhalt in einem Paketerzeugungs-Tool bzw. Paketerzeugungs-Werkzeug darstellt.
  • Beschreibung der Ausführungsformen
  • Im Folgenden wird eine Ausführungsform mit Bezug auf die Zeichnungen beschrieben. Ein Fahrzeug-Programmneuschreibsystem (entspricht einem elektronischen Fahrzeugsteuerungssystem) ist ein System, in dem Applikationsprogramme für eine Fahrzeugsteuerung, eine Diagnose und Ähnliches, die in einer elektronischen Steuerungsvorrichtung (im Folgenden als elektronische Steuerungseinheit (ECU) bezeichnet) installiert sind, Over-The-Air (OTA), das heißt drahtlos, neu geschrieben werden können. In der vorliegenden Ausführungsform wird ein Fall beschrieben, bei dem ein Applikationsprogramm auf drahtgebundene oder drahtlose Weise neu geschrieben wird, aber die vorliegende Erfindung kann für einen Fall verwendet werden, in dem Daten, die in verschiedenen Applikationen verwendet werden, beispielsweise Kartendaten, die in einer Kartenapplikation verwendet werden, und Steuerungsparameter, die in einer ECU verwendet werden, drahtgebunden oder drahtlos neu geschrieben werden.
  • Das Neuschreiben eines Applikationsprogramms auf drahtgebundene Weise enthält nicht nur ein Beschaffen und Neuschreiben des Applikationsprogramms von der Außenseite eines Fahrzeugs auf drahtgebundene Weise, sondern auch ein Beschaffen und Neuschreiben verschiedener Datenteile, die verwendet werden, wenn das Applikationsprogramm ausgeführt wird, auf drahtgebundene Weise von der Außenseite des Fahrzeugs. Das Neuschreiben des Applikationsprogramms auf drahtlose Weise enthält nicht nur ein Beschaffen und Neuschreiben eines Applikationsprogramms von der Außenseite eines Fahrzeugs auf drahtlose Weise, sondern auch ein Beschaffen und Neuschreiben verschiedener Datenteile, die verwendet werden, wenn das Applikationsprogramm ausgeführt wird, auf drahtlose Weise von der Außenseite des Fahrzeugs.
  • Wie es in 1 dargestellt ist, enthält ein Fahrzeug-Programmneuschreibsystem 1 eine Zentrumsvorrichtung 3 auf einer Seite eines Kommunikationsnetzwerkes 2, ein fahrzeugseitiges System 4 auf einer Fahrzeugseite und ein Anzeigeendgerät 5. Das Kommunikationsnetzwerk 2 enthält beispielsweise ein Mobilkommunikationsnetzwerk wie eine 4G-Leitung, das Internet und Wireless Fidelity (Wi-Fi (eingetragene Marke)). In der vorliegenden Ausführungsform fokussiert sich die folgende Beschreibung auf eine Konfiguration der Fahrzeugseite, und eine Konfiguration der Zentrumsvorrichtung 3 wird später im Detail mit Bezug auf die 234 bis 270 beschrieben.
  • Das Anzeigeendgerät 5 ist ein Endgerät, das eine Funktion zum Empfangen einer Betriebseingabe bzw. Bedienungseingabe von einem Nutzer und eine Funktion zum Anzeigen verschiedener Bildschirme aufweist, und ist beispielsweise ein mobiles Endgerät 6 wie beispielsweise ein Smartphone oder ein Tablet, das von einem Nutzer befördert werden kann, und eine fahrzeugeigene Anzeige 7, die in einer Fahrzeugkabine angeordnet ist. Das mobile Endgerät 6 kann eine Datenkommunikation mit der Zentrumsvorrichtung 3 über das Kommunikationsnetzwerk 2 durchführen, solange wie sich das mobile Endgerät 6 innerhalb eines Kommunikationsbereiches eines Mobilkommunikationsnetzwerkes befindet. Die fahrzeugeigene Anzeige 7 ist mit dem fahrzeugseitigen System 4 verbunden und kann auch eine Navigationsfunktion aufweisen. Die fahrzeugeigene Anzeige 7 kann eine Fahrzeug-Anzeige-ECU mit einer ECU-Funktion aufweisen oder kann eine Funktion zum Steuern eines Anzeigens auf einer Zentrumsanzeige, einer Messgeräteanzeige oder Ähnliches aufweisen.
  • Solange wie sich ein Nutzer außerhalb der Fahrzeugkabine und innerhalb des Kommunikationsbereiches des Mobilkommunikationsnetzwerkes befindet, kann der Nutzer eine Betriebseingabe durchführen, während er verschiedene Bildschirme betreffend ein Neuschreiben eines Applikationsprogramms mit dem mobilen Endgerät 6 prüft, und kann eine Prozedur betreffend das Neuschreiben des Applikationsprogramms durchführen. In der Fahrzeugkabine kann der Nutzer eine Betriebseingabe durchführen, während er verschiedene Bildschirme betreffend ein Neuschreiben des Applikationsprogramms mit der fahrzeugeigenen Anzeige 7 prüft, und kann eine Prozedur betreffend ein Neuschreiben des Applikationsprogramms durchführen. Das heißt, der Nutzer kann das mobile Endgerät 6 und die fahrzeugeigene Anzeige 7 separat außerhalb der Fahrzeugkabine bzw. in der Fahrzeugkabine verwenden und kann eine Prozedur betreffend ein Neuschreiben des Applikationsprogramms durchführen.
  • Die Zentrumsvorrichtung 3 steuert eine Programmaktualisierungsfunktion bzw. Programm-Update-Funktion auf der Seite des Kommunikationsnetzwerkes 2 in dem Fahrzeug-Programmneuschreibsystem 1 und dient als ein OTA-Zentrum. Die Zentrumsvorrichtung 3 enthält einen Datei-Server 8, einen Web-Server 9 und einen Verwaltungs-Server 10, und die jeweiligen Server 8 bis 10 sind in der Lage, eine Datenkommunikation miteinander durchzuführen. Das heißt, die Zentrumsvorrichtung 3 enthält mehrere unterschiedliche Server für jeweilige Funktionen.
  • Der Datei-Server 8 ist ein Server, der eine Datei eines Applikationsprogramms verwaltet, das von der Zentrumsvorrichtung 3 an das fahrzeugseitige System 4 verteilt wird. Der Datei-Server 8 verwaltet Aktualisierungsdaten (im Folgenden auch als Neuprogrammierungsdaten oder Schreibdaten bezeichnet), die von einem Lieferanten oder Ähnlichem bereitgestellt werden, der ein Anbieter eines Applikationsprogrammes ist, das von der Zentrumsvorrichtung 3 an das fahrzeugseitige System 4 verteilt wird, Verteilungsspezifikationsdaten, die von einem Originalausrüstungshersteller (OEM) bereitgestellt werden, Fahrzeugbedingungen, die von dem fahrzeugseitigen System 4 beschafft werden, und Ähnliches. Der Datei-Server 8 kann eine Datenkommunikation mit dem fahrzeugseitigen System 4 über das Kommunikationsnetzwerk 2 durchführen und überträgt ein Verteilungspaket, in dem die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten in eine Datei gepackt sind, an das fahrzeugseitige System 4, wenn eine Download-Anfrage bzw. ein Download-Abruf für das Verteilungspaket erzeugt wird.
  • Der Web-Server 9 ist ein Server, der Web-Informationen verwaltet. Der Web-Server 9 überträgt Web-Daten, die von diesem als Antwort auf eine Anfrage bzw. einen Abruf von einem Web-Browser des mobilen Endgerätes 6 oder Ähnlichem verwaltet werden. Der Verwaltungs-Server 10 ist ein Server, der persönliche Informationen eines Nutzers, der für einen Dienst eines Neuschreibens eines Applikationsprogramms registriert ist, eine Neuschreibhistorie bzw. Neuschreibvergangenheit eines Applikationsprogramms für ein jeweiliges Fahrzeug und Ähnliches verwaltet.
  • Das fahrzeugseitige System 4 weist eine Master-Vorrichtung 11 (entspricht einer Fahrzeug-Master-Vorrichtung) auf. Die Master-Vorrichtung 11 enthält ein Datenkommunikationsmodul (DCM) 12 (entspricht einer fahrzeugeigenen Kommunikationsvorrichtung) und ein zentrales Gateway (CGW) 13 (entspricht einer Fahrzeug-Gateway-Vorrichtung). Das DCM 12 und das CGW 13 sind über einen ersten Bus 14 miteinander verbunden, sodass sie in der Lage sind, eine Datenkommunikation durchzuführen. Das DCM 12 führt eine Datenkommunikation mit der Zentrumsvorrichtung 3 über das Kommunikationsnetzwerk 2 durch. Wenn das DCM 12 ein Verteilungspaket von dem Datei-Server 8 herunterlädt, extrahiert das DCM Schreibdaten aus dem heruntergeladenen Verteilungspaket und überträgt die extrahierten Schreibdaten an das CGW 13.
  • Das CGW 13 weist eine Datenweiterleitungsfunktion auf, und wenn die Schreibdaten von dem DCM 12 beschafft werden, befiehlt das CGW einer Neuschreibziel-ECU, die ein Neuschreibziel eines Applikationsprogramms ist, die beschafften Schreibdaten zu schreiben, und verteilt die Schreibdaten an die Neuschreibziel-ECU. Wenn das Schreiben der Schreibdaten in der Neuschreibziel-ECU beendet ist und ein Neuschreiben des Applikationsprogramms beendet ist, befiehlt das CGW 13 der Neuschreibziel-ECU, eine Aktivierung zum Validieren des Applikationsprogramms nach dem Neuschreiben durchzuführen.
  • Die Master-Vorrichtung 11 steuert eine Programmaktualisierungsfunktion der Fahrzeugseite in dem Fahrzeug-Programmneuschreibsystem 1 und dient als ein OTA-Master. Auch wenn in 1 gemäß einem Beispiel das DCM 12 und die fahrzeugeigene Anzeige 7 mit dem ersten Bus 14 verbunden sind, können das DCM 12 und die fahrzeugeigene Anzeige 7 auch mit separaten Bussen verbunden sein. Das CGW 13 kann einige oder sämtliche der Funktionen des DCM 12 aufweisen, oder das DCM 12 kann einige oder sämtliche der Funktionen des CGW 13 aufweisen. Das heißt, in der Master-Vorrichtung 11 kann eine Funktionsaufteilung bzw. eine gemeinsame Verwendung von Funktionen zwischen dem DCM 12 und dem CGW 13 auf beliebige Weise ausgebildet sein. Die Master-Vorrichtung 11 kann mit zwei ECUs wie dem DCM 12 und dem CGW 13 ausgebildet sein oder kann mit einer einzelnen integrierten ECU ausgebildet sein, die die Funktionen des DCM 12 und die Funktionen des CGW 13 aufweist.
  • Zusätzlich zu dem ersten Bus 14 sind ein zweiter Bus 15, ein dritter Bus 16, ein vierter Bus 17 und ein fünfter Bus 18 mit dem CGW 13 als Busse in dem Fahrzeug verbunden, und es sind verschiedene ECUs 19 über die Busse 15 bis 17 verbunden, und es ist eine Stromversorgungsverwaltungs-ECU 20 über den bzw. mit dem Bus 18 verbunden.
  • Der zweite Bus 15 ist beispielsweise ein Karosseriesystemnetzwerkbus. Die ECUs 19, die mit dem zweiten Bus 15 verbunden sind, sind ECUs, die ein Karosseriesystem steuern. Die ECUs, die das Karosseriesystem steuern, enthalten beispielsweise eine Tür-ECU, die ein Verriegeln und Entriegeln einer Tür steuert, eine Messgeräte-ECU, die ein Anzeigen auf der Messgeräteanzeige steuert, eine Klimaanlagen-ECU, die eine Ansteuerung einer Klimaanlage steuert, eine Fenster-ECU, die ein Öffnen und Schließen eines Fensters steuert, und eine Sicherheits-ECU, die zum Verhindern eines Diebstahls des Fahrzeugs angesteuert wird.
  • Der dritte Bus 16 ist beispielsweise ein Fahrsystemnetzwerkbus. Die ECUs 19, die mit dem dritten Bus 16 verbunden sind, sind ECUs, die ein Fahrsystem steuern. Die ECUs, die das Fahrsystem steuern, enthalten beispielsweise eine Verbrennungsmotor-ECU, die eine Ansteuerung eines Verbrennungsmotors steuert, eine Bremsen-ECU, die eine Ansteuerung einer Bremse steuert, eine ECU eines elektronisch gesteuerten Getriebes (ECT-ECU), die eine Ansteuerung eines Automatikgetriebes steuert, und eine Servolenkungs-ECU, die eine Ansteuerung einer Servolenkung steuert.
  • Der vierte Bus 17 ist beispielsweise ein Multimediasystemnetzwerkbus. Die ECUs 19, die mit dem vierten Bus 17 verbunden sind, sind ECUs, die ein Multimediasystem steuern. Die ECUs, die das Multimediasystem steuern, enthalten beispielsweise eine Navigations-ECU, die ein Navigationssystem steuert, und eine ETC-ECU, die ein elektronisches Mautsystem (ETC) (eingetragene Marke) steuert. Die Busse 15 bis 17 können andere Systembusse als der Karosseriesystemnetzwerkbus, der Fahrsystemnetzwerkbus und der Multimediasystemnetzwerkbus sein. Die Anzahl der Busse und die Anzahl der ECUs 19 sind nicht auf die beispielhafte Konfiguration beschränkt. Die Stromversorgungsverwaltungs-ECU 20 ist eine ECU, die eine dem DCM 12, dem CGW 13, den verschiedenen ECUs 19 und Ähnlichem zuzuführende Leistung (Strom) verwaltet.
  • Ein sechster Bus 21 ist mit dem CGW 13 als ein Bus außerhalb des Fahrzeugs verbunden. Ein Datenverbindungskoppler-Verbinder (DLC-Verbinder) 22, mit dem ein Tool bzw. Werkzeug 23 (entspricht einem Dienst-Tool bzw. Dienst-Werkzeug) entfernbar verbunden ist, ist mit dem sechsten Bus 21 verbunden. Die Busse 14 bis 18 innerhalb des Fahrzeugs und der Bus 21 außerhalb des Fahrzeugs sind beispielsweise als Steuerbereichsnetzwerk-Busse (CAN-Busse) (eingetragene Marke) ausgebildet, und das CGW 13 führt eine Datenkommunikation mit dem DCM 12, den verschiedenen ECUs 19 und dem Tool 23 entsprechend dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard (vereinheitlichte Diagnosedienste (UDS): ISO14229) durch. Das DCM 12 und das CGW 13 können über Ethernet miteinander verbunden sein, und der DLC-Verbinder 22 und das CGW 13 können über Ethernet miteinander verbunden sein.
  • Wenn Schreibdaten von dem CGW 13 empfangen werden, schreibt die Neuschreibziel-ECU 19 die empfangenen Schreibdaten in einen Flash-Speicher (entspricht einem nichtflüchtigen Speicher), um ein Applikationsprogramm neu zu schreiben. Wenn in der obigen Konfiguration eine Anfrage bzw. ein Abruf bzw. eine Aufforderung zum Beschaffen von Schreibdaten von der Neuschreibziel-ECU 19 empfangen wird, dient das CGW 13 als ein Neuprogrammierungs-Master, der die Schreibdaten an die Neuschreibziel-ECU 19 verteilt. Wenn die Schreibdaten von dem CGW 13 empfangen werden, dient die Neuschreibziel-ECU 19 als ein Neuprogrammierungs-Slave, der die empfangenen Schreibdaten in den Flash-Speicher schreibt, um das Applikationsprogramm neu zu schreiben.
  • Gemäß einem Aspekt eines Neuschreibens des Applikationsprogramms gibt es einen drahtgebunden Neuschreibaspekt und einen drahtlosen Neuschreibaspekt. Der Aspekt, bei dem das Applikationsprogramm auf drahtgebundene Weise neu geschrieben wird, ist ein Aspekt, bei dem die Neuschreibziel-ECU 19 unter Verwendung eines Applikationsprogramms neu beschrieben wird, das von der Außenseite des Fahrzeugs auf drahtgebundene Weise beschafft wird. Insbesondere wenn das Tool 23 mit dem DLC-Verbinder 22 verbunden ist, überträgt das Tool 23 die Schreibdaten an das CGW 13. Das CGW 13 dient als ein Gateway, überträgt eine drahtgebundene Neuschreibanfrage an die Neuschreibziel-ECU 19, befiehlt der Neuschreibziel-ECU 19, die Schreibdaten zu schreiben (installieren) und verteilt die Schreibdaten, die von dem Tool 23 übertragen werden, an die Neuschreibziel-ECU 19. Das Verteilen der Schreibdaten an die Neuschreibziel-ECU 19 dient zum Weiterleiten der Schreibdaten.
  • Der Aspekt, bei dem das Applikationsprogramm auf drahtlose Weise neu geschrieben wird, ist ein Aspekt, bei dem die Neuschreibziel-ECU 19 unter Verwendung eines Applikationsprogramms neu beschrieben wird, das von der Außenseite des Fahrzeugs auf drahtlose Weise beschafft wird. Insbesondere wenn ein Verteilungspaket von dem Datei-Server 8 heruntergeladen wird, extrahiert das DCM 12 Schreibdaten aus dem heruntergeladenen Verteilungspaket und überträgt die Schreibdaten an das CGW 13. Das CGW 13 dient als ein Neuschreib-Tool, befiehlt der Neuschreibziel-ECU 19, die Schreibdaten zu schreiben (installieren) und verteilt die Schreibdaten, die von dem DCM 12 übertragen werden, an die Neuschreibziel-ECU 19.
  • Aspekte eines Diagnostizierens der ECU 19 enthalten einen drahtgebundenen Diagnoseaspekt und einen drahtlosen Diagnoseaspekt. Der drahtgebundene Diagnoseaspekt ist ein Aspekt, bei dem die ECU 19 von der Außenseite des Fahrzeugs auf drahtgebundene Weise diagnostiziert wird. Insbesondere wenn das Tool 23 mit dem DLC-Verbinder 22 verbunden ist, überträgt das Tool 23 eine Diagnoseanfrage an das CGW 13. Das CGW 13 dient als ein Gateway, überträgt eine Diagnoseanfrage an die Diagnoseziel-ECU 19 und verteilt einen Diagnosebefehl, der von dem Tool 23 übertragen wird, an eine Diagnoseziel-ECU 19. Die Diagnoseziel-ECU 19 führt einen Diagnoseprozess entsprechend dem Diagnosebefehl durch, der von dem CGW 13 empfangen wird.
  • Der drahtlose Diagnoseaspekt ist ein Aspekt, bei dem die ECU 19 von der Außenseite des Fahrzeugs auf drahtlose Weise diagnostiziert wird. Insbesondere wenn ein Diagnosebefehl als eine Diagnoseanfrage von der Zentrumsvorrichtung 3 an das DCM 12 übertragen wird, überträgt das DCM 12 den Diagnosebefehl an das CGW 13. Das CGW 13 dient als ein Gateway und verteilt den Diagnosebefehl als eine Diagnoseanfrage an die Diagnoseziel-ECU 19. Die Diagnoseziel-ECU führt einen Diagnoseprozess entsprechend dem Diagnosebefehl durch, der von dem CGW 13 empfangen wird.
  • Wie es in 2 dargestellt ist, enthält das CGW 13 einen Mikrocomputer 24, eine Datenübertragungsschaltung 25, eine Stromversorgungsschaltung 26 und eine Stromerfassungsschaltung bzw. Leistungserfassungsschaltung 27 als elektrische Funktionsblöcke. Der Mikrocomputer 24 enthält eine zentrale Verarbeitungseinheit (CPU) 24a, einen Nur-Lese-Speicher (ROM) 24b, einen Speicher mit wahlfreiem Zugriff (RAM) 24c und einen Flash-Speicher 24d. Der Flash-Speicher 24d enthält einen sicheren Bereich bzw. Sicherungsbereich, aus dem Informationen von der Außenseite des CGW 13 nicht ausgelesen werden können. Der Mikrocomputer 24 führt verschiedene Prozesse durch Ausführen von verschiedenen Steuerungsprogrammen durch, die in einem nichtflüchtigen dinglichen Speichermedium gespeichert sind, und steuert einen Betrieb des CGW 13.
  • Die Datenübertragungsschaltung 25 steuert eine Datenkommunikation mit den Bussen 14 bis 18 und 21 entsprechend dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard. Die Stromversorgungsschaltung 26 empfängt Batterieleistung (im Folgenden als +B-Leistung bezeichnet), Hilfsleistung bzw. Zubehör-Leistung (im Folgenden als ACC-Leistung bezeichnet) und Zündleistung bzw. Zündungs-Leistung (im Folgenden als IG-Leistung bezeichnet). Die Leistungserfassungsschaltung 27 erfasst einen Spannungswert der +B-Leistung, einen Spannungswert der ACC-Leistung und einen Spannungswert der IG-Leistung, die über die Stromversorgungsschaltung 26 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt die Vergleichsergebnisse an den Mikrocomputer 24 aus. Der Mikrocomputer 24 bestimmt, ob die +B-Leistung, die ACC-Leistung und die IG-Leistung, die von der Außenseite über das CGW 13 zugeführt werden, normal oder abnorm sind, auf der Grundlage der Vergleichsergebnisse, die von der Leistungserfassungsschaltung 27 eingegeben werden.
  • Wie es in 3 dargestellt ist, enthält das DCM 12 einen Mikrocomputer 28, eine Radioschaltung bzw. Funkschaltung 29, eine Datenübertragungsschaltung 30, eine Stromversorgungsschaltung 31 und eine Leistungserfassungsschaltung 32 als elektrische Funktionsblöcke. Der Mikrocomputer 28 enthält eine CPU 28a, einen ROM 28b, einen RAM 28c und einen Flash-Speicher 28d. Der Flash-Speicher 28d enthält einen sicheren Bereich bzw. Sicherungsbereich, aus dem Informationen von der Außenseite des DCM 12 nicht ausgelesen werden können. Der Mikrocomputer 28 führt verschiedene Prozesse durch Ausführen von verschiedenen Steuerungsprogrammen durch, die in einem nichtflüchtigen dinglichen Speichermedium gespeichert sind, und steuert einen Betrieb des DCM 12. Der Flash-Speicher, der von der Zentrumsvorrichtung 3 heruntergeladene Daten speichert, kann in dem CGW 13 angeordnet sein.
  • Die Radioschaltung 29 steuert eine Datenkommunikation mit der Zentrumsvorrichtung 3 über das Kommunikationsnetzwerk 2. Die Datenübertragungsschaltung 30 steuert eine Datenkommunikation mit dem Bus 14 entsprechend dem CAN-Datenkommunikationsstandard. Die Stromversorgungsschaltung 31 empfängt +B-Leistung, ACC-Leistung und IG-Leistung. Die Leistungserfassungsschaltung 32 erfasst einen Spannungswert der +B-Leistung, einen Spannungswert der ACC-Leistung und einen Spannungswert der IG-Leistung, die durch die Stromversorgungsschaltung 31 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt die Vergleichsergebnisse an den Mikrocomputer 28 aus. Der Mikrocomputer 28 bestimmt, ob die +B-Leistung, die ACC-Leistung und die IG-Leistung, die dem DCM 12 von der Außenseite zugeführt werden, normal oder abnorm sind, auf der Grundlage der Vergleichsergebnisse, die von der Leistungserfassungsschaltung 32 eingegeben werden.
  • Das DCM 12 weist eine Fahrzeugpositionserfassungsfunktion zum Erfassen einer Fahrzeugposition beispielsweise unter Verwendung eines globalen Ortungssystems (GPS) auf. Der Flash-Speicher 28d des DCM 12 weist eine Speicherkapazität auf, die ausreicht, um ein Verteilungspaket, das von der Zentrumsvorrichtung 3 heruntergeladen wird, zu speichern, und weist eine größere Speicherkapazität als der Flash-Speicher 28d des CGW 13 auf. Das heißt, da der Flash-Speicher 28d des DCM 12 eine ausreichende Speicherkapazität aufweist, kann die Master-Vorrichtung 11 das Verteilungspaket von der Zentrumsvorrichtung 3 herunterladen, auch wenn der Flash-Speicher 24d des CGW 13 keine ausreichende Speicherkapazität aufweist, und das heruntergeladene Verteilungspaket in dem DCM 12 speichern.
  • Wie es in 4 dargestellt ist, enthält die ECU 19 einen Mikrocomputer 33, eine Datenübertragungsschaltung 34, eine Stromversorgungsschaltung 35 und eine Leistungserfassungsschaltung 36 als elektrische Funktionsblöcke. Der Mikrocomputer 33 enthält eine CPU 28a, einen ROM 28b, einen RAM 33c und einen Flash-Speicher 28d. Der Flash-Speicher 28d enthält einen sicheren Bereich, aus dem Informationen von der Außenseite der ECU 19 nicht ausgelesen werden können. Der Mikrocomputer 33 führt verschiedene Prozesse durch Ausführen von verschiedenen Steuerungsprogrammen durch, die in einem nichtflüchtigen dinglichen Speichermedium gespeichert sind, und steuert einen Betrieb der ECU 19.
  • Die Datenübertragungsschaltung 34 steuert eine Datenkommunikation mit den Bussen 15 bis 17 entsprechend dem CAN-Datenkommunikationsstandard. Die Stromversorgungsschaltung 35 empfängt die +B-Leistung, die ACC-Leistung und die IG-Leistung. Die Leistungserfassungsschaltung 36 erfasst einen Spannungswert der +B-Leistung, einen Spannungswert der ACC-Leistung und einen Spannungswert der IG-Leistung, die durch die Stromversorgungsschaltung 35 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt die Vergleichsergebnisse an den Mikrocomputer 33 aus. Der Mikrocomputer 33 bestimmt, ob die +B-Leistung, die ACC-Leistung und die IG-Leistung, die der ECU 19 von der Außenseite zugeführt werden, normal oder abnorm sind, auf der Grundlage der Vergleichsergebnisse, die von der Leistungserfassungsschaltung 27 eingegeben werden. Die ECUs 19 weisen grundlegend dieselbe Konfiguration auf, mit der Ausnahme, dass Lasten wie Sensoren oder Aktuatoren bzw. Stellglieder, die damit verbunden sind, sich voneinander unterscheiden.
  • Die fahrzeugeigene Anzeige 7 weist dieselbe Konfiguration wie diejenige der ECU 19 auf, die in 4 dargestellt ist. Die Stromversorgungsverwaltungs-ECU 20 weist dieselbe Konfiguration wie diejenige der ECU 19 auf, die in 4 dargestellt ist. Die Stromversorgungsverwaltungs-ECU 20 ist mit einer Stromversorgungssteuerungsschaltung 43 verbunden, die später beschrieben wird, so dass eine Datenkommunikation zwischen diesen möglich ist.
  • Wie es in 5 dargestellt ist, sind die Stromversorgungsverwaltungs-ECU 20, das CGW 13 und die ECU 19 mit einer +B-Stromleitung 37, einer ACC-Stromleitung 38 und einer IG-Stromleitung 39 verbunden, die Stromversorgungsleitungen sind. Die +B-Stromleitung 37 ist mit einer positiven Elektrode einer Fahrzeugbatterie 40 verbunden. Die ACC-Stromleitung 38 ist mit der positiven Elektrode der Fahrzeugbatterie 40 über einen ACC-Schalter 41 verbunden. Wenn der Nutzer einen ACC-Betrieb durchführt, wechselt der ACC-Schalter 41 von einem Ausschaltzustand in einen Einschaltzustand, und es wird eine Ausgangsspannung der Fahrzeugbatterie 40 an die ACC-Stromleitung 38 angelegt. In einem Fall eines Fahrzeugtyps, bei dem ein Schlüssel in eine Einführungsöffnung eingeführt wird, ist der ACC-Betrieb beispielsweise ein Betrieb zum Drehen des Schlüssels von einer „AUS“-Position bzw. Ausschaltposition in eine „ACC“-Position durch Einführen des Schlüssels in die Einführungsöffnung, und in einem Fall eines Fahrzeugtyps zum Drücken eines Startknopfes ist der ACC-Betrieb ein Betrieb eines einmaligen Drückens des Startknopfes.
  • Die IG-Stromleitung 39 ist mit der positiven Elektrode der Fahrzeugbatterie 40 über einen IG-Schalter bzw. Zündschalter 42 verbunden. Wenn der Nutzer einen IG-Betrieb bzw. Zündbetrieb durchführt, wechselt der IG-Schalter 42 von einem Ausschaltzustand in einen Einschaltzustand, und es wird eine Ausgangsspannung der Fahrzeugbatterie 40 an die IG-Stromleitung 39 angelegt. In einem Fall eines Fahrzeugtyps einer Einführung eines Schlüssels in eine Einführungsöffnung ist der IG-Betrieb beispielsweise ein Betrieb zum Drehen des Schlüssels von einer „AUS“-Position in eine „EIN“-Position durch Einführen des Schlüssels in die Einführungsöffnung, und in einem Fall eines Fahrzeugtyps eines Drückens eines Startknopfes ist der IG-Betrieb ein Betrieb eines zweimaligen Drückens des Startknopfes. Die negative Elektrode der Fahrzeugbatterie 40 ist geerdet.
  • Wenn sowohl der ACC-Schalter 41 als auch der IG-Schalter 42 ausgeschaltet sind, wird dem fahrzeugseitigen System 4 nur die +B-Leistung zugeführt. Der Zustand, in dem nur die +B-Leistung dem fahrzeugseitigen System 4 zugeführt wird, wird als ein +B-Stromversorgungszustand bezeichnet. Wenn der ACC-Schalter 41 eingeschaltet ist und der IG-Schalter 42 ausgeschaltet ist, werden dem fahrzeugseitigen System 4 die ACC-Leistung und die +B-Leistung zugeführt. Der Zustand, in dem die ACC-Leistung und die +B-Leistung dem fahrzeugseitigen System 4 zugeführt werden, wird als ACC-Stromversorgungszustand bezeichnet. Wenn der ACC-Schalter 41 als auch der IG-Schalter 42 eingeschaltet sind, werden dem fahrzeugseitigen System 4 die +B-Leistung, die ACC-Leistung und die IG-Leistung zugeführt. Der Zustand, in dem die +B-Leistung, die ACC-Leistung und die IG-Leistung dem fahrzeugseitigen System 4 zugeführt werden, wird als IG-Stromversorgungszustand bezeichnet. Zusätzlich zu den jeweiligen oben beschriebenen Stromversorgungszuständen ist auch ein Stromversorgungszustand oder Ähnliches zum Bereitstellen einer zur drahtlosen Programmaktualisierung geeigneten Leistung denkbar.
  • Die ECUs 19 weisen unterschiedliche Startbedingungen je nach Stromversorgungszuständen auf und sind als +B-Leistungs-ECU, die in einem +B-Stromversorgungszustand gestartet wird, ACC-ECU, die in dem ACC-Stromversorgungszustand gestartet wird, und IG-ECU, die in dem IG-Stromversorgungszustand gestartet wird, klassifiziert. Die ECU 19, die betreffend einen Fahrzeugdiebstahl angesteuert wird, ist beispielsweise als +B-Leistungs-ECU klassifiziert. Die ECU 19, die in einer Nicht-Fahrapplikation wie Audio angesteuert wird, ist als ACC-ECU klassifiziert. Die ECU 19, die in einer Fahrapplikation wie einer Verbrennungsmotorsteuerung angesteuert wird, ist als IG-ECU klassifiziert.
  • Die +B-Leistungs-ECU ist mit der +B-Stromleitung 37, der ACC-Stromleitung 38 und der IG-Stromleitung 39 verbunden und ist ausgelegt, die +B-Stromleitung 37 in dem +B-Stromversorgungszustand auszuwählen, die ACC-Stromleitung 38 in dem ACC-Stromversorgungszustand auszuwählen, und die IG-Stromleitung 39 in dem IG-Stromversorgungszustand auszuwählen. Die ACC-ECU ist mit der ACC-Stromleitung 38 und der IG-Stromleitung 39 verbunden und ist ausgelegt, die ACC-Stromleitung 38 in dem ACC-Stromversorgungszustand auszuwählen und die IG-Stromleitung 39 in dem IG-Stromversorgungszustand auszuwählen. Die IG-ECU ist mit der IG-Stromleitung 39 verbunden.
  • Das CGW 13 überträgt eine Startanfrage an die ECU 19, die sich in einem Schlafzustand befindet, und bewirkt somit, dass die ECU 19, die ein Übertragungsziel der Startanfrage ist, von dem Schlafzustand in einen aktiven Zustand übergeht. Das CGW 13 überträgt außerdem eine Schlafanfrage an die ECU 19, die sich in einem aktiven Zustand befindet, und bewirkt somit, dass die ECU 19, die ein Übertragungsziel der Schlafanfrage ist, von dem aktiven Zustand in einen Schlafzustand übergeht. Das CGW 13 kann bewirken, dass eine spezielle ECU 19 in einen aktiven Zustand oder einen Schlafzustand übergeht, beispielsweise dadurch, dass sie Wellenformen der Übertragungssignale, die an die Busse 15 bis 17 zu übertragen sind, unterschiedlich ausbildet. Das heißt, eine Startanfragewellenform und eine Schlafanfragewellenform sind für jede ECU 19 im Voraus definiert, und die ECU 19 geht von dem Schlafzustand in den aktiven Zustand über, wenn eine Startanfragewellenform, die damit konform ist, empfangen wird, und geht von dem aktiven Zustand in den Schlafzustand über, wenn eine Schlafanfragewellenform, die damit konform ist, von dem CGW 13 empfangen wird.
  • In einem Fall beispielsweise, in dem sich eine ECU (ID1) und eine ECU (ID2) in dem aktiven Zustand befinden, überträgt das CGW 13 eine erste Wellenform und bewirkt somit, dass die ECU (ID1) von dem aktiven Zustand in den Schlafzustand übergeht, und hält die ECU (ID2) in dem aktiven Zustand. In einem Fall, in dem sich die ECU (ID1) und die ECU (ID2) in dem aktiven Zustand befinden, überträgt das CGW 13 eine zweite Wellenform und hält somit die ECU (ID1) in dem aktiven Zustand und bewirkt, dass die ECU (ID2) von dem aktiven Zustand in den Schlafzustand übergeht.
  • Die Stromversorgungssteuerungsschaltung 43 ist parallel zu dem ACC-Schalter 41 und dem IG-Schalter 42 geschaltet. Das CGW 13 überträgt eine Stromversorgungssteuerungsanfrage an die Stromversorgungsverwaltungs-ECU 20 und bewirkt, dass die Stromversorgungsverwaltungs-ECU 20 die Stromversorgungssteuerungsschaltung 43 steuert. Das heißt, das CGW 13 überträgt eine Stromversorgungsstartanfrage als die Stromversorgungssteuerungsanfrage an die Stromversorgungsverwaltungs-ECU 20, um die ACC-Stromleitung 38 oder die IG-Stromleitung 39 mit der positiven Elektrode der Fahrzeugbatterie 40 über die Stromversorgungssteuerungsschaltung 43 zu verbinden. In diesem Zustand wird die ACC-Leistung oder IG-Leistung dem fahrzeugseitigen System 4 zugeführt, auch wenn der ACC-Schalter 41 oder der IG-Schalter 42 ausgeschaltet ist. Das CGW 13 überträgt eine Stromversorgungsstoppanfrage als die Stromversorgungssteuerungsanfrage an die Stromversorgungsverwaltungs-ECU 20, um die ACC-Stromleitung 38 oder die IG-Stromleitung 39 über die Stromversorgungssteuerungsschaltung 43 von der positiven Elektrode der Fahrzeugbatterie 40 zu trennen.
  • Das DCM 12, das CGW 13, die ECU 19 und die Stromversorgungsverwaltungs-ECU 20 weisen jeweils eine Selbsterhaltungsenergieschaltung auf und weisen eine Selbsterhaltungsenergiefunktion zum Erhalten von Energie, die von der Fahrzeugbatterie 40 zugeführt wird, auf. Das heißt, wenn in dem aktiven Zustand die Fahrzeugleistung von der ACC-Leistung oder der IG-Leistung in die +B-Leistung wechselt, gehen das DCM 12, das CGW 13, die ECU 19 und die Stromversorgungsverwaltungs-ECU 20 von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand nicht unmittelbar nach dem Wechsel über, sondern setzen den aktiven Zustand eine vorbestimmte Zeit lang (beispielsweise einige Minuten) fort, während Leistung von der Fahrzeugbatterie 40 zugeführt wird, und erhalten somit ihre Ansteuerleistung bzw. -energie bei. Das DCM 12, das CGW 13, die ECU 19 und die Stromversorgungsverwaltungs-ECU 20 gehen von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand über, wenn eine vorbestimmte Zeit verstrichen ist, unmittelbar nachdem die Fahrzeugleistung von der ACC-Leistung oder der IG-Leistung in die +B-Leistung gewechselt hat. In der ECU 19 des Verbrennungsmotorsteuerungssystems wird beispielsweise die Selbsterhaltungsenergiefunktion aktiviert, nachdem die Fahrzeugleistung von der ACC-Leistung oder IG-Leistung in die +B-Leistung gewechselt hat, und diese speichert somit verschiedene Datenteile hinsichtlich der Verbrennungsmotorsteuerung, die während einer Fahrt des Fahrzeugs beschafft wurden, als ein Log bzw. Protokoll.
  • Im Folgenden wird ein Verteilungspaket beschrieben, das von der Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 verteilt wird. Wie es in 6 dargestellt ist, werden in dem Fahrzeug-Programmneuschreibsystem 1 Neuprogrammierungsdaten, die Schreibdaten, die von einem Lieferanten als einem Anbieter eines Applikationsprogramms bereitgestellt werden, und Neuschreibspezifikationsdaten (entsprechen Spezifikationsdaten) enthalten, die von einem OEM bereitgestellt werden, erzeugt. Die Neuschreibspezifikationsdaten können durch die Zentrumsvorrichtung 3 erzeugt werden. Die Schreibdaten, die von dem Lieferanten bereitgestellt werden, enthalten Differenzdaten, die einer Differenz bzw. einem Unterschied zwischen einem alten Applikationsprogramm und einem neuen Applikationsprogramm entsprechen, und/oder die gesamten Daten, die der Gesamtheit des neuen Applikationsprogramms entsprechen. Die Differenzdaten oder die gesamten Daten können unter Verwendung einer bekannten Datenkomprimierungstechnik komprimiert werden bzw. sein. 6 stellt beispielhaft einen Fall dar, bei dem Differenzdaten als Schreibdaten von Lieferanten A bis C bereitgestellt werden und Neuprogrammierungsdaten aus verschlüsselten Differenzdaten und einem Authentifizierer der ECU (ID1), die von dem Lieferanten A bereitgestellt werden, verschlüsselten Differenzdaten und einem Authentifizierer der ECU (ID2), die von dem Lieferanten B bereitgestellt werden, und verschlüsselten Differenzdaten und einem Authentifizierer der ECU (ID3), die von dem Lieferanten C bereitgestellt werden, und Neuschreibspezifikationsdaten, die von dem OEM bereitgestellt werden, erzeugt werden.
  • Der Authentifizierer besteht aus Daten, die zu einem jeweiligen Schreibdatenteil hinzugefügt sind, um die Integrität der Differenzdaten zu verifizieren, und wird beispielsweise aus einer ECU-(ID), Schlüsselinformationen, die mit der ECU-(ID) verbunden bzw. verlinkt sind, und Differenzdaten erzeugt. Hier können Schreibdaten für ein Rollback bzw. Zurückgehen zu einer alten Version in den Neuprogrammierungsdaten in Vorbereitung für einen Fall enthalten sein, in dem ein Neuschreiben eines Applikationsprogramms auf halbem Weg abgebrochen wird.
  • Die Neuschreibspezifikationsdaten, die von dem OEM bereitgestellt werden, enthalten als Informationen betreffend ein Neuschreiben des Applikationsprogramms Informationen zum Bestimmen der Neuschreibziel-ECU 19, Informationen zum Bestimmen einer Neuschreibreihenfolge, wenn es mehrere Neuschreibziel-ECUs 19 gibt, Informationen zum Bestimmen eines später beschriebenen Rollback-Verfahrens und Ähnliches. Die Neuschreibspezifikationsdaten sind Daten, die einen Betrieb betreffend ein Neuschreiben in dem DCM 12, dem CGW 13, der Neuschreibziel-ECU 19 und Ähnlichem definieren. Die Neuschreibspezifikationsdaten sind in DCM-Neuschreibspezifikationsdaten, die von dem DCM 12 verwendet werden, und CGW-Neuschreibspezifikationsdaten klassifiziert, die von dem CGW 13 verwendet werden.
  • Wie es in 7 dargestellt ist, enthalten die DCM-Neuschreibspezifikationsdaten Spezifikationsdateninformationen und ECU-Informationen. Die Spezifikationsdateninformationen enthalten Adressinformationen und einen Dateinamen. Die ECU-Informationen enthalten Adressinformationen oder Ähnliches, die referenziert werden, wenn ein Aktualisierungsprogramm (Schreibdaten) einer jeweiligen Neuschreibziel-ECU 19 an das CGW 13 übertragen werden, in der Anzahl der Neuschreibziel-ECUs 19. Insbesondere enthalten die ECU-Informationen mindestens eine ID (ECU (ID)) zum Identifizieren einer ECU, eine Bezugsadresse bzw. Referenzadresse (Aktualisierungsprogrammbeschaffungsadresse) zum Beschaffen eines Aktualisierungsprogramms, eine Aktualisierungsprogrammgröße, eine Bezugsadresse bzw. Referenzadresse (Rollback-Programmbeschaffungsadresse) zum Beschaffen eines Rollback-Programms und eine Rollback-Programmgröße. Das Rollback-Programm ist ein Programm (Schreibdaten) zum Zurückkehren eines Applikationsprogramms zu einer ursprünglichen Version, wenn ein Neuschreiben des Applikationsprogramms auf halbem Wege aufgehoben bzw. unterbrochen wird.
  • Wie es in 8 dargestellt ist, enthalten die CGW-Neuschreibspezifikationsdaten Gruppeninformationen, eine Buslasttabelle, eine Batterielast, eine Fahrzeugbedingung während eines Neuschreibens und ECU-Informationen. Die CGW-Neuschreibspezifikationsdaten können zusätzlich zu den Informationen Neuschreibprozedurinformationen, Anzeigeszeneninformationen und Ähnliches enthalten. Die Gruppeninformationen sind Informationen, die eine Gruppe, zu der die Neuschreibziel-ECU 19 gehört, und eine Neuschreibreihenfolge angeben, und definieren beispielsweise, dass Applikationsprogramme in der Reihenfolge ECU (ID1), ECU (ID2) und ECU (ID3) als erste Gruppeninformationen neu geschrieben werden und dass Applikationsprogramme in der Reihenfolge ECU (ID4), ECU (ID5) und ECU (ID6) als zweite Gruppeninformationen neu geschrieben werden. Die Buslasttabelle ist die in 100 dargestellte Tabelle, die später beschrieben wird, und deren Details werden später beschrieben. Die Batterielast besteht aus Informationen, die eine unteren Grenzwert einer Restbatterieladung der Fahrzeugbatterie 40, die in dem Fahrzeug erlaubt ist, angeben. Die Fahrzeugbedingung während eines Neuschreibens besteht aus Informationen, die angeben, bei welcher Art von Fahrzeugbedingung ein Neuschreiben durchgeführt wird.
  • Die ECU-Informationen sind Informationen betreffend die Neuschreibziel-ECU 19 und enthalten mindestens eine ECU_ID bzw. ECU-ID (entspricht Vorrichtungsidentifizierungsinformationen), einen Verbindungsbus (entspricht Busidentifizierungsinformationen), eine verbundene Stromversorgung, Sicherheitszugangsschlüsselinformationen, einen Speichertyp, ein Neuschreibverfahren, eine Selbsterhaltungsenergiezeit, Neuschreibbankinformationen, eine Aktualisierungsprogrammversion, eine Aktualisierungsprogrammbeschaffungsadresse, eine Aktualisierungsprogrammgröße, eine Rollback-Programmversion, eine Rollback-Programmbeschaffungsadresse, eine Rollback-Programmgröße und einen Schreibdatentyp.
  • Der Verbindungsbus gibt einen Bus an, mit dem die ECU 19 verbunden ist. Die verbundene Stromversorgung gibt eine Stromleitung an, mit der die ECU verbunden ist. Die Sicherheitszugangsschlüsselinformationen geben Schlüsselinformationen an, die zur Authentifizierung verwendet werden, die durch das CGW 13 durchgeführt wird, um auf die Neuschreibziel-ECU 19 zuzugreifen, und enthalten einen Zufallszahlenwert bzw. eine Zufallszahl oder einzigartige Informationen, ein Schlüsselmuster und ein Entschlüsselungsbetriebsmuster. Der Speichertyp gibt an, ob ein Speicher, der in der Neuschreibziel-ECU 19 montiert ist, ein Einzelbankspeicher, ein Einzelbank-Suspendierungs-Speicher (auch als Pseudo-Doppelbankspeicher bezeichnet) oder ein Doppelbankspeicher ist. Das Neuschreibverfahren gibt an, ob das Neuschreiben auf der Grundlage von Selbsterhaltungsenergie oder einer Stromversorgungssteuerung durchgeführt wird. Die Selbsterhaltungsenergiezeit gibt eine Zeit zum Fortsetzen mit der Selbsterhaltungsenergie an, wenn das Neuschreibverfahren ein Neuschreiben basierend auf der Selbsterhaltungsenergie ist. Die Neuschreibbankinformationen geben an, welche Bank eine aktive Bank ist und welche Bank eine inaktive Bank ist. Die aktive Bank wird auch als eine Startbank bezeichnet, und die inaktive Bank wird auch als eine Neuschreibbank bezeichnet.
  • Die Aktualisierungsprogrammversion gibt eine Version eines Aktualisierungsprogramms an. Die Aktualisierungsprogrammbeschaffungsadresse gibt eine Adresse des Aktualisierungsprogramms an. Die Aktualisierungsprogrammgröße gibt eine Datengröße des Aktualisierungsprogramms an. Die Rollback-Programmversion gibt eine Version eines Rollback-Programms an. Die Rollback-Programmbeschaffungsadresse gibt eine Adresse des Rollback-Programms an. Die Rollback-Programmgröße gibt eine Datengröße des Rollback-Programms an. Der Schreibdatentyp gibt an, ob die Schreibdaten Differenzdaten oder die gesamten Daten sind. Zusätzlich zu diesen Informationsteilen können die Neuschreibspezifikationsdaten Informationen enthalten, die einzigartig durch das System definiert werden.
  • Wenn die DCM-Neuschreibspezifikationsdaten beschafft wurden, analysiert das DCM 12 die beschafften DCM-Neuschreibspezifikationsdaten. Wenn die DCM-Neuschreibspezifikationsdaten analysiert wurden, steuert das DCM 12 Betriebe betreffend ein Neuschreiben wie ein Beschaffen von Schreibdaten von einer Adresse, bei der ein Aktualisierungsprogramm der Neuschreibziel-ECU 19 gespeichert ist, und ein Übertragen der beschafften Schreibdaten an das CGW 13.
  • Wenn die CGW-Neuschreibspezifikationsdaten beschafft wurden, analysiert das CGW 13 die beschafften CGW-Neuschreibspezifikationsdaten. Wenn die CGW-Neuschreibspezifikationsdaten analysiert wurden, steuert das CGW 13 Betriebe betreffend ein Neuschreiben wie ein Auffordern des DCM 12, eine vorbestimmte Größe eines Aktualisierungsprogramms der Neuschreibziel-ECU 19 entsprechend dem Analyseergebnis zu übertragen oder die Schreibdaten an die Neuschreibziel-ECU 19 in einer bezeichneten Reihenfolge zu verteilen.
  • In dem Datei-Server 8 werden die oben beschriebenen Neuprogrammierungsdaten registriert, und die Verteilungsspezifikationsdaten, die von dem OEM bereitgestellt werden, werden dort registriert. Die Verteilungsspezifikationsdaten, die von dem OEM bereitgestellt werden, sind Daten, die einen Betrieb betreffend ein Anzeigen von verschiedenen Bildschirmen auf dem Anzeigeendgerät 5 definieren. Wie es in 9 dargestellt ist, enthalten die Verteilungsspezifikationsdaten Spracheninformationen, einen Anzeigetext, Paketinformationen, Bilddaten, ein Anzeigemuster, ein Anzeigesteuerungsprogramm und Ähnliches.
  • Wenn die Verteilungsspezifikationsdaten von dem CGW 13 beschafft wurden, analysiert das Anzeigeendgerät 5 die beschafften Verteilungsspezifikationsdaten und steuert ein Anzeigen verschiedener Bildschirme entsprechend dem Analyseergebnis. Das Anzeigeendgerät 5 überlagert beispielsweise einen Anzeigetext, der aus den Verteilungsspezifikationsdaten beschafft wird, auf einen Anzeigerahmen, der im Voraus gespeichert wurde, und führt ein Anzeigesteuerungsprogramm aus, das aus den Verteilungsspezifikationsdaten beschafft wird. Zusätzlich zu diesen Informationsteilen können die Verteilungsspezifikationsdaten Informationen enthalten, die einzigartig durch das System definiert werden.
  • Wenn die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten registriert wurden, verschlüsselt der Datei-Server 8 die registrierten Neuprogrammierungsdaten und erzeugt ein Verteilungspaket, das einen Paketauthentifizierer zum Authentifizieren des Pakets, die verschlüsselten Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten speichert. Der Authentifizierer besteht aus Daten, die hinzugefügt sind, um die Integrität der Neuprogrammierungsdaten und der Verteilungsspezifikationsdaten zu verifizieren, und wird beispielsweise aus Schlüsselinformationen, den Neuprogrammierungsdaten und den Verteilungsspezifikationsdaten, die mit dem CGW 13 verbunden bzw. verlinkt sind, erzeugt. Wenn eine Download-Anfrage bzw. Herunterladeanfrage für das Verteilungspaket von der Außenseite empfangen wird, überträgt der Datei-Server 8 das Verteilungspaket an das DCM 12. In 6 ist ein Fall als Beispiel gezeigt, bei dem der Datei-Server 8 das Verteilungspaket erzeugt, das die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten speichert, und die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten zusammen als einzelne Datei an das DCM 12 überträgt, aber die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten können auch als separate Dateien an das DCM 12 übertragen werden. Das heißt, der Datei-Server 8 kann die Verteilungsspezifikationsdaten zuerst an das DCM 12 übertragen und kann später die Neuprogrammierungsdaten an das DCM 12 übertragen. In diesem Fall kann ein Authentifizierer jeweils zu den Verteilungsspezifikationsdaten und den Neuprogrammierungsdaten hinzugefügt werden.
  • Wie es in 10 dargestellt ist, verifiziert das DCM 12 die Integrität der verschlüsselten Neuprogrammierungsdaten unter Verwendung des Paketauthentifizierers, der in dem heruntergeladenen Verteilungspaket gespeichert ist, wenn das Verteilungspaket von dem Datei-Server 8 heruntergeladen wird. Das DCM 12 entschlüsselt die verschlüsselten Neuprogrammierungsdaten, wenn das Verifizierungsergebnis positiv ist. Wenn die verschlüsselten Neuprogrammierungsdaten entschlüsselt sind, entpackt das DCM 12 (im Folgenden auch als Entpacken bezeichnet) die entschlüsselten Neuprogrammierungsdaten und extrahiert die verschlüsselten Differenzdaten, den Authentifizierer, die DCM-Neuschreibspezifikationsdaten und die CGW-Neuschreibspezifikationsdaten abteilungsweise. 10 stellt einen Fall dar, in dem die verschlüsselten Differenzdaten und der Authentifizierer der ECU (ID1), die verschlüsselten Differenzdaten und der Authentifizierer der ECU (ID2), die verschlüsselten Differenzdaten und der Authentifizierer der ECU (ID3), die DCM-Neuschreibspezifikationsdaten und die CGW-Neuschreibspezifikationsdaten abteilungsweise extrahiert sind.
  • Im Folgenden wird der Flash-Speicher 33d der ECU 19 mit Bezug auf die 11 bis 22 beschrieben. Der Flash-Speicher 33d der ECU 19 ist in einen Einzelbankspeicher, der eine einzelne Flash-Bank aufweist, einen Einzelbank-Suspendierungs-Speicher, der Pseudo-Doppel-Flash-Bänke aufweist, und einen Doppelbankspeicher, der substantiell zwei Flash-Bänke aufweist, je nach Speicherkonfigurationen klassifiziert. Im Folgenden wird die ECU 19, die mit dem Einzelbankspeicher ausgerüstet ist, auch als Einzelbankspeicher-ECU bezeichnet, die ECU 19, die mit dem Einzelbank-Suspendierungs-Speicher ausgerüstet ist, wird auch als Einzelbank-Suspendierungs-Speicher-ECU bezeichnet, und die ECU 19, die mit dem Doppelbankspeicher ausgerüstet ist, wird auch als Doppelbankspeicher-ECU bezeichnet.
  • Da der Einzelbankspeicher eine einzelne Flash-Bank aufweist, gibt es kein Konzept einer aktiven Bank und einer inaktiven Bank, und es kann kein Applikationsprogramm neu geschrieben werden, während das Applikationsprogramm ausgeführt wird. Da andererseits der Einzelbank-Suspendierungs-Speicher oder der Doppelbankspeicher zwei Flash-Bänke aufweist, gibt es ein Konzept einer aktiven Bank und einer inaktiven Bank, und es kann ein Applikationsprogramm in der inaktiven Bank neu geschrieben werden, während das Applikationsprogramm in der aktiven Bank ausgeführt wird. Da der Doppelbankspeicher zwei Flash-Bänke aufweist, die vollständig voneinander separiert sind, kann ein Applikationsprogramm zu jedem Zeitpunkt, beispielsweise wenn das Fahrzeug fährt, neu geschrieben werden. Da der Einzelbank-Suspendierungs-Speicher eine Konfiguration aufweist, gemäß der ein Einzelbankspeicher in zwei Pseudo-Bänke aufgeteilt ist, gibt es Beschränkungen hinsichtlich des Zeitpunktes, zu dem ein Schreiben und Lesen normal durchgeführt werden können, und es kann kein Applikationsprogramm neu geschrieben werden, während das Fahrzeug fährt, sondern das Applikationsprogramm kann neu geschrieben werden, während die IG-Leistung ausgeschaltet ist und das Fahrzeug parkt.
  • Der Einzelbankspeicher, der Einzelbank-Suspendierungs-Speicher und der Doppelbankspeicher enthalten jeweils eine Neuprogrammierungs-Firmware vom eingebetteten Typ (im Folgenden als Einbettungstyp bzw. mit „Einbettung“ bezeichnet), in die Neuprogrammierungs-Firmware eingebettet ist, und einen Neuprogrammierungs-Firmware vom Download-Typ (im Folgenden als Download-Typ bzw. mit „Download“ bezeichnet), bei dem die Neuprogrammierungs-Firmware von der Außenseite heruntergeladen wird. Die Neuprogrammierungs-Firmware ist eine Firmware zum Neuschreiben eines Applikationsprogramms.
  • Im Folgenden werden nacheinander Konfigurationen der jeweiligen Flash-Speicher beschrieben.
  • Einzelbankspeicher
  • Einbettungs-Einzelbankspeicher
  • Der Einbettungs-Einzelbankspeicherwird mit Bezug auf die 11 und 12 beschrieben. Der Einbettungs-Einzelbankspeicher weist einen Differenzmaschinenarbeitsbereich, einen Applikationsprogrammbereich und einen Boot-Programmbereich auf. Versionsinformationen, Parameterdaten, ein Applikationsprogramm, Firmware und eine Normalzeitvektortabelle sind in dem Applikationsprogrammbereich angeordnet. Ein Boot-Programm, ein Fortschrittszustandspunkt 2, ein Fortschrittszustandspunkt 1, Startbestimmungsinformationen, eine Drahtlos-Neuprogrammierungs-Firmware, eine Drahtgebunden-Neuprogrammierungs-Firmware, ein Startbestimmungsprogramm und eine Boot-Zeitvektortabelle sind in dem Boot-Bereich angeordnet.
  • Wie es in 11 dargestellt ist, führt der Mikrocomputer 33 das Startbestimmungsprogramm während eines normalen Betriebs einer Ausführung von Applikationsprozessen wie eines Fahrzeugsteuerungsprozesses und eines Diagnoseprozesses aus, nimmt Bezug auf die Boot-Zeitvektortabelle und die Normalzeitvektortabelle, um nach einer führenden Adresse zu suchen, und führt eine vorbestimmte Adresse eines Applikationsprogramms aus.
  • Der Mikrocomputer 33 führt die Drahtlos- oder Drahtgebunden-Neuprogrammierungs-Firmware anstelle des Applikationsprogramms in einem Neuschreibbetrieb einer Ausführung eines Neuschreibprozesses hinsichtlich des Applikationsprogramms aus. 12 stellt einen Betrieb eines Neuschreibens eines Applikationsprogramms unter Verwendung von Differenzdaten als einem Aktualisierungsprogramm dar. Wie es in 12 dargestellt ist, sichert der Mikrocomputer 33 zeitweilig das Applikationsprogramm als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert sind, aus und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine wieder her, die in der Einbettungs-Neuprogrammierungs-Firmware enthalten ist. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt sind, schreibt der Mikrocomputer 33 die neuen Daten an eine vorbestimmte Adresse des Speichers, um das Applikationsprogramm neu zu schreiben.
  • Download-Einzelbankspeicher
  • Der Download-Einzelbankspeicher wird mit Bezug auf die 13 und 14 beschrieben. Der Download-Typ unterscheidet sich von dem Einbettungstyp, der oben beschrieben ist, darin, dass die Drahtlos-Neuprogrammierungs-Firmware oder die Drahtgebunden-Neuprogrammierungs-Firmware von der Außenseite heruntergeladen wird, das Applikationsprogramm neu geschrieben wird und dann die Drahtlos-Neuprogrammierungs-Firmware oder die Drahtgebunden-Neuprogrammierungs-Firmware gelöscht wird. Wenn das Applikationsprogramm drahtlos aktualisiert wird, ist beispielsweise die Drahtlos-Neuprogrammierungs-Firmware, die in der jeweiligen ECU 19 auszuführen ist, in den Neuprogrammierungsdaten enthalten, die in 6 dargestellt sind. Die ECU 19 empfängt die Drahtlos-Neuprogrammierungs-Firmware zur Verwendung nur durch die ECU von dem CGW 13 und speichert die empfangene Drahtlos-Neuprogrammierungs-Firmware zur Verwendung nur durch die ECU in dem RAM.
  • Wie es in 13 dargestellt ist, führt der Mikrocomputer 33 das Startbestimmungsprogramm während eines normalen Betriebs einer Ausführung von Applikationsprozessen wie eines Fahrzeugsteuerungsprozesses und eines Diagnoseprozesses auf dieselbe Weise wie bei dem Einbettungstyp aus, nimmt Bezug auf die Boot-Zeitvektortabelle und die Normalzeitvektortabelle, um nach einer führenden Adresse zu suchen, und führt eine vorbestimmte Adresse eines Applikationsprogramms aus.
  • Wie es in 14 dargestellt ist, sichert der Mikrocomputer 33 zeitweilig das Applikationsprogramm als alte Daten in dem Differenzmaschinenarbeitsbereich während eines Neuschreibbetriebs eines Ausführens eines Neuschreibprozesses hinsichtlich des Applikationsprogramms. Der Mikrocomputer 33 liest die alten Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert sind, aus und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine wieder her, die in der Neuprogrammierungs-Firmware enthalten ist, die von der Außenseite heruntergeladen wird. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt sind, schreibt der Mikrocomputer 33 die neuen Daten, um das Applikationsprogramm neu zu schreiben.
  • Einzelbank-Suspendierungs-Speicher
  • Einbettungs-Einzelbank-Suspendierungs-Speicher
  • Der Einbettungs-Einzelbank-Suspendierungs-Speicher wird mit Bezug auf die 15 und 16 beschrieben. Der Einbettungs-Einzelbank-Suspendierungs-Speicher weist einen Differenzmaschinenarbeitsbereich, einen Applikationsprogrammbereich und einen Boot-Programmbereich auf. Neuprogrammierungs-Firmware zum Aktualisieren eines Programms ist in dem Boot-Programmbereich auf dieselbe Weise wie in dem Einzelbankspeicher angeordnet und wird keiner Programmaktualisierung unterzogen. Der Applikationsprogrammbereich, der ein Programmaktualisierungsziel ist, weist eine Pseudo-Bank A und eine Pseudo-Bank B auf und Versionsinformationen, ein Applikationsprogramm und eine Normalzeitvektortabelle sind jeweils in der Bank A und der Bank B angeordnet. Ein Boot-Programm, Neuprogrammierungs-Firmware, eine Neuprogrammierungszeitvektortabelle, eine Aktive-Bank-Bestimmungsfunktion, Aktive-Bank-Bestimmungsinformationen und eine Boot-Zeitvektortabelle sind in dem Boot-Bereich angeordnet.
  • Wie es in 15 dargestellt ist, führt der Mikrocomputer 33 das Boot-Programm während eines normalen Betriebs eines Ausführens von Applikationsprozessen wie eines Fahrzeugsteuerungsprozesses und eines Diagnoseprozesses auf der Grundlage der Aktive-Bank-Bestimmungsinformationen der Bank A und der Bank B entsprechend der Aktive-Bank-Bestimmungsfunktion aus, um zu bestimmen, welche aus der Bank A und der Bank B eine aktive Bank ist. Wenn bestimmt wird, dass die Bank A eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Normalzeitvektortabelle der Bank A, um nach einer führenden Adresse zu suchen, und führt das Applikationsprogramm der Bank A aus. Wenn bestimmt wird, dass die Bank B eine aktive Bank ist, nimmt der Mikrocomputer 33 auf ähnliche Weise auf die Normalzeitvektortabelle der Bank B Bezug, um nach einer führenden Adresse zu suchen, und führt das Applikationsprogramm der Bank B aus. Auch wenn in 15 die Neuprogrammierungs-Firmware in dem Boot-Programmbereich angeordnet ist, kann die Neuprogrammierungs-Firmware auch einer Programmaktualisierung unterzogen werden und in einem jeweiligen Bereich der Bank A oder der Bank B angeordnet sein.
  • Wie es in 16 dargestellt ist, sichert der Mikrocomputer das Applikationsprogramm einer inaktiven Bank während eines Neuschreibbetriebs eines Ausführens eines Neuschreibprozesses hinsichtlich eines Applikationsprogramms der inaktiven Bank zeitweilig als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert sind, aus und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine in der Einbettungs-Neuprogrammierungs-Firmware wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt sind, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank, um das Applikationsprogramm der inaktiven Bank neu zu schreiben. 16 stellt beispielhaft einen Fall dar, in dem die Bank A eine aktive Bank ist und die Bank B eine inaktive Bank ist.
  • Download-Einzelbank-Suspendierungs-Speicher
  • Der Download-Einzelbank-Suspendierungs-Speicher wird mit Bezug auf die 17 und 18 beschrieben. Der Download-Typ unterscheidet sich von dem Einbettungstyp, der oben beschrieben wurde, darin, dass Neuprogrammierungs-Firmware und eine Neuprogrammierungszeitvektortabelle von der Außenseite heruntergeladen werden, ein Applikationsprogramm neu geschrieben wird und dann die Neuprogrammierungs-Firmware und die Neuprogrammierungszeitvektortabelle gelöscht werden.
  • Wie es in 17 dargestellt ist, führt der Mikrocomputer 33 das Boot-Programm während eines normalen Betriebs einer Ausführung von Applikationsprozessen wie eines Fahrzeugsteuerungsprozesses und eines Diagnoseprozesses auf dieselbe Weise wie in dem Einbettungstyp auf der Grundlage der Aktive-Bank-Bestimmungsinformationen jeweils der Bank A und der Bank B entsprechend der Aktive-Bank-Bestimmungsfunktion aus, um zu bestimmen, ob das Applikationsprogramm neu oder alt ist, und bestimmt, welche aus der Bank A und der Bank B eine aktive Bank ist. Wenn bestimmt wird, dass die Bank A eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Normalzeitvektortabelle der Bank A, um nach einer führenden Adresse zu suchen, und führt das Applikationsprogramm der Bank A aus. Wenn bestimmt wird, dass die Bank B eine aktive Bank ist, nimmt der Mikrocomputer 33 auf ähnliche Weise Bezug auf die Normalzeitvektortabelle der Bank B, um nach einer führenden Adresse zu suchen, und führt das Applikationsprogramm der Bank B aus.
  • Wie es in 18 dargestellt ist, sichert der Mikrocomputer 33 das Applikationsprogramm der inaktiven Bank während eines Neuschreibbetriebs eines Ausführens eines Neuschreibprozesses hinsichtlich eines Applikationsprogramms zeitweilig als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert sind, aus und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine wieder her, die in der Neuprogrammierungs-Firmware enthalten ist, die von der Außenseite heruntergeladen wird. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt sind, schreibt der Mikrocomputer 33 die neuen Daten, um das Applikationsprogramm neu zu schreiben. 18 stellt beispielhaft einen Fall dar, in dem die Bank A eine aktive Bank ist und die Bank B eine inaktive Bank ist. Wie es oben beschrieben wurde, kann in dem Einzelbank-Suspendierungs-Speicher ein Neuschreiben des Applikationsprogramms der Bank B im Hintergrund ausgeführt werden, während das Applikationsprogramm der Bank A ausgeführt wird.
  • Doppelbankspeicher
  • Einbettungs-Doppelbankspeicher
  • Der Einbettungs-Doppelbankspeicher wird mit Bezug auf die 19 und 20 beschrieben. Der Einbettungs-Einzelbankspeicher enthält einen Applikationsprogrammbereich und einen Neuschreibprogrammbereich der Bank A, einen Applikationsprogrammbereich und einen Neuschreibprogrammbereich der Bank B und einen Boot-Programmbereich. Ein Boot-Programm ist in dem Boot-Bereich als nicht überschreibbar angeordnet. Das Boot-Programm enthält eine Boot-Swap-Funktion bzw. Boot-Wechsel-Funktion und eine Boot-Zeitvektortabelle. Versionsinformationen, Parameterdaten, ein Applikationsprogramm, Firmware und eine Normalzeitvektortabelle sind in einem jeweiligen Applikationsprogrammbereich angeordnet. Ein Programm zum Steuern eines Neuschreibens, Neuprogrammierungsfortschrittsverwaltungsinformationen 2, Neuprogrammierungsfortschrittsverwaltungsinformationen 1, Aktive-Bank-Bestimmungsinformationen, eine Drahtlos-Neuprogrammierungs-Firmware, eine Drahtgebunden-Neuprogrammierungs-Firmware und eine Boot-Zeitvektortabelle sind in einem jeweiligen Neuschreibprogrammbereich angeordnet. Ein Boot-Programm, eine Boot-Swap-Funktion und eine Boot-Zeitvektortabelle sind in dem Boot-Bereich angeordnet.
  • Wie es in 19 dargestellt ist, führt der Mikrocomputer 33 das Boot-Programm während eines normalen Betriebs eines Ausführens von Applikationsprozessen wie eines Fahrzeugsteuerungsprozesses und eines Diagnoseprozesses und während eines Neuschreibbetriebs eines Ausführens eines Neuschreibprozesses hinsichtlich ei- nes Applikationsprogramms einer inaktiven Bank aus, um zu bestimmen, ob das Applikationsprogramm neu oder alt ist, und bestimmt entsprechend der Boot-Swap-Funktion auf der Grundlage jeweils der Aktive-Bank-Bestimmungsinformationen der Bank A und der Bank B, welche aus der Bank A und der Bank B eine aktive Bank ist. Wenn bestimmt wird, dass die Bank A eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Boot-Zeitvektortabelle der Bank A und die Normalzeitvektortabelle der Bank A, um nach einer führenden Adresse zu suchen, und führt das Applikationsprogramm der Bank A aus. Wenn bestimmt wird, dass die Bank B eine aktive Bank ist, nimmt der Mikrocomputer 33 auf ähnliche Weise Bezug auf die Boot-Zeitvektortabelle der Bank B und die Normalzeitvektortabelle der Bank B, um nach einer führenden Adresse zu suchen, und führt das Applikationsprogramm der Bank B aus.
  • Wie es in 20 dargestellt ist, sichert der Mikrocomputer 33 das Applikationsprogramm der inaktiven Bank während eines Neuschreibbetriebs eines Ausführens eines Neuschreibprozesses hinsichtlich eines Applikationsprogramms einer inaktiven Bank zeitweilig als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert sind, aus und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine in der Einbettungs-Neuprogrammierungs-Firmware wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt sind, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank, um das Applikationsprogramm der inaktiven Bank neu zu schreiben. Alte Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert werden, können ein Applikationsprogramm einer aktiven Bank oder ein Applikationsprogramm einer inaktiven Bank sein. Wenn in diesem Fall das Applikationsprogramm der aktiven Bank ein Ziel ist, werden Daten der inaktiven Bank vor dem Schreiben der neuen Daten gelöscht. In einem Fall, in dem Neuprogrammierungsdaten, die von der Außenseite des Fahrzeugs beschafft werden, keine Differenzdaten, sondern die gesamten Daten (volle bzw. vollständige Daten) sind, werden die beschafften Neuprogrammierungsdaten als neue Daten in die inaktive Bank geschrieben. 20 stellt beispielhaft einen Fall dar, in dem die Bank A eine aktive Bank ist und die Bank B eine inaktive Bank ist. Alte Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert werden, können ein Applikationsprogramm einer aktiven Bank oder ein Applikationsprogramm einer inaktiven Bank sein. In einem Fall, in dem es notwendig ist, Ausführungsadressen der Applikationsprogramme abzugleichen, wird das Applikationsprogramm der inaktiven Bank als alte Daten gesichert.
  • Download-Doppelbankspeicher
  • Der Download-Doppelbankspeicher wird mit Bezug auf die 21 und 22 beschrieben. Der Download-Typ unterscheidet sich von dem Einbettungstyp, der oben beschrieben ist, darin, dass die Drahtlos-Neuprogrammierungs-Firmware oder die Drahtgebunden-Neuprogrammierungs-Firmware von der Außenseite heruntergeladen wird, das Applikationsprogramm neu geschrieben wird und dann die Drahtlos-Neuprogrammierungs-Firmware oder die Drahtgebunden-Neuprogrammierungs-Firmware gelöscht wird.
  • Wie es in 21 dargestellt ist, führt der Mikrocomputer 33 das Boot-Programm während eines normalen Betriebs einer Ausführung von Applikationsprozessen wie eines Fahrzeugsteuerungsprozesses und eines Diagnoseprozesses und während eines Neuschreibbetriebs eines Ausführens eines Neuschreibprozesses hinsichtlich eines Applikationsprogramms einer inaktiven Bank auf dieselbe Weise wie bei dem Einbettungstyp entsprechend der Boot-Swap-Funktion auf der Grundlage der jeweiligen Aktive-Bank-Bestimmungsinformationen der Bank A und der Bank B aus, um zu bestimmen, ob das Applikationsprogramm neu oder alt ist, und um zu bestimmen, welche aus der Bank A und der Bank B eine aktive Bank ist, und führt ein Applikationsprogramm der aktiven Bank aus, um einen Applikationsprozess auszuführen.
  • Wie es in 22 dargestellt ist, sichert der Mikrocomputer 33 das Applikationsprogramm der inaktiven Bank während eines Neuschreibbetriebs eines Ausführens eines Neuschreibprozesses hinsichtlich des Applikationsprogramms zeitweilig als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert sind, aus und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung der Neuprogrammierungs-Firmware, die von der Außenseite heruntergeladen wird, wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt sind, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank, um das Applikationsprogramm der inaktiven Bank neu zu schreiben. Alte Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert werden, können ein Applikationsprogramm einer aktiven Bank oder ein Applikationsprogramm einer inaktiven Bank sein. In einem Fall, in dem das Applikationsprogramm der aktiven Bank ein Ziel ist, werden Daten der inaktiven Bank vor dem Schreiben der neuen Daten gelöscht. In einem Fall, in dem Neuprogrammierungsdaten, die von der Außenseite des Fahrzeugs beschafft werden, keine Differenzdaten, sondern gesamte Daten (vollständige Daten) sind, werden die beschafften Neuprogrammierungsdaten als neue Daten in die inaktive Bank geschrieben. 22 stellt beispielhaft einen Fall dar, in dem die Bank A eine aktive Bank ist und die Bank B eine inaktive Bank ist. Alte Daten, die zeitweilig in dem Differenzmaschinenarbeitsbereich gesichert werden, können ein Applikationsprogramm einer aktiven Bank oder ein Applikationsprogramm einer inaktiven Bank sein. Wie es oben beschrieben wurde, kann in dem Doppelbankspeicher ein Neuschreiben des Applikationsprogramms der Bank B im Hintergrund ausgeführt werden, während das Applikationsprogramm der Bank A ausgeführt wird.
  • Wie es oben beschrieben wurde, sind das Applikationsprogramm und die Neuschreibprogramme zum Neuschreiben des Applikationsprogramms in den Konfigurationen des Einbettungstyps und des Download-Typs in einem jeweiligen Applikationsbereich angeordnet. In 20 und 22 wurde das Applikationsprogramm als ein Neuprogrammierungsziel beschrieben, aber das Neuschreibprogramm kann auch ein Neuprogrammierungsziel sein. In einem Fall, in dem es wünschenswert ist, dass das Neuschreibprogramm nicht neu geschrieben werden kann, kann das Neuschreibprogramm in dem Boot-Bereich angeordnet sein. Ein Programm zum drahtgebundenen Neuschreiben kann beispielsweise in dem Boot-Bereich derart angeordnet sein, dass das drahtgebundene Neuschreiben, das das Tool 23 verwendet, zuverlässig bei einem Händler oder Ähnlichem durchgeführt werden kann.
  • Im Folgenden wird die gesamte Sequenz eines Neuschreibens eines Applikationsprogramms mit Bezug auf die 23 bis 25 beschrieben. Hier wird ein Fall beschrieben, bei dem ein Nutzer das mobile Endgerät 6 als das Anzeigeendgerät 5 betreibt, um ein Applikationsprogramm während eines Parkens neu zu schreiben, aber dasselbe gilt für einen Fall, in dem das Applikationsprogramm während eines Parkens durch Betreiben bzw. Betätigen der fahrzeugeigenen Anzeige 7 neu geschrieben wird. Das Verteilungspaket, das von der Zentrumsvorrichtung 3 an das DCM 12 übertragen wird, speichert Schreibdaten von einer oder mehreren Neuschreibziel-ECUs 19. Das heißt, wenn es eine einzige Neuschreibziel-ECU 19 gibt, wird ein Schreibdatenteil für die einzige Neuschreibziel-ECU 19 in dem Verteilungspaket gespeichert, und wenn es mehrere Neuschreibziel-ECUs 19 gibt, werden mehrere Schreibdatenteile für die jeweiligen Neuschreibziel-ECUs 19 in dem Verteilungspaket gespeichert. Hier gibt es zwei Neuschreibziel-ECUs 19, und die beiden Neuschreibziel-ECUs 19 werden als Neuschreibziel-ECU (ID1) und als Neuschreibziel-ECU (ID2) bezeichnet. Die ECUs 19, die nicht die Neuschreibziel-ECU (ID1) und die Neuschreibziel-ECU (ID2) sind, werden als andere ECUs bezeichnet.
  • Die Neuschreibziel-ECU (ID1) und die Neuschreibziel-ECU (ID2) bestimmen, dass eine Übertragungsbedingung für ein Versionsmitteilungssignal erfüllt ist, wenn beispielsweise bestimmt wird, dass eine Übertragungsanfrage für das Versionsmitteilungssignal von der Master-Vorrichtung 11 empfangen wurde. Wenn die Übertragungsbedingung für das Versionsmitteilungssignal erfüllt ist, überträgt die Neuschreibziel-ECU (ID1) das Versionsmitteilungssignal, das Versionsinformationen eines Applikationsprogramms enthält, das diese speichert, und eine ECU-(ID), die die ECU identifizieren kann, an die Master-Vorrichtung 11. Wenn das Versionsmitteilungssignal von der Neuschreibziel-ECU (ID1) empfangen wird, überträgt die Master-Vorrichtung 11 das empfangene Versionsmitteilungssignal an die Zentrumsvorrichtung 3. Wenn die Übertragungsbedingung für das Versionsmitteilungssignal erfüllt ist, überträgt die Neuschreibziel-ECU (ID2) auf ähnliche Weise das Versionsmitteilungssignal, das eine Version eines Applikationsprogramms enthält, das diese speichert, und eine ECU-(ID), die die ECU identifizieren kann, an die Master-Vorrichtung 11. Wenn das Versionsmitteilungssignal von der Neuschreibziel-ECU (ID2) empfangen wird, überträgt die Master-Vorrichtung 11 das empfangene Versionsmitteilungssignal an die Zentrumsvorrichtung 3.
  • Wenn die Versionsmitteilungssignale von der Neuschreibziel-ECU (ID1) und der Neuschreibziel-ECU (ID2) empfangen werden, bestimmt die Zentrumsvorrichtung 3 die Versionen der Applikationsprogramme, die in den empfangenen Versionsmitteilungssignalen enthalten sind, und die ECUs (ID), und bestimmt eine Verfügbarkeit von Schreibdaten, die an die Neuschreibziel-ECU 19 zu verteilen sind, die eine Übertragungsquelle des Versionsmitteilungssignals ist. Die Zentrumsvorrichtung 3 bestimmt die Version des derzeitigen Applikationsprogramms der Neuschreibziel-ECU 19 aus dem Versionsmitteilungssignal, das von dem Neuschreibziel empfangen wird, und gleicht die Version des derzeitigen Applikationsprogramms mit der verwalteten letzten Version ab bzw. vergleicht diese.
  • Wenn die Version, die von dem Versionsmitteilungssignal bezeichnet wird, denselben Wert wie die verwaltete letzte Version aufweist, bestimmt die Zentrumsvorrichtung 3, dass Neuschreibdaten, die an die Neuschreibziel-ECU 19 zu verteilen sind, die eine Übertragungsquelle des Versionsmitteilungssignals ist, nicht verfügbar sind, und das Applikationsprogramm, das in der Neuschreibziel-ECU 19 gespeichert ist, muss nicht aktualisiert werden. Wenn andererseits die Version, die von dem Versionsmitteilungssignal bezeichnet wird, einen kleineren Wert als die verwaltete neueste Version aufweist, bestimmt die Zentrumsvorrichtung 3, dass Neuschreibdaten, die an die Neuschreibziel-ECU 19 zu verteilen sind, die eine Übertragungsquelle des Versionsmitteilungssignals ist, verfügbar sind, und das Applikationsprogramm, das in der Neuschreibziel-ECU 19 gespeichert ist, muss aktualisiert werden.
  • Wenn bestimmt wird, dass das Applikationsprogramm, das in der Neuschreibziel-ECU 19 gespeichert ist, aktualisiert werden muss, teilt die Zentrumsvorrichtung 3 dem mobilen Endgerät 6 Informationen mit, die angeben, dass eine Aktualisierung notwendig ist. Wenn dem mobilen Endgerät 6 Informationen mitgeteilt werden, die angeben, dass eine Aktualisierung notwendig ist, zeigt das mobile Endgerät einen Verteilungsmachbarkeitsbildschirm (A1) an. Der Verteilungsmachbarkeitsbildschirm ist derselbe wie ein Kampagnen-Mitteilungsbildschirm, der später beschrieben wird. Der Nutzer kann die Notwendigkeit einer Aktualisierung anhand des Verteilungsmachbarkeitsbildschirmes prüfen, der auf dem mobilen Endgerät 6 angezeigt wird, und kann somit auswählen, ob die Aktualisierung durchzuführen ist.
  • Wenn der Nutzer auf dem mobilen Endgerät 6 auswählt, dass die Aktualisierung durchzuführen ist (A2), teilt das mobile Endgerät 6 der Zentrumsvorrichtung 3 eine Download-Anfrage für ein Verteilungspaket mit. Wenn die Zentrumsvorrichtung 3 hinsichtlich der Download-Anfrage für das Verteilungspaket von dem mobilen Endgerät 6 benachrichtigt wird, überträgt die Zentrumsvorrichtung das Verteilungspaket an die Master-Vorrichtung 11.
  • Wenn die Master-Vorrichtung 11 das Verteilungspaket von der Zentrumsvorrichtung 3 heruntergeladen hat, initiiert die Master-Vorrichtung einen Paketauthentifizierungsprozess hinsichtlich des heruntergeladenen Verteilungspakets (B1). Wenn die Master-Vorrichtung 11 das Verteilungspaket authentifiziert und den Paketauthentifizierungsprozess beendet hat, initiiert die Master-Vorrichtung einen Schreibdatenextrahierungsprozess (B2). Wenn die Master-Vorrichtung 11 die Schreibdaten aus dem Verteilungspaket extrahiert hat und den Schreibdatenextrahierungsprozess beendet hat, überträgt die Master-Vorrichtung ein Download-Beendigungsmitteilungssignal an die Zentrumsvorrichtung 3.
  • Wenn die Zentrumsvorrichtung 3 das Download-Beendigungsmitteilungssignal von der Master-Vorrichtung 11 empfängt, teilt die Zentrumsvorrichtung 3 dem mobilen Endgerät 6 die Beendigung des Downloads mit. Wenn dem mobilen Endgerät 6 die Beendigung des Downloads von der Zentrumsvorrichtung 3 mitgeteilt wird, zeigt das mobile Endgerät 6 einen Download-Beendigungsmitteilungsbildschirm an (A3). Der Nutzer kann anhand des Download-Beendigungsmitteilungsbildschirms, der auf dem mobilen Endgerät 6 angezeigt wird, merken, dass der Download beendet wurde, und kann somit eine Neuschreibinitiierungszeit für ein Applikationsprogramm für das Fahrzeug einstellen.
  • Wenn der Nutzer die Neuschreibinitiierungszeit des Applikationsprogramms für das Fahrzeug auf dem mobilen Endgerät 6 eingestellt hat (A4), teilt das mobile Endgerät 6 der Zentrumsvorrichtung 3 die Neuschreibinitiierungszeit mit. Wenn die Zentrumsvorrichtung 3 die Mitteilung hinsichtlich der Neuschreibinitiierungszeit von dem mobilen Endgerät 6 erhält, speichert die Zentrumsvorrichtung 3 die Neuschreibinitiierungszeit, die von dem Nutzer eingestellt wurde, als eine eingestellte Initiierungszeit. Wenn die derzeitige Zeit die eingestellte Initiierungszeit erreicht (A5), überträgt die Zentrumsvorrichtung 3 ein Neuschreibbefehlssignal an die Master-Vorrichtung 11.
  • Wenn das Neuschreibbefehlssignal von der Zentrumsvorrichtung 3 empfangen wird, überträgt die Master-Vorrichtung 11 eine Stromversorgungsstartanfrage an die Stromversorgungsverwaltungs-ECU 20 und bewirkt somit, dass die Neuschreibziel-ECU (ID1), die Neuschreibziel-ECU (ID2) und die anderen ECUs von einem Stoppzustand oder einem Schlafzustand in einen aktiven Zustand übergehen (X1).
  • Die Master-Vorrichtung 11 initiiert eine Verteilung der Schreibdaten an die Neuschreibziel-ECU (ID1) und befiehlt der Neuschreibziel-ECU (ID1), die Schreibdaten zu schreiben. Die Neuschreibziel-ECU (ID1) initiiert ein Empfangen der Schreibdaten von der Master-Vorrichtung 11 und initiiert ein Schreiben der Schreibdaten und einen Programmneuschreibprozess, wenn ein Schreiben der Schreibdaten befohlen wird (C1). Wenn die Neuschreibziel-ECU (ID1) den Empfang der Schreibdaten von der Master-Vorrichtung 11, das Schreiben der Schreibdaten und den Programmneuschreibprozess beendet hat, überträgt die Neuschreibziel-ECU (ID1) ein Neuschreibbeendigungsmitteilungssignal an die Master-Vorrichtung 11.
  • Wenn das Neuschreibbeendigungsmitteilungssignal von der Neuschreibziel-ECU (ID1) empfangen wird, initiiert die Master-Vorrichtung 11 eine Verteilung der Schreibdaten an die Neuschreibziel-ECU (ID2) und befiehlt der Neuschreibziel-ECU (ID2), die Schreibdaten zu schreiben. Die Neuschreibziel-ECU (ID2) initiiert ein Empfangen der Schreibdaten von der Master-Vorrichtung 11 und initiiert ein Schreiben der Schreibdaten und einen Programmneuschreibprozess, wenn ein Schreiben der Schreibdaten befohlen wird (D1). Wenn die Neuschreibziel-ECU (ID2) den Empfang der Schreibdaten von der Master-Vorrichtung 11, das Schreiben der Schreibdaten und den Programmneuschreibprozess beendet hat, überträgt die Neuschreibziel-ECU (ID2) ein Neuschreibbeendigungsmitteilungssignal an die Master-Vorrichtung 11. Wenn das Neuschreibbeendigungsmitteilungssignal von der Neuschreibziel-ECU (ID2) empfangen wird, überträgt die Master-Vorrichtung 11 das Neuschreibbeendigungsmitteilungssignal an die Zentrumsvorrichtung 3.
  • Wenn das Neuschreibbeendigungsmitteilungssignal von der Master-Vorrichtung 11 empfangen wird, teilt die Zentrumsvorrichtung 3 dem mobilen Endgerät 6 die Beendigung des Neuschreibens des Applikationsprogramms mit. Wenn dem mobilen Endgerät 6 die Beendigung des Neuschreibens des Applikationsprogramms von der Zentrumsvorrichtung 3 mitgeteilt wird, zeigt das mobile Endgerät 6 einen Neuschreibbeendigungsmitteilungsbildschirm an (A6). Der Nutzer kann anhand des Neuschreibbeendigungsmitteilungsbildschirms, der auf dem mobilen Endgerät 6 angezeigt wird, prüfen, dass ein Neuschreiben des Applikationsprogramms beendet wurde, und kann somit eine Ausführung einer Synchronisation als eine Aktivierung einstellen.
  • Wenn der Nutzer die Ausführung der Synchronisation auf dem mobilen Endgerät 6 einstellt (A7), das heißt, wenn der Nutzer eine Zustimmung zur Aktivierung eines neuen Programms einstellt, teilt das mobile Endgerät 6 der Zentrumsvorrichtung 3 die Ausführung der Synchronisation mit. Wenn der Zentrumsvorrichtung 3 die Ausführung der Synchronisation von dem mobilen Endgerät 6 mitgeteilt wird, überträgt die Zentrumsvorrichtung ein Synchronisationswechselbefehlssignal an die Master-Vorrichtung 11. Wenn das Synchronisationswechselbefehlssignal von der Zentrumsvorrichtung 3 empfangen wird, verteilt die Master-Vorrichtung 11 das empfangene Synchronisationswechselbefehlssignal an die Neuschreibziel-ECU (ID1) und die Neuschreibziel-ECU (ID2).
  • Wenn das Synchronisationswechselbefehlssignal von der Master-Vorrichtung 11 empfangen wird, initiieren die Neuschreibziel-ECU (ID1) und die Neuschreibziel-ECU (ID2) jeweils einen Programmwechselprozess zum Wechseln eines Applikationsprogramms, das das nächste Mal zu starten ist, von dem alten Applikationsprogramm in das neue Applikationsprogramm (C2 und D2). Wenn der Programmwechselprozess beendet wurde, übertragen die Neuschreibziel-ECU (ID1) und die Neuschreibziel-ECU (ID2) jeweils ein Wechselbeendigungsmitteilungssignal an die Master-Vorrichtung 11.
  • Wenn das Wechselbeendigungsmitteilungssignal von der Neuschreibziel-ECU (ID1) und der Neuschreibziel-ECU (ID2) empfangen wird, verteilt die Master-Vorrichtung 11 ein Versionslesesignal an die Neuschreibziel-ECU (ID1) und die Neuschreibziel-ECU (ID2). Wenn das Versionslesesignal von der Master-Vorrichtung 11 empfangen wird, lesen die Neuschreibziel-ECU (ID1) und die Neuschreibziel-ECU (ID2) eine jeweilige Version eines Applikationsprogramms, das danach zu betreiben ist (C3 und D3) aus und übertragen ein Letzte-Version-Mitteilungssignal, das die gelesene Version enthält, an die Master-Vorrichtung 11. Die Master-Vorrichtung 11 überprüft eine Software-Version und führt nach Bedarf durch Empfangen des Versionsmitteilungssignals von der Neuschreibziel-ECU (ID1) und der Neuschreibziel-ECU (ID2) ein Rollback durch.
  • Wenn das Versionsmitteilungssignal von der Neuschreibziel-ECU (ID1) und der Neuschreibziel-ECU (ID2) empfangen wird, überträgt die Master-Vorrichtung 11 eine Stromversorgungsstoppanfrage an die Stromversorgungsverwaltungs-ECU 20 und bewirkt somit, dass die Neuschreibziel-ECU (ID1), die Neuschreibziel-ECU (ID2) und die anderen ECUs von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand übergehen (X2).
  • Die Master-Vorrichtung 11 überträgt das Letzte-Version-Mitteilungssignal an die Zentrumsvorrichtung 3. Wenn das Letzte-Version-Mitteilungssignal von der Master-Vorrichtung 11 empfangen wird, bestimmt die Zentrumsvorrichtung 3 die letzten Versionen der Applikationsprogramme der Neuschreibziel-ECU (ID1) und der Neuschreibziel-ECU (ID2) aus dem empfangenen Letzte-Version-Mitteilungssignal und teilt dem mobilen Endgerät 6 die bestimmten letzten Versionen mit. Wenn eine Mitteilung hinsichtlich der letzten Versionen von der Zentrumsvorrichtung 3 gesendet wird, zeigt das mobile Endgerät 6 einen Letzte-Version-Mitteilungsbildschirm, der die letzten Versionen, hinsichtlich denen die Mitteilung gesendet wurde, auf dem mobilen Endgerät 6 an (A8). Der Nutzer kann anhand des Letzte-Version-Mitteilungsbildschirms, der auf dem mobilen Endgerät 6 angezeigt wird, die letzten Versionen überprüfen und kann somit prüfen, dass die Aktivierung beendet wurde.
  • Im Folgenden werden mit Bezug auf die 26 bis 29 Zeitdiagramme für Betriebe des DCM 12, des CGW 13 und der Neuschreibziel-ECU 19 beschrieben, wenn ein Applikationsprogramm neu geschrieben wird. Hier wird ein Fall beschrieben, bei dem ein Applikationsprogramm der Doppelbankspeicher-ECU während einer Periode bzw. Zeitdauer neu geschrieben wird, während der der IG-Schalter 42 durch einen Nutzerbetrieb eingeschaltet wird bzw. ist, das heißt, während das Fahrzeug fahren kann, und Applikationsprogramme der Einzelbank-Suspendierungs-Speicher-ECU und der Einzelbankspeicher-ECU während eines Parkens neu geschrieben werden, nachdem der IG-Schalter 42 durch den Nutzerbetrieb ausgeschaltet wurde. Es werden ein Fall, bei dem das Applikationsprogramm unter Verwendung einer Stromversorgungssteuerung neu geschrieben wird, und ein Fall beschrieben, bei dem das Applikationsprogramm unter Verwendung einer Selbsterhaltungsenergie neu geschrieben wird.
  • Fall, in dem das Applikationsprogramm unter Verwendung der Stromversorgungssteuerung neu geschrieben wird
  • Der Fall, in dem das Applikationsprogramm unter Verwendung der Stromversorgungssteuerung neu geschrieben wird, wird mit Bezug auf die 26 und 27 beschrieben. Das Neuschreiben des Applikationsprogramms unter Verwendung der Stromversorgungssteuerung gibt eine Konfiguration an, bei der ein Neuschreibbetrieb entsprechend einem Wechsel bzw. Schalten einer Stromversorgung ohne Verwendung der Selbsterhaltungsenergieschaltung gesteuert wird. Wenn der Nutzer den IG-Schalter einschaltet und somit die Fahrzeugleistung von der +B-Leistung in die IG-Leistung schaltet, initiieren das DCM 12, das CGW 13, die Doppelbankspeicher-ECU, die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU jeweils einen normalen Betrieb (t1).
  • Wenn eine Mitteilung hinsichtlich einer Download-Initiierung von der Zentrumsvorrichtung 3 gesendet wird, geht das DCM 12 von dem normalen Betrieb in einen Download-Betrieb über und initiiert ein Herunterladen eines Verteilungspaketes von der Zentrumsvorrichtung 3 (t2). Das DCM 12 kann das Verteilungspaket im Hintergrund herunterladen, während der normale Betrieb durchgeführt wird. Wenn das Herunterladen des Verteilungspaketes von der Zentrumsvorrichtung 3 beendet wurde, kehrt das DCM 12 von dem Download-Betrieb zu dem normalen Betrieb zurück (t3).
  • Wenn eine Mitteilung eines Neuschreibbefehlssignals (Installationsbefehlssignal) von der Zentrumsvorrichtung 3 oder dem CGW 13 gesendet wird, geht das DCM 12 von dem normalen Betrieb in einen Datenübertragungs-/Zentrumskommunikationsbetrieb über und initiiert den Datenübertragungs-/Zentrumskommunikationsbetrieb (t4). Das heißt, das DCM 12 extrahiert Schreibdaten aus dem Verteilungspaket, initiiert eine Übertragung der Schreibdaten an das CGW 13, beschafft eine Neuschreibfortschrittssituation von dem CGW 13 und initiiert, dass der Zentrumsvorrichtung 3 die Neuschreibfortschrittssituation mitgeteilt wird.
  • Wenn das Beschaffen der Schreibdaten von dem DCM 12 initiiert wird bzw. ist, geht das CGW 13 von dem normalen Betrieb in einen Neuprogrammierungs-Master-Betrieb über, initiiert den Neuprogrammierungs-Master-Betrieb, initiiert ein Verteilen der Schreibdaten an die Doppelbankspeicher-ECU und befiehlt der Doppelbankspeicher-ECU, die Schreibdaten zu schreiben. Wenn die Doppelbankspeicher-ECU das Empfangen der Schreibdaten von dem CGW 13 initiiert hat, initiiert die Doppelbankspeicher-ECU eine Programmierphase (im Folgenden auch als Installationsphase bezeichnet) in einem normalen Betrieb. Das heißt, die Doppelbankspeicher-ECU führt die Installation des Applikationsprogramms im Hintergrund durch, während der normale Betrieb durchgeführt wird. Die Doppelbankspeicher-ECU initiiert ein Schreiben der empfangenen Schreibdaten in den Flash-Speicher und initiiert ein Neuschreiben des Applikationsprogramms.
  • Wenn der Nutzer während eines Neuschreibens des Applikationsprogramms in der Doppelbankspeicher-ECU den IG-Schalter in einem eingeschalteten Zustand ausschaltet, sodass die Fahrzeugleistung von der IG-Leistung in die +B-Leistung wechselt, stoppt das DCM 12 den Datenübertragungs-/Zentrumskommunikationsbetrieb, das CGW 13 stoppt den Neuprogrammierungs-Master-Betrieb, und die Doppelbankspeicher-ECU stoppt die Installationsphase und das Neuschreiben des Applikationsprogramms (t5).
  • Wenn der Nutzer danach den ausgeschalteten IG-Schalter einschaltet, sodass die Fahrzeugleistung von der +B-Leistung in die IG-Leistung wechselt, nimmt das DCM 12 den Datenübertragungs-/Zentrumskommunikationsbetrieb wieder auf, das CGW 13 nimmt den Neuprogrammierungs-Master-Betrieb wieder auf, und die Doppelbankspeicher-ECU nimmt die Installationsphase und das Neuschreiben des Applikationsprogramms wieder auf (t6). Das heißt, der Nutzer schaltet den eingeschalteten IG-Schalter aus, sodass die Fahrzeugleistung von der IG-Leistung in die +B-Leistung wechselt, und dann schaltet der Nutzer den ausgeschalteten IG-Schalter ein, sodass die Fahrzeugleistung von der +B-Leistung in die IG-Leistung wechselt, und jedes Mal, wenn eine Fahrt bzw. Reise erfolgt, wiederholt die Doppelbankspeicher-ECU das Stoppen und Wiederaufnehmen des Neuschreibens des Applikationsprogramms (t7 und t8).
  • Wenn die Doppelbankspeicher-ECU das Schreiben der Schreibdaten und das Neuschreiben des Applikationsprogramms beendet hat, beendet die Doppelbankspeicher-ECU die Installationsphase und geht von dem normalen Betrieb in den Aktivierungs-Standby (Warten auf Aktivierung) über. Das heißt, die Doppelbankspeicher-ECU wird nicht auf der neuen Bank (Bank B) gestartet, in die das Applikationsprogramm zu dem Zeitpunkt neu geschrieben wurde, zu dem die Aktivierungsphase nicht durchgeführt wurde, und verbleibt auf der alten Bank (Bank A) gestartet (t9).
  • Nachdem der Nutzer den eingeschalteten IG-Schalter ausgeschaltet hat, sodass die Fahrzeugleistung von der IG-Leistung in die +B-Leistung gewechselt hat (t10), überträgt das CGW 13 eine Stromversorgungsstartanfrage an die Stromversorgungsverwaltungs-ECU 20, wenn die Doppelbankspeicher-ECU das Neuschreiben des Applikationsprogramms zu diesem Zeitpunkt beendet hat. Wenn die Fahrzeugleistung von der +B-Leistung in die IG-Leistung dadurch wechselt, dass die Stromversorgungsstartanfrage an die Stromversorgungsverwaltungs-ECU 20 durch das CGW 13 übertragen wird, nimmt das DCM 12 den Datenübertragungs-/Zentrumskommunikationsbetrieb wieder auf, und das CGW 13 nimmt den Neuprogrammierungs-Master-Betrieb wieder auf und initiiert die Verteilung der Schreibdaten an die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU. Wenn der Empfang der Schreibdaten von dem CGW 13 initiiert ist, gehen die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU von dem normalen Betrieb in einen Boot-Prozess über und initiieren die Installationsphase in dem Boot-Prozess (t11). Das heißt, die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU führen keine Installation parallel zu dem normalen Betrieb durch, sondern führen eine Installation in dem Boot-Prozess durch, in dem das Applikationsprogramm nicht betrieben wird.
  • Wenn das Neuschreiben des Applikationsprogramms initiiert ist, stoppt die Einzelbank-Suspendierungs-Speicher-ECU das Neuschreiben des Applikationsprogramms in einem Fall, in dem der IG-Schalter 42 aufgrund des Nutzerbetriebs von dem Ausschaltzustand in den Einschaltzustand wechselt, bevor das Neuschreiben des Applikationsprogramms beendet ist. Die Einzelbank-Suspendierungs-Speicher-ECU kehrt zu einer aktiven Bank (Bank A) als einer Startbank anstelle einer inaktiven Bank (Bank B) zurück, in der das Neuschreiben des Applikationsprogramms stoppt. Wenn das Neuschreiben des Applikationsprogramms initiiert ist, setzt die Einzelbankspeicher-ECU das Neuschreiben des Applikationsprogramms auch dann fort, wenn der IG-Schalter 42 aufgrund des Nutzerbetriebs von dem Ausschaltzustand in den Einschaltzustand wechselt, bevor das Neuschreiben des Applikationsprogramms beendet ist. Dieses kommt daher, dass die Einzelbankspeicher-ECU nicht zu dem normalen Betrieb zurückkehren kann, wenn das Neuschreiben des Applikationsprogramms auf halbem Wege stoppt. Vorzugsweise wird der Nutzerbetrieb hinsichtlich des IG-Schalters 42 nach der Initiierung des Neuschreibens des Applikationsprogramms der Einzelbankspeicher-ECU gesperrt, bis das Neuschreiben des Applikationsprogramms beendet ist.
  • Wenn die Einzelbank-Suspendierungs-Speicher-ECU das Schreiben der Schreibdaten und das Neuschreiben des Applikationsprogramms beendet hat, beendet die Einzelbank-Suspendierungs-Speicher-ECU die Installationsphase in dem Boot-Prozess und geht von dem Boot-Prozess in den Aktivierungs-Standby über. Das heißt, die Einzelbank-Suspendierungs-Speicher-ECU wird nicht auf der neuen Bank (Bank B) gestartet, in die das Applikationsprogramm zu dem Zeitpunkt neu geschrieben wurde, zu dem die Aktivierungsphase nicht durchgeführt wurde, und bleibt auf der alten Bank (Bank A) gestartet. Wenn die Einzelbankspeicher-ECU das Schreiben der Schreibdaten und das Neuschreiben des Applikationsprogramms beendet hat, beendet die Einzelbankspeicher-ECU die Installationsphase in dem Boot-Prozess und wartet auf die Aktivierung (t12).
  • Wenn die Stromversorgungsverwaltungs-ECU 20 die Fahrzeugleistung von der IG-Leistung in die +B-Leistung als Antwort auf einen Aktivierungsbefehl von dem CGW 13 wechselt, wechseln die Doppelbankspeicher-ECU und die Einzelbank-Suspendierungs-Speicher-ECU für einen Start in der neuen Bank von der alten Bank zu der neuen Bank und initiieren eine Nachprogrammierungsphase (im Folgenden auch als Aktivierungsphase bezeichnet) bei dem Start der neuen Bank. Die Einzelbankspeicher-ECU initiiert einen Neustart und initiiert die Aktivierungsphase beim Neustart nach Beendigung der Installation (t13 und t14). Bei der Aktivierung wird beispielsweise geprüft, ob der akkurate Start durch das neue Programm durchgeführt wird oder ob dem CGW 13 Versionsinformationen mitgeteilt werden.
  • Wenn die Aktivierung beendet ist und die Stromversorgungsverwaltungs-ECU 20 die Fahrzeugleistung von der IG-Leistung in die +B-Leistung als Antwort auf einen Aktivierungsbeendigungsbefehl von dem CGW 13 wechselt, geht das DCM 12 von dem Datenübertragungs-/Zentrumskommunikationsbetrieb in einen Schlaf/Stoppbetrieb über und initiiert den Schlaf/Stoppbetrieb. Das CGW 13 geht von dem Neuprogrammierungs-Master-Betrieb in den Schlaf/Stoppbetrieb über und initiiert den Schlaf/Stoppbetrieb. Die Doppelbankspeicher-ECU, die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU gehen von dem Start der neuen Bank in den Schlaf/Stoppbetrieb über (t15).
  • Wenn der Nutzer danach den ausgeschalteten IG-Schalter einschaltet, sodass die Fahrzeugleistung von der +B-Leistung in die IG-Leistung wechselt, starten die Doppelbankspeicher-ECU und die Einzelbank-Suspendierungs-Speicher-ECU das neue Applikationsprogramm mit der neuen Bank (Bank B) als einer aktiven Bank, und die Einzelbankspeicher-ECU startet das neue Applikationsprogramm (t16).
  • Fall, in dem das Applikationsprogramm unter Verwendung von Selbsterhaltungsenergie neu geschrieben wird
  • Der Fall, in dem ein Applikationsprogramm unter Verwendung von Selbsterhaltungsenergie neu geschrieben wird, wird mit Bezug auf die 28 und 29 beschrieben. Das Neuschreiben des Applikationsprogramms unter Verwendung der Selbsterhaltungsenergie gibt eine Konfiguration an, bei der ein Neuschreibbetrieb unter Verwendung der Selbsterhaltungsenergieschaltung gesteuert wird. Wenn der Nutzer den ausgeschalteten IG-Schalter einschaltet, sodass die Fahrzeugleistung von der +B-Leistung in die IG-Leistung wechselt, initiieren das DCM 12, das CGW 13, die Doppelbankspeicher-ECU, die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU jeweils einen normalen Betrieb (t21).
  • Wenn eine Mitteilung hinsichtlich einer Initiierung eines Downloads bzw. Herunterladens von der Zentrumsvorrichtung 3 gesendet wird, das heißt, wenn eine Mitteilung, dass eine Aktualisierung bzw. ein Update aufgrund eines neuen Programms verfügbar ist, gesendet wird, geht das DCM 12 von dem normalen Betrieb in einen Download-Betrieb über und initiiert einen Download eines Verteilungspaketes von der Zentrumsvorrichtung 3 (t22). Wenn der Download bzw. das Herunterladen des Verteilungspaketes von der Zentrumsvorrichtung 3 beendet wurde, kehrt das DCM 12 von dem Download-Betrieb zu dem normalen Betrieb zurück (t23).
  • Wenn eine Mitteilung eines Neuschreibbefehlssignals (Installationsbefehlssignal) von der Zentrumsvorrichtung 3 oder dem CGW 13 gesendet wird, geht das DCM 12 von dem normalen Betrieb in einen Datenübertragungs-/Zentrumskommunikationsbetrieb über und initiiert den Datenübertragungs-/Zentrumskommunikationsbetrieb (t24). Das heißt, das DCM 12 extrahiert Schreibdaten aus dem Verteilungspaket, initiiert die Übertragung der Schreibdaten an das CGW 13, beschafft eine Neuschreibfortschrittssituation von dem CGW 13 und initiiert ein Mitteilen der Zentrumsvorrichtung 3 hinsichtlich der Neuschreibfortschrittssituation.
  • Wenn die Beschaffung der Schreibdaten von dem DCM 12 initiiert ist, geht das CGW 13 von dem normalen Betrieb in einen Neuprogrammierungs-Master-Betrieb über, initiiert den Neuprogrammierungs-Master-Betrieb, initiiert die Verteilung der Schreibdaten an die Doppelbankspeicher-ECU und befiehlt der Doppelbankspeicher-ECU, die Schreibdaten zu schreiben. Wenn die Doppelbankspeicher-ECU das Empfangen der Schreibdaten von dem CGW 13 initiiert hat, initiiert die Doppelbankspeicher-ECU eine Programmierungsphase (im Folgenden auch als Installationsphase bezeichnet) in einem normalen Betrieb. Das heißt, die Doppelbankspeicher-ECU führt die Installation des Applikationsprogramms im Hintergrund durch, während der normale Betrieb durchgeführt wird. Die Doppelbankspeicher-ECU initiiert das Schreiben der empfangenen Schreibdaten in den Flash-Speicher und initiiert das Neuschreiben des Applikationsprogramms.
  • Wenn der Nutzer während eines Neuschreibens des Applikationsprogramms in die Doppelbankspeicher-ECU den eingeschalteten IG-Schalter ausschaltet, sodass die Fahrzeugleistung von der IG-Leistung in die +B-Leistung wechselt (t25), setzt das DCM 12 den Datenübertragungs-/Zentrumskommunikationsbetrieb fort, das CGW 13 setzt den Neuprogrammierungs-Master-Betrieb fort, und die Doppelbankspeicher-ECU setzt die Installationsphase und das Neuschreiben des Applikationsprogramms unmittelbar, nachdem die Fahrzeugleistung von der IG-Leistung in die +B-Leistung gewechselt hat, fort. Wenn eine Selbsterhaltungsperiode bzw. -zeitdauer, die eine voreingestellte Periode ist, verstrichen ist, nachdem die Fahrzeugleistung von der IG-Leistung in die +B-Leistung gewechselt hat, stoppt das DCM 12 den Datenübertragungs-/Zentrumskommunikationsbetrieb, das CGW 13 stoppt den Neuprogrammierungs-Master-Betrieb und die Doppelbankspeicher-ECU stoppt die Installationsphase und das Neuschreiben des Applikationsprogramms (t26). Das heißt, die Installation wird durch Stromversorgung von der Fahrzeugbatterie 40 fortgesetzt, bis eine vorbestimmte Zeit verstrichen ist, nachdem der IG-Schalter 42 ausgeschaltet wurde.
  • Wenn der Nutzer danach den ausgeschalteten IG-Schalter 42 einschaltet, sodass die Fahrzeugleistung von der +B-Leistung in die IG-Leistung wechselt, nimmt das DCM 12 den Datenübertragungs-/Zentrumskommunikationsbetrieb wieder auf, das CGW 13 nimmt den Neuprogrammierungs-Master-Betrieb wieder auf und die Doppelbankspeicher-ECU nimmt die Installationsphase und das Neuschreiben des Applikationsprogramms wieder auf (t27). Das heißt, der Nutzer schaltet den eingeschalteten IG-Schalter aus, sodass die Fahrzeugleistung von der IG-Leistung in die +B-Leistung wechselt, und dann schaltet der Nutzer den ausgeschalteten IG-Schalter ein, sodass die Fahrzeugleistung von der +B-Leistung in die IG-Leistung wechselt, und jedes Mal, wenn eine Fahrt bzw. Reise erfolgt, wiederholt die Doppelbankspeicher-ECU das Stoppen und Wiederaufnehmen des Neuschreibens des Applikationsprogramms (t28 bis t30). Bis die Selbsterhaltungsperiode verstrichen ist, nachdem die Fahrzeugleistung von der IG-Leistung in die +B-Leistung gewechselt hat, setzt das DCM 12 jedoch den Datenübertragungs-/Zentrumskommunikationsbetrieb fort, das CGW 13 setzt den Neuprogrammierungs-Master-Betrieb fort, und die Doppelbankspeicher-ECU setzt die Installationsphase und das Neuschreiben des Applikationsprogramms fort.
  • Wenn die Doppelbankspeicher-ECU das Schreiben der Schreibdaten und das Neuschreiben des Applikationsprogramms beendet hat, beendet die Doppelbankspeicher-ECU die Installationsphase und geht von dem normalen Betrieb in den Aktivierungs-Standby über. Das heißt, die Doppelbankspeicher-ECU wird nicht auf der neuen Bank (Bank B) gestartet, in der das Applikationsprogramm zu dem Zeitpunkt neu geschrieben wurde, zu dem die Aktivierungsphase nicht durchgeführt wurde, und bleibt auf der alten Bank (Bank A) gestartet (t31).
  • Wenn der Nutzer den eingeschalteten IG-Schalter ausschaltet, sodass die Fahrzeugleistung von der IG-Leistung in die +B-Leistung wechselt, und das Neuschreiben des Applikationsprogramms zu diesem Zeitpunkt in der Doppelbankspeicher-ECU beendet ist, gehen die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU von dem normalen Betrieb in einen Boot-Prozess über, initiieren den Boot-Prozess und initiieren die Installationsphase in dem Boot-Prozess (t32).
  • Wenn die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU das Schreiben der Schreibdaten und das Neuschreiben des Applikationsprogramms beendet haben, beenden die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU die Installationsphase in dem Boot-Prozess (t33). Wenn die Fahrzeugleistung von der +B-Leistung in die IG-Leistung dadurch wechselt, dass das CGW 13 die Stromversorgungsstartanfrage an die Stromversorgungsverwaltungs-ECU 20 überträgt, nimmt das DCM 12 den Datenübertragungs-/Zentrumskommunikationsbetrieb wieder auf (t34).
  • Wenn die Einzelbank-Suspendierungs-Speicher-ECU das Schreiben der Schreibdaten und das Neuschreiben des Applikationsprogramms beendet hat, geht die Einzelbank-Suspendierungs-Speicher-ECU von dem Boot-Prozess in den Aktivierungs-Standby. Das heißt, die Einzelbank-Suspendierungs-Speicher-ECU wird nicht auf der neuen Bank (Bank B) gestartet, in die das Applikationsprogramm zu dem Zeitpunkt neu geschrieben wurde, zu dem die Aktivierungsphase nicht durchgeführt wurde, und verbleibt auf der alten Bank (Bank A) gestartet. Wenn die Einzelbankspeicher-ECU das Schreiben der Schreibdaten und das Neuschreiben des Applikationsprogramms beendet hat, beendet die Einzelbankspeicher-ECU die Installationsphase in dem Boot-Prozess und wartet auf die Aktivierung (t35).
  • Wenn die Stromversorgungsverwaltungs-ECU 20 die Fahrzeugleistung von der IG-Leistung in die +B-Leistung als Antwort auf einen Aktivierungsbefehl von dem CGW 13 wechselt, wechseln die Doppelbankspeicher-ECU und die Einzelbank-Suspendierungs-Speicher-ECU zum Start auf der neuen Bank von der alten Bank zu der neuen Bank und initiieren eine Aktivierungsphase bei dem Start der neuen Bank. Die Einzelbankspeicher-ECU initiiert einen Neustart und initiiert die Aktivierungsphase bei einem Neustart nach Beendigung der Installation (t36 und t37).
  • Wenn die Aktivierung beendet ist und die Stromversorgungsverwaltungs-ECU 20 die Fahrzeugleistung von der IG-Leistung in die +B-Leistung als Antwort auf einen Aktivierungsbeendigungsbefehl von dem CGW 13 wechselt, geht das DCM 12 von dem Datenübertragungs-/Zentrumskommunikationsbetrieb in einen Schlaf/Stoppbetrieb über und initiiert den Schlaf/Stoppbetrieb. Das CGW 13 geht von dem Neuprogrammierungs-Master-Betrieb in den Schlaf/Stoppbetrieb über und initiiert den Schlaf/Stoppbetrieb. Die Doppelbankspeicher-ECU, die Einzelbank-Suspendierungs-Speicher-ECU und die Einzelbankspeicher-ECU gehen jeweils von dem Start der neuen Bank in den Schlaf/Stoppbetrieb über (t38).
  • Wenn der Nutzer danach den ausgeschalteten IG-Schalter 42 einschaltet, sodass die Fahrzeugleistung von der +B-Leistung in die IG-Leistung wechselt, starten die Doppelbankspeicher-ECU und die Einzelbank-Suspendierungs-Speicher-ECU das neue Applikationsprogramm mit der neuen Bank (Bank B) als einer aktiven Bank, und die Einzelbankspeicher-ECU startet das neue Applikationsprogramm (t39).
  • Vor dem Herunterladen eines Verteilungspaketes von der Zentrumsvorrichtung 3 und der Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 führt das CGW 13 die folgende Prüfung durch. Vor dem Herunterladen eines Verteilungspaketes von der Zentrumsvorrichtung 3 überprüft das CGW 13 eine Radiowellenumgebung, eine Restbatterieladung der Fahrzeugbatterie 40 und eine Speicherkapazität des DCM 12, sodass das Verteilungspaket normal heruntergeladen werden kann. Vor der Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 führt das CGW 13 eine Erfassung eines Einbruchsensors, eine Erfassung einer Türverriegelung, eine Erfassung einer Verdunkelung und eine Erfassung eines IG-AUS als eine Prüfung einer personell besetzten Umgebung durch, damit eine Installationsumgebung nicht instabil wird, sodass Schreibdaten normal verteilt werden können, und prüft eine Version und das Auftreten einer Abnormität als eine Prüfung hinsichtlich dessen, ob die Neuschreibziel-ECU 19 beschrieben werden kann. Das CGW 13 führt eine Fälschungsprüfung, eine Zugangsauthentifizierung, eine Versionsprüfung und Ähnliches als eine Prüfung von Schreibdaten, die an die Neuschreibziel-ECU 19 zu verteilen sind, vor der Initiierung der Installation durch, führt eine Kommunikationsunterbrechungsprüfung, eine Fehlerauftrittsprüfung und Ähnliches während der Installation durch und führt eine Versionsprüfung, eine Integritätsprüfung, eine Diagnoseproblemcodeprüfung (DTC-Prüfung, Fehlercode) und Ähnliches nach Beendigung der Installation durch.
  • Im Folgenden wird ein Bildschirm, der auf dem Anzeigeendgerät 5 beschrieben wird, mit Bezug auf die 30 bis 46 beschrieben. Wie es in 30 dargestellt ist, gibt es in einer Konfiguration, bei der ein Applikationsprogramm der Neuschreibziel-ECU 19 über OTA neu geschrieben wird, Phasen einer Kampagnen-Mitteilung, eines Downloads, einer Installation und einer Aktivierung. Die Kampagnen-Mitteilung ist eine Mitteilung hinsichtlich einer Programmaktualisierung. Die Kampagnen-Mitteilung ist beispielsweise derart ausgebildet, dass die Master-Vorrichtung 11 Verteilungsspezifikationsdaten oder Ähnliches als Antwort auf eine Bestimmung herunterlädt, dass eine Aktualisierung eines Applikationsprogramms in der Zentrumsvorrichtung 3 verfügbar ist. Das Anzeigeendgerät 5 zeigt einen Bildschirm in jeder Phase an, wenn ein Neuschreiben des Applikationsprogramms fortschreitet. Hier wird ein Bildschirm beschrieben, der auf der fahrzeugeigenen Anzeige 7 angezeigt wird.
  • Wie es in 31 dargestellt ist, zeigt das CGW 13 einen Navigationsbildschirm 501 wie einen bekannten Routenführungsbildschirm, der eine der Navigationsfunktionen ist, auf der fahrzeugeigenen Anzeige 7 zu einer normalen Zeit vor einer Kampagnen-Mitteilung an. Wenn die Kampagnen-Mitteilung in diesem Zustand auftritt, zeigt das CGW 13 ein Kampagnen-Mitteilungspiktogramm 501a, das das Auftreten der Kampagnen-Mitteilung angibt, unten rechts auf dem Navigationsbildschirm 501 an, wie es in 32 dargestellt ist. Der Nutzer kann das Auftreten der Kampagnen-Mitteilung hinsichtlich der Aktualisierung des Applikationsprogramms durch Prüfen der Anzeige des Kampagnen-Mitteilungspiktogramms 501a erkennen.
  • Wenn der Nutzer das Kampagnen-Mitteilungspiktogramm 501a in diesem Zustand bedient, zeigt das CGW 13 einen Kampagnen-Mitteilungsbildschirm 502 in einer Pop-up-Form auf dem Navigationsbildschirm 501 an. Das CGW 13 ist nicht auf das Anzeigen des Kampagnen-Mitteilungsbildschirms 502 in einer Pop-up-Form begrenzt und kann andere Anzeigeaspekte verwenden. Auf dem Kampagnen-Mitteilungsbildschirm 502 zeigt das CGW 13 beispielsweise eine Führungsnachricht wie „Softwareaktualisierung ist verfügbar“ an, um dem Nutzer das Auftreten der Kampagnen-Mitteilung mitzuteilen, und zeigt einen „prüfen“-Knopf 502a und einen „später“-Knopf 502b an, um auf den Nutzerbetrieb zu warten. In diesem Fall kann der Nutzer zu dem nächsten Bildschirm zum Initiieren des Neuschreibens des Applikationsprogramms durch Betätigen des „prüfen“-Knopfes 502a fortschreiten. Wenn der Nutzer den „später“-Knopf 502b bedient, löscht das CGW 13 die Pop-up-Anzeige des Kampagnen-Mitteilungsbildschirms 502 und kehrt zu dem Bildschirm zurück, der das Kampagnen-Mitteilungspiktogramm 501a anzeigt, das in 32 dargestellt ist.
  • Wenn der Nutzer den „prüfen“-Knopf 502a bedient, wechselt das CGW 13 die Anzeige von dem Navigationsbildschirm 501 in einen Download-Zustimmungsbildschirm 503, wie es in 34 dargestellt ist, und zeigt den Download-Zustimmungsbildschirm 503 auf der fahrzeugeigenen Anzeige 7 an. In dem Download-Zustimmungsbildschirm 503 teilt das CGW 13 dem Nutzer eine Kampagnen-ID oder den Namen der Aktualisierung mit, zeigt einen „Download starten“-Knopf 503a, einen „Details prüfen“-Knopf 503b und einen „zurück“-Knopf 503c an und wartet auf den Nutzerbetrieb. In diesem Fall kann der Nutzer das Herunterladen durch Betätigen des „Download starten“-Knopfes 503a initiieren, Details des Downloads durch Betätigen des „Details prüfen“-Knopfes 503b anzeigen und das Herunterladen und Zurückkehren zu dem vorherigen Bildschirm durch Betätigen des „zurück“-Knopfes 503c zurückweisen. In dem Fall, in dem der „zurück“-Knopf 503c betätigt wird, kann der Nutzer zu einem Bildschirm zum Initiieren des Downloads bzw. Herunterladens durch Betätigen des Kampagnen-Mitteilungspiktogramms 501a fortschreiten.
  • Wenn der Nutzer den „Details prüfen“-Knopf 503b in einem Zustand bedient, in dem der Download-Zustimmungsbildschirm 503 angezeigt wird, führt das CGW 13 einen Wechsel der Anzeigeinhalte des Download-Zustimmungsbildschirms 503 durch und zeigt die Details des Downloads auf der fahrzeugeigenen Anzeige 7 an, wie es in 35 dargestellt ist. Das CGW 13 zeigt einen Inhalt der Aktualisierung, die für die Aktualisierung benötigte Zeit, Einschränkungen der Fahrzeugfunktionen aufgrund der Aktualisierung und Ähnliches unter Verwendung der empfangenen Verteilungsspezifikationsdaten als die Details des Downloads an. Wenn der Nutzer den „Download starten“-Knopf 503a betätigt, initiiert das CGW 13 den Download eines Verteilungspaketes über das DCM 12. Parallel zu der Initiierung des Downloads des Verteilungspaketes wechselt das CGW 13 die Anzeige von dem Download-Zustimmungsbildschirm 503 in den Navigationsbildschirm 501, zeigt den Navigationsbildschirm 501 erneut auf der fahrzeugeigenen Anzeige 7 an und zeigt ein Download-Fortschrittspiktogramm 501b, das angibt, dass der Download fortschreitet, unten rechts auf dem Navigationsbildschirm 501 an, wie es in 36 dargestellt ist. Der Nutzer kann durch Prüfen der Anzeige des Download-Fortschrittspiktogramms 501b erkennen, dass der Download des Verteilungspaketes fortschreitet bzw. andauert.
  • Wenn der Nutzer das Download-Fortschrittspiktogramm 501b in diesem Zustand betätigt, wechselt das CGW 13 die Anzeige von dem Navigationsbildschirm 501 in einen Download-Fortschrittsbildschirm 504 und zeigt den Download-Fortschrittsbildschirm 504 auf der fahrzeugeigenen Anzeige 7 an, wie es in 37 dargestellt ist. Das CGW 13 teilt dem Nutzer mit, dass der Download fortschreitet, zeigt einen „Details prüfen“-Knopf 504a, einen „zurück“-Knopf 504b und einen „abbrechen“-Knopf 504c auf dem Download-Fortschrittsbildschirm 504 an und wartet auf den Nutzerbetrieb. In diesem Fall kann der Nutzer Details während eines Downloads durch Betätigen des „Details prüfen“-Knopfes 504a anzeigen und den Download durch Betätigen des „abbrechen“-Knopfes 504c stoppen.
  • Wenn der Download beendet wurde, zeigt das CGW 13 einen Download-Beendigungsmitteilungsbildschirm 505 in einer Pop-up-Form auf dem Navigationsbildschirm 501 an, wie es in 38 dargestellt ist. Auf dem Download-Beendigungsmitteilungsbildschirm 505 zeigt das CGW 13 beispielsweise eine Führungsmitteilung wie „Heruntergeladene Software ist aktualisierbar“ an, um dem Nutzer die Beendigung des Downloads mitzuteilen, zeigt einen „prüfen“-Knopf 505a und einen „später“-Knopf 505b an und wartet auf den Nutzerbetrieb. In diesem Fall kann der Nutzer zu einem Bildschirm zum Initiieren der Installation durch Betätigen des „prüfen“-Knopfes 505a fortschreiten.
  • Wenn der Nutzer den „prüfen“-Knopf 505a in diesem Zustand betätigt, wechselt das CGW 13 die Anzeige von dem Navigationsbildschirm 501 in einen Installationszustimmungsbildschirm 506 und zeigt den Installationszustimmungsbildschirm 506 auf der fahrzeugeigenen Anzeige 7 an, wie es in 39 dargestellt ist. Auf dem Installationszustimmungsbildschirm 506 teilt das CGW 13 dem Nutzer die für die Installation benötigte Zeit oder Einschränkungen und eine Planeinstellung mit, zeigt einen „sofortige Aktualisierung“-Knopf 506a, einen „Aktualisierung planen“-Knopf 506b und einen „zurück“-Knopf 506c an und wartet auf den Nutzerbetrieb. In diesem Fall kann der Nutzer unmittelbar die Installation durch Betätigen des „sofortige Aktualisierung“-Knopfes 506a initiieren. Der Nutzer kann außerdem die Installation durch Einstellen der Zeit, zu der die Installation durchzuführen ist, und Betätigen des „Aktualisierung planen“-Knopfes 506b reservieren bzw. vormerken und initiieren. Der Nutzer kann durch Betätigen des „zurück“-Knopfes 506c die Installation zurückweisen und zu dem vorherigen Bildschirm zurückkehren. In einem Fall, in dem der „zurück“-Knopf 506c betätigt wird, kann der Nutzer zu einem Bildschirm zum Initiieren der Installation durch Betätigen des Download-Fortschrittspiktogramms 501b fortschreiten.
  • Wenn der Nutzer den „sofortige Aktualisierung“-Knopf betätigt, führt das CGW 13 einen Wechsel der Anzeigeinhalte des Installationszustimmungsbildschirms 506 durch und zeigt Details der Installation auf der fahrzeugeigenen Anzeige 7 an, wie es in 40 dargestellt ist. Das CGW 13 empfängt eine Installationsanfrage auf dem Installationszustimmungsbildschirm 506 und teilt dem Nutzer mit, dass die Installation initiiert bzw. gestartet werden wird.
  • Wenn die Installation initiiert wird, wechselt das CGW 13 die Anzeige von dem Installationszustimmungsbildschirm 506 in den Navigationsbildschirm 501, zeigt den Navigationsbildschirm 501 erneut auf der fahrzeugeigenen Anzeige 7 an und zeigt ein Installationsfortschrittspiktogramm 501c, das angibt, dass die Installation fortschreitet, unten rechts auf dem Navigationsbildschirm 501 an, wie es in 41 dargestellt ist. Der Nutzer kann durch Prüfen der Anzeige des Installationsfortschrittspiktogramms 501c erkennen, dass die Installation fortschreitet bzw. andauert.
  • Wenn der Nutzer das Installationsfortschrittspiktogramm 501c in diesem Zustand betätigt, wechselt das CGW 13 die Anzeige von dem Navigationsbildschirm 501 in einen Installationsfortschrittsbildschirm 507 und zeigt den Installationsfortschrittsbildschirm 507 auf der fahrzeugeigenen Anzeige 7 an, wie es in 42 dargestellt ist. Das CGW 13 teilt dem Nutzer auf dem Installationsfortschrittsbildschirm 507 mit, dass die Installation fortschreitet. Das CGW 13 kann beispielsweise bewirken, dass der Installationsfortschrittsbildschirm 507 die Restzeit oder den prozentualen Fortschritt der Installation anzeigt.
  • Wenn die Installation beendet wurde, wechselt das CGW 13 die Anzeige von dem Navigationsbildschirm 501 in einen Aktivierungszustimmungsbildschirm 508 und zeigt den Aktivierungszustimmungsbildschirm 508 auf der fahrzeugeigenen Anzeige 7 an, wie es in 43 dargestellt ist. Auf dem Aktivierungszustimmungsbildschirm 508 teilt das CGW 13 dem Nutzer einen Inhalt der Aktivierung mit und zeigt einen „zurück“-Knopf 508a und einen „OK“-Knopf 508b an, um auf den Nutzerbetrieb zu warten. In diesem Fall kann der Nutzer durch Betätigen des „zurück“-Knopfes 508a die Aktivierung zurückweisen und zu dem vorherigen Bildschirm zurückkehren. Der Nutzer kann der Aktivierung durch Betätigen des „OK“-Knopfes 508b zustimmen. In einem Fall, in dem der „zurück“-Knopf 508a betätigt wird, kann der Nutzer zu einem Bildschirm zum Ausführen der Aktivierung durch Betätigen des Installationsfortschrittspiktogramms 501 c fortschreiten. Eine derartige Anzeige oder eine Zustimmung kann per Nutzereinstellung oder Szenen des Programms ohne Anzeige weggelassen werden.
  • Wenn der Nutzer die IG-Leistung in dem Zustand einschaltet, nachdem der Nutzer den „OK“-Knopf 508b betätigt hat, zeigt das CGW 13 einen Aktivierungsbeendigungsmitteilungsbildschirm 509 in einer Pop-up-Form auf dem Navigationsbildschirm 501 an, wie es in 44 dargestellt ist. Auf dem Aktivierungsbeendigungsmitteilungsbildschirm 509 zeigt das CGW 13 beispielsweise eine Führungsnachricht wie „Software-Aktualisierung ist beendet“ an, um dem Nutzer die Beendigung der Aktivierung mitzuteilen, zeigt einen „OK“-Knopf 509a und einen „Details prüfen“-Knopf 509b an und wartet auf den Nutzerbetrieb. In diesem Fall kann der Nutzer die Pop-up-Anzeige auf dem Aktivierungsbeendigungsmitteilungsbildschirm 509 durch Betätigen des „OK“-Knopfes 509a löschen und kann Details der Beendigung der Aktivierung durch Betätigen des „Details prüfen“-Knopfes 509b anzeigen.
  • Wenn der Nutzer den „OK“-Knopf 509a in diesem Zustand betätigt, wechselt das CGW 13 die Anzeige von dem Navigationsbildschirm 501 in einen Prüfbetriebsbildschirm 510 und zeit den Prüfbetriebsbildschirm 510 auf der fahrzeugeigenen Anzeige 7 an, wie es in 45 dargestellt ist. Auf dem Prüfbetriebsbildschirm 510 teilt das CGW 13 dem Nutzer die Beendigung der Aktivierung mit, zeigt einen „Details prüfen“-Knopf 510a und einen „OK“-Knopf 510b an und wartet auf den Nutzerbetrieb. In diesem Fall kann der Nutzer Details der Beendigung der Aktivierung durch Betätigen des „Details prüfen“-Knopfes 510a anzeigen.
  • Wenn der Nutzer den „Details prüfen“-Knopf 510a in diesem Zustand betätigt, führt das CGW 13 einen Wechsel der Anzeigeinhalte des Prüfbetriebsbildschirms 510 durch und zeigt Details der Beendigung der Aktivierung auf der fahrzeugeigenen Anzeige 7 an, wie es in 46 dargestellt ist. Das CGW 13 zeigt eine aufgrund der Aktualisierung hinzugefügte oder geänderte Funktion als Aktualisierungsdetails an und zeigt den „OK“-Knopf 510b an. Wenn der Nutzer die „OK“-Knöpfe 509a und 510b betätigt, bestimmt das CGW 13, dass der Nutzer die Beendigung der Software-Aktualisierung bestätigt hat.
  • Wie es oben beschrieben wurde, steuert das fahrzeugseitige System 4 die jeweiligen Betriebsphasen wie die Kampagnen-Mitteilung, den Download, die Installation, die Aktivierung und die Aktualisierungsbeendigung und präsentiert dem Nutzer eine Anzeige entsprechend einer jeweiligen Betriebsphase. In der obigen Beschreibung ist das CGW 13 ausgelegt, die Anzeige zu steuern, aber die fahrzeugeigene Anzeige 7 kann ausgelegt sein, eine Betriebsphase oder Verteilungsspezifikationsdaten von dem CGW 13 zu empfangen und das Anzeigen durchzuführen.
  • Im Folgenden werden charakteristische Prozesse, die von dem Fahrzeug-Programmneuschreibsystem 1 durchgeführt werden, mit Bezug auf die 47 bis 233 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt die folgenden charakteristischen Prozesse durch.
    • (1) Verteilungspaketübertragungsbestimmungsprozess
    • (2) Verteilungspaket-Download-Bestimmungsprozess
    • (3) Schreibdatenübertragungsbestimmungsprozess
    • (4) Schreibdatenbeschaffungsbestimmungsprozess
    • (5) Installationsbefehlsbestimmungsprozess
    • (6) Sicherheitszugangsschlüsselverwaltungsprozess
    • (7) Schreibdatenverifizierungsprozess
    • (8) Datenspeicherbankinformations-Übertragungssteuerungsprozess
    • (9) Nicht-Neuschreibziel-Stromversorgungsverwaltungsprozess
    • (10) Dateiübertragungssteuerungsprozess
    • (11) Schreibdatenverteilungssteuerungsprozess
    • (12) Aktivierungsanfragebefehlsprozess
    • (13) Aktivierungsausführungssteuerungsprozess
    • (14) Neuschreibzielgruppenverwaltungsprozess
    • (15) Rollback-Ausführungssteuerungsprozess
    • (16) Neuschreibfortschrittssituations-Anzeigesteuerungsprozess
    • (17) Differenzdatenkonsistenzbestimmungsprozess
    • (18) Neuschreibausführungssteuerungsprozess
    • (19) Sitzungserrichtungsprozess
    • (20) Wiederholungspunktbestimmungsprozess
    • (21) Fortschrittszustandssynchronisationssteuerungsprozess
    • (22) Anzeigesteuerungsinformations-Übertragungssteuerungsprozess
    • (23) Anzeigesteuerungsinformations-Empfangssteuerungsprozess
    • (24) Bildschirmanzeigesteuerungsprozess für Fortschrittsanzeige
    • (25) Programmaktualisierungs-Mitteilungssteuerungsprozess
    • (26) Selbsterhaltungsenergie-Ausführungssteuerungsprozess
  • Die Zentrumsvorrichtung 3, das DCM 12, das CGW 13, die ECU 19 und die fahrzeugeigene Anzeige 7 weisen jeweils die folgenden Funktionsblöcke als Konfigurationen zum Durchführen der oben angegebenen charakteristischen Prozesse (1) bis (26) auf.
  • Wie es in 47 dargestellt ist, enthält die Zentrumsvorrichtung 3 eine Verteilungspaketübertragungseinheit 51. Wenn eine Download-Anfrage für ein Verteilungspaket von dem DCM 12 empfangen wird, überträgt die Verteilungspaketübertragungseinheit 51 das Verteilungspaket an das DCM 12. Zusätzlich zu der oben beschriebenen Konfiguration enthält die Zentrumsvorrichtung 3 eine Verteilungspaketübertragungsbestimmungseinheit 52, eine Fortschrittszustandssynchronisationssteuerungseinheit 53, eine Anzeigesteuerungsinformations-Übertragungssteuerungseinheit 54 und eine Schreibdatenauswahleinheit 55 (entspricht einer Aktualisierungsdatenauswahleinheit) als eine Konfiguration zum Durchführen der charakteristischen Prozesse. Wenn Datenspeicherbankinformationen von der Master-Vorrichtung 11 empfangen werden, wählt die Schreibdatenauswahleinheit 55 (entspricht einer Aktualisierungsdatenauswahleinheit) Schreibdaten, die konform zu einer inaktiven Bank sind, auf der Grundlage einer Software-Version und einer aktiven Bank, die durch die empfangenen Datenspeicherbankinformationen bestimmt werden, aus. Das heißt, die Verteilungspaketübertragungseinheit 51 überträgt das Verteilungspaket, das die Schreibdaten enthält, die durch die Schreibdatenauswahleinheit 55 ausgewählt werden, an das DCM 12. Die Funktionsblöcke, die die charakteristischen Prozesse durchführen, werden später beschrieben.
  • Wie es in 48 dargestellt ist, enthält das DCM 12 eine Download-Anfrageübertragungseinheit 61, eine Verteilungspaket-Download-Einheit 62, eine Schreibdatenextrahierungseinheit 63, eine Schreibdatenübertragungseinheit 64, eine Neuschreibspezifikationsdatenextrahierungseinheit 65 und eine Neuschreibspezifikationsdatenübertragungseinheit 66. Die Download-Anfrageübertragungseinheit 61 überträgt eine Download-Anfrage für ein Verteilungspaket an die Zentrumsvorrichtung 3. Die Verteilungspaket-Download-Einheit 62 lädt das Verteilungspaket von der Zentrumsvorrichtung 3 herunter. Wenn das Verteilungspaket von der Zentrumsvorrichtung 3 durch die Verteilungspaket-Download-Einheit 62 heruntergeladen wurde, extrahiert die Schreibdatenextrahierungseinheit 63 Schreibdaten aus dem heruntergeladenen Verteilungspaket.
  • Wenn die Schreibdaten aus dem Verteilungspaket durch die Schreibdatenextrahierungseinheit 63 extrahiert sind, überträgt die Schreibdatenübertragungseinheit 64 die extrahierten Schreibdaten an das CGW 13. Wenn das Verteilungspaket von der Zentrumsvorrichtung 3 durch die Verteilungspaket-Download-Einheit 62 heruntergeladen wurde, extrahiert die Neuschreibspezifikationsdatenextrahierungseinheit 65 Neuschreibspezifikationsdaten aus dem heruntergeladenen Verteilungspaket. Wenn die Neuschreibspezifikationsdaten aus dem Verteilungspaket durch die Neuschreibspezifikationsdatenextrahierungseinheit 56 extrahiert sind, überträgt die Neuschreibspezifikationsdatenübertragungseinheit 66 die extrahierten Neuschreibspezifikationsdaten an das CGW 13. Zusätzlich zu der oben beschriebenen Konfiguration enthält das DCM 12 eine Verteilungspaket-Download-Bestimmungseinheit 67 und eine Schreibdatenübertragungsbestimmungseinheit 68 als eine Konfiguration zum Durchführen der charakteristischen Prozesse. Die Funktionsblöcke, die die charakteristischen Prozesse durchführen, werden später beschrieben.
  • Wie es in den 49 und 50 dargestellt ist, enthält das CGW 13 eine Beschaffungsanfrageübertragungseinheit 71, eine Schreibdatenbeschaffungseinheit 72 (entspricht einer Aktualisierungsdatenspeichereinheit), eine Schreibdatenverteilungseinheit 73 (entspricht einer Aktualisierungsdatenverteilungseinheit), eine Neuschreibspezifikationsdaten-Beschaffungseinheit 74 und eine Neuschreibspezifikationsdaten-Analyseeinheit 75. Die Schreibdatenbeschaffungseinheit 72 beschafft Schreibdaten von dem DCM 12 aufgrund der Übertragung der Schreibdaten von dem DCM 12. In einem Fall, in dem die Schreibdaten durch die Schreibdatenbeschaffungseinheit 72 beschafft sind, verteilt die Schreibdatenverteilungseinheit 73 die beschafften Schreibdaten an die Neuschreibziel-ECU 19, wenn der Verteilungszeitpunkt der Schreibdaten erreicht ist. Die Neuschreibspezifikationsdaten-Beschaffungseinheit 74 beschafft Neuschreibspezifikationsdaten von dem DCM 12 aufgrund der Übertragung der Neuschreibspezifikationsdaten von dem DCM 12. Wenn die Neuschreibspezifikationsdaten durch die Neuschreibspezifikationsdaten-Beschaffungseinheit 74 beschafft sind, analysiert die Neuschreibspezifikationsdaten-Analyseeinheit 75 die beschafften Neuschreibspezifikationsdaten.
  • Zusätzlich zu der oben beschriebenen Konfiguration enthält das CGW 13 als eine Konfiguration zum Durchführen der charakteristischen Prozesse eine Schreibdatenbeschaffungsbestimmungseinheit 76, eine Installationsbefehlsbestimmungseinheit 77, eine Sicherheitszugangsschlüsselverwaltungseinheit 78, eine Schreibdatenverifizierungseinheit 79, eine Datenspeicherbankinformations-Übertragungssteuerungseinheit 80, eine Nicht-Neuschreibziel-Stromversorgungsverwaltungseinheit 81, eine Dateiübertragungssteuerungseinheit 82, eine Schreibdatenverteilungssteuerungseinheit 83, eine Aktivierungsanfrageanweisungseinheit 84, eine Neuschreibzielgruppenverwaltungseinheit 85, eine Rollback-Ausführungssteuerungseinheit 86, eine Neuschreibfortschrittssituations-Anzeigesteuerungseinheit 87, eine Fortschrittszustandssynchronisationssteuerungseinheit 88, eine Anzeigesteuerungsinformations-Empfangssteuerungseinheit 89, eine Fortschrittsanzeigebildschirm-Anzeigesteuerungseinheit 90, eine Programmaktualisierungs-Mitteilungssteuerungseinheit 91 und eine Selbsterhaltungsenergie-Ausführungssteuerungseinheit 92. Die Funktionsblöcke, die die charakteristischen Prozesse durchführen, werden später beschrieben.
  • Wie es in 51 dargestellt ist, enthält die ECU 19 eine Schreibdatenempfangseinheit 101 und eine Programmneuschreibeinheit 102. Die Schreibdatenempfangseinheit 101 empfängt Schreibdaten von dem CGW 13. Wenn die Schreibdaten von dem CGW 13 durch die Schreibdatenempfangseinheit 101 empfangen sind, schreibt die Programmneuschreibeinheit 102 die empfangenen Schreibdaten in einen Flash-Speicher und schreibt somit ein Applikationsprogramm neu. Zusätzlich zu der oben beschriebenen Konfiguration enthält die ECU 19 eine Differenzdatenkonsistenzbestimmungseinheit 103, eine Neuschreibausführungssteuerungseinheit 104, eine Sitzungserrichtungseinheit 105, eine Wiederholungspunktbestimmungseinheit 106, eine Aktivierungsausführungssteuerungseinheit 107 und eine Selbsterhaltungsenergie-Ausführungssteuerungseinheit 108 als eine Konfiguration zum Durchführen der charakteristischen Prozesse. Die Funktionsblöcke, die die charakteristischen Prozesse durchführen, werden später beschrieben.
  • Wie es in 52 dargestellt ist, enthält die fahrzeugeigene Anzeige 7 eine Verteilungsspezifikationsdaten-Empfangssteuerungseinheit 111. Die Verteilungsspezifikationsdaten-Empfangssteuerungseinheit 111 steuert einen Empfang der Verteilungsspezifikationsdaten.
  • Im Folgenden werden die jeweiligen oben angegebenen Prozesse (1) bis (26) in der genannten Reihenfolge beschrieben.
  • Verteilungspaketübertragungsbestimmungsprozess und (2) Verteilungspaket-Download-Bestimmungsprozess
  • Der Verteilungspaketübertragungsbestimmungsprozess in der Zentrumsvorrichtung 3 wird mit Bezug auf die 53 und 54 beschrieben, und der Verteilungspaket-Download-Bestimmungsprozess in der Master-Vorrichtung 11 wird mit Bezug auf die 55 und 56 beschrieben.
  • Wie es in 53 dargestellt ist, enthält die Zentrumsvorrichtung 3 eine Software-Informationsbeschaffungseinheit 52a, eine Aktualisierungsverfügbarkeitsbestimmungseinheit 52b, eine Aktualisierungseigenschaftsbestimmungseinheit 52c und eine Kampagnen-Informationsübertragungseinheit 52d in der Verteilungspaketübertragungsbestimmungseinheit 52. Die Software-Informationsbeschaffungseinheit 52a beschafft Software-Informationen jeder ECU 19 von der Fahrzeugseite. Insbesondere beschafft die Software-Informationsbeschaffungseinheit 52a ECU-Konfigurationsinformationen, die Software-Informationen wie eine Version und eine Schreibbank sowie Hardware-Informationen enthalten, von der Fahrzeugseite. Die Software-Informationsbeschaffungseinheit 52a kann Fahrzeugbedingungsinformationen wie einen Problemcode, eine Einstellung einer Antidiebstahlalarmfunktion und Lizenzvereinbarungsinformationen von der Fahrzeugseite in Kombination mit den ECU-Konfigurationsinformationen beschaffen.
  • Wenn die Software-Informationen durch die Software-Informationsbeschaffungseinheit 52a beschafft sind, bestimmt die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b, ob Aktualisierungsdaten für das Fahrzeug verfügbar sind, auf der Grundlage der beschafften Software-Informationen. Das heißt, die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b vergleicht eine Version der beschafften Software-Informationen mit einer Version der letzten Software-Informationen, die durch die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b verwaltet werden, um zu bestimmen, ob beide Versionen übereinstimmen, und bestimmt somit eine Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug. Die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b bestimmt, dass es keine Aktualisierungsdaten für das Fahrzeug gibt, wenn bestimmt wird, dass beide Versionen übereinstimmen, und bestimmt, dass Aktualisierungsdaten für das Fahrzeug verfügbar sind, wenn bestimmt wird, dass beide Versionen nicht übereinstimmen.
  • Wenn durch die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b bestimmt wird, dass Aktualisierungsdaten für das Fahrzeug verfügbar sind, bestimmt die Aktualisierungseigenschaftsbestimmungseinheit 52c, ob eine Fahrzeugbedingung eine Bedingung ist, die für eine Aktualisierung eines Programmes oder Ähnliches unter Verwendung eines Verteilungspaketes geeignet ist. Insbesondere bestimmt die Aktualisierungseigenschaftsbestimmungseinheit 52c, ob eine Lizenzvereinbarung vorliegt, ob eine Fahrzeugposition innerhalb eines vorbestimmten Bereiches liegt, der im Voraus von dem Nutzer registriert wird, ob eine Einstellung einer Alarmfunktion des Fahrzeugs gültig ist, ob Probleminformationen hinsichtlich der ECU 19 erzeugt wurden, und bestimmt, ob eine Fahrzeugbedingung eine Bedingung ist, die für ein Herunterladen eines Verteilungspaketes geeignet ist. Das heißt, die Aktualisierungseigenschaftsbestimmungseinheit 52c bestimmt, ob das Fahrzeug ein Fahrzeug ist, in dem ein Programm gegen die Absicht des Nutzers aktualisiert werden würde, oder ein Fahrzeug ist, in dem eine Installation nach einem Download fehlschlagen würde, auch wenn der Download erfolgreich ist.
  • Wenn bestimmt wird, dass die Lizenzvereinbarung vorliegt, die Fahrzeugposition innerhalb des vorbestimmten Bereiches liegt, der im Voraus von dem Nutzer registriert wird, die Einstellung der Alarmfunktion des Fahrzeugs gültig ist und keine Probleminformationen hinsichtlich der ECU 19 ausgegeben werden, bestimmt die Aktualisierungseigenschaftsbestimmungseinheit 52c, dass die Fahrzeugbedingung eine Bedingung ist, die zum Aktualisieren eines Programms oder Ähnliches unter Verwendung eines Verteilungspakets geeignet ist. Die Aktualisierungseigenschaftsbestimmungseinheit 52c bestimmt, dass die Fahrzeugbedingung keine Bedingung ist, die zum Aktualisieren eines Programms oder Ähnliches unter Verwendung eines Verteilungspaketes geeignet ist, wenn bestimmt wird, dass mindestens eine der folgenden Bedingungen gilt: Eine Lizenzvereinbarung liegt nicht vor, die Fahrzeugposition liegt nicht innerhalb des vorbestimmten Bereiches, der im Voraus von dem Nutzer registriert wird, die Einstellung der Alarmfunktion des Fahrzeugs ist nicht gültig, und Probleminformationen hinsichtlich der ECU 19 wurden erzeugt.
  • Die Kampagnen-Informationsübertragungseinheit 52d überträgt Kampagnen-Informationen an die Master-Vorrichtung 11, wenn die Aktualisierungseigenschaftsbestimmungseinheit 52c bestimmt, dass die Fahrzeugbedingung eine Bedingung ist, die zum Aktualisieren eines Programms oder Ähnliches unter Verwendung eines Verteilungspakets geeignet ist. Die Kampagnen-Informationsübertragungseinheit 52d überträgt die Kampagnen-Informationen nicht an die Master-Vorrichtung 11, wenn durch die Aktualisierungseigenschaftsbestimmungseinheit 52c bestimmt wird, dass die Fahrzeugbedingung keine Bedingung ist, die für ein Aktualisieren eines Programmes oder Ähnliches unter Verwendung eines Verteilungspaketes geeignet ist. Die Kampagnen-Informationsübertragungseinheit 52d führt die oben beschriebene Bestimmung durch und speichert somit Informationen hinsichtlich eines Fahrzeugs, bei dem die Kampagnen-Informationen nicht übertragen wurden, an die Master-Vorrichtung 11. Die Zentrumsvorrichtung 3 kann die Informationen hinsichtlich eines Fahrzeugs, bei dem die Kampagnen-Informationen nicht übertragen wurden, für die Master-Vorrichtung 11 anzeigen.
  • Im Folgenden wird ein Betrieb der Verteilungspaketübertragungsbestimmungseinheit 52 in der Zentrumsvorrichtung 3 mit Bezug auf 54 beschrieben. Die Zentrumsvorrichtung 3 führt ein Verteilungspaketübertragungsbestimmungsprogramm und einen Verteilungspaketübertragungsbestimmungsprozess durch.
  • Wenn der Verteilungspaketübertragungsbestimmungsprozess initiiert wird, beschafft die Zentrumsvorrichtung 3 Software-Informationen von der Fahrzeugseite (S101; entspricht einem Software-Informationsbeschaffungsschritt). Das heißt, die Zentrumsvorrichtung 3 bestimmt, ob eine Softwareaktualisierung für das Fahrzeug verfügbar ist. Die Zentrumsvorrichtung 3 bestimmt eine Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug auf der Grundlage der beschafften Software-Informationen (S102; entspricht einem Aktualisierungsverfügbarkeitsbestimmungsschritt). Wenn bestimmt wird, dass Aktualisierungsdaten für das Fahrzeug verfügbar sind (S102: Ja), wird von der Zentrumsvorrichtung 3 bestimmt, ob die Fahrzeugbedingung eine Bedingung ist, die zum Aktualisieren des Programms oder Ähnlichem unter Verwendung des Verteilungspakets geeignet ist (S103; entspricht einem Aktualisierungseigenschaftsbestimmungsschritt). Wenn bestimmt wird, dass die Fahrzeugbedingung eine Bedingung ist, die zum Aktualisieren eines Programms oder Ähnliches unter Verwendung eines Verteilungspakets geeignet ist (S103: Ja), überträgt die Zentrumsvorrichtung 3 Kampagnen-Informationen an die Master-Vorrichtung 11 (S104; entspricht einem Kampagnen-Informationsübertragungsschritt) und beendet den Verteilungspaketübertragungsbestimmungsprozess.
  • Wenn bestimmt wird, dass Aktualisierungsdaten für das Fahrzeug nicht verfügbar sind (S102: Nein), überträgt die Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 Informationen, die angeben, dass das Fahrzeug kein Verteilungspaketübertragungsziel ist, das heißt, dass eine Aktualisierung eines Applikationsprogramms nicht verfügbar ist (S105), und beendet den Übertragungsbestimmungsprozess des Verteilungspakets. Wenn bestimmt wird, dass die Fahrzeugbedingung keine Bedingung ist, die zum Aktualisieren eines Programms oder Ähnliches unter Verwendung des Verteilungspakets geeignet ist (S103: Nein), überträgt die Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 Informationen, die angeben, dass die Fahrzeugbedingung zum Aktualisieren eines Programms oder Ähnliches nicht geeignet ist, und den Grund dafür (S106) und beendet den Verteilungspaketübertragungsbestimmungsprozess. In diesem Fall zeigt die Master-Vorrichtung 11 auf der fahrzeugeigenen Anzeige 7 die Informationen, die angeben, dass die Fahrzeugbedingung zum Aktualisieren eines Programms nicht geeignet ist, oder Ähnliches und den Grund dafür an. Wenn beispielsweise keine Lizenzvereinbarung vorliegt, zeigt die Master-Vorrichtung 11 den Inhalt, dass „das Programm nicht aktualisiert werden kann, da die Lizenz nicht gültig ist; kontaktieren Sie bitte Ihren Händler“ auf der fahrzeugeigenen Anzeige 7 an. Demzufolge ist es möglich, den Grund dafür, warum die Fahrzeugbedingung zum Aktualisieren eines Programms oder Ähnliches nicht geeignet ist, dem Nutzer zu präsentieren und somit dem Nutzer geeignete Informationen bereitzustellen.
  • Wie es oben beschrieben wurde, kann die Zentrumsvorrichtung 3 mittels Durchführung des Verteilungspaketübertragungsbestimmungsprozesses vor einem Übertragen des Verteilungspaketes an die Master-Vorrichtung 11 und vor einem Übertragen von Kampagnen-Informationen bestimmen, ob eine Bedingung zum Aktualisieren eines Programms oder Ähnliches unter Verwendung eines Verteilungspakets geeignet ist. Die Zentrumsvorrichtung 3 kann Kampagnen-Informationen an die Master-Vorrichtung 11 übertragen, um ein Verteilungspaket an die Master-Vorrichtung 11 nur in einem Fall zu übertragen, in dem bestimmt wird, dass eine Bedingung zum Aktualisieren eines Programms oder Ähnliches unter Verwendung des Verteilungspakets geeignet ist.
  • Die Zentrumsvorrichtung 3 kann die Kampagnen-Informationen an die Master-Vorrichtung 11 in einem Fall übertragen, in dem eine Lizenzvereinbarung vorliegt, eine Fahrzeugposition innerhalb eines vorbestimmten Bereiches liegt, der im Voraus von dem Nutzer registriert wird, eine Einstellung einer Alarmfunktion des Fahrzeugs gültig ist und keine Probleminformationen hinsichtlich der ECU 19 erzeugt wurden, wie in dem Fall, in dem eine Bedingung zum Aktualisieren eines Programms oder Ähnliches unter Verwendung eines Verteilungspakets geeignet ist. Das heißt, die Zentrumsvorrichtung 3 kann eine Situation verhindern, in der die Kampagnen-Informationen an die Master-Vorrichtung 11 übertragen werden, auch wenn die Lizenzvereinbarung nicht vorliegt, die Fahrzeugposition außerhalb des vorbestimmten Bereiches liegt, beispielsweise eine Position weit entfernt von dem Zuhause ist, die Einstellung der Alarmfunktion des Fahrzeugs ungültig ist oder Probleminformationen hinsichtlich der ECU erzeugt wurden. Wie es oben beschrieben wurde, kann die Zentrumsvorrichtung 3 verhindern, dass die Kampagnen-Informationen an die Master-Vorrichtung 11 für ein Fahrzeug übertragen werden, in dem eine Programmaktualisierung von dem Nutzer nicht beabsichtigt ist oder eine Installation nach einem Download fehlschlagen würde, auch wenn der Download erfolgreich ist.
  • Die Zentrumsvorrichtung 3 kann den Verteilungspaketübertragungsbestimmungsprozess während einer Übertragung eines Verteilungspakets durchführen. Wenn in diesem Fall während der Übertragung des Verteilungspakets bestimmt wird, dass eine Fahrzeugbedingung zum Aktualisieren eines Programms unter Verwendung des Verteilungspakets geeignet ist, setzt die Zentrumsvorrichtung 3 die Übertragung des Verteilungspakets fort, aber wenn Verteilungspakets während einer Übertragung des Verteilungspakets bestimmt wird, dass die Fahrzeugbedingung zum Aktualisieren eines Programms unter Verwendung des nicht geeignet ist, stoppt die Zentrumsvorrichtung die Übertragung des Verteilungspakets. Das heißt, die Zentrumsvorrichtung 3 stoppt die Übertragung des Verteilungspakets, wenn beispielsweise Probleminformationen hinsichtlich der ECU 19 während der Übertragung des Verteilungspakets ausgegeben werden.
  • Im Folgenden wird ein Prozess in der Master-Vorrichtung 11 beschrieben, die die Kampagnen-Informationen, die von der Zentrumsvorrichtung 3 übertragen werden, empfangen hat. Der Verteilungspaket-Download-Bestimmungsprozess in der Master-Vorrichtung 11 wird mit Bezug auf die 55 und 56 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Verteilungspaket-Download-Bestimmungsprozess in der Master-Vorrichtung 11 durch. Der oben beschriebene Verteilungspaketübertragungsbestimmungsprozess (1) ist ein Bestimmungsprozess, der von der Zentrumsvorrichtung 3 in der Kampagnen-Mitteilungsphase vor der Download-Phase durchgeführt wird, aber der Verteilungspaket-Download-Bestimmungsprozess ist ein Bestimmungsprozess, der von der Master-Vorrichtung 11 in der Download-Phase durchgeführt wird. In der vorliegenden Ausführungsform wird ein Fall beschrieben, bei dem das DCM 12 den Verteilungspaket-Download-Bestimmungsprozess in der Master-Vorrichtung 11 durchführt, aber das CGW 13 kann die Funktion des DCM 12 aufweisen, um den Verteilungspaket-Download-Bestimmungsprozess durchzuführen.
  • Wie es in 55 dargestellt ist, enthält das DCM 12 eine Kampagnen-Informationsempfangseinheit 67a, eine Download-Fähigkeitsbestimmungseinheit 67b und eine Download-Ausführungseinheit 67c in der Verteilungspaket-Download-Bestimmungseinheit 67. Die Kampagnen-Informationsempfangseinheit 67a empfängt Kampagnen-Informationen von der Zentrumsvorrichtung 3. Wenn die Kampagnen-Informationen von der Zentrumsvorrichtung 3 empfangen wurden, wird das Kampagnen-Mitteilungspiktogramm 501a, das in 32 dargestellt ist, angezeigt. Wenn die Kampagnen-Informationen durch die Kampagnen-Informationsempfangseinheit 67a empfangen wurden, bestimmt die Download-Fähigkeitsbestimmungseinheit 67b, ob eine Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist. Das heißt, die Download-Fähigkeitsbestimmungseinheit 67b bestimmt, ob eine Radiowellenumgebung zur Kommunikation mit der Zentrumsvorrichtung 3 günstig ist, ob eine Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als eine vorbestimmte Kapazität ist, und ob eine freie Speicherkapazität des DCM 12 gleich oder größer als eine vorbestimmte Kapazität ist, und bestimmt, ob eine Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist.
  • Wenn bestimmt wird, dass die Radiowellenumgebung günstig ist, die Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als eine vorbestimmte Kapazität ist und die freie Speicherkapazität des DCM 12 gleich oder größer als eine vorbestimmte Kapazität ist, bestimmt die Download-Fähigkeitsbestimmungseinheit 67b, dass die Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist. Die Download-Fähigkeitsbestimmungseinheit 67b bestimmt, dass die Fahrzeugbedingung keine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist, wenn bestimmt wird, dass mindestens eine der folgenden Bedingungen gilt: Die Radiowellenumgebung ist nicht günstig, die Restbatterieladung der Fahrzeugbatterie 40 ist nicht gleich oder größer als die vorbestimmt Kapazität, und die freie Speicherkapazität des DCM 12 ist nicht gleich oder größer als die vorbestimmte Kapazität.
  • Wie es oben beschrieben wurde, bestimmt die Download-Fähigkeitsbestimmungseinheit 67b, ob die Möglichkeit besteht, dass der Download normal nicht beendet werden kann. Die Bestimmung in der Download-Fähigkeitsbestimmungseinheit 67b wird unter der Bedingung durchgeführt, dass der „Download starten“-Knopf 503a von dem Nutzer auf dem Download-Zustimmungsbildschirm 503 betätigt wird, wie es in den 34 und 35 dargestellt ist. Die Download-Fähigkeitsbestimmungseinheit 67b kann ausgelegt sein, einen Bestimmungsposten in der Zentrumsvorrichtung 3 zu bestimmen. Das heißt, die Download-Fähigkeitsbestimmungseinheit 67b bestimmt beispielsweise in einem Fall, in dem die Einstellung der Alarmfunktion des Fahrzeugs gültig ist oder keine Probleminformationen hinsichtlich der ECU 19 erzeugt wurden, dass sich das Fahrzeug in einer Download-fähigen Bedingung befindet.
  • Die Download-Ausführungseinheit 67c lädt das Verteilungspaket von der Zentrumsvorrichtung 3 herunter, wenn die Download-Fähigkeitsbestimmungseinheit 67b bestimmt, dass die Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist. Das heißt, die Download-Ausführungseinheit 67c führt einen Download des Verteilungspakets nach Bestätigung, dass der Download normal beendet werden kann, aus.
  • Die Download-Ausführungseinheit 67c lädt das Verteilungspaket von der Zentrumsvorrichtung 3 nicht herunter, wenn die Download-Fähigkeitsbestimmungseinheit 67b bestimmt, dass die Fahrzeugbedingung keine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist. Das heißt, die Download-Ausführungseinheit 67c führt den Download des Verteilungspakets in einem Fall nicht aus, in dem die Möglichkeit besteht, dass der Download nicht normal beendet werden kann. In diesem Fall befiehlt die Download-Ausführungseinheit 67c der fahrzeugeigenen Anzeige 7, einen Pop-up-Bildschirm, der angibt, dass der Download nicht initiiert werden kann, und den Grund dafür angibt, auf dem Navigationsbildschirm 501 anzuzeigen.
  • Im Folgenden wird ein Betrieb der Verteilungspaket-Download-Bestimmungseinheit 67 in der Master-Vorrichtung 11 mit Bezug auf 56 beschrieben. Die Master-Vorrichtung 11 führt ein Verteilungspaket-Download-Bestimmungsprogramm aus und führt somit den Verteilungspaket-Download-Bestimmungsprozess durch.
  • Die Master-Vorrichtung 11 empfängt Kampagnen-Informationen von der Zentrumsvorrichtung 3, wenn der Verteilungspaket-Download-Bestimmungsprozess initiiert wird (S201; entspricht einem Kampagnen-Informationsempfangsschritt). Die Master-Vorrichtung 11 bestimmt, ob eine Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist (S202; entspricht einem Download-Fähigkeitsbestimmungsschritt). Wenn bestimmt wird, dass die Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist (S202: Ja), lädt die Master-Vorrichtung 11 das Verteilungspaket entsprechend der Kampagne von der Zentrumsvorrichtung 3 herunter (S203; entspricht einem Download-Ausführungsschritt) und beendet den Verteilungspaket-Download-Bestimmungsprozess. Wenn bestimmt wird, dass die Fahrzeugbedingung keine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist (S202: Nein), lädt die Master-Vorrichtung 11 das Verteilungspaket von der Zentrumsvorrichtung 3 nicht herunter und beendet den Verteilungspaket-Download-Bestim mungsprozess.
  • Wie es oben beschrieben wurde, kann die Master-Vorrichtung 11 mittels Durchführung des Verteilungspaket-Download-Bestimmungsprozesses vor dem Herunterladen des Verteilungspaketes von der Zentrumsvorrichtung 3 bestimmen, ob eine Fahrzeugbedingung eine Bedingung ist, gemäß der ein Verteilungspaket herunterladbar ist. Die Master-Vorrichtung 11 kann bzw. muss das Verteilungspaket nur dann herunterladen, wenn die Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist.
  • Die Master-Vorrichtung 11 kann das Verteilungspaket von der Zentrumsvorrichtung 3 herunterladen, wenn die Radiowellenumgebung günstig ist, die Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als eine vorbestimmte Kapazität ist und die freie Speicherkapazität des DCM 12 gleich oder größer als eine vorbestimmte Kapazität ist, wie in dem Fall, der zum Herunterladen des Verteilungspakets geeignet ist. Das heißt, in einem Fall, in dem die Radiowellenumgebung nicht günstig ist, die Restbatterieladung der Fahrzeugbatterie 40 kleiner als die vorbestimmte Kapazität ist oder die freie Speicherkapazität des DCM 12 kleiner als die vorbestimmte Kapazität ist, ist es möglich, eine Situation zu verhindern, in der das Verteilungspaket von der Zentrumsvorrichtung 3 heruntergeladen wird.
  • Die Master-Vorrichtung 11 kann den Verteilungspaket-Download-Bestimmungsprozess während eines Herunterladens des Verteilungspakets durchführen. Wenn in diesem Fall während eines Herunterladens des Verteilungspakets bestimmt wird, dass die Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist, setzt die Master-Vorrichtung 11 das Herunterladen des Verteilungspakets von der Zentrumsvorrichtung 3 fort; wenn aber während des Herunterladens des Verteilungspaket bestimmt wird, dass die Fahrzeugbedingung keine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist, stoppt die Master-Vorrichtung das Herunterladen des Verteilungspakets von der Zentrumsvorrichtung 3. Das heißt, die Master-Vorrichtung 11 stoppt das Herunterladen des Verteilungspakets beispielsweise in einem Fall, in dem während des Herunterladens des Verteilungspakets die Radiowellenumgebung ungünstig wird, die Restbatterieladung der Fahrzeugbatterie 40 kleiner als die vorbestimmte Kapazität wird oder die freie Speicherkapazität des DCM 12 kleiner als die vorbestimmte Kapazität wird.
  • Auf die oben beschriebene Weise bestimmt die Zentrumsvorrichtung 3, ob das Fahrzeug ein Fahrzeug ist, in dem eine Programmaktualisierung von dem Nutzer nicht beabsichtigt ist oder eine Installation wahrscheinlich fehlschlagen würde, und die Master-Vorrichtung 11 bestimmt, ob die Möglichkeit besteht, dass der Download in der Master-Vorrichtung 11 fehlschlagen würde, sodass eine Übertragung unnötiger Kampagnen-Informationen und eines Verteilungspaketes von der Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 vermieden werden kann.
  • Die Zentrumsvorrichtung 3 weist die folgende Konfiguration auf. Die Zentrumsvorrichtung enthält die Software-Informationsbeschaffungseinheit 52a, die Software-Informationen einer elektronischen Steuerungseinheit von der Fahrzeugseite beschafft, die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b, die eine Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug auf der Grundlage der Software-Informationen bestimmt, die durch die Software-Informationsbeschaffungseinheit beschafft werden, die Aktualisierungseigenschaftsbestimmungseinheit 52c, die in einem Fall, in dem von der Aktualisierungsverfügbarkeitsbestimmungseinheit bestimmt wird, dass Aktualisierungsdaten verfügbar sind, bestimmt, ob eine Fahrzeugbedingung eine Bedingung ist, die zur Aktualisierung geeignet ist, und die Kampagnen-Informationsübertragungseinheit 52d, die Kampagnen-Informationen hinsichtlich einer Aktualisierung an eine Fahrzeug-Master-Vorrichtung in einem Fall überträgt, in dem von der Aktualisierungseigenschaftsbestimmungseinheit bestimmt wird, dass die Fahrzeugbedingung eine Bedingung ist, die für die Aktualisierung geeignet ist.
  • Die Master-Vorrichtung 11 weist die folgende Konfiguration auf. Die Master-Vorrichtung enthält die Kampagnen-Informationsempfangseinheit 67a, die Kampagnen-Informationen von einer Zentrumsvorrichtung empfängt, die Download-Fähigkeitsbestimmungseinheit 67b, die in einem Fall, in dem die Kampagnen-Informationen durch die Kampagnen-Informationsempfangseinheit empfangen werden, bestimmt, ob eine Fahrzeugbedingung eine Bedingung ist, gemäß der ein Verteilungspaket herunterladbar ist, und die Download-Ausführungseinheit 67c, die das Verteilungspaket von der Zentrumsvorrichtung in einem Fall herunterlädt, in dem von der Download-Fähigkeitsbestimmungseinheit bestimmt wird, dass die Fahrzeugbedingung eine Bedingung ist, gemäß der das Verteilungspaket herunterladbar ist.
  • Schreibdatenübertragungsbestimmungsprozess, (4) Schreibdatenbeschaffungsbestimmungsprozess und (5) Installationsbefehlsbestimmungsprozess
  • Der Schreibdatenübertragungsbestimmungsprozess wird mit Bezug auf die 57 und 58 beschrieben, der Schreibdatenbeschaffungsbestimmungsprozess wird mit Bezug auf die 59 und 60 beschrieben, und der Installationsbefehlsbestimmungsprozess wird mit Bezug auf die 61 bis 64 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Schreibdatenübertragungsbestimmungsprozess in dem DCM 12 durch. Hier wird ein Zustand angenommen, bei dem ein Verteilungspaket, das von der Zentrumsvorrichtung 3 an das DCM 12 übertragen wird, entpackt wird und Schreibdaten aus dem Verteilungspaket extrahiert werden.
  • Wie es in 57 dargestellt ist, enthält das DCM 12 eine Beschaffungsanfrageempfangseinheit 68a und eine Kommunikationszustandsbestimmungseinheit 68b in der Schreibdatenübertragungsbestimmungseinheit 68. Die Beschaffungsanfrageempfangseinheit 68a empfängt eine Beschaffungsanfrage für Schreibdaten von dem CGW 13. Wenn die Beschaffungsanfrage für die Schreibdaten von der Beschaffungsanfrageempfangseinheit 68a empfangen wird, bestimmt die Kommunikationszustandsbestimmungseinheit 68b einen Zustand einer Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 beispielsweise in einem Fall, in dem ein Übertragungsmachbarkeitsbestimmungs-Flag, das von dem Nutzer im Voraus eingestellt wird, einen ersten vorbestimmten Wert aufweist. Das Übertragungsmachbarkeitsbestimmungs-Flag weist beispielsweise 1 (erster vorbestimmter Wert) in einem Fall auf, in dem eine vorbestimmte Bedingung während einer Installation geprüft wird, und weist 0 (zweiter vorbestimmter Wert) in einem Fall auf, in dem die Prüfung weggelassen wird. Die Schreibdatenübertragungseinheit 64 überträgt die Schreibdaten an das CGW 13 unter der Bedingung, dass die Kommunikationszustandsbestimmungseinheit 68b bestimmt, dass sich die Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 in einem Verbindungszustand befindet.
  • Im Folgenden wird mit Bezug auf 58 ein Betrieb der Schreibdatenübertragungsbestimmungseinheit 68 in dem DCM 12 beschrieben. Das DCM 12 führt ein Schreibdatenübertragungsbestimmungsprogramm aus und führt somit den Schreibdatenübertragungsbestimmungsprozess durch. Hier wird ein Prozess in einem Fall beschrieben, in dem das CGW 13 das DCM 12 auffordert, als Antwort auf einen Installationsbefehl von der Zentrumsvorrichtung 3 die Schreibdaten zu beschaffen.
  • Wenn bestimmt wird, dass eine Beschaffungsanfrage für die Schreibdaten von dem CGW 13 empfangen wurde, initiiert das DCM 12 den Schreibdatenübertragungsbestimmungsprozess. Wenn der Schreibdatenübertragungsbestimmungsprozess initiiert ist, bestimmt das DCM 12 das Übertragungsmachbarkeitsbestimmungs-Flag (S301 und S302). Wenn bestimmt wird, dass das Übertragungsmachbarkeitsbestimmungs-Flag den ersten vorbestimmten Wert aufweist (S301: Ja), bestimmt das DCM 12 einen Zustand einer Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 (S303). Wenn bestimmt wird, dass sich die Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 in einem Verbindungszustand befindet (S303: Ja), überträgt das DCM 12 die Schreibdaten an das CGW 13 (S304) und beendet den Schreibdatenübertragungsbestimmungsprozess. Wenn bestimmt wird, dass sich die Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 nicht in einem Verbindungszustand, sondern in einem Unterbrechungszustand befindet (S303: Nein), überträgt das DCM 12 die Schreibdaten nicht an das CGW 13 und beendet den Schreibdatenübertragungsbestimmungsprozess.
  • Wenn bestimmt wird, dass das Übertragungsmachbarkeitsbestimmungs-Flag den zweiten vorbestimmten Wert aufweist (S302: Ja), überträgt das DCM 12 die Schreibdaten an das CGW 13, ohne einen Zustand der Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 zu bestimmen, und beendet den Schreibdatenübertragungsbestim m ungsprozess.
  • Wie es oben beschrieben wurde, führt das DCM 12 den Schreibdatenübertragungsbestimmungsprozess vor der Übertragung der Schreibdaten an das CGW 13 durch und bestimmt einen Zustand einer Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 in einem Fall, in dem das Übertragungsmachbarkeitsbestimmungs-Flag den ersten vorbestimmten Wert aufweist. Wenn bestimmt wird, dass sich die Datenkommunikation in einem Verbindungszustand befindet, initiiert das DCM 12 die Übertragung der Schreibdaten, und wenn bestimmt wird, dass sich die Datenkommunikation in einem Unterbrechungszustand befindet, wartet das DCM 12, ohne eine Übertragung der Schreibdaten zu initiieren. In einer Situation, in der eine Datenkommunikation mit der Zentrumsvorrichtung 3 möglich ist, können die Schreibdaten an das CGW 13 übertragen werden, und es kann eine Installation in der Neuschreibziel-ECU 19 durchgeführt werden.
  • In einem Fall beispielsweise, in dem es mehrere Neuschreibziel-ECUs 19 gibt und eine Installation Zeit benötigt, kann das fahrzeugeigene System 4 der Zentrumsvorrichtung 3 eine Installationsfortschrittssituation mitteilen, und das mobile Endgerät 6 kann die Fortschrittssituation nacheinander anzeigen. Das DCM 12 kann den Schreibdatenübertragungsbestimmungsprozess während einer Übertragung der Schreibdaten durchführen. Wenn in diesem Fall während der Übertragung der Schreibdaten bestimmt wird, dass sich eine Datenkommunikation in einem verbindungszustand befindet, setzt das DCM 12 die Übertragung der Schreibdaten fort, aber wenn während der Übertragung der Schreibdaten bestimmt wird, dass sich die Datenkommunikation in einem Unterbrechungszustand befindet, stoppt das DCM die Übertragung der Schreibdaten.
  • Im Folgenden wird der Schreibdatenbeschaffungsbestimmungsprozess beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Schreibdatenbeschaffungsbestimmungsprozess in dem CGW 13 durch. Der Schreibdatenübertragungsbestimmungsprozess (3) ist ein Bestimmungsprozess, der von dem DCM 12 in der Installationsphase durchgeführt wird, und der Schreibdatenbeschaffungsbestimmungsprozess ist ein Bestimmungsprozess, der von dem CGW 13 in derselben Installationsphase durchgeführt wird.
  • Wie es in 59 dargestellt ist, enthält das CGW 13 eine Ereignisauftrittsbestimmungseinheit 76a und eine Kommunikationszustandsbestimmungseinheit 76b in der Schreibdatenbeschaffungsbestimmungseinheit 76. Die Ereignisauftrittsbestimmungseinheit 76a bestimmt das Auftreten eines Ereignisses einer Beschaffungsanfrage (Installationsbefehl) für die Schreibdaten von der Zentrumsvorrichtung 3. Wenn das Auftreten des Ereignisses der Beschaffungsanfrage der Schreibdaten durch die Ereignisauftrittsbestimmungseinheit 76a bestimmt wird, bestimmt die Kommunikationszustandsbestimmungseinheit 76b einen Zustand einer Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 beispielsweise in einem Fall, in dem ein Beschaffungsmachbarkeitsbestimmungs-Flag, das von dem Nutzer im Voraus eingestellt wird, einen ersten vorbestimmten Wert aufweist. Das Beschaffungsmachbarkeitsbestimmungs-Flag weist beispielsweise 1 (erster vorbestimmter Wert) auf, wenn eine vorbestimmte Bedingung während einer Installation erfüllt ist, und weist 0 (zweiter vorbestimmter Wert) in einem Fall auf, in dem die Prüfung weggelassen wird. Hier kann die Ereignisauftrittsbestimmungseinheit 76a das Auftreten eines Ereignisses auf der Grundlage der Ausgabe eines Befehls zur Installation von dem Nutzer bestimmen, und bestimmen, dass ein Ereignis einer Beschaffungsanfrage für die Schreibdaten aufgetreten ist, wenn beispielsweise eine Mitteilung, dass der Nutzer einen Installationsbefehl (siehe 39) auf der fahrzeugeigenen Anzeige 7 ausgegeben hat, empfangen wird.
  • Im Folgenden wird mit Bezug auf 60 ein Betrieb der Schreibdatenbeschaffungsbestimmungseinheit 76 in dem CGW 13 beschrieben. Das CGW 13 führt ein Schreibdatenbeschaffungsbestimmungsprogramm aus und führt somit den Schreibdatenbeschaffungsbestimmungsprozess durch.
  • Wenn bestimmt wird, dass das Ereignis der Anfrage zum Beschaffen der Schreibdaten aufgetreten ist, initiiert das CGW 13 den Schreibdatenbeschaffungsbestimmungsprozess. Wenn der Schreibdatenbeschaffungsbestimmungsprozess initiiert ist, bestimmt das CGW 13 das Beschaffungsmachbarkeitsbestimmungs-Flag (S401 und S402). Wenn bestimmt wird, dass das Beschaffungsmachbarkeitsbestimmungs-Flag den ersten vorbestimmten Wert aufweist (S401: Ja), bestimmt das CGW 13 einen Zustand einer Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 (S403). Wenn bestimmt wird, dass sich die Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 in einem Verbindungszustand befindet (S403: Ja), überträgt das CGW 13 eine Beschaffungsanfrage für die Schreibdaten an das DCM 12 (S404) und beendet den Schreibdatenbeschaffungsbestimmungsprozess. Wenn die Schreibdaten danach von dem DCM 12 übertragen wurden, verteilt das CGW 13 die übertragenen Schreibdaten an die Neuschreibziel-ECU 19. Wenn bestimmt wird, dass sich die Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 nicht in einem Verbindungszustand, sondern in einem Unterbrechungszustand befindet (S403: Nein), überträgt das CGW 13 die Beschaffungsanfrage für die Schreibdaten nicht an das DCM 12 und beendet den Schreibdatenbeschaffungsbestimmungsprozess.
  • Wenn bestimmt wird, dass das Beschaffungsmachbarkeitsbestimmungs-Flag den zweiten vorbestimmten Wert aufweist (S402: Ja), überträgt das CGW 13 eine Beschaffungsanfrage für die Schreibdaten an das DCM 12, ohne einen Zustand der Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 zu bestimmen, und beendet den Schreibdatenbeschaffungsbestimmungsprozess.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Schreibdatenbeschaffungsbestimmungsprozess vor der Beschaffung der Schreibdaten von dem DCM 12 durch und bestimmt einen Zustand einer Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem DCM 12 in einem Fall, in dem das Beschaffungsmachbarkeitsbestimmungs-Flag den ersten vorbestimmten Wert aufweist. Wenn bestimmt wird, dass sich die Datenkommunikation in einem Verbindungszustand befindet, initiiert das CGW 13 die Beschaffung der Schreibdaten, und wenn bestimmt wird, dass sich die Datenkommunikation in einem Unterbrechungszustand befindet, wartet das CGW, ohne eine Beschaffung der Schreibdaten zu initiieren. In einer Situation, in der eine Kommunikation mit der Zentrumsvorrichtung 3 möglich ist, können die Schreibdaten von dem DCM 12 beschafft werden, und es kann eine Installation in der Neuschreibziel-ECU 19 durchgeführt werden.
  • In einem Fall beispielsweise, in dem es mehrere Neuschreibziel-ECUs 19 gibt und die Installation Zeit benötigt, kann das fahrzeugeigene System 4 der Zentrumsvorrichtung 3 eine Installationsfortschrittssituation mitteilen, und das mobile Endgerät 6 kann die Fortschrittssituation nacheinander anzeigen. Das CGW 13 kann den Schreibdatenbeschaffungsbestimmungsprozess während der Beschaffung der Schreibdaten durchführen. Wenn in diesem Fall während der Beschaffung der Schreibdaten bestimmt wird, dass sich die Datenkommunikation in einem Verbindungszustand befindet, setzt das CGW 13 die Beschaffung der Schreibdaten fort; wenn aber während der Beschaffung der Schreibdaten bestimmt wird, dass sich die Datenkommunikation in einem Unterbrechungszustand befindet, stoppt das CGW die Beschaffung der Schreibdaten.
  • Im Folgenden wird die oben beschriebene Schreibdatenbeschaffungsbestimmung genauer beschrieben. Die Beschaffung der Schreibdaten ist einer der Prozesse betreffend eine Installation, und der Installationsbefehlsbestimmungsprozess wird hier mit Bezug auf die 61 bis 64 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Installationsbefehlsbestimmungsprozess in dem CGW 13 durch. Der Verteilungspaketübertragungsbestimmungsprozess (1) und der Verteilungspaket-Download-Bestimmungsprozess (2) sind Bestimmungsprozesse, die in der Download-Phase durchgeführt werden, der Schreibdatenübertragungsbestimmungsprozess (3) und der Schreibdatenbeschaffungsbestimmungsprozess (4) sind Prozesse, die in der Installationsphase nach Beendigung des Downloads durchgeführt werden, und der Installationsbefehlsbestimmungsprozess (5) ist ein Prozess, der in der Installationsphase und in der Aktivierungsphase durchgeführt wird. Hier wird ein Zustand angenommen, in dem ein Verteilungspaket an das DCM 12 heruntergeladen wird und die Schreibdaten (Aktualisierungsdaten oder Differenzdaten) für die Schreibziel-ECU 19 entpackt werden, wie es in 10 dargestellt ist.
  • Wie es in 61 dargestellt ist, enthält das CGW 13 eine Installationsbedingungsbestimmungseinheit 77a, eine Installationsbefehlseinheit 77b, eine Fahrzeugbedingungsinformationsbeschaffungseinheit 77c, eine Aktivierungsbedingungsbestimmungseinheit 77d und eine Aktivierungsbefehlseinheit 77e in der Installationsbefehlsbestimmungseinheit 77. Die Installationsbedingungsbestimmungseinheit 77a bestimmt, ob eine erste Bedingung, eine zweite Bedingung, eine dritte Bedingung, eine vierte Bedingung und eine fünfte Bedingung erfüllt sind. Die erste Bedingung ist eine Bedingung, dass die Zustimmung des Nutzers zur Installation erhalten wird. Die Zustimmung des Nutzers zur Installation gibt einen Betrieb der Zustimmung des Nutzers zur Installation (beispielsweise ein Drücken des „sofortige Aktualisierung“-Knopfes 506a) auf dem Bildschirm, der beispielsweise in 39 dargestellt ist, an. Alternativ können Betriebe von einem Download bis zur Aktivierung als eine Aktualisierung betrachtet werden, und der Betrieb der Zustimmung des Nutzers zur Aktualisierung kann als der obige Betrieb der Zustimmung des Nutzers zur Installation betrachtet werden.
  • Die zweite Bedingung ist eine Bedingung, dass das CGW 13 eine Datenkommunikation mit der Zentrumsvorrichtung 3 durchführen kann. Die dritte Bedingung ist eine Bedingung, dass eine Fahrzeugbedingung eine Installierbar-Bedingung ist. Die vierte Bedingung ist eine Bedingung, dass eine Installation in der Neuschreibziel-ECU 19 durchgeführt werden kann. Hier enthält die vierte Bedingung nicht nur, dass eine Installation in einer Neuschreibziel-ECU 19 durchgeführt werden kann, die ein Installationsziel ist, sondern auch, dass eine Installation in einer anderen Neuschreibziel-ECU 19 durchgeführt werden kann, die mit der Neuschreibziel-ECU 19 kooperiert, die das Installationsziel ist. Die fünfte Bedingung ist eine Bedingung, dass die Schreibdaten normale Daten sind. Hier enthalten die normalen Daten Daten, die für die Neuschreibziel-ECU 19 geeignet sind, Daten, die nicht gefälscht sind, und Ähnliches.
  • Wenn durch die Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass die erste Bedingung, die zweite Bedingung, die dritte Bedingung, die vierte Bedingung und die fünfte Bedingung erfüllt sind, befiehlt die Installationsbefehlseinheit 77b der Neuschreibziel-ECU 19, ein Applikationsprogramm zu installieren. Das heißt, wenn die Installationsbefehlseinheit 77b die Zustimmung des Nutzers für die Installation erhält, die CGW 13 eine Datenkommunikation mit der Zentrumsvorrichtung 3 durchführen kann, die Fahrzeugbedingung eine Installierbar-Bedingung ist, die Installation in der Neuschreibziel-ECU 19 durchgeführt werden kann und durch die Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass die Schreibdaten normale Daten sind, wird der Neuschreibziel-ECU 19 befohlen, das Applikationsprogramm zu installieren. Insbesondere beschafft die Installationsbefehlseinheit 77b die Schreibdaten von dem DCM 12 und überträgt die beschafften Schreibdaten an die Neuschreibziel-ECU 19. Wenn durch die Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass mindestens eine Bedingung aus der ersten Bedingung, der zweiten Bedingung, der dritten Bedingung, der vierten Bedingung und der fünften Bedingung nicht erfüllt ist, befiehlt die Installationsbefehlseinheit 77b der Neuschreibziel-ECU 19 nicht, das Applikationsprogramm zu installieren, und wartet oder präsentiert dem Nutzer Informationen, die angeben, dass eine Installation nicht initiiert werden kann, und den Grund dafür.
  • Die Fahrzeugbedingungsinformationsbeschaffungseinheit 77c beschafft Fahrzeugbedingungsinformationen von der Zentrumsvorrichtung 3. Die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt, ob eine sechste Bedingung, eine siebte Bedingung und eine achte Bedingung erfüllt sind, wenn die Installation des Applikationsprogramms in allen Neuschreibziel-ECUs 19 beendet wurde. Die sechste Bedingung ist eine Bedingung, dass die Zustimmung des Nutzers zur Aktivierung erhalten wird. Die Zustimmung des Nutzers für die Aktivierung gibt den Betrieb der Zustimmung des Nutzers (beispielsweise Drücken des „OK“-Knopfes 508b) für die Aktivierung auf dem Bildschirm, der beispielsweise in 43 dargestellt ist, an. Alternativ können Betriebe von dem Download bis zur Aktivierung als eine Aktualisierung betrachtet werden, und der Betrieb der Zustimmung des Nutzers zur Aktualisierung kann als der obige Betrieb der Zustimmung zur Aktivierung betrachtet werden. Die siebte Bedingung ist eine Bedingung, dass die Fahrzeugbedingung eine Aktivierbar-Bedingung ist. Die achte Bedingung ist eine Bedingung, dass sich die Neuschreibziel-ECU 19 in einer Aktivierbar-Bedingung befindet.
  • Wenn durch die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt wird, dass die sechste Bedingung, die siebte Bedingung und die achte Bedingung erfüllt sind, befiehlt die Aktivierungsbefehlseinheit 77e der Neuschreibziel-ECU 19, das Applikationsprogramm zu aktivieren. Eine detaillierte Beschreibung des Aktivierungsanfragebefehlsprozesses (12) erfolgt später. Das heißt, die Aktivierungsbefehlseinheit 77e befiehlt der Neuschreibziel-ECU 19, das Applikationsprogramm zu aktivieren, wenn die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt, dass die Zustimmung des Nutzers für die Aktivierung erhalten wird, die Fahrzeugbedingung eine Aktivierbar-Bedingung ist und sich die Neuschreibziel-ECU 19 in einer Aktivierbar-Bedingung befindet. Die Aktivierung wird durchgeführt, und somit wird ein Aktualisierungsprogramm, das in die Neuschreibziel-ECU 19 geschrieben wurde, validiert. Wenn durch die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt wird, dass mindestens eine aus der sechsten Bedingung, der siebten Bedingung und der achten Bedingung nicht erfüllt ist, befiehlt die Aktivierungsbefehlseinheit 77e der Neuschreibziel-ECU 19 nicht, das Applikationsprogramm zu aktivieren, und wartet oder präsentiert dem Nutzer Informationen, die angeben, dass die Aktivierung nicht initiiert werden kann, und den Grund dafür.
  • Im Folgenden wird ein Betrieb der Installationsbefehlsbestimmungseinheit 77 in dem CGW 13 mit Bezug auf die 62 bis 64 beschrieben. Das CGW 13 führt ein Installationsbefehlsbestimmungsprogramm aus und führt somit den Installationsbefehlsbestimmungsprozess durch.
  • Wenn der Installationsbefehlsbestimmungsprozess initiiert wird, bestimmt das CGW 13, ob die erste Bedingung erfüllt ist, und bestimmt, ob die Zustimmung des Nutzers für die Installation erhalten wird (S501; entspricht einem Teil eines Installationsbedingungsbestimmungsschrittes). Wenn bestimmt wird, dass die Zustimmung des Nutzers für eine Installation erhalten wird bzw. wurde (S501: Ja), bestimmt das CGW 13, ob die zweite Bedingung erfüllt ist, und bestimmt, ob eine Datenkommunikation mit der Zentrumsvorrichtung 3 verfügbar ist (S502; entspricht einem Teil des Installationsbedingungsbestimmungsschrittes). Das CGW 13 bestimmt auf der Grundlage eines Kommunikationsradiowellenzustands in dem DCM 12, ob eine Datenkommunikation mit der Zentrumsvorrichtung 3 verfügbar ist.
  • Wenn bestimmt wird, dass eine Datenkommunikation mit der Zentrumsvorrichtung 3 möglich ist (S502: Ja), bestimmt das CGW 13, ob die dritte Bedingung erfüllt ist, und bestimmt, ob eine Fahrzeugbedingung eine Installierbar-Bedingung ist (S503; entspricht einem Teil des Installationsbedingungsbestimmungsschrittes). Das CGW 13 bestimmt in einem Fall, in dem eine Speicherkonfiguration der Neuschreibziel-ECU 19 ein Einzelbankspeicher ist, als Fahrzeugbedingung beispielsweise, ob eine Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als eine vorbestimmte Kapazität ist oder ob das Fahrzeug parkt (Zündung-aus-Zustand), und bestimmt somit, ob die Fahrzeugbedingung eine Installierbar-Bedingung ist. Die Fahrzeugbedingung kann sich auf die empfangenen Neuschreibspezifikationsdaten beziehen (siehe 8). Das CGW 13 bestimmt, dass die Fahrzeugbedingung eine Installierbar-Bedingung ist, beispielsweise in einem Fall, in dem eine Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als eine vorbestimmte Kapazität ist, die in den Neuschreibspezifikationsdaten spezifiziert ist, und die Fahrzeugbedingung mit einer Fahrzeugbedingung (installierbar nur in einem Parkzustand, installierbar nur in einem Fahrzustand oder installierbar sowohl in dem Parkzustand als auch in dem Fahrzustand) übereinstimmt, die in den Neuschreibspezifikationsdaten spezifiziert ist.
  • Wenn bestimmt wird, dass die Fahrzeugbedingung eine Installierbar-Bedingung ist (S503: Ja), bestimmt das CGW 13, ob die vierte Bedingung erfüllt ist, und bestimmt, ob sich die Neuschreibziel-ECU 19 in einer Installierbar-Bedingung befindet (S504; entspricht einem Teil des Installationsbedingungsbestimmungsschrittes). Das CGW 13 bestimmt, dass sich die Neuschreibziel-ECU 19 in einer Installierbar-Bedingung befindet, wenn beispielsweise kein Problemcode in der Neuschreibziel-ECU 19 erzeugt wurde und ein Sicherheitszugang zu der Neuschreibziel-ECU 19 erfolgreich war. Ob der Problemcode erzeugt wurde, kann nicht nur für die Neuschreibziel-ECU 19 überprüft werden, in die die Schreibdaten geschrieben werden, sondern auch für eine andere ECU 19, die eine kooperative Steuerung mit der Neuschreibziel-ECU 19 durchführt. Das heißt, das CGW 13 bestimmt nicht nur für die Neuschreibziel-ECU 19, sondern auch für die ECU 19, die eine kooperative Steuerung mit der Neuschreibziel-ECU 19 durchführt, ob ein Problemcode erzeugt wurde.
  • Wenn bestimmt wird, dass sich die Neuschreibziel-ECU 19 in einer Installierbar-Bedingung befindet (S504: Ja), bestimmt das CGW 13, ob die fünfte Bedingung erfüllt ist, und bestimmt, ob die Schreibdaten normale Daten sind (S505; entspricht einem Teil des Installationsbedingungsbestimmungsschrittes). Das CGW 13 bestimmt, dass die Schreibdaten normale Daten sind, wenn die Schreibdaten zu einer Schreibbank (inaktive Bank) der Neuschreibziel-ECU 19 passen und ein Verifizierungsergebnis der Integrität der Schreibdaten normal ist. Wenn bestimmt wird, dass die Schreibdaten normale Daten sind (S505: Ja), befiehlt das CGW 13 der Neuschreibziel-ECU 19, das Applikationsprogramm zu installierten (S506; entspricht einem Installationsbefehlsschritt), und somit führt das CGW 13 eine Bestimmung der zweiten Bedingung und der anschließenden Bedingungen unter Bedingung durch, dass die erste Bedingung erfüllt ist. Das CGW 13 bestimmt die fünfte Bedingung am Ende. Wenn bestimmt wird, dass die ersten bis fünften Bedingungen jeweils erfüllt sind, befiehlt das CGW 13 der Neuschreibziel-ECU 19, das Applikationsprogramm zu installieren.
  • Wenn andererseits das CGW 13 bestimmt, dass die Zustimmung des Nutzers zur Installation nicht erhalten wurde (S501: Nein), bestimmt, dass eine Datenkommunikation mit der Zentrumsvorrichtung 3 nicht möglich ist (S502: Nein), bestimmt, dass die Fahrzeugbedingung keine Installierbar-Bedingung ist (S503: Nein), bestimmt, dass sich die Neuschreibziel-ECU 19 nicht in einer Installierbar-Bedingung befindet (S504: Nein), oder bestimmt, dass die Schreibdaten keine normalen Daten sind (S505: Nein), befiehlt das CGW der Neuschreibziel-ECU 19 nicht, das Applikationsprogramm zu installieren. Mit dem oben beschriebenen Prozess wurde eine Konfiguration beschrieben, bei der die Bedingung, dass die Zustimmung des Nutzers zur Installation erhalten wird, vor der Bestimmung der anderen Bedingungen bestimmt wird, aber es kann eine Konfiguration verwendet werden, bei der die Bedingung nach der Bestimmung der anderen Bedingungen bestimmt wird.
  • Wenn das CGW 13 der Neuschreibziel-ECU 19 befiehlt, das Applikationsprogramm zu installieren, verteilt das CGW die Schreibdaten an die Neuschreibziel-ECU 19 (S507) und bestimmt, ob die Installation beendet wurde (S508). Wenn bestimmt wird, dass die Installation beendet wurde (S508: Ja), bestimmt das CGW 13, ob die sechste Bedingung erfüllt ist, und bestimmt, ob die Zustimmung des Nutzers für die Aktivierung erhalten wurde (S509). Wenn bestimmt wird, dass die Zustimmung des Nutzers für die Aktivierung erhalten wurde (S509: Ja), bestimmt das CGW 13, ob die siebte Bedingung erfüllt ist, und bestimmt, ob die Fahrzeugbedingung eine Aktivierbar-Bedingung ist (S510).
  • Wenn bestimmt wird, dass die Fahrzeugbedingung eine Aktivierbar-Bedingung bzw. aktivierbare Bedingung ist (S510: Ja), bestimmt das CGW 13, ob die achte Bedingung erfüllt ist, und bestimmt, ob sich die Neuschreibziel-ECU 19 in einer Aktivierbar-Bedingung bzw. aktivierbaren Bedingung befindet (S511). Wenn bestimmt wird, dass sich die Neuschreibziel-ECU 19 in einer Aktivierbar-Bedingung befindet (S511: Ja), befiehlt das CGW 13 der Neuschreibziel-ECU 19, die Aktivierung durchzuführen (S512). Wie es oben beschrieben wurde, befiehlt das CGW 13 der Neuschreibziel-ECU 19, die Aktivierung durchzuführen, wenn bestimmt wird, dass die sechste Bedingung bis achte Bedingung erfüllt sind.
  • Wenn es mehrere Neuschreibziel-ECUs 19 gibt, kann das CGW 13 individuell oder gemeinsam einen Befehl zur Installation ausgeben. In einem Fall, in dem die Neuschreibziel-ECUs 19 die ECU (ID1) und die ECU (ID2) sind, bestimmt das CGW 13 gemäß einem Aspekt eines individuellen Ausgebens eines Befehls für die Installation, ob Installationsbedingungen für die ECU (ID1) erfüllt sind, wie es in 63 dargestellt ist. Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID1) erfüllt sind, befiehlt das CGW 13 der ECU (ID1), die Installation durchzuführen. Anschließend bestimmt das CGW 13, ob Installationsbedingungen für die ECU (ID2) erfüllt sind. Hier kann das CGW 13 bestimmen, ob die vierte Bedingung und die fünfte Bedingung für die ECU (ID2) als Installationsbedingungen erfüllt sind. Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID2) erfüllt sind, befiehlt das CGW 13 der ECU (ID2), die Installation durchzuführen.
  • Wenn die Neuschreibziel-ECUs 19 die ECU (ID1) und die ECU (ID2) sind, bestimmt das CGW 13 gemäß einem Aspekt eines gemeinsamen Ausgebens eines Befehls zur Installation, ob Installationsbedingungen für die ECU (ID1) erfüllt sind, wie es in 64 dargestellt ist. Das heißt, das CGW 13 bestimmt die ersten bis dritten Bedingungen und die vierten und fünften Bedingungen für die ECU (ID1). Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID1) erfüllt sind, bestimmt das CGW 13, ob Installationsbedingungen für die ECU (ID2) erfüllt sind. Das heißt, das CGW 13 bestimmt die vierte Bedingung und die fünfte Bedingung für die ECU (ID2). Wenn die Installationsbedingungen für die ECU (ID2) erfüllt sind, befiehlt das CGW 13 der ECU (ID1) und der ECU (ID2), die Installation durchzuführen. Das CGW 13 führt beispielsweise gleichzeitig eine Übertragung der Neuschreibdaten an die ECU (ID1) und eine Übertragung der Neuschreibdaten an die ECU (ID2) parallel durch. Wie es oben beschrieben wurde, bestimmt das CGW 13 gemäß dem Aspekt eines gemeinsamen Ausgebens eines Befehls zur Installation die erste Bedingung bis dritte Bedingung und die vierte Bedingung und die fünfte Bedingung für alle Neuschreibziel-ECUs. Das CGW 13 gibt einen Befehl zur Installation aus, nachdem alle Bedingungen erfüllt wurden.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Installationsbefehlsbestimmungsprozess durch, bevor es der Neuschreibziel-ECU 19 befiehlt, ein Applikationsprogramm zu installieren, und befiehlt somit der Neuschreibziel-ECU 19, das Applikationsprogramm zu installieren, wenn bestimmt wird, dass die erste Bedingung, d.h. die Zustimmung des Nutzers für die Installation erhalten wurde, die zweite Bedingung, d.h. eine Datenkommunikation mit der Zentrumsvorrichtung 3 möglich ist, die dritte Bedingung, d.h. eine Fahrzeugbedingung eine Installierbar-Bedingung ist, die vierte Bedingung, d.h. die Neuschreibziel-ECU 19 sich in einer Installierbar-Bedingung befindet, und die fünfte Bedingung, d.h. die Schreibdaten normale Daten sind, erfüllt sind. Es ist möglich, der Neuschreibziel-ECU 19 geeignet zu befehlen, ein Applikationsprogramm zu installieren.
  • Sicherheitszugangsschlüsselverwaltungsprozess
  • Der Sicherheitszugangsschlüsselverwaltungsprozess wird mit Bezug auf die 65 bis 69 beschrieben. Ein Sicherheitszugangsschlüssel wird verwendet, um eine Vorrichtung zu authentifizieren, wenn das CGW 13 auf die Neuschreibziel-ECU 19 zugreift, bevor Schreibdaten installiert werden. Das Fahrzeug-Programmneuschreibsystem 1 führt den Sicherheitszugangsschlüsselverwaltungsprozess in dem CGW 13 durch. Hier erfolgt die Beschreibung unter der Annahme, dass sich das CGW 13 in einem Zustand befindet, in dem es in der Lage ist, die Schreibdaten von dem DCM 12 durch den Schreibdatenübertragungsbestimmungsprozess (3) oder den Schreibdatenbeschaffungsbestimmungsprozess (4) zu beschaffen. Die Vorrichtungsauthentifizierung unter Verwendung des Sicherheitszugangsschlüssels entspricht der vierten Bedingung (Schritt S505) in dem oben beschriebenen Installationsbefehlsbestimmungsprozess (5).
  • Wenn das CGW 13 die Schreibdaten an die Neuschreibziel-ECU 19 verteilt, muss das CGW 13 einen Sicherheitszugriff (Vorrichtungsauthentifizierung) mit der bzw. auf die Neuschreibziel-ECU 19 unter Verwendung des Sicherheitszugangsschlüssels durchführen. In diesem Fall wird ein Verfahren betrachtet, bei dem das CGW 13 der Neuschreibziel-ECU 19 befiehlt, einen Zufallszahlenwert zu erzeugen, den Zufallszahlenwert, der durch die Neuschreibziel-ECU 19 erzeugt wurde, von der Neuschreibziel-ECU 19 beschafft, und einen Sicherheitszugangsschlüssel durch Berechnen mit dem beschafften Zufallszahlenwert erzeugt. Bei einem derartigen Verfahren kann der Sicherheitszugangsschlüssel in einem Fall, in dem der Zufallszahlenwert von der Neuschreibziel-ECU 19 beschafft wird, auch wenn ein Applikationsprogramm noch nicht neu geschrieben ist, gespeichert werden, sodass das Risiko eines Durchsickerns eines Sicherheitszugangsschlüssels besteht.
  • In einer Konfiguration, bei der das CGW 13 einen Zufallszahlenwert, der von der Neuschreibziel-ECU 19 beschafft wird, an die Zentrumsvorrichtung 3 überträgt und die Zentrumsvorrichtung 3 einen Sicherheitszugangsschlüssel durch Berechnen mit dem Zufallszahlenwert erzeugt, ist es nicht notwendig, den Sicherheitszugangsschlüssel zu speichern, und somit ist es möglich, das Risiko eines Durchsickerns eines Sicherheitszugangsschlüssels zu verringern. In der Konfiguration jedoch, bei der die Zentrumsvorrichtung 3 den Zufallszahlenwert berechnet, erhöht sich die Wartezeit, bis die Neuschreibziel-ECU 19 den Zufallszahlenwert von der Zentrumsvorrichtung 3 beschafft hat, und somit ist es schwierig, die Zeitspezifikation für die Diagnosekommunikation zu erfüllen. Im Hinblick darauf verwendet die vorliegende Ausführungsform die folgende Konfiguration.
  • Wie es in 65 dargestellt ist, erzeugt der Lieferant einen Zufallszahlenwert durch Verschlüsseln eines Sicherheitszugangsschlüssels für jede Neuschreibziel-ECU 19 unter Verwendung eines Verschlüsselungs-/Entschlüsselungsschlüssels des Sicherheitszugangsschlüssels. Der Zufallszahlenwert, der hier genannt ist, ist ein Zufallswert, der einen Wert, der sich von dem Wert unterscheidet, der in der Vergangenheit verwendet wurde, als auch einen Wert, der derselbe wie der Wert ist, der in der Vergangenheit verwendet wurde, enthalten kann. Der Zufallszahlenwert ist ein verschlüsselter Sicherheitszugangsschlüssel. Der Lieferant stellt den erzeugten Zufallszahlenwert zusammen mit den Neuprogrammierungsdaten bereit. Der Sicherheitszugangsschlüssel, der Verschlüsselungs-/Entschlüsselungsschlüssel der Sicherheitszugangsschlüssel und der Zufallszahlenwert sind einzigartige Schlüssel für jede ECU 19.
  • Wenn dem OEM der Zufallszahlenwert zusammen mit den Neuprogrammierungsdaten von dem Lieferanten bereitgestellt wird, korreliert das OEM den bereitgestellten Zufallszahlenwert mit einer ECU-(ID) zum Identifizieren der ECU 19 und speichert den Zufallszahlenwert in den CGW-Neuschreibspezifikationsdaten, wie es in 8 dargestellt ist. Das OEM speichert außerdem ein Schlüsselmuster oder ein Entschlüsselungsbetriebsmuster, das zur Entschlüsselung des Zufallszahlenwertes benötigt wird, in den CGW-Neuschreibspezifikationsdaten. Als Schlüsselmuster werden Verfahren wie ein gemeinsamer Schlüssel/öffentlicher Schlüssel, eine Schlüssellänge und Ähnliches gespeichert, und als Entschlüsselungsbetriebsmuster werden der Typ des Algorithmus, der für einen Entschlüsselungsbetrieb verwendet wird, und Ähnliches gespeichert. Wenn das OEM den Zufallszahlenwert, das Schlüsselmuster und das Entschlüsselungsbetriebsmuster in den CGW-Neuschreibspezifikationsdaten speichert, stellt das OEM die CGW-Neuschreibspezifikationsdaten, die den Zufallszahlenwert speichern, zusammen mit den Neuprogrammierungsdaten für die Zentrumsvorrichtung 3 bereit. Die Informationen, die von dem Lieferanten bereitgestellt werden, werden in einer ECU-Neuprogrammierungsdaten-DB und einer ECU-Metadaten-DB gespeichert, wie es später beschrieben wird.
  • Wenn die Neuschreibspezifikationsdaten (DCM-Neuschreibspezifikationsdaten und CGW-Neuschreibspezifikationsdaten) zusammen mit den Neuprogrammierungsdaten von dem OEM bereitgestellt werden, überträgt die Zentrumsvorrichtung 3 ein Verteilungspaket, das die bereitgestellten Neuschreibspezifikationsdaten und Neuprogrammierungsdaten enthält, an die Master-Vorrichtung 11. In der Master-Vorrichtung 11 überträgt das DCM 12 die Neuschreibspezifikationsdaten und die Schreibdaten an das CGW 13, wenn das Verteilungspaket von der Zentrumsvorrichtung 3 heruntergeladen wurde.
  • Wie es in 66 dargestellt ist, enthält das CGW 13 einen Sicherungsbereich bzw. sicheren Bereich 78a (entspricht einer Entschlüsselungsschlüsselspeichereinheit), eine Zufallszahlenwertextrahierungseinheit 78b (entspricht einer Schlüsselherleitungswertextrahierungseinheit), eine Schlüsselmusterextrahierungseinheit 78c, eine Entschlüsselungsbetriebsmusterextrahierungseinheit 78d, eine Schlüsselerzeugungseinheit 78e, eine Sicherheitszugangsausführungseinheit 78f, eine Sitzungsübertragungsanfrageeinheit 78g und eine Schlüssellöscheinheit 78h in der Sicherheitszugangsschlüsselverwaltungseinheit 78. In dem Sicherungsbereich 78a können Informationen von der Außenseite der ECU 19 nicht ausgelesen werden, und es sind dort ein Verschlüsselungs-/Entschlüsselungsschlüssel eines Sicherheitszugangsschlüssels und ein Entschlüsselungsbetriebsalgorithmus angeordnet. Die Zufallszahlenwertextrahierungseinheit 78b extrahiert aus einem Analyseergebnis der CGW-Neuschreibspezifikationsdaten einen Zufallszahlenwert (Schlüsselherleitungswert), der in den Neuschreibspezifikationsdaten enthalten ist. Der Zufallszahlenwert ist ein Wert, der in Korrelation zu der ECU (ID) der Neuschreibziel-ECU 19 verschlüsselt ist.
  • Die Schlüsselmusterextrahierungseinheit 78c extrahiert aus einem Analyseergebnis der CGW-Neuschreibspezifikationsdaten ein Schlüsselmuster, das in den Neuschreibspezifikationsdaten enthalten ist. Die Entschlüsselungsbetriebsmusterextrahierungseinheit 78d extrahiert aus einem Analyseergebnis der CGW-Neuschreibspezifikationsdaten ein Entschlüsselungsbetriebsmuster, das in den Neuschreibspezifikationsdaten enthalten ist.
  • Wenn der Zufallszahlenwert durch die Zufallszahlenwertextrahierungseinheit 78b extrahiert ist, durchsucht die Schlüsselerzeugungseinheit 78e den Sicherungsbereich 78a, entschlüsselt den extrahierten Zufallszahlenwert unter Verwendung eines Entschlüsselungsschlüssels entsprechend der ECU (ID) von einem Bündel aus Entschlüsselungsschlüsseln des Sicherheitszugangsschlüssels, die in dem Sicherungsbereich 78a angeordnet sind, und erzeugt den Sicherheitszugangsschlüssel. In diesem Fall entschlüsselt die Schlüsselerzeugungseinheit 78e den Schlüsselherleitungswert entsprechend einem Entschlüsselungsbetriebsverfahren, das durch das Entschlüsselungsbetriebsmuster spezifiziert wird, das durch die Entschlüsselungsbetriebsmusterextrahierungseinheit 78d extrahiert wird, unter Verwendung eines Entschlüsselungsschlüssels, der durch das Schlüsselmuster spezifiziert wird, das durch die Schlüsselmusterextrahierungseinheit 78c extrahiert wird. Das heißt, es werden mehrere Schlüsselmuster und mehrere Entschlüsselungsbetriebsmuster vorbereitet bzw. erstellt, und es werden ein Schlüsselmuster und ein Entschlüsselungsbetriebsmuster durch die CGW-Neuschreibspezifikationsdaten spezifiziert, und somit erzeugt die Schlüsselerzeugungseinheit 78e einen Sicherheitszugangsschlüssel unter Verwendung des Schlüsselmusters und des Entschlüsselungsbetriebsmusters.
  • Wenn der Sicherheitszugangsschlüssel durch die Schlüsselerzeugungseinheit 78e erzeugt ist, führt die Sicherheitszugangsausführungseinheit 78f einen Sicherheitszugang bzw. Sicherheitszugriff auf die Neuschreibziel-ECU 19 unter Verwendung des erzeugten Sicherheitszugangsschlüssels durch. Insbesondere überträgt die Sicherheitszugangsausführungseinheit 78f verschlüsselte Daten, in denen eine ECU-(ID) verschlüsselt ist, unter Verwendung beispielsweise eines Sicherheitszugangsschlüssels und fordert einen Zugriff auf die Neuschreibziel-ECU 19. Wenn die verschlüsselten Daten empfangen werden, entschlüsselt die Neuschreibziel-ECU 19 die empfangenen verschlüsselten Daten unter Verwendung des Sicherheitszugangsschlüssels, den sie selbst hat. Die Neuschreibziel-ECU 19 vergleicht entschlüsselte Daten, die durch die Entschlüsselung erzeugt werden, mit ihrer ECU-(ID) und erlaubt einen Zugriff auf die Neuschreibziel-ECU in einem Fall, in dem die Daten mit der ECU-(ID) übereinstimmen bzw. zu dieser passen, und erlaubt keinen Zugriff in einem Fall, in dem die Daten nicht mit der ECU-(ID) übereinstimmen bzw. nicht dazu passen.
  • Die Sitzungsübertragungsanfrageeinheit 78g fordert bzw. fragt einen Übergang in eine Neuschreibsitzung an. Nach dem Übergang von einer Anfangssitzung zu der Neuschreibsitzung führt die Sicherheitszugangsausführungseinheit 78f einen Sicherheitszugang bzw. Sicherheitszugriff aus. Nach dem Übergang in eine Sitzung (beispielsweise eine Diagnosesitzung), die nicht die Anfangssitzung ist, kann ein Sicherheitszugang durchgeführt werden, und dann kann ein Übergang in die Neuschreibsitzung durchgeführt werden. Die Schlüssellöscheinheit 78h löscht den Sicherheitszugangsschlüssel, der durch die Schlüsselerzeugungseinheit 78e erzeugt wurde, nachdem der Sicherheitszugriff auf die Neuschreibziel-ECU 19 durch die Sicherheitszugangsausführungseinheit 78f ausgeführt wurde und das Neuschreiben eines Applikationsprogramms in der Neuschreibziel-ECU 19 beendet ist.
  • Im Folgenden wird ein Betrieb der Sicherheitszugangsschlüsselverwaltungseinheit 78 in dem CGW 13 mit Bezug auf die 67 bis 69 beschrieben. Das CGW 13 führt ein Sicherheitszugangsschlüsselverwaltungsprogramm aus und führt somit den Sicherheitszugangsschlüsselverwaltungsprozess durch. Das CGW 13 führt einen Sicherheitszugangsschlüsselerzeugungsprozess und einen Sicherheitszugangsschlüssellöschprozess als den Sicherheitszugangsschlüsselverwaltungsprozess durch. Im Folgenden wird jeder Prozess nacheinander beschrieben.
  • Sicherheitszugangsschlüsselerzeugungsprozess
  • Wenn der Sicherheitszugangsschlüsselerzeugungsprozess initiiert ist, analysiert das CGW 13 Neuschreibspezifikationsdaten, die von dem DCM 12 beschafft werden (S601; entspricht einer Neuschreibspezifikationsdatenanalyseprozedur), und extrahiert einen Zufallszahlenwert, ein Schlüsselmuster und ein Entschlüsselungsbetriebsmuster aus den CGW-Neuschreibspezifikationsdaten (S602; entspricht einer Schlüsselherleitungswertextrahierungsprozedur).
  • Das CGW 13 durchsucht den Sicherungsbereich 78a, entschlüsselt den Zufallszahlenwert bzw. die Zufallszahl, der bzw. die aus den CGW-Neuschreibspezifikationsdaten extrahiert wird, unter Verwendung eines Entschlüsselungsschlüssels in Entsprechung zu einer ECU-(ID) aus einem Bündel von Entschlüsselungsschlüsseln eines Sicherheitszugangsschlüssels, der in dem Sicherungsbereich 78a angeordnet ist, und erzeugt den Sicherheitszugangsschlüssel (S603; entspricht einer Schlüsselerzeugungsprozedur).
  • Wie es in 68 dargestellt ist, erzeugt das CGW 13 den Sicherheitszugangsschlüssel aus den CGW-Neuschreibspezifikationsdaten. Das CGW 13 führt eine Sitzungsübergangsanfrage für einen Übergang in eine Neuschreibsitzung durch, die Schreibdaten schreibbar macht (S604), und führt den Sicherheitszugang auf die Neuschreibziel-ECU 19 unter Verwendung des Sicherheitszugangsschlüssels durch (S605). Wenn die Ausführung des Sicherheitszugangs beendet wurde, verteilt das CGW 13 die Schreibdaten an die Neuschreibziel-ECU 19 (S606) und führt eine Sitzungshalteanfrage durch (S607). Wenn bestimmt wird, dass die Installation beendet wurde (S608: Ja), beendet das CGW 13 den Sicherheitszugangsschlüsselerzeugungsprozess.
  • Sicherheitszugangsschlüssellöschprozess
  • Wenn der Sicherheitszugangsschlüssellöschprozess initiiert ist, bestimmt das CGW 13, ob das Neuschreiben des Applikationsprogramms in der Neuschreibziel-ECU 19 beendet wurde (S611). Wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms in der Neuschreibziel-ECU 19 beendet wurde (S611: Ja), führt das CGW 13 den Sicherheitszugangsschlüsselerzeugungsprozess aus, um den erzeugten Sicherheitszugangsschlüssel zu löschen (S612), und beendet den Sicherheitszugangsschlüssellöschprozess.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Sicherheitszugangsschlüsselverwaltungsprozess aus, extrahiert einen der Neuschreibziel-ECU 19 entsprechenden Zufallszahlenwert aus einem Analyseergebnis von Neuschreibspezifikationsdaten, entschlüsselt den Zufallszahlenwert unter Verwendung eines der Neuschreibziel-ECU 19 entsprechenden Entschlüsselungsschlüssels, der in dem Sicherungsbereich 78a gespeichert ist, und erzeugt einen Sicherheitszugangsschlüssel. Das CGW 13 erzeugt einen Sicherheitszugangsschlüssel, ohne den Sicherheitszugangsschlüssel von der Außenseite zu beschaffen, und somit kann ein sicherer Zugriff auf die Neuschreibziel-ECU 19 geeignet ausgeführt werden, wobei das Risiko eines Durchsickerns des Sicherheitszugangsschlüssels verringert wird.
  • Wenn es mehrere Neuschreibziel-ECUs 19 gibt, ist es wünschenswert, wenn die CGW 13 einen Sicherheitszugangsschlüssel erzeugt, unmittelbar bevor ein jeweiliger Schreibdatenteil installiert wird. Mit anderen Worten, in einem Fall, in dem Neuschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, ist es wünschenswert, wenn das CGW 13 Prozesse zum Erzeugen eines Sicherheitszugangsschlüssels der ECU (ID1), Installieren von Schreibdaten in der ECU (ID1), Erzeugen eines Sicherheitszugangsschlüssels der ECU (ID2), Installieren von Schreibdaten in der ECU (ID2), Erzeugen eines Sicherheitszugangsschlüssels der ECU (ID3) und Installieren von Schreibdaten in der ECU (ID3) in dieser Reihenfolge durchführt. Wie es beispielsweise in 63 dargestellt ist, führt das CGW 13 einen Sicherheitszugangsprozess in Abhängigkeit davon aus, ob Installationsbedingungen für die ECU (ID1) erfüllt sind, und befiehlt der ECU (ID1), eine Installation in einem Fall durchzuführen, in dem ein Zugang bzw. Zugriff normal erlaubt wird. Danach führt das CGW 13 einen Sicherheitszugangsprozess in Abhängigkeit davon durch, ob Installationsbedingungen für die ECU (ID2) erfüllt sind, und befiehlt der ECU (ID2), eine Installation durchzuführen, wenn ein Zugriff normal erlaubt wird.
  • Wenn das CGW 13 einen Sicherheitszugriff auf die Neuschreibziel-ECU 19 durchführt, die einen Zugriff erlaubt, gibt die Neuschreibziel-ECU den Sicherheitszugriff bzw. Sicherheitszugang durch Empfangen einer Sitzungsübergangsanfrage von dem CGW 13 frei und macht somit Schreibdaten für den Flash-Speicher schreibbar. Die Sitzungsübergangsanfrage ist beispielsweise eine „Neuschreibsitzungsübertragungsanfrage“ in einem zweiten Zustand, wie es in 155 dargestellt ist. Wenn die Neuschreibziel-ECU 19 die Sitzungsübergangsanfrage von dem CGW 13 nicht innerhalb einer vorbestimmten Zeit (beispielsweise 5 Sekunden) nach einem Erlauben des Zugriffes empfängt, erfolgt ein Zeitablauf in der Neuschreibziel-ECU, der Sicherheitszugriff wird gesperrt und somit wird ein Empfang der Sitzungsübergangsanfrage nicht akzeptiert. In einem Fall, in dem das CGW 13 die Sitzungsübergangsanfrage an die Neuschreibziel-ECU 19 nicht innerhalb einer vorbestimmten Zeit nach einem Bestimmen einer Erlaubnis für einen Zugriff auf die Neuschreibziel-ECU 19 überträgt, muss das CGW eine Sitzungshalteanfrage an die Neuschreibziel-ECU 19 übertragen, sodass in der Neuschreibziel-ECU 19 kein Zeitablauf erfolgt, und die Sitzungsübergangsanfrage an die Neuschreibziel-ECU 19 übertragen.
  • Wenn beispielsweise eine Kampagnen-Mitteilung für die Version 2.0 durch Abbrechen eines Betriebs in der Mitte eines Neuschreibens in einem Zustand auftritt, in dem ein Applikationsprogramm der Version1.0 in eine aktive Bank geschrieben wird und ein Applikationsprogramm der Version 2.0 in eine inaktive Bank geschrieben wird, und wenn es aus diesem Zustand heraus vorteilhaft ist, wenn nur eine Aktivierung durchgeführt wird, ohne eine Installation durchzuführen, kann somit der Sicherheitszugangsprozess weggelassen werden.
  • Schreibdatenverifizierungsprozess
  • Der Schreibdatenverifizierungsprozess wird mit Bezug auf die 70 bis 78 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 verifiziert Schreibdaten in dem CGW 13. Das CGW 13 kann den Schreibdatenverifizierungsprozess, der in der vorliegenden Ausführungsform beschrieben ist, vor einem Beschaffen einer Zugangserlaubnis in dem Sicherheitszugangsschlüsselverwaltungsprozess (6) durchführen oder kann den Schreibdatenverifizierungsprozess nach dem Beschaffen der Zugangserlaubnis durchführen.
  • Wie es in 70 dargestellt ist, erzeugt der Lieferant oder der OEM einen Datenverifizierungswert durch Verwenden eines Datenverifizierungswertberechnungsalgorithmus für die erzeugten Schreibdaten, wenn die Schreibdaten erzeugt wurden. Hier können die Schreibdaten ein neues zu aktualisierendes Programm sein oder können Differenzdaten zwischen einem alten Programm und einem neuen Programm sein. Der Lieferant oder der OEM erzeugt einen Authentifizierer durch Verwenden einer Verschlüsselung unter Verwendung eines vorbestimmten Schlüssels (Schlüsselwert) für den Datenverifizierungswert und registriert die Schreibdaten und den Authentifizierer in der Zentrumsvorrichtung 3 in Korrelation zueinander. Insbesondere werden die Daten für jede ECU 19 in der Neuprogrammierungsdaten-DB gespeichert, die später beschrieben wird. Die Zentrumsvorrichtung 3 erzeugt ein Verteilungspaket, das die Schreibdaten und den Authentifizierer enthält, und speichert das Verteilungspaket in der Paket-DB.
  • Wenn eine Download-Anfrage für das Verteilungspaket von der Master-Vorrichtung 11 erzeugt wurde, überträgt die Zentrumsvorrichtung 3 als Antwort auf die Download-Anfrage das Verteilungspaket, das die Schreibdaten und den Authentifizierer enthält, an die Master-Vorrichtung 11. In diesem Fall sind die Schreibdaten, die von der Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 übertragen werden, verschlüsselter Text, und der Authentifizierer, der von der Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 übertragen wird, ist ebenfalls ein verschlüsselter Text. Der Authentifizierer, der von der Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 übertragen wird, kann Klartext sein. Wenn der Authentifizierer, der von der Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 übertragen wird, Klartext ist, ist ein Entschlüsselungsprozess, der später beschrieben wird, nicht notwendig.
  • Wenn das Verteilungspaket von der Zentrumsvorrichtung 3 heruntergeladen ist, extrahiert die Master-Vorrichtung 11 die Schreibdaten für die Neuschreibziel-ECU 19 aus dem heruntergeladenen Verteilungspaket und verifiziert die Gültigkeit der Schreibdaten vor der Verteilung der Schreibdaten an die Neuschreibziel-ECU 19. Das heißt, die Master-Vorrichtung 11 führt aufeinanderfolgend einen Entschlüsselungsprozess, einen ersten Verifizierungswertberechnungsprozess, einen zweiten Verifizierungswertberechnungsprozess, einen Vergleichsprozess und einen Bestimmungsprozess aus und verifiziert somit die Schreibdaten. Der Entschlüsselungsprozess ist ein Prozess zum Entschlüsseln des Authentifizierers, der in dem verschlüsselten Text übertragen wird. Der erste Verifizierungswertberechnungsprozess ist ein Prozess zum Berechnen eines ersten Datenverifizierungswertes, der ein erwarteter Wert ist, aus dem entschlüsselten Authentifizierer unter Verwendung des Schlüssels (Schlüsselwert). Der zweite Verifizierungswertberechnungsprozess ist ein Prozess zum Berechnen eines zweiten Datenverifizierungswertes aus den Schreibdaten unter Verwendung des Datenverifizierungswertberechnungsalgorithmus. Der Vergleichsprozess ist ein Prozess zum Vergleichen des ersten Datenverifizierungswertes mit dem zweiten Datenverifizierungswert. Der Bestimmungsprozess ist ein Prozess zum Bestimmen einer Gültigkeit der Schreibdaten auf der Grundlage eines Vergleichsergebnisses in dem Vergleichsprozess.
  • Wie es in 71 dargestellt ist, enthält das CGW 13 eine Schreibbarkeitsbestimmungseinheit 79a, eine Prozessausführungsanfrageeinheit 79b, eine Prozessergebnisbeschaffungseinheit 79c und eine Verifizierungseinheit 79d in der Schreibdatenverifizierungseinheit 79. Die Schreibbarkeitsbestimmungseinheit 79a bestimmt, ob Schreibdaten in die Neuschreibziel-ECU 19 geschrieben werden können. Wenn durch die Schreibbarkeitsbestimmungseinheit 79a bestimmt wird, dass die Schreibdaten in die Neuschreibziel-ECU 19 geschrieben werden können, teilt die Prozessausführungsanfrageeinheit 79b dem DCM 12 eine Prozessausführungsanfrage mit und fordert somit das DCM 12 auf, einen Prozess auszuführen. Die Prozessausführungsanfrageeinheit 79b teilt dem DCM 12 eine Anfrage zum Ausführen mindestens eines aus dem Entschlüsselungsprozess, dem ersten Verifizierungswertberechnungsprozess, dem zweiten Verifizierungswertberechnungsprozess, dem Vergleichsprozess und dem Bestimmungsprozess mit. Der Prozessergebnisbeschaffungseinheit 79c wird ein Prozessergebnis von dem DCM 12 mitgeteilt und beschafft somit das Prozessergebnis von dem DCM 12. Wenn das Prozessergebnis durch die Prozessergebnisbeschaffungseinheit 79c beschafft ist, verifiziert die Verifizierungseinheit 79d die Schreibdaten unter Verwendung des Prozessergebnisses. Das heißt, in der Konfiguration entspricht das CGW 13 einer ersten Vorrichtung und einer ersten funktionalen Einheit bzw. Funktionseinheit, und das DCM 12 entspricht einer zweiten Vorrichtung und einer zweiten funktionalen Einheit bzw. Funktionseinheit.
  • Im Folgenden wird ein Betrieb der Schreibdatenverifizierungseinheit 79 in dem CGW 13 mit Bezug auf die 72 bis 77 beschrieben. Das CGW 13 führt das Verifizierungsprogramm der Schreibdaten aus und führt somit den Verifizierungsprozess der Schreibdaten durch.
  • Wenn der Schreibdatenverifizierungsprozess initiiert ist, teilt das CGW 13 dem DCM 12 eine Prozessausführungsanfrage mit und fordert somit das DCM 12 auf, einen Prozess auszuführen (S701; entspricht einer Prozessausführungsanfrageprozedur). Das CGW 13 teilt dem DCM 12 eine Prozessausführungsanfrage für mindestens einen aus dem Entschlüsselungsprozess, dem ersten Verifizierungswertberechnungsprozess, dem zweiten Verifizierungswertberechnungsprozess, dem Vergleichsprozess und dem Bestimmungsprozess mit. Wenn ein Prozessergebnis von dem DCM 12 beschafft ist (S702; entspricht einer Prozessergebnisbeschaffungsprozedur), verifiziert das CGW 13 die Schreibdaten unter Verwendung des beschafften Prozessergebnisses (S703; entspricht einer Verifizierungsprozedur).
  • Im Folgenden werden einige Fälle beispielhaft beschrieben, bei denen das CGW 13 dem DCM 12 eine Prozessausführungsanfrage mitteilt. In dem Beispiel, das in 73 dargestellt ist, teilt das CGW 13 dem DCM 12 Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess und den zweiten Verifizierungswertberechnungsprozess mit. Wenn dem DCM 12 von dem CGW 13 die Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess und den zweiten Verifizierungswertberechnungsprozess mitgeteilt wird, führt das DCM aufeinanderfolgend den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess und den zweiten Verifizierungswertberechnungsprozess aus. Das DCM 12 führt einen Prozessergebnismitteilungsprozess aus und teilt dem CGW 13 einen ersten Datenverifizierungswert, der durch den ersten Verifizierungswertberechnungsprozess berechnet wird, und einen zweiten Datenverifizierungswert, der durch den zweiten Verifizierungswertberechnungsprozess berechnet wird, als Prozessergebnisse mit. Wenn das CGW 13 einen Prozessergebnisbeschaffungsprozess ausgeführt und den ersten Datenverifizierungswert und den zweiten Datenverifizierungswert von dem DCM 12 beschafft hat, führt das CGW aufeinanderfolgend den Vergleichsprozess und den Bestimmungsprozess unter Verwendung des ersten Datenverifizierungswertes und des zweiten Datenverifizierungswertes aus. Das CGW 13 verifiziert die Schreibdaten auf der Grundlage der Richtigkeit eines Bestimmungsergebnisses in dem Bestimmungsprozess. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizierungswertes.
  • In dem Beispiel, das in 74 dargestellt ist, teilt das CGW 13 dem DCM 12 Prozessausführungsanfragen für den Entschlüsselungsprozess und den zweiten Verifizierungswertberechnungsprozess mit. Wenn dem DCM 12 die Prozessausführungsanfragen für den Entschlüsselungsprozess und den zweiten Verifizierungswertberechnungsprozess von dem CGW 13 mitgeteilt wird, führt das DCM aufeinanderfolgend den Entschlüsselungsprozess und den zweiten Verifizierungswertberechnungsprozess aus und teilt dem CGW 13 einen zweiten Datenverifizierungswert, der durch den zweiten Verifizierungswertberechnungsprozess berechnet wird, mit. Wenn das CGW 13 einen Prozessergebnisbeschaffungsprozess ausgeführt und den zweiten Datenverifizierungswert von dem DCM 12 beschafft hat, führt das CGW den ersten Verifizierungswertberechnungsprozess aus und führt aufeinanderfolgend den Vergleichsprozess und den Bestimmungsprozess unter Verwendung des ersten Datenverifizierungswertes, der durch den ersten Verifizierungswertberechnungsprozess berechnet wird, und des zweiten Datenverifizierungswertes aus. Das CGW 13 verifiziert die Schreibdaten auf der Grundlage der Richtigkeit eines Bestimmungsergebnisses in dem Bestimmungsprozess. In diesem Beispiel speichert das CGW 13 einen Schlüssel zum Berechnen des ersten Datenverifizierungswertes.
  • In dem Beispiel, das in 75 dargestellt ist, teilt das CGW 13 dem DCM 12 Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess und den Vergleichsprozess mit. Wenn dem DCM 12 die Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess und den Vergleichsprozess von dem CGW 13 mitgeteilt werden, führt das DCM aufeinanderfolgend den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess und den Vergleichsprozess aus. Das DCM 12 führt einen Prozessergebnismitteilungsprozess aus und teilt dem CGW 13 ein Vergleichsergebnis des Vergleichsprozesses als ein Prozessergebnis mit. Wenn das CGW 13 einen Prozessergebnisbeschaffungsprozess ausgeführt und das Vergleichsergebnis von dem DCM 12 beschafft hat, führt das CGW den Bestimmungsprozess unter Verwendung des Vergleichsergebnisses aus. Das CGW 13 verifiziert die Schreibdaten auf der Grundlage der Richtigkeit eines Bestimmungsergebnisses in dem Bestimmungsprozess. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizierungswertes.
  • In dem Beispiel, das in 76 dargestellt ist, teilt das CGW 13 dem DCM 12 Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess, den Vergleichsprozess und den Bestimmungsprozess mit. Wenn dem DCM 12 die Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess, den Vergleichsprozess und den Bestimmungsprozess von dem CGW 13 mitgeteilt werden, führt das DCM aufeinanderfolgend den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess, den Vergleichsprozess und den Bestimmungsprozess aus. Das DCM 12 führt einen Prozessergebnismitteilungsprozess aus und teilt dem CGW 13 ein Bestimmungsergebnis in dem Bestimmungsprozess als ein Prozessergebnis mit. Wenn das CGW 13 einen Prozessergebnisbeschaffungsprozess ausgeführt und das Prozessergebnis von dem DCM 12 beschafft hat, verifiziert das CGW die Schreibdaten auf der Grundlage der Richtigkeit des Bestimmungsergebnisses, die durch das Prozessergebnis angegeben wird. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizieru ngswertes.
  • In einem Fall, in dem es mehrere Neuschreibziel-ECUs 19 gibt, führt das CGW 13 einen Verifizierungsprozess der Schreibdaten für die zwei oder mehr Neuschreibziel-ECUs 19 wie folgt durch. In einem Fall, in dem es mehrere Neuschreibziel-ECUs 19 gibt, kann das CGW 13 ein Verfahren zum gemeinsamen Verifizieren von Schreibdaten für die Neuschreibziel-ECUs 19 und ein Verfahren zum individuellen Verifizieren von Schreibdaten aufweisen.
  • In dem Verfahren zum gemeinsamen Verifizieren der Schreibdaten für die Neuschreibziel-ECUs 19, das in 77 dargestellt ist, verifiziert das CGW 13 gemeinsam Schreibdaten der ECU (ID1), Schreibdaten der ECU (ID2) und Schreibdaten der ECU (ID3), verteilt die Schreibdaten der ECU (ID1) an die Schreibziel-ECU (ID1), verteilt die Schreibdaten der ECU (ID2) an die Schreibziel-ECU (ID2) und verteilt die Schreibdaten der ECU (ID3) an die Schreibziel-ECU (ID3). In diesem Fall werden die Schreibdatenteile der Neuschreibziel-ECUs 19 gemeinsam verifiziert, und somit ist es möglich, die Zeit, die von der Initiierung der Verifizierung der Schreibdaten der Neuschreibziel-ECUs 19 bis zur Beendigung des Neuschreibens eines Programms benötigt wird, zu verringern. Das heißt, es ist möglich, die Zeit, die von einer Initiierung einer Verifizierung von Schreibdatenteilen mehrerer Neuschreibziel-ECUs 19 bis zur Beendigung eines Neuschreibens eines Programms benötigt wird, gegenüber einer Konfiguration zu verringern, bei der die Schreibdatenteile der Neuschreibziel-ECUs 19 individuell verifiziert werden.
  • In dem Verfahren zum individuellen Verifizieren der Schreibdaten von mehreren Neuschreibziel-ECUs 19, das in 78 dargestellt ist, verifiziert das CGW 13 Schreibdaten der ECU (ID1), verteilt die Schreibdaten der ECU (ID1) an die Schreibziel-ECU (ID1), verifiziert Schreibdaten der ECU (ID2), verteilt die Schreibdaten der ECU (ID2) an die Schreibziel-ECU (ID2), verifiziert Schreibdaten der ECU (ID3) und verteilt die Schreibdaten der ECU (ID3) an die Schreibziel-ECU (ID2). In diesem Fall werden die Schreibdaten unmittelbar vor dem Verteilen der Schreibdaten verifiziert, und daher ist es möglich, einen illegalen Zugriff zu verhindern und somit die Zuverlässigkeit zu erhöhen. Mit anderen Worten, in der Konfiguration, in der die Schreibdaten gemeinsam für mehrere Neuschreibziel-ECUs 19 verifiziert werden, variiert die Zeit von einer Beendigung einer Verifizierung entsprechend einer Neuschreibreihenfolge bis zu einer Verteilung der Schreibdaten in Abhängigkeit von der Neuschreibreihenfolge, und wenn die Zeit von der Beendigung der Verifizierung bis zu der Verteilung der Schreibdaten größer ist, besteht die Befürchtung eines Risikos einer Fälschung aufgrund eines illegalen Zugriffes während dieser Zeit, aber eine derartige Situation kann dadurch verhindert werden, dass die Schreibdaten unmittelbar vor dem Verteilen der Schreibdaten verifiziert werden.
  • Wie es oben beschrieben wurde, führt das CGW 13 einen Schreibdatenverifizierungsprozess durch und bewirkt somit, dass das DCM 12 ein Verteilungspaket von der Zentrumsvorrichtung 3 herunterlädt, um mindestens einige der Prozesse betreffend eine Verifizierung der Schreibdaten auszuführen. Auch wenn ein Bereich zum Speichern von Schreibdaten nicht zugeordnet werden kann oder ein Verifizierungsrechenprogramm in dem CGW 13 oder der Neuschreibziel-ECU 19 nicht installiert werden kann, können die Schreibdaten geeignet verifiziert werden, bevor die Schreibdaten in die Neuschreibziel-ECU 19 geschrieben werden.
  • In der Konfiguration, bei der das CGW 13 wie in 74 dargestellt den ersten Verifizierungswertberechnungsprozess durchführt, kann die Sicherheit im Vergleich zu einer Konfiguration erhöht werden, bei der das DCM 12 den ersten Verifizierungswertberechnungsprozess durchführt, da das CGW 13 den Schlüssel (Schlüsselwert) speichert und den Verifizierungsprozess durchführt, ohne den Schlüssel an das DCM 12 zu übertragen. In einem Fall, in dem es mehrere Neuschreibziel-ECUs 19 gibt, kann der erste Verifizierungswertberechnungsprozess unter Verwendung eines gemeinsamen Schlüssels (Schlüsselwert) durchgeführt werden, der den Neuschreibziel-ECUs 19 gemeinsam ist, und der erste Verifizierungswertberechnungsprozess kann unter Verwendung unterschiedlicher einzelner Schlüssel (Schlüsselwerte) in den Neuschreibziel-ECUs 19 durchgeführt werden.
  • Obwohl oben die Konfiguration, in der das CGW 13 dem DCM 12 die Prozessausführungsanfrage mitteilt, beispielhaft beschrieben wurde, kann beispielsweise in einem Fall, in dem sich eine Verarbeitungslast in dem DCM 12 erhöht und somit ein Problem in einem Originalprozess auftritt, eine Navigationsvorrichtung oder eine andere ECU als Neuschreibziel-ECU 19 anstelle des DCM 12 verwendet werden, um der Navigationsvorrichtung oder der anderen ECU als der Neuschreibziel-ECU 19 die Prozessausführungsanfrage mitzuteilen. In einem Fall, in dem das DCM 12 und das CGW 13 integriert sind bzw. eine Einheit bilden und einen Originalprozess ohne ein Problem handhaben können, kann die Prozessausführungsanfrage an die Prozessausführungseinheit selbst gestellt werden. Der Prozess kann beispielsweise zwischen unterschiedlichen Softwarekomponenten in derselben ECU durchgeführt werden. Die oben beschriebene Konfiguration kann für die Master-Vorrichtung 11 verwendet werden, die als eine integrierte ECU ausgebildet ist, die die Funktionen des DCM 12 und des CGW 13 aufweist. In den 73 bis 76 ist beispielsweise die Prozessfunktion in dem CGW 13 als eine erste funktionale Einheit festgelegt, und die Prozessfunktion in dem DCM 12 ist als eine zweite funktionale Einheit festgelegt, und die erste funktionale Einheit teilt der zweiten funktionalen Einheit eine Prozessausführungsanfrage mit, und ein Ausführungsergebnis wird von der zweiten funktionalen Einheit an die erste funktionale Einheit zurückgegeben. In der Master-Vorrichtung 11, die als eine integrierte ECU ausgebildet ist, können in einem Fall, in dem sich die Verarbeitungslast erhöht und somit ein Problem in einem Kommunikationsprozess oder einem Weiterleitungsprozess auftritt, der Navigationsvorrichtung oder einer anderen ECU als der Neuschreibziel-ECU 19 eine Prozessausführungsanfrage anstelle der zweiten funktionalen Einheit mitgeteilt werden.
  • Als Datenverifizierungswert kann ein einzelner Wert für das gesamte Applikationsprogramm berechnet werden, und es können mehrere Werte für jeweilige Blöcke des Applikationsprogramms berechnet werden. Wenn die Schreibdaten gesamte Daten sind, kann der Datenverifizierungswert für eine Integritätsverifizierung nach Beendigung des Schreibens der Daten verwendet werden.
  • Während der Sicherheitszugang ein Verfahren zum Verifizieren, ob das CGW 13 und die Neuschreibziel-ECU 19 verbindbar sind, ist, enthält die Verifizierung der Schreibdaten Konzepte, dass die Zentrumsvorrichtung 3, die ein Verteilungsziel der Schreibdaten ist, gebilligt wird (Verbindung und gemeinsame Authentifizierung über eine TLS-Kommunikation), einem Kommunikationskanal zum Herunterladen der Schreibdaten von der Zentrumsvorrichtung 3 gebilligt wird (Verbergen eines Kommunikationskanals oder Verschlüsselung), die Schreibdaten, die von der Zentrumsvorrichtung 3 heruntergeladen werden, nicht gefälscht sind (Fälschungserfassung) und die Schreibdaten, die von der Zentrumsvorrichtung 3 heruntergeladen werden, nicht gefälscht werden können (Verschlüsselung).
  • Die Schreibdaten zu dem Zeitpunkt eines Neuschreibens eines neuen Programms wurden beschrieben, aber dasselbe gilt für Schreibdaten während eines Rollbacks zu dem Zeitpunkt eines Rollbacks eines alten Programms. In diesem Fall kann das CGW 13 die Schreibdaten während eines Rollbacks zu dem Zeitpunkt des Herunterladens der Schreibdaten von der Zentrumsvorrichtung 3 verifizieren, kann aber auch die Rollback-Schreibdaten unmittelbar, bevor die Rollback-Schreibdaten an die Neuschreibziel-ECU 19 verteilt werden, verifizieren, wenn eine Schreibabbruchanfrage erzeugt wurde.
  • Datenspeicherbankinformations-Übertragungssteuerungsprozess
  • Der Datenspeicherbankinformations-Übertragungssteuerungsprozess wird mit Bezug auf die 79 bis 81 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Datenspeicherbankinformations-Übertragungssteuerungsprozess in dem CGW 13 durch.
  • Wie es in 79 dargestellt ist, enthält das CGW 13 eine Datenspeicherbankinformationsbeschaffungseinheit 80a, eine Datenspeicherbankinformationsübertragungseinheit 80b, eine Neuschreibverfahrensbestimmungseinheit 80c und eine Neuschreibverfahrensbefehlseinheit 80d in der Datenspeicherbankinformations-Übertragungssteuerungseinheit 80. Die Datenspeicherbankinformationsbeschaffungseinheit 80a beschafft Informationen betreffend eine Hardware und eine Software von den jeweiligen ECUs 19 als ECU-Konfigurationsinformationen. Insbesondere in einem Fall einer Doppelbankspeicher-ECU und einer Einzelbank-Suspendierungs-Speicher-ECU, die mehrere Datenspeicherbänke aufweisen, werden eine Software-ID, die Versionsinformationen der jeweiligen Datenspeicherbänke und Informationen, die eine aktive Bank A spezifizieren können, als Doppelbankneuschreibinformation beschafft (im Folgenden als Bankinformationen bezeichnet).
  • Wenn die ECU-Konfigurationsinformationen, die die Bankinformationen enthalten, durch die Datenspeicherbankinformationsbeschaffungseinheit 80a beschafft wurden, überträgt die Datenspeicherbankinformationsübertragungseinheit 80b die beschafften Bankinformationen von dem DCM 12 an die Zentrumsvorrichtung 3 als eine der ECU-Konfigurationsinformationen. Die Datenspeicherbankinformationsübertragungseinheit 80b kann die ECU-Konfigurationsinformationen an die Zentrumsvorrichtung 3 jedes Mal übertragen, wenn der IG-Schalter 42 zwischen einem eingeschalteten Zustand und einem ausgeschalteten Zustand wechselt, und kann die ECU-Konfigurationsinformationen an die Zentrumsvorrichtung 3 als Antwort auf eine Anfrage von der Zentrumsvorrichtung 3 übertragen. Die Datenspeicherbankinformationsübertragungseinheit 80b kann die ECU-Konfigurationsinformationen nicht nur an eine Doppelbankspeicher-ECU und eine Einzelbank-Suspendierungs-Speicher-ECU, sondern auch an eine Einzelbankspeicher-ECU zusammen mit einer ECU-Konfiguration, die die Bankinformationen enthält, übertragen.
  • Die Neuschreibverfahrensbestimmungseinheit 80c bestimmt ein Neuschreibverfahren auf der Grundlage eines Analyseergebnisses von Neuschreibspezifikationsdaten für das CGW 13. Das Neuschreibverfahren gibt ein Stromversorgungswechselverfahren während einer Installation in der Neuschreibziel-ECU 19 an. Wenn das Neuschreibverfahren durch die Neuschreibverfahrensbestimmungseinheit 80c bestimmt ist, befiehlt die Neuschreibverfahrensbefehlseinheit 80d der Neuschreibziel-ECU 19, ein Applikationsprogramm entsprechend dem bestimmten Neuschreibverfahren neu zu schreiben. Das heißt, wenn ein Neuschreibverfahren basierend auf einer Selbsterhaltungsenergie durch die Neuschreibverfahrensbestimmungseinheit 80c bestimmt wird, befiehlt die Neuschreibverfahrensbefehlseinheit 80d der Neuschreibziel-ECU 19, ein Applikationsprogramm auf der Grundlage der Selbsterhaltungsenergie neu zu schreiben. Wenn ein Neuschreibverfahren basierend auf einer Stromversorgungssteuerung durch die Neuschreibverfahrensbestimmungseinheit 80c bestimmt wird, befiehlt die Neuschreibverfahrensbefehlseinheit 80d der Neuschreibziel-ECU 19, ein Applikationsprogramm basierend auf der Stromversorgungssteuerung neu zu schreiben, ohne die Selbsterhaltungsenergie zu verwenden.
  • Im Folgenden wird mit Bezug auf die 80 und 81 ein Betrieb der Datenspeicherbankinformations-Übertragungssteuerungseinheit 80 in dem CGW 13 beschrieben. Das CGW 13 führt ein Datenspeicherbankinformations-Übertragungssteuerungsprogramm aus und führt somit den Datenspeicherbankinformations-Übertragungssteuerungsprozess durch.
  • Wenn der Datenspeicherbankinformations-Übertragungssteuerungsprozess initiiert ist, überträgt das CGW 13 eine ECU-Konfigurationsinformationsanfrage, die die Bankinformationen enthält, an sämtliche ECUs 19 (S801) und beschafft ECU-Konfigurationsinformationen, die die Bankinformationen enthalten, von sämtlichen ECUs 19 (S802; entspricht einem Datenspeicherbankinformationsbeschaffungsschritt). Wenn die ECU-Konfigurationsinformationen von jeder Neuschreibziel-ECU 19 beschafft sind, überträgt das CGW 13 die beschafften ECU-Konfigurationsinformationen an das DCM 12 (S803; entspricht einem Datenspeicherbankinformationsübertragungsschritt) und wartet auf Schreibdaten und Neuschreibspezifikationsdaten, die von dem DCM 12 zu beschaffen sind (S804). Hier kann das CGW 13 in einem Fall, in dem die Neuschreibziel-ECU 19 im Voraus spezifiziert ist, Bankinformationen oder Ähnliches nur von der spezifizierten Neuschreibziel-ECU 19 beschaffen.
  • Wenn die ECU-Konfigurationsinformationen von dem CGW 13 empfangen wurden, speichert das DCM 12 die empfangen ECU-Konfigurationsinformationen zeitweilig und überträgt die ECU-Konfigurationsinformationen an die Zentrumsvorrichtung 3 zu einem Zeitpunkt eines Übertragens (Uploads bzw. Heraufladens) der ECU-Konfigurationsinformationen an die Zentrumsvorrichtung 3. Wenn die ECU-Konfigurationsinformationen von der DCM 12 empfangen wurden, speichert und analysiert die Zentrumsvorrichtung 3 die empfangenen ECU-Konfigurationsinformationen.
  • Die Zentrumsvorrichtung 3 bestimmt eine Version eines Applikationsprogramms in jeder Bank jeder ECU 19, die eine Übertragungsquelle der Bankinformationen ist und deren Bank eine aktive Bank ist, und bestimmt Schreibdaten, die konform zu der Version des Applikationsprogramms und der aktiven Bank sind, entsprechend den spezifizierten doppelten Bänken (entspricht einem Aktualisierungsdatenauswahlschritt). In einem Fall beispielsweise, in dem die Bank A eine aktive Bank ist, das Applikationsprogramm, das in der aktiven Bank gespeichert ist, die Version 2.0 aufweist, die Bank B eine inaktive Bank ist und das Applikationsprogramm, das in der inaktiven Bank gespeichert ist, die Version 1.0 aufweist, bestimmt die Zentrumsvorrichtung 3 Schreibdaten der Version 3.0 für die Bank B als Schreibdaten. In einem Fall, in dem die Schreibdaten Differenzdaten sind, bestimmt die Zentrumsvorrichtung 3 die Differenzdaten zur Aktualisierung von der Version 1.0 auf die Version 3.0. Wenn die Schreibdaten bestimmt sind, überträgt die Zentrumsvorrichtung 3 ein Verteilungspaket, das die bestimmten Schreibdaten und Neuschreibspezifikationsdaten enthält, an das DCM 12 (entspricht einem Verteilungspaketübertragungsschritt).
  • Die Zentrumsvorrichtung 3 kann ein Verteilungspaket, das an das DCM 12 zu übertragen ist, statistisch auswählen oder dynamisch erzeugen. In einem Fall, in dem die Zentrumsvorrichtung 3 das Verteilungspaket, das an das DCM 12 zu übertragen ist, statistisch auswählt, verwaltet die Zentrumsvorrichtung 3 mehrere Verteilungspakete, in denen die Schreibdaten gespeichert sind, wählt Schreibdaten aus, die konform zu einer inaktiven Bank sind, wählt ein Verteilungspaket, das die ausgewählten Schreibdaten enthält, aus mehreren Verteilungspaketen aus und überträgt das ausgewählte Verteilungspaket an das DCM 12. In einem Fall, in dem die Zentrumsvorrichtung 3 ein Verteilungspaket, das an das DCM 12 zu übertragen ist, dynamisch erzeugt, erzeugt die Zentrumsvorrichtung 3 ein Verteilungspaket, das die bestimmten Schreibdaten enthält, und überträgt das erzeugte Verteilungspaket an das DCM 12, wenn Schreibdaten, die konform zu der inaktiven Bank sind, bestimmt werden.
  • Wenn das Verteilungspaket von der Zentrumsvorrichtung 3 heruntergeladen ist, extrahiert das DCM 12 die Schreibdaten und die Neuschreibspezifikationsdaten aus dem heruntergeladenen Verteilungspaket und überträgt die extrahierten Schreibdaten und Neuschreibspezifikationsdaten an das CGW 13.
  • Wenn bestimmt wird, dass die Schreibdaten und die Neuschreibspezifikationsdaten von dem DCM 12 beschafft wurden (S804: Ja), analysiert das CGW 13 die beschafften Neuschreibspezifikationsdaten (S805) und bestimmt ein Neuschreibverfahren für die Neuschreibziel-ECU 19 auf der Grundlage eines Analyseergebnisses der Neuschreibspezifikationsdaten (S808 und S807).
  • Wenn bestimmt wird, dass das Neuschreibverfahren ein Neuschreibverfahren ist, das Selbsterhaltungsenergie verwendet (S806: Ja), überträgt das CGW 13 eine Schreibdatenbeschaffungsanfrage an das DCM 12 unter der Bedingung, dass dieses sich in einer installierbaren Fahrzeugbedingung befindet, beschafft die Schreibdaten von dem DCM 12, verteilt die beschafften Schreibdaten an die Neuschreibziel-ECU 19, schreibt das Applikationsprogramm unter Verwendung der Selbsterhaltungsenergie neu (S808) und beendet den Datenspeicherbankinformations-Übertragungssteuerungsprozess. Das Verfahren zum Neuschreiben des Applikationsprogramms unter Verwendung der Selbsterhaltungsenergie ist dasselbe wie in dem Fall (b) mit Bezug auf die 28 und 29 beschrieben, bei dem ein Applikationsprogramm unter Verwendung der Selbsterhaltungsenergie neu geschrieben wird.
  • Wenn bestimmt wird, dass ein Neuschreibverfahren ein Neuschreiben basierend auf einer Stromversorgungssteuerung ist (S807: Ja), überträgt das CGW 13 eine Schreibdatenbeschaffungsanfrage an das DCM 12 unter der Bedingung, dass das Fahrzeug parkt, beschafft Schreibdaten von dem DCM 12, verteilt die beschafften Schreibdaten an die Neuschreibziel-ECU 19, schreibt das Applikationsprogramm unter Verwendung der Stromversorgungssteuerung neu (S809) und beendet den Datenspeicherbankinformations-Übertragungssteuerungsprozess. Das Verfahren zum Neuschreiben des Applikationsprogramms unter Verwendung der Stromversorgungssteuerung ist dasselbe wie in dem Fall (a) mit Bezug auf die 26 und 27 beschrieben, bei dem das Applikationsprogramm unter Verwendung der Stromversorgungssteuerung neu geschrieben wird.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Datenspeicherbankinformations-Übertragungssteuerungsprozess durch und teilt somit der Zentrumsvorrichtung 3 die ECU-Konfigurationsinformationen einschließlich der Bankinformationen mit und lädt ein Verteilungspaket, das Schreibdaten, die konform zu den ECU-Konfigurationsinformationen sind, enthält, von der Zentrumsvorrichtung 3 in das DCM 12 herunter. Das CGW 13 beschafft Schreibdaten, die konform zu den Bankinformationen sind, von dem DCM 12 und verteilt die Schreibdaten an die Neuschreibziel-ECU 19. In einem Fall, in dem die ECU 19, die mit einem Flash-Speicher ausgerüstet ist, der doppelte bzw. zwei Datenspeicherbänke aufweist, ein Neuschreibziel ist, kann ein Applikationsprogramm geeignet neu geschrieben werden.
  • Gemäß einem Aspekt, bei dem die Zentrumsvorrichtung 3 das Verteilungspaket verteilt, gibt es die folgenden ersten bis dritten Verteilungsaspekte. In dem ersten Verteilungsaspekt verteilt die Zentrumsvorrichtung 3 ein einzelnes Verteilungspaket, das beispielsweise Schreibdaten der Version 2.0 für die Bank A und Schreibdaten der Version 2.0 für die Bank B speichert. Das DCM 12 extrahiert die Schreibdaten der Version 2.0 für die Bank A und die Schreibdaten der Version 2.0 für die Bank B aus dem Verteilungspaket, das von der Zentrumsvorrichtung 3 heruntergeladen wurde, und überträgt die extrahierten Schreibdaten an das CGW 13. Wenn die Schreibdaten der Version 2.0 für die Bank A und die Schreibdaten der Version 2.0 für die Bank B von dem DCM 12 übertragen wurden, wählt das CGW 13 einen der beiden Schreibdatenteile aus und verteilt den ausgewählten Schreibdatenteil an die Neuschreibziel-ECU 19. Das heißt, es gibt eine Konfiguration, bei der jeweilige Schreibdaten, die jeweiligen Datenspeicherbänken entsprechen, in einem Verteilungspaket enthalten sind, und Neuschreibdaten, die für die Neuschreibziel-ECU 19 geeignet sind, in der Master-Vorrichtung 11 ausgewählt werden.
  • In dem zweiten Verteilungsaspekt wählt und verteilt die Zentrumsvorrichtung 3 beispielsweise entweder ein Verteilungspaket, das Schreibdaten der Version 2.0 für die Bank A speichert, oder ein Verteilungspaket, das Schreibdaten der Version 2.0 für die Bank B speichert, aus. Das DCM 12 extrahiert die Schreibdaten aus dem Verteilungspaket, das von der Zentrumsvorrichtung 3 heruntergeladen wurde, und überträgt die extrahierten Schreibdaten an das CGW 13. Das CGW 13 verteilt die Schreibdaten, die von dem DCM 12 übertragen wurden, an die Neuschreibziel-ECU 19. Das heißt, es gibt eine Konfiguration, bei der die Zentrumsvorrichtung 3 ein Verteilungspaket, das Schreibdaten der inaktiven Bank enthält, auf der Grundlage von Bankinformationen aus, die von dem DCM 12 heraufgeladen werden.
  • In dem dritten Verteilungsaspekt verteilt die Zentrumsvorrichtung 3 ein Verteilungspaket, das beispielsweise Schreibdaten der Version 2.0 speichert, die von der Bank A und der Bank B geteilt werden. Das DCM 12 extrahiert die Schreibdaten der Version 2.0, die von der Bank A und der Bank B geteilt werden, aus dem Verteilungspaket, das von der Zentrumsvorrichtung 3 heruntergeladen wurde, und überträgt die extrahierten Schreibdaten an das CGW 13. Das CGW 13 verteilt die Schreibdaten der Version 2.0, die von der Bank A und der Bank B geteilt werden und von dem DCM 12 übertragen wurden, an die Neuschreibziel-ECU 19. Wenn die Schreibdaten der Version 2.0, die von der Bank A und der Bank B geteilt werden, von dem CGW 13 empfangen wurden, schreibt die Neuschreibziel-ECU 19 die empfangenen Schreibdaten entweder in die Bank A oder in die Bank B. Wenn in diesem Fall ein Applikationsprogramm in der Neuschreibziel-ECU 19 ausgeführt wird, arbeitet eine Adresslösungsfunktion des Mikrocomputers, sodass die Neuschreibziel-ECU 19 sogar dann geeignet betrieben wird, wenn die Neuschreibdaten entweder in die Bank A oder in die Bank B geschrieben werden. Das heißt, der Mikrocomputer der Neuschreibziel-ECU 19 löst Differenzen zwischen Ausführungsadressen aufgrund einer Differenz zwischen den Banken derart auf, dass die Zentrumsvorrichtung 3 und die Master-Vorrichtung 11 betrieben werden können, ohne dass sie sich der Bänke bewusst sind.
  • Die ECU-Konfigurationsinformationen, die die Bankinformationen enthalten, die von dem CGW 13 an die Zentrumsvorrichtung 3 über das DCM 12 übertragen werden, können nicht nur Informationen zum Bestimmen einer Version eines Applikationsprogramms und einer aktiven Bank entsprechend den doppelten Bänken enthalten, sondern auch Fahrzeugspezifizierungsinformationen, Systemspezifizierungsinformationen, ECU-Spezifizierungsinformationen, Nutzungsumgebungsinformationen und Ähnliches.
  • Die Fahrzeugspezifizierungsinformationen sind einzigartige Informationen zum Spezifizieren eines Fahrzeugs, das Verteilungsziel eines Verteilungspaketes ist, und sind beispielsweise eine Fahrzeugidentifizierungsnummer (VIN). In Fahrzeugen, die den Regularien der On-board-Diagnose (OBD) unterliegen, kann eine VIN entsprechend der Bereitstellung der OBD-Regularien verwendet werden, aber in Fahrzeugen, die nicht den OBD-Regularien unterliegen, beispielsweise EV-Fahrzeuge (Elektrofahrzeuge), ist die VIN nicht verfügbar, und somit können individuelle Fahrzeugidentifikationsinformationen anstelle der VIN verwendet werden.
  • Die Systemspezifizierungsinformationen sind einzigartige Informationen zum Identifizieren des Typs des Neuprogrammierungssystems. Das CGW 13 kann ein drahtloses Neuschreiben für ein System durchführen, in dem ein drahtgebundenes Neuschreiben unter Verwendung einer Diagnosekommunikation, die von dem CGW verwaltet wird, durchgeführt werden kann, aber kann kein drahtloses Neuschreiben für andere individuelle Systeme durchführen. Das heißt, dieses kommt daher, dass das System ein Programm, das auf drahtlose Weise beschafft wird, unter Verwendung eines Aktualisierungsmechanismus eines Programmes, das auf drahtgebundene Weise beschafft wird, aktualisiert. Somit ist es notwendig, dass die Zentrumsvorrichtung 3 bestimmt, welches Verteilungspaket an welches System zu verteilen ist, und es ist möglich, unter Verwendung der Systemspezifizierungsinformationen zu verwalten, welches System in dem Fahrzeug montiert ist. Die Zentrumsvorrichtung 3 kann ein Neuschreibverfahren für jedes System, eine Neuschreibreihenfolge in einem Fall, in dem mehrere Systeme Neuschreibziele sind, und Ähnliches durch Bestimmen der Systemspezifizierungsinformationen bestimmen.
  • Die ECU-Spezifizierungsinformationen sind einzigartige Informationen zum Spezifizieren der Neuschreibziel-ECU 19 und sind Informationen, die eine Software-Version zum einzigartigen Spezifizieren der Neuschreib-ECU und eines Applikationsprogramms, das in die Neuschreibziel-ECU 19 geschrieben wird, sowie eine Hardware-Version enthalten. Die ECU-Spezifizierungsinformationen entsprechen auch einer ECU-Teilnummer. In einem Fall, in dem die letzte Software mit gesamten Daten geschrieben wird, wird nur die Hardware-Version benötigt. Es ist ebenfalls möglich, Informationen zu definieren, die durch ein Applikationsprogramm spezifiziert werden können, beispielsweise eine Spezifikationsversion oder eine Konfigurationsversion, und außerdem eine Mikrocomputer-ID, eine Sub-Mikrocomputer-ID, eine Flash-ID, eine Software-Kindversion, eine Software-Enkelversion und Ähnliches zu definieren.
  • Die Nutzungsumgebungsinformationen sind einzigartige Informationen zum Spezifizieren einer Umgebung, in der der Nutzer das Fahrzeug nutzt. Wenn die Nutzungsumgebungsinformationen von dem CGW 13 über das DCM 12 an die Zentrumsvorrichtung 3 übertragen wurden, kann die Zentrumsvorrichtung 3 ein Applikationsprogramm, das für die Umgebung, in der der Nutzer die Fahrzeuge nutzt, geeignet ist, verteilen. Es ist möglich, Applikationsprogramme zu verteilen, die für Umgebungen geeignet sind, in denen Nutzer Fahrzeuge nutzen; beispielsweise werden Applikationsprogramme, die für eine Beschleunigung spezialisiert sind, an Nutzer verteilt, die eine plötzliche Beschleunigungsfahrt ab dem Zeitpunkt eines Stopps bevorzugen, und es werden Applikationsprogramme, die hinsichtlich des Beschleunigungsvermögens unterlegen sind, aber für eine Öko-Fahrt spezialisiert sind, an Nutzer verteilt, die eine ökonomische Fahrt bzw. Öko-Fahrt bevorzugen.
  • Oben wurde ein Fall beschrieben, bei dem der Flash-Speicher in dem Mikrocomputer der Neuschreibziel-ECU 19 montiert ist, aber in einem Fall, in dem ein externer Speicher mit dem Mikrocomputer der Neuschreibziel-ECU 19 verbunden ist, wird der externe Speicher wie ein Doppelbankspeicher verarbeitet, und es werden Schreibdaten durch Teilen eines Schreibbereiches des externen Speichers in zwei Bereiche geschrieben. In einem Fall, in dem der Flash-Speicher in dem Mikrocomputer der Neuschreibziel-ECU 19 montiert ist und ein externer Speicher verbunden ist, kann in einigen Fällen ein Programm, das in dem externen Speicher gespeichert ist, zeitweilig in einen Speicher des Mikrocomputers kopiert werden. Da der externe Speicher allgemein als ein Speicherbereich eines Betriebs-Logs der ECU verwendet werden kann, ist es wünschenswert, ein Speichern des Betriebs-Logs in einem Fall zu stoppen, in dem ein Schreiben von Schreibdaten in den externen Speicher initiiert wird, und das Speichern des Betriebs-Logs in einem Fall wiederaufzunehmen, in dem das Schreiben der Schreibdaten in den externen Speicher beendet wurde.
  • Dasselbe gilt für einen Fall von Neuschreibkartendaten, da es ein Konzept doppelter Bänke gibt und eine Version nicht nur in einem Fall eines Neuschreibens eines Applikationsprogramms, sondern auch in einem Fall von Daten, die eine Eins-zueins-Aktualisierungseigenschaft aufweisen, beispielsweise Kartendaten, gibt.
  • Nicht-Neuschreibziel-Stromversorgungsverwaltungsprozess
  • Der Stromversorgungsverwaltungsprozess für die Nicht-Neuschreibziel-ECU 19 wird mit Bezug auf die 82 bis 87 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Stromversorgungsverwaltungsprozess für die Nicht-Neuschreibziel-ECU 19 in dem CGW 13 durch. In der vorliegenden Ausführungsform wird eine Situation angenommen, bei der ein Herunterladen eines Verteilungspakets durch das DCM 12 beendet wurde, das CGW 13 Neuschreibspezifikationsdaten beschafft und das CGW 13 Schreibdaten an die Neuschreibziel-ECU 19 verteilt, während das Fahrzeug parkt. In einem Fall, in dem die Schreibdaten an die Neuschreibziel-ECU 19 verteilt werden, fordert das CGW 13 die Stromversorgungsverwaltungs-ECU 20 auf, die IG-Leistung einzuschalten, um sämtliche ECUs 19 in einen aktiven Zustand zu bringen.
  • Wie es in 82 dargestellt ist, enthält das CGW 13 eine Neuschreibzielbestimmungseinheit 81a, eine Installierbarkeitsbestimmungseinheit 81b, eine Zustandsübergangssteuerungseinheit 81c und eine Neuschreibreihenfolgebestimmungseinheit 81d in der Stromversorgungsverwaltungseinheit 81 der Nicht-Neuschreibziel-ECU 19. Die Neuschreibzielbestimmungseinheit 81a bestimmt die Neuschreibziel-ECU 19 und die Nicht-Neuschreibziel-ECU 19 auf der Grundlage eines Analyseergebnisses der Neuschreibspezifikationsdaten. Die Installierbarkeitsbestimmungseinheit 81b bestimmt, ob eine Installation in der Neuschreibziel-ECU 19 machbar ist.
  • Die Zustandsübergangssteuerungseinheit 81c kann einen Zustand der ECU 19 ändern und die ECU 19 in einem Stoppzustand oder einem Schlafzustand für einen Übergang in einen aktiven Zustand (Aufwachzustand) steuern oder die ECU 19 in einem aktiven Zustand für einen Übergang in den Stoppzustand oder den Schlafzustand steuern. Die Zustandsübergangssteuerungseinheit 81c bewirkt, dass die ECU 19 in einem normalen Betriebszustand in einen Energiesparbetriebszustand übergeht, oder bewirkt, dass die ECU 19 in dem Energiesparbetriebszustand in den normalen Betriebszustand übergeht. Wenn durch die Installierbarkeitsbestimmungseinheit 81b bestimmt wird, dass die Installation machbar ist, steuert die Zustandsübergangssteuerungseinheit 81c mindestens eine Nicht-Neuschreibziel-ECU 19 in den Stoppzustand, den Schlafzustand oder den Energiesparbetriebszustand. Die Neuschreibreihenfolgebestimmungseinheit 81 d bestimmt eine Neuschreibreihenfolge für die Neuschreibziel-ECUs 19 auf der Grundlage des Analyseergebnisses der Neuschreibspezifikationsdaten.
  • Im Folgenden wird ein Betrieb der Stromversorgungsverwaltungseinheit 81 der Nicht-Neuschreibziel-ECU 19 in dem CGW 13 mit Bezug auf die 83 bis 87 beschrieben. Das CGW 13 führt ein Nicht-Neuschreibziel-Stromversorgungsverwaltungsprogramm aus und führt somit einen Nicht-Neuschreibziel-Stromversorgungsverwaltungsprozess durch. Hier wird ein Fall beschrieben, bei dem die ECUs, die Verwaltungsziele sind, durch das CGW 13 in einen aktiven Zustand gebracht werden.
  • Wenn der Stromversorgungsverwaltungsprozess für die Nicht-Neuschreibziel-ECU 19 initiiert ist, bestimmt das CGW 13 die Neuschreibziel-ECUs 19 und die Nicht-Neuschreibziel-ECUs 19 auf der Grundlage eines Analyseergebnisses der CGW-Neuschreibspezifikationsdaten (S901) und bestimmt eine Neuschreibreihenfolge von einer oder mehreren Neuschreibziel-ECUs 19 auf der Grundlage des Analyseergebnisses der Neuschreibspezifikationsdaten (S902). Wenn das CGW 13 bestimmt, ob Schreibdaten geschrieben werden können (S903; entspricht einer Schreibbarkeitsbestimmungsprozedur), und bestimmt, dass die Schreibdaten geschrieben werden können (S903: Ja), überträgt das CGW eine Strom-aus-Anfrage (Stoppanfrage) an die Nicht-Neuschreibziel-ECU 19 des ACC-Systems und die Nicht-Neuschreibziel-ECU 19 des IG-Systems und bewirkt somit, dass die Nicht-Neuschreibziel-ECU 19 des ACC-Systems und die Nicht-Neuschreibziel-ECU 19 des IG-Systems von dem aktiven Zustand in den Stoppzustand übergehen (S904; entspricht einer Zustandsübergangssteuerungsprozedur).
  • Wenn das CGW 13 bestimmt, ob eine Übertragung der Strom-aus-Anfrage an alle entsprechenden ECUs 19 beendet wurde (S905), und bestimmt, dass eine Übertragung der Strom-aus-Anfrage an alle entsprechenden ECUs 19 beendet wurde (S905: Ja), überträgt das CGW eine Schlafanfrage an die Nicht-Neuschreibziel-ECU 19 des +B-Leistungssystems und bewirkt somit, dass die Nicht-Neuschreibziel-ECU 19 des +B-Leistungssystems von dem aktiven Zustand in den Schlafzustand übergeht (S906; entspricht einer Zustandsübergangssteuerungsprozedur).
  • Wenn das CGW 13 bestimmt, ob eine Übertragung der Schlafanfrage an alle entsprechenden ECUs 19 beendet wurde (S907), und bestimmt, dass die Übertragung der Schlafanfrage an alle entsprechenden ECUs 19 beendet wurde (S907: Ja), bestimmt das CGW, ob ein Neuschreiben eines Applikationsprogramms in allen Neuschreibziel-ECUs 19 beendet wurde (S908). Wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms in allen Neuschreibziel-ECUs 19 beendet wurde (S908: Ja), beendet das CGW 13 den Stromversorgungsverwaltungsprozess für die Nicht-Neuschreibziel-ECU 19. Wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms in alle Neuschreibziel-ECUs 19 nicht beendet ist (S908: Nein), kehrt das CGW 13 zum Schritt S904 zurück und führt Schritt S904 und die anschließenden Schritte wieder durch.
  • In einem Fall, in dem es mehrere Neuschreibziel-ECUs 19 gibt, kann das CGW 13 individuell einen Übergang der Zustände der Neuschreibziel-ECUs 19 bewirken oder kann gemeinsam den Übergang der Zustände der Neuschreibziel-ECUs 19 bewirken. Das heißt, 83 stellt einen Prozess dar, in dem das CGW 13 eine Strom-aus-Anfrage oder eine Schlafanfrage an die Nicht-Neuschreibziel-ECU 19 überträgt. Anhand der folgenden 84 und 85 wird ein Fall beschrieben, bei dem der Stromversorgungsverwaltungsprozess für die Neuschreibziel-ECU 19 zusätzlich zu dem Stromversorgungsverwaltungsprozess für die Nicht-Neuschreibziel-ECU 19 durchgeführt wird.
  • Zunächst wird mit Bezug auf 84 ein Fall beschrieben, bei dem das CGW 13 individuell einen Übergang der Zustände von mehreren Neuschreibziel-ECUs 19 bewirkt. Wie es in 84 dargestellt ist, wird ein Fall als Beispiel beschrieben, bei dem die Neuschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind und die Neuschreibziel-ECUs 19 aufeinanderfolgend einem Neuschreiben während eines Parkens in einer bezeichneten Neuschreibreihenfolge der ECU (ID1), der ECU (ID2) und der ECU (ID3) von dem frühesten Neuschreibrang aus unterzogen werden.
  • Das CGW 13 bewirkt, dass die ECU (ID1), die ECU (ID2) und die ECU (ID3) jeweils von dem Stoppzustand oder dem Schlafzustand in den aktiven Zustand übergehen. Das CGW 13 hält die erste Neuschreibziel-ECU (ID1) in dem aktiven Zustand, bewirkt, dass die ECU (ID2) und die ECU (ID3) von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand übergehen, und verteilt die Schreibdaten an die ECU (ID1). Wenn die Verteilung der Schreibdaten an die ECU (ID1) beendet ist, bewirkt das CGW 13, dass die ECU (ID1) von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand übergeht, bewirkt, dass die zweite Neuschreibziel-ECU (ID2) von dem Stoppzustand oder dem Schlafzustand in den aktiven Zustand übergeht, hält die ECU (ID3) in dem Stoppzustand oder dem Schlafzustand und verteilt die Schreibdaten an die ECU (ID2).
  • Wenn die Verteilung der Schreibdaten an die ECU (ID2) beendet ist, hält das CGW 13 die ECU (ID1) in dem Stoppzustand oder dem Schlafzustand, bewirkt, dass die ECU (ID2) von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand übergeht, bewirkt, dass die dritte Neuschreibziel-ECU (ID3) von dem Stoppzustand oder dem Schlafzustand in den aktiven Zustand übergeht, und verteilt die Schreibdaten an die ECU (ID3). Wenn die Verteilung der Schreibdaten an die ECU (ID3) beendet ist, hält das CGW 13 die ECU (ID1) und die ECU (ID2) in dem Stoppzustand oder dem Schlafzustand und bewirkt, dass die ECU (ID3) von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand übergeht. Wie es oben beschrieben wurde, steuert das CGW 13 nur die ECU 19, die ein derzeitiges Neuschreibziel unter den Neuschreibziel-ECUs 19 ist, in den aktiven Zustand.
  • Im Folgenden wird mit Bezug auf 85 ein Fall beschrieben, bei dem das CGW 13 gemeinsam einen Übergang der Zustände der Neuschreibziel-ECUs 19 bewirkt. Wie es in 85 dargestellt ist, wird ein Fall beispielhaft beschrieben, bei dem die Neuschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind und die Neuschreibziel-ECUs 19 aufeinanderfolgend einem Neuschreiben während eines Parkens in einer bezeichneten Neuschreibreihenfolge der ECU (ID1), der ECU (ID2) und der ECU (ID3) von dem frühesten Neuschreibrang aus unterzogen werden.
  • Das CGW 13 bewirkt, dass die ECU (ID1), die ECU (ID2) und die ECU (ID3) von dem Stoppzustand oder dem Schlafzustand in den aktiven Zustand übergehen. Das CGW 13 hält die ECU (ID1), die ECU (ID2) und die ECU (ID3) in dem aktiven Zustand und verteilt die Schreibdaten an die ECU (ID1). Wenn die Verteilung der Schreibdaten an die ECU (ID1) beendet ist, verteilt das CGW 13 die Schreibdaten an die ECU (ID2). Wenn die Verteilung der Schreibdaten an die ECU (ID2) beendet ist, verteilt das CGW 13 die Schreibdaten an die ECU (ID3). Wenn die Verteilung der Schreibdaten an die ECU (ID3) beendet ist, bewirkt das CGW 13, dass die ECU (ID1), die ECU (ID2) und die ECU (ID3) von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand übergehen. Wie es oben beschrieben wurde, steuert das CGW 13 alle Neuschreibziel-ECUs 19 in den aktiven Zustand, bis eine Installation in allen Neuschreibziel-ECUs beendet ist. Hier kann das CGW 13 gleichzeitig Schreibdaten an die ECU (ID1), die ECU (ID2) und die ECU (ID3) parallel verteilen.
  • In einem Fall, in dem die Neuschreibziel-ECU 19 ein Applikationsprogramm während eines Parkens neu schreibt, befindet sich eine Spannung, die an die Neuschreibziel-ECU 19 angelegt wird, nicht notwendigerweise in einer stabilen Umgebung, und daher kann die Fahrzeugbatterie 40 während des Neuschreibens des Applikationsprogramms erschöpfen. Insbesondere wenn es mehrere Neuschreibziel-ECUs 19 gibt, erhöht sich die Zeit, die zum Neuschreiben des Applikationsprogramms benötigt wird, und somit besteht eine hohe Wahrscheinlichkeit, dass die Fahrzeugbatterie 40 während eines Neuschreibens des Applikationsprogramms erschöpft. Diesbezüglich wird die Nicht-Neuschreibziel-ECU 19 wie oben beschrieben in den Stoppzustand oder den Schlafzustand gebracht, und somit wird im Voraus eine Situation verhindert, bei der eine Restbatterieladung der Fahrzeugbatterie 40 während eines Neuschreibens eines Programms unzureichend wird. Die ECU 19, die kein derzeitiges Neuschreibziel unter den Neuschreibziel-ECUs 19 ist, wird in den Stoppzustand oder den Schlafzustand gebracht, und somit kann der Energieverbrauch weiter verringert werden.
  • Die obige Beschreibung betrifft einen Fall, bei dem ein Applikationsprogramm der Neuschreibziel-ECU 19 während eines Parkens neu geschrieben wird, und es wird ein Fall beschrieben, bei dem ein Applikationsprogramm der Neuschreibziel-ECU 19 neu geschrieben wird, während das Fahrzeug fährt. In einem Fall, in dem die Neuschreibziel-ECU 19 das Applikationsprogramm neu schreibt, während das Fahrzeug fährt, befindet sich die Spannung, die an die Neuschreibziel-ECU 19 angelegt wird, in einer stabilen Umgebung, und somit besteht kein Problem hinsichtlich einer Erschöpfung der Fahrzeugbatterie 40 während des Neuschreibens des Applikationsprogramms, aber es kann eine Restbatterieladung der Fahrzeugbatterie 40 gering sein. Im Hinblick darauf ist es wünschenswert, zu bewirken, dass die ECU 19 einen Betrieb zum Übergang in den Stoppzustand oder den Schlafzustand nicht durchführen muss, während das Fahrzeug fährt. Wie es in 86 dargestellt ist, bewirkt das CGW 13 in einem Fall einer Konfiguration, bei der die ECU 44 nicht mit der ACC-Stromleitung 38 und der IG-Stromleitung 39 verbunden ist, dass die ECU 44 keinen Betrieb zum Übergang von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand durchführen muss, während das Fahrzeug fährt, auch wenn die ECU 44, die keinen Betrieb durchführen muss, mit der +B-Stromleitung 37 verbunden ist, während das Fahrzeug fährt. Die ECU 44 ist beispielsweise eine ECU, die eine Funktion zur Diebstahlverhinderung aufweist. Das heißt, das CGW 13 bewirkt, dass die ECU 44 keinen Betrieb zum Übergang in den Stoppzustand oder den Schlafzustand durchführen muss und kein Neuschreibziel unter den ECUs 19 in dem aktiven Zustand ist. Demzufolge ist es möglich, einen erhöhten Energieverbrauch aufgrund einer Installation während der Fahrt des Fahrzeugs zu verhindern.
  • Das CGW 13 überwacht eine Restbatterieladung der Fahrzeugbatterie 40 und führt den oben beschriebenen Nicht-Neuschreibziel-Stromversorgungsverwaltungsprozess durch. Hier wird ein Restbatterieladungsüberwachungsprozess mit Bezug auf 87 beschrieben. Wenn der Restbatterieladungsüberwachungsprozess initiiert ist, überwacht das CGW 13 eine Restbatterieladung, während Schreibdaten an die Neuschreibziel-ECU 19 verteilt werden (S911), und bestimmt, ob die Restbatterieladung gleich oder größer als eine erste vorbestimmte Kapazität ist, ob die Restbatterieladung kleiner als die erste vorbestimmte Kapazität und gleich oder größer als eine zweite vorbestimmte Kapazität ist, und ob die Restbatterieladung kleiner als die zweite vorbestimmte Kapazität ist (S912 bis S914).
  • Wenn bestimmt wird, dass die Restbatterieladung gleich oder größer als die erste vorbestimmte Kapazität ist (S912: Ja), hält das CGW 13 die Nicht-Neuschreibziel-ECU 19 in dem aktiven Zustand und setzt die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 fort (S915). Wenn bestimmt wird, dass die Restbatterieladung kleiner als die erste vorbestimmte Kapazität und gleich oder größer als die zweite vorbestimmte Kapazität ist (S913: Ja), bewirkt das CGW 13, dass eine ECU unter den Nicht-Neuschreibziel-ECUs 19, die keinen Betrieb während einer Fahrt durchzuführen hat, in den Stoppzustand oder den Schlafzustand übergeht, und setzt die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 fort (S916). Wenn bestimmt wird, dass die Restbatterieladung kleiner als die zweite vorbestimmte Kapazität ist (S914: Ja), bestimmt das CGW 13, ob das Neuschreiben gestoppt werden kann (S917).
  • Wenn bestimmt wird, dass das Neuschreiben gestoppt werden kann (S917: Ja), stoppt das CGW 13 die Verteilung der Schreibdaten (S918). Wenn bestimmt wird, dass das Neuschreiben nicht gestoppt werden kann (S917: Nein), bewirkt das CGW 13, dass sämtliche ECUs unter den Nicht-Neuschreibziel-ECUs 19, die in den Stoppzustand oder den Schlafzustand übergehen können, in den Stoppzustand oder den Schlafzustand übergehen (S919).
  • Wenn das CGW 13 bestimmt, ob ein Neuschreiben beendet wurde (S920), und bestimmt, dass das Neuschreiben nicht beendet wurde (S920: Nein), kehrt das CGW 13 zum Schritt S911 zurück und führt Schritt S911 und die anschließenden Schritte wieder durch. Wenn bestimmt wird, dass das Neuschreiben beendet wurde (S920: Ja), bewirkt das CGW 13, dass die Neuschreibziel-ECU 19 in dem Stoppzustand oder dem Schlafzustand in den aktiven Zustand übergeht (S921), und beendet den Restbatterieladungsüberwachungsprozess. Hier können Werte der ersten vorbestimmten Kapazität und der zweiten vorbestimmten Kapazität im Voraus durch das CGW 13 gespeichert werden, oder es können Werte, die durch die Neuschreibspezifikationsdaten bezeichnet werden, verwendet werden.
  • In Schritt S919 kann das CGW 13 die ECU 19, die eine spezielle Funktion wie eine Alarmfunktion aufweist, aus Zielen ausschließen, die in den Stoppzustand oder den Schlafzustand übergehen, und kann bewirken, dass die Nicht-Neuschreibziel-ECU 19 von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand mit Ausnahme der ECU 19, die die spezielle Funktion aufweist, übergeht. In einem Fall, in dem die Neuschreibziel-ECU 19 eine Applikationssteuerung ausführen kann, während ein Applikationsprogramm neu geschrieben wird, kann das CGW 13 die Nicht-Neuschreibziel-ECU 19 in den Stoppzustand oder den Schlafzustand mit Ausnahme der ECU 19 bringen, die mit der Neuschreibziel-ECU 19 kommunizieren kann. Das CGW 13 kann bewirken, dass die Neuschreibziel-ECU 19 von dem Stoppzustand oder dem Schlafzustand in den aktiven Zustand in einem Fall übergeht, in dem Neuschreibbedingungen erfüllt sind, wenn sämtliche ECUs 19 sich in dem Stoppzustand oder dem Schlafzustand befinden, beispielsweise wenn eine Fahrzeugposition zu einer vorbestimmten Position wird oder die derzeitige Zeit eine vorbestimmte Zeit erreicht.
  • Das CGW 13 kann die Neuschreibziel-ECUs 19 oder die Nicht-Neuschreibziel-ECUs 19 auf der Grundlage einer Startleistung (+B-Leistungs-ECU, ACC-ECU oder IG-ECU), einer Domänengruppe (Karosseriesystem, Fahrsystem oder Multimediasystem) und/oder eines Synchronisationszeitpunktes gruppieren und kann die Neuschreibziel-ECU 19 in der Gruppeneinheit in den aktiven Zustand bringen oder kann die Nicht-Neuschreibziel-ECU 19 in der Gruppeneinheit in den Stoppzustand oder den Schlafzustand bringen.
  • Das CGW 13 kann ausgelegt sein, die Stromversorgung in der Buseinheit zu steuern. Das heißt, wenn bestimmt wird, dass sämtliche ECUs 19, die mit einem speziellen Bus verbunden sind, Nicht-Neuschreibziel-ECUs 19 sind, kann das CGW 13 die Stromversorgung für den speziellen Bus ausschalten, um zu bewirken, dass sämtliche Nicht-Neuschreibziel-ECUs 19, die mit dem speziellen Bus verbunden sind, in den Stoppzustand oder den Schlafzustand übergehen.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Nicht-Neuschreibziel-Stromversorgungsverwaltungsprozess durch und bringt somit mindestens eine Nicht-Neuschreibziel-ECU 19 in den Stoppzustand, den Schlafzustand oder den Energiesparbetriebszustand, wenn bestimmt wird, dass eine Installation in der Neuschreibziel-ECU 19 durchgeführt werden kann. Es ist möglich, eine Situation zu verhindern, bei der eine Restbatterieladung der Fahrzeugbatterie 40 während eines Neuschreibens eines Applikationsprogramms unzureichend wird. Da die Nicht-Neuschreibziel-ECU 19 in den Stoppzustand, den Schlafzustand oder den Energiesparbetriebszustand gebracht wird, ist es möglich, eine Erhöhung der Kommunikationslasten zu verhindern.
  • Dateiübertragungssteuerungsprozess
  • Der Dateiübertragungssteuerungsprozess wird mit Bezug auf die 88 bis 97 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Dateiübertragungssteuerungsprozess in dem CGW 13 durch. Die vorliegende Ausführungsform entspricht einem Prozess zum Übertragen von Neuschreibdaten, die in dem DCM 12 gespeichert sind (entspricht einer ersten Vorrichtung), an die Neuschreibziel-ECU 19 (entspricht einer dritten Vorrichtung) über das CGW 13 (entspricht einer zweiten Vorrichtung).
  • Wie es in 88 dargestellt ist, enthält das CGW 13 eine Übertragungszieldateibestimmungseinheit 82a, eine erste Datengrößenbestimmungseinheit 82b, eine Beschaffungsinformationsbestimmungseinheit 82c, eine zweite Datengrößenbestimmungseinheit 82d und eine Teildateiübertragungsanfrageeinheit 82e in der Dateiübertragungssteuerungseinheit 82. Die Übertragungszieldateibestimmungseinheit 82a bestimmt eine Datei, die in die Neuschreibziel-ECU 19 zu schreibende Schreibdaten enthält, als eine Übertragungszieldatei unter Verwendung eines Analyseergebnisses von Neuschreibspezifikationsdaten. In einem Fall beispielsweise, in dem die Neuschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, beschafft die Übertragungszieldateibestimmungseinheit 82a ECU-Informationen der ECU (ID1), der ECU (ID2) und der ECU (ID3) aus den CGW-Neuschreibspezifikationsdaten, die in 8 dargestellt sind, und bestimmt die Datei, die die Schreibdaten enthält, aus den beschafften ECU-Informationen als eine Übertragungszieldatei. Als Übertragungszieldatei kann eine Adresse oder ein Index zum Beschaffen der Datei bestimmt werden, oder es kann ein Dateiname der Datei bestimmt werden.
  • Wenn die Übertragungszieldatei durch die Übertragungszieldateibestimmungseinheit 82a bestimmt ist, bestimmt die erste Datengrößenbestimmungseinheit 82b eine erste Datengröße zum Beschaffen der Übertragungszieldatei. Wenn die Übertragungszieldatei durch die Übertragungszieldateibestimmungseinheit 82a bestimmt ist, bestimmt die Beschaffungsinformationsbestimmungseinheit 82c eine Adresse als Beschaffungsinformationen zum Beschaffen der Übertragungszieldatei. In der vorliegenden Ausführungsform wird die Adresse als Beschaffungsinformationen zum Beschaffen der Übertragungszieldatei bestimmt, aber solange wie die Beschaffungsinformationen zum Beschaffen der Übertragungszieldatei verwendet werden, kann nicht nur eine Adresse, sondern auch ein Dateiname oder eine ECU-(ID) verwendet werden. Die zweite Datengrößenbestimmungseinheit 82d bestimmt eine zweite Datengröße zum Verteilen von Schreibdaten an die Neuschreibziel-ECU 19. Das heißt, die erste Datengröße ist eine Datenübertragungsgröße von dem DCM 12 an das CGW 13, und die zweite Datengröße ist eine Datenübertragungsgröße von dem CGW 13 an die Neuschreibziel-ECU 19.
  • Wenn die Adresse durch die Beschaffungsinformationsbestimmungseinheit 82c bestimmt ist und die erste Datengröße durch die erste Datengrößenbestimmungseinheit 82b bestimmt ist, bezeichnet die Teildateiübertragungsanfrageeinheit 82e die Adresse und die erste Datengröße in dem DCM 12 und fordert das DCM 12 auf, eine Teildatei zu übertragen. In einem Fall beispielsweise, in dem eine Datengröße einer Schreibdatei, die an die ECU (ID1) zu verteilen ist, 1 MBytes ist, fordert die Teildateiübertragungsanfrageeinheit 82e auf, dass die Schreibdaten von der Adresse 0x10000000 alle 1 kByte übertragen werden.
  • Im Folgenden wird ein Betrieb der Dateiübertragungssteuerungseinheit 82 in dem CGW 13 mit Bezug auf die 89 bis 97 beschrieben. Das CGW 13 führt ein Dateiübertragungssteuerungsprogramm aus und führt somit den Dateiübertragungssteuerungsprozess durch.
  • Wenn bestimmt wird, dass ein Entpackungsbeendigungsmitteilungssignal von dem DCM 12 empfangen wird, initiiert das CGW 13 den Dateiübertragungssteuerungsprozess. Wie es in 10 dargestellt ist, ist das Entpacken ein Prozess zum Aufteilen einer Verteilungspaketdatei in Daten für jede ECU und jeden Neuschreibspezifikationsdatenteil. Wenn der Dateiübertragungssteuerungsprozess initiiert ist, überträgt das CGW 13 eine vorbestimmte Adresse an das DCM 12 (S1001). Wenn die vorbestimmte Adresse von dem CGW 13 empfangen wurde, überträgt das DCM 12 die CGW-Neuschreibspezifikationsdaten an das CGW 13 mit dem Empfang der vorbestimmten Adresse als Auslöser. Das CGW 13 beschafft die CGW-Neuschreibspezifikationsdaten aufgrund der Übertragung der CGW-Neuschreibspezifikationsdaten von dem DCM 12 (S1002).
  • Wenn die CGW-Neuschreibspezifikationsdaten von dem DCM 12 beschafft wurden, analysiert das CGW 13 die beschafften CGW-Neuschreibspezifikationsdaten (S1003) und bestimmt eine Übertragungszieldatei auf der Grundlage eines Analyseergebnisses der Neuschreibspezifikationsdaten (S1004; entspricht einer Übertragungszieldateibestimmungsprozedur). Das CGW 13 bestimmt eine Adresse entsprechend der Übertragungszieldatei (S1005; entspricht einer Beschaffungsinformationsbestimmungsprozedur) und bestimmt die erste Datengröße entsprechend der Übertragungszieldatei (S1006; entspricht einer ersten Datengrößenbestimmungsprozedur). Das CGW 13 überträgt die bestimmte Adresse und die Datengröße an das DCM 12 entsprechend den Bereitstellungen des Service-Identifizierers (SID) 35, bestimmt die Adresse und die Datengröße in einem Speicherbereich und fordert das DCM 12 auf, eine Teildatei zu übertragen (S1007).
  • Wenn die Adresse und die Datengröße von dem CGW 13 empfangen wurden, analysiert das DCM 12 die DCM-Neuschreibspezifikationsdaten und überträgt eine Datei entsprechend der Adresse und der Datengröße als Teildatei an das CGW 13. Das CGW 13 beschafft die Teildatei aufgrund der Übertragung der Teildatei von dem DCM 12 (S1008). In diesem Fall kann das CGW 13 die beschaffte Datei in einem RAM speichern und dann die beschaffte Datei in einem Flash-Speicher speichern.
  • Das CGW 13 bestimmt, ob die Beschaffung aller Teildateien, die zu beschaffen sind, beendet wurde (S1009). In einem Fall beispielsweise, in dem eine Datengröße einer Schreibdatei, die an die ECU (ID1) zu verteilen ist, 1 MByte beträgt, beschafft das CGW 13 eine Teildatei alle 1 kByte und bestimmt durch Wiederholen der Beschaffung einer Teildatei alle 1 kByte, ob die Beschaffung der Datenmenge von 1 MByte beendet wurde. Wenn bestimmt wird, dass die Beschaffung aller Teildateien, die zu beschaffen sind, nicht beendet ist (S1009: Nein), kehrt das CGW 13 zum Schritt S1004 zurück und führt Schritt S1004 und die anschließenden Schritte wieder durch. Wenn bestimmt wird, dass die Beschaffung aller Dateien, die zu beschaffen sind, beendet ist (S1009: Ja), beendet das CGW 13 den Dateiübertragungssteuerungsprozess. In einem Fall, in dem es mehrere Neuschreibziel-ECUs 19 gibt, führt das CGW 13 wiederholt den Dateiübertragungssteuerungsprozess für jede Neuschreibziel-ECU 19 durch.
  • Das heißt, in einem Fall beispielsweise, in dem die Neuschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, führt das CGW 13 den Dateiübertragungssteuerungsprozess für die ECU (ID2) durch, wenn die Verteilung der Schreibdaten an die ECU (ID1) beendet wurde, und führt den Dateiübertragungssteuerungsprozess für die ECU (ID3) durch, wenn die Verteilung der Schreibdaten an die ECU (ID2) beendet wurde. Das CGW 13 kann aufeinanderfolgend den Übertragungssteuerungsprozess für mehrere Neuschreibziel-ECUs 19 durchführen und kann den Übertragungssteuerungsprozess parallel durchführen.
  • 90 stellt beispielsweise einen Fall dar, in dem eine Schreibdatendatei der ECU (ID1) an den Adressen „1000“ bis „3999“ gespeichert ist, eine Schreibdatendatei der ECU (ID2) an den Adressen „4000“ bis „6999“ gespeichert ist und eine Schreibdatendatei der ECU (ID3) an den Adressen „7000“ ... in dem Speicher des DCM 12 gespeichert ist.
  • Wie es in 91 dargestellt ist, überträgt das CGW 13 in diesem Fall die Adresse „0000“ an das DCM 12, wenn ein Entpackungsbeendigungsmitteilungssignal von dem DCM 12 empfangen wird, und beschafft Neuschreibspezifikationsdaten von dem DCM 12. Das heißt, das DCM 12 bestimmt, dass ein Empfang der Adresse „0000“ eine Anfrage zum Beschaffen von CGW-Neuschreibdaten ist, und überträgt die CGW-Neuschreibspezifikationsdaten an das CGW 13. Das CGW 13 bestimmt die ECU (ID1) als ein Übertragungsziel der Schreibdaten, bestimmt die Adresse „1000“ und die Datengröße „1 kByte“ und beschafft eine Teildatei, die Schreibdaten der ECU (ID1) enthält, die an den Adressen „1000“ bis „1999“ gespeichert sind, von dem DCM 12. Wenn die Teildatei von dem DCM 12 beschafft ist, verteilt das CGW 13 die Schreibdaten, die in der Teildatei enthalten sind, an die ECU (ID1).
  • Anschließend bestimmt das CGW 13 auf ähnliche Weise die ECU (ID1) als ein Übertragungsziel von Schreibdaten, bestimmt die Adresse „2000“ und die Datengröße „1 kByte“ und beschafft eine Teildatei, die Schreibdaten der ECU (ID1) enthält, die an den Adressen „2000“ bis „2999“ gespeichert sind, von dem DCM 12. Wenn die Teildatei von dem DCM 12 beschafft ist, verteilt das CGW 13 die Schreibdaten, die in der Teildatei enthalten sind, an die ECU (ID1). Das CGW 13 beschafft wiederholt eine Teildatei alle 1 kByte von dem DCM 12, bis ein Schreiben aller Schreibdatenteile in die ECU (ID1) beendet ist, und verteilt die Schreibdaten, die in einer Teildatei enthalten sind, wiederholt an die ECU (ID1). Das heißt, wenn die Schreibdaten von 1 kByte von dem DCM 12 beschafft sind, überträgt das CGW 13 die Schreibdaten von 1 kByte an die Neuschreibziel-ECU 19 und beschafft die nächsten Schreibdaten von 1 kByte von dem DCM 12, wenn eine Übertragung an die Neuschreibziel-ECU 19 beendet ist. Das CGW 13 führt diese Prozesse wiederholt durch, bis ein Schreiben aller Schreibdatenteile beendet ist.
  • Wenn das Schreiben der Schreibdaten in die ECU (ID1) normal beendet ist, bestimmt das CGW 13 die ECU (ID2) als ein Übertragungsziel der Schreibdaten, bestimmt die Adresse „4000“ und die Datengröße „1 kByte“ und beschafft eine Teildatei, die Schreibdaten der ECU (ID2) enthält, die an den Adressen „4000“ bis „4999“ gespeichert sind, von dem DCM 12. Wenn die Teildatei von dem DCM 12 beschafft ist, verteilt das CGW 13 die Schreibdaten, die in der Teildatei enthalten sind, an die ECU (ID2).
  • Wenn das Schreiben der Schreibdaten in die ECU (ID2) normal beendet ist, bestimmt das CGW 13 die ECU (ID3) als ein Übertragungsziel der Schreibdaten, bestimmt die Adresse „7000“ und die Datengröße „1 kByte“ und beschafft eine Teildatei, die Schreibdaten der ECU (ID2) enthält, die an den Adressen „7000“ bis „7999“ gespeichert sind, von dem DCM 12. Wenn die Teildatei von dem DCM 12 beschafft ist, verteilt das CGW 13 die Schreibdaten, die in der Teildatei enthalten sind, an die ECU (ID2).
  • Wie es oben beschrieben wurde, führt das CGW 13 den Dateiübertragungssteuerungsprozess durch und bestimmt somit eine Übertragungszieldatei auf der Grundlage eines Analyseergebnisses der Neuschreibspezifikationsdaten und bestimmt eine Adresse und eine Datengröße entsprechend der Übertragungszieldatei. Das CGW 13 bestimmt die Adresse und die Datengröße in dem DCM 12, fordert das DCM 12 auf, eine Teildatei zu übertragen, die durch Aufteilen der Übertragungszieldatei erhalten wird, und beschafft die Teildatei von dem DCM 12. Demzufolge ist es möglich, Schreibdaten an die ECU 19 zu verteilen, während eine große Menge an Schreibdaten in dem Speicher des DCM 12 gespeichert ist. Das heißt, in dem CGW 13 ist es nicht notwendig, einen Speicher zum Speichern einer Datei großen Volumens bereitzustellen, und somit kann die Speicherkapazität des CGW 13 verringert werden.
  • Hier wird eine Beziehung zwischen einer Datengröße einer Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, und einer Datenmenge bzw. -größe einer Schreibdatei, die von dem CGW 13 an die Neuschreibziel-ECU 19 verteilt wird, beschrieben. In dem obigen Beispiel, das in 92 dargestellt ist, wurde ein Fall beschrieben, bei dem eine Datengröße einer Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, 1 kByte ist. Es kann jedoch eine beliebige Beziehung zwischen einer Datengröße der Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, und einer Datengröße der Schreibdatei, die von dem CGW 13 an die Neuschreibziel-ECU 19 verteilt wird, verwendet werden.
  • Das heißt, wenn beispielsweise die Neuschreibziel-ECU 19 eine Spezifikation zum Empfangen von Schreibdaten von 4 kBytes aufgrund einer CAN-Kommunikation aufweist, verteilt das CGW 13 eine Datengröße aus einer Schreibdatei an die Neuschreibziel-ECU 19 in der Einheit von 4 kBytes. Wenn in diesem Fall eine Datengröße der Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, 1 kByte ist, beschafft das CGW 13 vier Teildateien von dem DCM 12 und verteilt dann 4 kBytes an die Neuschreibziel-ECU 19. Das heißt, eine Datengröße einer Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, ist kleiner als eine Datengröße einer Schreibdatei, die von dem CGW 13 an die Neuschreibziel-ECU 19 verteilt wird. Bei einer derartigen Beziehung ist es in dem CGW 13 möglich, eine Teildatei von dem DCM 12 zu beschaffen und Schreibdaten an die Neuschreibziel-ECU 19 parallel zu verteilen, wobei eine Erhöhung einer Speicherkapazität verhindert wird.
  • Das heißt, wenn eine Datengröße einer Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, 4 kBytes ist, wird eine Speicherkapazität des CGW 13 von 8 kBytes benötigt, um die Teildatei von dem DCM 12 zu beschaffen und Schreibdaten an die Neuschreibziel-ECU 19 parallel zu verteilen. Eine Datengröße der Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, wird auf 1 kByte festgelegt, und somit ist es möglich, die Teildatei von dem DCM 12 zu beschaffen und Schreibdaten an die Neuschreibziel-ECU 19 parallel zu verteilen, ohne die Speicherkapazität des CGW 13 auf 8 kBytes zu erhöhen. Der Speicherkapazität des CGW 13 wird beispielsweise 5 kBytes zugeordnet, und das CGW 13 beschafft die nächsten 1 kByte von dem DCM 12, während 4 kBytes, die von dem DCM 12 beschafft wurden, an die Neuschreibziel-ECU 19 verteilt werden. Das CGW 13 beschafft außerdem die nächsten 1 kByte von dem DCM 12, nachdem die Verteilung von 4 kBytes an die Neuschreibziel-ECU 19 beendet ist.
  • Wenn andererseits beispielsweise die Neuschreibziel-ECU 19 eine Spezifikation zum Empfangen der Schreibdaten von 128 Bytes aufgrund einer CAN-Kommunikation aufweist, verteilt das CGW 13 die Schreibdaten von 128 Bytes an die Neuschreibziel-ECU 19. Wenn in diesem Fall eine Datengröße einer Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, 1 kByte ist, beschafft das CGW 13 eine einzelne Teildatei von dem DCM 12 und verteilt dann 128 Bytes an die Neuschreibziel-ECU 19 zu einer Zeit. Das heißt, eine Datengröße der Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, ist größer als eine Datengröße der Schreibdatei, die von dem CGW 13 an die Neuschreibziel-ECU 19 verteilt wird. Es wird beispielsweise einer Speicherkapazität des CGW 13 2 kBytes zugeordnet, und das CGW 13 beschafft die nächsten 1 kByte von dem DCM 12, während 1 kByte, die von dem DCM 12 beschafft wurden, an die Neuschreibziel-ECU 19 in der Einheit von 128 Bytes verteilt wird. Das CGW 13 beschafft außerdem die nächsten 1 kByte von dem DCM 12, nachdem eine Verteilung von 128 Bytes an die Neuschreibziel-ECU 19 achtmal beendet wurde.
  • Auf die oben beschriebene Weise kann eine Datengröße einer Teildatei, die von dem DCM 12 an das CGW 13 übertragen wird, auf einen festen Wert (beispielsweise 1 kByte) eingestellt werden, und eine Datengröße einer Schreibdatei, die von dem CGW 13 an die Neuschreibziel-ECU 19 verteilt wird, kann auf einen variablen Wert entsprechend einer Spezifikation der Neuschreibziel-ECU 19 eingestellt werden. Das CGW 13 kann beispielsweise eine an die Neuschreibziel-ECU 19 zu verteilende Datenmenge unter Verwendung einer Datenübertragungsgröße einer jeweiligen ECU, die in den Neuschreibspezifikationsdaten spezifiziert ist, bestimmen.
  • Das CGW 13 überträgt eine Übertragungsanfrage an das DCM 12 und fordert das DCM 12 auf, eine Teildatei zu übertragen, und es gibt einen ersten Anfrageaspekt und einen zweiten Anfrageaspekt als Aspekte zum Auffordern des DCM 12, die Teildatei zu übertragen. Wenn der Empfang von Schreibdaten beendet ist, überträgt die Neuschreibziel-ECU 19 eine Empfangsbeendigungsmittteilung, die angibt, dass der Empfang der Schreibdaten beendet wurde, an das CGW 13, und wenn das Schreiben der Schreibdaten beendet wurde, überträgt die Neuschreibziel-ECU eine Schreibbeendigungsmitteilung, die angibt, dass das Schreiben der Schreibdaten beendet wurde, an das CGW 13.
  • Der erste Verteilungsaspekt wird mit Bezug auf 93 beschrieben. Wenn eine Teildatei von dem DCM 12 beschafft ist, verteilt das CGW 13 die beschaffte Teildatei als Schreibdaten an die Neuschreibziel-ECU 19. Wenn der Empfang der Schreibdaten beendet ist, überträgt die Neuschreibziel-ECU 19 eine Empfangsbeendigungsmittteilung an das CGW 13 und initiiert einen Schreibprozess der Schreibdaten. Wenn die Empfangsbeendigungsmittteilung der Schreibdaten von der Neuschreibziel-ECU 19 empfangen wurde, überträgt das CGW 13 eine Übertragungsanfrage an das DCM 12 und fordert das DCM 12 auf, die nächste Teildatei zu übertragen. Wenn die nächste Teildatei von dem DCM 12 beschafft ist, verteilt das CGW 13 die beschaffte nächste Teildatei als Schreibdaten an die Neuschreibziel-ECU 19.
  • Wie es oben beschrieben wurde, beschafft das CGW 13 in dem ersten Verteilungsaspekt die nächsten Schreibdaten von dem DCM 12 und verteilt die nächsten Schreibdaten an die Neuschreibziel-ECU 19, ohne auf eine Beendigung des Schreibens der Schreibdaten in der Neuschreibziel-ECU 19 zu warten. Somit besteht bei dem ersten Verteilungsaspekt in dem CGW 13 in einem Fall, in dem die Neuschreibziel-ECU 19 das Schreiben der Schreibdaten nicht beendet hat, die Befürchtung, dass die nächste Schreibdatei durch die Neuschreibziel-ECU 19 auch dann nicht empfangen werden kann, wenn die nächste Teildatei von dem DCM 12 beschafft ist und die nächsten Schreibdaten an die Neuschreibziel-ECU 19 verteilt werden. In einem Fall jedoch, in dem die Neuschreibziel-ECU 19 das Schreiben der Schreibdaten beendet hat, kann die nächste Teildatei schnell von dem DCM 12 beschafft werden, und die nächsten Schreibdaten können schnell an die Neuschreibziel-ECU 19 verteilt werden.
  • Der zweite Verteilungsaspekt wird mit Bezug auf 94 beschrieben. Wenn eine Teildatei von dem DCM 12 beschafft ist, verteilt das CGW 13 die beschaffte Teildatei als Schreibdaten an die Neuschreibziel-ECU 19. Wenn der Empfang der Schreibdaten beendet ist, überträgt die Neuschreibziel-ECU 19 eine Empfangsbeendigungsmittteilung an das CGW 13 und initiiert einen Schreibprozess der Schreibdaten. Wenn das Schreiben beendet ist, überträgt die Neuschreibziel-ECU 19 eine Schreibbeendigungsmitteilung an das CGW 13. Wenn die Schreibbeendigungsmitteilung von der Neuschreibziel-ECU 19 empfangen wurde, überträgt das CGW 13 eine Übertragungsanfrage an das DCM 12 und fordert das DCM 12 auf, die nächste Teildatei zu übertragen. Wenn die nächste Teildatei von dem DCM 12 beschafft ist, verteilt das CGW 13 die beschaffte nächste Teildatei als Schreibdaten an die Neuschreibziel-ECU 19.
  • Wie es oben beschrieben wurde, wartet das CGW 13 bei dem zweiten Verteilungsaspekt auf eine Beendigung des Schreibens der Schreibdaten in die Neuschreibziel-ECU 19, beschafft dann die nächsten Schreibdaten von dem DCM 12 und verteilt die nächsten Schreibdaten an die Neuschreibziel-ECU 19. Somit benötigt das CGW 13 bei dem zweiten Verteilungsaspekt Zeit, um die nächste Teildatei von dem DCM 12 zu beschaffen, aber es ist möglich, das DCM 12 aufzufordern, eine Teildatei in einem Zustand zu übertragen, in dem die Neuschreibziel-ECU 19 das Schreiben der Schreibdaten beendet hat. Wenn daher die nächste Teildatei von dem DCM 12 beschafft ist und die nächsten Schreibdaten an die Neuschreibziel-ECU 19 verteilt werden, können die nächsten Schreibdaten zuverlässig an die Neuschreibziel-ECU 19 verteilt werden.
  • Das CGW 13 verteilt Schreibdaten an die Neuschreibziel-ECU 19 entsprechend SID 34, 36 und 37, und es gibt einen ersten Verteilungsaspekt und einen zweiten Verteilungsaspekt als Aspekte zum Verteilen der Schreibdaten an die Neuschreibziel-ECU 19. In dem ersten Verteilungsaspekt, der in 95 dargestellt ist, teilt das CGW 13 Schreibdaten, die zu verteilen sind, in eine vorbestimmte Datengröße (beispielsweise 1 kByte) auf und verteilt die Teilschreibdaten. In dem zweiten Verteilungsaspekt, der in 96 dargestellt ist, verteilt das CGW 13 gemeinsam Schreibdaten, die zu verteilen sind, ohne die Schreibdaten aufzuteilen. Das CGW 13 wählt entweder den ersten Verteilungsaspekt oder den zweiten Verteilungsaspekt entsprechend SID 34 aus, gemäß der zuerst an die Neuschreibziel-ECU 19 zu verteilen ist. Wie es in 97 dargestellt ist, bestimmt das CGW 13 einen Empfang von Schreibdaten in der Neuschreibziel-ECU 19 durch Empfangen von ACK (SID 74) für SID 37, die zum Schluss an die Neuschreibziel-ECU 19 zu verteilen sind. ACK für diese SID 37 entspricht der Empfangsbeendigungsmittteilung der Schreibdaten, wie es oben mit Bezug auf die 93 und 94 beschrieben wurde. Das heißt, in dem ersten Verteilungsaspekt inkrementiert das CGW 13 eine Adresse der nächsten Schreibdaten zum Verteilen der nächsten Schreibdaten an die Neuschreibziel-ECU 19 und außerdem zum Beschaffen der nächsten Schreibdaten von dem DCM 12, wenn ACK für SID 37, gemäß der schließlich an die Neuschreibziel-ECU 19 zu verteilen ist, empfangen wird.
  • Auch wenn eine Adresse und eine Datei in den DCM-Neuschreibspezifikationsdaten miteinander korrelieren, kann beispielsweise als ein Verfahren zum Korrelieren einer Adresse mit einer Datei eine Ordnerkonfiguration möglich sein, d.h. es können Spezifikationsdaten in einem Ordner 1 gespeichert und verwaltet werden, es kann eine Datei 1 in einem Ordner 2 gespeichert und verwaltet werden, es kann eine Datei 2 in einem Ordner 3 gespeichert und verwaltet werden, und die Dateien können in der Reihenfolge der Dateinamen verwaltet werden. Bei dem Entpacken beispielsweise, wie es in 10 dargestellt ist, werden die DCM-Neuschreibspezifikationsdaten und die CGW-Neuschreibspezifikationsdaten in dem Ordner 1 gespeichert und verwaltet, der Authentifizierer und die Differenzdaten der ECU (ID1) werden in dem Ordner 2 gespeichert und verwaltet, und der Authentifizierer und die Differenzdaten der ECU (ID2) werden in dem Ordner 3 gespeichert und verwaltet.
  • In einem Fall beispielsweise, in dem die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 aus irgendeinem Grund wie beispielsweise einer Kommunikationsunterbrechung gestoppt wird, beschafft das CGW 13 Informationen, die eine Adresse spezifizieren können, bei der ein Schreiben der Schreibdaten beendet wurde, von der Neuschreibziel-ECU 19 und fordert das DCM 12 auf, eine Teildatei, die die Schreibdaten ab einem Zeitpunkt, zu dem das Schreiben nicht beendet wurde, enthält, zu übertragen. Alternativ kann das CGW 13 das DCM 12 auffordern, eine Teildatei zu übertragen, die Schreibdaten von Beginn an enthält.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Dateiübertragungssteuerungsprozess durch, womit eine Datei, die in die Neuschreibziel-ECU 19 zu schreibende Schreibdaten enthält, als eine Übertragungszieldatei bestimmt wird, bestimmt eine Adresse zum Beschaffen der Übertragungszieldatei und die erste Dateigröße, fordert das DCM 12 auf, eine Teildatei zu übertragen, und verteilt die Schreibdaten an die Neuschreibziel-ECU, wenn die Teildatei von dem DCM 12 übertragen wurde. Die Übertragung der Schreibdaten von dem DCM 12 an das CGW 13 und die Verteilung der Schreibdaten von dem CGW 13 an die Neuschreibziel-ECU 19 können somit effizient durchgeführt werden.
  • Schreibdatenverteilungssteuerungsprozess
  • Der Schreibdatenverteilungssteuerungsprozess wird mit Bezug auf die 98 bis 108 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Schreibdatenverteilungssteuerungsprozess in dem CGW 13 durch. Da das CGW 13 Schreibdaten an die ECU 19 über den Bus in dem Fahrzeug überträgt, wird der Schreibdatenverteilungssteuerungsprozess derart durchgeführt, dass eine Buslast während einer Verteilung der Schreibdaten nicht unnötig hoch wird.
  • Wie es in 98 dargestellt ist, wird ein Fall angenommen, bei dem die +B-Leistungs-ECU, die ACC-ECU und die IG-ECU mit demselben Bus verbunden sind. In diesem Fall werden in dem +B-Stromversorgungszustand Fahrzeugsteuerungsdaten nur von der +B-Leistungs-ECU an den Bus übertragen, da nur die +B-Leistungs-ECU gestartet wird und die ACC-ECU und die IG-ECU gestoppt werden bzw. sind. In dem ACC-Stromversorgungszustand werden Fahrzeugsteuerungsdaten der +B-Leistungs-ECU und der ACC-ECU an den Bus übertragen, da die +B-Leistungs-ECU und die ACC-ECU gestartet werden und die IG-ECU gestoppt wird bzw. ist. In dem IG-Stromversorgungszustand werden Fahrzeugsteuerungsdaten der +B-Leistungs-ECU, der ACC-ECU und der IG-ECU an den Bus übertragen, da die +B-Leistungs-ECU, die ACC-ECU und die IG-ECU gestartet werden. Das heißt, eine Übertragungsmenge der Fahrzeugsteuerungsdaten verringert sich in der Reihenfolge des IG-Stromversorgungszustands, des ACC-Stromversorgungszustands und des +B-Stromversorgungszustands.
  • Wie es in 99 dargestellt ist, enthält das CGW 13 eine erste Entsprechungsbeziehungsbestimmungseinheit 83a, eine zweite Entsprechungsbeziehungsbestimmungseinheit 83b, eine Erlaubte-Übertragungsmengenbestimmungseinheit 83c, eine Verteilungshäufigkeitsbestimmungseinheit 83d, eine Buslastmesseinheit 83e und eine Verteilungsteuerungseinheit 83f in der Schreibdatenverteilungssteuerungseinheit 83.
  • Die erste Entsprechungsbeziehungsbestimmungseinheit 83a bestimmt eine erste Entsprechungsbeziehung, die eine Beziehung zwischen einem Stromversorgungszustand und einer erlaubten Übertragungsmenge für einen Bus angibt, auf der Grundlage eines Analyseergebnisses von Neuschreibspezifikationsdaten und bestimmt eine Buslasttabelle, wie sie in 100 dargestellt ist. Die erlaubte Übertragungsmenge ist ein Wert einer Übertragungsmenge, in der Daten übertragen und empfangen werden, wenn keine Datenkollision oder Verzögerung auftritt. Die Buslasttabelle ist eine Tabelle, die eine Entsprechungsbeziehung zwischen dem Stromversorgungszustand und einer erlaubten Übertragungsmenge für einen Bus angibt, und ist für jeden Bus definiert. Die erlaubte Übertragungsmenge ist eine Summe aus den Übertragungsmengen von Fahrzeugsteuerungsdaten und Schreibdaten, die in Bezug auf die maximal erlaubte Übertragungsmenge übertragen werden kann.
  • In dem Beispiel, das in 100 dargestellt ist, erlaubt das CGW 13 in dem IG-Stromversorgungszustand „50%“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge der Fahrzeugsteuerungsdaten und „30%“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge der Schreibdaten, da die erlaubte Übertragungsmenge „80%“ in Bezug auf die maximal erlaubte Übertragungsmenge für den ersten Bus beträgt. Für den ersten Bus erlaubt das CGW 13 in dem ACC-Stromversorgungszustand „30%“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge der Fahrzeugsteuerungsdaten und „50%“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge der Schreibdaten. Für den ersten Bus erlaubt das CGW 13 in dem +B-Stromversorgungszustand „20%“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge der Fahrzeugsteuerungsdaten und erlaubt „60%“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge der Schreibdaten. Wie es in 100 dargestellt ist, sind der zweite Bus und der dritte Bus auf dieselbe Weise definiert.
  • Die zweite Entsprechungsbeziehungsbestimmungseinheit 83b bestimmt eine zweite Entsprechungsbeziehung, die eine Beziehung zwischen einem Bus, zu dem die Neuschreibziel-ECU 19 gehört, und einem Stromversorgungssystem angibt, auf der Grundlage eines Analyseergebnisses von Neuschreibspezifikationsdaten und bestimmt eine Neuschreibziel-ECU-Zugehörigkeitstabelle, die in 101 dargestellt ist. Die Neuschreibziel-ECU-Zugehörigkeitstabelle ist eine Tabelle, die einen Bus, zu dem die Neuschreibziel-ECU 19 gehört, und ein Stromversorgungssystem angibt.
  • In dem Beispiel, das in 101 dargestellt ist, bestimmt das CGW 13 die erste Neuschreibziel-ECU 19 als eine +B-Leistungs-ECU, da die erste Neuschreibziel-ECU 19 mit dem ersten Bus verbunden ist und in dem +B-Stromversorgungszustand, dem ACC-Stromversorgungszustand und dem IG-Stromversorgungszustand gestartet wird. Das CGW 13 bestimmt die zweite Neuschreibziel-ECU 19 als eine ACC-ECU, da die zweite Neuschreibziel-ECU mit dem zweiten Bus verbunden ist und in dem +B-Stromversorgungszustand gestoppt wird, aber in dem ACC-Stromversorgungszustand und dem IG-Stromversorgungszustand gestartet wird. Das CGW 13 bestimmt die dritte Neuschreibziel-ECU 19 als eine IG-ECU, da die dritte Neuschreibziel-ECU 19 mit dem dritten Bus verbunden ist und in dem +B-Stromversorgungszustand und dem ACC-Stromversorgungszustand gestoppt wird, aber in dem IG-Stromversorgungszustand gestartet wird.
  • Das CGW 13 verwendet die Daten des „verbundenen Busses“ und der „verbundenen Stromversorgung“ in den Neuschreibspezifikationsdaten, die in 8 dargestellt sind, um einen Bus zu bestimmen, mit dem die Neuschreibziel-ECU 19 verbunden ist, und ein entsprechendes Stromversorgungssystem zu bestimmen. Solange wie derartige Informationen bestimmt werden können, müssen die Informationen nicht notwendigerweise in einer Tabellenform gespeichert werden.
  • Die Erlaubte-Übertragungsmengenbestimmungseinheit 83c bestimmt eine erlaubte Übertragungsmenge für einen Bus, zu dem die Neuschreibziel-ECU 19 gehört, wobei die erlaubte Übertragungsmenge Stromversorgungszuständen des Fahrzeugs, wenn ein Programm aktualisiert wird, entspricht, entsprechend dem Bestimmungsergebnis der ersten Entsprechungsbeziehung und dem Bestimmungsergebnis der zweiten Entsprechungsbeziehung. Insbesondere bestimmt die Erlaubte-Übertragungsmengenbestimmungseinheit 83c einen Bus, zu dem die Neuschreibziel-ECU 19 gehört, unter Verwendung der Neuschreibziel-ECU-Zugehörigkeitstabelle, die die zweite Entsprechungsbeziehung ist, und bestimmt eine erlaubte Übertragungsmenge in jedem Stromversorgungszustand für den bestimmten Bus unter Verwendung der Buslasttabelle, die die erste Entsprechungsbeziehung angibt.
  • Die Verteilungshäufigkeitsbestimmungseinheit 83d bestimmt eine Verteilungshäufigkeit von Schreibdaten entsprechend einen Stromversorgungszustand zu dem Zeitpunkt einer Installation unter Verwendung einer vordefinierten Entsprechungsbeziehung zwischen einem Stromversorgungszustand und einer Verteilungshäufigkeit von Schreibdaten. Insbesondere bestimmt die Verteilungshäufigkeitsbestimmungseinheit 83d unter Verwendung der Buslasttabelle eine erlaubte Übertragungsmenge, die der Verteilung von Schreibdaten zugeordnet ist, unter erlaubten Übertragungsmengen, die durch die Erlaubte-Übertragungsmengenbestimmungseinheit 83c bestimmt werden, und bestimmt eine Verteilungshäufigkeit der Schreibdaten. Wenn beispielsweise bestimmt wird, dass ein Bus, zu dem die Neuschreibziel-ECU 19 gehört, der erste Bus ist, bestimmt die Verteilungshäufigkeitsbestimmungseinheit 83d eine erlaubte Übertragungsmenge als „80%“, bestimmt eine erlaubte Übertragungsmenge, die zum Verteilen der Schreibdaten zugeordnet ist, als „30%“ von 80%, und bestimmt somit eine Verteilungshäufigkeit der Schreibdaten, wenn ein Stromversorgungszustand zu dem Zeitpunkt der Installation der IG-Stromversorgungszustand ist. Die erlaubte Übertragungsmenge, die der Verteilung der Schreibdaten zugeordnet ist, entspricht Übertragungsbeschränkungsinform ationen.
  • Die Buslastmesseinheit 83e misst eine Buslast eines Busses, zu dem die Neuschreibziel-ECU 19 gehört. Die Buslastmesseinheit 83e misst die Buslast beispielsweise durch Zählen der Anzahl der Rahmen oder der Anzahl von Bits, die je Zeiteinheit empfangen werden. Die Verteilungsteuerungseinheit 83f steuert eine Verteilung der Schreibdaten in Abhängigkeit von der Verteilungshäufigkeit, die durch die Verteilungshäufigkeitsbestimmungseinheit 83d bestimmt wird.
  • Im Folgenden wird ein Betrieb der Schreibdatenverteilungssteuerungseinheit 83 in dem CGW 13 mit Bezug auf die 102 bis 108 beschrieben. Das CGW 13 führt ein Schreibdatenverteilungssteuerungsprogramm aus und führt somit den Schreibdatenverteilungssteuerungsprozess durch.
  • Wenn ein Entpackungsbeendigungsmitteilungssignal von dem DCM 12 empfangen wird, initiiert das CGW 13 den Schreibdatenverteilungssteuerungsprozess. Das CGW 13 beschafft die CGW-Neuschreibspezifikationsdaten von dem DCM 12 (S1101) und bestimmt eine Buslasttabelle und eine Neuschreibziel-ECU-Zugehörigkeitstabelle unter Verwendung der CGW-Neuschreibspezifikationsdaten (S1102). Das CGW 13 bestimmt einen Bus, zu dem die Neuschreibziel-ECU 19 gehört, unter Verwendung der Neuschreibziel-ECU-Zugehörigkeitstabelle (S1103). Das CGW 13 bestimmt eine erlaubte Übertragungsmenge für den Bus, zu dem die Neuschreibziel-ECU 19 gehört, wobei die erlaubte Übertragungsmenge einem Stromversorgungszustand des Fahrzeugs entspricht, wenn eine Aktualisierung unter Verwendung der Buslasttabelle durchgeführt wird. Das CGW 13 bestimmt eine Verteilungshäufigkeit der Schreibdaten unter Berücksichtigung der bestimmen erlaubten Übertragungsmenge (S1104; entspricht einer Verteilungshäufigkeitsbestimmungsprozedur). Das CGW 13 nimmt beispielsweise Bezug auf die erlaubte Übertragungsmenge für den ersten Bus in dem IG-Stromversorgungszustand in einem Fall, in dem die Schreibdaten an die ECU (ID1) als der ersten Neuschreibziel-ECU 19 verteilt werden, während das Fahrzeug fährt. In dem Beispiel, das in 100 dargestellt ist, ist die erlaubte Übertragungsmenge für den ersten Bus in dem IG-Stromversorgungszustand „80%“, wobei eine Übertragung von „50%“ für die Fahrzeugsteuerungsdaten und eine Übertragung von „30%“ für die Schreibdaten erlaubt ist. Die erlaubte Übertragungsmenge ist nur ein beispielhafter Wert, und es wird ein numerischer Wert innerhalb eines Erlaubnisbereiches entsprechend der zu verwendenden Kommunikationsspezifikation eingestellt.
  • Da ein Rahmen gemäß der Spezifikation von 500 kbps von CAN etwa 250 µs beträgt, werden vier Rahmen erzeugt, wenn eine Unterbrechung viermal während einer Sekunde auftritt, und die Buslast beträgt 100%. Das CGW 13 bestimmt eine Verteilungshäufigkeit der Schreibdaten durch Bestimmen der Unterbrechungen, die in dem Bus auftreten. Das CGW 13 initiiert ein Messen der Anzahl der Rahmen, die in der Zeiteinheit empfangen werden, initiiert ein Messen einer Buslast (S1105), bestimmt, ob die gemessene Buslast die erlaubte Übertragungsmenge überschreitet (S1106), und stellt ein Verteilungsintervall ein. Das Verteilungsintervall ist Zeitintervall, bis das CGW 13 Schreibdaten an die Neuschreibziel-ECU 19 verteilt, eine Schreibbeendigungsmitteilung (ACK) von der Neuschreibziel-ECU 19 empfängt und die nächsten Schreibdaten an die Neuschreibziel-ECU 19 überträgt.
  • Wenn bestimmt wird, dass die gemessene Buslast die erlaubte Übertragungsmenge nicht überschreitet (S1106: Nein), stellt das CGW 13 das Verteilungsintervall der Schreibdaten auf das im Voraus eingestellte kürzeste Intervall ein und initiiert die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19, wie es in 103 dargestellt ist (S1107; entspricht einer Verteilungssteuerungsprozedur). Das heißt, das CGW 13 stellt das Verteilungsintervall von einem Rahmen gemäß dem CAN auf das im Voraus eingestellte kürzeste Intervall ein und initiiert die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19. Ein Rahmen in dem CAN enthält Schreibdaten, die eine Datengröße von 8 Bytes aufweisen. Ein Rahmen in dem CAN mit einer flexiblen Datenrate (CAN FD) enthält Schreibdaten mit einer Datengröße von 64 Bytes.
  • Wenn andererseits bestimmt wird, dass die gemessene Buslast die erlaubte Übertragungsmenge überschreitet (S1106: Ja), berechnet das CGW 13 ein Intervall, mit dem die Buslast die erlaubte Übertragungsmenge nicht überschreitet (S1108), stellt das Verteilungsintervall der Schreibdaten auf das berechnete Intervall ein und initiiert eine Verteilung der Schreibdaten an die Neuschreibziel-ECU 19, wie es in 104 dargestellt ist (S1109; entspricht einer Verteilungssteuerungsprozedur).
  • In dem IG-Stromversorgungszustand bestimmt das CGW 13 beispielsweise, ob die Buslast die erlaubte Übertragungsmenge von „80%“ für den ersten Bus überschreitet, und wenn bestimmt wird, dass die Buslast die erlaubte Übertragungsmenge nicht überschreitet, stellt es ein Verteilungsintervall T1 ein, bei dem eine erlaubte Übertragungsmenge der Schreibdaten „30%“ ist. Wie es in der Buslasttabelle der 100 gezeigt ist, stellt somit das CGW 13 das Verteilungsintervall T1 unter Verwendung von „30%“ ein, die eine erlaubte Übertragungsmenge von Schreibdaten für den ersten Bus in dem IG-Stromversorgungszustand ist. Das CGW 13 stellt das Verteilungsintervall T1 derart ein, dass die maximale Übertragungsmenge erlaubt ist. Das CGW 13 kann eine Buslast durch Eingrenzen eines Messziels auf einen Rahmen von Schreibdaten messen und bestimmen, ob die Buslast, die von den Schreibdaten abhängt, die erlaubte Übertragungsmenge „30%“ der Schreibdaten überschreitet. Wenn bestimmt wird, dass die Buslast die erlaubte Übertragungsmenge überschreitet, ändert das CGW 13 das Verteilungsintervall in ein Verteilungsintervall T2 (> T1), mit dem die Buslast die erlaubte Übertragungsmenge nicht überschreitet, entsprechend der Menge, um die die Buslast die erlaubte Übertragungsmenge überschreitet. Auf die oben beschriebene Weise wartet das CGW 13, bis das eingestellte Verteilungsintervall erreicht ist, nachdem die Schreibdaten von dem DCM 12 beschafft wurden, und verteilt die Schreibdaten an die Neuschreibziel-ECU 19.
  • Wenn die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 initiiert ist, bestimmt das CGW 13, ob die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 beendet wurde, und bestimmt kontinuierlich, ob die gemessene Buslast die erlaubte Übertragungsmenge überschreitet (S1110 und S1011). Wenn bestimmt wird, dass die gemessene Buslast die erlaubte Übertragungsmenge nicht überschreitet (S1111: Nein), stellt das CGW 13 ein Verteilungsintervall der Schreibdaten auf das im Voraus eingestellte kürzeste Intervall ein und ändert das Verteilungsintervall der Schreibdaten für die Neuschreibziel-ECU 19 (S1112). Wenn andererseits bestimmt wird, dass die gemessene Buslast die erlaubte Übertragungsmenge überschreitet (S1111: Ja), berechnet das CGW 13 ein Intervall, mit dem die Buslast die erlaubte Übertragungsmenge nicht überschreitet (S1113), stellt ein Verteilungsintervall der Schreibdaten auf das berechnete Intervall ein und ändert das Verteilungsintervall der Schreibdaten für die Neuschreibziel-ECU 19 (S1114).
  • Wenn bestimmt wird, dass die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 beendet ist (S1110: Ja), stoppt das CGW 13 das Messen der Anzahl der Rahmen, die je Zeiteinheit empfangen werden, stoppt ein Messen der Buslast (S1115) und beendet den Schreibdatenverteilungssteuerungsprozess. Hier führt das CGW 13 in einem Fall, in dem es mehrere Neuschreibziel-ECUs 19 gibt, den Schreibdatenverteilungssteuerungsprozess bei einer Installation in sämtlichen Neuschreibziel-ECUs 19 durch.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Schreibdatenverteilungssteuerungsprozess durch, bestimmt somit eine Verteilungshäufigkeit von Schreibdaten für die Neuschreibziel-ECU 19 unter Verwendung einer Entsprechungsbeziehung zwischen einem vorbestimmten Stromversorgungszustand und einer Verteilungshäufigkeit der Schreibdaten und steuert die Verteilung der Schreibdaten entsprechend der Verteilungshäufigkeit. Es ist beispielsweise möglich, eine Datenkollision oder eine Verzögerung während der Installation zu verringern. Die Verteilung der Schreibdaten kann koexistierend durchgeführt werden, ohne eine Verteilung der Fahrzeugsteuerungsdaten auf demselben Bus zu behindern.
  • In der obigen Beschreibung wurde eine Konfiguration als Beispiel beschrieben, bei der die Buslasttabelle auf der Grundlage eines Analyseergebnisses der Neuschreibspezifikationsdaten in dem CGW 13 bestimmt wird, aber die Buslasttabelle kann im Voraus gespeichert werden. Bei der beispielhaften Konfiguration wird die Neuschreibziel-ECU-Zugehörigkeitstabelle auf der Grundlage eines Analyseergebnisses der Neuschreibspezifikationsdaten in dem CGW 13 bestimmt, aber die Neuschreibziel-ECU-Zugehörigkeitstabelle kann im Voraus gespeichert werden.
  • In einem Stromversorgungszustand, in dem das Fahrzeug fährt, kann eine Verteilungsmenge der Schreibdaten verringert werden, und in einem Stromversorgungszustand, in dem das Fahrzeug parkt, kann die Verteilungsmenge der Schreibdaten erhöht werden. Das heißt, in dem CGW 13 übertragen die IG-ECU, die ACC-ECU und die +B-Leistungs-ECU einen CAN-Rahmen, wenn die IG-Leistung eingeschaltet ist, während das Fahrzeug fährt, derart, dass eine Übertragungsmenge der Applikationsdaten für die Fahrzeugsteuerung oder Diagnose relativ groß wird, und somit eine Verteilungsmenge der Schreibdaten geringer ist, wie es in 105 dargestellt ist. Wie es in 106 dargestellt ist, überträgt in dem CGW 13 nur die +B-Leistungs-ECU einen CAN-Rahmen, wenn die IG-Leistung ausgeschaltet ist, während das Fahrzeug parkt, sodass eine Übertragungsmenge der Applikationsdaten für eine Fahrzeugsteuerung oder Diagnose relativ klein wird, und somit wird eine Verteilungsmenge der Schreibdaten größer. Das heißt, das CGW 13 passt eine Verteilungsmenge der Schreibdaten innerhalb einer freien Kapazität an, die eine Übertragung von Applikationsdaten für eine Fahrzeugsteuerung oder Diagnose nicht behindert.
  • Wie es in 107 dargestellt ist, kann in dem CGW 13 in einem Fall, in dem ein Ereignisrahmen von der Neuschreibziel-ECU 19 übertragen wird, eine Verteilungsmenge der Schreibdaten verringert werden, da die Häufigkeit von Unterbrechungen sich durch Empfangen des Ereignisrahmens erhöht, und in einem Fall, in dem der Ereignisrahmen nicht länger von der Neuschreibziel-ECU 19 übertragen wird, kann die Verteilungsmenge der Schreibdaten erhöht werden.
  • Wie es in 108 dargestellt ist, kann in dem Fahrzeugsystem in einem Fall, in dem bestimmt ist, dass das CGW 13 Schreibdaten verteilt, eine Buslast durch Erhöhen eines Übertragungsintervalls von Applikationsdaten für eine Fahrzeugsteuerung oder Diagnose auf das maximal erlaubte Intervall verringert werden. Da die Buslast durch das Fahrzeugsystem, das das Übertragungsintervall der Applikationsdaten erhöht, verringert wird, kann in dem CGW 13 eine Verteilungsmenge der Schreibdaten erhöht werden.
  • Die Buslasttabelle, die in den Neuschreibspezifikationsdaten enthalten ist, wird einheitlich und gemeinsam durch beispielsweise einen Fahrzeughersteller unabhängig von einem Fahrzeugmodell, einer Klasse oder Ähnlichem festgelegt. Dieses kommt daher, dass beispielsweise, wenn sich eine Ausrüstung einer ECU in Abhängigkeit von dem Fahrzeugmodell, der Klasse oder Ähnlichem stark ändert, sich eine Buslast stark ändert, und wenn die optimale Buslasttabelle individuell in Abhängigkeit von dem Fahrzeugmodell, der Klasse oder Ähnlichem eingestellt wird, beachtlicher Aufwand zum Beispiel zum Verifizieren der Buslasttabelle notwendig ist, sodass ein komplizierter Aufwand verringert wird.
  • Wie es oben beschrieben wurde, wird der Schreibdatenverteilungssteuerungsprozess ähnlich wie in dem Fall, in dem eine Installation durchgeführt wird, während das Fahrzeug fährt, auch in einem Fall, in dem eine Installation durchgeführt wird, während das Fahrzeug parkt, durchgeführt. Wenn die Neuschreibziel-ECU 19 eine +B-Leistungs-ECU ist, kann eine Aktualisierung in dem +B-Stromversorgungszustand durchgeführt werden, und somit wird auf eine erlaubte Übertragungsmenge in dem +B-Stromversorgungszustand in der Buslasttabelle Bezug genommen. Andererseits wird in einem Fall, in dem die Neuschreibziel-ECU 19 eine IG-ECU ist, eine Installation in dem IG-Stromversorgungszustand durchgeführt, und somit wird auf eine erlaubte Übertragungsmenge in dem IG-Stromversorgungszustand in der Buslasttabelle Bezug genommen. Hier kann beispielsweise in einem Fall, in dem die Neuschreibziel-ECU 19 eine ACC-ECU ist, eine Installation in dem IG-Stromversorgungszustand durchgeführt werden. In diesem Fall wird auf eine erlaubte Übertragungsmenge in dem IG-Stromversorgungszustand in der Buslasttabelle Bezug genommen. Es wurde oben eine Konfiguration zum Speichern der Buslasttabelle und der Neuschreibziel-ECU-Zugehörigkeitstabelle beschrieben, aber es kann eine beliebige Tabelle gespeichert werden, solange wie eine Verteilungshäufigkeit von Schreibdaten in einem jeweiligen Stromversorgungszustand bestimmt werden kann.
  • Aktivierungsanfragebefehlsprozess
  • Der Aktivierungsanfragebefehlsprozess wird mit Bezug auf die 109 bis 111 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt einen Aktivierungsanfragebefehlsprozess in dem CGW 13 durch. Das CGW 13 führt Aktivierungsanfragen an mehrere Neuschreibziel-ECUs 19 durch, in denen ein Neuschreiben eines Applikationsprogramms beendet wurde, um das neu geschriebene Programm zu validieren. In der vorliegenden Ausführungsform wird ein Zustand angenommen, in dem das CGW 13 die CGW-Neuschreibspezifikationsdaten analysiert, um eine Gruppe der Neuschreibziel-ECUs 19 zu erkennen. Das CGW 13 führt eine Aktivierungsanfrage nur während eines Parkens durch und führt während einer Fahrt des Fahrzeugs keine Aktivierungsanfrage durch.
  • Wie es in 109 dargestellt ist, enthält das CGW 13 eine Neuschreibzielbestimmungseinheit 84a, eine Neuschreibbeendigungsbestimmungseinheit 84b, eine Aktivierungsausführbarkeitsbestimmungseinheit 84c und eine Aktivierungsanfragebefehlseinheit 84d in der Aktivierungsanfragebefehlseinheit 84. Die Neuschreibzielbestimmungseinheit 84a bestimmt mehrere Neuschreibziel-ECUs 19 aus den Neuschreibziel-ECUs 19, die eine kooperative Steuerung durchführen. Wenn die Neuschreibziel-ECUs 19 durch die Neuschreibzielbestimmungseinheit 84a bestimmt sind, bestimmt die Neuschreibbeendigungsbestimmungseinheit 84b, ob das Neuschreiben der Programme in sämtlichen bestimmten Neuschreibziel-ECUs 19 beendet wurde.
  • Wenn durch die Neuschreibbeendigungsbestimmungseinheit 84b bestimmt wird, dass das Neuschreiben der Programme in sämtlichen Neuschreibziel-ECUs 19 beendet wurde, bestimmt die Aktivierungsausführbarkeitsbestimmungseinheit 84c, ob eine Aktivierung ausführbar ist. Die Aktivierungsausführbarkeitsbestimmungseinheit 84c bestimmt, dass die Aktivierung ausführbar ist, in einem Fall, in dem der Aktivierung durch den Nutzer zugestimmt wird und das Fahrzeug parkt.
  • Die Aktivierungsanfragebefehlseinheit 84d gibt einen Befehl für eine Aktivierungsanfrage in einem Fall aus, in dem durch die Aktivierungsausführbarkeitsbestimmungseinheit 84c bestimmt wird, dass die Aktivierung ausführbar ist. Insbesondere gibt die Aktivierungsanfragebefehlseinheit 84d den Befehl für die Aktivierungsanfrage durch Ausgeben eines Befehls für eine Rücksetzanfrage, Überwachen eines Sitzungsübergangszeitablaufs oder Überwachen des internen Rücksetzens der Neuschreibziel-ECU 19 nach der Ausgabe eines Befehls für eine Anfrage zum Wechseln zu einer neuen Bank aus. In der Doppelbankspeicher-ECU oder der Einzelbank-Suspendierungs-Speicher-ECU wird ein Applikationsprogramm durch Starten des Applikationsprogramms auf einer neuen Bank (inaktive Bank), in die das Applikationsprogramm geschrieben ist, aktiviert. Andererseits wird in der Einzelbankspeicher-ECU das Applikationsprogramm durch einen Neustart aktiviert. Die Neuschreibziel-ECU 19 kann ausgelegt sein, sich selbst unabhängig von einer Aktivierungsanfrage zurückzusetzen, nachdem ein Befehl für eine Anfrage zum Wechseln zu einer neuen Bank empfangen wurde.
  • Im Folgenden wird ein Betrieb der Aktivierungsanfragebefehlseinheit in dem CGW 13 mit Bezug auf die 110 und 111 beschrieben. Das CGW 13 führt ein Aktivierungsanfragebefehlsprogramm aus und führt somit den Aktivierungsanfragebefehlsprozess durch.
  • Wenn der Aktivierungsanfragebefehlsprozess initiiert ist, bestimmt das CGW 13 mehrere Neuschreibziel-ECUs 19 (S1201; entspricht einer Neuschreibzielbestimmungsprozedur). Insbesondere bestimmt das CGW 13 die Neuschreibziel-ECUs 19 durch Bezugnahme auf ECU-(IDs), die in den Neuschreibspezifikationsdaten beschrieben sind. Das CGW 13 bestimmt, ob ein Neuschreiben von Applikationsprogrammen in sämtlichen bestimmten Neuschreibziel-ECUs 19 beendet wurde (S1202; entspricht einer Neuschreibbeendigungsbestimmungsprozedur). Das CGW 13 führt beispielsweise aufeinanderfolgend eine Installation hinsichtlich der Neuschreibziel-ECUs 19 entsprechend der Reihenfolge der ECU-(IDs), die in den Neuschreibspezifikationsdaten beschrieben ist, durch und bestimmt, dass ein Schreiben in sämtlichen Neuschreibziel-ECUs 19 beendet ist, wenn eine Installation für eine ECU-(ID), die als Letztes beschrieben ist, beendet wurde.
  • Wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms in sämtlichen bestimmten Neuschreibziel-ECUs 19 beendet wurde (S1202: Ja), bestimmt das CGW 13, ob eine Aktivierung ausführbar ist (S1203; entspricht einer Aktivierungsausführbarkeitsbestimmungsprozedur). Insbesondere bestimmt das CGW 13, ob die Zustimmung des Nutzers für die Aktualisierung erhalten wurde, ob das Fahrzeug parkt, und Ähnliches, und bestimmt, dass die Aktivierung ausführbar ist, wenn diese Bedingungen erfüllt sind. Die Zustimmung des Nutzers kann eine Zustimmung zu dem gesamten Aktualisierungsprozess oder eine Zustimmung zu der Aktivierung sein. Wenn bestimmt wird, dass die Aktivierung ausführbar ist (S1203: Ja), gibt das CGW 13 anschließend Befehle für Aktivierungsanfragen an die Neuschreibziel-ECUs 19 gleichzeitig aus (entspricht einer Aktivierungsanfragebefehlsprozedur). Hier erfolgt die Beschreibung unter der Annahme, dass die ECU (ID1), die ECU (ID2) und die ECU (ID3) die Neuschreibziel-ECUs 19 derselben Gruppe sind.
  • Wenn bestimmt wird, dass die Aktivierung für die ECU (ID1), die ECU (ID2) und die ECU (ID3) ausführbar ist, initiiert das CGW 13 den Aktivierungsanfragebefehlsprozess. Wenn der Aktivierungsanfragebefehlsprozess initiiert ist, gibt das CGW 13 einen Befehl für eine Anfrage zum Wechseln zu einer neuen Bank an die Neuschreibziel-ECUs 19 aus (S1204). Das CGW 13 fordert die Stromversorgungsverwaltungs-ECU 20 auf, die ausgeschaltete IG-Leistung einzuschalten (S1205). Das CGW 13 schaltet die ausgeschaltete IG-Leistung ein, um eine Aktivierung durchzuführen, auch wenn das Fahrzeug parkt und sich der IG-Schalter 42 in dem ausgeschalteten Zustand befindet. In einem Fall, in dem das CGW 13 die Installation und anschließend die Aktivierung durchführt, wird S1205 nicht durchgeführt, da die IG-Leistung eingeschaltet ist, und es wird eine Startanfrage (Aufwachanfrage) für die Neuschreibziel-ECU 19, die sich in dem Schlafzustand befindet, durchgeführt.
  • Das CGW 13 überträgt eine Software-Rücksetzanfrage an die Neuschreibziel-ECU 19 und gibt einen Befehlt für die Software-Rücksetzanfrage an die Neuschreibziel-ECU 19 aus (S1206). In einem Fall, in dem die Neuschreibziel-ECU 19 eine Spezifikation zum Behandeln der Software-Rücksetzanfrage aufweist, wird die Neuschreibziel-ECU 19 durch Rücksetzen der Software neu gestartet, wenn die Software-Rücksetzanfrage von dem CGW 13 empfangen wird, und diese aktiviert ein Applikationsprogramm. In einem Fall, in dem die Neuschreibziel-ECU 19 eine Einzelbankspeicher-ECU ist, wird die Neuschreibziel-ECU 19 durch das neue Applikationsprogramm neu gestartet und wechselt somit von dem alten Applikationsprogramm in das neue Applikationsprogramm. In einem Fall, in dem die Neuschreibziel-ECU 19 eine Einzelbank-Suspendierungs-Speicher-ECU oder eine Doppelbankspeicher-ECU ist, aktualisiert die Neuschreibziel-ECU 19 die Aktive-Bank-Informationen (der Bank A oder der Bank B), die in dem Flash-Speicher gespeichert sind, bewirkt, dass eine Bank, in die das neue Applikationsprogramm geschrieben ist, zu einer aktiven Bank wechselt bzw. wird, und wechselt somit von dem alten Applikationsprogramm zu dem neuen Applikationsprogramm.
  • Das CGW 13 fordert die Stromversorgungsverwaltungs-ECU 20 auf, die eingeschaltete IG-Leistung auszuschalten und die ausgeschaltete IG-Leistung einzuschalten, gibt einen Befehl für eine Leistungsrücksetzanfrage an die Neuschreibziel-ECU 19 aus und befiehlt, die Neuschreibziel-ECU 19 neu zu starten (S1207). Sogar in einem Fall, in dem die Neuschreibziel-ECU 19 keine Spezifikation zum Behandeln der Software-Rücksetzanfrage aufweist, wird die Neuschreibziel-ECU zurückgesetzt und neu gestartet, um das Applikationsprogramm zu aktivieren, wenn die IG-Leistung von dem Aus-Zustand in den Ein-Zustand wechselt und die IG-Leistung von dem Ein-Zustand in den Aus-Zustand wechselt. Auch in diesem Fall wird die Neuschreibziel-ECU 19 durch das neue Applikationsprogramm neu gestartet und wechselt somit von dem alten Applikationsprogramm in das neue Applikationsprogramm, wenn die Neuschreibziel-ECU 19 eine Einzelbankspeicher-ECU ist. In einem Fall, in dem die Neuschreibziel-ECU 19 eine Einzelbank-Suspendierungs-Speicher-ECU oder eine Doppelbankspeicher-ECU ist, aktualisiert die Neuschreibziel-ECU 19 die Aktive-Bank-Informationen (der Bank A oder der Bank B), die in dem Flash-Speicher gespeichert sind, bewirkt, dass eine Bank, in die das neue Applikationsprogramm geschrieben ist, zu einer aktiven Bank wechselt bzw. wird, und wechselt somit von dem alten Applikationsprogramm in das neue Applikationsprogramm. Das CGW 13 überwacht einen Sitzungsübergangszeitablauf (S1208) und überwacht das interne Rücksetzen der Neuschreibziel-ECU 19 (S1209).
  • Das heißt, in einem Fall, in dem die Neuschreibziel-ECU 19 keine Spezifikation zum Behandeln der Software-Rücksetzanfrage aufweist, kann das CGW 13 keinen Befehl zur Aktivierung ausgeben, und zwar auch dann nicht, wenn die Software-Rücksetzanfrage an die Neuschreibziel-ECU 19 übertragen wird. Daher wird ein Befehl für die Leistungsrücksetzanfrage an die Neuschreibziel-ECU 19 ausgegeben, und somit wird eine Aktivierung in der Neuschreibziel-ECU 19 durchgeführt, die keine Spezifikation zum Behandeln der Software-Rücksetzanfrage aufweist. Eine IG-ECU wie eine Verbrennungsmotor-ECU kann beispielsweise ohne Fehler zurückgesetzt werden, wenn die Leistung ein- oder ausgeschaltet wird, und somit ist in vielen Fällen keine Konfiguration zum Behandeln der Software-Rücksetzanfrage vorhanden. Im Hinblick auf die Neuschreibziel-ECU 19 wird eine Aktivierung (durch das neue Programm gestartet) durch einen Empfang eines Befehls für die Software-Rücksetzanfrage von dem CGW 13, einen Empfang eines Befehls für die Leistungsrücksetzanfrage von dem CGW 13, den Sitzungsübergangszeitablauf oder das interne Rücksetzen durchgeführt.
  • Wenn ein Befehl für die Software-Rücksetzanfrage von dem CGW 13 empfangen wird, wird die Neuschreibziel-ECU 19, die die Software-Rücksetzanfrage behandelt, erzwungenermaßen zurückgesetzt, um eine Aktivierung durchzuführen. Die Neuschreibziel-ECU 19, die eine ACC-ECU oder eine IG-ECU ist, wird zurückgesetzt, um eine Aktivierung durchzuführen, wenn das nächste Mal Strom zugeführt wird, da die Stromversorgung erzwungenermaßen in einem Fall unterbrochen wird, in dem ein Befehl für die Leistungsrücksetzanfrage von dem CGW 13 empfangen wird. Im Vergleich zu der Neuschreibziel-ECU 19, die eine ACC-ECU einer eine IG-ECU ist, erhält die Neuschreibziel-ECU 19, die eine +B-Leistungs-ECU ist, ständig Strom, und somit wird eine Aktivierung durch den Sitzungsübergangszeitablauf oder das interne Rücksetzen durchgeführt. Ein Aktivierungsverfahren für eine jeweilige Neuschreibziel-ECU 19 wird durch die Neuschreibspezifikationsdaten spezifiziert.
  • Wenn dem CGW 13 mitgeteilt wird, dass das neue Applikationsprogramm sämtlicher Neuschreibziel-ECUs 19 normal gestartet wurde, überträgt das CGW eine Wechselbeendigungsmitteilung an das DCM 12 (S1210). Das DCM 12 teilt der Zentrumsvorrichtung 3 mit, dass die Aktivierung der Aktualisierungsprogramme beendet wurde. Das CGW 13 fordert die Stromversorgungsverwaltungs-ECU 20 auf, die ausgeschaltete IG-Leistung einzuschalten, und beendet einen Applikationsprogramm-Aktivierungssynchronisationsbefehlsprozess. Wenn die IG-Leistung durch den Nutzerbetrieb von dem Ausschaltzustand in den Einschaltzustand wechselt, überträgt das CGW 13 eine Programmversion, eine aktive Bank und Ähnliches der ECU an das DCM 12. Das DCM 12 teilt der Zentrumsvorrichtung 3 die Informationen jeder ECU 19 mit, die von dem CGW 13 empfangen wurden. Wenn hier das DCM 12 der Zentrumsvorrichtung 3 die Beendigung der Aktivierung mitteilt, können ECU-Konfigurationsinformationen, die eine Programmversion und Bankinformationen einer jeweiligen ECU enthalten, an die Zentrumsvorrichtung 3 übertragen werden. 111 stellt einen Fall dar, in dem die Neuschreibziel-ECU 19 eine Doppelbankspeicher-ECU oder eine Einzelbank-Suspendierungs-Speicher-ECU ist.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Aktivierungsanfragebefehlsprozess durch, verhindert somit eine Situation, in der mehrere Neuschreibziel-ECUs 19, die ein Neuschreiben von Applikationsprogrammen beendet haben, zu ihren eigenen Zeitpunkten von alten Programmen zu neuen Programmen wechseln, und passt Zeitpunkte eines Wechselns von den alten Programmen zu den neuen Programmen in den Neuschreibziel-ECUs 19 geeignet an. Das heißt, es wird eine Situation verhindert, in der Programmversionen von mehreren Neuschreibziel-ECUs 19, die miteinander kooperieren, nicht übereinstimmen, und somit wird verhindert, dass ein Problem in einem kooperativen Prozess auftritt.
  • Aktivierungsausführungssteuerungsprozess
  • Der Aktivierungsausführungssteuerungsprozess wird mit Bezug auf die 112 bis 114 beschrieben. Der Aktivierungsausführungssteuerungsprozess ist ein Prozess, der von der Neuschreibziel-ECU 19 durchgeführt wird, an die ein Befehl für eine Aktivierungsanfrage durch das CGW 13 aufgrund dessen ausgegeben wird, dass das CGW 13 den oben beschriebenen Aktivierungsanfragebefehlsprozess (12) durchgeführt hat. Das Fahrzeug-Programmneuschreibsystem 1 führt den Aktivierungsausführungssteuerungsprozess in der Neuschreibziel-ECU 19 durch. Hier weist die Neuschreibziel-ECU 19 mehrere Datenspeicherbänke wie einen Einzelbank-Suspendierungs-Speicher oder einen Doppelbankspeicher auf. Es wird ein Zustand angenommen, in dem die Neuschreibziel-ECU 19 eine erste Datenspeicherbank und eine zweite Datenspeicherbank aufweist und eine Installation von Neuschreibdaten in einer inaktiven Bank (neue Bank) beendet wurde.
  • Wie es in 112 dargestellt ist, enthält die ECU 19 eine Aktive-Bank-Informationsaktualisierungseinheit 107a, eine Ausführungsbedingungsbestimmungseinheit 107b, eine Ausführungssteuerungseinheit 107c und eine Mittelungseinheit 107d in der Aktivierungsausführungssteuerungseinheit 107. Wenn ein Befehl für eine Aktivierungsanfrage von dem CGW 13 empfangen wird, aktualisiert die Aktive-Bank-Informationsaktualisierungseinheit 107a Aktive-Bank-Bestimmungsinformationen (Aktive-Bank-Informationen) des Flash-Speichers in Vorbereitung auf den nächsten Neustart. Wenn beispielsweise die Bank A derzeitig aktiv ist und ein neues Programm in die Bank B geschrieben wurde, aktualisiert die Aktive-Bank-Informationsaktualisierungseinheit 107a die Aktive-Bank-Informationen von der Bank A in die Bank B.
  • Die Ausführungsbedingungsbestimmungseinheit 107b bestimmt, ob ein Befehl für eine Software-Rücksetzanfrage von dem CGW 13 empfangen wurde, ob ein Befehl für eine Leistungsrücksetzanfrage von dem CGW 13 an die Stromversorgungsverwaltungs-ECU 20 ausgegeben wurde, und ob eine Unterbrechung einer Kommunikation mit dem CGW 13 eine vorbestimmte Zeit andauert oder nicht, als Aktivierungsausführungsbedingungen. Wenn irgendeine der Bedingungen erfüllt ist, bestimmt die Ausführungsbedingungsbestimmungseinheit 107b, dass die Aktivierungsausführungsbedingungen erfüllt sind. Ob ein Befehl für die Leistungsrücksetzanfrage empfangen wurde, kann durch die Leistungserfassungsschaltung 36 anstelle eines Befehls von dem CGW 13 erfasst werden. Wenn durch die Ausführungsbedingungsbestimmungseinheit 107b bestimmt wird, dass die Aktivierungsausführungsbedingung erfüllt ist, führt die Ausführungssteuerungseinheit 107c einen Neue-Bank-Wechsel (Aktivierung) durch, um zu bewirken, dass die aktive Bank von der alten Bank (der derzeitig betriebenen Bank) in die neue Bank (der derzeitig nicht betriebenen Bank) entsprechend den Aktive-Bank-Informationen wechselt. Die Mittelungseinheit 107d teilt dem CGW 13 Mittelungsinformationen wie die Aktive-Bank-Informationen und Versionsinformationen mit.
  • Im Folgenden wird ein Betrieb der Aktivierungsausführungssteuerungseinheit 107 in der Neuschreibziel-ECU 19 mit Bezug auf die 113 und 114 beschrieben. Die Neuschreibziel-ECU 19 führt ein Aktivierungsausführungssteuerungsprogramm aus und führt somit den Aktivierungsausführungssteuerungsprozess durch.
  • Neuschreibprozess
  • Wenn der Neuschreibprozess initiiert ist, führt die Neuschreibziel-ECU 19 Prozesse bis unmittelbar vor einem Speicherlöschen durch, beispielsweise ein Teilnummerlesen oder ein Authentifizieren als einen Vor-Neuschreibprozess (S1301). Die Neuschreibziel-ECU 19 bestimmt, ob Neuschreibbankinformationen von der Zentrumsvorrichtung 3 empfangen wurden (S1302). Die Neuschreibziel-ECU 19 bestimmt, ob die Neuschreibbankinformationen empfangen wurden, auf der Grundlage beispielsweise dessen, ob die Neuschreibbankinformationen, die in den Neuschreibspezifikationsdaten beschrieben sind, die in einem Verteilungspaket enthalten sind, von dem CGW 13 beschafft wurden. Wenn bestimmt wird, dass die Neuschreibbankinformationen von der Zentrumsvorrichtung 3 empfangen wurden (S1302: Ja), vergleicht die Neuschreibziel-ECU 19 die Neuschreibbankinformationen mit Neuschreibbankinformationen (Aktive-Bank-Informationen), die durch sie selbst verwaltet werden, und bestimmt somit, ob die beiden Informationsteile übereinstimmen (S1303). Hier sind die Neuschreibbankinformationen in den Neuschreibspezifikationsdaten beschrieben, die beispielsweise von der Zentrumsvorrichtung 3 übertragen werden. In einem Fall beispielsweise, in dem die Neuschreibbankinformationen, die von der Neuschreibziel-ECU 19 verwaltet werden, angeben, dass eine aktive Bank die Bank A ist und eine inaktive Bank die Bank B ist, wird, wenn die Neuschreibbankinformationen, die in den Neuschreibspezifikationsdaten beschrieben sind, die inaktive Bank (Bank B) angeben, bestimmt, dass beide Informationsteile übereinstimmen, und wenn die Neuschreibbankinformationen, die in den Spezifikationsdaten beschrieben sind, die aktive Bank (Bank A) angeben, wird bestimmt, dass beide Informationsteile nicht übereinstimmen.
  • Wenn bestimmt wird, dass beide Informationsteile übereinstimmen bzw. zueinander passen (S1303: Ja), führt die Neuschreibziel-ECU 19 als Neuschreibprozess ein Speicherlöschen, ein Schreiben von Schreibdaten und eine Verifizierung durch (S1304) und beendet den Schreibprozess. Die Verifizierung dient beispielsweise zum Verifizieren der Integrität von Daten, die in den Flash-Speicher geschrieben sind. Wenn bestimmt wird, dass beide Informationsteile nicht übereinstimmen bzw. nicht zueinander passen (S1303: Nein), überträgt die Neuschreibziel-ECU 19 eine negative Bestätigung an das CGW 13 (S1305) und beendet den Neuschreibprozess.
  • Aktivierungsausführungssteuerungsprozess
  • Wenn der Aktivierungsausführungssteuerungsprozess initiiert wird, stellt die Neuschreibziel-ECU 19 eine inaktive Bank als eine Neuschreibbank ein und bestimmt, ob ein Neuschreiben eines Applikationsprogramms in die Neuschreibbank beendet wurde (S1311). Wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms in die Neuschreibbank beendet wurde (S1311: Ja), verifiziert die Neuschreibziel-ECU 19 die Integrität des Applikationsprogramms, das in den Flash-Speicher geschrieben wurde, und bestimmt, ob eine Datenverifizierung nach dem Neuschreiben positiv ist (S1312). Wenn bestimmt wird, dass die Datenverifizierung nach dem Neuschreiben positiv ist (S1312: Ja), setzt die Neuschreibziel-ECU 19 ein Neuschreibbeendigungs-Flag der neuen Bank auf „OK“ und speichert das Neuschreibbeendigungs-Flag (S1313).
  • Danach bestimmt die Neuschreibziel-ECU 19, ob ein Befehl für eine Aktivierungsanfrage von dem CGW 13 empfangen wurde (S1314). Wenn bestimmt wird, dass ein Befehl für die Aktivierungsanfrage empfangen wurde (S1314: Ja), bestimmt die Neuschreibziel-ECU 19, ob das Neuschreibbeendigungs-Flag der neuen Bank „OK“ ist (S1315), und aktualisiert die Aktive-Bank-Informationen, wenn bestimmt wird, dass das Neuschreibbeendigungs-Flag der neuen Bank „OK“ ist (S1315: Ja) (S1316; entspricht einer Aktive-Bank-Informationsaktualisierungsprozedur). Das heißt, in einem Fall beispielsweise, in dem eine aktive Bank die Bank A ist und eine inaktive Bank die Bank B ist, aktualisiert die Neuschreibziel-ECU 19 die Aktive-Bank-Informationen, die angeben, dass eine aktive Bank die Bank A ist und eine inaktive Bank die Bank B ist, in Aktive-Bank-Informationen, die angeben, dass eine aktive Bank die Bank B ist und eine inaktive Bank die Bank A ist, wenn ein Neuschreiben des Applikationsprogramms in die Neuschreibbank unter Verwendung der Bank B als der Neuschreibbank beendet wurde.
  • Wenn die aktive Bank aktualisiert ist, bestimmt die Neuschreibziel-ECU 19, ob eine Software-Rücksetzanfrage von dem CGW 13 empfangen wurde, ob ein Befehl für eine Leistungsrücksetzanfrage von dem CGW 13 an die Stromversorgungsverwaltungs-ECU 20 ausgegeben wurde, und ob eine Unterbrechung einer Kommunikation mit dem CGW 13 eine vorbestimmte Zeit andauert, nachdem der Befehl für die Software-Rücksetzanfrage empfangen wurde, und bestimmt somit, ob die Aktivierungsausführungsbedingung erfüllt ist (S1317; entspricht einer Ausführungsbedingungsbestimmungsprozedur). Hier wird die Neuschreibziel-ECU 19 neu gestartet, wenn irgendeine der Aktivierungsausführungsbedingungen erfüllt ist, und es sind Neustartbedingungen für jede ECU definiert.
  • Die Neuschreibziel-ECU 19 bestimmt, ob ein Befehl für die Software-Rücksetzanfrage von dem CGW 13 empfangen wurde, der Befehl für die Leistungsrücksetzanfrage von dem CGW 13 an die Stromversorgungsverwaltungs-ECU 20 ausgegeben wurde oder die vorbestimmte Zeit verstrichen ist, nachdem der Befehl für die Software-Rücksetzanfrage empfangen wurde, und führt einen Neustart (Rücksetzen) aus, wenn bestimmt wird dass die Aktivierungsausführungsbedingung erfüllt ist (S1317: Ja). Die Neuschreibziel-ECU 19 führt den Neustart aus und wird unter Verwendung der neuen Bank (Bank B) als einer aktiven Bank entsprechend den aktualisierten Aktive-Bank-Informationen gestartet (S1318; entspricht einer Aktivierungssteuerungsprozedur), und beendet den Aktivierungsausführungssteuerungsprozess. Das heißt, nachdem die Neuschreibziel-ECU 19 neu gestartet wurde, wird die Neuschreibziel-ECU in der Bank B, in der das Applikationsprogramm installiert wurde, gestartet.
  • Wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms in die neue Bank nicht beendet ist (S1311: Nein), oder wenn bestimmt wird, dass die Datenverifizierung nach dem Neuschreiben negativ ist (S1312: Nein), bestimmt die Neuschreibziel-ECU 19, ob ein Befehl für eine Aktivierungsanfrage empfangen wurde (S1319), überträgt eine negative Bestätigung an das CGW 13 (S1320), wenn bestimmt wird, dass der Befehl für die Aktivierungsanfrage empfangen wurde (S1319: Ja), und kehrt zu Schritt S1311 zurück. Wenn bestimmt wird, dass die Datenverifizierung nach dem Neuschreiben negativ ist, kann die Neuschreibziel-ECU 19 den Aktivierungsausführungssteuerungsprozess beenden und einen Prozess wie ein Rollback durchführen. Wenn bestimmt wird, dass das Neuschreibbeendigungs-Flag der neuen Bank nicht „OK“ ist (S1315: Nein), überträgt die Neuschreibziel-ECU 19 eine negative Bestätigung an das CGW 13 (S1321) und kehrt zum Schritt S1311 zurück.
  • Wie es oben beschrieben wurde, führt die Neuschreibziel-ECU 19 den Aktivierungsausführungssteuerungsprozess durch, aktualisiert somit die Aktive-Bank-Informationen in Vorbereitung für den nächsten Neustart, wenn ein Befehl für eine Aktivierungsanfrage von dem CGW 13 empfangen wird, und führt entsprechend den Aktive-Bank-Informationen nach einem Neustart, wenn die Aktivierungsausführungsbedingung erfüllt ist, einen Wechsel zu einer neuen Bank durch, um zu bewirken, dass eine aktive Bank von der alten Bank in die neue Bank wechselt. Das heißt, die Neuschreibziel-ECU 19 wird durch ein Aktualisierungsprogramm nicht gestartet, bis das CGW 13 einen Befehl zur Aktivierung an diese ausgibt, auch wenn eine Installation des Aktualisierungsprogramms beendet wurde. Sogar wenn beispielsweise die Neuschreibziel-ECU 19 aufgrund dessen neu gestartet wird, dass der Nutzer den ausgeschalteten IG-Schalter 42 einschaltet, wird die Neuschreibziel-ECU mit derselben aktiven Bank gestartet, wenn kein Befehl zur Aktivierung von dem CGW 13 empfangen wird. Das CGW 13 gibt gleichzeitig Befehle zur Aktivierung an mehrere Neuschreibziel-ECUs 19 aus, und dann können Aktualisierungsprogramme der Neuschreibziel-ECUs 19 gleichzeitig validiert werden, wenn sie durch einen Software-Reset durch einen Leistungs-Reset oder einen Sitzungsablauf neu gestartet werden. In der obigen Beschreibung wurde ein Fall beschrieben, bei dem Datenspeicherbänke zwei Bänke sind, aber dasselbe gilt für einen Fall, in dem Datenspeicherbänke drei oder mehr Bänke sind.
  • In dem Aktivierungsanfragebefehlsprozess (12) in dem CGW 13 führt das CGW 13 den Aktivierungsanfragebefehlsprozess hinsichtlich mehrerer Neuschreibziel-ECUs 19 durch, die ein Neuschreiben von Applikationsprogrammen beendet haben, und somit ist es möglich, eine Situation zu verhindern, in der die Neuschreibziel-ECUs 19, die das Neuschreiben der Applikationsprogramme beendet haben, von alten Programmen in neue Programme zu ihren eigenen Zeitpunkten wechseln, und geeignete Zeitpunkte des Wechsels von den alten Programmen zu den neuen Programmen in den Neuschreibziel-ECUs 19 aneinander anzupassen.
  • Neuschreibzielgruppenverwaltungsprozess
  • Der Neuschreibzielgruppenverwaltungsprozess wird mit Bezug auf die 115 bis 118 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Neuschreibzielgruppenverwaltungsprozess in dem CGW 13 durch. Das CGW 13 befiehlt gleichzeitig einer oder mehreren Neuschreibziel-ECUs 19, die zu derselben Gruppe gehören, Applikationsprogramme zu aktivieren. Das CGW 13 führt eine Steuerung von einer Installation bis zu einer Aktivierung in der Einheit einer jeweiligen Gruppe durch. Hier erfolgt eine Beschreibung unter der Annahme, dass die ECU (ID1) und die ECU (ID2) die Neuschreibziel-ECUs 19 einer ersten Gruppe sind und eine ECU (ID11), eine ECU (ID12) und eine ECU (ID13) Neuschreibziel-ECUs einer zweiten Gruppe sind.
  • Wie es in 115 dargestellt ist, enthält das CGW 13 eine Gruppenerzeugungseinheit 85a und eine Befehlsausführungseinheit 85b in der Neuschreibzielgruppenverwaltungseinheit 85. Die Gruppenerzeugungseinheit 85a gruppiert die Neuschreibziel-ECUs 19, die zu aktualisieren sind, zusammen entsprechend einem Analyseergebnis der CGW-Neuschreibspezifikationsdaten und erzeugt somit eine Gruppe. In einem Fall, in dem die Gruppe durch die Gruppenerzeugungseinheit 85a erzeugt wurde, gibt die Befehlsausführungseinheit 85b einen Befehl zur Installation in einer vorbestimmten Reihenfolge in der Einheit einer Gruppe aus und gibt einen Befehl zur Aktivierung in der Einheit einer Gruppe aus, wenn die Installation beendet wurde.
  • Im Folgenden wird mit Bezug auf die 116 bis 118 ein Betrieb der Neuschreibzielgruppenverwaltungseinheit 85 in dem CGW 13 beschrieben. Das CGW 13 führt ein Neuschreibzielgruppierungsprogramm aus und führt somit den Neuschreibzielgruppenverwaltungsprozess durch. Wenn der Neuschreibzielgruppenverwaltungsprozess initiiert ist, beschafft das CGW 13 die CGW-Neuschreibspezifikationsdaten von dem DCM 12 (S1401; entspricht einer Neuschreibspezifikationsdatenbeschaffungsprozedur), analysiert die beschafften Neuschreibspezifikationsdaten (S1402; entspricht einer Neuschreibspezifikationsdatenanalyseprozedur) und bestimmt eine Gruppe, zu der die derzeitige Neuschreibziel-ECU 19 gehört. Das CGW 13 kann beispielsweise durch Bezugnahme auf Informationen hinsichtlich der ECU der Neuschreibspezifikationsdaten bestimmen, zu welcher Gruppe die Neuschreibziel-ECU gehört, und kann durch Bezugnahme auf Informationen hinsichtlich der Gruppe der Neuschreibspezifikationsdaten bestimmen, zu welcher Gruppe die ECU gehört. Das CGW 13 bestimmt für eine bestimmte Gruppe, ob eine Neuschreibziel-ECU 19 anfänglich einem Neuschreiben unterzogen wird (S1403), bestimmt, ob die Neuschreibziel-ECU 19, die zu derselben Gruppe wie diejenige der vorherigen Neuschreibziel-ECU 19 gehört, einem Neuschreiben unterzogen wird (S1404), und bestimmt, ob die Neuschreibziel-ECU 19, die zu einer anderen Gruppe als die vorherige Neuschreibziel-ECU 19 gehört, einem Neuschreiben unterzogen wird (S 1405; entspricht einer Gruppenerzeugungsprozedur).
  • Wenn bestimmt wird, dass die Neuschreibziel-ECU 19 anfänglich einem Neuschreiben unterzogen wird (S1403: Ja), oder bestimmt wird, dass die Neuschreibziel-ECU 19, die zu derselben Gruppe wie die vorherige Neuschreibziel-ECU 19 gehört, einem Neuschreiben unterzogen wird (S1404: Ja), befiehlt das CGW 13 der Neuschreibziel-ECU 19, ein Applikationsprogramm neu zu schreiben, sodass das Applikationsprogramm der Neuschreibziel-ECU 19 neu geschrieben wird (S1406). Das CGW 13 bestimmt, ob es eine nächste Neuschreibziel-ECU 19 gibt (S1407). Wenn bestimmt wird, dass es eine nächste Neuschreibziel-ECU 19 in derselben Gruppe gibt (S1407: Ja), kehrt das CGW 13 zu den obigen Schritten S1403 bis S1405 zurück und führt S1403 bis S1405 wiederholt durch.
  • Wenn bestimmt wird, dass die Neuschreibziel-ECU 19, die zu einer anderen Gruppe als die vorherige Neuschreibziel-ECU 19 gehört, einem Neuschreiben unterzogen wird (S1405: Ja), schreitet das CGW 13 zu einem Aktivierungsanfragebefehlsprozess (S1408; entspricht einer Befehlsausführungsprozedur).
  • Wenn der Aktivierungsanfragebefehlsprozess initiiert ist, bestimmt das CGW 13, ob es eine nächste Neuschreibziel-ECU 19 gibt (S1411). Das heißt, das CGW 13 bestimmt, ob es eine Gruppe gibt, in der die Installation nicht beendet ist. Wenn bestimmt wird, dass es eine nächste Neuschreibziel-ECU 19 gibt (S1411: Ja), gibt das CGW 13 einen Befehl für eine Aktivierungsanfrage an die Neuschreibziel-ECU 19 aus, die zu der Gruppe gehört, in der das Neuschreiben beendet wurde (S1412). Das heißt, in einem Fall, in dem die Installation hinsichtlich der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, noch nicht durchgeführt wurde, gibt das CGW 13 einen Befehl zur Aktivierung an die Neuschreibziel-ECU (ID1) und die Neuschreibziel-ECU (ID2) der ersten Gruppe aus, in der das Neuschreiben bereits beendet ist.
  • Das CGW 13 gibt einen Befehl für eine Software-Rücksetzanfrage bzw. Software-Reset-Anfrage an die Neuschreibziel-ECU 19 aus und befiehlt einen Neustart der Neuschreibziel-ECU 19 durch Einschalten der ausgeschalteten Leistung und Ausschalten der eingeschalteten Leistung über die Stromversorgungsverwaltungs-ECU 20, und somit werden die Applikationsprogramme der Neuschreibziel-ECU (ID1) und der Neuschreibziel-ECU (ID2) zusammen gestartet.
  • Das CGW 13 bestimmt einen Neuschreibzeitpunkt für die nächste Neuschreibziel-ECU 19 (S1413 und S1314). Das heißt, das CGW 13 bestimmt Neuschreibzeitpunkte für die Neuschreibziel-ECUs 19, die zu der zweiten Gruppe gehören. Wenn bestimmt wird, dass der Neuschreibzeitpunkt für die nächste Neuschreibziel-ECU 19 ein Zeitpunkt ist, zu dem der Nutzer von der nächsten Fahrt zu einem Aussteigen wechselt (S1413: Ja), schaltet das CGW 13 die eingeschaltete IG-Leistung aus (S1415), beendet den Aktivierungsanfragebefehlsprozess und kehrt dann zu dem Neuschreibzielgruppenverwaltungsprozess zurück. Wenn beispielsweise eine Zeitdauer, während der ein Neuschreiben eines Applikationsprogramms, das aktualisiert werden darf, von dem Nutzer im Voraus eingestellt wird, und vorhergesagt wird, dass eine Installation in der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, während der Zeitperiode nicht beendet wird, führt das CGW 13 eine Installation in dem nächsten Parkzustand durch. In diesem Fall befiehlt das CGW 13 der Stromversorgungsverwaltungs-ECU 20, die IG-Leistung auszuschalten, um zu dem ursprünglichen Parkzustand zurückzukehren.
  • Wenn bestimmt wird, dass der Neuschreibzeitpunkt für die nächste Neuschreibziel-ECU 19 das derzeitige Aussteigen (Parkzustand) ist (S1414: Ja), bestimmt das CGW 13, ob eine Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als ein Schwellenwert ist (S1417). Hier kann der Schwellenwert ein Wert sein, der im Voraus eingestellt wird, oder kann ein Wert sein, der aus den CGW-Neuschreibspezifikationsdaten beschafft wird. Wenn bestimmt wird, dass die Restbatterieladung der Fahrzeugbatterie 40 nicht gleich oder größer als der Schwellenwert ist (S1416: Nein), befiehlt das CGW 13 der Stromversorgungsverwaltungs-ECU 20, die eingeschaltete IG-Leistung auszuschalten (S1415), beendet den Aktivierungsanfragebefehlsprozess und kehrt zu dem Neuschreibzielgruppenverwaltungsprozess zurück. Wenn bestimmt wird, dass die Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als der Schwellenwert ist (S1416: Ja), hält das CGW 13 die IG-Leistung in dem eingeschalteten Zustand (S1417), beendet den Aktivierungsanfragebefehlsprozess und kehrt zu dem Neuschreibzielgruppenverwaltungsprozess zurück. Wie es in 116 dargestellt ist, schreibt das CGW 13 das Applikationsprogramm der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört.
  • Wenn bestimmt wird, dass es keine nächste Neuschreibziel-ECU 19 gibt (S1411: Nein), gibt das CGW 13 einen Befehl für eine Aktivierungsanfrage an die Neuschreibziel-ECU 19, die zu der Gruppe gehört, in der das Neuschreiben beendet wurde, aus (S1418), schaltet die eingeschaltete IG-Leistung aus (S1419), beendet den Befehlsprozess der Aktivierungsanfrage und kehrt zu dem Gruppenverwaltungsprozess des Neuschreibziels zurück. Wenn beispielsweise ein Neuschreiben in den Neuschreibzielen der ECU (ID11), ECU (ID12) und ECU (ID13), die zu der zweiten Gruppe gehören, beendet wurde, ist eine nächste Neuschreibziel-ECU 19, das heißt die nächste Gruppe, nicht vorhanden. In diesem Fall befiehlt das CGW 13 der ECU (ID11), der ECU (ID12) und der ECU (ID12), die Aktualisierungsprogramme zu aktivieren, und befiehlt der Stromversorgungsverwaltungs-ECU 20, die IG-Leistung auszuschalten, nachdem die Aktivierung beendet wurde.
  • Wie es in 118 dargestellt ist, gehören in einem Fall, in dem die Applikationsprogramme der ECU (ID1), und der ECU (ID2) und der ECU (ID11) bis ECU (ID13) neu geschrieben werden, wenn die ECU (ID1) und die ECU (ID2) eine Beziehung einer kooperativen Steuerung zueinander aufweisen und die ECU (ID11), die ECU (ID12) und die ECU (ID13) eine Beziehung einer kooperativen Steuerung zueinander aufweisen, in einem Verteilungspaket die ECU (ID1) und die ECU (ID2) zu der ersten Gruppe als Neuschreibziel-ECUs 19, und die ECU (ID11), die ECU (ID12) und die ECU (ID13) gehören zu der zweiten Gruppe als Neuschreibziel-ECUs 19. Wenn das Neuschreiben der Applikationsprogramme in der ECU (ID1) und der ECU (ID2), die zu der ersten Gruppe gehören, beendet wurde, gibt das CGW 13 gleichzeitig einen Befehl für eine Aktivierungsanfrage an die ECU (ID1) und die ECU (ID2) aus. Danach führt das CGW 13 ein Neuschreiben der Applikationsprogramme in der ECU (ID11), der ECU (ID12) und der ECU (ID13), die zu der zweiten Gruppe gehören, aus und gibt einen Befehl für eine Aktivierungsanfrage an die ECU (ID11), die ECU (ID12) und die ECU (ID13) aus, wenn das Neuschreiben in sämtlichen ECUs beendet wurde. Es wird ein Neustart der Neuschreibziel-ECU 19, die ein Einzelbankspeicher ist, befohlen, und somit wird die Durchführung einer Aktivierung befohlen.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Gruppenverwaltungsprozess hinsichtlich der Neuschreibziel-ECUs 19 durch, an die eine Aktivierungsanfrage erfolgt ist, und gibt somit einen Befehl für eine Aktivierungsanfrage an diese in der Einheit der Gruppe aus. Mehrere ECUs, die eine Beziehung einer kooperativen Steuerung zueinander aufweisen, können gleichzeitig aktualisiert werden. Somit ist es möglich, das Auftreten eines Problems in einem Prozess einer kooperativen Steuerung aufgrund einer fehlenden Übereinstimmung von Versionen von Applikationsprogrammen der Neuschreibziel-ECUs 19, die eine Beziehung einer kooperativen Steuerung zueinander aufweisen, zu verhindern. Das CGW 13 führt eine Installation in einer vorbestimmten Reihenfolge in der Einheit der Gruppe durch. Das heißt, das CGW 13 führt eine Steuerung derart durch, dass Prozesse von einer Installation bis zu einer Aktivierung in der Einheit der Gruppe durchgeführt werden.
  • Die vorliegende Ausführungsform betrifft eine Konfiguration, bei der nach einer Installation in der Neuschreibziel-ECU 19, die zu der ersten Gruppe gehört, beendet wurde, eine Aktivierung in der Neuschreibziel-ECU 19, die zu der ersten Gruppe gehört, durchgeführt wird, und anschließend, nachdem eine Installation in der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, beendet wurde, eine Aktivierung in der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, durchgeführt wird. Die Aktivierung in der Neuschreibziel-ECU 19, die zu der ersten Gruppe gehört, und eine Aktivierung in der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, können jedoch aufeinanderfolgend durchgeführt werden. Das heißt, eine Installation in der Neuschreibziel-ECU 19, die zu der ersten Gruppe gehört, kann beendet werden, eine Installation in der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, kann beendet werden und dann kann eine Aktivierung in der Neuschreibziel-ECU 19, die zu der ersten Gruppe gehört, durchgeführt werden, und es kann eine Aktivierung in der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, durchgeführt werden. In diesem Fall können die Aktivierungen in den Neuschreibziel-ECUs 19, die zu der ersten Gruppe und der zweiten Gruppe gehören, gleichzeitig durchgeführt werden.
  • In einem Fall, in dem die Neuschreibziel-ECU 19 eine Einzelbankspeicher-ECU enthält, kann ein Befehl zur Installation in der Einzelbankspeicher-ECU in einer Gruppe zuletzt ausgegeben werden. In einem Fall, in dem ein Befehl zur Installation an die Neuschreibziel-ECUs 19 ausgegeben wird, die eine Beziehung eines kooperativen Betriebs zueinander aufweisen, kann der Befehl zur Installation zunächst an die Neuschreibziel-ECU 19 ausgegeben werden, die als eine Datenübertragungsseite bzw. Datensendeseite dient, und der Befehl zur Installation kann für die Neuschreibziel-ECU, die als eine Datenempfangsseite dient, später ausgegeben werden.
  • Das CGW 13 nimmt Bezug auf den Speichertyp in den Neuschreibspezifikationsdaten und bestimmt die Installationsreihenfolge entsprechend dem Speichertyp der Neuschreibziel-ECU 19. Es wird beispielsweise eine Installation in einer Reihenfolge eines Doppelbankspeichers, eines Einzelbank-Suspendierungs-Speichers und eines Einzelbankspeichers durchgeführt. Das CGW 13 speichert im Voraus, ob die ECU eine Datenübertragungsseite oder eine Datenempfangsseite ist, als Informationen hinsichtlich der ECUs 19, die eine Beziehung eines kooperativen Betriebs zueinander aufweisen, und bestimmt eine Installationsreihenfolge der Neuschreibziel-ECUs 19 auf der Grundlage dieser Informationen.
  • In einem Fall, in dem es mehrere Gruppen gibt, kann eine Installationsreihenfolge auf der Grundlage beispielsweise des Notwendigkeitsgrades, des Sicherheitsgrades, einer Funktion oder einer Zeit bestimmt werden. Der Notwendigkeitsgrad ist ein Index, der angibt, ob es notwendig ist, eine unmittelbare Installation durchzuführen. Der Notwendigkeitsgrad ist in einem Fall hoch, in dem eine hohe Wahrscheinlichkeit besteht, dass von Menschen gemachte Probleme oder Unfälle auftreten können, wenn eine Installation in der ECU nicht erfolgt. Der Notwendigkeitsgrad ist in einem Fall niedrig, in dem eine niedrige Wahrscheinlichkeit besteht, dass von Menschen gemachte Probleme oder Unfälle auch dann nicht auftreten können, wenn eine Installation in der ECU nicht erfolgt. Eine Installation wird vorzugsweise in einer Gruppe durchgeführt, die einen hohen Notwendigkeitsgrad aufweist. Der Sicherheitsgrad ist ein Index der Beschränkung aufgrund des Typs des Mikrocomputers zu dem Zeitpunkt der Installation, und es wird eine Installation in aufsteigender Reihenfolge einer Beschränkung durchgeführt, das heißt in einer Reihenfolge eines Doppelbankspeichers, eines Einzelbank-Suspendierungs-Speichers und eines Einzelbankspeichers. Die Funktion ist ein Index eines Nutzerkomforts, und es wird eine Installation vorzugsweise in einer Gruppe durchgeführt, die für einen Nutzer mehr Komfort bietet. Die Zeit ist ein Index der Zeit, die zur Installation benötigt wird, und es wird eine Installation vorzugsweise in einer Gruppe durchgeführt, die eine kurze Zeit für eine Installation benötigt.
  • In einem Fall, in dem das CGW 13 der ersten Neuschreibziel-ECU 19 und der zweiten Neuschreibziel-ECU 19, die zu derselben Gruppe gehören, befiehlt, eine Installation durchzuführen, befiehlt das CGW 13 der zweiten Neuschreibziel-ECU 19, ein Rollback durchzuführen und befiehlt der ersten Neuschreibziel-ECU 19, ein Rollback durchzuführen, wenn die Installation der ersten Neuschreibziel-ECU 19 erfolgreich ist und die Installation der zweiten Neuschreibziel-ECU 19 fehlschlägt.
  • In einem Fall, in dem das CGW 13 der Neuschreibziel-ECU 19, die zu der ersten Gruppe gehört, und der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, die Installation durchzuführen, befiehlt das CGW 13 der Neuschreibziel-ECU 19, die zu der zweiten Gruppe gehört, die Installation durchzuführen, wenn die Installation der Neuschreibziel-ECU 19, die zu der ersten Gruppe gehört, fehlschlägt. Wie es beispielsweise in 116 gezeigt ist, überspringt das CGW 13 den Aktivierungsanfragebefehlsprozess (S1408) für die erste Gruppe und schreitet zum Schritt S1407 in einem Fall, in dem das Neuschreiben in der zweiten Gruppe in einem Zustand durchgeführt wird, in dem die Installation der Neuschreibziel-ECU 19, die zu der ersten Gruppe gehört, fehlschlägt (S1405: Ja). Das CGW 13 kehrt zum Schritt S1403 zurück und initiiert die Durchführung der Installation in der zweiten Gruppe und führt den Aktivierungsanfragebefehlsprozess hinsichtlich der zweiten Gruppe in einem Fall durch, in dem die Installation beendet wurde (S1408). Das heißt, auch wenn eine Aktualisierung der ersten Gruppe fehlschlägt, führt das CGW 13 die Aktualisierung der zweiten Gruppe durch.
  • In einem Fall, in dem die beiden Gruppen in einer einzelnen Kampagne sind (innerhalb eines einzelnen Verteilungspakets), werden der Betrieb der Zustimmung des Nutzers für die Kampagne und der Betrieb der Zustimmung des Nutzers für den Download einmal durchgeführt, und der Betrieb der Zustimmung des Nutzers für die Installation und der Betrieb der Zustimmung des Nutzers für die Aktivierung werden zweimal, d.h. für jede Gruppe durchgeführt. Das heißt, in einem Fall, in dem eine Funktion, die sich aufgrund einer Aktualisierung geändert hat, für jede Gruppe anders ist, ist es wünschenswert, den Betrieb der Zustimmung des Nutzers für eine Installation und den Betrieb der Zustimmung des Nutzers für eine Aktivierung für jede Funktion durchzuführen. Da einige Nutzer es als kompliziert empfinden, einen Betrieb der Zustimmung des Nutzers zur Installation und einen Betrieb der Zustimmung des Nutzers zur Aktivierung für jede Gruppe durchzuführen, können der Betrieb der Zustimmung des Nutzers zur Installation und der Betrieb der Zustimmung des Nutzers zur Aktivierung einmal für sämtliche Gruppen durchgeführt werden.
  • Auch wenn beispielhaft eine Konfiguration beschrieben wurde, bei der eine Gruppe, zu der die Neuschreibziel-ECU 19 gehört, unter Verwendung der Neuschreibspezifikationsdaten bestimmt wird, ist auch eine Konfiguration denkbar, bei der eine Gruppenzugehörigkeit der Neuschreibziel-ECU 19 in dem CGW 13 gespeichert wird.
  • Rollback-Ausführungssteuerungsprozess
  • Der Rollback-Ausführungssteuerungsprozess wird mit Bezug auf die 119 bis 130 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Rollback-Ausführungssteuerungsprozess in dem CGW 13 aus. Das Rollback gibt ein Schreiben zum Zurückkehren bzw. Zurückgehen des Speichers der Neuschreibziel-ECU 19 zu einem vorbestimmten Zustand an, beispielsweise ein Zurückkehren eines Applikationsprogramms zu einer Ursprungsversion, in einem Fall, in dem ein Neuschreiben des Applikationsprogramms gestoppt wurde, und dient zum Zurückkehren eines Zustands der Neuschreibziel-ECU 19 zu einem Zustand, bevor ein Schreiben von Schreibdaten aus Sicht des Nutzers initiiert wurde.
  • Wie es in 119 dargestellt ist, enthält das CGW 13 eine Abbruchanfragebestimmungseinheit 86a, eine Rollback-Verfahrensbestimmungseinheit 86b und eine Rollback-Ausführungseinheit 86c in der Rollback-Ausführungssteuerungseinheit 86. Die Abbruchanfragebestimmungseinheit 86a bestimmt, ob eine Neuschreibabbruchanfrage während eines Neuschreibens eines Applikationsprogramms erzeugt wird. Wenn der Nutzer beispielsweise das mobile Endgerät 6 bedient und einen Abbruch eines Neuschreibens eines Programms auswählt, teilt die Zentrumsvorrichtung 3, die Informationen hinsichtlich des Abbruches beschafft hat, dem CGW 13 eine Programmneuschreibabbruchanfrage über das DCM 12 mit.
  • In einem Fall, in dem eine Abnormität in dem System auftritt, teilt die Zentrumsvorrichtung 3 dem CGW 13 die Programmneuschreibabbruchanfrage über das DCM 12 mit, wenn der Zentrumsvorrichtung 3 die Abnormität in dem System mitgeteilt wurde. Die Abnormität in dem System ist beispielsweise ein Fall, in dem eine bestimmte Neuschreibziel-ECU 19 beim Schreiben erfolgreich ist, aber eine andere Neuschreibziel-ECU 19, die eine kooperative Steuerung mit der bestimmten Neuschreibziel-ECU 19 durchführt, beim Neuschreiben nicht erfolgreich ist. Wenn wie oben beschrieben eine von mehreren Neuschreibziel-ECUs 19, die eine kooperative Steuerung durchführen, beim Schreiben fehlschlägt, wird bestimmt, dass das System abnorm ist, und die Zentrumsvorrichtung 3 teilt dem CGW 13 die Programmneuschreibabbruchanfrage über das DCM 12 in Bezug auf die Neuschreibziel-ECU 19 mit, deren Schreiben erfolgreich war. Das heißt, Ursachen der Erzeugung der Abbruchanfrage enthalten einen Betrieb, der von dem Nutzer durchgeführt wird, und das Auftreten einer Abnormität in dem System.
  • Die Rollback-Verfahrensbestimmungseinheit 86b bestimmt ein Rollback-Verfahren zum Rückkehren eines Zustands der Neuschreibziel-ECU 19 zu einem Zustand, bevor ein Schreiben von Schreibdaten initiiert wurde, entsprechend dem Speichertyp des Flash-Speichers, der in der Neuschreibziel-ECU 19 montiert ist, und dem Datentyp der Schreibdaten eines neuen Programms oder eines alten Programms. Das heißt, die Rollback-Verfahrensbestimmungseinheit 86b bestimmt, ob der Flash-Speicher ein Einzelbankspeicher, ein Einzelbank-Suspendierungs-Speicher oder ein Doppelbankspeicher ist, als Speichertyp der Neuschreibziel-ECU 19 und bestimmt, ob die Schreibdaten die gesamten Daten oder Differenzdaten sind, als Datentyp der Schreibdaten.
  • Die Rollback-Verfahrensbestimmungseinheit 86b bestimmt einen ersten Rollback-Prozess, einen zweiten Rollback-Prozess oder einen dritten Rollback-Prozess entsprechend dem Speichertyp und dem Datentyp. Wenn das Rollback-Verfahren durch die Rollback-Verfahrensbestimmungseinheit 86b bestimmt wurde, befiehlt die Rollback-Ausführungseinheit 86c der Neuschreibziel-ECU 19, das Rollback entsprechend dem Rollback-Verfahren durchzuführen, und die Neuschreibziel-ECU 19 wird mit dem alten Programm betrieben. Das heißt, die Rollback-Ausführungseinheit 86c führt das Rollback zum Zurückkehren eines Betriebszustands der Neuschreibziel-ECU 19 zu einem Zustand, bevor ein Neuschreiben des Applikationsprogramms initiiert wurde, durch.
  • Im Folgenden wird ein Betrieb der Rollback-Ausführungssteuerungseinheit 86 in dem CGW 13 mit Bezug auf die 120 bis 130 beschrieben. Das CGW 13 führt ein Rollback-Ausführungssteuerungsprogramm aus und führt somit den Rollback-Ausführungssteuerungsprozess durch. Das CGW 13 führt einen Rollback-Verfahrensbestimmungsprozess und einen Abbruchanfragebestimmungsprozess als Rollback-Ausführungssteuerungsprozess durch. Im Folgenden wird jeder Prozess beschrieben.
  • Rollback-Verfahrensbestimmungsprozess
  • Wenn der Rollback-Verfahrensbestimmungsprozess initiiert ist, analysiert das CGW 13 die CGW-Neuschreibspezifikationsdaten, die von dem DCM 12 beschafft wurden (S1501), bestimmt ein Rollback-Verfahren auf der Grundlage eines entsprechenden Analyseergebnisses (S1502) und beendet den Rollback-Verfahrensbestimmungsprozess. Das CGW 13 beschafft den Speichertyp und den Datentyp eines Rollback-Programms aus den Neuschreibspezifikationsdaten, die in 8 dargestellt sind, und bestimmt ein Rollback-Verfahren. Das Rollback-Verfahren kann unter Verwendung des Datentyps des neuen Programms bestimmt werden, wenn der Datentyp derselbe wie derjenige des alten Programms ist (Rollback-Programm).
  • Das heißt, in einem Fall, in dem der Flash-Speicher der Neuschreibziel-ECU 19 ein Einzelbankspeicher ist und die Schreibdaten die gesamten Daten sind, stoppt das CGW 13, wenn eine Abbruchanfrage erzeugt wurde, gemäß einem Rollback-Verfahren unmittelbar die Verteilung der gesamten Daten und bestimmt ein Verfahren (erster Rollback-Prozess), gemäß dem Daten des alten Applikationsprogramms in einen Neuschreibbereich in der Neuschreibziel-ECU 19, in die das alte Applikationsprogramm neu zu schreiben ist, geschrieben werden. Das alte Applikationsprogramm (Rollback-Neuschreibdaten) für einen Einzelbankspeicher ist in einem Verteilungspaket zusammen mit einem Aktualisierungsprogramm enthalten, und das CGW 13 verteilt das alte Applikationsprogramm an die Neuschreibziel-ECU 19 auf dieselbe Weise wie bei dem neuen Applikationsprogramm.
  • Wenn der Flash-Speicher der Neuschreibziel-ECU 19 ein Einzelbankspeicher ist und Schreibdaten Differenzdaten sind, setzt das CGW 13, wenn eine Abbruchanfrage erzeugt wird, als ein Rollback-Verfahren eine Verteilung der Differenzdaten fort und bestimmt ein Verfahren (zweiter Rollback-Prozess), in dem die Differenzdaten in einen Neuschreibbereich in der Neuschreibziel-ECU 19 geschrieben werden, in die das neue Applikationsprogramm neu zu schreiben ist, dann werden die Differenzdaten des alten Applikationsprogramms verteilt, und die alten Daten werden in den Neuschreibbereich in der Neuschreibziel-ECU 19 geschrieben, in die das alte Applikationsprogramm neu zu schreiben ist.
  • In einem Fall, in dem die Schreibdaten Differenzdaten sind, stellt die Neuschreibziel-ECU 19 das neue Applikationsprogramm unter Verwendung des derzeitigen Applikationsprogramms, das in den Flash-Speicher geschrieben ist und der Differenzdaten, die von dem CGW 13 erlangt wurden, wieder her und schreibt das neue Applikationsprogramm. In einem Zustand, in dem ein anderes bzw. unterschiedliches Applikationsprogramm in den Flash-Speicher geschrieben ist, kann die Neuschreibziel-ECU 19 das neue Applikationsprogramm unter Verwendung der Differenzdaten nicht wiederherstellen. Somit ist es bei einem Einzelbankspeicher notwendig, einen Prozess zum Neuschreiben von Daten in das neue Applikationsprogramm durchzuführen. Wenn hier beispielsweise eine Version des derzeitigen Applikationsprogramms 1.0 ist und eine Version des neuen Applikationsprogramms 2.0 ist, besteht ein Neuschreibprogramm (Neuschreibdaten) aus Differenzdaten zum Aktualisieren der Version 1.0 auf die Version 2.0, und Rollback-Neuschreibdaten sind Differenzdaten zum Aktualisieren der Version 2.0 auf die Version 1.0.
  • Wenn der Flash-Speicher der Neuschreibziel-ECU 19 ein Einzelbank-Suspendierungs-Speicher oder ein Doppelbankspeicher ist, setzt das CGW 13 die Verteilung der Schreibdaten fort und bestimmt ein Verfahren (dritter Rollback-Prozess), bei dem, wenn eine aktive Bank die Bank A ist und eine inaktive Bank die Bank B in der Neuschreibziel-ECU 19 ist, die Schreibdaten in die Bank B, die die inaktive Bank ist, derart geschrieben werden, dass das neue Applikationsprogramm installiert wird, aber ein Wechsel der aktiven Bank von der Bank A zu der Bank B unterdrückt wird.
  • Abbruchanfragebestimmungsprozess
  • Wenn bestimmt wird, dass ein Neuschreiben eines Applikationsprogramms in der Neuschreibziel-ECU 19 initiiert ist, initiiert das CGW 13 den Abbruchanfragebestimmungsprozess, bestimmt, ob das Neuschreiben des Applikationsprogramms beendet wurde (S1511), und bestimmt, ob eine Abbruchanfrage erzeugt wurde (S1512). Das heißt, das CGW 13 bestimmt aufgrund eines Betriebs, der durch den Nutzer durchgeführt wird, des Auftretens einer Abnormität in dem System oder Ähnlichem, ob eine Abbruchanfrage erzeugt wurde, wie es oben beschrieben ist.
  • Wenn bestimmt wird, dass eine Abbruchanfrage erzeugt wurde, bevor das Neuschreiben des Applikationsprogramms beendet wurde, das heißt, die Abbruchanfrage während der Installation erzeugt wurde (S1512: Ja), bestimmt das CGW 13 die Neuschreibziel-ECU 19, die ein Rollback-Ziel ist (S1513). Es wird angenommen, dass die Neuschreibziel-ECUs 19, die zu derselben Gruppe gehören, die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, die ECU (ID1) ein Einzelbankspeicher ist, die ECU (ID2) und die ECU (ID3) Doppelbankspeicher sind, eine Installation in der ECU (ID1) beendet wurde und eine Abbruchanfrage während der Installation in der ECU (ID2) erzeugt wurde. In diesem Fall bestimmt das CGW 13, in S1413, ob ein Rollback für sämtliche Neuschreibziel-ECUs 19, die zu der ersten Gruppe gehören, notwendig ist.
  • Das CGW 13 bestimmt die ECU (ID1), in die das gesamte Applikationsprogramm neu geschrieben ist, und die ECU (ID2), in die ein Teil des Applikationsprogramms neu geschrieben ist, als Rollback-Ziele. Die CGW 13 bestimmt den Speichertyp der Flash-Speicher der Neuschreibziel-ECUs 19, die die bestimmten Rollback-Ziele sind, und bestimmt, ob ein jeweiliger Flash-Speicher ein Einzelbankspeicher, ein Einzelbank-Suspendierungs-Speicher oder ein Doppelbankspeicher ist (S1514 und S1515). Wenn bestimmt wird, dass der Flash-Speicher ein Einzelbankspeicher ist (S1514: Ja), bestimmt das CGW 13 den Datentyp des Rollback-Programms und bestimmt, ob die Rollback-Schreibdaten die gesamten Daten oder Differenzdaten sind (S1516 und S1517).
  • Wenn bestimmt wird, dass die Rollback-Schreibdaten die gesamten Daten sind (S1516: Ja), schreitet das CGW 13 zum ersten Rollback-Prozess (S 1518; entspricht einer Rollback-Ausführungsprozedur). Wenn der erste Rollback-Prozess initiiert ist, stoppt das CGW 13 unmittelbar die Verteilung der Schreibdaten, die das neue Programm bilden (S1531). Das CGW 13 beschafft die Rollback-Schreibdaten (altes Programm), die gesamte Daten sind, von dem DCM 12 und verteilt die Rollback-Schreibdaten an die Neuschreibziel-ECU 19. Die Neuschreibziel-ECU 19 schreibt die Daten des alten Applikationsprogramms, die von dem CGW 13 beschafft wurden, in den Flash-Speicher, sodass die Daten in das alte Applikationsprogramm neu geschrieben werden (S1532), beendet den ersten Rollback-Prozess und kehrt zu dem Abbruchanfragebestimmungsprozess zurück.
  • Wenn bestimmt wird, dass die Rollback-Schreibdaten Differenzdaten sind (S1517: Ja), schreitet das CGW 13 zu dem zweiten Rollback-Prozess (S1519; entspricht einer Rollback-Ausführungsprozedur). Wenn der zweite Rollback-Prozess initiiert ist, setzt das CGW 13 die Verteilung der Schreibdaten, die ein neues Programm bilden, fort (S1541), speichert die Differenzdaten in der Neuschreibziel-ECU 19 und schreibt die Differenzdaten in den Flash-Speicher, sodass die Differenzdaten in das neue Applikationsprogramm neu geschrieben werden (S1542). Das CGW 13 verteilt die Schreibdaten des alten Applikationsprogramms, die von dem DCM 12 beschafft wurden, an die Neuschreibziel-ECU 19, nachdem das Neuschreiben in das neue Applikationsprogramm beendet wurde (S1543). Die Differenzdaten, die die Schreibdaten des alten Applikationsprogramms sind, werden in der Neuschreibziel-ECU 19 wiederhergestellt und in den Flash-Speicher geschrieben, um in das alte Applikationsprogramm neu geschrieben zu werden (S1544), und dann beendet das CGW 13 den zweiten Rollback-Prozess und kehrt zu dem Abbruchanfragebestimmungsprozess zurück.
  • Wenn bestimmt wird, dass die Neuschreibziel-ECU 19 eine Einzelbank-Suspendierungs-Speicher-ECU oder eine Doppelbankspeicher-ECU ist (S1515: Ja), schreitet das CGW 13 zu dem dritten Rollback-Prozess (S1520; entspricht einer Rollback-Ausführungsprozedur). In diesem Fall schreitet das CGW 13 zu dem dritten Rollback-Prozess unabhängig von dem Typ der Schreibdaten. Wenn der dritte Rollback-Prozess initiiert ist, setzt das CGW 13 die Verteilung der Schreibdaten fort (S1551), schreibt die Schreibdaten in eine inaktive Bank (Bank B) in der Neuschreibziel-ECU 19, sodass die Schreibdaten in das neue Applikationsprogramm neu geschrieben werden (S1552). Das CGW 13 unterdrückt einen Wechsel einer aktiven Bank von der alten Bank (aktive Bank: Bank A) zu der neuen Bank (inaktive Bank: Bank B) (S1553), beendet den dritten Rollback-Prozess und kehrt zu dem Abbruchanfragebestimmungsprozess zurück. Zusätzlich zu einer Unterdrückung des Wechsels der aktiven Bank kann das CGW 13 die inaktive Bank, in die die Version 2.0 geschrieben ist, in einen Zustand (beispielsweise die Version 1.0) vor einem Neuschreiben in das neue Applikationsprogramm zurückbringen, wie es in 126 dargestellt ist.
  • Wenn das CGW 13 zu dem Abbruchanfragebestimmungsprozess zurückkehrt, bestimmt das CGW 13, ob der Rollback-Prozess für alle Neuschreibziel-ECUs 19 durchgeführt wurde, die Rollback-Ziele sind (S1521). In dem beispielhaften Fall, in dem die Neuschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, führt das CGW 13 entsprechend dem Rollback-Datentyp beispielsweise zunächst den ersten Rollback-Prozess oder den zweiten Rollback-Prozess hinsichtlich der Einzelbankspeicher-ECU (ID1) durch, in der eine Installation durchgeführt wurde. Danach führt das CGW 13 den dritten Rollback-Prozess hinsichtlich der Doppelbankspeicher-ECU (ID2) durch, in der die Installation beendet wurde.
  • Das CGW 13 führt den ersten Rollback-Prozess oder den zweiten Rollback-Prozess hinsichtlich der Einzelbankspeicher-ECU (ID1) entsprechend dem Neuschreibdatentyp durch. Wenn bestimmt wird, dass der Rollback-Prozess nicht für alle Neuschreibziel-ECUs 19, die Rollback-Ziele sind, durchgeführt wurde (S1521: Nein), kehrt das CGW 13 zum Schritt S1513 zurück und führt Schritt S1513 und die anschließenden Schritte wieder durch. Wenn bestimmt wird, dass der Rollback-Prozess für alle Neuschreibziel-ECUs 19, die Rollback-Ziele sind, durchgeführt wurde (S1521: Ja), beendet das CGW 13 den Abbruchanfragebestimmungsprozess. Das CGW 13 befiehlt gleichzeitig der ECU (ID1), der ECU (ID2) und der ECU (ID3), die zu der ersten Gruppe gehören, für die der Rollback-Prozess durchgeführt wurde, die alten Applikationsprogramme zu aktivieren. Die ECU (ID1), die einen Einzelbankspeicher aufweist, wechselt in das alte Applikationsprogramm mittels einem Neustart. Die ECU (ID2) und die ECU (ID3), die Doppelbankspeicher aufweisen, werden in derselben aktiven Bank (Bank A) wie zuvor anstelle in der inaktiven Bank (Bank B) gestartet, in die das Aktualisierungsprogramm geschrieben wurde. Wenn sich die Absicht des Nutzers ändert und die Programmaktualisierung erneut ausgeführt wird, wird das neue Applikationsprogramm in die ECU (ID1) und die ECU (ID3) geschrieben. Da jedoch das neue Applikationsprogramm bereits in der inaktiven Bank der ECU (ID2) installiert wurde, wird hier das Schreiben weggelassen.
  • Wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms ohne Erzeugung einer Abbruchanfrage beendet wurde (S1511: Ja), bestimmt das CGW 13, ob eine Aktivierung beendet wurde (S1522), und bestimmt, ob eine Abbruchanfrage erzeugt wurde (S 1523).
  • Wenn bestimmt wird, dass eine Abbruchanfrage erzeugt wurde, bevor die Aktivierung beendet wurde, das heißt, die Abbruchanfrage während der Aktivierung erzeugt wurde (S1523: Ja), bestimmt das CGW 13, ob ein Aktivierungsbefehl die Neuschreibziel-ECU 19 erreicht hat, und bestimmt, ob ein Wechsel der aktiven Bank beendet wurde (S1524).
  • Wenn bestimmt wird, dass der Aktivierungsbefehl die Neuschreibziel-ECU 19 nicht erreicht hat und dass der Wechsel der aktiven Bank nicht beendet ist (S1524: Nein), führt das CGW 13 einen vierten Rollback-Prozess durch (S1525). Es wird angenommen, dass als vierter Rollback-Prozess das CGW 13 die aktive Bank nicht wechselt. Alternativ kann das CGW 13 die inaktive Bank in einen Zustand vor einem Neuschreiben in das neue Applikationsprogramm zurückbringen, ohne die aktive Bank zu wechseln. Wenn die aktive Bank nicht gewechselt wurde, verwendet das CGW 13 eine Bank, in die die Version 1.0 geschrieben ist, als aktive Bank und verwendet eine Bank, in die die Version 2.0 geschrieben ist, als die inaktive Bank, wie es in 127 dargestellt ist. Wenn die inaktive Bank zu dem Zustand vor dem Neuschreiben in das neue Applikationsprogramm zurückkehrt, ohne dass die aktive Bank gewechselt wird, verwendet das CGW 13 die Bank, in die die Version 1.0 geschrieben ist, als aktive Bank und lässt die inaktive Bank, die eine Bank ist, in die die Version 2.0 geschrieben ist, zu einem Zustand (Version 1.0) vor dem Neuschreiben in das neue Applikationsprogramm zurückkehren, wie es in 128 dargestellt ist.
  • Wenn bestimmt wird, dass der Aktivierungsbefehl die Neuschreibziel-ECU 19 erreicht hat und der Wechsel der aktiven Bank beendet wurde (S1524: Ja), führt das CGW 13 einen fünften Rollback-Prozess durch. Die Beendigung des Wechsels der aktiven Bank gibt einen Zustand an, in dem eine Bank, in die die Version 2.0 geschrieben wurde, von der inaktiven Bank in die aktive Bank wechselt, und eine Bank der Version 1.0 von der aktiven Bank in die inaktive Bank wechselt, wie es in 129 dargestellt ist. Als fünfter Rollback-Prozess wechselt das CGW 13 die aktive Bank oder wechselt die aktive Bank nach einem Zurückkehren der inaktiven Bank in den Zustand vor einem Neuschreiben in das neue Applikationsprogramm. In einem Fall, in dem die aktive Bank gewechselt wird, wechselt das CGW 13 die Bank, in die die Version 2.0 geschrieben ist, von der aktiven Bank in die inaktive Bank und wechselt die Bank, in die die Version 1.0 geschrieben ist, von der inaktiven Bank in die aktive Bank, wie es in 129 dargestellt ist. In einem Fall eines Wechselns der aktiven Bank nach einer Zurückkehr der inaktiven Bank in den Zustand vor einem Neuschreiben in das neue Applikationsprogramm lässt das CGW 13 die aktive Bank, die die Bank ist, in die Version 2.0 geschrieben ist, zu dem Zustand (beispielsweise die Version 1.0) vor einem Neuschreiben in das neue Applikationsprogramm zurückkehren, wie es in 130 dargestellt ist, wechselt die Bank, die zu dem Zustand vor einem Neuschreiben in das neue Applikationsprogramm zurückgekehrt ist, von der aktiven Bank in die inaktive Bank, und die Bank, in die die Version 1.0 geschrieben ist, wechselt von der inaktiven Bank in die aktive Bank.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Rollback-Ausführungssteuerungsprozess durch, und wenn eine Neuschreibabbruchanfrage während des Neuschreibens eines Applikationsprogramms erzeugt wird, lässt das CGW 13 einen Betriebszustand der Neuschreibziel-ECU 19 zu einem Zustand zurückkehren, bevor das Applikationsprogramm aus Sicht des Nutzers initiiert wurde. Somit können sämtliche Neuschreibziel-ECUs 19, die zu derselben Gruppe gehören, zusammen zu den ursprünglichen Programmversionen zurückkehren. Sogar in einem Fall, in dem Differenzdaten in der nächsten Programmaktualisierung verwendet werden, können Schreibdaten richtig wiederhergestellt werden.
  • Neuschreibfortschrittssituations-Anzeigesteuerungsprozess
  • Der Neuschreibfortschrittssituations-Anzeigesteuerungsprozess wird mit Bezug auf die 131 bis 143 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Neuschreibfortschrittssituations-Anzeigesteuerungsprozess in dem CGW 13 durch. Um den Nutzer hinsichtlich einer Applikationsprogramm-Neuschreibfortschrittssituation zu informieren, zeigen das mobile Endgerät 6 und die fahrzeugeigene Anzeige 7 als Anzeigeendgerät 5 eine Fortschrittssituation an. Die Fortschrittssituation, die angezeigt wird, enthält nicht nur einen Fall, in dem ein Programm aktualisiert wird, sondern auch einen Fall, in dem das Programm aufgrund beispielsweise eines Abbruchbetriebs, der von dem Nutzer durchgeführt wird, oder eines Aktualisierungsfehlers zurückgeht.
  • Wie es in 131 dargestellt ist, enthält das CGW 13 eine Abbrucherfassungseinheit 87a, eine Schreibbefehlseinheit 87b und eine Mitteilungsbefehlseinheit 87c in der Neuschreibfortschrittssituations-Anzeigesteuerungseinheit 87. Die Abbrucherfassungseinheit 87a erfasst einen Abbruch eines Neuschreibens eines Programms zum Neuschreiben von ersten Schreibdaten, die in der Neuschreibziel-ECU 19 gespeichert sind, in zweite Schreibdaten, die von der Zentrumsvorrichtung 3 beschafft werden. Die Abbrucherfassungseinheit 87a erfasst einen Abbruchbetrieb, der von dem Nutzer durchgeführt wird, oder einen Fehler wie einen Fehler beim Schreiben in die Neuschreibziel-ECU 19. Die Abbrucherfassungseinheit 87a führt einen Rollback-Prozess auch in einem Fall durch, in dem eine vorbestimmte Abnormität erfasst wird, beispielsweise in einem Fall, in dem Schreibdaten inkompatibel mit der Neuschreibziel-ECU 19 sind, einem Fall, in dem eine Fälschung der Schreibdaten erfasst wird, oder einem Fall, in dem ein Fehler eines Schreibens in die Neuschreibziel-ECU 19 auftritt, und somit wird eine Erfassung dieser Abnormitäten auch als Erfassung eines Abbruchs behandelt.
  • Die Schreibbefehlseinheit 87b verteilt die zweiten Schreibdaten an die Neuschreibziel-ECU 19 und befiehlt der Neuschreibziel-ECU 19, die zweiten Schreibdaten zu schreiben. Die Mitteilungsbefehlseinheit 87c gibt einen Befehl zum Mitteilen einer Fortschrittssituation betreffend ein Neuschreiben eines Applikationsprogramms aus. Die Mitteilungsbefehlseinheit 87c gibt einen Befehl zum Mitteilen der Fortschrittssituation betreffend ein Neuschreiben des Applikationsprogramms gemäß einem ersten Aspekt aus, während die zweiten Schreibdaten durch die Schreibbefehlseinheit 87b verteilt werden, und gibt einen Befehl zum Mitteilen der Fortschrittssituation betreffend das Neuschreiben des Applikationsprogramms gemäß einem zweiten Aspekt aus, wenn die Abbrucherfassungseinheit 87a einen Abbruch erfasst. Wenn ein Abbruch durch die Abbrucherfassungseinheit 87a erfasst wird, während die zweiten Schreibdaten verteilt werden, setzt die Schreibbefehlseinheit 87b die Verteilung der zweiten Schreibdaten fort.
  • Das CGW 13 bestimmt ein Neuschreiben der Applikationsprogramme in der Neuschreibziel-ECU 19 durch Bestimmen eines internen Zustands der Neuschreibziel-ECU 19, Bestimmen eines Befehls von der Zentrumsvorrichtung 3 oder Bestimmen des Nutzerbetriebs. Wenn das Neuschreiben des Applikationsprogramms bestimmt ist, bestimmt das CGW 13, ob das Neuschreiben ein Neuschreiben (Installation) während der normalen Zeit oder ein Neuschreiben (Deinstallation) während eines Rollbacks ist. Wenn durch Bestimmen des internen Zustands der Neuschreibziel-ECU 19, Bestimmen des Befehls von der Zentrumsvorrichtung 3 oder Bestimmen des Nutzerbetriebs bestimmt wird, ob das Neuschreiben ein Neuschreiben während der normalen Zeit ist oder ein Neuschreiben während eines Rollbacks durchgeführt wird, berechnet das CGW 13 eine Fortschrittssituation eines Neuschreibens während der normalen Zeit oder während eines Rollbacks auf der Grundlage des Bestimmungsergebnisses und befiehlt dem Anzeigeendgerät 5, die berechnete Fortschrittssituation anzuzeigen.
  • Das CGW 13 befiehlt dem Anzeigeendgerät 5, die Fortschrittssituation während der normalen Zeit oder die Fortschrittssituation während eines Rollbacks entsprechend dem Neuschreibbestimmungsergebnis anzuzeigen, das angibt, ob das Neuschreiben ein Neuschreiben während der normalen Zeit oder ein Neuschreiben während eines Rollbacks ist. Das CGW 13 gibt einen Befehl derart aus, dass eine Fortschrittsanzeige, die die Fortschrittssituation des Neuschreibens während der normalen Zeit angibt, unterschiedlich zu der Fortschrittsanzeige angezeigt wird, die die Fortschrittssituation des Neuschreibens während eines Rollbacks angibt. Das heißt, das CGW 13 zeigt die Fortschrittssituation in dem ersten Aspekt in einem Fall des Neuschreibens während der normalen Zeit an und zeigt die Fortschrittssituation in dem zweiten Aspekt anders als in einem Fall eines Neuschreibens während eines Rollbacks gemäß dem ersten Aspekt an. Das CGW 13 unterscheidet die Fortschrittsanzeige während der normalen Zeit von der Fortschrittsanzeige während eines Rollbacks durch unterschiedliche Zeichen, Posten, Farben, numerische Werte, Leuchten und Ähnliches auf einem Anzeigebildschirm als einen Aspekt betreffend eine Anzeige, wenn eine Fortschrittssituation angezeigt wird. Das CGW 13 unterscheidet eine Fortschrittsanzeige während der normalen Zeit von einer Fortschrittsanzeige während eines Rollbacks durch unterschiedliche Töne, Vibrationen und Ähnliches als einen anderen Aspekt eines Anzeigens der Fortschrittsanzeige.
  • Im Folgenden wird ein Betrieb des CGW 13 mit Bezug auf die 132 bis 143 beschrieben. Das CGW 13 führt ein Neuschreibfortschrittssituations-Anzeigesteuerungsprogramm aus und führt somit den Neuschreibfortschrittssituations-Anzeigesteuerungsprozess durch.
  • Wenn ein Neuschreibinitiierungssignal, das angibt, dass ein Neuschreiben eines Programms in der Neuschreibziel-ECU 19 initiiert wurde, empfangen wird (wenn eine Installation des Programms in der Neuschreibziel-ECU 19 initiiert ist), initiiert das CGW 13 den Neuschreibfortschrittssituations-Anzeigesteuerungsprozess. Wenn der Neuschreibfortschrittssituations-Anzeigesteuerungsprozess initiiert ist, analysiert das CGW 13 die CGW-Neuschreibspezifikationsdaten, bestimmt den Speichertyp und den Schreibdatentyp des Flash-Speichers der Neuschreibziel-ECU 19 und bestimmt eine Neuschreibziel-ECU 19 für normale Zeiten (S1601). Wenn der Speichertyp und der Schreibdatentyp des Flash-Speichers der Neuschreibziel-ECU 19 und eine Größe eines Aktualisierungsprogramms bestimmt sind (S1602), berechnet das CGW 13 eine Neuschreibfortschrittssituation bei normaler Zeit entsprechend dem Bestimmungsergebnis und gibt einen Befehl zum Anzeigen der Neuschreibfortschrittssituation bei normaler Zeit aus (S1603). Das Anzeigeendgerät 5 zeigt eine Neuschreibfortschrittssituation gemäß einem Neuschreibanzeigeaspekt bei normaler Zeit als Antwort auf den Befehl von dem CGW 13 an.
  • Das CGW 13 bestimmt, ob ein Neuschreiben des Applikationsprogramms beendet wurde (S1604), und bestimmt, ob eine Abbruchanfrage erzeugt wurde (S1605; entspricht einer Abbrucherfassungsprozedur). Das CGW 13 führt S1604 und S1605 wiederholt durch und aktualisiert eine Fortschrittssituation zu einer beliebigen Zeit, beispielsweise während einer Installation in der Neuschreibziel-ECU (ID1), und zeigt diese an.
  • Wenn ein Neuschreibbeendigungssignal, das angibt, dass das Neuschreiben des Applikationsprogramms in der Neuschreibziel-ECU 19 beendet wurde, empfangen wird, und wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms beendet wurde, ohne dass eine Abbruchanfrage erzeugt wurde (S1604: Ja), beendet das CGW 13 das Anzeigen der Neuschreibfortschrittssituation bei normalem Zustand (S1606) und bestimmt, ob das Neuschreiben in allen Neuschreibziel-ECUs 19 beendet wurde (S1607). Wenn beispielsweise eine Installation in der Neuschreibziel-ECU (ID1) beendet wurde, zeigt das CGW 13 die Fortschrittssituation der ECU (ID1) als 100% an. Wenn bestimmt wird, dass das Neuschreiben nicht in allen Neuschreibziel-ECUs 19 beendet ist (S1607: Nein), kehrt das CGW 13 zum Schritt S1601 zurück und führt Schritt S1601 und die anschließenden Schritte wieder durch. Das CGW 13 führt die Fortschrittsanzeige betreffend die Neuschreibziel-ECU (ID2), die der nächsten Installation unterzogen wird, beispielsweise nach S1601 durch.
  • Wenn bestimmt wird, dass eine Abbruchanfrage vor Beendigung des Neuschreibens des Applikationsprogramms erzeugt wurde (S1605: Ja), beendet das CGW 13 das Anzeigen der Neuschreibfortschrittssituation bei normaler Zeit (S1608) und schreitet zu einem Anzeigesteuerungsprozess bei einem bzw. für ein Rollback fort (S1609; entspricht einer Mittelungsbefehlsprozedur). Hier enthält die Abbruchanfrage eine Abbruchanfrage des Nutzers und eine Abbruchanfrage des Systems basierend auf einem Fehler beim Schreiben in die Neuschreibziel-ECU 19 oder Ähnliches.
  • Wenn der Anzeigesteuerungsprozess für ein Rollback initiiert ist, bestimmt das CGW 13 die Neuschreibziel-ECU 19 während des Rollbacks (S1611) und bestimmt den Speichertyp des Flash-Speichers der Neuschreibziel-ECU 19 während des Rollbacks und den Datentyp und eine Größe eines Rollback-Programms (S1612). Das CGW 13 führt einen Prozess beispielsweise unter der Annahme durch, dass die Neuschreibziel-ECUs 19, die zu derselben Gruppe gehören, die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, eine Installation in der ECU (ID1) und der ECU (ID2) beendet wurde und eine Abbruchanfrage während der Installation in der ECU (ID3) erzeugt wurde. In diesem Fall bestimmt das CGW 13, ob ein Rollback notwendig ist, und bestimmt ein Rollback-Verfahren entsprechend dem Speichertyp und dem Schreibdatentyp einer jeweiligen Neuschreibziel-ECU 19.
  • Das CGW 13 bestimmt den Speichertyp und den Schreibdatentyp des Flash-Speichers der Neuschreibziel-ECU 19, die ein Rollback-Ziel ist, und bestimmt, ob ein Rollback notwendig ist, und bestimmt ein Rollback-Verfahren (den ersten Rollback-Prozess in S1518, den zweiten Rollback-Prozess in S1519 und den dritten Rollback-Prozess in S1520). Das CGW 13 berechnet eine Fortschrittssituation entsprechend dem Bestimmungsergebnis, zeigt die Fortschrittssituation an und gibt einen Befehl zum Anzeigen einer Neuschreibfortschrittssituation während des Rollbacks aus (S1613). Die Menge der Schreibdaten in dem CGW 13 unterscheidet sich je nach erstem bis dritten Rollback-Prozess. Somit bestimmt das CGW 13 eine Gesamtmenge der Schreibdaten entsprechend den ersten bis dritten Rollback-Prozessen und berechnet den Fortschritt (wie viel der Daten geschrieben wurde) auf der Grundlage eines Anteils der Menge der geschriebenen Daten. Das CGW 13 bestimmt, ob ein Neuschreiben als Rollback-Prozess des Applikationsprogramms beendet wurde (S1614).
  • Das CGW 13 verteilt die Schreibdaten an die Neuschreibziel-ECU 19, bis das Neuschreiben als Rollback-Prozess beendet wurde, und führt die oben beschriebene Fortschrittsberechnung und den Anzeigebefehl wiederholt durch. In S1613 zeigt das CGW 13 die berechnete Fortschrittssituation gemäß einem Anzeigeaspekt während des Rollbacks an. In S1614 bestimmt das CGW 13, ob das Rollback für die ECU (ID3), in der das Neuschreiben durchgeführt wurde, normal beendet wurde.
  • Wenn bestimmt wird, dass das Rollback für die Neuschreibziel-ECU 19, die ein Rollback-Ziel ist, beendet wurde (S1614: Ja), beendet das CGW 13 das Anzeigen der Neuschreibfortschrittssituation während des Rollbacks (S1615). Das CGW 13 setzt beispielsweise das Anzeigen durch Anzeigen, dass das Rollback mit 100% für die ECU (ID3) beendet wurde, fort.
  • Das CGW 13 bestimmt, ob das Neuschreiben während des Rollbacks in allen Rollback-Ziel-ECUs 19 beendet wurde (S1616). Wenn bestimmt wird, dass das Neuschreiben während des Rollbacks nicht für alle Rollback-Ziel-ECUs 19 beendet wurde (S1616: Nein), kehrt das CGW 13 zum Schritt S1611 zurück und führt Schritt S1611 und die anschließenden Schritte wieder durch.
  • In einem Fall beispielsweise, in dem die ECU (ID1), in der die Installation beendet wurde, ein Einzelbankspeicher ist, zeigt das CGW 13 die Neuschreibfortschrittssituation während des Rollbacks an (S1613). Andererseits ist beispielsweise in einem Fall, in dem die ECU (ID2), in der die Installation beendet wurde, ein Doppelbankspeicher ist und kein Rollback benötigt, die ECU (ID2) als Neuschreibziel während eines Rollbacks ausgeschlossen. Wenn das Rollback für die ECU (ID3) und die ECU (ID1) beendet wurde, wurde das Neuschreiben in die Neuschreibziel-ECUs 19, die Rollback-Ziele sind, beendet (S1616: Ja), und das CGW 13 beendet den Anzeigesteuerungsprozess während eines Rollbacks.
  • In der obigen Beschreibung führt das CGW 13 den Anzeigesteuerungsprozess während eines Rollbacks durch, aber die fahrzeugeigene Anzeige-ECU 7 oder die Zentrumsvorrichtung 3 können ausgelegt sein, den Anzeigesteuerungsprozess während eines Rollbacks durchzuführen, wobei benötigte Informationen vom CGW 13 beschafft werden. Es kann eine Konfiguration geben, bei der das CGW 13 das Neuschreiben während eines Rollbacks, eine Fortschrittsberechnung und Ähnliches durchführt und die fahrzeugeigene Anzeige-ECU 7 oder die Zentrumsvorrichtung 3 eine Anzeigesteuerung während eines Rollbacks durchführt. Das heißt, es gibt keine Beschränkung hinsichtlich der Konfiguration, bei der nur das CGW 13 eine Funktion der Anzeigesteuerungsvorrichtung aufweist, und die Funktion der Anzeigesteuerungsvorrichtung kann zwischen der CGW 13 und der fahrzeugeigenen Anzeige-ECU 7 verteilt bzw. aufgeteilt werden, oder die Funktion der Anzeigesteuerungsvorrichtung kann zwischen dem CGW 13 und der Zentrumsvorrichtung 3 verteilt bzw. aufgeteilt werden.
  • Im Folgenden wird ein Anzeigen einer Neuschreibfortschrittssituation mit Bezug auf die 134 bis 142 beschrieben. Wie es in 134 dargestellt ist, zeigt das Anzeigeendgerät 5 die Gesamtfortschrittssituation als „normales Neuschreiben“ beim Anzeigen der Neuschreibfortschrittssituation während der normalen Zeit an und erlaubt es somit dem Nutzer, zu erkennen, dass die Anzeige eine Anzeige der Neuschreibfortschrittssituation zu normaler Zeit ist. Das „normale Neuschreiben“ kann als „Installation“ angezeigt werden. Gemäß einem ersten Aspekt zeigt das Anzeigeendgerät 5 die Neuschreibfortschrittssituation zu bzw. bei normaler Zeit an.
  • Das Anzeigeendgerät 5 zeigt den Fortschrittszustand als „Warten auf einen Synchronisationsbefehl“ für die Neuschreibziel-ECU 19 an, die ein Neuschreiben eines Applikationsprogramms beendet hat und auf einen Synchronisationsbefehl zur Aktivierung des Aktualisierungsprogramms wartet, und zeigt den Fortschrittszustand als „normales Neuschreiben“ für die Neuschreibziel-ECU 19 an, die ein Applikationsprogramm neu schreibt. Das „Warten auf einen Synchronisationsbefehl“ kann als „Warten auf eine Aktivierung“ angezeigt werden. Das „normale Neuschreiben dauert an“ kann als „Installation dauert an“ angezeigt werden. 134 stellt beispielhaft einen Fall dar, in dem die ECU (ID0001) und die ECU (ID0002) das Neuschreiben der Applikationsprogramme beendet haben und auf einen Synchronisationsbefehl warten und sich die ECU (ID0003) in einem Normal-Neuschreib-Fortschrittszustand befindet.
  • Wenn in diesem Zustand eine Abbruchanfrage erzeugt wird, wie es beispielsweise in 135 dargestellt ist, zeigt das Anzeigeendgerät 5 z.B. eine Pop-up-Nachricht wie „Abbruch wurde empfangen; der Zustand vor dem Neuschreiben wird wiederhergestellt; bitte eine Weile warten“ an, und somit ist es dem Nutzer möglich, zu erkennen, dass der Abbruch empfangen bzw. akzeptiert wurde. Gemäß einem zweiten Aspekt führt das Anzeigeendgerät 5 das Anzeigen derart durch, dass angegeben wird, dass der Abbruch empfangen bzw. akzeptiert wurde.
  • Wenn sich das CGW 13 auf ein Neuschreiben während eines Rollbacks vorbereitet, zeigt das Anzeigeendgerät 5 die Gesamtfortschrittssituation als „Rollback-Neuschreiben“ an, wie es in 136 dargestellt ist, und ermöglicht es dem Nutzer, zu erkennen, dass die Anzeige eine Anzeige der Neuschreibfortschrittssituation während eines Rollbacks ist. Das „Rollback-Neuschreiben“ kann als „Deinstallation“ angezeigt werden. Das Anzeigeendgerät 5 zeigt die Fortschrittssituation sämtlicher Neuschreibziel-ECUs 19 als „Warten auf Rollback“ an und zeigt einen numerischen Wert in einer Fortschrittsgrafik an, der die Neuschreibfortschrittssituation als „0%“ angibt. Das „Warten auf Rollback“ kann als „Warten auf Deinstallation“ angezeigt werden. Hier sind die ECU (ID0001) und die ECU (ID0002) Beispiele für Einzelbankspeicher-ECUs, und die ECU (ID0003) ist ein Beispiel einer Doppelbankspeicher-ECU, und es wird ein Rollback für die ECU (ID0001) und die ECU (ID0002), in denen die Installation beendet wurde, zusätzlich zu der ECU (ID0003), in der das Neuschreiben durchgeführt wurde, benötigt. 136 stellt einen Aspekt dar, bei dem eine Gesamtfortschrittssituation angezeigt wird, und es wird die Fortschrittssituation jeder Neuschreibziel-ECU 19 angezeigt.
  • Wenn das Neuschreiben während eines Rollbacks initiiert ist, zeigt das CGW 13 den Fortschrittszustand der Neuschreibziel-ECU 19 in einem Neuschreibzustand als „Rollback-Neuschreiben dauert an (oder Deinstallation dauert an)“ an, wie es in 137 dargestellt ist. Gemäß einem dritten Aspekt zeigt das Anzeigeendgerät 5 die Neuschreibfortschrittssituation während eines Rollbacks an. 137 stellt beispielhaft einen Fall dar, in dem die ECU (ID0003) sich in einem Rollback-Neuschreib-Fortschrittszustand befindet. Wenn das Rollback für die Neuschreibziel-ECU 19 beendet wurde, zeigt das Anzeigeendgerät 5 den Fortschrittszustand als „Rollback beendet“ an und zeigt die Fortschrittssituation für die Neuschreibziel-ECU 19, die das Neuschreiben beendet hat, als 100% an, wie es in 138 dargestellt ist.
  • In einem Fall, in dem die Rollback-Ziel-ECU 19 eine Einzelbankspeicher-ECU ist und die gesamten Daten neu zu schreiben sind, bewirkt das Anzeigeendgerät 5, dass die Anzeige der Fortschrittsgrafik sich ändert, wie es in 139 dargestellt ist. Das heißt, in einem Fall, in dem die Rollback-Ziel-ECU 19 eine Einzelbankspeicher-ECU ist und die gesamten Daten neu zu schreiben sind, wird eine Verteilung der gesamten Daten unmittelbar gestoppt, und es werden Daten des alten Applikationsprogramms in den Flash-Speicher in der Neuschreibziel-ECU 19 geschrieben, in die das alte Applikationsprogramm neu zu schreiben ist (erster Rollback-Prozess).
  • Wenn beispielsweise eine Abbruchanfrage in einer Stufe erzeugt wird, in der ein normales Neuschreiben bis zu „50%“ beendet wurde (139(a)), zeigt das Anzeigeendgerät 5 den numerischen Wert der Fortschrittsgrafik als „0%“ an (139(b)), erhöht den numerischen Wert der Fortschrittsgrafik entsprechend dem Fortschritt des Schreibens der Daten des alten Applikationsprogramms und schreibt die Daten neu in das alte Applikationsprogramm (139(c), 139(d) und 139(e)). Wenn das Neuschreiben in das alte Applikationsprogramm zu 100% beendet wurde, zeigt das Anzeigeendgerät 5 an, dass die Neuschreibziel-ECU 19 „das Rollback beendet hat“. 139 und die 140 bis 142, die später beschrieben werden, stellen eine Fortschrittsanzeige der einzelnen ECUs dar.
  • Wenn die Rollback-Ziel-ECU 19 eine Einzelbankspeicher-ECU ist und Differenzdaten neu zu schreiben sind, bewirkt das Anzeigeendgerät 5, dass die Anzeige der Fortschrittsgrafik sich ändert, wie es in 140 oder 141 dargestellt ist. Das heißt, wenn die Rollback-Ziel-ECU 19 ein Einzelbankspeicher ist und die Differenzdaten neu zu schreiben sind, setzt das CGW 13 das Verteilung der Differenzdaten fort, schreibt die Differenzdaten in den Flash-Speicher in der Neuschreibziel-ECU 19 und schreibt somit die Differenzdaten neu in das neue Applikationsprogramm. Das CGW 13 verteilt die Daten des alten Applikationsprogramms an die Neuschreibziel-ECU 19, schreibt die alten Daten in den Flash-Speicher in der Neuschreibziel-ECU 19 und schreibt somit die alten Daten neu in das alte Applikationsprogramm (zweiter Rollback-Prozess).
  • Wenn beispielsweise eine Abbruchanfrage in einer Stufe erzeugt wird, in der ein normales Neuschreiben (Installation) bis zu „50%“ beendet wurde (140(a) und 141(a)), zeigt das Anzeigeendgerät 5 einen numerischen Wert der Fortschrittsgrafik als „0%“ an (140(b) und 141(b)). Die Neuschreibziel-ECU 19 validiert die Differenzdaten, die insoweit geschrieben wurden, und setzt das Schreiben der Differenzdaten fort, die von dem CGW 13 verteilt werden. Das heißt, die Fortschrittsanzeige, die angibt, wie weit eine Installation beendet wurde, wechselt von der Anzeige von „0%“ in einen Anteil, der der Validierung von „50%“ entspricht (140(c) und 141 (c)). Das Anzeigeendgerät 5 erhöht den numerischen Wert der Fortschrittsgrafik entsprechend dem Fortschritt, mit dem die Neuschreibziel-ECU 19 die Differenzdaten des neuen Programms schreibt, das von dem CGW 13 verteilt wird (140(d), 140(e), 141(d) und 141(e)). Nachdem die Neuschreibziel-ECU 19 das Neuschreiben des neuen Applikationsprogramms beendet hat, erhöht das Anzeigeendgerät 5 anschließend den numerischen Wert der Fortschrittsgrafik entsprechend dem Fortschritt, mit dem die Neuschreibziel-ECU 19 die Differenzdaten des alten Applikationsprogramms, das von dem CGW 13 verteilt wird, schreibt (140(f), 140(g), 141(f) und 141(g)). Das heißt, das Anzeigeendgerät 5 zeigt die Fortschrittssituation eines Schreibens des neuen Programms und die Fortschrittssituation eines Schreibens des alten Programms entsprechend dem Auftreten einer kontinuierlichen Installation des neuen Programms und einer Installation des alten Programms als Rollback-Prozess an.
  • Wie es in 140 dargestellt ist, kann in diesem Fall das Anzeigeendgerät 5 einen Neuschreibanteil des neuen Applikationsprogramms als „100%“ in der Fortschrittsgrafik links anzeigen und kann einen Neuschreibanteil des alten Applikationsprogramms als „100%“ in der Fortschrittsgrafik rechts anzeigen, sodass die gesamte Breite der Fortschrittsgrafik „200%“ sein kann. In diesem Fall berechnet das Anzeigeendgerät 5 einen Fortschrittsprozentsatz des neuen Applikationsprogramms auf der Grundlage einer Dateigröße des neuen Applikationsprogramms und einer kumulativen Datengröße des geschriebenen neuen Applikationsprogramms, berechnet einen Fortschrittsprozentsatz des alten Applikationsprogramms auf der Grundlage einer Dateigröße des alten Applikationsprogramms und einer kumulativen Datengröße des geschriebenen alten Applikationsprogramms und zeigt somit die Fortschrittssituation an.
  • Wie es in 141 dargestellt ist, kann das Anzeigeendgerät 5 außerdem die Gesamtbreite der Fortschrittsgrafik auf „100%“ durch Einstellen eines Neuschreibanteils des neuen Applikationsprogramms auf „50%“ und Einstellen eines Neuschreibanteils des alten Applikationsprogramms auf „50%“ einstellen. In diesem Fall berechnet das Anzeigeendgerät 5 einen Fortschrittsprozentsatz auf der Grundlage eines Summenwertes aus der Dateigröße des geschriebenen neuen Applikationsprogramms und der Dateigröße des alten Applikationsprogramms und eines Summenwertes der kumulativen Datengröße des neuen Applikationsprogramms und der kumulativen Datengröße des alten Applikationsprogramms und zeigt diesen an.
  • In einem Fall, in dem die Rollback-Ziel-ECU 19 einem Neuschreiben in einer Einzelbank-Suspendierungs-Speicher-ECU oder einer Doppelbankspeicher-ECU unterzogen wird, wie es in 142 dargestellt ist, bewirkt das Anzeigeendgerät 5, dass die Anzeige der Fortschrittsgrafik sich ändert. Das heißt, in einem Fall eines Neuschreibens, wenn die Rollback-Ziel-ECU 19 eine Einzelbank-Suspendierungs-Speicher-ECU oder eine Doppelbankspeicher-ECU ist, setzt das CGW 13 die Verteilung der Schreibdaten an die Neuschreibziel-ECU 19 fort, schreibt die Schreibdaten in die inaktive Bank in der Neuschreibziel-ECU 19 und schreibt die Schreibdaten in das neue Applikationsprogramm neu (dritter Rollback-Prozess).
  • Wenn beispielsweise eine Abbruchanfrage in einer Stufe erzeugt wird, in der ein normales Neuschreiben (Installation) bis zu „50%“ beendet wurde (142(a)), zeigt das Anzeigeendgerät 5 den numerischen Wert der Fortschrittsgrafik als „0%“ an (142(b)). Die Neuschreibziel-ECU 19 validiert die Differenzdaten, die insoweit geschrieben wurden, und setzt das Schreiben der Differenzdaten, die von dem CGW 13 verteilt werden, fort. Das heißt, die Fortschrittsanzeige, die angibt, wie weit eine Installation beendet wurde, wechselt von der Anzeige von „0%“ zu einem Anteil, der der Validierung von „50%“ entspricht (142(c)). Das Anzeigeendgerät 5 erhöht den numerischen Wert der Fortschrittsgrafik entsprechend dem Fortschritt, mit dem die Neuschreibziel-ECU 19 die Schreibdaten, die von dem CGW 13 verteilt werden, schreibt (142(d) und 142(e)). In der vorliegenden Ausführungsform wurde ein Fall beschrieben, bei dem das CGW 13 den Neuschreibfortschrittssituations-Anzeigesteuerungsprozess durchführt, aber das Anzeigeendgerät 5 kann den Neuschreibfortschrittssituations-Anzeigesteuerungsprozess durchführen.
  • Da wie oben beschrieben der Neuschreibfortschrittssituations-Anzeigesteuerungsprozess durchgeführt wird, zeigt das Anzeigeendgerät 5 eine Fortschrittssituation gemäß einem Anzeigeaspekt einer Unterscheidung eines Neuschreibens eines Applikationsprogramms zwischen einem Neuschreiben (Installation) während der normalen Zeit und einem Neuschreiben (Deinstallation) während eines Rollbacks auf der Grundlage des Rollback-Prozesses an. Der Nutzer kann nach Empfangen eines Abbruches eines Aktualisierungsprogramms erkennen, dass ein Rollback fortschreitet. Auch wenn die Konfiguration eines Anzeigens einer Fortschrittssituation für eine jeweilige Neuschreibziel-ECU 19 oben beschrieben wurde, kann eine Konfiguration eines gemeinsamen Anzeigens einer Fortschrittssituation für die Neuschreibziel-ECUs 19 verwendet werden, wie es in 143 gezeigt ist. In diesem Fall zeigt das Anzeigeendgerät 5 einen einzigen Fortschrittszustand anstelle individueller Anzeigefortschrittszustände für die drei Neuschreibziel-ECUs 19 an. Das CGW 13 berechnet den Fortschritt auf der Grundlage eines Anteils der Menge von geschriebenen Daten zu der Gesamtmenge von Schreibdaten, die in den drei Neuschreibziel-ECUs 19 erzeugt werden, als Rollback-Prozess.
  • Differenzdatenkonsistenzbestimmungsprozess
  • Der Differenzdatenkonsistenzbestimmungsprozess wird mit Bezug auf die 144 bis 147 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Differenzdatenkonsistenzbestimmungsprozess durch, bevor eine Installation in der Neuschreibziel-ECU 19 initiiert wird.
  • Wie es in 144 dargestellt ist, enthält die ECU 19 in der Differenzdatenkonsistenzbestimmungseinheit 103 eine Differenzdatenbeschaffungseinheit 103a, eine Konsistenzbestimmungseinheit 103b, eine Schreibdatenwiederherstellungseinheit 103c, eine Datenschreibeinheit 103d, eine Datenverifizierungswertberechnungseinheit 103e, eine Neuschreibspezifikationsdaten-Beschaffungseinheit 103f, eine Datenidentifikationsinformationsbeschaffungseinheit 103g und eine Neuschreibbankinformationsbeschaffungseinheit 103h.
  • Die Differenzdatenbeschaffungseinheit 103a beschafft Differenzdaten, die verwendet werden, um einen Datenspeicherbereich einer elektronischen Steuerungseinheit, die die Neuschreibziel-ECU 19 ist, und die eine Differenz zwischen alten Daten und neuen Daten angeben, neu zu schreiben. Die Konsistenzbestimmungseinheit 103b bestimmt, ob die Differenzdaten konsistent mit einem Datenspeicherbereich oder Speicherdaten sind, auf der Grundlage der ersten Bestimmungsinformationen betreffend die Speicherdaten, die in dem Datenspeicherbereich des Flash-Speichers gespeichert sind, und der zweiten Bestimmungsinformationen, die auf eine mit den Differenzdaten verbundene Weise beschafft werden. Die ersten Bestimmungsinformationen sind beispielsweise ein Datenverifizierungswert für die Speicherdaten, und die zweiten Bestimmungsinformationen sind ein Datenverifizierungswert für alte Daten oder ein Datenverifizierungswert für neue Daten. Die Schreibdatenwiederherstellungseinheit 103c stellt Schreibdaten unter Verwendung der Differenzdaten und der Speicherdaten wieder her, wenn durch die Konsistenzbestimmungseinheit 103b bestimmt wird, dass die Konsistenz der Differenzdaten positiv ist, und stellt die Schreibdaten nicht wieder her, wenn durch die Konsistenzbestimmungseinheit 103b bestimmt wird, dass die Konsistenz der Differenzdaten negativ ist. Wenn die Schreibdaten durch die Schreibdatenwiederherstellungseinheit 103c wiederhergestellt sind, speichert die Datenschreibeinheit 103d die wiederhergestellten Schreibdaten in dem Datenspeicherbereich. Die Datenverifizierungswertberechnungseinheit 103e berechnet einen Datenverifizierungswert für die jeweiligen Blöcke, die durch Unterteilen der Speicherdaten in einen oder mehrere Blöcke erhalten werden. Die Datenverifizierungswertberechnungseinheit 103e beschafft den Datenverifizierungswert für jeden Block, der zusammen mit den Differenzdaten empfangen wird.
  • Die Neuschreibspezifikationsdaten-Beschaffungseinheit 103f beschafft entsprechende Neuschreibspezifikationsdaten in den CGW-Neuschreibspezifikationsdaten von dem CGW 13. Die Datenidentifikationsinformationsbeschaffungseinheit 103g beschafft Datenidentifikationsinformationen, die in den Differenzdaten gespeichert sind, und Datenidentifikationsinformationen eines alten Applikationsprogramms, das die alten Daten bildet. Die Datenidentifikationsinformationen sind Informationen zum Identifizieren, ob die Differenzdaten Daten für die ECU sind, und sind beispielsweise Daten, die durch Anwenden eines vorbestimmten Algorithmus auf die alten Daten berechnet werden.
  • Die Neuschreibbankinformationsbeschaffungseinheit 103h beschafft Neuschreibbankinformationen, die in den Neuschreibspezifikationsdaten gespeichert sind, die von dem CGW 13 beschafft werden, und Neuschreibbankinformationen des alten Applikationsprogramms, die alte Daten sind. Die Neuschreibbankinformationen sind Informationen, die angeben, in welche Bank des Flash-Speichers die Differenzdaten, die die Schreibdaten sind, zu schreiben sind. In einem Fall, in dem die Neuschreibziel-ECU 19 ein Doppelbankspeicher oder ein Einzelbank-Suspendierungs-Speicher ist, wird die Bank A oder die Bank B bezeichnet. In einem Fall, in dem die Neuschreibziel-ECU 19 ein Einzelbankspeicher ist, werden die Neuschreibbankinformationen nicht verwendet. Wenn die Differenzdaten, die von dem CGW 13 verteilt werden, durch die Schreibdatenempfangseinheit 101 empfangen wurden, bestimmt die Konsistenzbestimmungseinheit 103b die Konsistenz der Differenzdaten unter Verwendung mindestens einer aus den Datenidentifikationsinformationen, dem Datenverifizierungswert und den Neuschreibbankinformationen.
  • Im Folgenden wird ein Betrieb der Differenzdatenkonsistenzbestimmungseinheit 103 in der Neuschreibziel-ECU 19 mit Bezug auf die 145 bis 147 beschrieben. Die Neuschreibziel-ECU 19 führt ein Differenzdatenkonsistenzbestimmungsprogramm aus und führt somit den Differenzdatenkonsistenzbestimmungsprozess durch. Wenn der Differenzdatenkonsistenzbestimmungsprozess initiiert ist, beschafft die Neuschreibziel-ECU 19 Datenidentifikationsinformationen, einen Datenverifizierungswert und Neuschreibbankinformationen betreffend Differenzdaten als erste Bestimmungsinformationen zum Bestimmen der Konsistenz der Differenzdaten (S1701). Die Neuschreibziel-ECU 19 beschafft Datenidentifikationsinformationen, einen Datenverifizierungswert von alten Daten, einen Datenverifizierungswert von neuen Daten und Neuschreibbankinformationen als zweite Bestimmungsinformationen (S1702).
  • Die Neuschreibziel-ECU 19 bestimmt, ob die Datenidentifikationsinformationen der ersten Bestimmungsinformationen mit den Datenidentifikationsinformationen der zweiten Bestimmungsinformationen übereinstimmen und ob die Neuschreibbankinformationen der ersten Bestimmungsinformationen mit den Neuschreibbankinformationen der zweiten Bestimmungsinformationen übereinstimmen (S1703). Wenn bestimmt wird, dass die Datenidentifikationsinformationen der ersten Bestimmungsinformationen nicht mit den Datenidentifikationsinformationen der zweiten Bestimmungsinformationen übereinstimmen, oder wenn die Neuschreibbankinformationen der ersten Bestimmungsinformationen nicht mit den Neuschreibbankinformationen der zweiten Bestimmungsinformationen übereinstimmen (S1703: Nein), bestimmt die Neuschreibziel-ECU 19, dass die Schreibdaten nicht richtig sind, teilt dem CGW 13 Fehlerinformationen mit und beendet den Differenzdatenkonsistenzbestimmungsprozess.
  • Wenn bestimmt wird, dass die Datenidentifikationsinformationen der ersten Bestimmungsinformationen mit den Datenidentifikationsinformationen der zweiten Bestimmungsinformationen übereinstimmen und dass die Neuschreibbankinformationen der ersten Bestimmungsinformationen mit den Neuschreibbankinformationen der zweiten Bestimmungsinformationen übereinstimmen (S1703: Ja), vergleicht die Neuschreibziel-ECU 19 den Datenverifizierungswert der ersten Bestimmungsinformationen mit dem Datenverifizierungswert der neuen Daten der zweiten Bestimmungsinformationen und bestimmt, ob beide Datenverifizierungswerte übereinstimmen (S1704; entspricht einem Konsistenzbestimmungsschritt). Wenn bestimmt wird, dass beide Datenverifizierungswerte nicht übereinstimmen (S1704: Nein), vergleicht die Neuschreibziel-ECU 19 den Datenverifizierungswert der ersten Bestimmungsinformationen mit dem Datenverifizierungswert der alten Daten der zweiten Bestimmungsinformationen und bestimmt, ob beide Datenverifizierungswerte übereinstimmen (S1705; entspricht einem Konsistenzbestimmungsschritt).
  • Wenn bestimmt wird, dass beide Datenverifizierungswerte übereinstimmen (S1705: Ja), stellt die Neuschreibziel-ECU 19 Schreibdaten wieder her (S1706; entspricht einem Schreibdatenwiederherstellungsschritt), schreibt die wiederhergestellten Schreibdaten in den Flash-Speicher (S1707; entspricht einem Datenschreibschritt) und bestimmt, ob ein Schreiben der gesamten Schreibdaten beendet wurde (S1708). Wenn bestimmt wird, dass das Schreiben der gesamten Schreibdaten nicht beendet wurde (S1708: Nein), kehrt die Neuschreibziel-ECU 19 zum Schritt S1703 zurück und führt Schritt S1703 und die anschließenden Schritte wieder durch. Wenn bestimmt wird, dass das Schreiben der gesamten Schreibdaten beendet wurde (S1708: Ja), beendet die Neuschreibziel-ECU 19 den Differenzdatenkonsistenzbestimmungsprozess.
  • Wenn bestimmt wird, dass der Datenverifizierungswert der ersten Bestimmungsinformationen nicht mit dem Datenverifizierungswert der neuen Daten der zweiten Bestimmungsinformationen übereinstimmt bzw. dazu passt (S1704: Nein), und wenn bestimmt wird, dass der Datenverifizierungswert der ersten Bestimmungsinformationen nicht mit dem Datenverifizierungswert der alten Daten der zweiten Bestimmungsinformationen übereinstimmt bzw. dazu passt (S1705: Nein), bestimmt die Neuschreibziel-ECU 19, ob ein Schreiben für einen ersten Block durchgeführt wird (S1709).
  • Wenn bestimmt wird, dass das Schreiben für den ersten Block durchgeführt wird (S1709: Ja), bestimmt die Neuschreibziel-ECU 19, ob das Schreiben der gesamten Schreibdaten beendet ist, da zuvor das Schreiben für den ersten Block nicht beendet wurde (S1708). Wenn bestimmt wird, dass das Schreiben für den ersten Block nicht durchgeführt wird, das heißt, dass das Schreiben für einen zweiten Block und die anschließenden Blöcke durchgeführt wird (S1709: Nein), versucht die Neuschreibziel-ECU 19 erneut das Schreiben (S1710) und bestimmt, ob das Schreiben der gesamten Schreibdaten beendet wurde (S1708).
  • Es wird ein Fall mit Bezug auf 146 beschrieben, bei dem die Neuschreibziel-ECU 19 eine Einzelbankspeicher-ECU ist. Es werden Datenidentifikationsinformationen (alt) und ein CRC-Wert (Datenverifizierungswert), der jeweils für jeden Block alter Daten berechnet wird, den Differenzdaten hinzugefügt, die von dem CGW 13 verteilt werden. Die Datenidentifikationsinformationen (alt) sind Daten, die durch Anwenden eines vorbestimmten Algorithmus auf die alten Daten (altes Applikationsprogramm) berechnet werden. Wenn die Datenidentifikationsinformationen als Bestimmungsinformationen verwendet werden, vergleicht die Neuschreibziel-ECU 19 die Datenidentifikationsinformationen (alt), die an die Differenzdaten angehängt sind, mit den Datenidentifikationsinformationen (alt) des Programms (alte Daten), das in dem Flash-Speicher gespeichert ist, und bestimmt die Konsistenz der Differenzdaten. Die Datenidentifikationsinformationen (alt), die in dem Flash-Speicher gespeichert sind, sind Informationen, die zusammen gespeichert werden, wenn das Programm in den Flash-Speicher der Neuschreibziel-ECU 19 geschrieben wird. Alternativ kann eine vorbestimmte Anzahl von Bits von einer führenden Adresse des Programms, das in den Flash-Speicher geschrieben ist, als Datenidentifikationsinformationen (alt) betrachtet werden.
  • Wenn der Datenverifizierungswert als Bestimmungsinformationen verwendet wird, berechnet die Neuschreibziel-ECU 19 einen CRC-Wert für jeden Block des Programms, das in dem Flash-Speicher gespeichert ist, vergleicht einen CRC-Wert (CRC (B1 bis Bn)) für die alten Daten, der an die empfangenen Differenzdaten angehängt ist, und einen CRC-Wert (CRC (B1' bis Bn')) für die neuen Daten mit dem berechneten CRC-Wert und bestimmt die Konsistenz der Differenzdaten. Wenn kein neues Programm in den Flash-Speicher geschrieben ist, stimmt der empfangene CRC-Wert in sämtlichen Blöcken mit dem berechneten CRC-Wert überein. In einem Fall, in dem das Schreiben in einem Zustand gestoppt wurde, in dem das neue Programm bis zu m (< n) Blöcke des Flash-Speichers geschrieben wurde, und das Schreiben wiederaufgenommen wird, stimmt der berechnete CRC-Wert mit dem CRC-Wert (CRC (B' bis Bn') der neuen Daten in den Blöcken 1 bis m überein, und somit überspringt die Neuschreibziel-ECU 19 einen Schreibprozess (S1706 und S1707). Die Neuschreibziel-ECU 19 führt den Schreibprozess (S1706 und S1707) ab dem Block m+1 durch Prüfen einer Übereinstimmung mit dem CRC-Wert (CRC (B1 bis Bn)) für die alten Daten durch.
  • Es werden Datenidentifikationsinformationen (neu) eines neuen Programms (neue Daten) und jeweils ein CRC-Wert (CRC (B1' bis Bn')) für einen jeweiligen Block den Differenzdaten angehängt bzw. hinzugefügt. Die Neuschreibziel-ECU 19 schreibt die Differenzdaten in den Flash-Speicher, speichert die Datenidentifikationsinformationen (neu) zusammen damit, wenn das neue Programm installiert wird, und verwendet die Differenzdaten, um die Konsistenz in der neuen Programmaktualisierung zu bestimmen. Wenn die Installation des neuen Programms beendet ist, liest die Neuschreibziel-ECU 19 das neue Programm, das in den Flash-Speicher geschrieben ist, für jeden Block bzw. blockweise aus, berechnet einen CRC-Wert, vergleicht den CRC-Wert mit dem CRC-Wert, der an die Differenzdaten angehängt ist, und verifiziert, ob das neue Programm richtig geschrieben wurde.
  • Es wird mit Bezug auf 147 ein Fall beschrieben, in dem die Neuschreibziel-ECU 19 eine Doppelbankspeicher-ECU ist. Wenn der Datenverifizierungswert als Bestimmungsinformationen verwendet wird, berechnet die Neuschreibziel-ECU 19 auch in diesem Fall einen CRC-Wert für jeden Block des Programms, das in dem Flash-Speicher gespeichert ist, vergleicht den jeweiligen CRC-Wert (CRC (B1 bis Bn)) für die alten Daten, der an die empfangenen Differenzdaten angehängt ist, und den jeweiligen CRC-Wert (CRC (B1' bis Bn') für die neuen Daten mit dem berechneten CRC-Wert und bestimmt die Konsistenz der Differenzdaten. Wenn kein neues Programm in den Flash-Speicher geschrieben wurde, stimmt der empfangene CRC-Wert für sämtliche Blöcken mit dem berechneten CRC-Wert überein. In einem Fall, in dem das Schreiben in einem Zustand gestoppt wurde, in dem das neue Programm bis zu m (< n) Blöcke des Flash-Speichers geschrieben wurde, und das Schreiben wiederaufgenommen wird, stimmt der berechnete CRC-Wert mit dem CRC-Wert (CRC (B1' bis Bn') der neuen Daten in den Blöcken 1 bis m überein, und somit überspringt die Neuschreibziel-ECU 19 einen Schreibprozess (S1706 und S1707). Die Neuschreibziel-ECU 19 führt den Schreibprozess (S1706 und S1707) ab dem Block m+1 durch Prüfen einer Übereinstimmung mit dem CRC-Wert (CRC (B1 bis Bn)) für die alten Daten durch.
  • Es wird angenommen, dass die Bank A des Flash-Speichers eine aktive Bank ist und die Version 2.0 aufweist, dessen Bank B eine inaktive Bank ist und die Version 1.0 aufweist und die Differenzdaten Differenzdaten (Differenzdaten zwischen der Version 1.0 und der Version 3.0) zum Aktualisieren der Bank B auf die Version 3.0 sind. Den Differenzdaten, die von dem CGW 13 verteilt werden, sind Datenidentifikationsinformationen (Informationen, die „alt“ (Version 1.0) angeben), CRC-Werte, die für die jeweiligen Blöcke der alten Daten (altes Programm (Version 1.0)) berechnet wurden, und CRC-Werte, die für die jeweiligen Blöcke der neuen Daten (neues Programm (Version 3.0)) berechnet wurden, angehängt.
  • Die Neuschreibspezifikationsdaten enthalten Neuschreibbankinformationen, die angeben, in welche Bank des Flash-Speichers die Differenzdaten für die Neuschreibziel-ECU 19 zu schreiben sind. In einem Fall, in dem die Neuschreibbankinformationen als Bestimmungsinformationen verwendet werden, vergleicht die Neuschreibziel-ECU 19 die Neuschreibbankinformationen, die aus den Neuschreibspezifikationsdaten beschafft werden, mit Inaktive-Bank-Informationen (Bank B) der Neuschreibziel-ECU 19 und bestimmt die Konsistenz der Differenzdaten. In einem Fall, in dem die Datenidentifikationsinformationen als Bestimmungsinformationen verwendet werden, vergleicht die Neuschreibziel-ECU 19 die Datenidentifikationsinformationen (alt (Version 1.0)), die an die Differenzdaten angehängt sind, mit den Datenidentifikationsinformationen (alt) des alten Programms (Version 1.0), das in der inaktiven Bank (Bank B) des Flash-Speichers gespeichert ist, und bestimmt die Konsistenz der Differenzdaten. In einem Fall, in dem der Datenverifizierungswert als Bestimmungsinformationen verwendet wird, berechnet die Neuschreibziel-ECU 19 einen CRC-Wert für jeden Block des alten Programms (Version 1.0), das in der inaktiven Bank (Bank B) des Flash-Speichers gespeichert ist, vergleicht den jeweiligen CRC-Wert (CRC (B1 bis Bn)), der an die Differenzdaten angehängt ist, mit dem jeweiligen berechneten CRC-Wert und bestimmt die Konsistenz der Differenzdaten.
  • In den Beispielen, die in den oben beschriebenen 143 und 144 dargestellt sind, wurde beschrieben, dass die Datenidentifikationsinformationen und die Datenverifizierungswerte an die Differenzdaten angehängt sind bzw. zu diesen hinzugefügt sind und von dem CGW 13 zusammen mit den Differenzdaten verteilt werden. Die Datenidentifikationsinformationen und die Datenverifizierungswerte können jedoch als Header-Informationen bzw. Kopfinformationen der Differenzdaten hinzugefügt bzw. angehängt werden, und die Header-Informationen können an die Neuschreibziel-ECU 19 verteilt werden, bevor das CGW 13 die Differenzdaten an die Neuschreibziel-ECU 19 verteilt. Wenn die Header-Informationen von dem CGW 13 empfangen wurden, bestimmt die Neuschreibziel-ECU 19 die Konsistenz der Differenzdaten unter Verwendung der Datenidentifikationsinformationen und der Datenverifizierungswerte.
  • In den 143 und 144 wurde beispielhaft ein Fall beschrieben, bei dem die Neuschreibdaten Differenzdaten sind, aber dasselbe gilt für einen Fall, in dem die Neuschreibdaten die gesamten Daten sind. In einem Fall, in dem die Neuschreibziel-ECU 19 einen Einzelbankspeicher aufweist, wird dieselbe Konsistenzbestimmung durchgeführt, wenn die Rollback-Differenzdaten verwendet werden, um in dem Speicher zu einer Originalversion zurückzukehren.
  • Wie es oben beschrieben wurde, führt die Neuschreibziel-ECU 19 den Differenzdatenkonsistenzbestimmungsprozess durch, schreibt somit Schreibdaten, die auf der Grundlage der Differenzdaten erzeugt werden, nur in einem Fall, in dem die Konsistenz der Differenzdaten positiv ist, und verhindert eine Situation, in der Schreibdaten, die auf der Grundlage der Differenzdaten erzeugt werden, in einem Fall geschrieben werden, in dem die Konsistenz der Differenzdaten negativ ist. In einem Fall beispielsweise, in dem Differenzdaten, die in die Bank A zu schreiben sind, in einem Verteilungspaket für die Neuschreibziel-ECU 19 enthalten sind, in der die Bank B des Flash-Speichers keine inaktive Bank ist, kann eine Inkonsistenz erfasst werden, bevor die Differenzdaten in den Flash-Speicher geschrieben werden. In einem Fall, in dem Differenzdaten für andere ECUs oder Differenzdaten, deren Version inkonsistent ist, in einem Verteilungspaket als Differenzdaten für die Neuschreibziel-ECU enthalten sind, kann eine Inkonsistenz erfasst werden, bevor die Differenzdaten in den Flash-Speicher geschrieben werden.
  • In einem Fall, in dem die Neuschreibziel-ECU 19 stoppt und dann das Schreiben der Schreibdaten wiederaufnimmt, bestimmt die Neuschreibziel-ECU 19 die Konsistenz der Differenzdaten auf der Grundlage des Datenverifizierungswertes für die Speicherdaten in dem Flash-Speicher, und des Datenverifizierungswertes der alten Daten und des Datenverifizierungswertes der neuen Daten, die den empfangenen Differenzdaten zugeordnet sind. Die Neuschreibziel-ECU 19 kann die Konsistenz der Differenzdaten auf der Grundlage des Datenverifizierungswertes für die Speicherdaten und des Datenverifizierungswertes der empfangenen neuen Daten bestimmen und kann die Konsistenz der Differenzdaten auf der Grundlage des Datenverifizierungswertes für die Speicherdaten und des Datenverifizierungswertes der empfangenen alten Daten ab dem letzten Block, für den ein Bestimmungsergebnis negativ ist, bestimmen.
  • Die Neuschreibziel-ECU 19 überspringt das Schreiben der Schreibdaten mindestens bis zu dem vorhergehenden Block des letzten Blockes, für den die Konsistenz der Differenzdaten als negativ bestimmt wurde, und nimmt das Schreiben der Schreibdaten ab dem letzten Block oder dem an den letzten Block anschließenden Block wieder auf. In einem Fall, in dem eine Blockgröße dieselbe wie eine Datengröße eines Schreibbereiches für die Schreibdaten ist, ist es ausreichend, das Schreiben bis zu dem letzten Block zu überspringen und das Schreiben ab dem letzten Block wiederaufzunehmen, da das Schreiben der Schreibdaten bis zu dem letzten Block beendet wurde. In einem Fall andererseits, in dem die Blockgröße nicht dieselbe wie die Datengröße des Schreibbereiches es für die Schreibdaten ist, kann das Schreiben der Schreibdaten in dem letzten Block gestoppt werden, und somit ist es notwendig, das Schreiben ab dem letzten Block wiederaufzunehmen.
  • Neuschreibausführungssteuerungsprozess
  • Der Neuschreibausführungssteuerungsprozess wird mit Bezug auf die 148 bis 155 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Neuschreibausführungssteuerungsprozess in der ECU 19 aus.
  • Wie es in 148 dargestellt ist, enthält die ECU 19 eine Programmausführungseinheit 104a, eine Wechselanfrageempfangseinheit 104b, eine Datenbeschaffungseinheit 104c, eine Bankinformationsmitteilungseinheit 104d, eine Firmware-Beschaffungseinheit 104e, eine Installationsausführungseinheit 104f und eine Aktivierungsausführungseinheit 104g in der Neuschreibausführungssteuerungseinheit 104. Die Programmausführungseinheit 104a beschreibt eine inaktive Bank durch Ausführen eines Neuschreibprogramms in einer aktiven Bank neu, während ein Applikationsprogramm und Parameterdaten in der aktiven Bank ausgeführt werden. Die Wechselanfrageempfangseinheit 104b empfängt eine Aktivierungsanfrage von dem CGW 13. Die Datenbeschaffungseinheit 104c beschafft Schreibdaten für einen Bereich der inaktiven Bank, der von der Außenseite neu beschrieben werden soll. Die Bankinformationsmitteilungseinheit 104d teilt der Außenseite die Doppelbankneuschreibinformationen mit (im Folgenden als Bankinformationen bezeichnet). Die Firmware-Beschaffungseinheit 104e beschafft eine Firmware eines Neuschreibprogramms von der Außenseite. Wenn ein Befehl zur Installation von dem CGW 13 ausgegeben wird, schreibt die Installationsausführungseinheit 104f Schreibdaten in den Flash-Speicher und führt die Installation aus. Wenn ein Befehl zur Aktivierung von dem CGW 13 ausgegeben wird, führt die Aktivierungsausführungseinheit 104g die Aktivierung zum Wechsel der aktiven Bank in Vorbereitung für einen Neustart aus.
  • Im Folgenden wird ein Betrieb der Neuschreibausführungssteuerungseinheit 104 in der ECU 19 mit Bezug auf die 149 bis 155 beschrieben. Die Neuschreibziel-ECU 19 führt ein Neuschreibausführungssteuerungsprogramm aus und führt somit den Neuschreibausführungssteuerungsprozess durch. Die Neuschreibziel-ECU 19 führt einen normalen Betriebsprozess, einen Neuschreibbetriebsprozess, einen Informationsmitteilungsprozess und einen Applikationsprogrammverifizierungsprozess als Neuschreibausführungssteuerungsprozess durch. Im Folgenden wird jeder Prozess beschrieben. In der vorliegenden Ausführungsform wird ein Fall beschrieben, bei dem die Neuschreibziel-ECU 19 eine Doppelbankspeicher-ECU oder eine Einzelbank-Suspendierungs-Speicher-ECU ist.
  • Normaler Betriebsprozess
  • Die Neuschreibziel-ECU 19 initiiert den normalen Betriebsprozess, wenn die Neuschreibziel-ECU 19 von dem Stoppzustand oder dem Schlafzustand in den aktiven Zustand aufgrund eines Einschaltens der IG-Leistung oder Ähnliches übergeht. Wenn der normale Betriebsprozess initiiert ist, bestimmt die Neuschreibziel-ECU 19 eine aktive Bank auf der Grundlage von Aktive-Bank-Bestimmungsinformationen hinsichtlich der Bank A und der Bank B (S1801) und wird mit der aktiven Bank gestartet (S1802). Die Neuschreibziel-ECU 19 verifiziert die Integrität eines Programms, das in der Startbank (aktive Bank) gespeichert ist, und bestimmt, ob das Ergebnis für die aktive Bank positiv ist (S1803).
  • Wenn bestimmt wird, dass ein Verifizierungsergebnis der Integrität der aktiven Bank negativ ist, und somit bestimmt wird, dass die aktive Bank negativ ist (S1803: Nein), überträgt die Neuschreibziel-ECU 19 Fehlerinformationen, die angeben, dass das Verifizierungsergebnis der Integrität der aktiven Bank negativ ist, an das CGW 13 (S1804) und beendet den normalen Betriebsprozess. Wenn die Fehlerinformationen von der Neuschreibziel-ECU 19 empfangen werden, überträgt das CGW 13 die Fehlerinformationen an das DCM 12. Wenn die Fehlerinformationen von dem CGW 13 empfangen werden, lädt das DCM 12 die empfangenen Fehlerinformationen in die Zentrumsvorrichtung 3 herauf. Das heißt, wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der aktiven Bank in der Neuschreibziel-ECU 19 negativ ist, wird dieses dem CGW 13, dem DCM 12 und der Zentrumsvorrichtung 3 mitgeteilt.
  • Wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der aktiven Bank positiv ist, und somit bestimmt wird, dass die aktive Bank positiv ist (S1803: Ja), verifiziert die Neuschreibziel-ECU 19 die Integrität des Programms, das in der Neuschreibbank (inaktive Bank) gespeichert ist, und bestimmt, ob das Ergebnis für die Neuschreibbank positiv ist (S1805).
  • Wenn bestimmt wird, dass ein Verifizierungsergebnis der Integrität der Neuschreibbank negativ ist, und somit bestimmt wird, dass ein Verifizierungsergebnis der Neuschreibbank negativ ist (S1805: Nein), überträgt die Neuschreibziel-ECU 19 Fehlerinformationen, die angeben, dass das Verifizierungsergebnis der Integrität der Neuschreibbank negativ ist, an das CGW 13 (S1806). Wenn die Fehlerinformationen von der Neuschreibziel-ECU 19 empfangen werden, überträgt das CGW 13 die Fehlerinformationen an das DCM 12. Wenn die Fehlerinformationen von dem CGW 13 empfangen werden, lädt das DCM 12 die empfangenen Fehlerinformationen in die Zentrumsvorrichtung 3 herauf. Das heißt, wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der Neuschreibbank in der Neuschreibziel-ECU 19 negativ ist, wird dieses dem CGW 13, dem DCM 12 und der Zentrumsvorrichtung 3 mitgeteilt.
  • Der oben beschriebene Integritätsverifizierungsprozess wird durch ein Boot-Programm ausgeführt, bevor ein Applikationsprogramm ausgeführt wird. Wenn die Integritätsverifizierung beendet ist, bestimmt die Neuschreibziel-ECU 19 eine Ortsadresse der Boot-Vektortabelle (S1807) und bestimmt eine Ortsadresse der Normalzeitvektortabelle (S1808), bestimmt eine führende Adresse des Applikationsprogramms (S1809), führt das Applikationsprogramm aus und beendet den normalen Betriebsprozess.
  • Neuschreibbetriebsprozess
  • Wenn eine Neuschreibanfrage von dem CGW 13 empfangen wird, initiiert die Neuschreibziel-ECU 19 den Neuschreibbetriebsprozess. Wenn der Neuschreibbetriebsprozess initiiert ist, führt die Neuschreibziel-ECU 19 eine Authentifizierung mit dem CGW 13 unter Verwendung eines Sicherheitszugangsschlüssels durch (S1811). Wenn bestimmt wird, dass das Authentifizierungsergebnis positiv ist (S1812: Ja), wartet die Neuschreibziel-ECU 19 auf zu empfangende Schreibdaten (S1813). Wenn bestimmt wird, dass die Schreibdaten von dem CGW 13 empfangen wurden (S1813: Ja), schreibt die Neuschreibziel-ECU 19 ein Applikationsprogramm, das in einer Neuschreibbank (inaktive Bank) angeordnet ist, neu, während ein Applikationsprogramm ausgeführt wird, das in einer Startbank (aktive Bank) angeordnet ist (S1814).
  • Es wird bestimmt, ob ein Neuschreiben des Applikationsprogramms beendet wurde (S1815), und wenn bestimmt wird, dass das Neuschreiben des Applikationsprogramms beendet wurde (S1815: Ja), bestimmt die Neuschreibziel-ECU 19, ob eine Verifizierung positiv ist (S1816). Wenn bestimmt wird, dass die Verifizierung positiv ist (S1816: Ja), setzt die Neuschreibziel-ECU 19 ein Neuschreibbeendigungs-Flag auf „OK“ (S1817). Die Verifizierung ist eine Verifizierung der Integrität des Applikationsprogramms, das in die inaktive Bank geschrieben wurde.
  • Die Neuschreibziel-ECU 19 bestimmt, ob eine Aktivierungsanfrage von dem CGW 13 empfangen wurde (S1818). Wenn bestimmt wird, dass eine Aktivierungsanfrage von dem CGW 13 empfangen wurde (S1818: Ja), inkrementiert die Neuschreibziel-ECU 19 beispielsweise einen numerischen Wert der Aktive-Bank-Informationen hinsichtlich der Neuschreibbank und aktualisiert somit die Aktive-Bank-Informationen hinsichtlich der Neuschreibbank (S1819). Das heißt, eine Aktualisierung in Informationen, die angeben, dass die Neuschreibziel-ECU 19 in der Neuschreibbank gestartet werden wird, wird danach durchgeführt. Es wird bestimmt, ob ein Versionslesesignal von dem CGW 13 empfangen wurde (S1820), und wenn bestimmt wird, dass das Versionslesesignal empfangen wurde (S1820: Ja), überträgt die Neuschreibziel-ECU 19 an das CGW 13 Versionsinformationen hinsichtlich der aktiven Bank, Versionsinformationen hinsichtlich der inaktiven Bank und Identifikationsinformationen zum Bestimmen, welche Bank die aktive Bank ist (S1821), und beendet den Neuschreibbetriebsprozess. Hier kann die Neuschreibziel-ECU 19 sämtliche Prozesse von S1811 bis S1821 entsprechend dem Applikationsprogramm in der aktiven Bank (alte Bank) vor einem Wechsel ausführen. Die Neuschreibziel-ECU 19 kann die Prozesse von S1811 bis S1819 entsprechend dem Applikationsprogramm in der aktiven Bank (alte Bank) vor einem Wechsel ausführen, und kann nach Durchführung von S1819 neu gestartet werden, um die Prozesse von S1820 bis S1821 entsprechend dem Applikationsprogramm in der aktiven Bank (neue Bank) nach einem Wechsel ausführen.
  • Informationsmitteilungsprozess
  • Die Neuschreibziel-ECU 19 initiiert den Informationsmitteilungsprozess, wenn die Neuschreibziel-ECU 19 von dem Stoppzustand oder dem Schlafzustand in den aktiven Zustand übergeht, oder wenn beispielsweise die IG-Leistung eingeschaltet wird oder eine Mitteilungsanfrage von dem CGW 13 empfangen wird. Wenn der Informationsmitteilungsprozess initiiert ist, teilt die Neuschreibziel-ECU 19 dem CGW 13 Identifikationsinformationen zum einzigartigen Bestimmen eines Applikationsprogramms und Parameterdaten betreffend eine aktive Bank oder eine inaktive Bank und Identifikationsinformationen zum einzigartigen Bestimmen eines Ortes, an dem die aktive Bank oder die inaktive Bank in dem Speicher angeordnet ist, mit. Das heißt, die Neuschreibziel-ECU 19 beschafft Aktive-Bank-Informationen hinsichtlich einer aktiven Bank (S1831) und überträgt die Aktive-Bank-Informationen an das CGW 13 (S1832). Die Neuschreibziel-ECU 19 überträgt an das CGW 13 Informationen, die angeben, welche Bank aus der Bank A und der Bank B die aktive Bank ist, Versionsinformationen der aktiven Bank und Ähnliches als Aktive-Bank-Informationen.
  • Wenn die Übertragung der Aktive-Bank-Informationen an das CGW 13 beendet wurde, beschafft die Neuschreibziel-ECU 19 Neuschreibbankinformationen (im Folgenden auch als Bankinformationen bezeichnet) hinsichtlich der Neuschreibbank (S1833) und überträgt die beschafften Neuschreibbankinformationen an das CGW 13 (S1834). Die Neuschreibziel-ECU 19 überträgt an das CGW 13 Informationen, die angeben, welche Bank aus der Bank A und der Bank B die Neuschreibbank ist, Versionsinformationen der Neuschreibbank und Ähnliches als Neuschreibbankinformationen. Wenn die Übertragung der Neuschreibbankinformationen an das CGW 13 beendet wurde, überträgt die Neuschreibziel-ECU 19 Identifikationsinformationen zum Bestimmen von Ortsadressen der aktiven Bank und der Neuschreibbank in dem Speicher an das CGW 13 (S1835) und beendet den Informationsmitteilungsprozess. Die Neuschreibziel-ECU 19 überträgt an das CGW 13 beispielsweise eine Initiierungsadresse und eine Endadresse der Bank A und eine Initiierungsadresse und eine Endadresse der Bank B in dem Flash-Speicher als Identifikationsinformationen zum Bestimmen von Adressen.
  • Neuschreibprogrammverifizierungsprozess
  • Wenn der Neuschreibprogrammverifizierungsprozess initiiert ist, bestimmt die Neuschreibziel-ECU 19, ob Identifikationsinformationen zum Bestimmen einer Adresse zum Ausführen eines Neuschreibprogramms beschafft wurden (S1841). Wenn bestimmt wird, dass die Identifikationsinformationen zum Bestimmen der Adresse zum Ausführen des Neuschreibprogramms beschafft wurden (S1841: Ja), bestimmt die Neuschreibziel-ECU 19, ob die Identifikationsinformationen mit den Aktive-Bank-Informationen der Neuschreibziel-ECU 19 übereinstimmen bzw. zu diesen passen (S1842). Insbesondere bestimmt die Neuschreibziel-ECU 19, ob die Bankinformationen, die die aktive Bank in den Aktive-Bank-Informationen angeben, mit den Identifikationsinformationen übereinstimmen bzw. zu diesen passen.
  • Wenn bestimmt wird, dass die Identifikationsinformationen mit den Aktive-Bank-Informationen der Neuschreibziel-ECU 19 übereinstimmen (S1842: Ja), beschafft die Neuschreibziel-ECU 19 das Neuschreibprogramm (S1843) und bestimmt, ob die Identifikationsinformationen zum Bestimmen einer Adresse zum Neuschreiben des Applikationsprogramms beschafft wurden (S1844). Hier beschafft die Neuschreibziel-ECU 19 in einem Fall einer Einbettungskonfiguration, bei der das Neuschreibprogramm im Voraus in den Flash-Speicher eingebettet wird, in S1843 ein Schreibprogramm in der aktiven Bank aus dem Flash-Speicher und führt das Schreibprogramm in dem RAM aus. In einem Fall einer Download-Konfiguration, bei der das Neuschreibprogramm nicht im Voraus in den Flash-Speicher eingebettet, sondern von der Außenseite heruntergeladen wird, lädt die Neuschreibziel-ECU 19 in S1843 das Neuschreibprogramm in den RAM herunter und führt das Neuschreibprogramm aus.
  • Wenn bestimmt wird, dass die Identifikationsinformationen zum Bestimmen der Adresse zum Neuschreiben des Applikationsprogramms beschafft wurden (S1844: Ja), bestimmt die Neuschreibziel-ECU 19, ob die Identifikationsinformationen mit den Aktive-Bank-Informationen der Neuschreibziel-ECU 19 übereinstimmen bzw. zu diesen passen (S1845). Insbesondere bestimmt die Neuschreibziel-ECU 19, ob Bankinformationen, die die nicht aktive Bank in den Aktive-Bank-Informationen angeben, mit den Identifikationsinformationen übereinstimmen. Wenn bestimmt wird, dass die Identifikationsinformationen mit den Aktive-Bank-Informationen der ECU 19 übereinstimmen (S1845: Ja), schreibt die Neuschreibziel-ECU 19 das Applikationsprogramm neu (S1846) und beendet den Neuschreibprogrammverifizierungsprozess.
  • Wenn bestimmt wird, dass die Identifikationsinformationen nicht mit den Aktive-Bank-Informationen der ECU 19 übereinstimmen (S1842: Nein), oder wenn bestimmt wird, dass die Identifikationsinformationen nicht mit den Aktive-Bank-Informationen der Neuschreibziel-ECU 19 übereinstimmen (S1845: Nein), bestimmt die Neuschreibziel-ECU 19, dass das Applikationsprogramm oder die Parameterdaten in der aktiven Bank oder der inaktiven Bank nicht ausführbar sind, überträgt eine negative Bestätigung an das CGW 13 (S1847) und beendet den Neuschreibprogrammverifizierungsprozess. In dem Fall einer Doppelbankspeicher-ECU, bei der die Bank A des Flash-Speichers eine aktive Bank ist und die Bank B eine inaktive Bank ist, ist beispielsweise eine Adresse zum Ausführen eines Neuschreibprogramms eine Adresse der Bank A, die die aktive Bank ist, und eine Adresse zum Neuschreiben eines Applikationsprogramms ist eine Adresse der Bank B, die die inaktive Bank ist.
  • Wie es in 150 dargestellt ist, kann die Neuschreibziel-ECU 19 Identifikationsinformationen zum Bestimmen einer Adresse von dem CGW 13 beschaffen, bevor Schreibdaten von dem CGW 13 beschafft werden. Wie es in 151 dargestellt ist, kann die Neuschreibziel-ECU 19 Identifikationsinformationen zum Bestimmen einer Adresse beschaffen, wenn Schreibdaten von dem CGW 13 beschafft sind. Die Neuschreibziel-ECU 19 empfängt Neuschreibspezifikationsdaten von dem CGW 13 beispielsweise bevor Schreibdaten beschafft werden, und beschafft Neuschreibbankinformationen. Da die Neuschreibbankinformationen Identifikationsdaten zum Identifizieren, welche Bank eine aktive Bank und welche Bank eine Neuschreibbank ist, werden die Identifikationsdaten als Identifikationsinformationen zum Bestimmen einer Adresse verwendet.
  • Die Neuschreibziel-ECU 19 führt den oben beschriebenen Neuschreibbetriebsprozess (18-2) als Antwort darauf aus, dass das CGW 13 einen Installationsbefehlsprozess durchführt. Hier wird der Installationsbefehlsprozess, der von dem CGW 13 durchgeführt wird, beschrieben.
  • Wenn der Installationsbefehlsprozess initiiert ist, identifiziert das CGW 13 die Neuschreibspezifikationsdaten (S1851) und bestimmt, ob eine anhängige Installation für sämtliche Neuschreibziel-ECUs 19 bezeichnet ist, eine Installation während einer Fahrzeugfahrt für sämtliche Neuschreibziel-ECUs 19 bezeichnet ist oder eine Installation für jeden Speichertyp der Neuschreibziel-ECUs 19 bezeichnet ist (S1852 bis S1854).
  • Wenn bestimmt wird, dass die Installation während eines Parkens für sämtliche Neuschreibziel-ECUs 19 bezeichnet ist (S1852: Ja), befiehlt das CGW 13 der Neuschreibziel-ECU 19, die Installation unter der Bedingung durchzuführen, dass eine Zustimmung für die Installation erhalten wurde und das Fahrzeug parkt (S1855). Wenn bestimmt wird, dass die Installation während einer Fahrzeugfahrt für sämtliche Neuschreibziel-ECUs 19 bezeichnet ist (S1853: Ja), befiehlt das CGW 13 der Neuschreibziel-ECU 19, die Installation unter der Bedingung durchzuführen, dass eine Zustimmung für die Installation erhalten wurde und das Fahrzeug fährt (S1856).
  • Wenn bestimmt wird, dass die Installation für jeden Speichertyp der Neuschreibziel-ECU 19 bezeichnet ist (S1854: Ja), bestimmt das CGW 13, ob der Speichertyp ein Doppelbankspeicher, ein Einzelbank-Suspendierungs-Speicher oder ein Einzelbankspeicher ist, auf der Grundlage der Neuschreibspezifikationsdaten (S1857 und S 1858).
  • Wenn bestimmt wird, dass der Speichertyp der Neuschreibziel-ECU 19 der Doppelbankspeicher ist und eine erste vorbestimmte Bedingung erfüllt ist (S1857: Ja), befiehlt das CGW 13 der Neuschreibziel-ECU 19, die Installation unter der Bedingung durchzuführen, dass eine Zustimmung für die Installation erhalten wurde und das Fahrzeug fährt (S1859). Wenn bestimmt wird, dass der Speichertyp der Neuschreibziel-ECU 19 der Einzelbank-Suspendierungs-Speicher oder der Einzelbankspeicher ist und eine zweite vorbestimmte Bedingung erfüllt ist (S1858: Ja), befiehlt des CGW 13 der Neuschreibziel-ECU 19, die Installation unter Bedingung durchzuführen, dass eine Zustimmung für die Installation erhalten wurde und das Fahrzeug parkt (S1860).
  • Es wird bestimmt, ob eine Installation in sämtlichen Neuschreibziel-ECUs 19 beendet wurde (S1861), und wenn bestimmt wird, dass die Installation nicht in sämtlichen Neuschreibziel-ECUs 19 beendet wurde (S1861: Nein), kehrt das CGW 13 zum Schritt S1851 zurück und führt Schritt S1851 und die anschließenden Schritte wieder durch.
  • Das heißt, wenn die Neuschreibziel-ECU 19 eine Doppelbankspeicher-ECU ist, gibt das CGW 13 einen Befehl zur Installation aus, während das Fahrzeug fahrbereit ist. Der Doppelbankspeicher-ECU wird von dem CGW 13 befohlen, die Installation durchzuführen, während das Fahrzeug fahrbereit ist, und führt somit die Installation durch, während das Fahrzeug fahrbereit ist (entspricht einer Installationsausführungsprozedur). Wenn die Neuschreibziel-ECU 19 eine Einzelbank-Suspendierungs-Speicher-ECU oder eine Einzelbankspeicher-ECU ist, gibt das CGW 13 einen Befehl für die Installation während eines Parkens aus. Der Einzelbank-Suspendierungs-Speicher-ECU oder der Einzelbankspeicher-ECU wird von dem CGW 13 befohlen, die Installation während eines Parkens durchzuführen, und führt somit die Installation während eines Parkens durch (entspricht einer Installationsausführungsprozedur).
  • Wenn bestimmt wird, dass die Installation in allen Neuschreibziel-ECUs 19 beendet wurde (S1861: Ja), wird bestimmt, ob das Fahrzeug parkt (S1862), und wenn bestimmt wird, dass das Fahrzeug parkt (S1862: Ja), befiehlt das CGW 13 der Neuschreibziel-ECU 19, eine Aktivierung durchzuführen, während das Fahrzeug parkt (S1863), und beendet den Installationsbefehlsprozess. Der Neuschreibziel-ECU 19 wird von dem CGW 13 befohlen, die Aktivierung durchzuführen, während das Fahrzeug parkt, und führt somit die Aktivierung durch (entspricht einer Aktivierungsausführungsprozedur).
  • Wie es oben beschrieben wurde, führt die Neuschreibziel-ECU 19 in einer Konfiguration, die mehrere Datenspeicherbänke aufweist, den Neuschreibausführungssteuerungsprozess durch und führt somit ein Neuschreibprogramm in einer aktiven Bank aus und schreibt eine inaktive Bank neu, während ein Applikationsprogramm in der aktiven Bank ausgeführt wird. Eine Periode bzw. Zeitdauer, während der ein Applikationsprogramm neu schreibbar ist, ist nicht auf einen Parkzustand beschränkt, und das Applikationsprogramm kann während einer Fahrzeugfahrt neu geschrieben werden. Wenn die Neuschreibziel-ECU 19 eine Doppelbankspeicher-ECU ist, wird der Neuschreibziel-ECU 19 von dem CGW 13 befohlen, die Installation durchzuführen, während das Fahrzeug fahrbereit ist, und kann somit die Installation durchführen, während das Fahrzeug fahrbereit ist. Wenn die Neuschreibziel-ECU 19 eine Einzelbank-Suspendierungs-Speicher-ECU oder eine Einzelbankspeicher-ECU ist, wird der Neuschreibziel-ECU 19 von dem CGW 13 befohlen, die Installation während eines Parkens durchzuführen, und diese kann somit die Installation während eines Parkens durchführen.
  • Sitzungserrichtungsprozess
  • Der Sitzungserrichtungsprozess wird mit Bezug auf die 156 bis 169 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Sitzungserrichtungsprozess in der Neuschreibziel-ECU 19 durch.
  • Wie es in 156 dargestellt ist, enthält die ECU 19 eine Applikationsausführungseinheit 105a, eine Drahtlos-Neuschreibanfragebestimmungseinheit 105b und eine Drahtgebunden-Neuschreibanfragebestimmungseinheit 105c in der Sitzungserrichtungseinheit 105. Die Applikationsausführungseinheit 105a weist eine Funktion zum Arbitrieren bezüglich einer Ausführung eines jeweiligen Programms auf. Die Drahtlos-Neuschreibanfragebestimmungseinheit 105b weist eine Funktion zum Bestimmen einer Programmneuschreibanfrage auf drahtlose Weise auf. Die Drahtgebunden-Neuschreibanfragebestimmungseinheit 105c weist eine Funktion zum Bestimmen einer Programmneuschreibanfrage auf drahtgebundene Weise auf.
  • 157 stellt eine Konfiguration von Programmen dar, die in dem Flash-Speicher gespeichert sind. Ein Fahrzeugsteuerungsprogramm ist ein Programm zum Realisieren einer Fahrzeugsteuerungsfunktion (beispielsweise einer Lenksteuerungsfunktion), die in der ECU installiert ist. Ein drahtgebundenes Diagnoseprogramm ist ein Programm zum Diagnostizieren der ECU von der Außenseite des Fahrzeugs auf drahtgebundene Weise. Ein drahtloses Diagnoseprogramm ist ein Programm zum Diagnostizieren der ECU 19 von der Außenseite des Fahrzeugs auf drahtlose Weise. Ein drahtloses Neuschreibprogramm ist ein Programm zum Neuschreiben eines Programms, das von der Außenseite des Fahrzeugs auf drahtlose Weise beschafft wird. Ein drahtgebundenes Neuschreibprogramm ist ein Programm zum Neuschreiben eines Programms, das von der Außenseite des Fahrzeugs auf drahtgebundene Weise beschafft wird. Das Fahrzeugsteuerungsprogramm ist in dem Applikationsbereich als ein erstes Programm angeordnet. Das drahtgebundene Diagnoseprogramm und das drahtgebundene Neuschreibprogramm sind in dem Applikationsbereich als ein zweites Programm angeordnet. Das drahtlose Diagnoseprogramm und das drahtlose Neuschreibprogramm sind in dem Applikationsbereich als ein drittes Programm angeordnet. Mit anderen Worten, das zweite Programm ist ein Programm zum Durchführen von drahtgebundenen speziellen Prozessen mit der Ausnahme einer Fahrzeugsteuerung, und das dritte Programm ist ein Programm zum Durchführen von drahtlosen speziellen Prozessen mit Ausnahme der Fahrzeugsteuerung. Das drahtgebundene Neuschreibprogramm muss nicht in dem Applikationsbereich angeordnet sein, sondern kann in dem Boot-Bereich als ein viertes Programm angeordnet sein.
  • Die Applikationsausführungseinheit 105a steuert das erste Programm, das zweite Programm und das dritte Programm, sodass diese gleichzeitig ausführbar sind (führt eine nicht ausschließliche Steuerung durch). Die Applikationsausführungseinheit 105a macht beispielsweise das Fahrzeugsteuerungsprogramm, das drahtgebundene Diagnoseprogramm und das drahtlose Diagnoseprogramm gleichzeitig ausführbar. Das heißt, die Applikationsausführungseinheit 105a kann gleichzeitig eine Fahrzeugsteuerung, eine drahtgebundene Diagnose der ECU 19 und eine drahtlose Diagnose der ECU 19 ausführen. Auf ähnliche Weise führt die Applikationsausführungseinheit 105a eine Steuerung derart durch, dass das Fahrzeugsteuerungsprogramm, das drahtgebundene Diagnoseprogramm und das drahtlose Neuschreibprogramm gleichzeitig ausgeführt werden können, das Fahrzeugsteuerungsprogramm, das drahtgebundene Neuschreibprogramm und das drahtlose Diagnoseprogramm gleichzeigt ausgeführt werden können, und das Fahrzeugsteuerungsprogramm, das drahtgebundene Neuschreibprogramm und das drahtlose Neuschreibprogramm gleichzeitig ausgeführt werden können.
  • Andererseits führt die Applikationsausführungseinheit 105a eine ausschließliche Steuerung derart durch, dass die jeweiligen Programme in dem zweiten Programm nicht gleichzeitig ausgeführt werden können. Auf ähnliche Weise führt die Applikationsausführungseinheit 105a eine ausschließliche Steuerung derart durch, dass die jeweiligen Programme in dem dritten Programm nicht gleichzeitig ausgeführt werden können. Die Applikationsausführungseinheit 105a unterzieht beispielsweise das drahtgebundene Diagnoseprogramm und das drahtgebundene Neuschreibprogramm einer ausschließlichen Steuerung und unterzieht das drahtlose Diagnoseprogramm und das drahtlose Neuschreibprogramm einer ausschließlichen Steuerung. Das heißt, die Applikationsausführungseinheit 105a führt nur ein Programm in den drahtgebundenen speziellen Prozessen aus. Auf ähnliche Weise führt die Applikationsausführungseinheit 105a nur ein Programm in den drahtlosen speziellen Prozessen aus.
  • Mit anderen Worten, es kann gesagt werden, dass das drahtlose Neuschreibprogramm innerhalb des drahtlosen Diagnoseprogramms angeordnet ist und als ein Teil des drahtlosen Diagnoseprogramms eingebettet ist. Das heißt, mit der Konfiguration, bei der das drahtlose Neuschreibprogramm in dem drahtlosen Diagnoseprogramm angeordnet ist, führt die Applikationsausführungseinheit 105a eine Steuerung derart durch, dass das drahtlose Neuschreibprogramm ausgeführt wird, während eine Ausführung des Fahrzeugsteuerungsprogramms und des drahtgebundenen Diagnoseprogramms fortgesetzt wird, wenn ein Zustandsübergang von einer Anfangssitzung oder einer drahtlosen Diagnosesitzung in eine drahtlose Neuschreibsitzung durchgeführt wird, wie es später beschrieben wird, während das Fahrzeugsteuerungsprogramm und das drahtgebundene Diagnoseprogramm ausgeführt werden. Die Applikationsausführungseinheit 105a initiiert die Ausführung des drahtlosen Neuschreibprogramms, während eine Ausführung des Fahrzeugsteuerungsprogramms und des drahtgebundenen Diagnoseprogramms fortgesetzt wird, und macht somit das Fahrzeugsteuerungsprogramm, das drahtgebundene Diagnoseprogramm und das drahtlose Neuschreibprogramm gleichzeitig ausführbar. Das heißt, die Applikationsausführungseinheit 105a führt eine Steuerung derart durch, dass eine Fahrzeugsteuerung, eine drahtgebundene Diagnose der ECU 19 und ein drahtloses Neuschreiben eines Applikationsprogramm gleichzeitig ausgeführt werden können.
  • Hier tritt eine Situation auf, bei der eine drahtgebundene Diagnose, eine drahtlose Diagnose, ein drahtgebundenes Neuschreiben und ein drahtloses Neuschreiben je nach speziellen Inhalten eines Diagnoseprozesses und eines Neuschreibprozesses nicht gleichzeitig ausgeführt werden können. In einem Fall beispielsweise, in dem ein drahtgebundenes Neuschreiben und ein drahtloses Neuschreiben ein Neuschreiben in demselben Bereich sind, kollidieren beide Prozesse miteinander. Somit führt die Applikationsausführungseinheit 105a eine ausschließliche Steuerung hinsichtlich des drahtgebundenen Diagnoseprogramms und des drahtlosen Diagnoseprogramms entsprechend speziellen Inhalten eines Prozesses oder einer Anfrage durch und führt eine ausschließliche Steuerung hinsichtlich des drahtgebundenen Neuschreibprogramms und des drahtlosen Neuschreibprogramms durch. Eine normale Fahrzeugsteuerung kann je nach Inhalten der Diagnoseprozesse nicht fortgesetzt werden. Beispielsweise in einem Fall des Diagnoseprozesses, bei dem die ECU betrieben wird und ein Betriebsergebnis gelesen wird, kann der Diagnoseprozess nicht gleichzeitig mit der normalen Fahrzeugsteuerung ausgeführt werden. In diesem Fall führt die Applikationsausführungseinheit 105a eine Arbitrierungssteuerung durch, um zu bewirken, dass das Fahrzeugsteuerungsprogramm wartet und das drahtgebundene oder drahtlose Diagnoseprogramm ausgeführt wird.
  • In einem Fall andererseits, in dem das drahtgebundene Neuschreibprogramm nicht in dem Applikationsbereich, sondern in dem Boot-Bereich als das vierte Programm angeordnet ist, führt die Applikationsausführungseinheit 105a eine Arbitrierungssteuerung durch, die sich teilweise von der oben beschriebenen Arbitrierungssteuerung unterscheidet. Das drahtgebundene Neuschreibprogramm ist als das vierte Programm außerhalb des drahtgebundenen Diagnoseprogramms angeordnet, wie es durch die gestrichelte Linie in 157 angegeben ist, und ist nicht als Teil des drahtgebundenen Diagnoseprogramms eingebettet. Wenn in diesem Fall das vierte Programm ausgeführt wird, führt die Applikationsausführungseinheit 105a eine ausschließliche Steuerung durch, um die ersten bis dritten Programme zu beenden. Das heißt, die Applikationsausführungseinheit 105a wechselt von einem Modus eines Ausführens der ersten bis dritten Programme in einen zugehörigen Modus eines Ausführens des vierten Programms. Mit anderen Worten, hinsichtlich des drahtgebundenen Neuschreibprogramms wird mit der Konfiguration, bei der das drahtgebundene Neuschreibprogramm außerhalb des drahtgebundenen Diagnoseprogramms angeordnet ist, eine Steuerung derart durchgeführt, dass, wenn ein Zustandsübergang von der drahtgebundenen Diagnosesitzung in die drahtgebundene Neuschreibsitzung wie später beschrieben durchgeführt wird, während das Fahrzeugsteuerungsprogramm und das drahtlose Diagnoseprogramm ausgeführt werden, die Ausführung des Fahrzeugsteuerungsprogramms und des drahtlosen Diagnoseprogramms gestoppt wird und es die Ausführung des drahtgebundenen Neuschreibprogramms initiiert wird. Die Applikationsausführungseinheit 105a stoppt die Ausführung des Fahrzeugsteuerungsprogramms und des drahtlosen Diagnoseprogramms und initiiert die Ausführung des drahtgebundenen Neuschreibprogramms, und somit können das Fahrzeugsteuerungsprogramm, das drahtlose Diagnoseprogramm und das drahtgebundene Neuschreibprogramm nicht gleichzeitig ausgeführt werden, sondern es kann nur das drahtgebundene Neuschreibprogramm ausgeführt werden. Das heißt, die Applikationsausführungseinheit 105a führt eine Steuerung derart durch, dass die Fahrzeugsteuerung, die drahtlose Diagnose der ECU 19 und das drahtgebundene Neuschreiben eines Applikationsprogramms nicht gleichzeitig ausgeführt werden können, sondern nur ein drahtgebundenes Neuschreiben des Applikationsprogramms ausgeführt werden kann.
  • Wie es in 158 dargestellt ist, verwaltet die Applikationsausführungseinheit 105a einen Anfangszustand bzw. Standardzustand (Anfangssitzung bzw. Standardsitzung), einen drahtgebundenen Diagnosezustand (drahtgebundene Diagnosesitzung) und einen drahtgebundenen Neuschreibzustand (drahtgebundene Neuschreibsitzung) als einen ersten Zustand betreffend die drahtgebundenen speziellen Prozesse. Als ein zweiter Zustand betreffend die drahtlosen speziellen Prozesse werden ein Anfangszustand bzw. Standardzustand (Anfangssitzung bzw. Standardsitzung) und ein drahtloser Neuschreibzustand (drahtlose Neuschreibsitzung) verwaltet, und es wird ein interner Betriebszustand verwaltet.
  • Als ein Zustandsübergang des ersten Zustands führt die Applikationsausführungseinheit 105a einen ausschließlichen Zustandsübergang aus der Standardsitzung, in der die Fahrzeugsteuerung entsprechend dem Diagnosekommunikationsstandard möglich ist, der drahtgebundenen Diagnosesitzung, bei der eine drahtgebundene Diagnose der ECU von außerhalb des Fahrzeugs möglich ist, und der drahtgebundenen Neuschreibsitzung, bei der ein Neuschreiben eines Applikationsprogramms, das von der Außenseite des Fahrzeugs beschafft wird, auf drahtgebundene Weise möglich ist, durch. Der ausschließliche Zustandsübergang der Sitzung gibt an, dass die Sitzungen nicht gleichzeitig errichtet werden können, und der nicht ausschließliche Zustandsübergang der Sitzung gibt an, dass die Sitzungen gleichzeitig errichtet werden können.
  • Die Standardsitzung in dem ersten Zustand ist ein Modus, der einen Zustand angibt, in dem die drahtgebundenen speziellen Prozesse nicht durchgeführt werden, und ist ein Zustand, in dem die Fahrzeugsteuerung ausgeführt werden kann. Es kann auch gesagt werden, dass die Standardsitzung ein Modus ist, in dem ein Prozess, der die Fahrzeugsteuerung überhaupt nicht beeinflusst, beispielsweise ein Diagnoseprogramm, das die Fahrzeugsteuerung nicht betrifft, ausgeführt werden kann. Das Diagnoseprogramm, das nicht die Fahrzeugsteuerung betrifft, ist ein Programm zum Auslesen von Informationen wie eines Problemcodes. Die drahtgebundene Diagnosesitzung ist ein Modus zum Ausführen eines Diagnoseprogramms betreffend eine Diagnose der ECU 19. In einem Fall eines Auftretens eines Zustands, in dem mindestens die Fahrzeugsteuerung durch Ausführen des Diagnoseprogramms beeinflusst werden kann, geht die Standardsitzung in die drahtgebundene Diagnosesitzung über. Das Diagnoseprogramm betreffend die Diagnose der ECU ist ein Programm zum Durchführen eines Kommunikationsstopps, einer Diagnosemaskierung, einer Aktuatoransteuerung und Ähnliches. Die drahtgebundene Neuschreibsitzung ist ein Modus zum Neuschreiben eines Applikationsprogramms, das von der Außenseite des Fahrzeugs beschafft wird, auf drahtgebundene Weise.
  • Die Applikationsausführungseinheit 105a führt den Sitzungszustandsübergang in dem ersten Zustand wie folgt durch. Wenn eine drahtgebundene Diagnoseanfrage in einem Zustand einer ersten Standardsitzung erzeugt wird, bewirkt die Applikationsausführungseinheit 105a einen Übergang von der ersten Standardsitzung in die drahtgebundene Diagnosesitzung als Antwort auf eine Diagnosesitzungsübergangsanfrage und führt einen drahtgebundenen Diagnoseprozess aus. Die Applikationsausführungseinheit 105a bewirkt einen Übergang von der drahtgebundenen Diagnosesitzung in die erste Standardsitzung, wenn eine Sitzungsrückkehranfrage erzeugt wird, ein Zeitablauf erzeugt wird, die Leistung bzw. Strom ausgeschaltet wird oder ein gesetzlicher Dienst bzw. Rechtsdienst in einem Zustand der drahtgebundenen Diagnosesitzung empfangen wird. Wenn eine drahtgebundene Neuschreibanfrage in einem Zustand der ersten Standardsitzung erzeugt wird, bewirkt die Applikationsausführungseinheit 105a einen Übergang von der ersten Standardsitzung in die drahtgebundene Diagnosesitzung als Antwort auf eine Diagnosesitzungsübergangsanfrage, bewirkt dann einen Übergang von der drahtgebundenen Diagnosesitzung in die drahtgebundene Neuschreibsitzung als Antwort auf eine Neuschreibsitzungsübergangsanfrage und führt einen drahtgebundenen Neuschreibprozess aus. Die Applikationsausführungseinheit 105a bewirkt einen Übergang von der drahtgebundenen Neuschreibsitzung in die erste Standardsitzung, wenn eine Sitzungswiederherstellungsanfrage erzeugt wird, ein Zeitablauf erzeugt wird, die Leistung ausgeschaltet wird oder ein gesetzlicher Dienst in einem Zustand der drahtgebundenen Neuschreibsitzung empfangen wird. Die Applikationsausführungseinheit 105a hält die derzeitige Sitzung, ohne einen Übergang zu bewirken, als Antwort auf eine Sitzungshalteanfrage bei.
  • Als ein Zustandsübergang des zweiten Zustands bewirkt die Applikationsausführungseinheit 105a einen ausschließlichen Zustandsübergang zwischen einer Standardsitzung, bei der die Fahrzeugsteuerung entsprechend dem Diagnosekommunikationsstandard möglich ist, und einer drahtlosen Neuschreibsitzung betreffend ein Neuschreiben eines Applikationsprogramms, das von der Außenseite des Fahrzeugs auf drahtlose Weise beschafft wird. Die drahtlose Neuschreibsitzung ist ein Modus zum Neuschreiben eines Applikationsprogramms, das von der Außenseite des Fahrzeugs auf drahtlose Weise beschafft wird.
  • Die Applikationsausführungseinheit 105a führt den Sitzungszustandsübergang in dem zweiten Zustand wie folgt durch. Wenn eine drahtlose Neuschreibanfrage in einem Zustand einer zweiten Standardsitzung erzeugt wird, bewirkt die Applikationsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung in die drahtlose Neuschreibsitzung als Antwort auf eine Neuschreibsitzungsübergangsanfrage und führt einen drahtlosen Neuschreibprozess aus. Die Applikationsausführungseinheit 105a bewirkt einen Übergang von der drahtlosen Neuschreibsitzung in die zweite Standardsitzung, wenn eine Sitzungsrückkehranfrage erzeugt wird, ein Zeitablauf auftritt oder die Leistung bzw. der Strom in einem Zustand der drahtlosen Neuschreibsitzung ausgeschaltet wird. Die Applikationsausführungseinheit 105a hält die derzeitige Sitzung, ohne einen Übergang zu bewirken, als Antwort auf eine Sitzungshalteanfrage bei.
  • Die Applikationsausführungseinheit 105a verwaltet den ersten Zustand betreffend den drahtgebundenen speziellen Prozess und den zweiten Zustand betreffend den drahtlosen speziellen Prozess, während das Fahrzeugsteuerungsprogramm als das erste Programm ausgeführt wird. Wenn beispielsweise eine drahtgebundene Diagnoseanfrage in der Anfangssitzung sowohl des ersten Zustands als auch des zweiten Zustands erzeugt wird, bewirkt die Applikationsausführungseinheit 105a, dass der erste Zustand in die drahtgebundene Diagnosesitzung übergeht, während das Fahrzeugsteuerungsprogramm fortgesetzt wird, und initiiert eine Ausführung des drahtgebundenen Diagnoseprogramms. Wenn in diesem Zustand eine drahtlose Neuschreibanfrage erzeugt wird, bewirkt die Applikationsausführungseinheit 105a, dass der zweite Zustand in die drahtlose Neuschreibsitzung übergeht, während die Ausführung des Fahrzeugsteuerungsprogramms und des drahtgebundenen Diagnoseprogramms fortgesetzt wird, und initiiert die Ausführung des drahtlosen Neuschreibprogramms. Wenn in diesem Zustand eine drahtgebundene Neuschreibanfrage erzeugt wird, beendet die Applikationsausführungseinheit 105a beispielsweise die Ausführung des drahtlosen Neuschreibprogramms, bewirkt, dass der zweite Zustand in die Standardsitzung übergeht, beendet die Ausführung des drahtgebundenen Diagnoseprogramms, bewirkt, dass der erste Zustand in die drahtgebundene Neuschreibsitzung übergeht, und initiiert die Ausführung des drahtgebundenen Neuschreibprogramms. Die Applikationsausführungseinheit 105a führt einen ausschließlichen Zustandsübergang derart durch, dass die drahtgebundene Neuschreibsitzung in dem ersten Zustand und die drahtlose Neuschreibsitzung in dem zweiten Zustand nicht gleichzeitig errichtet werden, um zu verhindern, dass Schreibprozesse in demselben Speicherbereich miteinander kollidieren (ausschließliche Steuerung).
  • Die Drahtlos-Neuschreibanfragebestimmungseinheit 105b bestimmt Identifikationsinformationen betreffend eine Neuschreibanfrage, die von der Außenseite empfangen wird, und bestimmt eine drahtlose Neuschreibanfrage. Das heißt, wenn Neuprogrammierungsdaten von der Zentrumsvorrichtung 3 an das DCM 12 heruntergeladen werden und das CGW 13 die Neuprogrammierungsdaten, die von dem DCM 12 übertragen werden, an die Neuschreibziel-ECU 19 verteilt, bestimmt die Drahtlos-Neuschreibanfragebestimmungseinheit 105b die drahtlose Neuschreibanfrage durch Empfangen der Identifikationsinformationen, die die drahtlose Neuschreibanfrage angeben, von dem CGW 13 zusammen mit den Neuprogrammierungsdaten.
  • Die Drahtgebunden-Neuschreibanfragebestimmungseinheit 105c bestimmt Identifikationsinformationen betreffend eine Neuschreibanfrage, die von der Außenseite empfangen wird, und bestimmt eine drahtgebundene Neuschreibanfrage. Das heißt, wenn das Tool 23 mit dem DLC-Verbinder 22 verbunden ist und das CGW 13 Neuprogrammierungsdaten, die von dem Tool 23 übertragen werden, an die Neuschreibziel-ECU 19 verteilt, bestimmt die Drahtgebunden-Neuschreibanfragebestimmungseinheit 105c die drahtgebundene Neuschreibanfrage durch Empfangen der Identifikationsinformationen, die die drahtgebundene Neuschreibanfrage angeben, zusammen mit den Neuprogrammierungsdaten von dem CGW 13.
  • Die Identifikationsinformationen können beispielsweise Informationen sein, die unterschiedlichen Identifikations-IDs in der drahtgebundenen Neuschreibanfrage und der drahtlosen Neuschreibanfrage entsprechen, und können Informationen sein, die derselben Identifikations-ID, aber unterschiedlichen Daten in der drahtgebundenen Neuschreibanfrage und der drahtlosen Neuschreibanfrage entsprechen. Das heißt, es können beliebige Informationen verwendet werden, solange wie die drahtgebundene Neuschreibanfrage und die drahtlose Neuschreibanfrage voneinander unterschieden werden können.
  • Bei der Applikationsausführungseinheit 105a wurde wie in 158 gezeigt die Konfiguration eines Verwaltens von zwei Zuständen, d.h. der Standardsitzung und der drahtlosen Neuschreibsitzung, als der zweite Zustand betreffend den drahtlosen speziellen Prozess beschrieben, aber wie es in den 159 und 160 dargestellt ist, kann es eine Konfiguration eines Verwaltens von drei Zuständen, d.h. der Standardsitzung, der drahtlosen Diagnosesitzung und der drahtlosen Neuschreibsitzung, als den zweiten Zustand geben. Die drahtlose Diagnosesitzung ist ein Modus eines Ausführens eines drahtlosen Diagnoseprogramms zum Diagnostizieren der ECU 19 von der Außenseite des Fahrzeugs auf drahtlose Weise. In einem Fall einer Ausführung eines drahtlosen Diagnoseprogramms, das mindestens die Fahrzeugsteuerung beeinflussen kann, erfolgt ein Übergang in die drahtlose Diagnosesitzung.
  • In dem Fall der in 159 dargestellten Konfiguration führt die Applikationsausführungseinheit 105a einen Zustandsübergang des zweiten Zustands wie folgt durch. Wenn eine drahtlose Diagnoseanfrage in einem Zustand der zweiten Standardsitzung erzeugt wird, bewirkt die Applikationsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung in die drahtlose Diagnosesitzung als Antwort auf eine Diagnosesitzungsübergangsanfrage und führt einen drahtlosen Diagnoseprozess aus. Die Applikationsausführungseinheit 105a bewirkt einen Übergang von der drahtlosen Diagnosesitzung in die zweite Standardsitzung, wenn eine Sitzungsrückkehranfrage erzeugt wird, ein Zeitablauf erzeugt wird oder die Leistung bzw. der Strom in einem Zustand der drahtlosen Diagnosesitzung ausgeschaltet wird. Wenn eine drahtlose Neuschreibanfrage in einem Zustand der zweiten Standardsitzung erzeugt wird, bewirkt die Applikationsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung in die drahtlose Diagnosesitzung als Antwort auf eine Diagnosesitzungsübergangsanfrage, bewirkt dann einen Übergang von der drahtlosen Diagnosesitzung in die drahtlose Neuschreibsitzung als Antwort auf eine Neuschreibsitzungsübergangsanfrage und führt einen drahtlosen Neuschreibprozess aus. Die Applikationsausführungseinheit 105a bewirkt einen Übergang von der drahtlosen Neuschreibsitzung in die zweite Standardsitzung, wenn eine Sitzungsrückkehranfrage erzeugt wird, ein Zeitablauf erzeugt wird oder die Leistung bzw. der Strom in einem Zustand der drahtlosen Neuschreibsitzung ausgeschaltet wird.
  • In dem Fall der in 160 gezeigten Konfiguration führt die Applikationsausführungseinheit 105a einen Zustandsübergang des zweiten Zustands wie folgt durch. Wenn eine drahtlose Diagnoseanfrage in einem Zustand der zweiten Standardsitzung erzeugt wird, bewirkt die Applikationsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung in die drahtlose Diagnosesitzung als Antwort auf eine Diagnosesitzungsübergangsanfrage und führt einen drahtlosen Diagnoseprozess aus. Die Applikationsausführungseinheit 105a bewirkt einen Übergang von der drahtlosen Diagnosesitzung in die zweite Standardsitzung, wenn eine Sitzungsrückkehranfrage erzeugt wird, ein Zeitablauf erzeugt wird oder die Leistung bzw. der Strom in einem Zustand der drahtlosen Diagnosesitzung ausgeschaltet wird. Wenn eine drahtlose Neuschreibanfrage in einem Zustand der zweiten Standardsitzung erzeugt wird, bewirkt die Applikationsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung in die drahtlose Diagnosesitzung als Antwort auf eine Diagnosesitzungsübergangsanfrage, bewirkt dann einen Übergang von der drahtlosen Diagnosesitzung in die drahtlose Neuschreibsitzung als Antwort auf eine Neuschreibsitzungsübergangsanfrage oder bewirkt einen Übergang von der zweiten Standardsitzung in die drahtlose Neuschreibsitzung als Antwort auf die Neuschreibsitzungsübergangsanfrage und führt den drahtlosen Neuschreibprozess aus. Die Applikationsausführungseinheit 105a bewirkt einen Übergang von der drahtlosen Neuschreibsitzung in die zweite Standardsitzung, wenn eine Sitzungsrückkehranfrage erzeugt wird, ein Zeitablauf erzeugt wird oder die Leistung bzw. der Strom in einem Zustand der drahtlosen Neuschreibsitzung ausgeschaltet wird.
  • In der drahtgebundenen Diagnosesitzung in dem ersten Zustand oder der drahtlosen Diagnosesitzung in dem zweiten Zustand kann dasselbe Diagnoseprogramm ausgeführt werden, oder es können unterschiedliche Diagnoseprogramme ausgeführt werden. In der drahtgebundenen Neuschreibsitzung in dem ersten Zustand und der drahtlosen Neuschreibsitzung in dem zweiten Zustand kann dasselbe Neuschreibprogramm ausgeführt werden, oder es können unterschiedliche Neuschreibprogramme ausgeführt werden. Es kann beispielsweise ein gemeinsames Neuschreibprogramm wie ein Löschen oder Schreiben für einen Speicher ausgeführt werden.
  • Eine Arbitrierung einer jeweiligen Sitzung in dem ersten Zustand und einer jeweiligen Sitzung in dem zweiten Zustand in der in den 159 und 160 dargestellten Konfigurationen wird im Folgenden beschrieben. Anhand von 157 wird ein Fall beschrieben, bei dem das drahtgebundene Diagnoseprogramm in dem Applikationsbereich als das zweite Programm angeordnet ist, das drahtlose Diagnoseprogramm und das drahtlose Neuschreibprogramm in dem Applikationsbereich als das dritte Programm angeordnet sind, und das drahtgebundene Diagnoseprogramm in dem Boot-Bereich als das vierte Programm angeordnet ist. Mit anderen Worten, es wird eine Konfiguration beschrieben, bei der das drahtlose Neuschreibprogramm als ein Teil des drahtlosen Diagnoseprogramms eingebettet ist, aber das drahtgebundene Neuschreibprogramm nicht als ein Teil des drahtgebundenen Diagnoseprogramms eingebettet ist. In diesem Fall wird eine Arbitrierung einer Programmausführung in jeder Sitzung in dem ersten Zustand und dem zweiten Zustand wie in 161 dargestellt durchgeführt.
  • In einem Fall, in dem der zweite Zustand die drahtlose Neuschreibsitzung ist und der erste Zustand die Standardsitzung ist, führt die Applikationsausführungseinheit 105a das drahtlose Neuschreibprogramm aus, während das Fahrzeugsteuerungsprogramm ausgeführt wird. In einem Fall, in dem der zweite Zustand die drahtlose Neuschreibsitzung ist und der erste Zustand die drahtgebundene Diagnosesitzung ist, führt die Applikationsausführungseinheit 105a gleichzeitig das drahtlose Neuschreibprogramm und das drahtgebundene Diagnoseprogramm aus, während das Fahrzeugsteuerungsprogramm ausgeführt wird.
  • In einem Fall, in dem der erste Zustand die drahtgebundene Neuschreibsitzung ist und der zweite Zustand die Standardsitzung ist, beendet andererseits die Applikationsausführungseinheit 105a das Fahrzeugsteuerungsprogramm und führt nur das drahtgebundene Neuschreibprogramm aus. In einem Fall, in dem der erste Zustand die drahtgebundene Neuschreibsitzung ist und der zweite Zustand die drahtlose Diagnosesitzung ist, beendet die Applikationsausführungseinheit 105a das drahtlose Diagnoseprogramm und das Fahrzeugsteuerungsprogramm und führt nur das drahtgebundene Neuschreibprogramm aus. Das heißt, die Applikationsausführungseinheit 105a steuert die ersten bis dritten Programme gemäß einem zugehörigen Modus zum Ausführen nur des drahtgebundenen Neuschreibprogramms, das das vierte Programm ist, auf ausschließliche Weise.
  • In einer Konfiguration, bei der das drahtgebundene Diagnoseprogramm und das drahtgebundene Neuschreibprogramm in dem Applikationsbereich als das zweite Programm angeordnet sind, unterscheidet sich die Arbitrierung eines jeweiligen Programms von derjenigen in 161 teilweise. Das heißt, in einer Konfiguration, in der das drahtlose Neuschreibprogramm als ein Teil des drahtlosen Diagnoseprogramms eingebettet ist und das drahtgebundene Neuschreibprogramm als ein Teil des drahtgebundenen Diagnoseprogramms eingebettet ist, ist die Arbitrierung einer Programmausführung in einer jeweiligen Sitzung in dem ersten Zustand und dem zweiten Zustand wie in 162 dargestellt. Wenn in diesem Fall der erste Zustand die drahtgebundene Neuschreibsitzung ist und der zweite Zustand die Standardsitzung ist, führt die Applikationsausführungseinheit 105a das drahtgebundene Neuschreibprogramm aus, während das Fahrzeugsteuerungsprogramm ausgeführt wird. In einem Fall, in dem der erste Zustand die drahtgebundene Neuschreibsitzung ist und der zweite Zustand die drahtlose Diagnosesitzung ist, führt die Applikationsausführungseinheit 105a gleichzeitig das drahtgebundene Neuschreibprogramm und das drahtlose Diagnoseprogramm aus, während das Fahrzeugsteuerungsprogramm ausgeführt wird.
  • Im Folgenden wird ein Betrieb der oben beschriebenen Konfiguration mit Bezug auf die 163 bis 167 beschrieben. In der ECU 19 führt der Mikrocomputer 33 ein Sitzungserrichtungsprogramm aus und führt somit den Sitzungserrichtungsprozess durch.
  • Wenn der Mikrocomputer 33 durch Erfassen der Stromversorgung gestartet wird, führt der Mikrocomputer 33 das Sitzungserrichtungsprogramm aus, um einen Zustandsübergangsverwaltungsprozess durchzuführen, und führt einen Zustandsübergangsverwaltungsprozess zum Verwalten eines Zustandsübergangs des ersten Zustands und einen Zustandsübergangsverwaltungsprozess eines Verwaltens eines Zustandsübergangs des zweiten Zustands durch. Jeder Zustandsübergangsverwaltungsprozess wird im Folgenden beschrieben. Hier wird ein Fall beschrieben, bei dem die Applikationsausführungseinheit 105a den zweiten Zustand unter Verwendung der in 158 dargestellten Konfiguration verwaltet, das heißt einer Konfiguration, die keine drahtlose Diagnosesitzung aufweist.
  • Zustandsübergangsverwaltungsprozess des ersten Zustands
  • Wenn der Mikrocomputer 33 durch Erfassen der Stromversorgung gestartet wird und den Zustandsübergangsverwaltungsprozess des ersten Zustands initiiert, bestimmt der Mikrocomputer 33 ein Neuschreibbeendigungs-Flag und bestimmt, ob ein Neuschreiben des vorherigen Applikationsprogramms normal beendet wurde (S1901). Wenn bestimmt wird, dass das Neuschreibbeendigungs-Flag positiv ist, und bestimmt wird, dass ein Neuschreiben des vorherigen Applikationsprogramms normal beendet wurde (S1901: Ja), bewirkt der Mikrocomputer 33, dass der erste Zustand in die Standardsitzung übergeht (S1902). Das heißt, der Mikrocomputer 33 bewirkt, dass der erste Zustand in die Standardsitzung übergeht, und initiiert somit den Fahrzeugsteuerungsprozess.
  • Wenn der Fahrzeugsteuerungsprozess durch Ausführen des Fahrzeugsteuerungsprogramms initiiert wird, bestimmt der Mikrocomputer 33, während der Fahrzeugsteuerungsprozess ausgeführt wird, ob eine drahtgebundene Diagnoseanfrage erzeugt wurde (S1903), bestimmt, ob eine drahtgebundene Neuschreibanfrage erzeugt wurde (S1904), und bestimmt, ob eine Beendigungsbedingung für die Zustandsübergangsverwaltung erfüllt ist (S1905). Wenn bestimmt wird, dass eine drahtgebundene Diagnoseanfrage erzeugt wurde (S1903: Ja), während der Fahrzeugsteuerungsprozess ausgeführt wird, bewirkt der Mikrocomputer 33, dass der erste Zustand von der Standardsitzung in die drahtgebundene Diagnosesitzung übergeht (S1906), und führt das drahtgebundene Diagnoseprogramm aus, um den drahtgebundenen Diagnoseprozess zu initiieren (S1907). Es wird bestimmt, ob die Beendigungsbedingung für den drahtgebundenen Diagnoseprozess erfüllt ist (S1908), und wenn bestimmt wird, dass die Beendigungsbedingung für den drahtgebundenen Diagnoseprozess erfüllt ist (S1908: Ja), beendet der Mikrocomputer 33 das drahtgebundene Diagnoseprogramm, um den drahtgebundenen Diagnoseprozess zu beenden (S1909), und bewirkt, dass der erste Zustand von der drahtgebundenen Diagnosesitzung in die Standardsitzung übergeht (S1910).
  • Wenn bestimmt wird, dass eine drahtgebundene Neuschreibanfrage erzeugt wurde (S1904: Ja), initiiert der Mikrocomputer 33, während das Steuerungsprogramm ausgeführt wird, einen ausschließlichen Neuschreibprozess zu der Zeit der Erzeugung einer drahtgebundenen Neuschreibanfrage (S1911). Das heißt, der Prozess ist ein Prozess zum Durchführen einer ausschließlichen Steuerung derart, dass der drahtgebundene Neuschreibprozess und der drahtlose Neuschreibprozess nicht miteinander kollidieren. Wenn der ausschließliche Neuschreibprozess zu der Zeit der Erzeugung der drahtgebundenen Neuschreibanfrage initiiert ist, bestimmt der Mikrocomputer 33, ob ein Übergang in dem zweiten Zustand in die drahtlose Neuschreibsitzung stattfindet, das heißt, ob der zweite Zustand die drahtlose Neuschreibsitzung ist (S1921). Wenn bestimmt wird, dass der Übergang in dem zweiten Zustand in die drahtlose Neuschreibsitzung gerade nicht stattfindet (S1921: Nein), bestimmt der Mikrocomputer 33, dass der erste Zustand in die drahtgebundene Neuschreibsitzung übergehen kann (S1922). Der Mikrocomputer 33 beendet den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtgebundenen Neuschreibanfrage und kehrt zu dem Zustandsübergangsverwaltungsprozess des ersten Zustands zurück.
  • Wenn bestimmt wird, dass der Übergang in dem zweiten Zustand in die drahtlose Neuschreibsitzung gerade stattfindet (S1921: Ja), bestimmt der Mikrocomputer 33, ob die ausschließliche Steuerung durch Vergeben einer Priorität entweder für die drahtgebundene Neuschreibsitzung oder die drahtlose Neuschreibsitzung durchzuführen ist. Insbesondere bestimmt der Mikrocomputer 33, ob irgendeine aus einer drahtgebundenen Neuschreibsitzungsprioritätsbedingung, einer drahtlosen Neuschreibsitzungsprioritätsbedingung und einer Neuschreibsitzungsprioritätsbedingung während des Übergangs errichtet ist (S1923 bis S1925). Die drahtgebundene Neuschreibsitzungsprioritätsbedingung ist eine Bedingung, dass die drahtgebundene Neuschreibsitzung Priorität vor der drahtlosen Neuschreibsitzung hat. Die drahtlose Neuschreibsitzungsprioritätsbedingung ist eine Bedingung, dass die drahtlose Neuschreibsitzung Priorität vor der drahtgebundenen Neuschreibsitzung hat. Die Neuschreibsitzungsprioritätsbedingung während eines Übergangs ist eine Bedingung, dass eine Neuschreibsitzung während eines Übergangs Priorität hat, das heißt eine Sitzung, deren Übergang früher durchgeführt wird, hat Priorität. Welche dieser Prioritätsbedingungen verwendet wird, wird im Voraus festgelegt, und es kann beispielsweise ein Prioritätsbedingungs-Flag für das Fahrzeug eingestellt werden, und das Prioritätsbedingungs-Flag kann für jede Neuschreib-ECU eingestellt bzw. gesetzt werden.
  • Wenn bestimmt wird, dass die drahtgebundene Neuschreibsitzungsprioritätsbedingung erfüllt ist (S1923: Ja), bewirkt der Mikrocomputer 33, dass der zweite Zustand von der drahtlosen Neuschreibsitzung in die Standardsitzung als Antwort auf eine Sitzungsrückkehranfrage übergeht, stoppt das drahtlose Neuschreiben (S1926) und bestimmt, dass der erste Zustand in die drahtgebundene Neuschreibsitzung übergehen kann (S1922). Der Mikrocomputer 33 beendet das drahtlose Neuschreibprogramm entsprechend dem Übergang in die Standardsitzung. Der Mikrocomputer 33 beendet den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtgebundenen Neuschreibanfrage und kehrt zu dem Zustandsübergangsverwaltungsprozess des ersten Zustands zurück.
  • Wenn bestimmt wird, dass die drahtlose Neuschreibsitzungsprioritätsbedingung erfüllt ist (S1924: Ja), beachtet der Mikrocomputer 33 die drahtgebundene Neuschreibanfrage nicht und setzt das drahtlose Neuschreiben fort (S1927). Das heißt, der Mikrocomputer 33 hält den zweiten Zustand in der drahtlosen Neuschreibsitzung aufrecht, setzt die Ausführung des drahtlosen Neuschreibprogramms fort und bestimmt, dass der erste Zustand nicht in die drahtgebundene Neuschreibsitzung übergehen kann (S1928). Der Mikrocomputer 33 beendet den ausschließlichen Neuschreibprozess zu dem Zeitpunkt einer Erzeugung der drahtgebundenen Neuschreibanfrage und kehrt zu dem Zustandsübergangsverwaltungsprozess des ersten Zustands zurück.
  • Wenn bestimmt wird, dass die Neuschreibsitzungsprioritätsbedingung während eines Übergangs erfüllt ist (S1925: Ja), lässt der Mikrocomputer 33 auch in diesem Fall die drahtgebundene Neuschreibanfrage unberücksichtigt und setzt das drahtlose Neuschreiben fort (S1927). Das heißt, der Mikrocomputer 33 hält den zweiten Zustand in der drahtlosen Neuschreibsitzung aufrecht, setzt die Ausführung des drahtlosen Neuschreibprogramms fort und bestimmt, dass der erste Zustand nicht in die drahtgebundene Neuschreibsitzung übergehen kann (S1928). Der Mikrocomputer 33 beendet den ausschließlichen Neuschreibprozess zu dem Zeitpunkt einer Erzeugung der drahtgebundenen Neuschreibanfrage und kehrt zu dem Zustandsübergangsverwaltungsprozess des ersten Zustands zurück. Der Mikrocomputer 33 führt den ausschließlichen Neuschreibprozess zu dem Zeitpunkt einer Erzeugung der drahtgebundenen Neuschreibanfrage wie oben beschrieben aus, und somit werden die drahtgebundene Neuschreibsitzung und die drahtlose Neuschreibsitzung ausschließlich gesteuert, sodass sie nicht gleichzeitig errichtet werden.
  • Wenn der Mikrocomputer 33 zu dem Zustandsübergangsverwaltungsprozess des ersten Zustands zurückgekehrt ist, bestimmt der Mikrocomputer 33, ob der erste Zustand in die drahtgebundene Neuschreibsitzung als Ergebnis des ausschließlichen Neuschreibprozesses zu der Zeit einer Erzeugung der drahtgebundenen Neuschreibanfrage übergehen kann (S1912). Wenn spezifiziert und somit bestimmt wird, dass der erste Zustand durch den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtgebundenen Neuschreibanfrage in die drahtgebundene Neuschreibsitzung übergehen kann (S1912: Ja), bewirkt der Mikrocomputer 33, dass der erste Zustand von der Standardsitzung in die drahtgebundene Neuschreibsitzung über die drahtgebundene Diagnosesitzung übergeht (S1913), stoppt den Fahrzeugsteuerungsprozess und initiiert den drahtgebundenen Neuschreibprozess (S1914). Der Mikrocomputer 33 beendet das Fahrzeugsteuerungsprogramm entsprechend dem Übergang in die drahtgebundene Neuschreibsitzung.
  • Es wird bestimmt, ob die Beendigungsbedingung für den drahtgebundenen Neuschreibprozess erfüllt ist (S1915), und wenn bestimmt wird, dass eine Beendigungsbedingung für den drahtgebundenen Neuschreibprozess erfüllt ist (S1915: Ja), beendet der Mikrocomputer 33 den drahtgebundenen Neuschreibprozess (S1916) und bewirkt, dass der erste Zustand von der drahtgebundenen Neuschreibsitzung in die Standardsitzung übergeht (S1917). Hier ist die Beendigungsbedingung für den drahtgebundenen Neuschreibprozess beispielsweise ein Fall, in dem ein Schreiben des gesamten Applikationsprogramms beendet wurde und eine Integritätsverifizierung ausgeführt wurde.
  • Wenn spezifiziert und somit bestimmt wird, dass der erste Zustand durch den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtgebundenen Neuschreibanfrage nicht in die drahtgebundene Neuschreibsitzung übergehen kann (S1912: Nein), bewirkt der Mikrocomputer 33 nicht, dass der erste Zustand von der Standardsitzung über die drahtgebundene Diagnosesitzung in die drahtgebundene Neuschreibsitzung übergeht. Das heißt, der Mikrocomputer 33 hält den ersten Zustand in der Standardsitzung. Wenn bestimmt wird, dass eine Beendigungsbedingung für die Zustandsübergangsverwaltung erfüllt ist (S1905: Na), beendet der Mikrocomputer 33 den Zustandsübergangsverwaltungsprozess des ersten Zustands.
  • Oben wurde ein Fall beschrieben, bei dem, wenn bestimmt wird, dass ein Übergang in die drahtlose Neuschreibsitzung in dem zweiten Zustand in dem ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtgebundenen Neuschreibanfrage gerade stattfindet, und bestimmt wird, dass die drahtgebundene Neuschreibsitzungsprioritätsbedingung erfüllt ist, der Mikrocomputer 33 das drahtlose Neuschreiben in dem zweiten Zustand stoppt, aber der Mikrocomputer 33 kann entsprechend einer nicht geschriebenen Restmenge bei dem drahtlosen Neuschreiben bestimmen, ob die drahtlose Neuschreibsitzung zu stoppen ist.
  • Wenn bestimmt wird, dass der Übergang in die drahtlose Neuschreibsitzung in dem zweiten Zustand gerade stattfindet (S1921: Ja), und wenn bestimmt wird, dass die drahtgebundene Neuschreibsitzungsprioritätsbedingung erfüllt ist (S1923: Ja), bestimmt der Mikrocomputer 33, ob eine nicht geschriebene Restmenge in dem drahtlosen Neuschreiben gleich oder größer als eine vorbestimmte Menge (beispielsweise 20% oder mehr) in der drahtlosen Neuschreibsitzung während des Übergangs ist (S1931). Wenn bestimmt wird, dass die nicht geschriebene Restmenge bei dem drahtlosen Neuschreiben gleich oder größer als die vorbestimmte Menge ist (S1931: Ja), bewirkt der Mikrocomputer 33, dass der zweite Zustand von der drahtlosen Neuschreibsitzung in die Standardsitzung übergeht, und stoppt das drahtlose Neuschreiben (S1926). Der Mikrocomputer 33 beendet das drahtlose Neuschreibprogramm entsprechend dem Übergang in die Standardsitzung. Wenn bestimmt wird, dass die nicht geschriebene Restmenge des drahtlosen Neuschreibens nicht gleich oder größer als die vorbestimmte Menge ist (S1931: Nein), lässt der Mikrocomputer 33 die drahtgebundene Neuschreibanfrage unberücksichtigt und setzt das drahtlose Neuschreiben fort (S1927). Das heißt, der Mikrocomputer 33 stoppt die drahtlose Neuschreibsitzung, wenn die Restzeit bis zu einer Beendigung des drahtlosen Neuschreibens relativ lang ist, aber stoppt die drahtlose Neuschreibsitzung nicht und setzt diese fort, wenn die Restzeit bis zu einer Beendigung des drahtlosen Neuschreibens relativ kurz ist.
  • Zustandsübergangsverwaltungsprozess des zweiten Zustands
  • Wenn der Mikrocomputer 33 durch Erfassen der Stromversorgung gestartet wird und den Zustandsübergangsverwaltungsprozess des zweiten Zustands initiiert, bestimmt der Mikrocomputer 33 ein Neuschreibbeendigungs-Flag und bestimmt, ob ein Neuschreiben des vorherigen Applikationsprogramms normal beendet wurde (S1941). Wenn bestimmt wird, dass das Neuschreibbeendigungs-Flag positiv ist, und wenn bestimmt wird, dass das Neuschreiben des vorherigen Applikationsprogramms normal beendet wurde (S1941: Ja), bewirkt der Mikrocomputer 33, dass der zweite Zustand in die Standardsitzung übergeht (S1942). Das heißt, der Mikrocomputer 33 bewirkt, dass der zweite Zustand in die Standardsitzung übergeht, und führt somit das Fahrzeugsteuerungsprogramm aus, um den Fahrzeugsteuerungsprozess zu initiieren.
  • Wenn der Fahrzeugsteuerungsprozess initiiert ist, bestimmt der Mikrocomputer 33, ob eine drahtlose Neuschreibanfrage erzeugt wurde (S1943), und bestimmt, ob eine Beendigungsbedingung für die Zustandsübergangsverwaltung erfüllt ist (S1944). Wenn bestimmt wird, dass eine drahtlose Neuschreibanfrage erzeugt wurde (S1943: Ja), während der Fahrzeugsteuerungsprozess ausgeführt wird, initiiert der Mikrocomputer 33 einen ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung einer drahtlosen Neuschreibanfrage (S1944). Wenn der ausschließliche Neuschreibprozess zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage initiiert ist, bestimmt der Mikrocomputer 33, ob ein Übergang in die drahtgebundene Neuschreibsitzung in dem ersten Zustand derzeitig stattfindet, das heißt, ob der erste Zustand die drahtgebundene Neuschreibsitzung ist (S1961). Wenn bestimmt wird, dass der Übergang in die drahtgebundene Neuschreibsitzung in dem ersten Zustand gerade nicht stattfindet (S1961: Nein), bestimmt der Mikrocomputer 33, dass ein Übergang in die drahtlose Neuschreibsitzung auftreten kann (S1962). Der Mikrocomputer 33 beendet den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage und kehrt zu dem Zustandsübergangsverwaltungsprozess des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass der Übergang zu der drahtgebundenen Neuschreibsitzung in dem ersten Zustand derzeitig stattfindet (S1961: Ja), bestimmt der Mikrocomputer 33, ob eine ausschließliche Steuerung durch Vergeben einer Priorität entweder für die drahtgebundene Neuschreibsitzung oder die drahtlose Neuschreibsitzung durchzuführen ist. Insbesondere bestimmt der Mikrocomputer 33, ob irgendeine aus einer drahtlosen Neuschreibsitzungsprioritätsbedingung, einer drahtgebundenen Neuschreibsitzungsprioritätsbedingung und einer Neuschreibsitzungsprioritätsbedingung während eines Übergangs erfüllt ist (S1963 bis S1965).
  • Wenn bestimmt wird, dass die drahtlose Neuschreibsitzungsprioritätsbedingung erfüllt ist (S1963: Ja), bewirkt der Mikrocomputer 33, dass der erste Zustand von der drahtgebundenen Neuschreibsitzung in die Standardsitzung als Antwort auf eine Sitzungsrückkehranfrage übergeht, stoppt das drahtgebundene Neuschreiben (S1966) und bestimmt, dass der zweite Zustand in die drahtlose Neuschreibsitzung übergehen kann (S1962). Der Mikrocomputer 33 beendet das drahtgebundene Neuschreibprogramm entsprechend dem Übergang in die Standardsitzung. Der Mikrocomputer 33 beendet den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage und kehrt zu dem Zustandsübergangsverwaltungsprozess des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass die Prioritätsbedingung für die drahtgebundene Neuschreibsitzung erfüllt ist (S1964: Ja), lässt der Mikrocomputer 33 die drahtlose Neuschreibanfrage unberücksichtigt und setzt das drahtgebundene Neuschreiben fort (S1967). Das heißt, der Mikrocomputer 33 hält den ersten Zustand in der drahtgebundenen Neuschreibsitzung, setzt die Ausführung des drahtgebundenen Neuschreibprogramms fort und bestimmt, dass der zweite Zustand nicht in die drahtlose Neuschreibsitzung übergehen kann (S1968). Der Mikrocomputer 33 beendet den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage und kehrt zu dem Zustandsübergangsverwaltungsprozess des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass die Neuschreibsitzungsprioritätsbedingung während eines Übergangs erfüllt ist (S1965: Ja), lässt der Mikrocomputer 33 auch in diesem Fall die drahtlose Neuschreibanfrage unberücksichtigt und setzt das drahtgebundene Neuschreiben fort (S1967). Das heißt, der Mikrocomputer 33 hält den ersten Zustand in der drahtgebundenen Neuschreibsitzung, setzt die Ausführung des drahtgebundenen Neuschreibprogramms fort und bestimmt, dass der zweite Zustand nicht in die drahtlose Neuschreibsitzung übergehen kann (S1968). Der Mikrocomputer 33 beendet den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage und kehrt zu dem Zustandsübergangsverwaltungsprozess des zweiten Zustands zurück. Der Mikrocomputer 33 führt den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage wie oben beschrieben aus, und somit werden die drahtgebundene Neuschreibsitzung und die drahtlose Neuschreibsitzung ausschließlich gesteuert, sodass sie nicht gleichzeitig errichtet werden.
  • Wenn der Mikrocomputer 33 zu dem Zustandsübergangsverwaltungsprozess des zweiten Zustands zurückkehrt, bestimmt der Mikrocomputer 33, ob der zweite Zustand in die drahtlose Neuschreibsitzung als Ergebnis des ausschließlichen Neuschreibprozesses zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage übergehen kann (S1945). Wenn spezifiziert und somit bestimmt wird, dass der zweite Zustand in die drahtlose Neuschreibsitzung durch den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage übergehen kann (S1945: Ja), bewirkt der Mikrocomputer 33, dass der zweite Zustand von der Standardsitzung in die drahtlose Neuschreibsitzung übergeht (S1946), und führt das drahtlose Neuschreibprogramm aus, um den drahtlosen Neuschreibprozess zu initiieren (S1947). Es wird bestimmt, ob die Beendigungsbedingung für den drahtlosen Neuschreibprozess erfüllt ist (S1948), und wenn bestimmt wird, dass eine Beendigungsbedingung für den drahtlosen Neuschreibprozess erfüllt ist (S1948: Ja), beendet der Mikrocomputer 33 den drahtlosen Neuschreibprozess (S1949) und bewirkt, dass der zweite Zustand von der drahtlosen Neuschreibsitzung in die Standardsitzung übergeht (S1950). Der Mikrocomputer 33 beendet das drahtlose Neuschreibprogramm entsprechend dem Übergang in die Standardsitzung. Hier ist die Beendigungsbedingung für den drahtlosen Neuschreibprozess beispielsweise ein Fall, in dem ein Schreiben des gesamten Applikationsprogramms beendet wurde und die Integritätsverifizierung ausgeführt wurde.
  • Wenn spezifiziert und somit bestimmt wird, dass der zweite Zustand nicht in die drahtlose Neuschreibsitzung durch den ausschließlichen Neuschreibprozess zu der Zeit einer Erzeugung der drahtlosen Neuschreibanfrage übergehen kann (S1945: Nein), bewirkt der Mikrocomputer 33 nicht, dass der zweite Zustand von der Standardsitzung in die drahtlose Neuschreibsitzung übergeht. Das heißt, der Mikrocomputer 33 hält den zweiten Zustand in der Standardsitzung. Wenn bestimmt wird, dass eine Beendigungsbedingung für die Zustandsübergangsverwaltung erfüllt ist (S1951: Ja), beendet der Mikrocomputer 33 den Zustandsübergangsverwaltungsprozess des zweiten Zustands.
  • Oben wurde ein Fall beschrieben, bei dem die Applikationsausführungseinheit 105a das Programm betreffend den drahtgebundenen speziellen Prozess und das Programm betreffend den drahtlosen speziellen Prozess unabhängig (gleichzeitig) ausführen kann, aber es kann eine Konfiguration geben, bei der das drahtgebundene Diagnoseprogramm und das drahtlose Diagnoseprogramm geteilt werden, wie es in 165 dargestellt ist. In der Konfiguration ist das Fahrzeugsteuerungsprogramm in dem Applikationsbereich als das erste Programm angeordnet, und das Diagnoseprogramm (das drahtgebundene Diagnoseprogramm und das drahtlose Diagnoseprogramm) und das drahtlose Neuschreibprogramm sind in dem Applikationsbereich als das zweite Programm angeordnet. Das drahtgebundene Neuschreibprogramm kann in dem Applikationsbereich als das zweite Programm angeordnet sein oder kann in dem Boot-Bereich als das dritte Programm angeordnet sein. Die Applikationsausführungseinheit 105a führt das erste Programm und das zweite Programm gleichzeitig aus. Das heißt, die Applikationsausführungseinheit 105a führt eine Steuerung derart durch, dass das Fahrzeugsteuerungsprogramm und das gemeinsame Diagnoseprogramm gleichzeitig ausgeführt werden können. Andererseits steuert die Applikationsausführungseinheit 105a eine Ausführung eines jeden Programms, das das zweite Programm ausbildet, auf ausschließliche Weise. Das heißt, es wird nur eines aus dem drahtgebundenen Diagnoseprogramm, dem drahtlosen Diagnoseprogramm, dem drahtlosen Neuschreibprogramm und dem drahtgebundenen Neuschreibprogramm für den Betrieb gesteuert.
  • Wie es in 166 dargestellt ist, verwaltet die Applikationsausführungseinheit 105a den Standardzustand (Standardsitzung), den Diagnosezustand (Diagnosesitzung), den drahtgebundenen Neuschreibzustand (drahtgebundene Neuschreibsitzung) und den drahtlosen Neuschreibzustand (drahtlose Neuschreibsitzung) als Zustände und verwaltet einen internen Betriebszustand. Die Zustände, die hier verwaltet werden, werden nicht unabhängig auf drahtgebundene und drahtlose Weise verwaltet, sondern werden auf gemischte Weise als ein Zustand verwaltet.
  • Auch in dieser Konfiguration initiiert die Applikationsausführungseinheit 105a die Ausführung des Diagnoseprogramms, während das Fahrzeugsteuerungsprogramm ausgeführt wird. Die Applikationsausführungseinheit 105a initiiert die Ausführung des drahtlosen Neuschreibprogramms oder des drahtgebundenen Neuschreibprogramms, während das Fahrzeugsteuerungsprogramm ausgeführt wird. Andererseits steuert die Applikationsausführungseinheit 105a die Ausführung des drahtlosen Diagnoseprogramms und des drahtgebundenen Diagnoseprogramms auf ausschließliche Weise. Die Applikationsausführungseinheit 105a steuert außerdem die Ausführung des drahtgebundenen Diagnoseprogramms und des drahtlosen Diagnoseprogramms und des drahtgebundenen Neuschreibprogramm und des drahtlosen Neuschreibprogramms auf ausschließliche Weise. Das heißt, die Applikationsausführungseinheit 105a steuert die Ausführung jedes Programms, das das zweite Programm ausbildet, ausschließlich.
  • In einem Fall, in dem das drahtgebundene Neuschreibprogramm in dem Boot-Bereich als das dritte Programm angeordnet ist, steuert die Applikationsausführungseinheit 105a die Ausführung des dritten Programms und der ersten und zweiten Programme auf ausschließliche Weise. Das heißt, in einem Fall, in dem das drahtgebundene Neuschreibprogramm ausgeführt wird, werden das erste Programm und das zweite Programm beendet und in einem zugehörigen Modus betrieben.
  • Wie es in 166 dargestellt ist, bewirkt die Applikationsausführungseinheit 105a einen Übergang in die Diagnosesitzung, wenn eine Diagnoseanfrage erzeugt wird, während die Ausführung des Fahrzeugsteuerungsprogramms fortgesetzt wird, und initiiert die Ausführung des Diagnoseprogramms. Wenn in diesem Zustand eine drahtlose Neuschreibanfrage erzeugt wird, beendet die Applikationsausführungseinheit 105a das Diagnoseprogramm, bewirkt einen Übergang in die drahtlose Neuschreibsitzung und initiiert die Ausführung des drahtlosen Neuschreibprogramms. Die Ausführung des Fahrzeugsteuerungsprogramms wird fortgesetzt. Andererseits beendet die Applikationsausführungseinheit 105a in einem Fall, in dem eine drahtgebundene Neuschreibanfrage erzeugt wird, das Diagnoseprogramm und das Fahrzeugsteuerungsprogramm, bewirkt einen Übergang in die drahtgebundene Neuschreibsitzung und initiiert die Ausführung des drahtgebundenen Neuschreibprogramms.
  • Sogar wenn das drahtlose Neuschreibprogramm innerhalb des Diagnoseprogramms angeordnet ist, stoppt die Applikationsausführungseinheit 105a die Ausführung des Fahrzeugsteuerungsprogramms und des Diagnoseprogramms und initiiert dann die Ausführung des drahtlosen Neuschreibprogramms, wenn ein Zustandsübergang von der Diagnosesitzung in die drahtlose Neuschreibsitzung während der Ausführung des Fahrzeugsteuerungsprogramms und des Diagnoseprogramms durchgeführt wird. In einem Fall, in dem es keine Sitzung gibt, kann der Prozess fortgesetzt werden.
  • Wenn das drahtgebundene Neuschreibprogramm außerhalb des Diagnoseprogramms angeordnet ist, stoppt die Applikationsausführungseinheit 105a die Ausführung des Fahrzeugsteuerungsprogramms und des drahtlosen Diagnoseprogramms und initiiert die Ausführung des drahtgebundenen Neuschreibprogramms, wenn ein Zustandsübergang von der Diagnosesitzung in die drahtgebundene Neuschreibsitzung während der Ausführung des Fahrzeugsteuerungsprogramms und des Diagnoseprogramms durchgeführt wird. Das heißt, die Applikationsausführungseinheit 105a führt eine Steuerung derart durch, dass die Fahrzeugsteuerung, die drahtgebundene oder drahtlose Diagnose der ECU 19 und das drahtgebundene Neuschreiben eines Applikationsprogramms nicht gleichzeitig ausgeführt werden können und nur das drahtgebundene Neuschreiben des Applikationsprogramms ausgeführt werden kann.
  • Wie es oben beschrieben wurde, führt die ECU 19 den Sitzungserrichtungsprozess durch, führt somit den Zustandsübergangsverwaltungsprozess des ersten Zustands und den Zustandsübergangsverwaltungsprozess des zweiten Zustands aus, verwaltet einen Zustandsübergang jeder Sitzung des ersten Zustands und des zweiten Zustands und errichtet nicht ausschließlich die Standardsitzung oder die drahtgebundene Diagnosesitzung des ersten Zustands und die drahtlose Neuschreibsitzung des zweiten Zustands. Das Fahrzeugsteuerungsprogramm oder das Diagnoseprogramm für die ECU 19 und das drahtlose Neuschreibprogramm werden derart gesteuert, dass sie nicht ausschließlich als Antwort auf Anfragen für die Fahrzeugsteuerung oder die Diagnose der ECU 19 und das drahtlose Neuschreiben eines Programms ausgeführt werden, und somit ist es möglich, geeignet verschiedene Anfragen von der Außenseite zu arbitrieren.
  • In der ECU 19 werden die drahtgebundene Neuschreibsitzung und die drahtlose Neuschreibsitzung ausschließlich errichtet. Das drahtgebundene Neuschreibprogramm und das drahtlose Neuschreibprogramm werden derart gesteuert, dass sie ausschließlich ausgeführt werden, und es können ein drahtgebundenes Neuschreiben des Programms und ein drahtloses Neuschreiben des Programms geeignet arbitriert werden.
  • Wenn in der ECU 19 die drahtgebundene Neuschreibsitzungsprioritätsbedingung erfüllt ist, wird die drahtgebundene Neuschreibsitzung über der drahtlosen Neuschreibsitzung priorisiert. Die drahtgebundene Neuschreibsitzungsprioritätsbedingung wird eingestellt, und somit kann ein drahtgebundenes Neuschreiben des Programms vor einem drahtlosen Neuschreiben des Programms ausgeführt werden. Das drahtgebundene Neuschreiben eines Programms, für das ein Befehl durch eine Wartungsperson bei einem Händler oder Ähnlichem ausgegeben wird, kann beispielsweise vor einem drahtlosen Neuschreiben des Programms, für das ein Befehl von einem Nutzer eines Fahrzeugs ausgegeben wird, ausgeführt werden.
  • In der ECU 19 wird die drahtlose Neuschreibsitzung gegenüber der drahtgebundenen Neuschreibsitzung priorisiert, wenn die drahtlose Neuschreibsitzungsprioritätsbedingung erfüllt ist. Die drahtlose Neuschreibsitzungsprioritätsbedingung wird eingestellt, und somit kann ein drahtloses Neuschreiben eines Programms vor dem drahtgebundenen Neuschreiben des Programms ausgeführt werden. Das drahtlose Neuschreiben eines Programms, für das ein Befehl von einem Nutzer eines Fahrzeugs ausgegeben wird, kann beispielsweise vor dem drahtgebundenen Neuschreiben des Programms ausgeführt werden, für das ein Befehl von einer Wartungsperson bei einem Händler oder Ähnlichem ausgegeben wird.
  • Wenn in der ECU die Neuschreibsitzungsprioritätsbedingung während eines Übergangs erfüllt ist, wird eine Neuschreibsitzung während eines Übergangs priorisiert. Die Neuschreibsitzungsprioritätsbedingung während eines Übergangs wird eingestellt, und somit kann ein Neuschreiben während eines Übergangs vorzugweise ausgeführt werden. Das heißt, es kann eines aus einem drahtgebundenen Neuschreiben und einem drahtlosen Neuschreiben, das früher initiiert wurde, ohne Stoppen fortgesetzt werden.
  • In einer Konfiguration mit Doppelbankapplikationsbereichen sind das Fahrzeugsteuerungsprogramm, das Diagnoseprogramm und das drahtlose Neuschreibprogramm in jedem Applikationsbereich angeordnet, und das Fahrzeugsteuerungsprogramm oder das Diagnoseprogramm und das drahtlose Neuschreibprogramm werden parallel (gleichzeitig) ausgeführt. Eine Speicherkonfiguration des Flash-Speichers 30d ist vorgegeben, und somit können das Fahrzeugsteuerungsprogramm oder das Diagnoseprogramm und das drahtlose Neuschreibprogramm parallel ausgeführt werden.
  • Wenn eine drahtlose Neuschreibanfrage während einer Ausführung des Fahrzeugsteuerungsprogramms oder des drahtgebundenen Diagnoseprogramms bestimmt wird, wird die Ausführung des Fahrzeugsteuerungsprogramms oder des drahtgebundenen Diagnoseprogramms fortgesetzt, und es wird das drahtlose Neuschreibprogramm ausgeführt. Wenn eine drahtlose Neuschreibanfrage während der Ausführung des Fahrzeugsteuerungsprogramms oder des drahtgebundenen Diagnoseprogramms erzeugt wird, können das Fahrzeugsteuerungsprogramm oder das drahtgebundene Diagnoseprogramm und das drahtlose Neuschreibprogramm parallel (gleichzeitig) ausgeführt werden.
  • Wenn eine Fahrzeugsteuerungsanfrage oder eine drahtgebundene Diagnoseanfrage während der Ausführung des drahtlosen Neuschreibprogramms bestimmt wird, wird die Ausführung des drahtlosen Neuschreibprogramms fortgesetzt, und das Fahrzeugsteuerungsprogramm oder das drahtgebundene Diagnoseprogramm wird ausgeführt. Wenn eine Fahrzeugsteuerungsanfrage oder eine drahtgebundene Diagnoseanfrage während der Ausführung des drahtlosen Neuschreibprogramms erzeugt wird, können das drahtlose Neuschreibprogramm und das Fahrzeugsteuerungsprogramm oder das drahtgebundene Diagnoseprogramm parallel (gleichzeitig) ausgeführt werden.
  • Wenn eine drahtgebundene Neuschreibanfrage während der Ausführung des Fahrzeugsteuerungsprogramms oder des drahtlosen Diagnoseprogramms bestimmt wird, wird die Ausführung des Fahrzeugsteuerungsprogramms oder des drahtlosen Diagnoseprogramms gestoppt, und es wird das drahtgebundene Neuschreibprogramm ausgeführt. Wenn eine drahtgebundene Neuschreibanfrage während der Ausführung des Fahrzeugsteuerungsprogramms oder des drahtlosen Diagnoseprogramms erzeugt wird, kann nur das drahtgebundene Neuschreibprogramm ausschließlich ausgeführt werden.
  • In einem Fall der Neuprogrammierung-Firmware vom Einbettungstyp, bei der die Neuprogrammierungs-Firmware eingebettet ist, wird das Neuschreibprogramm unter Verwendung der Firmware ausgeführt, die in dem Applikationsbereich angeordnet ist. Es ist möglich, einen Neuschreibprozess hinsichtlich eines Applikationsprogramms in einer inaktiven Bank auszuführen, ohne die Neuprogrammierungs-Firmware von der Außenseite herunterzuladen.
  • In einem Fall der Neuprogrammierungs-Firmware vom Download-Typ, bei der die Neuprogrammierungs-Firmware von der Außenseite heruntergeladen wird, wird das Neuschreibprogramm unter Verwendung der Firmware ausgeführt, die von der Außenseite heruntergeladen wird. Es ist möglich, einen Neuschreibprozess hinsichtlich eines Applikationsprogramms in einer inaktiven Bank auszuführen, nachdem eine Kapazität eines Neuschreibprogramms in dem Applikationsbereich verringert wurde.
  • Obwohl der Doppelbankspeicher mit zwei dinglichen Applikationsbereichen beschrieben wurde, ist die vorliegende Ausführungsform auch für einen Einzelbank-Suspendierungs-Speicher oder einen externen Speicher mit zwei Pseudo-Applikationsbereichen verwendbar.
  • Obwohl ein Fall eines Differenz-Neuschreibens beschrieben wurde, bei dem neue Daten aus alten Daten und Differenzneuprogrammierungsdaten erzeugt werden, ist die vorliegende Ausführungsform auch für einen Fall eines Neuschreibens verwendbar, bei dem die gesamten neuen Daten durch Löschen der alten Daten geschrieben werden.
  • Obwohl ein Fall beschrieben wurde, bei dem ein Applikationsprogramm der ECU 19 neu geschrieben wird, ist die vorliegende Ausführungsform auch für einen Fall eines Neuschreibens eines Applikationsprogramms des CGW 13 verwendbar. Das heißt, der Flash-Speicher 26d des CGW 13 kann eine Doppelbankkonfiguration aufweisen, die äquivalent zu derjenigen des Flash-Speichers 30d der ECU 19 ist, und der Mikrocomputer 26 kann eine Funktion aufweisen, die äquivalent zu derjenigen des Mikrocomputers 33 der ECU 19 ist.
  • Wiederholungspunktbestimmungsprozess
  • Der Wiederholungspunktbestimmungsprozess wird mit Bezug auf die 170 bis 174 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Wiederholungspunktbestimmungsprozess in der Neuschreibziel-ECU 19 durch. Der Wiederholungspunkt besteht aus Informationen, die einen Abschnitt entsprechend einem beendeten Prozess angeben, um ein gestopptes Schreiben von Schreibdaten auf halbem Wege wiederaufzunehmen, wenn die Schreibdaten in einem Fall gestoppt wurden, und somit die Schreibdaten mehrere Male geschrieben werden. Als ein Fall, bei dem ein Schreiben von Schreibdaten gestoppt wird, gibt es beispielsweise einen Fall, bei dem ein Abbruch aufgrund eines Nutzerbetriebes auftritt, ein Fall, bei dem eine Abnormität wie eine Kommunikationsunterbrechung auftritt, und einen Fall, bei dem eine Zündung während eines Parkzustands von einem ausgeschalteten Zustand in einen eingeschalteten Zustand wechselt.
  • In der ECU 19 teilt die Programmneuschreibeinheit 102 eine Folge von Prozessen betreffend ein Neuschreiben eines Applikationsprogramms unter mehreren Neuschreibprogrammen. Die Programmneuschreibeinheit 102 enthält ein erstes Neuschreibprogramm zum Durchführen eines ersten Prozesses und ein zweites Neuschreibprogramm zum Durchführen eines zweiten Prozesses und führt aufeinanderfolgend die jeweiligen Neuschreibprogramme aus. Der erste Prozess, der von dem ersten Neuschreibprogramm durchgeführt wird, ist beispielsweise ein Speicherlöschprozess zum Löschen von Daten in dem Flash-Speicher und ein Datenschreibprozess zum Schreiben der Schreibdaten. Der zweite Prozess, der von dem zweiten Neuschreibprogramm durchgeführt wird, ist beispielsweise ein Verifizierungsprozess und ein Fälsch u ngs prüfu ngsprozess.
  • Wie es in 170 dargestellt ist, enthält die ECU 19 eine erste Prozess-Flag-Einstelleinheit 106a, eine zweite Prozess-Flag-Einstelleinheit 106b und eine Wiederholungspunktbestimmungseinheit 106c in der Wiederholungspunktbestimmungseinheit 106. Wenn die Programmneuschreibeinheit 102 das erste Neuschreibprogramm ausführt, bestimmt die erste Prozess-Flag-Einstelleinheit 106a, ob die Programmneuschreibeinheit 102 den ersten Prozess unter Verwendung des ersten Neuschreibprogramms beendet hat, und setzt ein erstes Prozess-Flag, das das Bestimmungsergebnis angibt. Wenn bestimmt wird, dass die Programmneuschreibeinheit 102 den ersten Prozess beendet hat, setzt die erste Prozess-Flag-Einstelleinheit 106a das erste Prozess-Flag auf „OK“.
  • Wenn die Programmneuschreibeinheit 102 das zweite Neuschreibprogramm ausführt, bestimmt die zweite Prozess-Flag-Einstelleinheit 106b, ob die Programmneuschreibeinheit 102 den zweiten Prozess unter Verwendung des zweiten Neuschreibprogramms beendet hat, und setzt ein zweites Prozess-Flag, das das Bestimmungsergebnis angibt. Wenn bestimmt wird, dass die Programmneuschreibeinheit 102 den zweiten Prozess beendet hat, setzt die zweite Prozess-Flag-Einstelleinheit 106b das zweite Prozess-Flag auf „OK“.
  • Die Wiederholungspunktbestimmungseinheit 106c bestimmt einen Wiederholungspunkt, wenn die Programmneuschreibeinheit 102 ein Neuschreiben eines Applikationsprogramms neu versucht bzw. wiederholt, entsprechend dem ersten Prozess-Flag und dem zweiten Prozess-Flag in einem Fall, in dem ein Teil des Prozesses betreffend das Neuschreiben des Programms gestoppt wurde. Die Wiederholungspunktbestimmungseinheit 106c speichert eine Schreibmenge von Aktualisierungsdaten bis zu dem Stoppen und fordert das CGW 13 auf, die Aktualisierungsdaten auf der Grundlage der gespeicherten Schreibmenge der Aktualisierungsdaten in einem Fall zu übertragen, in dem der Prozess betreffend ein Neuschreiben des Programms wiederaufgenommen wird. Wie es in 171 dargestellt ist, werden das erste Prozess-Flag und das zweite Prozess-Flag in demselben Block des Flash-Speichers der Neuschreibziel-ECU 19 gespeichert.
  • Im Folgenden wird ein Betrieb der Wiederholungspunktbestimmungseinheit 106 in der Neuschreibziel-ECU 19 mit Bezug auf die 172 bis 174 beschrieben. Die Neuschreibziel-ECU 19 führt ein Wiederholungspunktbestimmungsprogramm aus und führt somit den Wiederholungspunktbestimmungsprozess durch. Die Neuschreibziel-ECU 19 führt einen Prozess-Flag-Einstellprozess und einen Prozess-Flag-Bestimmungsprozess als Wiederholungspunktbestimmungsprozess durch. Im Folgenden wird jeder Prozess beschrieben.
  • Prozess-Flag-Einstellprozess
  • Wenn der Prozess-Flag-Einstellprozess initiiert ist, bestimmt die Neuschreibziel-ECU 19, ob ein Vorprozess vor einem Neuschreiben eines Applikationsprogramms beendet wurde (S2001). Wenn bestimmt wird, dass der Vorprozess vor einem Neuschreiben des Applikationsprogramms beendet wurde (S2001: Ja), setzt die Neuschreibziel-ECU 19 das erste Prozess-Flag auf „NG“, setzt das zweite Prozess-Flag auf „NG“ und speichert die gesetzten Prozess-Flags (S2002; entspricht einer ersten Prozess-Flag-Einstellprozedur und einer zweiten Prozess-Flag-Einstellprozedur).
  • Wenn Schreibdaten von dem CGW 13 empfangen werden, initiiert die Neuschreibziel-ECU 19 den ersten Prozess (S2003) und bestimmt, ob der erste Prozess beendet wurde (S2004). Wenn bestimmt wird, dass der erste Prozess beendet wurde (S2004: Ja), setzt die Neuschreibziel-ECU 19 das erste Prozess-Flag auf „OK“ in einem Zustand, in dem das zweite Prozess-Flag weiterhin auf „NG“ gesetzt ist, und speichert das gesetzte erste Prozess-Flag (S2005; entspricht einer ersten Prozess-Flag-Einstellprozedur und einer zweiten Prozess-Flag-Einstellprozedur). Die Neuschreibziel-ECU 19 speichert eine Schreibbeendigungsadresse, die einen Teil bzw. Abschnitt angibt, bei dem ein Schreiben in dem Flash-Speicher beendet wurde.
  • Die Neuschreibziel-ECU 19 initiiert den zweiten Prozess wie beispielsweise ein Senden einer Schreibbeendigungsmitteilung an das CGW 13 (S2006) und bestimmt, ob der zweite Prozess beendet wurde (S2007). Wenn bestimmt wird, dass der zweite Prozess beendet wurde (S2007: Ja), setzt die Neuschreibziel-ECU 19 das zweite Prozess-Flag auf „OK“ und speichert das gesetzte zweite Prozess-Flag in einem Zustand, in dem das erste Prozess-Flag weiterhin auf „OK“ gesetzt ist (S2008; entspricht einer ersten Prozess-Flag-Einstellprozedur und einer zweiten Prozess-Flag-Einstellprozedur), und beendet den Prozess-Flag-Einstellprozess.
  • Prozess-Flag-Bestimmungsprozess
  • Wenn die Neuschreibziel-ECU 19 von dem Schlafzustand oder dem Stoppzustand aus gestartet wird und der Prozess-Flag-Bestimmungsprozess initiiert wird, wird die Neuschreibziel-ECU 19 durch das Boot-Programm gestartet (S2011) und liest das erste Prozess-Flag und das zweite Prozess-Flag aus dem Flash-Speicher aus und bestimmt die Flags (S2012 bis S2015).
  • Wenn bestimmt wird, dass das erste Prozess-Flag auf „NG“ gesetzt ist und das zweite Prozess-Flag auf „NG“ gesetzt ist (S2012: Ja), bestimmt die Neuschreibziel-ECU 19 einen Wiederholungspunkt zu Beginn des ersten Prozesses, teilt dem CGW 13 eine Wiederholungsanfrage von dem Beginn des ersten Prozesses mit (S2016; entspricht einer Wiederholungspunktbestimmungsprozedur) und beendet den Wiederholungspunktbestimmungsprozess. Das heißt, die Neuschreibziel-ECU 19 fordert das CGW 13 auf, die Schreibdaten zu verteilen. In diesem Fall teilt die Neuschreibziel-ECU 19 ebenfalls dem CGW 13 die Schreibbeendigungsadresse mit, die aus dem Flash-Speicher gelesen wird, und somit bestimmt das CGW 13, welche zu teilenden und verteilenden Schreibdaten zu verteilen sind. Wenn bestimmt wird, dass das erste Prozess-Flag auf „NG“ gesetzt ist und das zweite Prozess-Flag auf „OK“ gesetzt ist (S2013: Ja), bestimmt die Neuschreibziel-ECU 19 auch in diesem Fall einen Wiederholungspunkt zu Beginn des ersten Prozesses (S2016; entspricht einer Wiederholungspunktbestimmungsprozedur), teilt dem CGW 13 eine Wiederholungsanfrage von dem Beginn des ersten Prozesses mit (S2017) und beendet den Prozess-Flag-Bestimmungsprozess.
  • Wenn bestimmt wird, dass das erste Prozess-Flag auf „OK“ gesetzt ist und das zweite Prozess-Flag auf „NG“ gesetzt ist (S2014: Ja), bestimmt die Neuschreibziel-ECU 19 einen Wiederholungspunkt zu Beginn des zweiten Prozesses (S2018; entspricht einer Wiederholungspunktbestimmungsprozedur), teilt dem CGW 13 eine Wiederholungsanfrage von dem Beginn des zweiten Prozesses mit (S2019) und beendet den Prozess-Flag-Bestimmungsprozess. Die ECU 19 teilt dem CGW 13 beispielsweise mit, bis zu welcher Adresse das Schreiben als der zweite Prozess beendet wurde.
  • Wenn bestimmt wird, dass das erste Prozess-Flag auf „OK“ gesetzt ist und das zweite Prozess-Flag auf „OK“ gesetzt ist (S2015: Ja), teilt die Neuschreibziel-ECU 19 dem CGW 13 die Beendigung des Prozesses betreffend das Neuschreiben des Applikationsprogramms mit (S2020) und beendet den Prozess-Flag-Bestimmungsprozess. Wenn das CGW 13 Teilschreibdaten verteilt, stellt die Neuschreibziel-ECU 19 den oben beschriebenen Wiederholungspunkt gemäß bzw. in einer Teilschreibdateneinheit ein.
  • Wie es oben beschrieben wurde, führt die Neuschreibziel-ECU 19 den Wiederholungspunktbestimmungsprozess durch, setzt somit das erste Prozess-Flag, das angibt, ob der erste Prozess beendet wurde, setzt das zweite Prozess-Flag, das angibt, ob der zweite Prozess beendet wurde, und bestimmt einen Wiederholungspunkt entsprechend dem ersten Prozess-Flag und dem zweiten Prozess-Flag. In einem Fall beispielsweise, in dem der erste Prozess beendet wurde und die Neuschreibziel-ECU 19 in einem Zustand neu gestartet wird, in dem der zweite Prozess nicht beendet ist, kann verhindert werden, dass dieselben Schreibdaten erneut geschrieben werden.
  • Die Neuschreibziel-ECU 19 speichert eine Datenmenge der Schreibdaten, deren Schreiben beendet wurde, das heißt, wie viele Bytes der Schreibdaten geschrieben wurden, und fordert das CGW 13 auf, die Schreibdaten ab den Bytes in einem Fall zu übertragen, in dem ein Schreiben der Schreibdaten wiederaufgenommen wird. In einem Fall, in dem die Neuschreibziel-ECU 19 speichert, wie viele Bytes der Schreibdaten geschrieben wurden, und das Schreiben wiederaufnimmt, fordert die Neuschreibziel-ECU 19 das CGW 13 auf, die Schreibdaten ab bzw. von den Bytes an zu übertragen. Daher kann das CGW 13 zu der Zeit der Wiederaufnahme des Schreibens ein verschwenderisches Neuübertragen der übertragenen Schreibdaten vermeiden, und die Neuschreibziel-ECU 19 kann die Schreibdaten von dem nächsten Schreibbereich eines Schreibbereichs aus, in den die Schreibdaten geschrieben wurden, schreiben. Die Neuschreibziel-ECU 19, die keine Funktion zum Speichern dessen aufweist, wie viele Bytes von Schreibdaten geschrieben wurden, fordert das CGW 13 in einem Fall, in dem ein Schreiben der Schreibdaten wiederaufgenommen wird. auf, die Schreibdaten ab den führenden Schreibdaten zu übertragen.
  • Fortschrittszustandssynchronisationssteuerungsprozess
  • Der Fortschrittszustandssynchronisationssteuerungsprozess wird mit Bezug auf die 175 bis 180 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt einen Fortschrittszustandssynchronisationssteuerungsprozess in dem CGW 13 und der Zentrumsvorrichtung 3 durch. Das Fahrzeug-Programmneuschreibsystem 1 enthält das mobile Endgerät 6 und die fahrzeugeigene Anzeige 7 als das Anzeigeendgerät 5, das es einem Nutzer ermöglicht, einen Eingabebetrieb durchzuführen. Die fahrzeugeigene Anzeige 7 zeigt in Kooperation mit dem CGW 13 einen Fortschrittsbildschirm an, der den Fortschritt eines Neuschreibens angibt. Das mobile Endgerät 6 ist mit der Zentrumsvorrichtung 3 verbunden und zeigt somit einen Fortschrittsbildschirm an, der den Fortschritt des Neuschreibens angibt, der durch die Zentrumsvorrichtung 3 bereitgestellt wird. Das CGW 13 und die Zentrumsvorrichtung 3 führen den Fortschrittszustandssynchronisationssteuerungsprozess derart durch, dass Informationen, die auf dem mobilen Endgerät 6 angezeigt werden, und Informationen, die auf der fahrzeugeigenen Anzeige 7 angezeigt werden, miteinander synchronisiert werden.
  • Wie es in der oben beschriebenen 30 dargestellt ist, werden beispielsweise, wenn die Neuschreibziel-ECU 19 die ECU ist, die mit einem Doppelbankspeicher ausgerüstet ist, Prozeduren betreffend das Neuschreiben eines Applikationsprogramms entsprechend der Kampagnen-Mitteilungsphase, in der einem Nutzer das Neuschreiben des Applikationsprogramms mitgeteilt wird und die Zustimmung des Nutzers erhalten wird, der Download-Phase, in der Schreibdaten von der Zentrumsvorrichtung 3 an das DCM 12 heruntergeladen werden, der Installationsphase, in der die Schreibdaten von dem CGW 13 an die Neuschreibziel-ECU 19 verteilt werden, und der Aktivierungsphase, in der eine aktive Bank bei dem nächsten Start von einer alten Bank zu einer neuen Bank wechselt, durchgeführt. Das heißt, der Nutzer bedient das mobile Endgerät 6 oder die fahrzeugeigene Anzeige 7 und bewirkt somit ein Fortschreiten einer Folge von Prozeduren betreffend ein Neuschreiben des Applikationsprogramms, beispielsweise durch Zustimmen zu der Ausführung einer jeweiligen Phase.
  • Wie es in 175 dargestellt ist, enthält das CGW 13 eine erste Fortschrittszustandsbestimmungseinheit 88a, eine erste Fortschrittszustandsübertragungseinheit 88b, eine zweite Fortschrittszustandsbeschaffungseinheit 88c und eine erste Anzeigebefehlseinheit 88d in der Fortschrittszustandssynchronisationssteuerungseinheit 88. Die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt einen ersten Fortschrittszustand betreffend ein Neuschreiben eines Programms und bestimmt Fortschrittszustände beispielsweise der Kampagnen-Mitteilungsphase, der Download-Phase, der Installationsphase und der Aktivierungsphase. Die Kampagnen-Mitteilungsphase ist eine Phase, in der eine Kampagne empfangen wird, die Bildschirme, die in den 32 und 33 dargestellt sind, angezeigt werden und die Zustimmung des Nutzers erhalten wird. Die Download-Phase ist eine Phase, in der die in den 34 bis 37 dargestellten Bildschirme angezeigt werden, die Zustimmung des Nutzers erhalten wird und der Download ausgeführt wird. Die Installationsphase ist eine Phase, in der der Download beendet wurde, die in den 38 bis 42 dargestellten Bildschirme angezeigt werden, und die Installation durch Erhalten der Zustimmung des Nutzers durchgeführt wird. Die Aktivierungsphase ist eine Phase, in der der in 43 dargestellte Bildschirm angezeigt wird, die Zustimmung des Nutzers erhalten wird und die Aktivierung ausgeführt wird.
  • Die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt einen Betrieb, der von dem Nutzer hinsichtlich der fahrzeugeigenen Anzeige 7 durchgeführt wird, und bestimmt einen ersten Fortschrittszustand durch Übertragen eines Nutzerbetriebssignals von der fahrzeugeigenen Anzeige 7 an das CGW 13, wenn der Nutzer das Fahrzeug fährt und der Nutzer „Ausführung von Programmaktualisierung zustimmen“ auf der fahrzeugeigenen Anzeige 7 auswählt und einen Betrieb zum Fortschreiten zu der nächsten Phase durchführt. In diesem Fall entspricht das Auswählen von „Ausführung von Programmaktualisierung zustimmen“ einer Betätigung irgendeines aus dem „Download starten“-Knopfes 503a, der in 34 dargestellt ist, des „sofortige Aktualisierung“-Knopfes 506a, der in 39 dargestellt ist, des „Aktualisierung planen“-Knopfes 506b und des „OK“-Knopfes 508b, der in 43 dargestellt ist. Wenn der erste Fortschrittszustand bestimmt wird, verwaltet die erste Fortschrittszustandsbestimmungseinheit 88a den bestimmten ersten Fortschrittszustand als den derzeitigen Fortschrittszustand.
  • Wenn der erste Fortschrittszustand durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt ist, überträgt die erste Fortschrittszustandsübertragungseinheit 88b den bestimmten ersten Fortschrittszustand an die Zentrumsvorrichtung 3 und überträgt außerdem den bestimmten ersten Fortschrittszustand an jede fahrzeugeigene Anzeigevorrichtung wie die fahrzeugeigene Anzeige 7. Die zweite Fortschrittszustandsbeschaffungseinheit 88c beschafft einen zweiten Fortschrittszustand betreffend das Neuschreiben des Programms von der Zentrumsvorrichtung 3. Wenn der erste Fortschrittszustand durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wurde und der zweite Fortschrittszustand durch die zweite Fortschrittszustandsbeschaffungseinheit beschafft wurde, gibt die erste Anzeigebefehlseinheit 88d einen Befehl zum Erzeugen von Inhalten, die auf der fahrzeugeigenen Anzeige 7 anzeigbar sind, auf der Grundlage des bestimmten ersten Fortschrittszustands und des beschafften zweiten Fortschrittszustands aus.
  • In einem Fall, in dem die zweite Fortschrittszustandsbeschaffungseinheit 88c den zweiten Fortschrittszustand von der Zentrumsvorrichtung 3 beschafft, verwaltet hier die erste Fortschrittszustandsbestimmungseinheit 88a den zweiten Fortschrittszustand als den derzeitigen Fortschrittszustand, wenn der zweite Fortschrittszustand eine frühere Phase als der derzeitige Fortschrittszustand ist. Das heißt, der erste Fortschrittszustand wird auf einen Wert des zweiten Fortschrittszustands aktualisiert. Die erste Fortschrittszustandsübertragungseinheit 88b überträgt den ersten Fortschrittszustand, der der derzeitige Fortschrittszustand ist, an die Zentrumsvorrichtung 3. In einem Fall beispielsweise, in dem der erste Fortschrittszustand eine „Download-Wartephase“ ist und ein Nutzerzustimmungsbetrieb auf dem mobilen Endgerät 6 durchgeführt wird, beschafft die zweite Fortschrittszustandsbeschaffungseinheit 88c eine „Download-Fortschrittsphase“ als den zweiten Fortschrittszustand von der Zentrumsvorrichtung 3. Da die „Download-Fortschrittsphase“, die von der Zentrumsvorrichtung 3 beschafft wird, eine frühere Phase als der derzeitige Fortschrittszustand ist, aktualisiert die erste Fortschrittszustandsbestimmungseinheit 88a den ersten Fortschrittszustand, der der derzeitige Fortschrittszustand ist, in einen Wert des zweiten Fortschrittszustands, überträgt den aktualisierten ersten Fortschrittszustand an die Zentrumsvorrichtung 3 und überträgt außerdem den aktualisierten ersten Fortschrittszustand an verschiedene fahrzeugeigene Anzeigevorrichtungen wie die fahrzeugeigene Anzeige 7. Zusätzlich zu der „Download-Fortschrittsphase“ als dem ersten Fortschrittszustand kann „Download X% beendet“, was den Grad des Fortschritts des Downloads angibt, übertragen werden.
  • In einem Fall, in dem ein Nutzerbetriebssignal in der fahrzeugeigenen Anzeige 7 erzeugt wird, gibt die erste Anzeigebefehlseinheit 88d einen Befehl zum Erzeugen von Inhalten auf der Grundlage des ersten Fortschrittszustands, der durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wird, aus. In einem Fall, in dem ein Nutzerbetriebssignal in dem mobilen Endgerät 6 erzeugt wird, gibt die erste Anzeigebefehlseinheit 88d einen Befehl zum Erzeugen von Inhalten auf der Grundlage des zweiten Fortschrittszustands, der durch die zweite Fortschrittszustandsbeschaffungseinheit 88c beschafft wird, aus. In einer Konfiguration, in der der erste Fortschrittszustand, der durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wird, stets als der derzeitige Fortschrittszustand verwaltet wird, das heißt, wenn die Master-Vorrichtung 11 den derzeitigen Fortschrittszustand verwaltet, kann die erste Anzeigebefehlseinheit 88d einen Befehl zum Erzeugen von Inhalten auf der Grundlage des ersten Fortschrittszustands ausgeben.
  • Wie es in 176 dargestellt ist, enthält die Zentrumsvorrichtung 3 eine zweite Fortschrittszustandsbestimmungseinheit 53a, eine zweite Fortschrittszustandsübertragungseinheit 53b, eine erste Fortschrittszustandsbeschaffungseinheit 53c und eine zweite Anzeigebefehlseinheit 53d in der Fortschrittszustandssynchronisationssteuerungseinheit 53. Die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt den zweiten Fortschrittszustand betreffend ein Neuschreiben eines Programms und bestimmt die Fortschrittszustände beispielsweise der Kampagnen-Mitteilungsphase, der Download-Phase, der Installationsphase und der Aktivierungsphase. Wenn der Nutzer aussteigt (parkt), „Ausführung von Programmaktualisierung zustimmen“ auf dem mobilen Endgerät 6 auswählt und einen Betrieb durchführt oder zur nächsten Phase fortschreitet, empfängt die zweite Fortschrittszustandsbestimmungseinheit 53a ein Nutzerbetriebssignal, das von dem mobilen Endgerät 6 übertragen wird, in einer Umgebung, in der das mobile Endgerät 6 und die Zentrumsvorrichtung 3 eine Datenkommunikation miteinander durchführen können.
  • Die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt den zweiten Fortschrittszustand auf der Grundlage des derzeitigen Fortschrittszustands, der der erste Fortschrittszustand ist, der zuvor von der Master-Vorrichtung 11 durch die erste Fortschrittszustandsbeschaffungseinheit 53c empfangen wurde, und des Nutzerbetriebssignals. Wenn beispielsweise der derzeitige Fortschrittszustand eine „Installationswartephase“ ist und das Nutzerbetriebssignal, das „Zustimmen“ angibt, empfangen wird, bestimmt die zweite Fortschrittszustandsbestimmungseinheit 53a, dass der zweite Fortschrittszustand eine „Installationsfortschrittsphase“ ist. Die zweite Fortschrittszustandsbestimmungseinheit 53a kann „mit Nutzerzustimmung in der Installationswartephase“ bestimmen. Das Nutzerbetriebssignal in dem mobilen Endgerät 6 wird von der Zentrumsvorrichtung 3 an das DCM 12 in einer Umgebung übertragen, in der das DCM 12 und die Zentrumsvorrichtung 3 eine Datenkommunikation miteinander durchführen können. Die Nutzerbetriebssignale werden von dem DCM 12 an das CGW 13 übertragen, und somit kann das CGW 13 den Betrieb, der von dem Nutzer auf dem mobilen Endgerät 6 durchgeführt wird, bestimmen, um den Fortschrittszustand zu bestimmen.
  • Wenn der zweite Fortschrittszustand durch die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt wird, überträgt die zweite Fortschrittszustandsübertragungseinheit 53b den bestimmten zweiten Fortschrittszustand an die Master-Vorrichtung 11. Die erste Fortschrittszustandsbeschaffungseinheit 53c beschafft den ersten Fortschrittszustand betreffend das Neuschreiben des Programms von der Master-Vorrichtung 11 und verwaltet den ersten Fortschrittszustand als den derzeitigen Fortschrittszustand. Als derzeitiger Fortschrittszustand kann der zweite Fortschrittszustand auf einen Wert des ersten Fortschrittszustands aktualisiert werden. Wenn der zweite Fortschrittszustand durch die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt ist und der erste Fortschrittszustand durch die erste Fortschrittszustandsbeschaffungseinheit 53d beschafft ist, gibt die zweite Anzeigebefehlseinheit 53d einen Befehl zum Erzeugen von Inhalten, die auf dem mobilen Endgerät 6 anzeigbar sind, auf der Grundlage des bestimmten zweiten Fortschrittszustands und des beschafften ersten Fortschrittszustands aus.
  • In einem Fall beispielsweise, in dem es nur ein Nutzerbetriebssignal in dem mobilen Endgerät 6 gibt, geben der zweite Fortschrittszustand, der durch die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt wird, und der erste Fortschrittszustand, der durch die erste Fortschrittszustandsbeschaffungseinheit 53d beschafft wird, denselben Fortschrittszustand an. Daher kann die zweite Anzeigebefehlseinheit 53d einen Befehl zum Erzeugen der Inhalte auf der Grundlage des zweiten Fortschrittszustands ausgeben. Wenn das Nutzerbetriebssignal danach in der fahrzeugeigenen Anzeige 7 erzeugt wird, gibt die zweite Anzeigebefehlseinheit 53d einen Befehl zum Erzeugen der Inhalte auf der Grundlage des beschaffen ersten Fortschrittszustands aus.
  • Wenn eine SMS als ein Fortschrittszustandssignal von der Zentrumsvorrichtung 3 empfangen wird, wird das mobile Endgerät 6 beispielsweise mit der Zentrumsvorrichtung 3 verbunden, wenn der Nutzer eine URL, die in der SMS beschrieben ist, auswählt, und zeigt einen Bildschirm einer vorbestimmten Phase an, die von der Zentrumsvorrichtung 3 bereitgestellt wird.
  • Im Folgenden werden mit Bezug auf die 177 bis 180 Betriebe beschrieben, die von der Fortschrittszustandssynchronisationssteuerungseinheit 88 in dem CGW 13 und der Fortschrittszustandssynchronisationssteuerungseinheit 53 in der Zentrumsvorrichtung 3 durchgeführt werden.
  • Wie es in 177 dargestellt ist, übertragen und empfangen die Master-Vorrichtung 11 und die Zentrumsvorrichtung 3 ein erstes Fortschrittszustandssignal und ein zweites Fortschrittszustandssignal, um eine Synchronisation einer Anzeige eines Fortschrittszustands einer Phase in dem mobilen Endgerät 6 und der fahrzeugeigenen Anzeige 7 zu bewirken. Das heißt, wenn der erste Fortschrittszustand, der der derzeitige Fortschrittszustand ist, aktualisiert wird, überträgt die Master-Vorrichtung 11 das erste Fortschrittszustandssignal an die Zentrumsvorrichtung 3 und überträgt außerdem das erste Fortschrittszustandssignal an verschiedene fahrzeugeigene Anzeigevorrichtungen wie die fahrzeugeigene Anzeige 7. Die Zentrumsvorrichtung 3 überträgt das erste Fortschrittszustandssignal als den derzeitigen Fortschrittszustand an das mobile Endgerät 6. Wenn das mobile Endgerät 6 auf die Zentrumsvorrichtung 3 zugreifen kann, befinden sich demzufolge die Anzeige eines Fortschrittszustands einer Phase auf dem mobilen Endgerät 6 und diejenige auf der fahrzeugeigenen Anzeige 7 in Synchronisation zueinander. Die Zentrumsvorrichtung 3 überträgt das zweite Fortschrittszustandssignal an die Master-Vorrichtung 11 auf der Grundlage eines Nutzerzustimmungsbetriebs auf dem mobilen Endgerät 6 und bewirkt somit eine Synchronisation in der Anzeige des Fortschrittszustands der Phase in dem mobilen Endgerät 6 und der fahrzeugeigenen Anzeige 7, wenn das mobile Endgerät 6 auf die Zentrumsvorrichtung 3 zugreifen kann.
  • Die Master-Vorrichtung 11, die das zweite Fortschrittszustandssignal beschafft hat, kann den ersten Fortschrittszustand, der der derzeitige Fortschrittszustand ist, aktualisieren und kann dann den ersten Fortschrittszustand an die Zentrumsvorrichtung 3 und jede fahrzeugeigene Anzeigevorrichtung wie die fahrzeugeigene Anzeige 7 übertragen. Das heißt, die Master-Vorrichtung 11 überträgt den derzeitigen Fortschrittszustand an die Zentrumsvorrichtung 3 und jede fahrzeugeigene Anzeigevorrichtung wie die fahrzeugeigene Anzeige 7 und dient somit als eine Phasenverwaltungsvorrichtung. Hier kann das zweite Fortschrittszustandssignal, das von dem mobilen Endgerät 6, der fahrzeugeigenen Anzeige 7 und der Zentrumsvorrichtung 3 übertragen wird, eine Mitteilung sein, die irgendeine Phase angibt, oder kann eine Mitteilung, die angibt, dass ein Nutzerzustimmungsbetrieb durchgeführt wurde, oder eine Mitteilung sein, die die Bedeutung eines betätigten Knopfes angibt.
  • Wenn der Fortschrittszustandssynchronisationssteuerungsprozess initiiert ist, überträgt das CGW 13 die Verteilungsspezifikationsdaten an die fahrzeugeigene Anzeige 7 (S2101). Die Verteilungsspezifikationsdaten enthalten Text oder Inhalte, die dem Nutzer durch die fahrzeugeigene Anzeige 7 anzuzeigen sind. Das CGW 13 bestimmt auf der Grundlage einer Mitteilung von der fahrzeugeigenen Anzeige 7 oder der Zentrumsvorrichtung 3, ob der Nutzer einen Betrieb auf der fahrzeugeigenen Anzeige 7 oder dem mobilen Endgerät 6 durchgeführt hat (S2102). Wenn bestimmt wird, dass der Nutzer einen Betrieb auf der fahrzeugeigenen Anzeige 7 oder dem mobilen Endgerät 6 durchgeführt hat (S2102: Ja), bestimmt das CGW 13 eine Phase entsprechend dem Betrieb auf der Grundlage des ersten Fortschrittszustands (S2103 bis S2106; entspricht einer ersten Fortschrittszustandsbestimmungsprozedur).
  • Wenn die Kampagnen-Mitteilungsphase bestimmt wird (S2103: Ja), führt das CGW 13 einen Prozess in der Kampagnen-Mitteilungsphase durch (S2107) und überträgt ein erstes Fortschrittszustandssignal, das einen Fortschrittszustand des Prozesses in der Kampagnen-Mitteilungsphase angibt, an die fahrzeugeigene Anzeige 7 und die Zentrumsvorrichtung 3 (S2111). Der Prozess in der Kampagnen-Mitteilungsphase ist beispielsweise ein Prozess zum Beschaffen des Eingabebetriebs des Nutzers auf der fahrzeugeigenen Anzeige 7 oder dem mobilen Endgerät 6.
  • Das CGW 13 beschafft von der fahrzeugeigenen Anzeige 7 oder dem mobilen Endgerät 6 über die Zentrumsvorrichtung 3 beispielsweise Bedingungen wie ein Datum und einen Ort, an dem ein Programm ausgeführt werden darf, zusätzlich zu einer Zustimmung oder Ablehnung zur Aktualisierung des Programms. Wenn Informationen, die angeben, dass es eine Eingabebetätigung bzw. einen Eingabebetrieb für eine Zustimmung auf dem mobilen Endgerät 6 gibt, von der Zentrumsvorrichtung 3 über das DCM 12 beschafft werden, teilt das CGW 13 der fahrzeugeigenen Anzeige 7 den Fortschritt wie beispielsweise eine Vollendung der Zustimmung mit. Wenn andererseits Informationen, die angeben, dass es einen Eingabebetrieb des Nutzers für eine Zustimmung auf der fahrzeugeigenen Anzeige 7 gibt, von der fahrzeugeigenen Anzeige beschafft werden, teilt das CGW 13 der Zentrumsvorrichtung 3 den Fortschritt wie eine Vollendung der Zustimmung mit.
  • Wenn die Download-Phase bestimmt wird (S2104: Ja), führt das CGW 13 einen Prozess in der Download-Phase durch (S2108) und überträgt ein erstes Fortschrittszustandssignal, das einen Fortschrittszustand des Prozesses in der Download-Phase angibt, an die fahrzeugeigene Anzeige 7 und die Zentrumsvorrichtung (S2111). Der Prozess in der Download-Phase ist beispielsweise ein Prozess zum Berechnen eines Prozentsatzes eines beendeten Downloads eines Verteilungspakets.
  • Das CGW 13 bestimmt den Prozentsatz des beendeten Downloads auf der Grundlage einer Mitteilung von der Zentrumsvorrichtung 3. Das CGW 13 teilt der fahrzeugeigenen Anzeige 7 und der Zentrumsvorrichtung 3 den Fortschritt mit, der den Prozentsatz des beendeten Downloads angibt. Das CGW 13 führt den Prozess wiederholt durch, bis der Download des Verteilungspakets beendet ist. Wenn der Download beendet ist, teilt das CGW 13 der fahrzeugeigenen Anzeige 7 und der Zentrumsvorrichtung 3 den Fortschritt mit, der eine Beendigung der Download-Phase angibt.
  • Wenn die Installationsphase bestimmt wird (S2104: Ja), führt das CGW 13 einen Prozess in der Installationsphase durch (S2108) und überträgt ein Fortschrittszustandssignal, das einen Fortschrittszustand des Prozesses in der Installationsphase angibt, an die fahrzeugeigene Anzeige 7 und das DCM 12 (S2111). Der Prozess in der Installationsphase ist beispielsweise ein Prozess zum Berechnen eines Prozentsatzes einer beendeten Installation in der Neuschreibziel-ECU 19.
  • Das CGW 13 bestimmt den Prozentsatz der beendeten Installation auf der Grundlage einer Mitteilung von der Neuschreibziel-ECU 19. Das CGW 13 teilt der fahrzeugeigenen Anzeige 7 und der Zentrumsvorrichtung 3 den Fortschritt mit, der den Prozentsatz der beendeten Installation angibt. Das CGW 13 führt den Prozess wiederholt durch, bis die Installation in sämtlichen Neuschreibziel-ECUs 19 beendet ist. Wenn die Installation in sämtlichen Neuschreibziel-ECUs 19 beendet ist, teilt das CGW 13 der fahrzeugeigenen Anzeige 7 und der Zentrumsvorrichtung 3 den Fortschritt mit, der eine Beendigung der Installationsphase angibt.
  • Wenn die Aktivierungsphase bestimmt wird (S2104: Ja), führt das CGW 13 einen Prozess in der Aktivierungsphase durch (S2108) und überträgt ein Fortschrittszustandssignal, das einen Fortschrittszustand des Prozesses in der Aktivierungsphase angibt, an die fahrzeugeigene Anzeige 7 und das DCM 12 (S2111; entspricht einer ersten Fortschrittszustandsübertragungsprozedur). Der Prozess in der Aktivierungsphase ist beispielsweise ein Prozess zum Berechnen eines Prozentsatzes einer beendeten Aktivierung in einer oder mehreren Neuschreibziel-ECUs 19, die zu derselben Gruppe gehören. Das CGW 13 bestimmt den Prozentsatz der beendeten Aktivierung auf der Grundlage einer Mitteilung von der Neuschreibziel-ECU 19. Das CGW 13 teilt der fahrzeugeigenen Anzeige 7 und der Zentrumsvorrichtung den Fortschritt mit, der den Prozentsatz der beendeten Aktivierung angibt.
  • Es wird bestimmt, ob die Aktivierungsphase beendet wurde (S2112), und wenn bestimmt wird, dass die Aktivierungsphase beendet wurde (S2112: Ja), beendet das CGW 13 den Fortschrittszustandssynchronisationssteuerungsprozess. Wenn bestimmt wird, dass die Aktivierungsphase nicht beendet ist (S2112: Nein), kehrt das CGW 13 zu S2102 zurück. Das CGW 13 bewirkt, dass der Prozess in einer jeweiligen Phase fortschreitet, und berechnet einen Prozentsatz einer Beendigung eines Prozesses (S2107 bis S2110). Das CGW 13 überträgt periodisch die Phase und Informationen, die angeben, dass X% der Phase beendet sind, als den ersten Fortschrittszustand an die Zentrumsvorrichtung 3 (S2111).
  • Wenn die Verteilungsspezifikationsdaten übertragen sind und der Fortschrittszustandssynchronisationssteuerungsprozess initiiert ist, überwacht die Zentrumsvorrichtung 3 einen Empfang des ersten Fortschrittszustandssignals, das von dem DCM 12 übertragen wird (S2121). Wenn bestimmt wird, dass das erste Fortschrittszustandssignal von dem DCM 12 empfangen wurde (S2121: Ja), erlaubt die Zentrumsvorrichtung 3 einen Zugriff von dem mobilen Endgerät 6 (S2122) und bestimmt eine Phase, die durch das erste Fortschrittszustandssignal bestimmt wird (S2123 bis S2126).
  • Wenn die Kampagnen-Mitteilungsphase bestimmt wird (S2123: Ja), führt die Zentrumsvorrichtung 3 den Prozess in der Kampagnen-Mitteilungsphase durch (S2127). Das heißt, die Zentrumsvorrichtung 3 erzeugt einen Kampagnen-Mitteilungsphasenbildschirm, überträgt durch eine Verbindung mit der Zentrumsvorrichtung 3 ein Anzeigebefehlssignal zum Ausgeben eines Befehls zur Anzeige des Kampagnen-Mitteilungsphasenbildschirms an das mobile Endgerät 6 und bewirkt, dass das mobile Endgerät 6 den Kampagnen-Mitteilungsphasenbildschirm anzeigt.
  • Wenn die Download-Phase bestimmt wird (S2124: Ja), führt die Zentrumsvorrichtung 3 einen Prozess in der Download-Phase durch (S2128). Das heißt, die Zentrumsvorrichtung 3 erzeugt einen Download-Phasenbildschirm, überträgt über eine Verbindung mit der Zentrumsvorrichtung 3 ein Anzeigebefehlssignal zum Ausgeben eines Befehls zum Anzeigen des Download-Phasenbildschirms an das mobile Endgerät 6 und bewirkt, dass das mobile Endgerät 6 den Download-Phasenbildschirm anzeigt. Wenn der Zentrumsvorrichtung 3 der Fortschritt, der den Prozentsatz des beendeten Downloads angibt, von dem DCM 12 mitgeteilt wird, aktualisiert die Zentrumsvorrichtung 3 den Download-Phasenbildschirm.
  • Wenn die Installationsphase bestimmt wird (S2125: Ja), führt die Zentrumsvorrichtung 3 einen Prozess in der Installationsphase durch (S2129). Das heißt, die Zentrumsvorrichtung 3 erzeugt einen Installationsphasenbildschirm, überträgt ein Anzeigebefehlssignal zum Ausgeben eines Befehls zur Anzeige des Installationsphasenbildschirms an das mobile Endgerät 6 und bewirkt, dass das mobile Endgerät 6 durch eine Verbindung mit der Zentrumsvorrichtung 3 den Installationsphasenbildschirm anzeigt. Wenn der Zentrumsvorrichtung 3 der Fortschritt, der den Prozentsatz der beendeten Installation angibt, von dem DCM 12 mitgeteilt wird, aktualisiert die Zentrumsvorrichtung 3 den Installationsphasenbildschirm.
  • Wenn die Aktivierungsphase bestimmt wird (S2126: Ja), führt die Zentrumsvorrichtung 3 einen Prozess in der Aktivierungsphase durch (S2130). Das heißt, die Zentrumsvorrichtung 3 erzeugt einen Aktivierungsphasenbildschirm, überträgt ein Anzeigebefehlssignal zum Ausgeben eines Befehls zum Anzeigen des Aktivierungsphasenbildschirms an das mobile Endgerät 6 und bewirkt, dass das mobile Endgerät 6 durch eine Verbindung mit der Zentrumsvorrichtung 3 den Aktivierungsphasenbildschirm anzeigt. Wenn der Zentrumsvorrichtung 3 der Fortschritt, der den Prozentsatz der beendeten Aktivierung angibt, von dem DCM 12 mitgeteilt wird, aktualisiert die Zentrumsvorrichtung 3 den Aktivierungsphasenbildschirm. Wenn ein Betrieb wie die Zustimmung des Nutzers auf den angezeigten Bildschirmen in S2127 bis S2130 durchgeführt wird, überträgt die Zentrumsvorrichtung 3 ein zweites Fortschrittszustandssignal an die Master-Vorrichtung 11 (S2131) und beendet den Fortschrittszustandssynchronisationssteuerungsprozess.
  • Wenn die Verteilungsspezifikationsdaten von dem CGW 13 empfangen werden, initiiert die fahrzeugeigene Anzeige 7 den Fortschrittsanzeigeprozess und überwacht einen Empfang des Fortschrittszustandssignals, das von dem CGW 13 übertragen wird (S2141). Wenn bestimmt wird, dass das Fortschrittszustandssignal von dem CGW 13 empfangen wurde (S2141: Ja), ermöglicht die fahrzeugeigene Anzeige 7 den Nutzerbetrieb auf der fahrzeugeigenen Anzeige 7 (S2142) und bestimmt eine Phase, die durch das Fortschrittszustandssignal bestimmt wird (S2143 bis S2146).
  • Wenn die Kampagnen-Mitteilungsphase bestimmt wird (S2143: Ja), zeigt die fahrzeugeigene Anzeige 7 einen Kampagnen-Mitteilungsphasenbildschirm unter Verwendung von Text, Inhalten und Ähnlichem, die in den Verteilungsspezifikationsdaten enthalten sind, an (S2147). Wenn die Download-Phase bestimmt wird (S2144: Ja), zeigt die fahrzeugeigene Anzeige 7 einen Download-Phasenbildschirm an (S2148). Die fahrzeugeigene Anzeige 7 aktualisiert den Download-Phasenbildschirm, wenn ihr der Fortschritt, der den Prozentsatz der Beendigung des Downloads angibt, von dem CGW 13 mitgeteilt wird.
  • Wenn bestimmt wird, dass sich die fahrzeugeigene Anzeige 7 in der Installationsphase befindet (S2145: Ja), wird der Installationsphasenbildschirm angezeigt (S2149). Wenn der fahrzeugeigenen Anzeige der Fortschritt, der den Prozentsatz der beendeten Installation angibt, von dem CGW 13 mitgeteilt wird, aktualisiert die fahrzeugeigene Anzeige 7 den Installationsphasenbildschirm. Wenn die Aktivierungsphase bestimmt wird (S2146: Ja), zeigt die fahrzeugeigene Anzeige 7 einen Aktivierungsphasenbildschirm an (S2150). Wenn der fahrzeugeigenen Anzeige 7 der Fortschritt, der den Prozentsatz der beendigten Aktivierung angibt, von dem CGW 13 mitgeteilt wird, aktualisiert die fahrzeugeigene Anzeige 7 den Aktivierungsphasenbildschirm.
  • Wie es oben beschrieben wurde, werden der erste Fortschrittszustand und der zweite Fortschrittszustand zwischen der Master-Vorrichtung 11 und der Zentrumsvorrichtung 3 übertragen und empfangen. Sogar in einer Konfiguration, bei der das mobile Endgerät 6 auf die Zentrumsvorrichtung 3 zugreifen kann und die fahrzeugeigene Anzeige 7 nicht auf die Zentrumsvorrichtung 3 zugreifen kann, werden beispielsweise der erste Fortschrittszustand und der zweite Fortschrittszustand zwischen der Master-Vorrichtung 11 und der Zentrumsvorrichtung 3 übertragen und empfangen, und somit können die Fortschrittszustände oder Ähnliches eines Neuschreibens eines Applikationsprogramms geeignet zwischen mehreren Anzeigeendgeräten synchronisiert werden.
  • Anzeigesteuerungsinformations-Übertragungssteuerungsprozess und (23) Anzeigesteuerungsinformations-Empfangssteuerungsprozess
  • Der Anzeigesteuerungsinformations-Übertragungssteuerungsprozess in der Zentrumsvorrichtung 3 wird mit Bezug auf die 181 und 182 beschrieben, und der Anzeigesteuerungsinformations-Empfangssteuerungsprozess in der Master-Vorrichtung 11 wird mit Bezug auf die 183 bis 185 beschrieben.
  • Wie es in 181 dargestellt ist, enthält die Zentrumsvorrichtung 3 eine Schreibdatenspeichereinheit 54a (entspricht einer Aktualisierungsdatenspeichereinheit), eine Anzeigesteuerungsinformationsspeichereinheit 54b und eine Informationsübertragungseinheit 54c in der Anzeigesteuerungsinformations-Übertragungssteuerungseinheit 54. Die Schreibdatenspeichereinheit 54a speichert Schreibdaten für mehrere Neuschreibziel-ECUs 19 mit einem Neuschreiben von Applikationsprogrammen in den Neuschreibziel-ECUs 19 als eine einzelne Kampagne. Die Anzeigesteuerungsinformationsspeichereinheit 54b speichert Verteilungsspezifikationsdaten, die Anzeigesteuerungsinformationen enthalten. Die Anzeigesteuerungsinformationen sind Informationen, die zur Anzeige von Informationen betreffend ein Neuschreiben eines Applikationsprogramms in der Neuschreibziel-ECU 19, die auf der fahrzeugeigenen Anzeige 7 anzuzeigen sind, benötigt werden, und sind ein Anzeigesteuerungsprogramm oder Eigenschaftsinformationen.
  • Die Anzeigeinformationen sind Daten, die verschiedene Bildschirme (einen Kampagnen-Mitteilungsbildschirm, einen Installationsbildschirm und Ähnliches) betreffend ein Neuschreiben des Applikationsprogramm konfigurieren. Das Anzeigesteuerungsprogramm ist ein Programm zum Realisieren einer Funktion äquivalent zu derjenigen eines Web-Browsers. Die Eigenschaftsinformationen sind Informationen, die Anzeigezeichen, Anzeigepositionen, Farben und Ähnliches definieren. Die Informationsübertragungseinheit 54c überträgt die Schreibdaten, die in der Schreibdatenspeichereinheit 54a gespeichert sind, und die Anzeigesteuerungsinformationen, die in der Anzeigesteuerungsinformationsspeichereinheit 54b gespeichert sind, an die Master-Vorrichtung 11. Die Informationsübertragungseinheit 54c überträgt die Schreibdaten für die Neuschreibziel-ECUs 19 an die Master-Vorrichtung 11 als ein einzelnes Paket. Hier können die Anzeigesteuerungsinformationen Phasenidentifikationsinformationen enthalten, die eine Phase angeben, in der Informationen angezeigt werden. Die Phasenidentifikationsinformationen geben beispielsweise eine Phase, in der Informationen angezeigt werden, aus der Kampagnen-Mitteilungsphase, der Download-Phase, der Installationsphase und der Aktivierungsphase an.
  • Im Folgenden wird ein Betrieb, der von der Anzeigesteuerungsinformations-Übertragungssteuerungseinheit 54 in der Zentrumsvorrichtung 3 durchgeführt wird, mit Bezug auf 182 beschrieben. Die Zentrumsvorrichtung 3 führt ein Anzeigesteuerungsinformations-Übertragungssteuerungsprogramm aus und führt somit den Anzeigesteuerungsinformations-Übertragungssteuerungsprozess durch.
  • Wenn der Anzeigesteuerungsinformations-Übertragungssteuerungsprozess initiiert ist, überträgt die Zentrumsvorrichtung 3 die Verteilungsspezifikationsdaten an das CGW 13 über das DCM 12 (S2201; entspricht einer Steuerungsinformationsübertragungsprozedur) und überträgt die Schreibdaten an das CGW 13 über das DCM 12 (S2202). Die Zentrumsvorrichtung 3 überträgt die Anzeigeinformationen an das CGW 13 über das DCM 12 (S2203; entspricht einer Anzeigeinformationsübertragungsprozedur) und beendet den Anzeigesteuerungsinformations-Übertragungssteuerungsprozess. In einem Fall, in dem die Anzeigesteuerungsinformationen, die jeweils der Kampagnen-Mitteilungsphase, der Download-Phase, der Installationsphase und der Aktivierungsphase entsprechen, übertragen werden, kann die Zentrumsvorrichtung 3 die Anzeigesteuerungsinformationen, die einer jeweiligen Phase entsprechen, an die fahrzeugeigene Anzeige 7 in einer einzelnen Datei übertragen oder kann die Anzeigesteuerungsinformationen, die der nächsten Phase entsprechen, an die fahrzeugeigene Anzeige 7 jedes Mal übertragen, wenn die Phase beendet ist. Hier kann der Zeitpunkt, zu dem die Zentrumsvorrichtung 3 die Verteilungsspezifikationsdaten überträgt, als Antwort auf eine Anfrage von der Master-Vorrichtung 11 übertragen werden.
  • Wie es in 183 dargestellt ist, enthält das CGW 13 eine Informationsempfangseinheit 89a, eine Neuschreibbefehlseinheit 89b und eine Anzeigebefehlseinheit 89c in der Anzeigesteuerungsinformations-Empfangssteuerungseinheit 89. Die Informationsempfangseinheit 89a empfängt die Schreibdaten und die Anzeigesteuerungsinformationen von der Zentrumsvorrichtung 3. Wenn die Schreibdaten von der Zentrumsvorrichtung 3 durch die Informationsempfangseinheit 89a empfangen werden, befiehlt die Neuschreibbefehlseinheit 89b der Neuschreibziel-ECU 19, die empfangenen Schreibdaten zu schreiben. Die Anzeigebefehlseinheit 89c befiehlt der fahrzeugeigenen Anzeige 7, Informationen hinsichtlich einer Kampagne unter Verwendung der Anzeigesteuerungsinformationen anzuzeigen, bevor die Neuschreibbefehlseinheit 89b der Neuschreibziel-ECU 19 befiehlt, die Schreibdaten zu schreiben. Die Anzeigebefehlseinheit 89c kann einen Befehl zum Anzeigen der Informationen hinsichtlich der Kampagne als Historieninformationen bzw. Vergangenheitsinformationen ausgeben, nachdem die gesamten Schreibdaten geschrieben wurden.
  • Im Folgenden wird ein Betrieb, der von der Anzeigesteuerungsinformations-Empfangssteuerungseinheit 89 in dem CGW 13 durchgeführt wird, mit Bezug auf 184 beschrieben. Das CGW 13 führt ein Anzeigesteuerungsinformations-Empfangssteuerungsprogramm aus und führt somit den Anzeigesteuerungsinformations-Empfangssteuerungsprozess durch. Demzufolge können in einem Fall, in dem das mobile Endgerät 6 und die fahrzeugeigene Anzeige 7 als Anzeigeendgeräte bereitgestellt werden, diese Anzeigeaspekte nahe zusammengebracht werden, und somit kann der Komfort des Nutzers verbessert werden.
  • Wenn der Anzeigesteuerungsinformations-Empfangssteuerungsprozess initiiert ist, empfängt das CGW 13 die Verteilungsspezifikationsdaten von der Zentrumsvorrichtung 3 über das DCM 12 (S2301; entspricht einer Steuerungsinformationsempfangsprozedur). Die Schreibdaten werden von der Zentrumsvorrichtung 3 über das DCM 12 empfangen (S2302). Das CGW 13 empfängt die Anzeigeinformationen von der Zentrumsvorrichtung 3 über das DCM 12 (S2303; entspricht einer Anzeigeinformationsempfangsprozedur). Das CGW 13 bestimmt, ob die Anzeigesteuerungsinformationen, die in den Verteilungsspezifikationsdaten enthalten sind, von der Zentrumsvorrichtung 3 zu verwenden sind (S2304). Wenn bestimmt wird, dass die Anzeigesteuerungsinformationen zu verwenden sind (S2304: Ja), befiehlt das CGW 13 der fahrzeugeigenen Anzeige 7, die Anzeigeinformationen unter Verwendung der Anzeigesteuerungsinformationen anzuzeigen (S2305). Das heißt, das CGW 13 befiehlt der fahrzeugeigenen Anzeige 7, Bildschirme betreffend ein Neuschreiben von Applikationsprogrammen unter Verwendung der Anzeigesteuerungsinformationen anzuzeigen. Die fahrzeugeigene Anzeige 7 zeigt die Anzeigeinformationen unter Verwendung der Anzeigesteuerungsinformationen als Antwort auf den Befehl von dem CGW 13 an.
  • Wenn bestimmt wird, dass die Anzeigesteuerungsinformationen nicht zu verwenden sind (S2304: Nein), befiehlt das CGW 13 der fahrzeugeigenen Anzeige 7, die Anzeigeinformationen unter Verwendung von Inhalten, die im Voraus gespeichert wurden, anzuzeigen (S2306). Das heißt, das CGW 13 befiehlt der fahrzeugeigenen Anzeige 7, Bildschirme betreffend ein Neuschreiben des Applikationsprogramms unter Verwendung der im Voraus gespeicherten Inhalte anzuzeigen. Die fahrzeugeigene Anzeige 7 zeigt die Anzeigeinformationen unter Verwendung der im Voraus gespeicherten Inhalte als Antwort auf den Befehl von dem CGW 13 an. In einem Fall, in dem die Anzeigeinformationen, die jeweils der Kampagnen-Mitteilungsphase, der Download-Phase, der Installationsphase und der Aktivierungsphase entsprechen, angezeigt werden, kann die fahrzeugeigene Anzeige 7 die Anzeigesteuerungsinformationen, die einer jeweiligen Phase entsprechen, gemeinsam von der Zentrumsvorrichtung 3 empfangen oder kann die Anzeigesteuerungsinformationen, die der nächsten Phase entsprechen, von der Zentrumsvorrichtung 3 jedes Mal empfangen, wenn die Phase beendet ist.
  • Wenn die fahrzeugeigene Anzeige 7 wie in 185 dargestellt keine Funktion eines Web-Browsers aufweist und die Verteilungsspezifikationsdaten, die von der Zentrumsvorrichtung 3 an die fahrzeugeigene Anzeige 7 über das DCM 12 und das CGW 13 übertragen werden, Eigenschaftsinformationen, aber kein Anzeigesteuerungsprogramm enthalten, zeigt die fahrzeugeigene Anzeige 7 die Anzeigeinformationen auf einem einfachen Bildschirm unter Verwendung von Inhalten und Rahmen an, die im Voraus gespeichert wurden. Die Eigenschaftsinformationen enthalten Daten wie Text, dessen Anzeigeposition, dessen Größe und Ähnliches und sind dieselben wie die Eigenschaftsinformationen, die in dem Bildschirm verwendet werden, der durch die Zentrumsvorrichtung 3 erzeugt wird. Auch wenn das Bildschirmbild, das auf der fahrzeugeigenen Anzeige 7 angezeigt wird, sich hinsichtlich Hintergrund, Bitmap und Ähnliches von dem Bildschirmbild unterscheidet, das durch die Zentrumsvorrichtung 3 erzeugt wird, ist ein Anzeigeinhalt äquivalent zu demjenigen der Zentrumsvorrichtung 3.
  • Wenn die fahrzeugeigene Anzeige 7 keine Funktion eines Web-Browsers aufweist und die Verteilungsspezifikationsdaten, die von der Zentrumsvorrichtung 3 an die fahrzeugeigene Anzeige 7 über das DCM 12 und das CGW 13 übertragen werden, das Anzeigesteuerungsprogramm und die Eigenschaftsinformationen enthalten, zeigt die fahrzeugeigene Anzeige 7 die Anzeigeinformationen auf einem Bildschirm äquivalent zu demjenigen der Zentrumsvorrichtung 3 an. Hier sind das Anzeigesteuerungsprogramm und die Eigenschaftsinformationen, die in den Verteilungsspezifikationsdaten enthalten sind, dieselben wie diejenigen, die in dem Bildschirm verwendet werden, der durch die Zentrumsvorrichtung 3 erzeugt wird.
  • Wenn die fahrzeugeigene Anzeige 7 keine Funktion eines Web-Browsers aufweist, aber das Anzeigesteuerungsprogramm speichert, und die Eigenschaftsinformationen in den Verteilungsspezifikationsdaten enthalten sind, die von der Zentrumsvorrichtung 3 an die fahrzeugeigene Anzeige 7 übertragen werden, zeigt die fahrzeugeigene Anzeige 7 die Anzeigeinformationen auf einem Bildschirm äquivalent zu demjenigen der Zentrumsvorrichtung 3 an. Hier unterscheidet sich beispielsweise das Anzeigesteuerungsprogramm, das in der fahrzeugeigenen Anzeige 7 gespeichert ist, hinsichtlich der Version von dem Anzeigesteuerungsprogramm, das in dem Bildschirm verwendet wird, der durch die Zentrumsvorrichtung 3 erzeugt wird.
  • Wenn die fahrzeugeigene Anzeige 7 eine Funktion eines Web-Browsers aufweist, zeigt die fahrzeugeigene Anzeige 7 über eine Verbindung mit der Zentrumsvorrichtung die Anzeigeinformationen auf demselben Bildschirm wie demjenigen der Zentrumsvorrichtung 3 an.
  • Wie es oben beschrieben wurde, führt die Zentrumsvorrichtung 3 den Anzeigesteuerungsinformations-Übertragungssteuerungsprozess durch, überträgt somit die Anzeigesteuerungsinformationen an die fahrzeugeigene Anzeige 7 und zeigt die Anzeigeinformationen auf der fahrzeugeigenen Anzeige 7 entsprechend den Anzeigesteuerungsinformationen an. Demzufolge können in einem Fall, in dem das mobile Endgerät 6 und die fahrzeugeigene Anzeige 7 als Anzeigeendgeräte bereitgestellt werden, diese Anzeigeaspekte einander angeglichen werden, und somit kann der Komfort des Nutzers verbessert werden. Das CGW 13 führt den Anzeigesteuerungsinformations-Empfangssteuerungsprozess durch, empfängt somit die Anzeigesteuerungsinformationen von der Zentrumsvorrichtung 3, empfängt die Anzeigeinformationen von der Zentrumsvorrichtung 3 und zeigt die Anzeigeinformationen entsprechend den Anzeigesteuerungsinformationen an.
  • Bildschirmanzeigesteuerungsprozess für Fortschrittsanzeige
  • Der Fortschrittsanzeigebildschirm-Anzeigesteuerungsprozess wird mit Bezug auf die 186 bis 210 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Fortschrittsanzeigebildschirm-Anzeigesteuerungsprozess in dem CGW 13 durch.
  • Wie es in 186 dargestellt ist, enthält das CGW 13 eine Modusbestimmungseinheit 90a und eine Bildschirmanzeigebefehlseinheit 90b in der Fortschrittsanzeigebildschirm-Anzeigesteuerungseinheit 90.
  • Die Modusbestimmungseinheit 90a bestimmt, ob ein Nutzeranpassungsmodus durch einen Nutzeranpassungsbetrieb des Nutzers eingestellt ist. Die Modusbestimmungseinheit 90a bestimmt, ob ein externer Modus von der Außenseite eingestellt ist, auf der Grundlage von Szeneninformationen, die in den Neuschreibspezifikationsdaten enthalten sind. Das heißt, die Modusbestimmungseinheit 90a nimmt Bezug auf die Szeneninformationen, die in den in 8 dargestellten Neuschreibspezifikationsdaten enthalten sind. Wie es in den 8 und 187 dargestellt ist, sind Szeneninformationen, Ablaufdatumsinformationen und Positionsinformationen in den Neuschreibspezifikationsdaten gespeichert. Die Szeneninformationen geben eine Szene (beispielsweise den Typ oder eine Ansicht) der Hauptaktualisierung an und bezeichnen außerdem eine Bildschirmanzeige der Hauptaktualisierung. Insbesondere gibt es ein Rückruf-Flag, ein Händler-Flag, ein Werks-Flag, ein Funktionsaktualisierungsmitteilungs-Flag und ein Zwangsausführungs-Flag.
  • Das Rückruf-Flag ist ein Flag zum Bezeichnen einer Bildschirmanzeige in einem Fall, in dem ein Applikationsprogramm als Antwort auf einen Rückruf neu geschrieben wird. Der Rückruf gibt eine Durchführung von Maßnahmen wie eine Reparatur, Ersetzung oder Wiederherstellung ohne Berechnung aufgrund von Regularien oder der Kulanz eines Herstellers oder Verkäufers in einem Fall an, in dem ein Defekt in einem Produkt aufgrund eines Designs oder eines Herstellungsfehlers oder Ähnlichem gefunden wird.
  • Das Händler-Flag ist ein Flag zum Bezeichnen einer Bildschirmanzeige in einem Fall, in dem ein Applikationsprogramm bei einem Händler neu geschrieben wird. Das Werks-Flag ist ein Flag zum Bezeichnen einer Bildschirmanzeige in einem Fall, in dem das Applikationsprogramm im Werk neu geschrieben wird. Das Funktionsaktualisierungsmitteilungs-Flag ist ein Flag zum Bezeichnen einer Bildschirmanzeige in einem Fall, in dem das Applikationsprogramm als Antwort auf eine Funktionsaktualisierungsmitteilung neu geschrieben wird. Die Funktionsaktualisierungsmitteilung wird durchgeführt, um eine spezielle Funktion zu aktualisieren. Das Funktionsaktualisierungsmitteilungs-Flag ist ein Flag zum Bezeichnen einer Bildschirmanzeige in der Programmaktualisierung zum Hinzufügen einer neuen Funktion gegen eine Gebühr (oder gebührenfrei).
  • Das Zwangsausführungs-Flag ist ein Flag zum Bezeichnen einer Bildschirmanzeige in einem Fall, in dem das Applikationsprogramm als Antwort auf eine erzwungene Ausführung neu geschrieben wird. Die Zwangsausführung bzw. erzwungene Ausführung gibt an, dass das Applikationsprogramm erzwungenermaßen neu geschrieben wird, da Kampagnen-Mitteilungen eine vorbestimmte Anzahl bzw. Häufigkeit erfolgt sind, aber das Applikationsprogramm nicht neu geschrieben wurde. Das Zwangsausführungs-Flag ist beispielsweise ein Flag zum Bezeichnen einer Bildschirmanzeige in einem Fall, in dem ein Programm zwangsweise aktualisiert wird.
  • Die Flags, die die Szeneninformationen angeben, sind in einem Fall, in dem es keinen relevanten Posten gibt, sämtlich auf 0 gesetzt (Flag ist nicht gesetzt), und sind in einem Fall, in dem es einen relevanten Posten gibt, jeweils auf 1 (Flag ist gesetzt) gesetzt. Die Modusbestimmungseinheit 90a bestimmt beispielsweise, dass ein Rückrufmodus eingestellt ist, wenn das Händler-Flag gesetzt ist, bestimmt, dass ein Händler-Modus eingestellt ist, wenn das Rückruf-Flag gesetzt ist, bestimmt, dass ein Werksmodus eingestellt ist, wenn das Werks-Flag gesetzt ist, bestimmt, dass ein Funktionsaktualisierungsmodus eingestellt ist, wenn das Funktionsaktualisierungsmitteilungs-Flag gesetzt ist, und bestimmt, dass ein Zwangsausführungsmodus eingestellt ist, wenn das Zwangsausführungs-Flag gesetzt ist.
  • Die Ablaufdatumsinformationen sind Informationen, die das Ablaufdatum angeben, und sind Informationen, die als ein Kriterium zum Bestimmen dienen, ob das Applikationsprogramm, das auszuführen ist, neu zu schreiben ist. Das CGW 13 führt das Neuschreiben des Applikationsprogramms aus, wenn die derzeitige Zeit innerhalb des Ablaufdatums liegt, das durch die Ablaufdatumsinformationen angegeben wird, und führt das Neuschreiben des Applikationsprogramms nicht aus, wenn die derzeitige Zeit das Ablaufdatum überschreitet, das durch die Ablaufdatumsinformationen angegeben wird. Das heißt, nachdem ein Verteilungspaket heruntergeladen wurde, nimmt das CGW 13 Bezug auf die Ablaufdatumsinformationen, wenn das Programm installiert wird, und führt die Installation des Programms nicht aus und lässt das Verteilungspaket unberücksichtigt, wenn die derzeitige Zeit das Ablaufdatum überschreitet.
  • Die Positionsinformationen sind Informationen, die eine Position angeben, sind Informationen, die als ein Kriterium zum Bestimmen dienen, ob ein Neuschreiben des Applikationsprogramm auszuführen ist, und enthalten einen Erlaubnisbereich und einen Verbotsbereich. In einem Fall, in dem der Erlaubnisbereich als Positionsinformationen bezeichnet ist, führt das CGW 13 ein Neuschreiben des Applikationsprogramms aus, wenn die derzeitige Position des Fahrzeugs innerhalb des Erlaubnisbereiches liegt, der durch die Positionsinformationen angegeben wird, und führt das Neuschreiben des Applikationsprogramms nicht aus, wenn die derzeitige Position des Fahrzeugs außerhalb des Erlaubnisbereiches liegt, der durch die Positionsinformationen angegeben wird. In einem Fall, in dem der Verbotsbereich als Positionsinformationen bezeichnet ist, führt das CGW 13 das Neuschreiben des Applikationsprogramms aus, wenn die derzeitige Position des Fahrzeugs außerhalb des Verbotsbereiches liegt, der durch die Positionsinformationen angegeben wird, und führt das Neuschreiben des Applikationsprogramms nicht aus, wenn die derzeitige Position des Fahrzeugs innerhalb des Verbotsbereiches liegt, der durch die Positionsinformationen angegeben wird. Das heißt, nachdem das Verteilungspaket heruntergeladen wurde, nimmt das CGW 13 Bezug auf die Positionsinformationen, wenn ein Programm installiert wird, und führt keine Installation des Programms aus, wenn die derzeitige Position außerhalb des Erlaubnisbereiches liegt, und verzögert die Installation, bis das Fahrzeug in den Erlaubnisbereich einfährt.
  • Die Bildschirmanzeigebefehlseinheit 90b befiehlt dem Anzeigeendgerät 5, einen Bildschirm entsprechend einem Neuschreiben des Applikationsprogramms anzuzeigen. Die Bildschirmanzeigebefehlseinheit 90b befiehlt dem Anzeigeendgerät 5 durch Ausgeben eines Befehls, ob der Bildschirm, der einer Neuschreibphase des Applikationsprogramms entspricht, anzuzeigen ist, Ausgeben eines Befehls, ob Posten des Bildschirms anzuzeigen sind, und Ausgeben eines Befehls zum Ändern von Anzeigeinhalten der Posten des Bildschirms, den Bildschirm anzuzeigen.
  • Es folgt eine Beschreibung des Nutzeranpassungsbetriebs des Nutzers. Hier wird ein Bildschirm beschrieben, der auf der fahrzeugeigenen Anzeige 7 angezeigt wird, aber dasselbe gilt für einen Bildschirm, der auf dem mobilen Endgerät 6 angezeigt wird. In einem später beschriebenen Bildschirm kann ein Layout der Anzahl, Anordnung und Ähnliches von Knöpfen bzw. Tasten anders als bei dem beispielhaft dargestellten Layout sein. Wenn der Nutzer einen Betrieb zum Anzeigen eines Menübildschirms auf der fahrzeugeigenen Anzeige 7 durchführt, zeigt das CGW 13 einen Menüauswahlbildschirm 511 auf der fahrzeugeigenen Anzeige 7 an, wie es in 188 dargestellt ist. In dem Menüauswahlbildschirm 511 zeigt das CGW 13 einen „Software-Aktualisierung“-Knopf 511a, einen „Aktualisierungsergebnis prüfen“-Knopf 511b, einen „Software-Versionsliste“-Knopf 511c, einen „Aktualisierungshistorie“-Knopf 511 d und einen „Nutzerinformationsregistrierung“-Knopf 511e an und wartet auf den Nutzerbetrieb.
  • Wenn der Nutzer den „Nutzerinformationsregistrierung“-Knopf 511 e in diesem Zustand betätigt, zeigt das CGW 13 einen Nutzerauswahlbildschirm 512 auf der fahrzeugeigenen Anzeige 7 an, wie es in 189 dargestellt ist. In dem Nutzerauswahlbildschirm 512 zeigt das CGW 13 „Nutzer“-Knöpfe 512a bis 512c an und wartet auf den Nutzerbetrieb.
  • Wenn der Nutzer den „Nutzer“-Knopf 512a in diesem Zustand betätigt, zeigt das CGW 13 einen Nutzerregistrierungsbildschirm 513 auf der fahrzeugeigenen Anzeige 7 an, wie es in 190 dargestellt ist. In dem Nutzerregistrierungsbildschirm 513 zeigt das CGW 13 Eingabefelder einer Mail-Adresse und VIN-Informationen (individuelle Fahrzeugidentifikationsinformationen) zur Registrierung von persönlichen Informationen an, zeigt Eingabefelder einer Kreditkartennummer und das Ablaufdatum zur Registrierung von Abrechnungsinformationen bzw. Konteninformationen an, zeigt die „Ein/Aus“-Knöpfe 513a bis 513d für die Kampagnen-Mitteilung, den Download, die Installation und die Aktivierung in Bezug auf Einstellungen des Neuschreibens eines Applikationsprogramms an, zeigt einen „detaillierte Informationen“-Knopf 513e an und wartet auf den Nutzerbetrieb.
  • Die „Ein/Aus“-Knöpfe 513a bis 513d für eine Kampagnen-Mitteilung, einen Download, eine Installation und eine Aktivierung sind Knöpfe zum Auswählen, ob Anzeigebildschirme für eine Kampagnen-Mitteilung, ein Download, eine Installation und eine Aktivierung anzuzeigen sind. Insbesondere wenn eine Kampagnen-Mitteilung empfangen wird, ein Download initiiert wird, eine Installation initiiert wird und eine Aktivierung initiiert wird, sind die Knöpfe Knöpfe, die es dem Nutzer ermöglichen, im Voraus auszuwählen, ob die Inhalte zum Auffordern der Zustimmung des Nutzers anzuzeigen sind. Der „detaillierte Informationen“-Knopf 513e ist ein Knopf zum Registrieren der oben beschriebenen Ablaufdatumsinformationen und Positionsinformationen. Die Informationen, die von dem Nutzer eingestellt werden, werden an die Zentrumsvorrichtung 3 über das DCM 12 übertragen. In einem Fall, in dem der Nutzer die Informationsteile auf dem mobilen Endgerät 6 einstellt, beschafft das CGW 13 die Informationsteile von der Zentrumsvorrichtung 3 über das DCM 12.
  • Der Nutzer kann die entsprechenden „Ein/Aus“-Knöpfe 513a bis 513d in einem Fall auf Aus einstellen, wenn der Nutzer die Bildschirme hinsichtlich einer Kampagnen-Mitteilung, eines Downloads, einer Installation und einer Aktivierung als Belästigung empfindet. Die Knöpfe werden auf Aus eingestellt, und es wird eine Anzeige der Inhalte zum Anfragen der Zustimmung des Nutzers weggelassen. In einem Fall beispielsweise, in dem der Nutzer sich hinsichtlich einer Bildschirmanzeige einer Kampagnen-Mitteilung oder Aktivierung nicht belästigt fühlt, aber sich hinsichtlich einer Bildschirmanzeige eines Downloads oder einer Installation belästigt fühlt, kann der Nutzer die Kampagnen-Mitteilung mit dem „Ein/Aus“-Knopf 513a auf Ein einstellen, mit dem „Ein/Aus“-Knopf 513b den Download auf Aus einstellen, mit dem „Ein/Aus“-Knopf 513c die Installation auf Aus einstellen und mit dem „Ein/Aus“-Knopf 513d die Aktivierung auf Ein einstellen.
  • Wenn beispielsweise die Kampagnen-Mitteilung auf Ein eingestellt ist, der Download auf Aus eingestellt ist, die Installation auf Aus eingestellt ist und die Aktivierung auf Ein eingestellt ist, zeigt das Anzeigeendgerät 5 in diesem Fall einen Kampagnen-Mitteilungsbildschirm an, zeigt keinen Download-Zustimmungsbildschirm und keinen Installationsfortschrittsbildschirm an, und zeigt einen Aktivierungsbildschirm entsprechend einer Neuschreibphase des Applikationsprogramms an. Das heißt, in der Kampagnen-Mitteilungs-, Download-, Installations- und Aktivierungsphase führt der Nutzer eine Bildschirmanzeige der Phase, die auf Ein eingestellt ist, durch, wenn die entsprechende Phase auf Ein eingestellt ist, und wenn eine entsprechende Phase auf Aus eingestellt ist, führt der Nutzer keine Bildschirmanzeige der Phase durch, die auf Aus eingestellt ist. Daher kann die Bildschirmanzeige von einem Nutzer angepasst bzw. eingestellt werden. Die Ein/Aus-Einstellung der Bildschirmanzeige kann individuell für jede Phase erfolgen, oder es können sämtliche Phasen gemeinsam gleichzeitig eingestellt werden.
  • In einem Fall, in dem der Nutzer wünscht, das Ablaufdatum, den Erlaubnisbereich und den Verbotsbereich zu registrieren, kann der Nutzer das Ablaufdatum, den Erlaubnisbereich und den Verbotsbereich durch Betätigen des „detaillierte Informationen“-Knopfes 513e einstellen. Der Nutzer kann das Ablaufdatum zum Erlauben eines Neuschreibens des Applikationsprogramms als Ablaufdatumsinformationen anpassen und kann den Erlaubnisbereich zum Erlauben eines Neuschreibens des Applikationsprogramms als Ortsinformationen oder den Verbotsbereich zum Verhindern des Neuschreibens anpassen.
  • Im Folgenden wird ein Betrieb der oben beschriebenen Konfiguration mit Bezug auf die 191 bis 214 beschrieben. Das CGW 13 führt ein Fortschrittsanzeigebildschirm-Anzeigesteuerungsprogramm aus und führt somit den Fortschrittsanzeigebildschirm-Anzeigesteuerungsprozess durch.
  • Wenn der Fortschrittsanzeigebildschirm-Anzeigesteuerungsprozess initiiert ist, bestimmt das CGW 13, ob die Ablaufdatumsinformationen in den Neuschreibspezifikationsdaten gespeichert sind, und ob die Ablaufdatumsinformationen in den Nutzeranpassungsinformationen eingestellt sind (S2401). Wenn bestimmt wird, dass die Ablaufdatumsinformationen in den Neuschreibspezifikationsdaten gespeichert sind (S2401: Ja), bestimmt das CGW 13, ob die derzeitige Zeit die Ablaufdatumsinformationen erfüllt (S2402). In einem Fall, in dem die Ablaufdatumsinformationen, die in den Neuschreibspezifikationsdaten gespeichert sind, und die Ablaufdatumsinformationen, die als Nutzeranpassungsinformationen eingestellt sind, vorhanden sind, bestimmt das CGW 13, ob beide erfüllt sind. Wenn bestimmt wird, dass die derzeitige Zeit das Ablaufdatum überschreitet, das durch die Ablaufdatumsinformationen angegeben wird, und die derzeitige Zeit die Ablaufdatumsinformationen nicht erfüllt (S2402: Nein), beendet das CGW 13 den Fortschrittsanzeigebildschirm-Anzeigesteuerungsprozess.
  • Wenn bestimmt wird, dass die derzeitige Zeit innerhalb des Ablaufdatums liegt, das durch die Ablaufdatumsinformationen angegeben wird, und die derzeitige Zeit die Ablaufdatumsinformationen erfüllt (S2402: Ja), bestimmt das CGW 13, ob die Szeneninformationen in den Neuschreibspezifikationsdaten gespeichert sind (S2403). Wenn bestimmt wird, dass die Szeneninformationen in den Neuschreibspezifikationsdaten gespeichert sind (S2403: Ja), bestimmt das CGW 13, dass der externe Modus eingestellt ist, schreitet zu dem Anzeigebefehlsprozess entsprechend dem eingestellten Inhalt in den Szeneninformationen (S2404) und befiehlt der fahrzeugeigenen Anzeige 7, eine Bildschirmanzeige entsprechend einem Neuschreiben des Applikationsprogramms gemäß einem Modus eines errichteten Flags durchzuführen. Wenn beispielsweise das Rückruf-Flag gesetzt ist, befiehlt das CGW 13 der fahrzeugeigenen Anzeige 7, eine Bildschirmanzeige entsprechend dem Rückrufmodus während eines Neuschreibens des Applikationsprogramms durchzuführen. Wenn beispielsweise das Händler-Flag gesetzt ist, befiehlt das CGW 13 der fahrzeugeigenen Anzeige, eine Bildschirmanzeige entsprechend dem Händlermodus während eines Neuschreibens des Applikationsprogramms durchzuführen.
  • Wenn bestimmt wird, dass Szeneninformationen nicht in den Neuschreibspezifikationsdaten gespeichert sind (S2403: Nein), bestimmt das CGW 13, ob der Nutzeranpassungsmodus durch den Nutzeranpassungsbetrieb eingestellt ist (S2405; entspricht einer Nutzeranpassungsmodusbestimmungsprozedur). Wenn bestimmt wird, dass der Nutzeranpassungsmodus eingestellt ist (S2405: Ja), schreitet das CGW 13 zu einem Anzeigebefehlsprozess entsprechend dem in dem Nutzeranpassungsbetrieb eingestellten Inhalt (S2406; entspricht einer Bildschirmanzeigebefehlsprozedur) und befiehlt der fahrzeugeigenen Anzeige 7, eine Bildschirmanzeige entsprechend einem Neuschreiben des Applikationsprogramms gemäß dem Nutzeranpassungsmodus durchzuführen.
  • Wenn bestimmt wird, dass der Nutzeranpassungsmodus nicht eingestellt ist (S2405: Nein), schreitet das CGW 13 zu einem Anzeigebefehlsprozess entsprechend einem eingestellten Inhalt in der Anfangseinstellung (S2407; entspricht einer Bildschirmanzeigebefehlsprozedur) und befiehlt der fahrzeugeigenen Anzeige 7, eine Bildschirmanzeige entsprechend einem Neuschreiben des Applikationsprogramms gemäß dem Nutzeranpassungsmodus durchzuführen. Das heißt, das CGW 13 verwendet vorzugsweise die Szeneninformationen, die in den Neuschreibspezifikationsdaten gespeichert sind, und verwendet den Nutzeranpassungsmodus, wenn die Szeneninformationen nicht gespeichert sind. Wenn weder die Szeneninformationen noch der Nutzeranpassungsmodus vorhanden sind, wird die Anfangseinstellung verwendet. Hier ist die Anfangseinstellung ein voreingestellter Wert, und die Anfangseinstellung ist eine Einstellung zum Einschalten sämtlicher Einstellungen von beispielsweise einer Kampagnen-Mitteilung, einem Download, einer Installation und einer Aktivierung.
  • Im Folgenden werden die Bildschirmanzeigebefehlsprozesse in S2404, S2406 und S2407 mit Bezug auf 192 beschrieben. Hier wird beispielhaft der Bildschirmanzeigebefehlsprozess in der Installationsphase beschrieben, aber dasselbe gilt für die anderen Phasen. Wenn das CGW 13 zu dem Anzeigebefehlsprozess fortschreitet, stellt das CGW 13 ein, ob der Bildschirm anzuzeigen ist (S2411), stellt ein, ob Posten eines Bildschirms anzuzeigen sind (S2412), und gibt einen Befehl zum Ändern von Anzeigeinhalten der Posten des Bildschirms aus (S2413). Das CGW 13 überträgt eine Bildschirmanzeigeanfragemitteilung an das DCM 12, bewirkt, dass das DCM 12 eine Bildschirmanzeigeanfrage an die fahrzeugeigene Anzeige 7 überträgt (S2414), und wartet auf einen Empfang von Betriebsergebnisinformationen von dem DCM 12 (S2415). Die Betriebsergebnisinformationen sind Informationen, die einen von dem Nutzer bestätigen Knopf angeben. Das CGW 13 kann die Bildschirmanzeigeanfragemitteilung direkt an die fahrzeugeigene Anzeige 7 übertragen und die Betriebsergebnisinformationen empfangen.
  • Wenn bestimmt wird, dass die Betriebsergebnisinformationen von dem DCM 12 durch Übertragen eines Betriebsergebnisses von der fahrzeugeigenen Anzeige 7 an das DCM 12 empfangen wurden (S2415: Ja), überprüft das CGW 13 eine Zustimmung auf der Grundlage der Betriebsergebnisinformationen und bestimmt, ob der Nutzer einem Neuschreiben des Applikationsprogramms zugestimmt hat (S2416).
  • Wenn bestimmt wird, dass der Nutzer einem Neuschreiben des Applikationsprogramms zugestimmt hat (S2416: Ja), bestimmt das CGW 13, ob die Neuschreibspezifikationsdaten die Positionsinformationen speichern (S2417). Wenn bestimmt wird, dass die Positionsinformationen in den Neuschreibspezifikationsdaten gespeichert sind (S2417: Ja), bestimmt das CGW 13, ob die derzeitige Position des Fahrzeugs die Positionsinformationen erfüllt (S2418). S2417 und S2418 können in anderen Phasen als der Installationsphase weggelassen werden. In einem Fall, in dem die Positionsinformationen den Erlaubnisbereich angeben, bestimmt das CGW 13, dass die derzeitige Position des Fahrzeugs die Positionsinformationen erfüllt (S2418: Ja), wenn die derzeitige Position des Fortschritts innerhalb des Erlaubnisbereiches liegt, und setzt das Neuschreiben des Applikationsprogramms fort (S2419).
  • Wenn andererseits die derzeitige Position des Fahrzeugs außerhalb des Erlaubnisbereiches liegt, bestimmt das CGW 13, dass die derzeitige Position des Fahrzeugs die Positionsinformationen nicht erfüllt, setzt das Neuschreiben des Applikationsprogramms nicht fort und stoppt dieses, und beendet den Bildschirmanzeigebefehlsprozess. In einem Fall, in dem die Positionsinformationen den Verbotsbereich angeben, bestimmt das CGW 13, dass die derzeitige Position des Fahrzeugs die Positionsinformationen erfüllt (S2418: Ja), wenn die derzeitige Position des Fahrzeugs außerhalb des Verbotsbereiches liegt, setzt das Neuschreiben des Applikationsprogramms fort (S2419) und beendet den Bildschirmanzeigebefehlsprozess. Wenn die derzeitige Position des Fahrzeugs innerhalb des Verbotsbereiches liegt, bestimmt das CGW 13, dass die derzeitige Position des Fahrzeugs die Positionsinformationen nicht erfüllt, setzt das Neuschreiben des Applikationsprogramms nicht fort und stoppt dieses, und beendet den Anzeigebefehlsprozess.
  • Es werden die Bildschirmanzeigeanfragemitteilung, die von dem CGW 13 an das DCM 12 übertragen wird, und die Betriebsergebnisinformationen, die von dem DCM 12 an das CGW 13 übertragen werden, beschrieben. Wie es in 193 dargestellt ist, enthält die Bildschirmanzeigeanfragemitteilung, die von dem CGW 13 an das DCM 12 übertragen wird, eine Phasen-ID, eine Szenen-ID und Bildschirmkonfigurationsinformationen. Die Phasen-ID ist eine ID zum Identifizieren einer jeweiligen Phase wie einer Kampagnen-Mitteilung, einem Download, einer Installation und einer Aktivierung. Die Szenen-ID ist eine ID zum Identifizieren der in 187 dargestellten Szeneninformationen. Die Betriebsergebnisinformationen, die von dem DCM 12 an das CGW 13 übertragen werden, enthalten Übertragungsquelleninformationen, eine Phasen-ID, eine Szenen-ID, ein Betriebsergebnis und zusätzliche Informationen. Das CGW 13 vergleicht die Phasen-ID und die Szenen-ID, die in der Bildschirmanzeigeanfragemitteilung gespeichert sind, mit der Phasen-ID und der Szenen-ID, die in den Betriebsergebnisinformationen gespeichert sind, und prüft eine Abweichung oder Arbitrierung.
  • Das heißt, wenn die Phasen-ID und die Szenen-ID, die in der Bildschirmanzeigeanfragemitteilung gespeichert sind, die an das DCM 12 übertragen wird, mit der Phasen-ID und der Szenen-ID, die in den Betriebsergebnisinformationen gespeichert sind, die von dem DCM 12 empfangen werden, übereinstimmen, bestimmt das CGW 13, dass die Bildschirmanzeigeanfragemitteilung und die Betriebsergebnisinformationen konsistent zueinander sind, die Bildschirmanzeigeanfragemitteilung und die Betriebsergebnisinformationen nicht voneinander abweichen, und somit keine Arbitrierung durchgeführt werden muss. Wenn andererseits die Phasen-ID und die Szenen-ID, die in der Bildschirmanzeigeanfragemitteilung gespeichert sind, die an das DCM 12 übertragen wird, nicht mit der Phasen-ID und der Szenen-ID, die in den Betriebsergebnisinformationen gespeichert sind, die von dem DCM 12 empfangen werden, übereinstimmen, bestimmt das CGW 13, dass die Bildschirmanzeigeanfragemitteilung und die Betriebsergebnisinformationen nicht konsistent zueinander sind, die Bildschirmanzeigeanfragemitteilung und die Betriebsergebnisinformationen voneinander abweichen und somit eine Arbitrierung durchgeführt werden muss. Das CGW 13 arbitriert, ob ein Prozess entsprechend den Betriebsergebnisinformationen, die von dem DCM 12 empfangen werden, durchzuführen ist.
  • Die Bildschirmkonfigurationsinformationen sind Informationen, die Konfigurationselemente eines Bildschirms angeben, und in dem Aktivierungszustimmungsbildschirm 514 gibt es beispielsweise sechs Posten wie einen „Kampagnen-ID... ‟-Knopf 514a, einen „Aktualisierungsname A... ‟-Knopf 514b, einen „Aktualisierungsname B... ‟-Knopf 514c, einen „Details prüfen“-Knopf 514d, einen „zurück“-Knopf 514e und einen „OK“-Knopf 514f, wie es in 194 dargestellt ist. Wie es in 195 dargestellt ist, werden in diesem Fall, wenn sämtliche sechs Posten der Bildschirmkonfigurationsinformationen auf „anzeigen“ eingestellt sind, sämtliche sechs Posten auf dem Aktivierungszustimmungsbildschirm 514 angezeigt, wie es in 194 dargestellt ist. Das heißt, der Nutzer kann irgendeinen aus dem „Kampagnen-ID... ‟-Knopf 514a, dem „Aktualisierungsname A... ‟-Knopf 514b, dem „Aktualisierungsname B... ‟-Knopf 514c, dem „Details prüfen“-Knopf 514d, dem „zurück“-Knopf 514e und dem „OK“-Knopf 514f betätigen.
  • Wenn andererseits aus den sechs Posten der Bildschirmkonfigurationsinformationen wie in 196 dargestellt der „Kampagnen-ID... ‟-Knopf 514a, der „Aktualisierungsname A... ‟-Knopf 514b, der „Aktualisierungsname B... ‟-Knopf 514c, der „detaillierte Informationen“-Knopf 514d und der „OK“-Knopf 514f auf „anzeigen“ eingestellt sind und der „zurück“-Knopf 514e auf „nicht anzeigen“ eingestellt ist, werden der „Kampagnen-ID... ‟-Knopf 514a, der „Aktualisierungsname A... ‟-Knopf 514b, der „Aktualisierungsname B... ‟-Knopf 514c, der „detaillierte Informationen“-Knopf 514d und der „OK“-Knopf 514f angezeigt, und der „zurück“-Knopf 514e wird nicht auf dem Aktivierungszustimmungsbildschirm 514 angezeigt, wie es in 197 dargestellt ist. Das heißt, der Nutzer kann irgendeinen aus dem „Kampagnen-ID... ‟-Knopf 514a, dem „Aktualisierungsname A... ‟-Knopf 514b, dem „Aktualisierungsname B... ‟-Knopf 514c, dem „Details prüfen“-Knopf 514d, dem „OK“-Knopf 514f betätigen, aber der „zurück“-Knopf 514e wird nicht angezeigt, und somit ist der „zurück“-Knopf 514e nicht betätigbar. In Bezug auf ein Neuschreiben eines Applikationsprogramms, das einen hohen Wichtigkeitsgrad oder Dringlichkeitsgrad aufgrund eines Rückrufes oder Ähnlichem aufweist, kann eine Einstellung derart durchgeführt werden, dass die Aktivierung nicht zurückgewiesen wird, und zwar dadurch, dass der „zurück“-Knopf 514e wie oben beschrieben nicht betätigbar ist, da es nicht wünschenswert ist, eine Aktivierung zurückzuweisen bzw. anzulehnen. In diesem Fall stimmt der Nutzer der Aktivierung durch Betätigen des „OK“-Knopfes 514f zu.
  • Es werden eine Nachrichtenrahmenbildschirmanzeige und ein Nutzerbetrieb, die zwischen dem CGW 13, dem DCM 12, der fahrzeugeigenen Anzeige 7, der Zentrumsvorrichtung 3 und einer Messgerätevorrichtung 45 übertragen und empfangen werden, beschrieben. Wie es in 198 dargestellt ist, sind das CGW 13 und das DCM 12 über CAN oder Ethernet miteinander verbunden, und das DCM 12 und die fahrzeugeigene Anzeige 7 sind über USB miteinander verbunden.
  • Das CGW 13 führt eine Datenkommunikation mit der Zentrumsvorrichtung 3 über das DCM 12 durch. Daten, die von dem CGW 13 über eine Diagnosekommunikation übertragen werden, werden einer Protokollwandlung durch das DCM 12 unterzogen und durch die Zentrumsvorrichtung 3 von dem DCM 12 über eine HTTP-Kommunikation empfangen. Das CGW 13 überträgt beispielsweise Daten, die den derzeitigen Fortschrittszustand wie die derzeitige Phase oder einen Fortschrittsanteil bzw. ein Fortschrittsverhältnis angeben, an die Zentrumsvorrichtung 3 über das DCM 12. Die Daten, die von der Zentrumsvorrichtung 3 mittels der HTTP-Kommunikation übertragen werden, werden einer Protokollwandlung durch das DCM 12 unterzogen und durch das CGW 13 von dem DCM 12 mittels einer Diagnosekommunikation empfangen.
  • Das CGW 13 führt eine Datenkommunikation mit der fahrzeugeigenen Anzeige 7 über das DCM 12 durch. Die Daten, die von dem CGW 13 mittels der Diagnosekommunikation übertragen werden, werden einer Protokollwandlung durch das DCM 12 unterzogen und durch die fahrzeugeigene Anzeige 7 von dem DCM 12 mittels USB-Kommunikation empfangen. Die Daten, die von der fahrzeugeigenen Anzeige 7 mittels USB-Kommunikation übertragen werden, werden einer Protokollwandlung durch das DCM 12 unterzogen und durch das CGW 13 von dem DCM 12 mittels Diagnosekommunikation empfangen. Das CGW 13 beschafft beispielsweise Informationen hinsichtlich des Nutzerbetriebs auf der fahrzeugeigenen Anzeige 7 über das DCM 12. Wie es oben beschrieben wurde, wird dem DCM 12 in dem Fahrzeug-Programmneuschreibsystem 1 die Protokollwandlungsfunktion bereitgestellt, und das mobile Endgerät 6 und die fahrzeugeigene Anzeige 7 sind derart ausgelegt, dass sie von dem CGW 13 gleichbehandelt werden können. Informationen betreffend den Nutzerbetrieb werden in dem CGW 13 angesammelt, und somit arbitriert das CGW 13 Nutzerbetriebsergebnisse von mehreren Betriebsendgeräten, um den derzeitigen Fortschrittszustand zu verwalten.
  • Es wird eine Sequenz eines Nachrichtenrahmens, der zwischen dem CGW 13, dem DCM 12 und der fahrzeugeigenen Anzeige 7 übertragen und empfangen wird, beschrieben. Wie es in den 199 bis 206 dargestellt ist, wird in der Bildschirmanzeigeanfragemitteilung, die von dem CGW 13 an das DCM 12 übertragen wird, und den Betriebsergebnisinformationen, die von dem CGW 13 an das DCM 12 übertragen werden, die Phasen-ID auf „03“ in der Kampagnen-Mitteilung eingestellt, die Phasen-ID wird auf „04“ in dem Download eingestellt, die Phasen-ID wird auf „05“ in der Installation eingestellt, und die Phasen-ID wird auf „06“ in der Aktivierung eingestellt. In jeder Phase der Kampagnen-Mitteilung, des Downloads, der Installation und der Aktivierung ist die Reihenfolge des Übertragens und Empfangens von Nachrichtenrahmen dieselbe, und die Phasen-IDs unterscheiden sich derart voneinander, dass die Phasen voneinander unterschieden werden können.
  • 199 stellt beispielhaft die Kampagnen-Mitteilungsphase dar. Das CGW 13 verwaltet den derzeitigen Fortschrittszustand, bestimmt die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformationen und überträgt die Bildschirmanzeigeanfragemitteilung an das DCM 12. Wenn die Bildschirmanzeigeanfragemitteilung von dem CGW 13 empfangen wird, überträgt das DCM 12 eine Bildschirmanzeigeanfrage an die fahrzeugeigene Anzeige 7. Wenn die Bildschirmanzeigeanfrage von dem DCM 12 empfangen wird, zeigt die fahrzeugeigene Anzeige 7 einen Kampagnen-Mitteilungsbildschirm an, und wenn der Nutzer einen Betrieb zum Prüfen der Kampagnen-Mitteilung durchführt, überträgt sie das Betriebsergebnis an das DCM 12. Wenn das Betriebsergebnis von der fahrzeugeigenen Anzeige 7 empfangen wird, überträgt das DCM 12 Betriebsergebnisinformationen an das CGW 13. Die Betriebsergebnisinformationen, die durch das CGW 13 empfangen werden, enthalten Übertragungsquelleninformationen, eine Phasen-ID, eine Szenen-ID, das Betriebsergebnis und zusätzliche Informationen. Das CGW 13 aktualisiert den derzeitigen Fortschrittszustand auf der Grundlage der Betriebsergebnisinformationen, die von dem DCM 12 empfangen werden. Hier aktualisiert das CGW 13 den derzeitigen Fortschrittszustand in die Download-Phase, wenn Zustimmungsbetriebe in der Kampagnen-Mitteilungsphase durchgeführt wurden.
  • 200 stellt beispielhaft die Download-Phase dar. Das CGW 13 verwaltet den derzeitigen Fortschrittszustand, bestimmt die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformationen und überträgt die Bildschirmanzeigeanfragemitteilung an das DCM 12. Wenn die Bildschirmanzeigeanfragemitteilung von dem CGW 13 empfangen wird, überträgt das DCM 12 eine Bildschirmanzeigeanfrage an die fahrzeugeigene Anzeige 7. Wenn eine Bildschirmanzeigeanfrage von dem DCM 12 empfangen wird, zeigt die fahrzeugeigene Anzeige 7 einen Download-Zustimmungsbildschirm an, und wenn der Nutzer einen Download-Zustimmungsbetrieb durchführt, überträgt sie das Betriebsergebnis an das DCM 12. Wenn das Betriebsergebnis von der fahrzeugeigenen Anzeige 7 empfangen wird, überträgt das DCM 12 Betriebsergebnisinformationen an das CGW 13. Die Betriebsergebnisinformationen, die durch das CGW 13 empfangen werden, enthalten Übertragungsquelleninformationen, eine Phasen-ID, eine Szenen-ID, das Betriebsergebnis und zusätzliche Informationen. Das CGW 13 aktualisiert den derzeitigen Fortschrittszustand auf der Grundlage der Betriebsergebnisinformationen, die von dem DCM 12 empfangen werden. Hier aktualisiert das CGW 13 den derzeitigen Fortschrittszustand in die Installationsphase, wenn es einen Zustimmungsbetrieb während der Download-Phase gibt.
  • 201 stellt beispielhaft die Installationsphase dar. Das CGW 13 verwaltet den derzeitigen Fortschrittszustand, bestimmt die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformationen und überträgt die Bildschirmanzeigeanfragemitteilung an das DCM 12. Wenn die Bildschirmanzeigeanfragemitteilung von dem CGW 13 empfangen wird, überträgt das DCM 12 eine Bildschirmanzeigeanfrage an die fahrzeugeigene Anzeige 7. Wenn die Bildschirmanzeigeanfrage von dem DCM 12 empfangen wird, zeigt die fahrzeugeigene Anzeige 7 einen Installationszustimmungsbildschirm an, und wenn der Nutzer einen Installationszustimmungsbetrieb durchführt, überträgt sie das Betriebsergebnis an das DCM 12. Wenn das Betriebsergebnis von der fahrzeugeigenen Anzeige 7 empfangen wird, überträgt das DCM 12 Betriebsergebnisinformationen an das CGW 13. Die Betriebsergebnisinformationen, die durch das CGW 13 empfangen werden, enthalten Übertragungsquelleninformationen, eine Phasen-ID, eine Szenen-ID, das Betriebsergebnis und zusätzliche Informationen. Das CGW 13 aktualisiert den derzeitigen Fortschrittszustand auf der Grundlage der Betriebsergebnisinformationen, die von dem DCM 12 empfangen werden. Hier aktualisiert das CGW 13 den derzeitigen Fortschrittszustand in die Aktivierungsphase, wenn es einen Zustimmungsbetrieb während der Installationsphase gibt.
  • 202 stellt beispielhaft die Aktivierungsphase dar. Das CGW 13 verwaltet den derzeitigen Fortschrittszustand, bestimmt die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformationen und überträgt die Bildschirmanzeigeanfragemitteilung an das DCM 12. Wenn die Bildschirmanzeigeanfragemitteilung von dem CGW 13 empfangen wird, überträgt das DCM 12 eine Bildschirmanzeigeanfrage an die fahrzeugeigene Anzeige 7. Wenn die Bildschirmanzeigeanfrage von dem DCM 12 empfangen wird, zeigt die fahrzeugeigene Anzeige 7 einen Aktivierungszustimmungsbildschirm an, und wenn der Nutzer einen Aktivierungszustimmungsbetrieb durchführt, übertragt sie das Betriebsergebnis an das DCM 12. Wenn das Betriebsergebnis von der fahrzeugeigenen Anzeige 7 empfangen wird, überträgt das DCM 12 Betriebsergebnisinformationen an das CGW 13. Die Betriebsergebnisinformationen, die durch das CGW 13 empfangen werden, enthalten Übertragungsquelleninformationen, eine Phasen-ID, eine Szenen-ID, das Betriebsergebnis und zusätzliche Informationen. Das CGW 13 aktualisiert den derzeitigen Fortschrittszustand auf der Grundlage der Betriebsergebnisinformationen, die von DCM 12 empfangen werden.
  • Die Bildschirmanzeige wird mit Bezug auf die 203 bis 210 beschrieben. In einem Fall, in dem der Nutzeranpassungsmodus nicht eingestellt ist und kein Flag in den Szeneninformationen der Neuschreibspezifikationsdaten gesetzt ist, befiehlt das CGW 13 dem Anzeigeendgerät 5, eine Bildschirmanzeige entsprechend einem Neuschreiben des Applikationsprogramms gemäß einem Inhalt der Anfangseinstellung bzw. Standardeinstellung durchzuführen (S2407). Wenn die Anfangseinstellung eine Einstellung zum Einschalten der Kampagnen-Mitteilung, des Downloads, der Installation und der Aktivierung ist, gibt das CGW 13 einen Bildschirmanzeigebefehl an das Anzeigeendgerät 5 aus, um aufeinanderfolgend den Navigationsbildschirm 501, den Kampagnen-Mitteilungsbildschirm 502, den Download-Zustimmungsbildschirm 503, den Download-Fortschrittsbildschirm 504, den Download-Beendigungsmitteilungsbildschirm 505, den Installationszustimmungsbildschirm 506, den Installationsfortschrittsbildschirm 507, den Aktivierungszustimmungsbildschirm 508, den Aktivierungsbeendigungsmitteilungsbildschirm 509 und den Prüfbetriebsbildschirm 510 anzuzeigen, wie es in den 31 bis 46 dargestellt ist. In diesem Fall werden die Inhalte zum Erhalten der Zustimmung des Nutzers (OK) auf dem Kampagnen-Mitteilungsbildschirm 502, dem Download-Zustimmungsbildschirm 503, dem Installationszustimmungsbildschirm 506, dem Aktivierungszustimmungsbildschirm 508 und dem Prüfbetriebsbildschirm 510 angezeigt.
  • In einem Fall, in dem der Nutzeranpassungsmodus eingestellt ist, befiehlt das CGW 13 dem Anzeigeendgerät 5, eine Bildschirmanzeige entsprechend dem Neuschreiben des Applikationsprogramms gemäß einem Inhalt des Nutzeranpassungsmodus durchzuführen (S2406). Dieses ist jedoch auf einen Fall beschränkt, in dem Szeneninformationen nicht bezeichnet sind. Wenn beispielsweise in dem Nutzeranpassungsmodus die Kampagnen-Mitteilung auf Ein eingestellt ist, der Download auf Aus eingestellt ist, die Installation auf Aus eingestellt ist und die Aktivierung auf Ein eingestellt ist, gibt das CGW 13 einen Bildschirmanzeigebefehl an das Anzeigeendgerät 5 aus, sodass der Download-Zustimmungsbildschirm 503, der Download-Fortschrittsbildschirm 504, der Download-Beendigungsmitteilungsbildschirm 505, der Installationszustimmungsbildschirm 506 und der Installationsfortschrittsbildschirm 507 nicht angezeigt werden, aber der Aktivierungszustimmungsbildschirm 508 angezeigt wird, nachdem der Kampagnen-Mitteilungsbildschirm 502 angezeigt wurde.
  • In einem Fall, in dem das Rückruf-Flag in den Szeneninformationen der Neuschreibspezifikationsdaten eingestellt bzw. gesetzt ist, befiehlt das CGW 13 dem Anzeigeendgerät 5, eine Bildschirmanzeige entsprechend dem Neuschreiben des Applikationsprogramms gemäß einem Inhalt des Rückrufmodus durchzuführen (S2404). Wie es in 204 dargestellt ist, zeigt das CGW 13 in diesem Fall den „später“-Knopf 502a auf dem Kampagnen-Mitteilungsbildschirm 502 nicht an. Wie es in den 205 und 206 dargestellt ist, zeigt das CGW 13 den „zurück“-Knopf 503c auf dem Download-Zustimmungsbildschirm 203 nicht an. Wie es in 207 dargestellt ist, zeigt das CGW 13 den „zurück“-Knopf 504b auf dem Download-Fortschrittsbildschirm 504 nicht an. Wie es in den 208 und 209 dargestellt ist, zeigt das CGW 13 den „zurück“-Knopf 505b auf dem Installationszustimmungsbildschirm 505 nicht an. Wie es außerdem in 210 dargestellt ist, zeigt das CGW 13 den „zurück“-Knopf auf dem Aktivierungszustimmungsbildschirm 518 nicht an.
  • Das heißt, in einem Fall, in dem das Rückruf-Flag in den Szeneninformationen der Neuschreibspezifikationsdaten gesetzt ist, können der „später“-Knopf oder der „zurück“-Knopf auf ein Nichtanzeigen derart eingestellt werden, dass der „später“-Knopf oder der „zurück“-Knopf nicht angezeigt wird. Alternativ kann, nachdem der Kampagnen-Mitteilungsbildschirm 502 angezeigt und die Zustimmung des Nutzers auf dem Download-Zustimmungsbildschirm 503 erhalten wurde, die Anzeige des Installationszustimmungsbildschirms 505 und des Aktivierungszustimmungsbildschirms 518 weggelassen werden. Auch wenn ein Fall beschrieben wurde, bei dem das Rückruf-Flag in den Szeneninformationen der Neuschreibspezifikationsdaten gesetzt ist, gilt dasselbe für einen Fall, in dem das Händler-Flag, das Werks-Flag, das Funktionsaktualisierungsmitteilungs-Flag und/oder das Zwangsausführungs-Flag in den Szeneninformationen der Neuschreibspezifikationsdaten gesetzt ist, und es kann ein Befehl zur Verfügbarkeit einer Anzeige eines Bildschirms entsprechend einer Phase, einer Verfügbarkeit einer Anzeige eines Postens des Bildschirms oder einer Änderung eines Anzeigeinhaltes des Postens des Bildschirms je nach Situation, in der das Applikationsprogramm geschrieben wird, ausgegeben werden.
  • Insbesondere in einem Fall, in dem das Händler-Flag in den Szeneninformationen der Neuschreibspezifikationsdaten gesetzt ist, kann ein zugehöriger Bildschirm für einen Händler anstelle eines Bildschirms für einen Nutzer angezeigt werden, da es notwendig ist, einen zugehörigen Bildschirm in dem Reparaturprozess in der Händlerumgebung anzuzeigen. Das heißt, da ein Nutzer keinen Betrieb betreffend ein Neuschreiben eines Applikationsprogramms durchführt, sondern ein Operator eines Händlers den Betrieb betreffend das Neuschreiben des Applikationsprogramms durchführt, kann der „später“-Knopf oder der „zurück“-Knopf zur Anzeige für die Arbeit des Händlers eingestellt werden, sodass der „später“-Knopf oder der „zurück“-Knopf angezeigt wird. Es kann beispielsweise eine Führungsnachricht wie „bitte beim Händler neu schreiben lassen“ angezeigt werden, um den Nutzer zu veranlassen, das Fahrzeug zu dem Händler zu bringen.
  • In einem Fall, in dem das Werks-Flag in den Szeneninformationen der Neuschreibspezifikationsdaten gesetzt ist, wird keine Bildschirmanzeige bei dem Herstellungsprozess in der Werksumgebung benötigt, und somit muss kein Bildschirm angezeigt werden.
  • In einem Fall, in dem das Funktionsaktualisierungsmitteilungs-Flag in den Szeneninformationen der Neuschreibspezifikationsdaten gesetzt ist, wird eine Bildschirmanzeige zur Zuverlässigkeitsmitteilung für den Nutzer hinsichtlich des Änderungsinhaltes benötigt, auch wenn der Nutzer die Einstellung hinsichtlich einer nicht benötigten Anzeige durchgeführt hat, sodass ein Bildschirm für den Nutzer unabhängig von der nutzerangepassten Einstellung angezeigt werden kann. Das heißt, sogar in einem Fall, in dem der Nutzer bestimmt, dass eine Zustimmung nicht notwendig ist, wird wie oben beschrieben der „später“-Knopf oder der „zurück“-Knopf auf ein Anzeigen derart eingestellt, dass der „später“-Knopf oder der „zurück“-Knopf angezeigt wird, da es wünschenswert ist, dass die Zustimmung zwangsweise erhalten wird und ein Zustimmungsbildschirm zwangsweise angezeigt wird.
  • In einem Fall, in dem das Zwangsausführungs-Flag in den Szeneninformationen der Neuschreibspezifikationsdaten gesetzt ist, wird eine erzwungene Ausführung zum zuverlässigen Aktualisieren von Software des Fahrzeugs benötigt, auch wenn der Nutzer mittels Nutzeranpassung ein notwendiges Anzeigen eingestellt hat und somit der Nutzer keine Zustimmung ausgeben muss. Daher kann ein zugehöriger Bildschirm für den Nutzer unabhängig von der Nutzeranpassungseinstellung angezeigt werden. Das heißt, da der Nutzer bestimmt, dass eine Zustimmung nicht notwendig ist, aber das Applikationsprogramm neu geschrieben wird, auch wenn die Zustimmung nicht gegeben wird, können der „später“-Knopf und der „zurück“-Knopf wie oben beschrieben auf „nicht anzeigen“ eingestellt werden, sodass der „später“-Knopf oder der „zurück“-Knopf nicht angezeigt wird. Da die Funktion auf einer erhaltenen Zustimmung basiert, kann ein Neuschreiben durch Erhalten der Zustimmung, ohne den Bildschirm selbst anzuzeigen, durchgeführt werden.
  • Wie es oben beschrieben wurde, führt das CGW 13 den Fortschrittsanzeigebildschirm-Anzeigesteuerungsprozess durch und befiehlt somit dem Anzeigeendgerät 5, eine Bildschirmanzeige entsprechend einem Einstellungsinhalt eines Nutzeranpassungsmodus in einem Fall durchzuführen, in dem der Nutzeranpassungsmodus eingestellt ist. Der Nutzer kann eine Bildschirmanzeige entsprechend dem Fortschritt des Neuschreibens anpassen.
  • Programmaktualisierungs-Mitteilungssteuerungsprozess
  • Der Programmaktualisierungs-Mitteilungssteuerungsprozess wird mit Bezug auf die 211 bis 217 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Programmaktualisierungs-Mitteilungssteuerungsprozess in dem CGW 13 durch.
  • Wie es in 211 dargestellt ist, enthält das CGW 13 eine Phasenbestimmungseinheit 91a, eine Anzeigebefehlseinheit 91b, eine Indikatoranzeigesteuerungseinheit 91c, eine Piktogrammanzeigesteuerungseinheit 91d, eine Detailinformationsanzeigesteuerungseinheit 91e und eine Abbruchbefehlseinheit 91f in der Programmaktualisierungs-Mitteilungssteuerungseinheit 91. Die Phasenbestimmungseinheit 91a bestimmt eine Phase als eine Fortschrittssituation einer Programmaktualisierung. Die Phasenbestimmungseinheit 91a bestimmt eine Kampagnen-Mitteilung, eine Download-Zustimmung, einen Download-Fortschritt, eine Installationszustimmung, einen Installationsfortschritt, eine Aktivierungszustimmung, einen Aktivierungsfortschritt und eine Aktualisierungsbeendigung als Phasen einer Programmaktualisierung.
  • Wenn die Phase der Programmaktualisierung durch die Phasenbestimmungseinheit 91a bestimmt ist, gibt die Anzeigebefehlseinheit 91b einen Befehl zum Anzeigen eines Indikators gemäß einem Aspekt entsprechend der Phase der bestimmten Programmaktualisierung aus. Wenn der Befehl zum Anzeigen des Indikators von der Anzeigebefehlseinheit 91b ausgegeben wird, steuert die Indikatoranzeigesteuerungseinheit 91c die Anzeige des Indikators als Antwort auf den Befehl. Insbesondere steuert die Indikatoranzeigesteuerungseinheit 91c ein Leuchten eines Indikators 46 in der Messgerätevorrichtung 45.
  • Die Piktogrammanzeigesteuerungseinheit 91d steuert eine Anzeige eines Piktogramms auf der fahrzeugeigenen Anzeige 7 anschließend an die Steuerung der Anzeige des Indikators durch die Indikatoranzeigesteuerungseinheit 91c. Die Detailinformationsanzeigesteuerungseinheit 91e steuert eine Anzeige eines Piktogramms und von detaillierten Informationen betreffend die Programmaktualisierung auf der fahrzeugeigenen Anzeige 7 oder dem mobilen Endgerät 6 anschließend an die Steuerung der Anzeige des Indikators durch die Indikatoranzeigesteuerungseinheit 91c. Das Piktogramm ist das Kampagnen-Mitteilungspiktogramm 501a, das in 32 dargestellt ist, und die Detailinformationen sind beispielsweise der Kampagnen-Mitteilungsbildschirm 502, der in einer Pop-up-Form angezeigt wird, wie es in 33 dargestellt ist, oder der Download-Zustimmungsbildschirm, der in den 34 und 35 dargestellt ist. Die Detailinformationsanzeigesteuerungseinheit 91e gibt einen Befehl zum Anzeigen des Piktogramms gemäß dem Aspekt entsprechend der Phase der Programmaktualisierung, die durch die Phasenbestimmungseinheit 91a bestimmt wird, oder einen Befehl zum Anzeigen des Detailinformationsbildschirms entsprechend der Phase und dem Nutzerbetrieb aus.
  • Die Abbruchbefehlseinheit 91f befiehlt der Stromversorgungsverwaltungs-ECU 20 und den jeweiligen ECUs 19 betreffend den Nutzerbetrieb, einen Empfang des Nutzerbetriebs sogar in einem Fall abzubrechen, in dem die Stromversorgungsverwaltungs-ECU 20 die Stromversorgungssteuerung durch Aktualisieren der Programme während eines Parkens durchführt. Durch Befehlen der Verbrennungsmotor-ECU 47 (siehe 217), den Empfang des Nutzerbetriebs abzubrechen, wird beispielsweise in einem Fall, in dem eine Speicherkonfiguration der Neuschreibziel-ECU 19 ein Einzelbankspeicher ist und die Installation während eines Parkens durchgeführt wird, der Empfang abgebrochen, und der Verbrennungsmotor wird nicht gestartet, auch wenn der Nutzer einen Betrieb zum Starten des Verbrennungsmotors durchführt. Durch Befehlen der Stromversorgungsverwaltungs-ECU 20, den Nutzerbetrieb abzubrechen, wird in einem Fall, in dem eine Speicherkonfiguration der Neuschreibziel-ECU 19 ein Einzelbankspeicher ist, die IG-Leistung eingeschaltet, eine Installation während eines Parkens durchgeführt, der Empfang abgebrochen und die IG-Leistung nicht ausgeschaltet, auch wenn der Nutzer einen Betrieb zum Ausschalten der IG-Leistung durchführt. In diesem Fall kann die Abbruchsbefehlseinheit 91f der fahrzeugeigenen Anzeige 7 befehlen, eine Mittelung durchzuführen, dass der Empfang des Nutzerbetriebs ungültig gemacht wurde.
  • Im Folgenden wird ein Betrieb der oben beschriebenen Konfiguration mit Bezug auf die 212 bis 217 beschrieben. Das CGW 13 führt ein Programmaktualisierungs-Mitteilungssteuerungsprogramm aus und führt somit den Programmaktualisierungs-Mitteilungssteuerungsprozess durch.
  • Wenn der Programmaktualisierungs-Mitteilungssteuerungsprozess initiiert ist, bestimmt das CGW 13, ob eine Kampagne einer Programmaktualisierung aufgetreten ist (S2501). Wenn bestimmt wird, dass die Kampagne der Programmaktualisierung aufgetreten ist (S2501: Ja), bestimmt das CGW 13 eine Phase der Programmaktualisierung und eine Speicherkonfiguration (S2502; entspricht einer Phasenbestimmungsprozedur). Das CGW 13 befiehlt der Messgerätevorrichtung 45, den Indikator 46 gemäß einem Aspekt entsprechend der bestimmten Phase der Programmaktualisierung anzuzeigen (S2503; entspricht einer Anzeigebefehlsprozedur). Der fahrzeugeigenen Anzeige 7 wird befohlen, ein Piktogramm entsprechend der bestimmten Phase der Programmaktualisierung anzuzeigen (S2504).
  • Es wird bestimmt, ob eine Detailanzeigeanfrage verfügbar ist (S2505), und wenn bestimmt wird, dass die Detailanzeigeanfrage verfügbar ist (S2505: Ja), bestimmt das CGW 13, ob eine Datenkommunikation mit der fahrzeugeigenen Anzeige 7 möglich ist (S2506). Wenn beispielsweise der Nutzer das Kampagnen-Mitteilungspiktogramm 501a, das in 32 dargestellt ist, den „prüfen“-Knopf 502a, der in 33 dargestellt ist, oder den „Details prüfen“-Knopf 503b, der in 34 dargestellt ist, drückt, bestimmt das CGW 13, dass die Detailanzeigeanfrage verfügbar ist. Wenn bestimmt wird, dass eine Datenkommunikation mit der fahrzeugeigenen Anzeige 7 möglich ist (S2506: Ja), beschafft das CGW 13 detaillierte Informationen (S2507), befiehlt der fahrzeugeigenen Anzeige 7, die detaillierten Informationen anzuzeigen (S2508), und befiehlt der Zentrumsvorrichtung 3, die detaillierten Informationen anzuzeigen (S2509).
  • Das CGW 13 beschafft einen Mitteilungsinhalt, der zusammen mit der Kampagnen-Mitteilung empfangen wird, und einen Mitteilungsinhalt der Verteilungsspezifikationsdaten und teilt der fahrzeugeigenen Anzeige 7 die Mitteilungsinhalte, für die die Anzeige der detaillierten Informationen befohlen wird, mit. Das CGW 13 teilt der Zentrumsvorrichtung 3 die Phase und einen Inhalt des Nutzerbetriebs als einen Befehl zum Anzeigen der detaillierten Informationen derart mit, dass derselbe Inhalt wie derjenige in der fahrzeugeigenen Anzeige 7 auch auf dem mobilen Endgerät 6 angezeigt wird.
  • Das CGW 13 bestimmt, ob ein Programmaktualisierungsereignis beendet ist (S2510). Wenn der Nutzer beispielsweise bestätigt, dass die Aktivierung beendet wurde und das Programm aktualisiert wurde, bestimmt das CGW 13, dass das Ereignis beendet ist. Wenn bestimmt wird, dass das Programmaktualisierungsereignis nicht beendet ist (S2510: Nein), kehrt das CGW 13 zum Schritt S2502 zurück und führt Schritt S2502 und die anschließenden Schritte wieder durch. Das CGW 13 führt S2502 und die anschließenden Schritte in jeder Phase der Kampagnen-Mitteilung, der Download-Zustimmung, des Download-Fortschritts, der Installationszustimmung, des Installationsfortschritts, der Aktivierungszustimmung, des Aktivierungsfortschritts und der Aktualisierungsbeendigung durch. Wenn bestimmt wird, dass das Programmaktualisierungsereignis beendet ist (S2510: Ja), beendet das CGW 13 den Programmaktualisierungs-Mitteilungssteuerungsprozess.
  • In der Messgerätevorrichtung 45 ist der Indikator 46 an einer vorbestimmten Position angeordnet, die von dem Nutzer erkannt werden kann, und wenn eine Mitteilungsanfragemitteilung von dem CGW 13 empfangen wird, wird der Indikator 46 beleuchtet oder blinkt als eine Mitteilung während eines Neuschreibens des Applikationsprogramms. Anstelle des Blinkens kann eine Leuchtanzeige verwendet werden, die betonter als eine normale Leuchtanzeige ist, indem beispielsweise eine Farbe geändert wird oder eine Helligkeit des Indikators 46 erhöht wird. Das heißt, es kann eine beliebige Anzeige verwendet werden, solange wie die Anzeige mehr als eine normale Anzeige hervorgehoben ist. Der Indikator 46 betreffend eine Programmaktualisierung ist ein einzelner Indikator und ist aus einem einzelnen Design ausgebildet.
  • Wie es in 213 dargestellt ist, ändert die Messgerätevorrichtung 45 Mitteilungsaspekte des Indikators in jeder Phase in einem Fall, in dem ein Applikationsprogrammneuschreibziel ein Doppelbankspeicher ist, in einem Fall, in dem das Applikationsprogrammneuschreibziel ein Einzelbank-Suspendierungs-Speicher ist, und in einem Fall, in dem das Applikationsprogrammneuschreibziel ein Einzelbankspeicher ist. Insbesondere bestimmt die Messgerätevorrichtung 45 einen Mitteilungsaspekt des Indikators 46 entsprechend einer Phase und einer Speicherkonfiguration, die von dem CGW 13 bezeichnet wird, und führt ein Mitteilen entsprechend dem bestimmten Mitteilungsaspekt durch. Anstelle der Messgerätevorrichtung 45 kann die Indikatoranzeigesteuerungseinheit 91c einen Mitteilungsaspekt des Indikators 46 steuern. Die Indikatoranzeigesteuerungseinheit 91c kann einen Mitteilungsaspekt des Indikators 46 bestimmen und der Messgerätevorrichtung 45 befehlen, ein Leuchten des Indikators 46 gemäß dem Mitteilungsaspekt zu steuern.
  • Wie es in 213 dargestellt ist, lässt die Indikatoranzeigesteuerungseinheit 91c den Indikator 46 beispielsweise, in einer Phase grün blinken, in der eine Beschränkung der Fahrt des Fahrzeugs auftreten kann, beispielsweise bei der Installation oder der Aktivierung. In einem Fall, in dem die Neuschreibziel-ECU 19 ein Doppelbankspeicher ist, führt die Indikatoranzeigesteuerungseinheit 91c ein Anzeigen auf blinkende Weise nur in einer Phase durch, in der eine Aktivierung fortschreitet bzw. andauert. In einem Fall, in dem die Neuschreibziel-ECU 19 ein Einzelbank-Suspendierungs-Speicher ist, zeigt die Indikatoranzeigesteuerungseinheit 91c den Indikator 46 auf blinkende Weise in der Installationsfortschrittsphase während ausgeschalteter IG, der Aktivierungszustimmungsphase und der Aktivierungsfortschrittsphase an. In einem Fall, in dem die Neuschreibziel-ECU 19 einen Einzelbankspeicher aufweist, zeigt die Indikatoranzeigesteuerungseinheit 91c auf blinkende Weise den Indikator in der Installationsfortschrittsphase, der Aktivierungszustimmungsphase und der Aktivierungsfortschrittsphase an. Das heißt, die Anzeige des Indikators 46 in der Kampagnen-Mitteilungsphase, der Download-Phase und der Phase nach Beendigung der Aktivierung (bei ausgeschalteter IG, eingeschalteter IG und einem Überprüfungsbetrieb) ist allgemein unabhängig von einer Speicherkonfiguration, aber die Anzeige des Indikators 46 in der Installationsphase und der Aktivierungsphase wird gemäß unterschiedlichen Aspekten je nach Speicherkonfiguration durchgeführt. Hier ist die Zeit von IG-Aus, wie es in 213 dargestellt ist, ein Anzeigeaspekt, wenn die Aktivierung während eines Parkens ausgeführt wird und die IG-Leistung während einer Beendigung der Aktivierung ausgeschaltet ist, und der Indikator 46 wird ausgeschaltet, wenn die IG-Leistung ausgeschaltet wird. Wenn danach die IG-Leistung durch den Nutzerbetrieb eingeschaltet wird, wird der Indikator 46 beleuchtet. Das heißt, dem Nutzer wird mitgeteilt, dass die gesamte Programmaktualisierung beendet wurde. Wenn der Nutzer den „OK“-Knopf 510b auf dem Prüfbetriebsbildschirm 510 drückt, der in 45 dargestellt ist, wird bestimmt, dass ein Prüfungsbetrieb durchgeführt wurde, und der Indikator 46 wird ausgeschaltet.
  • Im Folgenden wird ein Fall beschrieben, bei dem die Messgerätevorrichtung 45 einen Mitteilungsaspekt des Indikators 46 steuert, aber die Indikatoranzeigesteuerungseinheit 91c kann einen Mitteilungsaspekt des Indikators 46 wie oben beschrieben steuern. 214 stellt einen Mitteilungsaspekt des Indikators in einem Fall dar, in dem der Speichertyp der Neuschreibziel-ECU 19 ein Doppelbankspeicher ist. Die Messgerätevorrichtung 45 beleuchtet den Indikator 46 in den Phasen von der Kampagnen-Mitteilung bis zu der Aktivierungszustimmung und lässt den Indikator 46 in der Aktivierungsfortschrittsphase auf der Grundlage von Befehlen von dem CGW 13 blinken. Danach schaltet die Messgerätevorrichtung 45 die Beleuchtung des Indikators 46 bei einem Ausschalten der IG aus, lässt den Indikator 46 bei einem Einschalten der IG leuchten und schaltet die Beleuchtung des Indikators 46 aus, wenn der Nutzer einen Prüfbetrieb der Beendigung der Aktualisierung durchführt. Das heißt, in einem Fall des Doppelbankspeichers gibt es die Wahrscheinlichkeit, dass die Fahrt des Fahrzeugs nur während der Ausführung der Aktivierung eingeschränkt sein könnte. Nur die Ausführung der Aktivierung wird während einer Periode durchgeführt, während der das Fahrzeug nicht fahren kann, da das Fahrzeug parkt. Somit lässt die Messgerätevorrichtung 45 den Indikator 46 in der Aktivierungsfortschrittsphase blinken. Hier ist der Indikator ein vorbestimmtes Design und wird in einem Falle eines normalen Fortschritts grün angezeigt.
  • 215 stellt einen Mitteilungsaspekt des Indikators in einem Fall dar, in dem der Speichertyp der Neuschreibziel-ECU 19 ein Einzelbank-Suspendierungs-Speicher ist. In einem Fall, in dem ein Applikationsprogrammneuschreibziel ein Einzelbank-Suspendierungs-Speicher ist, beleuchtet die Messgerätevorrichtung 45 den Indikator 46 in den Phasen von der Kampagnen-Mitteilung bis zu der Installationszustimmung, beleuchtet den Indikator 46 bei eingeschalteter IG während der Ausführung der Installation und lässt den Indikator 46 bei ausgeschalteter IG auf der Grundlage von Befehlen von dem CGW 13 blinken. Das heißt, die Messgerätevorrichtung 45 beleuchtet den Indikator 46, da ein Schreiben in den Flash-Speicher der Einzelbank-Suspendierungs-Speicher-ECU in einem Einschaltzustand der IG nicht ausgeführt wird, aber lässt den Indikator 46 blinken, da ein Schreiben in den Flash-Speicher bei einer ausgeschalteten IG ausgeführt wird. Die Messgerätevorrichtung 45 lässt den Indikator 46 in den Phasen von der Aktivierungszustimmung bis zu dem Aktivierungsfortschritt blinken. Danach wird der Indikator 46 bei ausgeschalteter IG ausgeschaltet, der Indikator 46 wird bei eingeschalteter IG beleuchtet, und der Indikator 46 wird ausgeschaltet, wenn der Nutzer einen Prüfbetrieb zur Beendigung der Aktualisierung durchführt. Das heißt, in einem Fall des Einzelbank-Suspendierungs-Speichers besteht die Wahrscheinlichkeit, dass die Fahrt des Fahrzeugs von der fortschreitenden Installation bei eingeschalteter IG bis zu der fortschreitenden Aktivierung eingeschränkt sein könnte. Somit lässt die Messgerätevorrichtung 45 den Indikator 46 in diesen Phasen blinken. In einem Fall des Einzelbank-Suspendierungs-Speichers ist es hier sogar während der Ausführung der Installation in einer inaktiven Bank möglich, eine aktive Bank zu starten und eine Fahrt des Fahrzeugs durch Stoppen der Installation zu steuern. Wie in einem Fall des Doppelbankspeichers kann eine Blinkanzeige nur während der Ausführung der Aktivierung, während der das Fahrzeug nicht fahren kann, durchgeführt werden.
  • 216 stellt einen Mitteilungsaspekt des Indikators dar, wenn der Speichertyp der Neuschreibziel-ECU 19 ein Einzelbankspeicher ist. In einem Fall, in dem das Applikationsprogrammneuschreibziel ein Einzelbankspeicher ist, lässt die Messgerätevorrichtung 45 den Indikator 46 in den Phasen von der Kampagnen-Mitteilung bis zu der Installationszustimmung leuchten und lässt den Indikator 46 in den Phasen von dem Installationsfortschritt bis zum Aktivierungsfortschritt auf der Grundlage von Befehlen von dem CGW 13 blinken. Danach wird bei ausgeschalteter IG der Indikator 46 ausgeschaltet, der Indikator 46 wird bei eingeschalteter IG beleuchtet, und der Indikator 46 wird nicht beleuchtet, wenn der Nutzer einen Prüfbetrieb zur Beendigung der Aktualisierung durchführt. Das heißt, in einem Fall des Einzelbankspeichers besteht die Wahrscheinlichkeit, dass die Fahrt des Fahrzeugs von der fortschreitenden Installation bis zu der fortschreitenden Aktivierung eingeschränkt sein könnte. Somit lässt die Messgerätevorrichtung 45 den Indikator 46 in diesen Phasen blinken.
  • In einem Fall, in dem die ECUs 19, die einen Doppelbankspeicher, einen Einzelbank-Suspendierungs-Speicher und einen Einzelbankspeicher aufweisen, als Programmneuschreibziel-ECUs 19 in einer Kampagnen-Mitteilung enthalten sind, führt die Messgerätevorrichtung 45 ein Neuschreiben von Applikationsprogrammen der ECUs 19 in einer Reihenfolge des Doppelbankspeichers, des Einzelbank-Suspendierungs-Speichers und des Einzelbankspeichers durch. Nach der Kampagnen-Mitteilung führt das CGW 13 die Download-Zustimmung bis zum Installationsfortschritt auf der Doppelbankspeicher-ECU 19 durch, und die Messgerätevorrichtung 45 lässt den Indikator 46 während dieser Periode leuchten. Wenn die Installationsfortschrittsphase auf der Doppelbankspeicher-ECU 19 beendet ist, führt das CGW 13 die Download-Zustimmung bis zum Installationsfortschritt auf der Einzelbank-Suspendierungs-Speicher-ECU 19 durch, und die Messgerätevorrichtung 45 lässt den Indikator 46 während dieser Periode leuchten. Wenn die Installationsfortschrittsphase auf der Einzelbank-Suspendierungs-Speicher-ECU beendet ist, führt das CGW 13 die Download-Zustimmung bis zur Installationszustimmung auf der Einzelbankspeicher-ECU 19 durch, und die Messgerätevorrichtung 45 lässt den Indikator 46 während dieser Periode leuchten.
  • Die Messgerätevorrichtung 45 lässt die Indikatoren 46 von dem Installationsfortschritt in dem Einzelbankspeicher bis zum Aktivierungsfortschritt in drei Typen der ECUs 19, deren Speichertypen sich voneinander unterscheiden, blinken. Die Messgerätevorrichtung 45 schaltet die Beleuchtung des Indikators 46 bei einem anschließenden Ausschalten der IG aus, lässt den Indikator 46 bei einem Einschalten der IG leuchten und schaltet die Beleuchtung des Indikators 46 aus, wenn der Nutzer einen Prüfbetrieb zur Beendigung der Aktualisierung durchführt.
  • Die Messgerätevorrichtung 45 kann die folgende Steuerung in einem Fall durchführen, in dem die ECUs 19, die einen Doppelbankspeicher, einen Einzelbank-Suspendierungs-Speicher und einen Einzelbankspeicher aufweisen, als Programmneuschreibziel-ECUs 19 in einer Kampagnen-Mitteilung enthalten sind. Die Messgerätevorrichtung 45 führt ein Neuschreiben von Applikationsprogrammen in den ECUs 19 in der Reihenfolge des Doppelbankspeichers, des Einzelbank-Suspendierungs-Speichers und des Einzelbankspeichers durch. Nach der Kampagnen-Mitteilung gibt das CGW 13 einen Befehl zum Beleuchten des Indikators 46 in einem vorbestimmten grünen Design bei der Download-Zustimmung für einen Download eines Verteilungspaketes, das Aktualisierungsdaten von Neuschreibziel-ECUs 19 enthält, und den Download-Fortschritt aus. Danach gibt das CGW 13 einen Befehl zum Beleuchten mit einem vorbestimmten grünen Design als Installationszustimmungsindikator 46 aus. Die Installationszustimmung dient hier aus Komfortgründen auch als Aktivierungszustimmung, wenn die Einzelbankspeicher-ECU 19 enthalten ist. Wenn die Zustimmung des Nutzers für die Installation erhalten wird, führt das CGW 13 zunächst eine Installation in der Doppelbankspeicher-ECU 19 durch. Während die Installation in der Doppelbankspeicher-ECU 19 durchgeführt wird, beleuchtet die Messgerätevorrichtung 45 die Indikatoren 46. Wenn das CGW 13 die Installationsfortschrittsphase für die Doppelbankspeicher-ECU 19 beendet hat, führt das CGW 13 eine Installation in der Einzelbank-Suspendierungs-Speicher-ECU 19 durch. Während die Installation in der Einzelbank-Suspendierungs-Speicher-ECU durchgeführt wird, beleuchtet die Messgerätevorrichtung 45 den Indikator 46. Wenn das CGW 13 die Installationsfortschrittsphase für die Einzelbank-Suspendierungs-Speicher-ECU beendet hat, führt das CGW 13 eine Installation in der Einzelbankspeicher-ECU 19 durch. Während die Installation in der Einzelbank-Suspendierungs-Speicher-ECU 19 durchgeführt wird, lässt die Messgerätevorrichtung 45 den Indikator 46 blinken. Wenn die Installation in sämtlichen Neuschreibziel-ECUs 19 beendet ist, führt das CGW 13 eine Aktivierung in einem Zustand durch, in dem der Indikator 46 blinkt. Das CGW 13 befiehlt der Messgerätevorrichtung 45, den Indikator 46 bei einem anschließenden Ausschalten der IG auszuschalten, befiehlt der Messgerätevorrichtung 45, den Indikator 46 bei einem Einschalten der IG zu beleuchten, und befiehlt der Messgerätevorrichtung 46, den Indikator 46 auszuschalten, wenn der Nutzer einen Prüfbetrieb zur Beendigung der Aktualisierung durchführt.
  • In den jeweiligen Phasen, die in den 214 bis 216 dargestellt sind, befiehlt das CGW 13 außerdem der fahrzeugeigenen Anzeige 7, Piktogramme anzuzeigen. Das CGW 13 gibt einen Befehl zum Anzeigen des Kampagnen-Mitteilungspiktogramms 501a, das in 32 dargestellt ist, in der Kampagnen-Mitteilungsphase aus. Das CGW 13 setzt das Anzeigen der Kampagnen-Mitteilungspiktogramme 501a sogar in der Download-Zustimmungsphase fort. Das CGW 13 gibt einen Befehl zum Anzeigen des Download-Fortschrittspiktogramms 501b, das in 36 dargestellt ist, in der Download-Fortschrittsphase aus. In der Installationszustimmungsphase kann das CGW 13 das Anzeigen des Download-Fortschrittspiktogramms 501b fortsetzen oder kann einen Befehl zum erneuten Anzeigen des Kampagnen-Mitteilungspiktogramms 501a ausgeben. Das CGW 13 gibt einen Befehl zum Anzeigen des Installationsfortschrittspiktogramms 501c, das in 41 dargestellt ist, in der Installationsfortschrittsphase aus. In der Aktivierungszustimmungsphase kann das CGW 13 das Anzeigen des Installationsfortschrittspiktogramms 501c fortsetzen oder kann einen Befehl zum erneuten Anzeigen des Kampagnen-Mitteilungspiktogramms 501a ausgeben. Das CGW 13 zeigt die Piktogramme in der Aktivierungsfortschrittsphase und bei einem anschließenden Ausschalten der IG nicht an. Bei einem Einschalten der IG kann das CGW 13 einen Befehl zum erneuten Anzeigen des Kampagnen-Mitteilungspiktogramms 501a ausgeben oder kann den Aktivierungsbeendigungsmitteilungsbildschirm 509 in einer Pop-up-Form anzeigen, wie es in 44 dargestellt ist. Das CGW 13 zeigt die Piktogramme nicht an, wenn der Nutzer einen Prüfbetrieb zur Beendigung der Aktualisierung durchführt. Es gibt nur eine Piktogrammanzeige betreffend die Programmaktualisierung, und die Piktogrammanzeige ist aus einem Design ausgebildet, das einer jeweiligen Phase entspricht.
  • Wie es oben beschrieben wurde, unterscheidet sich in einem Fall, in dem das CGW 13 einen Befehl für eine Mitteilung, dass das Applikationsprogramm neu geschrieben wird, unter Verwendung des Indikators 46 ausgibt, ein Mitteilungsaspekt, wenn eine Abnormität während eines Neuschreibens des Applikationsprogramms auftritt, von demjenigen zu der normalen Zeit. Das CGW 13 gibt beispielsweise einen Befehl für eine grüne Leuchtanzeige oder eine grüne Blinkanzeige aus, wenn das Neuschreiben des Applikationsprogramms normal durchgeführt wird, und gibt beispielsweise einen Befehl für eine gelbe oder rote Leuchtanzeige oder eine gelbe oder rote Blinkanzeige aus, wenn eine Abnormität auftritt. Das CGW 13 kann Farben entsprechend dem Grad der Abnormität ändern, einen Befehl für eine rote Leuchtanzeige oder eine rote Blinkanzeige beispielsweise ausgeben, wenn der Grad der Abnormität relativ hoch ist, und einen Befehl für eine gelbe Leuchtanzeige oder eine gelbe Blinkanzeige ausgeben, wenn der Grad der Abnormität relativ niedrig ist. Hier enthält die oben genannte Abnormität einen Zustand, in dem ein Verteilungspaket nicht heruntergeladen werden kann, einen Zustand, in dem Schreibdaten nicht installiert werden können, einen Zustand, in dem Schreibdaten nicht in die Neuschreibziel-ECU 19 geschrieben werden können, einen Zustand, in dem Schreibdaten nicht korrekt sind, und Ähnliches.
  • Die fahrzeugeigene Anzeige 7 zeigt aufeinanderfolgend den Kampagnen-Mitteilungsbildschirm 502, den Download-Zustimmungsbildschirm 503, den Download-Fortschrittsbildschirm 504, den Download-Beendigungsmitteilungsbildschirm 505, den Installationszustimmungsbildschirm 506, den Installationsfortschrittsbildschirm 507, den Aktivierungszustimmungsbildschirm 508, den IG-EIN-Bildschirm 500 und den Aktualisierungsbeendigungsprüfbetriebsbildschirm 510 als detaillierte Anzeigen auf der Grundlage des Nutzerbetriebs an. Dieselbe detaillierte Anzeige wie in der fahrzeugeigenen Anzeige 7 kann in dem mobilen Endgerät 6 erfolgen, das kommunizierbar mit der Zentrumsvorrichtung 3 verbunden ist. In einem Fahrzeug, in dem die fahrzeugeigene Anzeige 7 nicht montiert ist, fordert das CGW 13 die Zentrumsvorrichtung 3 über das DCM 12 zur detaillieren Anzeige auf, wenn der Nutzer beispielsweise das detaillierte Anzeigen durch Betätigen eines Lenkradschalters oder Ähnlichem anfordert. Die Zentrumsvorrichtung 3 erzeugt einen Inhalt der detaillierten Anzeige, und das mobile Endgerät 6 zeigt den Inhalt derart an, dass der Nutzer die detaillierten Informationen auf dem mobilen Endgerät 6 prüfen kann.
  • Wie es in 217 dargestellt ist, startet das CGW 13 in einem Fall, in dem ein Applikationsprogramm eines Einzelbank-Suspendierungs-Speichers oder eines Einzelbankspeichers einer IG-ECU oder einer ACC-ECU während eines Parkens neu geschrieben wird, zwangsweise die Stromversorgungsverwaltungs-ECU 20, um die Leistung des Fahrzeugs einzuschalten. Wenn in diesem Fall die Stromversorgungsverwaltungs-ECU 20 erzwungenermaßen gestartet wird, wird die Messgerätevorrichtung 45 oder die fahrzeugeigene Anzeige 7 aufgrund eines Betriebs der Stromversorgungsverwaltungs-ECU 20 gestartet. Somit befiehlt das CGW 13 der Messgerätevorrichtung 45 oder der fahrzeugeigenen Anzeige 7, eine Mitteilung betreffend die Programmaktualisierung zu unterdrücken. Wenn der Messgerätevorrichtung 45 von dem CGW 13 befohlen wird, die Mitteilung hinsichtlich der Aktualisierung des Programms zu unterdrücken, beleuchtet die Messgerätevorrichtung 45 den Indikator 46 nicht und lässt diesen nicht blinken. Wenn der fahrzeugeigenen Anzeige 7 von dem CGW 13 befohlen wird, die Mitteilung hinsichtlich der Programmaktualisierung zu unterdrücken, führt die fahrzeugeigene Anzeige 7 das oben beschriebene detaillierte Anzeigen nicht durch. Das heißt, in einer Situation, in der der Nutzer bei der Installation oder der Aktivierung, die während eines Parkens durchgeführt wird, nicht fährt, wird die Steuerung derart durchgeführt, dass die Mitteilung nicht erfolgt, da die Mitteilung betreffend die Programmaktualisierung nicht notwendig ist.
  • Wenn die Stromversorgungsverwaltungs-ECU 20 erzwungenermaßen gestartet wird, um die Fahrzeugleistung einzuschalten, ist eine Verbrennungsmotorsteuerung durch Empfangen eines Betriebs eines Druckschalters von dem Nutzer möglich, aber das CGW 13 befiehlt der Stromversorgungsverwaltungs-ECU 20, einen Empfang des Nutzerbetriebs ungültig zu machen, und befiehlt der Messgerätevorrichtung 45, der fahrzeugeigenen Anzeige 7 und der ECU 19 betreffend den Nutzerbetrieb, eine Mitteilung hinsichtlich des Abbruches des Empfangs des Nutzerbetriebs durchzuführen. In einem Fall, in dem der Messgerätevorrichtung 45 von dem CGW 13 befohlen wird, den Empfang des Nutzerbetriebs ungültig zu machen, macht die Messgerätevorrichtung 45 den Empfang des Betriebs sogar dann ungültig, wenn der Nutzer den Betrieb auf der Messgerätevorrichtung 45 durchführt. In einem Fall, in dem der fahrzeugeigenen Anzeige 7 von dem CGW 13 befohlen wird, den Empfang des Nutzerbetriebs ungültig zu machen, macht die fahrzeugeigene Anzeige 7 den Empfang des Betriebs sogar dann ungültig, wenn der Nutzer den Betrieb auf der fahrzeugeigenen Anzeige 7 durchführt. In einem Fall, in dem der Verbrennungsmotor-ECU 47 von dem CGW 13 befohlen wird, den Empfang des Nutzerbetriebs ungültig zu machen, macht die Verbrennungsmotor-ECU 47 den Empfang des Betriebs ungültig, um einen Start des Verbrennungsmotors sogar dann zu verhindern, wenn der Nutzer einen Betrieb zum Starten des Verbrennungsmotors mittels des Druckschalters durchführt.
  • Wie es oben beschrieben wurde, befiehlt das CGW 13 der Messgerätevorrichtung 45, eine Mitteilung, dass ein Applikationsprogramm neu geschrieben wird, mittels Durchführung des Programmaktualisierungs-Mitteilungssteuerungsprozesses durchzuführen. Sogar in einer Situation, in der dem Nutzer unter Verwendung des mobilen Endgerätes oder der fahrzeugeigenen Anzeige 7 nicht mitgeteilt werden kann, dass ein Applikationsprogramm neu geschrieben wird, kann dem Nutzer geeignet mitgeteilt werden, dass ein Applikationsprogramm neu geschrieben wird, dadurch, dass dem Nutzer unter Verwendung der Messgerätevorrichtung 45 mitgeteilt wird, dass ein Applikationsprogramm neu geschrieben wird. Das CGW 13 kann einen Mitteilungsaspekt entsprechend einer Fortschrittssituation des Neuschreibens des Applikationsprogramms ändern.
  • Selbsterhaltungsenergie-Ausführungssteuerungsprozess
  • Der Selbsterhaltungsenergie-Ausführungssteuerungsprozess wird mit Bezug auf die 218 bis 222 beschrieben. Das Fahrzeug-Programmneuschreibsystem 1 führt den Selbsterhaltungsenergie-Ausführungssteuerungsprozess in dem CGW 13, der ECU 19, der fahrzeugeigenen Anzeige 7 und der Stromversorgungsverwaltungs-ECU 20 durch. In diesem Fall gibt das CGW 13 einen Befehl für eine Selbsterhaltungsenergie an die ECU 19, die fahrzeugeigene Anzeige 7 und die Stromversorgungsverwaltungs-ECU 20 aus. Das heißt, das CGW 13 entspricht einer Fahrzeug-Master-Vorrichtung, und die ECU 19, die fahrzeugeigene Anzeige 7 und die Stromversorgungsverwaltungs-ECU 20 entsprechen Fahrzeug-Slave-Vorrichtungen. Das CGW 13 weist eine zweite Selbsterhaltungsenergieschaltung auf, und die Fahrzeug-Slave-Vorrichtung weist eine erste Selbsterhaltungsenergieschaltung auf.
  • Wie es in 218 dargestellt ist, enthält das CGW 13 in der Selbsterhaltungsenergie-Ausführungssteuerungseinheit 92 eine Fahrzeugleistungsbestimmungseinheit 92a, eine Neuschreibfortschrittsbestimmungseinheit 92b, eine erste Selbsterhaltungsenergiebestimmungseinheit 92c, eine Selbsterhaltungsenergiebefehlseinheit 92d, eine zweite Selbsterhaltungsenergiebestimmungseinheit 92e, eine zweite Selbsterhaltungsenergiefreigabeeinheit 92f, eine zweite Stoppbedingungserfüllungsbestimmungseinheit 92g und eine zweite Selbsterhaltungsenergiestoppeinheit 92h.
  • Die Fahrzeugleistungsbestimmungseinheit 92a bestimmt ein Einschalten und Ausschalten der Fahrzeugleistung. Die Neuschreibfortschrittsbestimmungseinheit 92b bestimmt, ob ein Applikationsprogramm neu geschrieben wird. Die Neuschreibfortschrittsbestimmungseinheit 95b bestimmt außerdem diejenige Neuschreibziel-ECU 19, in die das Applikationsprogramm neu geschrieben wird. Die erste Selbsterhaltungsenergiefreigabeeinheit 92c bestimmt die Notwendigkeit einer Selbsterhaltung der Energie in den Fahrzeug-Slave-Vorrichtungen, wenn von der Fahrzeugleistungsbestimmungseinheit 92a bestimmt wird, dass die Fahrzeugleistung ausgeschaltet wird, und von der Neuschreibfortschrittsbestimmungseinheit 92b bestimmt wird, dass das Programm neu geschrieben wird. Das heißt, die erste Selbsterhaltungsenergiefreigabeeinheit 92c nimmt Bezug auf die in 8 dargestellten Neuschreibspezifikationsdaten und bestimmt, dass die Energie selbst erhalten werden muss, wenn ein Neuschreibverfahren in den ECU-Informationen der Neuschreibziel-ECU 19 als Selbsterhaltungsenergieverfahren bezeichnet ist, und bestimmt, dass die Energie nicht selbst erhalten werden muss, wenn das Neuschreibverfahren als Stromversorgungssteuerungsverfahren bestimmt ist.
  • Wenn von der ersten Selbsterhaltungsenergiebestimmungseinheit 92c bestimmt wird, dass die Energie in der Fahrzeug-Slave-Vorrichtung selbst erhalten werden muss, befiehlt die Selbsterhaltungsenergiebefehlseinheit 92d der Fahrzeug-Slave-Vorrichtung, die erste Selbsterhaltungsenergieschaltung freizugeben. Gemäß einem Aspekt, bei dem die Selbsterhaltungsenergiebefehlseinheit 92d einen Befehl zum Freigeben der ersten Selbsterhaltungsenergieschaltung ausgibt, gibt es einen Aspekt eines Bezeichnens einer Beendigungszeit der Selbsterhaltungsenergie, einen Aspekt eines Ausgebens eines Befehls für eine Erweiterungszeit der Selbsterhaltungsenergie und einen Aspekt eines Fortsetzens einer periodischen Ausgabe einer Selbsterhaltungsanfrage an die Fahrzeug-Slave-Vorrichtung. Die Selbsterhaltungsenergiebefehlseinheit 92d nimmt Bezug auf die in 8 dargestellten Neuschreibspezifikationsdaten und befiehlt der Fahrzeug-Slave-Vorrichtung, die erste Selbsterhaltungsenergieschaltung entsprechend einer Zeit, die als Selbsterhaltungsenergiezeit der ECU-Informationen der Neuschreibziel-ECU 19 bezeichnet ist, freizugeben.
  • Das heißt, in dem Aspekt eines Bezeichnens der Beendigungszeit der Selbsterhaltungsenergie bezeichnet die Selbsterhaltungsenergiebefehlseinheit 92d als Beendigungszeit die Zeit, die durch Addieren der Zeit, die in den Neuschreibspezifikationsdaten bezeichnet ist, zu der derzeitigen Zeit erhalten wird. In dem Fall eines Bezeichnens der Erweiterungszeit der Selbsterhaltungsenergie bezeichnet die Selbsterhaltungsenergiebefehlseinheit 92d die Zeit, die in den Neuschreibspezifikationsdaten spezifiziert ist, als Erweiterungszeit. In dem Aspekt eines Fortsetzens eines periodischen Ausgebens der Selbsterhaltungsanfrage an die Fahrzeug-Slave-Vorrichtung setzt die Selbsterhaltungsenergiebefehlseinheit 92d die periodische Ausgabe der Selbsterhaltungsanfrage an die Fahrzeug-Slave-Vorrichtung fort, bis die Zeit, die in den Neuschreibspezifikationsdaten spezifiziert ist, verstrichen ist.
  • Die zweite Selbsterhaltungsenergiebestimmungseinheit 92e bestimmt die Notwendigkeit einer Selbsterhaltung der Energie in dieser, wenn von der Fahrzeugleistungsbestimmungseinheit 92a bestimmt wird, dass die Fahrzeugleistung ausgeschaltet wird bzw. ist, und von der Neuschreibfortschrittsbestimmungseinheit 92b bestimmt wird, dass das Programm neu geschrieben wird. Das heißt, die Notwendigkeit der Selbsterhaltung der Energie wird unter Berücksichtigung einer Konfiguration bestimmt, bei der das CGW 13 ein IG-Leistungssystem oder ein ACC-Leistungssystem ist. Wenn von der zweiten Selbsterhaltungsenergiebestimmungseinheit 92e bestimmt wird, dass es notwendig ist, die Energiezufuhr darin selbst zu erhalten, gibt die zweite Selbsterhaltungsenergiefreigabeeinheit 92f die zweite Selbsterhaltungsenergieschaltung frei.
  • Wenn in diesem Fall die zweite Selbsterhaltungsenergieschaltung gerade ausgeschaltet ist, schaltet die zweite Selbsterhaltungsenergiefreigabeeinheit 92f die zweite Selbsterhaltungsenergieschaltung ein und gibt somit die zweite Selbsterhaltungsenergieschaltung frei. In einem Fall, in dem die zweite Selbsterhaltungsenergieschaltung gerade eingeschaltet ist, erweitert die zweite Selbsterhaltungsenergiefreigabeeinheit 92f eine Betriebsperiode der zweiten Selbsterhaltungsenergieschaltung und gibt somit die Selbsterhaltungsenergieschaltung frei.
  • Die zweite Stoppbedingungserfüllungsbestimmungseinheit 92g bestimmt, ob eine Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung erfüllt ist. Insbesondere überwacht die zweite Stoppbedingungserfüllungsbestimmungseinheit 92g eine Restbatterieladung der Fahrzeugbatterie 40, das Auftreten eines Zeitablaufes und die Beendigung des Neuschreibens in der Neuschreibziel-ECU 19 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung erfüllt ist, wenn bestimmt wird, dass die Restbatterieladung der Fahrzeugbatterie 40 kleiner als eine vorbestimmte Kapazität ist, ein Zeitablauf auftritt oder das Neuschreiben in der Neuschreibziel-ECU 19 beendet ist. Wenn von der zweiten Stoppbedingungserfüllungsbestimmungseinheit 92g bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung erfüllt ist, schaltet die zweite Selbsterhaltungsenergiestoppeinheit 92h die zweite Selbsterhaltungsenergieschaltung aus.
  • Wie es in 219 dargestellt ist, enthält die ECU 19 eine Befehlsbestimmungseinheit 108a, eine erste Selbsterhaltungsenergiefreigabeeinheit 108b, eine erste Stoppbedingungserfüllungsbestimmungseinheit 108c und eine erste Selbsterhaltungsenergiestoppeinheit 108d in der Selbsterhaltungsenergie-Ausführungssteuerungseinheit 108. Die Befehlsbestimmungseinheit 108a bestimmt, ob ein Befehl zum Freigeben der ersten Selbsterhaltungsenergieschaltung von dem CGW 13 ausgegeben wurde.
  • Die erste Selbsterhaltungsenergiefreigabeeinheit 108b gibt die erste Selbsterhaltungsenergieschaltung frei bzw. erlaubt ihren Betrieb, wenn von der Befehlsbestimmungseinheit 108a bestimmt wird, dass der Befehl zum Freigeben der ersten Selbsterhaltungsenergieschaltung ausgegeben wurde. In einem Fall, in dem eine Beendigungszeit der Selbsterhaltungsenergie bezeichnet ist, gibt die erste Selbsterhaltungsenergiefreigabeeinheit 108b die erste Selbsterhaltungsenergieschaltung bis zur bezeichneten Beendigungszeit frei. In einem Fall, in dem eine Erweiterungszeit der Selbsterhaltungsenergie bezeichnet ist, gibt die erste Selbsterhaltungsenergiefreigabeeinheit 108b die erste Selbsterhaltungsenergieschaltung frei, bis die bezeichnete Erweiterungszeit seit der derzeitigen Zeit verstrichen ist. In einem Fall, in dem eine Selbsterhaltungsanfrage von dem CGW 13 eingegeben wird, gibt die erste Selbsterhaltungsenergiefreigabeeinheit 108b die erste Selbsterhaltungsenergieschaltung frei, solange wie die Selbsterhaltungsanfrage kontinuierlich eingegeben wird.
  • Wenn in diesem Fall die erste Selbsterhaltungsenergieschaltung gerade ausgeschaltet ist, schaltet die erste Selbsterhaltungsenergiefreigabeeinheit 108b die erste Selbsterhaltungsenergieschaltung ein und gibt somit die erste Selbsterhaltungsenergieschaltung frei. In einem Fall, in dem die erste Selbsterhaltungsenergieschaltung gerade eingeschaltet ist, erweitert die erste Selbsterhaltungsenergiefreigabeeinheit 108b eine Betriebsperiode der ersten Selbsterhaltungsenergieschaltung und gibt somit die erste Selbsterhaltungsenergieschaltung frei. Die erste Selbsterhaltungsenergiefreigabeeinheit 108b speichert eine Standardselbsterhaltungsenergiezeit und gibt die erste Selbsterhaltungsenergieschaltung für die Standardselbsterhaltungsenergiezeit sogar dann frei, wenn kein Befehl zum Freigeben der ersten Selbsterhaltungsenergieschaltung ausgegeben wird. Das heißt, wenn ein Befehl zum Freigeben der ersten Selbsterhaltungsenergieschaltung ausgegeben wird, gibt die erste Selbsterhaltungsenergiefreigabeeinheit 108b die erste Selbsterhaltungsenergieschaltung mit Priorität auf die längere Zeit aus der Standardselbsterhaltungsenergiezeit und der Selbsterhaltungsenergiezeit basierend auf dem Befehl von dem CGW 13 frei.
  • Die erste Stoppbedingungserfüllungsbestimmungseinheit 108c bestimmt, ob eine Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist. Insbesondere wenn ein Selbsterhaltungsenergieziel die Neuschreibziel-ECU 19 ist, überwacht die erste Stoppbedingungserfüllungsbestimmungseinheit 108c das Auftreten eines Zeitablaufs und einen Stoppbefehl von dem CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist, wenn bestimmt wird, dass ein Zeitablauf aufgetreten ist oder der Stoppbefehl von dem CGW 13 empfangen wurde. Wenn ein Selbsterhaltungsenergieziel die fahrzeugeigene Anzeige 7 ist, überwacht die erste Stoppbedingungserfüllungsbestimmungseinheit 108c das Auftreten eines Zeitablaufes, das Aussteigen eines Nutzers und einen Stoppbefehl von dem CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist, wenn bestimmt wird, dass der Zeitablauf aufgetreten ist, der Nutzer ausgestiegen ist oder der Stoppbefehl von dem CGW 13 empfangen wurde. Wenn ein Selbsterhaltungsenergieziel die Stromversorgungsverwaltungs-ECU 20 ist, überwacht die erste Stoppbedingungserfüllungsbestimmungseinheit 108c einen Stoppbefehl von dem CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist, wenn bestimmt wird, dass der Stoppbefehl von dem CGW 13 empfangen wurde. Die erste Selbsterhaltungsenergiestoppeinheit 108d schaltet die erste Selbsterhaltungsenergieschaltung aus, wenn von der zweiten Stoppbedingungserfüllungsbestimmungseinheit 108c bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist.
  • Im Folgenden wird ein Betrieb der oben beschriebenen Konfiguration mit Bezug auf die 220 bis 222 beschrieben. Hier wird ein Fall beschrieben, bei dem die Fahrzeug-Slave-Vorrichtung die Neuschreibziel-ECU 19 ist. Das CGW 13 und die Neuschreibziel-ECU 19 führen jeweils ein Selbsterhaltungsenergie-Ausführungssteuerungsprogramm aus und führen somit den Selbsterhaltungsenergie-Ausführungssteuerungsprozess durch.
  • Wenn der Selbsterhaltungsenergie-Ausführungssteuerungsprozess initiiert ist, bestimmt das CGW 13, ob die Fahrzeugleistung ausgeschaltet ist (S2601; entspricht einem Fahrzeugleistungsbestimmungsschritt). Wenn bestimmt wird, dass die Fahrzeugleistung ausgeschaltet ist (S2601: Ja), bestimmt das CGW 13, ob das Applikationsprogramm neu geschrieben wird (S2602; entspricht einem Neuschreibfortschrittsbestimmungsschritt). Wenn bestimmt wird, dass das Applikationsprogramm neu geschrieben wird (S2602: Ja), schaltet das CGW 13 die zweite Selbsterhaltungsenergieschaltung ein (S2603; entspricht einem zweiten Selbsterhaltungsenergiefreigabeschritt) und bestimmt die Notwendigkeit einer Selbsterhaltung der Energie in der Neuschreibziel-ECU 19 (S2604; entspricht einem Selbsterhaltungsenergiebestimmungsschritt).
  • Wenn bestimmt wird, dass es notwendig ist, die Energie in der Neuschreibziel-ECU 19 selbst zu erhalten (S2604: Ja), befiehlt das CGW 13 der Neuschreibziel-ECU 19, die erste Selbsterhaltungsenergieschaltung freizugeben (S2605; entsprich einem Selbsterhaltungsenergiebefehlsschritt). Es wird bestimmt, ob eine Stoppbedingung für die Selbsterhaltungsenergie erfüllt ist (S2606), und wenn bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie erfüllt ist (S2606: Ja), schaltet das CGW 13 die zweite Selbsterhaltungsenergieschaltung aus (S2607) und beendet den Selbsterhaltungsenergie-Ausführungssteuerungsprozess.
  • Auch wenn das CGW 13 ausgelegt ist, die Selbsterhaltungsenergieschaltung einzuschalten, wenn bestimmt wird, dass ein Applikationsprogramm geschrieben wird, kann das CGW 13 ausgelegt sein, die Selbsterhaltungsenergieschaltung einzuschalten, wenn bestimmt wird, dass die Fahrzeugleistung ausgeschaltet wird, und eine Betriebsperiode der Selbsterhaltungsenergieschaltung auszudehnen, die derzeitig eingeschaltet ist, wenn bestimmt wird, dass das Applikationsprogramm neu geschrieben wird.
  • Wenn der Selbsterhaltungsenergie-Ausführungssteuerungsprozess initiiert ist, bestimmt die Neuschreibziel-ECU 19, ob die Fahrzeugleistung ausgeschaltet ist (S2611). Wenn bestimmt wird, dass die Fahrzeugleistung ausgeschaltet ist (S2611: Ja), schaltet die Neuschreibziel-ECU 19 die Selbsterhaltungsenergieschaltung ein (S2612), bestimmt, ob eine Stoppbedingung für die Selbsterhaltungsenergie erfüllt ist (S2613), und bestimmt, ob ein Befehl zum Freigeben der Selbsterhaltungsenergieschaltung von dem CGW 13 ausgegeben wurde (S2614). Wenn bestimmt wird, dass ein Befehl zum Freigeben der Selbsterhaltungsenergieschaltung von dem CGW 13 ausgegeben wurde (S2614: Ja), erweitert die Neuschreibziel-ECU 19 eine Betriebsperiode der Selbsterhaltungsenergieschaltung, die derzeitig betrieben wird (S2615). Wenn bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie erfüllt ist (S2613: Ja), schaltet die Neuschreibziel-ECU 19 die Selbsterhaltungsenergieschaltung aus (S2616) und beendet den Selbsterhaltungsenergie-Ausführungssteuerungsprozess.
  • Auch wenn hier die Neuschreibziel-ECU 19 ausgelegt ist, die Selbsterhaltungsenergieschaltung in einem Fall einzuschalten, in dem bestimmt wird, dass die Fahrzeugleistung ausgeschaltet ist, kann die Neuschreibziel-ECU 19 ausgelegt sein, die Selbsterhaltungsenergieschaltung nicht einzuschalten und zu bestimmen, dass die Fahrzeugleistung ausgeschaltet ist, wenn bestimmt wird, dass die Fahrzeugleistung ausgeschaltet ist, und die Selbsterhaltungsenergieschaltung, die derzeitig ausgeschaltet ist, einzuschalten, wenn bestimmt wird, dass ein Befehl zum Freigeben der Selbsterhaltungsenergieschaltung von dem CGW 13 ausgegeben wird.
  • Die obige Beschreibung betrifft einen Fall, bei dem eine Fahrzeug-Slave-Vorrichtung die Neuschreibziel-ECU 19 ist, aber dasselbe gilt für einen Fall, in dem eine Fahrzeug-Slave-Vorrichtung die fahrzeugeigene Anzeige 7 oder die Stromversorgungsverwaltungs-ECU 20 ist. Wie es in 222 dargestellt ist, wird in der Neuschreibziel-ECU 19 der Betrieb der Selbsterhaltungsenergieschaltung in einer Periode von der Vorbereitung auf die Installation bis zum Nachneuschreibprozess benötigt, und in der fahrzeugeigenen Anzeige 7 wird der Betrieb der Selbsterhaltungsenergieschaltung in Perioden eines Wartens auf eine Aktualisierungszustimmung, eines Wartens auf eine Download-Zustimmung, eines Wartens auf eine Installationszustimmung und eines Wartens auf eine Aktivierungszustimmung benötigt.
  • Wie es oben beschrieben wurde, bestimmt das CGW 13 mittels Durchführung des Selbsterhaltungsenergie-Ausführungssteuerungsprozesses die Notwendigkeit einer Selbsterhaltung der Energie in der Neuschreibziel-ECU 19, wenn bestimmt wird, dass die Fahrzeugleistung ausgeschaltet wird und ein Applikationsprogramm neu geschrieben wird, und wenn bestimmt wird, dass es notwendig ist, die Energie selbst zu erhalten, befiehlt das CGW 13 der Neuschreibziel-ECU 19, die Selbsterhaltungsenergieschaltung freizugeben. Wenn bestimmt wird, dass ein Befehl zum Freigeben der Selbsterhaltungsenergieschaltung von dem CGW 13 ausgegeben wurde, gibt die Neuschreibziel-ECU 19 die Selbsterhaltungsenergieschaltung frei. Die Selbsterhaltungsenergieschaltung wird derart freigegeben, dass eine Betriebsenergie zum Neuschreiben des Applikationsprogramms gesichert werden kann und ein Neuschreiben des Applikationsprogramms geeignet bzw. richtig beendet werden kann.
  • Die Gesamtsequenz der Programmaktualisierung, die die oben beschriebenen charakteristischen Prozesse (1) bis (26) enthält, wird im Folgenden mit Bezug auf die 223 bis 233 beschreiben. Hier wird ein Beispiel beschrieben, bei dem Applikationsprogramme der ECU (ID1), der ECU (ID2) und der ECU (ID3), die mit dem ersten Bus verbunden sind, neu geschrieben werden und Applikationsprogramme der ECU (ID4), der ECU (ID5) und der ECU (ID6), die mit dem zweiten Bus verbunden sind, neu geschrieben werden. Die ECU (ID1) und die ECU (ID4) weisen jeweilige Einzelbankspeicher auf, die ECU (ID5) weist einen Einzelbank-Suspendierungs-Speicher auf, und die ECU (ID2), die ECU (ID3) und die ECU (ID6) weisen jeweilige Doppelbankspeicher auf. Die ECU (ID1), die ECU (ID4), die ECU (ID5) und die ECU (ID6) sind IG-Leistungs-ECUs, die ECU (ID2) ist eine ACC-Leistungs-ECU, und die ECU (ID3) ist eine +B-Leistungs-ECU.
  • Zunächst betätigt der Nutzer als vorläufige Vorbereitung das mobile Endgerät 6 oder Ähnliches, gibt persönliche Informationen wie eine Fahrzeugnummer (eine Identifikationsnummer eines Fahrzeugs) oder eine Mobiltelefonnummer ein und registriert ein Konto in der Zentrumsvorrichtung 3 (S5001). Außerdem betätigt der Nutzer das mobile Endgerät 6 oder Ähnliches, gibt Ausführungsbedingungen ein und bezeichnet eine Fahrzeugposition, eine Zeitperiode bzw. Zeitdauer oder Ähnliches als Bedingungen zum Erlauben einer Ausführung einer Programmaktualisierung. Die Zentrumsvorrichtung 3 speichert persönliche Informationen oder Ähnliches, die über das mobile Endgerät 6 empfangen werden, in einer Datenbank (S5002).
  • In dem fahrzeugseitigen System 4 sammelt das CGW 13 Informationen betreffend das Fahrzeug (S5011) und lädt die Informationen in die Zentrumsvorrichtung 3 über das DCM 12 hoch (S5012). Insbesondere enthalten die Informationen eine Programmversion, eine Speicherkonfiguration einer jeweiligen ECU 19, Aktive-Bank-Informationen, elektrische Komponenten, die in dem Fahrzeug montiert sind, eine Fahrzeugposition, einen Fahrzeugleistungszustand bzw. Fahrzeugenergiezustand und Ähnliches. Die Zentrumsvorrichtung 3 speichert die Informationen, die von dem fahrzeugseitigen System 4 empfangen werden, in einer Datenbank (S5013).
  • Wenn eine Programmaktualisierung notwendig ist, erzeugt die Zentrumsvorrichtung 3 die in den 7 und 8 dargestellten Neuschreibspezifikationsdaten, die Schreibdaten, die von einem Lieferanten bereitgestellt werden, der ein Anbieter eines Applikationsprogramms ist, und die Informationen, die in der Datenbank gespeichert sind, enthalten. Die Zentrumsvorrichtung 3 erzeugt Neuprogrammierungsdaten, die die Schreibdaten, deren Authentifizierer und die Neuschreibspezifikationsdaten enthalten. Die Zentrumsvorrichtung 3 packt die erzeugten Neuprogrammierungsdaten, die separat erzeugten Verteilungsspezifikationsdaten (9) und einen Paketauthentifizierer in eine Datei und erzeugt und registriert ein Verteilungspaket (S5021).
  • Nach der Erstellung des Verteilungspakets teilt die Zentrumsvorrichtung 3 dem Nutzer die Programmaktualisierung mit. Die Zentrumsvorrichtung 3 nimmt Bezug auf die persönlichen Informationen, die in der Datenbank gespeichert sind, und überträgt eine Nachricht eines Kurznachrichtendienstes (SMS) an das mobile Endgerät 6 (S5031). Das mobile Endgerät 6 ist mit einer Uniform-Resource-Locator (URL) verbunden, die in der SMS durch den Nutzerbetrieb beschrieben wird, und zeigt einen Mitteilungsinhalt an (S5032). Das mobile Endgerät 6 teilt der Zentrumsvorrichtung 3 eine Zustimmung oder Ablehnung der Programmaktualisierung durch den Nutzerbetrieb mit (S5033). Die Zentrumsvorrichtung 3 registriert die Absichtsinformationen des Nutzers (Zustimmung oder Ablehnung) in der Datenbank (S5034). Hier kann der Nutzer unter Verwendung der fahrzeugeigenen Anzeige 7 anstelle des mobilen Endgerätes 6 informiert werden.
  • Das CGW 13 empfängt die Verteilungsspezifikationsdaten, die von der Zentrumsvorrichtung 3 über das DCM 12 übertragen werden, und überträgt die Verteilungsspezifikationsdaten an die fahrzeugeigene Anzeige 7 (S5035). Die fahrzeugeigene Anzeige 7 analysiert die Verteilungsspezifikationsdaten und zeigt einen Anzeigewortlaut oder Ähnliches, der der Mitteilungsinhalt ist, an (S5036). Die fahrzeugeigene Anzeige 7 zeigt Bilddaten wie Piktogramme an und empfängt eine Eingabe hinsichtlich dessen, ob der Nutzer der Programmaktualisierung zustimmt. Das CGW 13 empfängt die Absichtsinformationen des Nutzers von der fahrzeugeigenen Anzeige 7 und teilt der Zentrumsvorrichtung 3 die Absichtsinformationen des Nutzers über das DCM 12 mit (S5037).
  • In einem Fall, in dem die Zustimmung für die Programmaktualisierung von dem Nutzer erhalten wird, lädt das fahrzeugseitige System 4 das Verteilungspaket von der Zentrumsvorrichtung 3 herunter. Zunächst überprüft die Zentrumsvorrichtung 3, ob die Ausführungsbedingungen, die im Voraus für den Nutzer bestimmt wurden, erfüllt sind (S5041). In einem Fall, in dem mindestens eine der Ausführungsbedingungen nicht erfüllt ist, überträgt die Zentrumsvorrichtung 3 das Verteilungspaket nicht an das DCM 12. In einem Fall, in dem sämtliche Ausführungsbedingungen erfüllt sind, überträgt die Zentrumsvorrichtung 3 das Verteilungspaket an das DCM 12 (S5042). Wenn das Verteilungspaket von der Zentrumsvorrichtung 3 heruntergeladen wurde, speichert das DCM 12 das heruntergeladene Verteilungspaket in dem Flash-Speicher. Das DCM 12 extrahiert den Verteilungspaketauthentifizierer aus dem Verteilungspaket und verifiziert die Integrität der Neuprogrammierungsdaten und der Verteilungsspezifikationsdaten (S5043).
  • Das DCM 12 berechnet die Authentifizierer der Neuprogrammierungsdaten und der Verteilungsspezifikationsdaten unter Verwendung beispielsweise von Schlüsselinformationen, die in dem CGW 13 gespeichert sind. Das DCM 12 vergleicht die berechneten Authentifizierer mit dem Verteilungspaketauthentifizierer, der aus dem Verteilungspaket extrahiert wurde, und bestimmt, dass die Verifizierung erfolgreich ist, wenn die Authentifizier übereinstimmen, und bestimmt, dass die Verifizierung fehlgeschlagen ist, wenn die Authentifizierer nicht übereinstimmen. Wenn bestimmt wird, dass die Verifizierung fehlgeschlagen ist, löscht das DCM 12 das Verteilungspaket und teilt außerdem dem CGW 13 und der Zentrumsvorrichtung 3 den Verifizierungsfehler mit.
  • In einem Fall, in dem bestimmt wird, dass die Verifizierung des Verteilungspakets erfolgreich ist, entpackt das DCM 12 die Neuprogrammierungsdaten, die in dem Verteilungspaket enthalten sind, wie es in 10 dargestellt ist, und unterteilt die entpackten Neuprogrammierungsdaten in Schreibdaten und Neuschreibspezifikationsdaten für jede Neuschreibziel-ECU 19 (S5044). Die Neuschreibspezifikationsdaten werden in die DCM-Neuschreibspezifikationsdaten und die CGW-Neuschreibspezifikationsdaten unterteilt.
  • Das DCM 12 überträgt die CGW-Neuschreibspezifikationsdaten an das CGW 13 (S5045). Das CGW 13 analysiert die CGW-Neuschreibspezifikationsdaten, die von dem DCM 12 empfangen werden, extrahiert benötigte Informationen und authentifiziert dann die Schreibdaten für jede ECU 19 mit dem DCM 12 (S5046). Das CGW 13 berechnet beispielsweise einen Authentifizierer der Schreibdaten (Differenzdaten) der ECU (ID1) unter Verwendung der Schlüsselinformationen der ECU (ID1), die darin gespeichert sind. Das CGW 13 vergleicht den berechneten Authentifizier mit dem Authentifizierer, der aus den Neuprogrammierungsdaten extrahiert wird, und bestimmt, dass die Verifizierung erfolgreich ist, wenn die Authentifizierer übereinstimmen, und bestimmt, dass die Verifizierung fehlgeschlagen ist, wenn die Authentifizierer nicht übereinstimmen. Wenn bestimmt wird, dass die Verifizierung fehlgeschlagen ist, löscht das CGW 13 das Verteilungspaket und teilt dem DCM 12 und der Zentrumsvorrichtung 3 den Verifizierungsfehler mit. In einem Fall, in dem bestimmt wird, dass die Verifizierung von irgendeinem der Schreibdatenteile fehlgeschlagen ist, führt das CGW 13 für sämtliche ECUs 19 keine Programmaktualisierung durch.
  • Wenn bestimmt wird, dass sämtliche Schreibdatenteile erfolgreich verifiziert wurden, empfängt das CGW 13 die Verteilungsspezifikationsdaten von dem DCM 12 und überträgt die empfangenen Verteilungsspezifikationsdaten an die fahrzeugeigene Anzeige 7 (S5047). Die fahrzeugeigene Anzeige 7 speichert die Verteilungsspezifikationsdaten, die von dem CGW 13 übertragen werden. Wenn der oben beschriebene Download-Prozess beendet ist, teilt das CGW 13 der Zentrumsvorrichtung 3 die Download-Beendigung über das DCM 12 mit (S5048).
  • Wenn der Zentrumsvorrichtung 3 die Download-Beendigung von dem fahrzeugseitigen System 4 mitgeteilt wird, überträgt die Zentrumsvorrichtung 3 eine SMS an das mobile Endgerät 6 (S5049). Das mobile Endgerät 6 ist mit einer URL verbunden, die in der SMS durch den Nutzerbetrieb beschrieben wird, und zeigt einen Installationsplanungsbildschirm an (S5050). Das mobile Endgerät 6 teilt der Zentrumsvorrichtung 3 das Installationsdatum und die Installationszeit, die durch den Nutzerbetrieb eingegeben werden, mit (S5051). Die Zentrumsvorrichtung 3 speichert das Installationsdatum und die Installationszeit in der Datenbank in Verbindung mit den persönlichen Informationen (S5052). Hier kann der Nutzer veranlasst werden, das Installationsdatum und die Installationszeit unter Verwendung der fahrzeugeigenen Anzeige 7 anstelle des mobilen Endgerätes 6 zu reservieren bzw. planen. Wenn der fahrzeugeigenen Anzeige 7 die Download-Beendigung von dem CGW 13 mitgeteilt wird (S5053), zeigt die fahrzeugeigene Anzeige 7 den Installationsplanungsbildschirm an (S5054). Das CGW 13 teilt der Zentrumsvorrichtung 3 das Installationsdatum und die Installationszeit, die von der fahrzeugeigenen Anzeige 7 empfangen werden, über das DCM 12 mit (S5055).
  • In einem Fall, in dem das derzeitige Datum und die derzeitige Zeit das Installationsdatum und die Installationszeit, die in der Datenbank registriert sind, erreichen, befiehlt die Zentrumsvorrichtung 3 dem fahrzeugseitigen System 4, eine Installation zu initiieren (S5071). Wenn ein Befehl für die Installation von der Zentrumsvorrichtung 3 ausgegeben wird, überprüft das DCM 12 Installationsausführungsbedingungen (S5072). Das DCM 12 überprüft beispielsweise eine Fahrzeugposition oder einen Zustand einer Kommunikation mit der Zentrumsvorrichtung 3. In einem Fall, in dem sämtliche Ausführungsbedingungen erfüllt sind, verwendet das DCM 12 den Paketauthentifizierer, um das Verteilungspaket zu authentifizieren (S5073). Wenn die Authentifizierung erfolgreich ist, entpackt das DCM 12 das Verteilungspaket (S5074), extrahiert die DCM-Neuschreibspezifikationsdaten und die CGW-Neuschreibspezifikationsdaten, unterteilt die Neuschreibspezifikationsdaten in Schreibdatenteile für die jeweiligen ECUs 19 und teilt dem CGW 13 die Installationsinitiierung mit (S5075).
  • Wenn dem CGW 13 die Installationsinitiierung von dem DCM 12 mitgeteilt wird, analysiert das CGW 13 die CGW-Neuschreibspezifikationsdaten, die von dem DCM 12 beschafft werden, und bestimmt eine Reihenfolge einer Durchführung eines Neuschreibens der ECUs 19 (S5076). Hier wird angenommen, dass die ECU (ID1) zuerst einem Neuschreiben unterzogen wird, die ECU (ID2) als Zweites einem Neuschreiben unterzogen wird und die ECU (ID3) als Drittes einem Neuschreiben unterzogen wird. Das CGW 13 verifiziert sämtliche Schreibdatenteile für die jeweiligen Neuschreibziel-ECUs 19, die in dem DCM 12 gespeichert sind, unter Verwendung der jeweiligen Authentifizierer (S5077). Hier ist es besser, nicht nur Schreibdaten für eine Versionsaktualisierung, sondern auch Schreibdaten für ein Rollback zu verifizieren.
  • Wenn die Verifizierung der Schreibdaten erfolgreich ist, fordert das CGW 13 die Stromversorgungsverwaltungs-ECU 20 auf, die IG-Leistung einzuschalten (S5078). Wenn die Installation während eines Parkens durchgeführt wird (der IG-Schalter 42 ist ausgeschaltet und der ACC-Schalter 41 ist ausgeschaltet), wird in einem Fall, in dem die Neuschreibziel-ECU 19 eine IG-ECU oder eine ACC-ECU ist, die Zufuhr von Leistung bzw. Strom bzw. Energie zum Starten der Neuschreibziel-ECU 19 benötigt. Die Stromversorgungsverwaltungs-ECU 20 fordert die Stromversorgungssteuerungsschaltung 43 auf, dieselbe Leistung wie in einem Einschaltzustand der IG-Leistung bereitzustellen (S5079). Wenn der IG-Stromleitung 39 durch die Stromversorgungssteuerungsschaltung 43 Strom zugeführt wird, werden die IG-ECU und die ACC-ECU gestartet (aufgeweckt).
  • Danach fordert das CGW 13 die ECU (ID5), die ECU (ID5) und die ECU (ID6), die die Nicht-Neuschreibziel-ECUs 19 sind, und die ECU (ID2) und die ECU (ID3), die einem Neuschreiben als Zweites und anschließend unterzogen werden, auf, zu schlafen (S5080). Hier wird die zweite Neuschreibziel-ECU 19 einem Neuschreiben unterzogen, nachdem die erste Neuschreibziel-ECU 19 einem Neuschreiben unterzogen wurde, aber es können mehrere Neuschreibziel-ECUs 19 gleichzeitig und parallel einem Neuschreiben unterzogen werden. In diesem Fall wird nur die Nicht-Neuschreibziel-ECU 19 aufgefordert, zu schlafen.
  • Das CGW 13 überwacht eine Restbatterieladung (S5081) und überwacht Kommunikationslasten der Busse (S5082) parallel zu einer Installation in jeder Neuschreibziel-ECU 19. Das CGW 13 nimmt Bezug auf einen Wert einer Batterielast und einen Wert einer Buslast (Buslasttabelle), die aus den CGW-Neuschreibspezifikationsdaten extrahiert werden, und steuert eine Installation innerhalb eines Bereiches, der einen erlaubten Wert nicht überschreitet. Wenn beispielsweise die Batterielast den erlaubten Wert in einem Parkzustand erreicht bzw. überschreitet, stoppt das CGW 13 zu diesem Zeitpunkt die Installation.
  • Wenn beispielsweise die Buslast des ersten Busses, mit dem die Neuschreibziel-ECU (ID1) verbunden ist, den erlaubten Wert erreicht, verringert das CGW 14 die Häufigkeit des Übertragens der Schreibdaten an die ECU (ID1). Das Überwachen wird beendet, wenn die Installation in sämtlichen Neuschreibziel-ECUs 19 beendet ist. In einem Fall eines Einzelbankspeichers ist es notwendig, zu überprüfen, dass es ausreichend verbleibende Batterieladung gibt, bevor die Installation initiiert wird, da die Installation in der Mitte der Installation nicht beendet werden kann.
  • Das CGW 13 teilt der ECU (ID1), die einem Neuschreiben als Erstes unterzogen wird, die Initiierung der Installation mit (S5101). Wenn der ECU (ID1) die Initiierung der Installation von dem CGW 13 mitgeteilt wird, bewirkt die ECU (ID1), dass ein Zustand in einen Drahtlos-Programmaktualisierungsmodus übergeht (S5102). Da die ECU (ID1) eine Einzelbankspeicher-ECU ist, kann die ECU (ID1) ein Applikationsprogramm oder einen Diagnoseprozess unter Verwendung eines Tools nicht parallel ausführen und tritt in einen Nur-Drahtlos-Programmaktualisierungsmodus ein.
  • Wenn das CGW 13 eine Installation in der ECU (ID1), die als Erstes dem Neuschreiben unterzogen wird, durchgeführt hat, authentifiziert das CGW 13 den Zugriff unter Verwendung eines Sicherheitszugangsschlüssels (S5103). Wenn die Authentifizierung des Zugriffs auf die ECU (ID1) erfolgreich ist, überträgt das CGW 13 Informationen der gesamten Daten, die die Schreibdaten sind, an die ECU (ID1). Die ECU (ID1) verwendet die Informationen der empfangenen gesamten Daten, um zu bestimmen, ob die Schreibdaten konsistent mit der ECU sind (S5104). In einem Fall, in dem bestimmt wird, dass die Schreibdaten konsistent sind, führt die ECU (ID1) einen Schreibprozess durch.
  • Das CGW 13 beschafft eine Teildatei einer vorbestimmten Größe (beispielsweise 1 kByte) der Schreibdaten, die von dem DCM 12 an die ECU (ID1) übertragen werden, und verteilt die Teildatei an die ECU (ID1) (S5105). Die ECU (ID1) schreibt die Teildatei, die von dem CGW 13 empfangen wird, in den Flash-Speicher 33d (S5106). Wenn das Schreiben beendet ist, speichert die ECU (ID1) einen Wiederholungspunkt, der eine Flash-Speicheradresse angibt, bei der die Teildatei geschrieben ist, derart, dass ein Schreiben mittendrin wiederaufgenommen werden kann (S5107). Als Wiederholungspunkt kann ein Flag, das einen aus einem Löschen, Schreiben und den anschließenden Prozessen in dem Flash-Speicher ausgeführten Prozess angibt, gespeichert werden. Wenn der Wiederholungspunkt gespeichert ist, teilt die ECU (ID1) dem CGW 13 die Schreibbeendigung mit (S5108).
  • Wenn die Schreibbeendigungsmitteilung von der ECU (ID1) empfangen wird, teilt das CGW 13 der Zentrumsvorrichtung 3 Neuschreibzustandsfortschrittsinformationen über das DCM 12 mit (S5109). Die Fortschrittsinformationen enthalten Daten wie die Installationsphase und die Schreibdaten, die geschrieben wurden, als kumulative Bytes in der ECU (ID1). Die Zentrumsvorrichtung 3 aktualisiert einen Web-Bildschirm, mit dem sich das mobile Endgerät 6 verbinden kann, auf der Grundlage der Fortschrittsinformationen, die von dem DCM 12 übertragen werden (S5110). Das mobile Endgerät 6 ist mit der Zentrumsvorrichtung 3 verbunden und zeigt beispielsweise einen Prozentsatz einer derzeitig beendeten Installation als Aktualisierungsfortschrittssituation an (S5111). Demzufolge kann das mobile Endgerät 6 sogar in einem Fall, in dem das Fahrzeug parkt und der Nutzer außerhalb des Fahrzeugs ist, eine Fortschrittssituation der Installation erkennen. Hier kann der Fortschritt auf der fahrzeugeigenen Anzeige 7 anstatt auf dem mobilen Endgerät 6 angezeigt werden. Wenn eine Neuschreibbeendigungsmitteilung von der ECU (ID1) empfangen wird, teilt das CGW 13 der fahrzeugeigenen Anzeige 7 Neuschreibzustandsfortschrittsinformationen mit (S5112). Die fahrzeugeigene Anzeige 7 aktualisiert einen Fortschrittssituationsbildschirm und zeigt diesen an (S5113). In einem Fall einer Doppelbankspeicherkonfiguration wie diejenige der ECU (ID2) und der ECU (ID3) ist eine Installation sogar dann möglich, wenn das Fahrzeug fährt. Wenn das Fahrzeug sich in einem Zustand mit eingeschalteter IG befindet, kann die fahrzeugeigene Anzeige 7 beispielsweise die Fortschrittssituation anzeigen.
  • Wenn die Schreibbeendigungsmitteilung von der ECU (ID1) empfangen wird, beschafft das CGW 13 eine zweite Teildatei als nächste Schreibdaten und verteilt die Teildatei an die ECU (ID1). Danach werden die Prozesse in S5105 bis S5113 bis zu einer N-ten Teildatei als letzte Schreibdaten wiederholt durchgeführt. Wenn das Schreiben in der N-ten Teildatei beendet ist, verifiziert die ECU (ID1) die Integrität des Aktualisierungsprogramms des Flash-Speichers und überprüft, ob das Aktualisierungsprogramm richtig geschrieben wurde (S5114). Wenn dem CGW 13 von der ECU (ID1) mitgeteilt wird, dass sämtliche Teildateien geschrieben wurden und die Integritätsverifizierung erfolgreich war, fordert das CGW 13 die ECU (ID1) auf, zu schlafen (S5115). Die ECU (ID1) schläft zeitweilig, ohne durch das installierte Aktualisierungsprogramm gestartet zu werden.
  • Das CGW 13 fordert die zweite Neuschreib-ECU (ID2) auf, aufzuwachen (S5201). Das CGW 13 teilt der ECU (ID2) mit, dass ein Programm drahtlos zu aktualisieren ist und eine Installation initiiert ist (S5202). Die ECU (ID2) bewirkt einen Zustandsübergang in einen Drahtlos-Programmaktualisierungsmodus als einem internen Zustand (S5203). Die ECU (ID2), die einen Doppelbankspeicher aufweist, kann ein Applikationsprogramm und eine Diagnose unter Verwendung von Tools während des Drahtlos-Programmaktualisierungsmodus ausführen. Das CGW 13 authentifiziert einen Zugriff auf die ECU (ID2) (S5204). Die ECU (ID2) bestimmt, ob Differenzdaten, die die Schreibdaten sind, konsistent mit der ECU sind (S5205). Da die ECU (ID2) einen Doppelbankspeicher aufweist, bestimmt die ECU (ID2) auch, ob die Schreibdaten konsistent mit einer inaktiven Bank des Flash-Speichers sind. Es wird beispielsweise angenommen, dass die Bank A der ECU (ID2) eine aktive Bank ist und die Bank B eine inaktive Bank ist und dass in einem Fall, in dem die Schreibdaten eine Adresse sind, die nicht konsistent mit der Bank B ist, das CGW 13 der Zentrumsvorrichtung 3 über das DCM 12 mitteilt, dass die Schreibdaten fehlerhaft sind, ohne zum anschließenden Prozess fortzuschreiten. Das CGW 13 führt dann einen später beschriebenen Rollback-Prozess durch. In einem Fall, in dem bestimmt wird, dass die Schreibdaten konsistent mit der ECU sind, wird ein Schreibprozess in der ECU (ID2) durchgeführt. Danach sind die Prozesse in S5206 bis S5216 betreffend die ECU (ID2) dieselben wie in S5105 bis S5115. Wenn die Differenzdaten in die ECU (ID2) geschrieben werden, die einen Doppelbankspeicher aufweist, wie es in 18 dargestellt ist, wird in S5207 eine Differenz unter Verwendung von alten Daten und der Differenzdaten wiederhergestellt, um neue Daten zu erzeugen, und die neuen Daten werden in den Flash-Speicher 33d geschrieben.
  • Das CGW 13 fordert die dritte Neuschreib-ECU (ID3) auf, aufzuwachen, wenn die gesamte Installation in der ECU (ID2) beendet ist und die ECU (ID2) schläft (S5301). Das CGW 13 teilt der ECU (ID3) mit, dass das Programm drahtlos zu aktualisieren ist und eine Installation initiiert wird (S5302). Die ECU (ID3) bewirkt einen Zustandsübergang in einen Drahtlos-Programmaktualisierungsmodus als einem internen Zustand (S5303). Das CGW 13 authentifiziert einen Zugriff auf die ECU (ID3) (S5304). Die ECU (ID3) bestimmt, ob Differenzdaten, die die Schreibdaten sind, konsistent mit der ECU sind (S5305). In einem Fall, in dem bestimmt wird, dass die Schreibdaten konsistent mit der ECU sind, wird ein Schreibprozess in der ECU (ID3) durchgeführt. Danach sind die Prozesse in S5306 bis S5315 betreffend die ECU (ID3) dieselben wie diejenigen in S5105 bis S5114.
  • Wenn die gesamte Installation in den ECUs (ID3) beendet ist, beendet das CGW 13 die Überwachung der Restbatterieladung und die Überwachung der Kommunikationslasten der Busse (S5316 und S5317). Das CGW 13 fordert die ECU (ID1) und die ECU (ID2) auf, aufzuwachen (S5401).
  • Das CGW 13 fordert jede ECU auf, das aktualisierte Programm zu aktivieren, um die ECU (ID1), die ECU (ID2) und die ECU (ID3) gleichzeitig mit den aktualisierten Programmen zu starten (S5402). In dem Fall, in dem eine ECU keine Aktivierungsanfrage behandelt, ist es vorteilhaft, der ECU das Ausschalten der Leistung und das Einschalten der Leistung anstelle der Aktivierungsanfrage mitzuteilen und somit zu bewirken, dass die ECU neu gestartet wird.
  • Wenn eine Aktivierungsanfrage von dem CGW 13 empfangen wird, startet die ECU (ID1) sich selbst neu (S5403). Da die ECU (ID1) einen Einzelbankspeicher aufweist, wird die ECU (ID1) durch das aktualisierte Programm gestartet, wenn sie neu gestartet wird. Wenn das Neustarten nach der Installation beendet ist, teilt die ECU (ID1) dem CGW 13 die aktualisierte Programmversion zusammen mit der Aktivierungsbeendigung mit (S5404).
  • Wenn eine Aktivierungsanfrage von dem CGW 13 empfangen wird, aktualisiert die ECU (ID2) die gespeicherten Aktive-Bank-Informationen von der Bank A in die Bank B (S5405) und startet sich selbst neu (S5406). Wenn die ECU (ID2) in der Bank B normal gestartet wird, teilt die ECU (ID2) dem CGW 13 eine Aktivierungsbeendigung zusammen mit der Aktualisierungsprogrammversion und den Aktive-Bank-Informationen mit (S5407).
  • Wenn eine Aktivierungsanfrage von dem CGW 13 empfangen wird, aktualisiert die ECU (ID3) die gespeicherten Aktive-Bank-Informationen von der Bank A in die Bank B (S5408) und startet sich selbst neu (S5409). Wenn die ECU (ID3) in der Bank B normal gestartet wird, teilt die ECU (ID3) dem CGW 13 eine Aktivierungsbeendigung zusammen mit der Aktualisierungsprogrammversion und den Aktive-Bank-Informationen mit (S5410).
  • Wenn die Aktivierungsbeendigungsmitteilungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, teilt das CGW 13 der Zentrumsvorrichtung 3 die Programmaktualisierungsbeendigung zusammen mit den Aktualisierungsprogrammversionen und den Aktive-Bank-Informationen betreffend die Neuschreibziel-ECUs ECU (ID1), ECU (ID2) und ECU (ID3) über das DCM 12 mit (S5411). Die Zentrumsvorrichtung 3 registriert die Informationen, deren Mitteilung von dem DCM 12 gesendet wird, in einer Datenbank (S5412) und aktualisiert außerdem den Web-Bildschirm in eine Anzeige, die eine Beendigung als Fortschrittssituation angibt (S5413). Das mobile Endgerät 6 ist mit der Zentrumsvorrichtung 3 verbunden und zeigt einen Web-Bildschirm an, der angibt, dass die Programmaktualisierung beendet ist (S5414). Wenn die Aktivierungsbeendigungsmitteilungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, teilt das CGW 13 der fahrzeugeigenen Anzeige 7 eine Programmaktualisierungsbeendigung als Fortschrittssituation mit (S5415). Die fahrzeugeigene Anzeige 7 zeigt Informationen an, die angeben, dass die Programmaktualisierung beendet wurde (S5416). In einem Fall, in dem eine Fortschrittsanzeige nicht notwendig ist, beispielsweise wenn das Fahrzeug parkt, teilt das CGW 13 der fahrzeugeigenen Anzeige den Fortschritt nicht mit.
  • Schließlich fordert das CGW 13 die Stromversorgungsverwaltungs-ECU 20 auf, die IG-Leistung auszuschalten (S5418). Die Stromversorgungsverwaltungs-ECU 20 fordert die Stromversorgungssteuerungsschaltung 43 auf, die Stromversorgung zu unterbrechen, um zu einem Stromversorgungszustand einer ausgeschalteten IG vor einer Initiierung der Installation zurückzukehren. Wenn die Stromversorgung der IG-Stromleitung 39 und der ACC-Stromleitung 38 durch die Stromversorgungssteuerungsschaltung 43 unterbrochen wird, werden die ECU (ID1), die ECU (ID2), die ECU (ID4), die ECU (ID5) und die ECU (ID6) in einen Stoppzustand gebracht.
  • In den obigen Beispielen wurde ein Fall beschrieben, bei dem die ECU (ID1), die einen Einzelbankspeicher aufweist, auch einer Programmaktualisierung unterzogen wird, und somit die Prozesse von einer Installation bis zu einer Aktivierung kontinuierlich durchgeführt werden, wenn das Fahrzeug parkt. In einem Fall beispielsweise, in dem sämtliche Neuschreibziel-ECUs 19 Doppelbankspeicher aufweisen, kann eine Installation im Hintergrund durchgeführt werden, während das Fahrzeug fährt. Es ist eine Konfiguration denkbar, bei der das mobile Endgerät 6 eine Zustimmung zur Aktivierung von dem Nutzer zu der Zeit erhält, zu der eine Installation in der Neuschreibziel-ECU 19 beendet ist.
  • Im Folgenden wird eine Rollback-Sequenz, wenn ein Abbruch einer Programmaktualisierung von dem Nutzer während einer Installation eines Applikationsprogramms ausgewählt wird, mit Bezug auf die 230 bis 233 beschrieben. Insbesondere wird ein Fall beschrieben, bei dem eine Installation in der ECU (ID1) beendet ist und ein Abbruch von dem Nutzer während der Installation in der ECU (ID2) ausgewählt wird.
  • Wenn der Zentrumsvorrichtung 3 ein Abbruch einer Programmaktualisierung von dem mobilen Endgerät 6 gemeldet wird, befiehlt die Zentrumsvorrichtung 3 dem fahrzeugseitigen System 4, die Programmaktualisierung abzubrechen (S6001). Die Zentrumsvorrichtung 3 ändert einen Web-Bildschirm in einen Anzeigeaspekt während eines Rollbacks als eine Fortschrittssituation (S6002). Das mobile Endgerät 6 zeigt einen Web-Bildschirm an, der die Fortschrittssituation während eines Rollbacks angibt (S6003).
  • Wenn dem CGW 13 von der Zentrumsvorrichtung 3 über das DCM 12 befohlen wird, die Programmaktualisierung abzubrechen, bestimmt das CGW 13 eine ECU, die einen Rollback-Prozess benötigt, und einen benötigten Rollback-Prozess auf der Grundlage von Speicherkonfigurationen und Installationszuständen der Neuschreibziel-ECUs ECU (ID1), ECU (ID2) und ECU (ID3) (S6004). In diesem Beispiel wird bestimmt, dass ein Rollback-Prozess zum Beenden einer Installation in der ECU (ID2) und eine Rückkehr der ECU (ID1) zu einer Originalversion notwendig ist.
  • Das CGW 13 teilt der fahrzeugeigenen Anzeige 7 den Rollback-Fortschritt mit (S6005). Wenn der fahrzeugeigenen Anzeige der Rollback-Fortschritt von dem CGW 13 mitgeteilt wird, ändert die fahrzeugeigene Anzeige 7 einen Anzeigeaspekt in einen Rollback-Anzeigeaspekt und zeigt den Fortschritt an (S6006). Die fahrzeugeigene Anzeige 7 zeigt beispielsweise „während Rollback“ an und zeigt außerdem den Fortschritt der ECU (ID1), die einen Rollback benötigt, als 0% und den Fortschritt der ECU (ID2) als 0% an.
  • Das CGW 13 setzt die Installation der Schreibdaten als einen Rollback-Prozess für die ECU (ID2) fort. Da die ECU (ID2) einen Doppelbankspeicher aufweist, kann die ECU (ID2) die Installation in der Bank B, die eine inaktive Bank ist, auf halbem Wege stoppen und kann mit der Bank A als einer aktiven Bank kontinuierlich betrieben werden. In einem Fall jedoch, in dem die Schreibdaten auf halbem Wege in der Bank B installiert wurden, die sich somit in einem unvollständigen Zustand befindet, kann eine Differenz bei der nächsten Installation unter Verwendung der Differenzdaten nicht richtig wiederhergestellt werden. Daher wird die Installation in der ECU (ID2) bis zum Ende kontinuierlich durchgeführt.
  • Insbesondere beschafft das CGW 13 eine Teildatei (beispielsweise 1 kByte) der Schreibdaten, die an die ECU (ID2) von dem DCM 12 übertragen werden, und verteilt die Teildatei an die ECU (ID2) (S6007). Die ECU (ID2) schreibt die Teildatei, die von dem CGW 13 empfangen wird, in den Flash-Speicher 33d (S6008). Wenn das Schreiben beendet ist, speichert die ECU (ID2) einen Wiederholungspunkt (S6009) derart, dass ein Schreiben mittendrin wiederaufgenommen werden kann, und teilt dem CGW 13 die Schreibbeendigung mit (S6010).
  • Wenn die Schreibbeendigungsmitteilung von der ECU (ID2) empfangen wird, teilt das CGW 13 der Zentrumsvorrichtung 3 Rollback-Zustandsfortschrittsinformationen über das DCM 12 mit (S6011). Die Rollback-Zustandsfortschrittsinformationen sind beispielsweise Daten wie eine Datenmenge, die als Rollback für die ECU (ID2) zu schreiben ist, und eine kumulative Schreibdatenmenge der benötigten Datenmenge. Die Zentrumsvorrichtung 3 aktualisiert einen Web-Bildschirm, mit dem sich das mobile Endgerät 6 verbinden kann, auf der Grundlage der Fortschrittsinformationen, die von DCM 12 übertragen werden (S6012). Das mobile Endgerät 6 zeigt beispielsweise einen Web-Bildschirm betreffend einen Prozentsatz eines derzeitig beendeten Rollbacks oder Ähnliches als Aktualisierungsfortschrittssituation an (S6013). Hier kann der Fortschritt auf der fahrzeugeigenen Anzeige 7 anstelle des mobilen Endgerätes 6 angezeigt werden. Wenn eine Neuschreibbeendigungsmitteilung von der ECU (ID2) empfangen wird, teilt das CGW 13 der fahrzeugeigenen Anzeige 7 Rollback-Zustandsfortschrittsinformationen mit (S6014). Die fahrzeugeigene Anzeige aktualisiert einen Fortschrittssituationsbildschirm und zeigt diesen an (S6015). Danach werden die Prozesse in S6007 bis S6015 bis zu einer N-ten Teildatei als letzte Schreibdaten wiederholt durchgeführt.
  • Wenn die N-te Teildatei geschrieben ist, verifiziert die ECU (ID2) die Integrität des Aktualisierungsprogramms des Flash-Speichers 33d (S6016). Wenn eine Installationsbeendigungsmitteilung von der ECU (ID2) empfangen wird, fordert das CGW 13 die ECU (ID2) auf, zu schlafen (S6017). Die ECU (ID2) schläft, ohne dass sie durch das Aktualisierungsprogramm gestartet wird, das in der Bank B installiert ist, die eine inaktive Bank ist.
  • Anschließend fordert das CGW 13 die ECU (ID1) auf, aufzuwachen, um einen Rollback-Prozess der ECU (ID1) durchzuführen (S6101). Das CGW 13 teilt der ECU (ID1) mit, dass eine Installation für ein Rollback zu initiieren ist (S6102). Wenn der ECU (ID1) von dem CGW 13 die Installationsinitiierung mitgeteilt wird, bewirkt die ECU (ID1) einen Zustandsübergang in einen Drahtlos-Programmaktualisierungsmodus (S6103). Das CGW 13 authentifiziert einen Zugriff auf die ECU (ID1) (S6104). Wenn die Zugriffsauthentifizierung erfolgreich ist, bestimmt die ECU (ID1), ob Rollback-Schreibdaten konsistent mit der ECU sind (S6105). In einem Fall, in dem bestimmt wird, dass die Rollback-Schreibdaten konsistent mit der ECU sind, wird ein Schreibprozess hinsichtlich der ECU (ID1) durchgeführt.
  • Das CGW 13 beschafft eine Teildatei einer vorbestimmten Größe (beispielsweise 1 kByte) der Rollback-Schreibdaten, die von dem DCM 12 an die ECU (ID1) übertragen werden, und verteilt die Teildatei an die ECU (ID1) (S6016). Die ECU (ID1) schreibt die Teildatei, die von dem CGW 13 empfangen wird, in den Flash-Speicher 33d (S6107). Wenn das Schreiben beendet ist, speichert die ECU (ID1) einen Wiederholungspunkt, der eine Flash-Speicheradresse angibt, bis zu der die Teildatei geschrieben ist, sodass das Schreiben mittendrin wiederaufgenommen werden kann (S6108). Wenn der Wiederholungspunkt gespeichert ist, teilt die ECU (ID1) dem CGW 13 die Schreibbeendigung mit (S6109).
  • Wenn die Schreibbeendigungsmitteilung von der ECU (ID1) empfangen wird, teilt das CGW 13 der Zentrumsvorrichtung 3 Neuschreibzustandsfortschrittsinformationen über das DCM 12 mit (S6110). Die Zentrumsvorrichtung 3 aktualisiert einen Web-Bildschirm, mit dem sich das mobile Endgerät 6 verbinden kann, auf der Grundlage der Fortschrittsinformationen, die von dem DCM 12 übertragen werden (S6111). Das mobile Endgerät 6 ist mit der Zentrumsvorrichtung 3 verbunden und zeigt beispielsweise einen Prozentsatz eines derzeitig beendeten Rollbacks als Aktualisierungsfortschrittssituation an (S6112). Hier kann der Fortschritt auf der fahrzeugeigenen Anzeige 7 anstelle des mobilen Endgerätes 6 angezeigt werden. Wenn eine Schreibbeendigungsmitteilung von der ECU (ID1) empfangen wird, teilt das CGW 13 der fahrzeugeigenen Anzeige 7 Neuschreibzustandsfortschrittsinformationen mit (S6113). Die fahrzeugeigene Anzeige 7 aktualisiert einen Rollback-Fortschrittssituationsbildschirm und zeigt diesen an (S6114). Wenn die Schreibbeendigungsmitteilung von der ECU (ID1) empfangen wird, beschafft das CGW 13 eine zweite Teildatei als nächste Schreibdaten und verteilt die Teildatei an die ECU (ID1). Danach werden die Prozesse in S6106 bis S6114 bis zu einer N-ten Teildatei als letzte Schreibdaten wiederholt durchgeführt.
  • Wenn das Schreiben der N-ten Teildatei beendet ist, verifiziert die ECU (ID1) die Integrität des Rollback-Programms des Flash-Speichers und überprüft, ob das Rollback-Programm richtig geschrieben wurde (S6115). Wenn dem CGW 13 von der ECU (ID1) mitgeteilt wird, dass sämtliche Teildateien geschrieben wurden und die Integritätsverifizierung erfolgreich war, beendet das CGW 13 die Überwachung der Restbatterieladung und die Überwachung der Kommunikationslasten der Busse (S6116 und S6117).
  • Anschließend fordert das CGW 13 die ECU (ID2) und die ECU (ID3) auf, aufzuwachen (S6201). Das CGW 13 fordert einen Start der Rollback-Aktivierung der ECU (ID1), der ECU (ID2) und der ECU (ID3) in einer alten Version vor der Installation (S6202). Die ECU (ID1), die einen Einzelbankspeicher aufweist, startet das Programm der alten Version durch Neustarten wie beim Neuschreiben während der normalen Zeit. Im Vergleich zu einem Neuschreiben während der normalen Zeit starten die ECU (ID2) und die ECU (ID3), die Doppelbankspeicher aufweisen, die Programme in der Bank A, die die derzeitige aktive Bank ist, ohne die aktive Bank zu ändern.
  • Wenn die Rollback-Aktivierungsanfrage von dem CGW 13 empfangen wird, startet die ECU (ID1) sich selbst neu (S6203). Wenn der Neustart beendet ist, teilt die ECU (ID1) dem CGW 13 die Programmversion zusammen mit einer Rollback-Aktivierungsbeendigung mit (S6204).
  • Wenn die Rollback-Aktivierungsanfrage von dem CGW 13 empfangen wird, startet die ECU (ID2) sich selbst neu, ohne die gespeicherten Aktive-Bank-Informationen zu aktualisieren (S6205). Wenn die ECU (ID2) in der Bank A, die weiterhin eine aktive Bank ist, normal gestartet wird, teilt die ECU (ID2) dem CGW 13 die Programmversion und Aktive-Bank-Informationen zusammen mit einer Rollback-Aktivierungsbeendigung mit (S6206).
  • Wenn die Rollback-Aktivierungsanfrage von dem CGW 13 empfangen wird, startet die ECU (ID3) sich selbst neu, ohne die gespeicherten Aktive-Bank-Informationen zu aktualisieren (S6207). Wenn die ECU (ID3) in der Bank A, die weiterhin eine aktive Bank ist, normal gestartet wird, teilt die ECU (ID3) dem CGW 13 die Programmversion und Aktive-Bank-Informationen zusammen mit einer Rollback-Aktivierungsbeendigung mit (S6208).
  • Wenn die Rollback-Aktivierungsbeendigungsmitteilungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, teilt das CGW 13 der Zentrumsvorrichtung 3 die Rollback-Beendigung über das DCM 12 mit (S6209). Hier sendet das CGW 13 außerdem eine Mitteilung der Programmversion und der Aktive-Bank-Informationen betreffend die ECU (ID1), die ECU (ID2) und die ECU (ID3). Die Zentrumsvorrichtung 3 registriert die Informationen, die von dem DCM 12 gesendet werden, in einer Datenbank (S6210) und aktualisiert außerdem den Web-Bildschirm in eine Anzeige, die eine Abbruchsbeendigung als eine Fortschrittssituation angibt (S6211). Das mobile Endgerät 6 ist mit der Zentrumsvorrichtung 3 verbunden und zeigt einen Web-Bildschirm an, der angibt, dass der Abbruch beendet ist (S6212).
  • Wenn die Rollback-Aktivierungsbeendigungsmitteilungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, teilt das CGW 13 der fahrzeugeigenen Anzeige 7 die Rollback-Beendigung als eine Fortschrittssituation mit (S6213). Die fahrzeugeigene Anzeige 7 zeigt die Tatsache an, dass das Rollback beendet ist (S6214).
  • Schließlich fordert das CGW 13 die Stromversorgungsverwaltungs-ECU 20 auf, die IG-Leistung auszuschalten (S6215). Die Stromversorgungsverwaltungs-ECU 20 fordert die Stromversorgungssteuerungsschaltung 43 auf, die Stromversorgung zu unterbrechen, um zu einem Zustand einer ausgeschalteten IG vor einer Initiierung der Installation zurückzukehren. Wenn die Stromversorgung der IG-Stromleitung 39 und der ACC-Stromleitung 38 durch die Stromversorgungssteuerungsschaltung 43 unterbrochen wird, werden die ECU (ID1), die ECU (ID2), die ECU (ID3), die ECU (ID5) und die ECU (ID6) in einen Stoppzustand gebracht.
  • Wie es oben beschrieben wurde, ist es möglich, eine Programmaktualisierung für mehrere Neuschreibziel-ECUs 19 unter Verwendung des CGW 13 als einem Neuprogrammierungs-Master durchzuführen. In der vorliegenden Ausführungsform wurde ein Fall beschrieben, bei dem ein Applikationsprogramm in der ECU (ID1), der ECU (ID2) und der ECU (ID3) als einer Gruppe neu geschrieben wird, aber dasselbe gilt für einen Fall, in dem das Applikationsprogramm in der ECU (ID4), der ECU (ID5) und der ECU (ID6) als einer zweiten Gruppe neu geschrieben wird. In diesem Fall werden die Installation und Aktivierung in den ECUs 19 der ersten Gruppe durchgeführt, und dann werden die Installation und Aktivierung in den ECUs 19 der zweiten Gruppe durchgeführt.
  • Applikationsprogramme in dem DCM 12, dem CGW 13, der fahrzeugeigenen Anzeigevorrichtung 7 und der Stromversorgungsverwaltungs-ECU 20 können alternativ auf dieselbe Weise neu geschrieben werden. Da jedoch die Applikationsprogramme während einer Programmaktualisierung betrieben werden können müssen, weisen diese ECUs Doppelbankspeicher auf.
  • Im Folgenden wird eine Konfiguration der Zentrumsvorrichtung 3 mit Bezug auf die 234 bis 270 beschrieben. Es werden erste bis fünfte Ausführungsformen beschrieben.
  • (Erste Ausführungsform)
  • Im Folgenden wird eine erste Ausführungsform mit Bezug auf die 234 bis 253 beschrieben. Ein Fahrzeug-Programmneuschreibsystem ist ein System, das in der Lage ist, ein Applikationsprogramm wie eine Fahrzeugsteuerung und eine Diagnose einer ECU, die in einem Fahrzeug montiert ist, über ein OTA neu zu schreiben. Wie es in 234 dargestellt ist, enthält ein Fahrzeug-Programmneuschreibsystem 1 eine Zentrumsvorrichtung 3 auf der Seite eines Kommunikationsnetzwerkes 2, ein fahrzeugseitiges System 4 auf der Seite eines Fahrzeugs und ein Anzeigeendgerät 5. Das Kommunikationsnetzwerk 2 enthält beispielsweise ein Mobilkommunikationsnetzwerk wie eine 4G-Leitung, das Internet und Wireless-Fidelity (WiFi) (eingetragene Marke)).
  • Das Anzeigeendgerät 5 ist ein Endgerät, das eine Funktion zum Empfangen einer Betriebseingabe von einem Nutzer und eine Funktion zum Anzeigen von verschiedenen Bildschirmen aufweist, und ist beispielsweise ein mobiles Endgerät 6 wie ein Smartphone oder ein Tablet, das von einem Nutzer befördert werden kann, oder eine fahrzeugeigene Anzeige 7 wie eine Anzeige oder eine Messgeräteanzeige, die auch als eine Navigationsfunktion verwendet wird, die in einer Fahrzeugkabine angeordnet ist. Das mobile Endgerät 6 kann mit dem Kommunikationsnetzwerk 2 verbunden werden, solange wie sich das mobile Endgerät 6 innerhalb eines Kommunikationsbereiches eines Mobilkommunikationsnetzwerkes befindet. Die fahrzeugeigene Anzeige 7 ist mit dem fahrzeugseitigen System 4 verbunden.
  • Solange wie sich ein Nutzer außerhalb der Fahrzeugkabine und innerhalb des Kommunikationsbereiches des Mobilkommunikationsnetzwerkes befindet, kann der Nutzer eine Betriebseingabe durchführen, während er verschiedene Bildschirme betreffend ein Neuschreiben eines Applikationsprogramms mit dem mobilen Endgerät 6 prüft, und kann eine Prozedur betreffend ein Neuschreiben des Applikationsprogramms durchführen. In der Fahrzeugkabine kann der Nutzer eine Betriebseingabe durchführen, während er verschiedene Bildschirme betreffend ein Neuschreiben des Applikationsprogramms mit der fahrzeugeigenen Anzeige 7 prüft, und kann eine Prozedur betreffend ein Neuschreiben des Applikationsprogramms durchführen. Das heißt, der Nutzer kann das mobile Endgerät 6 und die fahrzeugeigene Anzeige 7 separat außerhalb der Fahrzeugkabine und innerhalb der Fahrzeugkabine verwenden und kann eine Prozedur betreffend ein Neuschreiben des Applikationsprogramms durchführen.
  • Die Zentrumsvorrichtung 3 steuert eine OTA-Funktion des Kommunikationsnetzwerkes 2 in dem Fahrzeug-Programmneuschreibsystem 1 und dient als ein OTA-Zentrum. Die Zentrumsvorrichtung 3 enthält einen Datei-Server 8, einen Web-Server 9 und einen Verwaltungs-Server 10, und die jeweiligen Server 8 bis 10 sind in der Lage, eine Datenkommunikation miteinander durchzuführen.
  • Der Datei-Server 8 weist eine Funktion zum Verwalten eines Applikationsprogramms auf, das von der Zentrumsvorrichtung 3 an das fahrzeugseitige System 4 übertragen wird, und ist ein Server, der ein ECU-Programm, das von einem Lieferanten oder Ähnlichem bereitgestellt wird, der ein Anbieter des Applikationsprogramms ist, Informationen, die dem ECU-Programm zugeordnet sind, Verteilungsspezifikationsdaten, die von einem Originalausrüstungshersteller (OEM) bereitgestellt werden, Fahrzeugbedingungen, die von dem fahrzeugseitigen System 4 beschafft werden, und Ähnliches verwaltet. Der Datei-Server 8 kann eine Datenkommunikation mit dem fahrzeugseitigen System 4 über das Kommunikationsnetzwerk 2 durchführen und überträgt ein Verteilungspaket, in dem die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten gepackt sind, an das fahrzeugseitige System 4, wenn eine Download-Anfrage für das Verteilungspaket erzeugt wird. Der Web-Server 9 ist ein Server, der Web-Informationen verwaltet, und stellt verschiedene Bildschirme betreffend ein Neuschreiben eines Applikationsprogramms für das mobile Endgerät 6 bereit. Der Verwaltungs-Server 10 verwaltet persönliche Informationen eines Nutzers, der in einem Dienst zum Neuschreiben eines Applikationsprogramms registriert ist, eine Neuschreibhistorie eines Applikationsprogramms für jedes Fahrzeug und Ähnliches.
  • Das fahrzeugseitige System 4 weist eine Master-Vorrichtung 11 auf. Die Master-Vorrichtung 11 weist ein DCM 12 und ein CGW 13 auf, und das DCM 12 und das CGW 13 sind über einen ersten Bus 14 miteinander verbunden, so dass sie eine Datenkommunikation durchführen können. Das DCM 12 ist eine fahrzeugeigene Kommunikationsvorrichtung, die eine Datenkommunikation mit der Zentrumsvorrichtung 3 über das Kommunikationsnetzwerk 2 durchführt, und wenn ein Verteilungspaket von dem Datei-Server 8 heruntergeladen wird, extrahiert es Schreibdaten aus dem Verteilungspaket und überträgt die Schreibdaten an das CGW 13.
  • Das CGW 13 ist eine Fahrzeug-Gateway-Vorrichtung, die eine Datenweiterleitungsfunktion aufweist, und wenn die Schreibdaten von dem DCM 12 beschafft werden, verteilt dieses die Schreibdaten an die Neuschreibziel-ECU, in der ein Applikationsprogramm neu geschrieben wird. Die Master-Vorrichtung 11 steuert die OTA-Funktion der Fahrzeugseite in dem Fahrzeug-Programmneuschreibsystem 1 und dient als ein OTA-Master. In 234 können das DCM 12 und die fahrzeugeigene Anzeige 7 mit separaten Bussen verbunden sein, auch wenn dort das DCM 12 und die fahrzeugeigene Anzeige 7 mit demselben ersten Bus 14 als ein Beispiel verbunden sind.
  • Zusätzlich zu dem ersten Bus 14 sind ein zweiter Bus 15, ein dritter Bus 16, ein vierter Bus 17 und ein fünfter Bus 18 mit dem CGW 13 als Bus innerhalb des Fahrzeugs verbunden, und verschiedene ECUs 19 sind über die Busse 15 bis 17 verbunden, und eine Stromversorgungsverwaltungs-ECU 20 ist über den Bus 18 verbunden.
  • Der zweite Bus 15 ist beispielsweise ein Karosseriesystemnetzwerkbus. Die ECUs 19, die mit dem zweiten Bus 15 verbunden sind, sind ECUs, die das Karosseriesystem steuern, das beispielsweise eine Tür-ECU, die ein Verriegeln/Entriegeln einer Tür steuert, eine Messgeräte-ECU, die ein Anzeigen auf der Messgeräteanzeige steuert, eine Klimaanlagen-ECU, die eine Ansteuerung einer Klimaanlage steuert, und eine Fenster-ECU, die ein Öffnen und Schließen eines Fensters steuert, enthält. Der dritte Bus 16 ist beispielsweise ein Fahrsystemnetzwerkbus. Die ECUs 19, die mit dem dritten Bus 16 verbunden sind, sind ECUs, die das Fahrsystem steuern, das beispielsweise eine Verbrennungsmotor-ECU, die einen Antrieb eines Verbrennungsmotors steuert, eine Bremsen-ECU, die eine Ansteuerung einer Bremse steuert, eine ECT-ECU (elektronisches Mautsystem (ETC) (eingetragene Marke)), die eine Ansteuerung eines Automatikgetriebes steuert, eine Servolenkungs-ECU, die eine Ansteuerung einer Servolenkung steuert, und Ähnliches enthält.
  • Der vierte Bus 17 ist beispielsweise ein Multimediasystemnetzwerkbus. Die ECUs 19, die mit dem vierten Bus 17 verbunden sind, sind ECUs, die das Multimediasystem steuern, das beispielsweise eine Navigations-ECU, die ein Navigationssystem steuert, und eine ETC-ECU, die ein elektronisches Mautsystem steuert, das heißt ein ECT-System, enthält. Die Busse 15 bis 17 können andere Systembusse als der Karosseriesystemnetzwerkbus, der Fahrsystemnetzwerkbus und der Multimediasystemnetzwerkbus sein. Die Anzahl der Busse und die Anzahl der ECUs 19 sind nicht auf die beispielhafte Konfiguration beschränkt.
  • Die Stromversorgungsverwaltungs-ECU 20 ist eine ECU, die eine Funktion zum Verwalten von dem DCM 12, dem CGW 13, den verschiedenen ECUs 19 und Ähnlichem zuzuführende Leistung bzw. zuzuführenden Strom bzw. zuzuführende Energie aufweist.
  • Ein sechster Bus 21 ist mit dem CGW 13 als ein Bus außerhalb des Fahrzeugs verbunden. Ein Datenverbindungskoppler-Verbinder (DLC-Verbinder) 22, mit dem ein Tool bzw. Werkzeug 23 entfernbar verbunden ist, ist mit dem sechsten Bus 21 verbunden. Die Busse 14 bis 18 innerhalb des Fahrzeugs und der Bus 21 außerhalb des Fahrzeugs sind beispielsweise als Busse eines Steuerbereichsnetzwerks (CAN (eingetragene Marke)) ausgebildet, und das CGW 13 führt eine Datenkommunikation mit dem DCM 12, den verschiedenen ECUs 19 und dem Tool 23 entsprechend dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard (UDS: ISO14229) durch. Das DCM 12 und das CGW 13 können über Ethernet miteinander verbunden sein, und der DLC-Verbinder 22 und das CGW 13 können über Ethernet miteinander verbunden sein.
  • Wenn Schreibdaten von dem CGW 13 empfangen werden, schreibt die Neuschreibziel-ECU 19 die Schreibdaten in einen Flash-Speicher, um ein Applikationsprogramm neu zu schreiben. Wenn in der obigen Konfiguration eine Anfrage zum Beschaffen von Schreibdaten von der Neuschreibziel-ECU 19 empfangen wird, dient das CGW 13 als ein Neuprogrammierungs-Master, der die Schreibdaten an die Neuschreibziel-ECU 19 verteilt. Wenn die Schreibdaten von dem CGW 13 empfangen werden, dient die Neuschreibziel-ECU 19 als ein Neuprogrammierungs-Slave, der die Schreibdaten in den Flash-Speicher schreibt, um das Applikationsprogramm neu zu schreiben.
  • Als ein Aspekt zum Neuschreiben des Applikationsprogramms gibt es einen drahtgebundenen Neuschreibaspekt und einen drahtlosen Neuschreibaspekt. In dem Aspekt, in dem das Applikationsprogramm auf drahtgebundene Weise neu geschrieben wird, überträgt das Tool 23 die Schreibdaten an das CGW 13, wenn das Tool 23 mit dem DLC-Verbinder 22 verbunden ist. Das CGW 13 leitet die Schreibdaten, die von dem Tool 23 übertragen werden, an die Neuschreibziel-ECU 19 weiter oder verteilt bzw. liefert diese an die Neuschreibziel-ECU 19. In dem Aspekt eines Neuschreibens des Applikationsprogramms auf drahtlose Weise extrahiert das DCM 12 die Schreibdaten aus dem Verteilungspaket und überträgt die Schreibdaten an das CGW 13, wenn das Verteilungspaket von dem Datei-Server 8 heruntergeladen wird.
  • Wie es in 235 dargestellt ist, enthält das CGW 13 einen Mikrocomputer 24, eine Datenübertragungsschaltung 25, eine Stromversorgungsschaltung 26 und eine Leistungserfassungsschaltung 27 als elektrische Funktionsblöcke. Der Mikrocomputer 24 enthält eine zentrale Verarbeitungseinheit (CPU) 24a, einen Nur-Lese-Speicher (ROM) 24b, einen Speicher mit wahlfreiem Zugriff (RAM) 24c und einen Flash-Speicher 24d. Der Mikrocomputer 24 führt verschiedene Prozesse durch Ausführen von verschiedenen Steuerungsprogrammen durch, die in einem nichtflüchtigen dinglichen Speichermedium gespeichert sind, und steuert einen Betrieb des CGW 13.
  • Die Datenübertragungsschaltung 25 steuert eine Datenkommunikation mit den Bussen 14 bis 18 und 21 entsprechend dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard. Die Stromversorgungsschaltung 26 empfängt Batterieleistung (im Folgenden als +B-Leistung bezeichnet), Zubehörleistung (im Folgenden als ACC-Leistung bezeichnet) und Zündleistung (im Folgenden als IG-Leistung bezeichnet). Die Leistungserfassungsschaltung 27 erfasst einen Spannungswert der +B-Leistung, einen Spannungswert der ACC-Leistung und einen Spannungswert der IG-Leistung, die durch die Stromversorgungsschaltung 26 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 24 aus. Der Mikrocomputer 24 bestimmt auf der Grundlage der Vergleichsergebnisse, die von der Leistungserfassungsschaltung 27 eingegeben werden, ob die +B-Leistung, die ACC-Leistung und die IG-Leistung, die dem CGW 13 von der Außenseite zugeführt werden, normal oder abnorm sind.
  • Wie es in 236 dargestellt ist, enthält die ECU 19 einen Mikrocomputer 28, eine Datenübertragungsschaltung 29, eine Stromversorgungsschaltung 30 und eine Leistungserfassungsschaltung 31 als elektrische Funktionsblöcke. Der Mikrocomputer 28 enthält eine CPU 28a, einen ROM 28b, einen RAM 28c und einen Flash-Speicher 28d. Der Mikrocomputer 28 führt verschiedene Prozesse durch Ausführen von verschiedenen Steuerungsprogrammen durch, die in einem nichtflüchtigen dinglichen Speichermedium gespeichert sind, und steuert einen Betrieb der ECU 19.
  • Die Datenübertragungsschaltung 29 steuert eine Datenkommunikation mit den Bussen 15 bis 17 entsprechend dem CAN-Datenkommunikationsstandard. Die Stromversorgungsschaltung 30 empfängt +B-Leistung, ACC-Leistung und IG-Leistung. Die Leistungserfassungsschaltung 31 erfasst einen Spannungswert der +B-Leistung, einen Spannungswert der ACC-Leistung und einen Spannungswert der IG-Leistung, die durch die Stromversorgungsschaltung 30 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 28 aus. Der Mikrocomputer 28 bestimmt auf der Grundlage der Vergleichsergebnisse, die von der Leistungserfassungsschaltung 27 eingegeben werden, ob die +B-Leistung, die ACC-Leistung und die IG-Leistung, die der ECU von der Außenseite zugeführt werden, normal oder abnorm sind. Die ECUs 19 weisen grundlegend dieselbe Konfiguration auf, mit der Ausnahme, dass Lasten wie Sensoren oder Aktuatoren bzw. Stellglieder, die mit diesen verbunden sind, sich voneinander unterscheiden. Eine grundlegende Konfiguration jeweils des DCM 12, der fahrzeugeigenen Anzeige 7 und der Stromversorgungsverwaltungs-ECUs ist dieselbe wie diejenige de ECU 19, die in 236 dargestellt ist.
  • Wie es in 237 dargestellt ist, sind die Stromversorgungsverwaltungs-ECU 20, das CGW 13 und die ECU 19 mit einer +B-Stromleitung 32, einer ACC-Stromleitung 33 und einer IG-Stromleitung 34 verbunden. Die +B-Stromleitung 32 ist mit einer positiven Elektrode einer Fahrzeugbatterie 35 verbunden. Die ACC-Stromleitung 33 ist mit der positiven Elektrode der Fahrzeugbatterie 35 über einen ACC-Schalter 36 verbunden. Wenn der Nutzer einen ACC-Betrieb durchführt, wechselt der ACC-Schalter 36 von dem Ausschaltzustand in einen Einschaltzustand, und es wird eine Ausgangsspannung der Fahrzeugbatterie 35 an die ACC-Stromleitung 33 angelegt. In einem Fall beispielsweise eines Fahrzeugs des Typs, bei dem ein Schlüssel in eine Einführungsöffnung eingeführt wird, ist der ACC-Betrieb ein Betrieb zum Drehen des Schlüssels von einer „AUS“-Position in eine „ACC“-Position durch Einführen des Schlüssels in die Einführungsöffnung, und in einem Fall eines Fahrzeugs des Typs eines Drückens eines Startknopfes ist der ACC-Betrieb ein einmaliger Betrieb zum Drücken des Startknopfes.
  • Die IG-Stromleitung 34 ist mit der positiven Elektrode der Fahrzeugbatterie 35 über einen IG-Schalter 37 verbunden. Wenn der Nutzer einen IG-Betrieb bzw. Zündbetrieb durchführt, wechselt der IG-Schalter 37 von einem ausgeschalteten Zustand in einen Einschaltzustand, und es wird eine Ausgangsspannung der Fahrzeugbatterie 35 an die IG-Stromleitung 34 angelegt. In einem Fall beispielsweise eines Fahrzeugs des Typs eines Einführens eines Schlüssels in eine Einführungsöffnung ist der IG-Betrieb ein Betrieb zum Drehen des Schlüssels von einer „AUS“-Position in eine „EIN“-Position durch Einführen des Schlüssels in die Einführungsöffnung, und in einem Fall eines Fahrzeugs des Typs eines Drückens eines Startknopfes ist der IG-Betrieb ein Betrieb zum zweimaligen Drücken des Startknopfes. Eine negative Elektrode der Fahrzeugbatterie 35 ist geerdet.
  • Wenn der ACC-Schalter 36 und der IG-Schalter 37 beide ausgeschaltet sind, wird dem fahrzeugseitigen System 4 nur die +B-Leistung zugeführt. Der Zustand, in dem nur die +B-Leistung dem fahrzeugseitigen System 4 zugeführt wird, wird als +B-Stromversorgungszustand bezeichnet. Wenn der ACC-Schalter 36 eingeschaltet ist und der IG-Schalter 37 ausgeschaltet ist, werden dem fahrzeugseitigen System 4 die ACC-Leistung und die +B-Leistung zugeführt. Der Zustand, in dem die ACC-Leistung und die +B-Leistung dem fahrzeugseitigen System 4 zugeführt werden, wird als ein ACC-Stromversorgungszustand bezeichnet. Wenn der ACC-Schalter 36 und der IG-Schalter 37 eingeschaltet sind, werden dem fahrzeugseitigen System 4 die +B-Leistung, die ACC-Leistung und die IG-Leistung zugeführt. Der Zustand, in dem die +B-Leistung, die ACC-Leistung und die IG-Leistung dem fahrzeugseitigen System 4 zugeführt werden, wird als IG-Stromversorgungszustand bezeichnet.
  • Die ECUs 19 weisen unterschiedliche Startbedingungen je nach Stromversorgungszuständen auf und werden als eine +B-ECU, die in dem +B-Stromversorgungszustand gestartet wird, eine ACC-ECU, die in dem ACC-Stromversorgungszustand gestartet wird, und eine IG-ECU klassifiziert, die in dem IG-Stromversorgungszustand gestartet wird. Die ECU 19, die in einer Applikation wie einer Fahrzeugdiebstahlapplikation angesteuert wird, ist eine +B-ECU. Die ECU 19, die in einer Nicht-Fahrsystemapplikation wie beispielsweise einer Audio-Applikation angesteuert wird, ist die ACC-ECU. Die ECU 19, die in einer Fahrsystemapplikation wie beispielsweise einer Verbrennungsmotor-Steuerungsapplikation angesteuert wird, ist die IG-ECU.
  • Das CGW 13 überträgt eine Startanfrage an die ECU 19, die sich in einem Schlafzustand befindet, und bewirkt somit, dass die ECU 19, die ein Übertragungsziel der Startanfrage ist, von dem Schlafzustand in einen aktiven Zustand übergeht. Das CGW 13 überträgt außerdem eine Schlafanfrage an die ECU 19, die sich in einem aktiven Zustand befindet, und bewirkt somit, dass die ECU 19, die ein Übertragungsziel der Schlafanfrage ist, von dem aktiven Zustand in einen Schlafzustand übergeht. Das CGW 13 wählt die ECU 19, die ein Übertragungsziel der Startanfrage oder der Schlafanfrage ist, aus den ECUs beispielsweise durch unterschiedliches Ausbilden der Wellenformen bzw. Funktionen der Übertragungssignale, die an die Busse 15 bis 17 zu übertragen sind, aus.
  • Die Stromversorgungssteuerungsschaltung 38 ist parallel zu dem ACC-Schalter 36 und dem IG-Schalter 37 geschaltet. Das CGW 13 überträgt eine Stromversorgungssteuerungsanfrage an die Stromversorgungsverwaltungs-ECU 20 und bewirkt, dass die Stromversorgungsverwaltungs-ECU 20 die Stromversorgungssteuerungsschaltung 38 steuert. Das heißt, das CGW 13 überträgt eine Stromversorgungsstartanfrage als Stromversorgungssteuerungsanfrage an die Stromversorgungsverwaltungs-ECU 20, um in der Stromversorgungssteuerungsschaltung 38 die ACC-Stromleitung 33 oder die IG-Stromleitung 34 mit der positiven Elektrode in der Fahrzeugbatterie 35 zu verbinden. In diesem Zustand wird die ACC-Leistung oder IG-Leistung dem fahrzeugseitigen System 4 sogar dann zugeführt, wenn der ACC-Schalter 36 und der IG-Schalter 37 ausgeschaltet sind. Das CGW 13 überträgt eine Stromversorgungsstoppanfrage als Stromversorgungssteuerungsanfrage an die Stromversorgungsverwaltungs-ECU 20, um in der Stromversorgungssteuerungsschaltung 38 die ACC-Stromleitung 33 oder die IG-Stromleitung 34 von der positiven Elektrode der Fahrzeugbatterie 35 zu trennen.
  • Das DCM 12, das CGW 13 und die ECU 19 weisen eine Selbsterhaltungsenergiefunktion auf. Das heißt, wenn die Fahrzeugleistung bzw. Fahrzeugenergie von der ACC-Leistung oder der IG-Leistung in die +B-Leistung in dem aktiven Zustand wechselt, gehen das DCM 12, das CGW 13 und die ECU 19 nicht von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand unmittelbar nach dem Wechsel über, sondern setzen den aktiven Zustand eine vorbestimmte Zeit unmittelbar nach dem Wechsel fort und erhalten somit Ansteuerungsleistung bzw. Ansteuerungsenergie selbst bei. Das DCM 12, das CGW 13 und die ECU 19 gehen von dem aktiven Zustand in den Stoppzustand oder den Schlafzustand über, wenn eine vorbestimmte Zeit (beispielsweise mehrere Sekunden) verstrichen ist, nachdem die Fahrzeugleistung von der ACC-Leistung oder der IG-Leistung in die +B-Leistung gewechselt hat.
  • Im Folgenden wird ein Verteilungspaket, das von der Zentrumsvorrichtung 3 an die Master-Vorrichtung 11 verteilt wird, mit Bezug auf die 238 und 239 beschrieben. In dem Fahrzeug-Programmneuschreibsystem 1 werden Neuprogrammierungsdaten, die Schreibdaten, die von einem Lieferanten wie einem Anbieter eines Applikationsprogramms bereitgestellt werden, und Neuschreibspezifikationsdaten, die von einem OEM bereitgestellt werden, enthalten, erzeugt. Die Schreibdaten, die von dem Lieferanten bereitgestellt werden, enthalten Differenzdaten, die einer Differenz zwischen einem alten Applikationsprogramm und einem neuen Applikationsprogramm entsprechen, und die gesamten Daten, die der Gesamtheit des neuen Applikationsprogramms entsprechen. Die Differenzdaten oder die gesamten Daten können unter Verwendung einer bekannten Datenkomprimierungstechnik komprimiert sein. 238 stellt beispielhaft einen Fall dar, bei dem Differenzdaten als Schreibdaten von Lieferanten A bis C bereitgestellt werden und Neuprogrammierungsdaten aus verschlüsselten Differenzdaten und einem Authentifizierer der ECU (ID1), die von dem Lieferanten A bereitgestellt werden, verschlüsselten Differenzdaten und einem Authentifizierer der ECU (ID2), die von dem Lieferanten B bereitgestellt werden, und verschlüsselten Differenzdaten und einem Authentifizierer der ECU (ID3), die von dem Lieferanten C bereitgestellt werden, und Neuschreibspezifikationsdaten, die von dem OEM bereitgestellt werden, erzeugt werden. Der Authentifizierer ist zu einem jeweiligen Schreibdatenteil hinzugefügt.
  • Auch wenn 238 die Differenzdaten darstellt, die verwendet werden, um das alte Applikationsprogramm in das neue Applikationsprogramm zu aktualisieren, können auch Rollback-Differenzdaten, die verwendet werden, um von dem neuen Applikationsprogramm zu dem alten Applikationsprogramm zurückzugehen, in den Neuprogrammierungsdaten enthalten sein. In einem Fall beispielsweise, in dem die Neuschreibziel-ECU 19 einen Einzelbankspeicher aufweist, sind die Rollback-Differenzdaten in den Neuprogrammierungsdaten enthalten.
  • Die Neuschreibspezifikationsdaten, die von dem OEM bereitgestellt werden, enthalten als Informationen betreffend ein Neuschreiben des Applikationsprogramms Informationen zum Bestimmen der Neuschreibziel-ECU 19, Informationen zum Bestimmen einer Neuschreibreihenfolge, wenn es mehrere Neuschreibziel-ECUs 19 gibt, Informationen zum Bestimmen eines später beschriebenen Rollback-Verfahrens und Ähnliches und sind Daten, die einen Betrieb betreffend ein Neuschreiben in dem DCM 12, dem CGW 13 oder der Neuschreibziel-ECU 19 definieren. Die Neuschreibspezifikationsdaten werden in DCM-Neuschreibspezifikationsdaten, die von dem DCM 12 verwendet werden, und CGW-Neuschreibspezifikationsdaten klassifiziert, die von dem CGW 13 verwendet werden. Informationen, die zum Lesen von Dateien entsprechend der Neuschreibziel-ECU 19 benötigt werden, sind in den DCM-Neuschreibspezifikationsdaten beschrieben. Wie es oben beschrieben wurde, sind Informationen, die zum Steuern eines Neuschreibens in der Neuschreibziel-ECU 19 benötigt werden, in den CGW-Neuschreibspezifikationsdaten beschrieben.
  • Wenn die DCM-Neuschreibspezifikationsdaten beschafft wurden, analysiert das DCM 12 die DCM-Neuschreibspezifikationsdaten und steuert Betriebe betreffend ein Neuschreiben wie ein Übertragen von Schreibdaten an das CGW 13 entsprechend dem Analyseergebnis. Wenn die CGW-Neuschreibspezifikationsdaten beschafft wurden, analysiert das CGW 13 die CGW-Neuschreibspezifikationsdaten und steuert Betriebe betreffend ein Neuschreiben wie ein Beschaffen von Schreibdaten von dem DCM 12 und ein Verteilen der Schreibdaten an die Neuschreibziel-ECU 19 entsprechend dem Analyseergebnis.
  • In dem Datei-Server 8 werden die oben beschriebenen Neuprogrammierungsdaten registriert, und es werden die Verteilungsspezifikationsdaten, die von dem OEM bereitgestellt werden, registriert. Die Verteilungsspezifikationsdaten, die von dem OEM bereitgestellt werden, sind Daten, die einen Betrieb betreffend ein Anzeigen verschiedener Bildschirme auf dem Anzeigeendgerät 5 definieren.
  • Wenn die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten registriert werden, verschlüsselt der Datei-Server 8 die registrierten Neuprogrammierungsdaten und erzeugt ein Verteilungspaket, in dem ein Paketauthentifizierer zum Authentifizieren des Pakets, die verschlüsselten Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten in eine einzelne Datei gepackt sind. Wenn eine Download-Anfrage für das Verteilungspaket von der Außenseite empfangen wird, überträgt der Datei-Server 8 das Verteilungspaket an das DCM 12. In 238 ist beispielsweise ein Fall dargestellt, bei dem der Datei-Server 8 das Verteilungspaket erzeugt, das die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten speichert, und die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten zusammen an das DCM 12 überträgt, aber die Neuprogrammierungsdaten und die Verteilungsspezifikationsdaten können separat an das DCM 12 übertragen werden. Das heißt, der Datei-Server 8 kann die Verteilungsspezifikationsdaten als erstes an das DCM 12 übertragen, und kann dann die Neuprogrammierungsdaten später an das DCM 12 übertragen. Der Datei-Server 8 kann durch Erzeugen der Neuprogrammierungsdaten und der Verteilungsspezifikationsdaten als ein Verteilungspaket, das eine einzelne Datei ist, das Verteilungspaket und den Paketauthentifizierer an das DCM 12 übertragen.
  • Wenn das Verteilungspaket von dem Datei-Server 8 heruntergeladen ist, verifiziert das DCM 12 den Paketauthentifizierer, der in dem Verteilungspaket gespeichert ist, und die verschlüsselten Neuprogrammierungsdaten und entschlüsselt die verschlüsselten Neuprogrammierungsdaten, wenn das Verifizierungsergebnis positiv ist. Wenn die verschlüsselten Neuprogrammierungsdaten entschlüsselt sind, entpackt das DCM 12 die entschlüsselten Neuprogrammierungsdaten und erzeugt verschlüsselte Differenzdaten, einen Authentifizierer, DCM-Neuschreibspezifikationsdaten und CGW-Neuschreibspezifikationsdaten für jede der ECUs. 239 stellt einen Fall dar, bei dem die verschlüsselten Differenzdaten und der Authentifizierer der ECU (ID1), die verschlüsselten Differenzdaten und der Authentifizierer der ECU (ID2), die verschlüsselten Differenzdaten und der Authentifizierer der ECU (ID3) und die Neuschreibspezifikationsdaten erzeugt werden.
  • 240 ist ein Blockdiagramm, das hauptsächlich Teile bzw. Abschnitte betreffend Funktionen der Server 8 bis 10 in der Zentrumsvorrichtung 3 darstellt. 241 stellt einen Umriss von Prozessen dar, die von der Zentrumsvorrichtung 3 in Bezug auf eine Programmaktualisierung in der ECU durchgeführt werden. In der folgenden Beschreibung wird eine „Datenbank“ in einigen Fällen als „DB“ bezeichnet. Wie es in 240 dargestellt ist, enthält die Zentrumsvorrichtung 3 eine Paketverwaltungseinheit 3A, eine Konfigurationsinformationsverwaltungseinheit 3B, eine Individual-Fahrzeuginformationsverwaltungseinheit 3C und eine Kampagnen-Verwaltungseinheit 3D. Die Paketverwaltungseinheit 3A enthält eine Spezifikationsdatenerzeugungseinheit 201, eine Paketerzeugungseinheit 202, eine Paketverteilungseinheit 203, eine ECU-Neuprogrammierungsdaten-DB 204, eine ECU-Metadaten-DB 205 und eine Paket-DB 206. Die Konfigurationsinformationsverwaltungseinheit 3B enthält eine Konfigurationsinformationsregistrierungseinheit 207 und eine Konfigurationsinformations-DB 208.
  • Der Lieferant registriert ECU-Individualdaten unter Verwendung einer Eingabeeinheit 218 und einer Anzeigeeinheit 219, die Nutzerschnittstellenfunktionen (UI-Funktionen) des Verwaltungs-Servers 10 sind. Die ECU-Individualdaten enthalten eine Programmdatei wie ein neues Programm oder Differenzdaten, Verifizierungsdaten oder eine Größe der Programmdatei, Programmdatei betreffende Informationen wie Verschlüsselungsverfahren und ECU-Attributinformationen wie eine Speicherkonfiguration der ECU 19. Die Programmdatei ist in der ECU-Neuprogrammierungsdaten-DB 204 gespeichert. Die ECU-Attributinformationen sind in der ECU-Metadaten-DB 205 gespeichert. Die Programmdatei betreffenden Informationen können in der ECU-Neuprogrammierungsdaten-DB 204 oder in der ECU-Metadaten-DB 205 gespeichert sein. Die ECU-Neuprogrammierungsdaten DB 204 ist ein Beispiel einer Aktualisierungsdatenspeichereinheit. Die ECU-Metadaten-DB 205 ist ein Beispiel einer eine Vorrichtung betreffenden Informationsspeichereinheit.
  • Der OEM registriert Zustimmungskonfigurationsinformationen in der Konfigurationsinformations-DB 208 für jeden Fahrzeugtyp über die Konfigurationsinformationsregistrierungseinheit 207. Die Zustimmungskonfigurationsinformationen sind Konfigurationsinformationen eines Fahrzeugs, die von einer öffentlichen Organisation gebilligt werden. Die Konfigurationsinformationen sind Identifikationsinformationen betreffend eine Hardware und eine Software der ECU 19, die in einem Fahrzeug montiert ist, und sind ein Beispiel für ein Fahrzeug betreffende Informationen. Die Konfigurationsinformationen enthalten Identifikationsinformationen einer Systemkonfiguration, die aus mehreren ECUs 19 ausgebildet wird, und Identifikationsinformationen einer Fahrzeugkonfiguration, die aus mehreren Systemen ausgebildet wird. Als Konfigurationsinformationen können Fahrzeugbeschränkungsinformationen betreffend eine Programmaktualisierung registriert werden. Es können beispielsweise Gruppeninformationen der ECU, die in den Neuschreibspezifikationsdaten beschrieben sind, eine Buslasttabelle und Informationen hinsichtlich einer Batterielast registriert werden. Die ECU-Metadaten DB 205 ist ein Beispiel einer eine Vorrichtung betreffenden Informationsspeichereinheit. Die Konfigurationsinformations-DB 208 ist ein Beispiel einer Fahrzeuginformationsspeichereinheit.
  • Die Spezifikationsdatenerzeugungseinheit 201 nimmt Bezug auf eine jeweilige DB und erzeugt Neuschreibspezifikationsdaten. Die Paketerzeugungseinheit 202 erzeugt ein Verteilungspaket, das Neuschreibspezifikationsdaten und Neuprogrammierungsdaten enthält, und registriert das Verteilungspaket in der Paket-DB 206. Die Paketerzeugungseinheit 202 kann ein Verteilungspaket erzeugen, das die Verteilungsspezifikationsdaten enthält. Die Paketverteilungseinheit 203 verteilt das registrierte Verteilungspaket an das fahrzeugseitige System 4. Das Verteilungspaket entspricht einer Datei.
  • Die Individual-Fahrzeuginformationsverwaltungseinheit 3C enthält eine Individual-Fahrzeuginformationsregistrierungseinheit 209, eine Konfigurationsinformationsüberprüfungseinheit 210, eine Aktualisierungsverfügbarkeitsüberprüfungseinheit 211, eine SMS-Übertragungssteuerungseinheit 212 und eine Individual-Fahrzeuginformations-DB 213. Die Individual-Fahrzeuginformationsregistrierungseinheit 209 registriert individuelle Fahrzeuginformationen, die von individuellen Fahrzeugen heraufgeladen werden, in der Individual-Fahrzeuginformations-DB 213. Die Individual-Fahrzeuginformationsregistrierungseinheit 209 kann als Anfangswerte individuelle Fahrzeuginformationen zu der Zeit einer Fahrzeugherstellung oder eines Fahrzeugverkaufes in der Individual-Fahrzeuginformations-DB 213 registrieren. Wenn die heraufgeladenen individuellen Fahrzeuginformationen registriert sind, vergleicht die Konfigurationsinformationsüberprüfungseinheit 210 die individuellen Fahrzeuginformationen mit den Konfigurationsinformationen desselben Typs von Fahrzeug, die in der Konfigurationsinformations-DB 208 registriert sind. Die Aktualisierungsverfügbarkeitsüberprüfungseinheit 211 überprüft die Verfügbarkeit einer Aktualisierung, die ein neues Programm verwendet, das heißt die Verfügbarkeit einer Kampagne in Bezug auf die individuellen Fahrzeuginformationen. In einem Fall, in dem die individuellen Fahrzeuginformationen aktualisiert werden, überträgt die SMS-Übertragungssteuerungseinheit 212 eine Nachricht betreffend die Aktualisierung an ein entsprechendes Fahrzeug durch einen Kurznachrichtendienst (SMS).
  • Die Kampagnen-Verwaltungseinheit 3D enthält eine Kampagnen-Erzeugungseinheit 214, eine Kampagnen-Verteilungseinheit 215, eine Befehlsmitteilungseinheit 216 und eine Kampagnen-DB 217. Der OEM bewirkt, dass die Kampagnen-Erzeugungseinheit 214 Kampagnen-Informationen erzeugt, die Informationen betreffend die Programmaktualisierung sind, und registriert die Kampagnen-Informationen in der Kampagnen-DB 217. Die Kampagnen-Informationen entsprechen hier den oben beschriebenen „Verteilungsspezifikationsdaten“ und sind hauptsächlich Informationen betreffend einen Aktualisierungsinhalt, der auf dem fahrzeugseitigen System 4 angezeigt wird. Die Kampagnen-Verteilungseinheit 215 verteilt die Kampagnen-Informationen an das Fahrzeug. Die Befehlsmitteilungseinheit 216 teilt dem Fahrzeug einen notwendigen Befehl betreffend die Programmaktualisierung mit. In dem fahrzeugseitigen System 4 bestimmt der Nutzer beispielsweise auf der Grundlage der Kampagnen-Informationen, die von der Zentrumsvorrichtung 3 übertragen werden, ob das Aktualisierungsprogramm herunterzuladen ist, und lädt das Aktualisierungsprogramm nach Bedarf herunter. Die Abschnitte der jeweiligen Verwaltungseinheiten 3A bis 3D mit der Ausnahme der Datenbanken sind Funktionen, die mittels Computer-Hardware und Computer-Software realisiert werden. Die Fahrzeugkommunikationseinheit 222 ist ein Funktionsblock zum Durchführen einer Datenkommunikation zwischen der Zentrumsvorrichtung 3 und dem fahrzeugseitigen System 4 auf drahtlose Weise.
  • Im Folgenden wird der obige Prozess genauer beschrieben, und zunächst wird ein Inhalt von Daten, die in einer jeweiligen Datenbank registriert werden, beschrieben. Wie es in 242 dargestellt ist, werden gemäß einem Beispiel die folgenden Daten in der Konfigurationsinformations-DB 208 registriert. Ein „Fahrzeug-Typ“ gibt den Typ eines Fahrzeugs an. Eine „Fahrzeug-SW-ID“ ist eine Software-ID für das gesamte Fahrzeug und entspricht einer Fahrzeug-Software-ID. Nur eine „Fahrzeug-SW-ID“ wird für ein jeweiliges Fahrzeug vergeben und wird aktualisiert, wenn Versionen von Applikationsprogrammen von einer oder mehreren der ECUs aktualisiert werden. Eine „Sys-ID“ eine ID eines Systems, wenn eine Gruppe aus mehreren ECUs 19, die an einem jeweiligen Fahrzeug montiert sind, als ein „System“ bezeichnet wird.
  • In 234 ist beispielsweise eine Gruppe aus Karosseriesystem-ECUs 19 ein Karosseriesystem, und eine Gruppe aus Fahrsystem-ECUs 19 ist ein Fahrsystem. Die „Sys-ID“ wird aktualisiert, wenn Versionen von Applikationsprogrammen von einer oder mehreren ECUs, die ein System bilden, aktualisiert werden. Eine „ECU-ID“ ist eine ID zum Identifizieren einer Vorrichtung und gibt den Typ einer ECU an. Eine „ECU-SW-ID“ ist eine Software-ID für eine jeweilige ECU und entspricht einer ECU-Software-ID. Aus Vereinfachungsgründen ist die „ECU-ID“ derart dargestellt, dass ihr eine Software-Version hinzugefügt ist. Die „ECU-SW-ID“ wird aktualisiert, wenn eine Version eines Applikationsprogramms einer entsprechenden ECU aktualisiert wird. Sogar wenn dieselbe Programmversion in derselben „ECU-ID“ verwendet wird, werden unterschiedliche „ECU-SW-IDs“ verwendet, wenn sich Hardwarekonfigurationen voneinander unterscheiden. Das heißt, die „ECU-SW-ID“ bildet außerdem Informationen, die eine Produktnummer der ECU angeben.
  • 242 zeigt Konfigurationsinformationen hinsichtlich eines Fahrzeugs eines „Fahrzeug-Typs“ = „aaa“. Unter den ECUs 19, die in einem Fahrzeug montiert sind, sind eine Autonom-Fahrt-ECU (ADS), eine Verbrennungsmotor-ECU (ENG), eine Bremsen-ECU (BRK) und eine Servolenkungs-ECU (EPS) beispielhaft zu nennen. Die „ECU-SW-IDs“ von „Fahrzeug-SW-ID“ = „0001“ sind beispielsweise „ads_001“, „eng_010“, „brk_001“ und „eps_010“, wohingegen die „ECU-SW-IDs“ von „Fahrzeug-SW-ID“ = „0002“ die „ads_002“, „eng_010“, „brk_005“ und „eps_011“ sind, und es werden drei Software-Versionen aktualisiert. Als Ergebnis wird „Sys-ID“ = „SA01“ in „SA02“ aktualisiert, und „Sys-ID“ = „SA02“ wird in „SA03“ aktualisiert. Wie es oben beschrieben wurde, wird der Anfangswert in der Konfigurationsinformations-DB 208 zu dem Zeitpunkt der Herstellung oder dem Verkauf des Fahrzeugs registriert und wird dann aktualisiert, wenn Versionen von Applikationsprogrammen von einer oder mehreren ECUs aktualisiert werden. Das heißt, die Konfigurationsinformations-DB 208 gibt gebilligte Konfigurationsinformationen an, die auf dem Markt für einen jeweiligen Fahrzeugtyp vorhanden sind.
  • Wie es in 243 dargestellt ist, werden gemäß einem Beispiel die folgenden Programme und Daten in der ECU-Neuprogrammierungsdaten-DB 204 registriert. In 243 sind unter den ECUs 19, die in einem bestimmten Fahrzeugtyp zu montieren sind, als ECUs 19, in denen Applikationsprogramme aktualisiert werden, eine Autonom-Fahrt-ECU (ADS), eine Bremsen-ECU (BRK) und eine Servolenkungs-ECU (EPS) beispielhaft dargestellt. In Bezug auf die letzte „ECU-SW-ID“ der Aktualisierungsziel-ECU 19 werden alte Programmdateien und neue Programmdateien der ECU, die Integritätsverifizierungsdaten des neuen Programms, eine Aktualisierungsdatendatei, die aus Differenzdaten zwischen dem neuen Programm und dem alten Programm besteht, Integritätsverifizierungsdaten der Aktualisierungsdaten, eine Rollback-Datendatei, die aus den Differenzdaten besteht, und Integritätsverifizierungsdaten der Rollback-Daten registriert. Die Integritätsverifizierungsdaten sind ein Hash-Wert, der durch Anwenden einer Hash-Funktion auf einen Datenwert erhalten wird. Wenn die gesamten Daten des neuen Programms als Aktualisierungsdaten anstelle der Differenzdaten verwendet werden, sind die Integritätsverifizierungsdaten der Aktualisierungsdaten dieselben wie die gesamten Daten des neuen Programms.
  • Auch wenn eine Datenstruktur der letzten „ECU-SW-ID“ in 243 dargestellt ist, kann in einem Fall, in dem Daten der alten „ECU-SW-ID“ gespeichert sind, eine neue Programmdatei mit der vorherigen „ECU-SW-ID“ als Bezug für die alte Programmdatei genommen werden. Jeder Integritätsverifizierungsdatenteil kann ein Format aufweisen, gemäß dem ein Wert, der von dem Lieferanten berechnet wird, registriert wird, oder kann ein Format aufweisen, gemäß dem ein Wert, der von der Zentrumsvorrichtung 3 berechnet wird, registriert wird.
  • Wie es in 244 dargestellt ist, sind die folgenden ECU-Individualspezifikationsdaten in der ECU-Metadaten-DB 205 registriert. Für die letzte „ECU-SW-ID“ sind eine Größe einer Aktualisierungsdatendatei, eine Größe einer Rollback-Datendatei, Bankinformationen, die eine Bank betreffend ein Programm aus einer Bank A, einer Bank B, einer Bank C und Ähnlichem in einem Fall angeben, in dem der Flash-Speicher 28d, der in der ECU 19 enthalten ist, zwei oder mehr Bänke aufweist, eine Übertragungsgröße, eine Leseadresse einer Programmdatei und Ähnliches registriert. Dieses sind Beispiele für Aktualisierungsdaten betreffende Informationen.
  • Attributinformationen, die ein Attribut der ECU 19 angeben, sind ebenfalls in der ECU-Metadaten-DB 205 registriert. Die Attributinformationen sind Informationen, die ein Hardware-Attribut und ein Software-Attribut hinsichtlich der ECU angeben. Die „Übertragungsgröße“ ist eine Übertragungsgröße, wenn Neuschreibdaten unterteilt werden und von dem CGW 13 an die ECU 19 übertragen werden, und der „Schlüssel“ ist ein Schlüssel, der verwendet wird, wenn das CGW 13 sicher auf die ECU 19 zugreift. Dieses sind Beispiele von Software-Attributinformationen. Der „Fahrzeug-Typ“ und die „ECU-ID“ enthalten auch eine Speicherkonfiguration des Flash-Speichers 28d der ECU 19, den Typ des Busses, mit dem die ECU 19 verbunden ist, den Typ der Stromversorgung, die mit der ECU 19 verbunden ist, und Ähnliches. Dieses sind Beispiele von Hardware-Attributinformationen.
  • Hier ist als Speicherkonfiguration „Einzelbank“ ein Einzelbankspeicher, der eine einzelne Flash-Bank aufweist, „Doppelbank“ ist ein Doppelbankspeicher, der doppelte Flash-Bänke bzw. zwei Flash-Bänke aufweist, und „Suspendierung“ ist ein Einzelbank-Suspendierungs-Speicher, der Pseudo-Doppel-Flash-Bänke bzw. zwei Pseudo-Flash-Bänke aufweist. Die Hardware-Attributinformationen und die Software-Attributinformationen sind Informationen, die für eine Neuschreibsteuerung einer jeweiligen ECU 19 in dem fahrzeugseitigen System 4 verwendet werden. Auch wenn die Hardware-Attributinformationen im Voraus in dem CGW 13 gespeichert werden können, werden in der vorliegenden Ausführungsform die Hardware-Attributinformationen durch die Zentrumsvorrichtung 3 verwaltet, um die Verwaltungslast für das fahrzeugseitige System 4 zu verringern. Die Software-Attributinformationen sind Daten, die direkt einen Neuschreibbetrieb einer jeweiligen ECU 19 bezeichnen. Die Software-Attributinformationen werden von der Zentrumsvorrichtung 3 derart verwaltet, dass eine flexible Steuerung in dem fahrzeugseitigen System 4 realisiert werden kann.
  • Wie es in 245 dargestellt ist, werden die folgenden Daten für jedes individuelle Fahrzeug in der Individual-Fahrzeuginformations-DB 213 registriert. Allgemein werden Konfigurationsinformationen für jedes individuelle Fahrzeug oder Zustandsinformationen eines individuellen Fahrzeugs mit Bezug auf eine Programmaktualisierung registriert. Insbesondere werden für „VIN“, die eine ID eines jeweiligen Fahrzeugs ist, die „Fahrzeug-SW-ID“, die „Sys-ID“, die „ECU-ID“, die „ECU-SW-ID“ und Ähnliches, die Konfigurationsinformationen sind, registriert. Ein „Digest“-Wert, der ein Hash-Wert für Konfigurationsinformationen ist, wird ebenfalls berechnet und in der Zentrumsvorrichtung 3 gespeichert. Eine „aktive Bank“ ist eine Bank, in die ein Programm, das derzeitig von der ECU 19 betrieben wird, in einem Fall geschrieben wird, in dem eine Speicherkonfiguration eine Doppelbandkonfiguration ist, und ein heraufgeladener Wert wird zusammen mit den Konfigurationsinformationen registriert.
  • Ein „Zugangs-Log“ ist das Datum und die Zeit, zu denen das Fahrzeug die individuellen Fahrzeuginformationen in die Zentrumsvorrichtung 3 hochgeladen hat. Ein „Neuprogrammierungsstatus“ gibt einen Zustand einer Neuprogrammierung in dem Fahrzeug an und enthält beispielsweise „Kampagne ausgegeben“, „Aktivierung beendet“ und „Download beendet“. Das heißt, aus diesem Fortschrittszustand ist ersichtlich, zu welcher Phase die Neuprogrammierung in dem Fahrzeug fortschreitet und in welcher Phase die Neuprogrammierung verzögert wird. Wenn die Konfigurationsinformationen oder Ähnliches von dem fahrzeugseitigen System 4 in die Zentrumsvorrichtung 3 hochgeladen werden, wird die „VIN“ eines jeweiligen Fahrzeugs zu den Informationen oder Ähnlichem hinzugefügt.
  • Wie es in 246 dargestellt ist, werden eine ID eines Verteilungspakets, eine Verteilungspaketdatei und Daten zum Verifizieren der Integrität des Verteilungspakets in der Paket-DB 206 registriert. Wie es in 247 dargestellt ist, werden die folgenden Daten in der Kampagnen-DB 217 registriert. Die Daten sind eine ID von Kampagnen-Informationen, eine Verteilungspaket-ID, Nachrichteninformationen wie Textaussagen, die einen speziellen Aktualisierungsinhalt als einen Kampagnen-Inhalt angeben, eine Liste von „VINs“, die IDs von Kampagnen-Zielfahrzeugen sind, eine Liste von „Fahrzeug-SW-IDs“ vor und nach der Aktualisierung, eine Liste von „ECU-SW-IDs“ vor und nach der Aktualisierung und Ähnliches. Eine „Ziel-VIN“-Liste kann durch Vergleichen der Individual-Fahrzeuginformations-DB 213 mit der Kampagnen-DB 217 registriert werden. Die Kampagnen-Informationen können auch in der Paket-DB 206 registriert werden.
  • Im Folgenden wird ein Betrieb der vorliegenden Ausführungsform beschrieben. In 248 wird ein Prozess zum Registrieren von Daten in der ECU-Neuprogrammierungsdaten-DB 204 der Paketverwaltungseinheit 3A beschrieben. Wie es in 248 dargestellt ist, starten die Anzeigeeinheit 219 und die Eingabeeinheit 218 einen Bildschirm zum Registrieren der Neuprogrammierungsdaten des Verwaltungs-Servers 10 und empfangen eine Eingabe von neuen und alten Programmdateien der ECU 19 von einem Operator des Lieferanten (A1). Es können beispielsweise eine UI oder Ähnliches verwendet werden, um eine Datei zu registrieren, in der Konfigurationsinformationen in einem CSV-Format oder Ähnlichem als eine Datei geschrieben sind. Anschließend erzeugt die Paketverwaltungseinheit 3A Integritätsverifizierungsdaten des neuen Programms (A2) und erzeugt eine Differenzdatendatei als Aktualisierungsdifferenzdaten zur Aktualisierung in das neue Programm auf der Grundlage des alten Programms und Integritätsverifizierungsdaten der Aktualisierungsdifferenzdaten (A3 und A4).
  • Anschließend werden eine Differenzdatendatei als Rollback-Differenzdaten zur Aktualisierung in das alte Programm auf der Grundlage des neuen Programms und Integritätsverifizierungsdaten der Daten erzeugt (A5 und A6). Die Programmdateien und die Verifizierungsdaten werden in der ECU-Neuprogrammierungsdaten DB 204 registriert, und es wird eine neue „ECU-SW-ID“ auf der Grundlage der vorherigen „ECU-SW-ID“ erzeugt und registriert (A7). Wenn hier die gesamten Daten anstelle der Differenz verteilt werden, kann der Schritt betreffend die Differenzdaten weggelassen werden.
  • Die Integritätsverifizierungsdaten sind ein Hash-Wert, der beispielsweise durch Verwenden einer Hash-Funktion erzeugt wird. In einem Fall beispielsweise, in dem Secure-Hash-Algorithm-256-Bit (SHA-256) als Hash-Funktion verwendet wird, werden Datenwerte in Nachrichtenblöcken alle 64 Bytes getrennt. Wenn dann Datenwerte des ersten Nachrichtenblocks auf einen Anfangs-Hash-Wert angewendet werden und somit ein Hash-Wert mit einer Länge von 32 Bytes erhalten wird, wird ein Hash-Wert mit einer Länge von 32 Bytes aufeinanderfolgend und wiederholt durch Anwenden von Datenwerten des nächsten Nachrichtenblockes auf den Hash-Wert erhalten.
  • In 249 wird ein Neuschreibspezifikationsdatenerzeugungsprozess in der Spezifikationsdatenerzeugungseinheit 201 beschrieben. Hier wird der Neuschreibspezifikationsdatenerzeugungsprozess für das Fahrzeug mit „Fahrzeug-Typ“ = „aaa“ beschrieben, aber dasselbe gilt für andere Fahrzeuge.
  • Die Zentrumsvorrichtung 3 startet ein Spezifikationsdatenerzeugungsprogramm der Spezifikationsdatenerzeugungseinheit 201 und empfängt eine Eingabe von einem Operator des OEM über die Anzeigeeinheit 219 und die Eingabeeinheit 218. Zunächst bestimmt die Spezifikationsdatenerzeugungseinheit 201 die Aktualisierungsziel-ECU 19. Wie es in 249 dargestellt ist, greift die Spezifikationsdatenerzeugungseinheit 201 auf die ECU-Neuprogrammierungsdaten-DB 204 zu und gibt einen Anzeigebildschirm, auf dem ein Aktualisierungsziel unter den registrierten „ECU-SW-IDs“ ausgewählt werden kann, an die Anzeigeeinheit 219 aus. Die Spezifikationsdatenerzeugungseinheit 201 speichert eine oder mehrere „ECU-SW-IDs“, die von dem Operator des OEM über die Eingabeeinheit 218 ausgewählt werden, in einer speziellen ECU-Reihenfolge (B1). Hier gibt die ECU-Reihenfolge eine Neuschreibreihenfolge der ECUs 19 in dem fahrzeugseitigen System 4 an. Die Spezifikationsdatenerzeugungseinheit 201 stellt die Reihenfolge, die von dem Operator des OEM bezeichnet wird, als spezielle ECU-Reihenfolge ein.
  • Die Spezifikationsdatenerzeugungseinheit 201 kann auf die Konfigurationsinformations-DB 208 zugreifen, um die Aktualisierungsziel-ECU 19 zu bestimmen, ohne eine Eingabe von dem Operator des OEM zu empfangen. Die Spezifikationsdatenerzeugungseinheit 201 nimmt Bezug auf eine „ECU-SW-ID“ für die letzte bzw. jüngste „Fahrzeug-SW-ID“ und eine „ECU-SW-ID“ für die vorherige „Fahrzeug-SW-ID“ und extrahiert die ECU 19, die einer Aktualisierung unterzogen wird. In 242 sind beispielsweise „ADS“, „BRK“ und „EPS“ die Aktualisierungsziel-ECUs 19. Die Spezifikationsdatenerzeugungseinheit 201 stellt die Reihenfolge der ECUs, die in der Konfigurationsinformations-DB 208 registriert sind, als die spezielle ECU-Reihenfolge ein.
  • Die Spezifikationsdatenerzeugungseinheit 201 erzeugt Gruppeninformationen für ECUs, die mehrere Aktualisierungsziel-„ECU-SW-IDs“ aufweisen (B2). In Bezug auf die Konfigurationsinformations-DB 208 unter Verwendung der „Sys-ID“ enthält beispielsweise eine Gruppe 1 die „ECU-IDs“, in denen die „Sys-ID“ = „SA01_02“ ist, und eine Gruppe 2 enthält die „ECU-IDs“, in denen die „Sys-ID“ = „SA02_02“ ist. In 242 ist die Gruppe 1 beispielsweise auf „ADS“ festgelegt, die Gruppe 2 ist als erstes auf „BRK“ festgelegt, und die Gruppe 2 ist als zweites auf „EPS“ festgelegt. Wie es oben beschrieben wurde, bestimmt die Spezifikationsdatenerzeugungseinheit 201 eine Aktualisierungsziel-ECU, eine Gruppe, zu der die ECU gehört, und eine ECU-Reihenfolge in der Gruppe.
  • Anschließend greift die Spezifikationsdatenerzeugungseinheit 201 auf die ECU-Metadaten-DB 205 zu und beschafft die Aktualisierungsdaten betreffenden Informationen, die Hardware-Attributinformationen und die Software-Attributinformationen als Spezifikationsdaten hinsichtlich der Aktualisierungsziel-ECU 19 (B3). Wie es beispielsweise in 250 dargestellt ist, enthalten die Aktualisierungsdaten betreffenden Informationen eine „Aktualisierungsprogrammversion“, eine „Aktualisierungsprogrammbeschaffungsadresse“, eine „Aktualisierungsprogrammgröße“, eine „Rollback-Programmversion“, eine „Rollback-Programmbeschaffungsadresse“, eine „Rollback-Programmgröße“, ein „Schreibdatentyp“ und eine „Schreibbank“. Die Hardware-Attributinformationen enthalten einen „verbundenen Bus“, eine „verbundene Stromversorgung“ und einen „Speichertyp“. Die Software-Attributinformationen enthalten „Neuschreibbankinformationen“, „Sicherheitszugriffsschlüsselinformationen“, ein „Neuschreibverfahren“ und eine „Übertragungsgröße“. Das „Neuschreibverfahren“ besteht aus Daten, die angeben, ob ein Neuschreiben durch Freigabe der Selbsterhaltungsenergieschaltung durchgeführt wird, wenn ein Wechsel von eingeschalteter IG zu ausgeschalteter IG auftritt (Selbsterhaltungsenergie), oder das Neuschreiben entsprechend einem Einschalten der IG und einem Ausschalten der IG durchgeführt wird (Stromversorgungssteuerung). Andere Informationen als ein Schlüssel können als „Sicherheitszugangsschlüsselinformationen“ enthalten sein.
  • Im Folgenden wird jeder Informationsteil beschrieben. Der „Schreibdatentyp“ ist ein Typ, der angibt, ob eine Differenz aus Differenzdaten oder den gesamten Daten besteht. Der Schreibdatentyp für ein Aktualisierungsprogramm und der Schreibdatentyp für ein Rollback-Programm können separat beschrieben sein.
  • Die „Schreibbank“ bildet Informationen, die eine Bank angeben, in der ein Programm für die Doppelbankspeicher-ECU 19 geschrieben ist.
  • Der „verbundene Bus“ bildet Informationen zum Identifizieren eines Busses, mit dem die ECU 19 verbunden ist.
  • Die „verbundene Stromversorgung“ bildet Informationen, die einen Zustand einer Stromversorgung bzw. Stromquelle angeben, mit der die ECU 19 verbunden ist, wobei ein Wert, der irgendeine aus der Batterieleistung (+B-Leistung), der Zubehörleistung (ACC-Leistung) und der Zündleistung (IG-Leistung) angibt, beschrieben ist.
  • Der „Speichertyp“ bildet Informationen zum Identifizieren einer Speicherkonfiguration der ECU 19, wobei Werte, die einen Doppelbankspeicher, einen Einzelbank-Suspendierungs-Speicher (Pseudo-Doppelbankspeicher), einen Einzelbankspeicher und Ähnliches angeben, beschrieben sind.
  • Die „Neuschreibbankinformationen“ bilden Informationen, die angeben, welche Bank der ECU 19 eine Startbank (aktive Bank) ist und welche Bank eine Neuschreibbank (inaktive Bank) ist.
  • Die „Sicherheitszugangsschlüsselinformationen“ bilden Informationen zum Authentifizieren eines Zugriffes auf die ECU 19 unter Verwendung eines Schlüssels und enthalten Informationen wie einen Schlüsselherleitungsschlüssel, ein Schlüsselmuster und ein Entschlüsselungsbetriebsmuster.
  • Die „Übertragungsgröße“ ist eine Datengröße, wenn ein Programm aufgeteilt und an die ECU 19 übertragen wird.
  • Wie es beispielsweise in 250 dargestellt ist, wird die „ECU-ID“ als ein Schlüssel zum Speichern dieser Informationsteile in der oben beschriebenen speziellen ECU-Reihenfolge verwendet. Wenn Informationen hinsichtlich sämtlicher ECUs beschafft wurden (B4: Ja), bezeichnet die Spezifikationsdatenerzeugungseinheit 201 „Neuschreibumgebungsinformationen“ für ein Aktualisierungszielfahrzeug (B5). Die „Neuschreibumgebungsinformationen“ sind Informationen, die für eine Neuschreibsteuerung in dem fahrzeugseitigen System 4 für die Gruppe von ECUs oder das gesamte Fahrzeug verwendet werden, und sind Daten, die einen Neuschreibbetrieb direkt bezeichnen. Die Neuschreibumgebungsinformationen für das gesamte Fahrzeug enthalten beispielsweise eine „Fahrzeugbedingung“, die angibt, ob eine Programmaktualisierung in dem fahrzeugseitigen System 4 durchgeführt wird, während das Fahrzeug fährt (während der IG-Schalter eingeschaltet ist) oder während das Fahrzeug parkt (während der IG-Schalter ausgeschaltet ist), eine „Batterielast (Restbatterieladung)“, die eine Beschränkung hinsichtlich der Restbatterieladung angibt, mit der die Programmaktualisierung in dem fahrzeugseitigen System 4 ausgeführt werden kann, Buslasttabelleninformationen, die eine Beschränkung hinsichtlich einer Buslast angibt, mit der Schreibdaten in dem fahrzeugseitigen System 4 übertragen werden können, und Ähnliches.
  • Die Neuschreibumgebungsinformationen für die Gruppe enthalten die ECUs 19, die zu der Gruppe gehören, die Reihenfolge der ECUs in der Gruppe und Ähnliches. In dem fahrzeugseitigen System 4 wird eine Programmaktualisierung synchron in der Einheit der Gruppe bzw. der Gruppeneinheit gesteuert, und ein Schreiben in die ECU 19 wird in der bezeichneten ECU-Reihenfolge ausgeführt. Die Spezifikationsdatenerzeugungseinheit 201 startet einen Bildschirm zum Registrieren von Neuschreibumgebungsinformationen und empfängt eine Eingabe von dem Operator des OEM. Alternativ kann Excel (eingetragene Marke), in das Neuschreibumgebungsinformationen eingegeben sind, importiert werden. Alternativ können die Beschränkungsinformationen, die in der Konfigurationsinformations-DB 208 registriert sind, extrahiert werden. Die Spezifikationsdatenerzeugungseinheit 201 verwendet das Erzeugungsergebnis des obigen Schritts B2 als Neuschreibumgebungsinformationen für die Gruppe.
  • Die Buslasttabelle ist eine Tabelle, die eine Entsprechungsbeziehung zwischen einem Stromversorgungszustand und einer erlaubten Übertragungsmenge für einen Bus darstellt. Wie es in 251 dargestellt ist, ist die erlaubte Übertragungsmenge eine Summe aus einer Übertragungsmenge für Fahrzeugsteuerungsdaten und für Schreibdaten, die übertragen werden können, in Bezug auf die maximal erlaubte Übertragungsmenge. Da eine erlaubte Übertragungsmenge „80 %“ in Bezug auf die maximal erlaubte Übertragungsmenge für den ersten Bus ist, erlaubt das CGW 13 in dem IG-Stromversorgungszustand in diesem Beispiel „50 %“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge für Fahrzeugsteuerungsdaten und „30 %“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge für Schreibdaten. In dem ACC-Stromversorgungszustand erlaubt das CGW 13 „30 %“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge für Fahrzeugsteuerungsdaten und „50 %“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge für die Schreibdaten. In dem +B-Stromversorgungszustand erlaubt das CGW 13 „20 %“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge für die Fahrzeugsteuerungsdaten und „60 %“ in Bezug auf die maximal erlaubte Übertragungsmenge als eine erlaubte Übertragungsmenge für die Schreibdaten. Dasselbe gilt für den zweiten Bus und den dritten Bus.
  • Schließlich ordnet die Spezifikationsdatenerzeugungseinheit 201 jeden der erzeugten oder beschafften Datenteile entsprechend einer vorbestimmten Datenstruktur an und erzeugt somit Neuschreibspezifikationsdaten, wie es in 250 dargestellt ist (B6). Das heißt, die Spezifikationsdatenerzeugungseinheit 201 erzeugt die Neuschreibspezifikationsdaten in einer Datenstruktur, die von dem fahrzeugseitigen System 4 analysiert werden kann. Jeder ECU-Informationsteil kann in den Neuschreibspezifikationsdaten in der Reihenfolge ab einer jüngeren Gruppe und entsprechend der Reihenfolge der ECUs in der Gruppe beschrieben werden. In 242 sind beispielsweise in einem Fall, in dem die Gruppe 1 auf „ADS“ festgelegt ist und die Gruppe 2 als erstes auf „BRK“ festgelegt ist und als zweites auf „EPS“ festgelegt ist, ECU-Informationen von „ADS“ als erstes angeordnet, ECU-Informationen von „BRK“ sind als nächstes angeordnet, und ECU-Informationen von „EPS“ sind als letztes in dem ECU-Informationsfeld der Spezifikationsdaten angeordnet.
  • In den Spezifikationsdaten, die in 250 dargestellt sind, sind die „ECU-ID“ bis „Übertragungsgröße“ der ECU-Informationen Beispiele der eine Zieleinheit betreffenden Informationen, die den Typ der Ziel-ECU 19 enthalten, und entsprechen den oben beschriebenen Hardware-Attributinformationen und Software-Attributinformationen. Die „Aktualisierungsprogrammversion“ bis „Schreibbank“ sind Beispiele von Aktualisierungsdaten betreffende Informationen. Die „Neuschreibumgebung“ für die Gruppe von ECUs oder das gesamte Fahrzeug ist ein Beispiel von Aktualisierungsprozessinformationen zum Bezeichnen eines Aktualisierungsprozesses in einem Fahrzeug.
  • Anhand von 252 wird der Paketerzeugungsprozess in der Paketerzeugungseinheit 202 beschrieben. Wie es oben beschrieben wurde, wird hier der Paketerzeugungsprozess für das Fahrzeug vom „Fahrzeug-Typ“ = „aaa“ beschrieben. Wie es in 252 dargestellt ist, startet die Zentrumsvorrichtung 3 die Paketerzeugungseinheit 202 der Paketverwaltungseinheit 3A mit einem Befehl von dem Operator als Auslöser. Die Paketerzeugungseinheit 202 bestimmt eine Aktualisierungsziel-„ECU-SW-ID“ auf dieselbe Weise wie in Schritt B1 (C1). Die Paketerzeugungseinheit 202 beschafft jeden Datenteil entsprechend der Aktualisierungsziel-„ECU-SW-ID“ von der ECU-Neuprogrammierungsdaten-DB 204 und erzeugt einen Neuprogrammierungsdatenteil (C2). In 243 beschafft die Paketerzeugungseinheit 201 beispielsweise die Integritätsverifizierungsdaten des neuen Programms, die Aktualisierungsdaten, die Differenzdaten sind, die Integritätsverifizierungsdaten der Aktualisierungsdaten, die Integritätsverifizierungsdaten des alten Programms, die Rollback-Daten, die Differenzdaten sind, und die Integritätsverifizierungsdaten der Rollback-Daten und erzeugt die Neuprogrammierungsdaten. Die erzeugten Neuprogrammierungsdaten und die entsprechenden Neuschreibspezifikationsdaten, die in den Schritten B1 bis B6 beschrieben wurden, werden integriert, um eine einzelne Verteilungspaketdatei zu erzeugen (C3). Anschließend werden Integritätsverifizierungsdaten für die erzeugte Paketdatei erzeugt (C4), und die Integritätsverifizierungsdaten werden in der Paket-DB 206 zusammen mit der Paketdatei registriert (C5).
  • 253 ist ein Diagramm, das Inhalte der Paketdatei darstellt, die wie oben beschrieben erzeugt wird. Es ist ein Fall dargestellt, in dem Aktualisierungsdaten oder Integritätsverifizierungsdaten entsprechend „ADS“, „BRK“ und „EPS“, die Aktualisierungsziele sind, in einen Neuprogrammierungsdatenteil entsprechend der ECU-Reihenfolge integriert sind und eine einzelne Verteilungspaketdatei durch Integrieren der Neuprogrammierungsdaten und der Neuschreibspezifikationsdaten erzeugt wird. Hier können die Rollback-Daten in den Neuprogrammierungsdaten nur in einem Fall enthalten sein, in dem eine Speicherkonfiguration der Aktualisierungsziel-ECU 19 die Einzelbankkonfiguration ist. Wenn die Speicherkonfiguration die Doppelbankkonfiguration oder die Suspendierungskonfiguration ist, können die Rollback-Daten, die ein altes Programm bilden, weggelassen werden, da ein Neuschreiben in eine aktive Bank nicht durchgeführt wird.
  • Wie es oben beschrieben wurde, werden gemäß der vorliegenden Ausführungsform Daten eines Aktualisierungsprogramms der Applikationsprogrammaktualisierungsziel-ECU 19 unter mehreren ECUs 19, die in dem Fahrzeug montiert sind, in der ECU-Neuprogrammierungsdaten-DB 204 der Zentrumsvorrichtung 3 gespeichert. Die ein Fahrzeug betreffenden Informationen wie eine „ECU-ID“ für jede der ECUs 19, die in dem Fahrzeug montiert sind, und eine „ECU-SW-ID“ eines Applikationsprogramms, das in der ECU 19 gespeichert ist, werden in der Konfigurationsinformations-DB 208 zusammen mit dem Typ des Fahrzeugs gespeichert. Das Attribut der Neuschreibziel-ECU 19 und die Aktualisierungsdaten betreffenden Informationen werden in der ECU-Metadaten-DB 205 gespeichert.
  • Die Spezifikationsdatenerzeugungseinheit 201 erzeugt die an das Fahrzeug zu übertragenden Spezifikationsdaten zusammen mit den Aktualisierungsdaten, die in die Ziel-ECU 19 zu schreiben sind, auf der Grundlage der Informationen, die in der Konfigurationsinformations-DB 208 und der ECU-Metadaten-DB 205 gespeichert sind, wobei die Spezifikationsdaten den Typ, das Attribut, die Aktualisierungsdaten betreffenden Informationen und die Informationen, die die Neuschreibumgebung betreffend die Datenaktualisierung für die Ziel-ECU 19 angeben, enthalten. Die Paketerzeugungseinheit 202 erzeugt das Verteilungspaket, das die Spezifikationsdaten und die Neuprogrammierungsdaten enthält, und registriert das Verteilungspaket in der Paket-DB 206. Die Paketverteilungseinheit 203 verteilt das registrierte Verteilungspaket an das fahrzeugseitige System 4. Somit empfängt das fahrzeugseitige System 4 die Spezifikationsdaten, die zusammen mit den Aktualisierungsdaten übertragen werden, und kann somit geeignet die Ziel-ECU 19 auf der Grundlage der Spezifikationsdaten auswählen und einen Schreibprozess unter Verwendung der Aktualisierungsdaten geeignet steuern.
  • Da die Spezifikationsdatenerzeugungseinheit 201 Spezifikationsdaten für mehrere ECUs 19 als eine Datei erzeugt und die Paketerzeugungseinheit 202 außerdem die Datei zusammen mit den Neuprogrammierungsdaten für die ECUs 19 in eine Datei packt, kann das fahrzeugseitige System 4 die Aktualisierungsdaten in die ECUs 19 schreiben, wenn ein einzelnes Verteilungspaket empfangen wurde.
  • Da die ein Fahrzeug betreffenden Informationen als Spezifikationsdaten Gruppeninformationen enthalten, in denen einige von mehreren ECUs 19 gruppiert sind, kann das fahrzeugseitige System 4 eine Ziel-ECU 19 entsprechend einer Reihenfolge auswählen, die durch die Gruppeninformationen definiert wird, und kann Aktualisierungsdaten schreiben. Wenn es beispielsweise mehrere ECUs 19 gibt, die Verbesserungsziele einer bestimmten Funktion sind, kann durch Festlegen der Gruppe 1 als Karosseriesystem-ECU 19, der Gruppe 2 als Fahrsystem-ECU 19 und der Gruppe 3 als MM-System-ECU 19 eine Programmaktualisierung in dem fahrzeugseitigen System 4 in drei Teilen bzw. dreimal ausgeführt werden. Daher kann die Wartezeit eines Nutzers für eine jeweilige Aktualisierungszeit im Vergleich zu einem Fall verkürzt werden, indem die Programmaktualisierung gemeinsam in sämtlichen ECUs ausgeführt wird.
  • Da die Neuschreibumgebungsinformationen die „Fahrzeugbedingung (IG-Einschaltzustand)“ und die „Batterielast“ betreffend das Fahrzeug und die „Buslasttabelle“ betreffend die ECU 19 enthalten, kann das fahrzeugseitige System 4 einen Zeitpunkt oder Ähnliches zum Schreiben von Aktualisierungsdaten auf der Grundlage der Informationen bestimmen. Das heißt, ein Dienstanbieter, der den OEM oder die Zentrumsvorrichtung 3 verwendet, kann eine flexible Programmaktualisierung durch Bezeichnen von Ausführungsbeschränkungsbedingungen für das Fahrzeug als Neuschreibumgebungsinformationen betreiben.
  • Da die Spezifikationsdatenerzeugungseinheit 201 Spezifikationsdaten entsprechend vorbestimmten Datenstrukturen in einer Reihenfolge unter Verwendung von Informationen betreffend die ECU 19, die den früheren Neuschreibrang aufweist, der im Voraus eingestellt wird, erzeugt, kann das fahrzeugseitige System 4 Aktualisierungsdaten entsprechend der Anordnungsreihenfolge der ECU-IDs in den Spezifikationsdaten schreiben. Das heißt, da die ECUs 19, die einen gemeinsamen kooperativen Prozess aufweisen, in eine Gruppe gruppiert sind und eine ECU-Reihenfolge durch Berücksichtigen eines Inhaltes des gemeinsamen kooperativen Prozesses definiert ist, kann die Programmaktualisierung sogar in einem Fall, in dem ein Aktualisierungszeitpunkt für das neue Programm nicht vollständig mit dem fahrzeugseitigen System 4 synchronisiert ist, ohne fehlenden Komfort beendet werden. In einem Fall beispielsweise, in dem ein neues Programm der ECU (ID1) einen Prozess zum Übertragen einer vorbestimmten Nachricht an die ECU (ID2) aufweist, und ein neues Programm der ECU (ID2) einen Prozess zum Erzeugen eines Zeitablauffehlers aufweist, wenn die vorbestimmte Nachricht, die von der ECU (ID1) übertragen wird, nicht empfangen werden kann, ist es vorteilhaft, eine ECU-Reihenfolge derart zu definieren, das die ECU (ID1) einer Aktualisierung als erstes unterzogen wird und die ECU (ID2) einer Aktualisierung später unterzogen wird.
  • (Zweite Ausführungsform)
  • Wie es in 254 dargestellt ist, betrifft die zweite Ausführungsform eine „Fahrzeugkonfigurationsinformationssynchronisation“, die anfänglich von dem fahrzeugseitigen System 4 an die Zentrumsvorrichtung 3 in 241 übertragen wird. Wenn auf der Fahrzeugseite der IG-Schalter 37 eingeschaltet wird, überträgt das CGW 13 eine „Synchronisationsinitiierungsanfrage“ an das DCM 12, wobei das Einschalten als Auslöser dient. Das DCM 12 empfängt die Synchronisationsinitiierungsanfrage und gibt eine „Konfigurationsinformationssammelanfrage“ an das CGW 13 zurück. Das CGW 13 fragt jede ECU 19 nach einer Programmversion. Jede ECU 19 gibt eine „ECU-SW-ID“ an das CGW 13 zurück. Die ECU 19, deren Speicherkonfiguration die Doppelbankkonfiguration oder die Suspendierungskonfiguration ist, gibt auch Bankinformationen an das CGW 13 zurück, die angeben, welche aus den Bänken eine aktive Bank ist und welche eine inaktive Bank ist. Jede ECU 19 kann auch Kalibrierungsinformationen eines Steuerungszielaktuators oder Ähnlichem, Lizenzinformationen zum Empfangen eines Programmaktualisierungsdienstes und einen Problemcode, der in der ECU 19 auftritt, an das CGW 13 übertragen.
  • Wenn der Empfang der „ECU-SW-ID“ von jeder ECU 19 beendet ist, überträgt das CGW 13 sämtliche Informationsteile zusammen mit der „VIN“ an das DCM 12. In diesem Fall können die „Fahrzeug-SW-ID“ und die „Sys-ID“, die von dem CGW 13 verwaltet werden, ebenfalls an das DCM 12 übertragen werden. Das DCM 12 empfängt die Informationen und erzeugt einen einzelnen Hash-Wert, der ein Digest-Wert für sämtliche „ECU-SW-IDs“ ist, unter Verwendung beispielsweise einer Hash-Funktion. Wie es oben beschrieben wurde, werden in einem Fall, in dem SHA-256 als Hash-Funktion verwendet wird, Datenwerte, der durch serielles Verbinden von Werten sämtlicher „ECU-SW-IDs“ miteinander in Nachrichtenblöcke in 64 Bytes unterteilt, die Datenwerte des ersten Nachrichtenblocks werden auf einen Anfangs-Hash-Wert angewendet, um einen Hash-Wert mit einer Länge von 32 Bytes zu erhalten, und die Datenwerte des folgenden Nachrichtenblocks werden anschließend auf den Hash-Wert angewendet, und schließlich wird ein Hash-Wert der Länge von 32 Bytes erhalten. Hier kann das DCM 12 einen einzelnen Hash-Wert nicht nur für sämtliche „ECU-SW-IDs“ erzeugen, sondern auch für Werte, die die „Fahrzeug-SW-ID“, die „Sys-ID“, die Bankinformationen und die Kalibrierungsinformationen enthalten.
  • Das DCM 12 überträgt den Digest-Wert der „ECU-SW-ID“, der wie oben beschrieben erhalten wurde, an die Zentrumsvorrichtung 3 zusammen mit der „VIN“. Das DCM 12 kann den Problemcode oder die Lizenzinformationen zusammen mit dem Digest-Wert übertragen. Im Folgenden kann der Digest-Wert als ein „Konfigurationsinformations-Digest“ bezeichnet werden, und sämtliche Datenwerte der „ECU-SW-IDs“, die dessen Basis sind, können als „Konfigurationsinformationen alle“ bezeichnet werden. Die „Konfigurationsinformationen alle“ können die „Fahrzeug-SW-ID“, die „Sys-ID“, die Bankinformationen und die Kalibrierungsinformationen enthalten.
  • Wie es später beschrieben wird, vergleicht die Zentrumsvorrichtung 3 die Digest-Werte oder aktualisiert die Individual-Fahrzeuginformations-DB 213. Die Zentrumsvorrichtung 3, die mit den Konfigurationsinformationen synchronisiert ist, überprüft eine Verfügbarkeit einer Programmaktualisierung und teilt dem fahrzeugseitigen System 4 die Kampagnen-Informationen in einem Fall mit, in dem die Programmaktualisierung verfügbar ist. Danach lädt das fahrzeugseitige System 4 ein Verteilungspaket herunter, installiert das Verteilungspaket in der Ziel-ECU 19 und aktiviert ein neues Programm. Das CGW 13 überträgt eine „Synchronisationsinitiierungsanfrage“ an das DCM 12, wobei die Beendigung des Aktualisierungsprozesses als Auslöser dient, und führt dann denselben Prozess wie oben beschrieben durch, bis eine Synchronisationsbeendigungsmitteilung erfolgt. Der oben beschriebene Prozess, der mit einem Einschalten des IG-Schalters 37 als Auslöser durchgeführt wird, kann auch durchgeführt werden, nachdem das Programm aktualisiert wurde.
  • Wie es in 255 dargestellt ist, vergleicht die Individual-Fahrzeuginformationsverwaltungseinheit 3C der Zentrumsvorrichtung 3 den „Konfigurationsinformations-Digest“ mit einem „Konfigurationsinformations-Digest“ eines entsprechenden Fahrzeugs, das in der Individual-Fahrzeuginformations-DB 13 zu diesem Zeitpunkt registriert ist, und bestimmt, ob beide Digests übereinstimmen (D2). Als „individueller Fahrzeuginformations-Digest“ kann ein im Voraus berechneter Wert in der Individual-Fahrzeuginformations-DB 213 registriert werden, oder es kann ein Digest-Wert unter Verwendung der Konfigurationsinformationen berechnet werden, die in der Individual-Fahrzeuginformations-DB 213 zu der Zeit eines Empfangs von dem fahrzeugseitigen System 4 registriert wurden. Wenn beide Digests übereinstimmen (Ja), wird bestimmt, ob die individuellen Fahrzeuginformationen des Fahrzeugs konform zu einer gebilligten Kombination sind, die in der Konfigurationsinformations-DB 208 registriert ist (D6). Da die Wahrscheinlichkeit besteht, dass die Konfigurationsinformations-DB 208 zu einem vorbestimmten Zeitpunkt aktualisiert werden kann, wird die Bestimmung in Schritt D6 sowohl in einem Fall, in dem in Schritt D2 beide Digests übereinstimmen (Ja), als auch in einem Fall durchgeführt, in dem beide Digests nicht übereinstimmen (Nein).
  • Wie es in 256 dargestellt ist, wird hier beispielsweise zur Bestimmung der Konformität überprüft, ob die Kombination aus der „Fahrzeug-SW-ID“ und der „ECU-SW-ID“ der Konfigurationsinformationen, die von dem fahrzeugseitigen System 4 heraufgeladen werden, gebilligt sind. In einer Liste, die in derselben Figur dargestellt ist, ist eine „ECU-SW-ID“ von „ECU-ID = ADS“ entsprechend der „Fahrzeug-SW-ID = 0001“, die in der Konfigurationsinformations-DB 208 registriert ist, gleich „ads_001“, eine „ECU-SW-ID“ von „ECU-ID = BRK“ ist gleich „brk_001“, und eine „ECU-SW-ID“ von „ECU-ID = EPS“ ist gleich „eps_010“.
  • Im Gegensatz dazu hat das Fahrzeug C mit VIN = 300 auch „Fahrzeug-SW-ID = 0001“, aber eine „ECU-SW-ID“ von „ECU-ID = ADS“ ist „ads_002“, und eine „ECU-SW-ID“ von „ECU-ID = BRK“ ist gleich „brk_003“. Diese beiden ECUs 19 unterscheiden sich in den Konfigurationsinformationen, die in der Konfigurationsinformations-DB 208 registriert sind. Daher ist das Ergebnis in Schritt D6 „Nein“, das heißt es wird eine Ablehnung bzw. „NG“ bestimmt, und die Konfigurationsinformationsüberprüfungseinheit 210 teilt dem fahrzeugseitigen System 4 und der Verwaltungsvorrichtung 220, die in 241 dargestellt ist, mit, dass es sich um Vorrichtungsverwaltungsinformationen hinsichtlich eines Fahrzeugs, das von dem OEM oder Ähnlichem erzeugt wurde, bezüglich einer Abnormität handelt (D12). Die Mitteilung der Abnormität wird beispielsweise von der SMS-Übertragungssteuerungseinheit 212 unter Verwendung einer SMS durchgeführt. Die SMS-Übertragungssteuerungseinheit 212 ist ein Beispiel einer Kommunikationseinheit. Sogar wenn die beiden ECUs 19 keine Aktualisierungsziel-ECUs sind, die neue Programme verwenden, bestimmt die Zentrumsvorrichtung 3, dass das Fahrzeug nicht gebilligt wird, und führt die Prozesse in Schritt D7 und den anschließenden Schritten nicht durch.
  • Andererseits weist das Fahrzeug A mit VIN = 100 die „Fahrzeug-SW-ID = 0001“ auf, die „ECU-SW-ID“ von „ECU-ID = ADS“ ist „ads_001“, und die „ECU-SW-ID“ von „ECU-ID = BRK“ ist gleich „brk_001“, die sämtlich mit den Konfigurationsinformationen übereinstimmen, die in der Konfigurationsinformations-DB 208 registriert sind. Daher ist das Ergebnis in Schritt D6 „Ja“, das heißt es wird eine Zustimmung bzw. Billigung von „OK“ bestimmt, und der Prozess schreitet zum Schritt D7. Hier kann die Konfigurationsinformationsüberprüfungseinheit 210 bestimmen, ob die Kombination aus den „ECU-SW-IDs“ des Fahrzeugs C in der Konfigurationsinformations-DB 208 vorhanden sind, um zu bestimmen, ob das Fahrzeug C gebilligt oder abgelehnt wird. Die „Sys-ID“ kann auch zusätzlich zu der „Fahrzeug-SW-ID“ zur Bestimmung verwendet werden.
  • Anschließend greift die Aktualisierungsverfügbarkeitsüberprüfungseinheit 211 auf die Kampagnen-DB 217 über die Kampagnen-Verwaltungseinheit 3D zu, um eine Verfügbarkeit einer Aktualisierung, die ein neues Programm verwendet, zu überprüfen (D7). Die Verfügbarkeit einer Aktualisierung wird durch Vergleichen der „Fahrzeug-SW-ID“, die von dem fahrzeugseitigen System heraufgeladen wird, mit der „Fahrzeug-SW-ID vor Aktualisierung“ der Kampagnen-DB 217 bestimmt. Wie es beispielsweise in 23 dargestellt ist, wird bestimmt, dass die Aktualisierung in dem Fahrzeug A verfügbar ist (Ja), da das Fahrzeug A mit VIN = 100 die „Fahrzeug-SW-ID = 0001“ vor der Aktualisierung aufweist. In diesem Fall teilt die Aktualisierungsverfügbarkeitsüberprüfungseinheit 211 dem fahrzeugseitigen System 4 des Fahrzeugs A die entsprechende Kampagnen-ID „Cpn_001“ mit (D8). Die Kampagnen-Informationen entsprechenden Aktualisierungsmitteilungsinformationen, und die Kampagnen-DB 217 ist ein Beispiel einer Aktualisierungsmitteilungsinformationsspeichereinheit.
  • Wenn die Kampagnen-DB 217 die „Sys-IDs“ vor und nach der Aktualisierung gespeichert hat, kann die Verfügbarkeit der Aktualisierung unter Verwendung der „Sys-IDs“ überprüft werden. Anstelle der „Fahrzeug-SW-ID“ kann die heraufgeladene „ECU-SW-ID“-Liste mit der „ECU-SW-ID-Liste vor Aktualisierung“ der Kampagnen-DB 217 verglichen werden, um die Verfügbarkeit der Aktualisierung zu bestimmen.
  • Das fahrzeugseitige System 4 beschafft eine Kampagnen-Datei entsprechend der ID von der Zentrumsvorrichtung 3 unter Verwendung der mitgeteilten Kampagnen-ID als einem Schlüssel (D9). Die Kampagnen-Datei enthält Textaussagen, die einen Kampagnen-Inhalt, Beschränkungen hinsichtlich der Ausführung der Programmaktualisierung usw. beschreiben. Die Beschränkungen sind Bedingungen zum Ausführen eines Downloads oder einer Installation und enthalten beispielsweise eine Restbatterieladung, eine freie Kapazität des RAM, die zum Herunterladen eines Verteilungspakets benötigt wird, und die derzeitige Position des Fahrzeugs. Das fahrzeugseitige System 4 analysiert die Kampagnen-Datei und zeigt den Kampagnen-Inhalt unter Verwendung der fahrzeugeigenen Anzeige 7 an. Der Nutzer nimmt Bezug auf eine Nachricht, die auf der fahrzeugeigenen Anzeige 7 entsprechend dem Kampagnen-Inhalt angezeigt wird, und bestimmt, ob ein Applikationsprogramm der ECU 19 zu aktualisieren ist. Wenn der Zustimmungsbetrieb des Nutzers über die fahrzeugeigene Anzeige 7 empfangen wird, teilt das CGW 13 der Zentrumsvorrichtung 3 die Zustimmung für die Aktualisierung über das DCM 12 mit. Die Zentrumsvorrichtung 3 überträgt die Verteilungspaketdatei mit der Paket-ID, die der Kampagnen-ID entspricht, und den Integritätsverifizierungsdaten an das fahrzeugseitige System 4 (D10).
  • Wenn in Schritt D7 die Aktualisierung nicht verfügbar ist (Nein), wird dem fahrzeugseitigen System 4 „Aktualisierung nicht verfügbar“ mitgeteilt (D11). Wie es beispielsweise in 256 dargestellt ist, wird bestimmt, dass die Aktualisierung nicht verfügbar ist, da das Fahrzeug A mit VIN = 200 die „Fahrzeug-SW-ID = 0002“ nach der Aktualisierung aufweist, die nicht mit irgendeiner der „Fahrzeug-SW-IDs vor Aktualisierung“ der Kampagnen-DB 217 übereinstimmt.
  • Wenn andererseits das Vergleichsergebnis des „Konfigurationsinformations-Digest“ in Schritt D2 eine fehlende Übereinstimmung zeigt (Nein), fordert die Zentrumsvorrichtung 3 das fahrzeugseitige System 4 auf, die „Konfigurationsinformationen alle“ zu übertragen (D3). Diese Übertragung entspricht einer „Gesamtdatenübertragungsanfragemitteilung“. Wenn das fahrzeugseitige System 4 die „Konfigurationsinformationen alle“ als Antwort auf die Anfrage überträgt, empfängt die Zentrumsvorrichtung 3 die „Konfigurationsinformationen alle“ (D4). Die Individual-Fahrzeuginformationsverwaltungseinheit 3C der Zentrumsvorrichtung 3 aktualisiert die Informationen betreffend das Fahrzeug, die in der Individual-Fahrzeuginformations-DB 213 registriert sind (D4). Der Prozess schreitet zum Schritt D6. Die Individual-Fahrzeuginformations-DB 213 ist ein Beispiel einer fahrzeugseitigen Konfigurationsinformationsspeichereinheit. Das CGW 13 kann die „Synchronisationsinitiierungsanfrage“ zu einem Zeitpunkt übertragen, zu dem der IG-Schalter 37 ausgeschaltet ist.
  • Wie es oben beschrieben wurde, erzeugt das fahrzeugseitige System 4 gemäß der zweiten Ausführungsform einen Hash-Wert auf der Grundlage von Datenwerten von mehreren Konfigurationsinformationsteilen und überträgt den Hash-Wert an die Zentrumsvorrichtung 3, wenn Konfigurationsinformationen betreffend eine Konfiguration einer jeweiligen ECU 19 von den ECUs 19 empfangen werden. Die Zentrumsvorrichtung 3 enthält die Individual-Fahrzeuginformations-DB 213 und vergleicht den Hash-Wert, der von dem fahrzeugseitigen System 4 übertragen wird, mit einem Hash-Wert der Fahrzeugkonfigurationsinformationen, die in der Individual-Fahrzeuginformations-DB 213 gespeichert sind. Wenn beide Werte nicht übereinstimmen, wird eine Anfrage zur Übertragung der „Konfigurationsinformationen alle“ an das fahrzeugseitige System 4 übertragen. Das fahrzeugseitige System 4 empfängt die Übertragung der Anfrage und überträgt die „Konfigurationsinformationen alle“ an die Zentrumsvorrichtung 3. Wenn die „Konfigurationsinformationen alle“ empfangen werden, aktualisiert die Zentrumsvorrichtung 3 die Konfigurationsinformationen, die in der Individual-Fahrzeuginformations-DB 213 gespeichert sind, auf der Grundlage von deren Datenwerten.
  • Mit dieser Konfiguration überträgt das fahrzeugseitige System 4 anfänglich den Hash-Wert der Konfigurationsinformationen an die Zentrumsvorrichtung 3 und überträgt dann sämtliche Datenwerte der Konfigurationsinformationen an die Zentrumsvorrichtung 3 nur dann, wenn ein Vergleichsergebnis der Hash-Werte in der Zentrumsvorrichtung 3 eine fehlende Übereinstimmung zeigt. Da eine Größe der Daten, die von dem fahrzeugseitigen System 4 übertragen werden, somit verringert werden kann, ist es auch dann, wenn das fahrzeugseitige System 4 in mehreren Fahrzeugen montiert ist, möglich, die Gesamtkommunikationsmenge zu verringern. Insbesondere in einem Fall, in dem die Konfigurationsinformationen zu einem vorbestimmten Zeitpunkt wie beispielsweise einem Einschalten der Zündung in dem fahrzeugseitigen System 4 heraufgeladen werden, kann es sein, dass sich die Kommunikation auf eine Zeit konzentriert. Somit wird eine Datenübertragungsmenge unter Verwendung eines Hash-Wertes verringert, und es ist möglich, die Kommunikationslast zu verringern.
  • Das CGW 13 empfängt die Konfigurationsinformationen von sämtlichen Neuschreibziel-ECUs 19 der Aktualisierungsdaten und erzeugt einen Hash-Wert auf der Grundlage sämtlicher Datenwerte, und das DCM 12 überträgt den Hash-Wert zu einem Zeitpunkt, zu dem der Zündschalter 37 des Fahrzeugs ein- oder ausgeschaltet wird. Daher ist es möglich, den Hash-Wert an die Zentrumsvorrichtung 3 zu einem Zeitpunkt zu übertragen, zu dem eine Fahrt des Fahrzeugs initiiert oder beendet wird. Somit kann die Zentrumsvorrichtung 3 die Konfigurationsinformationen der Individual-Fahrzeuginformations-DB 213 mit denjenigen des Fahrzeugs geeignet synchronisieren.
  • Wenn eine „ECU-SW-ID“ der jeweiligen ECUs 19 von den ECUs 19 empfangen wird, überträgt das fahrzeugseitige System 4 eine Konfigurationsinformationsliste, in der eine „Fahrzeug-SW-ID“ damit kombiniert wird, an die Zentrumsvorrichtung 3. Die Zentrumsvorrichtung 3 vergleicht die „ECU-SW-ID“-Liste, die von dem fahrzeugseitigen System 4 übertragen wird, mit einer gebilligten „ECU-SW-ID“-Liste eines entsprechenden Fahrzeugs, die in der Konfigurationsinformations-DB 208 gespeichert ist, und überträgt eine Abnormitätserfassung an das fahrzeugseitige System 4 und die Verwaltungsvorrichtung 220, wenn bestimmt wird, dass die übertragenen Listen von Kombinationen nicht gebilligt werden.
  • Mit dieser Konfiguration kann die Zentrumsvorrichtung 3 als eine Abnormität erfassen, dass eine Kombination der Konfigurationsinformationen des Fahrzeugs sich in einem Zustand befindet, in dem die ECUs 19 nicht miteinander kooperieren können und eine Fahrt des Fahrzeugs behindert wird, und dem fahrzeugseitigen System 4 die Abnormität mitteilen. Somit kann das fahrzeugseitige System 4 Maßnahmen wie beispielsweise das Verhindern einer Fahrt des Fahrzeugs ergreifen.
  • Die Zentrumsvorrichtung 3 führt den Aktualisierungsverfügbarkeitsüberprüfungsprozess (D7) für ein Fahrzeug nicht durch, für das eine Kombination der Fahrzeugkonfigurationsinformationen nicht gebilligt wird. Somit ist es möglich, die Ausführung einer Programmaktualisierung in einem nicht gebilligten Fahrzeug zu verhindern. Sogar wenn die nicht gebilligte ECU 19 keine Aktualisierungsziel-ECU eines neuen Programms ist, führt die Zentrumsvorrichtung 3 den Aktualisierungsverfügbarkeitsüberprüfungsprozess (D7) nicht aus. Wenn in dem fahrzeugseitigen System 4 eine Programmaktualisierung ausgeführt wird, wird außerdem eine Steuerung für die ECU 19, die kein Aktualisierungsziel ist, erzeugt. Daher besteht in einem Fahrzeug, das eine nicht gebilligte ECU 19 aufweist, die Wahrscheinlichkeit, dass die Programmaktualisierung nicht normal beendet wird, und somit verhindert die Zentrumsvorrichtung 3 die Ausführung der Programmaktualisierung in dem Fahrzeug.
  • Die Zentrumsvorrichtung 3 enthält die Kampagnen-DB 127, in der die Kampagnen-Informationen gespeichert sind, die verwendet werden, um dem Fahrzeug mitzuteilen, dass eine Aktualisierung unter Verwendung eines neuen Programms vorliegt, und überprüft für ein Fahrzeug, für das eine Billigung bestimmt wurde, die Verfügbarkeit der Kampagnen-Informationen des entsprechenden Fahrzeugs. Wenn die Aktualisierung verfügbar ist, werden die Kampagnen-Informationen an das fahrzeugseitige System 4 übertragen. Demzufolge können die Kampagnen-Informationen einem Nutzer präsentiert werden, und somit kann eine Aktualisierung eines Applikationsprogramms veranlasst werden. Eine Synchronisation der Konfigurationsinformationen, eine Bestimmung, ob die Konfigurationsinformationen gebilligt werden, und ein Prüfen einer Aktualisierungsverfügbarkeit werden als Folge von Prozessen durch die Zentrumsvorrichtung 3 mit einem Heraufladen der Konfigurationsinformationen von einem Fahrzeug als einem Auslöser ausgeführt, und somit ist es möglich, ein adäquates Fahrzeug prompt hinsichtlich einer Aktualisierung eines Programms zu informieren.
  • Die zweite Ausführungsform kann wie folgt modifiziert und implementiert werden. Die Zentrumsvorrichtung 3 kann die „Synchronisationsinitiierungsanfrage“ an das fahrzeugseitige System 4 übertragen, und das DCM 12 kann die „Konfigurationsinformationssammelanfrage“ an das CGW 13 übertragen, wenn die „Synchronisationsinitiierungsanfrage“ empfangen wird. Wenn beispielsweise die Konfigurationsinformations-DB 208 hinsichtlich „Fahrzeug-Typ = aaa“ aktualisiert wird, überträgt die Zentrumsvorrichtung 3 die „Synchronisationsinitiierungsanfrage“ an ein Fahrzeug dieses Fahrzeugtyps. Der Hash-Wert kann an die Zentrumsvorrichtung 3 zu einem Zeitpunkt übertragen werden, zu dem ein Neuschreiben der Aktualisierungsdaten in der Neuschreibziel-ECU 19 beendet ist. Das heißt, das Flussdiagramm mit den Schritten D1 bis D12, das in 255 dargestellt ist, wird sogar dann ausgeführt, wenn eine Aktualisierung von Programmen sämtlicher Neuschreibziel-ECUs 19 beendet ist. Die Zentrumsvorrichtung 3 fordert das fahrzeugseitige System 4 auf, eine Kombinationsliste aus den Konfigurationsinformationen der jeweiligen ECUs 19 zu übertragen, wenn ein Vergleichsergebnis beider Hash-Werte eine Übereinstimmung zeigt. Wenn die Kombinationsliste empfangen wird, können die Prozesse in den Schritten D6 bis D12 durchgeführt werden. Sogar wenn das Vergleichsergebnis beider Hash-Werte eine Übereinstimmung zeigt, kann die Zentrumsvorrichtung 3 Bezug auf die Kampagnen-DB 217 nehmen, um eine Verfügbarkeit der Kampagnen-Informationen eines entsprechenden Fahrzeugs zu prüfen.
  • Die Übertragung eines Hash-Wertes von dem fahrzeugseitigen System 4 an die Zentrumsvorrichtung 3 kann wie in 257 dargestellt durchgeführt werden. 257 ist ein Flussdiagramm, das einen Prozess in dem CGW 13 darstellt. Wenn beispielsweise der IG-Schalter 37 eingeschaltet wird, sammelt das CGW 13 Konfigurationsinformationen von jeder ECU 19 (D21) und erzeugt einen Hash-Wert für Datenwerte der gesammelten Konfigurationsinformationen (D22). Der erzeugte Hash-Wert wird mit einem Hash-Wert (zuvor erzeugter Wert), der in dem Flash-Speicher 24d gespeichert ist, verglichen, und somit wird bestimmt, ob es zwischen diesen eine Differenz gibt (D23). Wenn es eine Differenz gibt (Ja), wird der Hash-Wert, der zu dieser Zeit erzeugt wurde, in dem Flash-Speicher 24d gespeichert (D24), und der Hash-Wert wird an die Zentrumsvorrichtung 3 übertragen. Wenn es in Schritt D23 keine Differenz zwischen beiden Hash-Werten gibt, wird der Prozess beendet (Nein). Es wird angenommen, dass ein Hash-Wert für Anfangswerte der Konfigurationsinformationen im Voraus in dem Flash-Speicher 24d gespeichert wird. Als Ergebnis kann die Häufigkeit eines Heraufladens der Konfigurationsinformationen von dem fahrzeugseitigen System 4 an die Zentrumsvorrichtung 3 verringert werden.
  • (Dritte Ausführungsform)
  • Die dritte Ausführungsform betrifft eine Funktion, die von der Kampagnen-Verwaltungseinheit 3D der Zentrumsvorrichtung 3 ausgeführt wird, um eine Aktualisierungsrate eines Applikationsprogramms in dem fahrzeugseitigen System 4 zu verbessern. Wie es in 258 dargestellt ist, stellt ein Nutzer in dem fahrzeugseitigen System 4 beispielsweise ein HTTP-Polling-Intervall auf etwa drei Tage unter Verwendung einer Konfigurationsdatei (Config files) ein, und somit überprüft das fahrzeugseitige System 4 periodisch eine Aktualisierungsverfügbarkeit eines Applikationsprogramms in Bezug auf die Zentrumsvorrichtung 3. Wenn die Aktualisierung überprüft wird, nachdem die Kampagnen-Informationen einer VIN eines Fahrzeugs entsprechend der Kampagnen-DB 217 eingestellt wurde, teilt die Zentrumsvorrichtung 3 dem fahrzeugseitigen System 4 mit, dass „die Aktualisierung verfügbar ist“. Das heißt, der Prozess, in dem die Zentrumsvorrichtung 3 die Aktualisierung mit einem Heraufladen der Konfigurationsinformationen unter Verwendung von HTTP von dem fahrzeugseitigen System 4 als einem Auslöser überprüft, wird wie in der zweiten Ausführungsform beschrieben zu dem Zeitpunkt eines Einschaltens der IG ausgeführt, nachdem drei Tage verstrichen sind.
  • Auf die oben beschriebene Weise muss die Zentrumsvorrichtung 3 bei der Konfiguration, bei der eine Aktualisierungsverfügbarkeit mit einer Mitteilung von einem Fahrzeug als einem Auslöser überprüft wird, Kampagnen-Informationen von der Zentrumsvorrichtung 3 nicht an sämtliche Fahrzeuge übertragen, die Kampagnenziele zu einem Zeitpunkt sind, zu dem Kampagnen-Informationen eingestellt werden. In einem Fall jedoch, in dem ein Nutzer ein Fahrzeug eine lange Zeit nicht verwendet hat, hat der Nutzer eine Aktualisierungsverfügbarkeit unter Verwendung von HTTP während dieser Zeit nicht überprüft. Somit wird angenommen, dass der Nutzer nicht weiß, dass eine neue Kampagne ausgegeben wurde, und es kann ein Applikationsprogramm in dem Fahrzeug nicht aktualisiert werden.
  • Wie es in 259 dargestellt ist, überprüft daher die SMS-Übertragungssteuerungseinheit 212 der Zentrumsvorrichtung 3 einen Zugriffs-Log jedes Fahrzeugs durch Bezugnahme auf die Individual-Fahrzeuginformations-DB 213 zu regelmäßigen oder vorbestimmten Zeitpunkten (E1). Es wird bestimmt, ob es ein Fahrzeug gibt, das auf die Zentrumsvorrichtung 3 nicht zugegriffen hat, das heißt, ob es ein Fahrzeug gibt, das Konfigurationsinformationen zum Überprüfen einer Aktualisierung eines Applikationsprogramms eine vorbestimmte Zeitdauer lang nicht übertragen hat (E2). Die vorbestimmte Zeitdauer beträgt beispielsweise etwa sieben Tage, wobei der Tag, zu dem eine neue Kampagne in der Kampagnen-DB 217 eingestellt wird, als Starttag der Verfolgung dient. Das heißt, die SMS-Übertragungssteuerungseinheit 212 bestimmt ein Fahrzeug, in dem eine Aktualisierung sieben Tage lang nicht überprüft wurde, für Fahrzeuge, deren „Fahrzeug-SW-IDs“ in der Individual-Fahrzeuginformations-DB 213 den „Fahrzeug-SW-IDs vor Aktualisierung“ in der Kampagnen-DB 217 entsprechen. Die SMS-Übertragungssteuerungseinheit 212 kann eine Bestimmung eines Fahrzeugs, in dem eine Aktualisierung eine vorbestimmte Zeitdauer nicht überprüft wurde, für sämtliche Fahrzeuge durchführen.
  • In der Individual-Fahrzeuginformations-DB 213 werden Anfangsdaten durch den OEM registriert, wenn ein Fahrzeug in einem Werk hergestellt wird, und danach wird ein Anfangszugangs-Log aufgrund einer Mitteilung von dem OEM als Reaktion auf beispielsweise einen Verkauf des Fahrzeugs eingegeben. Dieser Zugangs-Log entspricht im Wesentlichen einer Mitteilung zum Validieren einer anschließenden Programmaktualisierung. Ein Fahrzeug, für das kein Zugangs-Log eingegeben wurde, wird aus der Bestimmung in Schritt E2 ausgeschlossen.
  • Wenn es ein Fahrzeug gibt, für das eine Aktualisierung während einer vorbestimmten Zeitdauer nicht überprüft wurde (Ja), bestimmt die SMS-Übertragungssteuerungseinheit 212 Charakteristika des Fahrzeugs auf der Grundlage des Fahrzeug-Typs in der Individual-Fahrzeuginformations-DB 213, Ausrüstungsinformationen und Ähnliches (E3). Hier bestimmt die SMS-Übertragungssteuerungseinheit 212 als Charakteristika, ob das Fahrzeug ein Elektrofahrzeug, d.h. ein EV ist, das eine Kurznachrichtendienstnachricht (SMS) empfangen kann, ein herkömmliches Fahrzeug mit Benzinmotor ist, das eine SMS empfangen kann, das heißt, ein herkömmliches Verbrennungsmotor-Fahrzeug (herkömmliches Fahrzeug), oder ein Fahrzeug ist, bei dem es schwierig ist, eine SMS zu empfangen. In einem Fall beispielsweise, in dem das DCM 12, das in dem Fahrzeug montiert ist, keine Funktion zum Empfangen einer SMS aufweist oder keinen Vertrag zum Empfangen einer SMS hat, wird bestimmt, dass es schwierig ist, bei dem Fahrzeug eine SMS zu empfangen.
  • In einem Fall eines EV wird eine SMS zum Initiieren einer Konfigurationsinformationsübertragungssequenz durch Starten der ECU 19 des Fahrzeugs übertragen (E5, siehe 260). Wenn das DCM 12 die SMS empfängt und einen Befehl, der in der SMS beschrieben ist, ausführt, wird in den IG-Ein-Stromversorgungszustand übergegangen, und das gestartete CGW 13 überträgt die Konfigurationsinformationen an die Zentrumsvorrichtung 3 über das DCM 12. Danach wird wie in den Schritten D1 bis D12, die in 255 dargestellt sind, eine Aktualisierung überprüft, und es wird ein Verteilungspaket oder Ähnliches heruntergeladen. Da in dem Fall des EV eine Kapazität der Batterie groß ist, wird angenommen, dass es ausreichend möglich ist, das Programm in dem IG-Ein-Stromversorgungszustand in dem Parkzustand herunterzuladen. Daher wird die ECU 19 unter Verwendung einer SMS gestartet, und es wird eine Sequenz nach einer Aktualisierungsprüfung und einem Download automatisch initiiert.
  • In einem Fall, in dem eine Restbatterieladung der Batterie des EV-Fahrzeugs klein ist, nimmt das fahrzeugseitige System 4 Bezug auf die in 250 dargestellten Neuschreibspezifikationsdaten, und in einem Fall, in dem eine Restbatterieladung kleiner als eine bezeichnete Menge ist, wird eine Installation nicht initiiert. Alternativ wird das fahrzeugseitige System 4 in einem Fall, in dem eine Restbatterieladung, die als Beschränkung in der Kampagnen-Datei beschrieben ist, die durch die Zentrumsvorrichtung 3 in Schritt D9 übertragen wird, und auf die Bezug genommen wird, kleiner als eine bezeichnete Restbatterieladung ist, derart gesteuert, dass ein Download des Verteilungspakets nicht initiiert wird.
  • Bei dem herkömmlichen Fahrzeug überträgt die SMS-Übertragungssteuerungseinheit 212 eine SMS, die auf der fahrzeugeigenen Anzeige 7 anzeigbar ist, an ein Fahrzeug, das zum Empfangen der SMS bereit ist, in einer Periode, in der das DCM 12 intermittierend gestartet wird (E4; siehe 260). Das CGW 13 befiehlt beispielsweise der fahrzeugeigenen Anzeige 7, Textaussagen, die in der empfangenen SMS beschrieben sind, beim nächsten Einschalten der IG anzuzeigen. In einem Fall, in dem Informationen des mobilen Endgerätes 6 des Nutzers in der Individual-Fahrzeuginformations-DB 213 registriert sind, kann die SMS an das mobile Endgerät 6 übertragen werden. Es wird beispielsweise eine Textnachricht wie „Es gibt Kampagnen-Informationen; Zündung einschalten“ angezeigt. Die Individual-Fahrzeuginformations-DB 213 ist ein Beispiel einer Nutzerinformationsspeichereinheit. Andererseits wird ein Fahrzeug in einem Zustand, in dem eine SMS schwierig zu empfangen ist, nichts unterzogen, und es wird beispielsweise stattdessen separat ein Brief an einen Nutzer gesendet (E6).
  • Wie es oben beschrieben wurde, überträgt das fahrzeugseitige System 4 gemäß der dritten Ausführungsform die Konfigurationsinformationen von mehreren ECUs 19 an die Zentrumsvorrichtung 3, und die Individual-Fahrzeuginformations-DB 213 speichert die Konfigurationsinformationen, die von den jeweiligen Fahrzeugen übertragen werden, zusammen mit deren Übertragungsdatum. Die Kampagnen-DB 217 speichert als Kampagnen-Informationen eine Ziel-VIN-Liste zum Identifizieren einer Kampagnen-ID und eines Datenaktualisierungszielfahrzeugs. Die Zentrumsvorrichtung 3 nimmt Bezug auf die Individual-Fahrzeugkonfigurations-DB 213, und wenn es innerhalb einer vorbestimmten Zeitdauer ab dem Übertragungsdatum, das mit einem Zielfahrzeug verbunden ist, keine Übertragung der Konfigurationsinformationen gegeben hat, überträgt sie eine Nachricht zum Veranlassen einer Datenaktualisierung an das fahrzeugseitige System 4 des Zielfahrzeugs unter Verwendung einer SMS.
  • Bei dieser Konfiguration überträgt die Zentrumsvorrichtung 3 in einem Fall, in dem eine Situation andauert, in der die Konfigurationsinformationen nicht an die Zentrumsvorrichtung 3 übertragen werden, da ein Nutzer keine Gelegenheit hatte, das Fahrzeug zu fahren, eine Nachricht zum Veranlassen einer Datenaktualisierung an das fahrzeugseitige System 4 des Zielfahrzeugs, wenn eine vorbestimmte Zeitdauer seit dem Übertragungsdatum, das in der Individual-Fahrzeuginformations-DB 213 gespeichert ist, verstrichen ist. Daher kann der Nutzer durch Bezugnahme auf die Nachricht erkennen, dass eine Datenaktualisierung notwendig ist.
  • Die Zentrumsvorrichtung 3 nimmt Bezug auf die Individual-Fahrzeuginformations-DB 213 und die Kampagnen-DB 217, um ein Programmaktualisierungszielfahrzeug zu bestimmen. Das heißt, die Individual-Fahrzeuginformations-DB 213 speichert das Datum, an dem die Konfigurationsinformationen von einem jeweiligen Fahrzeug übertragen werden, und die Kampagnen-DB 217 speichert eine Ziel-VIN-Liste. Daher kann die Zentrumsvorrichtung 3 ein Programmaktualisierungszielfahrzeug auf der Grundlage des Übertragungsdatums der Konfigurationsinformationen von jedem Fahrzeug und der Ziel-VIN-Liste bestimmen.
  • Wenn die Konfigurationsinformationen von jeder ECU 19 mit einem Einschalten des Zündschalters 37 als einem Auslöser empfangen werden, überträgt das fahrzeugseitige System 4 die Konfigurationsinformationen an die Zentrumsvorrichtung 3. Wenn der Nutzer das Fahrzeug fährt, können daher die Konfigurationsinformationen zuverlässig an die Zentrumsvorrichtung 3 übertragen werden.
  • Wenn das Zielfahrzeug ein Elektrofahrzeug ist, überträgt die Zentrumsvorrichtung 3 eine Nachricht, die einen Befehl zum Starten einer ECU des Zielfahrzeugs enthält, und das fahrzeugseitige System 4, das die Nachricht empfangen hat, startet die ECU 19, um einen Prozess betreffend eine Datenaktualisierung auszuführen. Das heißt, da das Elektrofahrzeug eine relativ große Batteriekapazität aufweist, kann die ECU 19 Prozesse betreffend eine Datenaktualisierung ausführen, ohne auf einen Nutzerbetrieb zu warten. Daher ist es möglich, die Datenaktualisierung effizient auszuführen.
  • Wenn das Zielfahrzeug ein herkömmliches Fahrzeug ist, überträgt die Zentrumsvorrichtung 3 mindestens Textinformationen, die auf der fahrzeugeigenen Anzeige 7 des Zielfahrzeugs angezeigt werden können, als eine Nachricht. Daher kann ein Nutzer des herkömmlichen Fahrzeugs durch Bezugnahme auf die Textinformationen, die auf der fahrzeugeigenen Anzeige 7 angezeigt werden, erkennen, dass eine Datenaktualisierung notwendig ist.
  • Wenn ein Übertragungsziel des mobilen Endgerätes 6 des Nutzers in der Individual-Fahrzeuginformations-DB 213 gespeichert ist, überträgt die Zentrumsvorrichtung 3 Textinformationen, die auf dem mobilen Endgerät 6 angezeigt werden können, als eine Nachricht. Als Ergebnis kann der Nutzer durch Bezugnahme auf die Textinformationen, die auf dem mobilen Endgerät 6 angezeigt werden, auch dann, wenn es keine Gelegenheit zum Fahren des Fahrzeugs gibt, erkennen, dass eine Datenaktualisierung notwendig ist.
  • Wenn der Nutzer das Übertragungsdatum und ein Übertragungsziel einer Kampagne im Voraus über das mobile Endgerät 6 an die Zentrumsvorrichtung 3 überträgt, speichert die Zentrumsvorrichtung 3 das Übertragungsdatum und das Übertragungsziel in der Individual-Fahrzeuginformations-DB 213. Der Nutzer bezeichnet beispielsweise einen Tag, nachdem die Kampagne ausgegeben wurde, als das Übertragungsdatum und bezeichnet das mobile Endgerät 6 als ein Übertragungsziel anstatt der fahrzeugeigenen Anzeige 7. Der Nutzer bezeichnet eine vorbestimmte Zeit, zu der der Nutzer nicht fährt, als Übertragungsdatum, bezeichnet das Fahrzeug als Übertragungsziel und führt einen Betrieb zum Zustimmen, dass ein Programm automatisch aktualisiert wird, durch. Demzufolge überträgt die Zentrumsvorrichtung 3 an dem Übertragungsdatum die Kampagnen-Informationen an das Übertragungsziel unabhängig davon, ob die Konfigurationsinformationen übertragen wurden. Wenn der Nutzer im Voraus weiß, dass es eine Zeitlang keine Gelegenheit zum Fahren des Fahrzeugs gibt, können daher die Kampagnen-Informationen derart eingestellt werden, dass sie an dem Übertragungsdatum, das von dem Nutzer eingestellt wird, empfangen werden.
  • Die dritte Ausführungsform kann wie folgt modifiziert und implementiert werden. Die Nutzerinformationsspeichereinheit kann separat von der Individual-Fahrzeuginformations-DB 213 bereitgestellt werden. Die Kampagnen-Informationen können unter Verwendung anderer Mittel als SMS übertragen werden. Anstelle eines Speicherns des Übertragungsdatums in der Individual-Fahrzeuginformations-DB 213 kann die Zentrumsvorrichtung 3 beispielsweise einen Tag, an dem keine Daten von dem Fahrzeug übertragen werden bzw. wurden, speichern und kann eine Nachricht zum Veranlassen einer Datenaktualisierung übertragen, wenn sich der Tag auf sieben aufeinanderfolgende Tage verlängert.
  • (Vierte Ausführungsform)
  • Die vierte Ausführungsform betrifft einen Fall, in dem ein Nutzer Kampagnen-Informationen und ein Nachrichtenmitteilungsverfahren bezeichnet. Es wird beispielsweise ein Fall angenommen, in dem der Nutzer etwa einen Monat lang nicht fährt, und dass im Voraus bestimmt wird, dass es keine Gelegenheit zum Einschalten des IG-Schalters 37 geben wird. Wie es in 261 dargestellt ist, überträgt der Nutzer Einstellungen eines Mitteilungsziels und des Mitteilungsdatums und der Mitteilungszeit zu dem Zeitpunkt eines Auftretens einer Kampagne an die Zentrumsvorrichtung 3 unter Verwendung des mobilen Endgerätes 6. Es wird beispielsweise eine Einstellung derart durchgeführt, dass dem mobilen Endgerät 6 Kampagnen-Informationen einen Monat später mitgeteilt werden. Demzufolge speichert die Individual-Fahrzeuginformationsverwaltungseinheit 3C Informationen, die das Mitteilungsziel und das Mitteilungsdatum und die Mitteilungszeit angeben, in der Individual-Fahrzeuginformations-DB 213 und teilt dem Nutzer die Informationen entsprechend den Einstellungen mit. Wenn beispielsweise zwei Kampagnen (1, 2) während eines Monats festgelegt werden, teilt die SMS-Übertragungssteuerungseinheit 212 dem mobilen Endgerät 6 des Nutzers Informationen betreffend die Kampagnen (1, 2) einen Monat später mit, um eine Programmaktualisierung zu veran lassen.
  • Wie es oben beschrieben wurde, speichert die Zentrumsvorrichtung 3 gemäß der vierten Ausführungsform das Übertragungsdatum und das Übertragungsziel in der Individual-Fahrzeuginformations-DB 213, wenn der Nutzer das Übertragungsdatum und das Übertragungsziel der Kampagnen-Informationen an die Zentrumsvorrichtung 3 über das mobile Endgerät 6 überträgt. Die Zentrumsvorrichtung 3 überträgt die Kampagnen-Informationen an dem gespeicherten Übertragungsdatum an das Übertragungsziel. Demzufolge ist es möglich, eine Übertragung unnötiger Kampagnen-Informationen von der Zentrumsvorrichtung 3 zu stoppen, wenn bestimmt wird, dass der Nutzer eine bestimmte Zeit lang das Fahrzeug nicht fahren wird.
  • (Fünfte Ausführungsform)
  • Die fünfte Ausführungsform betrifft eine Funktion zum Hinzufügen von Verifizierungsdaten, die für das fahrzeugseitige System 4 verwendet werden, um die Integrität von Daten zu verifizieren, wenn die Zentrumsvorrichtung 3 Daten eines Applikationsprogramms an das fahrzeugseitige System 4 überträgt. Wie es in den 262 und 263 dargestellt ist, erzeugt ein Lieferant Daten, die in der ECU-Neuprogrammierungsdaten-DB 204 zu registrieren sind, unter Verwendung der Paketverwaltungseinheit 3A. Insbesondere erzeugt die Paketverwaltungseinheit 3A neue Differenzdaten zum Neuschreiben eines alten Programms in ein neues Programm als Aktualisierungsdaten (Y1) und erzeugt einen Hash-Wert, der Integritätsverifizierungsdaten für das neue Programm der ECU 19 bildet, und einen Hash-Wert für die neuen Differenzdaten (Y2). In einem Fall, in dem die ECU einen Einzelbankspeicher aufweist, können alte Differenzdaten zum Neuschreiben des neuen Programms in das alte Programm als Rollback-Daten erzeugt werden, und es können ein Hash-Wert für das alte Programm für die ECU 19 und ein Hash-Wert für die alten Differenzdaten erzeugt werden.
  • Die Paketverwaltungseinheit 3A erzeugt einen Authentifizierer durch Anwenden einer Verschlüsselung unter Verwendung eines Schlüsselwertes, der ein vorbestimmter Schlüssel für einen jeweiligen Hash-Wert ist (Y3). Die Paketverwaltungseinheit 3A überträgt die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit jedem Authentifizierer und speichert die übertragenen Daten in der ECU-Neuprogrammierungsdaten-DB 204 (Y4). Wie es oben beschrieben wurde, erzeugt die Paketverwaltungseinheit 3A ein Paket, erzeugt Integritätsverifizierungsdaten für das Paket und überträgt die Integritätsverifizierungsdaten an das fahrzeugseitige System 4 (Y5).
  • Die Master-Vorrichtung (OTA-Master) 11 berechnet die Integritätsverifizierungsdaten für das Paket, vergleicht den berechneten Wert mit den Integritätsverifizierungsdaten des empfangenen Pakets und verifiziert die Integrität des Pakets (Y6). Wenn die Paketintegritätsverifizierung erfolgreich ist, überträgt die Master-Vorrichtung die Aktualisierungsdaten und die Integritätsverifizierungsdaten der ECU an die Neuschreibziel-ECU 19 (Ziel-ECU) (Y7).
  • Die Neuschreibziel-ECU 19 berechnet die Integritätsverifizierungsdaten für die Aktualisierungsdaten, vergleicht den berechneten Wert mit den Integritätsverifizierungsdaten der empfangenen Aktualisierungsdaten und verifiziert die Integrität der Aktualisierungsdaten (Y8). Wenn die Aktualisierungsdatenintegritätsverifizierung erfolgreich ist, stellt die Neuschreibziel-ECU 19 die Differenzdaten, die die Aktualisierungsdaten sind, wieder her und schreibt die Daten in den Flash-Speicher 28d (Y9). Wenn das Schreiben beendet ist, berechnet die Neuschreibziel-ECU 19 die Integritätsverifizierungsdaten für die Daten, die in den Flash-Speicher 28d geschrieben wurden, vergleicht den berechneten Wert mit den Integritätsverifizierungsdaten des empfangenen neuen Programms und verifiziert die Integrität des Flash-Speichers 28d (Y10). Die Neuschreibziel-ECU 19 überträgt das Verifizierungsergebnis an die Master-Vorrichtung 11 (Y11), und die Master-Vorrichtung 11 überträgt das empfangene Verifizierungsergebnis an die Zentrumsvorrichtung 3 als eine Installationsergebnismitteilung (Y12).
  • Wie es beispielsweise in 243 dargestellt ist, erzeugt die Paketverwaltungseinheit 3A die folgenden Integritätsverifizierungsdaten für die letzte „ECU-SW-ID“. In einem Fall, in dem eine Speicherkonfiguration der ECU die Doppelbankspeicherkonfiguration oder die Suspendierungskonfiguration ist, können die folgenden Punkte (3) und (4) weggelassen werden.
    • (1) Ein Hash-Wert, der Integritätsverifizierungsdaten für ein neues Programm der ECU bildet, wird erzeugt. Ein Funktionsteil zum Durchführen dieses Prozesses ist ein Beispiel einer ersten Verifizierungswerterzeugungseinheit (Schritt A1).
    • (2) Aktualisierungsdaten, die Differenzdaten für eine Aktualisierung in ein neues Programm auf der Grundlage eines alten Programms der ECU sind, und ein Hash-Wert, der Integritätsverifizierungsdaten der Aktualisierungsdaten bildet, werden erzeugt. Der Funktionsteil zum Durchführen dieses Prozesses ist ein Beispiel einer zweiten Verifizierungswerterzeugungseinheit in Schritt A4.
    • (3) Ein Hash-Wert, der die Integritätsverifizierungsdaten für das alte Programm der ECU bildet, wird erzeugt. Ein Funktionsteil zum Durchführen dieses Prozesses ist ein Beispiel einer vierten Verifizierungswerterzeugungseinheit in Schritt A5.
    • (4) Aktualisierungsdaten, die Differenzdaten zum Aktualisieren in das alte Programm auf der Grundlage des neuen Programms der ECU sind, und ein Hash-Wert, der Integritätsverifizierungsdaten der Aktualisierungsdaten bildet, werden erzeugt. Ein Funktionsteil zum Durchführen dieses Prozesses ist ein Beispiel einer fünften Verifizierungswerterzeugungseinheit in Schritt A7.
  • Das „Programm“ enthält Konstanten-Daten, die in dem Programm zu verwenden sind. Wenn „ECU-SW-ID = ads_002“, wird ein Hash-Wert x1 für Aktualisierungsdaten „Adsfile001-002“ erzeugt. Als eine Hash-Funktion wird beispielsweise SHA-256 wie oben beschrieben verwendet. Der Hash-Wert entspricht einem Verifizierungswert. Hier kann die Paketverwaltungseinheit 3a ausgelegt sein, Integritätsverifizierungsdaten mit einem Authentifizierer durch Erzeugen eines Authentifizierers durch Anwenden einer Verschlüsselung unter Verwendung eines Schlüsselwertes, der ein vorbestimmter Schlüssel ist, auf den Hash-Wert zu erzeugen.
  • Anschließend erzeugt der Lieferant Integritätsverifizierungsdaten mit einem Authentifizierer durch Anwenden einer Verschlüsselung unter Verwendung eines Schlüsselwertes, der ein vorbestimmter Schlüssel ist, auf die Integritätsverifizierungsdaten und stellt dem OEM die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit dem Authentifizierer in Korrelation zueinander bereit. Mit anderen Worten, die Paketverwaltungseinheit 3a stellt dem OEM jedes Programm und Integritätsverifizierungsdaten mit einem Authentifizierer für das Programm, die in der ECU-Neuprogrammierungsdaten-DB 204 registriert sind, bereit. Als Antwort auf einen Befehl von dem OEM erzeugt die Paketverwaltungseinheit 3a Neuschreibspezifikationsdaten wie oben beschrieben unter Verwendung der ECU-Neuprogrammierungsdaten-DB 204 oder Ähnlichem, erzeugt ein Verteilungspaket und registriert dieses in der Paket-DB 206. Wenn eine Download-Anfrage für Aktualisierungsdaten von dem fahrzeugseitigen System 4 erzeugt wird, verteilt die Zentrumsvorrichtung 3 ein Verteilungspaket, das die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit dem Authentifizierer enthält, an das fahrzeugseitige System 4 als Antwort auf die Download-Anfrage. Die „Integritätsverifizierungsdaten“ in den Ansprüchen enthalten einen Hash-Wert alleine als auch Integritätsverifizierungsdaten mit einem Authentifizierer einschließlich einer Verschlüsselung unter Verwendung eines Schlüssels.
  • Wenn das Verteilungspaket empfangen wird, verifiziert die Master-Vorrichtung 11 des fahrzeugseitigen Systems 4 die Gültigkeit des Verteilungspaketes unter Verwendung der Integritätsverifizierungsdaten (dritter Verifizierungswert), die zu dem Verteilungspaket hinzugefügt sind. Insbesondere werden die Integritätsverifizierungsdaten, die unter Verwendung des Verteilungspakets berechnet werden, mit den empfangenen Integritätsverifizierungsdaten verglichen, und wenn die Datenteile übereinstimmen, wird eine Normalität bestimmt. Wenn das Ergebnis der Verifizierung zeigt, dass das Verteilungspaket normal ist, entpackt die Master-Vorrichtung 11 das Verteilungspaket in Daten für jede ECU (siehe 239). Die Master-Vorrichtung 11 überträgt die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit dem Authentifizierer an die Ziel-ECU 19.
  • Die ECU 19 verifiziert die Gültigkeit der Aktualisierungsdaten unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifizierer (zweiter Verifizierungswert). Insbesondere werden die Integritätsverifizierungsdaten, die unter Verwendung der empfangenen Aktualisierungsdaten berechnet werden, mit den empfangenen Integritätsverifizierungsdaten verglichen, und wenn die Daten übereinstimmen, wird eine Normalität bestimmt. Wenn eine Normalität das Ergebnis der Verifizierung ist, führt die CPU 28a der ECU 19 einen Schreibprozess in dem Flash-Speicher 28d durch. Wenn der Schreibprozess beendet ist, verwendet die ECU 19 die Integritätsverifizierungsdaten mit dem Authentifizierer (erster Verifizierungswert), um die Daten, die in den Flash-Speicher 28d geschrieben wurden, zu lesen und deren Gültigkeit zu verifizieren. Insbesondere werden die Integritätsverifizierungsdaten, die unter Verwendung der gelesenen Daten berechnet werden, mit den empfangenen Integritätsverifizierungsdaten verglichen, und wenn die Datenteile übereinstimmen, wird eine Normalität bestimmt. Die Integritätsverifizierungsdaten werden in einem vorbestimmten Bereich des Flash-Speichers 28b zur Verwendung, wenn die ECU 19 gestartet wird, gespeichert. Wenn diese Prozesse beendet sind, überträgt die ECU 19 eine Schreibantwort an die Master-Vorrichtung 11 einschließlich der Verifizierungsergebnisse. Die Master-Vorrichtung 11 teilt der Zentrumsvorrichtung 3 das Installationsergebnis mit. Die „Ziel-ECU“ in der Figur ist gleichbedeutend mit einer „Ziel-ECU“, und der „OTA-Master“ ist gleichbedeutend mit einem „DCM“. Die CPU 28a ist ein Beispiel einer Schreibverarbeitungseinheit.
  • In einem Fall, in dem ein Programmaktualisierungsabbruch während einer Installation auftritt, führt die ECU 19 einen Rollback-Prozess durch. Die ECU 19 schreibt die Aktualisierungsdaten und verifiziert die Gültigkeit der Rollback-Differenzdaten unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifizierer (fünfter Verifizierungswert). Insbesondere werden die Integritätsverifizierungsdaten, die unter Verwendung der Rollback-Differenzdaten berechnet werden, mit den empfangenen Integritätsverifizierungsdaten verglichen, und wenn die Daten übereinstimmen, wird eine Normalität bestimmt. Wenn das Ergebnis der Verifizierung eine Normalität ist, initiiert die ECU 19 ein Schreiben unter Verwendung der Rollback-Differenzdaten, nachdem das Schreiben der Aktualisierungsdaten beendet ist. Nachdem das Schreiben beendet ist, liest die ECU 19 die Daten, die in dem Flash-Speicher 28d unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifizierer (vierter Verifizierungswert) geschrieben wurden, aus und verifiziert deren Gültigkeit. Die Integritätsverifizierung der empfangenen Differenzdaten (der Aktualisierungsdaten oder der Rollback-Differenzdaten) kann von der Master-Vorrichtung 11 anstelle der ECU 19 durchgeführt werden.
  • Wie es in 264 dargestellt ist, führt die ECU 19 eine Datenverifizierung zu der Zeit eines Starts mit einem Einschalten als Auslöser durch, wenn der IG-Schalter 37 des Fahrzeugs eingeschaltet wird. Die ECU 19 verifiziert die Integrität eines gestarteten Programms oder Ähnliches, das gestartet wird, unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifizierer (der erste Verifizierungswert oder der vierte Verifizierungswert). Zunächst wird in dem Flash-Speicher 28d eine Hash-Funktion auf Datenwerte eines Auswertungszielbereiches angewendet, in den ein aktualisiertes Programm oder Konstanten-Daten geschrieben wurden, und somit wird ein Hash-Wert beschafft. Anschließend werden die Integritätsverifizierungsdaten mit dem Authentifizierer entschlüsselt, und es wird ein Hash-Wert (erwarteter Wert), der in dem Entschlüsselungsergebnis enthalten ist, mit dem beschafften Hash-Wert (berechneter Wert) verglichen, und es wird bestimmt, ob das Programm oder Ähnliches, das in den Flash-Speicher 28d geschrieben wurde, gefälscht wurde. Wenn beide Hash-Werte übereinstimmen und somit „OK“ bestimmt wird, führt die ECU 19 einen Startprozess wie gewöhnlich durch. Derselbe Prozess wird für jede ECU 19 durchgeführt, und wenn die Ergebnisse in sämtlichen Auswertungsziel-ECUs 19, die ausgewertet werden, „OK“ sind, wird der Prozess beendet.
  • Wenn andererseits ein Ergebnis einer Verifizierung für irgendeine ECU abnorm ist, das heißt „NG“, speichert die ECU 19 ein Log bzw. Protokoll des Prozesses und teilt der Master-Vorrichtung 11 den Fehler mit. Die Master-Vorrichtung 11 speichert auf ähnliche Weise das Log und teilt der Zentrumsvorrichtung 3 den Fehler mit. Die Zentrumsvorrichtung 3 speichert auf ähnliche Weise das Log und teilt der Verwaltungsvorrichtung 220 des OEM oder Ähnlichem einen Fehler mit. Die Mitteilung, die an die Verwaltungsvorrichtung 220 gesendet wird, wird beispielsweise durch die SMS-Übertragungssteuerungseinheit 212 unter Verwendung einer SMS oder über eine Übertragung einer E-Mail über eine Internetverbindung durchgeführt.
  • In der oben beschriebenen Ausführungsform ist das fahrzeugseitige System 4 ausgelegt, die Integrität zu verifizieren. Anhand von 265 wird ein Fall beschrieben, bei dem eine Verifizierung der Integrität (Vergleich mit einem erwarteten Wert) von der Zentrumsvorrichtung 3 durchgeführt wird. Wenn gemäß 265 beispielsweise Versionsinformationen eines aktualisierten Applikationsprogramms an die Master-Vorrichtung 11 zu einem Zeitpunkt eines Einschaltens einer IG oder Ähnlichem übertragen werden, erzeugt die ECU 19 Integritätsverifizierungsdaten mit einem Authentifizierer auf dieselbe Weise wie oben beschrieben und überträgt diese zusammen mit den Versionsinformationen (X1). Die ECU 19 berechnet Integritätsverifizierungsdaten für die Daten in dem Flash-Speicher 28d und überträgt den berechneten Wert an die Master-Vorrichtung 11. Die Master-Vorrichtung 11 überträgt Konfigurationsinformationen, die die Integritätsverifizierungsdaten mit dem Authentifizierer enthalten, an die Zentrumsvorrichtung 3 (X2).
  • Die Zentrumsvorrichtung 3 greift auf die ECU-Neuprogrammierungsdaten-DB 204 zu, beschafft Integritätsverifizierungsdaten mit einem Authentifizierer, die zu der „ECU-SW-ID“ der Ziel-ECU 19 passen (X3 und X4), und verifiziert die beschafften Daten mit den Integritätsverifizierungsdaten, die von dem Fahrzeug heraufgeladen werden (X5). Insbesondere werden Integritätsverifizierungsdaten des neuen Programms entsprechend der „ECU-SW-ID“ von der ECU-Neuprogrammierungsdaten-DB beschafft und mit den heraufgeladenen Integritätsverifizierungsdaten verglichen. Wenn das Ergebnis des Vergleiches inkonsistent ist, das heißt NG (X6: NG), wird der Verwaltungsvorrichtung 220 des OEM eine Abnormität mitgeteilt (X7). Eine Funktion dieser Verarbeitungseinheit entspricht einer Abnormitätsmitteilungseinheit.
  • Die Zentrumsvorrichtung 3 überträgt das Vergleichsergebnis an die Master-Vorrichtung 11 (X8), und die Master-Vorrichtung 11 überträgt das empfangene Vergleichsergebnis an die Neuschreibziel-ECU 19 (X9). In einem Fall, in dem das Vergleichsergebnis OK ist, betreibt die Neuschreibziel-ECU 19 ein Applikationsprogramm wie gewöhnlich. In einem Fall, in dem das Vergleichsergebnis NG ist, wird das Applikationsprogramm nicht betrieben. In der vorliegenden Ausführungsform kann die Paketverwaltungseinheit 3a den Integritätsverifizierungsdatenerzeugungsschritt (A1) eines neuen Programms und den Integritätsverifizierungsdatenerzeugungsschritt (A5) eines alten ECU-Programms weglassen.
  • In der obigen Beschreibung verifiziert die ECU 19 die Integrität von Aktualisierungsdaten zu einem Zeitpunkt, zu dem der IG-Schalter 37 des Fahrzeugs eingeschaltet wird, nachdem die Aktualisierungsdaten geschrieben wurden, aber stattdessen kann die Integrität der Aktualisierungsdaten verifiziert werden, unmittelbar nachdem die Aktualisierungsdaten geschrieben wurden.
  • In der obigen Ausführungsform werden die Integritätsverifizierungsdaten mit einem Authentifizierer nur Aktualisierungsdaten hinzugefügt, aber es kann auch Folgendes durchgeführt werden. Ein neues Programm und entsprechende Aktualisierungsdaten werden von der ECU-Neuprogrammierungsdaten-DB 204 beschafft (Datenbeschaffungsprozedur; Schritt A1). Die erste Verifizierungswerterzeugungseinheit erzeugt einen ersten Hash-Wert für das neue Programm (erste Verifizierungswerterzeugungsprozedur; Schritt A2). Die zweite Verifizierungswerterzeugungseinheit erzeugt einen zweiten Hash-Wert für die Aktualisierungsdaten (zweite Verifizierungswerterzeugungsprozedur; Schritt A4). Die Paketerzeugungseinheit 202 bewirkt, dass die Aktualisierungsdaten, Spezifikationsdaten und erste und zweite Hash-Werte in einem Verteilungspaket enthalten sind (Verteilungspaketerzeugungsprozedur). Die Aktualisierungsdaten entsprechen neuen Differenzdaten. Die dritte Verifizierungswerterzeugungseinheit erzeugt einen dritten Hash-Wert für das Verteilungspaket (dritte Verifizierungswerterzeugungsprozedur; Schritt C4). Die Paketverwaltungseinheit 203 überträgt das Verteilungspaket und den dritten Hash-Wert an das fahrzeugseitige System 4. Ein Authentifizierer kann nur dem Verteilungspaket und dem dritten Hash-Wert hinzugefügt werden, oder kann in jeder Stufe eines Erzeugens eines jeweiligen Hash-Wertes hinzugefügt werden. Die Paketverwaltungseinheit 203 entspricht einer Übertragungseinheit.
  • In diesem Fall erfolgt in dem fahrzeugseitigen System 4 Folgendes: Das DCM 12, das eine Empfangsverarbeitungseinheit ist, empfängt die Verteilungspakete und den dritten Hash-Wert. Die dritte Verifizierungsverarbeitungseinheit vergleicht einen Hash-Wert, der aus den Verteilungspaketdaten erzeugt wird, mit dem empfangenen dritten Hash-Wert und verifiziert die Integrität der Verteilungspaketdaten. Die zweite Verifizierungsverarbeitungseinheit vergleicht einen Hash-Wert, der aus den Aktualisierungsdaten erzeugt wird, mit dem empfangenen zweiten Hash-Wert und verifiziert die Integrität der Aktualisierungsdaten. Die CPU 28a, die ein Beispiel einer Schreibverarbeitungseinheit ist, schreibt die Aktualisierungsdaten in den Flash-Speicher 28d. Die erste Verifizierungsverarbeitungseinheit schreibt die Aktualisierungsdaten zum Erzeugen eines Hash-Wertes für Datenwerte in den Flash-Speicher 28d, die als ein neues Programm dienen, und vergleicht den Hash-Wert mit dem empfangenen ersten Hash-Wert, um die Integrität des neuen Programms zu verifizieren. Wenn ein Verifizierungsergebnis der Aktualisierungsdaten NG ist, wird ein Schreiben in den Flash-Speicher 28d gestoppt. Wenn ein Verifizierungsergebnis des neuen Programms, das in den Flash-Speicher 28d geschrieben wird, NG ist, wird das neue Programm ungültig gemacht, und es wird nach Bedarf ein Rollback-Prozess durchgeführt. Die ersten bis dritten Verifizierungsverarbeitungseinheiten können durch die CPU 28a realisiert werden. Wenn irgendeines der Verifizierungsergebnisse in den ersten bis dritten Verifizierungsverarbeitungseinheiten NG ist, teilt das DCM 12 als eine Übertragungsverarbeitungseinheit der Zentrumsvorrichtung 3 eine Abnormität mit.
  • Zusätzlich zu der obigen Konfiguration, die in 243 dargestellt ist, kann der folgende Prozess wie folgt durchgeführt werden, wenn Rollback-Daten zum Zurückkehren zu einem Zustand des alten Programms, bevor die Aktualisierungsdaten geschrieben wurden, vorhanden sind. Die vierte Verifizierungswerterzeugungseinheit erzeugt einen vierten Hash-Wert für das alte Programm (vierte Verifizierungswerterzeugungsprozedur; Schritt A5). Die fünfte Verifizierungswerterzeugungseinheit erzeugt einen fünften Hash-Wert für die Rollback-Daten zum Zurückkehren bzw. Zurückgehen des neuen Programms zu dem alten Programm (fünfte Verifizierungswerterzeugungsprozedur; Schritt A7). Die Rollback-Daten geben Rollback-Differenzdaten an und entsprechen alten Differenzdaten. Die Paketerzeugungseinheit 202 bewirkt, dass die Aktualisierungsdaten, die Rollback-Differenzdaten, die Neuschreibspezifikationsdaten und die ersten, zweiten, dritten und vierten Hash-Werte in einem Verteilungspaket enthalten sind (Verteilungspaketerzeugungsprozedur).
  • In diesem Fall wird in dem fahrzeugseitigen System 4, während die Aktualisierungsdaten in den Flash-Speicher 28d neu geschrieben werden, das Neuschreiben abgebrochen, und es wird das alte Programm wiederhergestellt, das heißt, es wird ein Rollback durchgeführt, wenn der Nutzer beispielsweise einen Befehl zum Stoppen des Neuschreibens ausgibt. Dieses entspricht nur einem Fall, in dem eine Speicherkonfiguration der ECU 19 eine Einzelbankspeicherkonfiguration ist. Die zweite Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für die Rollback-Daten, die in dem Verteilungspaket enthalten sind, vergleicht den berechneten Hash-Wert mit dem fünften Hash-Wert und verifiziert die Integrität der Rollback-Daten. Die CPU 28a führt ein Schreiben in den Flash-Speicher 28d unter Verwendung der Rollback-Daten durch. Die erste Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für das alte Programm, das durch Schreiben in den Flash-Speicher 28d wiederhergestellt wird, vergleicht den berechneten Hash-Wert mit dem vierten Hash-Wert und verifiziert die Integrität des alten Programms.
  • Wie es oben beschrieben wurde, speichert die ECU-Neuprogrammierungsdaten-DB 204 gemäß der fünften Ausführungsform ein neues Programm der Ziel-ECU 19, die ein Neuschreibziel ist, ein altes Programm und Aktualisierungsdaten, die neue Differenzdaten zur Aktualisierung von dem alten Programm in das neue Programm sind. Die erste Verifizierungswerterzeugungseinheit erzeugt einen ersten Hash-Wert unter Verwendung des neuen Programms, und die zweite Verifizierungswerterzeugungseinheit erzeugt einen zweiten Hash-Wert unter Verwendung der Aktualisierungsdaten. Die Paketerzeugungseinheit 202 erzeugt ein Paket, das die Aktualisierungsdaten, die ersten und zweiten Verifizierungswerte und die Spezifikationsdaten enthält, für mehrere Ziel-ECUs 19. Die dritte Verifizierungswerterzeugungseinheit erzeugt einen dritten Hash-Wert unter Verwendung des Verteilungspakets, und die Paketverteilungseinheit 203 überträgt das Verteilungspaket zusammen mit dem dritten Hash-Wert an das fahrzeugseitige System 4.
  • Wenn das fahrzeugseitige System 4 das Verteilungspaket und den dritten Hash-Wert empfängt, berechnet die dritte Verifizierungsverarbeitungseinheit einen Hash-Wert für das Verteilungspaket und verifiziert die Integrität des Verteilungspaketes durch Vergleichen des Hash-Wertes mit dem dritten Hash-Wert. Die zweite Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für die Aktualisierungsdaten entsprechend der Ziel-ECU 19, die in dem Verteilungspaket enthalten sind, vergleicht den Hash-Wert mit dem zweiten Hash-Wert, der in dem Verteilungspaket enthalten ist, und verifiziert die Integrität der Aktualisierungsdaten.
  • Die CPU 28a schreibt die Aktualisierungsdaten in dem Flash-Speicher 28d, und die erste Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für Daten des aktualisierten neuen Programms in dem Flash-Speicher 28d, vergleicht den Hash-Wert mit dem ersten Hash-Wert und verifiziert die Integrität der Daten des neuen Programms. Somit kann ein jeweiliger Hash-Wert verwendet werden, um in mehreren Stufen die Integrität eines jeweiligen Datenwertes zu verifizieren. Die Integrität des neuen Programms kann dreifach verifiziert werden, und somit ist es möglich, zu verhindern, dass das fahrzeugseitige System 4 ein unvollständiges neues Programm schreibt und mit einem nicht richtigen neuen Programm betrieben wird.
  • Wenn die Rollback-Daten in der ECU-Neuprogrammierungsdaten-DB 204 vorhanden sind, erzeugt die vierte Verifizierungswerterzeugungseinheit einen vierten Hash-Wert für das alte Programm, und die fünfte Verifizierungswerterzeugungseinheit erzeugt einen fünften Hash-Wert für die Rollback-Daten. Die Paketerzeugungseinheit 202 bewirkt, dass die Aktualisierungsdaten, die ersten und zweiten Hash-Werte, die Rollback-Daten und die vierten und fünften Hash-Werte in einem Verteilungspaket enthalten sind.
  • Wenn ein Rollback in dem fahrzeugseitigen System 4 durchgeführt wird, berechnet die zweite Verifizierungsverarbeitungseinheit einen Hash-Wert für die Rollback-Daten, die in dem Verteilungspaket enthalten sind, und verifiziert die Integrität der Rollback-Daten durch Vergleichen des Hash-Wertes mit dem fünften Hash-Wert. Die CPU 28a führt ein Schreiben in den Flash-Speicher 28d unter Verwendung der Rollback-Daten durch. Die erste Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für das alte Programm, das durch Schreiben in den Flash-Speicher 28d wiederhergestellt wird, und verifiziert die Integrität des alten Programms durch Vergleichen des Hash-Wertes mit dem vierten Hash-Wert. Demzufolge kann die Integrität des alten Programms, auf das zurückgegangen wurde, verifiziert werden. In der obigen Beschreibung sind die ersten bis fünften Verifizierungswerterzeugungseinheiten funktionale Blöcke bzw. Funktionsblöcke in der Paketverwaltungseinheit 3a der Zentrumsvorrichtung 3. Die ersten, zweiten, vierten und fünften Verifizierungsverarbeitungseinheiten sind funktionale Blöcke bzw. Funktionsblöcke in der Ziel-ECU 19 des fahrzeugseitigen Systems 4. Die dritte Verifizierungsverarbeitungseinheit ist ein funktionaler Block bzw. Funktionsblock in der Master-Vorrichtung 11 des fahrzeugseitigen Systems 4 (OTA-Master 11).
  • (Modifikationsbeispiel 1 der ersten Ausführungsform)
  • Wie es in den 266 und 267 dargestellt ist, können mehrere Pakete „pkg_001_1“ und „pkg_001_2“ einer Kampagne „cpn_001“ entsprechen. Mehrere Pakete können in mehrere Gruppen gruppiert werden. In den oben beschriebenen Ausführungsformen enthält ein Paket mehrere Gruppen. In dem vorliegenden Modifikationsbeispiel wird ein Paket für eine Gruppe erzeugt, und es werden mehrere Pakete für eine Kampagne verteilt. Das Paket „pkg_001_1“ enthält die „ADS“ und die „BRK“, die ECUs sind, die zu der Gruppe 1 gehören, und das Paket „pkg_001_2“ enthält die „EPS“, die eine ECU ist, die zu der Gruppe 2 gehört.
  • Wie es in 268 und 269 dargestellt ist, werden in diesem Fall die Spezifikationsdaten und ein Verteilungspaket individuell für jede Gruppe erzeugt. In 268 erzeugt die Spezifikationsdatenerzeugungseinheit 201 beispielsweise erste Spezifikationsdaten, die ECU-Informationen der „ADS“ und der „BRK“ beschreiben, als Spezifikationsdaten der Gruppe 1. Die Spezifikationsdatenerzeugungseinheit 201 erzeugt beispielsweise zweite Spezifikationsdaten, die ECU-Informationen der „EPS“ beschreiben, als Spezifikationsdaten der Gruppe 2. In 269 erzeugt die Paketerzeugungseinheit 202 Neuprogrammierungsdaten, in denen beispielsweise Aktualisierungsdaten der „ADS“ und der „BRK“, die zu der Gruppe 1 gehören, entsprechend einer ECU-Reihenfolge integriert sind, und erzeugt eine Paketdatei „pkg001_1.dat“ durch Integrieren der erzeugten Neuprogrammierungsdaten mit den ersten Spezifikationsdaten. Die Paketerzeugungseinheit 202 erzeugt Neuprogrammierungsdaten unter Verwendung von Aktualisierungsdaten der „EPS“, die zu der Gruppe 2 gehört, und erzeugt eine Paketdatei „pkg001_2.dat“ durch Integrieren der erzeugten Neuprogrammierungsdaten mit den zweiten Spezifikationsdaten.
  • (Modifikationsbeispiel 2 der ersten Ausführungsform)
  • 270 stellt einen Prozessinhalt in einem Fall dar, in dem die Funktionen der Spezifikationsdatenerzeugungseinheit 201 und der Paketerzeugungseinheit 202 integriert sind, um ein Paketerzeugungs-Tool 221 zu bilden. Im Folgenden wird jeder Prozess erneut beschrieben.
  • In dem Spezifikationsdatenerzeugungsprozess wird ein Wert, der von einem Operator als Spezifikationsdateninformationen eingegeben wird, in einer Datenstruktur ausgegeben, bei der die Anzahl der Bits oder eine Reihenfolge einer Anordnung im Voraus bestimmt ist, und es werden Spezifikationsdaten erzeugt. Die Spezifikationsdateninformationen sind beispielsweise Werte, wie sie in 250 dargestellt sind, und es werden Informationen in Einheiten von Fahrzeugen oder Systemen (Gruppen) zusätzlich zu Informationen in Einheiten von ECUs wie beispielsweise der ECU (ID1), der ECU (ID2) und der ECU (ID3) eingegeben. Die Informationen in Einheiten von Fahrzeugen sind beispielsweise die in 250 dargestellten Neuschreibumgebungsinformationen, und die Informationen in Einheiten von Systemen sind beispielsweise die Gruppeninformationen oder die ECU-Reihenfolgeinformationen, die in 250 dargestellt sind. Die in Einheiten von Fahrzeugen eingegebenen Informationen und die in Einheiten von Systemen eingegebenen Informationen können unterschiedliche Dateien sein. Der Spezifikationsdatenerzeugungsprozess kann eine Funktion zum automatischen Berechnen einiger Werte wie einer Dateigröße von Aktualisierungsdaten und zum Reflektieren der berechneten Werte in den Spezifikationsdaten aufweisen.
    In dem Paketerzeugungsprozess werden erzeugte Spezifikationsdaten, Aktualisierungsdaten jeder ECU und ein Wert und eine Datei, die als Integritätsverifizierungsdaten eingegeben wird, für jede ECU in einer Datenstruktur ausgegeben, bei der die Anzahl der Bits oder die Anordnungsreihenfolge im Voraus bestimmt ist, und es wird eine Datei eines Verteilungspakets erzeugt. Die Aktualisierungsdaten und die Integritätsverifizierungsdaten für jede ECU werden in aufsteigender Reihenfolge der Gruppen oder in aufsteigender Reihenfolge der ECU-Ränge angeordnet. Hier können zusätzlich zu den Aktualisierungsdaten (neue Differenzdaten) Rollback-Daten (alte Differenzdaten) ebenfalls eingegeben werden. Als Integritätsverifizierungsdaten werden „Integritätsverifizierungsdaten eines ECU-Programms (neu)“ und „Integritätsverifizierungsdaten von Aktualisierungsdaten“ eingegeben. In einem Fall, in dem Rollback-Daten ebenfalls hinzugefügt sind, werden „Integritätsverifizierungsdaten eines alten ECU-Programms“ und „Integritätsverifizierungsdaten von alten Differenzdaten“ ebenfalls eingegeben.
    In dem Integritätsverifizierungsdatenerzeugungsprozess werden Integritätsverifizierungsdaten für die erzeugte Paketdatei wie anhand von Schritt C4 der 252 beschrieben erzeugt.
    Die erzeugte Paketdatei oder die Integritätsverifizierungsdaten, die für die Paketdatei erzeugt werden, werden durch einen Operator in der Paket-DB 206 registriert.
  • Die Funktionen, die von der Zentrumsvorrichtung 3 ausgeführt werden, können mittels Hardware oder Software realisiert werden. Die Funktionen können in Kooperation mittels Hardware und Software realisiert werden. Die Neuschreibdaten können nicht nur ein Applikationsprogramm sein, sondern können auch Daten wie eine Karte oder Daten wie Steuerungsparameter sein. Ein Inhalt der Konfigurationsinformationen ist nicht auf das Beispiel beschränkt, und kann geeignet entsprechend einem individuellen Design ausgewählt werden. Ein Inhalt der Spezifikationsdaten ist nicht auf das Beispiel beschränkt. Die Kampagnen-Informationen und die Verteilungsspezifikationsdaten können in einem Verteilungspaket enthalten sein und an das Fahrzeug übertragen werden, oder können separat von dem Verteilungspaket an das Fahrzeug übertragen werden. In der fünften Ausführungsform können das Verteilungspaket und der dritte Verifizierungswert im Voraus in der Paketspeichereinheit gespeichert werden, und die Paketübertragungseinheit 213 kann das Verteilungspaket und den dritten Verifizierungswert, der mit einer Anfrage verbunden ist, an das fahrzeugseitige System 4 als Antwort auf die Anfrage von dem fahrzeugseitigen System 4 übertragen werden.
  • Gemäß der vorliegenden Ausführungsform können die folgenden Vorteile mittels Durchführung des oben beschriebenen Differenzdatenkonsistenzbestimmungsprozesses (17) erhalten werden. Die Neuschreibziel-ECU 19 bestimmt eine Konsistenz der Differenzdaten, und wenn das Ergebnis der Bestimmung der Konsistenz der Differenzdaten positiv ist, werden Schreibdaten unter Verwendung der Differenzdaten und der Speicherdaten wiederhergestellt bzw. erstellt, und dann werden die wiederhergestellten Schreibdaten geschrieben. Somit ist es möglich, ein Programm unter Verwendung der Differenzdaten geeignet neuzuschreiben.
  • In der Neuschreibziel-ECU 19 wird der Datenverifizierungswert berechnet, und die Konsistenz der Differenzdaten wird unter Verwendung des Datenverifizierungswertes bestimmt. Somit kann die Konsistenz der Differenzdaten unter Verwendung des Datenverifizierungswertes bestimmt werden.
  • Wenn in der Neuschreibziel-ECU 19 das Schreiben der Schreibdaten nach einem Stoppen des Schreibens wiederaufgenommen wird, wird die Konsistenz der Differenzdaten auf der Grundlage des Datenverifizierungswertes und des Datenverifizierungswertes der neuen Daten bestimmt. Wenn die Neuschreibziel-ECU 19 einmal bestimmt hat, dass die Konsistenz der Differenzdaten für einen letzten Block negativ ist, bestimmt die Neuschreibziel-ECU 19 die Konsistenz der Differenzdaten für den letzten Block und die anschließenden Blöcke auf der Grundlage des Datenverifizierungswertes und des Datenverifizierungswertes der alten Daten. Hier überspringt die Neuschreibziel-ECU 19 das Schreiben der Schreibdaten für zu dem letzten Block vorhergehende Blöcke und nimmt das Schreiben der Schreibdaten ab dem letzten Block oder dem an den letzten Block anschließenden Block wieder auf. Wenn die Blockgröße und die Datengröße des Schreibbereiches für die Schreibdaten gleich sind, sollten die Schreibdaten bis zu dem letzten Block geschrieben werden bzw. worden sein. Somit wird ein Schreiben bis zu dem letzten Block übersprungen, und das Schreiben ab dem an den letzten Block anschließenden Block wird wiederaufgenommen. Wenn im Gegensatz dazu die Blockgröße und die Datengröße der Schreibdaten für den Schreibbereich nicht gleich sind, kann ein Schreiben der Schreibdaten an dem letzten Block unterbrochen worden sein. In diesem Fall wird das Schreiben ab dem letzten Block wiederaufgenommen.
  • Auch wenn die vorliegende Erfindung anhand ihrer Ausführungsformen beschrieben wurde, ist es selbstverständlich, dass die vorliegende Erfindung nicht auf die Ausführungsformen und oben beschriebenen Strukturen beschränkt ist. Die vorliegende Erfindung beinhaltet verschiedene Modifikationsbeispiele oder Variationen innerhalb des Bereiches der Äquivalente. Verschiedene Kombinationen oder Formen ebenso wie weitere Kombinationen oder Formen, die nur ein Element, ein oder mehr Elemente oder ein oder weniger Elemente enthalten, liegen innerhalb des Bereiches der vorliegenden Erfindung.
  • Die Steuerungseinheit und das Verfahren, die in der vorliegenden Beschreibung beschrieben sind, können durch einen zugehörigen Computer realisiert werden, der durch Konfigurieren eines Prozessors und eines Speichers, der programmiert ist, ein oder mehrere Funktionen auszuführen, die durch ein Computerprogramm ausgeführt werden, bereitgestellt wird. Alternativ können die Steuerungseinheit und das Verfahren, die in der vorliegenden Beschreibung beschrieben sind, durch einen zugehörigen Computer realisiert werden, der durch Konfigurieren eines Prozessors mit einer oder mehreren zugehörigen Hardwarelogikschaltungen realisiert wird. Alternativ können die Steuerungseinheit und das Verfahren, die in der vorliegenden Beschreibung beschrieben sind, durch eine oder mehrere zugehörige Computer realisiert werden, die durch eine Kombination aus einem Prozessor und einem Speicher, der programmiert ist, eine oder mehrere Funktionen auszuführen, und einem Prozessor, der durch eine oder mehrere Hardwarelogikschaltungen ausgebildet wird, realisiert werden. Das Computerprogramm kann auch auf einem computerlesbaren und nichtflüchtigen dinglichen Aufzeichnungsmedium als Befehle, die von einem Computer ausgeführt werden, gespeichert sein.
  • 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 2018151421 [0001]
    • JP 2019129963 [0001]
    • JP 6216730 B [0004]

Claims (10)

  1. Elektronische Steuerungseinheit, die aufweist: eine Differenzdatenbeschaffungseinheit (103a), die ausgelegt ist, Differenzdaten, die in einen Datenspeicherbereich der elektronischen Steuerungseinheit zu schreibende Daten sind, zu beschaffen, wobei die Differenzdaten eine Differenz zwischen alten Daten und neuen Daten sind; eine Konsistenzbestimmungseinheit (103b), die ausgelegt ist, auf der Grundlage von ersten Bestimmungsinformationen betreffend in einem Datenspeicherbereich gespeicherten Speicherdaten und zweiten Bestimmungsinformationen, die in Verbindung mit den Differenzdaten beschafft werden, zu bestimmen, ob die Differenzdaten konsistent mit dem Datenspeicherbereich oder den Speicherdaten sind; eine Aktualisierungsdatenwiederherstellungseinheit (103c), die ausgelegt ist, Aktualisierungsdaten als die neuen Daten unter Verwendung der Differenzdaten und der Speicherdaten wiederherzustellen, wenn die Konsistenzbestimmungseinheit bestimmt, dass die Differenzdaten konsistent sind; und eine Datenschreibeinheit (103d), die ausgelegt ist, die Aktualisierungsdaten, die durch die Aktualisierungsdatenwiederherstellungseinheit wiederhergestellt wurden, in den Datenspeicherbereich zu schreiben.
  2. Elektronische Steuerungseinheit nach Anspruch 1, wobei die zweiten Bestimmungsinformationen Bestimmungsinformationen der alten Daten und Bestimmungsinformationen der neuen Daten enthalten, und die Konsistenzbestimmungseinheit außerdem ausgelegt ist, zu bestimmen, dass die Differenzdaten konsistent sind, wenn die ersten Bestimmungsinformationen zu den Bestimmungsinformationen der alten Daten passen und die ersten Bestimmungsinformationen nicht zu den Bestimmungsinformationen der neuen Daten passen.
  3. Elektronische Steuerungseinheit nach Anspruch 1 oder 2, wobei die Speicherdaten in einen oder mehrere Blöcke unterteilt sind, die elektronische Steuerungseinheit außerdem eine Datenverifizierungswertberechnungseinheit (103e) aufweist, die ausgelegt ist, einen Datenverifizierungswert für jeden der einen oder mehreren Blöcke zu berechnen, und die Konsistenzbestimmungseinheit außerdem ausgelegt ist, eine Konsistenz der Differenzdaten auf der Grundlage des Datenverifizierungswertes, der durch die Datenverifizierungswertberechnungseinheit berechnet wird, und eines Datenverifizierungswertes, der die zweiten Bestimmungsinformationen angibt, zu bestimmen.
  4. Elektronische Steuerungseinheit nach Anspruch 1 oder 2, wobei der Speicherdaten in einen oder mehrere Blöcke unterteilt sind, die elektronische Steuerungseinheit außerdem eine Datenverifizierungswertberechnungseinheit (103e) aufweist, die ausgelegt ist, einen Datenverifizierungswert für jeden der einen oder mehreren Blöcke der Speicherdaten zu berechnen, die ersten Bestimmungsinformationen Datenidentifikationsinformationen zum Identifizieren der Speicherdaten, die in dem Datenspeicherbereich gespeichert sind, Schreibbankinformationen zum Identifizieren des Datenspeicherbereiches, in den die Aktualisierungsdaten zu schreiben sind, und den Datenverifizierungswert, der durch die Datenverifizierungswertberechnungseinheit berechnet wird, enthalten, die alten Daten in einen oder mehrere Blöcke unterteilt sind, die zweiten Bestimmungsinformationen Datenidentifikationsinformationen zum Identifizieren der alten Daten, Schreibbankinformationen zum Identifizieren des Datenspeicherbereiches, in den die neuen Daten zu schreiben sind, und einen Datenverifizierungswert für jeden der einen oder mehreren Blöcke der alten Daten enthalten, und die Konsistenzbestimmungseinheit außerdem ausgelegt ist, zu bestimmen, dass die Differenzdaten konsistent sind, wenn die Datenidentifikationsinformationen der ersten Bestimmungsinformationen zu den Datenidentifikationsinformationen der zweiten Bestimmungsinformationen passen, die Schreibbankinformationen der ersten Bestimmungsinformationen zu den Schreibbankinformationen der zweiten Bestimmungsinformationen passen und der Datenverifizierungswert der ersten Bestimmungsinformationen zu dem Datenverifizierungswert der zweiten Bestimmungsinformationen passt.
  5. Elektronische Steuerungseinheit nach Anspruch 3, wobei, wenn die Datenschreibeinheit das Schreiben nach einem Stoppen des Schreibens wiederaufnimmt, die Konsistenzbestimmungseinheit außerdem ausgelegt ist, auf der Grundlage des Datenverifizierungswertes, der durch die Datenverifizierungswertberechnungseinheit berechnet wird, des Datenverifizierungswertes der alten Daten, der in den zweiten Bestimmungsinformationen enthalten ist, und des Datenverifizierungswertes der neuen Daten, der in den zweiten Bestimmungsinformationen enthalten ist, zu bestimmen, ob die Differenzdatenkonsistent sind.
  6. Elektronische Steuerungseinheit nach Anspruch 5, wobei die Konsistenzbestimmungseinheit außerdem ausgelegt ist, wenn die Datenschreibeinheit das Schreiben nach dem Stoppen des Schreibens wiederaufnimmt, auf der Grundlage des Datenverifizierungswertes, der durch die Datenverifizierungswertberechnungseinheit berechnet wird, und des Datenverifizierungswertes der neuen Daten, der in den zweiten Bestimmungsinformationen enthalten ist, zu bestimmen, ob die Differenzdaten konsistent sind; und wenn die Konsistenzbestimmungseinheit bestimmt, dass das Ergebnis der Bestimmung für einen letzten Block negativ ist, auf der Grundlage des Datenverifizierungswertes, der durch die Datenverifizierungswertberechnungseinheit berechnet wird, und des Datenverifizierungswertes der alten Daten, der in den zweiten Bestimmungsinformationen enthalten ist, zu bestimmen, ob die Differenzdaten für den letzten Block und die anschließenden Blöcke konsistent sind.
  7. Elektronische Steuerungseinheit nach Anspruch 6, wobei die Datenschreibeinheit außerdem ausgelegt ist, wenn die Datenschreibeinheit das Schreiben nach dem Stoppen des Schreibens wiederaufnimmt, das Schreiben der Aktualisierungsdaten für Blöcke, die dem letzten Block vorangehen, für den die Konsistenzbestimmungseinheit bestimmt, dass die Differenzdaten nicht konsistent sind, zu überspringen; und das Schreiben der Aktualisierungsdaten ab dem letzten Block oder einem an den letzten Block anschließenden Block wiederaufzunehmen.
  8. Elektronisches Fahrzeugsteuerungssystem, das aufweist: eine Fahrzeug-Master-Vorrichtung (11), die ausgelegt ist, Aktualisierungsdaten an eine elektronische Steuerungseinheit zu verteilen; und die elektronische Steuerungseinheit (19), die ausgelegt ist, die Aktualisierungsdaten, die von der Fahrzeug-Master-Vorrichtung empfangen werden, in einen nichtflüchtigen Speicher zu schreiben, wobei die elektronische Steuerungseinheit außerdem ausgelegt ist, eine Konsistenz von Differenzdaten zu bestimmen, die von der Fahrzeug-Master-Vorrichtung als die Aktualisierungsdaten empfangen werden; und die Fahrzeug-Master-Vorrichtung außerdem ausgelegt ist, der elektronischen Steuerungseinheit zu befehlen, die Konsistenz der Differenzdaten zu bestimmen, bevor der elektronischen Steuerungseinheit das Schreiben der Aktualisierungsdaten befohlen wird.
  9. Differenzdatenkonsistenzbestimmungsverfahren für eine elektronische Steuerungseinheit (19), wobei das Verfahren aufweist: einen Konsistenzbestimmungsschritt zum Bestimmen auf der Grundlage von ersten Bestimmungsinformationen betreffend in einem Datenspeicherbereich gespeicherten Speicherdaten und zweiten Bestimmungsinformationen, die in Verbindung mit Differenzdaten beschafft werden, die in den Datenspeicherbereich neuzuschreibende Daten sind und eine Differenz zwischen alten Daten und neuen Daten sind, ob die Differenzdaten konsistent mit dem Datenspeicherbereich oder den Speicherdaten sind; einen Aktualisierungsdatenwiederherstellungsschritt zum Wiederherstellen von Aktualisierungsdaten als neue Daten unter Verwendung der Differenzdaten und der Speicherdaten, wenn die Konsistenzbestimmungseinheit bestimmt, dass die Differenzdaten konsistent sind; und einen Datenschreibschritt zum Schreiben der Aktualisierungsdaten, die in dem Aktualisierungsdatenwiederherstellungsschritt wiederhergestellt wurden, in den Datenspeicherbereich.
  10. Differenzdatenkonsistenzbestimmungsprogramm für eine elektronische Steuerungseinheit (19), wobei das Programm, wenn es ausgeführt wird, bewirkt, dass die elektronische Steuerungseinheit durchführt: einen Konsistenzbestimmungsschritt zum Bestimmen auf der Grundlage von ersten Bestimmungsinformationen betreffend in einem Datenspeicherbereich gespeicherten Speicherdaten und zweiten Bestimmungsinformationen, die in Verbindung mit Differenzdaten beschafft werden, die in den Datenspeicherbereich neuzuschreibende Daten sind und die eine Differenz zwischen alten Daten und neuen Daten sind, ob die Differenzdaten konsistent mit dem Datenspeicherbereich oder den Speicherdaten sind; einen Aktualisierungsdatenwiederherstellungsschritt zum Wiederherstellen von Aktualisierungsdaten als die neuen Daten unter Verwendung der Differenzdaten und der Speicherdaten, wenn die Konsistenzbestimmungseinheit bestimmt, dass die Differenzdaten konsistent sind; und einen Datenschreibschritt zum Schreiben der Aktualisierungsdaten, die in dem Aktualisierungsdatenwiederherstellungsschritt wiederhergestellt wurden, in den Datenspeicherbereich.
DE112019004025.1T 2018-08-10 2019-08-07 Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, differenzdatenkonsistenzbestimmungsverfahren und differenzdatenkonsistenzbestimmungsprogramm Pending DE112019004025T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2018-151421 2018-08-10
JP2018151421 2018-08-10
JP2019129963A JP7354631B2 (ja) 2018-08-10 2019-07-12 電子制御装置、車両用電子制御システム、差分データの整合性判定方法及び差分データの整合性判定プログラム
JP2019-129963 2019-07-12
PCT/JP2019/031174 WO2020032119A1 (ja) 2018-08-10 2019-08-07 電子制御装置、車両用電子制御システム、差分データの整合性判定方法及び差分データの整合性判定プログラム

Publications (1)

Publication Number Publication Date
DE112019004025T5 true DE112019004025T5 (de) 2021-05-06

Family

ID=69620225

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019004025.1T Pending DE112019004025T5 (de) 2018-08-10 2019-08-07 Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, differenzdatenkonsistenzbestimmungsverfahren und differenzdatenkonsistenzbestimmungsprogramm

Country Status (4)

Country Link
US (1) US11604637B2 (de)
JP (1) JP7354631B2 (de)
CN (1) CN112543913A (de)
DE (1) DE112019004025T5 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020022265A1 (ja) 2018-07-25 2020-01-30 株式会社デンソー 車両用電子制御システム、プログラム更新の承諾判定方法及びプログラム更新の承諾判定プログラム
JP7111074B2 (ja) * 2018-08-10 2022-08-02 株式会社デンソー 車両用マスタ装置、セキュリティアクセス鍵の管理方法、セキュリティアクセス鍵の管理プログラム及び車両用電子制御システム
EP3854651A4 (de) * 2018-10-25 2021-11-10 Panasonic Intellectual Property Management Co., Ltd. Elektronische steuervorrichtung, elektronisches steuerungsverfahren und programm
JP2022175440A (ja) * 2021-05-13 2022-11-25 トヨタ自動車株式会社 センタ、更新制御方法、更新制御プログラム、otaマスタ
CN113419937A (zh) * 2021-06-29 2021-09-21 达梦数据技术(江苏)有限公司 一种数据和日志一体化的值日志实现方法、装置、设备及存储介质
CN113778061B (zh) * 2021-09-16 2023-03-28 广州锦红源电子科技有限公司 电子控制器程序完整性的校验方法、装置、电子控制器
CN114040381A (zh) * 2021-11-08 2022-02-11 百度在线网络技术(北京)有限公司 加密方法、解密方法、装置及电子设备

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060070A1 (en) * 2000-08-18 2005-03-17 Nnt, Inc. Wireless communication framework
US7082549B2 (en) 2000-11-17 2006-07-25 Bitfone Corporation Method for fault tolerant updating of an electronic device
EP1343303A3 (de) * 2002-03-06 2006-05-03 Canon Kabushiki Kaisha Informationsverarbeitungssystem, -Gerät, und -Verfahren, und Speichermedium zur Speicherung eines durch das Informationsverarbeitungsgerät lesbaren Programms
ATE539404T1 (de) 2002-12-18 2012-01-15 Hewlett Packard Development Co Mobilteil mit fehlertoleranter aktualisierung
US7391917B2 (en) * 2003-02-13 2008-06-24 Canon Kabushiki Kaisha Image processing method
US7802129B2 (en) * 2007-10-17 2010-09-21 Hewlett-Packard Development Company, L.P. Mobile handset employing efficient backup and recovery of blocks during update
JP5152297B2 (ja) 2010-10-28 2013-02-27 株式会社デンソー 電子装置
JP5601239B2 (ja) 2011-02-17 2014-10-08 株式会社デンソー 車載システム、マスタecuおよび診断ツール
JP5556824B2 (ja) 2011-03-18 2014-07-23 株式会社デンソー 車載システム、ecu、記憶指示送信装置、および記憶要求送信装置
JP5454517B2 (ja) 2011-06-15 2014-03-26 株式会社デンソー ゲートウェイ装置
JP5375905B2 (ja) 2011-09-06 2013-12-25 株式会社デンソー 車載ネットワークシステム
DE102012212962A1 (de) 2011-07-28 2013-01-31 Denso Corporation Gateway und fahrzeuginternes Netzwerksystem
JP5709055B2 (ja) 2011-09-27 2015-04-30 株式会社デンソー 車両用電子制御装置
JP5423754B2 (ja) 2011-09-28 2014-02-19 株式会社デンソー バス監視セキュリティ装置及びバス監視セキュリティシステム
JP5435022B2 (ja) 2011-12-28 2014-03-05 株式会社デンソー 車載システム及び通信方法
JP5783103B2 (ja) 2012-03-23 2015-09-24 株式会社デンソー 車両用データ通信システム及び車両用データ通信装置
DE102013101508A1 (de) 2012-02-20 2013-08-22 Denso Corporation Datenkommunikationsauthentifizierungssystem für ein Fahrzeug, Netzkopplungsvorrichtung für ein Fahrzeug, Datenkommunikationssystem für ein Fahrzeug und Datenkommunikationsvorrichtung für ein Fahrzeug
JP5838898B2 (ja) 2012-04-23 2016-01-06 株式会社デンソー 車載制御システム
JP5949417B2 (ja) 2012-10-09 2016-07-06 株式会社デンソー 中継装置
JP5949416B2 (ja) 2012-10-09 2016-07-06 株式会社デンソー 中継装置
JP2014088150A (ja) 2012-10-31 2014-05-15 Denso Corp 車載バッテリ管理装置
JP6056424B2 (ja) 2012-11-29 2017-01-11 株式会社デンソー 車載プログラム更新装置
US20140282470A1 (en) * 2013-03-13 2014-09-18 Arynga Inc. Remote transfer of electronic images to a vehicle
JP2014201085A (ja) 2013-04-01 2014-10-27 株式会社デンソー 車両データ記録装置及び車両診断システム
JP2015153160A (ja) 2014-02-14 2015-08-24 シャープ株式会社 プログラム更新システムおよびプログラム更新方法
JP6298732B2 (ja) 2014-07-02 2018-03-20 株式会社デンソー マイクロコンピュータ及びセキュリティ設定システム
JP2016032274A (ja) 2014-07-30 2016-03-07 株式会社デンソー ゲートウェイ装置
JP6434994B2 (ja) 2015-01-26 2018-12-05 日立オートモティブシステムズ株式会社 車載制御装置、プログラム書き込み装置、プログラム生成装置及びプログラム
JP6216730B2 (ja) 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
JP6381490B2 (ja) * 2015-07-06 2018-08-29 日立オートモティブシステムズ株式会社 車載電子制御装置
JP6281535B2 (ja) 2015-07-23 2018-02-21 株式会社デンソー 中継装置、ecu、及び、車載システム
JP6565664B2 (ja) 2015-12-21 2019-08-28 株式会社デンソー 車両盗難防止装置
JP6609199B2 (ja) * 2016-03-01 2019-11-20 ルネサスエレクトロニクス株式会社 組込み機器
JP6805559B2 (ja) 2016-06-09 2020-12-23 株式会社デンソー リプログマスタ
JP6414568B2 (ja) 2016-06-09 2018-10-31 株式会社デンソー 車両用装置
JP2018013837A (ja) 2016-07-19 2018-01-25 株式会社デンソー データ書き換え装置、データ書き換えプログラム
JP6658409B2 (ja) * 2016-09-02 2020-03-04 株式会社オートネットワーク技術研究所 車載更新システム、車載更新装置及び通信装置の更新方法
JP6697357B2 (ja) * 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム
JP6693853B2 (ja) 2016-10-17 2020-05-13 トヨタ自動車株式会社 ソフトウエア更新制御装置
JP6922417B2 (ja) 2016-11-25 2021-08-18 株式会社デンソー 並行処理装置及び並行処理プログラム
WO2018096755A1 (ja) 2016-11-25 2018-05-31 株式会社デンソー 並行処理装置及び並行処理プログラム
JP6787769B2 (ja) 2016-12-13 2020-11-18 トヨタ自動車株式会社 プログラム更新装置
JP2018120422A (ja) * 2017-01-25 2018-08-02 ルネサスエレクトロニクス株式会社 車載通信システム、ドメインマスタ、及びファームウェア更新方法
JP6848791B2 (ja) 2017-09-28 2021-03-24 株式会社デンソー 車両診断装置、車両診断システム及び車両診断プログラム
JP6940365B2 (ja) * 2017-10-12 2021-09-29 日立Astemo株式会社 情報更新装置
JP6973450B2 (ja) * 2018-08-10 2021-12-01 株式会社デンソー 車両用マスタ装置、インストールの指示判定方法及びインストールの指示判定プログラム
WO2020032196A1 (ja) 2018-08-10 2020-02-13 株式会社デンソー 車両情報通信システム
US11163549B2 (en) 2018-08-10 2021-11-02 Denso Corporation Vehicle information communication system
US10678454B2 (en) 2018-08-10 2020-06-09 Denso Corporation Vehicle information communication system
JP6856100B2 (ja) 2019-09-20 2021-04-07 株式会社デンソー リプログマスタ

Also Published As

Publication number Publication date
US11604637B2 (en) 2023-03-14
JP7354631B2 (ja) 2023-10-03
US20210165651A1 (en) 2021-06-03
JP2020027634A (ja) 2020-02-20
CN112543913A (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
DE112019004053T5 (de) Elektronisches fahrzeugsteuerungssystem, selbsterhaltungsenergie-ausführungssteuerungsverfahren und selbsterhaltungsenergie-ausführungssteuerungsprogramm
DE112019004040T5 (de) Fahrzeug-master-vorrichtung, aktualisierungsdatenverteilungssteuerungsverfahren, aktualisierungsdatenverteilungssteuerungsprogramm und datenstruktur von spezifikationsdaten
DE112019004045T5 (de) Elektronisches fahrzeugsteuerungssystem, programmaktualisierungs-mitteilungssteuerungsverfahren und programmaktualisierungs-mitteilungssteuerungsprogramm
DE112019004071T5 (de) Elektronisches fahrzeugsteuerungssystem, fortschrittsbildschirmanzeigesteuerungsverfahren und fortschrittsbildschirmanzeigesteuerungsprogramm
DE112019004042T5 (de) Fahrzeug-Master-Vorrichtung, Aktualisierungsdatenverifizierungsverfahren und Aktualisierungsdatenverifizierungsprogramm
DE112019004061T5 (de) Elektronische Steuerungseinheit, elektronisches Fahrzeugsteuerungssystem, Neuschreibausführungsverfahren, Neuschreibausführungsprogramm und Datenstrukturspezifikationsdaten
DE112019004068T5 (de) Elektronisches fahrzeugsteuerungssystem, verteilungspaket-download-bestimmungsverfahren und verteilungspaket-download-bestimmungsprogramm
JP7439439B2 (ja) 車両情報通信システム,車両情報通信方法,車両情報通信プログラム及びセンター装置
JP7413709B2 (ja) 車両用プログラム書換えシステム,車両用プログラム書換え方法,パッケージ配信用プログラム,センター装置及びパッケージ配信方法
DE112019004059T5 (de) Fahrzeug-master-vorrichtung, elektronisches fahrzeugsteuerungssystem, aktivierungsanfragebefehlsverfahren und aktivierungsanfragebefehlsprogramm
DE112019004051T5 (de) Fahrzeug-master-vorrichtung, steuerungsverfahren zum ausführen eines rollbacks, steuerungsprogramm zum ausführen eines rollbacks und datenstruktur von spezifikationsdaten
DE112020004017T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren unter spezifischem modus und umschreibanweisungsprogramm unter spezifischem modus
DE112019004025T5 (de) Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, differenzdatenkonsistenzbestimmungsverfahren und differenzdatenkonsistenzbestimmungsprogramm
DE112019004054T5 (de) Fahrzeug-master-vorrichtung, installationsbefehlsbestimmungsverfahren und installationsbefehlsbestimmungsprogramm
DE112021001659T5 (de) Zentralvorrichtung, verfahren zum erzeugen von verteilungspaket undprogramm zum erzeugen von verteilungspaket
DE112020004103T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einem überschreiben von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem überschreiben von konfigurationsfestlegungsinformationen
DE112019004029T5 (de) Fahrzeug-master-vorrichtung, nicht-neuschreibziel-stromversorgungsverwaltungsverfahren und nicht-neuschreibziel-stromversorgungsverwaltungsprogramm
DE112019004069T5 (de) Elektronisches fahrzeugsteuerungssystem, dateiübertragungssteuerungsverfahren, dateiübertragungssteuerungsprogramm und datenstruktur von spezifikationsdaten
DE112019004050T5 (de) Fahrzeug-master-vorrichtung, neuschreibzielgruppenverwaltungsverfahren, neuschreibzielgruppenverwaltungsprogramm und datenstruktur von spezifikationsdaten
JP7400232B2 (ja) 電子制御装置、リトライポイントの特定方法、リトライポイントの特定プログラム及び車両用電子制御システム
DE112019004020T5 (de) Anzeigesteuerungsvorrichtung, neuschreibfortschrittsanzeigesteuerungsverfahren und neuschreibfortschrittsanzeigesteuerungsprogramm
DE112020004011T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einer aktualisierung von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem aktualisieren von konfigurationsfestlegungsinformationen
DE112019004028T5 (de) Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, aktivierungsausführungssteuerungsverfahren und aktivierungsausführungssteuerungsprogramm
DE112019004063T5 (de) Elektronisches fahrzeugsteuerungssystem, zentrumsvorrichtung, fahrzeug-master-vorrichtung, anzeigesteuerungsinformations-übertragungssteuerungsverfahren, anzeigesteuerungsinformations-empfangssteuerungsverfahren, anzeigesteuerungsinformations-übertragungssteuerungsprogramm und anzeigesteuerungsinformations-empfangssteuerungsprogramm
DE112019004056T5 (de) Fahrzeug-master-vorrichtung, sicherheitszugangsschlüsselverwaltungsverfahren, sicherheitszugangsschlüsselverwaltungsprogramm und datenstruktur von spezifikationsdaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed