(57)【要約】【課題】リプログの中断等によってプログラムの一部が破壊された場合でもプログラムの書き換えを実施可能な車載装置を提供することを目的とする。【解決手段】リプログの対象外となるブロックＡに簡易通信プログラムを格納し、リプログの対象となるブロックＢ，Ｃに正規通信プログラムを格納する。通常時には、正規通信プログラムに基づく正規通信を利用し、リプログ手順を実行する時には、簡易プログラムに基づく簡易通信を利用する。リプログ処理中の電源断等により正規通信プログラムが破壊された場合でも、簡易通信プログラムが破壊されることはないため、簡易通信によってリプログ処理を実行することができる。しかも、簡易通信プログラムは、正規通信プログラムと比較して、プログラムサイズが小さい（例えば１／４程度）ため、小容量ＥＣＵ２メモリサイズを小さく抑えることができる。【選択図】図３
2013192092.tif 000002
【特許請求の範囲】
【請求項１】
送信元の物理アドレス、宛先の物理アドレス、上位プロトコルの種類を指定するための領域を少なくとも有した通信フレームを、車載ネットワークを介して送受信するフレーム送受信手段（２１）と、
予め設定されたブロック単位で記憶内容の書き換えが実行されると共に、前記フレーム送受信手段が送受信する通信フレームを用いて、ＴＣＰ（Transmission Control Protocol ）／ＩＰ（Internet Protocol ）を前提として構成された第１のプロトコルに従った正規通信を実現するためのプログラムである正規通信プログラム、及び前記フレーム送受信手段が送受信する通信フレームを用いて、ＴＣＰ／ＩＰを省略して構成された第２のプロトコルに従う簡易通信を実現するためのプログラムである簡易通信プログラムが、互いに異なった前記ブロックに記憶される記憶手段（２２）と、
前記記憶手段に記憶されたプログラムを書き換えるリプログ処理を、前記簡易通信を利用して実行するリプログ実行手段（２２，Ｓ２１０〜Ｓ２５０）と、
を備えることを特徴とする車載装置。
【請求項２】
前記簡易通信プログラムは、前記リプログ処理の対象外となるブロックに記憶されていることを特徴とする車載装置。
【請求項３】
前記リプログ実行手段は、前記正規通信により他装置からの指令を受信することによって起動することを特徴とする請求項１又は請求項２に記載の車載装置。
【請求項４】
前記通信フレームは、イーサネット（登録商標）フレームであることを特徴とする請求項１乃至請求項３のいずれか１項に記載の車載装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載ネットワークを介してプログラムを書き換え可能な車載装置に関する。
【背景技術】
【０００２】
車載装置である電子制御装置（Electronic Control Unit ；以下、ＥＣＵとも称する。）では、制御プログラム等を記憶するメモリとして、プログラムのバージョンアップ等に対応して記憶内容の書き換えが可能なフラッシュメモリ等が使用されている。フラッシュメモリの記憶領域は、複数のブロック（セクタともいう）に分割されており、そのブロック毎にデータの書き換えを実行するように構成されている。
【０００３】
また、ＥＣＵのプログラムの書き換え（以下「リプログ」という）は、車両に備えられたコネクタにテスタを接続し、このテスタが車載ネットワークを介してＥＣＵと通信を行うことによって実行される。
【０００４】
そして、リプログの対象には、通常、車載ネットワークを介した通信を実行するための通信プログラム自体も含まれているため、電源断によってリプログ処理が中断される等して通信プログラムが破壊されてしまうと、リプログ処理を実行することができなくなってしまう。これに対して、複数ブロックに、同一の通信プログラムを格納し、リプログ時には、書き換え対象のブロックとは異なるブロックに格納された通信プログラムを用いて通信を実行することにより、いずれかのプログラムが破壊されたとしても、直ちに通信不能となることがないようにする技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２００３−３３７７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、近年、診断装置やリプログ装置等のテスタとＥＣＵとの通信にイーサネット（登録商標）を使用することが検討されており、その際に使用する通信プロトコルとして、ＴＣＰ（Transmission Control Protocol ）／ＩＰ（Internet Protocol ）を前提とした規格（つまり、ＴＣＰデータの内容を規定する規格）であるＤｏＩＰ（Diagnostics on Internet Protocol）を採用することが考えられている。
【０００７】
しかし、ＴＣＰ／ＩＰは汎用的なプロトコルであり様々な機能を有しているため、そのプログラムの規模は、車載ネットワークで多用されているＣＡＮプロトコル等と比較して非常に大きなもの（２〜４倍程度）となる。
【０００８】
つまり、ＣＡＮプロトコルを用いた通信プログラムでは、フラッシュメモリの一つのブロックを専有するだけで済んでいたものが、ＴＣＰ／ＩＰを用いた通信プログラムでは、２〜４個ものブロックを専有してしまうことになる。従って、ＤｏＩＰのようなプロトコルが採用された車載ネットワークでは、ＥＣＵのメモリ容量に制約のある場合、特許文献１に記載の技術を適用することが困難になるという問題があった。
【０００９】
本発明は、上記問題点を解決するために、リプログの中断等によってプログラムの一部が破壊された場合でもプログラムの書き換えを実施可能な車載装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の車載装置では、フレーム送受信手段が、送信元の物理アドレス、宛先の物理アドレス、上位プロトコルの種類を指定するための領域を少なくとも有した通信フレームを、車載ネットワークを介して送受信する。
【００１１】
また、記憶手段は、ブロック単位で記憶内容の書き換えが実行されるように構成されていると共に、正規通信プログラム及び簡易通信プログラムが互いに異なったブロックに記憶されている。但し、正規通信プログラムとは、フレーム送受信手段が送受信する通信フレームを用いて、ＴＣＰ／ＩＰを前提として構成された第１のプロトコルに従う正規通信を実現するためのプログラムであり、また、簡易通信プログラムとは、フレーム送受信手段が送受信する通信フレームを用いて、ＴＣＰ／ＩＰを省略して構成された第２のプロトコルに従う簡易通信を実現するためのプログラムである。
【００１２】
そして、リプログ実行手段は、記憶手段に記憶されたプログラムを書き換えるリプログ処理を、簡易通信を利用して実行する。
なお、簡易通信プログラムは、正規通信プログラムと比較して、ＴＣＰ／ＩＰが省略されている分、プログラムサイズが小さくなり、また、プログラムの書き換え専用に使用することによって、バージョンアップ等の必要がない簡易なものとすることができる。
【００１３】
つまり、本発明によれば、正規通信プログラム書き換え中の電源断等により正規通信プログラムが破壊されたとしても、簡易通信プログラムが破壊されることがないため、簡易通信によってプログラムの書き換えを実行することができ、しかも、正規通信プログラムを二つ備える場合と比較して、プログラムサイズが抑制されるため、メモリ容量に制約がある場合でも適用することができる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態の車載通信システム及び車載通信システムに接続して使用されるテスタの構成を示すブロック図である。
【図２】フレームフォーマットの概要を示す説明図であり、（ａ）が正規通信、（ｂ）が簡易通信で使用するフォーマットである。
【図３】フラッシュメモリのブロック構成と、格納されるプログラムの配置を示す説明図であり、（ａ）がフラッシュメモリの容量が少ない場合、（ｂ）がフラッシュメモリの容量が多い場合である。
【図４】テスタが保持するリプログ情報テーブルの内容を示す説明図である。
【図５】テスタが実行するリプログ処理の内容を示すフローチャートである。
【図６】小容量ＥＣＵにおける受信処理の内容を示すフローチャートである。
【図７】簡易プロトコルによるリプログ手順の内容を示すシーケンス図である。
【図８】ＴＣＰ／ＩＰによるリプログ手順の内容を示すシーケンス図である。
【図９】第２実施形態の車載通信システム及び車載通信システムとテスタとの接続状態を示す説明図であり、（ａ）が全体構成図、（ｂ）が代理サーバの構成を示すブロック図である。
【図１０】テスタが実行するリプログ処理の内容を示すフローチャートである。
【図１１】代理サーバが実行する外部フレーム受信処理の内容を示すフローチャートである。
【図１２】代理サーバが簡易プロトコルによるリプログ手順を実行する場合のシーケンス図である。
【発明を実施するための形態】
【００１５】
以下に本発明の実施形態を図面と共に説明する。
［第１実施形態］
＜全体構成＞
本発明が適用された車載通信システム１は、図１に示すように、車両の各部に設置された車載装置である複数の電子制御ユニット（ＥＣＵ）２と、ＥＣＵ２を相互に接続して車載ネットワークを構成する基幹バス３と、ＥＣＵ２を介した車両の状態の診断や、ＥＣＵ２のプログラムの書き換え（リプログ）等を実行するテスタ７を接続するためのコネクタ４とを備えている。
【００１６】
なお、基幹バス３はイーサネットからなり、基幹バス３上では、図２に示すように、ノードとなる装置（ここではＥＣＵ２やテスタ７）の物理アドレスを示す宛先ＭＡＣ（Media Access Control）アドレス，送信元ＭＡＣアドレス、及び上位プロトコルの種類を示すフレームタイプによって構成されたヘッダ部を有する周知のイーサネットフレームを用いてデータが送受信される。
【００１７】
＜ＥＣＵ＞
図１に戻り、ＥＣＵ２は、基幹バス３を介してイーサネットフレームを送受信するトランシーバ２１と、トランシーバ２１を介して送受信されるイーサネットフレームのイーサネットデータ部に示された情報に基づいて各種処理を実行する処理実行部２２とを備えている。
【００１８】
処理実行部２２は、ＣＰＵ，メモリを少なくとも備えた周知のマイクロコンピュータからなる。そして、プログラムを格納するためのメモリとして、データの書き換えが可能なフラッシュメモリを少なくとも備えている。このフラッシュメモリは、データ（プログラム）の書き換えを、所定データサイズ（例えば６４Ｋバイト）からなるブロック単位で実行するように構成された周知のものである。
【００１９】
なお、ＥＣＵ２には、割り当てられた機能が少なくアプリケーションプログラムの格納エリアが１ブロックに収まるような場合には、小容量のフラッシュメモリ（例えば２５６ｋバイト）が設けられ、割り当てられた機能が多くアプリケーションプログラムの格納エリアとして複数ブロックが必要である場合には、大容量のフラッシュメモリ（例えば５１２ｋバイト以上）が設けられる。
【００２０】
以下では、小容量のフラッシュメモリを搭載するＥＣＵ２を、小容量ＥＣＵ２ａ、大容量のフラッシュメモリを搭載するＥＣＵ２を大容量ＥＣＵ２ｂとも称する。
そして、小容量ＥＣＵ２ａに搭載されたフラッシュメモリは、図３（ａ）に示すように、例えば、４個のブロックＡ〜Ｄで構成されている。このうち、ブロックＡには、当該ＥＣＵ２を起動するためのブートプログラム、及びイーサネットフレームを使用する簡易プロトコルに従った通信（以下「簡易通信」という）を実現するためのプログラムである簡易通信プログラムが格納されている。また、ブロックＢ，Ｃには、イーサネットフレームを使用する周知のＴＣＰ（Transmission Control Protocol ）／ＩＰ（Internet Protocol ）及びＴＣＰ／ＩＰを前提として構成されたＤｏＩＰ（Diagnostics on Internet Protocol）に従った通信（以下「正規通信」という）を実現するためのプログラムである正規通信プログラムが格納されている。更に、ブロックＤには、診断処理，リプログ処理を含む各種処理を実現するためのアプリケーションプログラムが格納されている。
【００２１】
一方、大容量ＥＣＵ２ｂに搭載されたフラッシュメモリは、図３（ｂ）に示すように、例えば、８個のブロックＡ〜Ｈで構成されている。このうち、ブロックＡには、ブートプログラム、及び後述する二つの通信プログラムのいずれを使用するかを判定するためのプログラムが格納される。また、ブロックＢ，Ｃには、正規通信を実現するための第１通信プログラム、ブロックＤ，Ｅには、ブロックＢ，Ｃと全く同じ内容の第２通信プログラム、ブロックＦ〜Ｈには、アプリケーションプログラムが格納されている。
【００２２】
そして、いずれのＥＣＵ２も、ブロックＡはリプログ処理の対象外となるように設定されている。
つまり、図１に示すように、小容量ＥＣＵ２ａの処理実行部２２は、イーサネットフレーム上で正規通信を実現するための処理を実行する正規通信処理部２２１と、同じくイーサネットフレーム上で簡易通信を実現するための処理を実行する簡易通信処理部２２２と、いずれかの通信処理部２２１，２２２を用いて各種アプリケーションを実現するための処理を実行するアプリケーション実行部２２３とで構成され、一方、大容量ＥＣＵ２ｂの処理実行部は、正規通信処理部２２１とアプリケーション実行部２２３とで構成される。但し、正規通信プログラム，第１通信プログラム，第２通信プログラムが、ＣＰＵを正規通信処理部２２１としてＣＰＵを機能させるプログラムとなり、簡易通信プログラムが、ＣＰＵを簡易通信処理部２２２として機能させるプログラムとなり、アプリケーションプログラムが、ＣＰＵをアプリケーション実行部２２３として機能させるプログラムとなる。
【００２３】
また、小容量ＥＣＵ２ａでは、通信に使用するプロトコルによって通信モードが切り替わり、以下では、ＴＣＰ／ＩＰ（ＤｏＩＰ）を使用する通信モードを正規通信モード、簡易プロトコルを使用する通信モードを簡易通信モードと称する。
【００２４】
<<ＴＣＰ／ＩＰ（ＤｏＩＰ）概要>>
正規通信で使用する通信フレームは、図２（ａ）に示すように、周知のＴＣＰ／ＩＰフレームを前提として、ＴＣＰデータ部に、ＤｏＩＰは、故障診断に用いられる通信プロトコルであるＤｏＩＰ（ＩＳＯ１３４００規格）のフレームが挿入された構造を有している。
【００２５】
ＤｏＩＰフレームは、ＤｏＩＰヘッダ部と、ＤｏＩＰデータ部からなる。このうち、ＤｏＩＰヘッダ部では、ＤｏＩＰデータ部の種類を指定するペイロードタイプからなり、ＤｏＩＰデータ部は、ロジカルアドレスによって送信元アドレス及び宛先アドレスを設定するためのロジカルアドレス情報と、要求メッセージ又は応答メッセージのいずれかからなるダイアグメッセージデータとで構成されている。
【００２６】
つまり、ＤｏＩＰでは、送信元及び宛先をロジカルアドレスによって指定し、他のノードに対する指令を、要求メッセージを用いて送信し、要求メッセージを受信したノードは、要求メッセージの内容に応じた応答メッセージを返送するように構成されている。
【００２７】
<<簡易プロトコル概要>>
簡易通信で使用する通信フレーム（簡易フレーム）は、図２（ｂ）に示すように、ＴＣＰ／ＩＰに関わるＩＰヘッダ部、ＴＣＰヘッダ部、ＤｏＩＰヘッダ部、ロジカルアドレス情報（即ち、図２（ａ）中斜線で示した部分）を省略し、ＤｏＩＰフレームのロジカルアドレスをＭＡＣアドレスと１対１に対応づけ、ＤｏＩＰデータ部のダイアグメッセージデータに相当する内容を、イーサネットデータ部に挿入した構成を有している。
【００２８】
つまり、簡易プロトコルでは、送信元及び宛先をロジカルアドレスに対応づけられたＭＡＣアドレスによって指定し、ＤｏＩＰと同様の要求メッセージ、応答メッセージによって通信を行うように構成されている。
【００２９】
＜テスタ＞
テスタ７は、図１に示すように、コネクタ４を介して車載ネットワーク（基幹バス３）に接続され、イーサネットフレームを送受信するトランシーバ７１と、ＥＣＵ２のプログラムの書き換え時に用いるリプログデータを記憶するリプログデータ記憶部７２と、ユーザが各種指令を入力する操作をしたり、トランシーバ７１を介して取得した情報や、ユーザが行うべき操作手順等をユーザに提示したりするための入出力部７３と、ＣＰＵ，メモリを少なくとも備えた周知のマイクロコンピュータからなり、入出力部７３から入力される指令に従い、トランシーバ７１を介して送受信されるデータに基づいて診断処理やリプログ処理等を実行する処理実行部７４を備えている。
【００３０】
なお、処理実行部７４のメモリには、故障診断やリプログ処理を実行するためのプログラムの他、図４に示すように、ＤｏＩＰで使用するロジカルアドレスと、ロジカルアドレスから特定されるＥＣＵ２に割り当てられた物理アドレス（ＭＡＣアドレス）や、そのＥＣＵ２に対してリプログ処理を実行する時に使用する通信プロトコルとの対応関係を示すリプログ情報テーブルが少なくとも格納されている。
【００３１】
＜テスタ側リプログ処理＞
ここで、テスタ７の処理実行部７４が実行するリプログ処理の内容を、図５に示すフローチャートに沿って説明する。
【００３２】
なお、本処理は、リプログデータ記憶部７２にリプログデータが格納された状態で、入出力部７３を介して、リプログ処理の実行を要求する指令が入力されると起動する。
本処理が起動すると、リプログ処理の対象となるＥＣＵ２（以下「対象ＥＣＵ」という）やフラッシュメモリのブロック（以下「対象ブロック」という）を指定する指定情報や、使用するリプログデータのファイル名等、リプログ処理に必要な指示や情報を受け付ける処理を実行する（Ｓ１１０）。
【００３３】
指示や情報を受け付けると、リプログ情報テーブルに基づき、受け付けた対象ＥＣＵに適用する通信プロトコルを特定し（Ｓ１２０）、特定された通信プロトコルは簡易プロトコルであるか否かを判断する（Ｓ１３０）。
【００３４】
特定されたプロトコルが簡易プロトコルであれば、簡易プロトコルによるリプログ手順（後述する）を実行して（Ｓ１４０）、本処理を終了し、一方、特定されたプロトコルがＴＣＰ／ＩＰであれば、ＴＣＰ／ＩＰによるリプログ手順（後述する）を実行して（Ｓ１５０）、本処理を終了する。
【００３５】
＜ＥＣＵ受信処理＞
小容量ＥＣＵ２ａの処理実行部２２が実行するＥＣＵ受信処理の内容を、図６に示すフローチャートによって説明する。
【００３６】
本処理は、トランシーバ２１にて自ＥＣＵ宛のイーサネットフレームが受信されると起動する。なお、初期状態ではＥＣＵ２ａの通信モードは正規通信モードに設定されているものとする。
【００３７】
本処理が起動すると、ＥＣＵ２ａの通信モードが簡易通信モードであるか否かを判断する（Ｓ２１０）。
通信モードが簡易通信モードではなく正規通信モードであれば、受信したフレームがＩＰフレームであるか否かを、イーサネットヘッダ部のフレームタイプの設定に従って判断し（Ｓ２２０）、受信したフレームがＩＰフレームであれば、ＴＣＰ／ＩＰに従った通信制御を行うと共に、ＴＣＰデータ部に示された内容（コマンドやデータ）に従った処理を実行して（Ｓ２３０）、本処理を終了する。なお、Ｓ２３０で実行する処理には、ＤｏＩＰ要求メッセージ，ＤｏＩＰ応答メッセージを扱う処理が少なくとも含まれており、通信モードを正規通信モードから簡易通信モードに切り換える処理等も含まれている。
【００３８】
一方、ＥＣＵ２ａの通信モードが簡易通信モードであれば、受信したフレームが簡易フレームであるか否かを判断し（Ｓ２４０）、受信したフレームが簡易フレームであれば、簡易プロトコルに従った通信制御を行うと共に、イーサネットデータ部に示された内容に従った処理を実行して（Ｓ２５０）本処理を終了する。なお、Ｓ２５０にて実行する処理には、通信モードを簡易通信モードから正規通信モードに切り換える処理、及び、簡易通信によりリプログデータを受信する処理等が少なくとも含まれている。
【００３９】
また、通信モードが正規通信モードの時に簡易フレームを受信した場合（Ｓ２２０−ＮＯ）又は通信モードが簡易通信モードの時にＩＰフレームを受信した場合（Ｓ２４０−ＮＯ）は、その受信したフレームを破棄して（Ｓ２６０）本処理を終了する。
【００４０】
なお、大容量ＥＣＵ２ｂでは、簡易通信モードが存在しないため、Ｓ２２０，Ｓ２３０，Ｓ２６０の処理のみを実行する。但し、この場合のＳ２２０で実行する処理には、Ｓ２５０での処理に相当する処理を、ＤｏＩＰ要求フレーム、ＤｏＩＰ応答フレームを用いて実行する処理も含まれることになる。
【００４１】
＜動作＞
このように構成された車載通信システム１では、コネクタ４に接続されたテスタ７において、リプログ処理に必要な指示や情報が入力されると、入力情報の一つである対象ＥＣＵ２のロジカルアドレスに基づき、対象ＥＣＵ２のＭＡＣアドレスとリプログ処理に使用するプロトコル（即ち、対象ＥＣＵ２が小容量ＥＣＵ２ａであるか大容量ＥＣＵ２ｂであるか）が、リプログ情報テーブルを用いて特定される。
【００４２】
<<小容量ＥＣＵに対するリプログ手順>>
ここで、対象ＥＣＵ２が小容量ＥＣＵ２ａである場合のリプログ手順を、図７に示すシーケンス図に従って説明する。
【００４３】
まず、テスタ７は、対象ＥＣＵ２に対して、フラッシュメモリの内容を書き換えるために用意されたセッションであるプログラミングセッションへの移行を要求するＤｏＩＰ要求メッセージを送信する。これを受信した対象ＥＣＵ２は、プログラミングセッションに移行すると共に、テスタ７に対して要求を受け付けたことを示すＤｏＩＰ応答メッセージを返送する。
【００４４】
これに続けて、テスタ７は、対象ＥＣＵ２に対してセキュリティ解除を要求するＤｏＩＰ要求メッセージを送信する。これを受信した対象ＥＣＵ２は、要求メッセージに示された内容（例えば、ＩＤコードやパスワード等）に従って、認証処理等を実行し、認証に成功した場合には、テスタ７に対して要求を受け付けたことを示すＤｏＩＰ応答メッセージを返送する。
【００４５】
セキュリティ解除を確認したテスタは、通信プロトコルをＴＣＰ／ＩＰから簡易プロトコルへ移行させることを要求するＤｏＩＰ要求メッセージを送信する。これを受信した対象ＥＣＵ２は、通信モードを簡易通信モードに移行させると共に、テスタ７に対して要求を受け付けたことを示すＤｏＩＰ応答メッセージを返送する。
【００４６】
以後、テスタ７と対象ＥＣＵ２との間で簡易プロトコルによる通信（簡易フレームの送受信）により、リプログデータの転送、転送されたリプログデータによるフラッシュメモリの書き換え指示、簡易プロトコルから正規プロトコルへの復帰要求等が実行される。なお、対象ＥＣＵ２は、書き換え指示を受けると、リプログルーチンを起動して、対象ブロックの消去及び受信したリプログデータの書き込みを実行する。
【００４７】
通信モードが正規通信モードに復帰すると、図示しないが、ＤｏＩＰ要求メッセージ／応答メッセージを用いて、セキュリティの回復、プログラミングセッションの終了を実行する。
【００４８】
なお、ここでは、書き換え指示を簡易通信の中で行うものとしたが、正規通信に復帰してから行うようにしてもよい。
<<大容量ＥＣＵに対するリプログ手順>>
次に、対象ＥＣＵ２が大容量ＥＣＵ２ｂである場合の手順を、図８に示すシーケンス図に従って説明する。
【００４９】
まず、先に説明した小容量ＥＣＵ２ａの場合と同様の手順で、プログラミングセッションへの移行、セキュリティ解除を実行する。
これに続けて、テスタ７は、対象ＥＣＵ２に対して、ダウンロードの開始を要求するＤｏＩＰメッセージを送信する。これを受信した対象ＥＣＵ２は、転送されてくるリプログデータを一時的に格納しておくメモリ領域を確保すると共に、要求を受け付けたことを示すＤｏＩＰ応答メッセージを返送する。
【００５０】
その後、テスタ７が転送データ（リプログデータ）を載せたＤｏＩＰ要求メッセージを送信し、対象ＥＣＵ２が正常に受信したことを示すＤｏＩＰ応答メッセージを返送する手順を、全てのデータを転送するのに必要な回数だけ繰り返す（図では１回だけ示す）。
【００５１】
全データの転送が終了すると、テスタ７は、対象ＥＣＵ２に対しダウンロードを終了することを示すＤｏＩＰ要求メッセージを送信し、これに対して対象ＥＣＵは、ＤｏＩＰ応答メッセージを返送する。
【００５２】
そして、テスタ７は、フラッシュメモリ書き換えの実行を指示するＤｏＩＰ要求メッセージを送信する。これを受信した対象ＥＣＵ２は、要求を受け付けたことを示すＤｏＩＰ応答メッセージを返送すると共に、リプログルーチンを起動して、対象ブロックの消去及びリプログデータの書き込みを実行する。
【００５３】
その後、先に説明した小容量ＥＣＵ２ａの場合と同様に、ＤｏＩＰ要求メッセージ／応答メッセージを用いて、セキュリティの回復、プログラミングセッションの終了を実行する。
【００５４】
＜効果＞
以上説明したように、小容量ＥＣＵ２ａでは、リプログ処理の対象外となるブロックＡに格納された簡易通信プログラムを用いて、テスタ７との間のリプログ手順を実行しているため、リプログ処理中の電源断等により正規通信プログラムが破壊された場合でも、簡易通信によってリプログ手順を実行することができる。
【００５５】
しかも、簡易通信プログラムは、正規通信プログラムと比較して、プログラムサイズが小さい（例えば１／４程度）ため、小容量ＥＣＵ２ａのプログラムを格納するフラッシュメモリのメモリサイズを小さく抑えることができる。
【００５６】
また、簡易通信に使用する通信フレームでは、正規通信に使用する通信フレームと比較してヘッダ情報が大幅に省略されるため、リプログデータを効率良く転送することができ、リプログ処理に要する時間を短縮することができる。
【００５７】
［第２実施形態］
第２実施形態について説明する。
＜構成＞
本実施形態の車載通信システム１は、図９（ａ）に示すように、コネクタ４が代理サーバ５を介して基幹バス３（車載ネットワーク）に接続されている点が異なっている。
【００５８】
また、テスタ７は、コネクタ４に直接接続してもよいが、ここでは、ＴＣＰ／ＩＰを用いる外部ネットワーク（例えば、インターネット）８を介して接続されている。
なお、ＥＣＵ２及びテスタ７の装置構成は第１実施形態と同様であるため説明を省略する。
【００５９】
＜代理サーバ＞
代理サーバ５は、図９（ｂ）に示すように、コネクタ４を介してイーサネットフレームを送受信するトランシーバ５１と、基幹バス３を介してイーサネットフレームを送受信するトランシーバ５２と、トランシーバ５１，５２により送受信されるデータに基づいて各種処理を実行する処理実行部５３とを備えている。
【００６０】
処理実行部５３は、トランシーバ５１を介して送受信されるイーサネットフレーム上で正規通信を実行する正規通信処理部５３１と、トランシーバ５２を介して送受信されるイーサネットフレーム上で正規通信を実行する正規通信処理部５３２と、トランシーバ５２を介して送受信されるイーサネットフレーム上で簡易通信を実行する簡易通信処理部５３３と、通信処理部５３１〜５３３を用いて各種アプリケーションを実行するアプリケーション実行部５３４とで構成されている。但し、処理実行部５３は、ＣＰＵ，メモリを少なくとも備えた周知のマイクロコンピュータからなり、処理実行部５３を構成する各部は、ＣＰＵが実行する処理によって実現される。
【００６１】
＜ツール側リプログ処理＞
テスタ７の処理実行部７４が実行するリプログ処理の内容を、図１０に示すフローチャートに沿って説明する。
【００６２】
但し、図５を用いて先に説明した処理と比較して、Ｓ１４０の処理がＳ１６０に置き換わっている点が異なるだけであるため、この相違する部分を中心に説明する。
即ち、対象ＥＣＵに適用するプロトコルが簡易プロトコルであると判断された場合（Ｓ１３０−ＹＥＳ）、ＴＣＰ／ＩＰによる代理リプログ手順（後述する）を実行して（Ｓ１６０）、本処理を終了する。
【００６３】
＜代理サーバ受信処理＞
次に、代理サーバ５の処理実行部５３が実行する外部フレーム受信処理の内容を、図１１に示すフローチャートに沿って説明する。
【００６４】
本処理は、トランシーバ５１がコネクタ４を介して外部からＴＣＰ／ＩＰフレームを受信すると起動する。
本処理が起動すると、受信フレームのＩＰアドレスが自ノード（代理サーバ５）宛であるか否かを判断する（Ｓ３１０）。
【００６５】
受信フレームのＩＰアドレスが自ノード宛ではなくＥＣＵ２宛であれば、受信フレームを中継（即ち、正規通信によりトランシーバ５２を介して送信）して（Ｓ３２０）、本処理を終了する。
【００６６】
一方、受信フレームのＩＰアドレスが自ノード宛であれば、テスタとの間で、ＴＣＰデータ部の内容に基づき、ＴＣＰ／ＩＰに従った処理を実行して（Ｓ３３０）、本処理を終了する。
【００６７】
なお、Ｓ３３０で実行する処理には、ＤｏＩＰ要求メッセージ，ＤｏＩＰ応答メッセージを扱う処理、特に、テスタ７からの要求に従って、対象ＥＣＵ２ａとの間で簡易プロトコルによるリプログ手順を実行する処理が少なくとも含まれている。
【００６８】
また、トランシーバ５２がＥＣＵ２からのイーサネットフレームを受信した場合は、ＭＡＣアドレスが自ノードを含む車載通信システム１を構成するノード宛ではなく、且つフレームタイプがＩＰフレームであれば、受信フレームを中継し、ＭＡＣアドレスが自ノード宛である場合は、イーサネットデータ部の内容に従った処理を実行する。
【００６９】
＜動作＞
このように構成された車載通信システム１では、コネクタ４に接続された外部ネットワーク８を介して接続されたテスタ７において、リプログ処理に必要な指示や情報が入力されると、入力情報の一つである対象ＥＣＵのロジカルアドレスに基づき、対象ＥＣＵのＭＡＣアドレスとリプログ処理に使用するプロトコル（即ち、対象ＥＣＵが小容量ＥＣＵ２ａであるか大容量ＥＣＵ２ｂであるか）が、リプログ情報テーブルを用いて特定される。
【００７０】
<<小容量ＥＣＵに対する代理リプログ手順>>
ここで、対象ＥＣＵ２が小容量ＥＣＵ２ａである場合の手順（代理リプログ手順）を、図１２に示すシーケンス図に従って説明する。
【００７１】
まず、テスタ７は、代理サーバ５に対して、ダウンロードの開始を要求するＤｏＩＰメッセージを送信する。これを受信した代理サーバ５は、転送されてくるリプログデータを一時的に格納するためのメモリ領域を確保すると共に、要求を受け付けたことを示すＤｏＩＰ応答メッセージを返送する。
【００７２】
その後、テスタ７が転送データ（リプログデータ）を載せたＤｏＩＰ要求メッセージを送信し、代理サーバ５が正常に受信したことを示すＤｏＩＰ応答メッセージを返送する手順を、全データを転送するのに必要な回数だけ繰り返す（図では１回だけ示す）。
【００７３】
全データの転送が終了すると、テスタ７は、ダウンロードを終了することを示すＤｏＩＰ要求メッセージを代理サーバ５に対して送信し、これに対して代理サーバ５は、ＤｏＩＰ応答メッセージを返送する。
【００７４】
そして、テスタ７は、フラッシュメモリ書き換えの実行を要求するＤｏＩＰ要求メッセージを送信する。このメッセージには、対象ＥＣＵ２のＭＡＣアドレスや対象ブロックの情報等も含まれている。これを受信した代理サーバ５は、要求を受け付けたことを示すＤｏＩＰ応答メッセージを返送すると共に、簡易プロトコルによるリプログ手順を、ＥＣＵとの間で実行する。
【００７５】
なお、この簡易プロトコルによるリプログ手順は、テスタ７が代理サーバ５に置き換わる以外は、図７を用いて先に説明した内容と同様であるため、説明を省略する。
<<大容量ＥＣＵに対するリプログ手順>>
対象ＥＣＵ２が大容量ＥＣＵ２ｂである場合は、図８を用いて先に説明した内容と同様であるため説明を省略する。但し、この場合、代理サーバ５は、テスタと対象ＥＣＵとの間で送受信されるＴＣＰ／ＩＰフレームを中継する処理を実行する。
【００７６】
＜効果＞
以上説明したように、車載通信システム１によれば、代理サーバ５を備えており、外部ネットワーク８を介して接続されたテスタ７によって、小容量ＥＣＵ２ａに対するリプログ処理を実行する場合、小容量ＥＣＵ２ａに対しては、代理サーバ５との間で簡易プロトコルによるリプログ手順を適用するようにしているため、第１実施形態の場合と同様の効果を得ることができる。
【００７７】
［他の実施形態］
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、様々な態様にて実施することが可能である。
【００７８】
例えば、上記実施形態では、ＥＣＵ２のプログラムを格納するメモリとしてフラッシュメモリを用いているが、これに限るものではなく、データをブロック単位で書き換えるように構成されたメモリであればよい。
【符号の説明】
【００７９】
１…車載通信システム  ２…電子制御装置（ＥＣＵ）  ３…基幹バス  ４…コネクタ  ５…代理サーバ  ７…テスタ  ８…外部ネットワーク  ２１，５１，５２，７１…トランシーバ  ２２，５３，７４…処理実行部  ７２…リプログデータ記憶部  ７３…入出力部  ２２１，５３１，５３２…正規通信処理部  ２２２，５３３…簡易通信処理部  ２２３，５３４…アプリケーション実行部
【図１】
2013192092.tif 000003
【図２】
2013192092.tif 000004
【図３】
2013192092.tif 000005
【図４】
2013192092.tif 000006
【図５】
2013192092.tif 000007
【図６】
2013192092.tif 000008
【図７】
2013192092.tif 000009
【図８】
2013192092.tif 000010
【図９】
2013192092.tif 000011
【図１０】
2013192092.tif 000012
【図１１】
2013192092.tif 000013
【図１２】
2013192092.tif 000014