(57)【要約】【課題】通信バスに複数の通信ノードが接続された通信システムにおいて、優先度が低く、送出される頻度が低かったデータの送出頻度を向上させることができ、かつ通信バスの利用効率を向上させることができる技術を提供する。【解決手段】あるＥＣＵは他のＥＣＵに対してデータ送出を要求するリファレンスメッセージを送出する（Ｓ１１０）。リファレンスメッセージの送出後、全てのＥＣＵは自身が送出しようとするメッセージの優先順位情報を通信バスに対して送出し（Ｓ１７０）、他のＥＣＵから送出された優先順位情報が、自身が送出した優先順位情報よりも高い優先順位を示すか否かを検出する（Ｓ１８０）。このとき自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出されなかった場合に、メッセージを通信バスに対して送出し、次にリファレンスメッセージを受けるまで同じ優先順位のデータの送出をしないように構成される（Ｓ１９０）。【選択図】図２
2011030151.tif 000002
【特許請求の範囲】
【請求項１】
通信バスに送出されたデータを検出可能な複数の通信ノードが前記通信バスに接続されて構成された通信システムであって、
予め設定されたある通信ノード（以下、「マスタノード」という。）は、
他の通信ノードに対してデータ送出を要求するリファレンスメッセージを送出するリファレンス送出手段、を備え、
前記複数の通信ノードのうちの少なくとも１以上の通信ノード（以下、「特定ノード」という。）は、
前記マスタノードからのリファレンスメッセージを受けると、自身が送出しようとするデータを示す送出データの優先順位を示す優先順位情報を前記通信バスに対して送出する優先順位送出手段と、
他の通信ノードから送出された優先順位情報が、自身が送出した優先順位情報よりも高い優先順位を示すか否かを検出する優先順位検出手段と、
前記優先順位検出手段により自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出されなかった場合に、前記送出データを前記通信バスに対して送出し、次にリファレンスメッセージを受けるまで同じ優先順位のデータの送出をしないデータ送出手段と、
前記優先順位検出手段により自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出された場合に、該優先順位情報が対応する他の通信ノードからの送出データが送出された後で、前記優先順位送出手段としての機能を再度実施させる優先順位再送出手段と、
を備えたことを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムにおいて、
前記マスタノードは、前記各特定ノードから送出される優先順位情報のうちの最も優先順位の低い優先順位情報である最低順位情報を自身に記憶しており、
前記リファレンス送出手段は、当該マスタノードが前記最低順位情報を受けると、該最低順位情報に対応する特定ノードから送出された送出データの次のデータとして、リファレンスメッセージを送出すること
を特徴とする通信システム。
【請求項３】
請求項１または請求項２に記載の通信システムにおいて、
前記リファレンス送出手段は、リファレンスメッセージの送出後、前記各特定ノードによって全ての送出データが１度ずつ送出されるのに要する時間よりも長い時間に設定されたリセット基準時間を経過すると、再度、リファレンスメッセージを送出すること
を特徴とする通信システム。
【請求項４】
請求項３に記載の通信システムにおいて、
前記各特定ノードは、
前記マスタノードからリファレンスメッセージが送出された後、前記リセット基準時間を経過すると、自身が送出しようとする送出データを送出前に貯留する送出バッファ内の送出データを削除する送出データ削除手段と、
を備えたことを特徴とする通信システム。
【請求項５】
請求項１〜請求項４の何れかに記載の通信システムにおいて、
前記少なくとも何れかの通信ノードは、
予め設定された優先順位情報である読込基準情報を受けると、前記通信バスを介して受けたデータを貯留する受信バッファ内のデータを取得する旨の取得指示を出力する取得指示出力手段、
を備えたことを特徴とする通信システム。
【請求項６】
請求項１〜請求項５の何れかに記載の通信システムにおいて、
前記各特定ノードは、
自身が送信した複数の送出データに関するチェックサムデータを生成するチェックサム生成手段と、
前記生成されたチェックサムデータに対応して予め設定された優先順位情報および該チェックサムデータを送出するチェックサム送出手段と、
を備えたことを特徴とする通信システム。
【請求項７】
請求項６に記載の通信システムにおいて、
前記チェックサム生成手段は、自身の特定ノードが送出する送出データのうちの予め設定された送出データが送出されると、前記チェックサムデータを生成すること
を特徴とする通信システム。
【請求項８】
請求項６または請求項７に記載の通信システムにおいて、
前記チェックサム生成手段は、予め設定されたチェックサム基準時間毎に、前記チェックサムデータを生成すること
を特徴とする通信システム。
【請求項９】
請求項１〜請求項８の何れかに記載の通信システムにおいて、
前記特定ノードうちの少なくとも１つは、
前記マスタノードが最後にリファレンスメッセージを送信してから予め設定された第１異常判定基準時間以上経過した場合に、前記マスタノードの異常を出力する第１異常出力手段、
を備えたことを特徴とする通信システム。
【請求項１０】
請求項１〜請求項９の何れかに記載の通信システムにおいて、
前記特定ノードのうちの少なくとも１つは、
前記各特定ノードから送出される優先順位情報のうちの最も優先順位の低い優先順位情報である最低順位情報を自身に記憶しており、
前記最低順位情報が予め設定された第２異常判定基準時間以上検出できなかった場合に、異常を出力する第２異常出力手段、
を備えたことを特徴とする通信システム。
【請求項１１】
通信バスに送出されたデータを検出可能な通信ノードであって、
請求項１〜請求項１０の何れかに記載の通信システムを構成するマスタノードとして構成されたこと
を特徴とする通信ノード。
【請求項１２】
通信バスに送出されたデータを検出可能な通信ノードであって、
請求項１〜請求項１０の何れかに記載の通信システムを構成する特定ノードとして構成されたこと
を特徴とする通信ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信バスに複数の通信ノードが接続された通信システム、およびこの通信システムを構成する通信ノードに関する。
【背景技術】
【０００２】
車両内において、通信バスに複数の通信ノードが接続された通信システムにおける通信方式として、ＩＳＯ１１８９８−１において規格化されたＣＡＮ（Cotroller Area Network）等のCSMA/NBA方式通信や、ＩＳＯ１１８９８−４、FlexRay（登録商標）等の固定タイムスロット方式の時分割多重通信が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０４９９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＣＡＮにおいては、ＩＤにより通信の衝突を調停するが、通信バスに送出されるデータの種別が増加すると、調停される頻度が増加するため、調停負けする確率が高い低優先度のＩＤを有するデータが送出され難いという問題点がある。
【０００５】
一方、FlexRay等の固定タイムスロット方式の時分割多重通信においては、１つのタイムスロットで１つのデータを送信し、かつタイムスロットの長さが固定化されているため、最もデータ長の長いデータに合わせてタイムスロットの長さを設定しておく必要がある。このため、データ長の長いデータと短いデータとが混在する場合に、バスの利用効率が低下するという問題点がある。
【０００６】
そこで、このような問題点を鑑み、通信バスに複数の通信ノードが接続された通信システムにおいて、優先度が低く、送出される頻度が低かったデータの送出頻度を向上させることができ、かつ通信バスの利用効率を向上させることができる技術を提供することを本発明の目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するために成された請求項１に記載の通信システムにおいて、予め設定されたある通信ノード（マスタノード）のリファレンス送出手段は、他の通信ノードに対してデータ送出を要求するリファレンスメッセージを送出する。そして、複数の通信ノードのうちの少なくとも１以上の通信ノード（特定ノード）において、優先順位送出手段は、マスタノードからのリファレンスメッセージを受けると、自身が送出しようとするデータを示す送出データの優先順位を示す優先順位情報を通信バスに対して送出し、優先順位検出手段は、他の通信ノードから送出された優先順位情報が、自身が送出した優先順位情報よりも高い優先順位を示すか否かを検出する。
【０００８】
さらに、データ送出手段は、優先順位検出手段により自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出されなかった場合に、送出データを通信バスに対して送出し、次にリファレンスメッセージを受けるまで同じ優先順位のデータの送出をしない。また、優先順位再送出手段は、優先順位検出手段により自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出された場合に、この優先順位情報が対応する他の通信ノードからの送出データが送出された後で、優先順位送出手段としての機能を再度実施させる。
【０００９】
即ち、本発明の通信システムにおいて、少なくとも１以上の特定ノードは、リファレンスメッセージを基準にデータ送出を開始し、優先順位情報に基づいて優先順位が最も高いデータのみが通信バスに送出される。各特定ノードは、その後、次のリファレンスメッセージを受けるまでは送出済みのデータと同じ優先順位のデータを送出しないように設定されているので、各特定ノードは、高い優先順位を有するデータから順に送出することになる。
【００１０】
よって、低い優先順位を有するデータであっても、相対的に高い優先順位を有するデータが全て送出されれば、その後、送出される。また、本発明では、データ間に余分な時間を空けることなく通信を継続することができる。
【００１１】
従って、このような通信システムによれば、優先度が低く、送出される頻度が低かったデータの送出頻度を向上させることができ、かつ通信バスの利用効率を向上させることができる。
【００１２】
なお、特定ノードにはマスタノードが含まれていてもよい。つまり、マスタノードが特定ノードしての機能を備えていてもよい。また、通信ノードには、リファレンスメッセージに拘わらずデータを送出するものがあってもよい。
【００１３】
ところで、請求項１に記載の通信システムにおいては、請求項２に記載のように、マスタノードは、各特定ノードから送出される優先順位情報のうちの最も優先順位の低い優先順位情報である最低順位情報を自身に記憶しており、リファレンス送出手段は、マスタノードが最低順位情報を受けると、この最低順位情報に対応する特定ノードから送出された送出データの次のデータとして、リファレンスメッセージを送出してもよい。
【００１４】
このような通信システムによれば、最も低い優先順位を有する送出データが送出された後で、再度、全ての送出データを送出することができる。
さらに、請求項１または請求項２に記載の通信システムにおいては、請求項３に記載のように、リファレンス送出手段は、リファレンスメッセージの送出後、前記各特定ノードによって全ての送出データが１度ずつ送出されるのに要する時間よりも長い時間に設定されたリセット基準時間を経過すると、再度、リファレンスメッセージを送出してもよい。
【００１５】
このような通信システムによれば、リセット基準時間が経過する毎にリファレンスメッセージを再送するので、各通信ノードは概ね周期的に同一種別のデータを送出することができる。
【００１６】
また、各特定ノードが、データ送出手段により送出された送出データのエラーを検出し、エラーが検出された場合に、当該送出データに対応する優先順位情報および当該送出データを再度送出するデータ再送出手段を備えている場合には、送出データのエラーが多発したときに、送出データの再送が多発することが想定される。このような場合であっても、本発明の通信システムによれば、リセット基準時間を超過した場合に、リファレンスメッセージを送出するので、高い優先度を有する送出データを概ねリセット基準時間毎に送出することができる。なお、上記データ再送出手段による作動を禁止する再送禁止手段を備えていてもよい。
【００１７】
また、本発明を請求項２に記載の発明に適用する場合には、リファレンス送出手段は、最低順位情報を受け、かつリセット基準時間が経過したときにリファレンスメッセージを送出してもよいし、最低順位情報を受けるか、またはリセット基準時間が経過したときにリファレンスメッセージを送出するようにしてもよい。
【００１８】
さらに、請求項３に記載の通信システムにおいて、各特定ノードは、請求項４に記載のように、マスタノードからリファレンスメッセージが送出された後、リセット基準時間を経過すると、自身が送出しようとする送出データを送出前に貯留する送出バッファ内の送出データを削除する送出データ削除手段を備えていてもよい。
【００１９】
このような通信システムによれば、送出バッファに貯留された送出データはリセット基準時間以内である場合のみに送信されるので、送出バッファ内に長時間貯留された古い送出データが送出されることを防止することができる。
【００２０】
なお、請求項３および請求項４に記載の構成では、リセット基準時間が経過するとリファレンスメッセージが送出され、各特定ノードによるデータ送出が再度開始されるので、エラーが発生しやすい（ノイズが多い）環境において周期的にデータ送信を実施したい場合に、本構成を採用すると効果的である。
【００２１】
また、請求項１〜請求項４の何れかに記載の通信システムにおいて、少なくとも何れかの通信ノードは、請求項５に記載のように、予め設定された優先順位情報である読込基準情報を受けると、通信バスを介して受けたデータを貯留する受信バッファ内のデータを取得する旨の取得指示を出力する取得指示出力手段を備えていてもよい。
【００２２】
このような通信システムによれば、読込基準情報を受けたときに取得指示を出力するので、データを受信する毎に取得指示を出力する構成と比較して、データを取得する側の手段（例えば外部装置）が受信バッファからデータを取得する頻度を低くすることができる。したがって、データを取得する側の手段の処理負荷を軽減することができる。
【００２３】
さらに、請求項１または請求項５の何れかに記載の通信システムにおいて、各特定ノードは、請求項６に記載のように、自身が送信した複数の送出データに関するチェックサムデータを生成するチェックサム生成手段と、生成されたチェックサムデータに対応して予め設定された優先順位情報および該チェックサムデータを送出するチェックサム送出手段と、を備えていてもよい。
【００２４】
このような通信システムによれば、チェックサムデータを受けた通信ノードは、複数の送出データに対するエラーの有無を１つのチェックサムデータで確認することができる。
加えて、請求項６に記載の通信システムにおいて、チェックサム生成手段は、請求項７に記載のように、自身の特定ノードが送出する送出データのうちの予め設定された送出データが送出されると、チェックサムデータを生成するようにしてもよい。
【００２５】
このような通信システムによれば、例えば自身が送出する送出データの全てが送出された後など、所定の送出データが送出されたときに、これまでに送出した送出データについてのチェックサムデータを送信することができる。
【００２６】
また、請求項６または請求項７に記載の通信システムにおいて、チェックサム生成手段は、請求項８に記載のように、予め設定されたチェックサム基準時間毎に、チェックサムデータを生成するようにしてもよい。
【００２７】
このような通信システムによれば、チェックサム基準時間毎にチェックサムデータを送出するので、一定時間毎に送出済データの信頼性を確認することができる。なお、チェックサム基準時間を計時する際には、リファレンスメッセージの受信を起算点とすることが考えられる。
【００２８】
また、本発明を請求項７に記載の発明に適用する場合には、チェックサム生成手段は、予め設定された送出データが送出され、かつチェックサム基準時間が経過したときにチェックサムデータを生成してもよいし、予め設定された送出データが送出されるか、またはチェックサム基準時間が経過したときにチェックサムデータを生成するようにしてもよい。
【００２９】
また、請求項１〜請求項８の何れかに記載の通信システムにおいて、特定ノードのうちの少なくとも１つは、請求項９に記載のように、マスタノードが最後にリファレンスメッセージを送信してから予め設定された第１異常判定基準時間以上経過した場合に、マスタノードの異常を出力する第１異常出力手段を備えていてもよい。
【００３０】
このような通信システムによれば、少なくとも１つの特定ノードがマスタノードの異常を検出することができ、異常に対応した処理を実施することができる。
さらに、請求項１〜請求項９の何れかに記載の通信システムにおいて、特定ノードのうちの少なくとも１つは、請求項１０に記載のように、各特定ノードから送出される優先順位情報のうちの最も優先順位の低い優先順位情報である最低順位情報を自身に記憶しており、最低順位情報が予め設定された第２異常判定基準時間以上検出できなかった場合に、異常を出力する第２異常出力手段を備えていてもよい。
【００３１】
このような通信システムによれば、エラーの頻発等の理由により、少なくとも何れかのデータが送出できていない旨の異常を検出することができ、異常に対応した処理を実施することができる。
【００３２】
次に請求項１１に記載の通信ノードは、請求項１〜請求項１０の何れかに記載の通信システムを構成するマスタノードとして構成されたことを特徴としている。また、請求項１２に記載の通信ノードは、請求項１〜請求項１０の何れかに記載の通信システムを構成する特定ノードとして構成されたことを特徴としている。
【００３３】
これらのような通信ノードによれば、少なくとも請求項１に記載の通信システムと同様の効果を享受することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明が適用された通信システムの概略構成を示すブロック図である。
【図２】マスタ処理を示すフローチャートである。
【図３】スレーブ処理を示すフローチャートである。
【図４】各ＥＣＵが実際にデータを送信する際の一態様を示す説明図である。
【図５】各ＥＣＵが実際にデータを送信する際の一態様を示す説明図である。
【図６】変形例のマスタ処理（スレーブ処理）を示すフローチャートである。
【図７】変形例において各ＥＣＵが実際にデータを送信する際の一態様を示す説明図である。
【図８】変形例のスレーブ処理を示すフローチャートである。
【図９】変形例において各ＥＣＵが実際にデータを送信する際の一態様を示す説明図である。
【図１０】変形例のマスタ処理を示すフローチャートである。
【発明を実施するための形態】
【００３５】
以下に本発明にかかる実施の形態を図面と共に説明する。
［本実施形態のハードウェア構成］
図１は本発明が適用された通信システム１の概略構成を示すブロック図である。通信システム１は、例えば乗用車等の車両に搭載されており、図１に示すように、通信バス５に複数のＥＣＵ１０，２０，３０，４０等（以下、ＥＣＵ１０〜４０と表記する。図１ではＥＣＵ４０を省略。）が接続されて構成されている。
【００３６】
ＥＣＵ１０〜４０のハードウェア構成は、ＩＳＯ１１８９８−１において規格化されたＣＡＮとしての通信を実施可能な周知の構成とされている。また、ＥＣＵ１０〜４０においては、それぞれ同様のハードウェア構成とされている。ハードウェア構成に関する以下の説明では、ＥＣＵ１０のみ構成について簡単に説明する。
【００３７】
ＥＣＵ１０は、マイコン１１とトランシーバ１４とを備えて構成されている。マイコン１１は、ＣＰＵ１２、ＲＡＭ（図示省略）、ＲＯＭ（図示省略）、コントローラ１３等を備えた周知のマイクロコンピュータとして構成されている。
【００３８】
ＥＣＵ１０のＣＰＵ１２は、ＲＯＭ等のメモリに格納された通信ソフトウェアを実行することによりコントローラ１３やトランシーバ１４を制御するとともに、車両制御ソフトウェアを実行することにより車両各部の装置を制御する。
【００３９】
ＥＣＵ１０は、トランシーバ１４を使用して通信バス５を介して他のＥＣＵとデータを送受信する。この際の通信プロトコルとしては、ＣＡＮと同様のプロトコルを利用する。
なお、ＥＣＵ１０が複数の通信チャネルを備える場合、通信チャネル毎にコントローラ１３およびトランシーバ１４が設置される。また、ＥＣＵ１０は、通信バス５を介して他のＥＣＵとデータを送受信することにより他のＥＣＵと連携して車両制御を実施してもよいし、通信バス５を介さず各種センサの検出信号を直接入力し独立して車両制御を実施してもよい。
【００４０】
トランシーバ１４は、通信バス５のバス信号を受信用に設けられた端子から受信し、コントローラ１３が扱える受信信号に変換してコントローラ１３に出力するとともに、コントローラ１３が送信する送信信号を通信バス５のバス用のバス信号に変換して送信用に設けられた端子から通信バス５に送信する。
【００４１】
コントローラ１３は、メッセージボックス（図示省略）とレジスタ（図示省略）とを有している。メッセージボックスは、例えば送信用のメッセージボックスと受信用のメッセージボックスとからなり、コントローラ１３のレジスタとＣＰＵ１２との間でデータの受け渡しを行う。
【００４２】
また、レジスタは、メッセージボックスから受け取った送信データの格納用、あるいはトランシーバ１４が受信した受信データの格納用に使用されるレジスタである。
コントローラ１３は、プログラムを格納する記録装置やプログラムを実行する演算装置等を備えており、送信用のメッセージボックス（送出バッファ）を介してＣＰＵ１２から送信データを複数のレジスタに順次格納し、レジスタに格納された送信データをフレーム化してトランシーバ１４に出力する送信制御と、トランシーバ１４を介して通信バス５からフレームを受信してメッセージ等を抽出して複数のレジスタに順次格納し、受信用のメッセージボックスからＣＰＵ１２に出力する受信制御と、通信バス５上で送信フレームが衝突したときのバス権の調停制御などを実施する。
【００４３】
ＣＰＵ１２は、データ送信時に、通信ソフトウェアを利用して、送信するメッセージの内容からそのメッセージに対応する優先順位情報（ＩＤコード）を特定し、これらメッセージおよび優先順位情報を送信用のメッセージボックスに出力する。また、ＣＰＵ１２は、コントローラ１３から、割込やフラグの表示等によりフレームを受信した旨の通知を受けた場合、受信用のメッセージボックスを読み出す。
【００４４】
ここで、通信システム１においては、マスタノードから送信されるリファレンスメッセージを基準として、各ＥＣＵ１０〜４０がデータの送信を開始する。なお、本実施形態においては、ＥＣＵ１０がマスタノードとして設定されており、ＥＣＵ２０〜４０がマスタノード以外の通信ノードであるスレーブノードとして設定されているものとする。
【００４５】
［本実施形態による処理］
このように構成された通信システム１において、各ＥＣＵ１０〜４０にて実施される処理について図２以下の図面を用いて説明する。図２はマスタノードであるＥＣＵ１０のコントローラ１３が実行するマスタ処理を示すフローチャート、図３はスレーブノードであるＥＣＵ２０〜４０のコントローラ２３，３３が実行するスレーブ処理を示すフローチャートである。
【００４６】
マスタ処理およびスレーブ処理は、イングニッションスイッチ等の車両の電源が投入されると開始される処理である。マスタ処理では、図２に示すように、まず、スレーブノードに対してデータ送出を要求するリファレンスメッセージを送出する（Ｓ１１０：リファレンス送出手段）。
【００４７】
マスタノードおよびスレーブノード（ＥＣＵ１０〜４０）は、このリファレンスメッセージを受信し、以後原則として、リファレンスメッセージを基準にメッセージの送出を行う。
【００４８】
続いて、自身に内蔵されたタイマを起動させ、時間のカウントを開始し（Ｓ１２０）、タイマによる時間を参照することによって、ファレンスメッセージの送出後、一定時間（例えば４ｍｓ）が経過したか否かを判定する（Ｓ１３０）。なお、ここでいう一定時間は各ＥＣＵ１０〜４０によって全ての送出データが１度ずつ送出されるのに要する時間よりも長い時間に設定されている。
【００４９】
一定時間が経過していれば（Ｓ１３０：ＹＥＳ）、コントローラ１３内の送信用のメッセージボックスをクリア（つまり送信キャンセル）し（Ｓ１４０：送出データ削除手段）、Ｓ１１０の処理に戻る。つまり、リファレンスメッセージの送出後、一定時間（リセット基準時間）が経過すると、再度、リファレンスメッセージを送出する。
【００５０】
一方、一定時間が経過していなければ（Ｓ１３０：ＮＯ）、送信用のメッセージボックスを参照して送信メッセージの有無を判定する（Ｓ１５０）。送信メッセージがなければ（Ｓ１５０：ＮＯ）、チェックサムデータを送信済であるか否かを判定する（Ｓ１６０）。
【００５１】
ここで、チェックサムデータを送信済であるか否かについては、例えばフラグを参照することによって判定される。なお具体的なフラグの状態を変更する処理としては、後述するＳ１９０の処理にてチェックサムデータを送信するとフラグを立て、Ｓ１１０の処理にてリファレンスメッセージ送信をする際にフラグを解除するようにすればよい。
【００５２】
チェックサムデータを送信済であれば（Ｓ１６０：ＹＥＳ）、後述するＳ２１０の処理に移行する。チェックサムデータを送信済でなければ（Ｓ１６０：ＮＯ）、自身が直近のリファレンスメッセージ送信後に送信した複数の送出データに関するチェックサムデータを生成し（Ｓ１６５：チェックサム生成手段）、Ｓ１７０の処理に移行する。
【００５３】
一方、Ｓ１５０の処理にて送信メッセージがあれば（Ｓ１５０：ＹＥＳ）、Ｓ１７０の処理に移行し、送信メッセージが対応する優先順位情報を送信する（Ｓ１７０：優先順位送出手段）。なお、チェックサムデータを送信する場合には、チェックサムデータに対して予め設定された優先順位情報を送信する。
【００５４】
そして、他のＥＣＵから送出された優先順位情報が、自身が送出した優先順位情報よりも高い優先順位を示すか否かを検出する調停を行う（Ｓ１８０：優先順位検出手段）。この処理としては、ＩＳＯ１１８９８−１において規格化されたＣＡＮとしての処理と同様の処理を利用する。
【００５５】
自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出されなかった場合には（Ｓ１８０：調停勝ち）、送信メッセージを通信バス５に対して送出し（Ｓ１９０：データ送出手段、チェックサム送出手段）、Ｓ１３０の処理に戻る。なお、Ｓ１９０の処理にて、送信メッセージ（チェックサムデータ）を送出したときには、次にリファレンスメッセージを受けるまで同じ優先順位のデータの送出をしないよう設定されている。
【００５６】
一方、自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出された場合には（Ｓ１８０：調停負け）、他のＥＣＵからのメッセージの受信待ちを行い（Ｓ２１０：優先順位再送出手段）、メッセージを受信すると、このメッセージが予め設定された特定の優先順位情報を有するか否かを判定する（Ｓ２２０：取得指示出力手段）。このメッセージが特定の優先順位情報を有していれば（Ｓ２２０：ＹＥＳ）、コントローラ１３における受信用のメッセージボックスからデータを取り出す旨の指示をＣＰＵ１２に対して指示し（Ｓ２３０：取得指示出力手段）、後述するＳ２４０の処理に移行する。
【００５７】
一方、Ｓ２２０の処理にて、受信したメッセージが特定の優先順位情報を有していなければ（Ｓ２２０：ＮＯ）、直ちにＳ２４０に移行し、受信したメッセージに対応する優先順位情報が最も優先順位が低い優先順位情報として自身が記録している最低順位情報と一致するか否かを判定する（Ｓ２４０：優先順位再送出手段）。最低順位情報と一致すれば（Ｓ２４０：ＹＥＳ）、リファレンスメッセージの送信後、一定時間（例えば４ｍｓ）が経過するまで待機し（Ｓ２５０）、その後、Ｓ１１０の処理に戻る。
【００５８】
一方、Ｓ２４０の処理にて、最低順位情報と一致しなければ（Ｓ２４０：ＮＯ）、Ｓ１３０の処理に戻る。この場合には、他のＥＣＵからの送出データが送出された後で、再度、メッセージの送信（優先順位情報の送信を含む）が実施されることになる。
【００５９】
次に、スレーブ処理について説明する。スレーブ処理としては、スレーブノードであるＥＣＵ２０〜４０を代表して、ＥＣＵ２０の処理について説明する。なお、他のスレーブノードについても同様の処理が実施される。
【００６０】
スレーブ処理では、まず、リファレンスメッセージを受信する（Ｓ３１０）。そして、コントローラ２３内の送信用のメッセージボックスをクリアし、周期的にメッセージを送信するよう準備する（Ｓ３２０：送出データ削除手段）。
【００６１】
続いて、送信用のメッセージボックスを参照して送信メッセージの有無を判定する（Ｓ３３０）。送信メッセージがなければ（Ｓ３３０：ＮＯ）、チェックサムデータを送信済であるか否かを判定する（Ｓ３４０）。
【００６２】
チェックサムデータを送信済であれば（Ｓ３４０：ＹＥＳ）、後述するＳ４１０の処理に移行する。チェックサムデータを送信済でなければ（Ｓ３４０：ＮＯ）、直近のリファレンスメッセージ受信後に送信した複数の送出データに関するチェックサムデータを生成し（Ｓ３４５：チェックサム生成手段）、Ｓ３５０の処理に移行する。
【００６３】
一方、Ｓ３３０の処理にて送信メッセージがあれば（Ｓ３３０：ＹＥＳ）、Ｓ３５０の処理に移行し、送信メッセージが対応する優先順位情報を送信する（Ｓ３５０：優先順位送出手段）。なお、チェックサムデータを送信する場合には、チェックサムデータに対して予め設定された優先順位情報を送信する。
【００６４】
そして、他のＥＣＵから送出された優先順位情報が、自身が送出した優先順位情報よりも高い優先順位を示すか否かを検出する調停を行う（Ｓ３６０：優先順位検出手段）。
自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出されなかった場合には（Ｓ３６０：調停勝ち）、送信メッセージを通信バス５に対して送出し（Ｓ３７０：データ送出手段、チェックサム送出手段）、Ｓ３３０の処理に戻る。なお、Ｓ３７０の処理にて、送信メッセージ（チェックサムデータ）を送出したときには、次にリファレンスメッセージを受けるまで同じ優先順位のデータの送出をしないよう設定されている。
【００６５】
一方、自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出された場合には（Ｓ３６０：調停負け）、他のＥＣＵからのメッセージの受信待ちを行い（Ｓ４１０：優先順位再送出手段）、メッセージを受信すると、このメッセージが予め設定された特定の優先順位情報を有するか否かを判定する（Ｓ４２０：取得指示出力手段）。このメッセージが特定の優先順位情報を有していれば（Ｓ４２０：ＹＥＳ）、コントローラ１３における受信用のメッセージボックスからデータを取り出す旨の指示をＣＰＵ１２に対して指示し（Ｓ４３０：取得指示出力手段）、後述するＳ４４０の処理に移行する。
【００６６】
一方、Ｓ４２０の処理にて、受信したメッセージが特定の優先順位情報を有していなければ（Ｓ４２０：ＮＯ）、直ちにＳ４４０に移行し、次のリファレンスメッセージを受信したか否かを判定する（Ｓ４４０：優先順位再送出手段）。次のリファレンスメッセージを受信していれば（Ｓ４４０：ＹＥＳ）、Ｓ３２０の処理に戻る。また、次のリファレンスメッセージを受信していなければ（Ｓ４４０：ＮＯ）、Ｓ３３０の処理に戻る。
【００６７】
このようなマスタ処理およびスレーブ処理を実施するＥＣＵ１０〜４０が、実際にデータを送信する態様について図４および図５を用いて説明する。なお、図４および図５においては、時間（横軸）と優先順位情報（縦軸）との関係を示している。
【００６８】
図４に示すように、ＥＣＵ１０からリファレンスメッセージ３６が送出されると、ＥＣＵ１０〜４０は、このメッセージ３６の受信後、所定のビット数（例えば３ビット）分の時間だけ待機した後に、同時に、優先順位情報４１，５１，６１を送出する。
【００６９】
これらの優先順位情報４１，５１，６１に対しては、調停が行われ、その結果、最も高い優先順位を有するＥＣＵ１０が送出する優先順位情報４１に関するメッセージ４０のみが送出される。このメッセージ４０の送出後、再び所定のビット数（例えば３ビット）分の時間だけ待機した後に、優先順位情報が送出され、これらのうちの最も高い優先順位を有するメッセージが送出されることを繰り返すことによって、メッセージ５０，５２，５４，６０，６２が順に送出されることになる。
【００７０】
なお、図４に示す例では、ＥＣＵ１０が送出するメッセージの優先順位情報４１が、ＥＣＵ２０が送出するデータの優先順位情報５１，５３，５５およびＥＣＵ３０が送出するメッセージの優先順位情報６１，６３よりも高い優先順位に設定されており、ＥＣＵ２０が送出するメッセージの優先順位情報５１，５３，５５は、ＥＣＵ３０が送出するメッセージの優先順位情報６１，６３よりも高い優先順位に設定されている。
【００７１】
このため、ＥＣＵ１０が送出するメッセージの全てが送出されてから、ＥＣＵ２０がメッセージを送出し、さらに、ＥＣＵ２０が送出するメッセージの全てが送出されてからＥＣＵ３０がメッセージを送出することになる。
【００７２】
そして、最も優先順位の低い優先順位情報６３に対応するメッセージ６２が送出されると、その後、次のリファレンスメッセージ３７が送出され、再び、全てのメッセージの送出が始まる。
【００７３】
次に、メッセージ送出中にエラーが発生した場合には、図５に示すような処理を行う。即ち、メッセージ５０の送出中にエラーが発生し、エラーメッセージ５６が他のＥＣＵから送出された場合または自身でエラーを検出した場合には、メッセージ５０の再送を実施する（メッセージ５７）。そして、エラーが頻発したとしても、一定時間９（リセット基準時間）が経過すると、再度、リファレンスメッセージ３７が送出される。なお、リファレンスメッセージ３６，３７は、通常送出されるメッセージよりも高い優先順位が設定されている。
【００７４】
［本実施形態による効果］
以上のように詳述した通信システム１において、マスタノードとして機能するＥＣＵ１０のコントローラ１３は、他のＥＣＵ２０〜４０に対してデータ送出を要求するリファレンスメッセージを送出する。そして、スレーブノードとして機能するＥＣＵ２０〜４０にＥＣＵ１０を加えた各ＥＣＵ１０〜４０（特定ノード）において、コントローラ１３，２３，３３は、ＥＣＵ１０からのリファレンスメッセージを受けると、自身が送出しようとするメッセージを示すメッセージの優先順位を示す優先順位情報を通信バス５に対して送出し、他のＥＣＵ１０〜４０から送出された優先順位情報が、自身が送出した優先順位情報よりも高い優先順位を示すか否かを検出する。
【００７５】
さらに、各ＥＣＵ１０〜４０は、自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出されなかった場合に、メッセージを通信バス５に対して送出し、次にリファレンスメッセージを受けるまで同じ優先順位のデータの送出をしない。また、自身が送出した優先順位情報よりも高い優先順位を示す優先順位情報が検出された場合に、この優先順位情報が対応する他のＥＣＵからのメッセージが送出された後で、優先順位情報の送出機能を再度実施させる。
【００７６】
即ち、本発明の通信システム１において、ＥＣＵ１０〜４０は、リファレンスメッセージを基準にメッセージ送出を開始し、優先順位情報に基づいて優先順位が最も高いメッセージのみが通信バス５に送出される。各ＥＣＵ１０〜４０は、その後、次のリファレンスメッセージを受けるまでは送出済みのメッセージと同じ優先順位のメッセージを送出しないように設定されているので、各ＥＣＵ１０〜４０は、高い優先順位を有するメッセージから順に送出することになる。
【００７７】
よって、低い優先順位を有するメッセージであっても、相対的に高い優先順位を有するメッセージが全て送出されれば、その後、送出される。また、本発明では、メッセージ間に余分な時間を空けることなく通信を継続することができる。
【００７８】
従って、このような通信システム１によれば、優先度が低く、送出される頻度が低かったメッセージの送出頻度を向上させることができ、かつ通信バス５の利用効率を向上させることができる。
【００７９】
また、通信装置１によれば、通信プロトコルとしてＣＡＮと同様のプロトコルを利用しているので、時分割でメッセージの送信を管理する必要がない。よって、ＥＣＵを通信バス５に追加する場合の設計変更を容易に行うことができる。加えて、各ＥＣＵはFlexRay等の固定タイムスロット方式のような精密に決められた時間で送信する必要がなく、高精度の時間管理（高精度クロック及びタイミングカウンタ）が不要となる。
【００８０】
また、マスタノードであるＥＣＵ１０は、各ＥＣＵ１０〜４０から送出される優先順位情報のうちの最も優先順位の低い優先順位情報である最低順位情報を自身に記憶しており、ＥＣＵ１０は、最低順位情報を受けると、この最低順位情報に対応するＥＣＵ１０〜４０から送出されたメッセージの次のメッセージとして、リファレンスメッセージを送出する。
【００８１】
このような通信システム１によれば、最も低い優先順位を有するメッセージが送出された後で、再度、全てのメッセージを送出することができる。
さらに、通信システム１においてＥＣＵ１０は、リファレンスメッセージの送出後、各ＥＣＵ１０〜４０によって全てのメッセージが１度ずつ送出されるのに要する時間よりも長い時間に設定されたリセット基準時間を経過すると、再度、リファレンスメッセージを送出する。
【００８２】
このような通信システム１によれば、リセット基準時間が経過する毎にリファレンスメッセージを再送するので、各ＥＣＵ１０〜４０は概ね周期的に同一種別のメッセージを送出することができる。
【００８３】
また、各ＥＣＵ１０〜４０は、送出されたメッセージのエラーを検出し、エラーが検出された場合に、当該メッセージに対応する優先順位情報および当該メッセージを再度送出する。
【００８４】
このような通信システム１によれば、メッセージのエラーが多発し、メッセージの再送が多発することが想定される場合であっても、リセット基準時間を超過した場合に、リファレンスメッセージを送出するので、高い優先度を有するメッセージを概ねリセット基準時間毎に送出することができる。なお、メッセージを再度送出する作動を禁止するようにしてもよい。
【００８５】
さらに、通信システム１において、各ＥＣＵ１０〜４０は、リファレンスメッセージが送出された後、リセット基準時間を経過すると、自身が送出しようとするメッセージを送出前に貯留する送出バッファ内のメッセージを削除する。
【００８６】
このような通信システム１によれば、送出バッファに貯留されたメッセージはリセット基準時間以内である場合のみに送信されるので、送出バッファ内に長時間貯留された古いメッセージが送出されることを防止することができる。
【００８７】
また、通信システム１において、少なくとも何れかのＥＣＵ１０〜４０は、予め設定された優先順位情報である読込基準情報を受けると、通信バス５を介して受けたメッセージを貯留する受信バッファ内のメッセージを取得する旨の取得指示を出力する。
【００８８】
このような通信システム１によれば、読込基準情報を受けたときに取得指示を出力するので、メッセージを受信する毎に取得指示を出力する構成と比較して、メッセージを取得する側の手段（ここではＣＰＵ１２，２２，３２）が受信バッファからメッセージを取得する頻度を低くすることができる。したがって、メッセージを取得する側の手段の処理負荷を軽減することができる。
【００８９】
さらに、通信システム１において各ＥＣＵ１０〜４０は、自身が送出した複数のメッセージに関するチェックサムデータを生成し、このチェックサムデータに対応して予め設定された優先順位情報と生成されたチェックサムデータとを送出する。特に、ＥＣＵ１０〜４０は、自身のＥＣＵ１０〜４０が送出するメッセージのうちの予め設定されたメッセージが送出されると（本実施形態においては自身が送出する全てのメッセージが送出されると）、チェックサムデータを生成する。
【００９０】
このような通信システム１によれば、チェックサムデータを受けたＥＣＵ１０〜４０は、複数のメッセージに対するエラーの有無を１つのチェックサムデータで確認することができる。また、このような通信システム１によれば、例えば自身が送出するメッセージの全てが送出された後など、所定のメッセージが送出されたときに、これまでに送出したメッセージについてのチェックサムデータを送信することができる。
【００９１】
［その他の実施形態］
本発明の実施の形態は、上記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００９２】
例えば、上記実施形態のマスタ処理およびスレーブ処理においては、以下のような処理を追加するようにしてもよい。具体的には、例えば図６に示すように、マスタ処理のＳ１３０の処理とＳ１５０の処理との間に、予め設定された前述の一定時間（リファレンスメッセージが送出される周期）よりも短い時間に設定された基準時間（例えば３．８ｍｓ）が経過したか否かを判定する処理（Ｓ５２０）を追加してもよい。また、この処理は、スレーブ処理のＳ３２０の処理とＳ３３０の処理との間に追加してもよい。
【００９３】
なお、Ｓ５２０の処理をスレーブ処理に追加する場合には、Ｓ３７０の処理が終了したとき、およびＳ４４０の処理が否定判定されたときにおいても、Ｓ５２０の処理が実施されるように設定すればよい。また、スレーブ処理においてリファレンスメッセージを受信したときにタイマを起動し、このタイマによる時間を参照してＳ５２０の処理の判定を実施するようにすればよい。
【００９４】
Ｓ５２０の処理にて、基準時間が経過していなければ（Ｓ５２０：ＮＯ）、マスタ処理ではＳ１５０に移行し、スレーブ処理ではＳ３３０に移行する。基準時間が経過していれば（Ｓ５２０：ＹＥＳ）、チェックサムデータが送信済であるか否かを判定する（Ｓ５３０）。
【００９５】
チェックサムデータが送信済であれば（Ｓ５３０：ＹＥＳ）、マスタ処理ではＳ２１０の処理に移行し、スレーブ処理ではＳ４１０の処理に移行する。また、チェックサムデータが送信済でなければ（Ｓ５３０：ＮＯ）、自身が既に送信したメッセージに関するチェックサムデータを生成し（Ｓ５４０：チェックサム生成手段）、マスタ処理ではＳ１７０の処理に移行し、スレーブ処理ではＳ３５０の処理に移行する。
【００９６】
このような処理をＥＣＵ１０〜４０が実施すると、例えば図７に示すように、リファレンスメッセージの送出後、基準時間が経過すると、各ＥＣＵからチェックサムデータが送出されることになる。このとき、チェックサムデータの優先順位情報は、各ＥＣＵ１０〜４０が通常のメッセージ送出時よりも高い優先順位に設定されていることで、必ず調停勝ちするよう設定されている。
【００９７】
よって、全てのメッセージが送信される前に次のリファレンスメッセージが送出される場合であっても、その前にチェックサムデータを送出することができるので、既に送出されたメッセージの信頼性を向上させることができる。
【００９８】
次に、スレーブ処理においては、上述のＳ５２０〜Ｓ５４０の処理に換えて、或いは、Ｓ５２０の処理とＳ３３０の処理との間において、図８に示す処理を実施してもよい。具体的には、リファレンスメッセージを受信したときにクリアされるタイマを予め起動させておき、Ｓ３２０の処理の後で、前述の一定時間（リファレンスメッセージが送出される周期）よりも長い時間に設定された異常判定時間が経過したか否かを判定する（Ｓ６２０）。
【００９９】
異常判定時間が経過していなければ（Ｓ６２０：ＮＯ）、異常はないものとして、Ｓ３３０の処理に移行する。また、異常判定時間が経過していれば（Ｓ６２０：ＹＥＳ）、異常である旨を認識する（Ｓ６３０：第１異常出力手段）。
【０１００】
この際には、例えば図９に示すように、通常送出されるメッセージよりも高い優先順位情報を有するメッセージを異常通知用メッセージ６３として送出するようにすればよい。
この構成によれば、スレーブノードがマスタノードにおいて周期的にリファレンスメッセージが送出されない異常を検出することができる。
【０１０１】
また、マスタ処理のＳ１３０の処理にて肯定判定された場合には、図１０に示すような処理を実施してもよい。
即ち、Ｓ１３０の処理にて肯定判定された場合には、コントローラ１３内の送信用のメッセージボックスをクリアし（Ｓ１４０）、異常判定用のカウンタをカウントアップ（インクリメント）する（Ｓ７１０）。そして、このカウンタ値を判定する（Ｓ７２０）。
【０１０２】
カウンタ値が予め設定された一定値未満であれば（Ｓ７２０：ＮＯ）、Ｓ１１０の処理に戻る。また、カウンタ値が一定値以上であれば（Ｓ７２０：ＹＥＳ）、異常である旨を認識する（Ｓ７３０）。
【０１０３】
なお、Ｓ７１０〜Ｓ７３０の処理は、本発明でいう第２異常出力手段に相当する。
この構成によれば、エラーが頻発して最も低い優先順位情報を有するメッセージが送出できないことが繰り返される場合に、異常を認識することができる。なお、最も低い優先順位情報を有するメッセージが送出された場合（例えばＳ２５０の処理のとき）に、異常判定用のカウンタをリセットするようにしてもよい。
【０１０４】
また、通信バス５に接続されたＥＣＵ１０〜４０は、リファレンスメッセージを受けたときにメッセージを送出するようにしたが、リファレンスメッセージに拘わらずデータを送出する他のＥＣＵ（例えば、周期的にデータを送出するもの）が通信バス５上に存在してもよい。
【符号の説明】
【０１０５】
１…通信システム、５…通信バス、１０〜４０…ＥＣＵ、１１，２１，３１…マイコン、１２，２２，３２…ＣＰＵ、１３，２３，３３…コントローラ、１４，２４，３４…トランシーバ。
【図１】
2011030151.tif 000003
【図２】
2011030151.tif 000004
【図３】
2011030151.tif 000005
【図６】
2011030151.tif 000006
【図８】
2011030151.tif 000007
【図１０】
2011030151.tif 000008
【図４】
2011030151.tif 000009
【図５】
2011030151.tif 000010
【図７】
2011030151.tif 000011
【図９】
2011030151.tif 000012