(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
【0014】
[実施の形態]
先ず、実施の形態に係る無線端末の構成を説明する。
実施の形態においては、複数の無線端末が相互に時刻の同期を行うことを例に挙げて説明する。
【0015】
図1は、実施の形態に係る無線端末を例示するブロック図である。
図2は、実施の形態に係るシステムを例示する図である。
図3は、実施の形態に係るシステムを例示する図である。
【0016】
図1に示すように、パーソナルコンピュータ12は無線送信モジュール13に接続し、時刻同期コマンドを無線送信モジュール13に送出する。
【0017】
図2に示すように、無線送信モジュール13は、パーソナルコンピュータ12からの時刻同期コマンドを複数の無線端末11に送信する。複数の無線端末11は、例えば、無線端末11a、無線端末11b、無線端末11c、無線端末11d、無線端末11e、及び無線端末11nが有る。無線端末11a、無線端末11b、無線端末11c、無線端末11d、無線端末11e、及び無線端末11nをまとめて無線端末11と称する。無線端末11aを第1無線端末と称し、無線端末11bを第2無線端末と称し、無線端末11cを第3無線端末と称し、無線端末11dを第4無線端末と称し、無線端末11eを第5無線端末と称し、無線端末11nを第n無線端末と称することもある。
【0018】
実施の形態に係る複数の無線端末11のそれぞれは、送信部111と受信部112と制御部113とバッテリ114とを備える。制御部を無線制御部と称することもある。
【0019】
制御部113は、リアルタイムクロック1131を有する。リアルタイムクロック1131は、時刻計時機能を有する。リアルタイムクロックをRTC(Real Time Clock)と称することもある。リアルタイムクロックのカウンタのことを、RTCカウンタと称することもある。
【0020】
図3に示すように、無線端末11は、リアルタイムクロック1131を使用して、他の無線端末11と同期を取るための同期信号を生成する。無線端末11が送受信を行うアクティブ期間と、主に送信を行わないスリープ期間と、の合計の期間を、例えば1分とした場合、リアルタイムクロック1131の割り込み信号を1分毎に発生させるように設定する。これにより、無線端末11を、リアルタイムクロック1131からの1分毎の割り込みでアクティブ期間に移行するように制御することができる。また、リアルタイムクロック1131のカウンタの停止、及び、カウンタ値の書き込みを行うことで同期を補正しているため、時刻も補正することができる。
【0021】
尚、無線端末11aにとっての他の無線端末とは、無線端末11bと無線端末11cと無線端末11dと無線端末11eを示す。
【0022】
送信部111は、第1時刻t1と、第1時刻t1より後の第2時刻t2と、の間で複数の他の無線端末11に送信データを送信する。送信部111は、送信データとして無線通信コマンドを送信する。送信部を無線端末の無線送信モジュールと称することもある。
【0023】
受信部112は、無線送信モジュール13から送信された基準時刻である時刻同期コマンドを受信する。
【0024】
受信部112は、第1時刻t1より前の第3時刻t3と、第2時刻t2より後の第4時刻t4と、の間で、複数の他の無線端末11から送信された受信データ(無線通信コマンド)を受信する。受信部を無線端末の無線受信モジュールと称することもある。
【0025】
バッテリ114は、無線端末11を駆動する電力の供給、及び無線端末11の電源がオフ時でもリアルタイムクロック1131を常時動作するための電力を供給する。
【0026】
尚、複数の無線端末11が有するそれぞれのリアルタイムクロック1131は、数ppm/年の誤差が生じる。よって、複数の無線端末11が一度同期しても、時間の経過と共に各無線端末間で時刻の遅れ、又は時刻の進みが発生する。
【0027】
制御部113は、第3時刻t3と第1時刻t1との間の受信データの早期受信数と、第2時刻t2と第4時刻t4との間の受信データの遅れ受信数と、に基づいて、無線端末11の時刻を補正する。
【0028】
尚、受信部112は、基準時刻を1回受信した後、無線端末11の時刻を制御してもよい。また、受信部112は、複数の他の無線端末11から所定回数の受信データを受信し、所定回数の受信データを時刻同期のために使用してもよい。
【0029】
実施の形態に係る無線端末11は、制御部113が上述のような制御を行なって無線端末11の時刻を補正する。これにより、他の無線端末との時刻同期を取ることが可能な無線端末、システム、方法及びプログラムを提供することができる。そして、例えば、IEEE802.15.4の同期モードによる通信が可能な無線端末11を提供することができる。
【0030】
ここで、無線端末11のデータの送受信の時間関係を説明する。
図4Aは、データの送受信を例示するブロック図である。
図4Bは、データの送受信を例示するブロック図である。
図4Cは、データの送受信を例示するブロック図である。
図4A、
図4B、及び
図4Cのそれぞれの横軸は、時間を示す。
【0031】
図4Aに示すように、無線端末11のデータの送受信には、無線端末11が送受信を行う期間であるアクティブ期間と、無線端末11が送受信を行わない期間であるスリープ期間とが有る。無線端末11は、スリープ期間中に、アクティブ期間に変更するためのアクティブトリガを受信すると自端末をアクティブ期間に変更する。
【0032】
アクティブ期間には、正常送受信期間と早期受信期間と遅れ受信期間とが有る。正常送受信期間は、この期間中にデータが受信された場合、時刻は正常であり補正の必要が無いと判断される期間である。正常送受信期間は、送信期間と正常受信期間とが有る。早期受信期間は、この期間中にデータが受信された場合、時刻を遅らせる補正をする必要が有ると判断される期間である。遅れ受信期間は、この期間中にデータが受信された場合、時刻を進ませる補正をする必要が有ると判断される期間である。早期受信期間と正常受信期間と遅れ受信期間とを合わせて受信期間と称することもある。
【0033】
正常送受信期間の前に早期受信期間が有り、後ろに遅れ受信期間が有る。具体的には、早期受信期間は、第3時刻t3と第1時刻t1との間の期間であり、正常送受信期間は、第1時刻t1と第2時刻t2との間の期間であり、遅れ受信期間は、第2時刻t2と第4時刻t4との間の期間である。早期受信期間をA受信領域と称し、正常送受信期間を正常送受信領域と称し、遅れ受信期間をB受信領域と称することもある。
【0034】
ここでは、
図4Bに示すように、例えば、データの送信期間を1.0秒とし、データの受信期間を2.0秒とし、早期受信期間を0.5秒とし、正常受信期間と送信期間を1.0秒とし、遅れ受信期間を0.5秒として説明する。
【0035】
また、
図4Cに示すように、アクティブ期間を0.1秒×20のタイムスロットとする。また、1から5までのタイムスロットを早期受信期間(A受信領域)とする。6から15までのタイムスロットを送信期間とする。16から20までのタイムスロットを遅れ受信期間(B受信領域)とする。無線端末11は、アクティブ期間でデータの受信を行ない、送信期間でデータの送信を行うものとする。
【0036】
無線端末11は、送信期間である6から15までのタイムスロットのうちランダムに所定のタイムスロットを選択する。無線端末11は、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)を使用して無線通信路の使用状態を確認し、所定のタイムスロットが未使用であると判断した場合のみ、データを送信する。
【0037】
実施の形態においては、複数の無線端末11のそれぞれは、同じ時刻に計測データを一斉に送信し、計測データの送受信を使用して時刻同期(時刻ずれ)の補正を行う。
【0038】
次に、実施の形態に係る無線端末の動作の概要を説明する。
この例では、無線端末11a、無線端末11b、無線端末11c、無線端末11d、及び無線端末11eの5つの無線端末11が相互に同期及び時刻ずれの補正を行う方法を例に挙げて説明する。
【0039】
図5は、各無線端末の時刻ずれの補正を例示する図である。
図5の横軸は、時間を示す。
【0040】
先ず、
図2に示すように、パーソナルコンピュータ12から複数の無線端末11に、無線送信モジュール13を介して、同期する時刻を含む時刻同期コマンドをブロードキャスト送信(同報)する。これにより、複数の無線端末11は、時刻同期を行う。パーソナルコンピュータ12のブロードキャスト送信後は、パーソナルコンピュータ12と複数の無線端末11の接続は必要が無くなる。
【0041】
図3に示すように、時刻同期後の無線端末11a、無線端末11b、無線端末11c、無線端末11d、及び無線端末11eは、相互に通信することができる。
【0042】
図5に示すように、最初は、無線端末11a、無線端末11b、無線端末11c、無線端末11d、及び無線端末11eのそれぞれの時刻は、時刻ずれが発生している。
【0043】
無線端末11aの送信期間で送信された送信データは、無線端末11a自身の受信期間で受信され、さらに、無線端末11b、無線端末11c、無線端末11d、及び無線端末11eの各無線端末11の受信期間で受信される。
【0044】
無線端末11b、無線端末11c、無線端末11d、及び無線端末11eから送信される送信データも同様に各無線端末11の受信期間で受信される。無線端末11が受信期間内で受信できなかった送信データは、無視される。
【0045】
無線端末11は、受信データが受信期間(早期受信期間と正常受信期間と遅れ受信期間)うちのどの期間でいくつ受信したかにより時刻のずれを判断する。
【0046】
無線端末11bは、無線端末11から送信された送信データを、早期受信期間(時刻の遅れ)で0個だけ受信し、正常受信期間(時刻のずれ無し)で3個だけ受信し、遅れ受信期間(時刻の進み)で1個だけ受信している。この場合、無線端末11bは、同じ時刻に複数の他の無線端末11から送信データが送信されたにもかかわらず、遅れ受信期間で1個だけ受信しているので、自身の時刻(時計)を遅らせることで遅れ受信期間の1個を正常受信期間内に補正すると判断する。これにより、無線端末11bは、自身の時刻が進んでいると判断する。無線端末11bは、遅れ受信期間で受信した受信データの受信時刻trと、第2時刻t2と、の遅れ時間差を算出し、1スロット分であることを得る。無線端末11bは、この1スロット分である0.1秒だけ自身の時刻を遅らせる。
【0047】
無線端末11cは、無線端末11から送信された送信データを、早期受信期間で2個だけ受信し、正常受信期間で2個だけ受信し、遅れ受信期間で0個だけ受信している。この場合、無線端末11cは、自身の時刻が遅れていると判断し、3スロット分である0.3秒だけ自身の時刻を進める。
【0048】
無線端末11a、無線端末11d、及び無線端末11eのそれぞれは、無線端末11から送信された送信データを、早期受信期間で1個だけ受信し、正常受信期間で3個だけ受信し、遅れ受信期間で1個だけ受信している。無線端末11a、無線端末11d、及び無線端末11eのそれぞれは、他の無線端末11に対して、時刻の遅れ、時刻の進みの両方があるため、自身の時刻のずれの中間にいると判断し、自身の時刻ずれの補正は行わない。
【0049】
無線端末11は、この補正を繰り返すことにより、時刻ずれを収束させ、継続的に同期を行うことができる。
【0050】
次に、実施の形態に係る無線端末の動作の詳細を説明する。
図6は、実施の形態に係る無線端末の動作を例示するフローチャートである。
図7は、実施の形態に係る時刻ずれの判定条件を例示する図である。
【0051】
図6に示すように、無線端末11は、他の無線端末11からz回のデータを送受信する(ステップS101)。
【0052】
図6及び
図7に示すように、無線端末11は、z個の送信データのうち、早期受信期間で0個、又はa個受信したか判断する(ステップS102)。このとき、早期受信領間でa個受信した場合の最大の遅れをy秒とする。
【0053】
次に、ステップS102で判断した結果に基づいて、z個の送信データのうち、遅れ受信期間で0個、又はb個受信したかを判断する(ステップS103とステップS104)。
【0054】
ステップS102でa個の送信データを受信し、ステップS103でb個の送信データを受信した場合、時刻ずれの補正を行わない。
【0055】
次に、ステップS102でa個、ステップS103で0個の送信データを受信した場合、時刻が遅れていると判断し、最大遅れy秒だけ時刻を進める。
【0056】
RTCカウンタを、(1−y)秒だけ停止させることで、最大遅れy秒分の時刻を進める(ステップS105)。
【0057】
RTCカウンタは、停止させた分、経過時間とカウンタ数での相違が生じるので、カウンタ数に1を加算し、経過時間との相違を補正する(ステップS106)。
【0058】
次に、ステップS102で0個、ステップS104でb個の送信データを受信した場合、時刻が進んでいると判断する。b個の受信データのうち最大の進みをx秒とする。時刻の進みを補正するため、RTCカウンタをx秒停止させてx秒遅らせる(ステップS107)。
【0059】
ステップS101からステップS107までの判定条件をまとめると以下のようになる。
図7は、判定条件の具体例の1つである。
【0060】
(1)無線端末11は、早期受信数と遅れ受信数の両方が0個の場合、もしくは早期受信数と遅れ受信数の両方が1個以上の場合、自端末の時刻の補正を行わない。これは、
図7に示す条件1と条件4に相当する。
【0061】
(2)無線端末11は、早期受信数が1個以上で遅れ受信数が0個の場合、自端末の時刻を所定時間だけ進める補正を行う。このとき、無線端末11は、早期受信期間(第3時刻t3と第1時刻t1との間)で受信した複数の受信データの受信時刻のそれぞれと、第1時刻t1と、の進み時間差を算出し、最大の進み時間差であるy秒を所定時間とする。これは、
図7に示す条件3に相当する。
【0062】
(3)無線端末11は、早期受信数が0個で遅れ受信数が1個以上の場合、自端末の時刻を所定時間だけ遅らせる補正を行う。このとき、無線端末11は、遅れ受信期間(第2時刻t2と第4時刻t4との間)で受信した複数の受信データの受信時刻のそれぞれと、第2時刻t2と、の遅れ時間差を算出し、最大の遅れ時間差であるx秒を所定時間とする。これは、
図7に示す条件2に相当する。
【0063】
ここで、時刻ずれを、RTCのカウンタの停止によって実現させる方法を説明する。
図8は、RTCカウンタの時刻補正を例示する図である。
【0064】
図8に示すように、例えば、経過する時間に対して、RTCカウンタを0.1秒遅らせる場合、RTCカウンタを0.1秒停止させる。
【0065】
また、RTCカウンタを0.1秒進めるためには0.9秒停止させ、さらに経過時間との相違を補正するためRTCカウンタ値に1を加算する(RTCカウンタに1を加算した時刻を書き込む)。これにより、RTCカウンタを0.1秒進めることができる。
【0066】
次に、実施の形態に係る無線端末の動作のさらに詳細を説明する。
図9は、実施の形態に係る無線端末の時刻ずれの補正を例示する図である。
図10は、実施の形態に係る無線端末の時刻ずれの補正を例示する図である。
【0067】
先ず、1回目の時刻のずれ補正では、無線端末11bは時刻を0.1秒遅らせ、無線端末11cは時刻を0.3秒進め、無線端末11a、無線端末11d、無線端末11eは時刻の補正をしなかった(
図5及び
図9参照)。
図9は、1回目の時刻ずれの補正を行った結果を示す。
【0068】
図9に示すように、無線端末11aは、早期受信期間での受信は1個、遅れ受信期間での受信も1個なので、時刻ずれの補正は行わないと判断する。
【0069】
無線端末11bは、早期受信期間での受信が0個、遅れ受信期間での受信が2個で、時刻が最大5スロット(0.5秒)進んでいると判断する。
【0070】
無線端末11cは、早期受信期間での受信は1個、遅れ受信期間での受信は0個なので、時刻が最大3スロット(0.3秒)遅れていると判断する。
【0071】
無線端末11dは、早期受信期間での受信は1個、遅れ受信期間での受信も1個なので、時刻ずれの補正は行わないと判断する。
【0072】
無線端末11eは、早期受信期間での受信が0個、遅れ受信期間での受信が1個で、時刻が最大3スロット(0.3秒)進んでいると判断する。
【0073】
これらの結果から、無線端末11a及び無線端末11dは、時刻ずれの補正を行わない。無線端末11bは、時刻を0.5秒遅らせる。無線端末11cは、時刻を0.3秒進ませる。無線端末11eは、時刻を0.3秒遅らせる。
【0074】
図10は、2回目の時刻ずれの補正を行った結果を示す。2回目の時刻ずれの補正を行った結果、無線端末11の時刻ずれは、ほぼ収束して時刻ずれのない状態となった。
【0075】
このように、実施の形態によれば、時刻ずれが発生した場合、複数の無線端末11が相互に時刻ずれを判断し、時刻ずれの補正を行うことで、無線端末11同士の同期を維持することができる。
【0076】
例えば、複数の無線端末11が同期した後、一部の無線端末11を3日間使用しない場合を考える。この場合、水晶振動子の誤差を1.5ppm/年とすると、1日で、1.5ppm×24時間×60分×60秒である129.6ms(ミリセカンド)の時刻ずれが発生する可能性がある。また、この場合、3日間で、388.8msの時刻ずれが発生する可能性がある。
【0077】
そして、無線端末11を、上述のように3日間の休止状態から動作状態にすると、3回目の時刻ずれの補正により、他の無線端末との時刻ずれを補正し同期することができる。
【0078】
実施の形態に係る無線端末11は、早期受信期間での受信データの有無と、遅れ受信期間の受信データの有無と、に基づいて、無線端末11自身の時刻を補正することができる。これにより、複数の無線端末11を相互に同期させることができる。
【0079】
その結果、他の無線端末との時刻同期を取ることが可能な無線端末、システム、方法及びプログラムを提供することができる。
【0080】
尚、実施の形態において、無線端末11は、制御装置からビーコンを受信することなく、他の無線端末と同期を取ることができる。これにより、システム10は、制御装置は必要ないので、その分だけコストを低減することができる。
【0081】
また、実施の形態において、無線端末11は、時刻管理サーバ及び基準時刻を保持するマスタが存在しない状態でも、他の無線端末と同期(時刻ずれの補正)を行うことができる。これにより、無線端末11は、時刻管理サーバ等に接続する分の消費電力を削減することができる。その結果、無線端末11は、バッテリの駆動時間をより長くすることができる。
【0082】
また、実施の形態においては、複数の無線端末の同期を例に挙げて説明したが、これには限定されない。実施の形態は、有線ネットワークで接続された端末同士の同期にも適用することができる。
【0083】
また、実施の形態においては、無線端末11同士がデータの送受信を行うことで同期(及び時刻ずれの補正)を行うことを例に挙げて説明したが、これには限定されない。実施の形態においては、所定のタイミングで同期を行うためのデータを送受信してもよい。
【0084】
また、実施の形態においては、タイムスロットの構成を、データ送信時間を1秒(10スロット)、データ受信時間を2秒と定義したが、これには限定されない。実施の形態においては、タイムスロットの構成を、データ送信時間を1秒でデータ受信時間を2秒とする構成以外の構成としてもよい。
【0085】
また、実施の形態においては、リアルタイムクロック1131を使用して同期のための同期信号を生成したが、他の構成を使用してもよい。
【0086】
ここで、実施の形態の特徴を以下に記載する。
無線送信モジュール13(親機無線端末)で複数の無線端末11(子機無線端末)に対して基準時刻を1度ブロードキャスト送信(同報)して時刻同期を行う。
時刻同期を行った後、複数の無線端末11は、無線送信モジュール13を介さずに、複数の無線端末同士で同期を取ることができる。
【0087】
なお、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0088】
上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(具体的にはフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(具体的には光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(具体的には、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM))、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0089】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【解決手段】無線端末11aは、第1時刻t1と、第1時刻t1より後の第2時刻t2と、の間で複数の他の無線端末11に送信データを送信する送信部111と、第1時刻t1より前の第3時刻t3と、第2時刻t2より後の第4時刻t4と、の間で、複数の他の無線端末11から受信データを受信する受信部112と、第3時刻t3と第1時刻t1との間の受信データの早期受信数と、第2時刻t2と第4時刻t4との間の受信データの遅れ受信数と、に基づいて、無線端末11aの時刻を補正する制御部113と、を備える。