(57)【要約】【課題】特定のユニット間での通信を優先する。【解決手段】ユニット１００ｆは、抑制対象のユニット１００ａ〜１００ｄによるデータの送信の頻度を抑制するために、ユニット１００ａ〜１００ｄでの送信不成功の状態を疑似的に発生させ、抑制対象のユニット１００ａ〜１００ｄによる送信が抑制された状態で、抑制対象でない電子制御装置１００ｅへ新たなデータを送信する。したがって、特定のユニット１００ｆおよび１００ｅ間での通信が優先され、その間の転送速度が相対的に高まる。【選択図】            図１
2004363761.tif 000002
【特許請求の範囲】
【請求項１】
複数の電子制御装置が接続されたバス型ネットワークでのデータ通信方法であって、
データを送信している電子制御装置が抑制対象の電子制御装置であるか否かを判断する判断段階と、
前記データを送信している電子制御装置が抑制対象の電子制御装置である場合に、当該電子制御装置での送信不成功の状態を疑似的に発生させる状態発生段階と、
前記抑制対象の電子制御装置での送信不成功の状態の発生度合い応じて当該抑制対象の電子制御装置による送信が抑制された状態で、前記抑制対象でない電子制御装置間で新たなデータを送信する送信段階と、を有することを特徴とするデータ通信方法。
【請求項２】
前記データ通信方法は、前記バス型ネットワークを介してデータの識別子を受信する受信段階を有し、
前記判断段階は、前記識別子に基づいて、データを送信している電子制御装置が抑制対象の電子制御装置であるか否かを判断することを特徴とする請求項１に記載のデータ通信方法。
【請求項３】
前記抑制対象の電子制御装置では、当該抑制対象の電子制御装置からのデータの送信時に、当該抑制対象の電子制御装置による出力レベルと前記バス型ネットワークでのバスレベルとが不一致となった場合に送信不成功の状態と判断されることを特徴とする請求項１に記載のデータ通信方法。
【請求項４】
前記状態発生段階は、前記抑制対象の電子制御装置によるデータ送信時に、前記バス型ネットワークでのバスレベルをビット単位で前記抑制対象の電子制御装置の外部から変化させて、前記抑制対象の電子制御装置での送信不成功の状態を疑似的に発生させる段階を含むことを特徴とする請求項３に記載のデータ通信方法。
【請求項５】
前記状態発生段階は、前記抑制対象の電子制御装置によるデータ送信時に、ビットが前記所定数以上連続して一定レベルとなる電気信号を前記抑制対象の電子制御装置の外部から前記バス型ネットワーク上に与えることによって、前記抑制対象の電子制御装置での送信不成功の状態を疑似的に発生させる段階を含むことを特徴とする請求項３に記載のデータ通信方法。
【請求項６】
前記新たなデータを送受信する電子制御装置を除くすべての電子制御装置が前記抑制対象の電子制御装置となることを特徴とする請求項１〜５のいずれか一つに記載のデータ通信方法。
【請求項７】
少なくとも、前記判断段階、および前記状態発生段階は、前記バス型ネットワークに着脱自在に接続される電子制御装置によって実行されることを特徴とする請求項１〜６のいずれか一つに記載の電子制御装置。
【請求項８】
前記バス型ネットワークは車両に設置される車両ネットワークであることを特徴とする請求項１〜７のいずれか一つに記載の電子制御装置。
【請求項９】
前記送信段階は、前記車両ネットワークを介して車両内に設置された電子制御装置にデータまたはプログラムを書き込む段階を含むことを特徴とする請求項８に記載の電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ通信方法に関し、特に、車両ネットワークに用いられるデータ通信方法に関する。
【０００２】
【従来の技術】
近年、自動車分野のシステムにおいて、車両ネットワークが注目されている。車両ネットワークには、エンジン、トランスミッション、空調、およびオペレーションパネルなどの各電子制御装置（ユニット）が相互に通信可能に接続される。したがって、各ユニットを１対１で接続する場合とくらべて配線数を少なくし、重量を削減することができる。
【０００３】
車両ネットワークとして利用できるものとして、コントローラエリアネットワーク（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、以下「ＣＡＮ」と称する）と呼ばれる通信プロトコルが知られている（非特許文献１参照）。ＣＡＮプロトコルでは、複数のユニット（ノード）はバス型に接続される。そして、データは、すべてのユニットに対して決まった形式で送信される。送信されるデータの先頭には、識別子（ＩＤ）が含まれており、各ユニットがデータを受信する際には、まず識別子が読み込まれ、自己に必要なデータか否かが判断される。
【０００４】
ＣＡＮプロトコルでは、バス型ネットワークが空いている時には、バス型ネットワークに接続されている総てのユニットが新たなデータの送信を開始することができる。一方、２つ以上のユニットが同時にデータの送信を始めた場合には、上述した識別子によって優先順位が決定される。具体的には、２つ以上のユニットが同時にデータの送信を開始した場合、各データの識別子に対して、ビット単位で調停（アービトレーション）が行われる。そして、調停の結果、一番高い優先順位を持つと判断されたユニットは、そのまま送信を続ける。一方、優先順位が低かったユニットは、直ちに送信を止める。
【０００５】
識別子によって示される優先順位は、予め設定されている。一般的には、エンジン関係のデータ、自動変速機関係のデータ、およびブレーキ関係などのデータのように頻繁に更新する必要があるデータには、高い優先順位を示す識別子が割り振られている。一方、組立て、修理、および整備などにのみ用いるデータであって定常的には通信されないデータには、低い優先順位を示す識別子が割り振られている。したがって、優先順位が高いデータの通信が優先されるため、識別子によって示される優先順位が低いデータを大量に通信しようとする場合、通信時間が長くかかってしまう。
【０００６】
しかしながら、状況によっては、本来は優先順位が低いデータを、他のデータに優先して通信したい場合がある。たとえば、生産工場やサービス工場における整備の際に、所望のユニットへ新たなデータやプログラムを書き込む場合には、これらデータやプログラムに割り振られた識別子で示される本来の優先順位は低いにもかかわらず、一時的に、他のデータに優先して通信できるようにすることが望ましい。言い換えれば、特定のユニット間での通信を、他のユニット間での通信に優先する必要性がある。このような必要性があるにもかかわらず、従来では、特定のユニット間での通信を他のユニット間での通信に優先させることが困難であった。
【０００７】
【非特許文献１】
株式会社ルネサステクノロジ、“ＣＡＮ入門書  Ｖｅｒ．２．０１”、［ｏｎｌｉｎｅ］、平成１２年１０月、株式会社ルネサステクノロジ、［平成１５年５月１３日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｒｅｎｅｓａｓ．ｃｏｍ／ｊｐｎ／ｐｒｏｄｕｃｔｓ／ｍｐｕｍｃｕ／ｓｐｅｃｉｆｉｃ／ｃａｎ＃ｍｃｕ／ａｐｌｌｉｓｔ．ｈｔｍ＞
【０００８】
【発明が解決しようとする課題】
したがって、本発明は、複数のユニットが接続されたネットワークにおいて、特定のユニット間での通信を他のユニット間での通信よりも一時的に優先することができ、特定のユニット間での転送速度を相対的に高めることができるデータ通信方法を提供することである。
【０００９】
【課題を解決するための手段】
本発明の上記目的は、下記の手段によって達成される。
【００１０】
本発明のデータ通信方法は、複数の電子制御装置が接続されたバス型ネットワークでのデータ通信方法であって、データを送信している電子制御装置が抑制対象の電子制御装置であるか否かを判断する判断段階と、前記データを送信している電子制御装置が抑制対象の電子制御装置である場合に、当該電子制御装置での送信不成功の状態を疑似的に発生させる状態発生段階と、前記抑制対象の電子制御装置での送信不成功の状態の発生度合い応じて当該抑制対象の電子制御装置による送信が抑制された状態で、前記抑制対象でない電子制御装置間で新たなデータを送信する送信段階と、を有することを特徴とする。
【００１１】
【発明の効果】
本発明によれば、抑制対象の電子制御装置によるデータの送信の頻度を抑制するために、当該電子制御装置での送信不成功の状態を疑似的に発生させ、抑制対象の電子制御装置による送信が抑制された状態で、抑制対象でない電子制御装置間で新たなデータを送信するので、特定の電子制御装置間での通信を他の電子制御装置間での通信よりも一時的に優先することができ、特定の電子制御装置間での転送速度を相対的に高めることができる。
【００１２】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１３】
図１は、本発明が適用される車両ネットワークシステムを示すブロック図である。
【００１４】
この車両ネットワークシステムでは、図１に示されるとおり、複数のユニット（ノード）１００ａ〜１００ｆがバス型ネットワーク２００を介して通信可能に接続されている。バス型ネットワーク２００は、２本のワイヤ２００ａ，２００ｂで構成されている。バス型ネットワーク２００は、好ましくは、車両ネットワークであり、より具体的には、コントローラエリアネットワーク（ＣＡＮ）とよばれ車両用ＬＡＮ（ローカルエリアネットワーク）である。
【００１５】
本実施の形態によるデータ通信方法では、ユニット１００ｆは、データの送信先として希望するユニット（たとえば、ユニット１００ｅ）以外のユニット１００ａ〜１００ｄがデータを送信し始めた際に、適宜にエラーフラグを送信して送信エラー（送信不成功）状態を疑似的に発生させる機能を有する。この結果、ユニット１００ａ〜１００ｄは、送信エラーを繰り返し、後述するようにエラーパッシブ状態と呼ばれる状態に追い込まれる。エラーパッシブ状態となったユニット１００ａ〜１００ｄでは、データの送信が抑制される。そして、ユニット１００ａ〜１００ｄによる送信が抑制された状態で、ユニット１００ｆは、相対的に高められた転送速度でユニット１００ｅに所望の新たなデータを送信する。
【００１６】
ここで、各ユニット１００ａ〜１００ｆ（以下、総括して、ユニット１００と称する場合がある）は、電子制御装置（ＥＣＵ）である。各ユニット１００は、車両に搭載されたエンジン、自動変速機器、ブレーキ、空調機器、およびオペレーションパネルなどを制御する装置である。
【００１７】
特に、ユニット１００ｆは、自由にエラーフラグを出力することができる電子制御装置（ＥＣＵ）である。なお、エラーフラグについては、後述する。本実施の形態のユニット１００ｆは、ネットワーク１００が設けられている車両を整備する場合などにおいて、他のユニット（たとえば、ユニット１００ｅ）へのプログラムやデータの書き込みするために使用される。したがって、ユニット１００ｆは、通常時には必要とされないため、図１に示されるとおり、コネクタ３００を介して、ネットワーク２００に着脱自在に取り付け可能に構成されていてもよい。
【００１８】
図２は、ユニット１００ｆの構成の一例を示す。ユニット１００ｆは、マイクロコンピュータ１１０とトランシーバ１２０とを備える。なお、他のユニット１００ａ〜１００ｅについても、基本的な構成は、図２に示される構成と同様である。
【００１９】
マイクロコンピュータ１１０は、各部を制御するＣＰＵ１１１、通信用コントローラ１１２、タイマ１１３、およびＡＤ変換器１１４などを備える。このうち、通信用コントローラ１１２は、トランシーバ１２０を制御して、２本のワイヤ２００ａ，２００ｂ間の電位差によりバス型ネットワーク２００のレベル（バスレベル）を検出する。また、送信の際には、通信用コントローラ１１２は、トランシーバ１２０を制御して、２本のワイヤ２００ａ，２００ｂ間の電位差としてのバスレベルを変化させることによって、受信側のユニットにデータが伝達される。
【００２０】
ネットワーク２００のバスレベルには、ロー（Ｌｏｗ）レベルと、ハイ（Ｈｉｇｈ）レベルがあり、必ずどちらか一方のレベルをとる。ネットワーク２００に接続されているユニット１００ａ〜１００ｆのうち、１つでもローレベルを出力すると、ネットワーク２００のバスレベルはローレベルとなる。いいかえれば、すべてのユニット１００ａ〜１００ｆがハイレベルを出力しない限り、ネットワーク２００のバスレベルは、ハイレベルにはならない。各ユニット１００は、ローレベルとハイレベルとを適宜に切り替えることによって、論理レベル０と論理レベル１との配列を作り出し、データを出力することができる。
【００２１】
なお、ネットワーク２００に接続されているユニット１００ａ〜１００ｆのうち１つでも所定レベル（この場合には、ローレベル）を出力すると、ネットワーク２００のバスレベルも所定レベルとなることから、ＣＡＮやデバイスネットの場合は、この所定レベル（ローレベル）をドミナント（優勢）レベルとよび、他方のレベル（この場合には、ハイレベル）をレセシブレベルと呼ぶ。論理的にワイヤードアンドされたバス型のネットワークの場合、ドミナントレベルは、ローレベル（論理レベル「０」）であり、レセシブレベルは、ハイレベル（論理レベル「１」）である。以下の説明では、ローレベル（論理レベル０）がドミナントレベルであり、ハイレベル（論理レベル１）がレセシブレベルである場合を例にとって説明する。
【００２２】
図３は、ユニットによって出力されるデータのフレーム構成を模式的に示したものである。
【００２３】
ユニット１００によって送出されるデータは、データフレームと呼ばれるデータ伝送単位に区切られて送信される。図３に示されるように、データフレーム４００は、スタートオブフレーム（ＳＯＦ）４０１、調停フィールド（アビトレーションフィールド）４０２、制御フィールド（コントロールフィールド）４０３、データフィールド４０４、ＣＲＤフィールド４０５、ＡＣＫフィールド４０６、およびエンドオブフレーム４０７とよばれる７つの部分から構成されている。なお、フレームの構成は、ＣＡＮプロトコルで規定されている従来の構成と同様である。したがって、詳しい説明を省略する。
【００２４】
ここで、調停フィールド４０２には、識別子（ＩＤ）が含まれている。この識別子（ＩＤ）は、フレームの優先順位を示す。具体的には、たとえば、１１ビットからなる識別子においてドミナントレベル（ローレベル、すなわち、論理レベル「０」。以下同じ）が先頭から連続する数が多いほど優先順位が高い。また、この識別子は、データの内容に応じて設定されている。したがって、受信側のユニットは、この識別子によって取得するデータを区別することができる。また、識別子に基づいて、データを送信しているユニット１００を判断することもできる。
【００２５】
また、制御フィールド４０３以降の各ビットにおいて、ドミナントレベル（論理レベル「０」）が６ビット以上並ばないようにフレームが構成される。すなわち、ドミナントレベルが６ビット以上に亘って並ぶデータの場合は、スタフビットと呼ばれるレセシブレベル（ハイレベル、すなわち、論理レベル「１」。以下同じ）のビットが自動的に挿入され、最終的にドミナントレベルが６ビット以上並ばないようにフレームが構成される。そして、このようにドミナントレベルが６ビット以上並ばないように構成されたフレームが送信される。
【００２６】
ユニット１００は、データを送信する際に、ネットワーク２００のバスレベルについて検出している。そして、ユニット１００による出力レベルとネットワーク２００でのバスレベルとが不一致となった場合に、送信不成功の状態であると判断される。たとえば、上述したように、最終的にドミナントレベルが６ビット以上並ばないようにフレームを構成した上でデータを送信しているはずであるにもかかわらず、ネットワーク上で検出されるバスレベルが６ビット以上連続してドミナントレベルとなった場合には、ユニット１００による出力レベルとネットワーク２００でのバスレベルとが必ず不一致となるので、送信エラー（送信不成功）の状態であると判断することができる。
【００２７】
送信不成功の状態が発生した場合には、ユニット１００は、送信エラーカウンタ値（ＴＥＣ）と呼ばれる値を所定の加算値（たとえば、＋８）だけ増加させる。この結果、送信エラーカウンタ値が所定値（たとえば、１２７）より大きくなると、ユニット１００は、後述するエラーパッシブ状態とよばれるエラー状態となる。
【００２８】
図４は、ユニットのエラー状態について模式的に示す図である。
【００２９】
図４に示されるとおり、ユニット１００は、エラーアクティブ状態、エラーパッシブ状態、およびバスオフ状態と呼ばれる３つの状態のうち、どれか一つの状態にある。
【００３０】
初期状態では、ユニット１００は、エラーアクティブ状態である。エラーアクティブ状態では、ユニットは、送信および受信を正常に実行できる。一方、送信エラー（送信不成功）の状態の発生度合いに応じて、送信エラーカウンタ値ＴＥＣが１２７より大きくとなると、状態は、エラーアクティブ状態からエラーパッシブ状態へと遷移する。そして、送信エラーカウンタ値ＴＥＣが２５５より大きくなると、状態は、バスオフ状態へ遷移する。
【００３１】
エラーパッシブ状態となったユニットでは、先の送信を完了した後にすぐに送信を開始することができなくなり、送信が抑制される。なお、一旦、エラーパッシブ状態となったユニット１００も、その後に正常な送信を繰り返すことによって、送信エラーカウンタ値ＴＥＣが１２７以下となることで、エラーアクティブ状態へ復帰する。
【００３２】
図５は、上記の説明内容をまとめたフローチャートであり、各ユニットにおける送信エラーの判断およびその取扱いの処理について示すフローチャートである。
【００３３】
まず、初期状態では、ユニットは、エラーアクティブ状態である（ステップＳ１０１）。ユニット１００は、データを送信する際に（ステップＳ１０２）、ネットワーク２００上の状態を検出している（ステップＳ１０３）。そして、データを送信するユニットの出力レベルとネットワーク２００のバスのレベルが不一致か否かが判断される（ステップＳ１０４）。データを送信するユニットの出力レベルとネットワーク２００のバスのレベルが不一致の場合には（ステップＳ１０４：ＹＥＳ）、送信エラー（送信不成功）と判断され、送信エラーカウンタに所定の加算値（たとえば、８）が加えられる（ステップＳ１０５）。一方、データを送信するユニットの出力レベルとネットワーク２００のバスのレベルが一致している場合には（ステップＳ１０４：ＮＯ）、他のエラーが発生していないことを条件に、正常に送信されたものと判断され、送信エラーカウンタから所定の減算値（たとえば、１）が減じられる（ステップＳ１０６）。
【００３４】
たとえば、ネットワーク２００のバスレベルにおいてドミナントレベル（ローレベル）が所定ビット数（６ビット）以上連続している場合には（ステップＳ１０４：ＹＥＳ）、送信ユニットの出力レベルとネットワーク２００のバスのレベルが必ず不一致であるので、送信エラー（送信不成功）と判断される。一方、ドミナントレベル（ローレベル）が所定ビット数（６ビット）以上連続していない場合には（ステップＳ１０４：ＮＯ）、他のエラーが発生していないことを条件に、正常に送信されたものと判断される。
【００３５】
この結果、カウント数が所定値（たとえば、１２７）より大きくなると（ステップＳ１０７：ＹＥＳ）、エラーパッシブ状態となり、所定時間が経過するまで（ステップＳ１０９：ＹＥＳ）、データの送信（ステップＳ１０２）が実行できなくなり、送信が抑制された状態となる。
【００３６】
以上のように、本実施の形態で前提としているユニット１００では、データを送信するユニットの出力レベルとネットワーク２００のバスのレベルとが不一致となった場合に送信不成功の状態と判断されるとともに、送信不成功の状態の発生度合いに応じて、データの送信が抑制される状態（エラーパッシブ状態）に遷移する
次に、本実施の形態のデータ通信方法の処理を示すフローチャートを参照しつつ、その内容を詳述する。なお、ユニット１００ｆからユニット１００ｅへデータを送信する場合を例にとって説明する。以下の各ステップでの処理は、ユニット１００ｆのＣＰＵ１１１および通信用コントローラ１１２などによって実行される。
【００３７】
図６は、本実施の形態のデータ通信方法の処理を示すフローチャートである。図６は、ユニット１００ｆの処理について示している。
【００３８】
図６において、ユニット１００ｆが新たなデータの送信を希望しない場合には（ステップＳ２０１：ＮＯ）、通常の処理を実行し（ステップＳ２０２）、ステップＳ２０３〜ステップＳ２０８の処理は実行しない。一方、ユニット１００ｆが新たなデータの送信を希望する場合には（ステップＳ２０１：ＹＥＳ）、ステップＳ２０３〜ステップＳ２０８以下の本実施の形態に特有の処理を実行する。
【００３９】
まず、抑制対象となるユニットに関する情報が設定される（ステップＳ２０３）。ここでは、ユニット１００ａ〜１００ｄが抑制対象であり、ユニット１００ｅ（自機も含めれば、ユニット１００ｅとユニット１００ｆ）が抑制対象でない場合を例にとる。このステップＳ２０３では、抑制対象となるデータの識別子（ＩＤ）が設定される。もちろん、抑制対象とならないユニット１００ｅに関する情報を定めて、それ以外のユニット１００ａ〜１００ｄの総てを抑制対象として設定してもよい。すなわち、各ユニット１００のうち、抑制対象となるものと抑制対象とならないものが区別可能であれば、いかなる設定方法を採用することも可能である。
【００４０】
次に、ネットワーク２００を介してデータフレームが受信される。この場合、ユニット１００ｆは、識別子（ＩＤ）が含まれる調停フィールド４０２（図３参照）までは少なくとも受信する（ステップＳ２０４）。したがって、制御フィールド４０３以降は、受信する必要はない。
【００４１】
そして、ステップＳ２０４で受信された識別子（ＩＤ）に基づいて、データフレームを送信しているユニットが抑制対象のユニット１００ａ〜１００ｄであるか否かが判断される（ステップＳ２０５）。データフレームを送信しているユニットが抑制対象でないユニット１００ｅである場合には（ステップＳ２０５：ＮＯ）、ステップＳ２０４に戻る。
【００４２】
一方、データフレームを送信しているユニットが抑制対象のユニット１００ａ〜１００ｄである場合には（ステップＳ２０５：ＹＥＳ）、エラーフラグを送信する（ステップＳ２０６）。ここで、エラーフラグは、ＣＡＮプロトコルで定義され、エラーを検知したときに他のユニットへエラーを通知するためのフレームである。本実施の形態のユニット１００ｆでは、通常の場合と異なり、抑制対象のユニット１００ａ〜１００ｄでの送信エラーの状態を疑似的に作り出すべく、実際のエラーの有無にかかわらず、エラーフレームを送信することができる。
【００４３】
ここで、エラーフラグは、ビットが所定数（６つ）以上連続して一定レベル（具体的には、ドミナントレベルであるローレベル）となる電気信号である。エラーフラグがユニット１０ｆからネットワーク２００上に送出されることによって、データを送信しているユニット１００ａ〜１００ｄ（たとえば、ユニット１００ｂ）は、自機による出力レベルと、ネットワーク２００でのバスレベルとが不一致となったと判断し、自機のデータ送信エラー（送信不成功）の状態であると判断する。
【００４４】
このように、ステップＳ２０６の処理は、抑制対象のユニット１００ａ〜１００ｄでの送信不成功の状態を外部から疑似的に発生させる処理である。より具体的には、ステップＳ２０６の処理は、ビットが所定数（６つ）以上連続して一定レベル（ローレベル）となる電気信号をネットワーク上に送出することによって、抑制対象のユニット１００ａ〜１００ｄでの送信不成功の状態を疑似的に発生させる処理である。
【００４５】
ステップＳ２０３〜ステップＳ２０６の処理が複数回にわたって繰り返されると、抑制対象のユニット１００ａ〜１００ｄは、図５のフローチャートのステップＳ１０４、Ｓ１０５、Ｓ１０７、およびＳ１０８で既に説明したように、それぞれの送信エラーカウンタの値が１２７を超えて、エラーパッシブ状態となり、送信が抑制される。
【００４６】
図６のステップＳ２０７では、抑制対象のユニット１００ａ〜１００ｄがエラーパッシブ状態となったかどうかが推定される。すなわち、ユニット１００ｆは、直接的に、他のユニットがエラーパッシブ状態であるか否かを知ることができない。したがって、ユニット１００ｆは、抑制対象のユニット１００ａ〜１００ｄのそれぞれについて、エラーフラグを送信した回数などをカウントアップしていくことで、抑制対象のユニット１００ａ〜１００ｄが既にエラーパッシブ状態となっているかを推定する。一度のエラーフラグの送信によって１回の送信エラーが発生し、送信エラーカウンタの値は、たとえば＋８増える。したがって、送信エラーカウンタの値が１２７を超えてエラーパッシブ状態となるためには、たとえば、ユニット１００ａ〜１００ｄの夫々に対して１６回以上のエラーフラグが送信する必要がある。
【００４７】
なお、抑制対象のユニット１００ａ〜１００ｄが複数ある場合には、最終的に抑制対象のユニット１００ａ〜１００ｄのすべてがエラーパッシブ状態となればよく、その順序には依存しない。実際には、ユニット１００ａ〜１００ｄのなかで識別子によって示される優先順位が高いデータを送出しているものから順番にエラーパッシブ状態に遷移する。
【００４８】
そして、すべての抑制対象のユニット１００ａ〜１００ｄがエラーパッシブ状態になっていないと推定される段階では（ステップＳ２０７：ＮＯ）、ステップＳ２０４に戻り、抑制対象にユニットによるデータ送信時にエラーフラグを送信して、送信不成功の状態を疑似的に発生させる処理を繰り返す（ステップＳ２０５〜ステップＳ２０６）。
【００４９】
一方、すべての抑制対象のユニット１００ａ〜１００ｄがエラーパッシブ状態になったと推定される場合には（ステップＳ２０７：ＹＥＳ）、ステップＳ２０８に進む。そして、ステップＳ２０８では、抑制対象のユニット１００ａ〜１００ｄがエラーパッシブ状態になって送信が抑制された状態で、抑制対象でないユニット１００ｆとユニット１００ｅ間で、新たなデータが送信される。
【００５０】
たとえば、ユニット１００ｆがプログラムやデータの書込み用の装置であり、ユニット１００ｅにプログラムを書き込みたい場合には、ユニット１００ｅ以外のユニット１００ａ〜ｄによる送信を抑制した状態で、ネットワーク２００を通じてプログラムやデータを書き込むことができる。
【００５１】
したがって、ユニット１００ｆが、送信データの識別子で示される本来の優先順位が低い場合であっても、他のユニット１００ａ〜１００ｄによる送信を抑制した上で、ユニット１００ｆは、ユニット１００ｅにデータを送信することができる。この結果、特定のユニット１００ｆとユニット１００ｅ間での転送速度を相対的に高めることができる。特に、ネットワーク２００を介して特定の電子制御装置にデータまたはプログラムを書き込む場合に、書込み時間が著しく長時間になることが防止することができる。
【００５２】
なお、図６で示された本実施の形態のデータ通信方法において、ステップＳ２０４の処理は、バス型ネットワーク２００を介してデータの識別子を受信する受信段階に対応する。また、ステップＳ２０５の処理は、上記の識別子に基づいて、データを送信している電子制御装置が抑制対象の電子制御装置であるか否かを判断する判断段階に対応する。
【００５３】
また、ステップ２０６の処理は、データを送信している電子制御装置が抑制対象の電子制御装置である場合に、当該電子制御装置での送信不成功の状態を疑似的に発生させる状態発生段階に対応する。特に、ステップＳ２０６の処理は、抑制対象の電子制御装置によるデータ送信時に、ビットが所定数以上連続して一定レベル（すなわち、ドミナントレベルであるローレベル）となる電気信号を抑制対象の電子制御装置の外部からバス型ネットワーク２００上に与えることによって、抑制対象の電子制御装置での送信不成功の状態を発生させる段階を含んでいる。この処理は、抑制対象の電子制御装置において、抑制対象の電子制御装置からのデータの送信時に、この抑制対象の電子制御装置による出力レベルとバス型ネットワーク２００でのバスレベルとが不一致となった場合に送信不成功の状態と判断されること前提としている。
【００５４】
また、ステップＳ２０８の処理は、抑制対象の電子制御装置での送信不成功の状態の発生度合い応じて当該抑制対象の電子制御装置による送信が抑制された状態で、抑制対象でない電子制御装置間で新たなデータを送信する送信段階に対応する。
【００５５】
（変形例）
次に、本実施の形態の変形例について説明する。上記の図６で示されたデータ通信方法では、ステップＳ２０６において、ビットが所定数以上連続して一定レベルとなる電気信号をネットワーク上に送出することによって、抑制対象のユニットでの送信不成功の状態を疑似的に発生させる場合が示された。
【００５６】
一方、本変形例では、このステップＳ２０６の処理に代えて、抑制対象のユニットによるデータ送信時に、バス型ネットワーク２００でのバスレベルをビット単位で抑制対象のユニットの外部から変化させて、抑制対象のユニットでの送信不成功の状態を発生させる。
【００５７】
図７は、本変形例のデータ通信方法の処理内容を示すフローチャートである。ステップＳ３０６以外のステップは、図６のフローチャートと同様である。したがって、詳しい説明を省略する。
【００５８】
ステップＳ３０６では、抑制対象のユニット１００ａ〜１００ｄによるデータ送信時に、バス型ネットワーク２００でのバスレベルをビット単位で抑制対象のユニット１００ａ〜１００ｄの外部から変化させて、抑制対象のユニット１００ａ〜１００ｄでの送信不成功の状態を発生させる。たとえば、抑制対象のユニット１００ａ〜１００ｄが出力したデータにおいてドミナントレベルが１ビット続く場合には、後続する５ビットをドミナントレベルに変化させて、ネットワーク２００でのバスレベルが所定ビット数（６ビット）以上連続してドミナントレベルとなるようにする。同様に、抑制対象のユニットが出力したデータにおいてドミナントレベルが２ビット続く場合には、後続する４ビットをドミナントレベルに変化させ、ドミナントレベルが３ビット続く場合には、後続する３ビットをドミナントレベルに変化させる。さらに、抑制対象のユニットが出力したデータにおいてドミナントレベルが４ビット続く場合には、後続する２ビットをドミナントレベルに変化させ、ドミナントレベルが５ビット続く場合には、後続する１ビットをドミナントレベルに変化させる。
【００５９】
この場合も、データを送信するユニットによる出力レベルとネットワーク２００でのバスレベルとが必ず不一致となるので、データを送信するユニットにおいて送信不成功の状態が発生する。
【００６０】
このように、本変形例では、ネットワーク２００のバスレベルを検出し、検出結果に基づいて、バスレベルを１〜５ビットの可変長のビット単位で外部から変化させて、抑制対象のユニット１００ａ〜１００ｄでの送信不成功の状態を発生させる。
【００６１】
本変形例でも、抑制対象のユニット１００ａ〜１００ｄは、送信不成功の状態の発生頻度に応じて、送信が抑制される。そして、送信が抑制された状態で、ユニット１００ｆは、ユニット１００ｅに対して、新たなデータを送信することができる。
【００６２】
以上のように、本実施の形態および変形例のデータ通信方法によれば、以下の効果を奏することができる。
【００６３】
（ア）抑制対象でないユニット１００ｆおよびユニット１００ｅ以外のユニット１００ａ〜１００ｄを抑制対象として送信の頻度を抑制した後、ユニット１００ｆおよびユニット１００ｅ間で通信することができるので、ユニット１００ｆからユニット１００ｅ間への転送速度を実質的に高めることができる。したがって、データを大量に送受信する場合であっても、通信時間が著しく長くなることを防止することができる。特に、データの送受信を行うユニット１００ｆおよびユニット１００ｅ以外のすべてのユニット１００ａ〜１００ｄを抑制対象とすることによって、転送速度を最大限に高めることができる。
【００６４】
（イ）データフレームの識別子自体の設定を変更することなく、必要なときに一時的に特定のユニット間の通信を優先することができる。
【００６５】
（ウ）また、抑制対象のユニット１００ａ〜１００ｄを、ネットワーク２００から切り離してしまうバスオフ（図４参照）とするのではなく、エラーパッシブ状態とさせる。したがって、ユニット１００ｆとユニット１００ｅとの間のデータ送信が終了すれば、抑制対象のユニット１００ａ〜１００ｄも、正常に送信できるようになる。その結果、順次に送信エラーカウンタの値が下がり、エラーアクティブ状態に復帰することができる。したがって、ユニット１００ａ〜１００ｄの復帰の処理にかかる負担が少なく、復帰ができなくなるなどの問題が発生しない。
【００６６】
（エ）図６に示されるように、判断段階（ステップＳ２０５）、状態発生段階（ステップＳ２０６）、および送信段階（ステップＳ２０８）は、ネットワーク２００に着脱自在に接続される電子制御装置であるユニット１００ｆによって実行できるので、特定のユニット間の通信を優先させたいときだけ、ユニット１００ｆをネットワークに接続することができる。
【００６７】
（オ）また、送信段階（ステップＳ２０５）において、ネットワーク２００を介して、車両の特定のユニットにデータまたはプログラムを書き込む場合には、車両に設けられたネットワーク２００を適宜に利用できるので、データやプログラムのインストールおよび更新を行うことができる。この際の書込み時間が短縮されるので、生産工程や整備工程の時間が短縮される。
【００６８】
（カ）特に、ＣＡＮプロトコルを活用しつつ、一時的に特定のユニット間の通信を優先させることができるので、応用性が高い。
【００６９】
（キ）また、図６に示したように、ビットが所定数以上連続してドミナントレベルとなる電気信号をネットワーク上に送出することによって、抑制対象のユニットでの送信不成功の状態を発生させる場合には、ネットワークのバスレベルを確認して何ビット分をドミナントレベルに変化させるかを決定する必要がない。したがって、処理を簡略化することができる。
【００７０】
以上のように、本実施の形態について説明したが、本発明は、これらの場合に限られない。たとえば、抑制対象となるユニットの範囲、および抑制対象としないユニットの範囲は、適宜に決めることができる。すなわち、ユニット１００ｆからユニット１００ｅへデータを送る場合に、ユニット１００ｆおよびユニット１００ｅ以外のユニット１００ａ〜１００ｄを抑制対象としてもよく、ユニット１００ａ〜１００ｄの中にエラーパッシブ状態とすることが望ましくないユニット（たとえば、ユニット１００ａ）がある場合には、このユニット１００ａを除いた残りのユニット１００ｂ〜１００ｄを抑制対象としてもよい。
【００７１】
また、上記の説明では、受信処理（図６のステップＳ２０４）、判断処理（図６のステップＳ２０５）、状態発生処理（ステップＳ２０６）、および最終的な送信処理（ステップＳ２０８）を実行する機能を一つのユニット１００ｆに持たせる場合を説明したが、受信処理、判断処理、および状態発生処理の機能のみを有する専用の制御装置をネットワーク２００に着脱自在に接続してもよい。この場合も、この制御装置によるエラーフラグの送信などによって特定のユニット間の通信を優先するように制御することができる。
【００７２】
以上のように本実施の形態のデータ通信方法について説明したが、本発明は、これらの場合に限られず、当業者によって種々の変形、追加、および省略が可能であることはいうまでもない。
【図面の簡単な説明】
【図１】本発明が適用される車両ネットワークシステムを示すブロック図である。
【図２】図１に示されるユニット１００ｆの構成の一例を示すブロック図である。
【図３】図１に示される各ユニットによって出力されるデータのフレーム構成を模式的に示す図である。
【図４】図１に示される各ユニットのエラー状態について模式的に示す図である。
【図５】図１に示される各ユニットにおける送信エラーの判断およびその取扱いの処理について示すフローチャートである。
【図６】図１に示されるユニット１００ｆによる本実施の形態のデータ通信方法での処理内容について示すフローチャートである。
【図７】変形例におけるデータ通信方法での処理内容について示すフローチャートである。
【符号の説明】
１００ａ〜１００ｆ…ユニット（電子制御装置）、
１１０…マイクロコンピュータ、
１１１…ＣＰＵ、
１１２…通信用コントローラ、
１２０…トランシーバ、
２００…ネットワーク、
３００…コネクタ。
【図１】
2004363761.tif 000003
【図２】
2004363761.tif 000004
【図３】
2004363761.tif 000005
【図４】
2004363761.tif 000006
【図５】
2004363761.tif 000007
【図６】
2004363761.tif 000008
【図７】
2004363761.tif 000009