(57)【要約】【課題】センサネットシステムにおいて、間欠的な動作を行うセンサノードの低消費電力化を図る。【解決手段】センサノードが基地局に信号を送信する時間を予測し、その予測に基づいて、センサノードから送信された信号を格納する表を基地局の無線部に設ける。これにより、センサノードと基地局との通信時間を短くすることができる。また、センサノード内のＲＴＣにマイコンの起床時間をセットし、センサノード内のマイコンをスタンバイ状態にできるようにする。【選択図】図１
2006211439.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサノードの各々に第１信号を送信する基地局であって、
前記基地局は、
前記複数のセンサノードの各々に送信する前記第１信号を格納する第１メモリと、
前記第１メモリとシリアルインタフェースを介して接続され、前記第１メモリに格納される第１信号を格納する第２メモリと、
前記第２メモリと接続される無線通信モジュールとを有し、
前記第２メモリに格納される第１信号の数は、前記第１メモリに格納される数よりも少なく、
前記第２メモリに格納される第１信号は、前記無線通信モジュールを介して前記複数のセンサノードに送信され、
前記第２メモリに格納されない第１信号は、前記シリアルインタフェースと前記無線通信モジュールとを介して前記複数のセンサノードの各々に送信される基地局。
【請求項２】
請求項１において、
前記基地局は、前記複数のセンサノードの各々から第２信号を受信し、
前記第１メモリと第２メモリとは、前記複数のセンサノードの各々から前記第２信号を受信する時刻をさらに格納され、
前記第１メモリに格納される前記時刻は、前記第２メモリに格納される前記時刻よりも遅いものを含む基地局。
【請求項３】
請求項２において、
前記基地局が前記複数のセンサノードのいずれか１つから前記第２信号を受信したとき、該センサノードに送信する第１信号が前記第２メモリに格納されている場合は、前記第２メモリに格納されている前記第１信号を該センサノードに送信する基地局。
【請求項４】
請求項２において、
前記基地局が前記複数のセンサノードのいずれか１つから前記第２信号を受信したとき、該センサノードに送信する第１信号が前記第２メモリに格納されていない場合は、前記第１メモリに該第１信号が格納されているかを判定する基地局。
【請求項５】
請求項４において、
前記第１メモリに該第１信号が格納されている場合は、前記第１メモリに格納されている前記第１信号を該センサノードに送信する基地局。
【請求項６】
請求項４において、
前記第１メモリに該第１信号が格納されていない場合は、該第１信号に代えて第３信号を該センサノードに送信する基地局。
【請求項７】
請求項６において、
前記第１信号は、前記複数のセンサノードの各々を制御するコマンド信号であり、
前記第２信号は、前記複数のセンサノードの各々に含まれるセンサから取得したデータであり、
前記第３信号は、前記複数のセンサノードの各々を制御するコマンド信号が存在しないことを示す空信号である基地局。
【請求項８】
請求項２において、
前記第１メモリと前記第２メモリとに格納される前記第１信号の各々は、前記複数のセンサノードが前記基地局に前記第２信号を受信する時刻の順に並ぶように格納されており、
前記基地局は、前記複数のセンサノードの各々から第２信号を受信した後、前記第１メモリと前記第２メモリとに格納される前記第１信号の順を書き換える基地局。
【請求項９】
請求項１において、
前記基地局は、
前記第１メモリと接続される第１ＣＰＵと、前記第１メモリと前記第１ＣＰＵとに接続される第１インタフェース制御部と、
前記第２メモリと接続される第２ＣＰＵと、前記第２メモリと前記第２ＣＰＵとに接続される第２インタフェース制御部とをさらに有し、
前記第１メモリと前記第２メモリとは、前記第１及び第２インタフェース制御部を介して前記シリアルインタフェースと接続される基地局。
【請求項１０】
請求項２において、
前記複数のセンサノードの各々から周期的に前記第２信号を受信する基地局。
【請求項１１】
第１センサと、前記第１センサから取得されるデータを受ける第１ＣＰＵと、前記ＣＰＵが実行するソフトウェアが搭載される第１メモリと、前記第１センサから取得されるデータを送信する第１無線通信モジュールと、第１インタフェース制御部とを有するセンサノードと、
前記センサノードの前記第１無線通信モジュールから送信されるデータを受信する第２無線通信モジュールと、前記センサノードに送信するデータを格納する第２メモリと、前記第２メモリに格納されるデータを前記センサノードに送信することを制御する第２ＣＰＵと、第２センサと、第２インタフェース制御部とを有する基地局とを有し、
前記第１センサと、前記第１ＣＰＵと、前記第１メモリと、前記第１無線通信モジュールと、前記第１インタフェース制御部とは、第１バスを介して接続され、
前記第２センサと、前記第２ＣＰＵと、前記第２メモリと、前記第２無線通信モジュールと、前記第２インタフェース制御部とは、第２バスを介して接続されるセンサネットワークシステム。
【請求項１２】
基地局にデータを送信するセンサノードであって、
前記センサノードは、
センサと、
前記センサから取得されるデータを受けるＣＰＵと、
前記ＣＰＵの外部に配置され、前記ＣＰＵと接続されるリアルタイムクロックとを有し、
前記基地局に前記データを送信しないとき、
前記ＣＰＵは前記リアルタイムクロックに起動時間を送信し、前記ＣＰＵはスタンバイ状態となるセンサノード。
【請求項１３】
請求項１２において、
前記起動時間がきたとき、前記リアルタイムクロックは前記ＣＰＵに信号を送信するセンサノード。
【請求項１４】
請求項１２において、
前記起動時間は、前記センサノードが前記基地局にデータを送信する時間により決定されるセンサノード。
【請求項１５】
請求項１２において、
前記センサノードは、前記ＣＰＵに保持されるデータを格納するメモリをさらに有し、
前記ＣＰＵは、前記リアルタイムクロックに起動時間を送信する前に、前記ＣＰＵに保持されるデータを前記メモリに格納するセンサノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、間欠的な動作を行うセンサノードと、そのセンサノードからデータを受信する基地局、ならびにセンサネットワークシステムに関する。
【背景技術】
【０００２】
近年、センサに無線通信機能を有する小型の電子回路を付加して、現実世界の様々な情報をリアルタイムに情報処理装置に取り込むネットワークシステム（以下、センサネットという）が検討されている。センサネットには幅広い応用が考えられており、例えば、無線回路、プロセッサ、センサ、電池を集積した指輪型の小型電子回路により、脈拍等を常時モニタし、モニタ結果は無線通信により診断装置に送信され、モニタ結果に基づいて健康状態を判定するといったような医療応用も考えられている（非特許文献１）。
【０００３】
センサネットを広く実用化するためには、無線通信機能、センサ、および、電池等の電源を搭載する電子回路（以下、センサノードという）を、長時間に渡ってメンテナンスフリー、かつセンサデータを送信し続けられるものとし、かつ外形も小型化することが重要になる。このため、超小型でどこにでも設置できるセンサノードの開発が進められている。現段階では、実用上、１年程度の期間、電池交換をせずに使用可能であることが、メンテナンスコストおよび使い勝手の両面から必要と考えられている。
【０００４】
例えば、非特許文献２には、「Ｍｉｃａ２Ｄｏｔ」と呼ばれる、直径３ｃｍ程度の小型のセンサノードのプロトタイプが紹介されている。このＭｉｃａ２Ｄｏｔは、無線通信に必要な機能を集積したＲＦチップと、低消費電力なプロセッサチップから構成される。このプロトタイプにおいては、９９％の時間は待機状態で、残りの１％の時間のみを間欠的に起動してセンサを動かして結果を無線通信するという間欠動作により、小型電池にて１年程度の動作が可能としている。
【０００５】
センサネットには、上記のような小型で無線通信を行うセンサノードと、センシングされたデータを無線で収集して、インターネットなどの有線ネットワークに接続するデバイス（以下、基地局と呼ぶ）の２種のデバイスが必要である。センサノードは、小型かつ移動性を加味して電池で駆動されることが多いのに対し、基地局は据え置きでＡＣ電源駆動されるケースが多い。
【０００６】
このような理由から、センサノードと基地局では、いくつかの機能的な違いがある。例えば基地局では、通信性能、つまり、通信の信頼性や通信距離を向上させるために、ハードウェアを高性能にして、受信性能向上の仕組みが構築される。例えば、アンテナを複数立て、双方のアンテナから得られたデータを比較解析し、元の正しいデータを生成する空間ダイバーシティなどが一般的である。他にも、角度ダイバーシティや偏波ダイバーシティなどの空間ダイバーシティの応用や、２種の異なる周波数を用いる周波数ダイバーシティなどが上げられる。
そのため、センサノードと基地局では、異なるハードウェア構成が用いられるのが一般的である。
【０００７】
また、ネットワークにおいてトラフィック量が増加するのを防ぐ方法として、アクセス頻度の高いデータを一時的に格納するキャッシュ領域を設ける方法が知られている。（例えば特許文献１参照）。
【０００８】
【特許文献１】特開平１１−６５９１５号公報
【０００９】
【非特許文献１】Sokwoo Rhee他「Artifact-Resistant Power-Efficient Design of Finger-Ring Plethysmographic Sensors」, IEEE Transactions On Biomedical Engineering, Vol.48, No.7, July 2001, pp.795-805
【非特許文献２】Crossbow 「Smarter Sensors In Silicon」[online]［２００４年２月１６日検索］、インターネット〈URL : http://www.xbow.com/Support/Support_pdf_files/Motetraining/Hardware.pdf〉
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、センサノードと基地局の２種のハードウェアを作成する場合、両方において、開発工数、無線性能のチューニングの工数、検証の工数、認証を受ける工数などが必要になる。
これに対し、センサノードと基地局で部分的にでもハードウェア構成を共通化できれば、設計期間が短縮できる可能性がある。
【００１１】
しかしながら、このようなハードウェア構成の共通化すると、次のような点に注意すべきである事に発明者らは気がついた。仮にセンサノードを基地局と同じように作った場合、大型で、性能が必要以上に高く、消費電力の高いものとなってしまう。その結果、小型、低コスト、長動作寿命が要求される応用に使えないものとなってしまう。一方、センサノードを基地局として用いることを想定すると、今度は性能が低すぎることが問題となる。例えば、センサノードは、温度などのデータをセンシングし、送信するという機能があれば良いため、数十ＭＨｚ程度のＣＰＵと、100kByte程度のRAM,ROMが搭載されていれば良い。それに対し基地局では、基地局が管理する全ノードとの通信やデータ／スケジュール管理を行い、また、インターネットなどの有線ネットワークとの接続も行う必要がある。したがって、センサノードでは不十分である。
【００１２】
そこで、第１の課題として、センサノードと基地局の開発工程を短縮化しつつ、両者にあった性能のハードウェアを実現することが挙げられる。具体的には、センサノードでは無線通信を処理できるようにし、該センサノードを利用した基地局では、新しく追加したＣＰＵとメモリ上で他の処理を行うことができるようにする。（以下、センサノードを利用して構成される基地局の部分を基地局無線部と呼び、それ以外の部分を基地局制御部と呼ぶ）。基地局無線部と基地局制御部の間はシリアルインタフェースなどで有線接続される。
【００１３】
このような構成をとった場合、基地局無線部と基地局制御部の間の通信時間が問題となる。このシリアルインタフェースの遅延時間が多くなればなるほど、以下の理由により、ノードの消費電力が高まる。
一般的にセンサノードは、所定の間隔（例えば５分に一回）でセンシングや基地局との通信を行い、消費電力を減らし寿命を延ばす目的で、センシングや通信を行うとき以外はスタンバイ状態になる（以後、これを間欠動作と呼ぶ）。スタンバイ状態では、通信を行うことはできない。したがって、基地局からノードへコマンドなどを送信するためには、ノードが受信可能な状態のときに基地局から送信する必要がある。これを効率よく行うためには、ノードがいつ受信状態にあるかを、基地局が把握している必要がある。例えば、ノードがデータを送信した直後に受信状態にし、基地局からデータの受信確認（以下、ＡＣＫと呼ぶ）やコマンドを送るというプロトコルが考えられる。この場合には、センサノードは、ＡＣＫやコマンドが受信できるまで、受信状態を維持する必要がある。
【００１４】
このような場合に、上記基地局無線部と基地局制御部の間のインタフェースの遅延時間が増大すると、それだけＡＣＫやコマンドの送信が遅れるため、ノードはその分だけ受信状態の時間が長くなり、その分だけ余分な電力を消費することとなる。
したがって、上記のようにセンサノードのハードウェアを利用して基地局を構成した場合、センサノードをできる限り長い時間動作させるためには、待ち時間、つまり、基地局がデータを受け取ってからＡＣＫやコマンドを返すまでの時間を最小限にする必要がある。特に、センサノードの基地局に対するアクセスする時間が予測できることを利用し、基地局とセンサノードとのやりとりに使用する時間を最小限にする。このためには、従来のキャッシュ方式のようにデータのアクセス頻度の多さを利用して高速化を図るのではなく、センサノードの間欠動作を利用することで高速化を図る方法について検討する必要がある。
【００１５】
第２の課題として、ノイズの対策が挙げられる。通常、センサノードでは、サイズの制約からプロセッサチップと無線チップ（ＲＦチップ）を非常に小さい領域（〜数ｃｍ角）に集積する必要がある。一方、よく知られているように、センサノードのように微弱な高周波無線信号で無線通信を行う場合には、プロセッサチップからの輻射ノイズが障害となって簡単には受信感度向上できない。通常、デジタル回路は、方形波で信号をやり取りする。方形波は様々な周波数成分の交流信号から構成され、その中には無線通信で使用する信号成分に極めて近い周波数帯の信号が含まれている。一方、ＲＦチップでは、非常に微弱な高周波無線信号（典型的にはμＶ以下のオーダー）を増幅して、所望のデータを復調する。このため、デジタル回路の信号が少しでも、ＲＦチップの入力部分に回り込んでしまうと、ＲＦチップでは、アンテナからの高周波無線信号を正常に復調できなくなってしまう。さらに、一見すると全く違う周波数成分でも、増幅回路ＬＮＡやＲＦチップ内部で使用される半導体デバイスの入出力非線形特性により、新たな周波数成分の信号が合成され、受信対象の周波数帯にノイズ信号が出現してしまう。
【００１６】
このような問題に対し、特願２００４−０６４９７３号に記載された電子装置は、基板と、センサを接続するためのコネクタと、コネクタを経由してセンサからセンサデータの入力を受け、送信データを形成する第１の信号処理回路と、第１の信号処理回路からの送信信号を高周波信号に変換する第２の信号処理回路とを有し、コネクタ及び第１の信号処理回路は基板の第１の面に実装され、第２の信号処理回路は基板の第２の面に実装した。これによりノイズの発生源となるデジタル回路と高周波回路が分離されている。また、分離の効果をより高めるために基板にはノイズシールド層を設けられている。さらに、それぞれの面の配置もノイズ発生源になる回路とノイズにセンシティブな回路とを遠ざけるように工夫される。
【００１７】
しかしながら、基地局では、ＬＣＤやスイッチ、ハードディスクなど新しいノイズ元を搭載する場合、さらにノイズに対する対策が必要になる。したがって、ノイズを受けやすいモジュールのシールドなど、さらなるノイズ軽減が必要である。
第３の課題として、センサノードのさらなる低消費電力化が挙げられる。現在は、間欠動作の制御をマイコンで行っているため、スタンバイ中でもマイコンで電力を２〜３０ｍＡ程度消費している。間欠動作の制御をマイコン外で行うことにより、消費電力化できる可能性がある。
【００１８】
そこで、本発明では、センサノードと基地局のハードウェア構成を共有化することにより設計を容易にし、応答性能の遅延を最小限にする。またノイズを排除して、実効的な受信感度を高める。さらに、間欠動作の制御をマイコン外で行うことにより低電力化する。これらにより、通信信頼性が高く、かつ、センサノードの寿命が長い実用的なセンサネットシステムを、短期間かつ低コストで提供する。
【課題を解決するための手段】
【００１９】
本発明の代表的なものは下記のとおりである。第１の課題に対し、基地局のＲＦモジュールとして、センサノードのハードウェア構成をそのまま無線部に利用する（基地局無線部）。基地局無線部と基地局制御部の間は、例えばシリアルインターフェースなどにより接続する。空間ダイバーシティを行う場合には、同じ構成のものを２個作成し、接続することにより実現できる。
【００２０】
また、基地局がノードからのデータを受け取ってから、応答（ＡＣＫ）およびコマンドを返すまでの時間の最小化を実現するために、基地局無線部のメモリにノードへのコマンドを記憶した表を格納することにより、基地局無線部と基地局制御部の間で不要な通信が発生することを回避する。
【００２１】
次に第２の課題に対し、基地局無線部にセンサノードを利用して、マイコンやＬＣＤなどのノイズ源と物理的に隔離し、さらにそのセンサノードをシールドする。
第３の課題に対しては、本発明の電子装置は、マイコン、および、それ以外に必要な、ＲＦモジュールや、電源、センサなどに加え、外部ＲＴＣを持つ。間欠動作で休止状態に入る際には、ＲＦチップやセンサの電源をオフにするのと共に、外部ＲＴＣに起床時間をセットし、マイコンをスタンバイ状態にする。これにより、電流の消費が外付けＲＴＣの動作と、スタンバイ状態のマイコンのみになる。起動時には、外部ＲＴＣの信号を割り込みとして受付けることにより、起動する。
【発明の効果】
【００２２】
本発明によれば、消費電力が低減され、実用的な動作寿命を有するセンサノードを提供することが可能となる。
【実施例１】
【００２３】
図１に通信システムの一例を示す。通信システムは、複数のセンサ機能付無線端末ＳＮ０〜ＳＮ２と、基地局ＢＳ１、ＢＳ２、インターネットＷＡＮ１、サーバＳＶ１０から構成される。無線端末ＳＮ０〜ＳＮ２と、基地局ＢＳ１の間は無線通信ＷＣ０〜ＷＣ２で接続される。基地局ＢＳ１とインターネットＷＡＮ１の間は有線通信ＬＩＦＷ１で接続される。インターネットＷＡＮ１とサーバＳＶ１０の間は有線通信Ｎ２で接続される。
【００２４】
情報の流れとしては大きく２種類ある。ひとつはセンサノードが温度や加速度、照度などのデータをセンサによって取得し、それを基地局を介してインターネット上のサーバに送信するものである。もうひとつは、サーバから基地局やセンサノードに対し、通信周波数などの条件を設定するコマンドを送るものである。
【００２５】
一般的にセンサノードは、所定の間隔（例えば５分に一回）でセンシングや基地局との通信を行う。そして、消費電力を減らし寿命を延ばす目的で、センシングや通信を行う動作状態のとき以外は、消費電力の少ないスタンバイ状態になる。動作状態とスタンバイ状態におけるセンサノードの消費電力の様子を図１８に示す。スタンバイ状態では、無線チップやセンサの電源を切る。そのため、センシングや通信を行うことはできない。したがって、基地局からノードへコマンドなどを送信するためには、ノードが受信可能な状態のときに基地局から送信する必要がある。これを効率よく行うためには、ノードがいつ受信状態にあるかを、基地局が把握している必要がある。
【００２６】
例えば、ノードがデータを送信した直後に受信状態にし、基地局からデータの受信確認（以下、ＡＣＫと呼ぶ）やコマンドを送るというプロトコルが考えられる。またその際に、そのノードが次回通信を行う時間を基地局が指定することにより、基地局で各ノードの送信時間を制御することが可能である。それにより、各ノードの送信時間を分散させて通信の衝突を回避し、ノードの消費電力を下げることができる。これらのノードの出現時間の割り当てをスケジューリングと呼ぶ。この方法を利用すると、基地局が起動後、全ノードとの通信を確立するまでの過渡段階においては、通信が衝突する可能性があるが、一度通信が確立されると、衝突もなく、全ノードが順序良く整然とデータを送信することが可能になる。この場合にスケジューリングが乱れる要因としては、ノードが定期的なデータ送信だけでなく、災害や体調不良の検地など緊急のイベントを通知してくる場合が考えられる。他にノードの状態に起因するものとして、ノードの移動により基地局との間の通信状態が悪くなったり、電池が切れて動作しなくなった場合などがある。
【００２７】
センサノードと基地局ＢＳ、サーバＳＶ１０の間のデータの送受信は、各デバイスがたとえば以下に示すようなモジュール、機能を具備することによって実現できる。
センサノードＳＮ０には、無線通信モジュールＲＦ０と、制御装置ＣＰＵ０、メモリＭＥＭ０、センサＳＮＳ０と、インタフェース制御部ＳＩＦ０とが含まれる。
【００２８】
基地局ＢＳ１には、図２に詳しく示すとおり、センサノードと同じハードウェアで構成されるハードウェア（以下、基地局無線部）ＢＳＮ１と、センサノードの管理やスケジューリング、ＷＡＮ１との通信を行う基地局制御制御部ＣＮＴ１が存在し、双方の間はたとえばシリアルインタフェースＳＩＦＷ１で接続され、インタフェース制御部ＳＩＦ１、２で双方からのデータのやりとりを行う。基地局ＢＳ１には他に、各種周辺入出力デバイスＩＯ１が接続される。周辺入出力デバイスとしてたとえば、スイッチＳＷ１、コンパクトフラッシュ（登録商標）などのメモリインタフェースＣＦＳＬＯＴ１、ハードディスクＨＤＤ１、液晶ＬＣＤ１などが接続される。
【００２９】
基地局無線部ＢＳＮ１では主に、センサノードＳＮ１〜ＳＮ３から無線で受け取ったデータを無線通信モジュールＲＦ１でデジタル信号に変換し、基地局制御部ＣＮＴ１へ送信したり、逆に、基地局制御部ＣＮＴ１から受け取ったコマンドを無線でセンサノードＳＮ１〜ＳＮ３に送信する。一方基地局制御部ＣＮＴ１では、基地局無線部ＢＳＮ１から受け取ったデータ、すなわちセンサノードＳＮ０〜ＳＮ３から受け取ったデータを、有線接続ＬＩＦＷ１を介してサーバＳＶ１０に送信したり、逆にサーバＳＶ１０から受け取ったデータを、有線接続ＬＩＦＷ１を介して基地局無線部ＢＳＮ１に送信したりする。
【００３０】
基地局制御部ＣＮＴ１のメモリＭＥＭ２のデータＤＡＴＡ２には、ノードのスケジューリング結果を格納するテーブル（スケジューリングテーブル）ＳＣＨＥＴＢＬ１が格納される。ＭＥＭ２内には他にも、主制御部ＣＮＴ１と基地局無線部ＢＳＮ１の間の通信を行うプログラムや、主制御部ＣＮＴ１とインターネットＷＡＮ１の通信を行うプログラム、スケジューリングを行うプログラムなどが含まれる。
【００３１】
インタフェース制御部ＳＩＦ１は、基地局無線部ＢＳＮ１において、基地局無線部の外部と情報をやり取りするためのモジュールである。外部インタフェースとして例えば、シリアルインタフェースなどが一般に知られている。インタフェース制御部ＳＩＦ１では、内部バスＢＵＳ１上のデータを、シリアルインタフェースに変換してＳＩＦＷ１に出力したり、逆に、ＳＩＦＷ１から得られたデータを、内部バスＢＵＳ１に出力する。
インタフェース制御部ＳＩＦ２は、上記ＳＩＦ１と同様に、基地局制御部ＣＮＴ１と、外部との情報をやり取りするためのモジュールである。ＳＩＦＷ１とＢＵＳ２の間のデータの制御、変換を行う。
【００３２】
このように、センサノードと基地局とを、ともに無線通信モジュールＲＦ０と、制御装置ＣＰＵ０、メモリＭＥＭ０、センサＳＮＳ０と、インタフェース制御部ＳＩＦ０とで構成し、センサノードにも基地局にも利用できるハードウェア構成とすることで、センサノード、基地局のハードウェアの開発が容易になる。例えば開発工数、無線性能のチューニングの工数、検証の工数、認証を受ける工数などが削減できる。ハードウェアだけでなく、基地局無線部分を制御するためのソフトウェアも共有して開発を容易にできる。なお、本実施例ではセンサノードと基地局とを同じ構成としたが、開発工数や無線性能のチューニング工数、検証、認証の工数が削減できる程度であれば構成は変更可能であることは言うまでもない。
【００３３】
次に、センサノードのアクセスに対する基地局の応答時間の最小化について説明する。
図５に示されるように、スケジューリングテーブルＳＣＨＥＴＢＬ１には、すでに基地局ＢＳ１との接続が確保されているセンサノードと、その端末に対して送信したいコマンドやデータが、出現予定の順に整列され格納されている。たとえば、ＯＲＤＥＲが１の行は、１番はじめに出現が予定されるセンサノードに関する行であり、そのセンサノードの識別番号（ＮＯＤＥＩＤ）と、そのセンサノードに送るコマンド（ＣＭＤ）、センサノードの出現時刻（ＴＩＭＥ）、後述のキャッシュテーブルＣＡＳＨＴＢＬに格納したデータか否かをあらわすフラグ（ＣＡＳＨＥＤ）が格納される。ＣＭＤには、通信周波数などの設定要求や、そのセンサノードが次に出現すべき時刻の指定などが含まれる。ＯＲＤＥＲが２の行は、その次に出現が予定されるセンサノードであり、以降、３番目、４番目、、、１０００番目まで格納される。
【００３４】
一方基地局無線部のメモリＭＥＭ１のデータＤＡＴＡ１内には、キャッシュテーブルＣＡＳＨＴＢＬ１が格納される。図４に詳しく示す。キャッシュテーブルＣＡＳＨＴＢＬ１には、もっとも近い将来出現が予定されるセンサノードに関する情報が格納される。すなわち、スケジューリングテーブルＳＣＨＥＴＢＬ１に格納されるデータのＩＮＤＥＸが１番のものから、キャッシュテーブルのサイズ内に入る分量のデータ、たとえば１００個分のデータが格納される。キャッシュテーブルＣＡＳＨＴＢＬ１は、センサノードの識別番号（ＮＯＤＥＩＤ）と、そのセンサノードに送るコマンド（ＣＭＤ）、センサノードの出現時刻（ＴＩＭＥ）が格納される。起動時は、キャッシュテーブルにはデータが存在しない。キャッシュテーブルＣＡＳＨＴＢＬ１の容量は、ノードの仕様や精度に依存する。各ノードが指定されたとおりの時刻に確実にデータを送信してくる場合には、次に出現するノードに関するコマンドさえキャッシュされていればよい。それに対し、ノードの送信時間の精度にばらつきがあったり、不定期にデータを送信してくるノードが存在する場合には、ある程度の個数のノードの分のコマンドをキャッシュしておく必要がある。
【００３５】
このように、基地局の応答時間の最小化という課題に対し、基地局無線部のメモリにノードへのコマンドの一覧表を記憶し、基地局無線部と基地局制御部の間での不要な通信をなくすことにより、ノードの消費電力の増大を最小限に抑えることができる。特に、従来のキャッシュ方式のようにアクセス頻度を利用してキャッシュにデータを格納するのでなく、基地局にアクセスしうるセンサノードの出現時刻を利用してキャッシュテーブルにデータを格納することにより、ヒット率の高いキャッシュを実現することが可能となる。
【００３６】
上記では、キャッシュテーブルＣＡＳＨＴＢＬ１にはセンサノードＳＮ１〜ＳＮ３に送信するコマンドＣＭＤを格納していたが、別な実施方法として、コマンド自体は格納せず、コマンドがＳＣＨＥＴＢＬ１に存在するか否かを表すフラグＣＡＳＨＥＤを持たせるという方法が考えられる。フラグがＯＮのとき、実際のコマンドやデータは、スケジューリングテーブルＳＣＨＥＴＢＬ１内に存在する。したがって、フラグＣＡＳＨＥＤをチェックした後、フラグがＯＮであった場合には、基地局無線部ＢＳＮ１から、基地局制御部ＣＮＴ１にそのコマンドおよびデータを要求し、取得する必要がある。フラグがＯＦＦであった場合には、即座にセンサノードに応答を返すことが可能であり、余分な遅延は生じない。
【００３７】
本実施例では、フラグがＯＮであった場合に、基地局無線部ＢＳＮ１から基地局制御部ＣＮＴ１にデータを要求し、基地局制御部ＣＮＴ１から基地局無線部にＢＳＮ１に送信する必要があるため、その分遅延が生じるという欠点がある。しかしながら、本実施例を用いた場合の利点は、キャッシュテーブルＣＡＳＨＴＢＬ１のメモリが節約できることである。たとえば、１２８バイトのコマンドを送信する場合、それら自体をキャッシュテーブルに格納する場合には合計で１２８バイト必要であるが、有無だけをフラグとして格納する場合、１ビットあれば良い。
【００３８】
図３は、基地局ＢＳ１内に、基地局無線部をＢＳＮ１１とＢＳＮ１２の２つ搭載するものである。基地局無線部ＢＳＮ１１およびＢＳＮ１２と、主制御部ＣＮＴ１の間は、たとえばシリアルインタフェースＳＩＦＷ１およびＳＩＦＷ２で接続される。
電波伝搬の厳しい環境において、通信の信頼性を向上させるために、アンテナを２本用いて良いほうのデータを利用する手法は、空間ダイバーシティと呼ばれる。上記のようにＲＦ部を２つ搭載し、受信感度の良いほうのデータを利用することにより、空間ダイバーシティを実現することができる。
この場合、ＢＳＮ１１内と、ＢＳＮ１２内に同じキャッシュテーブルを持たせ、基地局制御部ＣＮＴ１が主導で双方のテーブルのデータの整合を取る。
【００３９】
図６は、図１のセンサネットにおけるセンサノード、基地局、サーバの動作およびデータの流れの一例を示す図である。
センサノードＳＮ０ではまず、初期化Ｐ０００を行う。初期化では、無線周波数の設定や、送信電力の設定、センシング間隔や送信間隔の設定などを行う。次に温度などのデータをセンシングするセンサや、データの送受信を行う無線チップに電源をＰ００１で供給する。その後、センシングＰ００２を行い、データをメモリＭＥＭ０に格納する。その後、Ｐ００３でデータを無線通信Ｄ１により基地局ＢＳ１に送信する。その後受信状態で待機し、Ｐ００４で基地局ＢＳ１からのコマンドを無線通信Ｃ２で受信する。その後センサや無線チップへの電源供給をやめ、低電力なモードに遷移する。その後、設定されたセンシング間隔や送信間隔後に起動し、Ｐ００１から動作を再開する。この実施例では、基地局ＢＳ１とセンサノードＳＮ０の間で送受信ができるのは、基地局ＢＳ１がノード通信制御状態にあるときのみであるが、割り込み等を用いてこの通信の優先度を上げることも可能である。
【００４０】
基地局ＢＳ１ではまず、初期化Ｐ１００を行う。初期化では、無線周波数の設定や、送信電力の設定、サーバＳＶ１０との通信レートの設定などを行う。その後、ノードとの通信を、図を用いて後述するようにノード通信制御Ｐ２００で行う。ここでは、ノードから送られてくるセンシングデータを受信し、また、サーバＳＶ１０から送られてくるコマンドをノードに転送する。
【００４１】
次に、図９を用いて後述するように、ノード管理Ｐ２０１を行う。ここではスケジューリングや、キャッシュデータの生成を行う。
最後に、図１０を用いて後述するように、ホスト通信管理Ｐ２０２を行う。ここでは、基地局ＢＳ１と有線ＬＩＦＷで接続されるネットワークＷＡＮ１上のサーバＳＶ１０とのデータ送受信を行う。ノードＳＮ０から受け取ったセンシングデータを無線通信Ｄ２で送信し、また、サーバからのコマンドを無線通信Ｃ１で受信する。
【００４２】
最後にサーバＳＶ１０ではまず、初期化Ｐ５００でネットワークＷＡＮ１上での通信設定を行った後、基地局とのデータの送信Ｐ５０１、受信Ｐ５０２を繰り返す。この実施例では、サーバＳＶ１０と基地局ＢＳ１の間で送受信ができるのは、基地局ＢＳ１がホスト通信管理状態にあるときのみであるが、割り込み等を用いてこの通信の優先度を上げることも可能である。
【００４３】
図７に、ノード通信制御部Ｐ２００の詳細を示す。基地局無線部ＢＳＮ１ではまず、Ｐ２１１でセンサノードからデータを受け取ると、Ｐ２１２で、キャッシュテーブルＣＡＳＨＴＢＬ内のＮＯＤＥＩＤを調べ、該当する行が存在するかどうかを確認する。
該当する行が存在する場合には、Ｐ２１６でキャッシュテーブル内のコマンドとＡＣＫをそのセンサノードＳＮ０に送信する。その後、Ｐ２１７でノードから受け取ったセンシングデータを基地局制御部ＣＮＴ１に送信する。基地局制御部ＣＮＴ１では、Ｐ２２３で受信する。
【００４４】
一方、キャッシュテーブル内に該当行が存在しない場合には、基地局制御部ＣＮＴ１にＰ２１３でセンシングデータと、コマンド要求Ｔ２０１を送信する。
Ｐ２２１で要求を受け取った基地局制御部ＣＮＴ１では、Ｐ２２２で要求されたノードに対するコマンドが、スケジューリングテーブルに存在するか否かを調べ、Ｔ２０２で応答する。
【００４５】
Ｐ２２２の詳細を図８に示す。コマンド要求を受け取った基地局制御部ＣＮＴ１では、Ｐ２０３１でスケジューリングテーブルＳＣＨＥＴＢＬのＮＯＤＥＩＤを参照する。
Ｐ２０３２の判定において、該当するＮＯＤＥＩＤを持つ行が存在しない場合、Ｐ２０３５でコマンドＣＭＤが空（ＮＵＬＬ）のデータＴ２０２を基地局無線部ＢＳＮに送信する。これは、そのセンサノードＳＮ０が基地局ＢＳ１に初めてアクセスして来た場合や、前にアクセスしてきたことがあるが移動やタイムアウトなどによりＳＣＨＥＴＢＬ１から削除された場合にあたる。
Ｐ２０３２の判定において、該当するＮＯＤＥＩＤを持つ行が存在する場合は、前にアクセスしてきたことがありスケジューリング済みであるものの、緊急事態などで、予定の時刻よりに先駆けて出現した場合などである。この場合、Ｐ２０３３でＣＭＤが存在するか否かを判定する。
【００４６】
存在しない場合、同じくＰ２０３５でコマンドＣＭＤが空（ＮＵＬＬ）のデータＴ２０２を送信する。
存在した場合、Ｐ２０３４でそのＣＭＤを付加したデータＴ２０２を送信する。
データＴ２０２をＰ２１４で受け取った基地局無線部ＢＳＮ１では、受け取ったデータＴ２０２に含まれるＣＭＤと、ＡＣＫをＰ２１５でノードＳＮ０に送信する。これでノードＳＮ０と基地局ＢＳ１の間の通信が完了する。
【００４７】
次に図９で図６のノード管理部Ｐ３００の詳細を示す。基地局制御部ＣＮＴ１では、ノードＳＮ０との通信結果に基づき、スケジューリングＰ３２１を行う。
Ｐ２０３２の判定で該当するノードがスケジューリングテーブルＳＣＨＥＴＢＬに存在しなかった場合は、スケジューリングテーブルＳＣＨＥＴＢＬに登録する。登録する場所は、そのノードＳＮ０に送ったコマンドＣＭＤに含まれる次回の出現指定時刻と、ＳＣＨＥＴＢＬ内の各データのＴＩＭＥを比較し、次回の出現指定時刻がＴＩＭＥを上回らず、順序ＯＲＤＥＲが一番大きい行の次の行である。
Ｐ２０３２の判定で、該当するノードがスケジューリングテーブルＳＣＨＥＴＢＬに存在した場合は、スケジューリングテーブルＳＣＨＥＴＢＬの該当する行を削除し、次の出現予定に対応する行を登録する。登録する場所は上記と同様である。
【００４８】
また、出現予定時刻ＴＩＭＥを調べ、出現予定時刻ＴＩＭＥが現在時刻を一定時間上回ったノードに関するデータは削除する。これは、該当するセンサノードが電池切れや移動により、基地局ＢＳ１に通信できない状態になった場合などが考えられる。
また、基地局制御部ＣＮＴ１では、キャッシュテーブルＣＡＳＨＴＢＬに次に出現が予定される行を格納した場合、フラグＣＡＳＨＥＤを立てることにより、どのデータがキャッシュされているか、現在何個キャッシュされているかを知ることができる。事前にキャッシュテーブルＣＡＳＨＴＢＬに格納可能な総データ数を記録しておくことにより、あと何個のデータが格納できるかを求めることができる。これにより、スケジューリングテーブルＳＣＨＥＴＢＬのＯＲＤＥＲの小さいデータから順に、追加で格納可能なデータをＰ３２２で基地局無線部に送信する。
【００４９】
一方基地局無線部では、Ｐ３１１でキャッシュデータＴ３０１を受信する。その後Ｐ３１２でキャッシュテーブルＣＡＳＨＴＢＬの更新を行う。ここでは、基地局制御部ＣＮＴ１と同様、出現予定時刻ＴＩＭＥを調べ、出現予定時刻ＴＩＭＥが現在時刻を一定時間上回ったノードに関するデータはキャッシュテーブルＣＡＳＨＴＢＬから削除する。その他、Ｐ３１１で受信したキャッシュデータＴ３０１をキャッシュテーブルＣＡＳＨＴＢＬに追加する。
【００５０】
また、キャッシュテーブルを更新する方法、タイミングとして、他の方法もある。図９の方法では、基地局制御部ＣＮＴ１が基地局無線部ＢＳＮ１のキャッシュテーブルＣＡＳＨＴＢＬの空きを計算し、新たなデータを送信する。他に例えば、基地局無線部ＢＳＮ１がキャッシュメモリＣＡＳＨＴＢＬの空きを管理し、空きができ、かつ、他の通信や作業を行っていないときに、基地局制御部ＣＮＴ１に新しいデータの送信を要求する手段を併用する方法もある。キャッシュテーブルＣＡＳＨＴＢＬに少しでも空きができるたびに基地局無線部ＢＳＮ１と基地局制御部ＣＮＴ１の間で通信が発生すると、通信を確立するのに時間がかかる場合に、基地局無線部ＢＳＮ１と基地局制御部ＣＮＴ１の作業効率が悪くなる可能性がある。それに対し、上記のように基地局無線部ＢＳＮ１が主導で、キャッシュテーブルＣＡＳＨＴＢＬにある程度空きができてからまとめて転送するようにすることで、効率が上げられる。
【００５１】
次に図１０で図６のホスト通信管理部Ｐ４００の詳細を示す。基地局制御部ＣＮＴ１では、基地局ＢＳ１とサーバＳＶ１０の通信を行う。通信は、ノードＳＮ０〜ＳＮ３から送られてきたデータをサーバＳＶ１０に送るものと、サーバＳＶ１０からのコマンドをノードＳＮ０〜ＳＮ３に送るものとがある。
基地局制御部ＣＮＴ１では、Ｐ４１１で無線通信が無いことを確認すると、サーバＳＶ１０と通信を確立し、コマンドの受信４１２やデータの送信４１４をおこなう。
【００５２】
コマンドを受信すると、それをスケジューリングテーブルＳＣＨＥＴＢＬの、該当するノードのＣＭＤに追加する。該当するノードが無い場合、サーバＳＶ１０に無いことを通知したり、何もしないという方法もある。また、サーバＳＶ１０でもノードのスケジューリングを行っている場合にはその結果をスケジューリングテーブルに加える、などの方法がある。
サーバＳＶ１０側ではそれに対応し、コマンドの送信Ｐ４２１やデータの受信Ｐ４２２を行う。
【００５３】
図１１、図１２では、図６〜図１０で説明したノードＳＮ０と、基地局無線部ＢＳＮ１、基地局制御部ＣＮＴ１、サーバＳＶ１０の動作の一例を示す。
図１１、１２は図の左の直線から、ノード、基地局無線部ＢＳＮ１、基地局制御部ＣＮＴ１、サーバＳＶ１０のそれぞれの動作を表す。図の上から下の直線が時間の流れを現す。それぞれの直線の間の点線は、データの流れを表す。また、図の各動作の番号は、図６〜図１０の同一番号と対応する。
【００５４】
図１１では、基地局無線部ＢＳＮ１のキャッシュテーブルＣＡＳＨＴＢＬに、データを送信してきたノードＳＮ０に対するコマンドがキャッシュしてある場合を示す。ノードＳＮ０がＰ００１で電源をＯＮにし、センシングＰ００２を行った後、Ｐ００３でデータＤ１１を送信する。それを基地局無線部ＢＳＮ１はＰ２１１で受信し、そのノードに対するコマンドがキャッシュテーブルＣＡＳＨＴＢＬに存在するか否かをＰ２１２で確認する。もし存在する場合、Ｐ２１６でその行のコマンドＣＭＤをＡＣＫに付加し、ノードに返信する。ノードはＰ００４で受信し、Ｐ００５で電源をＯＦＦする。基地局無線部ＢＳＮ１では、ノードにＡＣＫを送った後にＰ２１７で、Ｄ１１で受け取ったデータを基地局制御部ＣＮＴ１に送信する。基地局制御部ＣＮＴ１では、Ｐ２２３でそれを受信する。
【００５５】
次にノード管理部Ｐ３００に移り、スケジューリングＰ３２１を行う。ここでは今受信したノードに対応する行をスケジューリングテーブルＳＣＨＥＴＢＬから一度削除し、そのノードが次に出現する時刻を加味し、新しい順序ＯＲＤＥＲの箇所に追加する。また、スケジューリングテーブルＳＣＨＥＴＢＬにおける各ノードの出現予定時刻ＴＩＭＥを調べ、現在時刻を一定時間異常経過している場合は、その行を削除する。
【００５６】
次に、基地局無線部ＢＳＮ１のキャッシュテーブルＣＡＳＨＴＢＬの空きを算出し、Ｐ３２２で送信する。少なくとも、今データを送ってきたノード１つ分は空くことがわかる。また、出現予定時刻ＴＩＭＥを超過して削除した行の分も同様に空くことがわかる。
基地局無線部ＢＳＮ１では、Ｐ３１１でそれを受け取って、Ｐ３１２でキャッシュテーブルＣＡＳＨＴＢＬの更新を行う。更新は上記と同様に、到達したノードに関する行を削除するとともに、出現予定時刻ＴＩＭＥが現在時刻を一定時間以上経過しているものを削除する。
【００５７】
また基地局制御部ではＰ４１４で、Ｄ１２１で受け取ったデータを、サーバＳＶ１０に送信する。サーバＳＶ１０はＰ４２２でそれを受信する。また、Ｐ４２１でノードに対するコマンドを送信する。Ｐ４１２でそれを受け取った基地局制御部ＣＮＴ１は、Ｐ４１３でスケジューリングテーブルＳＣＨＥＴＢＬにそれを反映する。
【００５８】
図１２は、基地局無線部ＢＳＮ１のキャッシュテーブルＣＡＳＨＴＢＬに、データを送信してきたノードＳＮ０に対するコマンドがキャッシュされていない場合を示す。
ノードからのデータを受け取り、Ｐ２１２でキャッシュを確認するところまでは図１１と同様である。
【００５９】
その後、該当するノードに対するコマンドが存在しなかった場合、現在受け取ったデータと、コマンドの有無を確認するためのコマンド要求を、Ｐ２１３で基地局制御部に送信する。それをＰ２２１で受け取った基地局制御部ＣＮＴ１は、スケジューリングテーブルＳＣＨＥＴＢＬを確認し、そのコマンドＣＭＤをＰ２２２で送信する。詳細は図８で説明したとおりである。
それをＰ２１５で受け取った基地局無線部ＢＳＮ１では、Ｐ２１７でＡＣＫに付加したデータＣ１１をノードに送信する。
ノードはＰ００４でそれを受信し、その後Ｐ００５で電源を切る。
【００６０】
図１２を図１１と比べると、図１１では基地局無線部ＢＳＮ１でキャッシュを確認後即座にＡＣＫを返信し、ノードは電源をＯＦＦにできるが、図１２では、一度基地局無線部ＢＳＮ１と基地局制御部ＣＮＴ１との通信が発生し、ノードはその分長く電源をＯＮにしておく必要があることがわかる。
ここで、基地局無線部にキャッシュテーブルを持ち、上述のような制御方式を利用した場合の効果の一例を見積もる。
【００６１】
ノードＳＮ０と基地局ＢＳの間の通信を以下のように想定する。センシングして送信するデータを９ｂｙｔｅとする。例えば温度センサの情報としては、典型的には２、３ｂｙｔｅあれば良い。２、３種のセンサの情報を入れたり、数回分のセンシングデータを一度に送るとする。他には、センシングした時刻などが付加される。一方、基地局からノードに送信するデータも同じ大きさとする。これには、コマンドや、次回送信すべき予定時刻などが格納される。
送信の際にはそれに通信の識別のためのプリアンブルが７ｂｙｔｅ付加されるものとする。これには、パケット長や、ノードの識別子などが含まれる。
【００６２】
一般的な無線システムでは、１２８ｂｙｔｅの情報を無線送受信するのに、５０ｍｓ程度の時間を必要とする。したがって、１６ｂｙｔｅの情報の場合は、約６．２５ｍｓを要すると考えられる。したがって、基地局無線部ＢＳＮ１のキャッシュテーブルＣＡＳＨＴＢＬに対応するデータが存在すれば、即座に返信し、ノードが起動している時間は約６．２５ｍｓとなる。厳密にはこれにキャッシュを検索するための時間が加わるが、ＣＰＵの数クロックサイクル分であり、高々数μｓであるため、無視できる。
【００６３】
それに対し、基地局無線部ＢＳＮ１のキャッシュテーブルＣＡＳＨＴＢＬに対応するデータが存在しない場合には、基地局無線部ＢＳＮ１と基地局制御部ＣＮＴ１の間のインタフェースＳＩＦＷ１通信の時間が加わる。このＳＩＦＷ１上での転送レートを仮に、一般的なシステムで利用される１９．２ｋｂｐｓとする。この場合、ここを流れるデータを送られてきた９ｂｙｔｅ、つまり７２ビットとすると、７２／１９２００＝０．００３７５で、３．７５ｍｓとなる。基地局無線部ＢＳＮ１と基地局制御部ＣＮＴ１の間で双方向で通信を行う必要があるため、倍の７．５ｍｓ必要となる。これに、上記で求めた即答した場合の時間６．２５ｍｓを加えると、合計で１３．７５ｍｓとなる。つまり、即答した場合の２倍以上の時間が必要である。
したがって、ノードが受信待ちでいなければならない時間も、２倍以上となってしまう。
【００６４】
ノードが受信待ち、もしくは送信状態であるとき、３０ｍＡ程度の電流が常時流れる。それに対し、スタンバイ状態であるときには、マイコンも無線チップも数μＡ程度であり、全体でもたかだか３０μＡ程度である。
５秒に一回送信する場合を考える。キャッシュにヒットする場合、送受信に必要な電力が６．２５ｍｓ×３０ｍＡ＝０．１９ｍＡｓ、スタンバイに必要な電力が５ｓ×３０μＡ＝０．１５ｍＡｓで、合計０．３４ｍＡｓの消費で済む。キャッシュにヒットしない場合、送受信が１３．７５ｍｓ×３０ｍＡ＝０．４１ｍＡｓ、スタンバイが５ｓ×３０μＡ＝０．１５ｍＡｓで、合計０．５６ｍＡｓ程度消費する。したがって倍近くの電力を消費する。この場合、ノードの寿命が半分近くに減ってしまうことになる。
【実施例２】
【００６５】
実施例２では、基地局の通信信頼性を向上させ、通信距離を改善させる方法について示す。
図１３に基地局無線部ＢＳＮ１をシールドした実施例を示す。
本実施例では、図２に示した基地局ＢＳ１を、３枚の基板ＢＢ１〜ＢＢ３に実装する。基板ＢＢ１〜ＢＢ３は、通信可能なコネクタＣＮ１２、ＣＮ２１、ＣＮ２２、ＣＮ３１で接続されるとともに、筐体ＣＡＳＥ１で固定される。図１６に３枚の基板の接続図を示す。図１３は、その基地局の垂直方向の断面図である。図１３で詳細に説明する。
【００６６】
基板ＢＢ１の表面ＳＩＤＥ１１に、液晶ＬＣＤ１や、スイッチＳＷ１など、ノイズの発生源となるもの、ノイズの影響を受けないものを配置する。これらと基板ＢＢ２の間は、配線がビアなどのインタフェースＩＦ１を通過し、コネクタＣＮ１２、ＣＮ２１を介し接続される。
【００６７】
また、基板ＢＢ２の表面ＳＩＤＥ２１に、ハードディスクＨＤＤ１やコンパクトフラッシュ（登録商標）ＣＦＳＬＯＴなどを配置する。基板ＢＢ１とＢＢ２で特に違いは無いが、ＢＢ１には特に、ユーザが見たり触ったりするものを優先的に配置する。基板ＢＢ２とＢＢ３の間は、上記と同様にインタフェースＩＦ２および、コネクタＣＮ２２、ＣＮ３１を介して接続される。
【００６８】
第３の基板ＢＢ３には、表面ＳＩＤＥ３１に、基地局制御部ＣＮＴ１を配置する。
他のモジュールと一番遠い基板ＢＢ３の裏面ＳＩＤＥ３２には、一番ノイズに弱い基地局無線部ＢＳＮ１を配置する。ＢＳＮ１とＣＮＴ１は、インタフェースＩＦ３と、コネクタＣＮ２を介して接続される。ここでＢＳＮ１は、シールドＳＬＤ１で遮蔽される。外部アンテナＡＮＴ１は、筐体ＣＡＳＥ１上のコネクタＣＮ１、たとえば同軸コネクタと接続し、さらに同軸ケーブルなどの配線ＷＩＲＥ１を介して、基地局無線部ＢＳＮ１上のコネクタＡＮＴＣＮ１と接続される。ＷＩＲＥ１は、シールドＳＬＤ１の一部に空けた穴HOLE１を通過する。シールドＳＬＤ１上にＣＮ１同様にコネクタを接続し、それを介して通過しても良い。
【００６９】
このように、基地局にセンサノードのハードウェアを利用して物理的に隔離し、それをシールドすることにより、デジタル回路の信号が、ＲＦチップの入力部分に回り込むことを回避し、アンテナからの高周波無線信号を正常に復調できるようになり、通信の信頼性、通信距離が改善できる。
【実施例３】
【００７０】
実施例３では、センサノードの消費電力をさらに低減する方法について示す。
図１４、図１５は、リアルタイムクロックをＣＰＵの外部に設けた一例を説明する図である。
図１４に、センサノードＳＮ１を構成する回路を基板ＢＯ１の表面ＳＩＤＥ１へ実装した様子を示し、図１５に、基板ＢＯ１の裏面ＳＩＤＥ２へ実装した様子を示す。図１４に示されるように、基板ＢＯ１の表面ＳＩＤＥ１には、高周波信号処理チップＣＨＩＰ１（以下、「ＲＦチップ」と称する）、第１の水晶振動子Ｘ１、高周波スイッチＲＦＳＷ、高周波低雑音増幅器ＬＮＡ、マッチング回路ＭＡ、裏面ＳＩＤＥ２に実装された回路とのインタフェースＩＦ１、表示装置ＤＩＳＰ、および、コンデンサＣ１、Ｃ２、Ｃ３、Ｃ４が実装されている。
【００７１】
また、図１５に示されるように、裏面ＳＩＤＥ２には、プロセッサチップＣＨＩＰ２、コネクタＣＮ１、第１および第２の電源遮断スイッチ（ＰＳ１、ＰＳ２）、内部センサとしての温度センサＴＳ１、第２の水晶振動子（Ｘ２）、リアルタイムクロック（ＲＴＣ）、及び表面ＳＩＤＥ１上に設けられたスイッチＲＦＳＷおよび増幅器ＬＮＡをインタフェースＩＦ１経由で制御するＲＦＳＷ／ＬＮＡ制御回路ＬＳＣから構成される。コネクタＣＮ１には、基板の外部にとりつけられ、センサノードの内部に配置される外部センサ、例えば温度センサ、加速度センサ、歪センサ等が接続される。なお、水晶振動子に代えてセラミック振動子を用いることもできる。
【００７２】
ＲＦチップＣＨＩＰ１とプロセッサチップＣＨＩＰ２とはインタフェースＩＦ１により相互に接続される。プロセッサチップＣＨＩＰ２は、内部センサから、またはコネクタＣＮ１経由で外部センサからセンサデータを収集し、センサデータをインタフェースＩＦ１経由でＲＦチップＣＨＩＰ１に引き渡す。ＲＦチップＣＨＩＰ１はセンサデータを無線信号に変換して、センサノードＳＮ１の外部に設置される基地局ＢＳ１に送信する。また、逆に基地局ＢＳ１からの無線信号を受信する。外部無線端末からは、典型的には、センサデータの送信要求や、無線通信の周波数や伝送レート等の動作パラメータが送信され、センサノードＳＮ１で受信されたデータは、インタフェースＩＦ１経由でプロセッサチップＣＨＩＰ２に引き渡され、次回からの無線通信時の設定等に使用される。
【００７３】
次に、図１５を参照しながら、基板ＢＯ１の裏面ＳＩＤＥ２に実装されたプロセッサチップＣＨＩＰ２について説明する。プロセッサチップＣＨＩＰ２は、メモリ回路ＭＥＭ、マイコンＣＰＵ、データ入出力回路ＳＩＯ、Ａ／Ｄ変換回路ＡＤＣ、プログラマブル入出力回路ＰＩＯを含む。これらの回路ブロックは、内部バスＢＵ１により相互に結合され、データのやり取りや制御がなされる。
【００７４】
メモリ回路ＭＥＭは低消費電力なＳＲＡＭ（Static Random Access Memory）やフラッシュメモリ等の不揮発メモリで構成される。メモリ回路ＭＥＭ上に、後述する本発明に特有な制御方式を実現するためのソフトウェアが搭載される。マイコンＣＰＵは搭載されたソフトウェアに従ってプロセッサチップＣＨＩＰ２内の他の回路ブロックを制御して、所望の動作を実現する。
データ入出力回路ＳＩＯはシリアルデータの入出力回路であり、センサデータをＲＦチップＣＨＩＰ１に送るために使用される。また、プログラマブル入出力回路ＰＩＯはパラレルデータの入出力回路であり、主にＲＦチップＣＨＩＰ１の送信／受信等の動作モードの制御に必要な制御データの入出力のために使用される。
【００７５】
コネクタＣＮ１には外部センサが接続されるが、外部センサはアナログデータを出力するものであっても、デジタルデータを出力するものであってもよい。アナログタイプのセンサのセンサデータＡＰはＡＤ変換回路ＡＤＣによりデジタルデータに変換される。例えば、センサノードＳＮ１にはアナログタイプの温度センサＴＳ１が基板ＢＯ１上に内蔵されており、センサＴＳ１からの温度データＡＴはＡＤ変換回路ＡＤＣにてデジタル量に変換され、必要に応じてメモリＭＥＭ上に格納される。一方、デジタルタイプのセンサデータＤＰはプログラマブル入出力回路ＰＩＯを介してプロセッサチップＣＨＩＰ２に入力され、必要に応じてメモリＭＥＭ上に格納される。
【００７６】
また、プロセッサチップＣＨＩＰ２はＲＦＳＷ／ＬＮＡ制御回路ＬＳＣを制御し、増幅器ＬＮＡの電源のオン／オフや高周波スイッチＲＦＳＷの送受信切り替えを実行する。さらに、プロセッサチップＣＨＩＰ２は電源遮断スイッチＰＳ１，ＰＳ２を制御して、温度センサＴＳ１や外部センサの電源のオン／オフを制御する。
【００７７】
次に、図１４を参照しながら、基板ＢＯ１の表面ＳＩＤＥ１に実装されたＲＦチップＣＨＩＰ１について説明する。ＲＦチップＣＨＩＰ１は、高周波変復調回路ＲＦ、発振回路ＯＳＣ及び制御回路ＣＯＮから構成される。プロセッサチップＣＨＩＰ２から送られて来たセンサデータＤＳは高周波変復調回路ＲＦにおいて所定の周波数帯（〜３１５ＭＨｚ）の高周波無線信号ＲＦＯに変換され、外部無線端末へと送信される。また、外部無線端末からの高周波無線信号は、アンテナＡＮＴ１にて受信され、高周波変復調回路ＲＦにて復調される。復調された信号ＣＳはインタフェースＩＦ１経由でプロセッサチップＣＨＩＰ２に引き渡される。なお、センサノードＳＮ１では受信強度をモニタしており、受信強度を示す信号ＡＳも高周波変復調回路ＲＦのＲＳＳＩ端子からインタフェースＩＦ１経由でプロセッサチップＣＨＩＰ２に引き渡されている。
【００７８】
また、発振回路ＯＳＣは水晶振動子Ｘ１の発振周波数をベースに、ＲＦチップＣＨＩＰ１全体の動作に必要なクロック信号、及び目的の無線通信帯の高周波信号（搬送周波数信号）が生成される。
さらに、高周波変復調回路ＲＦと発振回路ＯＳＣとは、制御回路ＣＯＮにより、プロセッサチップＣＨＩＰ２の制御信号ＣＳに応じて制御される。具体的には、送信や受信等の動作モードの切り替えや、送受信信号の周波数帯の微調整、あるいは、送信電力等が制御される。さらに、プロセッサチップＣＨＩＰ２からの制御信号により発振回路ＯＳＣを停止させて、ＲＦチップＣＨＩＰ１全体を待機状態に移行させることも可能である。この場合、ＲＦチップＣＨＩＰ１の消費電流を典型的には１μＡ以下にまで削減可能である。  その他の構成要素について動作及び構成を説明すると以下の通りである。
【００７９】
高周波スイッチＲＦＳＷは、裏面ＳＩＤＥ２上に設けられたＲＦＳＷ／ＬＮＡ制御回路ＬＳＣにより制御される。アンテナＡＮＴ１とＲＦチップＣＨＩＰ１との間の結線を切り替えて所望の送受信動作を実現する。具体的には、送信時には高周波スイッチＲＦＳＷのＲＩ端子とＲＯ２端子間を導通させる。また、受信時にはＲＩ端子とＲＯ１端子を導通させる。
【００８０】
増幅器ＬＮＡはＲＦチップＣＨＩＰ１の外付けとして、アンテナＡＮＴ１で受信された非常に微弱な高周波無線信号を、ＲＦチップＣＨＩＰ１で復調可能なレベルにまで増幅する。ここで、増幅器ＬＮＡを外付けとしたのは、ＲＦチップＣＨＩＰ１と違うプロセスで形成された素子を用いるためである。低コスト化及び低消費電力動作のため、ＲＦチップＣＨＩＰ１はＣＭＯＳ回路で構成することが望ましい。しかし、その一方でＣＭＯＳ回路にはゲート雑音が大きいといった問題があり、微弱な高周波無線信号を増幅するのは不得手である。そこで、増幅器ＬＮＡとしてはＣＭＯＳコンパチブルでないプロセスで形成された回路を用い、外付け回路としている。増幅器ＬＮＡはその増幅能力を考慮し、例えばＧａＡｓといった化合物半導体、ＳｉＧｅ、あるいはバイポーラ回路で構成することが望ましい。アンテナＡＮＴ１にて受信された高周波無線信号は、増幅器ＬＮＡの入力端子ＬＩに入力され、所定の増幅率で増幅された後に出力端子ＬＯ経由で出力される。増幅器ＬＮＡの増幅率は、３１５ＭＨｚ帯で１０ｍ程度の通信距離で安定的に通信したい場合には、１０〜２０ｄＢ程度が好ましい。また、増幅器は一般に消費電流が大きいため、イネーブル端子ＬＥを制御することにより動作状態と待機状態とを切り替えるようにし、待機時の消費電流を典型的には１０μＡ程度まで削減可能となっている。しかし、センサノードＳＮ１において１０μＡもの電流を常時消費すると電池寿命に深刻な影響を与えるため、本実施例においてはプロセッサチップＣＨＩＰ２からの制御によって増幅器ＬＮＡへの電源供給を遮断するように構成し、センサノードＳＮ１の低消費電力化を図っている。
【００８１】
マッチング回路ＭＡは、ＲＦチップＣＨＩＰ１の入出力インピーダンスと、高周波スイッチＲＦＳＷおよび増幅器ＬＮＡの入出力インピーダンスをマッチングさせ、高周波無線信号がこれらの素子の間でロスなく伝達できるようにするための回路である。マッチング回路ＭＡは、インダクタ、コンデンサ、抵抗、あるいは、フィルタ等の受動部品で構成される。
【００８２】
データ信号線ＤＳは、プロセッサチップＣＨＩＰ２のデータ入出力回路回路ＳＩＯとＲＦチップＣＨＩＰ１の高周波変復調回路ＲＦ間を接続する信号線である。また、制御線信号ＣＳは、プロセッサチップＣＨＩＰ２のプログラマブル入出力回路ＰＩＯとＲＦチップＣＨＩＰ１の制御回路ＣＯＮとを接続する信号線である。データ信号線ＤＳは２つのチップ間のデータのやり取りに使用され、制御信号線ＣＳは、プロセッサチップＣＨＩＰ２がＲＦチップＣＨＩＰ１の動作モードを切り替えるための制御線として使用される。さらに、表示装置制御線ＤＣは表示装置ＤＩＳＰの制御に用いられる。
また、ＬＮＡイネーブル端子制御線ＬＣ、ＲＦＳＷ送受信切り替え制御線ＲＣ、および、ＬＮＡ電源ラインＶＤＤ１は、ＲＦＳＷ／ＬＮＡ制御回路ＬＳＣにより制御される。
【００８３】
水晶振動子Ｘ２はメインクロック用で、例えば、数ＭＨｚ以上のものである。メインクロック使用時の消費電流は、典型的には数ｍＡとなる。プロセッサチップＣＨＩＰ２は、低消費電力モードにおいてメインクロックＸ２を停止させ、ソフトウェアスタンバイ状態に移行し、リアルタイムクロックＲＴＣを利用して復帰する。なお、ここでいうソフトウェアスタンバイ状態とは、ＬＳＩの消費電力を低減するために用いる状態である。具体的には例えば、クロックの供給を停止し、ＣＰＵ、周辺機能の動作を停止させる。規定の電圧が与えられている限り、ＣＰＵのレジスタ、および内蔵ＲＡＭ のデータは保持されるが、そうでない場合は保持されず消滅する。スタンバイ状態の解除は、外部割り込みや、リセット、スタンバイ制御端子よって行われる。
【００８４】
リアルタイムクロックＲＴＣを用いた制御方法を図１７に示す。まずＰ７１１でＣＰＵのＲＡＭのデータをメモリＭＥＭに退避する。ソフトウェアスタンバイ状態にすると、データが消滅してしまうためである。次に、Ｐ７１２でＲＴＣに起動時刻をデータＴ７０１に設定する。その後、Ｐ７１３でソフトウェアスタンバイ状態にする。
Ｐ７２１で起動時刻をデータＴ７０１の通り設定したＲＴＣは、Ｐ７２２で起動時刻が来ることをチェックする。起動時刻が来ると、Ｐ７２３でシグナルＴ７０２を発生させる。
【００８５】
ＣＰＵはシグナルＴ７０２をＰ７１４で受けて起動する。その後、Ｐ７１５で、Ｐ７１１で退避したデータを書き戻し、ソフトウェアスタンバイの前の状態に復帰する。
ＣＰＵの起動時刻は、センサノードが基地局に対して通信を行う時間により決定される。先に述べたように、ＣＰＵのスタンバイ状態ではセンシングや通信を行うことができない。したがって、ＣＰＵは基地局に対して通信を行う時間では起動しているようにする。そして、基地局に対して通信を行わない時間では消費電流低減のため、ソフトウェアスタンバイとなり、ＣＰＵの外部につけられたＲＴＣを利用して再度通信するときに起動できるようにしておく。
【産業上の利用可能性】
【００８６】
本発明により低消費電力で動作可能なセンサノードをもち、かつ、通信性能の高いセンサネットが、短期間でかつ低コストで提供され、それにより種々の分野におけるセンサネットシステムの構築が可能になる。
【図面の簡単な説明】
【００８７】
【図１】センサノードを基地局無線部に用いたセンサネットの一実施形態を示す図である。
【図２】センサノードを基地局無線部に用いた基地局の一実施形態を示す図である。
【図３】センサノードを基地局無線部に用いた基地局の一実施形態を示す図である。
【図４】基地局無線部のメモリに格納されるキャッシュテーブルの一実施形態を示す図である。
【図５】基地局制御部のメモリに格納されるスケジューリングテーブルの一実施形態を示す図である。
【図６】図１のセンサネットにおけるセンサノード、基地局、サーバの動作およびデータの流れの一例を示す図である。
【図７】図６の基地局のノード通信制御部の動作およびデータの流れを示す図である。
【図８】図７の基地局のコマンド確認および送信部の動作を示す図である。
【図９】図６の基地局のノード管理部の動作およびデータの流れを示す図である。
【図１０】図６の基地局のホスト通信管理部の動作およびデータの流れを示す図である。
【図１１】図１のセンサネットにおける動作シーケンスの一例（キャッシュあり）を示す図である。
【図１２】図１のセンサネットにおける動作シーケンスの一例（キャッシュなし）を示す図である。
【図１３】基地局無線部をシールドしたハードウェアの一例を示す図である。
【図１４】リアルタイムクロック（ＲＴＣ）を外付けにしたハードウェアの表面の一例を示す図である。
【図１５】リアルタイムクロック（ＲＴＣ）を外付けにしたハードウェアの裏面の一例を示す図である。
【図１６】リアルタイムクロック（ＲＴＣ）を外付けにしたハードウェアを用いた時の制御フローの一例を示す図である。
【図１７】外付けしたリアルタイムクロック（ＲＴＣ）とマイコンの動作の流れを示す図である。
【図１８】センサノードの間欠動作を示す図である。
【符号の説明】
【００８８】
SN0〜SN2 … センサノード、WC0〜WC2 … 無線通信、CPU0〜CPU2 … 制御装置、CPU10 … 制御装置、SNS1,SNS11,SNS12 … センサ、SIF0〜SIF2,SIF11,SIF12 … インタフェース制御部、RF0〜RF1 … 無線チップ、ANT0〜ANT1 … 無線アンテナ、MEM0〜MEM2 … メモリ、MEM10 … メモリ、SIF1 … インタフェース制御部、BS1〜BS2 … 基地局、BSN1 … 基地局無線部、DATA1〜DATA2 … データ、CASHTBL1 … キャッシュデータを格納するテーブル、INDEX … キャッシュのデータ番号を格納する列、NODEID … センサノード番号を格納する列、CMD … センサノードに送るコマンドを格納する列、TIME … センサノードに送る予定時刻を格納する列、ORDER … スケジューリングの結果予定されたデータの受信順序、CASHED … キャッシュテーブルに格納済みか否かを判定するフラグ、SCHETBL1 … スケジューリング結果を格納するテーブル、SIFW1 … 基地局無線部と基地局制御部の間のインタフェース、LIFW1 … 基地局とインターネットの間の接続、WAN1 … インターネット、N2 … インターネットとサーバの間の接続、NI10 … LANインタフェース、SV10 … サーバ、CNT1 … 基地局制御部、IO1 … 周辺入出力デバイス、BUS3 … 周辺入出力デバイスと基地局無線部の接続、SW1 … スイッチ、CFSLOT1 … コンパクトフラッシュ（登録商標）カードのスロット、HDD1 … ハードディスクドライブ、LCD1 … 液晶ディスプレイ、CPU11〜CPU12 … 制御装置、RF11〜RF12 … 無線チップ、MEM11〜MEM12 … メモリ、DATA11〜DATA12 … データ、CASHTBL11〜CASHTBL12 … キャッシュデータを格納するテーブル、SIFW11〜SIFW12 … 基地局無線部と基地局制御部の間の接続、SIF11, SIF12 … インタフェース制御部、SIFW11, SIFW12 … 基地局無線部と基地局制御部の間のインタフェース、P000 … 初期化、P001 … センサ・無線チップ電源オン、P002 … センシング、P003 … データ送信、P004 … コマンド受信、P005 … センサ・無線チップ電源オフ、P100 … 初期化、P200 … ノード通信制御、P300 … ノード管理、P400 … ホスト通信管理、P500 … 初期化、P501 … データ受信、P502 … コマンド送信、D1, D2 … データ、C1, C2 … コマンド、P211 … ノードからのデータ受信、P212 … コマンドの有無の判定、P213 … 制御部へコマンド要求とデータ送信、P214 … 制御部からのコマンド受信、P215 … ノードへACKとコマンド送信、P216 … ノードへACKとコマンド送信、P217 … ノードからのデータを制御部へ送信、T201 … コマンド要求とデータ、T202 … コマンド、T203 … データ、P221 … コマンド要求とデータ送信、P222 … コマンド確認・送信、P223 … データ受信、P2031 … スケジューリングテーブル参照、P2032 … 該当ノードの有無判定、P2033 … コマンドの有無確認、P2034 … コマンドを付加したアクノリッジ送信、P2035 … コマンドが空のアクノリッジ送信、P311 … キャッシュデータ受信、P312 … キャッシュテーブル更新、P321 … スケジューリングテーブル参照、P322 … キャッシュデータ送信、T301 … キャッシュデータ通信、P411 … 無線通信検出、P412 … コマンド受信、P413 … スケジューリングテーブルにコマンド格納、P414 … ノードデータ送信、P421 … コマンド送信、P422 … ノードデータ受信、T401 … コマンド通信、T402 … ノードデータ通信、D11, D121, D122, D13 … ノードデータ通信、C11, C12, C13 … コマンド通信、CASE1 … 基地局筐体、BB1〜BB3 … 基板、SIDE11 … 基板BB1の表面、SIDE12 … 基板BB1の裏面、SIDE21 … 基板BB2の表面、SIDE22 … 基板BB2の裏面、SIDE31 … 基板BB3の表面、SIDE32 … 基板BB3の裏面、CN12 … 基板BB1に付属するコネクタ、CN21〜CN22 … 基板BB2に付属するコネクタ、CN31 … 基板BB3に付属するコネクタ、IF1 … 基板BB1の表面と裏面をつなぐインタフェース、IF2 … 基板BB2の表面と裏面をつなぐインタフェース、IF3 … 基板BB3の表面と裏面をつなぐインタフェース、CN1 … 無線アンテナをつなぐCASE1上のコネクタ、ANTCN1 … 無線アンテナをつなぐBSN1上のコネクタ、WIRE1 … コネクタCN1とコネクタANTCN1をつなぐケーブル、SLD1 … 基地局無線部のシールド、
SN1 … センサノード、SIDE1 … 基板の第１の面、SIDE2 … 基板の第２の面、CHIP1, CHIP2 … 半導体集積回路、C1, C2, C3, C4 … コンデンサ、X1, X2 … 水晶振動子あるいはセラミック振動子、ANT1 … アンテナ、LNA … 高周波低雑音増幅器、RFSW … 高周波スイッチ、MA … 高周波インピーダンスマッチング回路、RF … 高周波回路（データ変復調、ＰＬＬ、ＶＣＯを含む）、OSC … 発振回路、CON … 制御回路、DISP … ＬＥＤ表示モニタ、CPU …マイコン、ADC … Ａ／Ｄ変換回路、MEM, CMEM1 … メモリ、SIO … シリアル通信回路、PIO … プログラマブル入出力回路、LSC … RFSW/LNAの制御回路、PS1, PS2, PS11, PS21, PS22 … 電源遮断スイッチ、S … 温度センサ、CN1, CN2, CN3 … コネクタ、VDD … 第１の電源ライン、VDD2 … 第２の電源ライン、VDD3 … 第３の電源ライン、GND … グランド電位、IF1 … インタフェース、V1, V2, V3, V4, V5, V6, V7, V10, V11, V13, V15, V21, V22, V23 … 基板の表面と裏面を接続するためのビア（貫通穴）、DS … データ信号線、CS … 制御信号線、DC … LED表示モニタの制御信号線、RES … CHIP2のリセット信号線、AP … Ａ／Ｄ変換信号線、DP … デジタルＩ／Ｏ信号線、AT … 温度センサの出力信号線、BO1 … 基板、BU1 … 内部バス、RFO … 高周波無線信号、RI … RFSWのアンテナ入力端子、RO1, RO2 … RFSWの出力端子。
RTC … リアルタイムクロック、P711 … CPU内メモリRAMのデータをメモリMEMに退避、P712 … 外付けリアルタイムクロックRTCに起動時間を設定、P713 … スリープ状態に移行、P714 … 起動、P714 … P711で退避したデータを読み戻す、P721 … 起動時間を設定、P722 … 起動時間か否かを判定、P723 … シグナル発生、T701 … 起動時間の設定、T702 … シグナル。
【図１】
2006211439.tif 000003
【図２】
2006211439.tif 000004
【図３】
2006211439.tif 000005
【図４】
2006211439.tif 000006
【図５】
2006211439.tif 000007
【図６】
2006211439.tif 000008
【図７】
2006211439.tif 000009
【図８】
2006211439.tif 000010
【図９】
2006211439.tif 000011
【図１０】
2006211439.tif 000012
【図１１】
2006211439.tif 000013
【図１２】
2006211439.tif 000014
【図１３】
2006211439.tif 000015
【図１４】
2006211439.tif 000016
【図１５】
2006211439.tif 000017
【図１６】
2006211439.tif 000018
【図１７】
2006211439.tif 000019
【図１８】
2006211439.tif 000020