DE112019004032T5 - Zentralvorrichtung, verteilungspaketerzeugungsverfahren und verteilungspaketerzeugungsprogramm - Google Patents

Zentralvorrichtung, verteilungspaketerzeugungsverfahren und verteilungspaketerzeugungsprogramm Download PDF

Info

Publication number
DE112019004032T5
DE112019004032T5 DE112019004032.4T DE112019004032T DE112019004032T5 DE 112019004032 T5 DE112019004032 T5 DE 112019004032T5 DE 112019004032 T DE112019004032 T DE 112019004032T DE 112019004032 T5 DE112019004032 T5 DE 112019004032T5
Authority
DE
Germany
Prior art keywords
data
ecu
vehicle
update
information
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
DE112019004032.4T
Other languages
English (en)
Inventor
Nao SAKURAI
Yuzo Harata
Kazuhiro Uehara
Takuya Hasegawa
Takuya Kawasaki
Kazuaki HAYAKAWA
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/031458 external-priority patent/WO2020032197A1/ja
Publication of DE112019004032T5 publication Critical patent/DE112019004032T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/03Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for supply of electrical power to vehicle subsystems or for
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

Eine ECU-Umprogrammierungsdaten-DB 104 speichert Daten eines Anwendungsprogramms für eine ECU 19, die für eine Aktualisierung eines in einem Fahrzeug installierten Anwendungsprogramms bestimmt ist. Zusammen mit dem Fahrzeugtyp speichert eine Konfigurationsinformations-DB 108 fahrzeugbezogene Information, wie beispielsweise „ECU-IDs“ jeweiliger ECUs 19, „ECU-SW-IDs“ von Anwendungsprogramme von ECUs 19 und dergleichen. Eine ECU-Metadaten-DB 105 speichert aktualisierungsdatenbezogene Information in Bezug auf ein Attribut einer Umschreibeziel-ECU 19 und Aktualisierungsdaten. Basierend auf in der Konfigurationsinformations-DB 108 und der ECU-Metadaten-DB 105 gespeicherter Information erzeugt eine Spezifikationsdatenerzeugungseinheit 101 Spezifikationsdaten, die zusammen mit Aktualisierungsdaten, die in eine Ziel-ECU 19 zu schreiben sind, an ein Fahrzeug zu senden sind, derart, dass die Spezifikationsdaten den Typ, das Attribut, die aktualisierungsdatenbezogene Information der Ziel-ECU 19 und Information, die eine Umschreibe-Umgebung in Bezug auf die Datenaktualisierung anzeigt, enthalten.

Description

  • QUERVERWEIS AUF IN BEZIEHUNG STEHENDE ANMELDUNG
  • Diese Anmeldung basiert auf der am 10. August 2018 eingereichten japanischen Patentanmeldung Nr. 2018-151414 und der am 12. Juli 2019 eingereichten japanischen Patentanmeldung Nr. 2019-129952 , auf deren Inhalte hiermit vollinhaltlich Bezug genommen ist.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft eine Zentralvorrichtung, die Daten verwaltet, die in mehrere elektronische Steuereinheiten zu schreiben sind, die an einem Fahrzeug montiert sind, sowie ein Verfahren und ein Programm zum Erzeugen eines die Daten enthaltenen Verteilungspakets.
  • STAND DER TECHNIK
  • In den letzten Jahren hat sich der Umfang eines Anwendungsprogramms für eine Fahrzeugsteuerung, Diagnose und dergleichen, das in einer elektronischen Steuereinheit (im Folgenden als ECU bezeichnet) eines Fahrzeugs installiert wird, aufgrund der Fahrzeugsteuerungsdiversifikation, wie z.B. einer Fahrunterstützungsfunktion und einer autonomen Fahrfunktion, erhöht. Eine Möglichkeit zum Umschreiben (Umprogrammieren) eines Anwendungsprogramms einer ECU wurde in Übereinstimmung mit einer auf funktionaler Verbesserung basierenden Aufrüstung erhöht. Andererseits hat sich mit dem Fortschritt von Kommunikationsnetzen oder dergleichen ebenso eine Technik für vernetzte Autos verbreitet. In Anbetracht solcher Umstände wird beispielsweise in Patentdokument 1 eine Technik vorgeschlagen, bei der ein Aktualisierungsprogramm einer ECU von einem Server per OTA (Over-The-Air bzw. auf dem Luftweg) an eine In-Vehicle-Vorrichtung verteilt bzw. übertragen und das Aktualisierungsprogramm auf einer Fahrzeugseite umgeschrieben wird.
  • STAND-DER-TECHNIK-LITERATUR
  • PATENTLITERATUR
  • Patentdokument 1: JP 6 216 730 B
  • KURZDARSTELLUNG DER ERFINDUNG
  • Es gibt viele denkbare Arten, ein per OTA verteiltes Aktualisierungsprogramm auf einer Fahrzeugseite wie oben beschrieben umzuschreiben, aber am Markt beteiligt sind normale Benutzer von Fahrzeugen. Daher ist es wünschenswert, dass eine Zentrale notwendige Information verteilt, damit eine fahrzeugseitige Vorrichtung eine flexible Steuerung ausführen kann.
  • Die vorliegende Offenbarung ist angesichts der obigen Umstände geschaffen worden, und es ist Aufgabe der vorliegenden Offenbarung, eine Zentralvorrichtung, ein Verteilungspaketerzeugungsverfahren und ein Verteilungspaketerzeugungsprogramm bereitzustellen, die ein Verteilungspaket erzeugen können, in dem zum Umschreiben eines Aktualisierungsprogramms auf einer Fahrzeugseite erforderliche Information beschrieben bzw. enthalten ist.
  • Gemäß einer Zentralvorrichtung der vorliegenden Offenbarung speichert eine Aktualisierungsdatenspeichereinheit Aktualisierungsdaten für eine Zielvorrichtung, die ein Ziel einer Datenaktualisierung unter mehreren elektronischen Steuereinheiten ist, die an einem Fahrzeug montiert sind. Zusammen mit dem Fahrzeugtyp speichert eine Fahrzeuginformationsspeichereinheit fahrzeugbezogene Information in Bezug auf Vorrichtungsidentifikation von jeder der elektronischen Steuereinheiten und eine Identifikation von in jeder der elektronischen Steuereinheiten gespeicherten Daten. Eine Speichereinheit für vorrichtungsbezogene Information speichert aktualisierungsdatenbezogene Information in Bezug auf ein Merkmal der Zielvorrichtung und die Aktualisierungsdaten.
  • Basierend auf Information, die in der Speichereinheit für vorrichtungsbezogene Information und der Fahrzeuginformationsspeichereinheit gespeichert ist, erzeugt eine Spezifikationsdatenerzeugungseinheit Spezifikationsdaten, die einen Vorrichtungstyp der Zielvorrichtung, das Merkmal der Zielvorrichtung, die aktualisierungsdatenbezogene Information der Zielvorrichtung und eine Umschreibe-Umgebung anzeigende Information in Bezug auf die Datenaktualisierung der Zielvorrichtung enthalten. Ferner erzeugt eine Paketerzeugungseinheit ein Verteilungspaket, das die von einer Aktualisierungsdatenerfassungseinheit erfassten Aktualisierungsdaten und die Spezifikationsdaten enthält. Dementsprechend kann eine Vorrichtung auf einer Fahrzeugseite, indem sie die zusammen mit den Aktualisierungsdaten gesendeten Spezifikationsdaten empfängt, eine Zielvorrichtung auf der Grundlage der Spezifikationsdaten richtig auswählen und das Schreiben der Aktualisierungsdaten angemessen ausführen.
  • Figurenliste
  • Die Aufgaben, Eigenschaften und Vorteile der vorliegenden Offenbarung sind aus der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen näher ersichtlich. In den Zeichnungen zeigt:
    • 1 eine Abbildung zur Veranschaulichung der Gesamtkonfiguration eines Fahrzeuginformations- und Kommunikationssystems gemäß einer ersten Ausführungsform,
    • 2 eine Abbildung zur Veranschaulichung einer elektrischen Konfiguration eines CGW (data communication module bzw. Datenkommunikationsmodul),
    • 3 eine Abbildung zur Veranschaulichung einer elektrischen Konfiguration einer ECU,
    • 4 eine Abbildung zur Veranschaulichung eines Verbindungsaspekts einer Energieversorgungsleitung,
    • 5 eine Abbildung zur Veranschaulichung eines Aspekts des Verpackens von Umprogrammierungsdaten und Verteilungsspezifikationsdaten,
    • 6 eine Abbildung zur Veranschaulichung eines Aspekts des Entpackens eines Verteilungspakets,
    • 7 ein Blockdiagramm zur Veranschaulichung von Abschnitten einer Zentralvorrichtung in Bezug auf jeweilige Hauptfunktionen eines Servers,
    • 8 ein Bilddiagramm zur Veranschaulichung eines Prozessablaufs in der Zentralvorrichtung,
    • 9 eine Abbildung zur Veranschaulichung eines Beispiels für Fahrzeugkonfigurationsinformation in einer Konfigurationsinformations-DB (DB für Datenbank),
    • 10 eine Abbildung zur Veranschaulichung eines Beispiels für ein Programm oder Daten, die in einer ECU-Umprogrammierungsdaten-DB registriert sind,
    • 11 eine Abbildung zur Veranschaulichung eines Beispiels für Spezifikationsdaten, die in einem ECU-Metadaten-DB registriert sind,
    • 12 eine Abbildung zur Veranschaulichung eines Beispiels für Fahrzeugkonfigurationsinformation, die in einer individuellen Fahrzeuginformations-DB registriert ist,
    • 13 eine Abbildung zur Veranschaulichung eines Beispiels für Verteilungspaketdaten, die in einer Paket-DB registriert sind,
    • 14 eine Abbildung zur Veranschaulichung eines Beispiels für Kampagnendaten, die in einer Kampagnen-DB registriert sind,
    • 15 ein Ablaufdiagramm zur Veranschaulichung eines Prozesses zum Erzeugen eines Programms oder von Daten, die in der ECU-Umprogrammierungsdaten-DB registriert sind,
    • 16 ein Ablaufdiagramm zur Veranschaulichung eines Prozesses zum Erzeugen eines Beispiels von Spezifikationsdaten, die in der ECU-Metadaten-DB registriert sind,
    • 17 eine Abbildung zur Veranschaulichung eines Beispiels für Spezifikationsdaten,
    • 18 eine Abbildung zur Veranschaulichung eines Beispiels für eine Busauslastungstabelle,
    • 19 ein Ablaufdiagramm zur Veranschaulichung eines Prozesses zum Erzeugen eines in der Paket-DB registrierten Verteilungspakets,
    • 20 ein Bilddiagramm zur Veranschaulichung eines Inhalts einer Paketdatei,
    • 21 ein Sequenzdiagramm zur Veranschaulichung von Verarbeitungsabläufen zwischen einer Zentralvorrichtung und einem fahrzeugseitigen System gemäß einer zweiten Ausführungsform,
    • 22 ein Ablaufdiagramm zur Veranschaulichung eines von der Zentralvorrichtung ausgeführten Prozesses,
    • 23 ein Bilddiagramm zur Veranschaulichung der Inhalte von Prozessen, die in den Schritten D6 und D7 im Ablaufdiagramm von 22 ausgeführt werden,
    • 23A ein Ablaufdiagramm zur Veranschaulichung eines Prozesses in einem Fall, in dem ein Hashwert vom fahrzeugseitigen System an die Zentralvorrichtung gesendet wird,
    • 24 ein Sequenzdiagramm zur Veranschaulichung von Verarbeitungsabläufen zwischen einer Zentralvorrichtung und einem fahrzeugseitigen System gemäß einer dritten Ausführungsform,
    • 25 ein Ablaufdiagramm zur Veranschaulichung eines von der Zentralvorrichtung ausgeführten Prozesses,
    • 26 ein Sequenzdiagramm zur Veranschaulichung eines Zustands, in dem die Zentralvorrichtung ein EV-Fahrzeug (EV für electric vehicle bzw. Elektrofahrzeug) und ein konventionelles Fahrzeug per SMS benachrichtigt,
    • 27 ein Sequenzdiagramm zur Veranschaulichung von Verarbeitungsabläufen zwischen einer Zentralvorrichtung und einem fahrzeugseitigen System gemäß einer vierten Ausführungsform,
    • 28 ein Bilddiagramm zur Veranschaulichung von Prozessen zwischen einem Anbieter, einer Zentralvorrichtung und einem fahrzeugseitigen System gemäß einer fünften Ausführungsform,
    • 29 ein (erstes) Sequenzdiagramm zur Veranschaulichung von Verarbeitungsabläufen zwischen dem Anbieter, der Zentralvorrichtung und dem fahrzeugseitigen System,
    • 30 ein (zweites) Sequenzdiagramm zur Veranschaulichung der Verarbeitungsabläufe zwischen dem Anbieter, der Zentralvorrichtung und dem fahrzeugseitigen System,
    • 31 ein (drittes) Sequenzdiagramm zur Veranschaulichung der Verarbeitungsabläufe zwischen dem Anbieter, der Zentralvorrichtung und dem fahrzeugseitigen System,
    • 32 eine Abbildung zur Veranschaulichung eines (ersten) Modifikationsbeispiels der ersten Ausführungsform und zur Veranschaulichung eines Datenformats der Paket-DB in einem Fall, in dem mehrere Pakete einer einzigen Kampagne entsprechen,
    • 33 eine Abbildung zur Veranschaulichung eines Datenformats der Kampagnen-DB in einem Fall, in dem mehrere Pakete einer einzigen Kampagne entsprechen,
    • 34 eine Abbildung entsprechend 16 in einem Fall, in dem Spezifikationsdaten für jede Gruppe erzeugt werden,
    • 35 eine Abbildung entsprechend 19 in einem Fall, in dem ein Verteilungspaket für jede Gruppe erzeugt wird,
    • 36 eine Abbildung zur Veranschaulichung eines (zweiten) Modifikationsbeispiels der ersten Ausführungsform und zur Veranschaulichung eines Prozessinhalts in einem Paketerzeugungswerkzeug (-Tool).
    • 37 eine Abbildung zur Veranschaulichung der Gesamtkonfiguration gemäß einer sechsten Ausführungsform,
    • 38 eine Abbildung zur Veranschaulichung einer elektrischen Konfiguration eines CGW (data communication module bzw. Datenkommunikationsmodul),
    • 39 eine Abbildung zur Veranschaulichung einer elektrischen Konfiguration eines DCM (data communication module bzw. Datenkommunikationsmodul),
    • 40 eine Abbildung zur Veranschaulichung einer elektrischen Konfiguration einer ECU,
    • 41 eine Abbildung zur Veranschaulichung eines Verbindungsaspekts einer Energieversorgungsleitung,
    • 42 eine Abbildung zur Veranschaulichung eines Aspekts des Verpackens von Umprogrammierungsdaten und Verteilungsspezifikationsdaten,
    • 43 eine Abbildung zur Veranschaulichung von DCM-Umschre i bespezifi kationsdaten ,
    • 44 eine Abbildung zur Veranschaulichung von CGW-Umschre i bespezifi kationsdaten ,
    • 45 eine Abbildung zur Veranschaulichung von Verteilungsspezifikationsdaten,
    • 46 eine Abbildung zur Veranschaulichung eines Aspekts des Entpackens eines Verteilungspakets,
    • 47 eine Abbildung zur Veranschaulichung eines Aspekts während eines normalen Betriebs in einem Ein-Bank-Speicher vom Einbettungstyp,
    • 48 eine Abbildung zur Veranschaulichung eines Aspekts während eines Umschreibebetriebs in dem Ein-Bank-Speicher vom Einbettungstyp,
    • 49 eine Abbildung zur Veranschaulichung eines Aspekts während eines normalen Betriebs in einem Ein-Bank-Speicher vom Download-Typ,
    • 50 eine Abbildung zur Veranschaulichung eines Aspekts während eines Umschreibebetriebs in dem Ein-Bank-Speicher vom Download-Typ,
    • 51 eine Abbildung zur Veranschaulichung eines Aspekts während eines normalen Betriebs in einem Ein-Bank-Suspend-Speicher vom Einbettungstyp,
    • 52 eine Abbildung zur Veranschaulichung eines Aspekts während eines Umschreibebetriebs in dem Ein-Bank-Suspend-Speicher vom Einbettungstyp,
    • 53 eine Abbildung zur Veranschaulichung eines Aspekts während eines normalen Betriebs in einem Ein-Bank-Suspend-Speicher vom Download-Typ,
    • 54 eine Abbildung zur Veranschaulichung eines Aspekts während eines Umschreibebetriebs in dem Ein-Bank-Suspend-Speicher vom Download-Typ,
    • 55 eine Abbildung zur Veranschaulichung eines Aspekts während eines normalen Betriebs in einem Zwei-Bank-Speicher vom Einbettungstyp,
    • 56 eine Abbildung zur Veranschaulichung eines Aspekts während eines Umschreibebetriebs in dem Zwei-Bank-Speicher vom Einbettungstyp,
    • 57 eine Abbildung zur Veranschaulichung eines Aspekts während eines normalen Betriebs in einem Zwei-Bank-Speicher vom Download-Typ,
    • 58 eine Abbildung zur Veranschaulichung eines Aspekts während eines Umschreibebetriebs in dem Zwei-Bank-Speicher vom Download-Typ,
    • 59 eine Abbildung zur Veranschaulichung eines Aspekts des Umschreibens eines Anwendungsprogramms,
    • 60 eine Abbildung zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 61 eine Abbildung zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 62 ein Zeitdiagramm zur Veranschaulichung eines Aspekts, bei dem ein Anwendungsprogramm unter Verwendung einer Energieversorgungssteuerung umgeschrieben wird,
    • 63 ein Zeitdiagramm zur Veranschaulichung eines Aspekts, bei dem das Anwendungsprogramm unter Verwendung der Energieversorgungssteuerung umgeschrieben wird,
    • 64 ein Zeitdiagramm zur Veranschaulichung eines Aspekts, bei dem das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie umgeschrieben wird,
    • 65 ein Zeitdiagramm zur Veranschaulichung eines Aspekts, bei dem das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie umgeschrieben wird,
    • 66 eine Abbildung zur Veranschaulichung einer Phase,
    • 67 eine Abbildung zur Veranschaulichung eines Bildschirms in einem normalen Zustand,
    • 68 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn eine Kampagnenbenachrichtigung auftritt,
    • 69 eine Abbildung zur Veranschaulichung eines Bildschirms zur Zeit der Kam pagnenbenachrichtigung,
    • 70 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn ein Herunterladen (Download) genehmigt wird,
    • 71 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn das Herunterladen genehmigt wird,
    • 72 eine Abbildung zur Veranschaulichung eines Bildschirms während einer Ausführung des Herunterladens,
    • 73 eine Abbildung zur Veranschaulichung eines Bildschirms während einer Ausführung des Herunterladens,
    • 74 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn das Herunterladen abgeschlossen ist,
    • 75 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn eine Installation genehmigt wird,
    • 76 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn die Installation genehmigt wird,
    • 77 eine Abbildung zur Veranschaulichung eines Bildschirms während einer Ausführung der Installation,
    • 78 eine Abbildung zur Veranschaulichung eines Bildschirms während einer Ausführung der Installation,
    • 79 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn eine Aktivierung genehmigt wird,
    • 80 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn ein IG (Ignition Switch bzw. Zündschalter) EIN geschaltet ist,
    • 81 eine Abbildung zur Veranschaulichung eines Bildschirms während einer Prüfbedienung,
    • 82 eine Abbildung zur Veranschaulichung eines Bildschirms während der Prüfbedienung,
    • 83 ein funktionales Blockdiagramm einer Zentralvorrichtung,
    • 84 ein funktionales Blockdiagramm des DCM,
    • 85 ein funktionales Blockdiagramm des CGW,
    • 86 ein funktionales Blockdiagramm des CGW,
    • 87 ein funktionales Blockdiagramm des ECU,
    • 88 ein funktionales Blockdiagramm einer In-Vehicle-Anzeige,
    • 89 ein funktionales Blockdiagramm einer Verteilungspaket-Sendebestimmungseinheit,
    • 90 ein Ablaufdiagramm zur Veranschaulichung eines Verteilungspaket-Sendebestimmungsprozesses,
    • 91 ein funktionales Blockdiagramm einer Verteilungspaket-Download-Bestimmungseinheit,
    • 92 ein Ablaufdiagramm zur Veranschaulichung eines Verteilungspaket-Download-Bestimmungsprozesses,
    • 93 ein funktionales Blockdiagramm einer Schreibdaten-Übertragungsbestimmungseinheit,
    • 94 ein Ablaufdiagramm zur Veranschaulichung eines Schreibdaten-Übertragungsbestimmungsprozesses,
    • 95 ein funktionales Blockdiagramm einer Schreibdaten-Erfassungsbestimmungseinheit,
    • 96 ein Ablaufdiagramm zur Veranschaulichung eines Schreibdaten-Erfassungsbestimmungsprozesses,
    • 97 ein funktionales Blockdiagramm einer Installationsbefehlsbestimmungseinheit,
    • 98 ein Ablaufdiagramm zur Veranschaulichung eines Installationsbefehlsbestimmungsprozesses,
    • 99 eine Abbildung zur Veranschaulichung eines Aspekts des Anweisens einer Installation,
    • 100 eine Abbildung zur Veranschaulichung eines Aspekts des Anweisens einer Installation,
    • 101 eine Abbildung zur Veranschaulichung eines Aspekts des Erzeugens eines Zufallszahlenwerts,
    • 102 ein funktionales Blockdiagramm einer Sicherheitszugriffsschlüssel-Verwaltungseinheit,
    • 103 ein Ablaufdiagramm zur Veranschaulichung eines Sicherheitszugriffsschlüssel-Erzeugungsprozesses,
    • 104 eine Abbildung zur Veranschaulichung eines Aspekts des Erzeugens eines Sicherheitszugriffsschlüssels,
    • 105 ein Ablaufdiagramm zur Veranschaulichung eines Prozesses zum Löschen eines Sicherheitszugriffsschlüssels,
    • 106 eine Abbildung zur Veranschaulichung eines Prozessablaufs in Bezug auf eine Verifizierung von Schreibdaten,
    • 107 ein funktionales Blockdiagramm einer Schreibdatenverifizierungseinheit,
    • 108 ein Ablaufdiagramm zur Veranschaulichung eines Schreibdatenverifizierungsprozesses,
    • 109 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem ein Prozess in Bezug auf eine Verifizierung von Schreibdaten verteilt wird,
    • 110 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem der Prozess in Bezug auf die Verifizierung von Schreibdaten verteilt wird,
    • 111 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem der Prozess in Bezug auf die Verifizierung von Schreibdaten verteilt wird,
    • 112 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem der Prozess in Bezug auf die Verifizierung von Schreibdaten verteilt wird,
    • 113 eine Abbildung zur Veranschaulichung eines Ablaufs des Verifizierens von Schreibdaten und des Umschreibens eines Anwendungsprogramms,
    • 114 eine Abbildung zur Veranschaulichung eines Ablaufs des Verifizierens der Schreibdaten und des Umschreibens des Anwendungsprogramms,
    • 115 ein funktionales Blockdiagramm einer Datenspeicherbank-Informationssendesteuereinheit,
    • 116 ein Ablaufdiagramm zur Veranschaulichung eines Datenspeicherbank-Informationssendesteuerprozesses,
    • 117 ein Sequenzdiagramm zur Veranschaulichung eines Aspekts des Ausführens einer Benachrichtigung von Zwei-Bank-Umschreibeinformation,
    • 118 ein funktionales Blockdiagramm einer Energieversorgungsverwaltungseinheit für ein Nicht-Umschreibeziel,
    • 119 ein Ablaufdiagramm zur Veranschaulichung eines Energieversorgungsverwaltungsprozesses für ein Nicht-Umschreibeziel,
    • 120 eine Abbildung zur Veranschaulichung eines Übergangs in einen Startzustand, einen Stoppzustand und einen Ruhezustand,
    • 121 eine Abbildung zur Veranschaulichung des Übergangs des Startzustands, des Stoppzustands und des Ruhezustands,
    • 122 eine Abbildung zur Veranschaulichung eines Verbindungsaspekts von Energieversorgungsleitungen,
    • 123 ein Ablaufdiagramm zur Veranschaulichung eines Batterierestladungs-Überwachungsprozesses,
    • 124 ein funktionales Blockdiagramm einer Dateiübertragungssteuereinheit,
    • 125 ein Ablaufdiagramm zur Veranschaulichung eines Dateiübertragungssteuerprozesses,
    • 126 eine Abbildung zur Veranschaulichung eines Aspekts des Austauschens von Dateien,
    • 127 eine Abbildung zur Veranschaulichung eines Aspekts des Austauschens von Dateien,
    • 128 eine Abbildung zur Veranschaulichung von geteilten Dateien und Schreibdateien,
    • 129 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem das CGW eine Übertragungsanfrage an das DCM sendet,
    • 130 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem das CGW eine Übertragungsanfrage an das DCM sendet,
    • 131 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem das CGW Schreibdaten an eine Umschreibeziel-ECU verteilt,
    • 132 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem das CGW die Schreibdaten an die Umschreibeziel-ECU verteilt,
    • 133 eine Abbildung zur Veranschaulichung eines Aspekts, bei dem das CGW die Schreibdaten an die Umschreibeziel-ECU verteilt,
    • 134 eine Abbildung zur Veranschaulichung eines Verbindungsaspekts der ECU,
    • 135 ein funktionales Blockdiagramm einer Schreibdaten-Verteilungssteuereinheit,
    • 136 eine Abbildung zur Veranschaulichung einer Busauslastungstabelle,
    • 137 eine Abbildung zur Veranschaulichung einer Tabelle, zu der die Umschreibeziel-ECU gehört,
    • 138 ein Ablaufdiagramm zur Veranschaulichung eines Schreibdaten-Verteilungssteuerprozesses,
    • 139 eine Abbildung zur Veranschaulichung eines Aspekts des Verteilens von Schreibdaten,
    • 140 eine Abbildung zur Veranschaulichung eines Aspekts des Verteilens von Schreibdaten,
    • 141 eine Abbildung zur Veranschaulichung eines Aspekts des Verteilens von Schreibdaten während der Fahrt eines Fahrzeugs,
    • 142 eine Abbildung zur Veranschaulichung eines Aspekts des Verteilens von Schreibdaten während eines Parkens,
    • 143 eine Abbildung zur Veranschaulichung einer Verteilungsmenge von Schreibdaten,
    • 144 eine Abbildung zur Veranschaulichung einer Verteilungsmenge von Schreibdaten,
    • 145 ein funktionales Blockdiagramm einer Startanfragebefehlseinheit,
    • 146 ein Ablaufdiagramm zur Veranschaulichung eines Startanfragebefehlsprozesses,
    • 147 eine Abbildung zur Veranschaulichung eines Aspekts des Anweisens einer Startanfrage,
    • 148 ein funktionales Blockdiagramm einer Aktivierungsausführungssteuereinheit,
    • 149 ein Ablaufdiagramm zur Veranschaulichung eines Umschreibeprozesses,
    • 150 ein Ablaufdiagramm zur Veranschaulichung eines Aktivierungsausführungssteuerprozesses,
    • 151 ein funktionales Blockdiagramm einer Umschreibeziel-Gruppierungseinheit,
    • 152 ein Ablaufdiagramm zur Veranschaulichung eines Umschreibeziel-Gruppierungsverwaltungsprozesses,
    • 153 ein Ablaufdiagramm zur Veranschaulichung des Umschreibeziel-Gruppierungsverwaltungsprozesses,
    • 154 eine Abbildung zur Veranschaulichung eines Aspekts des Gruppierens von Umschreibezielen,
    • 155 ein funktionales Blockdiagramm einer Rollback-Ausführungssteuereinheit,
    • 156 ein Ablaufdiagramm zur Veranschaulichung eines Rollbackverfahren-Spezifizierungsprozesses,
    • 157 ein Ablaufdiagramm zur Veranschaulichung eines Abbruchanfragebestimmungsprozesses,
    • 158 ein Ablaufdiagramm zur Veranschaulichung des Abbruchanfragebestimmungsprozesses,
    • 159 ein Ablaufdiagramm zur Veranschaulichung des Abbruchanfragebestimmungsprozesses,
    • 160 ein Ablaufdiagramm zur Veranschaulichung des Abbruchanfragebestimmungsprozesses,
    • 161 ein Ablaufdiagramm zur Veranschaulichung des Abbruchanfragebestimmungsprozesses,
    • 162 eine Abbildung zur Veranschaulichung eines Aspekts des Ausführens eines Rollbacks,
    • 163 eine Abbildung zur Veranschaulichung eines Aspekts des Ausführens des Rollbacks,
    • 164 eine Abbildung zur Veranschaulichung eines Aspekts des Ausführens des Rollbacks,
    • 165 eine Abbildung zur Veranschaulichung eines Aspekts des Ausführens des Rollbacks,
    • 166 eine Abbildung zur Veranschaulichung eines Aspekts des Ausführens des Rollbacks,
    • 167 ein funktionales Blockdiagramm einer Umschreibefortschrittssituations-Anzeigesteuereinheit,
    • 168 ein Ablaufdiagramm zur Veranschaulichung eines Umschreibefortschrittssituations-Anzeigesteuerprozesses,
    • 169 ein Ablaufdiagramm zur Veranschaulichung des Umschreibefortschrittssituations-Anzeigesteuerprozesses,
    • 170 eine Abbildung zur Veranschaulichung eines Umschreibefortschrittssituationsbildschirms,
    • 171 eine Abbildung zur Veranschaulichung des Umschreibefortschrittssituationsbildschirms,
    • 172 eine Abbildung zur Veranschaulichung des Umschreibefortschrittssituationsbildschirms,
    • 173 eine Abbildung zur Veranschaulichung des Umschreibefortschrittssituationsbildschirms,
    • 174 eine Abbildung zur Veranschaulichung des Umschreibefortschrittssituationsbildschirms,
    • 175 eine Abbildung zur Veranschaulichung eines Übergangs einer Fortschrittsdiagrammanzeige,
    • 176 eine Abbildung zur Veranschaulichung des Übergangs der Fortschrittsdiagrammanzeige,
    • 177 eine Abbildung zur Veranschaulichung des Übergangs der Fortschrittsdiagrammanzeige,
    • 178 eine Abbildung zur Veranschaulichung des Übergangs der Fortschrittsdiagrammanzeige,
    • 179 eine Abbildung zur Veranschaulichung eines Umschreibefortschrittssituationsbildschirms,
    • 180 ein funktionales Blockdiagramm einer Differenzdatenkonsistenz-Bestimmungseinheit,
    • 181 ein Ablaufdiagramm zur Veranschaulichung eines Differenzdatenkonsistenz-Bestimmungsprozesses,
    • 182 eine Abbildung zur Veranschaulichung eines Aspekts des Bestimmens der Konsistenz von Differenzdaten,
    • 183 eine Abbildung zur Veranschaulichung eines Aspekts des Bestimmens der Konsistenz von Differenzdaten,
    • 184 ein funktionales Blockdiagramm einer Umschreibeausführungssteuereinheit,
    • 185 ein Ablaufdiagramm zur Veranschaulichung eines Normalbetriebsprozesses,
    • 186 ein Ablaufdiagramm zur Veranschaulichung eines Umschreibebetriebsprozesses,
    • 187 ein Ablaufdiagramm zur Veranschaulichung eines Informationsbenachrichtigungsprozesses,
    • 188 ein Ablaufdiagramm zur Veranschaulichung eines Umschreibeprogrammverifizierungsprozesses,
    • 189 eine Abbildung zur Veranschaulichung eines Aspekts des Sendens von Kenninformation und Schreibdaten,
    • 190 eine Abbildung zur Veranschaulichung eines Aspekts des Sendens der Kenninformation und der Schreibdaten,
    • 191 ein Ablaufdiagramm zur Veranschaulichung eines Installationsbefehlsprozesses,
    • 192 ein funktionales Blockdiagramm einer Sitzungsaufbaueinheit,
    • 193 eine Abbildung zur Veranschaulichung einer Konfiguration eines Programms,
    • 194 eine Abbildung zur Veranschaulichung eines Zustandsübergangs,
    • 195 eine Abbildung zur Veranschaulichung des Zustandsübergangs,
    • 196 eine Abbildung zur Veranschaulichung des Zustandsübergangs,
    • 197 eine Abbildung zur Veranschaulichung einer Sitzungsarbitrierung,
    • 198 eine Abbildung zur Veranschaulichung einer Sitzungsarbitrierung,
    • 199 ein Ablaufdiagramm zur Veranschaulichung einer Zustandsübergangsverwaltung für einen ersten Zustand,
    • 200 ein Ablaufdiagramm zur Veranschaulichung des Zustandsübergangsverwaltungsprozesses für den ersten Zustand,
    • 201 ein Ablaufdiagramm zur Veranschaulichung des Zustandsübergangsverwaltungsprozesses für den ersten Zustand,
    • 202 ein Ablaufdiagramm zur Veranschaulichung eines Zustandsübergangsverwaltungsprozesses für einen zweiten Zustand,
    • 203 ein Ablaufdiagramm zur Veranschaulichung des Zustandsübergangsverwaltungsprozesses für den zweiten Zustand,
    • 204 eine Abbildung zur Veranschaulichung einer Konfiguration eines Programms,
    • 205 eine Abbildung zur Veranschaulichung eines Zustandsübergangs,
    • 206 ein funktionales Blockdiagramm einer Wiederholungspunktspezifizierungseinheit,
    • 207 eine Abbildung zur Veranschaulichung einer Konfiguration eines Flash-Speichers,
    • 208 ein Ablaufdiagramm zur Veranschaulichung eines Prozess-Flag-Einstellprozesses,
    • 209 ein Ablaufdiagramm zur Veranschaulichung eines Prozess-Flag-Bestimmungsprozesses,
    • 210 ein Ablaufdiagramm zur Veranschaulichung des Prozess-Flag-Bestimmungsprozesses,
    • 211 ein funktionales Blockdiagramm einer Fortschrittszustandssynchronisierungs-Steuereinheit,
    • 212 ein funktionales Blockdiagramm der Fortschrittszustandssynchronisierungs-Steuereinheit,
    • 213 eine Abbildung zur Veranschaulichung eines Aspekts des Sendens und Empfangens eines Fortschrittszustandssignals,
    • 214 ein Ablaufdiagramm zur Veranschaulichung eines Fortschrittszustandssynchronisierungs-Steuerprozesses,
    • 215 ein Ablaufdiagramm zur Veranschaulichung des Fortschrittszustandssynchronisierungs-Steuerprozesses,
    • 216 ein Ablaufdiagramm zur Veranschaulichung eines Fortschrittszustandsanzeigeprozesses,
    • 217 ein funktionales Blockdiagramm einer Anzeigesteuerinformations-Sendesteuereinheit,
    • 218 ein Ablaufdiagramm zur Veranschaulichung eines Anzeigesteuerinformations-Sendesteuerprozesses,
    • 219 ein funktionales Blockdiagramm einer Anzeigesteuerinformations-Empfangssteuereinheit,
    • 220 ein Ablaufdiagramm zur Veranschaulichung eines Anzeigesteuerinformations-Empfangssteuerprozesses,
    • 221 eine Abbildung zur Veranschaulichung von in Verteilungsspezifikationsdaten enthaltener Information,
    • 222 ein funktionales Blockdiagramm einer Fortschrittsanzeige-Bildschirmanzeigesteuereinheit,
    • 223 eine Abbildung zur Veranschaulichung von Umschreibespezifikationsdaten,
    • 224 eine Abbildung zur Veranschaulichung eines Bildschirms während einer Menüauswahl,
    • 225 eine Abbildung zur Veranschaulichung eines Bildschirms während einer Benutzerauswahl,
    • 226 eine Abbildung zur Veranschaulichung eines Bildschirms während einer Benutzerregistrierung,
    • 227 ein Ablaufdiagramm zur Veranschaulichung eines Bildschirmanzeigesteuerprozesses für eine Fortschrittsanzeige,
    • 228 ein Ablaufdiagramm zur Veranschaulichung des Bildschirmanzeigesteuerprozesses für eine Fortschrittsanzeige,
    • 229 eine Abbildung zur Veranschaulichung eines Nachrichtenrahmens,
    • 230 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn die Aktivierung genehmigt wird,
    • 231 eine Abbildung zur Veranschaulichung einer Einstellung der Postenanzeigeverfügbarkeit,
    • 232 eine Abbildung zur Veranschaulichung der Einstellung der Postenanzeigeverfügbarkeit,
    • 233 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn eine Aktivierung genehmigt wird,
    • 234 eine Abbildung zur Veranschaulichung eines Aspekts von Datenkommunikation,
    • 235 eine Abbildung zur Veranschaulichung eines Nachrichtenrahmens während einer Kampagnenbenachrichtigung,
    • 236 eine Abbildung zur Veranschaulichung eines Nachrichtenrahmens, wenn ein Herunterladen genehmigt wird,
    • 237 eine Abbildung zur Veranschaulichung eines Nachrichtenrahmens, wenn eine Installation genehmigt wird,
    • 238 eine Abbildung zur Veranschaulichung des Nachrichtenrahmens, wenn eine Aktivierung genehmigt wird,
    • 239 eine Abbildung zur Veranschaulichung eines Bildschirmübergangs,
    • 240 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn eine Kampagnenbenachrichtigung auftritt,
    • 241 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn ein Herunterladen (Download) genehmigt wird,
    • 242 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn das Herunterladen genehmigt wird,
    • 243 eine Abbildung zur Veranschaulichung eines Bildschirms während der Ausführung eines Herunterladens,
    • 244 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn das Herunterladen abgeschlossen ist,
    • 245 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn eine Installation genehmigt wird,
    • 246 eine Abbildung zur Veranschaulichung eines Bildschirms, wenn eine Aktivierung genehmigt wird,
    • 247 ein funktionales Blockdiagramm einer Programmaktualisierungsbenachrichtigungs-Steuereinheit,
    • 248 ein Ablaufdiagramm zur Veranschaulichung eines Programmaktualisierungsbenachrichtigungs-Steuerprozesses,
    • 249 eine Abbildung zur Veranschaulichung eines Indikatorbenachrichtigungsaspekts,
    • 250 eine Abbildung zur Veranschaulichung des Übergangs eines Benachrichtigungsaspekts in einem Fall, in dem ein Umschreibeziel ein Zwei-Bank-Speicher ist,
    • 251 eine Abbildung zur Veranschaulichung des Übergangs eines Benachrichtigungsaspekts in einem Fall, in dem ein Umschreibeziel ein Ein-Bank-Suspend-Speicher ist.
    • 252 eine Abbildung zur Veranschaulichung des Übergangs eines Benachrichtigungsaspekts in einem Fall, in dem ein Umschreibeziel ein Ein-Bank-Speicher ist,
    • 253 eine Abbildung zur Veranschaulichung eines Verbindungsaspekts,
    • 254 ein funktionales Blockdiagramm einer Selbsterhaltungsenergie-Ausführungssteuereinheit in dem CGW,
    • 255 ein funktionales Blockdiagramm einer Selbsterhaltungsenergie-Ausführungssteuereinheit in dem ECU,
    • 256 ein Ablaufdiagramm zur Veranschaulichung eines Ausführungssteuerprozesses für Selbsterhaltungsenergie in dem CGW,
    • 257 ein Ablaufdiagramm zur Veranschaulichung eines Ausführungssteuerprozesses für Selbsterhaltungsenergie in dem ECU,
    • 258 eine Abbildung zur Veranschaulichung eines Zeitraums, in der Selbsterhaltungsenergie benötigt wird,
    • 259 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 260 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 261 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 262 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 263 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 264 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 265 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 266 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 267 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms,
    • 268 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms, und
    • 269 ein Gesamtsequenzdiagramm zur Veranschaulichung eines Aspekts des Umschreibens des Anwendungsprogramms.
  • MODI ZUM AUSFÜHREN DER ERFINDUNG
  • (Erste Ausführungsform)
  • Nachstehend ist eine erste Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die 1 bis 20 beschrieben. Ein Fahrzeugprogrammumschreibesystem ist ein System, das in der Lage ist, ein Anwendungsprogramm für eine Fahrzeugsteuerung, Diagnose und dergleichen einer an einem Fahrzeug montierten ECU per OTA umzuschreiben. Wie in 1 gezeigt, weist ein Fahrzeugprogrammumschreibesystem 1 eine Zentralvorrichtung 3 auf einer Seite eines Kommunikationsnetzes 2, ein fahrzeugseitiges System 4 auf einer Fahrzeugseite und ein Anzeige-Endgerät 5 auf. Das Kommunikationsnetz 2 ist konfiguriert, um z.B. ein Mobilkommunikationsnetz, wie beispielsweise eine 4G-Leitung und dergleichen, das Internet und Wi-Fi® (Wireless Fidelity) zu umfassen.
  • Das Anzeige-Endgerät 5 ist ein Endgerät mit einer Funktion zum Empfangen einer Bedieneingabe von einem Benutzer und einer Funktion zum Anzeigen verschiedener Bildschirme bzw. Bildschirmansichten und ist beispielsweise ein mobiles Endgerät 6, wie beispielsweise ein Smartphone oder ein Tablet-Computer, das von einem Benutzer mitgeführt werden kann, und eine In-Vehicle-Anzeige 7, wie beispielsweise ein Display oder eine Zähleranzeige, die auch als Navigationsfunktion in einem Fahrzeuginnenraum verwendet wird. Das mobile Endgerät 6 kann mit dem Kommunikationsnetz 2 verbunden werden, solange sich das mobile Endgerät 6 in einem Kommunikationsbereich eines Mobilkommunikationsnetzes befindet. Die In-Vehicle-Anzeige 7 ist mit dem fahrzeugseitigen System 4 verbunden.
  • Solange sich ein Benutzer außerhalb des Fahrzeuginnenraums und innerhalb des Kommunikationsbereichs des Mobilkommunikationsnetzes befindet, kann der Benutzer eine Bedieneingabe vornehmen, während er verschiedene Bildschirme in Bezug auf ein Umschreiben eines Anwendungsprogramms mit dem mobilen Endgerät 6 überprüft, und er kann eine Prozedur in Bezug auf das Umschreiben des Anwendungsprogramms ausführen. Im Fahrzeuginnenraum kann der Benutzer eine Bedieneingabe vornehmen, während er verschiedene Bildschirme in Bezug auf ein Umschreiben des Anwendungsprogramms über die In-Vehicle-Anzeige 7 überprüft, und er kann eine Prozedur in Bezug auf ein Umschreiben des Anwendungsprogramms ausführen. D.h., der Benutzer kann das mobile Endgerät 6 und die In-Vehicle-Anzeige 7 selektiv verwenden, je nachdem, ob er sich außerhalb des Fahrzeuginnenraums oder im Fahrzeuginnenraum befindet, und er kann eine Prozedur in Bezug auf das Umschreiben des Anwendungsprogramms ausführen.
  • Die Zentralvorrichtung 3 steuert eine OTA-Funktion der Seite des Kommunikationsnetzes 2 im Fahrzeugprogrammumschreibesystem 1 und fungiert als ein OTA-Zentrum. Die Zentralvorrichtung 3 enthält einen Dateiserver 8, einen Webserver 9 und einen Verwaltungsserver 10, und jeder der Server 8 bis 10 ist konfiguriert, um eine Datenkommunikation miteinander ausführen zu können.
  • Der Dateiserver 8 weist eine Funktion zum Verwalten eines von der Zentralvorrichtung 3 an das fahrzeugseitige System 4 gesendeten Anwendungsprogramms auf und ist ein Server, der ein ECU-Programm, das von einem Anbieter oder dergleichen bereitgestellt wird, der ein Provider des Anwendungsprogramms ist, mit dem ECU-Programm verbundene Information, von einem Erstausrüster bzw. Originalausrüstungshersteller (OEM für Original Equipment Manufacturer) bereitgestellte Verteilungsspezifikationsdaten, vom fahrzeugseitigen System 4 erfasste Fahrzeugzustände und dergleichen verwaltet. Der Dateiserver 8 kann eine Datenkommunikation mit dem fahrzeugseitigen System 4 über das Kommunikationsnetz 2 ausführen und sendet ein Verteilungspaket, in dem die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten verpackt sind, an das fahrzeugseitige System 4, wenn eine Download-Anfrage für das Verteilungspaket erzeugt wird. Der Webserver 9 ist ein Server, der Webinformation verwaltet und dem mobilen Endgerät 6 verschiedene Bildschirme (hierin als Bildschirmansichten zu verstehen) in Bezug auf das Umschreiben eines Anwendungsprogramms bereitstellt. Der Verwaltungsserver 10 verwaltet persönliche Information eines Benutzers, der in einem Dienst zum Umschreiben eines Anwendungsprogramms registriert ist, eine Umschreibehistorie eines Anwendungsprogramms für jedes Fahrzeug und dergleichen.
  • 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, um eine Datenkommunikation ausführen zu können. Das DCM 12 ist eine fahrzeugmontierte Kommunikationsvorrichtung, die eine Datenkommunikation mit der Zentralvorrichtung 3 über das Kommunikationsnetz 2 ausführt und, wenn ein Verteilungspaket vom Dateiserver 8 heruntergeladen wird, Schreibdaten aus dem Verteilungspaket extrahiert und die Schreibdaten an das CGW 13 überträgt.
  • Das CGW 13 ist eine Fahrzeug-Gateway-Vorrichtung mit einer Datenweiterleitungsfunktion und verteilt, wenn die Schreibdaten vom DCM 12 erfasst werden, die Schreibdaten an eine Umschreibeziel-ECU, in der ein Anwendungsprogramm umgeschrieben wird. Die Master-Vorrichtung 11 steuert die OTA-Funktion der Fahrzeugseite im Fahrzeugprogrammumschreibesystem 1 und fungiert als ein OTA-Master. In 1 können, obgleich das DCM 12 und die In-Vehicle-Anzeige 7 konfiguriert sind, um gemäß einem Beispiel mit demselben ersten Bus 14 verbunden zu sein, das DCM 12 und die In-Vehicle-Anzeige 7 auch konfiguriert sein, um mit separaten Bussen verbunden zu sein.
  • Zusätzlich zum ersten Bus 14 sind ein zweiter Bus 15, ein dritter Bus 16, ein vierter Bus 17 und ein fünfter Bus 18 als fahrzeuginterne Busse mit dem CGW 13 verbunden, und verschiedene ECUs 19 sind über die Busse 15 bis 17 verbunden und eine Energieversorgungsverwaltungs-ECU 20 ist über den Bus 18 verbunden.
  • Der zweite Bus 15 ist z.B. ein Karosseriesystem-Netzwerkbus. Die mit dem zweiten Bus 15 verbundenen ECUs 19 sind ECUs, die das Karosseriesystem steuern, einschließlich beispielsweise einer Tür-ECU, die das Verriegeln/Entriegeln einer Tür steuert, einer Zähler-ECU, die eine Anzeige auf der Zähleranzeige (Display) steuert, einer Klimaanlagen-ECU zum Ansteuern einer Klimaanlage, und einer Fenster-ECU, die das Öffnen und Schließen eines Fensters steuert. Der dritte Bus 16 ist z.B. ein Fahrsystem-Netzwerkbus. Die mit dem dritten Bus 16 verbundenen ECUs 19 sind ECUs, die das Fahrsystem steuern, einschließlich beispielsweise einer Motor-ECU zur Antriebssteuerung eines Motors, einer Brems-ECU zum Ansteuern einer Bremse, einer ECT (Electronic Controlled Transmission bzw. elektronisch gesteuertes Getriebe) -ECU zum Ansteuern eines Automatikgetriebes, und einer Servolenkungs-ECU zum Ansteuern einer Servolenkung.
  • Der vierte Bus 17 ist z.B. ein Multimediasystem-Netzwerkbus. Die mit dem vierten Bus 17 verbundenen ECUs 19 sind ECUs, die das Multimediasystem steuern, einschließlich beispielsweise einer Navigations-ECU, die ein Navigationssystem steuert, und einer ETC® (Electronic Toll Collection System bzw. elektronisches Mautsystem) - ECU, die ein elektronisches Mautsystem, d.h. ein ETC-System, steuert. Die Busse 15 bis 17 können Systembusse verschieden von dem Karosseriesystem-Netzwerkbus, dem Fahrsystem-Netzwerkbus und dem Multimediasystem-Netzwerkbus sein. Die Anzahl von Bussen und die Anzahl der ECUs 19 sind nicht auf die beispielhafte Konfiguration beschränkt.
  • Die Energieversorgungsverwaltungs-ECU 20 ist eine ECU mit einer Funktion zum Verwalten von Energie, die dem DCM 12, dem CGW 13, den verschiedenen ECUs 19 und dergleichen zuzuführen ist.
  • Ein sechster Bus 21 ist als ein Bus außerhalb des Fahrzeugs mit dem CGW 13 verbunden. Ein DLC-Verbinder 22 (DLC für Data Link Coupler bzw. Datenverbindungskoppler), mit dem ein Werkzeug bzw. Tool 23 abnehmbar 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 z.B. mit CAN®-Bussen (CAN für Controller Area Network) konfiguriert, und das CGW 13 führt eine Datenkommunikation mit dem DCM 12, den verschiedenen ECUs 19 und dem Werkzeug 23 gemäß dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard (UDS: ISO14229) aus. Das DCM 12 und das CGW 13 können via Ethernet miteinander verbunden werden, und der DLC-Verbinder 22 und das CGW 13 können via Ethernet miteinander verbunden werden.
  • Wenn Schreibdaten vom CGW 13 empfangen werden, schreibt die Umschreibeziel-ECU 19 die Schreibdaten in einen Flash-Speicher, um ein Anwendungsprogramm umzuschreiben. In der obigen Konfiguration fungiert das CGW 13, wenn eine Anfrage zum Erfassen von Schreibdaten von der Umschreibeziel-ECU 19 empfangen wird, als ein Umprogrammierungs-Master, der die Schreibdaten an die Umschreibeziel-ECU 19 verteilt. Wenn die Schreibdaten vom CGW 13 empfangen werden, fungiert die Umschreibeziel-ECU 19 als ein Umprogrammierungs-Slave, der die Schreibdaten in den Flash-Speicher schreibt, um das Anwendungsprogramm umzuschreiben.
  • Als Aspekt des Umschreibens des Anwendungsprogramms gibt es einen Aspekt drahtgebundenen Umschreibens und einen Aspekt drahtlosen Umschreibens. Bei dem Aspekt, bei dem das Anwendungsprogramm in einer drahtgebundenen Weise umgeschrieben wird, sendet das Werkzeug 23 die Schreibdaten an das CGW 13, wenn es mit dem DLC-Verbinder 22 verbunden ist. Das CGW 13 leitet oder verteilt die vom Werkzeug 23 übertragenen Schreibdaten an die Umschreibeziel-ECU 19 weiter. Bei dem Aspekt des Umschreibens des Anwendungsprogramms in einer drahtlosen Weise extrahiert das DCM 12, wie vorstehend beschrieben, wenn das Verteilungspaket vom Dateiserver 8 heruntergeladen wird, die Schreibdaten aus dem Verteilungspaket und überträgt die Schreibdaten an das CGW 13.
  • Wie in 2 gezeigt, enthält das CGW 13 einen Mikrocomputer 24, eine Datenübertragungsschaltung 25, eine Energieversorgungsschaltung 26 und eine Energieerfassungsschaltung 29 als elektrische Funktionsblöcke. Der Mikrocomputer 24 enthält eine zentrale Recheneinheit (CPU) 24a, einen Nur-Lese-Speicher (ROM) 24b, einen Schreib-Lese-Speicher (RAM) 24c und einen Flash-Speicher 24d. Der Mikrocomputer 24 führt verschiedene Prozess aus, indem er in einem nichtflüchtigen greifbaren Speichermedium gespeicherte verschiedene Steuerprogramme ausführt, und steuert einen Betrieb des CGW 13.
  • Die Datenübertragungsschaltung 25 steuert eine Datenkommunikation mit den Bussen 14 bis 18 und 21 gemäß dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard. Die Energieversorgungsschaltung 26 empfängt Batterie-Energie (im Folgenden als +B-Energie bezeichnet), Zubehör-Energie (im Folgenden als ACC-Energie bezeichnet) und Zünd-Energie (im Folgenden als IG-Energie bezeichnet). Die Energieerfassungsschaltung 27 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die von der Energieversorgungsschaltung 26 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 24 aus. Der Mikrocomputer 24 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die dem CGW 13 von außen zugeführt werden, normal oder anormal sind, auf der Grundlage der von der Energieerfassungsschaltung 27 eingegebenen Vergleichsergebnisse.
  • Wie in 3 gezeigt, enthält die ECU 19 einen Mikrocomputer 28, eine Datenübertragungsschaltung 29, eine Energieversorgungsschaltung 30 und eine Energieerfassungsschaltung 31 als elektrische Funktionsblöcke. Der Mikrocomputer 28 enthält eine CPU 28a, ein ROM 28b, ein RAM 28c und einen Flash-Speicher 28d. Der Mikrocomputer 28 führt verschiedene Prozess aus, indem er in einem nichtflüchtigen greifbaren Speichermedium gespeicherte verschiedene Steuerprogramme ausführt, und steuert einen Betrieb des ECU 19.
  • Die Datenübertragungsschaltung 29 steuert eine Datenkommunikation mit den Bussen 15 bis 17 gemäß dem CAN-Datenkommunikationsstandard. Die Energieversorgungsschaltung 30 empfängt +B-Energie, ACC-Energie und IG-Energie. Die Energieerfassungsschaltung 31 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die von der Energieversorgungsschaltung 30 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 28 aus. Der Mikrocomputer 28 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die dem ECU 19 von außen zugeführt werden, normal oder anormal sind, auf der Grundlage der von der Energieerfassungsschaltung 27 eingegebenen Vergleichsergebnisse. Die ECUs 19 weisen grundsätzlich die gleiche Konfiguration auf, außer dass sich damit verbundene Lasten, wie beispielsweise Sensoren oder Aktuatoren, voneinander unterscheiden. Die grundsätzliche Konfiguration von sowohl dem DCM 12 als auch der In-Vehicle-Anzeige 7 als auch den Energieversorgungsverwaltungs-ECUs ist die gleiche wie die der in 3 gezeigten ECU 19.
  • Wie in 4 gezeigt, sind die Energieversorgungsverwaltungs-ECU 20, das CGW 13 und die ECU 19 mit einer +B-Energieleitung 32, einer ACC-Energieleitung 33 und einer IG-Energieleitung 34 verbunden. Die +B-Energieleitung 32 ist mit einer positiven Elektrode einer Fahrzeugbatterie 35 verbunden. Die ACC-Energieleitung 33 ist über einen ACC-Schalter 36 mit der positiven Elektrode der Fahrzeugbatterie 35 verbunden. Wenn der Benutzer eine ACC-Bedienung ausführt, schaltet der ACC-Schalter 36 von einem AUS-Zustand in einen EIN-Zustand, und eine Ausgangsspannung der Fahrzeugbatterie 35 wird an die ACC-Energieleitung 33 angelegt. Zum Beispiel ist, im Fall eines Fahrzeugs des Typs zum Einführen eines Schlüssels in eine Einführungsöffnung, die ACC-Bedienung eine Bedienung des Drehens des Schlüssels von einer „AUS“-Position in eine „ACC“-Position durch Einführen des Schlüssels in die Einführungsöffnung, und, im Fall eines Fahrzeugs des Typs zum Drücken einer Starttaste, ist die ACC-Bedienung eine Bedienung des einmaligen Drückens der Starttaste.
  • Die IG-Energieleitung 34 ist über einen IG-Schalter 37 mit der positiven Elektrode der Fahrzeugbatterie 35 verbunden. Wenn der Benutzer eine IG-Bedienung ausführt, schaltet der IG-Schalter 37 von einem AUS-Zustand in einen EIN-Zustand, und eine Ausgangsspannung der Fahrzeugbatterie 35 wird an die IG-Energieleitung 34 angelegt. Zum Beispiel ist, im Fall eines Fahrzeugs des Typs zum Einführen eines Schlüssels in eine Einführungsöffnung, die IG-Bedienung eine Bedienung des Drehens des Schlüssels von einer „AUS“-Position in eine „EIN“-Position durch Einführen des Schlüssels in die Einführungsöffnung, und, im Fall eines Fahrzeugs des Typs zum Drücken einer Starttaste, ist die IG-Bedienung eine Bedienung des zweimaligen Drückens der Starttaste. Eine negative Elektrode der Fahrzeugbatterie 35 ist geerdet.
  • Wenn sowohl der ACC-Schalter 36 als auch der IG-Schalter 37 im AUS-Zustand sind, wird nur die +B-Energie an das fahrzeugseitige System 4 gegeben. Der Zustand, in dem nur die +B-Energie an das fahrzeugseitige System 4 gegeben wird, ist nachstehend als +B-Energieversorgungszustand bezeichnet. Wenn der ACC-Schalter 36 in einem EIN-Zustand und der IG-Schalter 37 in einem AUS-Zustand ist, werden die ACC-Energie und die +B-Energie an das fahrzeugseitige System 4 gegeben. Der Zustand, in dem die ACC-Energie und die +B-Energie an das fahrzeugseitige System 4 gegeben bzw. geliefert werden, ist nachstehend als ACC-Energieversorgungszustand bezeichnet. Wenn sowohl der ACC-Schalter 36 als auch der IG-Schalter 37 in einem EIN-Zustand sind, werden die +B-Energie, die ACC-Energie und die IG-Energie an das fahrzeugseitige System 4 gegeben. Der Zustand, in dem die +B-Energie, die ACC-Energie und die IG-Energie an das fahrzeugseitige System 4 gegeben werden, ist nachstehend als IG-Energieversorgungszustand bezeichnet.
  • Die ECUs 19 weisen in Abhängigkeit von Energieversorgungszuständen unterschiedliche Startbedingungen auf und werden in eine +B-ECU, die im +B-Energieversorgungszustand gestartet wird, eine ACC-ECU, die im ACC-Energieversorgungszustand gestartet wird, und eine IG-ECU, die im IG-Energieversorgungszustand gestartet wird, klassifiziert. Zum Beispiel ist die ECU 19, die in einer Anwendung wie Fahrzeugdiebstahl angesteuert wird, die +B-ECU. Zum Beispiel ist die ECU 19, die in einer Nicht-Fahrsystem-Anwendung wie Audio angesteuert wird, die ACC-ECU. Zum Beispiel ist die ECU 19, die in einer Fahrsystem-Anwendung wie Motorsteuerung angesteuert wird, die IG-ECU.
  • Das CGW 13 sendet eine Startanfrage an die ECU 19, die sich in einem Ruhezustand befindet, und veranlasst damit die ECU 19, die ein Sendeziel der Startanfrage ist, vom Ruhezustand in einen Startzustand überzugehen. Das CGW 13 sendet ebenso eine Schlafanfrage an die ECU 19, die sich in einem Startzustand befindet, und veranlasst so die ECU 19, die ein Sendeziel der Schlafanfrage ist, vom Startzustand in einen Ruhezustand überzugehen. Das CGW 13 wählt die ECU 19, die ein Sendeziel der Startanfrage oder der Schlafanfrage ist, aus den mehreren ECUs, indem es beispielsweise bewirkt, dass sich Wellenformen der an die Busse 15 bis 17 zu sendenden Sendesignale voneinander unterscheiden.
  • Die Energieversorgungssteuerschaltung 38 ist parallel zu dem ACC-Schalter 36 und dem IG-Schalter 37 geschaltet. Das CGW 13 sendet eine Energieversorgungssteueranfrage an die Energieversorgungsverwaltungs-ECU 20 und veranlasst die Energieversorgungsverwaltungs-ECU 20, die Energieversorgungssteuerschaltung 38 zu steuern. D.h., das CGW 13 sendet eine Energieversorgungsstartanfrage als die Energieversorgungssteueranfrage an die Energieversorgungsverwaltungs-ECU 20, um die ACC-Energieleitung 33 oder die IG-Energieleitung 34 mit der positiven Elektrode der Fahrzeugbatterie 35 in der Energieversorgungssteuerschaltung 38 zu verbinden. In diesem Zustand wird das fahrzeugseitige System 4 mit der ACC-Energie oder der IG-Energie versorgt, auch wenn der ACC-Schalter 36 und der IG-Schalter 37 ausgeschaltet sind. Das CGW 13 sendet eine Energieversorgungsstoppanfrage als die Energieversorgungssteueranfrage an die Energieversorgungsverwaltungs-ECU 20, um die ACC-Energieleitung 33 oder die IG-Energieleitung 34 von der positiven Elektrode der Fahrzeugbatterie 35 in der Energieversorgungssteuerschaltung 38 zu trennen.
  • Das DCM 12, das CGW 13 und die ECU 19 verfügen über eine Selbsterhaltungsenergiefunktion. D.h., wenn die Fahrzeugenergie im Startzustand von der ACC-Energie oder der IG-Energie zur +B-Energie umschaltet, gehen das DCM 12, das CGW 13 und die ECU 19 nicht sofort nach dem Umschalten von dem Startzustand in den Stoppzustand oder den Ruhezustand über, sondern setzen den Startzustand auch unmittelbar nach dem Umschalten für eine vorbestimmte Zeit fort und behalten so Ansteuerenergie selbst zurück. Das DCM 12, das CGW 13 und die ECU 19 gehen von dem Startzustand in den Stoppzustand oder den Ruhezustand über, wenn eine vorbestimmte Zeit (z.B. mehrere Sekunden) verstrichen ist, unmittelbar nachdem die Fahrzeugenergie von der ACC-Energie oder IG-Energie zur +B-Energie umgeschaltet wurde.
  • Nachstehend ist ein von der Zentralvorrichtung 3 an die Master-Vorrichtung 11 verteiltes Verteilungspaket unter Bezugnahme auf die 5 und 6 beschrieben. Im Fahrzeugprogrammumschreibesystem 1 werden Umprogrammierungsdaten erzeugt, die Schreibdaten, die von einem Anbieter als ein Provider eines Anwendungsprogramms bereitgestellt werden, und Umschreibespezifikationsdaten, die von einem OEM bereitgestellt werden, umfassen. Die vom Anbieter bereitgestellten Schreibdaten umfassen Differenzdaten entsprechend einer Differenz zwischen einem alten Anwendungsprogramm und einem neuen Anwendungsprogramm und die Gesamtdaten entsprechend der Gesamtheit des neuen Anwendungsprogramms. Die Differenzdaten oder die gesamten Daten können unter Verwendung einer bekannten Datenkompressionstechnik komprimiert werden. 5 veranschaulicht einen Fall, in dem Differenzdaten als Schreibdaten von Anbietern A bis C bereitgestellt werden und Umprogrammierungsdaten aus verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID1), die vom Anbieter A bereitgestellt werden, verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID2), die vom Anbieter B bereitgestellt werden, und verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID3), die vom Anbieter C bereitgestellt werden, sowie Umschreibespezifikationsdaten, die vom OEM bereitgestellt werden, erzeugt werden. Der Authentifikator wird zu jedem Teil von Schreibdaten hinzugefügt.
  • Obgleich 5 die Differenzdaten zeigt, die zum Aktualisieren des alten Anwendungsprogramms auf das neue Anwendungsprogramm verwendet werden, können ebenso Rollback-Differenzdaten, die zum Zurücksetzen des neuen Anwendungsprogramms auf das alte Anwendungsprogramm verwendet werden, in den Umprogrammierungsdaten enthalten sein. In einem Fall, in dem die Umschreibeziel-ECU 19 beispielsweise einen Ein-Bank-Speicher aufweist, sind die Rollback-Differenzdaten in den Umprogrammierungsdaten enthalten.
  • Die vom OEM bereitgestellten Umschreibespezifikationsdaten enthalten, als Information in Bezug auf das Umschreiben des Anwendungsprogramms, Information zum Spezifizieren der Umschreibeziel-ECU 19, Information zum Spezifizieren einer Umschreibe-Reihenfolge, wenn es mehrere Umschreibeziel-ECUs 19 gibt, Information zum Spezifizieren eines Rollback-Verfahrens, das nachstehend noch beschrieben ist, und dergleichen und sind Daten, die einen Betrieb in Bezug auf das Umschreiben in dem DCM 12, dem CGW 13 oder der Umschreibeziel-ECU 19 definieren. Die Umschreibespezifikationsdaten werden in DCM-Umschreibespezifikationsdaten, die vom DCM 12 verwendet werden, und CGW-Umschreibespezifikationsdaten, die vom CGW 13 verwendet werden, klassifiziert. Informationen, die zum Lesen von Dateien benötigt wird, die der Umschreibeziel-ECU 19 entsprechen, sind in den DCM-Umschreibespezifikationsdaten beschrieben. Wie oben beschrieben, wird die Information, die zum Steuern des Umschreibens in der Umschreibeziel-ECU 19 benötigt wird, in den CGW-Umschreibespezifikationsdaten beschrieben.
  • Wenn die DCM-Umschreibespezifikationsdaten erfasst werden, analysiert das DCM 12 die DCM-Umschreibespezifikationsdaten und steuert Betriebe bzw. Operationen in Bezug auf das Umschreiben wie die Übertragung von Schreibdaten an das CGW 13 in Übereinstimmung mit dem Analyseergebnis. Wenn die CGW-Umschreibespezifikationsdaten erfasst werden, analysiert das CGW 13 die CGW-Umschreibespezifikationsdaten und steuert Betriebe bzw. Operationen in Bezug auf das Umschreiben wie die Erfassung von Schreibdaten vom DCM 12 und die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19 in Übereinstimmung mit dem Analyseergebnis.
  • Im Dateiserver 8 werden die oben beschriebenen Umprogrammierungsdaten und die vom OEM bereitgestellten Verteilungsspezifikationsdaten registriert. Die vom OEM bereitgestellten Verteilungsspezifikationsdaten sind Daten, die einen Betrieb in Bezug auf die Anzeige verschiedener Bildschirme im Anzeige-Endgerät 5 definieren.
  • Wenn die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten registriert sind, verschlüsselt der Dateiserver 8 die registrierten Umprogrammierungsdaten und erzeugt ein Verteilungspaket, in dem ein Paketauthentifikator zum Authentifizieren des Pakets, die verschlüsselten Umprogrammierungsdaten und die Verteilungsspezifikationsdaten in einer einzigen Datei verpackt sind. Wenn eine Download-Anfrage für das Verteilungspaket von außen empfangen wird, sendet der Dateiserver 8 das Verteilungspaket an das DCM 12. In 5 ist beispielhaft ein Fall gezeigt, in dem der Dateiserver 8 das Verteilungspaket erzeugt, in dem die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten gespeichert sind, und die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten zusammen an das DCM 12 sendet, aber die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten können auch getrennt an das DCM 12 gesendet werden. D.h., der Dateiserver 8 kann zuerst die Verteilungsspezifikationsdaten an das DCM 12 senden und später die Umprogrammierungsdaten an das DCM 12 senden. Der Dateiserver 8 kann das Verteilungspaket und den Paketauthentifikator an das DCM 12 senden, indem er die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten als ein Verteilungspaket erzeugt, das eine einzige Datei ist.
  • Wenn das Verteilungspaket vom Dateiserver 8 heruntergeladen wird, verifiziert das DCM 12 den im Verteilungspaket gespeicherten Paketauthentifikator und die verschlüsselten Umprogrammierungsdaten und entschlüsselt die verschlüsselten Umprogrammierungsdaten, wenn das Verifizierungsergebnis positiv ist. Wenn die verschlüsselten Umprogrammierungsdaten entschlüsselt sind, entpackt das DCM 12 die entschlüsselten Umprogrammierungsdaten und erzeugt verschlüsselte Differenzdaten, einen Authentifikator, DCM-Umschreibespezifikationsdaten und CGW-Umschreibespezifikationsdaten für jede der ECUs. 6 veranschaulicht einen Fall, in dem die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID1), die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID2), die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID3) sowie die Umschreibespezifikationsdaten separat extrahiert werden.
  • 7 zeigt ein Blockdiagramm, das hauptsächlich Abschnitte in Bezug auf Funktionen der Server 8 bis 10 in der Zentralvorrichtung 3 veranschaulicht. 8 zeigt einen Umriss von Prozessen, die von der Zentralvorrichtung 3 in Bezug auf eine Programmaktualisierung in der ECU ausgeführt werden. Nachstehend ist eine „Datenbank“ in einigen Fällen als „DB“ bezeichnet. Wie in 7 gezeigt, weist die Zentralvorrichtung 3 eine Paketverwaltungseinheit 3A, eine Konfigurationsinformationsverwaltungseinheit 3B, eine Verwaltungseinheit 3C für individuelle Fahrzeuginformation und eine Kampagnenverwaltungseinheit 3D auf. Die Paketverwaltungseinheit 3A enthält eine Spezifikationsdatenerzeugungseinheit 201, eine Paketerzeugungseinheit 202, eine Paketverteilungseinheit 203, eine ECU-Umprogrammierungsdaten-DB 204, eine ECU-Metadaten-DB 205 und eine Paket-DB 206. Die Konfigurationsinformationsverwaltungseinheit 3B enthält eine Konfigurationsinformationsregistriereinheit 207 und eine Konfigurationsinformations-DB 208.
  • Der Anbieter registriert ECU-Individualdaten unter Verwendung einer Eingabeeinheit 218 und einer Anzeigeeinheit 219, die Benutzerschnittstellen (UI) -Funktionen des Verwaltungsservers 10 sind. Die ECU-Individualdaten enthalten eine Programmdatei, wie beispielsweise ein neues Programm oder Differenzdaten, Verifizierungsdaten oder eine Größe der Programmdatei, programmdateibezogene Information, wie beispielsweise Verschlüsselungsverfahren, und ECU-Attributinformation, wie beispielsweise eine Speicherstruktur der ECU 19. Die Programmdatei wird in der ECU-Umprogrammierungsdaten-DB 204 gespeichert. Die ECU-Attributinformation wird in der ECU-Metadaten-DB 205 gespeichert. Die programmdateibezogene Information kann in der ECU-Umprogrammierungsdaten-DB 204 oder in der ECU-Metadaten-DB 205 gespeichert werden. Der ECU-Umprogrammierungsdaten-DB 204 ist ein Beispiel für eine Aktualisierungsdatenspeichereinheit. Der ECU-Metadaten-DB 205 ist ein Beispiel für eine vorrichtungsbezogene Informationsspeichereinheit.
  • Der OEM registriert genehmigte Konfigurationsinformation in der Konfigurationsinformations-DB 208 für jeden Fahrzeugtyp über die Konfigurationsinformationsregistriereinheit 207. Die genehmigte Konfigurationsinformation ist Konfigurationsinformation eines Fahrzeugs, die von einer öffentlichen Organisation genehmigt wurde. Die Konfigurationsinformation ist Kenninformation über der Hardware und Software der in einem Fahrzeug montierten ECU 19 und ist ein Beispiel für fahrzeugbezogene Information. Die Konfigurationsinformation enthält Kenninformation einer Systemkonfiguration, die aus mehreren ECUs 19 gebildet wird, und Kenninformation einer Fahrzeugkonfiguration, die aus mehreren Systemen gebildet wird. Als die Konfigurationsinformation kann Fahrzeugbeschränkungsinformation in Bezug auf eine Programmaktualisierung registriert werden. Zum Beispiel kann Gruppeninformation der ECU, die in den Umschreibespezifikationsdaten beschrieben ist, eine Busauslastungstabelle und Information über einer Batterieladung registriert werden. Der ECU-Metadaten-DB 205 ist ein Beispiel für eine vorrichtungsbezogene Informationsspeichereinheit. Die Konfigurationsinformations-DB 208 ist ein Beispiel für eine Fahrzeuginformationsspeichereinheit.
  • Die Spezifikationsdatenerzeugungseinheit 201 bezieht sich auf jede DB und erzeugt Umschreibespezifikationsdaten. Die Paketerzeugungseinheit 202 erzeugt ein Verteilungspaket, das Umschreibespezifikationsdaten und Umprogrammierungsdaten 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 Verwaltungseinheit 3C für individuelle Fahrzeuginformation enthält eine Registrierungseinheit 209 für individuelle Fahrzeuginformation, eine Konfigurationsinformationsprüfeinheit 210, eine Aktualisierungsverfügbarkeitsprüfeinheit 211, eine SMS-Sendesteuereinheit 212 und eine DB 213 für individuelle Fahrzeuginformation. Die Registrierungseinheit 209 für individuelle Fahrzeuginformation registriert individuelle Fahrzeuginformation, die von einzelnen Fahrzeugen hochgeladen wurde, in der DB 213 für individuelle Fahrzeuginformation. Die Registrierungseinheit 209 für individuelle Fahrzeuginformation kann, als Anfangswerte, individuelle Fahrzeuginformation zur Zeit der Fahrzeugproduktion oder des Verkaufs in der DB 213 für individuelle Fahrzeuginformation registrieren. Wenn die hochgeladene individuelle Fahrzeuginformation registriert ist, gleicht die Konfigurationsinformationsprüfeinheit 210 die individuelle Fahrzeuginformation mit der in der Konfigurationsinformations-DB 208 registrierten Konfigurationsinformation des gleichen Fahrzeugtyps ab. Die Aktualisierungsverfügbarkeitsprüfeinheit 211 prüft die Verfügbarkeit einer Aktualisierung (Update) mit einem neuen Programm, d.h. die Verfügbarkeit einer Kampagne in Bezug auf die individuelle Fahrzeuginformation. In einem Fall, in dem die individuelle Fahrzeuginformation aktualisiert wird, sendet die SMS-Sendesteuereinheit 212 eine Nachricht bezüglich der Aktualisierung per Kurznachrichtendienst (SMS) an ein entsprechendes Fahrzeug.
  • Die Kampagnenverwaltungseinheit 3D enthält eine Kampagnenerzeugungseinheit 214, eine Kampagnenverteilungseinheit 215, eine Befehlsbenachrichtigungseinheit 216 und eine Kampagnen-DB 217. Der OEM veranlasst die Kampagnenerzeugungseinheit 214, Kampagneninformation zu erzeugen, die Information in Bezug auf die Programmaktualisierung ist, und registriert die Kampagneninformation in der Kampagnen-DB 217. Die Kampagneninformation entspricht hier den oben beschriebenen „Verteilungsspezifikationsdaten“ und ist hauptsächlich Information über einen auf dem fahrzeugseitigen System 4 angezeigten Aktualisierungsinhalt. Die Kampagnenverteilungseinheit 215 verteilt die Kampagneninformation an das Fahrzeug. Die Befehlsbenachrichtigungseinheit 216 benachrichtigt das Fahrzeug über einen notwendigen Befehl in Bezug auf die Programmaktualisierung. Im fahrzeugseitigen System 4 bestimmt beispielsweise der Benutzer anhand der von der Zentralvorrichtung 3 gesendeten Kampagneninformation, ob oder nicht das Aktualisierungsprogramm heruntergeladen werden soll, und lädt der Benutzer das Aktualisierungsprogramm, sofern erforderlich, herunter.
  • Die Abschnitte von jeder der Verwaltungseinheiten 3A bis 3D mit Ausnahme der Datenbanken sind Funktionen, die durch Computerhardware und -software realisiert werden.
  • Die Fahrzeugkommunikationseinheit 222 ist ein Funktionsblock zum Ausführen von Datenkommunikation zwischen der Zentralvorrichtung 3 und dem fahrzeugseitigen System 4 in einer drahtlosen Weise.
  • Nachstehend ist der obige Prozess näher beschrieben, wobei zunächst ein Inhalt von Daten, die in jeder Datenbank registriert werden, beschrieben ist. Wie in 9 gezeigt, werden gemäß einem Beispiel die folgenden Daten in der Konfigurationsinformations-DB 208 registriert. Ein „Fahrzeugtyp“ gibt den Typ eines Fahrzeugs an. Eine „Fahrzeug-SW-ID“ ist eine Software-ID für ein Fahrzeug als Ganzes und entspricht einer Fahrzeug-Software-ID. Einem jeweiligen Fahrzeug wird nur eine „Fahrzeug-SW-ID“ zugewiesen, die aktualisiert wird, wenn die Versionen des Anwendungsprogramms eines oder mehrerer ECUs aktualisiert werden. Eine „Sys-ID“ ist eine ID eines Systems, wenn eine Gruppe von mehreren ECUs 19, die an einem jeweiligen Fahrzeug montiert sind, als „System“ bezeichnet wird.
  • In 1 ist z.B. eine Gruppe von Karosseriesystem-ECUs 19 ein Karosseriesystem und eine Gruppe von Fahrsystem-ECUs 19 ein Fahrsystem. Die „Sys-ID“ wird aktualisiert, wenn die Version eines Anwendungsprogramms eines oder mehrerer ECUs, die das System bilden, aktualisiert wird. Eine „ECU-ID“ ist eine ID zum Identifizieren einer Vorrichtung, die den Typ der ECU angibt. Eine „ECU-SW-ID“ ist eine Software-ID für eine jeweilige ECU und entspricht einer ECU-Software-ID. Der Einfachheit halber ist die „ECU-ID“ abgebildet, um mit einer Software-Version ergänzt zu werden. Die „ECU-SW-ID“ wird aktualisiert, wenn eine Version eines Anwendungsprogramms einer entsprechenden ECU aktualisiert wird. Auch wenn die gleiche Programmversion in der gleichen „ECU-ID“ verwendet wird, werden bei unterschiedlichen Hardwarekonfigurationen unterschiedliche „ECU-SW-IDs“ verwendet. D.h., die „ECU-SW-ID“ ist auch eine Information, die eine Produktnummer der ECU angibt.
  • 9 zeigt Konfigurationsinformation in Bezug auf ein Fahrzeug vom „Fahrzeugtyp“ = „aaa“ an. Zu den in einem Fahrzeug montierten ECUs 19 gehören beispielsweise eine ECU für autonomes Fahren (ADS), eine Motor-ECU (ENG), eine Brems-ECU (BRK) und eine Servolenkungs-ECU (EPS).
  • Zum Beispiel sind die „ECU-SW-IDs“ von „Fahrzeug-SW-ID“ = „0001“ ,,ads_001", ,,eng 010", „brk_001“ und „eps_010“, während die „ECU-SW-IDs“ von „Fahrzeug-SW-ID“ = „0002“ „ads_002“, ,,eng 010", „brk_005“ und „eps_011“ sind und drei Software-Versionen aktualisiert werden. Als Ergebnis wird „Sys-ID“ = „SA01“ auf „SA02“ aktualisiert und „Sys-ID“ = „SA02“ auf „SA03“ aktualisiert. Wie oben erwähnt, wird der Anfangswert zur Zeit der Produktion oder des Verkaufs des Fahrzeugs in der Konfigurationsinformations-DB 208 registriert und dann aktualisiert, wenn die Version eines Anwendungsprogramms eines oder mehrerer ECUs aktualisiert wird. D.h., der Konfigurationsinformations-DB 208 zeigt genehmigte Konfigurationsinformation an, die auf dem Markt für jeden Fahrzeugtyp vorhanden ist.
  • Wie in 10 beispielhaft gezeigt, werden die folgenden Programme und Daten in der ECU-Umprogrammierungsdaten-DB 204 registriert. In 10 sind, von den an einem bestimmten Fahrzeugtyp zu montierenden ECUs 19, als ECUs 19, in denen Anwendungsprogramme aktualisiert werden, beispielhaft eine ECU für automatisches Fahren (ADS), eine Brems-ECU (BRK) und ein Servolenkungs-ECU (EPS) gezeigt. In Bezug auf die neueste „ECU-SW-ID“ der Aktualisierungsziel-ECU 19 werden alte und neue Programmdateien der ECU, die Integritätsverifizierungsdaten des neuen Programms, eine Aktualisierungsdatendatei, bei der es sich um Differenzdaten zwischen dem neuen und dem alten Programm handelt, Integritätsverifizierungsdaten der Aktualisierungsdaten, eine Rollback-Daten-Datei, bei der es sich um die Differenzdaten handelt, und Integritätsverifizierungsdaten der Rollback-Daten registriert. Die Integritätsverifizierungsdaten sind ein Hashwert, der durch Anwenden einer Hash-Funktion auf einen Datenwert erhalten wird. Wenn die gesamten Daten des neuen Programms als die Aktualisierungsdaten anstelle der Differenzdaten verwendet werden, sind die Integritätsverifizierungsdaten der Aktualisierungsdaten dieselben wie die gesamten Daten des neuen Programms.
  • Obwohl in 10 eine Datenstruktur der neuesten „ECU-SW-ID“ gezeigt ist, kann in einem Fall, in dem Daten der alten „ECU-SW-ID“ gespeichert sind, auf eine neue Programmdatei mit der vorherigen „ECU-SW-ID“ in Bezug auf die alte Programmdatei Bezug genommen werden. Jeder Teil der Integritätsverifizierungsdaten kann ein Format aufweisen, in dem ein vom Anbieter berechneter Wert registriert wird, oder ein Format aufweisen, in dem ein von der Zentralvorrichtung 3 berechneter Wert registriert wird.
  • Wie in 11 gezeigt, werden die folgenden ECU-Individualspezifikationsdaten in der ECU-Metadaten-DB 205 registriert. Für die neueste „ECU-SW-ID“ werden eine Größe einer Aktualisierungsdatendatei, eine Größe einer Rollback-Daten-Datei, Bank-Information, die eine Bank in Bezug auf ein Programm unter einer Bank-A, einer Bank-B, einer Bank-C und dergleichen in einem Fall angibt, in dem der in der ECU 19 enthaltene Flash-Speicher 28d zwei oder mehr Bänke aufweist, eine Übertragungsgröße, eine Leseadresse einer Programmdatei und dergleichen registriert. Dies sind Beispiele für aktualisierungsdatenbezogene Information.
  • Attributinformation, die ein Merkmal bzw. Attribut der ECU 19 angibt, wird ebenso in der ECU-Metadaten-DB 205 registriert. Die Attributinformation ist Information, die ein Hardware-Attribut und ein Software-Attribut bezüglich der ECU angibt. Die „Übertragungsgröße“ ist eine Übertragungsgröße, wenn Umschreibedaten geteilt und vom 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. Dies sind Beispiele für Software-Attribut-Information. Der „Fahrzeugtyp“ und die „ECU-ID“ enthalten ebenso eine Speicherkonfiguration des Flash-Speichers 28d der ECU 19, den Typ des Busses, mit dem die ECU 19 verbunden ist, den Typ der Energieversorgung, die mit der ECU 19 verbunden ist, und dergleichen. Dies sind Beispiele für Hardware-Attribut-Information.
  • Hier ist, als die Speicherkonfiguration, eine „Ein-Bank“ ein Ein-Bank-Speicher mit einer einzigen Flash-Bank, eine „Zwei-Bank“ ein Zwei-Bank-Speicher mit zwei Flash-Bänken, und „Suspend bzw. Aufheben“ ein Ein-Bank-Suspend-Speicher mit Pseudo-Doppel-Flash-Bänken. Die Hardware-Attribut-Information und die Software-Attribut-Information sind Information, die für eine Umschreibesteuerung von jeder ECU 19 im fahrzeugseitigen System 4 verwendet wird. Obwohl die Hardware-Attribut-Information vorab im CGW 13 gespeichert werden kann, wird die Hardware-Attribut-Information in der vorliegenden Ausführungsform von der Zentralvorrichtung 3 verwaltet, um die Verwaltungsbelastung für das fahrzeugseitige System 4 zu reduzieren. Bei der Software-Attribut-Information handelt es sich um Daten, die einen Umschreibebetrieb jeder ECU 19 direkt bestimmt bzw. bezeichnet. Die Software-Attribut-Information wird von der Zentralvorrichtung 3 so verwaltet, dass eine flexible Steuerung im fahrzeugseitigen System 4 realisiert werden kann.
  • Wie in 12 gezeigt, werden die folgenden Daten für jedes einzelne Fahrzeug in der DB 213 für individuelle Fahrzeuginformation registriert. Im Allgemeinen wird Konfigurationsinformation für jedes einzelne Fahrzeug oder Statusinformation eines einzelnen Fahrzeugs in Bezug auf eine Programmaktualisierung registriert. Insbesondere werden für „VIN“, die eine ID jedes Fahrzeugs ist, die „Fahrzeug-SW-ID“, die „Sys-ID“, die „ECU-ID“, die „ECU-SW-ID“ und dergleichen, bei denen es sich um Konfigurationsinformation handelt, registriert. Ein „Digest“-Wert, der ein Hashwert für die Konfigurationsinformation ist, wird ebenfalls berechnet und in der Zentralvorrichtung 3 gespeichert. In einem Fall, in dem eine Speicherkonfiguration eine Zwei-Bank ist, ist eine „aktive Bank“ eine Bank, in der sich ein geschriebenes Programm befindet, das gerade von der ECU 19 betrieben wird, und ein hochgeladener Wert wird zusammen mit der Konfigurationsinformation registriert.
  • Ein „Zugriffsprotokoll“ beschreibt das Datum und die Zeit, zu der das Fahrzeug die individuelle Fahrzeuginformation in die Zentralvorrichtung 3 hochgeladen hat. Ein „Umprogrammierungsstatus“ zeigt einen Status der Umprogrammierung im Fahrzeug an und beinhaltet z.B. „Kampagne ausgegeben“, „Aktivierung abgeschlossen“ und „Herunterladen abgeschlossen“. D.h., aus diesem Fortschrittszustand ist ersichtlich, zu welcher Phase die Umprogrammierung im Fahrzeug voranschreitet und in welcher Phase die Umprogrammierung verzögert wird. Wenn die Konfigurationsinformation oder dergleichen vom fahrzeugseitigen System 4 auf die Zentralvorrichtung 3 hochgeladen wird, wird die „VIN“ jedes Fahrzeugs zu der Information oder dergleichen hinzugefügt.
  • Wie in 13 gezeigt, werden eine ID eines Verteilungspakets, eine Verteilungspaketdatei und Daten zum Verifizieren der Integrität des Verteilungspakets in der Paket-DB 206 registriert.
  • Wie in 14 gezeigt, werden die folgenden Daten in der Kampagnen-DB 217 registriert. Bei den Daten handelt es sich um eine ID von Kampagneninformation, eine Verteilungspaket-ID, Nachrichteninformation wie Textaussagen, die einen spezifischen Aktualisierungsinhalt als Kampagneninhalt anzeigen, 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 dergleichen. Eine „Ziel-VIN“-Liste kann durch Abgleichen der DB 213 für individuelle Fahrzeuginformation mit der Kampagnen-DB 217 registriert werden. Die Kampagneninformation kann ebenso in der Paket-DB 206 registriert werden.
  • Nachstehend ist ein Betrieb der vorliegenden Ausführungsform beschrieben. In 15 erfolgt eine Beschreibung eines Registrierungsprozesses von Daten in der ECU-Umprogrammierungsdaten-DB 204 der Paketverwaltungseinheit 3A. Wie in 15 gezeigt, starten die Anzeigeeinheit 219 und die Eingabeeinheit 218 einen Bildschirm zum Registrieren der Umprogrammierung des Verwaltungsservers 10 und empfangen eine Eingabe von neuen und alten Programmdateien der ECU 19 von einem Bediener des Anbieters (A1). Beispielsweise kann eine UI oder dergleichen verwendet werden, um eine Datei zu registrieren, in die Konfigurationsinformation in einem CSV-Format oder dergleichen als Datei geschrieben ist. Anschließend erzeugt die Paketverwaltungseinheit 3A Integritätsverifizierungsdaten des neuen Programms (A2) und erzeugt eine Differenzdatendatei als Aktualisierungsdifferenzdaten zum Aktualisieren auf das neue Programm auf der Grundlage des alten Programms sowie Integritätsverifizierungsdaten der Aktualisierungsdifferenzdaten (A3 und A4).
  • Anschließend werden eine Differenzdatendatei als Rollback-Differenzdaten zum Aktualisieren auf das alte Programm auf Basis des neuen Programms und Integritätsverifizierungsdaten der Daten erzeugt (A5 und A6). Die Programmdateien und die Verifizierungsdaten werden in der ECU-Umprogrammierungsdaten-DB 204 registriert, und eine neue „ECU-SW-ID“ wird basierend auf der vorherigen „ECU-SW-ID“ erzeugt und registriert (A7). Hier können, wenn anstelle der Differenz die gesamten Daten verteilt werden, der Schritt in Bezug auf die Differenzdaten entfallen.
  • Die Integritätsverifizierungsdaten sind ein Hashwert, der z.B. durch Anwendung einer Hash-Funktion erzeugt wird. Beispielsweise werden für den Fall, dass SHA-256 (Secure Hash Algorithmus bzw. sicherer Hash-Algorithmus 256-Bit) als die Hash-Funktion verwendet wird, Datenwerte alle 64 Byte in Nachrichtenblöcke getrennt. Anschließend wird, wenn Datenwerte des ersten Nachrichtenblocks auf einen Anfangs-Hashwert angewandt werden und so ein Hashwert mit 32-Byte-Länge erhalten wird, ein Hashwert mit 32-Byte-Länge sequentiell und wiederholt erhalten, indem Datenwerte des nächsten Nachrichtenblocks auf den Hashwert angewandt werden.
  • In 16 erfolgt eine Beschreibung eines Umschreibespezifikationsdaten-Erzeugungsprozesses in der Spezifikationsdatenerzeugungseinheit 201. Hier wird der Umschreibespezifikationsdaten-Erzeugungsprozess für das Fahrzeug vom „Fahrzeugtyp“ = „aaa“ beschrieben, aber selbiges gilt ebenso für andere Fahrzeuge.
  • Die Zentralvorrichtung 3 startet ein Spezifikationsdatenerzeugungsprogramm der Spezifikationsdatenerzeugungseinheit 201 und empfängt eine Eingabe von einem Bediener des OEM über die Anzeigeeinheit 219 und die Eingabeeinheit 218. Zunächst bestimmt die Spezifikationsdatenerzeugungseinheit 201 die Aktualisierungsziel-ECU 19. Wie in 16 gezeigt, greift die Spezifikationsdatenerzeugungseinheit 201 auf die ECU-Umprogrammierungsdaten-DB 204 zu und gibt einen Anzeigebildschirm, auf dem ein Aktualisierungsziel aus den registrierten „ECU-SW-IDs“ ausgewählt werden kann, an die Anzeigeeinheit 219 aus. Die Spezifikationsdatenerzeugungseinheit 201 speichert eine oder mehrere vom Bediener des OEM über die Eingabeeinheit 218 ausgewählte „ECU-SW-IDs“ in einer spezifischen ECU-Reihenfolge (B1). Hierin beschreibt die ECU-Reihenfolge eine Umschreibe-Reihenfolge der ECUs 19 im fahrzeugseitigen System 4. Die Spezifikationsdatenerzeugungseinheit 201 legt die vom Bediener des OEM bestimmte Reihenfolge als die spezifische ECU-Reihenfolge fest.
  • Die Spezifikationsdatenerzeugungseinheit 201 kann auf die Konfigurationsinformations-DB 208 zugreifen, um die Aktualisierungsziel-ECU 19 zu bestimmen, ohne eine Eingabe vom Bediener des OEM zu erhalten. Die Spezifikationsdatenerzeugungseinheit 201 nimmt Bezug auf eine „ECU-SW-ID“ für die neueste „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. Beispielsweise sind in 9 „ADS“, „BRK“ und „EPS“ die Aktualisierungsziel-ECUs 19. Die Spezifikationsdatenerzeugungseinheit 201 legt die Reihenfolge der in der Konfigurationsinformations-DB 208 registrierten ECUs als die spezifische ECU-Reihenfolge fest.
  • Die Spezifikationsdatenerzeugungseinheit 201 erzeugt Gruppeninformation für ECUs mit mehreren Aktualisierungsziel- „ECU-SW-IDs“ (B2). Hier enthält beispielsweise, unter Bezugnahme auf die Konfigurationsinformations-DB 208, indem die „Sys-ID“ verwendet wird, eine Gruppe 1 „ECU-IDs“, bei denen die „Sys-ID“ ,,SA01_02" ist, und eine Gruppe 2 „ECU-IDs“, bei denen die „Sys-ID“ ,,SA02_02" ist. Beispielsweise wird in 9 die Gruppe 1 auf „ADS“, die Gruppe 2 zunächst auf „BRK“ und die Gruppe 2 anschließend auf „EPS“ 2 eingestellt. Wie oben beschrieben, 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 erfasst die aktualisierungsdatenbezogene Information, die Hardware-Attribut-Information und die Software-Attribut-Information als die Spezifikationsdaten bezüglich der Aktualisierungsziel-ECU 19 (B3). Beispielsweise enthält, wie in 17 gezeigt, die aktualisierungsdatenbezogene Information eine „Aktualisierungsprogrammversion“, eine „Aktualisierungsprogrammerfassungsadresse“, eine „Aktualisierungsprogrammgröße“, eine „Rollback-Programmversion“, eine „Rollback-Programm-Erfassungsadresse“, eine „Rollback-Programmgröße“, einen „Schreibdatentyp“ und eine „Schreib-Bank“. Die Hardware-Attribut-Information enthält einen „Verbindungsbus“, eine „Verbindungsenergieversorgung“ und einen „Speichertyp“. Die Software-Attribut-Information enthält „Umschreibe-Bank-Information“, „Sicherheitszugriffsschlüsselinformation“, ein „Umschreibe-Verfahren“ und eine „Übertragungsgröße“. Bei dem „Umschreibe-Verfahren“ handelt es sich um Daten, die anzeigen, ob das Umschreiben durch Aktivieren der Selbsterhaltungsenergieschaltung beim Umschalten von IG-EIN auf IG-AUS (Selbsterhaltungsenergie) erfolgt oder ob das Umschreiben gemäß IG-EIN und IG-AUS (Energieversorgungssteuerung) erfolgt. Information verschieden von einem Schlüssel kann als die „Sicherheitszugriffsschlüsselinformation“ enthalten sein.
  • Nachstehend ist jedes Teil von Information beschrieben.
    • ▪ Der „Schreibdatentyp“ ist ein Typ, der angibt, ob es sich bei einem Programm um Differenzdaten oder die gesamten Daten handelt. Der Schreibdatentyp für ein Aktualisierungsprogramm und der Schreibdatentyp für ein Rollback-Programm können separat beschrieben sein.
    • ▪ Die „Schreib-Bank“ ist Information, die eine Bank angibt, in die ein Programm für die Zwei-Bank-Speicher-ECU 19 geschrieben wird.
    • ▪ Der „Verbindungsbus“ ist Information zum Identifizieren eines Busses, mit dem die ECU 19 verbunden ist.
    • ▪ Die „Verbindungsenergieversorgung“ ist Information, die einen Zustand einer Energieversorgung angibt, mit der die ECU 19 verbunden ist, in der ein Wert beschrieben ist, der eine von der Batterie-Energie (+B-Energie), der Zubehör-Energie (ACC-Energie) und der Zünd-Energie (IG-Energie) angibt.
    • ▪ Der „Speichertyp“ ist Information zum Identifizieren einer Speicherkonfiguration der ECU 19, in der Werte beschrieben sind, die einen Zwei-Bank-Speicher, einen Ein-Bank-Suspend-Speicher (Pseudo-Zwei-Bank-Speicher), einen Ein-Bank-Speicher und dergleichen angeben.
    • ▪ Die „Umschreibe-Bank-Information“ ist Information, die angibt, welche Bank der ECU 19 eine Start-Bank (aktive Bank) und welche Bank eine Umschreibe-Bank (inaktive Bank) ist.
    • ▪ Die „Sicherheitszugriffsschlüsselinformation“ ist Information zum Authentifizieren eines Zugriffs auf die ECU 19 unter Verwendung eines Schlüssels und enthält Information, wie beispielsweise einen Schlüsselherleitungsschlüssel, ein Schlüsselmuster und ein Entschlüsselungsbetriebsmuster.
    • ▪ Die „Übertragungsgröße“ ist eine Datengröße, wenn ein Programm geteilt und an die ECU 19 übertragen wird.
  • Beispielsweise wird, wie in 17 gezeigt, die „ECU-ID“ als ein Schlüssel verwendet, um diese Teile von Information in der oben beschriebenen spezifischen ECU-Reihenfolge zu speichern. Wenn die Information über alle der ECUs erfasst ist (B4: JA), bestimmt die Spezifikationsdatenerzeugungseinheit 201 „Umschreibeumgebungsinformation“ für ein Aktualisierungszielfahrzeug (B5). Die „Umschreibeumgebungsinformation“ ist Information, die für die Umschreibesteuerung im fahrzeugseitigen System 4 für die Gruppe von ECUs oder das gesamte Fahrzeug verwendet wird, wobei es sich um Daten handelt, die einen Umschreibebetrieb bestimmen. Die Umschreibeumgebungsinformation für das gesamte Fahrzeug enthält beispielsweise einen „Fahrzeugzustand“, der angibt, ob eine Programmaktualisierung im fahrzeugseitigen System 4 erfolgt, während das Fahrzeug fährt (während der IG-Schalter eingeschaltet ist) oder während das Fahrzeug geparkt ist (während der IG-Schalter ausgeschaltet ist) erfolgt, eine „Batterieladung (eine verbleibende Batterieladung)“, die eine Beschränkung der verbleibenden Batterieladung angibt, die zum Ausführen der Programmaktualisierung im fahrzeugseitigen System 4 in der Lage ist, Busauslastungstabelleninformation, die eine Beschränkung einer Busauslastung angibt, die zum Übertragen von Schreibdaten im fahrzeugseitigen System 4 in der Lage ist, und dergleichen.
  • Die Umschreibeumgebungsinformation für die Gruppe enthält die zur Gruppe gehörenden ECUs 19, die ECU-Reihenfolge in der Gruppe und dergleichen. Im fahrzeugseitigen System 4 wird die Programmaktualisierung gesteuert, um in der Gruppeneinheit synchronisiert zu werden, und das Schreiben in die ECU 19 in der bestimmten ECU-Reihenfolge ausgeführt. Die Spezifikationsdatenerzeugungseinheit 201 startet einen Bildschirm zum Registrieren von Umschreibeumgebungsinformation und empfängt eine Eingabe vom Bediener des OEM. Alternativ kann auch Excel® mit eingegebener Umschreibeumgebungsinformation importiert werden. Alternativ kann auch die in der Konfigurationsinformations-DB 208 registrierte Beschränkungsinformation extrahiert werden. Die Spezifikationsdatenerzeugungseinheit 201 verwendet das Erzeugungsergebnis im obigen Schritt B2 als die Umschreibeumgebungsinformation für die Gruppe.
  • Die Busauslastungstabelle ist eine Tabelle, die ein Korrespondenzverhältnis zwischen einem Energieversorgungszustand und einer zulässigen Sendemenge für einen Bus darstellt. Wie in 18 gezeigt, ist die zulässige Sendemenge eine Summe aus einer Sendemenge von Fahrzeugsteuerdaten und Schreibdaten, die gesendet werden können, in Bezug auf die maximal zulässige Sendemenge. In diesem Beispiel erlaubt das CGW 13, da eine zulässige Sendemenge „80%“ in Bezug auf die maximal zulässige Sendemenge für den ersten Bus beträgt, im IG-Energieversorgungszustand „50%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge von Fahrzeugsteuerdaten und „30%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge von Schreibdaten. Im ACC-Energieversorgungszustand erlaubt das CGW 13 „30%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge der Fahrzeugsteuerdaten und „50%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge der Schreibdaten. Im +B-Energieversorgungszustand erlaubt das CGW 13 „20%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge der Fahrzeugsteuerdaten und „60%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge der Schreibdaten. Das Gleiche gilt für den zweiten Bus und den dritten Bus.
  • Schließlich lokalisiert die Spezifikationsdatenerzeugungseinheit 201 jeden Teil der erzeugten oder erfassten Daten in Übereinstimmung mit einer vorbestimmten Datenstruktur und erzeugt so Umschreibespezifikationsdaten, wie in 17 gezeigt (B6). D.h., die Spezifikationsdatenerzeugungseinheit 201 erzeugt die Umschreibespezifikationsdaten in einer Datenstruktur, die vom fahrzeugseitigen System 4 analysiert werden kann. Jeder Teil von ECU-Information kann in den Umschreibespezifikationsdaten in der Reihenfolge der jüngeren Gruppe und in Übereinstimmung mit der ECU-Reihenfolge in der Gruppe beschrieben werden. Beispielsweise wird in 9 in einem Fall, in dem die Gruppe 1 auf die „ADS“ und die Gruppe 2 zuerst auf die „BRK“ und dann auf die „EPS“ eingestellt wird, ECU-Information der „ADS“ zuerst, ECU-Information der „BRK“ als nächstes und ECU-Information der „EPS“ als letztes im ECU-Informationsfeld der Spezifikationsdaten angeordnet.
  • In den in 17 gezeigten Spezifikationsdaten sind „ECU-IDs“ bis „Übertragungsgröße“ der ECU-Information Beispiele für die zieleinheitsbezogene Information einschließlich des Typs der Ziel-ECU 19 und entsprechen der oben beschriebenen Hardware-Attribut-Information und Software-Attribut-Information. „Aktualisierungsprogrammversion“ bis „Schreib-Bank“ sind Beispiele für aktualisierungsdatenbezogene Information. Die „Umschreibe-Umgebung“ für die Gruppe von ECUs oder das gesamte Fahrzeug ist ein Beispiel für Aktualisierungsprozessinformation zum Bestimmen eines Aktualisierungsprozesses in einem Fahrzeug.
  • In 19 wird der Paketerzeugungsprozess in der Paketerzeugungseinheit 202 beschrieben. Wie oben beschrieben, erfolgt hier eine Beschreibung des Paketerzeugungsprozesses für das Fahrzeug vom „Fahrzeugtyp“ = „aaa“. Wie in 19 gezeigt, startet die Zentralvorrichtung 3 die Paketerzeugungseinheit 202 der Paketverwaltungseinheit 3A mit einem Befehl vom Bediener als Auslöser. Die Paketerzeugungseinheit 202 bestimmt eine Aktualisierungsziel- „ECU-SW-ID“ auf die gleiche Weise wie in Schritt B1 (C1). Die Paketerzeugungseinheit 202 erfasst jeden Teil von Daten entsprechend der Aktualisierungsziel- „ECU-SW-ID“ aus der ECU-Umprogrammierungsdaten-DB 204 und erzeugt einen Teil von Umprogrammierungsdaten (C2). Beispielsweise erfasst in 10 die Paketerzeugungseinheit 201 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 Umprogrammierungsdaten. Die erzeugten Umprogrammierungsdaten und die entsprechenden Umschreibespezifikationsdaten, die in den Schritten B1 bis B6 beschrieben werden, werden integriert, um eine einzige Verteilungspaketdatei zu erzeugen (C3). Anschließend werden Integritätsverifizierungsdaten für die erzeugte Paketdatei erzeugt (C4), und die Integritätsverifizierungsdaten werden zusammen mit der Paketdatei in der Paket-DB 206 registriert (C5).
  • 20 zeigt ein Bilddiagramm zur Veranschaulichung von Inhalten der wie oben beschrieben erzeugten Paketdatei. Das Bild veranschaulicht einen Fall, in dem Aktualisierungsdaten oder Integritätsverifizierungsdaten entsprechend der „ADS“, der „BRK“ und der „EPS“, die Aktualisierungsziele sind, zu einem Teil von Umprogrammierungsdaten gemäß der ECU-Reihenfolge integriert werden und eine einzige Verteilungspaketdatei durch Integrieren der Umprogrammierungsdaten mit Umschreibespezifikationsdaten erzeugt wird. Hier können die Rollback-Daten nur dann in den Umprogrammierungsdaten enthalten sein, wenn eine Speicherkonfiguration der Aktualisierungsziel-ECU 19 die Ein-Bank ist. Wenn es sich bei der Speicherkonfiguration um die Zwei-Bank- oder die Suspend-Konfiguration handelt, können die Rollback-Daten, bei denen es sich um ein altes Programm handelt, weggelassen werden, da das Umschreiben nicht an einer aktiven Bank erfolgt.
  • Wie oben beschrieben, werden gemäß der vorliegenden Ausführungsform Daten eines Aktualisierungsprogramms der Anwendungsprogrammaktualisierungsziel-ECU 19 unter mehreren am Fahrzeug montierten ECUs 19 in der ECU-Umprogrammierungsdaten-DB 204 der Zentralvorrichtung 3 gespeichert. Die fahrzeugbezogene Information wie eine „ECU-ID“ für jedes von mehreren der am Fahrzeug montierten ECUs 19 und eine „ECU-SW-ID“ eines in der ECU 19 gespeicherten Anwendungsprogramms wird zusammen mit dem Fahrzeugtyp in der Konfigurationsinformations-DB 208 gespeichert. Das Merkmal bzw. Attribut der Umschreibeziel-ECU 19 und die aktualisierungsdatenbezogene Information in Bezug auf Aktualisierungsdaten werden in der ECU-Metadaten-DB 205 gespeichert.
  • Die Spezifikationsdatenerzeugungseinheit 201 erzeugt die Spezifikationsdaten, die zusammen mit den in die Ziel-ECU 19 zu schreibenden Aktualisierungsdaten an das Fahrzeug zu senden sind, wobei die Spezifikationsdaten den Typ, das Merkmal bzw. Attribut, die aktualisierungsdatenbezogene Information und die Information enthalten, die die Umschreibe-Umgebung in Bezug auf die Datenaktualisierung für die Ziel-ECU 19 angibt, auf der Grundlage der in der Konfigurationsinformations-DB 208 und der ECU-Metadaten-DB 205 gespeicherten Information. Die Paketerzeugungseinheit 202 erzeugt das Verteilungspaket, das die Umschreibespezifikationsdaten und die Umprogrammierungsdaten 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 zusammen mit den Aktualisierungsdaten gesendeten Spezifikationsdaten und kann so die Ziel-ECU 19 basierend auf den Spezifikationsdaten angemessen auswählen und einen Schreibprozess unter Verwendung der Aktualisierungsdaten angemessen steuern.
  • Da die Spezifikationsdatenerzeugungseinheit 201 Spezifikationsdaten für mehrere ECUs 19 als eine Datei erzeugt und die Paketerzeugungseinheit 202 die Datei ferner zusammen mit den Umprogrammierungsdaten für die mehreren ECUs 19 in nur eine Datei verpackt, kann das fahrzeugseitige System 4 die Aktualisierungsdaten in die mehreren ECUs 19 schreiben, wenn ein einziges Verteilungspaket empfangen wird.
  • Da die fahrzeugbezogene Information als die Spezifikationsdaten Gruppeninformation enthält, in der einige der ECUs 19 gruppiert sind, kann das fahrzeugseitige System 4 eine Ziel-ECU 19 entsprechend einer durch die Gruppeninformation definierten Reihenfolge auswählen und Aktualisierungsdaten schreiben. Beispielsweise kann, wenn mehrere ECUs 19 vorhanden sind, die Verbesserungsziele einer bestimmten Funktion sind, indem die Gruppe 1 als die Karosseriesystem-ECU 19, die Gruppe 2 als die Fahrsystem-ECU 19 und die Gruppe 3 als die MM-System-ECU 19 festgelegt werden, die Programmaktualisierung im fahrzeugseitigen System 4 dreimal geteilt ausgeführt werden. Daher kann die Wartezeit eines Benutzers für jede Aktualisierungszeit im Vergleich zu einem Fall, in dem die Programmaktualisierung kollektiv in allen der ECUs ausgeführt wird, verkürzt werden.
  • Da die Umschreibeumgebungsinformation den „Fahrzeugzustand (IG-EIN-Zustand)“ und die „Batterieladung“ in Bezug auf das Fahrzeug und die „Busauslastungstabelle“ in Bezug auf die ECU 19 enthält, kann das fahrzeugseitige System 4 auf der Grundlage der Information ein Timing oder dergleichen für das Schreiben von Aktualisierungsdaten bestimmen. D.h., ein Dienstanbieter, der den OEM oder die Zentralvorrichtung 3 verwendet, kann eine flexible Programmaktualisierung vornehmen, indem er Ausführungsbeschränkungsbedingungen für das Fahrzeug als die Umschreibeumgebungsinformation bestimmt.
  • Da die Spezifikationsdatenerzeugungseinheit 201 Spezifikationsdaten in Übereinstimmung mit vorbestimmten Datenstrukturen in Reihenfolge erzeugt, indem sie Information in Bezug auf die ECU 19 mit der früheren Umschreibe-Reihenfolge, die im Voraus bestimmt wurde, verwendet, kann das fahrzeugseitige System 4 Aktualisierungsdaten in Übereinstimmung mit der Positionsreihenfolge der ECU-IDs in den Spezifikationsdaten schreiben. D.h., da die ECUs 19, die einen gegenseitig kooperativen Prozess aufweisen, in einer Gruppe gruppiert sind und eine ECU-Reihenfolge unter Berücksichtigung eines Inhalts des gegenseitig kooperativen Prozesses definiert wird, kann die Programmaktualisierung auch in einem Fall, in dem ein Aktualisierungstiming für das neue Programm nicht vollständig im fahrzeugseitigen System 4 synchronisiert ist, ohne Unannehmlichkeiten abgeschlossen werden. Zum Beispiel ist es in einem Fall, in dem ein neues Programm der ECU (ID1) einen Prozess zum Senden einer vorbestimmten Nachricht an die ECU (ID2) aufweist und ein neues Programm der ECU (ID2) einen Prozess zum Erzeugen eines Timeout-Fehlers aufweist, wenn die vorbestimmte Nachricht, die von der ECU (ID1) gesendet wurde, nicht empfangen werden kann, vorzuziehen, eine ECU-Reihenfolge so zu definieren, dass die ECU (ID1) zuerst aktualisiert wird und die ECU (ID2) später aktualisiert wird.
  • (Zweite Ausführungsform)
  • Die zweite Ausführungsform bezieht sich, wie in 21 gezeigt, auf eine „Synchronisation von Fahrzeugkonfigurationsinformation“, die in 8 anfangs vom fahrzeugseitigen System 4 an die Zentralvorrichtung 3 gesendet wird. Wenn fahrzeugseitig der IG-Schalter 37 eingeschaltet wird, sendet das CGW 13 mit dem Einschalten als Trigger eine „Synchronisationsinitiierungsanfrage“ an das DCM 12. Das DCM 12 empfängt die Synchronisationsinitiierungsanfrage und retourniert eine „Konfigurationsinformationssammelanfrage“ an das CGW 13. Das CGW 13 fragt jede ECU 19 nach einer Programmversion ab. Jede ECU 19 retourniert eine „ECU-SW-ID“ an das CGW 13. Die ECU 19, deren Speicherkonfiguration die Zwei-Bank- oder die Suspend-Konfiguration ist, retourniert ebenso Bank-Information an das CGW 13, die angibt, welche von mehreren Bänken eine aktive Bank und welche eine inaktive Bank ist. Jede ECU 19 kann ebenso Kalibrierungsinformation eines Steuerzielaktuators oder dergleichen, Lizenzinformation zum Empfangen eines Programmaktualisierungsdienstes und einen in der ECU 19 auftretenden Fehlercode an das CGW 13 senden.
  • Wenn ein Empfang der „ECU-SW-ID“ von jeder ECU 19 abgeschlossen ist, sendet das CGW 13 alle der Teile von Information zusammen mit der „VIN“ an das DCM 12. In diesem Fall können die „Fahrzeug-SW-ID“ und die „Sys-ID“, die vom CGW 13 verwaltet werden, auch an das DCM 12 gesendet werden. Das DCM 12 empfängt die Information und erzeugt einen einzigen Hashwert, der ein Digest-Wert für alle „ECU-SW-IDs“ ist, indem es z.B. eine Hash-Funktion anwendet. Wie oben beschrieben, werden in einem Fall, in dem SHA-256 als die Hash-Funktion angewandt wird, Datenwerte, die durch serielles Verbinden von Werten aller „ECU-SW-IDs“ miteinander erhalten werden, alle 64 Byte in Nachrichtenblöcke aufgeteilt, wobei die Datenwerte des ersten Nachrichtenblocks auf einen Anfangs-Hashwert angewandt werden, um einen Hashwert mit 32 Byte Länge zu erhalten, und die Datenwerte des nachfolgenden Nachrichtenblocks sequentiell auf den Hashwert angewandt werden, und schließlich ein Hashwert mit 32 Byte Länge erhalten wird. Hier kann das DCM 12 einen einzigen Hashwert nicht nur für alle „ECU-SW-IDs“ erzeugen, sondern auch für Werte wie die „Fahrzeug-SW-ID“, die „Sys-ID“, die Bank-Information und die Kalibrierungsinformation.
  • Das DCM 12 sendet den wie oben beschrieben erhaltenen Digest-Wert der „ECU-SW-ID“ zusammen mit der „VIN“ an die Zentralvorrichtung 3. Das DCM 12 kann den Fehlercode oder die Lizenzinformation zusammen mit dem Digest-Wert senden. Nachstehend ist der Digest-Wert auch als „Konfigurationsinformations-Digest“ bezeichnet, und alle Datenwerte der „ECU-SW-IDs“, die eine Basis dafür sind, sind auch als „Konfigurationsinformationsgesamtheit“ bezeichnet. Die „Konfigurationsinformationsgesamtheit“ kann die „Fahrzeug-SW-ID“, die „Sys-ID“, die Bank-Information und die Kalibrierungsinformation umfassen.
  • Die Zentralvorrichtung 3 vergleicht, wie nachstehend noch beschrieben ist, Digest-Werte oder aktualisiert die DB 213 für individuelle Fahrzeuginformation. Die mit der Konfigurationsinformation synchronisierte Zentralvorrichtung 3 prüft die Verfügbarkeit einer Programmaktualisierung und informiert das fahrzeugseitige System 4 über die Kampagneninformation, falls die Programmaktualisierung verfügbar ist. Anschließend 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 sendet mit Abschluss des Aktualisierungsprozesses als Auslöser eine „Synchronisationsinitiierungsanfrage“ an das DCM 12 und führt anschließend den gleichen Prozess wie oben beschrieben aus, bis eine Synchronisationsabschlussbenachrichtigung erfolgt. Der oben beschriebene Prozess, der mit dem Einschalten des IG-Schalters 37 als Auslöser ausgeführt wird, kann auch nach der Aktualisierung des Programms ausgeführt werden.
  • Wie in 22 gezeigt, gleicht die Verwaltungseinheit 3C für individuelle Fahrzeuginformation der Zentralvorrichtung 3, wenn der „Konfigurationsinformations-Digest“ vom fahrzeugseitigen System 4 empfangen wird (D1), den „Konfigurationsinformations-Digest“ mit einem „Konfigurationsinformations-Digest“ eines entsprechenden Fahrzeugs ab, das zu dieser Zeit in der DB 213 für individuelle Fahrzeuginformation registriert ist, und bestimmt, ob oder nicht die beiden Digests übereinstimmen (D2). Als der „individuelle Fahrzeuginformations-Digest“ kann ein im Voraus berechneter Wert in der DB 213 für individuelle Fahrzeuginformation registriert werden oder ein Digest-Wert berechnet werden, indem die Konfigurationsinformation verwendet wird, die zur Zeit eines Empfangs vom fahrzeugseitigen System 4 in der DB 213 für individuelle Fahrzeuginformation registriert wird. Wenn beide Digests übereinstimmen (JA), wird bestimmt, ob oder nicht die individuelle Fahrzeuginformation des Fahrzeugs einer genehmigten Kombination entspricht, die in der Konfigurationsinformations-DB 208 registriert ist (D6). Da eine Wahrscheinlichkeit besteht, dass die Konfigurationsinformations-DB 208 zu einem vorbestimmten Timing aktualisiert werden kann, wird die Bestimmung in Schritt D6 sowohl in einem Fall, in dem beide Digests in Schritt D2 übereinstimmen (JA), als auch in einem Fall, in dem beide Digests nicht übereinstimmen (NEIN), ausgeführt.
  • Hier wird z.B., wie in 23 gezeigt, zum Bestimmen der Konformität geprüft, ob oder nicht die Kombination aus der „Fahrzeug-SW-ID“ und der „ECU-SW-ID“ der vom fahrzeugseitigen System 4 hochgeladenen Konfigurationsinformation genehmigt ist. In einer in derselben Figur gezeigten Liste ist eine „ECU-SW-ID“ von „ECU-ID = ADS“ entsprechend „Fahrzeug-SW-ID = 0001“, die in der Konfigurationsinformations-DB 208 registriert ist, „ads_001‟, eine „ECU-SW-ID“ von „ECU-ID = BRK“ ist „brk_001‟, und eine „ECU-SW-ID“ von „ECU-ID = EPS“ ist „eps_010“.
  • Demgegenüber ist das Fahrzeug C mit VIN = 300 ebenso „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 „brk_003“. Diese beiden ECUs 19 unterscheiden sich von der in der Konfigurationsinformations-DB 208 registrierten Konfigurationsinformation. Daher ist die Bestimmung in Schritt D6 „NEIN“, d.h. nicht genehmigt und „NG“, und die Konfigurationsinformationsprüfeinheit 210 benachrichtigt das fahrzeugseitige System 4 und die in 8 gezeigte Verwaltungsvorrichtung 220, die eine Vorrichtung ist, die Information über ein vom OEM oder dergleichen hergestelltes Fahrzeug verwaltet, über eine Abnormität (D12). Die Benachrichtigung über die
    Abnormität erfolgt z.B. durch die SMS-Sendesteuereinheit 212 mittels einer SMS. Die SMS-Sendesteuereinheit 212 ist ein Beispiel für eine Kommunikationseinheit. Auch wenn die beiden ECUs 19 keine Aktualisierungsziel-ECUs sind, die neue Programme verwenden, bestimmt die Zentralvorrichtung 3, dass das Fahrzeug nicht genehmigt ist, und führt die Prozesse in Schritt D7 und den nachfolgenden Schritten nicht aus.
  • Demgegenüber weist das Fahrzeug A mit VIN = 100 „Fahrzeug-SW-ID = 0001“ auf, ist die „ECU-SW-ID“ von „ECU-ID = ADS“ „ads_001“ und ist die „ECU-SW-ID“ von „ECU-ID = BRK“ „brk_001“, die alle mit der in der Konfigurationsinformations-DB 208 registrierten Konfigurationsinformation übereinstimmen. Daher ist die Bestimmung in Schritt D6 „JA“, d.h. genehmigt und „OK“, und der Prozess schreitet zu Schritt D7 voran. Hier kann die Konfigurationsinformationsprüfeinheit 210 bestimmen, ob die Kombination der „ECU-SW-IDs“ des Fahrzeugs C in der Konfigurationsinformations-DB 208 vorhanden ist, um zu bestimmen, ob das Fahrzeug C genehmigt oder nicht genehmigt ist. Neben der „Fahrzeug-SW-ID“ kann auch die „Sys-ID“ zum Bestimmen herangezogen werden.
  • Anschließend greift die Aktualisierungsverfügbarkeitsprüfeinheit 211 über die Kampagnenverwaltungseinheit 3D auf die Kampagnen-DB 217 zu, um die Verfügbarkeit einer Aktualisierung mit einem neuen Programm zu prüfen (D7). Die Verfügbarkeit einer Aktualisierung wird durch Vergleichen der vom fahrzeugseitigen System 4 hochgeladenen „Fahrzeug-SW-ID“ mit der „Vor-Aktualisierung-Fahrzeug-SW-ID“ der Kampagnen-DB 217 bestimmt. Beispielsweise wird, wie in 23 gezeigt, da das Fahrzeug A mit VIN = 100 vor der Aktualisierung „Fahrzeug-SW-ID = 0001“ aufweist, bestimmt, dass die Aktualisierung im Fahrzeug A verfügbar ist (JA). In diesem Fall benachrichtigt die Aktualisierungsverfügbarkeitsprüfeinheit 211 das fahrzeugseitige System 4 des Fahrzeugs A über die entsprechende Kampagnen-ID „Cpn_001“ (D8). Die Kampagneninformation entspricht Aktualisierungsbenachrichtigungsinformation, und die Kampagnen-DB 217 ist ein Beispiel für eine Aktualisierungsbenachrichtigungsinformations-Speichereinheit.
  • Wenn die Kampagnen-DB 217 „Sys-IDs“ vor und nach der Aktualisierung speichert, kann eine Verfügbarkeit der Aktualisierung anhand der „Sys-IDs“ überprüft werden. Anstelle der „Fahrzeug-SW-ID“ kann die hochgeladene „ECU-SW-ID“-Liste mit der „Vor-Aktualisierung-ECU-SW-ID“-Liste der Kampagnen-DB 217 verglichen werden, um eine Verfügbarkeit der Aktualisierung zu bestimmen.
  • Das fahrzeugseitige System 4 erfasst eine der ID entsprechende Kampagnendatei von der Zentralvorrichtung 3 unter Verwendung der mitgeteilten Kampagnen-ID als ein Schlüssel (D9). Die Kampagnendatei enthält Textaussagen, die einen Kampagneninhalt, Beschränkungen der Programmaktualisierungsausführung usw. beschreiben. Die Beschränkungen sind Bedingungen zum Ausführen eines Herunterladens bzw. Downloads oder einer Installation und umfassen z.B. eine verbleibende Batterieladung, eine freie Kapazität des RAM, die zum Herunterladen eines Verteilungspakets benötigt wird, und die aktuelle Position des Fahrzeugs. Das fahrzeugseitige System 4 analysiert die Kampagnendatei und zeigt den Kampagneninhalt unter Verwendung der In-Vehicle-Anzeige 7 an. Der Benutzer nimmt auf eine Nachricht Bezug, die auf der In-Vehicle-Anzeige 7 in Übereinstimmung mit dem Kampagneninhalt angezeigt wird, und entscheidet, ob oder nicht ein Anwendungsprogramm der ECU 19 zu aktualisieren ist. Wenn die Genehmigungsbedienung des Benutzers über die In-Vehicle-Anzeige 7 empfangen wird, benachrichtigt das CGW 13 die Zentralvorrichtung 3 über die Genehmigung für die Aktualisierung über das DCM 12. Die Zentralvorrichtung 3 sendet die Verteilungspaketdatei mit der Paket-ID entsprechend der Kampagnen-ID und die Integritätsverifizierungsdaten an das fahrzeugseitige System 4 (D10).
  • Wenn die Aktualisierung in Schritt D7 nicht verfügbar ist (NEIN), wird dem fahrzeugseitigen System 4 „Aktualisierung nicht verfügbar“ gemeldet (D11). Beispielsweise wird, wie in 23 gezeigt, da das Fahrzeug A mit VIN = 200 nach der Aktualisierung die „Fahrzeug-SW-ID = 0002“ aufweist, die mit keiner der „Vor-Aktualisierung-Fahrzeug-SW-IDs“ der Kampagnen-DB 217 übereinstimmt, bestimmt, dass die Aktualisierung nicht verfügbar ist.
  • Demgegenüber fordert, wenn das Abgleichergebnis des „Konfigurationsinformations-Digest“ in Schritt D2 eine Nichtübereinstimmung zeigt (NEIN), die Zentralvorrichtung 3 das fahrzeugseitige System 4 auf, die „Konfigurationsinformationsgesamtheit“ zu senden (D3). Diese Übertragung entspricht einer „Gesamtdatensendeanfragebenachrichtigung“. Wenn das fahrzeugseitige System 4 im Ansprechen auf die Anfrage die „Konfigurationsinformationsgesamtheit“ sendet, empfängt die Zentralvorrichtung 3 die „Konfigurationsinformationsgesamtheit“ (D4). Die Verwaltungseinheit 3C für individuelle Fahrzeuginformation der Zentralvorrichtung 3 aktualisiert die in der DB 213 für individuelle Fahrzeuginformation registrierte Information über das Fahrzeug (D4). Der Prozess schreitet zu Schritt D6 voran. Die DB 213 für individuelle Fahrzeuginformation ist ein Beispiel für eine Speichereinheit für fahrzeugseitige Konfigurationsinformation.
  • Das CGW 13 kann die „Synchronisationsinitiierungsanfrage“ zu einem Timing senden, zu dem der IG-Schalter 37 ausgeschaltet wird.
  • Wie oben beschrieben, erzeugt das fahrzeugseitige System 4 gemäß der zweiten Ausführungsform, wenn Konfigurationsinformation über eine Konfiguration jeder ECU 19 von mehreren ECUs 19 empfangen wird, einen Hashwert auf der Grundlage von Datenwerten von mehreren Teilen von Konfigurationsinformation und sendet den Hashwert an die Zentralvorrichtung 3. Die Zentralvorrichtung 3 enthält die DB 213 für individuelle Fahrzeuginformation und vergleicht den vom fahrzeugseitigen System 4 gesendeten Hashwert mit einem Hashwert der in der DB 213 für individuelle Fahrzeuginformation gespeicherten Fahrzeugkonfigurationsinformation. Wenn die beiden Werte nicht übereinstimmen, wird eine Anfrage zum Senden der „Konfigurationsinformationsgesamtheit“ an das fahrzeugseitige System 4 gesendet. Das fahrzeugseitige System 4 empfängt die Sendung mit der Anfrage und sendet die „Konfigurationsinformationsgesamtheit“ an die Zentralvorrichtung 3. Wenn die „Konfigurationsinformationsgesamtheit“ empfangen wird, aktualisiert die Zentralvorrichtung 3 die in der DB 213 für individuelle Fahrzeuginformation gespeicherte Konfigurationsinformation auf der Grundlage von Datenwerten dieser.
  • Gemäß dieser Konfiguration sendet das fahrzeugseitige System 4 zunächst den Hashwert der Konfigurationsinformation an die Zentralvorrichtung 3 und sendet nur für den Fall, dass ein Vergleichsergebnis der Hashwerte in der Zentralvorrichtung eine Nichtübereinstimmung 3 zeigt, alle Datenwerte der Konfigurationsinformation an die Zentralvorrichtung 3. Folglich ist es, da ein Umfang von Daten, die vom fahrzeugseitigen System 4 gesendet wird, reduziert werden kann, auch wenn das fahrzeugseitige System 4 an mehreren Fahrzeugen montiert ist, möglich, einen Gesamtkommunikationsumfang zu reduzieren. Insbesondere in einem Fall, in dem die Konfigurationsinformation zu einem vorbestimmten Timing hochgeladen wird, wie z.B. IG-EIN im fahrzeugseitigen System 4, kann eine Zeitdauer auftreten, in der sich die Kommunikation konzentriert. Folglich wird durch die Verwendung eines Hashwerts ein Umfang bzw. eine Menge von gesendeten Daten reduziert, wodurch eine Reduzierung einer Kommunikationslast ermöglicht wird.
  • Das CGW 13 empfängt die Konfigurationsinformation von allen der Umschreibeziel-ECUs 19 von Aktualisierungsdaten und erzeugt einen Hashwert auf der Grundlage aller Datenwerte hiervon, und das DCM 12 sendet den Hashwert zu einem Timing, zu dem der Zündschalter 37 des Fahrzeugs ein- oder ausgeschaltet wird. Daher ist es möglich, den Hashwert zu einem Timing an die Zentralvorrichtung 3 zu senden, zu dem eine Fahrt des Fahrzeugs initiiert oder beendet wird. Folglich kann die Zentralvorrichtung 3 die Konfigurationsinformation der DB 213 für individuelle Fahrzeuginformation mit der des Fahrzeugs angemessen synchronisieren.
  • Wenn eine „ECU-SW-ID“ jeder ECU 19 von mehreren ECUs 19 empfangen wird, sendet das fahrzeugseitige System 4 eine Konfigurationsinformationsliste, in der eine „Fahrzeug-SW-ID“ damit kombiniert ist, an die Zentralvorrichtung 3. Die Zentralvorrichtung 3 vergleicht die vom fahrzeugseitigen System 4 gesendete „ECU-SW-ID“-Liste mit einer genehmigten „ECU-SW-ID“-Liste eines entsprechenden Fahrzeugs, die in der Konfigurationsinformations-DB 208 gespeichert ist, und sendet eine Abnormitätserfassung an das fahrzeugseitige System 4 und die Verwaltungsvorrichtung 220, wenn bestimmt wird, dass die gesendeten Listen von Kombinationen nicht genehmigt sind.
  • Gemäß dieser Konfiguration kann die Zentralvorrichtung 3, als eine Abnormität, erfassen, dass eine Kombination der Konfigurationsinformation des Fahrzeugs in einem Zustand ist, in dem die mehreren ECUs 19 nicht miteinander kooperieren können und das Fahren des Fahrzeugs behindert wird, und das fahrzeugseitige System 4 über die Abnormität informieren. Folglich kann das fahrzeugseitige System 4 Maßnahmen wie z.B. ein Fahrverbot für das Fahrzeug ergreifen.
  • Die Zentralvorrichtung 3 führt den Aktualisierungsverfügbarkeitsprüfprozess (D7) an einem Fahrzeug, bei dem eine Kombination von Fahrzeugkonfigurationsinformation nicht genehmigt wird, nicht aus. Folglich kann verhindert werden, dass eine Programmaktualisierung in einem nicht genehmigten Fahrzeug ausgeführt wird. Auch wenn die nicht genehmigte ECU 19 keine Aktualisierungsziel-ECU eines neuen Programms ist, führt die Zentralvorrichtung 3 den Aktualisierungsverfügbarkeitsprüfprozess (D7) nicht aus. Im fahrzeugseitigen System 4 wird, wenn eine Programmaktualisierung ausgeführt wird, ebenso eine Steuerung für die ECU 19 erzeugt, die kein Aktualisierungsziel ist. Daher besteht bei einem Fahrzeug mit einer nicht genehmigten ECU 19 die Wahrscheinlichkeit, dass die Programmaktualisierung nicht normal abgeschlossen werden kann, und somit verhindert die Zentralvorrichtung 3, dass die Programmaktualisierung im Fahrzeug ausgeführt wird.
  • Die Zentralvorrichtung 3 enthält die Kampagnen-DB 217, in der die Kampagneninformation, die verwendet wird, um die Fahrzeugseite zu informieren, dass eine Aktualisierung mit einem neuen Programm stattgefunden hat, gespeichert wird, und prüft für ein als genehmigt bestimmtes Fahrzeug eine Verfügbarkeit der Kampagneninformation des entsprechenden Fahrzeugs. Wenn die Aktualisierung verfügbar ist, wird die Kampagneninformation an das fahrzeugseitige System 4 gesendet. Somit kann die Kampagneninformation einem Benutzer präsentiert werden, und somit kann eine Aktualisierung eines Anwendungsprogramms veranlasst werden. Synchronisation der Konfigurationsinformation, Bestimmung, ob oder nicht die Konfigurationsinformation genehmigt ist, und Aktualisierungsverfügbarkeitsprüfung werden als eine Reihe von Prozessen durch die Zentralvorrichtung 3 mit einem Hochladen der Konfigurationsinformation von einem Fahrzeug als Auslöser ausgeführt, so dass es möglich ist, ein entsprechendes Fahrzeug zeitnah über die Aktualisierung eines Programms zu informieren.
  • Die zweite Ausführungsform kann wie folgt modifiziert und implementiert werden.
    • ▪ Die Zentralvorrichtung 3 kann die „Synchronisationsinitiierungsanfrage“ an das fahrzeugseitige System 4 senden, und das DCM 12 kann die „Konfigurationsinformationssammelanfrage“ an das CGW 13 senden, wenn die „Synchronisationsinitiierungsanfrage“ empfangen wird. Wenn z.B. die Konfigurationsinformations-DB 208 von „Fahrzeugtyp = aaa“ aktualisiert wird, sendet die Zentralvorrichtung 3 die „Synchronisationsinitiierungsanfrage“ an ein Fahrzeug des Fahrzeugtyps.
    • ▪ Der Hashwert kann zu einem Timing an die Zentralvorrichtung 3 gesendet werden, wenn das Umschreiben in der ECU 19 abgeschlossen ist, in der die Aktualisierungsdaten umgeschrieben werden. D.h., das in 22 gezeigte Ablaufdiagramm der Schritte D1 bis D12 wird auch dann ausgeführt, wenn die Aktualisierung von Programmen aller Umschreibeziel-ECUs 19 abgeschlossen ist.
    • ▪ Die Zentralvorrichtung 3 fordert das fahrzeugseitige System 4 auf, eine Kombinationsliste der Konfigurationsinformation der jeweiligen ECUs 16 zu senden, wenn ein Vergleichsergebnis der beiden Hashwerte eine Übereinstimmung zeigt. Wenn die Kombinationsliste empfangen wird, können die Prozesse in den Schritten D6 bis D12 ausgeführt werden.
    • ▪ Auch wenn das Vergleichsergebnis der beiden Hashwerte eine Übereinstimmung zeigt, kann die Zentralvorrichtung 3 auf die Kampagnen-DB 217 Bezug nehmen, um eine Verfügbarkeit der Kampagneninformation eines entsprechenden Fahrzeugs zu prüfen.
  • Das Senden eines Hashwerts vom fahrzeugseitigen System 4 an die Zentralvorrichtung 3 kann wie in 23A gezeigt erfolgen. 23A zeigt ein Ablaufdiagramm zur Veranschaulichung eines Prozesses im CGW 13. Wenn beispielsweise der IG-Schalter 37 eingeschaltet wird, sammelt das CGW 13 Konfigurationsinformation von jeder ECU 19 (D21) und erzeugt einen Hashwert für Datenwerte der gesammelten Konfigurationsinformation (D22). Der erzeugte Hashwert wird mit einem im Flash-Speicher 24d gespeicherten Hashwert (zuvor erzeugter Wert) verglichen, um so zu bestimmen, ob oder nicht eine Differenz dazwischen besteht (D23). Wenn eine Differenz vorliegt (JA), wird der dieses Mal erzeugte Hashwert im Flash-Speicher 24d gespeichert (D24) und der Hashwert an die Zentralvorrichtung 3 gesendet. Wenn in Schritt S23 keine Differenz zwischen den beiden Hashwerten vorliegt (NEIN), wird der Prozess beendet. Es wird davon ausgegangen, dass ein Hashwert für Anfangswerte der Konfigurationsinformation vorab im Flash-Speicher 24d gespeichert wird. Dadurch kann die Anzahl von Malen eines Hochladens der Konfigurationsinformation vom fahrzeugseitigen System 4 auf die Zentralvorrichtung 3 reduziert werden.
  • (Dritte Ausführungsform)
  • Die dritte Ausführungsform betrifft eine Funktion, die von einer Kampagnenverwaltungseinheit 3D der Zentralvorrichtung 3 ausgeführt wird, um eine Aktualisierungsrate eines Anwendungsprogramms im fahrzeugseitigen System 4 zu verbessern. Wie beispielsweise in 24 gezeigt, stellt ein Benutzer im fahrzeugseitigen System 4 ein HTTP-Polling-Intervall unter Verwendung einer Konfigurationsdatei auf etwa drei Tagen ein, wodurch das fahrzeugseitige System 4 periodisch die Verfügbarkeit einer Aktualisierung eines Anwendungsprogramms bezüglich der Zentralvorrichtung 3 überprüft. Folglich meldet die Zentralvorrichtung 3, wenn die Aktualisierung geprüft wird, nachdem die Kampagneninformation einer VIN eines Fahrzeugs entsprechend der Kampagnen-DB 217 bestimmt wurde, dem fahrzeugseitigen System 4, dass „die Aktualisierung verfügbar ist“. D.h., wie in der zweiten Ausführungsform beschrieben, wird der Prozess, bei dem die Zentralvorrichtung 3 die Aktualisierung mit einem Hochladen der Konfigurationsinformation unter Verwendung von HTTP vom fahrzeugseitigen System 4 als ein Auslöser prüft, zu dem Timing von IG-EIN nach Ablauf von drei Tagen ausgeführt.
  • In der oben beschriebenen Weise muss in der Konfiguration, in der die Aktualisierungsverfügbarkeit mit einer Benachrichtigung von einem Fahrzeug als ein Auslöser geprüft wird, die Zentralvorrichtung 3 Kampagneninformation nicht von der Zentralvorrichtung 3 an alle der Fahrzeuge senden, die zu der Zeit, zu der die Kampagneninformation bestimmt bzw. eingestellt wird, Kampagnenziele sind. Wenn ein Benutzer ein Fahrzeug jedoch für eine lange Zeitdauer nicht nutzt, prüft er in dieser Zeit nicht die Aktualisierungsverfügbarkeit via HTTP. Folglich wird angenommen, dass der Benutzer nicht weiß, dass eine neue Kampagne ausgegeben wurde, und ein Anwendungsprogramm im Fahrzeug möglicherweise nicht aktualisiert wird.
  • Daher prüft, wie in 25 gezeigt, die SMS-Sendesteuereinheit 212 der Zentralvorrichtung 3 ein Zugriffsprotokoll jedes Fahrzeugs unter Bezugnahme auf die DB 213 für individuelle Fahrzeuginformation zu regelmäßigen oder vorbestimmten Timings (E1). Es wird bestimmt, ob oder nicht ein Fahrzeug vorhanden ist, das nicht auf die Zentralvorrichtung 3 zugegriffen hat, d.h. ein Fahrzeug, das für eine vorbestimmte Zeitdauer keine Konfigurationsinformation zum Prüfen einer Aktualisierung eines Anwendungsprogramms gesendet hat. Die vorbestimmte Zeitdauer beträgt z.B. ca. sieben Tage, mit dem Tag, an dem eine neue Kampagne in der Kampagnen-DB 217 gesetzt wird, als der Starttag der Zählung. D.h., die SMS-Sendesteuereinheit 212 spezifiziert ein Fahrzeug, bei dem für sieben Tage keine Aktualisierung mehr geprüft wurde, für Fahrzeuge, deren „Fahrzeug-SW-IDs“ der DB 213 für individuelle Fahrzeuginformation „Vor-Aktualisierung-Fahrzeug-SW-IDs“ der Kampagnen-DB 217 entsprechen. Die SMS-Sendesteuerungseinheit 212 kann ein Fahrzeug, bei dem für eine vorbestimmte Zeitdauer keine Aktualisierung geprüft wurde, für alle der Fahrzeuge spezifizieren.
  • In der DB 213 für individuelle Fahrzeuginformation werden bei der Produktion eines Fahrzeugs in einer Fabrik Anfangsdaten durch den OEM registriert und wird danach ein Anfangszugriffsprotokoll aufgrund einer Benachrichtigung vom OEM, z.B. bei Verkäufen des Fahrzeugs, eingegeben. Dieses Zugriffsprotokoll entspricht im Wesentlichen einer Benachrichtigung zum Validieren einer nachfolgenden Programmaktualisierung. Ein Fahrzeug, für das kein Zugangsprotokoll eingegeben wurde, wird von der Bestimmung in Schritt E2 ausgeschlossen.
  • Wenn ein Fahrzeug vorhanden ist, für das die Aktualisierung für eine vorbestimmte Zeitdauer nicht geprüft wurde (JA), bestimmt die SMS-Sendesteuereinheit 212 Merkmale des Fahrzeugs auf der Grundlage des Fahrzeugtyps in der DB 213 für individuelle Fahrzeuginformation, Ausstattungsinformation und dergleichen (E3). Hier bestimmt die SMS-Sendesteuereinheit 212 als die Merkmale, ob das Fahrzeug ein Elektrofahrzeug, ein EV, das einen Kurznachrichtendienst (SMS) empfangen kann, ein konventionelles Fahrzeug mit Benzinmotor, das eine SMS empfangen kann, d.h. ein Fahrzeug mit konventionellem Motor (konventionelles Fahrzeug), oder ein Fahrzeug, für das es schwierig ist, eine SMS zu empfangen, ist. Zum Beispiel wird in einem Fall, in dem das am Fahrzeug montierte DCM 12 keine Funktion zum Empfangen einer SMS aufweist oder keinen Vertrag zum Empfangen einer SMS aufweist, bestimmt, dass es für das Fahrzeug schwierig ist, eine SMS zu empfangen.
  • Im Falle des EV wird eine SMS zum Initiieren einer Konfigurationsinformationssendesequenz durch Starten der ECU 19 des Fahrzeugs gesendet (E5; siehe 26). Wenn das DCM 12 die SMS empfängt und einen in der SMS beschriebenen Befehl ausführt, wird in den IG-EIN-Energieversorgungszustand eingetreten, und das gestartete CGW 13 sendet die Konfigurationsinformation über das DCM 12 an die Zentralvorrichtung 3. Anschließend wird, wie in den Schritten D1 bis D12 von 22 gezeigt, die Aktualisierung geprüft und ein Verteilungspaket oder dergleichen heruntergeladen. Im Fall des EVs wird, da eine Kapazität der Batterie groß ist, davon ausgegangen, dass es ausreichend möglich ist, das Programm im IG-EIN-Energieversorgungszustand im Parkzustand herunterzuladen. Dazu wird die ECU 19 mittels einer SMS gestartet und eine Sequenz nach Aktualisierungsprüfung und Herunterladen automatisch initiiert.
  • In einem Fall, in dem eine verbleibende Batterieladung der Batterie des EV-Fahrzeugs gering ist, nimmt das fahrzeugseitige System 4 auf die in 17 gezeigten Umschreibespezifikationsdaten Bezug, und in einem Fall, in dem eine verbleibende Batterieladung kleiner als eine festgelegte Menge ist, wird gesteuert, dass eine Installation nicht initiiert wird. Alternativ wird in einem Fall, in dem auf eine verbleibende Batterieladung, die in der von der Zentralvorrichtung 3 in Schritt D9 gesendeten Kampagnendatei als Beschränkungen beschrieben wird, Bezug genommen wird und diese verbleibende Batterieladung kleiner als eine festgelegte verbleibende Batterieladung ist, das fahrzeugseitige System 4 gesteuert, um ein Herunterladen des Verteilungspakets nicht zu initiieren.
  • Im konventionellen Fahrzeug sendet die SMS-Sendesteuereinheit 212 eine SMS, die auf der In-Vehicle-Anzeige 7 anzeigbar ist, an ein Fahrzeug, das bereit ist, die SMS zu empfangen, und zwar in einer Zeitdauer, in der das DCM 12 intermittierend gestartet wird (E4; siehe 26). Beispielsweise weist das CGW 13 die In-Vehicle-Anzeige 7 an, in der empfangenen SMS beschriebenen Textaussagen zum nächsten IG-EIN-Timing anzuzeigen. In einem Fall, in dem Information des mobilen Endgeräts 6 des Benutzers in der DB 213 für individuelle Fahrzeuginformation registriert ist, kann die SMS an das mobile Endgerät 6 gesendet werden. Es wird z.B. eine Textnachricht wie „Kampagneninformation vorhanden; und IG-EIN ausführen“ angezeigt. Die DB 213 für individuelle Fahrzeuginformation ist ein Beispiel für eine Benutzerinformationsspeichereinheit. Demgegenüber wird ein Fahrzeug in einem Zustand, in dem es schwierig ist, eine SMS zu empfangen, nichts unterzogen, und die Bewältigung erfolgt z.B. durch separates Senden von Post an einen Benutzer (E6).
  • Wie oben beschrieben, sendet das fahrzeugseitige System 4 gemäß der dritten Ausführungsform die Konfigurationsinformation von mehreren ECUs 19 an die Zentralvorrichtung 3, und die DB 213 für individuelle Fahrzeuginformation speichert die von den jeweiligen Fahrzeugen gesendete Konfigurationsinformation zusammen mit dem Sendedatum dieser. Die Kampagnen-DB 217 speichert, als Kampagneninformation, eine Ziel-VIN-Liste zum Identifizieren einer Kampagnen-ID und eines Datenaktualisierungszielfahrzeugs. Die Zentralvorrichtung 3 nimmt Bezug auf die DB 213 für individuelle Fahrzeuginformation bzw. -konfiguration und sendet, wenn kein Senden der Konfigurationsinformation innerhalb einer vorbestimmten Zeitdauer ab dem mit einem Zielfahrzeug verknüpften Sendedatum erfolgt, eine Nachricht mit einer Aufforderung zur Datenaktualisierung an das fahrzeugseitige System 4 des Zielfahrzeugs via SMS.
  • Gemäß dieser Konfiguration sendet die Zentralvorrichtung 3 auch in einem Fall, in dem die Situation fortbesteht, dass die Konfigurationsinformation nicht an die Zentralvorrichtung 3 gesendet wird, da ein Benutzer keine Gelegenheit hat, sein Fahrzeug zu fahren, eine Nachricht mit einer Aufforderung zur Datenaktualisierung an das fahrzeugseitige System 4 des Zielfahrzeugs, wenn eine vorbestimmte Zeitdauer ab dem in der DB 213 für individuelle Fahrzeuginformation gespeicherten Sendedatum verstrichen ist. Daher kann der Anwender anhand der Nachricht erkennen, dass die Datenaktualisierung notwendig ist.
  • Die Zentralvorrichtung 3 nimmt Bezug auf die DB 213 für individuelle Fahrzeuginformation und die Kampagnen-DB 217, um ein Programmaktualisierungszielfahrzeug zu bestimmen. D.h., die DB 213 für individuelle Fahrzeuginformation speichert das Datum, an dem die Konfigurationsinformation von jedem Fahrzeug gesendet wird, und die Kampagnen-DB 217 speichert eine Ziel-VIN-Liste. Daher kann die Zentralvorrichtung 3 ein Programmaktualisierungszielfahrzeug auf der Grundlage des Sendedatums der Konfigurationsinformation von jedem Fahrzeug und der Ziel-VIN-Liste bestimmen.
  • Wenn die Konfigurationsinformation von jeder ECU 19 mit dem Einschalten des Zündschalters 37 als Auslöser empfangen wird, sendet das fahrzeugseitige System 4 die Konfigurationsinformation an die Zentralvorrichtung 3. Daher kann, wenn der Benutzer das Fahrzeug fährt, die Konfigurationsinformation zuverlässig an die Zentralvorrichtung 3 gesendet werden.
  • Wenn es sich bei dem Zielfahrzeug um ein Elektrofahrzeug handelt, sendet die Zentralvorrichtung 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 in Bezug auf die Datenaktualisierung auszuführen. D.h., da das Elektrofahrzeug eine relativ große Kapazität der Batterie aufweist, kann die ECU 19 Prozesse in Bezug auf die Datenaktualisierung ausführen, ohne auf eine Benutzerbedienung zu warten. Daher ist es möglich, die Datenaktualisierung effizient auszuführen.
  • Wenn es sich bei dem Zielfahrzeug um ein konventionelles Fahrzeug handelt, sendet die Zentralvorrichtung 3 zumindest Textinformation, die auf der In-Vehicle-Anzeige 7 des Zielfahrzeugs als Nachricht anzeigbar ist. Daher kann ein Benutzer des konventionellen Fahrzeugs anhand der auf der In-Vehicle-Anzeige 7 angezeigten Textinformation erkennen, dass eine Datenaktualisierung erforderlich ist.
  • Wenn ein Sendeziel des mobilen Endgerätes 6 des Benutzers in der DB 213 für individuelle Fahrzeuginformation gespeichert ist, sendet die Zentralvorrichtung 3 auf dem mobilen Endgerät 6 anzeigbare Textinformation als Nachricht. Dadurch kann der Benutzer anhand der auf dem mobilen Endgerät 6 angezeigten Textinformation erkennen, dass eine Datenaktualisierung notwendig ist, auch wenn keine Möglichkeit besteht, mit dem Fahrzeug zu fahren.
  • Wenn der Benutzer das Sendedatum und ein Sendeziel einer Kampagne im Voraus über das mobile Endgerät 6 an die Zentralvorrichtung 3 sendet, speichert die Zentralvorrichtung 3 das Sendedatum und das Sendeziel in der DB 213 für individuelle Fahrzeuginformation. Der Benutzer bestimmt z.B. den Tag nach Ausgabe der Kampagne als das Sendedatum und bestimmt das mobile Endgerät 6 als das Sendeziel anstelle der In-Vehicle-Anzeige 7. Der Benutzer bestimmt eine vorbestimmte Zeit, zu der er nicht fährt, als das Sendedatum, bestimmt das Fahrzeug als das Sendeziel und führt eine Bedienung zur Genehmigung aus, dass ein Programm automatisch aktualisiert wird. Folglich sendet die Zentralvorrichtung 3 die Kampagneninformation am Sendedatum an das Sendeziel, und zwar unabhängig davon, ob oder nicht die Konfigurationsinformation gesendet wird. Wenn der Benutzer also im Voraus weiß, dass es eine Zeit lang keine Gelegenheit gibt, mit dem Fahrzeug zu fahren, kann die Kampagneninformation so eingestellt werden, dass sie an dem vom Benutzer eingestellten Sendedatum empfangen wird.
  • Die dritte Ausführungsform kann wie folgt modifiziert und implementiert werden.
    • ▪ Die Benutzerinformationsspeichereinheit kann getrennt von der DB 213 für individuelle Fahrzeuginformation vorgesehen sein.
    • ▪ Die Kampagneninformation kann mit anderen Mitteln als SMS gesendet werden.
    • ▪ Anstatt das Sendedatum in der DB 213 für individuelle Fahrzeuginformation zu speichern, kann die Zentralvorrichtung 3 z.B. einen Tag speichern, an dem keine Daten vom Fahrzeug gesendet werden, und eine Nachricht mit einer Aufforderung zur Datenaktualisierung senden, wenn der Tag sieben aufeinanderfolgende Tage andauert.
  • (Vierte Ausführungsform)
  • Die vierte Ausführungsform bezieht sich auf einen Fall, in dem ein Benutzer Kampagneninformation und eine Benachrichtigungsmethode bestimmt. Es wird z.B. der Fall angenommen, dass der Benutzer etwa einen Monat lang nicht fährt und dass im Voraus bestimmt wird, dass keine Gelegenheit besteht, den IG-Schalter 37 einzuschalten. Wie in 27 gezeigt, sendet der Benutzer Einstellungen eines Benachrichtigungsziels sowie Benachrichtigungsdatum und Benachrichtigungszeit zur Zeit des Auftretens einer Kampagne mit Hilfe des mobilen Endgeräts 6 an die Zentralvorrichtung 3. Es wird z.B. eingestellt, dass das mobile Endgerät 6 einen Monat später über Kampagneninformation informiert wird. Folglich speichert die Verwaltungseinheit 3C für individuelle Fahrzeuginformation Information, die das Benachrichtigungsziel sowie das Benachrichtigungsdatum und die Benachrichtigungszeit angibt, in der DB 213 für individuelle Fahrzeuginformation und benachrichtigt den Benutzer über die Information gemäß den Einstellungen. Wenn z.B. zwei Kampagnen (1, 2) in einem Monat eingestellt werden, benachrichtigt die SMS-Sendesteuereinheit 212 das mobile Endgerät 6 des Benutzers einen Monat später über Information zu den Kampagnen (1, 2), um eine Programmaktualisierung zu veranlassen.
  • Wie oben beschrieben, speichert die Zentralvorrichtung 3 gemäß der vierten Ausführungsform, wenn der Benutzer das Sendedatum und ein Sendeziel von Kampagneninformation über das mobile Endgerät 6 an die Zentralvorrichtung 3 sendet, das Sendedatum und das Sendeziel in der DB 213 für individuelle Fahrzeuginformation. Die Zentralvorrichtung 3 sendet die Kampagneninformation am gespeicherten Sendedatum an das Sendeziel. Folglich ist es möglich, das Senden von unnötiger Kampagneninformation von der Zentralvorrichtung 3 zu stoppen, wenn bestimmt wird, dass der Benutzer eine bestimmte Zeit lang nicht mit dem Fahrzeug fährt.
  • (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 überprüfen, wenn die Zentralvorrichtung 3 Daten eines Aktualisierungsprogramms an das fahrzeugseitige System 4 sendet. Wie in den 28 und 29 gezeigt, erstellt ein Anbieter Daten, die in der ECU-Umprogrammierungsdaten-DB 204 zu registrieren sind, mit Hilfe der Paketverwaltungseinheit 3A. Insbesondere erzeugt die Paketverwaltungseinheit 3A neue Differenzdaten zum Umschreiben eines alten Programms in ein neues Programm als Aktualisierungsdaten (Y1) und erzeugt einen Hashwert, der Integritätsverifizierungsdaten für das neue Programm der ECU 19 ist, und einen Hashwert für die neuen Differenzdaten (Y2). Hier können in einem Fall, in dem die ECU einen Ein-Bank-Speicher aufweist, alte Differenzdaten zum Umschreiben des neuen Programms in das alte Programm als Rollback-Daten erzeugt werden, und es kann ein Hashwert für das alte Programm für die ECU 19 und ein Hashwert für die alten Differenzdaten erzeugt werden.
  • Die Paketverwaltungseinheit 3A erzeugt einen Authentifikator, indem sie eine Verschlüsselung mit einem Schlüsselwert anwendet, der ein vorbestimmter Schlüssel für jeden Hashwert ist (Y3). Die Paketverwaltungseinheit 3A sendet die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit jedem Authentifikator und speichert die gesendeten Daten in der ECU-Umprogrammierungsdaten-DB 204 (Y4). Wie oben beschrieben, erzeugt die Paketverwaltungseinheit 3A ein Paket, erzeugt Integritätsverifizierungsdaten für das Paket und sendet die Integritätsverifizierungsdaten an das fahrzeugseitige System 4 (Y5).
  • Die Master-Vorrichtung (OTA-Master) 11 berechnet die Integritätsverifizierungsdaten für das Paket, vergleicht einen berechneten Wert mit den Integritätsverifizierungsdaten des empfangenen Pakets und verifiziert die Integrität des Pakets (Y6). Wenn die Paketintegritätsprüfung erfolgreich ist, sendet die Master-Vorrichtung 11 die Aktualisierungsdaten und die Integritätsverifizierungsdaten der ECU an die Umschreibeziel-ECU 19 (Ziel-ECU) (Y7).
  • Die Umschreibeziel-ECU 19 berechnet die Integritätsverifizierungsdaten für die Aktualisierungsdaten, vergleicht einen 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 Umschreibeziel-ECU 19 die Differenzdaten, die die Aktualisierungsdaten sind, wieder her und schreibt die Daten in den Flash-Speicher 28d (Y9). Wenn das Schreiben abgeschlossen ist, berechnet die Umschreibeziel-ECU 19 die Integritätsverifizierungsdaten für die in den Flash-Speicher 28d geschriebenen Daten, vergleicht einen berechneten Wert mit den Integritätsverifizierungsdaten des empfangenen neuen Programms und verifiziert die Integrität des Flash-Speichers 28d (Y10). Die Umschreibeziel-ECU 19 sendet das Verifizierungsergebnis an die Master-Vorrichtung 11 (Y11), und die Master-Vorrichtung 11 sendet das empfangene Verifizierungsergebnis als Installationsergebnisbenachrichtigung an die Zentralvorrichtung 3 (Y12).
  • Beispielsweise erzeugt die Paketverwaltungseinheit 3A, wie in 10 gezeigt, die folgenden Integritätsverifizierungsdaten für die neueste „ECU-SW-ID“. In einem Fall, in dem eine Speicherkonfiguration der ECU die Zwei-Bank-Speicher- oder Suspend-Konfiguration ist, können (3) und (4) im Folgenden entfallen.
    1. (1) Es wird ein Hashwert, d.h. Integritätsverifizierungsdaten für ein neues Programm der ECU, erzeugt. Ein Funktionsabschnitt zum Ausführen dieses Prozesses ist ein Beispiel für eine erste Verifizierungswerterzeugungseinheit (Schritt A1).
    2. (2) Es werden Aktualisierungsdaten, d.h. Differenzdaten zum Aktualisieren auf ein neues Programm auf der Grundlage eines alten Programms der ECU, und ein Hashwert, d.h. Integritätsverifizierungsdaten der Aktualisierungsdaten, erzeugt. Der Funktionsabschnitt zum Ausführen dieses Prozesses ist ein Beispiel für eine zweite Verifizierungswerterzeugungseinheit in Schritt A4.
    3. (3) Es wird ein Hashwert, d.h. die Integritätsverifizierungsdaten für das alte Programm der ECU, erzeugt. Ein Funktionsabschnitt zum Ausführen dieses Prozesses ist ein Beispiel für eine vierte Verifizierungswerterzeugungseinheit in Schritt A5.
    4. (4) Es werden Aktualisierungsdaten, d.h. Differenzdaten zum Aktualisieren auf das alte Programm auf der Grundlage des neuen Programms der ECU, und ein Hashwert, d.h. Integritätsverifizierungsdaten der Aktualisierungsdaten, erzeugt. Ein Funktionsabschnitt zum Ausführen dieses Prozesses ist ein Beispiel für eine fünfte Verifizierungswerterzeugungseinheit in Schritt A7.
  • Das „Programm“ enthält konstante Daten, die im Programm zu verwenden sind. Bei „ECU-SW-ID = ads_002“ wird ein Hashwert x1 für Aktualisierungsdaten „Adsfile001-002“ erzeugt. Als eine Hash-Funktion wird z.B. SHA-256 verwendet, wie oben beschrieben. Der Hashwert entspricht einem Verifizierungswert. Hier kann die Paketverwaltungseinheit 3A konfiguriert sein, um Integritätsverifizierungsdaten mit einem Authentifikator zu erzeugen, indem sie einen Authentifikator durch Anwenden einer Verschlüsselung unter Verwendung eines Schlüsselwerts, der ein vorbestimmter Schlüssel ist, auf den Hashwert erzeugt.
  • Als Nächstes erzeugt der Anbieter Integritätsverifizierungsdaten mit einem Authentifikator, indem er eine Verschlüsselung unter Verwendung eines Schlüsselwerts, der ein vorbestimmter Schlüssel ist, auf die Integritätsverifizierungsdaten anwendet, und stellt dem OEM die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit dem Authentifikator in Korrelation zueinander zur Verfügung. Mit anderen Worten, die Paketverwaltungseinheit 3A stellt dem OEM jedes Programm und die Integritätsverifizierungsdaten mit einem Authentifikator für das Programm, in der ECU-Umprogrammierungsdaten-DB 204 registriert sind, zur Verfügung. Im Ansprechen auf einen Befehl des OEMs erzeugt die Paketverwaltungseinheit 3A wie oben beschrieben Umschreibespezifikationsdaten unter Verwendung der ECU-Umprogrammierungsdaten-DB 204 oder dergleichen, erzeugt ein Verteilungspaket und registriert es in der Paket-DB 206. Wenn eine Download-Anfrage für Aktualisierungsdaten vom fahrzeugseitigen System 4 erzeugt wird, verteilt die Zentralvorrichtung 3 im Ansprechen auf die Download-Anfrage ein Verteilungspaket, das die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit dem Authentifikator enthält, an das fahrzeugseitige System 4.
  • Die „Integritätsverifizierungsdaten“ in den Ansprüchen umfassen sowohl einen reinen Hashwert als auch Integritätsverifizierungsdaten mit einem Authentifikator einschließlich Verschlüsselung unter Verwendung eines Schlüssels.
  • Wenn das Verteilungspaket empfangen wird, verifiziert die Master-Vorrichtung 11 des fahrzeugseitigen Systems 4 die Validität des Verteilungspakets anhand der Integritätsverifizierungsdaten (dritter Verifizierungswert), die dem Verteilungspaket hinzugefügt wurden. Insbesondere werden unter Verwendung des Verteilungspakets berechnete Integritätsverifizierungsdaten mit den empfangenen Integritätsverifizierungsdaten verglichen, und wenn die Teile von Daten übereinstimmen, wird bestimmt, dass sie normal sind. Wenn infolge der Verifizierung überprüft wurde, dass das Verteilungspaket normal ist, entpackt die Master-Vorrichtung 11 das Verteilungspaket in Daten für jede ECU (siehe 6). Die Master-Vorrichtung 11 überträgt die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit dem Authentifikator an die Ziel-ECU 19.
  • Die ECU 19 verifiziert die Validität der Aktualisierungsdaten anhand von Integritätsverifizierungsdaten mit dem Authentifikator (zweiter Verifizierungswert). Insbesondere werden die Integritätsverifizierungsdaten, die unter Verwendung der empfangenen Aktualisierungsdaten berechnet wurden, mit den empfangenen Integritätsverifizierungsdaten verglichen, und wenn die Daten übereinstimmen, wird bestimmt, dass sie normal sind. Wenn die Verifizierung ergibt, dass sie normal sind, führt die CPU 28a der ECU 19 einen Schreibprozess an dem Flash-Speicher 28d aus. Wenn der Schreibprozess abgeschlossen ist, verwendet die ECU 19 die Integritätsverifizierungsdaten mit dem Authentifikator (erster Verifizierungswert), um die in den Flash-Speicher 28d geschriebenen Daten zu lesen und ihre Validität zu verifizieren. Insbesondere werden unter Verwendung der gelesenen Daten berechnete Integritätsverifizierungsdaten mit den empfangenen Integritätsverifizierungsdaten verglichen, und wenn die Teile von Daten übereinstimmen, wird bestimmt, dass sie normal sind. Die Integritätsverifizierungsdaten werden in einem vorbestimmten Bereich des Flash-Speichers 28d gespeichert, um verwendet zu werden, wenn die ECU 19 gestartet wird. Wenn diese Prozesse abgeschlossen sind, sendet die ECU 19 eine Schreibantwort an die Master-Vorrichtung 11, einschließlich der Verifizierungsergebnisse. Die Master-Vorrichtung 11 informiert die Zentralvorrichtung 3 ein Installationsergebnis. 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 für eine Schreibverarbeitungseinheit.
  • Hier führt die ECU 19 in einem Fall, in dem eine Programmaktualisierung während der Installation abgebrochen wird, einen Rollback-Prozess aus. Die ECU 19 schreibt die Aktualisierungsdaten und verifiziert die Validität der Rollback-Differenzdaten anhand der Integritätsverifizierungsdaten mit dem Authentifikator (fünfter Verifizierungswert). Insbesondere werden die Integritätsverifizierungsdaten, die unter Verwendung der Rollback-Differenzdaten berechnet wurden, mit den empfangenen Integritätsverifizierungsdaten verglichen, und wenn die Daten übereinstimmen, wird bestimmt, dass sie normal sind. Wenn die Verifizierung ergibt, dass sie normal sind, initiiert die ECU 19 ein Schreiben unter Verwendung der Rollback-Differenzdaten, nachdem das Schreiben der Aktualisierungsdaten abgeschlossen wurde. Nach Abschluss des Schreibens liest die ECU 19 die in den Flash-Speicher 28d geschriebenen Daten unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifikator (vierter Verifizierungswert) und verifiziert deren Validität.
  • Die Integritätsverifizierung der empfangenen Differenzdaten (der Aktualisierungsdaten oder der Rollback-Differenzdaten) kann von der Master-Vorrichtung 11 anstelle der ECU 19 ausgeführt werden.
  • Wie in 30 gezeigt, führt die ECU 19 anschließend, wenn der IG-Schalter 37 des Fahrzeugs eingeschaltet wird, eine Datenverifizierung zur Zeit des Starts mit dem Einschalten als Auslöser aus. Die ECU 19 verifiziert die Integrität eines gestarteten Programms oder dergleichen, das unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifikator (dem ersten Verifizierungswert oder dem vierten Verifizierungswert) gestartet wurde. Zunächst wird, im Flash-Speicher 28d, eine Hash-Funktion auf Datenwerte eines Auswertezielbereichs angewandt, in den ein aktualisiertes Programm oder konstante Daten geschrieben werden, und so ein Hashwert erfasst. Anschließend werden die Integritätsverifizierungsdaten mit dem Authentifikator entschlüsselt, und ein im Entschlüsselungsergebnis enthaltener Hashwert (Erwartungswert) wird mit dem erfassten Hashwert (berechneter Wert) verglichen, und es wird bestimmt, ob oder nicht das in den Flash-Speicher 28d geschriebene Programm oder dergleichen gefälscht wurde. Wenn beide Hashwerte übereinstimmen und somit als „OK“ bestimmt werden, führt die ECU 19 wie gewohnt einen Startprozess aus. Der gleiche Prozess wird für jede ECU 19 ausgeführt, und wenn die Ergebnisse in allen ausgewerteten Ziel-ECUs 19 „OK“ ergeben, wird der Prozess beendet.
  • Demgegenüber speichert die ECU 19, wenn ein Ergebnis der Verifikation für eine beliebige ECU 19 anormal, d.h. „NG“ ist, ein Protokoll des Prozesses und benachrichtigt die Master-Vorrichtung 11 über den Fehler. Die Master-Vorrichtung 11 speichert ebenfalls das Protokoll und meldet der Zentralvorrichtung 3 den Fehler. Die Zentralvorrichtung 3 speichert ebenfalls das Protokoll und meldet der Verwaltungsvorrichtung 220 des OEMs oder dergleichen einen Fehler. Die Benachrichtigung an die Verwaltungsvorrichtung 220 erfolgt z.B. durch die SMS-Sendesteuereinheit 212 per SMS oder durch Senden einer E-Mail über eine Internetleitung.
  • In der oben beschriebenen Ausführungsform ist das fahrzeugseitige System 4 konfiguriert, um die Integrität zu prüfen. In 31 ist ein Fall beschrieben, in dem die Verifizierung der Integrität (Vergleich mit einem Erwartungswert) von der Zentralvorrichtung 3 ausgeführt wird. Wenn in 31 beispielsweise Versionsinformation eines aktualisierten Anwendungsprogramms zu einem Timing von IG-EIN oder dergleichen an die Master-Vorrichtung 11 gesendet wird, erzeugt und sendet die ECU 19 Integritätsverifizierungsdaten mit einem Authentifikator in der gleichen Weise wie oben beschrieben zusammen mit der Versionsinformation (X1). Die ECU 19 berechnet Integritätsverifizierungsdaten für die Daten im Flash-Speicher 28d und sendet den berechneten Wert an die Master-Vorrichtung 11. Die Master-Vorrichtung 11 sendet Konfigurationsinformation einschließlich der Integritätsverifizierungsdaten mit dem Authentifikator an die Zentralvorrichtung 3 (X2).
  • Die Zentralvorrichtung 3 greift auf die ECU-Umprogrammierungsdaten-DB 204 zu, erfasst Integritätsverifizierungsdaten mit einem Authentifikator, die mit der „ECU-SW-ID“ der Ziel-ECU 19 übereinstimmen (X3 und X4), und verifiziert die erfassten Daten mit den vom Fahrzeug hochgeladenen Integritätsverifizierungsdaten (X5). Insbesondere werden Integritätsverifizierungsdaten des neuen Programms entsprechend der „ECU-SW-ID“ aus der ECU-Umprogrammierungsdaten-DB erfasst und mit den hochgeladenen Integritätsverifizierungsdaten abgeglichen. Wenn ein Ergebnis des Abgleichs inkonsistent, d.h. NG ist (X6; NG), wird der Verwaltungsvorrichtung 220 des OEMs eine Abnormität gemeldet (X7). Eine Funktion dieser Verarbeitungseinheit entspricht einer Abnorm itätsbenachrichtigungseinheit.
  • Die Zentralvorrichtung 3 sendet das Abgleichergebnis an die Master-Vorrichtung 11 (X8), und die Master-Vorrichtung 11 sendet das empfangene Abgleichergebnis an die Umschreibeziel-ECU 19 (X9). In einem Fall, in dem das Abgleichergebnis OK ist, wendet die Umschreibeziel-ECU 19 ein Anwendungsprogramm wie gewohnt an. In einem Fall, in dem das Abgleichergebnis NG ist, wird das Anwendungsprogramm nicht angewandt. In der vorliegenden Ausführungsform kann die Paketverwaltungseinheit 3A die Integritätsverifizierungsdatenerzeugung (Schritt A1) eines neuen Programms und die Integritätsverifizierungsdatenerzeugung (Schritt A5) eines alten ECU-Programms auslassen.
  • In der obigen Beschreibung verifiziert die ECU 19 die Integrität von Aktualisierungsdaten zu einem Timing, zu dem der IG-Schalter 37 des Fahrzeugs eingeschaltet wird, nachdem die Aktualisierungsdaten geschrieben wurden, kann die Integrität der Aktualisierungsdaten jedoch unmittelbar nach dem Schreiben der Aktualisierungsdaten verifizieren.
  • In der obigen Ausführungsform werden die Integritätsverifizierungsdaten mit einem Authentifikator nur zu den Aktualisierungsdaten hinzugefügt, kann dies jedoch wie folgt implementiert werden.
    • ▪ Ein neues Programm und entsprechende Aktualisierungsdaten werden aus der ECU-Umprogrammierungsdaten-DB 204 erfasst (Datenerfassungsprozedur; Schritt A1).
    • ▪ Die erste Verifizierungswerterzeugungseinheit erzeugt einen ersten Hashwert für das neue Programm (erste Verifizierungswerterzeugungsprozedur; Schritt A2).
    • ▪ Die zweite Verifizierungswerterzeugungseinheit erzeugt einen zweiten Hashwert für die Aktualisierungsdaten (zweite Verifizierungswerterzeugungsprozedur; Schritt A4). Die Paketerzeugungseinheit 202 bewirkt, dass die Aktualisierungsdaten, die Spezifikationsdaten und der erste und der zweite Hashwert in einem Verteilungspaket enthalten sind (Verteilungspaketerzeugungsprozedur). Die Aktualisierungsdaten entsprechen neuen Differenzdaten.
    • ▪ Die dritte Verifizierungswerterzeugungseinheit erzeugt einen dritten Hashwert für das Verteilungspaket (dritte Verifizierungswerterzeugungsprozedur; Schritt C4).
    • ▪ Die Paketverteilungseinheit 203 sendet das Verteilungspaket und den dritten Hashwert an das fahrzeugseitige System 4.
  • Ein Authentifikator kann nur zu dem Verteilungspaket und dem dritten Hashwert hinzugefügt werden oder in jeder Stufe der Erzeugung jedes Hashwerts hinzugefügt werden. Die Paketverteilungseinheit 203 entspricht einer Sendeeinheit.
  • In diesem Fall im fahrzeugseitigen System 4:
    • ▪ Das DCM 12, das eine Empfangsverarbeitungseinheit ist, empfängt die Verteilungspakete und die dritten Hashwerte.
    • ▪ Die dritte Verifizierungsverarbeitungseinheit vergleicht einen aus den Verteilungspaketdaten erzeugten Hashwert mit dem empfangenen dritten Hashwert und verifiziert die Integrität der Verteilungspaketdaten.
    • ▪ Die zweite Verifizierungsverarbeitungseinheit vergleicht einen aus den Aktualisierungsdaten erzeugten Hashwert mit dem empfangenen zweiten Hashwert und verifiziert die Integrität der Aktualisierungsdaten.
    • ▪ Die CPU 28a, die ein Beispiel für eine Schreibverarbeitungseinheit ist, schreibt die Aktualisierungsdaten in den Flash-Speicher 28d.
    • ▪ Die erste Verifizierungsverarbeitungseinheit schreibt die Aktualisierungsdaten zum Erzeugen eines Hashwerts für Datenwerte in den Flash-Speicher 28d, die als ein neues Programm dienen, und vergleicht den Hashwert mit dem empfangenen ersten Hashwert, um die Integrität des neuen Programms zu verifizieren.
  • Wenn ein Verifizierungsergebnis der Aktualisierungsdaten NG ist, wird das Schreiben in den Flash-Speicher 28d gestoppt. Wenn ein Verifizierungsergebnis des in den Flash-Speicher 28d geschriebenen neuen Programms NG ist, wird das neue Programm für ungültig erklärt und, je nach Bedarf, ein Rollback-Prozess ausgeführt. Die erste bis dritte Verifizierungsverarbeitungseinheit kann durch die CPU 28a realisiert werden. Wenn eines der Verifizierungsergebnisse in der ersten bis dritten Verifizierungsverarbeitungseinheit NG ist, benachrichtigt das DCM 12 als eine Sendeverarbeitungseinheit die Zentralvorrichtung 3 über eine Abnormität.
  • Zusätzlich zur obigen Konfiguration, wie in 10 gezeigt, kann, wenn Rollback-Daten für die Rückkehr in einen Zustand des alten Programms vor dem Schreiben der Aktualisierungsdaten vorhanden sind, der folgende Prozess wie folgt ausgeführt werden.
    • ▪ Die vierte Verifizierungswerterzeugungseinheit erzeugt einen vierten Hashwert für das alte Programm (vierte Verifizierungswerterzeugungsprozedur; Schritt A5).
    • ▪ Die fünfte Verifizierungswerterzeugungseinheit erzeugt einen fünften Hashwert für die Rollback-Daten zum Rücksetzen des neuen Programms in das alte Programm (fünfte Verifizierungswerterzeugungsprozedur; Schritt A7). Die Rollback-Daten zeigen Rollback-Differenzdaten und entsprechen alten Differenzdaten.
    • ▪ Die Paketerzeugungseinheit 202 bewirkt, dass die Aktualisierungsdaten, die Rollback-Differenzdaten, die Umschreibespezifikationsdaten und der erste bis vierte Hashwert in einem Verteilungspaket enthalten sind (Verteilungspaketerzeugungsprozedur).
  • In diesem Fall wird, im fahrzeugseitigen System 4, während die Aktualisierungsdaten in den Flash-Speicher 28d umgeschrieben werden, z.B. wenn der Benutzer einen Befehl zum Stoppen des Umschreibens erteilt, das Umschreiben abgebrochen und die Wiederherstellung des alten Programms, d.h. ein Rollback, ausgeführt. Dies entspricht nur dem Fall, dass eine Speicherkonfiguration der ECU 19 ein Ein-Bank-Speicher ist.
    • ▪ Die zweite Verifizierungsverarbeitungseinheit berechnet einen Hashwert für die im Verteilungspaket enthaltenen Rollback-Daten, vergleicht den berechneten Hashwert mit dem fünften Hashwert 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 aus.
    • ▪ Die erste Verifizierungsverarbeitungseinheit berechnet einen Hashwert für das alte Programm, das durch Schreiben in den Flash-Speicher 28d wiederhergestellt wurde, vergleicht den berechneten Hashwert mit dem vierten Hashwert und verifiziert die Integrität des alten Programms.
  • Wie oben beschrieben, speichert die ECU-Umprogrammierungsdaten-DB 204 gemäß der fünften Ausführungsform ein neues Programm der Ziel-ECU 19, die ein Umschreibeziel ist, ein altes Programm und Aktualisierungsdaten, die neue Differenzdaten für eine Aktualisierung vom alten Programm zum neuen Programm sind. Die erste Verifizierungswerterzeugungseinheit erzeugt einen ersten Hashwert unter Verwendung des neuen Programms, und die zweite Verifizierungswerterzeugungseinheit erzeugt einen zweiten Hashwert unter Verwendung der Aktualisierungsdaten. Die Paketerzeugungseinheit 202 erzeugt ein Paket mit den Aktualisierungsdaten, einen ersten und einen zweiten Verifizierungswert und Spezifikationsdaten für mehrere Ziel-ECUs 19. Die dritte Verifizierungswerterzeugungseinheit erzeugt einen dritten Hashwert unter Verwendung des Verteilungspakets, und die Paketverteilungseinheit 203 sendet das Verteilungspaket zusammen mit dem dritten Hashwert an das fahrzeugseitige System 4.
  • Wenn das fahrzeugseitige System 4 das Verteilungspaket und den dritten Hashwert empfängt, berechnet die dritte Verifizierungsverarbeitungseinheit einen Hashwert für das Verteilungspaket und verifiziert die Integrität des Verteilungspakets durch Vergleich des Hashwerts mit dem dritten Hashwert. Die zweite Verifizierungsverarbeitungseinheit berechnet einen Hashwert für die Aktualisierungsdaten entsprechend der Ziel-ECU 19 im Verteilungspaket, vergleicht den Hashwert mit dem zweiten Hashwert im Verteilungspaket und verifiziert die Integrität der Aktualisierungsdaten.
  • Die CPU 28a schreibt die Aktualisierungsdaten in den Flash-Speicher 28d, und die erste Verifizierungsverarbeitungseinheit berechnet einen Hashwert für Daten des aktualisierten neuen Programms im Flash-Speicher 28d, vergleicht den Hashwert mit dem ersten Hashwert und verifiziert die Integrität der Daten des neuen Programms. So kann jeder Hashwert verwendet werden, um die Integrität jedes Datenwerts in mehreren Stufen zu verifizieren. Die Integrität des neuen Programms kann dreifach verifiziert werden, und so kann verhindert werden, dass das fahrzeugseitige System 4 ein unvollständiges neues Programm schreibt und mit einem falschen neuen Programm arbeitet.
  • Wenn die Rollback-Daten in der ECU-Umprogrammierungsdaten-DB 204 vorhanden sind, erzeugt die vierte Verifizierungswerterzeugungseinheit einen vierten Hashwert für das alte Programm, und die fünfte Verifizierungswerterzeugungseinheit erzeugt einen fünften Hashwert für die Rollback-Daten. Die Paketerzeugungseinheit 202 bewirkt, dass die Aktualisierungsdaten, der erste und der zweite Hashwert, die Rollback-Daten und der vierte und der fünfte Hashwert in einem Verteilungspaket enthalten sind.
  • Wenn ein Rollback im fahrzeugseitigen System 4 erfolgt, berechnet die zweite Verifizierungsverarbeitungseinheit einen Hashwert für die im Verteilungspaket enthaltenen Rollback-Daten und verifiziert die Integrität der Rollback-Daten durch Vergleich des Hashwerts mit dem fünften Hashwert. Die CPU 28a führt ein Schreiben in den Flash-Speicher 28d unter Verwendung der Rollback-Daten aus. Die erste Verifizierungsverarbeitungseinheit berechnet einen Hashwert für das alte Programm, das durch Schreiben in den Flash-Speicher 28d wiederhergestellt wurde, und verifiziert die Integrität des alten Programms durch Vergleich des Hashwerts mit dem vierten Hashwert. Somit kann die Integrität des alten Programms, das zurückgesetzt (Rollback) wurde, verifiziert werden. In der obigen Beschreibung sind die erste bis fünfte Verifizierungswerterzeugungseinheit Funktionsblöcke in der Paketverwaltungseinheit 3A der Zentralvorrichtung 3. Die erste, zweite, vierte und fünfte Verifizierungsverarbeitungseinheit sind Funktionsblöcke in der Ziel-ECU 19 des fahrzeugseitigen Systems 4. Die dritte Verifizierungsverarbeitungseinheit ist ein Funktionsblock in der Master-Vorrichtung 11 des fahrzeugseitigen Systems 4 (OTA-Master 11).
  • (Modifikationsbeispiel 1 der ersten Ausführungsform)
  • Wie in den 32 und 33 gezeigt, 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. Im vorliegenden Modifikationsbeispiel wird ein Paket für eine Gruppe erzeugt und werden mehrere Pakete für eine Kampagne verteilt. Zum Beispiel enthält das Paket „pkg_001_1“ die „ADS“ und die „BRK“, die ECUs der Gruppe 1 sind, und das Paket „pkg_001_2“ enthält die „EPS“, die eine ECU der Gruppe 2 ist.
  • In diesem Fall werden, wie in den 34 und 35 gezeigt, Spezifikationsdaten und ein Verteilungspaket individuell für jede Gruppe erzeugt. In 34 erzeugt die Spezifikationsdatenerzeugungseinheit 201 beispielsweise erste Spezifikationsdaten, die ECU-Information der „ADS“ und der „BRK“ beschreiben, als Spezifikationsdaten der Gruppe 1. Die Spezifikationsdatenerzeugungseinheit 201 erzeugt z.B. zweite Spezifikationsdaten, die ECU-Information der „EPS“ beschreiben, als Spezifikationsdaten der Gruppe 2. In 35 erzeugt die Paketerzeugungseinheit 202 Umprogrammierungsdaten, in die z.B. Aktualisierungsdaten der „ADS“ und der „BRK“, die zur Gruppe 1 gehören, gemäß einer ECU-Reihenfolge integriert werden, und erzeugt eine Paketdatei „pkg001_1.dat“ durch Integrieren der erzeugten Umprogrammierungsdaten mit den ersten Spezifikationsdaten. Die Paketerzeugungseinheit 202 erzeugt Umprogrammierungsdaten unter Verwendung von Aktualisierungsdaten der „EPS“, die zur Gruppe 2 gehören, und erzeugt eine Paketdatei „pkg001_2.dat“ durch Integrieren der erzeugten Umprogrammierungsdaten mit den zweiten Spezifikationsdaten.
  • (Modifikationsbeispiel 2 der ersten Ausführungsform)
  • 36 zeigt einen Prozessinhalt in einem Fall, in dem die Funktionen der Spezifikationsdatenerzeugungseinheit 201 und der Paketerzeugungseinheit 202 integriert sind, um ein Paketerzeugungswerkzeug 221 zu bilden. Nachstehend ist jeder Prozess nochmals beschrieben.
  • In dem Spezifikationsdatenerzeugungsprozess wird ein von einem Bediener als Spezifikationsdateninformation eingegebener Wert in einer Datenstruktur ausgegeben, in der die Anzahl von Bits oder eine Anordnungsreihenfolge im Voraus bestimmt ist, und es werden Spezifikationsdaten erzeugt. Bei der Spezifikationsdateninformation handelt es sich beispielsweise um in 17 beispielhaft dargestellte Werte, und Information in Einheiten von Fahrzeugen oder Systemen (Gruppen) wird zusätzlich zu Information in Einheiten von ECUs wie der ECU (ID1), der ECU (ID2) und der ECU (ID3) eingegeben. Die Information in Einheiten von Fahrzeugen ist beispielsweise in 17 gezeigte Umschreibeumgebungsinformation, und die Information in Einheiten von Systemen ist beispielsweise in 17 gezeigte Gruppeninformation oder die Information über die ECU-Reihenfolge. Eingegebene Information in Einheiten von Fahrzeugen und eingegebene Information in Einheiten von Systemen können unterschiedliche Dateien sein. Der Spezifikationsdatenerzeugungsprozess kann eine Funktion zum automatischen Berechnen einiger Werte, wie z.B. einer Dateigröße von Aktualisierungsdaten, und Reflektieren bzw. Widerspiegeln der berechneten Werte in den Spezifikationsdaten aufweisen.
  • In dem Paketerzeugungsprozess werden erzeugte Spezifikationsdaten, Aktualisierungsdaten jeder ECU sowie ein Wert und eine Datei, die als Integritätsverifizierungsdaten für jede ECU eingegeben werden, in einer Datenstruktur ausgegeben, in der die Anzahl der Bits oder die Anordnungsreihenfolge im Voraus bestimmt ist, und eine Datei eines Verteilungspakets wird erzeugt. Die Aktualisierungsdaten und die Integritätsvalidierungsdaten für jede ECU werden in einer aufsteigenden Reihenfolge der Gruppen oder einer aufsteigenden Reihenfolge der ECU-Reihenfolgen angeordnet. Hier können, zusätzlich zu den Aktualisierungsdaten (neue Differenzdaten), ebenso Rollback-Daten (alte Differenzdaten) eingegeben werden. Als die Integritätsverifizierungsdaten werden „Integritätsverifizierungsdaten eines ECU-Programms (neu)“ und „Integritätsverifizierungsdaten von Aktualisierungsdaten“ eingegeben. In einem Fall, in dem auch Rollback-Daten hinzugefügt werden, werden auch „Integritätsverifizierungsdaten eines alten ECU-Programms“ und „Integritätsverifizierungsdaten von alten Differenzdaten“ eingegeben.
  • In dem Integritätsverifizierungsdatenerzeugungsprozess werden Integritätsverifizierungsdaten für die erzeugte Paketdatei erzeugt, wie in Schritt C4 von 19 beschrieben.
  • Die erzeugte Paketdatei oder die Integritätsverifizierungsdaten, die für die Paketdatei erzeugt werden, werden von einem Bediener in der Paket-DB 206 registriert.
  • (Weitere Ausführungsformen)
  • Die von der Zentralvorrichtung 3 ausgeführten Funktionen sind durch Hardware oder Software realisierbar. Die Funktionen sind durch Hardware und Software in Kooperation realisierbar.
  • Die Umschreibedaten können nicht nur ein Anwendungsprogramm sein, sondern ebenso Daten wie eine Abbildung oder Daten wie Steuerparameter.
  • Ein Inhalt der Konfigurationsinformation ist nicht auf das Beispiel beschränkt und kann gemäß einem individuellen Design in geeigneter Weise gewählt werden.
  • Ein Inhalt der Spezifikationsdaten ist nicht auf das Beispiel beschränkt.
  • Die Kampagneninformation und die Verteilungsspezifikationsdaten können in einem Verteilungspaket enthalten sein und an die Fahrzeugseite gesendet werden, oder sie können getrennt vom Verteilungspaket an die Fahrzeugseite gesendet werden.
  • In der fünften Ausführungsform können das Verteilungspaket und der dritte Verifizierungswert im Voraus in der Paketspeichereinheit gespeichert werden, und die Paketsendeeinheit 213 kann das Verteilungspaket und den dritten Verifizierungswert verknüpft mit einer Anfrage an das fahrzeugseitige System 4 im Ansprechen auf die Anfrage von dem fahrzeugseitigen System 4 senden.
  • Nachstehend ist eine sechste Ausführungsform, die sich auf einen Betrieb eines Fahrzeugprogrammumschreibesystems 1 konzentriert, unter Bezugnahme auf die Zeichnungen beschrieben. Ein Fahrzeugprogrammumschreibesystem (entsprechend einem elektronischen Fahrzeugsteuerungssystem) ist ein System, in dem Anwendungsprogramme für Fahrzeugsteuerung, Diagnose und dergleichen, die in einer elektronischen Steuervorrichtung (im Folgenden als elektronische Steuereinheit (ECU) bezeichnet) installiert sind, via OTA (Over-The-Air) umgeschrieben werden können. In der vorliegenden Ausführungsform ist ein Fall beschrieben, in dem ein Anwendungsprogramm auf drahtgebundene oder drahtlose Weise umgeschrieben wird, aber die vorliegende Offenbarung ist ebenso auf einen Fall anwendbar, in dem Daten, die in verschiedenen Anwendungen verwendet werden, wie z.B. Kartendaten, die in einer Kartenanwendung verwendet werden, und Steuerparameter, die in einer ECU verwendet werden, auf drahtgebundene oder drahtlose Weise umgeschrieben werden.
  • Das Umschreiben eines Anwendungsprogramms auf drahtgebundene Weise umfasst nicht nur das Erfassen und Umschreiben des Anwendungsprogramms von der Außenseite eines Fahrzeugs auf die drahtgebundene Weise, sondern ebenso das Erfassen und Umschreiben verschiedener Teile von Daten, die verwendet werden, wenn das Anwendungsprogramm ausgeführt wird, von der Außenseite des Fahrzeugs auf die drahtgebundene Weise. Das Umschreiben des Anwendungsprogramms auf drahtlose Weise umfasst nicht nur das Erfassen und Umschreiben eines Anwendungsprogramms von der Außenseite eines Fahrzeugs auf die drahtlose Weise, sondern ebenso das Erfassen und Umschreiben verschiedener Teile von Daten, die verwendet werden, wenn das Anwendungsprogramm ausgeführt wird, von der Außenseite des Fahrzeugs auf die drahtlose Weise.
  • Wie in 37 gezeigt, weist ein Fahrzeugprogrammumschreibesystem 1 eine Zentralvorrichtung 3 auf einer Seite eines Kommunikationsnetzes 2, ein fahrzeugseitiges System 4 auf einer Fahrzeugseite und ein Anzeige-Endgerät 5 auf. Das Kommunikationsnetz 2 ist konfiguriert, um beispielsweise ein Mobilkommunikationsnetz wie eine 4G-Leitung, das Internet und Wi-Fi® (Wireless Fidelity) zu umfassen.
  • Das Anzeige-Endgerät 5 ist ein Endgerät mit einer Funktion zum Empfangen einer Bedieneingabe von einem Benutzer und einer Funktion zum Anzeigen verschiedener Bildschirme bzw. Bildschirmansichten und ist beispielsweise ein mobiles Endgerät 6, wie beispielsweise ein Smartphone oder ein Tablet-Computer, das von einem Benutzer mitgeführt werden kann, und eine In-Vehicle-Anzeige 7, die in einem Fahrzeuginnenraum angeordnet ist. Das mobile Endgerät 6 kann eine Datenkommunikation mit der Zentralvorrichtung 3 über das Kommunikationsnetz 2 ausführen, solange sich das mobile Endgerät 6 in einem Kommunikationsbereich eines Mobilkommunikationsnetzes befindet. Die In-Vehicle-Anzeige 7 ist mit dem fahrzeugseitigen System 4 verbunden und kann ebenso eine Navigationsfunktion aufweisen. Die In-Vehicle-Anzeige 7 kann eine In-Vehicle-Anzeigen-ECU mit einer ECU-Funktion sein und kann eine Funktion zum Steuern einer Anzeige auf einer Zentralanzeige, einer Zähleranzeige usw. aufweisen.
  • Wenn sich ein Benutzer außerhalb des Fahrzeuginnenraums und innerhalb des Kommunikationsbereichs des Mobilkommunikationsnetzes befindet, kann der Benutzer eine Bedieneingabe vornehmen, während er verschiedene Bildschirme in Bezug auf ein Umschreiben eines Anwendungsprogramms mit dem mobilen Endgerät 6 überprüft, und er kann eine Prozedur in Bezug auf das Umschreiben des Anwendungsprogramms ausführen. Im Fahrzeuginnenraum kann der Benutzer eine Bedieneingabe vornehmen, während er verschiedene Bildschirme in Bezug auf ein Umschreiben des Anwendungsprogramms über die In-Vehicle-Anzeige 7 überprüft, und er kann eine Prozedur in Bezug auf ein Umschreiben des Anwendungsprogramms ausführen. D.h., je nachdem, ob sich der Benutzer außerhalb des Fahrzeuginnenraums oder im Fahrzeuginnenraum befindet, kann der Benutzer wahlweise das mobile Endgerät 6 oder die In-Vehicle-Anzeige 7 verwenden und eine Prozedur in Bezug auf ein Umschreiben des Anwendungsprogramms ausführen.
  • In dem Fahrzeugprogrammumschreibesystem 1 steuert die Zentralvorrichtung 3 eine Programmaktualisierungsfunktion der Seite des Kommunikationsnetzes 2 und fungiert als ein OTA-Zentrum. Die Zentralvorrichtung 3 enthält einen Dateiserver 8, einen Webserver 9 und einen Verwaltungsserver 10, und jeder der Server 8 bis 10 ist konfiguriert, um eine Datenkommunikation miteinander ausführen zu können. D.h., die Zentralvorrichtung 3 ist konfiguriert, um mehrere verschiedene Server mit unterschiedlichen Funktionen aufzuweisen.
  • Der Dateiserver 8 ist ein Server, der eine Datei eines Anwendungsprogramms verwaltet, das von der Zentralvorrichtung 3 an das fahrzeugseitige System 4 verteilt wird. Der Dateiserver 8 verwaltet: Aktualisierungsdaten (im Folgenden auch als Umprogrammierungsdaten oder Schreibdaten bezeichnet), die von einem Anbieter oder dergleichen bereitgestellt werden, der ein Provider eines Anwendungsprogramms ist, das von der Zentralvorrichtung 3 an das fahrzeugseitige System 4 verteilt wird; Verteilungsspezifikationsdaten, die von einem Erstausrüster bzw. Originalausrüstungshersteller (OEM für Original Equipment Manufacturer) bereitgestellt werden; Fahrzeugzustände, die vom fahrzeugseitigen System 4 erfasst werden; und dergleichen. Der Dateiserver 8 kann eine Datenkommunikation mit dem fahrzeugseitigen System 4 über das Kommunikationsnetz 2 ausführen und sendet ein Verteilungspaket, in dem die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten in eine Datei verpackt sind, an das fahrzeugseitige System 4, wenn eine Download-Anfrage für das Verteilungspaket erzeugt wird.
  • Der Webserver 9 ist ein Server, der Webinformation verwaltet. Der Webserver 9 sendet von ihm verwaltete Webdaten im Ansprechen auf eine Anfrage von einem Webbrowser des mobilen Endgerätes 6 oder dergleichen. Der Verwaltungsserver 10 ist ein Server, der persönliche Information eines Benutzers, der in einem Dienst zum Umschreiben eines Anwendungsprogramms registriert ist, eine Umschreibehistorie eines Anwendungsprogramms für jedes Fahrzeug und dergleichen verwaltet.
  • Das fahrzeugseitige System 4 beinhaltet eine Master-Vorrichtung 11 (entsprechend einer Fahrzeug-Master-Vorrichtung). Die Master-Vorrichtung 11 enthält ein Datenkommunikationsmodul (DCM) 12 (entsprechend einem fahrzeugmontierten Kommunikationsvorrichtung) und ein zentrales Gateway (CGW) 13 (entsprechend einer Fahrzeug-Gateway-Vorrichtung). Das DCM 12 und das CGW 13 sind über einen ersten Bus 14 miteinander verbunden, um eine Datenkommunikation ausführen zu können. Das DCM 12 führt eine Datenkommunikation mit der Zentralvorrichtung 3 über das Kommunikationsnetz 2 aus. Wenn das DCM 12 das Verteilungspaket vom Dateiserver 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 vom DCM 12 erfasst werden, weist das CGW eine Umschreibeziel-ECU, ein Umschreibeziel eines Anwendungsprogramms, an, die erfassten Schreibdaten zu schreiben, und verteilt die Schreibdaten an die Umschreibeziel-ECU. Wenn ein Schreiben der Schreibdaten in der Umschreibeziel-ECU abgeschlossen ist und ein Umschreiben des Anwendungsprogramms abgeschlossen ist, weist das CGW 13 die Umschreibeziel-ECU an, eine Aktivierung zum Validieren des Anwendungsprogramms nach dem Umschreiben auszuführen.
  • Die Master-Vorrichtung 11 steuert eine Programmaktualisierungsfunktion der Fahrzeugseite im Fahrzeugprogrammumschreibesystem 1 und fungiert als ein OTA-Master. In 37 können, obgleich das DCM 12 und die In-Vehicle-Anzeige 7 konfiguriert sind, um gemäß einem Beispiel mit demselben ersten Bus 14 verbunden zu sein, das DCM 12 und die In-Vehicle-Anzeige 7 auch konfiguriert sein, um mit verschieden Bussen verbunden zu sein. Das CGW 13 kann einige oder alle der Funktionen des DCM 12 aufweisen, oder das DCM 12 kann einige oder alle der Funktionen des CGW 13 aufweisen. D.h., in der Master-Vorrichtung 11 kann die Aufteilung von Funktionen zwischen dem DCM 12 und dem CGW 13 beliebig konfiguriert sein. Die Master-Vorrichtung 11 kann mit zwei ECUs wie dem DCM 12 und dem CGW 13 konfiguriert sein oder mit einer einzigen integrierten ECU, die die Funktionen des DCM 12 und die Funktionen des CGW 13 aufweist.
  • Das CGW 13 ist neben dem ersten Bus 14 mit einem zweiten Bus 15, einem dritten Bus 16, einem vierten Bus 17 und einem fünften Bus 18 als Busse innerhalb des Fahrzeugs verbunden und über die Busse 15 bis 17 mit verschiedenen ECUs 19 verbunden und über den Bus 18 mit einer Energieversorgungsverwaltungs-ECU 20 verbunden.
  • Der zweite Bus 15 ist z.B. ein Karosseriesystem-Netzwerkbus. Die mit dem zweiten Bus 15 verbundenen ECUs 19 sind ECUs, die ein Karosseriesystem steuern. Die das Karosseriesystem steuernden ECUs umfassen beispielsweise eine Tür-ECU, die das Verriegeln/Entriegeln einer Tür steuert, eine Zähler-ECU, die eine Anzeige auf der Zähleranzeige (Display) steuert, eine Klimaanlagen-ECU zum Ansteuern einer Klimaanlage, eine Fenster-ECU, die das Öffnen und Schließen eines Fensters steuert, und eine Sicherheits-ECU, die zum Verhindern eines Diebstahls des Fahrzeugs betrieben wird.
  • Der dritte Bus 16 ist z.B. ein Fahrsystem-Netzwerkbus. Die mit dem dritten Bus 16 verbundenen ECUs 19 sind ECUs, die ein Fahrsystem steuern. Die ECUs, die das Fahrsystem steuern, umfassen beispielsweise eine Motor-ECU zur Antriebssteuerung eines Motors, eine Brems-ECU zum Ansteuern einer Bremse, eine ECT-ECU (ECT für Electronic Controlled Transmission bzw. elektronisch gesteuertes Getriebe) zum Ansteuern eines Automatikgetriebes, und eine Servolenkungs-ECU zum Ansteuern einer Servolenkung.
  • Der vierte Bus 17 ist z.B. ein Multimediasystem-Netzwerkbus. Die mit dem vierten Bus 17 verbundenen ECUs 19 sind ECUs, die ein Multimediasystem steuern. Die ECUs, die das Multimediasystem steuern, umfassen beispielsweise eine Navigations-ECU, die ein Navigationssystem steuert, und eine ETC®-ECU (ETC für Electronic Toll Collection System bzw. elektronisches Mautsystem), die ein elektronisches Mautsystem, steuert. Die Busse 15 bis 17 können Systembusse verschieden von dem Karosseriesystem-Netzwerkbus, dem Fahrsystem-Netzwerkbus und dem Multimediasystem-Netzwerkbus sein. Die Anzahl von Bussen und die Anzahl der ECUs 19 sind nicht auf die beispielhafte Konfiguration beschränkt.
  • Die Energieversorgungsverwaltungs-ECU 20 ist eine ECU, die eine dem DCM 12, dem CGW 13, den verschiedenen ECUs 19 und dergleichen zuzuführende Energie verwaltet.
  • Ein sechster Bus 21 ist als ein Bus außerhalb des Fahrzeugs mit dem CGW 13 verbunden. Ein DLC-Verbinder 22 (DLC für Data Link Coupler bzw. Datenverbindungskoppler), mit dem ein Werkzeug bzw. Tool 23 (entsprechend einem Service-Tool) abnehmbar 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 z.B. mit CAN®-Bussen (CAN für Controller Area Network) konfiguriert, und das CGW 13 führt eine Datenkommunikation mit dem DCM 12, den verschiedenen ECUs 19 und dem Werkzeug 23 gemäß dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard (UDS (Unified Diagnosis Services bzw. vereinheitlichte Diagnosedienste): ISO14229) aus. Das DCM 12 und das CGW 13 können via Ethernet miteinander verbunden werden, und der DLC-Verbinder 22 und das CGW 13 können via Ethernet miteinander verbunden werden.
  • Wenn Schreibdaten vom CGW 13 empfangen werden, schreibt die Umschreibeziel-ECU 19 die empfangenen Schreibdaten in einen Flash-Speicher (entsprechend einem nichtflüchtigen Speicher), um ein Anwendungsprogramm umzuschreiben. In der obigen Konfiguration fungiert das CGW 13, wenn eine Anfrage zum Erfassen von Schreibdaten von der Umschreibeziel-ECU 19 empfangen wird, als ein Umprogrammierungs-Master, der die Schreibdaten an die Umschreibeziel-ECU 19 verteilt. Wenn die Schreibdaten vom CGW 13 empfangen werden, fungiert die Umschreibeziel-ECU 19 als ein Umprogrammierungs-Slave, der die empfangenen Schreibdaten in den Flash-Speicher schreibt, um das Anwendungsprogramm umzuschreiben.
  • Als Aspekt des Umschreibens des Anwendungsprogramms gibt es einen Aspekt drahtgebundenen Umschreibens und einen Aspekt drahtlosen Umschreibens. Der Aspekt, bei dem das Anwendungsprogramm auf drahtgebundene Weise umgeschrieben wird, ist ein Aspekt, bei dem die Umschreibeziel-ECU 19 unter Verwendung eines Anwendungsprogramms umgeschrieben wird, das von außerhalb des Fahrzeugs auf drahtgebundene Weise erfasst wird. Insbesondere, wenn das Werkzeug 23 mit dem DLC-Verbinder 22 verbunden ist, überträgt das Werkzeug 23 die Schreibdaten an das CGW 13. Das CGW 13 fungiert als Gateway, sendet eine drahtgebundene Umschreibe-Anforderung an die Umschreibeziel-ECU 19, weist die Umschreibeziel-ECU 19 an, die Schreibdaten zu schreiben (zu installieren), und verteilt die vom Werkzeug 23 übertragenen Schreibdaten an die Umschreibeziel-ECU 19. Die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19 dient der Weiterleitung der Schreibdaten.
  • Der Aspekt, bei dem das Anwendungsprogramm auf drahtlose Weise umgeschrieben wird, ist ein Aspekt, bei dem die Umschreibeziel-ECU 19 unter Verwendung eines Anwendungsprogramms umgeschrieben wird, das von außerhalb des Fahrzeugs auf drahtlose Weise erfasst wird. Insbesondere extrahiert das DCM 12, wenn ein Verteilungspaket vom Dateiserver 8 heruntergeladen wird, Schreibdaten aus dem heruntergeladenen Verteilungspaket und überträgt die Schreibdaten an das CGW 13. Das CGW 13 fungiert als ein Umschreibe-Werkzeug (-Tool), weist die Umschreibeziel-ECU 19 an, die Schreibdaten zu schreiben (zu installieren), und verteilt die vom DCM 12 übertragenen Schreibdaten an die Umschreibeziel-ECU 19.
  • Aspekte der Diagnose der ECU 19 umfassen einen Aspekt drahtgebundener Diagnose und einen Aspekt drahtloser Diagnose. Der Aspekt drahtgebundener Diagnose ist ein Aspekt, bei dem die ECU 19 von der Außenseite des Fahrzeugs auf drahtgebundene Weise diagnostiziert wird. Insbesondere, wenn das Werkzeug 23 mit dem DLC-Verbinder 22 verbunden ist, überträgt das Werkzeug 23 eine Diagnoseanfrage an das CGW 13. Das CGW 13 fungiert als ein Gateway, sendet eine Diagnoseanfrage an die Diagnoseziel-ECU 19 und verteilt einen vom Werkzeug 23 übertragenen Diagnosebefehl an eine Diagnoseziel-ECU 19. Die Diagnoseziel-ECU 19 führt einen Diagnoseprozess in Übereinstimmung mit dem vom CGW 13 empfangenen Diagnosebefehl aus.
  • Der Aspekt drahtloser Diagnose 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 Zentralvorrichtung 3 an das DCM 12 gesendet wird, überträgt das DCM 12 den Diagnosebefehl an das CGW 13. Das CGW 13 fungiert als ein Gateway und verteilt den Diagnosebefehl als eine Diagnoseanfrage an die Diagnoseziel-ECU 19. Die Diagnoseziel-ECU führt einen Diagnoseprozess in Übereinstimmung mit dem vom CGW 13 empfangenen Diagnosebefehl aus.
  • Wie in 38 gezeigt, enthält das CGW 13 einen Mikrocomputer 24, eine Datenübertragungsschaltung 25, eine Energieversorgungsschaltung 26 und eine Energieerfassungsschaltung 29 als elektrische Funktionsblöcke. Der Mikrocomputer 24 enthält eine zentrale Recheneinheit (CPU) 24a, einen Nur-Lese-Speicher (ROM) 24b, einen Schreib-Lese-Speicher (RAM) 24c und einen Flash-Speicher 24d. Der Flash-Speicher 24d enthält einen Sicherheitsbereich, in dem Information von außerhalb des CGW 13 nicht gelesen werden kann. Der Mikrocomputer 24 führt verschiedene Prozess aus, indem er in einem nichtflüchtigen greifbaren Speichermedium gespeicherte verschiedene Steuerprogramme ausführt, und steuert einen Betrieb des CGW 13.
  • Die Datenübertragungsschaltung 25 steuert eine Datenkommunikation mit den Bussen 14 bis 18 und 21 gemäß dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard. Die Energieversorgungsschaltung 26 empfängt Batterie-Energie (im Folgenden als +B-Energie bezeichnet), Zubehör-Energie (im Folgenden als ACC-Energie bezeichnet) und Zünd-Energie (im Folgenden als IG-Energie bezeichnet). Die Energieerfassungsschaltung 27 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die von der Energieversorgungsschaltung 26 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 24 aus. Der Mikrocomputer 24 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die dem CGW 13 von außen zugeführt werden, normal oder anormal sind, auf der Grundlage der von der Energieerfassungsschaltung 27 eingegebenen Vergleichsergebnisse.
  • Wie in 39 gezeigt, enthält das DCM 12 einen Mikrocomputer 28, eine Funkschaltung 29, eine Datenübertragungsschaltung 30, eine Energieversorgungsschaltung 31 und eine Energieerfassungsschaltung 32 als elektrische Funktionsblöcke. Der Mikrocomputer 28 enthält eine CPU 28a, ein ROM 28b, ein RAM 28c und einen Flash-Speicher 28d. Der Flash-Speicher 28d enthält einen Sicherheitsbereich, in dem Information von außerhalb des DCM 12 nicht gelesen werden kann. Der Mikrocomputer 28 führt verschiedene Prozess aus, indem er in einem nichtflüchtigen greifbaren Speichermedium gespeicherte verschiedene Steuerprogramme ausführt, und steuert einen Betrieb des DCM 12. Der Flash-Speicher, der Daten speichert, die von der Zentralvorrichtung 3 herunterzuladen sind, kann im CGW 13 vorgesehen sein.
  • Die Funkschaltung 29 steuert eine Datenkommunikation mit der Zentralvorrichtung 3 über das Kommunikationsnetz 2. Die Datenübertragungsschaltung 30 steuert eine Datenkommunikation mit dem Bus 14 gemäß dem CAN-Datenkommunikationsstandard. Die Energieversorgungsschaltung 31 empfängt +B-Energie, ACC-Energie und IG-Energie. Die Energieerfassungsschaltung 32 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die von der Energieversorgungsschaltung 31 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 28 aus. Der Mikrocomputer 28 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die dem DCM 12 von außen zugeführt werden, normal oder anormal sind, auf der Grundlage der von der Energieerfassungsschaltung 32 eingegebenen Vergleichsergebnisse.
  • Das DCM 12 verfügt über eine Fahrzeugpositionserfassungsfunktion zum Erfassen einer Fahrzeugposition, z.B. unter Verwendung eines globalen Positionsbestimmungssystems (GPS). Der Flash-Speicher 28d des DCM 12 weist eine ausreichende Speicherkapazität auf, um ein von der Zentralvorrichtung 3 heruntergeladenes Verteilungspaket zu speichern, und weist eine größere Speicherkapazität als der Flash-Speicher 24d des CGW 13 auf. D.h., da der Flash-Speicher 28d des DCM 12 eine ausreichende Speicherkapazität aufweist, kann die Master-Vorrichtung 11, obwohl der Flash-Speicher 24d des CGW 13 keine ausreichende Speicherkapazität aufweist, das Verteilungspaket von der Zentralvorrichtung 3 herunterladen und das heruntergeladene Verteilungspaket im DCM 12 speichern.
  • Wie in 40 gezeigt, enthält die ECU 19 einen Mikrocomputer 33, eine Datenübertragungsschaltung 34, eine Energieversorgungsschaltung 35 und eine Energieerfassungsschaltung 36 als elektrische Funktionsblöcke. Der Mikrocomputer 33 enthält eine CPU 28a, ein ROM 28b, ein RAM 33c und einen Flash-Speicher 28d. Der Flash-Speicher 28d enthält einen Sicherheitsbereich, in dem Information von außerhalb des ECU 19 nicht gelesen werden kann. Der Mikrocomputer 33 führt verschiedene Prozess aus, indem er in einem nichtflüchtigen greifbaren Speichermedium gespeicherte verschiedene Steuerprogramme ausführt, und steuert einen Betrieb des ECU 19.
  • Die Datenübertragungsschaltung 34 steuert eine Datenkommunikation mit den Bussen 15 bis 17 gemäß dem CAN-Datenkommunikationsstandard. Die Energieversorgungsschaltung 35 empfängt +B-Energie, ACC-Energie und IG-Energie. Die Energieerfassungsschaltung 36 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die von der Energieversorgungsschaltung 35 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 33 aus. Der Mikrocomputer 33 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die dem ECU 19 von außen zugeführt werden, normal oder anormal sind, auf der Grundlage der von der Energieerfassungsschaltung 27 eingegebenen Vergleichsergebnisse. Die ECUs 19 weisen grundsätzlich die gleiche Konfiguration auf, außer dass sich damit verbundene Lasten, wie beispielsweise Sensoren oder Aktuatoren, voneinander unterscheiden.
  • Die In-Vehicle-Anzeige 7 weist die gleiche Konfiguration wie die in 40 gezeigte ECU 19 auf. Die Energieversorgungsverwaltungs-ECU 20 weist die gleiche Konfiguration wie die in 40 gezeigte ECU 19 auf. Die Energieversorgungsverwaltungs-ECU 20 ist mit einer Energieversorgungssteuerschaltung 43 verbunden, die nachstehend noch beschrieben ist, um eine Datenkommunikation untereinander zu ermöglichen.
  • Wie in 41 gezeigt, sind die Energieversorgungsverwaltungs-ECU 20, das CGW 13 und die ECU 19 mit einer +B-Energieleitung 37, einer ACC-Energieleitung 38 und einer IG-Energieleitung 39 verbunden, die Energieversorgungsleitungen sind. Die +B-Energieleitung 37 ist mit einer positiven Elektrode einer Fahrzeugbatterie 40 verbunden. Die ACC-Energieleitung 38 ist über einen ACC-Schalter 41 mit der positiven Elektrode der Fahrzeugbatterie 40 verbunden. Wenn der Benutzer eine ACC-Bedienung ausführt, schaltet der ACC-Schalter 41 von einem AUS-Zustand in einen EIN-Zustand, und eine Ausgangsspannung der Fahrzeugbatterie 40 wird an die ACC-Energieleitung 38 angelegt. Zum Beispiel ist, im Fall eines Fahrzeugs des Typs zum Einführen eines Schlüssels in eine Einführungsöffnung, die ACC-Bedienung eine Bedienung des Drehens des Schlüssels von einer „AUS“-Position in eine „ACC“-Position durch Einführen des Schlüssels in die Einführungsöffnung, und, im Fall eines Fahrzeugs des Typs zum Drücken einer Starttaste, ist die ACC-Bedienung eine Bedienung des einmaligen Drückens der Starttaste.
  • Die IG-Energieleitung 39 ist über einen IG-Schalter 42 mit der positiven Elektrode der Fahrzeugbatterie 40 verbunden. Wenn der Benutzer eine IG-Bedienung ausführt, schaltet der IG-Schalter 42 von einem AUS-Zustand in einen EIN-Zustand, und eine Ausgangsspannung der Fahrzeugbatterie 40 wird an die IG-Energieleitung 39 angelegt. Zum Beispiel ist, im Fall eines Fahrzeugs des Typs zum Einführen eines Schlüssels in eine Einführungsöffnung, die IG-Bedienung eine Bedienung des Drehens des Schlüssels von einer „AUS“-Position in eine „EIN“-Position durch Einführen des Schlüssels in die Einführungsöffnung, und, im Fall eines Fahrzeugs des Typs zum Drücken einer Starttaste, ist die IG-Bedienung eine Bedienung des zweimaligen Drückens der Starttaste. Eine negative Elektrode der Fahrzeugbatterie 40 ist geerdet.
  • Wenn sowohl der ACC-Schalter 41 als auch der IG-Schalter 42 im AUS-Zustand sind, wird nur die +B-Energie an das fahrzeugseitige System 4 gegeben. Der Zustand, in dem nur die +B-Energie an das fahrzeugseitige System 4 gegeben wird, ist nachstehend als +B-Energieversorgungszustand bezeichnet. Wenn der ACC-Schalter 41 in einem EIN-Zustand und der IG-Schalter 42 in einem AUS-Zustand ist, werden die ACC-Energie und die +B-Energie an das fahrzeugseitige System 4 gegeben. Der Zustand, in dem die ACC-Energie und die +B-Energie an das fahrzeugseitige System 4 gegeben bzw. geliefert werden, ist nachstehend als ACC-Energieversorgungszustand bezeichnet. Wenn sowohl der ACC-Schalter 41 als auch der IG-Schalter 42 in einem EIN-Zustand sind, werden die +B-Energie, die ACC-Energie und die IG-Energie an das fahrzeugseitige System 4 gegeben. Der Zustand, in dem die +B-Energie, die ACC-Energie und die IG-Energie an das fahrzeugseitige System 4 gegeben werden, ist nachstehend als IG-Energieversorgungszustand bezeichnet. Neben jedem der oben beschriebenen Energieversorgungszustände ist auch ein Energieversorgungszustand oder dergleichen zum Bereitstellen von Energie, die für eine Programmaktualisierung geeignet ist, auf drahtlose Weise denkbar.
  • Die ECUs 19 weisen in Abhängigkeit von Energieversorgungszuständen unterschiedliche Startbedingungen auf und werden in eine +B-Energie-ECU, die im +B-Energieversorgungszustand gestartet wird, eine ACC-ECU, die im ACC-Energieversorgungszustand gestartet wird, und eine IG-ECU, die im IG-Energieversorgungszustand gestartet wird, klassifiziert. Zum Beispiel wird die ECU 19, die in einer Anwendung wie Fahrzeugdiebstahl betrieben wird, als die +B-Energie-ECU klassifiziert. Zum Beispiel wird die ECU 19, die in einer Nicht-Fahranwendung wie Audio betrieben wird, als die ACC-ECUs klassifiziert. Zum Beispiel wird die ECU 19, die in einer Fahranwendung wie Motorsteuerung betrieben wird, als die IG-ECU klassifiziert.
  • Die +B-Energie-ECU ist mit der +B-Energieleitung 37, der ACC-Energieleitung 38 und der IG-Energieleitung 39 verbunden und konfiguriert, um die +B-Energieleitung 37 im +B-Energieversorgungszustand zu wählen, die ACC-Energieleitung 38 im ACC-Energieversorgungszustand zu wählen und die IG-Energieleitung 39 im IG-Energieversorgungszustand zu wählen. Die ACC-ECU ist mit der ACC-Energieleitung 38 und der IG-Energieleitung 39 verbunden und konfiguriert, um die ACC-Energieleitung 38 im ACC-Energieversorgungszustand zu wählen und die IG-Energieleitung 39 im IG-Energieversorgungszustand zu wählen. Die IG-ECU ist mit der IG-Energieleitung 39 verbunden.
  • Das CGW 13 sendet eine Startanfrage an die ECU 19, die sich in einem Ruhezustand befindet, und veranlasst damit die ECU 19, die ein Sendeziel der Startanfrage ist, vom Ruhezustand in einen Startzustand überzugehen. Das CGW 13 sendet ebenso eine Schlafanfrage an die ECU 19, die sich in einem Startzustand befindet, und veranlasst so die ECU 19, die ein Sendeziel der Schlafanfrage ist, vom Startzustand in einen Ruhezustand überzugehen. Das CGW 13 kann eine spezifische ECU 19 dazu veranlassen, in einen Startzustand oder Ruhezustand überzugehen, indem es beispielsweise bewirkt, dass die Wellenformen der an die Busse 15 bis 17 zu sendenden Sendesignale voneinander verschieden sind. D.h., eine Startanfrage-Wellenform und eine Schlafanfrage-Wellenform sind für jede ECU 19 vordefiniert, und die ECU 19 geht vom Ruhezustand in den Startzustand über, wenn eine damit übereinstimmende Startanfrage-Wellenform empfangen wird, und geht vom Startzustand in den Ruhezustand über, wenn eine damit übereinstimmende Schlafanfrage-Wellenform vom CGW 13 empfangen wird.
  • Beispielsweise sendet das CGW 13 in einem Fall, in dem sich eine ECU (ID1) und eine ECU (ID2) im Startzustand befinden, eine erste Wellenform und veranlasst so die ECU (ID1), vom Startzustand in den Ruhezustand überzugehen und hält die ECU (ID2) im Startzustand. In einem Fall, in dem sich die ECU (ID1) und die ECU (ID2) im Startzustand befinden, sendet das CGW 13 eine zweite Wellenform und hält so die ECU (ID1) im Startzustand und veranlasst die ECU (ID2), vom Startzustand in den Ruhezustand überzugehen.
  • Die Energieversorgungssteuerschaltung 43 ist parallel zu dem ACC-Schalter 41 und dem IG-Schalter 42 geschaltet. Das CGW 13 sendet eine Energieversorgungssteueranfrage an die Energieversorgungsverwaltungs-ECU 20 und veranlasst die Energieversorgungsverwaltungs-ECU 20, die Energieversorgungssteuerschaltung 43 zu steuern. D.h., das CGW 13 sendet eine Energieversorgungsstartanfrage als die Energieversorgungssteueranfrage an die Energieversorgungsverwaltungs-ECU 20, um die ACC-Energieleitung 38 oder die IG-Energieleitung 39 mit der positiven Elektrode der Fahrzeugbatterie 40 in der Energieversorgungssteuerschaltung 43 zu verbinden. In diesem Zustand wird das fahrzeugseitige System 4 mit der ACC-Energie oder der IG-Energie versorgt, obwohl der ACC-Schalter 41 oder der IG-Schalter 42 ausgeschaltet ist. Das CGW 13 sendet eine Energieversorgungsstoppanfrage als die Energieversorgungssteueranfrage an die Energieversorgungsverwaltungs-ECU 20, um die ACC-Energieleitung 38 oder die IG-Energieleitung 39 von der positiven Elektrode der Fahrzeugbatterie 40 in der Energieversorgungssteuerschaltung 43 zu trennen.
  • Das DCM 12, das CGW 13, die ECU 19 und die Energieversorgungsverwaltungs-ECU 20 verfügen jeweils über eine Selbsterhaltungsenergieschaltung und eine Selbsterhaltungsenergiefunktion zum Halten bzw. Zurückbehalten von von der Fahrzeugbatterie 40 gelieferter Energie. D.h., wenn die Fahrzeugenergie im Startzustand von der ACC-Energie oder der IG-Energie auf die +B-Energie umschaltet, gehen das DCM 12, das CGW 13, die ECU 19 und die Energieversorgungsverwaltungs-ECU 20 nicht sofort nach dem Umschalten vom Startzustand in den Stoppzustand oder den Ruhezustand über, sondern setzen den Startzustand für eine vorbestimmte Zeit (z.B. einige Minuten) mit von der Fahrzeugbatterie 40 gelieferter Energie fort und behalten so Ansteuerenergie selbst bei bzw. zurück. Das DCM 12, das CGW 13, die ECU 19 und die Energieversorgungsverwaltungs-ECU 20 gehen vom Startzustand in den Stoppzustand oder den Ruhezustand über, wenn eine vorbestimmte Zeit verstrichen ist, unmittelbar nachdem die Fahrzeugenergie von der ACC-Energie oder IG-Energie auf die +B-Energie umgeschaltet wurde. Zum Beispiel wird in der ECU 19 des Motorsteuerungssystems die Selbsterhaltungsenergiefunktion aktiviert, nachdem die Fahrzeugenergie von der ACC-Energie oder der IG-Energie auf die +B-Energie umgeschaltet wurde, und speichert somit verschiedene Teile von Daten in Bezug auf die Motorsteuerung, die während einer Fahrt des Fahrzeugs erfasst werden, als ein Protokoll.
  • Nachstehend ist ein von der Zentralvorrichtung 3 an die Master-Vorrichtung 11 verteiltes Verteilungspaket beschrieben. Wie in 41 gezeigt, werden im Fahrzeugprogrammumschreibesystem 1 Umprogrammierungsdaten einschließlich Schreibdaten, die von einem Anbieter als ein Provider eines Anwendungsprogramms bereitgestellt werden, und Umschreibespezifikationsdaten (entsprechend Spezifikationsdaten), die von einem OEM bereitgestellt werden, erzeugt. Die Umschreibespezifikationsdaten können von der Zentralvorrichtung 3 erzeugt werden. Die vom Anbieter bereitgestellten Schreibdaten umfassen Differenzdaten entsprechend einer Differenz zwischen einem alten Anwendungsprogramm und einem neuen Anwendungsprogramm und die Gesamtdaten entsprechend der Gesamtheit des neuen Anwendungsprogramms. Die Differenzdaten oder die gesamten Daten können unter Verwendung einer bekannten Datenkompressionstechnik komprimiert werden. 42 veranschaulicht einen Fall, in dem Differenzdaten als Schreibdaten von Anbietern A bis C bereitgestellt werden und Umprogrammierungsdaten aus verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID1), die vom Anbieter A bereitgestellt werden, verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID2), die vom Anbieter B bereitgestellt werden, und verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID3), die vom Anbieter C bereitgestellt werden, sowie Umschreibespezifikationsdaten, die vom OEM bereitgestellt werden, erzeugt werden.
  • Bei dem Authentifikator handelt es sich um Daten, die zu jedem Teil von Schreibdaten hinzugefügt werden, um die Integrität der Differenzdaten zu verifizieren, und wird z.B. aus einer ECU (ID), mit der ECU (ID) verknüpften Schlüsselinformation und Differenzdaten erzeugt. Hier können Schreibdaten für ein Rollback auf eine alte Version in den Umprogrammierungsdaten enthalten sein, um für den Fall vorbereitet zu sein, dass das Umschreiben eines Anwendungsprogramms auf halber Strecke abgebrochen wird.
  • Die vom OEM bereitgestellten Umschreibespezifikationsdaten enthalten, als Information in Bezug auf das Umschreiben des Anwendungsprogramms, Information zum Spezifizieren der Umschreibeziel-ECU 19, Information zum Spezifizieren einer Umschreibe-Reihenfolge, wenn es mehrere Umschreibeziel-ECUs 19 gibt, Information zum Spezifizieren eines Rollback-Verfahrens, das nachstehend noch beschrieben ist, und dergleichen. Die Umschreibespezifikationsdaten sind Daten, die einen Betrieb in Bezug auf das Umschreiben in dem DCM 12, dem CGW 13, der Umschreibeziel-ECU 19 und dergleichen definieren. Die Umschreibespezifikationsdaten werden in DCM-Umschreibespezifikationsdaten, die vom DCM 12 verwendet werden, und CGW-Umschreibespezifikationsdaten, die vom CGW 13 verwendet werden, klassifiziert.
  • Wie in 43 gezeigt, enthalten die DCM-Umschreibespezifikationsdaten Spezifikationsdateninformation und ECU-Information. Die Spezifikationsdateninformation enthält Adressinformation und einen Dateinamen. Die ECU-Information enthält Adressinformation oder dergleichen, auf die Bezug genommen wird, wenn ein Aktualisierungsprogramm (Schreibdaten) von jeder Umschreibeziel-ECU 19 durch die Anzahl von Umschreibeziel-ECUs 19 an das CGW 13 gesendet wird. Insbesondere enthält die ECU-Information mindestens eine ID (ECU (ID)) zum Identifizieren einer ECU, eine Referenzadresse (Aktualisierungsprogrammerfassungsadresse) zum Erfassen eines Aktualisierungsprogramms, eine Aktualisierungsprogrammgröße, eine Referenzadresse (Rollback-Programmerfassungsadresse) zum Erfassen eines Rollback-Programms und eine Rollback-Programmgröße. Das Rollback-Programm ist ein Programm (Schreibda- ten) zum Zurücksetzen eines Anwendungsprogramms auf eine ursprüngliche Version, wenn ein Umschreiben des Anwendungsprogramms auf halbem Wege abgebrochen wird.
  • Wie in 44 gezeigt, enthalten die CGW-Umschreibespezifikationsdaten Gruppeninformation, eine Busauslastungstabelle, eine Batterieladung, einen Fahrzeugzustand während eines Umschreibens und ECU-Information. Die CGW-Umschreibespezifikationsdaten können zusätzlich zu der Information Umschreibeprozedurinformation, Angezeigeszeneninformation und dergleichen enthalten. Die Gruppeninformation ist eine Information, die eine Gruppe, zu der die Umschreibeziel-ECU 19 gehört, sowie eine Umschreibe-Reihenfolge angibt und definiert beispielsweise, dass Anwendungsprogramme in einer Reihenfolge der ECU (ID1), der ECU (ID2) und der ECU (ID3) als erste Gruppeninformation umgeschrieben werden und dass Anwendungsprogramme in einer Reihenfolge einer ECU (ID4), einer ECU (ID5) und einer ECU (ID6) als zweite Gruppeninformation umgeschrieben werden. Die Busauslastungstabelle ist eine in 136 gezeigte Tabelle, die nachstehend noch näher beschrieben ist. Die Batterieladung ist Information, die einen unteren Grenzwert einer verbleibenden Batterieladung der Fahrzeugbatterie 40, die im Fahrzeug zulässig, angibt. Der Fahrzeugzustand während eines Umschreibens ist Information, die angibt, in welcher Art von Fahrzeugzustand ein Umschreiben erfolgt.
  • Die ECU-Information ist Information über die Umschreibeziel-ECU 19 und enthält mindestens eine ECU_ID (entsprechend Vorrichtungskenninformation), einen Verbindungsbus (entsprechend den Buskenninformation), eine Verbindungsenergieversorgung, Sicherheitszugriffsschlüsselinformation, einen Speichertyp, ein Umschreibeverfahren, eine Selbsterhaltungsenergiezeit, Umschreibe-Bank-Information, eine Aktualisierungsprogrammversion, eine Aktualisierungsprogrammerfassungsadresse, eine Aktualisierungsprogrammgröße, eine Rollback-Programmversion, eine Rollback-Programmerfassungsadresse, eine Rollback-Programmgröße und einen Schreibdatentyp.
  • Der Verbindungsbus zeigt einen Bus an, mit dem die ECU 19 verbunden ist. Die Verbindungsenergieversorgung zeigt eine Energieleitung, mit der die ECU 19 verbunden ist. Die Sicherheitszugriffsschlüsselinformation zeigt Schlüsselinformation, die für eine Authentifizierung durch das CGW 13 verwendet wird, um auf die Umschreibeziel-ECU 19 zuzugreifen, und enthält einen Zufallszahlenwert oder eindeutige Information, ein Schlüsselmuster und ein Entschlüsselungsbetriebsmuster. Der Speichertyp gibt an, ob ein an der Umschreibeziel-ECU 19 montierter Speicher ein Ein-Bank-Speicher, ein Ein-Bank-Suspend-Speicher (auch als Pseudo-Zwei-Bank-Speicher bezeichnet) oder ein Zwei-Bank-Speicher ist. Das Umschreibeverfahren gibt an, ob das Umschreiben auf der Grundlage von Selbsterhaltungsenergie oder einer Energieversorgungssteuerung erfolgt. Die Selbsterhaltungsenergiezeit gibt eine Zeit für die Fortsetzung der Selbsterhaltungsenergie an, wenn das Umschreibeverfahren ein Umschreiben auf der Grundlage von Selbsterhaltungsenergie ist. Die Umschreibe-Bank-Information zeigt an, welche Bank eine aktive und welche Bank eine inaktive Bank ist. Die aktive Bank ist auch als Start-Bank bezeichnet, die inaktive Bank auch als Umschreibe-Bank.
  • Die Aktualisierungsprogrammversion gibt eine Version eines Aktualisierungsprogramms an. Die Aktualisierungsprogrammerfassungsadresse 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-Programmerfassungsadresse gibt eine Adresse des Rollback-Programms an. Die Rollback-Programmgröße gibt eine Datengröße des Rollback-Programms an. Der Schreibdatentyp gibt an, ob es sich bei den Schreibdaten um Differenzdaten oder um die gesamten Daten handelt. Zusätzlich zu diesen Teilen von Information können die Umschreibespezifikationsdaten Information enthalten, die vom System eindeutig definiert ist.
  • Wenn die DCM-Umschreibespezifikationsdaten erfasst werden, analysiert das DCM 12 die erfassten DCM-Umschreibespezifikationsdaten. Wenn die DCM-Umschreibespezifikationsdaten analysiert werden, steuert das DCM 12 Betriebsabläufe bzw. Operationen in Bezug auf das Umschreiben, wie z.B. das Erfassen von Schreibdaten von einer Adresse, an der ein Aktualisierungsprogramm der Umschreibeziel-ECU 19 gespeichert ist, und die Übertragung der erfassten Schreibdaten an das CGW 13.
  • Wenn die CGW-Umschreibespezifikationsdaten erfasst werden, analysiert das CGW 13 die erfassten CGW-Umschreibespezifikationsdaten. Wenn die CGW-Umschreibespezifikationsdaten analysiert werden, steuert das CGW 13 Operationen bzw. Betriebsabläufe in Bezug auf das Umschreiben, wie z.B. das Anfragen zum Übertragen einer vorbestimmten Größe eines Aktualisierungsprogramms der Umschreibeziel-ECU 19 gemäß dem Analyseergebnis bei dem DCM 12 oder das Verteilen der Schreibdaten an die Umschreibeziel-ECU 19 in einer bestimmten Reihenfolge.
  • Im Dateiserver 8 werden die oben beschriebenen Umprogrammierungsdaten und die vom OEM bereitgestellten Verteilungsspezifikationsdaten registriert. Die vom OEM bereitgestellten Verteilungsspezifikationsdaten sind Daten, die einen Betrieb in Bezug auf die Anzeige verschiedener Bildschirme im Anzeige-Endgerät 5 definieren. Wie in 45 gezeigt, enthalten die Verteilungsspezifikationsdaten Sprachinformation, einen Anzeigetext, Paketinformation, Bilddaten, ein Anzeigemuster, ein Anzeigesteuerprogramm und dergleichen.
  • Wenn die Verteilungsspezifikationsdaten vom CGW 13 erfasst werden, analysiert das Anzeige-Endgerät 5 die erfassten Verteilungsspezifikationsdaten und steuert die Anzeige von verschiedenen Bildschirmen gemäß dem Analyseergebnis. Das Anzeige-Endgerät 5 überlagert beispielsweise einen aus den Verteilungsspezifikationsdaten gewonnenen Anzeigetext einem im Voraus gespeicherten Anzeigerahmen und führt ein aus den Verteilungsspezifikationsdaten gewonnenes Anzeigesteuerprogramm aus. Zusätzlich zu diesen Teilen von Information können die Verteilungsspezifikationsdaten Information enthalten, die vom System eindeutig definiert ist.
  • Wenn die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten registriert sind, verschlüsselt der Dateiserver 8 die registrierten Umprogrammierungsdaten und erzeugt ein Verteilungspaket, das einen Paketauthentifikator zum Authentifizieren des Pakets, die verschlüsselten Umprogrammierungsdaten und die Verteilungsspezifikationsdaten speichert. Bei dem Authentifikator handelt es sich um Daten, die hinzugefügt sind, um die Integrität der Umprogrammierungsdaten und der Verteilungsspezifikationsdaten zu verifizieren, und die z.B. aus Schlüsselinformation, den Umprogrammierungsdaten und den Verteilungsspezifikationsdaten erzeugt werden, die mit dem CGW 13 verknüpft sind. Wenn eine Download-Anfrage für das Verteilungspaket von außen empfangen wird, sendet der Dateiserver 8 das Verteilungspaket an das DCM 12. In 42 ist beispielhaft ein Fall gezeigt, in dem der Dateiserver 8 das Verteilungspaket erzeugt, in dem die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten gespeichert sind, und die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten zusammen als eine einzige Datei an das DCM 12 sendet, wobei die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten jedoch ebenso als separate Dateien an das DCM 12 gesendet werden können. D.h., der Dateiserver 8 kann zuerst die Verteilungsspezifikationsdaten an das DCM 12 senden und später die Umprogrammierungsdaten an das DCM 12 senden. In diesem Fall kann zu den Verteilungsspezifikationsdaten und den Umprogrammierungsdaten jeweils ein Authentifikator hinzugefügt sein.
  • Wie in 46 gezeigt, verifiziert das DCM 12, wenn das Verteilungspaket vom Dateiserver 8 heruntergeladen ist, die Integrität der verschlüsselten Umprogrammierungsdaten unter Verwendung des im heruntergeladenen Verteilungspaket gespeicherten Paketauthentifikator. Das DCM 12 entschlüsselt die verschlüsselten Umprogrammierungsdaten, wenn das Verifizierungsergebnis positiv ist. Wenn die verschlüsselten Umprogrammierungsdaten entschlüsselt sind, entpackt das DCM 12 die entschlüsselten Umprogrammierungsdaten und extrahiert die verschlüsselten Differenzdaten, den Authentifikator, die DCM-Umschreibespezifikationsdaten und die CGW-Umschreibespezifikationsdaten bereichsweise. 46 veranschaulicht einen Fall, in dem die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID1), die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID2), die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID3), die DCM-Umschreibespezifikationsdaten sowie die CGW-Umschreibespezifikationsdaten separat extrahiert werden.
  • Nachstehend ist der Flash-Speicher 33d der ECU 19 unter Bezugnahme auf die 47 bis 58 beschrieben. Der Flash-Speicher 33d der ECU 19 wird je nach Speicherkonfiguration in einen Ein-Bank-Speicher mit einer einzigen Flash-Bank, einen Ein-Bank-Suspend-Speicher mit Pseudo-Doppel-Flash-Bänken und einen Zwei-Bank-Speicher mit doppelt so großen Flash-Bänken klassifiziert. Nachstehend ist die ECU 19, die mit dem Ein-Bank-Speicher ausgestattet ist, als die Ein-Bank-Speicher-ECU bezeichnet, die ECU 19, die mit dem Ein-Bank-Suspend-Speicher ausgestattet ist, als eine Ein-Bank-Suspend-Speicher-ECU bezeichnet, und die ECU 19, die mit dem Zwei-Bank-Speicher ausgestattet ist, als Zwei-Bank-Speicher-ECU bezeichnet.
  • Da der Ein-Bank-Speicher über eine einzige Flash-Bank verfügt, gibt es kein Konzept einer aktiven Bank und einer inaktiven Bank, und ein Anwendungsprogramm kann nicht umgeschrieben werden, während das Anwendungsprogramm ausgeführt wird. Demgegenüber gibt es, da der Ein-Bank-Suspend-Speicher oder der Zwei-Bank-Speicher über zwei Flash-Bänke verfügt, ein Konzept einer aktiven Bank und einer inaktiven Bank, und ein Anwendungsprogramm in der inaktiven Bank kann umgeschrieben werden, während das Anwendungsprogramm in der aktiven Bank ausgeführt wird. Da der Zwei-Bank-Speicher über zwei Flash-Bänke verfügt, die vollständig voneinander getrennt sind, kann ein Anwendungsprogramm zu jedem beliebigen Timing, z.B. während der Fahrt des Fahrzeugs, umgeschrieben werden. Da der Ein-Bank-Suspend-Speicher eine Konfiguration aufweist, in der der Ein-Bank-Speicher in Pseudo-Doppel-Bänke unterteilt ist, gibt es Einschränkungen für Timing, zu dem Lesen und Schreiben normalerweise erfolgen können, und ein Anwendungsprogramm kann nicht umgeschrieben werden, während das Fahrzeug fährt, und das Anwendungsprogramm kann umgeschrieben werden, während die IG-Energie ausgeschaltet und das Fahrzeug geparkt ist.
  • Der Ein-Bank-Speicher, der Ein-Bank-Suspend-Speicher und der Zwei-Bank-Speicher umfassen jeweils einen Umprogrammierungs-Firmware-Einbettungstyp (im Folgenden als der Einbettungstyp bezeichnet), bei dem Umprogrammierungs-Firmware eingebettet ist, und einen Umprogrammierungs-Firmware-Download-Typ (im Folgenden als der Download-Typ bezeichnet), bei dem die Umprogrammierungs-Firmware von außen heruntergeladen wird. Die Umprogrammierungs-Firmware ist Firmware zum Umschreiben eines Anwendungsprogramms.
  • Nachstehend ist eine Konfiguration jedes Flash-Speichers der Reihe nach beschrieben.
  • Ein-Bank-Speicher
  • Ein-Bank-Speicher vom Einbettungstyp
  • Der Ein-Bank-Speicher vom Einbettungstyp ist unter Bezugnahme auf die 47 und 48 beschrieben. Der Ein-Bank-Speicher vom Einbettungstyp weist einen Differenz-Engine-Arbeitsbereich, einen Anwendungsprogrammbereich und einen Boot-Programmbereich auf. Im Anwendungsprogrammbereich befinden sich Versionsinformation, Parameterdaten, ein Anwendungsprogramm, Firmware und eine Normalzeit-Vektortabelle. Ein Boot-Programm, ein Fortschrittszustandspunkt 2, ein Fortschrittszustandspunkt 1, Startbestimmungsinformation, Drahtlos-Umprogrammierungs-Firmware, Drahtgebunden-Umprogrammierungs-Firmware, ein Startbestimmungsprogramm und eine Boot-Zeit-Vektor-Tabelle befinden sich im Boot-Bereich.
  • Wie in 47 gezeigt, führt der Mikrocomputer 33 während eines normalen Betriebs der Ausführung von Anwendungsprozessen, wie z.B. einem Fahrzeugsteuerungsprozess und einem Diagnoseprozess, das Startbestimmungsprogramm aus, nimmt Bezug auf die Boot-Zeit-Vektor-Tabelle und die Normalzeit-Vektortabelle, um nach einer Leitadresse zu suchen, und führt eine vorbestimmte Adresse eines Anwendungsprogramms aus.
  • Der Mikrocomputer 33 führt die Drahtlos- oder Drahtgebunden-Umprogrammierungs-Firmware anstelle des Anwendungsprogramms in einem Umschreibebetrieb zum Ausführen eines Umschreibeprozesses an dem Anwendungsprogramm aus. 48 veranschaulicht einen Betrieb zum Umschreiben eines Anwendungsprogramms unter Verwendung von Differenzdaten als ein Aktualisierungsprogramm. Wie in 48 gezeigt, speichert der Mikrocomputer 33 das Anwendungsprogramm temporär als alte Daten im Differenz-Engine-Arbeitsbereich. Der Mikrocomputer 33 liest die temporär im Differenz-Engine-Arbeitsbereich gespeicherten alten Daten und stellt neue Daten aus den gelesenen alten Daten und den im RAM 33c gespeicherten Differenzdaten unter Verwendung einer in der eingebetteten Umprogrammierungs-Firmware enthaltenen Differenz-Engine wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten an eine vorbestimmte Adresse des Speichers, um das Anwendungsprogramm umzuschreiben.
  • Ein-Bank-Speicher vom Download-Typ
  • Nachstehend ist der Ein-Bank-Speicher vom Download-Typ unter Bezugnahme auf die 49 und 50 beschrieben. Der Download-Typ unterscheidet sich dahingehend vom oben beschriebenen Einbettungstyp, dass die Drahtlos-Umprogrammierungs-Firmware (d.h. Firmware drahtlosen Umprogrammierens) oder die Drahtgebunden-Umprogrammierungs-Firmware (d.h. Firmware drahtgebundenen Umprogrammierens) von außen heruntergeladen wird, das Anwendungsprogramm umgeschrieben wird und dann die Drahtlos-Umprogrammierungs-Firmware oder die Drahtgebunden-Umprogrammierungs-Firmware gelöscht wird. Wenn das Anwendungsprogramm beispielsweise drahtlos aktualisiert wird, ist die in jeder ECU 19 auszuführende Drahtlos-Umprogrammierungs-Firmware in den in 42 gezeigten Umprogrammierungsdaten enthalten. Die ECU 19 empfängt Drahtlos-Umprogrammierungs-Firmware zur ausschließlichen Verwendung durch die ECU vom CGW 13 und speichert die empfangene Drahtlos-Umprogrammierungs-Firmware zur ausschließlichen Verwendung durch die ECU im RAM.
  • Wie in 49 gezeigt, führt der Mikrocomputer 33 während eines normalen Betriebs zum Ausführen von Anwendungsprozessen, wie z.B. einem Fahrzeugsteuerungsprozess und einem Diagnoseprozess, auf die gleiche Weise wie bei dem Einbettungstyp, das Startbestimmungsprogramm aus, nimmt Bezug auf die Boot-Zeit-Vektor-Tabelle und die Normalzeit-Vektortabelle, um nach einer Leitadresse zu suchen, und führt eine vorbestimmte Adresse eines Anwendungsprogramms aus.
  • Wie in 50 gezeigt, speichert der Mikrocomputer 33 das Anwendungsprogramm während eines Umschreibebetriebs zum Ausführen eines Umschreibeprozesses an dem Anwendungsprogramm temporär als alte Daten im Differenz-Engine-Arbeitsbereich. Der Mikrocomputer 33 liest die temporär im Differenz-Engine-Arbeitsbereich gespeicherten alten Daten und stellt neue Daten aus den gelesenen alten Daten und den im RAM 33c gespeicherten Differenzdaten unter Verwendung einer Differenz-Engine, die in der von außen heruntergeladenen Umprogrammierungs-Firmware enthalten ist, wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten, um das Anwendungsprogramm umzuschreiben.
  • Ein-Bank-Suspend-Speicher
  • Ein-Bank-Suspend-Speicher vom Einbettungstyp
  • Nachstehend ist der Ein-Bank-Suspend-Speicher vom Einbettungstyp unter Bezugnahme auf die 51 und 52 beschrieben. Der Ein-Bank-Suspend-Speicher vom Einbettungstyp weist einen Differenz-Engine-Arbeitsbereich, einen Anwendungsprogrammbereich und einen Boot-Programmbereich auf. Umprogrammierungs-Firmware zum Aktualisieren eines Programms befindet sich auf die gleiche Weise wie bei dem Ein-Bank-Speicher im Boot-Programmbereich und wird keiner Programmaktualisierung unterzogen. Der Anwendungsprogrammbereich, der ein Programmaktualisierungsziel ist, weist eine Pseudo-Bank-A und eine Bank-B auf, und Versionsinformation, ein Anwendungsprogramm und eine Normalzeit-Vektortabelle befinden sich jeweils in der Bank-A und der Bank-B. Ein Boot-Programm, Umprogrammierungs-Firmware, eine Umprogrammierungszeit-Vektortabelle, eine Start-Bank-Bestimmungsfunktion, Start-Bank-Bestimmungsinformation und eine Boot-Zeit-Vektor-Tabelle befinden sich im Boot-Bereich.
  • Wie in 51 gezeigt, führt der Mikrocomputer 33 während eines normalen Betriebs zum Ausführen von Anwendungsprozessen, wie z.B. einem Fahrzeugsteuerungsprozess und einem Diagnoseprozess, das Boot-Programm aus, um zu bestimmen, ob die Bank-A oder die Bank-B eine aktive Bank ist, und zwar auf der Grundlage der Start-Bank-Bestimmungsinformation der Bank-A und der Bank-B gemäß der Start-Bank-Bestimmungsfunktion. Wenn bestimmt wird, dass die Bank-A eine aktive Bank ist, nimmt der Mikrocomputer 33 auf die Normalzeit-Vektortabelle der Bank-A Bezug, um nach einer Leitadresse zu suchen, und führt das Anwendungsprogramm der Bank-A aus. In gleicher Weise nimmt der Mikrocomputer 33, wenn bestimmt wird, dass die Bank-B eine aktive Bank ist, auf die Normalzeit-Vektortabelle der Bank-B Bezug, um nach einer Leitadresse zu suchen, und führt das Anwendungsprogramm der Bank-B aus. In 51 kann, obgleich sich die Umprogrammierungs-Firmware im Boot-Programmbereich befindet, die Umprogrammierungs-Firmware auch einer Programmaktualisierung unterzogen werden und sich in jedem Bereich der Bank-A oder der Bank-B befinden.
  • Wie in 52 gezeigt, speichert der Mikrocomputer 33, während eines Umschreibebetriebs zum Ausführen eines Umschreibeprozesses an einem Anwendungsprogramm einer inaktiven Bank, das Anwendungsprogramm der inaktiven Bank als alte Daten temporär im Differenz-Engine-Arbeitsbereich. Der Mikrocomputer 33 liest die temporär im Differenz-Engine-Arbeitsbereich gespeicherten alten Daten und stellt neue Daten aus den gelesenen alten Daten und den im RAM 33c gespeicherten Differenzdaten unter Verwendung einer Differenz-Engine in der Umprogrammierungs-Firmware vom Einbettungstyp wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank, um das Anwendungsprogramm der inaktiven Bank umzuschreiben. 52 zeigt beispielhaft einen Fall, in dem die Bank-A eine aktive Bank und die Bank-B eine inaktive Bank ist.
  • Ein-Bank-Suspend-Speicher vom Download-Typ
  • Nachstehend ist der Ein-Bank-Suspend-Speicher vom Download-Typ unter Bezugnahme auf die 53 und 54 beschrieben. Der Download-Typ unterscheidet sich dahingehend vom oben beschriebenen Einbettungstyp, dass Umprogrammierungs-Firmware und eine Umprogrammierungszeit-Vektortabelle von außen heruntergeladen werden, ein Anwendungsprogramm umgeschrieben wird und dann die Umprogrammierungs-Firmware und die Umprogrammierungszeit-Vektortabelle gelöscht werden.
  • Wie in 53 gezeigt, führt der Mikrocomputer 33 während eines normalen Betriebs zum Ausführen von Anwendungsprozessen, wie z.B. einem Fahrzeugsteuerungsprozess und einem Diagnoseprozess, auf die gleiche Weise wie beim Einbettungstyp, das Boot-Programm aus, um zu bestimmen, ob das Anwendungsprogramm neu oder alt ist, und zwar auf der Grundlage der Start-Bank-Bestimmungsinformation von sowohl der Bank-A als auch der Bank-B gemäß der Aktivierungs-Bank-Bestimmungsfunktion, und bestimmt, ob die Bank-A oder die Bank-B eine aktive Bank ist. Wenn bestimmt wird, dass die Bank-A eine aktive Bank ist, nimmt der Mikrocomputer 33 auf die Normalzeit-Vektortabelle der Bank-A Bezug, um nach einer Leitadresse zu suchen, und führt das Anwendungsprogramm der Bank-A aus. In gleicher Weise nimmt der Mikrocomputer 33, wenn bestimmt wird, dass die Bank-B eine aktive Bank ist, auf die Normalzeit-Vektortabelle der Bank-B Bezug, um nach einer Leitadresse zu suchen, und führt das Anwendungsprogramm der Bank-B aus.
  • Wie in 54 gezeigt, speichert der Mikrocomputer 33, während eines Umschreibebetriebs zum Ausführen eines Umschreibeprozesses an einem Anwendungsprogramm, das Anwendungsprogramm der inaktiven Bank als alte Daten temporär im Differenz-Engine-Arbeitsbereich. Der Mikrocomputer 33 liest die temporär im Differenz-Engine-Arbeitsbereich gespeicherten alten Daten und stellt neue Daten aus den gelesenen alten Daten und den im RAM 33c gespeicherten Differenzdaten unter Verwendung einer Differenz-Engine in der von außen heruntergeladenen Umprogrammierungs-Firmware wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten, um das Anwendungsprogramm umzuschreiben. 54 zeigt beispielhaft den Fall, in dem die Bank-A eine aktive Bank und die Bank-B eine inaktive Bank ist. Wie oben beschrieben, kann im Ein-Bank-Suspend-Speicher das Umschreiben des Anwendungsprogramms der Bank-B im Hintergrund ausgeführt werden, während das Anwendungsprogramm der Bank-A ausgeführt wird.
  • Zwei-Bank-Speicher
  • Zwei-Bank-Speicher vom Einbettungstyp
  • Nachstehend ist der Zwei-Bank-Speicher vom Einbettungstyp unter Bezugnahme auf die 55 und 56 beschrieben. Der Ein-Bank-Speicher vom Einbettungstyp enthält einen Anwendungsprogrammbereich und einen Umschreibeprogrammbereich der Bank-A, einen Anwendungsprogrammbereich und einen Umschreibeprogrammbereich der Bank-B sowie einen Boot-Programmbereich. Ein Boot-Programm befindet sich nicht umschreibbar im Boot-Bereich. Das Boot-Programm enthält eine Boot-Swap-Funktion und eine Boot-Zeit-Vektor-Tabelle. In jedem Anwendungsprogrammbereich befinden sich Versionsinformation, Parameterdaten, ein Anwendungsprogramm, Firmware und eine Normalzeit-Vektortabelle. In jedem Umschreibeprogrammbereich befinden sich ein Programm zur Umschreibesteuerung, Umprogrammierungsfortschrittsverwaltungsinformation 2, Umprogrammierungsfortschrittsverwaltungsinformation 1, Start-Bank-Bestimmungsinformation, Drahtlos-Umprogrammierungs-Firmware, Drahtgebunden-Umprogrammierungs-Firmware und eine Bootzeit-Vektortabelle. Im Boot-Bereich befinden sich ein Boot-Programm, eine Boot-Swap-Funktion und eine Boot-Zeit-Vektor-Tabelle.
  • Wie in 55 gezeigt, führt der Mikrocomputer 33 während eines normalen Betriebs zum Ausführen von Anwendungsprozessen, wie z.B. eines Fahrzeugsteuerungsprozesses und eines Diagnoseprozesses, und während eines Umschreibebetriebs zum Ausführen eines Umschreibeprozesses an einem Anwendungsprogramm einer inaktiven Bank das Boot-Programm aus, um zu bestimmen, ob das Anwendungsprogramm neu oder alt ist, und zwar in Übereinstimmung mit der Boot-Swap-Funktion auf der Grundlage jeder Start-Bank-Bestimmungsinformation der Bank-A und der Bank-B durch Ausführen des Boot-Programms, und bestimmt, ob die Bank-A oder die Bank-B eine aktive Bank ist. Wenn bestimmt wird, dass die Bank-A eine aktive Bank ist, nimmt der Mikrocomputer 33 auf die Boot-Zeit-Vektor-Tabelle der Bank-A und die Normalzeit-Vektortabelle der Bank-A Bezug, um nach einer Leitadresse zu suchen, und führt das Anwendungsprogramm der Bank-A aus. In gleicher Weise nimmt der Mikrocomputer 33, wenn bestimmt wird, dass die Bank-B eine aktive Bank ist, auf die Boot-Zeit-Vektor-Tabelle der Bank-B und die Normalzeit-Vektortabelle der Bank-B Bezug, um nach einer Leitadresse zu suchen, und führt das Anwendungsprogramm der Bank-B aus.
  • Wie in 56 gezeigt, speichert der Mikrocomputer 33, während eines Umschreibebetriebs zum Ausführen eines Umschreibeprozesses an einem Anwendungsprogramm einer inaktiven Bank, das Anwendungsprogramm der inaktiven Bank als alte Daten temporär im Differenz-Engine-Arbeitsbereich. Der Mikrocomputer 33 liest die temporär im Differenz-Engine-Arbeitsbereich gespeicherten alten Daten und stellt neue Daten aus den gelesenen alten Daten und den im RAM 33c gespeicherten Differenzdaten unter Verwendung einer Differenz-Engine in der Umprogrammierungs-Firmware vom Einbettungstyp wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank, um das Anwendungsprogramm der inaktiven Bank umzuschreiben. Alte Daten, die temporär im Differenz-Engine-Arbeitsbereich gespeichert werden, können ein Anwendungsprogramm einer aktiven Bank oder ein Anwendungsprogramm einer inaktiven Bank sein. In diesem Fall werden, wenn das Anwendungsprogramm der aktiven Bank ein Ziel ist, Daten der inaktiven Bank gelöscht, bevor neue Daten geschrieben werden. Hier werden für den Fall, dass Umprogrammierungsdaten, die von außerhalb des Fahrzeugs erfasst werden, keine Differenzdaten, sondern gesamte Daten (vollständige Daten) sind, die erfassten Umprogrammierungsdaten als neue Daten in die inaktive Bank geschrieben. 56 zeigt beispielhaft einen Fall, in dem die Bank-A eine aktive Bank und die Bank-B eine inaktive Bank ist. Alte Daten, die temporär im Differenz-Engine-Arbeitsbereich gespeichert werden, können ein Anwendungsprogramm einer aktiven Bank oder ein Anwendungsprogramm einer inaktiven Bank sein. In einem Fall, in dem es notwendig ist, Ausführungsadressen der Anwendungsprogramme miteinander abzugleichen, wird das Anwendungsprogramm der inaktiven Bank als alte Daten gespeichert.
  • Zwei-Bank-Speicher vom Download-Typ
  • Nachstehend ist der Zwei-Bank-Speicher vom Download-Typ unter Bezugnahme auf die 57 und 58 beschrieben. Der Download-Typ unterscheidet sich dahingehend vom oben beschriebenen Einbettungstyp, dass die Drahtlos-Umprogrammierungs-Firmware (d.h. Firmware drahtlosen Umprogrammierens) oder die Drahtgebunden-Umprogrammierungs-Firmware (d.h. Firmware drahtgebundenen Umprogrammierens) von außen heruntergeladen wird, das Anwendungsprogramm umgeschrieben wird und dann die Drahtlos-Umprogrammierungs-Firmware oder die Drahtgebunden-Umprogrammierungs-Firmware gelöscht wird.
  • Wie in 57 gezeigt, führt der Mikrocomputer 33 während eines normalen Betriebs zum Ausführen von Anwendungsprozessen, wie z.B. einem Fahrzeugsteuerungsprozess und einem Diagnoseprozess, und während eines Umschreibebetriebs zum Ausführen eines Umschreibeprozesses an einem Anwendungsprogramm einer inaktiven Bank, auf die gleiche Weise wie beim Einbettungstyp, das Boot-Programm aus, um zu bestimmen, ob das Anwendungsprogramm neu oder alt ist, und zwar in Übereinstimmung mit der Boot-Swap-Funktion auf der Grundlage jeder Start-Bank-Bestimmungsinformation der Bank-A und der Bank-B durch Ausführen des Boot-Programms, und bestimmt, ob die Bank-A oder die Bank-B eine aktive Bank ist.
  • Wie in 58 gezeigt, speichert der Mikrocomputer 33, während eines Umschreibebetriebs zum Ausführen eines Umschreibeprozesses an dem Anwendungsprogramm, das Anwendungsprogramm der inaktiven Bank als alte Daten temporär im Differenz-Engine-Arbeitsbereich. Der Mikrocomputer 33 liest die temporär im Differenz-Engine-Arbeitsbereich gespeicherten alten Daten und stellt neue Daten aus den gelesenen alten Daten und den im RAM 33c gespeicherten Differenzdaten unter Verwendung der von außen heruntergeladenen Umprogrammierungs-Firmware wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank, um das Anwendungsprogramm der inaktiven Bank umzuschreiben. Alte Daten, die temporär im Differenz-Engine-Arbeitsbereich gespeichert werden, können ein Anwendungsprogramm einer aktiven Bank oder ein Anwendungsprogramm einer inaktiven Bank sein. In diesem Fall werden, wenn das Anwendungsprogramm der aktiven Bank ein Ziel ist, Daten der inaktiven Bank gelöscht, bevor neue Daten geschrieben werden. Hier werden für den Fall, dass Umprogrammierungsdaten, die von außerhalb des Fahrzeugs erfasst werden, keine Differenzdaten, sondern gesamte Daten (vollständige Daten) sind, die erfassten Umprogrammierungsdaten als neue Daten in die inaktive Bank geschrieben. 58 zeigt beispielhaft einen Fall, in dem die Bank-A eine aktive Bank und die Bank-B eine inaktive Bank ist. Alte Daten, die temporär im Differenz-Engine-Arbeitsbereich gespeichert werden, können ein Anwendungsprogramm einer aktiven Bank oder ein Anwendungsprogramm einer inaktiven Bank sein. Wie oben beschrieben, kann im Zwei-Bank-Speicher das Umschreiben des Anwendungsprogramms der Bank-B im Hintergrund ausgeführt werden, während das Anwendungsprogramm der Bank-A ausgeführt wird.
  • Wie oben beschrieben, befinden sich in beiden Konfigurationen sowohl des Einbettungstyps als auch des Download-Typs das Anwendungsprogramm und das Umschreibeprogramm zum Umschreiben des Anwendungsprogramms in jedem Anwendungsbereich. In den 56 und 58 wurde das Anwendungsprogramm als Umprogrammierungsziel beschrieben, aber auch das Umschreibeprogramm kann ein Umprogrammierungsziel sein. In einem Fall, in dem es gewünscht ist, dass das Umschreibeprogramm nicht umgeschrieben werden kann, kann sich das Umschreibeprogramm im Boot-Bereich befinden. Beispielsweise kann sich ein Programm zum drahtgebundenen Umschreiben im Boot-Bereich befinden, so dass das drahtgebundene Umschreiben unter Verwendung des Werkzeugs 23 zuverlässig bei einem Händler oder dergleichen ausgeführt werden kann.
  • Nachstehend ist der gesamte Ablauf des Umschreibens eines Anwendungsprogramms unter Bezugnahme auf die 59 bis 61 beschrieben. Hier ist ein Fall beschrieben, in dem ein Benutzer das mobile Endgerät 6 als das Anzeige-Endgerät 5 bedient, um ein Anwendungsprogramm während des Einparkens umzuschreiben, aber das Gleiche gilt ebenso für einen Fall, in dem das Anwendungsprogramm während des Einparkens durch eine Bedienung der In-Vehicle-Anzeige 7 umgeschrieben wird. Das von der Zentralvorrichtung 3 an das DCM 12 gesendete Verteilungspaket speichert Schreibdaten einer oder mehrerer Umschreibeziel-ECUs 19. D.h., wenn es nur eine Umschreibeziel-ECU 19 gibt, wird ein Teil von Schreibdaten für die nur eine Umschreibeziel-ECU 19 im Verteilungspaket gespeichert, und wenn es mehrere Umschreibeziel-ECUs 19 gibt, werden mehrere Teile von Schreibdaten für die jeweiligen mehreren Umschreibeziel-ECUs 19 im Verteilungspaket gespeichert. Hier gibt es zwei Umschreibeziel-ECUs 19, und die beiden Umschreibeziel-ECUs 19 sind im Folgenden als Umschreibeziel-ECU (ID1) und Umschreibeziel-ECU (ID2) bezeichnet. Die ECUs 19 verschieden von der Umschreibeziel-ECU (ID1) und der Umschreibeziel-ECU (ID2) sind als andere ECUs bezeichnet.
  • Sowohl die Umschreibeziel-ECU (ID1) als auch die Umschreibeziel-ECU (ID2) bestimmt, dass eine Sendebedingung für ein Versionsbenachrichtigungssignal erfüllt ist, wenn beispielsweise bestimmt wird, dass eine Sendeanfrage für das Versionsbenachrichtigungssignal von der Master-Vorrichtung 11 empfangen wurde. Wenn die Sendebedingung für das Versionsbenachrichtigungssignal erfüllt ist, sendet die Umschreibeziel-ECU (ID1) das Versionsbenachrichtigungssignal mit Versionsinformation eines darin gespeicherten Anwendungsprogramms und einer ECU (ID), die die ECU identifizieren kann, an die Master-Vorrichtung 11. Wenn das Versionsbenachrichtigungssignal von der Umschreibeziel-ECU (ID1) empfangen wird, sendet die Master-Vorrichtung 11 das empfangene Versionsbenachrichtigungssignal an die Zentralvorrichtung 3. In gleicher Weise sendet die Umschreibeziel-ECU (ID2), wenn die Sendebedingung für das Versionsbenachrichtigungssignal erfüllt ist, das Versionsbenachrichtigungssignal mit einer Version eines darin gespeicherten Anwendungsprogramms und einer ECU (ID), die die ECU identifizieren kann, an die Master-Vorrichtung 11. Wenn das Versionsbenachrichtigungssignal von der Umschreibeziel-ECU (ID2) empfangen wird, sendet die Master-Vorrichtung 11 das empfangene Versionsbenachrichtigungssignal an die Zentralvorrichtung 3.
  • Wenn die Versionsbenachrichtigungssignale von der Umschreibeziel-ECU (ID1) und der Umschreibeziel-ECU (ID2) empfangen werden, spezifiziert die Zentralvorrichtung 3 die Versionen der Anwendungsprogramme, die in den empfangenen Versionsbenachrichtigungssignalen enthalten sind, und die ECUs (ID), und bestimmt die Verfügbarkeit von Schreibdaten, die an die Umschreibeziel-ECU 19 zu verteilen sind, die eine Sendequelle des Versionsbenachrichtigungssignals ist. Die Zentralvorrichtung 3 spezifiziert die Version des aktuellen Anwendungsprogramms der Umschreibeziel-ECU 19 aus dem vom Umschreibeziel empfangenen Versionsbenachrichtigungssignal und gleicht die Version des aktuellen Anwendungsprogramms mit der verwalteten neuesten Version ab.
  • Wenn die aus dem Versionsbenachrichtigungssignal spezifizierte Version denselben Wert wie die verwaltete neueste Version aufweist, bestimmt die Zentralvorrichtung 3, dass Schreibdaten, die an die Umschreibeziel-ECU 19 zu verteilen sind, die eine Sendequelle des Versionsbenachrichtigungssignals ist, nicht verfügbar sind, und dass das in der Umschreibeziel-ECU 19 gespeicherte Anwendungsprogramm nicht aktualisiert werden muss. Demgegenüber bestimmt die Zentralvorrichtung 3, wenn die aus dem Versionsbenachrichtigungssignal spezifizierte Version einen Wert aufweist, der kleiner ist als der der verwalteten neuesten Version, dass Schreibdaten verfügbar sind, die an die Umschreibeziel-ECU 19 zu verteilen sind, die eine Sendequelle des Versionsbenachrichtigungssignals ist, und dass das in der Umschreibeziel-ECU 19 gespeicherte Anwendungsprogramm aktualisiert werden muss.
  • Wenn bestimmt wird, dass das in der Umschreibeziel-ECU 19 gespeicherte Anwendungsprogramm aktualisiert werden muss, informiert die Zentralvorrichtung 3 das mobile Endgerät 6 darüber, dass eine Aktualisierung erforderlich ist. Wenn das mobile Endgerät 6 darüber informiert wird, dass eine Aktualisierung erforderlich ist, zeigt das mobile Endgerät einen Verteilungsausführbarkeitsbildschirm an (A1). Der Verteilungsausführbarkeitsbildschirm ist derselbe wie ein Kampagnenbenachrichtigungsbildschirm, der nachstehend noch beschrieben ist. Der Benutzer kann die Notwendigkeit einer Aktualisierung über den auf dem mobilen Endgerät 6 angezeigten Verteilungsausführbarkeitsbildschirm überprüfen und somit wählen, ob oder nicht die Aktualisierung ausgeführt werden soll.
  • Wenn der Benutzer auf dem mobilen Endgerät 6 wählt, dass die Aktualisierung ausgeführt werden soll (A2), benachrichtigt das mobile Endgerät 6 die Zentralvorrichtung 3 über eine Download-Anfrage für ein Verteilungspaket. Wenn die Zentralvorrichtung 3 über die Download-Anfrage für das Verteilungspaket vom mobilen Endgerät 6 informiert wird, sendet die Zentralvorrichtung das Verteilungspaket an die Master-Vorrichtung 11.
  • Wenn die Master-Vorrichtung 11 das Verteilungspaket von der Zentralvorrichtung 3 herunterlädt, initiiert die Master-Vorrichtung einen Paket-Authentifizierungsprozess für das heruntergeladene Verteilungspaket (B1). Wenn die Master-Vorrichtung 11 das Verteilungspaket authentifiziert und den Paket-Authentifizierungsprozess abschließt, initiiert die Master-Vorrichtung einen Schreibdaten-Extraktionsprozess (B2). Wenn die Master-Vorrichtung 11 die Schreibdaten aus dem Verteilungspaket extrahiert und den Schreibdaten-Extraktionsprozess abschließt, sendet die Master-Vorrichtung ein Download-Abschlussbenachrichtigungssignal an die Zentralvorrichtung 3.
  • Wenn die Zentralvorrichtung 3 das Download-Abschlussbenachrichtigungssignal von der Master-Vorrichtung 11 empfängt, benachrichtigt die Zentralvorrichtung 3 das mobile Endgerät 6 über den Abschluss des Herunterladens. Wenn das mobile Endgerät 6 von der Zentralvorrichtung 3 über den Abschluss des Herunterladens benachrichtigt wird, zeigt das mobile Endgerät 6 einen Download-Abschlussbenachrichtigungsbildschirm an (A3). Der Benutzer kann anhand des auf dem mobilen Endgerät 6 angezeigten Download-Abschlussbenachrichtigungsbildschirms überprüfen, ob das Herunterladen abgeschlossen wurde, und kann somit fahrzeugseitig eine Umschreibeinitiierungszeit eines Anwendungsprogramms bestimmen.
  • Wenn der Benutzer fahrzeugseitig auf dem mobilen Endgerät 6 die Umschreibeinitiierungszeit des Anwendungsprogramms bestimmt (A4), benachrichtigt das mobile Endgerät 6 die Zentralvorrichtung 3 über die Umschreibeinitiierungszeit. Wenn die Zentralvorrichtung 3 vom mobilen Endgerät 6 über die Umschreibeinitiierungszeit informiert wird, speichert die Zentralvorrichtung 3 die vom Benutzer bestimmte Umschreibeinitiierungszeit als eine festgelegte Initiierungszeit. Wenn die aktuelle Zeit die festgelegte Initiierungszeit erreicht (A5), sendet die Zentralvorrichtung 3 ein Umschreibebefehlssignal an die Master-Vorrichtung 11.
  • Wenn das Umschreibebefehlssignal von der Zentralvorrichtung 3 empfangen wird, sendet die Master-Vorrichtung 11 eine Energieversorgungsstartanfrage an die Energieversorgungsverwaltungs-ECU 20 und veranlasst so die Umschreibeziel-ECU (ID1), die Umschreibeziel-ECU (ID2) und die anderen ECUs, von einem Stoppzustand oder einem Ruhezustand in einen Startzustand überzugehen (X1).
  • Die Master-Vorrichtung 11 initiiert die Verteilung der Schreibdaten an die Umschreibeziel-ECU (ID1) und weist die Umschreibeziel-ECU (ID1) an, die Schreibdaten zu schreiben. Die Umschreibeziel-ECU (ID1) beginnt, die Schreibdaten von der Master-Vorrichtung 11 zu empfangen, und beginnt mit dem Schreiben der Schreibdaten und initiiert einen Programm-Umschreibeprozess, wenn das Schreiben der Schreibdaten angewiesen wird (C1). Wenn die Umschreibeziel-ECU (ID1) den Empfang der Schreibdaten von der Master-Vorrichtung 11 abschließt, das Schreiben der Schreibdaten abschließt und den Programm-Umschreibeprozess abschließt, sendet die Umschreibeziel-ECU (ID1) ein Umschreibeabschluss-Benachrichtigungssignal an die Master-Vorrichtung 11.
  • Wenn das Umschreibeabschluss-Benachrichtigungssignal von der Umschreibeziel-ECU (ID1) empfangen wird, initiiert die Master-Vorrichtung 11 die Verteilung der Schreibdaten an die Umschreibeziel-ECU (ID2) und weist die Umschreibeziel-ECU (ID2) an, die Schreibdaten zu schreiben. Die Umschreibeziel-ECU (ID2) beginnt, die Schreibdaten von der Master-Vorrichtung 11 zu empfangen, und beginnt mit dem Schreiben der Schreibdaten und initiiert einen Programm-Umschreibeprozess, wenn das Schreiben der Schreibdaten angewiesen wird (D1). Wenn die Umschreibeziel-ECU (ID2) den Empfang der Schreibdaten von der Master-Vorrichtung 11 abschließt, das Schreiben der Schreibdaten abschließt und den Programm-Umschreibeprozess abschließt, sendet die Umschreibeziel-ECU (ID2) ein Umschreibeabschluss-Benachrichtigungssignal an die Master-Vorrichtung 11. Wenn das Umschreibeabschluss-Benachrichtigungssignal von der Umschreibeziel-ECU (ID2) empfangen wird, sendet die Master-Vorrichtung 11 das Umschreibeabschluss-Benachrichtigungssignal an die Zentralvorrichtung 3.
  • Wenn das Umschreibeabschluss-Benachrichtigungssignal von der Master-Vorrichtung 11 empfangen wird, benachrichtigt die Zentralvorrichtung 3 das mobile Endgerät 6 über den Abschluss des Umschreibens des Anwendungsprogramms. Wenn das mobile Endgerät 6 von der Zentralvorrichtung 3 über den Abschluss des Umschreibens des Anwendungsprogramms benachrichtigt wird, zeigt das mobile Endgerät 6 einen Umschreibe-Abschluss-Benachrichtigungsbildschirm an (A6). Der Benutzer kann anhand des auf dem mobilen Endgerät 6 angezeigten Umschreibe-Abschluss-Benachrichtigungsbildschirm überprüfen, ob das Umschreiben des Anwendungsprogramms abgeschlossen wurde, und kann so eine Synchronisationsausführung als Aktivierung einstellen.
  • Wenn der Benutzer die Synchronisationsausführung auf dem mobilen Endgerät 6 einstellt (A7), d.h. wenn der Benutzer eine Genehmigung für die Aktivierung eines neuen Programms einstellt, benachrichtigt das mobile Endgerät 6 die Zentralvorrichtung 3 über die Synchronisationsausführung. Wenn die Zentralvorrichtung 3 vom mobilen Endgerät 6 über die Synchronisationsausführung benachrichtigt wird, sendet die Zentralvorrichtung ein Synchronisationsumschaltbefehlssignal an die Master-Vorrichtung 11. Wenn das Synchronisationsumschaltbefehlssignal von der Zentralvorrichtung 3 empfangen wird, verteilt die Master-Vorrichtung 11 das empfangene Synchronisationsumschaltbefehlssignal an die Umschreibeziel-ECU (ID1) und die Umschreibeziel-ECU (ID2).
  • Wenn das Synchronisationsumschaltbefehlssignal von der Master-Vorrichtung 11 empfangen wird, initiiert sowohl die Umschreibeziel-ECU (ID1) als auch die Umschreibeziel-ECU (ID2) einen Programmumschaltprozess zum Umschalten eines beim nächsten Mal zu startenden Anwendungsprogramms vom alten Anwendungsprogramm auf das neue Anwendungsprogramm (C2 und D2). Wenn der Programmumschaltprozess abgeschlossen ist, sendet sowohl die Umschreibeziel-ECU (ID1) als auch die Umschreibeziel-ECU (ID2) ein Umschaltabschlussbenachrichtigungssignal an die Master-Vorrichtung 11.
  • Wenn das Umschaltabschlussbenachrichtigungssignal von der Umschreibeziel-ECU (ID1) und der Umschreibeziel-ECU (ID2) empfangen wird, verteilt die Master-Vorrichtung 11 ein Versionslesesignal an die Umschreibeziel-ECU (ID1) und die Umschreibeziel-ECU (ID2). Wenn das Versionslesesignal von der Master-Vorrichtung 11 empfangen wird, liest sowohl die Umschreibeziel-ECU (ID1) als auch die Umschreibeziel-ECU (ID2) eine Version eines danach zu betreibenden Anwendungsprogramms (C3 und D3) und sendet ein Neueste-Version-Benachrichtigungssignal einschließlich der gelesenen Version an die Master-Vorrichtung 11. Die Master-Vorrichtung 11 prüft eine Software-Version oder führt bei Bedarf ein Rollback aus, indem es das Versionsbenachrichtigungssignal von der Umschreibeziel-ECU (ID1) und der Umschreibeziel-ECU (ID2) empfängt.
  • Wenn das Versionsbenachrichtigungssignal von der Umschreibeziel-ECU (ID1) und der Umschreibeziel-ECU (ID2) empfangen wird, sendet die Master-Vorrichtung 11 eine Energieversorgungsstoppanfrage an die Energieversorgungsverwaltungs-ECU 20 und veranlasst so die Umschreibeziel-ECU (ID1), die Umschreibeziel-ECU (ID2) und die anderen ECUs, vom Startzustand in den Stoppzustand oder den Ruhezustand überzugehen (X2).
  • Die Master-Vorrichtung 11 sendet das Neueste-Version-Benachrichtigungssignal an die Zentralvorrichtung 3. Wenn das Neueste-Version-Benachrichtigungssignal von der Master-Vorrichtung 11 empfangen wird, spezifiziert die Zentralvorrichtung 3 die neuesten Versionen der Anwendungsprogramme der Umschreibeziel-ECU (ID1) und der Umschreibeziel-ECU (ID2) aus dem empfangenen Neueste-Version-Benachrichtigungssignal und benachrichtigt das mobile Endgerät 6 über die spezifizierten neuesten Versionen. Wenn eine Benachrichtigung über die neuesten Versionen von der Zentralvorrichtung 3 gesendet wird, zeigt das mobile Endgerät 6 einen Neueste-Version-Benachrichtigungsbildschirm, der die neuesten Versionen anzeigt, über die die Benachrichtigung gesendet wurde, auf dem mobilen Endgerät 6 an (A8). Der Benutzer kann die neuesten Versionen über den auf dem mobilen Endgerät 6 angezeigten Neueste-Version-Benachrichtigungsbildschirm überprüfen und so überprüfen, ob die Aktivierung abgeschlossen wurde.
  • Nachstehend sind Betriebsabläufe bzw. Operationen des DCM 12, des CGW 13 und der Umschreibeziel-ECU 19, wenn ein Anwendungsprogramm umgeschrieben wird, unter Bezugnahme auf die 62 bis 65 beschrieben. Hier ist ein Fall beschrieben, in dem ein Anwendungsprogramm der Zwei-Bank-Speicher-ECU während einer Zeitdauer umgeschrieben wird, in dem der IG-Schalter 42 durch eine Benutzerbedienung eingeschaltet wird, d.h. während das Fahrzeug fahren kann, und Anwendungsprogramme der Ein-Bank-Suspend-Speicher-ECU und der Ein-Bank-Speicher-ECU während des Parkens umgeschrieben werden, nachdem der IG-Schalter 42 durch eine Benutzerbedienung ausgeschaltet wurde. Es ist ein Fall beschrieben, in dem das Anwendungsprogramm mit Hilfe der Energieversorgungssteuerung umgeschrieben wird, und ein Fall beschrieben, in dem das Anwendungsprogramm mit Hilfe der Selbsterhaltungsenergie umgeschrieben wird.
  • Fall, in dem das Anwendungsprogramm mittels der Energieversorgungssteuerung umgeschrieben wird
  • Nachstehend ist der Fall, dass das Anwendungsprogramm mit Hilfe der Energieversorgungssteuerung umgeschrieben wird, unter Bezugnahme auf die 62 und 63 beschrieben. Das Umschreiben des Anwendungsprogramms mit Hilfe der Energieversorgungssteuerung zeigt eine Konfiguration, bei der ein Umschreibebetrieb in Übereinstimmung mit dem Schalten einer Energieversorgung gesteuert wird, ohne dass die Selbsterhaltungsenergieschaltung verwendet wird. Wenn der Benutzer den IG-Schalter in einem AUS-Zustand einschaltet und somit die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, initiieren das DCM 12, das CGW 13, die Zwei-Bank-Speicher-ECU, die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU jeweils einen normalen Betrieb (t1).
  • Wenn eine Download-Initiierungsbenachrichtigung von der Zentralvorrichtung 3 gesendet wird, geht das DCM 12 vom normalen Betrieb in einen Download-Betrieb über und initiiert das Herunterladen eines Verteilungspakets von der Zentralvorrichtung 3 (t2). Das DCM 12 kann das Verteilungspaket im Hintergrund herunterladen, während es den normalen Betrieb ausführt. Wenn das Herunterladen des Verteilungspakets von der Zentralvorrichtung 3 abgeschlossen ist, kehrt das DCM 12 vom Download-Betrieb in den normalen Betrieb zurück (t3).
  • Wenn eine Benachrichtigung über ein Umschreibebefehlssignal (Installationsbefehlssignal) von der Zentralvorrichtung 3 oder dem CGW 13 gesendet wird, geht das DCM 12 von dem normalen Betrieb in einen Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb über und initiiert den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb (t4). D.h., das DCM 12 extrahiert Schreibdaten aus dem Verteilungspaket, initiiert die Übertragung der Schreibdaten an das CGW 13, erfasst eine Umschreibefortschrittssituation vom CGW 13 und initiiert eine Benachrichtigung der Zentralvorrichtung 3 über die Umschreibefortschrittssituation.
  • Wenn die Erfassung der Schreibdaten vom DCM 12 initiiert wird, geht das CGW 13 von dem normalen Betrieb in einen Umprogrammierungs-Master-Betrieb über, initiiert den Umprogrammierungs-Master-Betrieb, initiiert eine Verteilung der Schreibdaten an die Zwei-Bank-Speicher-ECU und weist die Zwei-Bank-Speicher-ECU an, die Schreibdaten zu schreiben. Wenn die Zwei-Bank-Speicher-ECU beginnt, Schreibdaten vom CGW 13 zu empfangen, initiiert die Zwei-Bank-Speicher-ECU eine Programmierphase (im Folgenden auch als Installationsphase bezeichnet) in einem normalen Betrieb. D.h., die Zwei-Bank-Speicher-ECU führt die Installation des Anwendungsprogramms im Hintergrund aus, während sie den normalen Betrieb ausführt. Die Zwei-Bank-Speicher-ECU beginnt, die empfangenen Schreibdaten in den Flash-Speicher zu schreiben und initiiert das Umschreiben des Anwendungsprogramms.
  • Wenn der Benutzer den IG-Schalter in einem EIN-Zustand ausschaltet, so dass die Fahrzeugenergie während des Umschreibens des Anwendungsprogramms in der Zwei-Bank-Speicher-ECU von der IG-Energie auf die +B-Energie umschaltet, stoppt das DCM 12 den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb, stoppt das CGW 13 den Umprogrammierungs-Master-Betrieb, und stoppt die Zwei-Bank-Speicher-ECU die Installationsphase und das Umschreiben des Anwendungsprogramms (t5).
  • Anschließend, wenn der Benutzer den IG-Schalter in einem AUS-Zustand einschaltet, so dass die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, nimmt das DCM 12 den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb wieder auf, nimmt das CGW 13 den Umprogrammierungs-Master-Betrieb wieder auf, und nimmt die Zwei-Bank-Speicher-ECU die Installationsphase und das Umschreiben des Anwendungsprogramms wieder auf (t6). D.h., der Benutzer schaltet den IG-Schalter in einem EIN-Zustand aus, so dass die Fahrzeugenergie von der IG-Energie auf +B-Energie umschaltet, woraufhin der Benutzer den IG-Schalter in einem AUS-Zustand einschaltet, so dass die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, und jedes Mal, wenn eine Fahrt erfolgt, wiederholt die Zwei-Bank-Speicher-ECU das Stoppen und Wiederaufnehmen des Umschreibens des Anwendungsprogramms (t7 und t8).
  • Wenn die Zwei-Bank-Speicher-ECU das Schreiben der Schreibdaten und das Umschreiben des Anwendungsprogramms abgeschlossen hat, beendet die Zwei-Bank-Speicher-ECU die Installationsphase und geht von dem normalen Betrieb in den Aktivierungs-Standby über. D.h., die Zwei-Bank-Speicher-ECU wird nicht auf der neuen Bank (Bank-B) gestartet, in der das Anwendungsprogramm zu dem Zeitpunkt umgeschrieben wird, an dem die Aktivierungsphase nicht erfolgt, und wird weiterhin auf der alten Bank (Bank-A) gestartet (t9).
  • Nachdem der Benutzer den IG-Schalter in einem EIN-Zustand ausgeschaltet hat, so dass die Fahrzeugenergie von der IG-Energie auf die +B-Energie umschaltet (t10), sendet das CGW 13, wenn die Zwei-Bank-Speicher-ECU das Umschreiben des Anwendungsprogramms zu diesem Zeitpunkt abschließt, eine Energieversorgungsstartanfrage an die Energieversorgungsverwaltungs-ECU 20. Wenn die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, indem das CGW 13 die Energieversorgungsstartanfrage an die Energieversorgungsverwaltungs-ECU 20 sendet, nimmt das DCM 12 den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb wieder auf und nimmt das CGW 13 den Umprogrammierungs-Master-Betrieb wieder auf und beginnt mit der Verteilung der Schreibdaten an die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU. Wenn der Empfang der Schreibdaten vom CGW 13 initiiert wird, gehen die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU von dem normalen Betrieb in einen Boot-Prozess über und initiieren die Installationsphase im Boot-Prozess (t11). D.h., die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU führen die Installation nicht parallel zum normalen Betrieb aus und führen die Installation im Boot-Prozess aus, in dem das Anwendungsprogramm nicht betrieben wird.
  • Wenn das Umschreiben des Anwendungsprogramms initiiert wird, stoppt die Ein-Bank-Suspend-Speicher-ECU das Umschreiben des Anwendungsprogramms in einem Fall, in dem der IG-Schalter 42 aufgrund der Benutzerbedienung von einem AUS-Zustand in einen EIN-Zustand wechselt, bevor das Umschreiben des Anwendungsprogramms abgeschlossen ist. Die Ein-Bank-Suspend-Speicher-ECU kehrt zu einer aktiven Bank (Bank-A) als Start-Bank zurück, anstatt zu einer inaktiven Bank (Bank-B), in der das Umschreiben des Anwendungsprogramms gestoppt wird. Wenn das Umschreiben des Anwendungsprogramms initiiert wird, setzt die Ein-Bank-Speicher-ECU das Umschreiben des Anwendungsprogramms fort, auch wenn der IG-Schalter 42 aufgrund der Benutzerbedienung von einem AUS-Zustand in einen EIN-Zustand wechselt, bevor das Umschreiben des Anwendungsprogramms abgeschlossen ist. Dies liegt daran, dass die Ein-Bank-Speicher-ECU nicht zum normalen Betrieb zurückkehren kann, wenn das Umschreiben des Anwendungsprogramms auf halbem Weg gestoppt wird. Vorzugsweise wird, nachdem das Umschreiben des Anwendungsprogramms der Ein-Bank-Speicher-ECU initiiert wurde, die Benutzerbedienung am IG-Schalter 42 deaktiviert, bis das Umschreiben des Anwendungsprogramms abgeschlossen ist.
  • Wenn die Ein-Bank-Suspend-Speicher-ECU das Schreiben der Schreibdaten und das Umschreiben des Anwendungsprogramms abgeschlossen hat, beendet die Ein-Bank-Suspend-Speicher-ECU die Installationsphase im Boot-Prozess und geht vom Boot-Prozess in den Aktivierungs-Standby über. D.h., die Ein-Bank-Suspend-Speicher-ECU wird nicht auf der neuen Bank (Bank-B) gestartet, in der das Anwendungsprogramm zu dem Zeitpunkt umgeschrieben wird, an dem die Aktivierungsphase nicht erfolgt, und wird weiterhin auf der alten Bank (Bank-A) gestartet. Wenn die Ein-Bank-Speicher-ECU das Schreiben der Schreibdaten und das Umschreiben des Anwendungsprogramms abschließt, beendet die Ein-Bank-Speicher-ECU die Installationsphase im Boot-Prozess und wartet auf die Aktivierung (t12).
  • Wenn die Energieversorgungsverwaltungs-ECU 20 die Fahrzeugenergie im Ansprechen auf einen Aktivierungsbefehl vom CGW 13 von der IG-Energie auf die +B-Energie umschaltet, schaltet sowohl die Zwei-Bank-Speicher-ECU als auch die Ein-Bank-Suspend-Speicher-ECU von der alten Bank auf die neue Bank um, um auf der neuen Bank gestartet zu werden, und initiiert eine Nach-Programmierungs-Phase (im Folgenden auch als Aktivierungsphase bezeichnet) bei dem Neue-Bank-Start. Die Ein-Bank-Speicher-ECU initiiert einen Neustart und initiiert die Aktivierungsphase beim Neustart nach Abschluss der Installation (t13 und t14). Bei der Aktivierung wird z.B. geprüft, ob durch das neue Programm ein genauer Start erfolgt, oder dem CGW 13 wird Versionsinformation mitgeteilt.
  • Wenn die Aktivierung abgeschlossen ist und die Energieversorgungsverwaltungs-ECU 20 die Fahrzeugenergie im Ansprechen auf einen Aktivierungsabschlussbefehl vom CGW 13 von der IG-Energie auf die +B-Energie umschaltet, geht das DCM 12 vom Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb in einen Schlaf-/Stoppbetrieb über und initiiert den Schlaf-/Stoppbetrieb. Das CGW 13 geht vom Umprogrammierungs-Master-Betrieb in den Schlaf-/Stoppbetrieb über und initiiert den Schlaf-/Stoppbetrieb. Die Zwei-Bank-Speicher-ECU, die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU gehen jeweils vom Neue-Bank-Start in den Schlaf-/Stoppbetrieb über (t15).
  • Anschließend, wenn der Benutzer den IG-Schalter in einem AUS-Zustand einschaltet, so dass die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, startet sowohl die Zwei-Bank-Speicher-ECU als auch die Ein-Bank-Suspend-Speicher-ECU das neue Anwendungsprogramm mit der neuen Bank (Bank-B) als eine Start-Bank, und die Ein-Bank-Speicher-ECU startet das neue Anwendungsprogramm (t16).
  • Fall, in dem das Anwendungsprogramm mittels der Selbsterhaltungsenergie umgeschrieben wird
  • Nachstehend ist der Fall, dass ein Anwendungsprogramm mit Hilfe der Selbsterhaltungsenergie umgeschrieben wird, unter Bezugnahme auf die 64 und 65 beschrieben. Das Umschreiben des Anwendungsprogramms mit Hilfe der Selbsterhaltungsenergie zeigt eine Konfiguration, bei der ein Umschreibebetrieb unter Verwendung der Selbsterhaltungsenergieschaltung gesteuert wird. Wenn der Benutzer den IG-Schalter in einem AUS-Zustand einschaltet, so dass die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, initiieren das DCM 12, das CGW 13, die Zwei-Bank-Speicher-ECU, die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU jeweils einen normalen Betrieb (t21).
  • Wenn eine Benachrichtigung über die Initiierung des Herunterladens von der Zentralvorrichtung 3 gesendet wird, d.h. wenn eine Benachrichtigung, dass eine Aktualisierung aufgrund eines neuen Programms verfügbar ist, gesendet wird, geht das DCM 12 vom normalen Betrieb in einen Download-Betrieb über und initiiert das Herunterladen eines Verteilungspakets von der Zentralvorrichtung 3 (t22). Wenn das Herunterladen des Verteilungspakets von der Zentralvorrichtung 3 abgeschlossen ist, kehrt das DCM 12 vom Download-Betrieb in den normalen Betrieb zurück (t23).
  • Wenn eine Benachrichtigung über ein Umschreibebefehlssignal (Installationsbefehlssignal) von der Zentralvorrichtung 3 oder dem CGW 13 gesendet wird, geht das DCM 12 von dem normalen Betrieb in einen Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb über und initiiert den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb (t24). D.h., das DCM 12 extrahiert Schreibdaten aus dem Verteilungspaket, initiiert die Übertragung der Schreibdaten an das CGW 13, erfasst eine Umschreibefortschrittssituation vom CGW 13 und initiiert eine Benachrichtigung der Zentralvorrichtung 3 über die Umschreibefortschrittssituation.
  • Wenn die Erfassung der Schreibdaten vom DCM 12 initiiert wird, geht das CGW 13 von dem normalen Betrieb in einen Umprogrammierungs-Master-Betrieb über, initiiert den Umprogrammierungs-Master-Betrieb, initiiert eine Verteilung der Schreibdaten an die Zwei-Bank-Speicher-ECU und weist die Zwei-Bank-Speicher-ECU an, die Schreibdaten zu schreiben. Wenn die Zwei-Bank-Speicher-ECU beginnt, Schreibdaten vom CGW 13 zu empfangen, initiiert die Zwei-Bank-Speicher-ECU eine Programmierphase (im Folgenden auch als Installationsphase bezeichnet) in einem normalen Betrieb. D.h., die Zwei-Bank-Speicher-ECU führt die Installation des Anwendungsprogramms im Hintergrund aus, während sie den normalen Betrieb ausführt. Die Zwei-Bank-Speicher-ECU beginnt, die empfangenen Schreibdaten in den Flash-Speicher zu schreiben und initiiert das Umschreiben des Anwendungsprogramms.
  • Wenn der Benutzer den IG-Schalter in einem EIN-Zustand ausschaltet, so dass die Fahrzeugenergie während des Umschreibens des Anwendungsprogramms in der Zwei-Bank-Speicher-ECU von der IG-Energie auf die +B-Energie umschaltet (t25), setzt das DCM 12 den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb fort, setzt das CGW 13 den Umprogrammierungs-Master-Betrieb fort, und setzt die Zwei-Bank-Speicher-ECU die Installationsphase fort und das Umschreiben des Anwendungsprogramms fort, unmittelbar nachdem die Fahrzeugenergie von der IG-Energie auf die +B-Energie umgeschaltet wurde. Wenn eine Selbsterhaltungsdauer, die eine vorgegebene Dauer ist, verstreicht, nachdem die Fahrzeugenergie von der IG-Energie auf die +B-Energie umgeschaltet wurde, stoppt das DCM 12 den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb, stoppt das CGW 13 den Umprogrammierungs-Master-Betrieb und stoppt die Zwei-Bank-Speicher-ECU die Installationsphase und das Umschreiben des Anwendungsprogramms (t26). D.h., die Installation wird durch die Energieversorgung von der Fahrzeugbatterie 40 fortgesetzt, bis eine vorbestimmte Zeit nach dem Ausschalten des IG-Schalters 42 verstrichen ist.
  • Anschließend, wenn der Benutzer den IG-Schalter in einem AUS-Zustand einschaltet, so dass die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, nimmt das DCM 12 den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb wieder auf, nimmt das CGW 13 den Umprogrammierungs-Master-Betrieb wieder auf, und nimmt die Zwei-Bank-Speicher-ECU die Installationsphase und das Umschreiben des Anwendungsprogramms wieder auf (t27). D.h., der Benutzer schaltet den IG-Schalter in einem EIN-Zustand aus, so dass die Fahrzeugenergie von der IG-Energie auf +B-Energie umschaltet, woraufhin der Benutzer den IG-Schalter in einem AUS-Zustand einschaltet, so dass die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, und jedes Mal, wenn eine Fahrt erfolgt, wiederholt die Zwei-Bank-Speicher-ECU Stoppen und Wiederaufnahme des Umschreibens des Anwendungsprogramms (t28 bis t30). Jedoch setzt, bis die Selbsterhaltungsdauer nach dem Umschalten der Fahrzeugenergie von der IG-Energie auf die +B-Energie verstrichen ist, das DCM 12 den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb fort, das CGW 13 den Umprogrammierungs-Master-Betrieb fort, und die Zwei-Bank-Speicher-ECU die Installationsphase und das Umschreiben des Anwendungsprogramms fort.
  • Wenn die Zwei-Bank-Speicher-ECU das Schreiben der Schreibdaten und das Umschreiben des Anwendungsprogramms abgeschlossen hat, beendet die Zwei-Bank-Speicher-ECU die Installationsphase und geht von dem normalen Betrieb in den Aktivierungs-Standby über. D.h., die Zwei-Bank-Speicher-ECU wird nicht auf der neuen Bank (Bank-B) gestartet, in der das Anwendungsprogramm zu dem Zeitpunkt umgeschrieben wird, an dem die Aktivierungsphase nicht erfolgt, und wird weiterhin auf der alten Bank (Bank-A) gestartet (t31).
  • Wenn der Benutzer den IG-Schalter in einem EIN-Zustand ausschaltet, so dass die Fahrzeugenergie von der IG-Energie auf die +B-Energie umgeschaltet, und das Umschreiben des Anwendungsprogramms zu dieser Zeit in der Zwei-Bank-Speicher-ECU abgeschlossen ist, gehen sowohl die Ein-Bank-Suspend-Speicher-ECU als auch die Ein-Bank-Speicher-ECU von dem normalen Betrieb in einen Boot-Prozess über, initiieren jeweils den Boot-Prozess und initiieren jeweils die Installationsphase im Boot-Prozess (t32).
  • Wenn die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU das Schreiben der Schreibdaten und das Umschreiben des Anwendungsprogramms abgeschlossen haben, beenden die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU die Installationsphase im Boot-Prozess (t33). Wenn die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, indem das CGW 13 die Energieversorgungsstartanfrage an die Energieversorgungsverwaltungs-ECU 20 sendet, nimmt das DCM 12 den Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb wieder auf (t34).
  • Wenn die Ein-Bank-Suspend-Speicher-ECU das Schreiben der Schreibdaten und das Umschreiben des Anwendungsprogramms abgeschlossen hat, geht die Ein-Bank-Suspend-Speicher-ECU vom Boot-Prozess in den Aktivierungs-Standby über. D.h., die Ein-Bank-Suspend-Speicher-ECU wird nicht auf der neuen Bank (Bank-B) gestartet, in der das Anwendungsprogramm zu dem Zeitpunkt umgeschrieben wird, an dem die Aktivierungsphase nicht erfolgt, und wird weiterhin auf der alten Bank (Bank-A) gestartet. Wenn die Ein-Bank-Speicher-ECU das Schreiben der Schreibdaten und das Umschreiben des Anwendungsprogramms abgeschlossen hat, beendet die Ein-Bank-Speicher-ECU die Installationsphase im Boot-Prozess und wartet auf die Aktivierung (t35).
  • Wenn die Energieversorgungsverwaltungs-ECU 20 die Fahrzeugenergie im Ansprechen auf einen Aktivierungsbefehl vom CGW 13 von der IG-Energie auf die +B-Energie umschaltet, schaltet sowohl die Zwei-Bank-Speicher-ECU als auch die Ein-Bank-Suspend-Speicher-ECU von der alten Bank auf die neue Bank um, um auf der neuen Bank gestartet zu werden, und initiiert eine Aktivierungsphase bei dem Neue-Bank-Start. Die Ein-Bank-Speicher-ECU initiiert einen Neustart und initiiert die Aktivierungsphase beim Neustart nach Abschluss der Installation (t36 und t37).
  • Wenn die Aktivierung abgeschlossen ist und die Energieversorgungsverwaltungs-ECU 20 die Fahrzeugenergie im Ansprechen auf einen Aktivierungsabschlussbefehl vom CGW 13 von der IG-Energie auf die +B-Energie umschaltet, geht das DCM 12 vom Datenübertragungs-/Zentralvorrichtungskommunikationsbetrieb in einen Schlaf-/Stoppbetrieb über und initiiert den Schlaf-/Stoppbetrieb. Das CGW 13 geht vom Umprogrammierungs-Master-Betrieb in den Schlaf-/Stoppbetrieb über und initiiert den Schlaf-/Stoppbetrieb. Die Zwei-Bank-Speicher-ECU, die Ein-Bank-Suspend-Speicher-ECU und die Ein-Bank-Speicher-ECU gehen jeweils vom Neue-Bank-Start in den Schlaf-/Stoppbetrieb über (t38).
  • Anschließend, wenn der Benutzer den IG-Schalter in einem AUS-Zustand einschaltet, so dass die Fahrzeugenergie von der +B-Energie auf die IG-Energie umschaltet, startet sowohl die Zwei-Bank-Speicher-ECU als auch die Ein-Bank-Suspend-Speicher-ECU das neue Anwendungsprogramm mit der neuen Bank (Bank-B) als eine Start-Bank, und die Ein-Bank-Speicher-ECU startet das neue Anwendungsprogramm (t39).
  • Vor dem Herunterladen eines Verteilungspakets von der Zentralvorrichtung 3 und der Verteilung von Schreibdaten an die Umschreibeziel-ECU 19 führt das CGW 13 folgende Prüfung aus. Vor dem Herunterladen eines Verteilungspakets von der Zentralvorrichtung 3 prüft das CGW 13 eine Funkwellenumgebung, eine verbleibende Batterieladung der Fahrzeugbatterie 40 und eine Speicherkapazität des DCM 12 so, dass das Verteilungspaket normal heruntergeladen werden kann. Vor der Verteilung von Schreibdaten an die Umschreibeziel-ECU 19 führt das CGW 13 eine Erfassung eines Einbruchssensors, eine Erfassung eines Türschlosses, eine Erfassung eines Vorhangs und eine Erfassung von IG-AUS als eine Prüfung einer bemannten Umgebung aus, um eine Installationsumgebung nicht instabil zu machen, so dass Schreibdaten normal verteilt werden können, und prüft eine Version und das Auftreten einer Abnormität als eine Prüfung, ob oder nicht die Umschreibeziel-ECU 19 geschrieben werden kann. Das CGW 13 führt eine Fälschungsprüfung, eine Zugriffsauthentifizierung, eine Versionsprüfung und dergleichen als eine Prüfung von Schreibdaten aus, die an die Umschreibeziel-ECU 19 zu verteilen sind, bevor die Installation initiiert wird, führt eine Kommunikationsunterbrechungsprüfung, eine Fehlerauftrittsprüfung und dergleichen während der Installation aus und führt eine Versionsprüfung, eine Integritätsprüfung, eine Diagnosefehlercodeprüfung (DTC, Fehlercode) und dergleichen nach Abschluss der Installation aus.
  • Nachstehend ist ein auf dem Anzeige-Endgerät 5 angezeigter Bildschirm unter Bezugnahme auf die 66 bis 82 beschrieben. Wie in 66 gezeigt, gibt es in einer Konfiguration, in der ein Anwendungsprogramm der Umschreibeziel-ECU 19 via OTA umgeschrieben wird, Phasen von Kampagnenbenachrichtigung, Herunterladen, Installation und Aktivierung. Die Kampagnenbenachrichtigung ist eine Benachrichtigung über eine Programmaktualisierung. Die Kampagnenbenachrichtigung ist z.B., dass die Master-Vorrichtung 11 Verteilungsspezifikationsdaten oder dergleichen im Ansprechen auf eine Bestimmung, dass eine Aktualisierung eines Anwendungsprogramms in der Zentralvorrichtung 3 verfügbar ist, herunterlädt. Das Anzeige-Endgerät 5 zeigt einen Bildschirm in jeder Phase an, wenn das Umschreiben des Anwendungsprogramms fortschreitet. Hier ist ein auf der In-Vehicle-Anzeige 7 angezeigter Bildschirm beschrieben.
  • Wie in 67 gezeigt, zeigt das CGW 13 einen Navigationsbildschirm 501, wie z.B. einen bekannten Routenführungsbildschirm, der eine der Navigationsfunktionen darstellt, zu einer normalen Zeit vor einer Kampagnenbenachrichtigung auf der In-Vehicle-Anzeige 7 an. Wenn die Kampagnenbenachrichtigung in diesem Zustand auftritt, zeigt das CGW 13, wie in 32 gezeigt, ein Kampagnenbenachrichtigungssymbol 501a, das das Auftreten der Kampagnenbenachrichtigung anzeigt, unten rechts auf dem Navigationsbildschirm 501 an. Der Benutzer kann das Auftreten der Kampagnenbenachrichtigung über die Aktualisierung (Update) des Anwendungsprogramms erkennen, indem er die Anzeige des Kampagnenbenachrichtigungssymbols 501a überprüft.
  • Wenn der Benutzer in diesem Zustand das Kampagnenbenachrichtigungssymbol 501a betätigt bzw. bedient, zeigt das CGW 13, wie in 69 gezeigt, einen Kampagnenbenachrichtigungsbildschirm 502 als Pop-up auf dem Navigationsbildschirm 501 an. Das CGW 13 ist nicht darauf beschränkt, den Kampagnenbenachrichtigungsbildschirm 502 als Pop-up anzuzeigen, sondern kann auch andere Anzeigeaspekte verwenden. Auf dem Kampagnenbenachrichtigungsbildschirm 502 zeigt das CGW 13 z.B. eine Führung wie „Software-Aktualisierung verfügbar“ an, um den Benutzer über das Auftreten der Kampagnenbenachrichtigung zu informieren, und eine Schaltfläche „Prüfen“ 502a und eine Schaltfläche „Später“ 502b an, um auf die Benutzerbedienung zu warten. In diesem Fall kann der Anwender durch Bedienung der Schaltfläche „Prüfen“ 502a zum nächsten Bildschirm zum Initiieren eines Umschreibens des Anwendungsprogramms voranschreiten. Wenn der Benutzer die Schaltfläche „Später“ 502b bedient, löscht das CGW 13 die Pop-up-Anzeige des Kampagnenbenachrichtigungsbildschirms 502 und kehrt zu dem Bildschirm zurück, der das in 32 gezeigte Kampagnenbenachrichtigungssymbol 501a anzeigt.
  • Wenn der Benutzer in diesem Zustand die Schaltfläche „Prüfen“ 502a bedient, schaltet das CGW 13 die Anzeige, wie in 70 gezeigt, vom Navigationsbildschirm 501 zu einem Download-Genehmigungsbildschirm 503 um und zeigt den Download-Genehmigungsbildschirm 503 auf der In-Vehicle-Anzeige 7 an. Im Download-Genehmigungsbildschirm 503 teilt das CGW 13 dem Benutzer eine Kampagnen-ID oder den Namen der Aktualisierung mit, zeigt eine Schaltfläche „Download-Initiierung“ 503a, eine Schaltfläche „Detailprüfung“ 503b und eine Schaltfläche „Zurück“ 503c an und wartet auf die Benutzerbedienung. In diesem Fall kann der Benutzer das Herunterladen initiieren, indem er die Schaltfläche „Download-Initiierung“ 503a bedient, Details des Herunterladens anzeigen, indem er die Schaltfläche „Detailprüfung“ 503b bedient, und das Herunterladen ablehnen und zum vorherigen Bildschirm zurückkehren, indem er die Schaltfläche „Zurück“ 503c bedient. Wenn die Schaltfläche „Zurück“ 503c bedient wird, kann der Benutzer zu einem Bildschirm zum Initiieren des Herunterladens voranschreiten, indem er das Kampagnenbenachrichtigungssymbol 501a bedient.
  • Wenn der Benutzer die Schaltfläche „Detailprüfung“ 503b in einem Zustand bedient, in dem der Download-Genehmigungsbildschirm 503 angezeigt wird, führt das CGW 13, wie in 71 gezeigt, ein Umschalten der Anzeigeinhalte des Download-Genehmigungsbildschirms 503 aus und zeigt die Details des Herunterladens auf der In-Vehicle-Anzeige 7 an. Das CGW 13 zeigt einen Inhalt der Aktualisierung, die für die Aktualisierung benötigte Zeit, Einschränkungen der Fahrzeugfunktionen aufgrund der Aktualisierung und dergleichen an, indem es die empfangenen Verteilungsspezifikationsdaten als die Details des Herunterladens verwendet. Wenn der Benutzer die Schaltfläche „Download-Initiierung“ 503a bedient, initiiert das CGW 13 das Herunterladen eines Verteilungspakets über das DCM 12. Parallel zur Initiierung des Herunterladens des Verteilungspakets schaltet das CGW 13 die Anzeige, wie in 72 gezeigt, vom Download-Genehmigungsbildschirm 503 zum Navigationsbildschirm 501 um, zeigt den Navigationsbildschirm 501 wieder auf der In-Vehicle-Anzeige 7 an und zeigt ein Laufender-Download-Symbol 501b für das laufende Herunterladen unten rechts auf dem Navigationsbildschirm 501 an. Der Benutzer kann erkennen, dass das Herunterladen des Verteilungspakets voranschreitet, indem er die Anzeige des Laufender-Download-Symbols 501b überprüft.
  • Wenn der Benutzer in diesem Zustand das Laufender-Download-Symbol 501b bedient, schaltet das CGW 13 die Anzeige, wie in 73 gezeigt, vom Navigationsbildschirm 501 zu einem Laufender-Download-Bildschirm 504 um und zeigt den Laufender-Download-Bildschirm 504 auf der In-Vehicle-Anzeige 7 an. Das CGW 13 meldet dem Benutzer, dass das Herunterladen läuft, zeigt eine Schaltfläche „Detailprüfung“ 504a, eine Schaltfläche „Zurück“ 504b und eine Schaltfläche „Abbrechen“ 504c auf dem Laufender-Download-Bildschirm 504 an und wartet auf die Benutzerbedienung. In diesem Fall kann sich der Benutzer während des Herunterladens Details anzeigen lassen, indem er die Schaltfläche „Detailprüfung“ 504a bedient, und das Herunterladen stoppen, indem er die Schaltfläche „Abbrechen“ 504c bedient.
  • Wenn das Herunterladen abgeschlossen ist, zeigt das CGW 13, wie in 74 gezeigt, einen Download-Abschlussbenachrichtigungsbildschirm 505 als Pop-up auf dem Navigationsbildschirm 501 an. Auf dem Download-Abschlussbenachrichtigungsbildschirm 505 zeigt das CGW 13 beispielsweise eine Führung wie „heruntergeladene Software ist aktualisierbar“, um den Benutzer über den Abschluss des Herunterladens zu informieren, eine Schaltfläche „Prüfen“ 505a und eine Schaltfläche „Später“ 505b an und wartet auf die Benutzerbedienung. In diesem Fall kann der Benutzer zu einem Bildschirm zum Initiieren der Installation voranschreiten, indem er die Schaltfläche „Prüfen“ 505a bedient.
  • Wenn der Benutzer in diesem Zustand die Schaltfläche „Prüfen“ 505a bedient, schaltet das CGW 13 die Anzeige, wie in 75 gezeigt, vom Navigationsbildschirm 501 zu einem Installationsgenehmigungsbildschirm 506 um und zeigt den Installationsgenehmigungsbildschirm 506 auf der In-Vehicle-Anzeige 7 an. Auf dem Installationsgenehmigungsbildschirm 506 informiert das CGW 13 den Benutzer über die für die Installation benötigte Zeit oder Einschränkungen und die Einstellung von Zeitplänen, zeigt eine Schaltfläche „Sofortige Aktualisierung“ 506a, eine Schaltfläche „Aktualisierungsreservierung“ 506b und eine Schaltfläche „Zurück“ 506c an und wartet auf die Benutzerbedienung. In diesem Fall kann der Anwender die Installation sofort initiieren, indem er die Schaltfläche „Sofortige Aktualisierung“ 506a bedient. Der Benutzer kann die Installation ebenso reservieren und initiieren, indem er die Zeit einstellt, zu der die Installation auszuführen ist, und die Schaltfläche „Aktualisierungsreservierung“ 506b bedient. Der Benutzer kann die Installation ablehnen und zum vorherigen Bildschirm zurückkehren, indem er die Schaltfläche „Zurück“ 506c bedient. In einem Fall, in dem die Schaltfläche „Zurück“ 506c bedient wird, kann der Benutzer zu einem Bildschirm zum Initiieren der Installation voranschreiten, indem er das Laufender-Download-Symbol 501b bedient.
  • Wenn der Benutzer in diesem Zustand die Schaltfläche „Sofortige Aktualisierung“ 506a bedient, führt das CGW 13, wie in 76 gezeigt, ein Umschalten der Anzeigeinhalte des Installationsgenehmigungsbildschirms 506 aus und zeigt Details der Installation auf der In-Vehicle-Anzeige 7 an. Das CGW 13 empfängt eine Installationsanfrage auf dem Installationsgenehmigungsbildschirm 506 und teilt dem Benutzer mit, dass die Installation zu initiieren ist.
  • Wenn die Installation initiiert wird, schaltet das CGW 13 die Anzeige, wie in 77 gezeigt, vom Installationsgenehmigungsbildschirm 506 zu dem Navigationsbildschirm 501 um, zeigt den Navigationsbildschirm 501 wieder auf der In-Vehicle-Anzeige 7 an und zeigt ein Laufende-Installation-Symbol 501c für die laufende Installation unten rechts auf dem Navigationsbildschirm 501 an. Der Benutzer kann erkennen, dass die Installation läuft, indem er die Anzeige des Laufende-Installation-Symbols 501c prüft.
  • Wenn der Benutzer in diesem Zustand das Laufende-Installation-Symbol 501c bedient, schaltet das CGW 13 die Anzeige, wie in 78 gezeigt, vom Navigationsbildschirm 501 zu einem Laufende-Installation-Bildschirm 507 um und zeigt den Laufende-Installation-Bildschirm 507 auf der In-Vehicle-Anzeige 7 an. Das CGW 13 meldet dem Benutzer auf dem Laufende-Installation-Bildschirm 507, dass die Installation in Arbeit ist. Das CGW 13 kann z.B. bewirken, dass der Laufende-Installation-Bildschirm 507 die verbleibende Zeit oder den prozentualen Fortschritt der Installation anzeigt.
  • Wenn die Installation abgeschlossen ist, schaltet das CGW 13 die Anzeige, wie in 79 gezeigt, vom Navigationsbildschirm 501 zu einem Aktivierungsgenehmigungsbildschirm 508 um und zeigt den Aktivierungsgenehmigungsbildschirm 508 auf der In-Vehicle-Anzeige 7 an. Auf dem Aktivierungsgenehmigungsbildschirm 508 informiert das CGW 13 den Benutzer über den Inhalt der Aktivierung und zeigt eine Schaltfläche „Zurück“ 508a und eine Schaltfläche „OK“ 508b an, um auf die Benutzerbedienung zu warten. In diesem Fall kann der Benutzer die Aktivierung ablehnen und zum vorherigen Bildschirm zurückkehren, indem er die Schaltfläche „Zurück“ 508a bedient. Der Benutzer kann die Aktivierung genehmigen, indem er die Schaltfläche „OK“ 508b bedient. In einem Fall, in dem die Schaltfläche „Zurück“ 508a bedient wird, kann der Benutzer zu einem Bildschirm zum Ausführen der Aktivierung voranschreiten, indem er das Laufende-Installation-Symbol 501c bedient. Eine solche Anzeige oder Genehmigung kann ausgelassen und nicht durch die Benutzereinstellungen oder Szenen des Programms angezeigt werden.
  • Wenn der Benutzer die IG-Energie in dem Zustand einschaltet, nachdem der Benutzer die Schaltfläche „OK“ 508b bedient hat, zeigt das CGW 13, wie in 80 gezeigt, einen Aktivierungsabschlussbenachrichtigungsbildschirm 509 als Pop-up auf dem Navigationsbildschirm 501 an. Auf dem Aktivierungsabschlussbenachrichtigungsbildschirm 509 zeigt das CGW 13 z.B. eine Führung wie „Software-Aktualisierung abgeschlossen“, um den Benutzer über den Abschluss der Aktivierung zu informieren, und eine Schaltfläche „OK“ 509a und eine Schaltfläche „Detailprüfung“ 509b an und wartet auf die Benutzerbedienung. In diesem Fall kann der Benutzer die Pop-up-Anzeige auf dem Aktivierungsabschlussbenachrichtigungsbildschirm 509 löschen, indem er die Schaltfläche „OK“ 509a bedient, und Details über den Abschluss der Aktivierung anzeigen, indem er die Schaltfläche „Detailprüfung“ 509b bedient.
  • Wenn der Benutzer in diesem Zustand die Schaltfläche „OK“ 509a bedient, schaltet das CGW 13 die Anzeige, wie in 81 gezeigt, vom Navigationsbildschirm 501 zu einem Prüfbedienungsbildschirm 510 um und zeigt den Prüfbedienungsbildschirm 510 auf der In-Vehicle-Anzeige 7 an. Auf dem Prüfbedienungsbildschirm 510 informiert das CGW 13 den Benutzer über den Abschluss der Aktivierung, zeigt eine Schaltfläche „Detailprüfung“ 510a und eine Schaltfläche „OK“ 510b an und wartet auf die Benutzerbedienung. In diesem Fall kann sich der Anwender Details zum Abschluss der Aktivierung anzeigen lassen, indem er die Schaltfläche „Detailprüfung“ 510a bedient.
  • Wenn der Benutzer in diesem Zustand die Schaltfläche „Detailprüfung“ 510a bedient, führt das CGW 13, wie in 82 gezeigt, ein Umschalten der Anzeigeinhalte des Prüfbedienungsbildschirms 510 aus und zeigt Details über den Abschluss der Aktivierung auf der In-Vehicle-Anzeige 7 an. Das CGW 13 zeigt eine durch die Aktualisierung hinzugefügte oder geänderte Funktion als Aktualisierungsdetails an und zeigt die Schaltfläche „OK“ 510b an. Wenn der Benutzer die Schaltflächen „OK“ 509a und 510b bedient, bestimmt das CGW 13, dass der Benutzer den Software-Aktualisierungsabschluss bestätigt hat.
  • Wie oben beschrieben, steuert das fahrzeugseitige System 4 die jeweiligen Betriebsphasen, wie beispielsweise die Kampagnenbenachrichtigung, das Herunterladen, die Installation, die Aktivierung und den Aktualisierungsabschluss und präsentiert dem Benutzer eine jeder Betriebsphase entsprechende Anzeige. In der obigen Beschreibung ist das CGW 13 konfiguriert, um die Anzeige zu steuern, aber die In-Vehicle-Anzeige 7 konfiguriert sein, um eine Betriebsphase oder Verteilungsspezifikationsdaten vom CGW 13 zu empfangen und die Anzeige auszuführen.
  • Nachstehend sind vom Fahrzeugprogrammumschreibesystem 1 ausgeführte charakteristische Prozesse unter Bezugnahme auf die 83 bis 269 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt die folgenden charakteristischen Prozesse aus.
    1. (1) Verteilungspaket-Sendebestimmungsprozess
    2. (2) Verteilungspaket-Download-Bestimmungsprozess
    3. (3) Schreibdaten-Übertragungsbestimmungsprozess
    4. (4) Schreibdaten-Erfassungsbestimmungsprozess
    5. (5) Installationsbefehlsbestimmungsprozess
    6. (6) Sicherheitszugriffsschlüssel-Verwaltungsprozess
    7. (7) Schreibdatenverifizierungsprozess
    8. (8) Datenspeicherbank-Informationssendesteuerprozess
    9. (9) Nicht-Umschreibeziel-Energieversorgungsverwaltungsprozess
    10. (10) Dateiübertragungssteuerprozess
    11. (11) Schreibdaten-Verteilungssteuerprozess
    12. (12) Aktivierungsanfragebefehlsprozess
    13. (13) Aktivierungsausführungssteuerprozess
    14. (14) Umschreibeziel-Gruppierungsverwaltungsprozess
    15. (15) Rollback-Ausführungssteuerprozess
    16. (16) Umschreibefortschrittssituations-Anzeigesteuerprozess
    17. (17) Differenzdatenkonsistenz-Bestimmungsprozess
    18. (18) Umschreibeausführungssteuerprozess
    19. (19) Sitzungsaufbauprozess
    20. (20) Wiederholungspunktspezifizierungsprozess
    21. (21) Fortschrittszustandssynchronisierungs-Steuerprozess
    22. (22) Anzeigesteuerinformations-Sendesteuerprozess
    23. (23) Anzeigesteuerinformations-Empfangssteuerprozess
    24. (24) Bildschirmanzeigesteuerprozess für Fortschrittsanzeige
    25. (25) Programmaktualisierungsbenachrichtigungs-Steuerprozess
    26. (26) Selbsterhaltungsenergie-Ausführungssteuerprozess
  • Die Zentralvorrichtung 3, das DCM 12, das CGW 13, die ECU 19 und die In-Vehicle-Anzeige 7 weisen jeweils die folgenden Funktionsblöcke als Konfigurationen zum Ausführen der obigen charakteristischen Prozesse (1) bis (26) auf.
  • Wie in 83 gezeigt, weist die Zentralvorrichtung 3 eine Verteilungspaketsendeeinheit 51 auf. Wenn eine Download-Anfrage für ein Verteilungspaket vom DCM 12 empfangen wird, sendet die Verteilungspaketsendeeinheit 51 das Verteilungspaket an das DCM 12. Zusätzlich zu der oben beschriebenen Konfiguration enthält die Zentralvorrichtung 3 eine Verteilungspaket-Sendebestimmungseinheit 52, eine Fortschrittszustandssynchronisierungs-Steuereinheit 53, eine Anzeigesteuerinformations-Sendesteuereinheit 54 und eine Schreibdaten-Auswahleinheit 55 (entsprechend einer Aktualisierungsdaten-Auswahleinheit) als eine Konfiguration zum Ausführen der charakteristischen Prozesse. Wenn Datenspeicherbankinformation von der Master-Vorrichtung 11 empfangen wird, wählt die Schreibdaten-Auswahleinheit 55 (entsprechend einer Aktualisierungsdaten-Auswahleinheit) Schreibdaten übereinstimmend mit einer inaktiven Bank auf der Grundlage einer Software-Version und einer aktiven Bank, spezifiziert durch die empfangene Datenspeicherbankinformation, aus. D.h., die Verteilungspaketsendeeinheit 51 sendet das Verteilungspaket mit den von der Schreibdaten-Auswahleinheit 55 ausgewählten Schreibdaten an das DCM 12. Die die charakteristischen Prozesse ausführenden Funktionsblöcke sind nachstehend noch beschrieben.
  • Wie in 84 gezeigt, enthält das DCM 12 eine Download-Anfrage-Sendeeinheit 61, eine Verteilungspaket-Download-Einheit 62, eine Schreibdaten-Extraktionseinheit 63, eine Schreibdaten-Übertragungseinheit 64, eine Umschreibespezifikationsdaten-Extraktionseinheit 65 und eine Umschreibespezifikationsdaten-Übertragungseinheit 66. Die Download-Anfrage-Sendeeinheit 61 sendet eine Download-Anfrage für ein Verteilungspaket an die Zentralvorrichtung 3. Die Verteilungspaket-Download-Einheit 62 lädt das Verteilungspaket von der Zentralvorrichtung 3 herunter. Wenn das Verteilungspaket von der Zentralvorrichtung 3 durch die Verteilungspaket-Download-Einheit 62 heruntergeladen wird, extrahiert die Schreibdaten-Extraktionseinheit 63 Schreibdaten aus dem heruntergeladenen Verteilungspaket.
  • Wenn die Schreibdaten von der Schreibdaten-Extraktionseinheit 63 aus dem Verteilungspaket extrahiert werden, überträgt die Schreibdaten-Übertragungseinheit 64 die extrahierten Schreibdaten an das CGW 13. Wenn das Verteilungspaket durch die Verteilungspaket-Download-Einheit 62 von der Zentralvorrichtung 3 heruntergeladen wird, extrahiert die Umschreibespezifikationsdaten-Extraktionseinheit 65 Umschreibespezifikationsdaten aus dem heruntergeladenen Verteilungspaket. Wenn die Umschreibespezifikationsdaten durch die Umschreibespezifikationsdaten-Extraktionseinheit 56 aus dem Verteilungspaket extrahiert werden, überträgt die Umschreibespezifikationsdaten-Übertragungseinheit 66 die extrahierten Umschreibespezifikationsdaten 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 Ausführen der charakteristischen Prozesse. Die die charakteristischen Prozesse ausführenden Funktionsblöcke sind nachstehend noch beschrieben.
  • Wie in den 85 und 86 gezeigt, enthält das CGW 13 eine Erfassungsanfrage-Sendeeinheit 71, eine Schreibdatenerfassungseinheit 72 (entsprechend einer Aktualisierungsdatenspeichereinheit), eine Schreibdatenverteilungseinheit 73 (entsprechend einer Aktualisierungsdatenverteilungseinheit), eine Umschreibespezifikationsdaten-Erfassungseinheit 74 und eine Umschreibespezifikationsdaten-Analyseeinheit 75. Die Schreibdatenerfassungseinheit 72 erfasst Schreibdaten vom DCM 12 aufgrund einer Übertragung der Schreibdaten vom DCM 12. In einem Fall, in dem die Schreibdaten von der Schreibdatenerfassungseinheit 72 erfasst werden, verteilt die Schreibdatenverteilungseinheit 73 die erfassten Schreibdaten an die Umschreibeziel-ECU 19, wenn das Verteilungs-Timing der Schreibdaten erreicht ist. Die Umschreibespezifikationsdaten-Erfassungseinheit 74 erfasst die Umschreibespezifikationsdaten vom DCM 12 aufgrund einer Übertragung der Umschreibespezifikationsdaten vom DCM 12. Wenn die Umschreibespezifikationsdaten von der Umschreibespezifikationsdaten-Erfassungseinheit 74 erfasst werden, analysiert die Umschreibespezifikationsdaten-Analyseeinheit 75 die erfassten Umschreibespezifikationsdaten.
  • Zusätzlich zu der oben beschriebenen Konfiguration enthält das CGW 13, als eine Konfiguration zum Ausführen der charakteristischen Prozesse, eine Schreibdaten-Erfassungsbestimmungseinheit 76, eine Installationsbefehlsbestimmungseinheit 77, eine Sicherheitszugriffsschlüssel-Verwaltungseinheit 78, eine Schreibdatenverifizierungseinheit 79, eine Datenspeicherbank-Informationssendesteuereinheit 80, eine Nicht-Umschreibeziel-Energieversorgungsverwaltungseinheit 81, eine Dateiübertragungssteuereinheit 82, eine Schreibdaten-Verteilungssteuereinheit 83, eine Aktivierungsanfragebefehlseinheit 84, eine Umschreibeziel-Gruppierungsverwaltungseinheit 85, eine Rollback-Ausführungssteuereinheit 86, eine Umschreibefortschrittssituations-Anzeigesteuereinheit 87, eine Fortschrittszustandssynchronisierungs-Steuereinheit 88, eine Anzeigesteuerinformations-Empfangssteuereinheit 89, eine Fortschrittsanzeige-Bildschirmanzeigesteuereinheit 90, eine Programmaktualisierungsbenachrichtigungs-Steuereinheit 91 und eine Selbsterhaltungsenergie-Ausführungssteuereinheit 92. Die die charakteristischen Prozesse ausführenden Funktionsblöcke sind nachstehend noch beschrieben.
  • Wie in 87 gezeigt, weist die ECU 19 eine Schreibdatenempfangseinheit 101 und eine Programmumschreibeeinheit 102. Die Schreibdatenempfangseinheit 101 empfängt Schreibdaten vom CGW 13. Wenn die Schreibdaten vom CGW 13 durch die Schreibdatenempfangseinheit 101 empfangen werden, schreibt die Programmumschreibeeinheit 102 die empfangenen Schreibdaten in einen Flash-Speicher und schreibt so ein Anwendungsprogramm um. Zusätzlich zu der oben beschriebenen Konfiguration enthält die ECU 19 eine Differenzdatenkonsistenz-Bestimmungseinheit 103, eine Umschreibeausführungssteuereinheit 104, eine Sitzungsaufbaueinheit 105, eine Wiederholungspunktspezifizierungseinheit 106, eine Aktivierungsausführungssteuereinheit 107 und eine Selbsterhaltungsenergie-Ausführungssteuereinheit 108 als eine Konfiguration zum Ausführen der charakteristischen Prozesse. Die die charakteristischen Prozesse ausführenden Funktionsblöcke sind nachstehend noch beschrieben.
  • Wie in 88 gezeigt, weist die In-Vehicle-Anzeige 7 eine Verteilungsspezifikationsdaten-Empfangssteuereinheit 111 auf. Die Verteilungsspezifikationsdaten-Empfangssteuereinheit 111 steuert den Empfang von Verteilungsspezifikationsdaten.
  • Nachstehend ist jeder der obigen Prozesse (1) bis (26) der Reihe nach beschrieben.
  • Verteilungspaket-Sendebestimmungsprozess und (2) Verteilungspaket-Download-Bestim m ungsprozess
  • Nachstehend sind der Verteilungspaket-Sendebestimmungsprozess in der Zentralvorrichtung 3 unter Bezugnahme auf die 89 und 90 und der Verteilungspaket-Download-Bestimmungsprozess in der Master-Vorrichtung 11 unter Bezugnahme auf die 91 und 92 beschrieben.
  • Wie in 89 gezeigt, enthält die Zentralvorrichtung 3 eine Software-Informationserfassungseinheit 52a, eine Aktualisierungsverfügbarkeitsbestimmungseinheit 52b, eine Aktualisierungsangemessenheitsbestimmungseinheit 52c und eine Kampagneninformationssendeeinheit 52d in der Verteilungspaket-Sendebestimmungseinheit 52. Die Software-Informationserfassungseinheit 52a erfasst Software-Information von jeder ECU 19 von der Fahrzeugseite. Insbesondere erfasst die Software-Informationserfassungseinheit 52a ECU-Konfigurationsinformation einschließlich Software-Information wie eine Version und eine Schreib-Bank sowie Hardware-Information von der Fahrzeugseite. Die Software-Informationserfassungseinheit 52a kann Fahrzeugzustandsinformation wie z.B. einen Fehlercode, eine Einstellung einer Anti-Diebstahl-Alarmfunktion und Lizenzvertragsinformation von der Fahrzeugseite in Kombination mit den ECU-Konfigurationsinformation erfassen.
  • Wenn die Software-Information durch die Software-Informationserfassungseinheit 52a erfasst wird, bestimmt die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b auf der Grundlage der erfassten Software-Information, ob oder nicht Aktualisierungsdaten für das Fahrzeug verfügbar sind. D.h., die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b vergleicht eine Version der erfassten Software-Information mit einer Version der neuesten Software-Information, die dadurch zu verwalten ist, um zu bestimmen, ob die beiden Versionen übereinstimmen, und bestimmt so die Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug. Die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b bestimmt, dass keine Aktualisierungsdaten für das Fahrzeug verfügbar sind, wenn bestimmt wird, dass die beiden Versionen übereinstimmen, und bestimmt, dass Aktualisierungsdaten für das Fahrzeug verfügbar sind, wenn bestimmt wird, dass die beiden Versionen nicht übereinstimmen.
  • Wenn von der Aktualisierungsverfügbarkeitsbestimmungseinheit 52b bestimmt wird, dass Aktualisierungsdaten für das Fahrzeug verfügbar sind, bestimmt die Aktualisierungsangemessenheitsbestimmungseinheit 52c, ob oder nicht ein Fahrzeugzustand ein Zustand ist, der zum Aktualisieren eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Insbesondere bestimmt die Aktualisierungsangemessenheitsbestimmungseinheit 52c, ob oder nicht ein Lizenzvertrag erstellt wird, ob oder nicht eine Fahrzeugposition innerhalb eines vorbestimmten Bereichs liegt, der im Voraus durch den Benutzer registriert wird, ob oder nicht eine Einstellung einer Alarmfunktion des Fahrzeugs validiert wird, ob oder nicht Störungsinformation in Bezug auf die ECU 19 erzeugt wird, und bestimmt, ob oder nicht ein Fahrzeugzustand ein Zustand ist, der zum Herunterladen eines Verteilungspakets geeignet ist. D.h., die Aktualisierungsangemessenheitsbestimmungseinheit 52c bestimmt, ob oder nicht das Fahrzeug ein Fahrzeug ist, in dem ein Programm gegebenenfalls gegen die Absicht des Benutzers aktualisiert wird, oder ein Fahrzeug, in dem die Installation nach dem Herunterladen fehlschlagen kann, selbst wenn das Herunterladen erfolgreich ist.
  • Wenn bestimmt wird, dass der Lizenzvertrag erstellt wird, die Fahrzeugposition innerhalb eines vorbestimmten Bereichs liegt, der im Voraus durch den Benutzer registriert wird, die Einstellung der Alarmfunktion des Fahrzeugs validiert wird und die Störungsinformation in Bezug auf die ECU 19 nicht erzeugt wird, bestimmt die Aktualisierungsangemessenheitsbestimmungseinheit 52c, dass der Fahrzeugzustand ein Zustand ist, der zum Aktualisieren eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Die Aktualisierungsangemessenheitsbestimmungseinheit 52c bestimmt, dass der Fahrzeugzustand kein Zustand ist, der zum Aktualisieren eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist, wenn bestimmt wird, dass mindestens eines der folgenden Dinge zutrifft: der Lizenzvertrag wird nicht erstellt, die Fahrzeugposition liegt nicht innerhalb eines vorbestimmten Bereichs, der im Voraus durch den Benutzer registriert wird, die Einstellung der Alarmfunktion des Fahrzeugs wird nicht validiert, und die Störungsinformation in Bezug auf die ECU 19 wird erzeugt.
  • Die Kampagneninformationssendeeinheit 52d sendet Kampagneninformation an die Master-Vorrichtung 11, wenn die Aktualisierungsangemessenheitsbestimmungseinheit 52c bestimmt, dass der Fahrzeugzustand ein Zustand ist, der zum Aktualisieren eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Die Kampagneninformationssendeeinheit 52d sendet die Kampagneninformation nicht an die Master-Vorrichtung 11, wenn von der Aktualisierungsangemessenheitsbestimmungseinheit 52c bestimmt wird, dass der Fahrzeugzustand kein Zustand ist, der zum Aktualisieren eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Die Kampagneninformationssendeeinheit 52d führt die oben beschriebene Bestimmung aus und speichert somit Information über ein Fahrzeug, in dem die Kampagneninformation nicht an die Master-Vorrichtung 11 gesendet wird. Die Zentralvorrichtung 3 kann die Information über ein Fahrzeug, in dem die Kampagneninformation nicht an die Master-Vorrichtung 11 gesendet wird, anzeigen.
  • Nachstehend ist ein Betrieb der Verteilungspaket-Sendebestimmungseinheit 52 in der Zentralvorrichtung 3 unter Bezugnahme auf 90 beschrieben. Die Zentralvorrichtung 3 führt ein Verteilungspaket-Sendebestimmungsprogramm und einen Verteilungspaket-Sendebestimmungsprozess aus.
  • Wenn der Verteilungspaket-Sendebestimmungsprozess initiiert wird, erfasst die Zentralvorrichtung 3 Software-Information von der Fahrzeugseite (S101; entsprechend einer Software-Informationserfassungsprozedur). D.h., die Zentralvorrichtung 3 bestimmt, ob oder nicht eine Software-Aktualisierung bzw. -Update für das Fahrzeug verfügbar ist. Die Zentralvorrichtung 3 bestimmt die Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug auf der Grundlage der erfassten Software-Information (S102; entsprechend einer Aktualisierungsverfügbarkeitsbestimmungsprozedur). Wenn bestimmt wird, dass Aktualisierungsdaten für das Fahrzeug verfügbar sind (S102: JA), bestimmt die Zentralvorrichtung 3, ob der Fahrzeugzustand ein Zustand ist, der zum Aktualisieren des Programms oder dergleichen unter Verwendung des Verteilungspakets geeignet ist (S103; entsprechend einer Aktualisierungsangemessenheitsbestimmungsprozedur). Wenn bestimmt wird, dass der Fahrzeugzustand ein Zustand ist, der zum Aktualisieren eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist (S103: JA), sendet die Zentralvorrichtung 3 Kampagneninformation an die Master-Vorrichtung 11 (S104; entsprechend einer Kampagneninformationssendeprozedur) und beendet den Verteilungspaket-Sendebestimmungsprozess.
  • Wenn bestimmt wird, dass keine Aktualisierungsdaten für das Fahrzeug verfügbar sind (S102: NEIN), sendet die Zentralvorrichtung 3 Information an die Master-Vorrichtung 11, die anzeigt, dass das Fahrzeug kein Verteilungspaket-Sendeziel ist, d.h., eine Aktualisierung eines Anwendungsprogramms nicht verfügbar ist (S105), und beendet den Sendebestimmungsprozess des Verteilungspakets. Wenn bestimmt wird, dass der Fahrzeugzustand kein Zustand ist, der zum Aktualisieren eines Programms oder dergleichen unter Verwendung des Verteilungspakets geeignet ist (S103: NEIN), sendet die Zentralvorrichtung 3 Information an die Master-Vorrichtung 11, die anzeigt, dass der Fahrzeugzustand nicht zum Aktualisieren eines Programms oder dergleichen geeignet ist, und den Grund dafür (S106), und beendet den Verteilungspaket-Sendebestimmungsprozess. In diesem Fall zeigt die Master-Vorrichtung 11 die Information auf der In-Vehicle-Anzeige 7, die anzeigt, dass der Fahrzeugzustand nicht zum Aktualisieren eines Programms oder dergleichen geeignet ist, und den Grund dafür. Wenn z.B. kein Lizenzvertrag zustande kommt, zeigt die Master-Vorrichtung 11 „Das Programm kann nicht aktualisiert werden, da die Lizenz nicht gültig ist; bitte wenden Sie sich an Ihren Händler“ auf der In-Vehicle-Anzeige 7 an. Somit ist es möglich, dem Benutzer den Grund zu präsentieren, warum der Fahrzeugzustand nicht zum Aktualisieren eines Programms oder dergleichen geeignet ist, so dass dem Benutzer geeignete Information präsentiert werden kann.
  • Wie oben beschrieben, kann die Zentralvorrichtung 3 bestimmen, ob oder nicht ein Zustand zum Aktualisieren eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist, indem sie den Verteilungspaket-Sendebestimmungsprozess vor dem Senden des Verteilungspakets an die Master-Vorrichtung 11 und vor dem Senden von Kampagneninformation ausführt. Die Zentralvorrichtung 3 kann Kampagneninformation an die Master-Vorrichtung 11 senden, um ein Verteilungspaket nur dann an die Master-Vorrichtung 11 zu senden, wenn bestimmt wird, dass ein Zustand zum Aktualisieren eines Programms oder dergleichen unter Verwendung des Verteilungspakets geeignet ist.
  • Die Zentralvorrichtung 3 kann die Kampagneninformation in einem Fall an die Master-Vorrichtung 11 senden, in dem ein Lizenzvertrag zustande kommt, eine Fahrzeugposition innerhalb eines vorbestimmten Bereichs liegt, der im Voraus vom Benutzer registriert wird, eine Einstellung einer Alarmfunktion des Fahrzeugs validiert wird und Störungsinformation über die ECU 19 nicht erzeugt wird, gleich einem Fall, in dem ein Zustand zum Aktualisieren eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. D.h., die Zentralvorrichtung 3 kann eine Situation verhindern, in der die Kampagneninformation in einem Fall an die Master-Vorrichtung 11 gesendet wird, in dem der Lizenzvertrag nicht zustande kommt, die Fahrzeugposition außerhalb eines vorbestimmten Bereichs liegt, wie z.B. eine Position weit weg von dem Wohnsitz, die Einstellung der Alarmfunktion des Fahrzeugs ungültig ist oder die Störungsinformation in Bezug auf die ECU 19 erzeugt wird. Wie oben beschrieben, kann die Zentralvorrichtung 3 verhindern, dass die Kampagneninformation an die Master-Vorrichtung 11 für ein Fahrzeug gesendet wird, in dem ein Programm möglicherweise gegen die Absicht des Benutzers aktualisiert wird oder eine Installation nach dem Herunterladen fehlschlagen kann, auch wenn das Herunterladen erfolgreich ist.
  • Die Zentralvorrichtung 3 kann den Verteilungspaket-Sendebestimmungsprozess während des Sendens eines Verteilungspakets ausführen. In diesem Fall, wenn während des Sendens des Verteilungspakets bestimmt wird, dass ein Fahrzeugzustand zum Aktualisieren eines Programms unter Verwendung des Verteilungspakets geeignet ist, setzt die Zentralvorrichtung 3 das Senden des Verteilungspakets fort, aber wenn während des Sendens des Verteilungspakets bestimmt wird, dass der Fahrzeugzustand nicht zum Aktualisieren eines Programms unter Verwendung des Verteilungspakets geeignet ist, stoppt die Zentralvorrichtung das Senden des Verteilungspakets. D.h., die Zentralvorrichtung 3 stoppt das Senden des Verteilungspakets, wenn z.B. Störungsinformation in Bezug auf die ECU 19 während des Sendens des Verteilungspakets auftritt.
  • Nachstehend ist ein Prozess beschrieben, der in der Master-Vorrichtung 11 erfolgt, die die von der Zentralvorrichtung 3 gesendete Kampagneninformation empfangen hat. Der Verteilungspaket-Download-Bestimmungsprozess in der Master-Vorrichtung 11 ist unter Bezugnahme auf die 91 und 92 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Verteilungspaket-Download-Bestimmungsprozess in der Master-Vorrichtung 11 aus. Der oben beschriebene (1) Verteilungspaket-Sendebestimmungsprozess ist ein Bestimmungsprozess, der von der Zentralvorrichtung 3 in der Kampagnenbenachrichtigungsphase vor der Download-Phase ausgeführt wird, aber der Verteilungspaket-Download-Bestimmungsprozess ist ein Bestimmungsprozess, der von der Master-Vorrichtung 11 in der Download-Phase ausgeführt wird. In der vorliegenden Ausführungsform ist ein Fall beschrieben, in dem das DCM 12 den Verteilungspaket-Download-Bestimmungsprozess in der Master-Vorrichtung 11 ausführt, aber das CGW 13 kann die Funktion des DCM 12 aufweisen, um den Verteilungspaket-Download-Bestimmungsprozess auszuführen.
  • Wie in 91 gezeigt, enthält das DCM 12 eine Kampagneninformationsempfangseinheit 67a, eine Herunterladbarkeitsbestimmungseinheit 67b und eine Download-Ausführungseinheit 67c in der Verteilungspaket-Download-Bestimmungseinheit 67. Die Kampagneninformationsempfangseinheit 67a empfängt Kampagneninformation von der Zentralvorrichtung 3. Wenn die Kampagneninformation von der Zentralvorrichtung 3 empfangen wird, wird das in 68 gezeigte Kampagnenbenachrichtigungssymbol 501a angezeigt. Wenn die Kampagneninformation von der Kampagneninformationsempfangseinheit 67a empfangen wird, bestimmt die Herunterladbarkeitsbestimmungseinheit 67b, ob oder nicht ein Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist. D.h., die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, ob oder nicht eine Funkwellenumgebung zum Kommunizieren mit der Zentralvorrichtung 3 vorteilhaft ist, ob oder nicht eine verbleibende Batterieladung der Fahrzeugbatterie 40 größer oder gleich einer vorbestimmten Kapazität ist, und ob oder nicht eine freie Speicherkapazität des DCM 12 größer oder gleich einer vorbestimmten Kapazität ist, und bestimmt, ob oder nicht ein Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist.
  • Wenn bestimmt wird, dass die Funkwellenumgebung vorteilhaft ist, die verbleibende Batterieladung der Fahrzeugbatterie 40 größer oder gleich der vorbestimmten Kapazität ist und die freie Speicherkapazität des DCM 12 größer oder gleich der vorbestimmten Kapazität ist, bestimmt die Herunterladbarkeitsbestimmungseinheit 67b, dass der Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist. Die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, dass der Fahrzeugzustand kein Zustand ist, in dem das Verteilungspaket herunterladbar ist, wenn bestimmt wird, dass mindestens eines der folgenden Dinge zutrifft: die Funkwellenumgebung ist unvorteilhaft, und die verbleibende Batterieladung der Fahrzeugbatterie 40 ist nicht größer oder gleich der vorbestimmten Kapazität, und die freie Speicherkapazität des DCM 12 ist nicht größer oder gleich der vorbestimmten Kapazität.
  • Wie vorstehend erwähnt, bestimmt die Herunterladbarkeitsbestimmungseinheit 67b, ob oder nicht eine Möglichkeit besteht, dass das Herunterladen nicht normal abgeschlossen werden kann. Die Bestimmung in der Herunterladbarkeitsbestimmungseinheit 67b erfolgt unter der Bedingung, dass der Benutzer die Schaltfläche „Download-Initiierung“ 503a auf dem in den 70 und 71 gezeigten Download-Genehmigungsbildschirm 503 bedient. Die Herunterladbarkeitsbestimmungseinheit 67b konfiguriert sein, um ein Bestimmungselement in der Zentralvorrichtung 3 zu bestimmen. D.h., die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, dass das Fahrzeug einen Herunterladbarkeitszustand aufweist, z.B. in einem Fall, in dem die Einstellung der Alarmfunktion des Fahrzeugs validiert wird oder die Störungsinformation in Bezug auf die ECU 19 nicht erzeugt wird.
  • Die Download-Ausführungseinheit 67c lädt das Verteilungspaket von der Zentralvorrichtung 3 herunter, wenn die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, dass der Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist. D.h., die Download-Ausführungseinheit 67c führt das Herunterladen des Verteilungspakets aus, nachdem sie bestätigt hat, dass das Herunterladen normal abgeschlossen werden kann.
  • Die Download-Ausführungseinheit 67c lädt das Verteilungspaket nicht von der Zentralvorrichtung 3 herunter, wenn die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, dass der Fahrzeugzustand kein Zustand ist, in dem das Verteilungspaket herunterladbar ist. D.h., die Download-Ausführungseinheit 67c führt das Herunterladen des Verteilungspakets nicht aus, wenn eine Möglichkeit besteht, dass das Herunterla- den nicht normal abgeschlossen werden kann. In diesem Fall weist die Download-Ausführungseinheit 67c die In-Vehicle-Anzeige 7 an, einen Pop-up-Bildschirm, der anzeigt, dass das Herunterladen nicht initiiert werden kann, sowie den Grund dafür auf dem Navigationsbildschirm 501 anzuzeigen.
  • Nachstehend ist ein Betrieb der Verteilungspaket-Download-Bestimmungseinheit 67 in der Master-Vorrichtung 11 unter Bezugnahme auf 92 beschrieben. Die Master-Vorrichtung 11 führt ein Verteilungspaket-Download-Bestimmungsprogramm und somit den Verteilungspaket-Download-Bestimmungsprozess aus.
  • Die Master-Vorrichtung 11 empfängt Kampagneninformation von der Zentralvorrichtung 3, wenn der Verteilungspaket-Download-Bestimmungsprozess initiiert wird (S201; entsprechend einer Kampagneninformationsempfangsprozedur). Die Master-Vorrichtung 11 bestimmt, ob oder nicht ein Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist (S202; entsprechend einer Herunterladbarkeitsbestimmungsprozedur). Wenn bestimmt wird, dass der Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist (S202: JA), lädt die Master-Vorrichtung 11 das der Kampagne entsprechende Verteilungspaket von der Zentralvorrichtung 3 herunter (S203; entsprechend einer Download-Ausführungsprozedur) und beendet den Verteilungspaket-Download-Bestimmungsprozess. Wenn bestimmt wird, dass der Fahrzeugzustand kein Zustand ist, in dem das Verteilungspaket herunterladbar ist (S202: NEIN), lädt die Master-Vorrichtung 11 das Verteilungspaket nicht von der Zentralvorrichtung 3 herunter und beendet den Verteilungspaket-Download-Bestim mungsprozess.
  • Wie oben beschrieben, kann die Master-Vorrichtung 11 bestimmen, ob oder nicht ein Fahrzeugzustand ein Zustand ist, in dem ein Verteilungspaket herunterladbar ist, indem sie den Verteilungspaket-Download-Bestimmungsprozess ausführt, bevor sie das Verteilungspaket von der Zentralvorrichtung 3 herunterlädt. Die Master-Vorrichtung 11 kann das Verteilungspaket nur in einem Fall herunterladen, in dem der Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist.
  • Die Master-Vorrichtung 11 kann das Verteilungspaket von der Zentralvorrichtung 3 in einem Fall herunterladen, in dem die Funkwellenumgebung vorteilhaft ist, die verbleibende Batterieladung der Fahrzeugbatterie 40 größer oder gleich der vorbestimmten Kapazität ist und die freie Speicherkapazität des DCM 12 größer oder gleich der vorbestimmten Kapazität ist, als ein Fall, der zum Herunterladen des Verteilungspakets geeignet ist. D.h., in einem Fall, in dem die Funkwellenumgebung ungünstig ist, die verbleibende Batterieladung 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, kann eine Situation verhindert werden, in der das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird.
  • Die Master-Vorrichtung 11 kann den Verteilungspaket-Download-Bestimmungsprozess während des Herunterladens des Verteilungspakets ausführen. In diesem Fall, wenn während des Herunterladens des Verteilungspakets bestimmt wird, dass der Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist, setzt die Master-Vorrichtung 11 das Herunterladen des Verteilungspakets von der Zentralvorrichtung 3 fort, aber wenn während des Herunterladens des Verteilungspakets bestimmt wird, dass der Fahrzeugzustand kein Zustand ist, in dem das Verteilungspaket herunterladbar ist, stoppt die Master-Vorrichtung das Herunterladen des Verteilungspakets von der Zentralvorrichtung 3. D.h., die Master-Vorrichtung 11 stoppt das Herunterladen des Verteilungspakets z.B. in einem Fall, in dem die Funkwellenumgebung ungünstig wird, die verbleibende Batterieladung 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, während das Verteilungspaket heruntergeladen wird.
  • Auf die oben beschriebene Weise bestimmt die Zentralvorrichtung 3, ob oder nicht das Fahrzeug ein Fahrzeug ist, in dem ein Programm gegebenenfalls entgegen der Absicht des Benutzers aktualisiert wird oder die Installation fehlschlagen kann, und die Master-Vorrichtung 11 bestimmt, ob oder nicht eine Möglichkeit besteht, dass das Herunterladen in der Master-Vorrichtung 11 fehlschlagen kann, so dass das Senden unnötiger Kampagneninformation und eines Verteilungspakets von der Zentralvorrichtung 3 an die Master-Vorrichtung 11 unterdrückt werden kann.
  • Die Zentralvorrichtung 3 weist die folgende Konfiguration auf. Die Zentralvorrichtung enthält die Software-Informationserfassungseinheit 52a, die Software-Information einer elektronischen Steuereinheit von einer Fahrzeugseite erfasst, die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b, die die Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug auf der Grundlage der von der Software-Informationserfassungseinheit erfassten Software-Information bestimmt, die Aktualisierungsangemessenheitsbestimmungseinheit 52c, die bestimmt, ob oder nicht ein Fahrzeugzustand ein Zustand ist, der zum Aktualisieren geeignet ist, und zwar in einem Fall, in dem durch die Aktualisierungsverfügbarkeitsbestimmungseinheit bestimmt wird, dass Aktualisierungsdaten verfügbar sind, und die Kampagneninformationssendeeinheit 52d, die Kampagneninformation in Bezug auf die Aktualisierung an eine Fahrzeug-Master-Vorrichtung sendet, und zwar in einem Fall, in dem durch die Aktualisierungsangemessenheitsbestimmungseinheit bestimmt wird, dass der Fahrzeugzustand ein für die Aktualisierung geeigneter Zustand ist.
  • Die Master-Vorrichtung 11 weist die folgende Konfiguration auf. Die Master-Vorrichtung enthält die Kampagneninformationsempfangseinheit 67a, die Kampagneninformation von einer Zentralvorrichtung empfängt, die Herunterladbarkeitsbestimmungseinheit 67b, die bestimmt, ob oder nicht ein Fahrzeugzustand ein Zustand ist, in dem ein Verteilungspaket herunterladbar ist, und zwar in einem Fall, in dem die Kampagneninformation von der Kampagneninformationsempfangseinheit empfangen wird, und die Download-Ausführungseinheit 67c, die das Verteilungspaket von der Zentralvorrichtung herunterlädt, und zwar in einem Fall, in dem durch die Herunterladbarkeitsbestimmungseinheit bestimmt wird, dass der Fahrzeugzustand ein Zustand ist, in dem das Verteilungspaket herunterladbar ist.
  • Schreibdaten-Übertragungsbestimmungsprozess, (4) Schreibdaten-Erfassungsbestimmungsprozess und (5) Installationsbefehlsbestimmungsprozess
  • Der Schreibdaten-Übertragungsbestimmungsprozess ist unter Bezugnahme auf die 93 und 94 beschrieben, der Schreibdaten-Erfassungsbestimmungsprozess ist unter Bezugnahme auf die 95 und 96 beschrieben, und der Installationsbefehlsbestimmungsprozess ist unter Bezugnahme auf die 97 bis 100 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Schreibdaten-Übertragungsbestimmungsprozess im DCM 12 aus. Hier wird ein Zustand angenommen, in dem ein von der Zentralvorrichtung 3 zum DCM 12 gesendetes Verteilungspaket entpackt wird und Schreibdaten aus dem Verteilungspaket extrahiert werden.
  • Wie in 93 gezeigt, enthält das DCM 12 eine Erfassungsanfrage-Empfangseinheit 68a und eine Kommunikationszustands-Bestimmungseinheit 68b in der Schreibdaten-Übertragungsbestimmungseinheit 68. Die Erfassungsanfrage-Empfangseinheit 68a empfängt eine Erfassungsanfrage für Schreibdatum vom CGW 13. Wenn die Erfassungsanfrage der Schreibdaten von der Erfassungsanfrage-Empfangseinheit 68a empfangen wird, bestimmt die Kommunikationszustands-Bestimmungseinheit 68b einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12, wie beispielsweise in einem Fall, in dem ein im Voraus vom Benutzer gesetztes Übertragungsausführbarkeitsbestimmungs-Flag einen ersten vorbestimmten Wert aufweist. Das Übertragungsausführbarkeitsbestimmungs-Flag weist z.B. den Wert 1 (erster vorbestimmter Wert) auf, wenn eine vorbestimmte Bedingung während der Installation geprüft wird, und den Wert 0 (zweiter vorbestimmter Wert) auf, wenn die Prüfung ausgelassen wird. Die Schreibdaten-Übertragungseinheit 64 überträgt die Schreibdaten unter der Bedingung an das CGW 13, dass die Kommunikationszustands-Bestimmungseinheit 68b bestimmt, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 einen Verbindungszustand aufweist.
  • Nachstehend ist ein Betrieb der Schreibdaten-Übertragungsbestimmungseinheit 68 im DCM 12 unter Bezugnahme auf 94 beschrieben. Das DCM 12 führt ein Schreibdaten-Übertragungsbestimmungsprogramm aus und führt somit den Schreibdaten-Übertragungsbestimmungsprozess aus. Hierin ist ein Prozess in einem Fall beschrieben, in dem das CGW 13 das DCM 12 auffordert, die Schreibdaten zu erfassen, und zwar im Ansprechen auf einen Installationsbefehl von der Zentralvorrichtung 3.
  • Wenn bestimmt wird, dass eine Erfassungsanfrage für die Schreibdaten vom CGW 13 empfangen wurde, initiiert das DCM 12 den Schreibdaten-Übertragungsbestimmungsprozess. Wenn der Schreibdaten-Übertragungsbestimmungsprozess initiiert wird, bestimmt das DCM 12 das Übertragungsausführbarkeitsbestimmungs-Flag (S301 und S302). Wenn bestimmt wird, dass das Übertragungsausführbarkeitsbestimmungs-Flag den ersten vorbestimmten Wert aufweist (S301: JA), bestimmt das DCM 12 einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 (S303). Wenn bestimmt wird, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 einen Verbindungszustand aufweist (S303: JA), überträgt das DCM 12 die Schreibdaten an das CGW 13 (S304) und beendet den Schreibdaten-Übertragungsbestimmungsprozess. Wenn bestimmt wird, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 keinen Verbindungszustand aufweist, sondern einen Unterbrechungszustand (S303: NEIN), überträgt das DCM 12 die Schreibdaten nicht an das CGW 13 und beendet den Schreibdaten-Übertragungsbestimmungsprozess.
  • Wenn bestimmt wird, dass das Übertragungsausführbarkeitsbestimmungs-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 Zentralvorrichtung 3 und dem DCM 12 zu bestimmen, und beendet den Schreibdaten-Ü bertragungsbestim m ungsprozess.
  • Wie oben beschrieben, führt das DCM 12 den Schreibdaten-Übertragungsbestimmungsprozess vor der Übertragung der Schreibdaten an das CGW 13 aus und bestimmt einen Zustand einer Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 in einem Fall, in dem das Übertragungsausführbarkeitsbestimmungs-Flag den ersten vorbestimmten Wert aufweist. Wenn bestimmt wird, dass die Datenkommunikation einen Verbindungszustand aufweist, initiiert das DCM 12 die Übertragung der Schreibdaten, und wenn bestimmt wird, dass die Datenkommunikation einen Unterbrechungszustand aufweist, wartet das DCM 12, ohne die Übertragung der Schreibdaten zu initiieren. In einer Situation, in der eine Datenkommunikation mit der Zentralvorrichtung 3 möglich ist, können die Schreibdaten an das CGW 13 übertragen und die Installation in der Umschreibeziel-ECU 19 ausgeführt werden.
  • Zum Beispiel kann in einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind und eine Installation Zeit in Anspruch nimmt, das fahrzeugseitige System 4 die Zentralvorrichtung 3 über eine Installationsfortschrittssituation informieren, und das mobile Endgerät 6 kann die Fortschrittssituation jeweils bzw. eine nach der anderen anzeigen. Das DCM 12 kann den Schreibdaten-Übertragungsbestimmungsprozess während einer Übertragung der Schreibdaten ausführen. In diesem Fall, wenn während der Übertragung der Schreibdaten bestimmt wird, dass die Datenkommunikation einen Verbindungszustand aufweist, setzt das DCM 12 die Übertragung der Schreibdaten fort, aber wenn während der Übertragung der Schreibdaten bestimmt wird, dass die Datenkommunikation einen Unterbrechungszustand aufweist, stoppt das DCM die Übertragung der Schreibdaten.
  • Nachstehend ist der Schreibdaten-Erfassungsbestimmungsprozess beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Schreibdaten-Erfassungsbestimmungsprozess im CGW 13 aus. (3) Der Schreibdaten-Übertragungsbestimmungsprozess ist ein Bestimmungsprozess, der vom DCM 12 in der Installationsphase ausgeführt wird, und der Schreibdaten-Erfassungsbestimmungsprozess ist ein Bestimmungsprozess, der vom CGW 13 in derselben Installationsphase ausgeführt wird.
  • Wie in 95 gezeigt, enthält das CGW 13 eine Ereignisauftritts-Bestimmungseinheit 76a und eine Kommunikationszustands-Bestimmungseinheit 76b in der Schreibdaten-Erfassungsbestimmungseinheit 76. Die Ereignisauftritts-Bestimmungseinheit 76a bestimmt das Auftreten eines Ereignisses einer Erfassungsanfrage (Installationsbefehl) für die Schreibdaten von der Zentralvorrichtung 3. Wenn das Auftreten des Ereignisses der Erfassungsanfrage der Schreibdaten durch die Ereignisauftritts-Bestimmungseinheit 76a bestimmt wird, bestimmt die Kommunikationszustands-Bestimmungseinheit 76b einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12, beispielsweise in einem Fall, in dem ein im Voraus durch den Benutzer gesetztes Erfassungsausführbarkeitsbestimmungs-Flag einen ersten vorbestimmten Wert aufweist. Das Erfassungsausführbarkeitsbestimmungs-Flag weist z.B. den Wert 1 (erster vorbestimmter Wert) auf, wenn eine vorbestimmte Bedingung während der Installation geprüft wird, und den Wert 0 (zweiter vorbestimmter Wert) auf, wenn die Prüfung ausgelassen wird. Hier kann die Ereignisauftritts-Bestimmungseinheit 76a das Ereignisauftreten darauf basierend bestimmen, dass der Benutzer einen Befehl zum Installieren erteilt hat, und bestimmt, dass ein Ereignis einer Erfassungsanfrage für die Schreibdaten aufgetreten ist, wenn beispielsweise eine Benachrichtigung, dass der Benutzer einen Installationsbefehl (siehe 75) auf der In-Vehicle-Anzeige 7 erteilt hat, empfangen wird.
  • Nachstehend ist ein Betrieb der Schreibdaten-Erfassungsbestimmungseinheit 76 im CGW 13 unter Bezugnahme auf 96 beschrieben. Das CGW 13 führt ein Schreibdaten-Erfassungsbestimmungsprogramm aus und führt damit den Schreibdaten-Erfassungsbestimmungsprozess aus.
  • Wenn bestimmt wird, dass das Ereignis der Anfrage, um die Schreibdaten zu erfassen, aufgetreten ist, initiiert das CGW 13 den Schreibdaten-Erfassungsbestimmungsprozess. Wenn der Schreibdaten-Erfassungsbestimmungsprozess initiiert wird, bestimmt das CGW 13 das Erfassungsausführbarkeitsbestimmungs-Flag (S401 und S402). Wenn bestimmt wird, dass das Erfassungsausführbarkeitsbestimmungs-Flag den ersten vorbestimmten Wert aufweist (S401: JA), bestimmt das CGW 13 einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 (S403). Wenn bestimmt wird, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 einen Verbindungszustand aufweist (S403: JA), sendet das CGW 13 eine Erfassungsanfrage für die Schreibdaten an das DCM 12 (S404) und beendet den Schreibdaten-Erfassungsbestimmungsprozess. Anschließend, wenn die Schreibdaten vom DCM 12 übertragen werden, verteilt das CGW 13 die übertragenen Schreibdaten an die Umschreibeziel-ECU 19. Wenn bestimmt wird, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 keinen Verbindungszustand aufweist, sondern einen Unterbrechungszustand (S403: NEIN), sendet das CGW 13 die Erfassungsanfrage für die Schreibdaten nicht an das DCM 12 und beendet den Schreibdaten-Erfassungsbestimmungsprozess.
  • Wenn bestimmt wird, dass das Erfassungsausführbarkeitsbestimmungs-Flag den zweiten vorbestimmten Wert aufweist (S402: JA), sendet das CGW 13 eine Erfassungsanfrage der Schreibdaten an das DCM 12, ohne einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 zu bestimmen, und beendet den Schreibdaten-Erfassungsbestimmungsprozess.
  • Wie oben beschrieben, führt das CGW 13 den Schreibdaten-Erfassungsbestimmungsprozess vor der Erfassung der Schreibdaten vom DCM 12 aus und bestimmt einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 in einem Fall, in dem das Erfassungsausführbarkeitsbestimmungs-Flag den ersten vorbestimmten Wert aufweist. Wenn bestimmt wird, dass die Datenkommunikation einen Verbindungszustand aufweist, initiiert das CGW 13 eine Erfassung der Schreibdaten ein, und wenn bestimmt wird, dass die Datenkommunikation einen Unterbrechungszustand aufweist, wartet das CGW, ohne eine Erfassung der Schreibdaten zu initiieren. In einer Situation, in der eine Kommunikation mit der Zentralvorrichtung 3 möglich ist, können die Schreibdaten vom DCM 12 erfasst werden und kann die Installation in der Umschreibeziel-ECU 19 erfolgen.
  • Zum Beispiel kann in einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind und eine Installation Zeit in Anspruch nimmt, das fahrzeugseitige System 4 die Zentralvorrichtung 3 über eine Installationsfortschrittssituation informieren, und das mobile Endgerät 6 kann die Fortschrittssituation jeweils bzw. eine nach der anderen anzeigen. Das CGW 13 kann den Schreibdaten-Erfassungsbestimmungsprozess während einer Erfassung der Schreibdaten ausführen. In diesem Fall, wenn während die der Erfassung der Schreibdaten bestimmt wird, dass die Datenkommunikation einen Verbindungszustand aufweist, setzt das CGW 13 die Erfassung der Schreibdaten fort, aber wenn während der Erfassung der Schreibdaten bestimmt wird, dass die Datenkommunikation einen Unterbrechungszustand aufweist, stoppt das CGW die Erfassung der Schreibdaten.
  • Nachstehend ist die oben beschriebene Schreibdatenerfassungsbestimmung beschrieben. Die Erfassung der Schreibdaten ist einer der Prozesse in Bezug auf die Installation, und der Installationsbefehlsbestimmungsprozess ist nachstehend unter Bezugnahme auf die 97 bis 100 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Installationsbefehlsbestimmungsprozess im CGW 13 aus. (1) Der Verteilungspaket-Sendebestimmungsprozess und (2) der Verteilungspaket-Download-Bestimmungsprozess sind Bestimmungsprozesse, die in der Download-Phase ausgeführt werden, (3) der Schreibdaten-Übertragungsbestimmungsprozess und (4) der Schreibdaten-Erfassungsbestimmungsprozess sind Prozesse, die in der Installationsphase ausgeführt werden, nachdem das Herunterladen abgeschlossen wurde, und (5) der Installationsbefehlsbestimmungsprozess ist ein Prozess, der in der Installationsphase und der Aktivierungsphase ausgeführt wird. Hier wird ein Zustand angenommen, in dem ein Verteilungspaket auf das DCM 12 heruntergeladen wird und, wie in 46 gezeigt, die Schreibdaten (Aktualisierungsdaten oder Differenzdaten) für die Schreibziel-ECU 19 entpackt werden.
  • Wie in 97 gezeigt, enthält das CGW 13 eine Installationsbedingungsbestimmungseinheit 77a, eine Installationsbefehlseinheit 77b, eine Fahrzeugzustandsinformations-Erfassungseinheit 77c, eine Aktivierungsbedingungsbestimmungseinheit 77d und eine Aktivierungsbefehlseinheit 77e in der Installationsbefehlsbestimmungseinheit 77. Die Installationsbedingungsbestimmungseinheit 77a bestimmt, ob oder nicht 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 dahingehend, dass die Genehmigung des Benutzers zum Installieren erhalten wird. Die Genehmigung des Benutzers zum Installieren zeigt die Genehmigungsbedienung des Benutzers zum Installieren (wie beispielsweise Drücken der Schaltfläche „Sofortige Aktualisierung“ 506a) auf dem beispielsweise in 75 gezeigten Bildschirm an. Alternativ können Operationen bzw. Bedienungen vom Herunterladen bis zur Aktivierung als eine Aktualisierung betrachtet werden, und die Genehmigungsbedienung des Benutzers zum Aktualisieren kann als ausgeführt betrachtet werden.
  • Die zweite Bedingung ist eine Bedingung dahingehend, dass das CGW 13 eine Datenkommunikation mit der Zentralvorrichtung 3 ausführen kann. Die dritte Bedingung ist eine Bedingung dahingehend, dass ein Fahrzeugzustand ein installierbarer Zustand ist. Die vierte Bedingung ist eine Bedingung dahingehend, dass die Installation in der Umschreibeziel-ECU 19 ausgeführt werden kann. Hier umfasst die vierte Bedingung nicht nur, dass die Installation in der Umschreibeziel-ECU 19, die ein Installationsziel ist, ausgeführt werden kann, sondern ebenso, dass die Installation in der Umschreibeziel-ECU 19, die mit der Umschreibeziel-ECU 19 zusammenarbeitet, die ein Installationsziel ist, ausgeführt werden kann. Die fünfte Bedingung ist eine Bedingung dahingehend, dass die Schreibdaten normale Daten sind. Hier umfassen die normale Daten Daten, die für die Umschreibeziel-ECU 19 geeignet sind, Daten, die nicht verfälscht sind, und dergleichen.
  • Wenn von der Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass die erste Bedingung, die zweite Bedingung, die dritte Bedingung, die vierte Bedingung und die fünfte Bedingung alle erfüllt sind, weist die Installationsbefehlseinheit 77b die Umschreibeziel-ECU 19 an, ein Anwendungsprogramm zu installieren. D.h., wenn die Installationsbefehlseinheit 77b die Genehmigung des Benutzers für die Installation erhält, das CGW 13 eine Datenkommunikation mit der Zentralvorrichtung 3 ausführen kann, der Fahrzeugzustand ein installierbarer Zustand ist, die Installation in der Umschreibeziel-ECU 19 ausgeführt werden kann und von der Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass die Schreibdaten normale Daten sind, wird die Umschreibeziel-ECU 19 angewiesen, das Anwendungsprogramm zu installieren. Insbesondere erfasst die Installationsbefehlseinheit 77b die Schreibdaten vom DCM 12 und überträgt die erfassten Schreibdaten an die Umschreibeziel-ECU 19. Wenn von der Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass mindestens eine der ersten Bedingung, der zweiten Bedingung, der dritten Bedingung, der vierten Bedingung und der fünften Bedingung nicht erfüllt ist, weist die Installationsbefehlseinheit 77b die Umschreibeziel-ECU 19 nicht an, das Anwendungsprogramm zu installieren, und wartet oder präsentiert dem Benutzer Information, die anzeigt, dass die Installation nicht initiiert werden kann, sowie den Grund dafür.
  • Die Fahrzeugzustandsinformations-Erfassungseinheit 77c erfasst Fahrzeugzustandsinformation von der Zentralvorrichtung 3. Die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt, ob oder nicht eine sechste Bedingung, eine siebte Bedingung und eine achte Bedingung erfüllt werden, und zwar in einem Fall, in dem die Installation des Anwendungsprogramms in allen der Umschreibeziel-ECUs 19 abgeschlossen wurde. Die sechste Bedingung ist eine Bedingung dahingehend, dass die Genehmigung des Benutzers zum Aktivieren erhalten wird. Die Genehmigung des Benutzers für die Aktivierung zeigt die Genehmigungsbedienung des Benutzers (z.B. Drücken der Schaltfläche „OK“ 508b) für die Aktivierung auf dem beispielsweise in 79 gezeigten Bildschirm. Alternativ können Operationen bzw. Bedienungen vom Herunterladen bis zur Aktivierung als eine Aktualisierung betrachtet werden, und die Genehmigungsbedienung des Benutzers zum Aktualisieren kann als ausgeführt betrachtet werden. Die siebte Bedingung ist eine Bedingung dahingehend, dass der Fahrzeugzustand ein aktivierbarer Zustand ist. Die achte Bedingung ist eine Bedingung dahingehend, dass die Umschreibeziel-ECU 19 einen aktivierbaren Zustand aufweist.
  • Wenn von der Aktivierungsbedingungsbestimmungseinheit 77d bestimmt wird, dass die sechste Bedingung, die siebte Bedingung und die achte Bedingung erfüllt sind, weist die Aktivierungsbefehlseinheit 77e die Umschreibeziel-ECU 19 an, das Anwendungsprogramm zu aktivieren. Eine detaillierte Beschreibung des (12) Aktivierungsanfragebefehlsprozesses ist nachstehend noch gegeben. D.h., die Aktivierungsbefehlseinheit 77e weist die Umschreibeziel-ECU 19 an, das Anwendungsprogramm zu aktivieren, wenn die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt, dass die Genehmigung des Benutzers für die Aktivierung erhalten wird, der Fahrzeugzustand ein aktivierbarer Zustand ist und die Umschreibeziel-ECU 19 einen aktivierbaren Zustand aufweist. Die Aktivierung wird vorgenommen und so wird ein in die Umschreibeziel-ECU 19 geschriebenes Aktualisierungsprogramm validiert. Wenn von der Aktivierungsbedingungsbestimmungseinheit 77d bestimmt wird, dass mindestens eine der sechsten Bedingung, der siebten Bedingung und der achten Bedingung nicht erfüllt ist, weist die Aktivierungsbefehlseinheit 77e die Umschreibeziel-ECU 19 nicht an, das Anwendungsprogramm zu aktivieren, und wartet oder präsentiert dem Benutzer Information, die anzeigt, dass die Aktivierung nicht initiiert werden kann, sowie den Grund dafür.
  • Nachstehend ist ein Betrieb der Installationsbefehlsbestimmungseinheit 77 im CGW 13 unter Bezugnahme auf die 98 bis 100 beschrieben. Das CGW 13 führt ein Installationsbefehlsbestimmungsprogramm aus und führt somit den Installationsbefehlsbestimmungsprozess aus.
  • Wenn der Installationsbefehlsbestimmungsprozess initiiert wird, bestimmt das CGW 13, ob oder nicht die erste Bedingung erfüllt ist, und bestimmt, ob oder nicht die Genehmigung des Benutzers für die Installation erhalten wird (S501; entsprechend einem Teil einer Installationsbedingungsbestimmungsprozedur). Wenn bestimmt wird, dass die Genehmigung des Benutzers für die Installation erhalten wird (S501: JA), bestimmt das CGW 13, ob oder nicht die zweite Bedingung erfüllt ist, und bestimmt, ob oder nicht eine Datenkommunikation mit der Zentralvorrichtung 3 möglich ist (S502; entsprechend einem Teil der Installationsbedingungsbestimmungsprozedur). Das CGW 13 bestimmt auf der Grundlage eines Kommunikationsfunkwellenstatus im DCM 12, ob oder nicht eine Datenkommunikation mit der Zentralvorrichtung 3 möglich ist.
  • Wenn bestimmt wird, dass eine Datenkommunikation mit der Zentralvorrichtung 3 möglich ist (S502: JA), bestimmt das CGW 13, ob oder nicht die dritte Bedingung erfüllt ist, und bestimmt, ob oder nicht ein Fahrzeugzustand ein installierbarer Zustand ist (S503; entsprechend einem Teil der Installationsbedingungsbestimmungsprozedur). Das CGW 13 bestimmt, als den Fahrzeugzustand, beispielsweise, ob oder nicht eine verbleibende Batterieladung der Fahrzeugbatterie 40 größer oder gleich einer vorbestimmten Kapazität ist, oder ob oder nicht das Fahrzeug einen Parkzustand (IG-AUS-Zustand) aufweist, und zwar in einem Fall, in dem eine Speicherkonfiguration der Umschreibeziel-ECU 19 ein Ein-Bank-Speicher ist, und bestimmt somit, ob oder nicht der Fahrzeugzustand ein installierbarer Zustand ist. Der Zustand des Fahrzeugzustands kann sich auf empfangene Umschreibespezifikationsdaten beziehen (siehe 44). Das CGW 13 bestimmt, dass der Fahrzeugzustand ein installierbarer Zustand ist, z.B. in einem Fall, in dem eine verbleibende Batterieladung der Fahrzeugbatterie 40 größer oder gleich als eine vorbestimmte Kapazität ist, die in den Umschreibespezifikationsdaten spezifiziert ist, und der Fahrzeugzustand mit einem Fahrzeugzustand übereinstimmt (installierbar nur in einem Parkzustand, installierbar nur in einem Fahrzustand oder installierbar sowohl im Parkzustand als auch im Fahrzustand), der in den Umschreibespezifikationsdaten spezifiziert ist.
  • Wenn bestimmt wird, dass der Fahrzeugzustand ein installierbarer Zustand ist (S503: JA), bestimmt das CGW, ob oder nicht die vierte Bedingung erfüllt ist, und bestimmt, ob oder nicht die Umschreibeziel-ECU 19 einen installierbaren Zustand aufweist (S504; entsprechend einem Teil der Installationsbedingungsbestimmungsprozedur). Das CGW 13 bestimmt, dass die Umschreibeziel-ECU 19 einen installierbaren Zustand aufweist, z.B. in einem Fall, in dem kein Fehlercode in der Umschreibeziel-ECU 19 erzeugt wird und der Sicherheitszugriff auf die Umschreibeziel-ECU 19 erfolgreich ist. Ob oder nicht der Fehlercode erzeugt wird, kann hier nicht nur für die Umschreibeziel-ECU 19, in die die Schreibdaten geschrieben werden, sondern ebenso für die ECU 19, die eine kooperative Steuerung mit der Umschreibeziel-ECU 19 ausführt, überprüft werden. D.h., das CGW 13 bestimmt, ob oder nicht der Fehlercode erzeugt wird, nicht nur für die Umschreibeziel-ECU 19, sondern ebenso für die ECU 19, die eine kooperative Steuerung mit der Umschreibeziel-ECU 19 ausführt.
  • Wenn bestimmt wird, dass die Umschreibeziel-ECU 19 einen installierbaren Zustand aufweist (S504: JA), bestimmt das CGW, ob oder nicht die fünfte Bedingung erfüllt ist, und bestimmt, ob oder nicht die Schreibdaten normale Daten sind (S505; entsprechend einem Teil einer Installationsbedingungsbestimmungsprozedur). Das CGW 13 bestimmt, dass die Schreibdaten normale Daten sind, wenn die Schreibdaten mit einer Schreib-Bank (inaktive Bank) der Umschreibeziel-ECU 19 übereinstimmen und ein Verifizierungsergebnis der Integrität der Schreibdaten normal ist. Wenn bestimmt wird, dass die Schreibdaten normale Daten sind (S505: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, das Anwendungsprogramm zu installieren (S506; entsprechend einer Installationsbefehlsprozedur), und somit führt das CGW 13 eine Bestimmung der zweiten Bedingung und der nachfolgenden Bedingungen unter der Bedingung aus, dass die erste Bedingung erfüllt ist. Das CGW 13 bestimmt schließlich die fünfte Bedingung. Wenn bestimmt wird, dass alle der ersten bis fünften Bedingung erfüllt sind, weist das CGW 13 die Umschreibeziel-ECU 19 an, das Anwendungsprogramm zu installieren.
  • Demgegenüber, wenn das CGW 13 bestimmt, dass die Genehmigung des Benutzers für die Installation nicht erhalten wird (S501: NEIN), bestimmt, dass eine Datenkommunikation mit der Zentralvorrichtung 3 nicht möglich ist (S502: NEIN), bestimmt, dass der Fahrzeugzustand kein installierbarer Zustand ist (S503: NEIN), bestimmt, dass die Umschreibeziel-ECU 19 keinen installierbaren Zustand aufweist (S504: NEIN), oder bestimmt, dass die Schreibdaten keine normalen Daten sind (S505: NEIN), weist das CGW die Umschreibeziel-ECU 19 nicht an, das Anwendungsprogramm zu installieren. In dem oben beschriebenen Prozess ist eine Konfiguration beschrieben, in der die Bedingung, dass die Genehmigung des Benutzers für die Installation erhalten wird, früher als die anderen Bedingungen bestimmt wird, aber es kann ebenso eine Konfiguration verwendet werden, in der die Bedingung später als die anderen Bedingungen bestimmt wird.
  • Wenn das CGW 13 die Umschreibeziel-ECU 19 anweist, das Anwendungsprogramm zu installieren, verteilt das CGW die Schreibdaten an die Umschreibeziel-ECU 19 (S507) und bestimmt, ob oder nicht die Installation abgeschlossen ist (S508). Wenn bestimmt wird, dass die Installation abgeschlossen ist (S508: JA), bestimmt das CGW, ob oder nicht die sechste Bedingung erfüllt ist, und bestimmt, ob oder nicht die Genehmigung des Benutzers für die Aktivierung erhalten wird (S509). Wenn bestimmt wird, dass die Genehmigung des Benutzers für die Aktivierung erhalten wird (S509: JA), bestimmt das CGW 13, ob oder nicht die siebte Bedingung erfüllt ist, und bestimmt, ob oder nicht der Fahrzeugzustand ein aktivierbarer Zustand ist (S510).
  • Wenn bestimmt wird, dass der Fahrzeugzustand ein aktivierbarer Zustand ist (S510: JA), bestimmt das CGW, ob oder nicht die achte Bedingung erfüllt ist, und bestimmt, ob oder nicht die Umschreibeziel-ECU 19 einen aktivierbaren Zustand aufweist (S511). Wenn bestimmt wird, dass die Umschreibeziel-ECU 19 einen aktivierbaren Zustand aufweist (S511: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, die Aktivierung auszuführen (S512). Wie oben erwähnt, weist das CGW 13, wenn bestimmt wird, dass alle der sechsten bis achten Bedingung erfüllt sind, die Umschreibeziel-ECU 19 an, die Aktivierung auszuführen.
  • In einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind, kann das CGW 13 einzeln oder kollektiv einen Befehl zur Installation erteilen. In einem Fall, in dem die Umschreibeziel-ECUs 19 die ECU (ID1) und die ECU (ID2) sind, bestimmt das CGW 13 bei einem Aspekt individuellen Erteilens eines Befehls für die Installation, ob oder nicht Installationsbedingungen für die ECU (ID1) erfüllt sind, wie in 99 gezeigt. Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID1) erfüllt sind, weist das CGW 13 die ECU (ID1) an, die Installation auszuführen. Anschließend bestimmt das CGW 13, ob oder nicht Installationsbedingungen für die ECU (ID2) erfüllt sind. Hier kann das CGW 13 bestimmen, ob oder nicht die vierte Bedingung und die fünfte Bedingung für die ECU (ID2) als die Installationsbedingungen erfüllt sind. Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID2) erfüllt sind, weist das CGW 13 die ECU (ID2) an, die Installation auszuführen.
  • In einem Fall, in dem die Umschreibeziel-ECUs 19 die ECU (ID1) und die ECU (ID2) sind, bestimmt das CGW 13 bei einem Aspekt kollektiven Erteilens eines Befehls für die Installation, ob oder nicht Installationsbedingungen für die ECU (ID1) erfüllt sind, wie in 100 gezeigt. D.h., das CGW 13 bestimmt die erste bis dritte Bedingung sowie die vierte und fünfte Bedingung für die ECU (ID1). Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID1) erfüllt sind, bestimmt das CGW 13, ob oder nicht die Installationsbedingungen für die ECU (ID2) erfüllt sind. D.h., 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, weist das CGW 13 die ECU (ID1) und die ECU (ID2) an, die Installation auszuführen. Zum Beispiel führt das CGW 13 die Übertragung von Umschreibedaten an die ECU (ID1) und die Übertragung von Umschreibedaten an die ECU (ID2) gleichzeitig parallel aus. Wie oben beschrieben, bestimmt das CGW 13, bei dem Aspekt kollektiven Erteilens eines Befehls zur Installation, die erste bis dritte Bedingung und die vierte und fünfte Bedingung für alle der Umschreibeziel-ECUs. Das CGW 13 erteilt einen Befehl zur Installation, nachdem alle der Bedingungen erfüllt sind.
  • Wie oben beschrieben, führt das CGW 13 den Installationsbefehlsbestimmungsprozess aus, bevor es die Umschreibeziel-ECU 19 anweist, ein Anwendungsprogramm zu installieren, und weist somit die Umschreibeziel-ECU 19 an, das Anwendungsprogramm zu installieren, wenn bestimmt wird, dass die erste Bedingung dahingehend, dass die Genehmigung des Benutzers für die Installation erhalten wird, die zweite Bedingung dahingehend, dass die Datenkommunikation mit der Zentralvorrichtung 3 möglich ist, die dritte Bedingung dahingehend, dass ein Fahrzeugzustand ein installierbarer Zustand ist, die vierte Bedingung dahingehend, dass die Umschreibeziel-ECU 19 einen installierbaren Zustand aufweist, und die fünfte Bedingung dahingehend, dass die Schreibdaten normale Daten sind, alle erfüllt sind. Es ist möglich, die Umschreibeziel-ECU 19 in geeigneter Weise anzuweisen, ein Anwendungsprogramm zu installieren.
  • Sicherheitszugriffsschlüssel-Verwaltungsprozess
  • Nachstehend ist der Sicherheitszugriffsschlüssel-Verwaltungsprozess unter Bezugnahme auf die 101 bis 105 beschrieben. Ein Sicherheitszugriffsschlüssel wird verwendet, um eine Vorrichtung zu authentifizieren, wenn das CGW 13 auf die Umschreibeziel-ECU 19 zugreift, bevor Schreibdaten installiert werden. Das Fahrzeugprogrammumschreibesystem 1 führt den Sicherheitszugriffsschlüssel-Verwaltungsprozess im CGW 13 aus. Hier wird davon ausgegangen, dass das CGW 13 einen Zustand aufweist, in dem es in der Lage ist, die Schreibdaten vom DCM 12 anhand (3) des Schreibdaten-Übertragungsbestimmungsprozesses oder (4) des Schreibdaten-Erfassungsbestimmungsprozesses zu erfassen. Die Vorrichtungsauthentifizierung unter Verwendung des Sicherheitszugriffsschlüssels entspricht der vierten Bedingung (Schritt S505) im (5) oben beschriebenen Installationsbefehlsbestimmungsprozess.
  • Wenn das CGW 13 die Schreibdaten an die Umschreibeziel-ECU 19 verteilt, muss das CGW 13 einen Sicherheitszugriff (Vorrichtungsauthentifizierung) mit der Umschreibeziel-ECU 19 unter Verwendung des Sicherheitszugriffsschlüssels ausführen. In diesem Fall wird ein Verfahren in Betracht gezogen, bei dem das CGW 13 die Umschreibeziel-ECU 19 auffordert, einen Zufallszahlenwert zu erzeugen, den von der Umschreibeziel-ECU 19 erzeugten Zufallszahlenwert von der Umschreibeziel-ECU 19 erfasst und einen Sicherheitszugriffsschlüssel durch Berechnen des erfassten Zufallszahlenwerts erzeugt. In einem solchen Verfahren kann jedoch in einem Fall, in dem der Zufallszahlenwert von der Umschreibeziel-ECU 19 auch dann erfasst wird, wenn ein Anwendungsprogramm nicht umgeschrieben wird, der Sicherheitszugriffsschlüssel gespeichert werden, so dass die Gefahr eines Lecks des Sicherheitszugriffsschlüssels bestehen kann.
  • In einer Konfiguration, in der das CGW 13 einen Zufallszahlenwert, der von der Umschreibeziel-ECU 19 erfasst wurde, an die Zentralvorrichtung 3 sendet und die Zentralvorrichtung 3 einen Sicherheitszugriffsschlüssel durch Berechnen des Zufallszahlenwerts erzeugt, ist es nicht notwendig, den Sicherheitszugriffsschlüssel zu speichern, und somit ist es möglich, das Risiko eines Sicherheitszugriffsschlüssel-Lecks zu reduzieren. In der Konfiguration, in der die Zentralvorrichtung 3 den Zufallszahlenwert berechnet, erhöht sich jedoch die Wartezeit, bis die Umschreibeziel-ECU 19 den Zufallszahlenwert von der Zentralvorrichtung 3 erfasst, und somit ist es schwierig, die Zeitvorgabe für die Diagnosekommunikation zu erfüllen. In Anbetracht dieser Umstände wendet die vorliegende Ausführungsform die folgende Konfiguration an.
  • Wie in 101 gezeigt, erzeugt der Anbieter einen Zufallszahlenwert, indem er einen Sicherheitszugriffsschlüssel für jede Umschreibeziel-ECU 19 verschlüsselt, indem er einen Verschlüsselungs-/Entschlüsselungsschlüssel des Sicherheitszugriffsschlüssels verwendet. Der hier erwähnte Zufallszahlenwert ist ein Zufallswert, der sowohl einen Wert enthält, der sich von dem in der Vergangenheit verwendeten Wert unterscheidet, als auch einen Wert, der dem in der Vergangenheit verwendeten Wert entspricht. Der Zufallszahlenwert ist ein verschlüsselter Sicherheitszugriffsschlüssel. Der Anbieter stellt den erzeugten Zufallszahlenwert zusammen mit den Umprogrammierungsdaten bereit. Der Sicherheitszugriffsschlüssel, der Verschlüsselungs-/Entschlüsselungsschlüssel der Sicherheitszugriffsschlüssel und der Zufallszahlenwert sind eindeutige Schlüssel für jede ECU 19.
  • Wenn dem OEM der Zufallszahlenwert zusammen mit den Umprogrammierungsdaten vom Anbieter bereitgestellt wird, korreliert der OEM den bereitgestellten Zufallszahlenwert mit einer ECU (ID) zum Identifizieren der ECU 19 und speichert den Zufallszahlenwert in den in 44 gezeigten CGW-Umschreibespezifikationsdaten. Der OEM speichert ebenso ein Schlüsselmuster oder ein Entschlüsselungsbetriebsmuster, das zum Entschlüsseln des Zufallszahlenwerts erforderlich ist, in den CGW-Umschreibespezifikationsdaten. Als das Schlüsselmuster wird ein Verfahren, wie beispielsweise gemeinsamer Schlüssel / öffentlicher Schlüssel, Schlüssellänge und dergleichen, gespeichert, und als das Entschlüsselungsbetriebsmuster wird der Typ des Algorithmus, der für einen Entschlüsselungsbetrieb und dergleichen verwendet wird, gespeichert. Wenn der OEM den Zufallszahlenwert, das Schlüsselmuster und das Entschlüsselungsbetriebsmuster in den CGW-Umschreibespezifikationsdaten speichert, stellt der OEM die CGW-Umschreibespezifikationsdaten, in denen der Zufallszahlenwert gespeichert ist, zusammen mit den Umprogrammierungsdaten der Zentralvorrichtung 3 zur Verfügung. Die vom Anbieter bereitgestellte Information wird in einer ECU-Umprogrammierungsdaten-DB und einer ECU-Metadaten-DB gespeichert, die nachstehend noch beschrieben sind.
  • Wenn Umschreibespezifikationsdaten (DCM-Umschreibespezifikationsdaten und CGW-Umschreibespezifikationsdaten) zusammen mit den Umprogrammierungsdaten vom OEM bereitgestellt werden, sendet die Zentralvorrichtung 3 ein Verteilungspaket mit den bereitgestellten Umschreibespezifikationsdaten und Umprogrammierungsdaten an die Master-Vorrichtung 11. In der Master-Vorrichtung 11 überträgt das DCM 12, wenn das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird, die Umschreibespezifikationsdaten und Schreibdaten an das CGW 13.
  • Wie in 102 gezeigt, enthält das CGW 13 einen Sicherheitsbereich 78a (entsprechend einer Entschlüsselungsschlüsselspeichereinheit), eine Zufallszahlenwert-Extraktionseinheit 78b (entsprechend einer Schlüsselableitungswert-Extraktionseinheit), eine Schlüsselmusterextraktionseinheit 78c, eine Entschlüsselungsbetriebsmuster-Extraktionseinheit 78d, eine Schlüsselerzeugungseinheit 78e, eine Sicherheitszugriffsausführungseinheit 78f, eine Sitzungsübergangsanfrageeinheit 78g und eine Schlüssellöscheinheit 78h in der Sicherheitszugriffsschlüssel-Verwaltungseinheit 78. Im Sicherheitsbereich 78a kann die darin enthaltene Information nicht von außerhalb der ECU 19 gelesen werden und befinden sich ein Verschlüsselungs-/Entschlüsselungsschlüssel eines Sicherheitszugriffsschlüssels und ein Entschlüsselungsbetriebsalgorithmus. Die Zufallszahlenwert-Extraktionseinheit 78b extrahiert, aus einem Analyseergebnis der CGW-Umschreibespezifikationsdaten, einen Zufallszahlenwert (Schlüsselableitungswert), der in den Umschreibespezifikationsdaten enthalten ist. Der Zufallszahlenwert ist ein in Korrelation mit der ECU (ID) der Umschreibeziel-ECU 19 verschlüsselter Wert.
  • Die Schlüsselmusterextraktionseinheit 78c extrahiert, aus einem Analyseergebnis der CGW-Umschreibespezifikationsdaten, ein in den Umschreibespezifikationsdaten enthaltenes Schlüsselmuster. Die Entschlüsselungsbetriebsmuster-Extraktionseinheit 78d extrahiert, aus einem Analyseergebnis der CGW-Umschreibespezifikationsdaten, ein in den Umschreibespezifikationsdaten enthaltenes Entschlüsselungsbetriebsmuster.
  • Wenn der Zufallszahlenwert durch die Zufallszahlenwert-Extraktionseinheit 78b extrahiert wird, durchsucht die Schlüsselerzeugungseinheit 78e den Sicherheitsbereich 78a, entschlüsselt den extrahierten Zufallszahlenwert unter Verwendung eines Entschlüsselungsschlüssels entsprechend der ECU (ID) aus einem Bündel von Entschlüsselungsschlüsseln des Sicherheitszugriffsschlüssels im Sicherheitsbereich 78a, und erzeugt den Sicherheitszugriffsschlüssel. In diesem Fall entschlüsselt die Schlüsselerzeugungseinheit 78e den Schlüsselableitungswert gemäß einem Entschlüsselungsbetriebsverfahren, das durch das Entschlüsselungsbetriebsmuster spezifiziert wird, das von der Entschlüsselungsbetriebsmuster-Extraktionseinheit 78d extrahiert wird, unter Verwendung eines Entschlüsselungsschlüssels, der durch das von der Schlüsselmusterextraktionseinheit 78c extrahierte Schlüsselmuster spezifiziert wird. D.h., mehrere Schlüsselmuster und mehrere Entschlüsselungsbetriebsmuster werden vorbereitet, und ein Schlüsselmuster und ein Entschlüsselungsbetriebsmuster werden durch die CGW-Umschreibespezifikationsdaten spezifiziert, und somit erzeugt die Schlüsselerzeugungseinheit 78e einen Sicherheitszugriffsschlüssel unter Verwendung des Schlüsselmusters und des Entschlüsselungsbetriebsmusters.
  • Wenn der Sicherheitszugriffsschlüssel von der Schlüsselerzeugungseinheit 78e erzeugt wird, führt die Sicherheitszugriffsausführungseinheit 78f den Sicherheitszugriff auf die Umschreibeziel-ECU 19 unter Verwendung des erzeugten Sicherheitszugriffsschlüssels aus. Insbesondere sendet die Sicherheitszugriffsausführungseinheit 78f verschlüsselte Daten, in denen eine ECU (ID) z.B. unter Verwendung eines Sicherheitszugriffsschlüssels verschlüsselt ist, und fragt einen Zugriff auf die Umschreibeziel-ECU 19 an. Wenn die verschlüsselten Daten empfangen werden, entschlüsselt die Umschreibeziel-ECU 19 die empfangenen verschlüsselten Daten unter Verwendung des von ihr selbst gehaltenen Sicherheitszugriffsschlüssels. Die Umschreibeziel-ECU 19 vergleicht entschlüsselte Daten, die durch die Entschlüsselung erzeugt wurden, mit einer ECU (ID) davon und erlaubt den Zugriff auf die Umschreibeziel-ECU, wenn die Daten mit der ECU (ID) übereinstimmen, und erlaubt den Zugriff darauf nicht, wenn die Daten nicht mit der ECU (ID) übereinstimmen.
  • Die Sitzungsübergangsanfrageeinheit 78g fragt den Übergang zu einer Umschreibesitzung an. Nach Übergang von einer Standardsitzung zur Umschreibesitzung führt die Sicherheitszugriffsausführungseinheit 78f den Sicherheitszugriff aus. Nach Übergang zu einer Sitzung (z.B. einer Diagnosesitzung) verschieden von der Standardsitzung kann der Sicherheitszugriff erfolgen, und anschließend kann der Übergang zur Umschreibesitzung erfolgen. Die Schlüssellöscheinheit 78h löscht den von der Schlüsselerzeugungseinheit 78e erzeugten Sicherheitszugriffsschlüssel, nachdem der Sicherheitszugriff auf die Umschreibeziel-ECU 19 von der Sicherheitszugriffsausführungseinheit 78f ausgeführt und das Umschreiben eines Anwendungsprogramms in der Umschreibeziel-ECU 19 abgeschlossen wurde.
  • Nachstehend ist ein Betrieb der Sicherheitszugriffsschlüssel-Verwaltungseinheit 78 im CGW 13 unter Bezugnahme auf die 103 bis 105 beschrieben. Das CGW 13 führt ein Sicherheitszugriffsschlüssel-Verwaltungsprogramm aus und führt somit den Sicherheitszugriffsschlüssel-Verwaltungsprozess aus. Das CGW 13 führt einen Sicherheitszugriffsschlüssel-Erzeugungsprozess und einen Sicherheitszugriffsschlüssel-Löschprozess als den Sicherheitszugriffsschlüssel-Verwaltungsprozess aus. Nachstehend sind die Prozesse der Reihe nach beschrieben.
  • Sicherheitszugriffsschlüssel-Erzeugungsprozess
  • Wenn der Sicherheitszugriffsschlüssel-Erzeugungsprozess initiiert wird, analysiert das CGW 13 die vom DCM 12 erfassten Umschreibespezifikationsdaten (S601; entsprechend einer Umschreibespezifikationsdaten-Analyseprozedur) und extrahiert einen Zufallszahlenwert, ein Schlüsselmuster und ein Entschlüsselungsbetriebsmuster aus den CGW-Umschreibespezifikationsdaten (S602; entsprechend einer Schlüsselableitungswert-Extraktionsprozedur).
  • Das CGW 13 durchsucht den Sicherheitsbereich 78a, entschlüsselt den aus den CGW-Umschreibespezifikationsdaten extrahierten Zufallszahlenwert unter Verwendung eines Entschlüsselungsschlüssels entsprechend einer ECU (ID) aus einem Bündel von Entschlüsselungsschlüsseln eines Sicherheitszugriffsschlüssels im Sicherheitsbereich 78a und erzeugt den Sicherheitszugriffsschlüssel (S603; entsprechend einer Schlüsselerzeugungsprozedur).
  • Wie in 104 gezeigt, erzeugt das CGW 13 den Sicherheitszugriffsschlüssel aus den CGW-Umschreibespezifikationsdaten. Das CGW 13 stellt eine Sitzungsübergangsanfrage für den Übergang zu einer Umschreibesitzung, die Schreibdaten beschreibbar macht (S604), und führt den Sicherheitszugriff auf die Umschreibeziel-ECU 19 unter Verwendung des Sicherheitszugriffsschlüssels aus (S605). Wenn die Ausführung des Sicherheitszugriffs abgeschlossen ist, verteilt das CGW 13 die Schreibdaten an die Umschreibeziel-ECU 19 (S606) und stellt eine Sitzungshalteanfrage (S607). Wenn bestimmt wird, dass die Installation abgeschlossen ist (S608: JA), beendet das CGW 13 den Sicherheitszugriffsschlüssel-Erzeugungsprozess.
  • Sicherheitszugriffsschlüssel-Löschprozess
  • Wenn der Sicherheitszugriffsschlüssel-Löschprozess initiiert wird, bestimmt das CGW, ob oder nicht das Umschreiben des Anwendungsprogramms in der Umschreibeziel-ECU 19 abgeschlossen ist (S611). Wenn bestimmt wird, dass das Umschreiben des Anwendungsprogramms in der Umschreibeziel-ECU 19 abgeschlossen ist (S611: JA), führt das CGW 13 den Sicherheitszugriffsschlüssel-Erzeugungsprozess aus, um den erzeugten Sicherheitszugriffsschlüssel zu löschen (S612), und beendet den Sicherheitszugriffsschlüssel-Löschprozess.
  • Wie oben beschrieben, führt das CGW 13 den Sicherheitszugriffsschlüssel-Verwaltungsprozess aus, extrahiert einen Zufallszahlenwert entsprechend der Umschreibeziel-ECU 19 aus einem Analyseergebnis der Umschreibespezifikationsdaten, entschlüsselt den Zufallszahlenwert unter Verwendung eines Entschlüsselungsschlüssels entsprechend der Umschreibeziel-ECU 19, der im Sicherheitsbereich 78a gespeichert ist, und erzeugt einen Sicherheitszugriffsschlüssel. Das CGW 13 erzeugt einen Sicherheitszugriffsschlüssel, ohne den Sicherheitszugriffsschlüssel von außen zu erfassen, und somit kann der Sicherheitszugriff auf die Umschreibeziel-ECU 19 in geeigneter Weise erfolgen, während das Risiko eines Sicherheitszugriffsschlüssel-Lecks reduziert wird.
  • Wenn mehrere Umschreibeziel-ECUs 19 vorhanden sind, ist es wünschenswert, dass das CGW 13 einen Sicherheitszugriffsschlüssel erzeugt, unmittelbar bevor jeder Teil von Schreibdaten erzeugt wird. Mit anderen Worten, in einem Fall, in dem die Ziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, ist es wünschenswert, dass das CGW 13 Prozesse zum Erzeugen eines Sicherheitszugriffsschlüssels der ECU (ID1), Installieren von Schreibdaten in der ECU (ID1), Erzeugen eines Sicherheitszugriffsschlüssels der ECU (ID2), Installieren von Schreibdaten in der ECU (ID2), Erzeugen eines Sicherheitszugriffsschlüssels der ECU (ID3) und Installieren von Schreibdaten in der ECU (ID3) in dieser Reihenfolge ausführt. Wie in 99 gezeigt, führt das CGW 13 beispielsweise einen Sicherheitszugriffsprozess aus, um zu bestimmen, ob oder nicht die Installationsbedingungen für die ECU (ID1) erfüllt sind, und weist die ECU (ID1) an, die Installation in einem Fall auszuführen, in dem der Zugriff normal erlaubt wird. Anschließend führt das CGW 13 einen Sicherheitszugriffsprozess aus, um zu bestimmen, ob oder nicht die Installationsbedingungen für die ECU (ID2) erfüllt sind, und weist die ECU (ID2) an, die Installation in einem Fall auszuführen, in dem der Zugriff normal erlaubt wird.
  • Wenn das CGW 13 einen Sicherheitszugriff auf die Umschreibeziel-ECU 19 ausführt, die daraufhin den Zugriff darauf erlaubt, entsperrt die Umschreibeziel-ECU den Sicherheitszugriff, indem sie eine Sitzungsübergangsanfrage vom CGW 13 empfängt, und macht damit Schreibdaten in den Flash-Speicher schreibbar. Die Sitzungsübergangsanfrage ist z.B. eine „Umschreibesitzungsübergangsanfrage“ in einen zweiten Zustand gemäß 191. Wenn die Umschreibeziel-ECU 19 die Sitzungsübergangsanfrage vom CGW 13 nicht innerhalb einer vorbestimmten Zeit (z.B. 5 Sekunden) empfängt, nachdem sie den Zugriff darauf erlaubt hat, geht die Umschreibeziel-ECU in einen Time-out (Zeitüberschreitung) über, sperrt den Sicherheitszugriff und akzeptiert den Empfang der Sitzungsübergangsanfrage nicht. In einem Fall, in dem das CGW 13 die Sitzungsübergangsanfrage nicht innerhalb einer vorbestimmten Zeit nach dem Spezifizieren der Zugriffserlaubnis auf die Umschreibeziel-ECU 19 an die Umschreibeziel-ECU 19 sendet, muss das CGW eine Sitzungshalteanfrage an die Umschreibeziel-ECU 19 senden, die Umschreibeziel-ECU 19 davor bewahren, in den Time-out überzugehen, und die Sitzungsübergangsanfrage an die Umschreibeziel-ECU 19 senden.
  • Wenn z.B. eine Kampagnenbenachrichtigung zur Version 2.0 durch Abbrechen eines Betriebs inmitten des Umschreibens in einem Zustand auftritt, in dem ein Anwendungsprogramm der Version 1.0 in eine aktive Bank geschrieben wird und ein Anwendungsprogramm der Version 2.0 in eine inaktive Bank geschrieben wird, und wenn aus diesem Zustand heraus vorzugsweise nur die Aktivierung ohne Ausführung der Installation erfolgt, kann der Sicherheitszugriffsprozess entfallen.
  • Schreibdatenverifizierungsprozess
  • Nachstehend ist der Schreibdatenverifizierungsprozess unter Bezugnahme auf die 106 bis 114 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 verifiziert Schreibdaten im CGW 13. Das CGW 13 kann den in der vorliegenden Ausführungsform beschriebenen Schreibdatenverifizierungsprozess vor Erfassung einer Zugriffserlaubnis im (6) Sicherheitszugriffsschlüssel-Verwaltungsprozess ausführen oder den Schreibdatenverifizierungsprozess nach Erfassung der Zugriffserlaubnis ausführen.
  • Wie in 106 gezeigt, erzeugt der Anbieter oder der OEM, wenn die Schreibdaten erzeugt werden, einen Datenverifizierungswert, indem er einen Datenverifizierungswert-Berechnungsalgorithmus auf die erzeugten Schreibdaten anwendet. Dabei können die Schreibdaten ein neues Programm für eine Aktualisierung oder Differenzdaten zwischen einem alten und einem neuen Programm sein. Der Anbieter oder der OEM erzeugt einen Authentifikator, indem er den Datenverifizierungswert mit einem vorbestimmten Schlüssel (Schlüsselwert) verschlüsselt und die Schreibdaten und den Authentifikator in der Zentralvorrichtung 3 in Korrelation zueinander registriert. Insbesondere werden die Daten für jede ECU 19 in der Umprogrammierungsdaten-DB gespeichert, die nachstehend noch beschrieben ist. Die Zentralvorrichtung 3 erzeugt ein Verteilungspaket, das die Schreibdaten und den Authentifikator enthält, und speichert das Verteilungspaket in der Paket-DB.
  • Wenn eine Download-Anfrage für das Verteilungspaket von der Master-Vorrichtung 11 erzeugt wird, sendet die Zentralvorrichtung 3 das Verteilungspaket mit den Schreibdaten und dem Authentifikator im Ansprechen auf die Download-Anfrage an die Master-Vorrichtung 11. In diesem Fall sind die von der Zentralvorrichtung 3 an die Master-Vorrichtung 11 gesendeten Schreibdaten Chiffretext, und der von der Zentralvorrichtung 3 an die Master-Vorrichtung 11 gesendete Authentifikator ist ebenfalls Chiffretext. Der von der Zentralvorrichtung 3 an die Master-Vorrichtung 11 gesendete Authentifikator kann Klartext sein. Wenn der von der Zentralvorrichtung 3 an die Master-Vorrichtung 11 gesendete Authentifikator Klartext ist, ist ein nachstehend noch beschriebener Entschlüsselungsprozess nicht erforderlich.
  • Wenn das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird, extrahiert die Master-Vorrichtung 11 die Schreibdaten für die Umschreibeziel-ECU 19 aus dem heruntergeladenen Verteilungspaket und überprüft die Validität der Schreibdaten, bevor sie die Schreibdaten an die Umschreibeziel-ECU 19 verteilt. D.h., die Master-Vorrichtung 11 führt nacheinander einen Entschlüsselungsprozess, einen ersten Verifizierungswertberechnungsprozess, einen zweiten Verifizierungswertberechnungsprozess, einen Vergleichsprozess und einen Bestimmungsprozess aus und verifiziert so die Schreibdaten. Der Entschlüsselungsprozess ist ein Prozess zum Entschlüsseln des im Chiffretext gesendete Authentifikator. Der erste Verifizierungswertberechnungsprozess ist ein Prozess zum Berechnen eines ersten Datenverifizierungswerts, der ein Erwartungswert ist, aus dem entschlüsselten Authentifikator unter Verwendung des Schlüssels (Schlüsselwert). Der zweite Verifizierungswertberechnungsprozess ist ein Prozess zum Berechnen eines zweiten Datenverifizierungswerts aus den Schreibdaten unter Verwendung des Datenverifizierungswert-Berechnungsalgorithmus. Der Vergleichsprozess ist ein Prozess zum Vergleichen des ersten Datenverifizierungswerts mit dem zweiten Datenverifizierungswert. Der Bestimmungsprozess ist ein Prozess zum Bestimmen der Validität der Schreibdaten auf der Grundlage eines Vergleichsergebnisses im Vergleichsprozess.
  • Wie in 107 gezeigt, enthält das CGW 13 eine Schreibbarkeitsbestimmungseinheit 79a, eine Prozessausführungsanfrageeinheit 79b, eine Prozessergebniserfassungseinheit 79c und eine Verifizierungseinheit 79d in der Schreibdatenverifizierungseinheit 79. Die Schreibbarkeitsbestimmungseinheit 79a bestimmt, ob oder nicht Schreibdaten in die Umschreibeziel-ECU 19 geschrieben werden können. Wenn von der Schreibbarkeitsbestimmungseinheit 69a bestimmt wird, dass die Schreibdaten in die Umschreibeziel-ECU 19 geschrieben werden können, benachrichtigt die Prozessausführungsanfrageeinheit 79b das DCM 12 über eine Prozessausführungsanfrage und fordert somit das DCM 12 zum Ausführen eines Prozesses auf. Die Prozessausführungsanfrageeinheit 68b benachrichtigt das DCM 12 über eine Anfrage zum Ausführen von mindestens einem der Prozesse Entschlüsselungsprozess, erster Verifizierungswertberechnungsprozess, zweiter Verifizierungswertberechnungsprozess, Vergleichsprozess und Bestimmungsprozess. Die Prozessergebniserfassungseinheit 68c wird über ein Prozessergebnis vom DCM 12 informiert und erfasst so das Prozessergebnis vom DCM 12. Wenn das Prozessergebnis durch die Prozessergebniserfassungseinheit 68c erfasst wird, verifiziert die Verifizierungseinheit 79d die Schreibdaten unter Verwendung des Prozessergebnisses. D.h., in der Konfiguration entspricht das CGW 13 einer ersten Vorrichtung und einer ersten Funktionseinheit und entspricht das DCM 12 einer zweiten Vorrichtung und einer zweiten Funktionseinheit.
  • Nachstehend ist ein Betrieb der Schreibdatenverifizierungseinheit 79 im CGW 13 unter Bezugnahme auf die 108 bis 113 beschrieben. Das CGW 13 führt das Verifizierungsprogramm der Schreibdaten aus und führt den Verifizierungsprozess der Schreibdaten aus.
  • Wenn der Schreibdatenverifizierungsprozess initiiert wird, benachrichtigt das CGW 13 das DCM 12 über eine Prozessausführungsanfrage und fordert somit das DCM 12 auf, einen Prozess auszuführen (S701; entsprechend einer Prozessausführungsanfrageprozedur). Das CGW 13 benachrichtigt das DCM 12 über eine Prozessausführungsanfrage für mindestens einen der Prozesse Entschlüsselungsprozess, erster Verifizierungswertberechnungsprozess, zweiter Verifizierungswertberechnungsprozess, Vergleichsprozess und Bestimmungsprozess. Wenn ein Prozessergebnis vom DCM 12 erfasst wird (S702; entsprechend einer Prozessergebniserfassungsprozedur), verifiziert das CGW 13 die Schreibdaten unter Verwendung des erfassten Prozessergebnisses (S703; entsprechend einer Verifizierungsprozedur).
  • Nachstehend sind einige Fälle veranschaulicht, in denen das CGW 13 das DCM 12 über eine Prozessausführungsanfrage informiert. In einem in 109 gezeigten Beispiel informiert das CGW 13 das DCM 12 über Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess und den zweiten Verifizierungswertberechnungsprozess. Wenn dem DCM 12 die Prozessausführungsanfragen für den Entschlüsselungsprozess vom CGW 13, den ersten Verifizierungswertberechnungsprozess und den zweiten Verifizierungswertberechnungsprozess mitgeteilt werden, führt das DCM nacheinander den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess und den zweiten Verifizierungswertberechnungsprozess aus. Das DCM 12 führt einen Prozessergebnisbenachrichtigungsprozess aus und informiert das CGW 13 über einen ersten Datenverifizierungswert, der anhand des ersten Verifizierungswertberechnungsprozesses berechnet wurde, und einen zweiten Datenverifizierungswert, der anhand des zweiten Verifizierungswertberechnungsprozesses berechnet wurde, als Prozessergebnisse. Wenn das CGW 13 einen Prozessergebniserfassungsprozess ausführt und den ersten Datenverifizierungswert und den zweiten Datenverifizierungswert vom DCM 12 erfasst, führt das CGW sequenziell den Vergleichsprozess und den Bestimmungsprozess unter Verwendung des ersten Datenverifizierungswerts und des zweiten Datenverifizierungswerts aus. Das CGW 13 verifiziert die Schreibdaten auf der Grundlage der Richtigkeit eines Bestimmungsergebnisses im Bestimmungsprozess. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizierungswerts.
  • In einem in 110 gezeigten Beispiel benachrichtigt das CGW 13 das DCM 12 über Prozessausführungsanfragen für den Entschlüsselungsprozess und den zweiten Verifizierungswertberechnungsprozess. Wenn dem DCM 12 die Prozessausführungsanfragen für den Entschlüsselungsprozess und den zweiten Verifizierungswertberechnungsprozess vom CGW 13 mitgeteilt werden, führt das DCM sequenziell den Entschlüsselungsprozess und den zweiten Verifizierungswertberechnungsprozess aus und meldet dem CGW 13 einen zweiten Datenverifizierungswert, der anhand des zweiten Verifizierungswertberechnungsprozesses berechnet wurde. Wenn das CGW 13 einen Prozessergebniserfassungsprozess ausführt und den zweiten Datenverifizierungswert vom DCM 12 erfasst, führt das CGW den ersten Verifizierungswertberechnungsprozess aus und sequenziell den Vergleichsprozess und den Bestimmungsprozess unter Verwendung des ersten Datenverifizierungswerts, der anhand des ersten Verifizierungswertberechnungsprozesses berechnet wurde, und des zweiten Datenverifizierungswerts aus. Das CGW 13 verifiziert die Schreibdaten auf der Grundlage der Richtigkeit eines Bestimmungsergebnisses im Bestimmungsprozess. In diesem Beispiel speichert das CGW 13 einen Schlüssel zum Berechnen des ersten Datenverifizierungswerts.
  • In dem in 111 gezeigten Beispiel meldet das CGW 13 dem DCM 12 Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess und den Vergleichsprozess. Wenn dem DCM 12 die Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess und den Vergleichsprozess vom CGW 13 mitgeteilt werden, führt das DCM sequenziell den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess und den Vergleichsprozess aus. Das DCM 12 führt einen Prozessergebnisbenachrichtigungsprozess aus und benachrichtigt das CGW 13 über ein Vergleichsergebnis im Vergleichsprozess als ein Prozessergebnis. Wenn das CGW 13 einen Prozessergebniserfassungsprozess ausführt und das Vergleichsergebnis vom DCM 12 erfasst, führt das CGW den Bestimmungsprozess unter Verwendung des Vergleichsergebnisses aus. Das CGW 13 verifiziert die Schreibdaten auf der Grundlage der Richtigkeit eines Bestimmungsergebnisses im Bestimmungsprozess. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizierungswerts.
  • In einem in 112 gezeigten Beispiel benachrichtigt das CGW 13 das DCM 12 über Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess, den Vergleichsprozess und den Bestimmungsprozess. Wenn dem DCM 12 die Prozessausführungsanfragen für den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess, den Vergleichsprozess und den Bestimmungsprozess vom CGW 13 mitgeteilt werden, führt das DCM sequenziell den Entschlüsselungsprozess, den ersten Verifizierungswertberechnungsprozess, den zweiten Verifizierungswertberechnungsprozess, den Vergleichsprozess und den Bestimmungsprozess aus. Das DCM 12 führt einen Prozessergebnisbenachrichtigungsprozess aus und benachrichtigt das CGW 13 über ein Bestimmungsergebnis im Bestimmungsprozess als ein Prozessergebnis. Wenn das CGW 13 einen Prozessergebniserfassungsprozess ausführt und das Prozessergebnis vom DCM 12 erfasst, verifiziert das CGW die Schreibdaten auf der Grundlage der Richtigkeit des durch das Prozessergebnis angezeigten Bestimmungsergebnisses. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizierungswerts.
  • In einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind, führt das CGW 13 einen Verifizierungsprozess an Schreibdaten für zwei oder mehr der Umschreibeziel-ECUs 19 wie folgt aus. In einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind, weist das CGW 13 ein Verfahren zum kollektiven Verifizieren von Schreibdaten für die mehreren Umschreibeziel-ECUs 19 und ein Verfahren zum individuellen Verifizieren von Schreibdaten auf.
  • Bei dem Verfahren zum kollektiven Verifizieren der Schreibdaten für mehrere Umschreibeziel-ECUs 19 verifiziert das CGW 13, wie in 19 gezeigt, kollektiv 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 Teile von Schreibdaten der mehreren Umschreibeziel-ECUs 19 kollektiv verifiziert, und somit ist es möglich, die Zeit von der Initiierung der Verifizierung der Schreibdaten der mehreren Umschreibeziel-ECUs 19 bis zum Abschluss des Umschreibens eines Programms zu reduzieren. D.h., es ist möglich, die Zeit, die vom Initiieren der Verifikation von Teilen von Schreibdaten von mehreren Umschreibeziel-ECUs 19 bis zum Abschluss des Umschreibens eines Programms benötigt wird, stärker zu reduzieren als in einer Konfiguration, in der die Teile von Schreibdaten der mehreren Umschreibeziel-ECUs 19 einzeln verifiziert werden.
  • Bei dem Verfahren zum individuellen Verifizieren der Schreibdaten von mehreren Umschreibeziel-ECUs 19 verifiziert das CGW 13, wie in 114 gezeigt, 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 verifiziert, unmittelbar bevor die Schreibdaten verteilt werden, so dass ein illegaler Zugriff verhindert und damit die Zuverlässigkeit erhöht werden kann. Mit anderen Worten, in der Konfiguration, in der die Schreibdaten kollektiv für mehrere Umschreibeziel-ECUs 19 verifiziert werden, variiert die Zeit vom Abschluss der Verifizierung gemäß einer Umschreibe-Reihenfolge bis zur Verteilung der Schreibdaten in Abhängigkeit von der Umschreibe-Reihenfolge, und wenn die Zeit vom Abschluss der Verifizierung bis zur Verteilung der Schreibdaten zunimmt, besteht die Sorge, dass ein Risiko der Verfälschung durch illegalen Zugriff während dieser Zeit besteht, kann eine solche Situation jedoch verhindert werden, indem die Schreibdaten verifiziert werden, unmittelbar bevor die Schreibdaten verteilt werden.
  • Wie oben beschrieben, führt das CGW 13 den Schreibdatenverifizierungsprozess aus und veranlasst somit das DCM 12, das ein Verteilungspaket von der Zentralvorrichtung 3 herunterlädt, zumindest einige der Prozesse in Bezug auf eine Verifizierung der Schreibdaten auszuführen. Auch wenn in dem CGW 13 oder in der Umschreibeziel-ECU 19 ein Bereich zum Speichern von Schreibdaten nicht zugewiesen oder ein Verifizierungsberechnungsprogramm installiert werden kann, können die Schreibdaten in geeigneter Weise verifiziert werden, bevor die Schreibdaten in die Umschreibeziel-ECU 19 geschrieben werden.
  • In der Konfiguration, in der das CGW 13 von 110 den ersten Verifizierungswertberechnungsprozess ausführt, kann, da das CGW 13 den Schlüssel (Schlüsselwert) speichert und den Verifizierungsprozess ausführt, ohne den Schlüssel an das DCM 12 zu senden, die Sicherheit im Vergleich zu einer Konfiguration, in der das DCM 12 den ersten Verifizierungswertberechnungsprozess ausführt, erhöht werden. In einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind, kann der erste Verifizierungswertberechnungsprozess unter Verwendung eines gemeinsamen Schlüssels (Schlüsselwerts) ausgeführt werden, der den mehreren Umschreibeziel-ECUs 19 gemeinsam ist, und kann der erste Verifizierungswertberechnungsprozess unter Verwendung verschiedener individueller Schlüssel (Schlüsselwerte) in den mehreren Umschreibeziel-ECUs 19 ausgeführt werden.
  • Obgleich vorstehend die Konfiguration aufgezeigt ist, in der das CGW 13 das DCM 12 über die Prozessausführungsanfrage informiert, kann in einem Fall, in dem eine Verarbeitungslast im DCM 12 zunimmt und somit ein Problem in einem ursprünglichen Prozess auftritt, eine Navigationsvorrichtung oder eine ECU verschieden von der die Umschreibeziel-ECU 19 anstelle des DCM 12 verwendet werden, um die Navigationsvorrichtung oder die ECU verschieden von der Umschreibeziel-ECU 19 über die Prozessausführungsanfrage zu benachrichtigen.
  • In einem Fall, in dem das DCM 12 und das CGW 13 miteinander integriert sind und einen ursprünglichen Prozess ohne Probleme bewältigen können, kann die Prozessausführungsanfrage bei der Prozessausführungseinheit der Prozessausführungseinheit selbst angefragt werden. Der Prozess kann z.B. zwischen verschiedenen Softwarekomponenten in derselben ECU ausgeführt werden. Die vorstehend beschriebene Erfindung kann auf die Master-Vorrichtung 11 angewandt werden, die als eine integrierte ECU mit den Funktionen des DCM 12 und des CGW 13 konfiguriert ist. Beispielsweise ist in den 109 bis 112 die Prozessfunktion im CGW 13 als eine erste Funktionseinheit bestimmt und die Prozessfunktion im DCM 12 als eine zweite Funktionseinheit bestimmt, und die erste Funktionseinheit benachrichtigt die zweite Funktionseinheit über eine Prozessausführungsanfrage, und ein Ausführungsergebnis wird von der zweiten Funktionseinheit an die erste Funktionseinheit retourniert. In der Master-Vorrichtung 11, das als eine integrierte ECU konfiguriert ist, kann in einem Fall, in dem eine Verarbeitungslast zunimmt und somit ein Problem in einem Kommunikationsprozess oder einem Weiterleitungsprozess auftritt, die Navigationsvorrichtung oder eine ECU verschieden von der Umschreibeziel-ECU 19 anstelle der zweiten Funktionseinheit über eine Prozessausführungsanfrage benachrichtigt werden.
  • Als der Datenverifizierungswert kann ein einzelner Wert für das gesamte Anwendungsprogramm berechnet werden, und mehrere Werte können für jeweilige Blöcke des Anwendungsprogramms berechnet werden. Wenn es sich bei den Schreibdaten um vollständige Daten handelt, kann der Datenverifizierungswert zur Integritätsprüfung (Verifizierung) verwendet werden, und zwar nach Abschluss der Schreibdaten.
  • Während der Sicherheitszugriff ein Verfahren zum Verifizieren ist, ob oder nicht das CGW 13 und die Umschreibeziel-ECU 19 verbindbar sind, umfasst die Verifizierung der Schreibdaten die Konzepte, dass die Zentralvorrichtung 3, die ein Verteilungsziel der Schreibdaten ist, genehmigt wird (Verbindung und gegenseitige Authentifizierung per TLS-Kommunikation), ein Kommunikationskanal zum Herunterladen der Schreibdaten von der Zentralvorrichtung 3 genehmigt wird (Kommunikationskanalverschleierung oder -verschlüsselung), die von der Zentralvorrichtung 3 heruntergeladenen Schreibdaten nicht gefälscht sind (Fälschungserfassung) und die von der Zentralvorrichtung 3 heruntergeladenen Schreibdaten nicht gefälscht werden können (Verschlüsselung).
  • Vorstehend sind die Schreibdaten zur Zeit des Umschreibens eines neuen Programms beschrieben, aber das Gleiche gilt für Schreibdaten beim Rollback zur Zeit eines Rollbacks zu einem alten Programm. In diesem Fall kann das CGW 13 die Schreibdaten während des Rollbacks zur Zeit des Herunterladens der Schreibdaten von der Zentralvorrichtung 3 verifizieren, kann die Rollback-Schreibdaten aber auch unmittelbar vor der Verteilung der Rollback-Schreibdaten an die Umschreibeziel-ECU 19 verifizieren, wenn eine Schreibabbruchanfrage erzeugt wird.
  • Datenspeicherbank-Informationssendesteuerprozess
  • Nachstehend ist der Datenspeicherbank-Informationssendesteuerprozess unter Bezugnahme auf die 115 bis 117 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Datenspeicherbank-Informationssendesteuerprozess im CGW 13 aus.
  • Wie in 115 gezeigt, enthält das CGW 13 eine Datenspeicherbank-Informationserfassungseinheit 80a, eine Datenspeicherbank-Informationssendeeinheit 80b, eine Umschreibeverfahrenspezifikationseinheit 80c und eine Umschreibeverfahrenbefehlseinheit 80d in der Datenspeicherbank-Informationssendesteuereinheit 80. Die Datenspeicherbank-Informationserfassungseinheit 80a erfasst Information über Hardware und Software von den jeweiligen ECUs 19 als ECU-Konfigurationsinformation. Insbesondere im Fall einer Zwei-Bank-Speicher-ECU und einer Ein-Bank-Suspend-Speicher-ECU mit mehreren Datenspeicherbänken werden eine Software-ID, die Versionsinformation von jeder der Datenspeicherbänke enthält, und Information, die eine aktive Bank-A spezifizieren kann, als Zwei-Bank-Umschreibe-Information erfasst (im Folgenden als Bank-Information bezeichnet).
  • Wenn die ECU-Konfigurationsinformation einschließlich der Bank-Information von der Datenspeicherbank-Informationserfassungseinheit 80a erfasst wird, sendet die Datenspeicherbank-Informationssendeeinheit 80b die erfasste Bank-Information vom DCM 12 an die Zentralvorrichtung 3 als eine Information der ECU-Konfigurationsinformation. Die Datenspeicherbank-Informationssendeeinheit 80b kann die ECU-Konfigurationsinformation jedes Mal, wenn der IG-Schalter 42 zwischen einem EIN-Zustand und einem AUS-Zustand umschaltet, an die Zentralvorrichtung 3 senden und kann die ECU-Konfigurationsinformation im Ansprechen auf eine Anfrage von der Zentralvorrichtung 3 an die Zentralvorrichtung 3 senden. Die Datenspeicherbank-Informationssendeeinheit 80b kann die ECU-Konfigurationsinformation nicht nur an eine Zwei-Bank-Speicher-ECU und eine Ein-Bank-Suspend-Speicher-ECU senden, sondern ebenso an eine Ein-Bank-Speicher-ECU, und zwar zusammen mit einer ECU-Konfiguration einschließlich der Bank-Information.
  • Die Umschreibeverfahrenspezifikationseinheit 80c spezifiziert ein Umschreibeverfahren auf der Grundlage eines Analyseergebnisses von Umschreibespezifikationsdaten für das CGW 13. Das Umschreibeverfahren zeigt ein Energieversorgungsumschaltverfahren während einer Installation in der Umschreibeziel-ECU 19. Wenn das Umschreibeverfahren durch die Umschreibeverfahrenspezifikationseinheit 80c spezifiziert wird, weist die Umschreibeverfahrenbefehlseinheit 80d die Umschreibeziel-ECU 19 an, ein Anwendungsprogramm gemäß dem spezifizierten Umschreibeverfahren umzuschreiben. D.h., wenn ein Umschreibeverfahren basierend auf Selbsterhaltungsenergie durch die Umschreibeverfahrenspezifikationseinheit 80c spezifiziert wird, weist die Umschreibeverfahrenbefehlseinheit 80d die Umschreibeziel-ECU 19 an, ein Anwendungsprogramm basierend auf der Selbsterhaltungsenergie umzuschreiben. Wenn ein Umschreibeverfahren basierend auf einer Energieversorgungssteuerung durch die Umschreibeverfahrenspezifikationseinheit 80c spezifiziert wird, weist die Umschreibeverfahrenbefehlseinheit 80d die Umschreibeziel-ECU 19 an, ein Anwendungsprogramm basierend auf der Energieversorgungssteuerung umzuschreiben, ohne die Selbsterhaltungsenergie zu verwenden.
  • Nachstehend ist ein Betrieb der Datenspeicherbank-Informationssendesteuereinheit 80 im CGW 13 unter Bezugnahme auf die 116 und 117 beschrieben. Das CGW 13 führt ein Datenspeicherbank-Informationssendesteuerprogramm aus und führt somit den Datenspeicherbank-Informationssendesteuerprozess aus.
  • Wenn der Datenspeicherbank-Informationssendesteuerprozess initiiert wird, sendet das CGW 13 eine ECU-Konfigurationsinformationsanfrage einschließlich der Bank-Information an alle ECUs 19 (S801) und erfasst ECU-Konfigurationsinformation einschließlich der Bank-Information von allen ECUs 19 (S802; entsprechend einer Datenspeicherbank-Informationserfassungsprozedur). Wenn die ECU-Konfigurationsinformation von jeder Umschreibeziel-ECU 19 erfasst wird, sendet das CGW 13 die erfasste ECU-Konfigurationsinformation an das DCM 12 (S803; entsprechend einer Datenspeicherbank-Informationssendeprozedur) und wartet darauf, dass Schreibdaten und Umschreibespezifikationsdaten vom DCM 12 erfasst werden (S804). Hier kann in einem Fall, in dem die Umschreibeziel-ECU 19 im Voraus spezifiziert wird, das CGW 13 Bank-Information oder dergleichen nur von der spezifizierten Umschreibeziel-ECU 19 erfassen.
  • Wenn die ECU-Konfigurationsinformation vom CGW 13 empfangen wird, speichert das DCM 12 die empfangene ECU-Konfigurationsinformation temporär und sendet die ECU-Konfigurationsinformation zu einem Timing an die Zentralvorrichtung 3, zu dem die ECU-Konfigurationsinformation an die Zentralvorrichtung 3 gesendet (hochgeladen) wird. Wenn die ECU-Konfigurationsinformation vom DCM 12 empfangen wird, speichert und analysiert die Zentralvorrichtung 3 die empfangene ECU-Konfigurationsinformation.
  • Die Zentralvorrichtung 3 spezifiziert auf jeder Bank von jeder ECU 19, die eine Sendequelle der Bank-Information ist, eine Version eines Anwendungsprogramms und welche Bank eine aktive Bank ist, und spezifiziert Schreibdaten entsprechend der Version des Anwendungsprogramms und der aktiven Bank entsprechend den spezifizierten Doppel-Bänken (entsprechend einer Aktualisierungsdatenauswahlprozedur). Beispielsweise spezifiziert die Zentralvorrichtung 3 in einem Fall, in dem die Bank-A eine aktive Bank ist, das in der aktiven Bank gespeicherte Anwendungsprogramm die Version 2.0 aufweist, die Bank-B eine inaktive Bank ist und das in der inaktiven Bank gespeicherte Anwendungsprogramm die Version 1.0 aufweist, Schreibdaten der Version 3.0 für die Bank-B als die Schreibdaten. In einem Fall, in dem die Schreibdaten Differenzdaten sind, spezifiziert die Zentralvorrichtung 3 die Differenzdaten zum Aktualisieren von der Version 1.0 auf die Version 3.0. Wenn die Schreibdaten spezifiziert sind, sendet die Zentralvorrichtung 3 ein Verteilungspaket mit den spezifizierten Schreibdaten und den Umschreibespezifikationsdaten an das DCM 12 (entsprechend einer Verteilungspaketsendeprozedur).
  • Die Zentralvorrichtung 3 kann ein an das DCM 12 zu sendendes Verteilungspaket statisch auswählen oder dynamisch erzeugen. In einem Fall, in dem die Zentralvorrichtung 3 das an das DCM 12 zu sendende Verteilungspaket statisch auswählt, verwaltet die Zentralvorrichtung mehrere Verteilungspakete, in denen die Schreibdaten gespeichert werden, wählt Schreibdaten entsprechend einer inaktiven Bank, wählt ein Verteilungspaket, in dem die ausgewählten Schreibdaten gespeichert werden, aus der mehreren Verteilungspaketen aus, und sendet das ausgewählte Verteilungspaket an das DCM 12. In einem Fall, in dem die Zentralvorrichtung 3 ein an das DCM 12 zu sendendes Verteilungspaket dynamisch erzeugt, erzeugt die Zentralvorrichtung, wenn Schreibdaten entsprechend der inaktiven Bank spezifiziert sind, ein Verteilungspaket, in dem die spezifizierten Schreibdaten gespeichert werden, und sendet das erzeugte Verteilungspaket an das DCM 12.
  • Wenn das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird, extrahiert das DCM 12 die Schreibdaten und die Umschreibespezifikationsdaten aus dem heruntergeladenen Verteilungspaket und überträgt die extrahierten Schreibdaten und die Umschreibespezifikationsdaten an das CGW 13.
  • Wenn bestimmt wird, dass die Schreibdaten und die Umschreibespezifikationsdaten vom DCM 12 erfasst werden (S804: JA), analysiert das CGW 13 die erfassten Umschreibespezifikationsdaten (S805) und bestimmt ein Umschreibeverfahren für die Umschreibeziel-ECU 19 auf der Grundlage eines Analyseergebnisses der Umschreibespezifikationsdaten (S806 und S807).
  • Wenn bestimmt wird, dass das Umschreibeverfahren ein Umschreibeverfahren ist, das Selbsterhaltungsenergie verwendet (S806: JA), sendet das CGW 13 eine Schreibdatenerfassungsanfrage an das DCM 12, und zwar unter der Bedingung, einen installierbaren Fahrzeugzustand aufzuweisen, erfasst die Schreibdaten vom DCM 12, verteilt die erfassten Schreibdaten an die Umschreibeziel-ECU 19, schreibt das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie um (S808) und beendet den Datenspeicherbank-Informationssendesteuerprozess. Das Verfahren zum Umschreiben des Anwendungsprogramms unter Verwendung der Selbsterhaltungsenergie ist dasselbe wie in (b) Fall, in dem das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie umgeschrieben wird, unter Bezugnahme auf die 64 und 65 beschrieben.
  • Wenn bestimmt wird, dass ein Umschreibeverfahren ein Umschreiben auf der Grundlage der Energieversorgungssteuerung ist (S807: JA), sendet das CGW 13 unter der Bedingung, dass das Fahrzeug geparkt ist, eine Schreibdatenerfassungsanfrage an das DCM 12, erfasst Schreibdaten vom DCM 12, verteilt die erfassten Schreibdaten an die Umschreibeziel-ECU 19, schreibt das Anwendungsprogramm unter Verwendung der Energieversorgungssteuerung um (S809) und beendet den Datenspeicherbank-Informationssendesteuerprozess. Das Verfahren zum Umschreiben des Anwendungsprogramms unter Verwendung der Energieversorgungssteuerung ist dasselbe wie in (a) Fall, in dem das Anwendungsprogramm unter Verwendung der Energieversorgungssteuerung umgeschrieben wird, unter Bezugnahme auf die 62 und 63 beschrieben.
  • Wie oben beschrieben, führt das CGW 13 den Datenspeicherbank-Informationssendesteuerprozess aus und benachrichtigt somit die Zentralvorrichtung 3 über ECU-Konfigurationsinformation einschließlich Bank-Information und lädt ein Verteilungspaket mit Schreibdaten entsprechend den ECU-Konfigurationsinformation von der Zentralvorrichtung 3 auf das DCM 12 herunter. Das CGW 13 erfasst Schreibdaten entsprechend der Bank-Information vom DCM 12 und verteilt die Schreibdaten an die Umschreibeziel-ECU 19. In einem Fall, in dem die ECU 19, die mit einem Flash-Speicher mit Doppel-Datenspeicherbänken ausgerüstet ist, ein Umschreibeziel ist, kann ein Anwendungsprogramm in geeigneter Weise umgeschrieben werden.
  • Als Aspekt, bei dem die Zentralvorrichtung 3 das Verteilungspaket verteilt, gibt es den folgenden ersten bis dritten Verteilungsaspekt. Bei dem ersten Verteilungsaspekt verteilt die Zentralvorrichtung 3 ein einziges Verteilungspaket, in dem z.B. Schreibdaten der Version 2.0 für die Bank-A und Schreibdaten der Version 2.0 für die Bank-B gespeichert sind. 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 von der Zentralvorrichtung 3 heruntergeladenen Verteilungspaket 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 vom DCM 12 übertragen werden, wählt das CGW 13 eines der beiden Teile von Schreibdaten aus und verteilt die ausgewählten Schreibdaten an die Umschreibeziel-ECU 19. D.h., es gibt eine Konfiguration, in der Schreibdaten entsprechend jeder Datenspeicherbank in einem Verteilungspaket enthalten sind und für die Umschreibeziel-ECU 19 geeignete Umschreibedaten in der Master-Vorrichtung 11 ausgewählt werden.
  • Bei dem zweiten Verteilungsaspekt wählt die Zentralvorrichtung 3 beispielsweise entweder ein Verteilungspaket aus, in dem Schreibdaten der Version 2.0 für die Bank-A gespeichert sind, oder ein Verteilungspaket, in dem Schreibdaten der Version 2.0 für die Bank-B gespeichert sind, und verteilt es. Das DCM 12 extrahiert die Schreibdaten aus dem von der Zentralvorrichtung 3 heruntergeladenen Verteilungspaket und überträgt die extrahierten Schreibdaten an das CGW 13. Das CGW 13 verteilt die vom DCM 12 übertragenen Schreibdaten an die Umschreibeziel-ECU 19. D.h., es gibt eine Konfiguration, in der die Zentralvorrichtung 3 ein Verteilungspaket mit Schreibdaten für eine inaktive Bank auf der Grundlage von vom DCM 12 hochgeladener Bank-Information auswählt.
  • Bei dem dritten Verteilungsaspekt verteilt die Zentralvorrichtung 3 ein Verteilungspaket aus, das z.B. Schreibdaten der Version 2.0 speichert, die von der Bank-A und der Bank-B gemeinsam genutzt werden. Das DCM 12 extrahiert die Schreibdaten der Version 2.0, die von der Bank-A und der Bank-B gemeinsam genutzt werden, aus dem von der Zentralvorrichtung 3 heruntergeladenen Verteilungspaket und überträgt die extrahierten Schreibdaten an das CGW 13. Das CGW 13 verteilt die vom DCM 12 übertragenen Schreibdaten der Version 2.0, die von der Bank-A und der Bank-B gemeinsam genutzt werden, an die Umschreibeziel-ECU 19. Wenn die Schreibdaten der Version 2.0, die von der Bank-A und der Bank-B gemeinsam genutzt werden, vom CGW 13 empfangen werden, schreibt die Umschreibeziel-ECU 19 die empfangenen Schreibdaten entweder in die Bank-A oder in die Bank-B. In diesem Fall, wenn ein Anwendungsprogramm in der Umschreibeziel-ECU 19 ausgeführt wird, arbeitet eine Adressenlösungsfunktion des Mikrocomputers, so dass die Umschreibeziel-ECU 19 angemessen betrieben wird, auch wenn die Schreibdaten entweder in die Bank-A oder die Bank-B geschrieben werden. D.h., der Mikrocomputer der Umschreibeziel-ECU 19 löst Unterschiede zwischen Ausführungsadressen aufgrund eines Unterschieds zwischen den Bänken derart, dass die Zentralvorrichtung 3 und die Master-Vorrichtung 11 betrieben werden können, ohne die Bänke zu kennen.
  • Die ECU-Konfigurationsinformation mit der Bank-Information, die vom CGW 13 über das DCM 12 an die Zentralvorrichtung 3 gesendet wird, kann nicht nur Information zum Spezifizieren einer Version eines Anwendungsprogramms und einer aktiven Bank entsprechend den Doppel-Bänken enthalten, sondern ebenso Fahrzeugspezifizierungsinformation, Systemspezifizierungsinformation, ECU-Spezifizierungsinformation, Nutzungsumgebungsinformation und dergleichen.
  • Die Fahrzeugspezifizierungsinformation ist eindeutige Information zum Spezifizieren eines Fahrzeugs, das ein Verteilungsziel eines Verteilungspakets ist, und ist z.B. eine Fahrzeugidentifikationsnummer bzw. Fahrgestellnummer (VIN). In Fahrzeugen, die unter die OBD-Vorschriften (OBD für On-Board-Diagnose) fallen, kann eine VIN in Übereinstimmung mit den Bestimmungen der OBD-Vorschriften verwendet werden, aber in Fahrzeugen, die nicht unter die OBD-Vorschriften fallen, wie z.B. EV-Fahrzeuge, ist die VIN nicht verfügbar, und daher kann individuelle Fahrzeugkenninformation anstelle der VIN verwendet werden.
  • Die Systemspezifizierungsinformation ist eindeutige Information zum Identifizieren des Typs von Umprogrammierungssystem. Das CGW 13 kann ein drahtloses Umschreiben für ein System ausführen, in dem ein drahtgebundenes Umschreiben per vom CGW verwalteter Diagnosekommunikation möglich ist, kann aber kein drahtloses Umschreiben für andere individuelle Systeme ausführen. Das liegt daran, dass das System ein Programm, das auf drahtlose Weise erfasst wird, mit einem Aktualisierungsmechanismus eines Programms aktualisiert, das auf drahtgebundene Weise erfasst wird. Daher ist es notwendig, dass die Zentralvorrichtung 3 bestimmt, welches Verteilungspaket an welches System zu verteilen ist, und ist es möglich, anhand der Systemspezifizierungsinformation zu verwalten, welches System am Fahrzeug montiert ist. Die Zentralvorrichtung 3 kann ein Umschreibeverfahren für jedes System, eine Umschreibe-Reihenfolge in einem Fall, in dem mehrere Systeme Umschreibeziele sind, und dergleichen bestimmen, indem sie die Systemspezifizierungsinformation bestimmt.
  • Die ECU-Spezifizierungsinformation ist eindeutige Information zum Spezifizieren der Umschreibeziel-ECU 19 und ist Information, die eine Software-Version zum eindeutigen Spezifizieren der Umschreibe-ECU und ein Anwendungsprogramm, das in die Umschreibeziel-ECU 19 geschrieben wird, sowie eine Hardwareversion enthält. Die ECU-Spezifizierungsinformation entspricht ebenso einer ECU-Teilnummer. In einem Fall, in dem die neueste Software mit vollständigen Daten geschrieben wird, wird nur die Hardwareversion benötigt. Es ist ebenso möglich, Information zu definieren, die durch ein Anwendungsprogramm spezifiziert werden kann, wie z.B. eine Spezifikationsversion oder eine Konfigurationsversion, und ferner eine Mikrocomputer-ID, eine Sub-Mikrocomputer-ID, eine Flash-ID, eine Software-Kindversion, eine Software-Enkelversion und dergleichen zu definieren.
  • Die Nutzungsumgebungsinformation ist eindeutige Information zum Spezifizieren einer Umgebung, in der der Benutzer das Fahrzeug nutzt. Wenn die Nutzungsumgebungsinformation vom CGW 13 über das DCM 12 an die Zentralvorrichtung 3 gesendet wird, kann die Zentralvorrichtung 3 ein Anwendungsprogramm verteilen, das für die Umgebung geeignet ist, in der der Benutzer die Fahrzeuge nutzt. Es ist möglich, Anwendungsprogramme zu verteilen, die für Umgebungen geeignet sind, in denen Benutzer Fahrzeuge verwenden, wie beispielsweise Anwendungsprogramme, die auf Beschleunigung spezialisiert sind, an Benutzer zu verteilen, die eine plötzliche Beschleunigung beim Fahren ab dem Zeitpunkt des Anhaltens bevorzugen, und Anwendungsprogramme, die in Bezug auf die Beschleunigungsleistung minderwertig sind, aber auf ökologisches Fahren spezialisiert sind, an Benutzer zu verteilen, die ökologisches Fahren bevorzugen.
  • Vorstehend ist der Fall beschrieben, in dem der Flash-Speicher am Mikrocomputer der Umschreibeziel-ECU 19 montiert ist, aber in einem Fall, in dem ein externer Speicher mit dem Mikrocomputer der Umschreibeziel-ECU 19 verbunden ist, wird der externe Speicher wie ein Zwei-Bank-Speicher verarbeitet, und Schreibdaten werden geschrieben, indem ein Schreibbereich des externen Speichers in zwei Bereiche aufgeteilt wird. In einem Fall, in dem der Flash-Speicher am Mikrocomputer der Umschreibeziel-ECU 19 montiert ist und der externe Speicher verbunden ist, kann in einigen Fällen ein im externen Speicher gespeichertes Programm temporär in einen Speicher des Mikrocomputers kopiert werden. Da der externe Speicher im Allgemeinen als Speicherbereich eines Betriebsprotokolls der ECU verwendet werden kann, ist es wünschenswert, die Speicherung des Betriebsprotokolls in einem Fall zu stoppen, in dem das Schreiben von Schreibdaten in den externen Speicher initiiert wird, und die Speicherung des Betriebsprotokolls in einem Fall wieder aufzunehmen, in dem das Schreiben der Schreibdaten in den externen Speicher abgeschlossen wurde.
  • Das Gleiche gilt für den Fall des Umschreibens von Kartendaten, weil es das Konzept der Doppel-Banken und der Version nicht nur im Fall des Umschreibens eines Anwendungsprogramms gibt, sondern ebenso im Fall von Daten, die die Eigenschaft aufweisen, nacheinander aktualisiert zu werden, wie beispielsweise die Kartendaten.
  • Nicht-Umschreibeziel-Energieversorgungsverwaltungsprozess
  • Nachstehend ist der Energieversorgungsverwaltungsprozess für die Nicht-Umschreibeziel-ECU 19 unter Bezugnahme auf die 118 bis 123 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Energieversorgungsverwaltungsprozess für die Nicht-Umschreibeziel-ECU 19 im CGW 13 aus. In der vorliegenden Ausführungsform wird eine Situation angenommen, in der das Herunterladen eines Verteilungspakets durch das DCM 12 abgeschlossen wurde, das CGW 13 Umschreibespezifikationsdaten erfasst und das CGW 13 Schreibdaten an die Umschreibeziel-ECU 19 verteilt, während das Fahrzeug einen Parkzustand aufweist. In einem Fall, in dem die Schreibdaten an die Umschreibeziel-ECU 19 verteilt werden, fordert das CGW 13 die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie einzuschalten, um alle ECUs 19 in einen Startzustand zu versetzen.
  • Wie in 118 gezeigt, enthält das CGW 13 eine Umschreibeziel-Spezifizierungseinheit 81a, eine Installierbarkeitsbestimmungseinheit 81b, eine Zustandsübergangssteuereinheit 81c und eine Umschreibe-Reihenfolge-Spezifizierungseinheit 81d in der Energieversorgungsverwaltungseinheit 81 der Nicht-Umschreibeziel-ECU 19. Die Umschreibeziel-Spezifizierungseinheit 81a spezifiziert die Umschreibeziel-ECU 19 und die Nicht-Umschreibeziel-ECU 19 auf der Grundlage eines Analyseergebnisses der Umschreibespezifikationsdaten. Die Installierbarkeitsbestimmungseinheit 81b bestimmt, ob oder nicht die Installation in der Umschreibeziel-ECU 19 möglich ist.
  • Die Zustandsübergangssteuereinheit 81c kann einen Zustandsübergang der ECU 19 veranlassen und veranlasst die ECU 19 in einem Stoppzustand oder einem Ruhezustand, in einen Startzustand (Weckzustand) überzugehen, oder veranlasst die ECU 19 im Startzustand, in den Stoppzustand oder den Ruhezustand überzugehen. Die Zustandsübergangssteuereinheit 81c veranlasst die ECU 19 in einem normalen Betriebszustand, in einen Energiesparbetriebszustand überzugehen, oder veranlasst die ECU 19 im Energiesparbetriebszustand, in den normalen Betriebszustand überzugehen. Wenn von der Installierbarkeitsbestimmungseinheit 81b bestimmt wird, dass die Installation durchführbar ist, steuert die Zustandsübergangssteuereinheit 81c mindestens eine Nicht-Umschreibeziel-ECU 19 so, dass diese den Stoppzustand, den Ruhezustand oder den Energiesparbetriebszustand aufweist. Die Umschreibe-Reihenfolge-Spezifizierungseinheit 81d spezifiziert eine Umschreibe-Reihenfolge der Umschreibeziel-ECU 19 auf der Grundlage des Analyseergebnisses der Umschreibespezifikationsdaten.
  • Nachstehend ist ein Betrieb der Energieversorgungsverwaltungseinheit 81 der Nicht-Umschreibeziel-ECU 19 im CGW 13 unter Bezugnahme auf die 119 bis 123 beschrieben. Das CGW 13 führt ein Nicht-Umschreibeziel-Energieversorgungsverwaltungsprogramm und somit einen Nicht-Umschreibeziel-Energieversorgungsverwaltungsprozess aus. Hier ist nachstehend ein Fall beschrieben, in dem die ECUs 19, die Verwaltungsziele sind, durch das CGW 13 in einen Startzustand versetzt werden.
  • Wenn der Energieversorgungsverwaltungsprozess für die Nicht-Umschreibeziel-ECU 19 initiiert wird, spezifiziert das CGW 13 die Umschreibeziel-ECU 19 und die Nicht-Umschreibeziel-ECU 19 auf der Grundlage eines Analyseergebnisses der CGW-Umschreibespezifikationsdaten (S901) und spezifiziert eine Umschreibe-Reihenfolge von einer oder mehreren Umschreibeziel-ECUs 19 auf der Grundlage des Analyseergebnisses der Umschreibespezifikationsdaten (S902). Wenn das CGW 13 bestimmt, ob oder nicht Schreibdaten geschrieben werden können (S903; entsprechend einer Schreibbarkeitsbestimmungsprozedur), und bestimmt, dass die Schreibdaten geschrieben werden können (S903: JA), sendet das CGW eine Energie-Aus-Anfrage (Stoppanfrage) an die Nicht-Umschreibeziel-ECU 19 des ACC-Systems und die Nicht-Umschreibeziel-ECU 19 des IG-Systems und veranlasst so die Nicht-Umschreibeziel-ECU 19 des ACC-Systems und die Nicht-Umschreibeziel-ECU 19 des IG-Systems, vom Startzustand in den Stoppzustand überzugehen (S904; entsprechend einer Zustandsübergangssteuerprozedur).
  • Wenn das CGW 13 bestimmt, ob oder nicht das Senden der Energie-Aus-Anfrage an alle entsprechenden ECUs 19 abgeschlossen ist (S905), und bestimmt, dass das Senden der Energie-Aus-Anfrage an alle entsprechenden ECUs 19 abgeschlossen ist (S905: JA), sendet das CGW eine Schlafanfrage an die Nicht-Umschreibeziel-ECU 19 des +B-Energiesystems und veranlasst so die Nicht-Umschreibeziel-ECU 19 des +B-Energiesystems, vom Startzustand in den Ruhezustand überzugehen (S906; entsprechend einer Zustandsübergangssteuerprozedur).
  • Wenn das CGW 13 bestimmt, ob oder nicht das Senden der Schlafanfrage an alle der entsprechenden ECUs 19 abgeschlossen ist (S907), und bestimmt, dass das Senden der Schlafanforderung an alle entsprechenden ECUs 19 abgeschlossen ist (S907: JA), bestimmt das CGW, ob oder nicht das Umschreiben eines Anwendungsprogramms in allen der Umschreibeziel-ECUs 19 abgeschlossen ist (S908). Wenn bestimmt wird, dass das Umschreiben des Anwendungsprogramms in allen der Umschreibeziel-ECUs 19 abgeschlossen ist (S908: JA), beendet das CGW 13 den Energieversorgungsverwaltungsprozess für die Nicht-Umschreibeziel-ECU 19. Wenn bestimmt wird, dass das Umschreiben des Anwendungsprogramms nicht in allen der Umschreibeziel-ECUs 19 abgeschlossen ist (S908: NEIN), kehrt das CGW 13 zu Schritt S904 zurück und führt den Schritt S904 und die nachfolgenden Schritte wiederholt aus.
  • In einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind, kann das CGW 13 einzeln Übergänge von Zuständen der mehreren Umschreibeziel-ECUs 19 bewirken oder gemeinsam Übergänge der Zustände der mehreren Umschreibeziel-ECUs 19 bewirken. D.h., 119 veranschaulicht einen Prozess, in dem das CGW 13 eine Energie-Aus-Anfrage oder eine Schlafanfrage an die Nicht-Umschreibeziel-ECU 19 sendet. In den 120 und 121, die als nächstes beschrieben sind, ist ein Fall beschrieben, in dem der Energieversorgungsverwaltungsprozess für die Umschreibeziel-ECU 19 zusätzlich zum Energieversorgungsverwaltungsprozess für die Nicht-Umschreibeziel-ECU 19 ausgeführt wird.
  • Zunächst ist ein Fall, in dem das CGW 13 einzeln Zustände von mehreren Umschreibeziel-ECUs 19 übergehen lässt, unter Bezugnahme auf 120 beschrieben. Wie in 120 gezeigt, ist beispielsweise ein Fall beschrieben, in dem die Umschreibeziel-ECUs 19 eine ECU (ID1), eine ECU (ID2) und eine ECU (ID3) sind und die Umschreibeziel-ECUs 19 während eines Parkens nacheinander einem Umschreiben unterzogen werden, und zwar in einer bestimmten Umschreibe-Reihenfolge der ECU (ID1), der ECU (ID2) und der ECU (ID3), beginnend mit der frühesten Umschreibe-Reihenfolge.
  • Das CGW 13 veranlasst die ECU (ID1), die ECU (ID2) und die ECU (ID3) allesamt, aus dem Stoppzustand oder dem Ruhezustand in den Startzustand überzugehen. Das CGW 13 hält die erste Umschreibeziel-ECU (ID1) im Startzustand, veranlasst die ECU (ID2) und die ECU (ID3), vom Startzustand in den Stoppzustand oder den Ruhezustand überzugehen, und verteilt die Schreibdaten an die ECU (ID1). Wenn die Verteilung der Schreibdaten an die ECU (ID1) abgeschlossen ist, veranlasst das CGW 13 die ECU (ID1), vom Startzustand in den Stoppzustand oder den Ruhezustand überzugehen, und die zweite Umschreibeziel-ECU (ID2), von dem Stoppzustand oder dem Ruhezustand in den Startzustand überzugehen, und hält die ECU (ID3) in dem Stoppzustand oder dem Ruhezustand und verteilt die Schreibdaten an die ECU (ID2).
  • Wenn die Verteilung der Schreibdaten an die ECU (ID2) abgeschlossen ist, hält das CGW 13 die ECU (ID1) im Stoppzustand oder im Ruhezustand, veranlasst die ECU (ID2), vom Startzustand in den Stoppzustand oder den Ruhezustand überzugehen, veranlasst die dritte Umschreibeziel-ECU (ID3), von dem Stoppzustand oder dem Ruhezustand in den Startzustand überzugehen, und verteilt die Schreibdaten an die ECU (ID3). Wenn die Verteilung der Schreibdaten an die ECU (ID3) abgeschlossen ist, hält das CGW 13 die ECU (ID1) und die ECU (ID2) in dem Stoppzustand oder dem Ruhezustand und veranlasst die ECU (ID3), vom Startzustand in den Stoppzustand oder den Ruhezustand überzugehen. Wie oben erwähnt, steuert das CGW 13 nur die ECU 19, die ein aktuelles Umschreibeziel unter den mehreren Umschreibeziel-ECUs 19 ist, in den Startzustand.
  • Nachstehend ist ein Fall, in dem das CGW 13 kollektiv Zustände von mehreren Umschreibeziel-ECUs 19 übergehen lässt, unter Bezugnahme auf 121 beschrieben. Wie in 121 gezeigt, ist beispielsweise ein Fall beschrieben, in dem die Umschreibeziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind und die Umschreibeziel-ECUs 19 während eines Parkens nacheinander einem Umschreiben unterzogen werden, und zwar in einer bestimmten Umschreibe-Reihenfolge der ECU (ID1), der ECU (ID2) und der ECU (ID3), beginnend mit der frühesten Umschreibe-Reihenfolge.
  • Das CGW 13 veranlasst die ECU (ID1), die ECU (ID2) und die ECU (ID3) allesamt, aus dem Stoppzustand oder dem Ruhezustand in den Startzustand überzugehen. Das CGW 13 hält die ECU (ID1), die ECU (ID2) und die ECU (ID3) allesamt im Startzustand und verteilt die Schreibdaten an die ECU (ID1). Wenn die Verteilung der Schreibdaten an die ECU (ID1) abgeschlossen ist, verteilt das CGW 13 die Schreibdaten an die ECU (ID2). Wenn die Verteilung der Schreibdaten an die ECU (ID2) abgeschlossen ist, verteilt das CGW 13 die Schreibdaten an die ECU (ID3). Wenn die Verteilung der Schreibdaten an die ECU (ID3) abgeschlossen ist, veranlasst das CGW 13 die ECU (ID1), die ECU (ID2) und die ECU (ID3) allesamt, vom Startzustand in den Stoppzustand oder den Ruhezustand überzugehen. Wie oben erwähnt, steuert das CGW 13 mehrere von allen Umschreibeziel-ECUs 19 in den Startzustand, bis die Installation in allen der Umschreibeziel-ECUs abgeschlossen 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 Umschreibeziel-ECU 19 während eines Parkens ein Anwendungsprogramm umschreibt, befindet sich eine an die Umschreibeziel-ECU 19 gelegte Spannung nicht unbedingt in einer stabilen Umgebung, so dass die Sorge besteht, dass die Fahrzeugbatterie 40 während des Umschreibens des Anwendungsprogramms erschöpft bzw. vollständig entladen wird. Insbesondere, wenn mehrere Umschreibeziel-ECUs 19 vorhanden sind, erhöht sich der Zeitaufwand zum Umschreiben des Anwendungsprogramms, so dass eine hohe Wahrscheinlichkeit besteht, dass es während des Umschreibens des Anwendungsprogramms zu einer Entladung der Fahrzeugbatterie 40 kommen kann. In Bezug auf diese Tatsache wird die Nicht-Umschreibeziel-ECU 19 wie oben beschrieben in den Stoppzustand oder den Ruhezustand versetzt, und somit wird eine Situation, in der eine verbleibende Batterieladung der Fahrzeugbatterie 40 während des Umschreibens eines Programms unzureichend wird, im Voraus verhindert. Die ECU 19, die kein aktuelles Umschreibeziel unter den Umschreibeziel-ECUs 19 ist, wird in den Stoppzustand oder den Ruhezustand versetzt, wodurch der Energieverbrauch weiter reduziert werden kann.
  • Die obige Beschreibung bezieht sich auf einen Fall, in dem ein Anwendungsprogramm der Umschreibeziel-ECU 19 während eines Parkens umgeschrieben wird, und die nachfolgende Beschreibung bezieht sich auf einen Fall, in dem ein Anwendungsprogramm der Umschreibeziel-ECU 19 umgeschrieben wird, während das Fahrzeug fährt. In einem Fall, in dem die Umschreibeziel-ECU 19 das Anwendungsprogramm umschreibt, während das Fahrzeug fährt, befindet sich eine an die Umschreibeziel-ECU 19 gelegte Spannung in einer stabilen Umgebung, so dass keine Bedenken bestehen, dass die Fahrzeugbatterie 40 während des Umschreibens des Anwendungsprogramms erschöpft wird, eine verbleibende Batterieladung der Fahrzeugbatterie 40 kann jedoch gering sein. Angesichts solcher Umstände ist es wünschenswert, die ECU 19, die keinen Betrieb ausführen muss, zu veranlassen, in den Stoppzustand oder den Ruhezustand überzugehen, während das Fahrzeug fährt. Obgleich, wie in 122 gezeigt, eine ECU 44, die keinen Betrieb ausführen muss, mit der +B-Energieleitung 37 verbunden ist, während das Fahrzeug fährt, veranlasst das CGW 13 im Falle einer Konfiguration, in der die ECU 44 nicht mit der ACC-Energieleitung 38 und der IG-Energieleitung 39 verbunden ist, die ECU 44, die keinen Betrieb ausführen muss, während das Fahrzeug fährt, vom Startzustand in den Stoppzustand oder den Ruhezustand überzugehen. Die ECU 44 ist z.B. eine ECU mit einer Diebstahlsicherungsfunktion. D.h., das CGW 13 veranlasst die ECU 44, die keinen Betrieb ausführen muss und kein Umschreibeziel unter allen ECUs 19 im Startzustand ist, während das Fahrzeug fährt, in den Stoppzustand oder den Ruhezustand überzugehen. Somit ist es möglich, einen Anstieg des Energieverbrauchs aufgrund einer Installation während der Fahrt des Fahrzeugs zu unterdrücken.
  • Das CGW 13 überwacht eine verbleibende Batterieladung der Fahrzeugbatterie 40 und führt den vorstehend beschriebenen Nicht-Umschreibeziel-Energieversorgungsverwaltungsprozess aus. Nachstehend ist ein Batterierestladungs-Überwachungsprozess unter Bezugnahme auf 123 beschrieben. Wenn der Batterierestladungs-Überwachungsprozess initiiert wird, überwacht das CGW 13 eine verbleibende Batterieladung, während Schreibdaten an die Umschreibeziel-ECU 19 verteilt werden (S911), und bestimmt, ob die verbleibende Batterieladung größer oder gleich als eine erste vorbestimmte Kapazität ist, ob die verbleibende Batterieladung kleiner als die erste vorbestimmte Kapazität und größer oder gleich als eine zweite vorbestimmte Kapazität ist, und ob die verbleibende Batterieladung kleiner als die zweite vorbestimmte Kapazität ist (S912 bis S914).
  • Wenn bestimmt wird, dass die verbleibende Batterieladung größer oder gleich als die erste vorbestimmte Kapazität ist (S912: JA), hält das CGW 13 die Nicht-Umschreibeziel-ECU 19 im Startzustand und setzt die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19 fort (S915). Wenn bestimmt wird, dass die verbleibende Batterieladung kleiner als die erste vorbestimmte Kapazität und größer oder gleich als die zweite vorbestimmte Kapazität ist (S913: JA), veranlasst das CGW 13 eine ECU, die unter den Nicht-Umschreibeziel-ECUs 19 während der Fahrt keinen Betrieb ausführen muss, in den Stoppzustand oder den Ruhezustand überzugehen, und setzt die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19 fort (S916). Wenn bestimmt wird, dass die verbleibende Batterieladung kleiner als die zweite vorbestimmte Kapazität ist (S914: JA), bestimmt das CGW 13, ob oder nicht das Umschreiben gestoppt werden kann (S917).
  • Wenn bestimmt wird, dass das Umschreiben gestoppt werden kann (S917: JA), stoppt das CGW 13 die Verteilung der Schreibdaten (S918). Wenn bestimmt wird, dass das Umschreiben nicht gestoppt werden kann (S917: NEIN), veranlasst das CGW 13 alle ECUs unter den Nicht-Umschreibeziel-ECUs 19, die in den Stoppzustand oder den Ruhezustand übergehen können, in den Stoppzustand oder den Ruhezustand überzugehen (S919).
  • Wenn das CGW 13 bestimmt, ob oder nicht das Umschreiben abgeschlossen ist (S920), und bestimmt, dass das Umschreiben nicht abgeschlossen ist (S920: NEIN), kehrt das CGW zu Schritt S911 zurück und führt Schritt S911 und die nachfolgenden Schritte wiederholt aus. Wenn bestimmt wird, dass das Umschreiben abgeschlossen ist (S920: JA), veranlasst das CGW 13 die Umschreibeziel-ECU 19 in dem Stoppzustand oder dem Ruhezustand, in den Startzustand überzugehen (S921), und beendet den Batterierestladungs-Ü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 verwendet werden, die durch Umschreibespezifikationsdaten bestimmt werden.
  • Im Schritt S919 kann das CGW 13 die ECU 19 mit einer spezifischen Funktion, wie beispielsweise einer Alarmfunktion, von Zielen ausschließen, die in den Stoppzustand oder den Schlaf-Zustand übergehen, und kann die Nicht-Umschreibeziel-ECU 19 mit Ausnahme der die spezifische Funktion aufweisenden ECU 19 veranlassen, vom Startzustand in den Stoppzustand oder den Schlaf-Zustand überzugehen. In einem Fall, in dem die Umschreibeziel-ECU 19 die Anwendungssteuerung ausführen kann, während ein Anwendungsprogramm umgeschrieben wird, kann das CGW 13 die Nicht-Umschreibeziel-ECU 19 mit Ausnahme der ECU 19, die mit der Umschreibeziel-ECU 19 kommunizieren kann, in den Stoppzustand oder den Ruhezustand versetzen. Das CGW 13 kann die Umschreibeziel-ECU 19 veranlassen, in einem Fall von dem Stoppzustand oder dem Ruhezustand in den Startzustand überzugehen, in dem Umschreibebedingungen erfüllt sind, wenn alle der ECUs 19 den Stoppzustand oder den Ruhezustand aufweisen, z.B. wenn eine Fahrzeugposition eine vorbestimmte Position annimmt oder die aktuelle Zeit eine vorbestimmte Zeit erreicht.
  • Das CGW 13 kann die Umschreibeziel-ECUs 19 oder die Nicht-Umschreibeziel-ECUs 19 auf der Grundlage von einem beliebigen von einer Startenergie (eine +B-Energie-ECU, eine ACC-ECU oder eine IG-ECU), einer Domain-Gruppe (ein Karosseriesystem, ein Fahrsystem oder ein Multimediasystem) und einem Synchronisations-Timings gruppieren und die Umschreibeziel-ECU 19 in der Gruppeneinheit in den Startzustand versetzen oder die Nicht-Umschreibeziel-ECU 19 in der Gruppeneinheit in den Stoppzustand oder den Ruhezustand versetzen.
  • Das CGW 13 konfiguriert sein, um die Energieversorgung in der Bus-Einheit zu steuern. D.h., wenn bestimmt wird, dass alle der ECUs 19, die mit einem spezifischen Bus verbunden sind, die Nicht-Umschreibeziel-ECUs 19 sind, kann das CGW 13 die Energie des spezifischen Busses ausschalten, um zu bewirken, dass alle der Nicht-Umschreibeziel-ECUs 19, die mit dem spezifischen Bus verbunden sind, in den Stoppzustand oder den Ruhezustand übergehen.
  • Wie oben beschrieben, führt das CGW 13 den Nicht-Umschreibeziel-Energieversorgungsverwaltungsprozess aus und versetzt somit mindestens eine Nicht-Umschreibeziel-ECU 19 in den Stoppzustand, den Ruhezustand oder den Energiesparbetriebszustand, wenn bestimmt wird, dass die Installation in der Umschreibeziel-ECU 19 ausgeführt werden kann. Es ist möglich, eine Situation zu verhindern, in der eine verbleibende Batterieladung der Fahrzeugbatterie 40 während eines Umschreibens eines Anwendungsprogramms unzureichend wird. Da die Nicht-Umschreibeziel-ECU 19 in den Stoppzustand, den Ruhezustand oder den Energiesparbetriebszustand versetzt wird, kann ein Anstieg der Kommunikationslast insgesamt unterdrückt werden.
  • Dateiübertragungssteuerprozess
  • Nachstehend ist der Dateiübertragungssteuerprozess unter Bezugnahme auf die 124 bis 133 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Dateiübertragungssteuerprozess im CGW 13 aus. Die vorliegende Ausführungsform entspricht einem Prozess zum Senden von Umschreibedaten, die im DCM 12 gespeichert sind (entsprechend einer ersten Vorrichtung) gespeichert sind, über das CGW 13 (entsprechend einer zweiten Vorrichtung) an die Umschreibeziel-ECU 19 (entsprechend einer dritten Vorrichtung).
  • Wie in 124 gezeigt, enthält das CGW 13 eine Übertragungszieldatei-Spezifizierungseinheit 82a, eine erste Datengrößenspezifizierungseinheit 82b, eine Erfassungsinformationsspezifizierungseinheit 82c, eine zweite Datengrößenspezifizierungseinheit 82d und eine Geteilte-Datei-Übertragungsanfrageeinheit 82e in der Dateiübertragungssteuereinheit 82. Die Übertragungszieldatei-Spezifizierungseinheit 82a spezifiziert eine Datei mit in die Umschreibeziel-ECU 19 zu schreibenden Daten als eine Übertragungszieldatei unter Verwendung eines Analyseergebnisses der Umschreibespezifikationsdaten. In einem Fall, in dem die Umschreibeziel-ECUs 19 beispielsweise die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, erfasst die Übertragungszieldatei-Spezifizierungseinheit 82a ECU-Information der ECU (ID1), der ECU (ID2) und der ECU (ID3) aus den in 44 gezeigten CGW-Umschreibespezifikationsdaten und spezifiziert die Datei mit den Schreibdaten aus der erfassten ECU-Information als eine Übertragungszieldatei. Als die Übertragungszieldatei kann eine Adresse oder ein Index zum Erfassen der Datei spezifiziert werden, oder es kann ein Dateiname der Datei spezifiziert werden.
  • Wenn die Übertragungszieldatei durch die Übertragungszieldatei-Spezifizierungseinheit 82a spezifiziert wird, spezifiziert die erste Datengrößenspezifizierungseinheit 82b eine erste Datengröße zum Erfassen der Übertragungszieldatei. Wenn die Übertragungszieldatei durch die Übertragungszieldatei-Spezifizierungseinheit 82a spezifiziert wird, spezifiziert die Erfassungsinformationsspezifizierungseinheit 82c eine Adresse als Erfassungsinformation zum Erfassen der Übertragungszieldatei. In der vorliegenden Ausführungsform wird die Adresse als die Erfassungsinformation zum Erfassen der Übertragungszieldatei spezifiziert, aber solange die Erfassungsinformation zum Erfassen der Übertragungszieldatei verwendet wird, kann nicht nur eine Adresse, sondern auch ein Dateiname oder eine ECU (ID) verwendet werden. Die zweite Datengrößenspezifizierungseinheit 82d spezifiziert eine zweite Datengröße für die Verteilung von Schreibdaten an die Umschreibeziel-ECU 19. D.h., die erste Datengröße ist eine Datenübertragungsgröße vom DCM 12 zum CGW 13, und die zweite Datengröße ist eine Datenübertragungsgröße vom CGW 13 zur Umschreibeziel-ECU 19.
  • Wenn die Adresse durch die Erfassungsinformationsspezifizierungseinheit 82c spezifiziert wird und die erste Datengröße durch die erste Datengrößenspezifizierungseinheit 82b spezifiziert wird, bestimmt die Geteilte-Datei-Übertragungsanfrageeinheit 82e die Adresse und die erste Datengröße im DCM 12 und fordert das DCM 12 auf, eine geteilte Datei zu übertragen. In einem Fall, in dem eine Datenmenge einer an die ECU (ID1) zu verteilenden Schreibdatei beispielsweise 1 MByte beträgt, fragt die Geteilte-Datei-Übertragungsanfrageeinheit 82e an, die Schreibdaten ab der Adresse 0x10000000 alle 1 kByte zu senden.
  • Nachstehend ist ein Betrieb der Dateiübertragungssteuereinheit 82 im CGW 13 unter Bezugnahme auf die 125 bis 133 beschrieben. Das CGW 13 führt ein Dateiübertragungssteuerprogramm aus und führt so den Dateiübertragungssteuerprozess aus.
  • Wenn bestimmt wird, dass ein Entpackungsabschlussbenachrichtigungssignal vom DCM 12 empfangen wird, initiiert das CGW 13 den Dateiübertragungssteuerprozess. Wie in 46 gezeigt, ist das Entpacken ein Prozess zum Teilen einer Verteilungspaketdatei in Daten für jede ECU und jeden Teil von Umschreibespezifikationsdaten. Wenn der Dateiübertragungssteuerprozess initiiert wird, sendet das CGW 13 eine vorbestimmte Adresse an das DCM 12 (S1001). Wenn die vorbestimmte Adresse vom CGW 13 empfangen wird, überträgt das DCM 12 die CGW-Umschreibespezifikationsdaten an das CGW 13 mit dem Empfang der vorbestimmten Adresse als Auslöser. Das CGW 13 erfasst die CGW-Umschreibespezifikationsdaten aufgrund der Übertragung der CGW-Umschreibespezifikationsdaten vom DCM 12 (S1002).
  • Wenn die CGW-Umschreibespezifikationsdaten vom DCM 12 erfasst werden, analysiert das CGW 13 die erfassten CGW-Umschreibespezifikationsdaten (S1003) und spezifiziert eine Übertragungszieldatei auf der Grundlage eines Analyseergebnisses der Umschreibespezifikationsdaten (S1004; entsprechend einer Übertragungszieldatei-Spezifizierungsprozedur). Das CGW 13 spezifiziert eine Adresse entsprechend der Übertragungszieldatei (S1005; entsprechend einer Erfassungsinformationsspezifizierungsprozedur), und spezifiziert die erste Datengröße entsprechend der Übertragungszieldatei (S1006; entsprechend einer ersten Datengrößespezifizierungsprozedur). Das CGW 13 sendet die spezifizierte Adresse und Datengröße gemäß den SID-Bestimmungen 35 (SID für Service Identifier bzw. Dienst-Kennung) an das DCM 12, bestimmt die Adresse und die Datengröße in einem Speicherbereich und fordert das DCM 12 auf, eine geteilte Datei zu übertragen (S1007).
  • Wenn die Adresse und die Datengröße vom CGW 13 empfangen werden, analysiert das DCM 12 die DCM-Umschreibespezifikationsdaten und überträgt eine Datei entsprechend der Adresse und der Datengröße als die geteilte Datei an das CGW 13. Das CGW 13 erfasst die geteilte Datei aufgrund der Übertragung der geteilten Datei vom DCM 12 (S1008). In diesem Fall kann das CGW 13 die erfasste Datei in einem RAM speichern und dann die erfasste Datei in einem Flash-Speicher speichern.
  • Das CGW 13 bestimmt, ob oder nicht die Erfassung aller zu erfassenden geteilten Dateien abgeschlossen ist (S1009). In einem Fall, in dem eine Datenmenge einer an die ECU (ID1) zu verteilenden Schreibdatei bei 1 MByte beträgt, erfasst das CGW 13 eine geteilte Datei alle 1 kByte und bestimmt, ob oder nicht eine Erfassung der Datenmenge von 1 MByte abgeschlossen ist, indem es die Erfassung der geteilten Datei alle 1 kByte wiederholt. Wenn bestimmt wird, dass die Erfassung aller zu erfassenden geteilten Dateien nicht abgeschlossen ist (S1009: NEIN), kehrt das CGW 13 zu Schritt S1004 zurück und führt den Schritt S1004 und die nachfolgenden Schritte wiederholt aus. Wenn bestimmt wird, dass die Erfassung aller zu erfassenden Dateien abgeschlossen ist (S1009: JA), beendet das CGW 13 den Dateiübertragungssteuerprozess. In einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind, führt das CGW 13 den Dateiübertragungssteuerprozess wiederholt in Bezug auf jede Umschreibeziel-ECU 19 aus.
  • D.h., zum Beispiel in einem Fall, in dem die Umschreibeziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, führt das CGW 13 den Dateiübertragungssteuerprozess in Bezug auf die ECU (ID2) aus, wenn die Verteilung von Schreibdaten an die ECU (ID1) abgeschlossen ist, und führt den Dateiübertragungssteuerprozess in Bezug auf die ECU (ID3) aus, wenn die Verteilung von Schreibdaten an die ECU (ID2) abgeschlossen ist. Das CGW 13 kann den Übertragungssteuerprozess in Bezug auf mehrere Umschreibeziel-ECUs 19 sequentiell ausführen und den Übertragungssteuerprozess parallel ausführen.
  • 126 zeigt z.B. einen Fall, in dem eine Schreibdatendatei der ECU (ID1) an Adressen „1000“ bis „3999“ gespeichert wird, eine Schreibdatendatei der ECU (ID2) an Adressen „4000“ bis „6999“ gespeichert wird und eine Schreibdatendatei der ECU (ID3) an Adressen „7000“ ... im Speicher des DCM 12 gespeichert wird.
  • In diesem Fall sendet das CGW 13, wie in 127 gezeigt, wenn ein Entpackungsabschlussbenachrichtigungssignal vom DCM 12 empfangen wird, die Adresse „0000“ an das DCM 12 und erfasst Umschreibespezifikationsdaten vom DCM 12. D.h., das DCM 12 bestimmt, dass der Empfang der Adresse „0000“ eine Anfrage zum Erfassen von CGW-Umschreibedaten ist, und sendet die CGW-Umschreibespezifikationsdaten an das CGW 13. Das CGW 13 bestimmt die ECU (ID1) als ein Übertragungsziel von Schreibdaten, bestimmt die Adresse „1000“ und die Datengröße „1 kByte“ und erfasst eine geteilte Datei mit Schreibdaten der ECU (ID1), die an den Adressen „1000“ bis „1999“ gespeichert werden, vom DCM 12. Wenn die geteilte Datei vom DCM 12 erfasst wird, verteilt das CGW 13 die in der geteilten Datei enthaltenen Schreibdaten an die ECU (ID1).
  • Anschließend bestimmt das CGW 13 in ähnlicher Weise die ECU (ID1) als ein Übertragungsziel von Schreibdaten, bestimmt die Adresse „2000“ und die Datengröße „1 kByte“ und erfasst eine geteilte Datei mit Schreibdaten der ECU (ID1), die an den Adressen „2000“ bis „2999“ gespeichert werden, vom DCM 12. Wenn die geteilte Datei vom DCM 12 erfasst wird, verteilt das CGW 13 die in der geteilten Datei enthaltenen Schreibdaten an die ECU (ID1). Das CGW 13 erfasst wiederholt die geteilte Datei alle 1 kByte vom DCM 12, bis das Schreiben aller Schreibdaten in die ECU (ID1) abgeschlossen ist, und verteilt wiederholt die in der geteilten Datei enthaltenen Schreibdaten an die ECU (ID1). D.h., wenn die Schreibdaten von 1 kByte vom DCM 12 erfasst werden, sendet das CGW 13 die Schreibdaten von 1 kByte an die Umschreibeziel-ECU 19 und erfasst die nächsten Schreibdaten von 1 kByte vom DCM 12, wenn das Senden an die Umschreibeziel-ECU 19 abgeschlossen ist. Das CGW 13 führt diese Prozesse wiederholt aus, bis das Schreiben aller Teile von Schreibdaten abgeschlossen ist.
  • Wenn das Schreiben der Schreibdaten in der ECU (ID1) normal abgeschlossen wird, bestimmt das CGW 13 die ECU (ID2) als ein Übertragungsziel der Schreibdaten, bestimmt die Adresse „4000“ und die Datengröße „1 kByte“ und erfasst eine geteilte Datei mit Schreibdaten der ECU (ID2), die an den Adressen „4000“ bis „4999“ gespeichert werden, vom DCM 12. Wenn die geteilte Datei vom DCM 12 erfasst wird, verteilt das CGW 13 die in der geteilten Datei enthaltenen Schreibdaten an die ECU (ID3).
  • Wenn das Schreiben der Schreibdaten in der ECU (ID2) normal abgeschlossen wird, bestimmt das CGW 13 die ECU (ID3) als ein Übertragungsziel der Schreibdaten, bestimmt die Adresse „7000“ und die Datengröße „1 kByte“ und erfasst eine geteilte Datei mit Schreibdaten der ECU (ID3), die an den Adressen „7000“ bis „7999“ gespeichert werden, vom DCM 12. Wenn die geteilte Datei vom DCM 12 erfasst wird, verteilt das CGW 13 die in der geteilten Datei enthaltenen Schreibdaten an die ECU (ID3).
  • Wie oben beschrieben, führt das CGW 13 den Dateiübertragungssteuerprozess aus und spezifiziert auf diese Weise eine Übertragungszieldatei auf der Grundlage eines Analyseergebnisses von Umschreibespezifikationsdaten und spezifiziert eine Adresse und eine Datengröße entsprechend der Übertragungszieldatei. Das CGW 13 bestimmt die Adresse und die Datengröße im DCM 12, fordert das DCM 12 auf, eine geteilte Datei zu übertragen, die durch Teilen der Übertragungszieldatei erhalten wird, und erfasst die geteilte Datei vom DCM 12. Folglich ist es möglich, Schreibdaten an die ECU 19 zu verteilen und gleichzeitig eine große Menge an Schreibdaten im Speicher des DCM 12 zu speichern. D.h., im CGW 13 ist es nicht notwendig, einen Speicher zum Speichern eines großen Volumens von einer Datei vorzubereiten und damit eine Speicherkapazität des CGW 13 zu reduzieren.
  • Hier ist eine Beziehung zwischen einer Datenmenge einer geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, und einer Datenmenge einer Schreibdatei, die vom CGW 13 an die Umschreibeziel-ECU 19 verteilt wird, beschrieben. Im obigen Beispiel ist, wie in 128 gezeigt, ein Fall beschrieben, in dem eine Datenmenge einer geteilten Datei, die vom DCM 12 zum CGW 13 übertragen wird, 1 kByte beträgt. Es kann jedoch ein beliebiges Verhältnis zwischen einer Datenmenge der geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, und einer Datenmenge der Schreibdatei, die vom CGW 13 an die Umschreibeziel-ECU 19 verteilt wird, angewandt werden.
  • D.h., wenn zum Beispiel die Umschreibeziel-ECU 19 eine Spezifikation zum Empfangen der Schreibdaten in 4 kByte wegen der CAN-Kommunikation aufweist, verteilt das CGW 13 eine Datenmenge einer Schreibdatei in der Einheit von 4 kByte an die Umschreibeziel-ECU 19. In diesem Fall, wenn eine Datenmenge der geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, 1 kByte beträgt, erfasst das CGW 13 vier geteilte Dateien vom DCM 12 und verteilt dann 4 kByte an die Umschreibeziel-ECU 19. D.h., eine Datenmenge einer geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, ist kleiner als eine Datenmenge einer Schreibdatei, die vom CGW 13 an die Umschreibeziel-ECU 19 verteilt wird. In einer solchen Beziehung ist es im CGW 13 möglich, eine geteilte Datei vom DCM 12 zu erfassen und parallel Schreibdaten an die Umschreibeziel-ECU 19 zu verteilen, während eine Erhöhung der Speicherkapazität unterdrückt wird.
  • D.h., wenn eine Datenmenge einer geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, 4 kByte beträgt, muss eine Speicherkapazität des CGW 13 auf 8 kByte eingestellt werden, um die geteilte Datei vom DCM 12 zu erfassen und die Schreibdaten parallel an die Umschreibeziel-ECU 19 zu verteilen. Eine Datenmenge der geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, wird auf 1 kByte eingestellt, und somit ist es möglich, die geteilte Datei vom DCM 12 zu erfassen und Schreibdaten parallel an die Umschreibeziel-ECU 19 zu verteilen, ohne die Speicherkapazität des CGW 13 auf 8 kByte zu ändern. Beispielsweise ist die Speicherkapazität des CGW 13 mit 5 kByte bemessen, und das CGW 13 erfasst die nächsten 1 kByte vom DCM 12, während es vom DCM 12 erfasste 4 kByte an die Umschreibeziel-ECU 19 verteilt. Das CGW 13 erfasst ferner die nächsten 1 kByte vom DCM 12, nachdem die Verteilung von 4 kByte an die Umschreibeziel-ECU 19 abgeschlossen ist.
  • Demgegenüber, wenn zum Beispiel die Umschreibeziel-ECU 19 aufgrund der CAN-Kommunikation eine Spezifikation zum Empfangen der Schreibdaten in 128 Byte aufweist, verteilt das CGW 13 die Schreibdaten in 128 Byte an die Umschreibeziel-ECU 19. In diesem Fall, wenn die Datenmenge einer geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, 1 kByte beträgt, erfasst das CGW 13 eine einzelne geteilte Datei vom DCM 12 und verteilt dann jeweils 128 Byte an die Umschreibeziel-ECU 19. D.h., eine Datenmenge der geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, ist größer als eine Datenmenge der Schreibdatei, die vom CGW 13 an die Umschreibeziel-ECU 19 verteilt wird. Beispielsweise ist eine Speicherkapazität des CGW 13 mit 2 kByte bemessen, und das CGW 13 erfasst die nächsten 1 kByte vom DCM 12, während es die vom DCM 12 erfassten 1 kByte in der Einheit von 128 Byte an die Umschreibeziel-ECU 19 verteilt. Das CGW 13 erfasst ferner die nächsten 1 kByte vom DCM 12, nachdem eine achtmalige Verteilung von 128 Byte an die Umschreibeziel-ECU 19 abgeschlossen ist.
  • In der oben beschriebenen Weise kann eine Datenmenge einer geteilten Datei, die vom DCM 12 an das CGW 13 übertragen wird, auf einen festen Wert (z.B. 1 kByte) gesetzt werden, und eine Datenmenge einer Schreibdatei, die vom CGW 13 an die Umschreibeziel-ECU 19 verteilt wird, kann in Übereinstimmung mit einer Spezifikation der Umschreibeziel-ECU 19 auf einen variablen Wert gesetzt werden. Das CGW 13 kann eine Menge an Daten, die an die Umschreibeziel-ECU 19 zu verteilen ist, beispielsweise unter Verwendung einer in den Umschreibespezifikationsdaten spezifizierten Datenübertragungsgröße jeder ECU bestimmen.
  • Das CGW 13 sendet eine Übertragungsanfrage an das DCM 12 und fordert das DCM 12 auf, eine geteilte Datei zu übertragen, und es gibt einen ersten Anfrageaspekt und einen zweiten Anfrageaspekt als Aspekte der Anfrage bzw. Aufforderung an das DCM 12, die geteilte Datei zu übertragen. Wenn ein Empfang der Schreibdaten abgeschlossen ist, sendet die Umschreibeziel-ECU 19 eine Empfangsabschlussbenachrichtigung, die anzeigt, dass der Empfang der Schreibdaten abgeschlossen ist, an das CGW 13, und wenn das Schreiben der Schreibdaten abgeschlossen ist, sendet die Umschreibeziel-ECU eine Schreibabschlussbenachrichtigung, die anzeigt, dass das Schreiben der Schreibdaten abgeschlossen ist, an das CGW 13.
  • Der erste Verteilungsaspekt ist unter Bezugnahme auf 129 beschrieben. Wenn eine geteilte Datei vom DCM 12 erfasst wird, verteilt das CGW 13 die erfasste geteilte Datei als Schreibdaten an die Umschreibeziel-ECU 19. Wenn ein Empfang der Schreibdaten abgeschlossen ist, sendet die Umschreibeziel-ECU 19 eine Empfangsabschlussbenachrichtigung an das CGW 13 und initiiert einen Schreibprozess für die Schreibdaten. Wenn die Empfangsabschlussbenachrichtigung der Schreibdaten von der Umschreibeziel-ECU 19 empfangen wird, sendet das CGW 13 eine Übertragungsanfrage an das DCM 12 und fordert das DCM 12 auf, die nächste geteilte Datei zu übertragen. Wenn die nächste geteilte Datei vom DCM 12 erfasst wird, verteilt das CGW 13 die erfasste nächste geteilte Datei als Schreibdaten an die Umschreibeziel-ECU 19.
  • Wie oben beschrieben, erfasst das CGW 13, bei dem ersten Verteilungsaspekt, die nächsten Schreibdaten vom DCM 12 und verteilt die nächsten Schreibdaten an die Umschreibeziel-ECU 19, ohne auf den Abschluss des Schreibens der Schreibdaten in der Umschreibeziel-ECU 19 zu warten. Folglich besteht, bei dem ersten Verteilungsaspekt, im CGW 13 in einem Fall, in dem die Umschreibeziel-ECU 19 das Schreiben der Schreibdaten nicht abgeschlossen hat, dahingehend Bedenken, dass die nächsten Schreibdaten nicht von der Umschreibeziel-ECU 19 empfangen werden, obwohl die nächste geteilte Datei vom DCM 12 erfasst und die nächsten Schreibdaten an die Umschreibeziel-ECU 19 verteilt werden. Jedoch kann in einem Fall, in dem die Umschreibeziel-ECU 19 das Schreiben der Schreibdaten abgeschlossen hat, die nächste geteilte Datei schnell vom DCM 12 erfasst werden und die nächsten Schreibdaten können schnell an die Umschreibeziel-ECU 19 verteilt werden.
  • Der zweite Verteilungsaspekt ist unter Bezugnahme auf 130 beschrieben. Wenn eine geteilte Datei vom DCM 12 erfasst wird, verteilt das CGW 13 die erfasste geteilte Datei als Schreibdaten an die Umschreibeziel-ECU 19. Wenn ein Empfang der Schreibdaten abgeschlossen ist, sendet die Umschreibeziel-ECU 19 eine Empfangsabschlussbenachrichtigung an das CGW 13 und initiiert einen Schreibprozess für die Schreibdaten. Wenn der Schreibprozess abgeschlossen ist, sendet die Umschreibeziel-ECU 19 eine Schreibabschlussbenachrichtigung an das CGW 13. Wenn die Schreibabschlussbenachrichtigung von der Umschreibeziel-ECU 19 empfangen wird, sendet das CGW 13 eine Übertragungsanfrage an das DCM 12 und fordert das DCM 12 auf, die nächste geteilte Datei zu übertragen. Wenn die nächste geteilte Datei vom DCM 12 erfasst wird, verteilt das CGW 13 die erfasste nächste geteilte Datei als Schreibdaten an die Umschreibeziel-ECU 19.
  • Wie oben beschrieben, wartet das CGW 13, bei dem zweiten Verteilungsaspekt, auf den Abschluss des Schreibens der Schreibdaten in der Umschreibeziel-ECU 19, erfasst dann die nächsten Schreibdaten vom DCM 12 und verteilt die nächsten Schreibdaten an die Umschreibeziel-ECU 19. Folglich dauert es bei dem zweiten Verteilungsaspekt einige Zeit, bis das CGW 13 die nächste geteilte Datei vom DCM 12 erfasst, ist es aber möglich, das DCM 12 in einem Zustand, in dem die Umschreibeziel-ECU 19 das Schreiben von Schreibdaten abgeschlossen hat, aufzufordern, eine geteilte Datei zu übertragen. Daher können, wenn die nächste geteilte Datei vom DCM 12 erfasst wird und die nächsten Schreibdaten an die Umschreibeziel-ECU 19 verteilt werden, die nächsten Schreibdaten zuverlässig an die Umschreibeziel-ECU 19 verteilt werden.
  • Das CGW 13 verteilt Schreibdaten gemäß SID 34, 36 und 37 an die Umschreibeziel-ECU 19, und es gibt einen ersten Verteilungsaspekt und einen zweiten Verteilungsaspekt als Aspekte zum Verteilen der Schreibdaten an die Umschreibeziel-ECU 19. Bei dem ersten Verteilungsaspekt, wie in 131 gezeigt, teilt das CGW 13 zu verteilende Schreibdaten durch eine vorbestimmte Datenmenge (z.B. 1 kByte) und verteilt die geteilten Schreibdaten. Bei dem zweiten Verteilungsaspekt, wie in 132 gezeigt, verteilt das CGW 13 die gesamten zu verteilenden Schreibdaten, ohne die Schreibdaten zu teilen. Das CGW 13 wählt gemäß SID 34, die zuerst an die Umschreibeziel-ECU 19 zu verteilen ist, entweder den ersten Verteilungsaspekt oder den zweiten Verteilungsaspekt aus. Wie in 133 gezeigt, spezifiziert das CGW 13 den Empfang von Schreibdaten in der Umschreibeziel-ECU 19 durch Empfangen von ACK (SID 74) für SID 37, die zum Schluss an die Umschreibeziel-ECU 19 zu verteilen ist. ACK für diese SID 37 entspricht der oben unter Bezugnahme auf die 129 und 130 beschriebenen Empfangsabschlussbenachrichtigung der Schreibdaten. D.h., bei dem ersten Verteilungsaspekt, wenn ACK für SID 37, die zum Schluss an die Umschreibeziel-ECU 19 zu verteilen ist, empfangen wird, inkrementiert das CGW 13 eine Adresse der nächsten Schreibdaten, um die nächsten Schreibdaten an die Umschreibeziel-ECU 19 zu verteilen und ebenso um ferner die nächsten Schreibdaten vom DCM 12 zu erfassen.
  • Obgleich eine Adresse und eine Datei in den DCM-Umschreibespezifikationsdaten miteinander korreliert sind, kann als ein Verfahren zum Korrelieren einer Adresse mit einer Datei beispielsweise eine Ordner-Konfiguration entwickelt werden, können Spezifikationsdaten in einem Ordner 1 gespeichert und verwaltet werden, kann eine Datei 1 in einem Ordner 2 gespeichert und verwaltet werden, kann eine Datei 2 in einem Ordner 3 gespeichert und verwaltet werden, und können die Dateien in einer Reihenfolge der Dateinamen verwaltet werden. Beispielsweise werden bei einem Entpacken, wie in 46 gezeigt, die DCM-Umschreibespezifikationsdaten und die CGW-Umschreibespezifikationsdaten im Ordner 1 gespeichert und verwaltet, der Authentifikator und die Differenzdaten der ECU (ID1) im Ordner 2 gespeichert und verwaltet und der Authentifikator und die Differenzdaten der ECU (ID2) im Ordner 3 gespeichert und verwaltet.
  • Zum Beispiel erfasst in einem Fall, in dem eine Verteilung von Schreibdaten an die Umschreibeziel-ECU 19 aus irgendeinem Grund, wie z.B. einer Kommunikationsunterbrechung, gestoppt wird, das CGW 13 Information, die eine Adresse spezifizieren können, an der das Schreiben der Schreibdaten abgeschlossen wurde, von der Umschreibeziel-ECU 19 und fordert das DCM 12 auf, eine geteilte Datei zu übertragen, die die Schreibdaten ab einem Zeitpunkt enthält, an dem das Schreiben dieser nicht abgeschlossen wurde. Alternativ kann das CGW 13 das DCM 12 auffordern, eine geteilte Datei mit Schreibdaten von Beginn zu übertragen.
  • Wie oben beschrieben, führt das CGW 13 den Dateiübertragungssteuerprozess aus, spezifiziert auf diese Weise eine Datei mit Schreibdaten, die in die Umschreibeziel-ECU 19 zu schreiben sind, als eine Übertragungszieldatei, spezifiziert eine Adresse zum Erfassen der Übertragungszieldatei und die erste Datengröße, fordert das DCM 12 auf, eine geteilte Datei zu übertragen, und verteilt die Schreibdaten an die Umschreibeziel-ECU, wenn die geteilte Datei vom DCM 12 übertragen wird. Die Übertragung der Schreibdaten vom DCM 12 an das CGW 13 und die Verteilung der Schreibdaten vom CGW 13 an die Umschreibeziel-ECU 19 können effizient erfolgen.
  • Schreibdaten-Verteilungssteuerprozess
  • Nachstehend ist der Schreibdaten-Verteilungssteuerprozess unter Bezugnahme auf die 134 bis 144 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Schreibdaten-Verteilungssteuerprozess im CGW 13 aus. Da das CGW 13 Schreibdaten über den Bus im Fahrzeug an die ECU 19 sendet, erfolgt der Schreibdaten-Verteilungssteuerprozess derart, dass eine Busauslastung während einer Verteilung der Schreibdaten nicht unnötig hoch wird.
  • Wie in 134 gezeigt, wird ein Fall angenommen, in dem die +B-Energie-ECU, die ACC-ECU und die IG-ECU mit demselben Bus verbunden sind. In diesem Fall werden im +B-Energieversorgungszustand, da nur die +B-Energie-ECU gestartet ist und die ACC-ECU und die IG-ECU gestoppt sind, Fahrzeugsteuerdaten nur der +B-Energie-ECU an den Bus gesendet. Im ACC-Energieversorgungszustand werden, da die +B-Energie-ECU und die ACC-ECU gestartet sind und die IG-ECU gestoppt ist, Fahrzeugsteuerdaten der +B-Energie-ECU und der ACC-ECU an den Bus gesendet. Im IG-Energieversorgungszustand werden, da die +B-Energie-ECU, die ACC-ECU und die IG-ECU gestartet sind, Fahrzeugsteuerdaten der +B-Energie-ECU, der ACC-ECU und der IG-ECU an den Bus gesendet. D.h., eine Sendemenge der Fahrzeugsteuerdaten nimmt in einer Reihenfolge des IG-Energieversorgungszustands, des ACC-Energieversorgungszustands und des +B-Energieversorgungszustands ab.
  • Wie in 135 gezeigt, enthält das CGW 13 eine erste Korrespondenzverhältnisspezifizierungseinheit 83a, eine zweite Korrespondenzverhältnisspezifizierungseinheit 83b, eine Sendemengenzulässigkeits-Spezifizierungseinheit 83c, eine Verteilungshäufigkeitsspezifizierungseinheit 83d, eine Busauslastungsmesseinheit 83e und eine Verteilungssteuereinheit 83f in der Schreibdaten-Verteilungssteuereinheit 83.
  • Die erste Korrespondenzverhältnisspezifizierungseinheit 83a spezifiziert ein erstes Korrespondenzverhältnis, das ein Verhältnis zwischen einem Energieversorgungszustand und einer zulässigen Sendemenge für einen Bus auf der Grundlage eines Analyseergebnisses von Umschreibespezifikationsdaten anzeigt, und spezifiziert eine in 136 gezeigte Busauslastungstabelle. Die zulässige Sendemenge ist ein Wert einer Sendemenge, bei der Daten in einer Situation, in der keine Datenkollision oder Verzögerung auftritt, gesendet und empfangen werden können. Die Busauslastungstabelle ist eine Tabelle, die ein Korrespondenzverhältnis zwischen dem Energieversorgungszustand und einer zulässigen Sendemenge für einen Bus anzeigt und für jeden Bus definiert ist. Die zulässige Sendemenge ist eine Summe einer Sendemenge von Fahrzeugsteuerdaten und Schreibdaten, die gesendet werden können, in Bezug auf die maximal zulässige Sendemenge.
  • Im Beispiel von 136 erlaubt das CGW 13, da eine zulässige Sendemenge „80%“ in Bezug auf die maximal zulässige Sendemenge für den ersten Bus beträgt, im IG-Energieversorgungszustand „50%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge von Fahrzeugsteuerdaten und „30%“ als eine zulässige Sendemenge von Schreibdaten. Für den ersten Bus erlaubt das CGW 13, im ACC-Energieversorgungszustand, „30%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge der Fahrzeugsteuerdaten und „50%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge der Schreibdaten. Für den ersten Bus erlaubt das CGW 13, im +B-Energieversorgungszustand, „20%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge der Fahrzeugsteuerdaten und „60%“ in Bezug auf die maximal zulässige Sendemenge als eine zulässige Sendemenge der Schreibdaten. Wie in 136 gezeigt, sind der zweite Bus und der dritte Bus auf die gleiche Weise definiert.
  • Die zweite Korrespondenzverhältnisspezifizierungseinheit 83b spezifiziert ein zweites Korrespondenzverhältnis, das ein Verhältnis zwischen einem Bus, zu dem die Umschreibeziel-ECU 19 gehört, und einem Energieversorgungssystem auf der Grundlage eines Analyseergebnisses von Umschreibespezifikationsdaten anzeigt, und spezifiziert eine in 137 gezeigte Umschreibeziel-ECU-Zugehörigkeitstabelle. Die Umschreibeziel-ECU-Zugehörigkeitstabelle ist eine Tabelle, die einen Bus, zu dem die Umschreibeziel-ECU 19 gehört, und ein Energieversorgungssystem angibt.
  • In einem Beispiel von 137 spezifiziert das CGW 13 die erste Umschreibeziel-ECU 19 als +B-Energie-ECU, da die erste Umschreibeziel-ECU 19 mit dem ersten Bus verbunden ist und in einem beliebigen der Zustände +B-Energieversorgungszustand, ACC-Energieversorgungszustand und IG-Energieversorgungszustand gestartet wird. Das CGW 13 spezifiziert die zweite Umschreibeziel-ECU 19 als eine ACC-ECU, da die zweite Umschreibeziel-ECU mit dem zweiten Bus verbunden ist und im +B-Energieversorgungszustand gestoppt wird, im ACC-Energieversorgungszustand und im IG-Energieversorgungszustand jedoch gestartet wird. Das CGW 13 spezifiziert die dritte Umschreibeziel-ECU 19 als eine IG-ECU, da die dritte Umschreibeziel-ECU 19 mit dem dritten Bus verbunden ist und im +B-Energieversorgungszustand und im ACC-Energieversorgungszustand gestoppt wird, im IG-Energieversorgungszustand jedoch gestartet wird.
  • Das CGW 13 verwendet die Daten des „Verbindungsbusses“ und der „Verbindungsenergieversorgung“ in den Umschreibespezifikationsdaten von 44, um einen Bus, mit dem die Umschreibeziel-ECU 19 verbunden ist, und ein dazugehöriges Energieversorgungssystem zu spezifizieren. Wenn solche Information spezifiziert werden kann, muss die Information nicht unbedingt in Form einer Tabelle gespeichert werden.
  • Die Sendemengenzulässigkeits-Spezifizierungseinheit 83c spezifiziert eine zulässige Sendemenge für einen Bus, zu dem die Umschreibeziel-ECU 19 gehört, wobei die zulässige Sendemenge einem Energieversorgungszustand des Fahrzeugs entspricht, wenn ein Programm aktualisiert wird, in Übereinstimmung mit dem Spezifizierungsergebnis des ersten Korrespondenzverhältnisses und dem Spezifizierungsergebnis des zweiten Korrespondenzverhältnisses. Insbesondere spezifiziert die Sendemengenzulässigkeits-Spezifizierungseinheit 83c einen Bus, zu dem die Umschreibeziel-ECU 19 gehört, unter Verwendung der Umschreibeziel-ECU-Zugehörigkeitstabelle, die das zweite Korrespondenzverhältnis ist, und spezifiziert eine zulässige Sendemenge in jedem Energieversorgungszustand für den spezifizierten Bus unter Verwendung der Busauslastungstabelle, die das erste Korrespondenzverhältnis ist.
  • Die Verteilungshäufigkeitsspezifizierungseinheit 83d spezifiziert eine Verteilungshäufigkeit von Schreibdaten entsprechend einem Energieversorgungszustand zur Zeit einer Installation unter Verwendung eines vordefinierten Korrespondenzverhältnisses zwischen einem Energieversorgungszustand und einer Verteilungshäufigkeit von Schreibdaten. Insbesondere spezifiziert die Verteilungshäufigkeitsspezifizierungseinheit 83d, unter Verwendung der Busauslastungstabelle, eine zulässige Sendemenge, die der Verteilung von Schreibdaten zugewiesen wird, unter zulässigen Sendemengen, die durch die Sendemengenzulässigkeits-Spezifizierungseinheit 83c spezifiziert werden, und spezifiziert eine Verteilungshäufigkeit der Schreibdaten. Beispielsweise spezifiziert die Verteilungshäufigkeitsspezifizierungseinheit 83d, wenn spezifiziert wird, dass ein Bus, zu dem die Umschreibeziel-ECU 19 gehört, der erste Bus ist, wenn ein Energieversorgungszustand zur Zeit der Installation der IG-Energieversorgungszustand ist, eine zulässige Sendemenge als „80%“, spezifiziert eine zulässige Sendemenge, die der Verteilung der Schreibdaten zugewiesen wird, als „30%“ von 80% und spezifiziert somit eine Verteilungshäufigkeit der Schreibdaten. Die zulässige Sendemenge, die für die Verteilung der Schreibdaten zugewiesen wird, entspricht Sendebeschränkungsinformation.
  • Die Busauslastungsmesseinheit 83e misst eine Busauslastung eines Busses, zu dem die Umschreibeziel-ECU 19 gehört. Die Busauslastungsmesseinheit 83e misst die Busauslastung, indem sie z.B. die Anzahl von Rahmen oder die Anzahl von Bits zählt, die pro Zeiteinheit empfangen werden. Die Verteilungssteuereinheit 83f steuert eine Verteilung der Schreibdaten in Abhängigkeit der von der Verteilungshäufigkeitsspezifizierungseinheit 83d spezifizierten Verteilungshäufigkeit.
  • Nachstehend ist ein Betrieb der Schreibdaten-Verteilungssteuereinheit 83 im CGW 13 unter Bezugnahme auf die 138 bis 144 beschrieben. Das CGW 13 führt ein Schreibdaten-Verteilungssteuerprogramm aus und führt somit den Schreibdaten-Verteilungssteuerprozess aus.
  • Wenn ein Entpackungsabschlussbenachrichtigungssignal vom DCM 12 empfangen wird, initiiert das CGW 13 den Schreibdaten-Verteilungssteuerprozess. Das CGW 13 erfasst die CGW-Umschreibespezifikationsdaten vom DCM 12 (S1101) und spezifiziert eine Busauslastungstabelle und eine Umschreibeziel-ECU-Zugehörigkeitstabelle unter Verwendung der CGW-Umschreibespezifikationsdaten (S1102). Das CGW 13 spezifiziert einen Bus, zu dem die Umschreibeziel-ECU 19 gehört, unter Verwendung der Umschreibeziel-ECU-Zugehörigkeitstabelle (S1103). Das CGW 13 spezifiziert eine zulässige Sendemenge für den Bus, zu dem die Umschreibeziel-ECU 19 gehört, wobei die zulässige Sendemenge einem Energieversorgungszustand des Fahrzeugs entspricht, wenn eine Aktualisierung unter Verwendung der Busauslastungstabelle erfolgt. Das CGW 13 spezifiziert eine Verteilungshäufigkeit der Schreibdaten, indem es die spezifizierte zulässige Sendemenge berücksichtigt (S1104; entsprechend einer Verteilungshäufigkeitsspezifizierungsprozedur). Das CGW 13 nimmt Bezug auf die zulässige Sendemenge für den ersten Bus im IG-Energieversorgungszustand, z.B. in einem Fall, in dem die Schreibdaten an die ECU (ID1) als die erste Umschreibeziel-ECU 19 verteilt werden, während das Fahrzeug fährt. Im Beispiel von 136 beträgt die zulässige Sendemenge für den ersten Bus im IG-Energieversorgungszustand „80%“, wovon „50%“ für das Senden der Fahrzeugsteuerdaten und „30%“ für das Senden der Schreibdaten zulässig sind. Die zulässige Sendemenge ist nur ein Beispielwert, und ein numerischer Wert wird innerhalb eines zulässigen Bereichs gemäß der Spezifikation der anzuwendenden Kommunikation bestimmt.
  • Da ein Rahmen bzw. Frame in der Spezifikation bei 500 kbit/s von CAN etwa 250 µs beträgt, werden, wenn eine Unterbrechung viermal für eine Sekunde auftritt, vier Rahmen erzeugt, und eine Busauslastung ist 100%. Das CGW 13 spezifiziert eine Verteilungshäufigkeit der Schreibdaten, indem es die auf dem Bus auftretende Unterbrechung bestimmt. Das CGW 13 beginnt, die Anzahl von Rahmen zu messen, die in der Zeiteinheit empfangen werden, beginnt, eine Busauslastung zu messen (S1105), bestimmt, ob oder nicht die gemessene Busauslastung die zulässige Sendemenge überschreitet (S1106), und legt ein Verteilungsintervall fest. Das Verteilungsintervall ist ein Zeitintervall, bis das CGW 13 Schreibdaten an die Umschreibeziel-ECU 19 verteilt, eine Schreibabschlussbenachrichtigung (ACK) von der Umschreibeziel-ECU 19 empfängt und die nächsten Schreibdaten an die Umschreibeziel-ECU 19 sendet.
  • Wenn bestimmt wird, dass die gemessene Busauslastung die zulässige Sendemenge nicht überschreitet (S1106: NEIN), setzt das CGW 13 das Verteilungsintervall der Schreibdaten auf das kürzeste Intervall, das im Voraus eingestellt wird, und initiiert die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19, wie in 139 gezeigt (S1107; entsprechend einer Verteilungssteuerprozedur). D.h., das CGW 13 setzt das Verteilungsintervall eines Rahmens auf dem CAN auf das kürzeste im Voraus eingestellte Intervall und beginnt, die Schreibdaten an die Umschreibeziel-ECU 19 zu verteilen. Ein Rahmen auf dem CAN beinhaltet Schreibdaten mit einer Datenmenge von 8 Byte. Ein Rahmen auf einem CAN FD (CAN Flexible Data Rate bzw. CAN mit flexibler Datenrate) beinhaltet Schreibdaten mit einer Datenmenge von 64 Byte.
  • Wenn demgegenüber bestimmt wird, dass die gemessene Busauslastung die zulässige Sendemenge überschreitet (S1106: JA), berechnet das CGW 13 ein Intervall, in dem die Busauslastung die zulässige Sendemenge nicht überschreitet (S1108), setzt das Verteilungsintervall der Schreibdaten auf das berechnete Intervall und initiiert die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19, wie in 140 gezeigt (S1109; entsprechend einer Verteilungssteuerprozedur).
  • Zum Beispiel bestimmt das CGW 13 im IG-Energieversorgungszustand, ob oder nicht die Busauslastung die zulässige Sendemenge von „80%“ für den ersten Bus überschreitet, und wenn bestimmt wird, dass die Busauslastung die zulässige Sendemenge nicht überschreitet, stellt das CGW 13 ein Verteilungsintervall T1 ein, in dem eine zulässige Sendemenge der Schreibdaten „30%“ beträgt. D.h., wie in der Busauslastungstabelle von 136 gezeigt, stellt das CGW 13 das Verteilungsintervall T1 unter Verwendung von „30%“ ein, was eine zulässige Sendemenge von Schreibdaten für den ersten Bus im IG-Energieversorgungszustand ist. Das CGW 13 stellt das Verteilungsintervall T1 so ein, dass die maximale Sendemenge erlaubt ist. Das CGW 13 kann eine Busauslastung messen, indem es ein Messziel auf einen Rahmen von Schreibdaten eingrenzt, und bestimmt, ob oder nicht die von den Schreibdaten abhängige Busauslastung die zulässige Sendemenge von „30%“ der Schreibdaten überschreitet. Wenn bestimmt wird, dass die Busauslastung die zulässige Sendemenge überschreitet, ändert das CGW 13 das Verteilungsintervall auf ein Verteilungsintervall T2 (> T1), bei dem die Busauslastung die zulässige Sendemenge nicht überschreitet, in Übereinstimmung mit dem Betrag bzw. der Menge, um die die Busauslastung die zulässige Sendemenge überschreitet. In obiger Weise wartet das CGW 13 nach der Erfassung der Schreibdaten vom DCM 12, bis das eingestellte Verteilungsintervall erreicht ist, und verteilt die Schreibdaten an die Umschreibeziel-ECU 19.
  • Wenn die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19 initiiert wird, bestimmt das CGW 13, ob oder nicht die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19 abgeschlossen ist, und bestimmt kontinuierlich, ob oder nicht die gemessene Busauslastung die zulässige Sendemenge überschreitet (S1110 und S1011). Wenn bestimmt wird, dass die gemessene Busauslastung die zulässige Sendemenge nicht überschreitet (S1111: NEIN), stellt das CGW 13 ein Verteilungsintervall der Schreibdaten auf das kürzeste im Voraus eingestellte Intervall ein und ändert das Verteilungsintervall der Schreibdaten an die Umschreibeziel-ECU 19 (S1112). Wenn demgegenüber bestimmt wird, dass die gemessene Busauslastung die zulässige Sendemenge überschreitet (S1111: JA), berechnet das CGW 13 ein Intervall, bei dem die Busauslastung die zulässige Sendemenge nicht überschreitet (S1113), setzt ein Verteilungsintervall der Schreibdaten auf das berechnete Intervall und ändert das Verteilungsintervall der Schreibdaten an die Umschreibeziel-ECU 19 (S1114).
  • Wenn bestimmt wird, dass die Verteilung der Schreibdaten an die Umschreibeziel-ECU 19 abgeschlossen ist (S1110: JA), stoppt das CGW 13 die Messung der Anzahl von Rahmen, die pro Zeiteinheit empfangen werden, stoppt die Messung der Busauslastung (S1115) und beendet den Schreibdaten-Verteilungssteuerprozess. Hier führt das CGW 13 in einem Fall, in dem mehrere Umschreibeziel-ECUs 19 vorhanden sind, den Schreibdaten-Verteilungssteuerprozess bei der Installation in allen der Umschreibeziel-ECUs 19 aus.
  • Wie oben beschrieben, führt das CGW 13 den Schreibdaten-Verteilungssteuerprozess aus, spezifiziert somit eine Verteilungshäufigkeit von Schreibdaten an die Umschreibeziel-ECU 19 unter Verwendung eines Korrespondenzverhältnisses zwischen einem vorbestimmten Energieversorgungszustand und einer Verteilungshäufigkeit von Schreibdaten und steuert eine Verteilung der Schreibdaten gemäß der Verteilungshäufigkeit. Es ist möglich, z.B. Datenkollisionen oder Verzögerungen bei der Installation zu reduzieren. Die Verteilung von Schreibdaten kann gleichzeitig erfolgen, ohne die Verteilung von Fahrzeugsteuerungsdaten auf demselben Bus zu behindern.
  • Vorstehend ist die Konfiguration beispielhaft veranschaulicht, bei der die Busauslastungstabelle auf der Grundlage eines Analyseergebnisses der Umschreibespezifikationsdaten im CGW 13 spezifiziert wird, die Busauslastungstabelle kann jedoch im Voraus gespeichert werden. Vorstehend ist die Konfiguration beispielhaft veranschaulicht, bei der die Umschreibeziel-ECU-Zugehörigkeitstabelle auf der Grundlage eines Analyseergebnisses der Umschreibespezifikationsdaten im CGW 13 spezifiziert wird, die Umschreibeziel-ECU-Zugehörigkeitstabelle kann jedoch im Voraus gespeichert werden.
  • In einem Energieversorgungszustand, in dem das Fahrzeug fährt, kann eine Verteilungsmenge von Schreibdaten relativ reduziert werden, und in einem Energieversorgungszustand, in dem das Fahrzeug geparkt ist, kann die Verteilungsmenge der Schreibdaten relativ erhöht werden. D.h., im CGW 13 senden, wie in 141 gezeigt, wenn die IG-Energie einen EIN-Zustand aufweist, während das Fahrzeug fährt, die IG-ECU, die ACC-ECU und die +B-Energie-ECU einen CAN-Rahmen, so dass eine Sendemenge von Anwendungsdaten, wie Fahrzeugsteuerung oder Diagnose, relativ groß wird, und somit wird eine Verteilungsmenge von Schreibdaten relativ reduziert. Im CGW 13 sendet, wie in 142 gezeigt, wenn die IG-Energie einen AUS-Zustand aufweist, während das Fahrzeug geparkt ist, nur die +B-Energie-ECU einen CAN-Rahmen, so dass eine Sendemenge von Anwendungsdaten, wie Fahrzeugsteuerung oder Diagnose, relativ gering wird, und somit wird eine Verteilungsmenge von Schreibdaten relativ erhöht. D.h., das CGW 13 stimmt eine Verteilungsmenge von Schreibdaten innerhalb einer freien Kapazität ein, die das Senden von Anwendungsdaten, wie Fahrzeugsteuerung oder Diagnose, nicht behindert.
  • Wie in 143 gezeigt, kann im CGW 13 in einem Fall, in dem ein Ereignis-Rahmen von der Umschreibeziel-ECU 19 gesendet wird, da die Unterbrechungshäufigkeit durch einen Empfang des Ereignis-Rahmens zunimmt und somit eine Busauslastung zunimmt, eine Verteilungsmenge von Schreibdaten relativ reduziert werden, und in einem Fall, in dem der Ereignis-Rahmen nicht länger von der Umschreibeziel-ECU 19 gesendet wird, kann die Verteilungsmenge der Schreibdaten relativ erhöht werden.
  • Wie in 144 gezeigt, kann im Fahrzeugsystem in einem Fall, in dem spezifiziert wird, dass das CGW 13 Schreibdaten verteilt, eine Busauslastung reduziert werden, indem ein Sendeintervall von Anwendungsdaten, wie Fahrzeugsteuerung oder Diagnose, auf das zulässige maximale Intervall erhöht wird. Im CGW 13 kann, da die Busauslastung dadurch reduziert wird, dass das Fahrzeugsystem das Sendeintervall der Anwendungsdaten erhöht, die Verteilungsmenge von Schreibdaten relativ erhöht werden.
  • Die in den Umschreibespezifikationsdaten enthaltene Busauslastungstabelle wird z.B. von einem Fahrzeughersteller unabhängig von einem Fahrzeugmodell, einer Fahrzeugklasse oder dergleichen einheitlich und gemeinsam eingestellt. Dies liegt daran, dass sich beispielsweise eine Busauslastung stark ändert, wenn sich die Ausstattung einer ECU in Abhängigkeit vom Fahrzeugmodell, der Fahrzeugklasse oder dergleichen stark ändert, und dass, wenn die optimale Busauslastungstabelle in Abhängigkeit von dem Fahrzeugmodell, der Fahrzeugklasse oder dergleichen individuell eingestellt wird, komplizierte Arbeit, wie z.B. Arbeit zum Verifizieren der Busauslastungstabelle, erforderlich ist, so dass solche komplizierte Arbeit reduziert wird.
  • Wie oben beschrieben, wird ähnlich dem Fall, in dem die Installation erfolgt, während das Fahrzeug fährt, auch in einem Fall, in dem die Installation erfolgt, während das Fahrzeug geparkt ist, der Schreibdaten-Verteilungssteuerprozess ausgeführt. Wenn die Umschreibeziel-ECU 19 eine +B-Energie-ECU ist, kann eine Aktualisierung im +B-Energieversorgungszustand erfolgen, und somit wird auf eine zulässige Sendemenge im +B-Energieversorgungszustand in der Busauslastungstabelle Bezug genommen. Demgegenüber erfolgt in einem Fall, in dem die Umschreibeziel-ECU 19 eine IG-ECU ist, die Installation im IG-Energieversorgungszustand, und somit wird auf eine zulässige Sendemenge im IG-Energieversorgungszustand in der Busauslastungstabelle Bezug genommen. Hier kann z.B. in einem Fall, in dem die Umschreibeziel-ECU 19 eine ACC-ECU ist, die Installation im IG-Energieversorgungszustand erfolgen. In diesem Fall wird auf eine zulässige Sendemenge im IG-Energieversorgungszustand in der Busauslastungstabelle Bezug genommen. Vorstehend ist die Konfiguration zum Speichern der Busauslastungstabelle und der Umschreibeziel-ECU-Zugehörigkeitstabelle beschrieben, aber es kann jede beliebige Tabelle gespeichert werden, solange eine Verteilungshäufigkeit von Schreibdaten in jedem Energieversorgungszustand spezifiziert werden kann.
  • Aktivierungsanfragebefehlsprozess
  • Nachstehend ist der Aktivierungsanfragebefehlsprozess unter Bezugnahme auf die 145 bis 146 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt einen Aktivierungsanfragebefehlsprozess im CGW 13 aus. Das CGW 13 stellt Aktivierungsanfragen an mehrere Umschreibeziel-ECUs 19, in denen das Umschreiben eines Anwendungsprogramms abgeschlossen ist, um das umgeschriebene Programm zu validieren. In der vorliegenden Ausführungsform wird ein Zustand angenommen, in dem das CGW 13 die CGW-Umschreibespezifikationsdaten analysiert, um eine Gruppe von Umschreibeziel-ECUs 19 zu erkennen. Das CGW 13 stellt eine Aktivierungsanfrage nur während des Parkens und stellt keine Aktivierungsanfrage während der Fahrt des Fahrzeugs.
  • Wie in 145 gezeigt, enthält das CGW 13 eine Umschreibeziel-Spezifizierungseinheit 84a, eine Umschreibeabschlussbestimmungseinheit 84b, eine Aktivierungsausführbarkeitsbestimmungseinheit 84c und eine Aktivierungsanfragebefehlseinheit 84d in der Aktivierungsanfragebefehlseinheit 84. Die Umschreibeziel-Spezifizierungseinheit 84a spezifiziert mehrere Umschreibeziel-ECUs 19 unter mehreren Umschreibeziel-ECUs 19, die eine kooperative Steuerung ausführen. Wenn die mehreren Umschreibeziel-ECUs 19 durch die Umschreibeziel-Spezifizierungseinheit 84a spezifiziert werden, bestimmt die Umschreibeabschlussbestimmungseinheit 84b, ob oder nicht das Umschreiben von Programmen in allen der mehreren spezifizierten Umschreibeziel-ECUs 19 abgeschlossen wurde.
  • Wenn von der Umschreibeabschlussbestimmungseinheit 84b bestimmt wird, dass das Umschreiben der Programme in allen der mehreren Umschreibeziel-ECUs 19 abgeschlossen wurde, bestimmt die Aktivierungsausführbarkeitsbestimmungseinheit 84c, ob oder nicht die Aktivierung ausführbar ist. Die Aktivierungsausführbarkeitsbestimmungseinheit 84c bestimmt in einem Fall, in dem die Aktivierung vom Benutzer genehmigt wird und das Fahrzeug einen Parkzustand aufweist, dass die Aktivierung ausführbar ist.
  • Die Aktivierungsanfragebefehlseinheit 84d erteilt einen Befehl für eine Aktivierungsanfrage in einem Fall, in dem von der Aktivierungsausführbarkeitsbestimmungseinheit 84c bestimmt wird, dass die Aktivierung ausführbar ist. Insbesondere erteilt die Aktivierungsanfragebefehlseinheit 84d den Befehl für die Aktivierungsanfrage, indem sie einen Befehl für eine Rücksetzanfrage erteilt, eine Sitzungsübergangszeitüberschreitung überwacht oder die interne Rücksetzung der Umschreibeziel-ECU 19 überwacht, nachdem sie einen Befehl für eine Anfrage zum Umschalten auf eine neue Bank erteilt hat. In einer Zwei-Bank-Speicher-ECU oder einer Ein-Bank-Suspend-Speicher-ECU wird ein Anwendungsprogramm aktiviert, indem das Anwendungsprogramm auf einer neuen Bank (inaktive Bank), in die das Anwendungsprogramm geschrieben wird bzw. ist, gestartet wird. Demgegenüber wird das Anwendungsprogramm in einer Ein-Bank-Speicher-ECU durch einen Neustart aktiviert. Die Umschreibeziel-ECU 19 kann konfiguriert sein, um unabhängig von einer Aktivierungsanfrage von selbst zurückgesetzt zu werden, nachdem ein Befehl für eine Anfrage zum Umschalten auf eine neue Bank empfangen wurde.
  • Nachstehend ist ein Betrieb der Aktivierungsanfragebefehlseinheit im CGW 13 unter Bezugnahme auf die 146 und 147 beschrieben. Das CGW 13 führt ein Aktivierungsanfragebefehlsprogramm aus und führt somit den Aktivierungsanfragebefehlsprozess aus.
  • Wenn der Aktivierungsanfragebefehlsprozess initiiert wird, spezifiziert das CGW 13 mehrere Umschreibeziel-ECUs 19 (S1201; entsprechend einer Umschreibeziel-Spezifizierungsprozedur). Insbesondere spezifiziert das CGW 13 die Umschreibeziel-ECUs 19, indem es auf in den Umschreibespezifikationsdaten beschriebene ECUs (IDs) Bezug nimmt. Das CGW 13 bestimmt, ob oder nicht das Umschreiben von Anwendungsprogrammen in allen der mehreren spezifizierten Umschreibeziel-ECUs 19 abgeschlossen ist (S1202; entsprechend einer Umschreibeabschlussbestimmungsprozedur). Beispielsweise führt das CGW 13 die Installation auf den Umschreibeziel-ECUs 19 gemäß der Reihenfolge der ECUs (Ids), die in den Umschreibespezifikationsdaten beschrieben ist, sequentiell aus und bestimmt, dass das Schreiben in allen der Umschreibeziel-ECUs 19 abgeschlossen ist, wenn die Installation für eine zuletzt beschriebene ECU (ID) abgeschlossen wurde.
  • Wenn bestimmt wird, dass das Umschreiben des Anwendungsprogramms in allen der mehreren spezifizierten Umschreibeziel-ECUs 19 abgeschlossen ist (S1202: JA), bestimmt das CGW, ob oder nicht die Aktivierung ausführbar ist (S1203; entsprechend einer Aktivierungsausführbarkeitsbestimmungsprozedur). Insbesondere bestimmt das CGW, ob oder nicht die Genehmigung des Benutzers für die Aktualisierung bisher erhalten wurde, ob oder nicht das Fahrzeug einen Parkzustand aufweist, und dergleichen, und bestimmt, dass die Aktivierung ausführbar ist, wenn diese Bedingungen erfüllt sind. Die Genehmigung des Benutzers kann eine Genehmigung für den gesamten Aktualisierungsprozess oder eine Genehmigung für die Aktivierung sein. Wenn bestimmt wird, dass die Aktivierung ausführbar ist (S1203: JA), erteilt das CGW 13 anschließend gleichzeitig Befehle für Aktivierungsanfragen an die mehreren Umschreibeziel-ECUs 19 (entsprechend einer Aktivierungsanfragebefehlsprozedur). Hier erfolgt eine Beschreibung in der Annahme, dass die ECU (ID1), die ECU (ID2) und die ECU (ID3) die Umschreibeziel-ECUs 19 der gleichen 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 wird, erteilt das CGW 13 einen Befehl für eine Anfrage zum Umschalten auf eine neue Bank an die Umschreibeziel-ECU 19 (S1204). Das CGW 13 fordert die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie in einem AUS-Zustand einzuschalten (S1205). Das CGW 13 schaltet die IG-Energie in einem AUS-Zustand ein, um eine Aktivierung auszuführen, obwohl das Fahrzeug einen Parkzustand aufweist und der IG-Schalter 42 einen AUS-Zustand aufweist. In einem Fall, in dem das CGW 13 die Installation und anschließend die Aktivierung ausführt, wird, da die IG-Energie einen EIN-Zustand aufweist, Schritt S1205 nicht ausgeführt und eine Startanfrage (Weckanfrage) an die Umschreibeziel-ECU 19 im Ruhezustand gestellt.
  • Das CGW 13 sendet eine Software-Rücksetzanfrage an die Umschreibeziel-ECU 19 und erteilt einen Befehl für die Software-Rücksetzanfrage an die Umschreibeziel-ECU 19 (S1206). In einem Fall, in dem die Umschreibeziel-ECU 19 eine Spezifikation zum Bewältigen der Software-Rücksetzanfrage aufweist, wird die Umschreibeziel-ECU 19, wenn die Software-Rücksetzanfrage vom CGW 13 empfangen wird, neu gestartet, indem die Software zurückgesetzt wird, und aktiviert ein Anwendungsprogramm. In einem Fall, in dem die Umschreibeziel-ECU 19 eine Ein-Bank-Speicher-ECU ist, wird die Umschreibeziel-ECU 19 durch das neue Anwendungsprogramm neu gestartet und schaltet somit vom alten Anwendungsprogramm auf das neue Anwendungsprogramm um. In einem Fall, in dem die Umschreibeziel-ECU 19 eine Ein-Bank-Suspend-Speicher-ECU oder eine Zwei-Bank-Speicher-ECU ist, aktualisiert die Umschreibeziel-ECU 19 die im Flash-Speicher gespeicherte Aktive-Bank-Information (die Bank-A oder die Bank-B), veranlasst eine Bank, in die das neue Anwendungsprogramm geschrieben wird, zu einer aktiven Bank umzuschalten, und schaltet somit vom alten Anwendungsprogramm auf das neue Anwendungsprogramm um.
  • Das CGW 13 fordert die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie im EIN-Zustand auszuschalten und die IG-Energie im AUS-Zustand einzuschalten, erteilt einen Befehl für eine Energierücksetzanfrage an die Umschreibeziel-ECU 19 und weist die Umschreibeziel-ECU 19 an, neu gestartet zu werden (S1207). Selbst in einem Fall, in dem die Umschreibeziel-ECU 19 nicht über eine Spezifikation zum Bewältigen der Software-Rücksetzanfrage verfügt, wird, wenn die IG-Energie von einem EIN-Zustand in einen AUS-Zustand wechselt und die IG-Energie von einem AUS-Zustand in einen EIN-Zustand wechselt, die Umschreibeziel-ECU zurückgesetzt und neu gestartet, um das Anwendungsprogramm zu aktivieren. Auch in diesem Fall wird in einem Fall, in dem die Umschreibeziel-ECU 19 eine Ein-Bank-Speicher-ECU ist, die Umschreibeziel-ECU 19 durch das neue Anwendungsprogramm neu gestartet und schaltet somit vom alten Anwendungsprogramm auf das neue Anwendungsprogramm um. In einem Fall, in dem die Umschreibeziel-ECU 19 eine Ein-Bank-Suspend-Speicher-ECU oder eine Zwei-Bank-Speicher-ECU ist, aktualisiert die Umschreibeziel-ECU 19 die im Flash-Speicher gespeicherte Aktive-Bank-Information (die Bank-A oder die Bank-B), veranlasst eine Bank, in die das neue Anwendungsprogramm geschrieben wird, zu einer aktiven Bank umzuschalten, und schaltet somit vom alten Anwendungsprogramm auf das neue Anwendungsprogramm um. Das CGW 13 überwacht eine Sitzungsübergangszeitüberschreitung (S1208) und überwacht die interne Rücksetzung der Umschreibeziel-ECU 19 (S1209).
  • D.h., in einem Fall, in dem die Umschreibeziel-ECU 19 die Spezifikation zum Bewältigen der Software-Rücksetzanfrage nicht aufweist, kann das CGW 13 keinen Befehl zur Aktivierung erteilen, selbst wenn die Software-Rücksetzanfrage an die Umschreibeziel-ECU 19 gesendet wird. Daher wird ein Befehl für die Energierücksetzanfrage an die Umschreibeziel-ECU 19 gegeben, und somit wird die Aktivierung in der Umschreibeziel-ECU 19 ausgeführt, die die Spezifikation zum Bewältigen der Software-Rücksetzanfrage nicht aufweist. Zum Beispiel ist eine IG-ECU wie eine Motor-ECU konfiguriert, um auf jeden Fall zurückgesetzt zu werden, wenn die Energie ein- oder ausgeschaltet wird, und folglich eine Konfiguration die Software-Rücksetzanfrage in vielen Fällen nicht. Aus Sicht der Umschreibeziel-ECU 19 erfolgt die Aktivierung (gestartet durch das neue Programm) durch eine beliebige der Aktionen Empfang eines Befehls für die Software-Rücksetzanfrage vom CGW 13, Empfang eines Befehls für die Energierücksetzanfrage vom CGW 13, Sitzungsübergangszeitüberschreitung und interne Rücksetzung.
  • Wenn ein Befehl für die Software-Rücksetzanfrage vom CGW 13 empfangen wird, wird die Umschreibeziel-ECU 19, die die Software-Rücksetzanfrage bewältigt, gezwungen, zurückgesetzt zu werden, um die Aktivierung auszuführen. Die Umschreibeziel-ECU 19, die eine ACC-ECU oder eine IG-ECU ist, wird zurückgesetzt, um die Aktivierung auszuführen, wenn die nächste Energiezufuhr erfolgt, da die Energie in einem Fall, in dem ein Befehl für die Energierücksetzanfrage vom CGW 13 empfangen wird, erzwungen nicht zugeführt wird. Anders als die Umschreibeziel-ECU 19, die eine ACC- oder IG-ECU ist, wird die Umschreibeziel-ECU 19, die eine +B-Power-ECU ist, zu jeder Zeit mit Energie versorgt, so dass die Aktivierung durch die Sitzungsübergangszeitüberschreitung oder die interne Rücksetzung erfolgt. Ein Aktivierungsverfahren für jeder Umschreibeziel-ECU 19 wird durch die Umschreibespezifikationsdaten spezifiziert.
  • Wenn dem CGW 13 mitgeteilt wird, dass das neue Anwendungsprogramm von allen der Umschreibeziel-ECUs 19 normal gestartet wurde, sendet das CGW eine Umschaltabschlussbenachrichtigung an das DCM 12 (S1210). Das DCM 12 meldet der Zentralvorrichtung 3, dass die Aktivierung der Aktualisierungsprogramme abgeschlossen ist. Das CGW 13 fordert die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie in einem AUS-Zustand einzuschalten, und beendet einen Anwendungsprogrammaktivierungssynchronisierungs-Befehlsprozess. Wenn die IG-Energie durch die Benutzerbedienung von einem AUS-Zustand in einen EIN-Zustand wechselt, sendet das CGW 13 eine Programmversion, eine Start-Bank und dergleichen der ECU an das DCM 12. Das DCM 12 meldet der Zentralvorrichtung 3 die vom CGW 13 empfangene Information jeder ECU 19. Hier kann, wenn das DCM 12 der Zentralvorrichtung 3 den Abschluss der Aktivierung mitteilt, ECU-Konfigurationsinformation einschließlich einer Programmversion und Bank-Information jeder ECU an die Zentralvorrichtung 3 gesendet werden. 147 veranschaulicht einen Fall, in dem die Umschreibeziel-ECU 19 eine Zwei-Bank-Speicher-ECU oder eine Ein-Bank-Suspend-Speicher-ECU ist.
  • Wie oben beschrieben, führt das CGW 13 den Aktivierungsanfragebefehlsprozess aus und verhindert so eine Situation, in der mehrere Umschreibeziel-ECUs 19, die das Umschreiben von Anwendungsprogrammen abgeschlossen haben, zu ihren eigenen Timings von alten Programmen auf neue Programme umschalten, und gleicht die Timings des Umschaltens von den alten Programmen auf die neuen Programme in den mehreren Umschreibeziel-ECUs 19 in geeigneter Weise ab. D.h., es wird eine Situation verhindert, in der Programmversionen mehrerer Umschreibeziel-ECUs 19, die miteinander kooperieren, nicht zueinander passen und somit ein Problem in einem kooperativen Prozess auftritt.
  • Aktivierungsausführungssteuerprozess
  • Nachstehend ist der Aktivierungsausführungssteuerprozess unter Bezugnahme auf die 148 bis 150 beschrieben. Der Aktivierungsausführungssteuerprozess ist ein Prozess, der von der Umschreibeziel-ECU 19 ausgeführt wird, der ein Befehl für eine Aktivierungsanfrage durch das CGW 13 erteilt wird, da das CGW 13 (12) den Aktivierungsanfragebefehlsprozess ausführt, der vorstehend beschrieben ist. Das Fahrzeugprogrammumschreibesystem 1 führt den Aktivierungsausführungssteuerprozess in der Umschreibeziel-ECU 19 aus. Hier weist die Umschreibeziel-ECU 19 mehrere Datenspeicherbänke, wie z.B. einen Ein-Bank-Suspend-Speicher oder einen Zwei-Bank-Speicher, auf. Es wird ein Zustand angenommen, in dem die Umschreibeziel-ECU 19 eine erste Datenspeicherbank und eine zweite Datenspeicherbank aufweist und die Installation von Umschreibedaten in einer inaktiven Bank (neue Bank) abgeschlossen ist.
  • Wie in 148 gezeigt, enthält die ECU 19 eine Aktive-Bank-Informationsaktualisierungseinheit 107a, eine Ausführungsbedingungsbestimmungseinheit 107b, eine Ausführungssteuereinheit 107c und eine Benachrichtigungseinheit 107d in der Aktivierungsausführungssteuereinheit 107. Wenn ein Befehl für eine Aktivierungsanfrage vom CGW 13 empfangen wird, aktualisiert die Aktive-Bank-Informationsaktualisierungseinheit 107a Start-Bank-Bestimmungsinformation (Aktive-Bank-Information) des Flash-Speichers in Vorbereitung auf den nächsten Neustart. Beispielsweise wird die Aktive-Bank-Informationsaktualisierungseinheit 107a aktuell in der Bank-A gestartet und aktualisiert die Aktive-Bank-Information von der Bank-A auf die Bank-B, wenn ein neues Programm in die Bank-B geschrieben wird.
  • Die Ausführungsbedingungsbestimmungseinheit 107b bestimmt, ob oder nicht ein Befehl für eine Software-Rücksetzanfrage vom CGW 13 empfangen wird, ob oder nicht ein Befehl für eine Energierücksetzanfrage vom CGW 13 an die Energieversorgungsverwaltungs-ECU 20 gegeben wird, und ob oder nicht eine Kommunikationsunterbrechung mit dem CGW 13 für eine vorbestimmte Zeit andauert, als Aktivierungsausführungsbedingungen. Wenn eine der Bedingungen erfüllt ist, bestimmt die Ausführungsbedingungsbestimmungseinheit 107b, dass die Aktivierungsausführungsbedingungen erfüllt sind. Ob oder nicht ein Befehl für die Energierücksetzanfrage empfangen wird, kann von der Energieerfassungsschaltung 36 anstelle eines Befehls vom CGW 13 erfasst werden. Wenn durch die Ausführungsbedingungsbestimmungseinheit 107b bestimmt wird, dass die Aktivierungsausführungsbedingung erfüllt ist, führt die Ausführungssteuereinheit 107c eine Neue-Bank-Umschaltung (Aktivierung) in Übereinstimmung mit der Aktive-Bank-Information aus, die bewirkt, dass die Start-Bank von der alten Bank (aktuell betriebene Bank) zur neuen Bank (derzeit nicht betriebene Bank) wechselt. Die Benachrichtigungseinheit 107d benachrichtigt das CGW 13 über Benachrichtigungsinformation wie Aktive-Bank-Information und Versionsinformation.
  • Nachstehend ist ein Betrieb der Aktivierungsausführungssteuereinheit 107 in der Umschreibeziel-ECU 19 unter Bezugnahme auf die 149 und 150 beschrieben. Die Umschreibeziel-ECU 19 führt ein Aktivierungsausführungssteuerprogramm aus und führt somit den Aktivierungsausführungssteuerprozess aus.
  • Umschreibeprozess
  • Wenn der Umschreibeprozess initiiert wird, führt die Umschreibeziel-ECU 19 bis unmittelbar vor der Speicherlöschung Prozesse, wie z.B. ein Teilenummernlesen oder eine Authentifizierung, als einen Vor-Umschreibe-Prozess aus (S1301). Die Umschreibeziel-ECU 19 bestimmt, ob oder nicht Umschreibe-Bank-Information von der Zentralvorrichtung 3 empfangen wurde (S1302). Die Umschreibeziel-ECU 19 bestimmt, ob oder nicht die Umschreibe-Bank-Information empfangen wurde, z.B. darauf basierend, ob oder nicht die Umschreibe-Bank-Information, die in den Umschreibespezifikationsdaten eines Verteilungspakets beschrieben ist, vom CGW 13 erfasst wurde. Wenn bestimmt wird, dass die Umschreibe-Bank-Information von der Zentralvorrichtung 3 empfangen wurde (S1302: JA), gleicht die Umschreibeziel-ECU 19 die Umschreibe-Bank-Information mit der von ihr verwalteten Umschreibe-Bank-Information (Aktive-Bank-Information) ab und bestimmt so, ob oder nicht die beiden Teile von Information übereinstimmen (S1303). Hier wird die Umschreibe-Bank-Information in den Umschreibespezifikationsdaten beschrieben, die z.B. von der Zentralvorrichtung 3 gesendet werden. Zum Beispiel wird in einem Fall, in dem die von der Umschreibeziel-ECU verwaltete Umschreibe-Bank-Information anzeigt, dass eine aktive Bank die Bank-A und eine inaktive Bank die Bank-B ist, wenn die in den Umschreibespezifikationsdaten beschriebene Umschreibe-Bank-Information die inaktive Bank (Bank-B) anzeigt, bestimmt, dass beide der Teile von Information übereinstimmen, und wenn die in den Spezifikationsdaten beschriebene Umschreibe-Bank-Information die aktive Bank (Bank-A) anzeigt, wird bestimmt, dass beide der Teile von Information nicht übereinstimmen.
  • Wenn bestimmt wird, dass beide der Teile von Information übereinstimmen (S1303: JA), führt die Umschreibeziel-ECU 19, als den Umschreibeprozess, Speicherlöschung, Schreiben von Schreibdaten und Verifizierung aus (S 1304) und beendet den Umschreibeprozess. Die Verifizierung dient z.B. dazu, die Integrität von in den Flash-Speicher geschriebenen Daten zu verifizieren. Wenn bestimmt wird, dass beide der Teile von Information nicht übereinstimmen (S1303: NEIN), sendet die Umschreibeziel-ECU 19 eine negative Bestätigung an das CGW 13 (S1305) und beendet den Umschreibeprozess.
  • Aktivierungsausführungssteuerprozess
  • Wenn der Aktivierungsausführungssteuerprozess initiiert wird, bestimmt die Umschreibeziel-ECU 19 eine inaktive Bank als eine Umschreibe-Bank und bestimmt, ob oder nicht das Umschreiben eines Anwendungsprogramms in die Umschreibe-Bank abgeschlossen ist (S1311). Wenn bestimmt wird, dass das Umschreiben des Anwendungsprogramms in die Umschreibe-Bank abgeschlossen ist (S1311: JA), verifiziert die Umschreibeziel-ECU 19 die Integrität des in den Flash-Speicher geschriebenen Anwendungsprogramms und bestimmt, ob oder nicht die Datenverifizierung nach dem Umschreiben positiv ist (S1312). Wenn bestimmt wird, dass die Datenverifizierung nach dem Umschreiben positiv ist (S1312: JA), setzt die Umschreibeziel-ECU 19 ein Umschreibeabschluss-Flag der neuen Bank auf „OK“ und speichert das Umschreibeabschluss-Flag (S1313).
  • Anschließend bestimmt die Umschreibeziel-ECU 19, ob oder nicht ein Befehl für eine Aktivierungsanfrage vom CGW 13 empfangen wurde (S1314). Wenn bestimmt wird, dass der Befehl für die Aktivierungsanfrage empfangen wurde (S1314: JA), bestimmt die Umschreibeziel-ECU 19, ob oder nicht das Umschreibeabschluss-Flag der neuen Bank „OK“ ist (S1315), und aktualisiert die Aktive-Bank-Information, wenn bestimmt wird, dass das Umschreibeabschluss-Flag der neuen Bank „OK“ ist (S1315: JA) (S1316; entsprechend einer Aktive-Bank-Informationsaktualisierungsprozedur). D.h., zum Beispiel in einem Fall, in dem eine aktive Bank die Bank-A und eine inaktive Bank die Bank-B ist, wenn das Umschreiben des Anwendungsprogramms in die Umschreibe-Bank unter Verwendung der Bank-B als die Umschreibe-Bank abgeschlossen ist, aktualisiert die Umschreibeziel-ECU 19 die Aktive-Bank-Information, die anzeigt, dass eine aktive Bank die Bank-A und eine inaktive Bank die Bank-B ist, auf Aktive-Bank-Information, die anzeigt, dass eine aktive Bank die Bank-B und eine inaktive Bank die Bank-A ist.
  • Wenn die Aktive-Bank-Information aktualisiert wird, bestimmt die Umschreibeziel-ECU 19, ob oder nicht eine Software-Rücksetzanfrage vom CGW 13 empfangen wurde, ob oder nicht ein Befehl für eine Energierücksetzanfrage vom CGW 13 an die Energieversorgungsverwaltungs-ECU 20 gegeben wurde, und ob oder nicht eine Unterbrechung der Kommunikation mit dem CGW 13 für eine vorbestimmte Zeit nach dem Empfang des Befehls für die Software-Rücksetzanfrage andauert, und bestimmt somit, ob oder nicht die Aktivierungsausführungsbedingung erfüllt ist (S1317; entsprechend einer Ausführungsbedingungsbestimmungsprozedur). Hier wird die Umschreibeziel-ECU 19 neu gestartet, wenn eine der Aktivierungsausführungsbedingungen erfüllt ist, und sind Neustartbedingungen für jede ECU definiert.
  • Die Umschreibeziel-ECU 19 bestimmt, ob ein Befehl für die Software-Rücksetzanfrage vom CGW 13 empfangen wurde, der Befehl für die Energierücksetzanfrage vom CGW 13 an die Energieversorgungsverwaltungs-ECU 20 gegeben wurde oder die vorbestimmte Zeit nach dem Empfang des Befehls für die Software-Rücksetzanfrage verstrichen ist, und führt einen Neustart (Rücksetzung bzw. Reset) aus, wenn bestimmt wird, dass die Aktivierungsausführungsbedingung erfüllt ist (S1317: JA). Die Umschreibeziel-ECU 19 führt den Neustart aus und wird unter Verwendung der neuen Bank (Bank-B) als Start-Bank in Übereinstimmung mit der aktualisierten Aktive-Bank-Information gestartet (S1318; entsprechend einer Startsteuerprozedur), und beendet den Aktivierungsausführungssteuerprozess. D.h., nach dem Neustart der Umschreibeziel-ECU 19 wird die Umschreibeziel-ECU in der Bank-B gestartet, in der das Anwendungsprogramm installiert ist.
  • Wenn bestimmt wird, dass das Umschreiben des Anwendungsprogramms auf die neue Bank nicht abgeschlossen ist (S1311: NEIN), oder bestimmt wird, dass die Datenverifizierung nach dem Umschreiben negativ ist (S1312: NEIN), bestimmt die Umschreibeziel-ECU 19, ob oder nicht ein Befehl für eine Aktivierungsanfrage empfangen wurde (S1319), sendet 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 Umschreiben negativ ist, kann die Umschreibeziel-ECU 19 den Aktivierungsausführungssteuerprozess beenden und einen Prozess wie beispielsweise Rollback ausführen. Wenn bestimmt wird, dass das Umschreibeabschluss-Flag der neuen Bank nicht „OK“ ist (S1315: NEIN), sendet die Umschreibeziel-ECU 19 eine negative Bestätigung an das CGW 13 (S1321) und kehrt zu Schritt S1311 zurück.
  • Wie oben beschrieben, führt die Umschreibeziel-ECU 19 den Aktivierungsausführungssteuerprozess aus, aktualisiert so die Aktive-Bank-Information in Vorbereitung auf den nächsten Neustart, wenn ein Befehl für eine Aktivierungsanfrage vom CGW 13 empfangen wird, und führt eine Neue-Bank-Umschaltung, um zu bewirken, dass eine Start-Bank von der alten Bank auf die neue Bank wechselt, gemäß der Aktive-Bank-Information aus, und zwar nach dem Neustart, wenn die Aktivierungsausführungsbedingung erfüllt ist. D.h., die Umschreibeziel-ECU 19 wird nicht durch ein Aktualisierungsprogramm gestartet, es sei denn, das CGW 13 erteilt einen Befehl zur Aktivierung desselben, obwohl die Installation des Aktualisierungsprogramms abgeschlossen ist. Zum Beispiel wird, auch wenn die die Umschreibeziel-ECU 19 neu gestartet wird, da der Benutzer den IG-Schalter 42 in einem AUS-Zustand einschaltet, wenn nicht ein Befehl zur Aktivierung vom CGW 13 empfangen wird, die Umschreibeziel-ECU 19 in derselben aktiven Bank gestartet. Das CGW 13 gibt gleichzeitig Befehle zur Aktivierung an mehrere Umschreibeziel-ECUs 19, so dass Aktualisierungsprogramme der mehreren Umschreibeziel-ECUs 19 gleichzeitig validiert werden können, wenn sie per Software-Rücksetzung, Energie-Rücksetzung oder Sitzungszeitüberschreitung (Time-out) neu gestartet werden. Vorstehend ist der Fall beschrieben, in dem Datenspeicherbänke Doppel-Bänke (Zwei-Bank) sind, aber das Gleiche gilt für einen Fall, in dem die Datenspeicherbänke drei oder mehr Bänke sind.
  • In (12) dem Aktivierungsanfragebefehlsprozess im CGW 13 führt das CGW 13 den Aktivierungsanfragebefehlsprozess an mehreren Umschreibeziel-ECUs 19 aus, die das Umschreiben von Anwendungsprogrammen abgeschlossen haben, und somit ist es möglich, eine Situation zu verhindern, in der die mehreren Umschreibeziel-ECUs 19, die das Umschreiben der Anwendungsprogramme abgeschlossen haben, zu ihren eigenen Timings von alten Programmen zu neuen Programmen umschalten, und Timings des Umschaltens von den alten Programmen zu den neuen Programmen in den mehreren Umschreibeziel-ECUs 19 in geeigneter Weise abzugleichen.
  • Umschreibeziel-Gruppierungsverwaltungsprozess
  • Nachstehend ist der Umschreibeziel-Gruppierungsverwaltungsprozess unter Bezugnahme auf die 151 bis 154 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Umschreibeziel-Gruppierungsverwaltungsprozess im CGW 13 aus. Das CGW 13 weist gleichzeitig eine oder mehrere zur gleichen Gruppe gehörende Umschreibeziel-ECUs 19 an, Anwendungsprogramme zu aktivieren. Das CGW 13 führt eine Steuerung von Installation bis Aktivierung in der Gruppeneinheit aus. Hier erfolgt eine Beschreibung in der Annahme, dass die ECU (ID1) und die ECU (ID2) die Umschreibeziel-ECUs 19 einer ersten Gruppe sind und eine ECU (ID11), eine ECU (ID12) und eine ECU (ID13) die Umschreibeziel-ECUs 19 einer zweiten Gruppe sind.
  • Wie in 151 gezeigt, weist das CGW 13 eine Gruppenerzeugungseinheit 85a und eine Befehlsausführungseinheit 85b in der Umschreibeziel-Gruppierungsverwaltungseinheit 85 auf. Die Gruppenerzeugungseinheit 85a gruppiert die zu aktualisierenden Umschreibeziel-ECUs 19 in Übereinstimmung mit einem Analyseergebnis der CGW-Umschreibespezifikationsdaten und erzeugt so eine Gruppe. In einem Fall, in dem die Gruppe von der Gruppenerzeugungseinheit 85a erzeugt wird, erteilt die Befehlsausführungseinheit 85b einen Befehl zur Installation in einer vorbestimmten Reihenfolge in der Einheit der Gruppe und einen Befehl zur Aktivierung in der Einheit der Gruppe, wenn die Installation abgeschlossen ist.
  • Nachstehend ist ein Betrieb der Umschreibeziel-Gruppierungsverwaltungseinheit 85 im CGW 13 unter Bezugnahme auf die 152 und 154 beschrieben. Das CGW 13 führt ein Umschreibeziel-Gruppierungsprogramm aus und führt damit den Umschreibeziel-Gruppierungsverwaltungsprozess aus. Wenn der Umschreibeziel-Gruppierungsverwaltungsprozess initiiert wird, erfasst das CGW 13 die CGW-Umschreibespezifikationsdaten vom DCM 12 (S1401; entsprechend einer Umschreibespezifikationsdaten-Erfassungsprozedur), analysiert die erfassten Umschreibespezifikationsdaten (S1402; entsprechend einer Umschreibespezifikationsdaten-Analyseprozedur) und bestimmt eine Gruppe, zu der die aktuelle Umschreibeziel-ECU 19 gehört. Zum Beispiel kann das CGW 13 spezifizieren, zu welcher Gruppe die Umschreibeziel-ECU gehört, indem es auf Information über die ECU der Umschreibespezifikationsdaten Bezug nimmt, und kann spezifizieren, zu welcher Gruppe die ECU gehört, indem es auf Information über die Gruppe der Umschreibespezifikationsdaten Bezug nimmt. Das CGW 13 bestimmt, ob oder nicht die Umschreibeziel-ECU 19 anfangs einem Umschreiben für eine bestimmte Gruppe unterzogen wird (S1403), bestimmt, ob oder nicht die Umschreibeziel-ECU 19, die zur gleichen Gruppe wie die vorherige Umschreibeziel-ECU 19 gehört, einem Umschreiben unterzogen wird (S1404), und bestimmt, ob oder nicht die Umschreibeziel-ECU 19, die zu einer anderen Gruppe als die vorherige Umschreibeziel-ECU 19 gehört, einem Umschreiben unterzogen wird (S1405; entsprechend einer Gruppenerzeugungsprozedur).
  • Wenn bestimmt wird, dass die Umschreibeziel-ECU 19 anfangs einem Umschreiben unterzogen wird (S1403: JA), oder bestimmt wird, dass die Umschreibeziel-ECU 19, die zur gleichen Gruppe gehört wie die vorherige Umschreibeziel-ECU 19, einem Umschreiben unterzogen wird (S1404: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, ein Anwendungsprogramm umzuschreiben, so dass das Anwendungsprogramm der Umschreibeziel-ECU 19 umgeschrieben wird (S1406). Das CGW 13 bestimmt, ob oder nicht die nächste Umschreibeziel-ECU 19 vorhanden ist (S1407). Wenn bestimmt wird, dass die nächste Umschreibeziel-ECU 19 in der gleichen Gruppe vorhanden ist (S1407: JA), kehrt das CGW 13 zu den obigen Schritten S1403 bis S1405 zurück und führt die Schritte S1403 bis S1405 wiederholt aus.
  • Wenn bestimmt wird, dass die Umschreibeziel-ECU 19, die zu einer anderen Gruppe gehört als die vorherige Umschreibeziel-ECU 19, einem Umschreiben unterzogen wird (S1405: JA), schreitet das CGW 13 zu einem Aktivierungsanfragebefehlsprozess voran (S1408; entsprechend einer Befehlsausführungsprozedur).
  • Wenn der Aktivierungsanfragebefehlsprozess initiiert wird, bestimmt das CGW 13, ob oder nicht die nächste Umschreibeziel-ECU 19 vorhanden ist (S1411). D.h., das CGW 13 bestimmt, ob oder nicht eine Gruppe vorhanden ist, in der die Installation nicht abgeschlossen ist. Wenn bestimmt wird, dass die nächste Umschreibeziel-ECU 19 vorhanden ist (S1411: JA), erteilt das CGW 13 einen Befehl für eine Aktivierungsanfrage an die Umschreibeziel-ECU 19, die zu der Gruppe gehört, in der das Umschreiben abgeschlossen wurde (S1412). D.h., in einem Fall, in dem die Installation auf der zur zweiten Gruppe gehörenden Umschreibeziel-ECU 19 noch nicht erfolgt ist, gibt das CGW 13 einen Befehl zur Aktivierung an die Umschreibeziel-ECU (ID1) und die Umschreibeziel-ECU (ID2) der ersten Gruppe, in der das Umschreiben bereits abgeschlossen ist.
  • Das CGW 13 erteilt einen Befehl für eine Software-Rücksetzanfrage an die Umschreibeziel-ECU 19 und weist die Umschreibeziel-ECU 19 an, durch Einschalten der Energie in einem AUS-Zustand und Ausschalten der Energie in einem EIN-Zustand über die Energieversorgungsverwaltungs-ECU 20 neu gestartet zu werden, und somit werden die Anwendungsprogramme der Umschreibeziel-ECU (ID1) und der Umschreibeziel-ECU (ID2) gemeinsam gestartet.
  • Das CGW 13 bestimmt ein Umschreibe-Timing für die nächste Umschreibeziel-ECU 19 (S1413 und S1314). D.h., das CGW 13 bestimmt Umschreibe-Timings für die Umschreibeziel-ECUs 19, die zur zweiten Gruppe gehören. Wenn bestimmt wird, dass das Umschreibe-Timing für die nächste Umschreibeziel-ECU 19 ein Timing der Benutzerumschaltung vom nächsten Fahren bis zum Aussteigen ist (S1413: JA), schaltet das CGW 13 die IG-Energie in einem EIN-Zustand aus (S1415), beendet den Aktivierungsanfragebefehlsprozess und kehrt zum Umschreibeziel-Gruppierungsverwaltungsprozess zurück. Wenn beispielsweise eine Zeitdauer, in der das Umschreiben eines Anwendungsprogramms zulässig ist, um aktualisiert zu werden, vom Benutzer im Voraus bestimmt wird und vorhergesagt wird, dass die Installation in der zur zweiten Gruppe gehörenden Umschreibeziel-ECU 19 während der Zeitdauer nicht abgeschlossen wird, führt das CGW 13 die Installation im nächsten Parkzustand aus. In diesem Fall weist das CGW 13 die Energieversorgungsverwaltungs-ECU 20 an, die IG-Energie auszuschalten, um in den ursprünglichen Parkzustand zurückzukehren.
  • Wenn bestimmt wird, dass das Umschreibe-Timing für die nächste Umschreibeziel-ECU 19 das aktuelle Aussteigen (Parkzustand) ist (S1414: JA), bestimmt das CGW 13, ob oder nicht eine verbleibende Batterieladung der Fahrzeugbatterie 40 größer oder gleich als ein Schwellenwert ist (S1417). Hier kann der Schwellenwert ein im Voraus festgelegter Wert oder ein aus den CGW-Umschreibespezifikationsdaten erfasster Wert sein. Wenn bestimmt wird, dass die verbleibende Batterieladung der Fahrzeugbatterie 40 nicht größer oder gleich als der Schwellenwert ist (S1416: NEIN), weist das CGW 13 die Energieversorgungsverwaltungs-ECU 20 an, die IG-Energie in einem EIN-Zustand auszuschalten (S1415), beendet den Aktivierungsanfragebefehlsprozess und kehrt zum Umschreibeziel-Gruppierungsverwaltungsprozess zurück. Wenn bestimmt wird, dass die verbleibende Batterieladung der Fahrzeugbatterie 40 größer oder gleich als der Schwellenwert ist (S1416: JA), hält das CGW 13 die IG-Energie in einem EIN-Zustand (S1417), beendet den Aktivierungsanfragebefehlsprozess und kehrt zum Umschreibeziel-Gruppierungsverwaltungsprozess zurück. Wie in 152 gezeigt, schreibt das CGW 13 das Anwendungsprogramm der zur zweiten Gruppe gehörenden Umschreibeziel-ECU 19 um.
  • Wenn bestimmt wird, dass es keine nächste Umschreibeziel-ECU 19 gibt (S1411: NEIN), gibt das CGW 13 einen Befehl für eine Aktivierungsanfrage an die Umschreibeziel-ECU 19, die zu der Gruppe gehört, in der das Umschreiben abgeschlossen wurde (S1418), schaltet die IG-Energie in einem EIN-Zustand aus (S1419), beendet den Befehlsprozess der Aktivierungsanfrage und kehrt zum Gruppenverwaltungsprozess des Umschreibeziels zurück. Beispielsweise ist, wenn ein Umschreiben in der Umschreibeziel-ECU (ID11), der Umschreibeziel-ECU (ID12) und der Umschreibeziel-ECU (ID13), die zur zweiten Gruppe gehören, abgeschlossen ist, ist die nächste Umschreibeziel-ECU 19, also die nächste Gruppe, nicht vorhanden. In diesem Fall weist das CGW 13 die ECU (ID11), die ECU (ID12) und die ECU (ID13) an, die Aktualisierungsprogramme zu aktivieren, und weist die Energieversorgungsverwaltungs-ECU 20 an, die IG-Energie auszuschalten, nachdem die Aktivierung abgeschlossen wurde.
  • Wie in 154 gezeigt, gehören in einem Fall, in dem die Anwendungsprogramme der ECU (ID1) und der ECU (ID2) und der ECU (ID11) bis zur ECU (ID13) umgeschrieben werden, wenn die ECU (ID1) und die ECU (ID2) ein Verhältnis kooperativer Steuerung aufweisen und die ECU (ID11), die ECU (ID12), und die ECU (ID13) ein Verhältnis kooperativer Steuerung aufweisen, in einem Verteilungspaket, die ECU (ID1) und die ECU (ID2) als die Umschreibeziel-ECUs 19 zur ersten Gruppe und die ECU (ID11), die ECU (ID12) und die ECU (ID13) als die Umschreibeziel-ECUs 19 zur zweiten Gruppe. Wenn das Umschreiben der Anwendungsprogramme in der ECU (ID1) und der ECU (ID2), die zur ersten Gruppe gehören, abgeschlossen ist, gibt das CGW 13 gleichzeitig einen Befehl für eine Aktivierungsanfrage an die ECU (ID1) und die ECU (ID2). Anschließend führt das CGW 13 ein Umschreiben der Anwendungsprogramme in der ECU (ID11), der ECU (ID12) und der ECU (ID13) aus, die zur zweiten Gruppe gehören, und erteilt einen Befehl für eine Aktivierungsanfrage an die ECU (ID11), die ECU (ID12) und die ECU (ID13), wenn das Umschreiben in allen der ECUs abgeschlossen ist. Die Umschreibeziel-ECU 19, die ein Ein-Bank-Speicher ist, wird angewiesen, neu gestartet zu werden, und wird somit angewiesen, die Aktivierung auszuführen.
  • Wie oben beschrieben, führt das CGW 13 den Gruppenverwaltungsprozess in Bezug auf die Umschreibeziel-ECUs 19 aus, an die eine Aktivierungsanfrage gestellt wird, und gibt somit einen Befehl für eine Aktivierungsanfrage an diese in der Einheit der Gruppe. Mehrere ECUs, die ein Verhältnis kooperativer Steuerung aufweisen, können gleichzeitig hochgestuft bzw. aktualisiert werden. D.h., es ist möglich, das Auftreten eines Problems in einem kooperativen Steuerungsprozess aufgrund einer Nichtübereinstimmung zwischen Versionen von Anwendungsprogrammen der mehreren Umschreibeziel-ECUs 19, die ein Verhältnis kooperativer Steuerung aufweisen, zu verhindern. Das CGW 13 führt eine Installation in einer vorbestimmten Reihenfolge in der Einheit der Gruppe aus. D.h., vom CGW 13 erfolgt eine Steuerung derart, dass Prozesse von Installation bis Aktivierung in der Gruppeneinheit erfolgen.
  • Die vorliegende Ausführungsform bezieht sich auf eine Konfiguration, in der nach Installationsabschluss in der zur ersten Gruppe gehörenden Umschreibeziel-ECU 19 eine Aktivierung in der zur ersten Gruppe gehörenden Umschreibeziel-ECU 19 erfolgt und anschließend nach Installationsabschluss in der zur zweiten Gruppe gehörenden Umschreibeziel-ECU 19 eine Aktivierung in der zur zweiten Gruppe gehörenden Umschreibeziel-ECU 19 erfolgt. Die Aktivierung in der zur ersten Gruppe gehörenden Umschreibeziel-ECU 19 und die Aktivierung in der zur zweiten Gruppe gehörenden Umschreibeziel-ECU 19 können jedoch nacheinander erfolgen. D.h., die Installation in der zur ersten Gruppe gehörenden Umschreibeziel-ECU 19 kann abgeschlossen sein, die Installation in der zur zweiten Gruppe gehörenden Umschreibeziel-ECU 19 kann abgeschlossen werden, und anschließend kann die Aktivierung in der zur ersten Gruppe gehörenden Umschreibeziel-ECU 19 ausgeführt werden und die Aktivierung in der zur zweiten Gruppe gehörenden Umschreibeziel-ECU 19 ausgeführt werden. In diesem Fall kann die Aktivierung in den Umschreibeziel-ECUs 19, die zur ersten und zur zweiten Gruppe gehören, gleichzeitig erfolgen.
  • In einem Fall, in dem die Umschreibeziel-ECU 19 eine Ein-Bank-Speicher-ECU enthält, kann ein Befehl für die Installation in der Ein-Bank-Speicher-ECU zuletzt in einer Gruppe gegeben werden. In einem Fall, in dem ein Befehl zur Installation an die Umschreibeziel-ECUs 19 gegeben wird, die ein Verhältnis kooperativen Betriebs aufweisen, kann der Befehl zur Installation zuerst an die Umschreibeziel-ECU 19 gegeben werden, die als eine Datensendeseite arbeitet, und der Befehl zur Installation später an die Umschreibeziel-ECU gegeben werden, die als eine Datenempfangsseite arbeitet.
  • Das CGW 13 nimmt Bezug auf den Speichertyp in den Umschreibespezifikationsdaten und bestimmt die Installationsreihenfolge in Übereinstimmung mit dem Speichertyp der Umschreibeziel-ECU 19. Die Installation erfolgt z.B. in einer Reihenfolge Zwei-Bank-Speicher, Ein-Bank-Suspend-Speicher und Ein-Bank-Speicher. Das CGW 13 speichert im Voraus, ob die ECU eine Datensendeseite oder eine Datenempfangsseite darstellt, als Information über die ECUs 19, die ein Verhältnis kooperativen Betriebs aufweisen, und bestimmt eine Installationsreihenfolge der Umschreibeziel-ECUs 19 auf der Grundlage der Information.
  • In einem Fall, in dem mehrere Gruppen vorhanden sind, kann eine Installationsreihenfolge z.B. auf der Grundlage des Dringlichkeitsgrads, des Sicherheitsgrads, einer Funktion oder einer Zeit festgelegt werden. Der Dringlichkeitsgrad ist ein Index, der angibt, ob oder nicht eine sofortige Installation erforderlich ist. Der Dringlichkeitsgrad ist hoch, wenn eine hohe Wahrscheinlichkeit besteht, dass es zu von Menschen verursachten Katastrophen oder Unfällen kommen kann, wenn keine Installation in der ECU erfolgt. Der Dringlichkeitsgrad ist gering, wenn eine geringe Wahrscheinlichkeit besteht, dass es zu von Menschen verursachten Katastrophen oder Unfällen kommen kann, auch wenn die ECU ohne Installation verbleibt. Die Installation erfolgt vorzugsweise bei einer Gruppe mit einem hohen Dringlichkeitsgrad. Der Sicherheitsgrad ist ein Index der Einschränkung aufgrund des Mikrocomputertyps zur Zeit der Installation, und die Installation erfolgt in einer aufsteigenden Reihenfolge der Einschränkung, d.h. in der Reihenfolge Zwei-Bank-Speicher, Ein-Bank-Suspend-Speicher und Ein-Bank-Speicher. Die Funktion ist ein Index für die Bequemlichkeit eines Benutzers, und die Installation erfolgt vorzugsweise bei einer Gruppe, die für einen Benutzer bequemer ist. Die Zeit ist ein Index der für die Installation benötigten Zeit, und die Installation erfolgt vorzugsweise bei einer Gruppe, die eine kurze Installationszeit benötigt.
  • In einem Fall, in dem das CGW 13 die erste Umschreibeziel-ECU 19 und die zweite Umschreibeziel-ECU 19, die zur gleichen Gruppe gehören, anweist, eine Installation auszuführen, weist das CGW 13, wenn die erste Umschreibeziel-ECU 19 bei der Installation erfolgreich ist und die zweite Umschreibeziel-ECU 19 bei der Installation scheitert, die zweite Umschreibeziel-ECU 19 an, ein Rollback auszuführen, und die erste Umschreibeziel-ECU 19 an, ein Rollback auszuführen.
  • In einem Fall, in dem das CGW 13 die zur ersten Gruppe gehörende Umschreibeziel-ECU 19 und die zur zweiten Gruppe gehörende Umschreibeziel-ECU 19 anweist, eine Installation auszuführen, weist das CGW 13, wenn die zur ersten Gruppe gehörende Umschreibeziel-ECU 19 bei der Installation scheitert, die zur zweiten Gruppe gehörende Umschreibeziel-ECU 19 an, die Installation auszuführen. In einem Beispiel von 152, in einem Fall, in dem ein Umschreiben in der zweiten Gruppe erfolgt (S1405: JA), überspringt das CGW 13 in einem Zustand, in dem die zur ersten Gruppe gehörende Umschreibeziel-ECU 19 bei der Installation scheitert, den Aktivierungsanfragebefehlsprozess (S1408) für die erste Gruppe und schreitet zu Schritt S1407 voran. Das CGW 13 kehrt zu Schritt S1403 zurück und initiiert die Ausführung der Installation bei der zweiten Gruppe und führt den Aktivierungsanfragebefehlsprozess in Bezug auf die zweite Gruppe aus, wenn die Installation abgeschlossen ist (S1408). D.h., auch wenn die erste Gruppe bei der Aktualisierung scheitert, führt das CGW 13 die Aktualisierung bei der zweiten Gruppe aus.
  • In einem Fall, in dem zwei Gruppen in einer einzigen Kampagne (innerhalb eines einzigen Verteilungspakets) vorhanden sind, werden die Genehmigungsbedienung des Benutzers für die Kampagne und die Genehmigungsbedienung des Benutzers für das Herunterladen einmal vorgenommen und werden die Genehmigungsbedienung des Benutzers für die Installation und die Genehmigungsbedienung des Benutzers für die Aktivierung zweimal für jede Gruppe vorgenommen. D.h., in einem Fall, in dem eine Funktion, die aufgrund einer Aktualisierung geändert wurde, für jede Gruppe unterschiedlich ist, ist es wünschenswert, die Genehmigungsbedienung des Benutzers für die Installation und die Genehmigungsbedienung des Benutzers für die Aktivierung für jede Funktion auszuführen. Da einige Benutzer die Benutzergenehmigungsbedienung für die Installation und die Benutzergenehmigungsbedienung für die Aktivierung für jede Gruppe als kompliziert empfinden, können die Benutzergenehmigungsbedienung für die Installation und die Benutzergenehmigungsbedienung für die Aktivierung einmal für alle Gruppen vorgenommen werden.
  • Obwohl die Konfiguration, in der eine Gruppe, zu der die Umschreibeziel-ECU 19 gehört, anhand der Umschreibespezifikationsdaten bestimmt wird, als ein Beispiel veranschaulicht ist, ist eine Konfiguration denkbar, in der eine Gruppe, zu der die Umschreibeziel-ECU 19 gehört, im CGW 13 gespeichert ist.
  • Rollback-Ausführungssteuerprozess
  • Nachstehend ist der Rollback-Ausführungssteuerprozess unter Bezugnahme auf die 155 bis 166 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Rollback-Ausführungssteuerungsprozess im CGW 13 aus. Das Rollback beschreibt ein Schreiben zum Rücksetzen des Speichers der Umschreibeziel-ECU 19 in einen vorbestimmten Zustand, wie z.B. das Rücksetzen bzw. Rückführen eines Anwendungsprogramms in eine ursprüngliche Version, in einem Fall, in dem das Umschreiben des Anwendungsprogramms gestoppt wird, und soll einen Zustand der Umschreibeziel-ECU 19, aus Sicht des Benutzers, in einen Zustand zurücksetzen, bevor das Schreiben von Schreibdaten initiiert wurde.
  • Wie in 155 gezeigt, enthält das CGW 13 eine Abbruchanfragebestimmungseinheit 86a, eine Rollback-Verfahren-Spezifizierungseinheit 86b und eine Rollback-Ausführungseinheit 86c in der Rollback-Ausführungssteuereinheit 86. Die Abbruchanfragebestimmungseinheit 86a bestimmt, ob oder nicht eine Umschreibeabbruchanfrage während eines Umschreibens eines Anwendungsprogramms erzeugt wird. Wenn der Benutzer z.B. das mobile Endgerät 6 bedient und einen Programmumschreibungsabbruch wählt, meldet die Zentralvorrichtung 3, die Information über den Abbruch erfasst, dem CGW 13 eine Programmumschreibeabbruchanfrage über das DCM 12.
  • In einem Fall, in dem eine Abnormität im System auftritt, meldet die Zentralvorrichtung 3, wenn es über die Abnormität im System informiert wird, dem CGW 13 die Programmumschreibeabbruchanfrage über das DCM 12. Die Abnormität im System ist zum Beispiel ein Fall, in dem das Schreiben bei einer bestimmten Umschreibeziel-ECU 19 erfolgreich ist, während eine andere Umschreibeziel-ECU 19, die eine kooperative Steuerung mit der bestimmten Umschreibeziel-ECU 19 ausführt, beim Schreiben scheitert. Wie oben erwähnt, wird, wenn mindestens eine von mehreren Umschreibeziel-ECUs 19, die eine kooperative Steuerung ausführen, beim Schreiben scheitert, bestimmt, dass das System fehlerhaft ist, und die Zentralvorrichtung 3 meldet dem CGW 13 die Programmumschreibeabbruchanfrage über das DCM 12 in Bezug auf die Umschreibeziel-ECU 19, die beim Schreiben erfolgreich war. D.h., zu den Ursachen für die Erzeugung der Abbruchanfrage gehören eine Bedienung des Benutzers und das Auftreten einer Abnormität im System.
  • Die Rollback-Verfahren-Spezifizierungseinheit 86b spezifiziert ein Rollback-Verfahren zum Zurücksetzen eines Zustands der Umschreibeziel-ECU 19 in einen Zustand vor dem Beginn des Schreibens von Schreibdaten gemäß dem Speichertyp des auf der Umschreibeziel-ECU 19 montierten Flash-Speichers und dem Datentyp der Schreibdaten eines neuen Programms oder eines alten Programms. D.h., die Rollback-Verfahren-Spezifizierungseinheit 86b spezifiziert, ob der Flash-Speicher ein Ein-Bank-Speicher, ein Ein-Bank-Suspend-Speicher oder ein Zwei-Bank-Speicher als Speichertyp der Umschreibeziel-ECU 19 ist, und spezifiziert, ob die Schreibdaten die gesamten Daten oder Differenzdaten als Datentyp der Schreibdaten sind.
  • Die Rollback-Verfahren-Spezifizierungseinheit 86b spezifiziert einen ersten Rollback-Prozess, einen zweiten Rollback-Prozess oder einen dritten Rollback-Prozess in Übereinstimmung mit dem Speichertyp und dem Datentyp. Wenn das Rollback-Verfahren durch die Rollback-Verfahren-Spezifizierungseinheit 86b spezifiziert wird, weist die Rollback-Ausführungseinheit 86c die Umschreibeziel-ECU 19 an, ein Rollback gemäß dem Rollback-Verfahren auszuführen, und betreibt die Umschreibeziel-ECU 19 mit dem alten Programm. D.h., die Rollback-Ausführungseinheit 86c führt ein Rollback aus, um einen Betriebszustand der Umschreibeziel-ECU 19 in einen Zustand vor dem Beginn des Umschreibens des Anwendungsprogramms zurückzusetzen.
  • Nachstehend ist ein Betrieb der Rollback-Ausführungssteuereinheit 86 im CGW 13 unter Bezugnahme auf die 156 bis 166 beschrieben. Das CGW 13 führt ein Rollback-Ausführungssteuerprogramm aus und führt somit den Rollback-Ausführungssteuerprozess aus. Das CGW 13 führt einen Rollback-Verfahren-Spezifizierungsprozess und einen Abbruchanfragebestimmungsprozess als den Rollback-Ausführungssteuerprozess aus. Jeder Prozess ist im Folgenden beschrieben.
  • Rollback-Verfahren-Spezifizierungsprozess
  • Wenn der Rollback-Verfahren-Spezifizierungsprozess initiiert wird, analysiert das CGW 13 die vom DCM 12 erfassten CGW-Umschreibespezifikationsdaten (S1501), spezifiziert ein Rollback-Verfahren auf der Grundlage eines Analyseergebnisses davon (S1502) und beendet den Rollback-Verfahren-Spezifizierungsprozess. Das CGW 13 erfasst den Speichertyp und den Datentyp eines Rollback-Programms aus den in 44 gezeigten Umschreibespezifikationsdaten und spezifiziert ein Rollback-Verfahren. Das Rollback-Verfahren kann unter Verwendung des Datentyps des neuen Programms spezifiziert werden, wenn der Datentyp mit dem des alten Programms übereinstimmt (Rollback-Programm).
  • D.h., in einem Fall, in dem der Flash-Speicher der Umschreibeziel-ECU 19 ein Ein-Bank-Speicher ist und die Schreibdaten die gesamten Daten sind, stoppt das CGW 13 als Rollback-Verfahren, wenn eine Abbruchanfrage erzeugt wird, sofort die Verteilung der gesamten Daten und spezifiziert ein Verfahren (erster Rollback-Prozess), bei dem Daten des alten Anwendungsprogramms in einen Umschreibe-Bereich in der Umschreibeziel-ECU 19 geschrieben werden, um in das alte Anwendungsprogramm umgeschrieben zu werden. Das alte Anwendungsprogramm (Rollback-Umschreibedaten) für einen Ein-Bank-Speicher ist zusammen mit einem Aktualisierungsprogramm in einem Verteilungspaket enthalten, und das CGW 13 verteilt das alte Anwendungsprogramm an die Umschreibeziel-ECU 19 auf die gleiche Weise wie das neue Anwendungsprogram m.
  • Wenn der Flash-Speicher der Umschreibeziel-ECU 19 ein Ein-Bank-Speicher ist und die Schreibdaten Differenzdaten sind, setzt das CGW 13 als Rollback-Verfahren, wenn eine Abbruchanfrage erzeugt wird, die Verteilung der Differenzdaten fort und spezifiziert ein Verfahren (zweiter Rollback-Prozess), bei dem die Differenzdaten in einen Umschreibe-Bereich in der Umschreibeziel-ECU 19 geschrieben werden, um in das neue Anwendungsprogramm umgeschrieben zu werden, woraufhin die Differenzdaten des alten Anwendungsprogramms verteilt werden und die alten Daten in den Umschreibe-Bereich in der Umschreibeziel-ECU 19 geschrieben werden, um in das alte Anwendungsprogramm umgeschrieben zu werden.
  • In einem Fall, in dem die Schreibdaten Differenzdaten sind, stellt die Umschreibeziel-ECU 19 das neue Anwendungsprogramm wieder her, indem es das in den Flash-Speicher geschriebene aktuelle Anwendungsprogramm und die vom CGW 13 erfassten Differenzdaten verwendet, und schreibt das neue Anwendungsprogramm. In einem Zustand, in dem ein anderes Anwendungsprogramm in den Flash-Speicher geschrieben wird, kann die Schreibziel-ECU 19 das neue Anwendungsprogramm nicht mit Hilfe der Differenzdaten wiederherstellen. Folglich ist es bei einem Ein-Bank-Speicher notwendig, einen Prozess zum Umschreiben von Daten in das neue Anwendungsprogramm auszuführen. Hier sind beispielsweise, wenn eine Version des aktuellen Anwendungsprogramms 1.0 ist und eine Version des neuen Anwendungsprogramms 2.0 ist, ein Umschreibeprogramm (Umschreibedaten) Differenzdaten zum Aktualisieren der Version 1.0 auf die Version 2.0 und Rollback-Umschreibedaten Differenzdaten zum Aktualisieren der Version 2.0 auf die Version 1.0.
  • Wenn der Flash-Speicher des Umschreibeziel-ECUs 19 ein Ein-Bank-Suspend-Speicher oder ein Zwei-Bank-Speicher ist, setzt das CGW 13 die Verteilung der Schreibdaten fort und spezifiziert ein Verfahren (dritter Rollback-Prozess), bei dem, wenn in der Umschreibeziel-ECU 19 eine aktive Bank die Bank-A und eine inaktive Bank die Bank-B ist, die Schreibdaten in die Bank-B geschrieben werden, die die inaktive Bank ist, so dass das neue Anwendungsprogramm installiert wird, aber das Umschalten der aktiven Bank von der Bank-A zur Bank-B unterdrückt wird.
  • Abbruchanfragebestimmungsprozess
  • Wenn spezifiziert wird, dass das Umschreiben eines Anwendungsprogramms in der Umschreibeziel-ECU 19 initiiert wird, initiiert das CGW 13 den Aufhebungsanfragebestimmungsprozess, bestimmt, ob oder nicht das Umschreiben des Anwendungsprogramms abgeschlossen ist (S1511), und bestimmt, ob oder nicht eine Abbruchanfrage erzeugt wurde (S1512). D.h., wie oben beschrieben, bestimmt das CGW, ob oder nicht die Abbruchanfrage aufgrund einer Bedienung des Benutzers, des Auftretens einer Abnormität im System oder dergleichen erzeugt wurde.
  • Wenn bestimmt wird, dass die Abbruchanfrage erzeugt wird, bevor das Umschreiben des Anwendungsprogramms abgeschlossen ist, d.h. die Abbruchanfrage während der Installation erzeugt wird (S1512: JA), spezifiziert das CGW 13 die Umschreibeziel-ECU 19, die ein Rollback-Ziel ist (S1513). Es wird angenommen, dass die zur gleichen Gruppe gehörenden Umschreibeziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, die ECU (ID1) ein Ein-Bank-Speicher ist, die ECU (ID2) und die ECU (ID3) Zwei-Bank-Speichers sind, die Installation in der ECU (ID1) abgeschlossen ist und eine Abbruchanfrage während der Installation in der ECU (ID2) erzeugt wird. In diesem Fall bestimmt das CGW 13 in S1413, ob oder nicht ein Rollback für alle zur ersten Gruppe gehörenden Umschreibeziel-ECUs 19 erforderlich ist.
  • Das CGW 13 spezifiziert die ECU (ID1), in die das gesamte Anwendungsprogramm umgeschrieben wird, und die ECU (ID2), in der ein Teil des Anwendungsprogramms umgeschrieben wird, als Rollback-Ziele. Das CGW 13 bestimmt den Speichertyp der Flash-Speicher der Umschreibeziel-ECUs 19, die die spezifizierten Rollback-Ziele sind, und bestimmt, ob jeder Flash-Speicher ein Ein-Bank-Speicher, ein Ein-Bank-Suspend-Speicher oder ein Zwei-Bank-Speicher ist (S1514 und S1515). Wenn bestimmt wird, dass der Flash-Speicher ein Ein-Bank-Speicher 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 voran (S1518; entsprechend einer Rollback-Ausführungsprozedur). Wenn der erste Rollback-Prozess initiiert wird, stoppt das CGW 13 sofort die Verteilung der Schreibdaten, die das neue Programm sind (S1531). Das CGW 13 erfasst die Rollback-Schreibdaten (altes Programm), d.h. die gesamten Daten, vom DCM 12 und verteilt die Rollback-Schreibdaten an die Umschreibeziel-ECU 19. Die Umschreibeziel-ECU 19 schreibt die Daten des alten Anwendungsprogramms, die vom CGW 13 erfasst werden, in den Flash-Speicher, so dass die Daten in das alte Anwendungsprogramm umgeschrieben werden (S1532), beendet den ersten Rollback-Prozess und kehrt zum Abbruchanfragebestimmungsprozess zurück.
  • Wenn bestimmt wird, dass die Rollback-Schreibdaten Differenzdaten sind (S1517: JA), schreitet das CGW 13 zu dem zweiten Rollback-Prozess voran (S1519; entsprechend einer Rollback-Ausführungsprozedur). Wenn der zweite Rollback-Prozess initiiert wird, setzt das CGW 13 die Verteilung der Schreibdaten, die ein neues Programm sind, fort (S1541), stellt die Differenzdaten in der Umschreibeziel-ECU 19 wieder her und schreibt die Differenzdaten in den Flash-Speicher, so dass die Differenzdaten in das neue Anwendungsprogramm umgeschrieben werden (S1542). Das CGW 13 verteilt die vom DCM 12 erfassten Schreibdaten des alten Applikationsprogramms an die Umschreibeziel-ECU 19, nachdem das Umschreiben in das neue Applikationsprogramm abgeschlossen wurde (S1543). Die Differenzdaten, bei denen es sich um die Schreibdaten des alten Anwendungsprogramms handelt, werden in der Umschreibeziel-ECU 19 wiederhergestellt und in den Flash-Speicher geschrieben, um in das alte Anwendungsprogramm umgeschrieben zu werden (S1544), und das CGW 13 beendet den zweiten Rollback-Prozess und kehrt zum Abbruchanfragebestimmungsprozess zurück.
  • Wenn bestimmt wird, dass die Umschreibeziel-ECU 19 eine Ein-Bank-Suspend-Speicher-ECU oder eine Zwei-Bank-Speicher-ECU ist (S1515: JA), schreitet das CGW 13 zu dem dritten Rollback-Prozess voran (S1520; entsprechend einer Rollback-Ausführungsprozedur). In diesem Fall schreitet das CGW 13 unabhängig vom Umschreibedatentyp zum dritten Rollback-Prozess voran. Wenn der dritte Rollback-Prozess initiiert wird, setzt das CGW 13 die Verteilung der Schreibdaten fort (S1551), schreibt die Schreibdaten in eine inaktive Bank (Bank-B) in der Umschreibeziel-ECU 19, so dass die Schreibdaten in das neue Anwendungsprogramm umgeschrieben werden (S1552). Das CGW 13 unterdrückt die Umschaltung einer aktiven Bank von der alten Bank (aktive Bank: Bank-A) auf die neue Bank (inaktive Bank: Bank-B) (S1553), beendet den dritten Rollback-Prozess und kehrt zum Abbruchanfragebestimmungsprozess zurück. Zusätzlich zur Unterdrückung des Umschaltens der aktiven Bank kann das CGW 13 ein Rollback der inaktiven Bank, in die die Version 2.0 geschrieben wird, in einen Zustand (z.B. die Version 1.0) vor dem Umschreiben in das neue Anwendungsprogramm vornehmen, wie in 126 gezeigt.
  • Wenn das CGW 13 zum Abbruchanfragebestimmungsprozess zurückkehrt, bestimmt das CGW, ob oder nicht der Rollback-Prozess an allen Umschreibeziel-ECUs 19, die die Rollback-Ziele sind, ausgeführt wurde (S1521). In dem beispielhaften Fall, in dem die Umschreibeziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, führt das CGW 13 beispielsweise zunächst den ersten Rollback-Prozess oder den zweiten Rollback-Prozess an der Ein-Bank-Speicher-ECU (ID1), in der die Installation ausgeführt wurde, in Übereinstimmung mit dem Rollback-Datentyp aus. Anschließend führt das CGW 13 den dritten Rollback-Prozess an der Zwei-Bank-Speicher-ECU (ID2) aus, in der die Installation abgeschlossen wurde.
  • Das CGW 13 führt den ersten Rollback-Prozess oder den zweiten Rollback-Prozess an der Ein-Bank-Speicher-ECU (ID1) entsprechend dem Umschreibedatentyp aus. Wenn bestimmt wird, dass der Rollback-Prozess nicht an allen der Umschreibeziel-ECUs 19 ausgeführt wurde, die die Rollback-Ziele sind (S1521: NEIN), kehrt das CGW 13 zu Schritt S1513 zurück und führt den Schritt S1513 und die nachfolgenden Schritte wiederholt aus. Wenn bestimmt wird, dass der Rollback-Prozess an allen der Umschreibeziel-ECUs 19, die Rollback-Ziele sind, ausgeführt wurde (S1521: JA), beendet das CGW 13 den Abbruchanfragebestimmungsprozess. Das CGW 13 weist gleichzeitig die ECU (ID1), die ECU (ID2) und die ECU (ID3), die zur ersten Gruppe gehören, an der der Rollback-Prozess ausgeführt wurde, an, die alten Anwendungsprogramme zu aktivieren. Die ECU (ID1) mit einem Ein-Bank-Speicher schaltet per Neustart auf das alte Anwendungsprogramm um. Die ECU (ID2) und die ECU (ID3) mit Zwei-Bank-Speichern werden in der gleichen aktiven Bank (Bank-A) wie zuvor gestartet, anstelle der inaktiven Bank (Bank-B), in die das Aktualisierungsprogramm geschrieben wird. Wenn sich die Absicht des Benutzers ändert und die Programmaktualisierung erneut ausgeführt wird, wird das neue Anwendungsprogramm in die ECU (ID1) und in die ECU (ID3) geschrieben. Da das neue Anwendungsprogramm jedoch bereits in der inaktiven Bank der ECU (ID2) installiert wurde, entfällt das Schreiben.
  • Wenn bestimmt wird, dass das Umschreiben des Anwendungsprogramms abgeschlossen wurde, ohne dass die Abbruchanfrage erzeugt wurde (S1511: JA), bestimmt das CGW, ob die Aktivierung abgeschlossen wurde (S1522), und bestimmt, ob die Abbruchanfrage erzeugt wurde (S1523).
  • Wenn bestimmt wird, dass die Abbruchanfrage vor Abschluss der Aktivierung erzeugt wurde, d.h. die Abbruchanfrage während der Aktivierung erzeugt wurde (S1523: JA), bestimmt das CGW, ob oder nicht ein Aktivierungsbefehl die Umschreibeziel-ECU 19 erreicht hat, und bestimmt, ob oder nicht das Umschalten der aktiven Bank abgeschlossen wurde (S1524).
  • Wenn bestimmt wird, dass der Aktivierungsbefehl die Umschreibeziel-ECU 19 nicht erreicht hat und die Umschaltung der aktiven Bank nicht abgeschlossen ist (S1524: NEIN), führt das CGW 13 einen vierten Rollback-Prozess aus (S1525). Es wird angenommen, dass das CGW 13 die aktive Bank als den vierten Rollback-Prozess nicht umschaltet. Alternativ kann das CGW 13 die inaktive Bank in einen Zustand vor dem Umschreiben in das neue Anwendungsprogramm zurückversetzen, ohne die aktive Bank umzuschalten. Wenn die aktive Bank nicht umgeschaltet wird, verwendet das CGW 13 eine Bank, in die die Version 1.0 geschrieben ist, als die aktive Bank, und eine Bank, in die die Version 2.0 geschrieben ist, als die inaktive Bank, wie in 163 gezeigt. Wenn die inaktive Bank in den Zustand vor dem Umschreiben in das neue Anwendungsprogramm zurückversetzt wird, ohne die aktive Bank umzuschalten, verwendet das CGW 13 die Bank, in die die Version 1.0 geschrieben ist, als die aktive Bank und versetzt die inaktive Bank, die eine Bank ist, in die die Version 2.0 geschrieben ist, in einen Zustand (Version 1.0) vor dem Umschreiben in das neue Anwendungsprogramm zurück, wie in 164 gezeigt.
  • Wenn bestimmt wird, dass der Aktivierungsbefehl die Umschreibeziel-ECU 19 erreicht hat und die Umschaltung der aktiven Bank abgeschlossen ist (S1524: JA), führt das CGW 13 einen fünften Rollback-Prozess aus. Der Abschluss der Umschaltung der aktiven Bank zeigt einen Zustand an, in dem eine Bank, in die die Version 2.0 geschrieben ist, von der inaktiven Bank zur aktiven Bank wechselt und eine Bank der Version 1.0 von der aktiven Bank zur inaktiven Bank wechselt, wie in 165 gezeigt. Als den fünften Rollback-Prozess schaltet das CGW 13 die aktive Bank um oder schaltet die aktive Bank nach dem Zurücksetzen der inaktiven Bank in den Zustand vor dem Umschreiben in das neue Anwendungsprogramm um. In einem Fall, in dem die aktive Bank umgeschaltet wird, schaltet das CGW 13 die Bank, in die die Version 2.0 geschrieben ist, von der aktiven Bank auf die inaktive Bank um, und schaltet die Bank, in die die Version 1.0 geschrieben ist, von der inaktiven Bank auf die aktive Bank um, wie in 165 gezeigt. Im Falle eines Umschaltens der aktiven Bank nach dem Rückversetzen der inaktiven Bank in den Zustand vor dem Umschreiben in das neue Anwendungsprogramm, wie in 166 gezeigt, führt das CGW 13 einen Rollback der aktiven Bank, d.h. der Bank, in die die Version 2.0 geschrieben ist, in den Zustand (z.B. die Version 1.0) vor dem Umschreiben in das neue Anwendungsprogramm vor, schaltet die Bank, die in den Zustand vor dem Umschreiben in das neue Anwendungsprogramm zurückgesetzt ist, von der aktiven Bank auf die inaktive Bank um und schaltet die Bank, in die die Version 1.0 geschrieben ist, von der inaktiven Bank auf die aktive Bank um.
  • Wie oben beschrieben, führt das CGW 13 den Rollback-Ausführungssteuerungsprozess aus, und folglich setzt das CGW 13, wenn während des Umschreibens eines Anwendungsprogramms eine Umschreibeabbruchanfrage erzeugt wird, einen Betriebszustand der Umschreibeziel-ECU 19, aus Sicht des Benutzers, in einen Zustand zurück, bevor das Umschreiben des Anwendungsprogramms initiiert wurde. So können alle zur gleichen Gruppe gehörenden Umschreibeziel-ECUs 19 gemeinsam auf die ursprünglichen Programmversionen zurückgesetzt werden. Selbst in einem Fall, in dem Differenzdaten bei der nächsten Programmaktualisierung verwendet werden, können die Schreibdaten korrekt wiederhergestellt werden.
  • Umschreibefortschrittssituations-Anzeigesteuerprozess
  • Nachstehend ist der Umschreibefortschrittssituations-Anzeigesteuerprozess unter Bezugnahme auf die 167 bis 179 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Umschreibefortschrittssituations-Anzeigesteuerprozess im CGW 13 aus. Um den Benutzer über eine Anwendungsprogramm-Umschreibefortschrittssituation zu informieren, zeigen das mobile Endgerät 6 und die In-Vehicle-Anzeige 7 als das Anzeige-Endgerät 5 eine Fortschrittssituation an. Die anzuzeigende Fortschrittssituation umfasst nicht nur einen Fall, in dem ein Programm aktualisiert wird, sondern ebenso einen Fall, in dem ein Rollback des Programms, z.B. aufgrund einer Abbruchbedienung durch den Benutzer oder eines Aktualisierungsfehlers, vorgenommen wird.
  • Wie in 167 gezeigt, enthält das CGW 13 eine Abbrucherfassungseinheit 87a, eine Schreibbefehlseinheit 87b und eine Benachrichtigungsbefehlseinheit 87c in der Umschreibefortschrittssituations-Anzeigesteuereinheit 87. Die Abbrucherfassungseinheit 87a erfasst einen Abbruch in Bezug auf das Umschreiben eines Programms zum Umschreiben von in der Umschreibeziel-ECU 19 gespeicherten ersten Schreibdaten mit von der Zentralvorrichtung 3 erfassten zweiten Schreibdaten. Die Abbrucherfassungseinheit 87a erfasst eine Abbruchbedienung durch den Benutzer oder einen Fehler, wie z.B. einen Fehler beim Schreiben in die Umschreibeziel-ECU 19. Die Abbrucherfassungseinheit 87a führt einen Rollback-Prozess auch in einem Fall aus, in dem eine vorbestimmte Abnormität erfasst wird, wie z.B. in einem Fall, in dem Schreibdaten mit der Umschreibeziel-ECU 19 inkompatibel sind, in einem Fall, in dem eine Verfälschung der Schreibdaten erfasst wird, oder in einem Fall, in dem ein Fehler beim Schreiben in die Umschreibeziel-ECU 19 auftritt, und somit wird eine Erfassung dieser Abnormitäten ebenso als Abbrucherfassung behandelt.
  • Die Schreibbefehlseinheit 87b verteilt die zweiten Schreibdaten an die Umschreibeziel-ECU 19 und weist die Umschreibeziel-ECU 19 an, die zweiten Schreibdaten zu schreiben. Die Benachrichtigungsbefehlseinheit 87c erteilt einen Befehl für eine Benachrichtigung über eine Fortschrittssituation in Bezug auf das Umschreiben eines Anwendungsprogramms. Die Benachrichtigungsbefehlseinheit 87c erteilt einen Befehl für eine Benachrichtigung über die Fortschrittssituation in Bezug auf das Umschreiben des Anwendungsprogramms bei einem ersten Aspekt, während die zweiten Schreibdaten durch die Schreibbefehlseinheit 87b verteilt werden, und erteilt einen Befehl für eine Benachrichtigung über die Fortschrittssituation in Bezug auf das Umschreiben des Anwendungsprogramms bei einem zweiten Aspekt, 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 spezifiziert das Umschreiben der Anwendungsprogramme in der Umschreibeziel-ECU 19 durch Spezifizieren eines internen Zustands der Umschreibeziel-ECU 19, Spezifizieren eines Befehls von der Zentralvorrichtung 3 oder Spezifizieren der Benutzerbedienung. Wenn das Umschreiben des Anwendungsprogramms spezifiziert wird, bestimmt das CGW 13, ob es sich um ein Umschreiben (Installation) während der normalen Zeit oder ein Umschreiben (Deinstallation) während eines Rollbacks handelt. Wenn durch Spezifizieren des internen Zustands der Umschreibeziel-ECU 19, durch Spezifizieren des Befehls von der Zentralvorrichtung 3 und durch Spezifizieren der Benutzerbedienung bestimmt wird, ob das Umschreiben ein Umschreiben während der normalen Zeit oder während eines Rollbacks ist, berechnet das CGW 13 eine Fortschrittssituation des Umschreibens während der normalen Zeit oder während des Rollbacks auf der Grundlage des Bestimmungsergebnisses und weist das Anzeige-Endgerät 5 an, die berechnete Fortschrittssituation anzuzeigen.
  • Das CGW 13 weist das Anzeige-Endgerät 5 an, die Fortschrittssituation während der normalen Zeit oder die Fortschrittssituation während des Rollbacks in Übereinstimmung mit dem Umschreibe-Bestimmungsergebnis anzuzeigen, das angibt, ob das Umschreiben ein Umschreiben während der normalen Zeit oder ein Umschreiben während des Rollbacks ist. Das CGW 13 erteilt einen Befehl, so dass die Fortschrittsanzeige, die die Fortschrittssituation des Umschreibens während der normalen Zeit anzeigt, von der Fortschrittsanzeige, die die Fortschrittssituation des Umschreibens während des Rollbacks anzeigt, unterscheidbar ist. D.h., das CGW 13 zeigt die Fortschrittssituation bei dem ersten Aspekt im Falle des Umschreibens während der normalen Zeit an und zeigt die Fortschrittssituation bei dem zweiten Aspekt, der sich vom ersten Aspekt unterscheidet, im Falle des Umschreibens während des Rollbacks an. Das CGW 13 unterscheidet die Fortschrittsanzeige während der normalen Zeit von der Fortschrittsanzeige während des Rollbacks, indem es Zeichen, Elemente, Farben, numerische Werte, Blinken und dergleichen auf einem Anzeigebildschirm zwischen der normalen Zeit und der Rollback-Zeit unterscheidet, als Aspekt in Bezug auf die Anzeige, wenn eine Fortschrittssituation angezeigt wird. Das CGW 13 unterscheidet die Fortschrittsanzeige während der normalen Zeit von der Fortschrittsanzeige während des Rollbacks, indem es Geräusche, Vibrationen und dergleichen zwischen der normalen Zeit und der Rollback-Zeit unterscheidet, als Aspekt verschieden von der Anzeige während des Anzeigens der Fortschrittsanzeige.
  • Nachstehend ist ein Betrieb des CGW 13 unter Bezugnahme auf die 168 bis 179 beschrieben. Das CGW 13 führt ein Umschreibefortschrittssituations-Anzeigesteuerprogramm aus und führt somit den Umschreibefortschrittssituations-Anzeigesteuerprozess aus.
  • Wenn ein Umschreibe-Initiierungssignal empfangen wird, das anzeigt, dass das Umschreiben eines Programms in der Umschreibeziel-ECU 19 initiiert wurde (wenn die Installation des Programms in der Umschreibeziel-ECU 19 initiiert wird), initiiert das CGW 13 den Umschreibefortschrittssituations-Anzeigesteuerprozess. Wenn der Umschreibefortschrittssituations-Anzeigesteuerprozess initiiert wird, analysiert das CGW 13 die CGW-Umschreibespezifikationsdaten, spezifiziert den Speichertyp und den Schreibdatentyp des Flash-Speichers der Umschreibeziel-ECU 19 und spezifiziert die Umschreibeziel-ECU 19 während der normalen Zeit (S1601). Wenn der Speichertyp und der Schreibdatentyp des Flash-Speichers der Umschreibeziel-ECU 19 und eine Größe eines Aktualisierungsprogramms spezifiziert werden (S1602), berechnet das CGW 13 eine Umschreibefortschrittssituation während der normalen Zeit in Übereinstimmung mit dem spezifizierten Ergebnis und erteilt einen Befehl zum Anzeigen der Umschreibefortschrittssituation während der normalen Zeit (S1603). Das Anzeige-Endgerät 5 zeigt die Umschreibefortschrittssituation bei einem Umschreibeanzeigeaspekt während der normalen Zeit im Ansprechen auf den Befehl des CGW 13 an.
  • Das CGW 13 bestimmt, ob oder nicht das Umschreiben des Anwendungsprogramms abgeschlossen ist (S1604), und bestimmt, ob oder nicht eine Abbruchanfrage erzeugt wurde (S1605; entsprechend einer Abbrucherfassungsprozedur). Das CGW 13 führt S1604 und S1605 wiederholt aus und aktualisiert und zeigt jederzeit eine Fortschrittssituation an, wie beispielsweise während einer Installation in der Umschreibeziel-ECU (ID1).
  • Wenn ein Umschreibeabschlusssignal empfangen wird, das anzeigt, dass das Umschreiben des Anwendungsprogramms in der Umschreibeziel-ECU 19 abgeschlossen wurde, und bestimmt wird, dass das Umschreiben des Anwendungsprogramms abgeschlossen wurde, ohne dass eine Abbruchanfrage erzeugt wurde (S1604: JA), beendet das CGW 13 die Anzeige der Umschreibefortschrittssituation während des Normalzustands (S1606) und bestimmt, ob oder nicht das Umschreiben in allen der Umschreibeziel-ECUs 19 abgeschlossen ist (S1607). Wenn z.B. die Installation in der Umschreibeziel-ECU (ID1) abgeschlossen wurde, zeigt das CGW 13 die Fortschrittssituation der ECU (ID1) mit bzw. als 100% an. Wenn bestimmt wird, dass das Umschreiben noch nicht in allen der Umschreibeziel-ECUs 19 abgeschlossen ist (S1607: NEIN), kehrt das CGW 13 zu Schritt S1601 zurück und führt den Schritt S1601 und die nachfolgenden Schritte wiederholt aus. Das CGW 13 führt eine Fortschrittsanzeige in Bezug auf die Umschreibeziel-ECU (ID2), die der nächsten Installation unterzogen wird, z.B. nach S1601 aus.
  • Wenn bestimmt wird, dass die Abbruchanfrage vor Abschluss des Umschreibens des Anwendungsprogramms erzeugt wurde (S1605: JA), beendet das CGW 13 die Anzeige der Umschreibefortschrittssituation während der normalen Zeit (S1608) und schreitet zu einem Anzeigesteuerprozess bei Rollback voran (S1609; entsprechend einer Benachrichtigungsbefehlsprozedur). Hier umfasst die Abbruchanfrage eine Abbruchanfrage durch den Benutzer und eine Abbruchanfrage durch das System basierend auf einem Fehler beim Schreiben in die Umschreibeziel-ECU 19 oder dergleichen.
  • Wenn der Anzeigesteuerprozess bei Rollback initiiert wird, spezifiziert das CGW 13 die Umschreibeziel-ECU 19 während des Rollbacks (S1611) und spezifiziert den Speichertyp des Flash-Speichers der Umschreibeziel-ECU 19 während des Rollbacks sowie den Datentyp und eine Größe eines Rollback-Programms (S1612). Das CGW 13 führt einen Prozess beispielsweise in der Annahme aus, dass die zur gleichen Gruppe gehörenden Umschreibeziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, die Installation in der ECU (ID1) und in der ECU (ID2) abgeschlossen ist und eine Abbruchanfrage während der Installation in der ECU (ID3) erzeugt wurde. In diesem Fall spezifiziert das CGW 13, ob oder nicht ein Rollback erforderlich ist, und ein Rollback-Verfahren in Übereinstimmung mit dem Speichertyp und dem Schreibdatentyp von jeder Umschreibeziel-ECU 19.
  • Das CGW 13 spezifiziert den Speichertyp und den Schreibdatentyp des Flash-Speichers der Umschreibeziel-ECU 19, die ein Rollback-Ziel ist, und spezifiziert, ob oder nicht ein Rollback erforderlich ist, und 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 in Übereinstimmung mit dem spezifizierten Ergebnis, zeigt die Fortschrittssituation an und erteilt einen Befehl zum Anzeigen einer Umschreibefortschrittssituation bei Rollback (S1613). Die Menge an Schreibdaten im CGW 13 ist in Abhängigkeit von dem ersten bis dritten Rollback-Prozess verschieden. Folglich bestimmt das CGW 13 eine Gesamtmenge an Schreibdaten gemäß dem ersten bis dritten Rollback-Prozess und berechnet den Fortschritt (wie viel der Daten geschrieben wurde) auf der Grundlage eines Verhältnisses einer Menge an geschriebenen Daten. Das CGW 13 bestimmt, ob oder nicht das Umschreiben als der Rollback-Prozess des Anwendungsprogramms abgeschlossen ist (S1614).
  • Das CGW 13 verteilt die Schreibdaten an die Umschreibeziel-ECU 19, bis das Umschreiben als der Rollback-Prozess abgeschlossen ist, und führt wiederholt die Fortschrittsberechnung und den Anzeigebefehl, die vorstehend beschrieben sind, aus. In S1613 zeigt das CGW 13 die berechnete Fortschrittssituation bei einem Anzeigeaspekt bei Rollback an. In S1614 bestimmt das CGW, ob oder nicht das Rollback für die ECU (ID3), in der das Umschreiben ausgeführt wurde, normal abgeschlossen wurde.
  • Wenn bestimmt wird, dass das Rollback für die Umschreibeziel-ECU 19, die ein Rollback-Ziel ist, abgeschlossen ist (S1614: JA), beendet das CGW 13 die Anzeige der Umschreibefortschrittssituation bei Rollback (S1615). Beispielsweise setzt das CGW 13 die Anzeige, dass das Rollback für die ECU (ID3) zu 100% abgeschlossen ist, fort.
  • Das CGW 13 bestimmt, ob oder nicht das Umschreiben bei Rollback in allen Rollback-Ziel-ECUs 19 abgeschlossen ist (S1616). Wenn bestimmt wird, dass das Umschreiben bei Rollback nicht für alle der Rollback-Ziel-ECUs 19 abgeschlossen ist (S1616: NEIN), kehrt das CGW 13 zu Schritt S1611 zurück und führt den Schritt S1611 und die nachfolgenden Schritte wiederholt aus.
  • Beispielsweise zeigt das CGW 13 in einem Fall, in dem die ECU (ID1), in der die Installation abgeschlossen wurde, ein Ein-Bank-Speicher ist, die Umschreibefortschrittssituation bei Rollback an (S1613). Demgegenüber wird beispielsweise in einem Fall, in dem die ECU (ID2), in der die Installation abgeschlossen wurde, ein Zwei-Bank-Speicher ist und kein Rollback benötigt, die ECU (ID2) von einem Umschreibeziel bei Rollback ausgeschlossen. Wenn das Rollback für die ECU (ID3) und die ECU (ID1) abgeschlossen ist, ist das Umschreiben in den Umschreibeziel-ECUs 19, die alle Rollback-Ziele sind, abgeschlossen (S1616: JA), und das CGW 13 beendet den Anzeigesteuerprozess bei Rollback.
  • In der obigen Beschreibung führt das CGW 13 den Anzeigesteuerprozess bei Rollback aus, aber die In-Vehicle-Anzeigen-ECU 7 oder die Zentralvorrichtung 3 kann konfiguriert sein, um den Anzeigesteuerprozess bei Rollback auszuführen, während sie erforderliche Information vom CGW 13 erfasst. Es ist eine Konfiguration vorstellbar, in der das CGW 13 das Umschreiben bei Rollback, die Fortschrittsberechnung und dergleichen ausführt und die In-Vehicle-Anzeigen-ECU 7 oder die Zentralvorrichtung 3 die Anzeigesteuerung bei Rollback ausführt. D.h., es gibt keine Einschränkung für die Konfiguration, in der nur das CGW 13 die Funktion der Anzeigesteuervorrichtung aufweist, und die Funktion der Anzeigesteuervorrichtung kann zwischen dem CGW 13 und der In-Vehicle-Anzeigen-ECU 7 aufgeteilt sein, oder die Funktion der Anzeigesteuervorrichtung kann zwischen dem CGW 13 und der Zentralvorrichtung 3 aufgeteilt sein.
  • Nachstehend ist die Anzeige einer Umschreibefortschrittssituation unter Bezugnahme auf die 170 bis 178 beschrieben. Wie in 170 gezeigt, zeigt das Anzeige-Endgerät 5 die Gesamtfortschrittssituation bei einer Anzeige der Umschreibefortschrittssituation während der normalen Zeit als „normales Umschreiben“ an und lässt den Benutzer so erkennen, dass die Anzeige eine Anzeige der Umschreibefortschrittssituation während der normalen Zeit ist. Das „normale Umschreiben“ kann als „Installation“ angezeigt werden. Als ersten Aspekt zeigt das Anzeige-Endgerät 5 die Umschreibefortschrittssituation während der normalen Zeit an.
  • Das Anzeige-Endgerät 5 zeigt den Fortschrittszustand für die Umschreibeziel-ECU 19, die das Umschreiben eines Anwendungsprogramms abgeschlossen hat und auf einen Synchronisierungsbefehl zum Aktivieren des Aktualisierungsprogramms wartet, als „Warten auf Synchronisierungsbefehl“ an und zeigt den Fortschrittszustand für die Umschreibeziel-ECU 19, die ein Anwendungsprogramm umschreibt, als „normales Umschreiben“ an. Das „Warten auf Synchronisierungsbefehl“ kann als „Warten auf Aktivierung“ angezeigt werden. Das „normale Umschreiben in Arbeit“ kann als „Installation in Arbeit“ angezeigt werden. 170 zeigt beispielhaft einen Fall, in dem die ECU (ID0001) und die ECU (ID0002) das Umschreiben von Anwendungsprogrammen abgeschlossen haben und auf einen Synchronisierungsbefehl warten und die ECU (ID0003) einen Zustand aufweist, in dem ein normales Umschreiben in Arbeit ist.
  • Wenn in diesem Zustand eine Abbruchanfrage erzeugt wird, wie z.B. in 171 gezeigt, zeigt das Anzeige-Endgerät 5 eine Pop-up-Nachricht „Abbruch empfangen; Zustand vor Umzuschreiben wird wiederhergestellt; bitte warten Sie eine Weile“ an und lässt den Benutzer so erkennen, dass der Abbruch empfangen wurde. Als zweiten Aspekt führt das Anzeige-Endgerät 5 eine Anzeige aus, die anzeigt, dass ein Abbruch empfangen wurde.
  • Wenn sich das CGW 13 auf ein Umschreiben bei Rollback vorbereitet, zeigt das Anzeige-Endgerät 5 die Gesamtfortschrittssituation als „Rollback-Umschreiben“ an, wie in 172 gezeigt, und lässt den Benutzer erkennen, dass die Anzeige eine Anzeige der Umschreibefortschrittssituation bei Rollback ist. Das „Rollback-Umschreiben“ kann als „Deinstallation“ angezeigt werden. Das Anzeige-Endgerät 5 zeigt die Fortschrittssituation aller Umschreibeziel-ECUs 19 als „Warten auf Rollback“ an und zeigt einen numerischen Wert eines Fortschrittsdiagramms, der die Umschreibefortschrittssituation anzeigt, als „0%“ an. Das „Warten auf Rollback“ kann als „Warten auf Deinstallation“ angezeigt werden. Hier sind die ECU (ID0001) und die ECU (ID0002) Beispiele für Ein-Bank-Speicher-ECUs und ist die ECU (ID0003) ein Beispiel für eine Zwei-Bank-Speicher-ECU, und ein Rollback ist für die ECU (ID0001) und die ECU (ID0002) erforderlich, in denen die Installation abgeschlossen wurde, zusätzlich zur ECU (ID0003), in der ein Umschreiben erfolgt ist. 172 veranschaulicht einen Aspekt, bei dem eine Gesamtfortschrittssituation angezeigt wird und die Fortschrittssituation jeder Umschreibeziel-ECU 19 angezeigt wird.
  • Wenn ein Umschreiben bei Rollback initiiert wird, zeigt das CGW 13 den Fortschrittszustand der Umschreibeziel-ECU 19 in einem Umschreibe-Zustand als „Rollback-Umschreiben in Arbeit (oder Deinstallation in Arbeit)“ an, wie in 173 gezeigt. Als dritten Aspekt zeigt das Anzeige-Endgerät 5 die Umschreibefortschrittssituation bei Rollback an. 173 zeigt beispielhaft einen Fall, in dem die ECU (ID0003) einen Zustand aufweist, in dem ein Rollback-Umschreiben in Arbeit ist. Wenn das Rollback für die Umschreibeziel-ECU 19 abgeschlossen ist, zeigt das Anzeige-Endgerät 5 den Fortschrittszustand als „Rollback abgeschlossen“ und die Fortschrittssituation als 100% für die Umschreibeziel-ECU 19 an, die das Umschreiben abgeschlossen hat, wie in 174 gezeigt.
  • In einem Fall, in dem die Rollback-Ziel-ECU 19 eine Ein-Bank-Speicher-ECU ist und die gesamten Daten umzuschreiben sind, bewirkt das Anzeige-Endgerät 5 einen Übergang der Anzeige des Fortschrittsdiagramms, wie in 175 gezeigt. D.h., in einem Fall, in dem die Rollback-Ziel-ECU 19 eine Ein-Bank-Speicher-ECU ist und die gesamten Daten umzuschreiben sind, wird die Verteilung der gesamten Daten sofort gestoppt, und die Daten des alten Anwendungsprogramms werden in den Flash-Speicher in der Umschreibeziel-ECU 19 geschrieben, um in das alte Anwendungsprogramm umgeschrieben zu werden (erster Rollback-Prozess).
  • Wenn beispielsweise eine Abbruchanfrage in einem Stadium erzeugt wird, in dem das normale Umschreiben bis zu „50%“ abgeschlossen ist (176(a)), zeigt das Anzeige-Endgerät 5 den numerischen Wert des Fortschrittsdiagramms als „0%“ an ( 176(b)), erhöht einen numerischen Wert des Fortschrittsdiagramms in Übereinstimmung mit dem Fortschritt des Schreibens der Daten des alten Anwendungsprogramms und schreibt die Daten in das alte Anwendungsprogramm um (176(c), 176(d) und 176(e)). Wenn das Umschreiben in das alte Anwendungsprogramm zu 100% abgeschlossen ist, zeigt das Anzeige-Endgerät 5 an, dass die Umschreibeziel-ECU 19 das „Rollback abgeschlossen“ hat. 175 und die 176 bis 178, die nachstehend noch beschrieben sind, zeigen Fortschrittsanzeigen der einzelnen ECUs.
  • Wenn die Rollback-Ziel-ECU 19 eine Ein-Bank-Speicher-ECU ist und Differenzdaten umzuschreiben sind, bewirkt das Anzeige-Endgerät 5 einen Übergang der Anzeige des Fortschrittsdiagramms, wie in 176 oder 177 gezeigt. D.h., wenn die Rollback-Ziel-ECU 19 ein Ein-Bank-Speicher ist und die Differenzdaten umzuschreiben sind, setzt das CGW 13 die Verteilung der Differenzdaten fort, schreibt die Differenzdaten in den Flash-Speicher in der Umschreibeziel-ECU 19 und schreibt so die Differenzdaten in das neue Anwendungsprogramm um. Das CGW 13 verteilt die Daten des alten Anwendungsprogramms an die Umschreibeziel-ECU 19, schreibt die alten Daten in den Flash-Speicher in der Umschreibeziel-ECU 19 und schreibt damit die alten Daten in das alte Anwendungsprogramm um (zweiter Rollback-Prozess).
  • Wenn beispielsweise eine Abbruchanfrage in einem Stadium erzeugt wird, in dem das normale Umschreiben (Installation) bis zu „50%“ abgeschlossen ist ( 176(a) und 177(a)), zeigt das Anzeige-Endgerät 5 einen numerischen Wert des Fortschrittsdiagramms als „0%“ an (176(b) und 177(b)). Die Umschreibeziel-ECU 19 validiert die bisher geschriebenen Differenzdaten und setzt das Schreiben der vom CGW 13 verteilten Differenzdaten fort. D.h., die Fortschrittsanzeige, die anzeigt, dass die Installation abgeschlossen ist, wechselt von der Anzeige „0%“ zu einem Verhältnis entsprechend den validierten „50%“ (176(c) und 177(c)). Das Anzeige-Endgerät 5 erhöht den numerischen Wert des Fortschrittsdiagramms in Übereinstimmung mit dem Fortschritt des Schreibens der vom CGW 13 verteilten Differenzdaten des neuen Programms durch die Umschreibeziel-ECU 19 (176(d), 176(e), 177(d) und 177(e)). Nachdem die Umschreibeziel-ECU 19 das Umschreiben des neuen Anwendungsprogramms abgeschlossen hat, erhöht das Anzeige-Endgerät 5 anschließend den numerischen Wert des Fortschrittsdiagramms in Übereinstimmung mit dem Fortschritt des Schreibens der vom CGW 13 verteilten Differenzdaten des alten Anwendungsprogramms durch die Umschreibeziel-ECU 19 (176(f), 176(g), 177(f) und 177(g)). D.h., das Anzeige-Endgerät 5 zeigt die Fortschrittssituation des Schreibens des neuen Programms und die Fortschrittssituation des Schreibens des alten Programms in Übereinstimmung mit dem Auftreten kontinuierlicher Installation des neuen Programms und Installation des alten Programms als der Rollback-Prozess an.
  • In diesem Fall kann das Anzeige-Endgerät 5, wie in 176 gezeigt, einen Umschreibe-Abschnitt des neuen Anwendungsprogramms als „100%“ im Fortschrittsdiagramm auf der linken Seite anzeigen und einen Umschreibe-Abschnitt des alten Anwendungsprogramms als „100%“ im Fortschrittsdiagramm auf der rechten Seite anzeigen, so dass die gesamte Breite des Fortschrittsdiagramms „200%“ sein kann. In diesem Fall berechnet das Anzeige-Endgerät 5 einen Fortschrittsprozentsatz des neuen Anwendungsprogramms auf der Grundlage einer Dateigröße des neuen Anwendungsprogramms und einer kumulativen Datengröße des geschriebenen neuen Anwendungsprogramms, berechnet einen Fortschrittsprozentsatz des alten Anwendungsprogramms auf der Grundlage einer Dateigröße des alten Anwendungsprogramms und einer kumulativen Datengröße des geschriebenen alten Anwendungsprogramms und zeigt auf diese Weise die Fortschrittssituation an.
  • Wie in 177 gezeigt, kann das Anzeige-Endgerät 5 die gesamte Breite des Fortschrittsdiagramms auf „100%“ setzen, indem sie einen Umschreibe-Abschnitt des neuen Anwendungsprogramms auf „50%“ und einen Umschreibe-Abschnitt des alten Anwendungsprogramms auf „50%“ setzt. In diesem Fall berechnet und zeigt das Anzeige-Endgerät 5 einen Fortschrittsprozentsatz auf der Grundlage eines Summenwerts der Dateigröße des geschriebenen neuen Anwendungsprogramms und der Dateigröße des alten Anwendungsprogramms sowie eines Summenwerts der kumulativen Datengröße des neuen Anwendungsprogramms und der kumulativen Datengröße des alten Anwendungsprogramms an.
  • In einem Fall, in dem die Rollback-Ziel-ECU 19 eine Ein-Bank-Suspend-Speicher-ECU oder eine Zwei-Bank-Speicher-ECU ist, wie in 178 gezeigt, bewirkt das Anzeige-Endgerät 5 einen Übergang der Anzeige des Fortschrittsdiagramms. D.h., im Falle eines Umschreibens, wenn die Rollback-Ziel-ECU 19 eine Ein-Bank-Suspend-Speicher-ECU oder eine Zwei-Bank-Speicher-ECU ist, setzt das CGW 13 die Verteilung von Schreibdaten an die Umschreibeziel-ECU 19 fort, schreibt die Schreibdaten in die inaktive Bank in der Umschreibeziel-ECU 19 und schreibt die Schreibdaten in das neue Anwendungsprogramm um (dritter Rollback-Prozess).
  • Wenn beispielsweise eine Abbruchanfrage in einem Stadium erzeugt wird, in dem das normale Umschreiben (Installation) bis zu „50%“ abgeschlossen ist ( 178(a)), zeigt das Anzeige-Endgerät 5 den numerischen Wert des Fortschrittsdiagramms als „0%“ an (178(b)). Die Umschreibeziel-ECU 19 validiert die bisher geschriebenen Differenzdaten und setzt das Schreiben der vom CGW 13 verteilten Differenzdaten fort. D.h., die Fortschrittsanzeige, die anzeigt, dass die Installation abgeschlossen ist, wechselt von der Anzeige „0%“ zu einem Verhältnis entsprechend den validierten „50%“ (178(c)). Das Anzeige-Endgerät 5 erhöht den numerischen Wert des Fortschrittsdiagramms in Übereinstimmung mit dem Fortschritt des Schreibens der vom CGW 13 verteilten Differenzdaten des neuen Programms durch die Umschreibeziel-ECU 19 (178(d) und 178(e)). In der vorliegenden Ausführungsform ist vorstehend ein Fall beschrieben, in dem das CGW 13 den Umschreibefortschrittssituations-Anzeigesteuerprozess ausführt, aber das Anzeige-Endgerät 5 kann ebenso den Umschreibefortschrittssituations-Anzeigesteuerprozess ausführen.
  • Wie oben beschrieben, zeigt das Anzeige-Endgerät 5, da der Umschreibefortschrittssituations-Anzeigesteuerprozess ausgeführt wird, eine Fortschrittssituation bei einem Anzeigeaspekt zur Unterscheidung des Umschreibens eines Anwendungsprogramms zwischen einem Umschreiben (Installation) während der normalen Zeit und einem Umschreiben (Deinstallation) bei Rollback auf der Grundlage des Rollback-Prozesses an. Der Benutzer kann ein laufendes Rollback durch Empfangen eines Abbruchs eines Aktualisierungsprogramms erkennen. Obwohl vorstehend die Konfiguration zum Anzeigen eines Fortschrittszustands für jede Umschreibeziel-ECU 19 beschrieben ist, kann, wie in 179 gezeigt, auch eine Konfiguration zum kollektiven Anzeigen eines Fortschrittszustands für die Umschreibeziel-ECUs 19 angewandt werden. In diesem Fall zeigt das Anzeige-Endgerät 5 einen einzigen Fortschrittszustand an, anstatt die Fortschrittszustände für die drei Umschreibeziel-ECUs 19 einzeln anzuzeigen. Das CGW 13 berechnet den Fortschritt auf der Grundlage eines Verhältnisses einer Menge geschriebener Daten zu einer Gesamtmenge von Schreibdaten, die in den drei Umschreibeziel-ECUs 19 als Rollback-Prozess erzeugt werden.
  • Differenzdatenkonsistenz-Bestimmungsprozess
  • Nachstehend ist der Differenzdatenkonsistenz-Bestimmungsprozess unter Bezugnahme auf die 180 bis 183 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Differenzdatenkonsistenz-Bestimmungsprozess aus, bevor die Installation in der Umschreibeziel-ECU 19 initiiert wird.
  • Wie in 180 gezeigt, enthält die ECU 19, in der Differenzdatenkonsistenz-Bestimmungseinheit 103, eine Differenzdatenerfassungseinheit 103a, eine Konsistenzbestimmungseinheit 103b, eine Schreibdatenwiederherstellungseinheit 103c, eine Datenschreibeinheit 103d, eine Datenverifizierungswert-Berechnungseinheit 103e, eine Umschreibespezifikationsdaten-Erfassungseinheit 103f, eine Datenkenninformations-Erfassungseinheit 103g und eine Umschreibe-Bank-Informationserfassungseinheit 103h.
  • Die Differenzdatenerfassungseinheit 103a erfasst Differenzdaten, die zum Umschreiben eines Datenspeicherbereichs einer elektronischen Steuereinheit verwendet werden, die die Umschreibeziel-ECU 19 ist, und die eine Differenz zwischen alten und neuen Daten anzeigen. Die Konsistenzbestimmungseinheit 103b bestimmt, ob oder nicht die Differenzdaten mit einem Datenspeicherbereich oder gespeicherten Daten konsistent sind, und zwar auf der Grundlage von erster Bestimmungsinformation in Bezug auf die gespeicherten Daten, die im Datenspeicherbereich des Flash-Speichers gespeichert sind, und zweiter Bestimmungsinformation, die auf eine mit den Differenzdaten verknüpfte Weise erfasst wird. Die erste Bestimmungsinformation ist z.B. ein Datenverifizierungswert für die gespeicherten Daten, und die zweite Bestimmungsinformation ist z.B. ein Datenverifizierungswert für alte Daten oder ein Datenverifizierungswert für neue Daten. Die Schreibdatenwiederherstellungseinheit 103c stellt Schreibdaten unter Verwendung der Differenzdaten und der gespeicherten Daten wieder her, wenn von der Konsistenzbestimmungseinheit 103b bestimmt wird, dass die Konsistenz der Differenzdaten positiv ist, und stellt die Schreibdaten nicht wieder her, wenn von der Konsistenzbestimmungseinheit 103b bestimmt wird, dass die Konsistenz der Differenzdaten negativ ist. Wenn die Schreibdaten durch die Schreibdatenwiederherstellungseinheit 103c wiederhergestellt werden, speichert die Datenschreibeinheit 103d die wiederhergestellten Schreibdaten im Datenspeicherbereich. Die Datenverifizierungswert-Berechnungseinheit 103e berechnet einen Datenverifizierungswert für jeden von Blöcken, die durch Teilen der gespeicherten Daten in einen oder mehrere Blöcke erhalten werden. Die Datenverifizierungswert-Berechnungseinheit 103e erfasst den Datenverifizierungswert für jeden Block, der zusammen mit den Differenzdaten empfangen wird.
  • Die Umschreibespezifikationsdaten-Erfassungseinheit 103f erfasst entsprechende Umschreibespezifikationsdaten in den CGW-Umschreibespezifikationsdaten vom CGW 13. Die Datenkenninformations-Erfassungseinheit 103g erfasst in den Differenzdaten gespeicherte Datenkenninformation und Datenkenninformation eines alten Anwendungsprogramms, bei dem es sich um die alten Daten handelt. Die Datenkenninformation ist Information zum Erkennen, ob oder nicht die Differenzdaten Daten für die ECU sind, wobei es sich bei der Datenkenninformation beispielsweise um Daten handelt, die durch Anwenden eines vorbestimmten Algorithmus auf die alten Daten berechnet werden.
  • Die Umschreibe-Bank-Informationserfassungseinheit 103h erfasst Umschreibe-Bank-Information, die in den vom CGW 13 erfassten Umschreibespezifikationsdaten gespeichert ist, sowie Umschreibe-Bank-Information des alten Anwendungsprogramms, bei dem es sich um alte Daten handelt. Die Umschreibe-Bank-Information ist Information, die angibt, welche Bank des Flash-Speichers mit den Differenzdaten, also den Schreibdaten, zu beschreiben ist. In einem Fall, in dem die Umschreibeziel-ECU 19 ein Zwei-Bank-Speicher oder ein Ein-Bank-Suspend-Speicher ist, wird die Bank-A oder die Bank-B bestimmt. In einem Fall, in dem die Umschreibeziel-ECU 19 ein Ein-Bank-Speicher ist, wird die Umschreibe-Bank-Information nicht verwendet. Wenn die vom CGW 13 verteilten Differenzdaten von der Schreibdatenempfangseinheit 101 empfangen werden, bestimmt die Konsistenzbestimmungseinheit 103b die Konsistenz der Differenzdaten unter Verwendung von wenigstens entweder der Datenkenninformation, dem Datenverifizierungswert oder der Umschreibe-Bank-Information.
  • Nachstehend ist ein Betrieb der Differenzdatenkonsistenz-Bestimmungseinheit 103 in der Umschreibeziel-ECU 19 unter Bezugnahme auf die 181 und 183 beschrieben. Die Umschreibeziel-ECU 19 führt ein Differenzdatenkonsistenz-Bestimmungsprogramm aus und führt damit den Differenzdatenkonsistenz-Bestimmungsprozess aus. Wenn der Differenzdatenkonsistenz-Bestimmungsprozess initiiert wird, erfasst die Umschreibeziel-ECU 19 Datenkenninformation, einen Datenverifizierungswert und Umschreibe-Bank-Information in Bezug auf Differenzdaten als erste Bestimmungsinformation zum Bestimmen der Konsistenz der Differenzdaten (S1701). Die Umschreibeziel-ECU 19 erfasst Datenkenninformation, einen Datenverifizierungswert von alten Daten, einen Datenverifizierungswert von neuen Daten und Umschreibe-Bank-Information als zweite Bestimmungsinformation (S1702).
  • Die Umschreibeziel-ECU 19 bestimmt, ob oder nicht die Datenkenninformation der ersten Bestimmungsinformation mit der Datenkenninformation der zweiten Bestimmungsinformation übereinstimmt, und ob oder nicht die Umschreibe-Bank-Information der ersten Bestimmungsinformation mit der Umschreibe-Bank-Information der zweiten Bestimmungsinformation übereinstimmt (S1703). Wenn bestimmt wird, dass die Datenkenninformation der ersten Bestimmungsinformation nicht mit der Datenkenninformation der zweiten Bestimmungsinformation übereinstimmt, oder die Umschreibe-Bank-Information der ersten Bestimmungsinformation nicht mit der Umschreibe-Bank-Information der zweiten Bestimmungsinformation übereinstimmt (S1703: NEIN), bestimmt die Umschreibeziel-ECU 19, dass die Schreibdaten unzulässig sind, meldet dem CGW 13 Fehlerinformation und beendet den Differenzdatenkonsistenz-Bestimmungsprozess.
  • Wenn bestimmt wird, dass die Datenkenninformation der ersten Bestimmungsinformation mit der Datenkenninformation der zweiten Bestimmungsinformation übereinstimmt und dass die Umschreibe-Bankinformation der ersten Bestimmungsinformation mit der Umschreibe-Bankinformation der zweiten Bestimmungsinformation übereinstimmt (S1703: JA), gleicht die Umschreibeziel-ECU 19 den Datenverifizierungswert der ersten Bestimmungsinformation mit dem Datenverifizierungswert der neuen Daten der zweiten Bestimmungsinformation ab und bestimmt, ob oder nicht die beiden Datenverifizierungswerte übereinstimmen (S1704; entsprechend einer Konsistenzbestimmungsprozedur). Wenn bestimmt wird, dass die beiden Datenverifizierungswerte nicht übereinstimmen (S1704: NEIN), gleicht die Umschreibeziel-ECU 19 den Datenverifizierungswert der ersten Bestimmungsinformation mit dem Datenverifizierungswert der alten Daten der zweiten Bestimmungsinformation ab und bestimmt, ob die beiden Datenverifizierungswerte übereinstimmen (S1705; entsprechend einer Konsistenzbestimmungsprozedur).
  • Wenn bestimmt wird, dass die beiden Datenverifizierungswerte übereinstimmen (S1705: JA), stellt die Umschreibeziel-ECU 19 die Schreibdaten wieder her (S1706; entsprechend einer Schreibdatenwiederherstellungsprozedur), schreibt die wiederhergestellten Schreibdaten in den Flash-Speicher (S1707; entsprechend einer Datenschreibprozedur) und bestimmt, ob oder nicht das Schreiben der gesamten Schreibdaten abgeschlossen ist (S1708). Wenn bestimmt wird, dass das Schreiben der gesamten Schreibdaten noch nicht abgeschlossen ist (S1708: NEIN), kehrt die Umschreibeziel-ECU 19 zu Schritt S1703 zurück und führt Schritt S1703 und die nachfolgenden Schritte wiederholt aus. Wenn bestimmt wird, dass das Schreiben der gesamten Schreibdaten abgeschlossen ist (S1708: JA), beendet die Umschreibeziel-ECU 19 den Differenzdatenkonsistenz-Bestimmungsprozess.
  • Wenn bestimmt wird, dass der Datenverifizierungswert der ersten Bestimmungsinformation nicht mit dem Datenverifizierungswert der neuen Daten der zweiten Bestimmungsinformation übereinstimmt (S1704: NEIN), und bestimmt wird, dass der Datenverifizierungswert der ersten Bestimmungsinformation nicht mit dem Datenverifizierungswert der alten Daten der zweiten Bestimmungsinformation übereinstimmt (S1705: NEIN), bestimmt die Umschreibeziel-ECU 19, ob oder nicht das Schreiben für einen ersten Block ausgeführt wird (S1709).
  • Wenn bestimmt wird, dass das Schreiben für den ersten Block ausgeführt wird (S1709: JA), bestimmt die Umschreibeziel-ECU 19, ob oder nicht das Schreiben der gesamten Schreibdaten abgeschlossen ist, da das Schreiben für den ersten Block noch nicht abgeschlossen ist (S1708). Wenn bestimmt wird, dass das Schreiben für den ersten Block nicht ausgeführt wird, d.h. das Schreiben für einen zweiten Block und die nachfolgenden Blöcke ausgeführt wird (S1709: NEIN), wiederholt die Umschreibeziel-ECU 19 das Schreiben (S1710) und bestimmt, ob oder nicht das Schreiben der gesamten Schreibdaten abgeschlossen ist (S1708).
  • Nachstehend ist ein Fall, in dem die Umschreibeziel-ECU 19 eine Ein-Bank-Speicher-ECU ist, unter Bezugnahme auf 182 beschrieben. Datenkenninformation (alt) und ein CRC-Wert (CRC für Cyclic Redundancy Check bzw. zyklische Redundanzprüfung) (Datenverifizierungswert), der für jeden Block alter Daten berechnet wird, werden an die vom CGW 13 verteilten Differenzdaten angehängt. Bei der Datenkenninformation (alt) handelt es sich um Daten, die durch Anwenden eines vorbestimmten Algorithmus auf die alten Daten (altes Anwendungsprogramm) berechnet werden. Wenn die Datenkenninformation als Bestimmungsinformation verwendet wird, gleicht die Umschreibeziel-ECU 19 die an die Differenzdaten angehängte Datenkenninformation (alt) mit der im Flash-Speicher gespeicherten Datenkenninformation (alt) des Programms (alte Daten) und bestimmt die Konsistenz der Differenzdaten. Die im Flash-Speicher gespeicherte Datenkenninformation (alt) ist Information, die beim Schreiben des Programms in den Flash-Speicher der Umschreibeziel-ECU 19 mitgespeichert wird. Alternativ kann eine vorbestimmte Anzahl von Bits von einer Leitadresse des in den Flash-Speicher geschriebenen Programms als Datenkenninformation (alt) betrachtet werden.
  • Wenn der Datenverifizierungswert als Bestimmungsinformation verwendet wird, berechnet die Umschreibeziel-ECU 19 einen CRC-Wert für jeden Block des im Flash-Speicher gespeicherten Programms, gleicht 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 ab und bestimmt die Konsistenz der Differenzdaten. Wenn kein neues Programm in den Flash-Speicher geschrieben wird, stimmt der empfangene CRC-Wert in allen Blöcken mit dem berechneten CRC-Wert überein. In einem Fall, in dem das Schreiben in einem Zustand gestoppt wird, in dem das neue Programm bis zu m (< n) Blöcken des Flash-Speichers geschrieben ist, und das Schreiben wieder aufgenommen 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 Umschreibeziel-ECU 19 einen Schreibprozess (S1706 und S1707). Die Umschreibeziel-ECU 19 führt den Schreibprozess (S1706 und S1707) ab dem Block m+1 aus, indem sie eine Übereinstimmung mit dem CRC-Wert (CRC (B1 bis Bn)) für die alten Daten überprüft.
  • Datenkenninformation (neu) eines neuen Programms (neue Daten) und ein CRC-Wert (CRC (B1' bis Bn')) für jeden Block können an die Differenzdaten angehängt werden. Die Umschreibeziel-ECU 19 schreibt die Differenzdaten in den Flash-Speicher, speichert die Datenkenninformation (neu) zusammen, wenn das neue Programm installiert wird, und verwendet die Differenzdaten zum Bestimmen der Konsistenz bei der nächsten Programmaktualisierung. Wenn die Installation des neuen Programms abgeschlossen ist, liest die Umschreibeziel-ECU 19 das neue Programm im Flash-Speicher für jeden Block, berechnet einen CRC-Wert, vergleicht den CRC-Wert mit dem CRC-Wert, der an die Differenzdaten angehängt ist, und prüft, ob oder nicht das neue Programm korrekt geschrieben wurde.
  • Nachstehend ist ein Fall, in dem die Umschreibeziel-ECU 19 eine Zwei-Bank-Speicher-ECU ist, unter Bezugnahme auf 183 beschrieben. Auch in diesem Fall, wenn der Datenverifizierungswert als Bestimmungsinformation verwendet wird, berechnet die Umschreibeziel-ECU 19 einen CRC-Wert für jeden Block des im Flash-Speicher gespeicherten Programms, gleicht den CRC-Wert (CRC (B1 bis Bn)) für die alten Daten, der an die empfangenen Differenzdaten angehängt ist, und den CRC-Wert (CRC (B1' bis Bn') für die neuen Daten mit dem berechneten CRC-Wert ab und bestimmt die Konsistenz der Differenzdaten. Wenn kein neues Programm in den Flash-Speicher geschrieben wird, stimmt der empfangene CRC-Wert in allen Blöcken mit dem berechneten CRC-Wert überein. In einem Fall, in dem das Schreiben in einem Zustand gestoppt wird, in dem das neue Programm bis zu m (< n) Blöcken des Flash-Speichers geschrieben ist, und das Schreiben wieder aufgenommen 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 Umschreibeziel-ECU 19 einen Schreibprozess (S1706 und S1707). Die Umschreibeziel-ECU 19 führt den Schreibprozess (S1706 und S1707) ab dem Block m+1 aus, indem sie eine Übereinstimmung mit dem CRC-Wert (CRC (B1 bis Bn)) für die alten Daten überprüft.
  • Es wird angenommen, dass die Bank-A des Flash-Speichers eine aktive Bank ist und die Version 2.0 aufweist, die Bank-B davon 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 vom CGW 13 verteilten Differenzdaten sind Datenkenninformation (alt anzeigende Information (Version 1.0)), ein für jeden Block der alten Daten (altes Programm (Version 1.0)) berechneter CRC-Wert und ein für jeden Block der neuen Daten (neues Programm (Version 3.0)) berechneter CRC-Wert angehängt.
  • Die Umschreibespezifikationsdaten enthalten Umschreibe-Bank-Information, die anzeigen, in welche Bank des Flash-Speichers die Differenzdaten für die Umschreibeziel-ECU 19 zu schreiben sind. In einem Fall, in dem die Umschreibe-Bank-Information als Bestimmungsinformation verwendet wird, gleicht die Umschreibeziel-ECU 19 die aus den Umschreibespezifikationsdaten erfasste Umschreibe-Bank-Information mit Inaktive-Bank-Information (Bank-B) der Umschreibeziel-ECU 19 ab und bestimmt die Konsistenz der Differenzdaten. In einem Fall, in dem die Datenkenninformation als Bestimmungsinformation verwendet wird, gleicht die Umschreibeziel-ECU 19 die an die Differenzdaten angehängte Datenkenninformation (alt (Version 1.0)) mit der in der inaktiven Bank (Bank-B) des Flash-Speichers gespeicherten Datenkenninformation (alt) des alten Programms (Version 1.0) ab und bestimmt die Konsistenz der Differenzdaten. In einem Fall, in dem der Datenverifizierungswert als Bestimmungsinformation verwendet wird, berechnet die Umschreibeziel-ECU 19 einen CRC-Wert für jeden Block des alten Programms (Version 1.0), der in der inaktiven Bank (Bank-B) des Flash-Speichers gespeichert ist, gleicht den an die Differenzdaten angehängten CRC-Wert (CRC (B1 bis Bn)) mit dem berechneten CRC-Wert ab und bestimmt die Konsistenz der Differenzdaten.
  • In den Beispielen der 179 und 180, die vorstehend beschrieben sind, ist beschrieben, dass die Datenkenninformation und der Datenverifizierungswert an die Differenzdaten angehängt sind und vom CGW 13 zusammen mit den Differenzdaten verteilt werden. Die Datenkenninformation und der Datenverifizierungswert können jedoch als Header-Information der Differenzdaten angehängt werden, und die Header-Information kann an die Umschreibeziel-ECU 19 verteilt werden, bevor das CGW 13 die Differenzdaten an die Umschreibeziel-ECU 19 verteilt. Wenn die Header-Information vom CGW 13 empfangen wird, bestimmt die Umschreibeziel-ECU 19 die Konsistenz der Differenzdaten unter Verwendung der Datenkenninformation und des Datenverifizierungswerts.
  • Anhand der 179 und 180 ist vorstehend der Fall beispielhaft veranschaulicht, dass es sich bei den Umschreibedaten um die Differenzdaten handelt, aber das Gleiche gilt für den Fall, dass es sich bei den Umschreibedaten um die gesamten Daten handelt. In einem Fall, in dem die Umschreibeziel-ECU 19 über einen Ein-Bank-Speicher verfügt, erfolgt die gleiche Konsistenzbestimmung, wenn die Rollback-Differenzdaten verwendet werden, um den Speicher auf eine ursprüngliche Version zurückzusetzen.
  • Wie oben beschrieben, führt die Umschreibeziel-ECU 19 den Differenzdatenkonsistenz-Bestimmungsprozess aus, schreibt folglich Schreibdaten, die auf Basis 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 Basis der Differenzdaten erzeugt werden, in einem Fall geschrieben werden, in dem die Konsistenz der Differenzdaten negativ ist. Zum Beispiel kann in einem Fall, in dem die in die Bank-A zu schreibenden Differenzdaten in einem Verteilungspaket für die Umschreibeziel-ECU 19 enthalten sind, in der die Bank-B des Flash-Speichers keine inaktive Bank ist, 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 Umschreibeziel-ECU enthalten sind, kann eine Inkonsistenz erfasst werden, bevor die Differenzdaten in den Flash-Speicher geschrieben werden.
  • In einem Fall, in dem die Umschreibeziel-ECU 19 das Schreiben der Schreibdaten stoppt und dann wieder aufnimmt, bestimmt die Umschreibeziel-ECU 19 die Konsistenz der Differenzdaten auf der Grundlage des Datenverifizierungswerts für die gespeicherten Daten im Flash-Speicher sowie des Datenverifizierungswerts der alten Daten und des Datenverifizierungswerts der neuen Daten, die mit den empfangenen Differenzdaten verknüpft sind. Die Umschreibeziel-ECU 19 kann die Konsistenz der Differenzdaten auf der Grundlage des Datenverifizierungswerts für die gespeicherten Daten und des Verifizierungswerts der empfangenen neuen Daten bestimmen und kann die Konsistenz der Differenzdaten auf der Grundlage des Datenverifizierungswerts für die gespeicherten Daten und des Datenverifizierungswerts der empfangenen alten Daten aus dem letzten Block, für den ein Bestimmungsergebnis negativ ist, bestimmen.
  • Die Umschreibeziel-ECU 19 überspringt das Schreiben der Schreibdaten mindestens bis zu dem vorangehenden Block des letzten Blocks, für den die Konsistenz der Differenzdaten als negativ bestimmt wird, und nimmt das Schreiben der Schreibdaten ab dem letzten Block oder dem nachfolgenden Block des letzten Blocks wieder auf. In einem Fall, in dem eine Blockgröße gleich einer Datengröße eines Schreibbereichs für die Schreibdaten ist, ist es, da das Schreiben der Schreibdaten bis zum letzten Block abgeschlossen wurde, ausreichend, das Schreiben bis zum letzten Block zu überspringen und das Schreiben ab dem letzten Block wieder aufzunehmen. Demgegenüber kann in einem Fall, in dem die Blockgröße nicht mit der Datengröße des Schreibbereichs für die Schreibdaten übereinstimmt, das Schreiben der Schreibdaten im letzten Block gestoppt werden, so dass es notwendig ist, das Schreiben vom letzten Block an wieder aufzunehmen.
  • Umschreibeausführungssteuerprozess
  • Nachstehend ist der Umschreibeausführungssteuerprozess unter Bezugnahme auf die 184 bis 191 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Umschreibeausführungssteuerprozess in der ECU 19 aus.
  • Wie in 184 gezeigt, enthält die ECU 19 eine Programmausführungseinheit 104a, eine Umschaltanfrageempfangseinheit 104b, eine Datenerfassungseinheit 104c, eine Bank-Informations-Benachrichtigungseinheit 104d, eine Firmware-Erfassungseinheit 104e, eine Installationsausführungseinheit 104f und eine Aktivierungsausführungseinheit 104g in der Umschreibeausführungssteuereinheit 104. Die Programmausführungseinheit 104a schreibt eine inaktive Bank um, indem sie ein Umschreibeprogramm in einer aktiven Bank ausführt, während sie ein Anwendungsprogramm und Parameterdaten in der aktiven Bank ausführt. Die Umschaltanfrageempfangseinheit 104b empfängt eine Aktivierungsanfrage vom CGW 13. Die Datenerfassungseinheit 104c erfasst Schreibdaten für einen Bereich der inaktiven Bank, der umgeschrieben werden muss, von der Außenseite. Die Bank-Informations-Benachrichtigungseinheit 104d benachrichtigt die Außenseite über Zwei-Bank-Umschreibeinformation (im Folgenden als Bank-Information bezeichnet). Die Firmware-Erfassungseinheit 104e erfasst Firmware eines Umschreibeprogramms von der Außenseite. Wenn ein Befehl zum Installieren vom CGW 13 erteilt wird, schreibt die Installationsausführungseinheit 104f Schreibdaten in den Flash-Speicher und führt die Installation aus. Wenn ein Befehl zur Aktivierung durch das CGW 13 erteilt wird, führt die Aktivierungsausführungseinheit 104g die Aktivierung zum Umschalten der aktiven Bank in Vorbereitung auf den Neustart aus.
  • Nachstehend ist ein Betrieb der Umschreibeausführungssteuereinheit 104 in der ECU 19 unter Bezugnahme auf die 185 bis 191 beschrieben. Die Umschreibeziel-ECU 19 führt ein Umschreibeausführungssteuerprogramm aus und führt damit den Umschreibeausführungssteuerprozess aus. Die Umschreibeziel-ECU 19 führt einen Normalbetriebsprozess, einen Umschreibebetriebsprozess, einen Informationsbenachrichtigungsprozess und einen Anwendungsprogrammverifizierungsprozess als den Umschreibeausführungssteuerprozess aus. Jeder Prozess ist im Folgenden beschrieben. In der vorliegenden Ausführungsform ist nachstehend ein Fall beschrieben, in dem die Umschreibeziel-ECU 19 eine Zwei-Bank-Speicher-ECU oder eine Ein-Bank-Suspend-Speicher-ECU ist.
  • Normalbetriebsprozess
  • Die Umschreibeziel-ECU 19 initiiert den Normalbetriebsprozess, wenn die Umschreibeziel-ECU 19 durch das Einschalten der IG-Energie oder dergleichen vom Stoppzustand oder Ruhezustand in den Startzustand übergeht. Wenn der Normalbetriebsprozess initiiert wird, spezifiziert die Umschreibeziel-ECU 19 eine Start-Bank auf der Grundlage von Start-Bank-Bestimmungsinformation in Bezug auf die Bank-A und die Bank-B (S1801) und wird in der Start-Bank gestartet (S1802). Die Umschreibeziel-ECU 19 verifiziert die Integrität eines in der Start-Bank (aktive Bank) gespeicherten Programms und bestimmt, ob die Start-Bank positiv ist (S1803).
  • Wenn bestimmt wird, dass ein Verifizierungsergebnis der Integrität der Start-Bank negativ ist, und bestimmt wird, dass die Start-Bank negativ ist (S1803: NEIN), sendet die Umschreibeziel-ECU 19 Fehlerinformation, die anzeigt, dass das Verifizierungsergebnis der Integrität der Start-Bank negativ ist, an das CGW 13 (S1804) und beendet den Normalbetriebsprozess. Wenn die Fehlerinformation von der Umschreibeziel-ECU 19 empfangen wird, sendet das CGW 13 die Fehlerinformation an das DCM 12. Wenn die Fehlerinformation vom CGW 13 empfangen wird, lädt das DCM 12 die empfangene Fehlerinformation in die Zentralvorrichtung 3 hoch. D.h., wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der Start-Bank in der Umschreibeziel-ECU 19 negativ ist, werden das CGW 13, das DCM 12 und die Zentralvorrichtung 3 über diese Tatsache informiert.
  • Wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der Start-Bank positiv ist, und bestimmt wird, dass die Start-Bank positiv ist (S1803: JA), verifiziert die Umschreibeziel-ECU 19 die Integrität des in der Umschreibe-Bank (inaktive Bank) gespeicherten Programms und bestimmt, ob oder nicht die Umschreibe-Bank positiv ist (S1805).
  • Wenn bestimmt wird, dass ein Verifizierungsergebnis der Integrität der Umschreibe-Bank negativ ist, und bestimmt wird, dass ein Verifizierungsergebnis der Umschreibe-Bank negativ ist (S1805: NEIN), sendet die Umschreibeziel-ECU 19 Fehlerinformation an das CGW 13, die anzeigt, dass das Verifizierungsergebnis der Integrität der Umschreibe-Bank negativ ist (S1806). Wenn die Fehlerinformation von der Umschreibeziel-ECU 19 empfangen wird, sendet das CGW 13 die Fehlerinformation an das DCM 12. Wenn die Fehlerinformation vom CGW 13 empfangen wird, lädt das DCM 12 die empfangene Fehlerinformation in die Zentralvorrichtung 3 hoch. D.h., wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der Umschreibe-Bank in der Umschreibeziel-ECU 19 negativ ist, werden das CGW 13, das DCM 12 und die Zentralvorrichtung 3 über diese Tatsache informiert.
  • Der oben beschriebene Integritätsverifizierungsprozess wird von einem Boot-Programm ausgeführt, bevor ein Anwendungsprogramm ausgeführt wird. Wenn die Integritätsverifizierung abgeschlossen ist, spezifiziert die Umschreibeziel-ECU 19 eine Standortadresse der Boot-Vektor-Tabelle (S1807), spezifiziert eine Standortadresse der Normalzeit-Vektor-Tabelle (S1808), spezifiziert eine Leitadresse des Anwendungsprogramms (S1809), führt das Anwendungsprogramm aus und beendet den Normalbetriebsprozess.
  • Umschreibebetriebsprozess
  • Wenn eine Umschreibe-Anforderung vom CGW 13 empfangen wird, initiiert die Umschreibeziel-ECU 19 den Umschreibebetriebsprozess. Wenn der Umschreibebetriebsprozess initiiert wird, führt die Umschreibeziel-ECU 19 eine Authentifizierung mit dem CGW 13 unter Verwendung eines Sicherheitszugriffsschlüssels aus (S1811). Wenn bestimmt wird, dass ein Authentifizierungsergebnis positiv ist (S1812: JA), wartet die Umschreibeziel-ECU 19 auf den Empfang von Schreibdaten (S1813). Wenn bestimmt wird, dass die Schreibdaten vom CGW 13 empfangen wurden (S1813: JA), schreibt die Umschreibeziel-ECU 19 ein in einer Umschreibe-Bank (inaktive Bank) befindliches Anwendungsprogramm um, während sie ein in einer Start-Bank (aktive Bank) befindliches Anwendungsprogramm ausführt (S1814).
  • Es wird bestimmt, ob oder nicht das Umschreiben des Anwendungsprogramms abgeschlossen wurde (S1815), und, wenn bestimmt wird, dass das Umschreiben des Anwendungsprogramms abgeschlossen wurde (S1815: JA), bestimmt die Umschreibeziel-ECU 19, ob oder nicht die Verifizierung positiv ist (S1816). Wenn bestimmt wird, dass die Verifizierung positiv ist (S1816: JA), setzt die Umschreibeziel-ECU 19 ein Umschreibeabschluss-Flag auf „OK“ (S1817). Die Verifizierung ist eine Verifizierung der Integrität des in die inaktive Bank geschriebenen Anwendungsprogramms.
  • Die Umschreibeziel-ECU 19 bestimmt, ob oder nicht eine Aktivierungsanfrage vom CGW 13 empfangen wurde (S1818). Wenn bestimmt wird, dass die Aktivierungsanfrage vom CGW 13 empfangen wurde (S1818: JA), inkrementiert die Umschreibeziel-ECU 19 z.B. einen numerischen Wert der Start-Bank-Information über die Umschreibe-Bank und aktualisiert somit die Start-Bank-Information über die Umschreibe-Bank (S1819). D.h., es wird Information aktualisiert, die anzeigt, dass die Umschreibeziel-ECU danach in der Umschreibe-Bank gestartet wird. Es wird bestimmt, ob oder nicht ein Versionslesesignal vom CGW 13 empfangen wurde (S1820), und, wenn bestimmt wird, dass das Versionslesesignal empfangen wurde (S1820: JA), sendet die Umschreibeziel-ECU 19 Versionsinformation über die aktive Bank, Versionsinformation über die inaktive Bank und Kenninformation zum Spezifizieren, welche Bank die aktive Bank ist, an das CGW 13 (S1821) und beendet den Umschreibebetriebsprozess. Hier kann die Umschreibeziel-ECU 19 alle der Prozesse von S1811 bis S1821 gemäß dem Anwendungsprogramm in der aktiven Bank (alte Bank) vor dem Umschalten ausführen. Die Umschreibeziel-ECU 19 kann die Prozesse von S1811 bis S1819 gemäß dem Anwendungsprogramm in der aktiven Bank (alte Bank) vor dem Umschalten ausführen und kann nach der Ausführung von S1819 neu gestartet werden, um die Prozesse von S1820 bis S1821 gemäß dem Anwendungsprogramm in der aktiven Bank (neue Bank) nach dem Umschalten auszuführen.
  • Informationsbenachrichtigungsprozess
  • Die Umschreibeziel-ECU 19 initiiert den Informationsbenachrichtigungsprozess, wenn die Umschreibeziel-ECU 19 vom Stoppzustand oder Ruhezustand in den Startzustand übergeht oder wenn z.B. die IG-Energie eingeschaltet wird oder eine Benachrichtigungsanfrage vom CGW 13 empfangen wird. Wenn der Informationsbenachrichtigungsprozess initiiert wird, benachrichtigt die Umschreibeziel-ECU 19 das CGW 13 über Kenninformation zum eindeutigen Spezifizieren eines Anwendungsprogramms und von Parameterdaten in Bezug auf eine aktive Bank oder eine inaktive Bank sowie über Kenninformation zum eindeutigen Spezifizieren eines Ortes, an dem sich die aktive Bank oder die inaktive Bank im Speicher befindet. D.h., die Umschreibeziel-ECU 19 erfasst Start-Bank-Information über eine Start-Bank (S1831) und sendet die Start-Bank-Information an das CGW 13 (S1832). Die Umschreibeziel-ECU 19 sendet Information, die anzeigt, ob die Bank-A oder die Bank-B die Start-Bank ist, Versionsinformation der Start-Bank und dergleichen als die Start-Bank-Information an das CGW 13.
  • Wenn das Senden der Start-Bank-Information an das CGW 13 abgeschlossen ist, erfasst die Umschreibeziel-ECU 19 Umschreibe-Bank-Information (im Folgenden auch als Bank-Information bezeichnet) bezüglich der Umschreibe-Bank (S1833) und sendet die erfasste Umschreibe-Bank-Information an das CGW 13 (S1834). Die Umschreibeziel-ECU 19 sendet Information, die anzeigt, ob die Bank-A oder die Bank-B die Umschreibe-Bank ist, Versionsinformation der Umschreibe-Bank und dergleichen als die Umschreibe-Bank-Information an das CGW 13. Wenn das Senden der Umschreibe-Bank-Information an das CGW 13 abgeschlossen ist, sendet die Umschreibeziel-ECU 19 Kenninformation zum Spezifizieren von Standortadressen der Start-Bank und der Umschreibe-Bank im Speicher an das CGW 13 (S1835) und beendet den Informationsbenachrichtigungsprozess. Die Umschreibeziel-ECU 19 sendet z.B. eine Anfangsadresse und eine Endadresse der Bank-A und eine Anfangsadresse und eine Endadresse der Bank-B im Flash-Speicher als die Kenninformation zum Spezifizieren von Adressen an das CGW 13.
  • Umschreibeprogrammverifizierungsprozess
  • Wenn der Umschreibeprogrammverifizierungsprozess initiiert wird, bestimmt die Umschreibeziel-ECU 19, ob oder nicht Kenninformation zum Spezifizieren einer Adresse zum Ausführen eines Umschreibeprogramms erfasst wurde (S1841). Wenn bestimmt wird, dass die Kenninformation zum Spezifizieren der Adresse zum Ausführen des Umschreibeprogramms erfasst wurde (S1841: JA), bestimmt die Umschreibeziel-ECU 19, ob oder nicht die Kenninformation mit der Start-Bank-Information der Umschreibeziel-ECU 19 übereinstimmt (S1842). Insbesondere bestimmt die Umschreibeziel-ECU 19, ob oder nicht die Bank-Information, die die Start-Bank in der Start-Bank-Information anzeigt, mit der Kenninformation übereinstimmt.
  • Wenn bestimmt wird, dass die Kenninformation mit der Start-Bank-Information der Umschreibeziel-ECU 19 übereinstimmt (S1842: JA), erfasst die Umschreibeziel-ECU 19 das Umschreibeprogramm (S1843) und bestimmt, ob oder nicht Kenninformation zum Spezifizieren einer Adresse für das Umschreiben des Anwendungsprogramms erfasst wurde (S1844). Hier erfasst im Falle einer Konfiguration des Einbettungstyps, bei der das Umschreibeprogramm vorab in den Flash-Speicher eingebettet wird, die Umschreibeziel-ECU 19 in S1843 ein Schreibprogramm in der Start-Bank aus dem Flash-Speicher und führt das Schreibprogramm im RAM aus. Im Fall einer Konfiguration des Download-Typs, bei der das Umschreibeprogramm nicht vorab in den Flash-Speicher eingebettet wird, sondern von außen heruntergeladen wird, lädt die Umschreibeziel-ECU 19 in S1843 das Umschreibeprogramm in das RAM herunter und führt das Umschreibeprogramm aus.
  • Wenn bestimmt wird, dass die Kenninformation zum Spezifizieren der Adresse für das Umschreiben des Anwendungsprogramms erfasst wurde (S1844: JA), bestimmt die Umschreibeziel-ECU 19, ob oder nicht die Kenninformation mit der Start-Bank-Information der Umschreibeziel-ECU 19 übereinstimmt (S1845). Insbesondere bestimmt die Umschreibeziel-ECU 19, ob oder nicht Bank-Information, die die Nicht-Start-Bank anzeigt, in der Start-Bank-Information mit der Kenninformation übereinstimmt. Wenn bestimmt wird, dass die Kenninformation mit der Start-Bank-Information der ECU 19 übereinstimmt (S1845: JA), schreibt die Umschreibeziel-ECU 19 das Anwendungsprogramm um (S1846) und beendet den Umschreibeprogrammverifizierungsprozess.
  • Wenn bestimmt wird, dass die Kenninformation nicht mit der Start-Bank-Information der ECU 19 übereinstimmt (S1842: NEIN), oder bestimmt wird, dass die Kenninformation nicht mit der Start-Bank-Information der Umschreibeziel-ECU 19 übereinstimmt (S1845: NEIN), bestimmt die Umschreibeziel-ECU 19, dass das Anwendungsprogramm oder die Parameterdaten in der aktiven Bank oder der inaktiven Bank nicht ausführbar sind, und sendet eine negative Bestätigung an das CGW 13 (S1847) und beendet den Umschreibeprogrammverifizierungsprozess. Beispielsweise ist im Falle einer Zwei-Bank-Speicher-ECU, bei der die Bank-A des Flash-Speichers eine aktive Bank ist und die Bank-B eine inaktive Bank ist, eine Adresse zum Ausführen eines Umschreibeprogramms eine Adresse der Bank-A, die die aktive Bank ist, und eine Adresse zum Umschreiben eines Anwendungsprogramms eine Adresse der Bank-B, die die inaktive Bank ist.
  • Wie in 186 gezeigt, kann die Umschreibeziel-ECU 19 Kenninformation zum Spezifizieren einer Adresse vom CGW 13 erfassen, bevor Schreibdaten vom CGW 13 erfasst werden. Wie in 187 gezeigt, kann die Umschreibeziel-ECU 19 Kenninformation zum Spezifizieren einer Adresse erfassen, wenn Schreibdaten vom CGW 13 erfasst werden. Die Umschreibeziel-ECU 19 empfängt z.B. vor der Erfassung von Schreibdaten Umschreibespezifikationsdaten vom CGW 13 und erfasst Umschreibe-Bank-Information. Da die Umschreibe-Bank-Information Kenndaten enthält, um zu erkennen, welche Bank eine Start-Bank und welche Bank eine Umschreibe-Bank ist, werden die Kenndaten als Kenninformation zum Spezifizieren einer Adresse verwendet.
  • Die Umschreibeziel-ECU 19 führt (18-2) den oben beschriebenen Umschreibebetriebsprozess im Ansprechen darauf aus, dass das CGW 13 einen Installationsbefehlsprozess ausführt. Hier ist der vom CGW 13 ausgeführte Installationsbefehlsprozess beschrieben.
  • Wenn der Installationsbefehlsprozess initiiert wird, identifiziert das CGW 13 die Umschreibespezifikationsdaten (S1851) und bestimmt, ob die Installation während eines Parkens für alle der Umschreibeziel-ECUs 19 bestimmt ist, ob die Installation während einer Fahrzeugfahrt für alle der Umschreibeziel-ECUs 19 bestimmt ist oder ob die Installation für jeden Speichertyp der Umschreibeziel-ECU 19 bestimmt ist (S1852 bis S1854).
  • Wenn bestimmt wird, dass die Installation während eines Parkens für alle der Umschreibeziel-ECUs 19 bestimmt ist (S1852: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, die Installation unter der Bedingung auszuführen, dass eine Genehmigung für die Installation erhalten wurde und das Fahrzeug geparkt ist (S1855). Wenn bestimmt wird, dass die Installation während einer Fahrzeugfahrt für alle der Umschreibeziel-ECUs 19 bestimmt ist (S1853: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, die Installation unter der Bedingung auszuführen, dass eine Genehmigung für die Installation erhalten wurde und das Fahrzeug fährt (S1856).
  • Wenn bestimmt wird, dass die Installation für jeden Speichertyp der Umschreibeziel-ECU 19 bestimmt ist (S1854: JA), bestimmt das CGW 13 auf der Grundlage der Umschreibespezifikationsdaten, ob es sich bei dem Speichertyp um einen Zwei-Bank-Speicher oder einen Ein-Bank-Suspend-Speicher oder einen Ein-Bank-Speicher handelt (S1857 und S1858).
  • Wenn bestimmt wird, dass der Speichertyp der Umschreibeziel-ECU 19 der Zwei-Bank-Speicher ist und eine erste vorbestimmte Bedingung erfüllt (S1857: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, die Installation unter der Bedingung auszuführen, dass eine Genehmigung für die Installation erhalten wurde und das Fahrzeug fährt (S1859). Wenn bestimmt wird, dass der Speichertyp der Umschreibeziel-ECU 19 der Ein-Bank-Suspend-Speicher oder der Ein-Bank-Speicher ist und eine zweite vorbestimmte Bedingung erfüllt (S1858: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, die Installation unter der Bedingung auszuführen, dass eine Genehmigung für die Installation erhalten wurde und das Fahrzeug geparkt ist (S1860).
  • Es wird bestimmt, ob oder nicht die Installation in allen der Umschreibeziel-ECUs 19 abgeschlossen ist (S1861), und, wenn bestimmt wird, dass die Installation nicht in allen der Umschreibeziel-ECUs 19 abgeschlossen ist (S1861: NEIN), kehrt das CGW 13 zu Schritt S1851 zurück und führt den Schritt S1851 und die nachfolgenden Schritte wiederholt aus.
  • D.h., wenn die Umschreibeziel-ECU 19 eine Zwei-Bank-Speicher-ECU ist, erteilt das CGW 13 einen Befehl für die Installation, während das Fahrzeug fahrbereit ist. Die Zwei-Bank-Speicher-ECU wird vom CGW 13 angewiesen, die Installation auszuführen, während das Fahrzeug fahrbereit ist, und führt somit die Installation aus, während das Fahrzeug fahrbereit ist (entsprechend einer Installationsausführungsprozedur). Wenn die Umschreibeziel-ECU 19 eine Ein-Bank-Suspend-Speicher-ECU oder eine Ein-Bank-Speicher-ECU ist, erteilt das CGW 13 einen Befehl für die Installation während eines Parkens. Die Ein-Bank-Suspend-Speicher-ECU oder die Ein-Bank-Speicher-ECU wird vom CGW 13 angewiesen, die Installation während eines Parkens auszuführen, und führt somit die Installation während eines Parkens aus (entsprechend einer Installationsausfü h ru ngsprozedu r).
  • Wenn bestimmt wird, dass die Installation in allen der Umschreibeziel-ECUs 19 abgeschlossen ist (S1861: JA), wird bestimmt, ob oder nicht das Fahrzeug geparkt ist (S1862), und wenn bestimmt wird, dass das Fahrzeug geparkt ist (S1862: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, die Aktivierung auszuführen, während das Fahrzeug geparkt ist (S1863), und beendet den Installationsbefehlsprozess. Die Umschreibeziel-ECU 19 wird vom CGW 13 angewiesen, die Aktivierung auszuführen, während das Fahrzeug geparkt ist, und führt somit die Aktivierung aus (entsprechend einer Aktivierungsausführungsprozedur).
  • Wie oben beschrieben, führt die Umschreibeziel-ECU 19 den Umschreibeausführungssteuerprozess aus und führt somit ein Umschreibeprogramm in einer aktiven Bank aus und schreibt eine inaktive Bank um, während ein Anwendungsprogramm in der aktiven Bank ausgeführt wird, und zwar in einer Konfiguration mit mehreren Datenspeicherbänken. Ein Zeitraum, in dem ein Anwendungsprogramm umschreibbar ist, ist nicht auf einen Parkzustand beschränkt, sondern das Anwendungsprogramm kann umgeschrieben werden, während das Fahrzeug fährt. Wenn es sich bei der Umschreibeziel-ECU 19 um eine Zwei-Bank-Speicher-ECU handelt, wird die Umschreibeziel-ECU 19 vom CGW 13 angewiesen, die Installation auszuführen, während das Fahrzeug fahrbereit ist, und kann somit die Installation ausführen, während das Fahrzeug fahrbereit ist. Wenn die Umschreibeziel-ECU 19 eine Ein-Bank-Suspend-Speicher-ECU oder eine Ein-Bank-Speicher-ECU ist, wird die Umschreibeziel-ECU 19 vom CGW 13 angewiesen, die Installation während eines Parkens auszuführen, und kann somit die Installation während eines Parkens ausführen.
  • Sitzungsaufbauprozess
  • Nachstehend ist der Sitzungsaufbauprozess unter Bezugnahme auf die 192 bis 205 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Sitzungsaufbauprozess in der Umschreibeziel-ECU 19 aus.
  • Wie in 192 gezeigt, enthält die ECU 19 eine Anwendungsausführungseinheit 105a, eine Drahtlose-Umschreibeanfrage-Spezifizierungseinheit 105b und eine Drahtgebundene-Umschreibeanfrage-Spezifizierungseinheit 105c in der Sitzungsaufbaueinheit 105. Die Anwendungsausführungseinheit 105a weist eine Funktion für eine Arbitrierung der Ausführung jedes Programms auf. Der Drahtlose-Umschreibeanfrage-Spezifizierungseinheit 105b weist eine Funktion zum Spezifizieren einer Programmumschreibeanfrage in einer drahtlosen Weise auf. Die Drahtgebundene-Umschreibeanfrage-Spezifizierungseinheit 105c weist eine Funktion zum Spezifizieren einer Programmumschreibeanfrage in einer drahtgebundenen Weise auf.
  • 193 zeigt eine Konfiguration jedes im Flash-Speicher gespeicherten Programms. Ein Fahrzeugsteuerungsprogramm ist ein Programm zum Realisieren einer in der ECU 19 installierten Fahrzeugsteuerungsfunktion (wie beispielsweise einer Lenksteuerungsfunktion). Ein Programm drahtgebundener Diagnose ist ein Programm zum Diagnostizieren der ECU 19 von außerhalb des Fahrzeugs in einer drahtgebundenen Weise. Ein Programm drahtloser Diagnose ist ein Programm zum Diagnostizieren der ECU 19 von außerhalb des Fahrzeugs in einer drahtlosen Weise. Ein Programm drahtlosen Umschreibens ist ein Programm zum Umschreiben eines Programms, das von außerhalb des Fahrzeugs in einer drahtlosen Weise erfasst wird. Ein Programm drahtgebundenen Umschreibens ist ein Programm zum Umschreiben eines Programms, das von außerhalb des Fahrzeugs in einer drahtgebundenen Weise erfasst wird. Das Fahrzeugsteuerungsprogramm befindet sich als ein erstes Programm im Anwendungsbereich. Das Programm drahtgebundener Diagnose und das Programm drahtgebundenen Umschreibens befinden sich als ein zweites Programm im Anwendungsbereich. Das Programm drahtloser Diagnose und das Programm drahtlosen Umschreibens befinden sich als ein drittes Programm im Anwendungsbereich. Mit anderen Worten, das zweite Programm ist ein Programm zum Ausführen von drahtgebundenen speziellen Prozessen außer der Fahrzeugsteuerung, und das dritte Programm ist ein Programm zum Ausführen von drahtlosen speziellen Prozessen außer der Fahrzeugsteuerung. Das Programm drahtgebundenen Umschreibens kann sich auch nicht im Anwendungsbereich befinden, sondern kann sich als ein viertes Programm im Boot-Bereich befinden.
  • Die Anwendungsausführungseinheit 105a steuert das erste Programm, das zweite Programm und das dritte Programm so, dass sie gleichzeitig ausführbar sind (führt eine nicht-exklusive Steuerung aus). Die Anwendungsausführungseinheit 105a bewirkt beispielsweise, dass das Fahrzeugsteuerungsprogramm, das Programm drahtgebundener Diagnose und das Programm drahtloser Diagnose gleichzeitig ausführbar sind. D.h., die Anwendungsausführungseinheit 105a kann gleichzeitig die Fahrzeugsteuerung, die drahtgebundene Diagnose der ECU 19 und die drahtlose Diagnose der ECU 19 ausführen. In ähnlicher Weise führt die Anwendungsausführungseinheit 105a die Steuerung so aus, dass das Fahrzeugsteuerungsprogramm, das Programm drahtgebundener Diagnose und das Programm drahtlosen Umschreibens gleichzeitig ausgeführt werden können, das Fahrzeugsteuerungsprogramm, das Programm drahtgebundenen Umschreibens und das Programm drahtloser Diagnose gleichzeitig ausgeführt werden können, und das Fahrzeugsteuerungsprogramm, das Programm drahtgebundenen Umschreibens und das Programm drahtlosen Umschreibens gleichzeitig ausgeführt werden können.
  • Andererseits führt die Anwendungsausführungseinheit 105a eine exklusive Steuerung so aus, dass die jeweiligen Programme im zweiten Programm nicht gleichzeitig ausgeführt werden können. In gleicher Weise führt die Anwendungsausführungseinheit 105a eine exklusive Steuerung so aus, dass die jeweiligen Programme im dritten Programm nicht gleichzeitig ausgeführt werden können. Die Anwendungsausführungseinheit 105a unterzieht z.B. das Programm drahtgebundener Diagnose und das Programm drahtgebundenen Umschreibens der exklusiven Steuerung und unterzieht das Programm drahtloser Diagnose und das Programm drahtlosen Umschreibens der exklusiven Steuerung. D.h., die Anwendungsausführungseinheit 105a führt nur ein Programm in den drahtgebundenen speziellen Prozessen aus. In gleicher Weise führt die Anwendungsausführungseinheit 105a nur ein Programm in den drahtlosen speziellen Prozessen aus.
  • Mit anderen Worten, es kann gesagt werden, dass sich das Programm drahtlosen Umschreibens innerhalb des Programms drahtloser Diagnose befindet und als ein Teil des Programms drahtloser Diagnose eingebettet ist. D.h., mit der Konfiguration, in der sich das Programm drahtlosen Umschreibens in dem Programm drahtloser Diagnose befindet, führt die Anwendungsausführungseinheit 105a die Steuerung so aus, dass das Programm drahtlosen Umschreibens ausgeführt wird, während die Ausführung des Fahrzeugsteuerungsprogramms und des Programms drahtgebundener Diagnose fortgesetzt wird, wenn ein Zustandsübergang von einer Standardsitzung oder einer drahtlosen Diagnosesitzung zu einer drahtlosen Umschreibesitzung erfolgt, wie nachstehend noch beschrieben ist, während das Fahrzeugsteuerungsprogramm und das Programm drahtgebundener Diagnose ausgeführt werden. Die Anwendungsausführungseinheit 105a initiiert die Ausführung des Programms drahtlosen Umschreibens, während die Ausführung des Fahrzeugsteuerungsprogramms und des Programms drahtgebundener Diagnose fortgesetzt wird, und bewirkt somit, dass das Fahrzeugsteuerungsprogramm, das Programm drahtgebundener Diagnose und das Programm drahtlosen Umschreibens gleichzeitig ausführbar sind. D.h., die Anwendungsausführungseinheit 105a führt die Steuerung so aus, dass die Fahrzeugsteuerung, die drahtgebundene Diagnose der ECU 19 und das drahtlose Umschreiben eines Anwendungsprogramms gleichzeitig erfolgen können.
  • Hier tritt eine Situation auf, in der drahtgebundene Diagnose, drahtlose Diagnose, drahtgebundenes Umschreiben und drahtloses Umschreiben abhängig von spezifischen Inhalten eines Diagnoseprozesses und eines Umschreibeprozesses nicht gleichzeitig ausgeführt werden können. Wenn z.B. das drahtgebundene Umschreiben und das drahtlose Umschreiben denselben Bereich betreffen, kollidieren die beiden Prozesse miteinander. Folglich führt die Anwendungsausführungseinheit 105a die exklusive Steuerung an dem Programm drahtgebundener Diagnose und dem Programm drahtloser Diagnose in Übereinstimmung mit den spezifischen Inhalten eines Prozesses oder einer Anfrage aus und führt die exklusive Steuerung an dem Programm drahtgebundenen Umschreibens und dem Programm drahtlosen Umschreibens aus. Eine normale Fahrzeugsteuerung kann in Abhängigkeit von Inhalten des Diagnoseprozesses gegebenenfalls nicht fortgesetzt werden. Zum Beispiel kann in einem Fall des Diagnoseprozesses, in dem die ECU betrieben wird und ein Betriebsergebnis gelesen wird, der Diagnoseprozess nicht gleichzeitig mit der normalen Fahrzeugsteuerung ausgeführt werden. In diesem Fall führt die Anwendungsausführungseinheit 105a eine Arbitrierungssteuerung aus, um zu bewirken, dass das Fahrzeugsteuerungsprogramm wartet und das Programm drahtgebundener oder drahtloser Diagnose ausgeführt wird.
  • Demgegenüber führt die Anwendungsausführungseinheit 105a in einem Fall, in dem sich das Programm drahtgebundenen Umschreibens nicht im Anwendungsbereich befindet, sondern als viertes Programm im Boot-Bereich, eine Arbitrierungssteuerung aus, die sich teilweise von der oben beschriebenen Arbitrierungssteuerung unterscheidet. Das Programm drahtgebundenen Umschreibens befindet sich als das vierte Programm außerhalb des Programms drahtgebundener Diagnose, wie durch eine gestrichelte Linie in 193 gezeigt, und ist nicht als ein Teil des Programms drahtgebundener Diagnose eingebettet. In diesem Fall führt die Anwendungsausführungseinheit 105a, wenn das vierte Programm ausgeführt wird, eine exklusive Steuerung aus, um das erste bis dritte Programm zu beenden. D.h., die Anwendungsausführungseinheit 105a wechselt von einem Modus zum Ausführen des ersten bis dritten Programms zu einem dedizierten Modus zum Ausführen des vierten Programms. Mit anderen Worten, bezüglich des Programms drahtgebundenen Umschreibens erfolgt mit der Konfiguration, in der sich das Programm drahtgebundenen Umschreibens außerhalb des Programms drahtgebundener Diagnose befindet, eine Steuerung derart, dass, wenn ein Zustandsübergang von der drahtgebundenen Diagnosesitzung zur drahtgebundenen Umschreibesitzung veranlasst wird, wie nachstehend noch beschrieben ist, während das Fahrzeugsteuerungsprogramm und das Programm drahtloser Diagnose ausgeführt werden, die Ausführung des Fahrzeugsteuerungsprogramms und des Programms drahtloser Diagnose gestoppt und die Ausführung des Programms drahtgebundenen Umschreibens initiiert wird. Die Anwendungsausführungseinheit 105a stoppt die Ausführung des Fahrzeugsteuerungsprogramms und des Programms drahtloser Diagnose und initiiert die Ausführung des Programms drahtgebundenen Umschreibens, so dass das Fahrzeugsteuerungsprogramm, das Programm drahtloser Diagnose und das Programm drahtgebundenen Umschreibens nicht gleichzeitig ausgeführt werden können und nur das Programm drahtgebundenen Umschreibens ausgeführt werden kann. D.h., die Anwendungsausführungseinheit 105a führt die Steuerung so aus, dass die Fahrzeugsteuerung, die drahtlose Diagnose der ECU 19 und das drahtgebundene Umschreiben eines Anwendungsprogramms nicht gleichzeitig ausgeführt werden können und nur das drahtgebundene Umschreiben des Anwendungsprogramms ausgeführt werden kann.
  • Wie in 194 gezeigt, verwaltet die Anwendungsausführungseinheit 105a einen Standardzustand (Standardsitzung), einen Zustand drahtgebundener Diagnose (drahtgebundene Diagnosesitzung) und einen Zustand drahtgebundenen Umschreibens (drahtgebundene Umschreibesitzung) als ersten Zustand in Bezug auf die drahtgebundenen speziellen Prozesse. Als zweiten Zustand in Bezug auf die drahtlosen speziellen Prozesse werden ein Standardzustand (Standardsitzung) und ein Zustand drahtlosen Umschreibens (drahtlose Umschreibesitzung) verwaltet und wird ein interner Betriebszustand verwaltet.
  • Als Zustandsübergang des ersten Zustands führt die Anwendungsausführungseinheit 105a einen exklusiven Zustandsübergang zwischen der Standardsitzung, in der eine Fahrzeugsteuerung gemäß dem Diagnosekommunikationsstandard möglich ist, der drahtgebundenen Diagnosesitzung, in der eine drahtgebundene Diagnose der ECU 19 von außerhalb des Fahrzeugs möglich ist, und der drahtgebundenen Umschreibesitzung, in der das Umschreiben eines von außerhalb des Fahrzeugs erfassten Anwendungsprogramms auf drahtgebundene Weise möglich ist, aus. Der exklusive Zustandsübergang der Sitzung zeigt an, dass die Sitzungen nicht gleichzeitig aufgebaut werden können, und der nicht-exklusive Zustandsübergang der Sitzung zeigt an, dass die Sitzungen gleichzeitig aufgebaut werden können.
  • Die Standardsitzung im ersten Zustand ist ein Modus, der einen Zustand anzeigt, in dem der drahtgebundene spezielle Prozess nicht ausgeführt wird, und ist ein Zustand, in dem die Fahrzeugsteuerung ausgeführt werden kann. Es kann ebenso gesagt werden, dass die Standardsitzung ein Modus ist, in dem ein Prozess, der die Fahrzeugsteuerung überhaupt nicht beeinflusst, z.B. ein Diagnoseprogramm, das nicht mit der Fahrzeugsteuerung zusammenhängt, ausgeführt werden kann. Das Diagnoseprogramm, das nicht mit der Fahrzeugsteuerung zusammenhängt, ist ein Programm zum Lesen von Information wie einem Fehlercode. Die drahtgebundene Diagnosesitzung ist ein Modus zum Ausführen eines Diagnoseprogramms in Bezug auf eine Diagnose der ECU 19. Bei Auftreten eines Zustands, in dem zumindest die Fahrzeugsteuerung durch die Ausführung des Diagnoseprogramms beeinflusst werden kann, geht die Standardsitzung in die drahtgebundene Diagnosesitzung über. Das Diagnoseprogramm in Bezug auf die Diagnose der ECU 19 ist ein Programm zum Ausführen von Kommunikationsunterbrechung, Diagnosemaskierung, Aktuatoransteuerung und dergleichen. Die drahtgebundene Umschreibesitzung ist ein Modus zum Umschreiben eines von außerhalb des Fahrzeugs erfassten Anwendungsprogramms auf eine drahtgebundene Weise.
  • Die Anwendungsausführungseinheit 105a führt den Sitzungszustandsübergang im ersten Zustand wie folgt aus. Wenn eine drahtgebundene Diagnoseanfrage in einem Zustand einer ersten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a im Ansprechen auf eine Diagnosesitzungsübergangsanfrage einen Übergang von der ersten Standardsitzung zur drahtgebundenen Diagnosesitzung und führt einen drahtgebundenen Diagnoseprozess aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der drahtgebundenen Diagnosesitzung zur ersten Standardsitzung, wenn, in einem Zustand der drahtgebundenen Diagnosesitzung, eine Sitzungsrückkehranfrage erzeugt wird, eine Zeitüberschreitung (Time-out) erzeugt wird, die Energie ausgeschaltet wird oder ein Rechtsdienst empfangen wird. Wenn eine drahtgebundene Umschreibeanfrage in einem Zustand der ersten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a im Ansprechen auf eine Diagnosesitzungsübergangsanfrage einen Übergang von der ersten Standardsitzung zur drahtgebundenen Diagnosesitzung, macht anschließend im Ansprechen auf eine Umschreibesitzungsübergangsanfrage einen Übergang von der drahtgebundenen Diagnosesitzung zur drahtgebundenen Umschreibesitzung und führt einen drahtgebundenen Umschreibeprozess aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der drahtgebundenen Umschreibesitzung zur ersten Standardsitzung, wenn, in einem Zustand der drahtgebundenen Umschreibesitzung, eine Sitzungswiederherstellungsanfrage erzeugt wird, eine Zeitüberschreitung erzeugt wird, die Energie ausgeschaltet wird oder ein Rechtsdienst empfangen wird. Die Anwendungsausführungseinheit 105a hält die aktuelle Sitzung im Ansprechen auf eine Sitzungshalteanfrage aufrecht, ohne einen Übergang zu machen.
  • Als Zustandsübergang des zweiten Zustands macht die Anwendungsausführungseinheit 105a einen exklusiven Zustandsübergang zwischen einer Standardsitzung, in der die Fahrzeugsteuerung gemäß dem Diagnosekommunikationsstandard möglich ist, und einer drahtlosen Umschreibesitzung in Bezug auf das Umschreiben eines von außerhalb des Fahrzeugs erfassten Anwendungsprogramms auf drahtlose Weise. Die drahtlose Umschreibesitzung ist ein Modus zum Umschreiben eines von außerhalb des Fahrzeugs erfassten Anwendungsprogramms auf eine drahtlose Weise.
  • Die Anwendungsausführungseinheit 105a führt den Sitzungszustandsübergang im zweiten Zustand wie folgt aus. Wenn eine drahtlose Umschreibeanfrage in einem Zustand einer zweiten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a im Ansprechen auf eine Umschreibesitzungsübergangsanfrage einen Übergang von der zweiten Standardsitzung zur drahtlosen Umschreibesitzung und führt einen drahtlosen Umschreibeprozess aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der drahtlosen Umschreibesitzung zur zweiten Standardsitzung, wenn, in einem Zustand der drahtlosen Umschreibesitzung, eine Sitzungsrückkehranfrage erzeugt wird, eine Zeitüberschreitung auftritt oder die Energie ausgeschaltet wird. Die Anwendungsausführungseinheit 105a hält die aktuelle Sitzung im Ansprechen auf eine Sitzungshalteanfrage aufrecht, ohne einen Übergang zu machen.
  • Die Anwendungsausführungseinheit 105a verwaltet den ersten Zustand in Bezug auf den drahtgebundenen speziellen Prozess und den zweiten Zustand in Bezug auf den drahtlosen speziellen Prozess während der Ausführung des Fahrzeugsteuerungsprogramms als das erste Programm. Wenn beispielsweise eine drahtgebundene Diagnoseanfrage in der Standardsitzung sowohl im ersten als auch im zweiten Zustand erzeugt wird, bewirkt die Anwendungsausführungseinheit 105a, dass der erste Zustand in die drahtgebundene Diagnosesitzung übergeht, während das Fahrzeugsteuerungsprogramm fortgesetzt wird, und initiiert die Ausführung des Programms drahtgebundener Diagnose. Wenn in diesem Zustand eine drahtlose Umschreibeanfrage erzeugt wird, veranlasst die Anwendungsausführungseinheit 105a, dass der zweite Zustand in die drahtlose Umschreibesitzung übergeht, während die Ausführung des Fahrzeugsteuerungsprogramms und des Programms drahtgebundener Diagnose fortgesetzt wird, und initiiert eine Ausführung des Programms drahtlosen Umschreibens. Wenn in diesem Zustand eine drahtgebundene Umschreibeanfrage erzeugt wird, beendet die Anwendungsausführungseinheit 105a beispielsweise die Ausführung des Programms drahtlosen Umschreibens, veranlasst, dass der zweite Zustand in die Standardsitzung übergeht, beendet die Ausführung des Programms drahtgebundener Diagnose, veranlasst, dass der erste Zustand in die drahtgebundene Umschreibesitzung übergeht, und initiiert eine Ausführung des Programms drahtgebundenen Umschreibens. Die Anwendungsausführungseinheit 105a führt einen exklusiven Zustandsübergang so aus, dass die drahtgebundene Umschreibesitzung im ersten Zustand und die drahtlose Umschreibesitzung im zweiten Zustand nicht gleichzeitig aufgebaut werden, um zu verhindern, dass Schreibprozesse im gleichen Speicherbereich miteinander kollidieren (exklusive Steuerung).
  • Die Drahtlose-Umschreibeanfrage-Spezifizierungseinheit 105b bestimmt Kenninformation in Bezug auf eine von außen empfangene Umschreibeanfrage und spezifiziert eine drahtlose Umschreibeanfrage. D.h., wenn die Umprogrammierungsdaten von der Zentralvorrichtung 3 zum DCM 12 heruntergeladen werden und das CGW 13 die vom DCM 12 übertragenen Umprogrammierungsdaten an die Umschreibeziel-ECU 19 verteilt, spezifiziert die Drahtlose-Umschreibeanfrage-Spezifizierungseinheit 105b die drahtlose Umschreibeanfrage durch Empfangen der die drahtlose Umschreibeanfrage anzeigenden Kenninformation zusammen mit den Umprogrammierungsdaten vom CGW 13.
  • Die Drahtgebundene-Umschreibeanfrage-Spezifizierungseinheit 105c bestimmt Kenninformation in Bezug auf eine von außen empfangene Umschreibeanfrage und spezifiziert eine drahtgebundene Umschreibeanfrage. D.h., wenn das Werkzeug 23 mit dem DLC-Verbinder 22 verbunden ist und das CGW 13 vom Werkzeug 23 übertragene Umprogrammierungsdaten an die Umschreibeziel-ECU 19 verteilt, spezifiziert die Drahtgebundene-Umschreibeanfrage-Spezifizierungseinheit 105c die drahtgebundene Umschreibeanfrage durch Empfangen der die drahtgebundene Umschreibeanfrage anzeigenden Kenninformation zusammen mit den Umprogrammierungsdaten vom CGW 13.
  • Die Kenninformation kann beispielsweise Information entsprechend unterschiedlichen Kenn-IDs in der drahtgebundenen Umschreibeanfrage und der drahtlosen Umschreibeanfrage sowie Information entsprechend derselben Kenn-ID aber unterschiedlichen Daten in der drahtgebundenen Umschreibeanfrage und der drahtlosen Umschreibeanfrage sein. Das heißt, jede Information kann verwendet werden, solange die drahtgebundene Umschreibeanfrage und die drahtlose Umschreibeanfrage unterschieden werden können.
  • In der Anwendungsausführungseinheit 105a ist vorstehend anhand von 194 die Konfiguration beschrieben, die die zwei Zustände der Standardsitzung und der drahtlosen Umschreibesitzung als zweiten Zustand in Bezug auf den drahtlosen speziellen Prozess verwaltet, aber es ist, wie in den 195 und 196 gezeigt, eine Konfiguration denkbar, die drei Zustände der Standardsitzung, der drahtlosen Diagnosesitzung und der drahtlosen Umschreibesitzung als zweiten Zustand verwaltet. Die drahtlose Diagnosesitzung ist ein Modus zum Ausführen eines Programms drahtloser Diagnose zum Diagnostizieren der ECU 19 von außerhalb des Fahrzeugs auf eine drahtlose Weise. Im Falle der Ausführung eines Programms drahtloser Diagnose, das zumindest die Fahrzeugsteuerung beeinflussen kann, erfolgt ein Übergang in die drahtlose Diagnosesitzung.
  • Im Falle der Konfiguration von 195 führt die Anwendungsausführungseinheit 105a einen Zustandsübergang des zweiten Zustands wie folgt aus. Wenn eine drahtlose Diagnoseanfrage in einem Zustand einer zweiten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a im Ansprechen auf eine Diagnosesitzungsübergangsanfrage einen Übergang von der zweiten Standardsitzung zur drahtlosen Diagnosesitzung und führt einen drahtlosen Diagnoseprozess aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der drahtlosen Diagnosesitzung zur zweiten Standardsitzung, wenn, in einem Zustand der drahtlosen Diagnosesitzung, eine Sitzungsrückkehranfrage erzeugt wird, eine Zeitüberschreitung erzeugt wird oder die Energie ausgeschaltet wird. Wenn eine drahtlose Umschreibeanfrage in einem Zustand der zweiten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a im Ansprechen auf eine Diagnosesitzungsübergangsanfrage einen Übergang von der zweiten Standardsitzung zur drahtlosen Diagnosesitzung, macht anschließend im Ansprechen auf eine Umschreibesitzungsübergangsanfrage einen Übergang von der drahtlosen Diagnosesitzung zur drahtlosen Umschreibesitzung und führt einen drahtlosen Umschreibeprozess aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der drahtlosen Umschreibesitzung zur zweiten Standardsitzung, wenn, in einem Zustand der drahtlosen Umschreibesitzung, eine Sitzungsrückkehranfrage erzeugt wird, eine Zeitüberschreitung erzeugt wird oder die Energie ausgeschaltet wird.
  • Im Falle der Konfiguration von 196 führt die Anwendungsausführungseinheit 105a einen Zustandsübergang des zweiten Zustands wie folgt aus. Wenn eine drahtlose Diagnoseanfrage in einem Zustand einer zweiten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a im Ansprechen auf eine Diagnosesitzungsübergangsanfrage einen Übergang von der zweiten Standardsitzung zur drahtlosen Diagnosesitzung und führt einen drahtlosen Diagnoseprozess aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der drahtlosen Diagnosesitzung zur zweiten Standardsitzung, wenn, in einem Zustand der drahtlosen Diagnosesitzung, eine Sitzungsrückkehranfrage erzeugt wird, eine Zeitüberschreitung erzeugt wird oder die Energie ausgeschaltet wird. Wenn eine drahtlose Umschreibeanfrage in einem Zustand der zweiten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a im Ansprechen auf eine Diagnosesitzungsübergangsanfrage einen Übergang von der zweiten Standardsitzung zur drahtlosen Diagnosesitzung, macht anschließend im Ansprechen auf eine Umschreibesitzungsübergangsanfrage einen Übergang von der drahtlosen Diagnosesitzung zur drahtlosen Umschreibesitzung oder macht im Ansprechen auf die Umschreibesitzungsübergangsanfrage einen Übergang von der zweiten Standardsitzung zur drahtlosen Umschreibesitzung und führt den drahtlosen Umschreibeprozess aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der drahtlosen Umschreibesitzung zur zweiten Standardsitzung, wenn, in einem Zustand der drahtlosen Umschreibesitzung, eine Sitzungsrückkehranfrage erzeugt wird, eine Zeitüberschreitung erzeugt wird oder die Energie ausgeschaltet wird.
  • In der drahtgebundenen Diagnosesitzung im ersten Zustand und in der drahtlosen Diagnosesitzung im zweiten Zustand kann dasselbe Diagnoseprogramm oder können verschiedene Diagnoseprogramme ausgeführt werden. In der drahtgebundenen Umschreibesitzung im ersten Zustand und in der drahtlosen Umschreibesitzung im zweiten Zustand kann dasselbe Umschreibeprogramm oder können verschiedene Umschreibeprogramme ausgeführt werden. So kann beispielsweise ein gemeinsames Umschreibeprogramm wie beispielsweise Löschen oder Schreiben für einen Speicher ausgeführt werden.
  • Nachstehend ist eine Arbitrierung jeder Sitzung im ersten Zustand und jeder Sitzung im zweiten Zustand in den Konfigurationen der 195 und 196 beschrieben. Nachstehend ist, unter Bezugnahme auf 193, ein Fall beschrieben, in dem sich das Programm drahtgebundener Diagnose als das zweite Programm im Anwendungsbereich befindet, das Programm drahtloser Diagnose und das Programm drahtlosen Umschreibens als das dritte Programm im Anwendungsbereich befinden und das Programm drahtgebundener Diagnose als das vierte Programm im Boot-Bereich befindet. Mit anderen Worten, nachstehend ist eine Konfiguration, in der das Programm drahtlosen Umschreibens als ein Teil des Programms drahtloser Diagnose eingebettet ist, aber das Programm drahtgebundenen Umschreibens nicht als ein Teil des Programms drahtgebundener Diagnose eingebettet ist. In diesem Fall ist eine Arbitrierung der Programmausführung in jeder Sitzung im ersten Zustand und im zweiten Zustand wie in 197 gezeigt.
  • In einem Fall, in dem der zweite Zustand die drahtlose Umschreibesitzung ist und der erste Zustand die Standardsitzung ist, führt die Anwendungsausführungseinheit 105a das Programm drahtlosen Umschreibens aus, während das Fahrzeugsteuerungsprogramm ausgeführt wird. In einem Fall, in dem der zweite Zustand die drahtlose Umschreibesitzung ist und der erste Zustand die drahtgebundene Diagnosesitzung ist, führt die Anwendungsausführungseinheit 105a das Programm drahtlosen Umschreibens und das Programm drahtgebundener Diagnose gleichzeitig aus, während das Fahrzeugsteuerungsprogramm ausgeführt wird.
  • Demgegenüber beendet die Anwendungsausführungseinheit 105a in einem Fall, in dem der erste Zustand die drahtgebundene Umschreibesitzung ist und der zweite Zustand die Standardsitzung ist, das Fahrzeugsteuerungsprogramm und führt nur das Programm drahtgebundenen Umschreibens aus. In einem Fall, in dem der erste Zustand die drahtgebundene Umschreibesitzung ist und der zweite Zustand die drahtlose Diagnosesitzung ist, beendet die Anwendungsausführungseinheit 105a das Programm drahtloser Diagnose und das Fahrzeugsteuerungsprogramm und führt nur das Programm drahtgebundenen Umschreibens aus. D.h., die Anwendungsausführungseinheit 105a steuert das erste bis dritte Programm als einen dedizierten Modus zum Ausführen nur des Programms drahtgebundenen Umschreibens, das das vierte Programm ist, exklusiv.
  • In einer Konfiguration, in der sich das Programm drahtgebundener Diagnose und das Programm drahtgebundenen Umschreibens als das zweite Programm im Anwendungsbereich befinden, unterscheidet sich die Arbitrierung jedes Programms teilweise von der in 197 gezeigten Arbitrierung. D.h., in einer Konfiguration, in der das Programm drahtlosen Umschreibens als ein Teil des Programms drahtloser Diagnose eingebettet ist und das Programm drahtgebundenen Umschreibens als ein Teil des Programms drahtgebundener Diagnose eingebettet ist, ist eine Arbitrierung der Programmausführung in jeder Sitzung im ersten Zustand und im zweiten Zustand wie in 198 gezeigt. In diesem Fall führt die Anwendungsausführungseinheit 105a, wenn der erste Zustand die drahtgebundene Umschreibesitzung ist und der zweite Zustand die Standardsitzung ist, das Programm drahtgebundenen Umschreibens aus, während das Fahrzeugsteuerungsprogramm ausgeführt wird. In einem Fall, in dem der erste Zustand die drahtgebundene Umschreibesitzung ist und der zweite Zustand die drahtlose Diagnosesitzung ist, führt die Anwendungsausführungseinheit 105a das Programm drahtgebundenen Umschreibens und das Programm drahtloser Diagnose gleichzeitig aus, während das Fahrzeugsteuerungsprogramm ausgeführt wird.
  • Nachstehend ist ein Betrieb der vorstehend beschriebenen Konfiguration unter Bezugnahme auf die 199 bis 203 beschrieben. In der ECU 19 führt der Mikrocomputer 33 ein Sitzungsaufbauprogramm aus und führt damit den Sitzungsaufbauprozess aus.
  • Wenn der Mikrocomputer 33 durch Erfassen der Energieversorgung gestartet wird, führt der Mikrocomputer 33 das Sitzungsaufbauprogramm aus, um einen Zustandsübergangsverwaltungsprozess auszuführen, und führt einen Zustandsübergangsverwaltungsprozess zum Verwalten eines Zustandsübergangs des ersten Zustands und einen Zustandsübergangsverwaltungsprozess zum Verwalten eines Zustandsübergangs des zweiten Zustands aus. Nachstehend ist jeder Zustandsübergangsverwaltungsprozess beschrieben. Nachstehend ist ein Fall beschrieben, in dem die Anwendungsausführungseinheit 105a den zweiten Zustand unter Verwendung der in 194 gezeigten Konfiguration verwaltet, d.h. der Konfiguration ohne drahtlose Diagnosesitzung.
  • Zustandsübergangsverwaltungsprozess ersten Zustands
  • Wenn der Mikrocomputer 33 durch Erfassen der Energieversorgung gestartet wird und den Zustandsübergangsverwaltungsprozess des ersten Zustands initiiert, bestimmt der Mikrocomputer 33 ein Umschreibeabschluss-Flag und bestimmt, ob oder nicht das Umschreiben des vorherigen Anwendungsprogramms normal abgeschlossen wurde (S1901). Wenn bestimmt wird, dass das Umschreibeabschluss-Flag positiv ist und bestimmt wird, dass das Umschreiben des vorherigen Anwendungsprogramms normal abgeschlossen wurde (S1901: JA), veranlasst der Mikrocomputer 33 den Übergang des ersten Zustands in die Standardsitzung (S1902). D.h., der Mikrocomputer 33 veranlasst, dass der erste Zustand in die Standardsitzung übergeht, und initiiert damit den Fahrzeugsteuerungsprozess.
  • Wenn der Fahrzeugsteuerungsprozess durch Ausführen des Fahrzeugsteuerungsprogramms initiiert wird, während der Fahrzeugsteuerungsprozess ausgeführt wird, bestimmt der Mikrocomputer 33, ob oder nicht eine drahtgebundene Diagnoseanfrage erzeugt wurde (S1903), ob oder nicht eine drahtgebundene Umschreibeanfrage erzeugt wurde (S1904), und ob oder nicht eine Abschlussbedingung 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 Programm drahtgebundener Diagnose aus, um den drahtgebundenen Diagnoseprozess zu initiieren (S1907). Es wird bestimmt, ob die Abschlussbedingung für den drahtgebundenen Diagnoseprozess erfüllt ist (S1908), und wenn bestimmt wird, dass die Abschlussbedingung für den drahtgebundenen Diagnoseprozess erfüllt ist (S1908: JA), beendet der Mikrocomputer 33 das Programm drahtgebundener Diagnose, 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 Umschreibeanfrage erzeugt wurde (S1904: JA), während der Fahrzeugsteuerungsprozess ausgeführt wird, initiiert der Mikrocomputer 33 einen exklusiven Umschreibeprozess zur Zeit der Erzeugung einer drahtgebundenen Umschreibeanfrage (S1911). Das heißt, der Prozess ist ein Prozess zum Ausführen einer exklusiven Steuerung, so dass der drahtgebundene Umschreibeprozess und der drahtlose Umschreibeprozess nicht miteinander kollidieren. Wenn der exklusive Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage initiiert wird, bestimmt der Mikrocomputer 33, ob oder nicht ein Übergang zur drahtlosen Umschreibesitzung im zweiten Zustand im Gange ist, d.h. ob oder nicht der zweite Zustand die drahtlose Umschreibesitzung ist (S1921). Wenn bestimmt wird, dass der Übergang zur drahtlosen Umschreibesitzung nicht im zweiten Zustand im Gange ist (S1921: NEIN), spezifiziert der Mikrocomputer 33, dass der erste Zustand in die drahtgebundene Umschreibesitzung übergehen kann (S1922). Der Mikrocomputer 33 beendet den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage und kehrt zum Zustandsübergangsverwaltungsprozess des ersten Zustands zurück.
  • Wenn bestimmt wird, dass der Übergang zur drahtlosen Umschreibesitzung im zweiten Zustand im Gange ist (S1921: JA), bestimmt der Mikrocomputer 33, ob oder nicht die exklusive Steuerung auszuführen ist, indem er entweder der drahtgebundenen Umschreibesitzung oder der drahtlosen Umschreibesitzung Priorität gibt. Insbesondere bestimmt der Mikrocomputer 33, ob oder nicht eine der folgenden Bedingungen erfüllt ist: Prioritätsbedingung für die drahtgebundene Umschreibesitzung, Prioritätsbedingung für die drahtlose Umschreibesitzung und Umschreibesitzungsprioritätsbedingung bei Übergang (S1923 bis S1925). Die Prioritätsbedingung für die drahtgebundene Umschreibesitzung ist eine Bedingung dahingehend, dass die drahtgebundene Umschreibesitzung gegenüber der drahtlosen Umschreibesitzung priorisiert wird. Die Prioritätsbedingung für die drahtlose Umschreibesitzung ist eine Bedingung dahingehend, dass die drahtlose Umschreibesitzung gegenüber der drahtgebundenen Umschreibesitzung priorisiert wird. Die Umschreibesitzungsprioritätsbedingung bei Übergang ist eine Bedingung dahingehend, dass eine Umschreibesitzung bei Übergang priorisiert wird, d.h. eine Sitzung priorisiert wird, von der ein Übergang früher erfolgt. Welche dieser Prioritätsbedingungen verwendet wird, wird im Voraus festgelegt, und es kann beispielsweise ein Prioritätsbedingungs-Flag für das Fahrzeug gesetzt werden, und das Prioritätsbedingungs-Flag kann für jede Umschreibe-ECU gesetzt werden.
  • Wenn bestimmt wird, dass die Prioritätsbedingung für die drahtgebundene Umschreibesitzung erfüllt ist (S1923: JA), veranlasst der Mikrocomputer 33 den zweiten Zustand im Ansprechen auf eine Sitzungsrückkehranfrage, von der drahtlosen Umschreibesitzung zur Standardsitzung überzugehen, stoppt das drahtlose Umschreiben (S1926) und spezifiziert, dass der erste Zustand in die drahtgebundene Umschreibesitzung übergehen kann (S1922). Der Mikrocomputer 33 beendet das Programm drahtlosen Umschreibens in Übereinstimmung mit dem Übergang zur Standardsitzung. Der Mikrocomputer 33 beendet den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage und kehrt zum Zustandsübergangsverwaltungsprozess des ersten Zustands zurück.
  • Wenn bestimmt wird, dass die Prioritätsbedingung für die drahtlose Umschreibesitzung erfüllt ist (S1924: JA), verwirft der Mikrocomputer 33 die drahtgebundene Umschreibeanfrage und setzt das drahtlose Umschreiben fort (S1927). D.h., der Mikrocomputer 33 hält den zweiten Zustand in der drahtlosen Umschreibesitzung aufrecht, setzt die Ausführung des Programms drahtlosen Umschreibens fort und spezifiziert, dass der erste Zustand nicht in die drahtgebundene Umschreibesitzung übergehen kann (S1928). Der Mikrocomputer 33 beendet den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage und kehrt zum Zustandsübergangsverwaltungsprozess des ersten Zustands zurück.
  • Wenn bestimmt wird, dass die Umschreibesitzungsprioritätsbedingung bei Übergang erfüllt ist (S1925: JA), verwirft der Mikrocomputer 33 auch in diesem Fall die drahtgebundene Umschreibeanfrage und setzt das drahtlose Umschreiben fort (S1927). D.h., der Mikrocomputer 33 hält den zweiten Zustand in der drahtlosen Umschreibesitzung aufrecht, setzt die Ausführung des Programms drahtlosen Umschreibens fort und spezifiziert, dass der erste Zustand nicht in die drahtgebundene Umschreibesitzung übergehen kann (S1928). Der Mikrocomputer 33 beendet den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage und kehrt zum Zustandsübergangsverwaltungsprozess des ersten Zustands zurück. Der Mikrocomputer 33 führt den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage wie vorstehend beschrieben aus, und somit werden die drahtgebundene Umschreibesitzung und die drahtlose Umschreibesitzung exklusiv gesteuert, um nicht gleichzeitig aufgebaut zu werden.
  • Wenn der Mikrocomputers 33 zum Zustandsübergangsverwaltungsprozess des ersten Zustands zurückkehrt, bestimmt der Mikrocomputer 33, ob oder nicht der erste Zustand in die drahtgebundene Umschreibesitzung übergehen kann, und zwar als Ergebnis des exklusiven Umschreibeprozesses zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage (S1912). Wenn spezifiziert und somit bestimmt wird, dass der erste Zustand durch den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage in die drahtgebundene Umschreibesitzung übergehen kann (S1912: JA), veranlasst der Mikrocomputer 33 den Übergang des ersten Zustands von der Standardsitzung über die drahtgebundene Diagnosesitzung zur drahtgebundenen Umschreibesitzung (S1913), stoppt den Fahrzeugsteuerungsprozess und initiiert den drahtgebundenen Umschreibeprozess (S1914). Der Mikrocomputer 33 beendet das Fahrzeugsteuerungsprogramm in Übereinstimmung mit dem Übergang zur drahtgebundenen Umschreibesitzung.
  • Es wird bestimmt, ob die Abschlussbedingung für den drahtgebundenen Umschreibeprozess erfüllt ist (S1915), und wenn bestimmt wird, dass die Abschlussbedingung für den drahtgebundenen Umschreibeprozess erfüllt ist (S1915: JA), beendet der Mikrocomputer 33 den drahtgebundenen Umschreibeprozess (S1916) und veranlasst den Übergang des ersten Zustands von der drahtgebundenen Umschreibesitzung zur Standardsitzung (S1917). Die Abschlussbedingung für den drahtgebundenen Umschreibeprozess ist hier z.B. ein Fall, dass ein Schreiben des gesamten Anwendungsprogramms abgeschlossen ist und eine Integritätsverifizierung erfolgt.
  • Wenn spezifiziert und somit bestimmt wird, dass der erste Zustand durch den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage nicht in die drahtgebundene Umschreibesitzung übergehen kann (S1912: NEIN), veranlasst der Mikrocomputer 33 nicht den Übergang des ersten Zustands von der Standardsitzung über die drahtgebundene Diagnosesitzung zur drahtgebundenen Umschreibesitzung. Das heißt, der Mikrocomputer 33 hält den ersten Zustand in der Standardsitzung aufrecht. Wenn bestimmt wird, dass eine Abschlussbedingung für die Zustandsübergangsverwaltung erfüllt ist (S1905: JA), beendet der Mikrocomputer 33 den Zustandsübergangsverwaltungsprozess des ersten Zustands.
  • Vorstehend ist ein Fall beschrieben, in dem, wenn bestimmt wird, dass ein Übergang zur drahtlosen Umschreibesitzung im zweiten Zustand im exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtgebundenen Umschreibeanfrage im Gange ist, und bestimmt wird, dass die Prioritätsbedingung für die drahtgebundene Umschreibesitzung erfüllt ist, der Mikrocomputer 33 das drahtlose Umschreiben im zweiten Zustand stoppt, aber der Mikrocomputer 33 kann in Übereinstimmung mit einer nicht umgeschriebenen Restmenge beim drahtlosen Umschreiben bestimmen, ob oder nicht die drahtlose Umschreibesitzung zu stoppen ist.
  • Wenn bestimmt wird, dass der Übergang zur drahtlosen Umschreibesitzung im zweiten Zustand im Gange ist (S1921: JA), und bestimmt wird, dass die Prioritätsbedingung für die drahtgebundene Umschreibesitzung erfüllt ist (S1923: JA), bestimmt der Mikrocomputer 33, ob oder nicht eine nicht umgeschriebene Restmenge beim drahtlosen Umschreiben größer oder gleich als eine vorbestimmte Menge (z.B. 20% oder mehr) in der drahtlosen Umschreibesitzung während des Übergangs ist (S1931). Wenn bestimmt wird, dass die nicht umgeschriebene Restmenge beim drahtlosen Umschreiben größer oder gleich der vorbestimmten Menge ist (S1931: JA), veranlasst der Mikrocomputer 33 den Übergang des zweiten Zustands von der drahtlosen Umschreibesitzung zur Standardsitzung und stoppt das drahtlose Umschreiben (S1926). Der Mikrocomputer 33 beendet das Programm drahtlosen Umschreibens in Übereinstimmung mit dem Übergang zur Standardsitzung. Wenn bestimmt wird, dass die nicht umgeschriebene Restmenge des drahtlosen Umschreibens nicht größer oder gleich der vorbestimmten Menge ist (S1931: NEIN), verwirft der Mikrocomputer 33 die drahtgebundene Umschreibeanfrage und setzt das drahtlose Umschreiben fort (S1927). D.h., der Mikrocomputer 33 stoppt die drahtlose Umschreibesitzung, wenn die verbleibende Zeit bis zum Abschluss des drahtlosen Umschreibens relativ lang ist, stoppt aber nicht und setzt die drahtlose Umschreibesitzung fort, wenn die verbleibende Zeit bis zum Abschluss des drahtlosen Umschreibens relativ kurz ist.
  • Zustandsübergangsverwaltungsprozess zweiten Zustands
  • Wenn der Mikrocomputer 33 durch Erfassen der Energieversorgung gestartet wird und den Zustandsübergangsverwaltungsprozess des zweiten Zustands initiiert, bestimmt der Mikrocomputer 33 ein Umschreibeabschluss-Flag und bestimmt, ob oder nicht das Umschreiben des vorherigen Anwendungsprogramms normal abgeschlossen wurde (S1941). Wenn bestimmt wird, dass das Umschreibeabschluss-Flag positiv ist und bestimmt wird, dass das Umschreiben des vorherigen Anwendungsprogramms normal abgeschlossen wurde (S1941: JA), veranlasst der Mikrocomputer 33 den Übergang des zweiten Zustands in die Standardsitzung (S1942). D.h., der Mikrocomputer 33 veranlasst, dass der zweite Zustand in die Standardsitzung übergeht, und führt somit das Fahrzeugsteuerungsprogramm aus, um den Fahrzeugsteuerungsprozess zu initiieren.
  • Wenn der Fahrzeugsteuerungsprozess initiiert wird, bestimmt der Mikrocomputer 33, ob oder nicht eine drahtlose Umschreibeanfrage erzeugt wurde (S1943), und bestimmt, ob eine Abschlussbedingung für die Zustandsübergangsverwaltung erfüllt ist (S1944). Wenn bestimmt wird, dass eine drahtlose Diagnoseanfrage erzeugt wurde (S1943: JA), während der Fahrzeugsteuerungsprozess ausgeführt wird, initiiert der Mikrocomputer 33 einen exklusiven Umschreibeprozess zur Zeit der Erzeugung einer drahtlosen Umschreibeanfrage (S1944). Wenn der exklusive Umschreibeprozess zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage initiiert wird, bestimmt der Mikrocomputer 33, ob oder nicht ein Übergang zur drahtgebundenen Umschreibesitzung im ersten Zustand im Gange ist, d.h. ob oder nicht der erste Zustand die drahtgebundene Umschreibesitzung ist (S1961). Wenn bestimmt wird, dass der Übergang zur drahtgebundenen Umschreibesitzung nicht im ersten Zustand im Gange ist (S1961: NEIN), spezifiziert der Mikrocomputer 33, dass der Übergang zur drahtlosen Umschreibesitzung stattfinden kann (S1962). Der Mikrocomputer 33 beendet den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage und kehrt zum Zustandsübergangsverwaltungsprozess des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass der Übergang zur drahtgebundenen Umschreibesitzung im ersten Zustand im Gange ist (S1961: JA), bestimmt der Mikrocomputer 33, ob oder nicht die exklusive Steuerung auszuführen ist, indem er entweder der drahtgebundenen Umschreibesitzung oder der drahtlosen Umschreibesitzung Priorität gibt. Insbesondere bestimmt der Mikrocomputer 33, ob oder nicht eine der folgenden Bedingungen erfüllt ist: Prioritätsbedingung für die drahtlose Umschreibesitzung, Prioritätsbedingung für die drahtgebundene Umschreibesitzung und Umschreibesitzungsprioritätsbedingung bei Übergang (S1963 bis S1965).
  • Wenn bestimmt wird, dass die Prioritätsbedingung für die drahtlose Umschreibesitzung erfüllt ist (S1963: JA), veranlasst der Mikrocomputer 33 den ersten Zustand im Ansprechen auf eine Sitzungsrückkehranfrage, von der drahtgebundenen Umschreibesitzung zur Standardsitzung überzugehen, stoppt das drahtgebundene Umschreiben (S1966) und spezifiziert, dass der zweite Zustand in die drahtlose Umschreibesitzung übergehen kann (S1962). Der Mikrocomputer 33 beendet das Programm drahtgebundenen Umschreibens in Übereinstimmung mit dem Übergang zur Standardsitzung. Der Mikrocomputer 33 beendet den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage und kehrt zum Zustandsübergangsverwaltungsprozess des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass die Prioritätsbedingung für die drahtgebundene Umschreibesitzung erfüllt ist (S1964: JA), verwirft der Mikrocomputer 33 die drahtlose Umschreibeanfrage und setzt das drahtgebundene Umschreiben fort (S 1967). Das heißt, der Mikrocomputer 33 hält den ersten Zustand in der drahtgebundenen Umschreibesitzung aufrecht, setzt die Ausführung des Programms drahtgebundenen Umschreibens fort und spezifiziert, dass der zweite Zustand nicht zur drahtlosen Umschreibesitzung übergehen kann (S1968). Der Mikrocomputer 33 beendet den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage und kehrt zum Zustandsübergangsverwaltungsprozess des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass die Umschreibesitzungsprioritätsbedingung bei Übergang erfüllt ist (S1965: JA), verwirft der Mikrocomputer 33 auch in diesem Fall die drahtlose Umschreibeanfrage und setzt das drahtgebundene Umschreiben fort (S1967). Das heißt, der Mikrocomputer 33 hält den ersten Zustand in der drahtgebundenen Umschreibesitzung aufrecht, setzt die Ausführung des Programms drahtgebundenen Umschreibens fort und spezifiziert, dass der zweite Zustand nicht zur drahtlosen Umschreibesitzung übergehen kann (S1968). Der Mikrocomputer 33 beendet den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage und kehrt zum Zustandsübergangsverwaltungsprozess des zweiten Zustands zurück. Der Mikrocomputer 33 führt den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage wie vorstehend beschrieben aus, und somit werden die drahtgebundene Umschreibesitzung und die drahtlose Umschreibesitzung exklusiv gesteuert, um nicht gleichzeitig aufgebaut zu werden.
  • Wenn der Mikrocomputers 33 zum Zustandsübergangsverwaltungsprozess des zweiten Zustands zurückkehrt, bestimmt der Mikrocomputer 33, ob oder nicht der zweite Zustand in die drahtlose Umschreibesitzung übergehen kann, und zwar als Ergebnis des exklusiven Umschreibeprozesses zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage (S1945). Wenn spezifiziert und somit bestimmt wird, dass der zweite Zustand durch den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage in die drahtlose Umschreibesitzung übergehen kann (S1945: JA), veranlasst der Mikrocomputer 33, dass der zweite Zustand von der Standardsitzung in die drahtlose Umschreibesitzung übergeht (S1946), und führt das Programm drahtlosen Umschreibens aus, um den drahtlosen Umschreibeprozess zu initiieren (S1847). Es wird bestimmt, ob die Abschlussbedingung für den drahtlosen Umschreibeprozess erfüllt ist (S1948), und wenn bestimmt wird, dass die Abschlussbedingung für den drahtlosen Umschreibeprozess erfüllt ist (S1948: JA), beendet der Mikrocomputer 33 den drahtlosen Umschreibeprozess (S1949) und veranlasst den zweiten Zustand, von der drahtlosen Umschreibesitzung in die Standardsitzung überzugehen (S1950). Der Mikrocomputer 33 beendet das Programm drahtlosen Umschreibens in Übereinstimmung mit dem Übergang zur Standardsitzung. Die Abschlussbedingung für den drahtlosen Umschreibeprozess ist hier z.B. ein Fall, in dem ein Schreiben des gesamten Anwendungsprogramms abgeschlossen ist und eine Integritätsverifizierung erfolgt.
  • Wenn spezifiziert und somit bestimmt wird, dass der zweite Zustand durch den exklusiven Umschreibeprozess zur Zeit der Erzeugung der drahtlosen Umschreibeanfrage nicht in die drahtlose Umschreibesitzung übergehen kann (S1945: NEIN), veranlasst der Mikrocomputer 33 nicht den Übergang des zweiten Zustands von der Standardsitzung zur drahtlosen Umschreibesitzung. D.h., der Mikrocomputer 33 hält den zweiten Zustand in der Standardsitzung aufrecht. Wenn bestimmt wird, dass eine Abschlussbedingung für die Zustandsübergangsverwaltung erfüllt ist (S1951: JA), beendet der Mikrocomputer 33 den Zustandsübergangsverwaltungsprozess des zweiten Zustands.
  • Vorstehend ist ein Fall beschrieben, in dem die Anwendungsausführungseinheit 105a das Programm in Bezug auf den drahtgebundenen speziellen Prozess und das Programm in Bezug auf den drahtlosen speziellen Prozess unabhängig (gleichzeitig) ausführen kann, es ist jedoch eine Konfiguration denkbar, in der das Programm drahtgebundener Diagnose und das Programm drahtloser Diagnose gemeinsam genutzt werden, wie in 201 gezeigt. In der Konfiguration befindet sich das Fahrzeugsteuerungsprogramm als das erste Programm im Anwendungsbereich und befinden sich das Diagnoseprogramm (das Programm drahtgebundener Diagnose und das Programm drahtloser Diagnose) und das Programm drahtlosen Umschreibens als das zweite Programm im Anwendungsbereich. Das Programm drahtgebundenen Umschreibens kann sich als das zweite Programm im Anwendungsbereich oder als das dritte Programm im Boot-Bereich befinden. Die Anwendungsausführungseinheit 105a führt das erste Programm und das zweite Programm gleichzeitig aus. D.h., die Anwendungsausführungseinheit 105a führt die Steuerung so aus, dass das Fahrzeugsteuerungsprogramm und das gemeinsame Diagnoseprogramm gleichzeitig ausgeführt werden können. Demgegenüber steuert die Anwendungsausführungseinheit 105a die Ausführung jedes Programms, das das zweite Programm bildet, exklusiv. D.h., nur eines der Programme Programm drahtgebundener Diagnose, Programm drahtloser Diagnose, Programm drahtlosen Umschreibens und Programm drahtgebundenen Umschreibens wird gesteuert, um betrieben zu werden.
  • Wie in 202 gezeigt, verwaltet die Anwendungsausführungseinheit 105a den Standardzustand (Standardsitzung), den Diagnosezustand (Diagnosesitzung), den drahtgebundenen Umschreibezustand (drahtgebundene Umschreibesitzung) und den drahtlosen Umschreibezustand (drahtlose Umschreibesitzung) als die Zustände und verwaltet einen internen Betriebszustand. Die hier verwalteten Zustände werden nicht unabhängig voneinander drahtgebunden und drahtlos verwaltet, sondern gemischt als ein Zustand.
  • Auch in dieser Konfiguration initiiert die Anwendungsausführungseinheit 105a die Ausführung des Diagnoseprogramms, während das Fahrzeugsteuerungsprogramm ausgeführt wird. Die Anwendungsausführungseinheit 105a initiiert die Ausführung des Programms drahtlosen Umschreibens oder des Programms drahtgebundenen Umschreibens, während das Fahrzeugsteuerungsprogramm ausgeführt wird. Demgegenüber steuert die Anwendungsausführungseinheit 105a die Ausführung des Programms drahtloser Diagnose und des Programms drahtgebundener Diagnose exklusiv. Die Anwendungsausführungseinheit 105a steuert ebenso die Ausführung des Programms drahtgebundener Diagnose und des Programms drahtloser Diagnose sowie des Programms drahtgebundenen Umschreibens und des Programms drahtlosen Umschreibens exklusiv. D.h., die Anwendungsausführungseinheit 105a steuert die Ausführung jedes Programms, das das zweite Programm bildet, exklusiv.
  • Hier steuert die Anwendungsausführungseinheit 105a in einem Fall, in dem sich das Programm drahtgebundenen Umschreibens als das dritte Programm im Boot-Bereich befindet, exklusiv die Ausführung des dritten Programms sowie des ersten und zweiten Programms. D.h., in einem Fall, in dem das Programm drahtgebundenen Umschreibens ausgeführt wird, sind das erste Programm und das zweite Programm beendet und werden in einem dedizierten Modus betrieben.
  • Wie in 202 gezeigt, macht die Anwendungsausführungseinheit 105a, wenn eine Diagnoseanfrage erzeugt wird, einen Übergang zur Diagnosesitzung, während die Ausführung des Fahrzeugsteuerungsprogramms fortgesetzt wird, und initiiert die Ausführung des Diagnoseprogramms. Wenn in diesem Zustand eine drahtlose Umschreibeanfrage erzeugt wird, beendet die Anwendungsausführungseinheit 105a das Diagnoseprogramm, macht einen Übergang zur drahtlosen Umschreibesitzung und initiiert die Ausführung des Programms drahtlosen Umschreibens. Die Ausführung des Fahrzeugsteuerungsprogramms wird fortgesetzt. Demgegenüber beendet die Anwendungsausführungseinheit 105a in einem Fall, in dem eine drahtgebundene Umschreibeanfrage erzeugt wird, das Diagnoseprogramm und das Fahrzeugsteuerungsprogramm, macht einen Übergang zur drahtgebundenen Umschreibesitzung und initiiert die Ausführung des Programms drahtgebundenen Umschreibens.
  • Auch wenn sich das Programm drahtlosen Umschreibens innerhalb des Diagnoseprogramms befindet, stoppt die Anwendungsausführungseinheit 105a die Ausführung des Fahrzeugsteuerungsprogramms und des Diagnoseprogramms und initiiert anschließend die Ausführung des Programms drahtlosen Umschreibens, wenn während der Ausführung des Fahrzeugsteuerungsprogramms und des Diagnoseprogramms ein Zustandsübergang von der Diagnosesitzung zur drahtlosen Umschreibesitzung erfolgt. In einem Fall, in dem es keine Sitzung gibt, kann der Prozess fortgesetzt werden.
  • Wenn sich das Programm drahtgebundenen Umschreibens außerhalb des Diagnoseprogramms befindet, stoppt die Anwendungsausführungseinheit 105a die Ausführung des Fahrzeugsteuerungsprogramms und des Programms drahtloser Diagnose und initiiert die Ausführung des Programms drahtgebundenen Umschreibens, wenn während der Ausführung des Fahrzeugsteuerungsprogramms und des Diagnoseprogramms ein Zustandsübergang von der Diagnosesitzung zur drahtgebundenen Umschreibesitzung erfolgt. D.h., die Anwendungsausführungseinheit 105a führt die Steuerung so aus, dass die Fahrzeugsteuerung, die drahtgebundene oder drahtlose Diagnose der ECU 19 und das drahtgebundene Umschreiben eines Anwendungsprogramms nicht gleichzeitig ausgeführt werden können und nur das drahtgebundene Umschreiben des Anwendungsprogramms ausgeführt werden kann.
  • Wie oben beschrieben, führt die ECU 19 den Sitzungsaufbauprozess aus, führt somit den Zustandsübergangsverwaltungsprozess des ersten Zustands und den Zustandsübergangsverwaltungsprozess des zweiten Zustands aus, verwaltet einen Zustandsübergang von jeder Sitzung des ersten Zustands und des zweiten Zustands und baut nicht-exklusiv die Standardsitzung oder die drahtgebundene Diagnosesitzung des ersten Zustands und die drahtlose Umschreibesitzung des zweiten Zustands auf. Das Fahrzeugsteuerungsprogramm oder das Diagnoseprogramm für die ECU 19 und das Programm drahtlosen Umschreibens werden gesteuert, um im Ansprechen auf Anfragen für die Fahrzeugsteuerung oder die Diagnose der ECU 19 und das drahtlose Umschreiben eines Programms nicht-exklusiv ausgeführt zu werden, und somit ist es möglich, verschiedene Anfragen von außen angemessen zu vermitteln bzw. arbitrieren.
  • In der ECU 19 werden die drahtgebundene Umschreibesitzung und die drahtlose Umschreibesitzung exklusiv aufgebaut. Das Programm drahtgebundenen Umschreibens und das Programm drahtlosen Umschreibens werden gesteuert, um exklusiv ausgeführt zu werden, und das drahtgebundene Umschreiben des Programms und das drahtlose Umschreiben des Programms können angemessen arbitriert werden.
  • In der ECU 19 wird, wenn die Prioritätsbedingung für die drahtgebundene Umschreibesitzung erfüllt ist, die drahtgebundene Umschreibesitzung gegenüber der drahtlosen Umschreibesitzung priorisiert. Die Prioritätsbedingung für die drahtgebundene Umschreibesitzung wird festgelegt, und somit kann das drahtgebundene Umschreiben des Programms vor dem drahtlosen Umschreiben des Programms ausgeführt werden. Zum Beispiel kann das drahtgebundene Umschreiben eines Programms, für das ein Befehl von einer Wartungsperson bei einem Händler oder dergleichen erteilt wird, vor dem drahtlosen Umschreiben des Programms, für das ein Befehl von einem Benutzer eines Fahrzeugs erteilt wird, ausgeführt werden.
  • In der ECU 19 wird die drahtlose Umschreibesitzung gegenüber der drahtgebundenen Umschreibesitzung priorisiert, wenn die Prioritätsbedingung für die drahtlose Umschreibesitzung erfüllt ist. Die Prioritätsbedingung für die drahtlose Umschreibesitzung wird festgelegt, und somit kann das drahtlose Umschreiben eines Programms vor dem drahtgebundenen Umschreiben des Programms ausgeführt werden. So kann z.B. das drahtlose Umschreiben eines Programms, für das ein Befehl von einem Benutzer eines Fahrzeugs erteilt wird, vor dem drahtgebundenen Umschreiben des Programms, für das ein Befehl von einer Wartungsperson bei einem Händler oder dergleichen erteilt wird, ausgeführt werden.
  • In der ECU 19 wird, wenn die Umschreibesitzungsprioritätsbedingung bei Übergang erfüllt ist, eine Umschreibesitzung bei Übergang priorisiert. Die Umschreibesitzungsprioritätsbedingung bei Übergang wird festgelegt, und somit kann das Umschreiben bei Übergang bevorzugt ausgeführt werden. D.h., entweder drahtgebundenes oder drahtloses Umschreiben, je nachdem, welches früher initiiert wurde, kann ohne Unterbrechung fortgesetzt werden.
  • In einer Konfiguration mit Zwei-Bank Anwendungsbereichen befinden sich das Fahrzeugsteuerungsprogramm, das Diagnoseprogramm und das Programm drahtlosen Umschreibens in jedem Anwendungsbereich, und das Fahrzeugsteuerungsprogramm oder das Diagnoseprogramm und das Programm drahtlosen Umschreibens werden parallel (gleichzeitig) ausgeführt. Eine Speicherkonfiguration des Flash-Speichers 30d kann entwickelt werden, und somit können das Fahrzeugsteuerungsprogramm oder das Diagnoseprogramm und das Programm drahtlosen Umschreibens parallel ausgeführt werden.
  • Wenn eine drahtlose Umschreibeanfrage bei Ausführung des Fahrzeugsteuerungsprogramms oder des Programms drahtgebundener Diagnose spezifiziert wird, wird die Ausführung des Fahrzeugsteuerungsprogramms oder des Programms drahtgebundener Diagnose fortgesetzt, und das Programm drahtlosen Umschreibens ausgeführt. Wenn eine drahtlose Umschreibeanfrage bei Ausführung des Fahrzeugsteuerungsprogramms oder des Programms drahtgebundener Diagnose erzeugt wird, können das Fahrzeugsteuerungsprogramm oder das Programm drahtgebundener Diagnose und das Programm drahtlosen Umschreibens parallel (gleichzeitig) ausgeführt werden.
  • Wenn eine Fahrzeugsteuerungsanfrage oder eine drahtgebundene Diagnoseanfrage bei Ausführung des Programms drahtlosen Umschreibens spezifiziert wird, wird die Ausführung des Programms drahtlosen Umschreibens fortgesetzt und wird das Fahrzeugsteuerungsprogramm oder das Programm drahtgebundener Diagnose ausgeführt. Wenn eine Fahrzeugsteuerungsanfrage oder eine drahtgebundene Diagnoseanfrage bei Ausführung des Programms drahtlosen Umschreibens erzeugt wird, können das Programm drahtlosen Umschreibens und das Fahrzeugsteuerungsprogramm oder das Programm drahtgebundener Diagnose parallel (gleichzeitig) ausgeführt werden.
  • Wenn eine drahtgebundene Umschreibeanfrage bei Ausführung des Fahrzeugsteuerungsprogramms oder des Programms drahtloser Diagnose spezifiziert wird, wird die Ausführung des Fahrzeugsteuerungsprogramms oder des Programms drahtloser Diagnose gestoppt und wird das Programm drahtgebundenen Umschreibens ausgeführt. Wenn eine drahtgebundene Umschreibeanfrage bei Ausführung des Fahrzeugsteuerungsprogramms oder des Programms drahtloser Diagnose erzeugt wird, kann nur das Programm drahtgebundenen Umschreibens exklusiv ausgeführt werden.
  • Im Falle des Umprogrammierungs-Firmware-Einbettungstyps, bei dem Umprogrammierungs-Firmware eingebettet ist, wird das Umschreibeprogramm unter Verwendung der im Anwendungsbereich befindlichen Firmware ausgeführt. Es ist möglich, einen Umschreibeprozess an einem Anwendungsprogramm in einer inaktiven Bank auszuführen, ohne die Umprogrammierungs-Firmware von außen herunterzuladen.
  • Im Falle des Umprogrammierungs-Firmware-Download-Typs, bei dem Umprogrammierungs-Firmware von außen heruntergeladen wird, wird das Umschreibeprogramm unter Verwendung der von außen heruntergeladenen Firmware ausgeführt. Es ist möglich, einen Umschreibeprozess auf ein Anwendungsprogramm in einer inaktiven Bank auszuführen, nachdem eine Kapazität eines Umschreibeprogramms im Anwendungsbereich reduziert wurde.
  • Obgleich vorstehend der Zwei-Bank-Speicher mit zwei greifbaren Anwendungsbereichen beschrieben ist, ist die vorliegende Ausführungsform ebenso auf einen Ein-Bank-Suspend-Speicher oder einen externen Speicher mit zwei Pseudo-Anwendungsbereichen anwendbar.
  • Obgleich vorstehend ein Fall einer Differenzumschreibung beschrieben ist, bei dem neue Daten aus alten Daten und Differenzumprogrammierungsdaten erzeugt werden, ist die vorliegende Ausführungsform ebenso auf einen Fall eines Umschreibens anwendbar, bei dem die gesamten neuen Daten unter bzw. durch Löschung alter Daten geschrieben werden.
  • Obgleich vorstehend ein Fall beschrieben ist, bei dem ein Anwendungsprogramm der ECU 19 umgeschrieben wird, ist die vorliegende Ausführungsform ebenso auf einen Fall eines Umschreibens eines Anwendungsprogramms des CGW 13 anwendbar. D.h., der Flash-Speicher 26d des CGW 13 kann eine Zwei-Bank-Konfiguration aufweisen, die der des Flash-Speichers 30d der ECU 19 entspricht, und der Mikrocomputer 26 kann eine Funktion aufweisen, die der des Mikrocomputers 33 der ECU 19 entspricht.
  • Wiederholungspunktspezifizierungsprozess
  • Nachstehend ist der Wiederholungspunktspezifizierungsprozess unter Bezugnahme auf die 206 bis 210 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Wiederholungspunktspezifizierungsprozess in der Umschreibeziel-ECU 19 aus. Der Wiederholungspunkt ist Information, die einen Abschnitt anzeigt, der einem abgeschlossenen Prozess entspricht, um ein auf halbem Wege gestopptes Schreiben von Schreibdaten wieder aufzunehmen, wenn das Schreiben der Schreibdaten in einem Fall gestoppt wird, in dem die Schreibdaten mehrere Male geschrieben werden. Als ein Fall, in dem das Schreiben von Schreibdaten gestoppt wird, gibt es z.B. einen Fall, in dem ein Abbruch aufgrund der Benutzerbedienung erfolgt, einen Fall, in dem eine Abnormität wie eine Kommunikationsunterbrechung auftritt, und einen Fall, in dem die Zündung in einem Parkzustand von einem AUS-Zustand in einen EIN-Zustand wechselt.
  • In der ECU 19 teilt sich die Programmumschreibeeinheit 102 eine Reihe von Prozessen in Bezug auf das Umschreiben eines Anwendungsprogramms auf mehrere Umschreibeprogramme auf. Die Programmumschreibeeinheit 102 enthält ein erstes Umschreibeprogramm zum Ausführen eines ersten Prozesses und ein zweites Umschreibeprogramm zum Ausführen eines zweiten Prozesses und führt die jeweiligen Umschreibeprogramme sequentiell aus. Der erste Prozess, der durch das erste Umschreibeprogramm ausgeführt wird, ist z.B. ein Speicherlöschprozess zum Löschen von Daten im Flash-Speicher und ein Datenschreibprozess zum Schreiben von Schreibdaten. Der zweite Prozess, der durch das zweite Umschreibeprogramm ausgeführt wird, ist z.B. ein Verifizierungsprozess und ein Fälschungsprüfungsprozess.
  • Wie in 206 gezeigt, enthält die ECU 19 eine erste Prozess-Flag-Einstelleinheit 106a, eine zweite Prozess-Flag-Einstelleinheit 106b und eine Wiederholungspunktspezifizierungseinheit 106c in der Wiederholungspunktspezifizierungseinheit 106. Wenn die Programmumschreibeeinheit 102 das erste Umschreibeprogramm ausführt, bestimmt die erste Prozess-Flag-Einstelleinheit 106a, ob oder nicht die Programmumschreibeeinheit 102 den ersten Prozess unter Verwendung des ersten Umschreibeprogramms abgeschlossen hat, und setzt ein erstes Prozess-Flag, das das Bestimmungsergebnis anzeigt. Wenn bestimmt wird, dass die Programmumschreibeeinheit 102 den ersten Prozess abgeschlossen hat, setzt die erste Prozess-Flag-Einstelleinheit 106a das erste Prozess-Flag auf „OK“.
  • Wenn die Programmumschreibeeinheit 102 das zweite Umschreibeprogramm ausführt, bestimmt die zweite Prozess-Flag-Einstelleinheit 106b, ob oder nicht die Programmumschreibeeinheit 102 den zweiten Prozess unter Verwendung des zweiten Umschreibeprogramms abgeschlossen hat, und setzt ein zweites Prozess-Flag, das das Bestimmungsergebnis anzeigt. Wenn bestimmt wird, dass die Programmumschreibeeinheit 102 den zweiten Prozess abgeschlossen hat, setzt die zweite Prozess-Flag-Einstelleinheit 106b das zweite Prozess-Flag auf „OK“.
  • Die Wiederholungspunktspezifizierungseinheit 106c spezifiziert einen Wiederholungspunkt, wenn die Programmumschreibeeinheit 102 das Umschreiben eines Anwendungsprogramms gemäß dem ersten Prozess-Flag und dem zweiten Prozess-Flag wiederholt bzw. erneut versucht, in einem Fall, in dem ein Teil des Prozesses in Bezug auf das Umschreiben des Programms gestoppt bzw. unterbrochen wird. Die Wiederholungspunktspezifizierungseinheit 106c speichert einen Schreibbetrag von Aktualisierungsdaten bis zur Unterbrechung und fordert das CGW 13 auf, die Aktualisierungsdaten auf der Grundlage des gespeicherten Schreibbetrags der Aktualisierungsdaten in einem Fall zu senden, in dem der Prozess in Bezug auf das Umschreiben des Programms wieder aufgenommen wird. Wie in 207 gezeigt, werden das erste Prozess-Flag und das zweite Prozess-Flag in demselben Block des Flash-Speichers der Umschreibeziel-ECU 19 gespeichert.
  • Nachstehend ist ein Betrieb der Wiederholungspunktspezifizierungseinheit 106 in der Umschreibeziel-ECU 19 unter Bezugnahme auf die 208 und 210 beschrieben. Die Umschreibeziel-ECU 19 führt ein Wiederholungspunktspezifizierungsprogramm aus und führt somit den Wiederholungspunktspezifizierungsprozess aus. Die Umschreibeziel-ECU 19 führt einen Prozess-Flag-Einstellprozess und einen Prozess-Flag-Bestimmungsprozess als den Wiederholungspunktspezifizierungsprozess aus. Jeder Prozess ist im Folgenden beschrieben.
  • Prozess-Flag-Einstellprozess
  • Wenn der Prozess-Flag-Einstellprozess initiiert wird, bestimmt die Umschreibeziel-ECU 19, ob oder nicht ein Vorprozess vor dem Umschreiben eines Anwendungsprogramms abgeschlossen wurde (S2001). Wenn bestimmt wird, dass der Vorprozess vor dem Umschreiben des Anwendungsprogramms abgeschlossen ist (S2001: JA), setzt die Umschreibeziel-ECU 19 das erste Prozess-Flag auf „NG“, das zweite Prozess-Flag auf „NG“ und speichert die gesetzten Prozess-Flags (S2002; entsprechend einer ersten Prozess-Flag-Einstellprozedur und einer zweiten Prozess-Flag-Einstellprozedur).
  • Wenn Schreibdaten vom CGW 13 empfangen werden, initiiert die Umschreibeziel-ECU 19 den ersten Prozess (S2003) und bestimmt, ob oder nicht der erste Prozess abgeschlossen wurde (S2004). Wenn bestimmt wird, dass der erste Prozess abgeschlossen ist (S2004: JA), setzt die Umschreibeziel-ECU 19 das erste Prozess-Flag auf „OK“, in einem Zustand, in dem das zweite Prozess-Flag noch auf „NG“ gesetzt ist, und speichert das gesetzte erste Prozess-Flag (S2005; entsprechend einer ersten Prozess-Flag-Einstellprozedur und einer zweiten Prozess-Flag-Einstellprozedur). Die Umschreibeziel-ECU 19 speichert eine Schreibabschlussadresse, die einen Abschnitt anzeigt, an dem das Schreiben im Flash-Speicher abgeschlossen wurde.
  • Die Umschreibeziel-ECU 19 initiiert den zweiten Prozess, wie beispielsweise das Senden einer Schreibabschlussbenachrichtigung an das CGW 13 (S2006), und bestimmt, ob oder nicht der zweite Prozess abgeschlossen wurde (S2007). Wenn bestimmt wird, dass der zweite Prozess abgeschlossen ist (S2007: JA), setzt die Umschreibeziel-ECU 19 das zweite Prozess-Flag auf „OK“ und speichert das gesetzte zweite Prozess-Flag in einem Zustand, in dem das erste Prozess-Flag noch auf „OK“ gesetzt ist (S2008; entsprechend einer ersten Prozess-Flag-Einstellprozedur und einer zweiten Prozess-Flag-Einstellprozedur), und beendet den Prozess-Flag-Einstellprozess.
  • Prozess-Flag-Bestimmungsprozess
  • Wenn die Umschreibeziel-ECU 19 aus dem Ruhezustand oder dem Stoppzustand gestartet wird und der Prozess-Flag-Bestimmungsprozess initiiert wird, wird die Umschreibeziel-ECU 19 durch das Boot-Programm gestartet (S2011) und liest das erste Prozess-Flag und das zweite Prozess-Flag aus dem Flash-Speicher 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), spezifiziert die Umschreibeziel-ECU 19 einen Wiederholungspunkt zu Beginn des ersten Prozesses, benachrichtigt das CGW 13 über eine Wiederholungsanfrage ab Beginn des ersten Prozesses (S2016; entsprechend einer Wiederholungspunktspezifizierungsprozedur) und beendet den Wiederholungspunktspezifizierungsprozess. D.h., die Umschreibeziel-ECU 19 fordert das CGW 13 auf, die Schreibdaten zu verteilen. In diesem Fall teilt die Umschreibeziel-ECU 19 dem CGW 13 ebenso die aus dem Flash-Speicher gelesene Schreibabschlussadresse mit, und damit spezifiziert das CGW 13, welche der Schreibdaten, die zu teilen und zu verteilen sind, verteilt werden. Wenn bestimmt wird, dass das erste Prozess-Flag auf „NG“ gesetzt ist und das zweite Prozess-Flag auf „OK“ gesetzt ist (S2013: JA), spezifiziert, auch in diesem Fall, die Umschreibeziel-ECU 19 einen Wiederholungspunkt zu Beginn des ersten Prozesses (S2016; entsprechend einer Wiederholungspunktspezifizierungsprozedur), benachrichtigt das CGW 13 über eine Wiederholungsanfrage ab Beginn des ersten Prozesses (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), spezifiziert die Umschreibeziel-ECU 19 einen Wiederholungspunkt zu Beginn des zweiten Prozesses (S2018; entsprechend einer Wiederholungspunktspezifizierungsprozedur), benachrichtigt das CGW 13 über eine Wiederholungsanfrage ab Beginn des zweiten Prozesses (S2019) und beendet den Prozess-Flag-Bestimmungsprozess. Die ECU 19 informiert das CGW 13 beispielsweise darüber, bis zu welcher Adresse das Schreiben abgeschlossen wurde, als den zweiten Prozess.
  • Wenn bestimmt wird, dass das erste Prozess-Flag auf „OK“ gesetzt ist und das zweite Prozess-Flag auf „OK“ gesetzt ist (S2015: JA), benachrichtigt die Umschreibeziel-ECU 19 das CGW 13 über den Abschluss des Prozesses in Bezug auf das Umschreiben des Anwendungsprogramms (S2020) und beendet den Prozess-Flag-Bestimmungsprozess. Wenn das CGW 13 geteilte Schreibdaten verteilt, setzt die Umschreibeziel-ECU 19 den oben beschriebenen Wiederholungspunkt in der Einheit der geteilten Schreibdaten.
  • Wie oben beschrieben, führt die Umschreibeziel-ECU 19 den Wiederholungspunktspezifizierungsprozess aus, setzt so das erste Prozess-Flag, das anzeigt, ob oder nicht der erste Prozess abgeschlossen wurde, setzt das zweite Prozess-Flag, das anzeigt, ob oder nicht der zweite Prozess abgeschlossen wurde, und spezifiziert einen Wiederholungspunkt in Übereinstimmung mit dem ersten Prozess-Flag und dem zweiten Prozess-Flag. Beispielsweise kann in einem Fall, in dem der erste Prozess abgeschlossen ist und die Umschreibeziel-ECU 19 in einem Zustand neu gestartet wird, in dem der zweite Prozess noch nicht abgeschlossen ist, verhindert werden, dass die gleichen Schreibdaten erneut geschrieben werden.
  • Die Umschreibeziel-ECU 19 speichert eine Datenmenge der Schreibdaten, deren Schreiben abgeschlossen wurde, d.h. wie viele Byte der Schreibdaten geschrieben wurden, und fordert das CGW 13 auf, die Schreibdaten ab den Byte zu senden, wenn das Schreiben der Schreibdaten wieder aufgenommen wird. In einem Fall, in dem die Umschreibeziel-ECU 19 speichert, wie viele Byte der Schreibdaten geschrieben wurden, und das Schreiben wieder aufnimmt, fordert die Umschreibeziel-ECU 19 das CGW 13 auf, die Schreibdaten ab den Byte zu senden. Daher kann das CGW 13 zur Zeit der Wiederaufnahme des Schreibens ein unnötiges bzw. überflüssiges erneutes Senden der gesendeten Schreibdaten vermeiden, und die Umschreibeziel-ECU 19 kann die Schreibdaten ab dem nächsten Schreibbereich eines Schreibbereichs, in den die Schreibdaten geschrieben wurden, schreiben. Die Umschreibeziel-ECU 19, die nicht über die Funktion verfügt, zu speichern, wie viele Byte an Schreibdaten geschrieben wurden, fordert das CGW 13 auf, die Schreibdaten von den führenden bzw. Anfangsschreibdaten zu senden, wenn das Schreiben der Schreibdaten wieder aufgenommen wird.
  • Fortschrittszustandssynchronisierungs-Steuerprozess
  • Nachstehend ist der Fortschrittszustandssynchronisierungs-Steuerprozess unter Bezugnahme auf die 211 bis 216 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt einen Fortschrittszustandssynchronisierungs-Steuerprozess in dem CGW 13 und in der Zentralvorrichtung 3 aus. Das Fahrzeugprogrammumschreibesystem 1 enthält das mobile Endgerät 6 und die In-Vehicle-Anzeige 7 als das Anzeige-Endgerät 5, das es einem Benutzer ermöglicht, eine Eingabe bzw. Eingabebedienung auszuführen. Die In-Vehicle-Anzeige 7 zeigt einen Fortschrittsbildschirm an, der den Fortschritt des Umschreibens in Zusammenarbeit mit dem CGW 13 anzeigt. Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt auf diese Weise einen Fortschrittsbildschirm an, der den Fortschritt des Umschreibens anzeigt, der von der Zentralvorrichtung 3 bereitgestellt wird. Das CGW 13 und die Zentralvorrichtung 3 führen den Fortschrittszustandssynchronisierungs-Steuerprozess so aus, dass auf dem mobilen Endgerät 6 angezeigte Information und auf der In-Vehicle-Anzeige 7 angezeigte Information miteinander synchronisiert werden.
  • Wie in 66 gezeigt, die vorstehend beschrieben ist, werden beispielsweise, wenn es sich bei der Umschreibeziel-ECU 19 um die ECU 19 handelt, die mit einem Zwei-Bank-Speicher ausgestattet ist, Prozeduren in Bezug auf das Umschreiben eines Anwendungsprogramms in Übereinstimmung mit der Kampagnenbenachrichtigungsphase, in der ein Benutzer über das Umschreiben des Anwendungsprogramms informiert wird und die Genehmigung des Benutzers erhalten wird, der Download-Phase, in der Schreibdaten von der Zentralvorrichtung 3 auf das DCM 12 heruntergeladen werden, der Installationsphase, in der die Schreibdaten vom CGW 13 auf die Umschreibeziel-ECU 19 verteilt werden, und der Aktivierungsphase, in der eine Start-Bank beim nächsten Start von einer alten Bank auf eine neue Bank umschaltet, ausgeführt. D.h., der Benutzer bedient das mobile Endgerät 6 oder die In-Vehicle-Anzeige 7 und veranlasst so, dass eine Reihe von Prozeduren in Bezug auf das Umschreiben des Anwendungsprogramms voranschreitet, indem er beispielsweise eine Ausführung jeder Phase genehmigt.
  • Wie in 211 gezeigt, enthält das CGW 13 eine erste Fortschrittszustandsbestimmungseinheit 88a, eine erste Fortschrittszustandssendeeinheit 88b, eine zweite Fortschrittszustandserfassungseinheit 88c und eine erste Anzeigebefehlseinheit 88d in der Fortschrittszustandssynchronisierungs-Steuereinheit 88. Die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt einen ersten Fortschrittszustand in Bezug auf das Umschreiben eines Programms und bestimmt Fortschrittszustände, wie beispielsweise die Kampagnenbenachrichtigungsphase, die Download-Phase, die Installationsphase und die Aktivierungsphase. Die Kampagnenbenachrichtigungsphase ist eine Phase, in der eine Kampagne empfangen wird, die in den 68 und 69 gezeigten Bildschirme angezeigt werden und die Genehmigung des Benutzers erhalten wird. Die Download-Phase ist eine Phase, in der die in den 70 bis 73 gezeigten Bildschirme angezeigt werden, die Genehmigung des Benutzers erhalten wird und das Herunterladen ausgeführt wird. Die Installationsphase ist eine Phase, in der das Herunterladen abgeschlossen ist, die in den 73 bis 78 gezeigten Bildschirme angezeigt werden und die Installation ausgeführt wird. Die Aktivierungsphase ist eine Phase, in der der in 79 gezeigte Bildschirm angezeigt wird, die Genehmigung des Benutzers erhalten wird und die Aktivierung ausgeführt wird.
  • Die erste Fortschrittszustandsbestimmungseinheit 88a spezifiziert eine Bedienung des Benutzers auf der In-Vehicle-Anzeige 7 und bestimmt einen ersten Fortschrittszustand, indem sie ein Benutzerbedienungssignal von der In-Vehicle-Anzeige 7 an das CGW 13 sendet, wenn der Benutzer das Fahrzeug fährt und der Benutzer „Ausführung von Programmaktualisierung genehmigen“ auf der In-Vehicle-Anzeige 7 auswählt und eine Bedienung zum Voranschreiten zur nächsten Phase ausführt. In diesem Fall entspricht das Wählen von „Ausführung von Programmaktualisierung genehmigen“ der Bedienung von einer der Schaltflächen „Download-Initiierung“ 503a gemäß 70, „Sofortige Aktualisierung“ 506a gemäß 75, „Aktualisierungsreservierung“ 506b und „OK“ 508b gemäß 79. Wenn der erste Fortschrittszustand bestimmt wird, verwaltet die erste Fortschrittszustandsbestimmungseinheit 88a den bestimmten ersten Fortschrittszustand als den aktuellen Fortschrittszustand.
  • Wenn der erste Fortschrittszustand durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wird, sendet die erste Fortschrittszustandssendeeinheit 88b den bestimmten ersten Fortschrittszustand an die Zentralvorrichtung 3 und sendet den bestimmten ersten Fortschrittszustand ebenso an jede In-Vehicle-Anzeigevorrichtung, wie z.B. die In-Vehicle-Anzeige 7. Die zweite Fortschrittszustandserfassungseinheit 88c erfasst einen zweiten Fortschrittszustand in Bezug auf das Umschreiben des Programms von der Zentralvorrichtung 3. Wenn der erste Fortschrittszustand durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wird und der zweite Fortschrittszustand von der zweiten Fortschrittszustandserfassungseinheit erfasst wird, erteilt die erste Anzeigebefehlseinheit 88d einen Befehl zum Erstellen von Inhalten, die auf der In-Vehicle-Anzeige 7 anzeigbar sind, auf der Grundlage des bestimmten ersten Fortschrittszustands und des erfassten zweiten Fortschrittszustands.
  • Hier verwaltet die erste Fortschrittszustandsbestimmungseinheit 88a in einem Fall, in dem die zweite Fortschrittszustandserfassungseinheit 88c den zweiten Fortschrittszustand von der Zentralvorrichtung 3 erfasst, den zweiten Fortschrittszustand als den aktuellen Fortschrittszustand, wenn der zweite Fortschrittszustand eine Phase früher als der aktuelle Fortschrittszustand ist. D.h., der erste Fortschrittszustand wird auf einen Wert des zweiten Fortschrittszustands aktualisiert. Die erste Fortschrittszustandssendeeinheit 88b sendet den ersten Fortschrittszustand, der der aktuelle Fortschrittszustand ist, an die Zentralvorrichtung 3. Zum Beispiel in einem Fall, in dem der erste Fortschrittszustand eine „Download-Wartephase“ ist und eine Benutzergenehmigungsbedienung auf dem mobilen Endgerät 6 ausgeführt wird, erfasst die zweite Fortschrittszustandserfassungseinheit 88c eine „Laufender-Download-Phase“ als den zweiten Fortschrittszustand von der Zentralvorrichtung 3. Da die von der Zentralvorrichtung 3 erfasste „Laufender-Download-Phase“ eine Phase vor dem aktuellen Fortschrittszustand ist, aktualisiert die erste Fortschrittszustandsbestimmungseinheit 88a den ersten Fortschrittszustand, der der aktuelle Fortschrittszustand ist, auf einen Wert des zweiten Fortschrittszustands, sendet den aktualisierten ersten Fortschrittszustand an die Zentralvorrichtung 3 und sendet den aktualisierten ersten Fortschrittszustand ebenso an verschiedene In-Vehicle-Anzeigevorrichtungen, wie beispielsweise die In-Vehicle-Anzeige 7. Zusätzlich zu der „Laufender-Download-Phase“ als der erste Fortschrittszustand kann ein „Download-Abschluss X%“ gesendet werden, der den Grad des Fortschritts des Herunterladens anzeigt.
  • In einem Fall, in dem ein Benutzerbedienungssignal in der In-Vehicle-Anzeige 7 erzeugt wird, erteilt die erste Anzeigebefehlseinheit 88d einen Befehl zum Erstellen von Inhalten auf der Grundlage des durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmten ersten Fortschrittszustands. In einem Fall, in dem ein Benutzerbedienungssignal im mobilen Endgerät 6 erzeugt wird, erteilt die erste Anzeigebefehlseinheit 88d einen Befehl zum Erstellen von Inhalten auf der Grundlage des von der zweiten Fortschrittszustandserfassungseinheit 88c erfassten zweiten Fortschrittszustands. In einer Konfiguration, in der der von der ersten Fortschrittszustandsbestimmungseinheit 88a bestimmte erste Fortschrittszustand zu allen Zeiten als aktueller Fortschrittszustand verwaltet wird, d.h. die Master-Vorrichtung 11 den aktuellen Fortschrittszustand verwaltet, kann die erste Anzeigebefehlseinheit 88d einen Befehl zum Erstellen von Inhalten auf der Grundlage des ersten Fortschrittszustands erteilen.
  • Wie in 212 gezeigt, enthält die Zentralvorrichtung 3 eine zweite Fortschrittszustandsbestimmungseinheit 53a, eine zweite Fortschrittszustandssendeeinheit 53b, eine erste Fortschrittszustandserfassungseinheit 53c und eine zweite Anzeigebefehlseinheit 53d in der Fortschrittszustandssynchronisierungs-Steuereinheit 53 des Fortschrittszustands. Die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt den zweiten Fortschrittszustand in Bezug auf das Umschreiben eines Programms und bestimmt die Fortschrittszustände, wie beispielsweise die Kampagnenbenachrichtigungsphase, die Download-Phase, die Installationsphase und die Aktivierungsphase. Wenn der Benutzer aussteigt (parkt), „Ausführung von Programmaktualisierung genehmigen“ auf dem mobilen Endgerät 6 auswählt und eine Bedienung ausführt oder zur nächsten Phase fortschreitet, empfängt die zweite Fortschrittszustandsbestimmungseinheit 53a ein Benutzerbedienungssignal, das von dem mobilen Endgerät 6 in einer Umgebung gesendet wird, in der das mobile Endgerät 6 und die Zentralvorrichtung 3 Daten austauschen können.
  • Die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt den zweiten Fortschrittszustand auf der Grundlage des aktuellen Fortschrittszustands, der der erste Fortschrittszustand ist, der zuvor von der Master-Vorrichtung 11 durch die erste Fortschrittszustandserfassungseinheit 53c empfangen wurde, und des Benutzerbedienungssignals. Beispielsweise bestimmt die zweite Fortschrittszustandsbestimmungseinheit 53a, wenn der aktuelle Fortschrittszustand eine „Installationswartephase“ ist und das Benutzerbedienungssignal, das „Genehmigung“ anzeigt, empfangen wird, dass der zweite Fortschrittszustand eine „Laufende-Installations-Phase“ ist. Die zweite Fortschrittszustandsbestimmungseinheit 53a kann „mit Genehmigung des Benutzers in der Installationswartephase“ bestimmen. Das Benutzerbedienungssignal im mobilen Endgerät 6 wird von der Zentralvorrichtung 3 an das DCM 12 in einer Umgebung gesendet, in der das DCM 12 und die Zentralvorrichtung 3 Daten austauschen können. Die Benutzerbedienungssignale werden vom DCM 12 an das CGW 13 übertragen, und somit kann das CGW 13 die vom Benutzer auf dem mobilen Endgerät 6 ausgeführte Bedienung bestimmen, um den Fortschrittszustand zu bestimmen.
  • Wenn der zweite Fortschrittszustand durch die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt wird, sendet die zweite Fortschrittszustandssendeeinheit 53b den bestimmten zweiten Fortschrittszustand an die Master-Vorrichtung 11. Die erste Fortschrittszustandserfassungseinheit 53c erfasst den ersten Fortschrittszustand in Bezug auf das Umschreiben des Programms von der Master-Vorrichtung 11 und verwaltet den ersten Fortschrittszustand als den aktuellen Fortschrittszustand. Als der aktuelle Fortschrittszustand kann der zweite Fortschrittszustand auf einen Wert des ersten Fortschrittszustands aktualisiert werden. Wenn der zweite Fortschrittszustand durch die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt wird und der erste Fortschrittszustand durch die erste Fortschrittszustandserfassungseinheit 53d erfasst wird, erteilt die zweite Anzeigebefehlseinheit 53d einen Befehl zum Erstellen von auf dem mobilen Endgerät 6 anzeigbaren Inhalten auf der Grundlage des bestimmten zweiten Fortschrittszustands und des erfassten ersten Fortschrittszustands.
  • Beispielsweise zeigen in einem Fall, in dem es nur ein Benutzerbedienungssignal im mobilen Endgerät 6 gibt, der zweite Fortschrittszustand, der durch die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt wird, und der erste Fortschrittszustand, der durch die erste Fortschrittszustandserfassungseinheit 53d erfasst wird, denselben Fortschrittszustand an. Daher kann die zweite Anzeigebefehlseinheit 53d einen Befehl zum Erstellen der Inhalte auf der Grundlage des zweiten Fortschrittszustands erteilen. Anschließend, wenn das Benutzerbedienungssignal in der In-Vehicle-Anzeige 7 erzeugt wird, erteilt die zweite Anzeigebefehlseinheit 53d einen Befehl zum Erstellen der Inhalte auf der Grundlage des erfassten ersten Fortschrittszustands.
  • Wenn z.B. eine SMS als ein Fortschrittszustandssignal von der Zentralvorrichtung 3 empfangen wird, wird das mobile Endgerät 6 mit der Zentralvorrichtung 3 verbunden, wenn der Benutzer eine in der SMS beschriebene URL auswählt, und zeigt einen von der Zentralvorrichtung 3 bereitgestellten Bildschirm einer vorbestimmten Phase an.
  • Nachstehend sind Operationen bzw. Betriebsabläufe, die von der Fortschrittszustandssynchronisierungs-Steuereinheit 88 im CGW 13 und der Fortschrittszustandssynchronisierungs-Steuereinheit 88 in der Zentralvorrichtung 3 ausgeführt werden, unter Bezugnahme auf die 213 bis 216 beschrieben.
  • Wie in 213 gezeigt, senden und empfangen die Master-Vorrichtung 11 und die Zentralvorrichtung 3 ein erstes Fortschrittszustandssignal und ein zweites Fortschrittszustandssignal, um eine Synchronisation bei der Anzeige eines Fortschrittszustands einer Phase im mobilen Endgerät 6 und in der In-Vehicle-Anzeige 7 zu bewirken. D.h., wenn der erste Fortschrittszustand, der der aktuelle Fortschrittszustand ist, aktualisiert wird, sendet die Master-Vorrichtung 11 das erste Fortschrittszustandssignal an die Zentralvorrichtung 3 und sendet das erste Fortschrittszustandssignal ebenso an verschiedene In-Vehicle-Anzeigevorrichtungen, wie z.B. die In-Vehicle-Anzeige 7. Die Zentralvorrichtung 3 sendet das erste Fortschrittszustandssignal als aktuellen Fortschrittszustand an das mobile Endgerät 6. Fahrzeug ist, wenn das mobile Endgerät 6 auf die Zentralvorrichtung 3 zugreifen kann, die Anzeige eines Fortschrittszustands einer Phase im mobilen Endgerät 6 und in der In-Vehicle-Anzeige 7 synchronisiert. Die Zentralvorrichtung 3 sendet das zweite Fortschrittszustandssignal basierend auf einer Benutzergenehmigungsbedienung am mobilen Endgerät 6 an die Master-Vorrichtung 11 und bewirkt damit eine Synchronisation in der Anzeige des Fortschrittszustandes der Phase im mobilen Endgerät 6 und in der In-Vehicle-Anzeige 7, wenn das mobile Endgerät 6 auf die Zentralvorrichtung 3 zugreifen kann.
  • Die Master-Vorrichtung 11, die das zweite Fortschrittszustandssignal erfasst hat, kann den ersten Fortschrittszustand, der der aktuelle Fortschrittszustand ist, aktualisieren und kann anschließend den ersten Fortschrittszustand an die Zentralvorrichtung 3 und jede In-Vehicle-Anzeigevorrichtung, wie z.B. die In-Vehicle-Anzeige 7, senden. D.h., die Master-Vorrichtung 11 sendet den aktuellen Fortschrittszustand an die Zentralvorrichtung 3 und an jede In-Vehicle-Anzeigevorrichtung, wie z.B. die In-Vehicle-Anzeige 7, und fungiert somit als Phasenverwaltungsvorrichtung. Hier kann das zweite Fortschrittszustandssignal, das vom mobilen Endgerät 6, der In-Vehicle-Anzeige 7 und der Zentralvorrichtung 3 gesendet wird, eine Benachrichtigung sein, die eine beliebige Phase anzeigt, oder eine Benachrichtigung sein, die anzeigt, dass eine Benutzergenehmigungsbedienung ausgeführt wurde, oder eine Benachrichtigung sein, die die Bedeutung einer betätigten Schaltfläche anzeigt.
  • Wenn der Fortschrittszustandssynchronisierungs-Steuerprozess initiiert wird, sendet das CGW 13 Verteilungsspezifikationsdaten an die In-Vehicle-Anzeige 7 (S2101). Die Verteilungsspezifikationsdaten umfassen Text oder Inhalte, die dem Benutzer durch die In-Vehicle-Anzeige 7 anzuzeigen sind. Das CGW 13 bestimmt, ob oder nicht der Benutzer eine Bedienung an der In-Vehicle-Anzeige 7 oder dem mobilen Endgerät 6 ausgeführt hat, auf der Grundlage einer Benachrichtigung von der In-Vehicle-Anzeige 7 oder der Zentralvorrichtung 3 (S2102). Wenn bestimmt wird, dass der Benutzer die Bedienung an der In-Vehicle-Anzeige 7 oder dem mobilen Endgerät 6 ausgeführt hat (S2102: JA), bestimmt das CGW 13 eine Phase entsprechend der Bedienung auf der Grundlage des ersten Fortschrittszustands (S2103 bis S2106; entsprechend einer ersten Fortschrittszustandsbestimmungsprozedur).
  • Wenn die Kampagnenbenachrichtigungsphase bestimmt wird (S2103: JA), führt das CGW 13 einen Prozess in der Kampagnenbenachrichtigungsphase aus (S2107) und sendet ein erstes Fortschrittszustandssignal, das einen Fortschrittszustand des Prozesses in der Kampagnenbenachrichtigungsphase anzeigt, an die In-Vehicle-Anzeige 7 und die Zentralvorrichtung 3 (S2111). Der Prozess in der Kampagnenbenachrichtigungsphase ist z.B. ein Prozess zum Erfassen der Benutzereingabebedienung an der In-Vehicle-Anzeige 7 oder dem mobilen Endgerät 6.
  • Das CGW 13 erfasst von der In-Vehicle-Anzeige 7 oder dem mobilen Endgerät 6 über die Zentralvorrichtung 3 z.B. Bedingungen wie ein Datum und einen Ort, an dem ein Programm ausgeführt werden darf, zusätzlich zu einer Genehmigung oder Ablehnung für die Aktualisierung des Programms. Wenn Information, die anzeigt, dass die Benutzereingabebedienung für eine Genehmigung an dem mobilen Endgerät 6 vorliegt, von der Zentralvorrichtung 3 über das DCM 12 erfasst wird, benachrichtigt das CGW 13 die In-Vehicle-Anzeige 7 über den Fortschritt wie den Abschluss der Genehmigung. Demgegenüber benachrichtigt das CGW 13, wenn Information, die anzeigt, dass die Benutzereingabebedienung für eine Genehmigung an der In-Vehicle-Anzeige 7 vorliegt, von der In-Vehicle-Anzeige 7 erfasst wird, die Zentralvorrichtung 3 über den Fortschritt wie den Abschluss der Genehmigung.
  • Wenn die Download-Phase bestimmt wird (S2104: JA), führt das CGW 13 einen Prozess in der Download-Phase aus (S2108) und sendet ein erstes Fortschrittszustandssignal, das einen Fortschrittszustand des Prozesses in der Download-Phase anzeigt, an die In-Vehicle-Anzeige 7 und die Zentralvorrichtung (S2111). Der Prozess in der Download-Phase ist z.B. ein Prozess zum Berechnen eines Prozentsatzes des abgeschlossenen Downloads eines Verteilungspakets.
  • Das CGW 13 bestimmt den Prozentsatz des abgeschlossenen Downloads auf der Grundlage einer Benachrichtigung von der Zentralvorrichtung 3. Das CGW 13 benachrichtigt die In-Vehicle-Anzeige 7 und die Zentralvorrichtung 3 über den Fortschritt, der den Prozentsatz des abgeschlossenen Downloads anzeigt. Das CGW 13 führt den Prozess wiederholt aus, bis das Herunterladen (Download) des Verteilungspakets abgeschlossen ist. Wenn das Herunterladen abgeschlossen ist, benachrichtigt das CGW 13 die In-Vehicle-Anzeige 7 und die Zentralvorrichtung 3 über den Fortschritt, der den Abschluss der Download-Phase anzeigt.
  • Wenn die Installationsphase bestimmt wird (S2104: JA), führt das CGW 13 einen Prozess in der Installationsphase aus (S2108) und sendet ein Fortschrittszustandssignal, das einen Fortschrittszustand des Prozesses in der Installationsphase anzeigt, an die In-Vehicle-Anzeige 7 und das DCM 12 (S2111). Der Prozess in der Installationsphase ist z.B. ein Prozess zum Berechnen eines Prozentsatzes der abgeschlossenen Installation in der Umschreibeziel-ECU 19.
  • Das CGW 13 bestimmt den Prozentsatz der abgeschlossenen Installation auf der Grundlage einer Benachrichtigung von der Umschreibeziel-ECU 19. Das CGW 13 benachrichtigt die In-Vehicle-Anzeige 7 und die Zentralvorrichtung 3 über den Fortschritt, der den Prozentsatz der abgeschlossenen Installation anzeigt. Das CGW 13 führt den Prozess wiederholt aus, bis die Installation in allen der Umschreibeziel-ECUs 19 abgeschlossen ist. Wenn die Installation in allen Umschreibeziel-ECUs 19 abgeschlossen ist, meldet das CGW 13 der In-Vehicle-Anzeige 7 und der Zentralvorrichtung 3 den Fortschritt, der den Abschluss der Installationsphase anzeigt.
  • Wenn die Aktivierungsphase bestimmt wird (S2104: JA), führt das CGW 13 einen Prozess in der Aktivierungsphase aus (S2108) und sendet ein Fortschrittszustandssignal, das einen Fortschrittszustand des Prozesses in der Aktivierungsphase anzeigt, an die In-Vehicle-Anzeige 7 und das DCM 12 (S2111; entsprechend einer ersten Fortschrittszustandssendeprozedur). Der Prozess in der Aktivierungsphase ist z.B. ein Prozess zum Berechnen eines Prozentsatzes der abgeschlossenen Aktivierung in einer oder mehreren Umschreibeziel-ECUs 19, die zur gleichen Gruppe gehören. Das CGW 13 bestimmt den Prozentsatz der abgeschlossenen Aktivierung auf der Grundlage einer Benachrichtigung von der Umschreibeziel-ECU 19. Das CGW 13 benachrichtigt die In-Vehicle-Anzeige 7 und die Zentralvorrichtung über den Fortschritt, der den Prozentsatz der abgeschlossenen Aktivierung anzeigt.
  • Es wird bestimmt, ob oder nicht die Aktivierungsphase abgeschlossen wurde (S2112), und wenn bestimmt wird, dass die Aktivierungsphase abgeschlossen ist (S2112: JA), beendet das CGW 13 den Fortschrittszustandssynchronisierungs-Steuerprozess. Wenn bestimmt wird, dass die Aktivierungsphase nicht abgeschlossen ist (S2112: NEIN), kehrt das CGW 13 zu S2102 zurück. Das CGW 13 lässt den Prozess in jeder Phase fortschreiten und berechnet einen Prozentsatz eines abgeschlossenen Prozesses (S2107 bis S2110). Das CGW 13 sendet periodisch die Phase und Information über X% einer abgeschlossenen Phase als den ersten Fortschrittszustand an die Zentralvorrichtung 3 (S2111).
  • Wenn die Verteilungsspezifikationsdaten gesendet werden und der Fortschrittszustandssynchronisierungs-Steuerprozess initiiert wird, überwacht die Zentralvorrichtung 3 den Empfang des ersten Fortschrittszustandssignals, das vom DCM 12 gesendet wird (S2121). Wenn bestimmt wird, dass das erste Fortschrittszustandssignal vom DCM 12 empfangen wurde (S2121: JA), erlaubt die Zentralvorrichtung 3 den Zugriff vom mobilen Endgerät 6 (S2122) und bestimmt eine durch das erste Fortschrittszustandssignal spezifizierte Phase (S2123 bis S2126).
  • Wenn die Kampagnenbenachrichtigungsphase bestimmt wird (S2123: JA), führt die Zentralvorrichtung 3 den Prozess in der Kampagnenbenachrichtigungsphase aus (S2127). D.h., die Zentralvorrichtung 3 erstellt einen Kampagnenbenachrichtigungsphasenbildschirm, sendet ein Anzeigebefehlssignal zum Erteilen eines Befehls zum Anzeigen des Kampagnenbenachrichtigungsphasenbildschirms an das mobile Endgerät 6 und veranlasst das mobile Endgerät 6, den Kampagnenbenachrichtigungsphasenbildschirm durch Verbindung mit der Zentralvorrichtung 3 anzuzeigen.
  • Wenn die Download-Phase bestimmt wird (S2124: JA), führt die Zentralvorrichtung 3 einen Prozess in der Download-Phase aus (S2128). D.h., die Zentralvorrichtung 3 erstellt einen Downloadphasenbildschirm, sendet ein Anzeigebefehlssignal zum Erteilen eines Befehls zum Anzeigen des Downloadphasenbildschirms an das mobile Endgerät 6 und veranlasst das mobile Endgerät 6, den Downloadphasenbildschirm durch Verbindung mit der Zentralvorrichtung 3 anzuzeigen. Wenn die Zentralvorrichtung 3 über den Fortschritt, der den Prozentsatz des abgeschlossenen Downloads anzeigt, vom DCM 12 informiert wird, aktualisiert die Zentralvorrichtung 3 den Downloadphasenbildschirm.
  • Wenn die Installationsphase bestimmt wird (S2125: JA), führt die Zentralvorrichtung 3 einen Prozess in der Installationsphase aus (S2129). D.h., die Zentralvorrichtung 3 erstellt einen Installationsphasenbildschirm, sendet ein Anzeigebefehlssignal zum Erteilen eines Befehls zum Anzeigen des Installationsphasenbildschirms an das mobile Endgerät 6 und veranlasst das mobile Endgerät 6, den Installationsphasenbildschirm durch Verbindung mit der Zentralvorrichtung 3 anzuzeigen. Wenn die Zentralvorrichtung 3 über den Fortschritt, der den Prozentsatz der abgeschlossenen Installation anzeigt, vom DCM 12 informiert wird, aktualisiert die Zentralvorrichtung 3 den Installationsphasenbildschirm.
  • Wenn die Aktivierungsphase bestimmt wird (S2126: JA), führt die Zentralvorrichtung 3 einen Prozess in der Aktivierungsphase aus (S2130). D.h., die Zentralvorrichtung 3 erstellt einen Aktivierungsphasenbildschirm, sendet ein Anzeigebefehlssignal zum Erteilen eines Befehls zum Anzeigen des Aktivierungsphasenbildschirms an das mobile Endgerät 6 und veranlasst das mobile Endgerät 6, den Aktivierungsphasenbildschirm durch Verbindung mit der Zentralvorrichtung 3 anzuzeigen. Wenn die Zentralvorrichtung 3 über den Fortschritt, der den Prozentsatz der abgeschlossenen Aktivierung anzeigt, vom DCM 12 informiert wird, aktualisiert die Zentralvorrichtung 3 den Aktivierungsphasenbildschirm. Wenn eine Bedienung wie die Genehmigung des Benutzers auf den in S2127 bis S2130 angezeigten Bildschirmen ausgeführt wird, sendet die Zentralvorrichtung 3 ein zweites Fortschrittszustandssignal an die Master-Vorrichtung 11 (S2131) und beendet den Fortschrittszustandssynchronisierungs-Steuerprozess.
  • Wenn die Verteilungsspezifikationsdaten vom CGW 13 empfangen werden, initiiert die In-Vehicle-Anzeige 7 den Fortschrittsanzeigeprozess und überwacht den Empfang des vom CGW 13 gesendeten Fortschrittszustandssignals (S2141). Wenn bestimmt wird, dass das Fortschrittszustandssignal vom CGW 13 empfangen wurde (S2141: JA), genehmigt die In-Vehicle-Anzeige 7 die Benutzerbedienung an der In-Vehicle-Anzeige 7 (S2142), und bestimmt eine durch das Fortschrittszustandssignal spezifizierte Phase (S2143 bis S2146).
  • Wenn die Kampagnenbenachrichtigungsphase bestimmt wird (S2143: JA), zeigt die In-Vehicle-Anzeige 7 einen Kampagnenbenachrichtigungsphasenbildschirm unter Verwendung von Text, Inhalten und dergleichen an, die in den Verteilungsspezifikationsdaten enthalten sind (S2147). Wenn die Download-Phase bestimmt wird (S2144: JA), zeigt die In-Vehicle-Anzeige 7 einen Downloadphasenbildschirm an (S2148). Die In-Vehicle-Anzeige 7 aktualisiert den Downloadphasenbildschirm, wenn sie über den Fortschritt informiert wird, der den Prozentsatz des Abschlusses bzw. der Fertigstellung des Herunterladens vom CGW 13 anzeigt.
  • Wenn bestimmt wird, dass sich die In-Vehicle-Anzeige 7 in der Installationsphase befindet (S2145: JA), wird der Installationsphasenbildschirm angezeigt (S2149). Wenn die In-Vehicle-Anzeige 7 über den Fortschritt, der den Prozentsatz der abgeschlossenen Installation anzeigt, vom CGW 13 informiert wird, aktualisiert die In-Vehicle-Anzeige 7 den Installationsphasenbildschirm. Wenn die Aktivierungsphase bestimmt wird (S2146: JA), zeigt die In-Vehicle-Anzeige 7 einen Aktivierungsphasenbildschirm an (S2150). Wenn die In-Vehicle-Anzeige 7 über den Fortschritt, der den Prozentsatz der abgeschlossenen Aktivierung anzeigt, vom CGW 13 informiert wird, aktualisiert die In-Vehicle-Anzeige 7 den Aktivierungsphasenbildschirm.
  • Wie oben beschrieben, werden der erste Fortschrittszustand und der zweite Fortschrittszustand zwischen dem Master-Vorrichtung 11 und der Zentralvorrichtung 3 gesendet und empfangen. Beispielsweise werden auch in einer Konfiguration, in der das mobile Endgerät 6 für die Zentralvorrichtung 3 zugänglich ist und die In-Vehicle-Anzeige 7 für die Zentralvorrichtung 3 unzugänglich ist, der erste Fortschrittszustand und der zweite Fortschrittszustand zwischen der Master-Vorrichtung 11 und der Zentralvorrichtung 3 gesendet und empfangen, und somit können Fortschrittszustände oder dergleichen des Umschreibens eines Anwendungsprogramms zwischen mehreren Anzeige-Endgeräten angemessen synchronisiert werden.
  • Anzeigesteuerinformations-Sendesteuerprozess und (23) Anzeigesteuerinformations-Empfangssteuerprozess
  • Nachstehend sind der Anzeigesteuerinformations-Sendesteuerprozess in der Zentralvorrichtung 3 unter Bezugnahme auf die 181 und 182 sowie der Anzeigesteuerinformations-Empfangssteuerprozess in der Master-Vorrichtung 11 unter Bezugnahme auf die 183 bis 185 beschrieben.
  • Wie in 217 gezeigt, enthält die Zentralvorrichtung 3 eine Schreibdatenspeichereinheit 54a (entsprechend einer Aktualisierungsdatenspeichereinheit), eine Anzeigesteuerinformations-Speichereinheit 54b und eine Informationssendeeinheit 54c in der Anzeigesteuerinformations-Sendesteuereinheit 54. Die Schreibdatenspeichereinheit 54a speichert Schreibdaten für mehrere Umschreibeziel-ECUs 19 mit Umschreiben von Anwendungsprogrammen in den mehreren Umschreibeziel-ECUs 19 als eine einzige Kampagne. Die Anzeigesteuerinformations-Speichereinheit 54b speichert Verteilungsspezifikationsdaten einschließlich Anzeigesteuerinformation. Die Anzeigesteuerinformation ist Information, die zum Anzeigen von Information in Bezug auf das Umschreiben eines Anwendungsprogramms in der Umschreibeziel-ECU 19 erforderlich ist, die auf der In-Vehicle-Anzeige 7 anzuzeigen ist, und ist ein Anzeigesteuerprogramm oder Eigenschaftsinformation.
  • Bei der Anzeigeinformation handelt es sich um Daten, die verschiedene Bildschirme bilden (einen Kampagnenbenachrichtigungsbildschirm, einen Installationsbildschirm und dergleichen), die mit dem Umschreiben des Anwendungsprogramms zusammenhängen. Das Anzeigesteuerprogramm ist ein Programm zum Realisieren einer Funktion, die der eines Webbrowsers entspricht. Die Eigenschaftsinformation ist Information, die Anzeigezeichen, Anzeigepositionen, Farben und dergleichen definiert. Die Informationssendeeinheit 54c sendet die in der Schreibdatenspeichereinheit 54a gespeicherten Schreibdaten und die in der Anzeigesteuerinformations-Speichereinheit 54b gespeicherte Anzeigesteuerinformation an die Master-Vorrichtung 11. Die Informationssendeeinheit 54c sendet die Schreibdaten für die mehreren Umschreibeziel-ECUs 19 als ein einziges Paket an die Master-Vorrichtung 11. Hier kann die Anzeigesteuerinformation Phasenkenninformation enthalten, die eine Phase angibt, in der Information angezeigt wird. Die Phasenkenninformation gibt z.B. eine Phase, in der Information angezeigt wird, aus der Kampagnenbenachrichtigungsphase, der Download-Phase, der Installationsphase und der Aktivierungsphase an.
  • Nachstehend ist ein von der Anzeigesteuerinformations-Sendesteuereinheit 54 in der Zentralvorrichtung 3 ausgeführter Betrieb unter Bezugnahme auf 218 beschrieben. Die Zentralvorrichtung 3 führt ein Anzeigesteuerinformations-Sendesteuerprogramm aus und führt damit den Anzeigesteuerinformations-Sendesteuerprozess aus.
  • Wenn der Anzeigesteuerinformations-Sendesteuerprozess initiiert wird, sendet die Zentralvorrichtung 3 die Verteilungsspezifikationsdaten über das DCM 12 an das CGW 13 (S2201; entsprechend einer Steuerinformationssendeprozedur), und sendet die Schreibdaten über das DCM 12 an das CGW 13 (S2202). Die Zentralvorrichtung 3 sendet die Anzeigeinformation über das DCM 12 an das CGW 13 (S2203; entsprechend einer Anzeigeinformationssendeprozedur) und beendet den Anzeigesteuerinformations-Sendesteuerprozess. In einem Fall, in dem die Anzeigesteuerinformation entsprechend jeder der Kampagnenbenachrichtigungsphase, der Download-Phase, der Installationsphase und der Aktivierungsphase gesendet wird, kann die Zentralvorrichtung 3 die Anzeigesteuerinformation entsprechend jeder Phase in einer einzigen Datei an die In-Vehicle-Anzeige 7 senden, oder die Anzeigesteuerinformation entsprechend der nächsten Phase jedes Mal, wenn die Phase beendet ist, an die In-Vehicle-Anzeige 7 senden. Hier kann das Timing, zu dem die Zentralvorrichtung 3 die Verteilungsspezifikationsdaten sendet, so konfiguriert sein, dass das Senden im Ansprechen auf eine Anfrage von der Master-Vorrichtung 11 erfolgt.
  • Wie in 219 gezeigt, enthält das CGW 13 eine Informationsempfangseinheit 89a, eine Umschreibebefehlseinheit 89b und eine Anzeigebefehlseinheit 89c in der Anzeigesteuerinformations-Empfangssteuereinheit 89. Die Informationsempfangseinheit 89a empfängt die Schreibdaten und die Anzeigesteuerinformation von der Zentralvorrichtung 3. Wenn die Schreibdaten von der Zentralvorrichtung 3 durch die Informationsempfangseinheit 89a empfangen werden, weist die Umschreibebefehlseinheit 89b die Umschreibeziel-ECU 19 an, die empfangenen Schreibdaten zu schreiben. Die Anzeigebefehlseinheit 89c weist die In-Vehicle-Anzeige 7 an, Information über eine Kampagne unter Verwendung der Anzeigesteuerinformation anzuzeigen, bevor die Umschreibebefehlseinheit 89b die Umschreibeziel-ECU 19 anweist, die Schreibdaten zu schreiben. Die Anzeigebefehlseinheit 89c kann einen Befehl zum Anzeigen der Information über der Kampagne als Verlaufsinformation erteilen, nachdem die gesamten Schreibdaten geschrieben wurden.
  • Nachstehend ist ein von der Anzeigesteuerinformations-Empfangssteuereinheit 89 im CGW 13 ausgeführter Betrieb unter Bezugnahme auf 220 beschrieben. Das CGW 13 führt ein Anzeigesteuerinformations-Empfangssteuerprogramm aus und führt somit den Anzeigesteuerinformations-Empfangssteuerprozess aus. Folglich können in einem Fall, in dem das mobile Endgerät 6 und die In-Vehicle-Anzeige 7 als Anzeige-Endgeräte vorgesehen sind, diese Anzeigeaspekte einander angenähert werden, und somit kann der Benutzerkomfort verbessert werden.
  • Wenn der Anzeigesteuerinformations-Empfangssteuerprozess initiiert wird, empfängt das CGW 13 die Verteilungsspezifikationsdaten von der Zentralvorrichtung 3 über das DCM 12 (S2301; entsprechend einer Steuerinformationsempfangsprozedur). Die Schreibdaten werden von der Zentralvorrichtung 3 über das DCM 12 empfangen (S2302). Das CGW 13 empfängt die Anzeigeinformation von der Zentralvorrichtung 3 über das DCM 12 (S2303; entsprechend einer Anzeigeinformationsempfangsprozedur). Das CGW 13 bestimmt, ob oder nicht die in den Verteilungsspezifikationsdaten enthaltene Anzeigesteuerinformation von der Zentralvorrichtung 3 zu verwenden ist (S2304). Wenn bestimmt wird, dass die Anzeigesteuerinformation zu verwenden ist (S2304: JA), weist das CGW 13 die In-Vehicle-Anzeige 7 an, die Anzeigeinformation unter Verwendung der Anzeigesteuerinformation anzuzeigen (S2305). D.h., das CGW 13 weist die In-Vehicle-Anzeige 7 an, Bildschirme in Bezug auf das Umschreiben eines Anwendungsprogramms unter Verwendung der Anzeigesteuerinformation anzuzeigen. Die In-Vehicle-Anzeige 7 zeigt die Anzeigeinformation unter Verwendung der Anzeigesteuerinformation im Ansprechen auf den Befehl vom CGW 13 an.
  • Wenn bestimmt wird, dass die Anzeigesteuerinformation nicht zu verwenden ist (S2304: NEIN), weist das CGW 13 die In-Vehicle-Anzeige 7 an, die Anzeigeinformation unter Verwendung von im Voraus gespeicherten Inhalten anzuzeigen (S2306). D.h., das CGW 13 weist die In-Vehicle-Anzeige 7 an, Bildschirme in Bezug auf das Umschreiben des Anwendungsprogramms unter Verwendung der im Voraus gespeicherten Inhalte anzuzeigen. Die In-Vehicle-Anzeige 7 zeigt die Anzeigeinformation unter Verwendung der im Voraus gespeicherten Inhalte im Ansprechen auf den Befehl vom CGW 13 an. In einem Fall, in dem die Anzeigeinformation entsprechend jeder der Kampagnenbenachrichtigungsphase, der Download-Phase, der Installationsphase und der Aktivierungsphase angezeigt wird, kann die In-Vehicle-Anzeige 7 die Anzeigesteuerinformation entsprechend jeder Phase kollektiv von der Zentralvorrichtung 3 empfangen oder die Anzeigesteuerinformation entsprechend der nächsten Phase jedes Mal, wenn die Phase beendet ist, von der Zentralvorrichtung 3 empfangen.
  • Wie in 221 gezeigt, zeigt die In-Vehicle-Anzeige 7, wenn sie nicht über die Funktion eines Webbrowsers verfügt und die von der Zentralvorrichtung 3 über das DCM 12 und das CGW 13 an die In-Vehicle-Anzeige 7 gesendeten Verteilungsspezifikationsdaten Eigenschaftsinformation, aber kein Anzeigesteuerprogramm enthalten, die Anzeigeinformation unter Verwendung von im Voraus gespeicherten Inhalten und Rahmen auf einem einfachen Bildschirm an. Die Eigenschaftsinformation umfasst Daten wie Text, ihre Anzeigeposition, ihre Größe und dergleichen und ist die gleiche Information wie die Eigenschaftsinformation, die in dem von der Zentralvorrichtung 3 erstellten Bildschirm verwendet wird. D.h., obwohl sich das auf der In-Vehicle-Anzeige 7 angezeigte Bildschirmbild von dem von der Zentralvorrichtung 3 erstellten Bildschirmbild unterscheidet, was Hintergrund, Bitmap und dergleichen betrifft, ist ein Anzeigeinhalt gleich dem der Zentralvorrichtung 3.
  • Wenn die In-Vehicle-Anzeige 7 nicht über die Funktion eines Webbrowsers verfügt und die von der Zentralvorrichtung 3 über das DCM 12 und das CGW 13 an die In-Vehicle-Anzeige 7 gesendeten Verteilungsspezifikationsdaten das Anzeigesteuerprogramm und die Eigenschaftsinformation enthalten, zeigt die In-Vehicle-Anzeige 7 die Anzeigeinformation auf einem Bildschirm an, der dem der Zentralvorrichtung 3 entspricht. Hier sind das Anzeigesteuerprogramm und die Eigenschaftsinformation, die in den Verteilungsspezifikationsdaten enthalten sind, die gleichen wie die, die in dem von der Zentralvorrichtung 3 erstellten Bildschirm verwendet werden.
  • Wenn die In-Vehicle-Anzeige 7 nicht über die Funktion eines Webbrowsers verfügt, aber das Anzeigesteuerprogramm speichert, und die Eigenschaftsinformation in den von der Zentralvorrichtung 3 an die In-Vehicle-Anzeige 7 gesendeten Verteilungsspezifikationsdaten enthalten ist, zeigt die In-Vehicle-Anzeige 7 die Anzeigeinformation auf einem Bildschirm an, der dem der Zentralvorrichtung 3 entspricht. Hier unterscheidet sich das in der In-Vehicle-Anzeige 7 gespeicherte Anzeigesteuerprogramm in der Version von dem Anzeigesteuerprogramm, das z.B. in dem von der Zentralvorrichtung 3 erstellten Bildschirm verwendet wird.
  • Wenn die In-Vehicle-Anzeige 7 die Funktion eines Webbrowsers aufweist, zeigt die In-Vehicle-Anzeige 7 die Anzeigeinformation auf demselben Bildschirm an wie der der Zentralvorrichtung 3 durch Verbindung mit der Zentralvorrichtung.
  • Wie oben beschrieben, führt die Zentralvorrichtung 3 den Anzeigesteuerinformations-Sendesteuerprozess aus, sendet also die Anzeigesteuerinformation an die In-Vehicle-Anzeige 7 und zeigt die Anzeigedaten in Übereinstimmung mit der Anzeigesteuerinformation auf der In-Vehicle-Anzeige 7 an. Folglich können in einem Fall, in dem das mobile Endgerät 6 und die In-Vehicle-Anzeige 7 als Anzeige-Endgeräte vorgesehen sind, diese Anzeigeaspekte einander angenähert werden, wodurch der Komfort für den Benutzer verbessert werden kann. Das CGW 13 führt den Anzeigesteuerinformations-Empfangssteuerprozess aus, empfängt so die Anzeigesteuerinformation von der Zentralvorrichtung 3, empfängt die Anzeigeinformation von der Zentralvorrichtung 3 und zeigt die Anzeigeinformation in Übereinstimmung mit der Anzeigesteuerinformation an.
  • Bildschirmanzeigesteuerprozess für Fortschrittsanzeige
  • Nachstehend ist der Fortschrittsanzeige-Bildschirmanzeigesteuerprozess unter Bezugnahme auf die 222 bis 246 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Fortschrittsanzeige-Bildschirmanzeigesteuerprozess im CGW 13 aus.
  • Wie in 222 gezeigt, enthält das CGW 13 eine Modusbestimmungseinheit 90a und eine Bildschirmanzeigebefehlseinheit 90b in der Fortschrittsanzeige-Bildschirmanzeigesteuereinheit 90.
  • Die Modusbestimmungseinheit 90a bestimmt, ob oder nicht ein Kundenanpassungsmodus durch eine Kundenanpassungsbedienung des Benutzers eingestellt wird. Die Modusbestimmungseinheit 90a bestimmt auf der Grundlage von in den Umschreibespezifikationsdaten enthaltener Szeneninformation, ob oder nicht ein externer Modus von außen eingestellt wird. D.h., die Modusbestimmungseinheit 90a nimmt auf die Szeneninformation Bezug, die in den in 44 gezeigten Umschreibespezifikationsdaten enthalten ist. Wie in den 44 und 223 gezeigt, werden Szeneninformation, Ablaufdatuminformation und Positionsinformation in den Umschreibespezifikationsdaten gespeichert. Die Szeneninformation zeigt eine Szene (z.B. den Typ oder eine Ansicht) der Haupt-Aktualisierung und benennt ebenso eine Bildschirmdarstellung der Haupt-Aktualisierung. Insbesondere gibt es ein Rückruf-Flag, ein Händler-Flag, ein Werks-Flag, ein Funktionsaktualisierungsbenachrichtigungs-Flag und ein Zwangsausführungs-Flag.
  • Das Rückruf-Flag ist ein Flag zum Benennen einer Bildschirmanzeige in einem Fall, in dem ein Anwendungsprogramm im Ansprechen auf einen Rückruf umgeschrieben wird. Der Rückruf zeigt eine Realisierung von Maßnahmen wie z.B. Reparatur, Austausch oder Wiederherstellung ohne Kosten aufgrund der Vorschriften oder nach Ermessen eines Herstellers oder Verkäufers in einem Fall, in dem ein Fehler in einem Produkt aufgrund eines Konstruktions- oder Herstellungsfehlers oder dergleichen festgestellt wird.
  • Das Händler-Flag ist ein Flag zum Benennen einer Bildschirmanzeige in einem Fall, in dem ein Anwendungsprogramm bei einem Händler umgeschrieben wird. Das Werks-Flag ist ein Flag zum Benennen einer Bildschirmanzeige in einem Fall, in dem das Anwendungsprogramm in einem Werk umgeschrieben wird. Das Funktionsaktualisierungsbenachrichtigungs-Flag ist ein Flag zum Benennen einer Bildschirmanzeige in einem Fall, in dem das Anwendungsprogramm im Ansprechen auf eine Funktionsaktualisierungsbenachrichtigung umgeschrieben wird. Die Funktionsaktualisierungsbenachrichtigung erfolgt, um eine spezifische Funktion zu aktualisieren. Das Funktionsaktualisierungsbenachrichtigungs-Flag ist z.B. ein Flag zum Benennen einer Bildschirmanzeige bei der Programmaktualisierung zum Hinzufügen einer neuen Funktion gegen eine Gebühr (oder kostenlos).
  • Das Zwangsausführungs-Flag ist ein Flag zum Benennen einer Bildschirmanzeige in einem Fall, in dem das Anwendungsprogramm im Ansprechen auf eine gezielte bzw. erzwungene Ausführung umgeschrieben wird. Die erzwungene Ausführung zeigt, dass das Anwendungsprogramm gezielt umgeschrieben wird, da Kampagnenbenachrichtigungen eine vorbestimmte Anzahl von Malen ausgeführt werden, das Anwendungsprogramm aber nicht umgeschrieben wird. Das Zwangsausführungs-Flag ist z.B. ein Flag zum Benennen einer Bildschirmanzeige in einem Fall, in dem ein Programm gezielt aktualisiert wird.
  • Die Flags, die die Szeneninformation anzeigen, werden alle auf 0 gesetzt (Flag ist nicht gesetzt), wenn es keinen relevanten Punkt gibt, und eine beliebige davon wird auf 1 gesetzt (Flag wird gesetzt), wenn es einen relevanten Punkt gibt. Zum Beispiel bestimmt die Modusbestimmungseinheit 90a, dass ein Rückrufmodus eingestellt wird, wenn das Händler-Flag gesetzt wird, bestimmt, dass ein Händlermodus eingestellt wird, wenn das Rückruf-Flag gesetzt wird, bestimmt, dass ein Werksmodus eingestellt wird, wenn das Werks-Flag gesetzt wird, bestimmt, dass ein Funktionsaktualisierungsmodus eingestellt wird, wenn das Funktionsaktualisierungsbenachrichtigungs-Flag gesetzt wird, und bestimmt, dass ein Zwangsausführungsmodus eingestellt wird, wenn das Zwangsausführungs-Flag gesetzt wird.
  • Die Ablaufdatuminformation ist Information, die das Ablaufdatum anzeigt und als Kriterium zum Bestimmen dient, ob oder nicht ein Umschreiben des Anwendungsprogramms auszuführen ist. Das CGW 13 führt ein Umschreiben des Anwendungsprogramms aus, wenn die aktuelle Zeit innerhalb des durch die Ablaufdatuminformation angegebenen Ablaufdatums liegt, und führt das Umschreiben des Anwendungsprogramms nicht aus, wenn die aktuelle Zeit das durch die Ablaufdatuminformation angegebene Ablaufdatum überschreitet. D.h., nach dem Herunterladen eines Verteilungspakets nimmt das CGW 13 auf die Ablaufdatuminformation Bezug, wenn sie das Programm installiert, und führt die Installation des Programms nicht aus und verwirft das Verteilungspaket, wenn die aktuelle Zeit das Ablaufdatum überschreitet.
  • Die Positionsinformation ist Information, die eine Position angibt, ist Information, die als Kriterium zum Bestimmen dient, ob oder nicht ein Umschreiben des Anwendungsprogramms auszuführen ist, und umfasst einen erlaubten Bereich und einen verbotenen Bereich. In einem Fall, in dem der erlaubte Bereich als die Positionsinformation benannt wird, führt das CGW 13 ein Umschreiben des Anwendungsprogramms aus, wenn die aktuelle Position des Fahrzeugs innerhalb des erlaubten Bereichs liegt, der durch die Positionsinformation benannt wird, und führt das Umschreiben des Anwendungsprogramms nicht aus, wenn die aktuelle Position des Fahrzeugs außerhalb des erlaubten Bereichs liegt, der durch die Positionsinformation angegeben wird. In einem Fall, in dem der verbotene Bereich als die Positionsinformation benannt wird, führt das CGW 13 ein Umschreiben des Anwendungsprogramms aus, wenn die aktuelle Position des Fahrzeugs außerhalb des durch die Positionsinformation angegebenen verbotenen Bereichs liegt, und führt das Umschreiben des Anwendungsprogramms nicht aus, wenn die aktuelle Position des Fahrzeugs innerhalb des durch die Positionsinformation angegebenen verbotenen Bereichs liegt. D.h., nach dem Herunterladen des Verteilungspakets nimmt das CGW 13 auf die Positionsinformation Bezug, wenn ein Programm installiert wird, und führt die Installation des Programms nicht aus, wenn die aktuelle Position außerhalb des zulässigen Bereichs liegt, und verzögert die Installation, bis das Fahrzeug in den zulässigen Bereich eintritt.
  • Die Bildschirmanzeigebefehlseinheit 90b weist das Anzeige-Endgerät 5 an, einen Bildschirm entsprechend dem Umschreiben des Anwendungsprogramms anzuzeigen. Die Bildschirmanzeigebefehlseinheit 90b weist das Anzeige-Endgerät 5 an, den Bildschirm anzuzeigen, indem sie einen Befehl dafür erteilt, ob oder nicht der Bildschirm entsprechend einer Umschreibephase des Anwendungsprogramms angezeigt wird, einen Befehl dafür erteilt, ob oder nicht Elemente des Bildschirms angezeigt werden, und einen Befehl zum Ändern der Anzeigeinhalte der Elemente des Bildschirms erteilt.
  • Nachstehend ist die Kundenanpassungsbedienung des Benutzers beschrieben. Hier ist ein auf der In-Vehicle-Anzeige 7 angezeigter Bildschirm beschrieben, aber das Gleiche gilt für einen auf dem mobilen Endgerät 6 angezeigten Bildschirm. Bei einem nachstehend noch beschriebenen Bildschirm kann ein Layout der Anzahl, Anordnung und dergleichen der Schaltflächen anders sein als bei dem beispielhaften Layout. Wenn der Benutzer eine Bedienung zum Anzeigen eines Menübildschirms auf der In-Vehicle-Anzeige 7 ausführt, zeigt das CGW 13 einen Menüauswahlbildschirm 511 auf der In-Vehicle-Anzeige 7 an, wie in 224 gezeigt. In dem Menüauswahlbildschirm 511 zeigt das CGW 13 eine Schaltfläche „Software-Aktualisierung“ 511a, eine Schaltfläche „Aktualisierungsergebnisprüfung“ 511b, eine Schaltfläche „Software-Versionsliste“ 511c, eine Schaltfläche „Aktualisierungsverlauf“ 511d und eine Schaltfläche „Benutzerinformationsregistrierung“ 511e an und wartet auf die Benutzerbedienung.
  • Wenn der Benutzer in diesem Zustand die Schaltfläche „Benutzerinformationsregistrierung“ 511e betätigt, zeigt das CGW 13 einen Benutzerauswahlbildschirm 512 auf der In-Vehicle-Anzeige 7 an, wie in 225 gezeigt. In dem Benutzerauswahlbildschirm 512 zeigt das CGW 13 die Schaltflächen „Benutzer“ 512a bis 512c an und wartet auf die Benutzerbedienung.
  • Wenn der Benutzer in diesem Zustand die Schaltfläche „Benutzer“ 512a betätigt, zeigt das CGW 13 einen Benutzerregistrierungsbildschirm 513 auf der In-Vehicle-Anzeige 7 an, wie in 226 gezeigt. In dem Benutzerregistrierungsbildschirm 513 zeigt das CGW 13 Eingabefelder einer Mailadresse und VIN-Information (individuelle Fahrzeugkenninformation) für die Registrierung persönlicher Information, zeigt Eingabefelder einer Kreditkartennummer und des Ablaufdatums für die Registrierung von Abrechnungsinformation, zeigt die Schaltflächen „EIN/AUS“ 513a bis 513d für Kampagnenbenachrichtigung, Download (Herunterladen), Installation und Aktivierung in Bezug auf Einstellungen des Umschreibens eines Anwendungsprogramms, zeigt eine Schaltfläche „Detailinformation“ 513e und wartet auf eine Benutzerbedienung.
  • Die Schaltflächen „EIN/AUS“ 513a bis 513d für Kampagnenbenachrichtigung, Download, Installation und Aktivierung sind Schaltflächen zum Wählen, ob oder nicht Bildschirme für eine Kampagnenbenachrichtigung, einen Download, eine Installation und eine Aktivierung anzuzeigen sind. Insbesondere sind, wenn eine Kampagnenbenachrichtigung empfangen wird, ein Herunterladen initiiert wird und eine Aktivierung initiiert wird, die Schaltflächen Schaltflächen, die es dem Benutzer ermöglichen, im Voraus zu wählen, ob oder nicht die Inhalte zum Anfragen der Benutzergenehmigung anzuzeigen sind. Die Schaltfläche „Detailinformation“ 513e ist eine Schaltfläche zum Registrieren der oben beschriebenen Ablaufdatuminformation und Positionsinformation. Die vom Benutzer bestimmte Information wird über das DCM 12 an die Zentralvorrichtung 3 gesendet. In einem Fall, in dem der Benutzer die Teile von Information auf dem mobilen Endgerät 6 bestimmt, erfasst das CGW 13 die Teile von Information von der Zentralvorrichtung 3 über das DCM 12.
  • Der Benutzer kann die entsprechenden Schaltflächen „EIN/AUS“ 513a bis 513d auf AUS setzen, wenn er die Bildschirme über eine Kampagnenbenachrichtigung, einen Download, eine Installation und eine Aktivierung als störend empfindet. Die Schaltflächen werden auf AUS gesetzt, und die Anzeige der Inhalte zum Anfragen der Benutzergenehmigung entfällt. Beispielsweise kann der Benutzer, wenn er die Bildschirmanzeige einer Kampagnenbenachrichtigung oder Aktivierung nicht als störend empfindet, aber die Bildschirmanzeige des Herunterladens oder der Installation als störend empfindet, die Kampagnenbenachrichtigung mit der Schaltfläche „EIN/AUS“ 513a auf EIN setzen, das Herunterladen mit der Schaltfläche „EIN/AUS“ 513b auf AUS setzen, die Installation mit der Schaltfläche „EIN/AUS“ 513c auf AUS setzen und die Aktivierung mit der Schaltfläche „EIN/AUS“ 513d auf EIN setzen.
  • In diesem Fall, wenn z.B. die Kampagnenbenachrichtigung auf EIN, das Herunterladen auf AUS, die Installation auf AUS und die Aktivierung auf EIN gesetzt werden, zeigt das Anzeige-Endgerät 5 einen Kampagnenbenachrichtigungsbildschirm, keinen Download-Genehmigungsbildschirm und keinen Laufender-Download-Bildschirm, keinen Installationsgenehmigungsbildschirm und keinen Laufende-Installation-Bildschirm und einen Aktivierungsbildschirm in Übereinstimmung mit einer Umschreibephase des Anwendungsprogramms. D.h., wenn in den Phasen Kampagnenbenachrichtigung, Herunterladen, Installation und Aktivierung eine entsprechende Phase auf EIN gesetzt wird, führt der Benutzer eine Bildschirmanzeige der auf EIN gesetzten Phase aus, und wenn eine entsprechende Phase auf AUS gesetzt wird, führt der Benutzer die Bildschirmanzeige der auf AUS gesetzten Phase nicht aus. Daher kann die Bildschirmanzeige kundenspezifisch angepasst werden. Die EIN/AUS-Einstellung der Bildschirmanzeige kann für jede Phase individuell oder für alle Phasen kollektiv eingestellt werden.
  • In einem Fall, in dem der Benutzer das Ablaufdatum, den erlaubten Bereich und den verbotenen Bereich registrieren möchte, kann der Benutzer das Ablaufdatum, den erlaubten Bereich und den verbotenen Bereich durch Bedienen der Schaltfläche „Detailinformation“ 513e einstellen. Der Benutzer kann das Ablaufdatum zum Genehmigen eines Umschreibens des Anwendungsprogramms als die Ablaufdatuminformation individuell bzw. kundenspezifisch anpassen, und er kann den erlaubten Bereich zum Genehmigen eines Umschreibens des Anwendungsprogramms als die Ortsinformation oder den verbotenen Bereich zum Unterbinden des Umschreibens kundenspezifisch anpassen.
  • Nachstehend ist ein Betrieb der vorstehend beschriebenen Konfiguration unter Bezugnahme auf die 227 bis 250 beschrieben. Das CGW 13 führt ein Fortschrittsanzeige-Bildschirmanzeigesteuerprogramm aus und führt somit den Fortschrittsanzeige-Bildschirmanzeigesteuerprozess aus.
  • Wenn der Fortschrittsanzeige-Bildschirmanzeigesteuerprozess initiiert wird, bestimmt das CGW 13, ob oder nicht die Ablaufdatuminformation in den Umschreibespezifikationsdaten gespeichert ist und ob oder nicht die Ablaufdatuminformation in der Kundenanpassungsinformation bestimmt ist (S2401). Wenn bestimmt wird, dass die Ablaufdatuminformation in den Umschreibespezifikationsdaten gespeichert ist (S2401: JA), bestimmt das CGW, ob die aktuelle Zeit der Ablaufdatuminformation genügt bzw. gerecht wird (S2402). In einem Fall, in dem die in den Umschreibespezifikationsdaten gespeicherte Ablaufdatuminformation und die als die Kundenanpassungsinformation bestimmte Ablaufdatuminformation vorhanden sind, bestimmt das CGW 13, ob beide erfüllt werden. Wenn bestimmt wird, dass die aktuelle Zeit das durch die Ablaufdatuminformation angezeigte Ablaufdatum überschreitet, und die aktuelle Zeit die Ablaufdatuminformation nicht erfüllt (S2402: NEIN), beendet das CGW 13 den Fortschrittsanzeige-Bildschirmanzeigesteuerprozess.
  • Wenn bestimmt wird, dass die aktuelle Zeit innerhalb des durch die Ablaufdatuminformation angezeigten Ablaufdatums liegt, und die aktuelle Zeit die Ablaufdatuminformation erfüllt (S2402: JA), bestimmt das CGW 13, ob oder nicht die Szeneninformation in den Umschreibespezifikationsdaten gespeichert ist (S2403). Wenn bestimmt wird, dass die Szeneninformation in den Umschreibespezifikationsdaten gespeichert ist (S2403: JA), bestimmt das CGW 13, dass der externe Modus bestimmt ist, schreitet zum Anzeigebefehlsprozess gemäß dem bestimmten Inhalt in der Szeneninformation voran (S2404) und weist die In-Vehicle-Anzeige 7 an, eine Bildschirmanzeige entsprechend dem Umschreiben des Anwendungsprogramms gemäß einem Modus eines gesetzten Flags auszuführen. Wenn z.B. das Rückruf-Flag gesetzt ist, weist das CGW 13 die In-Vehicle-Anzeige 7 an, eine Bildschirmanzeige entsprechend dem Rückrufmodus während des Umschreibens des Anwendungsprogramms auszuführen. Wenn z.B. das Händler-Flag gesetzt ist, weist das CGW 13 die In-Vehicle-Anzeige 7 an, eine Bildschirmanzeige gemäß dem Händlermodus während des Umschreibens des Anwendungsprogramms auszuführen.
  • Wenn bestimmt wird, dass die Szeneninformation nicht in den Umschreibespezifikationsdaten gespeichert ist (S2403: NEIN), bestimmt das CGW, ob oder nicht der Kundenanpassungsmodus durch die Kundenanpassungsbedienung des Benutzers bestimmt ist (S2405; entsprechend einer Kundenanpassungsmodusbestimmungsprozedur). Wenn bestimmt wird, dass der Kundenanpassungsmodus bestimmt ist (S2405: JA), schreitet das CGW 13 zu einem Anzeigebefehlsprozess gemäß dem bestimmten Inhalt bei der Kundenanpassungshandlung voran (S2406; entsprechend einer Bildschirmanzeigebefehlsprozedur) und weist die In-Vehicle-Anzeige 7 an, die Bildschirmanzeige entsprechend dem Umschreiben des Anwendungsprogramms gemäß dem Kundenanpassungsmodus auszuführen.
  • Wenn bestimmt wird, dass der Kundenanpassungsmodus nicht bestimmt ist (S2405: NEIN), schreitet das CGW 13 zu einem Anzeigebefehlsprozess gemäß einem bestimmten Inhalt in der Anfangseinstellung voran (S2407; entsprechend einer Bildschirmanzeigebefehlsprozedur) und weist die In-Vehicle-Anzeige 7 an, die Bildschirmanzeige entsprechend dem Umschreiben des Anwendungsprogramms gemäß dem Kundenanpassungsmodus auszuführen. D.h., das CGW 13 wendet vorzugsweise die in den Umschreibespezifikationsdaten gespeicherte Szeneninformation an und wendet den Kundenanpassungsmodus an, wenn die Szeneninformation nicht gespeichert ist. Wenn weder die Szeneninformation noch der Kundenanpassungsmodus vorhanden sind, wird die Anfangseinstellung angewandt. Hier ist die Anfangseinstellung ein voreingestellter Wert, und die Anfangseinstellung ist eine Einstellung zum Einschalten aller Einstellungen von z.B. Kampagnenbenachrichtigung, Download, Installation und Aktivierung.
  • Nachstehend sind die Bildschirmanzeigebefehlsprozesse in S2404, S2406 und S2407 unter Bezugnahme auf 228 beschrieben. Hier ist der Bildschirmanzeigebefehlsprozess in der Installationsphase als Beispiel aufgezeigt, aber das Gleiche gilt ebenso für die anderen Phasen. Wenn das CGW 13 zum Anzeigebefehlsprozess voranschreitet, bestimmt das CGW 13, ob oder nicht der Bildschirm anzuzeigen ist (S2411), bestimmt, ob oder nicht Anzeigeelemente eines Bildschirms anzuzeigen sind (S2412), und erteilt einen Befehl zum Ändern der Anzeigeinhalt der Elemente des Bildschirms (S2413). Das CGW 13 sendet eine Bildschirmanzeigeanfragebenachrichtigung an das DCM 12, veranlasst das DCM 12, eine Bildschirmanzeigeanfrage an die In-Vehicle-Anzeige 7 zu senden (S2414), und wartet auf den Empfang von Bedienungsergebnisinformation vom DCM 12 (S2415). Die Bedienungsergebnisinformation ist Information, die eine vom Benutzer betätigte Schaltfläche anzeigt. Das CGW 13 kann die Bildschirmanzeigeanfragebenachrichtigung direkt an die In-Vehicle-Anzeige 7 senden und die Bedienungsergebnisinformation direkt empfangen.
  • Wenn bestimmt wird, dass die Bedienungsergebnisinformation vom DCM 12 empfangen wird, indem ein Bedienungsergebnis von der In-Vehicle-Anzeige 7 an das DCM 12 gesendet wird (S2415: JA), prüft das CGW 13 eine Genehmigung auf der Grundlage der Bedienungsergebnisinformation und bestimmt, ob oder nicht der Benutzer ein Umschreiben des Anwendungsprogramms genehmigt hat (S2416).
  • Wenn bestimmt wird, dass der Benutzer das Umschreiben des Anwendungsprogramms genehmigt hat (S2416: JA), bestimmt das CGW 13, ob oder nicht die Umschreibespezifikationsdaten die Positionsinformation speichern (S2417). Wenn bestimmt wird, dass die Positionsinformation in den Umschreibespezifikationsdaten gespeichert ist (S2417: JA), bestimmt das CGW 13, ob oder nicht die aktuelle Position des Fahrzeugs die Positionsinformation erfüllt (S2418). S2417 und S2418 können in anderen Phasen als der Installationsphase weggelassen werden. In einem Fall, in dem die Positionsinformation der erlaubte Bereich ist, bestimmt das CGW 13, wenn die aktuelle Position des Fahrzeugs innerhalb des erlaubten Bereichs liegt, dass die aktuelle Position des Fahrzeugs die Positionsinformation erfüllt (S2418: JA), und setzt das Umschreiben des Anwendungsprogramms fort (S2419).
  • Demgegenüber bestimmt das CGW 13, wenn die aktuelle Position des Fahrzeugs außerhalb des erlaubten Bereichs liegt, dass die aktuelle Position des Fahrzeugs die Positionsinformation nicht erfüllt, schreitet nicht voran und stoppt das Umschreiben des Anwendungsprogramms und beendet den Bildschirmanzeigebefehlsprozess. In einem Fall, in dem die Positionsinformation der verbotene Bereich ist, bestimmt das CGW 13, wenn die aktuelle Position des Fahrzeugs außerhalb des verbotenen Bereichs liegt, dass die aktuelle Position des Fahrzeugs die Positionsinformation erfüllt (S2418: JA), setzt das Umschreiben des Anwendungsprogramms fort (S2419) und beendet den Bildschirmanzeigebefehlsprozess. Wenn die aktuelle Position des Fahrzeugs innerhalb des verbotenen Bereichs liegt, bestimmt das CGW, dass die aktuelle Position des Fahrzeugs die Positionsinformation nicht erfüllt, schreitet nicht voran und stoppt das Umschreiben des Anwendungsprogramms und beendet den Anzeigebefehlsprozess.
  • Nachstehend sind die vom CGW 13 an das DCM 12 gesendete Bildschirmanzeigeanfragebenachrichtigung und die vom DCM 12 an das CGW 13 gesendete Bedienungsergebnisinformation beschrieben. Wie in 229 gezeigt, enthält die vom CGW 13 an das DCM 12 gesendete Bildschirmanzeigeanfragebenachrichtigung eine Phasen-ID, eine Szenen-ID und Bildschirmkonfigurationsinformation. Die Phasen-ID ist eine ID zum Identifizieren jeder Phase, wie z.B. einer Kampagnenbenachrichtigung, eines Downloads, einer Installation und einer Aktivierung. Die Szenen-ID ist eine ID zum Identifizieren der in 223 gezeigten Szeneninformation. Die vom DCM 12 an das CGW 13 gesendete Bedienungsergebnisinformation enthält Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, ein Bedienungsergebnis und zusätzliche Information. Das CGW 13 gleicht die in der Bildschirmanzeigeanfragebenachrichtigung gespeicherte Phasen-ID und Szenen-ID mit der in der Bedienungsergebnisinformation gespeicherten Phasen-ID und Szenen-ID ab und prüft eine Abweichung oder Arbitrierung.
  • D.h., wenn die Phasen-ID und die Szenen-ID, die in der an das DCM 12 gesendeten Bildschirmanzeigeanfragebenachrichtigung gespeichert sind, mit der Phasen-ID und der Szenen-ID übereinstimmen, die in der vom DCM 12 empfangenen Bedienungsergebnisinformation gespeichert sind, bestimmt das CGW, dass die Bildschirmanzeigeanfragebenachrichtigung und die Bedienungsergebnisinformation miteinander konsistent sind, dass die Bildschirmanzeigeanfragebenachrichtigung und die Bedienungsergebnisinformation nicht voneinander abweichen und dass daher keine Arbitrierung ausgeführt werden muss. Demgegenüber, wenn die Phasen-ID und die Szenen-ID, die in der an das DCM 12 gesendeten Bildschirmanzeigeanfragebenachrichtigung gespeichert sind, nicht mit der Phasen-ID und der Szenen-ID übereinstimmen, die in der vom DCM 12 empfangenen Bedienungsergebnisinformation gespeichert sind, bestimmt das CGW, dass die Bildschirmanzeigeanfragebenachrichtigung und die Bedienungsergebnisinformation miteinander inkonsistent sind, dass die Bildschirmanzeigeanfragebenachrichtigung und die Bedienungsergebnisinformation voneinander abweichen und dass daher eine Arbitrierung ausgeführt werden muss. Das CGW 13 arbitriert in Übereinstimmung mit der vom DCM 12 empfangenen Bedienungsergebnisinformation, ob oder nicht ein Prozess auszuführen ist.
  • Die Bildschirmkonfigurationsinformation ist Information, die Konfigurationselemente eines Bildschirms anzeigt, und wie in 230 gezeigt, gibt es beispielsweise im Aktivierungsgenehmigungsbildschirm 514 sechs Elemente wie eine Schaltfläche „Kampagnen-ID...“ 514a, eine Schaltfläche „Aktualisierungsname A...“ 514b, eine Schaltfläche „Aktualisierungsname B...“ 514c, eine Schaltfläche „Detailprüfung“ 514d, eine Schaltfläche „Zurück“ 514e und eine Schaltfläche „OK“ 514f. In diesem Fall werden, wie in 231 gezeigt, wenn alle der sechs Elemente der Bildschirmkonfigurationsinformation auf „Anzeigen“ gesetzt sind, wie in 194 gezeigt, alle sechs Elemente auf dem Aktivierungsgenehmigungsbildschirm 514 angezeigt. D.h., der Benutzer kann eine der Schaltflächen „Kampagnen-ID...“ 514a, „Aktualisierungsname A...“ 514b, „Aktualisierungsname B...“ 514c, „Detailprüfung“ 514d, „Zurück“ 514e und „OK“ 514f betätigen.
  • Demgegenüber werden, wie in 232 gezeigt, wenn, unter den sechs Elementen der Bildschirmkonfigurationsinformation, die Schaltfläche „Kampagnen-ID...“ 514a, die Schaltfläche „Aktualisierungsname A...“ 514b, die Schaltfläche „Aktualisierungsname B....“ 514c, die Schaltfläche „Detailinformation“ 514d und die Schaltfläche „OK“ 514e auf „Anzeigen“ gesetzt sind und die Schaltfläche „Zurück“ 514e auf „Nicht anzeigen“ eingestellt ist, die Schaltfläche „Kampagnen-ID....‟ 514a, die Schaltfläche „Aktualisierungsname A...“ 514b, die Schaltfläche „Aktualisierungsname B...“ 514c, die Schaltfläche „Detailinformation“ 514d und die Schaltfläche „OK“ 514f angezeigt, und die Schaltfläche „Zurück“ 514e wird nicht auf dem Aktivierungsgenehmigungsbildschirm 514 angezeigt, wie in 233 gezeigt. D.h., der Benutzer kann eine der Schaltflächen „Kampagnen-ID...“ 514a, „Aktualisierungsname A...“ 514b, „Aktualisierungsname B...“ 514c, „Detailprüfung“ 514d und „OK“ 514f betätigen, aber die Schaltfläche „Zurück“ 514e wird nicht angezeigt, und somit ist die Schaltfläche „Zurück“ 514e nicht bedienbar. Beispielsweise kann, da es in Bezug auf das Umschreiben eines Anwendungsprogramms mit relativ hoher Wichtigkeit oder Dringlichkeit aufgrund eines Rückrufs oder dergleichen nicht wünschenswert ist, eine Aktivierung abzulehnen, die Einstellung so vorgenommen werden, dass die Aktivierung nicht abgelehnt wird, indem die Schaltfläche „Zurück“ 514e wie oben beschrieben nicht bedienbar gemacht wird. In diesem Fall genehmigt der Benutzer die Aktivierung durch Betätigen der Schaltfläche „OK“ 514f.
  • Nachstehend ist eine Nachrichtenrahmenstruktur (Framework) in Bezug auf eine Bildschirmanzeige und eine Benutzerbedienung beschrieben, die zwischen dem CGW 13, dem DCM 12, der In-Vehicle-Anzeige 7, der Zentralvorrichtung 3 und einer Mess- bzw. Zählervorrichtung 45 gesendet und empfangen wird. Wie in 234 gezeigt, sind das CGW 13 und das DCM 12 über CAN oder Ethernet miteinander verbunden, und das DCM 12 und die In-Vehicle-Anzeige 7 sind über USB miteinander verbunden.
  • Das CGW 13 führt eine Datenkommunikation mit der Zentralvorrichtung 3 über das DCM 12 aus. Die vom CGW 13 per Diagnosekommunikation gesendeten Daten werden vom DCM 12 einer Protokollwandlung unterzogen und vom DCM 12 kommend durch die Zentralvorrichtung 3 per HTTP-Kommunikation empfangen. Das CGW 13 sendet z.B. Daten, die den aktuellen Fortschrittszustand, wie die aktuelle Phase oder ein Fortschrittsverhältnis, anzeigen, über das DCM 12 an die Zentralvorrichtung 3. Die von der Zentralvorrichtung 3 per HTTP-Kommunikation gesendeten Daten werden vom DCM 12 einer Protokollwandlung unterzogen und vom DCM 12 kommend durch das CGW 13 per Diagnosekommunikation empfangen.
  • Das CGW 13 führt die Datenkommunikation mit der In-Vehicle-Anzeige 7 über das DCM 12 aus. Die vom CGW 13 per Diagnosekommunikation gesendeten Daten werden vom DCM 12 einer Protokollwandlung unterzogen und vom DCM 12 kommend durch die In-Vehicle-Anzeige 7 per USB-Kommunikation empfangen. Die von der In-Vehicle-Anzeige 7 per die USB-Kommunikation gesendeten Daten werden vom DCM 12 einer Protokollwandlung unterzogen und vom DCM 12 kommend durch das CGW 13 per Diagnosekommunikation empfangen. Beispielsweise erfasst das CGW 13 Information über die Benutzerbedienung auf der In-Vehicle-Anzeige 7 über das DCM 12. Wie oben beschrieben, ist im Fahrzeugprogrammumschreibesystem 1 das DCM 12 mit der Protokollwandlungsfunktion versehen, und das mobile Endgerät 6 und die In-Vehicle-Anzeige 7 sind konfiguriert, um vom CGW 13 gleichermaßen gehandhabt zu werden. Information über die Benutzerbedienung wird im CGW 13 aggregiert, und somit arbitriert das CGW 13 Benutzerbedienungsergebnisse von mehreren Bedienungsendgeräten, um den aktuellen Fortschrittszustand zu verwalten.
  • Nachstehend ist eine Sequenz eines Nachrichtenrahmens beschrieben, der zwischen dem CGW 13, dem DCM 12 und der In-Vehicle-Anzeige 7 gesendet und empfangen wird. Wie in den 235 bis 242 gezeigt, ist in der vom CGW 13 an das DCM 12 gesendeten Bildschirmanzeigeanfragebenachrichtigung und der vom CGW 13 an das DCM 12 gesendeten Bedienungsergebnisinformation die Phasen-ID in der Kampagnenbenachrichtigung auf „03“, im Download auf „04“, in der Installation auf „05“ und in der Aktivierung auf „06“ gesetzt. In jeder Phase der Kampagnenbenachrichtigung, des Downloads, der Installation und der Aktivierung ist die Reihenfolge von Senden und Empfangen von Nachrichtenrahmen gleich, wobei sich die Phasen-IDs derart unterscheiden, dass die Phasen voneinander unterschieden werden können.
  • 235 zeigt beispielhaft die Kampagnenbenachrichtigungsphase. Das CGW 13 verwaltet den aktuellen Fortschrittszustand, spezifiziert die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformation und sendet die Bildschirmanzeigeanfragebenachrichtigung an das DCM 12. Wenn die Bildschirmanzeigeanfragebenachrichtigung vom CGW 13 empfangen wird, sendet das DCM 12 eine Bildschirmanzeigeanfrage an die In-Vehicle-Anzeige 7. Wenn die Bildschirmanzeigeanfrage vom DCM 12 empfangen wird, zeigt die In-Vehicle-Anzeige 7 einen Kampagnenbenachrichtigungsbildschirm an, und wenn der Benutzer eine Bedienung zum Verifizieren der Kampagnenbenachrichtigung ausführt, sendet sie das Bedienungsergebnis an das DCM 12. Wenn das Bedienungsergebnis von der In-Vehicle-Anzeige 7 empfangen wird, sendet das DCM 12 Bedienungsergebnisinformation an das CGW 13. Die vom CGW 13 empfangene Bedienungsergebnisinformation enthält Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, das Bedienungsergebnis und zusätzliche Information. Das CGW 13 aktualisiert den aktuellen Fortschrittszustand auf der Grundlage der vom DCM 12 empfangenen Bedienungsergebnisinformation. Hier aktualisiert das CGW 13 den aktuellen Fortschrittszustand auf die Download-Phase, wenn Genehmigungsbedienungen in der Kampagnenbenachrichtigungsphase ausgeführt werden.
  • 236 zeigt beispielhaft die Download-Phase. Das CGW 13 verwaltet den aktuellen Fortschrittszustand, spezifiziert die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformation und sendet die Bildschirmanzeigeanfragebenachrichtigung an das DCM 12. Wenn die Bildschirmanzeigeanfragebenachrichtigung vom CGW 13 empfangen wird, sendet das DCM 12 eine Bildschirmanzeigeanfrage an die In-Vehicle-Anzeige 7. Wenn eine Bildschirmanzeigeanfrage vom DCM 12 empfangen wird, zeigt die In-Vehicle-Anzeige 7 einen Download-Genehmigungsbildschirm an, und wenn der Benutzer eine Download-Genehmigungsbedienung ausführt, sendet sie das Bedienungsergebnis an das DCM 12. Wenn das Bedienungsergebnis von der In-Vehicle-Anzeige 7 empfangen wird, sendet das DCM 12 Bedienungsergebnisinformation an das CGW 13. Die vom CGW 13 empfangene Bedienungsergebnisinformation enthält Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, das Bedienungsergebnis und zusätzliche Information. Das CGW 13 aktualisiert den aktuellen Fortschrittszustand auf der Grundlage der vom DCM 12 empfangenen Bedienungsergebnisinformation. Hier aktualisiert das CGW 13 den aktuellen Fortschrittszustand auf die Installationsphase, wenn es eine Genehmigungsbedienung während der Download-Phase gibt.
  • 237 zeigt beispielhaft die Installationsphase. Das CGW 13 verwaltet den aktuellen Fortschrittszustand, spezifiziert die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformation und sendet die Bildschirmanzeigeanfragebenachrichtigung an das DCM 12. Wenn die Bildschirmanzeigeanfragebenachrichtigung vom CGW 13 empfangen wird, sendet das DCM 12 eine Bildschirmanzeigeanfrage an die In-Vehicle-Anzeige 7. Wenn die Bildschirmanzeigeanfrage vom DCM 12 empfangen wird, zeigt die In-Vehicle-Anzeige 7 einen Installationsgenehmigungsbildschirm an, und wenn der Benutzer eine Installationsgenehmigungsbedienung ausführt, sendet sie das Bedienungsergebnis an das DCM 12. Wenn das Bedienungsergebnis von der In-Vehicle-Anzeige 7 empfangen wird, sendet das DCM 12 Bedienungsergebnisinformation an das CGW 13. Die vom CGW 13 empfangene Bedienungsergebnisinformation enthält Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, das Bedienungsergebnis und zusätzliche Information. Das CGW 13 aktualisiert den aktuellen Fortschrittszustand auf der Grundlage der vom DCM 12 empfangenen Bedienungsergebnisinformation. Hier aktualisiert das CGW 13 den aktuellen Fortschrittszustand auf die Aktivierungsphase, wenn es eine Genehmigungsbedienung während der Installationsphase gibt.
  • 238 zeigt beispielhaft die Aktivierungsphase. Das CGW 13 verwaltet den aktuellen Fortschrittszustand, spezifiziert die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformation und sendet die Bildschirmanzeigeanfragebenachrichtigung an das DCM 12. Wenn die Bildschirmanzeigeanfragebenachrichtigung vom CGW 13 empfangen wird, sendet das DCM 12 eine Bildschirmanzeigeanfrage an die In-Vehicle-Anzeige 7. Wenn die Bildschirmanzeigeanfrage vom DCM 12 empfangen wird, zeigt die In-Vehicle-Anzeige 7 einen Aktivierungsgenehmigungsbildschirm an, und wenn der Benutzer eine Aktivierungsgenehmigungshandlung ausführt, sendet sie das Bedienungsergebnis an das DCM 12. Wenn das Bedienungsergebnis von der In-Vehicle-Anzeige 7 empfangen wird, sendet das DCM 12 Bedienungsergebnisinformation an das CGW 13. Die vom CGW 13 empfangene Bedienungsergebnisinformation enthält Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, das Bedienungsergebnis und zusätzliche Information. Das CGW 13 aktualisiert den aktuellen Fortschrittszustand auf der Grundlage der vom DCM 12 empfangenen Bedienungsergebnisinformation.
  • Nachstehend ist der Anzeigebildschirm unter Bezugnahme auf die 239 bis 246 beschrieben. In einem Fall, in dem der Kundenanpassungsmodus nicht eingestellt ist und kein Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt ist, weist das CGW 13 das Anzeige-Endgerät 5 an, eine Bildschirmanzeige entsprechend dem Umschreiben des Anwendungsprogramms gemäß einem Inhalt der Anfangseinstellung auszuführen (S2407). Wenn die Anfangseinstellung eine Einstellung des Einschaltens aller der Kampagnenbenachrichtigung, des Downloads, der Installation und der Aktivierungen ist, erteilt das CGW 13 einen Bildschirmanzeigebefehl an das Anzeige-Endgerät 5, um nacheinander den Navigationsbildschirm 501, den Kampagnenbenachrichtigungsbildschirm 502, den Download-Genehmigungsbildschirm 503, den Laufender-Download-Bildschirm 504, den Download-Abschlussbenachrichtigungsbildschirm 505, den Installationsgenehmigungsbildschirm 506, den Laufende-Installation-Bildschirm 507, den Aktivierungsgenehmigungsbildschirm 508, den Aktivierungsabschlussbenachrichtigungsbildschirm 509 und den Prüfbedienungsbildschirm 510 auszuführen, wie in den 67 bis 82 gezeigt. In diesem Fall werden die Inhalte zum Erhalten der Genehmigung des Benutzers (OK) auf dem Kampagnenbenachrichtigungsbildschirm 502, dem Download-Genehmigungsbildschirm 503, dem Installationsgenehmigungsbildschirm 506, dem Aktivierungsgenehmigungsbildschirm 508 und dem Prüfbedienungsbildschirm 510 angezeigt.
  • In einem Fall, in dem der Kundenanpassungsmodus des Benutzers eingestellt wird, weist das CGW 13 das Anzeige-Endgerät 5 an, die Bildschirmanzeige entsprechend dem Umschreiben des Anwendungsprogramms gemäß einem Inhalt des Kundenanpassungsmodus auszuführen (S2406). Dies gilt jedoch nur für den Fall, dass keine Szeneninformation angegeben ist. Wenn beispielsweise im Kundenanpassungsmodus die Kampagnenbenachrichtigung auf EIN, das Herunterladen auf AUS, die Installation auf AUS und die Aktivierung auf EIN gesetzt ist, erteilt das CGW 13 einen Bildschirmanzeigebefehl an das Anzeige-Endgerät 5, um den Download-Genehmigungsbildschirm 503, den Laufender-Download-Bildschirm 504, den Download-Abschlussbenachrichtigungsbildschirm 505, den Installationsgenehmigungsbildschirm 506 und den Laufende-Installation-Bildschirm 507 nicht anzuzeigen und den Aktivierungsgenehmigungsbildschirm 508 anzuzeigen, nachdem der Kampagnenbenachrichtigungsbildschirm 502 angezeigt wurde.
  • In einem Fall, in dem das Rückruf-Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt ist, weist das CGW 13 das Anzeige-Endgerät 5 an, eine Bildschirmanzeige entsprechend dem Umschreiben des Anwendungsprogramms gemäß einem Inhalt des Rückrufmodus auszuführen (S2404). In diesem Fall zeigt das CGW 13, wie in 240 gezeigt, die Schaltfläche „Später“ 502a auf dem Kampagnenbenachrichtigungsbildschirm 502 nicht an. Wie in den 241 und 242 gezeigt, zeigt das CGW 13 die Schaltfläche „Zurück“ 503c auf dem Download-Genehmigungsbildschirm 503 nicht an. Wie in 243 gezeigt, zeigt das CGW 13 die Schaltfläche „Zurück“ 504b auf dem Laufender-Download-Bildschirm 504 nicht an. Wie in den 244 und 245 gezeigt, zeigt das CGW 13 die Schaltfläche „Zurück“ 505b auf dem Installationsgenehmigungsbildschirm 505 nicht an. Ebenso zeigt das CGW 13, wie in 246 gezeigt, die Schaltfläche „Zurück“ auf dem Aktivierungsgenehmigungsbildschirm 518 nicht an.
  • D.h., in einem Fall, in dem das Rückruf-Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt ist, wie oben beschrieben, kann die Schaltfläche „Später“ oder die Schaltfläche „Zurück“ auf Nicht-Anzeige gesetzt werden, so dass die Schaltfläche „Später“ oder die Schaltfläche „Zurück“ nicht angezeigt wird. Alternativ kann, nachdem der Kampagnenbenachrichtigungsbildschirm 502 gegebenenfalls angezeigt und die Genehmigung des Benutzers auf dem Download-Genehmigungsbildschirm 503 erhalten wurde, die Anzeige des Installationsgenehmigungsbildschirms 505 und des Aktivierungsgenehmigungsbildschirm 518 entfallen. Obgleich vorstehend ein Fall beschrieben ist, in dem das Rückruf-Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt ist, gilt dasselbe für den Fall, in dem das Händler-Flag, das Werks-Flag, das Funktionsaktualisierungsbenachrichtigungs-Flag und das Zwangsausführungs-Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt sind, und es kann ein Befehl für die Verfügbarkeit der Anzeige eines Bildschirms entsprechend einer Phase, die Verfügbarkeit der Anzeige eines Elements des Bildschirms oder die Änderung eines Anzeigeinhalts des Elements des Bildschirms in Abhängigkeit von einer Situation, in der das Anwendungsprogramm umgeschrieben wird, erteilt werden.
  • Insbesondere in einem Fall, in dem das Händler-Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt ist, kann, da es notwendig ist, einen dedizierten Bildschirm im Reparaturprozess in der Händlerumgebung anzuzeigen, ein dedizierter Bildschirm für einen Händler anstelle eines Bildschirms für einen Benutzer angezeigt werden. D.h., da ein Benutzer keine Bedienung in Bezug auf das Umschreiben eines Anwendungsprogramms ausführt, sondern ein Bediener des Händlers die Bedienung in Bezug auf das Umschreiben des Anwendungsprogramms ausführt, kann die Schaltfläche „Später“ oder die Schaltfläche „Zurück“ so eingestellt sein, dass sie für die Arbeit des Händlers angezeigt wird, so dass die Schaltfläche „Später“ oder die Schaltfläche „Zurück“ angezeigt wird. Beispielsweise kann eine Führung bzw. Anleitung wie „Bitte bei Händler umschreiben“ angezeigt werden, um den Benutzer aufzufordern, das Fahrzeug zum Händler zu bringen.
  • In einem Fall, in dem das Werks-Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt ist, ist die Bildschirmanzeige im Fertigungsprozess in der Werksumgebung nicht erforderlich, und daher wird möglicherweise kein Bildschirm angezeigt.
  • In einem Fall, in dem das Funktionsaktualisierungsbenachrichtigungs-Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt ist, ist eine Bildschirmanzeige zur zuverlässigen Benachrichtigung des Benutzers über den Änderungsinhalt erforderlich, selbst wenn der Benutzer die Anzeige unnötiger Einstellung angepasst hat, so dass ein Bildschirm für den Benutzer unabhängig von der angepassten Einstellung angezeigt werden kann. D.h., auch in einem Fall, in dem der Benutzer bestimmt, dass die Genehmigung unnötig ist, wird, da es wünschenswert ist, dass die Genehmigung erzwungen wird und ein Genehmigungsbildschirm gezielt angezeigt wird, wie oben beschrieben, die Schaltfläche „Später“ oder die Schaltfläche „Zurück“ so eingestellt, dass die Schaltfläche „Später“ oder die Schaltfläche „Zurück“ angezeigt wird.
  • In einem Fall, in dem das Zwangsausführungs-Flag in der Szeneninformation der Umschreibespezifikationsdaten gesetzt ist, ist, selbst wenn der Benutzer die Anzeige durch kundenspezifische Anpassung als erforderlich einstellt und somit keine Genehmigung erteilt, eine erzwungene Ausführung für eine zuverlässige Aktualisierung der Software des Fahrzeugs erforderlich. Daher kann ein dedizierter Bildschirm für den Benutzer unabhängig von der Kundenanpassungseinstellung angezeigt werden. D.h., da der Benutzer bestimmt, dass die Genehmigung erforderlich ist, das Anwendungsprogramm aber auch dann umgeschrieben wird, wenn die Genehmigung nicht erteilt wird, kann die Schaltfläche „Später“ oder die Schaltfläche „Zurück“, wie oben beschrieben, auf Nicht-Anzeige gesetzt werden, so dass die Schaltfläche „Später“ oder die Schaltfläche „Zurück“ nicht angezeigt wird. Da die Funktion darauf basiert, dass eine Genehmigung eingeholt bzw. erhalten wird, kann das Umschreiben durch Einholung der Genehmigung erfolgen, ohne dass der Bildschirm selbst angezeigt wird.
  • Wie oben beschrieben, führt das CGW 13 den Fortschrittsanzeige-Bildschirmanzeigesteuerprozess aus und weist somit das Anzeige-Endgerät 5 an, die Bildschirmanzeige entsprechend einem Einstellungsinhalt eines Kundenanpassungsmodus in einem Fall auszuführen, in dem der Kundenanpassungsmodus eingestellt wird. Der Benutzer kann die Bildschirmanzeige entsprechend dem Fortschritt des Umschreibens kundenspezifisch anpassen.
  • Programmaktualisierungsbenachrichtigungs-Steuerprozess
  • Nachstehend ist der Programmaktualisierungsbenachrichtigungs-Steuerprozess unter Bezugnahme auf die 247 bis 253 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt den Programmaktualisierungsbenachrichtigungs-Steuerprozess im CGW 13 aus.
  • Wie in 247 gezeigt, enthält das CGW 13 eine Phasenspezifizierungseinheit 91a, eine Anzeigebefehlseinheit 91b, eine Indikatoranzeigesteuereinheit 91c, eine Symbolanzeigesteuereinheit 91d, eine Detailinformations-Anzeigesteuereinheit 91e und eine Ungültigkeitserklärungsbefehlseinheit 91f in der Programmaktualisierungsbenachrichtigungs-Steuereinheit 91. Die Phasenspezifizierungseinheit 91a spezifiziert eine Phase als Fortschrittssituation der Programmaktualisierung. Die Phasenspezifizierungseinheit 91a spezifiziert Kampagnenbenachrichtigung, Download-Genehmigung, Laufender Download, Installationsgenehmigung, Laufende Installation, Aktivierungsgenehmigung, Laufende Aktivierung und Aktualisierungsabschluss als Phasen der Programmaktualisierung.
  • Wenn die Phase der Programmaktualisierung durch die Phasenspezifizierungseinheit 91a spezifiziert wird, erteilt die Anzeigebefehlseinheit 91b einen Befehl zum Anzeigen eines Indikators bei einem Aspekt entsprechend der Phase der spezifizierten Programmaktualisierung. Wenn der Befehl zum Anzeigen des Indikators von der Anzeigebefehlseinheit 91 erteilt wird, steuert die Indikatoranzeigesteuereinheit 91c die Anzeige des Indikators im Ansprechen auf den Befehl. Insbesondere steuert die Indikatoranzeigesteuereinheit 91c die Beleuchtung eines Indikators 46 in der Zählervorrichtung 45.
  • Die Symbolanzeigesteuereinheit 91d steuert die Anzeige eines Symbols bzw. Icons auf der In-Vehicle-Anzeige 7 anschließend an die Steuerung der Anzeige des Indikators durch die Indikatoranzeigesteuereinheit 91c. Die Detailinformations-Anzeigesteuereinheit 91e steuert die Anzeige eines Symbols und detaillierter Information in Bezug auf die Programmaktualisierung auf der In-Vehicle-Anzeige 7 oder dem mobilen Endgerät 6 anschließend an die Steuerung des Indikators durch die Indikatoranzeigesteuereinheit 91c. Das Symbol ist das in 68 gezeigte Kampagnenbenachrichtigungssymbol 501a, und die detaillierte Information ist z.B. der als Pop-up in 33 gezeigte Kampagnenbenachrichtigungsbildschirm 502 oder der in den 70 und 71 gezeigte Download-Genehmigungsbildschirm. Die Detailinformations-Anzeigesteuereinheit 91e erteilt einen Befehl zum Anzeigen des Symbols bei dem Aspekt entsprechend der Phase der Programmaktualisierung, die von der Phasenspezifizierungseinheit 91a spezifiziert wurde, oder erteilt einen Befehl zum Anzeigen des Detailinformationsbildschirms entsprechend der Phase und der Benutzerbedienung.
  • Die Ungültigkeitserklärungsbefehlseinheit 91f weist die Energieversorgungsverwaltungs-ECU 20 und die jeweiligen ECUs 19 in Bezug auf die Benutzerbedienung an, den Empfang der Benutzerbedienung auch in einem Fall für ungültig zu erklären, in dem die Energieversorgungsverwaltungs-ECU 20 die Energieversorgungssteuerung durch Aktualisieren der Programme während des Parkens ausführt. Beispielsweise wird durch Anweisen der Motor-ECU 47 (siehe 243), den Empfang der Benutzerbedienung für ungültig zu erklären, in einem Fall, in dem eine Speicherstruktur der Umschreibeziel-ECU 19 ein Ein-Bank-Speicher ist und die Installation während des Parkens erfolgt, der Empfang für ungültig erklärt und ein Starten des Motors unterbunden, auch wenn der Benutzer eine Bedienung zum Starten des Motors vornimmt. Durch Anweisen der Energieversorgungsverwaltungs-ECU 20, die Benutzerbedienung für ungültig zu erklären, wird in einem Fall, in dem eine Speicherstruktur der Umschreibeziel-ECU 19 ein Ein-Bank-Speicher ist, die IG-Energie eingeschaltet, die Installation während des Parkens ausgeführt, der Empfang für ungültig erklärt und ein Ausschalten der IG-Energie unterbunden, auch wenn der Benutzer eine Bedienung zum Ausschalten der IG-Energie vornimmt. In diesem Fall kann die Ungültigkeitserklärungsbefehlseinheit 91f die In-Vehicle-Anzeige 7 anweisen, eine Benachrichtigung dahingehend vorzunehmen, dass der Empfang der Benutzerbedienung ungültig ist.
  • Nachstehend ist ein Betrieb der vorstehend beschriebenen Konfiguration unter Bezugnahme auf die 248 bis 253 beschrieben. Das CGW 13 führt ein Programmaktualisierungsbenachrichtigungs-Steuerprogramm aus und führt damit den Programmaktualisierungsbenachrichtigungs-Steuerprozess aus.
  • Wenn der Programmaktualisierungsbenachrichtigungs-Steuerprozess initiiert wird, bestimmt das CGW, ob oder nicht eine Programmaktualisierungskampagne aufgetreten ist (S2501). Wenn bestimmt wird, dass die Kampagne der Programmaktualisierung aufgetreten ist (S2501: JA), spezifiziert das CGW 13 eine Phase der Programmaktualisierung und eine Speicherkonfiguration (S2502; entsprechend einer Phasenspezifizierungsprozedur). Das CGW 13 weist die Zählervorrichtung 45 an, den Indikator 46 bei einem Aspekt entsprechend der spezifizierten Phase der Programmaktualisierung anzuzeigen (S2503; entsprechend einer Anzeigebefehlsprozedur). Die In-Vehicle-Anzeige 7 wird angewiesen, ein Symbol entsprechend der spezifizierten Phase der Programmaktualisierung anzuzeigen (S2504).
  • Es wird bestimmt, ob oder nicht eine Detailanzeigeanfrage verfügbar ist (S2505), und wenn bestimmt wird, dass die Detailanzeigeanfrage verfügbar ist (S2505: JA), bestimmt das CGW 13, ob oder nicht eine Datenkommunikation mit der In-Vehicle-Anzeige 7 möglich ist (S2506). Wenn der Benutzer z.B. das in 32 gezeigte Kampagnenbenachrichtigungssymbol 501a, die in 33 gezeigte Schaltfläche „Prüfen“ 502a oder die in 34 gezeigte Schaltfläche „Detailprüfung“ 503b drückt, bestimmt das CGW, dass die Detailanzeigeanfrage verfügbar ist. Wenn bestimmt wird, dass eine Datenkommunikation mit der In-Vehicle-Anzeige 7 möglich ist (S2506: JA), erfasst das CGW 13 detaillierte Information (S2507), weist die In-Vehicle-Anzeige 7 an, die detaillierte Information anzuzeigen (S2508), und weist die Zentralvorrichtung 3 an, die detaillierte Information anzuzeigen (S2509).
  • Das CGW 13 erfasst einen Benachrichtigungsinhalt, der zusammen mit der Kampagnenbenachrichtigung empfangen wird, und einen Benachrichtigungsinhalt der Verteilungsspezifikationsdaten und benachrichtigt die In-Vehicle-Anzeige 7 über die Benachrichtigungsinhalte, um angewiesen zu werden, die detaillierte Information anzuzeigen. Das CGW 13 meldet der Zentralvorrichtung 3 die Phase und einen Inhalt der Benutzerbedienung als Befehl zum Anzeigen der detaillierten Information, so dass derselbe Inhalt wie der in der In-Vehicle-Anzeige 7 auch auf dem mobilen Endgerät 6 angezeigt wird.
  • Das CGW 13 bestimmt, ob oder nicht ein Ereignis des Programmaktualisierungsereignisses beendet ist (S2510).
  • Wenn der Benutzer z.B. bestätigt, dass die Aktivierung abgeschlossen ist und das Programm aktualisiert wurde, bestimmt das CGW, dass das Ereignis beendet ist. Wenn bestimmt wird, dass das Ereignis der Programmaktualisierung nicht beendet ist (S2510: NEIN), kehrt das CGW 13 zu Schritt S2502 zurück und führt den Schritt S2502 und die nachfolgenden Schritte wiederholt aus. Das CGW 13 führt S2502 und die nachfolgenden Schritte in jeder Phase der Phasen Kampagnenbenachrichtigung, Download-Genehmigung, laufender Download, Installationsgenehmigung, laufende Installation, Aktivierungsgenehmigung, laufende Aktivierung und Aktualisierungsabschluss wiederholt aus.
  • Wenn bestimmt wird, dass das Ereignis der Programmaktualisierung beendet ist (S2510: JA), beendet das CGW 13 den Programmaktualisierungsbenachrichtigungs-Steuerprozess.
  • In der Zählervorrichtung 45 ist der Indikator 46 an einer vorbestimmten Position angeordnet, die vom Benutzer erkennbar ist, und wenn eine Benachrichtigungsanfrage vom CGW 13 empfangen wird, leuchtet oder blinkt der Indikator 46 als Benachrichtigung während des Umschreibens des Anwendungsprogramms. Hier kann anstelle des Blinkens eine Beleuchtungsanzeige verwendet werden, die stärker betont wird als die normale Beleuchtungsanzeige, z.B. durch Änderung einer Farbe oder Erhöhung der Leuchtdichte des Indikators 46. D.h., es kann eine beliebige Anzeige verwendet werden, solange die Anzeige mehr als die normale Anzeige hervorgehoben wird. Der Indikator 46 in Bezug auf eine Programmaktualisierung ist ein Einzelindikator und aus einem Einzeldesign gebildet.
  • Wie in 249 gezeigt, ändert die Zählervorrichtung 45 die Benachrichtigungsaspekte des Indikators in jeder Phase in einem Fall, in dem ein Anwendungsprogrammumschreibeziel ein Zwei-Bank-Speicher ist, in einem Fall, in dem das Anwendungsprogrammumschreibeziel ein Ein-Bank-Suspend-Speicher ist, und in einem Fall, in dem das Anwendungsprogrammumschreibeziel ein Ein-Bank-Speicher ist. Insbesondere spezifiziert die Zählervorrichtung 45 einen Benachrichtigungsaspekt des Indikators 46 gemäß einer Phase und einer Speicherkonfiguration, die vom CGW 13 bestimmt werden, und führt eine Benachrichtigung gemäß dem spezifizierten Benachrichtigungsaspekt aus. Anstelle der Zählervorrichtung bzw. dem Anzeigeinstrument 45 kann die Indikatoranzeigesteuereinheit 91c einen Benachrichtigungsaspekt des Indikators 46 steuern. Die Indikatoranzeigesteuereinheit 91c kann einen Benachrichtigungsaspekt des Indikators 46 spezifizieren und die Zählervorrichtung 45 anweisen, die Beleuchtung des Indikators 46 bei dem Benachrichtigungsaspekt zu steuern.
  • Wie in 249 gezeigt, lässt die Indikatoranzeigesteuereinheit 91c den Indikator 46, z.B. in einer Phase, in der eine Einschränkung bei der Fahrt des Fahrzeugs auftreten kann, wie z.B. bei der Installation oder der Aktivierung, grün blinken. In einem Fall, in dem die Umschreibeziel-ECU 19 ein Zwei-Bank-Speicher ist, führt die Indikatoranzeigesteuereinheit 91c die Anzeige in blinkender Weise nur in einer Phase aus, in der die Aktivierung im Gange ist. In einem Fall, in dem die Umschreibeziel-ECU 19 einen Ein-Bank-Suspend-Speicher aufweist, zeigt die Indikatoranzeigesteuereinheit 91c den Indikator in blinkender Weise in der Laufende-Installations-Phase bei IG-AUS, der Aktivierungsgenehmigungsphase und der Laufende-Aktivierungs-Phase an. In einem Fall, in dem die Umschreibeziel-ECU 19 einen Ein-Bank-Speicher aufweist, zeigt die Indikatoranzeigesteuereinheit 91c die Anzeige in blinkender Weise in der Laufende-Installations-Phase, der Aktivierungsgenehmigungsphase und der Laufende-Aktivierungs-Phase an. D.h., die Anzeige des Indikators 46 in der Kampagnenbenachrichtigungsphase, der Download-Phase und der Phase nach Abschluss der Aktivierung (bei IG-AUS, IG-EIN und einer Prüfbedienung) ist unabhängig von der Speicherkonfiguration gleich, aber die Anzeige des Indikators 46 in der Installationsphase und der Aktivierungsphase wird in Abhängigkeit von einer Speicherkonfiguration bei unterschiedlichen Aspekten ausgeführt. Hier ist die in 249 gezeigte IG-AUS-Zeit ein Anzeigeaspekt, wenn die Aktivierung während des Parkens erfolgt und die IG-Energie aufgrund des Abschlusses der Aktivierung ausgeschaltet wird, wobei der Indikator 46 ausgeschaltet wird, wenn die IG-Energie ausgeschaltet wird. Anschließend, wenn die IG-Energie durch die Benutzerbedienung eingeschaltet wird, leuchtet der Indikator 46 auf. Damit wird der Benutzer darauf hingewiesen, dass die gesamte Programmaktualisierung abgeschlossen ist. Wenn der Benutzer die Schaltfläche „OK“ 510b auf dem in 91 gezeigten Prüfbedienungsbildschirm 510 drückt, wird bestimmt, dass eine Prüfbedienung erfolgt ist, und der Indikator 46 wird ausgeschaltet.
  • Nachstehend ist ein Fall beschrieben, in dem die Zählervorrichtung 45 einen Benachrichtigungsaspekt des Indikators 46 steuert, aber die Indikatoranzeigesteuereinheit 91c kann, wie vorstehend beschrieben, einen Benachrichtigungsaspekt des Indikators 46 steuern. 250 veranschaulicht einen Benachrichtigungsaspekt des Indikators in einem Fall, in dem der Speichertyp der Umschreibeziel-ECU 19 ein Zwei-Bank-Speicher ist. Die Zählervorrichtung 45 lässt den Indikator 46 auf der Grundlage von Befehlen vom CGW 13 in den Phasen von der Kampagnenbenachrichtigung bis zur Aktivierungsgenehmigung leuchten und in der Laufende-Aktivierungs-Phase blinken. Anschließend schaltet die Zählervorrichtung 45 den Indikator 46 bei IG-AUS aus, lässt den Indikator 46 bei IG-EIN leuchten und schaltet der Indikator 46 aus, wenn der Benutzer eine Prüfbedienung zum Abschließen der Aktualisierung ausführt. D.h., im Fall des Zwei-Bank-Speichers besteht die Wahrscheinlichkeit, dass die Fahrt des Fahrzeugs nur während der Ausführung der Aktivierung eingeschränkt werden kann. Nur die Ausführung der Aktivierung erfolgt während eines Zeitraums, in dem das Fahrzeug nicht fahren kann, weil es sich in einem Parkzustand befindet. Somit lässt die Zählervorrichtung 45 den Indikator 46 in der Laufende-Aktivierungs-Phase blinken. Hier ist der Indikator ein vorbestimmtes Design und wird bei normalem Verlauf grün angezeigt.
  • 251 veranschaulicht einen Benachrichtigungsaspekt des Indikators in einem Fall, in dem der Speichertyp der Umschreibeziel-ECU 19 ein Ein-Bank-Suspend-Speicher ist. In einem Fall, in dem das Anwendungsprogrammumschreibeziel ein Ein-Bank-Suspend-Speicher ist, lässt die Zählervorrichtung 45 den Indikator 46 auf der Grundlage von Befehlen vom CGW 13 in den Phasen von der Kampagnenbenachrichtigung bis zur Installationsgenehmigung leuchten, bei IG-EIN während der Ausführung der Installation leuchten und bei IG-AUS blinken. D.h., die Zählervorrichtung 45 lässt den Indikator 46 leuchten, weil das Schreiben in den Flash-Speicher der Ein-Bank-Suspend-Speicher-ECU nicht in einem IG-EIN-Zustand erfolgt, lässt aber den Indikator 46 blinken, weil das Schreiben in den Flash-Speicher in einem IG-AUS-Zustand erfolgt. Die Zählervorrichtung 45 lässt den Indikator 46 in den Phasen von der Aktivierungsgenehmigung bis zur laufenden Aktivierung blinken. Anschließend wird der Indikator 46 bei IG-AUS ausgeschaltet, der Indikator 46 bei IG-EIN eingeschaltet bzw. erleuchtet, und der Indikator 46 ausgeschaltet, wenn der Benutzer eine Prüfbedienung zum Abschließen der Aktualisierung ausführt. D.h., im Fall des Ein-Bank-Suspend-Speichers besteht die Wahrscheinlichkeit, dass das Fahren des Fahrzeugs von der laufenden Installation in einem IG-EIN-Zustand bis zur laufenden Aktivierung eingeschränkt wird. Folglich lässt die Zählervorrichtung 45 den Indikator 46 in diesen Phasen blinken. Hier ist es im Fall des Ein-Bank-Suspend-Speichers, auch während der Ausführung der Installation in einer inaktiven Bank, möglich, eine aktive Bank zu starten und das Fahren des Fahrzeugs zu steuern, indem die Installation gestoppt wird. Folglich kann, wie im Fall des Zwei-Bank-Speichers, die blinkende Anzeige nur während der Ausführung der Aktivierung erfolgen, in der das Fahrzeug nicht fahren kann.
  • 252 zeigt einen Benachrichtigungsaspekt des Indikators, wenn der Speichertyp der Umschreibeziel-ECU 19 ein Ein-Bank-Speicher ist. In einem Fall, in dem ein Anwendungsprogrammumschreibeziel ein Ein-Bank-Speicher ist, lässt die Zählervorrichtung 45 den Indikator 46 auf der Grundlage von Befehlen vom CGW 13 in den Phasen von der Kampagnenbenachrichtigung bis zur Installationsgenehmigung leuchten und in den Phasen von der laufenden Installation bis zur laufenden Aktivierung blinken. Anschließend wird der Indikator 46 bei IG-AUS ausgeschaltet, der Indikator 46 bei IG-EIN eingeschaltet bzw. erleuchtet und der Indikator 46 ausgeschaltet, wenn der Benutzer eine Prüfbedienung zum Abschließen der Aktualisierung ausführt. D.h., im Fall des Ein-Bank-Speichers besteht die Wahrscheinlichkeit, dass das Fahren des Fahrzeugs von der laufenden Installation bis zur laufenden Aktivierung eingeschränkt wird. Folglich lässt die Zählervorrichtung 45 den Indikator 46 in diesen Phasen blinken.
  • In einem Fall, in dem die ECUs 19 mit einem Zwei-Bank-Speicher, einem Ein-Bank-Suspend-Speicher und einem Ein-Bank-Speicher als die Programmumschreibeziel-ECUs 19 in einer Kampagnenbenachrichtigung enthalten sind, führt die Zählervorrichtung 45 das Umschreiben von Anwendungsprogrammen auf den ECUs 19 in der Reihenfolge Zwei-Bank-Speicher, Ein-Bank-Suspend-Speicher und Ein-Bank-Speicher aus. Nach der Kampagnenbenachrichtigung führt das CGW 13 die Download-Genehmigung für die laufende Installation auf der Zwei-Bank-Speicher-ECU 19 aus, und die Zählervorrichtung 45 lässt den Indikator 46 während dieser Zeitspanne leuchten. Wenn die Laufende-Installations-Phase auf Zwei-Bank-Speicher-ECU 19 abgeschlossen ist, führt das CGW 13 die Download-Genehmigung für die laufende Installation auf der Ein-Bank-Suspend-Speicher-ECU 19 aus, und die Zählervorrichtung 45 lässt den Indikator 46 während dieser Zeitspanne leuchten. Wenn die Laufende-Installations-Phase auf der Ein-Bank-Suspend-Speicher-ECU 19 abgeschlossen ist, führt das CGW 13 die Download-Genehmigung für die Installationsgenehmigung auf der Ein-Bank-Speicher-ECU 19 aus, und die Zählervorrichtung 45 lässt den Indikator 46 während dieser Zeitspanne leuchten.
  • Die Zählervorrichtung 45 lässt die Anzeigen 46 von der laufenden Installation im Ein-Bank-Speicher bis zur laufenden Aktivierung in drei Typen der ECUs 19, deren Speichertypen sich voneinander unterscheiden, blinken. Die Zählervorrichtung 45 schalten den Indikator 46 beim anschließenden IG-AUS aus, lässt den Indikator 46 bei IG-EIN leuchten und schaltet der Indikator 46 aus, wenn der Benutzer eine Prüfbedienung zum Abschließen der Aktualisierung ausführt.
  • Die Zählervorrichtung 45 kann die folgende Steuerung in einem Fall ausführen, in dem die ECUs 19 einen Zwei-Bank-Speicher, einen Ein-Bank-Suspend-Speicher und einen Ein-Bank-Speicher als die Programmumschreibeziel-ECUs 19 in einer Kampagnenbenachrichtigung aufweisen. Die Zählervorrichtung 45 führt das Umschreiben von Anwendungsprogrammen auf den ECUs 19 in der Reihenfolge Zwei-Bank-Speicher, Ein-Bank-Suspend-Speicher und Ein-Bank-Speicher aus. Nach der Kampagnenbenachrichtigung erteilt das CGW 13 einen Befehl zum Erleuchten eines vorbestimmten grünen Musters als der Indikator 46 bei der Download-Genehmigung für das Herunterladen eines Verteilungspakets mit Aktualisierungsdaten von Umschreibeziel-ECUs 19 und dem laufenden Download. Anschließend erteilt das CGW 13 einen Befehl zum Erleuchten eines vorbestimmten grünen Musters bzw. Designs als der Installationsgenehmigungsindikator 46. Die Installationsgenehmigung dient hier ebenso als die Aktivierungsgenehmigung für die komfortable Einbindung der Ein-Bank-Speicher-ECU 19. Wenn die Genehmigung des Benutzers für die Installation vorliegt, führt das CGW 13 zunächst die Installation auf der Zwei-Bank-Speicher-ECU 19 aus. Während die Installation in der Zwei-Bank-Speicher-ECU 19 erfolgt, lässt die Zählervorrichtung 45 die Indikatoren 46 leuchten. Wenn das CGW 13 die Laufende-Installations-Phase für die Zwei-Bank-Speicher-ECU 19 abschließt, führt das CGW 13 die Installation auf der Ein-Bank-Suspend-Speicher-ECU 19 aus. Während der Installation in der Ein-Bank-Suspend-Speicher-ECU 19 lässt die Zählervorrichtung 45 den Indikator 46 leuchten. Wenn das CGW 13 die Laufende-Installations-Phase für die Ein-Bank-Suspend-Speicher-ECU 19 abschließt, führt das CGW 13 die Installation auf der Ein-Bank-Speicher-ECU 19 aus. Während die Installation in der Ein-Bank-Suspend-Speicher-ECU 19 erfolgt, lässt die Zählervorrichtung 45 den Indikator 46 blinken. Wenn die Installation in allen der Umschreibeziel-ECUs 19 abgeschlossen ist, führt das CGW 13 die Aktivierung in einem Zustand aus, in dem der Indikator 46 blinkt. Das CGW 13 weist die Zählervorrichtung 45 an, den Indikator 46 beim anschließenden IG-AUS auszuschalten, weist die Zählervorrichtung 45 an, den Indikator 46 bei IG-EIN leuchten zu lassen bzw. einzuschalten, und weist die Zählervorrichtung 46 an, den Indikator 46 auszuschalten, wenn der Benutzer eine Prüfbedienung zum Abschließen der Aktualisierung ausführt.
  • In den jeweiligen Phasen, die in den 250 bis 252 gezeigt sind, weist das CGW 13 ebenso die In-Vehicle-Anzeige 7 an, Symbole bzw. Icons anzuzeigen. Das CGW 13 erteilt einen Befehl zum Anzeigen des in 68 gezeigten Kampagnenbenachrichtigungssymbols 501a in der Kampagnenbenachrichtigungsphase. Das CGW 13 setzt die Anzeige der Kampagnenbenachrichtigungssymbole 501a auch in der Download-Genehmigungsphase fort. Das CGW 13 erteilt einen Befehl zum Anzeigen des in 72 gezeigten Laufender-Download-Symbols 501b in der Laufender-Download-Phase. In der Installationsgenehmigungsphase kann das CGW 13 die Anzeige des Laufender-Download-Symbols 501b fortsetzen oder einen Befehl zum erneuten Anzeigen des Kampagnenbenachrichtigungssymbols 501a erteilen. Das CGW 13 erteilt einen Befehl zum Anzeigen des in 77 gezeigten Laufende-Installation-Symbols 501c in der Laufende-Installations-Phase. In der Aktivierungsgenehmigungsphase kann das CGW 13 die Anzeige des Laufende-Installation-Symbols 501c fortsetzen oder einen Befehl zum erneuten Anzeigen des Kampagnenbenachrichtigungssymbols 501a erteilen. Das CGW 13 zeigt die Symbole in der Laufende-Aktivierungs-Phase und beim anschließenden IG-AUS nicht an. Bei IG-EIN kann das CGW 13 einen Befehl zur erneuten Anzeige des Kampagnenbenachrichtigungssymbols 501a erteilt oder den Aktivierungsabschlussbenachrichtigungsbildschirm 509 als Pop-up anzeigen, wie in 80 gezeigt. Das CGW 13 zeigt die Symbole nicht an, wenn der Benutzer eine Prüfbedienung zum Abschließen der Aktualisierung ausführt. Es gibt nur eine Symbolanzeige in Bezug auf die Programmaktualisierung, und die Symbolanzeige wird aus einem Design entsprechend jeder Phase gebildet.
  • Wie oben beschrieben, unterscheidet sich in einem Fall, in dem das CGW 13 einen Befehl für eine Benachrichtigung, dass das Anwendungsprogramm umgeschrieben wird, unter Verwendung des Indikators 46 erteilt, wenn eine Abnormität während des Umschreibens des Anwendungsprogramms auftritt, ein Benachrichtigungsaspekt von dem während der normalen Zeit. Das CGW 13 erteilt z.B. einen Befehl für eine grün leuchtende Anzeige oder eine grün blinkende Anzeige, wenn das Umschreiben des Anwendungsprogramms normal ausgeführt wird, und erteilt z.B. einen Befehl für eine gelb oder rot leuchtende Anzeige oder eine gelb oder rot blinkende Anzeige, wenn eine Abnormität auftritt. Das CGW 13 kann die Farben entsprechend dem Grad der Abnormität ändern, beispielsweise einen Befehl für eine rot leuchtende Anzeige oder eine rot blinkende Anzeige erteilen, wenn der Grad der Abnormität relativ hoch ist, und einen Befehl für eine gelb leuchtende Anzeige oder eine gelb blinkende Anzeige erteilen, wenn der Grad der Abnormität relativ niedrig ist. Hier umfasst die obige 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 Umschreibeziel-ECU 19 geschrieben werden können, einen Zustand, in dem Schreibdaten fehlerhaft sind, und dergleichen.
  • Die In-Vehicle-Anzeige 7 zeigt nacheinander den Kampagnenbenachrichtigungsbildschirm 502, den Download-Genehmigungsbildschirm 503, den Laufender-Download-Bildschirm 504, den Download-Abschlussbenachrichtigungsbildschirm 505, die Installationsgenehmigung 506, den Laufende-Installation-Bildschirm 507, den Aktivierungsgenehmigungsbildschirm 508, den IG-EIN-Bildschirm 509 und den Aktualisierungsabschluss-Prüfbedienungs-Bildschirm 510 als detaillierte Anzeige auf der Grundlage der Benutzerbedienung an. Im mobilen Endgerät 6, das kommunikativ mit der Zentralvorrichtung 3 verbunden ist, kann die gleiche detaillierte Anzeige wie in der In-Vehicle-Anzeige 7 erfolgen. In einem Fahrzeug, in dem die In-Vehicle-Anzeige 7 nicht montiert ist, fragt z.B. in einem Fall, in dem der Benutzer die detaillierte Anzeige durch Bedienen eines Lenkradschalters oder dergleichen anfragt, das CGW 13 die detaillierte Anzeige über das DCM 12 bei der Zentralvorrichtung 3 an. Die Zentralvorrichtung 3 erstellt den Inhalt der detaillierten Anzeige, und das mobile Endgerät 6 zeigt den Inhalt so an, dass der Benutzer die detaillierte Information auf dem mobilen Endgerät 6 überprüfen kann.
  • Wie in 253 gezeigt, startet das CGW 13 in einem Fall, in dem ein Anwendungsprogramm eines Ein-Bank-Suspend-Speichers oder eines Ein-Bank-Speichers einer IG-ECU oder einer ACC-ECU während eines Parkens umgeschrieben wird, zwingend die Energieversorgungsverwaltungs-ECU 20, um die Energie des Fahrzeugs einzuschalten. In diesem Fall wird, wenn die Energieversorgungsverwaltungs-ECU 20 erzwungen gestartet wird, die Zählervorrichtung 45 oder die In-Vehicle-Anzeige 7 aufgrund eines Betriebs der Energieversorgungsverwaltungs-ECU 20 gestartet. Damit weist das CGW 13 die Zählervorrichtung 45 oder die In-Vehicle-Anzeige 7 an, eine Benachrichtigung über die Programmaktualisierung zu unterdrücken. Wenn die Zählervorrichtung 45 angewiesen wird, die Benachrichtigung über die Aktualisierung des Programms vom CGW 13 zu unterdrücken, lässt die Zählervorrichtung 45 den Indikator 46 nicht leuchten oder blinken. Wenn die In-Vehicle-Anzeige 7 angewiesen wird, die Benachrichtigung über die Programmaktualisierung vom CGW 13 zu unterdrücken, führt die In-Vehicle-Anzeige 7 die oben beschriebene detaillierte Anzeige nicht aus. D.h., im Falle einer Situation, in der der Benutzer bei der Installation oder der Aktivierung, die während eines Parkens ausgeführt wird, nicht fährt, wird, da die Benachrichtigung über die Programmaktualisierung unnötig ist, die Steuerung so ausgeführt, dass die Benachrichtigung nicht erfolgt.
  • Wenn die Energieversorgungsverwaltungs-ECU 20 erzwungen gestartet wird, um die Fahrzeugenergie einzuschalten, ist eine Motorsteuerung durch den Empfang einer Bedienung eines Druckschalters durch den Benutzer möglich, aber das CGW 13 weist die Energieversorgungsverwaltungs-ECU 20 an, den Empfang der Benutzerbedienung für ungültig zu erklären, und weist die Zählereinrichtung 45, die In-Vehicle-Anzeige 7 und die ECU 19 in Bezug auf die Benutzerbedienung an, eine Benachrichtigung über die Ungültigkeit des Empfangs der Benutzerbedienung auszuführen. In einem Fall, in dem die Zählervorrichtung 45 angewiesen ist, den Empfang der Benutzerbedienung vom CGW 13 für ungültig zu erklären, macht die Zählervorrichtung 45 den Empfang der Bedienung ungültig, selbst wenn der Benutzer die Bedienung an der Zählervorrichtung 45 ausführt. In gleicher Weise macht die In-Vehicle-Anzeige 7 in einem Fall, in dem die In-Vehicle-Anzeige 7 angewiesen wird, den Empfang der Benutzerbedienung vom CGW 13 für ungültig zu erklären, den Empfang der Bedienung ungültig, auch wenn der Benutzer die Bedienung an der In-Vehicle-Anzeige 7 ausführt. In einem Fall, in dem die Motor-ECU 47 angewiesen wird, den Empfang der Benutzerbedienung vom CGW 13 ungültig zu machen, macht die Motor-ECU 47 den Empfang der Bedienung ungültig, um zu verhindern, dass der Motor gestartet wird, selbst wenn der Benutzer die Bedienung zum Starten des Motors mit dem Druckschalter ausführt.
  • Wie oben beschrieben, weist das CGW 13 die Zählervorrichtung 45 an, eine Benachrichtigung auszuführen, dass ein Anwendungsprogramm umgeschrieben wird, indem es den Programmaktualisierungsbenachrichtigungs-Steuerprozess ausführt. Auch in einer Situation, in der der Benutzer nicht über das mobile Endgerät 6 oder die In-Vehicle-Anzeige 7 darüber informiert werden kann, dass ein Anwendungsprogramm umgeschrieben wird, kann der Benutzer in geeigneter Weise darüber informiert werden, dass ein Anwendungsprogramm umgeschrieben wird, indem der Benutzer über die Zählervorrichtung 45 darüber informiert wird, dass ein Anwendungsprogramm umgeschrieben wird. Das CGW 13 kann einen Benachrichtigungsaspekt in Übereinstimmung mit einer Fortschrittssituation des Umschreibens eines Anwendungsprogramms ändern.
  • Selbsterhaltungsenergie-Ausführungssteuerprozess
  • Nachstehend ist der Selbsterhaltungsenergie-Ausführungssteuerprozess unter Bezugnahme auf die 254 bis 258 beschrieben. Das Fahrzeugprogrammumschreibesystem 1 führt einen Selbsterhaltungsenergie-Ausführungssteuerprozess in dem CGW 13, der ECU 19, der In-Vehicle-Anzeige 7 und der Energieversorgungsverwaltungs-ECU 20 aus. In diesem Fall erteilt das CGW 13 einen Befehl für Selbsterhaltungsenergie an die ECU 19, die In-Vehicle-Anzeige 7 und die Energieversorgungsverwaltungs-ECU 20. D.h., das CGW 13 entspricht einer Fahrzeug-Master-Vorrichtung, und die ECU 19, die In-Vehicle-Anzeige 7 und die Energieversorgungsverwaltungs-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 in 254 gezeigt, enthält das CGW 13, in der Selbsterhaltungsenergie-Ausführungssteuereinheit 92, eine Fahrzeugenergiebestimmungseinheit 92a, eine Laufende-Umschreibung-Bestimmungseinheit 92b, eine erste Selbsterhaltungsenergie-Bestimmungseinheit 92c, eine Selbsterhaltungsenergie-Befehlseinheit 92d, eine zweite Selbsterhaltungsenergie-Bestimmungseinheit 92e, eine zweite Selbsterhaltungsenergie-Aktivierungseinheit 92f, eine zweite Stoppbedingungserfüllungs-Bestimmungseinheit 92g und eine zweite Selbsterhaltungsenergie-Stoppeinheit 92h.
  • Die Fahrzeugenergiebestimmungseinheit 92a bestimmt das Ein- und Ausschalten der Fahrzeugenergie. Die Laufende-Umschreibung-Bestimmungseinheit 92b bestimmt, ob oder nicht ein Anwendungsprogramm umgeschrieben wird. Die Laufende-Umschreibung-Bestimmungseinheit 95b bestimmt ebenso die Umschreibeziel-ECU 19, in der das Anwendungsprogramm umgeschrieben wird. Die erste Selbsterhaltungsenergie-Aktivierungseinheit 92c bestimmt die Notwendigkeit der Selbsterhaltung der Energie in den Fahrzeug-Slave-Vorrichtungen, wenn von der Fahrzeugenergiebestimmungseinheit 92a bestimmt wird, dass die Fahrzeugenergie ausgeschaltet wird, und von der Laufende-Umschreibung-Bestimmungseinheit 92b bestimmt wird, dass das Programm umgeschrieben wird. D.h., die erste Selbsterhaltungsenergie-Aktivierungseinheit 92c nimmt Bezug auf die in 8 gezeigten Umschreibespezifikationsdaten und bestimmt, dass die Energie selbst erhalten werden muss, wenn ein Umschreibeverfahren in der ECU-Information der Umschreibeziel-ECU 19 als das Selbsterhaltungsenergieverfahren benannt ist, und bestimmt, dass die Energie nicht selbst erhalten werden muss, wenn das Umschreibeverfahren als das Energieversorgungsteuerverfahren spezifiziert ist.
  • Wenn von der ersten Selbsterhaltungsenergie-Bestimmungseinheit 92c bestimmt wird, dass die Energie in der Fahrzeug-Slave-Vorrichtung selbst erhalten werden muss, weist die Selbsterhaltungsenergie-Befehlseinheit 92d die Fahrzeug-Slave-Vorrichtung an, die erste Selbsterhaltungsenergieschaltung zu aktivieren. Als Aspekt, bei dem die Selbsterhaltungsenergie-Befehlseinheit 92d einen Befehl zum Aktivieren der ersten Selbsterhaltungsenergieschaltung erteilt, gibt es einen Aspekt der Benennung einer Beendigungszeit der Selbsterhaltungsenergie, einen Aspekt des Erteilens eines Befehls für eine Verlängerungszeit der Selbsterhaltungsenergie und einen Aspekt des Fortsetzens der periodischen Ausgabe einer Selbsterhaltungsanfrage an die Fahrzeug-Slave-Vorrichtung. Die Selbsterhaltungsenergie-Befehlseinheit 92d nimmt Bezug auf die in 44 gezeigten Umschreibedaten und weist die Fahrzeug-Slave-Vorrichtung an, die erste Selbsterhaltungsenergieschaltung gemäß einer Zeit zu aktivieren, die in der Selbsterhaltungsenergiezeit der ECU-Information der Umschreibeziel-ECU 19 angegeben ist.
  • D.h., bei dem Aspekt der Bestimmung der Beendigungszeit der Selbsterhaltungsenergie bestimmt die Selbsterhaltungsenergie-Befehlseinheit 92d, als die Beendigungszeit, die Zeit, die sich ergibt, wenn die in den Umschreibespezifikationsdaten bestimmte Zeit zu der aktuellen Zeit addiert wird. Im Fall der Bestimmung der Verlängerungszeit der Selbsterhaltungsenergie bestimmt die Selbsterhaltungsenergie-Befehlseinheit 92d die in den Umschreibespezifikationsdaten angegebene Zeit als die Verlängerungszeit. Bei dem Aspekt der Fortsetzung der periodischen Ausgabe der Selbsterhaltungsanfrage an die Fahrzeug-Slave-Vorrichtung, setzt die Selbsterhaltungsenergie-Befehlseinheit 92d die Ausgabe der Selbsterhaltungsanfrage an die Fahrzeug-Slave-Vorrichtung fort, bis die in den Umschreibespezifikationsdaten angegebene Zeit verstrichen ist.
  • Die zweite Selbsterhaltungsenergie-Bestimmungseinheit 92e bestimmt die Notwendigkeit der Selbsterhaltung der Energie darin, wenn von der Fahrzeugenergiebestimmungseinheit 92a bestimmt wird, dass die Fahrzeugenergie ausgeschaltet wird, und von der Laufende-Umschreibung-Bestimmungseinheit 92b bestimmt wird, dass das Programm umgeschrieben wird. D.h., die Notwendigkeit der Selbsterhaltung der Energie wird unter Berücksichtigung einer Konfiguration bestimmt, in der das CGW 13 ein IG-Energiesystem oder ein ACC-Energiesystem ist. Wenn von der zweiten Selbsterhaltungsenergie-Bestimmungseinheit 92e bestimmt wird, dass es notwendig ist, die Energieversorgung darin selbst zu erhalten, aktiviert die zweite Selbsterhaltungsenergie-Aktivierungseinheit 92f die zweite Selbsterhaltungsenergieschaltung.
  • In diesem Fall, wenn die zweite Selbsterhaltungsenergieschaltung aktuelle gestoppt ist, startet die zweite Selbsterhaltungsenergie-Aktivierungseinheit 92f die zweite Selbsterhaltungsenergieschaltung und aktiviert damit die zweite Selbsterhaltungsenergieschaltung. In einem Fall, in dem die zweite Selbsterhaltungsenergieschaltung aktuell gestartet wird, verlängert die zweite Selbsterhaltungsenergie-Aktivierungsschaltung 92f eine Betriebsdauer der zweiten Selbsterhaltungsenergieschaltung und aktiviert somit die Selbsterhaltungsenergieschaltung.
  • Die zweite Stoppbedingungserfüllungs-Bestimmungseinheit 92g bestimmt, ob oder nicht eine Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung erfüllt ist. Insbesondere überwacht die zweite Stoppbedingungserfüllungs-Bestimmungseinheit 92g eine verbleibende Batterieladung der Fahrzeugbatterie 40, das Auftreten einer Zeitüberschreitung und den Abschluss eines Umschreibens in der Umschreibeziel-ECU 19 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung geschätzt wird, wenn bestimmt wird, dass die verbleibende Batterieladung der Fahrzeugbatterie 40 kleiner als eine vorbestimmte Kapazität ist, die Zeitüberschreitung auftritt oder das Umschreiben in der Umschreibeziel-ECU 19 abgeschlossen ist. Wenn durch die zweite Stoppbedingungserfüllungs-Bestimmungseinheit 92g bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung erfüllt ist, stoppt die zweite Selbsterhaltungsenergie-Stoppeinheit 92h die zweite Selbsterhaltungsenergieschaltung.
  • Wie in 255 gezeigt, enthält die ECU 19 eine Befehlsbestimmungseinheit 108a, eine erste Selbsterhaltungsenergie-Aktivierungseinheit 108b, eine erste Stoppbedingungserfüllungs-Bestimmungseinheit 108c und eine erste Selbsterhaltungsenergie-Stoppeinheit 108d in der Selbsterhaltungsenergie-Ausführungssteuereinheit 108. Die Befehlsbestimmungseinheit 108a bestimmt, ob oder nicht ein Befehl zum Aktivieren der ersten Selbsterhaltungsenergieschaltung vom CGW 13 erteilt wurde.
  • Die erste Selbsterhaltungsenergie-Aktivierungseinheit 108b aktiviert die erste Selbsterhaltungsenergieschaltung, wenn von der Befehlsbestimmungseinheit 108a bestimmt wird, dass der Befehl zum Aktivieren der ersten Selbsterhaltungsenergieschaltung erteilt wurde. In einem Fall, in dem eine Beendigungszeit der Selbsterhaltungsenergie festgelegt ist, aktiviert die erste Selbsterhaltungsenergie-Aktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung bis zur festgelegten Beendigungszeit. In einem Fall, in dem eine Verlängerungszeit der Selbsterhaltungsenergie festgelegt ist, aktiviert die erste Selbsterhaltungsenergie-Aktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung, bis die festgelegte Verlängerungszeit von der aktuellen Zeit an verstrichen ist. In einem Fall, in dem eine Selbsterhaltungsanfrage vom CGW 13 eingegeben wird, aktiviert die erste Selbsterhaltungsenergie-Aktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung, solange die Selbsterhaltungsanfrage kontinuierlich eingegeben wird.
  • In diesem Fall, wenn die erste Selbsterhaltungsenergieschaltung gerade gestoppt wird, startet die erste Selbsterhaltungsenergie-Aktivierungsschaltung 108b die erste Selbsterhaltungsenergieschaltung und aktiviert damit die erste Selbsterhaltungsenergieschaltung. In einem Fall, in dem die erste Selbsterhaltungsenergieschaltung gerade gestartet wird, verlängert die erste Selbsterhaltungsenergie-Aktivierungsschaltung 108b eine Betriebsdauer der ersten Selbsterhaltungsenergieschaltung und aktiviert somit die erste Selbsterhaltungsenergieschaltung. Die erste Selbsterhaltungsenergie-Aktivierungseinheit 108b speichert eine Standard-Selbsterhaltungsenergiezeit und aktiviert die erste Selbsterhaltungsenergieschaltung für die Standard-Selbsterhaltungsenergiezeit, auch wenn kein Befehl zum Aktivieren der ersten Selbsterhaltungsenergieschaltung erteilt wird. D.h., wenn der Befehl zum Aktivieren der ersten Selbsterhaltungsenergieschaltung erteilt wird, aktiviert die erste Selbsterhaltungsenergie-Aktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung mit Priorität für die längere Zeit der Standard-Selbsterhaltungsenergiezeit und der Selbsterhaltungsenergiezeit basierend auf dem Befehl vom CGW 13.
  • Die erste Stoppbedingungserfüllungs-Bestimmungseinheit 108c bestimmt, ob oder nicht eine Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist. Insbesondere, wenn ein Selbsterhaltungsenergieziel die Umschreibeziel-ECU 19 ist, überwacht die erste Stoppbedingungserfüllungs-Bestimmungseinheit 108c das Auftreten einer Zeitüberschreitung und einen Stoppbefehl vom CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist, wenn bestimmt wird, dass die Zeitüberschreitung aufgetreten ist oder der Stoppbefehl vom CGW 13 empfangen wurde. Wenn ein Selbsterhaltungsenergieziel die In-Vehicle-Anzeige 7 ist, überwacht die erste Stoppbedingungserfüllungs-Bestimmungseinheit 108c das Auftreten einer Zeitüberschreitung, ein Aussteigen des Benutzers und einen Stoppbefehl vom CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist, wenn bestimmt wird, dass die Zeitüberschreitung aufgetreten ist, der Benutzer ausgestiegen ist oder der Stoppbefehl vom CGW 13 empfangen wurde. Wenn ein Selbsterhaltungsenergieziel die Energieversorgungsverwaltungs-ECU 20 ist, überwacht die erste Stoppbedingungserfüllungs-Bestimmungseinheit 108c einen Stoppbefehl vom CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist, wenn bestimmt wird, dass der Stoppbefehl vom CGW 13 empfangen wurde. Die erste Selbsterhaltungsenergie-Stoppeinheit 108d stoppt die erste Selbsterhaltungsenergieschaltung, wenn durch die zweite Stoppbedingungserfüllungs-Bestimmungseinheit 108c bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung erfüllt ist.
  • Nachstehend ist ein Betrieb der vorstehend beschriebenen Konfiguration unter Bezugnahme auf die 256 bis 258 beschrieben. Hier ist ein Fall beschrieben, bei dem die Fahrzeug-Slave-Vorrichtung die Umschreibeziel-ECU 19 ist. Sowohl das CGW 13 als auch die Umschreibeziel-ECU 19 führen ein Selbsterhaltungsenergie-Ausführungssteuerprogramm aus und führen somit den Selbsterhaltungsenergie-Ausführungssteuerprozess aus.
  • Wenn der Selbsterhaltungsenergie-Ausführungssteuerprozess initiiert wird, bestimmt das CGW 13, ob oder nicht die Fahrzeugenergie ausgeschaltet wird (S2601; entsprechend einer Fahrzeugenergiebestimmungsprozedur). Wenn bestimmt wird, dass die Fahrzeugenergie ausgeschaltet wird (S2601: JA), bestimmt das CGW 13, ob oder nicht das Anwendungsprogramm umgeschrieben wird (S2602; entsprechend einer Laufende-Umschreibung-Bestimmungsprozedur). Wenn bestimmt wird, dass das Anwendungsprogramm umgeschrieben wird (S2602: JA), startet das CGW 13 die zweite Selbsterhaltungsenergieschaltung (S2603; entsprechend einer zweiten Selbsterhaltungsenergie-Aktivierungsprozedur) und bestimmt die Notwendigkeit der Selbsterhaltung der Energie in der Umschreibeziel-ECU 19 (S2604; entsprechend einer Selbsterhaltungsenergiebestimmungsprozedur).
  • Wenn bestimmt wird, dass es notwendig ist, die Energie in der Umschreibeziel-ECU 19 selbst zu erhalten (S2604: JA), weist das CGW 13 die Umschreibeziel-ECU 19 an, die erste Selbsterhaltungsenergieschaltung zu aktivieren (S2605; entsprechend einer Selbsterhaltungsenergiebefehlsprozedur). Es wird bestimmt, ob oder nicht 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), stoppt das CGW 13 die zweite Selbsterhaltungsenergieschaltung (S2607) und beendet den Selbsterhaltungsenergie-Ausführungssteuerprozess.
  • Obwohl das CGW 13 konfiguriert ist, um die Selbsterhaltungsenergieschaltung zu starten, wenn bestimmt wird, dass ein Anwendungsprogramm umgeschrieben wird, kann das CGW 13 konfiguriert sein, um die Selbsterhaltungsenergieschaltung zu starten, wenn bestimmt wird, dass die Fahrzeugenergie ausgeschaltet wird, und um eine Betriebsdauer der Selbsterhaltungsenergieschaltung, die aktuell gestartet wird, zu verlängern, wenn bestimmt wird, dass das Anwendungsprogramm umgeschrieben wird.
  • Wenn der Selbsterhaltungsenergie-Ausführungssteuerprozess initiiert wird, bestimmt die Umschreibeziel-ECU 19, ob oder nicht die Fahrzeugenergie ausgeschaltet wird (S2611). Wenn bestimmt wird, dass die Fahrzeugenergie ausgeschaltet wird (S2611: JA), startet die Umschreibeziel-ECU 19 die Selbsterhaltungsenergieschaltung (S2612), bestimmt, ob oder nicht eine Stoppbedingung für die Selbsterhaltungsenergie erfüllt ist (S2613), und bestimmt, ob oder nicht ein Befehl zum Aktivieren der Selbsterhaltungsenergieschaltung vom CGW 13 erteilt wurde (S2614). Wenn bestimmt wird, dass der Befehl zum Aktivieren der Selbsterhaltungsenergieschaltung vom CGW 13 erteilt wurde (S2614: JA), verlängert die Umschreibeziel-ECU 19 eine Betriebsdauer der aktuell gestarteten Selbsterhaltungsenergieschaltung (S2615). Wenn bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie erfüllt ist (S2613: JA), stoppt die Umschreibeziel-ECU 19 die Selbsterhaltungsenergieschaltung (S2616) und beendet den Selbsterhaltungsenergie-Ausführungssteuerprozess.
  • Obgleich die Umschreibeziel-ECU 19 konfiguriert ist, um die Selbsterhaltungsenergieschaltung in einem Fall zu starten, in dem bestimmt wird, dass die Fahrzeugenergie ausgeschaltet wird, kann die Umschreibeziel-ECU 19 konfiguriert sein, um die Selbsterhaltungsenergieschaltung nicht zu starten und zu bestimmen, dass die Fahrzeugenergie ausgeschaltet wird, wenn die Fahrzeugenergie ausgeschaltet wird, und um die Selbsterhaltungsenergieschaltung, die aktuell gestoppt ist, zu starten, wenn bestimmt wird, dass ein Befehl zum Aktivieren der Selbsterhaltungsenergieschaltung vom CGW 13 erteilt wird.
  • Die obige Beschreibung bezieht sich auf einen Fall, in dem eine Fahrzeug-Slave-Vorrichtung die Umschreibeziel-ECU 19 ist, aber das Gleiche gilt für einen Fall, in dem eine Fahrzeug-Slave-Vorrichtung die In-Vehicle-Anzeige 7 oder die Energieversorgungsverwaltungs-ECU 20 ist. Wie in 258 gezeigt, ist in der Umschreibeziel-ECU 19 der Betrieb der Selbsterhaltungsenergieschaltung in einem Zeitraum von der Installationsvorbereitung bis zum Post-Umschreibeprozess erforderlich, und in der In-Vehicle-Anzeige 7 ist der Betrieb der Selbsterhaltungsenergieschaltung in den Zeiträumen des Wartens auf die Umschreibegenehmigung, des Wartens auf die Download-Genehmigung, des Wartens auf die Installationsgenehmigung und des Wartens auf die Aktivierungsgenehmigung erforderlich.
  • Wie oben beschrieben, bestimmt das CGW 13 durch Ausführen des Selbsterhaltungsenergie-Ausführungssteuerprozesses, wenn bestimmt wird, dass die Fahrzeugenergie ausgeschaltet und ein Anwendungsprogramm umgeschrieben wird, die Notwendigkeit der Selbsterhaltung der Energie in der Umschreibeziel-ECU 19, und wenn bestimmt wird, dass es notwendig ist, die Energie selbst zu erhalten, weist das CGW 13 die Umschreibeziel-ECU 19 an, die Selbsterhaltungsenergieschaltung zu aktivieren. Wenn bestimmt wird, dass ein Befehl zum Aktivieren der Selbsterhaltungsenergieschaltung vom CGW 13 erteilt wurde, aktiviert die Umschreibeziel-ECU 19 die Selbsterhaltungsenergieschaltung. Die Selbsterhaltungsenergieschaltung wird aktiviert, so dass die Betriebsenergie für das Umschreiben des Anwendungsprogramms gesichert und das Umschreiben des Anwendungsprogramms in geeigneter Weise abgeschlossen werden kann.
  • Nachstehend ist der Gesamtablauf der Programmaktualisierung mit den oben beschriebenen charakteristischen Prozessen (1) bis (26) unter Bezugnahme auf die 259 bis 269 beschrieben. Hier ist ein Beispiel beschrieben, bei dem Anwendungsprogramme der ECU (ID1), der ECU (ID2) und der ECU (ID3), die mit dem ersten Bus verbunden sind, umgeschrieben werden, und bei dem Anwendungsprogramme der ECU (ID4), der ECU (ID5) und der ECU (ID6), die mit dem zweiten Bus verbunden sind, nicht umgeschrieben werden. Die ECU (ID1) und die ECU (ID4) weisen Ein-Bank-Speicher auf, die ECU (ID5) weist einen Ein-Bank-Suspend-Speicher auf, und die ECU (ID2), die ECU (ID3) und die ECU (ID6) weisen Zwei-Bank-Speicher auf. Die ECU (ID1), die ECU (ID4), die ECU (ID5) und die ECU (ID6) sind IG-Energie-ECUs, die ECU (ID2) ist eine ACC-Energie-ECU, und die ECU (ID3) ist eine +B-Energie-ECU.
  • Als eine erste Vorbereitung bedient der Benutzer das mobile Endgerät 6 oder dergleichen, gibt persönliche Information wie eine Fahrzeugnummer (eine Kennnummer eines Fahrzeugs) oder eine Mobiltelefonnummer ein und registriert ein Konto in der Zentralvorrichtung 3 (S5001). Ferner bedient der Benutzer das mobile Endgerät 6 oder dergleichen, gibt Ausführungsbedingungen ein und bestimmt eine Fahrzeugposition, einen Zeitraum oder dergleichen als Bedingungen für die Erlaubnis bzw. Genehmigung zum Ausführen der Programmaktualisierung. Die Zentralvorrichtung 3 speichert über das mobile Endgerät 6 empfangene persönliche Information oder dergleichen in einer Datenbank (S5002).
  • Im fahrzeugseitigen System 4 sammelt das CGW 13 Information über das Fahrzeug (S5011) und lädt die Information über das DCM 12 auf die Zentralvorrichtung 3 hoch (S5012). Insbesondere umfasst die Information eine Programmversion, eine Speicherkonfiguration jeder ECU 19, Aktive-Bank-Information, am Fahrzeug montierte elektrische Komponenten, eine Fahrzeugposition, einen Fahrzeugenergiezustand und dergleichen. Die Zentralvorrichtung 3 speichert die vom fahrzeugseitigen System 4 empfangene Information in der Datenbank (S5013).
  • Wenn eine Programmaktualisierung erforderlich ist, erzeugt die Zentralvorrichtung 3 die in den 43 und 44 gezeigten Umschreibespezifikationsdaten, einschließlich Schreibdaten, die von einem Anbieter bereitgestellt werden, der ein Provider eines Anwendungsprogramms ist, und der in der Datenbank gespeicherten Information. Die Zentralvorrichtung 3 erzeugt Umprogrammierungsdaten, die die Schreibdaten, einen Authentifikator davon und die Umschreibespezifikationsdaten enthalten. Die Zentralvorrichtung 3 packt die erzeugten Umprogrammierungsdaten, die separat erzeugten Verteilungsspezifikationsdaten (45) und einen Paketauthentifikator in eine Datei und erzeugt und registriert ein Verteilungspaket (S5021).
  • Nachdem das Verteilungspaket vorbereitet wurde, benachrichtigt die Zentralvorrichtung 3 den Benutzer über die Programmaktualisierung. Die Zentralvorrichtung 3 nimmt Bezug auf die in der Datenbank gespeicherte persönliche Information und sendet eine Kurznachricht (SMS) an das mobile Endgerät 6 (S5031). Das mobile Endgerät 6 wird durch die Benutzerbedienung mit einer in der SMS beschriebenen URL (Uniform Resource Locator bzw. Internetadresse) verbunden und zeigt einen Benachrichtigungsinhalt an (S5032). Das mobile Endgerät 6 meldet der Zentralvorrichtung 3 eine Genehmigung oder Ablehnung für die Programmaktualisierung durch die Benutzerbedienung (S5033). Die Zentralvorrichtung 3 registriert die Benutzerabsichtsinformation (Genehmigung oder Ablehnung) in der Datenbank (S5034). Hier kann der Benutzer anstelle des mobilen Endgeräts 6 auch über die In-Vehicle-Anzeige 7 benachrichtigt werden.
  • Das CGW 13 empfängt die von der Zentralvorrichtung 3 gesendeten Verteilungsspezifikationsdaten über das DCM 12 und leitet die Verteilungsspezifikationsdaten an die In-Vehicle-Anzeige 7 weiter (S5035). Die In-Vehicle-Anzeige 7 analysiert die Verteilungsspezifikationsdaten und zeigt einen Anzeigentext oder dergleichen an, der den Inhalt der Benachrichtigung darstellt (S5036). Die In-Vehicle-Anzeige 7 zeigt Bilddaten wie z.B. Symbole an und empfängt Eingaben dahingehend, ob oder nicht der Benutzer die Programmaktualisierung genehmigt. Das CGW 13 empfängt die Benutzerabsichtsinformation von der In-Vehicle-Anzeige 7 und meldet der Zentralvorrichtung 3 die Benutzerabsichtsinformation über das DCM 12 (S5037).
  • In einem Fall, in dem die Genehmigung für die Programmaktualisierung vom Benutzer erhalten wird, lädt das fahrzeugseitige System 4 das Verteilungspaket von der Zentralvorrichtung 3 herunter. Zunächst prüft die Zentralvorrichtung 3, ob die im Voraus festgelegten Ausführungsbedingungen für den Benutzer erfüllt sind (S5041). In einem Fall, in dem mindestens eine der Ausführungsbedingungen nicht erfüllt ist, sendet die Zentralvorrichtung 3 das Verteilungspaket nicht an das DCM 12. Wenn alle Ausführungsbedingungen erfüllt sind, sendet die Zentralvorrichtung 3 die Verteilungspakete an das DCM 12 (S5042). Wenn das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird, speichert das DCM 12 das heruntergeladene Verteilungspaket im Flash-Speicher. Das DCM 12 extrahiert den Verteilungspaket-Authentifikator aus dem Verteilungspaket und prüft die Integrität der Umprogrammierungsdaten und der Verteilungsspezifikationsdaten (S5043).
  • Das DCM 12 berechnet Authentifikatoren der Umprogrammierungsdaten und der Verteilungsspezifikationsdaten, indem es z.B. im CGW 13 gespeicherte Schlüsselinformation verwendet. Das DCM 12 vergleicht die berechneten Authentifikatoren mit dem aus dem Verteilungspaket extrahierten Authentifikator und bestimmt, dass die Verifizierung erfolgreich ist, wenn die Authentifikatoren übereinstimmen, und bestimmt, dass die Verifizierung scheitert, wenn die Authentifikatoren nicht übereinstimmen. Wenn bestimmt wird, dass die Verifizierung scheitert, löscht das DCM 12 das Verteilungspaket und benachrichtigt ebenso das CGW 13 und die Zentralvorrichtung 3 über den Verifizierungsfehler.
  • Wenn bestimmt wird, dass die Verifizierung des Verteilungspakets erfolgreich ist, entpackt das DCM 12 die im Verteilungspaket enthaltenen Umprogrammierungsdaten, wie in 46 gezeigt, und teilt die entpackten Umprogrammierungsdaten in Schreibdaten und Umschreibespezifikationsdaten für jede Umschreibeziel-ECU 19 auf (S5044). Die Umschreibespezifikationsdaten werden in DCM-Umschreibespezifikationsdaten und CGW-Umschreibespezifikationsdaten unterteilt.
  • Das DCM 12 sendet die CGW-Umschreibespezifikationsdaten an das CGW 13 (S5045). Das CGW 13 analysiert die vom DCM 12 empfangenen CGW-Umschreibespezifikationsdaten, extrahiert notwendige Information und authentifiziert anschließend die Schreibdaten für jede ECU 19 mit dem DCM 12 (S5046). Zum Beispiel berechnet das CGW 13 einen Authentifikator der Schreibdaten (Differenzdaten) der ECU (ID1) unter Verwendung der darin gespeicherten Schlüsselinformation der ECU (ID1). Das CGW 13 vergleicht den berechneten Authentifikator mit dem aus den Umprogrammierungsdaten extrahierten Authentifikator und bestimmt, dass die Verifizierung erfolgreich ist, wenn die Authentifikatoren übereinstimmen, und bestimmt, dass die Verifizierung scheitert, wenn die Authentifikatoren nicht übereinstimmen. Wenn bestimmt wird, dass die Verifizierung scheitert, löscht das CGW 13 das Verteilungspaket und benachrichtigt das DCM 12 und die Zentralvorrichtung 3 über den Verifizierungsfehler. Hier führt das CGW 13 in einem Fall, in dem bestimmt wird, dass die Verifizierung eines der Teile von Schreibdaten scheitert, keine Programmaktualisierung auf allen der ECUs 19 aus.
  • Wenn bestimmt wird, dass alle Teile von Schreibdaten erfolgreich verifiziert sind, empfängt das CGW 13 die Verteilungsspezifikationsdaten vom DCM 12 und überträgt die empfangenen Verteilungsspezifikationsdaten an die In-Vehicle-Anzeige 7 (S5047). Die In-Vehicle-Anzeige 7 speichert die vom CGW 13 übertragenen Verteilungsspezifikationsdaten. Wenn der oben beschriebene Download-Prozess abgeschlossen ist, meldet das CGW 13 der Zentralvorrichtung 3 den Download-Abschluss über das DCM 12 (S5048).
  • Wenn die Zentralvorrichtung 3 vom fahrzeugseitigen System 4 über den Download-Abschluss informiert wird, sendet die Zentralvorrichtung 3 eine SMS an das mobile Endgerät 6 (S5049). Das mobile Endgerät 6 wird durch die Benutzerbedienung mit einer in der SMS beschriebenen URL verbunden und zeigt einen Installationsreservierungsbildschirm an (S5050). Das mobile Endgerät 6 meldet der Zentralvorrichtung 3 Installationsdatum und Installationszeit, die durch die Benutzerbedienung eingegeben wurden (S5051). Die Zentralvorrichtung 3 speichert das Installationsdatum und die Installationszeit in der Datenbank in Verbindung mit der persönlichen Information (S5052). Hier kann der Benutzer veranlasst werden, das Installationsdatum und die Installationszeit zu reservieren, indem er die In-Vehicle-Anzeige 7 anstelle des mobilen Endgerätes 6 verwendet. Wenn die In-Vehicle-Anzeige 7 vom CGW 13 über den Download-Abschluss informiert wird (S5053), zeigt die In-Vehicle-Anzeige 7 den Installationsreservierungsbildschirm an (S5054). Das CGW 13 meldet der Zentralvorrichtung 3 das Installationsdatum und die Installationszeit, die von der In-Vehicle-Anzeige 7 empfangen werden, über das DCM 12 (S5055).
  • In einem Fall, in dem das aktuelle Datum und die aktuelle Zeit das Installationsdatum und die Installationszeit erreichen, die in der Datenbank registriert sind, weist die Zentralvorrichtung 3 das fahrzeugseitige System 4 an, die Installation zu initiieren (S5071). Wenn ein Befehl für die Installation von der Zentralvorrichtung 3 erteilt wird, prüft das DCM 12 die Installationsausführungsbedingungen (S5072). Das DCM 12 prüft z.B. eine Fahrzeugposition oder einen Status der Kommunikation mit der Zentralvorrichtung 3. In einem Fall, in dem alle Ausführungsbedingungen erfüllt sind, verwendet das DCM 12 den Paketauthentifikator, um das Verteilungspaket zu authentifizieren (S5073). Wenn die Authentifizierung erfolgreich ist, entpackt das DCM 12 das Verteilungspaket (S5074), extrahiert die DCM-Umschreibespezifikationsdaten und die CGW-Umschreibespezifikationsdaten, teilt die Umschreibespezifikationsdaten in Teile von Schreibdaten für die jeweiligen ECUs 19 auf und benachrichtigt das CGW 13 über den Beginn der Installation (S5075).
  • Wenn das CGW 13 vom DCM 12 über den Installationsbeginn informiert wird, analysiert das CGW 13 die vom DCM 12 erfassten CGW-Umschreibespezifikationsdaten und bestimmt eine Reihenfolge für die Ausführung des Umschreibens auf den ECUs 19 (S5076). Hier wird angenommen, dass die ECU (ID1) als erstes, die ECU (ID2) als zweites und die ECU (ID3) als drittes einem Umschreiben unterzogen wird. Das CGW 13 verifiziert alle der Teile von Schreibdaten für die jeweiligen Umschreibeziel-ECUs 19, die im DCM 12 gespeichert sind, unter Verwendung der jeweiligen Authentifikatoren (S5077). Hier ist es besser, nicht nur Schreibdaten für eine Versionsaktualisierung, sondern ebenso Schreibdaten für ein Rollback zu verifizieren.
  • Wenn die Verifizierung der Schreibdaten erfolgreich ist, fordert das CGW 13 die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie einzuschalten (S5078). Wenn die Installation während des Parkens erfolgt (IG-Schalter 42 ausgeschaltet und ACC-Schalter 41 ausgeschaltet), muss in einem Fall, in dem die Umschreibeziel-ECU 19 eine IG-ECU oder eine ACC-ECU ist, Energie zugeführt werden, um die Umschreibeziel-ECU 19 zu starten. Die Energieversorgungsverwaltungs-ECU 20 fordert die Energieversorgungssteuerschaltung 43 auf, die gleiche Energie wie in einem EIN-Zustand der IG-Energie bereitzustellen (S5079). Wenn die IG-Energieleitung 39 von der Energieversorgungssteuerschaltung 43 mit Energie versorgt wird, werden die IG-ECU und die ACC-ECU gestartet (Wake-up bzw. Wecken).
  • Anschließend fordert das CGW 13 die ECU (ID4), die ECU (ID5) und die ECU (ID6), die die Nicht-Umschreibeziel-ECUs 19 sind, und die ECU (ID2) und die ECU (ID3), die in der Reihenfolge als zweites und darauf folgend umzuschreiben sind, in den Ruhezustand überzugehen (S5080). Hier wird die zweite Umschreibeziel-ECU 19 dem Umschreiben unterzogen, nachdem die erste Umschreibeziel-ECU 19 dem Umschreiben unterzogen wurde, aber mehrere Umschreibeziel-ECUs 19 können dem Umschreiben gleichzeitig und parallel unterzogen werden. In diesem Fall wird nur die Nicht-Umschreibeziel-ECU 19 aufgefordert, in den Ruhezustand überzugehen.
  • Das CGW 13 überwacht eine verbleibende Batterieladung (S5081) und überwacht Kommunikationslasten der Busse (S5082) parallel zur Installation in jeder Umschreibeziel-ECU 19. Das CGW 13 nimmt Bezug auf einen Wert einer Batterieladung und einen Wert einer Busauslastung (Busauslastungstabelle), die aus den CGW-Umschreibespezifikationsdaten extrahiert werden, und steuert die Installation innerhalb eines Bereichs, der einen zulässigen Wert nicht überschreitet. Wenn z.B. die Batterieladung in einem Parkzustand den zulässigen Wert erreicht, stoppt das CGW 13 die Installation zu dieser Zeit.
  • Wenn zum Beispiel die Busauslastung des ersten Busses, mit dem die Umschreibeziel-ECU (ID1) verbunden ist, den zulässigen Wert erreicht, reduziert das CGW 14 die Häufigkeit des Sendens der Schreibdaten an die ECU (ID1). Die Überwachung wird beendet, wenn die Installation in allen Umschreibeziel-ECUs 19 abgeschlossen ist. Im Falle eines Ein-Bank-Speichers ist es, da die Installation nicht mitten in der Installation beendet werden kann, notwendig, vor Beginn der Installation zu prüfen, ob eine ausreichende verbleibende Batterieladung vorhanden ist.
  • Das CGW 13 meldet der dem Umschreiben zuerst unterzogenen ECU (ID1), die Installation zu initiieren (S5101). Wenn die ECU (ID1) vom CGW 13 über die Initiierung der Installation benachrichtigt wird, veranlasst die ECU (ID1) einen Zustandsübergang in einen drahtlosen Programmaktualisierungsmodus (S5102). Da die ECU (ID1) eine Ein-Bank-Speicher-ECU ist, kann die ECU (ID1) ein Anwendungsprogramm oder einen Diagnoseprozess unter Verwendung eines Werkzeugs bzw. Tools nicht parallel ausführen und geht in einen Modus über, in dem nur die drahtlose Programmaktualisierung erfolgt.
  • Wenn das CGW 13 die Installation auf der ECU (ID1) ausführt, die zuerst einem Umschreiben unterzogen wird, authentifiziert das CGW 13 den Zugriff unter Verwendung eines Sicherheitszugriffsschlüssels (S5103). Wenn die Authentifizierung des Zugriffs auf die ECU (ID1) erfolgreich ist, sendet das CGW 13 die Information der gesamten Daten, d.h. die Schreibdaten, an die ECU (ID1). Die ECU (ID1) verwendet die Information der empfangenen gesamten Daten, um zu bestimmen, ob oder nicht die Schreibdaten mit der ECU konsistent sind (S5104). Wenn bestimmt wird, dass die Schreibdaten konsistent sind, führt die ECU (ID1) einen Schreibprozess aus.
  • Das CGW 13 erfasst eine geteilte Datei einer vorbestimmten Größe (z.B. 1 kByte) der Schreibdaten, die vom DCM 12 an die ECU (ID1) gesendet werden, und verteilt die geteilte Datei an die ECU (ID1) (S5105). Die ECU (ID1) schreibt die vom CGW 13 empfangene geteilte Datei in den Flash-Speicher 33d (S5106). Wenn das Schreiben abgeschlossen ist, speichert die ECU (ID1) einen Wiederholungspunkt, der eine Flash-Speicher-Adresse angibt, an der die geteilte Datei geschrieben wird, so dass das Schreiben ab der Mitte wieder aufgenommen werden kann (S5107). Als den Wiederholungspunkt kann ein Flag gespeichert werden, das einen Prozess anzeigt, der zwischen Löschen, Schreiben und den nachfolgenden Prozessen auf dem Flash-Speicher ausgeführt wurde. Wenn der Wiederholungspunkt gespeichert wird, meldet die ECU (ID1) dem CGW 13 den Schreibabschluss (S5108).
  • Wenn die Schreibabschlussbenachrichtigung von der ECU (ID1) empfangen wird, meldet das CGW 13 der Zentralvorrichtung 3 über das DCM 12 Umschreibezustandsfortschrittsinformation (S5109). Die Fortschrittsinformation enthält Daten wie die Installationsphase und die Schreibdaten, die in Form von kumulativen Byte in die ECU (ID1) geschrieben wurden. Die Zentralvorrichtung 3 aktualisiert einen Web-Bildschirm, der vom mobilen Endgerät 6 aus verbunden werden kann, auf der Grundlage der vom DCM 12 gesendeten Fortschrittsinformation (S5110). Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt z.B. einen Prozentsatz der aktuell abgeschlossenen Installation als die aktualisierte Fortschrittssituation an (S5111). Folglich kann das mobile Endgerät 6 auch in einem Fall, in dem sich das Fahrzeug im Parkzustand und der Benutzer außerhalb des Fahrzeugs befindet, eine Fortschrittssituation der Installation erkennen. Hier kann der Fortschritt auf der In-Vehicle-Anzeige 7 statt auf dem mobilen Endgerät 6 angezeigt werden. Wenn eine Umschreibeabschlussbenachrichtigung von der ECU (ID1) empfangen wird, meldet das CGW 13 der In-Vehicle-Anzeige 7 Umschreibezustandsfortschrittsinformation (S5112). Die In-Vehicle-Anzeige 7 aktualisiert und zeigt einen Fortschrittssituationsbildschirm an (S5113). Im Falle einer Zwei-Bank-Speicher-Konfiguration wie der ECU (ID2) und der ECU (ID3) ist die Installation auch dann möglich, wenn sich das Fahrzeug im Fahrzustand befindet. So kann z.B. im IG-Einschaltzustand des Fahrzeugs die In-Vehicle-Anzeige 7 die Fortschrittssituation anzeigen.
  • Wenn die Schreibabschlussbenachrichtigung von der ECU (ID1) empfangen wird, erfasst das CGW 13 eine zweite geteilte Datei als die nächsten Schreibdaten und verteilt die geteilte Datei an die ECU (ID1). Anschließend werden die Prozesse in S5105 bis S5113 wiederholt bis zu einer N-ten geteilten Datei als die letzten Schreibdaten ausgeführt. Wenn das Schreiben bis zur N-ten geteilten Datei abgeschlossen ist, verifiziert die ECU (ID1) die Integrität des Aktualisierungsprogramms des Flash-Speichers und prüft, ob oder nicht das Aktualisierungsprogramm korrekt geschrieben wurde (S5114). Wenn das CGW 13 von der ECU (ID1) benachrichtigt wird, dass alle geteilten Dateien geschrieben wurden und die Integritätsprüfung erfolgreich war, fordert das CGW 13 die ECU (ID1) auf, in den Ruhezustand überzugehen (S5115). Die ECU (ID1) schläft temporär, ohne durch das installierte Aktualisierungsprogramm gestartet zu werden.
  • Das CGW 13 fordert die zweite Umschreibe-ECU (ID2) zum Aufwachen auf (S5201). Das CGW 13 meldet der ECU (ID2), dass ein Programm drahtlos zu aktualisieren ist und die Installation initiiert wird (S5202). Die ECU (ID2) veranlasst einen Zustand, in einen drahtlosen Programmaktualisierungsmodus als interner Zustand überzugehen (S5203). Die ECU (ID2) mit einem Zwei-Bank-Speicher kann ein Anwendungsprogramm und eine Diagnose unter Verwendung von Werkzeugen während des drahtlosen Programmaktualisierungsmodus ausführen. Das CGW 13 authentifiziert den Zugriff auf die ECU (ID2) (S5204). Die ECU (ID2) bestimmt, ob oder nicht Differenzdaten, die die Schreibdaten sind, mit der ECU konsistent sind (S5205). Da die ECU (ID2) über einen Zwei-Bank-Speicher verfügt, bestimmt die ECU (ID2) ebenso, ob oder nicht die Schreibdaten mit einer inaktiven Bank des Flash-Speichers konsistent sind. In der Annahme, dass beispielsweise die Bank-A der ECU (ID2) eine aktive Bank und die Bank-B eine inaktive Bank ist, meldet in einem Fall, in dem die Schreibdaten eine Adresse sind, die mit der Bank-B inkonsistent ist, das CGW 13 der Zentralvorrichtung 3 über das DCM 12, dass die Schreibdaten fehlerhaft sind, ohne zu dem nachfolgenden Prozess voranzuschreiten. Das CGW 13 führt einen Rollback-Prozess aus, der nachstehend noch beschrieben ist. Wenn bestimmt wird, dass die Schreibdaten mit der ECU konsistent sind, wird ein Schreibprozess auf der ECU (ID2) ausgeführt. Danach sind die Prozesse in S5206 bis S5216 in Bezug auf die ECU (ID2) die gleichen wie in S5105 bis S5115. In S5207, wenn die Differenzdaten in die ECU (ID2) geschrieben werden, die einen Zwei-Bank-Speicher aufweist, wie in 54 gezeigt, wird eine Differenz unter von alten Daten und den Differenzdaten wiederhergestellt, um neue Daten zu erzeugen, und die neuen Daten werden in den Flash-Speicher 33d geschrieben.
  • Das CGW 13 fordert die dritte Umschreibe-ECU (ID3) zum Aufwachen auf, wenn die gesamte Installation in der ECU (ID2) abgeschlossen ist und die ECU (ID2) schläft (S5301). Das CGW 13 meldet der ECU (ID3), dass das Programm drahtlos zu aktualisieren ist und die Installation initiiert wird (S5302). Die ECU (ID3) veranlasst einen Zustand, in einen drahtlosen Programmaktualisierungsmodus als interner Zustand überzugehen (S5303). Das CGW 13 authentifiziert den Zugriff auf die ECU (ID3) (S5304). Die ECU (ID3) bestimmt, ob oder nicht Differenzdaten, die die Schreibdaten sind, mit der ECU konsistent sind (S5305). Wenn bestimmt wird, dass die Schreibdaten mit der ECU konsistent sind, wird ein Schreibprozess auf der ECU (ID3) ausgeführt. Danach sind die Prozesse in S5306 bis S5315 in Bezug auf die ECU (ID3) die gleichen wie in S5105 bis S5114.
  • Wenn die gesamte Installation in den ECUs (ID3) abgeschlossen ist, beendet das CGW 13 die Überwachung der verbleibenden Batterieladung und die Überwachung der Kommunikationslasten der Busse (S5316 und S5317). Das CGW 13 fordert die ECU (ID1) und die ECU (ID2) zum Aufwachen auf (S5401).
  • Das CGW 13 fordert jeder 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). Im Falle einer ECU, die mit einer Aktivierungsanfrage nicht zurechtkommt, ist es vorteilhaft, der ECU anstelle der Aktivierungsanfrage das Ausschalten und Einschalten mitzuteilen und damit einen Neustart der ECU zu veranlassen.
  • Wenn eine Aktivierungsanfrage vom CGW 13 empfangen wird, startet sich die ECU (ID1) neu (S5403). Da die ECU (ID1) über einen Ein-Bank-Speicher verfügt, wird die ECU (ID1) beim Neustart mit dem aktualisierten Programm gestartet. Wenn der Neustart nach Abschluss der Installation abgeschlossen ist, meldet die ECU (ID1) dem CGW 13 eine aktualisierte Programmversion zusammen mit dem Aktivierungsabschluss (S5404).
  • Wenn eine Aktivierungsanfrage vom CGW 13 empfangen wird, aktualisiert die ECU (ID2) die gespeicherte Aktive-Bank-Information von der Bank-A zu der Bank-B (S5405) und startet sich selbst neu (S5406). Wenn die ECU (ID2) normal in der Bank-B gestartet wird, meldet die ECU (ID2) dem CGW 13 den Aktivierungsabschluss zusammen mit einer aktualisierten Programmversion und der Aktive-Bank-Information (S5407).
  • Wenn eine Aktivierungsanfrage vom CGW 13 empfangen wird, aktualisiert die ECU (ID3) die gespeicherte Aktive-Bank-Information von der Bank-A zu der Bank-B (S5408) und startet sich selbst neu (S5409). Wenn die ECU (ID3) normal in der Bank-B gestartet wird, meldet die ECU (ID3) dem CGW 13 den Aktivierungsabschluss zusammen mit einer aktualisierten Programmversion und der Aktive-Bank-Information (S5410).
  • Wenn die Aktivierungsabschlussbenachrichtigungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, benachrichtigt das CGW 13 die Zentralvorrichtung 3 über den Programmaktualisierungsabschluss zusammen mit den aktualisierten Programmversionen und der Aktive-Bank-Information in Bezug auf die Umschreibeziele ECU (ID1), ECU (ID2) und ECU (ID3) über das DCM 12 (S5411). Die Zentralvorrichtung 3 registriert die Information, deren Benachrichtigung vom DCM 12 gesendet wird, in der Datenbank (S5412) und aktualisiert ebenso den Web-Bildschirm, um den Abschluss als eine Fortschrittssituation anzuzeigen (S5413). Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt einen Web-Bildschirm an, der anzeigt, dass die Programmaktualisierung abgeschlossen ist (S5414). Wenn die Aktivierungsabschlussbenachrichtigungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, meldet das CGW 13 der In-Vehicle-Anzeige 7 den Programmaktualisierungsabschluss als eine Fortschrittssituation (S5415). Die In-Vehicle-Anzeige 7 zeigt Information an, dass die Programmaktualisierung abgeschlossen ist (S5416). In einem Fall, in dem eine Fortschrittsanzeige nicht erforderlich ist, z.B. wenn sich das Fahrzeug in einem Parkzustand befindet, meldet das CGW 13 den Fortschritt nicht an die In-Vehicle-Anzeige 7.
  • Schließlich fordert das CGW 13 die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie auszuschalten (S5418). Die Energieversorgungsverwaltungs-ECU 20 fordert die Energieversorgungssteuerschaltung 43 auf, die Energiezufuhr zu unterbrechen, um in einen Energieversorgungszustand von IG-AUS von vor Beginn der Installation zurückzukehren. Wenn die Energiezufuhr zu der IG-Energieleitung 39 und der ACC-Energieleitung 38 durch die Energieversorgungssteuerschaltung 43 unterbrochen wird, werden die ECU (ID1), die ECU (ID2), die ECU (ID4), die ECU (ID5) und die ECU (ID6) in einen Stoppzustand versetzt.
  • In den obigen Beispielen ist ein Fall beschrieben, in dem die ECU (ID1), die einen Ein-Bank-Speicher aufweist, auch einer Programmaktualisierung unterzogen wird, und somit werden die Prozesse von der Installation bis zur Aktivierung kontinuierlich ausgeführt, wenn sich das Fahrzeug in einem Parkzustand befindet. In einem Fall, in dem alle der Umschreibeziel-ECUs 19 über Zwei-Bank-Speicher verfügen, kann die Installation jedoch im Hintergrund erfolgen, während das Fahrzeug fährt. Es ist eine Konfiguration denkbar, in der das mobile Endgerät 6 eine Genehmigung zur Aktivierung vom Benutzer zu der Zeit erhält, zu der die Installation in der Umschreibeziel-ECU 19 abgeschlossen ist,
  • Nachstehend ist eine Rollback-Sequenz, wenn der Benutzer während der Installation eines Anwendungsprogramms den Abbruch der Programmaktualisierung wählt, unter Bezugnahme auf die 266 bis 269 beschrieben. Insbesondere ist ein Fall beschrieben, in dem die Installation in der ECU (ID1) abgeschlossen ist und der Abbruch durch den Benutzer während der Installation in der ECU (ID2) gewählt wird.
  • Wenn die Zentralvorrichtung 3 vom mobilen Endgerät 6 über den Abbruch der Programmaktualisierung informiert wird, weist die Zentralvorrichtung 3 das fahrzeugseitige System 4 an, die Programmaktualisierung abzubrechen (S6001). Die Zentralvorrichtung 3 ändert während des Rollbacks als Fortschrittssituation einen Web-Bildschirm zu einem Anzeigeaspekt (S6002). Das mobile Endgerät 6 zeigt einen Web-Bildschirm an, der die Fortschrittssituation bei Rollback anzeigt (S6003).
  • Wenn das CGW 13 von der Zentralvorrichtung 3 über das DCM 12 angewiesen wird, die Programmaktualisierung abzubrechen, bestimmt das CGW 13 auf der Grundlage von Speicherkonfigurationen und Installationsstatus der Umschreibeziele ECU (ID1), ECU (ID2) und ECU (ID3) eine ECU, die einen Rollback-Prozess benötigt, und einen notwendigen Rollback-Prozess (S6004). In diesem Beispiel wird bestimmt, dass ein Rollback-Prozess zum Abschließen der Installation in der ECU (ID2) und Zurückversetzen der ECU (ID1) auf eine ursprüngliche Version benötigt wird.
  • Das CGW 13 meldet der In-Vehicle-Anzeige 7 den Rollback-Fortschritt (S6005). Wenn die In-Vehicle-Anzeige 7 vom CGW 13 über den Rollback-Fortschritt informiert wird, ändert die In-Vehicle-Anzeige 7 einen Anzeigeaspekt zu einem Rollback-Anzeigeaspekt und zeigt den Fortschritt an (S6006). Die In-Vehicle-Anzeige 7 zeigt z.B. „Laufender Rollback“ an und zeigt ebenso den Fortschritt der ECU (ID1), die das Rollback benötigt, als 0% und den Fortschritt der ECU (ID2) als 0% an.
  • Das CGW 13 setzt die Installation der Schreibdaten als Rollback-Prozess für die ECU (ID2) fort. Da die ECU (ID2) über einen Zwei-Bank-Speicher verfügt, kann die ECU (ID2) die Installation in der Bank-B, die eine inaktive Bank ist, auf halbem Wege stoppen, und kann kontinuierlich mit der Bank-A als aktive Bank betrieben werden. In einem Fall, in dem die Schreibdaten halb in der Bank-B installiert werden, die somit einen unvollständigen Zustand aufweist, kann eine Differenz bei der nächsten Installation unter Verwendung von Differenzdaten jedoch nicht korrekt wiederhergestellt werden. Daher wird die Installation in der ECU (ID2) kontinuierlich bis zum Ende ausgeführt.
  • Insbesondere erfasst das CGW 13 eine geteilte Datei (z.B. 1 kByte) der Schreibdaten, die vom DCM 12 an die ECU (ID2) gesendet werden, und verteilt die geteilte Datei an die ECU (ID2) (S6007). Die ECU (ID2) schreibt die vom CGW 13 empfangene geteilte Datei in den Flash-Speicher 33d (S6008). Wenn das Schreiben abgeschlossen ist, speichert die ECU (ID2) einen Wiederanlauf- bzw. Wiederholungspunkt (S6009) so, dass das Schreiben von der Mitte aus wieder aufgenommen werden kann, und meldet dem CGW 13 den Schreibabschluss (S6010).
  • Wenn die Schreibabschlussbenachrichtigung von der ECU (ID2) empfangen wird, meldet das CGW 13 der Zentralvorrichtung 3 über das DCM 12 Rollback-Zustandsfortschrittsinformation (S6011). Bei der Rollback-Zustandsfortschrittsinformation handelt es sich beispielsweise um Daten, wie beispielsweise eine Datenmenge, die als Rollback für die ECU (ID2) geschrieben werden muss, und eine kumulative Menge geschriebener Daten der erforderlichen Datenmenge. Die Zentralvorrichtung 3 aktualisiert einen Web-Bildschirm, der vom mobilen Endgerät 6 aus verbunden werden kann, auf der Grundlage der vom DCM 12 gesendeten Fortschrittsinformation (S6012). Das mobile Endgerät 6 zeigt z.B. einen Web-Bildschirm in Bezug auf einen Prozentsatz des aktuell abgeschlossenen Rollbacks oder dergleichen als die aktualisierte Fortschrittssituation an (S6013). Hier kann der Fortschritt auf der In-Vehicle-Anzeige 7 statt auf dem mobilen Endgerät 6 angezeigt werden. Wenn eine Umschreibeabschlussbenachrichtigung von der ECU (ID2) empfangen wird, meldet das CGW 13 der In-Vehicle-Anzeige 7 Rollback-Zustandsfortschrittsinformation (S6014). Die In-Vehicle-Anzeige 7 aktualisiert und zeigt einen Fortschrittssituationsbildschirm an (S6015). Anschließend werden die Prozesse in S6007 bis S6015 wiederholt bis zu einer N-ten geteilten Datei als die letzten Schreibdaten ausgeführt.
  • Wenn die N-te geteilte Datei geschrieben wird, verifiziert die ECU (ID2) die Integrität des Aktualisierungsprogramms des Flash-Speichers 33d (S6016). Wenn eine Installationsabschlussbenachrichtigung von der ECU (ID2) empfangen wird, fordert das CGW 13 die ECU (ID2) auf, in den Ruhezustand überzugehen (S6017). Die ECU (ID2) schläft, ohne durch das in der Bank-B, die eine inaktive Bank ist, installierte Aktualisierungsprogramm gestartet zu werden.
  • Anschließend fordert das CGW 13 die ECU (ID1) auf, aufzuwachen, um einen Rollback-Prozess auf der ECU (ID1) auszuführen (S6101). Das CGW 13 meldet der ECU (ID1), dass die Installation für das Rollback zu initiieren ist (S6102). Wenn die ECU (ID1) vom CGW 13 über die Installationsinitiierung benachrichtigt wird, veranlasst die ECU (ID1) einen Zustandsübergang in einen drahtlosen Programmaktualisierungsmodus (S6103). Das CGW 13 authentifiziert den Zugriff auf die ECU (ID1) (S6104). Wenn die Zugriffsauthentifizierung erfolgreich ist, bestimmt die ECU (ID1), ob oder nicht die Rollback-Schreibdaten mit der ECU konsistent sind (S6105). Wenn bestimmt wird, dass die Rollback-Schreibdaten mit der ECU konsistent sind, wird ein Schreibprozess auf der ECU (ID1) ausgeführt.
  • Das CGW 13 erfasst eine geteilte Datei einer vorbestimmten Größe (z.B. 1 kByte) der Rollback-Schreibdaten, die vom DCM 12 an die ECU (ID1) gesendet werden, und verteilt die geteilte Datei an die ECU (ID1) (S6016). Die ECU (ID1) schreibt die vom CGW 13 empfangene geteilte Datei in den Flash-Speicher 33d (S6107). Wenn das Schreiben abgeschlossen ist, speichert die ECU (ID1) einen Wiederholungspunkt, der eine Flash-Speicher-Adresse angibt, an der die geteilte Datei geschrieben wird, so dass das Schreiben ab der Mitte wieder aufgenommen werden kann (S6108). Wenn der Wiederholungspunkt gespeichert wird, meldet die ECU (ID1) dem CGW 13 den Schreibabschluss (S6109).
  • Wenn die Schreibabschlussbenachrichtigung von der ECU (ID1) empfangen wird, meldet das CGW 13 der Zentralvorrichtung 3 über das DCM 12 Umschreibezustandsfortschrittsinformation (S6110). Die Zentralvorrichtung 3 aktualisiert einen Web-Bildschirm, der vom mobilen Endgerät 6 aus verbunden werden kann, auf der Grundlage der vom DCM 12 gesendeten Fortschrittsinformation (S6111). Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt z.B. einen Prozentsatz des aktuell abgeschlossenen Rollbacks als die aktualisierte Fortschrittssituation an (S6112). Hier kann der Fortschritt auf der In-Vehicle-Anzeige 7 statt auf dem mobilen Endgerät 6 angezeigt werden. Wenn eine Schreibabschlussbenachrichtigung von der ECU (ID1) empfangen wird, meldet das CGW 13 der In-Vehicle-Anzeige 7 Umschreibezustandsfortschrittsinformation (S6113). Die In-Vehicle-Anzeige 7 aktualisiert und zeigt einen Rollback-Fortschrittssituationsbildschirm an (S6114). Wenn die Schreibabschlussbenachrichtigung von der ECU (ID1) empfangen wird, erfasst das CGW 13 eine zweite geteilte Datei als die nächsten Schreibdaten und verteilt die geteilte Datei an die ECU (ID1). Anschließend werden die Prozesse in S6106 bis S6114 wiederholt bis zu einer N-ten geteilten Datei als die letzten Schreibdaten ausgeführt.
  • Wenn das Schreiben bis zur N-ten geteilten Datei abgeschlossen ist, verifiziert die ECU (ID1) die Integrität des Rollback-Programms des Flash-Speichers und prüft, ob oder nicht das Rollback-Programm korrekt geschrieben wurde (S6115). Wenn dem CGW 13 von der ECU (ID1) mitgeteilt wird, dass alle der geteilten Dateien geschrieben wurden und die Integritätsprüfung erfolgreich war, beendet das CGW 13 die Überwachung der verbleibenden Batterieladung und die Überwachung der Kommunikationslasten der Busse (S6116 und S6117).
  • Anschließend fordert das CGW 13 die ECU (ID2) und die ECU (ID3) zum Aufwachen auf (S6201). Das CGW 13 fordert die Rollback-Aktivierung an, um die ECU (ID1), die ECU (ID2) und die ECU (ID3) in einer alten Version vor der Installation zu starten (S6202). Die ECU (ID1), die über einen Ein-Bank-Speicher verfügt, startet das Programm der alten Version durch einen Neustart wie beim Umschreiben während der normalen Zeit. Ungleich dem Umschreiben während der normalen Zeit, starten die ECU (ID2) und ECU (ID3), die über Zwei-Bank-Speicher verfügen, die Programme in der Bank-A, die die aktuell aktive Bank ist, ohne die aktive Bank zu ändern.
  • Wenn die Rollback-Aktivierungsanfrage vom CGW 13 empfangen wird, startet sich die ECU (ID1) neu (S6203). Wenn der Neustart abgeschlossen ist, meldet die ECU (ID1) dem CGW 13 eine Programmversion zusammen mit dem Abschluss der Rollback-Aktivierung (S6204).
  • Wenn die Rollback-Aktivierungsanfrage vom CGW 13 empfangen wird, startet sich die ECU (ID2) neu, ohne die gespeicherte Aktive-Bank-Information zu aktualisieren (S6205). Wenn die ECU (ID2) normal in der Bank-A gestartet wird, die noch eine aktive Bank ist, meldet die ECU (ID2) dem CGW 13 eine Programmversion und Aktive-Bank-Information zusammen mit dem Abschluss der Rollback-Aktivierung (S6206).
  • Wenn die Rollback-Aktivierungsanfrage vom CGW 13 empfangen wird, startet sich die ECU (ID3) neu, ohne die gespeicherte Aktive-Bank-Information zu aktualisieren (S6207). Wenn die ECU (ID3) normal in der Bank-A gestartet wird, die noch eine aktive Bank ist, meldet die ECU (ID3) dem CGW 13 eine Programmversion und Aktive-Bank-Information zusammen mit dem Abschluss der Rollback-Aktivierung (S6208).
  • Wenn die Rollback-Aktivierungsabschlussbenachrichtigungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, benachrichtigt das CGW 13 die Zentralvorrichtung 3 über das DCM 12 über den Abschluss des Rollbacks (S6209). Hier sendet das CGW 13 ebenso eine Benachrichtigung über die Programmversion und die Aktive-Bank-Information in Bezug auf die ECU (ID1), die ECU (ID2) und die ECU (ID3). Die Zentralvorrichtung 3 registriert die vom DCM 12 gesendete Information in der Datenbank (S6210) und aktualisiert ebenso den Web-Bildschirm, um den Abbruchabschluss als Fortschrittssituation anzuzeigen (S6211). Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt einen Web-Bildschirm an, der anzeigt, dass der Abbruch abgeschlossen ist (S6212).
  • Wenn die Rollback-Aktivierungsabschlussbenachrichtigungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, meldet das CGW 13 der In-Vehicle-Anzeige 7 den Abschluss des Rollbacks als Fortschrittssituation (S6213). Die In-Vehicle-Anzeige 7 zeigt die Tatsache an, dass das Rollback abgeschlossen ist (S6214).
  • Schließlich fordert das CGW 13 die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie auszuschalten (S6215). Die Energieversorgungsverwaltungs-ECU 20 fordert die Energieversorgungssteuerschaltung 43 auf, die Energiezufuhr zu unterbrechen, um in einen IG-Ausschaltzustand von vor Beginn der Installation zurückzukehren. Wenn die Energiezufuhr zu der IG-Energieleitung 39 und der ACC-Energieleitung 38 durch die Energieversorgungssteuerschaltung 43 unterbrochen wird, werden die ECU (ID1), die ECU (ID2), die ECU (ID4), die ECU (ID5) und die ECU (ID6) in einen Stoppzustand versetzt.
  • Wie oben beschrieben, ist es möglich, eine Programmaktualisierung auf mehreren der Umschreibeziel-ECUs 19 unter Verwendung des CGW 13 als Umprogrammierungs-Master auszuführen. In der vorliegenden Ausführungsform ist vorstehend ein Fall beschrieben, in dem ein Anwendungsprogramm mit der ECU (ID1), der ECU (ID2) und der ECU (ID3) als eine Gruppe umgeschrieben wird, aber das Gleiche gilt für einen Fall, in dem das Anwendungsprogramm in der ECU (ID4), der ECU (ID5) und der ECU (ID6) als eine zweite Gruppe umgeschrieben wird. In diesem Fall erfolgen Installation und Aktivierung auf den ECUs 19 der ersten Gruppe und anschließend auf den ECUs 19 der zweiten Gruppe.
  • Anwendungsprogramme in dem DCM 12, dem CGW 13, der In-Vehicle-Anzeigevorrichtung 7 und der Energieversorgungsverwaltungs-ECU 20 können alternativ auf die gleiche Weise umgeschrieben werden. Da die Anwendungsprogramme jedoch während der Programmaktualisierung betreibbar sein müssen, sind diese ECUs konfiguriert, um Zwei-Bank-Speicher aufzuweisen.
  • Obgleich die vorliegende Offenbarung vorstehend anhand der Ausführungsformen beschrieben ist, sollte wahrgenommen werden, dass sie nicht auf die obigen Ausführungsformen und Strukturen beschränkt ist. Die vorliegende Offenbarung umfasst verschiedene Modifikationsbeispiele oder Änderungen im Rahmen von Äquivalenten. Verschiedene Kombinationen oder Formen sowie andere Kombinationen oder Formen, die nur ein Element, ein oder mehrere Elemente oder ein oder weniger Elemente enthalten, fallen in den Umfang oder den Geist der vorliegenden Offenbarung.
  • 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 2018151414 [0001]
    • JP 2019129952 [0001]
    • JP 6216730 B [0004]

Claims (8)

  1. Zentralvorrichtung (3), die Daten verwaltet, die in mehrere elektronische Steuereinheiten (19) zu schreiben sind, die an einem Fahrzeug montiert sind, aufweisend: - eine Aktualisierungsdatenspeichereinheit (204), die Aktualisierungsdaten für eine Zielvorrichtung speichert, die ein Ziel für eine Datenaktualisierung unter den mehreren elektronischen Steuereinheiten ist; - eine Fahrzeuginformationsspeichereinheit (208), die, zusammen mit einem Fahrzeugtyp, fahrzeugbezogene Information in Bezug auf eine Vorrichtungsidentifikation von jeder der elektronischen Steuereinheiten und eine Identifikation von in jeder der elektronischen Steuereinheiten gespeicherten Daten speichert; - eine Speichereinheit (205) für vorrichtungsbezogene Information, die aktualisierungsdatenbezogene Information in Bezug auf ein Attribut der Zielvorrichtung und die Aktualisierungsdaten speichert; - eine Spezifikationsdatenerzeugungseinheit (201), die auf der Grundlage von in der Speichereinheit für vorrichtungsbezogene Information und der Fahrzeuginformationsspeichereinheit gespeicherter Information Spezifikationsdaten erzeugt, die einen Vorrichtungstyp der Zielvorrichtung, das Attribut der Zielvorrichtung, die aktualisierungsdatenbezogene Information der Zielvorrichtung und Information, die eine Umschreibe-Umgebung in Bezug auf die Datenaktualisierung der Zielvorrichtung anzeigt, enthalten; und - eine Paketerzeugungseinheit (202), die ein Verteilungspaket mit den von der Aktualisierungsdatenerfassungseinheit erfassten Aktualisierungsdaten und den Spezifikationsdaten erzeugt.
  2. Zentralvorrichtung nach Anspruch 1, wobei - in Fällen, in denen es sich bei dem Ziel um mehrere Zielvorrichtungen handelt, die Spezifikationsdatenerzeugungseinheit Spezifikationsdaten für Zielvorrichtungen als eine Datei erzeugt, und - die Paketerzeugungseinheit ein Verteilungspaket erzeugt, das die Datei enthält.
  3. Zentralvorrichtung nach Anspruch 1 oder 2, wobei die fahrzeugbezogene Information Information über eine Gruppierung von elektronischen Steuereinheiten der mehreren elektronischen Steuereinheiten in Abhängigkeit des Typs enthält.
  4. Zentralvorrichtung nach Anspruch 3, wobei - die Spezifikationsdatenerzeugungseinheit für gruppierte Zielvorrichtungen jeweils einmal Spezifikationsdaten erzeugt; und - die Paketerzeugungseinheit ein Verteilungspaket für jede Gruppe der Zielvorrichtungen erzeugt.
  5. Zentralvorrichtung nach einem der Ansprüche 1 bis 4, wobei die die Umschreibe-Umgebung anzeigende Information eine Umschreibe-Umgebung in Bezug auf ein Fahrzeug und eine Umschreibe-Umgebung in Bezug auf eine Zielvorrichtung umfasst.
  6. Zentralvorrichtung nach einem der Ansprüche 1 bis 5, wobei die Spezifikationsdatenerzeugungseinheit in zeitlicher Reihenfolge, beginnend mit Information der frühesten Zielvorrichtung in einer voreingestellten Umschreibe-Reihenfolge von Zielvorrichtungen, die Spezifikationsdaten gemäß einer vorbestimmten Datenstruktur erzeugt.
  7. Verteilungspaketerzeugungsverfahren, aufweisend: - Erzeugen von Spezifikationsdaten entsprechend Aktualisierungsdaten, die in eine Zielvorrichtung zu schreiben sind, die ein Ziel einer Datenaktualisierung unter mehreren elektronischen Steuereinheiten ist, die an einem Fahrzeug montiert sind, derart, dass die Spezifikationsdaten einen Vorrichtungstyp der Zielvorrichtung, ein Attribut der Zielvorrichtung, aktualisierungsdatenbezogene Information der Zielvorrichtung und Information, die eine Umschreibe-Umgebung in Bezug auf die Datenaktualisierung der Zielvorrichtung anzeigt, enthalten; und - Erzeugen eines Verteilungspakets, das die Aktualisierungsdaten und die Spezifikationsdaten enthält.
  8. Verteilungspaketerzeugungsprogramm, das eine Zentralvorrichtung, die Daten verwaltet, die in mehrere elektronische Steuereinheiten zu schreiben sind, die an einem Fahrzeug montiert sind, und aufweist: eine Aktualisierungsdatenspeichereinheit, die Aktualisierungsdaten für eine Zielvorrichtung speichert, die ein Ziel für eine Datenaktualisierung unter den mehreren elektronischen Steuereinheiten ist; eine Fahrzeuginformationsspeichereinheit, die zusammen mit dem Typ des Fahrzeugs fahrzeugbezogene Information in Bezug auf eine Vorrichtungsidentifikation von jeder der mehreren elektronischen Steuereinheiten und eine Identifikation von in jeder der mehreren elektronischen Steuereinheiten gespeicherten Daten speichert; eine Speichereinheit für vorrichtungsbezogene Information, die aktualisierungsdatenbezogene Information in Bezug auf ein Attribut der Zielvorrichtung und die Aktualisierungsdaten speichert; und eine Aktualisierungsdatenerfassungseinheit, die Aktualisierungsdaten der Zielvorrichtung von der Aktualisierungsdatenspeichereinheit erfasst; veranlasst, Folgendes auszuführen: - Erzeugen, auf der Grundlage von in der Fahrzeuginformationsspeichereinheit und der Speichereinheit für vorrichtungsbezogene Information gespeicherter Information, von Spezifikationsdaten derart, dass diese einen Vorrichtungstyp der Zielvorrichtung, das Attribut der Zielvorrichtung, die aktualisierungsdatenbezogene Information der Zielvorrichtung und Information, die eine Umschreibe-Umgebung in Bezug auf die Datenaktualisierung der Zielvorrichtung anzeigt, enthalten; und - Erzeugen eines Verteilungspakets, das die Aktualisierungsdaten und die Spezifikationsdaten enthält.
DE112019004032.4T 2018-08-10 2019-08-08 Zentralvorrichtung, verteilungspaketerzeugungsverfahren und verteilungspaketerzeugungsprogramm Pending DE112019004032T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2018151414 2018-08-10
JP2018-151414 2018-08-10
JP2019129952A JP7408937B2 (ja) 2018-08-10 2019-07-12 センター装置,配信パッケージの生成方法及び配信パッケージ生成用プログラム
JP2019-129952 2019-07-12
PCT/JP2019/031458 WO2020032197A1 (ja) 2018-08-10 2019-08-08 センター装置,配信パッケージの生成方法及び配信パッケージ生成用プログラム

Publications (1)

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

Family

ID=69620193

Family Applications (9)

Application Number Title Priority Date Filing Date
DE112019004038.3T Pending DE112019004038T5 (de) 2018-08-10 2019-08-07 Elektronisches fahrzeugsteuerungssystem, fahrzeug-master-vorrichtung, verfahren zum steuern einer übertragung von datenspeicherbankinformationen und programm zum steuern einer übertragung von datenspeicherbankinformationen
DE112019004064.2T Pending DE112019004064T5 (de) 2018-08-10 2019-08-08 Zentralvorrichtung, spezifikationsdatenerzeugungsverfahren und spezifikationsdatenerzeugungsprogramm
DE112019004022.7T Pending DE112019004022T5 (de) 2018-08-10 2019-08-08 Fahrzeuginformationskommunikationssystem
DE112019004053.7T Pending DE112019004053T5 (de) 2018-08-10 2019-08-08 Elektronisches fahrzeugsteuerungssystem, selbsterhaltungsenergie-ausführungssteuerungsverfahren und selbsterhaltungsenergie-ausführungssteuerungsprogramm
DE112019004032.4T Pending DE112019004032T5 (de) 2018-08-10 2019-08-08 Zentralvorrichtung, verteilungspaketerzeugungsverfahren und verteilungspaketerzeugungsprogramm
DE112019004034.0T Pending DE112019004034T5 (de) 2018-08-10 2019-08-08 Zentralvorrichtung, fahrzeuginformationskommunikationssystem, verteilungspaketsendeverfahren und verteilungspaketsendeprogramm
DE112019004041.3T Pending DE112019004041T5 (de) 2018-08-10 2019-08-08 Fahrzeuginformationskommunikationssystem
DE112019004030.8T Pending DE112019004030T5 (de) 2018-08-10 2019-08-08 Zentralvorrichtung
DE112019004036.7T Pending DE112019004036T5 (de) 2018-08-10 2019-08-08 Fahrzeuginformationskommunikationssystem

Family Applications Before (4)

Application Number Title Priority Date Filing Date
DE112019004038.3T Pending DE112019004038T5 (de) 2018-08-10 2019-08-07 Elektronisches fahrzeugsteuerungssystem, fahrzeug-master-vorrichtung, verfahren zum steuern einer übertragung von datenspeicherbankinformationen und programm zum steuern einer übertragung von datenspeicherbankinformationen
DE112019004064.2T Pending DE112019004064T5 (de) 2018-08-10 2019-08-08 Zentralvorrichtung, spezifikationsdatenerzeugungsverfahren und spezifikationsdatenerzeugungsprogramm
DE112019004022.7T Pending DE112019004022T5 (de) 2018-08-10 2019-08-08 Fahrzeuginformationskommunikationssystem
DE112019004053.7T Pending DE112019004053T5 (de) 2018-08-10 2019-08-08 Elektronisches fahrzeugsteuerungssystem, selbsterhaltungsenergie-ausführungssteuerungsverfahren und selbsterhaltungsenergie-ausführungssteuerungsprogramm

Family Applications After (4)

Application Number Title Priority Date Filing Date
DE112019004034.0T Pending DE112019004034T5 (de) 2018-08-10 2019-08-08 Zentralvorrichtung, fahrzeuginformationskommunikationssystem, verteilungspaketsendeverfahren und verteilungspaketsendeprogramm
DE112019004041.3T Pending DE112019004041T5 (de) 2018-08-10 2019-08-08 Fahrzeuginformationskommunikationssystem
DE112019004030.8T Pending DE112019004030T5 (de) 2018-08-10 2019-08-08 Zentralvorrichtung
DE112019004036.7T Pending DE112019004036T5 (de) 2018-08-10 2019-08-08 Fahrzeuginformationskommunikationssystem

Country Status (4)

Country Link
US (9) US20210157575A1 (de)
JP (9) JP7408937B2 (de)
CN (9) CN112543915A (de)
DE (9) DE112019004038T5 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11743108B1 (en) * 2022-03-15 2023-08-29 Cisco Technology, Inc. Dynamic customization of network controller data path based on controller internal state awareness

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10776096B2 (en) * 2018-01-12 2020-09-15 Blackberry Limited Method and system for controlling software updates on a network connected device
WO2020022265A1 (ja) 2018-07-25 2020-01-30 株式会社デンソー 車両用電子制御システム、プログラム更新の承諾判定方法及びプログラム更新の承諾判定プログラム
JP7408937B2 (ja) * 2018-08-10 2024-01-09 株式会社デンソー センター装置,配信パッケージの生成方法及び配信パッケージ生成用プログラム
KR20200119601A (ko) * 2019-04-10 2020-10-20 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
JP7063854B2 (ja) * 2019-07-03 2022-05-09 本田技研工業株式会社 ソフトウェア更新装置、サーバ装置、ソフトウェア更新方法、およびプログラム
JP7063853B2 (ja) * 2019-07-03 2022-05-09 本田技研工業株式会社 ソフトウェア更新装置、サーバ装置、ソフトウェア更新方法、およびプログラム
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
JP7147721B2 (ja) 2019-09-05 2022-10-05 トヨタ自動車株式会社 車載通信装置及び通信方法
JP7298427B2 (ja) * 2019-10-07 2023-06-27 トヨタ自動車株式会社 プログラム更新システムおよびプログラム更新方法
JP7314867B2 (ja) * 2020-06-18 2023-07-26 トヨタ自動車株式会社 マスタ、ネットワークシステム、方法、プログラム、センタ、および車両
JP7420025B2 (ja) 2020-09-07 2024-01-23 トヨタ自動車株式会社 プログラムの更新方法および更新システム
JP7204726B2 (ja) * 2020-12-22 2023-01-16 本田技研工業株式会社 制御システム、移動体、サーバ、制御方法、更新制御方法、及びプログラム
JP7138156B2 (ja) 2020-12-24 2022-09-15 本田技研工業株式会社 情報処理装置、輸送機器、情報処理方法及びプログラム
JP7257428B2 (ja) * 2021-01-14 2023-04-13 本田技研工業株式会社 情報処理装置、制御システム、システム、情報処理方法、制御方法、及びプログラム
JP2022121156A (ja) * 2021-02-08 2022-08-19 トヨタ自動車株式会社 電子制御ユニット、方法およびプログラム
JP2022126194A (ja) * 2021-02-18 2022-08-30 トヨタ自動車株式会社 Otaマスタ、センタ、システム、方法、プログラム、及び車両
JP2022135377A (ja) * 2021-03-05 2022-09-15 トヨタ自動車株式会社 センタ、更新制御方法、更新制御プログラム、otaマスタ、ソフトウェア更新システム
JP2022135372A (ja) 2021-03-05 2022-09-15 トヨタ自動車株式会社 センタ、更新管理方法、及び更新管理プログラム
JP2022154943A (ja) * 2021-03-30 2022-10-13 本田技研工業株式会社 車両用制御システム、車両、制御方法
JP2022158323A (ja) * 2021-04-01 2022-10-17 トヨタ自動車株式会社 センタ、配信制御方法、及び配信制御プログラム
JP2022160125A (ja) * 2021-04-06 2022-10-19 トヨタ自動車株式会社 センタ、配信制御方法、及び配信制御プログラム
JP2022163479A (ja) 2021-04-14 2022-10-26 株式会社デンソー 車両用電子制御装置、書換えプログラム及びデータ構造
JP7363853B2 (ja) * 2021-04-26 2023-10-18 トヨタ自動車株式会社 Otaマスタ、センタ、システム、更新方法、更新プログラム、及び車両
JP7355061B2 (ja) * 2021-04-26 2023-10-03 トヨタ自動車株式会社 センタ、otaマスタ、システム、配信方法、配信プログラム、及び車両
JP2022168981A (ja) * 2021-04-27 2022-11-09 トヨタ自動車株式会社 更新制御システム、更新制御方法、更新制御プログラム、車載制御装置
JP2022175761A (ja) 2021-05-14 2022-11-25 株式会社デンソー 車両用電子制御装置、車両用電子制御システム及び更新後構成情報判定プログラム
DE102021113013A1 (de) 2021-05-19 2022-11-24 B-Horizon GmbH Fahrzeugdatenkommunikationssystem zur Übermittlung von Fahrzeugdaten
DE112022002715T5 (de) 2021-05-21 2024-03-07 Denso Corporation Elektronisches steuerungssystem für ein fahrzeug, aktualisierungsprogramm und datenstruktur
CN117396842A (zh) 2021-05-24 2024-01-12 株式会社电装 车辆用电子控制装置以及更新程序
DE102021205383A1 (de) * 2021-05-27 2022-12-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Diagnose eines Bordnetzes eines Fahrzeugs
JP2022187162A (ja) * 2021-06-07 2022-12-19 トヨタ自動車株式会社 Otaマスタ、システム、方法、プログラム、及び車両
JP2022187189A (ja) * 2021-06-07 2022-12-19 トヨタ自動車株式会社 Otaマスタ、センタ、システム、方法、プログラム、及び車両
JP2022187646A (ja) * 2021-06-08 2022-12-20 トヨタ自動車株式会社 Otaマスタ、システム、方法、プログラム、及び車両
CN113409496B (zh) * 2021-06-18 2022-11-04 广东好太太智能家居有限公司 一种蓝牙智能门锁配置系统及方法
JP2023002161A (ja) * 2021-06-22 2023-01-10 トヨタ自動車株式会社 センタ、otaマスタ、方法、プログラム、及び車両
JP2023005717A (ja) 2021-06-29 2023-01-18 株式会社デンソー 車載通信システム,センタ装置,車両側システム及び車載通信の更新データ検証方法
JP2023005718A (ja) * 2021-06-29 2023-01-18 株式会社デンソー 車載通信システム,リプロポリシーメタデータのデータ構造及びダウンロードメタデータのデータ構造
KR20230025108A (ko) * 2021-08-13 2023-02-21 현대자동차주식회사 차량용 ota 업데이트 수행 장치 및 방법
CN114179750B (zh) * 2021-12-14 2023-05-02 深圳市元征软件开发有限公司 车辆控制方法、装置、电子设备及存储介质
CN114265613B (zh) * 2021-12-21 2022-06-28 红石阳光(北京)科技股份有限公司 一种整车所有电控单元固件差分升级方法及系统
CN115393986B (zh) * 2022-08-24 2023-06-30 广州小鹏汽车科技有限公司 车门解闭锁方法、域控制器、系统、车辆及存储介质
KR102524379B1 (ko) * 2022-12-05 2023-04-21 주식회사 유니온플레이스 궤도 비히클 관제를 위한 데이터 처리 장치
CN116449810B (zh) * 2023-06-20 2023-08-29 一汽解放汽车有限公司 一种故障排查方法、装置、电子设备及存储介质

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068147B2 (en) * 1999-12-07 2006-06-27 Denso Corporation Control information rewriting system
JP3522176B2 (ja) * 2000-02-04 2004-04-26 日本電気通信システム株式会社 交換機のファイル更新同期方式
JP2003047064A (ja) * 2001-08-01 2003-02-14 Canon Inc 通信アシストシステム及び方法、通信端末装置、プログラム並びに記憶媒体
JP2003167746A (ja) * 2001-12-04 2003-06-13 Hitachi Ltd ソフトウェア配布方法及びその実施システム並びにその処理プログラム
US6973479B2 (en) * 2002-05-01 2005-12-06 Thales Avionics, Inc. Method and system for configuration and download in a restricted architecture network
JP4221261B2 (ja) 2003-09-04 2009-02-12 株式会社日立製作所 プログラム配信システム
CN100373820C (zh) * 2003-10-08 2008-03-05 松下电器产业株式会社 道路-车辆通信系统以及用于其中的路边设备和移动设备
JP4286633B2 (ja) * 2003-10-28 2009-07-01 富士通テン株式会社 ソフトウェア更新装置およびソフトウェア更新方法
US7376870B2 (en) * 2004-09-30 2008-05-20 Intel Corporation Self-monitoring and updating of firmware over a network
JP4412222B2 (ja) * 2005-04-20 2010-02-10 株式会社デンソー 車両の制御方法および電子制御装置
JP2007104137A (ja) * 2005-09-30 2007-04-19 Matsushita Electric Ind Co Ltd データ通信装置
US8543996B2 (en) * 2005-11-18 2013-09-24 General Electric Company System and method for updating wind farm software
JP4563363B2 (ja) 2006-09-25 2010-10-13 株式会社日立国際電気 無線伝送システムおよびそのソフトウェア更新方法
KR100800723B1 (ko) * 2007-01-26 2008-02-01 삼성전자주식회사 통신이력을 관리하기 위한 방법 및 장치
US8321933B2 (en) * 2007-11-14 2012-11-27 Caterpillar Inc. Securing electronic control unit code
US8484752B2 (en) * 2007-11-14 2013-07-09 Caterpillar Inc. Verifying authenticity of electronic control unit code
JP4887431B2 (ja) * 2007-12-28 2012-02-29 パナソニック株式会社 通信装置
JP4407753B2 (ja) * 2008-01-15 2010-02-03 トヨタ自動車株式会社 電動車両の充電システム
JP2009301124A (ja) * 2008-06-10 2009-12-24 Ricoh Co Ltd メモリデバイスを備えた機器、メモリデバイスの保護方法
JP5157789B2 (ja) 2008-09-29 2013-03-06 富士通株式会社 プログラム更新方法及びプログラム更新装置
JP2010198155A (ja) * 2009-02-24 2010-09-09 Fujitsu Ten Ltd プログラム更新装置、プログラム更新方法、及び情報処理装置
JP2010195111A (ja) * 2009-02-24 2010-09-09 Fujitsu Ten Ltd 車載コンピュータシステム
JP4722194B2 (ja) * 2009-04-13 2011-07-13 本田技研工業株式会社 車両のための書き換えシステム
US10650373B2 (en) * 2010-06-01 2020-05-12 Ternarylogic Llc Method and apparatus for validating a transaction between a plurality of machines
JP5558963B2 (ja) * 2010-08-03 2014-07-23 本田技研工業株式会社 車両用プログラム書換えシステム
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
US8880289B2 (en) 2011-03-17 2014-11-04 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicle maneuver application interface
JP5556824B2 (ja) * 2011-03-18 2014-07-23 株式会社デンソー 車載システム、ecu、記憶指示送信装置、および記憶要求送信装置
JP5829839B2 (ja) * 2011-06-16 2015-12-09 富士通テン株式会社 サーバ装置、プログラム提供システム、プログラム提供方法、及び、プログラム
JP2013020354A (ja) 2011-07-08 2013-01-31 Ricoh Co Ltd ログ集計プログラム、ログ集計装置およびインストーラ・パッケージャ・プログラム
US20130042231A1 (en) * 2011-08-10 2013-02-14 Ford Global Technologies, Llc Methods and Apparatus for Software Updating
JP5696018B2 (ja) 2011-09-28 2015-04-08 クラリオン株式会社 対象データの配置方法、対象データ配置システム、および、それらのサーバ装置、クライアント装置、プログラム
US20130111212A1 (en) 2011-10-28 2013-05-02 GM Global Technology Operations LLC Methods to provide digital signature to secure flash programming function
JP5435022B2 (ja) * 2011-12-28 2014-03-05 株式会社デンソー 車載システム及び通信方法
CN103377057B (zh) * 2012-04-20 2016-05-25 上海通用汽车有限公司 一种刷新用户车辆电子控制模块的软件的系统和方法
JP5985884B2 (ja) 2012-05-17 2016-09-06 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、および情報処理システム
US20140006555A1 (en) 2012-06-28 2014-01-02 Arynga Inc. Remote transfer of electronic images to a vehicle
US11150885B2 (en) * 2012-08-22 2021-10-19 Transportation Ip Holdings, Llc Method and system for vehicle software management
US8924950B2 (en) * 2012-12-17 2014-12-30 Itron, Inc. Utility node software/firmware update through a multi-type package
WO2014164893A2 (en) 2013-03-13 2014-10-09 Arynga Inc. Remote transfer of electronic images to a vehicle
JP2014182571A (ja) 2013-03-19 2014-09-29 Denso Corp 車載電子制御装置のプログラム書換システム及び車載中継装置
JP6054225B2 (ja) * 2013-03-26 2016-12-27 株式会社富士通エフサス 構成情報管理装置および構成情報管理方法
JP5864510B2 (ja) 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
JP6272991B2 (ja) * 2013-10-31 2018-01-31 インテル コーポレイション プリブートファームウェア更新のための選択的パワーマネジメント
JP5949732B2 (ja) 2013-11-27 2016-07-13 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法
US9904532B2 (en) * 2014-01-06 2018-02-27 2236008 Ontario Inc. System and method for distributing software updates
KR101450166B1 (ko) * 2014-01-23 2014-10-13 현대자동차주식회사 차량 내 통신 네트워크에서의 라우팅 정보 갱신 방법 및 그 장치
AU2015209212A1 (en) * 2014-01-24 2016-08-11 Schneider Electric Buildings, Llc Dynamic adaptable environment resource management controller apparatuses, methods and systems
US10140109B2 (en) * 2014-02-25 2018-11-27 Ford Global Technologies, Llc Silent in-vehicle software updates
US10402184B2 (en) * 2014-05-20 2019-09-03 Ford Global Technologies, Llc Module interface for vehicle updates
WO2015194652A1 (ja) 2014-06-19 2015-12-23 日立オートモティブシステムズ株式会社 車載プログラム書込み装置
JP6390302B2 (ja) 2014-09-18 2018-09-19 株式会社オートネットワーク技術研究所 プログラム送信システム及びプログラム送信装置
EP3412514B1 (de) * 2014-11-12 2019-12-04 Panasonic Intellectual Property Corporation of America Aktualisierungsverwaltungsverfahren, aktualisierungsverwaltungsvorrichtung und steuerungsprogramm
US10430176B2 (en) * 2014-11-17 2019-10-01 Hitachi Automotive Systems, Ltd. In-vehicle control device, program update system, and program update software
US9639344B2 (en) * 2014-12-11 2017-05-02 Ford Global Technologies, Llc Telematics update software compatibility
JP6309442B2 (ja) * 2014-12-18 2018-04-11 株式会社日立製作所 システムテンプレート保守システム及びシステムテンプレート保守方法
CN104572221B (zh) * 2015-01-30 2017-08-01 重庆邮电大学 一种车载ecu在线升级系统及方法
JP6216730B2 (ja) 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
WO2016158547A1 (ja) * 2015-03-30 2016-10-06 本田技研工業株式会社 プログラム書換装置及びプログラム書換方法
JP6551790B2 (ja) * 2015-04-21 2019-07-31 パナソニックIpマネジメント株式会社 運転支援方法およびそれを利用した運転支援装置、自動運転制御装置、車両、プログラム
JP6480263B2 (ja) 2015-05-27 2019-03-06 株式会社日立製作所 ソフトウェア配信管理システム、ソフトウェア配信管理方法
JP2016224898A (ja) 2015-05-27 2016-12-28 株式会社デンソー 車載電子制御装置
US9841965B2 (en) * 2015-06-15 2017-12-12 Lear Corporation Centralized system for software updating vehicle components
US10042626B2 (en) * 2015-06-29 2018-08-07 Verizon Patent And Licensing Inc. Software updates using client self-reporting and a hierarchical data structure
US20170046152A1 (en) * 2015-08-12 2017-02-16 Quanta Computer Inc. Firmware update
US9916151B2 (en) * 2015-08-25 2018-03-13 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
KR20170025085A (ko) * 2015-08-27 2017-03-08 삼성전자주식회사 외부 기기 및 서버와 무선 통신 가능한 무선 단말기 및 이의 소프트웨어의 업데이트 방법
JP6675271B2 (ja) 2015-09-14 2020-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
JP6723829B2 (ja) 2015-09-14 2020-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、ファームウェア更新方法及び制御プログラム
EP4113287B1 (de) 2015-09-14 2024-03-06 Panasonic Intellectual Property Corporation of America Gateway-vorrichtung, netzwerksystem in einem fahrzeug und firmware-aktualisierungsverfahren
WO2017056721A1 (ja) * 2015-09-29 2017-04-06 日立オートモティブシステムズ株式会社 車載制御装置、および車載制御装置の情報更新システム
JP6428580B2 (ja) 2015-11-24 2018-11-28 トヨタ自動車株式会社 ソフトウェア更新装置
CN106935027B (zh) * 2015-12-30 2020-07-07 沈阳美行科技有限公司 一种基于行驶数据的交通信息预测方法及装置
US10114634B2 (en) * 2016-01-22 2018-10-30 2236008 Ontario Inc. Updating a controller unit in a vehicle
KR101966626B1 (ko) * 2016-02-11 2019-04-09 현대자동차주식회사 차량용 무선 소프트웨어 업데이트 방법 및 장치
JP6390644B2 (ja) 2016-03-02 2018-09-19 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6365572B2 (ja) 2016-03-14 2018-08-01 トヨタ自動車株式会社 車両用のソフトウェア管理システム、管理サーバ及び車両
JP6101382B1 (ja) 2016-03-30 2017-03-22 株式会社リクルートホールディングス 情報処理システム、情報処理方法、及び情報処理プログラム
CN105812570B (zh) * 2016-04-21 2019-05-03 深圳市旭子科技有限公司 终端固件更新方法及装置
JP6663109B2 (ja) * 2016-05-10 2020-03-11 富士通株式会社 情報処理装置および実行制御プログラム
JP6380461B2 (ja) 2016-06-02 2018-08-29 住友電気工業株式会社 中継装置、プログラム更新システム、およびプログラム更新方法
JP6414568B2 (ja) * 2016-06-09 2018-10-31 株式会社デンソー 車両用装置
KR101848616B1 (ko) * 2016-06-22 2018-05-28 현대자동차주식회사 차량용 전자장치를 제어하는 방법 및 장치
WO2018029893A1 (ja) * 2016-08-10 2018-02-15 Kddi株式会社 データ提供システム、データ保安装置、データ提供方法、及びコンピュータプログラム
JP2018028830A (ja) * 2016-08-19 2018-02-22 三菱電機株式会社 電子制御装置およびその情報記憶方法
JP6696468B2 (ja) * 2016-08-30 2020-05-20 株式会社オートネットワーク技術研究所 車載更新装置及び車載更新システム
JP6658409B2 (ja) * 2016-09-02 2020-03-04 株式会社オートネットワーク技術研究所 車載更新システム、車載更新装置及び通信装置の更新方法
JP6697357B2 (ja) 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム
JP6260068B1 (ja) 2016-09-30 2018-01-17 Kddi株式会社 保守装置、保守方法、及びコンピュータプログラム
JP6755158B2 (ja) * 2016-09-30 2020-09-16 株式会社日立製作所 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム
JP6760813B2 (ja) 2016-10-14 2020-09-23 日立オートモティブシステムズ株式会社 ソフトウェア更新装置、ソフトウェア更新方法、ソフトウェア更新システム
JP6693853B2 (ja) 2016-10-17 2020-05-13 トヨタ自動車株式会社 ソフトウエア更新制御装置
WO2018079008A1 (ja) * 2016-10-27 2018-05-03 住友電気工業株式会社 制御装置、プログラム更新方法、およびコンピュータプログラム
JP2018073245A (ja) 2016-11-01 2018-05-10 パナソニックIpマネジメント株式会社 検査装置、検査システム、情報処理装置、検査方法およびコンピュータプログラム
JP2018090176A (ja) * 2016-12-06 2018-06-14 トヨタ自動車株式会社 プログラム更新システム
JP6667430B2 (ja) 2016-12-27 2020-03-18 クラリオン株式会社 ソフトウェア更新装置、ソフトウェア更新システム
JP2018116349A (ja) 2017-01-16 2018-07-26 住友電気工業株式会社 中継装置、通信制御方法および通信制御プログラム
JP6666281B2 (ja) 2017-02-16 2020-03-13 株式会社日立製作所 ソフトウェア更新システム、サーバ
JP2018151414A (ja) 2017-03-09 2018-09-27 キヤノン株式会社 像ブレ補正装置及び光学機器
US9955493B1 (en) * 2017-03-21 2018-04-24 GM Global Technology Operations LLC Wireless access point detection and use by a vehicle
DE112018001985T5 (de) * 2017-04-12 2019-12-19 Sumitomo Electric Industries, Ltd. Relais-Einrichtung, Transferverfahren und Computerprogramm
JP6798413B2 (ja) 2017-05-09 2020-12-09 株式会社オートネットワーク技術研究所 車載中継装置、制御プログラム及びメモリ共有方法
US10496398B2 (en) * 2017-07-25 2019-12-03 Aurora Labs Ltd. Hot updates to ECU software using tool chain
JP6940365B2 (ja) * 2017-10-12 2021-09-29 日立Astemo株式会社 情報更新装置
CN108170461B (zh) 2017-12-28 2021-07-27 北京四达时代软件技术股份有限公司 差分升级包生成方法、差分升级方法及装置
JP2019129951A (ja) 2018-01-30 2019-08-08 富士フイルム株式会社 肋骨展開画像生成装置、方法およびプログラム
JP2019129954A (ja) 2018-01-30 2019-08-08 ユニオンツール株式会社 心房細動検出システム
DE112018007361T5 (de) * 2018-03-26 2020-12-10 Sumitomo Electric Industries, Ltd. Stromversorgungs-Steuervorrichtung, Stromversorgungs-Steuerverfahren und Computerprogramm
JP6569771B2 (ja) 2018-05-07 2019-09-04 トヨタ自動車株式会社 車両用のソフトウェア管理システム及び車両
JP6897630B2 (ja) * 2018-05-11 2021-07-07 株式会社オートネットワーク技術研究所 車載更新装置、更新処理方法及び更新処理プログラム
US20190394046A1 (en) * 2018-06-22 2019-12-26 Sf Motors, Inc. Secure firmware updates for remote vehicles
JP6718483B2 (ja) * 2018-06-29 2020-07-08 株式会社Subaru 車両
JP6562134B2 (ja) 2018-07-31 2019-08-21 住友電気工業株式会社 中継装置、プログラム更新システム、およびプログラム更新方法
EP3832622B1 (de) * 2018-08-03 2023-06-21 Honda Motor Co., Ltd. Informationsverwaltungsvorrichtung, fahrzeug und verfahren
US10592231B2 (en) 2018-08-10 2020-03-17 Denso Corporation Vehicle information communication system
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
JP7408937B2 (ja) * 2018-08-10 2024-01-09 株式会社デンソー センター装置,配信パッケージの生成方法及び配信パッケージ生成用プログラム
US11012853B2 (en) * 2018-11-20 2021-05-18 Parallel Wireless, Inc. Secure software update in a wireless mesh radio network using peer-to-peer file sharing
KR20200119601A (ko) * 2019-04-10 2020-10-20 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
US11294662B2 (en) * 2019-10-09 2022-04-05 Toyota Motor North America, Inc. Management of transport software updates
US11704106B2 (en) * 2019-11-08 2023-07-18 Toyota Jidosha Kabushiki Kaisha Program update system and vehicle management server
US11281450B2 (en) * 2020-06-23 2022-03-22 Toyota Motor North America, Inc. Secure transport software update
JP2022180976A (ja) * 2021-05-25 2022-12-07 トヨタ自動車株式会社 Otaセンタ、更新管理方法、更新管理プログラム、otaマスタ、更新制御方法および更新制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11743108B1 (en) * 2022-03-15 2023-08-29 Cisco Technology, Inc. Dynamic customization of network controller data path based on controller internal state awareness
US20230300019A1 (en) * 2022-03-15 2023-09-21 Cisco Technology, Inc. Dynamic customization of network controller data path based on controller internal state awareness

Also Published As

Publication number Publication date
US11886857B2 (en) 2024-01-30
CN112585578A (zh) 2021-03-30
US20210157568A1 (en) 2021-05-27
JP2020027625A (ja) 2020-02-20
JP7003975B2 (ja) 2022-01-21
DE112019004034T5 (de) 2021-05-20
JP7031643B2 (ja) 2022-03-08
DE112019004036T5 (de) 2021-05-20
US20210157567A1 (en) 2021-05-27
DE112019004038T5 (de) 2021-05-12
DE112019004041T5 (de) 2021-07-15
JP2020027620A (ja) 2020-02-20
DE112019004030T5 (de) 2021-05-06
US20210157566A1 (en) 2021-05-27
CN112567337A (zh) 2021-03-26
JP2020027623A (ja) 2020-02-20
CN112567336A (zh) 2021-03-26
US20210157572A1 (en) 2021-05-27
US11693645B2 (en) 2023-07-04
JP2020027622A (ja) 2020-02-20
US20210157575A1 (en) 2021-05-27
JP6984636B2 (ja) 2021-12-22
CN112789592A (zh) 2021-05-11
CN112567333A (zh) 2021-03-26
CN112543915A (zh) 2021-03-23
US20210157902A1 (en) 2021-05-27
JP2020027626A (ja) 2020-02-20
CN112585576A (zh) 2021-03-30
DE112019004053T5 (de) 2021-05-20
JP2020027652A (ja) 2020-02-20
CN112585579A (zh) 2021-03-30
US11900092B2 (en) 2024-02-13
CN112585577A (zh) 2021-03-30
JP7408937B2 (ja) 2024-01-09
US20210155176A1 (en) 2021-05-27
JP7408936B2 (ja) 2024-01-09
JP2020027627A (ja) 2020-02-20
US11733992B2 (en) 2023-08-22
DE112019004022T5 (de) 2021-08-26
US20210157529A1 (en) 2021-05-27
JP7183984B2 (ja) 2022-12-06
JP2020027624A (ja) 2020-02-20
JP7230734B2 (ja) 2023-03-01
US11907698B2 (en) 2024-02-20
US20210157571A1 (en) 2021-05-27
JP2020027643A (ja) 2020-02-20
DE112019004064T5 (de) 2021-05-20
JP7059985B2 (ja) 2022-04-26

Similar Documents

Publication Publication Date Title
DE112019004032T5 (de) Zentralvorrichtung, verteilungspaketerzeugungsverfahren und verteilungspaketerzeugungsprogramm
DE112019004040T5 (de) Fahrzeug-master-vorrichtung, aktualisierungsdatenverteilungssteuerungsverfahren, aktualisierungsdatenverteilungssteuerungsprogramm und datenstruktur von spezifikationsdaten
JP7439439B2 (ja) 車両情報通信システム,車両情報通信方法,車両情報通信プログラム及びセンター装置
JP7413709B2 (ja) 車両用プログラム書換えシステム,車両用プログラム書換え方法,パッケージ配信用プログラム,センター装置及びパッケージ配信方法
DE112019004058T5 (de) Fahrzeugprogrammneuschreibsystem, fahrzeug-master-vorrichtung, fortschrittsynchronisationsverfahren und fortschrittssynchronisationsprogramm
DE112019004071T5 (de) Elektronisches fahrzeugsteuerungssystem, fortschrittsbildschirmanzeigesteuerungsverfahren und fortschrittsbildschirmanzeigesteuerungsprogramm
DE112020004017T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren unter spezifischem modus und umschreibanweisungsprogramm unter spezifischem modus
DE112019004042T5 (de) Fahrzeug-Master-Vorrichtung, Aktualisierungsdatenverifizierungsverfahren und Aktualisierungsdatenverifizierungsprogramm
DE112021001659T5 (de) Zentralvorrichtung, verfahren zum erzeugen von verteilungspaket undprogramm zum erzeugen von verteilungspaket
DE112019004068T5 (de) Elektronisches fahrzeugsteuerungssystem, verteilungspaket-download-bestimmungsverfahren und verteilungspaket-download-bestimmungsprogramm
DE112019004061T5 (de) Elektronische Steuerungseinheit, elektronisches Fahrzeugsteuerungssystem, Neuschreibausführungsverfahren, Neuschreibausführungsprogramm und Datenstrukturspezifikationsdaten
DE112020004103T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einem überschreiben von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem überschreiben von konfigurationsfestlegungsinformationen
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
DE112019004025T5 (de) Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, differenzdatenkonsistenzbestimmungsverfahren und differenzdatenkonsistenzbestimmungsprogramm
DE112019004054T5 (de) Fahrzeug-master-vorrichtung, installationsbefehlsbestimmungsverfahren und installationsbefehlsbestimmungsprogramm
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) 電子制御装置、リトライポイントの特定方法、リトライポイントの特定プログラム及び車両用電子制御システム
DE112020004011T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einer aktualisierung von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem aktualisieren von konfigurationsfestlegungsinformationen
JP7435854B2 (ja) 車両管理システム、センター装置、データ管理方法及びデータ管理用プログラム
DE112019004020T5 (de) Anzeigesteuerungsvorrichtung, neuschreibfortschrittsanzeigesteuerungsverfahren und neuschreibfortschrittsanzeigesteuerungsprogramm
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

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: WINTER, BRANDL - PARTNERSCHAFT MBB, PATENTANWA, DE