DE102017202282B4 - ON-VEHICLE CONTROL DEVICE AND ON-VEHICLE NETWORK WITH THE ON-VEHICLE CONTROL DEVICE - Google Patents

ON-VEHICLE CONTROL DEVICE AND ON-VEHICLE NETWORK WITH THE ON-VEHICLE CONTROL DEVICE Download PDF

Info

Publication number
DE102017202282B4
DE102017202282B4 DE102017202282.5A DE102017202282A DE102017202282B4 DE 102017202282 B4 DE102017202282 B4 DE 102017202282B4 DE 102017202282 A DE102017202282 A DE 102017202282A DE 102017202282 B4 DE102017202282 B4 DE 102017202282B4
Authority
DE
Germany
Prior art keywords
node
rewriting
nodes
control program
control
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.)
Active
Application number
DE102017202282.5A
Other languages
German (de)
Other versions
DE102017202282A1 (en
Inventor
Kazuhiro Uehara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE102017202282A1 publication Critical patent/DE102017202282A1/en
Application granted granted Critical
Publication of DE102017202282B4 publication Critical patent/DE102017202282B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Abstract

Fahrzeugeigene Steuerungsvorrichtung, die einen Ausführungsmodus von mehreren Knoten (10-40, 10a) in einem fahrzeugeigenen Steuerungssystem (100, 110, 120, 130) entscheidet, wobei die Knoten kooperieren und eine Steuerung zu einem Zeitpunkt eines Steuerungsmodus durchführen, wobei jeder der Knoten als Ausführungsmodus den Steuerungsmodus, bei dem die Steuerung durch Ausführen eines Steuerungsprogramms durchgeführt wird, und einen Neuprogrammierungsmodus aufweist, bei dem ein Neuschreiben des Steuerungsprogramms durch Ausführen eines Neuprogrammierungsprogramms durchgeführt wird, ohne die Steuerung auf der Grundlage des Steuerungsprogramms durchzuführen, wobei die fahrzeugeigene Steuerungsvorrichtung aufweist:einen Bestimmungsabschnitt (S11, S12, S12a, S12b), der bestimmt, ob sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben; undeinen Entscheidungsabschnitt (S13, S14, S13a, S14a), der den Ausführungsmodus als den Steuerungsmodus entscheidet, wenn der Bestimmungsabschnitt bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, und den Ausführungsmodus als den Neuprogrammierungsmodus entscheidet, wenn der Bestimmungsabschnitt nicht bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben; wobeidie fahrzeugeigene Steuerungsvorrichtung einer der Knoten ist;der Bestimmungsabschnitt (S11, S12, S12a, S12b) auf der Grundlage einer Beendigung des Neuschreibens des Steuerungsprogramms in der fahrzeugeigenen Steuerungsvorrichtung und auf der Grundlage von Beendigungsinformationen, die von einem anderen Knoten empfangen werden und angeben, dass das Neuschreiben des Steuerungsprogramms in dem anderen Knoten beendet wurde, bestimmt, ob sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben;die fahrzeugeigene Steuerungsvorrichtung Daten für das Neuschreiben des Steuerungsprogramms von einer Neuschreibvorrichtung empfängt, um das Steuerungsprogramm neu zu schreiben; unddie fahrzeugeigene Steuerungsvorrichtung einen Individualmeldeabschnitt (S38) enthält, der der Neuschreibvorrichtung meldet, dass das Neuschreiben des Steuerungsprogramms beendet wurde, wenn das Neuschreiben des Steuerungsprogramms in der fahrzeugeigenen Steuerungsvorrichtung beendet wurde, und jedes Mal wenn die Beendigungsinformationen von einem anderen Knoten empfangen werden.On-vehicle control device that decides an execution mode of a plurality of nodes (10-40, 10a) in an on-vehicle control system (100, 110, 120, 130), the nodes cooperating and performing control at a time of a control mode, each of the nodes as Execution mode includes the control mode in which control is performed by executing a control program, and a reprogramming mode in which rewriting of the control program is performed by executing a reprogramming program without performing control based on the control program, the on-vehicle control device comprising: a determining section (S11, S12, S12a, S12b) which determines whether all nodes have finished rewriting the control program; anda decision section (S13, S14, S13a, S14a) which decides the execution mode as the control mode when the determination section determines that all nodes have finished rewriting the control program, and decides the execution mode as the reprogramming mode when the determination section does not determine that all nodes have finished rewriting the control program; whereinthe on-vehicle control device is one of the nodes;the determining section (S11, S12, S12a, S12b) based on a completion of rewriting of the control program in the on-vehicle control device and on the basis of completion information received from another node indicating that the control program rewriting has been completed in the other node, determining whether all nodes have completed the control program rewriting;the on-vehicle control device receives control program rewriting data from a rewriting device to rewrite the control program; andthe on-vehicle control device includes an individual reporting section (S38) that reports to the rewriting device that the rewriting of the control program has been completed when the rewriting of the control program has been completed in the on-vehicle control device and each time the completion information is received from another node.

Description

Die vorliegende Erfindung betrifft eine fahrzeugeigene Steuerungsvorrichtung und ein fahrzeugeigenes Netzwerk, das die fahrzeugeigene Steuerungsvorrichtung enthält.The present invention relates to an on-vehicle control device and an on-vehicle network containing the on-vehicle control device.

Als ein Beispiel einer fahrzeugeigenen Steuerungsvorrichtung offenbart die JP 2008- 165 729 A einen Mikrocomputer, der anfänglich einen Flash-Status in einem Flash-Speicher löscht, wenn eine CPU ein Neuschreibprogramm ausführt. Nach dem Löschen schreibt der Mikrocomputer sämtliche Domänen (Domains) dieses Speichers (des Flash-Speichers) neu, und schreibt schließlich einen Neuschreibbeendigungscode als den Flash-Status.As an example of an on-vehicle control device, the JP 2008- 165 729 A a microcomputer that initially clears a flash state in flash memory when a CPU executes a rewrite program. After erasing, the microcomputer rewrites all domains of this memory (flash memory), and finally writes a rewrite completion code as the flash status.

Die US 2010 / 0 115 120 A1 offenbart ein elektronisches Netzwerk, beispielsweise für ein Automobilnetzwerk, mit einer Vielzahl von Verarbeitungseinheiten, die in Teilnetzwerken hierarchisch und heterogen angeordnet sind. Das Netzwerk weist eine Datenstrom-Steuerung auf, die mit den Teilnetzwerken gekoppelt ist und Daten an die Teilnetzwerke zum Flashen von Daten der Verarbeitungseinheiten übertragen kann. Ferner verfügt das Netzwerk über einen Datenübertragungsport, der mit der Datenstrom-Steuerung gekoppelt ist und eine Hochgeschwindigkeitsdatenübertragung zur Datenstrom-Steuerung ermöglicht. Die Datenstrom-Steuerung dient der gleichzeitigen Bereitstellung von Daten und insbesondere von Flash-Daten an die verschiedenen Steuereinheiten in einer Weise, die an das Kommunikationsprotokoll und die Datenübertragungsrate jedes Teilnetzes angepasst ist.The US 2010 / 0 115 120 A1 discloses an electronic network, for example for an automobile network, with a large number of processing units which are arranged hierarchically and heterogeneously in sub-networks. The network includes a data stream controller coupled to the subnetworks and capable of transmitting data to the subnetworks for flashing data from the processing units. Furthermore, the network has a data transmission port that is coupled to the data stream control and enables high-speed data transmission to the data stream control. The data stream control serves to simultaneously provide data, and in particular flash data, to the various control units in a manner that is adapted to the communication protocol and the data transfer rate of each subnetwork.

Die EP 2 613 255 A2 offenbart ein Verfahren zum Aktualisieren von Firmware. Eine Informationsverarbeitungsvorrichtung enthält eine Speichereinheit zum Speichern eines Datensatzes mit Versionsinformationen; eine Erfassungseinheit zum Erfassen eines Aktualisierungsverwendungs-Datensatzes mit Versionsinformationen; eine Bereitstellungseinheit zum Bereitstellen der aus der Speichereinheit gelesenen Versionsinformationen; eine Aktualisierungsverwaltungseinheit zum Bestimmen, ob eine Aktualisierung des in der Speichereinheit gespeicherten Datensatzes erforderlich ist, wobei die Aktualisierungsverwaltungseinheit den in der Speichereinheit gespeicherten Datensatz unter Verwendung des Aktualisierungsverwendungsdatensatzes aktualisiert, wenn auf der Grundlage der erfassten Versionsinformationen und der bereitgestellten Versionsinformationen bestimmt wird, dass eine Aktualisierung erforderlich ist; und eine Aktualisierungsabschluss-Bestimmungseinheit zum Bestimmen, ob die Aktualisierung des Datensatzes durch die Aktualisierungs-Verwaltungseinheit abgeschlossen ist, wobei, wenn bestimmt wird, dass die Aktualisierung des Datensatzes nicht korrekt abgeschlossen ist, die Bereitstellungseinheit spezielle Versionsinformationen, die anzeigen, dass die Aktualisierung nicht korrekt abgeschlossen ist, anstelle der in der Speichereinheit gespeicherten Versionsinformationen bereitstellt.The EP 2 613 255 A2 discloses a method for updating firmware. An information processing device includes a storage unit for storing a record of version information; an acquisition unit for acquiring an update usage record with version information; a provision unit for providing the version information read from the storage unit; an update management unit for determining whether an update of the record stored in the storage unit is required, the update management unit updating the record stored in the storage unit using the update usage record when it is determined that an update is required based on the acquired version information and the provided version information is; and an update completion determination unit for determining whether the update of the record by the update management unit is completed, wherein if it is determined that the update of the record is not correctly completed, the providing unit provides special version information indicating that the update is incorrect is completed, instead of providing the version information stored in the storage unit.

Eine fahrzeugeigene Steuerungsvorrichtung kann ein Knoten eines fahrzeugeigenen Steuerungssystems sein, bei dem mehrere Knoten eine Steuerung in Kooperation miteinander durchführen. Das fahrzeugeigene Steuerungssystem kann (i) einen Knoten, dessen Steuerungsprogramm in ein neues Steuerungsprogramm neu geschrieben wurde, und (ii) einen Knoten enthalten, dessen Steuerungsprogramm nicht in ein neues Steuerungsprogramm neu geschrieben wurde. In diesem Fall kann eine Steuerung in dem fahrzeugeigenen Steuerungssystem durch den Knoten, dessen Steuerungsprogramm neu geschrieben wurde, und den Knoten, dessen Steuerungsprogramm nicht neu geschrieben wurde, durchgeführt werden. Daher kann eine Steuerung entsprechend dem neuen Steuerungsprogramm in dem fahrzeugeigenen Steuerungssystem nicht durchgeführt werden.An on-vehicle control device can be a node of an on-vehicle control system in which several nodes carry out control in cooperation with one another. The on-vehicle control system may include (i) a node whose control program has been rewritten to a new control program and (ii) a node whose control program has not been rewritten to a new control program. In this case, control in the on-vehicle control system can be performed by the node whose control program has been rewritten and the node whose control program has not been rewritten. Therefore, control according to the new control program cannot be performed in the on-vehicle control system.

Es ist eine Aufgabe der vorliegenden Erfindung, eine fahrzeugeigene Steuerungsvorrichtung und ein fahrzeugeigenes Netzwerk, das die fahrzeugeigene Steuerungsvorrichtung enthält, zu schaffen, die in der Lage sind, eine Durchführung einer Steuerung in einem fahrzeugeigenen Steuerungssystem zu verhindern, wenn ein Knoten, dessen neues Steuerungsprogramm neu geschrieben wurde, und ein Knoten, dessen neues Steuerungsprogramm nicht neu geschrieben wurde, beide vorhanden sind. Die Aufgabe wird durch eine fahrzeugeigene Steuerungsvorrichtung mit den Merkmalen des Anspruchs 1 sowie durch ein fahrzeugeigenes Netzwerk mit den Merkmalen des Anspruchs 6 gelöst. Die abhängigen Ansprüche sind auf vorteilhafte Weiterbildungen der Erfindung gerichtet.It is an object of the present invention to provide an on-vehicle control device and an on-vehicle network including the on-vehicle control device capable of preventing control from being performed in an on-vehicle control system when a node whose new control program is updated was written, and a node whose new control program was not rewritten both exist. The task is solved by an on-vehicle control device with the features of claim 1 and by an on-vehicle network with the features of claim 6. The dependent claims are directed to advantageous developments of the invention.

Gemäß einem Aspekt der vorliegenden Erfindung wird eine fahrzeugeigene Steuerungsvorrichtung geschaffen, die einen Ausführungsmodus von mehreren Knoten in einem fahrzeugeigenen Steuerungssystem entscheidet (bestimmt), wobei die Knoten kooperieren und eine Steuerung zu einem Zeitpunkt eines Steuerungsmodus durchführen, wobei jeder der Knoten als Ausführungsmodus den Steuerungsmodus, in dem die Steuerung durch Ausführen eines Steuerungsprogramms durchgeführt wird, und einen Neuprogrammierungsmodus aufweist, in dem ein Neuschreiben des Steuerungsprogramms durch Ausführen eines Neuprogrammierungsprogramms durchgeführt wird, ohne die Steuerung auf der Grundlage des Steuerungsprogramms durchzuführen. Die fahrzeugeigene Steuerungsvorrichtung enthält: einen Bestimmungsabschnitt, der bestimmt, ob sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben; und einen Entscheidungsabschnitt, der den Ausführungsmodus als den Steuerungsmodus entscheidet (bestimmt), wenn der Bestimmungsabschnitt bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, und den Ausführungsmodus als den Neuprogrammierungsmodus entscheidet (bestimmt), wenn der Bestimmungsabschnitt nicht bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben.According to one aspect of the present invention, there is provided an on-vehicle control device that decides (determines) an execution mode of a plurality of nodes in an on-vehicle control system, the nodes cooperating and performing control at a time of a control mode, each of the nodes as the execution mode being the control mode, in which control is performed by executing a control program, and a reprogramming mode in which rewriting of the control program is performed by executing a reprogramming program without performing control based on the control program. The on-vehicle control device includes: a determination section that determines whether all nodes have finished rewriting the control program; and a decision section that decides (determines) the execution mode as the control mode when the determination section determines that all nodes have finished rewriting the control program, and decides (determines) the execution mode as the reprogramming mode when the determination section does not determine that all nodes have finished rewriting the control program.

Gemäß der fahrzeugeigenen Steuerungsvorrichtung wird bestimmt, ob sämtliche Knoten das Neuschreiben eines Steuerungsprogramms beendet haben. Das heißt, die fahrzeugeigene Steuerungsvorrichtung bestimmt nicht nur für den Subjektknoten, ob die unterschiedlichen Knoten das Neuschreiben des Steuerungsprogramms beendet haben. Außerdem entscheidet die fahrzeugeigene Steuerungsvorrichtung den Ausführungsmodus als den Steuerungsmodus, wenn bestimmt wird, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben. Im Gegensatz dazu entscheidet die fahrzeugeigene Steuerungsvorrichtung den Ausführungsmodus als den Neuprogrammierungsmodus, wenn bestimmt wird, dass nicht sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, das heißt, wenn bestimmt wird, dass mindestens ein Knoten das Neuschreiben des Steuerungsprogramms nicht beendet hat.According to the on-vehicle control device, it is determined whether all nodes have finished rewriting a control program. That is, the on-vehicle control device determines whether the different nodes have finished rewriting the control program not only for the subject node. In addition, the on-vehicle control device decides the execution mode as the control mode when it determines that all nodes have finished rewriting the control program. In contrast, the on-vehicle control device decides the execution mode as the reprogramming mode when it is determined that not all nodes have finished rewriting the control program, that is, when it is determined that at least one node has not finished rewriting the control program.

Daher entscheidet die fahrzeugeigene Steuerungsvorrichtung des Ausführungsmodus des Subjektknotens als den Neuprogrammierungsmodus, wenn ein Knoten des neuen Programms und der Knoten des alten Programms in dem Knoten vermischt (beide vorhanden) sind. Es ist möglich, dass die fahrzeugeigene Steuerungsvorrichtung eine Ausführung einer Steuerung durch ein Steuerungssystem in dem fahrzeugeigene Steuerungssystem verhindert, in dem ein Knoten des neuen Programms und ein Knoten des alten Programms vermischt sind.Therefore, the on-vehicle control device decides the execution mode of the subject node as the reprogramming mode when a node of the new program and the node of the old program are mixed (both present) in the node. It is possible that the on-vehicle control device prevents execution of control by a control system in the on-vehicle control system in which a node of the new program and a node of the old program are mixed.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung kommuniziert ein fahrzeugeigenes Netzwerk mit einer Neuschreibvorrichtung, die bewirkt, dass mehrere Knoten ein Steuerungsprogramm neu schreiben. Das fahrzeugeigene Netzwerk enthält: ein fahrzeugeigenes Steuerungssystem, das die Knoten enthält, die kooperieren und eine Steuerung zu einem Zeitpunkt eines Steuerungsmodus durchführen, wobei die Knoten fahrzeugeigenen Steuerungsvorrichtungen entsprechen, wobei jeder Knoten als einen Ausführungsmodus den Steuerungsmodus, bei dem die Steuerung durch Ausführen eines Steuerungsprogramms durchgeführt wird, und einen Neuprogrammierungsmodus aufweist, bei dem ein Neuschreiben des Steuerungsprogramms durch Ausführen eines Neuschreibprogramms durchgeführt wird, ohne die Steuerung auf der Grundlage des Steuerungsprogramms durchzuführen. Jeder der Knoten enthält einen Bestimmungsabschnitt, der bestimmt, ob sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, und einen Entscheidungsabschnitt, der den Ausführungsmodus als den Steuerungsmodus entscheidet (bestimmt), wenn der Bestimmungsabschnitt bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, und den Ausführungsmodus als Neuprogrammierungsmodus entscheidet (bestimmt), wenn der Bestimmungsabschnitt nicht bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, und einen Beendigungsmeldungsabschnitt, der der Neuschreibvorrichtung meldet, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, wenn der Entscheidungsabschnitt den Steuerungsmodus entscheidet (bestimmt).According to another aspect of the present invention, an on-vehicle network communicates with a rewriter that causes multiple nodes to rewrite a control program. The on-vehicle network includes: an on-vehicle control system including the nodes that cooperate and perform control at a time of a control mode, the nodes corresponding to on-vehicle control devices, each node as an execution mode, the control mode in which control is carried out by executing a control program is performed, and has a reprogramming mode in which rewriting of the control program is performed by executing a rewriting program without performing control based on the control program. Each of the nodes includes a determining section that determines whether all nodes have finished rewriting the control program, and a decision section that decides (determines) the execution mode as the control mode when the determining section determines that all nodes have finished rewriting the control program, and decides (determines) the execution mode as a reprogramming mode when the determining section does not determine that all the nodes have finished rewriting the control program, and a completion notification section that reports to the rewriting device that all the nodes have finished rewriting the control program when the deciding section has the control mode decides (determines).

Daher ist es möglich, dass jeder Knoten eine ähnliche Wirkung wie oben beschrieben aufweist. Es ist möglich, dass das fahrzeugeigene Netzwerk die Ausführung einer Steuerung durch ein Steuerungssystem in dem Fall verhindert, in dem ein Knoten des neuen Programms und ein Knoten des alten Programms vermischt sind.Therefore, it is possible for each node to have a similar effect as described above. It is possible that the on-vehicle network prevents execution of control by a control system in the case where a node of the new program and a node of the old program are mixed.

Die obigen und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden anhand der folgenden detaillierten Beschreibung mit Bezug auf die zugehörigen Zeichnungen deutlich. Es zeigen:

  • 1 ein Blockdiagramm, das eine Umrisskonfiguration des fahrzeugeigenen Steuerungssystems gemäß einer ersten Ausführungsform darstellt;
  • 2 ein Blockdiagramm, das eine Umrisskonfiguration einer fahrzeugeigenen Steuerungsvorrichtung gemäß der ersten Ausführungsform darstellt;
  • 3 ein Diagramm, das schematisch eine Konfiguration eines ROM eines ersten Knotens gemäß der ersten Ausführungsform darstellt;
  • 4 ein Diagramm, das schematisch eine Konfiguration eines ROM eines zweiten Knotens gemäß der ersten Ausführungsform darstellt;
  • 5 ein Flussdiagramm, das eine Startverarbeitung des ersten Knotens gemäß der ersten Ausführungsform darstellt;
  • 6 ein Flussdiagramm, das eine Startverarbeitung des zweiten Knotens gemäß der ersten Ausführungsform darstellt;
  • 7 ein Flussdiagramm, das einen Verarbeitungsbetrieb des ersten Knotens gemäß der ersten Ausführungsform darstellt;
  • 8 ein Flussdiagramm, das einen Verarbeitungsbetrieb zwischen A und B in 7 darstellt;
  • 9 ein Flussdiagramm, das einen Verarbeitungsbetrieb des zweiten Knotens gemäß der ersten Ausführungsform darstellt;
  • 10 ein Sequenzdiagramm, das einen Verarbeitungsbetrieb eines fahrzeugeigenen Steuerungssystems gemäß der ersten Ausführungsform darstellt;
  • 11 ein Flussdiagramm, das einen Verarbeitungsbetrieb eines Neuschreibwerkzeugs gemäß der ersten Ausführungsform darstellt;
  • 12 ein Flussdiagramm, das eine Startverarbeitung des ersten Knotens gemäß einer zweiten Ausführungsform darstellt;
  • 13 ein Flussdiagramm, das eine Startverarbeitung des ersten Knotens gemäß einer dritten Ausführungsform darstellt;
  • 14 ein Blockdiagramm, das eine Umrisskonfiguration des fahrzeugeigenen Steuerungssystems gemäß einer vierten Ausführungsform darstellt;
  • 15 ein Diagramm, das Vermittlungsinformationen eines Vermittlungsknotens gemäß der vierten Ausführungsform darstellt;
  • 16 ein Blockdiagramm, das eine Umrisskonfiguration des fahrzeugeigenen Steuerungssystems gemäß einer fünften Ausführungsform darstellt;
  • 17 ein Flussdiagramm, das eine Startverarbeitung des ersten Knotens gemäß der fünften Ausführungsform darstellt; und
  • 18 ein Blockdiagramm, das eine Umrisskonfiguration des fahrzeugeigenen Steuerungssystems gemäß einer siebten Ausführungsform darstellt.
The above and other objects, features and advantages of the present invention will become apparent from the following detailed description with reference to the accompanying drawings. Show it:
  • 1 a block diagram illustrating an outline configuration of the on-vehicle control system according to a first embodiment;
  • 2 a block diagram illustrating an outline configuration of an on-vehicle control device according to the first embodiment;
  • 3 a diagram schematically illustrating a configuration of a ROM of a first node according to the first embodiment;
  • 4 a diagram schematically illustrating a configuration of a ROM of a second node according to the first embodiment;
  • 5 a flowchart illustrating startup processing of the first node according to the first embodiment;
  • 6 a flowchart illustrating startup processing of the second node according to the first embodiment;
  • 7 a flowchart illustrating a processing operation of the first node according to the first embodiment;
  • 8th a flowchart showing a processing operation between A and B in 7 represents;
  • 9 a flowchart illustrating a processing operation of the second node according to the first embodiment;
  • 10 a sequence diagram illustrating a processing operation of an on-vehicle control system according to the first embodiment;
  • 11 a flowchart illustrating a processing operation of a rewriting tool according to the first embodiment;
  • 12 a flowchart illustrating startup processing of the first node according to a second embodiment;
  • 13 a flowchart illustrating startup processing of the first node according to a third embodiment;
  • 14 a block diagram illustrating an outline configuration of the on-vehicle control system according to a fourth embodiment;
  • 15 a diagram illustrating switching information of a switching node according to the fourth embodiment;
  • 16 a block diagram illustrating an outline configuration of the on-vehicle control system according to a fifth embodiment;
  • 17 a flowchart illustrating startup processing of the first node according to the fifth embodiment; and
  • 18 12 is a block diagram illustrating an outline configuration of the on-vehicle control system according to a seventh embodiment.

Im Folgenden werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Zeichnungen erläutert. In jeder Ausführungsform können Teile, die Teilen entsprechen, die in einer vorhergehenden Ausführungsform erläutert wurden, mit identischen Bezugszeichen bezeichnet werden, und deren Erläuterungen werden nicht wiederholt. In jeder Ausführungsform wird, wenn eine Konfiguration teilweise erläutert wird, die Erläuterung in Bezug auf einen anderen Teil der Konfiguration durch Bezugnahme auf die Erläuterungen einer vorhergehenden Ausführungsform verwendet.Embodiments of the present invention will be explained below with reference to the drawings. In each embodiment, parts corresponding to parts explained in a previous embodiment may be denoted by identical reference numerals, and explanations thereof will not be repeated. In each embodiment, when a configuration is partially explained, the explanation is used with respect to another part of the configuration by referring to the explanations of a previous embodiment.

(Erste Ausführungsform)(First embodiment)

Im Folgenden wird eine erste Ausführungsform mit Bezug auf die 1 bis 11 erläutert. In der vorliegenden Ausführungsform wird ein erster Knoten 10 als eine fahrzeugeigene Steuerungsvorrichtung verwendet.A first embodiment is described below with reference to 1 until 11 explained. In the present embodiment, a first node 10 is used as an on-vehicle control device.

Mit Bezug auf die 1 bis 4 wird eine Konfiguration des ersten Knotens 10 und eine Konfiguration eines fahrzeugeigenen Steuerungssystems 100, das den ersten Knoten 10 enthält, beschrieben. Das fahrzeugeigene Steuerungssystem 100 ist an einem Fahrzeug montierbar. Das fahrzeugeigene Steuerungssystem 100 kann als ein Teil eines fahrzeugeigenen Netzwerkes bereitgestellt werden, das in einem Fahrzeug vorhanden ist. Das fahrzeugeigene Steuerungssystem kann auch als Fahrzeugsteuerungssystem bezeichnet werden.With reference to the 1 until 4 A configuration of the first node 10 and a configuration of an on-vehicle control system 100 including the first node 10 will be described. The vehicle's own control system 100 is mountable on a vehicle. The on-vehicle control system 100 may be provided as part of an on-vehicle network present in a vehicle. The vehicle's own control system can also be referred to as the vehicle control system.

Das fahrzeugeigene Steuerungssystem 100 enthält mehrere Knoten, die den ersten Knoten 10 enthalten und gemeinsam in Einheit eines von mehreren Steuerungssystemen in dem Fahrzeug steuern. Die Steuerungssysteme enthalten ein Verbrennungsmotorsteuerungssystem, ein Karosseriesteuerungssystem oder Ähnliches. Somit kann ein System des Verbrennungsmotorsteuerungssystems beispielsweise als fahrzeugeigenes Steuerungssystem 100 verwendet werden.The on-vehicle control system 100 includes multiple nodes that include the first node 10 and collectively control one of multiple control systems in the vehicle. The control systems include an engine control system, a body control system, or the like. Thus, a system of the internal combustion engine control system can be used as an on-vehicle control system 100, for example.

Das fahrzeugeigene Steuerungssystem 100 enthält beispielsweise zusätzlich zu dem ersten Knoten 10 einen zweiten Knoten 20 und einen dritten Knoten 30. Das heißt, in der vorliegenden Ausführungsform kann der erste Knoten 10, der einer der Knoten 10 - 30 in dem fahrzeugeigenen Steuerungssystem 100 ist, einer fahrzeugeigenen Steuerungsvorrichtung entsprechen. Das heißt, der erste Knoten 10 kann ein Beispiel der fahrzeugeigenen Steuerungsvorrichtung sein. Das fahrzeugeigene Steuerungssystem 100 kann den ersten Knoten 10, den zweiten Knoten 20 und den dritten Knoten 30 als Knoten in demselben Steuerungssystem enthalten. In diesem Fall können der erste Knoten 10, der zweite Knoten 20 und der dritte Knoten 30 als betreffende (in Beziehung stehende) Knoten bezeichnet werden, da der erste Knoten 10, der zweite Knoten 20 und der dritte Knoten 30 einander zugeordnet sind, um eine Steuerung eines Steuerungssystems durchzuführen.For example, the on-vehicle control system 100 includes a second node 20 and a third node 30 in addition to the first node 10. That is, in the present embodiment, the first node 10, which is one of the nodes 10 - 30 in the on-vehicle control system 100, may be one correspond to the vehicle's own control device. That is, the first node 10 may be an example of the on-vehicle control device. The on-vehicle control system 100 may include the first node 10, the second node 20, and the third node 30 as nodes in the same control system. In this case, the first node 10, the second node 20 and the third node 30 may be referred to as related nodes because the first node 10, the second node 20 and the third node 30 are associated with each other to form a To carry out control of a control system.

Jeder der Knoten 10 - 30 weist als Ausführungsmodus einen Steuerungsmodus und einen Neuprogrammierungsmodus auf. In dem Steuerungsmodus wird ein Steuerungsprogramm ausgeführt, und es wird eine Steuerung durchgeführt. In dem Neuprogrammierungsmodus wird ein Neuprogrammierungsprogramm ausgeführt, ohne die Steuerung auf der Grundlage des Steuerungsprogramms durchzuführen, und es wird ein Steuerungsprogramm neu geschrieben. Der Steuerungsmodus kann als Steuerungsprogrammausführungsmodus bezeichnet werden. Außerdem kann der Neuprogrammierungsmodus als Neuprogrammierungsprogrammausführungsmodus bezeichnet werden. Im Folgenden kann das Neuschreiben des Steuerungsprogramms aus Vereinfachungsgründen als Neuschreiben beschrieben bzw. bezeichnet werden.Each of the nodes 10-30 has a control mode and a reprogramming mode as execution modes. In the control mode, a control program is executed and control is performed. In the reprogramming mode, a reprogramming program is executed without the control based on the control pro program and a control program is rewritten. The control mode can be referred to as the control program execution mode. Additionally, the reprogramming mode may be referred to as the reprogramming program execution mode. In the following, the rewriting of the control program can be described or referred to as rewriting for reasons of simplicity.

Der erste Knoten 10, der zweite Knoten 20 und der dritte Knoten 30 in dem fahrzeugeigenen Steuerungssystem 100 können über einen Kommunikationsbus 200 miteinander kommunizieren. Das heißt, jeder der Knoten 10 - 30 ist mit dem Kommunikationsbus 200 verbunden und kann mit den anderen über den Kommunikationsbus 200 kommunizieren.The first node 10, the second node 20 and the third node 30 in the vehicle control system 100 can communicate with each other via a communication bus 200. That is, each of the nodes 10 - 30 is connected to the communication bus 200 and can communicate with the others via the communication bus 200.

Das fahrzeugeigene Steuerungssystem 100 kann mit einem Neuschreibwerkzeug (Neuschreib-Tool) 400, das außerhalb des Fahrzeugs angeordnet ist, kommunizieren. Der erste Knoten 10 in dem fahrzeugeigenen Steuerungssystem 100 kann beispielsweise mit dem Neuschreibwerkzeug 400 kommunizieren. Da der zweite Knoten 20 und der dritte Knoten 30 mit dem ersten Knoten 10 über den Kommunikationsbus 200 kommunizieren können, können der zweite Knoten 20 und der dritte Knoten 30 über den ersten Knoten 10 mit dem Neuschreibwerkzeug 400 kommunizieren. Mit anderen Worten, das fahrzeugeigene Steuerungssystem 100 enthält den ersten Knoten 10 als einen Master (kann auch als Masterknoten bezeichnet werden) und den zweiten Knoten 20 und den dritten Knoten 30 als Slaves (Sklaven) (können auch als Slaveknoten bezeichnet werden).The on-vehicle control system 100 may communicate with a rewrite tool 400 located outside of the vehicle. The first node 10 in the on-vehicle control system 100 may, for example, communicate with the rewrite tool 400. Since the second node 20 and the third node 30 can communicate with the first node 10 via the communication bus 200, the second node 20 and the third node 30 can communicate with the rewrite tool 400 via the first node 10. In other words, the on-vehicle control system 100 includes the first node 10 as a master (may also be referred to as a master node) and the second node 20 and the third node 30 as slaves (may also be referred to as slave nodes).

Wenn der Ausführungsmodus der jeweiligen Knoten 10 - 30 der Steuerungsmodus ist, führen die jeweiligen Knoten 10 - 30 das Steuerungsprogramm aus, und die jeweiligen Knoten 10 - 30 in dem fahrzeugeigenen Steuerungssystem 100 kooperieren miteinander und führen die Steuerung in dem Steuerungssystem durch.When the execution mode of the respective nodes 10 - 30 is the control mode, the respective nodes 10 - 30 execute the control program, and the respective nodes 10 - 30 in the on-vehicle control system 100 cooperate with each other and perform control in the control system.

Wenn im Gegensatz dazu der Ausführungsmodus der jeweiligen Knoten 10 bis 30 der Neuprogrammierungsmodus ist, führen die jeweiligen Knoten 10 - 30 das Neuprogrammierungsprogramm aus, und das Steuerungsprogramm in den jeweiligen Knoten 10 - 30 in dem fahrzeugeigenen Steuerungssystem 100 wird neu geschrieben. In diesem Fall kommuniziert der erste Knoten 10 in dem fahrzeugeigenen Steuerungssystem 100, während er mit dem Neuschreibwerkzeug 400 kommuniziert, ebenfalls mit dem zweiten Knoten 20 und dem dritten Knoten 30, sodass das Steuerungsprogramm neu geschrieben wird.In contrast, when the execution mode of the respective nodes 10 to 30 is the reprogramming mode, the respective nodes 10 to 30 execute the reprogramming program, and the control program in the respective nodes 10 to 30 in the on-vehicle control system 100 is rewritten. In this case, the first node 10 in the on-vehicle control system 100, while communicating with the rewriting tool 400, also communicates with the second node 20 and the third node 30 so that the control program is rewritten.

Das heißt, das fahrzeugeigene Steuerungssystem 100 führt die Steuerung in dem Steuerungssystem durch, da sämtliche Knoten 10 - 30 das Steuerungsprogramm ausführen. Wenn der Ausführungsmodus mindestens einer der Knoten 10 - 30 der Neuprogrammierungsmodus ist, kann das fahrzeugeigene Steuerungssystem 100 die Steuerung in dem Steuerungssystem nicht durchführen, da der mindestens eine Knoten das Neuprogrammierungsprogramm ausführt. Alternativ wird angenommen, dass einer der Knoten 10 - 30 das Neuprogrammierungsprogramm ausführt und ein anderer Knoten, der ein anderer der Knoten 10 - 30 ist, das Steuerungsprogramm ausführt. In diesem Fall wird eine Kommunikation, die durchgeführt wird, wenn das Steuerungsprogramm ausgeführt wird, unterbrochen, und die Steuerung in dem Steuerungssystem kann nicht durchgeführt werden.That is, the on-vehicle control system 100 performs control in the control system since all nodes 10 - 30 execute the control program. When the execution mode of at least one of the nodes 10 - 30 is the reprogramming mode, the on-vehicle control system 100 cannot perform control in the control system because the at least one node executes the reprogramming program. Alternatively, assume that one of nodes 10-30 is executing the reprogramming program and another node, which is another of nodes 10-30, is executing the control program. In this case, communication performed when the control program is executed is interrupted and control in the control system cannot be performed.

Wie es oben beschrieben wurde, führt das fahrzeugeigene Steuerungssystem 100 die Steuerung durch, während die Knoten 10 - 30 miteinander kooperieren. Das fahrzeugeigene Steuerungssystem 100 bedingt, dass die Steuerungsprogramme in sämtlichen Knoten 10 - 30 zu dem Zeitpunkt beispielsweise einer Änderung einer Systemspezifikation neu geschrieben werden. Das heißt, es ist notwendig, einen Fall zu verhindern, bei dem beispielsweise der erste Knoten 10 ein neues Programm aufweist, der zweite Knoten 20 ein altes Programm aufweist und der dritte Knoten 30 das neue Programm aufweist. Das heißt, es ist notwendig, zu verhindern, dass das neue Programm und das alte Programm in dem fahrzeugeigenen Steuerungssystem 100 beispielsweise vermischt (beide vorhanden) sind.As described above, the on-vehicle control system 100 performs control while the nodes 10-30 cooperate with each other. The vehicle's own control system 100 requires that the control programs in all nodes 10 - 30 be rewritten at the time of, for example, a change in a system specification. That is, it is necessary to prevent a case where, for example, the first node 10 has a new program, the second node 20 has an old program, and the third node 30 has the new program. That is, it is necessary to prevent the new program and the old program from being mixed (both present) in the on-vehicle control system 100, for example.

Wenn das neue Programm und das alte Programm in dem fahrzeugeigenen Steuerungssystem 100 vermischt sind, kann das fahrzeugeigene Steuerungssystem 100 die Steuerung entsprechend dem neuen Programm als Steuerungssystem nicht durchführen. Das heißt, es kann notwendig sein, das Neuschreiben des Steuerungsprogramms in sämtlichen Knoten 10 - 30 in dem fahrzeugeigenen Steuerungssystem 100 sicher durchzuführen. Mit anderen Worten, das fahrzeugeigene Steuerungssystem 100 bedingt, dass die Knoten 10 - 30 sämtlich das neue Programm aufweisen.When the new program and the old program are mixed in the on-vehicle control system 100, the on-vehicle control system 100 cannot perform the control according to the new program as a control system. That is, it may be necessary to safely perform the rewriting of the control program in all nodes 10-30 in the on-vehicle control system 100. In other words, the vehicle's own control system 100 requires that nodes 10-30 all have the new program.

Das neue Programm (ein neues Steuerungsprogramm) ist ein Steuerungsprogramm, nachdem dieses als ein neues Steuerungsprogramm neu geschrieben wurde. Das alte Programm (ein altes Steuerungsprogramm) ist ein Steuerungsprogramm, bevor dieses in das neue Steuerungsprogramm geschrieben wurde.The new program (a new control program) is a control program after being rewritten as a new control program. The old program (an old control program) is a control program before it was written into the new control program.

Das neue Programm kann als Steuerungsprogramm einer neuen Version bezeichnet werden. Das alte Programm kann als ein Steuerungsprogramm einer alten Version bezeichnet werden, wobei die alte Version älter als die neue Version ist. Daher können das neue Programm und das alte Programm als Steuerungsprogramme unterschiedlicher Versionen bezeichnet werden.The new program can be referred to as a new version control program. The old program can be referred to as an old version control program, where the old version is older than the new version. Therefore, the new program and the old program can be referred to as control programs of different versions.

Der erste Knoten 10 enthält eine CPU 13, einen ROM 14, einen RAM 15 und einen Daten-Transceiver-Abschnitt 16 oder Ähnliches, wie es in 2 gezeigt ist. Die CPU 13 führt ein Steuerungsprogramm und ein Neuprogrammierungsprogramm, die im Voraus in dem ROM 14 gespeichert werden, aus. Der ROM 14 speichert das Steuerungsprogramm, das Neuprogrammierungsprogramm, ein erstes Flag 11 und ein zweites Flag 12, wie es schematisch in 3 dargestellt ist. Der RAM 15 ist ein Speicherabschnitt. Der RAM 15 speichert zeitweilig ein Betriebsergebnis in einem Fall, in dem die CPU 13 eine arithmetische Verarbeitung durchführt. Der Daten-Transceiver-Abschnitt 16 ist ein Kommunikationsabschnitt. Der Daten-Transceiver-Abschnitt 16 kommuniziert mit dem zweiten Knoten 20, dem dritten Knoten 30 und dem Neuschreibwerkzeug 400 über den Kommunikationsbus 200. Der erste Knoten 10 kann auch als ECU (elektronische Steuereinheit) bezeichnet werden.The first node 10 includes a CPU 13, a ROM 14, a RAM 15 and a data transceiver section 16 or the like as shown in FIG 2 is shown. The CPU 13 executes a control program and a reprogramming program stored in the ROM 14 in advance. The ROM 14 stores the control program, the reprogramming program, a first flag 11 and a second flag 12, as shown schematically in 3 is shown. The RAM 15 is a memory section. The RAM 15 temporarily stores an operation result in a case where the CPU 13 performs arithmetic processing. The data transceiver section 16 is a communication section. The data transceiver section 16 communicates with the second node 20, the third node 30 and the rewrite tool 400 via the communication bus 200. The first node 10 may also be referred to as an ECU (electronic control unit).

Der zweite Knoten 20 und der dritte Knoten 30 enthalten wie der erste Knoten 10 jeweils eine CPU 13, einen ROM 14, einen RAM 15 und einen Daten-Transceiver-Abschnitt 16. Dementsprechend sind Zeichnungen und eine detaillierte Erläuterung der Konfiguration des zweiten Knotens 20 und des dritten Knotens 30 weggelassen. Ein Hauptunterschied zwischen dem ersten Knoten 10 und den jeweiligen zweiten und dritten Knoten 20 und 30 besteht in dem Inhalt der Steuerungsprogramme, das heißt Steuerungsinhalten und Speicherinhalten des ROM 14. Der dritte Knoten 30 weist eine ähnliche Konfiguration wie der zweite Knoten 20 auf, obwohl sich dessen Steuerinhalte von den Steuerinhalten des zweiten Knotens 20 unterscheiden. Somit wird im Folgenden der zweite Knoten 20 als repräsentatives Beispiel erläutert.The second node 20 and the third node 30, like the first node 10, each include a CPU 13, a ROM 14, a RAM 15 and a data transceiver section 16. Accordingly, drawings and a detailed explanation of the configuration of the second node 20 and the third node 30 is omitted. A major difference between the first node 10 and the respective second and third nodes 20 and 30 is the contents of the control programs, that is, control contents and memory contents of the ROM 14. The third node 30 has a similar configuration to the second node 20, although whose control contents differ from the control contents of the second node 20. The second node 20 will therefore be explained below as a representative example.

Der Verarbeitungsbetrieb der Knoten 10 - 30 wird später erläutert. Die Verarbeitungsbetriebe des zweiten Knotens 20 und des dritten Knotens 30 werden unter Verwendung des zweiten Knotens 20 als Beispiel beschrieben.The processing operation of nodes 10 - 30 will be explained later. The processing operations of the second node 20 and the third node 30 will be described using the second node 20 as an example.

Der Speicherinhalt, der in dem ROM 14 des ersten Knotens 10 gespeichert ist, und der Speicherinhalt des ROM 14 des zweiten Knotens 20 werden mit Bezug auf die 3 und 4 erläutert.The memory contents stored in the ROM 14 of the first node 10 and the memory contents of the ROM 14 of the second node 20 are described with reference to 3 and 4 explained.

Wie es in 3 dargestellt ist, speichert der ROM 14 des ersten Knotens 10 das Steuerungsprogramm, das erste Flag 11 und das zweite Flag 12 in der Neuschreibdomäne (Domain) und speichert das Neuprogrammierungsprogramm in der Nicht-Neuschreibdomäne (Domain). Außerdem speichert der ROM 14 des ersten Knotens 10 Identifizierungsinformationen (ID-Informationen) zum Identifizieren eines betreffenden (in Beziehung stehenden) Knotens.Like it in 3 As shown, the ROM 14 of the first node 10 stores the control program, the first flag 11 and the second flag 12 in the rewrite domain (domain) and stores the reprogramming program in the non-rewrite domain (domain). In addition, the ROM 14 of the first node 10 stores identification information (ID information) for identifying a relevant (related) node.

Wie es in 4 dargestellt ist, speichert der ROM 14 des zweiten Knotens 20 das Steuerungsprogramm und ein erstes Flag 21 in der Neuschreibdomäne und speichert das Neuprogrammierungsprogramm in der Nicht-Neuschreibdomäne. Somit speichert der ROM 14 des zweiten Knotens 20 kein zweites Flag. Wie es in 1 dargestellt ist, weist das erste Flag des dritten Knotens 30 das Bezugszeichen 31 auf.Like it in 4 As shown, the ROM 14 of the second node 20 stores the control program and a first flag 21 in the rewrite domain and stores the reprogramming program in the non-rewrite domain. Thus, the ROM 14 of the second node 20 does not store a second flag. Like it in 1 is shown, the first flag of the third node 30 has the reference numeral 31.

Das erste Flag 11 entspricht Informationen zum Bestimmen, ob das Neuschreiben in dem ersten Knoten 10 beendet ist. Das erste Flag 21 entspricht Informationen zum Bestimmen, ob das Neuschreiben in dem zweiten Knoten 20 beendet ist. Für das erste Flag 11 wird der erste Knoten 10 als Subjektknoten bezeichnet. Für das erste Flag 21 wird der zweite Knoten 20 als Subjektknoten bezeichnet. Das heißt, die ersten Flags 11, 21 entsprechen Informationen zum Bestimmen, ob das Neuschreiben in einem jeweiligen Subjektknoten beendet ist. Insbesondere werden die ersten Flags 11, 21 entweder auf Informationen, die angeben, dass das Neuschreiben beendet wurde, oder Informationen gesetzt, die angeben, dass das Neuschreiben nicht beendet wurde. Es kann beispielsweise der Wert von 1 als Informationen verwendet werden, die angeben, dass das Neuschreiben beendet wurde, und es kann der Wert von 0 als Informationen verwendet werden, die angeben, dass das Neuschreiben nicht beendet wurde. Der erste Knoten 10 setzt das erste Flag 11 und der zweite Knoten 20 setzt das erste Flag 21.The first flag 11 corresponds to information for determining whether rewriting in the first node 10 is completed. The first flag 21 corresponds to information for determining whether rewriting in the second node 20 is completed. For the first flag 11, the first node 10 is referred to as the subject node. For the first flag 21, the second node 20 is referred to as the subject node. That is, the first flags 11, 21 correspond to information for determining whether rewriting is completed in a respective subject node. In particular, the first flags 11, 21 are set to either information indicating that rewriting has been completed or information indicating that rewriting has not been completed. For example, the value of 1 can be used as information indicating that rewriting has been completed, and the value of 0 can be used as information indicating that rewriting has not been completed. The first node 10 sets the first flag 11 and the second node 20 sets the first flag 21.

Durch Überprüfen des ersten Flags 11 bestimmt der erste Knoten 10, ob das Neuschreiben in dem Subjektknoten (in diesem Fall der erste Knoten 10) beendet wurde. Auf ähnliche Weise bestimmt der zweite Knoten 20 durch Überprüfen des ersten Flags 21, ob das Neuschreiben in dem Subjektknoten (in diesem Fall der zweite Knoten 20) beendet wurde.By checking the first flag 11, the first node 10 determines whether rewriting has finished in the subject node (in this case, the first node 10). Similarly, by checking the first flag 21, the second node 20 determines whether rewriting has completed in the subject node (in this case, the second node 20).

Das zweite Flag 12 enthält Informationen zum Bestimmen, ob das Neuschreiben in dem zweiten Knoten 20 und dem dritten Knoten 30 zusätzlich zu dem Subjektknoten (beispielsweise dem ersten Knoten 10) beendet wurde. Mit anderen Worten, das zweite Flag 12 enthält die Informationen zum Bestimmen, ob das Neuschreiben sämtlicher Knoten 10 - 30 in dem fahrzeugeigenen Steuerungssystem 100 beendet wurde. In der vorliegenden Ausführungsform wird als ein Beispiel das zweite Flag 12, das ein Zählwert ist, der durch Zählen der Knoten, in denen das Neuschreiben beendet wurde, erhalten wird, verwendet. Somit bestimmt der erste Knoten 10 durch Überprüfen des zweiten Flags 12, ob das Neuschreiben in sämtlichen Knoten 10 - 30 beendet wurde.The second flag 12 contains information for determining whether rewriting has completed in the second node 20 and the third node 30 in addition to the subject node (e.g., the first node 10). In other words, the second flag 12 contains the information for determining whether the rewriting of all nodes 10-30 in the on-vehicle control system 100 has been completed. In the present embodiment, as an example, the second flag 12, which is a count value obtained by counting the nodes in which rewriting has finished, is used. Thus, the first node 10 determines by checking the second flag 12 whether rewriting has completed in all nodes 10-30.

Das Neuschreibwerkzeug 400 entspricht einer Neuschreibvorrichtung und kann auch als Schreiber bzw. Schreibeinrichtung bezeichnet werden. Das Neuschreibwerkzeug 400 kann beispielsweise von einem Arbeiter (Bediensteter) in einem Geschäft oder bei einem Fahrzeughändler bedient werden. Das Neuschreibwerkzeug 400 führt das Neuschreiben entsprechend einer Bedienung von dem Arbeiter durch. Das Neuschreibwerkzeug 400 ist in dem Fall des Neuschreibens beispielsweise über ein Kabel und einem Stecker mit einem Fahrzeug verbunden. Das Neuschreibwerkzeug 400 wird von dem Fahrzeug entfernt, wenn das Neuschreiben nicht durchgeführt wird, beispielsweise in einem Fall, nachdem das Neuschreiben beendet wurde.The rewriting tool 400 corresponds to a rewriting device and can also be referred to as a writer or writing device. The rewriting tool 400 may be operated by, for example, a worker (servant) in a store or at a vehicle dealer. The rewriting tool 400 performs rewriting according to an operation from the worker. In the case of rewriting, the rewriting tool 400 is connected to a vehicle, for example via a cable and a plug. The rewriting tool 400 is removed from the vehicle when rewriting is not performed, for example, in a case after rewriting is completed.

Der Verarbeitungsbetrieb des Neuschreibwerkzeugs 400 wird mit Bezug auf die 10 und 11 erläutert, bevor der Verarbeitungsbetrieb der jeweiligen Knoten 10 - 30 erläutert wird. Es wird angenommen, dass das Neuschreibwerkzeug 400 mit dem Fahrzeug verbunden ist. Wenn in diesem Fall der Arbeiter das Neuschreibwerkzeug 400 anweist, das Neuschreiben durchzuführen, wird das Flussdiagramm der 11 ausgeführt. Jeder der Knoten 10 - 30 gibt ein ACK (positive Rückmeldung) als Antwort auf eine jeweilige Aufforderung von dem Neuschreibwerkzeug 400 zurück.The processing operation of the rewriting tool 400 will be explained with reference to 10 and 11 before explaining the processing operation of the respective nodes 10-30. It is assumed that the rewriting tool 400 is connected to the vehicle. In this case, when the worker instructs the rewrite tool 400 to perform the rewrite, the flowchart becomes 11 executed. Each of the nodes 10-30 returns an ACK (positive feedback) in response to a respective request from the rewrite tool 400.

In S60 überträgt das Neuschreibwerkzeug 400 einen Löschaufforderungsbefehl. Das Neuschreibwerkzeug 400 überträgt den Löschaufforderungsbefehl individuell an die jeweiligen Knoten 10 - 30, wie es in 10 dargestellt ist. Wenn das Neuschreibwerkzeug 400 den Löschaufforderungsbefehl an einen jeweiligen Knoten überträgt, überträgt das Neuschreibwerkzeug 400 den Löschaufforderungsbefehl mit den ID-Informationen eines Knotens (eines Zielknotens) eines Übertragungsziels. Das heißt, wenn beispielsweise der Löschaufforderungsbefehl an den ersten Knoten 10 übertragen wird, überträgt das Neuschreibwerkzeug 400 die ID-Informationen des ersten Knotens 10 und den Löschaufforderungsbefehl. Der Löschaufforderungsbefehl entspricht einem Befehl, der ein Löschen des Steuerungsprogramms, das in dem ROM 14 gespeichert ist, fordert.In S60, the rewrite tool 400 transmits an erase request command. The rewrite tool 400 transmits the delete request command individually to the respective nodes 10-30, as shown in FIG 10 is shown. When the rewrite tool 400 transmits the erase request command to a respective node, the rewrite tool 400 transmits the erase request command with the ID information of a node (a destination node) of a transmission destination. That is, for example, when the erase request command is transmitted to the first node 10, the rewrite tool 400 transmits the ID information of the first node 10 and the erase request command. The delete request command corresponds to a command that requests deletion of the control program stored in the ROM 14.

In S61 wird bestimmt, ob eine Antwort auf den Löschaufforderungsbefehl empfangen wird. Das Neuschreibwerkzeug 400 bestimmt, ob ein ACK als Antwort auf den Löschaufforderungsbefehl empfangen wird. Das Neuschreibwerkzeug 400 schreitet zu S62, wenn der Empfang des ACK bestimmt wird. Im Gegensatz dazu wiederholt das Neuschreibwerkzeug 400 S61, wenn das Neuschreibwerkzeug 400 nicht bestimmt, dass das ACK empfangen wird.In S61, it is determined whether a response to the delete request command is received. The rewrite tool 400 determines whether an ACK is received in response to the delete request command. The rewrite tool 400 proceeds to S62 when receipt of the ACK is determined. In contrast, if the rewrite tool 400 does not determine that the ACK is received, the rewrite tool 400 repeats S61.

Das Neuschreibwerkzeug 400 kann die Verarbeitung in 11 beenden, wenn das Neuschreibwerkzeug 400 das ACK innerhalb einer vorbestimmten Zeit nach Übertragen des Löschaufforderungsbefehls nicht empfangen hat. Das heißt, das Neuschreibwerkzeug 400 kann eine Auszählverarbeitung durchführen. Das Neuschreibwerkzeug 400 kann die Auszählverarbeitung in der unten beschriebenen Bestimmung durchführen. Außerdem kann jeder der Knoten 10 - 30 eine Auszählverarbeitung durchführen.The rewriting tool 400 can process in 11 terminate if the rewrite tool 400 has not received the ACK within a predetermined time after transmitting the erase request command. That is, the rewriting tool 400 can perform counting processing. The rewriting tool 400 can perform the counting processing in the determination described below. In addition, each of the nodes 10 - 30 can perform counting processing.

In S62 überträgt das Neuschreibwerkzeug 400 einen Neuschreibaufforderungsbefehl. Das Neuschreibwerkzeug 400 überträgt den Neuschreibaufforderungsbefehl individuell an die jeweiligen ersten bis dritten Knoten 10 - 30, wie es in 10 dargestellt ist. Ähnlich wie in dem Fall, in dem der Löschaufforderungsbefehl übertragen wird, überträgt das Neuschreibwerkzeug 400 den Neuschreibaufforderungsbefehl zusätzlich zu den ID-Informationen eines Knotens (eines Zielknotens) eines Übertragungsziels. Der Neuschreibaufforderungsbefehl entspricht einem Befehl, der ein Schreiben eines neuen Steuerungsprogramms in den ROM 14, in dem das Steuerungsprogramm (altes Steuerungsprogramm) gelöscht wird, fordert.In S62, the rewrite tool 400 transmits a rewrite request command. The rewrite tool 400 transmits the rewrite request command individually to the respective first to third nodes 10-30, as shown in FIG 10 is shown. Similar to the case where the erase request command is transmitted, the rewrite tool 400 transmits the rewrite request command in addition to the ID information of a node (a destination node) of a transmission destination. The rewrite request command corresponds to a command that requests writing a new control program into the ROM 14 in which the control program (old control program) is deleted.

In S63 wird bestimmt, ob eine Antwort auf den Neuschreibaufforderungsbefehl empfangen wird. Das Neuschreibwerkzeug 400 bestimmt, ob das ACK als Antwort auf den Neuschreibaufforderungsbefehl empfangen wird. Das Neuschreibwerkzeug 400 schreitet zu S64, wenn bestimmt wird, dass das ACK empfangen wird. Im Gegensatz dazu wiederholt das Neuschreibwerkzeug 400 S63, wenn das Neuschreibwerkzeug 400 nicht bestimmt, dass das ACK anfangen wird. Nach Empfangen des ACK als Antwort auf den Neuschreibaufforderungsbefehl überträgt das Neuschreibwerkzeug 400 die ID-Informationen des Zielknotens und Daten des neuen Steuerungsprogramms an den Zielknoten.In S63, it is determined whether a response to the rewrite request command is received. The rewrite tool 400 determines whether the ACK is received in response to the rewrite request command. The rewrite tool 400 proceeds to S64 when it determines that the ACK is received. In contrast, if the rewrite tool 400 does not determine that the ACK will begin, the rewrite tool 400 repeats S63. After receiving the ACK in response to the rewrite request command, the rewrite tool 400 transmits the ID information of the target node and data of the new control program to the target node.

In S64 wird ein Verifizierungsaufforderungsbefehl übertragen. Das Neuschreibwerkzeug 400 überträgt den Verifizierungsaufforderungsbefehl individuell an jeden der Knoten 10 - 30, wie es in 10 dargestellt ist. Ähnlich wie bei dem Fall zum Übertragen des Löschaufforderungsbefehls überträgt das Neuschreibwerkzeug 400 den Verifizierungsaufforderungsbefehl zusätzlich zu den ID-Informationen eines Zielknotens der Übertragung. Der Verifizierungsaufforderungsbefehl enthält einen Befehl, der eine Verifizierung (Validierung), ob ein neues Steuerungsprogramm normal geschrieben wurde, fordert.In S64, a verification request command is transmitted. The rewrite tool 400 transmits the verification request command individually to each of the nodes 10-30, as shown in 10 is shown. Similar to the case of transmitting the erase request command, the rewrite tool 400 transmits the verification request command in addition to the ID information of a destination node of the transmission. The verification prompt command includes a command that requires verification (validation) as to whether a new control program was written normally.

In S65 wird bestimmt, ob eine Antwort auf den Verifizierungsaufforderungsbefehl empfangen wird. Das Neuschreibwerkzeug 400 bestimmt, ob ein ACK als Antwort auf den Verifizierungsaufforderungsbefehl empfangen wird. Das Neuschreibwerkzeug 400 schreitet zu S66, wenn bestimmt wird, dass das ACK empfangen wird. Im Gegensatz dazu wiederholt das Neuschreibwerkzeug 400 S65, wenn das Neuschreibwerkzeug 400 nicht bestimmt, dass das ACK empfangen wird.In S65, it is determined whether a response to the verification request command is received. The rewrite tool 400 determines whether an ACK is received in response to the verification request command. The rewrite tool 400 proceeds to S66 when it determines that the ACK is received. In contrast, if the rewrite tool 400 does not determine that the ACK is received, the rewrite tool 400 repeats S65.

In S66 wird bestimmt, ob eine Meldung hinsichtlich einer Beendigung eines Einstellens des zweiten Flags empfangen wird. Im Folgenden wird die Meldung hinsichtlich einer Beendigung des Einstellens des zweiten Flags aus Vereinfachungsgründen als Beendigungsmeldung bezeichnet. Die Beendigungsmeldung (d. h. die Meldung hinsichtlich einer Beendigung des Einstellens des zweiten Flags) enthält Informationen, die angeben, dass das Neuschreiben in jedem der Knoten 10 - 30 beendet wurde. Das Neuschreibwerkzeug 400 schreitet zu S67, wenn bestimmt wird, dass die Beendigungsmeldung empfangen wird. Im Gegensatz dazu wiederholt das Neuschreibwerkzeug 400 S66, wenn das Neuschreibwerkzeug 400 nicht bestimmt, dass die Beendigungsmeldung empfangen wird. Der erste Knoten 10 überträgt die Beendigungsmeldung an das Neuschreibwerkzeug 400 jedes Mal, wenn das Einstellen des zweiten Flags 12 beendet ist, das heißt jedes Mal, wenn der Zählwert in dem zweiten Flag 12 gespeichert wird.In S66, it is determined whether a message regarding completion of setting of the second flag is received. In the following, the message regarding a termination of the setting of the second flag is referred to as a termination message for reasons of simplicity. The completion message (i.e., the message regarding completion of setting of the second flag) contains information indicating that the rewrite has been completed in each of the nodes 10-30. The rewrite tool 400 proceeds to S67 when it determines that the completion message is received. In contrast, if the rewrite tool 400 does not determine that the completion message is received, the rewrite tool 400 repeats S66. The first node 10 transmits the completion message to the rewrite tool 400 every time the setting of the second flag 12 is finished, that is, every time the count value in the second flag 12 is stored.

In S67 wird bestimmt, ob das Neuschreiben in sämtlichen Knoten 10 - 30 beendet ist. Das Neuschreibwerkzeug 400 bestimmt, dass das Neuschreiben in sämtlichen Knoten 10 - 30 beendet ist, wenn es die Beendigungsmeldungen von sämtlichen Knoten 10 - 30 empfangen hat. Das Neuschreibwerkzeug 400 bestimmt, dass das Neuschreiben in sämtlichen Knoten 10 - 30 nicht beendet ist, wenn es nicht von sämtlichen Knoten 10 - 30 eine Beendigungsmeldung empfangen hat. Das Neuschreibwerkzeug 400 beendet die Verarbeitung in 11, wenn es bestimmt, dass das Neuschreiben sämtlicher Knoten 10 - 30 beendet wurde. Im Gegensatz dazu kehrt das Neuschreibwerkzeug 400 zu S60 zurück, wenn das Neuschreibwerkzeug 400 nicht bestimmt, dass das Neuschreiben sämtlicher Knoten 10 - 30 beendet wurde. Das heißt, das Neuschreibwerkzeug 400 führt das Flussdiagramm der 11 aus, bis das Neuschreiben sämtlicher Knoten 10 - 30 beendet ist.In S67, it is determined whether rewriting is completed in all nodes 10-30. The rewrite tool 400 determines that the rewrite is complete in all nodes 10-30 when it has received the completion messages from all nodes 10-30. The rewrite tool 400 determines that the rewrite is not complete in all nodes 10-30 unless it has received a completion message from all nodes 10-30. The rewrite tool 400 finishes processing in 11 , when it determines that rewriting of all nodes 10 - 30 has finished. In contrast, if the rewrite tool 400 does not determine that the rewrite of all nodes 10-30 has completed, the rewrite tool 400 returns to S60. That is, the rewrite tool 400 maintains the flowchart of the 11 until all nodes 10 - 30 have finished rewriting.

Im Folgenden wird der Verarbeitungsbetrieb der jeweiligen Knoten 10 - 30 mit Bezug auf die 5 bis 10 beschrieben.The following describes the processing operation of the respective nodes 10 - 30 with reference to 5 until 10 described.

Eine Startverarbeitung des ersten Knotens 10 wird mit Bezug auf 5 beschrieben. Der erste Knoten 10 führt das Flussdiagramm der 5 durch, wenn beispielsweise ein Zündschalter eingeschaltet wird.Start processing of the first node 10 is described with reference to 5 described. The first node 10 runs the flowchart of the 5 when, for example, an ignition switch is turned on.

In S10 werden ein Einschalten der Energiezufuhr und eine Rücksetzfreigabe durchgeführt. Der erste Knoten 10 schaltet eine Energiezufuhr zu dem Subjektknoten (d. h. dem ersten Knoten 10) ein und gibt ein Rücksetzten des Subjektknotens (d. h. des ersten Knotens 10) frei (Reset Release).In S10, power on and reset enable are performed. The first node 10 turns on a power supply to the subject node (i.e. the first node 10) and releases a reset of the subject node (i.e. the first node 10) (reset release).

In S11 wird bestimmt, ob das erste Flag 11 „OK“ repräsentiert. Der erste Knoten 10 überprüft den Speicherinhalt des ersten Flags 11 und bestimmt, ob das erste Flag 11 „OK“ repräsentiert, das heißt, bestimmt, ob das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde. Der erste Knoten 10 nimmt an, dass das erste Flag 11 „OK“ repräsentiert, das heißt, dass das Neuschreiben beendet wurde, wenn das erste Flag 11 gleich 1 ist. Dann schreitet die Verarbeitung zu S12. Der erste Knoten 10 nimmt an, dass das erste Flag 11 nicht „OK“ repräsentiert, das heißt, dass das Neuschreiben nicht beendet wurde, wenn das erste Flag 11 gleich 0 ist. In diesem Fall schreitet die Verarbeitung zu S14.In S11 it is determined whether the first flag 11 represents “OK”. The first node 10 checks the memory contents of the first flag 11 and determines whether the first flag 11 represents "OK", that is, determines whether the rewrite has been completed in the subject node (i.e., the first node 10). The first node 10 assumes that the first flag 11 represents “OK”, that is, when the first flag 11 is equal to 1, the rewrite has been completed. Then processing proceeds to S12. The first node 10 assumes that the first flag 11 does not represent "OK", that is, if the first flag 11 is equal to 0, the rewrite has not been completed. In this case, processing proceeds to S14.

In S12 wird bestimmt, ob das zweite Flag 12 gleich der Anzahl sämtlicher neu geschriebenen Zielknoten ist. S12 entspricht einem Bestimmungsabschnitt. Der erste Knoten 10 überprüft den Speicherinhalt des zweiten Flags 12 und bestimmt, ob das zweite Flag 12 = „Anzahl sämtlicher Neuschreibzielknoten“ ist, das heißt bestimmt, ob das Neuschreiben in sämtlichen Neuschreibzielknoten beendet wurde. In der vorliegenden Ausführungsform entsprechen sämtliche Neuschreibzielknoten dem ersten Knoten 10, dem zweiten Knoten 20 und dem dritten Knoten 30, die in dem fahrzeugeigenen Steuerungssystem enthalten sind. Daher ist in der vorliegenden Ausführungsform die Anzahl sämtlicher Neuschreibzielknoten gleich 3.In S12, it is determined whether the second flag 12 is equal to the number of all newly written target nodes. S12 corresponds to a determination section. The first node 10 checks the memory contents of the second flag 12 and determines whether the second flag 12 = "number of all rewrite target nodes", that is, determines whether rewriting has been completed in all rewrite target nodes. In the present embodiment, all of the rewrite target nodes correspond to the first node 10, the second node 20, and the third node 30 included in the vehicle's own control system. Therefore, in the present embodiment, the number of all rewrite target nodes is 3.

Somit nimmt der erste Knoten 10 an, dass das zweite Flag 12 = „Anzahl sämtlicher Neuschreibzielknoten“ ist, das heißt, dass das Neuschreiben in sämtlichen Neuschreibzielknoten 10 - 30 beendet wurde, wenn der Zählwert des zweiten Flags 12 gleich 3 ist. Dann schreitet die Verarbeitung zu S13. Eine Bedingung, bei der das Neuschreiben in sämtlichen Neuschreibzielknoten 10 - 30 beendet wurde, kann als eine Bedingung betrachtet werden, bei der in sämtlichen Knoten 10 - 30 das neue Programm geschrieben wurde.Thus, the first node 10 assumes that the second flag 12 = "number of all rewrite target nodes", that is, the rewrite has been completed in all of the rewrite target nodes 10 - 30 when the count value of the second flag 12 is equal to 3. Then processing proceeds to S13. A condition in which rewriting has been completed in all of the rewrite target nodes 10-30 can be considered a condition in which the new program has been written in all of the nodes 10-30.

Im Gegensatz dazu nimmt der erste Knoten 10 an, dass das zweite Flag 12 nicht gleich „der Anzahl sämtlicher Neuschreibzielknoten“ ist, das heißt, dass das Neuschreiben nicht in sämtlichen Neuschreibzielknoten 10 - 30 beendet wurde, wenn der Zählwert des zweiten Flags 12 nicht gleich 3 ist. In diesem Fall schreitet die Verarbeitung zu S14. Eine Bedingung, bei der das Neuschreiben nicht in sämtlichen Neuschreibzielknoten 10 - 30 beendet wurde (in mindestens einem der Neuschreibzielknoten 10 - 30 nicht beendet wurde), kann als eine Bedingung betrachtet werden, bei der das alte Programm in mindestens einem der Knoten 10 - 30 verblieben ist und in dem Rest der Knoten 10 - 30 das neue Programm geschrieben wurde.In contrast, the first node 10 assumes that the second flag 12 is not equal to "the number of all rewrite target nodes", that is means that the rewrite has not been completed in all rewrite target nodes 10 - 30 if the count of the second flag 12 is not equal to 3. In this case, processing proceeds to S14. A condition in which the rewrite has not completed in all of the rewrite target nodes 10 - 30 (has not completed in at least one of the rewrite target nodes 10 - 30) can be considered as a condition in which the old program has been completed in at least one of the nodes 10 - 30 remained and the new program was written in the rest of nodes 10 - 30.

Der erste Knoten 10 zählt den Zählwert des zweiten Flags 12 aufwärts, wenn das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde, und außerdem, wenn er die jeweilige Beendigungsmeldung von dem zweiten Knoten 20 und dem dritten Knoten 30 empfängt. Daher bestimmt der erste Knoten 10, ob das Neuschreiben in sämtlichen Knoten 10 - 30 beendet wurde, auf der Grundlage einer Bedingung, bei der das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde, und außerdem auf der Grundlage der Beendigungsmeldung, die individuell von den jeweiligen Knoten 20 und 30 erhalten wird. Das heißt, der erste Knoten 10 bestimmt in S12, ob sämtliche Knoten 10 - 30 das Neuschreiben beendet haben. S12 entspricht einem Bestimmungsabschnitt.The first node 10 increments the count of the second flag 12 when the rewrite has completed in the subject node (i.e., the first node 10) and also when it receives the respective completion messages from the second node 20 and the third node 30. Therefore, the first node 10 determines whether the rewriting has been completed in all of the nodes 10-30 based on a condition that the rewriting has been completed in the subject node (i.e., the first node 10) and also based on the completion message, which is obtained individually from the respective nodes 20 and 30. That is, the first node 10 determines in S12 whether all nodes 10 - 30 have finished rewriting. S12 corresponds to a determination section.

Wie es oben beschrieben wurde, bestimmt der erste Knoten 10, ob sämtliche Knoten 10 - 30 das Neuschreiben beendet haben, auf der Grundlage des Zählwertes. Daher ist es möglich, dass der erste Knoten 10 bestimmt, ob sämtliche Knoten 10 - 30 das Neuschreiben beendet haben, sodass eine Erhöhung der Informationsmenge verhindert wird. Das heißt, es ist möglich, dass der erste Knoten 10 die Informationsmenge im Vergleich zu einem Fall verringert, in dem Informationen, die angeben, dass das Neuschreiben beendet wurde, individuell in den jeweiligen Knoten 10 - 30 gespeichert werden. Außerdem ist es möglich, zu bestimmen, ob sämtliche Knoten 10 - 30 das Neuschreiben beendet haben.As described above, the first node 10 determines whether all nodes 10-30 have completed rewriting based on the count value. Therefore, it is possible for the first node 10 to determine whether all nodes 10 - 30 have finished rewriting, thereby preventing an increase in the amount of information. That is, it is possible for the first node 10 to reduce the amount of information compared to a case where information indicating that rewriting has been completed is stored individually in the respective nodes 10 - 30. Additionally, it is possible to determine whether all nodes 10-30 have completed rewriting.

Der erste Knoten 10 entspricht einem Knoten, der in dem fahrzeugeigenen Steuerungssystem 100 enthalten ist. Daher kann der erste Knoten 10 mittels Durchführung der Bestimmung in S12 bestimmen, ob sämtliche Knoten 10 - 30, die die Steuerung des fahrzeugeigenen Steuerungssystems 100 beeinflussen, das neue Programm neu geschrieben haben.The first node 10 corresponds to a node included in the vehicle's own control system 100. Therefore, by making the determination in S12, the first node 10 can determine whether all of the nodes 10 - 30 that affect the control of the on-vehicle control system 100 have rewritten the new program.

In S13 stellt der erste Knoten 10 den Steuerungsprogrammausführungsmodus ein (entspricht einem Entscheidungsabschnitt). Im Gegensatz dazu stellt der erste Knoten 10 in S14 den Neuprogrammierungsprogrammausführungsmodus ein (entspricht dem Entscheidungsabschnitt). Das heißt, der erste Knoten 10 entscheidet den Ausführungsmodus als Steuerungsmodus, wenn sämtliche Knoten 10 - 30 das Neuschreiben des Steuerungsprogramms beendet haben. Der erste Knoten 10 entscheidet den Ausführungsmodus als Neuprogrammierungsmodus, wenn mindestens einer der Knoten 10 - 30 das Neuschreiben des Steuerungsprogramms nicht beendet hat (wenn nicht sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben).In S13, the first node 10 sets the control program execution mode (corresponds to a decision section). In contrast, in S14, the first node 10 sets the reprogramming program execution mode (corresponding to the decision section). That is, the first node 10 decides the execution mode as the control mode when all nodes 10 - 30 have finished rewriting the control program. The first node 10 decides the execution mode as a reprogramming mode if at least one of the nodes 10 - 30 has not finished rewriting the control program (if not all nodes have finished rewriting the control program).

In S15 wird bestimmt, ob die Energiezufuhr ausgeschaltet wird bzw. ist. Der erste Knoten 10 beendet die Verarbeitung in 5, wenn bestimmt wird, dass die Energiezufuhr ausgeschaltet wird bzw. ist. Die Verarbeitung kehrt zu S11 zurück, wenn nicht bestimmt wird, dass die Energiezufuhr ausgeschaltet wird bzw. ist.In S15 it is determined whether the power supply is or is switched off. The first node 10 finishes processing in 5 , when it is determined that the power supply is switched off. Processing returns to S11 unless it is determined that the power supply is turned off.

In der vorliegenden Ausführungsform wird gemäß einem Beispiel in der Bestimmung in S12 bestimmt, ob das Neuschreiben sämtlicher Knoten 10 - 30 beendet wurde. Daher kann S11 in der vorliegenden Ausführungsform weggelassen werden. In diesem Fall kann bzw. muss der erste Knoten 10 zu dem Zeitpunkt der Startverarbeitung nicht bestimmen, ob das erste Flag 11 gleich 1 ist. Wenn jedoch die Bestimmung in S11 durchgeführt wird, kann der erste Knoten 10 zu S 14 schreiten, ohne das zweite Flag 12 zu überprüfen, wenn das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) nicht beendet wurde. Wie es später beschrieben wird, bestimmen andere Knoten 20, 30 (in diesem Fall der zweite Knoten 20 und der dritte Knoten 30) ähnlich wie in S10 ebenfalls, ob das Neuschreiben in dem jeweiligen Subjektknoten beendet wurde. Daher ist es mittels Durchführung der Bestimmung in S11 möglich, dass der erste Knoten 10 Änderungen in den anderen Knoten 20, 30 verringert. Man beachte, dass die Verarbeitung in 5 die Startverarbeitung des ersten Knotens 10 beschreibt. In diesem Fall entspricht der erste Knoten 10 einem Subjektknoten und der zweite Knoten 20 und der dritte Knoten 30 werden als andere Knoten bezeichnet.In the present embodiment, according to an example, in the determination in S12, it is determined whether rewriting of all nodes 10 - 30 has been completed. Therefore, S11 can be omitted in the present embodiment. In this case, the first node 10 may or may not determine whether the first flag 11 is 1 at the time of start processing. However, when the determination is made in S11, the first node 10 may proceed to S14 without checking the second flag 12 if rewriting has not been completed in the subject node (ie, the first node 10). As will be described later, similar to S10, other nodes 20, 30 (in this case the second node 20 and the third node 30) also determine whether rewriting has been completed in the respective subject node. Therefore, by making the determination in S11, it is possible for the first node 10 to reduce changes in the other nodes 20, 30. Note that the processing in 5 describes the start processing of the first node 10. In this case, the first node 10 corresponds to a subject node and the second node 20 and the third node 30 are referred to as other nodes.

Im Folgenden wird eine Startverarbeitung des zweiten Knotens 20 mit Bezug auf 6 erläutert.Next, start processing of the second node 20 will be described with reference to 6 explained.

Der Subjektknoten entspricht in diesem Fall dem zweiten Knoten 20. In S20 werden ein Einschalten einer Energiezufuhr und ein Rücksetzfreigeben des Subjektknotens (in diesem Fall des zweiten Knotens 20) ähnlich wie in S10 durchgeführt. In S21 wird ähnlich wie in S11 bestimmt, ob das erste Flag 11 „OK“ repräsentiert. Der zweite Knoten 20 enthält kein zweites Flag, was ein Unterschied zu dem ersten Knoten 10 ist. Daher schreitet der zweite Knoten 20 zu S22, wenn bestimmt wird, dass das erste Flag 21 „OK“ repräsentiert. In S22 wird der Ausführungsmodus als Steuerungsmodus entschieden. Der zweite Knoten 20 schreitet zu S23, wenn nicht bestimmt wird, dass das erste Flag 21 „OK“ repräsentiert. In S23 wird der Ausführungsmodus als Neuprogrammierungsmodus entschieden.The subject node in this case corresponds to the second node 20. In S20, power-on and reset enabling of the subject node (in this case the second node 20) are performed similarly to S10. In S21, similarly to S11, it is determined whether the first flag 11 represents “OK”. The second node 20 does not contain a second flag, which is different from the first node 10. Therefore, the second node 20 proceeds to S22 when it is determined that the first flag 21 represents “OK”. In S22, the execution mode is decided as the control mode. The second node 20 proceeds to S23 if it is not determined that the first flag 21 represents "OK". In S23, the execution mode is decided as a reprogramming mode.

In S24 wird ähnlich wie in S15 bestimmt, ob die Energiezufuhr ausgeschaltet wird bzw. ist. Der zweite Knoten 20 beendet die Verarbeitung in 6, wenn bestimmt wird, dass die Energiezufuhr ausgeschaltet wird bzw. ist. Die Verarbeitung kehrt zu S21 zurück, wenn nicht bestimmt wird, dass die Energiezufuhr ausgeschaltet wird bzw. ist.In S24, similar to S15, it is determined whether the energy supply is or is switched off. The second node 20 finishes processing in 6 , when it is determined that the power supply is switched off. Processing returns to S21 unless it is determined that the power supply is turned off.

Mit Bezug auf die 7 und 8 wird der Verarbeitungsbetrieb in einem Fall beschrieben, in dem der erste Knoten 10 das Steuerungsprogramm neu schreibt. Der erste Knoten 10 führt das Flussdiagramm der 7 durch, wenn beispielsweise ein Zündschalter eingeschaltet wird. Wenn der Verarbeitungsbetrieb, der in 7 dargestellt ist, durchgeführt wird, ist der Ausführungsmodus des ersten Knotens 10 der Neuprogrammierungsmodus. Im Detail empfängt der erste Knoten 10 den Löschaufforderungsbefehl nach beispielsweise Übergehen in den Neuprogrammierungsmodus. Der erste Knoten 10 stellt das erste Flag 11 und das zweite Flag 12 während des Verarbeitungsbetriebs ein. Außerdem wird in der vorliegenden Ausführungsform angenommen, dass zu dem Zeitpunkt des Starts der Verarbeitung der 7 das erste Flag 11 auf 1 eingestellt ist und der Zählwert des zweiten Flags 12 auf drei eingestellt ist, was die Gesamtanzahl der Knoten ist.With reference to the 7 and 8th The processing operation in a case where the first node 10 rewrites the control program will be described. The first node 10 runs the flowchart of the 7 when, for example, an ignition switch is turned on. If the processing plant that is in 7 is shown, the execution mode of the first node 10 is the reprogramming mode. In detail, the first node 10 receives the erase request command after, for example, entering the reprogramming mode. The first node 10 sets the first flag 11 and the second flag 12 during processing operation. Furthermore, in the present embodiment, it is assumed that at the time of starting processing the 7 the first flag 11 is set to 1 and the count value of the second flag 12 is set to three, which is the total number of nodes.

In S30 werden das Einschalten der Energiezufuhr und das Rücksetzfreigeben durchgeführt. Der erste Knoten 10 schaltet die Energiezufuhr zu dem Subjektknoten (in diesem Fall dem Knoten 10) ein und gibt ein Rücksetzen des Subjektknotens frei.In S30, power on and reset enable are performed. The first node 10 turns on the power to the subject node (in this case node 10) and enables a reset of the subject node.

In S31 wird bestimmt, ob der Subjektknoten (d. h. der erste Knoten 10) den Löschaufforderungsbefehl empfangen hat. Wenn der Löschaufforderungsbefehl empfangen wird, bestimmt der erste Knoten 10 auf der Grundlage der ID-Informationen, die zusammen mit dem Löschaufforderungsbefehl empfangen werden, ob der Löschaufforderungsbefehl für den Subjektknoten (d. h. den ersten Knoten 10) empfangen wird. Der erste Knoten 10 schreitet zu S32, wenn bestimmt wird, dass der Löschaufforderungsbefehl für den Subjektknoten (d. h. den ersten Knoten 10) empfangen wird. Die Verarbeitung schreitet zu S42 der 8, wenn nicht bestimmt wird, dass der Löschaufforderungsbefehl für den Subjektknoten (d. h. den ersten Knoten 10) empfangen wird. Die Verarbeitung in S42 und den anschließenden Schritten wird später erläutert.In S31, it is determined whether the subject node (ie, the first node 10) has received the delete request command. When the delete request command is received, the first node 10 determines whether the delete request command is received for the subject node (ie, the first node 10) based on the ID information received along with the delete request command. The first node 10 proceeds to S32 when it is determined that the delete request command for the subject node (ie, the first node 10) is received. Processing advances to S42 8th , if it is not determined that the delete request command is received for the subject node (ie, the first node 10). The processing in S42 and the subsequent steps will be explained later.

In S32 wird bestimmt, ob der Zählwert des zweiten Flags 12 gleich der Anzahl sämtlicher Neuschreibzielknoten ist. Der erste Knoten 10 schreitet zu S33, wenn bestimmt wird, dass der Zählwert des zweiten Flags 12 gleich drei ist. Der erste Knoten 10 schreitet zu S41, wenn nicht bestimmt wird, dass der Zählwert des zweiten Flags 12 gleich drei ist. Wie es oben beschrieben wurde, wird bzw. ist der Zählwert des zweiten Flags 12 zu dem Zeitpunkt des Starts der Verarbeitung in 7 auf drei eingestellt. Somit kann der erste Knoten 10 in einem Fall des Ergebnisses der Bestimmung von Ja annehmen, dass der Subjektknoten (d. h. der erste Knoten 10) das Neuschreiben zuerst durchführt. In dem Fall des Ergebnisses der Bestimmung von Nein kann der erste Knoten 10 annehmen, dass der Subjektknoten (d. h. der erste Knoten 10) das Neuschreiben als Zweites und später durchführt.In S32, it is determined whether the count value of the second flag 12 is equal to the number of all rewrite target nodes. The first node 10 goes to S33 when it is determined that the count value of the second flag 12 is three. The first node 10 goes to S41 unless it is determined that the count of the second flag 12 is three. As described above, the count value of the second flag 12 is at the time of starting processing 7 set to three. Thus, in a case of the result of determining Yes, the first node 10 may assume that the subject node (ie, the first node 10) performs the rewrite first. In the case of the result of determining No, the first node 10 may assume that the subject node (ie, the first node 10) performs the rewrite second and later.

In S41 wird das erste Flag 11 auf „NG“ gesetzt und das zweite Flag 12 wird auf „N“ gesetzt. Hier ist N beispielsweise eine positive ganze Zahl. Wenn der erste Knoten 10 den Löschaufforderungsbefehl empfängt und annimmt, dass das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) als Zweites und später durchgeführt wird, setzt der erste Knoten 10 das erste Flag 11 auf 0 und hält den Zählwert des zweiten Flags 12 auf dem vorherigen Wert. Das heißt, wenn der Subjektknoten (d. h. der erste Knoten 10) das Neuschreiben als Zweites und später durchführt, aktualisiert der erste Knoten 10 das erste Flag 11 und das zweite Flag 12 nicht.In S41, the first flag 11 is set to “NG” and the second flag 12 is set to “N”. For example, here N is a positive integer. When the first node 10 receives the erase request command and assumes that the rewrite is performed in the subject node (i.e., the first node 10) second and later, the first node 10 sets the first flag 11 to 0 and holds the count of the second flag 12 at the previous value. That is, when the subject node (i.e., the first node 10) performs the rewrite second and later, the first node 10 does not update the first flag 11 and the second flag 12.

Im Gegensatz dazu wird das erste Flag 11 in S33 auf „NG“ gesetzt und das zweite Flag 12 wird auf 0 gesetzt. Das heißt, wenn der erste Knoten 10 den Löschaufforderungsbefehl empfängt und annimmt, dass der Subjektknoten (d. h. der erste Knoten 10) das Neuschreiben als Erstes durchführt, setzt der erste Knoten 10 das erste Flag 11 zurück, das heißt, setzt das erste Flag 11 auf 0, und setzt den Zählwert des zweiten Flags 12 zurück. Wie es hier beschrieben wurde, initialisiert der erste Knoten 10 den Zählwert des zweiten Flags 12, wenn ein Löschaufforderungsbefehl für einen der Knoten 10 - 30 als Erstes empfangen wird.In contrast, the first flag 11 is set to "NG" in S33 and the second flag 12 is set to 0. That is, when the first node 10 receives the erase request command and assumes that the subject node (i.e., the first node 10) performs the rewrite first, the first node 10 resets the first flag 11, that is, sets the first flag 11 0, and resets the count value of the second flag 12. As described herein, the first node 10 initializes the count of the second flag 12 when a delete request command for one of the nodes 10-30 is first received.

Der erste Knoten 10 zählt das Beenden des Neuschreibens des Steuerungsprogramms in dem Subjektknoten (d. h. dem ersten Knoten 10) und zählt ebenfalls das Erhalten von Beendigungsinformationen von den anderen Knoten 20, 30, sodass der erste Knoten 10 dieses als den Zählwert des zweiten Flags 12 speichert. Daher ist es durch Initialisieren des Zählwertes, wenn der erste Knoten 10 den Löschaufforderungsbefehl empfängt, möglich, ein Fortschreiten eines Neuschreibens in sämtlichen Knoten 10 - 30 zu überprüfen. Die Beendigungsinformationen werden später erläutert.The first node 10 counts the completion of rewriting the control program in the subject node (i.e. the first node 10) and also counts the receipt of completion information from the other nodes 20, 30, so the first node 10 stores this as the count of the second flag 12 . Therefore, by initializing the count value when the first node 10 receives the erase request command, it is possible to check rewrite progress in all nodes 10-30. The termination information will be explained later.

Wenn, wie es in 10 dargestellt ist, der Löschaufforderungsbefehl empfangen wird, setzt der erste Knoten 10 das erste Flag 11 und das zweite Flag 12 zurück. Außerdem löscht der erste Knoten 10 das Steuerungsprogramm und überträgt das ACK an das Neuschreibwerkzeug 400. Wenn danach, wie es in 10 dargestellt ist, der Neuschreibaufforderungsbefehl von dem Neuschreibwerkzeug 400 empfangen wird, gibt der erste Knoten 10 das ACK zurück, sodass der erste Knoten 10 Daten des neuen Steuerungsprogramms von dem Neuschreibwerkzeug 400 empfängt. Die Daten des neuen Steuerungsprogramms enthalten Daten zum Neuschreiben des Steuerungsprogramms.If, like it in 10 As shown, the delete request command is received, the first node 10 resets the first flag 11 and the second flag 12. In addition, the first node 10 deletes the control program and transmits the ACK to the rewrite tool 400. If thereafter, as shown in 10 As shown, the rewrite request command is received from the rewrite tool 400, the first node 10 returns the ACK, so that the first node 10 receives data of the new control program from the rewrite tool 400. The new control program data contains data for rewriting the control program.

In S34 schreibt der erste Knoten 10 den Subjektknoten neu. Der erste Knoten 10 schreibt die empfangenen Daten des neuen Steuerungsprogramms in die Neuschreibdomäne des ROM 14 (entspricht einer Neuschreibverarbeitung).In S34, the first node 10 rewrites the subject node. The first node 10 writes the received data of the new control program into the rewrite domain of the ROM 14 (corresponding to rewrite processing).

In S35 wird bestimmt, ob das Neuschreiben in dem Subjektknoten beendet wurde. Die Verarbeitung schreitet zu S36, wenn der erste Knoten 10 bestimmt, dass das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde. Im Gegensatz dazu wird die Verarbeitung des S35 wiederholt, wenn der erste Knoten 10 nicht bestimmt, dass das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde. Das heißt, der erste Knoten 10 wiederholt die Bestimmung in S35, bis das neue Steuerungsprogramm geschrieben wurde. Wie es in 10 dargestellt ist, überträgt der erste Knoten 10 das ACK an das Neuschreibwerkzeug 400, wenn die Neuschreibverarbeitung endet, und außerdem empfängt der erste Knoten 10 einen Verifizierungsaufforderungsbefehl von dem Neuschreibwerkzeug 400.In S35, it is determined whether rewriting has been completed in the subject node. Processing proceeds to S36 when the first node 10 determines that rewriting has been completed in the subject node (ie, the first node 10). In contrast, if the first node 10 does not determine that rewriting has been completed in the subject node (ie, the first node 10), the processing of S35 is repeated. That is, the first node 10 repeats the determination in S35 until the new control program is written. Like it in 10 As shown, the first node 10 transmits the ACK to the rewrite tool 400 when the rewrite processing ends, and also the first node 10 receives a verification request command from the rewrite tool 400.

In S36 wird das erste Flag 11 auf „OK“ gesetzt, und das zweite Flag 12 wird auf „+1“ gesetzt. Das heißt, wenn das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde, setzt der erste Knoten 10 das erste Flag 11 auf 1 und zählt den Zählwert des zweiten Flags 12 aufwärts. Danach überträgt der erste Knoten 10 in S37 eine Antwort (das heißt ACK) in Bezug auf den Verifizierungsaufforderungsbefehl für den Subjektknoten (d. h. den ersten Knoten 10) an das Neuschreibwerkzeug 400.In S36, the first flag 11 is set to “OK” and the second flag 12 is set to “+1”. That is, when rewriting has finished in the subject node (i.e., the first node 10), the first node 10 sets the first flag 11 to 1 and counts up the count of the second flag 12. Thereafter, in S37, the first node 10 transmits a response (i.e., ACK) regarding the verification request command for the subject node (i.e., the first node 10) to the rewrite tool 400.

In S38 überträgt der erste Knoten 10 die Meldung hinsichtlich einer Beendigung der Einstellung des zweiten Flags an das Neuschreibwerkzeug 400 (entspricht einem Individualmeldeabschnitt). Das heißt, wenn das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde, meldet der erste Knoten dem Neuschreibwerkzeug 400, dass das Neuschreiben des Steuerungsprogramms beendet wurde. Der erste Knoten 10 meldet dem Neuschreibwerkzeug 400, dass das Neuschreiben in einem anderen Knoten beendet wurde, jedes Mal, wenn der erste Knoten 10 das ACK in Bezug auf den Verifizierungsaufforderungsbefehl von den jeweiligen anderen Knoten 20, 30 erhält. Das heißt, der erste Knoten 10 überträgt die Beendigungsmeldung an das Neuschreibwerkzeug 400 jedes Mal, wenn das Einstellen des zweiten Flags 12 beendet ist, das heißt, jedes Mal, wenn der Zählwert des zweiten Flags 12 aufwärts gezählt wird bzw. wurde. Das ACK in Bezug auf den Verifizierungsaufforderungsbefehl entspricht Informationen, die angeben, dass das Neuschreiben des Steuerungsprogramms beendet wurde, wobei das ACK individuell von den jeweiligen anderen Knoten 20, 30 übertragen wird.In S38, the first node 10 transmits the notification of completion of setting of the second flag to the rewriting tool 400 (corresponding to an individual notification section). That is, when the rewrite has finished in the subject node (i.e., the first node 10), the first node reports to the rewrite tool 400 that the rewrite of the control program has finished. The first node 10 reports to the rewrite tool 400 that the rewrite has been completed in another node each time the first node 10 receives the ACK regarding the verification request command from the other nodes 20, 30, respectively. That is, the first node 10 transmits the completion message to the rewrite tool 400 every time the setting of the second flag 12 is finished, that is, every time the count value of the second flag 12 is counted up. The ACK related to the verification request command corresponds to information indicating that the rewriting of the control program has been completed, the ACK being transmitted individually from the other nodes 20, 30, respectively.

Wie es oben beschrieben wurde, gibt der erste Knoten 10 die Beendigungsmeldung an das Neuschreibwerkzeug 400 jedes Mal aus, wenn das Neuschreiben in den jeweiligen Knoten 10 - 30 beendet wurde. Daher ist es möglich, dass das Neuschreibwerkzeug 400 einen Zustand des Neuschreibens erkennen kann. Das heißt, das Neuschreibwerkzeug 400 kann den Fortschritt des Neuschreibens in jedem der Knoten 10 - 30 entsprechend der Meldung der Beendigung (der Beendigungsmeldung) von dem ersten Knoten 10 erkennen. Somit ist es möglich, auf einfache Weise zwischen einem Knoten, bei dem das Neuschreiben beendet wurde, und einem Knoten, bei dem das Neuschreiben nicht beendet wurde, zu unterscheiden.As described above, the first node 10 issues the completion message to the rewrite tool 400 every time the rewrite in the respective nodes 10-30 has been completed. Therefore, it is possible that the rewrite tool 400 can detect a rewrite state. That is, the rewriting tool 400 can recognize the progress of rewriting in each of the nodes 10 - 30 according to the completion notification (the completion notification) from the first node 10. Thus, it is possible to easily distinguish between a node where rewriting has been completed and a node where rewriting has not been completed.

In S39 wird bestimmt, ob die Anzahl sämtlicher Neuschreibzielknoten gleich „dem Wert des zweiten Flags“ ist. In S39 bestimmt der erste Knoten 10, ob der Zählwert des zweiten Flags 12 gleich 3 ist. Der erste Knoten 10 schreitet zu S40, wenn bestimmt wird, dass der Zählwert des zweiten Flags 12 gleich drei ist. Der erste Knoten 10 schreitet zu S31, wenn nicht bestimmt wird, dass der Zählwert des zweiten Flags 12 gleich drei ist.In S39, it is determined whether the number of all rewrite target nodes is equal to “the value of the second flag”. In S39, the first node 10 determines whether the count value of the second flag 12 is 3. The first node 10 goes to S40 when it is determined that the count of the second flag 12 is three. The first node 10 goes to S31 unless it is determined that the count of the second flag 12 is three.

In S40 wird bestimmt, ob die Energiezufuhr ausgeschaltet wird bzw. ist. Der erste Knoten 10 kehrt zu S31 zurück, wenn nicht bestimmt wird, dass die Energiezufuhr ausgeschaltet wird bzw. ist. Im Gegensatz dazu wird die Verarbeitung der 7 beendet, wenn bestimmt wird, dass die Energiezufuhr ausgeschaltet wird bzw. ist.In S40 it is determined whether the power supply is or is switched off. The first node 10 returns to S31 unless it is determined that the power supply is turned off. In contrast, the processing of the 7 terminated when it is determined that the power supply is turned off.

Im Folgenden wird die Verarbeitung ab S42 mit Bezug auf das Flussdiagramm der 8 erläutert.The following describes the processing from S42 with reference to the flowchart of 8th explained.

In S42 wird bestimmt, ob der Subjektknoten (d. h. der erste Knoten 10) den Löschaufforderungsbefehl für einen anderen Knoten 20, 30 empfangen hat. Wenn der Löschaufforderungsbefehl empfangen wurde, bestimmt der erste Knoten 10 auf der Grundlage der ID-Informationen, die zusammen mit dem Löschaufforderungsbefehl empfangen werden, ob der Löschaufforderungsbefehl für einen anderen Knoten 20, 30 empfangen wird. Der erste Knoten 10 schreitet zu S43, wenn bestimmt wird, dass der Löschaufforderungsbefehl für einen anderen Knoten 20, 30 empfangen wurde. Der erste Knoten 10 wiederholt S42, wenn nicht bestimmt wird, dass der Löschaufforderungsbefehl für einen anderen Knoten 20, 30 empfangen wurde.In S42, it is determined whether the subject node (ie, the first node 10) has received the delete request command for another node 20, 30. When the delete request command is received, the first node 10 determines the bottom location of the ID information received along with the delete request command, whether the delete request command is received for another node 20, 30. The first node 10 proceeds to S43 when it is determined that the delete request command for another node 20, 30 has been received. The first node 10 repeats S42 unless it is determined that the delete request command has been received for another node 20, 30.

In S43 wird bestimmt, ob das zweite Flag 12 die „Anzahl sämtlicher Neuschreibzielknoten“ repräsentiert. Der erste Knoten 10 schreitet zu S44, wenn bestimmt wird, dass der Zählwert des zweiten Flags 12 gleich drei ist. Der erste Knoten 10 schreitet zu S47, wenn nicht bestimmt wird, dass der Zählwert des zweiten Flags 12 gleich drei ist. Wie es oben beschrieben wurde, wird bzw. ist der Zählwert des zweiten Flags 12 zu dem Zeitpunkt des Starts der Verarbeitung der 7 auf drei eingestellt. Somit kann der erste Knoten 10 annehmen, dass einer oder beide anderen Knoten 20, 30 das Neuschreiben zuerst durchführen, wenn das Ergebnis der Bestimmung Ja lautet. Wenn das Ergebnis der Bestimmung Nein lautet, kann der erste Knoten 10 annehmen, dass die anderen Knoten 20, 30 das Neuschreiben als Zweites und danach durchführen.In S43, it is determined whether the second flag 12 represents the “number of all rewrite target nodes”. The first node 10 goes to S44 when it is determined that the count of the second flag 12 is three. The first node 10 proceeds to S47 unless it is determined that the count value of the second flag 12 is equal to three. As described above, the count value of the second flag 12 is at the time of starting processing 7 set to three. Thus, the first node 10 may assume that one or both of the other nodes 20, 30 will perform the rewrite first if the result of the determination is yes. If the result of the determination is no, the first node 10 may assume that the other nodes 20, 30 perform the rewrite second and thereafter.

In S44 wird das erste Flag 11 auf OK eingestellt, und das zweite Flag 12 wird auf 0 eingestellt. Das heißt, wenn der erste Knoten 10 den Löschaufforderungsbefehl empfängt und annimmt, dass die anderen Knoten 20, 30 das Neuschreiben zuerst durchführen, setzt der erste Knoten 10 den Zählwert des zweiten Flags 12 zurück. Auf diese Weise initialisiert der erste Knoten 10 den Zählwert des zweiten Flags 12, wenn ein Löschaufforderungsbefehl für einen der Knoten 10 - 30 zuerst empfangen wird. Daher ist es durch Initialisieren des Zählwertes, wenn der erste Knoten 10 den Löschaufforderungsbefehl als Erstes empfängt, möglich, den Fortschritt des Neuschreibens in sämtlichen Knoten 10 - 30 zu überprüfen. Man beachte, dass der erste Knoten 10 das erste Flag 11 nicht zurücksetzt, da der empfangene Löschaufforderungsbefehl keine Aufforderung für den Subjektknoten (d. h. den ersten Knoten 10) ist.In S44, the first flag 11 is set to OK and the second flag 12 is set to 0. That is, when the first node 10 receives the erase request command and assumes that the other nodes 20, 30 perform the rewrite first, the first node 10 resets the count value of the second flag 12. In this way, the first node 10 initializes the count of the second flag 12 when a delete request command for one of the nodes 10-30 is first received. Therefore, by initializing the count value when the first node 10 first receives the erase request command, it is possible to check the rewrite progress in all nodes 10-30. Note that the first node 10 does not reset the first flag 11 because the delete request command received is not a request for the subject node (i.e., the first node 10).

Im Gegensatz dazu wird in S47 das erste Flag 11 auf „OK“ gesetzt und das zweite Flag 12 wird auf N gesetzt. Wenn der erste Knoten 10 den Löschaufforderungsbefehl empfängt und annimmt, dass die anderen Knoten 20, 30 das Neuschreiben als Zweites und danach durchführen, hält der erste Knoten 10 den Zählwert des zweiten Flags 12 auf dem vorherigen Wert, ohne das erste Flag 11 zurückzusetzen. Das heißt, wenn die anderen Knoten 20, 30 das Neuschreiben als Zweites und danach durchführen, aktualisiert der erste Knoten 10 das erste Flag 11 und das zweite Flag 12 nicht.In contrast, in S47, the first flag 11 is set to "OK" and the second flag 12 is set to N. When the first node 10 receives the erase request command and assumes that the other nodes 20, 30 perform the rewrite second and after, the first node 10 keeps the count of the second flag 12 at the previous value without resetting the first flag 11. That is, when the other nodes 20, 30 perform the rewrite second and after, the first node 10 does not update the first flag 11 and the second flag 12.

In S45 wird bestimmt, ob das Neuschreiben in dem anderen Knoten beendet wurde. Wenn der erste Knoten 10 bestimmt, dass das Neuschreiben in dem anderen Knoten beendet wurde, schreitet die Verarbeitung zu S46. Wenn der erste Knoten 10 nicht bestimmt, dass das Neuschreiben in dem anderen Knoten beendet wurde, wird die Verarbeitung in S45 wiederholt.In S45, it is determined whether rewriting has been completed in the other node. When the first node 10 determines that rewriting has been completed in the other node, processing proceeds to S46. If the first node 10 does not determine that rewriting has been completed in the other node, the processing in S45 is repeated.

Das heißt, der erste Knoten 10 bestimmt, dass das Neuschreiben in dem zweiten Knoten 20 beendet wurde, wenn er den Löschaufforderungsbefehl für den zweiten Knoten 20 empfangen hat und außerdem das ACK in Bezug auf den Verifizierungsaufforderungsbefehl von dem zweiten Knoten 20 empfängt, sodass die Verarbeitung zu S46 schreitet. Außerdem bestimmt der erste Knoten 10 nicht, dass das Neuschreiben in dem zweiten Knoten 20 beendet wurde, wenn er den Löschaufforderungsbefehl für den zweiten Knoten 20 empfangen hat und außerdem der erste Knoten 10 das ACK auf den Verifizierungsaufforderungsbefehl von dem zweiten Knoten 20 nicht empfängt, sodass die Verarbeitung in S45 wiederholt wird.That is, the first node 10 determines that the rewrite in the second node 20 has been completed when it has received the erase request command for the second node 20 and also receives the ACK related to the verify request command from the second node 20, so that the processing to S46. In addition, the first node 10 does not determine that the rewrite has been completed in the second node 20 when it has received the erase request command for the second node 20 and further the first node 10 does not receive the ACK to the verify request command from the second node 20, so that the processing is repeated in S45.

Wenn auf ähnliche Weise der Löschaufforderungsbefehl für den dritten Knoten 20 empfangen wurde und außerdem das ACK auf den Verifizierungsaufforderungsbefehl von dem dritten Knoten 20 empfangen wird, bestimmt der erste Knoten 10, dass das Neuschreiben in dem dritten Knoten 30 beendet wurde, sodass die Verarbeitung zu S46 schreitet. Wenn der Löschaufforderungsbefehl für den dritten Knoten 30 empfangen wurde und außerdem der erste Knoten 10 das ACK auf den Verifizierungsaufforderungsbefehl von dem dritten Knoten 30 nicht empfängt, bestimmt der erste Knoten 10 nicht, dass das Neuschreiben in dem dritten Knoten 30 beendet wurde, sodass die Verarbeitung in S45 wiederholt wird.Similarly, when the erase request command for the third node 20 has been received and also the ACK to the verify request command is received from the third node 20, the first node 10 determines that the rewrite in the third node 30 has been completed, so that the processing goes to S46 strides. If the erase request command for the third node 30 has been received and also the first node 10 does not receive the ACK to the verify request command from the third node 30, the first node 10 does not determine that the rewrite has been completed in the third node 30, so the processing is repeated in S45.

In S46 wird das erste Flag 11 auf „OK“ gesetzt und das zweite Flag 12 wird auf N+1 gesetzt. Das heißt, wenn bestimmt wird, dass das Neuschreiben in dem anderen Knoten 20, 30 beendet wurde, zählt der erste Knoten 10 den Zählwert des zweiten Flags 12 aufwärts. Das heißt, der erste Knoten 10 zählt den Zählwert des zweiten Flags 12 jeweils aufwärts, wenn er bestimmt, dass das Neuschreiben in dem zweiten Knoten 20 beendet wurde, und wenn er bestimmt, dass das Neuschreiben in dem dritten Knoten 30 beendet wurde. Man beachte, dass der erste Knoten 10 das erste Flag 11 nicht aktualisiert, da das Neuschreiben nicht den Subjektknoten (d. h. den ersten Knoten 10) betrifft.In S46, the first flag 11 is set to "OK" and the second flag 12 is set to N+1. That is, when it is determined that rewriting has been completed in the other node 20, 30, the first node 10 counts up the count of the second flag 12. That is, the first node 10 increments the count of the second flag 12 each time it determines that rewriting has been completed in the second node 20 and when it determines that the rewriting has been completed in the third node 30. Note that the first node 10 does not update the first flag 11 because the rewrite does not affect the subject node (i.e. the first node 10).

Im Folgenden wird mit Bezug auf 9 der Verarbeitungsbetrieb in einem Fall beschrieben, in dem das Steuerungsprogramm in dem zweiten Knoten 20 neu geschrieben wird. Der zweite Knoten 20 führt das Flussdiagramm der 9 durch, wenn beispielsweise der Zündschalter eingeschaltet wird. 9 zeigt den Verarbeitungsbetrieb zu dem Zeitpunkt des Neuprogrammierungsmodus in dem zweiten Knoten 20. Wenn der Verarbeitungsbetrieb, der in 9 dargestellt ist, durchgeführt wird, entspricht der Ausführungsmodus des zweiten Knotens 20 dem Neuprogrammierungsmodus. Im Detail empfängt der zweite Knoten 20 den Löschaufforderungsbefehl nach beispielsweise einem Wechsel zu dem Neuprogrammierungsmodus. Der zweite Knoten 20 setzt das erste Flag 21 während des Verarbeitungsbetriebs. In der vorliegenden Ausführungsform wird angenommen, dass das erste Flag 21 zu dem Zeitpunkt des Starts der Verarbeitung der 9 auf 1 gesetzt ist bzw. wird.The following is with reference to 9 the processing operation is described in a case where the control program in the second node 20 is rewritten. The second node 20 runs the flowchart of the 9 when, for example, the ignition switch is turned on. 9 shows the processing operation at the time of the reprogramming mode in the second node 20. If the processing operation in 9 is shown, the execution mode of the second node 20 corresponds to the reprogramming mode. In detail, the second node 20 receives the erase request command after, for example, a transition to the reprogramming mode. The second node 20 sets the first flag 21 during processing operation. In the present embodiment, it is assumed that the first flag 21 is at the time of starting processing 9 is or will be set to 1.

In S50 werden das Einschalten der Energiezufuhr und das Rücksetzfreigeben durchgeführt. Das heißt, der zweite Knoten 20 schaltet die Energiezufuhr zu dem Subjektknoten (in diesem Fall der zweite Knoten 20) ein und gibt ein Rücksetzen des Subjektknotens (d. h. des zweiten Knotens 20) frei.In S50, power on and reset enable are performed. That is, the second node 20 turns on the power to the subject node (in this case, the second node 20) and enables a reset of the subject node (i.e., the second node 20).

In S51 wird bestimmt, ob der Löschaufforderungsbefehl für den Subjektknoten (d. h. den zweiten Knoten 20) empfangen wurde. Wenn der Löschaufforderungsbefehl empfangen wird, bestimmt der zweite Knoten 20 auf der Grundlage der ID-Informationen, die zusammen mit dem Löschaufforderungsbefehl empfangen werden, ob der Löschaufforderungsbefehl für den Subjektknoten (d. h. den zweiten Knoten 20) empfangen wird. Der zweite Knoten 20 schreitet zu S52, wenn bestimmt wird, dass der Löschaufforderungsbefehl für den Subjektknoten (d. h. den zweiten Knoten 20) empfangen wurde. Der zweite Knoten 20 wiederholt S51, wenn der zweite Knoten 20 nicht bestimmt, dass der Löschaufforderungsbefehl für den Subjektknoten (d. h. den zweiten Knoten 20) empfangen wurde.In S51, it is determined whether the delete request command for the subject node (i.e., the second node 20) has been received. When the delete request command is received, the second node 20 determines whether the delete request command is received for the subject node (i.e., the second node 20) based on the ID information received along with the delete request command. The second node 20 proceeds to S52 when it is determined that the delete request command for the subject node (i.e., the second node 20) has been received. The second node 20 repeats S51 if the second node 20 does not determine that the delete request command for the subject node (i.e., the second node 20) has been received.

In S52 wird das erste Flag 21 auf „NG“ gesetzt. Das heißt, wenn der Löschaufforderungsbefehl empfangen wird und angenommen wird, dass der Subjektknoten (d. h. der zweite Knoten 20) das Neuschreiben durchführt, setzt der zweite Knoten 20 das erste Flag 21 zurück, das heißt stellt das erste Flag 21 auf 0 ein.In S52 the first flag 21 is set to “NG”. That is, when the erase request command is received and assuming that the subject node (i.e., the second node 20) performs the rewrite, the second node 20 resets the first flag 21, that is, sets the first flag 21 to 0.

Wenn, wie es in 10 dargestellt ist, der Löschaufforderungsbefehl empfangen wird, setzt der zweite Knoten 20 das erste Flag 21 zurück, löscht das Steuerungsprogramm und überträgt außerdem ein ACK an das Neuschreibwerkzeug 400. Wenn danach, wie es in 10 dargestellt ist, der Neuschreibaufforderungsbefehl von dem Neuschreibwerkzeug 400 empfangen wird, gibt der zweite Knoten 20 das ACK zurück, sodass der zweite Knoten 20 Daten des neuen Steuerungsprogramms von dem Neuschreibwerkzeug 400 empfängt. Die Daten des neuen Steuerungsprogramms enthalten Daten zum Neuschreiben des Steuerungsprogramms.If, like it in 10 As shown in FIG 10 As shown, the rewrite request command is received from the rewrite tool 400, the second node 20 returns the ACK, so that the second node 20 receives data of the new control program from the rewrite tool 400. The new control program data contains data for rewriting the control program.

In S53 schreibt der zweite Knoten 20 den Subjektknoten neu. Der zweite Knoten 20 schreibt die empfangenen Daten des neuen Steuerungsprogramms in die Neuschreibdomäne des ROM 14 (entspricht einer Neuschreibverarbeitung).In S53, the second node 20 rewrites the subject node. The second node 20 writes the received data of the new control program into the rewrite domain of the ROM 14 (corresponding to rewrite processing).

In S54 wird bestimmt, ob das Neuschreiben in dem Subjektknoten beendet wurde. Wenn der zweite Knoten 20 bestimmt, dass das Neuschreiben in dem Subjektknoten beendet wurde, schreitet die Verarbeitung zu S55. Wenn der zweite Knoten 20 nicht bestimmt, dass das Neuschreiben in dem Subjektknoten beendet wurde, wird die Verarbeitung in S54 wiederholt. Das heißt, der zweite Knoten 20 wiederholt die Bestimmung in S54, bis das neue Steuerungsprogramm geschrieben wurde. Wie es in 10 dargestellt ist, überträgt der zweite Knoten 20 ein ACK an das Neuschreibwerkzeug 400, wenn die Neuschreibverarbeitung beendet ist, und außerdem empfängt der zweite Knoten 20 einen Verifizierungsaufforderungsbefehl von dem Neuschreibwerkzeug 400.In S54, it is determined whether rewriting has been completed in the subject node. When the second node 20 determines that rewriting has been completed in the subject node, processing proceeds to S55. If the second node 20 does not determine that rewriting has been completed in the subject node, the processing in S54 is repeated. That is, the second node 20 repeats the determination in S54 until the new control program is written. Like it in 10 As shown, the second node 20 transmits an ACK to the rewrite tool 400 when the rewrite processing is completed, and also the second node 20 receives a verification request command from the rewrite tool 400.

In S55 wird das erste Flag 21 auf „OK“ gesetzt. Das heißt, da das Neuschreiben in dem Subjektknoten beendet wurde, setzt der zweite Knoten 20 das erste Flag 21 auf 1. Danach überträgt der zweite Knoten 20 in S56 eine Antwort (ACK) in Bezug auf den Verifizierungsaufforderungsbefehl für den Subjektknoten (den zweiten Knoten 20) an das Neuschreibwerkzeug 400.In S55 the first flag 21 is set to “OK”. That is, since the rewriting has been completed in the subject node, the second node 20 sets the first flag 21 to 1. Thereafter, in S56, the second node 20 transmits an answer (ACK) regarding the verification request command for the subject node (the second node 20 ) to the rewrite tool 400.

In S57 wird bestimmt, ob die Energiezufuhr ausgeschaltet wird bzw. ist. Wenn nicht bestimmt wird, dass die Energiezufuhr ausgeschaltet wird bzw. ist, kehrt der zweite Knoten 20 zu S50 zurück. Wenn bestimmt wird, dass die Energiezufuhr ausgeschaltet wird bzw. ist, wird die Verarbeitung der 9 beendet. Der Verarbeitungsbetrieb des dritten Knotens 30 ist ähnlich wie derjenige des zweiten Knotens 20, wie es in 10 dargestellt ist.In S57 it is determined whether the power supply is or is switched off. If it is not determined that the power supply is turned off, the second node 20 returns to S50. If it is determined that the power supply is turned off, the processing of the 9 completed. The processing operation of the third node 30 is similar to that of the second node 20, as shown in FIG 10 is shown.

Wie es oben beschrieben wurde, bestimmt der erste Knoten 10, ob sämtliche Knoten 10 - 30 das Neuschreiben eines Steuerungsprogramms beendet haben. Das heißt, der erste Knoten 10 bestimmt, ob die anderen Knoten 20, 30 und nicht nur der Subjektknoten (der erste Knoten 10) das Neuschreiben des Steuerungsprogramms beendet haben,As described above, the first node 10 determines whether all nodes 10-30 have completed rewriting a control program. That is, the first node 10 determines whether the other nodes 20, 30 and not just the subject node (the first node 10) have finished rewriting the control program,

Der erste Knoten 10 entscheidet den Ausführungsmodus als Steuerungsmodus, wenn bestimmt wird, dass sämtliche Knoten 10 - 30 das Neuschreiben des Steuerungsprogramms beendet haben. Daher entscheidet der erste Knoten 10 den Ausführungsmodus des Subjektknotens als Steuerungsmodus, wenn sämtliche Knoten 10 - 30 das neue Programm (d. h. das neue Steuerungsprogramm) aufweisen.The first node 10 decides the execution mode as the control mode when determined that all nodes 10 - 30 have finished rewriting the control program. Therefore, the first node 10 decides the execution mode of the subject node as the control mode when all the nodes 10 - 30 have the new program (ie, the new control program).

Im Gegensatz dazu entscheidet der erste Knoten 10 den Ausführungsmodus als den Neuprogrammierungsmodus, wenn bestimmt wird, dass nicht sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, das heißt, wenn bestimmt wird, dass mindestens ein Knoten das Neuschreiben des Steuerungsprogramms nicht beendet hat. Daher entscheidet der erste Knoten 10 den Ausführungsmodus des Subjektknotens (des ersten Knotens 10) als den Neuprogrammierungsmodus, wenn ein Knoten, der das neue Programm aufweist, und ein Knoten, der das alte Programm aufweist, in den Knoten 10 - 30 vermischt sind. Somit ist es möglich, dass der erste Knoten 10 eine Ausführung einer Steuerung in einem Steuerungssystem in dem fahrzeugeigenen Steuerungssystem 100, in dem ein Knoten des Knoten des neuen Programms und ein Knoten des alten Programms vermischt sind, verhindert.In contrast, the first node 10 decides the execution mode as the reprogramming mode when it is determined that not all nodes have finished rewriting the control program, that is, when it is determined that at least one node has not finished rewriting the control program. Therefore, the first node 10 decides the execution mode of the subject node (the first node 10) as the reprogramming mode when a node having the new program and a node having the old program are mixed in the nodes 10-30. Thus, it is possible that the first node 10 prevents execution of control in a control system in the on-vehicle control system 100 in which a node of the new program node and a node of the old program are mixed.

Da der erste Knoten 10 bestimmen kann, ob das Neuschreiben in sämtlichen Knoten 10 - 30 des fahrzeugeigenen Steuerungssystems 100 beendet wurde, ist es möglich, die Beendigung des Neuschreibens sämtlicher Knoten 10 - 30 in Einheiten des fahrzeugeigenen Steuerungssystems 100 zu gewährleisten. Da das fahrzeugeigene Steuerungssystem 100 den ersten Knoten 10 enthält, ist es somit möglich, die Ausführung einer Steuerung durch ein Steuerungssystem bei einer Bedingung zu verhindern, bei der ein Knoten des neuen Programms und ein Knoten des alten Programms vermischt sind.Since the first node 10 can determine whether rewriting has been completed in all nodes 10 - 30 of the on-vehicle control system 100, it is possible to ensure the completion of rewriting of all nodes 10 - 30 in units of the on-vehicle control system 100. Therefore, since the on-vehicle control system 100 includes the first node 10, it is possible to prevent execution of control by a control system under a condition where a node of the new program and a node of the old program are mixed.

Das fahrzeugeigene Steuerungssystem 100 kann vier oder mehr Knoten einschließlich des ersten Knotens 10 enthalten, oder kann zwei Knoten einschließlich des ersten Knotens 10 enthalten. Das heißt, das fahrzeugeigene Steuerungssystem 100 kann mehrere Knoten enthalten, wobei der erste Knoten 10 enthalten ist.The vehicle control system 100 may include four or more nodes including the first node 10, or may include two nodes including the first node 10. That is, the on-vehicle control system 100 may include multiple nodes, with the first node 10 included.

Man beachte, dass die vorliegende Erfindung nicht auf die vorliegende Ausführungsform beschränkt ist. Stattdessen kann die vorliegende Erfindung auf verschiedene Weise modifiziert werden, ohne von dem Bereich der vorliegenden Erfindung abzuweichen. Im Folgenden werden als Beispiele von modifizierten Ausführungsformen zweite bis siebte Ausführungsformen erläutert. Man beachte, dass die obige Ausführungsform und die folgenden Ausführungsformen unabhängig verwendet werden können, aber auch geeignet kombiniert verwendet werden können. Die vorliegende Erfindung ist nicht auf eine Kombination beschränkt, die in den Ausführungsformen beschrieben ist. Die vorliegende Erfindung kann durch verschiedene Kombinationen Verwendung finden.Note that the present invention is not limited to the present embodiment. Instead, the present invention can be modified in various ways without departing from the scope of the present invention. Second to seventh embodiments will be explained below as examples of modified embodiments. Note that the above embodiment and the following embodiments can be used independently, but can also be used appropriately in combination. The present invention is not limited to a combination described in the embodiments. The present invention can be used through various combinations.

(Zweite Ausführungsform)(Second Embodiment)

Im Folgenden wird eine zweite Ausführungsform des ersten Knotens 10 mit Bezug auf 12 beschrieben. Hier wird der sich von der ersten Ausführungsform unterscheidende Teil der zweiten Ausführungsform erläutert. In der vorliegenden Ausführungsform werden aus Vereinfachungsgründen dieselben Bezugszeichen wie in der ersten Ausführungsform verwendet.A second embodiment of the first node 10 is described below with reference to 12 described. Here, the part of the second embodiment different from the first embodiment will be explained. In the present embodiment, the same reference numerals as in the first embodiment are used for simplicity.

Der erste Knoten 10 gemäß der zweiten Ausführungsform überprüft einen Wert des ersten Flags 11 und den Zählwert des zweiten Flags 12, um zu bestimmen, ob das Neuschreiben sämtlicher Knoten 10 - 30 beendet wurde.The first node 10 according to the second embodiment checks a value of the first flag 11 and the count value of the second flag 12 to determine whether rewriting of all of the nodes 10 - 30 has been completed.

Der erste Knoten 10 gemäß der zweiten Ausführungsform führt das Flussdiagramm der 12 durch, wenn beispielsweise der Zündschalter eingeschaltet wird.The first node 10 according to the second embodiment executes the flowchart of 12 when, for example, the ignition switch is turned on.

In S11 wird bestimmt, ob das erste Flag 11 „OK“ repräsentiert (entspricht einem Beispiel eines Bestimmungsabschnitts und eines Individualbestimmungsabschnitts). Der erste Knoten 10 überprüft den Speicherinhalt des ersten Flags 11 und bestimmt, ob das erste Flag 11 „OK“ repräsentiert, das heißt bestimmt, ob das Neuschreiben in dem Subjektknoten (dem ersten Knoten 10) beendet wurde. Wenn das erste Flag 11 gleich 1 ist, nimmt der erste Knoten 10 an, dass das erste Flag 11 „OK“ repräsentiert, das heißt, dass das Neuschreiben beendet wurde, sodass die Verarbeitung zu S12a schreitet. Wenn das erste Flag 11 gleich 0 ist, nimmt der erste Knoten 10 an, dass das erste Flag nicht „OK“ repräsentiert, das heißt, dass das Neuschreiben nicht beendet wurde, sodass die Verarbeitung zu S 14 schreitet.In S11, it is determined whether the first flag 11 represents “OK” (corresponds to an example of a determination section and an individual determination section). The first node 10 checks the memory contents of the first flag 11 and determines whether the first flag 11 represents "OK", that is, determines whether the rewrite has been completed in the subject node (the first node 10). When the first flag 11 is 1, the first node 10 assumes that the first flag 11 represents "OK", that is, the rewriting has been completed, so the processing proceeds to S12a. When the first flag 11 is 0, the first node 10 assumes that the first flag does not represent "OK", that is, the rewriting has not been completed, so the processing proceeds to S14.

In S12a wird bestimmt, ob das zweite Flag 12 gleich „der Anzahl anderer Neuschreibzielknoten“ ist. Die anderen Neuschreibzielknoten werden später erläutert. Der erste Knoten 10 überprüft den Speicherinhalt des zweiten Flags 12 und bestimmt, ob das zweite Flag 12 gleich der Anzahl der anderen Neuschreibzielknoten ist. Die anderen Neuschreibzielknoten entsprechen dem zweiten Knoten 20 und dem dritten Knoten 30, die nicht der erste Knoten 10 unter den Knoten sind, die in dem fahrzeugeigenen Steuerungssystem enthalten sind. Daher ist in der vorliegenden Ausführungsform die Anzahl sämtlicher anderer Zielknoten gleich 2 (zwei).In S12a, it is determined whether the second flag 12 is equal to “the number of other rewrite target nodes”. The other rewrite target nodes will be explained later. The first node 10 checks the memory contents of the second flag 12 and determines whether the second flag 12 is equal to the number of other rewrite target nodes. The other rewrite target nodes correspond to the second node 20 and the third node 30, which are not the first node 10 among the nodes included in the on-vehicle control system. Therefore, in the present embodiment, the number of all other target nodes is 2 (two).

Wenn somit der Zählwert des zweiten Flags 12 gleich 2 ist, nimmt der erste Knoten 10 an, dass das zweite Flag 12 gleich „der Anzahl der anderen Neuschreibzielknoten“ ist, das heißt, dass das Neuschreiben in den anderen Neuschreibzielknoten 20, 30 beendet wurde, sodass die Verarbeitung zu S13 schreitet. Wenn daher der Zählwert des zweiten Flags 12 mit der Anzahl der anderen Knoten 20, 30 übereinstimmt, und wenn außerdem der Wert des ersten Flags 11 gleich 1 ist, bestimmt der erste Knoten 10, dass sämtliche Knoten 10 - 30 das Neuschreiben beendet haben (entspricht einem Bestimmungsabschnitt und einem Gesamtbestimmungsabschnitt).Thus, when the count value of the second flag 12 is equal to 2, the first node 10 assumes that the second flag 12 is equal to "the number of other rewrite target nodes", that is, the rewrite in the other rewrite target nodes 20, 30 has been completed, so that processing proceeds to S13. Therefore, if the count value of the second flag 12 matches the number of other nodes 20, 30, and also if the value of the first flag 11 is 1, the first node 10 determines that all nodes 10 - 30 have finished rewriting (equivalent to a determination section and an overall determination section).

Wenn im Gegensatz dazu der Zählwert des zweiten Flags 12 nicht gleich 2 ist, nimmt der erste Knoten 10 an, dass das zweite Flag 12 nicht gleich „der Anzahl der anderen Neuschreibzielknoten“ ist, das heißt, dass das Neuschreiben in mindestens einem der anderen Neuschreibzielknoten 20, 30 nicht beendet wurde. In diesem Fall schreitet die Verarbeitung zu S14.In contrast, if the count value of the second flag 12 is not equal to 2, the first node 10 assumes that the second flag 12 is not equal to “the number of other rewrite target nodes”, that is, that the rewrite is in at least one of the other rewrite target nodes 20, 30 was not finished. In this case, processing proceeds to S14.

Wie es oben beschrieben wurde, kann der erste Knoten 10 gemäß der zweiten Ausführungsform ähnliche Wirkungen wie in der ersten Ausführungsform erzielen. Außerdem kann der erste Knoten 10 gemäß der zweiten Ausführungsform auf der Grundlage des Wertes des ersten Flags 11 bestimmen, ob das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde. Daher muss der erste Knoten 10 nicht in unnötiger Weise zählen, dass das Neuschreiben in dem Subjektknoten (d. h. dem ersten Knoten 10) beendet wurde, wenn der erste Knoten 10 nur zählt, dass das Neuschreiben in den anderen Knoten 20, 30 beendet wurde. Daher kann der erste Knoten 10 durch Überprüfen des ersten Flags 11 und des zweiten Flags 12 bestimmen, ob das Neuschreiben in sämtlichen Knoten 10 - 30 beendet wurde.As described above, the first node 10 according to the second embodiment can achieve effects similar to those in the first embodiment. Furthermore, according to the second embodiment, the first node 10 may determine whether rewriting has been completed in the subject node (i.e., the first node 10) based on the value of the first flag 11. Therefore, the first node 10 need not unnecessarily count that the rewrite has completed in the subject node (i.e., the first node 10) when the first node 10 only counts that the rewrite has completed in the other nodes 20, 30. Therefore, by checking the first flag 11 and the second flag 12, the first node 10 can determine whether rewriting has completed in all of the nodes 10-30.

(Dritte Ausführungsform)(Third Embodiment)

Im Folgenden wird eine dritte Ausführungsform des ersten Knotens 10 mit Bezug auf 13 erläutert. Hier wird nur der sich von den obigen Ausführungsformen unterscheidende Teil erläutert. In der vorliegenden Ausführungsform werden aus Vereinfachungsgründen dieselben Bezugszeichen wie in den obigen Ausführungsformen verwendet.A third embodiment of the first node 10 is described below with reference to 13 explained. Here, only the part different from the above embodiments will be explained. In the present embodiment, the same reference numerals as in the above embodiments are used for simplicity.

Der erste Knoten 10 gemäß der dritten Ausführungsform überprüft einen Wert des ersten Flags 11 und Informationen des zweiten Flags 12, um zu bestimmen, ob das Neuschreiben sämtlicher Knoten 10 - 30 beendet wurde. Der erste Knoten 10 gemäß der dritten Ausführungsform speichert Informationen, die angeben, ob das Neuschreiben beendet wurde, entsprechend jedem der anderen Knoten 20, 30. Im Folgenden werden Informationen, die dem zweiten Knoten 20 entsprechen, als zweite Knoteninformationen bezeichnet, und Informationen, die dem dritten Knoten 30 entsprechen, werden als dritte Knoteninformationen bezeichnet.The first node 10 according to the third embodiment checks a value of the first flag 11 and information of the second flag 12 to determine whether rewriting of all of the nodes 10 - 30 has been completed. The first node 10 according to the third embodiment stores information indicating whether rewriting has been completed corresponding to each of the other nodes 20, 30. Hereinafter, information corresponding to the second node 20 is referred to as second node information, and information that corresponding to the third node 30 is referred to as third node information.

Der erste Knoten 10 gemäß der dritten Ausführungsform aktualisiert die zweiten Knoteninformationen in eine Neuschreibbeendigung, wenn bestimmt wird, dass das Neuschreiben in dem zweiten Knoten 20 beendet wurde. Auf ähnliche Weise aktualisiert der erste Knoten 10 gemäß der dritten Ausführungsform die dritten Knoteninformationen in eine Neuschreibbeendigung, wenn bestimmt wird, dass das Neuschreiben in dem dritten Knoten 30 beendet wurde.The first node 10 according to the third embodiment updates the second node information into a rewrite completion when it is determined that the rewrite in the second node 20 has been completed. Similarly, according to the third embodiment, the first node 10 updates the third node information to a rewrite completion when it is determined that the rewrite has been completed in the third node 30.

Der erste Knoten 10 gemäß der dritten Ausführungsform führt das Flussdiagramm der 13 durch, wenn beispielsweise der Zündschalter eingeschaltet wird.The first node 10 according to the third embodiment executes the flowchart of 13 when, for example, the ignition switch is turned on.

In S12b bestimmt der erste Knoten 10 durch Überprüfen der zweiten Knoteninformationen und der dritten Knoteninformationen, ob das Neuschreiben der anderen Neuschreibzielknoten beendet wurde. Die anderen Neuschreibzielknoten entsprechen wie in der zweiten Ausführungsform dem zweiten Knoten 20 und dem dritten Knoten 30.In S12b, the first node 10 determines whether rewriting of the other rewriting target nodes has been completed by checking the second node information and the third node information. The other rewrite target nodes correspond to the second node 20 and the third node 30 as in the second embodiment.

Wenn sowohl die zweiten Knoteninformationen als auch die dritten Knoteninformationen die Neuschreibbeendigung angeben, nimmt der erste Knoten 10 an, dass die anderen Neuschreibzielknoten 20, 30 das Neuschreiben beendet haben, und schreitet zu S13. Wenn daher die zweiten Knoteninformationen und die dritten Knoteninformationen jeweils die Neuschreibbeendigung angeben, und wenn außerdem der Wert des ersten Flags 11 gleich 1 ist, bestimmt der erste Knoten 10, dass sämtliche Knoten 10 - 30 das Neuschreiben beendet haben (entspricht einem Bestimmungsabschnitt und einem Gesamtbestimmungsabschnitt).When both the second node information and the third node information indicate the rewrite completion, the first node 10 assumes that the other rewrite target nodes 20, 30 have completed the rewrite and goes to S13. Therefore, when the second node information and the third node information each indicate the rewriting completion, and also when the value of the first flag 11 is 1, the first node 10 determines that all of the nodes 10 - 30 have finished rewriting (corresponding to a determination section and an overall determination section ).

Wenn mindestens eine aus den zweiten Knoteninformationen und den dritten Knoteninformationen nicht die Neuschreibbeendigung angibt, nimmt der erste Knoten 10 an, dass mindestens einer der anderen Neuschreibzielknoten 20, 30 das Neuschreiben nicht beendet hat, und schreitet zu S14. Der erste Knoten 10 gemäß der dritten Ausführungsform kann ähnliche Wirkungen wie die obigen Ausführungsformen erzielen. Außerdem ist es durch Bereitstellung der ersten Knoteninformationen, der zweiten Knoteninformationen und der dritten Knoteninformationen jeweils in Entsprechung zu den Knoten 10, 20, 30 möglich, einen Neuschreibzustand der jeweiligen Knoten 10 - 30 separat zu steuern.If at least one of the second node information and the third node information does not indicate the rewrite completion, the first node 10 assumes that at least one of the other rewrite target nodes 20, 30 has not completed the rewrite and goes to S14. The first node 10 according to the third embodiment can achieve similar effects to the above embodiments. Furthermore, by providing the first node information, the second node information, and the third node information corresponding to the nodes 10, 20, 30, respectively, it is possible to separately control a rewrite state of the respective nodes 10-30.

(Vierte Ausführungsform)(Fourth Embodiment)

Im Folgenden wird eine vierte Ausführungsform des ersten Knotens 10 mit Bezug auf die 14 und 15 erläutert. Hier wird nur der sich von den obigen Ausführungsformen unterscheidende Teil beschrieben. In der vorliegenden Ausführungsform werden aus Vereinfachungsgründen dieselben Bezugszeichen wie in den obigen Ausführungsformen verwendet.A fourth embodiment of the first node 10 is described below with reference to 14 and 15 explained. Here, only the part different from the above embodiments will be described. In the present embodiment, the same reference numerals as in the above embodiments are used for simplicity.

Der erste Knoten 10 gemäß der vierten Ausführungsform ist in einem fahrzeugeigenen Steuerungssystem 110 zusammen mit einem dritten Knoten 30 enthalten. Der erste Knoten 10 ist mit einem ersten Kommunikationsbus 210 verbunden, und der dritte Knoten 30 ist mit einem zweiten Kommunikationsbus 220 verbunden, der sich von dem ersten Kommunikationsbus 210 unterscheidet.The first node 10 according to the fourth embodiment is included in an on-vehicle control system 110 together with a third node 30. The first node 10 is connected to a first communication bus 210, and the third node 30 is connected to a second communication bus 220 that is different from the first communication bus 210.

Die Knoten 10 - 30, die in dem fahrzeugeigenen Steuerungssystem 110 enthalten sind, enthalten Knoten, die mit unterschiedlichen Kommunikationsbussen 210, 220 verbunden sind. Das heißt, der erste Knoten 10 und der zweite Knoten 20 sind mit dem ersten Kommunikationsbus 210 verbunden. Der dritte Knoten 30 ist mit dem zweiten Kommunikationsbus 220 verbunden. Der dritte Knoten 30 ist mit dem zweiten Kommunikationsbus 220 verbunden, der eine andere Domäne (Domain) als der erste Knoten 10 und der zweite Knoten 20 ist.The nodes 10-30 included in the on-vehicle control system 110 include nodes connected to different communication buses 210, 220. That is, the first node 10 and the second node 20 are connected to the first communication bus 210. The third node 30 is connected to the second communication bus 220. The third node 30 is connected to the second communication bus 220, which is a different domain than the first node 10 and the second node 20.

Der erste Kommunikationsbus 210 und der zweite Kommunikationsbus 220 sind mit einem Vermittlungsknoten 300 verbunden. Der erste Knoten 10 und der dritte Knoten 30 können über den Vermittlungsknoten 300 miteinander kommunizieren. Der zweite Knoten 20 und der dritte Knoten 30 können über den Vermittlungsknoten 300 miteinander kommunizieren. Daher können in dem fahrzeugeigenen Steuerungssystem 110 mehrere Knoten, die mit unterschiedlichen Kommunikationsbussen 210, 220 verbunden sind, über den Vermittlungsknoten 300 miteinander kommunizieren.The first communication bus 210 and the second communication bus 220 are connected to a switching node 300. The first node 10 and the third node 30 can communicate with each other via the switching node 300. The second node 20 and the third node 30 can communicate with each other via the switching node 300. Therefore, in the on-vehicle control system 110, multiple nodes connected to different communication buses 210, 220 can communicate with each other via the switching node 300.

Der Vermittlungsknoten 300 speichert Vermittlungs-ID-Informationen 310. Die Vermittlungs-ID-Informationen 310 enthalten die ID-Informationen, die den jeweiligen Knoten 10, 20 angeben. Bei einer Kommunikation über den Vermittlungsknoten 300 werden beispielsweise Vermittlungsrahmeninformationen, wie es in 15 dargestellt ist, verwendet.The switch node 300 stores switch ID information 310. The switch ID information 310 contains the ID information identifying the respective node 10, 20. When communicating via the switching node 300, for example, switching frame information as described in 15 is shown used.

Dementsprechend kann der erste Knoten 10 die Beendigungsinformationen über den ersten Kommunikationsbus 210 von dem zweiten Knoten 20 erhalten. Außerdem kann der erste Knoten 10 die Beendigungsinformationen über den Vermittlungsknoten 300 von dem dritten Knoten 30 erhalten. Das heißt, der erste Knoten 10 empfängt jeden Aufforderungsbefehl für jeden Knoten und das ACK, die von dem Vermittlungsknoten 300 entsprechend den Vermittlungs-ID-Informationen übertragen werden, und führt eine Einstellung des zweiten Flags 12 durch. Der erste Knoten 10 bestimmt die Neuschreibbeendigungen sämtlicher Knoten 10 - 30 auf die Weise, die in der ersten Ausführungsform, der zweiten Ausführungsform und der dritten Ausführungsform beschrieben wurde. Der Aufforderungsbefehl enthält den Löschaufforderungsbefehl, den Neuschreibaufforderungsbefehl und den Verifizierungsaufforderungsbefehl.Accordingly, the first node 10 may receive the termination information from the second node 20 via the first communication bus 210. In addition, the first node 10 can receive the termination information via the switching node 300 from the third node 30. That is, the first node 10 receives each request command for each node and the ACK transmitted from the switching node 300 according to the switching ID information, and performs setting of the second flag 12. The first node 10 determines the rewrite completions of all nodes 10-30 in the manner described in the first embodiment, the second embodiment and the third embodiment. The request command includes the delete request command, the rewrite request command and the verify request command.

Der erste Knoten 10 gemäß der vierten Ausführungsform kann dieselben Wirkungen wie die obigen Ausführungsformen erzielen. Das heißt, der erste Knoten 10 gemäß der vierten Ausführungsform kann ähnliche Wirkungen wie die obige Ausführungsform sogar dann erzielen, wenn der dritte Knoten 30, der in dem fahrzeugeigenen Steuerungssystem 110 enthalten ist, mit dem zweiten Kommunikationsbus 220 verbunden ist, der ein anderer Bus als derjenige des Subjektknotens (der erste Knoten 10) ist.The first node 10 according to the fourth embodiment can achieve the same effects as the above embodiments. That is, the first node 10 according to the fourth embodiment can achieve similar effects to the above embodiment even when the third node 30 included in the on-vehicle control system 110 is connected to the second communication bus 220 which is a bus other than that of the subject node (the first node 10).

(Fünfte Ausführungsform)(Fifth Embodiment)

Im Folgenden wird eine fünfte Ausführungsform, die einen ersten Knoten 10a aufweist, mit Bezug auf die 16 und 17 beschrieben. Hier wird der Teil der fünften Ausführungsform beschrieben, der sich von den obigen Ausführungsformen unterscheidet. In der vorliegenden Ausführungsform werden aus Vereinfachungsgründen dieselben Bezugszeichen wie in den obigen Ausführungsformen verwendet.A fifth embodiment having a first node 10a will be described below with reference to FIG 16 and 17 described. Here, the part of the fifth embodiment different from the above embodiments will be described. In the present embodiment, the same reference numerals as in the above embodiments are used for simplicity.

Der erste Knoten 10 ist in einem fahrzeugeigenen Steuerungssystem enthalten. Im Gegensatz dazu ist der erste Knoten 10a nicht in dem fahrzeugeigenen Steuerungssystem 120 enthalten. Außerdem entscheidet der erste Knoten 10a die Ausführungsmodi mehrerer Knoten 20 - 40, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind.The first node 10 is included in an on-vehicle control system. In contrast, the first node 10a is not included in the on-vehicle control system 120. In addition, the first node 10a decides the execution modes of several nodes 20-40 included in the vehicle's own control system 120.

Das fahrzeugeigene Steuerungssystem 120 enthält einen zweiten Knoten 20, einen dritten Knoten 30 und einen vierten Knoten 40, die mit einem Kommunikationsbus 200 verbunden sind. Der vierte Knoten 40 enthält ähnlich wie der zweite Knoten 20 und der dritte Knoten 30 ein erstes Flag 41 innerhalb des Subjektknotens (in diesem Fall der vierte Knoten 40).The vehicle control system 120 includes a second node 20, a third node 30 and a fourth node 40 connected to a communication bus 200. The fourth node 40, similarly to the second node 20 and the third node 30, contains a first flag 41 within the subject node (in this case the fourth node 40).

Der erste Knoten 10a ist mit dem Kommunikationsbus 200 verbunden. Der erste Knoten 10a ist jedoch nicht in dem fahrzeugeigenen Steuerungssystem 120 enthalten. Der erste Knoten 10a kann die Beendigungsinformationen, die von den anderen Knoten 20, 30, 40 übertragen werden, wie in dem Fall des ersten Knotens 10 erhalten. Um zu bestimmen, ob das Neuschreiben in den anderen Knoten 20 - 40 beendet wurde, zählt der erste Knoten 10a den Zählwert des zweiten Flags 12 jedes Mal aufwärts, wenn die Beendigungsinformationen erhalten werden, und speichert die Anzahl der Knoten, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind. In der fünften Ausführungsform ist die Anzahl der Knoten, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind, gleich drei. Der erste Knoten 10a muss das erste Flag 11 im Unterschied zu dem ersten Knoten 10 nicht enthalten.The first node 10a is connected to the communication bus 200. However, the first node 10a is not included in the vehicle's own control system 120. The first node 10a can receive the termination information from the others Nodes 20, 30, 40 are transmitted, as obtained in the case of the first node 10. To determine whether rewriting has been completed in the other nodes 20-40, the first node 10a counts up the count of the second flag 12 each time the completion information is obtained and stores the number of nodes in the on-vehicle control system 120 are included. In the fifth embodiment, the number of nodes included in the on-vehicle control system 120 is three. In contrast to the first node 10, the first node 10a does not have to contain the first flag 11.

Der erste Knoten 10a führt das Flussdiagramm der 17 durch, wenn beispielsweise der Zündschalter eingeschaltet wird.The first node 10a runs the flowchart of the 17 when, for example, the ignition switch is turned on.

In S12c wird bestimmt, ob das Neuschreiben in sämtlichen Neuschreibzielknoten beendet wurde (entspricht einem Beispiel des Bestimmungsabschnitts). In der vorliegenden Ausführungsform entsprechen sämtliche Neuschreibzielknoten dem zweiten Knoten 20, dem dritten Knoten 30 und dem vierten Knoten 40, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind. Durch Überprüfen des Zählwertes des zweiten Flags 12 bestimmt der erste Knoten 10a, ob das Neuschreiben in sämtlichen Neuschreibzielknoten beendet wurde. Der erste Knoten 10a bestimmt auf der Grundlage der Beendigungsinformationen, die von den jeweiligen Knoten 20 - 40, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind, erhalten werden, ob die Knoten 20 - 40 das Neuschreiben beendet haben.In S12c, it is determined whether rewriting has been completed in all rewriting target nodes (corresponds to an example of the determination section). In the present embodiment, all of the rewrite target nodes correspond to the second node 20, the third node 30, and the fourth node 40 included in the on-vehicle control system 120. By checking the count of the second flag 12, the first node 10a determines whether rewriting has completed in all rewrite target nodes. The first node 10a determines whether the nodes 20 - 40 have completed rewriting based on the completion information obtained from the respective nodes 20 - 40 included in the on-vehicle control system 120.

Wenn bestimmt wird, dass der Zählwert des zweiten Flags 12 gleich 3 ist, nimmt der erste Knoten 10a an, dass sämtliche Neuschreibzielknoten 20 - 40 das Neuschreiben beendet haben, sodass die Verarbeitung zu S13a übergeht. Wenn im Gegensatz dazu der erste Knoten 10a nicht bestimmt, dass der Zählwert des zweiten Flags 12 gleich 3 ist, nimmt der erste Knoten 10a an, dass mindestens einer der Neuschreibzielknoten 20 - 40 das Neuschreiben nicht beendet hat. In diesem Fall schreitet die Verarbeitung zu S14a.When it is determined that the count value of the second flag 12 is 3, the first node 10a assumes that all of the rewrite target nodes 20 - 40 have finished rewriting, so the processing proceeds to S13a. In contrast, if the first node 10a does not determine that the count of the second flag 12 is 3, the first node 10a assumes that at least one of the rewrite target nodes 20-40 has not completed the rewrite. In this case, processing proceeds to S14a.

Der erste Knoten 10a kann Informationen speichern, die angeben, ob das Neuschreiben beendet wurde, wobei die Informationen den jeweiligen anderen Knoten 20 - 40 wie in der dritten Ausführungsform entsprechen. Durch Überprüfen der Informationen kann der erste Knoten 10a bestimmen, ob das Neuschreiben in einem Neuschreibzielknoten beendet wurde.The first node 10a may store information indicating whether rewriting has been completed, the information corresponding to the other nodes 20 - 40, respectively, as in the third embodiment. By checking the information, the first node 10a can determine whether rewriting has completed in a rewrite target node.

In S13a entscheidet der erste Knoten 10a den Steuerungsprogrammausführungsmodus. In diesem Fall entscheidet der erste Knoten 10a den Ausführungsmodus der Knoten 20 - 40, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind, als den Steuerungsmodus. Das heißt, der erste Knoten 10a entscheidet die Ausführungsmodi der Knoten 20 - 40 in dem fahrzeugeigenen Steuerungssystem 120, in dem der Subjektknoten (der ersten Knoten 10a) nicht enthalten ist, als den Steuerungsmodus. Daher weist der erste Knoten 10a mindestens einen der Knoten 20 - 40 an, den Ausführungsmodus auf den Steuerungsmodus einzustellen. Wenn bestimmt wird, dass das Neuschreiben in sämtlichen Knoten 20 - 40, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind, beendet wurde, entscheidet der erste Knoten 10a den Ausführungsmodus der Knoten 20 - 40 als den Steuerungsmodus.In S13a, the first node 10a decides the control program execution mode. In this case, the first node 10a decides the execution mode of the nodes 20 - 40 included in the on-vehicle control system 120 as the control mode. That is, the first node 10a decides the execution modes of the nodes 20 - 40 in the on-vehicle control system 120 in which the subject node (the first node 10a) is not included as the control mode. Therefore, the first node 10a instructs at least one of the nodes 20-40 to set the execution mode to the control mode. When it is determined that the rewriting has been completed in all of the nodes 20 - 40 included in the on-vehicle control system 120, the first node 10a decides the execution mode of the nodes 20 - 40 as the control mode.

In S14a entscheidet der erste Knoten 10a den Ausführungsmodus als Neuprogrammierungsprogrammausführungsmodus. In diesem Fall entscheidet der erste Knoten 10a den Ausführungsmodus der Knoten 20 - 40, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind, als den Neuprogrammierungsmodus. Das heißt, der erste Knoten 10a entscheidet die Ausführungsmodi der Knoten 20 - 40 in dem fahrzeugeigenen Steuerungssystem 120, in dem der Subjektknoten (der erste Knoten 10a) nicht enthalten ist, als den Neuprogrammierungsmodus. Daher weist der erste Knoten 10a mindestens einen der Knoten 20 - 40 an, den Ausführungsmodus auf den Neuprogrammierungsmodus einzustellen. Wenn bestimmt wird, dass das Neuschreiben in mindestens einem der Knoten 20 - 40, die in dem fahrzeugeigenen Steuerungssystem 120 enthalten sind, nicht beendet wurde, entscheidet der erste Knoten 10a den Ausführungsmodus der Knoten 20 - 40 als den Neuprogrammierungsmodus.In S14a, the first node 10a decides the execution mode as a reprogramming program execution mode. In this case, the first node 10a decides the execution mode of the nodes 20 - 40 included in the on-vehicle control system 120 as the reprogramming mode. That is, the first node 10a decides the execution modes of the nodes 20 - 40 in the on-vehicle control system 120 in which the subject node (the first node 10a) is not included as the reprogramming mode. Therefore, the first node 10a instructs at least one of the nodes 20-40 to set the execution mode to the reprogramming mode. When it is determined that rewriting has not been completed in at least one of the nodes 20 - 40 included in the on-vehicle control system 120, the first node 10a decides the execution mode of the nodes 20 - 40 as the reprogramming mode.

Somit können ähnliche Wirkungen wie mit dem ersten Knoten 10 sogar dann erzielt werden, wenn der erste Knoten 10a nicht zu dem fahrzeugeigenen Steuerungssystem 120 gehört. Da in diesem Fall der erste Knoten 10a, der nicht zu dem fahrzeugeigenen Steuerungssystem 120 gehört, den Ausführungsmodus des fahrzeugeigenen Steuerungssystems 120 entscheidet, ist es möglich, dass ein fahrzeugeigenes Netzwerk den ersten Knoten 10a und das fahrzeugeigene Steuerungssystem 120 enthält, sodass die Entwurfsflexibilität erhöht wird.Thus, effects similar to those of the first node 10 can be achieved even if the first node 10a does not belong to the vehicle's own control system 120. In this case, since the first node 10a, which does not belong to the on-vehicle control system 120, decides the execution mode of the on-vehicle control system 120, it is possible for an on-vehicle network to include the first node 10a and the on-vehicle control system 120, so that design flexibility is increased .

(Sechste Ausführungsform)(Sixth Embodiment)

Im Folgenden wird ein fahrzeugeigenes Netzwerk gemäß einer sechsten Ausführungsform erläutert. Hier wird ein Teil beschrieben, der sich von den obigen Ausführungsformen unterscheidet. In der vorliegenden Ausführungsform werden aus Vereinfachungsgründen dieselben Bezugszeichen wie in den obigen Ausführungsformen verwendet.An in-vehicle network according to a sixth embodiment will be explained below. Here, a part different from the above embodiments will be described. In the present embodiment, the same reference numerals as in the above embodiments are used for simplicity.

Das fahrzeugeigene Netzwerk gemäß der sechsten Ausführungsform enthält ein fahrzeugeigenes Steuerungssystem 100, das mehrere Knoten 10 - 30 wie in der ersten Ausführungsform enthält. In dem fahrzeugeigenen Netzwerk gemäß der sechsten Ausführungsform bestimmen der zweite Knoten 20 und der dritte Knoten 30 jeweils die Neuschreibbeendigung ähnlich wie bei dem ersten Knoten 10. Außerdem melden sämtliche der Knoten 10 - 30 dem Neuschreibwerkzeug 400 die Neuschreibbeendigung.The on-vehicle network according to the sixth embodiment includes an on-vehicle control system 100 that includes a plurality of nodes 10 - 30 as in the first embodiment. In the on-vehicle network according to the sixth embodiment, the second node 20 and the third node 30 each determine the rewrite completion similarly to the first node 10. In addition, all of the nodes 10 - 30 report the rewrite completion to the rewrite tool 400.

Jeder der Knoten 10 - 30 bestimmt, ob das Neuschreiben in sämtlichen Knoten 10 - 30 beendet wurde (entspricht einem Bestimmungsabschnitt). Das heißt, der zweite Knoten 20 bestimmt der erste Knoten 10, ob sämtliche Knoten 10 - 30 das Neuschreiben beendet haben. Außerdem bestimmt der dritte Knoten 30, ob sämtliche Knoten 10 - 30 das Neuschreiben beendet haben.Each of the nodes 10 - 30 determines whether rewriting has been completed in all of the nodes 10 - 30 (corresponds to a determination section). That is, the second node 20 determines the first node 10 whether all nodes 10-30 have finished rewriting. Additionally, the third node 30 determines whether all nodes 10-30 have completed rewriting.

Wenn jeder der Knoten 10 - 30 bestimmt hat, dass sämtliche Knoten 10 - 30 das Neuschreiben beendet haben, entscheidet jeder der Knoten 10 - 30 den Ausführungsmodus als den Steuerungsmodus (entspricht einem Entscheidungsabschnitt). Das heißt, wenn der zweite Knoten 20 bestimmt, dass sämtliche Knoten 10 - 30 das Neuschreiben beendet haben, entscheidet der zweite Knoten 20 wie der erste Knoten 10 den Ausführungsmodus des Subjektknotens als den Steuerungsmodus. Wenn der dritte Knoten 30 bestimmt, dass sämtliche Knoten 10 - 30 das Neuschreiben beendet haben, entscheidet der dritte Knoten 30 den Ausführungsmodus des Subjektknotens als den Steuerungsmodus.When each of the nodes 10 - 30 has determined that all of the nodes 10 - 30 have finished rewriting, each of the nodes 10 - 30 decides the execution mode as the control mode (corresponding to a decision section). That is, when the second node 20 determines that all nodes 10-30 have finished rewriting, the second node 20, like the first node 10, decides the execution mode of the subject node as the control mode. When the third node 30 determines that all nodes 10-30 have finished rewriting, the third node 30 decides the execution mode of the subject node as the control mode.

Wenn die jeweiligen Knoten 10 - 30 nicht bestimmen, dass sämtliche Knoten 10 - 30 das Neuschreiben beendet haben, das heißt bestimmen, dass mindestens ein Knoten das Neuschreiben nicht beendet hat, entscheiden die jeweiligen Knoten 10 - 30 den Ausführungsmodus als den Neuprogrammierungsmodus (entspricht einem Entscheidungsabschnitt). Das heißt, wenn der zweite Knoten 20 bestimmt, dass mindestens ein Knoten das Neuschreiben nicht beendet hat, entscheidet der zweite Knoten 20 wie der erste Knoten 10 den Ausführungsmodus des Subjektknotens als den Neuprogrammierungsmodus. Wenn der dritte Knoten 30 bestimmt, dass mindestens ein Knoten das Neuschreiben nicht beendet hat, entscheidet der dritte Knoten 30 den Ausführungsmodus des Subjektknotens als den Neuprogrammierungsmodus.If the respective nodes 10 - 30 do not determine that all nodes 10 - 30 have completed rewriting, that is, determine that at least one node has not completed rewriting, the respective nodes 10 - 30 decide the execution mode as the reprogramming mode (corresponding to one decision section). That is, when the second node 20 determines that at least one node has not completed rewriting, the second node 20, like the first node 10, decides the execution mode of the subject node as the reprogramming mode. If the third node 30 determines that at least one node has not completed rewriting, the third node 30 decides the execution mode of the subject node as the reprogramming mode.

Wenn ein jeweiliger Knoten 10 - 30 den Ausführungsmodus als den Steuerungsmodus entscheidet, meldet der jeweilige Knoten 10 - 30 dem Neuschreibwerkzeug 400, dass ein Neuschreiben sämtlicher Knoten 10 - 30 beendet wurde (entspricht einem Beendigungsmeldungsabschnitt). Das heißt, der zweite Knoten 20 und der dritte Knoten 30 melden dem Neuschreibwerkzeug 400 wie der erste Knoten 10, dass das Neuschreiben beendet wurde, wenn das Neuschreiben in dem Subjektknoten beendet wurde, oder jedes Mal, wenn das ACK für den Verifizierungsaufforderungsbefehl von jedem anderen Knoten empfangen wurde. Dementsprechend überprüft das Neuschreibwerkzeug 400, ob die Meldung hinsichtlich einer Beendigung des Einstellens des zweiten Flags von den jeweiligen Knoten 10 - 30 empfangen wurde, und dadurch ist es möglich, dass das Neuschreibwerkzeug 400 aufeinanderfolgend bestätigen kann, ob ein authentischer Knoten verbunden ist.When a respective node 10 - 30 decides the execution mode as the control mode, the respective node 10 - 30 reports to the rewrite tool 400 that a rewrite of all nodes 10 - 30 has been completed (corresponding to a completion notification section). That is, the second node 20 and the third node 30 report to the rewrite tool 400, like the first node 10, that the rewrite has been completed when the rewrite has been completed in the subject node or every time the ACK for the verification request command is received from each other node was received. Accordingly, the rewrite tool 400 checks whether the message regarding completion of setting the second flag has been received from the respective nodes 10 - 30, and thereby allows the rewrite tool 400 to sequentially confirm whether an authentic node is connected.

Jeder der Knoten 10 - 30 kann die Neuschreibbeendigung sämtlicher Knoten 10 - 30 gemäß einem der Verfahren, die in der ersten Ausführungsform, der zweiten Ausführungsform oder der dritten Ausführungsform beschrieben wurden, bestimmen. Das fahrzeugeigene Netzwerk kann ein fahrzeugeigenes Steuerungssystem 110 enthalten, das einen Vermittlungsknoten 300 und mehrere Knoten 10 - 30 wie in der vierten Ausführungsform enthält.Each of the nodes 10 - 30 may determine the rewrite completion of all of the nodes 10 - 30 according to one of the methods described in the first embodiment, the second embodiment, or the third embodiment. The on-vehicle network may include an on-vehicle control system 110 that includes a switching node 300 and a plurality of nodes 10-30 as in the fourth embodiment.

Jeder der Knoten 10 - 30 kann ähnliche Wirkungen wie der erste Knoten 10 in den obigen Ausführungsformen erzielen. Somit ist es möglich, dass das fahrzeugeigene Netzwerk gemäß der sechsten Ausführungsform die Ausführung einer Steuerung durch ein Steuerungssystem bei einer Bedingung verhindert, bei der ein Knoten des neuen Programms und ein Knoten des alten Programms vermischt sind.Each of the nodes 10 - 30 can achieve similar effects to the first node 10 in the above embodiments. Thus, it is possible that the on-vehicle network according to the sixth embodiment prevents execution of control by a control system under a condition where a node of the new program and a node of the old program are mixed.

(Siebte Ausführungsform)(Seventh Embodiment)

Im Folgenden wird ein fahrzeugeigenes Netzwerk gemäß einer siebten Ausführungsform erläutert. Hier wird ein Teil beschrieben, der sich von den obigen Ausführungsformen unterscheidet. In der vorliegenden Ausführungsform werden aus Vereinfachungsgründen dieselben Bezugszeichen wie in den obigen Ausführungsformen verwendet.An in-vehicle network according to a seventh embodiment will be explained below. Here, a part different from the above embodiments will be described. In the present embodiment, the same reference numerals as in the above embodiments are used for simplicity.

In der vorliegenden Ausführungsform wird ein fahrzeugeigenes Netzwerk verwendet, das mehrere fahrzeugeigene Steuerungssysteme 100, 130 enthält. Somit enthält das fahrzeugeigene Netzwerk gemäß der siebten Ausführungsform ein erstes fahrzeugeigenes Steuerungssystem 100 und ein zweites fahrzeugeigenes Steuerungssystem 130. In der vorliegenden Ausführungsform sind, um zwischen den fahrzeugeigenen Steuerungssystemen zu unterscheiden, das erste fahrzeugeigene Steuerungssystem 100 und das zweite fahrzeugeigene Steuerungssystem 130 genannt. Das erste fahrzeugeigene Steuerungssystem 100 ist ähnlich wie das fahrzeugeigene Steuerungssystem 100 der obigen Ausführungsformen aufgebaut. Der erste Kommunikationsbus 210 ähnelt dem Kommunikationsbus 200 in den obigen Ausführungsformen. Man beachte, dass die vorliegende Erfindung nicht auf diese Konfiguration beschränkt ist, sondern dass das fahrzeugeigene Netzwerk drei oder mehr fahrzeugeigene Steuerungssysteme enthalten kann. Das erste fahrzeugeigene Steuerungssystem und das zweite fahrzeugeigene Steuerungssystem können jeweils als ein erstes Fahrzeugsteuerungssystem und ein zweites Fahrzeugsteuerungssystem bezeichnet werden.In the present embodiment, an on-vehicle network that includes multiple on-vehicle control systems 100, 130 is used. Thus, the on-vehicle network according to the seventh embodiment includes a first on-vehicle control system 100 and a second on-vehicle control system 130. In the present embodiment, to distinguish between the on-vehicle control systems, the first on-vehicle control system 100 and the second on-vehicle control system 130 are mentioned. The first on-vehicle control system 100 is constructed similarly to the on-vehicle control system 100 of the above embodiments. The first communication bus 210 is similar to communication bus 200 in the above embodiments. Note that the present invention is not limited to this configuration, but the on-vehicle network may include three or more on-vehicle control systems. The first vehicle control system and the second vehicle control system may be referred to as a first vehicle control system and a second vehicle control system, respectively.

Das zweite fahrzeugeigene Steuerungssystem 130 enthält einen fünften Knoten 50, einen sechsten Knoten 60 und einen siebten Knoten 70, die mit dem zweiten Kommunikationsbus 220 verbunden sind. Somit sind der fünfte Knoten 50, der sechste Knoten 60 und der siebte Knoten 70 Knoten, die in demselben fahrzeugeigenen Steuerungssystem 130 enthalten sind. Jeder der Knoten 50-70 weist ähnlich wie der erste Knoten 10, der zweite Knoten 20 und der dritte Knoten 30 als Ausführungsmodus den Steuerungsmodus und den Neuprogrammierungsmodus auf. Die Knoten 50 - 70 in dem zweiten fahrzeugeigenen Steuerungssystem 130 kooperieren miteinander und führen eine Steuerung in dem Fall des Steuerungsmodus aus.The second on-vehicle control system 130 includes a fifth node 50, a sixth node 60 and a seventh node 70 connected to the second communication bus 220. Thus, the fifth node 50, the sixth node 60 and the seventh node 70 are nodes included in the same on-vehicle control system 130. Each of the nodes 50-70 has the control mode and the reprogramming mode as its execution mode, similar to the first node 10, the second node 20 and the third node 30. The nodes 50 - 70 in the second on-vehicle control system 130 cooperate with each other and execute control in the case of the control mode.

Der fünfte Knoten 50 enthält wie der erste Knoten 10 ein erstes Flag 51 und ein zweites Flag 52. Der fünfte Knoten 50 entspricht einem Masterknoten in dem zweiten fahrzeugeigenen Steuerungssystem 130.Like the first node 10, the fifth node 50 contains a first flag 51 and a second flag 52. The fifth node 50 corresponds to a master node in the second on-vehicle control system 130.

Der fünfte Knoten 50 bestimmt, ob das Neuschreiben in sämtlichen Knoten 50 - 70 des zweiten fahrzeugeigenen Steuerungssystems 130 beendet wurde (entspricht einem Bestimmungsabschnitt). Wenn der fünfte Knoten 50 bestimmt, dass sämtliche Knoten 50 - 70 in dem zweiten fahrzeugeigenen Steuerungssystem 130 das Neuschreiben beendet haben, entscheidet der fünfte Knoten 50 den Ausführungsmodus als den Steuerungsmodus (entspricht einem Entscheidungsabschnitt). Wenn der fünfte Knoten 50 nicht bestimmt, dass sämtliche Knoten 50 - 70 in dem zweiten fahrzeugeigenen Steuerungssystem 130 das Neuschreiben beendet haben, das heißt, wenn er bestimmt, dass mindestens ein Knoten das Neuschreiben nicht beendet hat, entscheidet der fünfte Knoten 50 den Ausführungsmodus als den Neuprogrammierungsmodus (entspricht dem Entscheidungsabschnitt).The fifth node 50 determines whether rewriting has been completed in all nodes 50 - 70 of the second on-vehicle control system 130 (corresponding to a determination section). When the fifth node 50 determines that all nodes 50 - 70 in the second on-vehicle control system 130 have finished rewriting, the fifth node 50 decides the execution mode as the control mode (corresponding to a decision section). If the fifth node 50 does not determine that all nodes 50 - 70 in the second on-vehicle control system 130 have completed rewriting, that is, if it determines that at least one node has not completed rewriting, the fifth node 50 decides the execution mode as the reprogramming mode (corresponds to the decision section).

Der sechste Knoten 60 enthält wie der zweite Knoten 20 ein erstes Flag 61. Der siebte Knoten 70 enthält wie der dritte Knoten 30 ein erstes Flag 71. Der sechste Knoten 60 und der siebte Knoten 70 entsprechen einem Slaveknoten in dem zweiten fahrzeugeigenen Steuerungssystem 130.The sixth node 60, like the second node 20, contains a first flag 61. The seventh node 70, like the third node 30, contains a first flag 71. The sixth node 60 and the seventh node 70 correspond to a slave node in the second on-vehicle control system 130.

Der erste Kommunikationsbus 210 und der zweite Kommunikationsbus 220 sind über den Vermittlungsknoten 300 wie in der vierten Ausführungsform verbunden. Daher kommunizieren das erste fahrzeugeigene Steuerungssystem 100 und das zweite fahrzeugeigene Steuerungssystem 130 über den Vermittlungsknoten 300 miteinander.The first communication bus 210 and the second communication bus 220 are connected via the switching node 300 as in the fourth embodiment. Therefore, the first on-vehicle control system 100 and the second on-vehicle control system 130 communicate with each other via the switching node 300.

Der erste Knoten 10 weist ähnliche Wirkungen wie die obigen Ausführungsformen auf. Außerdem weist der fünfte Knoten 50 ähnliche Wirkungen wie der erste Knoten 10 auf. Es ist möglich, dass das fahrzeugeigene Netzwerk gemäß der siebten Ausführungsform die Ausführung einer Steuerung durch ein Steuerungssystem bei einer Bedingung verhindert, bei der ein Knoten des neuen Programms und ein Knoten des alten Programms vermischt sind. Auf ähnliche Weise ist es möglich, dass das fahrzeugeigene Netzwerk gemäß der siebten Ausführungsform die Ausführung einer Steuerung durch ein Steuerungssystem bei einer Bedingung verhindert, bei der ein Knoten des neuen Programms und ein Knoten des alten Programms vermischt sind.The first node 10 has similar effects to the above embodiments. In addition, the fifth node 50 has similar effects to the first node 10. It is possible that the on-vehicle network according to the seventh embodiment prevents execution of control by a control system under a condition where a node of the new program and a node of the old program are mixed. Similarly, it is possible that the on-vehicle network according to the seventh embodiment prevents execution of control by a control system under a condition where a node of the new program and a node of the old program are mixed.

Man beachte, dass ein Flussdiagramm oder der Prozess des Flussdiagramms in der vorliegenden Anmeldung Schritte (auch als Abschnitte bezeichnet) enthält, die jeweils beispielsweise mit S10 bezeichnet werden. Außerdem kann jeder Schritt in mehrere Unterschritte unterteilt sein, und es können mehrere Schritte in einen einzelnen Schritt kombiniert sein.Note that a flowchart or the process of the flowchart in the present application contains steps (also referred to as sections), each designated, for example, S10. Additionally, each step may be divided into multiple sub-steps, and multiple steps may be combined into a single step.

Claims (6)

Fahrzeugeigene Steuerungsvorrichtung, die einen Ausführungsmodus von mehreren Knoten (10-40, 10a) in einem fahrzeugeigenen Steuerungssystem (100, 110, 120, 130) entscheidet, wobei die Knoten kooperieren und eine Steuerung zu einem Zeitpunkt eines Steuerungsmodus durchführen, wobei jeder der Knoten als Ausführungsmodus den Steuerungsmodus, bei dem die Steuerung durch Ausführen eines Steuerungsprogramms durchgeführt wird, und einen Neuprogrammierungsmodus aufweist, bei dem ein Neuschreiben des Steuerungsprogramms durch Ausführen eines Neuprogrammierungsprogramms durchgeführt wird, ohne die Steuerung auf der Grundlage des Steuerungsprogramms durchzuführen, wobei die fahrzeugeigene Steuerungsvorrichtung aufweist: einen Bestimmungsabschnitt (S11, S12, S12a, S12b), der bestimmt, ob sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben; und einen Entscheidungsabschnitt (S13, S14, S13a, S14a), der den Ausführungsmodus als den Steuerungsmodus entscheidet, wenn der Bestimmungsabschnitt bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, und den Ausführungsmodus als den Neuprogrammierungsmodus entscheidet, wenn der Bestimmungsabschnitt nicht bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben; wobei die fahrzeugeigene Steuerungsvorrichtung einer der Knoten ist; der Bestimmungsabschnitt (S11, S12, S12a, S12b) auf der Grundlage einer Beendigung des Neuschreibens des Steuerungsprogramms in der fahrzeugeigenen Steuerungsvorrichtung und auf der Grundlage von Beendigungsinformationen, die von einem anderen Knoten empfangen werden und angeben, dass das Neuschreiben des Steuerungsprogramms in dem anderen Knoten beendet wurde, bestimmt, ob sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben; die fahrzeugeigene Steuerungsvorrichtung Daten für das Neuschreiben des Steuerungsprogramms von einer Neuschreibvorrichtung empfängt, um das Steuerungsprogramm neu zu schreiben; und die fahrzeugeigene Steuerungsvorrichtung einen Individualmeldeabschnitt (S38) enthält, der der Neuschreibvorrichtung meldet, dass das Neuschreiben des Steuerungsprogramms beendet wurde, wenn das Neuschreiben des Steuerungsprogramms in der fahrzeugeigenen Steuerungsvorrichtung beendet wurde, und jedes Mal wenn die Beendigungsinformationen von einem anderen Knoten empfangen werden.On-vehicle control device that decides an execution mode of a plurality of nodes (10-40, 10a) in an on-vehicle control system (100, 110, 120, 130), the nodes cooperating and performing control at a time of a control mode, each of the nodes as Execution mode includes the control mode in which control is performed by executing a control program, and a reprogramming mode in which rewriting of the control program is performed by executing a reprogramming program without performing control based on the control program, the on-vehicle control device comprising: a determining section (S11, S12, S12a, S12b) which determines whether all nodes have finished rewriting the control program; and a decision section (S13, S14, S13a, S14a) that decides the execution mode as the control mode when the determination section determines that all nodes finish rewriting the control program and decides the execution mode as the reprogramming mode when the determining section does not determine that all nodes have finished rewriting the control program; wherein the on-vehicle control device is one of the nodes; the determination section (S11, S12, S12a, S12b) based on a completion of the rewriting of the control program in the on-vehicle control device and based on completion information received from another node indicating that the rewriting of the control program in the other node has finished, determines whether all nodes have finished rewriting the control program; the on-vehicle control device receives data for rewriting the control program from a rewriting device to rewrite the control program; and the on-vehicle control device includes an individual reporting section (S38) that reports to the rewriting device that the rewriting of the control program has been completed when the rewriting of the control program has been completed in the on-vehicle control device and each time the completion information is received from another node. Fahrzeugeigene Steuerungsvorrichtung nach Anspruch 1, wobei der Bestimmungsabschnitt (S12) bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, wenn das Neuschreiben des Steuerungsprogramms in der fahrzeugeigenen Steuerungsvorrichtung beendet ist und ein Zählwert, der durch Zählen der Häufigkeit des Erlangens der Beendigungsinformationen erhalten wird, mit einer Gesamtanzahl der Knoten übereinstimmt.Vehicle's own control device Claim 1 , wherein the determining section (S12) determines that all nodes have finished rewriting the control program when the rewriting of the control program is finished in the on-vehicle control device and a count value obtained by counting the number of times of obtaining the completion information with a total number of node matches. Fahrzeugeigene Steuerungsvorrichtung nach Anspruch 1, wobei der Bestimmungsabschnitt einen Individualbestimmungsabschnitt (S11) enthält, der bestimmt, ob das Neuschreiben des Steuerungsprogramms in der fahrzeugeigenen Steuerungsvorrichtung beendet wurde; und der Bestimmungsabschnitt außerdem einen Gesamtbestimmungsabschnitt (S12a) enthält, der bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, wenn ein Zählwert, der durch Zählen der Beendigungsinformationen, die von anderen Knoten empfangen werden, erhalten wird, mit einer Gesamtanzahl der anderen Knoten übereinstimmt, wobei die Beendigungsinformationen angeben, dass das Neuschreiben des Steuerungsprogramms beendet wurde, und außerdem wenn der Individualbestimmungsabschnitt bestimmt, dass das Neuschreiben des Steuerungsprogramms beendet wurde.Vehicle's own control device Claim 1 , wherein the determination section includes an individual determination section (S11) that determines whether the rewriting of the control program in the on-vehicle control device has been completed; and the determining section further includes a total determining section (S12a) that determines that all nodes have finished rewriting the control program when a count value obtained by counting the completion information received from other nodes with a total number of the other nodes matches, wherein the completion information indicates that the rewriting of the control program has been completed, and further when the individual determination section determines that the rewriting of the control program has been completed. Fahrzeugeigene Steuerungsvorrichtung nach Anspruch 2 oder 3, wobei die fahrzeugeigene Steuerungsvorrichtung Daten für das Neuschreiben des Steuerungsprogramms nach einem Empfang eines Löschaufforderungsbefehls von einer Neuschreibvorrichtung, der ein Löschen des Steuerungsprogramms fordert, um das Steuerungsprogramm neu zu schreiben, empfängt; und die fahrzeugeigene Steuerungsvorrichtung den Zählwert initialisiert, wenn sie zuerst den Löschaufforderungsbefehl in Bezug auf irgendeinen der Knoten empfängt.Vehicle's own control device Claim 2 or 3 , wherein the on-vehicle control device receives data for rewriting the control program upon receipt of an erase request command from a rewriting device requesting erasure of the control program to rewrite the control program; and the on-vehicle control device initializes the count value when it first receives the delete request command with respect to any of the nodes. Fahrzeugeigene Steuerungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die fahrzeugeigene Steuerungsvorrichtung mit einem ersten Kommunikationsbus (210) verbunden ist; mindestens einer der Knoten in dem fahrzeugeigenen Steuerungssystem (110) mit einem zweiten Kommunikationsbus (220) verbunden ist; die fahrzeugeigene Steuerungsvorrichtung und der mindestens eine Knoten über einen Vermittlungsknoten (300) miteinander kommunizieren; und die fahrzeugeigene Steuerungsvorrichtung die Beendigungsinformationen über den Vermittlungsknoten empfängt.Vehicle's own control device according to one of the Claims 1 until 4 , wherein the vehicle's own control device is connected to a first communication bus (210); at least one of the nodes in the on-vehicle control system (110) is connected to a second communication bus (220); the vehicle's own control device and the at least one node communicate with one another via a switching node (300); and the on-vehicle control device receives the termination information via the switching node. Fahrzeugeigenes Netzwerk, das mit einer Neuschreibvorrichtung kommuniziert, die bewirkt, dass mehrere Knoten ein Steuerungsprogramm neu schreiben, wobei das fahrzeugeigene Netzwerk aufweist: ein fahrzeugeigenes Steuerungssystem, das die Knoten enthält, die kooperieren und eine Steuerung zu einem Zeitpunkt eines Steuerungsmodus durchführen, wobei die Knoten fahrzeugeigenen Steuerungsvorrichtungen entsprechen, wobei jeder der Knoten als einen Ausführungsmodus den Steuerungsmodus, in dem die Steuerung durch Ausführen eines Steuerungsprogramms durchgeführt wird, und einen Neuprogrammierungsmodus aufweist, in dem ein Neuschreiben des Steuerungsprogramms durch Ausführen eines Neuprogrammierungsprogramms durchgeführt wird, ohne die Steuerung auf der Grundlage des Steuerungsprogramms durchzuführen; wobei jeder der Knoten enthält: einen Bestimmungsabschnitt (S11, S12, S12a, S12b), der bestimmt, ob sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, einen Entscheidungsabschnitt (S13, S14), der den Ausführungsmodus als den Steuerungsmodus entscheidet, wenn der Bestimmungsabschnitt bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, und den Ausführungsmodus als den Neuprogrammierungsmodus entscheidet, wenn der Bestimmungsabschnitt nicht bestimmt, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, und einen Beendigungsmeldungsabschnitt, der der Neuschreibvorrichtung meldet, dass sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben, wenn der Entscheidungsabschnitt den Steuerungsmodus entscheidet; wobei der Bestimmungsabschnitt (S11, S12, S12a, S12b) auf der Grundlage einer Beendigung des Neuschreibens des Steuerungsprogramms in dem Knoten und auf der Grundlage von Beendigungsinformationen, die von einem anderen Knoten empfangen werden und angeben, dass das Neuschreiben des Steuerungsprogramms in dem anderen Knoten beendet wurde, bestimmt, ob sämtliche Knoten das Neuschreiben des Steuerungsprogramms beendet haben; der Knoten Daten für das Neuschreiben des Steuerungsprogramms von einer Neuschreibvorrichtung empfängt, um das Steuerungsprogramm neu zu schreiben; und der Knoten einen Individualmeldeabschnitt (S38) enthält, der der Neuschreibvorrichtung meldet, dass das Neuschreiben des Steuerungsprogramms beendet wurde, wenn das Neuschreiben des Steuerungsprogramms in dem Knoten beendet wurde, und jedes Mal wenn die Beendigungsinformationen von einem anderen Knoten empfangen werden.An on-vehicle network communicating with a rewriting device that causes a plurality of nodes to rewrite a control program, the on-vehicle network comprising: an on-vehicle control system including the nodes that cooperate and perform control at a time of a control mode, the nodes on-vehicle control devices, each of the nodes having, as an execution mode, the control mode in which control is performed by executing a control program, and a reprogramming mode in which rewriting of the control program is performed by executing a reprogramming program without the control based on the to carry out the control program; wherein each of the nodes includes: a determination section (S11, S12, S12a, S12b) that determines whether all nodes have finished rewriting the control program, a decision section (S13, S14) that decides the execution mode as the control mode when the determination section determines that all nodes have finished rewriting the control program, and decides the execution mode as the reprogramming mode if the determining section does not determine that all nodes have finished rewriting the control program, and a completion notification section that reports to the rewriting device that all nodes have finished rewriting the control program has ended when the decision section decides the control mode; wherein the determining section (S11, S12, S12a, S12b) based on a completion of rewriting of the control program in the node and based on completion information received from another node indicating that the rewriting of the control program in the other node has finished, determines whether all nodes have finished rewriting the control program; the node receives data for rewriting the control program from a rewriting device to rewrite the control program; and the node includes an individual reporting section (S38) that reports to the rewriting device that the rewriting of the control program has been completed when the rewriting of the control program has been completed in the node and each time the completion information is received from another node.
DE102017202282.5A 2016-02-17 2017-02-14 ON-VEHICLE CONTROL DEVICE AND ON-VEHICLE NETWORK WITH THE ON-VEHICLE CONTROL DEVICE Active DE102017202282B4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016028329A JP6528700B2 (en) 2016-02-17 2016-02-17 In-vehicle control device and in-vehicle network including in-vehicle control device
JP2016-28329 2016-02-17

Publications (2)

Publication Number Publication Date
DE102017202282A1 DE102017202282A1 (en) 2017-08-17
DE102017202282B4 true DE102017202282B4 (en) 2023-12-07

Family

ID=59410057

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017202282.5A Active DE102017202282B4 (en) 2016-02-17 2017-02-14 ON-VEHICLE CONTROL DEVICE AND ON-VEHICLE NETWORK WITH THE ON-VEHICLE CONTROL DEVICE

Country Status (2)

Country Link
JP (1) JP6528700B2 (en)
DE (1) DE102017202282B4 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7415756B2 (en) * 2020-04-08 2024-01-17 株式会社オートネットワーク技術研究所 In-vehicle device, information processing method and computer program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165729A (en) 2006-12-07 2008-07-17 Denso Corp Microcomputer
US20100115120A1 (en) 2004-11-05 2010-05-06 Staiger Dieter E Concurrent flashing of data processing units in hierarchical networks
EP2613255A2 (en) 2012-01-06 2013-07-10 Ricoh Company, Ltd. Method to update firmware

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5111486B2 (en) * 2009-12-24 2013-01-09 本田技研工業株式会社 Update apparatus and update method for control program
JP2013223094A (en) * 2012-04-16 2013-10-28 Toshiba Corp Communication system, management server device, and program updating control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115120A1 (en) 2004-11-05 2010-05-06 Staiger Dieter E Concurrent flashing of data processing units in hierarchical networks
JP2008165729A (en) 2006-12-07 2008-07-17 Denso Corp Microcomputer
EP2613255A2 (en) 2012-01-06 2013-07-10 Ricoh Company, Ltd. Method to update firmware

Also Published As

Publication number Publication date
JP6528700B2 (en) 2019-06-12
DE102017202282A1 (en) 2017-08-17
JP2017146800A (en) 2017-08-24

Similar Documents

Publication Publication Date Title
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
DE112012003795B4 (en) METHOD AND SYSTEM FOR VEHICLE INFORMATION INTEGRITY VERIFICATION
DE112017005979T5 (en) Parallel Process Device and Parallel Process Program
DE102006030291A1 (en) In-vehicle data rewrite control system
DE102011075776A1 (en) Method and system for updating a shared memory
DE112018006323T5 (en) On-board update device, program and method for updating a program or data
DE102020104652A1 (en) Program update system, control system, mobile body, program update procedure and program
DE102012112623A1 (en) In-vehicle control and non-volatile tangible computer-readable medium
DE102022113922A1 (en) OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE102022110251A1 (en) OTA MASTER, CENTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE102017202282B4 (en) ON-VEHICLE CONTROL DEVICE AND ON-VEHICLE NETWORK WITH THE ON-VEHICLE CONTROL DEVICE
DE102015200729A1 (en) ELECTRONIC CONTROL UNIT
DE102022104321A1 (en) CENTER, UPDATE MANAGEMENT PROCEDURE AND NON-TRANSITORY STORAGE MEDIA
EP3080950A1 (en) Method and system for deterministic auto-configuration of a device
DE102018200318A1 (en) Securing a software update of a control device of a means of transportation
DE112019002469T5 (en) ELECTRONIC CONTROL UNIT AND SESSION SETUP PROGRAM
DE102020110010A1 (en) DEVICE AND METHOD FOR SECURELY UPDATING BINARY DATA IN A VEHICLE
DE102022110824A1 (en) OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE112019007763T5 (en) Software update device, server, software update system and software update method
DE102018210868A1 (en) Electronic control unit
DE102017206752A1 (en) ELECTRONIC CONTROL UNIT AND DATA WRITING SYSTEM
DE102018217311A1 (en) Electronic control unit
DE102018005550A1 (en) Method and server arrangement for producing a control unit for use in a vehicle
DE102015207900B4 (en) Procedure for performing an operating system update
DE102020206262A1 (en) Data rewriting method and data rewriting system

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: H04L0012240000

Ipc: H04L0041000000

R016 Response to examination communication
R018 Grant decision by examination section/examining division