(57)【要約】【課題】  無線通信タイプの車両用プログラム書き換えシステムにおいて、車両の防犯性を確保しつつプログラムの書き換えを実施できるようにする。【解決手段】  車両コンピュータシステムがメモリ内のプログラムをセンタから無線で送信されてきたプログラムに書き換えるように構成されたプログラム書き換えシステムでは、車両コンピュータシステムを成す複数のＥＣＵのうち、ドアロック機能とセキュリティ機能を制御する防犯関係のＥＣＵに対するプログラム書き換えを実施しようとする場合に（Ｓ７３０：ＹＥＳ）、ユーザが車両に同伴している（車両を監視している）か否かを判定し、ユーザが同伴していなければ（Ｓ７５０：ＮＯ）、プログラム書き換えを中止する（Ｓ７６０）。また、他のＥＣＵのプログラム書き換えを実施する場合には（Ｓ７３０：ＮＯ）、ドアロックとセキュリティセットとを自動で実施する（Ｓ７３５）。【選択図】  図１３
2006082648.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されたコンピュータシステム（以下、車両コンピュータシステムという）と、その車両コンピュータシステムと無線通信すると共に、その車両コンピュータシステムへ書き換え対象のプログラムを送信する車両外のプログラム供給手段とからなり、前記車両コンピュータシステムが、メモリ内のプログラムを前記プログラム供給手段から送信されてきたプログラムに書き換えるように構成されたプログラム書き換えシステムにおいて、
前記車両が使用者に監視されているか否かを判定する監視有無判定手段と、
該監視有無判定手段により前記車両が使用者に監視されていないと判定された場合には、前記車両コンピュータシステムにて前記車両の防犯機能に関連するコンピュータのプログラムを書き換える処理が実施されるのを禁止する書換実施禁止手段と、
を備えていることを特徴とするプログラム書き換えシステム。
【請求項２】
車両に搭載されたコンピュータシステム（以下、車両コンピュータシステムという）と、その車両コンピュータシステムと無線通信すると共に、その車両コンピュータシステムへ書き換え対象のプログラムを送信する車両外のプログラム供給手段とからなり、前記車両コンピュータシステムが、メモリ内のプログラムを前記プログラム供給手段から送信されてきたプログラムに書き換えるように構成されたプログラム書き換えシステムにおいて、
前記車両コンピュータシステムにて前記車両の防犯機能に関連するコンピュータのプログラムを書き換える処理が実施される場合に、前記車両の使用者に対して、前記車両を監視することを促す通知を行う監視催促通知手段を備えていること、
を特徴とするプログラム書き換えシステム。
【請求項３】
車両に搭載されたコンピュータシステム（以下、車両コンピュータシステムという）と、その車両コンピュータシステムと無線通信すると共に、その車両コンピュータシステムへ書き換え対象のプログラムを送信する車両外のプログラム供給手段とからなり、前記車両コンピュータシステムが、メモリ内のプログラムを前記プログラム供給手段から送信されてきたプログラムに書き換えるように構成されたプログラム書き換えシステムにおいて、
前記車両コンピュータシステムにて前記車両の防犯機能に関連しないコンピュータのプログラムを書き換える処理が実施される場合に、前記車両の防犯機能に関連するコンピュータを、その防犯機能が有効となるように作動させる防犯機能有効化手段を備えていること、
を特徴とするプログラム書き換えシステム。
【請求項４】
請求項１ないし請求項３の何れか１項に記載のプログラム書き換えシステムにおいて、
前記防犯機能は、前記車両のドアロック機能と、前記車両への不正行為を検知して警報するセキュリティ機能との両方又は一方であること、
を特徴とするプログラム書き換えシステム。
【請求項５】
請求項１ないし請求項４の何れか１項に記載のプログラム書き換えシステムにおいて、
前記車両コンピュータシステムがプログラムの書き換えを実施する前に、前記車両の状態をプログラムの書き換えに適した状態に設定するための設定処理を行う状態設定手段を備え、
前記車両コンピュータシステムは、前記状態設定手段による設定処理の完了後に、プログラムの書き換えを実施するように構成されていること、
を特徴とするプログラム書き換えシステム。
【請求項６】
請求項５に記載のプログラム書き換えシステムにおいて、
前記状態設定手段は、前記車両の状態を、その車両のドアロック機能が正常に作動する範囲内で設定すること、
を特徴とするプログラム書き換えシステム。
【請求項７】
請求項５に記載のプログラム書き換えシステムにおいて、
前記状態設定手段は、前記車両の状態を、その車両への不正行為を検知して警報するセキュリティ機能が正常に作動する範囲内で設定すること、
を特徴とするプログラム書き換えシステム。
【請求項８】
請求項１ないし請求項７の何れか１項に記載のプログラム書き換えシステムにおいて、
前記車両コンピュータシステムがプログラムの書き換えを実施する前に、前記車両の状態がプログラムの書き換えに不適切な状態であるか否かを判定する状態判定手段を備え、
前記車両コンピュータシステムは、前記状態判定手段により前記車両の状態がプログラムの書き換えに不適切な状態であると判定されたならば、プログラムの書き換えを中止するように構成されていること、
を特徴とするプログラム書き換えシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載されたコンピュータシステムのプログラムを書き換える技術に関するものである。
【背景技術】
【０００２】
従来より、車両においては、その車両に搭載されたコンピュータシステム（以下、車両コンピュータシステムという）のプログラムを、そのプログラムが格納されたメモリが電子装置に実装されたままのオンボード状態で書き換えることが実施されている（例えば、特許文献１，２，３参照）。
【０００３】
そして、この種のオンボード状態でのプログラム書き換えを行うプログラム書き換えシステムの形態としては、車両コンピュータシステムに書き換え対象のプログラムを供給するプログラム供給装置が、車両コンピュータシステムとコネクタにより通信線で接続される有線通信タイプのもの（例えば、特許文献１参照）と、そのプログラム供給装置と車両コンピュータシステムとが無線通信で接続される無線通信タイプのもの（例えば、特許文献２，３参照）とがある。
【特許文献１】特開２００１−１２３８７４号公報
【特許文献２】特開２００４−２８０００号公報
【特許文献３】特開２０００−２０７２１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、有線通信タイプのプログラム書き換えシステムでは、工場やディーラといった特定のメンテナンス作業場において、作業者が、車両コンピュータシステムと車両外のプログラム供給装置とを手作業でコネクタ接続させることとなり、プログラムの書き換えは作業者の監視下で実施されることとなる。このため、プログラム書き換えの実施中に第三者が車両に不正行為を働くことは考えにくく、車両の防犯性に関して特に心配はない。
【０００５】
しかし、無線通信タイプのプログラム書き換えシステムでは、ディーラや工場といった特定の場所以外でプログラム書き換えが実施されるケースが想定され、そのプログラム書き換えの実施中に、作業者は元より車両の使用者すら必ず車室内や車両周辺にいるとは限らない。そして、例えば、誰も車両を監視していない状況で、車両コンピュータシステムにて、車両のドアロック機能や車両への不正行為を検知して警報するセキュリティ機能といった防犯機能に関連するコンピュータのプログラムを書き換える処理が実施されると、そのプログラムにより実現される防犯機能が無効となってしまうため、車両の防犯性が低下してしまう。このため、無線通信タイプのプログラム書き換えシステムでは、車両の防犯性を確保しつつ、プログラム書き換えを実施できるようにすることが望まれる。
【０００６】
そこで、本発明は、無線通信タイプの車両用プログラム書き換えシステムにおいて、車両の防犯性を確保しつつプログラムの書き換えを実施できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載のプログラム書き換えシステムは、車両コンピュータシステム（車両に搭載されたコンピュータシステム）と、その車両コンピュータシステムと無線通信すると共に、その車両コンピュータシステムへ書き換え対象のプログラムを送信する車両外のプログラム供給手段とからなる無線通信タイプのプログラム書き換えシステムである。そして、車両コンピュータシステムは、メモリ内のプログラム（即ち、実行対象のプログラム）をプログラム供給手段から送信されてきたプログラムに書き換えるように構成されている。
【０００８】
そして特に、このプログラム書き換えシステムでは、車両が使用者に監視されているか否かを、監視有無判定手段が判定する。そして、その監視有無判定手段により車両が使用者に監視されていないと判定された場合には、書換実施禁止手段が、車両コンピュータシステムにて車両の防犯機能に関連するコンピュータのプログラムを書き換える処理が実施されるのを禁止する。
【０００９】
このような請求項１のプログラム書き換えシステムによれば、車両の防犯機能に関連するコンピュータのプログラムを書き換える処理は、車両が使用者に監視されていると判定された場合に実施されることとなる。このため、使用者が車両を監視していない状況下で、車両の防犯機能に関連するコンピュータのプログラムを書き換える処理が実施されて、そのプログラムにより実現される防犯機能が無効となってしまうことを回避することができる。よって、この請求項１のプログラム書き換えシステムによれば、車両の防犯性を確保しつつプログラムの書き換えを実施することができる。
【００１０】
尚、監視有無判定手段は、使用者が車室内又は車両周辺に居ることを検知した場合に、車両が使用者に監視されていると判定するように構成することができる。そして、使用者が車室内又は車両周辺に居るか否かは、例えば、赤外線等を利用した生態認識センサや、シートに加わる荷重を検出するシート荷重センサなどを用いて判定したり、車室内のディスプレイや発音装置などによって使用者に質問し、その質問に対する使用者のキー操作などによる応答によって判定するように構成することができる。
【００１１】
次に、請求項２に記載のプログラム書き換えシステムも、請求項１のプログラム書き換えシステムと同様に、無線通信タイプのプログラム書き換えシステムである。
そして特に、請求項２のプログラム書き換えシステムでは、監視催促通知手段を備えており、その監視催促通知手段は、車両コンピュータシステムにて車両の防犯機能に関連するコンピュータのプログラムを書き換える処理が実施される場合に、車両の使用者に対して、車両を監視することを促す通知を行う。
【００１２】
このような請求項２のプログラム書き換えシステムによれば、使用者に車両を監視することを促す通知を行うことにより、使用者が車両を監視していない状況下で、車両の防犯機能に関連するコンピュータのプログラムを書き換える処理が実施されてしまうことを回避することができる。よって、この請求項２のプログラム書き換えシステムによっても、車両の防犯性を確保しつつプログラムの書き換えを実施することができる。
【００１３】
次に、請求項３に記載のプログラム書き換えシステムも、請求項１又は２のプログラム書き換えシステムと同様に、無線通信タイプのプログラム書き換えシステムである。
そして特に、請求項３のプログラム書き換えシステムでは、防犯機能有効化手段を備えており、その防犯機能有効化手段は、車両コンピュータシステムにて車両の防犯機能に関連しないコンピュータのプログラムを書き換える処理が実施される場合に、車両の防犯機能に関連するコンピュータを、その防犯機能が有効となるように作動させる。
【００１４】
このような請求項３のプログラム書き換えシステムによれば、車両の防犯機能に関連しないコンピュータのプログラムを書き換える処理が実施される場合には、車両の防犯機能に関連するコンピュータが、使用者の操作に拘わらず、その防犯機能が有効となるように作動することとなる。よって、この請求項３のプログラム書き換えシステムによっても、車両の防犯性を確保しつつプログラムの書き換えを実施することができる。
【００１５】
尚、請求項１〜３のプログラム書き換えシステムにおいて、車両の防犯機能としては、請求項４に記載のように、車両のドアロック機能と、車両への不正行為を検知して警報するセキュリティ機能との、両方又は一方が考えられる。そして、車両の防犯機能に関連するコンピュータが、車両のドアロック機能に関連するコンピュータであるならば、請求項３の防犯機能有効化手段は、そのコンピュータにドアロックを実施させるように構成すれば良く、また、車両の防犯機能に関連するコンピュータが、車両のセキュリティ機能に関連するコンピュータであるならば、請求項３の防犯機能有効化手段は、そのコンピュータをセキュリティ機能が有効なセキュリティセット状態で作動させるように構成すれば良い。
【００１６】
次に、請求項５に記載のプログラム書き換えシステムでは、請求項１〜４のプログラム書き換えシステムにおいて、車両コンピュータシステムがプログラムの書き換えを実施する前に、状態設定手段が、車両の状態をプログラムの書き換えに適した状態に設定するための設定処理を行い、車両コンピュータシステムは、その状態設定手段による設定処理の完了後に、プログラムの書き換えを実施する。
【００１７】
このような請求項５のプログラム書き換えシステムによれば、車両の状態が、状態設定手段により、プログラムの書き換えに適した状態に自動的に設定され、その設定が完了した後で、プログラムの書き換えが実施されることとなるため、人による作業に頼ることなく、信頼性の高いプログラム書き換えを確実に実現することができるようになる。
【００１８】
ところで、状態設定手段は、設定処理として、特定の機器が作動するのを禁止するように構成することができ、具体的には、例えば、上記特定の機器への電力供給を遮断するように構成することができる。また、作動を禁止する特定の機器としては、消費電流が比較的大きい機器とするのが好ましい。
【００１９】
そして、この構成によれば、プログラム書き換えの実施中に、特定の機器が作動してバッテリ電圧が変動し、延いてはプログラム書き換え対象のコンピュータに供給される電源電圧が変動してしまうことを防止することができ、車両の状態をプログラムの書き換えに適した状態に設定することができる。
【００２０】
また、車両コンピュータシステムが複数のコンピュータを備えているのであれば、状態設定手段は、設定処理として、プログラムの書き換えに関連するコンピュータには電力を供給し、プログラムの書き換えに関連しない少なくとも１つ以上のコンピュータへの電力供給は遮断するように構成することができる。
【００２１】
そして、この構成によれば、プログラム書き換えの実施中に、プログラムの書き換えに関連しないコンピュータ及びそのコンピュータによって制御される機器が作動することが防止され、その結果、プログラムの書き換え中に、バッテリ電圧が変動してプログラム書き換え対象のコンピュータに供給される電源電圧が変動してしまうことを防止することができ、車両の状態をプログラムの書き換えに適した状態に設定することができる。
【００２２】
尚、プログラムの書き換えに関連しない全てのコンピュータへの電力供給を遮断するように構成するのが最も好ましいが、そうでない場合には、プログラムの書き換えに関連しないコンピュータのうち、消費電流が大きい機器を制御するコンピュータへの電力供給を優先的に遮断するように構成すれば、効果的である。
【００２３】
また、状態設定手段は、設定処理として、車両の電源スイッチの操作を無効にするように構成することができる。尚、車両の電源スイッチとは、いわゆるイグニッションスイッチのことである。
【００２４】
そして、この構成によれば、プログラムの書き換え中に、車両の電源スイッチが操作されても、その操作によって本来ならば通電される機器へは電力が供給されなくなるため、バッテリ電圧が変動してプログラム書き換え対象のコンピュータに供給される電源電圧が変動してしまうことを防止することができ、車両の状態をプログラムの書き換えに適した状態に設定することができる。
【００２５】
また、状態設定手段は、設定処理として、特定の機器を作動させるための操作を無効にするように構成することができる。
そして、この構成によれば、プログラムの書き換え中に、特定の機器を作動させる操作が行われても、その操作によって本来ならば通電される機器へは電力が供給されなくなるため、バッテリ電圧が変動してプログラム書き換え対象のコンピュータに供給される電源電圧が変動してしまうことを防止することができ、車両の状態をプログラムの書き換えに適した状態に設定することができる。例えば、状態設定手段は、エンジン始動用のスタータモータを作動させる操作と、ワイヤレスによりドアロックモータを作動させる操作と、パワーウィンドウを作動させる操作と、ライトを点灯させる操作と、ワイパーを作動させる操作と、ウィンドウウォッシャモータを作動させる操作とのうちの、少なくとも１つを無効にするように構成することができる。何れの操作によっても、消費電流の比較的大きい機器が作動することとなるからである。
【００２６】
次に、請求項６に記載のプログラム書き換えシステムでは、請求項５のプログラム書き換えシステムにおいて、状態設定手段は、車両の状態を、その車両のドアロック機能が正常に作動する範囲内で設定するように構成されている。
【００２７】
このような請求項６のプログラム書き換えシステムによれば、車両コンピュータシステムのプログラム書き換えを、車両の使用者が不在の状況でも、防犯性を低下させることなく実施することができるようになる。つまり、状態設定手段によって車両のドアロック機能が作動しないように設定されてしまうと、車両のドアロックが出来ずに車両の防犯性が低くなってしまうからである。
【００２８】
また、請求項７に記載のプログラム書き換えシステムでは、請求項５のプログラム書き換えシステムにおいて、状態設定手段は、車両の状態を、その車両への不正行為を検知して警報するセキュリティ機能が正常に作動する範囲内で設定するように構成されている。
【００２９】
そして、このような請求項７のプログラム書き換えシステムによっても、車両コンピュータシステムのプログラム書き換えを、車両の使用者が不在の状況でも、防犯性を低下させることなく実施することができるようになる。つまり、状態設定手段によって車両のセキュリティ機能が作動しないように設定されてしまうと、車両の防犯性が低くなってしまうからである。
【００３０】
次に、請求項８に記載のプログラム書き換えシステムでは、請求項１〜７のプログラム書き換えシステムにおいて、状態判定手段を備えており、その状態判定手段は、車両コンピュータシステムがプログラムの書き換えを実施する前に、車両の状態がプログラムの書き換えに不適切な状態であるか否かを判定する。そして、このプログラム書き換えシステムにおいて、車両コンピュータシステムは、その状態判定手段によって車両の状態がプログラムの書き換えに不適切な状態であると判定されたならば、プログラムの書き換えを中止するように構成されている。
【００３１】
このような請求項８のプログラム書き換えシステムによれば、車両の状態がプログラムの書き換えに不適切な状態であるか否かが、状態判定手段によって自動的に判定されるため、人による確認作業に頼ることなく、信頼性の高いプログラム書き換えを実現することができるようになる。
【００３２】
尚、状態判定手段は、例えば、車両に搭載されたバッテリ（車載バッテリ）の電圧と、そのバッテリの劣化状態と、プログラム書き換え対象のコンピュータ又は該コンピュータが搭載されたユニットに供給されている電源電圧と、車両の外気温度と、車両の室内温度と、車両のエンジンが停止してからの経過時間と、車両のイグニッションキーシリンダにおけるキーの操作位置と、車両の現在位置と、車両が存在する場所での有事情報とのうちの、少なくとも１つに基づいて、車両の状態がプログラムの書き換えに不適切な状態であるか否かを判定するように構成することができる。
【００３３】
つまり、車載バッテリの電圧が規定範囲内でなければ、プログラムの書き換えに不適切な状態であると判定することができ、また、バッテリが劣化していれば、書き換え対象のコンピュータに供給される電源電圧が安定しない可能性があるため、プログラムの書き換えに不適切な状態であると判定することができる。そして、プログラム書き換え対象のコンピュータ又は該コンピュータが搭載されたユニットに供給されている電源電圧が規定範囲内でない場合にも、プログラムの書き換えに不適切な状態であると判定することができる。また、車両の外気温度が規定範囲内でない場合や、車両の室内温度が規定範囲内でない場合や、車両のエンジンが停止してからの経過時間が一定時間に達していない場合には、プログラム書き換え対象のコンピュータの周囲温度がプログラム書き換えに適さない温度である可能性があるため、プログラムの書き換えに不適切な状態であると判定することができる。また、車両のイグニッションキーシリンダにおけるキーの操作位置が、プログラムの書き換えを実施する際に設定されるべき位置とは異なる位置に操作されると、プログラムの書き換えには関係のない余分な機器に電力が供給されてバッテリ電圧が変動する可能性があるため、プログラムの書き換えに不適切な状態であると判定することができる。例えば、キーの操作位置がＯＦＦ（オフ）位置にある状態でプログラムの書き換えを行う構成の場合に、そのキーの操作位置がＡＣＣ（アクセサリ）位置やＩＧ（イグニッション）位置やＳＴ（スタート）位置に操作されれば、プログラムの書き換えに不適切な状態であると判定することができる。また、車両の現在位置が、テレビ塔直下などの強電界が発生する場所であったり、高速道路上や、渋滞道路上や、事故現場付近である場合には、プログラムの書き換えに不適切な状態であると判定することができる。また、車両が存在する場所での有事情報により、地震の発生中又は発生直後であることや、大規模災害が発生した直後であることなどを検知した場合には、プログラムの書き換えに不適切な状態であると判定することができる。
【発明を実施するための最良の形態】
【００３４】
以下に、本発明が適用された実施形態のプログラム書き換えシステムについて、図面を用い説明する。尚、本実施形態のプログラム書き換えシステムは、車両コンピュータシステムのプログラムをオンボード状態で書き換えるものである。
【００３５】
まず図１は、実施形態のプログラム書き換えシステムを表す構成図である。
図１に示すように、本実施形態のプログラム書き換えシステムは、車両に搭載された車両コンピュータシステム１と、その車両コンピュータシステム１に書き換え対象のプログラムを送信する情報センタ（以下単に、センタという）３とからなる。
【００３６】
車両コンピュータシステム１は、通信網５を介してセンタ３と無線通信を行うための通信端末７、複数の電子制御ユニット（以下、ＥＣＵという）１１〜２６，…、それらＥＣＵによって制御されるアクチュエータやディスプレイ３１などの各種機器、及び車両の各種情報をＥＣＵに入力させるセンサやスイッチ等から構成されている。
【００３７】
ここで、ＥＣＵとしては、エンジンを制御するエンジンＥＣＵ１１、車両の挙動を安定させるための制御を行う車両挙動ＥＣＵ１２、エアバッグを制御するエアバッグＥＣＵ１３、車両の走行速度や先行車両との車間距離を一定に保つ制御を行うクルーズＥＣＵ１４、ナビゲーション機能の制御を行うナビゲーションＥＣＵ１５、車両のメータを制御するメータＥＣＵ１６、車両のイグニッションキーシリンダにおけるＯＦＦ（オフ）位置以外の各キーポジションに対応した車両内の各電源ラインに車載バッテリからの電力を供給する制御を行うキー電源管理ＥＣＵ１７、ヘッドライトやターンランプなどを制御するライトシステム管理ＥＣＵ１８、キー電源管理ＥＣＵ１７が電力供給を制御する電源ライン以外の各電源ラインに車載バッテリからの電力を供給する制御を行う電源管理ＥＣＵ１９、エアコン装置を制御するエアコンＥＣＵ２０、車両のドアやラゲッジルーム（トランク）などの各開閉部の施解錠制御（つまり、ドアロック機能の制御）を行うドアシステム管理ＥＣＵ２１、車両への不正行為を検知して警報するセキュリティ機能の制御を行うセキュリティＥＣＵ２２、ディスプレイ３１を制御するディスプレイＥＣＵ２３、発音装置（図示省略）から各種案内用の音声を発生させる制御を行う音声案内ＥＣＵ２４、通信端末７やナビゲーションＥＣＵ１５やディスプレイＥＣＵ２３などと連携してブラウザ機能の制御を行うブラウザＥＣＵ２５、及びＡＶ系機器（図示省略）を制御するオーディオＥＣＵ２６などがある。
【００３８】
そして、エンジンＥＣＵ１１と、車両挙動ＥＣＵ１２と、エアバッグＥＣＵ１３と、クルーズＥＣＵ１４と、ナビゲーションＥＣＵ１５と、メータＥＣＵ１６と、キー電源管理ＥＣＵ１７は、第１の通信線３３で通信可能に接続されている。
【００３９】
また、ナビゲーションＥＣＵ１５と、メータＥＣＵ１６と、キー電源管理ＥＣＵ１７と、ライトシステム管理ＥＣＵ１８と、電源管理ＥＣＵ１９と、エアコンＥＣＵ２０と、ドアシステム管理ＥＣＵ２１と、セキュリティＥＣＵ２２は、第２の通信線３５で通信可能に接続されている。
【００４０】
また、ナビゲーションＥＣＵ１５と、ディスプレイＥＣＵ２３と、音声案内ＥＣＵ２４と、ブラウザＥＣＵ２５と、オーディオＥＣＵ２６は、第３の通信線３７で通信可能に接続されている。
【００４１】
更に、異なる通信線に接続されたＥＣＵ同士も、ナビゲーションＥＣＵ１５がゲートウェイとなって互いに通信できるようになっている。
尚、一般的なことなので図示は省略しているが、各ＥＣＵ１１〜２６，…には、１つ又は複数のマイコン（マイクロコンピュータ）とメモリが少なくとも備えられている。そして、各ＥＣＵ１１〜２６，…では、メモリに格納されているプログラムをマイコンが実行することにより、そのＥＣＵの動作が実現される。
【００４２】
一方、センタ３には、車両コンピュータシステム１と通信網５を介して無線通信を行うための通信部４１と、その通信部４１に書き換え対象のプログラムを送信させたり、その通信部４１から車両コンピュータシステム１が送信したデータを取得する制御部４２とが備えられている。
【００４３】
また、通信網５は、車両コンピュータシステム１とセンタ３と車両の使用者（以下、ユーザという）とを連携させる情報通信網であり、例えば、電話網やインターネットである。
【００４４】
次に、上記ＥＣＵのうちの主なものについて、図２〜図６を用い説明する。
まず図２に示すように、ドアシステム管理ＥＣＵ２１には、運転席ドアの開閉状態を検出する運転席カーテシスイッチ（ＳＷ）４３と、助手席ドアの開閉状態を検出する助手席カーテシスイッチ４４と、右後席ドアの開閉状態を検出する右後席カーテシスイッチ４５と、左後席ドアの開閉状態を検出する左後席カーテシスイッチ４６と、ラゲッジルームの開閉部（以下、ラゲッジドアという）の開閉状態を検出するラゲッジカーテシスイッチ４７と、ユーザに携帯される電子キーとしての携帯機と無線通信を行うための通信機４８と、運転席ドアを施錠（ロック）及び解錠（アンロック）させる運転席ドアロックモータ５０と、助手席ドアを施錠及び解錠させる助手席ドアロックモータ５１と、右後席ドアを施錠及び解錠させる右後席ドアロックモータ５２と、左後席ドアを施錠及び解錠させる左後席ドアロックモータ５３と、ラゲッジドアを施錠及び解錠させるラゲッジロックモータ５４とが接続されている。
【００４５】
また、各ロックモータ５０〜５４には、施錠及び解錠させる対象の施解錠状態（施錠状態か解錠状態か）を検出するロックポジションスイッチが設けられており、その各ロックポジションスイッチの信号も、ドアシステム管理ＥＣＵ２１に入力される。
【００４６】
そして、ドアシステム管理ＥＣＵ２１は、上記各カーテシスイッチ４３〜４７からの信号により、車両のラゲッジドアを含む各ドアの開閉状態を検出すると共に、上記各ロックポジションスイッチからの信号により、各ドアの施解錠状態を検出する。
【００４７】
また、ドアシステム管理ＥＣＵ２１は、ユーザが上記携帯機に設けられたロック用ボタン又はアンロック用ボタンを操作した際に、その携帯機から送信されるワイヤレス操作信号を通信機４８により受信する。
【００４８】
そして更に、ドアシステム管理ＥＣＵ２１は、上記受信したワイヤレス操作信号や、他のＥＣＵから通信線３５を介して送られてくる指令に従って、各ロックモータ５０〜５４を正転又は逆転駆動することにより、車両の各ドアを施錠又は解錠させる。
【００４９】
また、ドアシステム管理ＥＣＵ２１は、例えば、運転席ドアに設けられているキーシリンダにメカニカルなキーが差し込まれて捻り操作されたり、運転席ドアの車室内側に設けられている施解錠用ノブが操作されて、運転席ドアが手動で施錠又は解錠されると、そのことを、運転席ドアロックモータ５０に設けられたロックポジションスイッチからの信号により検知して、他のドアのロックモータ５１〜５４を駆動することにより、運転席ドア以外のドアを運転席ドアと同じ施解錠状態にする。
【００５０】
次に図３に示すように、セキュリティＥＣＵ２２には、車両への不正行為を検知するためのセキュリティセンサとして、車室内に人が侵入したことを赤外線や超音波などで検知する侵入センサ６０と、車両の傾きを検知する傾斜センサ６１と、車両の振動を検知する振動センサ６２とが接続されている。更に、セキュリティＥＣＵ２２には、車両への不正行為を車外に音で警報するためのホーンやブザーからなる音響警報機器６４と、車両への不正行為を車外に表示して警報するためのセキュリティインジケータ６５とが接続されている。
【００５１】
そして、セキュリティＥＣＵ２２は、例えば、ドアシステム管理ＥＣＵ２１から上記のワイヤレス操作に従い全ドアを施錠したことが通知されると、セキュリティセット状態となり、そのセキュリティセット状態にて、侵入センサ６０により人の侵入が検知されたり、傾斜センサ６１により車両が所定角度以上傾いたことが検知されたり、振動センサ６２により車両に所定レベル以上の振動が発生したことが検知されると、音響警報機器６４を駆動して警報音を発生させると共に、セキュリティインジケータ６５に不正行為があったことを示すメッセージなどの表示内容を表示させる。また、セキュリティＥＣＵ２２は、ナビゲーションＥＣＵ１５に依頼して、通信端末７からセンタ３へ、車両に不正行為が行われたことを無線で通知する。すると、センタ３からユーザが所有する携帯電話やパーソナルコンピュータなどの連絡用機器へ、車両に不正行為が行われたことが電子メールや電話音声などで通知される。
【００５２】
次に図４に示すように、エアコンＥＣＵ２０には、車外の温度である外気温度を検出する外気温センサ６７と、車室内の温度である内気温度を検出する内気温センサ６８とが接続されている。
【００５３】
そして、エアコンＥＣＵ２０は、各センサ６７，６８からの信号により外気温度と内気温度を検出し、その検出結果に基づいて、図示しない熱交換用のコンプレッサや送風用のブロアモータなどからなるエアコン装置を制御する。
【００５４】
次に図５に示すように、キー電源管理ＥＣＵ１７には、車両のイグニッションキーシリンダに挿入されたキーがＯＦＦ（オフ）位置とＡＣＣ（アクセサリ）位置とＩＧ（イグニッション）位置とＳＴ（スタート）位置との何れのキーポジションに操作されているかを検出するキーポジションスイッチ７０と、ＯＦＦ位置以外の各キーポジションに対応した車両内の各電源ライン、即ち、ＡＣＣ系システムの電源ライン７１、ＩＧ１系システムの電源ライン７２、ＩＧ２系システムの電源ライン７３、及びスタータ系システムの電源ライン７４の各々と車載バッテリ７５のプラス端子との接続／非接続を切り換えるスイッチング装置（例えば電磁式リレーや半導体リレー）７６，７７，７８，７９とが接続されている。
【００５５】
そして、キー電源管理ＥＣＵ１７は、イグニッションキーシリンダにおけるキーの操作位置（以下単に、キー操作位置という）をキーポジションスイッチ７０からの信号によって検出すると共に、その検出結果や、他のＥＣＵから通信線３３，３５を介して送られてくる指令に従って、上記各スイッチング装置７６〜７９をオン／オフさせることにより、上記各電源ライン７１〜７４をバッテリ７５のプラス端子に接続させたり、そのプラス端子から切り離す。
【００５６】
尚、各電源ライン７１〜７４は、バッテリ７５のプラス端子に接続されると、そのバッテリ７５から電力が供給されることとなる。また、ＩＧ１系システムの電源ライン７２とＩＧ２系システムの電源ライン７３は、両方共に、キーがＩＧ位置に操作されるとバッテリ７５からの電力が供給される電源ラインであるが、ＩＧ１系システムの電源ライン７２の方は、キーが更にＳＴ位置に操作された場合（即ち、スタータモータが作動する場合）にはバッテリ７５との接続が遮断されるものであり、ＩＧ２系システムの電源ライン７３の方は、キーがＳＴ位置に操作されてもバッテリ７５との接続が継続されるものであるため、別系統になっている。一方、図５において、符号として８０〜８３が付されたものは、各電源ライン７１〜７４毎に設けられたヒューズであり、符号として８４が付されたものは、各電源ライン７１〜７４に共通のヒューズである。
【００５７】
次に図６に示すように、電源管理ＥＣＵ１９には、バッテリ７５に流れる電流を検出する電流センサ８６と、バッテリ７５の温度を検出する温度センサ８７と、キー電源管理ＥＣＵ１７が電力供給を制御する電源ライン７１〜７４以外の各電源ラインＬ１〜Ｌｎの各々とバッテリ７５のプラス端子との接続／非接続を切り換えるスイッチング装置（例えば電磁式リレーや半導体リレー）ＳＲ１〜ＳＲｎとが接続されている。
【００５８】
そして、電源管理ＥＣＵ１９は、ヒューズ８８を介して入力されるバッテリ７５の電圧（バッテリ電圧）の値を検出すると共に、各センサ８６，８７からの信号によりバッテリ７５に流れる電流とバッテリ７５の温度とを検出し、更に、それらの検出結果を予め定められた計算式やデータマップにあてはめることにより、バッテリ７５の劣化状態を判定する。尚、バッテリ７５の劣化状態は、バッテリ７５内の電解液濃度によって判定するようにしても良い。
【００５９】
そして更に、電源管理ＥＣＵ１９は、キー電源管理ＥＣＵ１７から通信線３５を介して送られて来るキー操作位置の情報や、他のＥＣＵから通信線３５を介して送られてくる指令に従って、上記各スイッチング装置ＳＲ１〜ＳＲｎをオン／オフさせることにより、上記各電源ラインＬ１〜Ｌｎをバッテリ７５のプラス端子に接続させたり、そのプラス端子から切り離す。
【００６０】
尚、各電源ラインＬ１〜Ｌｎも、前述した電源ライン７１〜７４と同様に、バッテリ７５のプラス端子に接続されると、そのバッテリ７５から電力が供給されることとなる。また、図６において、符号として８９が付されたものは、各電源ラインＬ１〜Ｌｎに共通のヒューズである。
【００６１】
次に、本実施形態のプログラム書き換えシステムにおいて、車両コンピュータシステムを構成する何れかのＥＣＵに搭載されたマイコンのプログラムを書き換える際に、プログラム書き換え統括機能を有する装置で実施される書き換え制御動作の内容について、図７〜図１６を用い説明する。
【００６２】
尚、プログラム書き換え統括機能を有する装置としては、通信線３３〜３７を介して各ＥＣＵのマイコンと連携できる機能と、各ＥＣＵと連携してプログラム書き換えに必要な車両状態の判定を行う機能と、各ＥＣＵと連携してプログラム書き換えに必要な車両状態の設定及び指示通知を行う機能と、プログラム書き換えの一連の流れについて、ＨＭＩ（ヒューマン・マシン・インターフェース）に指示を行う機能とを備えていれば良く、本実施形態では、情報収集がし易いことから、ナビゲーションＥＣＵ１５（詳しくは、それに内蔵されたマイコン）が、プログラム書き換え統括機能を有する装置となっている。
【００６３】
まず図７は、ナビゲーションＥＣＵ１５で実施される書き換え制御動作の流れ全体を表すフローチャートである。
図７に示すように、ナビゲーションＥＣＵ１５は、書き換え制御動作として、プログラム書き換えの開始判定処理（Ｓ１１０）と、センタ３からプログラムをダウンロードするダウンロード処理（Ｓ１２０）と、プログラム書き換えモードへの移行処理（Ｓ１３０）と、車両の状態がプログラムの書き換えに適しているかいないかを確認する車両状態の確認処理（Ｓ１４０）と、車両の状態をプログラムの書き換えに適した状態に設定する車両状態の設定処理（Ｓ１５０）と、プログラム書き換えの実施中における防犯性を確保するための防犯性の確保処理（Ｓ１５５）と、プログラム書き換え対象のマイコン（以下、ターゲットマイコンともいう）にプログラムを書き換えさせるプログラム書き換え処理（Ｓ１６０）と、プログラムの書き換えが正常に完了したか否かを確認するプログラム書き換え完了の確認処理（Ｓ１７０）と、プログラムの書き換えが正常完了したことをユーザやセンタ３へ通知するプログラム書き換え完了の通知処理（Ｓ１８０）とを実施する。尚、プログラム書き換えの開始判定処理（Ｓ１１０）とプログラムのダウンロード処理（Ｓ１２０）は、順番が入れ替わっても良い。
【００６４】
次に図８は、プログラム書き換えの開始判定処理の内容を表すフローチャートである。
図８に示すように、ナビゲーションＥＣＵ１５は、まずＳ２１０にて、通信端末７を介してセンタ３と通信することにより、センタ３（詳しくは、その制御部４２）に書き換え対象プログラム（つまり、更新すべき新バージョンのプログラム）があるか否かを判断する。例えば、センタ３からプログラム書き換え要求通知があった場合に、このＳ２１０にて、書き換え対象プログラムがあると判断する。また、ユーザがナビゲーション装置等の操作ボタンを操作して、プログラム更新が必要か否かを問い合わせる入力を行ったことを検知すると、センタ３へ書き換え対象プログラムがあるか否かを問い合わせ、その返事に基づいて、書き換え対象プログラムがあるか否かを判断するようにしても良い。また、ユーザの操作によらず、定期的にセンタ３へ書き換え対象プログラムがあるか否かを問い合わせるようにしても良い。
【００６５】
そして、センタ３に書き換え対象プログラムがないと判断した場合には（Ｓ２１０：ＮＯ）、そのまま処理を終了するが、書き換え対象プログラムがあると判断した場合には（Ｓ２１０：ＹＥＳ）、次のＳ２２０にて、その書き換え対象プログラムの内容（例えば、どのＥＣＵのどのマイコンで実行されるプログラムであるかや、そのバージョン情報など）をセンタ３に問い合わせる。
【００６６】
次に、Ｓ２３０にて、上記Ｓ２２０の問い合わせでセンタ３から得た情報に基づいて、プログラムをダウンロードする必要があるか否か（換言すれば、プログラムの書き換えを本当に実施する必要があるか否か）を判断する。
【００６７】
そして、プログラムをダウンロードする必要がなければ（Ｓ２３０：ＮＯ）、そのまま処理を終了するが、プログラムをダウンロードする必要があれば（Ｓ２３０：ＹＥＳ）、Ｓ２３５に進んで、防犯関係のＥＣＵに対するプログラム書き換えか否かを判断する。
【００６８】
尚、本実施形態において、防犯関係のＥＣＵとは、ドアシステム管理ＥＣＵ２１とセキュリティＥＣＵ２２であり、ドアシステム管理ＥＣＵ２１に搭載されて、ドアロック機能の制御を行うマイコンと、セキュリティＥＣＵ２２に搭載されて、セキュリティ機能の制御を行うマイコンとが、車両の防犯機能に関連するコンピュータに相当している。そして、Ｓ２３５では、センタ３にある書き換え対象プログラム（即ち、センタ３からダウンロードするプログラム）が、そのＥＣＵ２１，２２の何れかに搭載されたマイコンで実行されるプログラムであれば、防犯関係のＥＣＵに対するプログラム書き換えであると判断する。
【００６９】
ここで、上記Ｓ２３５にて、防犯関係のＥＣＵに対するプログラム書き換えではないと判断した場合には（Ｓ２３５：ＮＯ）、Ｓ２４０に進んで、プログラムダウンロードモードに移行する。すると、ナビゲーションＥＣＵ１５は、図９に示すダウンロード処理を開始することとなる。
【００７０】
また、上記Ｓ２３５にて、防犯関係のＥＣＵに対するプログラム書き換えであると判断した場合には（Ｓ２３５：ＹＥＳ）、Ｓ２４５に移行して、ユーザへ、車両を監視することを促す通知を行う。これは、防犯関係のＥＣＵ２１，２２のマイコンを対象としたプログラム書き換えの実施により、防犯機能であるドアロック機能又はセキュリティ機能が正常に作動しなくなるからである。
【００７１】
尚、このＳ２４５及び後述する各処理において、ユーザへの通知は、ディスプレイＥＣＵ２３に指令して、ディスプレイ３１に通知内容のメッセージやアイコンを表示させたり、音声案内ＥＣＵ２４に指令して、発音装置から通知内容の音声を発生させたり、センタ３へ指令して、そのセンタ３からユーザが所有する携帯電話やパーソナルコンピュータなどの予め登録された連絡用機器へ、電子メールや電話音声などを送らせたりすることにより実施される。また、例えば、Ｓ２４５では、ユーザに「プログラム書き換えが完了するまで、車内又は車両の近くに居て下さい」といったメッセージを出す。
【００７２】
そして、続くＳ２５０にて、ユーザへ、プログラム書き換えの実施によって防犯性が低下することを警告する通知を行う。例えば、ターゲットマイコンがセキュリティＥＣＵ２２のマイコンである場合には、今からセキュリティ機能が作動しなくなる旨のメッセージを出し、また、ターゲットマイコンがドアシステム管理ＥＣＵ２１のマイコンである場合には、今からドアロック機能が正常に作動せずにドアロックが解除される可能性がある旨のメッセージを出す。
【００７３】
次に、Ｓ２６０にて、ユーザが車両に同伴しているか否か（つまり、ユーザが車室内又は車両周辺に居るか否か）を判定する。
例えば、このＳ２６０では、ディスプレイＥＣＵ２３と音声案内ＥＣＵ２４に指令を与えて、ディスプレイ３１上の表示及び発音装置からの音声により、ユーザに対して居るか居ないかなどを質問し、その質問に対するユーザのキー操作などによる応答によって、ユーザが車両に同伴しているか否かを判定する。また、ユーザが車両に同伴しているか否かは、例えば、運転席や他の席のシートに加わる荷重を検出するシート荷重センサなどを用いて判定するようにしても良い。
【００７４】
そして、Ｓ２６０にて、ユーザが車両に同伴していると判定した場合には、車両がユーザに監視されていると判断して、Ｓ２４０に進み、プログラムダウンロードモードに移行する。すると、ナビゲーションＥＣＵ１５は、図９に示すダウンロード処理を開始することとなる。
【００７５】
また、上記Ｓ２６０にて、ユーザが車両に同伴していないと判定した場合には、車両がユーザに監視されていないと判断して、Ｓ２６５へ移行する。
そして、このＳ２６５にて、ユーザへ、プログラムの書き換えを実施しないことを通知し、その後、Ｓ２７０にてプログラム書き換えを中止し、そのまま処理を終了する。
【００７６】
次に、図９に示すように、ナビゲーションＥＣＵ１５がダウンロード処理を開始すると、まずＳ３１０にて、ユーザへプログラムのダウンロードを実施することを通知する。
そして、次にＳ３２０にて、ダウンロードに関連する機器の機能制限を実施する。
【００７７】
即ち、プログラムのダウンロードに関わる無線通信能力及びコンピュータの処理負荷を確保する為に、例えば、オーディオＥＣＵ２６やディスプレイＥＣＵ２３へ指令して、ＡＶ系機器の操作を全般にわたり禁止する（つまり、ＡＶ系機器の操作が行われても、その操作に対応する機能が行われないようにする）。また、このような機能制限と共に、ユーザへ、ＡＶ系機器の操作に関する制限内容を通知する。
【００７８】
尚、ダウンロードの実施中は、上記Ｓ３２０でユーザに通知した制限内容の操作が行われた際に、「使用できません」などのウォーニングメッセージをディスプレイ３１に表示させるようにしても良い。また、上記Ｓ３２０やダウンロードの実施中に、ダウンロードが完了する予定時刻をユーザに通知するようにしても良い。
【００７９】
そして、次にＳ３３０にて、プログラムのダウンロードに関わるコンピュータの動作継続を確保するために、キー電源管理ＥＣＵ１７及び電源管理ＥＣＵ１９へ指令を与えて、ユーザの電源キー操作とは関係なく、プログラムのダウンロードに関わる機器（例えば、当該ナビゲーションＥＣＵ１５及び通信端末７や、ユーザへの通知を行うためのディスプレイＥＣＵ２３やディスプレイ３１）への電力供給が継続されるようにする。
【００８０】
次に、Ｓ３４０にて、センタ３から書き換え対象のプログラムをダウンロードする。
そして、次のＳ３５０にて、ダウンロードしたデータに対してパリティチェックなどの検査を実施することにより、ダウンロードが正常に完了したか否かを判定し、ダウンロードが正常完了したならば（Ｓ３５０：ＹＥＳ）、次のＳ３６０にて、ダウンロードが完了したことをユーザに通知すると共に、上記Ｓ３２０で実施していた機能制限を解除するために、他のＥＣＵへダウンロード完了通知を送信する。つまり、他のＥＣＵは、ダウンロード完了通知を受信すると、上記Ｓ３２０でナビゲーションＥＣＵ１５が出した指令に基づき実施していた機能の禁止を解除する。
【００８１】
そして、その後、Ｓ３７０に進んで、プログラム書き換えモードへの移行処理へ移行する。すると、ナビゲーションＥＣＵ１５は、図１０に示すプログラム書き換えモードへの移行処理を開始することとなる。
【００８２】
また、上記Ｓ３５０にて、ダウンロードが正常完了しなかったと判定した場合には（Ｓ３５０：ＮＯ）、Ｓ３８０に移行して、カウンタＮをインクリメント（＋１）し、続くＳ３９０にて、カウンタＮの値が規定値Ｎ１に達したか否かを判定する。尚、カウンタＮの初期値は０である。
【００８３】
そして、カウンタＮの値が規定値Ｎ１に達していなければ（Ｓ３９０：ＮＯ）、Ｓ３４０に戻って、再度プログラムのダウンロードを実施する。また、上記Ｓ３９０にて、カウンタＮの値が規定値Ｎ１に達したと判定した場合には（Ｓ３９０：ＹＥＳ）、そのまま処理を終了する。尚、このように処理を終了する場合にも、上記Ｓ３２０で実施していた機能制限を解除するために、他のＥＣＵへダウンロード完了通知を送信する。
【００８４】
一方更に、ナビゲーションＥＣＵ１５は、プログラムダウンロードモードに移行すると、図９の処理と並行して、キー電源管理ＥＣＵ１７及び電源管理ＥＣＵ１９へ指令を与えることにより、ドアシステム管理ＥＣＵ２１とセキュリティＥＣＵ２２、及びそれらＥＣＵ２１，２２に関連する電気負荷への電力供給が継続されるようにすると共に、ドアシステム管理ＥＣＵ２１とセキュリティＥＣＵ２２に指令を与えて、ドアシステム管理ＥＣＵ２１による各ロックモータ５０〜５４の制御状態を保持させると共に、セキュリティＥＣＵ２２におけるセキュリティセット／アンセット状態を保持させる。
【００８５】
このため、プログラムのダウンロード中は、それ以前にユーザが設定していたドアの施解錠状態とセキュリティセット／アンセット状態とが確保されることとなり、プログラムのダウンロード中に、ユーザの意志に反してドアの施錠やセキュリティセット状態が解除され防犯性が低下してしまうことはない。
【００８６】
尚、Ｓ３４０でのプログラムダウンロードは、そのダウンロードに関わるコンピュータや無線通信能力に一定以上の負荷が無いことを確認してから開始するようにしても良い。
また、例えばＳ３２０とＳ３３０との間で、ユーザがダウンロードの開始を許可したか否かを、ユーザによるボタン操作や音声入力などで判断し、ユーザの許可が得られなければ、上記Ｓ３２０での機能制限を解除すると共に、ダウンロードを中止するようにしても良い。
【００８７】
また、プログラムのダウンロードを実施するＥＣＵや、ダウンロードしたプログラムを保存するＥＣＵは、ナビゲーションＥＣＵ１５（つまり、プログラム書き換え統括機能を有する装置）とは別のＥＣＵであっても良い。
【００８８】
次に、図１０に示すように、ナビゲーションＥＣＵ１５がプログラム書き換えモードへの移行処理を開始すると、まずＳ４１０にて、ユーザへ、プログラム書き換えを開始した場合の、車両における機能や操作が制限される点及びその制限の内容と、プログラム書き換え完了までに必要な時間や終了予定時刻を通知する。尚、このＳ４２０でユーザに通知される制限の内容は、後述する図１２におけるＳ６２０及びＳ６３０の処理によって制限される機能や操作の内容である。
【００８９】
そして、続くＳ４２０にて、ユーザからのキャンセル指示が一定時間内にあったか否かを判定し、キャンセル指示がなければ（Ｓ４２０：ＮＯ）、Ｓ４３０に進んで、車両状態の確認処理へ移行する。すると、ナビゲーションＥＣＵ１５は、図１１に示す車両状態の確認処理を開始することとなる。
【００９０】
また、ユーザからのキャンセル指示があったならば（Ｓ４２０：ＹＥＳ）、Ｓ４４０に移行して、プログラム書き換えを中止し、そのまま処理を終了する。このため、ダウンロードしたプログラムをターゲットマイコンが搭載されたＥＣＵへ転送する処理を開始するまでの間に、ユーザによるキャンセル操作が受け付けられることとなる。
【００９１】
尚、ユーザがキャンセル指示を行うためのキャンセル操作としては、操作ボタンやディスプレイ画面上でのタッチ操作といった車両内機器に対する操作や音声入力でも良いし、また、ユーザが自分の所有する携帯電話やパーソナルコンピュータなどの連絡用機器により、Ｗｅｂ操作したり電子メールや電話などでセンタ３へ連絡すると、そのセンタ３を経由して本車両コンピュータシステムへキャンセル指示が通知される、といったものでも良い。一方、上記Ｓ４２０の判定を削除して、そのまま車両状態の確認処理へ移行するようにしても良い。
【００９２】
次に、図１１に示すように、ナビゲーションＥＣＵ１５が車両状態の確認処理を開始すると、まずＳ５１０にて、エンジンが停止してからの経過時間を計測する機能を有したＥＣＵ（本実施形態ではエンジンＥＣＵ１１）から、その計測されている経過時間を車両内有線通信により取得して、その経過時間が一定時間Ｔ１以上であるか否かを判定する。
【００９３】
そして、エンジン停止からの経過時間が一定時間Ｔ１以上であれば（Ｓ５１０：ＹＥＳ）、そのままＳ５１５へ進むが、エンジン停止からの経過時間が一定時間Ｔ１以上でなければ（Ｓ５１０：ＮＯ）、その経過時間が一定時間Ｔ１に達するまで待ってからＳ５１５へ進む。
【００９４】
尚、上記一定時間Ｔ１は、メモリ内の実行対象プログラムがセンタ３から今回ダウンロードされたプログラムに書き換えられる予定のマイコン（ターゲットマイコン）について必要と考えられる冷却時間に設定される。また、エンジン停止からの経過時間が一定時間Ｔ１に達するまで待つ場合、その残り時間や待機していることを、ユーザへ通知するようにしても良い。
【００９５】
次に、Ｓ５１５では、キー電源管理ＥＣＵ１７へ指令を与えて、ユーザの電源キー操作とは関係なくエアコンＥＣＵ２０と少なくとも外気温センサ６７及び内気温センサ６８にバッテリ７５からの電力が供給されるようにする。そして、車両内有線通信により、そのエアコンＥＣＵ２０に指令を与えて、外気温度と内気温度を測定させるとと共に、その測定結果をエアコンＥＣＵ２０から取得する。そして更に、このＳ５１５では、外気温度が最小規定値Ｍ１ｍｉｎから最大規定値Ｍ１ｍａｘまでの規定範囲内であるか否かを判定し、その規定範囲内であれば（Ｓ５１５：ＹＥＳ）、次のＳ５２０にて、内気温度が最小規定値Ｍ２ｍｉｎから最大規定値Ｍ２ｍａｘまでの規定範囲内であるか否かを判定する。そして、内気温度が規定範囲内であると判定したならば（Ｓ５２０：ＹＥＳ）、Ｓ５２５に進む。尚、外気温度と内気温度の測定は、例えば図１０の処理を開始した直後のタイミングで実施しておいても良い。
【００９６】
Ｓ５２５では、電源管理ＥＣＵ１９との車両内有線通信により、その電源管理ＥＣＵ１９から現在のバッテリ電圧とバッテリ７５の劣化状態の情報を取得する。そして更に、このＳ５２５では、バッテリ電圧がプログラム書き換えを実施するのに支障が無いと考えられる規定値Ｖ１以上であるか否かを判定し、規定値Ｖ１以上であれば（Ｓ５２５：ＹＥＳ）、次のＳ５３０にて、バッテリ７５の劣化は無いか否か（つまり、バッテリ７５の劣化状態がプログラム書き換えを実施するのに支障が無い程度か否か）を判定する。そして、バッテリ７５の劣化は無いと判定したならば（Ｓ５３０：ＹＥＳ）、Ｓ５３５に進む。
【００９７】
Ｓ５３５では、キー電源管理ＥＣＵ１７又は電源管理ＥＣＵ１９に指令を与えて、ターゲットマイコンが搭載されたＥＣＵ（以下、ターゲットＥＣＵともいう）にバッテリ７５からの電力が供給されるようにする。そして、ターゲットＥＣＵに指令を与えて、そのターゲットＥＣＵに実際に供給されている電源電圧を測定させると共に、その測定結果を送信させる。そして更に、このＳ５３５では、そのターゲットＥＣＵに実際に供給されている電源電圧がプログラム書き換えを実施するのに支障が無いと考えられる規定値Ｖ２以上であるか否かを判定し、規定値Ｖ２以上であれば（Ｓ５３５：ＹＥＳ）、Ｓ５４０に進む。尚、ターゲットＥＣＵに供給されている電源電圧の代わりに、ターゲットマイコンに供給されている電源電圧の情報をターゲットＥＣＵから取得して、その電源電圧が規定値範囲内であるか否かを判定するようにしても良い。
【００９８】
Ｓ５４０では、ＧＰＳ衛星からのＧＰＳ信号を受信して車両の現在位置を検出し、地図情報やセンタ３又は他の情報センタから無線で提供される道路情報などを参照して、その検出した現在位置がプログラム書き換えを実施するのに支障が無い場所か否かを判定する。そして、例えば、車両の現在位置が、テレビ塔直下などの強電界が発生する場所であったり、高速道路上や、渋滞道路上や、事故現場付近でなければ、プログラムの書き換えに支障がない場所と判定して（Ｓ５４０：ＹＥＳ）、Ｓ５４５に進む。
【００９９】
Ｓ５４５では、センタ３又は他の情報センタと通信して、車両が存在している場所での有事情報があるか否かを判定し、有事情報があれば、更に、その情報に基づいて、何らかの災害警告等（例えば、地震の発生中又は発生直後であることや、大規模災害が発生したことの警告）が発せられているか否かを判定する。そして、災害警告等がなければ（Ｓ５４５：ＹＥＳ）、プログラム書き換えを実施するのに支障は無いと判断してＳ５５０に進む。
【０１００】
Ｓ５５０では、図１０のＳ４２０と同様に、ユーザからのキャンセル指示が一定時間内にあったか否かを判定し、キャンセル指示がなければ（Ｓ５５０：ＮＯ）、次のＳ５６０にて、車両状態条件がＯＫである（つまり、プログラム書き換えを実施するのに必要な条件が成立した）と判断し、そのことをユーザへ通知する。そして、その後、Ｓ５６５に進んで、車両状態の設定処理へ移行する。すると、ナビゲーションＥＣＵ１５は、図１２に示す車両状態の設定処理を開始することとなる。
【０１０１】
一方、上記Ｓ５１５とＳ５２０との何れかで「ＮＯ」と判定した場合、即ち、外気温度が規定範囲内ではないと判定するか（Ｓ５１５：ＮＯ）、或いは、内気温度が規定範囲内ではないと判定した場合には（Ｓ５２０：ＮＯ）、Ｓ５７０に移行して、一定時間Ｔ２だけ待ち、続くＳ５７５にて、カウンタＮをインクリメントする。そして、次のＳ５８０にて、カウンタＮの値が規定値Ｎ２に達したか否かを判定し、カウンタＮの値が規定値Ｎ２に達していなければ（Ｓ５８０：ＮＯ）、Ｓ５１５に戻り、また、カウンタＮの値が規定値Ｎ２に達したならば（Ｓ５８０：ＹＥＳ）、Ｓ５８５へ移行する。尚、カウンタＮの初期値は０である。
【０１０２】
つまり、Ｓ５１５とＳ５２０で判定する温度条件が成立しない場合には、一定時間Ｔ２が経過してから、再度、その温度条件が成立しているか否かを判定するようにしており、また、その判定回数がＮ２回に達したら、もはや温度条件が成立する見込みはなく、車両の状態がプログラムの書き換えに不適切な状態であると判断して、Ｓ５８５へ移行するようにしている。
【０１０３】
また、上記Ｓ５２５〜Ｓ５４５の何れかで「ＮＯ」と判定した場合、即ち、バッテリ電圧が規定値Ｖ１以上ではないと判定するか（Ｓ５２５：ＮＯ）、バッテリ７５の劣化があると判定するか（Ｓ５３０：ＮＯ）、ターゲットＥＣＵに供給されている電源電圧が規定値Ｖ２以上ではないと判定するか（Ｓ５３５：ＮＯ）、車両の現在位置がプログラムの書き換えに支障のある場所であると判定するか（Ｓ５４０：ＮＯ）、災害警告等が発せられている（有事が発生している）と判定した場合（Ｓ５４５：ＮＯ）にも、車両の状態がプログラムの書き換えに不適切な状態であると判断して、Ｓ５８５へ移行する。
【０１０４】
Ｓ５８５では、プログラム書き換えを実施するのに必要な車両状態条件が成立しなかったことをユーザに通知し、続くＳ５９０にて、プログラム書き換えを中止する。そして、そのまま処理を終了する。
【０１０５】
また、上記Ｓ５５０にて、ユーザからのキャンセル指示があったと判定した場合にも（Ｓ５５０：ＹＥＳ）、Ｓ５９０に移行して、プログラム書き換えを中止し、そのまま処理を終了する。
【０１０６】
尚、Ｓ５８５では、成立しなかった条件の内容もユーザへ通知するようにしても良い。また、ホーンやブザーやハザード点滅、ライト点灯／点滅などによって車両状態条件の不成立を通知するようにしても良い。また、Ｓ５５０からＳ５６０へ進む前に、念のため、全条件の確認処理（Ｓ５１０〜５４５）を再度実施するようにしてもよい。
【０１０７】
次に、図１２に示すように、ナビゲーションＥＣＵ１５が車両状態の設定処理を開始すると、まずＳ６０５にて、キー電源管理ＥＣＵ１７及び電源管理ＥＣＵ１９へ指令を与えて、車両コンピュータシステムにおける全てのＥＣＵに電力が供給されるようにし、更に、当該ナビゲーションＥＣＵ１５を除く全てのＥＣＵへ、その各ＥＣＵが現在記憶している故障診断情報であるダイアグコードを送信させる。そして、その各ＥＣＵからのダイアグコードと、自ＥＣＵ１５が現在記憶しているダイアグコードとを、プログラム書き換えを実施する直前のダイアグコードとしてメモリに記憶しておく。
【０１０８】
そして、次のＳ６１０にて、他の全ＥＣＵへ、プログラム書き換えを開始する前の準備通知として、下記の通知を行う。
即ち、他の全ＥＣＵへ、プログラムの書き換えを開始することと、ターゲットマイコンがどのＥＣＵのどのマイコンであるのかを示すターゲット識別情報と、後述するＳ６２０及びＳ６３０の処理によって作動が禁止されることとなる機能、ＥＣＵ及び電気負荷を表す禁止内容情報とを通知する。
【０１０９】
すると、以後、ナビゲーションＥＣＵ１５を含む全てのＥＣＵのマイコンは、それが異常を監視している項目（故障検出項目）のうち、ターゲットマイコンの動作に関わる項目と、上記禁止内容情報の表す機能、ＥＣＵ及び電気負荷に関連する項目とに異常があっても、それを異常として判断しないようになる。つまり、Ｓ６１０での準備通知は、プログラム書き換えを実施することによって正常作動しなくなる項目については、異常と判定しないようにするための指令である。
【０１１０】
次に、ナビゲーションＥＣＵ１５は、Ｓ６１５にて、キー電源管理ＥＣＵ１７及び電源管理ＥＣＵ１９へ指令を与えて、プログラムの書き換えに関連する機器（具体的には、当該ナビゲーションＥＣＵ１５及びターゲットＥＣＵと、ユーザへの通知を行うためのＥＣＵ及びそれの関連機器）への電力供給が継続されるようにする。
【０１１１】
そして、次のＳ６２０にて、キー電源管理ＥＣＵ１７及び電源管理ＥＣＵ１９へ指令を与えて、プログラムの書き換えには関連しない（換言すれば、影響が無い）少なくとも１つ以上の機器への電力供給を遮断させる。
【０１１２】
例えば、ターゲットマイコンがエンジンＥＣＵ１１のマイコンであるとすると、車両挙動ＥＣＵ１２やエアバッグＥＣＵ１３など、上記Ｓ６１５で電力供給を継続するＥＣＵ以外のＥＣＵへは、電力の供給を遮断する。また、電気負荷のうち、特に消費電流が大きくて作動時にバッテリ電圧の変動を招きやすいエンジン冷却用電動ファンやＡＢＳアクチュエータなどへの電力供給を遮断する。
【０１１３】
但し、このＳ６２０において、ドアシステム管理ＥＣＵ２１とセキュリティＥＣＵ２２へは電力が継続して供給されるようにして、ドアシステム管理ＥＣＵ２１によるドアロックの機能と、セキュリティＥＣＵ２２によるセキュリティ機能は、プログラム書き換えの実施中においても正常に作動するようにしている。このため、ターゲットＥＣＵがドアシステム管理ＥＣＵ２１とセキュリティＥＣＵ２２とのどちらでもなければ、その後に開始されるプログラム書き換えの実施中においても、それ以前にユーザが設定していたドアの施解錠状態とセキュリティセット／アンセット状態とが維持されることとなり、プログラム書き換えの実施中に、ユーザの意志に反してドアの施錠やセキュリティセット状態が解除され防犯性が低下してしまうことはない。
【０１１４】
次に、ナビゲーションＥＣＵ１５は、Ｓ６３０にて、作動することにより一時的又は定常的に消費電流が大きくなる機器の作動を禁止させる指令を、その機器を制御するＥＣＵに与える。この指令により、例えば、エンジン始動用のスタータモータを作動させる操作や、ワイヤレスにより各ドアのロックモータ５０〜５４をアンロック側に作動させる操作（つまり、上記携帯機のアンロック用ボタンの操作）や、パワーウィンドウを作動させる操作や、ライトや室内照明を点灯させる操作や、ワイパーを作動させる操作や、ウィンドウウォッシャモータを作動させる操作などが無効になる。更に、このＳ６３０では、キー電源管理ＥＣＵ１７に指令を与えることにより、イグニッションキーシリンダにおけるキーの操作（車両の電源スイッチの操作に相当）を無効にさせる。つまり、イグニッションキーシリンダにおけるキーが操作されて、そのキー操作位置が変化しても、その操作によって本来ならば通電される機器へは電力が供給されないようにする。
【０１１５】
次に、Ｓ６４０にて、上記Ｓ６１５〜Ｓ６３０による状態設定が完了したか否かを判定する。ここでは、上記Ｓ６１５〜Ｓ６３０で指令を与えた全てのＥＣＵから、その指令に従い動作することを示す了解応答があったならば、状態設定が完了したと判定する。
【０１１６】
そして、状態設定が完了したと判定したならば（Ｓ６４０：ＹＥＳ）、Ｓ６５０に進んで、ユーザへ、状態設定が完了したことと、図１０のＳ４１０と同様に、上記Ｓ６２０及びＳ６３０の処理によって制限される機能や操作の内容（特に、どういう操作が無効になるか）とを通知する。その後、Ｓ６６０に進んで、防犯性の確保処理へ移行する。すると、ナビゲーションＥＣＵ１５は、図１３に示す防犯性の確保処理を開始することとなる。
【０１１７】
また、上記Ｓ６４０にて、状態設定が完了しなかったと判定した場合には（Ｓ６４０：ＮＯ）、Ｓ６７０に移行して、状態設定に成功しなかったこと（設定不成功）をユーザに通知し、その後、Ｓ６８０にてプログラム書き換えを中止して、そのまま処理を終了する。
【０１１８】
尚、Ｓ６５０でユーザへの通知を行った後、図１０のＳ４２０や図１１のＳ５５０と同様の判定を行って、ユーザからのキャンセル指示があったならば、プログラム書き換えを中止するようにしても良い。
【０１１９】
次に、図１３に示すように、ナビゲーションＥＣＵ１５が防犯性の確保処理を開始すると、まずＳ７１０にて、ドアシステム管理ＥＣＵ２１及びセキュリティＥＣＵ２２と通信して、そのＥＣＵ２１，２２による防犯機能が有効側に設定されているか否か（即ち、車両の全ドアがロックされているドアロック状態であり、且つ、セキュリティセット状態であるか否か）を判定し、ドアロック状態とセキュリティセット状態との両方でなければ（Ｓ７１０：ＮＯ）、Ｓ７１５に進んで、ユーザへ、ドアロックとセキュリティセットの操作（本実施形態では、ワイヤレス操作によるドアロックであり、詳しくは、携帯機のロック用ボタンの操作によるドアロック）を実施すべきことを指示する通知を行う。
【０１２０】
そして、次のＳ７２０にて、ドアシステム管理ＥＣＵ２１及びセキュリティＥＣＵ２２と通信して、ユーザによるドアロックとセキュリティセットの操作があったか否か（即ち、ドアロック状態で且つセキュリティセット状態になったか否か）を判定し、その操作がなかった場合には（Ｓ７２０：ＮＯ）、Ｓ７２５に進んで、車両の全ドアが閉じているドア閉状態であるか否かを判定する。
【０１２１】
このＳ７２５にてドア閉状態であると判定した場合には（Ｓ７２５：ＹＥＳ）、Ｓ７３０に進んで、今回実施しようとしているプログラム書き換えが防犯関係のＥＣＵに対するプログラム書き換えか否かを判断する。尚、このＳ７３０では、図９のＳ３４０でセンタ３からダウンロードしたプログラムが、ＥＣＵ２１，２２の何れかに搭載されたマイコンで実行されるプログラムであれば、防犯関係のＥＣＵに対するプログラム書き換えであると判断する。
【０１２２】
そして、このＳ７３０にて、防犯関係のＥＣＵに対するプログラム書き換えではないと判断した場合には（Ｓ７３０：ＮＯ）、Ｓ７３５に進んで、ドアシステム管理ＥＣＵ２１及びセキュリティＥＣＵ２２へ指令を与えて、その２つのＥＣＵ２１，２２に搭載されているマイコンを、防犯機能が有効となるように作動させる。つまり、ドアシステム管理ＥＣＵ２１に全ドアをロックさせると共に、セキュリティＥＣＵ２２をセキュリティセット状態に遷移させる。
【０１２３】
そして、その後、Ｓ７４０に進み、プログラム書き換え処理へ移行する。すると、ナビゲーションＥＣＵ１５は、図１４に示すプログラム書き換え処理を開始することとなる。
また、上記Ｓ７３０にて、防犯関係のＥＣＵに対するプログラム書き換えであると判断した場合には（Ｓ７３０：ＹＥＳ）、Ｓ７５０に移行して、再度、図８のＳ２６０と同様に、ユーザが車両に同伴しているか否か（つまり、ユーザが車室内又は車両周辺に居るか否か）を判定する。
【０１２４】
そして、ユーザが車両に同伴していると判定した場合には（Ｓ７５０：ＹＥＳ）、Ｓ７５５に進んで、図８のＳ２４５と同様に、ユーザへ、車両を監視することを促す通知を行い、その後、Ｓ７４０に進んでプログラム書き換え処理へ移行する。
【０１２５】
一方、上記Ｓ７２５にてドア閉状態ではない（何れかのドアが開いている）と判定した場合（Ｓ７２５：ＮＯ）、或いは、上記Ｓ７５０にてユーザが車両に同伴していないと判定した場合（Ｓ７５０：ＮＯ）には、防犯性を確保することができないため、Ｓ７６０に移行して、プログラム書き換えを中止する。そして、次のＳ７６５にて、ユーザへ、プログラム書き換えを中止したことを通知し、その後、処理を終了する。
【０１２６】
また、上記Ｓ７１０にてドアロック状態且つセキュリティセット状態であると判定した場合（Ｓ７１０：ＹＥＳ）、或いは、上記Ｓ７２０にてユーザによるドアロックとセキュリティセットの操作があったと判定した場合（Ｓ７２０：ＹＥＳ）には、そのまま（即ち、ドアロック状態且つセキュリティセット状態を維持したまま）Ｓ７４０に進んで、プログラム書き換え処理へ移行する。
【０１２７】
次に、図１４に示すように、ナビゲーションＥＣＵ１５がプログラム書き換え処理を開始すると、まずＳ８０１にて、ターゲットＥＣＵに指令を与えて、プログラムを書き換える対象のメモリ（即ち、ターゲットマイコンのメモリ）に記憶されているデータのうち、プログラムの書き換え後も継続して保持すべき学習値やカスタマイズ設定値や車両走行距離値などの特定種別データを、他の記憶媒体に退避させる。尚、他の記憶媒体（即ち、上記特定種別データの退避先）としては、ターゲットＥＣＵに備えられている他のメモリに限らず、ターゲットＥＣＵと通信線で接続されている他のＥＣＵに備えられているメモリでも良く、また、センタ３に存在するメモリでも良い。
【０１２８】
そして、次にＳ８０３にて、ターゲットＥＣＵへプログラムの書き換え処理を開始させる指令を与えると共に、そのターゲットＥＣＵへ、センタ３からダウンロードした書き換え対象プログラムを転送する。すると、ターゲットＥＣＵでは、マイコンが、その書き換え対象プログラムを順次受信して、メモリ内のプログラムを、その受信したプログラムに書き換えることとなる。
【０１２９】
そして、ターゲットＥＣＵにてプログラムの書き換え処理が終了したことを、そのターゲットＥＣＵからの通知によって検知すると、Ｓ８０５に進んで、プログラム書き換え完了の確認処理へ移行する。すると、ナビゲーションＥＣＵ１５は、図１５に示すプログラム書き換え完了の確認処理を開始することとなる。
【０１３０】
そして、図１５に示すように、ナビゲーションＥＣＵ１５がプログラム書き換え完了の確認処理を開始すると、まずＳ８１０にて、ターゲットＥＣＵから、書き換えたプログラムのバージョン情報を取得し、そのバージョン情報が、センタ３からダウンロードしたプログラムのバージョン情報と一致しているか否かを確認する。
【０１３１】
次に、Ｓ８２０にて、ターゲットＥＣＵに、図１４のＳ８０１で退避させた特定種別データを、プログラムを書き換えたメモリ（即ち、ターゲットマイコンのメモリ）に再記憶させる。
【０１３２】
そして、次のＳ８３０にて、他の各ＥＣＵに、図１２のＳ６１０〜Ｓ６３０で出した指令の処理を解除する通知を出す。この解除通知により、図１２の処理が実施される前の車両状態に戻ることとなる。
【０１３３】
次に、Ｓ８４０にて、図１２のＳ６０５と同様の手順により、他の各ＥＣＵから、それら各ＥＣＵが現在記憶しているダイアグコードを取得する。そして、続くＳ８５０にて、その取得した各ＥＣＵのダイアグコード（即ち、プログラム書き換え実施後のダイアグコード）と、上記図１２のＳ６０５で記憶しておいた各ＥＣＵのダイアグコード（即ち、プログラム書き換え実施前のダイアグコード）とが一致しているか否かを判定し、両者が一致していれば、そのままＳ８７０に進むが、両者が一致していなければ、Ｓ８６０にて、不一致であった内容を記憶した後、Ｓ８７０に進む。尚、Ｓ８４０及びＳ８５０の処理は、図１２のＳ６１０で各ＥＣＵに出した指令（準備通知）が正常に機能したか否かを確認するためのものである。
【０１３４】
そして、Ｓ８７０では、プログラム書き換えが正常に完了したか否かを判定する。具体的には、ターゲットＥＣＵに指令を与えて、書き換えた後のプログラムを送信させ、そのプログラムと、センタ３からダウンロードしたプログラムとが一致しているか否かを判定し、その両プログラムが一致しており、且つ、上記Ｓ８１０でバージョン情報の一致が確認できていれば、プログラム書き換えが正常に完了したと判断して、Ｓ８８０へ進み、プログラム書き換え完了の通知処理へ移行する。すると、ナビゲーションＥＣＵ１５は、図１６に示すプログラム書き換え完了の通知処理を開始することとなる。
【０１３５】
また、上記Ｓ８７０でプログラム書き換えが正常に完了しなかったと判定した場合には（Ｓ８７０：ＮＯ）、Ｓ８９０に移行して、ユーザへ、プログラム書き換えが正常に完了しなかったこと（プログラム書き換えの不成功）を通知し、その後、処理を終了する。
【０１３６】
尚、Ｓ８７０でプログラム書き換えが正常に完了しなかったと判定した場合、所定回数を限度に、図１１の処理から再度実施するようにしても良い。また、プログラム書き換えが正常に完了したと判定した時点で、バッテリ電圧をチェックして、バッテリ７５が弱っていると判定した場合には、スタータモータを駆動してエンジンを始動させ、アイドリングによるバッテリ７５の充電を図ると共に、そのことをユーザに通知するようにしても良い。
【０１３７】
次に、図１６に示すように、ナビゲーションＥＣＵ１５がプログラム書き換え完了の通知処理を開始すると、まずＳ９１０にて、プログラム書き換えが正常に完了したことをユーザに通知する。尚、このとき、図１２のＳ６５０で通知していた制限内容が解除されたことも通知するようにしても良い。また、プログラム書き換えが正常完了したことは、ホーンやブザーやハザード点滅、ライト点灯／点滅など、ユーザが車両の近くで確認できる手段によって通知するようにしても良い。
【０１３８】
そして、続くＳ９２０にて、ユーザが次に乗車した際に、プログラム書き換えが正常に完了したことが、ディスプレイ３１に表示されたり、発音装置から音声で出力されるように、関連するＥＣＵへ指令を与えておく。
【０１３９】
最後に、Ｓ９３０にて、今回プログラム書き換えが行われたマイコンがどのマイコンであるかと、そのマイコンについてのプログラム書き換え回数とを記憶すると共に、その記憶した内容をセンタ３にも通知し、その後、処理を終了する。
【０１４０】
尚、本実施形態では、センタ３がプログラム供給手段に相当し、図８のＳ２６０と図１３のＳ７５０との各処理が監視有無判定手段に相当し、図８のＳ２７０と図１３のＳ７６０との各処理が書換実施禁止手段に相当している。そして、図８のＳ２４５と図１３のＳ７５５との各処理が監視催促通知手段に相当し、図１３のＳ７３５の処理が防犯機能有効化手段に相当している。また、図１２のＳ６１５〜Ｓ６３０の処理が状態設定手段に相当し、図１１のＳ５１０〜Ｓ５４５及びＳ５７０〜Ｓ５８０の処理が状態判定手段に相当している。
【０１４１】
以上のような本実施形態のプログラム書き換えシステムでは、防犯関係のＥＣＵ２１，２２に対するプログラム書き換えを実施しようとする場合に、図８のＳ２６０と図１３のＳ７５０との各処理により、車両がユーザに監視されているか否か（ユーザが車両に同伴しているか否か）を判定し、車両がユーザに監視されていないと判定した場合（Ｓ２６０：ＮＯ又はＳ７５０：ＮＯ）には、プログラム書き換えを中止して（Ｓ２７０又はＳ７６０）、その防犯関係のＥＣＵ２１，２２でプログラムの書き換え処理が実施されるのを禁止するようにしている。
【０１４２】
このため、ユーザが車両を監視していない状況において、防犯関係のＥＣＵ２１，２２でプログラムを書き換える処理が実施され、そのプログラムにより実現される防犯機能（ドアロック機能とセキュリティ機能）が無効となって防犯性が低下してしまうことを回避することができる。よって、本実施形態のプログラム書き換えシステムによれば、車両の防犯性を確保しつつプログラムの書き換えを実施することができる。
【０１４３】
更に、本実施形態のプログラム書き換えシステムでは、防犯関係のＥＣＵ２１，２２に対するプログラム書き換えを実施しようとする場合には、図８のＳ２４５と図１３のＳ７５５との各処理により、ユーザに対して車両を監視することを促す通知を行うようになっている。このため、防犯関係のＥＣＵ２１，２２でプログラムを書き換える処理が実施されて、そのプログラムにより実現される防犯機能が無効となる場合に、ユーザが車両から離れてしまうことを防止することができる。
【０１４４】
また、本実施形態のプログラム書き換えシステムでは、防犯関係のＥＣＵ２１，２２以外のＥＣＵに対するプログラム書き換えを実施する場合には、図１３のＳ７３５の処理により、ユーザの操作が無くても、ＥＣＵ２１に全ドアをロックさせると共に、ＥＣＵ２２をセキュリティセット状態に遷移させる。このため、防犯関係のＥＣＵ２１，２２以外のＥＣＵに関するプログラム書き換えの実施中における防犯性も確保することができる。
【０１４５】
そして更に、本実施形態のプログラム書き換えシステムによれば、車両コンピュータシステム１は、プログラムの書き換えを実施する前に、図１２のＳ６１５〜Ｓ６３０の処理により、車両の状態をプログラムの書き換えを実施するのに適した状態へと自動的に設定し、その設定の完了後に、プログラムの書き換えを実施するようになっている。そして、その設定により、プログラム書き換えの実施中において、もしプログラム書き換えに関係のない操作が行われても、その操作によって本来ならば通電される機器へは電力が供給されなくなるため、バッテリ電圧（延いては、ターゲットＥＣＵ又はターゲットマイコンに供給される電源電圧）が変動してしまうことを防止することができる。このため、人によるヒューズ抜きや確認の作業に頼ることなく、信頼性の高いプログラム書き換えを実現することができ、延いては、プログラム書き換えの失敗によるコンピュータの機能不良及びＥＣＵ交換を回避することができ、コスト増加や廃棄物増加を防止することができる。
【０１４６】
特に、本実施形態のプログラム書き換えシステムは、車両コンピュータシステム１がプログラム供給先のセンタ３と無線で通信する無線通信タイプの書き換えシステムであるため、工場やディーラなどの作業者がいない環境でも、車両コンピュータシステム１の信頼性の高いプログラム書き換えを実現可能なことが要求されるが、その要求を満たすことができる。
【０１４７】
また、本実施形態のプログラム書き換えシステムでは、前述したように、ドアシステム管理ＥＣＵ２１によるドアロックの機能と、セキュリティＥＣＵ２２によるセキュリティ機能については、プログラム書き換えの実施中においても正常に作動するようにしているため、ユーザが不在の状況でも防犯性が低下してしまうことはない。
【０１４８】
また、本実施形態のプログラム書き換えシステムでは、図１０のＳ４１０と図１２のＳ６５０の処理により、ユーザへ、図１２のＳ６２０及びＳ６３０の処理によって制限される機能や操作の内容を通知するようにしているため、ユーザが、機能不良故障が発生したと勘違いしてしまうことを防止することができる。
【０１４９】
そして更に、本実施形態のプログラム書き換えシステムでは、図１１のＳ５１０〜Ｓ５４５及びＳ５７０〜Ｓ５８０の処理により、車両の状態がプログラムの書き換えを実施するのに不適切な状態であるか否かが自動的に判定され、不適切な状態であると判定されると、プログラム書き換えを中止するようになっているため、信頼性の高いプログラム書き換えを、人による確認作業に頼ることなく一層確実に実現することができる。尚、図１１の確認処理では、例えば、キー操作位置が変化したか否かも判定して、キー操作位置が変化したと判定した場合にも、Ｓ５８５へ移行するようにしても良い。
【０１５０】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１５１】
例えば、上記実施形態のプログラム書き換えシステムでは、車両に搭載されたＥＣＵのうちのナビゲーションＥＣＵ１５が、プログラム書き換え統括機能を有する装置となっていたが、センタ３がプログラム書き換え統括機能を有する装置として機能するように構成しても良い。つまり、センタ３も、通信端末７及びナビゲーションＥＣＵ１５と通信線３３〜３７を介して車両の各ＥＣＵと通信可能であるため、各ＥＣＵから情報を収集して前述した各種判定を行うと共に、各ＥＣＵへ前述した各種指令を出すようにすれば良い。
【０１５２】
また例えば、セキュリティ機能が無く、防犯関係のＥＣＵがドアシステム管理ＥＣＵ２１だけの場合にも、上記実施形態と同様に構成することができる。また逆に、アクチュエータ（ロックモータ）によるドアロック機能が無く、防犯関係のＥＣＵがセキュリティＥＣＵ２２だけの構成は、一般的ではないが、そのような構成の場合でも、上記実施形態と同様に構成すれば良い。
【０１５３】
一方、前述した図７の書き換え制御動作を実現するためのプログラムや判定基準値は、車両コンピュータシステム１に予め備えられていても良いし、車両外部（センタ３）から車両コンピュータシステム１にダウンロードされるようにしても良い。
【０１５４】
また、上記実施形態のプログラム書き換えシステムにおいて、車両側でプログラム書き換えが実施されているときに、セキュリティＥＣＵ２２が車両への不正行為を検知して音響警報機器６４などによる警告動作を実施した場合には、何れかのＥＣＵ（例えばプログラム書き換え統括機能を有するＥＣＵ又はターゲットＥＣＵ）が、プログラム書き換えの処理を継続可能な状況か否かをバッテリ電圧などに基づき判定して、継続可能な状況ではないと判定した場合には、プログラム書き換えの処理を一時的に中断させるようにし、更にその後、例えば一定時間以内にプログラム書き換えの処理を実施可能な状況に戻ったと判定できたならば、プログラム書き換えの処理を継続させ、それ以外の場合には、そのままプログラム書き換えを中止するように構成しても良い。
【図面の簡単な説明】
【０１５５】
【図１】実施形態のプログラム書き換えシステムを表す構成図である。
【図２】ドアシステム管理ＥＣＵを説明する説明図である。
【図３】セキュリティＥＣＵを説明する説明図である。
【図４】エアコンＥＣＵを説明する説明図である。
【図５】キー電源管理ＥＣＵを説明する説明図である。
【図６】電源管理ＥＣＵを説明する説明図である。
【図７】ナビゲーションＥＣＵ（プログラム書き換え統括機能を有する装置）で実施される書き換え制御動作の流れ全体を表すフローチャートである。
【図８】プログラム書き換えの開始判定処理の内容を表すフローチャートである。
【図９】プログラムのダウンロード処理の内容を表すフローチャートである。
【図１０】プログラム書き換えモードへの移行処理の内容を表すフローチャートである。
【図１１】車両状態の確認処理の内容を表すフローチャートである。
【図１２】車両状態の設定処理の内容を表すフローチャートである。
【図１３】防犯性の確保処理の内容を表すフローチャートである。
【図１４】プログラム書き換え処理の内容を表すフローチャートである。
【図１５】プログラム書き換え完了の確認処理の内容を表すフローチャートである。
【図１６】プログラム書き換え完了の通知処理の内容を表すフローチャートである。
【符号の説明】
【０１５６】
１…車両コンピュータシステム、３…センタ、５…通信網、７…通信端末、１１…エンジンＥＣＵ、１２…車両挙動ＥＣＵ、１３…エアバッグＥＣＵ、１４…クルーズＥＣＵ、１５…ナビゲーションＥＣＵ、１６…メータＥＣＵ、１７…キー電源管理ＥＣＵ、１８…ライトシステム管理ＥＣＵ、１９…電源管理ＥＣＵ、２０…エアコンＥＣＵ、２１…ドアシステム管理ＥＣＵ、２２…セキュリティＥＣＵ、２３…ディスプレイＥＣＵ、２４…音声案内ＥＣＵ、２５…ブラウザＥＣＵ、２６…オーディオＥＣＵ、３１…ディスプレイ、３３〜３７…通信線、４１…通信部、４２…制御部、４３…運転席カーテシスイッチ、４４…助手席カーテシスイッチ、４５…右後席カーテシスイッチ、４６…左後席カーテシスイッチ、４７…ラゲッジカーテシスイッチ、４８…通信機、５０…運転席ドアロックモータ、５１…助手席ドアロックモータ、５２…右後席ドアロックモータ、５３…左後席ドアロックモータ、５４…ラゲッジロックモータ、６０…侵入センサ、６１…傾斜センサ、６２…振動センサ、６４…音響警報機器、６５…セキュリティインジケータ、６７…外気温センサ、６８…内気温センサ、７０…キーポジションスイッチ、７１〜７４，Ｌ１〜Ｌｎ…電源ライン、７５…バッテリ、７６〜７９，ＳＲ１〜ＳＲｎ…スイッチング装置、８６…電流センサ、８７…温度センサ
【図１】
2006082648.tif 000003
【図２】
2006082648.tif 000004
【図３】
2006082648.tif 000005
【図４】
2006082648.tif 000006
【図５】
2006082648.tif 000007
【図６】
2006082648.tif 000008
【図７】
2006082648.tif 000009
【図８】
2006082648.tif 000010
【図９】
2006082648.tif 000011
【図１０】
2006082648.tif 000012
【図１１】
2006082648.tif 000013
【図１２】
2006082648.tif 000014
【図１３】
2006082648.tif 000015
【図１４】
2006082648.tif 000016
【図１５】
2006082648.tif 000017
【図１６】
2006082648.tif 000018