(57)【要約】【課題】  親機と子機間でスリープサイクルの同期を取ることで双方向通信を可能にし、かつ子機の電池寿命を改善する無線通信システムを提供する。【解決手段】  無線通信センサシステム１は、親機１０と、電池で駆動される子機２０とを含む。親機は、スリープ時間に関する情報を含むクエリを全子機に送信する。子機２０の各々は、クエリを受信し、クエリに含まれるスリープ時間に関する情報に基づきスリープ時間を算出し、算出したスリープ時間をタイマに設定し、スリープ時間の間、低消費電力で動作し、スリープ時間を経過したとき通常の動作状態で動作する。【選択図】  図１
2018085572.tif 000002
【特許請求の範囲】
【請求項１】
電池により駆動される複数の子機と、複数の子機と無線通信を行う親機とを備えた無線通信システムであって、
親機は、子機のスリープ時間に関するスリープ時間情報を含むクエリを決められたアクセス周期ＴＭで全ての子機に送信する送信手段と、
前記クエリに対する応答メッセージを受信する受信手段とを有し、
複数の子機の各々は、
親機からのクエリを受信する受信手段と、
受信したクエリに含まれるスリープ時間情報に基づきスリープ時間を設定し、スリープ時間を計測するスリープ設定手段と、
スリープ時間を設定するときに主要回路の電源をオフにし、スリープ時間が経過したときに主要回路の電源をオンにする電力制御手段と、
親機からのクエリに対する応答メッセージを送信する送信手段とを有し、
親機が複数の子機の各々をアクセスする時間と子機のスリープ時間が同期される、無線通信システム。
【請求項２】
子機は、親機がアクセスする一定時間前に電源オンされる、請求項１に記載の無線通信システム。
【請求項３】
前記スリープ時間設定手段は、前記スリープ時間情報に基づきスリープ時間を算出する算出手段を含み、前記算出手段は、スリープ時間情報Ｔに基づき、以下の数式に従いスリープ時間Ｔｓｌｐを算出する、請求項１に記載の無線通信システム。
【数２】
2018085572.tif 000004
【請求項４】
親機がアクセスする時間よりも前に子機が電源オンされる時間Ｔｐは、
Ｔｐ＝Ｔｒｓｔ＋Ｔｉｎｉ＋Ｔｒｃｖ＋Ｔｓｔである、請求項３に記載の無線通信システム。
【請求項５】
前記スリープ時間情報は、親機が全ての子機をアクセスする周期である、請求項３に記載の無線通信システム。
【請求項６】
前記電力制御手段は、前記主要回路をスリープ状態にし、前記受信手段からクエリが受信されたとき前記主要回路をスリープ状態から起動する、請求項１に記載の無線通信システム。
【請求項７】
前記電力制御手段は、前記主要回路がクエリに対する処理を実行する間、前記受信手段をスリープ状態にする、請求項１または６に記載の無線通信システム。
【請求項８】
電池により駆動される複数の子機と、複数の子機と無線通信を行う親機とを備えた無線通信システムにおける無線通信方法であって、
親機は、子機のスリープ時間に関するスリープ時間情報を含むクエリを決められたアクセス周期ＴＭで全ての子機に送信するステップと、
複数の子機の各々は、親機から送信されたクエリを受信するステップと、
受信したクエリに含まれるスリープ時間情報に基づきスリープタイマにスリープ時間を設定しかつスリープタイマを起動させるステップと、
クエリに対する応答メッセージを送信するステップと、
応答メッセージの送信後、スリープ時間の間、主要回路の電源をオフにし、スリープ時間が経過したときに主要回路の電源をオンにするステップとを有し、
親機が複数の子機の各々をアクセスする時間と子機のスリープ時間が同期される、無線通信方法。
【請求項９】
スリープ時間Ｔｓｌｐは、スリープ時間情報Ｔに基づき、以下の数式により算出される、請求項８に記載の無線通信方法。
【数３】
2018085572.tif 000005
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、親機と複数の子機との間で無線による通信を行う無線通信システムに関し、特に、電池で駆動される子機の消費電力の低減および親機と子機間の同期方法に関する。
【背景技術】
【０００２】
親機と複数の子機とから構成される無線通信システムにおいて、子機の電源として電池を使用する場合、可能な限り消費電力を抑えて、電池寿命を長くすることが望まれる。電池寿命は、１回の充電で使用可能な時間を指す。例えば、１回の充電による電池寿命が１年以上であることが市場で求められており、また、電池はできるだけ小さいもの（例えば、単三電池）が求められている。
【０００３】
例えば、特許文献１の無線通信装置の制御システムでは、親機が有効最小な受信強度範囲内の強度で受信できるように、子機の無線の無線出力レベルを切り換え可能にすることで、子機の送信電力を抑え電池の長寿命化を図っている。また、特許文献２の無線通信システムでは、電池の残量を監視し、電池の残量が所定値以上であれば、消費電力が相対的に大きい第１の通信部（例えば、無線ＬＡＮ通信部）を動作させ、電池の残量が所定値より小さければ、第１の通信部の動作を停止して消費電力が相対的に小さい第２の通信部（例えば、Ｂｌｏｏｔｏｏｔｈ通信部）を動作させることで、電池駆動による無線通信機の長時間動作を可能にしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２５６９８２号公報
【特許文献２】特開２０１６−１６７６８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
子機の電力消費を抑えるため、親機と子機との通信を間欠的に行う方式がある。間欠無線通信では、子機が送信専用、親機が受信専用の一方通行の通信が一般的である。送信側の子機は、ある一定時間毎(例えば、１秒間隔)または、イベントが発生した時に親機に状態を通知し、それ以外の時間、またはイベントが発生しない期間は低消費電力状態(スリープ状態)に入る。このような間欠通信方式により、常時、通信を行う子機と比べて、消費電力を格段に抑えることができる。なお、低消費電力状態は、スリープと呼ばれる眠った状態であり、例えば、クロック速度を低速化したり、マイクロプロセッサやセンシング部の動作を停止させたり、通常の動作を行うことができない状態である。子機がスリープ状態であるとき、子機は、親機からの情報も受信することもできない。以降、低消費電力状態をスリープ状態と呼ぶ。
【０００６】
従来の間欠通信方式では、常時通信する子機に比べて消費電力を抑えることができる一方で、子機が送信専用、親機が受信専用の一方通行の通信であり、親機は、子機がスリ−プ状態であるか否かを判定することができず、親機は、子機に対して送信することができない。従って、例えば、子機が何らかの検出を行うセンサである場合、親機から子機に対してセンサの閾値の設定及び変更、子機の初期化等の指示等をすることができなかった。子機の設定及び変更を行う場合は、対象の子機をシステムから切離してオフラインで作業しなければならず、非常に煩雑であった。
【０００７】
一方で、親機から子機への送信を可能とするために、親機と子機の間で両機器が情報の送受信を行う双方向通信を用いることも可能であるが、現状の双方向通信システムでは、子機は、常に動作状態（ウェークアップ状態ともいう）となっている。これは、親機と複数の子機との間でスリープサイクルと動作サイクルの同期を取ることができず、親機は、子機がスリープ状態にあることを認識することができないためである。それ故、子機の電池の寿命が短くなってしまう。１つの例として、双方向通信での子機の電池寿命は、７２時間程度である。
【０００８】
本発明は、このような従来の課題を解決するものであり、親機と子機間でスリープサイクルの同期を取ることで双方向通信を可能にし、かつ子機の電池寿命を改善する無線通信システムおよび無線通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る無線通信システムは、電池により駆動される複数の子機と、複数の子機と無線通信を行う親機とを備えたものであって、親機は、スリープ時間に関する情報を含むクエリを複数の子機の各々に送信する送信手段と、全子機からクエリに対する応答メッセージを受信する受信手段とを含み、複数の子機の各々は、前記クエリを受信する受信手段と、受信されたクエリに含まれるスリープ時間に関する情報に基づきスリープ時間を算出する算出手段と、クエリに対する応答メッセージを親機に返信する返信手段とを有し、子機は、スリープ時間の間、低消費電力で動作し、スリープ時間を経過したとき、通常状態で動作する。
【００１０】
本発明に係る無線通信方法は、電池により駆動される複数の子機と、複数の子機と無線通信を行う親機とを備えた無線通信システムにおけるものであって、スリープ時間に関する情報を含むクエリを親機から複数の子機の各々に送信するステップと、子機側において、親機から受信されたクエリに含まれるスリープ時間に関する情報に基づきスリープ時間を子機側で算出するステップと、子機側において、スリープ時間を監視し、スリープ時間を経過したとき、低消費電力状態からウェークアップさせるステップと、子機がウェークアップされたタイミングに同期して、親機から子機にクエリを送信するステップとを有する。
【発明の効果】
【００１１】
本発明によれば、親機からスリープ時間に関する情報を複数の子機に送信し、子機それぞれがスリープ時間に関する情報に基づいてスリープ状態のオン／オフを切り替えるようにしたので、必要な時間帯だけスリープ状態が解除され、その他の状態についてはスリープ状態となるため、消費電力の節約が見込まれる。また、親機は、子機のスリープ状態が解除された時間に同期してクエリを送信することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例に係る無線通信センサシステムの全体構成を示す図である。
【図２】本発明の実施例に係る親機の構成を示すブロック図である。
【図３】本発明の実施例に係るポーリングプログラムの機能的な構成例を示す図である。
【図４】クエリ情報および子機からの応答メッセージ情報のフォーマットを例示する図である。
【図５】スリープ時間に関するファンクションコードの機能を示す図である。
【図６】本発明の実施例に係る子機の構成を示すブロック図である。
【図７】本発明の実施例に係る応答プログラムの機能的な構成例を示す図である。
【図８】本発明の実施例に係るホストの構成を示すブロック図である。
【図９Ａ】本発明の実施例に係る無線通信センサシステムの全体の動作フローを説明するタイミングチャートである。
【図９Ｂ】本発明の実施例に係る無線通信センサシステムの全体の動作フローを説明するタイミングチャートである。
【図１０】本発明の実施例に係る子機の動作を説明するタイミングチャート図である。
【図１１Ａ】本発明の実施例に係る子機の動作フローを示す図である。
【図１１Ｂ】本発明の実施例に係る子機の動作フローを示す図である。
【図１２】本発明の実施例に係る親機の動作フローを示す図である。
【図１３】本発明の実施例の変形例に係る無線通信センサシステムの全体構成を示す図である。
【発明を実施するための形態】
【００１３】
次に、本発明の実施の形態について、図面を参照して詳細に説明する。本発明に係る無線通信システムは、電池により駆動される複数の子機と、複数の子機と双方向の無線通信を行う親機と、親機に接続された制御装置（ホスト装置）とを含んで構成される。本発明の無線通信システムは、好ましくは、複数の子機によって検出された情報を監視する監視システムであることができる。子機は、遠隔地に配置され、遠隔地の種々の情報を検出することが可能である。例えば、子機は、温度センサ、湿度センサ、水位センサ、土壌水分センサ、雨量計、圧力センサ、気圧センサ等を含むことができる。親機は、複数の子機と双方向の無線通信を行い、複数の子機に情報を送信し、あるいは複数の子機から情報を受信する。親機はさらに、無線通信システムの全体を制御する制御装置に接続され、制御装置からの命令等に応じて複数の子機に指示を送信することができる。
【実施例】
【００１４】
図１は、本発明の実施例に係る無線通信センサシステムの全体構成を示す図である。本実施例に係る無線通信センサシステム１は、親機１０と、複数の子機２０ａ、２０ｂ、２０ｃ、…２０ｎ（ｎは、２以上の整数）と、ホスト装置３０とを含んで構成される。なお、子機２０ａ〜２０ｎの全体を総称するときは、子機２０という。
【００１５】
親機１０は、複数の子機２０の各々との間で無線（例えば、９２０ＭＨｚの周波数帯）による双方向通信を行う。親機１０が子機２０ａに対してクエリ（問い合わせ）Ｑａを送信すると、子機２０ａは、クエリＱａに対する応答メッセージＲａを返信する。同様に、親機１０が子機２０ｂに対してクエリＱｂを送信すると、子機２０ｂは、クエリＱｂに対する応答メッセージＲｂを返信する。本実施例のシステムでは、親機１０が子機２０をアクセスする場合には、予め決められた数ｎの子機２０に対して、予め決められた順序（例えば、アドレスの若い順）で全ての子機２０ａ、２０ｂ、２０ｃ、…２０ｎにクエリＱａ、Ｑｂ、Ｑｃ、…Ｑｎを送信し、各子機から応答メッセージを受信する。子機２０は、親機からのアクセスがある期間に同期してウェークアップし、極力、電池が消耗されることを抑制する。また、仮に一部の子機が切断された場合であっても、親機１０は、切断された子機をスキップすることなく、予め決められた数ｎの子機２０をアクセスすることで、親機と子機との間の同期が失われないようにする。
【００１６】
子機２０は、親機１０からクエリＱを受信すると、それに対する応答メッセージＲを作成し、これを親機１０に送信する。子機２０は、電池（バッテリー）により動作され、必要最低限の動作のみを行うスリープ状態（低消費電力状態）と、スリープ状態からウェークアップされた通常の動作状態とを有する。通常の動作状態では、子機に含まれる全ての機能が完全に動作することが可能であり、低消費電力情報では、子機に含まれる一部の機能が動作可能になる。
【００１７】
ホスト装置３０は、親機１０に対して有線または無線により接続される。ホスト装置３０は、コンピュータ装置、ノートパソコン、携帯型通信端末、タブレット型通信端末等であることができる。ホスト装置３０は、システム全体を監視し、または制御するため、親機１０に対して必要な指示を与え、また親機１０から子機２０の情報を収集する。ホスト装置３０は、例えば、インターネットまたはイントラネット等のネットワークを介して親機１０に接続されてもよい。
【００１８】
図２は、本実施例に係る親機の構成の一例を示すブロック図である。親機１０は、入力部１００（例えば、親機１０に取り付けられた各種スイッチ類やボタン、タッチパネル入力、電源のオン／オフスイッチ等）、無線通信部１１０、外部接続部１２０、記憶部１３０、表示部１４０および制御部１５０を含んで構成される。なお、この構成は例示であり、親機は、他の構成を含むものであっても良い。
【００１９】
無線通信部１１０は、子機２０との間で双方向の無線通信を行うための無線モジュール（以下、ＷＭと呼ぶことがある）を含む。親機１０と子機２０の間の無線通信は、親機１０から複数の子機２０に対してアクセス可能なプロトコルで行われ、例えば、Modbus（登録商標）プロトコルの通信方式が採用される。この通信方式では、親機１０だけがクエリ（問い合わせ）を発行することができ、親機１０は、アドレス指定された子機にクエリを発行するユニキャスト通信を行う。子機の各々は、親機からのクエリに対して応答メッセージを作成し、これを親機１０に送信する。
【００２０】
外部接続部１２０は、ホスト装置３０との有線または無線の接続を確立したり、その他のネットワーク等との接続を確立する。親機１０とホスト装置３０との接続は、子機２０との無線通信と非同期で行われる。有線接続は、例えば、ＲＳ２３２Ｃケーブル、ＵＳＢケーブル、有線ＬＡＮであることができ、無線接続は、ＷｉＦｉ（登録商標）、ＷｉＭＡＸ、無線ＬＡＮ、Bluetooth(登録商標)であることができる。
【００２１】
記憶部１３０は、制御部１５０が実行するプログラム、子機２０へのクエリ、子機２０からの応答メッセージ、ホスト装置３０からの命令等などの種々のデータを格納することができる。表示部１４０は、親機１０に取り付けられた液晶ディスプレイ等の表示媒体であり、親機１０の状態を表す警告メッセージ、子機２０から応答メッセージ、外部機器との接続情報等を表示することができる。
【００２２】
制御部１５０は、好ましい態様では、マイクロコントローラまたはマイクロプロセッサ（ＭＰＵ）等から構成され、制御部１５０は、親機１０と子機２０との双方向の無線通信を制御する通信制御プログラムまたはシーケンスを実行する。
【００２３】
図３は、制御部１５０が実行する通信制御プログラムまたはシーケンスの機能的な構成を示す図である。通信制御プログラム（または通信制御シーケンス）２００は、クエリ作成部２１０、スリープ情報設定部２２０、クエリ送信部２３０、応答メッセージ受信部２４０、子機情報提供部２５０を含む。
【００２４】
クエリ作成部２１０は、子機２０の各々に発行するクエリを作成する。図４（Ａ）に、クエリの伝送フォーマットを示す。クエリには、同図に示すように、デバイスアドレスと、ファンクションコードと、クエリデータと、エラーチェックとが含まれる。
【００２５】
デバイスアドレスは、子機２０の各々に割り当てられた固有の識別情報であり、親機は、子機２０をアクセスするとき、子機のデバイスアドレスを指定する。例えば、図１の子機２０ａにクエリを送信する場合には、子機２０ａのデバイスアドレスを指定し、子機２０ｂにクエリを送信する場合には、子機２０ｂのデバイスアドレスを指定する。
【００２６】
ファンクションコードは、例えば、Modbus規格による種々のコマンド等が含まれる。例えば、子機の出力のオン／オフ状態を読み出すコマンド、子機の入力のオン／オフ状態を読み出すコマンド、子機のレジスタが保持する内容を読み出すコマンド、子機のレジスタの内容を変更するコマンド等がある。さらに本実施例では、図５に示すように独自のファンクションコードＦｎを備えている。ファンクションコードＦｎは、子機にスリープ時間の設定指示とポーリングを行うコマンドである。このファンクションコードＦｎは、親機１０が子機２０にアクセスする場合には、常に含まれる。
【００２７】
クエリデータには、種々の情報を含めることができ、例えば、子機のセンサのしきい値の設定や変更に加え、ファンクションコードＦｎのためのスリープ時間を設定するために必要なスリープ情報が含まれる。エラーチェックは、伝送データのエラーの検出・訂正を行うための情報が含まれる。
【００２８】
スリープ情報設定部２２０は、子機２０がスリープ時間を設定するために必要なスリープ情報を設定する。１つの好ましい例では、スリープ情報は、親機が全ての子機２０をアクセスする周期Ｔ（以後、状態通知間隔ともいう）である。子機２０の数がｎであるとき、親機１０は、Ｔ／ｎの時間間隔で１つの子機をアクセスすることになる。状態通知間隔Ｔは、ホスト装置３０から親機１０に指示されるが、親機１０は、この指示がない場合、デフォルト値を状態通知間隔Ｔとすることができる。
【００２９】
クエリ送信部２３０は、無線通信部１１０を介して、例えば、子機のアドレスの若い順（例えば、図１の子機２０ａ、２０ｂ、２０ｃ、…２０ｎの順）に作成したクエリを全ての子機２０に対して送信する。
【００３０】
応答メッセージ受信部２４０は、クエリに対して子機２０から送信された応答メッセージを受信する。応答メッセージの伝送フォーマットを図４（Ｂ）に示す。確認用デバイスアドレスは、応答メッセージを作成した子機のアドレスであり、確認用ファンクションコードは、子機が実行したファンクションコードであり、応答データは、クエリに対する応答内容を含む情報である。子機情報提供部２５０は、応答メッセージ受信部２４０で受信した応答データをホスト装置３０に提供する。
【００３１】
次に、本実施例の子機２０について説明する。図６は、子機２０の機能的な構成を示すブロック図である。子機２０は、概ね、センサモジュール３００、無線通信モジュール３１０、電源モジュール３２０および制御モジュール３３０を含む。センサモジュール３００は、子機２０が設置された位置において必要な情報を検出するためのセンサ回路、センサ回路により検出された情報を保持する記憶回路等を含む。無線通信モジュール３１０は、親機１０との間で双方向の無線通信を行うための通信回路等を含む。電源モジュール３２０は、電池から供給される電力を各部へ搬送制御する回路等を含む。制御モジュール３３０は、子機２０の全体を制御する回路等を含む。
【００３２】
図７は、子機２０の要部の回路構成を示す図である。図中において、破線は、電源ライン、実線は、信号ラインを示す。また、ここにはセンサモジュール３００の詳細は示されていない。
【００３３】
子機２０は、充電可能な二次電池４００を含み、電池４００は、電圧ＶＢ（例えば、３．６〜３．７Ｖ）を各部へ供給する。すなわち、電池４００からの電圧ＶＢは、ＤＣ／ＤＣコンバータ４０２、４０４、リセット回路４１０、４１２、およびスリープタイマ４２０に供給される。
【００３４】
リセット回路４１０は、電池４００の電圧ＶＢが印加されると、これに応答してパワーオンリセットのためのリセット信号ＲＥＳＥＴ１を電源ロード制御回路４４０に出力する。電源ロード制御回路４４０は、リセット信号ＲＥＳＥＴ１を受け取ると、パワーオンリセットされ、ＤＣ／ＤＣコンバータ４０２にイネーブル信号ＥＮを出力し、ＤＣ／ＤＣコンバータ４０２を動作させる。ＤＣ／ＤＣコンバータ４０２は、電池４００の電圧ＶＢを所望の電圧Ｖ１に変換し、変換された電圧Ｖ１は、制御部４３０およびリセット回路４１２に供給される。リセット回路４１２は、ＤＣ／ＤＣコンバータ４０２からの電圧Ｖ１を受け取ると、これに応答してパワーオンリセットのためのリセット信号ＲＥＳＥＴ２を制御部４３０に出力する。制御部４３０は、ＤＣ／ＤＣコンバータ４０２からの電圧Ｖ１を入力し、かつリセット回路４１０からのリセット信号ＲＥＳＥＴ２を受け取ると、パワーオンリセットされ、内部を初期化する。制御部４３０はさらに無線モジュール４７０を初期化し、かつパワーオンするためのリセット信号ＲＥＳＥＴ３およびパワーオン信号ＰＷＲＯＮを無線モジュール４７０へ出力する。
【００３５】
一方、ＤＣ／ＤＣコンバータ４０４は、電池４００からの電圧ＶＢにより動作され、変換された所望の電圧Ｖ２を無線モジュール４７０に出力する。無線モジュール４７０は、電圧Ｖ２が入力されただけでは、パワーダウンモードであるが、上記したように制御部４３０からのパワーオン信号ＰＷＲＯＮが入力されると、パワーオンモードになる。無線モジュール４７０がパワーオンモードであるとき、無線モジュール４７０は、親機１０からのクエリを受信することが可能である。無線モジュール４７０はさらに、制御部４３０からのコマンドを受け取ることが可能であり、当該コマンドによりパワーオンモードからスリープ状態、スリープ状態からパワーオンモードに移行することができる。無線モジュール４７０がスリープ状態のとき、無線モジュール４７０のＲＦ回路の電源がオフし、低消費電力状態となる。スリープ状態のとき、無線モジュール４７０は、親機１０からのクエリを受信することはできない。
【００３６】
スリープタイマ４２０は、電池４００からの電圧Ｖｂにより動作可能になる。スリープタイマ４２０は、子機２０のスリープ時間をカウントすることにより制御部４３０のスリープ時間を監視する。スリープタイマ４２０のスリープ時間は、制御部４３０によって設定される。好ましい例では、制御部４３０は、親機１０のクエリに含まれるアクセス周期Ｔに基づきスリープ時間を算出し、算出されたスリープ時間Ｔｓｌｐをスリープタイマ４２０に設定し、スリープタイマ４２０のカウントを始動させる。
【００３７】
制御部４３０は、親機へ応答メッセージを送信後、電源ロード制御回路４４０に対してＤＣ／ＤＣコンバータ４０２の動作を停止させるための制御信号ＳＴＰを出力する。電源ロード制御回路４４０は、制御信号ＳＴＰを受け取ると、ＤＣ／ＤＣコンバータ４０２にディスエーブル信号を出力し、ＤＣ／ＤＣコンバータ４０２の動作が停止される。これにより、制御部４３０には電圧Ｖ１が供給されなくなり、制御部４３０は、事実上、電源オフ状態となる。また、スリープタイマ４２０は、スリープ時間の経過をカウントすると、タイムオーバー信号ＴＭＯを電源ロード制御回路４４０に出力する。電源ロード制御回路４４０は、タイムオーバー信号ＴＭＯを受け取ると、ＤＣ／ＤＣコンバータ４０２に再びイネーブル信号ＥＮを出力し、ＤＣ／ＤＣコンバータ４０２を動作させる。これにより、制御部４３０が電源オン状態になる。
【００３８】
アドレス保持部４５０は、子機のアドレスを保持し、当該アドレス情報を制御部４３０へ提供する。このアドレス情報は、例えば、クエリに対する応答メッセージを作成するときに参照される。また、アドレス保持部４５０へのアドレスの設定方法は任意であるが、例えば、ディップスイッチなどよりアドレスの設定または変更を行うことができる。
【００３９】
割込み制御部４６０は、無線モジュール４７０が自局宛てのクエリを受信したとき、制御部４３０に割り込み信号ＩＮＴを出力し、スリープ状態の制御部４３０をウェークアップさせる。
【００４０】
次に、制御部４３０の主な機能について説明する。制御部４３０は、図８に示すように、クリエ受信部５００、ファンクション実行部５１０、スリープ時間算出部５２０、スリープ時間設定部５３０、スリープ／起動実行部５４０、応答メッセージ作成部５５０および応答メッセージ送信部５６０等を含む。これらの機能は、ソフトウエア（プログラム）、ハードウエア、あるいはソフトウエアとハードウエアの組合せのいずれによって実行されてもよい。制御部４３０が、例えば、ＲＯＭ、ＲＡＭを含むマイクロプロセッサＭＰＵを含むとき、ＲＯＭまたはＲＡＭ内のプログラムを実行することにより、上記の主な機能を動作させることができる。
【００４１】
クエリ受信部５００は、無線モジュール４７０を介して自局宛てのクエリを受信する。１つの例では、制御部４３０はプログラムコマンド（スリープコマンド）を実行することによりスリープ状態となり、制御部４３０がスリープ状態のとき、無線モジュール４７０が親機１０から自局宛てのクエリを受信すると、無線モジュール４７０は、割込み制御部４６０に割込み信号ＩＮＴを出力させる。制御部４３０は、割込み信号ＩＮＴを受け取ると、スリープ状態からウェークアップする。無線モジュール４７０は、クエリに含まれるデバイスアドレスを抽出し、自局宛てのクエリか否かを判定する。
【００４２】
ファンクション実行部５１０は、クエリ受信部５００によりクエリが受信されると、クエリに含まれるファンクションコードを実行する。例えば、ここには図示しないが、子機に含まれるセンサのしきい値を設定したり、センサにより検出された値をレジスタから読出す等の動作を行う。また、クエリには、常に、図５に示すファンクションコードＦｎが含まれているため、ファンクション実行部５１０は、スリープ時間算出部５２０にスリープ時間の算出等をさせる。
【００４３】
スリープ時間算出部５２０は、クエリに含まれるアクセス周期Ｔ（状態通知間隔Ｔ）に基づきスリープ時間Ｔｓｌｐを算出する。スリープ時間Ｔｓｌｐは、以下の数式により算出される。ここで、Ｔｒｓｔは子機内部のリセット時間、Ｔｉｎｉは子機内部の初期化時間、Ｔｒｃｖは親機の送信時間＋子機の受信時間、Ｔｓｔはスリープタイマ設定とタイマスタートまでの時間である。Ｔｒｓｔ、Ｔｉｎｉ、Ｔｒｃｖ、Ｔｓｔの時間は、例えば、デフォルト値として予めレジスタ等に保持される。但し、親機は、所望のファンクションコードにより、レジスタに記憶されたＴｒｓｔ、Ｔｉｎｉ、Ｔｒｃｖ、Ｔｓｔの時間を変更することも可能である。
【数１】
2018085572.tif 000003
【００４４】
スリープ時間設定部５３０は、信号線ＳＬＴを介して算出されたスリープ時間Ｔｓｌｐをスリープタイマ４２０に設定する。スリープタイマ４２０は、スリープ時間が設定されると、そのカウントを開始し、カウント終了時にタイムオーバー信号ＴＭＯを電源ロード制御回路４４０に出力する。
【００４５】
スリープ／起動実行部５４０は、予め決められた動作シーケンスに従い、制御部４３０をスリープ状態にする。１つの例では、スリープ／起動実行部５４０は、プログラムのスリープコマンドを実行することでスリープ状態になる。制御部４３０がスリープ状態になると、制御部４３０に含まれる、例えば、カウンタやクロックなどがオフにされ、制御部４３０が低消費電力状態になる。また、スリープ／起動実行部５４０は、割込み制御部４６０から割込み信号ＩＮＴが入力されたとき、ウェークアップコマンドを実行し、制御部４３０をスリープ状態から起動する。
【００４６】
応答メッセージ作成部５５０は、クエリに対する応答メッセージを作成する。例えば、クエリがセンサの検出値の要求であれば、応答メッセージ作成部５５０は、センサの検出値を含む応答メッセージを作成する。応答メッセージ送信部５６０は、作成された応答メッセージを親機に返信する。なお、応答メッセージの伝送フォーマットは、図４（Ｂ）に示した通りである。
【００４７】
ホスト装置３０は、親機１０に対して子機２０のセンサのしきい値の設定や変更を指示したり、状態通知間隔Ｔを通知したり、あるいは親機１０から提供された子機２０の応答メッセージの内容を受信する。なお、ここでは親機１０とホスト装置３０とを別個に構成しているが、両者を１つの装置として構成してもよい。
【００４８】
次に、本発明の実施例に係る無線通信センサシステム１の動作について説明する。図９Ａおよび図９Ｂは、親機１０と４つの子機＃１、＃２、＃３、＃４とが無線通信するときの親機から子機の動作タイミングを示す図である。図中、ＭＰＵは、制御部４３０を表し、Ｗ／Ｍは、無線モジュール４７０を表す。また、ＴＭ１、ＴＭ２、ＴＭ３、ＴＭ４は、子機＃１、＃２、＃３、＃４をアクセスするタイミングであり、ＴＭ１＝ＴＭ２＝ＴＭ３＝ＴＭ４である（これらを総称するときＴＭという）。図１０は、システム立上げ時と通常動作時の子機の動作を示すタイミングチャートである。図中、Ｐ１は初期化動作、Ｐ２は受信動作、Ｐ３はスリープ時間セット動作、Ｐ４は応答送信動作を表し、ｔ１、ｔ２、ｔ３、ｔ４は、Ｐ１、Ｐ２、Ｐ３、Ｐ４の動作に要する時間を表す。また、図１１Ａ、１１Ｂは、子機の詳細な動作フローを示し、図１２は、親機の詳細な動作フローを示す。
【００４９】
無線通信センサシステムの立上げ時
１．ホスト装置３０は、親機１０に対して、親機が全子機をアクセスする周期、すなわち状態通知間隔Ｔを設定するように指示する。親機は、ホスト装置３０からの指示がない場合、デフォルト値を状態通知間隔Ｔとする。この設定は、システムの立上げ時に限らず随時行うことができる。
【００５０】
２．全ての子機のＭＰＵは、電源が投入(Power On)されると自身の初期化を行い、ＷＭのみを動作状態にして、自分自身はスリープ状態に入る。
【００５１】
図１１Ａに示すように、電池４００からの電圧ＶＢがリセット回路４１０に供給されると、リセット回路４１０がリセット信号ＲＥＳＥＴ１を電源ロード制御回路４４０に出力し（ステップＳ１）、電源ロード制御回路４４０が起動される。電源ロード制御回路４４０からのイネーブル信号ＥＮによりＤＣ／ＤＣコンバータ４０２が起動され（ステップＳ２）、これによりリセット回路４１２からリセット信号ＲＥＳＥＴ２が制御部４３０に出力され、制御部４３０の内部初期化が行われる（ステップＳ３）。制御部４３０は、無線モジュール４７０にパワーオン信号ＰＷＲＯＮを出力し、無線モジュール４７０は、パワーオン信号ＰＷＲＯＮに応答してパワーオンモードになる。さらに制御部４３０は、無線時モジュール４７０に対してリセット信号ＲＥＳＥＴ３を出力し、無線モジュール４７０は、このリセット信号ＲＥＳＥＴ３に応答して内部初期化をおこなう。次に、制御部４３０は、内部タイマにより一定時間をカウントし（例えば、６２ｍｓをカウントし）、その時間が経過すると（ステップＳ４）、無線モジュール４７０に対してレジスタ初期化のコマンドを出力し、無線モジュール４７０は、このコマンドに応答してレジスタを初期化する。無線モジュール４７０は、レジスタの初期化が終了すると、その旨を制御部４３０に送信し、制御部４３０は、受信監視タイマ動作を開始し（ステップＳ６）、その開始に伴い制御部４３０は、スリープ状態に入る（ステップＳ７）。他方、無線モジュール４７０は、レジスタの初期化を終了した段階で、親機からのクエリの受信待ちとなる。
【００５２】
これらの様子は、図９Ａにも示されている。すなわち、子機＃１、＃２、＃３、＃４では、電源がオンされると、ＭＰＵが、パワーオン（Power on）、ウェークアップ（wake up）、スリープ（sleep）と遷移し、Ｗ／Ｍがウェークアップ（wake up）する。
【００５３】
また、図１０には、子機＃１と、子機＃２、＃３、＃４との間で電源投入の時間が異なる例が示されている。子機＃１、＃２、＃３、＃４において電源が投入されると、それぞれ初期化動作Ｐ１が行われる。
【００５４】
３．親機１０は、ホスト装置３０から受信した状態通知間隔Ｔ、またはデフォルト値を子機のスリープ時間情報としてクエリのメッセージの中に付加して子機に送信する。子機へのアクセスは、常に子機のアドレスの若い順に行う。
【００５５】
図１２に示すように、親機１０は、電源がオンされると（ステップＱ１）、親機のＭＰＵの内部を初期化し（ステップＱ２）、親機の無線モジュールを初期化し（Ｑ３）、最初の子機へのクエリの準備を行う（Ｑ４）。親機１０は、自身の内部タイマにより子機をアクセスする時間ＴＭを管理し、時間ＴＭの間隔で子機にクエリ（パケット）を送信する（ステップＱ５、Ｑ６、Ｑ７、Ｑ８）。
【００５６】
これらの様子が図１０にも示されている。ここでは、親機１０が、子機＃１の初期化動作Ｐ１の終了時点から内部タイマを起動させるものとする。親機１０は、子機＃１の初期化動作Ｐ１の終了時点でクエリを子機＃１に送信し、子機＃１は、受信動作Ｐ２でクエリを受信する。親機１０は、子機＃１へのクエリの送信から時間ＴＭ１を経過したとき、子機＃２にクエリを送信し、子機＃２へのクエリの送信から時間ＴＭ２を経過したとき、子機＃３にクエリを送信し、子機＃３へのクエリの送信から時間ＴＭ３を経過したとき、子機＃４にクエリを送信し、子機＃４へのクエリの送信から時間ＴＭ４を経過したとき、子機＃１にクエリを送信する。
【００５７】
４．全子機の無線モジュール４７０は、受信待ち状態にあり、受信した宛先アドレスが自局なら、受信動作を継続すると同時に制御部４３０に割込みを発生する。
５．子機の制御部４３０は、割込み信号ＩＮＴに応答してスリープ状態からウェークアップして動作状態となり、無線モジュール４７０からクエリの受信を開始する。
【００５８】
図１１Ａにおいて、制御部４３０は、割込み信号ＩＮＴによりスリープ状態から起動される（ステップＳ８）。無線モジュール４７０は、クエリのアドレスから自局宛てのクエリか否かを判定し、自局宛てのクエリであれば、クエリを受信し、受信したクエリのパケットデータを制御部４３０へ送信する。こうして、制御部４３０による受信が開始される（ステップＳ９）。
【００５９】
図１０に示すように、子機＃１〜＃４は、それぞれ親機からクエリを受信するが、その受信動作Ｐ２は、子機＃２〜＃４では、初期化動作Ｐ１から一定期間だけ経過したときに行われる。また、図９Ａにおいて、クエリが受信されると、ＭＰＵがウェークアップすることが示されている。
【００６０】
６．子機の制御部４３０は、受信完了後、パワーオン信号ＰＷＲＯＮをディスエーブルし無線モジュール４７０をスリープ状態にする。
７．子機の制御部４３０は、受信した状態通知間隔Ｔを基にスリープ時間Ｔｓｌｐを算出し、スリープ時間をスリープタイマ４２０に設定し、タイマをスタートさせる。
８．子機の制御部４３０は、スリープ時間をタイムアウトすると、ウェークアップされる。そして、親機１０から、例えば、センサの情報の出力を要求するコマンドを含むクエリを受信すると、無線モジュール４７０をウェークアップさせて送信状態にする。
【００６１】
図１１Ａにおいて、制御部４３０は、無線モジュール４７０がクエリを受信すると、そこに含まれるアクセス周期Ｔに基づきスリープ時間Ｔｓｌｐを算出し（ステップＳ１０）、スリープ時間Ｔｓｌｐをスリープタイマ４２０にセットし（ステップＳ１１）、無線モジュール４７０をスリープ状態にするためのコマンドＲＯＦを無線モジュール４７０に出力する（ステップＳ１２）。無線モジュール４７０は、コマンドＲＯＦにより、スリープ状態に移行し、例えば、無線モジュールのＲＦ回路の電源がオフされ、低消費電力状態になる。スリープ状態であるとき、無線モジュール４７０は、クエリを受信することはできない。なお、ステップＳ１２と、ステップＳ１０、１１は、いずれが先に行われても良く、あるいは同時に行われても良い。
【００６２】
この様子が図１０に示されている。子機＃１〜＃４は、スリープ時間セット動作Ｐ３でスリープ時間をスリープタイマ４２０に設定し、スリープタイマ４２０は、その設定時からスリープ時間Ｔｓｌｐのカウントを開始する。
【００６３】
９．子機の制御部４３０は、周辺電源をオンにしてセンサ値、入力情報、子機タイプ等の情報を収集して親機に送信する。
１０．子機の制御部４３０は、周辺電源をオフする。
１１．子機の制御部４３０は、無線モジュール４７０をパワーダウンモード(低消費電力)にして、自分自身の電源をオフする。
【００６４】
図１１Ｂにおいて、制御部４３０は、クエリのファンクションを実行するべく、図示しない周辺部電源ロードを起動させ（ステップＳ１３）、センサ等の情報を収集し（ステップＳ１４）、収集を終了した後、周辺部電源ロードをオフする（ステップＳ１５）。制御部４３０はまた、収集した情報を親機１０に送信するため応答メッセージを作成する。次に、制御部は、無線モジュール４７０に対してＲＦ回路の電源をオンするためのコマンドＲＯＮを送信し（ステップＳ１６）、これにより、無線モジュール４７０はウェークアップされ、送信可能な状態になる。次に、制御部４３０は、作成された応答メッセージのパケットデータを無線モジュール４７０に送信し、無線モジュール４７０が応答メッセージを親機１０に送信する（ステップＳ１７）。制御部４３０は、無線モジュール４７０から応答メッセージの送信終了の通知を受け取ると、無線モジュール４７０をパワーダウンモードにするためパワーオン信号ＰＷＲＯＮをオフにする（ステップＳ１８）。無線モジュール４７０は、制御部４３０によりパワーオン信号ＰＷＲＯＮがオンされるまで（ステップＳ３）、パワーダウンモードを継続する。制御部４３０は、上記の一連の動作をするや否や、電源ロード制御回路４１０にＤＣ／ＤＣコンバータ４０２を停止させるための信号ＳＴＰを送信し、これにより、ＤＣ／ＤＣコンバータ４０２の動作が停止され（ステップＳ１９）、制御部４３０は、電源遮断状態となる（ステップＳ２０）。制御部４３０は、スリープタイマ４２０に設定されたスリープ時間Ｔｓｌｐの間、電源遮断状態であり、スリープタイマ４２０がスリープ時間をカウントすると、タイムオーバー信号ＴＭＯが電源ロード制御回路４４０に出力され、これに応答して電源ロード制御回路４４０は、ＤＣ／ＤＣコンバータ４０２にイネーブル信号ＥＮを出力し、制御部４３０にリセット信号ＲＥＳＥＴ２が入力されて内部初期化が開始され（ステップＳ３）、無線モジュール４７０がパワーオンモードになる。
【００６５】
図９Ａにおいて、子機２０は、スリープタイマを起動し、かつ応答メッセージを送信すると、その後、電源オフとなり、スリープ時間Ｔｓｌｐが経過したとき、ＭＰＵが電源オンし、無線モジュールがウェークアップされることが示されている。また、図１０において、子機は、スリープ時間セット動作Ｐ３が終了するや否や、スリープ時間Ｔｓｌｐのタイマが起動され、応答送信動作Ｐ４の終了後に、子機の電源がオフされ、スリープ時間Ｔｓｌｐがタイムアウトしたとき、子機の電源がオンされることが示されている。
【００６６】
１２．親機１０は、子機から受信した情報をホスト装置３０に送信する。親機１０は、(ＴＭｘ＝Ｔ／子機台数ｎ、本例では、ＴＭ１＝ＴＭ２＝ＴＭ３＝ＴＭ４)を子機１台の処理時間として、上記３〜１１の処理を全子機に対して行う。
１３．親機は、全ての子機へのアクセスが完了した時点で、ホスト装置３０にスリープ時間に関する設定があるか否かを問合せする。あればスリープ時間の設定内容を変更する。具体的には、アクセス周期Ｔを変更する。
【００６７】
それぞれの子機のスリープ時間Ｔｓｌｐは、同じであるが、各子機間においてスリープ時間がＴＭだけずれる。子機は、電源投入後に限り、親機からアクセスがあるまで、受信状態が続く。
【００６８】
通常時
１．子機は、スリープタイマ４２０だけが動作している状態である。
２．子機のスリープタイマ４２０は、スリープ時間Ｔｓｌｐがタイムアウトになった時点で、割込みを発生させ子機のＭＰＵの電源をオンにする。
【００６９】
図７に示すように、スリープタイマ４２０は、タイムアウトになった時点で、タイムオーバー信号ＴＭＯを電源ロード制御回路４４０に出力し、これに応答して電源ロード制御回路４４０がＤＣ／ＤＣコンバータ４０２を起動させ、制御部４３０への電源がオンされる。１つの好ましい例では、子機は、親機がアクセスする時点よりも一定時間Ｔｐ前（例えば、１００ｍｓ）に電源オンされる。上記したように、スリープ時間Ｔｓｌｐは、
Ｔｓｌｐ＝Ｔ−Ｔｒｓｔ−Ｔｉｎｉ−Ｔｒｃｖ−Ｔｓｔ
で算出される。
親機がアクセスする周期Ｔよりも前に子機が電源オンされる時間Ｔｐは、
Ｔｐ＝Ｔｒｓｔ＋Ｔｉｎｉ＋Ｔｒｃｖ＋Ｔｓｔ
となる。
【００７０】
３．子機のＭＰＵは、電源が投入(Power On)されると自身の初期化を行い、無線モジュール４７０のみを動作状態にして自分自身はスリープ状態に入る。
４．親機は、ホストから受信した状態通知間隔Ｔ、またはデフォルト値を子機のスリープ時間としてクエリのメッセージの中に付加して子機に送信する。子機のアクセスは、常に子機のアドレスの若い順に行う。
５．子機の無線モジュール４７０は、受信待ち状態にあり、受信した宛先アドレスが自局なら、受信動作を継続すると同時にＭＰＵに割込みを発生する。
６．子機のＭＰＵは、前記割込みでスリープ状態からウェークアップして動作状態となり、ＷＭからの受信を開始する。
７．子機のＭＰＵは、受信完了後、無線モジュール４７０のＲＦ回路の電源をオフにしスリープ状態にする。
８．子機のＭＰＵは、受信した状態通知間隔Ｔを基づきスリープ時間Ｔｓｌｐを算出し、算出したスリープ時間Ｔｓｌｐをスリープタイマ４２０に設定し、タイマをスタートさせる。
９．子機のＭＰＵは、無線モジュール４７０のＲＦ回路の電源をオンにしてウェークアップし送信状態にする。
１０．子機のＭＰＵは、周辺電源をオンにしてセンサ値、入力情報、子機タイプ等の情報を収集して親機に送信する。
１１．子機のＭＰＵは、周辺電源をオフする。
１２．子機のＭＰＵは、無線モジュール４７０をパワーダウンモードにして、自分自身の電源をオフする。
１３．親機は、子機から受信した情報をホストに送信する。
１４．親機は、(ＴＭｘ=Ｔ／子機台数ｎ)を子機１台の処理時間として上記３〜１１の処理を全子機に対して行う。
１５．親機は、全ての子機へのアクセスが完了した時点で、ホストにスリープ時間等の設定があるか否かを問合せする。あればスリープ時間等の設定内容を変更する。
また、親機は、子機に対して電池残量を問い合わせるクエリを発行することができ、親機は、子機から受信した電池残量が閾値未満のものが１台でもあれば、子機の状態通知周期Ｔを延長する。それぞれの子機のスリープ時間Ｔｓｌｐは、同じ値であるが、それぞれの子機間においてスリープ時間は、ＴＭ時間だけずれる。
【００７１】
図１１Ａ、図１１Ｂは、子機のＭＰＵ（制御部４３０）とＷＭ（無線モジュール４７０）の動作を説明する遷移図である。
Ｓ１．ＭＰＵ側；バッテリーのパワーオンで、リセット回路４１０が信号ＲＥＳＥＴ１を出力
ＷＭ側；信号ＰＷＲＯＮにより電源オン
Ｓ２．ＭＰＵ側；電源ロード制御回路４４０に信号ＲＥＳＥＴ１が入力され、ＤＣ／ＤＣコンバータ４０２が起動し、リセット回路４１２が信号ＲＥＳＥＴ２を出力
ＷＭ側；パワーダウン状態(低消費電力)
Ｓ３．ＭＰＵ側；ＭＰＵに信号ＲＥＳＥＴ２が入力され、ＭＰＵの内部が初期化され、ＷＭの信号ＰＷＲＯＮをオンにし、信号ＲＥＳＥＴ３をＷＭに入力
ＷＭ側；パワーダウンモードからパワーオンモードに移行
Ｓ４．ＭＰＵ側；６２ｍｓ待ち
ＷＭ側；ハード的な内部初期化(外部からのアクセス不可;６０ｍｓ)
Ｓ５．ＭＰＵ側；ＷＭの内部レジスタの初期化
ＷＭ側；ＭＰＵからのデータを各レジスタに設定、完了通知
Ｓ６．ＭＰＵ側；受信監視タイマをスタート
ＷＭ側；親機からの受信待ち状態
Ｓ７．ＭＰＵ側；スリープ状態に移行
ＷＭ側；親機からの受信待ち状態で、受信時、ＭＰＵに割込み発生(外部割込み)
Ｓ８．ＭＰＵ側；ＷＭからの割込みでスリープ状態からウェークアップ
ＷＭ側；受信動作
Ｓ９．ＭＰＵ側；受信動作
ＷＭ側；受信動作及び完了通知
Ｓ１０．ＭＰＵ側；受信した状態通知期間Ｔからスリープ時間Ｔｓｌｐを算出
ＷＭ側；動作状態
Ｓ１１．ＭＰＵ側;スリープ時間Ｔｓｌｐをスリープタイマ４２０に設定して、タイマをスタート
ＷＭ側；動作状態
Ｓ１２．ＭＰＵ側；前記完了通知でＷＭをスリープ状態にする
ＷＭ側；スリープ状態
Ｓ１３．ＭＰＵ側；周辺回路電源ロード(電源ロード制御回路)
ＷＭ側；スリープ状態
Ｓ１４．ＭＰＵ側；センサ等の情報収集
ＷＭ側；スリープ状態
Ｓ１５．ＭＰＵ側；周辺回路電源ノーロード
ＷＭ側；スリープ状態
Ｓ１６．ＭＰＵ側；ＷＭをウェークアップ
ＷＭ側；ウェークアップして、動作状態に移行
Ｓ１７．ＭＰＵ側；親機に応答パケット送信
ＷＭ側；親機に送信及びＭＰＵに完了通知
Ｓ１８．ＭＰＵ側；前記完了通知確認し、ＷＭの信号ＰＷＲＯＮをオフにしてパワーダウンモードにする
ＷＭ側；パワーダウンモードに移行
Ｓ１９．ＭＰＵ側；ディスイネーブル信号ＤＩＳによりＤＣ／ＤＣコンバータをオフ
ＷＭ側；パワーダウン状態
２０．ＭＰＵ側；パワーダウン状態
ＷＭ側；パワーダウン状態
スリープタイマ４２０がスリープ時間Ｔｓｌｐをタイムアウトした時点で、信号ＴＭＯが電源ロード制御回路４２０へ出力され、ＤＣ／ＤＣコンバータ４０２がオンし、Ｓ３へ。
【００７２】
図１２は、親機のＭＰＵ（制御部）とＷＭ（無線モジュール）の動作を説明する遷移図である。
Ｑ１．電源オン
Ｑ２．ＭＰＵ内部初期化
Ｑ３．ＭＰＵからのＷＭの内部レジスタの初期化
Ｑ４．最初の子機(アドレス;#01)へのパケット準備
Ｑ５．ＴＭの値でリアルタイマスタート
ＴＭ＝Ｔ／子機台数ｎ(子機１台当たりの処理時間)
Ｑ６．子機にパケット送信
Ｑ７．送信完了後、子機からの受信待ち
受信完了⇒Ｑ９へ(正常受信)
ＴＭ＝タイムアウトしたとき、ステップＳ８(子機から応答なし)
Ｑ８．次の子機のパケットを準備
⇒ステップＳ５へ
Ｑ９．子機からの受信パケットをホストに送信
最終子機以外で完了⇒ステップＳ１０へ
最終子機で完了⇒ステップＱ１１へ
Ｑ１０．次の子機のパケット準備
⇒ステップＱ１２へ
Ｑ１１．ホストに情報要求
ホストから情報を受信
⇒ステップＱ１０へ
Ｑ１２．ＴＭのタイムアウト待ち
タイムアウト⇒ステップＱ５へ
【００７３】
ここで留意すべきは、子機の接続台数がｎであるとき、１つまたは複数の子機が歯抜け状態（非接続状態）になったとしても、親機は、予め決められた順序（例えば、アドレスが若い順）で全てのｎ個の子機をアクセスする。仮に、歯抜けとなった子機が存在しても、その子機からの応答がないだけであり、全ての子機をアクセスする周期Ｔは変わらないため、親機がアクセスする周期と子機がウェークアップする周期との同期は維持される。
【００７４】
図１３は、本発明の実施例に係る無線通信センサシステムの全体構成を示す図である。図１に示す無線通信センサシステム１は、親機１０と子機２０を直接無線接続しているが、図１３に示すように、親機１０と子機２０の間に、無線通信を媒介する中継機４０を含む構成であっても良い。これにより、図１に示す無線通信センサシステム１と機能面では変わらないものの、親機１０と子機２０が直接無線通信できないほど離れている場合であっても、システムを構成することが可能となる。
【００７５】
なお、上記実施例では、子機が親機からアクセス周期Ｔを受け取り、子機自身がスリープ時間Ｔｓｌｐを算出し、これをタイマに設定させたが、これに限らず、親機が全ての子機に対してスリープ時間Ｔｓｌｐを送信し、子機がスリープ時間Ｔｓｌｐを設定することも可能である。
【００７６】
本発明の実施例に係る無線通信センサシステムによれば、次のような効果を奏する。
・親機と子機間の双方向通信での電池駆動を実現できる。
・親機と子機間の双方向通信が可能なので、子機への情報の設定および変更をシステムのオンライン中に行うことができる。
・親機は、クエリの発行を全ての子機一周するたびに、子機のスリープ時間を算出して、それを子機に送り、子機がそれをスリープタイマとするので、タイマの精度が保証される。
・親機から子機へのクエリは、毎回、全子機に行うので、途中でシステムに参加する子機にもスリープ時間を設定することができる。また、子機の電源を落として、一時的にシステムから切離して、再度、電源を投入してシステムに参加する場合も同様である。
・全体の通信プロトコルに子機のタイプを設けて、そのタイプを予めシステムに登録しておくことにより、子機のプラグ・アンド・プレイも可能となる。
・本実施例による方式は、親機と子機の間に中継機があっても親機からのアクセスが中継機の処理時間分遅れるだけなので、影響を受けない。
【００７７】
以上、本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７８】
１：無線通信センサシステム                １０：親機
２０（２０ａ〜２０ｎ）：子機                ３０：ホスト装置
２００：通信制御プログラム                  ２１０：クエリ作成部
２２０：スリープ時間情報設定部              ２３０：クエリ送信部
２４０：応答メッセージ受信部                ２５０：子機情報提供部
４００：電池                                ４０２、４０４：ＤＣ／ＤＣ変換器
４１０、４１２：リセット回路                ４２０：スリープタイマ
４３０：制御部（ＭＰＵ）                    ４４０：電源ロード制御回路
４５０：アドレス保持部                      ４６０：割込み制御部
４７０：無線モジュール
【図１】
2018085572.tif 000006
【図２】
2018085572.tif 000007
【図３】
2018085572.tif 000008
【図４】
2018085572.tif 000009
【図５】
2018085572.tif 000010
【図６】
2018085572.tif 000011
【図７】
2018085572.tif 000012
【図８】
2018085572.tif 000013
【図９Ａ】
2018085572.tif 000014
【図９Ｂ】
2018085572.tif 000015
【図１０】
2018085572.tif 000016
【図１１Ａ】
2018085572.tif 000017
【図１１Ｂ】
2018085572.tif 000018
【図１２】
2018085572.tif 000019
【図１３】
2018085572.tif 000020