(57)【要約】【課題】  セグメント化されたデータを全てのＥＣＵへ送信する場合でも、通信時間を抑えることが可能で、しかも同時期にデータ送受信を完了させることが可能な診断システムを提供する。【解決手段】  診断装置１０は、データ伝送の開始を示す開始情報（ＦＦ）を送信する開始情報送信手段１０ａと、ＥＣＵ２１〜２３から送信されてくるフロー制御情報（ＦＣ）に基づき、当該フロー制御情報に含まれる情報の最低値を採用することで、複数のＥＣＵ２１〜２３の全てにおいて受信可能な態様でデータを繰り返し送信するデータ送信手段１０ｂと、を有し、一方、ＥＣＵ２１〜２３は、開始情報送信手段１０ａにて送信される開始情報を受信すると、フロー制御情報を送信する制御情報送信手段２１ａを有し、データ送信手段にて送信されるデータを受信するデータ受信手段２１ｂを有している。【選択図】  図１
2014204314.tif 000002
【特許請求の範囲】
【請求項１】
セグメント化されたデータをブロードキャスト通信にて診断装置（１０又は３０）から当該診断装置にバスライン（４０）を介して接続される複数のＥＣＵ（２１，２２，２３）へ送信する診断システム（１）であって、
前記診断装置は、
データ伝送の開始を示す開始情報（ＦＦ）を送信する開始情報送信手段（１０ａ）と、
前記ＥＣＵから送信されてくるフロー制御情報（ＦＣ）に基づき、当該フロー制御情報に含まれる情報の最低値を採用することで、前記複数のＥＣＵの全てにおいて受信可能な態様で前記データを繰り返し送信するデータ送信手段（１０ｂ）と、を有し、
前記ＥＣＵは、
前記開始情報送信手段にて送信される前記開始情報を受信すると、前記フロー制御情報を送信する制御情報送信手段（２１ａ）を有し、
前記データ送信手段にて送信される前記データを受信するデータ受信手段（２１ｂ）を有していること
を特徴とする診断システム。
【請求項２】
請求項１に記載の診断システムにおいて、
前記データ受信手段は、他のＥＣＵから送信されてくる前記フロー制御情報に基づき、当該フロー制御情報に含まれる情報の最低値を採用することで、前記データを受信すること（Ｓ４００）
を特徴とする診断システム。
【請求項３】
請求項１又は２に記載の診断システムにおいて、
前記データ送信手段は、前記複数のＥＣＵのすべてから前記フロー制御情報を受信すると、前記データを送信すること（Ｓ１８０：ＹＥＳ，Ｓ１９０）
を特徴とする診断システム。
【請求項４】
請求項３に記載の診断システムにおいて、
前記データ送信手段は、前記開始情報送信手段にて前記開始情報を送信してから所定時間が経過した場合、前記複数のＥＣＵのすべてから前記フロー制御情報を受信したものとすること
を特徴とする診断システム。
【請求項５】
請求項１に記載の診断システムにおいて、
前記ＥＣＵのうちの特定のＥＣＵのみが前記制御情報送信手段を有しており、
前記制御情報送信手段は、各ＥＣＵの前記フロー制御情報に含まれる情報の最低値からなる前記フロー制御情報を前記診断装置へ送信すること（Ｓ７１０）
を特徴とする診断システム。
【請求項６】
請求項５に記載の診断システムにおいて、
前記データ送信手段は、前記特定のＥＣＵから前記フロー制御情報を受信すると、前記データを送信すること（Ｓ５８０）
を特徴とする診断システム。
【請求項７】
請求項１〜６の何れか一項に記載の診断システムにおいて、
前記フロー制御情報には、受信可能か否かを示す情報（ＦＳ）、連続受信可能なデータ数を示す情報（ＢＳ）、及び、連続受信における受信可能間隔を示す情報（ＳＴｍｉｎ）が含まれていること
を特徴とする診断システム。
【請求項８】
請求項１〜７の何れか一項に記載の診断システムを構成する診断装置。
【請求項９】
請求項１〜７の何れか一項に記載の診断システムを構成するＥＣＵ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＡＮ（Controller Area Network ）などのネットワーク規格で接続されるＥＣＵへのデータ送信技術に関する。
【背景技術】
【０００２】
車両内には、複数のＥＣＵが搭載される。当該ＥＣＵ同士は、ＣＡＮなどのネットワーク規格で接続されており、データの送受信を行う。例えばＣＡＮでは、８バイトのデータが１フレームとしてバスラインを伝送される。
【０００３】
このとき、バスラインに診断装置を接続して、各ＥＣＵの故障などを診断することが行われている。特に診断に関してはＩＳＯ（国際標準化機構）によってＩＳＯ１５７６５が発行されており、ＩＳＯ１５７６５−２の基準の第２部には、伝送プロトコルに関して詳細な説明がなされている。そのため、この基準を前提とした種々の提案が行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４４４８０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、伝送するデータのデータ長がＣＡＮの１フレームに収まる場合は、診断装置から各ＥＣＵへの個別のデータ送信（以下「ユニキャスト通信」という）も、全てのＥＣＵへのデータ送信（以下「ブロードキャスト通信」という）も、ＩＳＯ１５７６５−２に規定されている。一方、伝送するデータのデータ長がＣＡＮの１フレームに収まらない場合は、データをセグメント化して複数フレームにて送信するのであるが、ユニキャスト通信は規定されているものの、ブロードキャスト通信に関してはＩＳＯ１５７６５−２に規定がない。
【０００６】
そのため、従来、セグメント化されたデータを全てのＥＣＵへ送信する場合、ユニキャスト通信によって実現している。
しかしながら、各ＥＣＵに対して順番にデータを送信することになるため、通信時間が大きくなってしまう。したがって、例えば車両工場において複数台の車両の診断を順に行う場合など、その診断に要する時間が大きくなってしまっていた。また、各ＥＣＵに対して順番にデータを送信することになるため、各ＥＣＵでの受信完了時刻が異なり、当該データを同時期に渡すことができない。
【０００７】
本発明は、上述した課題を解決するためになされたものであり、その目的は、セグメント化されたデータを全てのＥＣＵへ送信する場合でも、通信時間を抑えることが可能で、しかも同時期にデータ送受信を完了させることが可能な診断システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた本発明の診断システム（１）は、セグメント化されたデータをブロードキャスト通信にて診断装置（１０）から当該診断装置にバスライン（４０）を介して接続される複数のＥＣＵ（２１，２２，２３）へ送信する。
【０００９】
ここで特に、診断装置では、開始情報送信手段（１０ａ）が、データ伝送の開始を示す開始情報（ＦＦ）を送信する。
開始情報送信手段にて送信される開始情報を受信すると、ＥＣＵの制御情報送信手段（２１ａ）が、フロー制御情報（ＦＣ）を送信する。フロー制御情報には、受信可能か否かを示す情報（ＦＳ）、連続受信可能なデータ数を示す情報（ＢＳ）、及び、連続受信における受信可能間隔を示す情報（ＳＴｍｉｎ）が含まれているという具合である。
【００１０】
診断装置では、データ送信手段（１０ｂ）が、ＥＣＵから送信されてくるフロー制御情報に基づき、当該フロー制御情報に含まれる情報の最低値を採用することで、複数のＥＣＵの全てにおいて受信可能な態様でデータを繰り返し送信する。なお、各ＥＣＵがそれぞれフロー制御情報を送信してもよいし、ある特定のＥＣＵがフロー制御情報を送信してもよい。
【００１１】
これに対し、ＥＣＵでは、データ受信手段（２１ｂ）が、データ送信手段にて送信されるデータを受信する。
つまり、ＥＣＵからフロー制御情報が送信されるため、当該フロー制御情報に含まれる各種情報の最低値を採用することで、複数のＥＣＵの全てに同時期にデータを送信するのである。このようにすれば、セグメント化されたデータを全てのＥＣＵへ送信する場合でも通信時間を抑えることができる。しかも同時期にデータ送受信を完了させることができる。
【００１２】
なお、本発明は、診断システムを構成する診断装置（１０）及びＥＣＵ（２１〜２３）に特徴を有するものであるため、診断装置やＥＣＵの発明として実現してもよい。
【図面の簡単な説明】
【００１３】
【図１】診断システムの概略構成を示すブロック図である。
【図２】セグメント化されたデータを送信する際の課題を示す説明図である。
【図３】ＦＣの内容を示す説明図である。
【図４】ＦＳ、ＢＳ、ＳＴｍｉｎの最低値を採用することを示す説明図である。
【図５】第１実施形態の送信処理の前半部分を示す説明図である。
【図６】第１実施形態の送信処理の後半部分を示す説明図である。
【図７】第１実施形態の受信処理の前半部分を示す説明図である。
【図８】第１実施形態の受信処理の後半部分を示す説明図である。
【図９】第２実施形態の送信処理の前半部分を示す説明図である。
【図１０】第２実施形態の送信処理の後半部分を示す説明図である。
【図１１】（ａ）は第２実施形態の特定ＥＣＵ受信処理を示す説明図であり、（ｂ）は第２実施形態の受信処理を示す説明図である。
【図１２】ユニキャスト通信による通信の課題を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面に基づいて説明する。
［第１実施形態］
図１に示すように、本実施形態の診断システム１は、診断装置１０と、複数のＥＣＵ２１，２２，２３と、ゲートウェイＥＣＵ３０と、各ＥＣＵ２１〜２３を接続するバスライン４０を備えている。
【００１５】
診断装置１０は、車両外部に接続されるいわゆるコンピュータとして構成されており、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ及びこれらを接続するバスラインを含む。外部のセンタ９０とのデータ通信が可能となっており、必要な情報をセンタ９０へアップロードしたり、センタ９０からダウンロードしたりする。また、センタ９０からの遠隔操作も可能である。なお、診断装置１０は、開始情報送信手段１０ａ及びデータ送信手段１０ｂとして機能する。また、診断装置１０が車両内部に接続される場合もある。例えばナビＥＣＵ等の一部となるという具合である。さらにまた、ゲートウェイＥＣＵ３０と診断装置１０とがＣＡＮ以外の通信プロトコル（Ethernet（登録商標）等）で接続され、ゲートウェイＥＣＵ３０が開始情報送信手段１０ａ及びデータ送信手段１０ｂとして機能する場合もある。したがって、この場合、ゲートウェイＥＣＵ３０が特許請求の範囲の「診断装置」に相当する。
【００１６】
ＥＣＵ２１〜２３は、車両に搭載されるものであり、例えばエンジンＥＣＵ、ナビＥＣＵ、ブレーキＥＣＵなどとして具現化される。なお、本実施形態では、説明を煩雑にしないために３つのＥＣＵ２１〜２３を備える構成としたが、さらに多くのＥＣＵを備えているのが一般的である。なお、以下では、各ＥＣＵ２１〜２３を区別する場合、図１中の記号を用いて、Ａ−ＥＣＵ２１、Ｂ−ＥＣＵ２２、Ｃ−ＥＣＵ２３と記述する。なお、Ａ−ＥＣＵ２１は、制御情報送信手段２１ａ及びデータ受信手段２１ｂとして機能する。Ｂ及びＣのＥＣＵ２２，２３も同様の手段を備えている。
【００１７】
ゲートウェイＥＣＵ３０は、車両外部の診断装置１０を接続するための構成であり、プロトコル変換を行う。
バスライン４０はＡ〜Ｃの各ＥＣＵ２１〜２３を接続するものであり、バスライン４０上のデータはＣＡＮのネットワーク規格で伝送される。
【００１８】
このような構成により、診断装置１０から各ＥＣＵ２１〜２３へ診断要求としてのデータを送信し、これに対し各ＥＣＵ２１〜２３が送信してくるデータによって診断を行うことが可能となる。
【００１９】
次に、本実施形態に対する理解を容易にするため、繰り返しになるが、従来の課題をここで述べる。
伝送するデータのデータ長がＣＡＮの１フレームに収まる場合は、ユニキャスト通信もブロードキャスト通信もＩＳＯ１５７６５−２に規定されている。ところが、伝送するデータのデータ長がＣＡＮの１フレームに収まらない場合は、データをセグメント化して複数フレームにて送信するのであるが、ユニキャスト通信は規定されているものの、ブロードキャスト通信に関してＩＳＯ１５７６５−２に規定がない。
【００２０】
そのため、従来、セグメント化されたデータを全てのＥＣＵへ送信する場合、ユニキャスト通信によって実現している。このとき、ユニキャスト通信によってセグメント化されたデータを送信する場合には、通信に要する時間が長くなってしまうという課題があった。また、通信完了時刻がそれぞれ異なるものになるため、同一のデータを同時に渡すことができなかった。
【００２１】
具体的には図１２に示すように、診断装置からＸ及びＹの２つのＥＣＵへセグメント化されたデータを送信することを考える。ユニキャスト通信では、まず一方のＸ−ＥＣＵへデータを送信し、次に同一のデータをＹ−ＥＣＵへ送信することになる。
【００２２】
ここではまず、診断装置がＦＦ（First Frame ）をＸ−ＥＣＵへ送信する。ＦＦは、送信の開始を示す開始情報である。これに対し、Ｘ−ＥＣＵがＦＣ（Flow Control）を送信してくる。ＦＣは、Ｘ−ＥＣＵにおけるデータ受信に関するフロー制御情報である。詳しくは後述する。
【００２３】
次に、診断装置は、Ｘ−ＥＣＵからのＦＣに基づいて、ＣＦ（Consecutive Frame ）を繰り返し送信する。そして、データ送信が完了すると、Ｘ−ＥＣＵからＳＦ（Single Frame）で応答が得られる。
【００２４】
次に診断装置は、Ｘ−ＥＣＵへのデータ送信と同様の手順で、Ｙ−ＥＣＵへのデータ送信を行う。
したがって、このようなユニキャスト通信では、通信に要する時間が長くなってしまう。また、データ送信の完了時刻がＴ１、Ｔ２という具合に異なるものになるため、同一のデータを同時に渡すことができない。
【００２５】
そこで本実施形態では、図２に示すように、セグメント化されたデータを送信する場合であっても、ブロードキャスト通信を行うようにした。なお、図２では、説明を簡単にするため、Ａ及びＢの２つのＥＣＵ２１，２２へのデータ送信について考える。
【００２６】
診断装置１０は、最初に、Ａ及びＢの２つのＥＣＵ２１，２２へＦＦを送信する。これに対し、Ａ及びＢの各ＥＣＵ２１，２２は、それぞれＦＣを送信してくる。ところが、これらのＦＣの内容が異なっている場合、その後、ＣＦをどのように送信したらよいのかが分からない。
【００２７】
ここでＦＣについての説明を加える。
図３に示すように、ＦＣは、ＦＳ、ＢＳ、ＳＴｍｉｎを含んでいる。
ＦＳは、値０，１，２のいずれかを取る。「０」は「連続受信可能」であり、「１」は今すぐには受信できないことを示す「待機」であり、「２」は、データ量が大きすぎて受信できないことを示す「オーバーフロー」である。
【００２８】
ＢＳは、連続受信可能なフレーム数を示すものであり、「０」は無制限に連続受信可能であり、１〜２５５は連続受信可能な「フレーム数」を示す。
ＳＴｍｉｎは、ＣＦと次のＣＦとの受信可能間隔を示すものであり、０〜１２７は、０〜１２７（ｍｓ）間隔が空いていれば受信可能であることを示している。また、２４０〜２４９は、２４０を減算して１００倍したもの、すなわち、１００〜９００μｓ以上空いていれば受信可能であることを示している。
【００２９】
したがって、図２において、診断装置１０は、送信されてくるＦＣに基づき、ＣＦを受信可能であるか否か、連続して受信できるフレーム数、さらに、受信可能な間隔を取得して、ＣＦを送信する。
【００３０】
しかしながら、図２に示したように、Ａ及びＢのＥＣＵ２１，２２から送信されるＦＣが異なっている場合、その後、ＣＦをどのように送信したらよいのかが分からない。
そこで、本実施形態では、Ａ〜Ｃの各ＥＣＵ２１〜２３から送信されるＦＣについて、ＦＳ、ＢＳ、ＳＴｍｉｎのそれぞれの最低値を採用する。つまり、それぞれの最低値を採用することにより、全てのＥＣＵ２１〜２３で受信可能とするのである。
【００３１】
例えば図４（ａ）に基づきこれを説明する。
ＦＳは、「０」が「連続受信可能」であり、「１」が「待機」であり、「２」が「オーバーフロー」である。したがって、Ａ−ＥＣＵ２１からのＦＳが「０」であり、Ｂ−ＥＣＵ２２からのＦＳが「０」であり、Ｃ−ＥＣＵ２３からのＦＳが「１」であるとすると、最低値の「１」を採用する。ＦＳについては、比較的動的に変化する。
【００３２】
また、ＢＳは連続受信可能なフレーム数を示すものであり、「０」は無制限に連続受信可能であり、１〜２５５は連続受信可能な「フレーム数」を示す。この値は、ほぼ固定値となるのが一般的である。したがって、Ａ−ＥＣＵ２１からのＢＳが「０」であり、Ｂ−ＥＣＵ２２からのＢＳが「１」であり、Ｃ−ＥＣＵ２３からのＢＳが「３」であるとすると、最低値「１」を採用する。
【００３３】
さらにまた、ＳＴｍｉｎは、ＣＦと次のＣＦとの受信可能間隔を示すものである。この値は、ほぼ固定値となるのが一般的である。Ａ−ＥＣＵ２１からのＳＴｍｉｎが「０」であり、Ｂ−ＥＣＵ２２からのＳＴｍｉｎが「１００」であり、Ｃ−ＥＣＵ２３からのＳＴｍｉｎが「２４５」であるとすると、受信間隔はそれぞれ、０ｍｓ、１００ｍｓ、５００（（２４５−２４０）×１００））μｓとなる。したがって、最低値１００ｍｓを採用する。
【００３４】
つまり、このように各パラメータの最低値を採用することで、Ａ〜ＣのＥＣＵ２１〜２３のいずれでもデータ受信が可能となる。
次に、診断装置１０における送信処理を、図５及び図６のフローチャートに基づいて説明する。
【００３５】
最初のＳ１００では、ＦＦをブロードキャストで送信する。この処理は、送信開始を示すＦＦを、Ａ〜Ｃの各ＥＣＵ２１〜２３へ送信するものである。これに対し、各ＥＣＵ２１〜２３はＦＣを送信してくる。
【００３６】
そこで続くＳ１１０では、ＦＣを受信する。上述したようにＦＣには、ＦＳ、ＢＳ、ＳＴｍｉｎが含まれる。
次のＳ１２０では、オーバーフローか否かを判断する。具体的には、Ｓ１１０にて受信したＦＣに含まれるＦＳが「２」であるときに肯定判断される。ここでオーバーフローであると判断された場合（Ｓ１２０：ＹＥＳ）、Ｓ１３０にてエラー処理を行い、その後、送信処理を終了する。この場合、すべてのＥＣＵ２１〜２３への送信が停止されることになる。一方、オーバーフローでないと判断された場合（Ｓ１２０：ＮＯ）、Ｓ１４０へ移行する。
【００３７】
Ｓ１４０では、待機か否かを判断する。具体的には、Ｓ１１０にて受信したＦＣに含まれるＦＳが「１」であるときに肯定判断される。ここで待機であると判断された場合（Ｓ１４０：ＹＥＳ）、Ｓ１５０にてタイムアウト時間をリトリガする。フローチャートには示していないが、Ｓ１００でＦＦを送信する際、タイムアウト時間を計測するカウンタをスタートさせる。例えばタイムアウト時間は１０００ｍｓとしておき、この間にＦＣの応答がない場合には、エラー処理を行うという具合である。ここでは、Ａ〜ＣのＥＣＵ２１〜２３のいずれかが待機となっている場合に、タイマをリセットしてタイムアウト時間をリトリガする。一方、待機でないと判断された場合（Ｓ１４０：ＮＯ）、すなわちＦＳが「０」で受信可能である場合には、Ｓ１６０へ移行する。
【００３８】
Ｓ１６０では、ＢＳの性能が悪い場合に、当該ＢＳを記憶する。この処理は、受信されるＦＣに含まれるＢＳの最低値を記憶するものである。最初は無条件にＢＳを記憶し、２回目以降の処理の際、既に記憶されているＢＳと今回受信したＦＣに含まれるＢＳとを比較し、今回受信したＢＳの値が悪い場合に上書きする。
【００３９】
続くＳ１７０では、ＳＴｍｉｎの性能が悪い場合に、当該ＳＴｍｉｎを記憶する。この処理は、受信されるＦＣに含まれるＳＴｍｉｎの最低値を記憶するものである。最初は無条件にＳＴｍｉｎを記憶し、２回目以降の処理の際、既に記憶されているＳＴｍｉｎと今回受信したＦＣに含まれるＳＴｍｉｎとを比較し、今回受信したＳＴｍｉｎの値が悪い場合に上書きする。
【００４０】
次の図６中のＳ１８０では、全てのＥＣＵ２１〜２３からＦＣの連続受信可能を受信したか否かを判断する。ＥＣＵ２１〜２３の数は、事前にブロードキャスト通信で非セグメント化のメッセージを送信し、その応答数として、予め取得することが考えられる。ここで全てのＥＣＵ２１〜２３からＦＣの連続受信可能を受信したと判断された場合（Ｓ１８０：ＹＥＳ）、Ｓ１９０へ移行する。一方、ＥＣＵ２１〜２３のうちでＦＣを受信していないものがある場合（Ｓ１８０：ＮＯ）、図５中のＳ１１０からの処理を繰り返す。
【００４１】
Ｓ１９０では、Ｓ１６０で記憶したＢＳ及びＳ１７０で記憶したＳＴｍｉｎに基づき、ＣＦを送信する。
続くＳ２００では、全てのデータを送信したか否かを判断する。ここで全てのデータを送信したと判断された場合（Ｓ２００：ＹＥＳ）、送信処理を終了する。一方、送信していないデータがあるうちは（Ｓ２００：ＮＯ）、Ｓ２１０へ移行する。
【００４２】
Ｓ２１０では、送信可能なフレーム数に到達したか否かを判断する。この処理は、ＢＳの最低値であるフレーム数に到達したか否かを判断するものである。ここで送信可能なフレーム数に到達したと判断された場合（Ｓ２１０：ＹＥＳ）、図５中のＳ１１０へ移行する。一方、送信可能なフレーム数に到達していないと判断された場合（Ｓ２１０：ＮＯ）、Ｓ１９０からの処理を繰り返す。
【００４３】
次に、各ＥＣＵ２１〜２３における受信処理を、図７及び図８のフローチャートに基づいて説明する。すべてのＥＣＵ２１〜２３で同様の処理が実行されるのであるが、ここではＡ−ＥＣＵ２１を主体として説明する。
【００４４】
最初のＳ３００では、ＦＦを受信する。この処理は、図５中のＳ１００に対応するものであり、診断装置１０からのＦＦを受信するものである。
続くＳ３１０では、ＦＣを送信する。上述したようにＦＣには、ＦＳ、ＢＳ、ＳＴｍｉｎが含まれる。
【００４５】
次のＳ３２０では、他のＢ及びＣのＥＣＵ２２，２３が送信するＦＣを受信する。この処理は、Ｂ及びＣのＥＣＵ２２，２３がどのような性能であるかを知るために行われる。
続くＳ３３０では、他のＥＣＵ２２，２３がオーバーフローか否かを判断する。具体的には、Ｓ３２０にて受信した他のＥＣＵ２２，２３からのＦＣに含まれるＦＳが「２」であるときに肯定判断される。ここでオーバーフローであると判断された場合（Ｓ３３０：ＹＥＳ）、Ｓ３４０にてエラー処理を行い、その後、受信処理を終了する。一方、オーバーフローでないと判断された場合（Ｓ３３０：ＮＯ）、Ｓ３５０へ移行する。
【００４６】
Ｓ３５０では、他のＥＣＵ２２，２３が待機か否かを判断する。具体的には、Ｓ３２０にて受信した他のＥＣＵ２２，２３からのＦＣに含まれるＦＳが「１」であるときに肯定判断される。ここで待機であると判断された場合（Ｓ３５０：ＹＥＳ）、Ｓ３６０にてタイムアウト時間をリトリガする。タイムアウト時間のリトリガについては診断装置１０の場合と同様である。一方、待機でないと判断された場合（Ｓ３５０：ＮＯ）、Ｓ３７０へ移行する。
【００４７】
Ｓ３７０では、ＢＳの性能が悪い場合に、当該ＢＳを記憶する。この処理は、自身のＢＳと他のＥＣＵ２２，２３からのＦＣに含まれるＢＳとを比較して、ＢＳの最低値を記憶するものである。
【００４８】
続くＳ３８０では、ＳＴｍｉｎの性能が悪い場合に、当該ＳＴｍｉｎを記憶する。この処理は、自身のＳＴｍｉｎと他のＥＣＵ２２，２３からのＦＣに含まれるＳＴｍｉｎとを比較して、ＳＴｍｉｎの最低値を記憶するものである。
【００４９】
次の図８中のＳ３９０では、ＣＦが送られてきたか否かを判断する。ここでＣＦが送られてきたと判断された場合（Ｓ３９０：ＹＥＳ）、Ｓ４００にてＣＦを受信し、その後、Ｓ４１０へ移行する。一方、ＣＦが送られてきていないと判断された場合（Ｓ３９０：ＮＯ）、図７中のＳ３２０からの処理を繰り返す。
【００５０】
続くＳ４１０では、全てのデータを受信したか否かを判断する。ここで全てのデータを受信したと判断された場合（Ｓ４１０：ＹＥＳ）、受信処理を終了する。一方、受信していないデータがあるうちは（Ｓ４１０：ＮＯ）、Ｓ４２０へ移行する。
【００５１】
Ｓ４２０では、受信可能なフレーム数に到達したか否かを判断する。この処理は、ＢＳの最低値であるフレーム数に到達したか否かを判断するものである。ここで受信可能なフレーム数に到達したと判断された場合（Ｓ４２０：ＹＥＳ）、図７中のＳ３１０へ移行する。一方、受信可能なフレーム数に到達していないと判断された場合（Ｓ４２０：ＮＯ）、Ｓ４００からの処理を繰り返す。
【００５２】
以上詳述したように、本実施形態では、セグメント化されたデータをブロードキャスト通信にて診断装置１０から当該診断装置１０にバスライン４０を介して接続される複数のＥＣＵ２１〜２３へ送信する。
【００５３】
診断装置１０は、Ａ〜Ｃの全てのＥＣＵ２１〜２３へＦＦを送信し（図５中のＳ１００）、このＦＦをＥＣＵ２１〜２３が受信すると（図７中のＳ３００）、ＥＣＵ２１〜２３は、ＦＣを送信する（Ｓ３１０）。診断装置１０は、このＦＣに基づき、ＦＣに含まれるＢＳ及びＳＴｍｉｎの最低値を記憶することで（図５中のＳ１６０，Ｓ１７０）、ＣＦを送信する（図６中のＳ１９０）。各ＥＣＵ２１〜２３は、診断装置１０からＣＦが送られてくると（図８中のＳ３９０：ＹＥＳ）、ＣＦを受信する（Ｓ４００）。
【００５４】
すなわち、診断装置１０は、データ伝送の開始を示す開始情報（ＦＦ）を送信する開始情報送信手段１０ａと、ＥＣＵ２１〜２３から送信されてくるフロー制御情報（ＦＣ）に基づき、当該フロー制御情報に含まれる情報の最低値を採用することで、複数のＥＣＵ２１〜２３の全てにおいて受信可能な態様でデータを繰り返し送信するデータ送信手段１０ｂと、を有し、一方、ＥＣＵ２１〜２３は、開始情報送信手段１０ａにて送信される開始情報を受信すると、フロー制御情報を送信する制御情報送信手段２１ａを有し、データ送信手段にて送信されるデータを受信するデータ受信手段２１ｂを有している。
【００５５】
つまり、ＥＣＵ２１〜２３からフロー制御情報が送信されるため、当該フロー制御情報に含まれる各種情報の最低値を採用することで、複数のＥＣＵ２１〜２３の全てに同時期にデータを送信するのである。このようにすれば、セグメント化されたデータを全てのＥＣＵ２１〜２３へ送信する場合でも通信時間を抑えることができる。しかも同時期にデータ送受信を完了させることができる。
【００５６】
また、本実施形態では、Ａ−ＥＣＵ２１を例に挙げると、Ａ−ＥＣＵ２１は、他のＢ及びＣのＥＣＵ２２，２３からのＦＣを受信し、ＦＣに含まれるＢＳ及びＳＴｍｉｎの最低値を記憶することで（図７中のＳ３７０，Ｓ３８０）、診断装置１０からのＣＦを受信する（Ｓ４００）。なお、Ｂ−ＥＣＵ２２、Ｃ−ＥＣＵ２３についても同様である。すなわち、データ受信手段２１ｂは、他のＥＣＵから送信されてくるフロー制御情報に基づき、当該フロー制御情報に含まれる情報の最低値を採用することで、データを受信する。これにより、診断装置１０のＣＦのデータ送信に際し、ＥＣＵ２１〜２３が適切に機能する。
【００５７】
さらにまた、本実施形態において診断装置１０は、全てのＥＣＵ２１〜２３からのＦＣの連続受信可能を受信すると（図６中のＳ１８０）、ＣＦを送信する（Ｓ１９０）。すなわち、データ送信手段１０ｂは、複数のＥＣＵ２１〜２３のすべてからフロー制御情報を受信すると、データを送信する。これにより、全てのＥＣＵ２１〜２３に対し、同時期にデータ送受信を完了させることができる。
【００５８】
具体的には、上述したように、ＥＣＵ２１〜２３の数は、事前にブロードキャスト通信で非セグメント化のメッセージを送信し、その応答数として、予め取得することが考えられる。また、このような診断に係る処理以外で別の通信方式を利用しデータを送信することによってＥＣＵの数を調べるようにしてもよい。さらにまた、システム設計時にＥＣＵの数が決定されているならば、設計情報にあるＥＣＵの数を採用してもよい。
【００５９】
また、具体的には、データ送信手段１０ｂは、開始情報送信手段１０ａにて開始情報を送信してから所定時間が経過した場合、複数のＥＣＵ２１〜２３のすべてからフロー制御情報を受信したものとすることが考えられる。このように応答時間で判断する場合、図４（ｂ）に示すように、ＦＣ応答までの時間を各ＥＣＵ２１〜２３について予め取得し、その最低値を採用することが考えられる。例えばＡ−ＥＣＵ２１が１００ｍｓ、Ｂ−ＥＣＵ２２が５ｍｓ、Ｃ−ＥＣＵ２３が０ｍｓである場合、１００ｍｓを採用するという具合である。このように開始情報を送信してからの経過時間でＥＣＵ２１〜２３の応答を判断する場合、比較的簡単に判断できるという点で有利である。
【００６０】
［第２実施形態］
上記実施形態では、診断装置１０は、Ａ〜Ｃの各ＥＣＵ２１〜２３から送信されてくるＦＣに基づいてデータを送信するものであった。これに対し、本実施形態は、代表となる特定ＥＣＵを先に決定しておき、当該特定ＥＣＵが診断装置１０へＦＣを送信する構成である。したがって、Ａ−ＥＣＵ２１のみが制御情報送信手段２１ａを備えている。
【００６１】
はじめに、診断装置１０における送信処理を、図９及び図１０のフローチャートに基づいて説明する。なお、特定ＥＣＵがＡ−ＥＣＵ２１であるものとして説明を続ける。
最初のＳ５００では、ＦＦをブロードキャストで送信する。この処理は、送信開始を示すＦＦを、Ａ〜Ｃの各ＥＣＵ２１〜２３へ送信するものである。これに対し、Ａ−ＥＣＵ２１がＦＣを送信してくる。
【００６２】
そこで続くＳ５１０では、ＦＣを受信する。上述したようにＦＣには、ＦＳ、ＢＳ、ＳＴｍｉｎが含まれる。この場合、ＦＳ、ＢＳ、ＳＴｍｉｎの最低値をＡ−ＥＣＵ２１が代表して送信してくる。
【００６３】
次のＳ５２０では、オーバーフローか否かを判断する。具体的には、Ｓ５１０にて受信したＦＣに含まれるＦＳが「２」であるときに肯定判断される。ここでオーバーフローであると判断された場合（Ｓ５２０：ＹＥＳ）、Ｓ５３０にてエラー処理を行い、その後、送信処理を終了する。この場合、すべてのＥＣＵ２１〜２３への送信が停止されることになる。一方、オーバーフローでないと判断された場合（Ｓ５２０：ＮＯ）、Ｓ５４０へ移行する。
【００６４】
Ｓ５４０では、待機か否かを判断する。具体的には、Ｓ５１０にて受信したＦＣに含まれるＦＳが「１」であるときに肯定判断される。ここで待機であると判断された場合（Ｓ５４０：ＹＥＳ）、Ｓ５５０にてタイムアウト時間をリトリガする。一方、待機でないと判断された場合（Ｓ５４０：ＮＯ）、すなわちＦＳが「０」で受信可能である場合には、Ｓ５６０へ移行する。
【００６５】
Ｓ５６０では、ＢＳを記憶する。この処理は、Ａ−ＥＣＵ２１からのＦＣに含まれるＢＳを記憶するものである。Ａ−ＥＣＵ２１は、Ａ〜ＣのＥＣＵ２１〜２３のＢＳのうちで最低のものを送信してくる。
【００６６】
続くＳ５７０では、ＳＴｍｉｎを記憶する。この処理は、Ａ−ＥＣＵ２１からのＦＣに含まれるＳＴｍｉｎを記憶するものである。Ａ−ＥＣＵ２１は、Ａ〜ＣのＥＣＵ２１〜２３のＳＴｍｉｎのうちで最低のものを送信してくる。
【００６７】
次の図１０中のＳ５８０では、ＣＦを送信する。この処理は、Ｓ５６０で記憶したＢＳ及びＳ５７０で記憶したＳＴｍｉｎに基づき、ＣＦを送信するものである。
続くＳ５９０では、全てのデータを送信したか否かを判断する。ここで全てのデータを送信したと判断された場合（Ｓ５９０：ＹＥＳ）、送信処理を終了する。一方、送信していないデータがあるうちは（Ｓ５９０：ＮＯ）、Ｓ６００へ移行する。
【００６８】
Ｓ６００では、送信可能なフレーム数に到達したか否かを判断する。この処理は、ＢＳの最低値であるフレーム数に到達したか否かを判断するものである。ここで送信可能なフレーム数に到達したと判断された場合（Ｓ６００：ＹＥＳ）、図９中のＳ５１０へ移行する。一方、送信可能なフレーム数に到達していないと判断された場合（Ｓ６００：ＮＯ）、Ｓ５８０からの処理を繰り返す。
【００６９】
次に、Ａ−ＥＣＵ２１における特定ＥＣＵ受信処理を、図１１（ａ）のフローチャートに基づいて説明する。
最初のＳ７００では、ＦＦを受信する。この処理は、図９中のＳ５００に対応するものであり、診断装置１０からのＦＦを受信するものである。
【００７０】
続くＳ７１０では、ＦＣを送信する。Ａ−ＥＣＵ２１は、他のＥＣＵ２２，２３の代表として、ＦＣを診断装置１０へ送信する。このＦＣには、ＦＳ、ＢＳ、ＳＴｍｉｎの最低値が含まれる。
【００７１】
次のＳ７２０では、送信したＦＣに基づいて診断装置１０から送られてくるＣＦを受信する。
続くＳ７３０では、全てのデータを受信したか否かを判断する。ここで全てのデータを受信したと判断された場合（Ｓ７３０：ＹＥＳ）、特定ＥＣＵ受信処理を終了する。一方、受信していないデータがあるうちは（Ｓ７３０：ＮＯ）、Ｓ７４０へ移行する。
【００７２】
Ｓ７４０では、受信可能なフレーム数に到達したか否かを判断する。この処理は、ＢＳの示すフレーム数に到達したか否かを判断するものである。ここで受信可能なフレーム数に到達したと判断された場合（Ｓ７４０：ＹＥＳ）、Ｓ７１０からの処理を繰り返す。一方、受信可能なフレーム数に到達していないと判断された場合（Ｓ７４０：ＮＯ）、Ｓ７２０からの処理を繰り返す。
【００７３】
次に、Ｂ及びＣのＥＣＵ２２，２３における受信処理を、図１１（ｂ）のフローチャートに基づいて説明する。
最初のＳ８００では、ＦＦを受信する。この処理は、図９中のＳ５００に対応するものであり、診断装置１０からのＦＦを受信するものである。
【００７４】
次のＳ８１０では、送信したＦＣに基づいて診断装置１０から送られてくるＣＦを受信する。
続くＳ８２０では、全てのデータを受信したか否かを判断する。ここで全てのデータを受信したと判断された場合（Ｓ８２０：ＹＥＳ）、受信処理を終了する。一方、受信していないデータがあるうちは（Ｓ８２０：ＮＯ）、Ｓ８１０からの処理を繰り返す。
【００７５】
本実施形態においても、セグメント化されたデータをブロードキャスト通信にて診断装置１０から当該診断装置１０にバスライン４０を介して接続される複数のＥＣＵ２１〜２３へ送信する。
【００７６】
診断装置１０は、Ａ〜Ｃの全てのＥＣＵ２１〜２３へＦＦを送信し（図９中のＳ５００）、このＦＦをＥＣＵ２１〜２３が受信すると（図１１（ａ）中のＳ７００，図１１（ｂ）中のＳ８００）、Ａ−ＥＣＵ２１が代表してＦＣを送信する（図１１（ａ）中のＳ７１０）。診断装置１０は、このＦＣに基づき、ＦＣに含まれるＢＳ及びＳＴｍｉｎを記憶することで（図９中のＳ５６０，Ｓ５７０）、ＣＦを送信する（図１０中のＳ５８０）。各ＥＣＵ２１〜２３は、診断装置１０からＣＦが送られてくるとＣＦを受信する（図１１（ａ）中のＳ７２０、図１１（ｂ）中のＳ８１０）。
【００７７】
すなわち、ＥＣＵ２１〜２３のうちの特定のＥＣＵ２１のみが制御情報送信手段２１ａを有しており、制御情報送信手段２１ａは、各ＥＣＵ２１〜２３のフロー制御情報に含まれる情報の最低値からなるフロー制御情報を診断装置１０へ送信する。
【００７８】
つまり、特定のＡ−ＥＣＵ２１からフロー制御情報が送信されるため、当該フロー制御情報に含まれる各種情報を採用することで、複数のＥＣＵ２１〜２３の全てに同時期にデータを送信するのである。このようにすれば、セグメント化されたデータを全てのＥＣＵ２１〜２３へ送信する場合でも通信時間を抑えることができる。しかも同時期にデータ送受信を完了させることができる。
【００７９】
本実施形態では、Ａ−ＥＣＵ２１からのＦＣを受信すると（図９中のＳ５１０）、ＣＦを送信する（図１０中のＳ５８０）。すなわち、データ送信手段１０ｂは、特定のＥＣＵ２１からフロー制御情報を受信すると、データを送信する。このときは、ＦＣ応答までの時間がもっとも長いＥＣＵを特定ＥＣＵにすることが考えられる。この場合、代表となる特定のＥＣＵ２１が決められているため、ＥＣＵ２１〜２３の数を取得する必要がないという点で有利である。
【００８０】
以上、本発明は、上記実施形態に何ら限定されるものではなく、その技術的範囲を逸脱しない限り、種々なる形態で実施可能である。
図５中のＳ１３０、図７中のＳ３４０、及び、図９中のＳ５３０におけるエラー処理は、以降の処理を中断するものであった。これに対し、オーバーフローとなったＥＣＵを除外して処理を継続するようにしてもよい。また、診断装置１０の側でデータ長を短くするような処理を行うようにしてもよい。
【符号の説明】
【００８１】
１…診断システム、１０…診断装置、１０ａ…開始情報送信手段、１０ｂ…データ送信手段、２１，２２，２３…ＥＣＵ、２１ａ…制御情報送信手段、２１ｂ…データ受信手段、３０…ゲートウェイＥＣＵ、４０…バスライン、９０…センタ
【図１】
2014204314.tif 000003
【図２】
2014204314.tif 000004
【図３】
2014204314.tif 000005
【図４】
2014204314.tif 000006
【図５】
2014204314.tif 000007
【図６】
2014204314.tif 000008
【図７】
2014204314.tif 000009
【図８】
2014204314.tif 000010
【図９】
2014204314.tif 000011
【図１０】
2014204314.tif 000012
【図１１】
2014204314.tif 000013
【図１２】
2014204314.tif 000014