プログラム書き換えシステム及びプログラム書き換え方法
【課題】ネットワークに接続された制御装置のプログラムの書き換えを効率良く実施し、1つのノードがコスト高とならないプログラム書き換え方法及びシステムを提供する。
【解決手段】充電ステーション5は、バッテリ制御プログラムの書き換え用プログラムを車載充電器制御装置4に送信し、これを受信した車載充電器制御装置4は、一定量受信すると分割プログラムAを作成してEPS制御装置2aに送信し、再度一定量保存すると分割プログラムBを作成してモータ制御装置2bに送信する。その後、バッテリ制御装置1がプログラム書き換え可能となった時点で、EPS制御装置2aは分割プログラムAを、モータ制御装置2bは分割プログラムBを、それぞれバッテリ制御装置1に送信し、バッテリ制御装置1は、これらを受信する度に受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換える。
【解決手段】充電ステーション5は、バッテリ制御プログラムの書き換え用プログラムを車載充電器制御装置4に送信し、これを受信した車載充電器制御装置4は、一定量受信すると分割プログラムAを作成してEPS制御装置2aに送信し、再度一定量保存すると分割プログラムBを作成してモータ制御装置2bに送信する。その後、バッテリ制御装置1がプログラム書き換え可能となった時点で、EPS制御装置2aは分割プログラムAを、モータ制御装置2bは分割プログラムBを、それぞれバッテリ制御装置1に送信し、バッテリ制御装置1は、これらを受信する度に受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム書き換えシステム及びプログラム書き換え方法に関し、特にネットワークに接続された複数の制御装置におけるプログラムの書き換え方法に関する。
【背景技術】
【0002】
従来、ネットワークに接続された制御装置のプログラム書き換え方法として、例えば特許文献1に提示された方法が知られている。特許文献1におけるプログラム書き換え方法について図16を用いて説明する。図16(a)に示すように、車両のネットワーク8には、外部とのインターフェイス機能を有する書き換えを実施する第1の制御装置16と、統括制御装置17と、プログラムのデータを書き換える対象である第2の制御装置18と、複数ある第3の制御装置19が接続されている。
【0003】
統括制御装置17は、外部とのインターフェイス機能を有する第1の制御装置16と所定の機能を有するゲートウェイ17aを介して接続されており、さらに、所定のデータを記憶しうる記憶媒体17bと、全体を制御するCPU17cを有している。また、プログラムデータの書き換え対象である第2の制御装置18は、所定のデータを記憶する記憶媒体18aと、所定の入力信号により最適な制御を行うことができるCPU18bとメモリ18cを有している。
【0004】
また、図16(b)に示すように、第1の制御装置16は、データ入力部16aと、データ入力部16aからのデータを一時的に記憶する記憶装置16eと、第1の制御装置16全体を制御するCPU16dと、ゲートウェイ17aとの間の入出力インターフェイスを構成する第1のインターフェイス部16cと、表示部などの出力部に出力する第2のインターフェイス部16bを有している。
【0005】
この先行例では、第2の制御装置18のプログラムデータの書き換えを実施する際に、第1の制御装置16のデータ入力部16aから入力されたプログラム書き換え用のデータは、CPU16dの制御に基づいてデータ出力部16cを介してゲートウェイ17aに出力される。その後、ゲートウェイ17aを経由して、統括制御装置17の記録媒体17bに一時蓄積される。さらに、電圧や温度範囲等の書き換え実施条件が満たされた時に、プログラム書き換え用のデータを第2の制御装置18の記録媒体18aへ車両のネットワーク8を介して送信する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第4668656号
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に提示されたプログラムの書き換え方法では、1つの通信ノードである統括制御装置17内に、プログラム書き換え用のデータ全てを記録する容量を持つ記録媒体17bが必要であり、そのためにコストが上昇するという課題があった。
【0008】
本発明は、上記のような課題を解決するためになされたものであり、ネットワークに接続された制御装置のプログラムの書き換えを効率良く実施することができ、且つ1つのノードがコスト高とならないようにしたプログラム書き換えシステム及びプログラム書き換え方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係るプログラム書き換えシステムは、第1のネットワークを介して互いに通信可能に接続された第1種ノードと複数の第2種ノードを含み、第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換えシステムであって、第1種ノードは、プログラムを保存する第1の記録領域と、第1の記録領域に保存されたプログラムを部分的に書き換えるプログラム書き換え手段を有し、第2種ノードは、プログラムの書き換え用プログラムの一部分である分割プログラムを保存する第2の記録領域と、第1種ノードへの分割プログラムの送信可否を判断する送信可否判断手段を有し、各第2種ノードは、送信可否判断手段が第1種ノードへの分割プログラムの送信が可能であると判断した場合に、自身が保存する分割プログラムを第1のネットワークを介して第1種ノードに送信し、第1種ノードは、各第2種ノードから分割プログラムを受信する度に、第1の記録領域に保存されたプログラムの該分割プログラムに該当する部分を、プログラム書き換え手段により書き換えるものである。
【0010】
また、本発明に係るプログラム書き換え方法は、第1のネットワークに常時接続されている第1種ノード及び複数の第2種ノードと、第1のネットワークに随時接続される第3種ノードにおいて、第1種ノードに保存された第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換え方法であって、プログラムの書き換え用プログラムを保存する第3種ノードにおいて、書き換え用プログラムを分割して分割プログラムを作成し、それぞれの分割プログラムを第1のネットワークを介して各第2種ノードに送信するステップと、第2種ノードにおいて、受信した分割プログラムを保存するステップと、第2種ノードにおいて、第1種ノードへの分割プログラムの送信可否を判断し、送信可能と判断した場合に自身が保存している分割プログラムを第1のネットワークを介して第1種ノードに送信するステップと、第1種ノードにおいて、各第2種ノードから分割プログラムを受信する度に、プログラムの該分割プログラムに該当する部分を書き換えるステップを含むものである。
【0011】
また、第1のネットワークに常時接続されている第1種ノード、複数の第2種ノード、及び第4種ノードと、第4種ノードに第2のネットワークを介して随時接続される第5種ノードにおいて、第1種ノードに保存された第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換え方法であって、プログラムの書き換え用プログラムを保存する第5種ノードにおいて、書き換え用プログラムを第2のネットワークを介して第4種ノードに送信するステップと、第4種ノードにおいて、受信した書き換え用プログラムを一定量保存する毎に、保存した書き換え用プログラムから書き換え用プログラムの一部分となる分割プログラムを作成し、該分割プログラムを第1のネットワークを介して第2種ノードに送信するステップと、第2種ノードにおいて、受信した分割プログラムを保存するステップと、第2種ノードにおいて、第1種ノードへの分割プログラムの送信可否を判断し、送信可能と判断した場合に自身が保存している分割プログラムを第1のネットワークを介して第1種ノードに送信するステップと、第1種ノードにおいて、各第2種ノードから分割プログラムを受信する度に、プログラムの該分割プログラムに該当する部分を書き換えるステップを含むものである。
【発明の効果】
【0012】
本発明の請求項1に係るプログラム書き換えシステムによれば、複数の第2種ノードに書き換え用プログラムの一部分である分割プログラムを保存させるようにし、各第2種ノードは、自身が保存する分割プログラムをそれぞれ第1種ノードに送信し、第1種ノードは、各第2種ノードから分割プログラムを受信する度に、プログラムの該分割プログラムに該当する部分を書き換えるようにしたので、効率の良いプログラムの書き換えを実施することができるとともに、第2種ノードに全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要がなく、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【0013】
また、本発明の請求項12に係るプログラム書き換え方法によれば、第3種ノードは、保存している書き換え用プログラムを分割して複数の第2種ノードに送信し、送信が終了すると第1のネットワークから切り離すことが可能であるため、効率の良いプログラムの書き換えを実施することができると共に、第2種ノードに全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要がないため、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【0014】
また、本発明の請求項13に係るプログラム書き換え方法によれば、第5種ノードは、保存している書き換え用プログラムの第4種ノードへの送信が終了すると、第2のネットワークから切り離すことが可能であるため、効率の良いプログラムの書き換えを実施することができると共に、第4種ノードは書き換え用プログラムを一定量保存する毎に分割プログラムを作成し、その都度第2種ノードに送信するため、第4種ノード及び第2種ノード共に全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要がなく、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態1に係るプログラム書き換え方法が実施される車両制御システムの構成を示すブロック図である。
【図2】本発明の実施の形態1に係るプログラム書き換えシステムにおける第1〜第3種ノードの記録装置の領域構成を示す図である。
【図3】本発明の実施の形態1に係るプログラム書き換えシステムの第1種ノードにおける処理の流れを示す図である。
【図4】本発明の実施の形態1に係るプログラム書き換えシステムの第2種ノード及び第3種ノードにおける処理の流れを示す図である。
【図5】本発明の実施の形態1に係るプログラム書き換えシステムにおける各ノードの処理の流れを時間軸に沿って示す図である。
【図6】本発明の実施の形態2に係るプログラム書き換え方法が実施される車両制御システムの構成を示すブロック図である。
【図7】本発明の実施の形態2に係るプログラム書き換えシステムにおける第4及び第5種ノードの記録装置の領域構成を示す図である。
【図8】本発明の実施の形態2に係るプログラム書き換えシステムの第5種ノードにおける処理の流れを示す図である。
【図9】本発明の実施の形態2に係るプログラム書き換えシステムの第4種ノードにおける処理の流れを示す図である。
【図10】本発明の実施の形態2に係るプログラム書き換えシステムの第1種ノードにおける処理の流れを示す図である。
【図11】本発明の実施の形態2に係るプログラム書き換えシステムにおける各ノードの処理の流れを時間軸に沿って示す図である。
【図12】本発明の実施の形態3に係るプログラム書き換え方法が実施される車両制御システムの構成を示すブロック図である。
【図13】本発明の実施の形態3に係るプログラム書き換えシステムの第2種ノードにおける処理の流れを示す図である。
【図14】本発明の実施の形態3に係るプログラム書き換えシステムの第4種ノードにおける処理の流れを示す図である。
【図15】本発明の実施の形態3に係るプログラム書き換えシステムにおける各ノードの処理の流れを時間軸に沿って示す図である。
【図16】従来のプログラム書き換えシステムを示すブロック図である。
【発明を実施するための形態】
【0016】
以下に、本発明を実施するための実施の形態1〜実施の形態3について、図面に基づいて説明する。なお、全ての図において、図中、同一、相当部分には、同一符号を付している。
【0017】
実施の形態1.
図1は、本実施の形態1に係るプログラム書き換え方法が実施される車両制御システムの構成を示し、本実施の形態1に係るプログラム書き換えシステムは、図1に示す車両制御システムに含まれるものである。なお、図1において、各制御装置及びテスタは、図1に示す以外の構成物も備えているが、本実施の形態1に直接関係しないものについては図示を省略している。また、図2は、本実施の形態1に係る車両制御システムにおける第1〜第3種ノードに備えられた記録装置の領域構成を示している。
【0018】
本実施の形態1に係る車両制御システムは、第1種ノードであるバッテリ制御装置1と、第2種ノードであるEPS(Electric Power Steering)制御装置2a及びモータ制御装置2bと、第3種ノードであるテスタ3を含み、これらは第1のネットワークである車両のCAN(Controller Area Network)ネットワーク6を介して互いに通信可能に接続されている。
【0019】
バッテリ制御装置1はバッテリ10に接続され、これを制御し、同様にEPS制御装置2aはEPS20aに、モータ制御装置2bは駆動用モータ20bに接続され、それぞれを制御している。なお、図1に示すテスタ3以外の制御装置は常時CANネットワーク6に接続されているが、テスタ3は、CANネットワーク6に常時接続されているのではなく、プログラムの書き換えや各ノードの故障診断時等、必要な時に随時接続される。
【0020】
バッテリ制御装置1の構成と機能について簡単に説明する。マイコン11は、バッテリ10の制御に関わる制御量や各種処理値を演算する。CANネットワーク用データ送受信手段であるデータ送受信手段12は、CANネットワーク6を介して、接続された他の制御装置(EPS制御装置2a、モータ制御装置2b、テスタ3を含む)とデータを送受信する。また、記録装置13は、書き換え対象であるバッテリ制御プログラムを保存する第1の記録領域を有している。バッテリ制御プログラムは、バッテリ制御装置1の動作(制御内容)を決定し、演算を行うものである。
【0021】
記録装置13の領域構成について、図2(a)を用いて説明する。記録装置13は、バッテリ制御プログラムを部分的に書き換えるためのプログラム書き換えプログラムを保存するプログラム書き換えプログラム記録領域131と、バッテリ制御プログラムを保存する第1の記録領域であるバッテリ制御プログラム記録領域132と、バッテリ10の制御に関わるデータ等を保存するバッテリ制御プログラム用記録領域(データ用)133を備えている。
【0022】
さらに、バッテリ制御装置1のプログラム書き換え手段14は、記録装置13のバッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムを部分的に書き換える。その際には、記録装置13のプログラム書き換えプログラム記録領域131に記録されたプログラム書き換えプログラムを用いる。
【0023】
また、第1の状態検出手段である状態検出手段15は、(第1種ノード)自身がバッテリ制御プログラムを書き換え可能な状態であるか否か、あるいはバッテリ制御プログラムが全て書き換えられているか否か等の状態を検出する。状態検出手段15により書き換え可能であると検出された場合は、CANネットワーク6を介してEPS制御装置2a及びモータ制御装置2bに通知し、通知を受けたEPS制御装置2a及びモータ制御装置2bは、自身が保存する分割プログラムを、CANネットワーク6を介してバッテリ制御装置1に送信する。
【0024】
バッテリ制御装置1は、EPS制御装置2aまたはモータ制御装置2bから分割プログラムを受信する度に、バッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムの該分割プログラムに該当する部分を、プログラム書き換え手段14により書き換える。
【0025】
次に、EPS制御装置2aの構成と機能について簡単に説明する。マイコン21aは、EPS20aの制御量や各種処理値を演算する。データ送受信手段22aは、CANネットワーク6を介して、接続された他の制御装置(バッテリ制御装置1、モータ制御装置2b、テスタ3を含む)とデータを送受信する。また、記録装置23aは、バッテリ制御プログラムの書き換え用プログラムの一部分である分割バッテリ制御プログラム(以下、分割プログラムと略す)を保存する第2の記録領域を有している。
【0026】
記録装置23aの領域構成について、図2(b)を用いて説明する。記録装置23aは、EPS20aの制御内容を決定するEPS制御プログラムを保存するEPS制御プログラム記録領域231aと、EPS20aの制御に関わるデータ等を保存するEPS制御プログラム用記録領域(データ用)232aと、分割プログラムを一時的に保存する第2の記録領域である分割バッテリ制御プログラム記録領域233aを備えている。なお、分割バッテリ制御プログラム記録領域233aには、記録装置23aの空き領域等を割り当てることができる。
【0027】
また、送信可否判断手段24aは、バッテリ制御装置1への分割プログラムの送信可否を判断する。送信可否判断手段24aによりバッテリ制御装置1への分割プログラムの送信が可能であると判断された場合には、自身が保存する分割プログラムを、CANネットワーク6を介してバッテリ制御装置1に送信する。
【0028】
次に、モータ制御装置2bの構成と機能について簡単に説明する。マイコン21bは、駆動用モータ20bの制御量や各種処理値を演算する。データ送受信手段22bは、CANネットワーク6を介して、接続された他の制御装置(バッテリ制御装置1、EPS制御装置2a、テスタ3を含む)とデータを送受信する。また、記録装置23bは、バッテリ制御プログラムの書き換え用プログラムを分割した一部分である分割プログラムを保存する第2の記録領域を有している。
【0029】
記録装置23bの領域構成について、図2(c)を用いて説明する。記録装置23bは、駆動用モータ20bの制御内容を決定するモータ制御プログラムを保存するモータ制御プログラム記録領域231bと、駆動用モータ20bの制御に関わるデータ等が記録されるモータ制御プログラム用記録領域(データ用)232bと、分割プログラムを一時的に保存する第2の記録領域である分割バッテリ制御プログラム記録領域233bを備えている。なお、分割バッテリ制御プログラム記録領域233bには、記録装置23bの空き領域等を割り当てることができる。
【0030】
また、送信可否判断手段24bは、バッテリ制御装置1への分割プログラムの送信可否を判断する。送信可否判断手段24bによりバッテリ制御装置1への分割プログラムの送信が可能であると判断された場合には、自身が保存する分割プログラムを、CANネットワーク6を介してバッテリ制御装置1に送信する。
【0031】
次に、テスタ3の構成と機能について簡単に説明する。マイコン31は、テスタ3の動作に関わる各種処理を実施する。データ送受信手段32は、CANネットワーク6を介して、接続された他の制御装置(バッテリ制御装置1、EPS制御装置2a、モータ制御装置2bを含む)とデータを送受信する。また、記録装置33は、図2(d)に示すように、バッテリ制御プログラムの書き換え用プログラムを保存する第3の記録領域であるバッテリ制御プログラム記録領域331を備えている。
【0032】
さらに、第1のプログラム分割手段であるプログラム分割手段34は、記録装置33の
バッテリ制御プログラム記録領域331に保存された書き換え用プログラムを分割し、分割プログラムを作成する。プログラム分割手段34により作成された分割プログラムは、それぞれCANネットワーク6を介してEPS制御装置2a及びモータ制御装置2bに送信される。
【0033】
次に、本実施の形態1に係るプログラム書き換えシステムの各ノードにおける処理の流れについて、図3及び図4のフローチャートを用いて説明する。図3は、第1種ノードであるバッテリ制御装置1におけるプログラム書き換えに関する処理の流れを示している。なお、バッテリ制御装置1では、バッテリ10の制御に関わる通常の処理と、バッテリ制御プログラムの書き換えに関する処理が実施される。プログラム書き換えに関する処理は、テスタ3から書き換え実施の通知(書き換え指示)があった場合に実施される。図3は、テスタ3からの書き換え実施の通知を受信した後の処理フローを示している。
【0034】
まず、ステップ301(S301)において、状態検出手段15は、バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施しているか否かを判断する。通常の処理が実施されている場合(YES)は、ステップ302(S302)へ進み、実施されていない場合(NO)は、ステップ309(S309)へ進み、通常の書き換え処理を実施する。なお、S309の通常の書き換え処理とは、テスタ3から、バッテリ制御装置1のバッテリ制御プログラムを書き換える従来の書き換え方法によるものであり、本発明の特徴である書き換え用プログラムを分割して行うものではないため、説明を省略する。
【0035】
バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施している場合は、その間、バッテリ制御プログラムの書き換え不可であるため、S302において、関連ノードへ分割書き換えを実施することを通知し、ステップ303(S303)へ進む。S303において、状態検出手段15は再度、通常の処理が実施されているかどうかを判断し、通常の処理が実施されていなければ、書き換え可能(YES)であるためステップ304(S304)へ進み、通常の処理が実施されている場合には、終了まで待機する。
【0036】
続いて、S304において、状態検出手段15は、記録装置13のバッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。全て書き換えられている場合は(YES)、本処理を終了し、書き換えられていなければ(NO)、ステップ305(S305)へ進む。
【0037】
S305において、状態検出手段15は、バッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムが書き換え中であるか否かを判断する。いずれの部分も書き換え中でなければ(NO)、ステップ306(S306)へ進み、書き換え中であれば(YES)、書き換えが終了するまで待機する。
【0038】
S306において、状態検出手段15は、書き換えが終了していないバッテリ制御プログラムの部分に該当する分割プログラムを保存している第2種ノードに対し、データ送受信手段12により送信指示をし、ステップ307(S307)へ進む。S307では、データ送受信手段12により分割プログラムを受信し、ステップ308(S308)へ進む。S308において、プログラム書き換え手段14は、プログラム書き換えプログラムを用い、受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換える。
【0039】
次に、第2種ノードであるEPS制御装置2a及びモータ制御装置2bにおけるプログラム書き換えに関する処理の流れについて、図4(a)を用いて説明する。EPS制御装置2a(またはモータ制御装置2b)では、EPS20a(または駆動用モータ20b)の制御に関わる通常の処理と、バッテリ制御装置1のプログラム書き換えに関する処理が実施される。プログラム書き換えに関する処理は、テスタ3から書き換え実施の通知があった場合に実施されるが、通常の処理が実施されている時には書き換えに関する処理は実施しない。なお、EPS制御装置2aとモータ制御装置2bにおけるプログラム書き換えに関する処理は同じであるので、ここではEPS制御装置2aを例に挙げて説明する。
【0040】
EPS制御装置2aは、テスタ3から書き換え実施の通知を受信後、ステップ401(S401)において、分割プログラムの受信を待つ。データ送受信手段22aにより分割プログラムを受信した場合(YES)は、ステップ402(S402)へ進み、受信した分割プログラムを記録装置23aの分割バッテリ制御プログラム記録領域233aに保存し、ステップ403(S403)へ進む。
【0041】
S403において、EPS制御装置2aは、バッテリ制御装置1からの分割プログラムの送信指示を待つ。送信指示を受信しない場合(NO)は、受信するまで待機する。送信指示を受信した場合(YES)、ステップ404(S404)へ進み、送信可否判断手段24aは、分割プログラムを送信すると判断し、データ送受信手段22aにより、分割バッテリ制御プログラム記録領域233aに保存している分割プログラムをバッテリ制御装置1へ送信し、処理を終了する。
【0042】
次に、第3種ノードであるテスタ3におけるプログラム書き換えに関する処理の流れについて、図4(b)を用いて説明する。テスタ3では、関連ノードへのプログラム書き換え実施の通知と、書き換え用プログラムの送信処理を実施する。なお、図4(b)は、各ノードに対し、バッテリ制御装置1のプログラム書き換え実施を通知した後の処理フローを示している。
【0043】
まず、ステップ411(S411)において、テスタ3のプログラム分割手段34は、記録装置33のバッテリ制御プログラム記録領域331に記録されている書き換え用プログラムを分割し、分割プログラムを作成する。続いてステップ412(S412)において、データ送受信手段32により、分割プログラムをそれぞれ各第2種ノードへ送信する。本実施の形態1では、第2種ノードを2つ備えているため、書き換え用プログラムを2つに分割し、分割プログラムAと分割プログラムBを作成し、例えば分割プログラムAをEPS制御装置2aに、分割プログラムBをモータ制御装置2bに送信する。
【0044】
次に、ステップ413(S413)において、全ての分割プログラムが送信されたか否かを判断する。全ての分割プログラムが送信されていない場合(NO)、S412へ進み、全て送信されていた場合には(YES)、処理を終了する。
【0045】
以上、図3及び図4のフローチャートにより、各ノードのプログラム書き換えに関する処理の流れについて説明したが、次に、これら全てのノードの処理の流れを図5のタイムチャートに沿って説明する。図5において、縦軸は各ノード、横軸は時間を示している。なお、図5では、テスタ3は既にCANネットワーク6に接続されており、各ノード間の通信は、全てCANネットワーク6を介して行われる。また、EPS制御装置2a及びモータ制御装置2bは、それぞれ通常の処理を実施していないものとする。
【0046】
t10において、バッテリ制御装置1は、バッテリ10の制御に関わる通常の処理を実施している(処理10)。続いて、t11において、テスタ3は、データ送受信手段32により、バッテリ制御装置1に対しプログラム書き換えを実施することを通知する(処理40)。
【0047】
テスタ3から書き換え実施通知を受信したバッテリ制御装置1の状態検出手段15は、バッテリ制御プログラムを書き換え可能な状態であるか否かを判断する(処理11)。ここでは、通常の処理を実施しているため、書き換え不可と判断される。続いてt12において、バッテリ制御装置1は、EPS制御装置2a、モータ制御装置2b、及びテスタ3に対し、書き換え実施不可であることを通知する(処理12)。EPS制御装置2a、モータ制御装置2b、及びテスタ3は、それぞれバッテリ制御装置1が書き換え不可であることを受信する(処理20、処理30、処理41)。
【0048】
次に、t13において、バッテリ制御装置1は、バッテリ10の制御に関わる通常の処理を再開する(処理10)。t14において、テスタ3は、自身が保存しているバッテリ制御プログラムの書き換え用プログラムを、プログラム分割手段34により分割し、分割プログラムを作成する(処理42)。なお、ここでは、書き換え用プログラムを分割プログラムAと分割プログラムBの2つに分割するものとする。
【0049】
続いて、t15において、テスタ3は、分割プログラムAをEPS制御装置2aへ送信する(処理43)。これを受信したEPS制御装置2aは、分割プログラムAを分割バッテリ制御プログラム記録領域233aに保存する(処理21)。次に、t16において、テスタ3は、まず、全ての分割プログラムを送信したか否かを確認する。ここでは、分割プログラムBが未送信のため、処理を継続し、分割プログラムBをモータ制御装置2bへ送信する(処理44)。
【0050】
分割プログラムBを受信したモータ制御装置2bは、分割プログラムBを分割バッテリ制御プログラム記録領域233bに保存する(処理31)。さらに、テスタ3は、全ての分割プログラムを送信したか否かを確認し、ここでは全ての分割プログラムが送信済みのため、処理を終了する。ここまでの処理が終了すると、テスタ3をCANネットワーク6から取り外すことが可能となる。
【0051】
その後、t17において、バッテリ制御装置1が通常の処理を終了すると、t18において、状態検出手段15は、バッテリ制御プログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、状態検出手段15は、記録装置13のバッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。ここでは、書き換えられていないと判断される。
【0052】
さらに、状態検出手段15は、バッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムが書き換え中であるか否かを判断する。ここでは、いずれの部分も書き換え中でないため、バッテリ制御装置1は、EPS制御装置2aへ分割プログラムの送信を指示し(処理13)、EPS制御装置2aのデータ送受信手段22aは、分割プログラムの送信指示を受信する(処理22)。
【0053】
続いてt19において、EPS制御装置2aの送信可否判断手段24aは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23aの分割バッテリ制御プログラム記録領域233aに保存している分割プログラムAを、データ送受信手段22aにより送信する(処理23)。これによりEPS制御装置2aは処理を終了する。また、分割プログラムAを受信したバッテリ制御装置1は、プログラム書き換え手段14により、バッテリ制御プログラムの分割プログラムAに該当する部分を書き換える(処理14)。
【0054】
次に、t20において、状態検出手段15は、バッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。ここでは、書き換えられていないと判断される。さらに、状態検出手段15は、バッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムが書き換え中であるか否かを判断する。ここでは、いずれの部分も書き換え中でないため、バッテリ制御装置1は、モータ制御装置2bへ分割プログラムの送信を指示し(処理15)、モータ制御装置2bのデータ送受信手段22bは、分割プログラムの送信指示を受信する(処理32)。
【0055】
続いてt21において、モータ制御装置2bの送信可否判断手段24bは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23bの分割バッテリ制御プログラム記録領域233bに保存している分割プログラムBを、データ送受信手段22bにより送信する(処理33)。これによりモータ制御装置2bは処理を終了する。また、分割プログラムBを受信したバッテリ制御装置1は、プログラム書き換え手段14により、バッテリ制御プログラムの分割プログラムBに該当する部分を書き換える(処理16)。その後、状態検出手段15は、全てのバッテリ制御プログラムの書き換えが終了しているか否かを判断する。ここでは、全て書き換えられているため、書き換えに関する処理を終了する。
【0056】
なお、本実施の形態1において、テスタ3に分割プログラムを暗号化する暗号化手段を備え、暗号化手段により暗号化した分割プログラムをEPS制御装置2aとモータ制御装置2bに送信し、暗号化された分割プログラムをEPS制御装置2aとモータ制御装置2bに保存するようにしても良い。あるいは、EPS制御装置2a及びモータ制御装置2bに暗号化手段を備え、テスタ3から受信した分割プログラムを暗号化手段により暗号化してから保存するようにしても良い。
【0057】
また、暗号化手段により暗号化された分割プログラムを復号化する復号化手段をバッテリ制御装置1に備え、EPS制御装置2aまたはモータ制御装置2bから暗号化された分割プログラムを受信した際に、復号化手段により分割プログラムを復号化するようにしても良い。あるいは、EPS制御装置2a及びモータ制御装置2bに復号化手段を備え、それらに保存された暗号化された分割プログラムを復号化手段により復号化した後、バッテリ制御装置1に送信するようにしても良い。すなわち、第2種モードに暗号化手段と復号化手段を備えても良い。
【0058】
上記のような暗号化手段と復号化手段を備えることにより、CANネットワーク6で第三者に解読される危険性、またはEPS制御装置2a及びモータ制御装置2bに保存時に第三者に解読される危険性を低減することができ、プログラム書き換えを安全に実施することが可能となる。
【0059】
以上のように、本実施の形態1に係るプログラム書き換システムでは、テスタ3からバッテリ制御装置1へプログラム書き換え実施を通知し、バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施していた場合に、テスタ3は、バッテリ制御プログラムの書き換え用プログラムを分割して分割プログラムを作成し、EPS制御装置2aとモータ制御装置2bそれぞれに送信する。
【0060】
その後、バッテリ制御装置1がプログラム書き換え実施可能となった時点で、EPS制御装置2aとモータ制御装置2bは、自身が保存する分割プログラムをそれぞれバッテリ制御装置1に送信し、バッテリ制御装置1は、これらを受信する度に、受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換えるものである。
【0061】
このようなプログラム書き換え方法(システム)によれば、バッテリ制御装置1が通常の処理を実施していない所定のタイミングでバッテリ制御プログラムを書き換えることができ、且つ、バッテリ制御装置1が通常の処理を実施中であっても、テスタ3は、書き換え用プログラムを分割し、EPS制御装置2aとモータ制御装置2bにそれぞれ分割プログラムを送信し、送信が終了すると所定のタイミングを待つことなくCANネットワーク6から切り離すことが可能となるため、効率の良いプログラムの書き換えを実施することができる。
【0062】
さらに、書き換え用プログラムを分割して複数の第2種ノード(本実施の形態1ではEPS制御装置2aとモータ制御装置2bの2つ)に保存するため、第2種ノードに全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要がなく、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【0063】
実施の形態2.
図6は、本発明の実施の形態2に係るプログラム書き換え方法が実施される車両制御システムの構成を示し、本実施の形態2に係るプログラム書き換えシステムは、図6に示す車両制御システムに含まれるものである。また、図7は、本実施の形態2に係る車両制御システムにおける第4及び第5種ノードに備えられた記録装置の領域構成を示している。なお、図6において、各制御装置及び充電ステーションは、図6に示す以外の構成物も備えているが、本実施の形態2に直接関係しないものについては図示を省略し、上記実施の形態1(図1)において説明したものについては説明を省略する。
【0064】
本実施の形態2に係る車両制御システムは、上記実施の形態1に係る車両制御システムのテスタ3(第3種ノード)を含まず、第4種ノードである車載充電器制御装置4と、第5種ノードである充電ステーション5を含んで構成される。車載充電器制御装置4は、第1のネットワークであるCANネットワーク6と第2のネットワークである電力線ネットワーク7aに接続され、CANネットワーク6を介して第1種ノードであるバッテリ制御装置1、及び第2種ノードであるEPS制御装置2a及びモータ制御装置2bと互いに通信可能である。
【0065】
また、充電ステーション5は、車載充電器40と常時接続されているわけではなく、バッテリ116の充電時等、必要に応じて随時、車載充電器40に電力線7で接続される。それと同時に充電ステーション5と車載充電器制御装置4が電力線7で接続され、充電ステーション5と車載充電器制御装置4の間に、車載充電器40を介して電力線7を使った電力線ネットワーク7aが確立される。これにより、車載充電器制御装置4と充電ステーション5は、電力線ネットワーク7aを介して互いに通信可能となる。
【0066】
まず、充電ステーション5の構成と機能について簡単に説明する。マイコン51は、充電ステーション5の動作に関わる各種処理を実施する。電力線ネットワーク用データ送受信手段52は、電力線ネットワーク7aを介して、電力線7に接続された車載充電器制御装置4とデータを送受信する。また、記録装置53は、バッテリ制御プログラムの書き換え用プログラムを保存する第5の記録領域を有する。
【0067】
記録装置53の領域構成について、図7(b)を用いて説明する。記録装置53は、バッテリ制御プログラムの書き換えプログラムを保存する第5の記録領域であるバッテリ制御プログラム記録領域531を備えている。バッテリ制御プログラム記録領域531に保存された書き換え用プログラムは、電力線ネットワーク7aを介して車載充電器制御装置4に送信される。
【0068】
次に、車載充電器制御装置4の構成と機能について簡単に説明する。マイコン41は、車載充電器40の動作に関わる各種処理を実施する。データ送受信手段42は、CANネットワーク6を介して、接続された他の制御装置(バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bを含む)とデータを送受信する。また、記録装置43は、第4の記録領域であるバッテリ制御プログラム一時記録領域433を有する。
【0069】
記録装置43の領域構成について、図7(a)を用いて説明する。記録装置43は、車載充電器40の制御内容を決定する車載充電器制御プログラムを保存する車載充電器制御プログラム記録領域431と、車載充電器157の制御に関わるデータ等を保存する車載充電器制御プログラム用記録領域(データ用)432と、充電ステーション5から受信した書き換え用プログラムを一時的に保存するバッファ領域であるバッテリ制御プログラム一時記録領域433を備えている。なお、バッテリ制御プログラム一時記録領域433は、バッテリ制御プログラム全てを保存する容量を持つ必要はなく、記録装置43の空き領域等を割り当てることが出来る。
【0070】
また、第2のプログラム分割手段であるプログラム分割手段44は、バッテリ制御プログラム一時記録領域433に保存された書き換え用プログラムが一定量になる毎に該書き換え用プログラムを分割し、分割プログラムを作成する。プログラム分割手段44により作成された分割プログラムは、それぞれCANネットワーク6を介してEPS制御装置2a及びモータ制御装置2bに送信される。
【0071】
また、第3の状態検出手段である第1種ノード状態検出手段45は、バッテリ制御装置1がプログラムを書き換え可能な状態であるか否か、あるいはプログラムの全ての領域が書き換えられているか否か等の状態を検出する。第1種ノード状態検出手段45により書き換え可能であると検出された場合は、CANネットワーク6を介してEPS制御装置2a及びモータ制御装置2bに通知し、通知を受けたEPS制御装置2a及びモータ制御装置2bは、自身が保存する分割プログラムをバッテリ制御装置1に送信する。電力線ネットワーク用データ送受信手段46は、電力線ネットワーク7aを介して、電力線7に接続された充電ステーション5とデータを送受信する。
【0072】
次に、本実施の形態2に係るプログラム書き換えシステムの各ノードにおける処理の流れについて、図8〜図10のフローチャートを用いて説明する。ただし、第2種ノードであるEPS制御装置2a及びモータ制御装置2bの処理の流れは、上記実施の形態1と同じであるため説明を省略する(図4(a)参照)。
【0073】
図8は、第5種ノードである充電ステーション5におけるプログラム書き換えに関する処理の流れを示している。充電ステーション5では、プログラム書き換え対象であるバッテリ制御装置1への書き換え指示と、書き換え用プログラムの送信処理を実施する。図8は、書き換え指示を送信後の処理フローを示している。
【0074】
まず、ステップ801(S801)において、電力線ネットワーク用データ送受信手段52により、バッテリ制御プログラムの書き換え用プログラムを、電力線ネットワーク7aを介して車載充電器制御装置4へ送信し、ステップ802(S802)に進む。S802では、全ての書き換え用プログラムが送信されたかどうかを判断する。送信されていない場合(NO)はS801へ進み、全て送信している場合(YES)には、処理を終了する。
【0075】
次に、第4種ノードである車載充電器制御装置4におけるプログラム書き換えに関する処理の流れについて、図9を用いて説明する。車載充電器制御装置4では、車載充電器40の制御に関わる通常の処理と、バッテリ制御装置1のプログラム書き換えに関する処理が実施される。プログラム書き換えに関する処理は、充電ステーション5から書き換え実施の通知があった場合に実施されるが、通常の処理が実施されている時には、書き換えに関する処理は実施しない。図9(a)は、充電ステーション5からの書き換え実施の通知を受信後の処理フローを示している。
【0076】
まず、ステップ901(S901)において、第1種ノード状態検出手段45により、
バッテリ制御装置1がバッテリ制御プログラムを書き換えることができる状態か否かを判断する。具体的には、バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施しているか否かを判断する。通常の処理が実施されていない場合には、ステップ909(S909)へ進み、通常の書き換え処理を実施する。なお、S909の通常の書き換え処理とは、充電ステーション5から車載充電器制御装置4でのデータ転送を経由して、バッテリ制御装置1のバッテリ制御プログラムを書き換える従来の書き換え方法によるものであり、本発明の特徴である書き換え用プログラムを分割して行うものではないため、説明を省略する。
【0077】
S901において、バッテリ制御装置1が通常の処理を実施している場合、プログラム書き換え不可であるため(NO)、ステップ902(S902)へ進み、データ送受信手段42によりCANネットワーク6を介して関連ノードへ分割書き換えを実施することを連絡する。さらに、ステップ903(S903)において、充電ステーションから書き換え用プログラムを受信し、作成した分割プログラムを第2種ノードに送信する送受信処理を実施する。(S903の送受信処理については後に図9(b)で説明する)。
【0078】
次に、ステップ904(S904)において、第1種ノード状態検出手段45は、バッテリ制御装置1が通常の処理をしているか否かにより、プログラムを書き換えることができる状態か再び判断する。書き換え可能な場合(YES)は、ステップ905(S905)へ進み、書き換え不可の場合(NO)は書き換え可能となるまで待機する。
【0079】
S905では、さらに、第1種ノード状態検出手段45により、バッテリ制御装置1のバッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。全て書き換えられている場合(YES)は、ステップ908(S908)へ進み、データ送受信手段42によりバッテリ制御装置1へ全ての書き換えが終了したことを送信し、処理を終了する。
【0080】
また、S905において、全て書き換えられていない場合(NO)は、ステップ906(S906)へ進み、第1種ノード状態検出手段45は、バッテリ制御装置1がプログラム書き換え中であるか否かを判断する。バッテリ制御プログラム記録領域132のいずれの部分も書き換え中でなければ(NO)、ステップ907(S907)へ進み、書き換え中であれば(YES)、書き換えが終了するまで待機する。
【0081】
S907において、第1種ノード状態検出手段45は、バッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの書き換えが終了していない部分を検出し、その部分に該当する分割プログラムを保存している第2種ノードに対し、データ送受信手段42により分割プログラムの送信を指示する。
【0082】
次に、図9(b)を用い、S903の送受信処理の詳細について説明する。ステップ911(S911)において、充電ステーション5から送信されたバッテリ制御プログラムの書き換え用プログラムを、一定量受信しているか否か判断する。書き換え用プログラムは容量が大きいため、全て受信するまでにある程度の時間を必要とし、受信したプログラムは適時、バッテリ制御プログラム一時記録領域433に保存される。S911において、一定量受信している場合(YES)は、ステップ912(S912)へ進み、一定量受信していない場合(NO)は、一定量受信するまで待機する。
【0083】
S912において、プログラム分割手段44は、バッテリ制御プログラム一時記録領域433に保存されているバッテリ制御プログラムを分割し、分割プログラムを作成する。続いてステップ913(S913)において、データ送受信手段42により、分割プログラムを第2種モード(ここではEPS制御装置2aまたはモータ制御装置2b)へ送信する。さらに、ステップ914(S914)では、充電ステーション5から書き換え用プログラムを全て受信したか否かを判断する。受信していない場合(NO)、S911へ進み、受信している場合(YES)は処理を終了する。
【0084】
次に、第1種ノードであるバッテリ制御装置1におけるプログラム書き換えに関する処理の流れについて、図10を用いて説明する。なお、バッテリ制御装置1では、バッテリ10の制御に関わる通常の処理と、バッテリ制御プログラムの書き換えに関する処理が実施される。プログラム書き換えに関する処理は、充電ステーション5からの書き換え指示があった場合に実施され、図10は、充電ステーション5から書き換え実施の通知を受信後の処理フローを示している。
【0085】
まず、ステップ101(S101)において、車載充電器制御装置4から分割書き換え指示(図9のS902)があったか否かを判断する。分割書き換え指示があった場合(YES)は、ステップ102(S102)へ進み、指示がなかった場合(NO)は、ステップ105(S105)において通常のプログラム書き換え処理を実施する。なお、S105の通常の書き換え処理とは、充電ステーション5から車載充電器制御装置4でのデータ転送を経由して、バッテリ制御装置1のバッテリ制御プログラムを書き換える従来の書き換え方法によるものであり、本発明の特徴である書き換え用プログラムを分割して行うものではないため、説明を省略する。S102において、データ送受信手段12は、分割プログラムの受信を待ち、受信した場合(YES)はステップ103(S103)へ進む。S102において受信しない場合(NO)は、受信するまで待機する。
【0086】
S103では、プログラム書き換え手段14が、プログラム書き換えプログラムを用い、受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換える。さらに、ステップ104(S104)において、バッテリ制御プログラムを全ての部分を書き換えたか否かを、車載充電器制御装置4からの通知(図9のS908)により判断する。通知がない場合(NO)は、S102へ進み、他の分割プログラムの受信を待ち、通知があった場合(YES)は処理を終了する。
【0087】
以上、図8〜図10(及び図4(a))のフローチャートにより、各ノードのプログラム書き換えに関する処理の流れについて説明したが、次に、これら全てのノードの処理の流れを図11のタイムチャートに沿って説明する。図11において、縦軸は各ノード、横軸は時間を示している。なお、図11では、充電ステーション5と車載充電器制御装置4は、既に車載充電器40を介して電力線ネットワーク7aで接続されており、EPS制御装置2a及びモータ制御装置2bは、それぞれ通常の処理を実施していないものとする。
【0088】
t30において、バッテリ制御装置1は、バッテリ10の制御に関わる通常の処理を実施している(処理10)。t31において、充電ステーション5は、電力線ネットワーク用データ送受信手段52により、電力線ネットワーク7aを介して車載充電器制御装置4へバッテリ制御装置1のプログラム書き換えを実施することを通知する(処理60)。
【0089】
プログラム書き換え実施の通知を受信した車載充電器制御装置4は、第1種ノード状態検出手段45により、バッテリ制御装置1がプログラム書き換え可能か否かを判断する(処理50)。ここでは、通常の処理を実施しているため書き換え不可と判断する。
【0090】
続いて、t32において、車載充電器制御装置4は、バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bに対して、書き換え不可であるため分割書き換えを実施することを通知する(処理51)。バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bは、分割書き換え実施の通知をそれぞれ受信する(処理17、処理20、処理30)。
【0091】
t33において、バッテリ制御装置1は、通常の処理を再開する(処理10)。続いてt34において、充電ステーション5は、電力線ネットワーク7aを介して、自身が保存するバッテリ制御プログラムの書き換え用プログラムの車載充電器制御装置4への送信を開始する(処理61)。車載充電器制御装置4は、受信した書き換え用プログラムを適時、バッテリ制御プログラム一時記録領域433に保存する(処理52)。
【0092】
t35において、受信した書き換え用プログラムが一定量を超えると、車載充電器制御装置4は、プログラム分割手段44により、バッテリ制御プログラム一時記録領域433に保存されている書き換え用プログラムから、分割プログラムAを作成する。さらに、作成した分割プログラムAをデータ送受信手段42によりEPS制御装置2aへ送信する(処理53)。EPS制御装置2aは、受信した分割プログラムAを分割バッテリ制御プログラム記録領域233aへ保存する(処理21)。
【0093】
次に、t36において、受信した書き換え用プログラムが再び一定量を超えると、車載充電器制御装置4は、プログラム分割手段44により、バッテリ制御プログラム一時記録領域433に記録されている書き換え用バッテリ制御プログラムから、分割プログラムBを作成する。さらに、作成した分割プログラムBをデータ送受信手段42によりモータ制御装置2bへ送信する(処理54)。モータ制御装置2bは、受信した分割プログラムBを分割バッテリ制御プログラム記録領域233bへ保存する(処理31)。
【0094】
車載充電器制御装置4が全ての書き換え用プログラムを受信すると、充電ステーション5は、プログラム書き換えに関する処理を終了する。これ以降は、充電ステーション5は車載充電器40と接続している必要はなく、バッテリ制御装置1がプログラム書き換え中であっても取り外し可能である。
【0095】
t37において、バッテリ制御装置1が通常の処理を終了すると、t38において、車載充電器制御装置4の第1種ノード状態検出手段45は、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、第1種ノード状態検出手段45は、記録装置13のバッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。ここでは、書き換えられていないと判断される。
【0096】
さらに、第1種ノード状態検出手段45は、バッテリ制御装置1のバッテリ制御プログラム記録領域132が書き換え中か否かを判断する。ここでは、書き換え中でないため、データ送受信手段42により、EPS制御装置2aへ分割プログラムの送信を指示する(処理55)。EPS制御装置2aのデータ送受信手段22aは、分割プログラムの送信指示を受信する(処理22)。
【0097】
続いてt39において、EPS制御装置2aの送信可否判断手段24aは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23aの分割バッテリ制御プログラム記録領域233aに保存している分割プログラムAを、データ送受信手段22aにより送信する(処理23)。これによりEPS制御装置2aは処理を終了する。また、これを受信したバッテリ制御装置1は、プログラム書き換え手段14により、受信した分割プログラムAに該当するバッテリ制御プログラムの部分を書き換える(処理14)。
【0098】
さらに、t40において、車載充電器制御装置4の第1種ノード状態検出手段45は、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、第1種ノード状態検出手段45は、記録装置13のバッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。ここでは、書き換えられていないと判断される。
【0099】
さらに、第1種ノード状態検出手段45は、バッテリ制御装置1のバッテリ制御プログラム記録領域132が書き換え中か否かを判断する。ここでは、書き換え中でないため、データ送受信手段42により、モータ制御装置2bへ分割プログラムの送信を指示する(処理56)。モータ制御装置2bのデータ送受信手段22bは、分割プログラムの送信指示を受信する(処理32)。
【0100】
続いてt41において、モータ制御装置2bの送信可否判断手段24bは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23bの分割バッテリ制御プログラム記録領域233bに記録している分割プログラムBを、データ送受信手段22bにより送信する(処理33)。これによりモータ制御装置2bは処理を終了する。また、これを受信したバッテリ制御装置1は、プログラム書き換え手段14により、受信した分割プログラムBに該当するバッテリ制御プログラムの部分を書き換える(処理16)。
【0101】
その後、t42において、車載充電器制御装置4の第1種ノード状態検出手段45は、
バッテリ制御プログラムの全ての書き換えが終了しているか否かを判断する。ここでは、全て書き換えられているため、データ送受信手段42によりバッテリ制御装置1へプログラム書き換えが終了したことを通知し、処理を終了する(処理57)。この通知を受信したバッテリ制御装置1は、プログラム書き換えに関する処理を終了する(処理18)。
【0102】
以上のように、本実施の形態2に係るプログラム書き換えシステムでは、充電ステーション5から車載充電器制御装置4にバッテリ制御装置1のプログラム書き換え実施を通知した際に、バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施していた場合には、充電ステーション5は、バッテリ制御プログラムの書き換え用プログラムを車載充電器制御装置4に送信し、これを受信した車載充電器制御装置4は、一定量受信(保存)すると分割プログラムAを作成してEPS制御装置2aに送信し、再度一定量保存すると分割プログラムBを作成してモータ制御装置2bに送信する。
【0103】
その後、バッテリ制御装置1がプログラム書き換え可能となった時点で、EPS制御装置2aは分割プログラムAを、モータ制御装置2bは分割プログラムBを、それぞれバッテリ制御装置1に送信し、バッテリ制御装置1は、これらを受信する度に受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換えるものである。
【0104】
このようなプログラム書き換え方法(システム)によれば、上記実施の形態1と同様に、バッテリ制御装置1が通常の処理を実施していない所定のタイミングでバッテリ制御プログラムを書き換えることができ、且つ、バッテリ制御装置1が通常の処理を実施中であっても、充電ステーション5は、書き換え用プログラムを車載充電器制御装置4に送信し、送信が終了すると所定のタイミングを待つことなく電力線ネットワーク7aから切り離すことが可能となるため、効率の良いプログラムの書き換えを実施することができる。
【0105】
さらに、本実施の形態2では、車載充電器制御装置4は、書き換え用プログラムを一定量受信(保存)する毎に分割プログラムを作成し、その都度、第2種ノードであるEPS制御装置2aとモータ制御装置2bに送信するため、車載充電器制御装置4に全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要はない。また、上記実施の形態1と同様に、第2種ノードにも大きな記録容量を設ける必要がなく、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【0106】
実施の形態3.
図12は、本発明の実施の形態3に係るプログラム書き換え方法が実施される車両制御システムの構成を示し、本実施の形態3に係るプログラム書き換えシステムは、図12に示す車両制御システムに含まれるものである。なお、図12において、各制御装置及び充電ステーションは、図12に示す以外の構成物も備えているが、本実施の形態3に直接関係しないものについては図示を省略する。
【0107】
上記実施の形態2では、第4種ノードである車載充電器制御装置4に第1種ノード状態検出手段45を備えていたが、本実施の形態3では、第2種ノードであるEPS制御装置2aとモータ制御装置2bに、それぞれ第1種ノード状態検出手段25a、25bを備えたものである。なお、それ以外の構成及び機能については上記実施の形態2と同様であるため説明を省略する。
【0108】
EPS制御装置2aとモータ制御装置2bに備えられた第1種ノード状態検出手段25a、25bは、上記実施の形態2において車載充電器制御装置4に備えられた第1種ノード状態検出手段45(図6参照)と同様に、バッテリ制御装置1がバッテリ制御プログラムを書き換え可能な状態であるか否か、あるいはバッテリ制御プログラムが全て書き換えられているか否か等の状態を検出するものである。
【0109】
本実施の形態3に係るプログラム書き換えシステムの各ノードにおける処理の流れについて、図13及び図14のフローチャートを用いて説明する。ただし、第1種ノードであるバッテリ制御装置1と第5種ノードである充電ステーション5の処理の流れは、上記実施の形態2と同じであるため説明を省略する(図8、図10参照)。
【0110】
図13は、第2種ノードであるEPS制御装置2a及びモータ制御装置2bにおけるプログラム書き換えに関する処理の流れを示している。EPS制御装置2a(またはモータ制御装置2b)では、EPS20a(または駆動用モータ20b)の制御に関わる通常の処理と、バッテリ制御装置1のプログラム書き換えに関する処理が実施される。プログラム書き換えに関する処理は、充電ステーション5から書き換え実施の通知があった場合に実施されるが、通常の処理が実施されている時には書き換えに関する処理は実施しない。なお、EPS制御装置2aとモータ制御装置2bにおけるプログラム書き換えに関する処理は同じであるので、ここではEPS制御装置2aを例に挙げて説明する。
【0111】
EPS制御装置2aは、充電ステーション5から書き換え実施の通知を受信後、ステップ131(S131)において、第1種ノード状態検出手段25aにより、バッテリ制御装置1がバッテリ制御プログラムを書き換えることができる状態か否かを判断する。具体的には、バッテリ制御装置1がバッテリ10の制御に関する通常の処理を実施しているか否かを判断する。通常の処理が実施されていない場合には通常のプログラム書き換え処理が可能であるため処理を終了する。
【0112】
S131において、バッテリ制御装置1が通常の処理を実施している場合、プログラム書き換え不可であるため(NO)、ステップ132(S132)へ進む。S132では、データ送受信手段22aにより関連ノードへ分割書き換えを実施することを通知し、ステップ133(S133)へ進む。S133において、車載充電器制御装置4から分割プログラムを受信した場合(YES)、ステップ134(S134)へ進む。S133において、分割プログラムを受信していない場合(NO)、受信するまで待機する。
【0113】
続いてS134では、データ送受信手段22aにより受信した分割プログラムを、記録装置23aの分割バッテリ制御プログラム記録領域233aへ記録し、ステップ135(S135)へ進む。S135において、第1種ノード状態検出手段25aにより、バッテリ制御装置1がバッテリ制御プログラムを書き換えることができる状態か否かを、再度判断する。書き換え可能な場合(YES)はステップ136(S136)へ進み、書き換え不可の場合(NO)は、書き換え可能になるまで待機する。
【0114】
S136では、第1種ノード状態検出手段25aにより、バッテリ制御装置1がプログラム書き換え中であるか否かを判断する。バッテリ制御装置1のバッテリ制御プログラム記録領域132のいずれの部分も書き換え中でなければ(NO)、ステップ137(S137)へ進み、書き換え中であれば(YES)、書き換えが終了するまで待機する。
【0115】
続いてS137において、送信可否判断手段24aは、分割プログラムを送信すると判断し、データ送受信手段22aにより、記録装置23aの分割バッテリ制御プログラム記録領域233aに記録している分割プログラムをバッテリ制御装置1へ送信し、ステップ138(S138)へ進む。
【0116】
S138では、第1種ノード状態検出手段25aにより、バッテリ制御装置1のバッテリ制御プログラムが全て書き換えられているか否かを判断する。全て書き換えられている場合(YES)は、ステップ139(S139)へ進み、データ送受信手段22aにより、関連ノードへ全ての書き換えが終了したことを連絡し、処理を終了する。全て書き換えられていない場合(NO)も、自身が保存する分割プログラムを送信済みのため、処理を終了する。
【0117】
次に、第4種ノードである車載充電器制御装置4におけるプログラム書き換えに関する処理の流れについて、図14を用いて説明する。車載充電器制御装置4では、車載充電器40の制御に関わる通常の処理と、バッテリ制御装置1のプログラム書き換えに関する処理が実施される。プログラム書き換えに関する処理は、充電ステーション5から書き換え実施の通知があった場合に実施されるが、通常の処理が実施されている時には、プログラム書き換えに関する処理は実施しない。図14は、充電ステーション5からの書き換え実施の通知を受信後の処理フローを示している。
【0118】
まず、ステップ141(S141)において、第2種ノードであるEPS制御装置2aまたはモータ制御装置2bから、分割書き換え指示があったかどうか判断する。分割書き換え指示があった場合(YES)は、ステップ142(S142)へ進み、指示がなかった場合(NO)はステップ146(S146)に進み、通常の書き換え処理を実施する。なお、S146の通常の書き換え処理とは、充電ステーション5から車載充電器制御装置4でのデータ転送を経由して、バッテリ制御装置1のバッテリ制御プログラムを書き換える従来の書き換え方法によるものであり、本発明の特徴である書き換え用プログラムを分割して行うものではないため、説明を省略する。
【0119】
S142では、第5種ノードである充電ステーション5から送信される書き換え用バッテリ制御プログラムを、一定量受信しているかどうか判断する。充電ステーション5から送信される書き換え用バッテリ制御プログラムは容量が大きいため、全て受信するまでにはある程度の時間を要する。受信した書き換え用バッテリ制御プログラムは適時、バッテリ制御プログラム一時記録領域433に保存される。S142において、一定量受信している場合(YES)には、ステップ143(S143)へ進み、一定量受信していない場合(NO)は、一定量受信するまで待機する。
【0120】
続いて、S143において、プログラム分割手段44は、バッテリ制御プログラム一時記録領域433に記録されているバッテリ制御プログラムを分割し、分割プログラムを作成する。続いてステップ144(S144)において、データ送受信手段42により、分割プログラムを、それぞれ第2種モード(ここではEPS制御装置2aまたはモータ制御装置2b)へ送信する。さらに、ステップ145(S145)では、充電ステーション5から書き換え用バッテリ制御プログラムを全て受信したかどうかを判断する。受信していない場合(NO)、S142へ進み、受信している場合(YES)には処理を終了する。
【0121】
以上、図8、図10、図13、及び図14のフローチャートにより、各ノードのプログラム書き換えに関する処理の流れについて説明したが、次に、これら全てのノードの処理の流れを図15のタイムチャートに沿って説明する。図15において、縦軸は各ノード、横軸は時間を示している。なお、図15では、充電ステーション5と車載充電器制御装置4は、既に車載充電器40を介して電力線ネットワーク7aで接続され、EPS制御装置2a及びモータ制御装置2bは、それぞれ通常動作は実施していないものとする。
【0122】
t50において、バッテリ制御装置1は、通常処理であるバッテリ10の制御を実施している(処理10)。続いて、t51において、充電ステーション5は、電力線ネットワーク用データ送受信手段52により、電力線ネットワーク7aを介して車載充電器制御装置4へバッテリ制御装置1のバッテリ制御プログラムの書き換えを実施することを通知する(処理60)。車載充電器制御装置4は、バッテリ制御プログラムの書き換えを実施することを、電力線ネットワーク7aを介して受信する(処理55)。
【0123】
続いて、t52において、車載充電器制御装置4は、バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bに対して、バッテリ制御プログラムの書き換えを実施することを通知する(処理56)。バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bはそれぞれ、書き換えを実施することを受信する(処理80、処理25、処理35)。
【0124】
次に、t53において、EPS制御装置2aは、第1種ノード状態検出手段25aにより、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施しているため、書き換え不可であると判断し、バッテリ制御装置1と車載充電器制御装置4に対して、書き換え実施不可であるため分割書き換えを実施することを通知する(処理26)。バッテリ制御装置1と車載充電器制御装置4は、分割書き換え実施の通知をそれぞれ受信する(処理81、処理57)。
【0125】
続いて、t54において、モータ制御装置2bは、第1種ノード状態検出手段25bにより、バッテリ制御装置1がプログラムの書き換えが可能な状態であるかどうかを判断する。ここでは、通常の処理を実施しているため、書き換え不可であると判断し、バッテリ制御装置1と車載充電器制御装置4に対して、書き換え不可であるため分割書き換えを実施することを通知する(処理36)。バッテリ制御装置1と車載充電器制御装置4は、分割書き換え実施の通知をそれぞれ受信する(処理82、処理58)。
【0126】
t55において、バッテリ制御装置1は通常の処理を再開する(処理10)。続いてt56において、充電ステーション5は、電力線ネットワーク7aを介して、自身が保存している書き換え用プログラムの車載充電器制御装置4への送信を開始する(処理61)。車載充電器制御装置4は、受信した書き換え用プログラムを適時、バッテリ制御プログラム一時記録領域433に保存する(処理52)。
【0127】
t53において、車載充電器制御装置4が受信した書き換え用プログラムが一定量を超えると、車載充電器制御装置4は、プログラム分割手段44により、バッテリ制御プログラム一時記録領域433に保存されている書き換え用プログラムから、分割プログラムAを作成する。続いて、作成した分割プログラムAをデータ送受信手段42によりEPS制御装置2aへ送信する(処理53)。EPS制御装置2aは、受信した分割プログラムAを分割バッテリ制御プログラム記録領域233aへ保存する(処理21)。
【0128】
また、t58において、車載充電器制御装置4が受信した書き換え用プログラムが再び一定量を超えると、車載充電器制御装置4は、プログラム分割手段44により、バッテリ制御プログラム一時記録領域433に記録されている書き換え用プログラムから、分割プログラムBを作成する。続いて、作成した分割プログラムBをデータ送受信手段42によりモータ制御装置2bへ送信する(処理54)。モータ制御装置2bは、受信した分割プログラムBを分割バッテリ制御プログラム記録領域233bへ記録する(処理31)。
【0129】
車載充電器制御装置4が全ての書き換え用プログラムを受信すると、充電ステーション5は、プログラム書き換えに関する処理を終了する。これ以降は、充電ステーション5は車載充電器40と接続していなくても良く、バッテリ制御装置1がプログラム書き換え中であっても取り外し可能である。
【0130】
t59において、バッテリ制御装置1が通常の処理を終了すると、t60において、EPS制御装置2aの第1種ノード状態検出手段25aは、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、第1種ノード状態検出手段25aは、バッテリ制御プログラムが書き換え中であるか否かを判断する。ここでは、書き換え中でないと判断される(処理27)。
【0131】
続いてt61において、EPS制御装置2aの送信可否判断手段24aは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23aの分割バッテリ制御プログラム記録領域233aに保存している分割プログラムAを、データ送受信手段22aにより送信する(処理23)。これを受信したバッテリ制御装置1は、プログラム書き換え手段14により、受信した分割プログラムAに該当するバッテリ制御プログラムの部分を書き換える(処理14)。
【0132】
次に、t62において、EPS制御装置2aの第1種ノード状態検出手段25aは、バッテリ制御装置1のバッテリ制御プログラムが全て書き換えられているか否かを判断する。ここでは、書き換えられていないため、処理を終了する(処理28)。
【0133】
t63において、モータ制御装置2bの第1種ノード状態検出手段25bは、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、第1種ノード状態検出手段25bは、バッテリ制御プログラムが書き換え中であるか否かを判断する。ここでは、書き換え中でないと判断される(処理37)。
【0134】
続いてt64において、モータ制御装置2bの送信可否判断手段24bは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23bの分割バッテリ制御プログラム記録領域233bに保存している分割プログラムBを、データ送受信手段22bにより送信する(処理33)。これを受信したバッテリ制御装置1は、プログラム書き換え手段14により、受信した分割プログラムBに該当するバッテリ制御プログラムの部分を書き換える(処理16)。
【0135】
その後、t65において、モータ制御装置2bの第1種ノード状態検出手段25bは、バッテリ制御プログラムが全て書き換えられているか否かを判断する。ここでは、全て書き換えられているため、データ送受信手段22bによりバッテリ制御装置1へプログラム書き換えが終了したことを通知し、処理を終了する(処理38)。これを受信したバッテリ制御装置1は、バッテリ制御プログラムの全ての書き換えが終了したと判断し、書き換えに関する処理を終了する(処理83)。
【0136】
以上のように、本実施の形態3に係るプログラム書き換え方法(システム)によれば、上記実施の形態2と同様に、プログラムの書き換えを効率良く実施することができると共に、一つのノードがコスト高になることを防ぐことができるため、全体としてのコストが抑えられる。
【0137】
なお、上記実施の形態2及び本実施の形態3において、車載充電器制御装置4に分割プログラムを暗号化する暗号化手段を備え、暗号化手段により暗号化した分割プログラムをEPS制御装置2aとモータ制御装置2bに送信し、暗号化された分割プログラムをEPS制御装置2aとモータ制御装置2bに保存するようにしても良い。あるいは、EPS制御装置2a及びモータ制御装置2bに暗号化手段を備え、車載充電器制御装置4から受信した分割プログラムを暗号化手段により暗号化してから保存するようにしても良い。
【0138】
また、暗号化手段により暗号化された分割プログラムを復号化する復号化手段をバッテリ制御装置1に備え、EPS制御装置2aまたはモータ制御装置2bから暗号化された分割プログラムを受信した際に、復号化手段により分割プログラムを復号化するようにしても良い。あるいは、EPS制御装置2a及びモータ制御装置2bに復号化手段を備え、それらに保存された暗号化された分割プログラムを復号化手段により復号化した後、バッテリ制御装置1に送信するようにしても良い。すなわち、第2種モードに暗号化手段と復号化手段を備えても良い。
【0139】
上記のような暗号化手段と復号化手段を備えることにより、CANネットワーク6で第三者に解読される危険性、またはEPS制御装置2a及びモータ制御装置2bに保存時に第三者に解読される危険性を低減することができ、プログラム書き換えを安全に実施することが可能となる。
【0140】
また、上記実施の形態1〜実施の形態3では、2つの第2種ノードを備えた車両制御システムを例に挙げて説明したが、第2種ノードの数はこれに限定されるものではない。第2種ノードの数を増やすことにより、各分割プログラムの容量を低減することができ、各第2種ノードに必要となる記録容量を抑えることができる。さらに、第1のネットワークとしてCANネットワーク6を、第2のネットワークとして電力線ネットワーク7を例に挙げて説明したが、ネットワークの種類はこれに限るものではない。
【0141】
また、上記実施の形態1〜実施の形態3では、第1種ノードのプログラム書き換えが成功することを前提として説明したが、失敗した場合に備えて、第1種ノードにタイムアウト時間等を設定しておき、所定時間が経過しても分割プログラムを受信できない場合や書き換えが終了しない場合には、書き換え処理を強制的に終了させるようにしても良い。ただし、書き換え処理を途中で終了させる場合には、別の動作可能な制御プログラムを用意しておく、関連ノードに故障状況を示す一意のコードを記録しておく等の対応策を併せて用意しておく必要がある。
【産業上の利用可能性】
【0142】
本発明は、ネットワークに接続された複数の制御装置を含むシステム(例えば車両制御システム)におけるプログラムの書き換え方法として利用することができる。
【符号の説明】
【0143】
1 バッテリ制御装置(第1種ノード)、2a EPS制御装置(第2種ノード)、
2b モータ制御装置(第2種ノード)、3 テスタ(第3種ノード)、
4 車載充電器制御装置(第4種ノード)、5 充電ステーション(第5種ノード)、
6 CANネットワーク、7 電力線、7a 電力線ネットワーク、
8 車両のネットワーク、10 バッテリ、
11、21a、21b、31、41、51 マイコン、
12、22a、22b、32、42 CANネットワーク用データ送受信手段、
13、23a、23b、33、43、53 記録装置、
14 プログラム書き換え手段、15 状態検出手段、
16 第1の制御装置、17 統括制御装置、18 第2の制御装置、
20a EPS、20b 駆動用モータ、24a、24b 送信可否判断手段、
25a、25b、45 第1種ノード状態検出手段、34、44 プログラム分割手段、40 車載充電器、46、52 電力線ネットワーク用データ送受信手段。
【技術分野】
【0001】
本発明は、プログラム書き換えシステム及びプログラム書き換え方法に関し、特にネットワークに接続された複数の制御装置におけるプログラムの書き換え方法に関する。
【背景技術】
【0002】
従来、ネットワークに接続された制御装置のプログラム書き換え方法として、例えば特許文献1に提示された方法が知られている。特許文献1におけるプログラム書き換え方法について図16を用いて説明する。図16(a)に示すように、車両のネットワーク8には、外部とのインターフェイス機能を有する書き換えを実施する第1の制御装置16と、統括制御装置17と、プログラムのデータを書き換える対象である第2の制御装置18と、複数ある第3の制御装置19が接続されている。
【0003】
統括制御装置17は、外部とのインターフェイス機能を有する第1の制御装置16と所定の機能を有するゲートウェイ17aを介して接続されており、さらに、所定のデータを記憶しうる記憶媒体17bと、全体を制御するCPU17cを有している。また、プログラムデータの書き換え対象である第2の制御装置18は、所定のデータを記憶する記憶媒体18aと、所定の入力信号により最適な制御を行うことができるCPU18bとメモリ18cを有している。
【0004】
また、図16(b)に示すように、第1の制御装置16は、データ入力部16aと、データ入力部16aからのデータを一時的に記憶する記憶装置16eと、第1の制御装置16全体を制御するCPU16dと、ゲートウェイ17aとの間の入出力インターフェイスを構成する第1のインターフェイス部16cと、表示部などの出力部に出力する第2のインターフェイス部16bを有している。
【0005】
この先行例では、第2の制御装置18のプログラムデータの書き換えを実施する際に、第1の制御装置16のデータ入力部16aから入力されたプログラム書き換え用のデータは、CPU16dの制御に基づいてデータ出力部16cを介してゲートウェイ17aに出力される。その後、ゲートウェイ17aを経由して、統括制御装置17の記録媒体17bに一時蓄積される。さらに、電圧や温度範囲等の書き換え実施条件が満たされた時に、プログラム書き換え用のデータを第2の制御装置18の記録媒体18aへ車両のネットワーク8を介して送信する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第4668656号
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に提示されたプログラムの書き換え方法では、1つの通信ノードである統括制御装置17内に、プログラム書き換え用のデータ全てを記録する容量を持つ記録媒体17bが必要であり、そのためにコストが上昇するという課題があった。
【0008】
本発明は、上記のような課題を解決するためになされたものであり、ネットワークに接続された制御装置のプログラムの書き換えを効率良く実施することができ、且つ1つのノードがコスト高とならないようにしたプログラム書き換えシステム及びプログラム書き換え方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係るプログラム書き換えシステムは、第1のネットワークを介して互いに通信可能に接続された第1種ノードと複数の第2種ノードを含み、第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換えシステムであって、第1種ノードは、プログラムを保存する第1の記録領域と、第1の記録領域に保存されたプログラムを部分的に書き換えるプログラム書き換え手段を有し、第2種ノードは、プログラムの書き換え用プログラムの一部分である分割プログラムを保存する第2の記録領域と、第1種ノードへの分割プログラムの送信可否を判断する送信可否判断手段を有し、各第2種ノードは、送信可否判断手段が第1種ノードへの分割プログラムの送信が可能であると判断した場合に、自身が保存する分割プログラムを第1のネットワークを介して第1種ノードに送信し、第1種ノードは、各第2種ノードから分割プログラムを受信する度に、第1の記録領域に保存されたプログラムの該分割プログラムに該当する部分を、プログラム書き換え手段により書き換えるものである。
【0010】
また、本発明に係るプログラム書き換え方法は、第1のネットワークに常時接続されている第1種ノード及び複数の第2種ノードと、第1のネットワークに随時接続される第3種ノードにおいて、第1種ノードに保存された第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換え方法であって、プログラムの書き換え用プログラムを保存する第3種ノードにおいて、書き換え用プログラムを分割して分割プログラムを作成し、それぞれの分割プログラムを第1のネットワークを介して各第2種ノードに送信するステップと、第2種ノードにおいて、受信した分割プログラムを保存するステップと、第2種ノードにおいて、第1種ノードへの分割プログラムの送信可否を判断し、送信可能と判断した場合に自身が保存している分割プログラムを第1のネットワークを介して第1種ノードに送信するステップと、第1種ノードにおいて、各第2種ノードから分割プログラムを受信する度に、プログラムの該分割プログラムに該当する部分を書き換えるステップを含むものである。
【0011】
また、第1のネットワークに常時接続されている第1種ノード、複数の第2種ノード、及び第4種ノードと、第4種ノードに第2のネットワークを介して随時接続される第5種ノードにおいて、第1種ノードに保存された第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換え方法であって、プログラムの書き換え用プログラムを保存する第5種ノードにおいて、書き換え用プログラムを第2のネットワークを介して第4種ノードに送信するステップと、第4種ノードにおいて、受信した書き換え用プログラムを一定量保存する毎に、保存した書き換え用プログラムから書き換え用プログラムの一部分となる分割プログラムを作成し、該分割プログラムを第1のネットワークを介して第2種ノードに送信するステップと、第2種ノードにおいて、受信した分割プログラムを保存するステップと、第2種ノードにおいて、第1種ノードへの分割プログラムの送信可否を判断し、送信可能と判断した場合に自身が保存している分割プログラムを第1のネットワークを介して第1種ノードに送信するステップと、第1種ノードにおいて、各第2種ノードから分割プログラムを受信する度に、プログラムの該分割プログラムに該当する部分を書き換えるステップを含むものである。
【発明の効果】
【0012】
本発明の請求項1に係るプログラム書き換えシステムによれば、複数の第2種ノードに書き換え用プログラムの一部分である分割プログラムを保存させるようにし、各第2種ノードは、自身が保存する分割プログラムをそれぞれ第1種ノードに送信し、第1種ノードは、各第2種ノードから分割プログラムを受信する度に、プログラムの該分割プログラムに該当する部分を書き換えるようにしたので、効率の良いプログラムの書き換えを実施することができるとともに、第2種ノードに全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要がなく、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【0013】
また、本発明の請求項12に係るプログラム書き換え方法によれば、第3種ノードは、保存している書き換え用プログラムを分割して複数の第2種ノードに送信し、送信が終了すると第1のネットワークから切り離すことが可能であるため、効率の良いプログラムの書き換えを実施することができると共に、第2種ノードに全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要がないため、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【0014】
また、本発明の請求項13に係るプログラム書き換え方法によれば、第5種ノードは、保存している書き換え用プログラムの第4種ノードへの送信が終了すると、第2のネットワークから切り離すことが可能であるため、効率の良いプログラムの書き換えを実施することができると共に、第4種ノードは書き換え用プログラムを一定量保存する毎に分割プログラムを作成し、その都度第2種ノードに送信するため、第4種ノード及び第2種ノード共に全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要がなく、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態1に係るプログラム書き換え方法が実施される車両制御システムの構成を示すブロック図である。
【図2】本発明の実施の形態1に係るプログラム書き換えシステムにおける第1〜第3種ノードの記録装置の領域構成を示す図である。
【図3】本発明の実施の形態1に係るプログラム書き換えシステムの第1種ノードにおける処理の流れを示す図である。
【図4】本発明の実施の形態1に係るプログラム書き換えシステムの第2種ノード及び第3種ノードにおける処理の流れを示す図である。
【図5】本発明の実施の形態1に係るプログラム書き換えシステムにおける各ノードの処理の流れを時間軸に沿って示す図である。
【図6】本発明の実施の形態2に係るプログラム書き換え方法が実施される車両制御システムの構成を示すブロック図である。
【図7】本発明の実施の形態2に係るプログラム書き換えシステムにおける第4及び第5種ノードの記録装置の領域構成を示す図である。
【図8】本発明の実施の形態2に係るプログラム書き換えシステムの第5種ノードにおける処理の流れを示す図である。
【図9】本発明の実施の形態2に係るプログラム書き換えシステムの第4種ノードにおける処理の流れを示す図である。
【図10】本発明の実施の形態2に係るプログラム書き換えシステムの第1種ノードにおける処理の流れを示す図である。
【図11】本発明の実施の形態2に係るプログラム書き換えシステムにおける各ノードの処理の流れを時間軸に沿って示す図である。
【図12】本発明の実施の形態3に係るプログラム書き換え方法が実施される車両制御システムの構成を示すブロック図である。
【図13】本発明の実施の形態3に係るプログラム書き換えシステムの第2種ノードにおける処理の流れを示す図である。
【図14】本発明の実施の形態3に係るプログラム書き換えシステムの第4種ノードにおける処理の流れを示す図である。
【図15】本発明の実施の形態3に係るプログラム書き換えシステムにおける各ノードの処理の流れを時間軸に沿って示す図である。
【図16】従来のプログラム書き換えシステムを示すブロック図である。
【発明を実施するための形態】
【0016】
以下に、本発明を実施するための実施の形態1〜実施の形態3について、図面に基づいて説明する。なお、全ての図において、図中、同一、相当部分には、同一符号を付している。
【0017】
実施の形態1.
図1は、本実施の形態1に係るプログラム書き換え方法が実施される車両制御システムの構成を示し、本実施の形態1に係るプログラム書き換えシステムは、図1に示す車両制御システムに含まれるものである。なお、図1において、各制御装置及びテスタは、図1に示す以外の構成物も備えているが、本実施の形態1に直接関係しないものについては図示を省略している。また、図2は、本実施の形態1に係る車両制御システムにおける第1〜第3種ノードに備えられた記録装置の領域構成を示している。
【0018】
本実施の形態1に係る車両制御システムは、第1種ノードであるバッテリ制御装置1と、第2種ノードであるEPS(Electric Power Steering)制御装置2a及びモータ制御装置2bと、第3種ノードであるテスタ3を含み、これらは第1のネットワークである車両のCAN(Controller Area Network)ネットワーク6を介して互いに通信可能に接続されている。
【0019】
バッテリ制御装置1はバッテリ10に接続され、これを制御し、同様にEPS制御装置2aはEPS20aに、モータ制御装置2bは駆動用モータ20bに接続され、それぞれを制御している。なお、図1に示すテスタ3以外の制御装置は常時CANネットワーク6に接続されているが、テスタ3は、CANネットワーク6に常時接続されているのではなく、プログラムの書き換えや各ノードの故障診断時等、必要な時に随時接続される。
【0020】
バッテリ制御装置1の構成と機能について簡単に説明する。マイコン11は、バッテリ10の制御に関わる制御量や各種処理値を演算する。CANネットワーク用データ送受信手段であるデータ送受信手段12は、CANネットワーク6を介して、接続された他の制御装置(EPS制御装置2a、モータ制御装置2b、テスタ3を含む)とデータを送受信する。また、記録装置13は、書き換え対象であるバッテリ制御プログラムを保存する第1の記録領域を有している。バッテリ制御プログラムは、バッテリ制御装置1の動作(制御内容)を決定し、演算を行うものである。
【0021】
記録装置13の領域構成について、図2(a)を用いて説明する。記録装置13は、バッテリ制御プログラムを部分的に書き換えるためのプログラム書き換えプログラムを保存するプログラム書き換えプログラム記録領域131と、バッテリ制御プログラムを保存する第1の記録領域であるバッテリ制御プログラム記録領域132と、バッテリ10の制御に関わるデータ等を保存するバッテリ制御プログラム用記録領域(データ用)133を備えている。
【0022】
さらに、バッテリ制御装置1のプログラム書き換え手段14は、記録装置13のバッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムを部分的に書き換える。その際には、記録装置13のプログラム書き換えプログラム記録領域131に記録されたプログラム書き換えプログラムを用いる。
【0023】
また、第1の状態検出手段である状態検出手段15は、(第1種ノード)自身がバッテリ制御プログラムを書き換え可能な状態であるか否か、あるいはバッテリ制御プログラムが全て書き換えられているか否か等の状態を検出する。状態検出手段15により書き換え可能であると検出された場合は、CANネットワーク6を介してEPS制御装置2a及びモータ制御装置2bに通知し、通知を受けたEPS制御装置2a及びモータ制御装置2bは、自身が保存する分割プログラムを、CANネットワーク6を介してバッテリ制御装置1に送信する。
【0024】
バッテリ制御装置1は、EPS制御装置2aまたはモータ制御装置2bから分割プログラムを受信する度に、バッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムの該分割プログラムに該当する部分を、プログラム書き換え手段14により書き換える。
【0025】
次に、EPS制御装置2aの構成と機能について簡単に説明する。マイコン21aは、EPS20aの制御量や各種処理値を演算する。データ送受信手段22aは、CANネットワーク6を介して、接続された他の制御装置(バッテリ制御装置1、モータ制御装置2b、テスタ3を含む)とデータを送受信する。また、記録装置23aは、バッテリ制御プログラムの書き換え用プログラムの一部分である分割バッテリ制御プログラム(以下、分割プログラムと略す)を保存する第2の記録領域を有している。
【0026】
記録装置23aの領域構成について、図2(b)を用いて説明する。記録装置23aは、EPS20aの制御内容を決定するEPS制御プログラムを保存するEPS制御プログラム記録領域231aと、EPS20aの制御に関わるデータ等を保存するEPS制御プログラム用記録領域(データ用)232aと、分割プログラムを一時的に保存する第2の記録領域である分割バッテリ制御プログラム記録領域233aを備えている。なお、分割バッテリ制御プログラム記録領域233aには、記録装置23aの空き領域等を割り当てることができる。
【0027】
また、送信可否判断手段24aは、バッテリ制御装置1への分割プログラムの送信可否を判断する。送信可否判断手段24aによりバッテリ制御装置1への分割プログラムの送信が可能であると判断された場合には、自身が保存する分割プログラムを、CANネットワーク6を介してバッテリ制御装置1に送信する。
【0028】
次に、モータ制御装置2bの構成と機能について簡単に説明する。マイコン21bは、駆動用モータ20bの制御量や各種処理値を演算する。データ送受信手段22bは、CANネットワーク6を介して、接続された他の制御装置(バッテリ制御装置1、EPS制御装置2a、テスタ3を含む)とデータを送受信する。また、記録装置23bは、バッテリ制御プログラムの書き換え用プログラムを分割した一部分である分割プログラムを保存する第2の記録領域を有している。
【0029】
記録装置23bの領域構成について、図2(c)を用いて説明する。記録装置23bは、駆動用モータ20bの制御内容を決定するモータ制御プログラムを保存するモータ制御プログラム記録領域231bと、駆動用モータ20bの制御に関わるデータ等が記録されるモータ制御プログラム用記録領域(データ用)232bと、分割プログラムを一時的に保存する第2の記録領域である分割バッテリ制御プログラム記録領域233bを備えている。なお、分割バッテリ制御プログラム記録領域233bには、記録装置23bの空き領域等を割り当てることができる。
【0030】
また、送信可否判断手段24bは、バッテリ制御装置1への分割プログラムの送信可否を判断する。送信可否判断手段24bによりバッテリ制御装置1への分割プログラムの送信が可能であると判断された場合には、自身が保存する分割プログラムを、CANネットワーク6を介してバッテリ制御装置1に送信する。
【0031】
次に、テスタ3の構成と機能について簡単に説明する。マイコン31は、テスタ3の動作に関わる各種処理を実施する。データ送受信手段32は、CANネットワーク6を介して、接続された他の制御装置(バッテリ制御装置1、EPS制御装置2a、モータ制御装置2bを含む)とデータを送受信する。また、記録装置33は、図2(d)に示すように、バッテリ制御プログラムの書き換え用プログラムを保存する第3の記録領域であるバッテリ制御プログラム記録領域331を備えている。
【0032】
さらに、第1のプログラム分割手段であるプログラム分割手段34は、記録装置33の
バッテリ制御プログラム記録領域331に保存された書き換え用プログラムを分割し、分割プログラムを作成する。プログラム分割手段34により作成された分割プログラムは、それぞれCANネットワーク6を介してEPS制御装置2a及びモータ制御装置2bに送信される。
【0033】
次に、本実施の形態1に係るプログラム書き換えシステムの各ノードにおける処理の流れについて、図3及び図4のフローチャートを用いて説明する。図3は、第1種ノードであるバッテリ制御装置1におけるプログラム書き換えに関する処理の流れを示している。なお、バッテリ制御装置1では、バッテリ10の制御に関わる通常の処理と、バッテリ制御プログラムの書き換えに関する処理が実施される。プログラム書き換えに関する処理は、テスタ3から書き換え実施の通知(書き換え指示)があった場合に実施される。図3は、テスタ3からの書き換え実施の通知を受信した後の処理フローを示している。
【0034】
まず、ステップ301(S301)において、状態検出手段15は、バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施しているか否かを判断する。通常の処理が実施されている場合(YES)は、ステップ302(S302)へ進み、実施されていない場合(NO)は、ステップ309(S309)へ進み、通常の書き換え処理を実施する。なお、S309の通常の書き換え処理とは、テスタ3から、バッテリ制御装置1のバッテリ制御プログラムを書き換える従来の書き換え方法によるものであり、本発明の特徴である書き換え用プログラムを分割して行うものではないため、説明を省略する。
【0035】
バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施している場合は、その間、バッテリ制御プログラムの書き換え不可であるため、S302において、関連ノードへ分割書き換えを実施することを通知し、ステップ303(S303)へ進む。S303において、状態検出手段15は再度、通常の処理が実施されているかどうかを判断し、通常の処理が実施されていなければ、書き換え可能(YES)であるためステップ304(S304)へ進み、通常の処理が実施されている場合には、終了まで待機する。
【0036】
続いて、S304において、状態検出手段15は、記録装置13のバッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。全て書き換えられている場合は(YES)、本処理を終了し、書き換えられていなければ(NO)、ステップ305(S305)へ進む。
【0037】
S305において、状態検出手段15は、バッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムが書き換え中であるか否かを判断する。いずれの部分も書き換え中でなければ(NO)、ステップ306(S306)へ進み、書き換え中であれば(YES)、書き換えが終了するまで待機する。
【0038】
S306において、状態検出手段15は、書き換えが終了していないバッテリ制御プログラムの部分に該当する分割プログラムを保存している第2種ノードに対し、データ送受信手段12により送信指示をし、ステップ307(S307)へ進む。S307では、データ送受信手段12により分割プログラムを受信し、ステップ308(S308)へ進む。S308において、プログラム書き換え手段14は、プログラム書き換えプログラムを用い、受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換える。
【0039】
次に、第2種ノードであるEPS制御装置2a及びモータ制御装置2bにおけるプログラム書き換えに関する処理の流れについて、図4(a)を用いて説明する。EPS制御装置2a(またはモータ制御装置2b)では、EPS20a(または駆動用モータ20b)の制御に関わる通常の処理と、バッテリ制御装置1のプログラム書き換えに関する処理が実施される。プログラム書き換えに関する処理は、テスタ3から書き換え実施の通知があった場合に実施されるが、通常の処理が実施されている時には書き換えに関する処理は実施しない。なお、EPS制御装置2aとモータ制御装置2bにおけるプログラム書き換えに関する処理は同じであるので、ここではEPS制御装置2aを例に挙げて説明する。
【0040】
EPS制御装置2aは、テスタ3から書き換え実施の通知を受信後、ステップ401(S401)において、分割プログラムの受信を待つ。データ送受信手段22aにより分割プログラムを受信した場合(YES)は、ステップ402(S402)へ進み、受信した分割プログラムを記録装置23aの分割バッテリ制御プログラム記録領域233aに保存し、ステップ403(S403)へ進む。
【0041】
S403において、EPS制御装置2aは、バッテリ制御装置1からの分割プログラムの送信指示を待つ。送信指示を受信しない場合(NO)は、受信するまで待機する。送信指示を受信した場合(YES)、ステップ404(S404)へ進み、送信可否判断手段24aは、分割プログラムを送信すると判断し、データ送受信手段22aにより、分割バッテリ制御プログラム記録領域233aに保存している分割プログラムをバッテリ制御装置1へ送信し、処理を終了する。
【0042】
次に、第3種ノードであるテスタ3におけるプログラム書き換えに関する処理の流れについて、図4(b)を用いて説明する。テスタ3では、関連ノードへのプログラム書き換え実施の通知と、書き換え用プログラムの送信処理を実施する。なお、図4(b)は、各ノードに対し、バッテリ制御装置1のプログラム書き換え実施を通知した後の処理フローを示している。
【0043】
まず、ステップ411(S411)において、テスタ3のプログラム分割手段34は、記録装置33のバッテリ制御プログラム記録領域331に記録されている書き換え用プログラムを分割し、分割プログラムを作成する。続いてステップ412(S412)において、データ送受信手段32により、分割プログラムをそれぞれ各第2種ノードへ送信する。本実施の形態1では、第2種ノードを2つ備えているため、書き換え用プログラムを2つに分割し、分割プログラムAと分割プログラムBを作成し、例えば分割プログラムAをEPS制御装置2aに、分割プログラムBをモータ制御装置2bに送信する。
【0044】
次に、ステップ413(S413)において、全ての分割プログラムが送信されたか否かを判断する。全ての分割プログラムが送信されていない場合(NO)、S412へ進み、全て送信されていた場合には(YES)、処理を終了する。
【0045】
以上、図3及び図4のフローチャートにより、各ノードのプログラム書き換えに関する処理の流れについて説明したが、次に、これら全てのノードの処理の流れを図5のタイムチャートに沿って説明する。図5において、縦軸は各ノード、横軸は時間を示している。なお、図5では、テスタ3は既にCANネットワーク6に接続されており、各ノード間の通信は、全てCANネットワーク6を介して行われる。また、EPS制御装置2a及びモータ制御装置2bは、それぞれ通常の処理を実施していないものとする。
【0046】
t10において、バッテリ制御装置1は、バッテリ10の制御に関わる通常の処理を実施している(処理10)。続いて、t11において、テスタ3は、データ送受信手段32により、バッテリ制御装置1に対しプログラム書き換えを実施することを通知する(処理40)。
【0047】
テスタ3から書き換え実施通知を受信したバッテリ制御装置1の状態検出手段15は、バッテリ制御プログラムを書き換え可能な状態であるか否かを判断する(処理11)。ここでは、通常の処理を実施しているため、書き換え不可と判断される。続いてt12において、バッテリ制御装置1は、EPS制御装置2a、モータ制御装置2b、及びテスタ3に対し、書き換え実施不可であることを通知する(処理12)。EPS制御装置2a、モータ制御装置2b、及びテスタ3は、それぞれバッテリ制御装置1が書き換え不可であることを受信する(処理20、処理30、処理41)。
【0048】
次に、t13において、バッテリ制御装置1は、バッテリ10の制御に関わる通常の処理を再開する(処理10)。t14において、テスタ3は、自身が保存しているバッテリ制御プログラムの書き換え用プログラムを、プログラム分割手段34により分割し、分割プログラムを作成する(処理42)。なお、ここでは、書き換え用プログラムを分割プログラムAと分割プログラムBの2つに分割するものとする。
【0049】
続いて、t15において、テスタ3は、分割プログラムAをEPS制御装置2aへ送信する(処理43)。これを受信したEPS制御装置2aは、分割プログラムAを分割バッテリ制御プログラム記録領域233aに保存する(処理21)。次に、t16において、テスタ3は、まず、全ての分割プログラムを送信したか否かを確認する。ここでは、分割プログラムBが未送信のため、処理を継続し、分割プログラムBをモータ制御装置2bへ送信する(処理44)。
【0050】
分割プログラムBを受信したモータ制御装置2bは、分割プログラムBを分割バッテリ制御プログラム記録領域233bに保存する(処理31)。さらに、テスタ3は、全ての分割プログラムを送信したか否かを確認し、ここでは全ての分割プログラムが送信済みのため、処理を終了する。ここまでの処理が終了すると、テスタ3をCANネットワーク6から取り外すことが可能となる。
【0051】
その後、t17において、バッテリ制御装置1が通常の処理を終了すると、t18において、状態検出手段15は、バッテリ制御プログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、状態検出手段15は、記録装置13のバッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。ここでは、書き換えられていないと判断される。
【0052】
さらに、状態検出手段15は、バッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムが書き換え中であるか否かを判断する。ここでは、いずれの部分も書き換え中でないため、バッテリ制御装置1は、EPS制御装置2aへ分割プログラムの送信を指示し(処理13)、EPS制御装置2aのデータ送受信手段22aは、分割プログラムの送信指示を受信する(処理22)。
【0053】
続いてt19において、EPS制御装置2aの送信可否判断手段24aは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23aの分割バッテリ制御プログラム記録領域233aに保存している分割プログラムAを、データ送受信手段22aにより送信する(処理23)。これによりEPS制御装置2aは処理を終了する。また、分割プログラムAを受信したバッテリ制御装置1は、プログラム書き換え手段14により、バッテリ制御プログラムの分割プログラムAに該当する部分を書き換える(処理14)。
【0054】
次に、t20において、状態検出手段15は、バッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。ここでは、書き換えられていないと判断される。さらに、状態検出手段15は、バッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムが書き換え中であるか否かを判断する。ここでは、いずれの部分も書き換え中でないため、バッテリ制御装置1は、モータ制御装置2bへ分割プログラムの送信を指示し(処理15)、モータ制御装置2bのデータ送受信手段22bは、分割プログラムの送信指示を受信する(処理32)。
【0055】
続いてt21において、モータ制御装置2bの送信可否判断手段24bは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23bの分割バッテリ制御プログラム記録領域233bに保存している分割プログラムBを、データ送受信手段22bにより送信する(処理33)。これによりモータ制御装置2bは処理を終了する。また、分割プログラムBを受信したバッテリ制御装置1は、プログラム書き換え手段14により、バッテリ制御プログラムの分割プログラムBに該当する部分を書き換える(処理16)。その後、状態検出手段15は、全てのバッテリ制御プログラムの書き換えが終了しているか否かを判断する。ここでは、全て書き換えられているため、書き換えに関する処理を終了する。
【0056】
なお、本実施の形態1において、テスタ3に分割プログラムを暗号化する暗号化手段を備え、暗号化手段により暗号化した分割プログラムをEPS制御装置2aとモータ制御装置2bに送信し、暗号化された分割プログラムをEPS制御装置2aとモータ制御装置2bに保存するようにしても良い。あるいは、EPS制御装置2a及びモータ制御装置2bに暗号化手段を備え、テスタ3から受信した分割プログラムを暗号化手段により暗号化してから保存するようにしても良い。
【0057】
また、暗号化手段により暗号化された分割プログラムを復号化する復号化手段をバッテリ制御装置1に備え、EPS制御装置2aまたはモータ制御装置2bから暗号化された分割プログラムを受信した際に、復号化手段により分割プログラムを復号化するようにしても良い。あるいは、EPS制御装置2a及びモータ制御装置2bに復号化手段を備え、それらに保存された暗号化された分割プログラムを復号化手段により復号化した後、バッテリ制御装置1に送信するようにしても良い。すなわち、第2種モードに暗号化手段と復号化手段を備えても良い。
【0058】
上記のような暗号化手段と復号化手段を備えることにより、CANネットワーク6で第三者に解読される危険性、またはEPS制御装置2a及びモータ制御装置2bに保存時に第三者に解読される危険性を低減することができ、プログラム書き換えを安全に実施することが可能となる。
【0059】
以上のように、本実施の形態1に係るプログラム書き換システムでは、テスタ3からバッテリ制御装置1へプログラム書き換え実施を通知し、バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施していた場合に、テスタ3は、バッテリ制御プログラムの書き換え用プログラムを分割して分割プログラムを作成し、EPS制御装置2aとモータ制御装置2bそれぞれに送信する。
【0060】
その後、バッテリ制御装置1がプログラム書き換え実施可能となった時点で、EPS制御装置2aとモータ制御装置2bは、自身が保存する分割プログラムをそれぞれバッテリ制御装置1に送信し、バッテリ制御装置1は、これらを受信する度に、受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換えるものである。
【0061】
このようなプログラム書き換え方法(システム)によれば、バッテリ制御装置1が通常の処理を実施していない所定のタイミングでバッテリ制御プログラムを書き換えることができ、且つ、バッテリ制御装置1が通常の処理を実施中であっても、テスタ3は、書き換え用プログラムを分割し、EPS制御装置2aとモータ制御装置2bにそれぞれ分割プログラムを送信し、送信が終了すると所定のタイミングを待つことなくCANネットワーク6から切り離すことが可能となるため、効率の良いプログラムの書き換えを実施することができる。
【0062】
さらに、書き換え用プログラムを分割して複数の第2種ノード(本実施の形態1ではEPS制御装置2aとモータ制御装置2bの2つ)に保存するため、第2種ノードに全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要がなく、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【0063】
実施の形態2.
図6は、本発明の実施の形態2に係るプログラム書き換え方法が実施される車両制御システムの構成を示し、本実施の形態2に係るプログラム書き換えシステムは、図6に示す車両制御システムに含まれるものである。また、図7は、本実施の形態2に係る車両制御システムにおける第4及び第5種ノードに備えられた記録装置の領域構成を示している。なお、図6において、各制御装置及び充電ステーションは、図6に示す以外の構成物も備えているが、本実施の形態2に直接関係しないものについては図示を省略し、上記実施の形態1(図1)において説明したものについては説明を省略する。
【0064】
本実施の形態2に係る車両制御システムは、上記実施の形態1に係る車両制御システムのテスタ3(第3種ノード)を含まず、第4種ノードである車載充電器制御装置4と、第5種ノードである充電ステーション5を含んで構成される。車載充電器制御装置4は、第1のネットワークであるCANネットワーク6と第2のネットワークである電力線ネットワーク7aに接続され、CANネットワーク6を介して第1種ノードであるバッテリ制御装置1、及び第2種ノードであるEPS制御装置2a及びモータ制御装置2bと互いに通信可能である。
【0065】
また、充電ステーション5は、車載充電器40と常時接続されているわけではなく、バッテリ116の充電時等、必要に応じて随時、車載充電器40に電力線7で接続される。それと同時に充電ステーション5と車載充電器制御装置4が電力線7で接続され、充電ステーション5と車載充電器制御装置4の間に、車載充電器40を介して電力線7を使った電力線ネットワーク7aが確立される。これにより、車載充電器制御装置4と充電ステーション5は、電力線ネットワーク7aを介して互いに通信可能となる。
【0066】
まず、充電ステーション5の構成と機能について簡単に説明する。マイコン51は、充電ステーション5の動作に関わる各種処理を実施する。電力線ネットワーク用データ送受信手段52は、電力線ネットワーク7aを介して、電力線7に接続された車載充電器制御装置4とデータを送受信する。また、記録装置53は、バッテリ制御プログラムの書き換え用プログラムを保存する第5の記録領域を有する。
【0067】
記録装置53の領域構成について、図7(b)を用いて説明する。記録装置53は、バッテリ制御プログラムの書き換えプログラムを保存する第5の記録領域であるバッテリ制御プログラム記録領域531を備えている。バッテリ制御プログラム記録領域531に保存された書き換え用プログラムは、電力線ネットワーク7aを介して車載充電器制御装置4に送信される。
【0068】
次に、車載充電器制御装置4の構成と機能について簡単に説明する。マイコン41は、車載充電器40の動作に関わる各種処理を実施する。データ送受信手段42は、CANネットワーク6を介して、接続された他の制御装置(バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bを含む)とデータを送受信する。また、記録装置43は、第4の記録領域であるバッテリ制御プログラム一時記録領域433を有する。
【0069】
記録装置43の領域構成について、図7(a)を用いて説明する。記録装置43は、車載充電器40の制御内容を決定する車載充電器制御プログラムを保存する車載充電器制御プログラム記録領域431と、車載充電器157の制御に関わるデータ等を保存する車載充電器制御プログラム用記録領域(データ用)432と、充電ステーション5から受信した書き換え用プログラムを一時的に保存するバッファ領域であるバッテリ制御プログラム一時記録領域433を備えている。なお、バッテリ制御プログラム一時記録領域433は、バッテリ制御プログラム全てを保存する容量を持つ必要はなく、記録装置43の空き領域等を割り当てることが出来る。
【0070】
また、第2のプログラム分割手段であるプログラム分割手段44は、バッテリ制御プログラム一時記録領域433に保存された書き換え用プログラムが一定量になる毎に該書き換え用プログラムを分割し、分割プログラムを作成する。プログラム分割手段44により作成された分割プログラムは、それぞれCANネットワーク6を介してEPS制御装置2a及びモータ制御装置2bに送信される。
【0071】
また、第3の状態検出手段である第1種ノード状態検出手段45は、バッテリ制御装置1がプログラムを書き換え可能な状態であるか否か、あるいはプログラムの全ての領域が書き換えられているか否か等の状態を検出する。第1種ノード状態検出手段45により書き換え可能であると検出された場合は、CANネットワーク6を介してEPS制御装置2a及びモータ制御装置2bに通知し、通知を受けたEPS制御装置2a及びモータ制御装置2bは、自身が保存する分割プログラムをバッテリ制御装置1に送信する。電力線ネットワーク用データ送受信手段46は、電力線ネットワーク7aを介して、電力線7に接続された充電ステーション5とデータを送受信する。
【0072】
次に、本実施の形態2に係るプログラム書き換えシステムの各ノードにおける処理の流れについて、図8〜図10のフローチャートを用いて説明する。ただし、第2種ノードであるEPS制御装置2a及びモータ制御装置2bの処理の流れは、上記実施の形態1と同じであるため説明を省略する(図4(a)参照)。
【0073】
図8は、第5種ノードである充電ステーション5におけるプログラム書き換えに関する処理の流れを示している。充電ステーション5では、プログラム書き換え対象であるバッテリ制御装置1への書き換え指示と、書き換え用プログラムの送信処理を実施する。図8は、書き換え指示を送信後の処理フローを示している。
【0074】
まず、ステップ801(S801)において、電力線ネットワーク用データ送受信手段52により、バッテリ制御プログラムの書き換え用プログラムを、電力線ネットワーク7aを介して車載充電器制御装置4へ送信し、ステップ802(S802)に進む。S802では、全ての書き換え用プログラムが送信されたかどうかを判断する。送信されていない場合(NO)はS801へ進み、全て送信している場合(YES)には、処理を終了する。
【0075】
次に、第4種ノードである車載充電器制御装置4におけるプログラム書き換えに関する処理の流れについて、図9を用いて説明する。車載充電器制御装置4では、車載充電器40の制御に関わる通常の処理と、バッテリ制御装置1のプログラム書き換えに関する処理が実施される。プログラム書き換えに関する処理は、充電ステーション5から書き換え実施の通知があった場合に実施されるが、通常の処理が実施されている時には、書き換えに関する処理は実施しない。図9(a)は、充電ステーション5からの書き換え実施の通知を受信後の処理フローを示している。
【0076】
まず、ステップ901(S901)において、第1種ノード状態検出手段45により、
バッテリ制御装置1がバッテリ制御プログラムを書き換えることができる状態か否かを判断する。具体的には、バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施しているか否かを判断する。通常の処理が実施されていない場合には、ステップ909(S909)へ進み、通常の書き換え処理を実施する。なお、S909の通常の書き換え処理とは、充電ステーション5から車載充電器制御装置4でのデータ転送を経由して、バッテリ制御装置1のバッテリ制御プログラムを書き換える従来の書き換え方法によるものであり、本発明の特徴である書き換え用プログラムを分割して行うものではないため、説明を省略する。
【0077】
S901において、バッテリ制御装置1が通常の処理を実施している場合、プログラム書き換え不可であるため(NO)、ステップ902(S902)へ進み、データ送受信手段42によりCANネットワーク6を介して関連ノードへ分割書き換えを実施することを連絡する。さらに、ステップ903(S903)において、充電ステーションから書き換え用プログラムを受信し、作成した分割プログラムを第2種ノードに送信する送受信処理を実施する。(S903の送受信処理については後に図9(b)で説明する)。
【0078】
次に、ステップ904(S904)において、第1種ノード状態検出手段45は、バッテリ制御装置1が通常の処理をしているか否かにより、プログラムを書き換えることができる状態か再び判断する。書き換え可能な場合(YES)は、ステップ905(S905)へ進み、書き換え不可の場合(NO)は書き換え可能となるまで待機する。
【0079】
S905では、さらに、第1種ノード状態検出手段45により、バッテリ制御装置1のバッテリ制御プログラム記録領域132に保存されたバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。全て書き換えられている場合(YES)は、ステップ908(S908)へ進み、データ送受信手段42によりバッテリ制御装置1へ全ての書き換えが終了したことを送信し、処理を終了する。
【0080】
また、S905において、全て書き換えられていない場合(NO)は、ステップ906(S906)へ進み、第1種ノード状態検出手段45は、バッテリ制御装置1がプログラム書き換え中であるか否かを判断する。バッテリ制御プログラム記録領域132のいずれの部分も書き換え中でなければ(NO)、ステップ907(S907)へ進み、書き換え中であれば(YES)、書き換えが終了するまで待機する。
【0081】
S907において、第1種ノード状態検出手段45は、バッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの書き換えが終了していない部分を検出し、その部分に該当する分割プログラムを保存している第2種ノードに対し、データ送受信手段42により分割プログラムの送信を指示する。
【0082】
次に、図9(b)を用い、S903の送受信処理の詳細について説明する。ステップ911(S911)において、充電ステーション5から送信されたバッテリ制御プログラムの書き換え用プログラムを、一定量受信しているか否か判断する。書き換え用プログラムは容量が大きいため、全て受信するまでにある程度の時間を必要とし、受信したプログラムは適時、バッテリ制御プログラム一時記録領域433に保存される。S911において、一定量受信している場合(YES)は、ステップ912(S912)へ進み、一定量受信していない場合(NO)は、一定量受信するまで待機する。
【0083】
S912において、プログラム分割手段44は、バッテリ制御プログラム一時記録領域433に保存されているバッテリ制御プログラムを分割し、分割プログラムを作成する。続いてステップ913(S913)において、データ送受信手段42により、分割プログラムを第2種モード(ここではEPS制御装置2aまたはモータ制御装置2b)へ送信する。さらに、ステップ914(S914)では、充電ステーション5から書き換え用プログラムを全て受信したか否かを判断する。受信していない場合(NO)、S911へ進み、受信している場合(YES)は処理を終了する。
【0084】
次に、第1種ノードであるバッテリ制御装置1におけるプログラム書き換えに関する処理の流れについて、図10を用いて説明する。なお、バッテリ制御装置1では、バッテリ10の制御に関わる通常の処理と、バッテリ制御プログラムの書き換えに関する処理が実施される。プログラム書き換えに関する処理は、充電ステーション5からの書き換え指示があった場合に実施され、図10は、充電ステーション5から書き換え実施の通知を受信後の処理フローを示している。
【0085】
まず、ステップ101(S101)において、車載充電器制御装置4から分割書き換え指示(図9のS902)があったか否かを判断する。分割書き換え指示があった場合(YES)は、ステップ102(S102)へ進み、指示がなかった場合(NO)は、ステップ105(S105)において通常のプログラム書き換え処理を実施する。なお、S105の通常の書き換え処理とは、充電ステーション5から車載充電器制御装置4でのデータ転送を経由して、バッテリ制御装置1のバッテリ制御プログラムを書き換える従来の書き換え方法によるものであり、本発明の特徴である書き換え用プログラムを分割して行うものではないため、説明を省略する。S102において、データ送受信手段12は、分割プログラムの受信を待ち、受信した場合(YES)はステップ103(S103)へ進む。S102において受信しない場合(NO)は、受信するまで待機する。
【0086】
S103では、プログラム書き換え手段14が、プログラム書き換えプログラムを用い、受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換える。さらに、ステップ104(S104)において、バッテリ制御プログラムを全ての部分を書き換えたか否かを、車載充電器制御装置4からの通知(図9のS908)により判断する。通知がない場合(NO)は、S102へ進み、他の分割プログラムの受信を待ち、通知があった場合(YES)は処理を終了する。
【0087】
以上、図8〜図10(及び図4(a))のフローチャートにより、各ノードのプログラム書き換えに関する処理の流れについて説明したが、次に、これら全てのノードの処理の流れを図11のタイムチャートに沿って説明する。図11において、縦軸は各ノード、横軸は時間を示している。なお、図11では、充電ステーション5と車載充電器制御装置4は、既に車載充電器40を介して電力線ネットワーク7aで接続されており、EPS制御装置2a及びモータ制御装置2bは、それぞれ通常の処理を実施していないものとする。
【0088】
t30において、バッテリ制御装置1は、バッテリ10の制御に関わる通常の処理を実施している(処理10)。t31において、充電ステーション5は、電力線ネットワーク用データ送受信手段52により、電力線ネットワーク7aを介して車載充電器制御装置4へバッテリ制御装置1のプログラム書き換えを実施することを通知する(処理60)。
【0089】
プログラム書き換え実施の通知を受信した車載充電器制御装置4は、第1種ノード状態検出手段45により、バッテリ制御装置1がプログラム書き換え可能か否かを判断する(処理50)。ここでは、通常の処理を実施しているため書き換え不可と判断する。
【0090】
続いて、t32において、車載充電器制御装置4は、バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bに対して、書き換え不可であるため分割書き換えを実施することを通知する(処理51)。バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bは、分割書き換え実施の通知をそれぞれ受信する(処理17、処理20、処理30)。
【0091】
t33において、バッテリ制御装置1は、通常の処理を再開する(処理10)。続いてt34において、充電ステーション5は、電力線ネットワーク7aを介して、自身が保存するバッテリ制御プログラムの書き換え用プログラムの車載充電器制御装置4への送信を開始する(処理61)。車載充電器制御装置4は、受信した書き換え用プログラムを適時、バッテリ制御プログラム一時記録領域433に保存する(処理52)。
【0092】
t35において、受信した書き換え用プログラムが一定量を超えると、車載充電器制御装置4は、プログラム分割手段44により、バッテリ制御プログラム一時記録領域433に保存されている書き換え用プログラムから、分割プログラムAを作成する。さらに、作成した分割プログラムAをデータ送受信手段42によりEPS制御装置2aへ送信する(処理53)。EPS制御装置2aは、受信した分割プログラムAを分割バッテリ制御プログラム記録領域233aへ保存する(処理21)。
【0093】
次に、t36において、受信した書き換え用プログラムが再び一定量を超えると、車載充電器制御装置4は、プログラム分割手段44により、バッテリ制御プログラム一時記録領域433に記録されている書き換え用バッテリ制御プログラムから、分割プログラムBを作成する。さらに、作成した分割プログラムBをデータ送受信手段42によりモータ制御装置2bへ送信する(処理54)。モータ制御装置2bは、受信した分割プログラムBを分割バッテリ制御プログラム記録領域233bへ保存する(処理31)。
【0094】
車載充電器制御装置4が全ての書き換え用プログラムを受信すると、充電ステーション5は、プログラム書き換えに関する処理を終了する。これ以降は、充電ステーション5は車載充電器40と接続している必要はなく、バッテリ制御装置1がプログラム書き換え中であっても取り外し可能である。
【0095】
t37において、バッテリ制御装置1が通常の処理を終了すると、t38において、車載充電器制御装置4の第1種ノード状態検出手段45は、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、第1種ノード状態検出手段45は、記録装置13のバッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。ここでは、書き換えられていないと判断される。
【0096】
さらに、第1種ノード状態検出手段45は、バッテリ制御装置1のバッテリ制御プログラム記録領域132が書き換え中か否かを判断する。ここでは、書き換え中でないため、データ送受信手段42により、EPS制御装置2aへ分割プログラムの送信を指示する(処理55)。EPS制御装置2aのデータ送受信手段22aは、分割プログラムの送信指示を受信する(処理22)。
【0097】
続いてt39において、EPS制御装置2aの送信可否判断手段24aは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23aの分割バッテリ制御プログラム記録領域233aに保存している分割プログラムAを、データ送受信手段22aにより送信する(処理23)。これによりEPS制御装置2aは処理を終了する。また、これを受信したバッテリ制御装置1は、プログラム書き換え手段14により、受信した分割プログラムAに該当するバッテリ制御プログラムの部分を書き換える(処理14)。
【0098】
さらに、t40において、車載充電器制御装置4の第1種ノード状態検出手段45は、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、第1種ノード状態検出手段45は、記録装置13のバッテリ制御プログラム記録領域132に保存されているバッテリ制御プログラムの全ての領域(部分)が書き換えられているか否かを判断する。ここでは、書き換えられていないと判断される。
【0099】
さらに、第1種ノード状態検出手段45は、バッテリ制御装置1のバッテリ制御プログラム記録領域132が書き換え中か否かを判断する。ここでは、書き換え中でないため、データ送受信手段42により、モータ制御装置2bへ分割プログラムの送信を指示する(処理56)。モータ制御装置2bのデータ送受信手段22bは、分割プログラムの送信指示を受信する(処理32)。
【0100】
続いてt41において、モータ制御装置2bの送信可否判断手段24bは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23bの分割バッテリ制御プログラム記録領域233bに記録している分割プログラムBを、データ送受信手段22bにより送信する(処理33)。これによりモータ制御装置2bは処理を終了する。また、これを受信したバッテリ制御装置1は、プログラム書き換え手段14により、受信した分割プログラムBに該当するバッテリ制御プログラムの部分を書き換える(処理16)。
【0101】
その後、t42において、車載充電器制御装置4の第1種ノード状態検出手段45は、
バッテリ制御プログラムの全ての書き換えが終了しているか否かを判断する。ここでは、全て書き換えられているため、データ送受信手段42によりバッテリ制御装置1へプログラム書き換えが終了したことを通知し、処理を終了する(処理57)。この通知を受信したバッテリ制御装置1は、プログラム書き換えに関する処理を終了する(処理18)。
【0102】
以上のように、本実施の形態2に係るプログラム書き換えシステムでは、充電ステーション5から車載充電器制御装置4にバッテリ制御装置1のプログラム書き換え実施を通知した際に、バッテリ制御装置1がバッテリ10の制御に関わる通常の処理を実施していた場合には、充電ステーション5は、バッテリ制御プログラムの書き換え用プログラムを車載充電器制御装置4に送信し、これを受信した車載充電器制御装置4は、一定量受信(保存)すると分割プログラムAを作成してEPS制御装置2aに送信し、再度一定量保存すると分割プログラムBを作成してモータ制御装置2bに送信する。
【0103】
その後、バッテリ制御装置1がプログラム書き換え可能となった時点で、EPS制御装置2aは分割プログラムAを、モータ制御装置2bは分割プログラムBを、それぞれバッテリ制御装置1に送信し、バッテリ制御装置1は、これらを受信する度に受信した分割プログラムに該当するバッテリ制御プログラムの部分を書き換えるものである。
【0104】
このようなプログラム書き換え方法(システム)によれば、上記実施の形態1と同様に、バッテリ制御装置1が通常の処理を実施していない所定のタイミングでバッテリ制御プログラムを書き換えることができ、且つ、バッテリ制御装置1が通常の処理を実施中であっても、充電ステーション5は、書き換え用プログラムを車載充電器制御装置4に送信し、送信が終了すると所定のタイミングを待つことなく電力線ネットワーク7aから切り離すことが可能となるため、効率の良いプログラムの書き換えを実施することができる。
【0105】
さらに、本実施の形態2では、車載充電器制御装置4は、書き換え用プログラムを一定量受信(保存)する毎に分割プログラムを作成し、その都度、第2種ノードであるEPS制御装置2aとモータ制御装置2bに送信するため、車載充電器制御装置4に全ての書き換え用プログラムを保存できるほどの大きな記録容量を設ける必要はない。また、上記実施の形態1と同様に、第2種ノードにも大きな記録容量を設ける必要がなく、一つのノードがコスト高になることを防ぐことができ、全体としてのコストが抑えられる。
【0106】
実施の形態3.
図12は、本発明の実施の形態3に係るプログラム書き換え方法が実施される車両制御システムの構成を示し、本実施の形態3に係るプログラム書き換えシステムは、図12に示す車両制御システムに含まれるものである。なお、図12において、各制御装置及び充電ステーションは、図12に示す以外の構成物も備えているが、本実施の形態3に直接関係しないものについては図示を省略する。
【0107】
上記実施の形態2では、第4種ノードである車載充電器制御装置4に第1種ノード状態検出手段45を備えていたが、本実施の形態3では、第2種ノードであるEPS制御装置2aとモータ制御装置2bに、それぞれ第1種ノード状態検出手段25a、25bを備えたものである。なお、それ以外の構成及び機能については上記実施の形態2と同様であるため説明を省略する。
【0108】
EPS制御装置2aとモータ制御装置2bに備えられた第1種ノード状態検出手段25a、25bは、上記実施の形態2において車載充電器制御装置4に備えられた第1種ノード状態検出手段45(図6参照)と同様に、バッテリ制御装置1がバッテリ制御プログラムを書き換え可能な状態であるか否か、あるいはバッテリ制御プログラムが全て書き換えられているか否か等の状態を検出するものである。
【0109】
本実施の形態3に係るプログラム書き換えシステムの各ノードにおける処理の流れについて、図13及び図14のフローチャートを用いて説明する。ただし、第1種ノードであるバッテリ制御装置1と第5種ノードである充電ステーション5の処理の流れは、上記実施の形態2と同じであるため説明を省略する(図8、図10参照)。
【0110】
図13は、第2種ノードであるEPS制御装置2a及びモータ制御装置2bにおけるプログラム書き換えに関する処理の流れを示している。EPS制御装置2a(またはモータ制御装置2b)では、EPS20a(または駆動用モータ20b)の制御に関わる通常の処理と、バッテリ制御装置1のプログラム書き換えに関する処理が実施される。プログラム書き換えに関する処理は、充電ステーション5から書き換え実施の通知があった場合に実施されるが、通常の処理が実施されている時には書き換えに関する処理は実施しない。なお、EPS制御装置2aとモータ制御装置2bにおけるプログラム書き換えに関する処理は同じであるので、ここではEPS制御装置2aを例に挙げて説明する。
【0111】
EPS制御装置2aは、充電ステーション5から書き換え実施の通知を受信後、ステップ131(S131)において、第1種ノード状態検出手段25aにより、バッテリ制御装置1がバッテリ制御プログラムを書き換えることができる状態か否かを判断する。具体的には、バッテリ制御装置1がバッテリ10の制御に関する通常の処理を実施しているか否かを判断する。通常の処理が実施されていない場合には通常のプログラム書き換え処理が可能であるため処理を終了する。
【0112】
S131において、バッテリ制御装置1が通常の処理を実施している場合、プログラム書き換え不可であるため(NO)、ステップ132(S132)へ進む。S132では、データ送受信手段22aにより関連ノードへ分割書き換えを実施することを通知し、ステップ133(S133)へ進む。S133において、車載充電器制御装置4から分割プログラムを受信した場合(YES)、ステップ134(S134)へ進む。S133において、分割プログラムを受信していない場合(NO)、受信するまで待機する。
【0113】
続いてS134では、データ送受信手段22aにより受信した分割プログラムを、記録装置23aの分割バッテリ制御プログラム記録領域233aへ記録し、ステップ135(S135)へ進む。S135において、第1種ノード状態検出手段25aにより、バッテリ制御装置1がバッテリ制御プログラムを書き換えることができる状態か否かを、再度判断する。書き換え可能な場合(YES)はステップ136(S136)へ進み、書き換え不可の場合(NO)は、書き換え可能になるまで待機する。
【0114】
S136では、第1種ノード状態検出手段25aにより、バッテリ制御装置1がプログラム書き換え中であるか否かを判断する。バッテリ制御装置1のバッテリ制御プログラム記録領域132のいずれの部分も書き換え中でなければ(NO)、ステップ137(S137)へ進み、書き換え中であれば(YES)、書き換えが終了するまで待機する。
【0115】
続いてS137において、送信可否判断手段24aは、分割プログラムを送信すると判断し、データ送受信手段22aにより、記録装置23aの分割バッテリ制御プログラム記録領域233aに記録している分割プログラムをバッテリ制御装置1へ送信し、ステップ138(S138)へ進む。
【0116】
S138では、第1種ノード状態検出手段25aにより、バッテリ制御装置1のバッテリ制御プログラムが全て書き換えられているか否かを判断する。全て書き換えられている場合(YES)は、ステップ139(S139)へ進み、データ送受信手段22aにより、関連ノードへ全ての書き換えが終了したことを連絡し、処理を終了する。全て書き換えられていない場合(NO)も、自身が保存する分割プログラムを送信済みのため、処理を終了する。
【0117】
次に、第4種ノードである車載充電器制御装置4におけるプログラム書き換えに関する処理の流れについて、図14を用いて説明する。車載充電器制御装置4では、車載充電器40の制御に関わる通常の処理と、バッテリ制御装置1のプログラム書き換えに関する処理が実施される。プログラム書き換えに関する処理は、充電ステーション5から書き換え実施の通知があった場合に実施されるが、通常の処理が実施されている時には、プログラム書き換えに関する処理は実施しない。図14は、充電ステーション5からの書き換え実施の通知を受信後の処理フローを示している。
【0118】
まず、ステップ141(S141)において、第2種ノードであるEPS制御装置2aまたはモータ制御装置2bから、分割書き換え指示があったかどうか判断する。分割書き換え指示があった場合(YES)は、ステップ142(S142)へ進み、指示がなかった場合(NO)はステップ146(S146)に進み、通常の書き換え処理を実施する。なお、S146の通常の書き換え処理とは、充電ステーション5から車載充電器制御装置4でのデータ転送を経由して、バッテリ制御装置1のバッテリ制御プログラムを書き換える従来の書き換え方法によるものであり、本発明の特徴である書き換え用プログラムを分割して行うものではないため、説明を省略する。
【0119】
S142では、第5種ノードである充電ステーション5から送信される書き換え用バッテリ制御プログラムを、一定量受信しているかどうか判断する。充電ステーション5から送信される書き換え用バッテリ制御プログラムは容量が大きいため、全て受信するまでにはある程度の時間を要する。受信した書き換え用バッテリ制御プログラムは適時、バッテリ制御プログラム一時記録領域433に保存される。S142において、一定量受信している場合(YES)には、ステップ143(S143)へ進み、一定量受信していない場合(NO)は、一定量受信するまで待機する。
【0120】
続いて、S143において、プログラム分割手段44は、バッテリ制御プログラム一時記録領域433に記録されているバッテリ制御プログラムを分割し、分割プログラムを作成する。続いてステップ144(S144)において、データ送受信手段42により、分割プログラムを、それぞれ第2種モード(ここではEPS制御装置2aまたはモータ制御装置2b)へ送信する。さらに、ステップ145(S145)では、充電ステーション5から書き換え用バッテリ制御プログラムを全て受信したかどうかを判断する。受信していない場合(NO)、S142へ進み、受信している場合(YES)には処理を終了する。
【0121】
以上、図8、図10、図13、及び図14のフローチャートにより、各ノードのプログラム書き換えに関する処理の流れについて説明したが、次に、これら全てのノードの処理の流れを図15のタイムチャートに沿って説明する。図15において、縦軸は各ノード、横軸は時間を示している。なお、図15では、充電ステーション5と車載充電器制御装置4は、既に車載充電器40を介して電力線ネットワーク7aで接続され、EPS制御装置2a及びモータ制御装置2bは、それぞれ通常動作は実施していないものとする。
【0122】
t50において、バッテリ制御装置1は、通常処理であるバッテリ10の制御を実施している(処理10)。続いて、t51において、充電ステーション5は、電力線ネットワーク用データ送受信手段52により、電力線ネットワーク7aを介して車載充電器制御装置4へバッテリ制御装置1のバッテリ制御プログラムの書き換えを実施することを通知する(処理60)。車載充電器制御装置4は、バッテリ制御プログラムの書き換えを実施することを、電力線ネットワーク7aを介して受信する(処理55)。
【0123】
続いて、t52において、車載充電器制御装置4は、バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bに対して、バッテリ制御プログラムの書き換えを実施することを通知する(処理56)。バッテリ制御装置1、EPS制御装置2a、及びモータ制御装置2bはそれぞれ、書き換えを実施することを受信する(処理80、処理25、処理35)。
【0124】
次に、t53において、EPS制御装置2aは、第1種ノード状態検出手段25aにより、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施しているため、書き換え不可であると判断し、バッテリ制御装置1と車載充電器制御装置4に対して、書き換え実施不可であるため分割書き換えを実施することを通知する(処理26)。バッテリ制御装置1と車載充電器制御装置4は、分割書き換え実施の通知をそれぞれ受信する(処理81、処理57)。
【0125】
続いて、t54において、モータ制御装置2bは、第1種ノード状態検出手段25bにより、バッテリ制御装置1がプログラムの書き換えが可能な状態であるかどうかを判断する。ここでは、通常の処理を実施しているため、書き換え不可であると判断し、バッテリ制御装置1と車載充電器制御装置4に対して、書き換え不可であるため分割書き換えを実施することを通知する(処理36)。バッテリ制御装置1と車載充電器制御装置4は、分割書き換え実施の通知をそれぞれ受信する(処理82、処理58)。
【0126】
t55において、バッテリ制御装置1は通常の処理を再開する(処理10)。続いてt56において、充電ステーション5は、電力線ネットワーク7aを介して、自身が保存している書き換え用プログラムの車載充電器制御装置4への送信を開始する(処理61)。車載充電器制御装置4は、受信した書き換え用プログラムを適時、バッテリ制御プログラム一時記録領域433に保存する(処理52)。
【0127】
t53において、車載充電器制御装置4が受信した書き換え用プログラムが一定量を超えると、車載充電器制御装置4は、プログラム分割手段44により、バッテリ制御プログラム一時記録領域433に保存されている書き換え用プログラムから、分割プログラムAを作成する。続いて、作成した分割プログラムAをデータ送受信手段42によりEPS制御装置2aへ送信する(処理53)。EPS制御装置2aは、受信した分割プログラムAを分割バッテリ制御プログラム記録領域233aへ保存する(処理21)。
【0128】
また、t58において、車載充電器制御装置4が受信した書き換え用プログラムが再び一定量を超えると、車載充電器制御装置4は、プログラム分割手段44により、バッテリ制御プログラム一時記録領域433に記録されている書き換え用プログラムから、分割プログラムBを作成する。続いて、作成した分割プログラムBをデータ送受信手段42によりモータ制御装置2bへ送信する(処理54)。モータ制御装置2bは、受信した分割プログラムBを分割バッテリ制御プログラム記録領域233bへ記録する(処理31)。
【0129】
車載充電器制御装置4が全ての書き換え用プログラムを受信すると、充電ステーション5は、プログラム書き換えに関する処理を終了する。これ以降は、充電ステーション5は車載充電器40と接続していなくても良く、バッテリ制御装置1がプログラム書き換え中であっても取り外し可能である。
【0130】
t59において、バッテリ制御装置1が通常の処理を終了すると、t60において、EPS制御装置2aの第1種ノード状態検出手段25aは、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、第1種ノード状態検出手段25aは、バッテリ制御プログラムが書き換え中であるか否かを判断する。ここでは、書き換え中でないと判断される(処理27)。
【0131】
続いてt61において、EPS制御装置2aの送信可否判断手段24aは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23aの分割バッテリ制御プログラム記録領域233aに保存している分割プログラムAを、データ送受信手段22aにより送信する(処理23)。これを受信したバッテリ制御装置1は、プログラム書き換え手段14により、受信した分割プログラムAに該当するバッテリ制御プログラムの部分を書き換える(処理14)。
【0132】
次に、t62において、EPS制御装置2aの第1種ノード状態検出手段25aは、バッテリ制御装置1のバッテリ制御プログラムが全て書き換えられているか否かを判断する。ここでは、書き換えられていないため、処理を終了する(処理28)。
【0133】
t63において、モータ制御装置2bの第1種ノード状態検出手段25bは、バッテリ制御装置1がプログラムの書き換えが可能な状態であるか否かを判断する。ここでは、通常の処理を実施していないため、書き換え可能であると判断される。次に、第1種ノード状態検出手段25bは、バッテリ制御プログラムが書き換え中であるか否かを判断する。ここでは、書き換え中でないと判断される(処理37)。
【0134】
続いてt64において、モータ制御装置2bの送信可否判断手段24bは、バッテリ制御装置1へ分割プログラムを送信すると判断し、記録装置23bの分割バッテリ制御プログラム記録領域233bに保存している分割プログラムBを、データ送受信手段22bにより送信する(処理33)。これを受信したバッテリ制御装置1は、プログラム書き換え手段14により、受信した分割プログラムBに該当するバッテリ制御プログラムの部分を書き換える(処理16)。
【0135】
その後、t65において、モータ制御装置2bの第1種ノード状態検出手段25bは、バッテリ制御プログラムが全て書き換えられているか否かを判断する。ここでは、全て書き換えられているため、データ送受信手段22bによりバッテリ制御装置1へプログラム書き換えが終了したことを通知し、処理を終了する(処理38)。これを受信したバッテリ制御装置1は、バッテリ制御プログラムの全ての書き換えが終了したと判断し、書き換えに関する処理を終了する(処理83)。
【0136】
以上のように、本実施の形態3に係るプログラム書き換え方法(システム)によれば、上記実施の形態2と同様に、プログラムの書き換えを効率良く実施することができると共に、一つのノードがコスト高になることを防ぐことができるため、全体としてのコストが抑えられる。
【0137】
なお、上記実施の形態2及び本実施の形態3において、車載充電器制御装置4に分割プログラムを暗号化する暗号化手段を備え、暗号化手段により暗号化した分割プログラムをEPS制御装置2aとモータ制御装置2bに送信し、暗号化された分割プログラムをEPS制御装置2aとモータ制御装置2bに保存するようにしても良い。あるいは、EPS制御装置2a及びモータ制御装置2bに暗号化手段を備え、車載充電器制御装置4から受信した分割プログラムを暗号化手段により暗号化してから保存するようにしても良い。
【0138】
また、暗号化手段により暗号化された分割プログラムを復号化する復号化手段をバッテリ制御装置1に備え、EPS制御装置2aまたはモータ制御装置2bから暗号化された分割プログラムを受信した際に、復号化手段により分割プログラムを復号化するようにしても良い。あるいは、EPS制御装置2a及びモータ制御装置2bに復号化手段を備え、それらに保存された暗号化された分割プログラムを復号化手段により復号化した後、バッテリ制御装置1に送信するようにしても良い。すなわち、第2種モードに暗号化手段と復号化手段を備えても良い。
【0139】
上記のような暗号化手段と復号化手段を備えることにより、CANネットワーク6で第三者に解読される危険性、またはEPS制御装置2a及びモータ制御装置2bに保存時に第三者に解読される危険性を低減することができ、プログラム書き換えを安全に実施することが可能となる。
【0140】
また、上記実施の形態1〜実施の形態3では、2つの第2種ノードを備えた車両制御システムを例に挙げて説明したが、第2種ノードの数はこれに限定されるものではない。第2種ノードの数を増やすことにより、各分割プログラムの容量を低減することができ、各第2種ノードに必要となる記録容量を抑えることができる。さらに、第1のネットワークとしてCANネットワーク6を、第2のネットワークとして電力線ネットワーク7を例に挙げて説明したが、ネットワークの種類はこれに限るものではない。
【0141】
また、上記実施の形態1〜実施の形態3では、第1種ノードのプログラム書き換えが成功することを前提として説明したが、失敗した場合に備えて、第1種ノードにタイムアウト時間等を設定しておき、所定時間が経過しても分割プログラムを受信できない場合や書き換えが終了しない場合には、書き換え処理を強制的に終了させるようにしても良い。ただし、書き換え処理を途中で終了させる場合には、別の動作可能な制御プログラムを用意しておく、関連ノードに故障状況を示す一意のコードを記録しておく等の対応策を併せて用意しておく必要がある。
【産業上の利用可能性】
【0142】
本発明は、ネットワークに接続された複数の制御装置を含むシステム(例えば車両制御システム)におけるプログラムの書き換え方法として利用することができる。
【符号の説明】
【0143】
1 バッテリ制御装置(第1種ノード)、2a EPS制御装置(第2種ノード)、
2b モータ制御装置(第2種ノード)、3 テスタ(第3種ノード)、
4 車載充電器制御装置(第4種ノード)、5 充電ステーション(第5種ノード)、
6 CANネットワーク、7 電力線、7a 電力線ネットワーク、
8 車両のネットワーク、10 バッテリ、
11、21a、21b、31、41、51 マイコン、
12、22a、22b、32、42 CANネットワーク用データ送受信手段、
13、23a、23b、33、43、53 記録装置、
14 プログラム書き換え手段、15 状態検出手段、
16 第1の制御装置、17 統括制御装置、18 第2の制御装置、
20a EPS、20b 駆動用モータ、24a、24b 送信可否判断手段、
25a、25b、45 第1種ノード状態検出手段、34、44 プログラム分割手段、40 車載充電器、46、52 電力線ネットワーク用データ送受信手段。
【特許請求の範囲】
【請求項1】
第1のネットワークを介して互いに通信可能に接続された第1種ノードと複数の第2種ノードを含み、前記第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換えシステムであって、
前記第1種ノードは、前記プログラムを保存する第1の記録領域と、前記第1の記録領域に保存された前記プログラムを部分的に書き換えるプログラム書き換え手段を有し、
前記第2種ノードは、前記プログラムの書き換え用プログラムの一部分である分割プログラムを保存する第2の記録領域と、前記第1種ノードへの前記分割プログラムの送信可否を判断する送信可否判断手段を有し、
前記各第2種ノードは、前記送信可否判断手段が前記第1種ノードへの前記分割プログラムの送信が可能であると判断した場合に、自身が保存する前記分割プログラムを前記第1のネットワークを介して前記第1種ノードに送信し、前記第1種ノードは、前記各第2種ノードから前記分割プログラムを受信する度に、前記第1の記録領域に保存された前記プログラムの該分割プログラムに該当する部分を、前記プログラム書き換え手段により書き換えることを特徴とするプログラム書き換えシステム。
【請求項2】
前記第1のネットワークに随時接続され、前記第1のネットワークを介して前記第1種ノード及び複数の前記第2種ノードと互いに通信可能な第3種ノードをさらに含み、
前記第3種ノードは、前記書き換え用プログラムを保存する第3の記録領域と、前記第3の記録領域に保存された前記書き換え用プログラムを分割し前記分割プログラムを作成する第1のプログラム分割手段を有し、前記第1のプログラム分割手段により作成された前記分割プログラムは、それぞれ前記第1のネットワークを介して前記各第2種ノードに送信されることを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項3】
前記第1のネットワークと第2のネットワークに接続され、前記第1のネットワークを介して前記第1種ノード及び複数の前記第2種ノードと互いに通信可能な第4種ノードと、前記第2のネットワークに随時接続され、前記第2のネットワークを介して前記第4種ノードと互いに通信可能な第5種ノードをさらに含み、
前記第5種ノードは、前記書き換え用プログラムを保存する第5の記録領域を有し、前記第5の記録領域に保存された前記書き換え用プログラムを前記第2のネットワークを介して前記第4種ノードに送信し、
前記第4種ノードは、前記第5種ノードから受信した前記書き換え用プログラムを保存する第4の記録領域と、前記第4の記録領域に保存された前記書き換え用プログラムが一定量になる毎に該書き換え用プログラムから前記分割プログラムを作成する第2のプログラム分割手段を有し、前記第2のプログラム分割手段により作成された前記分割プログラムは、それぞれ前記第1のネットワークを介して前記各第2種ノードに送信されることを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項4】
前記第1種ノードは、自身が前記プログラムを書き換え可能な状態であるか否かを検出する第1の状態検出手段を有し、前記第1の状態検出手段により書き換え可能であると検出された場合は、前記第1のネットワークを介して前記第2種ノードに通知し、通知を受けた前記第2種ノードは、自身が保存する前記分割プログラムを前記第1種ノードに送信することを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項5】
前記第2種ノードは、前記第1種ノードが前記プログラムを書き換え可能な状態であるか否かを検出する第2の状態検出手段を有し、前記第2の状態検出手段により書き換え可能であると検出された場合は、自身が保存する前記分割プログラムを前記第1種ノードに送信することを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項6】
前記第4種ノードは、前記第1種ノードが前記プログラムを書き換え可能な状態であるか否かを検出する第3の状態検出手段を有し、前記第3の状態検出手段により書き換え可能であると検出された場合は、前記第1のネットワークを介して前記第2種ノードに通知し、通知を受けた前記第2種ノードは、自身が保存する前記分割プログラムを前記第1種ノードに送信することを特徴とする請求項3記載のプログラム書き換えシステム。
【請求項7】
前記第2種ノードは、前記分割プログラムを暗号化する暗号化手段を有し、前記暗号化手段により暗号化した前記分割プログラムを前記第2の記録領域に保存することを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項8】
前記第3種ノードは、前記分割プログラムを暗号化する暗号化手段を有し、前記暗号化手段により暗号化した前記分割プログラムを前記各第2種ノードに送信し、前記各第2種ノードは、暗号化された前記分割プログラムを前記第2の記録領域に保存することを特徴とする請求項2記載のプログラム書き換えシステム。
【請求項9】
前記第4種ノードは、前記分割プログラムを暗号化する暗号化手段を有し、前記暗号化手段により暗号化した前記分割プログラムを前記各第2種ノードに送信し、前記各第2種ノードは、暗号化された前記分割プログラムを前記第2の記録領域に保存することを特徴とする請求項3記載のプログラム書き換えシステム。
【請求項10】
前記第1種ノードは、暗号化された前記分割プログラムを復号化する復号化手段を有し、前記第2種ノードから暗号化された前記分割プログラムを受信した際に、前記復号化手段により前記分割プログラムを復号化することを特徴とする請求項7〜請求項9のいずれか一項に記載のプログラム書き換えシステム。
【請求項11】
前記第2種ノードは、暗号化された前記分割プログラムを復号化する復号化手段を有し、前記第2の記録領域に保存された暗号化された前記分割プログラムを前記復号化手段により復号化して、前記第1種ノードに送信することを特徴とする請求項7〜請求項9のいずれか一項に記載のプログラム書き換えシステム。
【請求項12】
第1のネットワークに常時接続されている第1種ノード及び複数の第2種ノードと、前記第1のネットワークに随時接続される第3種ノードにおいて、前記第1種ノードに保存された前記第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換え方法であって、
前記プログラムの書き換え用プログラムを保存する前記第3種ノードにおいて、前記書き換え用プログラムを分割して分割プログラムを作成し、それぞれの分割プログラムを前記第1のネットワークを介して前記各第2種ノードに送信するステップ、
前記第2種ノードにおいて、受信した前記分割プログラムを保存するステップ、
前記第2種ノードにおいて、前記第1種ノードへの前記分割プログラムの送信可否を判断し、送信可能と判断した場合に自身が保存している前記分割プログラムを前記第1のネットワークを介して前記第1種ノードに送信するステップ、
前記第1種ノードにおいて、前記各第2種ノードから前記分割プログラムを受信する度に、前記プログラムの該分割プログラムに該当する部分を書き換えるステップを含むことを特徴とするプログラム書き換え方法。
【請求項13】
第1のネットワークに常時接続されている第1種ノード、複数の第2種ノード、及び第4種ノードと、前記第4種ノードに第2のネットワークを介して随時接続される第5種ノードにおいて、前記第1種ノードに保存された前記第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換え方法であって、
前記プログラムの書き換え用プログラムを保存する前記第5種ノードにおいて、前記書き換え用プログラムを前記第2のネットワークを介して前記第4種ノードに送信するステップ、
前記第4種ノードにおいて、受信した前記書き換え用プログラムを一定量保存する毎に、保存した前記書き換え用プログラムから前記書き換え用プログラムの一部分となる分割プログラムを作成し、該分割プログラムを前記第1のネットワークを介して前記第2種ノードに送信するステップ、
前記第2種ノードにおいて、受信した前記分割プログラムを保存するステップ、
前記第2種ノードにおいて、前記第1種ノードへの前記分割プログラムの送信可否を判断し、送信可能と判断した場合に自身が保存している前記分割プログラムを前記第1のネットワークを介して前記第1種ノードに送信するステップ、
前記第1種ノードにおいて、前記各第2種ノードから前記分割プログラムを受信する度に、前記プログラムの該分割プログラムに該当する部分を書き換えるステップを含むことを特徴とするプログラム書き換え方法。
【請求項1】
第1のネットワークを介して互いに通信可能に接続された第1種ノードと複数の第2種ノードを含み、前記第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換えシステムであって、
前記第1種ノードは、前記プログラムを保存する第1の記録領域と、前記第1の記録領域に保存された前記プログラムを部分的に書き換えるプログラム書き換え手段を有し、
前記第2種ノードは、前記プログラムの書き換え用プログラムの一部分である分割プログラムを保存する第2の記録領域と、前記第1種ノードへの前記分割プログラムの送信可否を判断する送信可否判断手段を有し、
前記各第2種ノードは、前記送信可否判断手段が前記第1種ノードへの前記分割プログラムの送信が可能であると判断した場合に、自身が保存する前記分割プログラムを前記第1のネットワークを介して前記第1種ノードに送信し、前記第1種ノードは、前記各第2種ノードから前記分割プログラムを受信する度に、前記第1の記録領域に保存された前記プログラムの該分割プログラムに該当する部分を、前記プログラム書き換え手段により書き換えることを特徴とするプログラム書き換えシステム。
【請求項2】
前記第1のネットワークに随時接続され、前記第1のネットワークを介して前記第1種ノード及び複数の前記第2種ノードと互いに通信可能な第3種ノードをさらに含み、
前記第3種ノードは、前記書き換え用プログラムを保存する第3の記録領域と、前記第3の記録領域に保存された前記書き換え用プログラムを分割し前記分割プログラムを作成する第1のプログラム分割手段を有し、前記第1のプログラム分割手段により作成された前記分割プログラムは、それぞれ前記第1のネットワークを介して前記各第2種ノードに送信されることを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項3】
前記第1のネットワークと第2のネットワークに接続され、前記第1のネットワークを介して前記第1種ノード及び複数の前記第2種ノードと互いに通信可能な第4種ノードと、前記第2のネットワークに随時接続され、前記第2のネットワークを介して前記第4種ノードと互いに通信可能な第5種ノードをさらに含み、
前記第5種ノードは、前記書き換え用プログラムを保存する第5の記録領域を有し、前記第5の記録領域に保存された前記書き換え用プログラムを前記第2のネットワークを介して前記第4種ノードに送信し、
前記第4種ノードは、前記第5種ノードから受信した前記書き換え用プログラムを保存する第4の記録領域と、前記第4の記録領域に保存された前記書き換え用プログラムが一定量になる毎に該書き換え用プログラムから前記分割プログラムを作成する第2のプログラム分割手段を有し、前記第2のプログラム分割手段により作成された前記分割プログラムは、それぞれ前記第1のネットワークを介して前記各第2種ノードに送信されることを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項4】
前記第1種ノードは、自身が前記プログラムを書き換え可能な状態であるか否かを検出する第1の状態検出手段を有し、前記第1の状態検出手段により書き換え可能であると検出された場合は、前記第1のネットワークを介して前記第2種ノードに通知し、通知を受けた前記第2種ノードは、自身が保存する前記分割プログラムを前記第1種ノードに送信することを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項5】
前記第2種ノードは、前記第1種ノードが前記プログラムを書き換え可能な状態であるか否かを検出する第2の状態検出手段を有し、前記第2の状態検出手段により書き換え可能であると検出された場合は、自身が保存する前記分割プログラムを前記第1種ノードに送信することを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項6】
前記第4種ノードは、前記第1種ノードが前記プログラムを書き換え可能な状態であるか否かを検出する第3の状態検出手段を有し、前記第3の状態検出手段により書き換え可能であると検出された場合は、前記第1のネットワークを介して前記第2種ノードに通知し、通知を受けた前記第2種ノードは、自身が保存する前記分割プログラムを前記第1種ノードに送信することを特徴とする請求項3記載のプログラム書き換えシステム。
【請求項7】
前記第2種ノードは、前記分割プログラムを暗号化する暗号化手段を有し、前記暗号化手段により暗号化した前記分割プログラムを前記第2の記録領域に保存することを特徴とする請求項1記載のプログラム書き換えシステム。
【請求項8】
前記第3種ノードは、前記分割プログラムを暗号化する暗号化手段を有し、前記暗号化手段により暗号化した前記分割プログラムを前記各第2種ノードに送信し、前記各第2種ノードは、暗号化された前記分割プログラムを前記第2の記録領域に保存することを特徴とする請求項2記載のプログラム書き換えシステム。
【請求項9】
前記第4種ノードは、前記分割プログラムを暗号化する暗号化手段を有し、前記暗号化手段により暗号化した前記分割プログラムを前記各第2種ノードに送信し、前記各第2種ノードは、暗号化された前記分割プログラムを前記第2の記録領域に保存することを特徴とする請求項3記載のプログラム書き換えシステム。
【請求項10】
前記第1種ノードは、暗号化された前記分割プログラムを復号化する復号化手段を有し、前記第2種ノードから暗号化された前記分割プログラムを受信した際に、前記復号化手段により前記分割プログラムを復号化することを特徴とする請求項7〜請求項9のいずれか一項に記載のプログラム書き換えシステム。
【請求項11】
前記第2種ノードは、暗号化された前記分割プログラムを復号化する復号化手段を有し、前記第2の記録領域に保存された暗号化された前記分割プログラムを前記復号化手段により復号化して、前記第1種ノードに送信することを特徴とする請求項7〜請求項9のいずれか一項に記載のプログラム書き換えシステム。
【請求項12】
第1のネットワークに常時接続されている第1種ノード及び複数の第2種ノードと、前記第1のネットワークに随時接続される第3種ノードにおいて、前記第1種ノードに保存された前記第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換え方法であって、
前記プログラムの書き換え用プログラムを保存する前記第3種ノードにおいて、前記書き換え用プログラムを分割して分割プログラムを作成し、それぞれの分割プログラムを前記第1のネットワークを介して前記各第2種ノードに送信するステップ、
前記第2種ノードにおいて、受信した前記分割プログラムを保存するステップ、
前記第2種ノードにおいて、前記第1種ノードへの前記分割プログラムの送信可否を判断し、送信可能と判断した場合に自身が保存している前記分割プログラムを前記第1のネットワークを介して前記第1種ノードに送信するステップ、
前記第1種ノードにおいて、前記各第2種ノードから前記分割プログラムを受信する度に、前記プログラムの該分割プログラムに該当する部分を書き換えるステップを含むことを特徴とするプログラム書き換え方法。
【請求項13】
第1のネットワークに常時接続されている第1種ノード、複数の第2種ノード、及び第4種ノードと、前記第4種ノードに第2のネットワークを介して随時接続される第5種ノードにおいて、前記第1種ノードに保存された前記第1種ノードの動作を決定するプログラムを書き換えるプログラム書き換え方法であって、
前記プログラムの書き換え用プログラムを保存する前記第5種ノードにおいて、前記書き換え用プログラムを前記第2のネットワークを介して前記第4種ノードに送信するステップ、
前記第4種ノードにおいて、受信した前記書き換え用プログラムを一定量保存する毎に、保存した前記書き換え用プログラムから前記書き換え用プログラムの一部分となる分割プログラムを作成し、該分割プログラムを前記第1のネットワークを介して前記第2種ノードに送信するステップ、
前記第2種ノードにおいて、受信した前記分割プログラムを保存するステップ、
前記第2種ノードにおいて、前記第1種ノードへの前記分割プログラムの送信可否を判断し、送信可能と判断した場合に自身が保存している前記分割プログラムを前記第1のネットワークを介して前記第1種ノードに送信するステップ、
前記第1種ノードにおいて、前記各第2種ノードから前記分割プログラムを受信する度に、前記プログラムの該分割プログラムに該当する部分を書き換えるステップを含むことを特徴とするプログラム書き換え方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−50862(P2013−50862A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−188751(P2011−188751)
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]