(57)【要約】【課題】ソフトウェアの更新管理機能の長寿命化が可能なソフトウェア管理システムを提供する。【解決手段】本発明は、車両の外部から無線により送信された更新ソフトウェアを受信する更新管理装置２と、更新管理装置２に通信可能に接続された、それぞれ異なる車載装置を制御する複数のＥＣＵ３と、を備え、更新管理装置２は、各ＥＣＵ３のソフトウェア情報のうち、ソフトウェアを更新しても変化しない所定の不変情報を不揮発性メモリ２１にて管理する不変情報管理部２３と、各ＥＣＵ３のソフトウェア情報のうち、ソフトウェアの更新の可否を判断するための情報である更新判断情報を揮発性メモリ２２にて管理する更新判断情報管理部２４と、を備え、各ＥＣＵ３は、更新管理装置２との間での通信開始以後に、現在の更新判断情報を送信する更新判断情報送信部３１を備える。【選択図】図１
2018205896.tif 000002
【特許請求の範囲】
【請求項１】
複数の車載装置のソフトウェアの更新を管理する、車両に搭載されたソフトウェア管理システムであって、
前記車両の外部から無線により送信された更新ソフトウェアを受信する更新管理装置と、
前記更新管理装置に通信可能に接続された、それぞれ異なる前記車載装置を制御する複数のＥＣＵと、
を備え、
前記更新管理装置は、
各前記ＥＣＵのソフトウェア情報のうち、前記ソフトウェアを更新しても変化しない所定の不変情報を不揮発性メモリにて管理する不変情報管理部と、
各前記ＥＣＵの前記ソフトウェア情報のうち、前記ソフトウェアの更新により変更され得るものであり前記ソフトウェアの更新の可否を判断するための情報である更新判断情報を揮発性メモリにて管理する更新判断情報管理部と、
を備え、
各前記ＥＣＵは、前記更新管理装置との間での通信開始以後に、現在の前記更新判断情報を送信する更新判断情報送信部を備えるソフトウェア管理システム。
【請求項２】
前記更新管理装置は、前記更新ソフトウェアを受信した場合、前記更新判断情報管理部が全ての前記ＥＣＵの前記更新判断情報を管理した後に、前記ソフトウェアの更新を実施するか否かの判定を行うソフトウェア更新判定部を備える請求項１に記載のソフトウェア管理システム。
【請求項３】
前記更新判断情報送信部は、前記ソフトウェアの更新が実施された場合、更新後の前記更新判断情報を前記更新管理装置に送信する請求項１又は２に記載のソフトウェア管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載装置のソフトウェアの更新を管理するソフトウェア管理システムに関する。
【背景技術】
【０００２】
従来から、無線通信により車両の外部から送信された更新ソフトウェアを、車両が受信して、車載装置のＥＣＵのソフトウェアを更新するシステムが開発されている。このシステムでは、車両に搭載された複数のＥＣＵのソフトウェアのバージョン情報を一括で管理するソフトウェア管理装置を備えることが好ましい。このようなソフトウェア管理装置としては、例えば特開２００５−３４９８７８号公報に記載されている。このソフトウェア管理装置を含む従来の管理装置では、ソフトウェアのバージョン情報がハードディスクドライブ（磁気記憶装置）やフラッシュメモリのような不揮発性メモリに保存されて管理されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４９８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、本発明者は、上記無線によりソフトウェアを更新する技術の状況に着目し、ソフトウェアの更新管理についてフラッシュメモリのように書き換え回数に制約のあるメモリを用いた場合の改良すべき課題に到達した。つまり、管理装置がソフトウェア情報を一括で管理しているため、各ＥＣＵのソフトウェアが更新される度にメモリの記憶情報を書き換える必要があり、その分、メモリの書き換え回数が多くなり、メモリが寿命（書き換え回数の限界）を迎えやすくなる。メモリが寿命を迎えると、記憶情報の書き換えが困難となり、ソフトウェアの更新が精度良く行われない可能性がある。特に無線による更新が可能となることで、更新の敷居が低くなり、不具合対策目的のみならず機能向上や機能追加目的での更新も行われ、ソフトウェアの更新頻度が高まることが予想される。
【０００５】
本発明はこのような事情に鑑みて為されたものであり、ソフトウェアの更新管理機能の長寿命化が可能なソフトウェア管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のソフトウェア管理システムは、複数の車載装置のソフトウェアの更新を管理する、車両に搭載されたソフトウェア管理システムであって、前記車両の外部から無線により送信された更新ソフトウェアを受信する更新管理装置と、前記更新管理装置に通信可能に接続された、それぞれ異なる前記車載装置を制御する複数のＥＣＵと、を備え、前記更新管理装置は、各前記ＥＣＵのソフトウェア情報のうち、前記ソフトウェアを更新しても変化しない所定の不変情報を不揮発性メモリにて管理する不変情報管理部と、各前記ＥＣＵの前記ソフトウェア情報のうち、前記ソフトウェアの更新により変更され得るものであり前記ソフトウェアの更新の可否を判断するための情報である更新判断情報を揮発性メモリにて管理する更新判断情報管理部と、を備え、各前記ＥＣＵは、前記更新管理装置との間での通信開始以後に、現在の前記更新判断情報を送信する更新判断情報送信部を備える。
【発明の効果】
【０００７】
本発明によれば、更新判断情報管理部が揮発性メモリにて更新判断情報（例えばバージョン情報）を管理しているため、ソフトウェアが更新される度に不揮発性メモリを書き換える必要がない。フラッシュメモリのような不揮発性メモリは構成上、書き換え回数に限界があるが、揮発性メモリは理論上、半永久的に書き換えが可能である。本発明によれば、書き換え回数が多い更新判断情報を、半永久的に書き換え可能な揮発性メモリにて管理するため、不揮発性メモリの書き換え回数が低減され、ソフトウェアの更新管理機能の長寿命化が可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態のソフトウェア管理システムの構成図である。
【図２】本実施形態の不揮発性メモリ及び揮発性メモリの保存例を示す説明図である。
【図３】本実施形態の車両通信開始時の処理を示すフローチャートである。
【図４】本実施形態の更新ソフトウェア受信時の処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図に基づいて説明する。説明に用いる各図は概念図である。本実施形態のソフトウェア管理システム１は、複数の車載装置のソフトウェアの更新を管理する、車両に搭載されたシステムである。ソフトウェア管理システム１は、図１に示すように、マスタＥＣＵ（「更新管理装置」に相当する）２と、複数のスレーブＥＣＵ３と、を備えている。マスタＥＣＵ２は、例えばＯＴＡ（Ｏｖｅｒ  Ｔｈｅ  Ａｉｒ）  ＥＣＵであって、車両の外部から無線により送信された更新ソフトウェアを受信するＥＣＵ（ＣＰＵ等を備える電子制御ユニット）である。車両には、例えばサーバ等の外部装置Ａから送信された更新ソフトウェアを受信するアンテナ（例えばフィルムアンテナ）Ｂが設置されており、マスタＥＣＵ２はアンテナＢから情報を受信する。マスタＥＣＵ２は受信部を有するといえる。サーバ等の外部装置Ａは、例えばＯＴＡセンターに設置されている。マスタＥＣＵ２は、更新ソフトウェアを所定のメモリに保存する。また、マスタＥＣＵ２は、更新ソフトウェアを更新対象のスレーブＥＣＵ３に送信する機能を有している。
【００１０】
詳細に、本実施形態のマスタＥＣＵ２は、不揮発性メモリ２１と、揮発性メモリ２２と、不変情報管理部２３と、更新判断情報管理部２４と、ソフトウェア更新判定部２５と、を備えている。
【００１１】
不変情報管理部２３は、各スレーブＥＣＵ３のソフトウェア情報のうち、ソフトウェアを更新しても変化しない所定の不変情報を不揮発性メモリ２１にて管理するように構成されている。具体的に、不変情報管理部２３は、マスタＥＣＵ２とスレーブＥＣＵ３との通信が初めて開始された際に、スレーブＥＣＵ３のソフトウェアの個別情報を読み取り（受信し）、当該個別情報を不揮発性メモリ２１に書き込む。つまり、本実施形態では、所定の不変情報は、各スレーブＥＣＵ３の個別情報であり、例えば図２に示すように、メーカ、車両（車名）、ＥＣＵ（車載装置）、及びソフトバリエーションである。マスタＥＣＵ２に接続されている全てのスレーブＥＣＵ３の個別情報が、不揮発性メモリ２１に保存される。なお、当該個別情報は予め不揮発性メモリ２１に記憶されていても良く、この場合でも、不変情報管理部２３は当該個別情報を不揮発性メモリ２１にて管理（必要に応じて読み出す等）しているといえる。管理とは、少なくとも保存された情報を読み出す機能ともいえる。
【００１２】
更新判断情報管理部２４は、各スレーブＥＣＵ３のソフトウェア情報のうち、ソフトウェアの更新により変更され得るものでありソフトウェアの更新の可否を判断するための情報である更新判断情報を揮発性メモリ２２にて管理するように構成されている。更新判断情報は、例えばソフトウェアのバージョン情報である。本実施形態の更新判断情報は、バージョン情報を含む。以下、更新判断情報がバージョン情報であることを例に本実施形態について説明する。更新判断情報管理部２４は、スレーブＥＣＵ３から送信されるバージョン情報を受信し、揮発性メモリ２２に書き込む。マスタＥＣＵ２に接続されている全てのスレーブＥＣＵ３のバージョン情報が、揮発性メモリ２２に保存される。バージョン情報は、例えばＩＤ（識別情報）が付与されていること又はＩＤを含んでいることにより、いずれのスレーブＥＣＵ３の情報であるかを識別可能となっている。
【００１３】
ソフトウェア更新判定部２５は、更新ソフトウェアを受信した場合、ソフトウェアの更新を実施するか否かを判定するように構成されている。具体的に、ソフトウェア更新判定部２５は、揮発性メモリ２２に保存された更新対象のスレーブＥＣＵ３のバージョン情報と、更新ソフトウェアのバージョン情報とを比較して、更新の必要性があるか否かを判定する。ソフトウェア更新判定部２５は、両者のバージョン情報が一致している場合、更新を実施しないと判定する。一方、ソフトウェア更新判定部２５は、更新ソフトウェアのバージョン情報が揮発性メモリに保存された対象のスレーブＥＣＵ３のバージョン情報よりも新しい場合、原則として、更新を実施すると判定する。ソフトウェア更新判定部２５は、更新を実施すると判定した場合、更新ソフトウェアを対象のスレーブＥＣＵ３に送信する。当該更新ソフトウェアの送信は、ユーザから更新の承諾を得た後に行うように設定されても良い。
【００１４】
ここで、本実施形態のソフトウェア更新判定部２５は、外部装置ＡからマスタＥＣＵ２が更新ソフトウェアを受信した場合、更新判断情報管理部２４が全てのスレーブＥＣＵ３のバージョン情報を管理した後に、ソフトウェアの更新を実施するか否かの判定を行うように構成されている。つまり、ソフトウェア更新判定部２５は、揮発性メモリ２２に全てのスレーブＥＣＵ３のバージョン情報が記憶された後に、ソフトウェアを更新するか否かを判定する。例えば、マスタＥＣＵ２は、更新ソフトウェアを受信する度に全てのバージョン情報が揃っているか否かを判定し、揃っていない場合には更新の可否を判定せず、揃っている場合に更新の可否を判定する。例えば、１回目の更新ソフトウェア受信時に全スレーブＥＣＵ３のバージョン情報が揃っていなくても、２回目の更新ソフトウェア受信時に揃っていれば、その際に更新の可否を判定する。
【００１５】
これにより、スレーブＥＣＵ３間でソフトウェアのバージョンの対応をとらなくてはならない場合にも、適切にソフトウェアの更新を実施することができる。例えば、第１のスレーブＥＣＵ３のソフトウェアがバージョンＸである場合、第２のスレーブＥＣＵ３のソフトウェアはバージョンＺでなくてはならない等（バージョンＹだと不都合がある等）の更新条件に応じて、ソフトウェア更新判定部２５が更新の可否や順番等を適切に判定することができる。
【００１６】
複数のスレーブＥＣＵ３は、マスタＥＣＵ２に通信可能に接続されており、それぞれ異なる車載装置を制御するＥＣＵである。例えば、図１に示すように、第１のスレーブＥＣＵ３はエンジン（ＥＮＧ）を制御するＥＣＵであり、第２のスレーブＥＣＵ３は変速機（Ｔ／Ｍ）を制御するＥＣＵであり、第３のスレーブＥＣＵ３はステアリング（ＳＴＲ）を制御するＥＣＵであり、第４のスレーブＥＣＵ３はブレーキ装置（ＥＳＣ）を制御するＥＣＵである。各スレーブＥＣＵ３は、一般のＥＣＵ同様、図示しないが、ソフトウェア等を記憶する不揮発性メモリと、制御を実行する演算処理部（ＣＰＵ）と、を備えている。
【００１７】
さらに、各スレーブＥＣＵ３は、マスタＥＣＵ２との間での通信開始以後に、現在のソフトウェアのバージョン情報を送信する更新判断情報送信部３１を備えている。マスタＥＣＵ２とスレーブＥＣＵ３との間の通信は、例えばイグニッションがオンされた際に開始される。本実施形態の更新判断情報送信部３１は、通信が開始された時、自身のソフトウェアのバージョン情報をマスタＥＣＵ２に送信する。当該送信は一度だけ行われれば良い。マスタＥＣＵ２が、各スレーブＥＣＵ３のソフトウェアのバージョン情報を読み取るともいえる。車両通信は主にＣＡＮにより構成されている。
【００１８】
車両通信開始時の処理の流れを、図３を参照して説明する。電源が投入され（Ｓ１０１）、イニシャルチェックが完了すると（Ｓ１０２）、車両通信が開始される（Ｓ１０３）。そして、各スレーブＥＣＵ３の更新判断情報送信部３１がマスタＥＣＵ２にバージョン情報を送信する（Ｓ１０４）。マスタＥＣＵ２の更新判断情報管理部２４は、受信した各バージョン情報を揮発性メモリ２２に保存する（Ｓ１０５）。そして、通常の処理に移行する。
【００１９】
さらに、本実施形態の更新判断情報送信部３１は、ソフトウェアの更新が実施された場合、更新後のバージョン情報をマスタＥＣＵ２に送信するように構成されている。更新判断情報管理部２４は、受信した更新後のバージョン情報を揮発性メモリ２２に上書きして管理情報を更新する。これにより、マスタＥＣＵ２がソフトウェアの更新の完了を認識することができる上、更新判断情報管理部２４が最新のバージョン情報を揮発性メモリ２２にて管理することができる。なお、更新判断情報送信部３１の機能は、スレーブＥＣＵ３のＣＰＵ等が実行する機能の１つといえる。
【００２０】
ここで、本実施形態のソフトウェア更新処理の流れについて図４を参照して説明する。まず、マスタＥＣＵ２がソフトウェアの更新情報を受信すると（Ｓ２０１）、ソフトウェア更新判定部２５が全スレーブＥＣＵ３からバージョン情報を受信済みであるか否か、すなわち揮発性メモリ２２に全てのスレーブＥＣＵ３のバージョン情報が保存されているか否かが判定される（Ｓ２０２）。全スレーブＥＣＵ３のバージョン情報が保存されている場合（Ｓ２０２：Ｙｅｓ）、ソフトウェア更新判定部２５は、不揮発性メモリ２１に保存された車両メーカの情報を参照して、更新ソフトウェアの対象の車両メーカと自車両のメーカとが一致しているか否かを判定する（Ｓ２０３）。車両メーカが一致している場合（Ｓ２０３：Ｙｅｓ）、ソフトウェア更新判定部２５は、更新ソフトウェアの対象の車両（車名）と、不揮発性メモリ２１に保存された自車両の車名とが一致しているか否かを判定する（Ｓ２０４）。車名が一致している場合（Ｓ２０４：Ｙｅｓ）、ソフトウェア更新判定部２５は、不揮発性メモリ２１を参照して、更新ソフトウェアの対象のスレーブＥＣＵ３が自車両に搭載されているか否かを判定する（Ｓ２０５）。
【００２１】
更新対象のスレーブＥＣＵ３が自車両に搭載されている場合（Ｓ２０５：Ｙｅｓ）、ソフトウェア更新判定部２５は、不揮発性メモリ２１を参照して、更新ソフトウェアの対象のソフトバリエーションと、更新対象のスレーブＥＣＵ３のソフトバリエーションとが一致しているか否かを判定する（Ｓ２０６）。両者のソフトバリエーションが一致している場合（Ｓ２０６：Ｙｅｓ）、ソフトウェア更新判定部２５は、揮発性メモリ２２を参照して、更新ソフトウェアのバージョンが更新対象のソフトウェアのバージョンよりも新しいか否かを判定する（Ｓ２０７）。更新ソフトウェアのバージョンが自車両のものよりも新しい場合（Ｓ２０７：Ｙｅｓ）、ソフトウェア更新判定部２５は、更新を実施すると判定し、対象のスレーブＥＣＵ３に更新ソフトウェアを送信してソフトウェアの更新を実行する（Ｓ２０８）。
【００２２】
そして更新完了後、更新されたスレーブＥＣＵ３の更新判断情報送信部３１が更新後のバージョン情報をマスタＥＣＵ２に送信する（Ｓ２０９）。マスタＥＣＵ２は、更新したスレーブＥＣＵ３について、更新前のバージョン情報を削除し、更新後のバージョン情報を揮発性メモリ２２に書き込む（Ｓ２１０）。これにより、更新処理は終了し、通常処理に移行する。また、ステップＳ２０２〜Ｓ２０７の何れかにおいて「Ｎｏ」となると、更新処理は終了し、通常処理に移行する。また、例えば、ステップＳ２０７において、ソフトウェア更新判定部２５は、更新ソフトウェアのバージョンと更新対象外のスレーブＥＣＵ３のソフトウェアのバージョンとの関係から、更新の可否や更新順を判定しても良い。
【００２３】
本実施形態のソフトウェア管理システム１によれば、更新判断情報管理部２４が揮発性メモリ２２にてバージョン情報を管理しているため、ソフトウェアが更新される度に不揮発性メモリ２１を書き換える必要がない。つまり、本実施形態によれば、更新と一括管理により書き換え回数が多くなるバージョン情報を、理論上半永久的に書き換え可能な揮発性メモリ２２にて保存・管理するため、書き換え回数に限界がある不揮発性メモリ２１の書き換え回数が低減され、ソフトウェアの更新管理機能の長寿命化が可能となる。
【００２４】
また、マスタＥＣＵとしての機能を兼ねるナビゲーション装置等（不揮発性メモリとしてハードディスクドライブを有する装置）が搭載されていない車両に対してマスタＥＣＵを搭載する場合、マスタＥＣＵの不揮発性メモリ（２１）として書き換え回数に制約のある例えばＥＥＰＲＯＭ又はフラッシュメモリを採用することで、上記効果（ソフトウェア管理機能の長寿命化）を発揮させつつ、不揮発性メモリにハードディスクドライブを採用する場合と比べてマスタＥＣＵの小型化が可能となる。
【００２５】
（その他）
本発明は、上記実施形態に限られない。揮発性メモリ２２は、バージョン情報以外に、ソフトウェアの更新により変更される情報（変更情報）を保存するように構成されても良い。つまり、更新判断情報は、バージョン情報に限られず、例えば、ある機能（機能Ｑとする）がソフトウェアに入っているか否かにより更新の可否を判断する場合、当該機能Ｑの有無に関する情報が更新判断情報となり得る。本実施形態の揮発性メモリ２２は、少なくともバージョン情報を含む変更情報を保存するといえる。また、更新管理装置は、マスタＥＣＵ２だけに限らず、例えば、互いに通信可能なマスタＥＣＵとゲートウェイＥＣＵとで構成されても良い。この場合、例えばマスタＥＣＵが更新ソフトウェアを受信し、ゲートウェイＥＣＵが更新ソフトウェアを記憶し、スレーブＥＣＵに送信するように構成されても良い。また、スレーブＥＣＵ３は、予めグループ分けされた所定のグループ内のＥＣＵであっても良い。
【００２６】
また、ソフトウェア更新判定部２５は、揮発性メモリ２２に全てのスレーブＥＣＵ３のバージョン情報が記憶されていない状態であっても、更新対象のソフトウェアのバージョン情報が記憶されている場合、その状態で更新判定を行うように構成されても良い。また、更新方法は、公知の技術を用いることができる。また、ソフトウェアの更新は、ユーザの承認後や車両電源がオフされた後（例えばイグニッションがオフされた後）等、所定のタイミングで開始させることができる。
【符号の説明】
【００２７】
１…ソフトウェア管理システム、２…マスタＥＣＵ（更新管理装置）、２１…不揮発性メモリ、２２…揮発性メモリ、２３…不変情報管理部、２４…更新判断情報管理部、２５…ソフトウェア更新判定部、３…スレーブＥＣＵ、３１…更新判断情報送信部、Ａ…外部装置。
【図１】
2018205896.tif 000003
【図２】
2018205896.tif 000004
【図３】
2018205896.tif 000005
【図４】
2018205896.tif 000006