(57)【特許請求の範囲】
【請求項１】
プログラムが格納され、前記プログラムの書換えが可能な記憶装置が搭載された電子制御装置と、
前記プログラムの書換えを行う書換え装置と、
前記プログラムの書換えに関するユーザへの操作の指示を表示する表示装置と、
車両の駆動源、前記電子制御装置及び前記表示装置の電源のオンオフを切り換えるイグニションスイッチと
を有する車両用プログラム書換えシステムであって、
前記書換え装置は、
前記プログラムの書換えを行う際、前記イグニションスイッチが前記表示装置の電源をオフにする位置にあっても電源オンを継続することを求める電源オン継続要求信号を前記表示装置に出力し、
前記プログラムの書換えの開始前に、前記電子制御装置を電源オフさせるための前記イグニションスイッチの第１操作の指示を前記表示装置に表示させ、
その後、前記ユーザによる前記第１操作に連動して前記電子制御装置が電源オフにされたことを検出すると、前記電子制御装置を再度電源オンさせるための前記イグニションスイッチの第２操作の指示を前記表示装置に表示させ、
前記ユーザによる前記第２操作がされてから、前記プログラムの書換えを行い、
さらに、前記書換え装置は、
前記第１操作の指示を前記表示装置に表示させた後、
前記イグニションスイッチの位置がオフであることを検出することにより、前記電子制御装置が電源オフされたと判断する
ことを特徴とする車両用プログラム書換えシステム。
【請求項２】
プログラムが格納され、前記プログラムの書換えが可能な記憶装置が搭載された電子制御装置と、
前記プログラムの書換えを行う書換え装置と、
前記プログラムの書換えに関するユーザへの操作の指示を表示する表示装置と、
車両の駆動源、前記電子制御装置及び前記表示装置の電源のオンオフを切り換えるイグニションスイッチと
を有する車両用プログラム書換えシステムであって、
前記書換え装置は、
前記プログラムの書換えを行う際、前記イグニションスイッチが前記表示装置の電源をオフにする位置にあっても電源オンを継続することを求める電源オン継続要求信号を前記表示装置に出力し、
前記プログラムの書換えの開始前に、前記電子制御装置を電源オフさせるための前記イグニションスイッチの第１操作の指示を前記表示装置に表示させ、
その後、前記ユーザによる前記第１操作に連動して前記電子制御装置が電源オフにされたことを検出すると、前記電子制御装置を再度電源オンさせるための前記イグニションスイッチの第２操作の指示を前記表示装置に表示させ、
前記ユーザによる前記第２操作がされてから、前記プログラムの書換えを行い、
さらに、前記書換え装置は、
前記第１操作の指示を前記表示装置に表示させた後、
前記イグニションスイッチの位置がオフであることを検出してから所定時間後に、前記電子制御装置が電源オフされたと判断する
ことを特徴とする車両用プログラム書換えシステム。
【請求項３】
プログラムが格納され、前記プログラムの書換えが可能な記憶装置が搭載された電子制御装置と、
前記プログラムの書換えを行う書換え装置と、
前記プログラムの書換えに関するユーザへの操作の指示を表示する表示装置と、
車両の駆動源、前記電子制御装置及び前記表示装置の電源のオンオフを切り換えるイグニションスイッチと
を有する車両用プログラム書換えシステムであって、
前記書換え装置は、
前記プログラムの書換えを行う際、前記イグニションスイッチが前記表示装置の電源をオフにする位置にあっても電源オンを継続することを求める電源オン継続要求信号を前記表示装置に出力し、
前記プログラムの書換えの開始前に、前記電子制御装置を電源オフさせるための前記イグニションスイッチの第１操作の指示を前記表示装置に表示させ、
その後、前記ユーザによる前記第１操作に連動して前記電子制御装置が電源オフにされたことを検出すると、前記電子制御装置を再度電源オンさせるための前記イグニションスイッチの第２操作の指示を前記表示装置に表示させ、
前記ユーザによる前記第２操作がされてから、前記プログラムの書換えを行い、
さらに、前記書換え装置は、
前記第１操作の指示を前記表示装置に表示させた後、
前記イグニションスイッチの位置がオフであることを検出すると前記電子制御装置に対して応答要求を送信し、
前記応答要求に対する前記電子制御装置からの応答が無いことを検出することにより、前記電子制御装置が電源オフされたことを検出する
ことを特徴とする車両用プログラム書換えシステム。
【請求項４】
プログラムが格納され、前記プログラムの書換えが可能な記憶装置が搭載された電子制御装置と、
前記プログラムの書換えを行う書換え装置と、
前記プログラムの書換えに関するユーザへの操作の指示を表示する表示装置と、
車両の駆動源、前記電子制御装置及び前記表示装置の電源のオンオフを切り換えるイグニションスイッチと
を有する車両用プログラム書換えシステムであって、
前記書換え装置は、
前記プログラムの書換えを行う際、前記イグニションスイッチが前記表示装置の電源をオフにする位置にあっても電源オンを継続することを求める電源オン継続要求信号を前記表示装置に出力し、
前記プログラムの書換えの開始前に、前記電子制御装置を電源オフさせるための前記イグニションスイッチの第１操作の指示を前記表示装置に表示させ、
その後、前記ユーザによる前記第１操作に連動して前記電子制御装置が電源オフにされたことを検出すると、前記電子制御装置を再度電源オンさせるための前記イグニションスイッチの第２操作の指示を前記表示装置に表示させ、
前記ユーザによる前記第２操作がされてから、前記プログラムの書換えを行い、
さらに、前記書換え装置は、
前記第１操作の指示を前記表示装置に表示させた後、前記電子制御装置に対して応答要求を送信し、
前記応答要求に対する前記電子制御装置からの応答が無いことを検出することにより、前記電子制御装置が電源オフされたことを検出する
ことを特徴とする車両用プログラム書換えシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子制御装置のプログラムの書換えが可能な車両用プログラム書換えシステムに関する。
【背景技術】
【０００２】
コンピュータ技術の発展に伴い、車両の電子化が進んでいる。電子化された車両では、複数の電子制御装置（ＥＣＵ）が用いられることが一般的である。ＥＣＵで用いられるプログラムは、バージョンアップ等に伴って書き換えられることがある（特許文献１参照）。
【０００３】
特許文献１では、書換え用（更新用）のプログラムが存在し、車両が所定の場所に停車している場合に、乗員から所定の入力操作があると、ナビゲーションコントローラ（３２）は、イグニションキーを抜かずにオン状態としたまま降車するよう乗員に要求する。そして、乗員が降車すると、ナビゲーションコントローラは、ドアをロックしてプログラムの書換えを行う。これにより、プログラムの書換え中にイグニションキーがオフ状態とされることを回避することが企図されている（同文献の要約、段落［００２３］〜［００２９］参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１４３０４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、特許文献１では、プログラムの書換えの条件として、（ｉ）車両が所定の場所に停車していること、（ｉｉ）乗員から所定の入力操作がされたこと、（ｉｉｉ）イグニションキーを抜かずにオン状態とされていること、及び（ｉｖ）乗員が降車したことを必要としている。
【０００６】
上記条件（ｉ）における「停車」の判断は、現在位置と所定の場所（登録地）の位置情報とを照らし合わせることで行われる（同文献の段落［００２３］、［００２４］参照）。また、所定の場所に停車していない場合として、車両が走行中である場合や、所定の場所とは異なる場所に停車中である場合が挙げられている（同文献の段落［００２５］）。このため、同文献において「停車」とは「車速がゼロになったこと」を意味するものと解される。そうすると、同文献では、乗員は、エンジンを停止することなく降車することとなってしまう。また、プログラムの書換え対象となるＥＣＵがエンジンの制御に関するものである場合、エンジンの動作中に書換えを行うことになってしまい、動作異常を招くおそれがある。
【０００７】
なお、エンジンを搭載した車両（ガソリン車、ハイブリッド車等）においては、エンジンの停止及びＥＣＵのオンオフは、イグニションスイッチ（ＩＧＳＷ）により制御されることが通常である。
【０００８】
例えば、ＩＧＳＷがシリンダキーから構成される場合、ＩＧＳＷの位置を「オン」から「アクセサリ」に切り換えることにより、エンジンを停止させる。また、イグニションスイッチの位置を「オフ」から「アクセサリ」に、又は「アクセサリ」から「オン」に切り換えることにより、ＥＣＵをオンさせる。反対に、イグニションスイッチの位置を「オン」から「アクセサリ」に、又は「アクセサリ」から「オフ」に切り換えることにより、ＥＣＵをオフにさせる。
【０００９】
また、無線式電子キーを用いるいわゆるスマートエントリシステム及びスマートスタートシステムを備える車両の場合、ＩＧＳＷは、例えば、プッシュ式ボタンにより構成され、同ボタンの押圧動作を繰り返すことにより、「アクセサリ」、「オン」及び「オフ」を順番に切り換える（「アクセサリ」→「オン」→「オフ」→「アクセサリ」→「オン」→「オフ」→．．．）。この場合も、ＩＧＳＷがシリンダキーから構成される場合と同様に、エンジンの停止及びＥＣＵのオンオフを制御する。
【００１０】
特許文献１では、ＩＧＳＷがシリンダキーから構成される場合について記載されている（同文献の段落［００２７］）。仮に、プログラムの書換えのためにエンジンを停止させ、ＥＣＵをオフにする際、ＩＧＳＷの位置を「オフ」にすることをユーザに要求する場合、ＩＧＳＷの位置を「オフ」にすると、プログラムの書換えを行うナビゲーションコントローラまでオフになってしまう。しかし、特許文献１には、この点をどのように取り扱うかについて何ら開示又は示唆がない。
【００１１】
なお、上記のことは、駆動源としてエンジンを搭載した車両に限らず、その他の車両｛例えば、エンジンを搭載しない電気自動車（燃料電池車を含む。）｝にも該当する。
【００１２】
この発明は、このような問題を考慮してなされたものであり、ＥＣＵのプログラムの書換えをより好適に行うことが可能な車両用プログラム書換えシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係る車両用プログラム書換えシステムは、プログラムが格納され、前記プログラムの書換えが可能な記憶装置が搭載された電子制御装置と、前記プログラムの書換えを行う書換え装置と、前記プログラムの書換えに関するユーザへの操作の指示を表示する表示装置と、車両の駆動源、前記電子制御装置及び前記表示装置の電源のオンオフを切り換えるイグニションスイッチとを有するものであって、前記書換え装置は、前記プログラムの書換えを行う際、前記イグニションスイッチが前記表示装置の電源をオフにする位置にあっても電源オンを継続することを求める電源オン継続要求信号を前記表示装置に出力し、前記プログラムの書換えの開始前に、前記電子制御装置を電源オフさせるための前記イグニションスイッチの第１操作の指示を前記表示装置に表示させ、その後、前記ユーザによる前記第１操作に連動して前記電子制御装置が電源オフにされたことを検出すると、前記電子制御装置を再度電源オンさせるための前記イグニションスイッチの第２操作の指示を前記表示装置に表示させ、前記ユーザによる前記第２操作がされてから、前記プログラムの書換えを行うことを特徴とする。
【００１４】
この発明によれば、プログラムの書換えのためには、イグニションスイッチ（ＩＧＳＷ）の第１操作により電子制御装置（ＥＣＵ）を電源オフにした後、ＩＧＳＷの第２操作によりＥＣＵを再度電源オンさせる。このため、プログラムの書換え前に、ＥＣＵを一旦電源オフにすることができる。また、一般に、ＩＧＳＷの操作によりＥＣＵを電源オフさせた場合、車両の駆動源も合わせてオフにされる。このため、プログラムの書換え前に、駆動源を確実にオフにすることができる。従って、駆動源やＥＣＵがオンになったままでプログラムの書換えが行われることを回避することが可能となり、当該書換えを好適に行うことが可能となる。
【００１５】
また、仮に、第１操作の指示と第２操作の指示を一緒に表示した場合、ユーザによる第１操作から第２操作への切替えが素早すぎてＥＣＵが第１操作を検出することができず、ＥＣＵが電源オフされないおそれがある。これに対し、本発明によれば、第２操作の指示は、第１操作が行われた後に表示される。このため、ＥＣＵは第１操作を確実に検出することが可能となり、ＥＣＵを確実に電源オフすることが可能となる。よって、ＥＣＵによる処理が継続されたままの状態においてプログラムの書換えが行われることを防止することが可能となる。この点からも、プログラムの書換えを好適に行うことができる。
【００１６】
前記書換え装置は、前記第１操作の指示を前記表示装置に表示させた後、前記イグニションスイッチの位置がオフであることを検出することにより、前記電子制御装置が電源オフされたと判断してもよい。これにより、電子制御装置が電源オフにされたことを簡易且つ確実に検出することが可能となる。
【００１７】
或いは、前記書換え装置は、前記第１操作の指示を前記表示装置に表示させた後、前記イグニションスイッチの位置がオフであることを検出してから所定時間後に、前記電子制御装置が電源オフされたと判断してもよい。これにより、電子制御装置が電源オフにされたことを簡易且つ確実に検出することが可能となる。
【００１８】
或いは、前記書換え装置は、前記第１操作の指示を前記表示装置に表示させた後、前記イグニションスイッチの位置がオフであることを検出すると前記電子制御装置に対して応答要求を送信し、前記応答要求に対する前記電子制御装置からの応答が無いことを検出することにより、前記電子制御装置が電源オフされたことを検出してもよい。これにより、電子制御装置が電源オフにされたことを確実に検出することが可能となる。
【００１９】
或いは、前記書換え装置は、前記第１操作の指示を前記表示装置に表示させた後、前記電子制御装置に対して応答要求を送信し、前記応答要求に対する前記電子制御装置からの応答が無いことを検出することにより、前記電子制御装置が電源オフされたことを検出してもよい。これにより、電子制御装置が電源オフにされたことを確実に検出することが可能となる。
【発明の効果】
【００２０】
この発明によれば、プログラムの書換えのためには、イグニションスイッチ（ＩＧＳＷ）の第１操作により電子制御装置（ＥＣＵ）を電源オフにした後、ＩＧＳＷの第２操作によりＥＣＵを再度電源オンさせる。このため、プログラムの書換え前に、ＥＣＵを一旦電源オフにすることができる。また、一般に、ＩＧＳＷの操作によりＥＣＵを電源オフさせた場合、車両の駆動源も合わせてオフにされる。このため、プログラムの書換え前に、駆動源を確実にオフにすることができる。従って、駆動源やＥＣＵがオンになったままでプログラムの書換えが行われることを回避することが可能となり、当該書換えを好適に行うことが可能となる。
【図面の簡単な説明】
【００２１】
【図１】この発明の一実施形態に係る車両用プログラム書換えシステムの概略的な構成図である。
【図２】車両における電力の供給及び信号の入出力の様子を説明する図である。
【図３】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）で電子制御装置（ＥＣＵ）のプログラムを書き換える際の処理の概要を示すフローチャートである。
【図４】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第１フローチャートである。
【図５】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第２フローチャートである。
【図６】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第３フローチャートである。
【図７】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第４フローチャートである。
【図８】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第５フローチャートである。
【図９】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第６フローチャートである。
【図１０】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第７フローチャートである。
【図１１】ＣＤ−ＲＯＭを介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第８フローチャートである。
【図１２】図８〜図９のフローチャートの一部に対応した表示部の画面の移り変わりの一例を示す画面遷移図である。
【図１３】プログラムの書換え中にＩＧＳＷの位置がオフにされた場合の処理の第１フローチャートである。
【図１４】プログラムの書換え中にＩＧＳＷの位置がオフにされた場合の処理の第２フローチャートである。
【図１５】プログラムの書換え中にＩＧＳＷの位置がオフにされた場合の処理の第３フローチャートである。
【図１６】図１３のフローチャートの一部に対応した表示部の画面の移り変わりの一例を示す画面遷移図である。
【図１７】プログラムの書換え中にＩＧＳＷの位置がオフにされ、車両内にユーザ（乗員）がいなくなった後、ユーザが再乗車してきた場合の処理の第１フローチャートである。
【図１８】プログラムの書換え中にＩＧＳＷの位置がオフにされ、車両内にユーザ（乗員）がいなくなった後、ユーザが再乗車してきた場合の処理の第２フローチャートである。
【図１９】プログラムの書換え中にＩＧＳＷの位置がオフにされ、車両内にユーザ（乗員）がいなくなった後、ユーザが再乗車してきた場合の処理の第３フローチャートである。
【図２０】図１７〜図１９のフローチャートの一部に対応した表示部の画面の移り変わりの一例を示す画面遷移図である。
【図２１】衛星放送網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の概要を示すフローチャートである。
【図２２】衛星放送網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第１フローチャートである。
【図２３】衛星放送網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第２フローチャートである。
【図２４】衛星放送網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示す第３フローチャートである。
【図２５】移動通信網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の概要を示すフローチャートである。
【図２６】移動通信網を介して伝達された書換えデータ（プログラム）でＥＣＵのプログラムを書き換える際の処理の詳細を示すフローチャートである。
【図２７】ＩＧＳＷの出力信号とＥＣＵの認識との関係を示す図である。
【図２８】バッテリの内部抵抗及び電流の閾値を用いてプログラムの書換えの可否を判定するフローチャートである。
【発明を実施するための形態】
【００２２】
［Ａ．一実施形態］
１．全体及び各部の構成
（１）全体構成
図１は、この発明の一実施形態に係る車両用プログラム書換えシステム１０（以下「書換えシステム１０」又は「システム１０」という。）の概略的な構成図である。書換えシステム１０は、データ伝達システム１２と、管理サーバ１４（以下「サーバ１４」という。）と、複数の車両１６とを有する。
【００２３】
システム１０では、各車両１６の電子制御装置５６ａ〜５６ｄ（以下「ＥＣＵ５６ａ〜５６ｄ」という。）に記憶されたプログラムを書き換える（更新する）際に使用する書換えデータ（プログラム）は、データ伝達システム１２を介して管理サーバ１４から各車両１６に伝達する。なお、以下では、ＥＣＵ５６ａ〜５６ｄをＥＣＵ５６と総称する。
【００２４】
（２）データ伝達システム１２
データ伝達システム１２は、読取り専用のコンパクト・ディスク２２（以下「ＣＤ−ＲＯＭ２２」という。）と、衛星放送網２４と、移動通信網２６とを有する。
【００２５】
ＣＤ−ＲＯＭ２２は、書換えデータ（プログラム）を記憶している。ＣＤ−ＲＯＭ２２は、輸送業者（郵便、宅配便）による輸送手段（トラック、貨物列車など）を介して車両１６のメーカから各ユーザに送付される。
【００２６】
衛星放送網２４は、放送衛星２８を用いた衛星放送により書換えデータ（プログラム）を配信することができる。ここでの衛星放送としては、例えば、移動体向けの衛星デジタル音声放送（北米におけるシリウスＸＭラジオ等）を用いることができる。
【００２７】
移動通信網２６は、携帯電話８６を用いた通信を可能とする通信網である。移動通信網２６は、携帯電話８６との間の通信により書換えデータ（プログラム）を車両１６に送信することができる。
【００２８】
本実施形態では、ＣＤ−ＲＯＭ２２、衛星放送網２４又は移動通信網２６を用いて、書換えデータ（プログラム）を各車両１６に伝達することができる。
【００２９】
（３）管理サーバ１４
管理サーバ１４は、通信装置３２と、入力装置３４と、モニタ３６と、演算装置３８と、記憶装置４０と、書換えプログラムデータベース４２（以下「書換えプログラムＤＢ４２」又は「プログラムＤＢ４２」という。）とを有する。管理サーバ１４の管理者又はこれに準ずる者（以下「管理者等」という。）は、書換えデータ（プログラム）を作成すると、入力装置３４を介して当該書換えデータ（プログラム）をプログラムＤＢ４２に記憶する。
【００３０】
そして、衛星放送網２４を用いて書換えデータ（プログラム）を配信する場合、管理者等は、放送衛星２８等を介して書換えデータ（プログラム）を配信する。
【００３１】
移動通信網２６を用いて書換えデータ（プログラム）を送信する場合、管理者等は、サーバ１４において、新たな書換えデータ（プログラム）をアップロードする。そして、車両１６に設置された携帯電話８６から書換えデータ（プログラム）の送信要求があった場合、サーバ１４は、通信装置３２及び移動通信網２６を介して書換えデータ（プログラム）を携帯電話８６に送信する。
【００３２】
ＣＤ−ＲＯＭ２２を用いて書換えデータ（プログラム）を伝達する場合、管理者等は、ＣＤ−ＲＯＭ２２に書換えデータ（プログラム）を記憶し、輸送業者を介してＣＤ−ＲＯＭ２２を各ユーザに送付する。このため、厳密には、ＣＤ−ＲＯＭ２２は、管理サーバ１４から送付されない場合があるが、以下では、ＣＤ−ＲＯＭ２２が管理サーバ１４から送付されない場合を、ＣＤ−ＲＯＭ２２が管理サーバ１４から送付される場合を含めて説明する。
【００３３】
（４）車両１６
（ａ）車両１６の構成
各車両１６は、受信装置５２と、プログラム書換え装置５４（以下「書換え装置５４」という。）と、複数のＥＣＵ５６と、バッテリ５８と、バッテリセンサ６０と、オルタネータ６２と、イグニションスイッチ６４（以下「ＩＧＳＷ６４」という。）と、ドアロック／乗員検知ユニット６６（以下「検知ユニット６６」という。）とを備える。本実施形態における車両１６は、ガソリン車であるが、これに限らず、例えば、ディーゼル車又は電気自動車（燃料電池車及びハイブリッド車を含む。）であってもよい。
【００３４】
車両１６では、データ伝達システム１２を介して管理サーバ１４から伝達される書換えデータ（プログラム）を受信装置５２で受信する。そして、受信装置５２が受信した書換えデータ（プログラム）は、書換え装置５４により、対象となるＥＣＵ５６に書き込まれる。
【００３５】
なお、図１では、右側の車両１６のみ内部構成を示し、その他の車両１６については内部構成の記載を省略している。
【００３６】
（ｂ）受信装置５２
受信装置５２は、データ受信部７２と、表示部７４と、入力部７６と、演算部７８と、記憶部８０とを有する。
【００３７】
データ受信部７２は、無線アンテナ８２と、モデム８４と、携帯電話８６と、携帯電話８６用のコネクタ８８と、ＣＤ−ＲＯＭドライブ９０（以下「ドライブ９０」という。）とを有する。
【００３８】
衛星放送網２４を介して書換えデータ（プログラム）が配信される場合、受信装置５２は、無線アンテナ８２とモデム８４とを用いて書換えデータ（プログラム）を受信する。移動通信網２６を介して書換えデータ（プログラム）が送信される場合、受信装置５２は、携帯電話８６を用いて書換えデータ（プログラム）を受信する。ＣＤ−ＲＯＭ２２を介して書換えデータ（プログラム）が伝達される場合、ＣＤ−ＲＯＭ２２をドライブ９０に挿入し、ＣＤ−ＲＯＭ２２から書換えデータ（プログラム）を読み出すことにより、受信装置５２は、プログラムを受信する。なお、携帯電話８６は、ユーザが日頃持ち歩いているものを、車両１６の走行時にコネクタ８８に接続して用いる。或いは、携帯電話８６は、車両１６専用に用いるものとし、常時コネクタ８８に接続しておいてもよい。
【００３９】
表示部７４は、ユーザに対する種々の表示を行う。入力部７６は、ユーザの操作に応じた入力を受け付ける。本実施形態では、表示部７４及び入力部７６を、例えば、タッチパネルにより構成することができる。
【００４０】
演算部７８は、受信装置５２の各部を制御する。記憶部８０は、図示しない揮発性メモリ及び不揮発性メモリを有し、受信装置５２用の制御プログラムを記憶すると共に、ＥＣＵ５６のプログラムを書き換えるための書換えデータ（プログラム）を記憶する。
【００４１】
なお、受信装置５２には、ナビゲーション装置としての機能を持たせることができる。換言すると、従前のナビゲーション装置に、本実施形態における受信装置５２の機能を持たせてもよい。
【００４２】
（ｃ）書換え装置５４
書換え装置５４は、各ＥＣＵ５６においてプログラムの書換えを行うものであり、入出力部９２と、演算部９４と、記憶部９６とを有する。書換え装置５４の機能及び動作の詳細は後述する。
【００４３】
（ｄ）各ＥＣＵ５６
ＥＣＵ５６は、車両１６の各部を制御するものであり、ＥＣＵ５６には、例えば、図示しないエンジンの出力を制御するエンジン電子制御装置５６ａ（以下「ＥＮＧ  ＥＣＵ５６ａ」という。）と、図示しないブレーキシステムの制御を行うアンチロックブレーキシステム電子制御装置５６ｂ（以下「ＡＢＳ  ＥＣＵ５６ｂ」という。）と、図示しないエアバッグの制御を行う補助拘束システム電子制御装置５６ｃ（以下「ＳＲＳ  ＥＣＵ５６ｃ」という。）と、図示しないイモビライザ装置の制御を行うイモビライザ電子制御装置５６ｄ（以下「イモビライザＥＣＵ５６ｄ」という。）とが含まれる。上記のように、これらのＥＣＵ５６ａ〜５６ｄを含め、各ＥＣＵをＥＣＵ５６と総称する。
【００４４】
各ＥＣＵ５６は、入出力部１０２と、演算部１０４と、記憶部１０６とを有する。なお、図１では、ＥＮＧ  ＥＣＵ５６ａの入出力部１０２、演算部１０４及び記憶部１０６のみ図示し、その他のＥＣＵ５６ｂ〜５６ｄについては入出力部１０２、演算部１０４及び記憶部１０６の図示を省略している。
【００４５】
また、ＥＮＧ  ＥＣＵ５６ａは、エンジン回転数Ｎｅ［ｒｐｍ］を検出するエンジン回転数センサ１０８と、車両１６の車速Ｖ［ｋｍ／ｈ］を検出する車速センサ１１０とに接続されている。
【００４６】
（ｅ）バッテリ５８
バッテリ５８は、受信装置５２、書換え装置５４及び各ＥＣＵ５６に電力を供給する。このうち受信装置５２については、基本的には、ＩＧＳＷ６４を介して電力供給の有無を切り換えるが、書換え装置５４からの指令（起動信号Ｓｏｎ）に応じて電力供給の有無を切り換えることもできる。書換え装置５４は、バッテリ５８と常に接続されている。各ＥＣＵ５６については、ＩＧＳＷ６４を介して電力供給の有無を切り換えることができる。詳細は、図２を参照して後述する。
【００４７】
さらに、バッテリ５８は、図示しないエンジンの作動（制御系の動作等）のためにも電力を供給する。
【００４８】
（ｆ）バッテリセンサ６０
バッテリセンサ６０は、バッテリ５８の充電率（以下「ＳＯＣ」という。）、内部抵抗Ｒ、電圧（以下「バッテリ電圧Ｖｂａｔ」という。）、消費電流（放電電流）（以下「バッテリ電流Ｉｂａｔ」という。）及び液温（以下「バッテリ液温Ｔｂａｔ」という。）を検出する。
【００４９】
なお、ＳＯＣは、例えば、バッテリ電流Ｉｂａｔの積分値とバッテリ５８の開放電圧（以下「ＯＣＶ」という。）から検知する。内部抵抗Ｒは、エンジン始動時の大電流放電によるバッテリ電圧Ｖｂａｔの降下から検知する。バッテリ液温Ｔｂａｔは、バッテリセンサ６０内の雰囲気温度と充電電流及びバッテリ５８の容積から推定する。バッテリセンサ６０は、ＳＯＣ［％］の代わりに、残容量［Ａｈ］を検出してもよい。
【００５０】
（ｇ）オルタネータ６２
オルタネータ６２は、図示しないエンジンと接続され、エンジンの動力に基づいて発電を行う。オルタネータ６２が生成した電力は、バッテリ５８に充電されると共に、図示しない補機に供給される。
【００５１】
（ｈ）ＩＧＳＷ６４
本実施形態のＩＧＳＷ６４は、ロータリ式であり、図示しないインスツルメントパネルに向かって左側から「オフ」、「ＡＣＣ」（アクセサリ）及び「オン」の位置を選択可能である。また、ＩＧＳＷ６４は、「オン」の位置から更に右側（時計回り）に回すと、「ＳＴ」（エンジンスタート）の位置となり、エンジンが始動する。
【００５２】
本実施形態では、ＩＧＳＷ６４が「オフ」の位置にあるとき、バッテリ５８から受信装置５２及び各ＥＣＵ５６への電力供給は、基本的に停止される。
【００５３】
なお、後述するように、車両１６がいわゆるスマートスタート機能を有している場合、ＩＧＳＷ６４は、いわゆるスマートスタート機能で用いるプッシュスイッチであってもよい。
【００５４】
（ｉ）ドアロック／乗員検知ユニット６６
検知ユニット６６は、ドアロック１２２の解錠／施錠状態及びシートセンサ１２４の動作状態を検知し、書換え装置５４に出力信号Ｓｈ（図２）を送信する。シートセンサ１２４は、シート内部に配置された圧力センサであり、その検出値により乗員の有無を判定可能である。乗員がいないとき、シートセンサ１２４の検出値はゼロである。出力信号Ｓｈは、ドアロック１２２の解錠／施錠状態と、シートセンサ１２４が配置された座席における乗員の有無とを示す。
【００５５】
２．電力供給構成
図２には、車両１６における電力の供給及び信号の入出力の様子を説明する図が示されている。
【００５６】
図２に示すように、バッテリ５８からの電力（以下「バッテリ電力Ｐｂａｔ」という。）［Ｗ］は、受信装置５２、書換え装置５４及び検知ユニット６６に直接供給される。このため、受信装置５２、書換え装置５４及び検知ユニット６６は、ＩＧＳＷ６４の位置にかかわらず、動作可能である。
【００５７】
但し、受信装置５２については、通常、本実施形態では、受信装置５２は、ＩＧＳＷ６４の位置が「ＡＣＣ」又は「オン」であるとき、バッテリ電力Ｐｂａｔを利用して電源オンとなり、ＩＧＳＷ６４の位置が「オフ」であるとき、バッテリ電力Ｐｂａｔを利用せず、電源オフとなる。例外的に、受信装置５２が書換え装置５４から起動信号Ｓｏｎを受信したときは、ＩＧＳＷ６４の位置が「オフ」であっても、受信装置５２は、書換え装置５４から解除指令を受けるまで、バッテリ電力Ｐｂａｔを利用して電源オンとなる。
【００５８】
また、バッテリ電力Ｐｂａｔは、ＩＧＳＷ６４を介して各ＥＣＵ５６に供給される。より具体的には、ＩＧＳＷ６４の位置が「オン」であるとき、バッテリ電力Ｐｂａｔが各ＥＣＵ５６に供給される。一方、ＩＧＳＷ６４の位置が「オフ」又は「ＡＣＣ」であるとき、バッテリ電力Ｐｂａｔは各ＥＣＵ５６に供給されない。
【００５９】
さらに、検知ユニット６６から書換え装置５４には、ドアロック１２２の解錠／施錠状態及び所定のシートにおける乗員の有無を示す出力信号Ｓｈ（ドアロック信号、ドアアンロック信号、乗員検知信号）が出力される。書換え装置５４は、出力信号Ｓｈに基づいて車両１６内におけるユーザ（乗員）の有無を判定し、処理に用いる（詳細は後述する。）。
【００６０】
３．プログラムの書換え
（１）ＣＤ−ＲＯＭ２２を介して伝達された書換えデータ（プログラム）の場合
（ａ）書換え処理の概要
図３は、ＣＤ−ＲＯＭ２２を介して伝達された書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の概要を示すフローチャートである。
【００６１】
ステップＳ１において、ユーザによりＣＤ−ＲＯＭ２２が受信装置５２のドライブ９０に挿入されると、受信装置５２は、書換えデータ（プログラム）をＣＤ−ＲＯＭ２２から読み出す。
【００６２】
ステップＳ２において、車両１６では、プログラムの書換えの準備を行う。当該準備の中には、バッテリ５８の状態の確認が含まれる（詳細は後述する。）。
【００６３】
ステップＳ３において、車両１６では、プログラムの書換えの準備完了をユーザに通知する。ステップＳ４において、車両１６は、ユーザからプログラムの書換え処理の許可を受け付ける。
【００６４】
ステップＳ５において、車両１６は、ＩＧＳＷ６４の位置を「オフ」にするようユーザに要求する。この際、ＩＧＳＷ６４の位置が「オフ」になっても受信装置５２を電源オンのままにするよう設定する。ステップＳ６において、車両１６は、ユーザがＩＧＳＷ６４の位置を「オフ」にしたことに伴う各ＥＣＵ５６の電源オフを確認する。なお、受信装置５２はオンのままである。
【００６５】
ステップＳ７において、車両１６は、ユーザにＩＧＳＷ６４の位置を「オン」にするよう要求する。ステップＳ８において、車両１６は、ユーザがＩＧＳＷ６４の位置を「オン」にしたことに伴う各ＥＣＵ５６の再起動（電源オン）を確認する。
【００６６】
ステップＳ９において、車両１６では、プログラムの書換え処理を実行する。但し、後述するように、ステップＳ９においては、プログラムの書換えの可否を判定し、書換え不可と判定した場合、書換えは行わない。
【００６７】
なお、ステップＳ１〜Ｓ５の間は、車両１６は走行が可能である一方、ステップＳ６〜Ｓ９の間は、エンジンが停止し、車両１６は走行できない。また、ステップＳ１〜Ｓ３の間は、ドライブ９０に別のＣＤ−ＲＯＭ２２（例えば、音楽用）を挿入することはできない。
【００６８】
（ｂ）書換え処理の詳細
図４〜図１１は、ＣＤ−ＲＯＭ２２を介して伝達された書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の詳細を示すフローチャートである。図１２は、図８〜図９のフローチャートの一部に対応した表示部７４の画面の移り変わりの一例を示す画面遷移図である。
【００６９】
なお、ステップＳ１１〜Ｓ１３は、図３のステップＳ１に対応し、ステップＳ１４〜Ｓ３４は、ステップＳ２に対応する。ステップＳ３５は、ステップＳ３に対応し、ステップＳ３６〜Ｓ３７は、ステップＳ４に対応する。ステップＳ３８〜Ｓ３９は、ステップＳ５に対応し、ステップＳ４０〜Ｓ４１は、ステップＳ６に対応する。ステップＳ４２は、ステップＳ７に対応し、ステップＳ４３は、ステップＳ８に対応する。ステップＳ４４〜Ｓ６７は、ステップＳ９に対応する。
【００７０】
ステップＳ１１において、受信装置５２のドライブ９０にＣＤ−ＲＯＭ２２が挿入される。ステップＳ１２において、受信装置５２は、挿入されたＣＤ−ＲＯＭ２２が、ＥＣＵ５６の書換えデータ（プログラム）であるか否かを判定する。挿入されたＣＤ−ＲＯＭ２２が書換えデータ（プログラム）でない場合（Ｓ１２：ＮＯ）、今回の処理を終了する。挿入されたＣＤ−ＲＯＭ２２が書換えデータ（プログラム）である場合（Ｓ１２：ＹＥＳ）、ステップＳ１３において、受信装置５２は、書換えデータ（プログラム）をＣＤ−ＲＯＭ２２から読み込む。書換えデータ（プログラム）を読み込んでいる際、受信装置５２は、表示部７４にＣＤ−ＲＯＭ２２から書換えデータ（プログラム）を読込み中である旨を表示する。例えば、「書換え用データを読込み中です。走行は可能ですが、ＣＤ−ＲＯＭドライブは使用できません。」というメッセージを表示部７４に表示する。
【００７１】
書換えデータ（プログラム）の読込みが完了すると、ステップＳ１４において、受信装置５２から書換え装置５４に書換えデータ（プログラム）の読込みが完了したことを通知する。
【００７２】
ステップＳ１５において、書換え装置５４は、前回の書換え処理が完了しているか否かを判定する。例えば、書換え装置５４は、別の書換えデータ（プログラム）を記憶しているものの、当該書換えデータ（プログラム）を用いた書換え処理が行われていない場合、前回の書換え処理は完了していない。
【００７３】
ステップＳ１６において、書換え装置５４は、ステップＳ１５の結果を受信装置５２に通知する。
【００７４】
図５のステップＳ１７において、受信装置５２は、書換え装置５４からの通知に基づき、前回の書換え処理が完了しているか否かを確認する。前回の書換え処理が完了している場合（Ｓ１７：ＹＥＳ）、ステップＳ１８に進む。前回の書換え処理が完了していない場合（Ｓ１７：ＮＯ）、前回の書換え処理の完了を優先させる。このため、車両１６では、今回の書換え処理を終える。なお、この場合、受信装置５２は、前回の書換え処理を実行するよう促すメッセージを表示部７４に表示してもよい。また、受信装置５２の記憶部８０又は書換え装置５４の記憶部９６の容量に空きがある場合、今回受信した書換えデータ（プログラム）を記憶しておくことも可能である。
【００７５】
ステップＳ１８において、受信装置５２は、書換え装置５４に書換えデータ（プログラム）を転送する。
【００７６】
ステップＳ１９において、書換え装置５４は、書換えデータ（プログラム）が正常であるか否かを判定する。当該判定は、例えば、書換えデータ（プログラム）のデータ構造が正しいか否か及び書換えデータ（プログラム）のハッシュ値が正常であるか否かに基づいて行う。
【００７７】
書換えデータ（プログラム）が正常でない場合（Ｓ１９：ＮＯ）、ステップＳ２０において、書換え装置５４は、受信装置５２にエラーを通知する。ステップＳ２１において、受信装置５２は、表示部７４にエラー表示をすると共に、記憶部８０に記憶していた書換えデータ（プログラム）を消去し、今回の処理を終える。前記エラー表示としては、例えば、書換えデータ（プログラム）に異常があるため、ディーラに連絡すべき旨の表示を用いることができる。
【００７８】
書換えデータ（プログラム）が正常である場合（Ｓ１９：ＹＥＳ）、ステップＳ２２において、書換え装置５４は、書換えデータ（プログラム）を記憶部９６に記憶する。
【００７９】
図６のステップＳ２３において、書換え装置５４は、記憶部９６に記憶した書換えデータ（プログラム）で書換えを行うＥＣＵ５６（以下「対象ＥＣＵ５６ｔａｒ」という。）に対し、現在の（すなわち、書換え前の）プログラムのバージョンなどの内容が識別できるプログラム識別情報（以下「プログラムＩＤ」という。）を要求する。
【００８０】
ステップＳ２４において、ＥＣＵ５６は、現在のプログラムのプログラムＩＤを書換え装置５４に送信する。
【００８１】
ステップＳ２５において、書換え装置５４は、対象ＥＣＵ５６ｔａｒから受信したプログラムＩＤが示すプログラムと、受信した書換えデータ（プログラム）との間に互換性があるか否かを判定する。当該判定は、例えば、プログラムＩＤ同士を比較することにより行う。互換性がない場合（Ｓ２６：ＮＯ）、ステップＳ２７において、書換え装置５４は、受信装置５２にエラーを通知する。ステップＳ２８において、受信装置５２は、表示部７４にエラー表示をすると共に、記憶部８０に記憶していた書換えデータ（プログラム）を消去し、今回の処理を終える。
【００８２】
互換性がある場合（Ｓ２６：ＹＥＳ）、ステップＳ２９において、書換え装置５４は、所定のＥＣＵ５６（本実施形態では、ＥＮＧ  ＥＣＵ５６ａ）に対し、現在のＳＯＣ及びバッテリ電流Ｉｂａｔを要求する。なお、現在のＳＯＣ及びバッテリ電流Ｉｂａｔを取得可能であれば、当該要求は、その他の構成要素（例えば、バッテリセンサ６０）に要求してもよい。
【００８３】
ステップＳ３０において、ＥＮＧ  ＥＣＵ５６ａは、現在のＳＯＣ及びバッテリ電流Ｉｂａｔを書換え装置５４に送信する。
【００８４】
図７のステップＳ３１において、書換え装置５４は、書換えデータ（プログラム）の書換え後に車両１６（特に、エンジン）の再始動が可能であるか否かを判定する。当該判定は、現在のＳＯＣ［％］及びバッテリ電流Ｉｂａｔ［Ａ］に基づいて行う。より具体的には、次の式（１）が満たされるか否かを判定する。
ＳＯＣ−（Ｉｂａｔ×Ｔｒｅ×Ｋ）＞ＴＨｓｏｃ      （１）
【００８５】
上記式（１）において、Ｔｒｅは、プログラムの書換えに要する予定処理時間［秒］で、Ｋは、書換えで消費する電力をＳＯＣに変換する定数［％／Ａ・秒］で、ＴＨｓｏｃ［％］は、車両１６の再始動に必要なＳＯＣの閾値（最低値）である。
【００８６】
予定処理時間Ｔｒｅは、書換えデータ（プログラム）のデータ量Ｓｄに基づいて設定されるものであり、例えば、書換えデータ（プログラム）に含まれる。或いは、データ量Ｓｄに基づいて書換え装置５４の演算部９４が算出してもよい。
【００８７】
閾値ＴＨｓｏｃは、実測値又はシミュレーション値であり、書換えデータ（プログラム）に含まれる。或いは、事前に書換え装置５４の記憶部９６に記憶しておいてもよい。閾値ＴＨｓｏｃは、単一の固定値であってもよいが、車両１６の外気温Ｔｃ［℃］、エンジン冷却水温Ｔｗ［℃］及びバッテリ５８の内部抵抗Ｒ［Ω］のうち少なくとも１つに応じて設定することもできる。外気温Ｔｃを用いる場合、外気温Ｔｃが低いほど、閾値ＴＨｓｏｃを高く設定する。同様に、エンジン冷却水温Ｔｗを用いる場合、エンジン冷却水温Ｔｗが低いほど、閾値ＴＨｓｏｃを高く設定する。内部抵抗Ｒを用いる場合、内部抵抗Ｒが高いほど、閾値ＴＨｓｏｃを高く設定する。
【００８８】
ステップＳ３２において、書換え装置５４は、ステップＳ３１の結果を受信装置５２に通知する。ステップＳ３１の結果が再始動不可である場合（Ｓ３３：ＮＯ）、ステップＳ３４において、受信装置５２は、表示部７４にエラー表示を行う。例えば、受信装置５２は、バッテリ５８の容量が不足しているため、バッテリ５８を充電した後に再度書換え処理を実行すべき旨を表示部７４に表示する。ステップＳ３１の結果が再始動可である場合（Ｓ３３：ＹＥＳ）、ステップＳ３５において、受信装置５２は、対象ＥＣＵ５６ｔａｒの書換えを行うため、車両１６を安全な場所へ移動し、移動後に書換えを承諾するためのボタン画像（図示せず）及び当該ボタンを押すことを要求するメッセージを表示部７４に表示する。
【００８９】
前記ボタン画像へのタッチ操作がなく、ユーザからの承諾が得られない場合（Ｓ３６：ＮＯ）、ステップＳ３５に戻る。前記ボタン画像へのタッチ操作があり、ユーザからの承諾が得られた場合（Ｓ３６：ＹＥＳ）、ステップＳ３７において、受信装置５２は、書換え装置５４に対し、ユーザの承諾が得られた旨を通知する。
【００９０】
図８のステップＳ３８において、書換え装置５４は、受信装置５２に対し、起動信号Ｓｏｎを送信し、電源オフの禁止を要求する。これにより、ＩＧＳＷ６４の位置がオフにされても、受信装置５２は電源オンのまま継続する。
【００９１】
ステップＳ３９において、受信装置５２は、ユーザに対し、ＩＧＳＷ６４の位置をオフにするよう求めるメッセージを表示部７４に表示する。当該メッセージは、例えば、図１２の画面１３２のように、「イグニションスイッチをオフにして下さい」とすることができる。また、当該メッセージは、ＥＣＵ５６がオフにされた旨の通知を受信装置５２が、書換え装置５４から受信するまで継続される。
【００９２】
ステップＳ４０において、書換え装置５４は、ＩＧＳＷ６４の位置を読み込み、ユーザがＩＧＳＷ６４をオフにしたか否か判断する。ユーザによるＩＧＳＷ６４の操作がなく、オフが検出されない場合（Ｓ４０：ＮＯ）、ステップＳ４０を繰り返す。ユーザがＩＧＳＷ６４を操作しオフが検出された場合（Ｓ４０：ＹＥＳ）、ステップＳ４１において、書換え装置５４は、受信装置５２に対し、ＩＧＳＷ６４がオフにされた旨（すなわち、ＥＣＵ５６がオフにされた旨）を通知する。なお、ＩＧＳＷ６４がオフにされたか否かの判定は、書換え装置５４から特定（１つ又は複数）のＥＣＵ５６に対して応答要求を送信し、応答の有無に応じて行ってもよい。この場合、特定のＥＣＵ５６から応答があった場合、ＩＧＳＷ６４がオフにされていないと判断し、応答がない場合、ＩＧＳＷ６４がオフにされたと判断する。
【００９３】
ステップＳ４２において、受信装置５２は、ユーザに対し、ＩＧＳＷ６４の再オン及びエンジンの始動の禁止を求めるメッセージを表示部７４に表示する。当該メッセージは、例えば、図１２の画面１３４のように、「イグニションスイッチをオンにして下さい（エンジンは始動しないで下さい）」とすることができる。また、当該メッセージは、ステップＳ４３において、ＩＧＳＷ６４がオンされたと書換え装置５４が判断するまで表示される。
【００９４】
ステップＳ４３において、書換え装置５４は、ＩＧＳＷ６４の位置を読み込み、ユーザがＩＧＳＷ６４をオンしたか否かを判断する。或いは、ステップＳ４０と同様に特定のＥＣＵ５６に対して応答要求を送信することで、ＩＧＳＷ６４のオンオフの判断を行ってもよい。ユーザによるＩＧＳＷ６４の操作がなく、オフが検出されない場合（Ｓ４３：ＮＯ）、ステップＳ４３を繰り返す。ユーザがＩＧＳＷ６４を操作しオンが検出された場合（Ｓ４３：ＹＥＳ）、ステップＳ４４に進む。
【００９５】
図９のステップＳ４４において、書換え装置５４は、いくつかのＥＣＵ５６に対し、車両１６の状態を要求する。ここにいう車両１６の状態とは、例えば、エンジン回転数Ｎｅと、車速Ｖと、シフトポジションと、各ＥＣＵ５６の温度と、イモビライザＥＣＵ５６ｄの作動状態と、エアコンディショナの作動状態と、リアガラスの熱線の作動状態と、ヘッドライトの作動状態と、座席の加熱装置の作動状態とを含めることができる。本実施形態では、上記車両１６の各状態は、種々のＥＣＵ５６から取得するが、各種のセンサから直接取得することもできる。
【００９６】
ステップＳ４５において、各ＥＣＵ５６は、車両１６の状態を書換え装置５４に送信する。
【００９７】
ステップＳ４６において、書換え装置５４は、車両１６が、プログラムを書換え可能な状態にあるか否かを判定する。当該判定は、例えば、次の条件（ｉ）〜（ｖ）が全て満たされているか否かにより行う。
（ｉ）  エンジン回転数Ｎｅが０［ｒｐｍ］であること
（ｉｉ）  車速Ｖが０［ｋｍ／ｈ］であること
（ｉｉｉ）  シフトポジションが「Ｐ」（パーキング）であること
（ｉｖ）  対象ＥＣＵ５６ｔａｒの温度が書換え可能な温度（閾値ＴＨｅ）以下であること
（ｖ）  イモビライザＥＣＵ５６ｄが、正規キーが装着されていると判断していること
【００９８】
上記において、条件（ｉ）〜（ｉｉｉ）は、車両１６が停止していることを確認するためのものである。条件（ｉｖ）は、ＥＣＵ５６の動作異常を判定するためのものである。条件（ｖ）は、正規ユーザが車両１６を使用していることを確認するためのものである。
【００９９】
また、この際、次の条件（ｖｉ）〜（ｉｘ）のいずれかが満たされているか否かも判定する。
（ｖｉ）  エアコンディショナがオフになっていること
（ｖｉｉ）  リアガラスの熱線がオフになっていること
（ｖｉｉｉ）  ヘッドライトがオフになっていること
（ｉｘ）  座席の加熱装置がオフになっていること
【０１００】
上記条件（ｖｉ）〜（ｉｘ）は、バッテリ電力Ｐｂａｔの消費状態を判定し、ユーザに電力消費の抑制を求めるために用いる。条件（ｖｉ）〜（ｉｘ）が満たされていなくても、書換え不可とはならないが、後述するステップＳ５０において、ユーザに対してこれらについて警告が行われる。
【０１０１】
ステップＳ４７において、書換え装置５４は、ステップＳ４６の結果を受信装置５２に通知する。条件（ｉ）〜（ｖ）のいずれかが満たされないことにより「書換え不可」である場合（Ｓ４８：ＮＯ）、ステップＳ４９において、受信装置５２は、条件（ｉ）〜（ｖ）のうち満たされていない条件を指摘する警告メッセージを表示部７４に表示し、ユーザに改善を促す。その後、ステップＳ４４に戻る。
【０１０２】
但し、「書換え不可」の場合であっても、受信装置５２から書換え装置５４に対して特別の信号を送らなくてよい。換言すると、ステップＳ４６で、書換え装置５４が「書換え不可」と判定した場合、書換え装置５４は、ステップＳ４７で結果を受信装置５２に通知した後、ステップＳ４４に戻ればよい。
【０１０３】
ステップＳ４８において、「書換え可」である場合（Ｓ４８：ＹＥＳ）、ステップＳ５０において、受信装置５２は、書換え処理の開始の承諾を確認する操作画面（書換え開始承諾確認表示）を表示部７４に表示する。当該操作画面としては、例えば、図１２の画面１３６のように、「プログラムの書換えを開始してよろしいですか？」とのメッセージと、書換えの開始を承諾するボタン（「ＹＥＳ」）と、書換えの開始を承諾しないボタン（「ＮＯ」）とを含むものを用いることができる。また、この際、上記条件（ｖｉ）〜（ｉｘ）のいずれかが成立していない場合、その旨を警告するメッセージを併せて表示することができる。
【０１０４】
前記操作画面への操作がなく、ユーザからの承諾が得られない場合（Ｓ５１：ＮＯ）、ステップＳ５０に戻る。前記操作画面への操作があり、ユーザからの承諾が得られた場合（Ｓ５１：ＹＥＳ）、ステップＳ５２において、受信装置５２は、プログラムの書換え中であることを知らせるメッセージを表示部７４に表示する。例えば、「プログラムを書換え中です。イグニションスイッチをオフにしないで下さい。」と表示する。なお、図示していないが、書換えの開始を承諾しないボタン（「ＮＯ」）が押された場合、書換えを行わずに処理を終了する。そして、次に、ＩＧＳＷ６４がオンにされたとき、ステップＳ２９から開始する。
【０１０５】
ステップＳ５３において、受信装置５２は、書換え装置５４に対し、ユーザの承諾が得られた旨を通知する。
【０１０６】
図１０のステップＳ５４において、書換え装置５４は、各ＥＣＵ５６との間で通信を行って各ＥＣＵ５６のセキュリティを解除する。
【０１０７】
ステップＳ５５において、書換え装置５４は、ＥＣＵ５６に対し、ＥＣＵ５６相互間で行う故障診断の停止を要求する。ステップＳ５６において、各ＥＣＵ５６は、前記故障診断を停止する。
【０１０８】
ステップＳ５７において、書換え装置５４は、各ＥＣＵ５６に対し、ＥＣＵ５６間での通信の停止を要求する。ステップＳ５８において、各ＥＣＵ５６は、相互の通信を停止する。
【０１０９】
ステップＳ５９において、書換え装置５４は、対象ＥＣＵ５６ｔａｒについて、プログラムの書換えを実行する。
【０１１０】
ステップＳ６０において、書換え装置５４は、対象ＥＣＵ５６ｔａｒのプログラム書換えが終了したら、対象ＥＣＵ５６ｔａｒに対し、現在の（すなわち、書換え後の）プログラムのバージョンなどの内容が識別できるプログラムＩＤを要求する。
【０１１１】
ステップＳ６１において、ＥＣＵ５６は、現在のプログラムのプログラムＩＤを書換え装置５４に送信する。
【０１１２】
ステップＳ６２において、書換え装置５４は、対象ＥＣＵ５６ｔａｒから受信したプログラムＩＤを確認することで書換えの成否を確認する。書換えが成功し、正常に終了した場合（Ｓ６３：ＹＥＳ）、ステップＳ６４において、書換え装置５４は、受信装置５２に正常終了を通知し、書換え処理を終了する。
【０１１３】
ステップＳ６５において、受信装置５２は、プログラムの書換えの正常終了を通知するメッセージを表示部７４に表示する。当該メッセージには、例えば、プログラムの書換えが終了した旨、ＩＧＳＷ６４をオフにすべき旨並びに書換えの終了を示すコード番号（具体的な数値等）、当該コード番号をメーカに連絡すべき旨及びその連絡先を含めることができる。従って、当該メッセージを読んだユーザは、メーカに当該コード番号を知らせることで、メーカは、プログラムの書換えの終了を確認することができる。なお、コード番号の通知は、電話、電子メール、ホームページにおける入力画面への入力等の方法により行うことができる。
【０１１４】
なお、書換えが失敗し、正常に終了しなかった場合（Ｓ６３：ＮＯ）、ステップＳ６６において、書換え装置５４は、受信装置５２にエラーを通知する。ステップＳ６７において、受信装置５２は、ＩＧＳＷ６４をオフにし、ディーラに連絡することを求めるメッセージを表示部７４に表示する。例えば、「プログラムの書込みが異常終了しました。イグニションスイッチをオフにし、ディーラに連絡して下さい。」というメッセージを表示部７４に表示する。
【０１１５】
（ｃ）プログラムの書換え中にＩＧＳＷ６４の位置がオフにされた場合の処理
図１３〜図１５には、プログラムの書換え中にＩＧＳＷ６４の位置がオフにされた場合の処理のフローチャートが示されている。図１６は、図１３のフローチャートの一部に対応した表示部７４の画面の移り変わりの一例を示す画面遷移図である。
【０１１６】
図１３〜図１５では図示していないが、書換え装置５４は、対象ＥＣＵ５６ｔａｒの書換え実行（図１０のＳ５９）開始前に、受信装置５２に対して起動信号Ｓｏｎを送信し、ＩＧＳＷ６４の位置をオフした場合も受信装置５２の電源オンを継続することを要求しておく（図８のＳ３８）。
【０１１７】
また、プログラムの書換え中は、例えば、図１６の画面１４２のように、書換え作業中である旨及び残り時間を表示する。
【０１１８】
ステップＳ１０１において、ユーザが誤ってＩＧＳＷ６４の位置をオフにすると、書換え装置５４は、ＩＧＳＷ６４の位置がオフにされたことを検出する。ステップＳ１０２において、書換え装置５４は、ＩＧＳＷ６４がオフにされたことを受信装置５２に通知する。受信装置５２は、事前に起動信号Ｓｏｎを受信しており、ＩＧＳＷ６４の位置がオフにされているにもかかわらず、電源オンを継続する。
【０１１９】
ステップＳ１０３において、ＩＧＳＷ６４がオフされたことの通知を受信した受信装置５２は、ＩＧＳＷ６４の位置をオフにしたことにより書換え作業が中断した旨のメッセージを表示部７４に表示する。当該メッセージは、例えば、図１６の画面１４４のように、「イグニションスイッチのオフにより、書換え作業が中断しました」とすることができる。
【０１２０】
ステップＳ１０４において、書換え装置５４は、車両１６内にユーザ（乗員）が存在するか否かを判定する。当該判定は、ドアロック／乗員検知ユニット６６からの出力信号Ｓｈに基づいて行う。上記のように、出力信号Ｓｈは、ドアロック１２２の解錠／施錠状態と、圧力センサとしてのシートセンサ１２４の検出値とを示す。ドアロック１２２が施錠され、且つシートセンサ１２４の検出値がゼロであるとき、乗員がいないと判定可能である。
【０１２１】
車両１６内に乗員が存在しない場合（Ｓ１０４：ＮＯ）、ステップＳ１０５において、書換え装置５４は、次回の起動予約を記憶部９６に記憶する。起動予約とは、次回、ＩＧＳＷ６４の位置がオンにされたとき、プログラムの書換えを再開することの設定であり、フラグにより規定する。続くステップＳ１０６において、書換え装置５４は、書換えに失敗したプログラムのプログラムＩＤを記憶する。
【０１２２】
ステップＳ１０７において、書換え装置５４は、受信装置５２に対し、表示部７４の表示の中止を要求する信号（解除要求信号）を出力する。車両１６内に乗員がいなければ、表示部７４の表示を見る者もいない。このため、表示部７４の表示を中止することにより、消費電力を抑制することができる。なお、当該要求には、受信装置５２の電源オフの要求を含めることができる。ステップＳ１０８において、当該要求を受けた受信装置５２は、表示部７４の表示を中止する（表示部７４をオフにする。）。
【０１２３】
ステップＳ１０４に戻り、車両１６内に乗員が存在する場合（Ｓ１０４：ＹＥＳ）、ステップＳ１０９において、書換え装置５４は、ＩＧＳＷ６４の位置を読み込み、ＩＧＳＷ６４の状態を判断する。或いは、書換え装置５４は、特定（１つまたは複数）のＥＣＵ５６に対して応答要求を送信し、その応答の有無によりＩＧＳＷ６４の状態を判断してもよい。この場合、特定のＥＣＵ５６から応答があった場合、ＩＧＳＷ６４がオン状態と判断し、応答がない場合、ＩＧＳＷ６４がオフ状態と判断する。
【０１２４】
ステップＳ１０９において、ＩＧＳＷ６４がオフ状態であった場合（Ｓ１０９：ＮＯ）、ステップＳ１１０において、書換え装置５４は、その旨を受信装置５２に通知する。
【０１２５】
ステップＳ１１１において、受信装置５２は、ＩＧＳＷ６４の位置をオンに戻すことを求めるメッセージを表示部７４に表示する。当該メッセージとしては、例えば、図１６の画面１４６のように、「書換えが中断しています。エンジンを始動せずにイグニションスイッチをオンにして下さい。（再書換えを実施します）」を用いることができる。ステップＳ１１１の後は、ステップＳ１０４に戻る。
【０１２６】
ステップＳ１０９において、ＩＧＳＷ６４がオン状態であった場合（Ｓ１０９：ＹＥＳ）、ステップＳ１１２において、書換え装置５４は、図示しないタイマをスタートさせる。
【０１２７】
図１４のステップＳ１１３において、書換え装置５４は、プログラムの書換えを中断したＥＣＵ５６に対し、プログラムＩＤを要求する。送信先のＥＣＵ５６がオンしている場合、当該ＥＣＵ５６は、ステップＳ１１４において、書換え装置５４に対してプログラムＩＤを送信する。
【０１２８】
ステップＳ１１５において、書換え装置５４は、プログラムＩＤの返信があったか否かを判定する。返信がなかった場合（Ｓ１１５：ＮＯ）、ステップＳ１１６において、書換え装置５４は、所定時間（例えば、５秒）が経過したか否かを判定する。
【０１２９】
所定時間が経過していない場合（Ｓ１１６：ＮＯ）、ステップＳ１１３に戻る。所定時間が経過した場合（Ｓ１１６：ＹＥＳ）、無限ループを避けるため、ステップＳ１１７において、書換え装置５４は、受信装置５２に対してその旨（エラー）を通知する。ステップＳ１１８において、受信装置５２は、ＩＧＳＷ６４をオフにし、ディーラに連絡することを求めるメッセージを表示部７４に表示する。例えば、「プログラムの書込みが異常終了しました。イグニションスイッチをオフにし、ディーラに連絡して下さい。」というメッセージを表示部７４に表示する。
【０１３０】
ステップＳ１１５において、返信があった場合（Ｓ１１５：ＹＥＳ）、図１０のステップＳ５５〜Ｓ５８と同様のステップＳ１１９〜Ｓ１２２を行う。次いで、図９のステップＳ４４〜Ｓ４５と同様のステップＳ１２３〜Ｓ１２４（図１５）を行う。その後、図９のステップＳ４６に進む。
【０１３１】
（ｄ）プログラムの書換え中にＩＧＳＷ６４の位置がオフにされ車両１６内にユーザ（乗員）がいなくなった後、ユーザが再乗車してきた場合の処理
図１７〜図１９は、プログラムの書換え中にＩＧＳＷ６４の位置がオフにされ、車両１６内にユーザ（乗員）がいなくなった後、ユーザが再乗車してきた場合の処理のフローチャートである。図２０は、図１７〜図１９のフローチャートの一部に対応した表示部７４の画面の移り変わりの一例を示す画面遷移図である。
【０１３２】
ステップＳ２０１において、ドアロック１２２が解除されると、ドアロック／乗員検知ユニット６６からの出力信号Ｓｈにより書換え装置５４にその旨が通知され、書換え装置５４は、ドアロック１２２の解除を検出する。
【０１３３】
ステップＳ２０２において、書換え装置５４は、起動予約（図１３のＳ１０５）があるか否かを判定する。起動予約がない場合（Ｓ２０２：ＮＯ）、今回の処理を終了する。起動予約がある場合（Ｓ２０２：ＹＥＳ）、ステップＳ２０３において、書換え装置５４は、受信装置５２に対して起動信号Ｓｏｎを送信し、起動（電源オン）を要求する。ステップＳ２０４において、受信装置５２は、起動する。
【０１３４】
ステップＳ２０５〜Ｓ２１１は、図１３のステップＳ１０４〜Ｓ１１０と同様である。但し、ドアロック１２２が解除された後、ユーザが車両１６内に入り込むまでの時間を考慮する。
【０１３５】
ステップＳ２１２において、受信装置５２は、ＩＧＳＷ６４の位置がオフにされたことによりプログラムの書換え処理が中断していることを示すメッセージを表示部７４に表示する。当該メッセージは、例えば、図２０の画面１５２のように、「イグニションスイッチのオフにより、プログラムの書換え作業が中断した状態です」とすることができる。
【０１３６】
ステップＳ２１３において、受信装置５２は警告音を出力する。
【０１３７】
ステップＳ２１４において、受信装置５２は、ＩＧＳＷ６４の位置をオンにすることを求めるメッセージを表示部７４に表示する。当該メッセージとしては、例えば、図２０の画面１５４のように、「プログラムの書換えが中断しています。エンジンを始動せずにイグニションスイッチをオンにして下さい。（再書換えを実施します）」を用いることができる。ステップＳ２１４の後は、ステップＳ２０５に戻る。
【０１３８】
ステップＳ２１０において、ＩＧＳＷ６４がオン状態であった場合（Ｓ２１０：ＹＥＳ）、図１７〜図１９のステップＳ２１５〜Ｓ２２９を実行する。このうちステップＳ２１５〜Ｓ２２１は、図１３及び図１４のステップＳ１１２〜Ｓ１１８と同様であり、ステップＳ２２２〜Ｓ２２５は、図１０のステップＳ５５〜Ｓ５８と同様であり、ステップＳ２２６〜Ｓ２２７は、図９のステップＳ４４〜Ｓ４５と同様である。
【０１３９】
ステップＳ２２８において、書換え装置５４は、受信装置５２に対し、プログラムの書換えを再開する旨及びそのために車両状態をチェックする旨のメッセージの表示を要求する。ステップＳ２２９において、受信装置５２は、当該メッセージを表示部７４に表示する。当該メッセージは、例えば、図２０の画面１５６のように、「プログラムの書換えを再開します。車両状態をチェックします」とすることができる。ステップＳ２２９の次は、図９のステップＳ４６に続く。
【０１４０】
（２）衛星放送網２４を介して伝達されたプログラムの場合
（ａ）書換え処理の概要
図２１は、衛星放送網２４を介して伝達された書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の概要を示すフローチャートである。
【０１４１】
ステップＳ３０１において、受信装置５２は、衛星放送網２４を介して書換えデータ（プログラム）を受信する。
【０１４２】
ステップＳ３０２〜Ｓ３０９は、図３のステップＳ２〜Ｓ９と同様である。
【０１４３】
なお、ステップＳ３０１〜Ｓ３０５の間は、車両１６は走行が可能である一方、ステップＳ３０６〜Ｓ３０９の間は、エンジンが停止し、車両１６は走行できない。
【０１４４】
（ｂ）書換え処理の詳細
図２２〜図２４は、衛星放送網２４を介して伝達された書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の詳細を示すフローチャートである。なお、ＣＤ−ＲＯＭ２２を介して伝達された書換えデータ（プログラム）で書き換える際の処理（図４〜図１１）と共通する処理については、図４〜図１１を参照して説明する。
【０１４５】
ステップＳ３１１〜Ｓ３１４は、図２１のステップＳ３０１に対応する。
【０１４６】
ステップＳ３１１において、受信装置５２は、衛星放送網２４を介して車両情報を受信する。具体的には、図示しない放送局を介してサーバ１４が車両情報を送信すると、この車両情報は、放送衛星２８で中継された後、受信装置５２の無線アンテナ８２に受信される。無線アンテナ８２に受信された車両情報は、モデム８４で復調されて演算部７８に出力される。
【０１４７】
ステップＳ３１２において、受信装置５２は、受信した車両情報が、車両１６（自車両）に合致したものであるかどうかを判定する。車両情報が車両１６に合致する場合（Ｓ３１２：ＹＥＳ）、ステップＳ３１３に進む。車両情報が車両１６に合致しない場合（Ｓ３１２：ＮＯ）、今回の処理を終える。
【０１４８】
ステップＳ３１３において、受信装置５２は、衛星放送網２４を介して書換えデータ（プログラム）を受信する。具体的な受信方法は、ステップＳ３１１と同様である。また、書換えデータ（プログラム）の内容は、ＣＤ−ＲＯＭ２２の場合（図４〜図１１）と同様である。
【０１４９】
ステップＳ３１４において、受信装置５２は、書換えデータ（プログラム）の受信が完了したか否かを判定する。受信が完了していない場合（Ｓ３１４：ＮＯ）、ステップＳ３１３に戻る。受信が完了した場合（Ｓ３１４：ＹＥＳ）、ステップＳ３１５に進む。
【０１５０】
ステップＳ３１５において、受信装置５２から書換え装置５４に書換えデータ（プログラム）の受信を通知する。
【０１５１】
図２２〜図２４のステップＳ３１６〜Ｓ３２９は、図４〜図６のステップＳ１５〜Ｓ２８と同様である。対象ＥＣＵ５６ｔａｒとの互換性がある場合（Ｓ３２７：ＹＥＳ）、ステップＳ３３０において、書換え装置５４は、互換性の確認が終了した旨を受信装置５２に通知する。その後、図６のステップＳ２９に続く。
【０１５２】
（３）移動通信網２６を介して伝達された書換えデータ（プログラム）の場合
（ａ）書換え処理の概要
図２５は、移動通信網２６を介して伝達された書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の概要を示すフローチャートである。
【０１５３】
ステップＳ４０１において、受信装置５２は、移動通信網２６を介して書換えデータ（プログラム）を受信する。なお、移動通信網２６を介して書換えデータ（プログラム）を受信する場合、携帯電話８６を事前にコネクタ８８に接続しておく。
【０１５４】
ステップＳ４０２〜Ｓ４０９は、図３のステップＳ２〜Ｓ９及び図２１のステップＳ３０２〜Ｓ３０９と同様である。
【０１５５】
なお、ステップＳ４０１〜Ｓ４０５の間は、車両１６は走行が可能である一方、ステップＳ４０６〜Ｓ４０９の間は、エンジンが停止し、車両１６は走行できない。
【０１５６】
（ｂ）書換え処理の詳細
図２６は、移動通信網２６を介して伝達された書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理の詳細を示すフローチャートである。なお、衛星放送網２４を介して伝達された書換えデータ（プログラム）でＥＣＵ５６のプログラムを書き換える際の処理（図２２〜図２４）と共通する処理については、図２２〜図２４を参照して説明する。
【０１５７】
ステップＳ４１１において、ユーザは、携帯電話８６をコネクタ８８に接続する。
【０１５８】
ステップＳ４１２において、受信装置５２の携帯電話８６は、サーバ１４との間で通信を確立する。当該通信の確立は、サーバ１４からの書換えデータ（プログラム）の転送がされたときに行われる。或いは、事前に設定された所定のタイミング（例えば、携帯電話８６とコネクタ８８の接続時、当該接続時から所定間隔又は所定時刻）で携帯電話８６及び移動通信網２６を介してサーバ１４に対して新たな書換えデータ（プログラム）の有無を問い合わせることもできる。
【０１５９】
ステップＳ４１３〜Ｓ４１７は、図２２のステップＳ３１３〜Ｓ３１７と同様である。その後、図２３のステップＳ３１８に続く。
【０１６０】
４．本実施形態における効果
以上のような実施形態によれば、ＥＣＵ５６のプログラムを書き換えた後に車両１６を再始動可能であるか否かを書換え後のバッテリ５８の予測状態に基づいて判定し、再始動可能な場合、プログラムの書換えを実行する。従って、プログラムの書換え後に、確実に車両１６を再始動することができる。
【０１６１】
本実施形態では、書換え装置５４は、車両１６の外気温Ｔｃ、エンジン冷却水の水温Ｔｗ及びバッテリ５８の内部抵抗Ｒに応じて閾値ＴＨｓｏｃを変化させる。これにより、再始動可能な条件をより適切に設定することが可能となる。
【０１６２】
本実施形態において、書換え装置５４は、プログラムの書換え開始時におけるＳＯＣ及びバッテリ電流Ｉｂａｔと、プログラムの書換えの予定処理時間Ｔｒｅとに基づいて、プログラムの書換え後のＳＯＣを予測し、予測したＳＯＣが閾値ＴＨｓｏｃより大きい場合に、プログラムの書換えを実行する。これにより、プログラムの書換え後のバッテリ５８の充電状態を簡易に予測し、これを用いることが可能となる。
【０１６３】
また、本実施形態によれば、図２７のような場合でも、プログラムの書換え前に、ＥＣＵ５６がオフにされることを確実にすることが可能となる。
【０１６４】
図２７には、ＩＧＳＷ６４の出力信号Ｓｉｇと各ＥＣＵ５６の認識との関係を示す図が示されている。図２７では、時点ｔ１においてＩＧＳＷ６４の位置が「オン」から「オフ」に切り換えられた後、時点ｔ５において「オン」に切り換えられている。時点ｔ１から時点ｔ５までの時間は非常に短く、例えば、数百ｍｓである。
【０１６５】
また、図２７の例では、各ＥＣＵ５６は、それぞれで出力信号Ｓｉｇを読み込むタイミングは異なる。また、各ＥＣＵ５６は、チャタリングの影響を排除するため、出力信号Ｓｉｇが２つの制御周期で同じレベル（ハイ又はロー）であるとき、その内容を取り込む。
【０１６６】
例えば、第１ＥＣＵは、時点ｔ２においてＩＧＳＷ６４がオフであることを検知するが、直ぐにはオフであるとは認識せず、時点ｔ２及び時点ｔ４においてＩＧＳＷ６４がオフであると検知して初めてＩＧＳＷ６４がオフであると認識する。一方、第２ＥＣＵは、時点ｔ３でＩＧＳＷ６４がオフであると検知するが、時点ｔ６ではＩＧＳＷ６４がオンであると検知する。このため、第２ＥＣＵは、ＩＧＳＷ６４がオフであると２回続けて検知していないため、第２ＥＣＵは、ＩＧＳＷ６４がオンのままであると認識してしまう。
【０１６７】
上記のような場合でも、本実施形態によれば、プログラムの書換えのためには、ＩＧＳＷ６４の位置をオフにしＥＣＵ５６が電源オフになった後、ＩＧＳＷ６４の位置がオンに戻されることを必要とする。また、ユーザに対するＩＧＳＷ６４をオンの位置に戻す操作の指示は、ＩＧＳＷ６４の位置がオフになったことに連動してＥＣＵ５６がオフにされたことを検出してから表示される。このため、プログラムの書換え前に、ＥＣＵ５６がオフにされることを確実にすることが可能となる。
【０１６８】
よって、ＥＣＵ５６による処理が継続されたままの状態においてプログラムの書換えが行われることを防止することが可能となる。
【０１６９】
本実施形態によれば、プログラムの書換え中に、ＩＧＳＷ６４の位置が誤ってオフにされ、プログラムの書換えができなくなると、ＩＧＳＷ６４の位置をオンに戻す操作の指示を表示部７４に表示させる。このため、ユーザ（乗員）に誤操作を伝え、正常な状態に戻すことを促すことが可能となる。従って、ユーザが車内にいる場合であっても、プログラムの書換えが可能となり、当該書換えをより好適に行うことが可能となる。
【０１７０】
本実施形態において、書換え装置５４は、ＩＧＳＷ６４の位置をオンに戻す操作の指示を表示部７４に表示させている状態で、ユーザの降車を検出すると、プログラムの書換えの中断に関する情報としての起動予約を記録し、電源オンの継続の解除を求める解除要求信号を受信装置５２に出力する。
【０１７１】
これにより、プログラムの書換え中にＩＧＳＷ６４の位置が誤ってオフにされたままユーザが降車した場合、プログラムの書換えの中断に関する情報を残しておくことが可能となる。従って、当該情報を用いて改めてプログラムの書換えを行うことができる。また、受信装置５２の電源オンを解除することにより、表示部７４における操作の指示を中止させる。従って、表示部７４における不要な電力消費を回避することが可能となる。
【０１７２】
本実施形態において、書換え装置５４は、検知ユニット６６の出力信号Ｓｈに基づいてユーザの降車を検出する。出力信号Ｓｈを用いることにより、簡易にユーザの降車を判定することが可能となる。
【０１７３】
本実施形態において、書換え装置５４は、ユーザの乗車を検出すると、起動予約が記録されているか否かを確認し、起動予約が記録されている場合、表示部７４にＩＧＳＷ６４の位置をオンにする操作の指示を表示させる。これにより、プログラムの書換えの中断が起こった場合に、書換えの再開を行う際に好適な表示を行うことが可能となる。
【０１７４】
本実施形態において、書換え装置５４は、検知ユニット６６の出力信号Ｓｈに基づいてユーザの再乗車を検出する。出力信号Ｓｈを用いることにより、簡易にユーザの乗車を判定することが可能となる。
【０１７５】
［Ｂ．この発明の応用］
なお、この発明は、上記実施形態に限らず、この明細書の記載内容に基づき、種々の構成を採り得ることはもちろんである。例えば、以下に示す構成を採ることができる。
【０１７６】
１．プログラム書換えシステム１０
上記実施形態では、システム１０を車両用に用いたが、これに限らず、例えば、再始動時に電力を要する移動体（飛行機、船舶、ヘリコプタ等）であってもよい。
【０１７７】
２．データ伝達システム１２
上記実施形態では、書換えデータ（プログラム）の伝達を、ＣＤ−ＲＯＭ２２、衛星放送網２４及び移動通信網２６を用いて行ったが、いずれか１つ又は２つを用いてもよい。或いは、これら以外の方法｛例えば、放送衛星又は携帯電話を用いない無線通信（例えば、道路脇に設置された光ビーコンとの間の無線通信）｝により書換えデータ（プログラム）を伝達させてもよい。また、ＣＤ−ＲＯＭ２２の代わりに別の記憶媒体（ＤＶＤ−ＲＯＭ、フラッシュメモリ等）を用いることもできる。
【０１７８】
３．車両１６
上記実施形態では、車両１６をガソリン車としたが、これに限らず、例えば、再始動時に電力を要する駆動源を有する車両｛電気自動車（ハイブリッド車及び燃料電池車を含む。）、ディーゼル車等｝であってもよい。
【０１７９】
４．ＥＣＵ５６
上記実施形態では、ＥＣＵ５６として、ＥＮＧ  ＥＣＵ５６ａ、ＡＢＳ  ＥＣＵ５６ｂ、ＳＲＳ  ＥＣＵ５６ｃ及びイモビライザＥＣＵ５６ｄを挙げたが、ＥＣＵ５６の数及び種類はこれに限らない。
【０１８０】
５．ＩＧＳＷ６４
上記実施形態では、ＩＧＳＷ６４としてロータリ式のスイッチを用いたが、これに限らない。例えば、車両１６が、いわゆるスマートスタート機能を備える場合、プッシュ動作により「オフ」、「アクセサリ」及び「オン」を順番に切り換えるプッシュスイッチをＩＧＳＷ６４として用いることもできる。
【０１８１】
６．再始動の可否の判定
（１）書換え後のバッテリ５８の状態の推定
上記実施形態では、プログラムの書換え後のバッテリ５８の状態を推定するために、ＳＯＣ、バッテリ電流Ｉｂａｔ及び予定処理時間Ｔｒｅを用いたが｛上記式（１）参照｝、書換え後のバッテリ５８の状態を推定することができれば、これに限らない。例えば、所定充電状態から現時点までのバッテリ５８の放電電力量ΔＡＨ１［Ａ・ｈ］と、現時点からプログラムの書換え後までの予想放電電力量ΔＡＨ２［Ａ・ｈ］とに基づいて行うこともできる。所定充電状態とは、例えば、フル充電状態、ＳＯＣ８０％、ＳＯＣ７５％等、適宜設定可能なものである。
【０１８２】
より具体的には、次の式（２）が満たされるか否かを判定する。
ΔＡＨ１＋ΔＡＨ２＜ＴＨ＿ΔＡＨ      （２）
【０１８３】
上記式（２）において、閾値ＴＨ＿ΔＡＨは、車両１６の再始動を可能とする所定充電状態からの放電電力量の閾値（最大値）である。閾値ＴＨ＿ΔＡＨは、実測値又はシミュレーション値であり、例えば、書換えデータ（プログラム）に含まれる。なお、予想放電電力量ΔＡＨ２は、現時点におけるバッテリ電流Ｉｂａｔと、プログラムの書換えに要する予定処理時間Ｔｒｅの積として計算される。
【０１８４】
上記のような判定方法によっても、プログラムの書換え後のバッテリ５８の状態を簡易に予測し、これを用いることが可能となる。
【０１８５】
さらに、特開２００８−１５５８９２号公報に記載の方法によって、プログラムの書換え後のバッテリ５８の状態を予測することもできる。
【０１８６】
（２）プログラムの書換えを不可とする条件
上記実施形態では、プログラムの書換えを不可とする条件として、例えば、図７のステップＳ３１では、バッテリ５８が、プログラムの書換え後に車両１６の再始動が可能であることを用いた。また、例えば、図９のステップＳ４６では、（ｉ）エンジン回転数Ｎｅが０［ｒｐｍ］であること、（ｉｉ）車速Ｖが０［ｋｍ／ｈ］であること、（ｉｉｉ）シフトポジションが「Ｐ」（パーキング）であること、（ｉｖ）対象ＥＣＵ５６ｔａｒの温度が閾値ＴＨｅ以下であること、及び（ｖ）イモビライザＥＣＵが、正規キーが装着されていると判断していることを用いた。
【０１８７】
しかし、プログラムの書換えを不可とする条件は、これに限らない。例えば、プログラムの書換え開始時のバッテリ電流Ｉｂａｔが閾値ＴＨｉ［Ａ］より大きい場合、書換えを不可としてもよい。閾値ＴＨｉは、プログラム書換え時には不要な電気負荷が高いことを示す電流値を設定することができる。
【０１８８】
また、プログラムの書換え開始時のバッテリ５８の内部抵抗Ｒが閾値ＴＨｒ［Ω］より大きい場合、書換えを不可とすることもできる。閾値ＴＨｒは、バッテリ５８の劣化が過度に進んだことを判定するための閾値であり、実測値又はシミュレーション値を用いることができる。
【０１８９】
図２８は、上記式（１）による判定に加え、閾値ＴＨｉ、ＴＨｒを用いて書換えの可否を判定するフローチャートである。このフローチャートは、例えば、図７のステップＳ３１で用いることができる。
【０１９０】
ステップＳ５０１において、書換え装置５４は、ＥＮＧ  ＥＣＵ５６ａ又はバッテリセンサ６０から現在のＳＯＣ、バッテリ電流Ｉｂａｔ及び内部抵抗Ｒを取得する。
【０１９１】
ステップＳ５０２において、書換え装置５４は、内部抵抗Ｒが閾値ＴＨｒより大きいか否かを判定する。内部抵抗Ｒが閾値ＴＨｒより大きい場合（Ｓ５０２：ＹＥＳ）、ステップＳ５０３において、書換え装置５４は、プログラムの書換え後の再始動ができない可能性があるため、プログラムの書換えは不可であると判定する。内部抵抗Ｒが閾値ＴＨｒ以下の場合（Ｓ５０２：ＮＯ）、ステップＳ５０４に進む。
【０１９２】
ステップＳ５０４において、書換え装置５４は、バッテリ電流Ｉｂａｔが閾値ＴＨｉより大きいか否かを判定する。バッテリ電流Ｉｂａｔが閾値ＴＨｉより大きい場合（Ｓ５０４：ＹＥＳ）、ステップＳ５０３において、書換え装置５４は、不要な電気負荷が高いため、プログラムの書換えは不可であると判定する。バッテリ電流Ｉｂａｔが閾値ＴＨｉ以下の場合（Ｓ５０４：ＮＯ）、ステップＳ５０５に進む。
【０１９３】
ステップＳ５０５において、書換え装置５４は、プログラムの書換え後のＳＯＣの予測値ＳＯＣｒｅ［％］を算出する。予測値ＳＯＣｒｅは、上記式（１）における「ＳＯＣ−（Ｉｂａｔ×Ｔｒｅ×Ｋ）」と等しい。
【０１９４】
ステップＳ５０６において、書換え装置５４は、予測値ＳＯＣｒｅが閾値ＴＨｓｏｃよりも大きいか否かを判定する。予測値ＳＯＣｒｅが閾値ＴＨｓｏｃ以下である場合（Ｓ５０６：ＮＯ）、ステップＳ５０３において、書換え装置５４は、プログラムの書換えは不可であると判定する。予測値ＳＯＣｒｅが閾値ＴＨｓｏｃより大きい場合（Ｓ５０６：ＹＥＳ）、ステップＳ５０７において、書換え装置５４は、プログラムの書換えは可であると判定する。
【０１９５】
一般に、内部抵抗Ｒは、バッテリ５８の劣化状況を反映する。このため、内部抵抗Ｒが閾値ＴＨｒより大きい場合、プログラムの書換え後のバッテリ５８の充電状態を正確に予測することが困難になる。また、バッテリ電流Ｉｂａｔが大きい場合もプログラムの書換え後のバッテリ５８の充電状態を正確に予測することが困難になる。図２８のフローチャートによれば、書換え装置５４は、予測値ＳＯＣｒｅが閾値ＴＨｓｏｃより大きい場合でも、プログラムの書換え開始時の内部抵抗Ｒが閾値ＴＨｒより大きい場合又はバッテリ電流Ｉｂａｔが閾値ＴＨｉより大きい場合は、プログラムの書換えを中止する。このため、予測の精度が低い場合、プログラムの書換えを中止することで、車両１６の再始動ができなくなる可能性を低減することが可能となる。
【０１９６】
なお、図２８のステップＳ５０５、Ｓ５０６の代わりに、上述した式（２）を用いる判定を行ってもよい。
【０１９７】
７．ＥＣＵ５６の電源オフの判定
上記実施形態において、書換え装置５４は、ＩＧＳＷ６４の位置を読み込み、又は、ＥＣＵ５６に対して応答要求を送信し、ＥＣＵ５６から応答が無い場合に、ＥＣＵ５６の電源オフを検出したが、ＥＣＵ５６の電源オフを検出する方法はこれに限らない。例えば、プログラムＩＤを要求し、その応答の有無によってＥＣＵ５６の電源オフを検出することもできる。或いは、ＩＧＳＷ６４の位置を読み込み、オフを検出してから所定時間後又は送信した応答要求にＥＣＵ５６からの応答が無いことによりＥＣＵ５６が電源オフにされたとみなすことも可能である。
【０１９８】
８．ユーザの降車及び再乗車の検出
上記実施形態では、ドアロック／乗員検知ユニット６６からの出力、すなわち、ドアロック１２２及びシートにかかる圧力により、ユーザの降車及び再乗車を検知したが、いずれか一方のみを用いてもよい。或いは、その他の方法（例えば、シートに設置した荷重センサ又は運転席付近の赤外線を検知する赤外線センサ）を用いてユーザの降車及び再乗車（車両１６内における乗員の有無）を検知することもできる。
【符号の説明】
【０１９９】
１０…プログラム書換えシステム        １６…車両
５２…受信装置                        ５４…書換え装置
５６ａ…ＥＮＧ  ＥＣＵ（電子制御装置）５６ｂ…ＡＢＳ  ＥＣＵ（電子制御装置）
５６ｃ…ＳＲＳ  ＥＣＵ（電子制御装置）５６ｄ…イモビライザＥＣＵ（電子制御装置）
６４…ＩＧＳＷ                        ７４…表示部（表示装置）
１０６…記憶部（記憶装置）
【図１】
0005558962.tif 000002
【図２】
0005558962.tif 000003
【図３】
0005558962.tif 000004
【図４】
0005558962.tif 000005
【図５】
0005558962.tif 000006
【図６】
0005558962.tif 000007
【図７】
0005558962.tif 000008
【図８】
0005558962.tif 000009
【図９】
0005558962.tif 000010
【図１０】
0005558962.tif 000011
【図１１】
0005558962.tif 000012
【図１２】
0005558962.tif 000013
【図１３】
0005558962.tif 000014
【図１４】
0005558962.tif 000015
【図１５】
0005558962.tif 000016
【図１６】
0005558962.tif 000017
【図１７】
0005558962.tif 000018
【図１８】
0005558962.tif 000019
【図１９】
0005558962.tif 000020
【図２０】
0005558962.tif 000021
【図２１】
0005558962.tif 000022
【図２２】
0005558962.tif 000023
【図２３】
0005558962.tif 000024
【図２４】
0005558962.tif 000025
【図２５】
0005558962.tif 000026
【図２６】
0005558962.tif 000027
【図２７】
0005558962.tif 000028
【図２８】
0005558962.tif 000029