(57)【要約】【課題】リプログラミングに要する時間をより効果的に短縮する。【解決手段】対象ユニットに係るプログラムの更新プロセスを制御する制御部、を備え、前記制御部は、前記対象ユニットによる前記プログラムの書き換え処理が実行されている間に、前記対象ユニットによる以降の書き換え処理に用いられる書き換えデータのダウンロードが並行して実行されるよう制御する、制御装置が提供される。また、コンピュータに、対象ユニットに係るプログラムの更新プロセスを制御する制御機能、を実現させ、前記制御機能は、前記対象ユニットによる前記プログラムの書き換え処理が実行されている間に、前記対象ユニットによる以降の書き換え処理に用いられる書き換えデータのダウンロードが並行して実行されるよう制御する、プログラムが提供される。【選択図】図４
2019003544.tif 000002
【特許請求の範囲】
【請求項１】
対象ユニットに係るプログラムの更新プロセスを制御する制御部、
を備え、
前記制御部は、前記対象ユニットによる前記プログラムの書き換え処理が実行されている間に、前記対象ユニットによる以降の書き換え処理に用いられる書き換えデータのダウンロードが並行して実行されるよう制御する、
制御装置。
【請求項２】
前記制御部は、前記対象ユニットによる前記プログラムの書き換え処理が完了したことに基づいて、ダウンロードされた前記書き換えデータが前記対象ユニットに転送されるよう制御する、
請求項１に記載の制御装置。
【請求項３】
前記制御部は、複数の前記対象ユニットによるプログラムの更新プロセスを同時に制御する、
請求項１または２に記載の制御装置。
【請求項４】
前記制御部は、第１の対象ユニットによる前記プログラムの書き換え処理が実行されている際、前記第１の対象ユニットとは異なる第２の対象ユニットにダウンロードされた前記書き換えデータが転送されるよう制御する、
請求項３に記載の制御装置。
【請求項５】
ダウンロードされた前記書き換えデータを蓄積する記憶部、
をさらに備える、
請求項１〜４のいずれかに記載の制御装置。
【請求項６】
前記制御部は、前記対象ユニットに対する前記書き換えデータの転送が完了したことに基づいて、前記記憶部に蓄積される当該書き換えデータを削除させる、
請求項５に記載の制御装置。
【請求項７】
前記制御部は、前記記憶部の空き容量に基づいて前記書き換えデータのダウンロードを制御する、
請求項５または６に記載の制御装置。
【請求項８】
前記制御部は、前記記憶部の空き容量が不足する場合、前記書き換えデータのダウンロードを一時停止させる、
請求項７に記載の制御装置。
【請求項９】
前記制御部による制御に基づいて、前記書き換えデータを無線通信により外部からダウンロードする通信部、
をさらに備える、
請求項１〜８のいずれかに記載の制御装置。
【請求項１０】
コンピュータに、
対象ユニットに係るプログラムの更新プロセスを制御する制御機能、
を実現させ、
前記制御機能は、前記対象ユニットによる前記プログラムの書き換え処理が実行されている間に、前記対象ユニットによる以降の書き換え処理に用いられる書き換えデータのダウンロードが並行して実行されるよう制御する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置およびプログラムに関する。
【背景技術】
【０００２】
近年、車載ＥＣＵ（Electronic Control Unit）のソフトウェアアップデートにおいて、リプログラミングに係る作業効率を改善する技術が開発されている。上記のような技術としては、例えば、特許文献１に記載の技術が挙げられる。
【０００３】
特許文献１には、プログラムの書き換えに用いられるリプログラミングデータのダウンロードにおいて、リプログラミングデータのセキュリティ性を確保しながら、リプログラミングデータの通信量を低減することが可能な技術が開示されている。係る技術によれば、リプログラミングデータのダウンロードに要する時間を短縮することも可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２１９９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、近年では、ＥＣＵに搭載されるソフトウェア機能の複雑化や多様化に伴い、プログラム容量やアップデート頻度が増加している。また、車両に搭載される複数のＥＣＵが連携して１つの機能を実現する場合などには、当該複数のＥＣＵを同時にリプログラミングする状況も想定される。しかし、特許文献１に記載の技術では、外部からリプログラミングデータを受信した後の、複数のＥＣＵに係るリプログラミングの効率が考慮されていない。このため、特許文献１に記載の技術では、ＥＣＵのリプログラミング効率が十分に向上しているとは言い難い。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、リプログラミングに要する時間をより効果的に短縮することが可能な、新規かつ改良された制御装置およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、対象ユニットに係るプログラムの更新プロセスを制御する制御部、を備え、前記制御部は、前記対象ユニットによる前記プログラムの書き換え処理が実行されている間に、前記対象ユニットによる以降の書き換え処理に用いられる書き換えデータのダウンロードが並行して実行されるよう制御する、制御装置が提供される。
【０００８】
かかる構成によれば、リプログラミングにおける書き換え処理と、書き換えデータのダウンロードを効率的に並行処理することが可能となる。よって、かかる構成によれば、リプログラミングに要する時間をより効果的に短縮することができる。
【０００９】
また、上記制御部は、上記対象ユニットによる上記プログラムの書き換え処理が完了したことに基づいて、ダウンロードされた上記書き換えデータが上記対象ユニットに転送されるよう制御してもよい。
【００１０】
また、上記制御部は、複数の上記対象ユニットによるプログラムの更新プロセスを同時に制御してもよい。
【００１１】
また、上記制御部は、第１の対象ユニットによる上記プログラムの書き換え処理が実行されている際、上記第１の対象ユニットとは異なる第２の対象ユニットにダウンロードされた上記書き換えデータが転送されるよう制御してもよい。
【００１２】
また、上記制御装置は、ダウンロードされた上記書き換えデータを蓄積する記憶部、をさらに備えてもよい。
【００１３】
また、上記制御部は、上記対象ユニットに対する上記書き換えデータの転送が完了したことに基づいて、上記記憶部に蓄積される当該書き換えデータを削除させてもよい。
【００１４】
また、上記制御部は、上記記憶部の空き容量に基づいて上記書き換えデータのダウンロードを制御してもよい。
【００１５】
また、上記制御部は、上記記憶部の空き容量が不足する場合、上記書き換えデータのダウンロードを一時停止させてもよい。
【００１６】
また、上記制御装置は、上記制御部による制御に基づいて、上記書き換えデータを無線通信により外部からダウンロードする通信部、をさらに備えてもよい。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、対象ユニットに係るプログラムの更新プロセスを制御する制御機能、を実現させ、上記制御機能は、上記対象ユニットによる上記プログラムの書き換え処理が実行されている間に、上記対象ユニットによる以降の書き換え処理に用いられる書き換えを行うためのデータのダウンロードが並行して実行されるよう制御する、プログラムが提供される。
【００１８】
かかるプログラムを用いることで、リプログラミングにおける書き換え処理と、書き換えを行うためのデータのダウンロードを効率的に並行処理することが可能となる。よって、かかるプログラムによれば、リプログラミングに要する時間をより効果的に短縮することができる。
【発明の効果】
【００１９】
以上説明したように本発明によれば、リプログラミングに要する時間をより効果的に短縮することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係る制御システムの機能構成例を示すブロック図である。
【図２】本発明の一実施形態に係る制御ＥＣＵの機能構成例を示すブロック図である。
【図３】本発明の一実施形態に係る複数の対象ユニットに係るリプログラミングの同時制御について説明するための図である。
【図４】本発明の一実施形態に係る制御システムによる処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２２】
＜１．実施形態＞
＜＜１．１．本発明の一実施形態に係る制御システム＞＞
まず、本発明の一実施形態に係る制御システムについて説明する。本発明の一実施形態に係る制御システムは、対象ユニットに係るプログラムの更新プロセスを効率化することを目的とする。具体的には、本発明の一実施形態に係る制御システムは、対象ユニットのリプログラミングに要する時間を効果的に短縮することを可能とする。
【００２３】
本発明の一実施形態に係る制御システムは、例えば、自動車、飛行機、船、電車など種々の移動体に適用することが可能である。また、制御システムは、上記の例に限定されず、リプログラミングが必要となる制御ユニットを備える種々の装置に適用され得る。
【００２４】
以下、本発明の一実施形態に係る制御システムが車両に搭載されるＥＣＵのリプログラミングを制御する場合を例に説明する。すなわち、本例の場合、上記の対象ユニットとは、車載されるＥＣＵである。なお、以下の説明においては、本発明の一実施形態に係る制御システムが２つの対象ユニット、すなわち２つの対象ＥＣＵを備える場合を例に述べるが、本発明の一実施形態に係る対象ＥＣＵの数は係る例に限定されない。本発明の一実施形態に係る制御システムは、３つ以上の対象ＥＣＵに係るリプログラミングを制御することが可能である。
【００２５】
図１は、本発明の一実施形態に係る制御システム１０００の機能構成例を示すブロック図である。制御システム１０００は、例えば、図示するように、Ｇ／Ｗ−ＥＣＵ１０、制御ＥＣＵ２０、対象ＥＣＵ３０ａおよび３０ｂを備える。なお、以下では、対象ＥＣＵ３０ａおよび３０ｂを総称して、あるいは、対象ＥＣＵ３０ａおよび３０ｂのうちの一方を指して、「対象ＥＣＵ３０」と示す場合がある。また、Ｇ／Ｗ−ＥＣＵ１０は、ネットワーク４０を介して、外部装置（図示しない）との情報通信を行う。
【００２６】
（Ｇ／Ｗ−ＥＣＵ１０）
Ｇ／Ｗ−ＥＣＵ１０は、ネットワーク４０を介して無線通信により外部装置から対象ＥＣＵ３０のリプログラミングに用いられる書き換えを行うためのデータ（以下、単に、書き換えデータ、とも称する）のダウンロードを行う。この際、Ｇ／Ｗ−ＥＣＵ１０は、制御ＥＣＵ２０による制御に基づいて、上記のダウンロードの一時停止や再開処理を行うことができる。Ｇ／Ｗ−ＥＣＵ１０による上記の機能については、別途詳細に説明する。
【００２７】
また、Ｇ／Ｗ−ＥＣＵ１０は、書き換えデータに係る種々のセキュリティ性をチェックする機能を有する。Ｇ／Ｗ−ＥＣＵ１０は、例えば、書き換えデータの送信元である外部装置の真正性や、書き換えデータの改ざん有無等を確認することができる。また、Ｇ／Ｗ−ＥＣＵ１０は、対象ＥＣＵ３０が書き換えデータの対象として正しいか否か等をチェックしてもよい。
【００２８】
また、Ｇ／Ｗ−ＥＣＵ１０は、ダウンロードした書き換えデータをＣＡＮ（Controller Area Network）などにより制御ＥＣＵ２０対象ＥＣＵ３０に転送する。
【００２９】
（制御ＥＣＵ２０）
制御ＥＣＵ２０は、対象ユニット、すなわち対象ＥＣＵ３０に係るプログラムの更新プロセスを制御する機能を有する。より詳細には、制御ＥＣＵ２０は、対象ＥＣＵ３０によるプログラムの書き換え処理が実行されている間に、対象ＥＣＵ３０による以降の書き換え処理に用いられる書き換えデータのダウンロードをＧ／Ｗ−ＥＣＵ１０に実行させることができる。
【００３０】
一般に、プログラムの更新プロセス、すなわちリプログラミングのプロセスに要する時間は、主に書き換えデータのダウンロード、およびフラッシュメモリの消去や書き込みなどの内部処理（書き換え処理）に費やされる。
【００３１】
このため、本発明の一実施形態に係る制御ＥＣＵ２０は、対象ＥＣＵ３０が書き換え処理を行っている間に、以降の書き換え処理に用いられる書き換えデータを並行してダウンロードさせ、当該書き換えデータを予め蓄積することで、リプログラミングに要する時間を効果的に短縮することが可能である。
【００３２】
より具体的には、制御ＥＣＵ２０は、対象ＥＣＵ３０による書き換え処理が完了した場合、蓄積した書き換えデータが当該対象ＥＣＵ３０に転送されるよう制御することで、対象ＥＣＵ３０に後続する書き換え処理を速やかに実行させることができる。
【００３３】
制御ＥＣＵ２０が有する上記の機能によれば、書き換え処理後に書き換えデータを都度ダウンロードする場合と比べ、大幅に時間を短縮することが可能となる。なお、本発明の一実施形態に係る制御ＥＣＵ２０が有する機能の詳細については別途後述する。
【００３４】
（対象ＥＣＵ３０）
対象ＥＣＵ３０は、ダウンロードされた書き換えデータを用いてリプログラミングに係る書き換え処理を実行する種々のユニットである。対象ＥＣＵ３０には、例えば、エンジンやブレーキ等を制御するためのプログラムがそれぞれ搭載される。
【００３５】
対象ＥＣＵ３０は、制御ＥＣＵ２０などから転送された書き換えデータを用いて対象プログラムの書き換え処理を実行する。なお、上記の対象プログラムは、対象ＥＣＵ３０が備えるフラッシュメモリなどに格納される。また、対象ＥＣＵ３０は、書き換え処理が完了した場合には、制御ＥＣＵ２０に対し完了通知を送信する。
【００３６】
（ネットワーク４０）
ネットワーク４０は、Ｇ／Ｗ−ＥＣＵ１０と外部装置との情報通信を実現する無線通信網である。ネットワーク４０は、例えば、セルラー通信網や衛星通信網、またはＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの近距離無線通信網により実現される。
【００３７】
以上、本発明の一実施形態に係る制御システム１０００の機能構成例について説明した。なお、図１を用いて説明した制御システム１０００の機能構成はあくまで一例であり、本発明の一実施形態に係る制御システム１０００の機能構成は係る例に限定されない。
【００３８】
例えば、Ｇ／Ｗ−ＥＣＵ１０と制御ＥＣＵ２０が有する機能は、一体のＥＣＵにより実現することが可能である。また、上記の説明では、制御ＥＣＵ２０がダウンロードされた書き換えデータを蓄積する場合を例に述べたが、書き換えデータの蓄積は、制御ＥＣＵとは異なる装置により実現されてもよい。本発明の一実施形態に係る制御システム１０００の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【００３９】
＜＜１．２．本発明の一実施形態に係る制御ＥＣＵ＞＞
次に、本発明の一実施形態に係る制御ＥＣＵ２０について詳細に説明する。図２は、本発明の一実施形態に係る制御ＥＣＵ２０の機能構成例を示すブロック図である。制御システムＥＣＵ２０は、例えば、図示するように、制御部２１０、記憶部２２０、および通信部２３０を備える。
【００４０】
（制御部２１０）
制御部２１０は、対象ＥＣＵ３０に係るプログラムの更新プロセスを制御する機能を有する。より詳細には、制御部２１０は、対象ＥＣＵ３０によるプログラムの書き換え処理が実行されている間に、対象ＥＣＵ３０による以降の書き換え処理に用いられる書き換えデータのダウンロードが並行して実行されるよう制御を行う。
【００４１】
制御部２１０は、例えば、対象ＥＣＵ３０ａによる書き込み処理が実行されている間に、対象ＥＣＵ３０ａが後続の書き換え処理に必要とする書き換えデータをＧ／Ｗ−ＥＣＵ１０にダウンロードさせることができる。この際、制御部２１０は、Ｇ／Ｗ−ＥＣＵ１０によりダウンロードされた書き換えデータを記憶部２２０に蓄積させる。
【００４２】
本発明の一実施形態に係る制御部２１０が有する上記の機能によれば、書き換えを行うためのデータのダウンロードと書き換え処理と並行して実行することが可能となり、リプログラミングに要する時間を大幅に短縮することが可能となる。
【００４３】
また、制御部２１０は、上述したように、対象ＥＣＵ３０によるプログラムの書き換え処理が完了したことに基づいて、ダウンロードされた書き換えデータが対象ユニットに転送されるよう制御する。より詳細には、制御部２１０は、対象ＥＣＵ３０から書き換え処理の完了を示す完了通知を受信したことに基づいて、通信部２３０に記憶部２２０が蓄積する書き換えデータを転送させることができる。
【００４４】
この際、制御部２１０は、書き換えデータのヘッダなどに含まれる識別情報に基づいて、当該書き換えデータの対象となる対象ＥＣＵ３０やフラッシュメモリにおけるアドレスを判定することが可能である。
【００４５】
本発明の一実施形態に係る制御部２１０が有する上記の機能によれば、書き込み処理の完了の度に新たに書き換えデータをダウンロードすることなく、対象ＥＣＵ３０に後続する書き換え処理を速やかに実行させることができる。
【００４６】
また、制御部２１０は、通信部２３０により対象ＥＣＵ３０に対する書き換えデータの転送が完了した際、記憶部２２０に蓄積される当該書き換えデータを削除させることができる。
【００４７】
本発明の一実施形態に係る制御部２１０が有する上記の機能によれば、リプログラミングの進捗に応じて、記憶部２２０に蓄積される書き換えデータの容量を適切に制御することが可能となる。すなわち、制御部２１０は、転送が完了した書き換えデータを都度削除させることで、記憶部２２０の空き容量を十分に確保し、Ｇ／Ｗ−ＥＣＵ１０にさらなる書き換えデータのダウンロードを並行して実行させることができる。
【００４８】
なお、上記では、制御部２１０が書き換えデータの転送が完了した場合に、記憶部２２０に当該書き換えデータを削除させる場合を例に述べが、制御部２１０による書き換えデータの削除制御のタイミングは係る例に限定されない。
【００４９】
例えば、制御部２１０は、より安全を期するために、対象ＥＣＵ３０から完了通知を受信したことに基づいて、対応する書き換えデータを記憶部２２０に削除させてもよい。この場合、書き換え処理において何らかの不具合が生じた状況であっても、蓄積される書き換えデータを再転送させることで、対象ＥＣＵ３０に書き換え処理のリトライを実行させることが可能である。
【００５０】
また、例えば、制御部２１０は、対象ＥＣＵ３０による書き換え処理が正常に終了したことを確認したのちに、対応する書き換えデータを記憶部２２０に削除させてもよい。このために、制御部２１０は、書き換え後のプログラムの正当性等を確認する機能を有してよい。この場合、対象ＥＣＵ３０によるリプログラミングの確実性を担保しながら、記憶部２２０の空き容量を効果的に確保することが可能である。
【００５１】
また、制御部２１０は、上記のように記憶部２２０の空き容量を確保すると共に、当該空き容量に基づいて、Ｇ／Ｗ−ＥＣＵ１０による書き換えデータのダウンロードを制御する機能を有する。
【００５２】
より具体的には、制御部２１０は、記憶部２２０の空き容量が不足する場合には、Ｇ／Ｗ−ＥＣＵ１０による書き換えデータのダウンロードを一時停止させることができる。また、書き換えデータの転送や書き換え処理の完了に伴い、記憶部２２０の空き容量が増加した場合、制御ＥＣＵ２０は、Ｇ／Ｗ−ＥＣＵ１０による書き換えデータのダウンロードを再開させてよい。
【００５３】
本発明の一実施形態に係る制御部２１０が有する上記の機能によれば、Ｇ／Ｗ−ＥＣＵ１０による書き換えデータのダウンロードを効率的に制御することができ、また記憶部２２０に十分な空き容量が確保された際には遅滞なくダウンロードを再開させることで、リプログラミングに要する時間を効果的に短縮することができる。
【００５４】
また、上述したように、制御部２１０は、複数の対象ＥＣＵ３０によるプログラムの更新プロセスを同時に制御することが可能である。例えば、制御部２１０は、第１の対象ＥＣＵ３０によるプログラムの書き換え処理が実行されている際、第１の対象ＥＣＵ３０とは異なる第２の対象ＥＣＵ３０に、蓄積された書き換えデータが転送されるよう制御することができる。
【００５５】
以下、制御部２１０が有する上記の機能について、制御システム１０００が２つの対象ＥＣＵ３０ａおよび３０ｂを備える場合を例に説明する。
【００５６】
図３は、本発明の一実施形態に係る複数の対象ＥＣＵ３０に係るリプログラミングの同時制御について説明するための図である。図３には、対象ＥＣＵ３０ａおよび３０ｂに係るリプログラミングのプロセスの流れが時系列に示されている。
【００５７】
図３に示す一例では、まず、Ｇ／Ｗ−ＥＣＵ１０によりダウンロードされた書き換えデータが対象ＥＣＵ３０ａに転送され、続いて対象ＥＣＵ３０ａにより当該書き換えデータを用いた書き換え制御が実行される。ここで、上記の書き換え制御は、フラッシュアクセスや、書き換えが完了したデータに対する改ざん有無等のセキュリティチェックを含む。また、上記のフラッシュアクセスとは、フラッシュメモリの消去やフラッシュメモリへの書き込みなどの内部処理、すなわち書き換え処理を指す。
【００５８】
この際、制御部２１０は、図示するように、対象ＥＣＵ３０ａによるフラッシュアクセスが行われている間に、対象ＥＣＵ３０ｂに対し書き換えデータの転送が行われるよう、通信部２３０を制御することができる。この場合、対象ＥＣＵ３０ａが上記の第１の対象ＥＣＵ３０に対応し、対象ＥＣＵ３０ｂが第２の対象ＥＣＵ３０に対応する。
【００５９】
また、対象ＥＣＵ３０ｂへの書き換えデータの転送が完了し、続いて対象ＥＣＵ３０ｂにより当該書き換えデータを用いたフラッシュアクセスが実行される際、制御部２１０は、蓄積される書き換えデータが対象ＥＣＵ３０ａに転送されるよう通信部２３０を制御してもよい。この場合、対象ＥＣＵ３０ｂが上記の第１の対象ＥＣＵ３０に対応し、対象ＥＣＵ３０ａが上記の第２の対象ＥＣＵ３０に対応する。
【００６０】
なお、対象ＥＣＵ３０ｂによるフラッシュアクセスが実行される際に、対象ＥＣＵ３０ａによるフラッシュアクセスが完了していない場合には、制御部２１０は、他の第２の対象ＥＣＵ３０（例えば、対象ＥＣＵ３０ｃ）に、書き換えデータの転送が行われるよう、通信部２３０を制御することができる。
【００６１】
このように、本発明の一実施形態に係る制御部２１０が有する上記の機能によれば、複数の対象ＥＣＵ３０に係る書き換えデータの転送とフラッシュアクセスとをパイプライン処理することが可能となる。したがって、制御部２１０によれば、対象ＥＣＵ３０のリプログラミングをそれぞれ単独で実行させる場合と比較して、リプログラミングに係る処理速度を大幅に改善することができる。
【００６２】
以上、本発明の一実施形態に係る制御部２１０が有する機能について詳細に説明した。なお、制御部２１０は、例えば、ＥＣＵを構成するＭＣＵ（Micro  Controller  Unit）により実現される。
【００６３】
（記憶部２２０）
記憶部２２０は、制御部２１０による制御に基づいて、Ｇ／Ｗ−ＥＣＵ１０によりダウンロードされた書き換えデータを蓄積する機能を有する。
【００６４】
また、記憶部２２０は、制御部２１０による制御に基づいて、蓄積する書き換えデータの一部を削除する。記憶部２２０は、例えば、対象ＥＣＵ３０に対する書き換えデータの転送が完了した場合や、対象ＥＣＵ３０による書き換え処理が正常に終了し場合に、制御部２１０による制御の基、対応する書き換えデータを削除する。
【００６５】
記憶部２２０は、例えば、フラッシュメモリにより実現される。複数の対象ＥＣＵ３０に用いられる書き換えデータを一時的に蓄積するため、記憶部２２０には比較的大容量のフラッシュメモリが用いられることが望ましい。一方、上述したように、記憶部２２０は、制御部２１０による制御に基づいて、不要となった書き換えデータを適宜削除することから、記憶部２２０の容量は必ずしも大きくなくてもよい。記憶部２２０は、プログラムや想定される書き換えデータの規模に適した容量を有するフラッシュメモリにより実現される。
【００６６】
（通信部２３０）
通信部２３０は、ＣＡＮなどのネットワークを介してＧ／Ｗ−ＥＣＵ１０や対象ＥＣＵ３０とのデータ通信を行う。通信部２３０は、例えば、Ｇ／Ｗ−ＥＣＵ１０によりダウンロードされた書き換えデータを受信する。また、通信部２３０は、制御部２１０による制御に基づいて、記憶部２２０に蓄積される書き換えデータを対象ＥＣＵ３０に送信する。
【００６７】
また、通信部２３０は、対象ＥＣＵ３０から書き換え処理の完了を示す完了通知を受信する。通信部２３０は、上記の完了通知のほか、書き換え処理に係るエラー情報などを対象ＥＣＵ３０から受信してもよい。
【００６８】
また、通信部２３０は、制御部２１０による制御に基づいて、書き換えデータのダウンロードを一時停止、または再開させるための信号をＧ／Ｗ−ＥＣＵ１０に書き換えデータに送信する。上記の信号は、記憶部２２０の空き容量に基づいて制御される。
【００６９】
なお、通信部２３０は、例えば、ＥＣＵを構成するＣＡＮコントローラやＣＡＮトランシーバ等が挙げられる。
【００７０】
以上、本発明の一実施形態に係る制御ＥＣＵ２０の機能構成について詳細に説明した。なお、図２を用いて説明した上記の構成はあくまで一例であり、本発明の一実施形態に係る制御ＥＣＵ２０の機能構成は係る例に限定されない。
【００７１】
例えば、本発明の一実施形態に係る制御ＥＣＵ２０とＧ／Ｗ−ＥＣＵ１０とが有する機能は、一体のＥＣＵにより実現されてもよい。この場合、制御ＥＣＵ２０の通信部２３０が上述したＧ／Ｗ−ＥＣＵ１０の機能を担う。
【００７２】
また、例えば、記憶部２２０は、必ずしも制御ＥＣＵ２０の一構成として備えられなくてもよい。記憶部２２０は、制御ＥＣＵ２０とは異なる他のＥＣＵに備えられてもよい。
【００７３】
また、制御ＥＣＵ２０は、図２に示す以外の構成をさらに備えることもできる。制御ＥＣＵは、例えば、複数のＥＣＵによる機能連携を統括的に制御する構成を備えてもよい。本発明の一実施形態に係る制御ＥＣＵ２０の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【００７４】
＜＜１．３．処理の流れ＞＞
次に、本発明の一実施形態に係る制御システム１０００による処理の流れについて説明する。図４は、本発明の一実施形態に係る制御システム１０００による処理の流れを示すシーケンス図である。なお、図４には、制御システム１０００が２つの対象ＥＣＵ３０ａおよび３０ｂに係るリプログラミングのプロセスを制御する場合の一例が示されている。
【００７５】
図４を参照すると、まず、Ｇ／Ｗ−ＥＣＵ１０による書き換えデータのダウンロードが実行される（Ｓ１１０１）。また、この際、Ｇ／Ｗ−ＥＣＵ１０は、上述したように、外部装置の真正性や書き換えが完了したデータの改ざん有無等のセキュリティチェックを実行することができる。
【００７６】
続いて、Ｇ／Ｗ−ＥＣＵ１０は、ステップＳ１１０１においてダウンロードした書き換えデータを対象となる対象ＥＣＵ３０に転送する（Ｓ１１０２）。図４に示す一例の場合、Ｇ／Ｗ−ＥＣＵ１０は、ダウンロードした書き換えデータを対象ＥＣＵ３０ａに転送している。
【００７７】
続いて、対象ＥＣＵ３０ａは、ステップＳ１１０２において受信した書き換えデータを用いた書き換え処理、すなわちリプログラミングを実行する（Ｓ１１０３）。
【００７８】
また、ステップＳ１１０３に示す対象ＥＣＵ３０ａによる書き換え処理と並行して、Ｇ／Ｗ−ＥＣＵ１０は、ステップＳ１１０１においてダウンロードした書き換えデータを対象ＥＣＵ３０ｂに転送する（Ｓ１１０４）。
【００７９】
ステップＳ１１０３と同様、ステップＳ１１０４において書き換えデータを受信した対象ＥＣＵ３０ｂは、当該書き換えデータを用いた書き換え処理を実行する（Ｓ１１０５）。
【００８０】
また、対象ＥＣＵ３０ａや３０ｂによる書き換え処理と並行して、Ｇ／Ｗ−ＥＣＵ１０は、ステップＳ１１０１においてダウンロードした書き換えデータを制御ＥＣＵ２０に転送する（Ｓ１１０６）。
【００８１】
このように、本発明の一実施形態に係る制御システム１０００では、対象ＥＣＵ３０による書き換え処理が実行されている間に、対象ＥＣＵ３０が後続の書き換え処理に必要とする書き換えデータを制御ＥＣＵ２０に一時的に蓄積することで、リプログラミングに要する時間を大幅に短縮することが可能である。
【００８２】
また、対象ＥＣＵ３０は、書き換え処理が完了した場合、制御ＥＣＵ２０に対し完了通知を送信する。図４に示す一例では、まず、対象ＥＣＵ３０ａが制御ＥＣＵ２０に対し、書き換え処理の完了を示す完了通知を送信している（Ｓ１１０７）。
【００８３】
続いて、ステップＳ１１０７において受信した完了通知に基づいて、制御ＥＣＵ２０が蓄積した書き換えデータを対象ＥＣＵ３０ａに転送する（Ｓ１１０８）。
【００８４】
次に、対象ＥＣＵ３０ａは、ステップＳ１１０８において受信した書き換えデータを用いて、ステップＳ１１０３の続きとなる書き換え処理を実行する（Ｓ１１０９）。
【００８５】
また、対象ＥＣＵ３０ａと同様に、対象ＥＣＵ３０ｂは、書き換え処理が完了した場合、制御ＥＣＵ２０に対し完了通知を送信する（Ｓ１１１０）。
【００８６】
ステップＳ１１０１において完了通知を受信した制御ＥＣＵ２０は、ステップＳ１１０８の場合と同様に、蓄積した書き換えデータを対象ＥＣＵ３０ｂに転送する（Ｓ１１１１）。
【００８７】
以降、本発明の一実施形態に係る制御システム１０００は、リプログラミングのプロセスが完全に完了するまで、書き換え処理や、書き換えデータの転送、書き換えデータのダウンロードを繰り返し実行する。
【００８８】
以上、本発明の一実施形態に係る制御システム１０００による処理の流れに着目して説明した。なお、上記の流れはあくまで一例であり、制御システム１０００による処理の流れは係る例に限定されない。制御システム１０００の処理に係る各ステップは、必ずしもシーケンス図に記載された順序に沿って時系列に処理される必要はない。例えば、制御システム１０００の処理に係る各ステップは、シーケンス図に記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
【００８９】
また、制御システム１０００は、図４に示す例のほか、種々の処理を実行することが可能である。例えば、上述したように、制御ＥＣＵ２０は、記憶部２２０の空き容量に基づいてＧ／Ｗ−ＥＣＵ１０による書き換えデータのダウンロードを制御してもよい。
【００９０】
＜２．まとめ＞
以上説明したように、本発明の一実施形態に係る制御ＥＣＵ２０は、複数の対象ＥＣＵ３０に係る書き換えデータの転送とフラッシュアクセスとをパイプライン処理することができる。係る構成によれば、リプログラミングに要する時間をより効果的に短縮することが可能となる。
【００９１】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００９２】
例えば、上記では、コンピュータを、本発明の実施形態に係る制御装置として機能させるためのプログラム（コンピュータプログラム）が提供されることを示したが、本発明の実施形態は、さらに、上記プログラムを記憶させた記録媒体も併せて提供することができる。
【符号の説明】
【００９３】
１０００  制御システム
１０      Ｇ／Ｗ−ＥＣＵ
２０      制御ＥＣＵ
２１０    制御部
２２０    記憶部
２３０    通信部
３０      対象ＥＣＵ
４０      ネットワーク
【図１】
2019003544.tif 000003
【図２】
2019003544.tif 000004
【図３】
2019003544.tif 000005
【図４】
2019003544.tif 000006