(57)【要約】【課題】複数の通信装置に関する更新処理を不具合なく行うことができる車載更新装置、車載更新システム及び通信装置の更新方法を提供する。【解決手段】車載更新装置は、車両外の装置から更新用のプログラム又はデータを取得する更新用情報取得部と、更新対象の通信装置による他の通信装置との通信を禁止する処理を行う禁止処理部と、前記禁止処理部が通信を禁止した後、前記更新対象の通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを車内通信部にて送信する更新用情報送信部と、前記更新対象の通信装置によるプログラム又はデータの更新が完了したか否かを判定する完了判定部と、全ての前記更新対象の通通信装置による更新が完了したと前記完了判定部が判定した場合に、前記更新対象の通信装置による他の通信装置との通信の禁止を解除する処理を行う禁止解除処理部とを備える。【選択図】図２
2018020718.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された複数の通信装置との間で通信を行う車内通信部を備え、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、
前記車両外の装置から更新用のプログラム又はデータを取得する処理を行う更新用情報取得部と、
更新処理の対象となる通信装置が複数存在する場合に、更新対象の通信装置による他の通信装置との通信を禁止する処理を行う禁止処理部と、
前記禁止処理部が通信を禁止した後、前記更新対象の通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを前記車内通信部にて送信する処理を行う更新用情報送信部と、
前記更新対象の通信装置によるプログラム又はデータの更新が完了したか否かを判定する完了判定部と、
全ての前記更新対象の通信装置による更新が完了したと前記完了判定部が判定した場合に、前記更新対象の通信装置による他の通信装置との通信の禁止を解除する処理を行う禁止解除処理部と
を備えることを特徴とする車載更新装置。
【請求項２】
前記更新対象の通信装置が前記記憶部に記憶している更新前のプログラム又はデータを取得する処理を行う更新前情報取得部と、
前記更新前情報取得部が取得したプログラム又はデータを記憶する更新前情報記憶部と
を備え、
前記更新対象の通信装置による更新が完了したと前記完了判定部が判定するまで、前記更新前情報記憶部はプログラム又はデータを記憶しておくこと
を特徴とする請求項１に記載の車載更新装置。
【請求項３】
前記更新対象の通信装置による更新処理が失敗したか否かを判定する失敗判定部と、
前記更新対象の通信装置による更新が失敗したと前記失敗判定部が判定した場合に、前記更新前情報記憶部が記憶したプログラム又はデータを前記更新対象の通信装置へ送信する処理を行う更新前情報送信部と
を備えることを特徴とする請求項２に記載の車載更新装置。
【請求項４】
前記車両のＩＧ（イグニッション）信号の状態を取得するＩＧ状態取得部を備え、
前記更新用情報取得部は、前記ＩＧ信号がオン状態である場合に更新用のプログラム又はデータを取得する処理を行い、
前記更新用情報送信部は、前記ＩＧ信号がオフ状態である場合又は前記ＩＧ信号がオフ状態からオン状態へ変化した場合に、更新用のプログラム又はデータを送信する処理を行うこと
を特徴とする請求項１乃至請求項３のいずれか１つに記載の車載更新装置。
【請求項５】
前記車両のバッテリの残量に係る情報を取得するバッテリ情報取得部を備え、
前記更新用情報送信部は、バッテリ情報取得部が取得したバッテリの残量に応じて、前記ＩＧ信号がオフ状態である場合又は前記ＩＧ信号がオフ状態からオン状態へ変化した場合のいずれに送信処理を行うかを決定すること
を特徴とする請求項４に記載の車載更新装置。
【請求項６】
時刻に係る情報を取得する時刻情報取得部を備え、
前記更新用情報送信部は、時刻情報取得部が取得した情報に応じて送信処理を行うこと
を特徴とする請求項４又は請求項５に記載の車載更新装置。
【請求項７】
車両に搭載された複数の通信装置と、該通信装置との間で通信を行う車内通信部を有し、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える車載更新システムであって、
前記車載更新装置は、前記車両外の装置から更新用のプログラム又はデータを取得する処理を行う更新用情報取得部と、更新処理の対象となる通信装置が複数存在する場合に、更新対象の通信装置による他の通信装置との通信を禁止する処理を行う禁止処理部と、前記禁止処理部が通信を禁止した後、前記更新対象の通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを前記車内通信部にて送信する処理を行う更新用情報送信部と、前記更新対象の通信装置によるプログラム又はデータの更新が完了したか否かを判定する完了判定部と、全ての前記更新対象の通通信装置による更新が完了したと前記完了判定部が判定した場合に、前記更新対象の通信装置による他の通信装置との通信の禁止を解除する処理を行う禁止解除処理部とを有し、
前記通信装置は、前記車載更新装置からの更新用のプログラム又はデータを受信する処理を行う更新用情報受信部と、前記更新用情報受信部が受信した更新用のプログラム又はデータを前記記憶部に記憶して更新を行う更新処理部とを有し、前記車載更新装置から通信を禁止された場合に他の通信装置へのデータ送信を行わないこと
を特徴とする車載更新システム。
【請求項８】
前記通信装置の記憶部は、更新前のプログラム又はデータを記憶する第１の領域と、更新用のプログラム又はデータを記憶する第２の領域とを少なくとも有し、
前記通信装置の更新処理部は、前記更新用情報受信部が受信した更新用のプログラム又はデータを前記第２の領域に記憶し、更新用のプログラム又はデータを全て前記第２の領域に記憶し終えた場合に、前記第１の領域に記憶された更新前のプログラム又はデータを無効化すること
を特徴とする請求項７に記載の車載更新システム。
【請求項９】
車両に搭載された通信装置の記憶部に記憶されたプログラム又はデータを更新する通信装置の更新方法であって、
前記車両外の装置から更新用のプログラム又はデータを取得し、
更新処理の対象となる通信装置が複数存在する場合に、更新対象の通信装置による他の通信装置との通信を禁止し、
通信を禁止した後、前記更新対象の通信装置へ取得した更新用のプログラム又はデータを送信し、
前記更新対象の通信装置によるプログラム又はデータの更新が完了したか否かを判定し、
全ての前記更新対象の通通信装置による更新が完了したと判定した場合に、前記更新対象の通信装置による他の通信装置との通信の禁止を解除すること
を特徴とする通信装置の更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された通信装置のプログラム又はデータを更新する車載更新装置、車載更新システム及び通信装置の更新方法に関する。
【背景技術】
【０００２】
従来、車両には複数のＥＣＵ（Electronic Control Unit）などの通信装置が搭載され、複数のＥＣＵがＣＡＮ（Controller Area Network）バスなどの通信線を介して接続されて相互に情報の送受信を行うことが可能とされている。各ＥＣＵは、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の記憶部に記憶されたプログラムをＣＰＵ（Central Processing Unit）などの処理装置が読み出して実行することにより、車両の制御などの種々の処理を行っている。ＥＣＵの記憶部に記憶されたプログラム又はデータは、例えば機能追加、不具合の修正又はバージョンアップ等の必要が生じた際には、新たなプログラム又はデータに書き換える更新処理を行う必要がある。この場合、更新処理の対象となるＥＣＵに対して、通信線を介して更新用のプログラム又はデータを送信することが行われている。
【０００３】
特許文献１においては、更新対象の制御装置に対する更新制御プログラムと、更新制御プログラムに係るダイジェスト値を算出する手段、更新後の制御装置の動作が正常であるか否かを判定する手段及び判定結果を返答する手段を実現するコンピュータプログラムとを含む更新データを制御装置が受信し、受信した更新データに含まれる更新制御プログラムにより制御プログラムを更新すると共に、前記コンピュータプログラムを実行して更新後の動作が正常であるか否かを判定することにより、プログラムの更新の正当性を検証できるプログラム更新システムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１０３１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プログラム又はデータの更新処理は、必ずしも車両に搭載された１つの通信装置でのみ行われるとは限らない。例えば複数の通信装置間で送受信されるメッセージのフォーマットの変更又はＩＤの変更等が行われた場合、このメッセージを送受信する全ての通信装置について更新処理が行われる必要がある。このような場合には、車両内にて同時的に又は順次的に複数の通信装置の更新処理が行われることとなるが、更新処理の開始及び完了のタイミングは通信装置毎に異なる。このため、例えば更新処理が完了した通信装置と更新処理が完了していない通信装置との間で通信が行われた場合、いずれかの通信装置又は両方の通信装置にて不具合が発生する虞がある。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、複数の通信装置に関する更新処理を不具合なく行うことができる車載更新装置、車載更新システム及び通信装置の更新方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る車載更新装置は、車両に搭載された複数の通信装置との間で通信を行う車内通信部を備え、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、前記車両外の装置から更新用のプログラム又はデータを取得する処理を行う更新用情報取得部と、更新処理の対象となる通信装置が複数存在する場合に、更新対象の通信装置による他の通信装置との通信を禁止する処理を行う禁止処理部と、前記禁止処理部が通信を禁止した後、前記更新対象の通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを前記車内通信部にて送信する処理を行う更新用情報送信部と、前記更新対象の通信装置によるプログラム又はデータの更新が完了したか否かを判定する完了判定部と、全ての前記更新対象の通信装置による更新が完了したと前記完了判定部が判定した場合に、前記更新対象の通信装置による他の通信装置との通信の禁止を解除する処理を行う禁止解除処理部とを備えることを特徴とする。
【０００８】
また、本発明に係る車載更新装置は、前記更新対象の通信装置が前記記憶部に記憶している更新前のプログラム又はデータを取得する処理を行う更新前情報取得部と、前記更新前情報取得部が取得したプログラム又はデータを記憶する更新前情報記憶部とを備え、前記更新対象の通信装置による更新が完了したと前記完了判定部が判定するまで、前記更新前情報記憶部はプログラム又はデータを記憶しておくことを特徴とする。
【０００９】
また、本発明に係る車載更新装置は、前記更新対象の通信装置による更新処理が失敗したか否かを判定する失敗判定部と、前記更新対象の通信装置による更新が失敗したと前記失敗判定部が判定した場合に、前記更新前情報記憶部が記憶したプログラム又はデータを前記更新対象の通信装置へ送信する処理を行う更新前情報送信部とを備えることを特徴とする。
【００１０】
また、本発明に係る車載更新装置は、前記車両のＩＧ（イグニッション）信号の状態を取得するＩＧ状態取得部を備え、前記更新用情報取得部は、前記ＩＧ信号がオン状態である場合に更新用のプログラム又はデータを取得する処理を行い、前記更新用情報送信部は、前記ＩＧ信号がオフ状態である場合又は前記ＩＧ信号がオフ状態からオン状態へ変化した場合に、更新用のプログラム又はデータを送信する処理を行うことを特徴とする。
【００１１】
また、本発明に係る車載更新装置は、前記車両のバッテリの残量に係る情報を取得するバッテリ情報取得部を備え、前記更新用情報送信部は、バッテリ情報取得部が取得したバッテリの残量に応じて、前記ＩＧ信号がオフ状態である場合又は前記ＩＧ信号がオフ状態からオン状態へ変化した場合のいずれに送信処理を行うかを決定することを特徴とする。
【００１２】
また、本発明に係る車載更新装置は、時刻に係る情報を取得する時刻情報取得部を備え、前記更新用情報送信部は、時刻情報取得部が取得した情報に応じて送信処理を行うことを特徴とする。
【００１３】
また、本発明に係る車載更新システムは、車両に搭載された複数の通信装置と、該通信装置との間で通信を行う車内通信部を有し、前記通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える車載更新システムであって、前記車載更新装置は、前記車両外の装置から更新用のプログラム又はデータを取得する処理を行う更新用情報取得部と、更新処理の対象となる通信装置が複数存在する場合に、更新対象の通信装置による他の通信装置との通信を禁止する処理を行う禁止処理部と、前記禁止処理部が通信を禁止した後、前記更新対象の通信装置へ前記更新用情報取得部が取得した更新用のプログラム又はデータを前記車内通信部にて送信する処理を行う更新用情報送信部と、前記更新対象の通信装置によるプログラム又はデータの更新が完了したか否かを判定する完了判定部と、全ての前記更新対象の通通信装置による更新が完了したと前記完了判定部が判定した場合に、前記更新対象の通信装置による他の通信装置との通信の禁止を解除する処理を行う禁止解除処理部とを有し、前記通信装置は、前記車載更新装置からの更新用のプログラム又はデータを受信する処理を行う更新用情報受信部と、前記更新用情報受信部が受信した更新用のプログラム又はデータを前記記憶部に記憶して更新を行う更新処理部とを有し、前記車載更新装置から通信を禁止された場合に他の通信装置へのデータ送信を行わないことを特徴とする。
【００１４】
また、本発明に係る車載更新システムは、前記通信装置の記憶部が、更新前のプログラム又はデータを記憶する第１の領域と、更新用のプログラム又はデータを記憶する第２の領域とを少なくとも有し、前記通信装置の更新処理部は、前記更新用情報受信部が受信した更新用のプログラム又はデータを前記第２の領域に記憶し、更新用のプログラム又はデータを全て前記第２の領域に記憶し終えた場合に、前記第１の領域に記憶された更新前のプログラム又はデータを無効化することを特徴とする。
【００１５】
また、本発明に係る通信装置の更新方法は、車両に搭載された通信装置の記憶部に記憶されたプログラム又はデータを更新する通信装置の更新方法であって、前記車両外の装置から更新用のプログラム又はデータを取得し、更新処理の対象となる通信装置が複数存在する場合に、更新対象の通信装置による他の通信装置との通信を禁止し、通信を禁止した後、前記更新対象の通信装置へ取得した更新用のプログラム又はデータを送信し、前記更新対象の通信装置によるプログラム又はデータの更新が完了したか否かを判定し、全ての前記更新対象の通通信装置による更新が完了したと判定した場合に、前記更新対象の通信装置による他の通信装置との通信の禁止を解除することを特徴とする。
【００１６】
本発明においては、車両に搭載された複数の通信装置のプログラム又はデータの更新処理を車載更新装置が行う。車載更新装置は、車両外に設置されたサーバ装置などから更新用のプログラム又はデータを取得する。車載更新装置は、更新処理の対象が複数である場合、各通信装置について更新用のプログラム又はデータをそれぞれ取得する。ただし、１つの更新用のプログラム又はデータを用いて、複数の通信装置の更新処理を行ってもよい。
更新処理の対象が複数である場合、各通信装置の更新処理を開始する前に、車載更新装置は、更新対象の通信装置による他の通信装置との通信を禁止する。ただし更新処理に必要な通信、即ち更新対象の通信装置と車載更新装置との間の通信は禁止されなくてよい。車載更新装置は、通信を禁止した後、更新対象の通信装置へ更新用のプログラム又はデータを送信する。車載更新装置から更新用のプログラム又はデータを受信した通信装置は、これを記憶部に記憶することによって、プログラム又はデータを更新する。車載更新装置は、更新対象の全ての通信装置について更新処理が終了したと判定した場合、これらの通信装置に対する通信禁止を解除する。この解除により、プログラム又はデータの更新処理が完了した通信装置が、他の通信装置との通信を開始する。
これにより、複数の通信装置の更新処理を同時的に行う必要がある場合に、全ての通信装置について更新処理が完了するまで、これら通信装置の間で通信が行われることがないため、更新完了した通信装置と更新完了していない通信装置とが通信を行うことによって不具合が発生することを防止できる。
【００１７】
また本発明においては、更新対象の通信装置が記憶部に記憶している更新前のプログラム又はデータを車載更新装置が取得し、通信装置の更新処理が完了するまで記憶しておく。通信装置の更新処理が失敗した場合、車載更新装置は、記憶しておいた更新前のプログラム又はデータをこの通信装置へ送信する。これにより、更新処理に失敗した通信装置は、車載更新装置から更新前のプログラム又はデータを取得して、以前の状態に戻ることができる。
【００１８】
また本発明において車載更新装置は、車両のＩＧ（イグニッション）信号の状態を取得し、ＩＧ信号がオン状態である場合に車外の装置からプログラム又はデータを取得する処理を行う。車載更新装置は、取得したプログラム又はデータを用いた通信装置の更新処理を、ＩＧ信号がオフ状態である場合、又は、ＩＧ信号がオフ状態からオン状態へ変化した場合に行う。これにより車載更新装置は、車両のエンジンなどが動作して十分な電力供給が期待できる際に車外装置からのプログラム又はデータの取得を行うことができると共に、車両が走行していない場合又は車両が走行開始する前に通信装置の更新処理を行うことができる。
【００１９】
また本発明において車載更新装置は、車両のバッテリ残量に係る情報を取得し、ＩＧ信号がオフ状態である場合、又は、ＩＧ信号がオフ状態からオン状態へ変化した場合のいずれに通信装置の更新処理を行うかを、バッテリ残量に応じて決定する。例えば車載更新装置は、バッテリ残量が多ければＩＧ信号がオフ状態である場合に更新処理を行い、バッテリ残量が少なければＩＧ信号がオフ状態からオン状態へ変化した場合に更新処理を行う。これにより、例えば更新処理の途中でバッテリ切れなどが発生することを防止できる。
【００２０】
また本発明において車載更新装置は、時刻情報を取得して、更新処理を時刻情報に応じて行う。例えば車載更新装置は、午前３時などユーザが車両を使用しない可能性が高い時刻に更新処理を行う。これにより、通信装置の更新処理が行われている際にユーザが車両を使用しようとする可能性を低減できる。
【００２１】
また本発明において各通信装置の記憶部には、更新前のプログラム又はデータを記憶する第１の領域と、更新用のプログラム又はデータを記憶する第２の領域とが少なくとも設けられている。即ち、各通信装置の記憶部は、プログラム又はデータを少なくとも２セット分は記憶することができる記憶領域を有している。更新処理のために車載更新装置が送信した更新用のプログラム又はデータを受信した通信装置は、更新前のプログラム又はデータが記憶された領域（第１の領域）とは別の領域（第２の領域）に受信した更新用のプログラム又はデータを記憶する。即ち各通信装置では、更新前のプログラム又はデータが上書きされることなく、更新用のプログラム又はデータが記憶部に記憶される。各通信装置は、更新用のプログラム又はデータを記憶し終えた後、更新前のプログラム又はデータを無効化し、更新用のプログラム又はデータを有効化することによって、更新処理を完了することができる。これにより、更新処理に失敗した通信装置は、第１の領域に残されている更新前のプログラム又はデータにより、更新前の状態を維持することができる。
【発明の効果】
【００２２】
本発明による場合は、更新対象の複数の通信装置について、全ての更新処理が完了するまで他の通信装置との通信を禁止することにより、更新完了した通信装置と更新完了していない通信装置とが通信を行うことによって不具合が発生することを防止でき、更新処理を不具合なく行うことができる。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態に係る車載更新システムの構成を示す模式図である。
【図２】ＥＣＵ２の構成を示すブロック図である。
【図３】ゲートウェイの構成を示すブロック図である。
【図４】ゲートウェイが行う更新処理の手順を示すフローチャートである。
【図５】ＥＣＵが行う更新処理の手順を示すフローチャートである。
【図６】実施の形態２に係るゲートウェイが行う更新処理の手順を示すフローチャートである。
【図７】実施の形態に２に係るＥＣＵが行う更新処理の手順を示すフローチャートである。
【図８】実施の形態３に係るＥＣＵが行う更新処理を説明するための模式図である。
【図９】実施の形態４に係る車載更新システムのゲートウェイが行う更新処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２４】
（実施の形態１）
図１は、本実施の形態に係る車載更新システムの構成を示す模式図である。本実施の形態に係る車載更新システムは、車両１に搭載された複数のＥＣＵ（Electronic Control Unit）２が、車両１内に配された通信線１ａ，１ｂ及びゲートウェイ１０を介して相互に通信を行うシステムである。本実施の形態に係る車載更新システムは、ゲートウェイ１０が車載更新装置に相当し、ＥＣＵ２が通信装置に相当する。また図示の例では、車内の通信線１ａに２つのＥＣＵ２が接続され、通信線１ｂに３つのＥＣＵ２が接続され、２本の通信線１ａ，１ｂがゲートウェイ１０に接続されたシステム構成であり、ゲートウェイ１０が通信線１ａ，１ｂ間の通信を中継することによって、全てのＥＣＵ２間でデータの送受信を行うことができる。
【００２５】
また本実施の形態に係る車載更新システムでは、ゲートウェイ１０に通信線１ｃを介して無線通信装置３が接続されており、ゲートウェイ１０は無線通信装置３を介して車両１外に設置されたサーバ装置９との通信を行うことができる。またゲートウェイ１０には、車両１のＩＧスイッチ４からＩＧ信号が入力されると共に、車両１のバッテリ５の残容量を検知する残量検知部６から検知結果が入力されている。
【００２６】
ＥＣＵ２は、例えば車両１のエンジンの動作を制御するＥＣＵ、ドアのロック／アンロックを制御するＥＣＵ、ライトの点灯／消灯を制御するＥＣＵ、エアバッグの動作を制御するＥＣＵ、及び、ＡＢＳ（Antilock Brake System）の動作を制御するＥＣＵ等の種々のＥＣＵが含まれ得る。各ＥＣＵ２は、車両１に配された通信線１ａ又は１ｂに接続され、通信線１ａ，１ｂを介して他のＥＣＵ２及びゲートウェイ１０との間でデータの送受信を行うことができる。
【００２７】
無線通信装置３は、例えば携帯電話通信網又は無線ＬＡＮ（Local Area Network）等の無線通信を行うことによって、サーバ装置９との間で情報の送受信を行うことができる。無線通信装置３は、通信線１ｃを介してゲートウェイ１０に接続されており、ゲートウェイ１０との間で有線通信による情報の送受信を行うことができる。これにより無線通信装置３は、ゲートウェイ１０及びサーバ装置９の間の通信を中継することができ、ゲートウェイ１０から与えられたデータをサーバ装置９へ送信すると共に、サーバ装置９から受信したデータをゲートウェイ１０へ与える。
【００２８】
ゲートウェイ１０は、車両１の車内ネットワークを構成する複数の通信線１ａ〜１ｃが接続され、通信線間のデータの送受信を中継する処理を行う。図１に示す例においては、ゲートウェイ１０には３つの通信線１ａ〜１ｃ、即ち２つのＥＣＵ２が接続された第１の通信線１ａ、３つのＥＣＵ２が接続された第２の通信線１ｂ及び無線通信装置３が接続された第３の通信線１ｃが接続されている。ゲートウェイ１０は、いずれかの通信線１ａ〜１ｃから受信したデータを他の通信線１ａ〜１ｃへ送信することによって、データの中継を行う。
【００２９】
ＩＧスイッチ４は、車両１のエンジン始動などをユーザが行うためのスイッチであり、オン／オフの２状態に切り替わる。本実施の形態においては、ＩＧ信号はＩＧスイッチ４の状態を示し、ＩＧオンは車両１のエンジンなどの原動機が動作しており、オルタネータなどによる発電が行われている状態であり、ＩＧオフは車両１の原動機が停止して発電が行われていない状態である。残量検知部６は、バッテリ５の出力端子の電圧値及び／又は入出力される電流量の積算値等に基づいて、バッテリ２に蓄積されている電力量の検知を行う。
【００３０】
サーバ装置９は、車両１に搭載されるＥＣＵ２にて実行されるプログラム及びデータを管理及び記憶している。サーバ装置９は、車両１からの問合わせに応じてプログラムなどの更新が必要であるか否かを通知すると共に、更新が必要である場合には更新用のプログラム及びデータを車両１へ配信する処理を行う。
【００３１】
図２は、ＥＣＵ２の構成を示すブロック図である。なお本図においては、複数のＥＣＵ２に共通の機能ブロックを抜き出して示しており、ＥＣＵ２毎に異なる機能ブロックについては図示を省略している。本実施の形態に係るＥＣＵ２は、処理部２１、記憶部２２及び通信部２３等を備えて構成されている。処理部２１は、例えばＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成され、記憶部２２に記憶されたプログラム２２ａを読み出して実行することにより、種々の演算処理を行う。なお記憶部２２に記憶されるプログラム２２ａは、ＥＣＵ２毎にその内容が異なっている。
【００３２】
記憶部２２は、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子を用いて構成されている。記憶部２２は、処理部２１が実行するプログラム２２ａと、このプログラム２２ａの実行に必要なデータとを記憶する。なお以下において”プログラム２２ａ”との記載には、プログラム２２ａと、このプログラム２２ａの実行に必要なデータとを含み得る。
【００３３】
通信部２３は、車内ネットワークを構成する通信線１ａ又は１ｂに接続され、例えばＣＡＮ（Controller Area Network）などの通信プロトコルに従ってデータの送受信を行う。通信部２３は、処理部２１から与えられたデータを電気信号に変換して通信線１ａ又は１ｂへ出力することによってデータを送信すると共に、通信線１ａ又は１ｂの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部２１へ与える。
【００３４】
また本実施の形態に係るＥＣＵ２の処理部２１には、更新用情報受信部２１ａ及び更新処理部２１ｂが設けられている。更新用情報受信部２１ａ及び更新処理部２１ｂは、記憶部２２に記憶されたプログラム２２ａの更新（アップデート）を行うための機能ブロックである。更新用情報受信部２１ａ及び更新処理部２１ｂは、更新処理の対象となるプログラム２２ａとは別のプログラム（図示は省略する）を処理部２１が実行することにより実現されるソフトウェア的な機能ブロックである。更新用情報受信部２１ａは、通信線１ａ又は１ｂを介して送信される更新用のプログラムを通信部２３にて受信し、受信した更新用のプログラムをバッファメモリ（図示は省略する）などに蓄積する処理を行う。更新処理部２１ｂは、バッファメモリなどに蓄積された更新用のプログラムを、記憶部２２に記憶（更新前のプログラム２２ａに対して上書き）することによって、プログラム２２ａを更新する処理を行う。
【００３５】
図３は、ゲートウェイ１０の構成を示すブロック図である。本実施の形態に係るゲートウェイ１０は、処理部１１、記憶部１２、及び、３つの車内通信部１３等を備えて構成されている。処理部１１は、例えばＣＰＵ又はＭＰＵ等の演算処理装置を用いて構成され、記憶部１２又は図示しないＲＯＭ（Read Only Memory）等に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う。本実施の形態において処理部１１は、車内ネットワークの通信線１ａ〜１ｃ間のデータ送受信を中継する処理、及び、ＥＣＵ２の更新処理等に必要な演算処理を行う。また車両１のＩＧスイッチ４から供給されるＩＧ信号及び残量検知部６が検知するバッテリ５の残容量は、処理部１１に入力されている。ただし、ＩＧ信号及び／又は残容量は、通信線１ａ〜１ｃを利用した車内通信によりゲートウェイ１０へ入力されてもよい。
【００３６】
記憶部１２は、フラッシュメモリ又はＥＥＰＲＯＭ等の不揮発性のメモリ素子を用いて構成されている。記憶部１２は、例えば処理部１１が実行するプログラム及びこのプログラムの実行に必要なデータなどを記憶する。また記憶部１２は、処理部１１の処理の過程で生成されたデータなどを記憶する。
【００３７】
車内通信部１３は、車内ネットワークを構成する通信線１ａ〜１ｃに接続され、例えばＣＡＮなどの通信プロトコルに従ってデータの送受信を行う。車内通信部１３は、処理部１１から与えられたデータを電気信号に変換して通信線１ａ〜１ｃへ出力することによって情報を送信すると共に、通信線１ａ〜１ｃの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部１１へ与える。なおゲートウェイ１０が備える３つの車内通信部１３は、それぞれ異なる通信プロトコルに従って通信を行うものであってもよい。
【００３８】
また処理部１１には、記憶部１２又はＲＯＭ等に記憶されたプログラムが実行されることによって、更新用情報取得部１１ａ、禁止処理部１１ｂ、更新用情報送信部１１ｃ、完了判定部１１ｄ及び禁止解除処理部１１ｅ等がソフトウェア的な機能ブロックとして実現される。更新用情報取得部１１ａは、所定のタイミングで無線通信装置３を介したサーバ装置９との通信を行い、車両１に搭載されたＥＣＵ２のプログラム２２ａの更新が必要であるか否かを問い合わせる。更新要否の問合わせを行う所定のタイミングは、例えば１日毎又は１週間毎等のように所定周期としてよく、また例えばＩＧスイッチ４がオフ状態からオン状態へ切り替えられる都度などとしてもよい。更新が必要であるとの通知をサーバ装置９から与えられた場合、更新用情報取得部１１ａは、無線通信装置３を介してサーバ装置９から更新に必要なプログラム及びデータ等（以下、単に更新用のプログラムという）を取得して記憶部１２に記憶する。このときに更新用情報取得部１１ａは、更新が必要な全てのＥＣＵ２について、更新用プログラムの取得を行う。
【００３９】
禁止処理部１１ｂは、ＥＣＵ２のプログラム２２ａの更新処理を行う前に、更新処理の対象となる一又は複数のＥＣＵ２に対して、他のＥＣＵ２との通信を禁止する命令を車内通信部１３にて送信する。ゲートウェイ１０から通信禁止の命令を受けたＥＣＵ２は、ゲートウェイ１０から通信禁止の解除命令を受けるまでの間、他のＥＣＵ２との通信を行わない。ただしＥＣＵ２は、更新処理に必要な通信、例えばゲートウェイ１０との間での通信については、通信禁止命令を受けた後であっても行うことができる。
【００４０】
更新用情報送信部１１ｃは、禁止処理部１１ｂによる通信禁止命令の送信が完了した後、サーバ装置９から取得して記憶部２２に記憶された更新用のプログラムを読み出し、読み出した更新用のプログラムを更新処理の対象となるＥＣＵ２へ送信する処理を行う。更新処理の対象となるＥＣＵ２が複数存在する場合、更新用情報送信部１１ｃは、適宜の順序で更新用のプログラムの送信を行い、更新処理対象の全てのＥＣＵ２について更新用のプログラムの送信を行う。ゲートウェイ１０から更新用のプログラムを受信したＥＣＵ２は、記憶部２２に記憶されている更新前のプログラム２２ａを、受信した更新用のプログラムで上書きすることによって、プログラム２２ａの更新を行う。
【００４１】
ＥＣＵ２は、記憶部２２のプログラム２２ａの更新を完了した場合、ゲートウェイ１０に対して完了を通知する。ゲートウェイ１０の処理部１１の完了判定部１１ｄは、ＥＣＵ２からの更新完了通知を車内通信部１３にて受信し、更新処理の対象となる全てのＥＣＵ２から更新完了通知を受信したか否かに応じて、更新処理を完了したか否かを判定する。
【００４２】
更新処理が完了したと完了判定部１１ｄが判定した場合、禁止解除処理部１１ｅは、通信を禁止したＥＣＵ２に対して、通信禁止を解除する命令を車内通信部１３にて送信する。ゲートウェイ１０から通信禁止の解除命令を受信したＥＣＵ２は、他のＥＣＵ２との通信を開始することができる。
【００４３】
図４は、ゲートウェイ１０が行う更新処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ１０の処理部１１の更新用情報取得部１１ａは、サーバ装置９へ更新の有無を問い合わせるタイミング、例えば前回の問合わせから所定の機関が経過した又はＩＧスイッチ４がオフ状態からオン状態へ変化した等のタイミングに至ったか否かを判定する（ステップＳ１）。問い合わせのタイミングでない場合（Ｓ１：ＮＯ）、更新用情報取得部１１ａは、問い合わせタイミングに至るまで待機する。
【００４４】
問合わせタイミングに至った場合（Ｓ１：ＹＥＳ）、更新用情報取得部１１ａは、無線通信装置３を介した無線通信により車外のサーバ装置９へ、車両１に搭載されたＥＣＵ２のプログラム２２ａの更新有無を問い合わせる（ステップＳ２）。この問い合わせに応じて送信されるサーバ装置９からの応答に基づいて、更新用情報取得部１１ａは、プログラム２２ａの更新の有無を判定する（ステップＳ３）。プログラム２２ａの更新がない場合（Ｓ３：ＮＯ）、更新用情報取得部１１ａは、ステップＳ１へ処理を戻す。プログラム２２ａの更新がある場合（Ｓ３：ＹＥＳ）、更新用情報取得部１１ａは、無線通信装置３を介した無線通信により、サーバ装置９へ更新用プログラムの送信を要求し、この要求に対する応答としてサーバ装置９から送信される更新用プログラムを受信して記憶部１２に記憶することにより、更新用プログラムを取得する（ステップＳ４）。
【００４５】
更新用プログラムの取得を完了したゲートウェイ１０は、処理部１０の禁止処理部１１ｂが、更新処理の対象となるＥＣＵ２に対して、他のＥＣＵ２との通信を禁止する通信禁止命令を、車内通信部１３にて送信する（ステップＳ５）。次いで処理部１１の更新用情報送信部１１ｃは、サーバ装置９から取得して記憶部１２に記憶しておいた更新用プログラムを、更新処理の対象となるＥＣＵ２に対して送信する（ステップＳ６）。このときに更新処理の対象となるＥＣＵ２が複数存在し、更新用プログラムが複数記憶されている場合、更新用情報送信部１１ｃは、複数の更新用プログラムをどのような順番で送信してもよく、並列的に送信してもよい。
【００４６】
処理部１１の完了判定部１１ｄは、更新処理の対象となる全てのＥＣＵ２から更新完了の通知を受信したか否かに応じて、全てのＥＣＵ２の更新処理が完了したか否かを判定する（ステップＳ７）。全てのＥＣＵ２の更新処理が完了していない場合（Ｓ７：ＮＯ）、完了判定部１１ｄは、全てのＥＣＵ２の更新処理が完了するまで待機する。全てのＥＣＵ２の更新処理が完了した場合（Ｓ７：ＹＥＳ）、処理部１１の禁止解除処理部１１ｅは、ステップＳ５にて通信禁止命令を送信したＥＣＵ２に対して、通信禁止を解除する通信解除命令を送信し（ステップＳ８）、処理を終了する。
【００４７】
図５は、ＥＣＵ２が行う更新処理の手順を示すフローチャートである。本実施の形態に係るＥＣＵ２の処理部２１は、通信部２３にてゲートウェイ１０からの通信禁止命令を受信したか否かを判定する（ステップＳ１０）。通信禁止命令を受信していない場合（Ｓ１０：ＮＯ）、処理部２１は、通信禁止命令を受信するまで待機する。通信禁止命令を受信した場合（Ｓ１０：ＹＥＳ）、処理部１２は、通信部２３による他のＥＣＵ２との通信を禁止する（ステップＳ１１）。
【００４８】
次いで処理部２１の更新用情報受信部２１ａは、ゲートウェイ１０から送信される更新用プログラムを通信部２３にて受信したか否かを判定する（ステップＳ１２）。更新用プログラムを受信していない場合（Ｓ１２：ＮＯ）、更新用情報受信部２１ａは、更新用プログラムを受信するまで待機する。更新用プログラムを受信した場合（Ｓ１２：ＹＥＳ）、更新用情報受信部２１ａは受信した更新用プログラムをバッファなどに一時的に記憶する。処理部２１の更新処理部２１ｂは、受信した更新用プログラムを記憶部２２に記憶する（上書きする）ことによってプログラム２２ａの更新処理を行う（ステップＳ１３）。更新処理部２１ｂは、プログラム２２ａの更新を完了したか否かを判定する（ステップＳ１４）。更新を完了していない場合（Ｓ１４：ＮＯ）、更新処理部２１ｂは、ステップＳ１３へ処理を戻し、更新処理を継続する。
【００４９】
プログラム２２ａの更新を完了した場合（Ｓ１４：ＹＥＳ）、処理部２１は、通信部２３にてゲートウェイ１０へ更新完了通知を送信する（ステップＳ１５）。次いで処理部２１は、ゲートウェイ１０からの通信禁止解除命令を通信部２３にて受信したか否かを判定する（ステップＳ１６）。通信禁止解除命令を受信していない場合（Ｓ１６：ＮＯ）、処理部２１は、通信禁止解除命令を受信するまで待機する。通信禁止解除命令を受信した場合（Ｓ１６：ＹＥＳ）、処理部２１は、通信禁止を解除して、他のＥＣＵ２との通信を開始し（ステップＳ１７）、処理を終了する。
【００５０】
以上の構成の本実施の形態に係る車載更新システムは、車両１に搭載された複数のＥＣＵ２のプログラム２２ａ（プログラム又はデータ）の更新処理をゲートウェイ１０が行う。ゲートウェイ１０は、無線通信装置３を介した無線通信により、車外のサーバ装置９から更新用プログラム（更新用のプログラム又はデータ）を取得する。ゲートウェイ１０は、更新処理の対象となるＥＣＵ２が複数存在する場合、各ＥＣＵ２について更新用プログラムの取得を行う。ただし、１つの更新用プログラムを用いて複数のＥＣＵ２の更新処理を行うことが可能な構成であってもよい。
【００５１】
更新処理の対象となるＥＣＵ２が複数存在する場合、各ＥＣＵ２の更新処理を開始する前に、ゲートウェイ１０は、更新処理の対象となるＥＣＵ２へ通信禁止命令を送信することによって、更新処理の対象となるＥＣＵ２による他のＥＣＵ２との通信を禁止する。ただし更新処理に必要な通信、即ち更新対象のＥＣＵ２とゲートウェイ１０との間の通信は禁止されなくてよい。また更新対象ではないＥＣＵ２の通信は禁止されなくてよい。ゲートウェイ１０は、通信禁止命令を送信した後、サーバ装置９から取得した更新用プログラムを更新処理の対象となるＥＣＵ２へ送信する。ゲートウェイ１０から更新用プログラムを受信したＥＣＵ２は、これを記憶部２２に記憶（上書き）することによって、プログラム２２ａを更新する。ゲートウェイ１０は、更新対象の全てのＥＣＵ２の更新処理が終了したと判定した場合、これらのＥＣＵ２に対して通信禁止解除命令を送信することにより、通信禁止を解除する。この解除により、プログラム２２ａの更新処理が完了したＥＣＵ２が、他のＥＣＵ２との通信を開始する。
【００５２】
これにより、複数のＥＣＵ２の更新処理を同時的に行う必要がある場合に、全てのＥＣＵ２について更新処理が完了するまで、これらのＥＣＵ２の間で通信が行われることがないため、更新完了したＥＣＵ２と更新完了していないＥＣＵ２とが通信を行って不具合が発生することを防止できる。
【００５３】
なお本実施の形態においては、車両１に搭載されたゲートウェイ１０がサーバ装置９からの更新用プログラムの取得及び各ＥＣＵ２への更新用プログラムの送信等を行う構成、即ちゲートウェイ１０が車載更新装置として機能する構成としたが、これに限るものではない。いずれかのＥＣＵ２、無線通信装置３又はこれら以外の車載機器が車載更新装置としての処理を行う構成としてもよい。また更新用プログラムを無線通信にて車外のサーバ装置９から取得する構成としたが、これに限るものではない。例えば更新用プログラムが記録された記録媒体をゲートウェイ１０が読み込むことによって更新用プログラムを取得する構成としてもよい。また更新対象の通信装置をＥＣＵ２としたが、これに限るものではなく、ＥＣＵ２以外の種々の通信装置を更新処理の対象としてよい。また車両１内におけるゲートウェイ１０及びＥＣＵ２等の間で行う通信は、有線通信ではなく、無線通信であってもよい。また実施の形態に係る車載更新システムにおいては、ＩＧスイッチ４からゲートウェイ１０へのＩＧ信号の入力、及び、残量検知部６からゲートウェイ１０へのバッテリ５の残量検知結果の入力は、必ずしも必要ではない。
【００５４】
（実施の形態２）
実施の形態２に係る車載更新システムは、各ＥＣＵ２における更新処理の失敗に備えて、更新前のプログラム２２ａをゲートウェイ１０がバックアップしておく構成である。例えば、更新処理の途中でバッテリ５の残量が著しく低下した場合、更新処理の途中でゲートウェイ１０及びＥＣＵ２の通信に不具合が発生して更新用プログラムが消失した場合、又は、更新処理の途中でＥＣＵ２の動作が停止した場合等に、更新処理が失敗する虞がある。
【００５５】
そこで実施の形態２に係る車載更新システムのゲートウェイ１０は、更新処理の対象となるＥＣＵ２に対して通信禁止命令を送信した後、これらのＥＣＵ２に対して記憶部２２に記憶されたプログラム２２ａをゲートウェイ１０へ送信する命令を与える。この送信命令を受信したＥＣＵ２は、記憶部２２からプログラム２２ａを読み出してゲートウェイ１０へ送信する。ゲートウェイ１０は、ＥＣＵ２が送信したプログラム２２ａを受信して記憶部１２に記憶することによって、更新前のプログラム２２ａをバックアップする。更新処理の対象となる全てのＥＣＵ２についてプログラム２２ａのバックアップを完了した後、ゲートウェイ１０は、サーバ装置９から取得しておいた更新用プログラムを更新処理対象のＥＣＵ２へ送信し、各ＥＣＵ２にて更新処理を行わせる。
【００５６】
その後、ゲートウェイ１０は、各ＥＣＵ２における更新処理に失敗が発生したか否かを判定する。ゲートウェイ１０は、例えばＥＣＵ２から更新処理に失敗した旨の通知を受けた場合、又は、所定時間が経過してもＥＣＵ２から更新完了の通知を受信しない場合等に、更新処理が失敗したと判定することができる。更新対象となる複数のＥＣＵ２のうちの１つにでも更新処理の失敗が発生した場合、ゲートウェイ１０は、ＥＣＵ２の更新処理と中断させ、記憶部１２にバックアップしておいた更新前のプログラム２２ａを各ＥＣＵ２へ送信し、更新処理対象の全てのＥＣＵ２を更新処理の前の状態へ復帰させる。全てのＥＣＵ２について復帰処理が完了した後、ゲートウェイ１０は、通信禁止解除命令を送信する。
【００５７】
なお更新処理に失敗した場合、ゲートウェイ１０は、その後の任意のタイミングで更新処理を再度行ってもよい。この場合にゲートウェイ１０は、サーバ装置９から更新用プログラムを取得する段階から更新処理を行ってもよく、サーバ装置９からの更新用プログラムの取得を行わずに、記憶部１２に記憶済みの更新用プログラムを用いて更新処理を行ってもよい。またゲートウェイ１０は、ＥＣＵ２から取得して記憶部１２に記憶した更新前のプログラム２２ａを、少なくとも更新処理が完了するまでの間は記憶部１２に保持しておき、更新処理が完了した後の任意のタイミングで記憶部１２から消去してよい。
【００５８】
図６は、実施の形態２に係るゲートウェイ１０が行う更新処理の手順を示すフローチャートである。なお本フローチャートにおいては、サーバ装置９からの更新用プログラムの取得処理（図４のフローチャートにおけるステップＳ１〜Ｓ４）については図示を省略し、ＥＣＵ２への通信禁止命令送信からの処理を図示してある。サーバ装置９から更新用のプログラムの取得を完了したゲートウェイ１０の処理部１１の禁止処理部１１ｂは、更新処理の対象となるＥＣＵ２に対して、他のＥＣＵ２との通信を禁止する通信禁止命令を、車内通信部１３にて送信する（ステップＳ２１）。
【００５９】
次いで処理部１１は、更新処理の対象となるＥＣＵ２に対して、記憶部２２に記憶されたプログラム２２ａの送信要求を与える（ステップＳ２２）。処理部１１は、この送信要求に応じて各ＥＣＵ２から送信される更新前のプログラム２２ａを車内通信部１３にて受信して記憶部１２に記憶していき、更新処理の対象となる全てのＥＣＵ２について更新前のプログラム２２ａの受信を完了したか否かを判定する（ステップＳ２３）。更新前のプログラム２２ａの受信を完了していない場合（Ｓ２３：ＮＯ）、処理部１１は、受信を完了するまで待機する。
【００６０】
更新前のプログラム２２ａの受信を完了した場合（Ｓ２３：ＹＥＳ）、処理部１１の更新用情報送信部１１ｃは、サーバ装置９から取得して記憶部１２に記憶しておいた更新用プログラムを、更新処理の対象となるＥＣＵ２に対して送信する（ステップＳ２４）。処理部１１の完了判定部１１ｄは、更新処理の対象となる全てのＥＣＵ２から更新完了の通知を受信したか否かに応じて、全てのＥＣＵ２の更新処理が完了したか否かを判定する（ステップＳ２５）。全てのＥＣＵ２の更新処理が完了した場合（Ｓ２５：ＹＥＳ）、処理部１１の禁止解除処理部１１ｅは、ステップＳ２１にて通信禁止命令を送信したＥＣＵ２に対して、通信禁止を解除する通信解除命令を送信し（ステップＳ３０）、処理を終了する。
【００６１】
全てのＥＣＵ２の更新処理が完了していない場合（Ｓ２５：ＮＯ）、処理部１１は、更新対象のいずれかのＥＣＵ２から更新失敗の通知を受信したか否かに応じて、更新処理が失敗したか否かを判定する（ステップＳ２６）。更新処理が失敗していない場合（Ｓ２６：ＮＯ）、処理部１１は、ステップＳ２５へ処理を戻す。更新処理が失敗した場合（Ｓ２６：ＹＥＳ）、処理部１１は、更新処理の対象となる全てのＥＣＵ２に対して、更新処理を中止する命令を送信する（ステップＳ２７）。次いで処理部１１は、記憶部１２に記憶しておいた更新前のプログラム２２ａを読み出して元のＥＣＵ２に送信する（ステップＳ２８）。これによりＥＣＵ２は復帰処理を行い、ゲートウェイ１０の処理部１１は、全てのＥＣＵ２から復帰完了の通知を受信したか否かに応じて、全てのＥＣＵ２の復帰処理が完了したか否かを判定する（ステップＳ２９）。全てのＥＣＵ２の復帰処理が完了していない場合（Ｓ２９：ＮＯ）、処理部１１は、復帰処理が完了するまで待機する。全てのＥＣＵ２の復帰処理が完了した場合（Ｓ２９：ＹＥＳ）、処理部１１の禁止解除処理部１１ｅは、ステップＳ２１にて通信禁止命令を送信したＥＣＵ２に対して、通信禁止を解除する通信解除命令を送信し（ステップＳ３０）、処理を終了する。
【００６２】
図７は、実施の形態に２に係るＥＣＵ２が行う更新処理の手順を示すフローチャートである。なお本フローチャートにおいては、ゲートウェイ１０から更新用プログラムを受信するまでの処理（図５のフローチャートにおけるステップＳ１０〜Ｓ１２）については図示を省略し、受信した更新用プログラムを用いてＥＣＵ２が更新処理を開始する時点からの処理を図示してある。ゲートウェイ１０から送信される更新用プログラムを受信したＥＣＵ２の処理部２１の更新処理部２１ｂは、受信した更新用プログラムを記憶部２２に記憶する（上書きする）ことによってプログラム２２ａの更新処理を行う（ステップＳ４１）。更新処理部２１ｂは、プログラム２２ａの更新を完了したか否かを判定する（ステップＳ４２）。プログラム２２ａの更新を完了した場合（Ｓ４２：ＹＥＳ）、処理部２１は、通信部２３にてゲートウェイ１０へ更新完了通知を送信し（ステップＳ４３）、ステップＳ５１へ処理を進める。
【００６３】
プログラム２２ａの更新を完了していない場合（Ｓ４２：ＮＯ）、処理部２１は、更新処理に失敗したか否かを判定する（ステップＳ４４）。更新処理に失敗した場合（Ｓ４４：ＹＥＳ）、処理部２１は、ゲートウェイ１０に対して更新処理の失敗を通知し（ステップＳ４５）、ステップＳ４８へ処理を進める。更新処理に失敗していない場合（Ｓ４４：ＮＯ）、処理部２１は、ゲートウェイ１０から更新処理を中止する命令を受信したか否かを判定する（ステップＳ４６）。交信中止命令を受信していない場合（Ｓ４６：ＮＯ）、処理部２１は、ステップＳ４１へ処理を戻す。更新中止命令を受信した場合（Ｓ４６：ＹＥＳ）、処理部２１は、更新処理を中止して（ステップＳ４７）、ステップＳ４８へ処理を進める。
【００６４】
ステップＳ４５又はＳ４７の処理を行った後、処理部２１は、ゲートウェイ１０から更新前のプログラム２２ａを受信したか否かを判定する（ステップＳ４８）。更新前のプログラム２２ａを受信していない場合（Ｓ４８：ＮＯ）、処理部２１は、更新前のプログラム２２ａを受信するまで待機する。更新前のプログラム２２ａを受信した場合（Ｓ４８：ＹＥＳ）、処理部２１は、受信した更新前のプログラム２２ａを記憶部２２に記憶する（上書きする）ことによって復帰処理を行う（ステップＳ４９）。処理部２１は、復帰処理を完了したか否かを判定する（ステップＳ５０）。復帰処理を完了していない場合（Ｓ５０：ＮＯ）、処理部２１は、ステップＳ４９へ処理を戻し、復帰処理を継続する。
【００６５】
復帰処理を完了した場合（Ｓ５０：ＹＥＳ）、処理部２１は、ゲートウェイ１０からの通信禁止解除命令を通信部２３にて受信したか否かを判定する（ステップＳ５１）。通信禁止解除命令を受信していない場合（Ｓ５１：ＮＯ）、処理部２１は、通信禁止解除命令を受信するまで待機する。通信禁止解除命令を受信した場合（Ｓ５１：ＹＥＳ）、処理部２１は、通信禁止を解除して、他のＥＣＵ２との通信を開始し（ステップＳ５２）、処理を終了する。
【００６６】
以上の構成の実施の形態２に係る車載更新システムは、更新対象のＥＣＵ２が記憶部２２に記憶している更新前のプログラム２２ａをゲートウェイ１０が取得し、ＥＣＵ２の更新処理が完了するまで記憶部１２に記憶しておく。ＥＣＵ２の更新処理が失敗した場合、ゲートウェイ１０は、記憶しておいた更新前のプログラム２２ａをＥＣＵ２へ送信する。これにより更新処理に失敗したＥＣＵ２は、ゲートウェイ１０から更新前のプログラム２２ａを取得して、更新処理を行う以前の状態に復帰することができる。
【００６７】
なお実施の形態２においては、ＥＣＵ２の更新処理に失敗した直後に、ゲートウェイ１０が更新前のプログラム２２ａを送信して復帰処理を開始しているが、これに限るものではない。ゲートウェイ１０は、ＥＣＵ２の更新処理が失敗したと判断した後、例えば次にＩＧスイッチ４がオフ状態からオン状態へ変化した場合など、所定のタイミングまで復帰処理を待ってもよい。またゲートウェイ１０は、更新処理が失敗した場合に、何度か更新処理を繰り返して行い、それでも更新処理が成功しない場合に復帰処理を開始してもよい。
【００６８】
また、実施の形態２に係る車載更新システムのその他の構成は、実施の形態１に係る車載更新システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【００６９】
（実施の形態３）
上述の実施の形態２に係る車載更新システムではゲートウェイ１０が更新前のプログラム２２ａをバックアップすることにより、更新処理が失敗した場合にＥＣＵ２の復帰を行う構成であるが、これに限るものではない。
実施の形態３に係る車載更新システムは、各ＥＣＵ２が自身の更新前のプログラム２２ａを保持しておくことによって、更新処理が失敗した場合に復帰処理を行う構成である。図８は、実施の形態３に係るＥＣＵ２が行う更新処理を説明するための模式図である。実施の形態３に係るＥＣＵ２の記憶部２２は、少なくともプログラム２２ａを２セット分記憶しておくのに十分な記憶容量を有している。図８の上段に示す例では、記憶部２２には、プログラム２２ａと、このプログラム２２ａと同程度の容量の空き領域２２ｂとが存在している。このときに記憶部２２に記憶されているプログラム２２ａは有効とされ、処理部２１がこのプログラム２２ａを読み出して実行している。
【００７０】
ゲートウェイ１０から更新用のプログラムを受信した場合、ＥＣＵ２は、更新前のプログラム２２ａに上書きすることなく、記憶部２２の空き領域２２ｂに受信した更新用のプログラム２２ａを記憶する。ＥＣＵ２は、更新用のプログラム２２ａをエラーなく記憶部２２に記憶完了することができた場合、更新前のプログラム２２ａを無効化し、新たに記憶した更新用のプログラム２２ａを有効化することによって、更新処理を完了する。その後、ＥＣＵ２の処理部２１は、有効化された更新用のプログラム２２ａを読み出して実行する。なお無効化した更新前のプログラム２２ａは、例えば何らかのタイミングで消去されてもよく、また例えば消去されることなく記憶部２２内に残され、次の更新処理の際に空き領域２２ｂと扱われてもよい。
【００７１】
これに対して、更新用のプログラム２２ａを記憶部２２の空き領域２２ｂに記憶完了する前にエラーなどが発生した場合、ＥＣＵ２は、更新前のプログラム２２ａを有効状態で維持して更新処理を中止する。またこのＥＣＵ２は、更新処理に失敗した旨をゲートウェイ１０へ通知する。ゲートウェイ１０は、少なくとも１つのＥＣＵ２にて更新処理が失敗した場合、更新処理の対象となっていた複数のＥＣＵ２に対して、更新処理を中止する命令を与える。この中止命令を受信したＥＣＵ２は、自身の更新処理が正常に完了していた場合であっても、記憶部２２に記憶された更新前のプログラム２２ａを有効化し、新たに記憶した更新用のプログラム２２ａを無効化することによって、更新処理前の状態に復帰する。
【００７２】
以上の構成の実施の形態３に係る車載更新システムは、ＥＣＵ２の記憶部２２に、更新前のプログラム２２ａを記憶する領域（第１の領域）と、更新用のプログラム２２ａを記憶する領域（第２の領域）とを少なくとも設けている。即ち各ＥＣＵ２はプログラム２２ａを少なくとも２セット分は記憶することができる記憶領域を有している。更新処理のためにゲートウェイ１０が送信した更新用のプログラム２２ａを受信したＥＣＵ２は、更新前のプログラム２２ａが記憶された領域とは別の領域に、受信した更新用のプログラム２２ａを記憶する。即ちＥＣＵ２では、更新前のプログラム２２ａが上書きされることなく、更新用のプログラム２２ａが記憶部２２に記憶される。各ＥＣＵ２は、更新用のプログラム２２ａを記憶部２２に記憶し終えた後、更新前のプログラム２２ａを無効化し、更新用のプログラム２２ａを有効化することによって、更新処理を完了することができる。更新処理に失敗した場合、ＥＣＵ２は、記憶部２２に残された更新前のプログラム２２ａを有効化することによって、更新処理の前の状態を維持することができる。
【００７３】
なお、実施の形態２の構成と実施の形態３の構成とを融合し、例えば記憶部２２に十分な記憶容量を有しているＥＣＵ２については実施の形態３の構成を採用し、そうでないＥＣＵ２については実施の形態２の構成を採用してゲートウェイ１０が更新前のプログラム２２ａをバックアップする構成としてもよい。
【００７４】
また、実施の形態３に係る車載更新システムのその他の構成は、実施の形態１に係る車載更新システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【００７５】
（実施の形態４）
上述の実施の形態１に係る車載更新システムは、ゲートウェイ１０がサーバ装置９から更新用のプログラムを取得した直後にＥＣＵ２の更新処理を開始する構成であるが、これに限るものではない。
実施の形態４に係る車載更新システムは、ゲートウェイ１０がサーバ装置９から更新用のプログラムを取得して記憶部１２に記憶しておき、その後の所定のタイミングでこの更新用プログラムを更新処理の対象となるＥＣＵ２へ送信開始することによって更新処理を開始する構成である。実施の形態４に係る車載更新システムのゲートウェイ１０は、車両１のＩＧスイッチ４の状態がオン状態である場合に、無線通信装置３を介したサーバ装置９との通信を行って、更新の有無及び更新用プログラムの取得を行う。
【００７６】
サーバ装置９から更新プログラムの取得を完了したゲートウェイ１０は、その後に所定時刻（例えば午前３時など）に至り、且つ、ＩＧスイッチ４がオフ状態である場合に、記憶部１２に記憶した更新用プログラムを更新処理の対象となるＥＣＵ２へ送信し、ＥＣＵ２の更新処理を開始する。このため実施の形態４に係るゲートウェイ１０の処理部１１は、時刻を計時する時計機能を有しているか、又は、ＧＰＳ（Global Positioning System）の信号を受信して時刻を取得する機能を有している。なお更新処理を開始する所定時刻は、車両１のユーザが好みの時刻（例えば車両１を使用しない可能性が高い時刻）を設定しておく構成とすることができる。
【００７７】
ただし、ＩＧスイッチ４がオフ状態である場合には車両１のエンジンなどは動作しておらず、オルタネータによる発電が行われていないため、ゲートウェイ１０及びＥＣＵ２はバッテリ５に蓄積された電力を消費して動作する。ＥＣＵ２の更新処理によってバッテリ５に蓄積された電力が消費された場合、例えば次にＩＧスイッチ４がオフ状態からオン状態に切り替えられた際に、車両１のエンジンを始動するために必要な電力がバッテリ５に残されていない可能性がある。そこで実施の形態４に係る車載更新システムは、バッテリ５に蓄積された電力量を残量検知部６が検知してゲートウェイ１０へ通知する。ゲートウェイ１０は、ＩＧスイッチ４がオフ状態で所定時刻に至った際に、バッテリ５の残量が閾値を超えるか否かを判定し、残量が閾値を超える場合にのみ、ＥＣＵ２の更新処理を開始する。
【００７８】
バッテリ５の残量が閾値を超えない場合、ゲートウェイ１０は、このタイミングでのＥＣＵ２の更新処理を行わない。ゲートウェイ１０は、その後にＩＧスイッチ４がオフ状態からオン状態へ変化した際に、記憶部１２に記憶した更新用プログラムを更新処理の対象となるＥＣＵ２へ送信し、ＥＣＵ２の更新処理を開始する。
【００７９】
図９は、実施の形態４に係る車載更新システムのゲートウェイ１０が行う更新処理の手順を示すフローチャートである。なお本フローチャートにおいては、ゲートウェイ１０がサーバ装置９から更新用のプログラムの取得を完了し、これをＥＣＵ２へ送信開始するまでの間に行う処理を、即ち図４に示したフローチャートのステップＳ４及びＳ５の間に行う処理を図示し、これ以外の処理（図４のステップＳ１〜Ｓ４の処理、及び、Ｓ５〜Ｓ８の処理）については図示を省略してある。サーバ装置９から更新用のプログラムの取得を完了したゲートウェイ１０の処理部１１は、ＩＧスイッチ４からのＩＧ信号を取得する（ステップＳ６１）。処理部１１は、取得したＩＧ信号がオフ状態であるか否かを判定する（ステップＳ６２）。ＩＧ信号がオフ状態でない場合（Ｓ６２：ＮＯ）、処理部１１は、ステップＳ６１へ処理を戻す。
【００８０】
ＩＧ信号がオフ状態である場合（Ｓ６２：ＹＥＳ）、処理部１１は、例えば自身が有する時計機能に基づく時刻を取得する（ステップＳ６３）。処理部１１は、取得した時刻が、例えば午前３時などの所定時刻に至ったか否かを判定する（ステップＳ６４）。所定時刻に至っていない場合（Ｓ６４：ＮＯ）、処理部１１は、ステップＳ６１へ処理を戻す。
【００８１】
取得した時刻が所定時刻に至った場合（Ｓ６４：ＹＥＳ）、処理部１１は、残量検知部６が検知するバッテリ５の残量を取得する（ステップＳ６５）。処理部１１は、取得したバッテリ５の残量が、例えば５０％などの閾値を超えるか否かを判定する（ステップＳ６６）。バッテリ５の残量が閾値を超える場合（Ｓ６６：ＹＥＳ）、処理部１１は、更新対象のＥＣＵ２について更新処理を開始し（ステップＳ６９）、処理を終了する。
【００８２】
バッテリ５の残量が閾値を超えない場合（Ｓ６６：ＮＯ）、処理部１１は、車両１のＩＧスイッチ４の状態を示すＩＧ信号を取得する（ステップＳ６７）。処理部１１は、取得したＩＧ信号に基づいて、ＩＧスイッチ４がオン状態であるか否かを判定する（ステップＳ６８）。ＩＧスイッチ４がオン状態でない場合（Ｓ６８：ＮＯ）、処理部１１は、ＩＧスイッチ４がオン状態に変化するまで待機する。ＩＧスイッチ４がオン状態である場合（Ｓ６８：ＹＥＳ）、処理部１１は、更新対象のＥＣＵ２について更新処理を開始し（ステップＳ６９）、処理を終了する。
【００８３】
以上の構成の実施の形態４に係る車載更新システムは、ゲートウェイ１０が車両１のＩＧスイッチ４の状態を示すＩＧ信号を取得し、ＩＧ信号がオン状態である場合に車外のサーバ装置９から更新用のプログラムを取得する処理を行う。ゲートウェイ１０は、取得した更新用のプログラムを用いたＥＣＵ２の更新処理を、ＩＧ信号がオフ状態である場合、又は、ＩＧ信号がオフ状態からオン状態へ変化した場合に行う。これによりゲートウェイ１０は、車両１のエンジンなどが動作して十分な電力供給が期待できる際にサーバ装置９から更新用のプログラムを取得することができると共に、車両１が走行していない場合又は車両が走行開始する前にＥＣＵ２の更新処理を行うことができる。
【００８４】
またゲートウェイ１０は、車両１のバッテリ５の残量に係る情報を残量検知部６から取得し、ＩＧ信号がオフ状態である場合、又は、ＩＧ信号がオフ状態からオン状態へ変化した場合のいずれにＥＣＵ２の更新処理を行うかを、バッテリ５の残量に応じて決定する。例えばゲートウェイ１０は、バッテリ残量が閾値より多ければＩＧ信号がオフ状態である場合に更新処理を行い、バッテリ残量が閾値より少なければＩＧ信号がオフ状態からオン状態へ変化した場合に更新処理を行う。これにより、例えば更新処理の途中でバッテリ切れが発生する、又は、バッテリ残量が低下して車両１のエンジン始動が不可能となる等の問題が発生することを防止できる。
【００８５】
またゲートウェイ１０は、処理部１１の時計機能などに基づいて時刻情報を取得し、時刻情報に応じてＥＣＵ２の更新処理を行う。例えばゲートウェイ１０は、午前３時などユーザが車両１を使用しない可能性が高い時刻に更新処理を行う。これにより、ＥＣＵ２の更新処理が行われている際に、ユーザが車両１を使用する可能性を低減できる。
【００８６】
なお実施の形態４においては、ＩＧスイッチ４がオフ状態で所定時刻に達した場合にゲートウェイ１０がＥＣＵ２の更新処理を開始する構成としたが、これに限るものではない。例えばゲートウェイ１０は、所定時刻の条件を判定せず、ＩＧスイッチ４がオフ状態となった際、又は、ＩＧスイッチ４がオフ状態となって所定時間が経過した場合等に、ＥＣＵ２の更新処理を開始してもよい。
【００８７】
また、実施の形態４に係る車載更新システムのその他の構成は、実施の形態１に係る車載更新システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【符号の説明】
【００８８】
１  車両
１ａ〜１ｃ  通信線
２  ＥＣＵ（通信装置）
３  無線通信装置
４  ＩＧスイッチ
５  バッテリ
６  残量検知部
９  サーバ装置
１０  ゲートウェイ（車載更新装置）
１１  処理部（更新前情報取得部、失敗判定部、更新前情報送信部、ＩＧ状態取得部、バッテリ情報取得部、時刻情報取得部）
１１ａ  更新用情報取得部
１１ｂ  禁止処理部
１１ｃ  更新用情報送信部
１１ｄ  完了判定部
１１ｅ  禁止解除処理部
１２  記憶部（更新前情報記憶部）
１３  車内通信部
２１  処理部
２１ａ  更新用情報受信部
２１ｂ  更新処理部
２２  記憶部
２２ａ  プログラム
２２ｂ  空き領域
２３  通信部
【図１】
2018020718.tif 000003
【図２】
2018020718.tif 000004
【図３】
2018020718.tif 000005
【図４】
2018020718.tif 000006
【図５】
2018020718.tif 000007
【図６】
2018020718.tif 000008
【図７】
2018020718.tif 000009
【図８】
2018020718.tif 000010
【図９】
2018020718.tif 000011