(57)【特許請求の範囲】
【請求項１】
複数の通信装置が共通のバスを介して通信を行う通信システムに用いられ、識別コードが含まれたフレームの送信中に、送信したフレームの信号レベルと前記バス上の信号レベルとをビットごとに比較し、前記識別コードを構成するビットの信号レベルが相違した場合には調停負けと判定してフレームの送信を中止する一方、前記識別コードよりも後のビットの信号レベルが相違した場合にはエラーが発生したと判定し、フレームの送信を中止するとともにエラーフレームを送信した後、送信が完了しなかったフレームを再送信するように構成された通信装置であって、
送信するフレームの種別の一つであるネットワーク管理用フレームの送信中に前記エラーが発生したと判定して送信を中止した場合には、送信が完了しなかったネットワーク管理用フレームを再送信しないように構成されていること
を特徴とする通信装置。
【請求項２】
通信を実行可能な通常モードと、通信を停止して消費電力を低減するスリープモードとに動作モードを切替可能であって、
前記ネットワーク管理用フレームは、前記動作モードが前記スリープモードの状態の他の通信装置を前記通常モードへ切り替えるためのウェイクアップ指示用フレームであること
を特徴とする請求項１に記載の通信装置。
【請求項３】
前記動作モードが前記スリープモードの状態において、前記ウェイクアップ指示用フレームの送信が前記エラーの発生により中止されるまでの信号を受信することによって、前記動作モードを前記通常モードへ切り替えること
を特徴とする請求項２に記載の通信装置。
【請求項４】
送信すべきデータを一時的に記憶するための送信用メッセージボックスを備え、
前記送信用メッセージボックスに前記ネットワーク管理用フレームを一時的に記憶させる場合にはエラー割込みを許可し、前記エラーが発生した場合にはエラー割込みにより前記送信用メッセージボックスに記憶されているネットワーク管理用フレームを消去すること
を特徴とする請求項１から請求項３までのいずれか１項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置が共通のバスを介して通信を行い、バス上でフレームの衝突が発生した場合には、フレームに含まれた識別コードを用いて調停処理を行う通信システムに用いられる通信装置に関するものである。
【背景技術】
【０００２】
従来、ローカルエリアネットワーク（ＬＡＮ）、特に車内ＬＡＮに多用されている通信プロトコルとして、ＣＳＭＡ／ＣＤ方式のＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）プロトコルが知られている（特許文献１参照）。
【０００３】
ＣＡＮプロトコルで規定されたフレームの先頭部分には、後続のデータ領域にどのようなメッセージが割り付けられたフレームであるかを識別するための識別コード（ＩＤ）が含まれており、通信システムを構成する通信装置は、受信したフレームの種別を、そのフレームに含まれているＩＤに基づき識別する。なお、ＩＤは、通信装置間で同じ値を持つことがないようにユニークに割り当てられるように規定されている。
【０００４】
また、複数の通信装置が共通のバスを介して通信を行うため、送信すべきフレームを有する通信装置は、バスが使用中でなければ直ちにフレームの送信を開始し、バスが使用中であればバスが解放（フレームの送信が終了）されてからフレームの送信を開始する。このため、送信すべきフレームを有する通信装置が複数存在すると、複数の通信装置が同時にフレームの送信を開始することがあり、この場合、バス上でフレームの衝突が発生する。
【０００５】
このようなフレームの衝突が発生した場合、ＣＡＮプロトコルでは、どのフレームを優先的に処理するかを決定する調停処理を、前述のＩＤを用いて行うように規定されている。すなわち、ＣＡＮプロトコルでは、バス上の信号レベルとしてドミナント（優性）とレセッシブ（劣性）とが規定されており、複数の通信装置からドミナントとレセッシブとが同時に送信された場合、バス上の信号レベルはドミナントとなる。なお、一般的に、ドミナントの論理値を「０」、レセッシブの論理値を「１」として考える。
【０００６】
そして、通信装置は、フレームの送信中に、送信したフレームの信号レベルとバス上の信号レベルとをビットごとに比較し、ＩＤを構成するビットの送信中に、送信したフレームの信号レベルとバス上の信号レベルとが相違した場合には、調停負けと判定してフレームの送信を中止して受信状態に遷移する。複数の通信装置が同時にフレームの送信を開始しても、送信フレームのＩＤは互いに相違することから、値が相違するビットを送信したタイミングで、レセッシブ「１」を送信した通信装置が調停負けとなる。この結果、ＩＤを送信し終えた段階でフレームを送信しているのは１つの通信装置となり、この通信装置（調停に勝ち残った通信装置）によってフレームの送信が継続される。
【０００７】
一方、ＩＤよりも後のビットの送信中に、送信したフレームの信号レベルとバス上の信号レベルとが相違した場合には、エラーが発生したと判定する。この場合、通信装置は、フレームの送信を中止するとともに、エラーフレームを送信することで他の通信装置にもエラーの発生を通知するエラー処理を行う。このエラー処理の後、通信装置は、エラーの発生により送信が完了しなかったフレームを再送信する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２８７７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、通信を実行可能な通常モードと、通信を停止して消費電力を低減するスリープモードとに動作モードを切替可能な構成の通信装置が用いられる通信システムなどでは、通信装置が送信するフレームとして、一般の制御フレームの他に、ネットワーク管理用フレーム（ＮＭフレーム）が用いられる。ＮＭフレームは、ネットワークの管理のためのデータをやりとりするためのものであり、車両制御用のデータなどをやりとりするための制御フレームに比べると重要度の低いものである。ＮＭフレームとしては、例えば、スリープモードの通信装置を通常モードに遷移（ウェイクアップ）させるためのものや、通常モードの通信装置をスリープモードに遷移させるためのものや、通信装置の生死に関する情報（アライブ情報）を確認するためのものなどが挙げられる。
【００１０】
ＣＡＮプロトコル（ＩＳＯ１１８９８）などで規定されている通信方式では、ＩＤが通信装置ごとにユニークに割り当てられるため、通信システムを構成する通信装置の数が多い場合、一般の制御に使用しないＮＭフレームにも多くのＩＤを割り当てなければならない。このため、一般の制御フレームに割り当てるためのＩＤ領域が圧迫されてしまうという問題があった。
【００１１】
なお、複数の通信装置に同一のＩＤを割り当てることも考えられるが、この場合、複数の通信装置から同一ＩＤのフレームが同時に送信されてバス上で衝突すると、ＩＤの送信が終わった段階でも複数の通信装置によってフレームの送信が継続されることになる。このため、ＩＤよりも後のデータの相違によりエラーが発生したと判定され、プロトコルの規定に従ってフレームの再送信が繰り返されてバス上にエラーフレームが頻発することとなり、バス負荷が増大して正常なフレームの送信が妨害されてしまう。
【００１２】
本発明は、こうした問題にかんがみてなされたものであり、複数の通信装置に同一の識別コードを割り当てることを可能としつつ、バス負荷の増大を抑制することのできる通信装置を提供することを目的としている。
【課題を解決するための手段】
【００１３】
上記目的を達成するためになされた本発明の請求項１に記載の通信装置は、複数の通信装置が共通のバスを介して通信を行う通信システムに用いられるものである。
この通信装置は、識別コードが含まれたフレームの送信中に、送信したフレームの信号レベルとバス上の信号レベルとをビットごとに比較する。そして、識別コードを構成するビットの信号レベルが相違した場合には調停負けと判定してフレームの送信を中止する一方、識別コードよりも後のビットの信号レベルが相違した場合にはエラーが発生したと判定し、フレームの送信を中止するとともにエラーフレームを送信した後、送信が完了しなかったフレームを再送信するように構成されたものである。
【００１４】
ただし、この通信装置は、送信するフレームの種別の一つであるネットワーク管理用フレームの送信中に、信号レベルの相違によりエラーが発生したと判定して送信を中止した場合には、送信が完了しなかったネットワーク管理用フレームを再送信しないように構成されている。
【００１５】
このような通信装置が用いられた通信システムによれば、ネットワーク管理用フレームの識別コードとして同一の識別コードを複数の通信装置に割り当て、これが原因でエラーが発生しても、ネットワーク管理用フレームの再送信によるバス負荷の増大を抑制することができる。
【００１６】
すなわち、ネットワーク管理用フレームの識別コードとして同一の識別コードを複数の通信装置に割り当てた場合、それら複数の通信装置によってネットワーク管理用フレームが同時に送信されると、識別コードの送信が終わった段階でも複数の通信装置によってフレームの送信が継続されることになる。このため、識別コードよりも後のデータの相違によりエラーが発生したと判定され、フレームの送信が中止されるとともにエラーフレームが送信される。したがって、送信が完了しなかったフレームを再送信する処理では、エラーが繰り返し発生してバス負荷が増大してしまうという問題がある。
【００１７】
この点、本発明の通信装置は、ネットワーク管理用フレームの衝突によりエラーが発生してもネットワーク管理用フレームを再送信しないため、バス負荷の増大を抑制することができる。したがって、複数の通信装置に同一の識別コードを割り当てることを可能としつつ、バス負荷の増大を抑制することができる。
【００１８】
ここで、例えば請求項２に記載のように、通信装置が、通信を実行可能な通常モードと、通信を停止して消費電力を低減するスリープモードとに動作モードを切替可能である場合、ネットワーク管理用フレームとしては、動作モードがスリープモードの状態の他の通信装置を通常モードへ切り替えるためのウェイクアップ指示用フレームが挙げられる。このようなウェイクアップ指示用フレームは、制御用のデータなどをやりとりするための制御フレームに比べると重要度の低いものであるため、エラーの発生により再送信しないことによる影響は小さいものとなる。
【００１９】
特に、例えば請求項３に記載のように、通信装置が、動作モードがスリープモードの状態において、ウェイクアップ指示用フレームの送信がエラーの発生により中止されるまでの信号を受信することによって、動作モードを通常モードへ切り替える構成であれば、ウェイクアップ指示用フレームを再送信することなく、スリープモードの通信装置を通常モードへ切り替えることができる。
【００２０】
具体的には、例えば請求項４に記載の通信装置は、送信すべきデータを一時的に記憶するための送信用メッセージボックスを備えている。そして、送信用メッセージボックスにネットワーク管理用フレームを一時的に記憶させる場合にはエラー割込みを許可し、エラーが発生した場合にはエラー割込みにより送信用メッセージボックスに記憶されているネットワーク管理用フレームを消去する。このようにすれば、エラーの発生により送信が完了しなかったフレームを再送信する処理をベースとしながら、ネットワーク管理用フレームについては例外的な処理として再送信を行わないようにすることができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態の通信システムの構成を表すブロック図である。
【図２】ＣＡＮプロトコルのフレームフォーマットの一例を表す説明図である。
【図３】（ａ）は送信処理のフローチャートであり、（ｂ）はエラー割込み処理のフローチャートである。
【図４】（ａ）はエラー割込みをしない構成のタイミングチャートであり、（ｂ）はエラー割込みをする構成のタイミングチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明が適用された実施形態について、図面を用いて説明する。
［１．全体構成］
図１は、通信プロトコルとしてＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）プロトコルが用いられた車載用の通信システムの構成を表すブロック図である。
【００２３】
この通信システムは、車両に搭載された複数の電子制御ユニット（以下「ＥＣＵ」という。）１０，１０，…が、共通のバス９０を介して相互に通信可能となるように接続されたものであり、各ＥＣＵ１０が通信装置（ノード）として機能する。なお、車両に搭載されたＥＣＵ１０，１０，…としては、例えば、エンジン制御を行うエンジンＥＣＵ、ブレーキ制御を行うブレーキＥＣＵ、ステアリング制御を行うステアリングＥＣＵ、サスペンション制御を行うサスペンションＥＣＵ等、種々のＥＣＵが挙げられる。
【００２４】
また、この通信システムに用いられるＥＣＵ１０，１０，…は、通信を実行可能な通常モードと、通信を停止して消費電力を低減するスリープモードとに動作モードを切替可能に構成されている。
【００２５】
［２．ＥＣＵ１０の構成］
次に、この通信システムに用いられるＥＣＵ１０の構成について説明する。
ＥＣＵ１０は、車両各部の制御処理や他のＥＣＵ１０との通信処理を実行するマイクロコンピュータ（以下「マイコン」という。）２０と、マイコン２０とバス９０との間を仲介するインタフェース用ＩＣであるトランシーバ５０とを備えている。
【００２６】
マイコン２０は、ＣＡＮプロトコルに従った通信処理（フレームの送受信、調停処理、エラー処理等）を実行する通信コントローラ３０と、通信コントローラ３０を介して他のＥＣＵ１０との間でメッセージを交換することにより、他のＥＣＵ１０と連携して各種処理を実行する処理部４０とを備えている。なお、ＣＡＮプロトコルで規定されている調停処理やエラー処理などは、背景技術で説明したとおりである。
【００２７】
また、マイコン２０は、動作クロックを生成するクロック回路（図示せず）を備えており、クロック回路への電源供給を停止することで、クロック回路の動作を停止させることができるように構成されている。なお、マイコン２０のクロック回路が動作している状態が、ＥＣＵ１０の動作モードが通常モードの状態に相当し、マイコン２０のクロック回路が動作を停止している状態が、ＥＣＵ１０の動作モードがスリープモードの状態に相当する。そして、ＥＣＵ１０は、動作モードがスリープモードの状態において、バス９０上でドミナントパルスが検出されることにより通常モードに遷移（ウェイクアップ）する。
【００２８】
トランシーバ５０は、通信コントローラ３０が生成するフレームを、あらかじめ規定されたバス９０の電気的条件を満たす通信信号に変換し、バス９０を介して送信する。具体的には、通信コントローラ３０は、バス９０を介して送信すべきメッセージ等の送信データを格納（一時的に記憶）するための送信用メッセージボックス３１を備えており、処理部４０によって送信データが送信用メッセージボックス３１にセット（記憶）されると、バス９０が解放されている状態でその送信データを送信する。
【００２９】
［３．フレームフォーマット］
図２は、ＣＡＮプロトコルのフレームフォーマットの一例を表す説明図である。通信コントローラ３０が生成するフレームの先頭部分には、後続のデータ領域にどのようなメッセージが割り付けられたフレームかを識別するための１１ビットの識別コード（送信元ＩＤ）が含まれており、フレームを受信したＥＣＵ１０は、送信元ＩＤに基づきフレームの種別を識別する。
【００３０】
また、通信コントローラ３０が生成するフレームの種別としては、一般の制御フレームの他にネットワーク管理用フレーム（ＮＭフレーム）が挙げられ、本実施形態の通信システムでは、スリープモードのＥＣＵ１０を通常モードに遷移（ウェイクアップ）させるためのウェイクアップ指示用フレームをＮＭフレームとして送信する。
【００３１】
送信元ＩＤは、異なるＥＣＵ１０が同じ値を持つことがないようにユニークに割り当てられ、同じＥＣＵ１０であってもフレームの種別によって異なるＩＤが割り当てられる。ただし、本実施形態の通信システムでは、ウェイクアップ指示用フレームの送信元ＩＤについては、すべてのＥＣＵ１０に共通の送信元ＩＤが割り当てられている。このため、万が一、複数のＥＣＵ１０からウェイクアップ指示用フレームが同時に送信されてバス９０上で衝突すると、調停処理が正しく行われず、エラーが発生してしまうことになる。そこで、本実施形態の通信システムに用いられるＥＣＵ１０は、以下に詳述するように、ウェイクアップ指示用フレームの送信中にエラーが発生して送信を中止した場合には、送信が完了しなかったウェイクアップ指示用フレームを再送信しないように構成されている。
【００３２】
［４．マイコン２０が実行する処理］
次に、ＥＣＵ１０のマイコン２０（処理部４０）が実行する処理について説明する。マイコン２０は、送信すべきデータが発生した場合に図３（ａ）のフローチャートに示す送信処理を実行し、エラーが発生しかつエラー割込みが許可されている場合に図３（ｂ）のフローチャートに示すエラー割込み処理を実行する。
【００３３】
マイコン２０は、図３（ａ）に示す送信処理として、まず、送信データがウェイクアップ指示用フレームであるか否かを判定し（Ｓ１１）、ウェイクアップ指示用フレームでないと判定した場合にはエラー割込みを禁止する一方（Ｓ１２）、ウェイクアップ指示用フレームであると判定した場合にはエラー割込みを許可する（Ｓ１３）。その後、マイコン２０は、送信データを送信用メッセージボックス３１にセットして（Ｓ１４）、送信処理を終了する。
【００３４】
そして、ウェイクアップ指示用フレームの送信中にエラーが発生すると、マイコン２０は、図３（ｂ）に示すエラー割込み処理を実行し、送信用メッセージボックス３１にセットされている送信データを消去することでその送信をキャンセルする（Ｓ２１）。
【００３５】
つまり、本実施形態の通信システムでは、ウェイクアップ指示用フレームの送信中にたとえフレームの衝突によるエラーが発生しても、そのウェイクアップ指示用フレームの再送信を行わない仕組みを設けており、これにより複数のＥＣＵ１０が同一の送信元ＩＤでウェイクアップ指示用フレームを送信することを可能としている。
【００３６】
そして、ＣＡＮプロトコル（ＩＳＯ１１８９８−５）の規定では、スリープモードのＥＣＵ１０を通常モードに遷移（ウェイクアップ）させるためには、ドミナントパルスがバス上に発生すればよいため、ウェイクアップ指示用フレームの送信がエラーの発生により中止されても、スリープモードのＥＣＵ１０をウェイクアップさせることができる。なお、一般の制御フレームを送信する場合にはエラー割込みを許可しないため、エラーの発生により送信を完了できなかった制御フレームについてはＣＡＮプロトコルの規定に従って再送信される。
【００３７】
［５．効果］
以上説明したように、本実施形態の通信システムに用いられるＥＣＵ１０は、ウェイクアップ指示用フレームにおける送信元ＩＤよりも後のビットの送信中に、送信したフレームの信号レベルとバス９０上の信号レベルとの相違によりエラーが発生したと判定して送信を中止した場合には、送信が完了しなかったウェイクアップ指示用フレームを再送信しないように構成されている。
【００３８】
具体的には、ＥＣＵ１０は、送信用メッセージボックス３１にウェイクアップ指示用フレームをセットする場合にはエラー割込みを許可し（Ｓ１１：ＹＥＳ，Ｓ１３）、エラーが発生した場合にはエラー割込みにより送信用メッセージボックス３１にセットされたウェイクアップ指示用フレームの送信をキャンセルする（Ｓ２１）。
【００３９】
つまり、ウェイクアップ指示用フレームを送信する場合にだけエラー割込みを許可することにより、ウェイクアップ指示用フレームが万が一衝突しても、エラー割込み処理でウェイクアップ指示用フレームの再送信が禁止されるようにしている。このように、エラーの発生により送信が完了しなかったフレームを再送信する処理をベースとしながら、ウェイクアップ指示用フレームについては例外的な処理として再送信を行わないようにしている。
【００４０】
このようなＥＣＵ１０が用いられた通信システムによれば、ウェイクアップ指示用フレームの送信元ＩＤとして同一の送信元ＩＤを複数のＥＣＵ１０に割り当てることができ、これが原因でエラーが発生してもウェイクアップ指示用フレームの再送信が行われないため、バス負荷の増大を抑制することができる。したがって、複数のＥＣＵ１０に同一の送信元ＩＤを割り当てることを可能としつつ、バス負荷の増大を抑制することができる。
【００４１】
ここで、従来のようにエラー割込みを許可しない構成と比較した効果について説明する。図４（ａ）は、エラー割込みを許可しない構成のタイミングチャートであり、図４（ｂ）は、エラー割込みを許可する構成（本実施形態の構成）のタイミングチャートである。
【００４２】
図４（ａ），（ｂ）に共通するように、ウェイクアップ指示用フレームを送信すべきイベントの発生を契機として、複数のＥＣＵ１０（説明の便宜上、ここでは「ノードＡ〜Ｄ」と称する。）によりウェイクアップ指示用フレームが同時に送信されたとすると、送信元ＩＤよりも後のデータの相違によりエラーが発生したと判定したノードによってエラーフレームが送信され、すべてのノードＡ〜Ｄでフレームの送信が中止される。
【００４３】
ここで、エラー割込みを許可しない構成では、図４（ａ）に示すように、ノードＡ〜Ｄのいずれにおいてもウェイクアップ指示用フレームの送信が完了していないことから、エラー処理の後にノードＡ〜Ｄによりウェイクアップ指示用フレームが再送信される。この結果、エラーが繰り返し発生してバス負荷が増大してしまうという問題がある。
【００４４】
これに対し、本実施形態のようにエラー割込みを許可する構成では、図４（ｂ）に示すように、ウェイクアップ指示用フレームの衝突によりエラーが発生してもウェイクアップ指示用フレームを再送信しないため、バス上の無駄な負荷の解消することができる。
【００４５】
特に、本実施形態の通信システムに用いられるＥＣＵ１０は、動作モードがスリープモードの状態において、バス９０上でドミナントパルスが検出されることにより通常モードに遷移（ウェイクアップ）する。このため、ウェイクアップ指示用フレームを再送信するまでもなく、ウェイクアップ指示用フレームの送信がエラーの発生により中止されるまでの信号によって、スリープモードのＥＣＵ１０を通常モードへ切り替えることができる。
【００４６】
［６．他の実施形態］
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されることなく、種々の形態を採り得ることは言うまでもない。
【００４７】
例えば、上記実施形態では、ウェイクアップ指示用フレームの送信がエラーの発生により中止されても、ドミナントパルスの検出によりスリープモードのＥＣＵ１０をウェイクアップさせることができると説明した。ただし、本発明は、ウェイクアップ指示用フレームの送信によりバス９０に接続されたすべてのＥＣＵ１０をウェイクアップさせる構成に限定されるものではなく、一部のＥＣＵ１０を指定してウェイクアップさせ、他のＥＣＵ１０についてはスリープモードの状態にする構成の通信システムにも適用することも可能である。このような構成の通信システムは、例えば、ドミナントパルスの検出によりスリープモードのＥＣＵ１０がいったん仮ウェイクアップ状態となり、仮ウェイクアップ状態のＥＣＵ１０自身が、ウェイクアップすべき状況であるか否かを判定することで実現することができる。また例えば、ドミナントパルスの検出でウェイクアップするＥＣＵ１０と、ドミナントパルスの検出だけではウェイクアップしないＥＣＵ１０とを混在させることによっても実現することができる。
【００４８】
また、上記実施形態では、ＮＭフレームとしてウェイクアップ指示用フレームを例示したが、これに限定されるものではなく、例えば、通常モードの通信装置をスリープモードに遷移させるためのフレームや、通信装置の生死に関する情報（アライブ情報）を確認するためのフレームであってもよい。
【００４９】
また、上記実施形態ではＣＡＮプロトコルの車載用通信システムを例示したが、これに限定されるものではなく、その他のＣＳＭＡ／ＣＤ方式の通信プロトコル（例えばＪ１８５０等）であっても本発明を適用することができる。
【符号の説明】
【００５０】
１０…ＥＣＵ、２０…マイコン、３０…通信コントローラ、３１…送信用メッセージボックス、４０…処理部、５０…トランシーバ、９０…バス
【図１】
0005510192.tif 000002
【図２】
0005510192.tif 000003
【図３】
0005510192.tif 000004
【図４】
0005510192.tif 000005