(57)【要約】【課題】ＣＡＮバスに接続された各ノードにおいて、バス負荷算出のために要する処理負荷を低減させることができる通信バス負荷監視システムおよび通信負荷監視装置を提供する。【解決手段】各ＥＣＵ１１〜１３は、ＣＡＮバス１０に対して送信したフレームの数を送信フレーム数としてカウントする（ステップ２００）。また、カウントした送信フレーム数を含んだフレームを単位時間毎にＣＡＮバス１０に送信する（ステップ３００）。さらに、送信した送信フレーム数をバス負荷テーブル２０に登録し（ステップ３１０）、ＣＡＮバス１０を介して受信したフレームに含まれた送信フレーム数をバス負荷テーブル２０に登録する（ステップ４００）。このようにしてバス負荷テーブル２０に登録された送信フレーム数に基づいて、各ＥＣＵ１１〜１３は単位時間当たりのＣＡＮバス１０のバス負荷をそれぞれ算出する。【選択図】図１
2012231360.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード（１１〜１３）がＣＡＮバス（１０）を介してフレームを送受信するように構成された通信バス負荷監視システムであって、
複数のノード（１１〜１３）それぞれは、
前記ＣＡＮバス（１０）に対して送信したフレームの数を送信フレーム数としてカウントするカウント手段（２００）と、
前記カウント手段（２００）で取得した送信フレーム数を含んだフレームを単位時間毎に前記ＣＡＮバス（１０）に送信する送信手段（３００）と、
前記送信手段（３００）によって送信した送信フレーム数をバス負荷テーブル（２０）に登録する第１登録手段（３１０）と、
前記ＣＡＮバス（１０）を介して受信したフレームに含まれた送信フレーム数を前記バス負荷テーブル（２０）に登録する第２登録手段（４００）と、
を備え、
前記第１登録手段（３１０）および前記第２登録手段（４００）によって前記バス負荷テーブル（２０）に登録された送信フレーム数に基づいて、単位時間当たりの前記ＣＡＮバス（１０）のバス負荷を前記複数のノード（１１〜１３）がそれぞれ算出することを特徴とする通信バス負荷監視システム。
【請求項２】
請求項１に記載の通信バス負荷監視システムにおいて、前記ノード（１１〜１３）として適用されることを特徴とする通信バス負荷監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードがＣＡＮバスを介してフレームを送受信するように構成された通信バス負荷監視システムおよび通信バス負荷監視装置に関する。
【背景技術】
【０００２】
従来より、データ送信方式としてＣＡＮ（Controller Area Network）が知られている。ＣＡＮ通信において、高バス負荷時には、重要なフレームの送信遅延が発生したり、フレーム抜けが発生するといった課題がある。この課題を解決するため、バス負荷を監視し、バス負荷が高いときにはバス負荷を調整する処理を行う技術が例えば特許文献１で提案されている。
【０００３】
具体的に、特許文献１では、ＣＡＮバスにＣＡＮフレームを中継するゲートウェイノードが接続されており、ゲートウェイノードはＣＡＮバスに接続される他ノードが送信したすべてのフレーム情報を取得し、取得したフレーム情報を元にＣＡＮバスに送出されたすべてのフレームの単位時間当たりの占有率からバス負荷を推定する。その結果を元にバス負荷が調整されるようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２８７７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、ゲートウェイノードがＣＡＮバスに送出される全てのＣＡＮフレームの情報を取得する必要があり、特にバス負荷が高負荷状態にあるときにはＣＡＮバスに送出された大量のＣＡＮフレームの受信処理をしなければならない。このため、ゲートウェイノードにおけるバス負荷算出の処理負荷が高くなってしまうという問題がある。そのようにバスが高負荷な状態でも上記の方法でバス負荷を算出しようとすると、すべてのＣＡＮフレームを受信抜けなく処理可能な処理能力を持つＣＰＵが必要となってしまう。
【０００６】
本発明は上記点に鑑み、ＣＡＮバスに接続された各ノードにおいて、バス負荷算出のために要する処理負荷を低減させることができる通信バス負荷監視システムおよび通信負荷監視装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に記載の発明では、複数のノード（１１〜１３）それぞれは、ＣＡＮバス（１０）に対して送信したフレームの数を送信フレーム数としてカウントするカウント手段（２００）と、カウント手段（２００）で取得した送信フレーム数を含んだフレームを単位時間毎にＣＡＮバス（１０）に送信する送信手段（３００）と、送信手段（３００）によって送信した送信フレーム数をバス負荷テーブル（２０）に登録する第１登録手段（３１０）と、ＣＡＮバス（１０）を介して受信したフレームに含まれた送信フレーム数をバス負荷テーブル（２０）に登録する第２登録手段（４００）と、を備えている。
【０００８】
そして、第１登録手段（３１０）および第２登録手段（４００）によってバス負荷テーブル（２０）に登録された送信フレーム数に基づいて、単位時間当たりのＣＡＮバス（１０）のバス負荷を複数のノード（１１〜１３）がそれぞれ算出することを特徴とする。
【０００９】
これによると、各ノード（１１〜１３）が互いに送信フレーム数の送受信を行っているので、各ノード（１１〜１３）が送信フレーム数に基づいてそれぞれ協調してバス負荷を算出することができる。したがって、ＣＡＮバス（１０）に接続された各ノード（１１〜１３）において、ＣＡＮバス（１０）上のすべてのフレーム情報を取得する必要がなく、大量のフレームの受信処理をする必要もないため、バス負荷算出のために要する処理負荷を低減させることができる。
【００１０】
そして、請求項２に記載の発明のように、請求項１に記載の通信バス負荷監視システムにおいて、ノード（１１〜１３）を通信バス負荷監視装置として適用することもできる。
【００１１】
なお、この欄および特許請求の範囲で記載した各手段の括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る通信バス負荷監視システムの構成図である。
【図２】初期化処理の内容を示したフローチャートである。
【図３】送信完了処理の内容を示したフローチャートである。
【図４】送信処理の内容を示したフローチャートである。
【図５】バス負荷テーブルを示した図である。
【図６】他ＥＣＵからの受信処理の内容を示したフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について図に基づいて説明する。図１は、本発明の一実施形態に係る通信バス負荷監視システムの構成図である。本実施形態では、通信バス負荷監視システムは車両に搭載されている。
【００１４】
図１に示されるように、通信バス負荷監視システムは、車載通信バス（以下、ＣＡＮバス１０という）に３つのＥＣＵ１１〜１３が接続された構成になっている。ＣＡＮバス１０は、上述のＣＡＮ通信を行うためのバスであり、車両に搭載されている。
【００１５】
各ＥＣＵ１１〜１３は、図示しないＣＰＵ、ＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ等を備えたマイクロコンピュータがＲＯＭ等に記憶されたプログラムに従って所定の機能を実行する電子制御ユニット（Electronic Control Unit；ＥＣＵ）であり、それぞれ車両に搭載されている。したがって、各ＥＣＵ１１〜１３は例えばエンジンＥＣＵやエアコンＥＣＵ等の各種のＥＣＵであり、予め設定された機能を実行するようにそれぞれが動作する。なお、ＥＣＵ１１をＥＣＵ＿Ａ、ＥＣＵ１２をＥＣＵ＿Ｂ、ＥＣＵ１３をＥＣＵ＿Ｃとしている。
【００１６】
そして、各ＥＣＵ１１〜１３はＣＡＮバス１０を介してデータを含んだフレームを相互に送受信する。
【００１７】
以上のように、通信バス負荷監視システムは、各ＥＣＵ１１〜１３がＣＡＮバス１０を介してフレームを送受信するように構成されている。
【００１８】
そして、各ＥＣＵ１１〜１３は車両の各機能を実現するためにそれぞれ動作するが、ＣＡＮバス１０のバス負荷を算出する機能もそれぞれ備えている。各ＥＣＵ１１〜１３がそれぞれ行うＣＡＮバス１０のバス負荷算出について、図２〜図６を参照して説明する。以下で説明する各処理は、ＣＡＮバス１０に接続された各ＥＣＵ１１〜１３のすべてが行う。
【００１９】
図２は、初期化処理の内容を示したフローチャートである。この初期化処理は、例えばＥＣＵ１１〜１３に電源が投入された立ち上がり時に実行される。
【００２０】
まず、初期化処理がスタートすると、ステップ１００では、送信フレーム数を０クリアする。送信フレーム数は単位時間当たりに送信したフレームの数の合計値である。本ステップでこのフレーム数が０とされる。続いて、ステップ１１０では、バス負荷テーブルを０クリアする。バス負荷テーブルには自分が単位時間当たりに送信したフレーム数および自分以外のＥＣＵ１１〜１３から取得した送信フレーム数をバス負荷テーブルに登録する。本ステップで、バス負荷テーブルに登録したすべての送信フレーム数がクリアされる。バス負荷テーブルについては後で説明する。
【００２１】
この後、各ＥＣＵ１１〜１３はそれぞれ通常の動作を行う。この通常動作の際に、各ＥＣＵ１１〜１３はデータが含まれたフレームをＣＡＮバス１０に送信する。このフレーム送信後に送信完了処理を行う。
【００２２】
図３は、送信完了処理の内容を示したフローチャートである。送信完了処理では、ステップ２００に示されるように、送信フレーム数をインクリメントしていく。この送信完了処理は、各ＥＣＵ１１〜１３がフレームをＣＡＮバス１０に送信する度に行う。したがって、各ＥＣＵ１１〜１３は、ＣＡＮバス１０に対して送信したフレームの数を送信フレーム数としてカウントする。
【００２３】
このように、各ＥＣＵ１１〜１３は、それぞれ自分が送信したフレームの数をカウントしていくが、カウントした送信フレーム数を単位時間毎に自分以外のＥＣＵに送信する送信処理を行う。「単位時間」とは、例えば１００ｍｓである。
【００２４】
図４は、送信処理の内容を示したフローチャートである。送信処理がスタートすると、ステップ３００では、送信完了処理で取得した送信フレーム数を含んだフレームをＣＡＮバス１０に送信する。続いて、ステップ３１０では、ステップ３００で送信した送信フレーム数をバス負荷テーブルに登録する。
【００２５】
図５は、バス負荷テーブル２０を示した図である。バス負荷テーブル２０は、ＣＡＮバス１０に接続されたＥＣＵ１１〜１３の送信フレーム数がそれぞれ登録されるように構成されている。
【００２６】
例えば、ＥＣＵ１１（ＥＣＵ＿Ａ）がステップ３００で例えば「３０」という送信フレーム数を含んだフレームを送信すると、ステップ３１０でＥＣＵ１１のバス負荷テーブル２０にＥＣＵ１１の送信フレーム数である「３０」を登録する。このとき、他のＥＣＵ１２、１３の送信フレーム数の欄は０になっている。
【００２７】
また、ＥＣＵ１２（ＥＣＵ＿Ｂ）がステップ３００で例えば「５０」という送信フレーム数を含んだフレームを送信すると、ステップ３１０でＥＣＵ１２のバス負荷テーブル２０にＥＣＵ１２の送信フレーム数である「５０」を登録する。このとき、他のＥＣＵ１１、１３の送信フレーム数の欄は０になっている。
【００２８】
同様に、ＥＣＵ１３（ＥＣＵ＿Ｃ）がステップ３００で例えば「１０」という送信フレーム数を含んだフレームを送信すると、ステップ３１０でＥＣＵ１３のバス負荷テーブル２０にＥＣＵ１３の送信フレーム数である「１０」を登録する。このとき、他のＥＣＵ１１、１２の送信フレーム数の欄は０になっている。
【００２９】
このように、各ＥＣＵ１１〜１３は送信フレーム数を含んだフレームをそれぞれ送信すると共に、当該送信フレーム数を自分のバス負荷テーブル２０にそれぞれ登録する。
【００３０】
そして、図４のステップ３２０では、送信フレーム数を０クリアする。こうして送信処理が終了する。ステップ３２０で送信フレーム数が０にクリアされたため、再び単位時間が経過するまで、送信完了処理（ステップ２００）により送信フレーム数が０からインクリメントされていく。
【００３１】
自ら送信フレーム数を送信する一方、ＥＣＵ１１〜１３のうちの自分以外（他ＥＣＵ）から送信フレーム数を受信する処理も行う。図６は、他ＥＣＵからの受信処理の内容を示したフローチャートである。この受信処理は、自分以外のＥＣＵ１１〜１３が上記の送信処理を実行した際に送信した送信フレーム数を受信するための処理である。
【００３２】
受信処理がスタートすると、ステップ４００では、ＣＡＮバス１０を介して受信したフレームに含まれた送信フレーム数をバス負荷テーブル２０に登録する。
【００３３】
例えば、ＥＣＵ１１は、ＥＣＵ１２から「５０」という送信フレーム数を含んだフレームを受信すると共に、ＥＣＵ１３から「１０」という送信フレーム数を含んだフレームを受信する。そして、ＥＣＵ１１は受信した送信フレーム数をＥＣＵ１１のバス負荷テーブル２０にそれぞれ登録する。
【００３４】
同様に、ＥＣＵ１２は、ＥＣＵ１１から「３０」という送信フレーム数を含んだフレームを受信すると共に、ＥＣＵ１３から「１０」という送信フレーム数を含んだフレームを受信する。そして、ＥＣＵ１２は受信した送信フレーム数をＥＣＵ１２のバス負荷テーブル２０にそれぞれ登録する。
【００３５】
さらに、ＥＣＵ１３は、ＥＣＵ１１から「３０」という送信フレーム数を含んだフレームを受信すると共に、ＥＣＵ１２から「５０」という送信フレーム数を含んだフレームを受信する。そして、ＥＣＵ１３は受信した送信フレーム数をＥＣＵ１３のバス負荷テーブル２０にそれぞれ登録する。
【００３６】
これにより、図５に示されるように、ＣＡＮバス１０に接続されたすべてのＥＣＵ１１〜１３の送信フレーム数がバス負荷テーブル２０に登録される。図５に示されるバス負荷テーブル２０の内容は、各ＥＣＵ１１〜１３でそれぞれ同じである。
【００３７】
上記の送信完了処理、送信処理、他ＥＣＵからの受信処理は、それぞれ並列に実行される。上記のようにして、各ＥＣＵ１１〜１３において送信フレーム数がバス負荷テーブルに登録されると、各ＥＣＵ１１〜１３はバス負荷テーブル２０に登録された送信フレーム数に基づいて、単位時間当たりのＣＡＮバス１０のバス負荷をそれぞれ算出する。例えば各ＥＣＵ１１〜１３の各送信フレーム数の合計値（Ｔｏｔａｌ）や平均値をバス負荷とする。
【００３８】
このようにして、各ＥＣＵ１１〜１３はそれぞれバス負荷を算出し、バス負荷が高い場合には例えば送信頻度を下げる等のバス負荷を下げる処理を行う。
【００３９】
以上説明したように、本実施形態では、ＣＡＮバス１０に接続された各ＥＣＵ１１〜１３がそれぞれ自分の送信フレーム数を送信すると共に自分以外の送信フレーム数を受信し、これらの送信フレーム数に基づいて各ＥＣＵ１１〜１３でそれぞれバス負荷を算出することが特徴となっている。
【００４０】
このように、各ＥＣＵ１１〜１３が互いに送信フレーム数の送受信を行い、各ＥＣＵ１１〜１３が送信フレーム数に基づいてそれぞれ協調してバス負荷を算出しているので、ＣＡＮバス１０上のすべてのフレームの情報を取得する必要がなく、大量のフレームの受信処理をする必要もないため、各ＥＣＵ１１〜１３においてバス負荷算出のために要する処理負荷を低減させることができる。
【００４１】
なお、本実施形態の記載と特許請求の範囲の記載との対応関係については、ＥＣＵ１１〜１３が特許請求の範囲の「ノード」に対応する。また、送信割り込み処理におけるステップ２００を実行するための手段が特許請求の範囲の「カウント手段」に対応する。
【００４２】
また、送信処理におけるステップ３００を実行するための手段が特許請求の範囲の「送信手段」に対応し、送信処理におけるステップ３１０を実行するための手段が特許請求の範囲の「第１登録手段」に対応する。さらに、受信処理におけるステップ４００を実行するための手段が特許請求の範囲の「第２登録手段」に対応する。
【００４３】
（他の実施形態）
上記各実施形態で示された通信バス負荷監視システムの構成は一例であり、上記で示した構成に限定されることなく、本発明を実現できる他の構成とすることもできる。例えば、通信バス負荷監視システムは車載用でなくても、ＣＡＮ通信を行うように構成されたシステムに適用できる。また、上記の実施形態ではＥＣＵ１１〜１３の数は３つとしているが、これはシステム構成の一例であり、さらに多くのＥＣＵをＣＡＮバス１０に接続しても良い。
【００４４】
上述のように、ＣＡＮバス１０には多くのＥＣＵが接続されることになるため、上記の各処理を実行できるＥＣＵ１１〜１３それぞれを通信バス負荷監視装置としても良い。
【符号の説明】
【００４５】
１０        ＣＡＮバス
１１〜１３  ＥＣＵ
【図１】
2012231360.tif 000003
【図２】
2012231360.tif 000004
【図３】
2012231360.tif 000005
【図４】
2012231360.tif 000006
【図５】
2012231360.tif 000007
【図６】
2012231360.tif 000008