(57)【特許請求の範囲】
【請求項１】
処理部と、
複数のセンサと、
前記複数のセンサが検知したセンサデータが入力される入出力部と、
ローカルメモリ領域及びＤＭＡ（Direct Memory Access）メモリ領域を含む記憶部
を備え、
前記入出力部は、前記処理部が受信した外部収集要求に応答して前記センサデータを前記処理部及び前記入出力部が共にアクセス可能な前記ＤＭＡメモリ領域にＤＭＡ転送により格納し、
前記処理部は、前記複数のセンサからのセンサデータが途絶えるか、或いは、該ＤＭＡメモリ領域がフルになると前記入出力部が発生する割り込みに応答して該ＤＭＡメモリ領域に格納されたセンサデータを前記ローカルメモリ領域に転送する割り込みハンドラを含むことを特徴とする無線タグ装置。
【請求項２】
前記外部収集要求を受信する通信部を更に備え、
前記処理部は、前記通信部が受信した外部送信要求に応答して、前記ローカルメモリ領域に格納されたセンサデータを該通信部から送信することを特徴とする、請求項１記載の無線タグ装置。
【請求項３】
前記処理部は、前記ＤＭＡメモリ領域の使用頻度の変化に応じて各センサのセンサデータに割り当てられたＤＭＡメモリ領域を再設定する設定変更ソフトウェアを含むことを特徴とする、請求項１または２記載の無線タグ装置。
【請求項４】
処理部、複数のセンサ、入出力部、及び記憶部を有する無線タグ装置におけるデータ収集方法であって、
前記処理部が受信した外部収集要求に応答して、前記複数のセンサが検知したセンサデータを前記入出力部から該処理部及び前記入出力部が共にアクセス可能な前記記憶部のＤＭＡ（Direct Memory Access）メモリ領域にＤＭＡ転送により格納し、
前記複数のセンサからのセンサデータが途絶えるか、或いは、前記ＤＭＡメモリ領域がフルになると前記入出力部から割り込みを発生し、
前記割り込みに応答して、前記処理部の割り込みハンドラにより前記ＤＭＡメモリ領域に格納されたセンサデータを前記記憶部のローカルメモリ領域に転送する
ことを特徴とするデータ収集方法。
【請求項５】
無線タグ装置のコンピュータにデータ収集処理を実行させるプログラムであって、
前記コンピュータが受信した外部収集要求に応答して、前記無線タグ装置の複数のセンサが検知したセンサデータを該無線タグ装置の入出力部から該コンピュータ及び該入出力部が共にアクセス可能な記憶部のＤＭＡ（Direct Memory Access）メモリ領域にＤＭＡ転送により格納する手順と、
前記複数のセンサからのセンサデータが途絶えるか、或いは、前記ＤＭＡメモリ領域がフルになると前記入出力部から発生される割り込みに応答して、前記コンピュータの割り込みハンドラにより前記ＤＭＡメモリ領域に格納されたセンサデータを前記記憶部のローカルメモリ領域に転送する手順
を前記コンピュータに実行させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線タグ装置、データ収集方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＲＦＩＤ（Radio Frequency Identification）技術を利用したタグシステムの実用化が進んでいる。無線タグ装置の一例であるＲＦＩＤタグから送信されるＩＤ情報を取得する従来のタグシステムに加え、センサを搭載したＲＦＩＤタグからＩＤ情報とセンサが検知した状態情報（以下、センサデータと言う）とを取得するタグシステムや、ＲＦＩＤタグのセンサが検知したセンサデータを収集して一定期間ＲＦＩＤタグ内に保持してからまとめて取得するタグシステムなどが提案されている。ＩＤ情報は、例えばＲＦＩＤタグが設けられる対象物の個別ＩＤであり、センサデータは、例えば対象物の温度などのデータである。
【０００３】
ＲＦＩＤタグ内のセンサが検知したセンサデータの無線送信は、ＲＦＩＤタグの数が増えるに従いタグリーダライタ（Tag Reader Writer）との間の無線衝突防止や必要な通信時間調整が困難になる。そこで、１つのＲＦＩＤタグに多くのセンサを搭載することで、タグリーダライタと無線通信を行うＲＦＩＤタグの総数を減らすことが考えられる。
【０００４】
しかし、従来のＲＦＩＤタグでは、センサが検知したセンサデータをＲＦＩＤタグ内の入出力部（Ｉ／Ｏ：Input and Output部）の第１のメモリに格納し、タグリーダライタからの要求があるとＲＦＩＤタグ内の処理部（例えば、ＣＰＵ：Central Processing Unit）がセンサデータを第１のメモリから読み出して処理部の第２のメモリに格納してからタグリーダライタへ送信する。このため、処理部がセンサデータを第１のメモリから読み出して処理部の第２のメモリに格納する処理に時間がかかるため、リアルタイムに近いデータ処理を行うことは難しい。また、ＲＦＩＤタグに搭載されたセンサ数が多い場合には第１及び第２のメモリの記憶容量が大きくなり、センサデータを収集して一定時間第２のメモリに保持してからまとめてタグリーダライタへ送信する場合には特に第２のメモリが大記憶容量になってしまう。第１及び第２のメモリの記憶容量が大きくなると、小型で安価なＲＦＩＤタグを実現することは難しい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１７５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のセンサを搭載した無線タグ装置では、限られた記憶容量でセンサが検知したセンサデータを外部要求に対して高速に収集することは難しい。
【０００７】
そこで、本発明は、限られた記憶容量でセンサが検知したセンサデータを外部要求に対して高速に収集可能な無線タグ装置、データ収集方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一観点によれば、処理部と、複数のセンサと、前記複数のセンサが検知したセンサデータが入力される入出力部と、ローカルメモリ領域及びＤＭＡ（Direct Memory Access）メモリ領域を含む記憶部を備え、前記入出力部は、前記処理部が受信した外部収集要求に応答して前記センサデータを前記処理部及び前記入出力部が共にアクセス可能な前記ＤＭＡメモリ領域にＤＭＡ転送により格納し、前記処理部は、前記複数のセンサからのセンサデータが途絶えるか、或いは、該ＤＭＡメモリ領域がフルになると前記入出力部が発生する割り込みに応答して該ＤＭＡメモリ領域に格納されたセンサデータを前記ローカルメモリ領域に転送する割り込みハンドラを含むことを特徴とする無線タグ装置が提供される。
【０００９】
本発明の一観点によれば、処理部、複数のセンサ、入出力部、及び記憶部を有する無線タグ装置におけるデータ収集方法であって、前記処理部が受信した外部収集要求に応答して、前記複数のセンサが検知したセンサデータを前記入出力部から該処理部及び前記入出力部が共にアクセス可能な前記記憶部のＤＭＡ（Direct Memory Access）メモリ領域にＤＭＡ転送により格納し、前記複数のセンサからのセンサデータが途絶えるか、或いは、前記ＤＭＡメモリ領域がフルになると前記入出力部から割り込みを発生し、前記割り込みに応答して、前記処理部の割り込みハンドラにより前記ＤＭＡメモリ領域に格納されたセンサデータを前記記憶部のローカルメモリ領域に転送することを特徴とするデータ収集方法が提供される。
【００１０】
本発明の一観点によれば、無線タグ装置のコンピュータにデータ収集処理を実行させるプログラムであって、前記コンピュータが受信した外部収集要求に応答して、前記無線タグ装置の複数のセンサが検知したセンサデータを該無線タグ装置の入出力部から該コンピュータ及び該入出力部が共にアクセス可能な記憶部のＤＭＡ（Direct Memory Access）メモリ領域にＤＭＡ転送により格納する手順と、前記複数のセンサからのセンサデータが途絶えるか、或いは、前記ＤＭＡメモリ領域がフルになると前記入出力部から発生される割り込みに応答して、前記コンピュータの割り込みハンドラにより前記ＤＭＡメモリ領域に格納されたセンサデータを前記記憶部のローカルメモリ領域に転送する手順を前記コンピュータに実行させることを特徴とするプログラムが提供される。
【発明の効果】
【００１１】
開示の無線タグ装置、データ収集方法及びプログラムによれば、限られた記憶容量でセンサが検知したセンサデータを外部要求に対して高速に収集することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施例におけるタグシステムの一例を示すブロック図である。
【図２】メモリマップの一例を示す図である。
【図３】制御バスの構成を説明する図である。
【図４】ＤＭＡバスの調停順位の一例を説明する図である。
【図５】アダプタ活性化線及びアダプタ割り込み線の構成の一例を示す図である。
【図６】アダプタの構成の一例を示すブロック図である。
【図７】タグの受信シーケンスを説明する図である。
【図８】ＤＭＡメモリ領域のサイズの調整を説明する図である。
【図９】ＤＭＡメモリ領域のサイズの最適化の一例を説明する図である。
【発明を実施するための形態】
【００１３】
開示の無線タグ装置、データ収集方法及びプログラムでは、センサが検知したセンサデータを処理部及び入出力部（Ｉ／Ｏ部）が共にアクセス可能なＤＭＡ（Direct Memory Access）メモリ領域にＤＭＡ転送により格納し、外部要求が要求するセンサデータの入出力部への入力が途絶えるか、或いは、ＤＭＡメモリ領域がフルになると処理部に割り込みを発生することでＤＭＡメモリ領域に格納されたセンサデータを処理部のローカルメモリ領域に転送する。
【００１４】
以下に、開示の無線タグ装置、データ収集方法及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１５】
図１は、一実施例におけるタグシステムの一例を示すブロック図である。図１に示すタグシステム１００は、少なくとも１つのアクティブ型ＲＦＩＤタグ１と、タグリーダライタ３を含む。アクティブ型ＲＦＩＤタグ（以下、単に「タグ」と言う）１は、タグ装置の一例である。
【００１６】
タグ１は、図１に示す如く接続されたＣＰＵ１１、ローカルメモリ１２、通信部（または、送受信機）の一例であるＲＦ部１３、アンテナ１４、ローカルバス１５、ＤＭＡコントローラ（ＤＭＡＣ：Direct Memory Access Controller）１６、ＤＭＡメモリ１７，アダプタ１８−１〜１８−Ｎ（Ｎは２以上の自然数）、センサ１９−１〜１９−Ｎ、電池２０、及びＤＭＡバス２１を有する。ＣＰＵ１１は、処理部の一例であり、例えばローカルメモリ１２などのコンピュータ読み取り可能な記憶媒体に格納されたプログラムを実行することで、ＣＰＵ１１（または、コンピュータ）に以下に説明するデータ収集処理または受信シーケンスの処理を実行させる。
【００１７】
ローカルメモリ１２は、ＣＰＵ１１が使用するローカルメモリ領域を形成する。ＤＭＡメモリ１７は、ＣＰＵ１１及びアダプタ１８−１〜１８−Ｎが共にアクセス可能なＤＭＡメモリ領域を形成する。ローカルメモリ１２及びＤＭＡメモリ１７は、物理的に別々（即ち、別体）の記憶部で形成されていても、単一の記憶部内の別々に（即ち、独立して）アクセス可能な領域で形成されていても良い。
【００１８】
アダプタ１８−１〜１８−Ｎは、タグリーダライタ３からのセンサデータの収集を要求するコマンド（または、収集要求）に応答して活性化されるＩ／Ｏ部の一例である。センサ１９−１〜１９−Ｎは、タグ１の状態または環境を検知するものであれば特に限定されず、例えば温度センサ、湿度センサ、加速度センサ、磁気センサ、気圧（または、圧力）センサ、照度センサなどを用いても良い。また、センサ１９−１〜１９−Ｎは、互いに異なる種類のセンサで形成されていても、同じ種類で感度の異なるセンサを含んでいても良い。
【００１９】
さらに、タグ１の各部は例えば樹脂で形成されたパッケージ（図示せず）内に封入された構造を有しても良い。
【００２０】
図１では説明の便宜上、ＣＰＵ１１と各アダプタ１８−１〜１８−Ｎとを接続するアダプタ活性化線及びアダプタ割り込み線の図示は省略し、アダプタ活性化線及びアダプタ割り込み線については図５と共に後述する。また、図１では、電池２０とタグ１内で電源供給を必要とする各部とを接続して電源電圧を供給する電源線の図示は省略する。
【００２１】
一方、タグリーダライタ３は、ノードインタフェース３１、コマンド生成部３２、通信部（または、送受信機）の一例であるＲＦ部３３、及びアンテナ３４を含む周知の構成を有する。ノードインタフェース３１は、ホスト装置などのノード（図示せず）と通信可能であり、ノードからの指示をコマンド生成部３２に送信する。コマンド生成部３２は、ノードからの指示に基づいてセンサデータの収集を要求するコマンド、センサデータの送信を要求するコマンドなどを含む各種コマンドを生成し、ＲＦ部３３及びアンテナ３４を介してタグ１へ送信する。タグリーダライタ３が送信したコマンドに応答してタグ１から後述する如く受信したセンサデータは、アンテナ３４、ＲＦ部３３、コマンド生成部３２、及びノードインタフェース３１を介してノードへ送信する。タグリーダライタ３からタグ１へ送信されるセンサデータの収集を要求するコマンド及びセンサデータの送信を要求するコマンドは、外部要求の一例である。なお、タグリーダライタ３の構成は、タグ１と通信してタグ１から情報をリードし、必要に応じてタグ１に情報をライト可能な構成であれば、特に限定されない。
【００２２】
図１のタグシステム１００では、タグ１内にＣＰＵ１１が使用するローカルメモリ領域と、タグ１に搭載された複数のセンサ１９−１〜１９−Ｎが検知したセンサデータをＤＭＡ転送するＤＭＡメモリ領域が設けられている。センサ１９−１〜１９−Ｎは、対応するアダプタ１８−１〜１８−Ｎに接続され、タグリーダライタ３からのセンサデータの収集を要求するコマンドに応答して活性化された各アダプタ１８−ｉ（ｉ＝１〜Ｎ）は、対応するセンサ１９−ｉからのセンサデータをＤＭＡＣ１６の制御下でＤＭＡ転送してＤＭＡメモリ１７内の指定されたアドレスへ順次格納する。転送されたセンサデータは、アダプタ１８−ｉに入力されるセンサデータが途絶えると、或いは、ＤＭＡメモリ領域（または、予め指定されたＤＭＡメモリ空間）がフルになると、アクティブな（即ち、オン状態の）割り込み信号をＣＰＵ１１に出力する。ＣＰＵ１１は、オン状態の割り込み信号に応答して、自己の割り込みハンドラの処理により指定されたＤＭＡメモリ１７の内容をローカルメモリ１２へコピーする。ＣＰＵ１１は、タグリーダライタ３との通信が可能な場合に、ローカルメモリ１２に格納されているセンサデータをＲＦ部１３及びアンテナ１４を介してタグリーダライタ３へ送信し、タグリーダライタ３はアンテナ３４及びＲＦ部３３を介して受信したセンサデータをコマンド生成部３２及びノードインタフェース３１を介してノードへ送信する。
【００２３】
このように、センサデータの取得頻度やデータ量に応じてＤＭＡメモリ領域を設定し、アダプタ１８−ｉに入力されるセンサデータが途絶えると、或いは、ＤＭＡメモリ領域がフルになる度にＣＰＵ１１がＤＭＡメモリ１７の内容をローカルメモリ１２へコピーすることで、ＣＰＵ１１側はタグリーダライタ３との通信を常時監視しながら、センサデータを処理して送信することが可能となり、タグ１内ではセンサデータが処理されタグリーダライタ３へ送信されている間もセンサ１９−１〜１９−ＮからのセンサデータをＤＭＡメモリ１７へ格納するセンサデータ取得処理を続行することができる。
【００２４】
センサ１９−ｉからのセンサデータのデータ量が多い場合でも、アダプタ１８−ｉへのセンサデータの入力速度に応じてＤＭＡメモリ領域のサイズを制御したり、必要に応じて他の活性化されたアダプタの動作を止めることで、センサデータをＤＭＡメモリ領域に転送することも可能である。
【００２５】
ＤＭＡ転送自体は、ワイヤードロジック（Wired Logic）で実行されるが、ＤＭＡ転送の初期設定及び転送終了後の処理はソフトウェアで制御することで、どのようなセンサに対しても自由度の高いデータ収集処理を実現できる。タグ１に搭載される限られたメモリ容量を、ＣＰＵ１１のローカルメモリ１２とセンサのＤＭＡメモリ１７に分けて管理することにより、ワイヤードロジックではなくソフトウェアによる柔軟な管理が可能となる。これにより、使用するセンサ１９−１〜１９−Ｎとセンサデータの取得頻度やデータ量に応じて、タグ１に搭載されたメモリ容量の管理を最適化することができる。
【００２６】
ＣＰＵ１１の処理速度は高速でなくても、常時タグリーダライタ３からのコマンドを待ちながら、逐次オン状態の割り込み信号をトリガにしてＤＭＡメモリ１７からローカルメモリ１２へ転送されてくるセンサデータを処理することができる。ＣＰＵ１１によるセンサデータの処理には、センサデータのクリティカル部分のみの抽出、センサデータ全体の圧縮、タグリーダライタ３への送信に適したセンサデータのフォーマッティングなどが含まれる。ＣＰＵ１１によるセンサデータの処理は、ローカルメモリ１２への格納時に行っても、ローカルメモリ１２からの読み出し時、即ち、タグリーダライタ３への送信時に行っても良い。
【００２７】
このように、タグ１は、例えば、処理速度が高速ではないＣＰＵ１１や記憶容量が膨大ではないメモリなどの安価なハードウェアを使用して複数のセンサデータを収集し、リアルタイムに近いデータ処理が可能となる。
【００２８】
次に、メモリマップについて図２と共に説明する。図２は、メモリマップの一例を示す図である。図２のメモリマップは、汎用のコンピュータシステムと同様に、ＲＡＭ領域４１とＲＯＭ領域４２を有する。ＲＡＭ領域４１は、ＣＰＵ１１が使用する例えば５１２ｋバイトのローカルメモリ１２と、センサデータをＤＭＡ転送する例えば５１２ｋバイトのＤＭＡメモリ１７と、未使用部分（Not Used）とに分けられる。ＤＭＡメモリ１７のアドレスの上位ビットは、例えばレジスタセットを用いてソフトウェアで設定可能であり、各アダプタ１８−１〜１８−Ｎ毎にＲＡＭ領域４１を割り振ることができる。ＲＯＭ領域４２は、例えば５１２ｋバイトである。
【００２９】
次に、制御バスについて、図３と共に説明する。図３は、制御バスの構成を説明する図である。各アダプタ１８−１〜１８−Ｎ及びＣＰＵ１１は、ＤＭＡＣ１６の制御下で共にＤＭＡメモリ１７へアクセス可能であるため、ＤＭＡバス２１へのアクセスが必要である。ＤＭＡバス２１の調停は、ＤＭＡＣ１６で行われる。制御バス５１は、ローカルバス１５及びＤＭＡバス２１の夫々に含まれ、バスリクエスト線、バスプライオリティ線、及びアクノレッジ（ＡＣＫ：Acknowledge）線を含む。ＤＭＡバス２１へのアクセスを要求するバスリクエスタ（アダプタ１８−１〜１８−Ｎ及びＣＰＵ１１）は、バスリクエスト線をイネーブル（Enable）状態にして（即ち、バスリクエストをバスリクエスト線に出力して）自己のバスプライオリティ線がイネーブル状態になるのを待つ。ＤＭＡＣ１６は、各バスリクエスト線を調停してバスプライオリティ信号を出力することでバスプライオリティ線を１本のみイネーブル状態にして対応するバスリクエスタによるＤＭＡ転送を許可する。ＤＭＡＣ１６は、バスプライオリティ線をイネーブル状態にしてから一定時間後にＡＣＫ信号をＡＣＫ線に出力し、イネーブル状態にされたバスプライオリティ線をディセーブル状態にして対応するバスリクエスタによるＤＭＡ転送を禁止する。このため、ＡＣＫ線の信号状態から、バスリクエスタによるＤＭＡバス２１の使用終了を知ることができる。バスリクエスタがＤＭＡバス２１の優先権（プライオリティ）を得たまま、一定時間（または、一定クロック期間）が経過した場合は、ＤＭＡＣ１６がバスエラーとしてＣＰＵ１１へエラー割り込みを行い、タグ１を停止（Halt）させる。ＤＭＡＣ１６自体は、周知の回路で実現可能である。
【００３０】
ＤＭＡＣ１６は、全てのバスリクエスタに対して平等にアクセス権を与えるわけではない。図４は、ＤＭＡバスの調停順位の一例を説明する図である。図４は、優先順位が上位であるアクセス程優先権が高い場合を示しているので、この例ではＣＰＵ１１のアクセスを最優先してイネーブル状態のバスプライオリティ信号をＣＰＵ１１に接続されたバスプライオリティ線に出力する。
【００３１】
次に、アダプタ１８−１〜１８−Ｎの構成及び動作について、図５乃至図７と共に説明する。
【００３２】
図５は、アダプタ活性化線及びアダプタ割り込み線の構成の一例を示す図である。各アダプタ１８−１〜１８−Ｎの入力は、ＣＰＵ１１からのセンサデータの収集を要求するコマンドを入力するアダプタ活性化線６１に接続されている。また、各アダプタ１８−１〜１８−Ｎの出力は、ＣＰＵ１１へ割り込み信号を出力するアダプタ割り込み線６２に接続されている。ＣＰＵ１１は、タグリーダライタ３からセンサ１９−ｉのセンサデータの収集を要求するコマンドを受信すると、当該コマンドをアダプタ１８−ｉを活性化するコマンドとしてアダプタ活性化線６１を介してアダプタ１８−ｉに入力する。また、ＣＰＵ１１のソフトウェアは、アダプタ１８−ｉからの割り込み信号をアダプタ割り込み線６２を介して受信すると、割り込み信号に基づいて割り込み信号を出力したアダプタ１８−ｉを特定し、割り込みハンドラ内で割り込み要因をリセットしてからセンサデータのＤＭＡ転送を行う。
【００３３】
なお、アダプタ１８−ｉが活性化された直後（即ち、起動直後）は、割り込み信号がマスクされており、アダプタ１８−ｉは割り込み信号がマスクされたままの状態で動作することも可能である。
【００３４】
図６は、アダプタの構成の一例を示すブロック図である。この例では、アダプタ１８−ｉは、ＤＭＡバス２１を形成するアドレスバスとデータバスのうち、データバスを１６ビットとし、２バイトでＤＭＡ転送を行うものとする。センサ１９−ｉからのセンサデータは、シリアルにアダプタ１８−ｉに入力されるものとする。
【００３５】
アダプタ１８−ｉは、図６に示す如く接続されたレジスタ１８０、ゲート回路１８１、ビットカウンタ１８２、シリアル／パラレル変換回路１８３、アドレスカウンタ１８４、データレングスカウンタ１８５、内部バッファ部を形成する３個の１バイトデータバッファ１８６，１８７，１８８、割り込み信号生成回路１８９、及び出力回路１９０を有する。
【００３６】
図７は、タグの受信シーケンスを説明する図である。図７において、ＣＰＵ１１のソフトウェア処理は左側に示し、タグ１内のハードウェア処理は右側に示す。
【００３７】
タグ１は、タグリーダライタ３からセンサ１９−ｉのセンサデータの収集を要求するコマンドをアンテナ１４及びＲＦ部１３を介して受信すると起動される。起動時には、ゲート回路１８１のゲートは閉じており、アドレスカウンタ１８４及びデータレングスカウンタ１８５のカウント値は「０」であり、割り込み信号生成回路１８９はマスク状態にあるものとする。
【００３８】
タグ１の起動直後には、ステップＳＴ１でＣＰＵ１１によるＤＭＡオフセットアドレスの設定により、アドレスカウンタ１８４にＤＭＡアドレスの初期値がロードされると共に、データレングスカウンタ１８５に初期値「０」がロードされる（即ち、「０」にクリアされる）。また、ステップＳＴ２でＣＰＵ１１による割り込み信号のマスク設定により、割り込み信号生成回路１８９にマスク信号が入力されて割り込み信号がマスクされる。さらに、ステップＳＴ３でＣＰＵ１１によるゲート制御により、受信したコマンドがレジスタ１８０に設定され、レジスタ１８０の出力によりゲート回路１８１のゲートを開ける。なお、ゲート回路１８１のゲートが閉じている間に既にシリアルセンサデータがゲート回路１８１に入力された場合には、その入力センサデータは無視して捨てて、次に入力センサデータから受信を続行する。
【００３９】
センサ１９−ｉからのシリアルセンサデータがゲートが開けられたゲート回路１８１に入力されると、ビットカウンタ１８２及びシリアル／パラレル変換回路１８３に出力される。ビットカウンタ１８２は、シリアルセンサデータに基づいて１バイト分のシリアルセンサデータをカウントしたタイミングでカウント信号及びラッチ信号を生成し、カウント信号を各カウンタ１８４，１８５に出力する。ラッチ信号は、データバッファ１８６に出力され、シリアル／パラレル変換回路１８３でシリアル／パラレル変換されたセンサデータが１バイトに達するとデータバッファ１８６に格納する。データバッファ１８６に格納された１バイトのセンサデータは、データバッファ１８７に格納され、データバッファ１８６に格納された次の１バイトのセンサデータは、データバッファ１８８に格納される。このようにして、データバッファ１８６に格納された１バイトのセンサデータが、交互にデータバッファ１８７，１８８に格納される。データレングスカウンタ１８５は、２バイト分のカウント信号をカウントすると、バスリクエストを出力する。このバスリクエストは、各データバッファ１８７，１８８にラッチ信号として入力され、２バイト分のセンサデータがデータバッファ１８７，１８８に格納されると２バイト分（即ち、１６ビット）のセンサデータ（または、ＤＭＡデータ）を出力回路１９０に出力する。一方、アドレスカウンタ１８４は、自己のカウント値をＤＭＡアドレスとして出力回路１９０に出力する。
【００４０】
この状態で、ＤＭＡＣ１６は、処理Ｐ１を実行する。処理Ｐ１は、各バスリクエスト線を調停してバスプライオリティ信号を出力することでバスプライオリティ線を１本のみイネーブル状態にすると共に、ＤＭＡバス２１を用いたＤＭＡ転送を許可する。この例では、アダプタ１８−ｉに接続されたプライオリティ線のみがイネーブル状態にされ、バスプライオリティ信号をアダプタ１８−ｉに出力される。
【００４１】
アダプタ１８−ｉのデータレングスカウンタ１８５は、イネーブル状態のバスプライオリティ信号によりリセットされ、バスリクエストの出力を停止する。また、アダプタ１８−ｉの出力回路１９０は、バスプライオリティ信号に応答してＤＭＡアドレス及び１６ビットのセンサデータをＤＭＡバス２１へ出力することで、ＤＭＡメモリ１７をアクセスする。このように、２バイトのセンサデータがデータバッファ１８７，１８８に格納されると、イネーブル状態のバスプライオリティ信号に応答してＤＭＡシーケンスに入り、センサデータをＤＭＡメモリ１７へ転送する。
【００４２】
ＤＭＡＣ１６は、処理Ｐ２を実行する。処理Ｐ２は、バスプライオリティ信号を出力してから一定時間後にＡＣＫ信号を出力し、アダプタ１８−ｉに対するバスプライオリティ信号をディセーブル状態にすると共に、ＤＭＡバス２１を用いたＤＭＡ転送を禁止する。
【００４３】
アダプタ１８−ｉは、ＡＣＫ線に出力されたＡＣＫ信号を受信すると、各カウンタ１８４，１８５によるカウント信号のカウント、即ち、各カウンタ１８４，１８５のカウント値のインクリメントを開始する。
【００４４】
図７中、Ｒ１で示す処理は、ゲート回路１８１に入力されるシリアルセンサデータが途切れるまで繰り返される。センサデータのデータレングスのバイト数が奇数で最後のセンサデータが２バイトに達しない場合には、シリアルセンサデータがゲート回路１８１に入力されない時点で最後のセンサデータであることを判断できるので、この場合は最後に１バイトのセンサデータのみのＤＭＡ転送を行う。
【００４５】
ゲート回路１８１に入力されるシリアルセンサデータが途絶えると、或いは、ＤＭＡメモリ１７に転送されたセンサデータがＤＭＡメモリ領域をフルにする（或いは、許容されるＤＭＡメモリ容量以上を占有する）データ量であると、割り込み信号生成回路１８９は、ビットカウンタ１８２からのカウント信号に基づいて割り込み信号をオン状態にする。
【００４６】
ＣＰＵ１１の割り込みハンドラの処理は、オン状態の割り込み信号を受信すると開始される。ステップＳＴ４では、割り込みハンドラがオン状態の割り込み信号を出力したアダプタ（この例ではアダプタ１８−ｉ）を特定する。ステップＳＴ５では、割り込みハンドラが、ＤＭＡＣ１６がバスエラーとしてＣＰＵ１１に対して発行したエラー割り込みの有無を判断する。ステップＳＴ６では、割り込みハンドラがオン状態の割り込み信号を出力しているアダプタ１８−ｉの割り込み要因をリセットし、割り込みハンドラの処理は終了する。
【００４７】
一方、割り込み信号がオフ状態にリセットされるまでの間（割り込みハンドラの処理（ステップＳＴ４〜ＳＴ６）が終了するまでの間）、割り込み信号でゲート回路１８１のゲートを閉じることで、シリアルセンサデータの入力を中止する。ただし、割り込み要因がリセットされてゲート回路１８１のゲートが開けられた場合には、既にシリアルセンサデータがゲート回路１８１に入力されていても、その入力センサデータは無視して捨てることで次の入力センサデータから受信を続行する。
【００４８】
割り込みハンドラの処理が終了すると、タグ１のアダプタ１８−ｉについての受信シーケンスも終了する。
【００４９】
このようにして、ＣＰＵ１１の割り込みハンドラによる処理でＤＭＡメモリ１７内のセンサデータがローカルメモリ１２へ転送されるが、センサデータをタグ１の外部へ転送するには、タグリーダライタ３からのセンサデータの送信を要求するコマンド（または、送信要求）を受信する必要がある。送信要求を受信しなければ、タグ１はローカルメモリ１２内にセンサデータを格納したままで待機する。待機時間が閾値を超えて長い場合は、センサデータの圧縮を行い、データフォーマット内から変化点のみデータを抽出し、他のデータは捨てていくことで、ローカルメモリ１２のメモリ使用量を節約するようにしても良い。
【００５０】
タグリーダライタ３からのセンサデータの送信を要求するコマンド（または、送信要求）を受信すると、タグ１は直ちにローカルメモリ１２内のセンサデータをタグリーダライタ３へ送信し、ローカルメモリ１２のメモリ領域を開放する。
【００５１】
タグリーダライタ３は、単一のタグ１に格納されたセンサデータを収集しても、複数のタグに格納されたセンサデータを収集しても良い。複数のタグに格納されたセンサデータを収集する場合には、タグリーダライタ３は先ずセンサデータの収集を要求するコマンドをタグリーダライタ３の周辺に存在する複数のタグに送信し、その後にセンサデータの送信を要求するコマンドをこれら複数のタグに送信して応答が得られたタグから順次センサデータを受信する。また、タグリーダライタ３は、受信したセンサデータをノードに転送する。なお、タグリーダライタ３は、タグ１に対して情報をライト可能であるため、必要に応じてタグ１の内部ソフトウェアを書換え可能である。
【００５２】
次に、ＤＭＡメモリ領域のサイズの調整を、図８と共に説明する。図８は、ＤＭＡメモリ領域のサイズの調整を説明する図である。
【００５３】
ＤＭＡメモリ１７で形成されるＤＭＡメモリ領域は、例えばＣＰＵ１１の初期設定ソフトウェアにより各アダプタ１８−１〜１８−Ｎ毎に割り振ることができる。しかし、タグ１のセンサデータの収集状況により、各アダプタ１８−１〜１８−Ｎに割り当てられたＤＭＡメモリ領域の使用頻度が変化する。そこで、例えばＣＰＵ１１の設定変更ソフトウェアは、このＤＭＡメモリ領域の使用頻度の変化に応じて各アダプタ１８−１〜１８−Ｎに割り当てられた（即ち、各センサ１９−１〜１９−Ｎのセンサデータに割り当てられた）ＤＭＡメモリ領域を再設定する。具体的には、設定変更ソフトウェアは、各アダプタ１８−１〜１８−Ｎに対する割り込みハンドラの起動状況を監視し、割り込みハンドラの起動時間間隔、センサデータのサイズなどに基づいて、各アダプタ１８−１〜１８−Ｎに割り当てられたＤＭＡメモリ領域のサイズを平準化するための最適サイズを計算する。例えば、アダプタ１８−ｉによる割り込みハンドラの起動時間間隔がＳ秒以内の場合は、アダプタ１８−ｉに対して割り当てるＤＭＡメモリ領域のサイズをｎ倍へ拡大したり、割り込みハンドラの起動時間間隔がＴ秒以上の場合は、アダプタ１８−ｉに対して割り当てるＤＭＡメモリ領域のサイズを１／ｍ倍に縮小したりすることができる。
【００５４】
図９は、ＤＭＡメモリ領域のサイズの最適化の一例を説明する図である。
【００５５】
ＤＭＡメモリ領域のサイズは、例えば[現状のＤＭＡメモリ領域のサイズ]×[指定したい割り込みハンドラの起動時間間隔]÷[現状の割り込みハンドラの起動時間間隔]から求めることができる。
【００５６】
例えば、ＣＰＵ１１上では、オペレーティングシステム（ＯＳ：Operating System）のシステムクロックの周期が３２ｍｓであり、各タスクの処理時間が３ｍｓである１０個のタスクＴｓｋ１〜Ｔｓｋ１０がシステムクロックの１周期内でシーケンシャルに動作する条件を保証するため、タスクＴｓｋ１〜Ｔｓｋ１０に３０ｍｓの時間を確保し、割り込みハンドラの処理Ｈｔ１，Ｈｔ２は各々１ｍｓであり、ＤＭＡメモリ１７及びローカルメモリ１２へのアクセス時間は十分短いものとする。この場合、システムクロックの１周期内で実行可能な割り込みハンドラの処理回数は２回である。
【００５７】
一方、Ｎ＝２でありタグ１内のセンサ１９−１〜１９−Ｎの総数は２個であり、対応するアダプタ１８−１，１８−２に接続されており、センサ１９−１からアダプタ１８−１へのセンサデータの入力は６４ｋｂｐｓ、センサ１９−２からアダプタ１８−２へのセンサデータの入力は５１２ｋｂｐｓの転送レートで行われるものとする。このような転送レートでシリアルセンサデータがアダプタ１８−１，１８−２に入力される場合には、アダプタ１８−１，１８−２に割り当てるＤＭＡメモリ領域のサイズを共に１６バイトにすると、ＤＭＡメモリ領域がフルになり割り込みハンドラが割り込み信号に応答して起動される起動時間間隔は、アダプタ１８−１については８ビット×１６バイト÷６４ｋｂｐｓ＝２ｍｓであり、アダプタ１８−２については８ビット×１６バイト÷５１２ｋｂｐｓ＝２５μｓとなり、ＤＭＡメモリ領域のサイズが小さすぎて割り込みハンドラの起動時間間隔が狭すぎる。
【００５８】
そこで、このような場合には、アダプタ１８−１，１８−２に割り当てるＤＭＡメモリ領域のサイズを拡げる。割り込みハンドラの起動時間間隔を例えば３２ｍｓにするのであれば、アダプタ１８−１に割り当てるＤＭＡメモリ領域のサイズを１６バイト×３２ｍｓ÷２ｍｓ＝２５６バイトに調整し、アダプタ１８−２に割り当てるＤＭＡメモリ領域のサイズを１６バイト×３２ｍｓ÷２５μｓ＝２０，４８０バイトに調整することで、３２ｍｓの起動時間間隔が得られ、ＤＭＡメモリ領域のサイズの最適化が図れる。
【００５９】
上記の実施例によれば、無線タグ装置に各種センサが搭載されている場合に、限られた記憶容量の搭載メモリを効率的に利用することで、無線タグ装置からのセンサデータの収集処理を効率良く行うことができるデータ収集方法を実現できる。また、無線タグ装置は、限られた記憶容量の搭載メモリを用いてセンサが検知したセンサデータを外部要求に対して高速に収集及び送信可能であり、小型で安価な無線タグ装置を実現することができる。
【００６０】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
処理部と、
複数のセンサと、
前記複数のセンサが検知したセンサデータが入力される入出力部と、
ローカルメモリ領域及びＤＭＡ（Direct Memory Access）メモリ領域を含む記憶部
を備え、
前記入出力部は、前記処理部が受信した外部収集要求に応答して前記センサデータを前記処理部及び前記入出力部が共にアクセス可能な前記ＤＭＡメモリ領域にＤＭＡ転送により格納し、
前記処理部は、前記複数のセンサからのセンサデータが途絶えるか、或いは、該ＤＭＡメモリ領域がフルになると前記入出力部が発生する割り込みに応答して該ＤＭＡメモリ領域に格納されたセンサデータを前記ローカルメモリ領域に転送する割り込みハンドラを含むことを特徴とする無線タグ装置。
（付記２）
前記外部収集要求を受信する通信部を更に備え、
前記処理部は、前記通信部が受信した外部送信要求に応答して、前記ローカルメモリ領域に格納されたセンサデータを該通信部から送信することを特徴とする、付記１記載の無線タグ装置。
（付記３）
前記処理部は、前記ＤＭＡ転送の初期設定及び転送終了後の処理を制御するソフトウェアを含むことを特徴とする、付記１または２記載の無線タグ装置。
（付記４）
前記処理部は、前記ＤＭＡメモリ領域の使用頻度の変化に応じて各センサのセンサデータに割り当てられたＤＭＡメモリ領域を再設定する設定変更ソフトウェアを含むことを特徴とする、付記１乃至３のいずれか１項記載の無線タグ装置。
（付記５）
前記設定変更ソフトウェアは、前記割り込みハンドラの起動時間間隔及びセンサデータのサイズに基づいて、各センサのセンサデータに割り当てられたＤＭＡメモリ領域のサイズを平準化することを特徴とする、付記４記載の無線タグ装置。
（付記６）
前記処理部と前記記憶部の前記ローカルメモリ領域を接続するローカルバスと、
前記記憶部の前記ＤＭＡメモリ領域と前記入出力部を接続するＤＭＡバスと、
前記ローカルバスを介して前記処理部に接続され、且つ、前記ＤＭＡバスに接続されたＤＭＡコントローラ
を更に備え、
前記ＤＭＡコントローラは、前記ＤＭＡ転送を制御することを特徴とする、付記１乃至５のいずれか１項記載の無線タグ装置。
（付記７）
前記無線タグ装置内で電源供給を必要とする各部に電源電圧を供給する電池
を更に備えたことを特徴とする、付記１乃至６のいずれか１項記載の無線タグ装置。
（付記８）
処理部、複数のセンサ、入出力部、及び記憶部を有する無線タグ装置におけるデータ収集方法であって、
前記処理部が受信した外部収集要求に応答して、前記複数のセンサが検知したセンサデータを前記入出力部から該処理部及び前記入出力部が共にアクセス可能な前記記憶部のＤＭＡ（Direct Memory Access）メモリ領域にＤＭＡ転送により格納し、
前記複数のセンサからのセンサデータが途絶えるか、或いは、前記ＤＭＡメモリ領域がフルになると前記入出力部から割り込みを発生し、
前記割り込みに応答して、前記処理部の割り込みハンドラにより前記ＤＭＡメモリ領域に格納されたセンサデータを前記記憶部のローカルメモリ領域に転送する
ことを特徴とするデータ収集方法。
（付記９）
前記外部収集要求を受信する通信部が受信した外部送信要求に応答して、前記処理部により前記ローカルメモリ領域に格納されたセンサデータを該通信部から送信することを特徴とする、付記８記載のデータ収集方法。
（付記１０）
前記ＤＭＡ転送の初期設定及び転送終了後の処理を前記処理部のソフトウェアにより制御することを特徴とする、付記８または９記載のデータ収集方法。
（付記１１）
前記ＤＭＡメモリ領域の使用頻度の変化に応じて各センサのセンサデータに割り当てられたＤＭＡメモリ領域を前記処理部の設定変更ソフトウェアにより再設定することを特徴とする、付記８乃至１０のいずれか１項記載のデータ収集方法。
（付記１２）
前記設定変更ソフトウェアは、前記割り込みハンドラの起動時間間隔及びセンサデータのサイズに基づいて、各センサのセンサデータに割り当てられたＤＭＡメモリ領域のサイズを平準化することを特徴とする、付記１１記載のデータ収集方法。
（付記１３）
前記処理部と前記記憶部の前記ローカルメモリ領域を接続するローカルバスを介して前記処理部に接続され、且つ、前記記憶部の前記ＤＭＡメモリ領域と前記入出力部を接続するＤＭＡバスに接続されたＤＭＡコントローラにより前記ＤＭＡ転送を制御する
ことを特徴とする、付記８乃至１２のいずれか１項記載のデータ収集方法。
（付記１４）
無線タグ装置のコンピュータにデータ収集処理を実行させるプログラムであって、
前記コンピュータが受信した外部収集要求に応答して、前記無線タグ装置の複数のセンサが検知したセンサデータを該無線タグ装置の入出力部から該コンピュータ及び該入出力部が共にアクセス可能な記憶部のＤＭＡ（Direct Memory Access）メモリ領域にＤＭＡ転送により格納する手順と、
前記複数のセンサからのセンサデータが途絶えるか、或いは、前記ＤＭＡメモリ領域がフルになると前記入出力部から発生される割り込みに応答して、前記コンピュータの割り込みハンドラにより前記ＤＭＡメモリ領域に格納されたセンサデータを前記記憶部のローカルメモリ領域に転送する手順
を前記コンピュータに実行させることを特徴とする、プログラム。
（付記１５）
前記外部収集要求を受信する前記無線タグ装置の通信部が受信した外部送信要求に応答して、前記ローカルメモリ領域に格納されたセンサデータを該通信部から送信する手順
を前記コンピュータに更に実行させることを特徴とする、付記１４記載のプログラム。
（付記１６）
前記ＤＭＡ転送の初期設定及び転送終了後の処理をソフトウェアにより制御する手順
を前記コンピュータに更に実行さえることを特徴とする、付記１４または１５記載のプログラム。
（付記１７）
前記ＤＭＡメモリ領域の使用頻度の変化に応じて各センサのセンサデータに割り当てられたＤＭＡメモリ領域を設定変更ソフトウェアにより再設定する手順
を前記コンピュータに更に実行させることを特徴とする、付記１４乃至１６のいずれか１項記載のプログラム。
（付記１８）
前記再設定する手順は、前記割り込みハンドラの起動時間間隔及びセンサデータのサイズに基づいて、設定変更ソフトウェアにより各センサのセンサデータに割り当てられたＤＭＡメモリ領域のサイズを平準化することを特徴とする、付記１７記載のプログラム。
【００６１】
以上、開示の無線タグ装置、データ収集方法及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００６２】
１      ＲＦＩＤタグ
３      タグリーダライタ
１１      ＣＰＵ
１２      ローカルメモリ
１３，３３      ＲＦ部
１４，３４      アンテナ
１５      ローカルバス
１６      ＤＭＡＣ
１７      ＤＭＡメモリ
１８−１〜１８−Ｎ      アダプタ
１９−１〜１９−Ｎ      センサ
２１      ＤＭＡバス
３２      コマンド生成部
【図１】
0005761037.tif 000002
【図２】
0005761037.tif 000003
【図３】
0005761037.tif 000004
【図４】
0005761037.tif 000005
【図５】
0005761037.tif 000006
【図６】
0005761037.tif 000007
【図７】
0005761037.tif 000008
【図８】
0005761037.tif 000009
【図９】
0005761037.tif 000010