[情報処理システムの構成例]
図1は、本発明を適用した情報処理システムの一実施の形態の構成例を示すブロック図である。
図1の情報処理システム1は、各種の自動車(例えば、自家用車、トラック、バスなど)、二輪車などの車両11に搭載されている所定の制御装置のプログラムを書き換える書き換え処理を行うシステムである。
図1の情報処理システム1は、セキュリティ管理装置21、書き換え制御装置22、制御装置23−1乃至23−N(N≧2)を少なくとも備える車両11と、車両11のドアロックなどをリモートで制御することができる携帯型の携帯機12と、書き換え情報としての制御プログラムを記憶する書き換え情報記憶装置13とを有する。なお、本実施の形態において、制御装置23−1乃至23−Nを特に区別する必要がない場合には、単に、制御装置23という。
車両11内において、セキュリティ管理装置21、書き換え制御装置22、制御装置23−1乃至23−Nは、例えば、車載LAN(Local Area Network)の一種であるCAN(Controller Area Network)などの共通通信線24により相互に接続されている。書き換え情報記憶装置13は、車両11の共通通信線24への接続および切り離しが可能である。
セキュリティ管理装置21は、携帯機12と無線通信を行い、車両11のセキュリティを管理する。具体的には、セキュリティ管理装置21は、携帯機12に記憶された、車両11を特定する車両ID(Identification)を無線通信により携帯機12から受信し、自身が記憶する車両IDと一致するか否かに応じて、携帯機12およびそれを所持している運転者が正規の使用者(運転者)であるかを認証する。また、セキュリティ管理装置21は、認証結果に応じてドアを解錠したり、携帯機12(を所持する運転者)が車両11の所定の範囲内から離れた場合には、ドアを施錠する制御なども行う。
書き換え制御装置22は、情報処理システム1の書き換え処理全体の制御を行う。例えば、書き換え制御装置22は、書き換え情報記憶装置13の共通通信線24への接続を検出する。そして、書き換え情報記憶装置13が共通通信線24に接続された場合に、書き換え情報記憶装置13内に記憶されている書き換え情報の種別を確認し、書き換え対象の制御装置23に書き換え開始指令を送信して、書き換え動作を実行させる。
制御装置23は、例えば、ECU(Electronic Control Unit)などに相当し、車両11内の装備を、機能や配置等によって複数のユニットに分類したときの1ユニット内の装置(群)を制御する装置である。制御装置23は、例えば、エンジン制御装置、燃料タンク制御装置、開閉部制御装置などである。各制御装置23には、それぞれを識別するための制御装置IDが割り振られている。本実施の形態では、制御装置23が複数設けられているが、制御装置23の個数は1個でもよく、任意である。
携帯機12は、ユーザの操作を受け付け、ユーザの操作に応じた信号(操作信号)を、無線通信によりセキュリティ管理装置21に送信する。また、携帯機12は、セキュリティ管理装置21からのID送信要求に応じて、内部に記憶されている車両IDを、無線通信によりセキュリティ管理装置21に送信する。
書き換え情報記憶装置13は、更新対象の制御プログラムなどのデータを内部に記憶し、共通通信線24に接続された場合に、書き換え制御装置22または書き換え対象の制御装置23からの要求に応じて必要なデータ(プログラムを含む)を、要求された装置に共通通信線24を介して送信する。
以上のように構成される情報処理システム1において、書き換え対象の制御装置23内の記憶部に記憶されているデータを、書き換え情報記憶装置13に記憶された書き換えデータで書き換える処理(書き換え処理)が行われる。
次に、情報処理システム1を構成する携帯機12、書き換え情報記憶装置13、セキュリティ管理装置21、書き換え制御装置22、および制御装置23それぞれの詳細構成について、図2乃至図8を参照して説明する。
[セキュリティ管理装置21の構成例]
図2は、セキュリティ管理装置21の詳細構成例を示すブロック図である。
セキュリティ管理装置21は、書き換え制御部31、セキュリティ制御部32、ID情報記憶部33、無線通信部34、共通通信線接続I/F(Interface)35、およびログ記録部36により構成される。
書き換え制御部31は、情報処理システム1で行われる書き換え処理のうちの、セキュリティ管理装置21内の処理を担当する。例えば、書き換え制御部31は、書き換え処理において携帯機12から無線通信により供給される、書き換え開始を示す操作情報(書き換え開始操作情報)を、共通通信線接続I/F35を介して、書き換え制御装置22に送信する。
セキュリティ制御部32は、車両11のセキュリティに関する処理(制御)を行う。例えば、セキュリティ制御部32は、車両11から無線通信により車両IDを受信し、ID情報記憶部33に記憶されている車両IDと一致するか否かを判定し、携帯機12およびそれを所持している運転者が正規の使用者(運転者)であるかを認証する。また例えば、セキュリティ制御部32は、認証された正規の使用者からのドアの解錠操作である場合、ドアを解錠したり、携帯機12(を所持する運転者)が車両11の所定の範囲内から離れた場合には、ドアを施錠する制御なども行う。
ID情報記憶部33は、正規の使用者(運転者)が保有している携帯機12内に記憶されている車両IDと同一の車両IDを記憶する。
無線通信部34は、書き換え制御部31またはセキュリティ制御部32の制御の下、携帯機12と無線通信を行う。
共通通信線接続I/F35は、共通通信線24との接続部であり、書き換え制御部31またはセキュリティ制御部32が、書き換え制御装置22に供給するデータを共通通信線24に出力し、書き換え制御装置22から供給されたデータを取得して、書き換え制御部31またはセキュリティ制御部32に供給する。
ログ記録部36は、書き換え処理において行われた処理の途中経過、および、エラー発生時のエラー内容を記録(記憶)する。ログ記録部36に記録された情報を解析することにより、エラーの内容を知ることができる。
[書き換え制御装置22の構成例]
図3は、書き換え制御装置22の詳細構成例を示すブロック図である。
書き換え制御装置22は、書き換え制御部41、RAM(Random Access Memory)42、共通通信線接続I/F43、及びログ記録部44により構成される。
書き換え制御部41は、書き換え処理のうちの、書き換え制御装置22内の処理を担当する。書き換え制御装置22は、共通通信線接続I/F43を介して、セキュリティ管理装置21、制御装置23、および書き換え情報記憶装置13と所定のデータの授受を行い、情報処理システム1で行われる書き換え処理の全体を制御するものであり、書き換え制御部41がそれを実行する。
RAM42は、書き換え制御部41が書き換え制御を実行する場合に、実行時に一時的に記憶しておくことが必要なデータを適宜記憶する。
共通通信線接続I/F43は、共通通信線24との接続部であり、書き換え制御部41が、他の装置に供給するデータを共通通信線24に出力し、他の装置から供給されたデータを取得して、書き換え制御部41に供給する。
ログ記録部44は、書き換え処理において行われた処理の途中経過、および、エラー発生時のエラー内容を記録(記憶)する。ログ記録部44に記録された情報を解析することにより、エラーの内容を知ることができる。
[制御装置23の構成例]
図4は、制御装置23の詳細構成例を示すブロック図である。
制御装置23は、制御部51、不揮発性メモリ書き換え部52、不揮発性メモリ53、RAM54、共通通信線接続I/F55、およびログ記録部56により構成される。
制御部51は、自身が担当するユニットに属する1以上の装置を制御する。どのような制御を行うかについては、不揮発性メモリ53に記憶されている制御プログラムに記載されており、制御部51は、電源投入または所定のタイミングで、不揮発性メモリ53に記憶されている制御プログラムをロードして実行する。
不揮発性メモリ書き換え部52は、書き換え処理のうちの、制御装置23内の処理を担当する。書き換え処理において、不揮発性メモリ書き換え部52が行う書き換え制御は、不揮発性メモリ53に記憶されている不揮発性メモリ書き換え実行プログラム(図6)に基づいて行われる。
不揮発性メモリ53は、上述した不揮発性メモリ書き換え実行プログラムおよび制御プログラムを記憶する。不揮発性メモリ書き換え実行プログラムは、不揮発性メモリ53に記憶されている制御プログラムを書き換えるための実行プログラムであり、制御プログラムは、制御装置23の制御内容を規定するプログラムである。この不揮発性メモリ書き換え実行プログラムおよび制御プログラム(図6)が、書き換え処理において、書き換え情報記憶装置13から取得されて更新される書き換えデータに相当する。
なお、制御部51に、不揮発性メモリ53に記憶されている制御プログラムを書き換える機能を持たせる場合には、不揮発性メモリ書き換え部52は省略することができる。
RAM54は、制御部51および不揮発性メモリ書き換え部52が制御プログラムおよび不揮発性メモリ書き換え実行プログラムをそれぞれ実行する場合に、実行時に一時的に記憶しておくことが必要なデータを適宜記憶する。
共通通信線接続I/F55は、共通通信線24との接続部であり、制御部51が、担当する制御対象の装置に供給するデータを共通通信線24に出力し、制御対象の装置から供給されたデータを取得して、制御部51に供給する。
また、共通通信線接続I/F55は、書き換え処理において、不揮発性メモリ書き換え部52が、書き換え制御装置22に供給するデータを共通通信線24に出力し、書き換え制御装置22から供給されたデータを取得して、不揮発性メモリ書き換え部52に供給する。
さらに、共通通信線接続I/F55は、書き換え処理において、不揮発性メモリ書き換え部52が、書き換え情報記憶装置13に供給するデータを共通通信線24に出力し、書き換え情報記憶装置13から供給されたデータを取得して、不揮発性メモリ書き換え部52または不揮発性メモリ53に供給する。
ログ記録部56は、書き換え処理において行われた処理の途中経過、および、エラー発生時のエラー内容を記録(記憶)する。ログ記録部56に記録された情報を解析することにより、エラーの内容を知ることができる。
なお、ログ記録部は、セキュリティ管理装置21、書き換え制御装置22、及び制御装置23のそれぞれに設けるのではなく、いずれか1つに設け、ログが集約されるようにしてもよい。
[書き換え情報記憶装置13の構成例]
図5は、書き換え情報記憶装置13の詳細構成例を示すブロック図である。
書き換え情報記憶装置13は、CPU(Central Processing Unit)61、不揮発性メモリ62、共通通信線接続I/F63、および保守用端末接続コネクタ64により構成される。
CPU61は、例えば、ROM(Read Only Memory)とRAM(Random Access Memory)を内蔵した1チップCPUで構成することができ、内蔵ROMに記憶されたプログラムにより、書き換え処理のうちの、書き換え情報記憶装置13内の処理を担当する。例えば、CPU61は、書き換え制御装置22からの書き換え情報種別要求に応じて、不揮発性メモリ62に記憶されている書き換えデータの種別を、共通通信線接続I/F63を介して書き換え制御装置22に送信する。また、CPU61は、書き換え対象の制御装置23からの書き換えデータの送信要求に応じて、書き換えデータを共通通信線接続I/F63を介して共通通信線24に出力する。
不揮発性メモリ62は、書き換え対象の制御装置23に転送される、書き換え情報としての不揮発性メモリ書き換え実行プログラムおよび制御プログラムを記憶する。
共通通信線接続I/F63は、共通通信線24との接続部であり、CPU61の制御の下、書き換え制御装置22または書き換え対象の制御装置23とやりとりするデータの共通通信線24への入出力を行う。保守用端末接続コネクタ64は、保守用端末が共通通信線24と接続するときの接続コネクタと同型のコネクタ端子である。書き換え情報記憶装置13は、保守用端末接続コネクタ64を有することにより、保守用端末用に用意されている接続端子に接続することで、共通通信線24に接続することができる。
書き換え情報記憶装置13は、例えば、手のひらサイズの小型の筺体で構成することができる。また、保守用端末に、後述する書き換え情報記憶装置13の機能を備え、保守用端末を書き換え情報記憶装置13として使用することもできる。
[書き換え情報の詳細例]
次に、図6を参照して、書き換え情報記憶装置13の不揮発性メモリ62に記憶されている情報について説明する。
書き換え情報記憶装置13の不揮発性メモリ62には、書き換え対象の制御装置23を識別する対象装置識別情報、不揮発性メモリ書き換え実行プログラム、および制御プログラムが記憶されている。
対象装置識別情報は、書き換え対象の制御装置23を示す制御装置IDと、制御プログラムのバージョンを表すバージョン情報とで構成される。
不揮発性メモリ書き換え実行プログラムには、先頭から順に、不揮発性メモリ書き換え実行プログラムであることを示すID、プログラムの書込み先アドレス、プログラムのデータ長、プログラムの実データが格納されている。
制御プログラムには、先頭から順に、制御プログラムであることを示すID、プログラムの書込み先アドレス、プログラムのデータ長、プログラムの実データが格納されている。
対象装置識別情報、不揮発性メモリ書き換え実行プログラム、および制御プログラムそれぞれは、例えば、不揮発性メモリ62上に構築されたファイルシステムにファイルとして格納される。この場合、不揮発性メモリ62には、3つのファイルが格納されることになる。
対象装置識別情報、不揮発性メモリ書き換え実行プログラム、および制御プログラムそれぞれのファイル名に、予め決定された、書き換えのデータであることを示すIDを含めるようにすることができる。これにより、書き換え情報記憶装置13の不揮発性メモリ62に、書き換え用のデータが記憶されているか否かを即座に判定することができる。
また、ファイル名は、書き換えのタイミングを指定した名前とすることができる。例えば、書き換え年と書き換え日を含む文字列をファイル名とすれば、所定の日にちにのみ書き換えが許可されるようにすることができる。
なお、対象装置識別情報、不揮発性メモリ書き換え実行プログラム、および制御プログラムは、1つまたは2つのファイルとして構成して格納してもよい。
[携帯機12の構成例]
図7は、携帯機12の詳細構成例を示すブロック図である。
携帯機12は、音声出力部71、表示部72、操作ボタン73A乃至73F、操作ボタン接続部74、操作制御部75、ID情報記憶部76、及び無線通信部77により構成される。
音声出力部71は、スピーカ等からなり、操作制御部75の制御により、発信音、ブザー、メロディ等の音やメッセージ等の音声を出力する。
表示部72は、LCD (Liquid Crystal Display)またはLED (Light Emitting Diode)等からなり、「書き換え開始の操作をしてください」、「データの更新中です」等をメッセージ(文字)や所定の点灯方法で表示する。
図7の音声出力部71と表示部72の破線は、音声出力部71と表示部72が必須ではなく、省略可能であることを示している。
操作ボタン73A乃至73Fは、車両11に対して、ドアの施錠および解錠等の所定の動作を指示するときに、ユーザにより操作されるボタンである。この例では、ユーザの操作を受け付ける操作部が6個の操作ボタン73A乃至73Fにより構成されているが、操作部の個数はこれに限定されない。
操作ボタン接続部74は、操作ボタン73A乃至73Fで行われたユーザの操作を、操作信号として操作ボタン73A乃至73Fから取得し、操作制御部75に供給する。
操作制御部75は、無線通信部77を介して、セキュリティ管理装置21との間で、所定のデータ(例えば、車両IDなど)をやりとりする。また、操作制御部75は、操作ボタン接続部74を介して取得される操作ボタン73A乃至73Fで行われたユーザの操作や、セキュリティ管理装置21から供給されたデータに応じて、音声出力部71から音(音声)を出力させたり、表示部72に所定のメッセージを表示させたりする。
ID情報記憶部76は、携帯機12と対応付けられている車両11を特定する車両IDを記憶する。無線通信部77は、操作制御部75の制御により、セキュリティ管理装置21と無線通信を行う。
[携帯機12の外観例]
図8は、携帯機12の外観構成例を示している。
携帯機12の操作面となる一面には、音声出力部71、表示部72、および、操作ボタン73A乃至73Fが設けられている。
[書き換え処理の全体処理フロー]
次に、図9のフローチャートを参照して、情報処理システム1による書き換え処理の全体処理フローについて説明する。
初めに、ステップS11において、運転者または書き換え処理を実行する作業員等のユーザは、携帯機12を操作して、ドアの解錠操作を行うと、ステップS21において、携帯機12は、そのドアの解錠操作を受け付け、ドアの解錠の操作信号を、携帯機12が記憶している車両IDとともに無線通信によりセキュリティ管理装置21に送信する。
セキュリティ管理装置21は、ステップS41において、無線通信により携帯機12から送信されてきた車両IDが、自身が記憶する車両IDと一致することを確認し、ドアを解錠する。また、ステップS41において、セキュリティ管理装置21は、ドアの解錠を書き換え制御装置22に共通通信線24を介して通知する。
書き換え制御装置22は、ステップS61において、セキュリティ管理装置21から共通通信線24を介して通知されたドアの解錠の通知を受信し、ドアの解錠を確認(認識)する。
次に、ステップS12において、ユーザがACC(Accessories)オンの操作を行うと、セキュリティ管理装置21は、ステップS42において、その操作に応じて、ACCをオンにする。なお「ACC(Accessories)オン」は、車両11内の予め定められたいくつかの電装品のみが稼動可能な状態であり、後述する「IGN(Ignition)オン」は、車両11内の全ての電装品が稼動可能な状態である。
次に、ステップS13において、ユーザが、書き換え情報記憶装置13を、例えば、車両11のインストルメントパネル部などに設けられた接続部に接続すると、書き換え情報記憶装置13は、ステップS101において、車両11の共通通信線24と接続されたことを検出し、ステップS102において、共通通信線24を介して、書き換え制御装置22に接続を通知する。
なお、書き換え情報記憶装置13は、車両11内の接続部に直接(物理的に)接続されるものでも良いし、物理的には接続されていなくとも無線通信により通信可能に接続されるものでもよい。この場合、書き換え情報記憶装置13が、無線通信相手の書き換え制御装置22の無線通信部の通信範囲内に存在したときに、書き換え情報記憶装置13の接続が検出されたことになる。
書き換え制御装置22は、ステップS62において、書き換え情報記憶装置13からの接続通知を受信して、書き換え情報記憶装置13の接続を検出し、ステップS63において、ステップS61のドアの解錠の確認から、所定時間内であることを確認する。後述する詳細処理で説明するように、制御プログラムの書き換え作業は、ドアの解錠操作が行われてから所定時間以内に、書き換え制御装置22の接続があった場合のみ、実行されるからである。
書き換え情報記憶装置13の接続が、ドアの解錠の確認から所定時間内である場合には、書き換え制御装置22は、ステップS64において、車両11が書き換え可能状態であることを確認する。車両11が書き換え可能状態であるためには、例えば、ACCがオンであることやIGNがオフであることが必要であり、書き換え制御装置22は、そのような条件を満たすか否かを確認する。
車両11が書き換え可能状態であることが確認できた場合、書き換え制御装置22は、ステップS65において、書き換える情報の種別を要求する書き換え情報種別要求を、共通通信線24を介して、書き換え情報記憶装置13に送信する。
書き換え情報記憶装置13は、ステップS103において、書き換え制御装置22からの書き換え情報種別要求を受信し、ステップS104において、書き換え情報種別を、共通通信線24を介して書き換え制御装置22に送信する。
書き換え制御装置22は、ステップS66において、書き換え情報記憶装置13から送信されてきた書き換え情報種別を受信し、書き換え情報記憶装置13に記憶されている書き換えデータの種別を確認する。ここで、取得される書き換え情報種別としては、図6に示した、書き換え対象の制御装置23を識別する対象装置識別情報が含まれているため、書き換え情報種別を取得することで、制御装置23−1乃至23−Nのどれが書き換え対象であるかが特定される。
そして、ステップS67において、書き換え制御装置22は、携帯機12が車両11に登録されたものであるかを確認する携帯機確認指示を、共通通信線24を介してセキュリティ管理装置21に送信する。
セキュリティ管理装置21は、ステップS43において、書き換え制御装置22からの携帯機確認指示を受信して、携帯機12に対して、無線通信によりID送信を要求する。
携帯機12は、ステップS22において、セキュリティ管理装置21からのID送信要求を受信して、ステップS23において、携帯機12がID情報記憶部76に格納している車両IDを無線通信により送信する。
セキュリティ管理装置21は、ステップS44において、携帯機12からの車両IDを受信して、自身のID情報記憶部33に記憶している車両IDと一致するかを確認する。セキュリティ管理装置21は、車両IDが一致することを確認したら、その確認結果を書き換え制御装置22に共通通信線24を介して送信する。
書き換え制御装置22は、ステップS68において、車両IDが一致したことを示す確認結果(携帯機確認OK)を受信すると、ステップS69において、書き換え許可情報の要求を、書き換え情報記憶装置13に共通通信線24を介して送信する。書き換え許可情報は、書き換え情報記憶装置13に記憶されている書き換えデータによる書き換えを許可するかどうかを決定するための、予め、書き換え制御装置22と書き換え情報記憶装置13との間で取り決められたデータ(パスワード)である。
書き換え情報記憶装置13は、ステップS105において、書き換え制御装置22からの書き換え許可情報の要求を受信し、ステップS106において、書き換え許可情報を、共通通信線24を介して書き換え制御装置22に送信する。
書き換え制御装置22は、ステップS70において、書き換え情報記憶装置13からの書き換え許可情報を受信すると、ステップS71において、車両11内の全ての制御装置23−1乃至23−Nに、制御装置23の識別情報を要求する。
車両11内の全ての制御装置23−1乃至23−Nそれぞれは、ステップS91において、書き換え制御装置22からの識別情報の要求を受信すると、ステップS92において、自機の識別情報(制御装置ID)を送信する。
書き換え制御装置22は、ステップS72において、制御装置23−1乃至23−Nそれぞれから送信されてきた識別情報を受信し、ステップS73において、受信した各制御装置23の識別情報と、ステップS66で特定された書き換え対象の制御装置23の識別情報とを比較し、書き換え対象の制御装置23が存在するか否かを確認する。
そして、書き換え対象の制御装置23の存在を確認すると、書き換え制御装置22は、ステップS74において、セキュリティ管理装置21に対して、書き換え開始操作情報を要求する。
セキュリティ管理装置21は、ステップS45において、書き換え制御装置22からの書き換え開始操作情報の要求を受信し、そのまま携帯機12に送信する。
携帯機12は、ステップS24において、セキュリティ管理装置21からの書き換え開始操作情報の要求を受信し、ユーザに書き換え開始操作を促す処理を行う。ここで行われる書き換え開始操作を促す処理は、例えば、「書き換え開始の操作を行ってください」のメッセージを表示部72に表示するとともに、音声出力部71から音声を出力したり、ブザーを出力したりする処理である。
携帯機12の書き換え開始操作を促す処理により、ユーザは、ステップS14において、書き換えを開始する操作を行う。本実施の形態では、書き換えを開始する操作は、携帯機12の操作ボタン73を所定の手順で操作するもので、どのような手順かは予め決定され、ユーザが知っているものとする。携帯機12は、ステップS25において、ユーザによる書き換え開始操作を受け付け、その操作を示す書き換え開始操作情報を送信する。
セキュリティ管理装置21は、ステップS46において、携帯機12からの書き換え開始操作情報を無線通信により受信して、それを共通通信線24を介して書き換え制御装置22に送信する。
書き換え制御装置22は、ステップS75において、セキュリティ管理装置21からの書き換え開始操作情報を受信することにより、書き換え開始操作があったと判定する。そして、ステップS76において、書き換え制御装置22は、書き換え開始指令を、共通通信線24を介して書き換え対象の制御装置23(以下、書き換え対象制御装置23という。)に送信する。
書き換え対象制御装置23は、ステップS93において、書き換え制御装置22からの書き換え開始指令を受信し、ステップS94において、書き換え可能状態に移行する。そして、ステップS95において、書き換え対象制御装置23は、書き換えデータの送信を、書き換え情報記憶装置13に要求する。
書き換え情報記憶装置13は、ステップS107において、書き換え対象制御装置23からの書き換えデータの送信要求を受信し、ステップS108において、書き換えデータを書き換え対象制御装置23に共通通信線24を介して送信する。
書き換え対象制御装置23は、ステップS96において、書き換え情報記憶装置13からの書き換えデータを受信し、ステップS97において、装置内の不揮発性メモリ53のデータを、受信した書き換えデータで書き換える。
また上述した書き換え対象制御装置23の書き換えデータによる更新とは別に(並行して)、書き換え制御装置22が、ステップS76として書き換え開始指令を書き換え対象制御装置23に送信したあと、ステップS77において、書き換え開始をセキュリティ管理装置21に共通通信線24を介して通知する。
セキュリティ管理装置21は、ステップS47において、共通通信線24を介して書き換え制御装置22から送信されてきた、書き換えを開始したことを示す書き換え開始通知を受信し、ステップS48において、受信した書き換え開始通知を無線通信により携帯機12に送信する。
携帯機12は、ステップS26において、セキュリティ管理装置21からの書き換え開始通知を受信し、ステップS27において、書き換え開始を示すメッセージを表示部72に表示する。書き換え開始後は、例えば、「書き換え中」のメッセージが表示部72に表示される。ユーザは、ステップS15において、表示部72に表示されたメッセージを見て、書き換え開始を確認する。
書き換え対象制御装置23において、ステップS97として実行が開始された、不揮発性メモリ53のデータの書き換えが終了すると、書き換え対象制御装置23は、ステップS98において、書き換えの結果を通知する書き換え結果通知を、共通通信線24を介して書き換え制御装置22に送信する。また、ステップS99において、書き換え対象制御装置23は、更新したプログラムを起動し、通常の制御動作に復帰する。
書き換え制御装置22は、ステップS78において、書き換え対象制御装置23からの書き換え結果通知を受信し、それをセキュリティ管理装置21に送信する。セキュリティ管理装置21は、ステップS49において、書き換え制御装置22からの書き換え結果通知を受信し、それをさらに、無線通信により携帯機12に送信する。
携帯機12は、ステップS28において、セキュリティ管理装置21からの書き換え結果通知を受信し、ステップS29において、書き換え結果を表示部72に表示する。
ユーザは、ステップS16において、表示部72に表示された書き換え結果を確認し、ステップS17において、書き換え情報記憶装置13を車両11から取り外す。
以上により、情報処理システム1による書き換え処理が終了する。
上述した書き換え処理によれば、セキュリティ管理装置21のセキュリティ制御部32(解錠制御手段)は、携帯機12の認証一致結果と車両11のドアの解錠操作を受け付けて、車両11のドアの解錠を行う。書き換え制御装置22の書き換え制御部41(情報記憶装置接続検出手段)は、車両のドアの解錠操作から所定時間内に、制御装置23内の制御プログラムを書き換えるための更新用制御プログラムが記憶されている書き換え情報記憶装置13が接続されたかを検出する。
そして、車両11のドアの解錠操作から所定時間内に書き換え情報記憶装置13との接続が検出された場合に、書き換え対象制御装置23の不揮発性メモリ書き換え部52(書き換え手段)が、制御装置23に記憶されている制御プログラムを更新用制御プログラムに書き換える。
従って、ユーザが制御プログラムの書き換えを行うために最低限必要な操作は、ドアの解錠操作と、ドアの解錠操作から所定時間内の書き換え情報記憶装置13の接続だけであるので、保守用端末を用いることなく簡単に、制御プログラムの書き換えを行うことができる。
なお、ユーザが制御プログラムの書き換えを行うための操作に、ユーザにより所定の書き換え開始操作が行われたことをさらに条件としてもよい。これにより、さらに、所定の書き換え開始操作を知る者だけが書き換えを行うことが可能となるので、安全性が向上する。
また、ドアの解錠から所定時間内に書き換え情報記憶装置13の接続が検出されたかの判定に、ACCのオンオフの条件も加え、ACCがオフのときに書き換え情報記憶装置13の接続が検出され、その後に、ACCがオンとなったことをさらに条件として判定するようにしてもよい。この場合、ACCがオンにした後、別の目的で書き換え情報記憶装置13を接続したときには、制御プログラムの書き換え開始操作を待つ不要な動作を行わないようにすることができる。
上述の書き換え処理によれば、車両IDが一致する携帯機12を持つ者だけが書き換えを指示することができるので、車両11を利用することが許可されていない者による不正な書き換えを防止することができる。また、制御プログラムの書き換えができるのは、ドアの解錠操作から所定時間内だけ、制御プログラムの書き換えを可能とし、安全が確保される。また、車両11の所有者(携帯機12を持つユーザ)が車両11から離れた際に不正に書き換えられることを防止することができる。
また、書き換え情報記憶装置13が接続されていない状態では、書き換えは実行されないので、ユーザ(不正に書き換えようとするものも含む)がどのような操作を行っても、制御プログラムが書き換えられてしまうことはない。書き換え情報記憶装置13が接続されていないときには、制御プログラムの書き換えのための不要な判定処理を行う必要はない。
書き換え情報記憶装置13から送信されてきた書き換え情報種別を受信し、書き換えの対象装置を識別する対象装置識別情報を確認するので、車両11内に複数の制御装置23−1乃至23−Nが存在する場合であっても、書き換え対象の制御装置23を指定する必要がないので、より簡単な操作とすることができる。
携帯機12の表示部72に書き換え結果が表示されるので、ユーザは、保守用端末がなくても、書き換え結果を確認することができる。なお、書き換え結果は、携帯機12の表示部72ではなく、セキュリティ管理装置21が、車両11内のインストルメントパネルやオーディオ装置に表示するようにしてもよい。
以上のように、書き換え処理によれば、簡単な操作で、かつ、安全に車両11の制御プログラムを更新することができる。
以下、情報処理システム1の書き換え処理を、装置ごとに処理を説明することで、さらに詳しく説明する。
[書き換え制御装置22の全体処理フロー]
図10は、書き換え処理における書き換え制御装置22の処理を説明するフローチャートである。
書き換え制御装置22では、初めに、ステップS121において、携帯機12によるドアの解錠動作があったか否かを判定し、ドアの解錠動作があったと判定されるまで処理が繰り返される。
ステップS121で、ドアの解錠動作があったと判定された場合、処理はステップS122に進み、書き換え制御装置22は、ドアの解錠後、所定時間経過したかを判定する。
ステップS122で、ドアの解錠後、まだ所定時間経過していないと判定された場合、処理はステップS124に進み、書き換え制御装置22は、書き換え情報記憶装置13の接続を検出したか否かを判定する。ステップS124で、書き換え情報記憶装置13の接続を検出していないと判定された場合、処理はステップS122に戻る。
一方、ステップS122で、ドアの解錠後、所定時間経過したと判定された場合、処理はステップS123に進み、書き換え制御装置22は、ドア解錠タイムアウトエラーをログ記録部44に記録して、処理を終了する。
以上のステップS122乃至S124では、書き換え制御装置22は、ドアの解錠後、所定時間が経過するまでに、書き換え情報記憶装置13の接続が検出されたかを判定し、ドアの解錠後、所定時間が経過するまでに、書き換え情報記憶装置13の接続が検出されない場合には、ドア解錠タイムアウトエラーとして書き換え処理を終了する。
ドアの解錠後、所定時間が経過するまでに、書き換え情報記憶装置13の接続が検出された場合には、ステップS124で、書き換え情報記憶装置13の接続が検出したと判定され、処理がステップS125に進む。
ステップS125において、書き換え制御装置22は、車両11の状態が書き換え可能状態にあるか否かを確認する書き換え可能状態確認処理を実行する。この処理の詳細については、図11を参照して後述する。
ステップS126において、書き換え制御装置22は、書き換え可能状態確認処理の結果、書き換え可能状態であるかを判定する。ステップS126で、書き換え可能状態ではないと判定された場合、処理はステップS127に進み、書き換え制御装置22は、書き換え可能状態エラーをログ記録部44に記録して、処理を終了する。
一方、ステップS126で、書き換え可能状態であると判定された場合、処理はステップS128に進み、書き換え制御装置22は、書き換え対象の制御装置23と、書き換える情報(データ)の種別を確認する書き換え情報種別確認処理を実行する。この処理の詳細については図12を参照して後述するが、この処理では、書き換える情報が、不揮発性メモリ書き換え実行プログラムと制御プログラムの両方であるのか、または、制御プログラムのみであるのかを確認することができる。
そして、ステップS129において、書き換え制御装置22は、携帯機12が車両11に登録されたものであるかを確認する携帯機確認指示をセキュリティ管理装置21に送信する。
ステップS130において、書き換え制御装置22は、携帯機12が車両11に登録されたものであると判定されたか、即ち、セキュリティ管理装置21から携帯機確認OKの通知があったかを判定する。
ステップS130で、キュリティ管理装置21から携帯機確認OKの通知がないと判定された場合、処理はステップS131に進み、書き換え制御装置22は、携帯機応答エラーをログ記録部44に記録して、処理を終了する。
一方、ステップS130で、セキュリティ管理装置21から携帯機確認OKの通知があったと判定された場合、処理はステップS132に進み、書き換え制御装置22は、書き換え情報記憶装置13に、書き換え許可情報を要求する。
そして、ステップS133において、書き換え制御装置22は、要求した書き換え許可情報に応じて、書き換え情報記憶装置13から、書き換え許可情報を受信したかを判定する。
ステップS133で、書き換え情報記憶装置13から書き換え許可情報を受信しなかったと判定された場合、処理はステップS134に進み、書き換え制御装置22は、書き換え許可情報エラーをログ記録部44に記録して、処理を終了する。
一方、ステップS133で、書き換え情報記憶装置13から書き換え許可情報を受信したと判定された場合、処理はステップS135に進み、書き換え制御装置22は、共通通信線24を介して接続されている全ての制御装置23−1乃至23−Nに、制御装置識別情報を要求する。
そして、ステップS136において、書き換え制御装置22は、全ての制御装置23−1乃至23−Nから、制御装置識別情報の送信があったかを判定する。ステップS136で、少なくとも1つの制御装置23から制御装置識別情報の送信がなかったと判定された場合、処理はステップS137に進み、書き換え制御装置22は、制御装置識別情報受信エラーをログ記録部44に記録して、処理を終了する。
一方、ステップS136で、全ての制御装置23−1乃至23−Nから、制御装置識別情報の送信があったと判定された場合、処理はステップS138に進み、書き換え制御装置22は、書き換え対象の制御装置23があったかを判定する。ステップS138では、上述したステップS128の書き換え情報種別確認処理で認識された書き換え対象の制御装置23から、制御装置識別情報の送信があったか否かにより、書き換え対象の制御装置23があるか否かを判定することができる。
ステップS138で、書き換え対象の制御装置23がないと判定された場合、処理はステップS139に進み、書き換え制御装置22は、書き換え対象検出エラーをログ記録部44に記録して、処理を終了する。
一方、ステップS138で、書き換え対象の制御装置23があったと判定された場合、処理はステップS140に進み、書き換え制御装置22は、書き換え開始操作情報をセキュリティ管理装置21に要求する。セキュリティ管理装置21への書き換え開始操作情報の要求が、携帯機12での書き換え開始操作を促す表示となり、ユーザによる書き換え開始操作が行われる。
そして、ステップS141において、書き換え制御装置22は、書き換え開始操作があったか、即ち、セキュリティ管理装置21からの書き換え開始操作情報を受信したかを判定する。
ステップS141で、書き換え開始操作がなかったと判定された場合、処理はステップS142に進み、書き換え制御装置22は、書き換え開始操作エラーをログ記録部44に記録して、処理を終了する。
一方、ステップS141で、書き換え開始操作があったと判定された場合、処理はステップS143に進み、書き換え制御装置22は、書き換え対象の制御装置23(書き換え対象制御装置23)に、書き換え開始指令を送信する。また、ステップS144において、書き換え制御装置22は、セキュリティ管理装置21に、書き換え開始を通知する。ステップS143とステップS144は、同時に行うことができる。
そして、ステップS145において、書き換え制御装置22は、書き換え対象制御装置23から、書き換え結果通知を受信したかを判定する。
ステップS145で、書き換え対象制御装置23から書き換え結果通知を受信していないと判定された場合、ステップS146に進み、タイムアウトが発生したか否かが判定される。そして、ステップS146で、タイムアウトが発生していないと判定された場合には、再び処理がステップS145に戻り、書き換え対象制御装置23から書き換え結果通知を受信したかが判定される。そして、ステップS146で、タイムアウトが発生したと判定された場合、処理はステップS147に進み、書き換え制御装置22は、書き換え結果受信エラーをログ記録部44に記録して、処理を終了する。
一方、タイムアウトが発生する前に書き換え結果通知を受信した場合には、ステップS145で、書き換え対象制御装置23から書き換え結果通知を受信したと判定されて、ステップS148に進み、書き換え制御装置22は、セキュリティ管理装置21に、書き換え結果通知を送信して、処理を終了する。
[書き換え可能状態確認処理の詳細処理]
図11のフローチャートは、上述したステップS125の処理として実行される、書き換え可能状態確認処理の詳細を示している。
この処理では、初めに、ステップS161において、書き換え制御装置22は、ACCがオンであるかを判定する。ステップS161で、ACCがオンではないと判定された場合、書き換え制御装置22は、車両11の状態が書き換え不能状態と判定する。
一方、ステップS161で、ACCがオンであると判定された場合、処理はステップS163に進み、書き換え制御装置22は、IGNがオフであるかを判定する。ステップS163で、IGNがオフではない(オンである)と判定された場合、処理はステップS164に進み、書き換え制御装置22は、車両11の状態が書き換え禁止状態と判定する。
一方、ステップS163で、IGNがオフであると判定された場合、処理はステップS165に進み、書き換え制御装置22は、その他の書き換え禁止条件を満たすかを判定する。その他の書き換え禁止条件としては、例えば、少なくとも1つの制御装置23から書き換え禁止信号が出力されている状態、車両11が故障している状態、車両11内のバッテリの電圧が低下している状態など、制御装置23の制御プログラム書き換えに影響を及ぼす可能性のある所定の状態を、書き換え禁止条件とすることができる。また、書き換え開始操作をユーザに行わせた際に、その書き換え開始操作がドアの解錠を行った携帯機12ではないことを書き換え禁止条件としてもよい。
ステップS165で、その他の書き換え禁止条件を満たすと判定された場合、処理はステップS166に進み、書き換え制御装置22は、車両11の状態が書き換え禁止条件の状態と判定して、処理は図10に戻る。
一方、ステップS165で、その他の書き換え禁止条件を満たさないと判定された場合、処理はステップS167に進み、書き換え制御装置22は、車両11の状態が書き換え可能状態であると判定して、処理は図10に戻る。
以上のように、少なくともACCがオン、かつ、IGNがオフである場合を書き換え可能状態として検出することで、車両11の動作に影響を及ぼす可能性のある状態で書き換えることを防止することができる。
[書き換え情報種別確認処理の詳細処理]
図12のフローチャートは、上述したステップS128の処理として実行される、書き換え情報種別確認処理の詳細を示している。
この処理では、初めに、ステップS181において、書き換え制御装置22は、書き換える情報の種別を要求する書き換え情報種別要求を書き換え情報記憶装置13に送信し、ステップS182において、要求に応じて送信されてきた書き換え情報種別を受信する。
そして、ステップS183において、書き換え制御装置22は、受信した書き換え情報種別に、対象装置識別情報、即ち、書き換え対象の制御装置23の識別情報があるかを判定する。
ステップS183で、受信した書き換え情報種別に、対象装置識別情報がないと判定された場合、処理はステップS184に進み、書き換え制御装置22は、対象装置識別情報エラーをログ記録部44に記録して、処理は終了する。
一方、ステップS183で、受信した書き換え情報種別に、対象装置識別情報があると判定された場合、処理はステップS185に進み、書き換え制御装置22は、受信した書き換え情報種別に、不揮発性メモリ書き換え実行プログラムがあるかを判定する。
ステップS185で、受信した書き換え情報種別に、不揮発性メモリ書き換え実行プログラムがないと判定された場合、処理はステップS186に進み、書き換え制御装置22は、不揮発性メモリ書き換え実行プログラムの更新なしと判定して、処理をステップS187に進める。
一方、ステップS185で、受信した書き換え情報種別に、不揮発性メモリ書き換え実行プログラムがあると判定された場合、処理はステップS187に進み、書き換え制御装置22は、受信した書き換え種別に、更新用の制御プログラムがあるかを判定する。
ステップS187で、受信した書き換え情報種別に、更新用の制御プログラムがないと判定された場合、処理はステップS188に進み、書き換え制御装置22は、書き換えデータエラーをログ記録部44に記録して、処理は終了する。
一方、ステップS187で、受信した書き換え情報種別に、更新用の制御プログラムがあると判定された場合、処理は図10に戻る。
以上のように、書き換え情報種別確認処理により、書き換えデータ(不揮発性メモリ書き換え実行プログラムおよび更新用の制御プログラム)が書き換え情報記憶装置13に記憶されているか否かが判定される。従って、例えば、別の情報が記憶されている同型の情報記憶装置を接続したような場合であっても、誤ってデータを書き換えることを防止することができる。
なお、不揮発性メモリ書き換え実行プログラムが取得できない場合には、不揮発性メモリ53に記憶されている既存の不揮発性メモリ書き換え実行プログラムが使用されるため、データエラーとはならない。しかし、更新用の制御プログラムが取得できない場合には、書き換え処理の目的を達成できないため終了となる。
書き換え制御装置22の処理は、図10乃至図12を参照して説明したようになる。
[携帯機12の全体処理フロー]
次に、図13のフローチャートを参照して、書き換え処理における携帯機12の処理を説明する。図13で実行される送受信は、セキュリティ管理装置21との間で無線通信により行われるものである。
初めに、ステップS201において、携帯機12は、ユーザのドアの解錠操作を受け付け、ドアの解錠の操作信号(ドアの解錠指令)をセキュリティ管理装置21に送信する。
そして、ステップS202において、携帯機12は、ID送信要求を受信したか否かを判定し、ID送信要求を受信するまで、ステップS202の処理を繰り返す。
そして、ステップS202で、ID送信要求を受信したと判定された場合、処理はステップS203に進み、携帯機12は、ID情報記憶部76に記憶している車両IDをセキュリティ管理装置21に送信する。
なお、ドアの解錠操作は、携帯機12による操作ではなく、ユーザが車両11のドアに対して行うものでもよい。この場合、携帯機12は、ID送信要求に応じた車両IDの送信から処理が実行される。
次に、ステップS204において、携帯機12は、書き換え開始操作情報の要求を受信したか否かを判定し、書き換え開始操作情報の要求を受信するまで、ステップS204の処理を繰り返す。
そして、ステップS204で、書き換え開始操作情報の要求を受信したと判定された場合、処理はステップS205に進み、携帯機12は、「書き換え開始の操作を行ってください」などの、ユーザに書き換え開始操作を促す表示を表示部72に表示する。
次に、ステップS206において、携帯機12は、書き換え開始操作が行われたかを判定し、書き換え開始操作が行われたと判定されるまで、ステップS206の処理を繰り返す。
そして、ステップS206において、書き換え開始操作が行われたと判定された場合、処理はステップS207に進み、携帯機12は、行われた書き換え開始操作に対応する書き換え開始操作情報をセキュリティ管理装置21に送信する。
次に、ステップS208において、携帯機12は、セキュリティ管理装置21から、書き換え開始通知を受信したか否かを判定し、書き換え開始通知を受信したと判定されるまで、ステップS208の処理を繰り返す。
そして、ステップS208において、書き換え開始通知を受信したと判定された場合、処理はステップS209に進み、携帯機12は、書き換え開始を示す表示を表示部72に表示する。書き換え開始後は、例えば、「書き換え中」のメッセージが表示部72に表示される。
次に、ステップS210において、携帯機12は、セキュリティ管理装置21から、書き換えの結果を通知する書き換え結果通知を受信したか否かを判定し、書き換え結果通知を受信したと判定されるまで、ステップS210の処理を繰り返す。
そして、ステップS210において、書き換え結果通知を受信したと判定された場合、処理はステップS211に進み、携帯機12は、書き換え結果を表示部72に表示して、処理を終了する。
[セキュリティ管理装置21の全体処理フロー]
図14は、書き換え処理におけるセキュリティ管理装置21の処理を説明するフローチャートである。図14の処理は繰り返し実行される。
初めに、ステップS221において、セキュリティ管理装置21は、携帯機12でドアに関する操作がユーザによりされたか否かを判定する。ステップS221で、ドアに関する操作がされていないと判定された場合、次のステップS222の処理がスキップされる。
一方、ステップS221で、ドアに関する操作がされたと判定された場合、処理はステップS222に進み、セキュリティ管理装置21は、図15を参照して後述するドア関連制御処理を実行する。
そして、ステップS223において、セキュリティ管理装置21は、車両11の始動を制御する操作がユーザによりされたか否かを判定する。ステップS223で、車両11の始動を制御する操作がされていないと判定された場合、次のステップS224の処理がスキップされる。
一方、ステップS223で、車両11の始動を制御する操作がされたと判定された場合、処理はステップS224に進み、セキュリティ管理装置21は、図16を参照して後述する車両始動制御処理を実行する。
そして、ステップS225において、セキュリティ管理装置21は、書き換え制御装置22から、携帯機12が車両11に登録されたものであるかを確認する携帯機確認指示を受信したかを判定する。ステップS225で、携帯機確認指示を受信していないと判定された場合、次のステップS226乃至S229の処理がスキップされる。
一方、ステップS225で、携帯機確認指示を受信したと判定された場合、処理はステップS226に進み、セキュリティ管理装置21は、携帯機12にID送信を要求して、要求に応じて送信されてくる車両IDを受信する。
そして、ステップS227において、セキュリティ管理装置21は、登録された携帯機12の車両IDを受信したかを判定する。
ステップS227で、登録された携帯機12の車両IDを受信していないと判定された場合、処理はステップS228に進み、セキュリティ管理装置21は、書き換え制御装置22に、携帯機確認NGを送信する。
一方、ステップS227で、登録された携帯機12の車両IDを受信したと判定された場合、処理はステップS229に進み、セキュリティ管理装置21は、書き換え制御装置22に、携帯機確認OKを送信する。
次に、セキュリティ管理装置21は、ステップS230において、書き換え制御装置22から、書き換え開始操作情報の要求を受信したかを判定する。ステップS230で、書き換え開始操作情報の要求を受信していないと判定された場合、次のステップS231の処理がスキップされる。
一方、ステップS230で、書き換え開始操作情報の要求を受信したと判定された場合、処理はステップS231に進み、セキュリティ管理装置21は、受信した書き換え開始操作情報の要求を、そのまま携帯機12に送信する。
次に、セキュリティ管理装置21は、ステップS232において、携帯機12で書き換えに関する操作があったかを判定する。ここで、書き換えに関する操作とは、書き換え開始操作、書き換え終了確認操作、または、書き換え中断操作のいずれかである。ステップS232で、携帯機12で書き換えに関する操作がないと判定された場合、次にステップS233の処理がスキップされる。
一方、ステップS232で、携帯機12で書き換えに関する操作があったと判定された場合、処理はステップS233に進み、セキュリティ管理装置21は、図17を参照して後述する、書き換え操作対応処理を実行する。
次に、セキュリティ管理装置21は、ステップS234において、書き換え制御装置22から、書き換えを開始したことを示す書き換え開始通知を受信したかを判定する。ステップS234で、書き換え開始通知を受信していないと判定された場合、次のステップS235の処理がスキップされる。
一方、ステップS234で、書き換え開始通知を受信したと判定された場合、処理はステップS235に進み、セキュリティ管理装置21は、受信した書き換え開始通知を、無線通信により携帯機12に送信する。
次に、セキュリティ管理装置21は、ステップS236において、書き換え制御装置22から、書き換えを終了したことを示す書き換え結果通知を受信したかを判定する。ステップS236で、書き換え結果通知を受信していないと判定された場合、次のステップS237およびS238の処理がスキップされる。
一方、ステップS236で、書き換え結果通知を受信したと判定された場合、処理はステップS237に進み、セキュリティ管理装置21は、受信した書き換え結果通知を、無線通信により携帯機12に送信する。さらに、ステップS238において、セキュリティ管理装置21は、書き換え開始操作設定を解除して、処理を終了する。
[ドア関連制御処理の詳細処理]
図15のフローチャートは、上述したステップS222の処理として実行される、セキュリティ管理装置21のドア関連制御処理の詳細を示している。
初めに、ステップS251において、セキュリティ管理装置21は、携帯機12から受信した操作信号に基づいて、ドアを施錠する操作がされたかを判定する。
ステップS251で、ドアを施錠する操作がされたと判定された場合、処理はステップS252に進み、セキュリティ管理装置21は、ドアを施錠する制御を行う。一方、ステップS251で、ドアを施錠する操作がされていないと判定された場合、ステップS252の処理がスキップされる。
次に、セキュリティ管理装置21は、ステップS253において、携帯機12から受信した操作信号に基づいて、ドアを解錠する操作がされたかを判定する。
ステップS253で、ドアを解錠する操作がされたと判定された場合、処理はステップS254に進み、セキュリティ管理装置21は、ドアを解錠する制御を行い、ステップS255において、ドアの解錠を書き換え制御装置22に通知する。
一方、ステップS253で、ドアを解錠する操作がされていないと判定された場合、上述したステップS254およびS255の処理がスキップされる。
次に、セキュリティ管理装置21は、ステップS256において、携帯機12から受信した操作信号に基づいて、トランクオープン操作がされたかを判定する。
ステップS256で、トランクオープン操作がされたと判定された場合、処理はステップS257に進み、セキュリティ管理装置21は、トランクを開ける制御を行う。一方、ステップS256で、トランクオープン操作がされていないと判定された場合、上述したステップS257の処理がスキップされる。
以上により、ドア関連制御処理が終了して、図14に戻る。なお、図15のドア関連制御処理は、携帯機12によって、ユーザがドアに関する操作を行った場合の処理であるので、図15では、携帯機12が有する車両IDの一致の確認も当然に行われる。
[ドア関連制御処理の詳細処理]
図16のフローチャートは、上述したステップS224の処理として実行される、セキュリティ管理装置21の車両始動制御処理の詳細を示している。
初めに、ステップS271において、セキュリティ管理装置21は、ACCをオンにする操作がされたかを判定する。ステップS271で、ACCをオンにする操作がされていないと判定された場合、処理はステップS277に進む。
一方、ステップS271で、ACCをオンにする操作がされたと判定された場合、処理はステップS272に進み、セキュリティ管理装置21は、携帯機12に車両IDの送信を要求する。
そして、ステップS273において、セキュリティ管理装置21は、登録された車両IDの受信があったか、即ち、ID情報記憶部33に記憶されているものと同一の車両IDの受信があったかを判定する。
ステップS273で、登録された車両IDの受信がないと判定された場合には、処理はステップS274に進み、タイムアウトが発生したかが判定される。ステップS274で、タイムアウトが発生していないと判定された場合、処理はステップS273に戻る。即ち、セキュリティ管理装置21は、タイムアウトが発生するまで、登録された車両IDの受信を待機する。
そして、ステップS274で、タイムアウトが発生したと判定された場合、処理はステップS275に進み、セキュリティ管理装置21は、携帯機ID受信エラーをログ記録部36に記録して、処理はステップS277に進む。
一方、ステップS273で、登録された車両IDの受信があったと判定された場合には、処理はステップS276に進み、セキュリティ管理装置21は、ACCをオンにする。
次に、ステップS277において、セキュリティ管理装置21は、IGNをオンにする操作がされたかを判定する。ステップS277で、IGNをオンにする操作がされていないと判定された場合、処理は図14に戻る。
一方、ステップS277で、IGNをオンにする操作がされたと判定された場合、処理はステップS278に進み、セキュリティ管理装置21は、携帯機12に車両IDの送信を要求する。
そして、ステップS279において、セキュリティ管理装置21は、登録された車両IDの受信があったかを判定する。
ステップS279で、登録された車両IDの受信がないと判定された場合には、処理はステップS280に進み、タイムアウトが発生したかが判定される。ステップS280で、タイムアウトが発生していないと判定された場合、処理はステップS279に戻る。即ち、セキュリティ管理装置21は、タイムアウトが発生するまで、登録された車両IDの受信を待機する。
そして、ステップS280で、タイムアウトが発生したと判定された場合、処理はステップS281に進み、セキュリティ管理装置21は、携帯機ID受信エラーをログ記録部36に記録して、処理は図14に戻る。
一方、ステップS279で、登録された車両IDの受信があったと判定された場合には、処理はステップS282に進み、セキュリティ管理装置21は、IGNをオンにする。
以上により、車両始動制御処理が終了して、図14に戻る。
[書き換え操作対応処理の詳細処理]
図17のフローチャートは、上述したステップS233の処理として実行される、セキュリティ管理装置21の書き換え操作対応処理の詳細を示している。
初めに、ステップS301において、セキュリティ管理装置21は、書き換え開始操作がされたか否かを判定し、書き換え開始操作がされていないと判定した場合、次のステップS302をスキップする。
一方、ステップS301で、書き換え開始操作がされたと判定された場合、処理はステップS302に進み、セキュリティ管理装置21は、書き換え制御装置22に、書き換え開始操作を通知する。
次に、セキュリティ管理装置21は、ステップS303において、書き換え終了確認操作がされたか否かを判定し、書き換え終了確認操作がされていないと判定した場合、次のステップS304をスキップする。
一方、ステップS303で、書き換え終了確認操作がされたと判定された場合、処理はステップS304に進み、セキュリティ管理装置21は、書き換え制御装置22に、書き換え終了確認操作を通知する。
次に、セキュリティ管理装置21は、ステップS305において、書き換え中断操作がされたか否かを判定し、書き換え中断操作がされていないと判定した場合、次のステップS306をスキップする。
一方、ステップS305で、書き換え中断操作がされたと判定された場合、処理はステップS306に進み、セキュリティ管理装置21は、書き換え制御装置22に、書き換え中断操作を通知する。
以上により、書き換え操作対応処理が終了して、図14に戻る。
[書き換え対象制御装置23の全体処理フロー]
図18は、書き換え対象制御装置23の処理を説明するフローチャートである。
初めに、ステップS321において、書き換え対象制御装置23は、書き換え制御装置22から、識別情報を要求する識別情報要求を受信したか否かを判定し、識別情報要求を受信したと判定されるまで待機する。
ステップS321で、識別情報要求を受信したと判定された場合、処理はステップS322に進み、書き換え対象制御装置23は、書き換え制御装置22に、自機の識別情報を送信する。
そして、ステップS323において、書き換え対象制御装置23は、書き換え開始指令を受信したか否かを判定する。ステップS323で、書き換え開始指令を受信していないと判定された場合、処理はステップS324に進み、タイムアウトが発生したかが判定される。ステップS324で、タイムアウトが発生していないと判定された場合、処理はステップS323に戻る。即ち、書き換え対象制御装置23は、タイムアウトが発生するまで、書き換え開始指令の受信を待機する。
そして、ステップS324で、タイムアウトが発生したと判定された場合、処理はステップS325に進み、書き換え対象制御装置23は、書き換え開始指令受信エラーをログ記録部56に記録して、処理を終了する。
一方、ステップS323で、書き換え開始指令を受信したと判定された場合、処理はステップS326に進み、書き換え対象制御装置23は、図19を参照して後述する、書き換え可能状態に移行する書き換え可能状態移行処理を実行する。
次に、ステップS327において、書き換え対象制御装置23は、書き換え情報記憶装置13に、書き換えデータの送信を要求する。
そして、ステップS328において、書き換え対象制御装置23は、書き換えデータを受信したか否かを判定する。ステップS328で、書き換えデータを受信していないと判定された場合、処理はステップS329に進み、タイムアウトが発生したかが判定される。ステップS329で、タイムアウトが発生していないと判定された場合、処理はステップS328に戻る。即ち、書き換え対象制御装置23は、タイムアウトが発生するまで、書き換えデータの受信を待機する。
そして、ステップS329で、タイムアウトが発生したと判定された場合、処理はステップS330に進み、書き換え対象制御装置23は、書き換えデータ受信エラーをログ記録部56に記録して、処理を終了する。
一方、ステップS328で、書き換えデータを受信したと判定された場合、処理はステップS331に進み、書き換え対象制御装置23は、書き換えデータを取得して、ステップS332において、不揮発性メモリ53のデータを書き換えデータで書き換える不揮発性メモリ書き換え処理を実行する。この不揮発性メモリ書き換え処理の詳細については、図20を参照して後述する。
不揮発性メモリ書き換え処理が終了すると、書き換え対象制御装置23は書き換え結果を取得でき、ステップS333において、書き換え対象制御装置23は、書き換え制御装置22に、書き換え結果通知を送信する。
そして、ステップS334において、書き換え対象制御装置23は、更新した制御プログラムを起動し、処理を終了する。
[書き換え可能状態移行処理の詳細処理]
図19のフローチャートは、上述したステップS326の処理として実行される、書き換え可能状態移行処理の詳細を示している。
この処理では、初めに、ステップS351において、書き換え対象制御装置23は、自身が担当する制御対象の各機器に、制御中断を通知する。
そして、ステップS352において、書き換え対象制御装置23は、各機器から中断可の応答があったか否かを判定する。
ステップS352で、少なくとも1つの機器から、中断不可の応答があったと判定された場合、処理はステップS353に進み、書き換え対象制御装置23は、制御中断エラーをログ記録部56に記録して、処理は終了する。
一方、ステップS352で、自身が担当する制御対象の全ての機器から、中断可の応答があったと判定された場合、処理はステップS354に進み、書き換え対象制御装置23は、制御動作を中断して、処理は図18に戻る。
[不揮発性メモリ書き換え処理の詳細処理]
図20のフローチャートは、上述したステップS332の処理として実行される、不揮発性メモリ書き換え処理の詳細を示している。
この処理では、初めに、ステップS371において、書き換え対象制御装置23は、上述したステップS331で取得した書き換えデータに、不揮発性メモリ書き換え実行プログラムが含まれているか否かを判定する。
ステップS371で、不揮発性メモリ書き換え実行プログラムが含まれていないと判定された場合、処理はステップS372に進み、書き換え対象制御装置23は、不揮発性メモリ53に記憶されている既存の不揮発性メモリ書き換え実行プログラムをRAM54にロードして起動する。即ち、不揮発性メモリ書き換え実行プログラムは、更新用の制御プログラムと一緒に更新することができるが、更新が必要ない場合には、不揮発性メモリ53に記憶されている既存の不揮発性メモリ書き換え実行プログラムが起動される。
なお、不揮発性メモリ書き換え実行プログラムを不揮発性メモリ53には記憶させないようにして、常に書き換え情報記憶装置13から取得してロードするようにし、不揮発性メモリ書き換え実行プログラムが取得できない場合は、データエラーとするようにしてもよい。この場合、不揮発性メモリ53の記憶領域を節約することができる。
一方、ステップS371で、不揮発性メモリ書き換え実行プログラムが含まれていると判定された場合、処理はステップS373に進み、書き換え対象制御装置23は、取得した不揮発性メモリ書き換え実行プログラムをRAM54にロードして起動する。即ち、取得した不揮発性メモリ書き換え実行プログラムがRAM54上に展開される。そして、更新された不揮発性メモリ書き換え実行プログラムに基づいて、不揮発性メモリ書き換え部52が、以下の更新用の制御プログラムの書き換えを実行する。
ステップS374において、書き換え対象制御装置23の不揮発性メモリ書き換え部52は、不揮発性メモリ53の更新領域、即ち、制御用プログラムが記憶されている領域のデータを消去する。
そして、ステップS375において、不揮発性メモリ書き換え部52は、取得した更新用の制御プログラムを、不揮発性メモリ53のデータを消去した領域、即ち、制御用プログラムが記憶される領域に書き込む。
ステップS376において、不揮発性メモリ書き換え部52は、更新用の制御プログラムの書き込み結果を確認し、書き換え結果が正常であるか否かを判定する。
ステップS376で、書き換え結果が正常ではないと判定された場合、処理はステップS377に進み、不揮発性メモリ書き換え部52は、書き換え結果を書き込みエラーとして、処理は図18に戻る。
一方、ステップS376で、書き換え結果が正常であると判定された場合、処理はステップS378に進み、不揮発性メモリ書き換え部52は、書き換え結果を正常として、処理は図18に戻る。
以上のように、書き換え対象制御装置23が、書き換え制御装置22から書き換え開始指令を受信すると、書き換え対象制御装置23自身が書き換え情報記憶装置13に書き換えデータを要求して取得し、書き換える。従って、書き換え制御装置22が書き換え情報記憶装置13から書き換えデータを取得して、書き換え対象制御装置23に転送する必要はない。
[書き換え情報記憶装置13の全体処理フロー]
図21は、書き換え処理における書き換え情報記憶装置13の処理を説明するフローチャートである。
初めに、ステップS401において、書き換え情報記憶装置13は、車両11の共通通信線24に接続されたか否かを判定し、共通通信線24に接続されたと判定されるまで待機する。
そして、ステップS401で、共通通信線24に接続されたと判定された場合、処理はステップS402に進み、書き換え情報記憶装置13は、書き換え制御装置22に接続を通知する。
次に、ステップS403において、書き換え情報記憶装置13は、書き換え制御装置22から、書き換え情報種別要求を受信したかを判定し、書き換え情報種別要求を受信したと判定されるまで待機する。
そして、ステップS403で、書き換え情報種別要求を受信したと判定された場合、処理はステップS404に進み、書き換え情報記憶装置13は、書き換え情報種別を書き換え制御装置22に送信する。
次に、ステップS405において、書き換え情報記憶装置13は、書き換え制御装置22から、書き換え許可情報の要求を受信したかを判定し、書き換え許可情報の要求を受信したと判定されるまで待機する。
そして、ステップS405で、書き換え許可情報の要求を受信したと判定された場合、処理はステップS406に進み、書き換え情報記憶装置13は、予め内部に記憶されている書き換え許可情報を書き換え制御装置22に送信する。
次に、ステップS407において、書き換え情報記憶装置13は、書き換え対象制御装置23から、書き換えデータの送信要求を受信したかを判定し、書き換えデータの送信要求を受信したと判定されるまで待機する。
そして、ステップS407で、書き換えデータの送信要求を受信したと判定された場合、処理はステップS408に進み、書き換え情報記憶装置13は、書き換えデータの送信要求を書き換え対象制御装置23に送信して、処理を終了する。
以上、書き換え処理を情報処理システム1の各装置単位でみた場合の処理について説明した。
次に、上述した書き換え処理の変形例について説明する。
[書き換え制御装置用制御プログラムも書き換え情報記憶装置13で提供する例]
上述した実施の形態では、図6を参照して説明したように、書き換えデータとして、書き換え対象制御装置23の不揮発性メモリ書き換え部52が、制御プログラムの書き換えを実行するための不揮発性メモリ書き換え実行プログラムと、書き換え対象制御装置23の制御部51で実行されるプログラムであって、更新用の制御プログラムが、対象装置識別情報とともに記録されていた。
書き換え情報記憶装置13の不揮発性メモリ62に記憶される書き換えデータには、さらに、図22に示すように、書き換え処理の全体を制御する書き換え制御装置22用のプログラムであって、書き換え制御装置22の書き換え制御部41で実行される制御プログラムを含むようにしてもよい。
[書き換え制御装置22用の制御プログラムの受信処理]
図23は、書き換え情報記憶装置13の不揮発性メモリ62に、書き換え制御装置22用の制御プログラムが記憶されている場合に実行される、書き換え制御装置22による、書き換え制御装置用制御プログラムの受信処理のフローチャートである。
この処理では、初めに、ステップS421において、書き換え制御装置22は、書き換え情報記憶装置13に、共通通信線24を介して、書き換え制御装置用制御プログラムの送信を要求する。
ステップS422において、書き換え制御装置22は、書き換え制御装置用制御プログラムを書き換え情報記憶装置13から受信したか否かを判定する。
ステップS422で、書き換え制御装置用制御プログラムを受信していないと判定された場合には、処理はステップS423に進み、タイムアウトが発生したかが判定される。ステップS423で、タイムアウトが発生していないと判定された場合、処理はステップS422に戻る。即ち、書き換え制御装置22は、タイムアウトが発生するまで、書き換え制御装置用制御プログラムの受信を待機する。
そして、ステップS423で、タイムアウトが発生したと判定された場合、処理はステップS424に進み、書き換え制御装置22は、書き換え制御装置用制御プログラム受信エラーをログ記録部44に記録して、処理を終了する。
一方、ステップS422で、書き換え制御装置用制御プログラムを受信したと判定された場合には、処理はステップS425に進み、書き換え制御装置22は、書き換え制御装置用制御プログラムをRAM42にロードして起動し、処理を終了する。
図23の、書き換え制御装置22による、書き換え制御装置用制御プログラムの受信処理は、例えば、図9の全体処理フローでは、ステップS65の処理の前、図9の書き換え制御装置22の処理フローでは、ステップS128の処理の前などに挿入することができる。
書き換え制御装置用制御プログラムも書き換え情報記憶装置13に記憶させ、書き換え処理を行うときだけ、RAM42にロードして起動することで、書き換えを行わない状態の車両11には、書き換え制御装置用制御プログラムを記憶しておく必要がないので、書き換え制御装置用制御プログラムを記憶しておくROM(Read Only Memory)等の記憶領域を節約することができる。
また、書き換え情報記憶装置13に記憶させた書き換え制御装置用制御プログラムを、セキュリティ管理装置21、または、書き換え対象ではない制御装置23にロードして実行させ、セキュリティ管理装置21、または、書き換え対象ではない制御装置23を、書き換え制御装置として動作させるようにしてもよい。セキュリティ管理装置21を書き換え制御装置として動作させるようにした場合には、図9等を参照して説明したセキュリティ管理装置21と書き換え制御装置22との間の共通通信線24を介したやりとりが不要となるので、制御プログラムが簡単な構成となり、書き換え処理にかかる時間も短くすることができる。
[書き換え開始操作情報も書き換え情報記憶装置13で提供する例]
上述した実施の形態では、制御プログラムの書き換えを開始させるため携帯機12で行われる操作手順が予め決定されており、ユーザは、予め決められた書き換え開始操作を行うものとして説明した。
しかし、書き換え情報記憶装置13に、制御プログラムの書き換えを開始するための操作手順を定義したデータである書き換え開始操作定義情報を記憶させておき、書き換え処理を実行する都度、書き換え制御装置22に書き換え開始操作定義情報を提供することによって、書き換え開始操作を、所望の操作手順に変更することができる。
図24は、書き換え開始操作定義情報のデータ例を示している。
図17の書き換え操作対応処理で説明したように、書き換え処理に関し、ユーザが可能な操作は、書き換え開始操作、書き換え終了確認操作、および、書き換え中断操作である。書き換え開始操作定義情報には、これら3つの操作それぞれについて、操作の手順が定義されている。
書き換え開始操作定義情報には、例えば、図24に示されるように、書き換え開始操作、書き換え終了確認操作、および、書き換え中断操作それぞれの操作を定義した情報の位置(メモリアドレス)を記録した、書き換え開始操作情報位置、書き換え終了確認操作情報位置、および、書き換え中断操作情報位置が含まれる。
そして、書き換え開始操作情報位置、書き換え終了確認操作情報位置、および、書き換え中断操作情報位置に続いて、9種類の操作手順が登録されており、書き換え開始操作情報位置、書き換え終了確認操作情報位置、および、書き換え中断操作情報位置のそれぞれは、9種類の操作手順のいずれかを示す値となっている。
図9の例では、書き換え開始操作情報位置は、「操作ボタン73Aの長押し」が登録されている位置を示しており、書き換え開始操作が、「操作ボタン73Aの長押し」に設定されている。同様に、書き換え終了確認操作は「操作ボタン73Bの長押し」に、書き換え中断操作は、「操作ボタン73Dの長押し」に設定されている。
図25は、書き換え情報記憶装置13に書き換え開始操作定義情報が記憶されている場合に、その書き換え開始操作定義情報を受信する書き換え開始操作定義情報受信処理のフローチャートを示している。
初めに、ステップS441において、書き換え制御装置22は、書き換え情報記憶装置13に、共通通信線24を介して、書き換え開始操作定義情報の送信を要求する。
ステップS442において、書き換え制御装置22は、書き換え開始操作定義情報を書き換え情報記憶装置13から受信したか否かを判定する。
ステップS442で、書き換え開始操作定義情報を受信していないと判定された場合には、処理はステップS443に進み、タイムアウトが発生したかが判定される。ステップS443で、タイムアウトが発生していないと判定された場合、処理はステップS442に戻る。即ち、書き換え制御装置22は、タイムアウトが発生するまで、書き換え開始操作定義情報の受信を待機する。
そして、ステップS443で、タイムアウトが発生したと判定された場合、処理はステップS444に進み、書き換え制御装置22は、書き換え開始操作定義情報受信エラーをログ記録部44に記録して、処理を終了する。
一方、ステップS442で、書き換え開始操作定義情報を受信したと判定された場合には、処理はステップS445に進み、書き換え制御装置22は、受信した書き換え開始操作定義情報に基づいて、書き換え開始操作を設定して、処理を終了する。
この処理は、例えば、図9の全体処理フローでは、書き換え開始操作情報をセキュリティ管理装置21に要求するステップS74の処理の前、図9の書き換え制御装置22の処理フローでは、ステップS140の処理の前などに挿入することができる。そして、図9のステップS141において、書き換え開始操作があったか否かが判定されるが、ここでの書き換え開始操作が、ステップS445で設定された操作がなされたか、ということになる。
以上のように、書き換え開始操作定義情報を書き換え情報記憶装置13に記憶させ、書き換え制御装置22に送信することにより、書き換え開始操作等の手順を車両11の出荷後に変更することができる。従って、作業の自由度が高まるとともに、書き換え開始操作等の手順を不正に知られることがなくなる。
なお、上述した例は、書き換え開始操作を携帯機12で行う例について説明したが、書き換え開始操作は、携帯機12以外の操作部、例えば、車両11内の空調設定部やオーディオ装置などに対して行うようにしてもよい。この場合、書き換え開始操作はセキュリティ管理装置21で判定される。
[書き換え情報記憶装置13のその他の例]
次に、書き換え情報記憶装置13のその他の例について説明する。
上述した実施の形態では、図5および図21を参照して説明したように、書き換え情報記憶装置13がCPU111を有し、CPU111が書き換えデータの送信要求を受信したかなどを判定し、書き換えデータの送信などを行っていた。
しかし、書き換え情報記憶装置13は、処理判断を行うCPUを有さず、単に、書き換えデータを記憶する記憶領域だけを有するものでもよい。
図26は、書き換え情報記憶装置13のその他の例であって、処理判断を行うCPUを備えない書き換え情報記憶装置13の例を示すブロック図である。
図26において、メモリカード(ICカード)101が書き換え情報記憶装置13に対応する。
メモリカード101は、CPU111、メモリカードソケット112、及び、共通通信線接続I/F113を備える書き換え情報記憶装置装着装置102の、メモリカードソケット112に装着される。
書き換え情報記憶装置装着装置102のCPU111は、図5に示した書き換え情報記憶装置13のCPU61と同じ役割を果たし、共通通信線接続I/F113は、図5に示した書き換え情報記憶装置13の共通通信線接続I/F63と同じ役割を果たす。
換言すれば、図5に示した書き換え情報記憶装置13の不揮発性メモリ62が、図26においては、メモリカード101として分離できるようになされたものである。ただし、通常、車両11に取り付けられているナビゲーション装置やオーディオ装置を、書き換え情報記憶装置装着装置102として使用することができ、書き換え処理を実行するために、書き換え情報記憶装置装着装置102を別途用意する必要はない。
図27は、書き換え情報記憶装置13のその他の例であって、処理判断を行うCPUを備えない書き換え情報記憶装置13のその他の例を示すブロック図である。
図27において、USBメモリ121が書き換え情報記憶装置13に対応する。
USBメモリ121は、CPU131、USBコネクタ132、及び、共通通信線接続I/F133を備える書き換え情報記憶装置装着装置122の、USBコネクタ132に装着される。
書き換え情報記憶装置装着装置122のCPU131は、図5に示した書き換え情報記憶装置13のCPU61と同じ役割を果たし、共通通信線接続I/F133は、図5に示した書き換え情報記憶装置13の共通通信線接続I/F63と同じ役割を果たす。
換言すれば、図5に示した書き換え情報記憶装置13の不揮発性メモリ62が、図27においては、USBメモリ121として分離できるようになされたものである。ただし、通常、車両11に取り付けられているナビゲーション装置やオーディオ装置を、書き換え情報記憶装置装着装置122として使用することができ、書き換え処理を実行するために、書き換え情報記憶装置装着装置122を別途用意する必要はない。
また、図26および図27では、いずれも接続端子により物理的に接続する接触式の書き換え情報記憶装置13の例であるが、CPUを有しない書き換え情報記憶装置13は、無線通信により、書き換え情報記憶装置装着装置122と、書き換えデータを授受するものでもよい。
例えば、携帯機12との無線通信手段(無線通信部34)を有するセキュリティ管理装置21を、図26に示した書き換え情報記憶装置装着装置102として機能させ、図26のメモリカード101が、書き換え情報記憶装置装着装置102としてのセキュリティ管理装置21と、無線通信により書き換えデータを授受させるようにすることも可能である。
従って、書き換え情報記憶装置13と、車両11内の書き換え対象制御装置23および書き換え制御装置22等との通信は、無線および有線のどちらでもよい。
セキュリティ管理装置21、書き換え制御装置22、および、書き換え対象制御装置23の上述した書き換え処理を行う各手段は、1つの情報処理装置として構成してもよい。
本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。