(57)【要約】【課題】タイマ設定値を一度に１つしか設定できない場合でも、要求されたサンプリング周期で複数のセンシング対象のデータを取得する。【解決手段】センサ１０は、Ｎ個のセンサセル１,…,Ｎと、センサセルからデータを取得する毎に、Ｎ個のセンサセル１,…,Ｎの中から、所定の基準時刻から次回のデータを取得するまでの時間Tsが最小であるセンサセルを探索し、探索されたセンサセルの時間Tsと基準時刻からの経過時間Tspとの差分時間Ts-Tspをタイマ設定値として選定するタイマ値選定部１２と、差分時間Ts-Tsp経過後にトリガを出力するタイマ１１と、タイマ１１からトリガが入力されると、タイマ値選定部１２により探索されたセンサセルを起動してデータを取得するとともに、経過時間Tspの値を時間Tsに更新するセンサ制御部１３とを備える。【選択図】図１
2014238351.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサセルと、
前記センサセルからデータを取得する毎に、複数の前記センサセルの中から、所定の基準時刻から次回のデータを取得するまでの時間Tsが最小である前記センサセルを探索し、探索された前記センサセルの時間Tsと前記基準時刻からの経過時間Tspとの差分時間Ts-Tspをタイマ設定値として選定するタイマ値選定部と、
前記差分時間Ts-Tsp経過後にトリガを出力するタイマと、
前記タイマから前記トリガが入力されると、前記タイマ値選定部により探索された前記センサセルを起動してデータを取得するとともに、前記経過時間Tspの値を前記時間Tsに更新するセンサ制御部と
を備えることを特徴とするセンサ。
【請求項２】
前記タイマ以外の前記センサの各部がスリープモードから復帰してから再びスリープモードに入るまでの時間内に次の起動時間が入る場合はスリープモードに入らずに次の起動時間で起動すべきセンサセルからデータを取得することを特徴とする請求項１に記載のセンサ。
【請求項３】
前記タイマ以外の前記センサの各部がスリープモードから復帰してから再びスリープモードに入るまでの時間Tdを定義し、前記時間Tsとの差Tdifが前記時間Td以内である要素が存在する場合はその要素を準起動センサとし、起動センサを起動してから前記時間Tsとの差Tdif後に前記準起動センサであるセンサセルからデータを取得することを特徴とする請求項２に記載のセンサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサに関する。
【背景技術】
【０００２】
様々な資源の効率的な利用の観点から、遠隔で観測した電力、交通、農業、環境等のデータを収集するデータ収集システムが重要視されている。図７にデータ収集システムの概略的な構成例を示す。この図に示すように、センサ１１０と端末制御・通信部１２０で構成されるセンサ端末１００がネットワーク１３０を介してサーバー１４０に接続されている。センサ１１０でセンシングする対象を電気信号に変換した後、端末制御・通信部１２０でデジタル化してデータを生成する。生成されたデータはネットワーク１３０を通してサーバー１４０に送られ、サーバー１４０で収集される。センシング対象の電気信号への変換に用いるセンサ１１０に関しては、センシングする対象が多岐にわたるため、種々のセンサ１１０が必要となる。
【０００３】
センサ端末１００では、各々のセンサ１１０の目的に応じたデータ取得間隔でデータが取得・蓄積される。データを取得していない間、センサ端末１００は低消費電力化のためスリープモードになりタイマのみ動作する状態となる。特許文献１のようにリアルタイムクロックがあり複数の間隔のタイマ設定値を設定できる場合は、各々のタイマ設定値ごとにセンサ１１０を起動しデータを取得できる。これに対し、小型・低消費電力のマイクロコントローラーではタイマ設定値の数に限界があるため、センサ１１０の数がタイマ設定値の数を上回る場合には自由にセンサ１１０を起動できなくなる。
【０００４】
図８に従来のセンサ端末１００の構成例を示す。本センサ端末１００では、Ｎ個のセンサセル１,…,Ｎを使用し、タイマ設定値を１個のみ設定できるタイマ１１１を備えている。タイマ１１１は、タイマ設定値の時間間隔ごとに割り込み信号となるトリガを出力する。センサ制御部１１２は、センサ制御データに基づいてタイマ設定値をタイマ１１１に出力するとともに、タイマ１１１から割り込み信号が入力されると、起動すべきセンサセルを起動してデータを取得する。取得したデータはセンシングデータとして端末制御部１２２に送られ記憶される。
【０００５】
端末制御部１２２は、センサ制御部１１２にセンサ制御データを出力し、端末制御部１２２に記憶されているセンシングデータを基に通信に使用するデータ列を形成し通信部１２１に出力する。また、通信部１２１で受信した情報に含まれるセンサ１１０の制御に関する情報を抽出する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１８０６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
タイマ設定値を一度に１つしか設定できないタイマ１１１を使用した場合は、図９に示すように、各センサセルのサンプリング周期が最小のサンプリング周期の整数倍であれば、各センサセルから所定のサンプリング周期でデータ取得可能である。しかし、各センサセルのサンプリング周期が最小のサンプリング周期の整数倍でないものを含む場合は対応できない。
【０００８】
本発明は、上述した従来の技術に鑑み、タイマ設定値を一度に１つしか設定できない場合でも、要求されたサンプリング周期で複数のセンシング対象のデータを取得可能なセンサを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、第１の態様に係る発明は、センサであって、複数のセンサセルと、前記センサセルからデータを取得する毎に、複数の前記センサセルの中から、所定の基準時刻から次回のデータを取得するまでの時間Tsが最小である前記センサセルを探索し、探索された前記センサセルの時間Tsと前記基準時刻からの経過時間Tspとの差分時間Ts-Tspをタイマ設定値として選定するタイマ値選定部と、前記差分時間Ts-Tsp経過後にトリガを出力するタイマと、前記タイマから前記トリガが入力されると、前記タイマ値選定部により探索された前記センサセルを起動してデータを取得するとともに、前記経過時間Tspの値を前記時間Tsに更新するセンサ制御部とを備えることを要旨とする。
【００１０】
第２の態様に係る発明は、第１の態様に係る発明において、前記タイマ以外の前記センサの各部がスリープモードから復帰してから再びスリープモードに入るまでの時間内に次の起動時間が入る場合はスリープモードに入らずに次の起動時間で起動すべきセンサセルからデータを取得することを要旨とする。
【００１１】
第３の態様に係る発明は、第２の態様に係る発明において、前記タイマ以外の前記センサの各部がスリープモードから復帰してから再びスリープモードに入るまでの時間Tdを定義し、前記時間Tsとの差Tdifが前記時間Td以内である要素が存在する場合はその要素を準起動センサとし、起動センサを起動してから前記時間Tsとの差Tdif後に前記準起動センサであるセンサセルからデータを取得することを要旨とする。
【発明の効果】
【００１２】
本発明によれば、タイマ設定値を一度に１つしか設定できない場合でも、要求されたサンプリング周期で複数のセンシング対象のデータを取得可能なセンサを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態におけるセンサのブロック図である。
【図２】本発明の第１の実施の形態におけるセンサの処理フローを示す図である。
【図３】本発明の第１の実施の形態における各パラメータの時間変化を示す図である。
【図４】本発明の第１の実施の形態におけるデータ取得スケジュールを示す図である。
【図５】本発明の第２の実施の形態におけるセンサの処理フローを示す図である。
【図６】本発明の第２の実施の形態における各パラメータの時間変化を示す図である。
【図７】従来のデータ収集システムの概略的な構成例を示す図である。
【図８】従来のセンサ端末の構成例を示す図である。
【図９】従来のデータ取得スケジュールを示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
（第１の実施の形態）
図１に第１の実施の形態におけるセンサ１０のブロック図を示す。本センサ１０は、Ｎ個のセンサセル１,…,Ｎと、タイマ１１と、タイマ値選定部１２と、センサ制御部１３で構成される。図８や図９と同様、センサ制御部１３は端末制御・通信部１２０に接続され、端末制御・通信部１２０はサーバー１４０に接続される。端末制御・通信部１２０やサーバー１４０の構成は既に説明した通りである。
【００１６】
Ｎ個のセンサセル１,…,Ｎは、所望のセンシング対象を電気信号に変換し、センサ制御部１３からの要求信号に応じて変換した電気信号を出力する。各センサセルでセンシング対象は異なっていてもよい。タイマ１１は、タイマ設定値を１個設定でき、タイマ設定値で設定された時間経過後にトリガを出力する。タイマ値選定部１２は、センサ制御データから抽出した各センサセルのサンプリング周期（Ｔ１からＴＮ）と各センサセルの起動回数を表すパラメータKm(m=1…N)から次のタイマ設定値Tsを算出するとともに、次に起動すべきセンサ１０を選定する。センサ制御部１３は、センサ制御データからサンプリング周期を抽出してタイマ値選定部１２に出力する。また、タイマ１１から割り込み信号となるトリガが入力されると、タイマ値選定部１２から通知された起動すべきセンサ１０を起動してデータを取得しセンシングデータとして出力する。
【００１７】
以下、図２を用いてタイマ設定値選定の動作を説明する。以下の説明では、m番目のセンサセルのサンプリング周期をTm (m=1…N)とする。
【００１８】
まず、センサ１０が起動されると、センサ制御部１３はサンプリング周期Tm (m=1…N)をタイマ選定部１２に出力する。タイマ値選定部１２では、各センサセルの起動回数Kmを1で初期化し、センサ１０が起動されてからの経過時間Tspをゼロに初期化する（ステップ１）。
【００１９】
次いで、タイマ値選定部１２が以下に説明する一連の処理を実行する（ステップ２）。すなわち、Km x Tm（m = 1…N）をm番目の要素とする集合Ｕを作成する。要素の番号はセンサセルの番号（ＩＤ）と１対１で対応していればよく、両者は同じでなくてよい。Ｕの中で最小の要素を探索し、最小の要素の値TsとTsをとる次に起動すべきセンサセルの要素の番号ｊ（またはセンサセルのＩＤ）をすべて記憶する。次に起動する時間となるタイマ設定値にTs-Tspを設定するとともに、Tsをとる要素の番号（またはセンサセルのＩＤ）を次に割り込み信号が入力された時に起動するセンサセル（起動センサ）としてセンサ制御部１３に通知する。また、Tsであった要素番号のパラメータKjをすべてインクリメントする。
【００２０】
この後、タイマ１１が起動し、起動からの時間経過値を表すタイマ値とタイマ設定値を比較して一致したら、割り込み信号となるトリガを出力する（ステップ３）。センサ制御部１３は、割り込み信号が入力されると、起動センサとして通知されたセンサセルを起動しデータを取得しメモリに格納する（ステップ４）。この後、Tspに現在のTsを格納してステップ２に戻る。センサ制御部１３に停止命令が入力されるまでステップ２からステップ４を繰り返す。
【００２１】
上記ではタイマ設定値をTs-Tspとしたが、タイマ１１にリアルタイマクロックを使用した場合はTsをタイマ設定値としてよい。この場合は経過時間Tspが不要となる。
【００２２】
以下、図３を用いて、第１の実施の形態におけるセンサ１０の動作を各パラメータの時間変化とともに詳細に説明する。ここでは、センサセルの個数を３個、各センサセルのＩＤをS1、S2、S3、各センサセルのサンプリング周期をT1、T2、T3とする。また、図３に示される白抜きの矢印は、各パラメータの時間変化を示している。
【００２３】
今、ステップ２からステップ４を起動からi-1回繰り返し、経過時間がTs,i-1、KmがK1,i-1、K2,i-1、K3,i-1となっている。また、繰り返しがi-1回目のパラメータKmはそれぞれK1,i-1=h1、K2,i-1=h2、K3,i-1=h3であり、K1,i-1 x T1< K2,i-1 x T2< K3,i-1 x T3としている（実線で描画）。この繰り返し回数（経過時間）ではK1,i-1 x T1が最小のため、i回目のTsはTs,i = K1,i-1 x T1となり、次に起動すべきセンサセルの要素番号jは１となる。したがって、S1のパラメータK1をインクリメントしてi回目のK1はK1,i = h1+1となる（破線で描画）。その他の各センサセルの起動回数Km(m = 2, 3)は同じであるため、K2,i = h2、K3,i = h3となる。図３では繰り返しがi回目の集合Ｕの要素の関係をK1,i x T1< K2,i x T2< K3,i x T3としている（実線で描画）。
【００２４】
繰り返しがi回目になると、K1,i x T1が最小のため、i+1回目のTsはTs,i+1 = K1,i x T1となり、次に起動すべきセンサセルの要素番号jは１となる。S1のパラメータK1をインクリメントしてi+1回目のK1はK1,i+1 = h1+2となる（破線で描画）。その他の各センサセルの起動回数Km(m = 2, 3)は同じであるため、K2,i+1 = h2、K3,i+1 = h3となる。繰り返しがi+1回目の集合Ｕの要素の関係を図３ではK1,i+2 x T2< K1,i+1 x T1< K3,i+1 x T3としている（実線で描画）。
【００２５】
繰り返しがi+1回目になると、K2,i+1 x T2が最小のため、i+2回目のTsはTs,i+2 = K2,i+1 x T2となり、次に起動すべきセンサセルの要素番号jは２となる。S２のパラメータK２をインクリメントしてi+2回目のK２はK2,i+2 = h2+1となる（破線で描画）。その他の各センサセルの起動回数Km(m = 1, 3)は同じであるため、K1,i+2 = h1+2、K3,i+2 = h3となる。
【００２６】
上記の動作を繰り返すことにより、各センサセルのサンプリング周期が最小のサンプリング周期の整数倍でなくても、次に起動すべき時間を設定できる。そのため、図４に示すように、一定でない時間間隔ｔ１，ｔ２，ｔ３，ｔ４，…で各センサセルが起動され、起動されたセンサセルからデータが取得されることになる。したがって、タイマ設定値が１つしかないタイマ１１を使用する場合において、最小のサンプリング周期の整数倍でないサンプリング周期を要求されても、要求されたサンプリング周期で複数のセンシング対象のデータを取得可能なセンサ１０を提供できる。
【００２７】
以上のように、本実施の形態におけるセンサ１０は、Ｎ個のセンサセル１,…,Ｎと、センサセルからデータを取得する毎に、Ｎ個のセンサセル１,…,Ｎの中から、所定の基準時刻（最初にセンサセルを起動した時刻）から次回のデータを取得するまでの時間Tsが最小であるセンサセルを探索し、探索されたセンサセルの時間Tsと基準時刻からの経過時間Tspとの差分時間Ts-Tspをタイマ設定値として選定するタイマ値選定部１２と、差分時間Ts-Tsp経過後にトリガを出力するタイマ１１と、タイマ１１からトリガが入力されると、タイマ値選定部１２により探索されたセンサセルを起動してデータを取得するとともに、経過時間Tspの値を時間Tsに更新するセンサ制御部１３とを備える。これにより、タイマ１１にタイマ設定値を一度に１つしか設定できない場合でも、要求されたサンプリング周期で複数のセンシング対象のデータを取得することが可能となる。
【００２８】
（第２の実施の形態）
以下、第２の実施の形態を第１の実施の形態と異なる点を中心に説明する。
【００２９】
図３の説明では、各センサセル間のサンプリング周期の差が大きく、タイマ１１以外のセンサ１０の各部がスリープモードから復帰しデータ取得するとともに、次の起動時間となるタイマ設定値選定を行ったのち再びスリープモードに入るまでの時間が短いことが前提であった。タイマ１１以外のセンサ１０の各部とは、具体的には、センサ制御部１３、タイマ値選定部１２、センサセル１,…,Ｎである。各センサセル間のサンプリング周期の差が小さい場合は、タイマ１１以外のセンサ１０の各部がスリープモードから復帰してから再びスリープモードに入るまでの時間内に次の起動時間が入ることがある。この場合は、以下に説明するように、スリープモードに入らずに次の起動時間で起動すべきセンサセルのデータ取得を行う。
【００３０】
図５に第２の実施の形態におけるセンサ１０の処理フローを示す。ステップ２にＳ２０が追加されるとともにステップ４にＳ４０が追加されている。その他の点は図２と同様である。
【００３１】
第２の実施の形態では、タイマ１１以外のセンサ１０の各部がスリープモードから復帰してから再びスリープモードに入るまでの時間Tdを定義して処理を行う。すなわち、集合Ｕの要素でTsとの差がTd以内である要素が存在する場合は、その要素を準起動センサとし、その要素番号（センサセルＩＤ）をTsとの差Tdifと共にセンサ制御部１３に通知するとともに、その要素のKmをインクリメントする（Ｓ２０）。また、起動センサを起動してからTdif後に準起動センサであるセンサセルからデータを取得しメモリに格納する（Ｓ４０）。
【００３２】
以下、図６を用いて、第２の実施の形態におけるセンサ１０の動作を各パラメータの時間変化とともに詳細に説明する。ここでも、センサセルの個数を３個、各センサセルのＩＤをS1、S2、S3、各センサセルのサンプリング周期をT1、T2、T3とする。
【００３３】
今、ステップ２からステップ４を起動からi-1回繰り返し、経過時間がTs,i-1、KmがK1,i-1、K2,i-1、K3,i-1となっている。また、繰り返しがi-1回目のパラメータKmはそれぞれK1,i-1=h1、K2,i-1=h2、K3,i-1=h3であり、K1,i-1 x T1< K2,i-1 x T2< K3,i-1 x T3としている（実線で描画）。この繰り返し回数（経過時間）ではK1,i-1 x T1が最小のため、i回目のTsはTs,i = K1,i-1 x T1となり、次に起動すべきセンサセルの要素番号jは１となる。したがって、S1のパラメータK1をインクリメントしてi回目のK1はK1,i = h1+1となる（破線で描画）。その他の各センサセルの起動回数Km(m = 2, 3)は同じであるため、K2,i = h2、K3,i = h3となる。図６では繰り返しがi回目の集合Ｕの要素の関係をK1,i x T1< K2,i x T2< K3,i x T3としている（実線で描画）。
【００３４】
繰り返しがi回目になると、K1,i x T1が最小のため、i+1回目のTsはTs,i+1 = K1,i x T1となり、次に起動すべきセンサセルの要素番号jは１となる。S1のパラメータK1をインクリメントしてi+1回目のK1はK1,i+1 = h1+2となる（破線で描画）。ここで、K1,i x T1とK2,i x T2の差がTd以下であるためS2は準起動センサとなる。S2のパラメータK2をインクリメントしてi+1回目のK2はK2,i+1 = h1+1となる（破線で描画）。その他の各センサセルの起動回数K３は同じであるためK3,i+1 = h3となる。
【００３５】
以上のように、本実施の形態におけるセンサ１０は、タイマ１１以外のセンサ１０の各部がスリープモードから復帰してから再びスリープモードに入るまでの時間内に次の起動時間が入る場合はスリープモードに入らずに次の起動時間で起動すべきセンサセルからデータを取得する。具体的には、タイマ１１以外のセンサ１０の各部がスリープモードから復帰してから再びスリープモードに入るまでの時間Tdを定義し、時間Tsとの差Tdifが時間Td以内である要素が存在する場合はその要素を準起動センサとし、起動センサを起動してから時間Tsとの差Tdif後に準起動センサであるセンサセルからデータを取得する。これにより、再びスリープモードに入るまでの時間が長い場合は、スリープモードに入らずに効率よくセンシング対象のデータを取得することが可能である。
【００３６】
なお、本発明は、センサ１０として実現することができるだけでなく、このようなセンサ１０を搭載したセンサ端末やデータ収集システムとして実現することができる。また、このようなセンサ１０が備える特徴的な処理部をステップとするセンシング制御方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることも可能である。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【符号の説明】
【００３７】
１,…,Ｎ…Ｎ個のセンサセル
１０…センサ
１１…タイマ
１２…タイマ値選定部
１３…センサ制御部
Ts…基準時刻から次回のデータを取得するまでの時間（最小値）
Tsp…基準時刻からの経過時間
Ts-Tsp…時間Tsと基準時刻からの経過時間Tspとの差分時間
Td…再びスリープモードに入るまでの時間
Tdif…時間Tsとの差
【図１】
2014238351.tif 000003
【図２】
2014238351.tif 000004
【図３】
2014238351.tif 000005
【図４】
2014238351.tif 000006
【図５】
2014238351.tif 000007
【図６】
2014238351.tif 000008
【図７】
2014238351.tif 000009
【図８】
2014238351.tif 000010
【図９】
2014238351.tif 000011