(57)【要約】【課題】複数の通信線に接続された車載通信装置の更新処理を効率よく行うことができる車載更新装置、更新システム及び更新処理プログラムを提供する。【解決手段】通信線２ａ、２ｂに接続されたＥＣＵ１０に対して、通信線２ａ，２ｂを利用してゲートウェイ３０が更新用のリプロデータを送信することによって、ＥＣＵ１０の更新処理を行う。リプロツール５０は、リプロデータの分割データを記憶しており、ゲートウェイ３０へ分割データを送信する。リプロツール５０は、リプロデータを複数に分割した分割データに対して、これらを復元するための順序情報を付してゲートウェイ３０へ送信する。ゲートウェイ３０は、通信線２ａ，２ｂ毎の通信状態を判定し、判定した通信状態に応じて、リプロデータを複数に分割した分割データを、複数の通信線２ａ，２ｂに適宜に分配し、複数の分割データを複数の通信線２ａ，２ｂを介してＥＣＵ１０へ送信する。【選択図】図１
2019023931.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの通信線を介して車載通信装置との通信を行い、該車載通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、
前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶する記憶部と、
前記記憶部に記憶された複数の更新用分割データを、前記少なくとも２つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部と
を備えることを特徴とする車載更新装置。
【請求項２】
前記送信処理部は、通信線毎の通信負荷に応じて、前記少なくとも２つの通信線に前記複数の更新用分割データを分配すること
を特徴とする請求項１に記載の車載更新装置。
【請求項３】
前記更新用分割データを記憶した記憶装置との間で通信を行う通信部と、
前記通信部を介して前記記憶装置から受信した前記更新用分割データを、前記記憶部に記憶する処理を行う記憶処理部と
を更に備えることを特徴とする請求項１又は請求項２に記載の車載更新装置。
【請求項４】
プログラム又はデータを記憶する第１記憶部を有する車載通信装置と、少なくとも２つの通信線を介して前記車載通信装置との通信を行い、前記車載通信装置の前記第１記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える更新システムであって、
前記車載更新装置は、
前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶する記憶部と、
前記記憶部に記憶された複数の更新用分割データを、前記少なくとも２つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部と
を有することを特徴とする更新システム。
【請求項５】
前記更新用分割データを記憶した記憶装置を更に備え、
前記車載更新装置は、
前記更新用分割データを記憶した記憶装置との間で通信を行う通信部と、
前記通信部を介して前記記憶装置から受信した前記更新用分割データを、前記記憶部に記憶する処理を行う記憶処理部と
を更に有すること
を特徴とする請求項４に記載の更新システム。
【請求項６】
前記記憶装置は、前記更新用分割データに順序情報を付して前記車載更新装置へ送信し、
前記車載更新装置の前記記憶処理部は、前記順序情報が付された前記更新用分割データを前記記憶部に記憶すること
を特徴とする請求項５に記載の更新システム。
【請求項７】
前記車載通信装置は、
前記少なくとも２つの通信線を介して前記車載更新装置から受信した前記更新用分割データを一時的に記憶する第２記憶部と、
前記第２記憶部に記憶された前記更新用分割データに付された前記順序情報に基づいて、前記第２記憶部に記憶された前記更新用分割データを用いて、前記第１記憶部に記憶されたプログラム又はデータを更新する処理を行う更新処理部と
を有することを特徴とする請求項６に記載の更新システム。
【請求項８】
少なくとも２つの通信線を介して車載通信装置との通信を行い、該車載通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置を、
前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶部に記憶する処理を行う記憶処理部と、
前記記憶部に記憶された複数の更新用分割データを、前記少なくとも２つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部
として動作させることを特徴とする更新処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載通信装置に対して更新用のプログラム又はデータを送信することによって、この車載通信装置の更新処理を行う車載更新装置、更新システム及び更新処理プログラムに関する。
【背景技術】
【０００２】
従来、車両には複数のＥＣＵ（Electronic Control Unit）などの車載通信装置が搭載され、複数のＥＣＵがＣＡＮ（Controller Area Network）バスなどの通信線を介して接続されて相互に情報の送受信を行うことが可能とされている。各ＥＣＵは、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の記憶部に記憶されたプログラムをＣＰＵ（Central Processing Unit）などの処理装置が読み出して実行することにより、車両の制御などの種々の処理を行っている。ＥＣＵの記憶部に記憶されたプログラム又はデータは、例えば機能追加、不具合の修正又はバージョンアップ等の必要が生じた際には、新たなプログラム又はデータに書き換える更新処理を行う必要がある。この場合、更新処理の対象となるＥＣＵに対して、通信線を介して更新用のプログラム又はデータを送信することが行われている。
【０００３】
特許文献１においては、書換装置と複数の書換対象ＥＣＵとが同一のネットワークバスで接続された構成を持ち、書換装置は予め定められた特定のＩＤを使用して全ての書換対象ＥＣＵに対して同時にデータを送信し、書換対象ＥＣＵは個体識別データを使用してそれぞれ異なったＩＤを生成し、生成したＩＤを使用して書換装置へデータを送信するプログラム書換方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１９４６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、車両において重要な機能を担うＥＣＵについて、このＥＣＵを複数の通信線に接続し、車両の信頼性を向上させることが試みられている。例えば２つの通信線に接続されたＥＣＵは、いずれか一方の通信線が何らかの要因で通信不可能な状態となった場合であっても、他方の通信線を介して通信を行うことが可能であるため、このＥＣＵが担う機能が利用不可能となることを防止できる。
【０００６】
このような複数の通信線に接続されたＥＣＵについて、プログラム又はデータの更新処理をどのように行うかについて、これまで検討されていなかった。
【０００７】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、複数の通信線に接続された車載通信装置の更新処理を効率よく行うことができる車載更新装置、更新システム及び更新処理プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係る車載更新装置は、少なくとも２つの通信線を介して車載通信装置との通信を行い、該車載通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置であって、前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶する記憶部と、前記記憶部に記憶された複数の更新用分割データを、前記少なくとも２つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部とを備える。
【０００９】
また、本発明に係る車載更新装置は、前記送信処理部が、通信線毎の通信負荷に応じて、前記少なくとも２つの通信線に前記複数の更新用分割データを分配する。
【００１０】
また、本発明に係る車載更新装置は、前記更新用分割データを記憶した記憶装置との間で通信を行う通信部と、前記通信部を介して前記記憶装置から受信した前記更新用分割データを、前記記憶部に記憶する処理を行う記憶処理部とを更に備える。
【００１１】
また、本発明に係る更新システムは、プログラム又はデータを記憶する第１記憶部を有する車載通信装置と、少なくとも２つの通信線を介して前記車載通信装置との通信を行い、前記車載通信装置の前記第１記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置とを備える更新システムであって、前記車載更新装置は、前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶する記憶部と、前記記憶部に記憶された複数の更新用分割データを、前記少なくとも２つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部とを有する。
【００１２】
また、本発明に係る更新システムは、前記更新用分割データを記憶した記憶装置を更に備え、前記車載更新装置は、前記更新用分割データを記憶した記憶装置との間で通信を行う通信部と、前記通信部を介して前記記憶装置から受信した前記更新用分割データを、前記記憶部に記憶する処理を行う記憶処理部とを更に有する。
【００１３】
また、本発明に係る更新システムは、前記記憶装置が、前記更新用分割データに順序情報を付して前記車載更新装置へ送信し、前記車載更新装置の前記記憶処理部は、前記順序情報が付された前記更新用分割データを前記記憶部に記憶する。
【００１４】
また、本発明に係る更新システムは、前記車載通信装置が、前記少なくとも２つの通信線を介して前記車載更新装置から受信した前記更新用分割データを一時的に記憶する第２記憶部と、前記第２記憶部に記憶された前記更新用分割データに付された前記順序情報に基づいて、前記第２記憶部に記憶された前記更新用分割データを用いて、前記第１記憶部に記憶されたプログラム又はデータを更新する処理を行う更新処理部とを有する。
【００１５】
また、本発明に係る更新処理プログラムは、少なくとも２つの通信線を介して車載通信装置との通信を行い、該車載通信装置の記憶部に記憶されたプログラム又はデータを更新する処理を行う車載更新装置を、前記車載通信装置へ送信する更新用のプログラム又はデータを分割した複数の更新用分割データを記憶部に記憶する処理を行う記憶処理部と、前記記憶部に記憶された複数の更新用分割データを、前記少なくとも２つの通信線を介して前記車載通信装置へ分配送信する処理を行う送信処理部として動作させる。
【００１６】
本発明においては、少なくとも２つの通信線に接続された車載通信装置に対して、この２つの通信線に接続された車載更新装置が更新用のプログラム又はデータを送信することによって、車載通信装置の更新処理を行う。車載更新装置は、更新用のプログラム又はデータを複数に分割したものを更新用分割データとして記憶部に記憶する。車載更新装置は、通信線毎の通信状態を判定し、判定した通信状態に応じて複数の更新用分割データを複数の通信線へ適宜に分配し、複数の更新用分割データを複数の通信線を介して車載通信装置へ送信する。これにより車載更新装置は、複数の通信線を有効活用して、車載通信装置への複数の更新用分割データの送信を効率よく高速に行うことが可能となる。
【００１７】
また本発明において車載更新装置は、更新対象となる車載通信装置が接続された複数の通信線について、通信線毎の通信負荷を判定する。車載更新装置は、例えば低負荷の通信線に対して優先的に更新用分割データを分配するなど、判定した通信負荷に応じた更新用分割データの分配を行うことができる。これにより車載更新装置は、複数の通信線を効率よく利用することができる。
【００１８】
また本発明においては、車載更新装置とは異なる記憶装置が、更新用分割データを記憶しておく。更新処理を行う際には、記憶装置から車載更新装置へ更新用分割データが送信され、この更新用分割データが車載更新装置から車載通信装置へ与えられる。これにより車載更新装置は、更新用分割データを記憶しておく必要がなく、記憶装置から与えられた更新用分割データを一時的に記憶しておけばよい。なお車載更新装置及び記憶装置は、有線又は無線のいずれの通信を行ってもよく、有線通信の場合に記憶装置は通信ケーブルなどを介して車載更新装置に着脱可能な構成であってよい。
【００１９】
また本発明において記憶装置は、更新のためのプログラム又はデータを分割した更新用分割データに対して、これを復元するための順序情報を付して車載更新装置へ送信する。車載更新装置は、記憶装置から更新用分割データを受信した場合、順序情報と共に更新用分割データを記憶部に記憶しておく。また車載更新装置は、順序情報が付された更新用分割データを車載通信装置に対して送信する。これにより、複数の通信線を介して更新用分割データを受信した車載通信装置は、更新用分割データの順序と受信順序とが異なる場合であっても、複数の更新用分割データから元のプログラム又はデータを復元することができる。
【００２０】
また本発明において車載通信装置は、自身の処理に用いるプログラム又はデータを記憶した第１記憶部とは別に、複数の通信線を介して車載更新装置から受信した更新用分割データを一時的に記憶する第２記憶部を有する。車載通信装置は、更新用分割データに付された順序情報に基づき、第２記憶部に記憶された更新用分割データを用いて、第１記憶部に記憶されたプログラム又はデータを更新する処理を行う。これにより、複数の通信線を介して順不同に受信される更新用分割データを用いて、プログラム又はデータの更新処理を確実に行うことができる。
【発明の効果】
【００２１】
本発明による場合は、車載更新装置が通信線毎の通信状態に応じて複数の更新用分割データを複数の通信線へ適宜に分配し、更新対象の車載通信装置へ更新用分割データを送信する構成とすることにより、複数の通信線を有効活用して更新用分割データの送信を効率よく高速に行うことができるため、複数の通信線に接続された車載通信装置の更新処理を効率よく行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本実施の形態に係る更新システムの構成例を示す模式図である。
【図２】ＥＣＵの構成を示すブロック図である。
【図３】ゲートウェイの構成を示すブロック図である。
【図４】リプロツールの構成を示すブロック図である。
【図５】リプロツールによるリプロデータの送信を説明するための模式図である。
【図６】リプロツールが行うリプロデータの送信処理の手順を示すフローチャートである。
【図７】ゲートウェイが行うリプロデータの受信処理の手順を示すフローチャートである。
【図８】ゲートウェイが行うリプロデータの送信処理の手順を示すフローチャートである。
【図９】ＥＣＵが行うリプロデータの受信処理の手順を示すフローチャートである。
【図１０】ＥＣＵが行うアプリケーションプログラムの更新処理の手順を示すフローチャートである。
【図１１】変形例に係る更新システムの構成例を示す模式図である。
【発明を実施するための形態】
【００２３】
＜システム構成＞
図１は、本実施の形態に係る更新システムの構成例を示す模式図である。本実施の形態に係る更新システムは、車両１に搭載された複数のＥＣＵ３ａ〜３ｄ，１０が、通信線２ａ〜２ｃ及びゲートウェイ３０を介して相互に通信を行うことが可能な通信システムにおいて、各ＥＣＵ３ａ〜３ｄ，１０が記憶しているプログラム又はデータの更新をゲートウェイ３０が行う構成である。図示の例では、車両１には４つのＥＣＵ３ａ〜３ｄと、１つのＥＣＵ１０とが備えられている。ＥＣＵ３ａは通信線２ａに接続され、ＥＣＵ３ｂは通信線２ｂに接続され、ＥＣＵ３ｃ及び３ｄは通信線２ｃに接続されている。各ＥＣＵ３ａ〜３ｄは、自身が接続されている１つの通信線２ａ〜２ｃに対する情報の送受信を行うことができる。これに対してＥＣＵ１０は、通信線２ａ及び２ｂの２つに接続されており、両方の通信線２ａ及び２ｂに対する情報の送受信を行うことができる。例えばＥＣＵ１０は、ＥＣＵ３ａとの通信を行う際には通信線２ａを使用し、ＥＣＵ３ｂとの通信を行う際には通信線２ｂを使用することができる。
【００２４】
ＥＣＵ３ａ〜３ｄ，１０が接続された通信線２ａ〜２ｃは、ゲートウェイ３０にそれぞれ接続されている。ゲートウェイ３０は、通信線２ａ〜２ｃ間の通信を中継する装置である。ゲートウェイ３０は、３つの通信線２ａ〜２ｃのいずれかにて受信した情報を、他の通信線２ａ〜２ｃから送信することにより通信を中継する。これにより例えばＥＣＵ３ａは、通信線２ａ、ゲートウェイ３０及び通信線２ｂを介してＥＣＵ３ｂとの通信を行うことが可能となる。
【００２５】
またゲートウェイ３０は、車両１の適所に配されたＯＢＤ（On-Board Diagnostics）コネクタ５に通信線６を介して接続されている。ＯＢＤコネクタ５は、車両１の自己診断機能による種々の情報を外部の装置が取得するためのコネクタである。本実施の形態のおいては、例えば車両１のディーラ又は整備工場等に備えられたリプログラミングツール（以下、リプロツールという）５０を、車両１のＯＢＤコネクタ５に専用の通信ケーブルを介して接続することにより、ゲートウェイ３０及びリプロツール５０の間で通信を行うことができる。リプロツール５０は、ＥＣＵ３ａ〜３ｄ，１０の更新用のプログラム又はデータをゲートウェイ３０へ与え、ゲートウェイ３０は与えられた更新用のプログラム又はデータを対象のＥＣＵ３ａ〜３ｄ，１０へ送信し、これを受信したＥＣＵ３ａ〜３ｄ，１０にて更新が行われる。
【００２６】
図２は、ＥＣＵ１０の構成を示すブロック図である。本実施の形態に係るＥＣＵ１０は、処理部１１、２つの通信部１２ａ，１２ｂ、フラッシュメモリ１３及びＲＡＭ（Random Access Memory）１４等を備えて構成されている。処理部１１は、ＣＰＵなどの演算処理装置を用いて構成されている。処理部１１は、フラッシュメモリ１３に記憶されたアプリケーションプログラム（図中ではアプリケーションと記載している）１３ｂを読み出して実行することにより、車両１の制御処理及び種々の演算処理等を行う。また処理部１１は、フラッシュメモリ１３に記憶されたブートローダプログラム（図中ではブートローダと記載している）１３ａを読み出して実行することにより、ＥＣＵ１０の初期設定処理及びアプリケーションプログラム１３ｂの更新処理等を行う。処理部１１には、ブートローダプログラム１３ａを実行することによって、アプリケーションプログラム１３ｂの更新処理を行う更新処理部１１ａがソフトウェア的な機能ブロックとして実現される。
【００２７】
本実施の形態に係るＥＣＵ１０は２つの通信部１２ａ，１２ｂを有しており、２つの通信線２ａ，２ｂを介して他のＥＣＵ３ａ〜３ｄとの通信を行うことができる。通信部１２ａは、通信線２ａに接続されており、通信線２ａを介した通信を行う。通信部１２ｂは、通信線２ｂに接続されており、通信線２ｂを介した通信を行う。通信部１２ａ，１２ｂは、処理部１１から与えられた送信用の情報を電気信号に変換して通信線２ａ，２ｂへ出力することにより情報送信を行うと共に、通信線２ａ，２ｂの信号をサンプリングして取得することにより情報受信を行い、受信した情報を処理部１１へ与える。処理部１１は、情報送信を行う場合、いずれの通信部１２ａ，１２ｂにて送信を行うかを適宜に判断すればよい。
【００２８】
なお本実施の形態においては、ＥＣＵ３ａ〜３ｄ，１０及びゲートウェイ３０は、通信線２ａ〜２ｃを介して例えばＣＡＮの通信プロトコルに従った通信を行う。この場合、通信線２ａ〜２ｃはいわゆるＣＡＮバスであり、通信部１２ａ，１２ｂはＣＡＮコントローラを用いて構成することができる。
【００２９】
フラッシュメモリ１３は、データ書き換え可能な不揮発性のメモリ素子であり、ブートローダプログラム１３ａ及びアプリケーションプログラム１３ｂ等のプログラムを記憶している。また図示は省略するが、これらのプログラムの実行に必要なデータがフラッシュメモリ１３に記憶されている。処理部１１は、フラッシュメモリ１３からこれらのプログラムを読み出して実行することにより、種々の処理を行うことができる。また処理部１１は、フラッシュメモリ１３に対するデータの消去及び書き込みを行うことができる。
【００３０】
ＲＡＭ１４は、例えばＳＲＡＭ（Static Random Access Memory）又はＤＲＡＭ（Dynamic Random Access Memory）等のメモリ素子を用いて構成されている。処理部１１は、ＲＡＭ１４に対してデータの読み出し及び書き込みを行うことができる。例えばＲＡＭ１４は、処理部１１が行う演算処理の過程で生成された情報を一時的に記憶する。また例えばＲＡＭ１４は、通信部１２ａ，１２ｂが受信した情報を一時的に記憶する。
【００３１】
図３は、ゲートウェイ３０の構成を示すブロック図である。本実施の形態に係るゲートウェイ３０は、処理部３１、通信部３２ａ〜３２ｃ、フラッシュメモリ３３、ＲＡＭ３４及びＯＢＤ通信部３５等を備えて構成されている。処理部３１は、ＣＰＵなどの演算処理装置を用いて構成されている。処理部３１は、フラッシュメモリ３３に記憶されたアプリケーションプログラム３３ｂを読み出して実行することにより、通信線２ａ〜２ｃ間の通信を中継する処理及びＥＣＵ３ａ〜３ｄ，１０のアプリケーションプログラム１３ｂを更新する処理等を行う。処理部３１には、アプリケーションプログラム３３ｂを実行することによって、通信の中継に係る処理を行う中継処理部３１ａ及びＥＣＵ３ａ〜３ｄ，１０の更新に係る処理を行う更新処理部３１ｂがソフトウェア的な機能ブロックとして実現される。また処理部３１は、フラッシュメモリ３３に記憶されたブートローダプログラム３３ａを読み出して実行することにより、ゲートウェイ３０の初期設定処理及び自身のアプリケーションプログラム３３ｂの更新処理等を行う。
【００３２】
ゲートウェイ３０は３つの通信部３２ａ〜３２ｃを有しており、通信部３２ａ〜３２ｃは例えばＣＡＮコントローラを用いて構成されている。通信部３２ａは、通信線２ａに接続されており、通信線２ａを介した通信を行う。通信部３２ｂは、通信線２ｂに接続されており、通信線２ｂを介した通信を行う。通信部３２ｃは、通信線２ｃに接続されており、通信線２ｃを介した通信を行う。通信部３２ａ〜３２ｃは、処理部３１から与えられた送信用の情報を電気信号に変換して通信線２ａ〜２ｃへ出力することにより情報送信を行うと共に、通信線２ａ〜２ｃの信号をサンプリングして取得することにより情報受信を行い、受信した情報を処理部３１へ与える。処理部３１の中継処理部３１ａは、いずれかの通信部３２ａ〜３２ｃにて情報を受信した場合に、この情報を他の通信部３２ａ〜３２ｃから送信することによって、通信を中継する。
【００３３】
フラッシュメモリ３３は、データ書き換え可能な不揮発性のメモリ素子であり、ブートローダプログラム３３ａ及びアプリケーションプログラム３３ｂ等のプログラムを記憶している。また図示は省略するが、これらのプログラムの実行に必要なデータがフラッシュメモリ３３に記憶されている。処理部３１は、フラッシュメモリ３３からこれらのプログラムを読み出して実行することにより、種々の処理を行うことができる。また処理部３１は、フラッシュメモリ３３に対するデータの消去及び書き込みを行うことができる。
【００３４】
ＲＡＭ３４は、例えばＳＲＡＭ又はＤＲＡＭ等のメモリ素子を用いて構成されている。処理部３１は、ＲＡＭ３４に対してデータの読み出し及び書き込みを行うことができる。例えばＲＡＭ３４は、処理部３１が行う演算処理の過程で生成された情報を一時的に記憶する。また例えばＲＡＭ３４は、通信部３２ａ〜３２ｃが受信した情報を一時的に記憶する。また例えばＲＡＭ３４は、ＯＢＤコネクタ５を介してリプロツール５０から受信した情報を一時的に記憶する。
【００３５】
ＯＢＤ通信部３５は、通信線６を介してＯＢＤコネクタ５に接続されている。ＯＢＤ通信部３５は、ＯＢＤコネクタ５に接続されたリプロツール５０との間で通信を行う。なおＯＢＤコネクタ５を介したゲートウェイ３０のＯＢＤ通信部３５とリプロツール５０との通信は、ＣＡＮの通信プロトコルに従うものであってもよく、これ以外の通信プロトコルに従うものであってもよい。ＯＢＤ通信部３５は、処理部３１から与えられた送信用の情報を電気信号に変換して通信線６へ出力することにより情報送信を行うと共に、通信線６の信号をサンプリングして取得することにより情報受信を行い、受信した情報を処理部３１へ与える。
【００３６】
図４は、リプロツール５０の構成を示すブロック図である。本実施の形態に係るリプロツール５０は、例えば車両１のディーラ又は整備工場等に備えられた可搬型の装置であり、車両１のＥＣＵ３ａ〜３ｄ，１０のアプリケーションプログラム１３ｂ，３３ｂを更新する（リプログラミングする）ための装置である。作業者は、車両１の整備又は点検等の際、サーバ装置などから更新用のデータをリプロツール５０にダウンロードして記憶させ、リプロツール５０を専用の通信ケーブルを介して車両１のＯＢＤコネクタ５に接続する。リプロツール５０とゲートウェイ３０との間で例えば認証処理などの所定の処理を行った後、リプロツール５０はダウンロードした更新用のデータをゲートウェイ３０へ送信し、ＥＣＵ３ａ〜３ｄ，１０のアプリケーションプログラム１３ｂ，３３ｂの更新を開始する。
【００３７】
リプロツール５０は、処理部５１、記憶部５２及びＯＢＤ通信部５３等を備えて構成されている。処理部５１は、ＣＰＵなどの演算処理装置を用いて構成されている。処理部５１は、記憶部５２又は図示しないＲＯＭ（Read Only Memory）等に記憶されたプログラムを読み出して実行することにより、ＥＣＵ３ａ〜３ｄ，１０の更新に係る種々の処理を行う。処理部５１には、プログラムの実行によって、ＥＣＵ３ａ〜３ｄ，１０の更新処理を行う更新処理部５１ａがソフトウェア的な機能ブロックとして実現される。
【００３８】
記憶部５２は、フラッシュメモリ又はＥＥＰＲＯＭ等の不揮発性のメモリ素子を用いて構成されていてもよく、ＳＲＡＭ又はＤＲＡＭ等の揮発性のメモリ素子を用いて構成されていてもよく、ハードディスクなどの磁気記憶装置を用いて構成されていてもよい。記憶部５２は、ＥＣＵ３ａ〜３ｄ，１０の更新に用いられるリプログラミングデータ（以下、リプロデータという）５２ａが記憶されている。本実施の形態に係る更新処理は、例えばＥＣＵ１０のフラッシュメモリ１３に記憶されたアプリケーションプログラム１３ｂの一部又は全部を、新たなアプリケーションプログラムにて置き換える（上書きする）処理である。リプロツール５０の記憶部５２にダウンロードされて記憶されるリプロデータ５２aは、置き換えられる新たなアプリケーションプログラムそのものである。
【００３９】
ＯＢＤ通信部５３は、車両１のＯＢＤコネクタ５に接続される通信ケーブルを有している。なおこの通信ケーブルは、ＯＢＤ通信部５３に着脱可能な構成であってもよく、ＯＢＤ通信部５３に固定された構成であってもよい。ＯＢＤ通信部５３は、車両１のＯＢＤコネクタ５に通信ケーブルを介して接続された状態において、車両１のゲートウェイ３０との間で通信を行う。ＯＢＤ通信部５３は、処理部５１から与えられた送信用の情報を電気信号に変換して通信ケーブルへ出力することにより情報送信を行うと共に、通信ケーブル上の信号をサンプリングして取得することにより情報受信を行い、受信した情報を処理部５１へ与える。
【００４０】
＜更新処理＞
車両１のＥＣＵ１０の更新処理を行う場合、例えばディーラ又は整備工場等の作業者は、リプロツール５０の記憶部５２に所望のリプロデータ５２ａを記憶する作業を行う。リプロデータ５２ａは、例えば無線又は有線の通信によりサーバ装置などからリプロツール５０へダウンロードされるものであってもよく、また例えばメモリカード又は光ディスク等の記録媒体を介してリプロツール５０に取得されるものであってもよい。リプロデータ５２ａを記憶部５２に記憶した後、作業者は、リプロツール５０の通信ケーブルを車両１のＯＢＤコネクタ５に接続する。これによりリプロツール５０と車両１のゲートウェイ３０との間で認証処理が行われ、認証処理に成功した場合にリプロツール５０とゲートウェイ３０との通信が可能となり、更新処理を行うことが可能な状態となる。
【００４１】
例えば作業者がリプロツール５０に対して更新処理の開始操作を行った場合に、リプロツール５０による更新処理が開始される。リプロツール５０の更新処理部５１ａは、更新処理を行う要求をＯＢＤ通信部５３から車両１のゲートウェイ３０へ送信する。この要求に対してゲートウェイ３０からの更新処理を許可する旨の応答をＯＢＤ通信部５３にて受信した場合、リプロツール５０の更新処理部５１ａは、更新処理を開始する。更新処理部５１ａは、記憶部５２に記憶されたリプロデータ５２ａを読み出して、ＯＢＤ通信部５３からゲートウェイ３０へ送信する。
【００４２】
図５は、リプロツール５０によるリプロデータ５２ａの送信を説明するための模式図である。上述のように更新処理ではＥＣＵ１０のフラッシュメモリ１３に記憶されたアプリケーションプログラム１３ｂが新たなアプリケーションプログラムに置き換えられるため、リプロツール５０はこの置き換えるアプリケーションプログラムをゲートウェイ３０へ送信する必要がある。リプロツール５０の記憶部５２に記憶されるリプロデータ５２ａは、置き換えられるアプリケーションプログラムを所定長（例えば数バイトから数十バイト程度）のデータに分割したものを集めたデータ群である。図５においてはアプリケーションプログラムをＮ個に分割し、リプロデータ１〜Ｎとして図示してある。なお本実施の形態においては、アプリケーションプログラムが予め分割されたものをリプロツール５０の記憶部５２に記憶する構成とするが、これに限るものではなく、リプロツール５０がアプリケーションプログラムを分割する処理を行ってもよい。
【００４３】
リプロツール５０の更新処理部５１ａは、記憶部５２から分割されたリプロデータ（以下、分割データという）を順に読み出してＯＢＤ通信部５３へ与えることにより、分割データをゲートウェイ３０へ順に送信する。このときに更新処理部５１ａは、分割データに対して順序情報を付与する。付与された順序情報は、例えばヘッダ又はフッタ等に格納されて、分割データと共にリプロツール５０からゲートウェイ３０へ送信される。なおリプロツール５０は、分割データの送信に先立って、更新用のアプリケーションプログラムが何個に分割されて送信されるか、即ち図５においてＮの値をゲートウェイ３０へ通知してもよい。
【００４４】
図６は、リプロツール５０が行うリプロデータ５２ａの送信処理の手順を示すフローチャートである。リプロツール５０の更新処理部５１ａは、ＯＢＤ通信部５３からゲートウェイ３０へ更新処理を行う要求を送信する（ステップＳ１）。更新処理部５１ａは、この要求に対してゲートウェイ３０から与えられる応答が更新処理を許可するものであるか否かを判定する（ステップＳ２）。更新処理を許可しない旨の応答である場合（Ｓ２：ＮＯ）、更新処理部５１ａは、更新処理を終了する。
【００４５】
更新処理を行う許可がゲートウェイ３０から与えられた場合（Ｓ２：ＹＥＳ）、更新処理部５１ａは、記憶部５２から分割データの１つを読み出す（ステップＳ３）。更新処理部５１ａは、読み出した分割データに順序情報を付与する（ステップＳ４）。更新処理部５１ａは、順序情報と共に分割データをＯＢＤ通信部５３へ与えることにより、分割データをゲートウェイ３０へ送信する（ステップＳ５）。更新処理部５１ａは、記憶部５２に記憶したリプロデータ５２ａの全ての分割データの送信を終了したか否かを判定する（ステップＳ６）。全ての分割データの送信を終了していない場合（Ｓ６：ＮＯ）、更新処理部５１ａは、ステップＳ３へ処理を戻し、次の分割データの送信を行う。全ての分割データの送信を終了した場合（Ｓ６：ＹＥＳ）、更新処理部５１ａは、更新処理を終了する。
【００４６】
ＯＢＤコネクタ５を介してリプロツール５０から更新処理の要求を与えられたゲートウェイ３０は、例えば車両１のイグニッションスイッチの状態又は各種のセンサの検知結果等に基づいて、更新処理を許可するか否かを判定し、判定結果を応答としてリプロツール５０へ送信する。ゲートウェイ３０は、例えば車両１が走行していると判定される場合に更新処理を許可せず、走行していないと判定される場合に更新処理を許可する構成とすることができる。
【００４７】
更新処理を許可する応答がゲートウェイ３０からリプロツール５０へ送信された場合、上述のようにリプロツール５０はリプロデータ５２ａの分割データの送信を開始する。ゲートウェイ３０の更新処理部３１ｂは、リプロツール５０から送信される分割データをＯＢＤ通信部３５にて受信し、受信した分割データをＲＡＭ３４に記憶する。
【００４８】
またゲートウェイ３０の更新処理部３１ｂは、更新処理の対象が複数の通信線２ａ，２ｂに接続されたＥＣＵ１０である場合、リプロツール５０からの分割データの受信処理と並行して、各通信線２ａ，２ｂの通信状態を判定する処理を行う。本実施の形態において更新処理部３１ｂは、通信状態として各通信線２ａ，２ｂの負荷率を算出し、算出した負荷率に応じて更新処理に利用する通信線２ａ，２ｂの利用率を決定する。更新処理部３１ｂは、所定時間内において通信線２ａ，２ｂが使用されていた（メッセージが送受信された）時間を調べ、所定時間に対する使用時間の割合を負荷率として算出する。
【００４９】
例えば更新処理部３１ｂの算出結果が、通信線２ａの負荷率が２０％であり、通信線２ｂの負荷率が４０％であったとする。また各通信線２ａ，２ｂの負荷率の上限が５０％と設定されているものとする。この場合に更新処理部３１ｂは、通信線２ａの余裕度は５０％−２０％＝３０％であり、通信線２ｂの余裕度は５０％−４０％＝１０％であると判断する。これらの結果から更新処理部３１ｂは、ＲＡＭ１４に蓄積された複数の分割データを、通信線２ａ：通信線２ｂ＝３：１の比率で分配して送信する。即ち更新処理部３１ｂは、ＲＡＭ１４に４つの分割データが蓄積されている場合、このうちの３つを通信線２ａから送信し、１つを通信線２ｂから送信する。
【００５０】
通信線２ａの負荷率がＸ％であり、通信線２ｂの負荷率がＹ％であり、各通信線２ａ，２ｂの負荷率の上限がＱ％に設定されている場合、更新処理部３１ｂは、通信線２ａ：通信線２ｂ＝（Ｑ−Ｘ）：（Ｑ−Ｙ）の比率で分割データを分配する。また例えば、更新対象のＥＣＵが３つの通信線２ａ〜２ｃに接続されており、通信線２ａの負荷率がＸ％であり、通信線２ｂの負荷率がＹ％であり、通信線２ｃの負荷率がＺ％であり、各通信線２ａ〜２ｃの負荷率の上限がＱ％に設定されている場合、更新処理部３１ｂは、通信線２ａ：通信線２ｂ：通信線２ｃ＝（Ｑ−Ｘ）：（Ｑ−Ｙ）：（Ｑ−Ｚ）の比率で分割データを分配すればよい。更新対象のＥＣＵが４つ以上の通信線に接続されている場合も同様であるため、説明は省略する。
【００５１】
図７は、ゲートウェイ３０が行うリプロデータ５２ａの受信処理の手順を示すフローチャートである。ゲートウェイ３０の更新処理部３１ｂは、リプロツール５０から更新処理を行う要求をＯＢＤ通信部３５にて受信したか否かを判定する（ステップＳ１１）。更新処理の要求を受信していない場合（Ｓ１１：ＮＯ）、更新処理部３１ｂは、要求を受信するまで待機する。更新処理の要求を受信した場合（Ｓ１１：ＹＥＳ）、更新処理部３１ｂは、更新処理を許可する旨の応答を、ＯＢＤ通信部３５からリプロツール５０へ送信する（ステップＳ１２）。なお本フローチャートにおいては、更新処理を許可しない場合の処理手順を省略する。
【００５２】
その後、更新処理部３１ｂは、ＯＢＤ通信部３５にてリプロツール５０からリプロデータ５２ａの分割データを受信したか否かを判定する（ステップＳ１３）。分割データを受信していない場合（Ｓ１３：ＮＯ）、更新処理部３１ｂは、分割データを受信するまで待機する。分割データを受信した場合（Ｓ１３：ＹＥＳ）、更新処理部３１ｂは、受信した分割データを（この分割データに付された順序情報と共に）ＲＡＭ３４に記憶する（ステップＳ１４）。更新処理部３１ｂは、リプロデータ５２ａの全ての分割データを受信したか否かを判定する（ステップＳ１５）。全ての分割データを受信していない場合（Ｓ１５：ＮＯ）、更新処理部３１ｂは、ステップＳ１３へ処理を戻し、分割データの受信を継続する。全ての分割データを受信した場合（Ｓ１５：ＹＥＳ）、更新処理部３１ｂは、受信処理を終了する。
【００５３】
図８は、ゲートウェイ３０が行うリプロデータ５２ａの送信処理の手順を示すフローチャートであり、リプロツール５０からの更新処理要求に対する許可応答を行った後、上述の受信処理と並行して行われる処理である。ゲートウェイ３０の更新処理部３１ｂは、更新対象のＥＣＵ１０が接続されている複数の通信線２ａ，２ｂについて所定時間中に通信が行われた時間を調べることにより、各通信線２ａ，２ｂの負荷率を算出する（ステップＳ２１）。更新処理部３１ｂは、予め定められた負荷率の上限を読み出す（ステップＳ２２）。更新処理部３１ｂは、ステップＳ２１にて算出した負荷率とステップＳ２２にて読み出した上限とに基づいて、各通信線２ａ，２ｂの余裕度を算出する（ステップＳ２３）。更新処理部３１ｂは、算出した各通信線２ａ，２ｂの余裕度に基づいて、複数の通信線２ａ，２ｂに対する分割データの分配比率を決定する（ステップＳ２４）。
【００５４】
更新処理部３１ｂは、ＲＡＭ３４に分割データが記憶されているか否かを判定する（ステップＳ２５）。分割データが記憶されていない場合（Ｓ２５：ＮＯ）、更新処理部３１ｂは、リプロツール５０から分割データを受信してＲＡＭ３４に記憶するまで待機する。分割データが記憶されている場合（Ｓ２５：ＹＥＳ）、更新処理部３１ｂは、ＲＡＭ３４から１つの分割データを読み出す（ステップＳ２６）。なおこのときに更新処理部３１ｂは、分割データに付された順序情報を調べ、最も順序が早い分割データを読み出すことが好ましい。更新処理部３１ｂは、ステップＳ２４にて決定した分配比率に基づいて、複数の通信線２ａ，２ｂのうち、今回の分割データの送信先とする通信線２ａ，２ｂを１つ決定する（ステップＳ２７）。更新処理部３１ｂは、ステップＳ２６にて読み出した分割データを、ステップＳ２７にて決定した通信線２ａ，２ｂにて送信する（ステップＳ２８）。
【００５５】
更新処理部３１ｂは、ＥＣＵ１０へ送信すべきリプロデータ５２ａの全ての分割データを送信したか否かを判定する（ステップＳ２９）。全ての分割データを送信していない場合（Ｓ２９：ＮＯ）、更新処理部３１ｂは、ステップＳ２５へ処理を戻し、分割データの送信を継続して行う。全ての分割データを送信した場合（Ｓ２９：ＹＥＳ）、更新処理部３１ｂは、送信処理を終了する。
【００５６】
ゲートウェイ３０により複数の通信線２ａ，２ｂを介して送信されたリプロデータ５２ａの分割データは、この通信線２ａ，２ｂに接続されたＥＣＵ１０にて受信される。分割データを受信したＥＣＵ１０は、受信した分割データをＲＡＭ１４に記憶する。なお、ゲートウェイ３０が順序情報に示される順序で分割データを送信した場合であっても、複数の通信線２ａ，２ｂを介して分割データを受信するＥＣＵ１０では、必ずしも順序情報に示される順序で分割データが受信されるとは限らない。
【００５７】
ＥＣＵ１０の更新処理部１１ａは、全ての分割データを受信した後でリプロデータ５２ａを復元し、フラッシュメモリ１３に記憶されたアプリケーションプログラム１３ｂを、リプロデータ５２ａとして与えられたアプリケーションプログラムに置き換える処理を行うことで更新処理を行うことができる。ただし更新処理部１１ａは、全ての分割データを受信し終える前であっても、受信済みの分割データを用いて部分的にアプリケーションプログラム１３ｂの置き換えを行ってもよく、これにより更新処理を高速化することが可能である。
【００５８】
図９は、ＥＣＵ１０が行うリプロデータ５２ａの受信処理の手順を示すフローチャートである。ＥＣＵ１０の更新処理部１１ａは、通信部１２ａ，１２ｂのいずれかにてゲートウェイ３０からのリプロデータ５２ａの分割データを受信したか否かを判定する（ステップＳ４１）。いずれの通信部１２ａ，１２ｂも分割データを受信していない場合（Ｓ４１：ＮＯ）、更新処理部１１ａは、分割データを受信するまで待機する。分割データを受信した場合（Ｓ４１：ＹＥＳ）、更新処理部１１ａは、受信したデータをＲＡＭ１４に記憶する（ステップＳ４２）。更新処理部１１ａは、リプロデータ５２ａの全ての分割データを受信したか否かを判定する（ステップＳ４３）。全ての分割データを受信していない場合（Ｓ４３：ＮＯ）、更新処理部１１ａは、ステップＳ４１へ処理を戻し、分割データの受信を継続する。全ての分割データを受信した場合（Ｓ４３：ＹＥＳ）、更新処理部１１ａは、受信処理を終了する。
【００５９】
図１０は、ＥＣＵ１０が行うアプリケーションプログラム１３ｂの更新処理の手順を示すフローチャートである。なお本処理では、書き込み対象とする分割データの順序情報を記憶する変数ｎを用いるが、この変数は例えば処理部１１内のレジスタなどを用いて実現され得る。ＥＣＵ１０の更新処理部１１ａは、まず変数ｎの値を１に初期化する（ステップＳ５１）。次いで更新処理部１１ａは、ｎ番目を示す順序情報が付された分割データがＲＡＭ１４に記憶されているか否かを判定する（ステップＳ５２）。ｎ番目の分割データが記憶されていない場合（Ｓ５２：ＮＯ）、更新処理部１１ａは、ｎ番目の分割データがＲＡＭ１４に記憶されるまで待機する。
【００６０】
ｎ番目の分割データがＲＡＭ１４に記憶されている場合（Ｓ５２：ＹＥＳ）、更新処理部１１ａは、フラッシュメモリ１３に記憶されたアプリケーションプログラム１３ｂの一部を、ＲＡＭ１４に記憶されたｎ番目の分割データで置き換える処理を行う（ステップＳ５３）。このときに更新処理部１１ａは、フラッシュメモリ１３からアプリケーションプログラム１３ｂの該当箇所を消去し、消去した個所にｎ番目の分割データを書き込むことで置き換えを行うことができる。ただし更新処理部１１ａは、最初にアプリケーションプログラム１３ｂの全てを消去し、フラッシュメモリ１３の空き領域にｎ番目の分割データを書き込んでもよい。
【００６１】
フラッシュメモリ１３への分割データの書き込み完了後、更新処理部１１ａは、変数ｎの値に１を加算する（ステップＳ５４）。更新処理部１１ａは、変数ｎの値が分割データの数Ｎを超えるか否かを判定する（ステップＳ５５）。変数ｎの値が分割データの数Ｎを超えない場合（Ｓ５５：ＮＯ）、更新処理部１１ａは、ステップＳ５２へ処理を戻し、分割データの書き込みを継続して行う。変数ｎの値が分割データの数Ｎを超えた場合（Ｓ５５：ＹＥＳ）、更新処理部１１ａは、更新処理を終了する。
【００６２】
＜まとめ＞
以上の構成の本実施の形態に係る更新システムは、２つの通信線２ａ、２ｂに接続されたＥＣＵ１０に対して、この２つの通信線２ａ，２ｂに接続されたゲートウェイ３０が更新用のリプロデータ５２ａを送信することによって、ＥＣＵ１０の更新処理を行う。ゲートウェイ３０は、リプロデータ５２ａを複数に分割した分割データをＲＡＭ３４に記憶する。ゲートウェイ３０は、通信線２ａ，２ｂ毎の通信状態を判定し、判定した通信状態に応じて複数の分割データを複数の通信線２ａ，２ｂに適宜に分配し、複数の分割データを複数の通信線２ａ，２ｂを介してＥＣＵ１０へ送信する。これによりゲートウェイ３０は、複数の通信線２ａ，２ｂを有効活用して、ＥＣＵ１０への複数の分割データの送信を効率よく高速に行うことが可能となる。
【００６３】
またゲートウェイ３０は、更新対象となるＥＣＵ１０が接続された複数の通信線２ａ，２ｂについて、通信線毎の負荷率を算出する。ゲートウェイ３０は、例えば低負荷の通信線２ａ，２ｂに対して優先的に分割データを分配するなど、判定した負荷率に応じた分割データの分配を行うことができる。これによりゲートウェイ３０は、複数の通信線２ａ，２ｂを効率よく利用することができる。
【００６４】
また本実施の形態に係る更新システムは、ゲートウェイ３０とは異なるリプロツール５０が、リプロデータ５２ａの分割データを記憶部５２に記憶しておく。更新処理を行う際には、リプロツール５０からゲートウェイ３０へリプロデータ５２ａの分割データが送信され、この分割データがゲートウェイ３０からＥＣＵ１０へ与えられる。これによりゲートウェイ３０は、リプロデータ５２ａを記憶しておく必要がなく、リプロツール５０から与えられたリプロデータ５２ａの分割データをＲＡＭ３４に一時的に記憶しておけばよい。
【００６５】
またリプロツール５０は、リプロデータ５２ａを分割した分割データに対して、これらを復元するための順序情報を付してゲートウェイ３０へ送信する。ゲートウェイ３０は、リプロツール５０から分割データを受信した場合、順序情報と共に分割データをＲＡＭ３４に記憶しておく。またゲートウェイ３０は、順序情報が付された分割データをＥＣＵ１０に対して送信する。これにより、複数の通信線２ａ，２ｂを介してリプロデータ５２ａの分割データを受信したＥＣＵ１０は、分割データの順序と受信順序とが異なる場合であっても、複数の分割データから元のリプロデータ５２ａを復元することができる。
【００６６】
またＥＣＵ１０は、自身の処理に用いるアプリケーションプログラム１３ｂを記憶したフラッシュメモリ１３とは別に、複数の通信線２ａ，２ｂを介してゲートウェイ３０から受信したリプロデータ５２ａの分割データを一時的に記憶するＲＡＭ１４を有する。ＥＣＵ１０は、分割データに付された順序情報に基づいて、ＲＡＭ１４に記憶された分割データを用いてフラッシュメモリ１３に記憶されたアプリケーションプログラム１３ｂを更新する処理を行う。これにより、複数の通信線２ａ，２ｂを介して順不同に受信される分割データを用いて、ＥＣＵ１０がアプリケーションプログラム１３ｂの更新処理を確実に行うことができる。
【００６７】
なお本実施の形態においては、更新対象のＥＣＵ１０に対してゲートウェイ３０がリプロデータ５２ａの分割データを送信する構成としたが、これに限るものではない。例えば他のＥＣＵ３ａ〜３ｄがリプロデータ５２ａの分割データをＥＣＵ１０に対して送信する構成としてもよく、更には車両１に搭載されたカーナビゲーション装置などの他の装置が分割データをＥＣＵ１０に送信する構成としてもよい。また更新対象の装置をＥＣＵ１０としたが、これに限るものではなく、車両１に搭載されたＥＣＵ１０以外の種々の装置が更新処理の対象となり得る。またゲートウェイ３０へリプロデータ５２ａの分割データを送信する装置をリプロツール５０としたが、これに限るものではなく、例えばノートパソコン、スマートフォン又はタブレット型端末等のような汎用の可搬型装置を用いてもよく、車両１のディーラ又は整備工場等に設置された可搬型ではない据置型の装置であってもよい。
【００６８】
また本実施の形態においては、ＥＣＵ１０のフラッシュメモリ１３に記憶されたアプリケーションプログラム１３ｂを更新する構成としたが、これに限るものではない。例えばＥＣＵ１０のフラッシュメモリ１３に記憶されたデータ、例えばＥＣＵ１０の動作に係る設定値などのデータを更新する構成としてもよく、アプリケーションプログラム１３ｂとデータとを共に更新する構成であってもよい。またゲートウェイ３０及びＥＣＵ１０の間で２本の通信線２ａ，２ｂを介した通信を行う構成としたが、これに限るものではなく、３本以上の通信線を介して通信を行う構成としてもよい。
【００６９】
またゲートウェイ３０の更新処理部３１ｂは、各通信線２ａ，２ｂの負荷率を算出し、この負荷率に基づいて分割データを複数の通信線２ａ，２ｂに分配する構成としたが、これに限るものではない。更新処理部３１ｂは、例えば各通信線２ａ，２ｂに対して送信されるメッセージに付された優先度を調べ、優先度が高いメッセージが多く送信される通信線２ａ，２ｂに対する分割データの分配比率を低くするなど、負荷率以外の通信状態に基づいて分割データを分配する構成としてよい。
【００７０】
また本実施の形態においては、車両１に搭載された通信システムにて更新処理を行う構成としたが、これに限るものではなく、車載以外の通信システムにて更新処理を行う構成であってもよい。
【００７１】
また車両１のＯＢＤコネクタ５に通信ケーブルを接続することによってゲートウェイ３０とリプロツール５０とが通信を行う構成としたが、これに限るものではない。リプロツール５０と車両１との接続はＯＢＤ以外の規格によるものであってもよい。また更に、以下の変形例に示すように、ゲートウェイ３０とリプロツール５０とが有線接続されるのではなく、無線接続される構成であってもよい。
【００７２】
（変形例）
図１１は、変形例に係る更新システムの構成例を示す模式図である。変形例に係る更新システムは、ゲートウェイ３０が通信線６を介して無線通信装置１０５に接続されている。無線通信装置１０５は、例えば携帯電話通信網又は無線ＬＡＮ（Local Area Network）等の無線ネットワークを介して、リプロツール１５０との間で無線通信を行うことができる。変形例に係るリプロツール１５０は、図４に示したリプロツール５０と略同じ構成であるが、ＯＢＤ通信部５３に代えて無線通信部を備えており、無線ネットワークを介して車両１のゲートウェイ３０との間で無線通信を行うことができる。これにより変形例に係る更新システムでは、リプロデータ５２ａの分割データをリプロツール５０が無線通信により車両１の無線通信装置１０５へ送信し、無線通信装置１０５が受信した分割データをゲートウェイ３０へ送信することができる。
【００７３】
なお変形例に係る更新システムでは、ゲートウェイ３０が無線通信装置１０５を利用してリプロツール１５０との間で無線通信を行う構成としたが、無線通信の相手はリプロツール１５０に限らない。例えばゲートウェイ３０は、リプロツール１５０を介すことなく、リプロデータ５２ａを配信するサーバ装置などと直接的に通信を行ってリプロデータ５２ａを取得してもよい。
【符号の説明】
【００７４】
１  車両
２ａ〜２ｃ  通信線
３ａ〜３ｄ  ＥＣＵ
５  ＯＢＤコネクタ
６  通信線
１０  ＥＣＵ（車載通信装置）
１１  処理部
１１ａ  更新処理部
１２ａ，１２ｂ  通信部
１３  フラッシュメモリ（記憶部、第１記憶部）
１３ａ  ブートローダプログラム
１３ｂ  アプリケーションプログラム
１４  ＲＡＭ（第２記憶部）
３０  ゲートウェイ（車載更新装置）
３１  処理部
３１ａ  中継処理部
３１ｂ  更新処理部（通信状態判定部、送信処理部、記憶処理部）
３２ａ〜３２ｃ  通信部
３３  フラッシュメモリ
３３ａ  ブートローダプログラム
３３ｂ  アプリケーションプログラム
３４  ＲＡＭ（記憶部）
３５  ＯＢＤ通信部（通信部）
５０  リプロツール（記憶装置）
５１  処理部
５１ａ  更新処理部
５２  記憶部
５２ａ  リプロデータ
５３  ＯＢＤ通信部
１０５  無線通信装置
１５０  リプロツール
【図１】
2019023931.tif 000003
【図２】
2019023931.tif 000004
【図３】
2019023931.tif 000005
【図４】
2019023931.tif 000006
【図５】
2019023931.tif 000007
【図６】
2019023931.tif 000008
【図７】
2019023931.tif 000009
【図８】
2019023931.tif 000010
【図９】
2019023931.tif 000011
【図１０】
2019023931.tif 000012
【図１１】
2019023931.tif 000013