(57)【特許請求の範囲】
【請求項１】
書換え可能な不揮発性の記憶装置（３８）と、
前記記憶装置のデータを書換えるための書換データを分割した複数の部分データを、複数の通信経路（２１０、２１２、２３０、２３２）を介して書換装置（１０）から受信する通信部（３２、５０、５２、６２、６４、Ｓ４２０〜Ｓ４２８、Ｓ４４０、Ｓ４４４、Ｓ４４８、Ｓ４５０、Ｓ４８２、Ｓ４８４）と、
複数の前記通信経路を介して前記通信部が前記書換装置から前記部分データを受信する今回の受信処理と並列して、今回の前記受信処理の直前の前記受信処理で前記通信部が前記書換装置から受信した前記部分データを前記記憶装置に書込む書込み処理を実行する書込み部（３２、６２、６４、Ｓ４３０〜Ｓ４３４）と、
前記受信処理と前記書込み処理との並列処理において、前記書込み処理が終了して前記受信処理だけが実行される前記受信処理の残り時間を計測する計測部と（３２、６２、６４、Ｓ４４２）、
を備え、
複数の前記通信経路のうち第１の通信経路（２１０、２３０）から前記通信部が前記部分データを受信する今回の第１の受信処理と、今回の前記第１の受信処理の直前の前記第１の受信処理で前記通信部が前記第１の通信経路から受信した前記部分データを前記書込み部が前記記憶装置に書込む今回の第１の書込み処理とを前記通信部と前記書込み部とが並列処理し、
今回の前記第１の書込み処理が終了してから今回の前記第１の受信処理が終了するまでに、前記書込み部は、複数の前記通信経路のうち前記第１の通信経路以外の第２の通信経路（２１２、２３２）から前記通信部が前記部分データを受信する今回の第２の受信処理の直前の前記第２の受信処理で前記通信部が前記第２の通信経路から受信した前記部分データを前記記憶装置に書込む第２の書込み処理を実行し、
前記計測部は、前記第１の受信処理と前記第２の受信処理とによる前記受信処理と前記第１の書込み処理と前記第２の書込み処理とによる前記書込み処理との並列処理において、前記書込み処理が終了して前記受信処理だけが実行される前記受信処理の前記残り時間を計測し、
前記計測部が計測する前記受信処理の前記残り時間が所定時間よりも長い場合、前記通信部（Ｓ４４４）は、次回に前記第２の通信経路に送信する前記部分データのデータ量を今回よりも増加するように前記書換装置に通知する、
ことを特徴とする車載電子制御装置（３０、６０）。
【請求項２】
書換え可能な不揮発性の記憶装置（３８）と、
前記記憶装置のデータを書換えるための書換データを分割した複数の部分データを、複数の通信経路（２１０、２１２、２３０、２３２）を介して書換装置（１０）から受信する通信部（３２、５０、５２、６２、６４、Ｓ４２０〜Ｓ４２８、Ｓ４４０、Ｓ４４４、Ｓ４４８、Ｓ４５０、Ｓ４８２、Ｓ４８４）と、
複数の前記通信経路を介して前記通信部が前記書換装置から前記部分データを受信する今回の受信処理と並列して、今回の前記受信処理の直前の前記受信処理で前記通信部が前記書換装置から受信した前記部分データを前記記憶装置に書込む書込み処理を実行する書込み部（３２、６２、６４、Ｓ４３０〜Ｓ４３４）と、
前記受信処理と前記書込み処理との並列処理において、前記受信処理が終了して前記書込み処理だけが実行される前記書込み処理の残り時間を計測する計測部（３２、６２、６４、Ｓ４４６）と、
を備え、
複数の前記通信経路のうち第１の通信経路（２１０、２３０）から前記通信部が前記部分データを受信する今回の第１の受信処理と、今回の前記第１の受信処理の直前の前記第１の受信処理で前記通信部が前記第１の通信経路から受信した前記部分データを前記書込み部が前記記憶装置に書込む今回の第１の書込み処理とを前記通信部と前記書込み部とが並列処理し、
今回の前記第１の書込み処理が終了してから今回の前記第１の受信処理が終了するまでに、前記書込み部は、複数の前記通信経路のうち前記第１の通信経路以外の第２の通信経路（２１２、２３２）から前記通信部が前記部分データを受信する今回の第２の受信処理の直前の前記第２の受信処理で前記通信部が前記第２の通信経路から受信した前記部分データを前記記憶装置に書込む第２の書込み処理を実行し、
前記計測部は、前記第１の受信処理と前記第２の受信処理とによる前記受信処理と前記第１の書込み処理と前記第２の書込み処理とによる前記書込み処理との並列処理において、前記受信処理が終了して前記書込み処理だけが実行される前記書込み処理の前記残り時間を計測し、
前記計測部が計測する前記書込み処理の前記残り時間が所定時間よりも長い場合、前記通信部（Ｓ４４８）は、次回に前記第２の通信経路に送信する前記部分データのデータ量を今回よりも減少するように前記書換装置に通知する、
ことを特徴とする車載電子制御装置（３０、６０）。
【請求項３】
書換え可能な不揮発性の記憶装置（３８）と、
前記記憶装置のデータを書換えるための書換データを分割した複数の部分データを、複数の通信経路（２１０、２１２、２３０、２３２）を介して書換装置（１０）から受信する通信部（３２、５０、５２、６２、６４、Ｓ４２０〜Ｓ４２８、Ｓ４４０、Ｓ４４４、Ｓ４４８、Ｓ４５０、Ｓ４８２、Ｓ４８４）と、
複数の前記通信経路を介して前記通信部が前記書換装置から前記部分データを受信する今回の受信処理と並列して、今回の前記受信処理の直前の前記受信処理で前記通信部が前記書換装置から受信した前記部分データを前記記憶装置に書込む書込み処理を実行する書込み部（３２、６２、６４、Ｓ４３０〜Ｓ４３４）と、
今回の前記受信処理を開始してから終了するまでの受信処理時間を計測し、さらに、前記記憶装置に対して書込み単位のデータ量を書込むために要する今回の単位書込み時間を計測する計測部（３２、６２、６４、Ｓ４７０、Ｓ４７２）と、
前記計測部が計測した前記単位書込み時間に基づいて前記受信処理時間の範囲内で前記書込み部が前記記憶装置に書込み可能な書込み可能データ量を算出し、複数の前記通信経路のうち第１の通信経路（２１０、２３０）から前記通信部が受信する前記部分データのデータ量を前記書込み可能データ量から減算したデータ量を、前記書換装置が複数の前記通信経路のうち前記第１の通信経路以外の第２の通信経路（２１２、２３２）に送信する送信データ量として算出するデータ量算出部（３２、６２、６４、Ｓ４７６〜Ｓ４８０）と、
を備え、
前記第１の通信経路から前記通信部が前記部分データを受信する今回の第１の受信処理と、今回の前記第１の受信処理の直前の前記第１の受信処理で前記通信部が前記第１の通信経路から受信した前記部分データを前記書込み部が前記記憶装置に書込む今回の第１の書込み処理とを前記通信部と前記書込み部とが並列処理し、
今回の前記第１の書込み処理が終了してから今回の前記第１の受信処理が終了するまでに、前記書込み部は、前記第２の通信経路から前記通信部が前記部分データを受信する今回の第２の受信処理の直前の前記第２の受信処理で前記通信部が前記第２の通信経路から受信した前記部分データを前記記憶装置に書込む第２の書込み処理を実行し、
前記計測部は、前記受信処理時間として、今回の前記第１の受信処理と前記第２の受信処理とによる前記受信処理を開始してから終了するまでの時間を計測し、
前記通信部（Ｓ４８４）は、前記データ量算出部が算出する前記送信データ量を、次回に前記第２の通信経路に送信するように前記書換装置に通知する、
ことを特徴とする車載電子制御装置（３０、６０）。
【請求項４】
請求項１から３のいずれか一項に記載の車載電子制御装置において、
前記通信部は、前記第１の受信処理と前記第２の受信処理とを並列処理し、
前記第２の通信経路から前記通信部が受信するデータ量は、前記第１の書込み処理が終了してから前記第１の受信処理が終了するまでに前記書込み部が前記記憶装置に書込み可能なデータ量である、
ことを特徴とする車載電子制御装置。
【請求項５】
請求項２を引用する請求項４に記載の車載電子制御装置において、
前記計測部は、前記第１の受信処理と前記第２の受信処理とによる前記受信処理と前記第１の書込み処理と前記第２の書込み処理とによる前記書込み処理との並列処理において、前記書込み処理が終了して前記受信処理だけが実行される前記受信処理の残り時間を計測し、
前記計測部が計測する前記受信処理の前記残り時間が所定時間よりも長い場合、前記通信部（Ｓ４４４）は、次回に前記第２の通信経路に送信する前記部分データのデータ量を今回よりも増加するように前記書換装置に通知する、
ことを特徴とする車載電子制御装置。
【請求項６】
請求項１から５のいずれか一項に記載の車載電子制御装置において、
前記通信部が次回の前記受信処理で受信する前記部分データを格納する受信バッファの容量を確保できると、前記書込み部は、今回受信した前記部分データの正常受信を前記通信部が前記書換装置に送信後に前記通信部が今回受信した前記部分データの書込みを開始する、
ことを特徴とする車載電子制御装置。
【請求項７】
請求項１から６のいずれか一項に記載の車載電子制御装置において、
前記通信部が受信する前記部分データを格納する受信バッファから書込みバッファに前部分データを転送するＤＭＡ（Direct Memory Access）部（４０）を備える、
ことを特徴とする車載電子制御装置。
【請求項８】
請求項１から７のいずれか一項に記載の車載電子制御装置において、
前記通信部が受信して書込みバッファに格納された前記部分データを前記記憶装置に書込むときに、前記書込みバッファから前記部分データを読み出すＤＭＡ（Direct Memory Access）部（４０）を備える、
ことを特徴とする車載電子制御装置。
【請求項９】
請求項１から８のいずれか一項に記載の車載電子制御装置において、
前記受信処理を実行する１個以上のＣＰＵ、ならびに前記書込み処理を実行する１個以上のＣＰＵ（６２、６４）を備える、
ことを特徴とする車載電子制御装置（６０）。
【請求項１０】
請求項１から８のいずれか一項に記載の車載電子制御装置において、
前記記憶装置は、複数の前記通信経路のそれぞれから前記通信部が受信する前記部分データの前記書込み処理を並列して実行する複数のフラッシュマクロを備えている、
ことを特徴とする車載電子制御装置。
【請求項１１】
請求項１から１０のいずれか一項に記載の車載電子制御装置（３０、６０）と、
複数の前記通信経路を介して前記車載電子制御装置に前記部分データを送信する書換装置（１０）と、
を備えることを特徴とする書換システム（２、４）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書換装置から受信するデータにより記憶装置のデータを書換える技術に関する。
【背景技術】
【０００２】
書換装置からデータを受信する受信処理と、受信するデータを記憶装置に書込む書込み処理とにより記憶装置のデータを書換える書換時間を短縮する技術が知られている（例えば、特許文献１参照。）。特許文献１に開示されている技術では、書換装置からデータを受信する受信処理と、受信したデータを記憶装置に書込む書込み処理とを並列処理することにより、記憶装置のデータを書換える書換時間を短縮しようとしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２０３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データの受信処理時間とデータの書込み処理時間とを比較すると、受信処理時間の方が書込み処理時間よりも長くなる傾向にある。この場合、特許文献１のようにデータの受信処理と書込み処理とを並列処理しても書込み処理が受信処理よりも先に終了するので、受信処理だけが実行され書込み処理が実行されない時間が存在することになる。
【０００５】
受信処理と書込み処理とにより記憶装置のデータを書換える書換時間を短縮するためには、受信処理と書込み処理とのうち一方の処理だけが実行される時間を極力短縮する必要がある。
【０００６】
本発明は上記問題を解決するためになされたものであり、記憶装置のデータを書換える書換時間を短縮する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の車載電子制御装置は、通信部と、書込み部とを備えている。
通信部は、記憶装置のデータを書換えるための書換データを分割した複数の部分データを、複数の通信経路を介して書換装置から受信する。
【０００８】
書込み部は、複数の通信経路を介して通信部が書換装置から部分データを受信する今回の受信処理と並列して、今回の受信処理の直前の受信処理で通信部が書換装置から受信した部分データを記憶装置に書込む書込み処理を実行する。
【０００９】
この構成によれば、書換データを分割した複数の部分データを通信部が複数の通信経路を介して書換装置から受信するので、時間の長さが同じであれば、一つの通信経路から部分データを受信するよりも受信するデータ量は増加する。
【００１０】
これにより、一つの通信経路から部分データを受信するよりも、受信処理との並列処理において、書込み処理により多くのデータを記憶装置に書込むので、受信処理だけが実行され書込み処理が実行されない時間を極力短縮できる。その結果、受信処理と書込み処理とにより記憶装置のデータを書換データで書換えるために要する書換時間を短縮できる。
【００１１】
尚、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態による書換システムを示すブロック図。
【図２】車載電子制御装置の構成を示すブロック図。
【図３】ＤＭＡ制御を説明する模式図。
【図４】書換装置のデータ送信処理を示すフローチャート。
【図５】中継装置の中継処理を示すフローチャート。
【図６】車載電子制御装置の書換処理を示すフローチャート。
【図７】書換処理を示すシーケンス図。
【図８】書換処理を示すタイムチャート。
【図９】第２実施形態による車載電子制御装置の書換処理を示すフローチャート。
【図１０】書換装置のデータ送信処理を示すフローチャート。
【図１１】書換処理を示すタイムチャート。
【図１２】書換処理を示す他のタイムチャート。
【図１３】第３実施形態による車載電子制御装置の書換処理を示すフローチャート。
【図１４】第４実施形態による書換処理を示すタイムチャート。
【図１５】第５実施形態による車載電子制御装置を示すブロック図。
【図１６】第６実施形態による書換システムを示すブロック図。
【図１７】第７実施形態による書換システムを示すブロック図。
【発明を実施するための形態】
【００１３】
以下、本発明が適用された実施形態を図に基づいて説明する。
［１．第１実施形態］
［１−１．構成］
図１に示す書換システム２は、車載の電子制御装置（Electronic Control Unit：ＥＣＵ）３０のプログラムまたはデータを書換えるシステムである。書換システム２は、書換装置１０と、中継装置２０と、書換対象のＥＣＵ３０とを備えている。符号１００は、車載の他のＥＣＵを示している。
【００１４】
書換装置１０は、ＥＣＵ３０のプログラムまたはデータを書換えるために、コネクタで車両のネットワークに接続される外部装置である。書換装置１０は、ＥＣＵ３０のプログラムまたはデータを書換えるための書換データを分割した複数の部分データを、通信サイクル毎に中継装置２０を介してＥＣＵ３０に送信する。
【００１５】
中継装置２０は、書換装置１０とＥＣＵ３０との通信を中継する。書換装置１０と中継装置２０とはイーサネット（登録商標）バス２００で接続されている。中継装置２０とＥＣＵ３０とはＣＡＮ（Control Area Network：登録商標）バス２１０、２１２で接続されている。中継装置２０と他のＥＣＵ１００とは、ＣＡＮバス２１０、２１２、２１４で接続されている。
【００１６】
ＣＡＮバス２１０が中継装置２０を介して書換装置１０とＥＣＵ３０とを接続する第１の通信経路に相当し、ＣＡＮバス２１２が中継装置２０を介して書換装置１０とＥＣＵ３０とを接続する第２の通信経路に相当する。
【００１７】
図２に示すように、ＥＣＵ３０は、ＣＰＵ３２とＲＡＭ３４とＲＯＭ３６とフラッシュメモリ３８とＤＭＡ部４０と２個の通信部５０、５２とを備えている。ＥＣＵ３０は、車両に搭載され、フラッシュメモリ等の書換え可能な不揮発性の記憶装置を備えているのであれば、どのような用途に使用されるＥＣＵであってもよい。
【００１８】
ＣＰＵ３２は、ＲＯＭ３６に記憶されている書換プログラムを実行することにより、書換装置１０から書換データを受信する受信処理と、書換え可能な不揮発性の記憶装置であるフラッシュメモリ３８に受信した書換データを書込む書込み処理とを実行する。受信処理と書込み処理とにより、フラッシュメモリ３８のデータを書換える書換処理が実行される。書換データは、数値データであってもよいし、書換後にＣＰＵ３２が実行するプログラムであってもよい。
【００１９】
ＣＰＵ３２は、フラッシュメモリ３８に記憶されている書換プログラムを実行してもよい。この場合、フラッシュメモリ３８に記憶されている書換プログラムは書換対象とはならない。
【００２０】
ＲＡＭ３４の一部の領域は、フラッシュメモリ３８に対するデータの書換時において、中継装置２０を介して書換装置１０から送信される書換データを一時的に記憶する受信バッファおよび書込みバッファとして使用される。
【００２１】
図３に示すように、ＤＭＡ部４０は、通信部５０、５２がそれぞれＣＡＮバス２１０、２１２から受信するデータを一時記憶する受信バッファから書込みバッファにデータを転送するＤＭＡ制御を実行する。さらに、ＤＭＡ部４０は、フラッシュメモリ３８を構成するフラッシュマクロに書込みバッファからデータを読み出して受け渡すＤＭＡ制御を実行する。
【００２２】
受信バッファから書込みバッファへのデータの転送、ならびに書込みバッファからフラッシュマクロへのデータの受け渡しは、ＣＰＵ３２が実行するデータ転送命令により実行される。
【００２３】
フラッシュマクロは、フラッシュメモリ３８の書込み領域を初期化してから、ＤＭＡ部４０が書込みバッファから転送するデータを書込み領域に書込む。
通信部５０はＣＡＮバス２１０に接続し、通信部５２はＣＡＮバス２１２に接続している。通信部５０、５２がそれぞれＣＡＮバス２１０、２１２からデータを受信すると、ＣＰＵ３２はデータをＲＡＭ３４における受信バッファの領域に格納する受信処理の一部を実行する。したがって、ＣＰＵ３２は通信部としても機能する。
【００２４】
［１−２．処理］
書換装置１０によるデータ送信処理を図４のフローチャートに基づいて説明する。書換装置１０は、起動されデータ送信を指令されると図４のフローチャートを実行する。
【００２５】
Ｓ４００において書換装置１０は、フラッシュメモリ３８のデータを書換えるすべての書換データを、１回の通信サイクルで送信するデータ単位、例えば３ＫＢ（キロバイト）単位に分割した複数の部分データ毎に、中継装置２０を介してＥＣＵ３０に送信する。通信サイクルは、例えば、部分データの受信をＥＣＵ３０が開始してから次の部分データの受信を開始するまでの期間を表わしている。
【００２６】
図７に示すように、書換装置１０は、３ＫＢの部分データを２ＫＢと１ＫＢとにさらに分割し、２ＫＢの部分データを第１の通信経路であるＣＡＮバス２１０を介して通信部５０宛に送信し、１ＫＢの部分データを第２の通信経路であるＣＡＮバス２１２を介して通信部５２宛に送信する。
【００２７】
書換データを分割した複数の部分データのそれぞれの大きさは、通信速度、フラッシュメモリ３８の書込み時間等により適宜設定される。尚、書換装置１０による部分データの送信は、短周期タスクと短周期タスクよりも実行周期の長い長周期タスクとのうち短周期タスクにより実行される。
【００２８】
通信経路であるＣＡＮバス２１０、２１２に今回の通信サイクルにおいてデータをそれぞれ送信すると（Ｓ４０２：Ｙｅｓ）、書換装置１０は中継装置２０からＥＣＵ３０が正常にデータを受信したことを表わす受信応答を受信するまで待機する。受信応答を受信すると（Ｓ４０４：Ｙｅｓ）、書換装置１０は、すべての書換データの送信を終了（Ｓ４０６：Ｙｅｓ）するまで、Ｓ４００〜Ｓ４０４の処理を繰り返す。
【００２９】
次に、中継装置２０による中継処理を図５のフローチャートに基づいて説明する。中継装置２０は、書換装置１０から部分データを受信する毎に図５のフローチャートを実行する。
【００３０】
中継装置２０は、イーサネットバス２００から部分データを受信すると（Ｓ４１０：Ｙｅｓ）、図７に示すように、受信した部分データの宛先である通信部５０、５２に応じてＣＡＮバス２１０またはＣＡＮバス２１２に部分データを分配して送信する（Ｓ４１２）。
【００３１】
図７に示すように、ＣＡＮバス２１０、２１２のそれぞれに部分データを送信したことに対し、ＣＡＮバス２１０、２１２を介して通信部５０、５２の両方から受信応答を受信すると（Ｓ４１４：Ｙｅｓ）、中継装置２０は、両方の受信応答の内容を判定し、両方の受信応答を一つにして書換装置１０に受信応答を送信する（Ｓ４１６）。
【００３２】
例えば、通信部５０、５２の両方から受信する受信応答が正常受信の場合、中継装置２０は正常受信の受信応答を書換装置１０の送信し、少なくとも一方の受信応答が異常受信の場合、中継装置２０は異常受信の受信応答を書換装置１０に送信する。
【００３３】
次に、ＥＣＵ３０による書換処理を図６のフローチャートに基づいて説明する。ＥＣＵ３０は、書換装置１０からフラッシュメモリ３８の書換えが指令されると、図６のフローチャートを実行する。
【００３４】
第１の受信処理としてＣＡＮバス２１０を介して通信部５０が中継装置２０から部分データを受信し、第２の受信処理としてＣＡＮバス２１２を介して通信部５２が中継装置２０から部分データを受信すると（Ｓ４２０：Ｙｅｓ）、ＥＣＵ３０は通信部５０、５２毎に確保されたＲＡＭ３４の受信バッファ領域に受信した部分データを一時的に格納する（Ｓ４２２）。ＣＡＮによるデータ通信は最大８バイトであるから、通信部５０、５２は８バイト毎に中継装置２０から部分データを受信する。
【００３５】
受信バッファに格納されたデータは、ＣＰＵ３２が転送命令を実行することにより、通信部５０、５２毎にＲＡＭ３４に確保された書込みバッファ領域にＤＭＡ部４０により転送される。
【００３６】
Ｓ４２４において、ＥＣＵ３０は、通信部５０、５２毎に確保された受信バッファから書込みバッファに部分データが転送されることにより、次の通信サイクルで書換装置１０から受信する部分データを格納する容量が受信バッファに確保されているか否かを判定する。
【００３７】
次の通信サイクルで受信する部分データを格納する容量が確保されており（Ｓ４２４：Ｙｅｓ）、通信部５０、５２が今回の通信サイクルにおいて書換装置１０から送信される部分データの受信を正常に終了すると（Ｓ４２６：Ｙｅｓ）、図７に示すように、ＥＣＵ３０は、ＣＡＮバス２１０、２１２を介して通信部５０、５２から受信応答をそれぞれ中継装置２０に送信する（Ｓ４２８）。
【００３８】
尚、ＥＣＵ３０による受信応答の送信は、短周期タスクと短周期タスクよりも実行周期の長い長周期タスクとのうち短周期タスクにより実行される。
受信応答を送信すると、ＥＣＵ３０は、次の通信サイクルで書換装置１０から送信される部分データの受信処理と並列して、書込みバッファに格納されている部分データをフラッシュメモリ３８に書込む（Ｓ４３０）。これにより、図７および図８に示すように、初回の通信サイクルを除き、各通信サイクルにおいて、受信処理と書込み処理とが並列して実行される。尚、図８の受信処理と書込み処理とにおけるデータ番号は対応している。
【００３９】
Ｓ４３０の書込み処理において、第１の受信処理で書込みバッファに格納されている部分データをフラッシュメモリ３８に書込む処理が第１の書込み処理に相当し、第２の受信処理で書込みバッファに格納されている部分データをフラッシュメモリ３８に書込む処理が第２の書込み処理に相当する。
【００４０】
書込みバッファに格納された部分データのフラッシュメモリ３８への書込みが終了しても（Ｓ４３２：Ｙｅｓ）、すべての書換データの書換えが終了していない場合（Ｓ４３４：Ｎｏ）、ＥＣＵ３０は、Ｓ４２０〜Ｓ４３２の処理を繰り返す。
【００４１】
［１−３．効果］
以上説明した第１実施形態では、以下の効果を得ることができる。
（１）書換装置１０が送信する部分データを２個のＣＡＮバス２１０、２１２からＥＣＵ３０が並列して受信するので、同じ時間の長さであれば１個のＣＡＮバスだけから部分データを受信するよりも受信するデータ量は増加する。
【００４２】
そして、今回の通信サイクルでＣＡＮバス２１０、２１２から部分データを受信する受信処理と、今回の受信処理の直前の受信処理でＣＡＮバス２１０、２１２から受信した部分データをフラッシュメモリ３８に書込む書込み処理とを並列して実行する。
【００４３】
これにより、一つの通信経路から部分データを受信するよりも、受信処理との並列処理において、書込み処理により多くのデータをフラッシュメモリ３８に書込むので、受信処理だけが実行され書込み処理が実行されない時間を極力短縮できる。その結果、受信処理と書込み処理とによりフラッシュメモリ３８のデータを書換えるために要する書換時間を短縮できる。
【００４４】
（２）ＥＣＵ３０が書換装置１０から部分データを受信して受信応答を書換装置１０宛に送信すると、ＥＣＵ３０が書換装置１０から次の部分データを受信する前に、受信した部分データをフラッシュメモリ３８に書込む。
【００４５】
これにより部分データを書込むまでの待ち時間を極力短縮できるので、受信処理と書込み処理とによりフラッシュメモリ３８のデータを書換えるために要する書換時間を短縮できる。
【００４６】
（３）書換装置１０による部分データの送信およびＥＣＵ３０による受信応答の送信は、書換装置１０およびＥＣＵ３０において短周期タスクと長周期タスクとのうち短周期タスクで実行されるので、タスクの実行頻度が上昇する。これにより、書換時間を極力短縮できる。
【００４７】
［２．第２実施形態］
［２−１．構成および処理］
第２実施形態の書換システムの構成は第１実施形態の書換システム２と実質的に同一である。
【００４８】
第２実施形態では、各通信サイクルにおいて、ＣＰＵ３２が計測部として、受信処理時間の長さと書込み処理時間の長さとを計測している。そして、受信処理時間と書込み処理時間との差に基づいて、書換装置１０が第２の通信経路であるＣＡＮバス２１２を介してＥＣＵ３０に送信するデータ量をＥＣＵ３０が書換装置１０に通知する点が第１実施形態と異なっている。
【００４９】
尚、受信処理時間は、各通信サイクルにおいて、ＥＣＵ３０がＣＡＮバス２１０およびＣＡＮバス２１２から部分データの受信を開始してから終了するまでの受信処理に要する時間を表わしている。
【００５０】
書込み処理時間は、各通信サイクルにおいて、直前の通信サイクルでＥＣＵ３０がＣＡＮバス２１０およびＣＡＮバス２１２から受信した部分データによる書込みを開始してから終了するまでの書込み処理に要する時間を表わしている。
【００５１】
ＥＣＵ３０による書換処理を図９のフローチャートに基づいて説明する。ＥＣＵ３０は、今回の通信サイクルにおいて受信処理および書込み処理が終了すると図９のフローチャートを実行する。尚、図９のフローチャートでは、各通信サイクルにおいて、受信処理と書込み処理とが同時に開始されるものとして処理を実行している。
【００５２】
今回の通信サイクルにおいて受信処理および書込み処理が終了すると、ＥＣＵ３０は、第１の通信経路であるＣＡＮバス２１０に受信応答を送信する（Ｓ４４０）。
次のＳ４４２において、ＥＣＵ３０は、図１１に示すように、一つの通信サイクルにおいて、書込み処理が先に終了してから受信処理が終了するまでの受信処理だけが実行される受信処理の残り時間の長さ、つまり受信処理時間から書込み処理時間を減算した受信処理の残り時間の長さが所定時間よりも長いか否かを判定する。
【００５３】
所定時間は、例えば、フラッシュメモリ３８に書込み単位のデータ量を書込むために必要な単位書込み時間に、受信処理時間と書込み処理時間との計測誤差による受信処理の残り時間の誤差を考慮してマージンを加算した時間を表わしている。
【００５４】
受信処理の残り時間の長さが所定時間よりも長い場合（Ｓ４４２：Ｙｅｓ）、ＥＣＵ３０は、第２の通信経路であるＣＡＮバス２１２に受信応答を送信するときに、次回の通信サイクルで書換装置１０がＣＡＮバス２１２宛に送信するデータの増加量を通知する（Ｓ４４４）。
【００５５】
受信処理の残り時間の長さが所定時間以下の場合（Ｓ４４２：Ｎｏ）、ＥＣＵ３０は、図１２に示すように、一つの通信サイクルにおいて、受信処理が先に終了してから書込み処理が終了するまでの書込み処理だけが実行される書込み処理の残り時間の長さ、つまり書込み処理時間から受信処理時間を減算した書込み処理の残り時間の長さが前述した所定時間よりも長いか否かを判定する。
【００５６】
所定時間は、例えば、フラッシュメモリ３８に書込み単位のデータ量を書込むために必要な単位書込み時間に、受信処理時間と書込み処理時間との計測誤差による書込み処理の残り時間の誤差を考慮してマージンを加算した時間を表わしている。
【００５７】
書込み処理の残り時間の長さが所定時間よりも長い場合（Ｓ４４６：Ｙｅｓ）、ＥＣＵ３０は、第２の通信経路であるＣＡＮバス２１２に受信応答を送信するときに、次回の通信サイクルで書換装置１０がＣＡＮバス２１２宛に送信するデータの減少量を通知する（Ｓ４４８）。
【００５８】
書込み処理の残り時間の長さが所定時間以下の場合（Ｓ４４６：Ｎｏ）、ＥＣＵ３０は、第２の通信経路であるＣＡＮバス２１２に受信応答だけを送信する（Ｓ４５０）。
次に、書換装置１０によるデータ送信処理を図１０のフローチャートに基づいて説明する。書換装置１０は中継装置２０から受信応答を受信すると、図１０のフローチャートを実行する。
【００５９】
送信データ量の増減通知のない受信応答を受信すると（Ｓ４６０：Ｎｏ）、書換装置１０は、Ｓ４６４に処理を移行する。
受信応答と一緒に送信データ量の増減通知を受信すると（Ｓ４６０：Ｙｅｓ）、書換装置１０は、通知された送信データの増減量に基づいて、第２の通信経路であるＣＡＮバス２１２宛に送信するデータ量を設定する（Ｓ４６２）。
【００６０】
Ｓ４６４において、書換装置１０は、第１の通信経路であるＣＡＮバス２１０宛に固定の２ＫＢのデータを送信し、第２の通信経路であるＣＡＮバス２１２宛に、Ｓ４６２を実行した場合にはＳ４６２で設定したデータ量を送信し、Ｓ４６２を実行していない場合には固定の１ＫＢのデータを送信する（Ｓ４６４）。
【００６１】
［２−２．効果］
以上説明した第２実施形態では、第１実施形態の効果（１）、（２）に加え、以下の効果を得ることができる。
【００６２】
各通信サイクルにおいて計測する受信処理時間と書込み処理時間との差に基づいて、第２の通信経路であるＣＡＮバス２１２を介してＥＣＵ３０に送信するデータ量の増減をＥＣＵ３０が書換装置１０に適切に通知できる。これにより、受信処理時間と書込み処理時間とのうち一方だけが実行される時間を極力低減し、書換時間を極力短縮できる。
【００６３】
［３．第３実施形態］
［３−１．構成および処理］
第３実施形態の書換システムの構成は第１実施形態の書換システム２と実質的に同一である。
【００６４】
第３実施形態では、ＣＰＵ３２は計測部として、通信サイクル毎に、受信処理時間と、書込み単位のデータ量をフラッシュメモリに３８に書込むために要する単位書込み時間とを計測する。さらに、ＣＰＵ３２はデータ量算出部として、受信処理時間と単位書込み時間とに基づいて、受信処理時間においてフラッシュメモリ３８に書込み可能な書込みデータ量を算出する。
【００６５】
ＥＣＵ３０は、各通信サイクルにおいて、書換装置１０が第１の通信経路であるＣＡＮバス２１０に送信するデータ量は一定とし、前述した書込みデータ量からＣＡＮバス２１０への送信データ量を減算した結果を、次の通信サイクルにおいて書換装置１０が第２の通信経路であるＣＡＮバス２１２に送信するデータ量として書換装置１０に通知する。
【００６６】
以下、書換装置１０がＣＡＮバス２１２に送信するデータ量をＥＣＵ３０が通知する書換処理について、図１３のフローチャートに基づいて説明する。ＥＣＵ３０は、今回の通信サイクルにおいて受信処理の開始時に図１３のフローチャートを実行する。
【００６７】
ＥＣＵ３０は、今回の通信サイクルにおいてＣＡＮバス２１０から受信する部分データに対する受信処理時間を計測する（Ｓ４７０）。さらに、ＥＣＵ３０は、今回の通信サイクルにおいて書込み単位のデータ量をフラッシュメモリに３８に書込む毎に、書込みに要する単位書込み時間を計測する（Ｓ４７２）。
【００６８】
今回の通信サイクルにおいて、受信処理と書込み処理とが終了すると（Ｓ４７４：Ｙｅｓ）ＥＣＵ３０は、書込み単位のデータ量をフラッシュメモリに３８に書込むために要する単位書込み時間の平均を算出する（Ｓ４７６）。
【００６９】
次に、ＥＣＵ３０は、受信処理時間でフラッシュメモリ３８に書込み可能な書込みデータ量を次式（１）から算出する（Ｓ４７８）。
書込みデータ量＝（受信処理時間／単位書込み時間の平均時間）×単位データ量
・・・（１）
ＥＣＵ３０は、書換装置１０がＣＡＮバス２１２に送信するデータ量を次式（２）から算出する（Ｓ４８０）。
【００７０】
ＣＡＮバス２１２への送信データ量
＝書込みデータ量−ＣＡＮバス２１０への送信データ量        ・・・（２）
式（２）から書換装置１０がＣＡＮバス２１２に送信するデータ量を算出すると、ＥＣＵ３０は第１の通信経路であるＣＡＮバス２１０に受信応答を送信する（Ｓ４８２）。さらに、ＥＣＵ３０は第２の通信経路であるＣＡＮバス２１２に受信応答を送信するときに、次回の通信サイクルで書換装置１０がＣＡＮバス２１２に送信するデータ量として、式（２）で算出した送信データ量を通知する（Ｓ４８２）。
【００７１】
［３−２．効果］
以上説明した第３実施形態では、第１実施形態の効果（１）、（２）に加え、以下の効果を得ることができる。
【００７２】
各通信サイクルにおいて計測する受信処理時間と単位書込み時間とに基づいて、ＥＣＵ３０が書換装置１０に第２の通信経路であるＣＡＮバス２１２を介してＥＣＵ３０に送信する適切なデータ量を通知できる。これにより、受信処理時間と書込み処理時間とのうち受信処理時間だけが実行される時間を極力低減し、書換時間を極力短縮できる。
【００７３】
［４．第４実施形態］
［４−１．構成および処理］
第４実施形態の書換システムの構成は第１実施形態の書換システム２と実質的に同一である。
【００７４】
第４実施形態では、フラッシュメモリ３８はフラッシュマクロを２個備えている。そして、ＣＡＮバス２１０から受信するデータとＣＡＮバス２１２から受信するデータとをフラッシュメモリ３８に書込むときに、ＥＣＵ３０は、それぞれの書込み処理を２個のフラッシュマクロに割り当てる。これにより、図１４に示すように、書込み処理が並列処理される。
【００７５】
［４−２．効果］
以上説明した第４実施形態では、第１実施形態の効果（１）、（２）に加え、以下の効果を得ることができる。
【００７６】
ＣＡＮバス２１０から受信するデータとＣＡＮバス２１２から受信するデータとをフラッシュメモリ３８に書込む書込み処理を並列処理するので、書込み処理に要する時間を短縮できる。
【００７７】
［５．第５実施形態］
［５−１．構成および処理］
図１５に第５実施形態のＥＣＵ６０の構成を示す。ＥＣＵ６０は、２個のＣＰＵ６２、６４を備えている。２個のＣＰＵ６２、６４の一方が受信処理を実行し、他方が書込み処理を実行する。
【００７８】
［５−２．効果］
以上説明した第５実施形態では、第１実施形態の効果（１）、（２）に加え、以下の効果を得ることができる。
【００７９】
２個のＣＰＵ６２、６４がそれぞれ受信処理または書込み処理の専用の処理装置として機能するので、受信処理または書込み処理の一方の処理を実行するＣＰＵが他方の処理の影響を受けずに自身の処理を効率的に実行できる。これにより、受信処理および書込み処理に要する処理時間を短縮できる。
【００８０】
［６．第６実施形態］
［６−１．構成］
図１６に第６実施形態の書換システム４を示す。書換システム４では、書換装置１０からＣＡＮバス２１０宛に送信したデータをＥＣＵ３０に中継する中継装置２０と、書換装置１０からＣＡＮバス２１２宛に送信したデータをＥＣＵ３０に中継する中継装置２０とが別装置である。
【００８１】
［６−２．効果］
以上説明した第６実施形態では、第１実施形態の効果（１）、（２）に加え、以下の効果を得ることができる。
【００８２】
第１実施形態の中継装置２０のように、中継装置２０がＣＡＮバス２１０宛とＣＡＮバス２１２宛とにデータを分配する必要がないので、中継装置２０の中継負荷を低減できる。
【００８３】
［７．第７実施形態］
［７−１．構成］
図１７の書換システムでは、車両から取り出された書換対象のＥＣＵ３０が、第１の通信経路２３０と第２の通信経路２３２とにより書換装置１０と直接接続されている。
【００８４】
［７−２．効果］
以上説明した第７実施形態では、第１実施形態の効果（１）、（２）と同様の効果を得ることができる。
【００８５】
［８．他の実施形態］
（１）第１の通信経路および第２の通信経路はＣＡＮバス２１０、２１２に限るものではなく、フラッシュメモリ３８に対する書換データを送信するのであれば、どのような仕様の通信経路であってもよい。また、第１の通信経路および第２の通信経路の仕様は同じである必要はなく、異なっていてもよい。
【００８６】
（２）ＥＣＵ３０のフラッシュメモリ３８に対する書換データを送信する通信経路は３個以上であってもよい。
（３）上記第２実施形態および第３実施形態では、第１の通信経路であるＣＡＮバス２１０を介して書換装置１０がＥＣＵ３０に送信するデータ量は一定であるとして、第２の通信経路であるＣＡＮバス２１２を介して書換装置１０がＥＣＵ３０に送信するデータ量を調整した。
【００８７】
これに対し、受信処理時間と書込み処理時間または単位書込み時間との計測データに基づいて、ＣＡＮバス２１０とＣＡＮバス２１２とを介して書換装置１０がＥＣＵ３０に送信するデータ量の両方を調整し、１通信サイクルにおいて受信処理時間と書込み処理時間との差を極力低減してもよい。
【００８８】
例えば、ＣＡＮバス２１０とＣＡＮバス２１２とを介して書換装置１０がＥＣＵ３０に送信する１通信サイクル当たりのデータ量を両方のバスで同じにして低減し、１通信サイクルにおいて受信処理時間と書込み処理時間との差を極力低減してもよい。この場合、すべての書換データを書換えるために要する時間を、例えば第１実施形態とほぼ等しくできるデータ量が存在することがある。
【００８９】
このように、書換装置１０がＥＣＵ３０に送信する１通信サイクル当たりのデータ量を両方のバスで同じにして低減できると、受信バッファと書込みバッファとのために確保するＲＡＭ容量を低減できる。
【００９０】
（４）上記実施形態では、書換え可能な不揮発性の記憶装置としてフラッシュメモリ３８を例示した。これ以外にも、ＥＥＰＲＯＭ、ハードディスク等、書換え可能で不揮発性であればどのような記憶装置を書換対象としてもよい。
【００９１】
（５）上記実施形態における一つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を一つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【００９２】
（６）上述したＥＣＵ３０の他、当該ＥＣＵ３０を構成要素とする書換システム、当該ＥＣＵ３０としてコンピュータを機能させるための書換プログラム、この書換プログラムを記録した記録媒体、書換方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【００９３】
２、４：書換システム、１０：書換装置、３０、６０：ＥＣＵ（車載電子制御装置）、３２、６２、６４：ＣＰＵ（書込み部、通信部、計測部、データ量算出部）、３４：ＲＡＭ（受信バッファ、書込みバッファ）、３６：ＲＯＭ、３８：フラッシュメモリ（記憶装置）、４０：ＤＭＡ部、５０、５２：通信部、２１０：ＣＡＮバス（第１の通信経路）、２１２：ＣＡＮバス（第２の通信経路）、２３０：第１の通信経路、２３２：第２の通信経路
【図１】
0006432464.tif 000002
【図２】
0006432464.tif 000003
【図３】
0006432464.tif 000004
【図４】
0006432464.tif 000005
【図５】
0006432464.tif 000006
【図６】
0006432464.tif 000007
【図７】
0006432464.tif 000008
【図８】
0006432464.tif 000009
【図９】
0006432464.tif 000010
【図１０】
0006432464.tif 000011
【図１１】
0006432464.tif 000012
【図１２】
0006432464.tif 000013
【図１３】
0006432464.tif 000014
【図１４】
0006432464.tif 000015
【図１５】
0006432464.tif 000016
【図１６】
0006432464.tif 000017
【図１７】
0006432464.tif 000018