(57)【要約】【課題】特定のノード装置から送信されるデータの受信が、調停負けに伴い遅延することを抑制する。【解決手段】ネットワーク通信バス２に接続されるノード装置１は、通信インターフェース１２１とプロセッサ１２２を備えている。プロセッサ１２２は、通信インターフェース１２１にネットワーク通信バス２へのデータＤの送信を行なわせる。プロセッサ１２２は、データＤの送信に失敗した場合、データＤが再送信される再送信タイミングを早めるように構成されている。【選択図】図１
2020188304.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク通信バスに接続されるノード装置であって、
通信インターフェースと、
前記通信インターフェースに前記ネットワーク通信バスへのデータの送信を行なわせるプロセッサと、
を備えており、
前記プロセッサは、前記データの送信に失敗した場合、当該データが再送信される再送信タイミングを早めるように構成されている、
ノード装置。
【請求項２】
前記データの優先度を示す優先度情報が当該データに付与されており、
前記プロセッサは、前記優先度情報を変更することなく、前記再送信タイミングを早めるように構成されている、
請求項１に記載のノード装置。
【請求項３】
前記プロセッサは、前記データの送信に失敗する度に、前記再送信タイミングをさらに早めるように構成されている、
請求項１または２に記載のノード装置。
【請求項４】
前記再送信タイミングが早められる時間量は、前記ネットワーク通信バスへ同時にデータを送信可能なノード装置の数に基づいて定められる、
請求項１から３のいずれか一項に記載のノード装置。
【請求項５】
前記再送信タイミングが早められる時間量は、前記ネットワーク通信バスにおいて１ビットのデータ送信に要する時間よりも長くなるように定められる、
請求項１から４のいずれか一項に記載のノード装置。
【請求項６】
前記再送信タイミングは、前記ネットワーク通信バスに接続された複数のノード装置に対してデータ送信を許可する信号が前記通信インターフェースに受信されてから経過した時間に基づいて決定される、
請求項１から５のいずれか一項に記載のノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信バスに接続されるノード装置に関連する。
【背景技術】
【０００２】
特許文献１は、ネットワーク通信バスを介して接続された複数のノード装置間でデータ通信が行なわれる構成を開示している。当該構成においては、複数のノード装置から同じ宛先ノード装置へ同時にデータが送信される場合がある。このようにしてデータ送信の競合が生じたとき、宛先ノード装置においては、一つのノード装置から送信されたデータのみを受信するように調停処理が実行される。具体的には、各ノード装置から送信されるデータに付与されている優先度情報が、相互比較に供される。比較の結果として最も高い優先度が付与されていると判断されたデータのみが、宛先ノード装置に受信される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０２７５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
調停に負けたデータを送信したノード装置は、次の規定されたタイミングにおいて当該データの再送信を行なう。当該データについて他のノード装置から送信されたデータとの競合が生じると、当該データは、再び調停処理に供される。当該データに付与された優先度によっては、特定のノード装置が調停に負け続けて宛先ノード装置による受信が遅れる場合がありうる。
【０００５】
本発明の目的は、特定のノード装置から送信されるデータの受信の遅延を抑制することである。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための一態様は、ネットワーク通信バスに接続されるノード装置であって、
通信インターフェースと、
前記通信インターフェースに前記ネットワーク通信バスへのデータの送信を行なわせるプロセッサと、
を備えており、
前記プロセッサは、前記データの送信に失敗した場合、当該データが再送信される再送信タイミングを早めるように構成されている。
【０００７】
ノード装置は、他のノード装置がネットワーク通信バスへのデータ送信を既に開始している場合、送信を行なわないように構成されていることが一般的である。上記のような構成によれば、送信に失敗したデータの再送信タイミングが早められるので、送信タイミングが当初のままであるノード装置の送信タイミングが到来したときには、既に再送信が開始されている可能性を高めることができる。したがって、特定のノード装置から送信されるデータの受信の遅延を抑制できる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係るノード装置の構成を例示している。
【図２】図１のノード装置の動作を例示している。
【図３】図１のノード装置の動作を例示している。
【発明を実施するための形態】
【０００９】
添付の図面を参照しつつ、実施形態の例について以下詳細に説明する。以下の説明に用いられる各図面においては、各要素を認識可能な大きさとするために縮尺が適宜変更されている。
【００１０】
図１の（Ａ）は、複数のノード装置１がネットワーク通信バス２に接続されている通信ネットワーク３を例示している。各ノード装置１は、ネットワーク通信バス２を介して相互にデータＤを送受信できるように構成されている。
【００１１】
図１の（Ｂ）は、データＤの概略構成を例示している。データＤは、ヘッダ領域ｈとデータ領域ｄを含んでいる。ヘッダ領域ｈは、送信元であるノード装置１やデータの内容を識別するための識別情報や、通信ネットワーク３における複数のノード装置１同士の相対的な優先度の高低を示すための優先度情報を含んでいる。データ領域ｄは、送受信されるデータの本体を含んでいる。
【００１２】
一例として、ポーリング方式のＣＸＰＩ（Clock Extension Peripheral Interface）規格に基づいて通信ネットワーク３が動作する構成を説明する。この場合、複数のノード装置１は、マスタノード装置１１とスレーブノード装置１２を含む。マスタノード装置１１は、スレーブノード装置１２に対してデータＤの送信を要求しうる。スレーブノード装置１２は、当該要求に対してデータＤを送信しうる。
【００１３】
このような通信ネットワーク３は、例えば車両に搭載されうる。この場合、各ノード装置１は、対応づけられた車載部品の動作を制御するＥＣＵ（Electronic Control Unit）でありうる。マスタノード装置１１は、車両において統括的な制御を行なうＥＣＵでありうる。スレーブノード装置１２は、当該車両においてマンマシンインターフェースに関与するＥＣＵでありうる。
【００１４】
マスタノード装置１１は、通信インターフェース１１１とプロセッサ１１２を備えている。プロセッサ１１２は、クロック信号を生成する。クロック信号は、通信インターフェース１１１を介してネットワーク通信バス２へ出力される。クロック信号は、ネットワーク通信バス２を介して各スレーブノード装置１２に受信される。クロック信号は、マスタノード装置１１と各スレーブノード装置１２との間で行なわれる各種処理の同期をとるために使用される。
【００１５】
プロセッサ１１２は、汎用メモリと協働して動作する汎用マイクロプロセッサにより実現されうる。汎用マイクロプロセッサとしては、ＣＰＵ、ＭＰＵ、ＧＰＵが例示されうる。汎用メモリとしては、ＲＯＭやＲＡＭが例示されうる。この場合、ＲＯＭには、後述する処理を実行可能なコンピュータプログラムが記憶されうる。プロセッサ１１２は、ＲＯＭ上に記憶されたコンピュータプログラムの少なくとも一部を指定してＲＡＭ上に展開し、ＲＡＭと協働して上述した処理を実行する。プロセッサ１１２は、後述する処理を実現するコンピュータプログラムを実行可能なマイクロコントローラ、ＡＳＩＣ、ＦＰＧＡなどの専用集積回路によって実現されてもよい。プロセッサ１１２は、汎用マイクロプロセッサと専用集積回路の組合せによって実現されてもよい。
【００１６】
スレーブノード装置１２は、通信インターフェース１２１とプロセッサ１２２を備えている。プロセッサ１２２は、マスタノード装置１１の要求に応じて、通信インターフェース１２１にネットワーク通信バス２へのデータＤの送信を行なわせる。プロセッサ１２２は、後述する処理を実現するコンピュータプログラムを実行可能なマイクロコントローラ、ＡＳＩＣ、ＦＰＧＡなどの専用集積回路によって実現されうる。
【００１７】
図２と図３を参照しつつ、各スレーブノード装置１２のプロセッサ１２２により実行される処理の一例について説明する。図３の（Ａ）に示されるように、マスタノード装置１１は、全てのスレーブノード装置１２に対してデータの送信を許可する送信許可信号Ｐを、ネットワーク通信バス２へ送信可能に構成されている。送信許可信号Ｐは、マスタノード装置１１のプロセッサ１１２により生成され、通信インターフェース１１１より送信される。
【００１８】
図２に示されるように、各スレーブノード装置１２のプロセッサ１２２は、通信インターフェース１２１が送信許可信号Ｐを受信したかを判断する（ＳＴＥＰ１）。送信許可信号Ｐが受信されるまで、当該判断が繰り返される（ＳＴＥＰ１においてＮＯ）。
【００１９】
送信許可信号Ｐが受信されたと判断されると（ＳＴＥＰ１においてＹＥＳ）、プロセッサ１２２は、規定された送信タイミングが到来したかを判断する（ＳＴＥＰ２）。図３の（Ａ）に示されるように、送信タイミングは、送信許可信号Ｐが受信されてからの時間長Ｔ１に基づいて規定される。初期状態において、時間長Ｔ１は、全てのスレーブノード装置１２について同一である。
【００２０】
時間長Ｔ１は、マスタノード装置１１から送信されるクロック信号に基づいて定められる。時間長Ｔ１は、例えば３００マイクロ秒である。換言すると、プロセッサ１２２は、規定された時間長Ｔ１が経過したかを判断する。時間長Ｔ１が経過するまで、当該判断が繰り返される（ＳＴＥＰ２においてＮＯ）。
【００２１】
規定された送信タイミングが到来したと判断されると（ＳＴＥＰ２においてＹＥＳ）、プロセッサ１２２は、生成されたデータの送信を開始する（ＳＴＥＰ３）。データは、通信インターフェース１１１からネットワーク通信バス２へ送信される。図３の（Ａ）においては、マスタノード装置からの要求に応じてスレーブノード装置Ａとスレーブノード装置Ｂがデータを送信する例が示されている。スレーブノード装置Ａは、データＤ１を送信する。スレーブノード装置Ｂは、データＤ２を送信する。
【００２２】
前述のように、初期状態においては全てのスレーブノード装置１２について時間長Ｔ１が同一であるので、複数のスレーブノード装置１２から同時にデータ送信が開始される場合がありうる。他方、マスタノード装置１１は、ある送信許可信号Ｐへの応答として受信できるデータは、当該複数のスレーブノード装置１２の一つから送信されたものだけである。したがって、マスタノード装置１１に受信される一つのデータを決定するための調停処理が行なわれる。
【００２３】
図１の（Ｂ）を参照して説明したように、ネットワーク通信バス２に接続されている複数のスレーブノード装置１２同士の間には、優先度が予め定められている。優先度は、送信されるデータの緊急性などに基づいて定められる。優先度を示す優先度情報は、送信されるデータのヘッダ領域に含まれている。優先度情報は、ヘッダ領域に含まれる少なくとも一つのビットにより表現されうる。例えば、当該ビットが「０」である場合の方が、当該ビットが「１」である場合よりも優先度が高いと判断される。優先度情報が複数のビットにより表現される場合、ビット列の先頭に近いビット同士から比較がなされ、より早く「１」が現れたビット列に対応付けられたデータの優先度が低いと判断される。
【００２４】
図３の（Ａ）に示される例においては、スレーブノード装置Ａの優先度がスレーブノード装置Ｂの優先度よりも高く設定されているとする。この場合、データＤ１のヘッダ領域に含まれる優先度情報とデータＤ２のヘッダ領域に含まれる優先度情報が比較される。結果として、データＤ１が調停に勝ち、データＤ２が調停に負ける。この場合、データＤ１のヘッダ領域に後続するデータ領域の送信が継続される。他方、ヘッダ領域に含まれる情報で調停に負けたデータＤ２の送信は中断される。
【００２５】
各スレーブノード装置１２は、実際にネットワーク通信バス２へ送信されたデータの内容を監視している。送信対象として生成されたデータと実際に送信されたデータが相違している場合、プロセッサ１２２は、データの送信に失敗したと判断する。上記の例の場合、スレーブノード装置Ａにおいて生成されたデータＤ１と実際に送信されたデータＤ１は一致している。他方、スレーブノード装置Ｂにおいて生成されたデータＤ２の送信は中断されているので、生成されたデータと実際に送信されたデータが相違する。したがって、スレーブノード装置Ｂのプロセッサは、データＤ２の送信に失敗したと判断する。
【００２６】
図２に示されるように、各スレーブノード装置１２のプロセッサ１２２は、上記のようにしてデータの送信に失敗したかを判断する（ＳＴＥＰ４）。データの送信に成功したと判断されると（ＳＴＥＰ４においてＮＯ）、処理は終了する。
【００２７】
図３の（Ａ）に示されるように、マスタノード装置１１は、定期的に送信許可信号Ｐを出力する。送信が完了しなかったデータは、次の送信許可信号Ｐに対する応答として、再送信に供される。図２に示されるように、データの送信に失敗したと判断されると（ＳＴＥＰ４においてＹＥＳ）、スレーブノード装置１２のプロセッサ１２２は、当該データが再送信される再送信タイミングを早める処理を行なう（ＳＴＥＰ５）。換言すると、送信許可信号Ｐが受信されてからデータの再送信が開始されるまでの時間長が、初期値であるＴ１からＴ２へ短縮される。時間長Ｔ２は、例えば２００マイクロ秒である。
【００２８】
続いてプロセッサ１２２は、規定された再送信タイミングが到来したかを判断する（ＳＴＥＰ６）。すなわち、プロセッサ１２２は、送信許可信号Ｐが通信インターフェース１２１に受信されてから時間長Ｔ２が経過したかを判断する。このとき、ＳＴＥＰ１と同様にして送信許可信号Ｐが受信されたかの判断がなされるが、図示は省略されている。時間長Ｔ２が経過するまで、当該判断が繰り返される（ＳＴＥＰ６においてＮＯ）。
【００２９】
規定された再送信タイミングが到来したと判断されると（ＳＴＥＰ６においてＹＥＳ）、プロセッサ１２２は、データの再送信を開始する（ＳＴＥＰ７）。データは、通信インターフェース１２１からネットワーク通信バス２へ送信される。再送信が完了すると、処理は終了する。
【００３０】
このような構成の有利性について、図３の（Ｂ）と（Ｃ）に示される比較例を参照しつつ説明する。比較例においては、送信許可信号Ｐの応答としてデータの送信が開始されるタイミング（すなわち時間長Ｔ１）が不変である。スレーブノード装置Ａとスレーブノード装置Ｂの優先度に係る関係は、図３の（Ａ）に示される例と同じである。
【００３１】
図３の（Ｂ）に示されるように、マスタノード装置から送信された送信許可信号Ｐがスレーブノード装置Ａとスレーブノード装置Ｂに受信されると、時間長Ｔ１の経過後に、データＤ１の送信とデータＤ２の送信が同時に開始される。その結果、スレーブノード装置Ａとスレーブノード装置Ｂについて設定された優先度に基づいて調停処理が行なわれ、調停に負けたデータＤ２の送信は中断される。したがって、データＤ２は、次にマスタノード装置から送信される送信許可信号Ｐへの応答として、再送信に供される。同図に示される例においては、スレーブノード装置Ｂのみが次の送信許可信号Ｐに対してデータを送信するので、調停処理は行なわれない。データＤ２の送信は問題なく完了する。
【００３２】
図３の（Ｃ）は、次の送信許可信号Ｐへの応答として、スレーブノード装置ＢによるデータＤ２の再送信に加えてスレーブノード装置ＡによるデータＤ３の送信が行なわれる場合を示している。送信許可信号Ｐの受信からデータ送信開始までの時間長Ｔ１は不変であるので、データＤ２の再送信とデータＤ３の送信は同時に行なわれる。したがって、データＤ２とデータＤ３の間で再び調停処理が行なわれる。スレーブノード装置Ａとスレーブノード装置Ｂの優先度も変わらないので、データＤ２は再び調停に負けて再送信の対象とされる。このようにして、特定のスレーブノード装置から送信されるデータが調停に負け続け、マスタノード装置による当該データの受信が遅れる場合がありうる。
【００３３】
各スレーブノード装置１２は、他のスレーブノード装置１２がネットワーク通信バス２へのデータ送信を既に開始している場合、送信を行なわないように構成されている。例えば、ネットワーク通信バス２の信号レベルが「１」に対応する状態が一定期間以上継続している場合に、データの送信が開始されるように構成されうる。他のスレーブノード装置１２により既に通信が開始されていると、このような信号レベルの状態は得られない。
【００３４】
本実施形態の構成によれば、図３の（Ａ）に示されるように、調停負けにより送信に失敗したデータの再送信タイミングが早められるので、特定のスレーブノード装置から送信されるデータが調停に負け続ける事態を回避しやすくなる。具体的には、データＤ２の再送信タイミングが早められているので、データＤ３の送信タイミングの到来時には、既にデータＤ２の再送信が開始されている。したがって、データＤ３の送信は行なわれない。データＤ３は、さらに次の送信許可信号Ｐへの応答としての再送信の対象とされる。よって、特定のスレーブノード装置から送信されるデータの調停負けに伴う受信の遅延を抑制できる。
【００３５】
各スレーブノード装置１２は、再送信タイミングを早める処理を行なうに際して、データのヘッダ領域に含まれる優先度情報を変更していない。すなわち、予め定められた複数のスレーブノード装置間の優先度に係る関係は維持されている。図３の（Ａ）に示される例の場合、スレーブノード装置Ａの優先度がスレーブノード装置Ｂの優先度よりも高いという事実に変わりはない。しかしながら、調停負けしたデータＤ２に関する限りにおいて、再送信タイミングが早められることによって、スレーブノード装置Ｂの優先度がスレーブノード装置Ａの優先度よりも暫定的に高められている。
【００３６】
このような構成によれば、優先度情報を書き替える処理が不要であるので、スレーブノード装置１２におけるプロセッサ１２２の処理負荷の増大を抑制できる。特に優先度情報がスレーブノード装置１２の識別情報を兼ねるような構成においては、識別処理に与える影響を抑制できる。
【００３７】
図３の（Ａ）においては、二つのスレーブノード装置１２から送信されるデータ同士の競合が例示されている。しかしながら、より多くのスレーブノード装置１２がネットワーク通信バス２に接続される場合、データの調停負けは、複数のスレーブノード装置において発生する可能性がある。この場合、当該複数のスレーブノード装置により再送信されたデータ同士の間で再び競合が生じ、調停処理が行なわれる。例えば、再送信に供されるデータＤ２が、スレーブノード装置Ｂよりも高い優先度が付与されたスレーブノード装置Ｃ（不図示）から送信されるデータＤ４（不図示）によって再び調停に負ける場合がありうる。
【００３８】
このような状況に対応するために、図２に破線で示されるように、各スレーブノード装置１２のプロセッサ１２２は、データの送信に失敗する度に、再送信タイミングをさらに早める処理を行ないうる。図３の（Ａ）に示される例において、データＤ２がデータＤ４との調停に負けて再び送信に失敗した場合（ＳＴＥＰ４においてＹＥＳ）、プロセッサ１２２は、データＤ２が再送信されるタイミングをさらに早める処理を行なう（ＳＴＥＰ５）。換言すると、次に送信許可信号Ｐが受信されてからデータの再送信が開始されるまでの時間長が、現行値であるＴ２からＴ３（不図示）へ短縮される。時間長Ｔ３は、例えば１００マイクロ秒である。
【００３９】
これにより、次にマスタノード装置から送信される送信許可信号Ｐへの応答時においてデータＤ２が調停負けする確率をさらに低下させることができる。よって、特定のスレーブノード装置から送信されるデータの調停負けに伴う受信の遅延をさらに抑制できる。
【００４０】
上記の例においては、あるデータが調停負けに伴って送信に失敗する度に、再送信タイミングを規定する時間長が３００マイクロ秒から２００マイクロ秒へ、２００マイクロ秒から１００マイクロ秒へと短縮されている。すなわち、再送信タイミングが早められる時間量は１００マイクロ秒とされている。しかしながら、当該時間量は、当初の送信タイミングを規定する時間長Ｔ１、およびネットワーク通信バス２へ同時にデータを送信可能なスレーブノード装置１２の数に基づいて定められうる。
【００４１】
例えば、１０個のスレーブノード装置１２がネットワーク通信バス２へ同時にデータを送信可能である場合、送信許可信号Ｐの受信からデータの再送信開始までの時間長が当初の時間長Ｔ１から１０段階で短縮されうる値として、上記の時間量が定められうる。このような構成によれば、特定のスレーブノード装置１２から送信されるデータが最後まで調停に負け続けることがない。このとき、ネットワーク通信バス２へ同時にデータを送信可能なスレーブノード装置１２の数と再送信開始までの時間長を短縮可能な段階の数が一致している必要はない。再送信開始までの時間長を短縮可能な段階の数を、ネットワーク通信バス２へ同時にデータを送信可能なスレーブノード装置１２の数以下の範囲で多くすることにより、特定のスレーブノード装置１２から送信されるデータが調停に負け続ける可能性を低減できる。
【００４２】
なお、再送信タイミングが早められる時間量は、ネットワーク通信バス２において１ビットのデータ送信に要する時間よりも長くなるように定められる。上記の例の場合、１ビットのデータ送信に要する時間は、マスタノード装置１１から送信されるクロック周波数に基づいて定まる。このような構成によれば、調停に負けたデータの再送信を確実に遂行できる。
【００４３】
上記の実施形態は、本発明の理解を容易にするための例示にすぎない。上記の実施形態に係る構成は、本発明の趣旨を逸脱しなければ、適宜に変更・改良されうる。
【００４４】
上記の実施形態においては、ポーリング方式のＣＸＰＩ規格に基づいて通信ネットワーク３が動作しており、ネットワーク通信バス２に接続された複数のノード装置１は、マスタノード装置１１とスレーブノード装置１２を含んでいる。しかしながら、送信に失敗したデータの再送信タイミングを早めるという上記の処理は、複数のノード装置１についてマスタとスレーブの区別がない通信ネットワークにも適用可能である。例えば、キャリアセンス方式のＣＡＮ（Control Area Network）規格に基づいて動作する通信ネットワークが挙げられる。データ送信失敗の原因は、調停負けに限られない。他のノード装置のデータ送信によるネットワーク通信バスの占有により、規定されたタイミングでデータの送信を行なえない場合がありうる。そのような状況もまた、データ送信失敗の一例である。
【符号の説明】
【００４５】
１：ノード装置、１２１：通信インターフェース、１２２：プロセッサ、２：ネットワーク通信バス、Ｄ、Ｄ１、Ｄ２、Ｄ３：データ、Ｐ：送信許可信号
【図１】
2020188304.tif 000003
【図２】
2020188304.tif 000004
【図３】
2020188304.tif 000005