(57)【要約】      （修正有）【課題】車両に搭載された各ＥＣＵのプログラムを更新する場合において、当該車両を使用できない時間を短縮する。【解決手段】制御システム１は、書換制御ＥＣＵ１０とＥＣＵ２０＃１〜２０＃３とを備える。書換制御ＥＣＵは、更新対象の全てのＥＣＵが実行プログラムの更新を完了した場合、更新対象の各ＥＣＵに対して新機能有効信号を送信する。更新対象の各ＥＣＵは、新機能フラグ３１をＯＦＦに変更した後に、当該ＥＣＵの記憶部２２内の実行プログラム３０を更新し、書換制御ＥＣＵから新機能有効信号を受信した場合、新機能フラグをＯＦＦからＯＮに変更する。更新後の実行プログラムは、新機能フラグがＯＦＦの場合に実行される第１のプロセスと、新機能フラグがＯＮの場合に実行される第２のプロセスとを含む。【選択図】図１
2020101905.tif 000002
【特許請求の範囲】
【請求項１】
書換制御装置と複数の制御装置とを備える制御システムであって、
前記書換制御装置は、
更新対象の全ての制御装置が実行プログラムの更新を完了した場合、更新対象の各制御装置に対してフラグの更新を指示し、
前記更新対象の各制御装置は、
前記フラグを第１の値に変更した後に、当該制御装置の記憶部内の実行プログラムを更新し、
前記書換制御装置から前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更し、
更新後の実行プログラムは、前記フラグが前記第１の値の場合に実行される第１のプロセスと、前記フラグが前記第２の値の場合に実行される第２のプロセスとを含む、
制御システム。
【請求項２】
前記制御装置は、前記書換制御装置が当該制御装置の実行プログラムの更新処理を開始するときに、前記フラグを前記第１の値に変更する、
請求項１に記載の制御システム。
【請求項３】
実行プログラムを記憶する記憶部と、
フラグを第１の値に変更した後に、前記記憶部内の前記実行プログラムを更新し、前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更する実行部と、を備え、
更新後の実行プログラムは、前記フラグが前記第１の値の場合に実行される第１のプロセスと、前記フラグが前記第２の値の場合に実行される第２のプロセスとを含み、
前記フラグの更新は、更新対象の全ての制御装置の実行プログラムの更新が完了した場合に指示される、
制御装置。
【請求項４】
前記第１のプロセスは、前記プログラムの更新前におけるプロセスを含み、
前記第２のプロセスは、前記プログラムの更新後におけるプロセスを含む、
請求項３に記載の制御装置。
【請求項５】
前記第１及び第２のプロセスは、他の制御装置と連携するプロセスを含む、
請求項３又は４に記載の制御装置。
【請求項６】
制御装置の記憶部内の実行プログラムを更新するためのコンピュータプログラムであって、
フラグを第１の値に変更した後に、前記記憶部内の前記実行プログラムを更新し、
前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更する、
処理を前記制御装置に実行させ、
更新後の実行プログラムは、前記フラグが前記第１の値の場合に実行される第１のプロセスと、前記フラグが前記第２の値の場合に実行される第２のプロセスとを含み、
前記フラグの更新は、更新対象の全ての制御装置の実行プログラムの更新が完了した場合に指示される、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム、制御装置、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、車両内のＥＣＵ（Electronic Control Unit）で動作するソフトウェアは、不具合の改修又は新機能の追加などのために、更新できるようになっている。
【０００３】
特許文献１には、車両にインストールされている運転支援機能に関するソフトウェアについて、更新が必要と判定された場合に、制御フラグをＯＮ状態にして運転支援機能の作動の制限を開始し、ソフトウェアが更新された後に制御フラグをＯＦＦ状態にして運転支援機能の作動の制限を解除する、車両用のソフトウェア管理システムが開示されている。
【０００４】
特許文献２には、過去のＡＣＣのオフ／オフ状態を記憶し、ＡＣＣがオフされている可能性の高い最適期間を推定し、推定した最適期間がソフトウェア更新に必要なダウンロード所要時間よりも長いと判断した場合に、当該最適期間においてソフトウェア更新を行う、車載ソフトウェア更新装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１６７６４６号公報
【特許文献２】国際公開第２０１０／１１３３４８号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１，２は、全てのＥＣＵについてソフトウェアの更新を完了するまで車両を使用できない。したがって、運転支援機能又は自動運転機能の多機能化などに伴い、車両に搭載されるＥＣＵの数、及び、１つのＥＣＵにおけるソフトウェアのサイズが増加傾向にある現状及び将来において、上述の特許文献１、２では、ソフトウェアの更新に要する時間、すなわち車両を使用できない時間が長くなってしまうという問題がある。
【０００７】
本開示の非限定的な実施例は、車両に搭載された各ＥＣＵのプログラム（ソフトウェア）を更新する場合において、当該車両を使用できない時間を短縮する制御システム、制御装置、及び、コンピュータプログラムに資する。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る制御システムは、書換制御装置と複数の制御装置とを備える制御システムであって、前記書換制御装置は、更新対象の全ての制御装置が実行プログラムの更新を完了した場合、更新対象の各制御装置に対してフラグの更新を指示し、前記更新対象の各制御装置は、前記フラグを第１の値に変更した後に、当該制御装置の記憶部内の実行プログラムを更新し、前記書換制御装置から前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更し、更新後の実行プログラムは、前記フラグが前記第１の値の場合に実行される第１のプロセスと、前記フラグが前記第２の値の場合に実行される第２のプロセスとを含む。
【０００９】
本開示の一態様に係る制御装置は、実行プログラムを記憶する記憶部と、フラグを第１の値に変更した後に、前記記憶部内の前記実行プログラムを更新し、前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更する実行部と、を備え、更新後の実行プログラムは、前記フラグが第１の値の場合に実行される第１のプロセスと、前記フラグが第２の値の場合に実行される第２のプロセスとを含み、前記フラグの更新は、更新対象の全ての制御装置の実行プログラムの更新が完了した場合に指示される。
【００１０】
本開示の一態様に係るコンピュータプログラムは、制御装置の記憶部内の実行プログラムを更新するためのコンピュータプログラムであって、フラグを第１の値に変更した後に、前記記憶部内の前記実行プログラムを更新し、前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更する、処理を前記制御装置に実行させ、更新後の実行プログラムは、前記フラグが第１の値の場合に実行される第１のプロセスと、前記フラグが第２の値の場合に実行される第２のプロセスとを含み、前記フラグの更新は、更新対象の全ての制御装置の実行プログラムの更新が完了した場合に指示される。
【００１１】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラム、または、記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１２】
本開示の一態様によれば、車両に搭載された各ＥＣＵのプログラムを更新する場合において、当該車両を使用できない時間が短縮される。
【００１３】
本開示の一態様における更なる利点および効果は、明細書および図面から明らかにされる。かかる利点および／または効果は、いくつかの実施形態並びに明細書および図面に記載された特徴によってそれぞれ提供されるが、１つまたはそれ以上の同一の特徴を得るために必ずしも全てが提供される必要はない。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態に係る制御システムの構成例を示す図である。
【図２】各ＥＣＵのプログラムを更新する処理の一例を示すフローチャートである。
【図３】更新を要するＥＣＵ＃１，＃２の更新が途中で中断された場合の一例を示すシーケンスチャートである。
【図４】図３のシーケンスチャートの終了時における、ＥＣＵ＃１，＃２のプログラムの一例を示す図である。
【図５】更新を要するＥＣＵ＃１，＃２が途中で中断することなく更新された場合の一例を示すシーケンスチャートである。
【図６】図５のシーケンスチャートの終了時における、ＥＣＵ＃１，＃２のプログラムの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を適宜参照して、本発明の実施の形態について、詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１６】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【００１７】
図１は、本実施の形態に係る制御システムの構成例を示す。
【００１８】
図１に示すように、制御システム１は、例えば、書換制御ＥＣＵ１０と、通信Ｉ／Ｆ（Interface）１２と、ＥＣＵ２０＃１、＃２及び＃３とを備える。書換制御ＥＣＵ１０及びＥＣＵ２０＃１〜＃３は、例えば、データ信号を送受信可能なケーブルで接続される。例えば、書換制御ＥＣＵ１０及びＥＣＵ２０＃１〜＃３は、ＣＡＮ（Controller Area Network）によって接続される。以下、ＥＣＵ２０＃１，＃２，＃３を区別して説明する必要が無い場合は、ＥＣＵ２０と表現する。また、図１に示すＥＣＵ２０の数は一例であり、制御システム１は、２又は４以上のＥＣＵ２０を備えてもよい。
【００１９】
また、書換制御ＥＣＵ１０及び通信Ｉ／Ｆ１２は、例えば、データ信号を送受信可能な内部バスで接続される。通信Ｉ／Ｆ１２は、車外の通信ネットワーク２（例えば、通信キャリア網及び／又は無線ＬＡＮ等）に無線接続するためのＩ／Ｆである。通信Ｉ／Ｆ１２は、ＤＣＭ（Data Communicate Module）又はＴＣＵ（Telematics Control Unit）などと表現されてもよい。
【００２０】
書換制御ＥＣＵ１０は、各ＥＣＵ２０のプログラム３０の更新（アップデート）を制御する。例えば、書換制御ＥＣＵ１０は、通信Ｉ／Ｆ１２及び通信ネットワーク２を通じて、外部のサーバ（図示せず）からＥＣＵ２０の更新プログラムを取得（ダウンロード）する。そして、書換制御ＥＣＵ１０は、その更新プログラムをＥＣＵ２０に書き込むため、ＥＣＵ２０に対して更新処理を開始する。なお、プログラム３０は、ソフトウェア又はアプリケーションなどと表現されてもよい。また、書換制御ＥＣＵ１０は、実行部１３及び記憶部１４を含んでよい。そして、実行部１３が、記憶部１４に格納されている所定のプログラムを実行することにより、書換制御ＥＣＵ１０の各種機能を実現してもよい。
【００２１】
ＥＣＵ２０は、実行部２１と記憶部２２とを備える。実行部２１は、例えばコントローラ又はマイクロプロセッサ等であり、記憶部２２に記憶されているプログラム３０を実行し、ＥＣＵ２０固有の機能を実現する。また、実行部２１は、記憶部２２に記憶されているプログラム３０の更新を制御する。記憶部２２は、不揮発性メモリであり、プログラム３０及びデータ等を格納する。また、記憶部２２は、新機能フラグ３１の値を格納する。新機能フラグ３１は、本実施の形態においてプログラム３０の更新に用いられ、例えば、ＯＦＦに対応する第１の値と、ＯＮに対応する第２の値とを有する。なお、新機能フラグ３１については、後に説明される。また、ＥＣＵ２０は、制御装置と表現されてもよい。
【００２２】
次に、図２に示すフローチャートの一例を参照して、各ＥＣＵ２０のプログラム３０を更新する処理について説明する。
【００２３】
書換制御ＥＣＵ１０は、プログラム３０の更新を要するＥＣＵ２０が存在するか否かを判定する（Ｓ１０１）。なお、ここでの更新を要するＥＣＵ２０には、更新が必要であり、かつ、更新を完了したＥＣＵ２０は、含まれなくてよい。
【００２４】
書換制御ＥＣＵ１０は、更新を要するＥＣＵ２０が存在する（残っている）場合（Ｓ１０１：ＹＥＳ）、それらのＥＣＵ２０のうちの１つを選択し（以下、図２の説明において「対象ＥＣＵ」という）、対象ＥＣＵ２０が停止中又は停止可能（つまり更新可能な状態）であるか否かを判定する（Ｓ１０２）。
【００２５】
書換制御ＥＣＵ１０は、対象ＥＣＵ２０が停止中又は停止可能である場合（Ｓ１０２：ＹＥＳ）、対象ＥＣＵ２０に対して、プログラム３０の更新処理を開始する（Ｓ１０３）。
【００２６】
対象ＥＣＵ２０の実行部２１は、Ｓ１０３の更新処理が開始されると、記憶部２２の新機能フラグ３１をＯＦＦに変更する（Ｓ１０４）。そして、書換制御ＥＣＵ１０は、対象ＥＣＵ２０と連携して、記憶部２２の更新前プログラムを、更新後プログラムに更新する。
【００２７】
書換制御ＥＣＵ１０は、対象ＥＣＵ２０のプログラム更新を完了すると（Ｓ１０５）、Ｓ１０１に戻り、残りの更新を要するＥＣＵ２０について更新を実行する。
【００２８】
なお、更新を要する全てのＥＣＵ２０について更新を完了する前に、車両のエンジンがＯＮになった場合など、対象ＥＣＵ２０が停止中又は停止可能でない場合（Ｓ１０２：ＮＯ）、各ＥＣＵ２０の実行部２１は、記憶部２２の新機能フラグ３１の値（ＯＮ／ＯＦＦ）に従ってプログラム３０を実行する（Ｓ１１０）。すなわち、記憶部２２の新機能フラグ３１がＯＦＦの場合、ＥＣＵ２０で実行されるプログラム３０では、新機能フラグ３１のＯＦＦに対応するプロセスが実行される。また、記憶部２２の新機能フラグ３１がＯＮの場合、ＥＣＵ２０で実行されるプログラム３０では、新機能フラグ３１のＯＮに対応するプロセスが実行される。なお、新機能フラグ３１のＯＮ／ＯＦＦとプロセスとの関係の詳細については、後述する。
【００２９】
また、更新を要するＥＣＵ２０が存在しない場合（Ｓ１０１：ＮＯ）、すなわち更新を要する全てのＥＣＵ２０について更新を完了した場合、書換制御ＥＣＵ１０は、更新した各ＥＣＵ２０に対して、新機能有効信号を送信する（Ｓ１２０）。
【００３０】
各ＥＣＵ２０の実行部２１は、Ｓ１２０の新機能有効信号を受信すると、記憶部２２の新機能フラグ３１をＯＮにする（Ｓ１２１）。そして、本処理は終了する（ＥＮＤ）。
【００３１】
次に、図３のシーケンスチャートを参照して、上記の図２のフローチャートにおいて、更新を要するＥＣＵ２０＃１，＃２の更新が途中で中断された場合の一例について説明する。
【００３２】
書換制御ＥＣＵ１０は、Ｓ１０２においてＥＣＵ２０＃１が停止中又は停止可能である（ＹＥＳ）と判定し、Ｓ１０３においてＥＣＵ２０＃１に対して更新処理を開始する。
【００３３】
ＥＣＵ２０＃１は、更新処理が開始されると、Ｓ１０４において新機能フラグ３１をＯＦＦに変更する。そして、ＥＣＵ２０＃１は、プログラム３０を更新する。
【００３４】
ここで、ＥＣＵ２０＃１のプログラム更新の完了後、かつ、ＥＣＵ２０＃２のプログラム更新の開始前に、例えば車両のエンジンがＯＮになり、ＥＣＵ２０＃１、＃２が、起動指示を受信したとする。
【００３５】
この場合、書換制御ＥＣＵ１０は、Ｓ１０２においてＥＣＵ２０＃２が停止中又は停止可能でない（ＮＯ）と判定する。また、各ＥＣＵ２０は、プログラム３０を実行するにあたり、新機能フラグ３１のＯＮ又はＯＦＦにそれぞれ対応するプロセスを実行する。
【００３６】
図４は、図３のシーケンスチャートの終了時における、ＥＣＵ２０＃１と＃２のプログラムの一例を示す。つまり、ＥＣＵ２０＃１の記憶部２２には更新後プログラム３０Ａが格納されており、ＥＣＵ２０＃２の記憶部２２には更新前プログラム３０Ｂが格納されている状態を示す。
【００３７】
図４に示すように、ＥＣＵ２０＃１のプログラム３０Ａは、ＥＣＵ２０＃２のプログラム３０Ｂに対して変数を送信し、ＥＣＵ２０＃２のプログラム３０Ｂは、受信した変数に応じた処理を行うようになっている。すなわち、ＥＣＵ２０＃１と＃２とは連携して動作する関係にある。
【００３８】
図４のシーケンスチャートの終了後、ＥＣＵ２０＃１は、記憶部２２に更新後プログラム３０Ａを格納しているものの、まだ新機能有効信号を受信していないため、記憶部２２の新機能フラグ３１がＯＦＦである。一方、ＥＣＵ２０＃２は、まだプログラム更新が開始されておらず、Ｓ１０４において新機能フラグ３１をＯＦＦにしていないため、記憶部２２に更新前プログラム３０Ｂを格納したままであり、かつ、記憶部２２の新機能フラグ３１がＯＮである。
【００３９】
したがって、ＥＣＵ２０＃１では、新機能フラグ３１のＯＦＦに対応するプロセス３０２が実行され、新機能フラグ３１のＯＮに対応するプロセス３０１は実行されない。また、ＥＣＵ２０＃２では、新機能フラグ３１のＯＮに対応するプロセス３０３が実行され、新機能フラグ３１のＯＦＦに対応するプロセス３０４は実行されない。なお、ＥＵＣ２０に、最初に格納されるプログラム（更新前プログラム）には、新機能フラグ３１のＯＮ及びＯＦＦによって分岐するプロセスが存在しなくてもよい。
【００４０】
ここで、ＥＣＵ２０＃２の更新前プログラム３０Ｂにおいて、新機能フラグ３１のＯＮに対応するプロセス３０３は、ＥＣＵ２０＃１の更新前プログラム（図示せず）において、新機能フラグ３１のＯＮに対応するプロセスと正常に連携するように設計されている。図４の例では、変数Ａを受信した場合に加速制御を行い、変数Ａ以外を受信した場合に減速制御を行うように設計されている。
【００４１】
一方、ＥＣＵ２０＃１の更新後プログラム３０Ａにおいて、新機能フラグ３１のＯＦＦに対応するプロセス３０２は、ＥＣＵ２０＃２の更新前プログラム３０Ｂと正常に連携するように設計されている。図４の例では、新機能フラグ３１のＯＦＦに対応するプロセス３０２は、変数Ａ又はＢをＥＣＵ２０＃２に送信するように設計されている。
【００４２】
すなわち、更新を要するＥＣＵ２０のうち、少なくとも１つのＥＣＵ２０が更新前プログラムである場合、更新前プログラムでは新機能フラグ３１のＯＮに対応するプロセスが実行され、更新後プログラムでは新機能フラグ３１のＯＦＦに対応するプロセスが実行される。
【００４３】
よって、図４に示した、ＥＣＵ２０＃１の更新後プログラム３０Ａと、ＥＣＵ２０＃２の更新前プログラム３０Ｂとは、正常に連携して動作できる。別言すると、更新前のＥＣＵ２０と更新後のＥＣＵ２０とが混在している場合であっても、ＥＣＵ２０は正常に連携して動作できる。
【００４４】
これにより、更新を要する全てのＥＣＵ２０のプログラム３０の更新を待つことなく、車両を使用できる。つまり、車両に搭載された各ＥＣＵ２０のプログラム３０を更新する場合において、当該車両を使用できない時間を短縮できる。
【００４５】
次に、図５のシーケンスチャートを参照して、上記の図２のフローチャートにおいて、更新を要するＥＣＵ２０＃１，＃２が途中で中断すること無く更新された場合の例について説明する。
【００４６】
ＥＣＵ２０＃１のプログラム更新については、図３と同様であるため、説明を省略する。
【００４７】
書換制御ＥＣＵ１０は、Ｓ１０５においてＥＣＵ２０＃１のプログラム更新が完了すると、次に、Ｓ１０２においてＥＣＵ２０＃２が停止中又は停止可能であると判定し、Ｓ１０３においてＥＣＵ２０＃２に対して更新処理を開始する。
【００４８】
ＥＣＵ２０＃２は、更新処理が開始されると、Ｓ１０４において新機能フラグ３１をＯＦＦに変更する。そして、ＥＣＵ２０＃２は、プログラム３０を更新する。
【００４９】
書換制御ＥＣＵ１０は、ＥＣＵ２０＃２のプログラム更新の完了後、Ｓ１０１において更新を要する全てのＥＣＵ２０＃１、＃２について更新を完了したと判定し、Ｓ１２０においてＥＣＵ２０＃１、＃２のそれぞれに対して新機能有効信号を送信する。
【００５０】
ＥＣＵ２０＃１及び＃２は、それぞれ、Ｓ１２１において新機能有効信号を受信し、新機能フラグ３１をＯＮに変更する。
【００５１】
図６は、図５のシーケンスチャートの終了時における、ＥＣＵ２０＃１と＃２のプログラム３０の一例を示す。つまり、ＥＣＵ２０＃１の記憶部２２には更新後プログラム３０Ａが格納されており、ＥＣＵ２０＃２の記憶部２２にも更新後プログラム３０Ｃが格納されている状態を示す。
【００５２】
図５のシーケンスチャートの終了後、ＥＣＵ２０＃１及び＃２は何れも、プログラム３０の更新が完了しており、かつ、新機能有効信号を受信している。よって、ＥＣＵ２０＃１は、記憶部２２に更新後プログラム３０Ａを格納し、記憶部２２の新機能フラグ３１はＯＮである。同様に、ＥＣＵ２０＃２も、記憶部２２に更新後プログラム３０Ｃを格納し、記憶部２２の新機能フラグ３１はＯＮである。
【００５３】
したがって、ＥＣＵ２０＃１では、新機能フラグ３１のＯＮに対応するプロセス３０１は実行され、新機能フラグ３１のＯＦＦに対応するプロセス３０２は実行されない。また、ＥＣＵ２０＃２でも、新機能フラグ３１のＯＮに対応するプロセス３０５は実行され、新機能フラグ３１のＯＦＦに対応するプロセス３０６は実行されない。
【００５４】
ここで、ＥＣＵ２０＃２の更新後プログラム３０Ｃにおいて、新機能フラグ３１のＯＮに対応するプロセス３０５は、ＥＣＵ２０＃１の更新後プログラム３０Ａにおいて、新機能フラグ３１のＯＮに対応するプロセス３０１と正常に連携するように設計されている。図６の例では、変数Ａを受信した場合に加速制御を行い、変数Ｂを受信した場合に速度維持制御を行い、変数Ａ又はＢ以外を受信した場合に減速制御を行うように設計されている。
【００５５】
一方、ＥＣＵ２０＃１の更新後プログラム３０Ａにおいて、新機能フラグ３１のＯＮに対応するプロセス３０１は、ＥＣＵ２０＃２の更新後プログラム３０Ｃと正常に連携するように設計されている。図６の例では、新機能フラグ３１のＯＮに対応するプロセス３０１は、変数Ａ、Ｂ又はＣをＥＣＵ２０＃２に送信するように設計されている。
【００５６】
すなわち、更新を要する全てのＥＣＵ２０が更新後プログラムである場合、更新後プログラムでは、新機能フラグ３１のＯＮに対応するプロセスが実行される。
【００５７】
よって、図６に示した、ＥＣＵ２０＃１の更新後プログラム３０Ａと、ＥＣＵ２０＃２の更新後プログラム３０Ｃとは、正常に連携して動作できる。
【００５８】
なお、記憶部２２に更新前プログラム３０と更新後プログラム３０の両方を格納するための領域を設け、更新を要する全てのＥＣＵ２０が更新されるまで、更新前プログラム３０を使用する構成も考えられる。しかし、この構成は、２つのプログラムを格納できるように大容量の記憶部２２を搭載する必要があり、ＥＣＵ２０の製品コストが増加してしまう。これに対して、上述した本構成は、記憶部２２に１つのプログラム３０を格納するための領域を設ければよく、また、プログラム３０においても他のＥＣＵ２０と連携する部分について新機能フラグ３１がＯＮとＯＦＦの場合のプロセスを記述すればよいため、ＥＣＵ２０の製品コストの観点において有利である。
【００５９】
＜本開示のまとめ＞
本開示では、制御システム１は、書換制御ＥＣＵ１０と複数のＥＣＵ２０とを備え、書換制御ＥＣＵ１０は、更新対象の全てのＥＣＵ２０がプログラム３０の更新を完了した場合、更新対象の各ＥＣＵ２０に対して新機能有効信号を送信し、更新対象の各ＥＣＵ２０は、新機能フラグ３１をＯＦＦに変更した後に、当該ＥＣＵ２０の記憶部２２内のプログラム３０を更新し、書換制御ＥＣＵ１０から新機能有効信号を受信した場合、新機能フラグ３１をＯＦＦからＯＮに変更する。また、更新後プログラム３０は、新機能フラグ３１がＯＮの場合に実行される第１のプロセスと、新機能フラグ３１がＯＦＦの場合に実行される第２のプロセスとを含む。
【００６０】
これにより、更新後プログラム３０で動作するＥＣＵ２０と、更新前プログラム３０で動作するＥＣＵ２０との間における連携動作の整合性を保つことできるので、更新を要する全てのＥＣＵ２０のプログラム３０の更新の完了を待つことなく、車両を使用できる。つまり、車両に搭載された各ＥＣＵ２０のプログラム３０を更新する場合において、当該車両を使用できない時間を短縮できる。
【００６１】
なお、本開示の内容は、以下のように表現できる。
【００６２】
本開示に係る制御システムは、書換制御装置と複数の制御装置とを備える制御システムであって、前記書換制御装置は、更新対象の全ての制御装置が実行プログラムの更新を完了した場合、更新対象の各制御装置に対してフラグの更新を指示し、前記更新対象の各制御装置は、前記フラグを第１の値に変更した後に、当該制御装置の記憶部内の実行プログラムを更新し、前記書換制御装置から前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更し、更新後の実行プログラムは、前記フラグが前記第１の値の場合に実行される第１のプロセスと、前記フラグが前記第２の値の場合に実行される第２のプロセスとを含む。
【００６３】
また、本開示に係る制御システムにおいて、前記制御装置は、前記書換制御装置が当該制御装置の実行プログラムの更新処理を開始するときに、前記フラグを前記第１の値に変更してよい。
【００６４】
また、本開示に係る制御装置は、実行プログラムを記憶する記憶部と、フラグを第１の値に変更した後に、前記記憶部内の前記実行プログラムを更新し、前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更する実行部と、を備え、更新後の実行プログラムは、前記フラグが前記第１の値の場合に実行される第１のプロセスと、前記フラグが前記第２の値の場合に実行される第２のプロセスとを含み、前記フラグの更新は、更新対象の全ての制御装置の実行プログラムの更新が完了した場合に指示される。
【００６５】
また、本開示に係る制御装置において、前記第１のプロセスは、前記プログラムの更新前におけるプロセスを含み、前記第２のプロセスは、前記プログラムの更新後におけるプロセスを含んでよい。
【００６６】
また、本開示に係る制御装置において、前記第１及び第２のプロセスは、他の制御装置と連携するプロセスを含んでよい。
【００６７】
また、本開示に係るコンピュータプログラムは、制御装置の記憶部内の実行プログラムを更新するためのコンピュータプログラムであって、フラグを第１の値に変更した後に、前記記憶部内の前記実行プログラムを更新し、前記フラグの更新が指示された場合、前記フラグを前記第１の値から第２の値に変更する、処理を前記制御装置に実行させ、更新後の実行プログラムは、前記フラグが前記第１の値の場合に実行される第１のプロセスと、前記フラグが前記第２の値の場合に実行される第２のプロセスとを含み、前記フラグの更新は、更新対象の全ての制御装置の実行プログラムの更新が完了した場合に指示される。
【００６８】
本開示はソフトウェア、ハードウェア、又は、ハードウェアと連携したソフトウェアで実現することが可能である。
【００６９】
上記実施の形態の説明に用いた各機能ブロックは、部分的に又は全体的に、集積回路であるＬＳＩとして実現され、上記実施の形態で説明した各プロセスは、部分的に又は全体的に、一つのＬＳＩ又はＬＳＩの組み合わせによって制御されてもよい。ＬＳＩは個々のチップから構成されてもよいし、機能ブロックの一部または全てを含むように一つのチップから構成されてもよい。ＬＳＩはデータの入力と出力を備えてもよい。ＬＳＩは、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００７０】
集積回路化の手法はＬＳＩに限るものではなく、専用回路、汎用プロセッサ又は専用プロセッサで実現してもよい。また、ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。本開示は、デジタル処理又はアナログ処理として実現されてもよい。
【００７１】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【００７２】
本開示は、あらゆる種類の装置、デバイス、システムにおいて実施可能である。装置の、非限定的な例としては、電話機（携帯電話、スマートフォン等）、タブレット、パーソナル・コンピューター（ＰＣ）（ラップトップ、デスクトップ、ノートブック等）、カメラ（デジタル・スチル／ビデオ・カメラ等）、デジタル・プレーヤー（デジタル・オーディオ／ビデオ・プレーヤー等）、着用可能なデバイス（ウェアラブル・カメラ、スマートウオッチ、トラッキングデバイス等）、ゲーム・コンソール、デジタル・ブック・リーダー、テレヘルス・テレメディシン（遠隔ヘルスケア・メディシン処方）デバイス、乗り物又は移動輸送機関（自動車、飛行機、船等）、及び上述の各種装置の組み合わせがあげられる。
【００７３】
あらゆる種類の装置は、デバイス、システム、例えば、工場等におけるオートメーションシステム、スマート・ホーム・デバイス（家電機器、照明機器、スマートメーター又は計測機器、コントロール・パネル等）、自動販売機、その他ＩｏＴ（Internet of Things）ネットワーク上に存在し得るあらゆる「モノ（Things）」をも含む。
【産業上の利用可能性】
【００７４】
本開示の一態様は、制御システムのプログラム更新に有用である。
【符号の説明】
【００７５】
１  制御システム
２  通信ネットワーク
１０  書換制御ＥＣＵ
１２  通信Ｉ／Ｆ
１３  実行部
１４  記憶部
２０  ＥＣＵ
２１  実行部
２２  記憶部
３０  プログラム
３１  新機能フラグ
【図１】
2020101905.tif 000003
【図２】
2020101905.tif 000004
【図３】
2020101905.tif 000005
【図４】
2020101905.tif 000006
【図５】
2020101905.tif 000007
【図６】
2020101905.tif 000008