(57)【特許請求の範囲】
【請求項１】
データフレームを間欠受信する受信側の他の通信装置との間で、所定の制御フレーム送信期間に亘ってデータフレームの送信に先立って同期を取るための制御フレームを連続送信する通信装置において、
データフレームの要求先に対して、上記制御フレーム送信時間に亘って上記制御フレームを送信させ、上記制御フレームの送信完了後にデータフレームを送信させる通信制御手段と、
上記制御フレーム又は上記データフレームを送信する送信手段と、
他の通信装置から送信されたフレームを受信する受信手段と、
少なくとも、上記データフレームの送信のたびに上記制御フレームを送信した上記制御フレーム送信期間及び上記データフレームの送信結果を宛先アドレス毎に保存する制御フレーム送信情報保存手段と、
上記制御フレーム送信情報保存手段を参照して、過去の上記制御フレーム送信期間及び上記データフレームの送信結果に基づいて、次回の上記制御フレーム送信時間を決定する制御フレーム送信制御手段と
を備えることを特徴とする通信装置。
【請求項２】
上記制御フレーム送信制御手段が、前回の上記データフレームの送信の成否に応じて、次回の上記制御フレーム送信時間を変更するものであることを特徴とする請求項１に記載の通信装置。
【請求項３】
上記制御フレーム送信制御手段が、他の通信装置から受信した上記データフレームに対する応答フレームに含まれる、上記データフレームの送信タイミングと間欠受信タイミングとの同期ずれ量に基づいて、次回の上記制御フレーム送信時間を変更するものであることを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
上記制御フレーム送信制御手段が、上記同期ずれ量が閾値を超えている場合に、上記次回の制御フレーム送信時間を直前の制御フレーム送信時間よりも長く変更することを特徴とする請求項３に記載の通信装置。
【請求項５】
上記制御フレーム送信制御手段が、上記同期ずれ量が閾値以下の場合に、上記次回の制御フレーム送信時間を直前の制御フレーム送信時間よりも短くすることを特徴とする請求項３又は４に記載の通信装置。
【請求項６】
上記制御フレーム送信情報保存手段が、上記データフレームの送信時刻を保存するものであり、
上記制御フレーム送信制御手段が、上記制御フレーム送信情報保存手段を参照して、前回の上記データフレームの送信時刻から今回の上記データフレームの送信時刻までの送信間隔時間に基づいて、上記制御フレーム送信時間を変更することを特徴とする請求項１〜３のいずれかに記載の通信装置。
【請求項７】
上記制御フレーム送信制御手段が、今回の上記送信間隔時間が閾値を超えている場合、上記制御フレーム送信時間を直前の制御フレーム送信時間よりも長くすることを特徴とする請求項６に記載の通信装置。
【請求項８】
上記制御フレーム送信制御手段が、今回の上記送信間隔時間が閾値以下の場合、上記制御フレーム送信時間を直前の制御フレーム送信時間よりも短くすることを特徴とする請求項６又は７に記載の通信装置。
【請求項９】
上記制御フレーム送信制御手段が、今回の上記送信間隔時間が閾値以下の場合、上記制御フレーム送信時間の値を上記閾値とすることを特徴とする請求項８に記載の通信装置。
【請求項１０】
上記制御フレーム送信制御手段が、上記制御フレームと上記データフレームとが含まれるフレーム送信時間を決定することを特徴とする請求項１〜１０に記載の通信装置。
【請求項１１】
データフレームを間欠受信する受信側の他の通信装置との間で、所定の制御フレーム送信期間に亘ってデータフレームの送信に先立って同期を取るための制御フレームを連続送信する通信プログラムにおいて、
コンピュータを、
データフレームの要求先に対して、上記制御フレーム送信時間に亘って上記制御フレームを送信させ、上記制御フレームの送信完了後にデータフレームを送信させる通信制御手段と、
上記制御フレーム又は上記データフレームを送信する送信手段と、
他の通信装置から送信されたフレームを受信する受信手段と、
少なくとも、上記データフレームの送信のたびに上記制御フレームを送信した上記制御フレーム送信期間及び上記データフレームの送信結果を宛先アドレス毎に保存する制御フレーム送信情報保存手段と、
上記制御フレーム送信情報保存手段を参照して、過去の上記制御フレーム送信期間及び上記データフレームの送信結果に基づいて、次回の上記制御フレーム送信時間を決定する制御フレーム送信制御手段と
して機能させることを特徴とする通信プログラム。
【請求項１２】
データフレームを間欠受信する受信側の他の通信装置との間で、所定の制御フレーム送信期間に亘ってデータフレームの送信に先立って同期を取るための制御フレームを連続送信する通信方法において、
通信制御手段が、データフレームの要求先に対して、上記制御フレーム送信時間に亘って上記制御フレームを送信させ、上記制御フレームの送信完了後にデータフレームを送信させ、
送信手段が、上記制御フレーム又は上記データフレームを送信し、
受信手段が、他の通信装置から送信されたフレームを受信し、
制御フレーム送信情報保存手段が、少なくとも、上記データフレームの送信のたびに上記制御フレームを送信した上記制御フレーム送信期間及び上記データフレームの送信結果を宛先アドレス毎に保存し、
制御フレーム送信制御手段が、上記制御フレーム送信情報保存手段を参照して、過去の上記制御フレーム送信期間及び上記データフレームの送信結果に基づいて、次回の上記制御フレーム送信時間を決定する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、プログラム及び方法に関し、例えば、間欠的にフレームを受信する通信装置に適用し得るものである。
【背景技術】
【０００２】
例えば、ＩＥＥＥ８０２．１５．４では、ＭＡＣ層への様々な追加機能が規定されており、省電力化を図るために、間欠的にフレームを受信する間欠受信方式の１つとして、Ｃｏｏｒｄｉｎａｔｅｄ  Ｓａｍｐｌｅｄ  Ｌｉｓｔｅｎｉｎｇ（ＣＳＬ）ＣＳＬという技術がある（非特許文献１参照）。
【０００３】
ＣＳＬに対応可能な通信装置を有する送信機と受信機との間のデータフレームの通信手順を簡単に説明する。
【０００４】
データフレームを含む信号を送信しようとする送信機は、まず、非同期送信モードで、最大ＣＳＬ受信周期（ｍａｘＣＳＬＰｅｒｉｏｄ）の間、データフレームの送信開始時刻（ランデブー時間）が記述されたウェイクアップフレーム（ＷａｋｅＵＰフレーム）を含む信号を連続送信し、最大ＣＳＬ受信周期の期間が経過すると、送信機はデータフレームを送信する。
【０００５】
受信機は、ＣＳＬ受信周期のうち、ウェイクアップフレーム受信区間の時間だけ受信待機状態となり、それ以外の時間は受信動作を行わない。受信待機中に、受信機がウェイクアップフレームを受信できれば、ランデブー時間の直前から受信待機状態に遷移することで、送信機からのデータフレームを受信することができる。
【０００６】
受信機は、受信したデータフレームにＡｃｋｎｏｗ１ｅｄｇｅｍｅｎｔ（ＡＣＫ）返送要求がある場合、当該受信機のＣＳＬ受信周期と、受信したウェイクアップフレーム中のランデブー時間（つまり、ウェイクアップフレーム中の同期情報の時刻と受信時刻とのずれを表すＣＳＬフェーズ（ＣＳＬＰｈａｓｅ））とを含むＡＣＫを返送する。
【０００７】
送信機は、受信機からＡＣＫを受信しなければ、次のデータフレーム送信時も再び非同期通信モードで、ウェイクアップフレーム及びデータフレームを受信機に送信する。
【０００８】
一方、送信機は、受信機からＡＣＫを受信すれば、受信機のＣＳＬ受信周期、ＣＳＬフェーズを保持して、受信機との間の同期補正を行う。そして、次のデータフレーム送信時に、送信機は、補正後の送信タイミングに、同期通信モードで、ウェイクアップフレーム及びデータフレームの送信を行う。
【０００９】
非特許文献１には、同期通信モード時のウェイクアップフレームの送信回数について特に規定されていない。同期通信期間は、非同期通信期間に比べて、ウェイクアップフレームの送信回数が大幅に短くて良い。なぜなら、同期補正が可能な回数だけウェイクアップフレームを送信することができればよいからである。例えば、非同期通信モードでウェイクアップフレーム送信時間が１０００ミリ秒であるとすると、同期通信モードでのウェイクアップフレーム送信時間は、１００ミリ秒以下等のように、非同期通信モード時の１０分の１〜１００分の１程度にすることができる。また、例えば、送信機がウェイクアップフレームの送信を３回行い、２番目のフレームでＣＳＬフェーズのＡＣＫ応答がなされて同期が取れているとする。ことき１番目のフレームなら送信機側の方が遅れている、３番目のフレームなら送信機側が進んでいると判断できる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】ＩＥＥＥ  Ｓｔｄ  ８０２．１５．４ｅTM−２０１２（ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｌｏｃａｌ  ａｎｄ  ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋｓ−Ｐａｒｔ１５．４：Ｌｏｗ−Ｒａｔｅ  Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ（ＬＲ−ＷＰＡＮｓ）Ａｍｅｎｄｍｅｎｔ  １：ＭＡＣ  ｓｕｂｌａｙｅｒ）５．１．１１．１章  Ｃｏｏｒｄｉｎａｔｅｄ  ｓａｍｐｌｅｄ  １ｉｓｔｅｎｉｎｇ（ＣＳＬ）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、ウェイクアップフレーム送信時間が短いと、送信機と受信機との間のわずかな同期ずれで、データフレームの送信が失敗してしまうことが生じ得る。
【００１２】
また、ウェイクアップフレーム送信時間は、同期通信モードに比べ非同期通信モードの方がはるかに長いため、非同期通信時によるフレーム送信が頻発すると送信機の電力が消費し、更にネットワーク全体における通信負荷も増大してしまうという問題も生じ得る。
【００１３】
そこで、本発明は、上記課題に鑑み、同期通信を維持したまま、トータルでの制御フレーム送信時間（ウェイクアップフレーム送信時間）の短縮化を図る通信装置、プログラム及び方法を提供しようとするものである。
【課題を解決するための手段】
【００１４】
かかる課題を解決するために、第１の本発明に係る通信装置は、データフレームを間欠受信する受信側の他の通信装置との間で、所定の制御フレーム送信期間に亘ってデータフレームの送信に先立って同期を取るための制御フレームを連続送信する通信装置において、（１）データフレームの要求先に対して、制御フレーム送信時間に亘って制御フレームを送信させ、制御フレームの送信完了後にデータフレームを送信させる通信制御手段と、（２）制御フレーム又は上記データフレームを送信する送信手段と、（３）他の通信装置から送信されたフレームを受信する受信手段と、（４）少なくとも、データフレームの送信のたびに制御フレームを送信した制御フレーム送信期間及びデータフレームの送信結果を宛先アドレス毎に保存する制御フレーム送信情報保存手段と、（５）制御フレーム送信情報保存手段を参照して、過去の制御フレーム送信期間及びデータフレームの送信結果に基づいて、次回の制御フレーム送信時間を決定する制御フレーム送信制御手段とを備えることを特徴とする。
【００１５】
第２の本発明に係る通信プログラムは、データフレームを間欠受信する受信側の他の通信装置との間で、所定の制御フレーム送信期間に亘ってデータフレームの送信に先立って同期を取るための制御フレームを連続送信する通信プログラムにおいて、コンピュータを、（１）データフレームの要求先に対して、制御フレーム送信時間に亘って制御フレームを送信させ、制御フレームの送信完了後にデータフレームを送信させる通信制御手段と、（２）制御フレーム又はデータフレームを送信する送信手段と、（３）他の通信装置から送信されたフレームを受信する受信手段と、（４）少なくとも、データフレームの送信のたびに制御フレームを送信した制御フレーム送信期間及びデータフレームの送信結果を宛先アドレス毎に保存する制御フレーム送信情報保存手段と、（５）制御フレーム送信情報保存手段を参照して、過去の制御フレーム送信期間及びデータフレームの送信結果に基づいて、次回の制御フレーム送信時間を決定する制御フレーム送信制御手段として機能させることを特徴とする。
【００１６】
第３の本発明に係る通信方法は、データフレームを間欠受信する受信側の他の通信装置との間で、所定の制御フレーム送信期間に亘ってデータフレームの送信に先立って同期を取るための制御フレームを連続送信する通信方法において、（１）通信制御手段が、データフレームの要求先に対して、制御フレーム送信時間に亘って制御フレームを送信させ、制御フレームの送信完了後にデータフレームを送信させ、（２）送信手段が、制御フレーム又はデータフレームを送信し、（３）受信手段が、他の通信装置から送信されたフレームを受信し、（４）制御フレーム送信情報保存手段が、少なくとも、データフレームの送信のたびに制御フレームを送信した制御フレーム送信期間及びデータフレームの送信結果を宛先アドレス毎に保存し、（５）制御フレーム送信制御手段が、制御フレーム送信情報保存手段を参照して、過去の制御フレーム送信期間及びデータフレームの送信結果に基づいて、次回の制御フレーム送信時間を決定することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、上記課題に鑑み、同期通信を維持したまま、トータルでの制御フレーム送信時間の短縮化を図ることができる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施形態に係る通信装置の内部構成を示すブロック図である。
【図２】第１の実施形態に係る通信装置におけるフレームの送信処理の動作を示すフローチャートである。
【図３】第１の実施形態に係るウェイクアップフレーム送信時間の変更処理を説明する説明図である。
【図４】図３の送信ノード（ノードＡ）の受信ノード（ノードＢ）に対する同期フレーム送信情報の構成を説明する説明図である。
【図５】第２の実施形態に係る通信装置の内部構成を示すブロック図である。
【図６】第２の実施形態に係る通信装置におけるフレームの送信処理の動作を示すフローチャートである。
【図７】第２の実施形態に係るウェイクアップフレーム送信時間の変更処理を説明する説明図である（その１）。
【図８】第２の実施形態に係るウェイクアップフレーム送信時間の変更処理を説明する説明図である（その２）。
【図９】図７及び図８の送信ノード（ノードＡ）の受信ノード（ノードＢ）に対する同期フレーム送信情報の構成を説明する説明図である。
【発明を実施するための形態】
【００１９】
（Ａ）第１の実施形態
以下では、本発明に係る通信装置、プログラム及び方法の第１の実施形態を、図面を参照しながら詳細に説明する。
【００２０】
第１の実施形態は、間欠受信方式としてＣＳＬを採用した通信装置に本発明を適用した実施形態を例示する。
【００２１】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態に係る通信装置の内部構成を示すブロック図である。図１において、第１の実施形態に係る通信装置１は、通信制御部１１、フレーム受信部１２、フレーム解析部１３、同期フレーム送信制御部１４、フレーム送信時間判定部１５、フレーム生成部１６、フレーム送信部１７、同期情報保存部１８、同期フレーム送信情報保存部１９を有する。
【００２２】
通信装置１は、例えば、対向するノードに対して情報を送受信するノードに搭載されるものである。ノードは、通信機能を有するものであり、例えば、センサーデータを送受信する送受信機、データフレームを中継する中継装置（ゲートウェイ、ルータ、スイッチ装置等を含む。）、パーソナルコンピュータ、スマートフォン、タブレット端末、携帯端末、ウェラブル端末等を適用することができる。また、通信装置１のハードウェアは、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、通信インタフェース等を有する装置を適用でき、ＣＰＵが、必要なデータを用いてＲＯＭに格納される処理プログラムを実行することにより、各種機能が実現される。また、通信装置１の各種機能の処理プログラムをインストールすることにより実現するようにしても良く、その場合でも処理プログラムは図１の処理ブロックとして表わすことができる。
【００２３】
通信制御部１１は、フレームの送受信処理を制御するものである。通信制御部１１は、例えば、ＩＥＥＥ  Ｓｔｄ  ８０２．１５．４ｅに規定されている省電力無線通信方式を採用し、間欠受信方式としてＣＳＬを採用する。
【００２４】
通信制御部１１は、上位レイヤからデータフレームの送信要求があると、その送信要求に係る宛先ノードのアドレス情報を同期フレーム送信制御部１４に与える。また、通信制御部１１は、同期フレーム送信制御部１４からウェイクアップフレーム送信完了通知を受けると、フレーム生成部１７に対して要求された宛先ノードのアドレスを付与させたデータフレームの送信要求を与える。さらに、通信制御部１１は、同期フレーム送信制御部１４からのフレーム送信結果や、フレーム解析部１３からの受信フレームの解析結果情報を、上位レイヤに渡すものである。
【００２５】
フレーム受信部１２は、接続しているネットワークからフレームを受信し、受信フレームをフレーム解析部１３に与えるものである。
【００２６】
フレーム解析部１３は、フレーム受信部１２から取得した受信フレームを解析し、当該受信フレームの送信先が自ノード宛か否かを判断し、自ノード宛の受信フレームであれば、当該受信フレームを通信制御部１１及び同期フレーム送信制御部１４に通知する。
【００２７】
同期フレーム送信制御部１４は、通信制御部１１からデータフレームの送信要求に係る宛先アドレスを取得すると、その宛先アドレスに基づいて、同期フレーム送信情報保存部１９に保存されている同期フレーム送信情報を読み出し、当該宛先ノードとの間で同期がとれているか否かを判断する。また、同期フレーム送信制御部１４は、宛先ノードのとの間で同期がとれているか否かの判断結果に応じて、フレーム送信時間判定部１５により決定されたウェイクアップフレーム（ＷａｋｅＵｐフレーム）送信時間の間、フレーム生成部１６に対して、ウェイクアップフレームの送信要求を連続して通知するものである。
【００２８】
ここで、ウェイクアップフレームは、データフレームに先立って、宛先の通信装置との間で同期をとるためのフレームであり、データフレーム送信時刻までの残り時間を示すランデブー時間（ＲＺＴｉｍｅ）を含むものである。
【００２９】
また、同期フレーム送信制御部１４は、ウェイクアップフレーム送信時間の間、ウェイクアップフレームの送信が完了すると、ウェイクアップフレーム送信完了通知を通信制御部１１に与える。
【００３０】
フレーム送信時間判定部１５は、同期フレーム送信情報保存部１９に保存されている情報を用いて、宛先アドレス毎に前回のフレーム送信が成功したか否かを判断して、ウェイクアップフレーム送信時間を宛先アドレス毎に決定又は変更するものである。
【００３１】
ここで、フレーム送信時間判定部１５によるウェイクアップフレーム送信時間の算出方法は、同期フレーム送信情報保存部１９に保存されている前回のフレーム送信の成否に基づいてなされる。つまり、同期フレーム送信情報保存部１９には、宛先アドレス毎のウェイクアップフレーム送信時間が保存されている。また、当初のウェイクアップフレーム送信時間として初期値が設定されていても良い。フレーム送信時間判定部１５は、宛先ノードのアドレス情報に対応する前回のウェイクアップフレーム送信時間を読み出して、次回のウェイクアップフレーム送信時間を決定する。
【００３２】
前回のフレーム送信が成功した場合（宛先ノードからＡＣＫフレームの受信があった場合）には、フレーム送信時間判定部１５は、前回のウェイクアップフレーム送信時間を参照して、次回のウェイクアップフレーム送信時間を決定する。また、フレーム送信時間判定部１５は、必要に応じて、次回のウェイクアップフレーム送信時間を短縮したり又は同値としたりする。
【００３３】
一方、前回のフレーム送信が失敗した場合（宛先ノードからＡＣＫフレームの受信がなかった場合）、フレーム送信時間判定部１５は、当該宛先ノードのウェイクアップ送信時間の時間長が前回よりも長くなるように、次回のウェイクアップフレーム送信時間を変更するものである。例えば、フレーム送信時間判定部１５は、前回のウェイクアップフレーム送信時間に対して所定の倍数を乗じた値を、次回のウェイクアップフレーム送信時間として更新する。これにより、対向するノード（受信ノード）がウェイクアップフレームの受信可能性を高めることができる。ただし、非同期通信時のウェイクアップフレームの送信時間よりかは短い時間とする。
【００３４】
なお、この実施形態では、宛先アドレスへの前回のフレーム送信が失敗した場合に、次回のウェイクアップフレーム送信時間を延長するために、現在のウェイクアップフレーム送信時間に所定値を乗じた値（すなわち、所定倍数にした時間）を、次回のウェイクアップフレーム送信時間とするが、ウェイクアップフレーム送信時間を延長することができるのであれば、所定時間だけ加算するようにしても良いし、又所定の演算式を用いて、時間長を長くしたウェイクアップフレーム送信時間を算出するようにしても良い。
【００３５】
フレーム生成部１６は、通信制御部１１から送信要求を受けると、送信フレームを生成して、その生成したフレームをフレーム送信部１７に与える。
【００３６】
フレーム送信部１７は、フレーム生成部１６により生成されたフレームをネットワークに送信するものである。
【００３７】
同期情報保存部１８は、宛先ノードのアドレス毎に、ＣＳＬフェーズ、最終送信時刻等の同期情報を保存するものである。
【００３８】
同期フレーム送信情報保存部１９は、条件毎のウェイクアップフレーム送信時間の相関性に関する情報を保存するものである。例えば、同期フレーム送信情報は、送信エラーが１回ならばウェイクアップフレーム送信時間は５０ミリ秒、２回連続なら１００ミリ秒といった内容を記述しておく。
【００３９】
同期情報保存部１８と同期フレーム送信情報保存部１９とは兼用したものであってもよい。つまり、同期フレーム送信情報保存部１９内は全て宛先アドレス毎に管理するようにしてもよい。例えば、図４のように宛先アドレスと、ＣＳＬフェーズ、最終送信時刻、ウェイクアップフレーム送信時間といった同期情報を記述する。
【００４０】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態に係る通信装置１におけるフレームの送信処理の動作を、図面を参照しながら詳細に説明する。
【００４１】
図２は、第１の実施形態に係る通信装置１におけるフレームの送信処理の動作を示すフローチャートである。
【００４２】
図２において、データの宛先ノードに対するフレーム送信要求が、上位レイヤから通信制御部１１に与えられると（Ｓ１０１）、通信制御部１１は、当該宛先ノードに対するフレーム送信処理を開始する。
【００４３】
フレーム送信要求に係る宛先ノードのアドレス情報（以下、宛先アドレスという。）が、通信制御部１１から同期フレーム送信制御部１４に与えられる。同期フレーム送信制御部１４では、取得した宛先アドレスに基づいて、対応する同期情報の有無を同期情報保存部１８から検索する（Ｓ１０２）。すなわち、宛先アドレスのノードとの間で同期状態が取れているか否かを確認する。このとき、同期情報がある場合、処理はＳ１０３に移行し、同期情報がない場合、処理はＳ１０４に移行する。
【００４４】
例えば、同期情報保存部１８には、宛先アドレス毎に、当該ノードと宛先ノードとの間の同期ずれ時間を示すＣＳＬフェーズが保存される。すなわち、前回のフレーム送信処理で、宛先ノードからＣＳＬフェーズを取得した場合、そのＣＳＬフェーズを当該宛先アドレスに対応付けて同期情報保存部１８に保存される。なお、宛先ノードからＣＳＬフェーズを取得していない場合には、当該宛先アドレスにＣＳＬフェーズを対応付けて保持することができないため、例えばブランクとしてもよい。
【００４５】
同期情報保存部１８から当該宛先アドレスに対応付けられた同期情報（ＣＳＬフェーズ）が存在する場合、同期フレーム送信制御部１４により、同期フレーム送信情報保存部１９から当該宛先アドレスに対応する同期フレーム送信情報が取得される（Ｓ１０３）。
【００４６】
ここで、同期フレーム送信情報保存部１９には、前回の宛先ノードから取得したＣＳＬフェーズ、最終送信時刻、ウェイクアップフレーム送信時間が、宛先アドレスに対応付けられて保存されている。従って、同期フレーム送信制御部１４は、読み出した同期フレーム送信情報から、ＣＳＬフェーズ、最終送信時刻、ウェイクアップフレーム送信時間を抽出する。
【００４７】
Ｓ１０４では、同期フレーム送信制御部１４により、宛先ノードとの間の同期ずれの時間を示すＣＳＬフェーズと最終送信時刻とに基づき、次回のデータフレーム送信時刻が算出される。そして、次回のデータフレーム送信時刻から、同期フレーム送信情報に含まれるウェイクアップフレーム送信時間を逆算して、ウェイクアップフレームの送信開始時刻が算出される（Ｓ１０４）。
【００４８】
同期フレーム送信制御部１４により算出されたウェイクアップフレームの送信開始時刻からウェイクアップフレーム送信時間の間、同期フレーム送信制御部１４からフレーム生成部１６に対して、当該宛先ノード宛のウェイクアップフレームの送信要求が連続して通知される。これを受けて、フレーム生成部１６において、当該宛先アドレスを付与したウェイクアップフレームが作成され、このウェイクアップフレームがフレーム送信部１７から送信される（Ｓ１０５）。
【００４９】
なお、Ｓ１０２において同期情報がない場合も、同期フレーム送信制御部１４は、現在の時刻から、初期値として設定されているウェイクアップフレーム送信時間の間、ウェイクアップフレームの送信要求を連続して通知するようにしても良い。つまり、同期情報保存部１８には、宛先ノードからＣＳＬフェーズの取得をしていない場合でも、ウェイクアップフレーム送信時間に初期値を設定しておく。
【００５０】
ウェイクアップフレームの初期値は、従来の非同期送信時のウェイクアップフレーム送信時間（最大ＣＳＬ受信周期  ｍａｘＣＳＬＰｅｒｉｏｄ）よりも短い時間とする。これにより、従来の非同期送信時のウェイクアップフレーム送信時間よりも短い時間で、ウェイクアップフレームの送信を行なうことができる。
【００５１】
ウェイクアップフレームの送信が完了すると、ウェイクアップフレーム送信完了通知が、同期フレーム送信制御部１４から通信制御部１１に通知される。そうすると、通信制御部１１は、フレーム生成部１６に対してデータフレームを生成させる。そして、フレーム生成部１６により、ＡＣＫ要求を付与したデータフレームが生成され、ＡＣＫ要求を付与したデータフレームがフレーム送信部１７から送信される（Ｓ１０６）。このとき、通信制御部１１は、宛先ノードのＣＬＳフェーズ及び最終送信時刻に基づいて同期補正したタイミングで、データフレームを送信させる。
【００５２】
データフレームの送信後所定期間の間に、通信制御部１１は、宛先ノードからのＡＣＫフレームの返信があるか否かを判断する（Ｓ１０７）。
【００５３】
ここで、宛先ノードからのＡＣＫフレームには、少なくとも当該ノード（宛先ノード）のＣＳＬ受信周期（ＣＳＬＰｅｒｉｏｄ）及びＣＳＬフェーズが含まれている。同期フレーム送信制御部１４は、受信したＡＣＫフレームに含まれているＣＳＬ受信周期及びＣＳＬフェーズと、次回のデータフレームの送信時刻を最終送信時刻として、当該宛先アドレスに対応付けて同期情報、同期フレーム送信情報として保存する。
【００５４】
また、ＡＣＫフレームが受信されると、フレーム送信時間判定部１５は次回のフレーム送信が成功したものと判断し、同期フレーム送信情報保存部１９の同期フレーム送信情報のうち、ウェイクアップフレーム送信時間を更新する。このとき、フレーム送信時間判定部１５は、当該宛先ノードへの次回のウェイクアップフレーム送信時間を短縮するように、当該ウェイクアップフレーム送信時間を更新する。
【００５５】
例えば、図２に例示するように、フレーム送信時間判定部１５は、当該ウェイクアップフレーム送信時間が初期値であるか否かを判断し（Ｓ１０８）、ウェイクアップフレーム送信時間が初期値でない場合、次回のウェイクアップフレーム送信時間を短縮する（Ｓ１０９）。また、ウェイクアップフレーム送信時間が初期値である場合、フレーム送信時間判定部１５は、次回のウェイクフレーム送信時間を初期値のままとする（Ｓ１１０）。そして、フレーム送信時間判定部１５は、次回のウェイクアップフレーム送信時間を同期フレーム送信情報保存部１９に保存する（Ｓ１１３）。
【００５６】
ウェイクアップフレーム送信時間の短縮方法は、例えば、ウェイクアップフレーム送信時間を初期値としても良いし、また例えば、現在のウェイクアップフレーム送信時間に所定値を減算したり又は所定値で除算したりしても良い。これは、次回の宛先ノードとの間のフレーム送信処理が成功したため、少なくとも次回のウェイクアップフレーム送信時間で宛先ノードを起動させれば、宛先ノードとの間で同期を取ってデータフレームの送信が可能となり得る。そのため、ウェイクアップフレーム送信時間をなるべく短い時間とするため、次回のウェイクアップフレーム送信時間又はさらに短縮した時間で、ウェイクアップフレームを送信するようにする。
【００５７】
一方、ＡＣＫフレームが受信されない場合、フレーム送信時間判定部１５は次回のフレーム送信が失敗したものと判断する。フレーム送信時間判定部１５は、ＡＣＫフレームの受信がない回数（すなわちフレーム送信の失敗した回数）が所定回数を超えるか否かを判断する（Ｓ１１１）。そして、失敗回数が所定回数未満のとき、フレーム送信時間判定部１５は、前回のウェイクアップフレーム送信時間の時間長よりも長くなるように、次回のウェイクアップフレーム送信時間を延長する（Ｓ１１２）。そして、フレーム送信時間判定部１５は、次回のウェイクアップフレーム送信時間を同期フレーム送信情報保存部１９に保存する（Ｓ１１３）。
【００５８】
なお、失敗回数が所定回数を超える場合、従来と同様に、非同期送信モードで、ウェイクアップフレーム及びデータフレームの送信を行なうようにする。このように、従来は、受信ノードからＡＣＫフレームの返信がない場合は、非同期送信モードで、ウェイクアップフレーム及びデータフレームの送信を行なっていた。しかし、この実施形態では、ＡＣＫフレームの返信がない場合であっても、すぐに非同期送信モードに遷移するのではなく、所定回数だけ連続して同期送信モードでウェイクアップフレーム及びデータフレームの送信を繰り返し、所定回数を超えた場合に、非同期送信モードに遷移する。なお、所定回数は、適宜設定又は変更することができ、例えば５回などと設定することができる。
【００５９】
図３は、第１の実施形態に係るウェイクアップフレーム送信時間の変更処理を説明する説明図である。図４は、図３の送信ノード（ノードＡ）の受信ノード（ノードＢ）に対する同期フレーム送信情報の構成を説明する説明図である。
【００６０】
なお、図３及び図４において、ノードＢ（受信ノード）のアドレスは、「２２２２」であるとする。また、ウェイクアップフレーム送信時間の初期値は１０ｍ秒とする。
【００６１】
図３及び図４において、時刻ｔｓ１の以前は、ノードＡはノードＢからＡＣＫフレームを受信していない。時刻ｔｓ１で、ノードＡがノードＢからＡＣＫフレームを受信したとする。そうすると、フレーム送信判定部１５は、ウェイクアップフレーム送信時間を初期値（この場合、例えば１０ミリ秒）に更新し、更新後のウェイクアップフレーム送信時間が同期フレーム送信情報に保存される。
【００６２】
時刻ｔｓ２では、同期フレーム送信制御部１４が、同期フレーム送信情報から前回（すなわち、時刻ｔｓ１）のウェイクアップフレーム送信時間を読み出し、前回のウェイクアップフレーム送信時間の１０ミリ秒の間、ウェイクアップフレームの送信を連続して送信させる。図３に示すように、時刻ｔｓ２で、ノードＢからＡＣＫフレームを受信できなかったとする。そうすると、フレーム送信判定部１５は、ウェイクアップフレーム送信時間の時間長が長くなるように、前回のウェイクアップフレーム送信時間の１０ミリ秒を２倍して、次回のウェイクアップフレーム送信時間を２０ミリ秒に延長（更新）し、更新後のウェイクアップフレーム送信時間を同期フレーム送信情報に保存する。
【００６３】
時刻ｔｓ３では、同期フレーム送信制御部１４が、同期フレーム送信情報から前回（すなわち、時刻ｔｓ２）のウェイクアップフレーム送信時間を読み出し、前回のウェイクアップフレーム送信時間の１０ミリ秒の間、ウェイクアップフレームの送信を連続して送信させる。時刻ｔｓ２で、１０ミリ秒のウェイクアップフレーム送信でエラーとなっているため、次回（時刻ｔｓ３）も１０ミリ秒のウェイクアップフレーム送信をすると、ＡＣＫフレームの受信ができず、エラーとなる可能性が高い。そこで、２０ミリ秒のウェイクアップフレーム送信時間の間、ウェイクアップフレームを送信することで、ノードＡはノードＢとの間で同期を取りやすくなる。時刻ｔｓ３でノードＢからＡＣＫフレームを受信したとすると、フレーム送信判定部１５は、ウェイクアップフレーム送信時間の時間長を初期値に短縮し、更新後のウェイクアップフレーム送信時間を同期フレーム送信情報保存する。
【００６４】
時刻ｔｓ４では、同期フレーム送信制御部１４が、同期フレーム送信情報から前回（すなわち、時刻ｔｓ３）のウェイクアップフレーム送信時間を読み出し、前回のウェイクアップフレーム送信時間の１０ミリ秒の間、ウェイクアップフレームの送信を連続して送信させる。
【００６５】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、フレーム送信エラーがあった、次のフレーム送信時に、ウェイクアップフレーム送信時間を長くすることにより、同期補正が取れていなかったり、又は周囲の環境による一時的なフレーム送信タイミングが前後してずれてしまったりする場合でも、フレーム送信が成功する確率が高くなり、非同期通信モードに遷移する確率が減少する。その結果、トータルでのフレーム送信回数は減少できるという効果が得られる。
【００６６】
（Ｂ）第２の実施形態
次に、本発明に係る通信装置、プログラム及び方法の第２の実施形態を、図面を参照しながら詳細に説明する。
【００６７】
（Ｂ−１）第２の実施形態の構成
図５は、第２の実施形態に係る通信装置の内部構成を示すブロック図である。図５において、第２の実施形態に係る通信装置１Ａは、通信制御部１１、フレーム受信部１２、フレーム解析部１３、同期フレーム送信制御部１４Ａ、フレーム送信時間判定部１５、フレーム生成部１６、フレーム送信部１７、同期情報保存部１８、同期フレーム送信情報保存部１９、同期確率判定部２１を有する。第２の実施形態に係る通信装置１Ａは、第１の実施形態に係る図１の通信装置１の内部構成に加えて、同期確率判定部２１を有する。
【００６８】
同期フレーム送信制御部１４Ａは、第１の実施形態と同様に、ウェイクアップフレーム送信時間を算出して、そのウェイクアップフレーム送信時間の間、フレーム生成部１６に対して、ウェイクアップフレームの送信要求を行うものである。同期フレーム送信制御部１４Ａは、同期情報保存部１８に保存されている同期情報から、前回データフレームの最終送信時刻から、今回のデータフレームの送信時刻までの間の時間長（これをデータフレーム送信間隔とも呼ぶ。）を求める。そして、前回のデータフレームを送信した時点で同期情報として保存されている前回送信間隔と、今回のデータフレーム送信間隔とを比較し、その比較結果に応じて、ウェイクアップフレーム送信時間を変更する。
【００６９】
また、同期フレーム送信制御部１４Ａは、同期確率判定部２１により判定された同期ずれ量と閾値との比較結果に応じて、次回のウェイクアップフレーム送信時間を変更する。
【００７０】
同期確率判定部２１は、同期ずれ範囲の予測値を計算し、その同期ずれ範囲の予測値を同期フレーム送信制御部１４Ａに与えるものである。この同期ずれ範囲の予測値の計算方法は、ＡＣＫフレームを受信できているか、またＣＳＬフェーズから同期ずれ状態を判定することで行う。すなわち、ＡＣＫフレームを受信したときに、同期確率判定部２１は、受信したＡＣＫフレームに含まれているＣＳＬフェーズを抽出して同期ずれ状態を判定する。同期ずれ状態は、抽出したＣＳＬフェーズから、最も同期がとれたタイミングからどれだけ同期ずれが生じているか否かを同期ずれ量として求める。
【００７１】
同期フレーム送信情報保存部１９に保存される同期フレーム送信情報として、宛先アドレス毎に、前回データフレーム送信間隔を保存しておく。前回のデータフレーム送信間隔ではなく、同期通信時の最大データフレーム送信間隔を保存しておいてもよい。
【００７２】
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態に係る通信装置１Ａにおけるフレームの送信処理の動作を、図面を参照しながら詳細に説明する。
【００７３】
図６は、第２の実施形態に係る通信装置１におけるフレームの送信処理の動作を示すフローチャートである。図６では、ウェイクアップフレーム送信時間を変更しながら、データフレーム送信する動作を示している。
【００７４】
図６において、第１の実施形態と同様に、上位レイヤからフレーム送信要求があると、通信制御部１１は、当該宛先ノードに対するフレーム送信処理を開始する。
【００７５】
第１の実施形態と同様に、フレーム送信要求に係る宛先アドレスが、通信制御部１１から同期フレーム送信制御部１４Ａに与えられ（Ｓ２０１）、同期フレーム送信制御部１４Ａは、取得した宛先アドレスに基づいて、対応する同期情報の有無を同期情報保存部１８から検索する（Ｓ２０２）。同期情報がある場合、処理はＳ２０３に移行し、同期情報がない場合、処理はＳ２０６に移行する。
【００７６】
同期情報保存部１８に、当該宛先アドレスに対応付けられた同期情報（ＣＳＬフェーズ）が存在する場合、同期フレーム送信制御部１４Ａにより、同期フレーム送信情報保存部１９から当該宛先アドレスに対応する同期フレーム送信情報が取得される（Ｓ２０３）。このとき、同期フレーム送信制御部１４Ａは、取得した同期フレーム送信情報から、前回のデータフレーム送信時刻（最終送信時刻）と今回のデータフレーム送信時刻（次の最終送信時刻）との差分（時間差）をとり、前回のデータフレームを送信し終えてから、次にデータフレームの送信時刻までの時間である前回送信間隔を求める。
【００７７】
ここで、同期フレーム送信情報保存部１９には、前回送信間隔、宛先ノードから取得したＣＳＬフェーズ、最終送信時刻、ウェイクアップフレーム送信時間が、宛先ノードのアドレス情報に対応付けられて保存されている。従って、同期フレーム送信制御部１４は、読み出した同期フレーム送信情報から、前回送信間隔、ＣＳＬフェーズ、最終送信時刻、ウェイクアップフレーム送信時間を抽出する。
【００７８】
同期フレーム送信制御部１４Ａは、同期フレーム情報保存部１８に保存されている前回のデータフレーム送信間隔（前回送信間隔）と、今回のデータフレーム送信間隔とを比較する（Ｓ２０４）。
【００７９】
そして、今回のデータフレーム送信間隔が前回のデータフレーム送信間隔よりも長い場合、同期フレーム送信制御部１４Ａは、ウェイクアップフレーム送信時間が長くなるように、前回のウェイクアップ送信時間に所定値（例えば、所定値「２」とする。）を乗じて、次回のウェイクアップフレーム送信時間を算出する（Ｓ２０５）。
【００８０】
今回のデータフレーム送信間隔が前回のデータフレーム送信間隔よりも短い場合、Ｓ２０６に移行する。Ｓ２０６において、今回のウェイクアップフレーム送信時間を、前回のウェイクアップ送信時間と同じ時間長とする。つまり、同期情報保存部１８に保存されているウェイクアップフレーム送信時間を、今回のウェイクアップフレーム送信時間とする。なお、第１の実施形態と同様に、ウェイクアップ送信時間を所定の時間長だけ短縮したり又は初期値に戻したりしても良い。この実施形態では、前回のウェイクアップ送信時間のままとする場合を例示する。
【００８１】
同期フレーム送信制御部１４Ａは、フレーム生成部１６に対して、Ｓ２０４で算出したウェイクアップフレーム送信時間の間、ウェイクアップフレームを連続して送信させる（Ｓ２０７）。ウェイクアップフレームの送信完了後、同期フレーム送信制御部１４Ａは、ウェイクアップフレーム送信完了通知を通信制御部１１に与え、通信制御部１１は、フレーム生成部１６に対してデータフレームの送信を要求し、データフレームが送信される（Ｓ２０８）。
【００８２】
データフレームの送信後所定期間の間に、通信制御部１１は、宛先ノードからのＡＣＫフレームの返信があるか否かを判断し（Ｓ２０９）、ＡＣＫフレームが受信されると、処理はＳ２１０に移行し、ＡＣＫフレームが受信されない場合、処理はＳ２１３に移行する。
【００８３】
ＡＣＫフレームが受信されると、同期フレーム送信制御部１４Ａは、受信したＡＣＫフレームに含まれているＣＳＬフェーズを抽出し（Ｓ２１０）、抽出したＣＳＬフェーズを同期フレーム情報保存部１９に更新する。
【００８４】
Ｓ２１１では、同期確率判定部２１が、ＣＳＬフェーズから、最も同期の取れたタイミングから、どれだけずれているかを表す同期ずれ量（同期ずれを示す時間）を計算する。同期確率判定部２１は、算出した同期ずれ量と閾値とを比較し、その比較結果を同期フレーム送信制御部１４Ａに与える（Ｓ２１１）。
【００８５】
同期ずれ量が閾値を超えている場合、同期フレーム送信制御部１４Ａは、次回のウェイクアップフレーム送信時間が長くなるように、前回のウェイクアップフレーム送信時間に所定値を乗じて、次回のウェイクアップフレーム送信時間を求める（Ｓ２１３）。
【００８６】
一方、同期ずれ量が閾値以下の場合、同期フレーム送信制御部１４Ａは、次回のウェイクアップフレーム送信時間を初期値とする（Ｓ２１２）。なお、ここでも、次回のウェイクアップフレーム送信時間を所定時間長だけ短縮するようにしても良い。
【００８７】
なお、同期確率判定部２１は、１回の同期ずれ量と閾値との比較を行うようにしても良いし、１回の同期ずれ量に限定されず、複数回の同期ずれ量を統計的な演算を行い（例えば、複数回の同期ずれ量の平均的な値を求め）、その演算結果（例えば、平均値）と閾値とを比較するようにしても良い。つまり、１回の同期ずれ量でウェイクアップの送信時間をもとめるのではなく、複数回の平均値が閾値を超えたときに、ウェイクアップフレームの送信時間を長くするようにしてもよい。
【００８８】
また、ウェイクアップフレーム送信時間の算出では、第１の実施形態で説明したように、宛先ノードからのＡＣＫフレームの受信状況に応じて、ウェイクアップフレーム送信時間を変更するようにしても良い。つまり、ＡＣＫフレームを受信しなかった場合に、次回のウェイクアップフレーム送信時間が長くなるように、前回のウェイクアップフレーム送信時間に所定値を乗じて、次回のウェイクアップフレーム送信時間を算出するようにしても良い。
【００８９】
図７及び図８は、第２の実施形態に係るウェイクアップフレーム送信時間の変更処理を説明する説明図である。図９は、図７及び図８の送信ノード（ノードＡ）の受信ノード（ノードＢ）に対する同期フレーム送信情報の構成を説明する説明図である。
【００９０】
なお、ここでは、ウェイクアップフレーム送信時間の初期値が１０ミリ秒としている場合を例示する。また、同期ずれ量と比較する閾値が３ミリ秒とし、同期ずれ量が閾値（例えば３ミリ秒）を超えている場合、ウェイクアップフレーム送信時間を２倍の長さにするものとする。
【００９１】
また、ウェイクアップフレーム送信時間が初期値より長くなっている場合であって、同期ずれ量が閾値以下のとき、ウェイクアップフレーム送信時間を初期値にするものとする。
【００９２】
図７は、時刻ｔｓ１から時刻ｔｓ５までのウェイクアップフレーム送信時間の変更処理を例示しており、短期間のうちに連続してデータフレームを送信する場合を例示している。つまり、前回のデータフレームの送信時刻と次回のデータフレームの送信時刻との時間差である前回送信間隔が非常に短い時間であり、図９ではブランクとしている。時刻ｔｓ１から時刻ｔｓ５までの間では、前回送信間隔と所定値との比較結果に応じてウェイクアップフレーム送信時間の変更がなされない場合を例示している。
【００９３】
時刻ｔｓ１は、非同期通信モードから同期通信モードに遷移した最初（第１回目）の状態である。このとき、同期フレーム送信制御部１４Ａは、同期フレーム送信情報の「前回送信間隔」には値を書き込まない。また、ＡＣＫフレームの受信がない場合には、「ＣＳＬフェーズ」には値を書き込まず、同期通信モードへの最初の状態であるため、同期フレーム送信制御部１４Ａは、図９の次回（「時刻ｔｓ２」）の「ウェイクアップフレーム送信時間」に初期値の１０ミリ秒を書き込む。
【００９４】
時刻ｔｓ２では、同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ２」の「ウェイクアップフレーム送信時間」に書き込まれている１０ミリ秒を読み出して、１０ミリ秒の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。ノードＢから受信したＡＣＫフレームに含まれているＣＳＬフェーズが１ミリ秒であるとすると、同期確率判定部２１は、ＣＳＬフェーズ１ミリ秒と閾値（例えば３ミリ秒）とを比較する。このとき、ＣＳＬフェーズは閾値以下であるため、同期フレーム送信制御部１４Ａは、次回のウェイクアップフレーム送信時間を長くせず１０ミリ秒とする。つまり、同期フレーム送信制御部１４Ａは、「時刻ｔｓ２」の「ＣＳＬフェーズ」に「１」と、次回（「時刻ｔｓ３」）の「ウェイクアップフレーム送信時間」に初期値の１０ミリ秒を書き込む。
【００９５】
時刻ｔｓ３では、同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ３」の「ウェイクアップフレーム送信時間」に書き込まれている１０ミリ秒を読み出して、１０ミリ秒の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。受信したＡＣＫフレームに含まれているＣＳＬフェーズが４ミリ秒であるとすると、同期確率判定部２１は、ＣＳＬフェーズ４ミリ秒と閾値（例えば３ミリ秒）とを比較する。このとき、ＣＳＬフェーズは閾値を超えているため、同期フレーム送信制御部１４Ａは、次回のウェイクアップフレーム送信時間に２を乗じて２０ミリ秒とする。つまり、同期フレーム送信制御部１４Ａは、「時刻ｔｓ３」の「ＣＳＬフェーズ」に「４」と、次回（「時刻ｔｓ４」）の「ウェイクアップフレーム送信時間」に初期値の２０ミリ秒を書き込む。
【００９６】
時刻ｔｓ４では、同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ４」の「ウェイクアップフレーム送信時間」に書き込まれている２０ミリ秒を読み出して、２０ミリ秒の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。時刻ｔｓ３において同期ずれ量が閾値以上であり、送信ノードと受信ノードとの間の同期ずれ量が大きいことになる。これは、時刻ｔｓ４においても、同期ずれ量が大きくなり、送信ノードにおける同期ずれ補正が正常になされない可能性が生じ得る。そこで、時刻ｔｓ４では、ウェイクアップフレーム送信時間を長くすることにより、受信ノードにおけるウェイクアップフレームの受信をしやすくなる。
【００９７】
受信したＡＣＫフレームに含まれているＣＳＬフェーズが２ミリ秒であるとすると、同期確率判定部２１は、ＣＳＬフェーズ２ミリ秒と閾値（例えば３ミリ秒）とを比較し、ＣＳＬフェーズは閾値以下であるため、同期フレーム送信制御部１４Ａは、次回のウェイクアップフレーム送信時間を初期値の１０ミリ秒とする。つまり、同期フレーム送信制御部１４Ａは、「時刻ｔｓ４」の「ＣＳＬフェーズ」に「２」と、次回（「時刻ｔｓ５」）の「ウェイクアップフレーム送信時間」に初期値の１０ミリ秒を書き込む。
【００９８】
時刻ｔｓ５では、同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ５」の「ウェイクアップフレーム送信時間」に書き込まれている１０ミリ秒を読み出して、１０ミリ秒の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。受信したＡＣＫフレームに含まれているＣＳＬフェーズが０ミリ秒であるとすると、ＣＳＬフェーズは閾値以下であるから、同期フレーム送信制御部１４Ａは、次回のウェイクアップフレーム送信時間を初期値の１０ミリ秒とする。
【００９９】
図８は、時刻ｔｓ６から時刻ｔｓ１０までのウェイクアップフレーム送信時間の変更処理を例示している。この例では、前回のデータフレームの送信時刻と次回のデータフレームの送信時刻との時間差である前回送信間隔が大きい場合を例示している。
【０１００】
時刻ｔｓ６では、同期フレーム送信制御部１４Ａが、前回のデータフレームの最終送信時刻（時刻ｔｓ５）とデータフレーム送信時刻（時刻ｔｓ６）との時間差（前回送信間隔）を求める。このとき、この前回送信間隔が３０分であるとすると、同期フレーム送信制御部１４Ａは、図９の「時刻ｔｓ６」の「前回送信間隔」に「３０」を書き込む。同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ６」の「ウェイクアップフレーム送信時間」に書き込まれている１０ミリ秒を読み出して、１０ミリ秒の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。また、ＡＣＫフレームの受信がない場合には、「ＣＳＬフェーズ」には値を書き込まず、同期フレーム送信制御部１４Ａは、図９の次回（「時刻ｔｓ７」）の「ウェイクアップフレーム送信時間」に１０ミリ秒を書き込む。
【０１０１】
時刻ｔｓ７では、同期フレーム送信制御部１４Ａが、前回のデータフレームの最終送信時刻（時刻ｔｓ６）とデータフレーム送信時刻（時刻ｔｓ７）との時間差（前回送信間隔）を求める。このとき、この前回送信間隔が３０分であるとすると、同期フレーム送信制御部１４Ａは、図９の「時刻ｔｓ７」の「前回送信間隔」に「３０」を書き込む。同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ７」の「ウェイクアップフレーム送信時間」に書き込まれている１０ミリ秒を読み出す。前回（時刻ｔｓ５から時刻ｔｓ６まで）のデータフレーム送信間隔「３０（分）」と、次回（時刻ｔｓ６から時刻ｔｓ７まで）のデータフレーム送信間隔「３０（分）」とを比較し、次回のデータフレーム送信間隔が前回のデータフレーム送信間隔を超えていない。したがって、同期フレーム送信制御部１４Ａは、ウェイクアップフレーム送信時間「１０ミリ秒」の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。また、受信したＡＣＫフレームに含まれているＣＳＬフェーズが「１」のとき、ＣＳＬフェーズ「１」は閾値以下であるから、次回のウェイクアップフレーム送信時間を１０ミリ秒とする。そして、同期フレーム送信制御部１４Ａは、「ＣＳＬフェーズ」に「１」を書き込み、図９の次回（「時刻ｔｓ８」）の「ウェイクアップフレーム送信時間」に１０ミリ秒を書き込む。
【０１０２】
時刻ｔｓ８では、同期フレーム送信制御部１４Ａが、前回のデータフレームの最終送信時刻（時刻ｔｓ７）とデータフレーム送信時刻（時刻ｔｓ８）との時間差（前回送信間隔）を求める。このとき、この前回送信間隔が６０分であるとすると、同期フレーム送信制御部１４Ａは、図９の「時刻ｔｓ８」の「前回送信間隔」に「６０」を書き込む。同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ８」の「ウェイクアップフレーム送信時間」に書き込まれている１０ミリ秒を読み出す。前回（時刻ｔｓ６から時刻ｔｓ７まで）のデータフレーム送信間隔「３０（分）」と、次回（時刻ｔｓ７から時刻ｔｓ８まで）のデータフレーム送信間隔「６０（分）」とを比較し、次回のデータフレーム送信間隔が前回のデータフレーム送信間隔を超えている。したがって、同期フレーム送信制御部１４Ａは、ウェイクアップフレーム送信時間「１０ミリ秒」に「２」を乗じて、ウェイクアップフレーム送信時間を２倍の時間長とし、２０ミリ秒の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。また、受信したＡＣＫフレームに含まれているＣＳＬフェーズが「２」のとき、ＣＳＬフェーズ「２」は閾値以下であるから、次回のウェイクアップフレーム送信時間を２０ミリ秒とする。そして、同期フレーム送信制御部１４Ａは、「ＣＳＬフェーズ」に「２」を書き込み、図９の次回（「時刻ｔｓ９」）の「ウェイクアップフレーム送信時間」に２０ミリ秒を書き込む。
【０１０３】
時刻ｔｓ９では、同期フレーム送信制御部１４Ａが、前回のデータフレームの最終送信時刻（時刻ｔｓ８）とデータフレーム送信時刻（時刻ｔｓ９）との時間差（前回送信間隔）を求める。このとき、この前回送信間隔が６０分であるとすると、同期フレーム送信制御部１４Ａは、図９の「時刻ｔｓ９」の「前回送信間隔」に「６０」を書き込む。同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ９」の「ウェイクアップフレーム送信時間」に書き込まれている２０ミリ秒を読み出す。前回（時刻ｔｓ７から時刻ｔｓ８まで）のデータフレーム送信間隔「６０（分）」と、次回（時刻ｔｓ８から時刻ｔｓ９まで）のデータフレーム送信間隔「６０（分）」とを比較し、次回のデータフレーム送信間隔が前回のデータフレーム送信間隔を超えていない。したがって、同期フレーム送信制御部１４Ａは、ウェイクアップフレーム送信時間「２０ミリ秒」の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。また、受信したＡＣＫフレームに含まれているＣＳＬフェーズが「４」のとき、ＣＳＬフェーズ「４」は閾値を超えているから、次回のウェイクアップフレーム送信時間を２０ミリ秒とする。そして、同期フレーム送信制御部１４Ａは、「ＣＳＬフェーズ」に「４」を書き込み、図９の次回（「時刻ｔｓ１０」）の「ウェイクアップフレーム送信時間」に２０ミリ秒を書き込む。
【０１０４】
時刻ｔｓ１０では、同期フレーム送信制御部１４Ａが、前回のデータフレームの最終送信時刻（時刻ｔｓ９）とデータフレーム送信時刻（時刻ｔｓ１０）との時間差（前回送信間隔）を求める。このとき、この前回送信間隔が９０分であるとすると、同期フレーム送信制御部１４Ａは、図９の「時刻ｔｓ１０」の「前回送信間隔」に「９０」を書き込む。同期フレーム送信制御部１４Ａが、図９の「時刻ｔｓ１０」の「ウェイクアップフレーム送信時間」に書き込まれている２０ミリ秒を読み出す。前回（時刻ｔｓ８から時刻ｔｓ９まで）のデータフレーム送信間隔「６０（分）」と、次回（時刻ｔｓ９から時刻ｔｓ１０まで）のデータフレーム送信間隔「９０（分）」とを比較し、次回のデータフレーム送信間隔が前回のデータフレーム送信間隔を超えている。したがって、同期フレーム送信制御部１４Ａは、ウェイクアップフレーム送信時間「２０ミリ秒」に「２」を乗じて、ウェイクアップフレーム送信時間を２倍の時間長とし、ウェイクアップフレーム送信時間を４０ミリ秒とし、４０ミリ秒の間、ウェイクアップフレームの送信をフレーム生成部１６に行なう。また、受信したＡＣＫフレームに含まれているＣＳＬフェーズが「０」のとき、ＣＳＬフェーズ「０」は閾値を超えていないから、次回のウェイクアップフレーム送信時間を４０ミリ秒とする。そして、同期フレーム送信制御部１４Ａは、「ＣＳＬフェーズ」に「０」を書き込み、次回の「ウェイクアップフレーム送信時間」に４０ミリ秒を書き込む。
【０１０５】
（Ｂ−３）第２の実施形態の効果
以上のように、第２の実施形態によれば、前回までのフレーム送信間隔と同期ずれの関係から、次回フレーム送信時のウェイクアップ送信時間を決定するようにした。同期ずれ補正の信頼度が低い時はウェイクアップ送信時間を長くすることで、受信機は受信しやすくなり、同期通信を保持できる確率が高くなるという効果が得られる。
【０１０６】
また、第２の実施形態によれば、同期ずれの判定の判定信頼度が閾値に比べて高いときは、ウェイクアップ送信時間を短くすることで、受信確率を高めながら、省電力効果が上がり、ネットワークの負荷も下げることができるという効果が得られる。
【０１０７】
（Ｃ）他の実施形態
上述した各実施形態においても本発明の種々の変形実施形態を言及したが、本発明は以下の変形実施形態にも適用できる。
【０１０８】
（Ｃ−１）上述した各実施形態では、非同期通信モードと同期通信モードとを切り替えて間欠受信に対応したフレーム送信処理を例示した。しかし、これに限定されるものではなく、ＣＳＬモードとＣＳＬモード以外の通信モードとを切り替えることができる通信装置に適用してもよい。
【０１０９】
また、ＣＳＬモードだけでなく、データフレーム送信以外に同期用フレームの送信を行う通信方式に本発明を適用できる。
【０１１０】
（Ｃ−２）上述した各実施形態では、ウェイクアップフレームの送信時間を変更する場合を例示したが、ウェイクアップフレームとデータフレームとを含むフレーム（すなわち、ウェイクアップフレームとデータフレームとが兼用されたフレーム）の送信時間を変更するようにしても良い。
【０１１１】
（Ｃ−３）上述した第２の実施形態では、第１の実施形態のようにＡＣＫフレームの受信の有無に応じて、次回のウェイクアップフレーム送信時間を変更することについて記載していないが、第２の実施形態においても第１の実施形態のウェイクアップフレーム送信時間の変更を行うようにしても良い。
【０１１２】
また、上述した第２の実施形態では、同期ずれ量に応じて次回のウェイクアップフレーム送信時間の変更を行う場合と、データフレーム送信間隔に応じてウェイクアップフレーム送信時間を変更する場合とを例示したが、いずれか一方の機能を備えるものであっても良い。
【０１１３】
（Ｃ−４）上述した各実施形態では、ウェイクアップフレーム送信時間を短縮する際に、ウェイクアップフレーム送信時間を初期値に変更する場合を例示したが、これは前回のデータフレームの送信の際に、対向ノードとの間で同期がとれている可能性が高いので、ウェイクアップフレーム送信時間の短縮化を図るために、ウェイクアップフレーム送信時間を短縮している。そのため、初期値に変更することに限定されるものではない。
【０１１４】
また、ウェイクアップフレーム送信時間を長くする際に、上述した各実施形態では、現在のウェイクアップフレーム送信時間に、所定値として整数値を乗じる場合を例示した。これは前回のデータフレームの送信の際に、同期が取れていないため、今回のデータフレームの送信でも同期がとなれないことを考慮したためである。従って、対向ノードとの間で同期を取ることができるように、ウェイクアップフレーム送信時間を長くすることができれば、所定の演算式を用いたり、又は、整数値以外の値を用いたりしても良い。
【符号の説明】
【０１１５】
１及び１Ａ…通信装置、１１…通信制御部、１２…フレーム受信部、１３…フレーム解析部、１４及び１４Ａ…同期フレーム送信制御部、１５…フレーム送信時間判定部、１６…フレーム生成部、１７…フレーム送信部、１８…同期情報保存部、１９…同期フレーム送信情報保存部、２１…同期確率判定部。
【図１】
0006413787.tif 000002
【図２】
0006413787.tif 000003
【図３】
0006413787.tif 000004
【図４】
0006413787.tif 000005
【図５】
0006413787.tif 000006
【図６】
0006413787.tif 000007
【図７】
0006413787.tif 000008
【図８】
0006413787.tif 000009
【図９】
0006413787.tif 000010