(57)【要約】【課題】通信システムへの負担を最小限に抑えつつ、ネットワークの通信負荷を平準化でき、ネットワークで発生する最大通信遅延時間を低減できる通信装置を提供する。【解決手段】所定の周期で送信要求されるデータのネットワークへの送信タイミングを管理する要求管理部と、送信タイミングに応じて通信プロトコルに従ってデータをネットワーク上に送信する通信処理部と、送信タイミングからネットワーク上へデータの送信が完了するまでの実送信時間を計測する時間計測部と、実送信時間が規定送信時間を超えたか否かを判定する時間判定部とを備え、要求管理部は、送信されたデータが制御対象データである場合実送信時間が規定送信時間以下であれば次回の制御対象データの送信タイミングを所定の周期とし、送信されたデータが制御対象データである場合実送信時間が規定送信時間を超えれば次回の制御対象データの送信タイミングを所定の周期よりも遅らせる。【選択図】図２
2020017850.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークで接続された他の通信装置にデータを送信することができる通信装置であって、
所定の周期で送信要求される所定のデータの前記ネットワークへの送信タイミングを管理する要求管理部と、
前記送信タイミングに応じて、所定の通信プロトコルに従って前記データを前記ネットワーク上に送信する通信処理部と、
前記送信タイミングから前記ネットワークへ前記データの送信が完了するまでの実送信時間を計測する時間計測部と、
前記実送信時間が予め定められた規定送信時間を超えたか否かを判定する時間判定部と、を備え、
前記要求管理部は、
前記送信されたデータが所定の制御対象データである場合、前記時間判定部において前記実送信時間が前記規定送信時間以下と判定されれば、次回の前記制御対象データの送信タイミングを前記所定の周期とし、
前記送信されたデータが前記制御対象データである場合、前記時間判定部において前記実送信時間が前記規定送信時間を超えたと判定されれば、次回の前記制御対象データの送信タイミングを前記所定の周期よりも所定の待機時間だけ遅らせる、
通信装置。
【請求項２】
前記規定送信時間は、前記送信要求の発生から前記データの送信までに許容される待機時間に設定される、請求項１に記載の通信装置。
【請求項３】
前記規定送信時間は、前記送信要求の発生から前記データの送信までに許容される待機時間と、前記ネットワークにおける時間当たりの通信負荷量とに基づいて、前記待機時間未満の所定の時間に設定される、請求項１に記載の通信装置。
【請求項４】
前記要求管理部は、前記送信要求された複数のデータのうち所定の一部を前記制御対象データとして選択する、請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
ネットワークで接続された通信装置が実行する通信方法であって、
所定のデータの送信タイミングであるか否かを判断するステップと、
前記送信タイミングとなったデータが所定の制御対象データであるか否かを判断するステップと、
前記制御対象データである場合、前記送信タイミングから前記ネットワークへ前記制御対象データの送信が完了するまでの実送信時間を計測するステップと、
前記実送信時間が予め定められた規定送信時間を超えたか否かを判定するステップと、
前記実送信時間が前記規定送信時間以下である場合、次回の前記制御対象データの送信タイミングを前記所定の周期とするステップと、
前記実送信時間が前記規定送信時間を超えた場合、次回の前記制御対象データの送信タイミングを所定の周期よりも所定の待機時間だけ遅らせるステップと、を備える、
通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信可能にネットワークに接続された通信装置に関する。
【背景技術】
【０００２】
ＣＡＮ（Controller Area Network）などのネットワークによって数十〜数百の通信装置を接続し、通信装置間でデータ（又はメッセージ）を送受信可能に構成された通信システムが知られている。このような通信システムでは、複数の通信装置がネットワークへ一斉にデータを送信しようとすると、一時的に通信負荷が高い状態が生じて通信遅延が大きくなるという課題がある。
【０００３】
この課題の対策として、通信遅延の発生に応じてデータ送信のタイミングを制御してネットワークの通信負荷を平準化する技術（動的手法）が、特許文献１に開示されている。この特許文献１に記載の技術では、優先順位の低いデータについて、優先順位が高いデータと競合してしまって送信を待機している（送信負け）回数をカウントし、カウント数が所定値に達すると優先順位の低いデータの優先順位を高くする（例えば、優先度フラグを変更やＣＡＮ＿ＩＤを小さく変更）処理を行う。この処理により、優先順位の低いデータの通信遅延が大きくなることを抑制している。
【０００４】
また、上記課題の他の対策として、設計の段階において、ネットワークの通信負荷が平準化されるようにデータ送信のタイミングを予め設定しておく技術（静的手法）も存在する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１１９４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術では、送信負けしたデータについて送信負けの回数をカウントする必要がある。しかし、このカウント機能は、大半の通信プロトコルの標準機能にはなく、別途ソフトウェアで実装しなければならない。また、通信プロトコルとソフトウェアとの間の処理インタフェースの追加が必要となり、システム構成が複雑化して負担が大きくなる。
【０００７】
また、特許文献１に記載の技術では、送信負けの回数が多いデータの優先順位を高く変更して（例えば、ＣＡＮ＿ＩＤを小さくする）送信勝ちをし易くしている。しかし、このような変更は、その変更情報を各通信装置で共有していないと通信装置でデータを正常に受信することができなくなってシステム動作に影響するおそれがあり、システムへの負担が大きい。
【０００８】
一方、ネットワークの通信負荷を静的に平準化する手法の場合、各通信装置における電源オンオフのタイミングや立ち上がり時間などが異なるため、通信負荷のばらつきを見込んで設計する必要があり、ネットワークの通信資源を効率的に活用できる最適な設計が難しいという問題がある。
【０００９】
本発明は、上記課題を鑑みてなされたものであり、通信システムへの負担を最小限に抑えつつ、ネットワークの通信負荷を平準化でき、ネットワークで発生する最大通信遅延時間を低減できる通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本開示の一態様は、ネットワークで接続された他の通信装置にデータを送信することができる通信装置であって、所定の周期で送信要求される所定のデータのネットワークへの送信タイミングを管理する要求管理部と、送信タイミングに応じて、所定の通信プロトコルに従ってデータをネットワーク上に送信する通信処理部と、送信タイミングからネットワーク上へデータの送信が完了するまでの実送信時間を計測する時間計測部と、実送信時間が予め定められた規定送信時間を超えたか否かを判定する時間判定部と、を備え、要求管理部は、送信されたデータが所定の制御対象データである場合、時間判定部において実送信時間が規定送信時間以下と判定されれば、次回の制御対象データの送信タイミングを所定の周期とし、送信されたデータが制御対象データである場合、時間判定部において実送信時間が規定送信時間を超えたと判定されれば、次回の制御対象データの送信タイミングを所定の周期よりも所定の待機時間だけ遅らせる。
【発明の効果】
【００１１】
上述した一態様の通信装置によれば、通信システムへの負担を最小限に抑えつつ、ネットワークの通信負荷を平準化でき、ネットワークで発生する最大通信遅延時間を低減できる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る通信システム及び通信装置の構成例を示す図
【図２】一実施形態に係る通信装置が実行する通信制御のフローチャート
【図３】変形例に係る通信システム及び通信装置の構成例を示す図
【図４】変形例に係る通信装置が実行する通信制御のフローチャート
【発明を実施するための形態】
【００１３】
［実施形態］
本実施形態のネットワークで接続された他の通信装置にデータを送信することができる通信装置では、データの送信タイミングからネットワークへの送信完了までの実時間が規定の時間を超えれば、次回のデータの送信タイミングを所定の周期よりも遅らせる。これにより、競合している複数のデータのうちの少なくとも１つについてデータの送信周期の基点がずれるので、ネットワークの通信負荷を平準化でき、送信負けが多い周期データの最大通信遅延時間を低減することができる。
【００１４】
＜構成＞
図１は、本開示の一実施形態に係る通信システム１の構成例を示す図である。図１に例示した通信システム１は、複数の通信装置１０、２０、３０、及び４０がネットワーク５０を介して通信可能に互いに接続されている。
【００１５】
ネットワーク５０は、一例としてＣＡＮやＣＡＮ−ＦＤ（CAN with Flexible Data Rate）などの通信プロトコルに従ってデータ（又はメッセージ）の送受信を行うための通信バスである。
【００１６】
複数の通信装置１０、２０、３０、及び４０は、典型的にはＣＰＵなどのプロセッサー、メモリ、及び入出力インタフェースなどを構成に含んだＥＣＵ（Electronic Control Unit）である。これらの通信装置１０、２０、３０、及び４０は、メモリに格納されたプログラム（制御用ソフトウェア）をプロセッサーが読み出して実行することによって、図１の通信装置１０に代表して記載する要求管理部１１０、通信処理部１２０、時間計測部１３０、及び時間判定部１４０の各機能をそれぞれ実現することができる。以下、要求管理部１１０、通信処理部１２０、時間計測部１３０、及び時間判定部１４０の各機能を説明する。
【００１７】
要求管理部１１０は、通信装置１０から他の通信装置２０、３０、及び４０へ向けてデータを送信するタイミングを管理する。データには、所定の周期に基づいて送信要求されるデータ（以下「周期データ」という）と、それ以外のデータ、例えばバースト的に発生するデータ（以下「非周期データ」という）とが存在する。要求管理部１１０は、少なくとも１つの周期データについてデータ送信タイミングを管理することができる。周期データのデータ送信タイミングは、一例として、周期時間のカウントで満了するカウンターを用いて管理可能である。この要求管理部１１０は、後述する時間判定部１４０の判定結果に基づいて、周期データについてデータ送信タイミングを所定の周期から所定の時間（以下「待機時間」という）だけ遅らせることを行う。
【００１８】
通信処理部１２０は、データ送信タイミングとなったことに応じて、所定の通信プロトコルに従って要求される周期データ又は非周期データをネットワーク５０上に送信する処理を実施する。通信プロトコルは、例えばＣＡＮ通信プロトコルやＣＡＮ−ＦＤ通信プロトコルなどである。ＣＡＮ通信プロトコルの場合、データに付加されるＣＡＮ＿ＩＤの番号が小さいほど優先順位が高いという決まりがある。このため、通信処理部１２０は、自通信装置のデータ送信タイミングが他通信装置のデータ送信タイミングと競合した場合、ＣＡＮ＿ＩＤが最も小さければ最優先でネットワーク５０にデータを送信することができ（送信勝ち）、ＣＡＮ＿ＩＤが最も小さくなければ暫くの時間待機した後にデータを送信することができる（送信負け）。そして、通信処理部１２０は、送信勝ち及び送信負けを経て、ネットワーク５０上へのデータの送信が完了したか否かを判断する。
【００１９】
時間計測部１３０は、周期データのデータ送信タイミングとなった場合、そのデータ送信タイミングから通信処理部１２０によってネットワーク５０上へ周期データの送信が完了するまでに掛かった実際の時間（以下「実送信時間」という）を計測する。この実送信時間の長さは、ネットワーク５０における時間当たりの通信負荷量などに基づいて変化する。例えば、他の通信装置からのデータ送信タイミングと競合せず直ちに周期データを送信できた場合には、計測された実送信時間は短くなり、他の通信装置からのデータ送信タイミングと競合して送信負けによりデータ送信の待機回数が多くなれば、計測された実送信時間は長くなる。
【００２０】
時間判定部１４０は、時間計測部１３０で計測された実送信時間と予め定められた規定送信時間とを比較する。この規定送信時間は、ネットワーク５０が混雑して通信負荷が高くなっているか否かを判断するために用いられる。一例として、規定送信時間は、周期データのデータ送信タイミングとなってから周期データの送信が完了するまでの時間として通信システム１で許容される待機時間に設定される。規定送信時間を待機時間に設定することにより、通信装置の処理負荷を抑えつつ、周期データが通信システム１の許容時間を超えて遅延してしまうことを抑制できる。又は、規定送信時間を、通信システム１で許容される待機時間未満となる時間に設定してもよく、その時間は例えば上記待機時間とネットワーク５０における時間当たりの通信負荷量とに基づいて決定することができる。規定送信時間を待機時間未満に設定することにより、ネットワーク５０の通信負荷の平準化を早期に図ることができる。そして、時間判定部１４０は、実送信時間と規定送信時間とを比較して得られた結果を、要求管理部１１０に通知する。
【００２１】
なお、図１ではネットワーク５０に４つの通信装置１０、２０、３０、及び４０が接続されている例を示したが、ネットワーク５０に接続される通信装置の数はこれに限られない。また、要求管理部１１０、通信処理部１２０、時間計測部１３０、及び時間判定部１４０の各機能は、ネットワーク５０に接続される全ての通信装置が備えていてもよいし、一部の通信装置だけが備えていてもよい。例えば、処理能力に余裕のない通信装置には、これらの機能を非適用とすることで負荷を軽減させることができる。本実施形態では、少なくとも１つの通信装置が上記各機能を備えているだけで、ネットワーク５０の通信負荷を平準化でき、かつ、ネットワーク５０で発生する最大通信遅延時間を低減できるという有用な効果を発揮することができる。
【００２２】
＜制御＞
図２をさらに参照して、本実施形態に係る通信装置で実行される通信制御を説明する。図２は、要求管理部１１０、通信処理部１２０、時間計測部１３０、及び時間判定部１４０の各機能を備えた各通信装置が実行する通信制御の処理手順を示すフローチャートである。
【００２３】
図２に示す処理は、上述した各機能を備えた通信装置１０、２０、３０、及び４０が起動することで開始され、各々のデータ送信要求の発生に応じて並列して実行される。この通信装置１０、２０、３０、及び４０は、アクセサリーオン（ＡＣＣ＿ＯＮ）、イグニッションオン（ＩＧ＿ＯＮ）、バッテリー端子へのバッテリー接続（＋Ｂ＿ＯＮ）などの行為による電源の供給が生じると起動する。
【００２４】
（ステップＳ２０１）
要求管理部１１０が、所定の周期データの送信タイミングであるか否かを判断する。例えば、周期データが１０ｍｓ周期で送信要求が発生するデータである場合には、この送信タイミングは原則的に１０ｍｓの時間間隔で到来することとなる。周期は時間カウンターなどを用いて計測することができ、送信タイミングはカウンター値の満了を判断することによって判断可能である。
【００２５】
データの送信タイミングである場合は（Ｓ２０１、Ｙｅｓ）、ステップＳ２０２に処理が進み、データの送信タイミングでない場合は（Ｓ２０１、Ｎｏ）、ステップＳ２０１の処理を繰り返し実行する。
【００２６】
（ステップＳ２０２）
時間計測部１３０が、データの送信タイミングをトリガとして、当該送信タイミングに基づいて送信を実施する周期データ（以下「対象周期データ」という）の実送信時間の計測を開始する。また、通信処理部１２０が、対象周期データのネットワーク５０上への送信処理を開始する。
【００２７】
（ステップＳ２０３）
通信処理部１２０が、対象周期データのネットワーク５０上への送信が完了したか否かを判断する。例えば、対象周期データと送信を競合する他のデータがない場合又は送信を競合する他のデータがあってもその他のデータの優先順位が相対的に低い場合には、本対象周期データの送信が直ちに完了する。一方、対象周期データと送信を競合する優先順位が高い他のデータがある場合には、当該他のデータの送信が終わるまで待機した後に対象周期データの送信が完了することとなる。
【００２８】
対象周期データの送信が完了した場合は（Ｓ２０３、Ｙｅｓ）、ステップＳ２０４に処理が進み、対象周期データの送信が完了していない場合は（Ｓ２０３、Ｎｏ）、ステップＳ２０３の処理を繰り返して実行する。
【００２９】
（ステップＳ２０４）
時間計測部１３０が、対象周期データについて実行していた実送信時間の計測を終了する。
【００３０】
（ステップＳ２０５）
時間判定部１４０が、計測された実送信時間が予め定められた規定送信時間を越えたか否かを判定する。この規定送信時間は、上述したようにネットワーク５０の通信負荷の高さを判断するために用いられる。例えば、所定の周期が「１０ｍｓ」の対象周期データに対して、許容される待機時間「２０ｍｓ」を規定送信時間として設定したとする。この場合、時間計測部１３０で計測された実送信時間が２０ｍｓ以下であればネットワーク５０の通信負荷は高くないと判断され、実送信時間が２０ｍｓを超えればネットワーク５０の通信負荷は高いと判断される。
【００３１】
実送信時間が規定送信時間を越えた場合は（Ｓ２０５、Ｙｅｓ）、ステップＳ２０６に処理が進み、実送信時間が規定送信時間を越えなかった場合は（Ｓ２０５、Ｎｏ）、ステップＳ２０７に処理が進む。
【００３２】
（ステップＳ２０６）
要求管理部１１０が、送信処理部１２０から送信された対象周期データの次回のデータの送信タイミングを、所定の周期から所定の待機時間だけ遅らせる。この待機時間は、周期データの内容や重要度や、通信プロトコルにおける周期の最小値などを考慮して、通信システム１ごとに適宜設定され得る。一例として、ＣＡＮ通信プロトコルにおける周期は数ｍｓの単位で設定されるため、待機時間を１ｍｓとすることができる。この場合、上述した所定の周期が１０ｍｓである対象周期データは、次回のデータの送信タイミングを待機時間の１ｍｓだけ遅らせる。例えば、上述したカウンターを用いる場合には、次回は「所定の周期＋待機時間（＝１１ｍｓ）」のカウントで満了するように設定すればよい。この処理による送信タイミングの遅延は、原則次回の１度だけ実施されて終了し、次々回の送信タイミングでは所定の周期に戻る。次々回の送信タイミングを遅延させるか否かは、次の処理ルーチンにおけるステップＳ２０５の判断で従って実施される。
【００３３】
この待機制御によって、例えば周期が来るたびに毎回のように生じていた対象周期データと他の周期データとのデータ送信タイミングが重なって対象周期データの送信が遅延してしまう状況を、次回のデータ送信タイミングでは回避することができる。
【００３４】
（ステップＳ２０７）
要求管理部１１０が、送信処理部１２０から送信された対象周期データの次回のデータ送信タイミングを、従前どおりの所定の周期で管理する。
【００３５】
上記ステップＳ２０６及びＳ２０７の終了後は、処理がステップＳ２０１に戻り、要求管理部１１０によって所定の周期データのデータ送信タイミングであるか否かが再び判断される。
【００３６】
［作用・効果］
上述した本実施形態に係る通信システムによれば、各通信装置において、周期データについて、データ送信タイミングから送信完了までの実送信時間を計測し、優先順位が高い他のデータとの送信負けによる待機などで計測時間が規定送信時間を超えればネットワークの通信負荷が高いと判断して、次回のデータ送信タイミングを所定の周期よりも遅らせる。
【００３７】
この待機制御によって、データ送信タイミングの競合が発生して局所的にネットワークの通信負荷が増大している場合に、競合している複数の周期データのうち少なくとも１つの周期データ（本実施形態では、相対的に優先順位が低い周期データ）について、そのデータ送信周期の基点をずらすことができる。この処理により、データ送信タイミングの競合が解消されるように周期の基点が調整されるので、ネットワークの通信負荷を平準化でき、送信負けが多い周期データの最大通信遅延時間を低減することができる。従って、通信装置の処理負荷を軽減させることができる。
【００３８】
また、本実施形態に係る通信システムによれば、各通信装置において、データの送信負け回数をカウントする必要がなく、またＣＡＮ＿ＩＤなどの優先順位を決定する情報を動的に変更することもない。すなわち、通信システムの構成や周期データのフォーマットなどを変更しないため、本通信制御が通信システムへ与える負担を最小限に抑えることができる。
【００３９】
さらに、上記待機制御によって、各通信装置におけるデータ送信タイミングのばらつきを吸収できるため、ネットワークの通信負荷を静的に平準化する場合でも、設計マージンを縮小しつつネットワークの通信資源を効率的に活用した最適な設計が可能となる。
【００４０】
［変形例］
上記実施形態では、要求管理部１１０、通信処理部１２０、時間計測部１３０、及び時間判定部１４０の各機能を備えた通信装置が、自装置内でデータ送信要求が発生する全ての周期データを対象として、要求競合時に周期の基点をずらす待機制御を適用する例を説明した。
【００４１】
しかしながら、この待機制御は、通信装置内でデータ送信要求が発生する一部の周期データのみを対象として適用しても構わない。周期データが対象であるか否かの判断は、例えば図３に示すような対象リストを用いて行うことができる。図３に例示する対象リストでは、通信装置１０において周期データＡ，Ｂ，Ｃ，Ｄのうち周期データＡ，Ｂを対象として待機制御を適用し、通信装置２０において周期データＥ，Ｆ，Ｇ，Ｈのうち周期データＦ，Ｈを対象として待機制御を適用し、通信装置３０において周期データＩ，Ｊ，Ｋ，Ｌの全てを対象として待機制御を適用し、通信装置４０において周期データＭ，Ｎ，Ｏ，Ｐの全てを対象外として待機制御を不適用としている。
【００４２】
この変形例による通信装置が実行する通信制御の処理手順を示すフローチャートを図４に示す。図４に示すように、変形例による通信制御では、要求管理部１１０が周期データのデータ送信タイミングであると判断した場合（ステップＳ２０１、Ｙｅｓ）、時間計測部１３０が実送信時間の計測を開始する（ステップＳ２０２）前に、要求管理部１１０が対象リストを参照してデータ送信タイミングである周期データが待機制御の対象であるか否かを判断する（ステップＳ４０１）。なお、このステップＳ４０１による判断は、要求管理部１１０以外の構成（例えば対象データ判断部など）が実施してもよい。
【００４３】
この変形例の通信制御によれば、ネットワーク５０の通信負荷の平準化の効果や、送信負けが多い周期データの最大通信遅延時間の低減効果は低下するものの、待機制御の対象となる周期データを一部に絞ることによって通信装置の処理負荷を軽減させることができる。
【００４４】
以上、本発明の一実施形態を説明したが、本発明は、通信装置、通信装置を含んだ通信システム、通信装置が実行する通信方法、通信プログラム及び当該通信プログラムを記憶したコンピューター読み取り可能な非一時的な記録媒体、あるいは通信システムを搭載した車両として捉えることができる。
【産業上の利用可能性】
【００４５】
本発明は、複数の通信装置がネットワークで通信可能に接続された通信システムに利用可能である。
【符号の説明】
【００４６】
１  通信システム
１０、２０、３０、４０  通信装置（ＥＣＵ）
５０  ネットワーク
１１０  要求管理部
１２０  通信処理部
１３０  時間計測部
１４０  時間判定部
【図１】
2020017850.tif 000003
【図２】
2020017850.tif 000004
【図３】
2020017850.tif 000005
【図４】
2020017850.tif 000006