JP2017146800A - On-vehicle control device and on-vehicle network including on-vehicle control device - Google Patents

On-vehicle control device and on-vehicle network including on-vehicle control device Download PDF

Info

Publication number
JP2017146800A
JP2017146800A JP2016028329A JP2016028329A JP2017146800A JP 2017146800 A JP2017146800 A JP 2017146800A JP 2016028329 A JP2016028329 A JP 2016028329A JP 2016028329 A JP2016028329 A JP 2016028329A JP 2017146800 A JP2017146800 A JP 2017146800A
Authority
JP
Japan
Prior art keywords
node
rewriting
nodes
control
control program
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.)
Granted
Application number
JP2016028329A
Other languages
Japanese (ja)
Other versions
JP6528700B2 (en
Inventor
上原 一浩
Kazuhiro Uehara
一浩 上原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2016028329A priority Critical patent/JP6528700B2/en
Priority to DE102017202282.5A priority patent/DE102017202282B4/en
Publication of JP2017146800A publication Critical patent/JP2017146800A/en
Application granted granted Critical
Publication of JP6528700B2 publication Critical patent/JP6528700B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide an on-vehicle control device capable of suppressing control in an on-vehicle control system from being executed in a state that a node which has been rewritten to a new control program and a node which has not been rewritten to a new control program coexist.SOLUTION: A first node is one node in an on-vehicle control system including a plurality of nodes each having a control mode and a reprogram mode as an execution mode in which each node cooperatively performs control in the control mode. The first node determines whether or not all the plurality of nodes have completed the rewriting of the control program S11, S12. Then, the first node determines the execution mode as the control mode S13 when determining that all the nodes have completed the rewriting of the control program, and determines the execution mode as the reprogram mode S14 when not determining that all the nodes have completed the rewriting of the control program.SELECTED DRAWING: Figure 5

Description

本発明は、車載制御装置、及び車載制御装置を含む車載ネットワークに関する。   The present invention relates to an in-vehicle control device and an in-vehicle network including the in-vehicle control device.

従来、車載制御装置の一例として、特許文献1に開示されたマイクロコンピュータがある。このマイクロコンピュータは、CPUが書き換えプログラムを実行すると、最初にフラッシュメモリのFLASHステータスをクリアしてから、このメモリの全領域の書換えを行ない、最後にFLASHステータスに書き換え完了コードを書込む。   Conventionally, there exists a microcomputer disclosed by patent document 1 as an example of a vehicle-mounted control apparatus. When the CPU executes the rewrite program, the microcomputer first clears the FLASH status of the flash memory, then rewrites the entire area of the memory, and finally writes the rewrite completion code in the FLASH status.

特開2008−165729号公報JP 2008-165729 A

ところで、車載制御装置は、複数のノードが連携して制御を行う車載制御システムにおける、一つのノードである場合が考えられる。このような車載制御システムでは、制御プログラムが新しい制御プログラムに書き換えられたノードと、制御プログラムが新しい制御プログラムに書き換えられていないノードとが混在することも考えられる。この場合、車載制御システムは、制御プログラムが書き換えられたノードと、制御プログラムが書き換えられていないノードとで制御が実行されてしまい、新しい制御プログラムに応じた制御を行うことができないという問題がある。   By the way, the case where a vehicle-mounted control apparatus is one node in the vehicle-mounted control system in which a some node cooperates and controls can be considered. In such an in-vehicle control system, a node in which the control program is rewritten to a new control program and a node in which the control program is not rewritten to a new control program may be mixed. In this case, the in-vehicle control system has a problem that the control is executed by the node in which the control program is rewritten and the node in which the control program is not rewritten, and the control according to the new control program cannot be performed. .

本開示は、上記問題点に鑑みなされたものであり、新しい制御プログラムに書き換えられたノードと新しい制御プログラムに書き換えられていないノードが混在した状態で車載制御システムにおける制御が実行されてしまうことを抑制できる車載制御装置、及び車載制御装置を含む車載ネットワークを提供することを目的とする。   The present disclosure has been made in view of the above problems, and it is understood that control in an in-vehicle control system is executed in a state where nodes rewritten with a new control program and nodes not rewritten with a new control program are mixed. It is an object of the present invention to provide a vehicle-mounted control device that can be suppressed and a vehicle-mounted network including the vehicle-mounted control device.

上記目的を達成するために本開示は、
制御プログラムを実行して制御を行う制御モードと、制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して制御プログラムの書き換えを行うリプログモードとの実行モードを有した複数のノード(10〜40、10a)を含み、各ノードが制御モード時に連携して制御を行う車載制御システム(100、110、120、130)における、ノードの実行モードを決定する車載制御装置であって、
複数のノードの全てが、制御プログラムの書き換えが完了しているか否かを判定する判定部(S11、S12、S12a〜S12c)と、
全てのノードが制御プログラムの書き換えを完了していると判定部が判定した場合、実行モードを制御モードに決定し、全てのノードが制御プログラムの書き換えを完了していると判定部が判定していない場合、実行モードをリプログモードに決定する決定部(S13、S14、S13a、S14a)と、を備えたことを特徴とする。
In order to achieve the above object, the present disclosure
A plurality of nodes (10 to 10) having an execution mode including a control mode for executing control by executing a control program and a reprogram mode for executing reproprogram and rewriting the control program without performing control based on the control program 40, 10a), and an in-vehicle control device that determines an execution mode of a node in an in-vehicle control system (100, 110, 120, 130) in which each node performs control in cooperation with the control mode,
A determination unit (S11, S12, S12a to S12c) that determines whether or not all of the plurality of nodes have completed rewriting of the control program;
When the determination unit determines that all nodes have completed rewriting of the control program, the execution unit is determined to be the control mode, and the determination unit determines that all nodes have completed rewriting of the control program. If not, a determination unit (S13, S14, S13a, S14a) for determining the execution mode to the reprolog mode is provided.

このように、車載制御装置は、全ノードが、制御プログラムの書き換えが完了しているか否かを判定する。つまり、車載制御装置は、自ノードだけではなく、他ノードが制御プログラムの書き換えが完了しているか否かを判定する。そして、車載制御装置は、全ノードが制御プログラムの書き換えを完了していると判定した場合、実行モードを制御モードに決定する。一方、車載制御装置は、全ノードが制御プログラムの書き換えを完了していると判定していない場合、すなわち、少なくとも一つのノードが制御プログラムの書き換えを完了していない場合、実行モードをリプログモードに決定する。   In this way, the in-vehicle control device determines whether or not all nodes have completed rewriting of the control program. That is, the in-vehicle control device determines whether or not rewriting of the control program is completed not only by the own node but also by other nodes. When the in-vehicle control device determines that all nodes have completed rewriting of the control program, the in-vehicle control device determines the execution mode as the control mode. On the other hand, if the in-vehicle control device does not determine that all nodes have completed rewriting of the control program, that is, if at least one node has not completed rewriting of the control program, the in-vehicle control device is set to the reprogram mode. decide.

よって、車載制御装置は、複数のノードにおいて新プログラムのノードと旧プログラムのノードとが混在している場合に、自ノードの実行モードをリプログモードに決定する。このため、車載制御装置は、新プログラムのノードと旧プログラムのノードが混在した車載制御システムで、制御系統における制御が実行されることを抑制できる。   Therefore, when the new program node and the old program node are mixed in a plurality of nodes, the in-vehicle control apparatus determines the execution mode of the own node to be the reprogram mode. For this reason, the in-vehicle control device can suppress the control in the control system from being executed in the in-vehicle control system in which the node of the new program and the node of the old program are mixed.

また、本開示のさらなる特徴は、
制御プログラムを実行して制御を行う制御モードと、制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して制御プログラムの書き換えを行うリプログモードとの実行モードを有した車載制御装置である複数のノードを含み、各ノードが制御モード時に連携して制御を行う車載制御システムを備え、複数のノードの夫々が制御プログラムを書き換える書換装置と通信可能に構成された車載ネットワークであって、
複数のノードの夫々は、
複数のノードの全てが、制御プログラムの書き換えが完了しているか否かを判定する判定部(S11、S12、S12a、S12b)と、
全てのノードが制御プログラムの書き換えを完了していると判定部が判定した場合、実行モードを制御モードに決定し、全てのノードが制御プログラムの書き換えを完了していると判定部が判定していない場合、実行モードをリプログモードに決定する決定部(S13、S14)と、
決定部が実行モードを制御モードに決定した場合、全てのノードが制御プログラムの書き換えを完了していることを、書換装置に対して通知する完了通知部と、を備えた点にある。
Further features of the present disclosure include
A plurality of in-vehicle control devices having an execution mode of a control mode for executing control by executing a control program and a re-progress mode for executing repro program and rewriting the control program without performing control based on the control program An in-vehicle network configured to communicate with a rewriting device in which each of the plurality of nodes rewrites a control program.
Each of the multiple nodes
A determination unit (S11, S12, S12a, S12b) that determines whether all of the plurality of nodes have completed rewriting of the control program;
When the determination unit determines that all nodes have completed rewriting of the control program, the execution unit is determined to be the control mode, and the determination unit determines that all nodes have completed rewriting of the control program. If not, a determination unit (S13, S14) for determining the execution mode to the re-progress mode;
When the determining unit determines the execution mode to be the control mode, a completion notifying unit that notifies the rewriting device that all the nodes have rewritten the control program is provided.

このように、各ノードは、上記と同様の効果を奏することができる。よって、車載ネットワークは、新プログラムのノードと旧プログラムのノードが混在した状態で制御系統における制御が実行されることを抑制できる。   Thus, each node can achieve the same effect as described above. Therefore, the in-vehicle network can suppress the control in the control system from being executed in a state where the new program node and the old program node coexist.

また、本開示のさらなる特徴は、
異なる複数の車載制御システム(100、130)を含んでおり、
複数の車載制御システムの夫々は、
制御プログラムを実行して制御を行う制御モードと、制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して制御プログラムの書き換えを行うリプログモードとの実行モードを有した車載制御装置である複数のノード(10〜30、50〜70)を含み、各ノードが制御モード時に連携して制御を行うものであって、
各車載制御システムにおける少なくとも一つのノードである車載制御装置は、
車載制御装置と同じ車載制御システムに含まれる複数のノードの全てが、制御プログラムの書き換えが完了しているか否かを判定する判定部(S11、S12、S12a、S12b)と、
全てのノードが制御プログラムの書き換えを完了していると判定部が判定した場合、実行モードを制御モードに決定し、全てのノードが制御プログラムの書き換えを完了していると判定部が判定していない場合、実行モードをリプログモードに決定する決定部(S13、S14)と、を備えた点にある。
Further features of the present disclosure include
Including a plurality of different in-vehicle control systems (100, 130),
Each of the multiple in-vehicle control systems
A plurality of in-vehicle control devices having an execution mode of a control mode for executing control by executing a control program and a re-progress mode for executing repro program and rewriting the control program without performing control based on the control program Nodes (10-30, 50-70), and each node performs control in cooperation in the control mode,
The in-vehicle control device, which is at least one node in each in-vehicle control system,
A determination unit (S11, S12, S12a, S12b) for determining whether or not all of the plurality of nodes included in the same in-vehicle control system as the in-vehicle control device have rewritten the control program;
When the determination unit determines that all nodes have completed rewriting of the control program, the execution unit is determined to be the control mode, and the determination unit determines that all nodes have completed rewriting of the control program. If not, a determination unit (S13, S14) that determines the execution mode to the reprogress mode is provided.

このように、車載制御装置は、上記と同様の効果を奏することができる。よって、各車載ネットワークは、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できる。   Thus, the vehicle-mounted control device can achieve the same effects as described above. Therefore, each in-vehicle network can suppress the control in the control system from being executed in a state where the nodes of the new program and the node of the old program are mixed.

なお、特許請求の範囲、及びこの項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、発明の技術的範囲を限定するものではない。   The reference numerals in parentheses described in the claims and in this section indicate the correspondence with the specific means described in the embodiments described later as one aspect, and the technical scope of the invention is as follows. It is not limited.

第1実施形態における車載制御システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the vehicle-mounted control system in 1st Embodiment. 第1実施形態における車載制御装置の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the vehicle-mounted control apparatus in 1st Embodiment. 第1実施形態における第1ノードのROMの構成を示すイメージ図である。It is an image figure which shows the structure of ROM of the 1st node in 1st Embodiment. 第1実施形態における第2ノードのROMの構成を示すイメージ図である。It is an image figure which shows the structure of ROM of the 2nd node in 1st Embodiment. 第1実施形態における第1ノードの起動処理を示すフローチャートである。It is a flowchart which shows the starting process of the 1st node in 1st Embodiment. 第1実施形態における第2ノードの起動処理を示すフローチャートである。It is a flowchart which shows the starting process of the 2nd node in 1st Embodiment. 第1実施形態における第1ノードの処理動作を示すフローチャートである。It is a flowchart which shows the processing operation of the 1st node in 1st Embodiment. 図7のAB間の処理動作を示すフローチャートである。It is a flowchart which shows the processing operation between AB of FIG. 第1実施形態における第2ノードの処理動作を示すフローチャートである。It is a flowchart which shows the processing operation of the 2nd node in 1st Embodiment. 第1実施形態における車載制御システムの処理動作を示すシーケンス図である。It is a sequence diagram which shows the processing operation of the vehicle-mounted control system in 1st Embodiment. 第1実施形態における書換ツール400の処理動作を示すフローチャートである。It is a flowchart which shows the processing operation of the rewriting tool 400 in 1st Embodiment. 第2実施形態における第1ノードの起動処理を示すフローチャートである。It is a flowchart which shows the starting process of the 1st node in 2nd Embodiment. 第3実施形態における第1ノードの起動処理を示すフローチャートである。It is a flowchart which shows the starting process of the 1st node in 3rd Embodiment. 第4実施形態における車載制御システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the vehicle-mounted control system in 4th Embodiment. 第4実施形態における中継ノードの中継情報を示す図面である。It is drawing which shows the relay information of the relay node in 4th Embodiment. 第5実施形態における車載制御システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the vehicle-mounted control system in 5th Embodiment. 第5実施形態における第1ノードの起動処理を示すフローチャートである。It is a flowchart which shows the starting process of the 1st node in 5th Embodiment. 第7実施形態における車載制御システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the vehicle-mounted control system in 7th Embodiment.

以下において、図面を参照しながら、発明を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。   Hereinafter, a plurality of embodiments for carrying out the invention will be described with reference to the drawings. In each embodiment, portions corresponding to the matters described in the preceding embodiment may be denoted by the same reference numerals and redundant description may be omitted. In each embodiment, when only a part of the configuration is described, the other configurations described above can be applied to other portions of the configuration.

(第1実施形態)
図1〜図11を用いて、第1実施形態に関して説明する。なお、本実施形態では、車載制御装置として第1ノード10を採用する。
(First embodiment)
The first embodiment will be described with reference to FIGS. In the present embodiment, the first node 10 is employed as the in-vehicle control device.

まず、図1〜図4を用いて、第1ノード10の構成、及び第1ノード10を含む車載制御システム100の構成に関して説明する。車載制御システム100は、車両に搭載可能に構成されている。また、車載制御システム100は、車両に設けられた車載ネットワークの一部として設けられていると言える。   First, the configuration of the first node 10 and the configuration of the in-vehicle control system 100 including the first node 10 will be described with reference to FIGS. The in-vehicle control system 100 is configured to be mountable on a vehicle. Moreover, it can be said that the vehicle-mounted control system 100 is provided as a part of vehicle-mounted network provided in the vehicle.

車載制御システム100は、車両における複数の制御系統の一つを統合的に制御するために、第1ノード10を含む複数のノードを備えて構成されている。制御系統とは、例えば、エンジン制御系やボデー制御系などである。よって、車載制御システム100としては、例えばエンジン制御系のシステムを採用できる。   The in-vehicle control system 100 includes a plurality of nodes including the first node 10 in order to integrally control one of a plurality of control systems in the vehicle. The control system is, for example, an engine control system or a body control system. Therefore, as the in-vehicle control system 100, for example, an engine control system can be adopted.

車載制御システム100は、例えば、第1ノード10に加えて、第2ノード20、第3ノード30を備えて構成されている。つまり、本実施形態では、車載制御システム100に含まれている複数のノード10〜30の一つである第1ノード10が車載制御装置に相当すると言える。なお、車載制御システム100は、同一制御系統におけるノードとして、第1ノード10、第2ノード20、第3ノード30を含んでいると言える。第1ノード10、第2ノード20、第3ノード30は、制御系統の制御を実行するための関連するノードであるため関連ノードと言える。   The in-vehicle control system 100 includes, for example, a second node 20 and a third node 30 in addition to the first node 10. That is, in this embodiment, it can be said that the 1st node 10 which is one of the some nodes 10-30 contained in the vehicle-mounted control system 100 corresponds to a vehicle-mounted control apparatus. It can be said that the in-vehicle control system 100 includes the first node 10, the second node 20, and the third node 30 as nodes in the same control system. Since the first node 10, the second node 20, and the third node 30 are related nodes for executing control of the control system, they can be said to be related nodes.

各ノード10〜30は、実行モードとして、制御プログラムを実行して制御を行う制御モードと、制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して制御プログラムの書き換えを行うリプログモードとを有している。なお、制御モードは、制御プログラム実行モードと言える。また、リプログモードは、リプロプログラム実行モードと言える。また、以下においては、制御プログラムの書き換えを、単に書き換えとも記載する。   Each of the nodes 10 to 30 has, as execution modes, a control mode in which a control program is executed and control is performed, and a reprogram mode in which the repro program is executed and control program is rewritten without performing control based on the control program. Have. The control mode can be said to be a control program execution mode. The reprogram mode can be said to be a repro program execution mode. In the following description, rewriting the control program is also simply referred to as rewriting.

また、車載制御システム100は、第1ノード10と第2ノード20と第3ノード30が通信バス200を介して通信可能に構成されている。つまり、各ノード10〜30は、自ノード10〜30が接続されている通信バス200を介して通信を行うことができる。   The in-vehicle control system 100 is configured such that the first node 10, the second node 20, and the third node 30 can communicate via the communication bus 200. That is, each node 10-30 can communicate via the communication bus 200 to which the own node 10-30 is connected.

車載制御システム100は、車両の外部に設けられた書換ツール400と通信可能に構成されている。つまり、車載制御システム100は、例えば第1ノード10が書換ツール400と通信可能に構成されている。第2ノード20と第3ノード30は、通信バス200を介して第1ノード10と通信可能に構成されているため、第1ノード10を介して書換ツール400と通信可能に構成されていると言える。このため、車載制御システム100は、マスタとしての第1ノード10と、スレーブとしての第2ノード20及び第3ノード30を備えていると言える。   The in-vehicle control system 100 is configured to be able to communicate with a rewriting tool 400 provided outside the vehicle. That is, the in-vehicle control system 100 is configured such that the first node 10 can communicate with the rewriting tool 400, for example. Since the second node 20 and the third node 30 are configured to be able to communicate with the first node 10 via the communication bus 200, the second node 20 and the third node 30 are configured to be able to communicate with the rewriting tool 400 via the first node 10. I can say that. For this reason, it can be said that the in-vehicle control system 100 includes the first node 10 as a master, and the second node 20 and the third node 30 as slaves.

各ノード10〜30の実行モードが制御モードである場合、車載制御システム100は、各ノード10〜30が制御プログラムを実行することで、各ノード10〜30が制御系統における制御を連携して行う。   When the execution mode of each of the nodes 10 to 30 is the control mode, the in-vehicle control system 100 performs the control in the control system in cooperation with each of the nodes 10 to 30 by executing the control program by each of the nodes 10 to 30. .

一方、各ノード10〜30の実行モードがリプログモードである場合、車載制御システム100は、各ノード10〜30がリプロプログラムを実行することで、各ノード10〜30の制御プログラムが書き換えられる。このとき、車載制御システム100は、第1ノード10が書換ツール400と通信を行いつつ、第2ノード20及び第3ノード30とも通信を行うことで、制御プログラムが書き換えられる。   On the other hand, when the execution mode of each of the nodes 10 to 30 is the replog mode, the in-vehicle control system 100 rewrites the control program of each of the nodes 10 to 30 when each of the nodes 10 to 30 executes the repro program. At this time, the in-vehicle control system 100 rewrites the control program by communicating with the second node 20 and the third node 30 while the first node 10 communicates with the rewriting tool 400.

つまり、車載制御システム100は、全ノード10〜30が制御プログラムを実行することで制御系統における制御を行うことができる。例えば、全ノード10〜30の少なくとも一つのノードにおける実行モードがリプロプグモードであった場合、車載制御システム100は、そのノードがリプロプログラムを実行するため、制御系統における制御を行うことができない。また、全ノード10〜30の一つのノードがリプロプグモードを実行し、他のノードが制御プログラムを実行した場合、各ノード10〜30は、制御プログラムを実行した際に行なわれる通信が途絶するため、制御系統における制御を行うことができない。   That is, the in-vehicle control system 100 can perform control in the control system when all the nodes 10 to 30 execute the control program. For example, when the execution mode in at least one of all the nodes 10 to 30 is the reprop mode, the in-vehicle control system 100 cannot perform control in the control system because the node executes the repro program. Further, when one node of all the nodes 10 to 30 executes the re-prog mode and another node executes the control program, the communication performed when each of the nodes 10 to 30 executes the control program is interrupted. Therefore, control in the control system cannot be performed.

なお、上記のように、車載制御システム100は、各ノード10〜30が連携して制御を行うものである。このため、制御システム100は、システム仕様の変更時など、全ノード10〜30の制御プログラムを書き換える必要がある。つまり、車載制御システム100は、例えば、第1ノード10と第3ノード30が新プログラムで、第2ノードだけが旧プログラムのように、新プログラムのノードと旧プログラムのノードとが混在しないようにする必要がある。   As described above, the in-vehicle control system 100 is one in which the nodes 10 to 30 perform control in cooperation. For this reason, the control system 100 needs to rewrite the control programs of all the nodes 10 to 30 when the system specification is changed. In other words, the in-vehicle control system 100 prevents the new program node and the old program node from being mixed, such that the first node 10 and the third node 30 are new programs and only the second node is an old program. There is a need to.

これは、車載制御システム100は、新プログラムのノードと旧プログラムのノードとが混在した場合、制御系統として、新プログラムに応じた制御を行うことができなくなるためである。よって、車載制御システム100は、全ノード10〜30で制御プログラムの書き換えを確実に実施する必要がある。言い換えると、車載制御システム100は、全ノード10〜30で新プログラムに揃える必要がある。   This is because the in-vehicle control system 100 cannot perform control according to the new program as a control system when the node of the new program and the node of the old program coexist. Therefore, the in-vehicle control system 100 needs to reliably rewrite the control program in all the nodes 10-30. In other words, the in-vehicle control system 100 needs to be aligned with the new program in all the nodes 10-30.

なお、新プログラムは、新しい制御プログラムに書き換えられた後の制御プログラムである。一方、旧プログラムは、新しい制御プログラムに書き換えられる前の制御プログラムである。   The new program is a control program after being rewritten with a new control program. On the other hand, the old program is a control program before being rewritten with a new control program.

また、新プログラムは、新しいバージョンの制御プログラムと言える。よって、旧プログラムは、新プログラムよりも古いバージョンの制御プログラムと言える。従って、新プログラムと旧プログラムは、バージョン違いの制御プログラムと言える。   The new program can be said to be a new version of the control program. Therefore, it can be said that the old program is an older version of the control program than the new program. Therefore, it can be said that the new program and the old program are different version control programs.

第1ノード10は、図2に示すように、CPU13、ROM14、RAM15、データ送受信部16などを備えて構成されている。CPU13は、後程説明するROM14に予め記憶された制御プログラムやリプロプログラムを実行する。ROM14には、制御プログラム、リプログラム、第1フラグ11、第2フラグ12が記憶されている。RAM15は、CPU13が演算処理を行う際に、演算結果などを一時的に記憶するための記憶部である。データ送受信部16は、通信バス200を介して、第2ノード20、第3ノード30、及び書換ツール400と通信を行うための通信部である。このように、第1ノード10は、ECU(Electronic Control Unit)とも言える。   As illustrated in FIG. 2, the first node 10 includes a CPU 13, a ROM 14, a RAM 15, a data transmission / reception unit 16, and the like. The CPU 13 executes a control program and a repro program stored in advance in the ROM 14 described later. The ROM 14 stores a control program, a reprogram, a first flag 11 and a second flag 12. The RAM 15 is a storage unit for temporarily storing calculation results and the like when the CPU 13 performs calculation processing. The data transmission / reception unit 16 is a communication unit for communicating with the second node 20, the third node 30, and the rewriting tool 400 via the communication bus 200. Thus, the first node 10 can be said to be an ECU (Electronic Control Unit).

第2ノード20及び第3ノード30は、第1ノード10と同様に、CPU13、ROM14、RAM15、データ送受信部16などを備えて構成されている。このため、第2ノード20及び第3ノード30の構成に関する図示や詳細な説明は、省略する。第1ノード10と、第2ノード20と第3ノード30とは、主に、制御プログラムの内容、つまり制御内容、及びROM14の記憶内容が異なる。なお、第3ノード30は、第2ノード20と制御内容が異なるものの、同様の構成を有している。よって、以下においては、第2ノード20を代表例として用いて説明する。   Similar to the first node 10, the second node 20 and the third node 30 include a CPU 13, a ROM 14, a RAM 15, a data transmission / reception unit 16, and the like. For this reason, illustration and detailed description regarding the configuration of the second node 20 and the third node 30 are omitted. The first node 10, the second node 20, and the third node 30 mainly differ in the contents of the control program, that is, the control contents and the storage contents of the ROM 14. The third node 30 has the same configuration as the second node 20 although the control content is different. Therefore, in the following description, the second node 20 is used as a representative example.

なお、各ノード10〜30の処理動作に関しては、後程説明する。また、第2ノード20と第3ノード30の処理動作に関しても、第2ノード20を代表例として用いて説明する。   The processing operation of each node 10-30 will be described later. The processing operation of the second node 20 and the third node 30 will also be described using the second node 20 as a representative example.

ここで、図3、図4を用いて、第1ノード10のROM14における記憶内容と、第2ノード20のROM14の記憶内容に関して説明する。   Here, the contents stored in the ROM 14 of the first node 10 and the contents stored in the ROM 14 of the second node 20 will be described with reference to FIGS.

図3に示すように、第1ノード10のROM14は、書き換え領域に制御プログラム、第1フラグ11、第2フラグ12が記憶されており、非書き換え領域にリプロプログラムが記憶されている。また、第1ノード10のROM14は、非書き換え領域に、関連ノードを識別するID情報が記憶されている。   As shown in FIG. 3, the ROM 14 of the first node 10 stores the control program, the first flag 11 and the second flag 12 in the rewrite area, and stores the repro program in the non-rewrite area. In addition, the ROM 14 of the first node 10 stores ID information for identifying the related node in the non-rewritable area.

一方、図4に示すように、第2ノード20のROM14には、書き換え領域に制御プログラム、第1フラグ21が記憶されており、非書き換え領域にリプログラムが記憶されている。つまり、第2ノード20のROM14には、第2フラグ12が記憶されていない。なお、図1に示すように、第3ノード30の第1フラグには、符号31を付与している。   On the other hand, as shown in FIG. 4, in the ROM 14 of the second node 20, the control program and the first flag 21 are stored in the rewrite area, and the reprogram is stored in the non-rewrite area. That is, the second flag 12 is not stored in the ROM 14 of the second node 20. As shown in FIG. 1, a reference numeral 31 is assigned to the first flag of the third node 30.

第1フラグ11、21は、自ノードにおける書き換え完了可否を判断するための情報である。第1フラグ11、21は、書き換えが完了していることを示す情報と、書き換えが完了していないことを示す情報のいずれかが設定されている。例えば、書き換えが完了していることを示す情報として1、書き換えが完了していないことを示す情報として0を採用できる。なお、第1フラグ11は、第1ノード10によって設定される。一方、第2フラグ21は、第2ノード20によって設定される。   The first flags 11 and 21 are information for determining whether or not rewriting can be completed in the own node. The first flags 11 and 21 are set with either information indicating that rewriting has been completed or information indicating that rewriting has not been completed. For example, 1 can be adopted as information indicating that rewriting has been completed, and 0 can be employed as information indicating that rewriting has not been completed. The first flag 11 is set by the first node 10. On the other hand, the second flag 21 is set by the second node 20.

よって、第1ノード10は、第1フラグ11を確認することで、自ノード10における書き換えが完了しているか否かを判定できる。同様に、第2ノード20は、第2フラグ21を確認することで、自ノード20における書き換えが完了しているか否かを判定できる。   Therefore, the first node 10 can determine whether or not the rewriting in the own node 10 is completed by checking the first flag 11. Similarly, the second node 20 can determine whether the rewriting in the own node 20 has been completed by checking the second flag 21.

第2フラグ12は、自ノード10だけではなく第2ノード20及び第3ノード30における書き換え完了可否を判断するための情報である。つまり、第2フラグ12は、車載制御システム100に含まれている全ノード10〜30における書き換えが完了しているか否かを判断するための情報である。本実施形態では、一例として、書き換えが完了したノードをカウントしたカウント値である第2フラグ12を採用する。よって、第1ノード10は、第2フラグ12を確認することで、第1ノード10、第2ノード20、第3ノード30の全てにおいて書き換えが完了しているか否かを判定できる。   The second flag 12 is information for determining whether or not the rewriting can be completed in the second node 20 and the third node 30 as well as the own node 10. That is, the second flag 12 is information for determining whether or not the rewriting in all the nodes 10 to 30 included in the in-vehicle control system 100 is completed. In the present embodiment, as an example, the second flag 12 that is a count value obtained by counting nodes that have been rewritten is employed. Therefore, the first node 10 can determine whether or not the rewriting has been completed in all of the first node 10, the second node 20, and the third node 30 by checking the second flag 12.

書換ツール400は、書換装置に相当する。書換ツール400は、ディーラや工場の作業者によって操作可能に構成されている。書換ツール400は、作業者による操作に応じて、書き換えを行う。書換ツール400は、書き換えを行う際に、ケーブルとコネクタなどを介して車両と接続される。また、書換ツール400は、書き換えが完了した後など書き換えを行わないとき車両から外されている。なお、書換ツール400は、ライタとも言える。   The rewriting tool 400 corresponds to a rewriting device. The rewriting tool 400 is configured to be operable by a dealer or a factory worker. The rewriting tool 400 performs rewriting according to the operation by the operator. The rewriting tool 400 is connected to the vehicle via a cable and a connector when rewriting. The rewriting tool 400 is removed from the vehicle when rewriting is not performed, for example, after rewriting is completed. Note that the rewriting tool 400 can be said to be a writer.

ここで、各ノード10〜30の処理動作の前に、図10、図11を用いて、書換ツール400の処理動作に関して説明する。書換ツール400は、車両と接続された状態で、作業者によって書き換えが指示された場合に、図11のフローチャートを実行する。なお、後程説明するが、各ノード10〜30は、書換ツール400からの各要求に応答してACKを返信する。   Here, before the processing operation of each of the nodes 10 to 30, the processing operation of the rewriting tool 400 will be described with reference to FIGS. 10 and 11. The rewriting tool 400 executes the flowchart of FIG. 11 when rewriting is instructed by an operator while connected to the vehicle. As will be described later, each of the nodes 10 to 30 returns an ACK in response to each request from the rewriting tool 400.

ステップS60では、消去要求コマンドを送信する。書換ツール400は、図10に示すように、第1ノード10〜第3ノード30の夫々に対して、個別に消去要求コマンドを送信する。書換ツール400は、各ノードに対して消去要求コマンドを送信する際に、送信対象のノードのID情報と共に送信する。書換ツール400は、例えば、第1ノード10に対して消去要求コマンドを送信する場合、第1ノード10のID情報と消去要求コマンドとを送信する。この消去要求コマンドは、ROM14に記憶されている制御プログラムの消去を要求するコマンドである。   In step S60, an erase request command is transmitted. As shown in FIG. 10, the rewrite tool 400 individually transmits an erase request command to each of the first node 10 to the third node 30. When the rewrite tool 400 transmits an erasure request command to each node, the rewrite tool 400 transmits it together with the ID information of the transmission target node. For example, when the rewrite tool 400 transmits an erase request command to the first node 10, the rewrite tool 400 transmits the ID information of the first node 10 and the erase request command. This erasure request command is a command for requesting erasure of the control program stored in the ROM 14.

ステップS61では、消去要求コマンドに対する応答を受信か否かを判定する。書換ツール400は、消去要求コマンドに対する応答、すなわちACKを受信したか否かを判定する。そして、書換ツール400は、ACKを受信したと判定した場合はステップS62へ進み、ACKを受信したと判定してない場合はステップS61を繰り返す。   In step S61, it is determined whether a response to the erase request command has been received. The rewrite tool 400 determines whether or not a response to the erase request command, that is, ACK has been received. If the rewriting tool 400 determines that the ACK has been received, the rewriting tool 400 proceeds to step S62. If the rewriting tool 400 does not determine that the ACK has been received, the rewriting tool 400 repeats the step S61.

なお、書換ツール400は、消去要求コマンドを送信してから所定時間、ACKを受信できなかった場合、図11の処理を終了するものであってもよい。つまり、書換ツール400は、カウントアウト処理を行ってもよい。また、書換ツール400は、以下の判定においてもカウントアウト処理を行ってもよい。さらに、後程説明する各ノード10〜30に関しても、カウントアウト処理を行ってもよい。   Note that the rewrite tool 400 may end the process of FIG. 11 when ACK is not received for a predetermined time after the deletion request command is transmitted. That is, the rewriting tool 400 may perform a count-out process. Further, the rewriting tool 400 may perform a count-out process in the following determination. Further, the count-out process may be performed for each of the nodes 10 to 30 described later.

ステップS62では、書き換え要求コマンドを送信する。書換ツール400は、図10に示すように、第1ノード10〜第3ノード30の夫々に対して、個別に書き換え要求コマンドを送信する。書換ツール400は、消去要求コマンドを送信する場合と同様に、送信対象のノードのID情報と共に、書き換え要求コマンドを送信する。この書き換え要求コマンドは、制御プログラムが消去されたROM14に、新たな制御プログラムの書き込みを要求するコマンドである。   In step S62, a rewrite request command is transmitted. As shown in FIG. 10, the rewrite tool 400 individually transmits a rewrite request command to each of the first node 10 to the third node 30. The rewrite tool 400 transmits the rewrite request command together with the ID information of the transmission target node, as in the case of transmitting the erase request command. This rewrite request command is a command for requesting writing of a new control program to the ROM 14 from which the control program has been erased.

ステップS63では、書き換え要求コマンドに対する応答を受信か否かを判定する。書換ツール400は、書き換え要求コマンドに対するACKを受信したか否かを判定する。そして、書換ツール400は、ACKを受信したと判定した場合はステップS64へ進み、ACKを受信したと判定してない場合はステップS63を繰り返す。なお、書換ツール400は、書き換え要求コマンドに対するACKを受信した後、対象ノードに対して、対象ノードのID情報と新たな制御プログラムのデータとを送信する。   In step S63, it is determined whether a response to the rewrite request command has been received. The rewrite tool 400 determines whether or not an ACK for the rewrite request command has been received. If the rewriting tool 400 determines that the ACK has been received, the rewriting tool 400 proceeds to step S64. If the rewriting tool 400 does not determine that the ACK has been received, the rewriting tool 400 repeats the step S63. Note that the rewrite tool 400 receives the ACK for the rewrite request command, and then transmits the ID information of the target node and new control program data to the target node.

ステップS64では、ベリファイ要求コマンドを送信する。書換ツール400は、図10に示すように、第1ノード10〜第3ノード30の夫々に対して、個別にベリファイ要求コマンドを送信する。書換ツール400は、消去要求コマンドを送信する場合と同様に、送信対象のノードのID情報と共に、ベリファイ要求コマンドを送信する。このベリファイ要求コマンドは、新たな制御プログラムが正常に書き込まれたか否かを検証することを要求するコマンドである。   In step S64, a verify request command is transmitted. As shown in FIG. 10, the rewriting tool 400 individually transmits a verify request command to each of the first node 10 to the third node 30. The rewrite tool 400 transmits the verify request command together with the ID information of the transmission target node, as in the case of transmitting the erase request command. This verify request command is a command for requesting to verify whether or not a new control program has been normally written.

ステップS65では、ベリファイ要求コマンドに対する応答を受信か否かを判定する。書換ツール400は、リファイ要求コマンドに対するACKを受信したか否かを判定する。そして、書換ツール400は、ACKを受信したと判定した場合はステップS66へ進み、ACKを受信したと判定してない場合はステップS65を繰り返す。   In step S65, it is determined whether a response to the verify request command has been received. The rewrite tool 400 determines whether or not an ACK for the refine request command has been received. If the rewriting tool 400 determines that the ACK has been received, the rewriting tool 400 proceeds to step S66. If the rewriting tool 400 does not determine that the ACK has been received, the rewriting tool 400 repeats the step S65.

ステップS66では、第2フラグ設定完了通知を受信したか否かを判定する。以下においては、第2フラグ設定完了通知を、単に完了の通知とも称する。また、第2フラグ設定完了の通知は、各ノード10〜30の夫々で書き換えが完了したことを示す情報である。書換ツール400は、完了の通知を受信したと判定した場合はステップS67へ進み、完了の通知を受信したと判定してない場合はステップS66を繰り返す。なお、後程説明するが、第1ノード10は、第2フラグ12の設定が完了するたびに、すなわち第2フラグ12にカウント値を記憶するたびに、完了の通知を書換ツール400に送信する。   In step S66, it is determined whether a second flag setting completion notification has been received. Hereinafter, the second flag setting completion notification is also simply referred to as completion notification. The notification of completion of the second flag setting is information indicating that rewriting is completed in each of the nodes 10 to 30. The rewriting tool 400 proceeds to step S67 when it is determined that the completion notification has been received, and repeats step S66 when it is not determined that the completion notification has been received. As will be described later, the first node 10 transmits a completion notification to the rewriting tool 400 every time the setting of the second flag 12 is completed, that is, every time the count value is stored in the second flag 12.

ステップS67では、全ノードの書き換え完了か否かを判定する。書換ツール400は、全ノード10〜30の完了の通知を受信した場合に全ノードの書き換えが完了したと判定し、全ノード10〜30の完了の通知を受信してない場合に全ノードの書き換えが完了していないと判定する。そして、書換ツール400は、全ノード10〜30の書き換えが完了したと判定した場合は図11の処理を終了して、全ノード10〜30の書き換えが完了したと判定してない場合はステップS60へ戻る。つまり、書換ツール400は、全ノード10〜30の書き換えが完了するまで、図11のフローチャートを実行する。   In step S67, it is determined whether or not rewriting of all nodes is completed. The rewriting tool 400 determines that all nodes have been rewritten when notification of completion of all nodes 10 to 30 is received, and rewrites all nodes when notification of completion of all nodes 10 to 30 has not been received. Is determined not to be completed. When the rewriting tool 400 determines that the rewriting of all the nodes 10 to 30 has been completed, the rewriting tool 400 ends the processing of FIG. 11, and when it has not determined that the rewriting of all the nodes 10 to 30 has been completed, step S60. Return to. That is, the rewriting tool 400 executes the flowchart of FIG. 11 until rewriting of all the nodes 10 to 30 is completed.

ここで、図5〜図10を用いて、各ノード10〜30の処理動作に関して説明する。   Here, the processing operation of each of the nodes 10 to 30 will be described with reference to FIGS.

まず、図5を用いて、第1ノード10の起動処理に関して説明する。第1ノード10は、例えば、イグニッションスイッチがオンになると、図5のフローチャートを実行する。   First, the startup process of the first node 10 will be described with reference to FIG. For example, when the ignition switch is turned on, the first node 10 executes the flowchart of FIG.

ステップS10では、電源オン及びリセット解除する。第1ノード10は、自ノード10の電源をオンすると共に、自ノード10のリセットを解除する。   In step S10, the power is turned on and the reset is released. The first node 10 turns on the power of its own node 10 and releases the reset of its own node 10.

ステップS11では、第1フラグ11=OKであるか否かを判定する。第1ノード10は、第1フラグ11の記憶内容を確認して、第1フラグ11=OKであるか否か、すなわち、自ノード10における書き換えが完了しているか否かを判定する。第1ノード10は、第1フラグ11が1の場合に第1フラグ11=OK、すなわち、書き換えが完了しているとみなしてステップS12へ進む。また、第1ノード10は、第1フラグ11が0の場合に第1フラグ11=OKではない、すなわち、書き換えが完了していないとみなしてステップS14へ進む。   In step S11, it is determined whether or not the first flag 11 = OK. The first node 10 checks the stored contents of the first flag 11 and determines whether or not the first flag 11 is OK, that is, whether or not the rewriting in the own node 10 is completed. When the first flag 11 is 1, the first node 10 considers the first flag 11 = OK, that is, rewriting is completed, and proceeds to step S12. Further, when the first flag 11 is 0, the first node 10 considers that the first flag 11 is not OK, that is, rewriting has not been completed, and proceeds to step S14.

ステップS12では、第2フラグ12=全書き換え対象ノード数であるか否かを判定する(判定部)。第1ノード10は、第2フラグ12の記憶内容を確認して、第2フラグ12=全書き換え対象ノード数であるか否か、すなわち、書き換え対象ノードの全てにおいて書き換えが完了しているか否かを判定する。ここで、全書き換え対象ノードとは、車載制御システムに含まれている第1ノード10、第2ノード20、第3ノード30である。よって、全書き換え対象ノード数は3である。   In step S12, it is determined whether or not the second flag 12 = the total number of nodes to be rewritten (determination unit). The first node 10 confirms the stored contents of the second flag 12 and determines whether or not the second flag 12 = the total number of rewrite target nodes, that is, whether or not the rewrite has been completed in all the rewrite target nodes. Determine. Here, all the rewriting target nodes are the first node 10, the second node 20, and the third node 30 included in the in-vehicle control system. Therefore, the total number of nodes to be rewritten is 3.

第1ノード10は、第2フラグ12のカウント値が3である場合に、第2フラグ=全書き換え対象ノード数、すなわち、書き換え対象ノード10〜30の全てにおいて書き換えが完了しているとみなしてステップS13へ進む。なお、書き換え対象ノード10〜30の全てにおいて書き換えが完了している状態は、全ノード10〜30が新プログラムに書き換えられている状態とみなせる。   When the count value of the second flag 12 is 3, the first node 10 regards the second flag = the total number of rewrite target nodes, that is, rewrite is completed in all the rewrite target nodes 10 to 30. Proceed to step S13. Note that the state where the rewriting is completed in all the rewriting target nodes 10 to 30 can be regarded as the state where all the nodes 10 to 30 are rewritten with the new program.

一方、第1ノード10は、第2フラグ12のカウント値が3でない場合に、第2フラグ=全書き換え対象ノード数ではない、すなわち、全書き換え対象ノード10〜30のうち少なくとも一つで書き換えが完了していないとみなしてステップS14へ進む。なお、書き換え対象ノード10〜30のうち少なくとも一つで書き換えが完了していない状態は、全ノード10〜30のうち少なくとも一つが旧プログラムのままで、残りが新プログラムに書き換えられている状態とみなせる。   On the other hand, when the count value of the second flag 12 is not 3, the first node 10 is not the second flag = the total number of rewrite target nodes, that is, the rewrite is performed on at least one of the total rewrite target nodes 10 to 30. The process proceeds to step S14 assuming that it has not been completed. Note that the state in which rewriting has not been completed in at least one of the rewriting target nodes 10 to 30 is a state in which at least one of all the nodes 10 to 30 remains the old program and the rest is rewritten to the new program. It can be considered.

後程詳しく説明するが、第1ノード10は、自ノード10で書き換えが完了した場合、及び、第2ノード20や第3ノード30から完了の通知を受信した場合に第2フラグ12のカウント値をカウントアップする。よって、第1ノード10は、自ノード10で書き換えが完了していること、及び他のノード20、30の夫々から取得した完了の通知とに基づいて、全ノード10〜30での書き換えが完了しているか否かを判定すると言える。つまり、第1ノード10は、ステップS12によって、複数のノード10〜30の全てが、書き換えを完了しているか否かを判定する(判定部)。   As will be described in detail later, the first node 10 sets the count value of the second flag 12 when the rewriting is completed at the own node 10 and when the completion notification is received from the second node 20 or the third node 30. Count up. Therefore, the first node 10 completes the rewriting in all the nodes 10 to 30 based on the completion of the rewriting in the own node 10 and the notification of completion acquired from each of the other nodes 20 and 30. It can be said that it is determined whether or not. That is, the first node 10 determines whether or not all of the plurality of nodes 10 to 30 have been rewritten in step S12 (determination unit).

このように、第1ノード10は、カウント値によって、複数のノード10〜30の全てが書き換えを完了しているか否かを判定している。このため、第1ノード10は、情報量が増大することを抑制しつつ、複数のノード10〜30の全てが書き換えを完了しているか否かを判定できる。つまり、第1ノード10は、書き換えが完了したことを示す情報を各ノード10〜30に対応して個別に記憶しておくよりも、情報量を減らすことができ、且つ複数のノード10〜30の全てが書き換えを完了しているか否かを判定できる。   Thus, the first node 10 determines whether or not all of the plurality of nodes 10 to 30 have been rewritten based on the count value. For this reason, the first node 10 can determine whether or not all of the plurality of nodes 10 to 30 have completed rewriting while suppressing an increase in the amount of information. That is, the first node 10 can reduce the amount of information and can store a plurality of nodes 10 to 30 rather than storing information indicating that the rewriting is completed individually for each of the nodes 10 to 30. It can be determined whether or not all of the above have been rewritten.

また、第1ノード10は、上記のように車載制御システム100に含まれている一つのノードである。よって、第1ノード10は、ステップS12の判定を行うことで、車載制御システム100の制御に影響する全ノード10〜30が新プログラムに書き換えられているか否かを判定できる。   The first node 10 is one node included in the in-vehicle control system 100 as described above. Therefore, the 1st node 10 can determine whether all the nodes 10-30 which influence control of the vehicle-mounted control system 100 are rewritten by the new program by performing determination of step S12.

ステップS13では、制御プログラム実行モードに設定する(決定部)。一方、ステップS14では、リプロプログラム実行モードに設定する(決定部)。つまり、第1ノード10は、全ノード10〜30が制御プログラムの書き換えを完了している場合、実行モードを制御モードに決定する。そして、第1ノード10は、全ノード10〜30が制御プログラムの書き換えを完了していると判定していない場合、実行モードをリプログモードに決定する。   In step S13, the control program execution mode is set (determination unit). On the other hand, in step S14, the repro program execution mode is set (determination unit). That is, the first node 10 determines the execution mode as the control mode when all the nodes 10 to 30 have completed rewriting of the control program. When the first node 10 does not determine that all the nodes 10 to 30 have completed rewriting of the control program, the first node 10 determines the execution mode as the reprogress mode.

ステップS15では、電源オフであるか否かを判定する。そして、第1ノード10は、電源オフと判定した場合は図5の処理を終了し、電源オフと判定してない場合はステップS11へ戻る。   In step S15, it is determined whether or not the power is off. If the first node 10 determines that the power is off, the first node 10 ends the process of FIG. 5, and if it is not determined that the power is off, returns to step S11.

なお、本実施形態では、ステップS12の判定で、全ノード10〜30で書き換えが完了しているか否かを判定する例を採用している。従って、本実施形態では、ステップS11を省略することもできる。この場合、第1ノード10は、起動処理時に、第1フラグ11が1であるか否かの判定を行わなくてもよい。しかしながら、第1ノード10は、ステップS11の判定を行うことで、自ノード10での書き換えが完了していない場合に、第2フラグ12を確認することなくステップS14に進むことができる。さらに、後程説明するが、他のノード20、30は、ステップS10と同様に、自ノードでの書き換えが完了しているか否かを判定する。よって、第1ノード10は、ステップS11の判定を行うことで、他のノード20、30との変更点を少なくすることができる。   In the present embodiment, an example is adopted in which it is determined in step S12 whether or not rewriting has been completed in all the nodes 10 to 30. Therefore, in this embodiment, step S11 can be omitted. In this case, the first node 10 may not determine whether or not the first flag 11 is 1 during the startup process. However, the first node 10 can proceed to step S14 without checking the second flag 12 when the rewriting in the node 10 is not completed by performing the determination in step S11. Further, as will be described later, the other nodes 20 and 30 determine whether or not the rewriting in the own node has been completed as in step S10. Therefore, the 1st node 10 can reduce the change point with the other nodes 20 and 30 by performing determination of step S11.

次に、図6を用いて、第2ノード20の起動処理に関して説明する。   Next, the activation process of the second node 20 will be described with reference to FIG.

ステップS20は、ステップS10と同様に、自ノード20の電源オン及びリセット解除を行う。ステップS21では、ステップS11と同様に、第1フラグ21=OKであるか否かを判定する。なお、第2ノード20は、第1ノード10とは異なり、第2フラグを有していない。よって、第2ノード20は、第1フラグ21=OKであると判定した場合はステップS22へ進み、ステップS22で実行モードを制御モードに決定する。また、第2ノード20は、第1フラグ21=OKであると判定していない場合はステップS23へ進み、ステップS23で実行モードをリプログモードに決定する。   In step S20, as in step S10, the local node 20 is powered on and reset. In step S21, similarly to step S11, it is determined whether or not the first flag 21 = OK. Unlike the first node 10, the second node 20 does not have a second flag. Therefore, if the second node 20 determines that the first flag 21 = OK, the process proceeds to step S22, and the execution mode is determined to be the control mode in step S22. On the other hand, if the second node 20 does not determine that the first flag 21 = OK, the process proceeds to step S23, and the execution mode is determined to be the re-progress mode in step S23.

なお、ステップS24では、ステップS15と同様に、電源オフであるか否かを判定する。そして、第2ノード20は、電源オフと判定した場合は図6の処理を終了し、電源オフと判定してない場合はステップS21へ戻る。   In step S24, as in step S15, it is determined whether the power is off. Then, the second node 20 ends the process of FIG. 6 when it is determined that the power is off, and returns to step S21 when it is not determined that the power is off.

次に、図7、図8を用いて、第1ノード10における制御プログラムを書き換える際の処理動作に関して説明する。第1ノード10は、例えば、イグニッションスイッチがオンになると、図7のフローチャートを実行する。図7に示す処理動作を行う場合、第1ノード10の実行モードは、リプログモードである。詳述すると、第1ノード10は、例えばリプログモード移行後に、消去要求コマンドが送信される。なお、第1ノード10は、この処理動作中に第1フラグ11及び第2フラグ12の設定を行う。また、本実施形態では、図7の処理がスタートした時点で、第1フラグ11に1が設定されており、第2フラグ12のカウント値が全ノード数3となっていることを前提とする。   Next, a processing operation when rewriting the control program in the first node 10 will be described with reference to FIGS. For example, when the ignition switch is turned on, the first node 10 executes the flowchart of FIG. When the processing operation illustrated in FIG. 7 is performed, the execution mode of the first node 10 is the reprolog mode. More specifically, the first node 10 transmits an erasure request command after transition to the reprolog mode, for example. The first node 10 sets the first flag 11 and the second flag 12 during this processing operation. Further, in the present embodiment, it is assumed that 1 is set in the first flag 11 when the processing of FIG. 7 is started, and the count value of the second flag 12 is the total number of nodes 3. .

ステップS30では、電源オン及びリセット解除する。第1ノード10は、自ノード10の電源をオンすると共に、自ノード10のリセットを解除する。   In step S30, the power is turned on and the reset is released. The first node 10 turns on the power of its own node 10 and releases the reset of its own node 10.

ステップS31では、自ノード10への消去要求コマンドを受信したか否かを判定する。第1ノード10は、消去要求コマンドを受信した場合、消去要求コマンドと共に受信したID情報に基づいて、自ノード10への消去要求コマンドを受信したか否かを判定する。第1ノード10は、自ノード10への消去要求コマンドを受信したと判定した場合、ステップS32へ進み、自ノード10への消去要求コマンドを受信したと判定してない場合、図8のステップS42へ進む。ステップS42以降の処理に関しては、後程説明する。   In step S31, it is determined whether an erasure request command for the node 10 has been received. When the first node 10 receives the erase request command, the first node 10 determines whether or not the erase request command to the node 10 has been received based on the ID information received together with the erase request command. If the first node 10 determines that it has received the erase request command for its own node 10, it proceeds to step S <b> 32. Proceed to The processing after step S42 will be described later.

ステップS32では、第2フラグ12=全書き換え対象ノード数であるか否かを判定する。第1ノード10は、第2フラグ12のカウント値が3であると判定した場合にステップS33へ進み、第2フラグ12のカウント値が3であると判定しなかった場合にステップS41へ進む。上記のように、第2フラグ12のカウント値は、図7の処理がスタートした時点で3となっている。よって、第1ノード10は、YES判定の場合、最初に自ノード10が書き換えを行うとみなすことができ、NO判定の場合、2番目以降に自ノード10が書き換えを行うとみなすことができる。   In step S32, it is determined whether or not the second flag 12 = the total number of nodes to be rewritten. The first node 10 proceeds to step S33 when it is determined that the count value of the second flag 12 is 3, and proceeds to step S41 when it is not determined that the count value of the second flag 12 is 3. As described above, the count value of the second flag 12 is 3 when the processing of FIG. Therefore, the first node 10 can be regarded as the first node 10 rewriting in the case of YES determination, and the first node 10 can be regarded as the second node or later rewriting in the case of NO determination.

ステップS41では、第1フラグ11=NG、第2フラグ12=Nとする。第1ノード10は、消去要求コマンドを受信して、2番目以降に自ノード10の書き換えを行うとみなした場合、第1フラグ11に0を設定し、第2フラグ12のカウント値を前回値に保持する。つまり、第1ノード10は、2番目以降に自ノード10が書き換えを行う場合、第1フラグ11及び第2フラグ12を更新しない。   In step S41, the first flag 11 = NG and the second flag 12 = N. When the first node 10 receives the erase request command and considers that the node 10 will be rewritten after the second, the first node 10 sets the first flag 11 to 0 and sets the count value of the second flag 12 to the previous value. Hold on. That is, the first node 10 does not update the first flag 11 and the second flag 12 when the node 10 rewrites after the second.

一方、ステップS33では、第1フラグ11=NG、第2フラグ12=0とする。つまり、第1ノード10は、消去要求コマンドを受信して、最初に自ノード10が書き換えを行うとみなした場合、第1フラグ11をリセットし、すなわち第1フラグ11に0を設定し、第2フラグ12のカウント値をリセットする。このように、第1ノード10は、複数のノード10〜30のいずれかに対する消去要求コマンドを最初に受信したときに、カウント値を初期化する。   On the other hand, in step S33, the first flag 11 = NG and the second flag 12 = 0. That is, when the first node 10 receives the erase request command and first considers that the own node 10 performs rewriting, it resets the first flag 11, that is, sets the first flag 11 to 0, 2 The count value of the flag 12 is reset. Thus, the first node 10 initializes the count value when it first receives an erase request command for any of the plurality of nodes 10-30.

第1ノード10は、自ノード10で制御プログラムの書き換えが完了していること、及び他のノード20、30から完了情報を取得したことをカウントし、第2フラグ12のカウント値として記憶する。このため、第1ノード10は、消去要求コマンドを最初に受信したときにカウント値を初期化しておくことで、全ノード10〜30における書き換えの進捗を確認できる。完了情報に関しては、後程説明する。   The first node 10 counts that the rewriting of the control program has been completed in the own node 10 and that the completion information has been acquired from the other nodes 20 and 30, and stores it as the count value of the second flag 12. For this reason, the first node 10 can confirm the progress of rewriting in all the nodes 10 to 30 by initializing the count value when the erase request command is first received. The completion information will be described later.

なお、第1ノード10は、図10に示すように、消去要求コマンドを受信すると、第1フラグ11と第2フラグ12をリセットすると共に、制御プログラムを消去し、且つ書換ツール400にACKを送信する。その後、第1ノード10は、図10に示すように、書換ツール400から書き換え要求コマンドを受信するとACKを返信し、書換ツール400から新たな制御プログラムのデータと受信する。このデータは、制御プログラムの書き換え用データである。   As shown in FIG. 10, when the first node 10 receives the erase request command, the first node 10 resets the first flag 11 and the second flag 12, erases the control program, and transmits ACK to the rewriting tool 400. To do. After that, as shown in FIG. 10, the first node 10 returns an ACK when receiving a rewrite request command from the rewrite tool 400 and receives new control program data from the rewrite tool 400. This data is data for rewriting the control program.

そして、ステップS34では、自ノード書き換えを行う。第1ノード10は、受信した新たな制御プログラムのデータをROM14の書き換え領域に書き込む(書き換え処理)。   In step S34, the own node is rewritten. The first node 10 writes the received new control program data in the rewrite area of the ROM 14 (rewrite process).

ステップS35では、自ノードの書き換えが完了したか否かを判定する。第1ノード10は、自ノード10の書き換えが完了したと判定した場合はステップS36へ進み、自ノード10の書き換えが完了したと判定しなかった場合はステップS35を繰り返す。つまり、第1ノード10は、新たな制御プログラムの書き込みが完了するまでステップS35の判定を繰り返す。なお、第1ノード10は、図10に示すように、書き換え処理が終了すると書換ツール400にACKを送信すると共に、書換ツール400からベリファイ要求コマンドを受信する。   In step S35, it is determined whether rewriting of the own node is completed. The first node 10 proceeds to step S36 when determining that the rewriting of the own node 10 is completed, and repeats step S35 when determining that the rewriting of the own node 10 is not completed. That is, the first node 10 repeats the determination in step S35 until the writing of a new control program is completed. As illustrated in FIG. 10, the first node 10 transmits an ACK to the rewriting tool 400 when receiving the rewriting process, and receives a verify request command from the rewriting tool 400.

そして、ステップS36では、第1フラグ11=OK、第2フラグ12=+1とする。つまり、第1ノード10は、自ノード10の書き換えが完了したことで、第1フラグ11に1を設定し、第2フラグ12のカウント値をカウントアップする。その後、ステップS37では、自ノード10へのベリファイ要求コマンドに対する応答(ACK)を書換ツール400へ送信する。   In step S36, the first flag 11 = OK and the second flag 12 = + 1. That is, the first node 10 sets the first flag 11 to 1 and increments the count value of the second flag 12 when the rewriting of the own node 10 is completed. Thereafter, in step S37, a response (ACK) to the verify request command to the node 10 is transmitted to the rewriting tool 400.

ステップS38では、第2フラグ設定完了通知を書換ツール400へ送信する(個別通知部)。つまり、第1ノード10は、自ノード10で書き換えが完了している場合、制御プログラムの書き換えが完了していることを書換ツール400に通知する。また、第1ノード10は、他のノード20、30の夫々から、ベリファイ要求コマンドに対するACKを取得するたびに、書き換えが完了していることを書換ツール400に通知する。つまり、第1ノード10は、第2フラグ12の設定が完了するたびに、すなわち第2フラグ12にカウント値をカウントアップするたびに、完了の通知を書換ツール400に送信する。なお、他のノード20、30の夫々から送信された、ベリファイ要求コマンドに対するACKは、制御プログラムの書き換えが完了していることを示す情報であり、上記完了情報に相当する。   In step S38, a second flag setting completion notification is transmitted to the rewriting tool 400 (individual notification unit). That is, the first node 10 notifies the rewriting tool 400 that the rewriting of the control program is completed when the rewriting is completed in the own node 10. Further, the first node 10 notifies the rewriting tool 400 that the rewriting is completed each time an ACK for the verify request command is acquired from each of the other nodes 20 and 30. That is, the first node 10 transmits a completion notification to the rewriting tool 400 every time the setting of the second flag 12 is completed, that is, every time when the count value is counted up in the second flag 12. The ACK for the verify request command transmitted from each of the other nodes 20 and 30 is information indicating that the rewriting of the control program is completed, and corresponds to the completion information.

このように、第1ノード10は、各ノード10〜30での書き換えが完了するたびに、書換ツール400に対して完了の通知を行うため、書換ツール400に書き換え状況を把握させることができる。つまり、書換ツール400は、第1ノード10からの完了の通知によって、各ノード10〜30における書き換えの進捗を把握でき、書き換え完了ノードと未完了ノードとを容易に切り分けることができる。   Thus, since the first node 10 notifies the rewriting tool 400 of completion every time rewriting at each of the nodes 10 to 30 is completed, the rewriting tool 400 can grasp the rewriting status. That is, the rewriting tool 400 can grasp the progress of rewriting in each of the nodes 10 to 30 based on the notification of completion from the first node 10, and can easily distinguish between the rewriting completed node and the incomplete node.

ステップS39では、全書き換え対象ノード数=第2フラグの値であるか否かを判定する。第1ノード10は、ステップS32と同様に、第2フラグ12のカウント値が3であるか否かを判定する。そして、第1ノード10は、第2フラグ12のカウント値が3であると判定した場合にステップS40へ進み、第2フラグ12のカウント値が3であると判定しなかった場合にステップS31へ戻る。   In step S39, it is determined whether or not the total number of nodes to be rewritten is the value of the second flag. The first node 10 determines whether the count value of the second flag 12 is 3 as in step S32. When the first node 10 determines that the count value of the second flag 12 is 3, the process proceeds to step S40. When the first node 10 does not determine that the count value of the second flag 12 is 3, the process proceeds to step S31. Return.

ステップS40では、電源オフであるか否かを判定する。第1ノード10は、電源オフであると判定しなかった場合はステップS31へ戻り、電源オフであると判定した場合は図7の処理を終了する。   In step S40, it is determined whether or not the power is off. If the first node 10 does not determine that the power is off, the process returns to step S31. If it is determined that the power is off, the process of FIG. 7 ends.

ここで、図8のフローチャートを用いて、ステップS42以降の処理に関して説明する。   Here, the process after step S42 is demonstrated using the flowchart of FIG.

ステップS42では、他ノード20、30への消去要求コマンドを受信したか否かを判定する。第1ノード10は、消去要求コマンドを受信した場合、消去要求コマンドと共に受信したID情報に基づいて、他ノード20、30への消去要求コマンドを受信したか否かを判定する。第1ノード10は、他ノード20、30への消去要求コマンドを受信したと判定した場合、ステップS43へ進み、他ノード20、30への消去要求コマンドを受信したと判定してない場合、ステップS42を繰り返す。   In step S42, it is determined whether or not an erase request command to the other nodes 20 and 30 has been received. When receiving the erase request command, the first node 10 determines whether or not the erase request command to the other nodes 20 and 30 has been received based on the ID information received together with the erase request command. If the first node 10 determines that it has received the erase request command to the other nodes 20 and 30, the process proceeds to step S43. If it is not determined that the erase request command to the other nodes 20 and 30 has been received, the first node 10 Repeat S42.

ステップS43では、第2フラグ12=全書き換え対象ノード数であるか否かを判定する。第1ノード10は、第2フラグ12のカウント値が3であると判定した場合にステップS44へ進み、第2フラグ12のカウント値が3であると判定しなかった場合にステップS47へ進む。上記のように、第2フラグ12のカウント値は、図7の処理がスタートした時点で3となっている。よって、第1ノード10は、YES判定の場合、最初に他のノード20、30が書き換えを行うとみなすことができ、NO判定の場合、2番目以降に他のノード20、30が書き換えを行うとみなすことができる。   In step S43, it is determined whether or not the second flag 12 = the total number of rewrite target nodes. The first node 10 proceeds to step S44 when it is determined that the count value of the second flag 12 is 3, and proceeds to step S47 when it is not determined that the count value of the second flag 12 is 3. As described above, the count value of the second flag 12 is 3 when the processing of FIG. Therefore, the first node 10 can be considered that the other nodes 20 and 30 first perform rewriting when the determination is YES, and the other nodes 20 and 30 perform rewriting after the second when the determination is NO. Can be considered.

ステップS44では、第1フラグ11=OK、第2フラグ12=0とする。つまり、第1ノード10は、消去要求コマンドを受信して、最初に他ノード20、30が書き換えを行うとみなした場合、第2フラグ12のカウント値をリセットする。このように、第1ノード10は、複数のノード10〜30のいずれかに対する消去要求コマンドを最初に受信したときに、カウント値を初期化する。よって、第1ノード10は、消去要求コマンドを最初に受信したときにカウント値を初期化しておくことで、全ノード10〜30における書き換えの進捗を確認できる。しかしながら、第1ノード10は、受信した消去要求コマンドが自ノード10に対する要求ではないため、第1フラグ11をリセットしない。   In step S44, the first flag 11 = OK and the second flag 12 = 0. That is, the first node 10 receives the erase request command and resets the count value of the second flag 12 when the other nodes 20 and 30 first consider rewriting. Thus, the first node 10 initializes the count value when it first receives an erase request command for any of the plurality of nodes 10-30. Therefore, the first node 10 can confirm the progress of rewriting in all the nodes 10 to 30 by initializing the count value when the erase request command is first received. However, the first node 10 does not reset the first flag 11 because the received erase request command is not a request for the node 10 itself.

一方、ステップS47では、第1フラグ11=OK、第2フラグ12=Nとする。第1ノード10は、消去要求コマンドを受信して、2番目以降に他ノード20、30が書き換えを行うとみなした場合、第1フラグ11にリセットすることなく、第2フラグ12のカウント値を前回値に保持する。つまり、第1ノード10は、2番目以降に他ノード20、30が書き換えを行う場合、第1フラグ11及び第2フラグ12を更新しない。   On the other hand, in step S47, the first flag 11 = OK and the second flag 12 = N. When the first node 10 receives the erase request command and considers that the other nodes 20 and 30 perform rewriting after the second, the first node 10 sets the count value of the second flag 12 without resetting to the first flag 11. Keep the previous value. That is, the first node 10 does not update the first flag 11 and the second flag 12 when the other nodes 20 and 30 perform rewriting after the second.

ステップS45では、他ノードの書き換えが完了したか否かを判定する。第1ノード10は、他ノード20、30の書き換えが完了したと判定した場合、ステップS46へ進み、他ノード20、30の書き換えが完了したと判定してない場合、ステップS45を繰り返す。   In step S45, it is determined whether or not rewriting of another node is completed. If it is determined that the rewriting of the other nodes 20 and 30 has been completed, the first node 10 proceeds to step S46. If it is not determined that the rewriting of the other nodes 20 and 30 has been completed, the first node 10 repeats step S45.

つまり、第1ノード10は、第2ノード20への消去要求コマンドを受信しており、且つ、第2ノード20からベリファイ要求コマンドに対するACKを受信した場合、第2ノード20での書き換えが完了したと判定して、ステップS46へ進む。また、第1ノード10は、第2ノード20への消去要求コマンドを受信しており、且つ、第2ノード20からベリファイ要求コマンドに対するACKを受信してない場合、第2ノード20での書き換えが完了したと判定せずに、ステップS45を繰り返す。   That is, when the first node 10 has received the erase request command to the second node 20 and has received an ACK for the verify request command from the second node 20, the rewriting at the second node 20 has been completed. And the process proceeds to step S46. Further, when the first node 10 has received the erase request command to the second node 20 and has not received an ACK for the verify request command from the second node 20, the rewriting at the second node 20 is not performed. Step S45 is repeated without determining that the process has been completed.

同様に、第1ノード10は、第3ノード30への消去要求コマンドを受信しており、且つ、第3ノード30からベリファイ要求コマンドに対するACKを受信した場合、第3ノード30での書き換えが完了したと判定して、ステップS46へ進む。また、第1ノード10は、第3ノード30への消去要求コマンドを受信しており、且つ、第3ノード30からベリファイ要求コマンドに対するACKを受信してない場合、第3ノード30での書き換えが完了したとせずに、ステップS45を繰り返す。   Similarly, when the first node 10 has received an erase request command to the third node 30 and has received an ACK for the verify request command from the third node 30, the rewriting at the third node 30 is complete. The process proceeds to step S46. Further, when the first node 10 has received the erase request command to the third node 30 and has not received an ACK for the verify request command from the third node 30, the rewriting at the third node 30 is not performed. Step S45 is repeated without completing.

ステップS46では、第1フラグ11=OK、第2フラグ12=N+1とする。第1ノード10は、他ノード20、30での書き換えが完了したと判定した場合、第2フラグ12のカウント値をカウントアップする。つまり、第1ノード10は、第2ノード20での書き換えが完了したと判定した場合、及び第3ノード30での書き換えが完了したと判定した場合、第2フラグ12のカウント値をカウントアップする。しかしながら、第1ノード10は、自ノード10における書き換えではないため、第1フラグ11を更新しない。   In step S46, the first flag 11 = OK and the second flag 12 = N + 1. When the first node 10 determines that the rewriting in the other nodes 20 and 30 has been completed, the first node 10 counts up the count value of the second flag 12. That is, the first node 10 counts up the count value of the second flag 12 when it is determined that the rewriting at the second node 20 is completed and when it is determined that the rewriting at the third node 30 is completed. . However, the first node 10 does not update the first flag 11 because it is not a rewrite in the own node 10.

次に、図9を用いて、第2ノード20における制御プログラムを書き換える際の処理動作に関して説明する。第2ノード20は、例えば、イグニッションスイッチがオンになると、図9のフローチャートを実行する。図9は、第2ノード20におけるリプロモード時の処理動作を示す。図9に示す処理動作を行う場合、第2ノード20の実行モードは、リプログモードである。詳述すると、第2ノード20は、例えばリプログモード移行後に、消去要求コマンドが送信される。なお、第2ノード20は、この処理動作中に第1フラグ21の設定を行う。また、本実施形態では、図9の処理がスタートした時点で、第1フラグ21に1が設定されていることを前提とする。   Next, the processing operation when rewriting the control program in the second node 20 will be described with reference to FIG. For example, when the ignition switch is turned on, the second node 20 executes the flowchart of FIG. FIG. 9 shows the processing operation in the repro mode in the second node 20. When the processing operation shown in FIG. 9 is performed, the execution mode of the second node 20 is the reprolog mode. More specifically, the second node 20 transmits an erase request command after shifting to the replog mode, for example. The second node 20 sets the first flag 21 during this processing operation. In the present embodiment, it is assumed that 1 is set in the first flag 21 when the processing of FIG. 9 is started.

ステップS50では、電源オン及びリセット解除する。第2ノード20は、自ノード20の電源をオンすると共に、自ノード20のリセットを解除する。   In step S50, the power is turned on and the reset is released. The second node 20 turns on the power of the own node 20 and cancels the reset of the own node 20.

ステップS51では、自ノード20への消去要求コマンドを受信したか否かを判定する。第2ノード20は、消去要求コマンドを受信した場合、消去要求コマンドと共に受信したID情報に基づいて、自ノード20への消去要求コマンドを受信したか否かを判定する。第2ノード20は、自ノード20への消去要求コマンドを受信したと判定した場合、ステップS52へ進み、自ノード20への消去要求コマンドを受信したと判定してない場合、ステップS51を繰り返す。   In step S51, it is determined whether an erasure request command for the node 20 has been received. When receiving the erase request command, the second node 20 determines whether or not the erase request command for the node 20 has been received based on the ID information received together with the erase request command. If the second node 20 determines that it has received the erase request command for its own node 20, the process proceeds to step S52. If the second node 20 does not determine that it has received the erase request command for its own node 20, it repeats step S51.

ステップS52では、第1フラグ21=NGとする。つまり、第2ノード20は、消去要求コマンドを受信して、自ノード20が書き換えを行うとみなした場合、第1フラグ21をリセット、すなわち第1フラグ21に0を設定する。   In step S52, the first flag 21 = NG. That is, when the second node 20 receives the erasure request command and considers that the node 20 performs rewriting, the second node 20 resets the first flag 21, that is, sets the first flag 21 to 0.

なお、第2ノード20は、図10に示すように、消去要求コマンドを受信すると、第1フラグ21をリセットすると共に、制御プログラムを消去し、且つ書換ツール400にACKを送信する。その後、第2ノード20は、図10に示すように、書換ツール400から書き換え要求コマンドを受信するとACKを返信し、書換ツール400から新たな制御プログラムのデータと受信する。このデータは、制御プログラムの書き換え用データである。   As shown in FIG. 10, when receiving the erase request command, the second node 20 resets the first flag 21, erases the control program, and transmits ACK to the rewriting tool 400. Thereafter, as shown in FIG. 10, when the second node 20 receives a rewrite request command from the rewriting tool 400, it returns an ACK and receives new control program data from the rewriting tool 400. This data is data for rewriting the control program.

そして、ステップS53では、自ノード書き換えを行う。第2ノード20は、受信した新たな制御プログラムのデータをROM14の書き換え領域に書き込む(書き換え処理)。   In step S53, the own node is rewritten. The second node 20 writes the received new control program data in the rewrite area of the ROM 14 (rewrite process).

ステップS54では、自ノードの書き換えが完了したか否かを判定する。第2ノード20は、自ノード20の書き換えが完了したと判定した場合はステップS55へ進み、自ノード20の書き換えが完了したと判定しなかった場合はステップS54を繰り返す。つまり、第2ノード20は、新たな制御プログラムの書き込みが完了するまでステップS54の判定を繰り返す。なお、第2ノード20は、図10に示すように、書き換え処理が終了すると書換ツール400にACKを送信すると共に、書換ツール400からベリファイ要求コマンドを受信する。   In step S54, it is determined whether or not rewriting of the own node is completed. The second node 20 proceeds to step S55 when determining that the rewriting of the own node 20 has been completed, and repeats step S54 when not determining that the rewriting of the own node 20 has been completed. That is, the second node 20 repeats the determination in step S54 until the writing of a new control program is completed. As illustrated in FIG. 10, the second node 20 transmits an ACK to the rewriting tool 400 and receives a verify request command from the rewriting tool 400 when the rewriting process is completed.

そして、ステップS55では、第1フラグ21=OKとする。つまり、第2ノード20は、自ノード10の書き換えが完了したことで、第1フラグ21に1を設定する。その後、ステップS56では、自ノード20へのベリファイ要求コマンドに対する応答(ACK)を書換ツール400へ送信する。   In step S55, the first flag 21 = OK. That is, the second node 20 sets 1 to the first flag 21 when the rewriting of the own node 10 is completed. Thereafter, in step S56, a response (ACK) to the verify request command to the node 20 is transmitted to the rewriting tool 400.

ステップS57では、電源オフであるか否かを判定する。第2ノード20は、電源オフであると判定しなかった場合はステップS50へ戻り、電源オフであると判定した場合は図9の処理を終了する。なお、第3ノード30の処理動作は、上記し図10にも示すように、第2ノード20と同様である。   In step S57, it is determined whether the power is off. If the second node 20 does not determine that the power is off, the process returns to step S50. If the second node 20 determines that the power is off, the process of FIG. 9 ends. The processing operation of the third node 30 is the same as that of the second node 20 as described above and shown in FIG.

以上のように、第1ノード10は、全ノード10〜30が、制御プログラムの書き換えが完了しているか否かを判定する。つまり、第1ノード10は、自ノード10だけではなく、他ノード20、30が制御プログラムの書き換えが完了しているか否かを判定する。   As described above, the first node 10 determines whether all the nodes 10 to 30 have completed rewriting of the control program. That is, the first node 10 determines whether not only the own node 10 but also the other nodes 20 and 30 have rewritten the control program.

そして、第1ノード10は、全ノード10〜30が制御プログラムの書き換えを完了していると判定した場合、実行モードを制御モードに決定する。よって、第1ノード10は、全ノード10〜30が新プログラムの場合、又は新プログラムの場合に、自ノード10の実行モードを制御モードに決定する。   When the first node 10 determines that all the nodes 10 to 30 have completed rewriting of the control program, the first node 10 determines the execution mode as the control mode. Therefore, the first node 10 determines the execution mode of the own node 10 as the control mode when all the nodes 10 to 30 are the new program or the new program.

一方、第1ノード10は、全ノード10〜30が制御プログラムの書き換えを完了していると判定していない場合、すなわち、少なくとも一つのノードが制御プログラムの書き換えを完了していない場合、実行モードをリプログモードに決定する。よって、第1ノード10は、複数のノード10〜30において新プログラムのノードと旧プログラムのノードとが混在している場合に、自ノード10の実行モードをリプログモードに決定する。このため、第1ノード10は、新プログラムのノードと旧プログラムのノードが混在した車載制御システム100で、制御系統における制御が実行されることを抑制できる。   On the other hand, if the first node 10 does not determine that all the nodes 10 to 30 have completed rewriting of the control program, that is, if at least one node has not completed rewriting of the control program, Is set to replog mode. Therefore, the first node 10 determines the execution mode of its own node 10 as the reprogress mode when the nodes of the new program and the node of the old program are mixed in the plurality of nodes 10 to 30. For this reason, the first node 10 can suppress the control in the control system from being executed by the in-vehicle control system 100 in which the nodes of the new program and the old program are mixed.

また、第1ノード10は、車載制御システム100における全ノード10〜30で書き換えが完了しているか否かを判定できるため、車載制御システム100の単位で全ノード10〜30の書き換え完了を担保できるとも言える。さらに、車載制御システム100は、第1ノード10を含んでいるため、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できると言える。   Moreover, since the 1st node 10 can determine whether rewriting is completed in all the nodes 10-30 in the vehicle-mounted control system 100, it can ensure completion of rewriting of all the nodes 10-30 in the unit of the vehicle-mounted control system 100. It can also be said. Furthermore, since the in-vehicle control system 100 includes the first node 10, it can be said that control in the control system can be suppressed in a state where the nodes of the new program and the node of the old program are mixed.

なお、車載制御システム100は、第1ノード10を含む四つ以上のノードを備えたものであってもよいし、第1ノード10を含む二つのノードを備えたものであってもよい。つまり、車載制御システム100は、第1ノード10を含む複数のノードを備えたものであればよい。   The in-vehicle control system 100 may include four or more nodes including the first node 10 or may include two nodes including the first node 10. That is, the in-vehicle control system 100 only needs to include a plurality of nodes including the first node 10.

以上、本発明の好ましい実施形態について説明した。しかしながら、本発明は、上記実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本発明のその他の形態として、第2実施形態〜第7実施形態に関して説明する。上記実施形態及び下記実施形態の夫々は、単独で実施することも可能であるが、適宜組み合わせて実施することも可能である。本発明は、実施形態において示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。   The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the above embodiment, and various modifications can be made without departing from the spirit of the present invention. Below, 2nd Embodiment-7th Embodiment are described as another form of this invention. Each of the above-described embodiments and the following embodiments can be implemented independently, but can also be implemented in combination as appropriate. The present invention is not limited to the combinations shown in the embodiments, and can be implemented by various combinations.

(第2実施形態)
図12を用いて、第2実施形態の第1ノード10に関して説明する。ここでは、主に、第2実施形態における第1実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いる。
(Second Embodiment)
The first node 10 according to the second embodiment will be described with reference to FIG. Here, the points of the second embodiment different from the first embodiment will be mainly described. In the present embodiment, the same reference numerals as those in the above embodiment are used for convenience.

第2実施形態の第1ノード10は、第1フラグ11の値と、第2フラグ12のカウント値の両方を確認して、全ノード10〜30で書き換えが完了しているか否かを判定する点が上記実施形態と異なる。   The first node 10 of the second embodiment confirms both the value of the first flag 11 and the count value of the second flag 12, and determines whether or not rewriting has been completed in all the nodes 10 to 30. The point is different from the above embodiment.

第2実施形態の第1ノード10は、例えば、イグニッションスイッチがオンになると、図12のフローチャートを実行する。   For example, when the ignition switch is turned on, the first node 10 of the second embodiment executes the flowchart of FIG.

ステップS11では、第1フラグ11=OKであるか否かを判定する(判定部、個別判定部)。第1ノード10は、第1フラグ11の記憶内容を確認して、第1フラグ11=OKであるか否か、すなわち、自ノード10における書き換えが完了しているか否かを判定する。第1ノード10は、第1フラグ11が1の場合に第1フラグ11=OK、すなわち、書き換えが完了しているとみなしてステップS12aへ進む。また、第1ノード10は、第1フラグ11が0の場合に第1フラグ11=OKではない、すなわち、書き換えが完了していないとみなしてステップS14へ進む。   In step S11, it is determined whether or not the first flag 11 = OK (determination unit, individual determination unit). The first node 10 checks the stored contents of the first flag 11 and determines whether or not the first flag 11 is OK, that is, whether or not the rewriting in the own node 10 is completed. When the first flag 11 is 1, the first node 10 regards the first flag 11 = OK, that is, the rewriting is completed, and proceeds to step S12a. Further, when the first flag 11 is 0, the first node 10 considers that the first flag 11 is not OK, that is, rewriting has not been completed, and proceeds to step S14.

ステップS12aでは、第2フラグ12=他書き換え対象ノード数であるか否かを判定する。第1ノード10は、第2フラグ12の記憶内容を確認して、第2フラグ12=他書き換え対象ノード数であるか否かを判定する。ここで、他書き換え対象ノードとは、車載制御システムに含まれている複数のノードのうち第1ノード10を除く、第2ノード20、第3ノード30である。よって、全書き換え対象ノード数は2である。   In step S12a, it is determined whether or not the second flag 12 = the number of other rewriting target nodes. The first node 10 checks the stored contents of the second flag 12 and determines whether or not the second flag 12 = the number of other rewriting target nodes. Here, the other rewriting target nodes are the second node 20 and the third node 30 excluding the first node 10 among a plurality of nodes included in the in-vehicle control system. Therefore, the total number of rewrite target nodes is two.

第1ノード10は、第2フラグ12のカウント値が2である場合に、第2フラグ=他書き換え対象ノード数であり、他書き換え対象ノード20、30において書き換えが完了しているとみなしてステップS13へ進む。このように、第1ノード10は、第2フラグ12のカウント値が他のノード20、30の数と一致し、且つ、第1フラグ11の値が1の場合に、全ノード10〜30が書き換えを完了していると判定する(判定部、統括判定部)。   When the count value of the second flag 12 is 2, the first node 10 assumes that the second flag = the number of other rewriting target nodes and that the rewriting has been completed in the other rewriting target nodes 20, 30. Proceed to S13. As described above, when the count value of the second flag 12 matches the number of the other nodes 20 and 30 and the value of the first flag 11 is 1, the first node 10 It is determined that rewriting has been completed (determination unit, overall determination unit).

一方、第1ノード10は、第2フラグ12のカウント値が2でない場合に、第2フラグ=他書き換え対象ノード数ではない、すなわち、他書き換え対象ノード20、30のうち少なくとも一つで書き換えが完了していないとみなしてステップS14へ進む。   On the other hand, when the count value of the second flag 12 is not 2, the first node 10 is not the second flag = the number of other rewriting target nodes, that is, the rewriting is performed on at least one of the other rewriting target nodes 20 and 30. The process proceeds to step S14 assuming that it has not been completed.

このように、第2実施形態の第1ノード10は、上記実施形態と同様の効果を奏することができる。また、第2実施形態の第1ノード10は、第1フラグ11の値で自ノード10の書き換えが完了しているか否か判定できる。このため、第1ノード10は、他ノード20、30の書き換えが完了したことさえカウントしておけば、自ノード10の書き換えが完了したことをカウントする必要がない。そして、第1ノード10は、第1フラグ11と第2フラグ12を確認することで、全ノード10〜30で書き換えが完了しているか否かを判定できる。   Thus, the 1st node 10 of 2nd Embodiment can have the same effect as the above-mentioned embodiment. Further, the first node 10 of the second embodiment can determine whether or not the rewriting of the own node 10 has been completed based on the value of the first flag 11. Therefore, the first node 10 does not need to count the completion of rewriting of the own node 10 as long as the rewriting of the other nodes 20 and 30 is completed. Then, the first node 10 can determine whether or not the rewriting has been completed in all the nodes 10 to 30 by checking the first flag 11 and the second flag 12.

(第3実施形態)
図13を用いて、第3実施形態の第1ノード10に関して説明する。ここでは、主に、第3実施形態における第1、2実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いる。
(Third embodiment)
The first node 10 according to the third embodiment will be described with reference to FIG. Here, the points of the third embodiment that are different from the first and second embodiments will be mainly described. In the present embodiment, the same reference numerals as those in the above embodiment are used for convenience.

第3実施形態の第1ノード10は、第1フラグ11の値と、第2フラグ12の情報の両方を確認して、全ノード10〜30で書き換えが完了しているか否かを判定する点が上記実施形態と異なる。また、第3実施形態の第1ノード10は、他ノード20、30の夫々に対応して、書き換えが完了しているか否かの情報を記憶している。以下においては、第2ノード20に対応した情報を第2ノード情報、第3ノード30に対応した情報を第3ノード情報と称する。   The first node 10 of the third embodiment confirms both the value of the first flag 11 and the information of the second flag 12, and determines whether or not rewriting has been completed in all the nodes 10 to 30. Is different from the above embodiment. Further, the first node 10 of the third embodiment stores information indicating whether or not the rewriting has been completed corresponding to each of the other nodes 20 and 30. Hereinafter, information corresponding to the second node 20 is referred to as second node information, and information corresponding to the third node 30 is referred to as third node information.

そして、第3実施形態の第1ノード10は、第2ノード20での書き換えが完了したと判定した場合、第2ノード情報を書き換え完了に更新する。同様に、第3実施形態の第1ノード10は、第3ノード30での書き換えが完了したと判定した場合、第3ノード情報を書き換え完了に更新する。   When the first node 10 of the third embodiment determines that the rewriting at the second node 20 has been completed, the first node 10 updates the second node information to the completion of rewriting. Similarly, if the first node 10 of the third embodiment determines that the rewriting at the third node 30 has been completed, the first node 10 updates the third node information to the completion of rewriting.

そして、第3実施形態の第1ノード10は、例えば、イグニッションスイッチがオンになると、図13のフローチャートを実行する。   And the 1st node 10 of 3rd Embodiment performs the flowchart of FIG. 13, for example, when an ignition switch turns on.

ステップS12bでは、第2ノード情報と第3ノード情報とを確認して、他書き換え対象ノードの書き換えが完了しているか否かを判定する。なお、他書き換え対象ノードは、第2実施形態と同様、第2ノード20、第3ノード30である。   In step S12b, the second node information and the third node information are confirmed, and it is determined whether or not rewriting of the other rewriting target node is completed. The other rewriting target nodes are the second node 20 and the third node 30 as in the second embodiment.

第1ノード10は、第2ノード情報と第3ノード情報の両方が書き換え完了を示している場合に、他書き換え対象ノード20、30において書き換えが完了しているとみなしてステップS13へ進む。このように、第1ノード10は、第2ノード情報と第3ノード情報の両方が書き換え完了を示しており、且つ、第1フラグ11の値が1の場合に、全ノード10〜30が書き換えを完了していると判定する(判定部、統括判定部)。   When both the second node information and the third node information indicate completion of rewriting, the first node 10 regards that rewriting has been completed in the other rewriting target nodes 20 and 30, and proceeds to step S13. Thus, in the first node 10, when both the second node information and the third node information indicate that the rewriting is completed and the value of the first flag 11 is 1, all the nodes 10 to 30 are rewritten. Is determined to have been completed (determination unit, overall determination unit).

一方、第1ノード10は、第2ノード情報と第3ノード情報の少なくとも一つが書き換え完了を示していない場合に、他書き換え対象ノード20、30のうち少なくとも一つで書き換えが完了していないとみなしてステップS14へ進む。この第3実施形態の第1ノード10は、上記実施形態と同様の効果を奏することができる。また、各ノード10〜30に対応した第1ノード情報〜第3ノード情報を持つことで、ノード10〜30夫々の書き換え状況を個別に管理することができる。   On the other hand, if at least one of the second node information and the third node information does not indicate the completion of rewriting, the first node 10 determines that rewriting has not been completed in at least one of the other rewriting target nodes 20 and 30. Accordingly, the process proceeds to step S14. The first node 10 of the third embodiment can achieve the same effects as the above embodiment. Also, by having the first node information to the third node information corresponding to each of the nodes 10 to 30, the rewrite status of each of the nodes 10 to 30 can be managed individually.

(第4実施形態)
図14、図15を用いて、第4実施形態の第1ノード10に関して説明する。ここでは、主に、第4実施形態における第1〜3実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いることもある。
(Fourth embodiment)
The first node 10 according to the fourth embodiment will be described with reference to FIGS. 14 and 15. Here, the points different from the first to third embodiments in the fourth embodiment will be mainly described. In the present embodiment, for convenience, the same reference numerals as in the above embodiment may be used.

第4実施形態の第1ノード10は、自ノード10が接続されている第1通信バス210とは異なる第2通信バス220に接続されている第3ノード30と共に、車載制御システム110に含まれている点が上記実施形態と異なる。   The first node 10 of the fourth embodiment is included in the in-vehicle control system 110 together with the third node 30 connected to the second communication bus 220 different from the first communication bus 210 to which the own node 10 is connected. This is different from the above embodiment.

車載制御システム110に含まれている複数のノード10〜30は、異なる通信バス210、220に接続されたノードを含んでいる。つまり、第1ノード10と第2ノード20は、第1通信バス210に接続されている。一方、第3ノード30は、第2通信バス220に接続されている。なお、第3ノード30は、第1ノード10や第2ノード20とは異なるドメインの第2通信バス220に接続していると言える。   The plurality of nodes 10 to 30 included in the in-vehicle control system 110 include nodes connected to different communication buses 210 and 220. That is, the first node 10 and the second node 20 are connected to the first communication bus 210. On the other hand, the third node 30 is connected to the second communication bus 220. It can be said that the third node 30 is connected to the second communication bus 220 in a different domain from the first node 10 and the second node 20.

この第1通信バス210と第2通信バス220は、中継ノード300に接続されている。そして、第1ノード10と第3ノード30や、第2ノード20と第3ノード30は、中継ノード300を介して通信可能に構成されている。このように、車載制御システム110は、異なる通信バス210、220に接続されたノードどうしが、中継ノード300を介して通信可能に構成されている。   The first communication bus 210 and the second communication bus 220 are connected to the relay node 300. The first node 10 and the third node 30 and the second node 20 and the third node 30 are configured to be able to communicate via the relay node 300. Thus, the in-vehicle control system 110 is configured such that nodes connected to different communication buses 210 and 220 can communicate with each other via the relay node 300.

なお、中継ノード300は、中継ID情報310を記憶している。中継ID情報は、各ノード10〜20を示すID情報である。中継ノード300を介した通信では、例えば、図15に示すような中継フレーム情報が用いられる。   The relay node 300 stores relay ID information 310. The relay ID information is ID information indicating the nodes 10 to 20. In communication via the relay node 300, for example, relay frame information as shown in FIG. 15 is used.

従って、第1ノード10は、第1通信バス210を介して第2ノード20からの完了情報を取得可能であるだけでなく、中継ノード300を介して第3ノード30からの完了情報を取得可能に構成されている。つまり、第1ノード10は、中継ID情報に従い中継ノード300から送信された、他ノードへの各要求コマンドとACKを受信し、第2フラグ12の設定を実施する。なお、第1ノード10は、第1実施形態や第2実施形態や第3実施形態で説明したいずれかの方法で、全ノード10〜30の書き換え完了を判定する。また、要求コマンドは、消去要求コマンド、書き換え要求コマンド、ベリファイ要求コマンドなどである。   Therefore, the first node 10 can acquire not only the completion information from the second node 20 via the first communication bus 210 but also the completion information from the third node 30 via the relay node 300. It is configured. That is, the first node 10 receives each request command and ACK to the other node transmitted from the relay node 300 according to the relay ID information, and sets the second flag 12. The first node 10 determines completion of rewriting of all the nodes 10 to 30 by any of the methods described in the first embodiment, the second embodiment, or the third embodiment. The request command is an erase request command, a rewrite request command, a verify request command, or the like.

この第4実施形態の第1ノード10は、上記実施形態と同様の効果を奏することができる。つまり、第4実施形態の第1ノード10は、車載制御システム110に含まれている第3ノード30が、自ノード10とは異なる第2通信バス220に接続されていても、上記実施形態と同様の効果を奏することができる。   The first node 10 of the fourth embodiment can achieve the same effects as the above embodiment. That is, the first node 10 of the fourth embodiment is the same as that of the above embodiment even if the third node 30 included in the in-vehicle control system 110 is connected to the second communication bus 220 different from the own node 10. Similar effects can be achieved.

(第5実施形態)
図16、図17を用いて、第5実施形態の第1ノード10aに関して説明する。ここでは、主に、第5実施形態における第1〜4実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いることもある。
(Fifth embodiment)
The first node 10a of the fifth embodiment will be described with reference to FIGS. Here, a description will be given mainly of the parts of the fifth embodiment different from the first to fourth embodiments. In the present embodiment, for convenience, the same reference numerals as in the above embodiment may be used.

第1ノード10aは、車載制御システム120に含まれていない点が第1ノード10と異なる。また、第1ノード10aは、車載制御システム120に含まれている複数のノード20〜40の実行モードを決定する点が第1ノード10と異なる。   The first node 10a is different from the first node 10 in that it is not included in the in-vehicle control system 120. The first node 10 a is different from the first node 10 in that the execution mode of the plurality of nodes 20 to 40 included in the in-vehicle control system 120 is determined.

車載制御システム120は、通信バス200に接続された第2ノード20〜第4ノード40を備えて構成されている。第4ノード40は、第2ノード20や第3ノード30と同様であり、自ノード40に第1フラグ41を備えて構成されている。   The in-vehicle control system 120 includes a second node 20 to a fourth node 40 connected to the communication bus 200. The fourth node 40 is the same as the second node 20 and the third node 30, and is configured to include a first flag 41 in its own node 40.

第1ノード10aは、通信バス200に接続されているものの、車載制御システム120に含まれていない。第1ノード10aは、第1ノード10と同様に、他ノード20〜40から送信された完了情報を取得可能に構成されている。そして、第1ノード10aは、他ノード20〜40での書き換えが完了したか否かを判定するために、完了情報を取得するたびに第2フラグ12のカウント値をカウントアップすると共に、車載制御システム120に含まれているノードの数を記憶している。本実施形態におけるノードの数は3である。なお、第1ノード10aは、第1ノード10と異なり、第1フラグ11を備えていなくてもよい。   Although the first node 10 a is connected to the communication bus 200, it is not included in the in-vehicle control system 120. Similar to the first node 10, the first node 10a is configured to be able to acquire completion information transmitted from the other nodes 20-40. Then, the first node 10a counts up the count value of the second flag 12 every time the completion information is acquired in order to determine whether or not the rewriting in the other nodes 20 to 40 has been completed, and performs in-vehicle control. The number of nodes included in the system 120 is stored. The number of nodes in this embodiment is three. Unlike the first node 10, the first node 10 a does not have to include the first flag 11.

第1ノード10aは、例えば、イグニッションスイッチがオンになると、図17のフローチャートを実行する。   For example, when the ignition switch is turned on, the first node 10a executes the flowchart of FIG.

ステップS12cでは、全書き換え対象ノードにおける書き換えが完了しているか否かを判定する(判定部)。ここでの書き換え対象ノードは、車載制御システム120に含まれている第2ノード20〜第4ノード40の3つである。第1ノード10aは、第2フラグ12のカウント値を確認して、全書き換え対象ノードにおける書き換えが完了しているか否かを判定する。このように、第1ノード10aは、車載制御システム120に含まれている複数のノード20〜40の夫々から取得した完了情報に基づいて、複数のノード20〜40の全てが書き換えを完了しているか否かを判定する。   In step S12c, it is determined whether or not rewriting has been completed in all rewriting target nodes (determination unit). Here, there are three nodes to be rewritten: the second node 20 to the fourth node 40 included in the in-vehicle control system 120. The first node 10a checks the count value of the second flag 12, and determines whether or not rewriting has been completed in all rewriting target nodes. As described above, the first node 10a has completed rewriting of all of the plurality of nodes 20 to 40 based on the completion information acquired from each of the plurality of nodes 20 to 40 included in the in-vehicle control system 120. It is determined whether or not.

第1ノード10は、第2フラグ12のカウント値が3であると判定した場合に、全書き換え対象ノード20〜40において書き換えが完了しているとみなしてステップS13aへ進む。一方、第1ノード10は、第2フラグ12のカウント値が3であると判定してない場合に、全書き換え対象ノード20〜40のうち少なくとも一つで書き換えが完了していないとみなしてステップS14aへ進む。   If the first node 10 determines that the count value of the second flag 12 is 3, the first node 10 regards that all the rewriting target nodes 20 to 40 have been rewritten, and proceeds to step S13a. On the other hand, if the first node 10 does not determine that the count value of the second flag 12 is 3, the first node 10 assumes that rewriting has not been completed in at least one of all the rewriting target nodes 20 to 40. Proceed to S14a.

なお、第1ノード10は、第3実施形態のように、他ノード20〜40の夫々に対応した書き換えが完了しているか否かの情報を記憶し、その情報を確認して、書き換え対象ノードの書き換えが完了しているか否かを判定してもよい。   Note that, as in the third embodiment, the first node 10 stores information on whether or not rewriting corresponding to each of the other nodes 20 to 40 has been completed, confirms the information, and rewrites the target node. It may be determined whether or not the rewriting has been completed.

ステップS13aでは、制御プログラム実行モードに決定する。このとき、第1ノード10aは、車載制御システム120に含まれている複数のノード20〜40の実行モードを制御モードに決定する。つまり、第1ノード10aは、自ノード10aが含まれていない車載制御システム120における複数のノード20〜40の実行モードを制御モードに決定する。よって、第1ノード10aは、複数のノード20〜40の少なくとも一つに対して、実行モードを制御モードにするように指示する。このように、第1ノード10aは、車載制御システム120に含まれている複数のノード20〜40の全てで書き換えが完了していると判定した場合、複数のノード20〜40の実行モードを制御モードに決定すると言える。   In step S13a, the control program execution mode is determined. At this time, the first node 10a determines the execution mode of the plurality of nodes 20 to 40 included in the in-vehicle control system 120 as the control mode. That is, the first node 10a determines the execution mode of the plurality of nodes 20 to 40 in the in-vehicle control system 120 that does not include the own node 10a as the control mode. Therefore, the first node 10a instructs at least one of the plurality of nodes 20 to 40 to set the execution mode to the control mode. As described above, when the first node 10a determines that rewriting has been completed in all of the plurality of nodes 20 to 40 included in the in-vehicle control system 120, the first node 10a controls the execution mode of the plurality of nodes 20 to 40. It can be said that the mode is decided.

ステップS14aでは、リプロプログラム実行モードに決定する。このとき、第1ノード10aは、車載制御システム120に含まれている複数のノード20〜40の実行モードをリプログモードに決定する。つまり、第1ノード10aは、自ノード10aが含まれていない車載制御システム120における複数のノード20〜40の実行モードをリプログモードに決定する。よって、第1ノード10aは、複数のノード20〜40の少なくとも一つに対して、実行モードをリプログモードにするように指示する。このように、第1ノード10aは、車載制御システム120に含まれている複数のノード20〜40の少なくとも一つで書き換えが完了していないと判定した場合、複数のノード20〜40の実行モードをリプログモードに決定すると言える。   In step S14a, the repro program execution mode is determined. At this time, the first node 10a determines the execution mode of the plurality of nodes 20 to 40 included in the in-vehicle control system 120 as the reprogress mode. That is, the first node 10a determines the execution mode of the plurality of nodes 20 to 40 in the in-vehicle control system 120 that does not include the own node 10a as the re-progress mode. Therefore, the first node 10a instructs at least one of the plurality of nodes 20 to 40 to set the execution mode to the reprogress mode. Thus, when the first node 10a determines that rewriting has not been completed in at least one of the plurality of nodes 20 to 40 included in the in-vehicle control system 120, the execution mode of the plurality of nodes 20 to 40 is determined. It can be said that is determined to the re-prog mode.

このように、第1ノード10aは、車載制御システム120に属していなくても第1ノード10と同様の効果を奏することができる。また、第1ノード10a及び車載制御システム120を含んでいる車載ネットワークは、車載制御システム120に属していない第1ノード10aが車載制御システム120の実行モードを決定できるため、設計自由度を向上できる。   Thus, even if the first node 10a does not belong to the in-vehicle control system 120, the same effect as the first node 10 can be obtained. In addition, the in-vehicle network including the first node 10a and the in-vehicle control system 120 can improve the design flexibility because the first node 10a not belonging to the in-vehicle control system 120 can determine the execution mode of the in-vehicle control system 120. .

(第6実施形態)
第6実施形態の車載ネットワークに関して説明する。ここでは、主に、第6実施形態における第1〜5実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いることもある。
(Sixth embodiment)
A vehicle-mounted network according to the sixth embodiment will be described. Here, the points different from the first to fifth embodiments in the sixth embodiment will be mainly described. In the present embodiment, for convenience, the same reference numerals as in the above embodiment may be used.

第6実施形態の車載ネットワークは、第1実施形態と同様に、複数のノード10〜30を含む車載制御システム100を備えて構成されている。しかしながら、第6実施形態の車載ネットワークは、主に、第2ノード20と第3ノード30が第1ノード10と同様に書き換え完了を判定する点、及び、全ノード10〜30が書換ツール400に書き換え完了の通知を行う点が第1実施形態と異なる。   Similar to the first embodiment, the in-vehicle network according to the sixth embodiment includes an in-vehicle control system 100 including a plurality of nodes 10 to 30. However, in the in-vehicle network of the sixth embodiment, mainly, the second node 20 and the third node 30 determine completion of rewriting in the same manner as the first node 10, and all the nodes 10 to 30 are in the rewriting tool 400. The difference from the first embodiment is that notification of rewriting completion is performed.

複数のノード10〜30の夫々は、全ノード10〜30で書き換えが完了しているか否かを判定する(判定部)。つまり、第2ノード20と第3ノード30は、第1ノード10と同様に、全ノード10〜30で書き換えが完了しているか否かを判定する。   Each of the plurality of nodes 10 to 30 determines whether or not rewriting is completed in all the nodes 10 to 30 (determination unit). That is, like the first node 10, the second node 20 and the third node 30 determine whether or not rewriting has been completed in all the nodes 10 to 30.

そして、複数のノード10〜30の夫々は、全ノード10〜30が書き換えを完了していると判定した場合に実行モードを制御モードに決定する(決定部)。つまり、第2ノード20と第3ノード30は、第1ノード10と同様に、全ノード10〜30が書き換えを完了していると判定した場合、自ノードの実行モードを制御モードに決定する。   Each of the plurality of nodes 10 to 30 determines the execution mode as the control mode when it is determined that all the nodes 10 to 30 have been rewritten (decision unit). That is, like the first node 10, the second node 20 and the third node 30 determine the execution mode of their own node as the control mode when it is determined that all the nodes 10 to 30 have been rewritten.

また、複数のノード10〜30の夫々は、全ノード10〜30が書き換えを完了していると判定していない場合、すなわち、少なくとも一つのノードが書き換えを完了していないと判定した場合、実行モードをリプログモードに決定する(決定部)。つまり、第2ノード20と第3ノード30は、第1ノード10と同様に、少なくとも一つのノードが書き換えを完了していないと判定した場合、自ノードの実行モードをリプログモードに決定する。   Further, each of the plurality of nodes 10 to 30 is executed when it is determined that all the nodes 10 to 30 have not been rewritten, that is, when at least one node has not been rewritten. The mode is determined as the re-progress mode (decision unit). That is, like the first node 10, the second node 20 and the third node 30 determine that their own execution mode is the reprogress mode when it is determined that at least one node has not been rewritten.

さらに、複数のノード10〜30の夫々は、実行モードを制御モードに決定した場合、全てのノード10〜30で書き換えが完了していることを、書換ツール400に対して通知する(完了通知部)。つまり、第2ノード20と第3ノード30は、第1ノード10と同様に、自ノードで書き換えが完了している場合、及び、他のノードの夫々からベリファイ要求コマンドに対するACKを取得するたびに、書き換えが完了していることを書換ツール400に通知する。これによって、書換ツール400は、全ノード10〜30からの第2フラグ設定完了通知が受信できたかを確認することで、逐次、正規のノードが接続されているか否かを確認することが可能である。   Furthermore, when the execution mode is determined as the control mode, each of the plurality of nodes 10 to 30 notifies the rewriting tool 400 that the rewriting has been completed in all the nodes 10 to 30 (completion notification unit). ). That is, the second node 20 and the third node 30, like the first node 10, each time when rewriting is completed at the own node and every time an ACK for the verify request command is acquired from each of the other nodes. The rewriting tool 400 is notified that the rewriting has been completed. As a result, the rewriting tool 400 can confirm whether or not the regular node is connected sequentially by confirming whether the second flag setting completion notification has been received from all the nodes 10 to 30. is there.

なお、各ノード10〜30は、第1実施形態や第2実施形態や第3実施形態で説明したいずれかの方法で、全ノード10〜30の書き換え完了を判定してもよい。また、車載ネットワークは、第4実施形態と同様に、中継ノード300や複数のノード10〜30を含む車載制御システム110を備えて構成されていてもよい。   Each of the nodes 10 to 30 may determine completion of rewriting of all the nodes 10 to 30 by any of the methods described in the first embodiment, the second embodiment, or the third embodiment. Moreover, the vehicle-mounted network may be comprised including the vehicle-mounted control system 110 containing the relay node 300 and the some nodes 10-30 similarly to 4th Embodiment.

各ノード10〜30は、上記第1ノード10と同様の効果を奏することができる。よって、第6実施形態の車載ネットワークは、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できる。   Each of the nodes 10 to 30 can achieve the same effect as the first node 10. Therefore, the in-vehicle network according to the sixth embodiment can suppress the control in the control system from being executed in a state where the nodes of the new program and the nodes of the old program are mixed.

(第7実施形態)
図18を用いて、第7実施形態の車載ネットワークに関して説明する。ここでは、主に、第7実施形態における第1〜6実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いることもある。
(Seventh embodiment)
A vehicle-mounted network according to the seventh embodiment will be described with reference to FIG. Here, a description will be given mainly of the differences of the seventh embodiment from the first to sixth embodiments. In the present embodiment, for convenience, the same reference numerals as in the above embodiment may be used.

本実施形態では、複数の車載制御システム100、130を含む車載ネットワークを採用する。よって、第7実施形態の車載ネットワークは、第1車載制御システム100と第2車載制御システム130とを備えている点が上記実施形態と異なる。本実施形態では、複数の車載制御システムを区別するために、第1車載制御システム100と第2車載制御システム130と称する。なお、第1車載制御システム100は、上記実施形態の車載制御システム100と同様である。また、第1通信バス210は、上記実施形態の通信バス200と同様である。本発明は、これに限定されず、三つ以上の車載制御システムを含む車載ネットワークであっても採用できる。   In the present embodiment, an in-vehicle network including a plurality of in-vehicle control systems 100 and 130 is employed. Therefore, the vehicle-mounted network of 7th Embodiment differs from the said embodiment by the point provided with the 1st vehicle-mounted control system 100 and the 2nd vehicle-mounted control system 130. FIG. In this embodiment, in order to distinguish a some vehicle-mounted control system, it calls the 1st vehicle-mounted control system 100 and the 2nd vehicle-mounted control system 130. FIG. In addition, the 1st vehicle-mounted control system 100 is the same as the vehicle-mounted control system 100 of the said embodiment. The first communication bus 210 is the same as the communication bus 200 of the above embodiment. This invention is not limited to this, Even if it is a vehicle-mounted network containing three or more vehicle-mounted control systems, it is employable.

第2車載制御システム130は、第2通信バス220に接続された第5ノード50、第6ノード60、第7ノード70を備えて構成されている。よって、第5ノード50、第6ノード60、第7ノード70は、同じ車載制御システム130に含まれたノードと言える。各ノード50〜70は、第1ノード10〜第3ノード30と同様に、実行モードとして制御モードとリプログモードを有している。第2車載制御システム130は、各ノード50〜70が制御モード時に連携して制御を行う。   The second in-vehicle control system 130 includes a fifth node 50, a sixth node 60, and a seventh node 70 connected to the second communication bus 220. Therefore, the fifth node 50, the sixth node 60, and the seventh node 70 can be said to be nodes included in the same in-vehicle control system 130. As with the first node 10 to the third node 30, each of the nodes 50 to 70 has a control mode and a reprogress mode as execution modes. In the second in-vehicle control system 130, the nodes 50 to 70 perform control in cooperation with each other in the control mode.

第5ノード50は、第1ノード10と同様に、第1フラグ51と第2フラグ52とを備えて構成されている。また、第5ノード50は、第2車載制御システム130におけるマスタノードと言える。   Similar to the first node 10, the fifth node 50 includes a first flag 51 and a second flag 52. The fifth node 50 can be said to be a master node in the second in-vehicle control system 130.

第5ノード50は、第2車載制御システム130における全ノード50〜70で書き換えが完了しているか否かを判定する(判定部)。そして、第5ノード50は、第2車載制御システム130における全ノード50〜70が書き換えを完了していると判定した場合に実行モードを制御モードに決定する(決定部)。また、第5ノード50は、第2車載制御システム130における全ノード50〜70が書き換えを完了していると判定していない場合、すなわち、少なくとも一つのノードが書き換えを完了していないと判定した場合、実行モードをリプログモードに決定する(決定部)。   The fifth node 50 determines whether or not the rewriting has been completed in all the nodes 50 to 70 in the second in-vehicle control system 130 (determination unit). And when it determines with all the nodes 50-70 in the 2nd vehicle-mounted control system 130 having completed rewriting, the 5th node 50 determines an execution mode to a control mode (decision part). The fifth node 50 determines that all the nodes 50 to 70 in the second in-vehicle control system 130 have not been rewritten, that is, at least one node has not been rewritten. In this case, the execution mode is determined to the reprogress mode (decision unit).

第6ノード60は、第2ノード20と同様に、第1フラグ61を備えて構成されている。また、第7ノード70は、第3ノード30と同様に、第1フラグ71を備えて構成されている。この第6ノード60と第7ノード70は、第2車載制御システム130におけるスレーブノードと言える。   Similar to the second node 20, the sixth node 60 includes a first flag 61. Further, like the third node 30, the seventh node 70 includes a first flag 71. The sixth node 60 and the seventh node 70 can be said to be slave nodes in the second in-vehicle control system 130.

第1通信バス210と第2通信バス220は、第4実施形態と同様に、中継ノード300に接続されている。よって、第1車載制御システム100と第2車載制御システム130は、中継ノード300を介して、通信可能に構成されている。   The first communication bus 210 and the second communication bus 220 are connected to the relay node 300 as in the fourth embodiment. Therefore, the first in-vehicle control system 100 and the second in-vehicle control system 130 are configured to be communicable via the relay node 300.

第1ノード10は、上記実施形態と同様の効果を奏することができる。また、第5ノード50は、第1ノード10と同様の効果を奏することができる。さらに、第7実施形態の車載ネットワークは、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できる。同様に、第7実施形態の車載ネットワークは、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できる。   The first node 10 can achieve the same effects as in the above embodiment. Further, the fifth node 50 can achieve the same effect as the first node 10. Furthermore, the vehicle-mounted network of the seventh embodiment can suppress the control in the control system from being executed in a state where the nodes of the new program and the nodes of the old program are mixed. Similarly, the in-vehicle network of the seventh embodiment can suppress the control in the control system from being executed in a state where the nodes of the new program and the nodes of the old program are mixed.

100〜130…車載制御システム、200…通信バス、210…第1通信バス、220…第2通信バス、300…中継ノード、310…中継ID情報、400…書換ツール、10〜70、10a…第1ノード〜第7ノード、11…第1フラグ、12…第2フラグ、21…第1フラグ、31…第1フラグ、13…CPU、14…ROM、15…RAM、16…データ送受信部   DESCRIPTION OF SYMBOLS 100-130 ... Vehicle-mounted control system, 200 ... Communication bus, 210 ... 1st communication bus, 220 ... 2nd communication bus, 300 ... Relay node, 310 ... Relay ID information, 400 ... Rewriting tool, 10-70, 10a ... 1st 1st node to 7th node, 11 ... 1st flag, 12 ... 2nd flag, 21 ... 1st flag, 31 ... 1st flag, 13 ... CPU, 14 ... ROM, 15 ... RAM, 16 ... Data transceiver

Claims (10)

制御プログラムを実行して制御を行う制御モードと、前記制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して前記制御プログラムの書き換えを行うリプログモードとの実行モードを有した複数のノード(10〜40、10a)を含み、各ノードが前記制御モード時に連携して制御を行う車載制御システム(100、110、120、130)における、前記ノードの前記実行モードを決定する車載制御装置であって、
複数の前記ノードの全てが、前記制御プログラムの書き換えが完了しているか否かを判定する判定部(S11、S12、S12a〜S12c)と、
全ての前記ノードが前記制御プログラムの書き換えを完了していると前記判定部が判定した場合、前記実行モードを前記制御モードに決定し、全ての前記ノードが前記制御プログラムの書き換えを完了していると前記判定部が判定していない場合、前記実行モードを前記リプログモードに決定する決定部(S13、S14、S13a、S14a)と、を備えた車載制御装置。
A plurality of nodes having an execution mode of a control mode for executing control by executing a control program and a reprogram mode for executing reprogram without rewriting based on the control program and rewriting the control program ( 10 to 40, 10a), and an in-vehicle control device that determines the execution mode of the node in an in-vehicle control system (100, 110, 120, 130) in which each node performs control in cooperation with the control mode. And
A determination unit (S11, S12, S12a to S12c) that determines whether all of the plurality of nodes have completed rewriting of the control program;
When the determination unit determines that all the nodes have completed rewriting of the control program, the execution mode is determined to be the control mode, and all the nodes have completed rewriting of the control program. And a determination unit (S13, S14, S13a, S14a) that determines the execution mode as the re-progress mode when the determination unit does not determine.
前記車載制御システムに含まれている複数の前記ノードの一つである前記車載制御装置であって、
前記判定部(S11、S12、S12a、S12b)は、自ノードで前記制御プログラムの書き換えが完了していること、及び他の前記ノードの夫々から取得した前記制御プログラムの書き換えが完了していることを示す完了情報とに基づいて、複数の前記ノードの全てが、前記制御プログラムの書き換えが完了しているか否かを判定する請求項1に記載の車載制御装置。
The vehicle-mounted control device that is one of the plurality of nodes included in the vehicle-mounted control system,
The determination unit (S11, S12, S12a, S12b) has completed rewriting of the control program in its own node and has rewritten the control program acquired from each of the other nodes. The in-vehicle control device according to claim 1, wherein all of the plurality of nodes determine whether or not rewriting of the control program has been completed based on completion information indicating
前記判定部(S12)は、自ノードで前記制御プログラムの書き換えが完了したこと及び前記完了情報を取得したことをカウントしたカウント値と、複数の前記ノードの数とが一致している場合に、複数の前記ノードの全てが、前記制御プログラムの書き換えを完了していると判定する請求項2に記載の車載制御装置。   The determination unit (S12), when the count value obtained by counting that the rewriting of the control program has been completed and acquiring the completion information in its own node, and the number of the plurality of nodes match, The in-vehicle control device according to claim 2, wherein all of the plurality of nodes determine that rewriting of the control program has been completed. 前記判定部は、
前記車載制御装置における前記制御プログラムの書き換えが完了している否かを判定する個別判定部(S11)と、
他の前記ノードの夫々から取得した前記制御プログラムの書き換えが完了したことを示す完了情報をカウントしたカウント値と他の前記ノードの数とが一致し、且つ、前記個別判定部で前記制御プログラムの書き換えが完了していると判定されている場合に、複数の前記ノードの全てが、前記制御プログラムの書き換えを完了していると判定する統括判定部(S12a)と、を含む請求項2に記載の車載制御装置。
The determination unit
An individual determination unit (S11) for determining whether or not rewriting of the control program in the in-vehicle control device is completed;
The count value obtained by counting completion information indicating that the rewriting of the control program acquired from each of the other nodes is complete matches the number of the other nodes, and the individual determination unit executes the control program. The overall determination unit (S12a), which determines that all of the plurality of nodes have completed rewriting of the control program when it is determined that rewriting has been completed. In-vehicle control device.
書換装置から前記制御プログラムの消去を要求する消去要求コマンドを受信した後に、前記制御プログラムの書き換え用データを受信して、前記制御プログラムの書き換えを行うものであり、
複数の前記ノードのいずれかに対する前記消去要求コマンドを最初に受信したときに、前記カウント値を初期化する請求項3又は4に記載の車載制御装置。
After receiving an erasure request command requesting erasure of the control program from a rewriting device, the control program rewrite data is received, and the control program is rewritten,
The in-vehicle control device according to claim 3 or 4, wherein the count value is initialized when the erase request command for any of the plurality of nodes is first received.
書換装置から前記制御プログラムの書き換え用データを受信して、前記制御プログラムの書き換えを行うものであり、
自ノードで前記制御プログラムの書き換えが完了している場合、及び他の前記ノードの夫々から前記完了情報を取得するたびに、前記制御プログラムの書き換えが完了していることを前記書換装置に通知する個別通知部(S38)を備えている請求項2又は5のいずれか一項に記載の車載制御装置。
Receiving data for rewriting the control program from a rewriting device, rewriting the control program,
When the rewriting of the control program is completed in its own node, and whenever the completion information is acquired from each of the other nodes, the rewriting device is notified that the rewriting of the control program is completed. The vehicle-mounted control apparatus as described in any one of Claim 2 or 5 provided with the separate notification part (S38).
前記車載制御システム(110)に含まれている複数の前記ノードは、異なる通信バスに接続された前記ノードを含んでおり、異なる前記通信バスに接続された前記ノードどうしが中継ノード(300)を介して通信可能に構成されており、
前記中継ノードを介して前記完了情報を取得可能に構成されている請求項2乃至6のいずれか一項に記載の車載制御装置。
The plurality of nodes included in the in-vehicle control system (110) includes the nodes connected to different communication buses, and the nodes connected to the different communication buses serve as relay nodes (300). Configured to be able to communicate via
The vehicle-mounted control apparatus as described in any one of Claims 2 thru | or 6 comprised so that the said completion information can be acquired via the said relay node.
前記車載制御システム(120)に含まれていない前記車載制御装置であって、
前記判定部(S12c)は、
前記車載制御システムに含まれている複数の前記ノードの夫々から取得した前記制御プログラムの書き換えが完了していることを示す完了情報に基づいて、複数の前記ノードの全てが、前記制御プログラムの書き換えが完了しているか否かを判定し、
前記決定部(S13a、S14a)は、
全ての前記ノードが前記制御プログラムの書き換えを完了していると前記判定部が判定した場合、前記車載制御システムに含まれている複数の前記ノードの前記実行モードを前記制御モードに決定し、全ての前記ノードが前記制御プログラムの書き換えを完了していると前記判定部が判定していない場合、前記車載制御システムに含まれている複数の前記ノードの前記実行モードを前記リプログモードに決定する請求項1に記載の車載制御装置。
The in-vehicle control device not included in the in-vehicle control system (120),
The determination unit (S12c)
Based on the completion information indicating that rewriting of the control program acquired from each of the plurality of nodes included in the in-vehicle control system is completed, all of the plurality of nodes rewrite the control program. Determines whether or not
The determination unit (S13a, S14a)
When the determination unit determines that all the nodes have completed rewriting of the control program, the execution mode of the plurality of nodes included in the in-vehicle control system is determined as the control mode, and all The execution mode of the plurality of nodes included in the in-vehicle control system is determined to be the re-progress mode when the determination unit does not determine that the node has completed rewriting of the control program. The in-vehicle control device according to Item 1.
制御プログラムを実行して制御を行う制御モードと、前記制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して前記制御プログラムの書き換えを行うリプログモードとの実行モードを有した車載制御装置である複数のノードを含み、各ノードが前記制御モード時に連携して制御を行う車載制御システムを備え、複数の前記ノードの夫々が前記制御プログラムを書き換える書換装置と通信可能に構成された車載ネットワークであって、
複数の前記ノードの夫々は、
複数の前記ノードの全てが、前記制御プログラムの書き換えが完了しているか否かを判定する判定部(S11、S12、S12a、S12b)と、
全ての前記ノードが前記制御プログラムの書き換えを完了していると前記判定部が判定した場合、前記実行モードを前記制御モードに決定し、全ての前記ノードが前記制御プログラムの書き換えを完了していると前記判定部が判定していない場合、前記実行モードを前記リプログモードに決定する決定部(S13、S14)と、
前記決定部が前記実行モードを前記制御モードに決定した場合、全ての前記ノードが前記制御プログラムの書き換えを完了していることを、前記書換装置に対して通知する完了通知部と、を備えた車載制御装置を含む車載ネットワーク。
An in-vehicle control device having an execution mode of a control mode for executing control by executing a control program and a re-progress mode for executing re-program without executing control based on the control program and rewriting the control program An in-vehicle network including an in-vehicle control system that includes a plurality of nodes, and that each node performs control in cooperation with the control mode, and each of the plurality of nodes is configured to be able to communicate with a rewriting device that rewrites the control program. There,
Each of the plurality of nodes is
A determination unit (S11, S12, S12a, S12b) for determining whether or not rewriting of the control program has been completed by all of the plurality of nodes;
When the determination unit determines that all the nodes have completed rewriting of the control program, the execution mode is determined to be the control mode, and all the nodes have completed rewriting of the control program. When the determination unit does not determine, a determination unit (S13, S14) that determines the execution mode to the reprogress mode,
A completion notifying unit for notifying the rewriting device that all of the nodes have completed rewriting of the control program when the determining unit determines the execution mode to be the control mode; In-vehicle network including in-vehicle control device.
異なる複数の車載制御システム(100、130)を含んでおり、
複数の前記車載制御システムの夫々は、
制御プログラムを実行して制御を行う制御モードと、前記制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して前記制御プログラムの書き換えを行うリプログモードとの実行モードを有した車載制御装置である複数のノード(10〜30、50〜70)を含み、各ノードが前記制御モード時に連携して制御を行うものであって、
各車載制御システムにおける少なくとも一つのノードである車載制御装置は、
前記車載制御装置と同じ前記車載制御システムに含まれる複数の前記ノードの全てが、前記制御プログラムの書き換えが完了しているか否かを判定する判定部(S11、S12、S12a、S12b)と、
全ての前記ノードが前記制御プログラムの書き換えを完了していると前記判定部が判定した場合、前記実行モードを前記制御モードに決定し、全ての前記ノードが前記制御プログラムの書き換えを完了していると前記判定部が判定していない場合、前記実行モードを前記リプログモードに決定する決定部(S13、S14)と、を備えた車載制御装置を含む車載ネットワーク。
Including a plurality of different in-vehicle control systems (100, 130),
Each of the plurality of in-vehicle control systems is
An in-vehicle control device having an execution mode of a control mode for executing control by executing a control program and a re-progress mode for executing re-program without executing control based on the control program and rewriting the control program Including a plurality of nodes (10 to 30, 50 to 70), each node performing control in cooperation with the control mode,
The in-vehicle control device, which is at least one node in each in-vehicle control system,
A determination unit (S11, S12, S12a, S12b) that determines whether all of the plurality of nodes included in the same in-vehicle control system as the in-vehicle control device have completed rewriting of the control program;
When the determination unit determines that all the nodes have completed rewriting of the control program, the execution mode is determined to be the control mode, and all the nodes have completed rewriting of the control program. And a determination unit (S13, S14) that determines the execution mode as the re-progress mode when the determination unit does not determine, an in-vehicle network including an in-vehicle control device.
JP2016028329A 2016-02-17 2016-02-17 In-vehicle control device and in-vehicle network including in-vehicle control device Active JP6528700B2 (en)

Priority Applications (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
DE102017202282.5A DE102017202282B4 (en) 2016-02-17 2017-02-14 ON-VEHICLE CONTROL DEVICE AND ON-VEHICLE NETWORK WITH THE ON-VEHICLE CONTROL DEVICE

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2017146800A true JP2017146800A (en) 2017-08-24
JP6528700B2 JP6528700B2 (en) 2019-06-12

Family

ID=59410057

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (1)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134038A (en) * 2009-12-24 2011-07-07 Honda Motor Co Ltd Apparatus and method for updating control program
JP2013142914A (en) * 2012-01-06 2013-07-22 Ricoh Co Ltd Information processor
JP2013223094A (en) * 2012-04-16 2013-10-28 Toshiba Corp Communication system, management server device, and program updating control method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856370B2 (en) 2004-11-05 2014-10-07 International Business Machines Corporation Concurrent flashing of data processing units in hierarchical networks
JP4743182B2 (en) 2006-12-07 2011-08-10 株式会社デンソー Microcomputer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134038A (en) * 2009-12-24 2011-07-07 Honda Motor Co Ltd Apparatus and method for updating control program
JP2013142914A (en) * 2012-01-06 2013-07-22 Ricoh Co Ltd Information processor
JP2013223094A (en) * 2012-04-16 2013-10-28 Toshiba Corp Communication system, management server device, and program updating control method

Also Published As

Publication number Publication date
JP6528700B2 (en) 2019-06-12
DE102017202282A1 (en) 2017-08-17
DE102017202282B4 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
US10552143B2 (en) Relay device, program update system, and program update method
WO2019216330A1 (en) In-vehicle update device, update process method, and update process program
JP6504315B2 (en) Program update system, distribution apparatus and program update method
JP6915569B2 (en) Storage device, communication system, storage method and computer program
US11914871B2 (en) Electronic control device and program-update method
JP6060782B2 (en) Relay device
WO2018230084A1 (en) Updating control device, control method, and computer program
WO2018154949A1 (en) Program updating system, control device, program updating method and computer program
JP2013137729A (en) Program rewriting system, control device, program distribution device, identification information storage device, and method for rewriting program
JP2019159400A (en) Electronic control unit system, and electronic control method
JP2006221274A (en) Electronic control device for vehicle and rewriting method of control program
JP2024040359A (en) Server for distributing update data, distribution method and distribution program of update data, and software update system
JP2019109745A (en) Automobile electronic controller
JP2018160207A (en) On-vehicle controller and program update software
JP2017146800A (en) On-vehicle control device and on-vehicle network including on-vehicle control device
JP6094523B2 (en) Program rewriting method
JP2017118398A (en) Electronic control device
JP6935694B2 (en) Electronic control device
WO2019221058A1 (en) Vehicle-mounted relay device, communication system, bus determination method, and computer program
JP6718483B2 (en) vehicle
JP2018093370A (en) On-vehicle electronic control device, on-vehicle electronic control system, and relay device
JP7087334B2 (en) Electronic control device
CN115509565A (en) OTA manager, system, method, non-transitory storage medium, and vehicle
JP7211189B2 (en) Update processing system and update processing method
JP6334776B1 (en) Electronic control unit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190429

R151 Written notification of patent or utility model registration

Ref document number: 6528700

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250