(57)【要約】【課題】複数のバスを備える車載ネットワークシステムにおいて好適に通信遅延を抑制できる通信装置を提供する。【解決手段】通信装置は、複数のバスを含む車載ネットワークシステムに含まれ、複数のバスのうち２つ以上のバスを通信経路として、車載ネットワークシステムに含まれる他の通信装置と通信可能である。通信装置は、２つ以上のバスごとに、送受信するメッセージを一時的に記憶するバッファを有する通信部と、バッファに所定期間以上記憶されているメッセージの、２つ以上のバスごとの個数に基づいて、２つ以上のバスごとの負荷を検出可能な負荷検出部と、負荷検出部の検出結果に基づいて２つ以上のバスのうち最も負荷が低いバスを、他の通信装置へメッセージを送信する通信経路とするバス選択部とを備える。【選択図】図３
2020150371.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスを含む車載ネットワークシステムに含まれ、前記複数のバスのうち２つ以上のバスを通信経路として、前記車載ネットワークシステムに含まれる他の通信装置と通信可能な通信装置であって、
前記２つ以上のバスごとに、送受信するメッセージを一時的に記憶するバッファを有する通信部と、
前記バッファに所定期間以上記憶されているメッセージの、前記２つ以上のバスごとの個数に基づいて、前記２つ以上のバスごとの負荷を検出可能な負荷検出部と、
前記負荷検出部の検出結果に基づいて、前記２つ以上のバスのうち最も負荷が低いバスを、前記他の通信装置へメッセージを送信する通信経路とするバス選択部とを備える、通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両等に搭載されるネットワークシステムを構成する通信装置に関する。
【背景技術】
【０００２】
車両には、複数のＥＣＵ（Electronic Control Unit）と呼ばれる車載機器のような通信装置がバスを介して互いに接続されたネットワークシステムが搭載されている。各ＥＣＵは、互いにバスを介してフレーム単位でメッセージを送受信したり、車両が備えるセンサから情報を取得したりして、センサや車両が備えるアクチュエータの制御を行って、車両の各機能を分担して実行する。ネットワークシステムは、複数のバスを備えることもある。また、ネットワークシステムは、さらにゲートウェイと呼ばれる中継装置を備えることもある。ゲートウェイは、あるバスから受信したフレームを他のバスに送信することにより、バス間でフレームを中継する機能を有する。
【０００３】
このようなネットワークシステムにおいて、各種技術が提案されている。特許文献１は、２つのバスを備えるネットワークシステムにおいて、通信装置は、いずれかのバスが故障した場合は、必要性が高い所定の区分の通信データのみ正常なバスに送信し、他の区分の通信データの送信を抑制することで、必要性が高い通信データを確実に送信できるようにすることを開示している。
【０００４】
特許文献２は、通信装置が、負荷測定用の所定期間内にメッセージがネットワークを流れた積算時間に基づいて負荷の計測を行い、高負荷と判定した場合は、メッセージの送信を規制することで、負荷に応じた送信規制を行うことを開示している。
【０００５】
特許文献３は、それぞれの通信装置が、バスに送信したフレームの数をカウントして互いに通知し、単位時間あたりにバスに送信したフレームの総数に基づいてバス負荷を算出することを開示している。
【０００６】
特許文献４は、ゲートウェイに、バスの負荷を監視してバスの負荷を調整する機能を持たせることを開示している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２７１０４０号公報
【特許文献２】国際公開第２０１３／１３６４９６号
【特許文献３】特開２０１２−２３１３６０号公報
【特許文献４】特開２００６−２８７７３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ネットワークシステムにおいて、バス負荷を分散し通信遅延を抑制することをねらって複数のバスを設けることが提案されているが、なお改良の余地がある。
【０００９】
本発明は、上記課題を鑑みてなされたものであり、複数のバスを備える車載ネットワークシステムにおいて好適に通信遅延を抑制できる通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の一局面は、複数のバスを含む車載ネットワークシステムに含まれ、複数のバスのうち２つ以上のバスを通信経路として、車載ネットワークシステムに含まれる他の通信装置と通信可能な通信装置であって、２つ以上のバスごとに、送受信するメッセージを一時的に記憶するバッファを有する通信部と、バッファに所定期間以上記憶されているメッセージの２つ以上のバスごとの個数に基づいて、２つ以上のバスごとの負荷を検出可能な負荷検出部と、負荷検出部の検出結果に基づいて２つ以上のバスのうち最も負荷が低いバスを、他の通信装置へメッセージを送信する通信経路とするバス選択部とを備える、通信装置である。
【発明の効果】
【００１１】
以上のように、本発明によれば、複数のバスを備える車載ネットワークシステムにおいて好適に通信遅延を抑制できる通信装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るネットワークシステムの構成図
【図２】本発明の一実施形態に係る通信装置の機能ブロック図
【図３】本発明の一実施形態に係る処理を示す図
【図４】本発明の参考例に係る処理を示す図
【発明を実施するための形態】
【００１３】
（実施形態）
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。
【００１４】
＜構成＞
図１に、本実施形態に係るネットワークシステム１００の構成の一部を示す。ネットワークシステム１００は、一例として車両に搭載される。ネットワークシステム１００は、一例として通信装置１０、通信装置１０とメッセージの送受信を行う他の通信装置２０、通信装置１０および他の通信装置２０の通信経路となる第１バス１、第２バス２、第３バス３、中継装置３０を備える。
【００１５】
本実施形態では、一例として、通信装置１０は第１バス１および第２バス２に接続され、中継装置３０は第１バス１および第３バス３に接続され、他の通信装置２０は第２バス２および第３バス３に接続される。ネットワークシステム１００は、通信装置１０や他の通信装置２０のほかにも、第１バス１、第２バス２、第３バス３のいずれか１つ以上のバスに接続され、通信装置１０と通信可能な１つ以上の通信装置を備えてもよい。ネットワークシステム１００の構成はこれに限定されず、通信装置１０が複数のバスを通信経路として利用できれば、バスの数や複数の通信装置間の接続トポロジー、中継装置の有無は限定されない。ネットワークシステム１００は、例えばＣＡＮ（Controller Area Network）規格に準拠した方式で通信を行うことができる。
【００１６】
図２に、通信装置１０の機能ブロックを示す。通信装置１０は、アプリケーション実行部１１、負荷検出部１２、バス選択部１３、振り分け部１４、通信部１５を含む。アプリケーション実行部１１は、車両制御用等の各種アプリケーションプログラムを実行する。
【００１７】
アプリケーション実行部１１は、他の通信装置２０等への送信メッセージを生成したり、他の通信装置２０等からの受信メッセージを受け取ったりして、１つ以上のアプリケーションを実行する。
【００１８】
負荷検出部１２は、通信装置１０が接続された各バス（本実施形態では第１バス１および第２バス２）の負荷を検出する。バス選択部１３は、送信メッセージの通信経路とするバスを選択する。
【００１９】
振り分け部１４は、アプリケーション実行部１１が生成した送信メッセージをつぎに説明する通信部１５に渡したり、通信部１５が受信した受信メッセージを取得してアプリケーション実行部１１に渡したりする。
【００２０】
通信部１５は、各バス（第１バス１および第２バス２）を通信経路とする通信を実行する。通信部１５は、バスごとにそれぞれ１つ以上ずつ設けられたメッセージボックスとよばれるバッファを有する。通信部１５は、振り分け部１４から受け取った送信メッセージをバス選択部１３が選択したバスのメッセージボックスに格納する。通信部１５は、メッセージボックス内の送信メッセージを、該当のバスが空き状態である場合や、バスを流れる他のメッセージより優先度が高い場合等、通信規格に則ってその送信メッセージの送信が可能な場合にバスに送信し、メッセージボックスから送信メッセージを消去する。通信部１５は、送信が可能でない場合は、送信が可能となるまで、送信メッセージの送信を待機する。また、通信部１５は、各バス（第１バス１および第２バス２）から受信した通信装置１０あての受信メッセージをバスに対応したメッセージボックスに格納する。振り分け部１４が、メッセージボックスから受信メッセージを取得すると、通信部１５は、メッセージボックスから受信メッセージを消去する。
【００２１】
通信装置１０の各部の機能は、ソフトウェアおよびハードウェアによって実現される。例えば、アプリケーション実行部１１、負荷検出部１２、バス選択部１３の機能はソフトウェアであるアプリケーションプログラムおよびハードウェアであるプロセッサ、メモリによって実現される。また、振り分け部１４の機能は、ソフトウェアであるミドルウェアプログラムおよびハードウェアであるプロセッサ、メモリによって実行される。また通信部１５の機能は、ハードウェアであるメモリ、プロトコルコントローラ、トランシーバ等によって実行される。また各プログラムやプロセッサ等は、各部の機能を個別に実行するものがそれぞれ提供されてもよいし、２つ以上の各部の機能をまとめて実行するものが提供されてもよい。
【００２２】
＜処理＞
以下に、本実施形態に係るメッセージ送信処理を説明する。図３に本実施形態に係るメッセージ送信処理の一例を示すフローチャートを示す。
【００２３】
（ステップＳ１０１）：アプリケーション実行部１１が、他の通信装置２０等あてに送信メッセージを生成して、メッセージの送信要求が発生することで本処理が開始される。
【００２４】
（ステップＳ１０２）：負荷検出部１２が、現在通信経路として選択されているバスの負荷を検出する。例えば、通信装置１０が第１バス１または第２バス２に接続されており、現在第１バス１が送信メッセージの通信経路として選択されている場合、負荷検出部１２は、第１バス１の負荷を検出する。なお、現在通信経路として選択されているバスは、通常使用するバスとして予め設定したバスでもよいし、本フローを前回実行した際に選択したバスでもよい。
【００２５】
負荷検出方法は限定されないが、例えば以下の方法を用いることができる。以下は第１バス１の負荷測定方法である。第２バス２の負荷検出も同様に行うことができる。
（１）通信部１５の、第１バス１のメッセージボックスに、格納されてから所定期間経過しても第１バス１に送信されていない、過去の送信メッセージの数に基づいて、第１バス１の負荷を検出することができる。この数が多いほど負荷が高いと判定できる。
【００２６】
（２）ネットワークシステム１００において、送信メッセージのうち、最も低い優先度を有するメッセージを、通信部１５のメッセージボックスに格納し、格納してから第１バス１に送信されるまでの時間（滞留時間）を測定し、測定した滞留時間に基づいて、第１バス１の負荷を検出することができる。滞留時間が長いほど負荷が高いと判定できる。また、このようなメッセージとして、例えばＣＡＮ規格の場合、ネットワーク管理機能のため定期的に送信するＮＭフレームを用いることができる。最も優先度が低い優先度のメッセージの滞留時間を用いることで、優先度が相対的に高いメッセージの滞留時間を用いる場合に比べて、バスの高負荷状態をより確実に検出することができる。
【００２７】
（３）通信部１５が第１バス１から受信してメッセージボックスに格納した受信メッセージがまだ振り分け部１４によって取得されていないことを表す受信フラグの数に基づいて、第１バス１の負荷を検出することができる。この数が多いほど、振り分け部１４の処理周期に対して、受信するメッセージの受信頻度が高く、負荷が高いと判定できる。
【００２８】
（４）メッセージボックスに格納されてから第１バス１に送信されていない送信メッセージが存在することを表す送信フラグの数に基づいて、第１バス１の負荷を検出することができる。この数が多いほど、振り分け部１４の処理周期に対して、送信するメッセージのメッセージボックス内での滞留個数が多く、負荷が高いと判定できる。
【００２９】
（５）送信メッセージの送信周期より短い間隔で第１バス１に試験用のメッセージを複数送信し、試験用のメッセージを送信したことによる送信メッセージの滞留時間の増加分に基づいて、第１バス１の負荷を検出することができる。増加分が大きいほど負荷が高いと判定できる。
【００３０】
以上の各方法によれば、従来の通信装置に対して、新たなハードウェアの追加や、ソフトウェアプログラムの比較的大きな修正を行うことなく、比較的小さい変更によって、容易にバスの高負荷状態を検出可能にすることができる。また、（１）〜（４）の場合、負荷測定のためのメッセージ送受信を追加的に行う必要性はなく、追加的な通信を行って負荷測定を行う方法に比べて、処理量や通信量の増加を抑制できる。
【００３１】
（ステップＳ１０３）：負荷検出部１２が、第１バス１の負荷が一定程度以上高いと判定した場合ステップＳ１０４に進む。負荷検出部１２が、第１バス１の負荷が一定程度以上高いと判定しなかった場合、バス選択部１３は、送信メッセージの通信経路として第１バス１を選択している状態を変更せずに、場合ステップＳ１０５に進む。
【００３２】
（ステップＳ１０４）：バス選択部１３が、送信メッセージの通信経路として第２バス２を選択する。本フローでは、第２バス２の負荷を検出することなく、第２バス２の負荷は第１バス１より低いことを想定して、このように通信経路の切り替えを行う。しかし、ネットワークシステム１００の特性上、このような想定が適切でない場合は、ステップＳ１０２〜Ｓ１０４の代わりに、負荷検出部１２は、第１バス１の負荷および第２バス２の負荷を検出し、バス選択部１３は、負荷の低いほうを通信経路として選択する処理を実行すればよい。また、通信装置１０が３つ以上のバスに接続されている場合は、負荷検出部１２は、３つ以上のバスの負荷を検出し、バス選択部１３は、３つ以上のバスから、最も負荷の低いものを通信経路として選択すればよい。
【００３３】
（ステップＳ１０５）：振り分け部１４が、アプリケーション実行部１１が生成した送信メッセージを受け取り、通信部１５の、選択されたバスに対応するメッセージボックスに格納する（振り分け）。
【００３４】
（ステップＳ１０６）：通信部１５が、メッセージボックス内の送信メッセージを、通信規格に則って、選択されたバスに送信可能になり次第送信する。
【００３５】
以上によりフローが終了となる。アプリケーション実行部１１が、新たに送信メッセージを生成して、送信メッセージの送信要求が発生するたびに、本フローが繰り返し実行される。
【００３６】
（効果）
以上のように、本発明に係る通信装置１０は、複数のバスのうち負荷が高いバスを回避し他のバスを通信経路として選択する。これにより、バス負荷を好適に分散して、メッセージの送信遅延を好適に抑制することができる。また、上述した負荷検出方法を採用すれば、従来の通信装置に対して、新たなハードウェアの追加や、ソフトウェアプログラムの比較的大きな修正を行うことなく、容易にバスの高負荷状態を検出できる。
【００３７】
（参考例１）
本発明は以下のように変形してもよい。図４に本参考例に係るメッセージ送信処理の一例を示すフローチャートを示す。本参考例では、通信装置１０において負荷検出部１２を備えなくてもよい。
【００３８】
（ステップＳ２０１）：アプリケーション実行部１１が、他の通信装置２０等あてに送信メッセージを生成して、送信メッセージの送信要求が発生することで本処理が開始される。本参考例では、アプリケーション実行部１１が、通信装置１０が接続されている複数のバスのうち２つ以上を通信経路として指定する。
【００３９】
（ステップＳ２０２）：振り分け部１４が、アプリケーション実行部１１が生成した送信メッセージを受け取り、指定されたバスに対応するメッセージボックスに格納する。
【００４０】
（ステップＳ２０３）：通信部１５が、メッセージボックス内の送信メッセージを、通信規格に則って、最も早く送信可能になったバスに送信する。
【００４１】
（ステップＳ２０４）：振り分け部１４が、送信メッセージが送信されたバスを検知し、アプリケーション実行部１１に通知する。アプリケーション実行部１１が通知を受け、指定したバスのうち、送信メッセージが未送信であるバスへの送信メッセージの送信をキャンセルするよう、振り分け部１４に通知する。振り分け部１４は、通知に基づいて、通信部１５に、送信メッセージの送信をキャンセルさせる。
【００４２】
以上によりフローが終了となる。アプリケーション実行部１１が、新たに送信メッセージを生成して、送信メッセージの送信要求が発生するたびに、本フローが繰り返される。
【００４３】
本参考例においては、各バス（第１バス１および第２バス２）の負荷を検出することなく、最も早く送信メッセージを送信可能なバスを通信経路とすることができる。
【００４４】
（参考例２）
本発明は以下のように変形してもよい。本参考例においては、通信装置１０において負荷検出部１２を備えなくてよい、本参考例においてはアプリケーション実行部１１が、通信装置１０が接続されている複数のバスのそれぞれを通信経路として順次選択する。本参考例においては、各バス（第１バス１および第２バス２）の負荷を検出することなく、複数バスの負荷を分散することができる。
【００４５】
以上の実施形態や参考例においては、通信経路が変更されることにより、受信側の通信装置における送信メッセージの受信順が、送信順と一致しないことが発生しうる。送信メッセージが、送信順に意義を有する制御データを含んでいるにもかかわらず、受信側の通信装置において送信順に受信できないことにより送信順が特定できない場合、少なくとも一部の送信メッセージを処理に用いることができなくなるおそれがある。そこで、このような送信メッセージを送信する場合は、Ｅ２Ｅ（End-to-End communication protection）と呼ばれる規格等に従って、アプリケーション実行部１１等が、送信メッセージの送信順序を特定できる情報を送信メッセージに付与することが好ましい。これにより、受信順が送信順と異なっても、受信側の通信装置が送信順を特定でき、本発明を好適に適用できる。
【００４６】
上述の実施形態においては、例えばバスの負荷が顕著に高い場合に通信経路を変更するようにすれば、バス変更の頻度を小さくして、送信メッセージの送信順と受信順とが一致しない頻度を許容範囲内に抑制できる。このように送信メッセージの送信順と受信順とが一致しない頻度を許容範囲内に抑えることができれば、送信メッセージの送信順序を特定できる情報を送信メッセージに付与しなくてもよい。
【００４７】
本発明は、通信装置だけでなく、通信装置を含むネットワークシステム、通信装置の各コンピュータが実行する通信方法、通信プログラムおよびこれを記憶したコンピュータ読み取り可能な非一時的記憶媒体、ネットワークシステムを備えた車両等として捉えることが可能である。また、本発明は、車両に搭載されるネットワークシステム以外のネットワークシステムにも適用できる。
【産業上の利用可能性】
【００４８】
本発明は、車両等に搭載されるネットワークシステムに有用である。
【符号の説明】
【００４９】
１    第１バス
２    第２バス
３    第３バス
１０    通信装置
１１    アプリケーション実行部
１２    負荷検出部
１３    バス選択部
１４    振り分け部
１５    通信部
２０    通信装置
３０    中継装置
１００    ネットワークシステム
【図１】
2020150371.tif 000003
【図２】
2020150371.tif 000004
【図３】
2020150371.tif 000005
【図４】
2020150371.tif 000006