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 PDFInfo
- 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
Links
- 238000004891 communication Methods 0.000 claims description 30
- 238000000034 method Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 34
- 238000012545 processing Methods 0.000 description 25
- 230000000694 effects Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000001994 activation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Small-Scale Networks (AREA)
Abstract
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.
ところで、車載制御装置は、複数のノードが連携して制御を行う車載制御システムにおける、一つのノードである場合が考えられる。このような車載制御システムでは、制御プログラムが新しい制御プログラムに書き換えられたノードと、制御プログラムが新しい制御プログラムに書き換えられていないノードとが混在することも考えられる。この場合、車載制御システムは、制御プログラムが書き換えられたノードと、制御プログラムが書き換えられていないノードとで制御が実行されてしまい、新しい制御プログラムに応じた制御を行うことができないという問題がある。 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
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.
以下において、図面を参照しながら、発明を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。 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
まず、図1〜図4を用いて、第1ノード10の構成、及び第1ノード10を含む車載制御システム100の構成に関して説明する。車載制御システム100は、車両に搭載可能に構成されている。また、車載制御システム100は、車両に設けられた車載ネットワークの一部として設けられていると言える。
First, the configuration of the
車載制御システム100は、車両における複数の制御系統の一つを統合的に制御するために、第1ノード10を含む複数のノードを備えて構成されている。制御系統とは、例えば、エンジン制御系やボデー制御系などである。よって、車載制御システム100としては、例えばエンジン制御系のシステムを採用できる。
The in-
車載制御システム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-
各ノード10〜30は、実行モードとして、制御プログラムを実行して制御を行う制御モードと、制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して制御プログラムの書き換えを行うリプログモードとを有している。なお、制御モードは、制御プログラム実行モードと言える。また、リプログモードは、リプロプログラム実行モードと言える。また、以下においては、制御プログラムの書き換えを、単に書き換えとも記載する。
Each of the
また、車載制御システム100は、第1ノード10と第2ノード20と第3ノード30が通信バス200を介して通信可能に構成されている。つまり、各ノード10〜30は、自ノード10〜30が接続されている通信バス200を介して通信を行うことができる。
The in-
車載制御システム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-
各ノード10〜30の実行モードが制御モードである場合、車載制御システム100は、各ノード10〜30が制御プログラムを実行することで、各ノード10〜30が制御系統における制御を連携して行う。
When the execution mode of each of the
一方、各ノード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
つまり、車載制御システム100は、全ノード10〜30が制御プログラムを実行することで制御系統における制御を行うことができる。例えば、全ノード10〜30の少なくとも一つのノードにおける実行モードがリプロプグモードであった場合、車載制御システム100は、そのノードがリプロプログラムを実行するため、制御系統における制御を行うことができない。また、全ノード10〜30の一つのノードがリプロプグモードを実行し、他のノードが制御プログラムを実行した場合、各ノード10〜30は、制御プログラムを実行した際に行なわれる通信が途絶するため、制御系統における制御を行うことができない。
That is, the in-
なお、上記のように、車載制御システム100は、各ノード10〜30が連携して制御を行うものである。このため、制御システム100は、システム仕様の変更時など、全ノード10〜30の制御プログラムを書き換える必要がある。つまり、車載制御システム100は、例えば、第1ノード10と第3ノード30が新プログラムで、第2ノードだけが旧プログラムのように、新プログラムのノードと旧プログラムのノードとが混在しないようにする必要がある。
As described above, the in-
これは、車載制御システム100は、新プログラムのノードと旧プログラムのノードとが混在した場合、制御系統として、新プログラムに応じた制御を行うことができなくなるためである。よって、車載制御システム100は、全ノード10〜30で制御プログラムの書き換えを確実に実施する必要がある。言い換えると、車載制御システム100は、全ノード10〜30で新プログラムに揃える必要がある。
This is because the in-
なお、新プログラムは、新しい制御プログラムに書き換えられた後の制御プログラムである。一方、旧プログラムは、新しい制御プログラムに書き換えられる前の制御プログラムである。 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
第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
なお、各ノード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
ここで、図3、図4を用いて、第1ノード10のROM14における記憶内容と、第2ノード20のROM14の記憶内容に関して説明する。
Here, the contents stored in the
図3に示すように、第1ノード10のROM14は、書き換え領域に制御プログラム、第1フラグ11、第2フラグ12が記憶されており、非書き換え領域にリプロプログラムが記憶されている。また、第1ノード10のROM14は、非書き換え領域に、関連ノードを識別するID情報が記憶されている。
As shown in FIG. 3, the
一方、図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
第1フラグ11、21は、自ノードにおける書き換え完了可否を判断するための情報である。第1フラグ11、21は、書き換えが完了していることを示す情報と、書き換えが完了していないことを示す情報のいずれかが設定されている。例えば、書き換えが完了していることを示す情報として1、書き換えが完了していないことを示す情報として0を採用できる。なお、第1フラグ11は、第1ノード10によって設定される。一方、第2フラグ21は、第2ノード20によって設定される。
The
よって、第1ノード10は、第1フラグ11を確認することで、自ノード10における書き換えが完了しているか否かを判定できる。同様に、第2ノード20は、第2フラグ21を確認することで、自ノード20における書き換えが完了しているか否かを判定できる。
Therefore, the
第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
書換ツール400は、書換装置に相当する。書換ツール400は、ディーラや工場の作業者によって操作可能に構成されている。書換ツール400は、作業者による操作に応じて、書き換えを行う。書換ツール400は、書き換えを行う際に、ケーブルとコネクタなどを介して車両と接続される。また、書換ツール400は、書き換えが完了した後など書き換えを行わないとき車両から外されている。なお、書換ツール400は、ライタとも言える。
The
ここで、各ノード10〜30の処理動作の前に、図10、図11を用いて、書換ツール400の処理動作に関して説明する。書換ツール400は、車両と接続された状態で、作業者によって書き換えが指示された場合に、図11のフローチャートを実行する。なお、後程説明するが、各ノード10〜30は、書換ツール400からの各要求に応答してACKを返信する。
Here, before the processing operation of each of the
ステップ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
ステップ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
なお、書換ツール400は、消去要求コマンドを送信してから所定時間、ACKを受信できなかった場合、図11の処理を終了するものであってもよい。つまり、書換ツール400は、カウントアウト処理を行ってもよい。また、書換ツール400は、以下の判定においてもカウントアウト処理を行ってもよい。さらに、後程説明する各ノード10〜30に関しても、カウントアウト処理を行ってもよい。
Note that the
ステップ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
ステップ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
ステップS64では、ベリファイ要求コマンドを送信する。書換ツール400は、図10に示すように、第1ノード10〜第3ノード30の夫々に対して、個別にベリファイ要求コマンドを送信する。書換ツール400は、消去要求コマンドを送信する場合と同様に、送信対象のノードのID情報と共に、ベリファイ要求コマンドを送信する。このベリファイ要求コマンドは、新たな制御プログラムが正常に書き込まれたか否かを検証することを要求するコマンドである。
In step S64, a verify request command is transmitted. As shown in FIG. 10, the
ステップ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
ステップ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
ステップ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
ここで、図5〜図10を用いて、各ノード10〜30の処理動作に関して説明する。
Here, the processing operation of each of the
まず、図5を用いて、第1ノード10の起動処理に関して説明する。第1ノード10は、例えば、イグニッションスイッチがオンになると、図5のフローチャートを実行する。
First, the startup process of the
ステップS10では、電源オン及びリセット解除する。第1ノード10は、自ノード10の電源をオンすると共に、自ノード10のリセットを解除する。
In step S10, the power is turned on and the reset is released. The
ステップ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
ステップ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
第1ノード10は、第2フラグ12のカウント値が3である場合に、第2フラグ=全書き換え対象ノード数、すなわち、書き換え対象ノード10〜30の全てにおいて書き換えが完了しているとみなしてステップS13へ進む。なお、書き換え対象ノード10〜30の全てにおいて書き換えが完了している状態は、全ノード10〜30が新プログラムに書き換えられている状態とみなせる。
When the count value of the
一方、第1ノード10は、第2フラグ12のカウント値が3でない場合に、第2フラグ=全書き換え対象ノード数ではない、すなわち、全書き換え対象ノード10〜30のうち少なくとも一つで書き換えが完了していないとみなしてステップS14へ進む。なお、書き換え対象ノード10〜30のうち少なくとも一つで書き換えが完了していない状態は、全ノード10〜30のうち少なくとも一つが旧プログラムのままで、残りが新プログラムに書き換えられている状態とみなせる。
On the other hand, when the count value of the
後程詳しく説明するが、第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
このように、第1ノード10は、カウント値によって、複数のノード10〜30の全てが書き換えを完了しているか否かを判定している。このため、第1ノード10は、情報量が増大することを抑制しつつ、複数のノード10〜30の全てが書き換えを完了しているか否かを判定できる。つまり、第1ノード10は、書き換えが完了したことを示す情報を各ノード10〜30に対応して個別に記憶しておくよりも、情報量を減らすことができ、且つ複数のノード10〜30の全てが書き換えを完了しているか否かを判定できる。
Thus, the
また、第1ノード10は、上記のように車載制御システム100に含まれている一つのノードである。よって、第1ノード10は、ステップS12の判定を行うことで、車載制御システム100の制御に影響する全ノード10〜30が新プログラムに書き換えられているか否かを判定できる。
The
ステップ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
ステップS15では、電源オフであるか否かを判定する。そして、第1ノード10は、電源オフと判定した場合は図5の処理を終了し、電源オフと判定してない場合はステップS11へ戻る。
In step S15, it is determined whether or not the power is off. If the
なお、本実施形態では、ステップ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
次に、図6を用いて、第2ノード20の起動処理に関して説明する。
Next, the activation process of the
ステップ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
なお、ステップS24では、ステップS15と同様に、電源オフであるか否かを判定する。そして、第2ノード20は、電源オフと判定した場合は図6の処理を終了し、電源オフと判定してない場合はステップS21へ戻る。
In step S24, as in step S15, it is determined whether the power is off. Then, the
次に、図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
ステップS30では、電源オン及びリセット解除する。第1ノード10は、自ノード10の電源をオンすると共に、自ノード10のリセットを解除する。
In step S30, the power is turned on and the reset is released. The
ステップ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
ステップ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
ステップ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
一方、ステップ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
第1ノード10は、自ノード10で制御プログラムの書き換えが完了していること、及び他のノード20、30から完了情報を取得したことをカウントし、第2フラグ12のカウント値として記憶する。このため、第1ノード10は、消去要求コマンドを最初に受信したときにカウント値を初期化しておくことで、全ノード10〜30における書き換えの進捗を確認できる。完了情報に関しては、後程説明する。
The
なお、第1ノード10は、図10に示すように、消去要求コマンドを受信すると、第1フラグ11と第2フラグ12をリセットすると共に、制御プログラムを消去し、且つ書換ツール400にACKを送信する。その後、第1ノード10は、図10に示すように、書換ツール400から書き換え要求コマンドを受信するとACKを返信し、書換ツール400から新たな制御プログラムのデータと受信する。このデータは、制御プログラムの書き換え用データである。
As shown in FIG. 10, when the
そして、ステップS34では、自ノード書き換えを行う。第1ノード10は、受信した新たな制御プログラムのデータをROM14の書き換え領域に書き込む(書き換え処理)。
In step S34, the own node is rewritten. The
ステップ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
そして、ステップS36では、第1フラグ11=OK、第2フラグ12=+1とする。つまり、第1ノード10は、自ノード10の書き換えが完了したことで、第1フラグ11に1を設定し、第2フラグ12のカウント値をカウントアップする。その後、ステップS37では、自ノード10へのベリファイ要求コマンドに対する応答(ACK)を書換ツール400へ送信する。
In step S36, the
ステップ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
このように、第1ノード10は、各ノード10〜30での書き換えが完了するたびに、書換ツール400に対して完了の通知を行うため、書換ツール400に書き換え状況を把握させることができる。つまり、書換ツール400は、第1ノード10からの完了の通知によって、各ノード10〜30における書き換えの進捗を把握でき、書き換え完了ノードと未完了ノードとを容易に切り分けることができる。
Thus, since the
ステップ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
ステップS40では、電源オフであるか否かを判定する。第1ノード10は、電源オフであると判定しなかった場合はステップS31へ戻り、電源オフであると判定した場合は図7の処理を終了する。
In step S40, it is determined whether or not the power is off. If the
ここで、図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
ステップ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
ステップ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
一方、ステップ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
ステップ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
つまり、第1ノード10は、第2ノード20への消去要求コマンドを受信しており、且つ、第2ノード20からベリファイ要求コマンドに対するACKを受信した場合、第2ノード20での書き換えが完了したと判定して、ステップS46へ進む。また、第1ノード10は、第2ノード20への消去要求コマンドを受信しており、且つ、第2ノード20からベリファイ要求コマンドに対するACKを受信してない場合、第2ノード20での書き換えが完了したと判定せずに、ステップS45を繰り返す。
That is, when the
同様に、第1ノード10は、第3ノード30への消去要求コマンドを受信しており、且つ、第3ノード30からベリファイ要求コマンドに対するACKを受信した場合、第3ノード30での書き換えが完了したと判定して、ステップS46へ進む。また、第1ノード10は、第3ノード30への消去要求コマンドを受信しており、且つ、第3ノード30からベリファイ要求コマンドに対するACKを受信してない場合、第3ノード30での書き換えが完了したとせずに、ステップS45を繰り返す。
Similarly, when the
ステップ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
次に、図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
ステップS50では、電源オン及びリセット解除する。第2ノード20は、自ノード20の電源をオンすると共に、自ノード20のリセットを解除する。
In step S50, the power is turned on and the reset is released. The
ステップ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
ステップS52では、第1フラグ21=NGとする。つまり、第2ノード20は、消去要求コマンドを受信して、自ノード20が書き換えを行うとみなした場合、第1フラグ21をリセット、すなわち第1フラグ21に0を設定する。
In step S52, the
なお、第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
そして、ステップS53では、自ノード書き換えを行う。第2ノード20は、受信した新たな制御プログラムのデータをROM14の書き換え領域に書き込む(書き換え処理)。
In step S53, the own node is rewritten. The
ステップ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
そして、ステップS55では、第1フラグ21=OKとする。つまり、第2ノード20は、自ノード10の書き換えが完了したことで、第1フラグ21に1を設定する。その後、ステップS56では、自ノード20へのベリファイ要求コマンドに対する応答(ACK)を書換ツール400へ送信する。
In step S55, the
ステップS57では、電源オフであるか否かを判定する。第2ノード20は、電源オフであると判定しなかった場合はステップS50へ戻り、電源オフであると判定した場合は図9の処理を終了する。なお、第3ノード30の処理動作は、上記し図10にも示すように、第2ノード20と同様である。
In step S57, it is determined whether the power is off. If the
以上のように、第1ノード10は、全ノード10〜30が、制御プログラムの書き換えが完了しているか否かを判定する。つまり、第1ノード10は、自ノード10だけではなく、他ノード20、30が制御プログラムの書き換えが完了しているか否かを判定する。
As described above, the
そして、第1ノード10は、全ノード10〜30が制御プログラムの書き換えを完了していると判定した場合、実行モードを制御モードに決定する。よって、第1ノード10は、全ノード10〜30が新プログラムの場合、又は新プログラムの場合に、自ノード10の実行モードを制御モードに決定する。
When the
一方、第1ノード10は、全ノード10〜30が制御プログラムの書き換えを完了していると判定していない場合、すなわち、少なくとも一つのノードが制御プログラムの書き換えを完了していない場合、実行モードをリプログモードに決定する。よって、第1ノード10は、複数のノード10〜30において新プログラムのノードと旧プログラムのノードとが混在している場合に、自ノード10の実行モードをリプログモードに決定する。このため、第1ノード10は、新プログラムのノードと旧プログラムのノードが混在した車載制御システム100で、制御系統における制御が実行されることを抑制できる。
On the other hand, if the
また、第1ノード10は、車載制御システム100における全ノード10〜30で書き換えが完了しているか否かを判定できるため、車載制御システム100の単位で全ノード10〜30の書き換え完了を担保できるとも言える。さらに、車載制御システム100は、第1ノード10を含んでいるため、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できると言える。
Moreover, since the
なお、車載制御システム100は、第1ノード10を含む四つ以上のノードを備えたものであってもよいし、第1ノード10を含む二つのノードを備えたものであってもよい。つまり、車載制御システム100は、第1ノード10を含む複数のノードを備えたものであればよい。
The in-
以上、本発明の好ましい実施形態について説明した。しかしながら、本発明は、上記実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本発明のその他の形態として、第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
第2実施形態の第1ノード10は、第1フラグ11の値と、第2フラグ12のカウント値の両方を確認して、全ノード10〜30で書き換えが完了しているか否かを判定する点が上記実施形態と異なる。
The
第2実施形態の第1ノード10は、例えば、イグニッションスイッチがオンになると、図12のフローチャートを実行する。
For example, when the ignition switch is turned on, the
ステップ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
ステップ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
第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
一方、第1ノード10は、第2フラグ12のカウント値が2でない場合に、第2フラグ=他書き換え対象ノード数ではない、すなわち、他書き換え対象ノード20、30のうち少なくとも一つで書き換えが完了していないとみなしてステップS14へ進む。
On the other hand, when the count value of the
このように、第2実施形態の第1ノード10は、上記実施形態と同様の効果を奏することができる。また、第2実施形態の第1ノード10は、第1フラグ11の値で自ノード10の書き換えが完了しているか否か判定できる。このため、第1ノード10は、他ノード20、30の書き換えが完了したことさえカウントしておけば、自ノード10の書き換えが完了したことをカウントする必要がない。そして、第1ノード10は、第1フラグ11と第2フラグ12を確認することで、全ノード10〜30で書き換えが完了しているか否かを判定できる。
Thus, the
(第3実施形態)
図13を用いて、第3実施形態の第1ノード10に関して説明する。ここでは、主に、第3実施形態における第1、2実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いる。
(Third embodiment)
The
第3実施形態の第1ノード10は、第1フラグ11の値と、第2フラグ12の情報の両方を確認して、全ノード10〜30で書き換えが完了しているか否かを判定する点が上記実施形態と異なる。また、第3実施形態の第1ノード10は、他ノード20、30の夫々に対応して、書き換えが完了しているか否かの情報を記憶している。以下においては、第2ノード20に対応した情報を第2ノード情報、第3ノード30に対応した情報を第3ノード情報と称する。
The
そして、第3実施形態の第1ノード10は、第2ノード20での書き換えが完了したと判定した場合、第2ノード情報を書き換え完了に更新する。同様に、第3実施形態の第1ノード10は、第3ノード30での書き換えが完了したと判定した場合、第3ノード情報を書き換え完了に更新する。
When the
そして、第3実施形態の第1ノード10は、例えば、イグニッションスイッチがオンになると、図13のフローチャートを実行する。
And the
ステップ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
第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
一方、第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
(第4実施形態)
図14、図15を用いて、第4実施形態の第1ノード10に関して説明する。ここでは、主に、第4実施形態における第1〜3実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いることもある。
(Fourth embodiment)
The
第4実施形態の第1ノード10は、自ノード10が接続されている第1通信バス210とは異なる第2通信バス220に接続されている第3ノード30と共に、車載制御システム110に含まれている点が上記実施形態と異なる。
The
車載制御システム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
この第1通信バス210と第2通信バス220は、中継ノード300に接続されている。そして、第1ノード10と第3ノード30や、第2ノード20と第3ノード30は、中継ノード300を介して通信可能に構成されている。このように、車載制御システム110は、異なる通信バス210、220に接続されたノードどうしが、中継ノード300を介して通信可能に構成されている。
The
なお、中継ノード300は、中継ID情報310を記憶している。中継ID情報は、各ノード10〜20を示すID情報である。中継ノード300を介した通信では、例えば、図15に示すような中継フレーム情報が用いられる。
The
従って、第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
この第4実施形態の第1ノード10は、上記実施形態と同様の効果を奏することができる。つまり、第4実施形態の第1ノード10は、車載制御システム110に含まれている第3ノード30が、自ノード10とは異なる第2通信バス220に接続されていても、上記実施形態と同様の効果を奏することができる。
The
(第5実施形態)
図16、図17を用いて、第5実施形態の第1ノード10aに関して説明する。ここでは、主に、第5実施形態における第1〜4実施形態と異なる箇所に関して説明する。なお、本実施形態では、便宜的に、上記実施形態と同じ符号を用いることもある。
(Fifth embodiment)
The
第1ノード10aは、車載制御システム120に含まれていない点が第1ノード10と異なる。また、第1ノード10aは、車載制御システム120に含まれている複数のノード20〜40の実行モードを決定する点が第1ノード10と異なる。
The
車載制御システム120は、通信バス200に接続された第2ノード20〜第4ノード40を備えて構成されている。第4ノード40は、第2ノード20や第3ノード30と同様であり、自ノード40に第1フラグ41を備えて構成されている。
The in-
第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
第1ノード10aは、例えば、イグニッションスイッチがオンになると、図17のフローチャートを実行する。
For example, when the ignition switch is turned on, the
ステップ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
第1ノード10は、第2フラグ12のカウント値が3であると判定した場合に、全書き換え対象ノード20〜40において書き換えが完了しているとみなしてステップS13aへ進む。一方、第1ノード10は、第2フラグ12のカウント値が3であると判定してない場合に、全書き換え対象ノード20〜40のうち少なくとも一つで書き換えが完了していないとみなしてステップS14aへ進む。
If the
なお、第1ノード10は、第3実施形態のように、他ノード20〜40の夫々に対応した書き換えが完了しているか否かの情報を記憶し、その情報を確認して、書き換え対象ノードの書き換えが完了しているか否かを判定してもよい。
Note that, as in the third embodiment, the
ステップ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
ステップ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
このように、第1ノード10aは、車載制御システム120に属していなくても第1ノード10と同様の効果を奏することができる。また、第1ノード10a及び車載制御システム120を含んでいる車載ネットワークは、車載制御システム120に属していない第1ノード10aが車載制御システム120の実行モードを決定できるため、設計自由度を向上できる。
Thus, even if the
(第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-
複数のノード10〜30の夫々は、全ノード10〜30で書き換えが完了しているか否かを判定する(判定部)。つまり、第2ノード20と第3ノード30は、第1ノード10と同様に、全ノード10〜30で書き換えが完了しているか否かを判定する。
Each of the plurality of
そして、複数のノード10〜30の夫々は、全ノード10〜30が書き換えを完了していると判定した場合に実行モードを制御モードに決定する(決定部)。つまり、第2ノード20と第3ノード30は、第1ノード10と同様に、全ノード10〜30が書き換えを完了していると判定した場合、自ノードの実行モードを制御モードに決定する。
Each of the plurality of
また、複数のノード10〜30の夫々は、全ノード10〜30が書き換えを完了していると判定していない場合、すなわち、少なくとも一つのノードが書き換えを完了していないと判定した場合、実行モードをリプログモードに決定する(決定部)。つまり、第2ノード20と第3ノード30は、第1ノード10と同様に、少なくとも一つのノードが書き換えを完了していないと判定した場合、自ノードの実行モードをリプログモードに決定する。
Further, each of the plurality of
さらに、複数のノード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
なお、各ノード10〜30は、第1実施形態や第2実施形態や第3実施形態で説明したいずれかの方法で、全ノード10〜30の書き換え完了を判定してもよい。また、車載ネットワークは、第4実施形態と同様に、中継ノード300や複数のノード10〜30を含む車載制御システム110を備えて構成されていてもよい。
Each of the
各ノード10〜30は、上記第1ノード10と同様の効果を奏することができる。よって、第6実施形態の車載ネットワークは、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できる。
Each of the
(第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-
第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-
第5ノード50は、第1ノード10と同様に、第1フラグ51と第2フラグ52とを備えて構成されている。また、第5ノード50は、第2車載制御システム130におけるマスタノードと言える。
Similar to the
第5ノード50は、第2車載制御システム130における全ノード50〜70で書き換えが完了しているか否かを判定する(判定部)。そして、第5ノード50は、第2車載制御システム130における全ノード50〜70が書き換えを完了していると判定した場合に実行モードを制御モードに決定する(決定部)。また、第5ノード50は、第2車載制御システム130における全ノード50〜70が書き換えを完了していると判定していない場合、すなわち、少なくとも一つのノードが書き換えを完了していないと判定した場合、実行モードをリプログモードに決定する(決定部)。
The
第6ノード60は、第2ノード20と同様に、第1フラグ61を備えて構成されている。また、第7ノード70は、第3ノード30と同様に、第1フラグ71を備えて構成されている。この第6ノード60と第7ノード70は、第2車載制御システム130におけるスレーブノードと言える。
Similar to the
第1通信バス210と第2通信バス220は、第4実施形態と同様に、中継ノード300に接続されている。よって、第1車載制御システム100と第2車載制御システム130は、中継ノード300を介して、通信可能に構成されている。
The
第1ノード10は、上記実施形態と同様の効果を奏することができる。また、第5ノード50は、第1ノード10と同様の効果を奏することができる。さらに、第7実施形態の車載ネットワークは、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できる。同様に、第7実施形態の車載ネットワークは、新プログラムのノードと旧プログラムのノードが混在した状態で、制御系統における制御が実行されることを抑制できる。
The
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)
複数の前記ノードの全てが、前記制御プログラムの書き換えが完了しているか否かを判定する判定部(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
前記車載制御装置における前記制御プログラムの書き換えが完了している否かを判定する個別判定部(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).
前記中継ノードを介して前記完了情報を取得可能に構成されている請求項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.
前記判定部(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.
複数の前記車載制御システムの夫々は、
制御プログラムを実行して制御を行う制御モードと、前記制御プログラムに基づいた制御を行うことなくリプロプログラムを実行して前記制御プログラムの書き換えを行うリプログモードとの実行モードを有した車載制御装置である複数のノード(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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7415756B2 (en) * | 2020-04-08 | 2024-01-17 | 株式会社オートネットワーク技術研究所 | In-vehicle device, information processing method and computer program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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)
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 |
-
2016
- 2016-02-17 JP JP2016028329A patent/JP6528700B2/en active Active
-
2017
- 2017-02-14 DE DE102017202282.5A patent/DE102017202282B4/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |