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 PDFInfo
- 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
Links
- 230000008672 reprogramming Effects 0.000 claims abstract description 50
- 238000004891 communication Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 description 72
- 238000012795 verification Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus 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
Die
Die
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
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 in7 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.
-
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 in7 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
Mit Bezug auf die
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-
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-
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
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-
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-
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
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-
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-
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-
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
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
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
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
Wie es in
Wie es in
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
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
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
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
Der Verarbeitungsbetrieb des Neuschreibwerkzeugs 400 wird mit Bezug auf die
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
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
Das Neuschreibwerkzeug 400 kann die Verarbeitung in
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
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
In S64 wird ein Verifizierungsaufforderungsbefehl übertragen. Das Neuschreibwerkzeug 400 überträgt den Verifizierungsaufforderungsbefehl individuell an jeden der Knoten 10 - 30, wie es in
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
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
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
Im Folgenden wird der Verarbeitungsbetrieb der jeweiligen Knoten 10 - 30 mit Bezug auf die
Eine Startverarbeitung des ersten Knotens 10 wird mit Bezug auf
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
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
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
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
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
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
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
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
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
In S15 wird bestimmt, ob die Energiezufuhr ausgeschaltet wird bzw. ist. Der erste Knoten 10 beendet die Verarbeitung in
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
Im Folgenden wird eine Startverarbeitung des zweiten Knotens 20 mit Bezug auf
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
In S24 wird ähnlich wie in S15 bestimmt, ob die Energiezufuhr ausgeschaltet wird bzw. ist. Der zweite Knoten 20 beendet die Verarbeitung in
Mit Bezug auf die
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
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
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
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
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
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
Wenn, wie es in
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
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
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
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
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
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
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
Im Folgenden wird die Verarbeitung ab S42 mit Bezug auf das Flussdiagramm der
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
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
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
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
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
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
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
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
Im Folgenden wird mit Bezug auf
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
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
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
Wenn, wie es in
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
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
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
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
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
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
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
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
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
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
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
Der erste Knoten 10 gemäß der zweiten Ausführungsform führt das Flussdiagramm der
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
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
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
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
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
(Dritte Ausführungsform)(Third Embodiment)
Im Folgenden wird eine dritte Ausführungsform des ersten Knotens 10 mit Bezug auf
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
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
Der erste Knoten 10 gemäß der dritten Ausführungsform führt das Flussdiagramm der
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
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
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
(Vierte Ausführungsform)(Fourth Embodiment)
Im Folgenden wird eine vierte Ausführungsform des ersten Knotens 10 mit Bezug auf die
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
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-
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
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
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
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
(Fünfte Ausführungsform)(Fifth Embodiment)
Im Folgenden wird eine fünfte Ausführungsform, die einen ersten Knoten 10a aufweist, mit Bezug auf die
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
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
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
Der erste Knoten 10a führt das Flussdiagramm der
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
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
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
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
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
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
(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-
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
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
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
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
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-
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
(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-
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-
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
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
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
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
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
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)
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)
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)
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)
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 |
-
2016
- 2016-02-17 JP JP2016028329A patent/JP6528700B2/en active Active
-
2017
- 2017-02-14 DE DE102017202282.5A patent/DE102017202282B4/en active Active
Patent Citations (3)
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 |