(57)【要約】【課題】無線通信によって外部から制御プログラムを受信する構成としながらも、不適切な状況やタイミングにおいて制御プログラムの書き換えが行われてしまうことを防止することのできる車載電子制御装置を提供する。【解決手段】電子制御装置１００は、車両１０の現在位置を示す位置情報、現在の時刻を示す時刻情報、及び無線通信の信号レベル示す通信状態情報のうち、少なくとも１つの情報に基づいて、制御プログラムの書き換えの許可を行う。【選択図】図１
2016224898.tif 000002
【特許請求の範囲】
【請求項１】
マイコン（１１０）に記憶されている制御プログラムを、無線通信によって外部（２０）から受信した制御プログラムで書き換えることが可能な車載電子制御装置（１００）であって、
車両（１０）の現在位置を示す位置情報、現在の時刻を示す時刻情報、及び無線通信の信号レベル示す通信状態情報のうち、少なくとも１つの情報に基づいて、制御プログラムの書き換えの許可を行うことを特徴とする車載電子制御装置。
【請求項２】
前記車両には、前記位置情報に示される現在位置が予め定められた所定領域内の位置であるか否かを判定する位置判定部（２１０）が設けられており、
現在位置が前記所定領域内と判定された場合にのみ制御プログラムの書き換えの許可を行うことを特徴とする、請求項１に記載の車載電子制御装置。
【請求項３】
前記車両には、前記時刻情報に示される現在の時刻が、使用者が予め許可した所定時間帯に含まれる時刻であるか否かを判定する時刻判定部（２２０）が設けられており、
現在の時刻が前記所定時間帯に含まれると判定された場合にのみ制御プログラムの書き換えの許可を行うことを特徴とする、請求項１に記載の車載電子制御装置。
【請求項４】
前記車両には、前記通信状態情報に示される無線通信の信号レベルが予め定められた所定レベル以上であるか否かを判定する通信状態判定部（２３０）が設けられており、
無線通信の信号レベルが前記所定レベル以上と判定された場合にのみ制御プログラムの書き換えの許可を行うことを特徴とする、請求項１に記載の車載電子制御装置。
【請求項５】
前記車両には、前記位置情報、前記時刻情報、及び前記通信状態情報を取得する取得部（２００）が設けられており、
前記取得部によって前記位置情報、前記時刻情報、及び前記通信状態情報の全てが取得された後に、これらのうちの少なくとも一つの情報に基づいて、制御プログラムの書き換えの許可を行うことを特徴とする、請求項１乃至４のいずれか１項に記載の車載電子制御装置。
【請求項６】
制御プログラムの書き換えが行われている間に、制御プログラムの書き換えが許可されない状態となった場合には、
制御プログラムの書き換えを中止して、書き換えの開始前に予め退避させておいた制御プログラムを前記マイコンに書き戻し、
使用者の所有する携帯通信端末（３０）を介して使用者へ報知することを特徴とする、請求項２乃至５のいずれか１項に記載の車載電子制御装置。
【請求項７】
制御プログラムの書き換えが正常に完了した場合には、使用者の所有する携帯通信端末を介して使用者へ報知することを特徴とする、請求項１乃至５のいずれか１項に記載の車載電子制御装置。
【請求項８】
制御プログラムの書き換えが許可されなかった場合には、使用者の所有する携帯通信端末を介して使用者へ報知することを特徴とする、請求項１乃至５のいずれか１項に記載の車載電子制御装置。
【請求項９】
使用者へ報知される情報には、車両の走行が可能か否かを示す情報、及び、前記マイコンに記憶されている制御プログラムのバージョンを示す情報が含まれることを特徴とする、請求項８に記載の車載電子制御装置。
【請求項１０】
予め退避させていた制御プログラムを前記マイコンに書き戻す処理が、正常に完了しなかった場合には、使用者の所有する携帯通信端末を介して使用者へ報知することを特徴とする、請求項６に記載の車載電子制御装置。
【請求項１１】
使用者へ報知される情報には、車両の走行が可能か否かを示す情報、及び、前記マイコンに記憶されている制御プログラムのバージョンを示す情報が含まれることを特徴とする、請求項１０に記載の車載電子制御装置。
【請求項１２】
制御プログラムは、複数のブロックに分割され、当該ブロック毎に前記マイコンに書き込まれるものであって、
制御プログラムの書き換えが許可される条件が満たされているか否かの判定が、それぞれの前記ブロックが書き込まれる前に毎回行われることを特徴とする、請求項１乃至５のいずれか１項に記載の車載電子制御装置。
【請求項１３】
無線通信を行って外部から制御プログラムを受信する機能、を有することを特徴とする、請求項１乃至１２のいずれか１項に記載の車載電子制御装置。
【請求項１４】
前記位置情報に示される現在位置が予め定められた所定領域内の位置であるか否かを判定する機能、を有することを特徴とする、請求項１３に記載の車載電子制御装置。
【請求項１５】
前記時刻情報に示される現在の時刻が、使用者が予め許可した所定時間帯に含まれる時刻であるか否かを判定する機能、を有することを特徴とする、請求項１３に記載の車載電子制御装置。
【請求項１６】
前記通信状態情報に示される無線通信の信号レベルが予め定められた所定レベル以上であるか否かを判定する機能、を有することを特徴とする、請求項１３に記載の車載電子制御装置。
【請求項１７】
前記位置情報、前記時刻情報、及び前記通信状態情報を取得する機能、を有し、
前記位置情報、前記時刻情報、及び前記通信状態情報の全てを取得した後に、これらのうちの少なくとも一つの情報に基づいて、制御プログラムの書き換えの許可を行うことを特徴とする、請求項１３乃至１６のいずれか１項に記載の車載電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイコンに記憶されている制御プログラムを、無線通信によって外部から受信した制御プログラムで書き換えることが可能な車載電子制御装置に関する。
【背景技術】
【０００２】
車両に搭載され、燃料噴射等の制御を行うための制御装置である車載電子制御装置（ＥＣＵ）は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えたマイコンを有している。マイコンのＲＯＭには、車載電子制御装置で実行される制御プログラムが記憶されている。
【０００３】
制御プログラムは、車両の製造時においてＲＯＭに書き込まれる。ただし、車両の使用が開始された後においても、改修等の目的で制御プログラムの書き換えが行われる場合がある。制御プログラムの書き換えは、書き込み装置と車両とが有線で接続された状態で行われることが多い。
【０００４】
近年では、新しい制御プログラムを無線通信によって外部（センタ）から受信し、これをＲＯＭに書き込むことで、制御プログラムの書き換えを行うことも提案されている（下記特許文献１を参照）。このような構成の車載電子制御装置における制御プログラムの書き換えは、例えば車両が使用者の車庫に停車しているとき等に、使用者の特別な操作を必要とすることなく自動的に行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１９１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
有線接続された状態での通信に比べて、無線通信は通信状態が不安定になりやすくエラーが生じやすい。このため、制御プログラムを無線通信によって外部から受信する構成の車載電子制御装置では、電波状態の悪化（信号レベルの低下）に起因して、制御プログラムの受信に失敗してしまう可能性がある。また、通信エラーにより正常ではない制御プログラムがＲＯＭに書き込まれてしまう可能性もある。更に、制御プログラムの受信が正常に行われた後であっても、何らかの原因でＲＯＭへの書き込みに失敗してしまう可能性もある。
【０００７】
制御プログラムの受信や、ＲＯＭへの書き込みに失敗してしまうと、ＲＯＭから制御プログラムが消去されたままとなってしまったり、正常ではない制御プログラムがＲＯＭに書き込まれてしまったりする可能性がある。この場合、車両は走行し得ない状態となってしまう。
【０００８】
使用者の知らない間に制御プログラムの書き換えが試みられ、その結果として上記のように車両が走行し得ない状態となってしまうことは、当然ながら使用者にとって望ましいことではない。
【０００９】
本発明はこのような課題に鑑みてなされたものであり、その目的は、無線通信によって外部から制御プログラムを受信する構成としながらも、不適切な状況やタイミングにおいて制御プログラムの書き換えが行われてしまうことを防止することのできる車載電子制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係る車載電子制御装置は、マイコンに記憶されている制御プログラムを、無線通信によって外部から受信した制御プログラムで書き換えることが可能な車載電子制御装置であって、車両の現在位置を示す位置情報、現在の時刻を示す時刻情報、及び無線通信の信号レベル示す通信状態情報のうち、少なくとも１つの情報に基づいて、制御プログラムの書き換えの許可を行う。
【００１１】
このような車載電子制御装置では、位置情報、時刻情報、通信状態情報のうちの少なくとも１つの情報に基づいて、制御プログラムの書き換えの許可が行われる。例えば、通信状態情報に基づいて、無線通信の信号レベルが所定レベル以上と判定された場合にのみ書き換えの許可が行われることとすれば、無線通信の失敗や、その後の書き換えの失敗を防止することができる。
【００１２】
また、時刻情報に基づいて、使用者によって予め許可された時間帯にのみ書き換えの許可が行われることとすれば、使用者の望まないタイミングで制御プログラムの書き換えが実行されてしまうことを防止することができる。換言すれば、使用者が車両を使用する必要のある時間帯（日時）を避けた適切なタイミングで、制御プログラムの書き換えを実行することができる。
【発明の効果】
【００１３】
本発明によれば、無線通信によって外部から制御プログラムを受信する構成としながらも、不適切な状況やタイミングにおいて制御プログラムの書き換えが行われてしまうことを防止することのできる車載電子制御装置が提供される。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態に係る電子制御装置、及びこれを搭載した車両の構成を模式的に示す図である。
【図２】センタ、中継装置、電子制御装置、及び外部通信機の間で行われる通信の手順を示す図である。
【図３】センタ、中継装置、電子制御装置、及び外部通信機の間で行われる通信の手順を示す図である。
【図４】センタ、中継装置、電子制御装置、及び外部通信機の間で行われる通信の手順を示す図である。
【図５】外部通信機によって実行される処理の流れを示すフローチャートである。
【図６】外部通信機によって実行される処理の流れを示すフローチャートである。
【図７】電子制御装置によって実行される処理の流れを示すフローチャートである。
【図８】電子制御装置によって実行される処理の流れを示すフローチャートである。
【図９】電子制御装置によって実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【００１６】
本発明の実施形態に係る車載電子制御装置（以下、「電子制御装置１００」と表記する）の構成について、図１を参照しながら説明する。電子制御装置１００は、車両１０に搭載される制御装置であって、例えば内燃機関における燃料噴射を制御するための装置として構成されている。電子制御装置１００は、所謂ＥＣＵとも称されるものである。
【００１７】
電子制御装置１００は、その主たる構成要素としてマイコン１１０を備えている。マイコン１１０は、不図示のＣＰＵの他、データ送受信部１１１と、ＲＡＭ１１２と、ＲＯＭ１１３とを有している。
【００１８】
データ送受信部１１１は、電子制御装置１００が他の機器との通信を行う際におけるインターフェースとなる部分である。データ送受信部１１１は、車両１０内に配置された通信経路４００に接続されている。データ送受信部１１１は、この通信経路４００を介して他の機器（後述の中継装置３００等）との通信を行う。
【００１９】
尚、図１において、通信経路４００は１本の線で模式的に描かれているが、通信経路４００を構成する通信線の実際の本数や接続態様は図１のようなものに限定されない。これらは、通信方式（プロトコル）によって適宜設定されるものである。
【００２０】
ＲＡＭ１１２は、マイコン１１０に備えられた揮発性メモリである。ＲＡＭ１１２は、ＣＰＵにより制御プログラムが実行される際における一時的な情報の格納場所として用いられる。また、後に説明するように、ＲＯＭ１１３に対する制御プログラムの書き換えが行われる際には、ＲＡＭ１１２は既存の制御プログラムの退避場所としても用いられる。
【００２１】
ＲＯＭ１１３は、マイコン１１０に備えられた不揮発性メモリである。ＲＯＭ１１３には、ＣＰＵにより実行される制御プログラム等が記憶されている。ＲＯＭ１１３はフラッシュメモリであり、記憶されている制御プログラム等をオンボードの状態で書き換えること（新規に書き込むことも含む）が可能となっている。
【００２２】
後に詳しく説明するように、電子制御装置１００は、センタ２０から無線通信によって送信される新しい制御プログラムを受け取り、これをＲＯＭ１１３に書き込むことで制御プログラムの書き換えを行うことが可能となっている。
【００２３】
電子制御装置１００が搭載されている車両１０の構成について、引き続き図１を参照しながら説明する。車両１０には、外部通信機２００と、中継装置３００とが搭載されている。
【００２４】
外部通信機２００は、外部と無線通信を行うための端末として構成された装置である。外部通信機２００は、無線通信を行うためのアンテナ２０１を備えている。また、外部通信機２００は、電子制御装置１００と同様に、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有するマイコン(不図示）を備えた制御装置として構成されている。
【００２５】
外部通信機２００は通信経路４００に接続されている。外部通信機２００は、通信経路４００を介して電子制御装置１００や中継装置３００との通信を行うことができる。
【００２６】
外部通信機２００は、機能的な制御ブロックとして、位置判定部２１０と、時刻判定部２２０と、通信状態判定部２３０とを備えている。位置判定部２１０は、ＧＰＳによって車両１０の現在位置を測定する部分である。位置判定部２１０には、ＲＯＭ１１３に対する制御プログラムの書き換えを行うことが許される領域（車両位置の範囲）として、複数の許可領域が予め設定されている。このような許可領域としては、例えば使用者の自宅の車庫や、車両１０のメンテナンスを行うディーラの敷地などが設定される。位置判定部２１０は、車両１０の現在位置が上記許可領域内であるか否かの判定を他の機器からの求めに応じて行い、その判定の結果を当該機器に送信することが可能となっている。
【００２７】
時刻判定部２２０は、現在の日時を測定する時計として機能する部分である。時刻判定部２２０には、ＲＯＭ１１３に対する制御プログラムの書き換えを行うことが許される時間帯として許可時間帯が設定されている。時刻判定部２２０は、現在の日時が上記許可時間帯に含まれるか否かの判定を他の機器からの求めに応じて行い、その判定の結果を当該機器に送信することが可能となっている。使用者による許可時間帯の設定は、使用者が所有する携帯通信端末３０を介して行われる。
【００２８】
通信状態判定部２３０は、無線通信の電波状況、具体的には他の機器から受信される信号の信号レベルを測定する部分である。通信状態判定部２３０には、制御プログラムを安定して受信するために必要となる信号レベルの閾値（以下、当該閾値のことを「最低信号レベル」と表記する）が予め設定されている。通信状態判定部２３０は、現時点における信号レベルが上記最低信号レベル以上であるか否かの判定を他の機器からの求めに応じて行い、その判定の結果を当該機器に送信することが可能となっている。
【００２９】
中継装置３００は、外部通信機２００と電子制御装置１００とを繋ぐ通信経路４００の途中に設けられた装置である。中継装置３００は、センタ２０から無線通信で受信された制御プログラムを一時的に保存する（バッファリングする）機能を有する。また、中継装置３００は、電子制御装置１００に対して制御プログラムの書き換え要求を送信し、書き換えを開始させる機能等をも有している。
【００３０】
中継装置３００は、中継部３１０とバッファ部３２０とにより構成されている。中継部３１０は、所謂ゲートウェイとして機能する部分であって、外部通信機２００、電子制御装置１００、及びバッファ部３２０のそれぞれの間における通信を中継するものである。
【００３１】
バッファ部３２０は、データを保管するストレージとして機能する部分である。バッファ部３２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有するマイコン(不図示）を備えた制御装置として構成されている。バッファ部３２０には、制御プログラムの書き換えが行われる際において、センタ２０から無線通信で受信された制御プログラムが一時的に保存される。
【００３２】
なお、以上のような機能を有する中継部３１０及びバッファ部３２０は、互いに別体の装置として構成されていてもよいのであるが、これらが一体の装置として構成されていてもよい。
【００３３】
図１に示されるセンタ２０及び携帯通信端末３０についてそれぞれ説明する。センタ２０は、車両１０との無線通信により新しい制御プログラムを送信し、ＲＯＭ１１３に書き込まれている制御プログラムの書き換えを車両１０側で行わせるためのサーバーである。センタ２０は、例えば車両１０を製造するメーカーからの委託によって運営されているものである。
【００３４】
携帯通信端末３０は、車両１０の使用者が携帯する無線通信端末であって、例えばスマートフォンのような携帯電話機である。また、無線通信機能を備えたパソコンである場合もある。電子制御装置１００は、携帯通信端末３０と無線通信を行うことにより、車両１０の状態（制御プログラムの書き換えが行われる際の処理状況や結果等）を使用者に報知することが可能となっている。また、使用者が携帯通信端末３０に対して行った操作を無線通信により取得することで、使用者の意思に基づいた許可時間帯の設定変更等を行うことも可能となっている。
【００３５】
制御プログラムの書き換えが行われる際の手順（シーケンス）について、図２乃至図４を参照しながら説明する。図２乃至図４には、センタ２０、中継装置３００、電子制御装置１００、及び外部通信機２００のそれぞれの間で行われる通信の手順が示されている。図２に示されるのは、制御プログラムの受信及び蓄積のための手順である。図３に示されるのは、図２に示される手順に続いて行われるものであって、既存の制御プログラムをＲＯＭ１１３から消去するための手順である。図４に示されるのは、図３に示される手順に続いて行われるものであって、受信した新たな制御プログラムをＲＯＭ１１３に書き込むための手順である。
【００３６】
図２に示される手順から順に説明する。先ず、センタ２０からの認証要求が中継装置３００へと送信される（矢印ＡＲ１１）。中継装置３００は、受信した認証要求に含まれる情報を予め記憶されている認証情報と照合することにより、センタ２０が正規の通信相手であるか否かの判定を行う。センタ２０が正規の通信相手であると判定されれば、その判定結果（結果応答）がセンタ２０へと送信される（矢印ＡＲ１２）。センタ２０が正規の通信相手であると判定されなかった場合には、センタ２０との通信が中断される。
【００３７】
続いて、センタ２０からの確認要求が外部通信機２００へと送信される（矢印ＡＲ１３）。確認要求とは、制御プログラムの書き換えを実行し得る状況であるか否かの確認（判定）を行うよう、外部通信機２００に要求するための信号である。かかる判定のために外部通信機２００で行われる処理のことを、以下では「状態判定処理」とも称する。
【００３８】
確認要求を受信すると、外部通信機２００では状態判定処理が行われる（符号Ｐ１１）。このときに行われる状態判定処理では、車両１０の現在位置が許可領域内であるか否かの判定（以下、「位置判定」とも称する）が位置判定部２１０により行われる。続いて、現在の日時（時刻）が許可時間帯に含まれるか否かの判定（以下、「日時判定」とも称する）が時刻判定部２２０によって行われる。更に、現時点における無線通信の信号レベルが所定値（最低信号レベル）以上であるか否かの判定（以下、「通信判定」とも称する）が通信状態判定部２３０によって行われる。
【００３９】
尚、以上のような状態判定処理が行われるにあたっては、それに先立ち、外部通信機２００による情報の取得が行われる。具体的には、車両１０の現在位置を示す情報（位置情報）と、現在の時刻を示す情報（時刻情報）と、現時点における無線通信の信号レベを示す情報（通信状態情報）とが、予め外部通信機２００により取得される。つまり外部通信機２００は、各種情報の「取得部」として機能するものである。
【００４０】
位置判定、日時判定、及び通信判定の結果が何れも「ＯＫ」であった場合、すなわち、車両１０の現在位置が許可領域内であり、現在の日時が許可時間帯に含まれており、現時点における信号レベルが最低信号レベル以上であった場合には、その旨が確認結果応答として外部通信機２００からセンタ２０へと送信される（矢印ＡＲ１４）。位置判定、日時判定、及び通信判定のいずれかの結果が「ＮＧ」であった場合には、その旨を示す確認結果応答が送信される。その後、制御プログラムの書き換えのための処理が中断される。
【００４１】
センタ２０は、外部通信機２００からの確認結果応答を受信すると、新しい制御プログラムを中継装置３００へと送信し始める（矢印ＡＲ１５）。中継装置３００は当該制御プログラムを受信し、これをバッファ部３２０に一時的に保存する（符号Ｐ１２）。
【００４２】
バッファ部３２０に制御プログラムの全体を保存し終わると、中継装置３００からの結果応答、すなわち、制御プログラムの受信が完了した旨を通知するための応答信号がセンタ２０へと送信される（矢印ＡＲ１６）。
【００４３】
その後、センタ２０からのベリファイ要求が中継装置３００へと送信される（矢印ＡＲ１７）。ベリファイ要求とは、受信された制御プログラムが正常なものであるか否かを確認するための処理（ベリファイ）を行うよう、中継装置３００に要求するための信号である。中継装置３００（バッファ部３２０）は、センタ２０からのベリファイ要求を受信すると、ベリファイの処理を行う。その後、ベリファイの結果を示す信号である結果応答が、中継装置３００からセンタ２０へと送信される（矢印ＡＲ１８）。
【００４４】
以上に続いて行われる手順について、図３を参照しながら説明する。上記のようにセンタ２０に結果応答が送信された後、中継装置３００からの認証要求が電子制御装置１００へと送信される（矢印ＡＲ２１）。電子制御装置１００は、受信した認証要求に含まれる情報を予め記憶されている認証情報と照合することにより、センタ２０から受信された制御プログラムが正規のものであるか否かの判定を行う。
【００４５】
制御プログラムが正規のものであると判定されれば、その判定結果（結果応答）が中継装置３００へと送信される（矢印ＡＲ２２）。制御プログラムが正規のものであると判定されなかった場合には、その旨を示す結果応答が送信され、制御プログラムの書き換えのための処理が中断される。
【００４６】
続いて、中継装置３００からの消去要求が電子制御装置１００へと送信される（矢印ＡＲ２３）。消去要求とは、現時点でＲＯＭ１１３に記憶されている制御プログラムの消去を行うよう、電子制御装置１００に要求するための信号である。
【００４７】
電子制御装置１００が消去要求を受信しても、制御プログラムの消去は直ちには行われない。消去に先立ち、電子制御装置１００からの確認要求が外部通信機２００へと送信される（矢印ＡＲ２４）。確認要求は、図２の矢印ＡＲ１３で示される確認要求と同様の信号である。すなわち、制御プログラムの書き換えを実行し得る状況であるか否かの確認（状態判定処理）を行うよう、外部通信機２００に要求するための信号である。
【００４８】
確認要求を受信すると、外部通信機２００では状態判定処理が行われる（符号Ｐ２１）。このときに行われる状態判定処理では、図２の符号Ｐ１１が付された状態判定処理の場合と同様に、位置判定部２１０により位置判定が行われ、時刻判定部２２０により日時判定が行われる。ただし、センタ２０との間における無線通信は不要であるから、通信状態判定部２３０による通信判定は行われない。
【００４９】
尚、符号Ｐ２１が付された状態判定処理が行われるにあたっては、それに先立ち、外部通信機２００による情報の取得が行われる。図２の符号Ｐ１１が付された状態判定処理の場合と同様に、ここでも、車両１０の現在位置を示す情報（位置情報）と、現在の時刻を示す情報（時刻情報）と、現時点における無線通信の信号レベを示す情報（通信状態情報）とが、予め外部通信機２００により取得される。
【００５０】
状態判定処理はその後も複数回行われるのであるが、それぞれの状態判定処理が行われる前には、位置情報、時刻情報、及び通信状態情報の全てが予め取得される。本実施形態では、例えば通信判定が行われないために通信状態情報が不要であるとしても、位置情報、時刻情報、及び通信状態情報の全てが予め取得される。このような態様に替えて、必要な情報のみが取得されるような態様であってもよい。以下においては、状態判定処理に先立って行われる位置情報等の取得についての説明を省略する。
【００５１】
位置判定及び日時判定の結果が何れもＯＫであった場合、すなわち、車両１０の現在位置が許可領域内であり、現在の日時が許可時間帯に含まれている場合には、その旨が確認結果応答として外部通信機２００から電子制御装置１００へと送信される（矢印ＡＲ２５）。位置判定及び日時判定のいずれかの結果がＮＧであった場合には、その旨を示す確認結果応答が送信され、制御プログラムの書き換えのための処理が中断される。
【００５２】
電子制御装置１００は、外部通信機２００からの確認結果応答を受信すると、既存の制御プログラムをＲＯＭ１１３からＲＡＭ１１２へと退避させる（符号Ｐ２２）。つまり、ＲＯＭ１１３に記憶されている既存の制御プログラムを、ＲＡＭ１１２へとコピーする。以降の処理、すなわち、既存の制御プログラムの消去や新しい制御プログラムの書き込み等が行われる際において、万が一エラーが生じた場合には、既存の制御プログラムがＲＡＭ１１２からＲＯＭ１１３へと書き戻される。
【００５３】
制御プログラムの退避が完了すると、ＲＯＭ１１３から制御プログラムが消去される（符号Ｐ２３）。制御プログラムの消去が完了すると、電子制御装置１００からの結果応答、すなわち、制御プログラムの消去が完了した旨を通知するための応答信号が中継装置３００へと送信される（矢印ＡＲ２６）。
【００５４】
以上に続いて行われる手順について、図４を参照しながら説明する。上記のように中継装置３００に結果応答が送信された後、中継装置３００からの書き込み要求が電子制御装置１００へと送信される（矢印ＡＲ３１）。書き込み要求とは、センタ２０から受信した新しい制御プログラムをＲＯＭ１１３に書き込むよう、電子制御装置１００に要求するための信号である。中継装置３００からは、書き込み要求と共に制御プログラムのデータも併せて送信される。
【００５５】
電子制御装置１００が書き込み要求を受信しても、制御プログラムの書き込みは直ちには行われない。書き込みに先立ち、電子制御装置１００からの確認要求が外部通信機２００へと送信される（矢印ＡＲ３２）。確認要求は、図２の矢印ＡＲ１３等で示される確認要求と同様の信号である。すなわち、状態判定処理を行うよう外部通信機２００に要求するための信号である。
【００５６】
確認要求を受信すると、外部通信機２００では状態判定処理が行われる（符号Ｐ３１）。このときに行われる状態判定処理では、図３の符号Ｐ２１が付された状態判定処理の場合と同様に、位置判定部２１０により位置判定が行われ、時刻判定部２２０により日時判定が行われる。ここでもセンタ２０との間における無線通信は不要であるから、通信状態判定部２３０による通信判定は行われない。
【００５７】
位置判定及び日時判定の結果が何れもＯＫであった場合には、その旨が確認結果応答として外部通信機２００から電子制御装置１００へと送信される（矢印ＡＲ３３）。位置判定及び日時判定のいずれかの結果がＮＧであった場合には、その旨を示す確認結果応答が送信され、制御プログラムの書き換えのための処理が中断される。
【００５８】
電子制御装置１００は、外部通信機２００からの確認結果応答を受信すると、ＲＯＭ１１３への制御プログラムの書き込みを行う（符号Ｐ３２）。制御プログラムの書き込みが完了すると、電子制御装置１００からの結果応答、すなわち、制御プログラムの書き込みが完了した旨を通知するための応答信号が中継装置３００へと送信される（矢印ＡＲ３４）。
【００５９】
尚、制御プログラムのデータは予め複数のブロックに分割されている。図４の矢印ＡＲ３１ではそのうちの１つのブロックが中継装置３００から電子制御装置へと送信され、当該ブロックがＲＯＭ１１３に書き込まれる(符号Ｐ３２）。以上に説明した処理、すなわち図４における矢印ＡＲ３１から矢印ＡＲ３４までの範囲に示された処理は、上記ブロックの数だけ繰り返される。その結果、最終的には制御プログラムの全体が電子制御装置１００に送信され、ＲＯＭ１１３に書き込まれる。
【００６０】
つまり、各ブロックの書き込みが行われる前には、外部通信機２００による状態判定処理が行われ、その結果に基づいて当該ブロックの書き込みの許可が行われる。制御プログラムの書き換えが行われている間に、制御プログラムの書き換えが許可されない状態となった場合（状態判定処理の結果がＮＧとなった場合）には、制御プログラムの書き換えが中止される。
【００６１】
この場合、後に図８を参照しながら説明するように、ＲＡＭ１１２へと退避させていた制御プログラムがＲＯＭ１１３へと書き戻される。また、制御プログラムの書き換えが行われなかったことが、携帯通信端末３０を介して使用者へと報知される。
【００６２】
最後のブロックがＲＯＭ１１３に書き込まれ、中継装置３００に結果応答が送信された後、中継装置３００からのベリファイ要求が電子制御装置１００へと送信される（矢印ＡＲ３５）。ベリファイ要求とは、ＲＯＭ１１３に制御プログラムが正しく書き込まれたか否かを確認するための処理（ベリファイ）を行うよう、電子制御装置１００に要求するための信号である。
【００６３】
電子制御装置１００がベリファイ要求を受信しても、ベリファイの処理は直ちには行われない。ベリファイに先立ち、電子制御装置１００からの確認要求が外部通信機２００へと送信される（矢印ＡＲ３６）。確認要求は、図２の矢印ＡＲ１３等で示される確認要求と同様の信号である。すなわち、状態判定処理を行うよう外部通信機２００に要求するための信号である。
【００６４】
確認要求を受信すると、外部通信機２００では状態判定処理が行われる（符号Ｐ３３）。このときに行われる状態判定処理では、図３の符号Ｐ２１が付された状態判定処理の場合と同様に、位置判定部２１０により位置判定が行われ、時刻判定部２２０により日時判定が行われる。ここでもセンタ２０との間における無線通信は不要であるから、通信状態判定部２３０による通信判定は行われない。
【００６５】
位置判定及び日時判定の結果が何れもＯＫであった場合には、その旨が確認結果応答として外部通信機２００から電子制御装置１００へと送信される（矢印ＡＲ３７）。位置判定及び日時判定のいずれかの結果がＮＧであった場合には、その旨を示す確認結果応答が送信され、制御プログラムの書き換えのための処理が中断される。尚、ベリファイについては、符号Ｐ３３で示される状態判定処理を経ることなく常に実行されることとしてもよい。
【００６６】
電子制御装置１００は、外部通信機２００からの確認結果応答を受信すると、ＲＯＭ１１３に書き込まれた制御プログラムのベリファイを行う（符号Ｐ３４）。ベリファイの処理が完了すると、電子制御装置１００からの結果応答、すなわち、ベリファイの処理が完了した旨を通知するための応答信号が中継装置３００へと送信される（矢印ＡＲ３８）。
【００６７】
結果応答が送信された後、電子制御装置１００では、ＲＡＭ１１２に退避させていた制御プログラムを消去する処理が行われる（符号Ｐ３５）。当該処理が完了すると、電子制御装置１００から書き込み完了通知が外部通信機２００へと送信される（矢印ＡＲ３９）。書き込み完了通知とは、制御プログラムの書き換えのために行われる一連の処理が全て完了したことを、センタ２０及び使用者に報知するための信号である。
【００６８】
外部通信機２００は、電子制御装置１００からの書き込み完了通知を受信すると、当該書き込み完了通知を無線通信によりセンタ２０へと送信する（矢印ＡＲ４０）。センタ２０は、当該書き込み完了通知を携帯通信端末３０に送信し、書き込みが完了した旨を使用者に報知する。尚、センタ２０を介することなく、外部通信機２００から携帯通信端末３０に書き込み完了通知が直接送信されるような態様であってもよい。
【００６９】
以上のように、本実施形態においては、制御プログラムの書き換えを行うための具体的な処理、例えば制御プログラムの受信（図２の符号Ｐ１２）やＲＯＭ１１３への書き込み（図４の符号Ｐ３２）は、外部通信機２００で行われる状態判定処理の結果がＯＫであった場合にのみ実行される。換言すれば、状態判定処理の結果がＮＧであった場合には、電子制御装置１００は制御プログラムの書き換えを許可しないように構成されている。制御プログラムの書き換えに適さない場所や日時、通信環境の下では書き換えが行われないので、書き換えに失敗する可能性が低減されている。また、許可時間帯ではないときに、使用者の意思に基づくことなく書き換えが行われてしまうことがない。
【００７０】
外部通信機２００で実行される具体的な処理の流れについて、図５及び図６を参照しながら説明する。尚、外部通信機２００で実行される処理とは、図２乃至図４における符号Ｐ１１、Ｐ２１、Ｐ３１、Ｐ３３で示される処理、及び、制御プログラムの書き換えのための一連の処理の最後に行われる処理（書き込み完了通知を受信する際の処理）のことである。これらの処理には共通している点が多いため、基本的には共通の図５を参照しながら説明することとし、それぞれの処理毎に相違する点については都度説明を加えることとする。
【００７１】
先ず、図２の符号Ｐ１１で示される処理、すなわち、制御プログラムがセンタ２０から送信される直前に、外部通信機２００で実行される処理について説明する。図５に示される最初のステップＳ０１では、センタ２０からの確認要求（図２の矢印ＡＲ１３）が受信されたか否かが判定される。確認要求が受信されていなければ、ステップＳ０１の処理が繰り返し実行される。確認要求が受信されれば、ステップＳ０２に移行する。
【００７２】
ステップＳ０２では状態判定処理が行われ、制御プログラムの受信を行うための許可条件が成立しているか否かが判定される。ここでは、既に説明した状態判定処理の１つである位置判定が行われる。位置判定の結果がＯＫであればステップＳ０３に移行する。
【００７３】
ステップＳ０３では、使用者に対する許可時間帯の確認が行われる。具体的には、無線通信により携帯通信端末３０にダイアログボックスが表示され、使用者に対し許可時間帯の設定操作が要求される。当該ダイアログボックスの操作により、許可時間帯の設定が行われると、設定された許可時間帯が無線通信により携帯通信端末３０から取得される。その後、外部通信機２００に記憶されている許可時間帯が、取得された新たな許可時間帯に更新される。
【００７４】
ステップＳ０３に続くステップＳ０４では、制御プログラムの受信を行うための許可条件が成立しているか否かが再度判定される。ここでは、状態判定処理のうち日時判定と通信判定とが順に行われる。日時判定及び通信判定の結果が何れもＯＫであった場合には、ステップＳ０５に移行する。ステップＳ０５では、センタ２０に確認結果応答（図２の矢印ＡＲ１４）が送信される。送信される確認結果応答には、制御プログラムの受信が許可されることを示す情報が含まれる。
【００７５】
ステップＳ０２における位置判定の結果がＮＧであった場合、又はステップＳ０４における日時判定及び通信判定の結果のうち少なくとも一方がＮＧであった場合には、ステップＳ０７に移行する。ステップＳ０７では、センタ２０に確認結果応答が送信される。送信される確認結果応答には、制御プログラムの受信が許可されないことを示す情報が含まれる。
【００７６】
ステップＳ０７に続くステップＳ０８では、使用者への報知が行われる。具体的には、外部通信機２００からの無線通信により携帯通信端末３０にメッセージが表示される。当該メッセージにより、車両１０の走行が可能であることと、ＲＯＭ１１３に記憶されている制御プログラムのバージョンが旧版であることと、が使用者に対して通知される。
【００７７】
再び図５を参照しながら、図３の符号Ｐ２１で示される処理、すなわち、電子制御装置１００による制御プログラムの退避や消去（図３の符号Ｐ２２、Ｐ２３）が行われる直前に、外部通信機２００で実行される処理について説明する。
【００７８】
最初のステップＳ０１では、電子制御装置１００からの確認要求（図３の矢印ＡＲ２４）が受信されたか否かが判定される。確認要求が受信されていなければ、ステップＳ０１の処理が繰り返し実行される。確認要求が受信されれば、ステップＳ０２に移行する。
【００７９】
ステップＳ０２では状態判定処理が行われ、制御プログラムの退避や消去を行うための許可条件が成立しているか否かが判定される。ここでは、既に説明した状態判定処理の１つである位置判定が行われる。位置判定の結果がＯＫであればステップＳ０３に移行する。
【００８０】
ステップＳ０３では、使用者に対する許可時間帯の確認が行われる。図２の符号Ｐ１１での処理と同様に、無線通信により携帯通信端末３０にダイアログボックスが表示され、使用者に対し許可時間帯の設定操作が要求される。当該ダイアログボックスの操作により、許可時間帯の設定が行われると、設定された許可時間帯が無線通信により携帯通信端末３０から取得される。その後、外部通信機２００に記憶されている許可時間帯が、取得された新たな許可時間帯に更新される。
【００８１】
ステップＳ０３に続くステップＳ０４では、制御プログラムの退避や消去を行うための許可条件が成立しているか否かが再度判定される。ここでは、状態判定処理のうち日時判定のみが行われ、通信判定は行われない。日時判定の結果がＯＫであった場合には、ステップＳ０５に移行する。ステップＳ０５では、電子制御装置１００に確認結果応答（図３の矢印ＡＲ２５）が送信される。送信される確認結果応答には、制御プログラムの退避や消去が許可されることを示す情報が含まれる。
【００８２】
ステップＳ０２における位置判定の結果がＮＧであった場合、又はステップＳ０４における日時判定の結果がＮＧであった場合には、ステップＳ０７に移行する。ステップＳ０７では、電子制御装置１００に確認結果応答が送信される。送信される確認結果応答には、制御プログラムの退避や消去が許可されないことを示す情報が含まれる。
【００８３】
ステップＳ０７に続くステップＳ０８では、使用者への報知が行われる。具体的には、外部通信機２００からの無線通信により携帯通信端末３０にメッセージが表示される。当該メッセージにより、車両１０の走行が可能であることと、ＲＯＭ１１３に記憶されている制御プログラムのバージョンが旧版であることと、が使用者に対して通知される。
【００８４】
再び図５を参照しながら、図４の符号Ｐ３１で示される処理、すなわち、電子制御装置１００による制御プログラムの書き込み（図４の符号Ｐ３２）が行われる直前に、外部通信機２００で実行される処理について説明する。
【００８５】
最初のステップＳ０１では、電子制御装置１００からの確認要求（図４の矢印ＡＲ３２）が受信されたか否かが判定される。確認要求が受信されていなければ、ステップＳ０１の処理が繰り返し実行される。確認要求が受信されれば、ステップＳ０２に移行する。
【００８６】
ステップＳ０２では状態判定処理が行われ、制御プログラムの書き込みを行うための許可条件が成立しているか否かが判定される。ここでは、既に説明した状態判定処理の１つである位置判定が行われる。位置判定の結果がＯＫであればステップＳ０３に移行する。
【００８７】
ステップＳ０３では、使用者に対する許可時間帯の確認が行われる。図２の符号Ｐ１１での処理と同様に、無線通信により携帯通信端末３０にダイアログボックスが表示され、使用者に対し許可時間帯の設定操作が要求される。当該ダイアログボックスの操作により、許可時間帯の設定が行われると、設定された許可時間帯が無線通信により携帯通信端末３０から取得される。その後、外部通信機２００に記憶されている許可時間帯が、取得された新たな許可時間帯に更新される。
【００８８】
ステップＳ０３に続くステップＳ０４では、制御プログラムの書き込みを行うための許可条件が成立しているか否かが再度判定される。ここでは、状態判定処理のうち日時判定のみが行われ、通信判定は行われない。日時判定の結果がＯＫであった場合には、ステップＳ０５に移行する。ステップＳ０５では、電子制御装置１００に確認結果応答（図４の矢印ＡＲ３３）が送信される。送信される確認結果応答には、制御プログラムの書き込みが許可されることを示す情報が含まれる。
【００８９】
ステップＳ０２における位置判定の結果がＮＧであった場合、又はステップＳ０４における日時判定の結果がＮＧであった場合には、ステップＳ０７に移行する。ステップＳ０７では、電子制御装置１００に確認結果応答が送信される。送信される確認結果応答には、制御プログラムの書き込みが許可されないことを示す情報が含まれる。
【００９０】
この場合、電子制御装置１００では、予めＲＡＭ１１２に退避させておいた既存の制御プログラムを、ＲＯＭ１１３に書き戻す処理が行われる。このため、ＲＯＭ１１３に記憶されている制御プログラムのバージョンは旧版のままとなる。
【００９１】
ステップＳ０７に続くステップＳ０８では、使用者への報知が行われる。具体的には、外部通信機２００からの無線通信により携帯通信端末３０にメッセージが表示される。当該メッセージにより、車両１０の走行が可能であることと、ＲＯＭ１１３に記憶されている制御プログラムのバージョンが旧版であることと、が使用者に対して通知される。
【００９２】
尚、電子制御装置１００において、既存の制御プログラムをＲＯＭ１１３に書き戻す処理が失敗する場合も生じ得る。その場合、書き戻しに失敗したことを示す信号が、ステップＳ０７の後に電子制御装置１００から外部通信機２００へと送信される。また、この場合にはステップＳ０８における使用者への報知は行われない。書き戻しに失敗した場合における使用者の報知は、図６を参照しながら後に説明する処理の中で行われる。
【００９３】
再び図５を参照しながら、図４の符号Ｐ３３で示される処理、すなわち、電子制御装置１００による制御プログラムのベリファイ（図４の符号Ｐ３４）が行われる直前に、外部通信機２００で実行される処理について説明する。
【００９４】
最初のステップＳ０１では、電子制御装置１００からの確認要求（図４の矢印ＡＲ３６）が受信されたか否かが判定される。確認要求が受信されていなければ、ステップＳ０１の処理が繰り返し実行される。確認要求が受信されれば、ステップＳ０２に移行する。
【００９５】
ステップＳ０２では状態判定処理が行われ、制御プログラムのベリファイを行うための許可条件が成立しているか否かが判定される。ここでは、既に説明した状態判定処理の１つである位置判定が行われる。位置判定の結果がＯＫであればステップＳ０３に移行する。
【００９６】
ステップＳ０３では、使用者に対する許可時間帯の確認が行われる。図２の符号Ｐ１１での処理と同様に、無線通信により携帯通信端末３０にダイアログボックスが表示され、使用者に対し許可時間帯の設定操作が要求される。当該ダイアログボックスの操作により、許可時間帯の設定が行われると、設定された許可時間帯が無線通信により携帯通信端末３０から取得される。その後、外部通信機２００に記憶されている許可時間帯が、取得された新たな許可時間帯に更新される。尚、ベリファイの直前に行われる処理（図４の符号Ｐ３３）においては、ステップＳ０３の処理が省略されてもよい。
【００９７】
ステップＳ０３に続くステップＳ０４では、制御プログラムのベリファイを行うための許可条件が成立しているか否かが再度判定される。ここでは、状態判定処理のうち日時判定のみが行われ、通信判定は行われない。日時判定の結果がＯＫであった場合には、ステップＳ０５に移行する。ステップＳ０５では、電子制御装置１００に確認結果応答（図４の矢印ＡＲ３７）が送信される。送信される確認結果応答には、制御プログラムのベリファイが許可されることを示す情報が含まれる。
【００９８】
ステップＳ０２における位置判定の結果がＮＧであった場合、又はステップＳ０４における日時判定の結果がＮＧであった場合には、ステップＳ０７に移行する。ステップＳ０７では、電子制御装置１００に確認結果応答が送信される。送信される確認結果応答には、制御プログラムのベリファイが許可されないことを示す情報が含まれる。
【００９９】
この場合、電子制御装置１００では、予めＲＡＭ１１２に退避させておいた既存の制御プログラムを、ＲＯＭ１１３に書き戻す処理が行われる。このため、ＲＯＭ１１３に記憶されている制御プログラムのバージョンは旧版のままとなる。
【０１００】
ステップＳ０７に続くステップＳ０８では、使用者への報知が行われる。具体的には、外部通信機２００からの無線通信により携帯通信端末３０にメッセージが表示される。当該メッセージにより、車両１０の走行が可能であることと、ＲＯＭ１１３に記憶されている制御プログラムのバージョンが旧版であることと、が使用者に対して通知される。
【０１０１】
ここでも、電子制御装置１００において、既存の制御プログラムをＲＯＭ１１３に書き戻す処理が失敗する場合が生じ得る。その場合、書き戻しに失敗したことを示す信号が、ステップＳ０７の後に電子制御装置１００から外部通信機２００へと送信される。また、この場合にはステップＳ０８における使用者への報知は行われない。書き戻しに失敗した場合における使用者の報知は、図６に示される処理の中で行われる。
【０１０２】
図６を参照しながら、制御プログラムの書き換えのための一連の処理の最後に行われる処理、すなわち、電子制御装置１００からの書き込み完了通知（図４の矢印ＡＲ３９）を受信する際の処理について説明する。
【０１０３】
最初のステップＳ０９では、書き込み完了通知がされたか否かが判定される。電子制御装置１００からの書き込み完了通知が受信された場合には、ステップＳ１０に移行する。
【０１０４】
ステップＳ１０に移行したということは、制御プログラムの書き換えに必要な処理が全て正常に終了したということである。このため、ステップＳ１０ではその旨が使用者に報知される。
【０１０５】
具体的には、外部通信機２００からの無線通信により携帯通信端末３０にメッセージが表示される。当該メッセージにより、車両１０の走行が可能であることと、ＲＯＭ１１３に記憶されている制御プログラムのバージョンが新版であることと、が使用者に対して通知される。
【０１０６】
ステップＳ０９において、書き込み完了通知がされなかった場合は、ステップＳ１１に移行する。ステップＳ１１では、既存の制御プログラムをＲＡＭ１１２からＲＯＭ１１３に書き戻す処理が、正常に完了しているか否かが判定される。書き戻しが正常に完了していた場合には、ステップＳ１２に移行する。ステップＳ１２では、使用者への報知が行われる。
【０１０７】
具体的には、外部通信機２００からの無線通信により携帯通信端末３０にメッセージが表示される。当該メッセージにより、車両１０の走行が可能であることと、ＲＯＭ１１３に記憶されている制御プログラムのバージョンが旧版であることと、が使用者に対して通知される。
【０１０８】
ステップＳ１１において、書き戻しが正常に完了していなかった場合には、ステップＳ１３に移行する。ステップＳ１３に移行したということは、ＲＯＭ１１３には制御プログラムが書き込まれていないか、異常な制御プログラムが書き込まれているということである。ステップＳ１３では、このような状態であることが使用者に報知される。
【０１０９】
具体的には、外部通信機２００からの無線通信により携帯通信端末３０にメッセージが表示される。当該メッセージにより、車両１０の走行が不可能であることと、ＲＯＭ１１３に記憶されている制御プログラムのバージョンが不定であることと、が使用者に対して通知される。
【０１１０】
図７を参照しながら、電子制御装置１００で実行される処理のうち、既存の制御プログラムをＲＯＭ１１３から消去するために行われる処理について説明する。
【０１１１】
最初のステップＳ２１では、中継装置３００からの消去要求（図３の矢印ＡＲ２３）が受信されたか否かが判定される。消去要求が受信されていなければ、ステップＳ２１の処理が繰り返し実行される。消去要求が受信されていれば、ステップＳ２２に移行する。
【０１１２】
ステップＳ２２では、外部通信機２００に対する確認要求（図３の矢印ＡＲ２４）の送信が行われる。ステップＳ２２に続くステップＳ２３では、外部通信機２００から送信される確認結果応答（図３の矢印ＡＲ２５）が、制御プログラムの退避や消去を許可するものであるか否かが判定される。制御プログラムの消去を許可するものであれば、ステップＳ２４に移行する。
【０１１３】
ステップＳ２４では、制御プログラムの退避が行われる（図３の符号Ｐ２２）。既に説明したように、ＲＯＭ１１３に記憶されている既存の制御プログラムが、ＲＡＭ１１２へとコピーされる。ステップＳ２４に続くステップＳ２５では、制御プログラムの消去が行われる（図３の符号Ｐ２３）。既に説明したように、ＲＯＭ１１３から制御プログラムが消去される。
【０１１４】
ステップＳ２５に続くステップＳ２６では、制御プログラムの消去が正常に完了したか否かが判定される。消去が正常に完了していれば、ステップＳ２７に移行する。ステップＳ２７では、中継装置３００に結果応答が送信される（図３の矢印ＡＲ２６）。当該結果応答には、制御プログラムの消去が正常に完了したことを示す情報が含まれる。
【０１１５】
ステップＳ２６において、制御プログラムの消去が正常に完了していない場合には、ステップＳ２８に移行する。ステップＳ２８では、中継装置３００に結果応答が送信される。当該結果応答には、制御プログラムの消去が正常に完了しなかったことを示す情報が含まれる。
【０１１６】
ステップＳ２８に続くステップＳ２９では、制御プログラムの書き戻しが行われる。つまり、ＲＡＭ１１２に退避（図３の符号Ｐ２２）させていた既存の制御プログラムを、ＲＯＭ１１３に書き戻す処理が行われる。
【０１１７】
ステップＳ２９に続くステップＳ３０では、制御プログラムの書き戻しが正常に完了したか否かが判定される。書き戻しが正常に完了していれば、ステップＳ３１に移行する。ステップＳ３１では、書き戻しの結果を示す信号が外部通信機２００に送信される。当該信号には、制御プログラムの書き戻しが正常に完了したことを示す情報が含まれる。
【０１１８】
ステップＳ３０において、書き戻しが正常に完了していない場合には、ステップＳ３２に移行する。ステップＳ３２では、書き戻しの結果を示す信号が外部通信機２００に送信される。当該信号には、制御プログラムの書き戻しが正常に完了しなかったことを示す情報が含まれる。
【０１１９】
ステップＳ２３において、外部通信機２００からの確認結果応答が、制御プログラムの消去を許可するものでなかった場合には、ステップＳ３３に移行する。ステップＳ３３では、中継装置３００に結果応答が送信される。当該結果応答には、制御プログラムの消去が行われなかったことを示す情報が含まれる。
【０１２０】
図８を参照しながら、電子制御装置１００で実行される処理のうち、新しい制御プログラムをＲＯＭ１１３に書き込むために行われる処理について説明する。
【０１２１】
最初のステップＳ４１では、中継装置３００からの書き込み要求（図４の矢印ＡＲ３１）が受信されたか否かが判定される。書き込み要求が受信されていなければ、ステップＳ４１の処理が繰り返し実行される。書き込み要求が受信されていれば、ステップＳ４２に移行する。
【０１２２】
ステップＳ４２では、外部通信機２００に対する確認要求（図４の矢印ＡＲ３２）の送信が行われる。ステップＳ４２に続くステップＳ４３では、外部通信機２００から送信される確認結果応答（図４の矢印ＡＲ３３）が、制御プログラムの書き込みを許可するものであるか否かが判定される。制御プログラムの書き込みを許可するものであれば、ステップＳ４４に移行する。
【０１２３】
ステップＳ４４では、ＲＯＭ１１３に対する制御プログラムの書き込みが行われる（図４の符号Ｐ３２）。ステップＳ４４に続くステップＳ４５では、制御プログラムの書き込みが正常に完了したか否かが判定される。書き込みが正常に完了していれば、ステップＳ４６に移行する。ステップＳ４６では、中継装置３００に結果応答が送信される（図４の矢印ＡＲ３４）。当該結果応答には、制御プログラムの書き込みが正常に完了したことを示す情報が含まれる。
【０１２４】
ステップＳ４５において、制御プログラムの書き込みが正常に完了していない場合には、ステップＳ４７に移行する。ステップＳ４７では、中継装置３００に結果応答が送信される。当該結果応答には、制御プログラムの書き込みが正常に完了しなかったことを示す情報が含まれる。
【０１２５】
ステップＳ４７に続くステップＳ４８では、制御プログラムの書き戻しが行われる。つまり、ＲＡＭ１１２に退避（図３の符号Ｐ２２）させていた既存の制御プログラムを、ＲＯＭ１１３に書き戻す処理が行われる。
【０１２６】
ステップＳ４８に続くステップＳ４９では、制御プログラムの書き戻しが正常に完了したか否かが判定される。書き戻しが正常に完了していれば、ステップＳ５０に移行する。ステップＳ５０では、書き戻しの結果を示す信号が外部通信機２００に送信される。当該信号には、制御プログラムの書き戻しが正常に完了したことを示す情報が含まれる。
【０１２７】
ステップＳ４９において、書き戻しが正常に完了していない場合には、ステップＳ５１に移行する。ステップＳ５１では、書き戻しの結果を示す信号が外部通信機２００に送信される。当該信号には、制御プログラムの書き戻しが正常に完了しなかったことを示す情報が含まれる。
【０１２８】
ステップＳ４３において、外部通信機２００からの確認結果応答が、制御プログラムの書き込みを許可するものでなかった場合には、ステップＳ５２に移行する。ステップＳ５２では、中継装置３００に結果応答が送信される。当該結果応答には、制御プログラムの書き込みが行われなかったことを示す情報が含まれる。
【０１２９】
ステップＳ５２に続くステップＳ５３では、制御プログラムをＲＯＭ１１３に書き戻すための処理が行われる。ステップＳ５３で行われる処理は、ステップＳ４８、Ｓ４９、Ｓ５０、Ｓ５１で示される一連の処理と同一である。
【０１３０】
図９を参照しながら、電子制御装置１００で実行される処理のうち、ＲＯＭ１１３に書き込まれた制御プログラムのベリファイのために行われる処理について説明する。
【０１３１】
最初のステップＳ６１では、中継装置３００からのベリファイ要求（図４の矢印ＡＲ３５）が受信されたか否かが判定される。ベリファイ要求が受信されていなければ、ステップＳ６１の処理が繰り返し実行される。ベリファイ要求が受信されていれば、ステップＳ６２に移行する。
【０１３２】
ステップＳ６２では、外部通信機２００に対する確認要求（図４の矢印ＡＲ３６）の送信が行われる。ステップＳ６２に続くステップＳ６３では、外部通信機２００から送信される確認結果応答（図４の矢印ＡＲ３７）が、制御プログラムのベリファイを許可するものであるか否かが判定される。制御プログラムのベリファイを許可するものであれば、ステップＳ６４に移行する。
【０１３３】
ステップＳ６４では、制御プログラムのベリファイが行われる（図４の符号Ｐ３４）。ステップＳ６４に続くステップＳ６５では、制御プログラムのベリファイが正常に完了したか否かが判定される。ベリファイが正常に完了していれば（ベリファイの結果がＯＫであれば）、ステップＳ６６に移行する。ステップＳ６６では、中継装置３００に結果応答が送信される（図４の矢印ＡＲ３８）。当該結果応答には、制御プログラムのベリファイが正常に完了したことを示す情報が含まれる。
【０１３４】
ステップＳ６６に続くステップＳ６７では、ＲＡＭ１１２に退避させていた制御プログラムを消去する処理が行われる（図４の符号Ｐ３５）。ステップＳ６７に続くステップＳ６８では、外部通信機２００に対する書き込み完了通知の送信が行われる（図４の矢印ＡＲ３９）。
【０１３５】
ステップＳ６５において、制御プログラムのベリファイが正常に完了していない場合（ベリファイの結果がＮＧであった場合）には、ステップＳ６９に移行する。ステップＳ６９では、中継装置３００に結果応答が送信される。当該結果応答には、制御プログラムのベリファイが正常に完了しなかったことを示す情報が含まれる。
【０１３６】
ステップＳ６９に続くステップＳ７０では、制御プログラムの書き戻しが行われる。つまり、ＲＡＭ１１２に退避（図３の符号Ｐ２２）させていた既存の制御プログラムを、ＲＯＭ１１３に書き戻す処理が行われる。
【０１３７】
ステップＳ７０に続くステップＳ７１では、制御プログラムの書き戻しが正常に完了したか否かが判定される。書き戻しが正常に完了していれば、ステップＳ７２に移行する。ステップＳ７２では、書き戻しの結果を示す信号が外部通信機２００に送信される。当該信号には、制御プログラムの書き戻しが正常に完了したことを示す情報が含まれる。
【０１３８】
ステップＳ７１において、書き戻しが正常に完了していない場合には、ステップＳ７３に移行する。ステップＳ７３では、書き戻しの結果を示す信号が外部通信機２００に送信される。当該信号には、制御プログラムの書き戻しが正常に完了しなかったことを示す情報が含まれる。
【０１３９】
ステップＳ６３において、外部通信機２００からの確認結果応答が、制御プログラムのベリファイを許可するものでなかった場合には、ステップＳ７４に移行する。ステップＳ７４では、中継装置３００に結果応答が送信される。当該結果応答には、制御プログラムのベリファイが行われなかったことを示す情報が含まれる。
【０１４０】
ステップＳ７４に続くステップＳ７５では、制御プログラムをＲＯＭ１１３に書き戻すための処理が行われる。ステップＳ７５で行われる処理は、ステップＳ７０、Ｓ７１、Ｓ７２、Ｓ７３で示される一連の処理と同一である。
【０１４１】
以上に説明した実施態様においては、外部と通信を行う機能、及び、状態判定処理（位置判定、日時判定、及び通信判定）を行う機能のいずれもが、電子制御装置１００とは別の装置である外部通信機２００に備えられている。このような態様に替えて、これらの機能のうち少なくとも一方が、電子制御装置１００に備えられていてもよい。例えば、図１に示される外部通信機２００が、電子制御装置１００に内蔵されているような態様であってもよい。
【０１４２】
また、以上に説明した実施態様においては、位置情報、時刻情報、及び通信状態情報は全て予め外部通信機２００によって取得される。このような取得部としての機能は、車両１０に設けられた装置のうち外部通信機２００以外の装置が有していてもよい。
【０１４３】
例えば、電子制御装置１００が取得部としての機能を有していてもよい。この場合、電子制御装置１００が、位置情報、時刻情報、及び通信状態情報の全てを取得した後に、これらのうちの少なくとも一つの情報に基づいて、制御プログラムの書き換えの許可を行うこととすればよい。
【０１４４】
また、外部通信機２００のＲＯＭ（不図示）に記憶されているプログラム、すなわち、外部通信機２００の動作を司るプログラムの書き換えが、以上に説明した電子制御装置１００の制御プログラムの書き換えと同様の方法によって行われるような態様であってもよい。
【０１４５】
以上、具体例を参照しつつ本発明の実施の形態について説明した。しかし、本発明はこれらの具体例に限定されるものではない。すなわち、これら具体例に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。例えば、前述した各具体例が備える各要素およびその配置、材料、条件、形状、サイズなどは、例示したものに限定されるわけではなく適宜変更することができる。また、前述した各実施の形態が備える各要素は、技術的に可能な限りにおいて組み合わせることができ、これらを組み合わせたものも本発明の特徴を含む限り本発明の範囲に包含される。
【符号の説明】
【０１４６】
１０：車両
２０：センタ
３０：携帯通信端末
１００：電子制御装置
１１０：マイコン
２００：外部通信機
２１０：位置判定部
２２０：時刻判定部
２３０：通信状態判定部
【図１】
2016224898.tif 000003
【図２】
2016224898.tif 000004
【図３】
2016224898.tif 000005
【図４】
2016224898.tif 000006
【図５】
2016224898.tif 000007
【図６】
2016224898.tif 000008
【図７】
2016224898.tif 000009
【図８】
2016224898.tif 000010
【図９】
2016224898.tif 000011