(57)【要約】【課題】複数の制御装置を含む制御システムにて、制御装置が実行するコンピュータプログラムを更新するに際し、制御用のデータを送受信するための既存の通信媒体を利用しつつ、更新の効率化、高速化を図ることができる制御システム、制御プログラム更新方法を提供する。【解決手段】ＥＣＵのコンピュータプログラムを更新するために、ダイアグ端末が直接的に、又はダイアグ端末とＥＣＵとの間の中継装置が中継して、通信線を介して更新対象のコンピュータプログラムを送信する。この場合、ＥＣＵ、ダイアグ端末及び中継装置間の通信のプロトコルがＣＡＮであるとき、データフレームの拡張フォーマットを用い、更に拡張フォーマット中のデータフィールドのみならず、拡張ＩＤ、コントロールフィールドにもデータを載せて更新用のコンピュータプログラムを送信する。【選択図】図２
2010258990.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するための処理を実行させるコンピュータプログラムを記憶する手段、前記コンピュータプログラムを読み出して実行するプロセッサ、及び、制御データ又は要求を含む制御用の情報を送受信するための所定のプロトコルに基づきデジタル信号により通信を行なう通信手段を備え、通信線に接続されている複数の制御装置と、更新対象のコンピュータプログラムを前記複数の制御装置のいずれかへ送信するプログラム送信手段とを含む制御システムにおいて、
更新対象のコンピュータプログラムは、前記所定のプロトコルにおける制御データ用のビット列以外のビットにも載せられて送信されるようにしてあり、
前記制御装置は、受信した信号における前記制御データ用のビット以外のビットからも前記コンピュータプログラムを抽出する手段を備えること
を特徴とする制御システム。
【請求項２】
前記プログラム送信手段は、更新対象のコンピュータプログラムの送信前に更新要求を送信するようにしてあり、
前記更新要求を受信する受信手段と、
該受信手段により前記更新要求を受信した場合、前記コンピュータプログラムの送信先である１又は複数の制御装置を特定する送信先特定手段と、
該送信先特定手段が特定した送信先の制御装置以外の制御装置へ、信号の送信禁止を指示する指示手段と
を更に備えることを特徴とする請求項１に記載の制御システム。
【請求項３】
前記プログラム送信手段は、更新対象のコンピュータプログラムの送信完了通知を送信するようにしてあり、
前記受信手段は、前記送信完了通知を受信するようにしてあり、
前記指示手段は、前記受信手段により送信完了通知を受信した場合、前記送信禁止が指示された制御装置へ、信号の送信許可を指示するようにしてあること
を特徴とする請求項２に記載の制御システム。
【請求項４】
各制御装置と、夫々に記憶してあるコンピュータプログラムとの対応テーブルを備え、
前記送信先特定手段は、前記対応テーブルに基づき送信先の制御装置を特定するようにしてあること
を特徴とする請求項２又は３に記載の制御システム。
【請求項５】
前記プログラム送信手段は、送信先を指示する情報を送信するようにしてあり、
前記情報に基づき、送信先の制御装置と更新対象のコンピュータプログラムとの対応を前記対応テーブルに加える手段
を更に備えることを特徴とする請求項４に記載の制御システム。
【請求項６】
前記複数の制御装置、又は前記プログラム送信手段は、異なる通信線に夫々接続されており、
前記異なる通信線のいずれにも接続され、デジタル信号の送受信を中継する中継装置を更に含み、
該中継装置が前記受信手段、送信先特定手段及び指示手段を備え、前記プログラム送信手段から送信される更新対象のコンピュータプログラムを、送信先である１又は複数の制御装置が接続されている通信線へ中継するようにしてあること
を特徴とする請求項２乃至５のいずれかに記載の制御システム。
【請求項７】
前記所定のプロトコルはＣＡＮ（Controller Area Network）であり、
前記送信手段は、
更新対象のコンピュータプログラムを、ＣＡＮにおけるデータフレームの拡張フォーマット中、拡張アンデンティファイアフィールドのビット列、コントロールフィールドのビット列、及びデータフィールドのビット列に載せて送信するようにしてあること
を特徴とする請求項１乃至６のいずれかに記載の制御システム。
【請求項８】
制御対象を制御するための処理を実行させるコンピュータプログラムを記憶する手段、前記コンピュータプログラムを読み出して実行するプロセッサ、及び、制御データ又は要求を含む制御用の情報を送受信するための所定のプロトコルに基づきデジタル信号により通信を行なう通信手段を備え、通信線に接続されている複数の制御装置の内のいずれかへ、更新対象のコンピュータプログラムを送信するプログラム送信手段が送信し、前記制御装置にてコンピュータプログラムを更新する方法において、
前記複数の制御装置に接続され、前記プログラム送信手段及び制御装置間の情報の送受信を中継する中継装置、又は前記プログラム送信手段が、更新対象のコンピュータプログラムを、前記所定のプロトコルにおける制御データ用のビット以外のビットにも載せて送信し、
前記制御装置は、受信した信号における前記制御データ用のビット以外のビットからも前記コンピュータプログラムを抽出し、
記憶してあるコンピュータプログラムを、抽出したコンピュータプログラムで更新する
ことを特徴とする制御プログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶しているコンピュータプログラムに基づきアクチュエータなどの制御対象に対する処理を実行し、且つ所定の通信プロトコルに基づいて通信を行なう複数の制御装置を含む制御システムに関する。特に、一部又は全部の制御装置が記憶しているコンピュータプログラムの更新の効率化、高速化を図ることができる制御システム、制御プログラム更新方法に関する。
【背景技術】
【０００２】
コンピュータプログラムに基づき制御対象に対する処理を実行する制御装置を複数用いて装置の制御を実行する制御システムが各分野で利用されている。この場合、各制御装置に各々役割を振り分け、制御装置が相互にデータを交換して連携して処理を実行することによって多様な機能を実現させる。
【０００３】
車両制御の分野では、機械的制御から電気的制御へ移行し、車両内に制御装置として多数のＥＣＵ（Electronic Control Unit）が配され、各ＥＣＵが車載ＬＡＮを介して情報を相互に交換し、強調・連携して多様な処理を行なう構成が一般的となっている。
【０００４】
制御システムにて制御機能が追加される場合、又はプログラムの不具合を解消すべき場合など、制御装置のプロセッサが実行するコンピュータプログラムの更新が必要となるときがある。また、システムの物理的接続構成に応じて各制御装置に役割を割り振る場合などは、制御システム構築の過程で各々の制御装置に役割に対応するコンピュータプログラムを記憶させることもある。
【０００５】
このような場合、対象となる制御装置のみをシステムから切り離し、コンピュータプログラムを記憶させ直すことにより、確実に更新が可能である。しかしながら、更新時など、物理的に接続させたシステムから切り離すことが困難な場合があると共に、切り離し作業は煩雑である。
【０００６】
そこで、制御装置が相互にデータを交換するための既存の通信手段を利用して、特定の装置からコンピュータプログラムを対象の制御装置に受信させ、記憶させるシステムも提案されている（特許文献１参照）。このときコンピュータプログラムの送受信専用の通信手段、通信線などの通信媒体を制御システムに追加する構成では、冗長である。特に車両における制御システムの場合、通信線を追加することは省線化、即ち軽量化に反する。
【０００７】
しかしながら、既存の通信手段を利用してコンピュータプログラムを送受信させる場合、既存の通信手段における通信プロトコルが、制御用の情報、例えばオン／オフ、測定値などの数値情報などの数〜数十ビットで表わせる情報量が少ないデータの交換用に規定されているときには、コンピュータプログラムなど、数キロバイトで表わされる比較的情報量が多いデータの送受信には不適である。
【０００８】
そこで、特許文献２及び３では、データ通信用の通信線を介してコンピュータプログラムを送信して書き換える際に、確実にコンピュータプログラムを送受信できる状態に設定し、正しくプログラムが書き換えられたかを確認するように構成したシステムが提案されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−１２３８７４号公報
【特許文献２】特開２００６−８２６４９号公報
【特許文献３】特開２００６−３３１１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来のシステムでは、制御用のデータのための通信プロトコルに準じた通信方法に工夫をすることなく送受信することを前提とし、更に確実性を担保するための確認処理などを行なうことから、コンピュータプログラムの更新には無視できない長さの時間を要するという問題がある。
【００１１】
本発明は斯かる事情に鑑みてなされたものであり、制御用のデータを送受信するための既存の通信媒体を利用しつつ、当該通信媒体における通信プロトコルに準じる範囲内で、コンピュータプログラムの送信方法を改良することにより、プログラム更新の効率化、高速化を図ることができる制御システム、制御プログラム更新方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１発明に係る制御システムは、制御対象を制御するための処理を実行させるコンピュータプログラムを記憶する手段、前記コンピュータプログラムを読み出して実行するプロセッサ、及び、制御データ又は要求を含む制御用の情報を送受信するための所定のプロトコルに基づきデジタル信号により通信を行なう通信手段を備え、通信線に接続されている複数の制御装置と、更新対象のコンピュータプログラムを前記複数の制御装置のいずれかへ送信するプログラム送信手段とを含む制御システムにおいて、更新対象のコンピュータプログラムは、前記所定のプロトコルにおける制御データ用のビット列以外のビットにも載せられて送信されるようにしてあり、前記制御装置は、受信した信号における前記制御データ用のビット以外のビットからも前記コンピュータプログラムを抽出する手段を備えることを特徴とする。
【００１３】
第２発明に係る制御システムは、前記プログラム送信手段は、更新対象のコンピュータプログラムの送信前に更新要求を送信するようにしてあり、前記更新要求を受信する受信手段と、該受信手段により前記更新要求を受信した場合、前記コンピュータプログラムの送信先である１又は複数の制御装置を特定する送信先特定手段と、該送信先特定手段が特定した送信先の制御装置以外の制御装置へ、信号の送信禁止を指示する指示手段とを更に備えることを特徴とする。
【００１４】
第３発明に係る制御システムは、前記プログラム送信手段は、更新対象のコンピュータプログラムの送信完了通知を送信するようにしてあり、前記受信手段は、前記送信完了通知を受信するようにしてあり、前記指示手段は、前記受信手段により送信完了通知を受信した場合、前記送信禁止が指示された制御装置へ、信号の送信許可を指示するようにしてあることを特徴とする。
【００１５】
第４発明に係る制御システムは、各制御装置と、夫々に記憶してあるコンピュータプログラムとの対応テーブルを備え、前記送信先特定手段は、前記対応テーブルに基づき送信先の制御装置を特定するようにしてあることを特徴とする。
【００１６】
第５発明に係る制御システムは、前記プログラム送信手段は、送信先を指示する情報を送信するようにしてあり、前記情報に基づき、送信先の制御装置と更新対象のコンピュータプログラムとの対応を前記対応テーブルに加える手段を更に備えることを特徴とする。
【００１７】
第６発明に係る制御システムは、前記複数の制御装置、又は前記プログラム送信手段は、異なる通信線に夫々接続されており、前記異なる通信線のいずれにも接続され、デジタル信号の送受信を中継する中継装置を更に含み、該中継装置が前記受信手段、送信先特定手段及び指示手段を備え、前記プログラム送信手段から送信される更新対象のコンピュータプログラムを、送信先である１又は複数の制御装置が接続されている通信線へ中継するようにしてあることを特徴とする。
【００１８】
第７発明に係る制御システムは、前記所定のプロトコルはＣＡＮ（Controller Area Network）であり、前記送信手段は、更新対象のコンピュータプログラムを、ＣＡＮにおけるデータフレームの拡張フォーマット中、拡張アンデンティファイアフィールドのビット列、コントロールフィールドのビット列、及びデータフィールドのビット列に載せて送信するようにしてあることを特徴とする。
【００１９】
第８発明に係るプログラム更新方法は、制御対象を制御するための処理を実行させるコンピュータプログラムを記憶する手段、前記コンピュータプログラムを読み出して実行するプロセッサ、及び、制御データ又は要求を含む制御用の情報を送受信するための所定のプロトコルに基づきデジタル信号により通信を行なう通信手段を備え、通信線に接続されている複数の制御装置の内のいずれかへ、更新対象のコンピュータプログラムを送信するプログラム送信手段が送信し、前記制御装置にてコンピュータプログラムを更新する方法において、前記複数の制御装置に接続され、前記プログラム送信手段及び制御装置間の情報の送受信を中継する中継装置、又は前記プログラム送信手段が、更新対象のコンピュータプログラムを、前記所定のプロトコルにおける制御データ用のビット以外のビットにも載せて送信し、前記制御装置は、受信した信号における前記制御データ用のビット以外のビットからも前記コンピュータプログラムを抽出し、記憶してあるコンピュータプログラムを、抽出したコンピュータプログラムで更新することを特徴とする。
【００２０】
第１及び第８発明では、更新対象のコンピュータプログラムは、制御装置間の制御データの送受信のための所定のプロトコルに基づく範囲内で、制御データ用のビット以外のビットにもデータが載せられて送信される。なお、プログラム送信手段から直接的に送信されるか、又は、制御装置とプログラム送信手段との間に中継装置が存在する場合には、中継装置から送信される。デジタル信号にて装置間でデータを送受信する場合、各種プロトコルでは大抵、データの内容の識別、データの送信先の識別、又は信号の正しさの確認のために、データのみならずヘッダ、冗長信号などが含まれている。そこで本発明では、所定のプロトコルでの通信に破綻をきたさない範囲で、より多くの量のデータを送受信させる。制御データの送受信のためのプロトコルのように大容量のデータの送受信にあまり適さない所定のプロトコルでも、できるだけ多くのデータ量を送信することが可能である。
【００２１】
なお本発明では、更新対象のコンピュータプログラムを受信する制御装置側では、データ用のビット以外のビットにデータが載せられていても当該ビットからコンピュータプログラムを抽出するようにしてある。これにより、所定のプロトコルにて本来送受信できるデータ量よりも多く送受信できるので、更新対象のコンピュータプログラムをより早く送信することが可能となる。
【００２２】
第２発明では、プログラム送信手段が更新対象のコンピュータプログラムを送信する前にプログラムの更新要求が送信され、これを契機に当該コンピュータプログラムの送信先でない制御装置では、応答なども含めて信号の送信が禁止される。したがって、更新対象のコンピュータプログラムの送受信に通信線が占有されるので、効率的に送受信が可能となる。受信側でも、他の信号を受信することがないから、コンピュータプログラムが分割されて送信されても一連のデータとして受信でき、分割されたコンピュータプログラムを再構築する際に誤る可能性が低くなる。
【００２３】
第３発明では、第２発明にて更新対象のコンピュータプログラムの送受信に関しない他の制御装置が信号の送信を禁止された後、コンピュータプログラムの送受信が完了した後は、信号の送信許可が明確に指示される。これにより、停止されていた制御用のデータ、相互の応答の送受信が可能となり、確実にシステムが復旧する。
【００２４】
第４発明では、プログラム送信手段から送信される更新対象のコンピュータプログラムの種類、又は内容に応じて、送信先の制御装置が特定される。これにより、コンピュータプログラムの更新に関与しない制御装置は確実に信号の送信が禁止され、関与する制御装置にて効率的に更新対象のコンピュータプログラムを受信でき、更新が効率的となる。
【００２５】
第５発明では、予め対応テーブルに含まれていなかった新たな更新対象のコンピュータプログラムがプログラム送信手段により送信された場合でも、送信先の指定を行なうことで以後は確実に送信先の制御装置へコンピュータプログラムが送信され、効率的な更新と更新履歴の管理が行なわれる。
【００２６】
第６発明では、複数の異なる通信線に接続されている制御装置、又はプログラム送信手段といずれも通信が可能な中継装置がシステムに含まれ、各制御装置が中継装置経由で通信するときには、中継装置が更新対象のコンピュータプログラムを受信して対象の制御装置へ中継する。中継装置は、いずれの制御装置とも通信が可能であり、中継装置にて中継の要否を判断して、必要のない通信線へ更新対象のコンピュータプログラムが送信されないようにすることができる。また、プログラム送信手段の通信プロトコルが所定のプロトコルと異なる場合でも、中継装置が中継することによってプロトコルの変換も可能である。これにより、コンピュータプログラムの送受信が効率化されるほか、送受信方法の利便性が向上する。
【００２７】
第７発明では、所定のプロトコルとはＣＡＮである。ＣＡＮでは制御データを送受信する際にはデータフレームが使用され、基本的にデータ用のビット列（データフィールド）は最大６４ビットである。ＣＡＮにおけるデータフレームには拡張形式が存在し、その場合、拡張アイデンティファイアフィールドのビット列及びコントロールフィールドのビット列は２５ビットである。これらのビットをもコンピュータプログラムの送信に使用することで、１つのデータフレームで８９ビット（６４＋２５）を使用でき、約１．４倍の情報量を送信することが可能となり、高速化を図ることができる。
【発明の効果】
【００２８】
本発明による場合、情報量が少ない制御用のデータを送受信するための所定のプロトコルの範囲内でも、より多くのデータ量にてデータを送受信できるから、更新対象のコンピュータプログラムをより早く送信することができ、制御装置でのコンピュータプログラムの更新の効率化、高速化、及び利便性の向上を図ることができる。
【図面の簡単な説明】
【００２９】
【図１】実施の形態１における車載制御システムの構成を示す構成図である。
【図２】ＣＡＮプロトコルのデータフレームのフォーマットを示す説明図である。
【図３】実施の形態１における車載制御システムにおいてＥＣＵの制御プログラムが更新される処理手順の一例を示すフローチャートである。
【図４】実施の形態２における車載制御システムの構成を示す構成図である。
【図５】実施の形態２における車載制御システムにおいて制御プログラムが更新される処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、以下に示す実施の形態では、車両に搭載されている車載制御システムにおけるコンピュータプログラムの更新を例に挙げて説明する。
【００３１】
（実施の形態１）
図１は、実施の形態１における車載制御システムの構成を示す構成図である。実施の形態１における車載制御システムは、複数のＥＣＵ１ａ，１ｂ，１ｃ，１ｄと、ＥＣＵ１ａ，１ｂ，１ｃが接続している通信線２１と、ＥＣＵ１ｄが接続している通信線２２と、外部装置の通信線２１への接続を可能とする外部コネクタ３１と、通信線２１及び通信線２２の両者に接続している中継装置４とを含む。外部コネクタ３１には、ダイアグ端末３を接続することが可能である。また、通信線２２には、イグニッションスイッチと接続されているＥＣＵ（図１中、及び以下ＩＧＥＣＵと表わす）５が接続されている。
【００３２】
通信線２１には、ＥＣＵ１ａ，１ｂ，１ｃ及び中継装置４がいずれもバス型に接続されている。通信線２１を介した通信のプロトコルはＣＡＮである。通信線２１に接続されるＥＣＵ１ａ，１ｂ，１ｃ、中継装置４、及び外部コネクタ３１に接続するダイアグ端末３はＣＳＭＡ方式により情報を送受信する。通信線２１に送信される信号は、ＥＣＵ１ａ，１ｂ，１ｃ、中継装置４、及び外部コネクタ３１に接続しているダイアグ端末３のいずれも受信することが可能である。通信線２２には、ＥＣＵ１ｄ、中継装置４及びＩＧＥＣＵ５がいずれもバス型に接続されている。通信線２２を介した通信のプロトコルもＣＡＮである。制御用のデータ、データの送信要求、エラー通知などがＣＡＮフレームにて夫々送信される。
【００３３】
ＥＣＵ１ａは、記憶部１１ａに記憶されているコンピュータプログラムに基づき処理を行なうプロセッサにより動作する装置である。ＥＣＵ１ａは、制御部１０ａと、記憶部１１ａと、一時記憶部１３ａと、通信部１４ａとを備える。
【００３４】
制御部１０ａには、ＣＰＵ（Central Processing Unit）を利用する。記憶部１１ａには、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）などの不揮発性メモリであって書き換えが可能な記憶媒体が用いられ、制御部１０ａが読み出して実行する制御プログラム１２ａが記憶されている。なお、車載制御システムに搭載されるＥＣＵ１ａにおける記憶部１１ａの記憶容量は、ＥＣＵ１ａを簡易な、安価な構成とするために比較的小さい。制御プログラム１２ａと、他の制御用の条件、固定値などの各種情報を記憶する程度で、余分な記憶容量は用意されていない。
【００３５】
一時記憶部１３ａには、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）などが用いられ、制御部１０ａの動作により発生した情報、記憶部１１ａから読み出された各種情報、制御プログラム１２ａなどが一時的に記憶される。
【００３６】
通信部１４ａは、通信線２１を介した通信を実現する。即ち実施の形態１では通信部１４ａはＣＡＮプロトコルに準じ、ＣＡＮコントローラ及びＣＡＮトランシーバを含む。制御部１０ａは、通信部１４ａにより通信線２１を介して他のＥＣＵ１ｂ，１ｃ、ダイアグ端末３、又は中継装置４とのデータの送受信が可能である。
【００３７】
なお、ＥＣＵ１ａにおける制御部１０ａ、記憶部１１ａ、一時記憶部１３ａ及び通信部１４ａの一部（コントローラ）は、マイクロコンピュータとして構成されてもよい。
【００３８】
ＥＣＵ１ｂ，１ｃ，１ｄの構成は、夫々機能に応じた動作内容が異なるものの、ＥＣＵ１ａと基本的な構成は同様であるので詳細な説明を省略する。
【００３９】
車載制御システムは、車両の組み立て完了後は、ＥＣＵ１ａ，１ｂ，１ｃ，１ｄなどの装置は車体の床、ボンネットの中などに配されて、ＥＣＵ１ａ，１ｂ，１ｃ，１ｄ間の通信線２１，２２、信号線などを含むワイヤーが、車両の車体枠の中などに張り巡らされて配されている。外部コネクタ３１は、車両の組み立て後にＥＣＵ１ａ，１ｂ，１ｃ，１ｄなどへのデータを記憶、又は各ＥＣＵ１ａ，１ｂ，１ｃ，１ｄからのデータの読み出しがダイアグ端末３から可能なように、車外からアクセスすることが容易な位置に配置されている。
【００４０】
ダイアグ端末３は、検査員などのオペレータが操作することにより、特定のＥＣＵ、例えばＥＣＵ１ａの制御プログラム１２ａの更新要求と共に、更新対象の新たなコンピュータプログラムを出力するように構成されている。
【００４１】
ダイアグ端末３は、外部コネクタ３１を介してコンピュータプログラムの更新要求、及び新たなコンピュータプログラムを通信線２１へ送信する。このときダイアグ端末３は、ＩＧＥＣＵ５から送信されるデータに基づき、車両のイグニッションスイッチがオン又はエンジンがスタートしていない場合に更新要求を送信する。もしもイグニッションスイッチがオンである場合には、更新要求を出力しない。ダイアグ端末３は、更新要求を通信線２１へ送信した後、内蔵する記録媒体に記録されている更新対象のコンピュータプログラムを、当該更新対象のコンピュータプログラムに関する特定のＥＣＵ、例えばＥＣＵ１ａへ送信する。更新対象のコンピュータプログラムの送信方法については、詳細を後述にて説明する。
【００４２】
中継装置４は、中継処理部４１と、通信部４２と、記憶部４３と、更新処理部４５とを備える。実施の形態１における中継装置４では、中継処理部４１及び更新処理部４５は各機能を発揮すべく設計された特定の回路にて構成される。
【００４３】
通信部４２には、通信線２１及び通信線２２が接続されている。通信部４２は、通信線２１，２２を介したＣＡＮプロトコルに準じた通信を実現する。中継処理部４１は、通信部４２により通信線２１を介してＥＣＵ１ａ，１ｂ，１ｃ，１ｄ及びＩＧＥＣＵ５、並びにダイアグ端末３との間におけるデータの送受信を中継する。
【００４４】
記憶部４３には、ＳＲＡＭ、ＤＲＡＭなどのメモリが用いられる。記憶部４３には、データベース（ＤＢ：Data Base）４４としての記憶領域が確保されている。
【００４５】
中継処理部４１は、中継装置４としての基本的な機能を発揮するための構成部である。中継処理部４１は、ＥＣＵ１ａ，１ｂ，１ｃから通信線２１にデータ等が送信された場合これを通信部４２にて検知し、ＥＣＵ１ｄ、ＩＧＥＣＵ５への中継の要否を判断し、要と判断した場合は通信部４２から他の通信線２２へデータ等を送信する中継機能を発揮する。なお、中継処理部４１は、ＥＣＵ１ａ，１ｂ，１ｃ，１ｄ、ＩＧＥＣＵ５から送信されて通信部４２にて受信したデータを、一旦記憶部４３のデータベース４４に記憶する。
【００４６】
更新処理部４５は、詳細には送信先特定部４６及び指示部４７を備える。更新処理部４５は、ダイアグ端末３からコンピュータプログラムの更新要求が送信された場合に処理を行なうように構成されている。更新処理部４５は、通信部４２で受信した更新要求の情報から、送信先特定部４６により更新対象のコンピュータプログラムに関するＥＣＵを特定し、そのＩＤを抽出する。更新処理部４５は、送信特定部４６により特定された送信先以外のＥＣＵに対し、指示部４７により、リッスンオンリーモードへの移行、すなわち応答を含む一切の送信を禁止する指示を示すメッセージを通信部４２により送信する。そして、コンピュータプログラムの送受信が完了した場合は、送信を許可する指示を示すメッセージを通信部４２により送信する。
【００４７】
なお中継装置４もＥＣＵ１ａのように、マイクロコンピュータを備える構成としてもよい。
【００４８】
ＩＧＥＣＵ５は、図示しないイグニッションスイッチと接続されており、イグニッションスイッチのオフ（ロック）、アクセサリー、イグニッションスイッチオン、スタートなどの状態を検知する。そしてＩＧＥＣＵ５は、検知した情報をデータとして通信線２２へ送信する。これにより、通信線２２へ送信されたイグニッションスイッチの状態は、同じ通信線２２に接続されているＥＣＵ１ｄでデータが受信されることによって認識されると共に、中継装置４でも当該データが受信されて認識される。通信線２２に送信されたイグニッションスイッチの状態を示すデータは、中継装置４の中継処理部４１により通信部４２にて通信部２１へも中継される。これにより、ＥＣＵ１ａ，１ｂ，１ｃ及び外部コネクタ３１に接続されているダイアグ端末３でもイグニッションスイッチの状態を認識する。
【００４９】
このように構成される車載制御システムにおけるダイアグ端末３が、更新対象のコンピュータプログラムを送信する際の方法について詳細を説明する。
【００５０】
実施の形態１では、通信線２１における通信プロトコルは、ＣＡＮプロトコルである。更新対象のコンピュータプログラムを送信するには、ＣＡＮにおけるデータフレームのデータ用のビットにコンピュータプログラムのデータを載せて送信する。データフレームのデータフィールドのビットは、最大６４ビットであり、即ち１回のデータフレームの送信で８バイトまでしか送信できない。しかしながら、コンピュータプログラムの実行ファイルのデータ量は様々ではあるが、数〜数十キロバイト程度であることが考えられる。したがって、コンピュータプログラムをデータフレームで送信する場合、コンピュータプログラムを数十〜数百個に分割して夫々データフレームのデータフィールドに載せて、何回にも分けて送信することになる。
【００５１】
そこで、実施の形態１における更新対象のコンピュータプログラムの送受信では、より高速にコンピュータプログラムの送受信を完了させるために、データフレームにおけるデータフィールド以外のビットにもコンピュータプログラムを載せて送信する。
【００５２】
図２は、ＣＡＮプロトコルのデータフレームのフォーマットを示す説明図である。図２の（ａ）に標準フォーマットのデータフレームを、（ｂ）に拡張フォーマットのデータフレームを示す。
【００５３】
ＣＡＮのデータフレームは、標準及び拡張のいずれでもＳＯＦ（Start Of Frame）ビットから始まり、データの内容を識別するために用いられるアイデンティファイア（ＩＤ）が１１ビット続く。
【００５４】
標準フォーマットでは、その後、データ要求なのかデータが載せられているのかを区別するためのＲＴＲ（Remote Transmission Request）ビットが続き、ＩＤとＲＴＲビットとで、送信の優先度を決めるアービトレーションフィールドとして使用される。標準フォーマットではその後、標準／拡張を区別するためのＩＤＥ（IDentifier Extension）ビット、ｒ０ビット、データ長を示すＤＬＣビットからなるコントロールフィールドが続く。コントロールフィールドは６ビットである。コントロールフィールドの後ろには、数値情報又は真偽情報などを含むデータを載せるデータフィールドが続く。データフィールド、即ちデータを載せるためのビット数は可変である。データフィールドの後ろに誤り検出のためのＣＲＣ（Cyclic Redundancy Check）フィールドが１５ビット、受信確認のためのＡＣＫ（Acknowledge）フィールドが２ビット、そして７ビットのＥＯＦが続く。
【００５５】
拡張フォーマットでは、標準フォーマットにおけるＲＴＲビット以降が異なり、ＩＤの後ろはＳＲＲ（Substitute Remote Request）ビット及びＩＤＥビットが夫々１ビットで続き、その後ろに拡張用のＩＤが１８ビット、そしてＲＴＲビットが続く。拡張フォーマットでは、ＩＤ、ＳＲＲ、ＩＤＥ、拡張ＩＤ及びＲＴＲでアービトレーションフィールドとして使用される。ＲＴＲビットの後ろには、ｒ０ビット及びｒ１ビット、ＤＬＣからなるコントロールフィールドが続く。その後のデータ、ＣＲＣ、ＡＣＫ、及びＥＯＦは標準フォーマットと同様である。
【００５６】
実施の形態１におけるダイアグ端末３は、更新対象のコンピュータプログラムをデータフレームで送信するに際し、拡張フォーマットを用いる。更にダイアグ端末３は、拡張ＩＤ及びＲＴＲビット、並びにコントロールフィールドのｒ０ビット、ｒ１ビット及びＤＬＣをもデータフィールドとして用い、当該プログラム送信用のデータフィールドに更新対象のコンピュータプログラムを分割して載せて送信する。
【００５７】
これにより、従来はデータフレームでは最大６４ビットしかデータを送信できなかったが、拡張ＩＤの１８ビット、ＲＴＲビットの１ビット、ｒ０ビットの１ビット、ｒ１ビットの１ビット及びＤＬＣの４ビットの合計２５ビットを加えた８９ビットをデータ送信に使用できる。したがって、１回のデータフレームの送信にて１．３９倍（８９／６４）の効率化を図ることができる。
【００５８】
このようなＣＡＮフレームのフォーマットは通常は認められていないため、フォーマットエラーとなる。したがって、ダイアグ端末３が更新対象のコンピュータプログラムを送信するにあたっては、これをエラーと識別されないようにすべく、従来のＣＡＮコントローラに変更が必要となる。しかしながら、各ＥＣＵのＣＡＮコントローラを全て変更するとすれば、従来のシステムを利用できずに無駄となる。そこで、ＣＡＮコントローラの変更を回避するため、データフレーム中におけるＲＴＲ、ｒ０、ｒ１、ＤＬＣビットについては、フォーマットエラーとならないように固定値として使用してもよい。この場合、ＲＴＲ、ｒ０、ｒ１、ＤＬＣビットを含むフィールドは更新対象のコンピュータプログラムを載せる領域として使用できないから、上述の構成では１．３９倍効率化を図ることができたところ、１．２８倍（８２／６４）となる。
【００５９】
このように、コンピュータプログラムの送信方法を標準のＣＡＮプロトコルに変更を加えて利用することにより、約１．４倍の効率化を図ることはできる。実施の形態１ではこれに加えて、中継装置４の更新処理部４５が、送信先以外のＥＣＵ１ａ，１ｂ，１ｃ，１ｄのいずれかへリッスンオンリーモードへの移行を指示する処理を行なうことにより、以下のとおり、更に効率化させることができる。
【００６０】
以下、実施の形態１におけるコンピュータプログラムの送信方法のみならず、更新の際の各装置の動作によって、コンピュータプログラムの更新が効率化、高速化されることを説明する。具体的例として、ＥＣＵ１ａの制御プログラム１２ａが更新される過程を、フローチャートを参照して説明する。
【００６１】
図３は、実施の形態１における車載制御システムにおいてＥＣＵ１ａの制御プログラム１２ａが更新される処理手順の一例を示すフローチャートである。オペレータがダイアグ端末３を操作して、制御プログラム１２ａの更新要求を入力し、制御プログラム１２ａの更新対象の新しいコンピュータプログラムも共に入力した場合、以下の処理が中継装置４、及びＥＣＵ１ａにより実行される。
【００６２】
まず、ダイアグ端末３は、プログラムの更新要求を外部コネクタ３１から通信線２１を介して各ＥＣＵ１ａ，１ｂ，１ｃ、及び中継装置４へ通知する（ステップＳ１）。ステップＳ１は具体的には、プログラムの更新要求というメッセージに割り振られたＩＤを含むデータフレーム（標準）をダイアグ端末３が送信する。このとき、ダイアグ端末３は、該データフレームのデータフィールドを用いて、更新対象のコンピュータプログラムの内容を示す情報、又は送信先を示す情報を共に送信することが望ましい。
【００６３】
ＥＣＵ１ａ，１ｂ，１ｃ及び中継装置４はいずれもほぼ同時にプログラムの更新要求の通知を受信するが、特に中継装置４は、プログラムの更新要求の通知を受信すると（ステップＳ２）、更新処理部４５の動作を開始して、送信先特定部４６により、当該更新要求の対象であるコンピュータプログラムの送信先のＥＣＵ１ａを特定する（ステップＳ３）。ステップＳ３は具体的には、送信先特定部４６は、受信した前記プログラム更新要求から、更新対象のコンピュータプログラムの送信先のＥＣＵを、記憶部４３、又は送信先特定部４６にて内臓する図示しない不揮発性のメモリ内に記憶しておき、当該情報に基づき特定する。
【００６４】
次に中継装置４は、更新処理部４５の指示部４７が、送信先特定部４６にて特定した送信先のＥＣＵ１ａ以外のＥＣＵ１ｂ，１ｃ，１ｄを識別する情報を得、指示部４７は、通信部４２を通じて、送信先以外のＥＣＵ１ｂ，１ｃ，１ｄへＡｃｋ信号さえも送信しないように、送信禁止を指示、即ちリッスンオンリーモードへの移行を指示する（ステップＳ４）。ステップＳ４は具体的には、リッスンオンリーモードへの移行指示というメッセージに割り振られたＩＤを表わすデータフレーム（標準）を通信部４２により送信する。このとき、該データフレームのデータフィールドを用いて、送信先を示す情報を共に送信することが望ましい。
【００６５】
ステップＳ６のリッスンオンリーモードへの移行の指示（送信禁止の指示）により、ＥＣＵ１ａ以外のＥＣＵ１ｂ，１ｃは、リッスンオンリーモードへ移行する。この後、ＥＣＵ１ｂ，１ｃでは、コンピュータプログラムの送信完了の通知がされるまで、リッスンオンリーモードへ移行したまま待機する。リッスンオンリーモードとは、通信部が通信線２１に送信されている信号を監視し続けるのみで、応答をも返さない状態である。
【００６６】
ＥＣＵ１ａは、中継装置４が送信禁止を指示した後、ダイアグ端末３が更新対象のコンピュータプログラムを８９ビット分ずつ読み出してデータフレームにて送信し（ステップＳ５）、ＥＣＵ１ａは、各データフレームを受信する（ステップＳ６）。このときＥＣＵ１ａはリッスンオンリーモードでないから、データフレームの受信に応答を返し、ダイアグ端末３では、応答により正常に送信ができたことを通知する。
【００６７】
そしてＥＣＵ１ａは、制御部１０ａの処理により、ステップＳ６で受信したフレームのＩＤに基づき、コンピュータプログラムが含まれるフレームであると認識する。そして制御部１０ａの処理により、本来のデータフィールド以外のコントロールフィールドをも含むプログラム送信用のデータフィールド（８９ビット）から分割されたコンピュータプログラムの一部を抽出する（ステップＳ７）。このとき制御部１０ａは、抽出したコンピュータプログラムの一部を順に一時記憶部１３ａに記憶していく。ＥＣＵ１ａは、ダイアグ端末３からコンピュータプログラムが含まれるデータフレームを受信する都度、ステップＳ６及びＳ７を繰り返して更新対象のコンピュータプログラムを完全に受信するまで処理を継続する。
【００６８】
ダイアグ端末３は、更新対象のコンピュータプログラムを読み出してデータフレームを送信しているが、分割されたコンピュータプログラムの全ての送信は完了したか否かを判断する（ステップＳ８）。ダイアグ端末３は、送信は未完了であると判断した場合（Ｓ８：ＮＯ）、残りの分割されたコンピュータプログラムの送信（Ｓ５）を継続し、送信は完了したと判断した場合（Ｓ８：ＹＥＳ）、送信完了通知を送信する（ステップＳ９）。ステップＳ９ではダイアグ端末３は、具体的には、プログラム送信完了通知というメッセージを表わすデータフレーム（標準）を送信する。
【００６９】
中継装置４では、更新処理部４５が送信禁止の指示をした後（Ｓ４）、通信部４２により受信するフレームを監視して、プログラム送信完了通知を受信したか否かを判断する（ステップＳ１０）。更新処理部４５は、プログラム送信完了通知を受信していないと判断した場合（Ｓ１０：ＮＯ）、処理をステップＳ１０へ戻し、プログラム送信完了通知を受信するまで待機する。更新処理部４５は、プログラム送信完了通知を受信したと判断した場合（Ｓ１０：ＹＥＳ）、送信禁止を指示していた送信先以外のＥＣＵ１ｂ，１ｃへ送信許可を指示、即ちリッスンオンリーモードから通常モードへの移行を指示する（ステップＳ１１）。
【００７０】
一方、このときＥＣＵ１ａは、更新対象のコンピュータプログラムのフレームを全て受信し、各フレームからのコンピュータプログラムの抽出を完了させている。ＥＣＵ１ａは、更新対象のコンピュータプログラムのフレームを受信して抽出した際には、上述のように一時記憶部１３ａに順に記憶している。したがって、一時記憶部１３ａには更新対象のコンピュータプログラムが完成しているはずである。制御部１０ａは、一時記憶部１３ａから更新対象のコンピュータプログラムを読み出し、既存の制御プログラム１２ａに書き換えて更新し（ステップＳ１２）、更新処理を終了する。
【００７１】
このように、更新対象のコンピュータプログラムの送受信の際に、ＣＡＮのデータフレーム（拡張）の拡張ＩＤ、ＲＴＲビット及びコントロールフィールドにもコンピュータプログラムが載せられて送信されることにより、送信完了までの高速化が図れる。このときの効果は上述のように１．３９倍である。また、ＣＡＮコントローラの変更を回避するためにＲＴＲ、ｒ０、ｆ１、ＤＬＣビットには更新対象のコンピュータプログラムを載せず固定値とする場合には、１．２８倍の高速化が図れる。
【００７２】
更に、ダイアグ端末３と送信先のＥＣＵ１ａとの間で更新対象のコンピュータプログラムの送受信が実行されている間、中継装置４が事前にＥＣＵ１ｂ，１ｃへ送信禁止を指示していることとからＥＣＵ１ｂ，１ｃはリッスンオンリーモードに移行している。ＥＣＵ１ｂ，１ｃの状態がリッスンオンリーモードでないときには、ＥＣＵ１ｂ，１ｃが応答、定期的なメッセージの送信などを行ない、相当するネットワークの帯域を占有する。このため、更新対象のコンピュータプログラムの送信と、定期的なメッセージの送信が競合し、更新対象のコンピュータプログラムの送信に要する時間が延びる。例えば、定期的なメッセージの送信によりネットワークの帯域を半分占有している場合と比較すると、リッスンオンリーモードへ移行させることで２倍の高速化を図ることができる。
【００７３】
なお、図３のフローチャートに示した処理手順の過程で、例えばステップＳ５、Ｓ６、Ｓ７を繰り返して処理している間に、ＩＧＥＣＵ５からイグニッションスイッチの状態がオンとなったことを示すデータが中継装置４にて受信された場合は、以下のようにしてコンピュータプログラムの送信を中断させ、元の状態に復帰することが考えられる。中継装置４は、送信禁止を指示（Ｓ４）した後、イグニッションスイッチの状態がオンとなったことを示す当該データを通信線２１へも中継する。当該データのＩＤは、優先度が高い。このときダイアグ端末３は、イグニッションスイッチがオンとなったことを通信線２１からの情報を受信することにより検知する。ダイアグ端末３は、更新後のコンピュータプログラムの送信を中断する。中継装置４は、イグニッションスイッチがオンとなったことを示すデータを中継した後、ＥＣＵ１ｂ，１ｃへも送信許可を指示する。ＥＣＵ１ａは、イグニッションスイッチがオンとなったことを示すデータを受信した場合、更新が中断されたことを検知し、一時記憶部１３ａに記憶していた更新対象のコンピュータプログラムを消去してもよいし、再度受信することを考慮し、更新対象のコンピュータプログラムの一部が記憶されている領域をロックして保持しておくようにしてもよい。また、送信を禁止されていた各ＥＣＵ１ｂ，１ｃに、一定の周期で優先度が低いデータフレームを送信させ、そのデータフレームに対する応答を各ＥＣＵ１ｂ，１ｃで確認させることにより、ネットワークの状態の監視を各自で監視させておいてもよい。これにより、ＥＣＵ１ａにおける制御プログラム１ａの更新中でも、車両の機能が不具合を生じることはない。
【００７４】
（実施の形態２）
実施の形態１では、ダイアグ端末３、ＥＣＵ１ａ，１ｂ，１ｃ、及び中継装置４がいずれも同一の通信線２１に接続されている構成であった。これに対し実施の形態２では、ダイアグＥＣＵ３１は、通信線２１ではなく独自の通信線（信号線でもよい）に接続されており、中継装置４のみと通信することが可能な構成とする。
【００７５】
図４は、実施の形態２における車載制御システムの構成を示す構成図である。実施の形態２の車載制御システムの構成は、ダイアグ端末３が中継装置４のみに、通信線２１と異なる通信線６を介して接続していること、中継装置４の構成が一部異なること、通信線２２に新たなＥＣＵ１ｅが接続されていること以外は、実施の形態１における構成と同様である。したがって、以下、実施の形態１と共通する構成については同一の符号を付して詳細な説明を省略する。
【００７６】
ＥＣＵ１ｅの構成は、ＥＣＵ１ａと同様であるので各構成部の詳細な説明は省略する。なおＥＣＵ１ｅは、ＥＣＵ１ａと共通する機能を発揮するように構成されており、制御プログラム１２ａと同じ内容の制御プログラムを記憶する。
【００７７】
そして実施の形態２では、ダイアグ端末３は、通信線６に接続されている。実施の形態１では、ダイアグ端末３はＣＡＮに基づく通信を行なう構成とした。したがって、ダイアグ端末３が更新対象のコンピュータプログラムを送信するに際し、図２の拡張データフレームのプログラム送信用のデータフィールドを使用する構成とした。これに対し、実施の形態２では、通信線６を介した通信は、ＣＡＮプロトコルに準じないとする。通信線６は、ダイアグ端末３及び中継装置４との間の専用線であるとし、より高速にEthernet（登録商標）などを用いて送信することもできる。この場合、ダイアグ端末３は、ＣＡＮにおける拡張データフレームにこだわらず、更新対象のコンピュータプログラムをまとめて送信することができる。
【００７８】
これに応じて実施の形態２における中継装置４は、通信部４２に加えて通信線６用の第２通信部４８を備える。第２通信部４８は、ダイアグ端末３との通信線６を介した通信を実現する。そして、中継装置４の更新処理部４５が、ダイアグ端末３から受信した更新対象のコンピュータプログラムを対象のＥＣＵ、例えばＥＣＵ１ａへ中継するに際し、ＣＡＮにおける拡張フォーマットのデータフレームを用いて送信する。更新処理部４５は、受信した更新対象のコンピュータプログラムを分割し、プログラム送信用のデータフィールドとした８９ビットに載せてＥＣＵ１ａへ送信する。
【００７９】
また、実施の形態２における中継装置４は、更新対象のコンピュータプログラムと、その送信先との対応を記憶した対応テーブル４９を備える。更新処理部４５の送信先特定部４６は、第２通信部４８により受信した更新対象のコンピュータプログラムについて、対応テーブル４９を参照し、対応関係に基づいて送信先を特定する。この場合、ダイアグ端末３から更新対象となるＥＣＵを識別情報が特に無くとも、更新対象となるコンピュータプログラムを識別する情報から、対応テーブルにより更新対象のＥＣＵを識別することが可能である。
【００８０】
また、実施の形態２では、ダイアグ端末３から中継装置４へ送信される更新要求には、送信先のＥＣＵを指示する情報が付加されている場合があるとする。例えば、車載制御システムに新たなＥＣＵ１ｅがオプションなどにより追加で接続された場合、当該ＥＣＵ１ｅに読み出させるべきコンピュータプログラムの内容、識別情報は、中継装置４の送信先特定部４６では未だ未知であるはずである。したがって、更新要求に送信先のＥＣＵ１ｅを指示する情報を付加することにより、中継装置４の送信先特定部４６が送信先を特定することが容易となる。送信先特定部４６は、新たなコンピュータプログラムの更新要求に、送信先のＥＣＵを指示する情報が付加されている場合、対応テーブル４９に対応関係を追加する。
【００８１】
次に、実施の形態２の構成にて、ＥＣＵ１ａの制御プログラム１２ａ及びＥＣＵ１ｅにおける制御プログラムが更新される過程をフローチャートを参照して説明する。図５は、実施の形態２における車載制御システムにおいて制御プログラムが更新される処理手順の一例を示すフローチャートである。図５のフローチャートに示す処理手順では、実施の形態１の図３に示した処理手順と同一の手順には同一のステップ番号を付して詳細な説明を省略する。
【００８２】
オペレータがダイアグ端末３を操作して、制御プログラム１２ａ及び新たに追加されたＥＣＵ１ｅの制御プログラムの更新要求を入力した場合に、以下の処理がダイアグ端末３、及び中継装置４により実行される。なお、ＥＣＵ１ａにおける処理はコンピュータプログラムをダイアグ端末３から直接的に受信するのではなく中継装置４から中継されて受信すること以外、処理手順自体は実施の形態１と同様であるので、フローチャートの図示及び詳細な説明を省略する。ＥＣＵ１ｅによる処理もＥＣＵ１ａにおける処理と同様であるので詳細な説明を省略する。
【００８３】
ダイアグ端末３は、プログラム更新要求と送信先指示情報とを外部コネクタ３１を介して中継装置４へ通知する（ステップＳ２１）。
【００８４】
中継装置４は第２通信部４８により、プログラム更新要求の通知を受信し（ステップＳ２２）、プログラム更新要求の通知に応じて動作する更新処理部４５は、送信先特定部４６により対応テーブル４９を参照し（ステップＳ２３）、共に受信した送信先指示情報に基づく新たな更新対象のコンピュータプログラムと送信先との対応を対応テーブル４９に追加する（ステップＳ２４）。送信先特定部４６は、新たに追加された対応をも考慮してプログラム更新要求に対応する送信先を特定する（ステップＳ２５）。そして、指示部４７は、ＥＣＵ１ａ，１ｅ以外のＥＣＵへ送信禁止を指示、即ちリッスンオンリーモードへの移行を指示する（ステップＳ２６）。これにより通信線２１，２２に夫々接続されている他のＥＣＵ１ｂ，１ｃ，１ｄ及びＩＧＥＣＵ５は一時的にリッスンオンリーモードへ移行する。なおＩＧＥＣＵ５は、イグニッションスイッチがオンとなったときには、送信禁止に反して優先的にデータを送信する。
【００８５】
そして、ダイアグ端末３が更新対象のコンピュータプログラムを送信すると（Ｓ５）、これを第２通信部４８により受信する中継装置４が、ステップ２５にて特定された送信先へ更新処理部４５の処理により通信部４２により中継する（ステップＳ２７）。これに対し、送信先のＥＣＵ１ａ，１ｅは、夫々中継されて送信される拡張フォーマットのデータフレームを受信することにより更新対象のコンピュータプログラムを受信してデータフレームから抽出する。このとき、通信線６の伝送速度が通信線２１又は通信線２２と比較して高速である場合には、中継装置４の更新処理部４５は、送信するコンピュータプログラムのデータを記憶部４３に一時的に記憶してもよい。これにより、コンピュータプログラムのデータがＥＣＵ１ａ，１ｅへ送信されている間であっても、ダイアグ端末３を外部コネクタ３１から取り外すことが可能である。
【００８６】
ダイアグ端末３は、更新対象のコンピュータプログラムの送信が未完了と判断した場合は（Ｓ８：ＮＯ）、処理をステップＳ５へ戻すが、送信を完了したと判断した場合は（Ｓ８：ＹＥＳ）、プログラム送信完了通知を送信する（Ｓ９）。
【００８７】
このとき、中継装置４の更新処理部４５は、ダイアグ端末３からプログラム送信完了通知を受信してプログラムの中継を完了したか否かを判断する（ステップＳ２８）。更新処理部４５は、中継を完了していないと判断した場合（Ｓ２８：ＮＯ）、処理をステップＳ２７へ戻し、更新対象のコンピュータプログラムが送信されない場合はステップＳ２８へ進み、プログラムの中継を完了したと判断するまで待機する。このとき、送信先のＥＣＵ１ａ、及びＥＣＵ１ｅでは、受信した拡張フォーマットのデータフレームから夫々、分割された更新対象のコンピュータプログラムを抽出し、全データフレームから抽出した部分を順に組み合わせて更新対象のコンピュータプログラムを既存の制御プログラムに更新している。
【００８８】
そして中継装置４の更新処理部４５は、コンピュータプログラムの中継を完了したと判断した場合（Ｓ２８：ＹＥＳ）、信号の送信禁止を指示していたＥＣＵ１ｂ，１ｃ，１ｄへ送信許可を指示し（ステップＳ２９）、処理を終了する。
【００８９】
このように、プログラム送信手段としてのダイアグ端末３と中継装置４との間の通信線６の通信プロトコルと、更新対象のコンピュータプログラムを受信すべきＥＣＵ１ａ，１ｅが接続されている通信線２１，２２の通信プロトコルとが異なる場合であっても、中継装置４がプロトコル変換をすると共に、ＣＡＮの通信線２１，２２においてもより多くのデータ量で送信できるから、コンピュータプログラムの送受信における利便性の向上と効率化が図れる。
【００９０】
実施の形態２で、ＥＣＵ１ａへ更新対象のコンピュータプログラムを中継する必要がない場合は、中継装置４が要否を判断して、通信線２１へコンピュータプログラムを送信せずに済む。したがって、中継装置４は、通信線２１に接続するＥＣＵ１ａ，１ｂ，１ｃへ送信禁止の指示を出さないから、通信線２１ではそれまでの動作を継続できる。
【００９１】
また、実施の形態２では、予め対応テーブル４９に対応が記憶されていなかった新たな更新対象のコンピュータプログラム、又は新たな送信先（ＥＣＵ１ｅ）へのコンピュータプログラムが送信された場合であっても、対応テーブル４９に対応が追加される。したがって、以後は、確実に送信先のＥＣＵ１ｅへコンピュータプログラムが送信され、効率的に更新が行なわれる。
【００９２】
なお、実施の形態２では、ダイアグ端末３と中継装置４との間の通信は、通信線２１，２２を介した通信とは異なり、ＣＡＮプロトコルに基づかない構成とした。しかしながら、ダイアグ端末３と中継装置４とは、ＣＡＮプロトコルに基づき通信を行なう構成でもよい。この場合も、中継装置４がコンピュータプログラムの中継の要否を判断することができ、ＥＣＵ１ａが送信先でなくＥＣＵ１ｅのみが送信先である場合に、通信線２１は更新対象のコンピュータプログラムの送受信に占有されることがなく、支障がない。
【００９３】
実施の形態１及び２では、中継装置４が中継処理部４１を有する構成について例示し、中継処理部４１がリッスンオンリーモードへの移行もしくは送信禁止の指示を含む信号を発するとしたが、中継処理部４１が存在しない構成でもよい。この場合、リッスンオンリーモードへの移行もしくは送信禁止の指示を含む信号は、ダイアグ端末３が直接発する構成としてもよいし、ダイアグ端末３からの指示を受けて、ＥＣＵ１ａ，１ｂ，１ｃ，１ｄ，１ｅのいずれかが発する構成としてもよい。
またイグニッションスイッチのオンなどの状態を示すデータが、共通の通信線２１，２２２にて送信される構成としたが、既存のシステムのようにＩＧ電源線として別途設けた配線から、各ＥＣＵ１ａ，１ｂ，１ｃ，１ｄ，１ｅ、中継装置４などが検知する方法でもよい。
さらに、書き換え前後のプログラムのチェックのために、例えばＥＣＵ１ａからダイアグ端末３へプログラムを送信する際にも、データの送信方向を入れ替えることで同様の構成と方法を用いることができ、同様の効果が得られる。
【００９４】
実施の形態１及び２では、車載制御システムにおけるＥＣＵ１ａ，１ｂ，１ｃ，１ｄ，１ｅ間の通信プロトコルはＣＡＮとし、更新対象のコンピュータプログラムの送受信の際には、ＣＡＮプロトコルにおけるデータ送受信用のデータフレームの拡張フォーマットを工夫して送信する構成とした。しかしながら本発明にて適用できる通信プロトコルは、ＣＡＮに限らない。データを送受信する際に用いるフォーマットに付加されているヘッダ情報などの一部のビット列を更新対象のコンピュータプログラムを載せるために使用することにより、できるだけ多くの量のデータを送信する構成は、他のプロトコルにも適用可能である。
【００９５】
なお、開示された実施の形態は、全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上述の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００９６】
１ａ，１ｂ，１ｃ，１ｄ，１ｅ  ＥＣＵ
１１ａ  記憶部
１２ａ  制御プログラム
１４ａ  通信部（通信手段）
３  ダイアグ端末（プログラム送信手段）
４  中継装置
４５  更新処理部（プログラム送信手段）
４６  送信先特定部
４７  指示部
４９  対応テーブル
【図１】
2010258990.tif 000003
【図２】
2010258990.tif 000004
【図３】
2010258990.tif 000005
【図４】
2010258990.tif 000006
【図５】
2010258990.tif 000007