(57)【要約】【課題】起動時の無駄な通信処理を抑制すること。【解決手段】通信開始から通信成立までの計測時間である通信成立時間に基づいて通信マスク時間を再計算し、次回の起動時にこの通信マスク時間を用いて通信処理を開始する。また、計測誤差や各ＥＣＵの動作のばらつきに対応するためのマージン時間、通信マスク時間の短縮に対応するための短縮時間、通信マスク時間が異常値となることを防止するための最大マスク時間および最小マスク時間に基づいて通信マスク時間を算出する。【選択図】        図１
2006140739.tif 000002
【特許請求の範囲】
【請求項１】
通信開始時の通信同期制御をおこなう通信同期装置であって、
通信開始から通信成立までの通信成立時間を計測する計測手段と、
起動から通信開始までの無通信時間をあらわす通信マスク時間を前記通信成立時間に基づいて算出する算出手段と、
前記算出手段が算出した前記通信マスク時間を記憶する記憶手段と、
前記記憶手段が前記通信マスク時間を記憶した後の起動時に、前記記憶手段から前記通信マスク時間を読み出して該通信マスク時間の経過時に通信を開始する通信手段と
を備えたことを特徴とする通信同期装置。
【請求項２】
前記算出手段は、前記記憶手段から読み出した前記通信マスク時間に、前記通信成立時間を足し合わせることにより、新たな通信マスク時間を算出することを特徴とする請求項１に記載の通信同期装置。
【請求項３】
前記算出手段は、前記記憶手段から読み出した前記通信マスク時間に、前記通信成立時間および所定の長さの時間を足し合わせることにより、新たな通信マスク時間を算出することを特徴とする請求項１または２に記載の通信同期装置。
【請求項４】
前記算出手段は、前記通信成立時間が０である場合に、前記記憶装置から読み出した前記通信マスク時間から所定の長さの時間を差し引くことにより、新たな通信マスク時間を算出することを特徴とする請求項１、２または３に記載の通信同期装置。
【請求項５】
前記記憶手段は、前記通信成立時間が０である起動が連続しておこなわれたことをあらわすカウンタを記憶し、前記算出手段は、該カウンタが所定の回数を上回った場合にのみ、前記記憶装置から読み出した前記通信マスク時間から所定の長さの時間を差し引くことにより、新たな通信マスク時間を算出することを特徴とする請求項４に記載の通信同期装置。
【請求項６】
前記記憶手段は、前記通信マスク時間の最小値をあらわす最小マスク時間と、前記通信マスク時間の最大値をあらわす最大マスク時間とを記憶し、前記算出手段は、算出した前記通信マスク時間が該最小マスク時間より小さい場合に該通信マスク時間を該最小マスク時間とし、算出した前記通信マスク時間が該最大マスク時間より大きい場合に該通信マスク時間を該最大マスク時間とすることを特徴とする請求項１〜５のいずれか一つに記載の通信同期装置。
【請求項７】
前記記憶手段は、前記通信マスク時間の最小値をあらわす最小マスク時間と、前記通信マスク時間の最大値をあらわす最大マスク時間を記憶し、前記通信手段は、読み出した前記通信マスク時間が該最小マスク時間より小さい場合に該通信マスク時間を該最小マスク時間とし、読み出した前記通信マスク時間が該最大マスク時間より大きい場合に該通信マスク時間を該最大マスク時間とすることを特徴とする請求項１〜５のいずれか一つに記載の通信同期装置。
【請求項８】
前記通信手段は、前記記憶手段から読み出した前記通信マスク時間が経過し、かつ、前記計測手段が計測した通信成立時間が経過した時点で通信監視処理を開始することを特徴とする請求項１〜７のいずれか一つに記載の通信同期装置。
【請求項９】
移動体上に搭載され、通信開始時の通信同期制御をおこなう通信同期装置を含む電子制御ユニットと、複数の前記電子制御ユニットを相互に接続するネットワークとからなる通信同期システムであって、
それぞれの前記通信同期装置は、
通信開始から通信成立までの通信成立時間を計測する計測手段と、
起動から通信開始までの無通信時間をあらわす通信マスク時間を前記通信成立時間に基づいて算出する算出手段と、
前記算出手段が算出した前記通信マスク時間を記憶する記憶手段と、
前記記憶手段が前記通信マスク時間を記憶した後の起動時に、前記記憶手段から前記通信マスク時間を読み出して該通信マスク時間の経過時に通信を開始する通信手段と
を備えたことを特徴とする通信同期システム。
【請求項１０】
前記記憶手段を備えない通信同期装置を含む電子制御ユニットが、前記ネットワークに接続された場合には、前記通信同期装置は、前記記憶手段が保持する前記通信マスク時間を前記記憶手段を備えない通信同期装置に通知することを特徴とする請求項９に記載の通信同期システム。
【請求項１１】
通信開始時の通信同期制御をおこなう通信同期方法であって、
通信開始から通信成立までの通信成立時間を計測する計測工程と、
起動から通信開始までの無通信時間をあらわす通信マスク時間を前記通信成立時間に基づいて算出する算出工程と、
前記算出工程が算出した前記通信マスク時間を記憶する記憶工程と、
前記記憶工程が前記通信マスク時間を記憶した後の起動時に、前記記憶工程から前記通信マスク時間を読み出して該通信マスク時間の経過時に通信を開始する通信工程と
を含んだことを特徴とする通信同期方法。
【請求項１２】
通信開始時の通信同期制御をおこなう通信同期プログラムであって、
通信開始から通信成立までの通信成立時間を計測する計測手順と、
起動から通信開始までの無通信時間をあらわす通信マスク時間を前記通信成立時間に基づいて算出する算出手順と、
前記算出手順が算出した前記通信マスク時間を記憶する記憶手順と、
前記記憶手順が前記通信マスク時間を記憶した後の起動時に、前記記憶手順から前記通信マスク時間を読み出して該通信マスク時間の経過時に通信を開始する通信手順と
をコンピュータに実行させることを特徴とする通信同期プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信開始時の通信同期制御をおこなう通信同期装置、通信同期システム、通信同期方法および通信同期プログラムに関し、特に、通信が成立するまでの時間を学習し、通信開始のタイミングを自動調整することにより、起動の際の無駄な通信処理を省くことができるとともに、新規の装置がネットワークに接続された場合であっても、通信開始のタイミングを調整するための保守作業を必要としない通信同期装置、通信同期システム、通信同期方法および通信同期プログラムに関する。
【背景技術】
【０００２】
従来、車両などの移動体では、センサーやアクチュエータを制御する複数の電子制御ユニット（ＥＣＵ）が、車内ＬＡＮ（Local Area Network）により相互に接続され、車両全体の制御がおこなわれている。
【０００３】
これらのＥＣＵは、ドライバーがイグニッションキーを「ＯＮ」に操作した際に起動し、相互の通信を成立させるために通信処理を開始する。そして、各ＥＣＵ間の通信が成立すると、すべてのＥＣＵは動作可能な状態となる。したがって、かかる通信の成立は迅速におこなう必要がある。
【０００４】
たとえば、特許文献１には、複数のＥＣＵの中からマスタＥＣＵを選択し、このマスタＥＣＵが他のＥＣＵの起動処理をおこなうことで、全体として各ＥＣＵ間の通信成立時間を短縮する発明が開示されている。
【０００５】
【特許文献１】特許第３４７８６５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、かかる特許文献１を用いたとしても、各ＥＣＵの性能はまちまちであるため、マスタＥＣＵの選択次第では、通信成立時間を効率的に短縮することができない場合もある。また、各ＥＣＵが通信処理を開始してから通信が成立するまでの時間は異なるため、通信成立前に無駄な通信処理が発生してしまう。
【０００７】
この無駄な通信の発生を抑制するために、各ＥＣＵが起動してから通信処理を開始するまでの時間を調整するための通信マスク時間を各ＥＣＵに保持させることも考えられる。すなわち、各ＥＣＵは、設定された通信マスク時間の経過後に通信処理を開始することにより、起動時の無駄な通信処理を抑制しようというものである。しかし、かかる調整時間を保持させた場合であっても、車載ＬＡＮに新規なＥＣＵを追加する場合には、他のＥＣＵが保持する通信マスク時間を保守する必要がある。
【０００８】
これらのことから、各ＥＣＵの起動時の無駄な通信処理を抑制して効率的な通信同期をおこなうことができ、かつ、車載ＬＡＮに新規なＥＣＵを追加する場合であっても保守作業を必要としないＥＣＵをいかにして実現するかが大きな課題となっている。なお、かかる課題は、ＥＣＵに限ったものではなく、ネットワークに接続され相互に通信をおこなう通信装置についても同様に生ずる課題である。
【０００９】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、各ＥＣＵが起動する際の無駄な通信処理を抑制することができるとともに、新規なＥＣＵがネットワークに接続された場合であっても既存のＥＣＵを保守する必要がない、通信同期装置、通信同期システム、通信同期方法および通信同期プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る通信同期装置は、通信開始時の通信同期制御をおこなう通信同期装置であって、通信開始から通信成立までの通信成立時間を計測する計測手段と、起動から通信開始までの無通信時間をあらわす通信マスク時間を前記通信成立時間に基づいて算出する算出手段と、前記算出手段が算出した前記通信マスク時間を記憶する記憶手段と、前記記憶手段が前記通信マスク時間を記憶した後の起動時に、前記記憶手段から前記通信マスク時間を読み出して該通信マスク時間の経過時に通信を開始する通信手段とを備えたことを特徴とする。
【００１１】
また、請求項２の発明に係る通信同期装置は、請求項１の発明において、前記算出手段は、前記記憶手段から読み出した前記通信マスク時間に、前記通信成立時間を足し合わせることにより、新たな通信マスク時間を算出することを特徴とする。
【００１２】
また、請求項３の発明に係る通信同期装置は、請求項１または２の発明において、前記算出手段は、前記記憶手段から読み出した前記通信マスク時間に、前記通信成立時間および所定の長さの時間を足し合わせることにより、新たな通信マスク時間を算出することを特徴とする。
【００１３】
また、請求項４の発明に係る通信同期装置は、請求項１、２または３の発明において、前記算出手段は、前記通信成立時間が０である場合に、前記記憶装置から読み出した前記通信マスク時間から所定の長さの時間を差し引くことにより、新たな通信マスク時間を算出することを特徴とする。
【００１４】
また、請求項５の発明に係る通信同期装置は、請求項４の発明において、前記記憶手段は、前記通信成立時間が０である起動が連続しておこなわれたことをあらわすカウンタを記憶し、前記算出手段は、該カウンタが所定の回数を上回った場合にのみ、前記記憶装置から読み出した前記通信マスク時間から所定の長さの時間を差し引くことにより、新たな通信マスク時間を算出することを特徴とする。
【００１５】
また、請求項６の発明に係る通信同期装置は、請求項１〜５のいずれか一つの発明において、前記記憶手段は、前記通信マスク時間の最小値をあらわす最小マスク時間と、前記通信マスク時間の最大値をあらわす最大マスク時間とを記憶し、前記算出手段は、算出した前記通信マスク時間が該最小マスク時間より小さい場合に該通信マスク時間を該最小マスク時間とし、算出した前記通信マスク時間が該最大マスク時間より大きい場合に該通信マスク時間を該最大マスク時間とすることを特徴とする。
【００１６】
また、請求項７の発明に係る通信同期装置は、請求項１〜５のいずれか一つの発明において、前記記憶手段は、前記通信マスク時間の最小値をあらわす最小マスク時間と、前記通信マスク時間の最大値をあらわす最大マスク時間を記憶し、前記通信手段は、読み出した前記通信マスク時間が該最小マスク時間より小さい場合に該通信マスク時間を該最小マスク時間とし、読み出した前記通信マスク時間が該最大マスク時間より大きい場合に該通信マスク時間を該最大マスク時間とすることを特徴とする。
【００１７】
また、請求項８の発明に係る通信同期装置は、請求項１〜７のいずれか一つの発明において、前記通信手段は、前記記憶手段から読み出した前記通信マスク時間が経過し、かつ、前記計測手段が計測した通信成立時間が経過した時点で通信監視処理を開始することを特徴とする。
【００１８】
また、請求項９の発明に係る通信同期システムは、移動体上に搭載され、通信開始時の通信同期制御をおこなう通信同期装置を含む電子制御ユニットと、複数の前記電子制御ユニットを相互に接続するネットワークとからなる通信同期システムであって、それぞれの前記通信同期装置は、通信開始から通信成立までの通信成立時間を計測する計測手段と、起動から通信開始までの無通信時間をあらわす通信マスク時間を前記通信成立時間に基づいて算出する算出手段と、前記算出手段が算出した前記通信マスク時間を記憶する記憶手段と、前記記憶手段が前記通信マスク時間を記憶した後の起動時に、前記記憶手段から前記通信マスク時間を読み出して該通信マスク時間の経過時に通信を開始する通信手段とを備えたことを特徴とする。
【００１９】
また、請求項１０の発明に係る通信同期システムは、請求項９の発明において、前記記憶手段を備えない通信同期装置を含む電子制御ユニットが、前記ネットワークに接続された場合には、前記通信同期装置は、前記記憶手段が保持する前記通信マスク時間を前記記憶手段を備えない通信同期装置に通知することを特徴とする。
【００２０】
また、請求項１１の発明に係る通信同期方法は、通信開始時の通信同期制御をおこなう通信同期方法であって、通信開始から通信成立までの通信成立時間を計測する計測工程と、起動から通信開始までの無通信時間をあらわす通信マスク時間を前記通信成立時間に基づいて算出する算出工程と、前記算出工程が算出した前記通信マスク時間を記憶する記憶工程と、前記記憶工程が前記通信マスク時間を記憶した後の起動時に、前記記憶工程から前記通信マスク時間を読み出して該通信マスク時間の経過時に通信を開始する通信工程とを含んだことを特徴とする。
【００２１】
また、請求項１２の発明に係る通信同期プログラムは、通信開始時の通信同期制御をおこなう通信同期プログラムであって、通信開始から通信成立までの通信成立時間を計測する計測手順と、起動から通信開始までの無通信時間をあらわす通信マスク時間を前記通信成立時間に基づいて算出する算出手順と、前記算出手順が算出した前記通信マスク時間を記憶する記憶手順と、前記記憶手順が前記通信マスク時間を記憶した後の起動時に、前記記憶手順から前記通信マスク時間を読み出して該通信マスク時間の経過時に通信を開始する通信手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２２】
請求項１にかかる通信同期装置によれば、通信開始から通信成立までの通信成立時間を計測する計測手段と、起動から通信開始までの無通信時間をあらわす通信マスク時間を通信成立時間に基づいて算出する算出手段と、算出手段が算出した通信マスク時間を記憶する記憶手段と、記憶手段が通信マスク時間を記憶した後の起動時に、記憶手段から通信マスク時間を読み出して通信マスク時間の経過時に通信を開始する通信手段とを備えるよう構成したので、学習後の通信マスク時間を用いて通信処理を開始することにより起動時の無駄な通信処理の発生を効率的に防止することができるとともに、ネットワーク上に新規な装置が追加された場合であっても通信マスク時間の保守作業を必要としないという効果を奏する。
【００２３】
また、請求項２にかかる通信同期装置によれば、算出手段は、記憶手段から読み出した通信マスク時間に、通信成立時間を足し合わせることにより、新たな通信マスク時間を算出するよう構成したので、実際の通信成立時間を反映して通信マスク時間を延長することにより、起動時の無駄な通信処理の発生を効率的に防止することができるという効果を奏する。
【００２４】
また、請求項３にかかる通信同期装置によれば、算出手段は、記憶手段から読み出した通信マスク時間に、通信成立時間および所定の長さの時間を足し合わせることにより、新たな通信マスク時間を算出するよう構成したので、通信成立時間のばらつきを補正することにより、起動時の無駄な通信処理の発生を効率的に防止することができるという効果を奏する。
【００２５】
また、請求項４にかかる通信同期装置によれば、算出手段は、通信成立時間が０である場合に、記憶装置から読み出した通信マスク時間から所定の長さの時間を差し引くことにより、新たな通信マスク時間を算出するよう構成したので、通信成立時間が０である場合に通信マスク時間を短縮することにより、起動時の無駄な通信処理の発生を効率的に防止することができるという効果を奏する。
【００２６】
また、請求項５にかかる通信同期装置によれば、記憶手段は、通信成立時間が０である起動が連続しておこなわれたことをあらわすカウンタを記憶し、算出手段は、カウンタが所定の回数を上回った場合にのみ、記憶装置から読み出した通信マスク時間から所定の長さの時間を差し引くことにより、新たな通信マスク時間を算出するよう構成したので、通信マスク時間を過剰に短縮することを防止することにより、起動時の無駄な通信処理の発生を効率的に防止することができるという効果を奏する。
【００２７】
また、請求項６にかかる通信同期装置によれば、記憶手段は、通信マスク時間の最小値をあらわす最小マスク時間と、通信マスク時間の最大値をあらわす最大マスク時間とを記憶し、算出手段は、算出した前記通信マスク時間が最小マスク時間より小さい場合に通信マスク時間を最小マスク時間とし、算出した通信マスク時間が最大マスク時間より大きい場合に通信マスク時間を最大マスク時間とするよう構成したので、異常値となった通信マスク時間が記憶装置に記憶されることを防止して、起動時の無駄な通信処理の発生を効率的に防止することができるという効果を奏する。
【００２８】
また、請求項７にかかる通信同期装置によれば、記憶手段は、通信マスク時間の最小値をあらわす最小マスク時間と、通信マスク時間の最大値をあらわす最大マスク時間を記憶し、通信手段は、読み出した通信マスク時間が最小マスク時間より小さい場合に通信マスク時間を最小マスク時間とし、読み出した通信マスク時間が最大マスク時間より大きい場合に通信マスク時間を最大マスク時間とするよう構成したので、記憶装置上に記憶された通信マスク時間が異常値をとった場合であっても確実に補正することにより、起動時の無駄な通信処理の発生を効率的に防止することができるという効果を奏する。
【００２９】
また、請求項８にかかる通信同期装置によれば、通信手段は、記憶手段から読み出した通信マスク時間が経過し、かつ、計測手段が計測した通信成立時間が経過した時点で通信監視処理を開始するよう構成したので、通信処理を開始してから通信が成立がするまでの間に通信エラーを検出することを防止することができるという効果を奏する。
【００３０】
また、請求項９にかかる通信同期システムによれば、通信開始から通信成立までの通信成立時間を計測する計測手段と、起動から通信開始までの無通信時間をあらわす通信マスク時間を通信成立時間に基づいて算出する算出手段と、算出手段が算出した通信マスク時間を記憶する記憶手段と、記憶手段が通信マスク時間を記憶した後の起動時に、記憶手段から通信マスク時間を読み出して通信マスク時間の経過時に通信を開始する通信手段とを備えるよう構成したので、学習後の通信マスク時間を用いて通信処理を開始することにより起動時の無駄な通信処理の発生を効率的に防止することができるとともに、ネットワーク上に新規な装置が追加された場合であっても通信マスク時間の保守作業を必要としないという効果を奏する。
【００３１】
また、請求項１０にかかる通信同期システムによれば、記憶手段を備えない通信同期装置を含む電子制御ユニットが、ネットワークに接続された場合には、通信同期装置は、記憶手段が保持する通信マスク時間を記憶手段を備えない通信同期装置に通知するよう構成したので、記憶手段を備えない通信同期装置が学習後の通信マスク時間を用いることにより、起動時の無駄な通信処理の発生を効率的に防止することができるという効果を奏する。
【００３２】
また、請求項１１にかかる通信同期方法によれば、通信開始から通信成立までの通信成立時間を計測する計測手段と、起動から通信開始までの無通信時間をあらわす通信マスク時間を通信成立時間に基づいて算出する算出手段と、算出手段が算出した通信マスク時間を記憶する記憶手段と、記憶手段が通信マスク時間を記憶した後の起動時に、記憶手段から通信マスク時間を読み出して通信マスク時間の経過時に通信を開始する通信手段とを備えるよう構成したので、学習後の通信マスク時間を用いて通信処理を開始することにより起動時の無駄な通信処理の発生を効率的に防止することができるとともに、ネットワーク上に新規な装置が追加された場合であっても通信マスク時間の保守作業を必要としないという効果を奏する。
【００３３】
また、請求項１２にかかる通信同期プログラムによれば、通信開始から通信成立までの通信成立時間を計測する計測手段と、起動から通信開始までの無通信時間をあらわす通信マスク時間を通信成立時間に基づいて算出する算出手段と、算出手段が算出した通信マスク時間を記憶する記憶手段と、記憶手段が通信マスク時間を記憶した後の起動時に、記憶手段から通信マスク時間を読み出して通信マスク時間の経過時に通信を開始する通信手段とを備えるよう構成したので、学習後の通信マスク時間を用いて通信処理を開始することにより起動時の無駄な通信処理の発生を効率的に防止することができるとともに、ネットワーク上に新規な装置が追加された場合であっても通信マスク時間の保守作業を必要としないという効果を奏する。
【発明を実施するための最良の形態】
【００３４】
以下に添付図面を参照して、この発明に係る通信同期装置、通信同期システム、通信同期方法および通信同期プログラムの好適な実施例を詳細に説明する。以下では、まず、各実施例に共通する本発明の特徴部分である通信マスク時間の学習処理の概要を説明した後に、通信マスク時間を延長する場合（実施例１）、通信マスクの延長および短縮をする場合（実施例２）についてそれぞれ説明することとする。
【００３５】
（概要および特徴）
まず、各実施例に共通する本発明の特徴部分である通信マスク時間の学習処理の概要について説明する。図１は、本発明の特徴部分である通信マスク時間の学習処理の概要を説明するための説明図である。
【００３６】
近年、車両の高性能化にともなって車両には多数のセンサーやアクチュエータが搭載され、これらのデバイスを制御するＥＣＵの数も増加している。そして、車両に搭載される複数のＥＣＵは、車載ＬＡＮにより相互に接続されデータを送受信して車両全体の制御をおこなっている。同図に示すように、ドライバーがイグニッションスイッチを「ＯＮ」に操作するなどして車両システムを起動すると、各ＥＣＵ（ＥＣＵ１およびＥＣＵ２）は、それぞれ起動する。
【００３７】
しかしながら、各ＥＣＵの性能はそれぞれ異なることが通常であるので、車両システムが起動してから各ＥＣＵが起動するまでの時間はまちまちである。たとえば、同図の上側に示した場合においては、ＥＣＵ１、ＥＣＵ２の順序で各ＥＣＵが起動している。そして、起動した各ＥＣＵはそれぞれ「通信処理」を開始する。ここで、「通信処理」とは、双方向の通信が未だ成立していない期間の処理と、双方向の通信が成立した後の処理を含むものとする。
【００３８】
たとえば、ＥＣＵ１が通信処理を開始してＥＣＵ２と双方向の通信を成立させようとしても、ＥＣＵ２が通信処理を開始するまではＥＣＵ２からの応答が得られないため、ＥＣＵ１は、ＥＣＵ２の応答を得るためのメッセージ送信を定期的に繰り返すことになる。
【００３９】
この無駄な通信処理の発生を抑制するため、各ＥＣＵの性能にみあった通信マスク時間（Ｔｍａｓｋ）をあらかじめ設定して各ＥＣＵが通信処理を開始するタイミングを合わせることが考えられる。この場合、さまざまな性能のＥＣＵと通信することを考慮して、かかる通信マスク時間（Ｔｍａｓｋ）は十分に長い時間に設定されることが通常である。しかしながら、通信マスク時間（Ｔｍａｓｋ）が長すぎると全体として通信成立までの時間が遅延してしまう。また、あらかじめ静的な通信マスク時間を設定するこの方法では、車載ＬＡＮにあらたなＥＣＵを追加した場合などに他のＥＣＵに設定されている通信マスク時間を保守する必要がある。
【００４０】
そこで、同図の下側に示したように、本発明においては、各ＥＣＵが通信処理を開始してから通信が成立するまでの時間を学習することにより、動的に通信マスク時間を変更する仕組みを提供することとした。このようにすることで、通信マスク時間を自律的に適切な長さに調整することが可能となるとともに、車載ＬＡＮにあらたなＥＣＵを追加した場合であっても、各ＥＣＵは、動的に自己の通信マスク時間を変更することができるので保守作業を必要とすることなく起動する際の無駄な通信処理を抑制することが可能となる。
【００４１】
次に、各実施例に共通するＥＣＵ１のハードウェア構成について説明する。図２は、本発明の実施例に係るＥＣＵ１のハードウェア構成およびネットワーク構成を示すブロック図である。同図に示すように、ＥＣＵ１は、ＣＰＵ（Central Processing Unit）１０、タイマ１１、通信コントローラ１２、ＲＯＭ（Read Only Memory）１３、ノーマルＲＡＭ（Random Access Memory）１４およびスタンバイＲＡＭ１５を有する。そして、各ＥＣＵ１は、車載ＬＡＮにより相互に接続されている。なお、同図では３個のＥＣＵ１しか示していないが、ＥＣＵ１の個数を制限するものではない。
【００４２】
ＣＰＵ１０は、ＥＣＵ１の全体制御をおこなうものであり、バスを介して接続されるＥＣＵ１内の他の装置を制御する。また、タイマ１１は、通信タイミングを検出するためのフリーランタイマなどのタイマであり、通信コントローラ１２は、車載ＬＡＮとＥＣＵ１との通信を制御するデバイスである。
【００４３】
ＲＯＭ１３は、プログラムや静的データの格納用メモリとして用いる読み出し専用のメモリである。また、ノーマルＲＡＭ１４は、演算用メモリなどとして用いる書き込みおよび読み出し可能なメモリであり、システム起動時に初期化される。そして、スタンバイＲＡＭ１５は、システムが終了しても供給を継続するスタンバイ電源が接続され、システム終了後も格納されたデータを保持することができるＲＡＭである。
【００４４】
このスタンバイＲＡＭ１５は、学習後の通信マスク時間（Ｔｍａｓｋ）などのデータ保持に用いられる。なお、本発明に係る実施例において各ＥＣＵ１は、このスタンバイＲＡＭ１５を有する構成としているが、車載ＬＡＮに接続される少なくとも一つのＥＣＵ１がスタンバイＲＡＭ１５を有し、かかるスタンバイＲＡＭ１５が保持する通信マスク時間（Ｔｍａｓｋ）を他のＥＣＵ１に通知する構成とすることもできる。
【実施例１】
【００４５】
次に、通信マスク時間の学習処理について図３〜図７を用いてさらに詳細に説明する。なお、本実施例１では、通信マスク時間を学習し、かかる通信マスク時間を延長する場合について説明する。
【００４６】
図３は、本発明の実施例１に係るＥＣＵ１のソフトウェア構成を示すブロック図である。なお、通信開始同期部１００および通信処理部１１０のプログラムは、ＲＯＭ１３に格納されており、実行時にはノーマルＲＡＭ１４上に展開される。また、記憶部１２０の各データは、ＲＯＭ１３、ノーマルＲＡＭ１４あるいはスタンバイＲＡＭ１５に保持される。なお、次回の起動の際に用いられるデータは、電源断後も格納されたデータを保持することができるスタンバイＲＡＭ１５に保持される。
【００４７】
同図に示すように、ＥＣＵ１は、通信開始同期部１００、通信処理部１１０および記憶部１２０を有する。また、通信開始同期部１００は、通信マスク値更新処理部１０１および通信成立時間計測部１０２をさらに有し、記憶部１２０は、通信マスク時間（Ｔｍａｓｋ）１２１をさらに有する。
【００４８】
通信開始同期部１００は、ＥＣＵ１が起動した際に通信処理部１１０が通信処理を開始したならば、通信開始から通信が成立するまでの時間である通信成立時間（Ｔｏｋ)を計測するとともに、かかる通信成立時間（Ｔｏｋ)に基づいて通信マスク時間（Ｔｍａｓｋ）１２１を算出して記憶部１２０に格納する処理部である。
【００４９】
通信マスク値更新処理部１０１は、通信成立時間計測部１０２が計測した通信成立時間（Ｔｏｋ）を取得して、取得した通信成立時間（Ｔｏｋ)に基づいて通信マスク時間（Ｔｍａｓｋ）１２１を算出する。たとえば、学習前の通信マスク時間（Ｔｍａｓｋ）１２１の値が２０ｍｓｅｃであり、計測された通信成立時間（Ｔｏｋ)の値が２ｍｓｅｃであったならば、両者の値を足し合わせた２２ｍｓｅｃを新たな通信マスク時間（Ｔｍａｓｋ）１２１の値として算出する。そして、算出した通信マスク（Ｔｍａｓｋ）１２２を記憶部１２０に格納する。
【００５０】
通信成立時間計測部１０２は、通信開始から通信が成立するまでの時間である通信成立時間（Ｔｏｋ）を、タイマ１１を用いて計測し、かかる計測結果を通信マスク値更新処理部１０１に渡す処理をおこなう。たとえば、通信処理部１１０が１回目の応答要求を車載ＬＡＮに対して送出したならば、この通信成立時間計測部１０２はタイマの計時を開始する。
【００５１】
そして、通信処理部１１０が２回目の応答要求を送信することなく他のＥＣＵ１からの応答を受信して通信が成立したならば、通信成立時間（Ｔｏｋ）の値を０ｍｓｅｃに設定する。また、通信処理部１１０が１ｍｓｅｃ間隔で２回目以降の応答要求を送信し、５回目の応答要求の送出後に通信が成立したならば、通信成立時間（Ｔｏｋ）の値を４ｍｓｅｃに設定する。なお、かかる応答要求の送信間隔は任意の値に設定することができる。
【００５２】
通信処理部１１０は、車載ＬＡＮを介して他のＥＣＵ１とのデータ送受信をおこなう処理部である。この通信処理部１１０は、記憶部１２０から通信マスク時間（Ｔｍａｓｋ）１２１を読み出し、読み出した通信マスク時間（Ｔｍａｓｋ）１２１の期間だけ待ち合せた後に通信処理を開始する。たとえば、通信マスク時間が５ｍｓｅｃであったならば、動作開始後５ｍｓｅｃの期間は通信処理をおこなわず、かかる期間が経過すると定期的に車載ＬＡＮに応答要求を送出する。そして、他のＥＣＵ１から応答を受信して双方向の通信が成立した後は他のＥＣＵ１と双方向のデータ送受信をおこなう。
【００５３】
記憶部１２０は、ＲＯＭ１３、ノーマルＲＡＭ１４あるいはスタンバイＲＡＭ１５上に構成される。たとえば、電源断後も保持され次回の起動の際に用いられるデータは、スタンバイＲＡＭ１５上に保持される。また、静的なデータはＲＯＭ１３に、動的なデータであるが電源断後は用いられないデータはノーマルＲＡＭ１４に、それぞれ保持される。
【００５４】
通信マスク時間（Ｔｍａｓｋ）１２１は、通信マスク値更新処理１０１により算出される時間データであり、通信処理部１１０により用いられる。この通信マスク時間（Ｔｍａｓｋ）１２１は、次回の起動の際に用いられるので保持先はスタンバイＲＡＭ１５となる。
【００５５】
次に、通信マスク時間（Ｔｍａｓｋ）１２１を延長させる必要がある場合の通信マスク時間の学習処理について図４−１および図４−２を用いて説明する。図４−１は、通信マスク時間（Ｔｍａｓｋ）１２１を延長させる必要がある場合の通信マスク時間（Ｔｍａｓｋ）１２１および通信成立時間（Ｔｏｋ)を説明するための説明図であり、図４−２は、学習後の通信マスク時間（Ｔｍａｓｋ）１２１を説明するための説明図である。
【００５６】
図４−１では、ＥＣＵ１がＥＣＵ２よりも先に通信処理を開始した場合におけるＥＣＵ１の通信成立時間（Ｔｏｋ）および通信マスク時間（Ｔｍａｓｋ）１２１について説明している。なお、このＥＣＵ２はＥＣＵ１と同様の構成を有するＥＣＵである。
【００５７】
同図に示すように、ＥＣＵ１が起動するとＥＣＵ１の通信処理部１１０は、記憶部１２０から通信マスク時間（Ｔｍａｓｋ）１２１を読み出し、読み出した通信マスク時間（Ｔｍａｓｋ）１２１の期間だけ待ち合せた後に通信処理を開始する。そして、ＥＣＵ１の通信成立時間計測部１０２は、通信処理を開始してから通信が成立するまでの時間である通信成立時間（Ｔｏｋ)を計測する。つづいて、通信マスク値更新処理部１０１は、この通信成立時間（Ｔｏｋ)に基づいて学習後の通信マスク時間（Ｔｍａｓｋ）１２１を算出し、記憶部１２０の通信マスク時間（Ｔｍａｓｋ）１２１に書込む。
【００５８】
たとえば、同図におけるＴｍａｓｋの値が１０ｍｓｅｃであり、Ｔｏｋの値が３ｍｓｅｃであれば、学習後の通信マスク時間（Ｔｍａｓｋ）１２１の値は１３ｍｓｅｃとなる。そして、この学習後の通信マスク時間（Ｔｍａｓｋ）１２１は、次回の車両システムの起動時にＥＣＵ１が使用することになる。
【００５９】
図４−２に示すように、再度車両システムが起動されＥＣＵ１が起動すると、ＥＣＵ１の通信処理部１１０は、記憶部１２０から通信マスク時間（Ｔｍａｓｋ）１２１を読み出し、読み出した通信マスク時間（Ｔｍａｓｋ）１２１の期間だけ待ち合せた後に通信処理を開始する。学習前の図４−１の場合と異なり、学習後の図４−２の場合には、ＥＣＵ１とＥＣＵ２との通信処理開始時期が近づくので、無駄な通信処理をおこなうことなくＥＣＵ１とＥＣＵ２とは通信を成立させることができる。
【００６０】
次に、本実施例１に係るＥＣＵ１の処理手順について説明する。図５は、実施例１に係るＥＣＵ１の処理手順を示すフローチャートである。
【００６１】
まず、ＥＣＵ１の通信処理部１１０は、記憶部１２０から通信マスク時間（Ｔｍａｓｋ）１２１を読み出す（ステップＳ１０１）。そして、読み出した通信マスク時間（Ｔｍａｓｋ）１２１の値をタイマ１１に設定し（ステップＳ１０２）、Ｔｍａｓｋの経過を待ち合せる（ステップＳ１０３否定）。
【００６２】
そして、Ｔｍａｓｋが経過したならば（ステップＳ１０３肯定）、通信成立時間計測部１０２は、通信成立時間（Ｔｏｋ)の計測処理をおこなう（ステップＳ１０４）。ここで、このステップＳ１０４の処理内容について図６を用いて説明する。図６は、図５に示したＴｏｋ計測処理の処理手順を示すフローチャートである。
【００６３】
図６に示すように、まず、通信成立時間（Ｔｏｋ)に０を設定し（ステップＳ２０１）、通信成立処理を開始する（ステップＳ２０２）。具体的には、ステップＳ２０２では通信処理部１１０が定期的に応答要求を送信するためのタイマ（Ｔｗａｉｔの長さのタイマ）をセットして、１回目の応答要求を送信する。
【００６４】
そして、他のＥＣＵ１から応答を受信したならば通信成立と判定し（ステップＳ２０３肯定）、リターンする。この場合、Ｔｏｋの値は０のままである。一方、応答を受信せずタイマ（Ｔｗａｉｔの長さのタイマ）がタイムアウトしたならば（ステップＳ２０３否定）、ＴｏｋにＴｏｋ＋Ｔｗａｉｔを設定する（ステップＳ２０４）。つづいて、タイマ（Ｔｗａｉｔの長さのタイマ）をセットして応答要求を送信し、Ｔｗａｉｔの期間待ち合せる（ステップＳ２０５）。
【００６５】
そして、再度ステップＳ２０３の処理に戻り、通信が成立するまでステップＳ２０４〜ステップＳ２０５の処理を繰り返す。このようにして、このＴｏｋ計測処理では、通信処理開始から通信成立までの時間を計測し、計測した通信成立時間（Ｔｏｋ）を通信マスク値更新処理部１０１に渡す。
【００６６】
図５に戻り、Ｔｍａｓｋ更新処理（ステップＳ１０５）について説明する。ここで、このステップＳ１０５の処理内容について図７を用いて説明する。図７は、図５に示したＴｍａｓｋ更新処理の処理手順を示すフローチャートである。
【００６７】
図７に示すように、このＴｍａｓｋ更新処理では、通信成立時間計測部１０２から渡されたＴｏｋを用いて通信マスク時間（Ｔｍａｓｋ）１２１の更新をおこなう。具体的には、ＴｍａｓｋにＴｍａｓｋ＋Ｔｏｋを設定する（ステップＳ３０１）。
【００６８】
図５に戻り、ステップＳ１０６について説明する。Ｔｏｋの計測処理をおこない（ステップＳ１０４）、計測されたＴｏｋに基づいてＴｍａｓｋの更新処理をおこなうと（ステップＳ１０５）、ＥＣＵ１は通常の通信処理を開始する（ステップＳ１０６）。ここで、通常の通信処理とは、双方向の通信が成立した後の通信処理のことを指す。
【００６９】
上述してきたように、本実施例１では、通信マスク時間の学習処理により、通信開始から通信成立までの計測時間である通信成立時間（Ｔｏｋ）を反映して通信マスク時間（Ｔｍａｓｋ）を再計算するよう構成したので、次回の立ち上げ時には、学習後のＴｍａｓｋを用いて通信処理を開始することにより、各ＥＣＵ間の通信開始時間のばらつきを補正して起動時の無駄な通信処理の発生を抑制することができる。また、学習処理により、各ＥＣＵ１は通信マスク時間（Ｔｍａｓｋ）を自律的に設定することとしたので、新規なＥＣＵが車内ＬＡＮに接続された場合であっても保守作業をおこなうことなく適切なマスク時間を自動的に設定することができる。
【００７０】
なお、実施例１では、本発明の特徴部分である、動的に通信マスク時間を変更する学習処理の仕組みを説明するために、最も基本的な場合である通信マスク時間の延長処理について説明した。しかしながら、本発明はこれに限らず、通信マスク時間の短縮処理や、計測誤差や各ＥＣＵ１の動作のばらつきに対応した処理に適用することができる。以下では、これらの処理について詳細に説明する。
【実施例２】
【００７１】
本実施例２では、通信マスク時間を学習し、かかる通信マスクの延長および短縮をする場合について説明する。なお、実施例１と重複する部分の説明については省略あるいは簡単な説明にとどめることとする。
【００７２】
図８は、本発明の実施例２に係るＥＣＵ１のソフトウェア構成を示すブロック図である。なお、通信開始同期部１００および通信処理部１１０のプログラムは、ＲＯＭ１３に格納されており、実行時にはノーマルＲＡＭ１４上に展開される。また、記憶部１２０の各データは、ノーマルＲＡＭ１４またはスタンバイＲＡＭ１５に保持される。なお、電源断後も保持され次回の起動の際に用いられるデータは、スタンバイＲＡＭ１５に保持される。
【００７３】
同図に示すように、ＥＣＵ１は、通信開始同期部１００、通信処理部１１０および記憶部１２０を有する。また、通信開始同期部１００は、通信マスク値更新処理部１０１および通信成立時間計測部１０２をさらに有し、記憶部１２０は、通信マスク時間（Ｔｍａｓｋ）１２１、マージン時間（α）１２２、短縮時間（β）１２３、最大マスク時間（Ｔｍａｓｋｍａｘ）１２４および最小マスク時間（Ｔｍａｓｋｍｉｎ）１２５をさらに有する。
【００７４】
通信開始同期部１００は、ＥＣＵ１が起動した際に通信処理部１１０が通信処理を開始したならば、通信開始から通信が成立するまでの時間である通信成立時間（Ｔｏｋ)を計測するとともに、かかる通信成立時間（Ｔｏｋ)に基づいて通信マスク時間（Ｔｍａｓｋ）１２１を算出して記憶部１２０に格納する処理部である。
【００７５】
通信マスク値更新処理部１０１は、通信成立時間計測部１０２が計測した通信成立時間（Ｔｏｋ）を取得するとともに、取得した通信成立時間（Ｔｏｋ)に基づいて通信マスク時間（Ｔｍａｓｋ）１２１を算出する処理部である点は実施例１と同様である。
【００７６】
本実施例２では、計測誤差や各ＥＣＵ１の動作のばらつきに対応するためのマージン時間（α）１２２、通信マスク時間（Ｔｍａｓｋ）１２１の短縮に対応するための短縮時間（β）１２３、通信マスク時間（Ｔｍａｓｋ）１２１が異常値となることを防止するための最大マスク時間（Ｔｍａｓｋｍａｘ）１２４および最小マスク時間（Ｔｍａｓｋｍｉｎ）１２５を用いることにより、より適切な通信マスク時間（Ｔｍａｓｋ）１２１を算出することとした。これらのデータ（１２２〜１２５）は、静的なデータであるので保持先はＲＯＭ１３またはスタンバイＲＡＭ１５となる。
【００７７】
マージン時間（α）１２２は、計測誤差や各ＥＣＵ１の動作のばらつきに対応するために用いる静的なデータであり、通信マスク値更新処理部１０１により用いられる。実施例１においては、通信開始から通信成立までの時間をあらわす通信成立時間（Ｔｏｋ)を計測することとしていたが、かかる計測値には誤差が含まれる場合があり、また、通信相手となる他のＥＣＵ１の動作にばらつきが存在する場合もある。このため、計測したＴｏｋと実際の値とを補正するためのマージン時間（α）１２２を導入し、計測したＴｏｋにマージン時間（α）１２２を加えた値を用いることとした。
【００７８】
短縮時間（β）１２３は、通信マスク時間（Ｔｍａｓｋ）１２１が大きな値となりすぎた場合にＴｍａｓｋを短縮するために用いられるステップ時間であり、たとえば、０．５ｍｓｅｃの値をとる。ここで、通信マスク時間（Ｔｍａｓｋ）１２１が大きな値となりすぎた場合とは、システム変更などにより起動速度の遅いＥＣＵ１が起動速度の速いＥＣＵ１に置き換えられた場合や、計測誤差や一時的な障害により通信マスク時間が長めの値をとった場合がある。
【００７９】
最大マスク時間（Ｔｍａｓｋｍａｘ）１２４および最小マスク時間（Ｔｍａｓｋｍｉｎ）１２５は、計測誤差や一時的な障害により通信マスク時間（Ｔｍａｓｋ）１２１が異常値となることを防止するために用いられる。すなわち、通信マスク時間（Ｔｍａｓｋ）１２１は、最小マスク時間（Ｔｍａｓｋｍｉｎ）１２５以上かつ最大マスク時間（Ｔｍａｓｋｍａｘ）１２４以下となるよう調整される。
【００８０】
次に、通信マスク時間（Ｔｍａｓｋ）１２１を短縮させる必要がある場合の通信マスク時間の学習処理について図９−１および図９−２を用いて説明する。図９−１は、通信マスク時間（Ｔｍａｓｋ）１２１を短縮させる必要がある場合の通信マスク時間（Ｔｍａｓｋ）１２１を説明するための説明図であり、図９−２は、学習後の通信マスク時間（Ｔｍａｓｋ）１２１を説明するための説明図である。
【００８１】
図９−１では、ＥＣＵ１がＥＣＵ２よりも遅れて通信処理を開始した場合におけるＥＣＵ１の通信マスク時間（Ｔｍａｓｋ）１２１について説明している。なお、このＥＣＵ２はＥＣＵ１と同様の構成を有するＥＣＵである。
【００８２】
同図に示すように、ＥＣＵ１が起動するとＥＣＵ１の通信処理部１１０は、記憶部１２０から通信マスク時間（Ｔｍａｓｋ）１２１を読み出し、読み出した通信マスク時間（Ｔｍａｓｋ）１２１の期間だけ待ち合せた後に通信処理を開始する。そして、通信相手となるＥＣＵ２は既に通信処理を開始しているためすぐに通信が成立する。しかしながら、ＥＣＵ２はＥＣＵ１との通信が成立するまでの期間は無駄な通信処理をおこなっている。したがって、このような場合には通信マスク時間（Ｔｍａｓｋ）１２１を短縮してＥＣＵの通信処理の開始を早め、ＥＣＵ２の通信処理の開始時期に近づける必要がある。具体的には、通信マスク時間（Ｔｍａｓｋ）１２１から短縮時間（β）１２３を差し引いて新たな通信マスク時間（Ｔｍａｓｋ）１２１とすることによりＴｍａｓｋを短縮する。
【００８３】
図９−２に示すように、再度車両システムが起動されＥＣＵ１が起動すると、ＥＣＵ１の通信処理部１１０は、記憶部１２０から通信マスク時間（Ｔｍａｓｋ）１２１を読み出し、読み出した通信マスク時間（Ｔｍａｓｋ）１２１の期間だけ待ち合せた後に通信処理を開始する。このＴｍａｓｋ値は、前回の起動時のＴｍａｓｋ値から短縮時間（β）１２３を差し引いたものである。したがって、学習前の図９−１の場合よりも、学習後の図９−２の場合のほうがＥＣＵ１とＥＣＵ２との通信処理開始時期が近づいており、無駄な通信処理が減少している。そして、車両システムの起動を繰り返すことにより、ＥＣＵ１とＥＣＵ２の通信処理開始時期は一致していくことになる。
【００８４】
次に、本実施例２に係るＥＣＵ１の処理手順について説明する。なお、実施例１に係る処理手順について説明した図５と異なる点は、Ｔｍａｓｋ更新処理（ステップＳ１０５）部分のみであるため、このＴｍａｓｋ更新処理のバリエーションについて図１０〜図１２を用いて説明することとする。
【００８５】
図１０は、図５に示したＴｍａｓｋ更新処理を通信マスク時間の短縮に対応させるよう変更した処理手順を示すフローチャートである。まず、通信マスク値更新処理部１０１は、通信成立時間（Ｔｏｋ)が０であるか否かを判定する（ステップＳ４０１）。そして、通信成立時間（Ｔｏｋ)が０でない場合には（ステップＳ４０１否定）、Ｔｍａｓｋが短すぎる場合であるのでＴｍａｓｋ＋Ｔｏｋ＋αを新たなＴｍａｓｋの値として設定する（ステップＳ４０２）。一方、通信成立時間（Ｔｏｋ)が０である場合には（ステップＳ４０１肯定）、Ｔｍａｓｋ−βを新たなＴｍａｓｋの値として設定する（ステップＳ４０３）。
【００８６】
このように、通信成立時間（Ｔｏｋ）が０であるか否かにより、Ｔｍａｓｋを延長あるいは短縮することとしたので、Ｔｍａｓｋが短すぎる場合のみならず長すぎる場合であっても適切なＴｍａｓｋを算出することができる。また、通信成立時間（Ｔｏｋ）にマージン時間（α）１２２を加えた値を用いることとしたので、計測誤差や他ＥＣＵ１の動作のばらつきによる通信成立時間（Ｔｏｋ）のずれを補正することができる。
【００８７】
次に、図１０に示したＴｍａｓｋ更新処理の変形例について図１１を用いて説明する。図１１は、図１０に示したＴｍａｓｋ更新処理の変形例１の処理手順を示すフローチャートである。図１０においては、Ｔｍａｓｋが長すぎる場合に短縮時間（β）１２３をＴｍａｓｋから差し引いて新たなＴｍａｓｋ値とした。しかしながら、Ｔｍａｓｋを短縮する学習を頻繁に実施すると計測誤差などの影響を反映しやすいためＴｍａｓｋを短すぎる値に設定する頻度が高くなる傾向があり、かえって不要な通信処理が増加する場合がある。そこで、図１１に示すＴｍａｓｋ更新処理では、Ｔｍａｓｋを短縮する学習の実行頻度を抑える処理を追加した。
【００８８】
図１１に示すように、まず、通信マスク値更新処理部１０１は、通信成立時間（Ｔｏｋ)が０であるか否かを判定する（ステップＳ５０１）。そして、通信成立時間（Ｔｏｋ)が０でない場合は（ステップＳ５０１否定）、Ｔｍａｓｋが短すぎる場合であるのでＴｍａｓｋ＋Ｔｏｋ＋αを新たなＴｍａｓｋの値として設定する（ステップＳ５０５）。そして、Ｔｍａｓｋを短縮する学習の実行回数をあらわすｃｎｔに０を設定して（ステップＳ５０６）リターンする。
【００８９】
ここで、ｃｎｔは、Ｔｍａｓｋを短縮する処理（ステップＳ５０４）を計数するためのカウンタであり、次回の起動の際に用いられるので保持先はスタンバイＲＡＭ１５となる。また、ステップ５０５で用いられるＮは、Ｎ回に１回の割合でＴｍａｓｋを短縮する処理（ステップＳ５０４）を実行させるための数値データである。このデータは、静的なデータであるので保持先はＲＯＭ１３またはスタンバイＲＡＭ１５となる。
【００９０】
そして、通信成立時間（Ｔｏｋ)が０である場合には（ステップＳ５０１肯定）、ｃｎｔの値を１増加させる（ステップＳ５０２）。つづいて、このｃｎｔがＮよりも大きいか否かを判定し（ステップＳ５０３）、ｃｎｔがＮ以下であれば（ステップＳ５０３否定）リターンする。
【００９１】
一方、かかるｃｎｔがＮよりも大きければ（ステップＳ５０３肯定）、Ｔｍａｓｋ−βを新たなＴｍａｓｋの値として設定する（ステップＳ５０４）。そして、ｃｎｔの値を０に設定して（ステップＳ５０６）リターンする。
【００９２】
このように、Ｔｍａｓｋを短縮する学習の実行回数をあらわすｃｎｔを用いて、Ｎ回に１回の割合でＴｍａｓｋを短縮する処理（ステップＳ５０４）を実行することとしたので、Ｔｍａｓｋを短縮する学習を頻繁に実施することによる不要な通信処理の増加を抑制することができる。
【００９３】
次に、図１０に示したＴｍａｓｋ更新処理の２つめの変形例について図１２を用いて説明する。図１２は、図１０に示したＴｍａｓｋ更新処理の変形例２の処理手順を示すフローチャートである。図１０においては、Ｔｍａｓｋを延長する処理（ステップＳ４０２）およびＴｍａｓｋを短縮する処理（ステップＳ４０３）をおこなっていたが、計測誤差や一時的な障害の発生によりＴｍａｓｋ値が異常な値となる場合がある。このような場合には、かえって不要な通信処理が発生してしまうためＴｍａｓｋがとりうる値に制限をかける必要がある。そこで、図１２に示すＴｍａｓｋ更新処理では、Ｔｍａｓｋがとりうる値に制限をかける処理を追加した。
【００９４】
図１２に示すように、まず、通信マスク値更新処理部１０１は、通信成立時間（Ｔｏｋ)が０であるか否かを判定する（ステップＳ６０１）。そして、通信成立時間（Ｔｏｋ)が０でない場合は（ステップＳ６０１否定）、Ｔｍａｓｋが短すぎる場合であるのでＴｍａｓｋ＋Ｔｏｋ＋αを新たなＴｍａｓｋの値として設定する（ステップＳ６０２）。一方、通信成立時間（Ｔｏｋ)が０である場合には（ステップＳ６０１肯定）、Ｔｍａｓｋ−βを新たなＴｍａｓｋの値として設定する（ステップＳ６０３）。
【００９５】
そして、Ｔｍａｓｋの延長処理（ステップＳ６０２）またはＴｍａｓｋの短縮処理（ステップＳ６０３）が完了すると、更新されたＴｍａｓｋの値が最小マスク時間（Ｔｍａｓｋｍｉｎ）１２５よりも小さいか否かを判定する（ステップＳ６０４）。そして、Ｔｍａｓｋの値が最小マスク時間（Ｔｍａｓｋｍｉｎ）１２５よりも小さい場合には（ステップＳ６０４肯定）、Ｔｍａｓｋｍｉｎを新たなＴｍａｓｋの値として設定する（ステップＳ６０５）。一方、Ｔｍａｓｋの値が最小マスク時間（Ｔｍａｓｋｍｉｎ）１２５以上の場合にはステップＳ６０５の処理をおこなわない。
【００９６】
つづいて、Ｔｍａｓｋの値が最大マスク時間（Ｔｍａｓｋｍａｘ）１２４よりも大きいか否かを判定する（ステップＳ６０６）。そして、Ｔｍａｓｋの値が最大マスク時間（Ｔｍａｓｋｍａｘ）１２４よりも大きい場合には（ステップＳ６０６肯定）、Ｔｍａｓｋｍａｘを新たなＴｍａｓｋの値として設定して（ステップＳ６０７）リターンする。一方、Ｔｍａｓｋの値が最大マスク時間（Ｔｍａｓｋｍａｘ）１２４以上の場合にはステップＳ６０７の処理をおこなうことなくリターンする。
【００９７】
このように、通信マスク時間（Ｔｍａｓｋ）１２１を、最小マスク時間（Ｔｍａｓｋｍｉｎ）１２５以上かつ最大マスク時間（Ｔｍａｓｋｍａｘ）１２４以下となるよう処理したので、通信マスク時間（Ｔｍａｓｋ）１２１が異常な値をとることにより不要な通信処理が発生することを抑制することができる。
【００９８】
なお、図１２においては、説明を解りやすくするために、図１１で説明した「Ｔｍａｓｋを短縮する学習の実行頻度を抑える処理」を含まない構成について説明した。しかしながら、Ｔｍａｓｋを短縮する学習の実行頻度を抑える処理を含む構成とすることもできる。なお、Ｔｍａｓｋを短縮する学習の実行頻度を抑える処理を含める場合には、図１２のステップＳ６０１〜Ｓ６０３の処理を、図１１のステップＳ５０１〜ステップＳ５０６の処理に置き換えることになる。
【００９９】
次に、本発明の実施例に係る通信監視処理の開始時期について図１３を用いて説明する。図１３は、本発明の実施例に係る通信監視処理の開始時期を説明するための説明図である。ＥＣＵ１の通信処理部１１０では、通信エラーを検出するための通信監視処理をおこなうことが通常である。しかしながら、通信処理を開始してから通信が成立するまでの間に通信エラーを検出してしまうと、正常な処理であるにもかかわらずエラー処理がおこなわれてしまうという不都合が生ずる。
【０１００】
そこで、図１３に示すように、通信成立のための処理を開始してから、通信が成立するまでの間は通信監視処理をおこなわず、通信が成立した後に通信監視処理をおこなうこととした。このようにすることで、通信成立のための処理中に通信エラーを検出することなく、通信が成立した後の通信エラーを効率的に検出することができる。なお、この通信監視処理は、図５に示した通常の通信処理開始（ステップＳ１０６）以降におこなわれることになる。
【０１０１】
上述してきたように、本実施例２では、通信成立時間（Ｔｏｋ）に加えて、計測誤差や各ＥＣＵ１の動作のばらつきに対応するためのマージン時間（α）、通信マスク時間（Ｔｍａｓｋ）の短縮に対応するための短縮時間（β）、通信マスク時間（Ｔｍａｓｋ）が異常値となることを防止するための最大マスク時間（Ｔｍａｓｋｍａｘ）および最小マスク時間（Ｔｍａｓｋｍｉｎ）を用いることにより、通信マスク時間（Ｔｍａｓｋ）を算出するよう構成したので、より適切な通信マスク時間（Ｔｍａｓｋ）を用いることにより起動時の無駄な通信処理の発生を効果的に抑制することができる。
【０１０２】
なお、上述した実施例においては、図３に示したソフトウェアを図２に示したＥＣＵ１のハードウェア上に構成する場合について説明したが、ＥＣＵ１内に独立した通信同期装置を構成し、かかる装置上で図３に示したソフトウェアを実行させる構成とすることとしてもよい。
【産業上の利用可能性】
【０１０３】
以上のように、本発明にかかる通信同期装置、通信同期システム、通信同期方法および通信同期プログラムは、ネットワーク上の通信装置の通信開始同期処理に有用であり、特に、車載ＬＡＮ上のＥＣＵの通信開始同期処理に適している。
【図面の簡単な説明】
【０１０４】
【図１】本発明の特徴部分である通信マスク時間の学習処理の概要を説明するための説明図である。
【図２】本発明の実施例に係るＥＣＵのハードウェア構成およびネットワーク構成を示すブロック図である。
【図３】本発明の実施例１に係るＥＣＵ１のソフトウェア構成を示すブロック図である。
【図４−１】通信マスク時間を延長させる必要がある場合の通信マスク時間および通信成立時間を説明するための説明図である。
【図４−２】学習後の通信マスク時間を説明するための説明図である。
【図５】実施例１の通信開始同期部の処理手順を示すフローチャートである。
【図６】図５に示したＴｏｋ計測処理の処理手順を示すフローチャートである。
【図７】図５に示したＴｍａｓｋ更新処理の処理手順を示すフローチャートである。
【図８】本発明の実施例２に係る通信開始同期部のソフトウェア構成を示すブロック図である。
【図９−１】通信マスク時間を短縮させる必要がある場合の通信マスク時間を説明するための説明図である。
【図９−２】学習後の通信マスク時間を説明するための説明図である。
【図１０】図５に示したＴｍａｓｋ更新処理を通信マスク時間の短縮に対応させるよう変更した処理手順を示すフローチャートである。
【図１１】図１０に示したＴｍａｓｋ更新処理の変形例１の処理手順を示すフローチャートである。
【図１２】図１０に示したＴｍａｓｋ更新処理の変形例２の処理手順を示すフローチャートである。
【図１３】本発明の実施例に係る通信監視処理の開始時期を説明するための説明図である。
【符号の説明】
【０１０５】
１  電子制御装置（ＥＣＵ）
２  電子制御装置（ＥＣＵ）
１０  中央処理装置（ＣＰＵ）
１１  タイマ
１２  通信コントローラ
１３  ＲＯＭ
１４  ノーマルＲＡＭ
１５  スタンバイＲＡＭ
１００  通信開始同期部
１０１  通信マスク値更新処理部
１０２  通信成立時間計測部
１１０  通信処理部
１２０  記憶部
１２１  通信マスク時間（Ｔｍａｓｋ）
１２２  マージン時間（α）
１２３  短縮時間（β）
１２４  最大マスク時間（Ｔｍａｓｋｍａｘ）
１２５  最小マスク時間（Ｔｍａｓｋｍｉｎ）
【図１】
2006140739.tif 000003
【図２】
2006140739.tif 000004
【図３】
2006140739.tif 000005
【図４−１】
2006140739.tif 000006
【図４−２】
2006140739.tif 000007
【図５】
2006140739.tif 000008
【図６】
2006140739.tif 000009
【図７】
2006140739.tif 000010
【図８】
2006140739.tif 000011
【図９−１】
2006140739.tif 000012
【図９−２】
2006140739.tif 000013
【図１０】
2006140739.tif 000014
【図１１】
2006140739.tif 000015
【図１２】
2006140739.tif 000016
【図１３】
2006140739.tif 000017