時刻を計測する時刻計測部と、前記時刻の補正に使用する時刻情報を含むフレームである時刻情報フレームを受信する受信部と、前記時刻情報フレームの送信元ノード装置が前記時刻情報を取得する時刻から前記時刻情報フレームを送信する時刻までの時間である送信処理時間を固定値として記憶している記憶部と、前記時刻情報フレームを受信する時刻から、前記時刻情報を前記時刻情報フレームから取得する時刻までの時間である受信処理時間を計測するタイマーと、前記時刻情報に、前記固定値と前記受信処理時間を加えた値を、前記時刻計測部に設定することにより前記時刻計測部で計測される時刻を補正する時刻補正部を備えることを特徴とするノード装置。前記受信部で受信された時刻情報フレームに含まれている時刻情報を用いて前記時刻が補正された後に、前記時刻計測部で計測された時刻を表す他の時刻情報を取得する時刻取得部と、前記時刻取得部が取得した他の時刻情報を含む時刻情報フレームを、前記時刻取得部が時刻情報を取得した時刻から前記固定値で表される時間が経過した時刻に送信されるように生成するフレーム生成部と、前記他の時刻情報を含む時刻情報フレームを送信する送信部をさらに備えることを特徴とする請求項1に記載のノード装置。物理量を測定するセンサーと、前記送信部と前記受信部とは異なる送信部と受信部を有する無線処理部と、前記時刻計測部、前記タイマー、前記時刻補正部、前記時刻取得部、および、前記フレーム生成部を構成する第1の処理回路と異なる第2の処理回路をさらに備え、前記第2の処理回路は、前記センサーで測定された物理量を処理し、前記無線処理部は、前記第2の処理回路で処理されたデータを送受信することを特徴とする請求項2に記載のノード装置。前記時刻が補正されてから経過した時間である経過時間を計測し、前記経過時間がネットワーク中で許容される誤差の大きさの関数として決定された閾値を超えたことを検出すると、前記フレーム生成部に、前記他の時刻情報を含む時刻情報フレームの生成の停止を要求する時刻ずれ検出部をさらに含むことを特徴とする請求項2もしくは3に記載のノード装置。時刻を補正する周期である補正周期ごとに、時刻情報を含む時刻情報フレームの生成を第1の処理回路に要求する第2の処理回路と、前記第1の処理回路が前記時刻情報を取得する時刻から前記時刻情報フレームを送信する時刻までの時間として、前記時刻情報フレームの宛先ノード装置が予め記憶している固定値を記憶する記憶部と、前記時刻情報フレームを前記宛先ノード装置に送信する送信部を備え、前記第1の処理回路は、前記時刻情報フレームの生成が要求されると、前記時刻情報フレームを送信するまで割り込み処理を禁止し、前記時刻情報フレームを生成し、前記時刻情報を取得した時刻から前記固定値で表される時間が経過した時刻に、前記時刻情報フレームを前記送信部に送信させることを特徴とするノード装置。複数のノード装置が含まれるネットワーク中のノード装置における時刻同期方法であって、時刻を計測し、前記時刻の補正に使用する時刻情報を含むフレームである時刻情報フレームを送信元のノード装置から受信し、前記送信元のノード装置が前記時刻情報を取得する時刻から前記時刻情報フレームを送信する時刻までの時間である送信処理時間を、固定値として記憶し、前記時刻情報フレームを受信する時刻から、前記時刻情報を前記時刻情報フレームから取得する時刻までの時間である受信処理時間を計測し、前記時刻情報に、前記固定値と前記受信処理時間を加えた値を、前記時刻計測部に設定することにより、前記複数のノード装置の時刻を同期させることを特徴とする時刻同期方法。受信した時刻情報フレームに含まれている時刻情報を用いて前記時刻が同期された後に、計測している時刻を表す他の時刻情報を取得し、前記他の時刻情報を含む時刻情報フレームを、前記他の時刻情報を取得した時刻から前記固定値で表される時間が経過した時刻に送信されるように生成し、前記他の時刻情報を含む時刻情報フレームを送信することを特徴とする請求項6に記載の時刻同期方法。前記複数のノード装置は、物理量を測定するセンサーと、前記送信元のノード装置から送信された時刻情報フレームを受信する受信部および前記他の時刻情報を含む時刻情報フレームを送信する送信部とは異なる送信部と受信部を有する無線処理部と、前記時刻の計測、前記受信処理時間の計測、前記時刻の同期、前記他の時刻情報の取得、および、前記他の時刻情報を含む時刻情報フレームの生成を行う第1の処理回路と異なる第2の処理回路をさらに備えており、前記時刻同期方法は、前記第2の処理回路が、前記センサーで測定された物理量を処理し、前記無線処理部が、前記第2の処理回路で処理されたデータを送受信することを特徴とする請求項7に記載の時刻同期方法。前記時刻が補正されてから経過した時間である経過時間を計測し、前記経過時間がネットワーク中で許容される誤差の大きさの関数として決定された閾値を超えたことを検出すると、前記他の時刻情報を含む時刻情報フレームの生成を停止する処理をさらに含むことを特徴とする請求項7もしくは8に記載の時刻同期方法。電波時計やNTPを用いて個々のノード装置が時刻を補正することによりノード装置間の時刻を調整する場合、ノード装置間で発生する誤差の大きさは、物理量の計測に用いられるセンサーシステムで許容される誤差よりも大きい。従って、個々のノード装置が電波時計やNTPによって時刻を調整しても、センサーシステムで求められる精度で時刻同期できない。個々のノード装置がGPSを用いて時刻を同期させる場合、ノード装置間の同期の精度は高いが、各ノード装置の消費電力が大きくなるので、センサーネットワークに用いるノード装置には適さない。また、RBS、TPSN、FTSPなどの時刻同期方法では、独自の処理が行われるため、ハードウェアがカスタマイズされている場合がある。ハードウェアがカスタマイズされていると、ノード装置に含まれるチップの互換性がなくなるという問題がある。また、RBS、TPSN、FTSPなどの時刻同期方法では、時刻同期処理での使用電力が大きくなる、時刻を同期できるノード装置の数が少ないなどの問題もあるため、センサーネットワークで使用するノード装置への適用は困難である。時刻情報を含む固定長のフレームを送受信する方法は、送受信するフレームを固定長にすることが求められるため、センサーネットワークに適用しにくい場合がある。さらに、ネットワーク中の1つの装置がトークンを用いて時刻を調整する方法では、アドホックネットワークに含まれるノード装置の数が多い場合は適用できない。本発明は、ネットワークに含まれるノード装置の時刻同期を簡便に精度良く行うことを目的とする。実施形態にかかるノード装置は、時刻計測部、受信部、記憶部、タイマー、時刻補正部を備える。時刻計測部は時刻を計測する。受信部は、前記時刻の補正に使用する時刻情報を含むフレームである時刻情報フレームを受信する。記憶部は、前記時刻情報フレームの送信元ノード装置が前記時刻情報を取得する時刻から前記時刻情報フレームを送信する時刻までの時間である送信処理時間を固定値として記憶している。タイマーは、前記時刻情報フレームを受信する時刻から、前記時刻情報を前記時刻情報フレームから取得する時刻までの時間である受信処理時間を計測する。時刻補正部は、前記時刻情報に、前記固定値と前記受信処理時間を加えた値を、前記時刻計測部に設定することにより前記時刻計測部で計測される時刻を補正する。ネットワークに含まれるノード装置の時刻同期が簡便に、高精度で行われる。図1は、実施形態に係る時刻の同期方法の例を示す。送信側のノード装置は、時刻情報を含む時刻情報フレームを、受信側のノード装置に送信する。ここで、送信側のノード装置と受信側のノード装置は、予め、送信側のノード装置が時刻情報を取得してから、時刻情報フレームの送信までにかかる時間を固定値として記憶しているものとする。以下、ノード装置が時刻情報を取得してから、時刻情報を含むフレームを送信するまでにかかる時間のことを、送信処理時間と記載することがある。図1では、送信処理時間をβで表している。まず、送信側のノード装置は、時刻同期を行うために、時刻情報が未設定の時刻情報フレームを生成する。さらに、送信側のノード装置は時刻情報を取得する。図1の例では、送信側のノード装置が時刻αを表す時刻情報を取得した場合を表している。送信側のノード装置は、取得した時刻情報を時刻情報フレーム中に設定し、時刻情報の設定が終わると時刻情報フレームを送信する。ここで、送信ノード装置は、予め記憶している送信処理時間βにより表される時間で、時刻情報の取得から送信の開始までの処理を行うものとする。一方、受信側のノード装置は、時刻情報フレームを受信すると、時刻情報フレームに含まれている時刻情報を抽出する。ここで、受信側のノード装置は、時刻情報フレームの受信の開始の際に、受信処理時間の計測を開始している。受信処理時間は、ノード装置が時刻情報フレームの受信を開始した時刻から、ノード装置が時刻の更新に使用できる時刻情報である更新時刻情報を取得した時刻までの時間とすることができる。また、受信側のノード装置が、時刻情報フレームの受信を開始した時刻から、時刻情報フレームに含まれている時刻情報時刻αに送信処理時間βを加えた値を求めた時刻までの時間を受信処理時間とすることもできる。受信処理時間を図1のγで示す。受信側のノード装置は、時刻情報フレームに含まれていた時刻情報に、送信処理時間と受信処理時間を加えた値を用いて時刻を調整する。すなわち、図1の例では、時刻αβγが時刻の補正値として用いられる。時刻の補正が終了したノード装置は、他のノード装置に、時刻情報フレームを送信することにより、時刻情報を通知する。このときも、時刻情報フレームは、時刻情報が取得された時刻から送信処理時間が経過した時刻に送信される。時刻情報フレームを受信したノード装置も同様の処理を行うことにより、時刻を補正し、時刻情報フレームの送信元のノード装置との間で時刻を同期させる。なお、時刻同期の間隔は、求められる同期精度を満たす任意の間隔とされる。このように、送信処理時間を固定値に設定し、予め送信側のノード装置と受信側のノード装置に記憶させておくことで、送信元のノード装置が時刻情報を取得してから時刻情報を送信するまでに経過した時間を、受信側のノード装置が補正することができる。さらに、受信側のノード装置は、時刻情報フレームの処理にかかる時間を計測した値を用いた補正も行う。従って、送信側のノード装置と受信側のノード装置を、高精度で時刻同期させることができる。<ネットワークの例と装置構成>図2は、実施形態に係るノード装置が用いられるネットワークの例を示す。図2の例では、ネットワークには、センタサーバ1、ネットワーク2、NTPサーバ3、ゲートウェイ70、ノード装置10a~10dが含まれる。ノード装置10a~10dは、センサーを備えており、センサーから得られた物理量を、アドホックネットワークによってゲートウェイ70に送信する。一方、ゲートウェイ70は、アドホックネットワークから得られたデータを、ネットワーク2を介して、センタサーバ1に送信する。センタサーバ1は、個々のノード装置10で測定されたデータを解析する。ここで、ゲートウェイ70とノード装置10a~10dは、アドホックネットワークを形成しており、一定時間間隔ごとに時刻同期しているものとする。以下の説明では、図2の例に示すように、ゲートウェイ70は、NTPサーバ3と通信することにより最新の時刻情報を取得するものとする。なお、時刻情報は、ある特定の時刻を一意に表すことができる任意の形式とすることができる。例えば、時刻情報は、2011年12月7日1時2分3秒などの特定の時刻を表す情報絶対時刻であってもよく、また、特定のタイミングまでの時間を表すカウンタ値であっても良い。さらに、時刻情報は、年月日時分秒などの単位で表されていても、unix時間の形式で表されていても良いものとする。また、図2に示すゲートウェイ70が時刻情報を取得する方法は一例であり、ゲートウェイ70は、例えば、電波時計やGPSから最新の時刻情報を取得することもできる。図2の例では、アドホックネットワーク中の隣接ノード同士を双方向の矢印で結んでいる。以下の説明では、あるノード装置から送信されたフレームを受信できる範囲に位置するノード装置のことを、そのノード装置の隣接ノードと記載することがある。また、複数のノード装置が互いにフレームを送受信できる距離に位置することを隣接すると記載する。従って、図2の例では、ゲートウェイ70とノード装置10aの間ではフレームの送受信が可能であるが、ゲートウェイ70は、ノード装置10b~10dと直接フレームを送受信することができない。図3は、ノード装置10の構成の例を示す図である。ノード装置10は、アンテナ1414a、14b、無線RFRadioFrequency回路40、44、CentralProcessingUnitCPU50、60を備える。以下の例では、ノード装置10は、時刻同期に関する処理を、CPU50、無線RF回路40、アンテナ14aを用いて行うものとする。一方、センサー図示せずによって得られた測定値の処理やデータの送受信など、時刻同期以外の処理は、CPU60、無線RF回路44、アンテナ14bによって行われるものとする。なお、センサーは、CPU60に接続されているものとする。以下の説明では、時刻情報フレームはアンテナ14aを介して送受信され、時刻情報フレーム以外のフレームはアンテナ14bから送受信されるものとする。なお、アンテナ14aとアンテナ14bの間で送受信可能なフレームの種類が異なるようにする方法は、任意の方法を用いることができるものとする。例えば、アンテナ14aとアンテナ14bの間で送受信する周波数を互いに異なるものとすることができ、また、アンテナ14aとアンテナ14bで通信に用いられるチャネルを異なるチャネルとすることもできる。アンテナ14aは受信した信号を無線RF回路40に出力する。無線RF回路40は、RFインタフェース41aとベースバンド処理回路42aを備えている。RFインタフェース41aは、アンテナ14aから受信した信号をベースバンド信号に変換する。ベースバンド処理回路42aは、RFインタフェース41aから入力されたベースバンド信号を処理し、CPU50に出力する。また、時刻情報フレームの送信の際には、ベースバンド処理回路42aは、CPU50で生成された時刻情報フレームをベースバンド信号に変換してRFインタフェース41aに出力する。RFインタフェース41aは、入力されたベースバンド信号を搬送波によって変換した信号をアンテナ14aに出力する。CPU50は、μSカウンタ51を有し、さらに、高精度クロック52、readonlymemoryROM53、randomaccessmemoryRAM54を用いて時刻情報フレームの解析、時刻同期、他のノード装置10へ送信する時刻情報フレームの生成などの処理を行う。これらの処理については後述する。アンテナ14bは受信した信号を無線RF回路44に出力する。無線RF回路44は、RFインタフェース41b、ベースバンド処理回路42b、MAC処理部43を備えている。RFインタフェース41bは、アンテナ14bを介して受信した信号をベースバンド信号に変換する。また、RFインタフェース41は、ベースバンド処理回路42bから入力された信号を、搬送波を用いて処理する。ベースバンド処理回路42bは、得られたベースバンド信号を処理する。さらに、ベースバンド処理回路42bは、RFインタフェース41bおよびMAC処理部43との間でデータを入出力する。MAC処理部43は、CarrierSenseMediaAccessCSMAなどの無線メディアアクセス制御を行う。CPU60は、ROM61、RAM62、高精度クロック63、タイマーIC64を用いて、センサーでの測定結果などのデータの処理を行う。図4は、ゲートウェイ70の構成の例を示す図である。ゲートウェイ70は、ノード装置10と同様に、アンテナ1414a、14b、無線RF回路40、44、高精度クロック52、63、ROM53、61、RAM54、62、タイマーIC64を備えている。これらの動作は、ノード装置10と同様である。ゲートウェイ70は、さらに、CPU71、CPU80、有線MAC処理回路65、有線PHYphysicallayerチップ66を備える。CPU71は時刻情報フレームの送信のタイミングを計測して、CPU80に割り込み処理として時刻情報フレームの送信を指示する。また、CPU71は、NTPサーバ3から取得した時刻情報をCPU80に出力する。CPU80は、時刻情報が取得されてから送信処理時間として予め記憶している時間で時刻情報フレームを送信する。ここで、ゲートウェイ70は、有線MAC処理回路65および有線PHYチップ66を介して、ネットワーク2に含まれている装置や、NTPサーバ3、センタサーバ1などと通信するものとする。ゲートウェイ70は、ノード装置10から送信された時刻情報フレームを受信するが、受信した時刻情報フレームは時刻の補正には用いずに破棄する。ゲートウェイ70の動作については、後で詳しく説明する。図5は、ノード装置10で行われる時刻情報フレームの送受信に関するブロック図である。図5は、無線RF回路40、CPU50、RAM54などにより実現される処理を機能ブロックとして表している。受信部11、データ受信部12、送信部13は、無線RF回路40により実現される。補正タイマー起動部21、データ解析部22、時刻補正部24、時刻計測部30、時刻ずれ検出部25、時刻取得部26、フレーム生成部27は、CPU50により実現される。また、μSカウンタ51は、補正タイマー23として動作する。RAM54は、記憶部28として動作する。受信部11、データ受信部12、補正タイマー起動部21、データ解析部22、補正タイマー23、時刻補正部24、記憶部28、時刻計測部30は、ノード装置10が時刻情報フレームを受信したときに動作する。受信部11は、フレームを受信すると、補正タイマー起動部21に補正タイマー23の起動を要求する。受信部11は、さらに、受信したフレームをデータ受信部12に出力する。ここで、受信部11は、フレームを受信すると、受信したフレームが時刻情報フレームであるとみなしてこれらの処理を行う。なお、受信したフレームが時刻情報フレームではないとデータ解析部22で判定された場合は、時刻同期は行われない。データ受信部12は、CyclicRedundancyCheckCRCなどにより、入力された時刻情報フレームにエラーがあるかを確認する。データ受信部12は、エラーが検出されなかったフレームをデータ解析部22に出力し、エラーが検出されたフレームは廃棄する。データ解析部22は入力されたフレームが時刻情報フレームであるかを確認する。さらに、データ解析部22は、時刻情報フレームを解析することにより、時刻情報を取得し、時刻補正部24に出力する。データ解析部22の動作は後で詳しく説明する。一方、補正タイマー起動部21は、受信部11からの要求に応じて、補正タイマー23を起動させる。補正タイマー23は、時刻情報フレームを受信してから時刻情報が時刻補正部24に出力されるまでの時間を計測する。記憶部28は、予め、送信処理時間を記憶しているものとする。なお、以下の説明では、送信処理時間は、送信側のノード装置10もしくはゲートウェイ70で時刻情報フレームに設定される時刻情報が取得されてから、その時刻情報を含む時刻情報フレームが送信されるまでの時間であるものとする。時刻補正部24は、データ解析部22から時刻情報が入力されると、時刻情報、補正タイマー23の計測結果、記憶部28が記憶している送信処理時間を用いて、時刻計測部30で計測されている時刻を補正する。以下、補正タイマー23の計測結果を受信処理時間と記載することがある。時刻計測部30は、RTCRealTimeClock時刻情報部31と時刻カウンタ情報部32を備える。RTC時刻情報部31は、絶対時刻を計時する。時刻カウンタ情報部32は、時刻をカウンタ値として計時する。時刻補正部24は、時刻情報、受信処理時間、送信処理時間の合計値を用いて、RTC時刻情報部31と時刻カウンタ情報部32の値を補正する。なお、RTC時刻情報部31の補正を行う際の時刻情報は、絶対時刻であり、時刻カウンタ情報部32の補正に用いられる時刻情報はカウンタ値であるものとする。時刻ずれ検出部25、時刻取得部26、フレーム生成部27は、ノード装置10で時刻情報フレームを送信する際に動作する。時刻取得部26は、時刻計測部30から時刻情報を取得してフレーム生成部27に出力することにより、時刻情報フレームの生成を要求する。時刻ずれ検出部25は、時刻情報フレームの受信間隔が長すぎるなどの原因により、時刻計測部30で計測している時刻と実際の時刻のずれが許容範囲を超えている恐れがあるかを検出する。時刻ずれ検出部25は、時刻のずれが許容範囲を超えている恐れがあることを検出すると、時刻計測部30で計測されている時刻情報を他のノード装置10に通知しないことが望ましいため、フレーム生成部27に時刻情報フレームの生成の停止を要求する。フレーム生成部27は、時刻取得部26から時刻情報が入力されると、時刻ずれ検出部25から時刻情報フレームの生成の停止要求を受けていない場合は、時刻情報フレームを生成する。このとき、フレーム生成部27は、時刻情報の取得から時刻情報フレームの送信までの時間が送信処理時間となるようにする。フレーム生成部27は、時刻情報フレームを送信部13に出力する。送信部13は時刻情報フレームを、宛先のノード装置10に送信する。なお、時刻情報フレームの宛先として、全ての隣接ノードが指定されるものとする。一方、時刻ずれ検出部25から時刻情報フレームの生成の停止を要求されている場合、フレーム生成部27は、時刻取得部26から入力された時刻情報を破棄し、時刻情報フレームを生成しない。図6は、ゲートウェイ70からの時刻情報フレームの送信に関するブロック図である。時刻取得部92、フレーム生成部94は、CPU80により実現される。RAM54は、記憶部98として動作する。無線送信部95は、RFインタフェース41aにより実現される。時刻計測部93は、CPU71により実現される。なお、時刻計測部93は、RTC時刻情報部96と時刻カウンタ情報部97を有するものとする。時刻取得部92は、CPU71から時刻情報を取得する。ここで、時刻情報が取得される前に、CPU71は、有線MAC処理回路65および有線PHYチップ66を介して、NTPサーバ3から現在の時刻を表す時刻情報を取得しているものとする。RTC時刻情報部96は、NTPサーバ3から取得された時刻情報により調整される。また、時刻カウンタ情報部97においても、NTPサーバ3から取得した時刻情報に合わせてカウンタ値が変更される。時刻取得部92は、取得した時刻情報をフレーム生成部94に出力する。フレーム生成部94は、時刻取得部92から時刻情報が入力されると、時刻情報を含む時刻情報フレームを生成し、無線送信部95に時刻情報フレームを出力する。無線送信部95は、時刻情報フレームを全ての隣接するノード装置10に送信する。このとき、フレーム生成部94は、時刻取得部92が時刻情報を取得した時刻から、時刻情報フレームが送信されるまでの時間が送信処理時間となるように処理を行う。送信処理時間は、記憶部98に記憶されている。<実施形態>図7は、時刻情報フレームのフォーマットの例を示す。図7に示すように、時刻情報フレームは、ヘッダと時刻情報データを含む。ヘッダは、ローカル宛先LocalDestination、LDフィールド、ローカル送信元LocalSource、LSフィールド、グローバル宛先GlobalDestination、GDフィールド、グローバル送信元GlobalSource、GSフィールドを含む。さらに、フレームタイプフィールド、チャネルCH番号フィールド、フレームサイズフィールドもヘッダに含まれる。以下の説明で、グローバル宛先は、フレームの最終的な宛先のノード装置10を示すものとする。一方、ローカル宛先は、フレームをグローバル宛先に送信するために行われる1ホップの転送の際に、宛先として指定されるノード装置10を示す。ローカル送信元は、フレームが1ホップ転送される場合の転送元のノード装置10を指す。グローバル送信元は、フレームを生成したノード装置10もしくはゲートウェイ70を示す。時刻情報フレームは、送信元のノード装置10の隣接ノード装置にブロードキャストされるので、GDとLDは、全ての隣接ノードを表すブロードキャストアドレスである。また、GSとLSは時刻情報フレームを生成したノード装置10、もしくは、ゲートウェイ70のアドレスである。フレームタイプフィールドは、ペイロードに含まれるデータの種類を示す情報を記録する。時刻情報フレームの場合、フレームタイプフィールドの値は時刻情報フレームを特定する値に設定される。データ解析部22は、フレームタイプフィールドの値を用いて時刻情報フレームを識別する。チャネル番号フィールドには、時刻情報フレームの送受信に用いられるチャネルを識別する値が記録される。チャネル番号によって時刻情報フレームとその他のフレームが区別される場合、受信部11は、チャネル番号フィールドの値に応じて、時刻情報フレームを受信したかを判断する。フレームサイズフィールドは、時刻情報フレームの大きさを記録する。時刻情報データは、時刻情報とパディングを含む。なお、パディングはオプションである。時刻情報フィールドは、時刻フィールド、カウンタフィールド、シーケンス番号フィールド、ホップカウンタフィールドを備える。時刻フィールドは、時刻情報フレームを生成するノード装置10中の時刻取得部26が、時刻情報フレームに含めるためにRTC時刻情報部31から取得した時刻を記録する。ゲートウェイ70で生成された時刻情報フレームの場合、ゲートウェイ70がNTPサーバ3から取得した時刻が時刻フィールドに記録される。カウンタフィールドには、時刻取得部26が時刻カウンタ情報部32から取得したカウンタ値を記録する。ゲートウェイ70で生成された時刻情報フレームの場合、ゲートウェイ70がNTPサーバ3から取得した時刻に対応付けられたカウント値がカウンタフィールドに記録される。シーケンス番号フィールドは、何回目の時刻同期のために送受信されているかを識別する情報が格納される。シーケンス番号フィールドの値は、ゲートウェイ70のフレーム生成部94で設定される。ノード装置10は、シーケンス番号フィールドの値を変更せず、受信した時刻情報フレームに含まれている値を用いる。ホップカウンタフィールドは、ゲートウェイからのホップ数を格納する。シーケンス番号フィールドやホップカウンタフィールドの値を確認することにより、ノード装置10は、ゲートウェイ70から最短経路以外の経路で受信した時刻情報フレームを廃棄する。この場合、ノード装置10は、時刻を補正しない。動作の具体例は後述する。なお、図7は時刻情報フレームのフォーマットの一例であり、例えば、時刻情報フレームにCRCフィールドを追加するなどの変更を加えてもよい。図8は、時刻情報フレームの送信の例を示す。図8に示すように、時刻情報フレームは、送信周期Tごとにゲートウェイ70からゲートウェイ70に隣接するノード装置10に送信されている。時刻情報フレームを受信したノード装置10は、時刻を補正した後で、隣接するノード装置10に時刻情報フレームを送信する。このようにして、周期Tごとに、アドホックネットワークに含まれるゲートウェイ70とノード装置10の全体で時刻の同期が行われる。図9は、時刻同期の手順の例を説明する図である。以下、図9を参照しながら、図2に示すネットワークで、ゲートウェイ70から送信された第1の時刻情報フレームをノード装置10aが受信して時刻を補正し、ノード装置10aが第2の時刻情報フレームを送信する場合の例を説明する。ノード装置10bは第2の時刻情報フレームを用いて時刻を補正した後、第3の時刻情報フレームを送信するものとする。なお、図9中の括弧中の数字は、以下の手順の番号を示すものとする。1ゲートウェイ70のCPU71は、NTPサーバ3にアクセスしてRTC時刻情報部96と時刻カウンタ情報部97の値を補正する。2CPU71は、時刻同期の周期Tを算出する。時刻同期の周期Tは、アドホックネットワークに含まれている全てのノード装置10およびゲートウェイ70の間で、時刻のずれを許容範囲以下に抑えることができる周期である。ノード装置10間での時刻データの差は、ノード装置10が動作している周波数の偏差や、ノード装置10に搭載されているCPUで処理されるタスクの影響によって発生してしまう。しかし、時刻の同期に関する処理は、ノード装置10ではCPU50によって行われ、ゲートウェイ70ではCPU80によって行われるので、タスクの影響による時刻のずれは無視できる。そこで、CPU71は、各ノード装置10が動作する周波数の偏差によって発生する時刻のずれの大きさが許容範囲を超えないように、時刻同期の周期を決定する。例えば、発振周波数が20MHz±0.5ppmpartspermillionのクロックを用いた場合、1秒間で0.05μ秒の差が出てくる可能性がある。仮に、1秒間に0.05μ秒の差が出るとすると、差が250μ秒となるには、250μS/0.05μS/S=5000より、5000秒かかる。従って、発振周波数が20MHz±0.5ppmである場合に誤差範囲を250μ秒以下にするためには、5000秒に1回以上の頻度で時刻を同期すればよい。ここで、ノード装置10やゲートウェイ70では、時刻情報フレームの送信の際にメディアアドレス制御が行われないため、コリジョンが発生した場合でも時刻のずれが許容範囲を超えないように設定されることが望ましい。そこで、CPU71は、以下の式によって周期Tを求めることができる。T=E/e×Nここで、Tは時刻同期を行う周期、Eは時刻の誤差の許容範囲、eは1秒に発生する可能性がある誤差の大きさ、Nは時刻の誤差が許容範囲であると見込まれる時間以内に行う時刻同期の回数を表す。3CPU71は、手順2で求めた周期TをタイマーIC64にセットする。CPU71は、タイマーIC64から周期Tが経過したことを通知されると、CPU80中の時刻取得部92に時刻情報の取得を要求する。CPU71からの要求を受けると、時刻同期が行われることを予測して、CPU80は、割り込み処理を行わないために、割り込みマスクを設定する。さらに、フレーム生成部94において、ホップ数とシーケンス番号を格納しているが、時刻情報やアドレスなどの情報を含まない時刻情報フレームを生成しておく。ここで、ホップ数はゲートウェイ70を基点とするために、1が設定される。シーケンス番号は、時刻情報フレームの生成順の通し番号とする。例えば、第1の時刻情報フレームは、CPU80が初期化された後に生成する2番目の時刻情報フレームである場合、シーケンス番号は2となる。4時刻取得部92は、RTC時刻情報部96と時刻カウンタ情報部97から時刻情報を取得する。時刻取得部92は、取得した時刻情報をフレーム生成部94に出力する。フレーム生成部94は、送信処理時間を記憶部98から読み出し、時刻情報が取得されてから送信処理時間が経過した時刻に第1の時刻情報フレームが送信されるように、第1の時刻情報フレームを生成して、無線送信部95に出力する。図9の例では、送信処理時間が10703カウントであるものとする。フレーム生成部94は、送信処理時間の間に、宛先アドレスGD、LD、送信元アドレスGS、LSを設定する処理、時刻情報を時刻情報データに設定する処理などを行う。5無線送信部95は、第1の時刻情報フレームを、隣接するノード装置10に送信する。また、CPU80の割り込みマスクを解除して、割り込み処理を可能な状態に変更する。6ノード装置10aの受信部11は、第1の時刻情報フレームを受信する。7受信部11は、補正タイマー起動部21に時刻情報フレームの受信を通知する。また、受信部11は、第1の時刻情報フレームをデータ受信部12に出力する。補正タイマー起動部21は補正タイマー23を起動し、補正タイマー23は第1の時刻情報フレームの受信開始時刻からの経過時刻の計測を開始する。補正タイマー23は、μSカウンタ51を用いて経過時刻をカウントする。なお、補正タイマー23が起動される前に、既にノード装置10aが時刻情報フレームを受信していた場合、μSカウンタ51でカウントが開始されている。この場合、補正タイマー23は、μSカウンタ51のカウンタ値をRAM54に退避させる。図9の例では、既にノード装置10aが時刻情報フレームを受信しており、μSカウンタ51の値が089306572となっている。そこで、補正タイマー23は、カウンタ値089306572をRAM54に記録する。データの退避後、補正タイマー23は、μSカウンタ51のカウンタ値を0に再設定して、受信処理時間の計測を開始する。8データ受信部12は、入力されたフレームにエラーがあるかを確認し、エラーが検出されなかったフレームをデータ解析部22に出力する。ここでは、第1の時刻情報フレームがデータ解析部22に出力されたものとする。9データ解析部22は、フレームタイプフィールドの値が時刻情報フレームを表す値であるかを確認する。フレームタイプフィールドの値によって入力されたフレームが時刻情報フレームであることを確認すると、データ解析部22は、時刻情報フレームを用いて時刻同期を行ってもよいかを判定する。データ解析部22は、これまでに処理した時刻情報フレームのシーケンス番号のうちの最大値を記憶しており、最大値よりもシーケンス番号が大きな時刻情報フレームについては、時刻同期に用いても良いと判断する。例えば、シーケンス番号の最大値が1である場合にシーケンス番号が2の時刻情報フレームが入力されると、データ解析部22は、前回処理した時刻情報フレームよりも後に生成された時刻情報フレームを受信したと判定して、時刻同期に用いる。一方、シーケンス番号の最大値が1である場合にシーケンス番号が1の時刻情報フレームが入力されてきた場合、既に処理済の時刻情報フレームに基づくフレームを受信したと判断して廃棄する。データ解析部22は、さらに、ホップ数を用いてフレームを廃棄するかを判定することもできる。この場合、データ解析部22は予めホップ数の上限値を記憶しており、上限値を超えた時刻情報フレームを破棄する。入力された時刻情報フレームが時刻同期に用いることができないフレームである場合、データ解析部22は時刻情報を抽出せずに、時刻同期に用いることができないフレームを受信したことを時刻補正部24に通知する。すると、時刻補正部24は、RAM54に退避させたカウント値に、補正タイマー23のカウント値を加えた値を時刻カウンタ情報部32に入力する。すなわち、時刻補正部24は、時刻補正を行わない。入力された時刻情報フレームが時刻同期に用いることができるフレームである場合、データ解析部22は、時刻情報を取得し、時刻補正部24に出力する。図9の例では、時刻情報として、カウンタフィールドの値00001235を取得している。10時刻補正部24は、データ解析部22から時刻情報が入力されると補正タイマー23から、受信処理時間を取得する。図9の例では、第1の時刻情報フレームが受信された時刻から、時刻情報が時刻補正部24に出力された時刻までの補正タイマー23のカウント値012002218が受信処理時間として取得される。また、送信処理時間は10703カウントであることを、記憶部28は記憶している。そこで、時刻補正部24は、次式から、時刻カウンタ情報部32に設定する値を求める。αβγ=0000123501200221810703=012014156ここで、αは時刻情報、βは送信処理時間、γは受信処理時間である。時刻補正部24は、時刻カウンタ情報部32のカウンタ値を、得られた値に変更する。また、時刻補正部24は、時刻カウンタ情報部32の変更に合わせてRTC時刻情報部31の値を変更することもできる。11ノード装置10aの時刻カウンタ情報部32の値が設定されると、ノード装置10aは第2の時刻情報フレームの生成を開始する。フレーム生成部27は、ホップ数とシーケンス番号を含むが時刻情報やアドレス情報が含まれていない時刻情報フレームを生成する。ここで、ホップ数はゲートウェイ70を基点とするために、第1の時刻情報フレームのホップ数を1つインクリメントした値が設定される。シーケンス番号は、第1の時刻情報フレームのシーケンス番号が設定される。従って、ここでは、ノード装置10aのフレーム生成部27により、ホップ数=2、シーケンス番号=2が設定される。時刻取得部26は、ランダムに決定した待ち時間が経過した後、時刻カウンタ情報部32のカウンタ値を取得する。時刻取得部26は、さらに、RTC時刻情報部31の時刻情報フレームも取得する。ここでは、時刻取得部26が取得したカウンタ値は、012015156であるものとする。12時刻取得部26は、取得した時刻情報をフレーム生成部27に出力する。フレーム生成部27は、時刻取得部26から入力された時刻情報やアドレス情報を設定することにより、第2の時刻情報フレームを完成させる。なお、フレーム生成部27は、時刻情報が時刻取得部26で取得された時刻から送信処理時間が経過した時刻に、第2の時刻情報フレームが送信されるように、処理を行う。13時刻ずれ検出部25は、時刻補正部24で時刻情報フレームを用いて補正が行われたかを監視している。さらに、時刻ずれ検出部25は、時刻カウンタ情報部32の値が最後に補正されたときから経過した時間をカウントしている。時刻ずれ検出部25は、予め上限値を記憶しており、カウントされた値が上限値を超えると、フレーム生成部27に時刻情報フレームの生成の停止を要求する。なお、図9の例では、時刻カウンタ情報部32の値が手順10で補正されているので、時刻情報フレームの生成は停止されないものとする。14ノード装置10aから第2の時刻情報フレームがブロードキャスト送信される。ノード装置10bは第2の時刻情報フレームを用いて時刻を補正した後、第3の時刻情報フレームを送信するものとする。図9の例では、時刻T1にノード装置10aの時刻カウンタ情報部32のカウント値が012014156に補正されているのに対し、時刻T1でのゲートウェイ70中の時刻カウンタ情報部97のカウント値は012014155である。従って、ゲートウェイ70からブロードキャストされた第1の時刻情報フレームにより、ノード装置10aが高精度にゲートウェイ70と時刻同期されているといえる。また、ノード装置10aがブロードキャストした第2の時刻情報フレームがノード装置10bでノード装置10aの時刻情報フレームの受信処理と同様に処理されるため、ノード装置10aとノード装置10bの間でも、高精度で時刻同期される。同様に、アドホックネットワークに含まれるノード装置10の間で時刻情報フレームを送受信し、送信処理時間、受信処理時間、時刻情報の3つを用いた時刻同期が行われる。従って、本実施形態では、受信側のノード装置10で計測した受信処理時間と、固定値となっている送信処理時間が、時刻情報と共に時刻補正に用いられることにより、アドホックネットワークに含まれるノード装置10間の時刻が高精度で同期される。図10は、CPU71の動作の例を説明するフローチャートである。ゲートウェイ70が起動されると、CPU71が初期化されるステップS1。CPU71は、タイマーIC64から現在時刻を取得するステップS2。例えば、タイマーIC64から得られた時刻が20111028190010であるとする。次に、CPU71は、NTPを用いてNTPサーバ3と同期し、取得した時刻を最新時刻とするステップS3。例えば、取得された時刻が20111028190110123であれば、CPU71は、現在時刻を20111028190010から20111028190110123に変更する。CPU71は、時刻同期精度Aを計算するステップS4。ここで、A=E/eであり、Eは時刻の誤差の許容範囲、eは1秒に発生する可能性がある誤差の大きさであるものとする。CPU71は、時刻同期精度Aを、時刻の誤差が許容範囲であると見込まれる時間以内に行う時刻同期の回数で割ることにより、タイマー周期を求めるステップS5。CPU71は、時刻同期フレームを送信する周期として、タイマーに周期Tを設定するステップS6。CPU71は、周期Tで発生するタイマー割り込みを待つステップS6。割り込みが発生すると、CPU71は、CPU80に時刻情報フレームの生成を要求するステップS7。時刻情報フレームの生成を要求した後は、ステップS6~S9の処理を繰り返す。図11は、CPU80の動作の例を説明するフローチャートである。なお、図11は動作の一例であり、実装に応じて、ステップS22とステップS23の順序を変更するなどの変更が加えられる場合がある。CPU80は、カウンタ値を初期化することにより、シーケンス番号n=1、マイクロカウンタのカウンタ値=0に設定するステップS11。CPU80はCPU71からの割り込み処理を待つステップS12。CPU80は、割り込み処理の要求があると、CPU71から時刻情報フレームの生成を要求されたかを確認するステップS13。時刻情報フレームの生成以外の割り込み処理である場合、CPU80は、要求された割り込み処理を行った後、ステップS12に戻るステップS13でNo、ステップS14。時刻情報フレームの生成が要求されると、CPU80は、他の割り込み処理を受け付けないように、割り込みマスク設定するステップS13でYes、ステップS15。CPU80は、補正カウンタにより、CPU71からの時刻情報フレームの生成が要求される間隔を計測している。補正カウンタのカウンタ値が時刻同期精度Aより大きいと、CPU80は、誤動作と判断し、割り込みマスクを解除した上でステップS12に戻るステップS16でNo、ステップS17。一方、補正カウンタのカウンタ値が時刻同期精度A以下であると、CPU80は、時刻同期に使用する無線RF回路40の初期化と設定を行うステップS18。CPU80は、時刻同期フレームフォーマットを作成するステップS19。フレーム生成部94は、時刻同期フレームのホップカウンタフィールドにHopカウンタ値=1、シーケンス番号nをセットするステップS20。時刻取得部92は、CPU71がステップS3で取得した時刻を取得するステップS21。フレーム生成部94は、時刻取得部92が取得した時刻を時刻情報フレームの時刻フィールドに4バイトで年月日、時分秒をミリ秒単位までセットするステップS22。フレーム生成部94は、時刻情報フレームのカウンタフィールドにμSカウンタの値をセットするステップS23。フレーム生成部94は、ゲートウェイ70に割り当てられたアドレスをGSフィールドとLSフィールドにセットし、GDフィールドとLDフィールドにブロードキャストアドレス0xFFFFFFFFFFFFをセットする。フレーム生成部94は、さらに、フレームサイズなどをセットして時刻同期フレームを完成させるステップS24。フレーム生成部94は、ステップS24で生成したフレームを無線RF回路40に出力し、割り込みマスクを解除するステップS25、S26。さらに、フレーム生成部94は、シーケンス番号nを1つインクリメントしてステップS12に戻るステップS27。図12は、時刻情報フレームを受信したノード装置10の動作の例を説明するフローチャートである。なお、図12の例では、図9を参照しながら説明した場合と異なり、データ解析部22でCRCのチェックを行う場合について説明しているが、CRCのチェックなどはデータ受信部12で行われても良い。また、ステップS40、S42の判断の順序は変更されることがある。さらに、実装の形態やノード装置10の処理能力に応じて、ステップS42が削除される場合もある。ステップS43、S45、S46の判断の順序も実装に応じて変更される場合がある。ノード装置10の起動の際に、CPU50が初期化されるステップS31。このとき、データ解析部22は、受信した時刻情報フレームに含まれるシーケンス番号の最大値を0に設定し、ホップ数の履歴に関するデータも0に初期化する。また、データ解析部22は、ホップ数の上限値や時刻同期精度Aの設定、計算等を行う。以下の説明では、ホップ数の上限は、データ解析部22が、初期化の際にROM53から読み出しているものとし、ホップ数=20とする。次に、ノード装置10は、無線RF回路40を初期化するステップS32。補正タイマー起動部21とデータ解析部22は、受信部11でのフレームの受信をトリガとする割り込みを設定するステップS33。ノード装置10は、無線RF回路40でフレームを受信するまで待機するステップS34。受信部11でフレームが受信されると、補正タイマー起動部21は、補正タイマー23を起動する。補正タイマー23は、カウンタ値μSカウンタ51のカウンタ値を退避させ、リセットするステップS35~S37。補正タイマー23は、リセット後にカウントを再開することにより受信処理時間の計測を開始する。データ解析部22は、受信したフレームをメモリに展開し、解析を行うステップS38、S39。データ解析部22は、CRCをチェックし、異常が発見されるとフレームを破棄してステップS33へ戻るステップS40でNo、ステップS41。CRCのチェック結果が正常である場合、データ解析部22は、データ解析部22は、フレームの宛先アドレスをチェックし、フレームが自ノード宛のフレーム、または、ブロードキャストフレームであるかを確認するステップS42。フレームが自ノード宛のフレームではなく、ブロードキャストフレームでもなければ、データ解析部22はフレームを破棄してステップS33に戻るステップS42でNo、S41。一方、フレームが自ノード宛のフレーム、または、ブロードキャストフレームのいずれかである場合、データ解析部22は、フレームタイプフィールドの値をチェックするステップS43。フレームタイプフィールドの値から時刻情報フレームであることを確認すると、データ解析部22は、ホップ数が上限値以下であるかを確認するステップS43でYes、ステップS44。ホップ数が上限値以下である場合、データ解析部22は、シーケンス番号フィールドの値を読み出し、これまでに処理した時刻情報フレームのシーケンス番号の最大値と比較するステップS45。ここで、読み出したシーケンス番号>処理済のフレームのシーケンス番号の最大値であれば、データ解析部22は、解析中の時刻情報フレームを時刻補正に用いても良いと判断し、シーケンス番号とホップカウンタ値をRAM54に格納するステップS46でYes、ステップS47。さらに、データ解析部22は、時刻情報を時刻情報フレームから抽出して時刻補正部24に出力する。時刻補正部24は、補正タイマー23の現在値を読み出すことにより、受信処理時間を求めるステップS48。時刻補正部24は、時刻情報フレームから得られた時刻情報に、受信処理時間と固定値として記憶している送信処理時間を加えた値を補正値とする。時刻情報がカウンタ値である場合、送信処理時間に相当するカウンタ数、補正タイマー23のカウント値、時刻情報フレームのカウンタフィールドの値の合計値を計算するステップS49。時刻補正部24は、時刻カウンタ情報部32に得られたカウンタ値を設定することにより時刻情報フレームを設定するステップS50。また、時刻補正部24は、時刻カウンタ情報部32の変更量に合わせて、RTC時刻情報部31も補正する。一方、ステップS43、S44、S46のいずれかでNoと判定された場合、ステップS36で退避したカウンタ値に補正タイマー23の現在の値を加算した値をμSカウンタ51に設定するステップS51、S50。図13は、時刻情報フレームを送信する際のノード装置10の動作の例を説明するフローチャートである。なお、ステップS64はオプションとすることができる。時刻情報フレームの生成の開始に際して、時刻取得部26は、他の処理による不測の遅延を避けるため、CPU50の割り込みマスクを設定するステップS61。フレーム生成部27は、各フィールドの情報が含まれていない時刻情報フレームを作成するステップS62。フレーム生成部27は、RAM54に格納されているホップ数を1つインクリメントした値をホップカウンタフィールドの値とし、RAM54に格納されているシーケンス番号をシーケンス番号フィールドに設定するステップS63。なお、ステップS63で使用しているホップ数とシーケンス番号の値は、図12のステップS47で格納された値である。ノード装置10は、他のノード装置10と同時に時刻情報フレームを受信した場合に、同じタイミングで時刻情報フレームを送信してしまうことを避けるため、時刻の取得をランダム時間待つ。例えば、時刻取得部26は、0~1000の間でランダム値を発生させ、得られたランダム値に対応する時間の間、待機するステップS64。待機時間が経過すると、時刻取得部26は、RTC時刻情報部31から現在時刻を年月日時分秒ミリ秒まで読み出し、さらに、時刻カウンタ情報部32のカウンタ値も読み出すステップS65~S67。時刻取得部26は、得られた時刻情報をフレーム生成部27に出力し、フレーム生成部27は、入力された時刻情報を、時刻情報フレームの時刻フィールドとカウンタフィールドに記録するステップS68。フレーム生成部27は、アドレス情報、フレームサイズなどの値を設定して、時刻情報フレームを完成させるステップS69。時刻ずれ検出部25は、RTC時刻情報部31および時刻カウンタ情報部32が最後に補正された時刻から経過した時間を計測しており、経過時間が時刻同期精度Aを超えると、フレーム生成部27に対して時刻情報フレームの生成の停止を要求する。フレーム生成部27は、生成したフレームを送信部13に出力する前に、時刻ずれ検出部25から時刻情報フレームの生成の停止が要求されているかを確認するステップS70。時刻情報フレームの生成の停止が要求されていない場合、フレーム生成部27は、送信部13を介して時刻情報フレームを送信するステップS70でYes、ステップS71。フレーム生成部27は、CPU50への割り込みマスクを解除するステップS72。一方、ステップS70で時刻情報フレームの生成の停止が要求されていることが確認されると、フレーム生成部27は、時刻情報フレームを廃棄して、CPU50への割り込みマスクを解除するステップS70でNo、ステップS72。なお、ステップS65~S71の処理は、予め決められている送信処理時間で行われる。時刻同期の誤差要因として、a伝搬遅延によるゆらぎ、b受信信号の歪みによって生じる誤差、c計算処理によって生じる誤差、d無線のメディアアクセス制御による遅延のゆらぎが挙げられる。ノード装置10とゲートウェイ70では、時刻情報フレームの生成を行うCPU50、80を、他の処理を行うCPU60、71と別にし、さらに、時刻情報フレームの送信処理の間は、CPU50、80での割り込み処理をマスクしている。そのため、時刻情報が取得されてから時刻情報フレームが送信されるまでの処理での計算処理によって生じる誤差を解消し、総マシンサイクルを固定値送信処理時間に設定することができる。さらに、図1にも示すように、時刻情報フレームを受信したノード装置10は、フレームの受信開始から、時刻情報フレーム中の時刻情報を取得するまでの時間を、受信処理時間として計測している。ノード装置10は時刻情報に送信処理時間と受信処理時間を加えた値を用いて、時刻を補正するため、時刻情報フレームの送信元と受信先のノード装置10の間では、計算処理による誤差は発生しない。さらに、ゲートウェイ70とノード装置10は、いずれも、CSMAなどの無線メディアアクセス制御を行わない。従って、複数の時刻情報フレームが同時に送信された場合にコリジョンを避けるための待ち時間など、CPU50やCPU80で把握することができない待ち時間は発生しない。このため、ノード装置10とゲートウェイ70を用いたネットワークでは、無線のメディアアクセス制御による遅延のゆらぎも解消されている。ノード装置10とゲートウェイ70を用いたネットワークでも、伝搬遅延によるゆらぎと受信信号の歪みによって生じる誤差については、予測ができない。しかし、伝搬遅延によるゆらぎや受信信号の歪みによって生じる誤差は、他の要因によって発生する時刻の誤差の大きさに比べて非常に小さく、無視することができる。このため、ノード装置10とゲートウェイ70を用いたネットワークでは、高い精度で時刻同期をすることができる。また、図3、図4などに示したように、ノード装置10とゲートウェイ70のいずれも、汎用の部品を組み立てて製造することができる。このため、ノード装置10やゲートウェイ70は、カスタマイズされたハードウェアを用いている装置に比べて、他の装置との間の互換性が高い。さらに、汎用部品を使用できるため、製造コストを低く抑えることができ、ハードウェアのカスタマイズを行わない分の時間だけ早く製造することができる。さらに、ノード装置10とゲートウェイ70を用いたネットワークで行われる時刻同期の方法は、RBSなどの計算方法と異なり、アドホックネットワークに含まれるノード装置10の数が演算等に影響しない。このため、ノード装置10とゲートウェイ70は、大規模なアドホックネットワークの形成に用いることも可能である。また、時刻同期のために時刻情報フレーム以外のフレームを送受信しないため、ノード装置10とゲートウェイ70のいずれでも、GPSやTPSNにより時刻同期をする装置に比べて、時刻同期のための消費電力を抑えることができる。<その他>なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。図14に、ノード装置10のハードウェア構成の変形例を示す。図14の例では、ノード装置10は、アンテナ14を1つ備えており、時刻情報フレームとその他のデータのいずれも同じアンテナ14から送信される。この場合、時刻情報フレームの生成から時刻情報フレームの送信が終了するまでの間、CPU50は割り込みを禁止するため、時刻情報フレーム以外のフレームは送信されない。従って、図3に示すノード装置10が用いられるシステムに比べて、ノード装置10からのセンタサーバ1へのデータの送信が遅れる可能性がある。しかし、ノード装置10が複数のアンテナ14や無線RF回路44を備えなくても良いため、ノード装置10を小型化でき、ノード装置10の製造コストを下げることができる。図7に示した時刻情報フレームのフレームフォーマットは一例であり、実装に応じて、時刻情報フレームに含まれる情報要素は変更される場合がある。例えば、時刻フィールドとカウンタフィールドの両方が時刻情報データに含まれている場合を例として実施形態を説明したが、時刻情報フレームは、時刻フィールドとカウンタフィールドのいずれか一方を備えるように変形されても良い。この場合、絶対時間とカウンタ値のいずれか一方を用いて時刻の補正値が計算される。図3、図4は、ノード装置10およびゲートウェイ70のハードウェア構成の例であり、実装に応じて変更される場合がある。例えば、CPU50、CPU60、CPU71、CPU80のいずれか1つ以上に任意の数のフラッシュメモリが接続されていても良い。ノード装置10のRTC時刻情報部31、時刻カウンタ情報部32はCPU50によって実現される場合を例として、以上の説明を行ったが、RTC時刻情報部31と時刻カウンタ情報部32はCPU60に含まれていても良い。この場合、時刻取得部26は、時刻を取得する際に、CPU60にアクセスすることにより、RTC時刻情報部31、時刻カウンタ情報部32から時刻情報を取得する。同様に、RTC時刻情報部96と時刻カウンタ情報部97も、CPU80に含まれても良く、また、CPU71に含まれても良い。