(57)【特許請求の範囲】
【請求項１】
複数の通信ノード（１１〜１４）が通信バスを介して接続された通信システムであって、
前記複数の通信ノードの中の１つの通信ノードは、マスタノードとして、他の通信ノードに対してデータ送信を要求するリファレンスメッセージを定期的に送信するリファレンスメッセージ送信手段（Ｓ１００、Ｓ１４０）を有し、
前記複数の通信ノードの内、少なくとも１つの第１の通信ノードは、
前記リファレンスメッセージを受信したことに応じて、送信すべき定期データメッセージに予め対応付けられた所定の優先順位情報を送信する第１優先順位情報送信手段（Ｓ２２０、Ｓ２５０、Ｓ４１０）と、
他の通信ノードから送信された優先順位情報と、自身が送信した優先順位情報とのいずれが、より高い優先順位を示すかを判定する第１判定手段（Ｓ４２０）と、
前記第１判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記定期データメッセージを送信する第１データメッセージ送信手段（Ｓ４３０）と、を備え、
前記第１判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも低い優先順位を示すと判定された場合、当該他の通信ノードからのデータメッセージの送信完了後に、前記第１優先順位情報送信手段は、再度、前記優先順位情報を送信し、
前記複数の通信ノードの内、少なくとも１つの第２の通信ノードは、
前記リファレンスメッセージの受信とは無関係に、データ送信要求が生じたことに応じて、送信すべき非定期データメッセージに予め対応付けられた所定の優先順位情報を送信する第２優先順位情報送信手段（Ｓ３１０、Ｓ４１０）と、
他の通信ノードから送信された優先順位情報と、自身が送信した優先順位情報とのいずれが、より高い優先順位を示すかを判定する第２判定手段（Ｓ４２０）と、
前記第２判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記非定期データメッセージを送信する第２データメッセージ送信手段（Ｓ４３０）と、を備え、
前記第２判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも低い優先順位を示すと判定された場合、当該他の通信ノードからのデータメッセージの送信完了後に、前記第２優先順位情報送信手段は、再度、前記優先順位情報を送信し、
前記第２の通信ノードから送信される少なくとも１つの前記非定期データメッセージの優先順位が、前記第１の通信ノードから送信される少なくとも１つの前記定期データメッセージの優先順位よりも高く設定され、
前記マスタノードが前記リファレンスメッセージを定期的に送信する間隔は、全ての第１の通信ノードが定期データメッセージを１回ずつ送信可能な長さに設定されており、
前記定期データメッセージの優先順位よりも高い優先順位を持つ前記非定期データメッセージの数は、当該非定期データメッセージの送信が行われても、前記マスタノードが前記リファレンスメッセージを定期的に送信する間隔以内に、全ての定期データメッセージが１回ずつ送信可能な数に制限されることを特徴とする通信システム。
【請求項２】
複数の通信ノード（１１〜１４）が通信バスを介して接続された通信システムであって、
前記複数の通信ノードの中の１つの通信ノードは、マスタノードとして、他の通信ノードに対してデータ送信を要求するリファレンスメッセージを定期的に送信するリファレンスメッセージ送信手段（Ｓ１００、Ｓ１４０）を有し、
前記複数の通信ノードの内、少なくとも１つの第１の通信ノードは、
前記リファレンスメッセージを受信したことに応じて、送信すべき定期データメッセージに予め対応付けられた所定の優先順位情報を送信する第１優先順位情報送信手段（Ｓ２２０、Ｓ２５０、Ｓ４１０）と、
他の通信ノードから送信された優先順位情報と、自身が送信した優先順位情報とのいずれが、より高い優先順位を示すかを判定する第１判定手段（Ｓ４２０）と、
前記第１判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記定期データメッセージを送信する第１データメッセージ送信手段（Ｓ４３０）と、を備え、
前記第１判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも低い優先順位を示すと判定された場合、当該他の通信ノードからのデータメッセージの送信完了後に、前記第１優先順位情報送信手段は、再度、前記優先順位情報を送信し、
前記複数の通信ノードの内、少なくとも１つの第２の通信ノードは、
前記リファレンスメッセージの受信とは無関係に、データ送信要求が生じたことに応じて、送信すべき非定期データメッセージに予め対応付けられた所定の優先順位情報を送信する第２優先順位情報送信手段（Ｓ３１０、Ｓ４１０）と、
他の通信ノードから送信された優先順位情報と、自身が送信した優先順位情報とのいずれが、より高い優先順位を示すかを判定する第２判定手段（Ｓ４２０）と、
前記第２判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記非定期データメッセージを送信する第２データメッセージ送信手段（Ｓ４３０）と、を備え、
前記第２判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも低い優先順位を示すと判定された場合、当該他の通信ノードからのデータメッセージの送信完了後に、前記第２優先順位情報送信手段は、再度、前記優先順位情報を送信し、
前記第２の通信ノードから送信される少なくとも１つの前記非定期データメッセージの優先順位が、前記第１の通信ノードから送信される少なくとも１つの前記定期データメッセージの優先順位よりも高く設定され、
前記マスタノードのリファレンスメッセージ送信手段は、複数種類のリファレンスメッセージを送信可能なものであり、
前記第１の通信ノードは、前記リファレンスメッセージの種類に応じて、送信すべき定期データメッセージを決定する送信データメッセージ決定手段（Ｓ２２０、Ｓ２５０）を有し、
前記リファレンスメッセージ送信手段は、前記複数種類のリファレンスメッセージを、所定の基準間隔ごとに順番に送信し、
前記送信データメッセージ決定手段は、前記第１の通信ノードによる定期データメッセージの送信間隔が、前記リファレンスメッセージが送信される基準間隔の整数倍である場合、送信すべき定期データを分割し、前記リファレンスメッセージの種類に応じて、分割した定期データの中から対応する分割データを選別し、その分割データを含む定期データメッセージを、送信すべき定期データメッセージとして決定することを特徴とする通信システム。
【請求項３】
複数の通信ノード（１１〜１４）が通信バスを介して接続された通信システムであって、
前記複数の通信ノードの中の１つの通信ノードは、マスタノードとして、他の通信ノードに対してデータ送信を要求するリファレンスメッセージを定期的に送信するリファレンスメッセージ送信手段（Ｓ１００、Ｓ１４０）を有し、
前記複数の通信ノードの内、少なくとも１つの第１の通信ノードは、
前記リファレンスメッセージを受信したことに応じて、送信すべき定期データメッセージに予め対応付けられた所定の優先順位情報を送信する第１優先順位情報送信手段（Ｓ２２０、Ｓ２５０、Ｓ４１０）と、
他の通信ノードから送信された優先順位情報と、自身が送信した優先順位情報とのいずれが、より高い優先順位を示すかを判定する第１判定手段（Ｓ４２０）と、
前記第１判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記定期データメッセージを送信する第１データメッセージ送信手段（Ｓ４３０）と、を備え、
前記第１判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも低い優先順位を示すと判定された場合、当該他の通信ノードからのデータメッセージの送信完了後に、前記第１優先順位情報送信手段は、再度、前記優先順位情報を送信し、
前記複数の通信ノードの内、少なくとも１つの第２の通信ノードは、
前記リファレンスメッセージの受信とは無関係に、データ送信要求が生じたことに応じて、送信すべき非定期データメッセージに予め対応付けられた所定の優先順位情報を送信する第２優先順位情報送信手段（Ｓ３１０、Ｓ４１０）と、
他の通信ノードから送信された優先順位情報と、自身が送信した優先順位情報とのいずれが、より高い優先順位を示すかを判定する第２判定手段（Ｓ４２０）と、
前記第２判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記非定期データメッセージを送信する第２データメッセージ送信手段（Ｓ４３０）と、を備え、
前記第２判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも低い優先順位を示すと判定された場合、当該他の通信ノードからのデータメッセージの送信完了後に、前記第２優先順位情報送信手段は、再度、前記優先順位情報を送信し、
前記第２の通信ノードから送信される少なくとも１つの前記非定期データメッセージの優先順位が、前記第１の通信ノードから送信される少なくとも１つの前記定期データメッセージの優先順位よりも高く設定され、
前記マスタノードのリファレンスメッセージ送信手段は、複数種類のリファレンスメッセージを送信可能なものであり、
前記第１の通信ノードは、前記リファレンスメッセージの種類に応じて、送信すべき定期データメッセージを決定する送信データメッセージ決定手段（Ｓ２２０、Ｓ２５０）を有し、
前記リファレンスメッセージ送信手段は、前記複数種類のリファレンスメッセージを、所定の基準間隔ごとに順番に送信し、
定期的に送信されるべきデータメッセージが、前記リファレンスメッセージが送信される基準間隔の整数倍以外の送信間隔を持ち、かつその送信間隔が、前記定期データメッセージの送信間隔よりも短い場合に、その定期的に送信されるべきデータメッセージは、前記非定期データメッセージとして、前記定期データメッセージよりも高い優先順位が付与されることを特徴とする通信システム。
【請求項４】
前記マスタノードが、前記リファレンスメッセージを送信した後、続けて定期データメッセージを送信することを特徴とする請求項１乃至３のいずれかに記載の通信システム。
【請求項５】
前記リファレンスメッセージは、前記定期データメッセージ及び前記非定期データメッセージよりも高い優先順位を持つことを特徴とする請求項１乃至４のいずれかに記載の通信システム。
【請求項６】
前記複数の通信ノードの中で、最も短い間隔でデータを送信する必要がある通信ノードが、前記マスタノードとして選定されることを特徴とする請求項１乃至５のいずれかに記載の通信システム。
【請求項７】
前記複数の通信ノードの中で、最も多くの定期データを送信する必要がある通信ノードが、前記マスタノードとして選定されることを特徴とする請求項１乃至５のいずれかに記載の通信システム。
【請求項８】
前記リファレンスメッセージは、他の通信ノードに送信すべき定期データを含むことを特徴とする請求項１乃至７のいずれかに記載の通信システム。
【請求項９】
前記通信システムは、車両において用いられることを特徴とする請求項１乃至８のいずれかに記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信ノードが通信バスを介して接続された通信システムに関する。
【背景技術】
【０００２】
ＩＳＯ１１８９８−１において規格化されたＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ Ａｒｅａ Ｎｅｔｗｏｒｋ）は、複数の通信ノードで１組の通信バスを共有し、各通信ノードが送信する各メッセージに優先順位を割り当て、その優先順位に基づく調停によって任意の通信ノード間で通信を可能とする通信方式である。
【０００３】
また、調停による通信に加えて、例えば自動車の制御に多い周期的な制御に対応した時分割通信を併用した通信方式としてＴＴＣＡＮ（ＩＳＯ１１８９８−４）、ＦｌｅｘＲａｙ（登録商標）、特許文献１に示されたものなどがある。
【０００４】
例えば、特許文献１に示された通信方式では、マスタノードとして指定された通信ノードが周期的にｓｙｎｃパルスをバス上に送信する。このｓｙｎｃパルスにより、時分割期間が定められ、各時分割期間は、さらに３つのセグメントに細分化される。１番目のセグメントはｓｙｎｃセグメントであり、このｓｙｎｃセグメントにおいて、ｓｙｎｃメッセージが送信される。このｓｙｎｃメッセージは、各通信ノードに、リアルタイムメッセージを作成させるためのものである。２番目のセグメントはリアルタイムセグメントであり、このリアルタイムセグメントにおいては、各通信ノードからリアルタイムメッセージのみが送信される。この際、ＣＡＮの調停機能により、各通信ノードから送信されるリアルタイムメッセージの送信順序が優先順位に従って調停される。３番目のセグメントは非リアルタイムセグメントであり、この非リアルタイムセグメントでは、各通信ノードに用意されている非リアルタイムメッセージが送信される。もし、非リアルタイムセグメントの時間が十分でなく、すべての非リアルタイムメッセージを送信できない場合には、次の時分割期間まで、非リアルタイムメッセージの送信は見送られる。
【先行技術文献】
【特許文献】
【０００５】
特表２００２−５００８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、特許文献１に示された通信方式では、周期的な制御のための定期的なメッセージ（リアルタイムメッセージ）送信用の時間領域（リアルタイムセグメント）、及びある事象に応じて必要となる制御のためなどの非定期的なメッセージ（非リアルタイムメッセージ）送信用の時間領域（非リアルタイムセグメント）を別個に設定している。
【０００７】
ここで、例えば自動車における制御には、ブレーキ制御やエンジン制御など、ユーザの操作や車両側の要求に応じて即時に実行しなければならない制御も存在する。しかしながら、上記通信方式では、所定の事象に基づく制御のためのメッセージは、非リアルタイムメッセージとして送信される。そのため、そのメッセージ送信を即時に行うべきであるにも係わらず、定期的なメッセージ送信用の時間領域中であると、その定期的な通信の時間領域が終了するまで待機する必要が生じる。このように、上記通信方式では、極力、遅滞なく送信すべき非定期的なメッセージであっても、その送信の開始が遅れる事態が発生する虞がある。
【０００８】
本発明は、上述した点に鑑みてなされたものであり、非定期的に送信されるメッセージであっても、そのメッセージが即時に送信されるべきものである場合には、その送信開始までの時間を極力短縮することが可能な通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明による通信システムは、
複数の通信ノード（１１〜１４）が通信バスを介して接続された通信システムであって、
前記複数の通信ノードの中の１つの通信ノードは、マスタノードとして、他の通信ノードに対してデータ送信を要求するリファレンスメッセージを定期的に送信するリファレンスメッセージ送信手段（Ｓ１００、Ｓ１４０）を有し、
前記複数の通信ノードの内、少なくとも１つの第１の通信ノードは、
前記リファレンスメッセージを受信したことに応じて、送信すべき定期データメッセージに予め対応付けられた所定の優先順位情報を送信する第１優先順位情報送信手段（Ｓ２２０、Ｓ２５０、Ｓ４１０）と、
他の通信ノードから送信された優先順位情報と、自身が送信した優先順位情報とのいずれが、より高い優先順位を示すかを判定する第１判定手段（Ｓ４２０）と、
前記第１判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記定期データメッセージを送信する第１データメッセージ送信手段（Ｓ４３０）と、を備え、
前記第１判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも低い優先順位を示すと判定された場合、当該他の通信ノードからのデータメッセージの送信完了後に、前記第１優先順位情報送信手段は、再度、前記優先順位情報を送信し、
前記複数の通信ノードの内、少なくとも１つの第２の通信ノードは、
前記リファレンスメッセージの受信とは無関係に、データ送信要求が生じたことに応じて、送信すべき非定期データメッセージに予め対応付けられた所定の優先順位情報を送信する第２優先順位情報送信手段（Ｓ３１０、Ｓ４１０）と、
他の通信ノードから送信された優先順位情報と、自身が送信した優先順位情報とのいずれが、より高い優先順位を示すかを判定する第２判定手段（Ｓ４２０）と、
前記第２判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記非定期データメッセージを送信する第２データメッセージ送信手段（Ｓ４３０）と、を備え、
前記第２判定手段により、自身が送信した優先順位情報が他の通信ノードから送信された優先順位情報よりも低い優先順位を示すと判定された場合、当該他の通信ノードからのデータメッセージの送信完了後に、前記第２優先順位情報送信手段は、再度、前記優先順位情報を送信し、
前記第２の通信ノードから送信される少なくとも１つの前記非定期データメッセージの優先順位が、前記第１の通信ノードから送信される少なくとも１つの前記定期データメッセージの優先順位よりも高く設定され、
前記マスタノードが前記リファレンスメッセージを定期的に送信する間隔は、全ての第１の通信ノードが定期データメッセージを１回ずつ送信可能な長さに設定されており、
前記定期データメッセージの優先順位よりも高い優先順位を持つ前記非定期データメッセージの数は、当該非定期データメッセージの送信が行われても、前記マスタノードが前記リファレンスメッセージを定期的に送信する間隔以内に、全ての定期データメッセージが１回ずつ送信可能な数に制限されることを特徴とする。
【００１０】
つまり、本発明による通信システムでは、リファレンスメッセージによって規定される時分割期間において、定期データ送信用の時間領域や非定期データ送信用の時間領域を区分けしておらず、第２のノードは、任意の時間に、非定期データメッセージの送信のための処理を開始することが可能である。ただし、他のメッセージ（リファレンスメッセージ、定期データメッセージ及び他の非定期データメッセージ）の送信と競合した場合には、それぞれのメッセージに付与された優先順位に基づく調停により、送信されるメッセージが決定される。
【００１１】
そして、本発明の通信システムでは、少なくとも１つの非定期データメッセージの優先順位が、少なくとも１つの定期データメッセージの優先順位よりも高く設定される。従って、即時に送信されるべき非定期データメッセージに対しては、定期データメッセージよりも高い優先順位を設定することにより、その送信開始までの時間を極力短縮することが可能となる。
【００１２】
また、本発明の通信システムでは、定期的に送信されるリファレンスメッセージに応じて、定期データメッセージの送信が行われる。この定期データメッセージの優先順位を即時に送信する必要のない非定期データメッセージの優先順位よりも高く設定することにより、周期的な制御を行う上で必要となるデータを確実に通信することができる。
そして、本発明の通信システムでは、定期データメッセージの優先順位よりも高い優先順位を持つ非定期データメッセージの数は、その非定期データメッセージの送信が行われても、リファレンスメッセージが定期的に送信される間隔以内に、全ての定期データメッセージが１回ずつ送信可能な数に制限されている。これにより、リファレンスメッセージの定期送信間隔の満了までに定期データメッセージが送信できずに、その定期データメッセージが消失してしまうことを防止することができる。
【００１３】
さらに、本発明による通信システムの通信方式は、ＩＳＯにて規格化されたＣＡＮに準拠しているので、全く新規にコントローラやトランシーバを開発する必要がなく、安価に通信システムを構築することができる。
【００１４】
以上、本発明の概要について説明したが、上記以外の本発明の特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【００１５】
なお、上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【図面の簡単な説明】
【００１６】
【図１】実施形態による通信システムの全体構成を示した構成図である。
【図２】各ＥＣＵの、ＣＡＮプロトコルに従って通信を行うための内部構成を示した構成図である。
【図３】ＣＡＮプロトコルにおける調停制御について説明するための説明図である。
【図４】マスタノードとして選定されたＥＣＵが実行する処理を示すフローチャートである。
【図５】本実施形態による通信システムにおいて、時間の経過とともに送信される各種のメッセージの関係を示したタイムチャートである。
【図６】マスタノードとしてのＥＣＵからリファレンスメッセージを受信したＥＣＵが行う処理を示すフローチャートである。
【図７】リファレンスメッセージの受信とは無関係に、所定の事象の発生に応じて、所定のデータを送信するＥＣＵにおいて行われる処理を示すフローチャートである。
【図８】送信用メッセージボックスに格納されたメッセージを送信するため、及び他のＥＣＵから送信されたメッセージを受信するために、マスタノードとして選定されたＥＣＵを含め、全てのＥＣＵにおいて実行される処理を示すフローチャートである。
【図９】変形例による通信システムにおいて、時間の経過とともに送信される各種のメッセージの関係を示したタイムチャートである。
【発明を実施するための形態】
【００１７】
以下に本発明の実施形態を図面に基づいて説明する。図１は、本実施形態による通信システムの全体構成を示した構成図である。なお、本実施形態による通信システムは、自動車などの車両内において構築される車内ＬＡＮに用いて好適である。車両においては、複数の電子制御装置が、相互通信により各種のデータをやり取りしながら、周期的な制御や所定の事象に基づく非周期的な制御が行われる。本実施形態による通信システムでは、このような周期的な制御及び非周期的な制御のためのデータメッセージの送信に関して、定期的に送信されるべき定期データメッセージを所定間隔で確実に送信できるとともに、非定期的に送信される非定期データメッセージにおいても、適切な時期に送信できるためである。ただし、本実施形態の通信システムの用途は車両用に限られるわけではなく、その他の用途に用いることも可能である。
【００１８】
図１に示すように、複数の通信ノードとしての電子制御装置（ＥＣＵ）１１〜１４が、通信バス２を介して接続される。各ＥＣＵ１１〜１４は、例えば車両に搭載された各種の車載機器（エンジンの燃料噴射装置、点火装置、モータ、ブレーキ装置など）を制御するためのものである。
【００１９】
これら複数のＥＣＵ１１〜１４の中の１つのＥＣＵが、マスタノードとして選定される。このマスタノードは、他のＥＣＵ（通信ノード）に対して定期データの送信を要求するリファレンスメッセージを定期的に送信する。そして、複数のＥＣＵ１１〜１４には、リファレンスメッセージの受信に応じて定期データメッセージを送信するＥＣＵ、及びリファレンスメッセージの受信とは無関係に、所定の事象に基づきデータ送信要求が生じたことに応じて非定期データメッセージを送信するＥＣＵが、それぞれ少なくとも１つ以上含まれる。
【００２０】
ここで、マスタノードとして選定されるＥＣＵは、複数のＥＣＵの中で、最も短い間隔で定期データメッセージを送信する必要があるＥＣＵであったり、最も多くの定期データメッセージを送信する必要があるＥＣＵであったりすることが好ましい。最も短い間隔で定期データメッセージを送信する必要があるＥＣＵをマスタノードとした場合、リファレンスメッセージ内に、その定期データを含ませることにより、定期送信のトリガ専用のリファレンスメッセージを送信することを不要とすることができる。また、最も多く定期データメッセージを送信する必要があるＥＣＵをマスタノードとした場合、リファレンスメッセージの受信に基づき、各ＥＣＵが定期データメッセージを準備している間に、マスタノードであるＥＣＵが、リファレンスメッセージに続けて定期データメッセージを送信するようにすることで、定期データメッセージの送信を効率的に行うようにすることができる。
【００２１】
本実施形態による通信システムでは、各ＥＣＵが送信するメッセージには、従来のＣＡＮと同様に、そのメッセージの重要度や種別などに応じて、予め優先順位が定められている。そして、各メッセージの送信に際しては、まず、各メッセージの優先順位を示す優先順位情報（ＩＤコード）が送信される。このとき、複数のメッセージの優先順位情報の送信が競合した場合には、それぞれの優先順位情報の調停が行われ、より高い優先順位を持つ優先順位情報が送信権を獲得するようになっている。
【００２２】
マスタノードであるＥＣＵが送信するリファレンスメッセージは、他のＥＣＵが送信する定期データメッセージや、非定期データメッセージよりも高い優先順位を持っている。このため、リファレンスメッセージの送信を行うべきときに、他のメッセージの送信と競合した場合であっても、リファレンスメッセージの送信が調停負けによって遅れることを防ぐことができ、その結果、マスタノードは、ほぼ一定間隔で、リファレンスメッセージを送信することができる。
【００２３】
次に、各ＥＣＵの、ＣＡＮプロトコルに従って通信を行うための内部構成について、図２に基づいて説明する。なお、各ＥＣＵの内部構成は、概ね共通であるため、ＥＣＵ１１を例にとって説明する。
【００２４】
図２に示すようにＥＣＵ１１は、ＣＡＮプロトコルに従って他のＥＣＵ１２〜１４との通信を制御するＣＡＮコントローラ１５を内蔵し、このＣＡＮコントローラ１５を介して他のＥＣＵとの間でメッセージを交換することにより、他のＥＣＵと連携して各種制御処理を実行するＣＰＵを備えたマイコン１６を有している。さらに、ＥＣＵ１１は、ＣＡＮコントローラ１５が生成するフレームを、通信バス２を介して送受信するためのＣＡＮトランシーバ１８を有している。
【００２５】
ＣＡＮコントローラ１５は、公知のように、ＥＣＵ間で送受信されるメッセージ等を格納するためのメッセージボックス１７を複数備えている。そして、ＣＡＮコントローラ１５は、メッセージボックス１７の格納値に基づいてメッセージをフレーム化し、ＣＡＮトランシーバ１８を介して通信バス２に送信する送信制御、ＣＡＮトランシーバ１８を介してフレームを受信してメッセージの抽出等を行う受信制御、通信バス２上でフレームが衝突した際の送信権の調停制御（ビット単位非破壊アービトレーション）、フレームの送受信に関連して生じるエラーの検出，通知等、ＣＡＮプロトコルに従った通信制御を実行する。
【００２６】
マイコン１６は、他のＥＣＵに対して送信すべきメッセージがある場合、メッセージの内容からそのメッセージに対応する優先順位を示す優先順位情報（ＩＤコード）を特定し、これらメッセージ及びＩＤコードを、ＣＡＮコントローラ１５のメッセージボックスのメッセージレジスタ及びＩＤコードレジスタに格納する。このとき、各メッセージボックスに付随する用途指定レジスタを送信用に設定する。
【００２７】
このようにして、マイコン１６によってＣＡＮコントローラ１５のメッセージボックスに送信用のメッセージが格納されると、ＣＡＮコントローラ１５は、送信制御として、用途指定レジスタにより送信用に指定されたメッセージボックスの格納値（ＩＤコード及びメッセージ）に基づいてフレームを作成し、ＣＡＮトランシーバ１８を介して送信する。
【００２８】
以下に、調停制御について図３を参照しつつ説明する。なお、図３において、３１，４１，５１，６１，７１は、下記のアービトレーションフィールドに格納される優先順位を示すＩＤコードを示し、３０，４０，５０，６０，７０は、下記のコントロールフィールドやデータフィールドからなるメッセージ本体を示している。
【００２９】
ＣＡＮプロトコルでは、フレームの先頭部分に、フレームの開始を表すＳＯＦ（Start Of Frame）コードが割り当てられている。続くアービトレーションフィールドには、優先順位を示すとともに、後続のデータ領域により、どのような種類のデータを送信するためのフレームであるかを識別するためのＩＤコードが含まれる。さらに、アービトレーションフィールドに続くコントロールフィールドには、データフィールドに含まれるデータのバイト数を示すデータが含まれる。そして、データフィールドには、送信すべきデータ本体が格納される。このデータフィールドには、通常、０〜８バイトまでのデータを格納することができる。
【００３０】
送信すべきフレームを有するＣＡＮコントローラ１５は、通信バス２が使用中でなければ、直ちにフレームの送信を開始し、通信バス２が使用中であれば、通信バス２が解放（フレームの送信が終了）されると、所定のビット数（３ビット）分だけ待機した後に、フレームの送信を開始する。この結果、図３の時刻Ｔ１のように、フレームの送信を希望するＣＡＮコントローラ１５が複数ある時には、通信バス２が解放された時に、同時にフレームの送信を開始するため、通信バス２上でフレームの衝突が発生する。
【００３１】
このようなフレームの衝突が発生した場合、ＣＡＮプロトコルでは、上述のＩＤコードを用いて、どのフレームを優先するかを決定する調停制御が実行される。この調停制御では、ＩＤコードの論理値が最も小さいフレームを送信したＣＡＮコントローラ１５が送信権を得る。そして、通常、早い応答時間が要求されるデータやメッセージが割り付けられたフレームほど、他のフレームとの衝突が生じても優先して伝送されるように、高優先度のＩＤコードが割り当てられている。図３に示す例では、時刻Ｔ１から開始されたフレームの衝突では、ＩＤコード５１を有するフレームが送信権を得て、その後、メッセージ本体５０の送信を行っている。
【００３２】
図３に示す例において、調停負けした場合、そのフレームを送信していたＣＡＮコントローラ１５は、メッセージ本体５０の送信が完了した後、再度、ＩＤコードの送信を開始する。このようにして、それぞれの優先順位に従い、それぞれのメッセージ本体６０，７０の送信が行われる。
【００３３】
また、マイコン１６は、他のＥＣＵ１２〜１４から受信すべきメッセージがある場合、ＣＡＮコントローラ１５のメッセージボックスの用途指定レジスタを受信用に指定するとともに、受信すべきメッセージに対応するＩＤコードを、メッセージボックスのＩＤコードレジスタに格納する。すると、ＣＡＮコントローラ１５は、受信制御として、受信用に指定されたメッセージボックスのＩＤコードレジスタに格納されたＩＤコードと一致するフレームを受信するとともに、受信したフレームからメッセージを抽出し、ＩＤコードの一致したメッセージボックスのメッセージレジスタに格納する。
【００３４】
その後、マイコン１６は、ＣＡＮコントローラ１５から、割込やフラグの表示等により、フレームを受信した旨の通知を受けた場合、受信用に設定されたメッセージボックスのメッセージレジスタの内容を読み出すことにより、他のＥＣＵ１２〜１４からのメッセージを受信する。
【００３５】
以上、各ＥＣＵ１１〜１４において、ＣＡＮプロトコルに従って通信を行うための構成及びその構成により実行される通信制御について説明した。次に、複数のＥＣＵ１１〜１４の中で、マスタノードとして選定されたＥＣＵが実行する処理について、図４のフローチャート及び図５のタイムチャートを用いて説明する。
【００３６】
なお、図４及び図５に示す例においては、予め複数種類のリファレンスメッセージ１−１，１−２が設定されており、マスタノードであるＥＣＵは、基準間隔（基準周期）Ｔが経過する毎に、それら複数種類のリファレンスメッセージを順番に送信する。この基準周期Ｔは、定期的にデータを送信する必要がある全てのＥＣＵが、そのデータを送信するための定期データメッセージを１回ずつ送信可能な長さに設定されている。
【００３７】
このように、複数種類のリファレンスメッセージを設定することにより、異なる送信周期を持つ定期データメッセージを、各々の送信周期に従って周期的に送信することが可能になる。この点について、以下に、より具体的に説明する。
【００３８】
図５に示す例では、定期データメッセージとしての情報２は、基準周期Ｔ毎に送信されている。すなわち、情報２の送信周期は、基準周期Ｔに等しい。一方、定期データメッセージとしての情報４は、情報４−１と情報４−２とに分割され、リファレンスメッセージ１−１に対して情報４−１が送信され、リファレンスメッセージ１−２に対して情報４−２が送信される。このため、情報４の送信周期は、実質的に基準周期Ｔの２倍に等しくなる。
【００３９】
このように、複数種類のリファレンスメッセージ１−１，１−２を設定し、それを基準周期ごとに順番に送信し、定期データメッセージを送信するＥＣＵが、受信したリファレンスメッセージの種類に応じた定期データメッセージを送信することで、複数の異なる周期の定期データメッセージも、それぞれ周期的に送信することが可能となる。
【００４０】
この場合、定期的に送信する必要がある情報の最も短い送信周期を基準周期とし、その基準周期の整数倍であって、より長い送信周期を組み込むために必要な数だけリファレンスメッセージの種類（ＩＤコード）を設定すれば良い。そして、すべての定期データメッセージが、その基準周期内に送信できるように、必要に応じて定期データメッセージの各領域への振り分け等を行う。
【００４１】
例えば、図５に示す例では、基準周期Ｔに等しい周期と、その２倍の周期で、それぞれ定期データメッセージとしての情報２，情報４を送信しているので、２種類のリファレンスメッセージを設定している。さらに、基準周期の３倍や４倍の周期でも定期データメッセージを送信する必要があれば、その分だけ、リファレンスメッセージの種類（ＩＤコード）の数を増やすことで対応可能である。
【００４２】
また、図５に示す例では、情報４に関して、情報４−１と情報４−２とに分割して、その送信を、リファレンスメッセージ１−１に対応するＡ領域と、リファレンスメッセージ１−２に対応するＢ領域とに振り分けている。これにより、特定の領域に、送信すべきメッセージが集中することを抑制する効果が期待できる。ただし、情報４のように、基準周期Ｔよりも長い送信周期を持つものについて、必ずしも分割して送信せずとも良く、例えばリファレンスメッセージ１−２の受信に応じて、情報４−１と情報４−２の両方を送信するようにしても良い。
【００４３】
また、本実施形態の通信システムでは、非定期データメッセージに、定期データメッセージの優先順位よりも高い優先順位を付与することを許容している。例えば、図５に示す例では、非定期データメッセージである情報３は、定期データメッセージである情報４（情報４−１，４−２）よりも高い優先順位が与えられている。これにより、即時に送信されるべき非定期データメッセージである情報３に関して、その送信開始までの時間を極力短縮することが可能となる。
【００４４】
ただし、定期データメッセージの優先順位よりも高い優先順位を持つ非定期データメッセージの数は、その非定期データメッセージの送信が行われても、基準周期Ｔ以内に、全ての定期データメッセージが１回ずつ送信可能な数に制限される。基準周期Ｔの満了までに定期データメッセージが送信できずに、その定期データメッセージが消失してしまうことを防止するためである。従って、定期データメッセージの優先順位よりも高い優先順位を持つ非定期データメッセージは、緊急性、重要度等を鑑みて選択され、即時に送信する必要がない非定期データメッセージは、定期データメッセージよりも低い優先順位が与えられる。
【００４５】
また、定期データメッセージを送信する各ＥＣＵは、送信すべきデータを予め取得し、ＥＣＵ内に保持しておく。このデータの取得及び保持は、定期データメッセージを送信した後、次の定期データメッセージを送信する以前に完了される。そして、定期データメッセージを送信する各ＥＣＵは、リファレンスメッセージを受信したタイミングで、そのとき保持しているデータを送信用メッセージボックスに格納する。従って、例えば複数の定期データメッセージにより、各種のデータ（エンジン回転数、モータ回転数など）を送信する場合に、それらのメッセージを受信する各ＥＣＵは、ほぼ同じ時期に取得された、同期されたデータを得ることができる。
【００４６】
なお、定期的に送信されるべきデータメッセージが、リファレンスメッセージが送信される基準周期Ｔの整数倍以外の送信間隔を持ち、かつその送信間隔が、ある定期データメッセージの送信間隔よりも短い場合に、その定期的に送信されるべきデータメッセージを、定期データメッセージよりも高い優先順位を持つ非定期データメッセージとしても良い。これにより、定期的に送信されるべきデータメッセージが、リファレンスメッセージが送信される基準周期Ｔの整数倍以外の送信周期を持つ場合であっても、実質的に、所望される送信周期で、そのデータメッセージを送信することが可能となる。
【００４７】
図４のフローチャートに示すように、マスタノードとして選定されたＥＣＵは、まず、ステップＳ１００において、図５に示すリファレンスメッセージ１−１のフレームと、そのリファレンスメッセージ１−１に応じて送信する定期データメッセージ（図５の情報２）のフレームを作成し、メッセージボックスに格納する。メッセージボックスに格納されたリファレンスメッセージ１−１は、最も高い優先順位が与えられているので、上述したＣＡＮコントローラ１５の送信制御によって即座に送信される。そして、定期データメッセージ（図５の情報２）も、図５に示すように、定期データメッセージの中では最も高い優先順位が与えられているので、リファレンスメッセージ１−１の送信完了に引き続いて送信される。
【００４８】
このように、本実施形態による通信システムでは、リファレンスメッセージ１−１（１−２）に続いて送信される、定期データメッセージ（図５の情報２）は、マスタノードとしてのＥＣＵが送信するようにしている。これにより、リファレンスメッセージを受信した他のＥＣＵが定期データメッセージを準備する間に、定期データメッセージの送信を開始することができるので、効率的なメッセージの送信を行うことができる。
【００４９】
続くステップＳ１１０では、実質的にリファレンスメッセージ１−１の送信が開始された時点からの経過時間のカウントを開始する。そして、ステップＳ１２０では、経過時間が一定時間Ａに到達したか否かが判定される。この一定時間Ａは、図５に示す基準周期Ｔに相当する。この判定処理において、一定時間Ａに到達したと判定されると、ステップＳ１３０に進んで、送信用メッセージボックスをキャンセルして、リファレンスメッセージ１−１及び定期データメッセージ（図５の情報２）のフレームをクリアする。
【００５０】
続くステップＳ１４０では、リファレンスメッセージ１−１の送信開始から一定時間Ａが経過したため、今度は、リファレンスメッセージ１−２を送信すべく、リファレンスメッセージ１−２のフレームと、そのリファレンスメッセージ１−２に応じて送信する定期データメッセージ（図５の情報２）のフレームを作成し、メッセージボックスに格納する。これにより、リファレンスメッセージ及び図５の情報２に相当する定期データメッセージが順次送信される。
【００５１】
ステップＳ１５０では、実質的にリファレンスメッセージ１−１の送信が開始された時点からの経過時間が一定時間Ｂに到達したか否かが判定される。この一定時間Ｂは、図５に示す基準周期Ｔの２倍の周期に相当する。この判定処理において、一定時間Ｂに到達したと判定されると、ステップＳ１６０に進んで、次回のリファレンスメッセージ１−１などの送信に備えるべく、送信用メッセージボックスをキャンセルして、リファレンスメッセージ１−２及び定期データメッセージ（図５の情報２）のフレームをクリアする。そして、ステップＳ１７０では、ステップＳ１１０にて開始された経過時間のカウントをクリアする。
【００５２】
次に、マスタノードとしてのＥＣＵからリファレンスメッセージ１−１，１−２を受信したＥＣＵが行う処理について、図６のフローチャートに基づき説明する。
【００５３】
まず、ステップＳ２００では、リファレンスメッセージ１−１の受信を行う。続くステップＳ２１０では、新たな定期データメッセージの送信に備えて、送信用メッセージボックスをキャンセルする。そして、ステップＳ２２０において、リファレンスメッセージ１−１に応じて送信するメッセージのフレームを作成し、送信用メッセージボックスに格納する。
【００５４】
ステップＳ２３０では、リファレンスメッセージ１−２を受信したか否かを判定する。この判定処理において、リファレンスメッセージ１−２を受信したと判定した場合、ステップＳ２４０に進み、新たな定期データメッセージの送信に備えて、送信用メッセージボックスをキャンセルする。そして、ステップＳ２５０において、リファレンスメッセージ１−２に応じて送信するメッセージのフレームを作成し、送信用メッセージボックスに格納する。
【００５５】
次に、リファレンスメッセージ１−１，１−２の受信とは無関係に、所定の事象の発生に応じて、所定のデータを送信するＥＣＵにおいて行われる処理について、図７のフローチャートに基づき説明する。
【００５６】
まず、ステップＳ３００では、所定の事象に該当するイベントが発生したか否かを判定する。この判定処理において、イベントが発生したと判定されると、ステップＳ３１０において、イベントに応じて送信すべき非定期データメッセージを送信用メッセージボックスに格納する。
【００５７】
図８は、送信用メッセージボックスに格納されたメッセージを送信するため、及び他のＥＣＵから送信されたメッセージを受信するために、マスタノードとして選定されたＥＣＵを含め、全てのＥＣＵにおいて実行される処理を示すフローチャートである。
【００５８】
まず、ステップＳ４００では、送信用メッセージボックスに格納されたメッセージが有るか否かが判定される。この判定処理において、格納されたメッセージが有ると判定されるとステップＳ４１０の処理に進み、メッセージが無いと判定されるとステップＳ４５０の処理に進む。
【００５９】
ステップＳ４１０では、格納されたメッセージに対応付けられたＩＤコード、すなわち、優先順位情報を送信する。ステップＳ４２０では、送信した優先順位情報が、調停勝ちしたか、調停負けしたかを判定する。調停勝ちしたと判定した場合にはステップＳ４３０の処理に進み、調停負けしたと判定した場合にはステップＳ４５０の処理に進む。
【００６０】
ステップＳ４３０では、ＩＤコードの送信に引き続いて、メッセージの送信を行う。そして、ステップＳ４４０にてメッセージの送信完了が判定されると、ステップＳ４７０に進んで、３ビット分の時間だけ待機し、一旦、処理を終了する。一方、ステップＳ４５０では、他のＥＣＵからのメッセージ受信待ちを行い、ステップＳ４６０にてメッセージの受信が完了したと判定されると、ステップＳ４７０の処理に進む。
【００６１】
このような図８のフローチャートに示す処理を行うことにより、従来のＣＡＮプロトコルに従った、送信、受信、及び調停制御を実行することができる。
【００６２】
以上、説明したように、本実施形態の通信システムによれば、非定期データメッセージに対して、少なくとも１つの定期データメッセージよりも高い優先順位を設定することを許容しているので、即時に送信されるべき非定期データメッセージに関して、その送信開始までの時間を極力短縮することが可能となる。
【００６３】
また、本実施形態の通信システムでは、定期的に送信されるリファレンスメッセージに応じて、定期データメッセージの送信が行われる。この定期データメッセージの優先順位は、即時に送信する必要のない非定期データメッセージの優先順位よりも高く設定されるこのため、定期データメッセージを基準周期Ｔ内に確実に送信することができ、定期データメッセージの消失を防止することができる。
【００６４】
さらに、本実施形態による通信システムの通信方式は、ＩＳＯにて規格化されたＣＡＮプロトコルに準拠しているので、全く新規にコントローラやトランシーバを開発する必要がなく、安価に通信システムを構築することができる。
【００６５】
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々、変形して実施することが可能である。
【００６６】
例えば、上述した実施形態では、複数種類のリファレンスメッセージが設定された場合に、各リファレンスメッセージ１−１，１−２が、基準周期Ｔ毎に順番に送信される例について説明した。しかしながら、図９に示されるように、リファレンスメッセージの種類に応じて、リファレンスメッセージの送信周期を変化させても良い。
【符号の説明】
【００６７】
２  通信バス
１１〜１４  電子制御装置（ＥＣＵ）
１５  ＣＡＮコントローラ
１６  マイコン
１７  メッセージボックス
１８  ＣＡＮトランシーバ
【図１】
0005637193.tif 000002
【図２】
0005637193.tif 000003
【図３】
0005637193.tif 000004
【図４】
0005637193.tif 000005
【図５】
0005637193.tif 000006
【図６】
0005637193.tif 000007
【図７】
0005637193.tif 000008
【図８】
0005637193.tif 000009
【図９】
0005637193.tif 000010