(57)【要約】【課題】コストアップを抑えつつ、新情報から旧情報への書き戻しが必要となった場合でも、旧情報の管理が煩雑になることなく、新情報から旧情報に適切に書き戻す。【解決手段】電子制御装置１は、プログラム又はデータを蓄積するメモリ１ａと、プログラム又はデータに関する旧情報から新情報への差分を示す第１差分情報を外部装置９〜１１から取得する第１差分情報取得部１２ａと、メモリに蓄積されている旧情報を、当該メモリとは別の一つ以上のメモリ１ｂ，２ａ，３ａ，４ａに退避させる旧情報退避部１２ｂと、別のメモリに退避された旧情報と第１差分情報とから新情報を生成する新情報生成部１２ｃと、メモリに蓄積されている旧情報が別のメモリに退避された状態で新情報をメモリに書き込む新情報書き込み部１２ｄと、を備える。【選択図】図１
2019074847.tif 000002
【特許請求の範囲】
【請求項１】
外部装置（９〜１１）との間や車両ネットワーク（７，８）内で送受信されるプログラム又はデータを蓄積するメモリ（１ａ）と、
プログラム又はデータに関する旧情報から新情報への差分を示す第１差分情報を前記外部装置や前記車両ネットワークから取得する第１差分情報取得部（１２ａ）と、
前記メモリに蓄積されている旧情報を、当該メモリとは別の一つ以上のメモリ（１ｂ，２ａ，３ａ，４ａ）に退避させる旧情報退避部（１２ｂ）と、
前記別のメモリに退避された旧情報と前記第１差分情報とから新情報を生成する新情報生成部（１２ｃ）と、
前記メモリに蓄積されていた旧情報が前記別のメモリに退避された状態で新情報を前記メモリに書き込む新情報書き込み部（１２ｄ）と、を備えた電子制御装置。
【請求項２】
前記新情報書き込み部は、新情報の前記メモリへの書き込み終了後に、前記別のメモリに退避された旧情報を消去する請求項１に記載した電子制御装置。
【請求項３】
プログラム又はデータに関する新情報から旧情報への差分を示す第２差分情報を前記外部装置や前記車両ネットワークから取得する第２差分情報取得部（１２ｅ）と、
新情報の前記メモリへの書き込み中に、当該メモリに書き込み中の新情報を旧情報に書き戻す条件が成立すると、新情報の前記メモリへの書き込み終了後に、前記メモリに蓄積されている新情報を、当該メモリとは別の一つ以上のメモリに退避させる新情報退避部（１２ｈ）と、
前記別のメモリに退避された新情報と前記第２差分情報とから旧情報を生成する旧情報生成部（１２ｉ）と、
前記メモリに蓄積されていた新情報が前記別のメモリに退避された状態で、旧情報を前記メモリに書き込む旧情報書き込み部（１２ｊ）と、を備えた請求項１又は２に記載した電子制御装置。
【請求項４】
プログラム又はデータに関する新情報から旧情報への差分を示す第２差分情報を前記外部装置から取得する第２差分情報取得部（１２ｅ）と、
新情報の前記メモリへの書き込み終了後に、当該メモリに書き込まれた新情報を旧情報に書き戻す条件が成立すると、前記メモリに蓄積されている新情報を、当該メモリとは別の一つ以上のメモリに退避させる新情報退避部（１２ｈ）と、
前記別のメモリに退避された新情報と前記第２差分情報とから旧情報を生成する旧情報生成部（１２ｉ）と、
前記メモリに蓄積されていた新情報が前記別のメモリに退避された状態で、旧情報を前記メモリに書き込む旧情報書き込み部（１２ｊ）と、を備えた請求項１又は２に記載した電子制御装置。
【請求項５】
前記外部装置や前記車両ネットワークから書き戻し要求を取得する書き戻し要求取得部（１２ｆ）を備え、
前記新情報退避部は、前記書き戻し要求が取得されたことを、前記メモリに書き込み中又は書き込まれた新情報を旧情報に書き戻す条件とする請求項３又は４に記載した電子制御装置。
【請求項６】
前記メモリに書き込み中又は書き込まれた新情報による車両制御の実施状態を判定する実施状態判定部（１２ｇ）を備え、
前記新情報退避部は、新情報による車両制御の実施状態が正常でないと判定されたことを、前記メモリに書き込み中又は書き込まれた新情報を旧情報に書き戻す条件とする請求項３又は４に記載した電子制御装置。
【請求項７】
前記旧情報書き込み部は、旧情報の前記メモリへの書き込み終了後に、前記別のメモリに退避された新情報を消去する請求項３から６の何れか一項に記載した電子制御装置。
【請求項８】
第２差分情報取得部は、複数の世代毎の第２差分情報を前記外部装置や前記車両ネットワークから取得する請求項２から６の何れか一項に記載した電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
従来より、電子制御装置において、外部装置との間や車両ネットワーク内で送受信されるプログラム又はデータをメモリに書き込んで蓄積する構成が供されている。メモリに蓄積されているプログラム又はデータは例えばバージョンのアップデートやバグ改修等の様々な理由により書き換えられることがある。例えば特許文献１には、メモリに蓄積されている旧情報とメモリに書き込まれる新情報との差分を示す差分情報により、プログラム又はデータを書き換える手法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１８２５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、例えば電源断線等の物理障害が発生した場合でも、特に無人環境での無線による制御プログラムの書き換えにおいては、制御プログラムを確実に起動する必要があるので、メモリに旧情報と新情報とを２面持ちすることが理想である。しかしながら、旧情報と新情報とを２面持ちする構成では、必要となるメモリ容量が増大するので、コストアップが懸念される。又、旧情報から新情報への書き換えを終了後に、新情報の不備や既存のプログラム又はデータとの親和性の不具合等が検出された場合には、新情報から旧情報への書き戻しが必要となるが、例えば外部装置では車両毎に管理された新情報から旧情報への差分を示す情報を逐次配信する必要があるので、外部装置での旧情報の管理が煩雑になることも懸念される。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、コストアップを抑えることができ、新情報から旧情報への書き戻しが必要となった場合でも、旧情報の管理が煩雑になることなく、新情報から旧情報に適切に書き戻すことができる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、メモリ（１ａ）は、外部装置（９〜１１）との間や車両ネットワーク（７，８）内で送受信されるプログラム又はデータを蓄積する。第１差分情報取得部（１２ａ）は、プログラム又はデータに関する旧情報から新情報への差分を示す第１差分情報を外部装置や車両ネットワークから取得する。旧情報退避部（１２ｂ）は、メモリに蓄積されている旧情報を、当該メモリとは別の一つ以上のメモリ（１ｂ，２ａ，３ａ，４ａ）に退避させる。新情報生成部（１２ｃ）は、別のメモリに退避された旧情報と第１差分情報とから新情報を生成する。新情報書き込み部（１２ｄ）は、メモリに蓄積されていた旧情報が別のメモリに退避された状態で新情報をメモリに書き込む。
【０００７】
メモリに蓄積されている旧情報を新情報に書き換える場合に、旧情報を別のメモリに退避させ、旧情報を別のメモリに退避させた状態で新情報をメモリに書き込むようにした。メモリに旧情報と新情報とを２面持ちする必要をなくすことで、コストアップを抑えることができる。又、旧情報を別のメモリに退避させたことで、新情報から旧情報への書き戻しが必要となった場合でも、その退避させた旧情報を使用して書き戻すことができる。例えば外部装置では車両毎に管理された新情報から旧情報への差分を示す情報を逐次配信する必要がなくなり、旧情報の管理が煩雑になることなく、新情報から旧情報に適切に書き戻すことができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態を示す機能ブロック図
【図２】メモリ構成を示す図
【図３】旧情報、新情報、第１差分情報の関係を示す図
【図４】旧情報、新情報、第２差分情報の関係を示す図
【図５】プログラム又はデータの書き換えの態様を示す図（その１）
【図６】プログラム又はデータの書き換えの態様を示す図（その２）
【図７】旧情報から新情報への書き換え処理を示すフローチャート（その１）
【図８】旧情報から新情報への書き換え処理を示すフローチャート（その２）
【図９】旧情報の退避処理を示すフローチャート
【図１０】新情報の書き込み中の新情報から旧情報への書き換え処理を示すフローチャート
【図１１】新情報の書き込み終了後の新情報から旧情報への書き換え処理を示すフローチャート
【図１２】新情報の退避処理を示すフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態について図面を参照して説明する。図１に示すように、車両内には複数の電子制御装置１〜４と中継装置５と車載通信機６とが搭載されている。電子制御装置１〜４は、それぞれ車両内において接続ノードとして機能し、プログラム又はデータを蓄積するメモリを有する。電子制御装置１はメモリ１ａ，１ｂを有し、電子制御装置２はメモリ２ａを有し、電子制御装置３はメモリ３ａを有し、電子制御装置４はメモリ４ａを有する。電子制御装置１〜４に設けられるメモリの個数や容量は任意である。
【００１０】
中継装置５は、通信バス７を介して電子制御装置１，２と接続され、通信バス８を介して電子制御装置３，４と接続されている。中継装置５は、例えばゲートウェイＥＣＵであり、電子制御装置１〜４との間でプログラム又はデータを中継する中継機能を有する。
【００１１】
電子制御装置１〜４は、例えばエンジンの制御を行うエンジンＥＣＵ、ブレーキの制御を行うブレーキＥＣＵ、ステアリングの制御を行うステアリングＥＣＵ、自動変速機の制御を行うトランスミッションＥＣＵ、ナビゲーションの制御を行うナビゲーションＥＣＵ、電子式料金収受システムとの通信制御を行うＥＴＣＥＣＵ、ドアのロック／アンロックの制御を行うドアＥＣＵ、メータの表示制御を行うメータＥＣＵ、エアコンの制御を行うエアコンＥＣＵ、ウィンドウの開閉制御を行うウィンドウＥＣＵ等である。
【００１２】
通信バス７，８は、例えばマルチメディア系の通信バス、パワートレイン系の通信バス、ボディ系の通信バス等であり、ＣＡＮ（Controller Area Network、登録商標）、ＬＩＮ（Local Interconnect Network）、ＣＸＰＩ（Clock Extension Peripheral Interface、登録商標）、ＦｌｅｘＲａｙ（登録商標）、ＭＯＳＴ（Media Oriented Systems Transport、登録商標）等から構成されている。通信バス７，８は、通信プロトコルや通信速度や信号フォーマットが共通であっても良いし互いに異なっていても良い。又、電子制御装置の個数や通信バスの本数は例示した構成に限らない。
【００１３】
中継装置５は、車両ボディのコネクタに対して配線ケーブルが装着されたことで車両診断ツール９（外部装置に相当する）と有線接続されると、車両診断ツール９との間でプログラム又はデータを送受信する。車両診断ツール９は、作業者が車両診断を行うために操作するツールである。
【００１４】
又、中継装置５は、車載通信機６との間でプログラム又はデータを送受信する。車載通信機６は、クラウド１０（外部装置に相当する）との間で広域通信ネットワークを介して無線接続されると、クラウド１０との間でプログラム又はデータを送受信する。クラウド１０は、例えばセンタ端末やサーバ等である。車載通信機６は、車両接続端末１１（外部装置に相当する）との間で近距離通信ネットワークを介して無線接続されると、車両接続端末１１との間でプログラム又はデータを送受信する。車両接続端末１１は、例えばユーザが携帯可能なスマートフォンやタブレット端末等である。以下、車両診断ツール９、クラウド１０、車両接続端末１１を外部装置９〜１１と総称する。
【００１５】
次に、電子制御装置１〜４の構成について説明する。尚、電子制御装置１〜４は基本的に同じ構成であるので、電子制御装置１を代表して説明する。電子制御装置１は、マイクロコンピュータ（以下、マイコンと称する）１２を有し、上記したメモリ１ａをマイコン１２の内部に有し、メモリ１ｂをマイコン１２の外部に有する。マイコン１２は、ＣＰＵ、ＲＡＭ、ＲＯＭ、Ｉ／Ｏポート等を有し、ソフトウェア等により実現される内部の機能として、第１差分情報取得部１２ａと、旧情報退避部１２ｂと、新情報生成部１２ｃと、新情報書き込み部１２ｄと、第２差分情報取得部１２ｅと、書き戻し要求取得部１２ｆと、実施状態判定部１２ｇと、新情報退避部１２ｈと、旧情報生成部１２ｉと、旧情報書き込み部１２ｊとを有する。
【００１６】
図２に示すように、電子制御装置１のメモリ１ａは、プログラム又はデータをブロック単位で蓄積する蓄積専用領域１３ａと、書き換え完了フラグを記憶するフラグ記憶領域１３ｂと、第１差分情報を記憶する記憶領域１３ｃと、第２差分情報を記憶する記憶領域１３ｄと、差分書き換えプログラムを記憶する記憶領域１３ｅと、ブートプログラムを記憶する記憶領域１３ｆとを有する。
【００１７】
マイコン１２は、駆動電源がオンすると、ブートプログラムを起動し、書き換え完了フラグを参照する。マイコン１２は、プログラム又はデータの書き換えが正常に完了しているか否かを書き換え完了フラグにより判定する。マイコン１２は、書き換え完了フラグが正常であり、書き換えが正常に完了していると判定すると、蓄積専用領域１３ａに蓄積されているプログラムのうち車両制御を実施するための制御プログラムを起動する。一方、マイコン１２は、書き換え完了フラグが正常でなく、書き換えが正常に完了していないと判定すると、記憶領域１３ｅに記憶されている差分書き換えプログラムを起動する。
【００１８】
第１差分情報は、図３に示すように、プログラム又はデータに関する旧情報から新情報への差分を示す情報である。第２差分情報は、図４に示すように、プログラム又はデータに関する新情報から旧情報への差分を示す情報である。これら第１差分情報及び第２差分情報は、外部装置９〜１１から電子制御装置１に送信されるプログラム又はデータのバージョンを当該外部装置９〜１１が管理することで生成する情報であり、外部装置９〜１１から電子制御装置１に送信される情報である。
【００１９】
図５に示すように、現在のバージョンがバージョン１であれば、バージョン１から次世代のバージョン２にアップデートするときの差分を示す情報が第１差分情報である。又、バージョン１から次世代のバージョン２にアップデートした後に、バージョン２から前世代のバージョン１にダウングレードするときの差分を示す情報が第２差分情報である。即ち、バージョンが２世代の場合であれば、第１差分情報は１つであり、第２差分情報も１つである。一方、図６に示すように、現在のバージョンがバージョン２であれば、バージョン２から次世代のバージョン３にアップデートするときの差分を示す情報が第１差分情報である。又、バージョン２から次世代のバージョン３にアップデートした後に、バージョン３から前世代のバージョン２にダウングレードするときの差分を示す情報が第２差分情報であり、更にバーション３からバージョン２よりも前世代のバージョン１にダウングレードするときの差分を示す情報も第２差分情報である。即ち、バージョンが３世代の場合であれば、第１差分情報は１つであるが、第２差分情報は２つである。このように第１差分情報は世代数に関係なく１つであるが、第２差分情報は世代数に応じて複数となり得る。
【００２０】
第１差分情報取得部１２ａは、外部装置９〜１１から送信された第１差分情報が電子制御装置１に受信されることで第１差分情報を取得する。旧情報退避部１２ｂは、メモリ１ａに蓄積されている旧情報を、メモリ１ａとは別の予め設定されているメモリにブロック単位で退避させる。メモリ１ａに蓄積されている旧情報の退避先のメモリは、同一接続ノード内のメモリ１ｂ、別の接続ノード内のメモリ２ａ，３ａ，４ａ、外部装置９〜１１のメモリの何れであっても良く、予め１つが設定されていても良いし複数が設定されていても良い。又、旧情報退避部１２ｂは、退避対象の旧情報が冗長を必要としなければ、その退避対象の旧情報を１つの退避先に退避させ、一方、退避対象の旧情報が冗長を必要とすれば、その退避対象の旧情報を複数の退避先に退避させる。
【００２１】
新情報生成部１２ｃは、別のメモリに退避された旧情報と第１差分情報とから新情報を生成する。新情報書き込み部１２ｄは、メモリ１ａに蓄積されている旧情報が別のメモリに退避された状態で新情報をメモリ１ａに書き込み、新情報の書き込みを終了すると、退避先のメモリに退避されていた旧情報を消去する。
【００２２】
第２差分情報取得部１２ｅは、外部装置９〜１１から送信された第２差分情報が電子制御装置１に受信されることで第２差分情報を取得する。書き戻し要求取得部１２ｆは、外部装置９〜１１から送信された書き戻し要求が電子制御装置１に受信されることで書き戻し要求を取得する。実施状態判定部１２ｇは、メモリ１ａに書き込み中又は書き込まれた新情報による車両制御の実施状態を判定する。
【００２３】
新情報退避部１２ｈは、新情報のメモリ１ａへの書き込み中又は書き込みが終了すると、メモリ１ａに書き込み中又は書き込まれた新情報を旧情報に書き戻す条件が成立したか否かを判定する。新情報退避部１２ｈは、外部装置９〜１１から送信された書き戻し要求が電子制御装置１に受信されたことで書き戻し要求が取得されると、又はメモリ１ａに書き込み中又は書き込まれた新情報による車両制御の実施状態が正常でないと判定されると、書き戻す条件が成立したと判定し、メモリ１ａに蓄積されている新情報を、メモリ１ａとは別の予め設定されているメモリに退避させる。メモリ１ａに蓄積されている新情報の退避先のメモリも、同一接続ノード内のメモリ１ｂ、別の接続ノード内のメモリ２ａ，３ａ，４ａ、外部装置９〜１１のメモリの何れであっても良く、予め１つが設定されていても良いし複数が設定されていても良い。又、新情報退避部１２ｈは、退避対象の新情報が冗長を必要としなければ、その退避対象の新情報を１つの退避先に退避させ、一方、退避対象の新情報が冗長を必要とすれば、その退避対象の新情報を複数の退避先に退避させる。
【００２４】
旧情報生成部１２ｉは、別のメモリに退避された新情報と第２差分情報とから旧情報を生成する。旧情報書き込み部１２ｊは、メモリ１ａに蓄積されている新情報が別のメモリに退避された状態で、旧情報をメモリ１ａに書き込み、旧情報の書き込みを終了すると、退避先のメモリに退避されていた新情報を消去する。
【００２５】
次に、上記した構成の作用について図７から図１２を参照して説明する。ここでは、旧情報から新情報への書き換え処理、新情報から旧情報への書き換え処理について説明する。
【００２６】
（１）旧情報から新情報への書き換え処理
電子制御装置１において、マイコン１２は、電子制御装置１への供給電源のオンを待機しており、電子制御装置１への供給電源がオンしたと判定すると（Ｓ１）、書き換え完了フラグを判定する（Ｓ２）。マイコン１２は、書き換え完了フラグが正常であると判定し、書き換えが正常に完了していると判定すると（Ｓ２：ＹＥＳ）、蓄積専用領域１３ａに蓄積されているプログラムのうち制御プログラムを起動する（Ｓ３）。一方、マイコン２は、書き換え完了フラグが正常でないと判定し、書き換えが正常に完了していないと判定すると（Ｓ２：ＮＯ）、旧情報から新情報への書き換え処理を開始し、記憶領域１３ｅに記憶されている差分書き換えプログラムを起動する（Ｓ４）。
【００２７】
マイコン１２は、制御プログラム及び書き換えプログラムのうち何れかを起動すると、外部装置９〜１１からの書き換え時の認証要求を取得したか否かを判定する（Ｓ５）。マイコン１２は、書き換え時の認証要求を取得したと判定すると（Ｓ５：ＹＥＳ）、書き換えの認証が成立したか否かを判定する（Ｓ６）。マイコン１２は、書き換え時の認証要求の送信先が正規の外部装置９〜１１であると判定し、書き換えの認証が成立したと判定すると（Ｓ６：ＹＥＳ）、これよりも先に起動したプログラムが制御プログラム及び差分書き換え用プログラムの何れであるかを判定する（Ｓ７）。マイコン１２は、制御プログラムを起動したと判定すると（Ｓ７：ＹＥＳ）、旧情報の退避処理に移行する（Ｓ８）。一方、マイコン１２は、差分書き換え用プログラムを起動したと判定すると（Ｓ７：ＮＯ）、旧情報の退避処理に移行しない。
【００２８】
マイコン１２は、旧情報の退避処理を開始すると、退避対象の旧情報が冗長を必要とするか否かを判定する（Ｓ２１）。マイコン１２は、退避対象のプログラム又はデータが例えば鍵情報のセキュリティに関連する情報であれば、冗長を必要とすると判定し（Ｓ２１：ＹＥＳ）、その退避対象の旧情報を複数の退避先に退避させる（Ｓ２２）。マイコン１２は、複数の全ての退避先への退避を終了したか否かを判定し（Ｓ２３）、複数の全ての退避先への退避を終了したと判定すると（Ｓ２３：ＹＥＳ）、退避対象の全ての旧情報の退避を終了したか否かを判定する（Ｓ２４）。一方、マイコン１２は、退避対象のプログラム又はデータが例えば鍵情報のセキュリティに関連する情報でなければ、冗長を必要としないと判定し（Ｓ２１：ＮＯ）、その退避対象の旧情報を１つの退避先に退避させ（Ｓ２５）、退避対象の全ての旧情報の退避を終了したか否かを判定する（Ｓ２４）。
【００２９】
マイコン１２は、避難対象の全ての旧情報の退避を終了していないと判定すると（Ｓ２４：ＮＯ）、上記したステップＳ２１に戻り、ステップＳ２１〜Ｓ２５を繰り返す。マイコン１２は、退避対象の全ての旧情報の退避を終了したと判定すると（Ｓ２４：ＹＥＳ）、旧情報の退避処理を終了する。
【００３０】
マイコン１２は、旧情報から新情報への書き換え処理に戻ると、メモリ１ａに残っている旧情報を消去し（Ｓ９）、外部装置９〜１１から第１差分情報を取得したか否かを判定する（Ｓ１０）。マイコン１２は、外部装置９〜１１から送信された第１差分情報が電子制御装置１に受信されたことで第１差分情報を取得したと判定すると（Ｓ１０：ＹＥＳ）、その取得した第１差分情報をメモリ１ａに書き込む（Ｓ１１）。
【００３１】
マイコン１２は、外部装置９〜１１から第２差分情報を取得したか否かを判定する（Ｓ１２）。マイコン１２は、外部装置９〜１１から送信された第２差分情報が電子制御装置１に受信されたことで第２差分情報を取得したと判定すると（Ｓ１２：ＹＥＳ）、その取得した第２差分情報をメモリ１ａに書き込む（Ｓ１３）。
【００３２】
マイコン１２は、旧情報の退避先から旧情報を読み出し、その読み出した旧情報とメモリ１ａに書き込んだ第１差分情報とから新情報を生成する（Ｓ１４）。マイコン１２は、新情報を生成すると、その生成した新情報をブロック単位でメモリ１ａに書き込み（Ｓ１５）、書き込み対象の全ての新情報の書き込みを終了したか否かを判定する（Ｓ１６）。マイコン１２は、書き込み対象の全ての新情報の書き込みを終了していないと判定すると（Ｓ１６：ＮＯ）、上記したステップＳ１０に戻り、ステップＳ１０〜Ｓ１６を繰り返す。即ち、マイコン１２は、外部装置９〜１１から第１差分情報及び第２差分情報を取得しながら書き込み対象の新情報を書き込む。マイコン１２は、書き込み対象の全ての新情報の書き込みを終了したと判定すると（Ｓ１６：ＹＥＳ）、消去要求を旧情報の退避先に送信し（Ｓ１７）、退避先に退避させていた旧情報を消去し、旧情報から新情報への書き換え処理を終了する。
【００３３】
このように、マイコン１２は、内部のメモリ１ａに蓄積されている旧情報を新情報に書き換える場合には、旧情報をメモリ１ａとは別の車両内の接続ノード又は外部装置９〜１１のメモリに退避させる。そして、マイコン１２は、その退避させた旧情報と外部装置９〜１１から取得した第１差分情報とから新情報を生成し、その生成した新情報をメモリ１ａに書き込む。
【００３４】
尚、以上は、外部装置９〜１１から第１差分情報及び第２差分情報を取得しながら書き込み対象の新情報を書き込む構成を例示したが、外部装置９〜１１からの第１差分情報及び第２差分情報の取得を終了後に書き込み対象の新情報を書き込む構成でも良い。又、新情報を生成する前に第２差分情報を取得する構成を例示したが、書き込み対象の全ての新情報の書き込みを終了したと判定した後に第２差分情報を取得しても良い。更には、後述する旧情報から新情報への書き換え処理において第２差分情報を取得しても良い。
【００３５】
（２）新情報から旧情報への書き換え処理
マイコン１２は、電子制御装置１への供給電源がオンし、旧情報から新情報への書き換え処理を開始するが、新情報の書き込み中に旧情報から新情報への書き換え処理を開始する場合と、新情報の書き込み終了後に旧情報から新情報への書き換え処理を開始する場合とがある。以下、新情報の書き込み中での新情報から旧情報への書き換え処理、新情報の書き込み終了後での新情報から旧情報への書き換え処理について説明する。
【００３６】
（２−１）新情報の書き込み中での新情報から旧情報への書き換え処理
マイコン１２は、電子制御装置１への供給電源がオンしたときに新情報の書き込み中において（Ｓ３１）、書き込み中の新情報を旧情報に書き戻す条件が成立した否かを判定する（Ｓ３２）。マイコン１２は、外部装置９〜１１から書き戻し要求を取得した、又はメモリ１ａに書き込み中に、書き戻す条件が成立したと判定すると（Ｓ３２：ＹＥＳ）、新情報の書き込みの終了を待機し（Ｓ３３）、新情報の書き込みが終了したと判定すると（Ｓ３３：ＹＥＳ）、新情報から旧情報への書き換え処理を開始し、新情報の退避処理に移行する（Ｓ３４）。
【００３７】
マイコン１２は、新情報の退避処理を開始すると、退避対象の新情報が冗長を必要とするか否かを判定する（Ｓ５１）。マイコン１２は、退避対象のプログラム又はデータが例えば鍵情報のセキュリティに関連する情報であれば、冗長を必要とすると判定し（Ｓ５１：ＹＥＳ）、その退避対象の新情報を複数の退避先に退避させる（Ｓ５２）。マイコン１２は、複数の全ての退避先への退避を終了したか否かを判定し（Ｓ５３）、複数の全ての退避先への退避を終了したと判定すると（Ｓ５３：ＹＥＳ）、退避対象の全ての新情報の退避を終了したか否かを判定する（Ｓ５４）。一方、マイコン１２は、退避対象のプログラム又はデータが例えば鍵情報のセキュリティに関連する情報でなければ、冗長を必要としないと判定し（Ｓ５１：ＮＯ）、その退避対象の新情報を１つの退避先に退避させ（Ｓ５５）、退避対象の全ての新情報の退避を終了したか否かを判定する（Ｓ５４）。
【００３８】
マイコン１２は、避難対象の全ての新情報の退避を終了していないと判定すると（Ｓ５４：ＮＯ）、上記したステップＳ５１に戻り、ステップＳ５１〜Ｓ５５を繰り返す。マイコン１２は、退避対象の全ての新情報の退避を終了したと判定すると（Ｓ５４：ＹＥＳ）、新情報の退避処理を終了する。
【００３９】
マイコン１２は、新情報から旧情報への書き換え処理に戻ると、メモリ１ａに残っている新情報を消去し（Ｓ３５）、新情報の退避先から新情報を読み出し、その読み出した新情報とメモリ１ａに書き込んでおいた第２差分情報とから旧情報を生成する（Ｓ３６）。マイコン１２は、旧情報を生成すると、その生成した旧情報をブロック単位でメモリ１ａに書き込み（Ｓ３７）、書き込み対象の全ての旧情報の書き込みを終了したか否かを判定する（Ｓ３８）。マイコン１２は、書き込み対象の全ての旧情報の書き込みを終了していないと判定すると（Ｓ３８：ＮＯ）、上記したステップＳ３６に戻り、ステップＳ３６〜Ｓ３８を繰り返す。マイコン１２は、書き込み対象の全ての旧情報の書き込みを終了したと判定すると（Ｓ３８：ＹＥＳ）、消去要求を新情報の退避先に送信し（Ｓ３９）、退避先に退避させていた新情報を消去し、新情報から旧情報への書き換え処理を終了する。
【００４０】
（２−２）新情報の書き込み終了後での新情報から旧情報への書き換え処理
マイコン１２は、新情報の書き込み終了後に電子制御装置１への供給電源がオンした状態において（Ｓ４１）、書き込み終了後の新情報を旧情報に書き戻す条件が成立した否かを判定する（Ｓ４２）。マイコン１２は、書き戻す条件が成立したと判定すると（Ｓ４２：ＹＥＳ）、新情報から旧情報への書き換え処理を開始し、新情報の退避処理に移行する（Ｓ４３）。これ以降、マイコン１２は、新情報の退避処理を開始し、新情報の退避処理を終了すると、上記したステップＳ３５〜Ｓ３９と同様にステップＳ４４〜Ｓ４８を行う。
【００４１】
このように、マイコン１２は、内部のメモリ１ａに蓄積されている新情報を旧情報に書き換える場合には、新情報をメモリ１ａとは別の車両内の接続ノード又は外部装置９〜１１のメモリに退避させる。そして、マイコン１２は、その退避させた新情報と外部装置９〜１１から取得した第２差分情報とから旧情報を生成し、その生成した旧情報をメモリ１ａに書き込む。
【００４２】
尚、以上は、マイコン１２の内部のメモリ１ａに蓄積されているプログラム又はデータを書き換える場合を説明したが、マイコン１２の外部のメモリ１ｂに蓄積されているプログラム又はデータを書き換える場合も同様である。即ち、マイコン１２は、外部のメモリ１ｂに蓄積されているプログラム又はデータに対する書き換えを、内部のメモリ１ａに蓄積されているプログラム又はデータに対する書き換えと同様の手順にしたがって行う。
【００４３】
以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
電子制御装置１において、メモリ１ａに蓄積されている旧情報を新情報に書き換える場合に、旧情報をメモリ１ａとは別のメモリに退避させ、旧情報を別のメモリに退避させた状態で新情報をメモリ１ａに書き込むようにした。メモリ１ａに旧情報と新情報とを２面持ちする必要をなくすことで、コストアップを抑えることができる。又、旧情報を別のメモリに退避させたことで、新情報から旧情報への書き戻しが必要となった場合でも、その退避させた旧情報を使用して書き戻すことができる。外部装置９〜１１では車両毎に管理された新情報から旧情報への差分を示す情報を逐次配信する必要がなくなり、外部装置９〜１１での旧情報の管理が煩雑になることなく、新情報から旧情報に適切に書き戻すことができる。
【００４４】
又、電子制御装置１において、新情報のメモリ１ａへの書き込みを終了すると、別のメモリに退避させておいた旧情報を消去するようにした。旧情報の退避先とした別のメモリの資産を新情報の書き込み終了後において他の処理用途に有効に割り当てることができる。
【００４５】
又、電子制御装置１において、新情報のメモリ１ａへの書き込み中に書き戻す条件が成立すると、新情報のメモリ１ａへの書き込み終了後に、新情報をメモリ１ａとは別のメモリに退避させ、新情報を別のメモリに退避させた状態で旧情報をメモリ１ａに書き込むようにした。又、電子制御装置１において、新情報のメモリ１ａへの書き込み終了後に書き戻す条件が成立すると、この場合も、新情報をメモリ１ａとは別のメモリに退避させ、新情報を別のメモリに退避させた状態で旧情報をメモリ１ａに書き込むようにした。新情報の不備や既存のプログラム又はデータとの親和性の不具合等により車両制御を新情報により実施することができなくとも、新情報から旧情報に書き戻すことで、車両制御を旧情報により実施することができ、車両制御が不能となる事態の発生を未然に回避することができる。
【００４６】
又、電子制御装置１において、外部装置９〜１１から書き戻し要求が取得されたことを書き戻す条件とした。例えばユーザが車両診断ツール９や車両接続端末１１を操作する等により、新情報から旧情報に手動で書き戻すことができる。
【００４７】
又、電子制御装置１において、新情報による車両制御の実施状態が正常でないと判定されたことを書き戻す条件とした。新情報による車両制御の実施状態が正常でないと判定されることで、例えばユーザが車両診断ツール９や車両接続端末１１を操作する等しなくとも、新情報から旧情報に自動的に書き戻すことができる。
【００４８】
又、電子制御装置１において、旧情報のメモリ１ａへの書き込みを終了すると、別のメモリに退避させておいた新情報を消去するようにした。新情報の退避先とした別のメモリの資産を旧情報の書き込み終了後において他の処理用途に有効に割り当てることができる。
【００４９】
又、電子制御装置１において、複数の世代毎の第２差分情報を外部装置９〜１１から取得するようにした。ユーザや車両システムの要求に応じて任意の世代の旧情報に書き戻すことができ、様々なユースケースに柔軟に対応した車両制御を実現することができる。
【００５０】
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【００５１】
新情報から旧情報に書き戻す場合に何れの世代のバージョンにダウングレードするかを、電子制御装置１及び外部装置９〜１１の何れで決定しても良く、即ち、第２差分情報の受信側及び送信側の何れで決定しても良い。
【００５２】
外部装置９〜１１との間で送受信されるプログラム又はデータを対象とする構成を例示したが、車両ネットワーク内で送受信されるプログラム又はデータを対象としても良い。即ち、車両内のみで扱うプログラム又はデータを書き換える場合に適用しても良い。又、第１差分要求、第２差分情報、書き戻し要求を車両ネットワークから取得する構成でも良い。
【符号の説明】
【００５３】
図面中、１〜４は電子制御装置、１ａ，１ｂ，２ａ，３ａ，４ａはメモリ，７，８は通信バス（車両ネットワーク）、９は車両診断ツール（外部装置）、１０はクラウド（外部装置）、１１は車両接続端末（外部装置）、１２ａは第１差分情報取得部、１２ｂは旧情報退避部、１２ｃは新情報生成部、１２ｄは新情報書き込み部、１２ｅは第２差分情報取得部、１２ｆは書き戻し要求取得部、１２ｇは実施状態判定部、１２ｈは新情報退避部、１２ｉは旧情報生成部、１２ｊは旧情報書き込み部である。
【図１】
2019074847.tif 000003
【図２】
2019074847.tif 000004
【図３】
2019074847.tif 000005
【図４】
2019074847.tif 000006
【図５】
2019074847.tif 000007
【図６】
2019074847.tif 000008
【図７】
2019074847.tif 000009
【図８】
2019074847.tif 000010
【図９】
2019074847.tif 000011
【図１０】
2019074847.tif 000012
【図１１】
2019074847.tif 000013
【図１２】
2019074847.tif 000014