(57)【要約】【課題】ＲＦＩＤタグのメモリ仕様などの多種多様化により、ＲＦＩＤタグの仕様データを取得し、その仕様データを元にリーダライタが効率良く制御を行う手段が必要である。【解決手段】仕様データを生成しリーダライタに返信するＲＦＩＤタグと、ＲＦＩＤタグから仕様データを受信し、第１の仕様データの時は第１の制御方法で、第２の仕様データの時は第２の制御方法で制御するリーダライタから構成されるＲＦＩＤタグシステムである。【選択図】図４
2008090405.tif 000002
【特許請求の範囲】
【請求項１】
所定の複数の記憶領域のうちの一以上を備えることができ、無線により、外部通信装置と通信を行う無線通信メモリＩＣにおいて、
信号を載せた電波の送受信を行うためのアンテナと、
前記アンテナを介して、前記外部通信装置との間で前記信号が表すコマンド及びデータの送受信を行う通信制御部と、
前記受信したコマンドに基づく処理を行う制御部と、
前記複数の記憶領域についての存在有無と領域サイズとをそれぞれ示すデータを格納する記憶部とを備え、
前記制御部は、前記外部通信装置から仕様問合せコマンドを受信した時に、前記記憶部から前記複数の記憶領域についての存在有無と領域サイズとをそれぞれ示すデータを読出し、前記読み出したデータを含んだ仕様データを生成し、前記仕様データを含む応答データを生成し、前記応答データを前記外部通信装置へ送信することを特徴とする無線通信メモリＩＣ。
【請求項２】
請求項１記載の無線通信メモリＩＣにおいて、
前記記憶部は、さらに、前記複数の記憶領域についてのブロック数とブロックサイズとをそれぞれ示すデータを格納し、
前記制御部は、前記外部通信装置から前記仕様問合せコマンドを受信した時に、前記記憶部から前記複数の記憶領域についての存在有無と領域サイズとブロック数とブロックサイズとをそれぞれ示すデータを読出し、前記読み出したデータを含んだ仕様データを生成し、前記仕様データを含む応答データを生成し、前記応答データを前記外部通信装置へ送信することを特徴とする無線通信メモリＩＣ。
【請求項３】
請求項１記載の無線通信メモリＩＣにおいて、
前記記憶部は、さらに、前記無線通信メモリＩＣについてのバージョン、通信プロトコルの仕様、日付、通信距離、Ｋｉｌｌパスワードの有効無効、若しくはＡｃｃｅｓｓパスワードの有効無効、又は前記複数の記憶領域についてのＬｏｃｋの状態を示すデータを格納し、
前記制御部は、前記外部通信装置から前記仕様問合せコマンドを受信した時に、前記記憶部から前記複数の記憶領域についての存在有無、若しくは領域サイズ、又は前記無線通信メモリＩＣについてのバージョン、通信プロトコルの仕様、日付、通信距離、Ｋｉｌｌパスワードの有効無効、若しくはＡｃｃｅｓｓパスワードの有効無効、又は前記複数の記憶領域についてのＬｏｃｋの状態を示すデータを読出し、前記読み出したデータを含んだ仕様データを生成し、前記仕様データを含む応答データを生成し、前記応答データを前記外部通信装置へ送信することを特徴とする無線通信メモリＩＣ。
【請求項４】
請求項３記載の無線通信メモリＩＣにおいて、
前記制御部は、前記外部通信装置と無線通信を行う中での通信プロトコルの状態を管理するとともに、前記外部通信装置から前記仕様問い合わせコマンドを受信した時に、前記通信プロトコルの状態に応じて前記応答データに含まれる前記仕様データの内容を変更することを特徴とする無線通信メモリＩＣ。
【請求項５】
請求項１〜４のいずれか一項記載の無線通信メモリＩＣと通信を行うリーダライタであって、
信号を載せた電波の送受信を行うためのリーダライタアンテナと、
前記リーダライタアンテナを介して、前記無線通信メモリＩＣとの間で前記信号が表すコマンド及びデータの送受信を行う送受信部と、
前記無線通信メモリＩＣへのコマンドを前記送受信部へ送信し、前記無線通信メモリＩＣからのデータを前記送受信部から受信するリーダライタ制御部とを備え、
前記リーダライタ制御部は、前記仕様問合せコマンドを送信し、そして、前記仕様データを含む前記応答データを受信した場合、前記応答データに含まれる前記仕様データを解析し、前記仕様データの解析結果に基づいて前記無線通信メモリＩＣに対する後の操作を切替えることを特徴とするリーダライタ。
【請求項６】
請求項５記載のリーダライタにおいて、
前記リーダライタ制御部は、前記仕様データとして前記複数の記憶領域についての存在有無と領域サイズとをそれぞれ示すデータが得られた場合に、前記仕様データの解析結果に基づいて、前記複数の記憶領域のうち存在しているものに対して、その領域サイズを超えない範囲でアクセスする操作を行うことを特徴とするリーダライタ。
【請求項７】
請求項５記載のリーダライタにおいて、
前記リーダライタ制御部は、前記仕様データとして前記複数の記憶領域についてのブロック数とブロックサイズとをそれぞれ示すデータが得られた場合に、前記仕様データの解析結果に基づいて、得られたブロック数とブロックサイズから計算された領域サイズを超えない範囲で前記記憶領域へアクセスする操作を行うことを特徴とするリーダライタ。
【請求項８】
請求項５記載のリーダライタにおいて、
前記リーダライタ制御部は、前記仕様データとして通信プロトコルの仕様に関するデータが得られた場合に、前記仕様データの解析結果に基づいて、得られた通信プロトコルの仕様に合うような通信方法を選択し、前記無線通信メモリＩＣと通信することを特徴とするリーダライタ。
【請求項９】
請求項５記載のリーダライタにおいて、
前記リーダライタ制御部は、前記仕様データとしてＫｉｌｌパスワードの有効無効を示すデータが得られた場合に、前記仕様データの解析結果に基づいて、Ｋｉｌｌパスワードが無効の時は、前記無線通信メモリＩＣに対してＫｉｌｌパスワードが有効となる操作を行った後、Ｋｉｌｌを実行する操作を行うことを特徴とするリーダライタ。
【請求項１０】
請求項５記載のリーダライタにおいて、
前記リーダライタ制御部は、前記仕様データとしてＡｃｃｅｓｓパスワード有効無効を示すデータが得られた場合に、前記仕様データの解析結果に基づいて、Ａｃｃｅｓｓパスワードが有効の時は、前記記憶領域にアクセスするための操作を行った後、前記記憶領域に対して読込み、書き換え、Ｋｉｌｌ、及びＬｏｃｋのうち少なくともいずれか１つの操作を行い、また、Ａｃｃｅｓｓパスワードが無効の場合は、アクセスするための操作を行わずに、前記記憶領域に対して読込み、書き換え、Ｋｉｌｌ、及びＬｏｃｋのうち少なくともいずれか１つの操作を行うことを特徴とするリーダライタ。
【請求項１１】
無線通信メモリＩＣとリーダライタとの通信方法であって、
前記リーダライタが、前記無線通信メモリＩＣへ仕様問合せコマンドを送信するステップと、
前記仕様問合せコマンドを受信した無線通信メモリＩＣが、前記リーダライタへ仕様データを含んだ応答データを送信するステップと、
前記応答データを受信した前記リーダライタが、前記応答データに含まれる前記仕様データを解析するステップと、
前記リーダライタが、前記応答データに含まれる仕様データの解析結果に基づいて、前記無線通信メモリＩＣに対する後の操作を切替えるステップとを備えることを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）タグに代表されるような無線通信メモリＩＣとリーダライタとの間の通信技術に関する。
【背景技術】
【０００２】
ＲＦＩＤタグを例にとって説明すると、ＲＦＩＤタグは、使用する周波数によって具体的特性は異なるが、一般に数ｍ以上の通信距離を持ち、且つ数十枚以上を同時に認識することが可能である。ＲＦＩＤタグは、複数の記憶領域を持っており、格納する情報の内容によりそれらの記憶領域が使い分けられている。例えば、ＲＦＩＤタグを識別するための識別番号を格納する領域や、利用者が自由に情報を格納できる領域などがある。現在のＲＦＩＤタグの記憶領域のサイズは、数百ビットから数Ｋビット程度であるが、今後のＲＦＩＤタグの普及と利用の増加に伴い、このメモリサイズは増加し、また、記憶領域の種類が増えるなど、様々な仕様のＲＦＩＤタグが混在するようになると予想される。
【０００３】
一方、（非特許文献１）には、リーダライタが、ＲＦＩＤタグ全体のメモリサイズと全体のメモリブロック数、ＲＦＩＤタグがアクティブ型かパッシブ型かを識別する情報などを取得する方法が開示されている。
【０００４】
【非特許文献１】ＩＳＯ／ＩＥＣ  ＦＤＩＳ  １８０００−６Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｒａｄｉｏ−ｆｒｅｑｕｅｎｃｙ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｆｏｒ  ｉｔｅｍ  ｍａｎａｇｅｍｅｎｔ  −Ｐａｒｔ６：Ｐａｒａｍｅｔｅｒｓ  ｆｏｒ  ａｉｒ  ｉｎｔｅｒｆａｃｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｔ  ８６０  ＭＨｚ  ｔｏ  ９６０  ＭＨｚ
【発明の開示】
【発明が解決しようとする課題】
【０００５】
様々な仕様のＲＦＩＤタグとの間で通信を行う場合、リーダライタは、通信相手となるＲＦＩＤタグの仕様を知らないと、効率良く通信することができない。例えば、ＲＦＩＤタグが持つ記憶領域の種類やサイズがわからなければ、リーダライタは、存在しない記憶領域へのアクセスを行ってしまうことにもなる。このような場合、大抵は、ＲＦＩＤタグから何らかのエラー通知が返ってくるので、リーダライタは、その通知に従って、正しい操作を行ったり、又は操作を断念したりできる。しかし、操作が完了するまでに多くの時間がかかってしまうことになる。
一般に、ＲＦＩＤタグは、その移動中に識別されることもあり、このような場合は、限られた時間内に通信を完了させなくてはならず、また、通信状態も不安定なことが多い。そのため、通信時に行われる操作は、余計な時間がかからないように効率的に行われることが望まれる。
【０００６】
従って、本発明の目的は、リーダライタが、効率よく、様々な仕様のＲＦＩＤタグと通信できるようにすることである。
【課題を解決するための手段】
【０００７】
本発明の一つの態様に従う無線通信メモリＩＣは、所定の複数の記憶領域のうちの一以上を備えることができ、無線により、外部通信装置と通信を行う無線通信メモリＩＣにおいて、信号を載せた電波の送受信を行うためのアンテナと、前記アンテナを介して、前記外部通信装置との間で前記信号が表すコマンド及びデータの送受信を行う通信制御部と、前記受信したコマンドに基づく処理を行う制御部と、前記複数の記憶領域についての存在有無と領域サイズとをそれぞれ示すデータを格納する記憶部とを備え、前記制御部は、前記外部通信装置から仕様問合せコマンドを受信した時に、前記記憶部から前記複数の記憶領域についての存在有無と領域サイズとをそれぞれ示すデータを読出し、前記読み出したデータを含んだ仕様データを生成し、前記仕様データを含む応答データを生成し、前記応答データを前記外部通信装置へ送信する。
【０００８】
好適な実施態様では、前記記憶部は、さらに、前記複数の記憶領域についてのブロック数とブロックサイズとをそれぞれ示すデータを格納し、前記制御部は、前記外部通信装置から前記仕様問合せコマンドを受信した時に、前記記憶部から前記複数の記憶領域についての存在有無と領域サイズとブロック数とブロックサイズとをそれぞれ示すデータを読出し、前記読み出したデータを含んだ仕様データを生成し、前記仕様データを含む応答データを生成し、前記応答データを前記外部通信装置へ送信してもよい。
【０００９】
好適な実施態様では、前記記憶部は、さらに、前記無線通信メモリＩＣについてのバージョン、通信プロトコルの仕様、日付、通信距離、Ｋｉｌｌパスワードの有効無効、若しくはＡｃｃｅｓｓパスワードの有効無効、又は前記複数の記憶領域についてのＬｏｃｋの状態を示すデータを格納し、前記制御部は、前記外部通信装置から前記仕様問合せコマンドを受信した時に、前記記憶部から前記複数の記憶領域についての存在有無、若しくは領域サイズ、又は前記無線通信メモリＩＣについてのバージョン、通信プロトコルの仕様、日付、通信距離、Ｋｉｌｌパスワードの有効無効、若しくはＡｃｃｅｓｓパスワードの有効無効、又は前記複数の記憶領域についてのＬｏｃｋの状態を示すデータを読出し、前記読み出したデータを含んだ仕様データを生成し、前記仕様データを含む応答データを生成し、前記応答データを前記外部通信装置へ送信してもよい。
【００１０】
好適な実施態様では、前記制御部は、前記外部通信装置と無線通信を行う中での通信プロトコルの状態を管理するとともに、前記外部通信装置から前記仕様問い合わせコマンドを受信した時に、前記通信プロトコルの状態に応じて前記応答データに含まれる前記仕様データの内容を変更してもよい。
【００１１】
また、本発明の一つの態様に従うリーダライタは、複数の記憶領域を持つ無線通信メモリＩＣと通信を行うリーダライタであって、信号を載せた電波の送受信を行うためのリーダライタアンテナと、前記リーダライタアンテナを介して、前記無線通信メモリＩＣとの間で前記信号が表すコマンド及びデータの送受信を行う送受信部と、前記無線通信メモリＩＣへのコマンドを前記送受信部へ送信し、前記無線通信メモリＩＣからのデータを前記送受信部から受信するリーダライタ制御部とを備え、前記リーダライタ制御部は、前記仕様問合せコマンドを送信し、そして、前記仕様データを含む前記応答データを受信した場合、前記応答データに含まれる前記仕様データを解析し、前記仕様データの解析結果に基づいて前記無線通信メモリＩＣに対する後の操作を切替える。
【００１２】
好適な実施態様では、前記リーダライタ制御部は、前記仕様データとして前記複数の記憶領域についての存在有無と領域サイズとをそれぞれ示すデータが得られた場合に、前記仕様データの解析結果に基づいて、前記複数の記憶領域のうち存在しているものに対して、その領域サイズを超えない範囲でアクセスする操作を行ってもよい。
【００１３】
好適な実施態様では、前記リーダライタ制御部は、前記仕様データとして前記複数の記憶領域についてのブロック数とブロックサイズとをそれぞれ示すデータが得られた場合に、前記仕様データの解析結果に基づいて、得られたブロック数とブロックサイズから計算された領域サイズを超えない範囲で前記記憶領域へアクセスする操作を行ってもよい。
【００１４】
好適な実施態様では、前記リーダライタ制御部は、前記仕様データとして通信プロトコルの仕様に関するデータが得られた場合に、前記仕様データの解析結果に基づいて、得られた通信プロトコルの仕様に合うような通信方法を選択し、前記無線通信メモリＩＣと通信してもよい。
【００１５】
好適な実施態様では、前記リーダライタ制御部は、前記仕様データとしてＫｉｌｌパスワードの有効無効を示すデータが得られた場合に、前記仕様データの解析結果に基づいて、Ｋｉｌｌパスワードが無効の時は、前記無線通信メモリＩＣに対してＫｉｌｌパスワードが有効となる操作を行った後、Ｋｉｌｌを実行する操作を行ってもよい。
【００１６】
好適な実施態様では、前記リーダライタ制御部は、前記仕様データとしてＡｃｃｅｓｓパスワード有効無効を示すデータが得られた場合に、前記仕様データの解析結果に基づいて、Ａｃｃｅｓｓパスワードが有効の時は、前記記憶領域にアクセスするための操作を行った後、前記記憶領域に対して読込み、書き換え、Ｋｉｌｌ、及びＬｏｃｋのうち少なくともいずれか１つの操作を行い、また、Ａｃｃｅｓｓパスワードが無効の場合は、アクセスするための操作を行わずに、前記記憶領域に対して読込み、書き換え、Ｋｉｌｌ、及びＬｏｃｋのうち少なくともいずれか１つの操作を行ってもよい。
【発明の効果】
【００１７】
本発明により、リーダライタが、効率よく、様々な仕様のＲＦＩＤタグと通信できるようになる。
【発明を実施するための最良の形態】
【００１８】
以下、ＲＦＩＤタグに適用された本発明に係る無線通信メモリＩＣの第一の実施形態について、図面を参照しながら説明していく。
【００１９】
図１は、本実施形態に係るＲＦＩＤタグ１００の内部構成を示したブロック図である。
【００２０】
ＲＦＩＤタグ１００は、外部のリーダライタ１１０と電波の送受信を行うアンテナ１０１と、アンテナ１０１から受信した電波を整流する整流部１０２と、整流して得た電圧を検出し、各部に電源を供給する電源部１０３と、電波に載せられて受信した信号の復調を行い、また電波に載せて送信する信号の変調を行う通信制御部１０４と、ＲＦＩＤタグ１００がリーダライタ１１０と無線通信を行う際に用いるパラメータの初期化や受信した信号が表すコマンド及びデータに基づいた処理を行う制御部１０５と、ＲＦＩＤタグ１００を識別するための識別番号（以下、「ＩＤ」）やＲＦＩＤタグ１００の仕様に関する種々の情報（後述する）を記憶する記憶部１０６とを備える。制御部１０５は、また、記憶部１０６に設けられた複数の記憶領域ごとにアクセスの制御を行う。また、制御部１０５は、リーダライタ１１０への応答に際して送信するデータ（以下、「応答データ」）を生成する。さらに、制御部１０５は、リーダライタ１１０と無線通信を行う中での通信プロトコルの状態（以下、「動作状態」）を管理する。
【００２１】
図２は、本実施形態に係るＲＦＩＤタグ１００とリーダライタ１１０との通信の様子を示した図である。リーダライタ１１０は、リーダライタ本体１１１と、リーダライタアンテナ１１２とを備える。リーダライタ１１０は、電波を送信することによりＲＦＩＤタグ１００に対してコマンド及びデータの送信と電力の供給とを行い、電波を受信することによりＲＦＩＤタグ１００から応答データを受信する。
【００２２】
図３は、本実施形態に係るリーダライタ１１０の内部構成を示した図である。リーダライタ１１０は、リーダライタ本体１１１と、ＲＦＩＤタグ１００との間で電波の送受信を行うリーダライタアンテナ１１２とを備える。リーダライタ本体１１１は、リーダライタアンテナ１１２を用いてＲＦＩＤタグ１００へコマンド及びデータを送信したり、ＲＦＩＤタグ１００から応答データを受信したりする送受信部１１３と、コマンド及びデータの送信時の変調や応答データを受信した時の復調を行う通信制御部１１４と、受信した応答データの解析やリーダライタ１１０全体の制御を行う制御部１１５と、パーソナルコンピュータなどの外部通信装置との間でコマンド及びデータなどの通信を行うためのホストインタフェース１１６と、各部に電源を供給するための電源部１１７とを備える。通信制御部１１４は、また、複数の通信方法に対応することができ、通信するＲＦＩＤタグ１００の仕様に合わせて通信方法を切替えることができる。ＲＦＩＤタグ１００へ送信するコマンドの一例として、ＲＦＩＤタグ１００のＩＤやその他記憶部１０６に格納された情報を読取る時に利用するリードコマンド、ＲＦＩＤタグ１００の記憶部１０６に格納された情報を書き換える時に利用するライトコマンド、ＲＦＩＤタグ１００の記憶部１０６に格納された情報を書換え不可にする時に利用するＬｏｃｋコマンド、ＲＦＩＤタグ１００を永久に使用できないようにする時に利用するＫｉｌｌコマンド、通信距離を設定するためのＡｔｔｅｎｕａｔｅコマンド、ＲＦＩＤタグ１００から情報を取得する時に利用するＧｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドなどがある。
【００２３】
本実施形態に係るＲＦＩＤタグ１００は、リーダライタ１１０から受信したＧｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドに対して、ＲＦＩＤタグ１００の仕様に関する種々のデータ（以下、「仕様データ」）を含んだ応答データをリーダライタ１１０へ送信するものである。すなわち、Ｇｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドが、仕様問合せコマンドに相当する。これにより、仕様データを含んだ応答データを受信したリーダライタ１１０は、通信しているＲＦＩＤタグ１００に関する種々の仕様、例えば、記憶領域の種類や数、それぞれの記憶領域のブロック数等を知ることができるので、その仕様に合うようにＲＦＩＤタグ１００への操作を切替えることができるようになる。以下、仕様データについて、具体的に説明する。
【００２４】
図４は、ＲＦＩＤタグ１００がＧｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドに対してリーダライタ１１０へ送信する応答データ２１２の構造を示した図である。情報要素名２１１は、応答データ２１２に含まれる各情報要素の名称を示す。レングス２００は、各情報要素のデータサイズを示し、定義２０１は、各情報要素の意味を示す。Ｈｅａｄｅｒ２０２は、ヘッダ情報であり、応答データ２１２が仕様データを含んでいることを示す。Ｈｅａｄｅｒ以降には、Ｌｅｎｇｔｈ２０３からＣＲＣ２１０までの情報が含まれる。Ｌｅｎｇｔｈ２０３は、応答データ２１２全体からＨｅａｄｅｒ２０２とＬｅｎｇｔｈ２０３を除いたサイズを示す。ＲＮ２０９は、リーダライタ１１０とＲＦＩＤタグ１００が通信を行う時に使用するハンドル値を示す。ＣＲＣ１６は、リーダライタ１１０とＲＦＩＤタグ１００が確実に通信を行うために使用するチェックサム値を示す。
【００２５】
応答データ２１２は、符号２０４〜２０８で示したような仕様データを含む。ＩｎｆｏＦｌａｇｓ２０４は、以下に示すような種々の記憶領域の有無を示す。ＩｎｆｏＦｌａｇｓ２０４については図５にて詳細に説明する。Ｒｅｓｅｒｖｅｄ２０５は、パスワードなどの情報が格納されている「Ｒｅｓｅｒｖｅｄ」と呼ばれる記憶領域のサイズを示す。ＵＩＩ２０６は、ＩＤなどの情報が格納されている「ＵＩＩ」と呼ばれる記憶領域のサイズを示す。ＴＩＤ２０７は、ＲＦＩＤタグ１００固有のＩＤが格納されている「ＴＩＤ」と呼ばれる記憶領域のサイズを示す。ＵＳＥＲ２０８は、ユーザが自由に読み書きできる情報が格納されている「ＵＳＥＲ」と呼ばれる記憶領域のサイズを示す。この例では、仕様データとして、４つの記憶領域（「Ｒｅｓｅｒｖｅｄ」、「ＵＩＩ」、「ＴＩＤ」、「ＵＳＥＲ」）に関する記憶領域の有無及びそのサイズを含めたが、記憶領域の種類や数はこれに限定されるものではない。すなわち、これら以外の記憶領域が存在する場合は、ＩｎｆｏＦｌａｇｓ２０４を拡張し、また、新たな情報要素を追加することにより、その記憶領域についての記憶領域の有無及びそのサイズをも、仕様データとして含ませることができる。また各項目のレングスの値は、ＲＦＩＤタグのメモリサイズ等の仕様に合わせれば良く、サイズの指定もワードでもバイトでもビットでも良い。
【００２６】
図５は、ＩｎｆｏＦｌａｇｓ２０４の値の意味について示した図である。全体で１６ビットあり、各ビット毎にその値（Ｖａｌｕｅ２１３）と、Ｖａｌｕｅ２１３が０または１の時の説明２１４を示している。ここでは、１〜１６までの各ビットをそれぞれＢ（１〜１６）と表記し、かっこ内の数字により、対応するビットの番号を表すこととする。１ビット目のＢ（１）２１５は、記憶領域「Ｒｅｓｅｒｖｅｄ」の有無を示す。Ｂ（１）２１５が０の時は、記憶領域「Ｒｅｓｅｒｖｅｄ」がないことを示す。また、Ｂ（１）２１５が１の時は、記憶領域「Ｒｅｓｅｒｖｅｄ」があることを示す。Ｂ（２）２１６は、記憶領域「ＵＩＩ」の有無を示す。Ｖａｌｕｅ２１３が０の時は対応する記憶領域がないことを示し、Ｖａｌｕｅ２１３が１の時は対応する記憶領域があることを示しているのは、Ｂ（１）２１５の場合と同様である。Ｂ（３）２１７は、記憶領域「ＴＩＤ」の有無を示す。Ｖａｌｕｅ２１３が示す値の意味２１４は、上記と同様である。Ｂ（４）２１８は、記憶領域「ＵＳＥＲ」の有無を示す。この場合も、Ｖａｌｕｅ２１３が示す値の意味２１４は、上記と同様である。Ｂ（５）〜Ｂ（１６）２１９は、この情報を拡張するための予約ビットである。すなわち、本例では、４つの記憶領域（「Ｒｅｓｅｒｖｅｄ」，「ＵＩＩ」、「ＴＩＤ」、「ＵＳＥＲ」）ついてその領域の有無を示したが、他の記憶領域がある場合、Ｂ（５）〜Ｂ（１６）２１９に追加する。本例では、１６ビットとしているが、使用する記憶領域や情報数により、サイズが変わっても良い。
【００２７】
ＲＦＩＤタグ１００は、以上説明した仕様データを、予め記憶部１０６に格納しておき、応答データの生成時に記憶部１０６から取得することができる。また、予め記憶部１０６に格納しておかなくても、ＲＦＩＤタグ１００は、応答データの生成時に、記憶領域のサイズ等の必要な情報を収集することにより、仕様データを取得することもできる。
【００２８】
図６は、リーダライタ１１０がＲＦＩＤタグ１００から仕様データを取得するときの基本的な処理手順について示した図である。まず、リーダライタ１１０は、ＲＦＩＤタグ１００と無線通信を行う際に用いるパラメータの初期化を行い（Ｓ３００）、リーダライタアンテナ１１２の電波出力をＯＮにする（Ｓ３０１）。次に、リーダライタ１１０は、Ｇｅｔ  Ｓｙｓｔｅｍ  ＩｎｆｏｒｍａｔｉｏｎコマンドをＲＦＩＤタグ１００に対して送信する（Ｓ３０２）。ＲＦＩＤタグ１００からＧｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドに対する応答データを受信すると、リーダライタ１１０は、受信した応答データから仕様データを取出す（Ｓ３０３）。そして、リーダライタ１１０は、仕様データを参照しながら、ＲＦＩＤタグ１００の仕様に合うように種々のコマンドを送信して、ＲＦＩＤタグ１００を操作する（Ｓ３０４）。全ての処理が終わったら、リーダライタ１１０は、リーダライタアンテナ１１２の電波出力をＯＦＦにする（Ｓ３０５）。Ｓ３０４での具体的な処理例と使用する仕様データについては、後で説明する。
【００２９】
図７は、Ｇｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドを受信した時のRＦＩＤタグ１００の処理を示した図である。まず、ＲＦＩＤタグ１００は、リーダライタ１１０からの電波を受けて給電することにより動作を開始する（Ｓ３１０）。次に、ＲＦＩＤタグ１００は、リーダライタ１１０と無線通信を行う際に用いるパラメータの初期化を行う（Ｓ３１１）。Ｇｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドを受信したら、ＲＦＩＤタグ１００は、記憶部１０６より仕様データを取得する（Ｓ３１３）。その後、記憶部１０６より取得した仕様データに基づいて応答データが生成され（Ｓ３１４）、生成された応答データは、リーダライタ１１０に送信される（Ｓ３１５）。
【００３０】
図８は、応答データ２１２の具体例を示した図である。Ｈｅａｄｅｒ２０２には０１ｈ（ｈは１６進であることを示す。）、Ｌｅｎｇｔｈ２０３には０Ａｈ、ＩｎｆｏＦｌａｇｓにはＦ０００ｈ、Ｒｅｓｅｒｖｅｄには１０ｈ、ＵＩＩには０Ｃｈ，ＴＩＤには０４ｈ、ＵＳＥＲには６０ｈ、ＲＮには００００ｈ、ＣＲＣには００００ｈが、それぞれ格納されている。
【００３１】
図９は、図８のＩｎｆｏＦｌａｇｓ２０４がＦ０００ｈの場合のこの情報の示す意味を詳しく説明した図である。ＩｎｆｏＦｌａｇｓ２０４はＦ０００ｈであり、２進数に直すと、１１１１００００００００００００である。よって、Ｂ（１）２１５とＢ（２）２１６とＢ（３）２１７とＢ（４）２１８のＶａｌｕｅ２１３は、全て１となり、４つの記憶領域（「Ｒｅｓｅｖｅｄ」、「ＵＩＩ」、「ＴＩＤ」、「ＵＳＥＲ」）は全て存在することになる。またＢ（５）〜Ｂ（１６）は、特に利用されておらず、Ｖａｌｕｅ２１３は０となっている。
【００３２】
以下、図８に示した応答データを受信した場合を例にして、リーダライタ１１０が、ＲＦＩＤタグ１００から受信した仕様データを参照してＲＦＩＤタグ１００への操作を切替える方法について具体的に説明する。
【００３３】
図１０は、図８に示した応答データ２１２を受信したリーダライタ１１０がＲＦＩＤタグ１００の記憶領域「ＵＩＩ」に格納されている全ての情報を読取る場合の処理手順について示した図である。Ｓ３００からＳ３０３まで及びＳ３０５は、図６の処理手順と同じであるため説明を省略する。応答データを受信したリーダライタ１１０は、応答データに含まれる仕様データを解析する（Ｓ３２０）。すなわち、まず、応答データにＩｎｆｏＦｌａｇｓ２０４とＵＩＩ２０６とが含まれていること、及びＩｎｆｏＦｌａｇｓ２０４には、記憶領域「ＵＩＩ」に関する存在有無の情報が含まれていることが確認される。そして、リーダライタ１１０は、ＩｎｆｏＦｌａｇｓ２０４における記憶領域「ＵＩＩ」に関する値（ここでは、Ｂ（２）２１６のＶａｌｕｅ２１３）に基づいてＲＦＩＤタグ１００への操作を切替える（Ｓ３２１）。Ｂ（２）２１６のＶａｌｕｅ２１３が１の場合（Ｓ３２１：ＹＥＳ）は、ＲＦＩＤタグ１００には記憶領域「ＵＩＩ」が存在することを意味するので、リーダライタ１１０は、応答データ２１２のＵＩＩ２０６を参照して、記憶領域「ＵＩＩ」のサイズを取得する（Ｓ３２２）。そして、リーダライタ１１０は、記憶領域「ＵＩＩ」及びＳ３２２で取得した記憶領域「ＵＩＩ」のサイズを指定して、ＲＦＩＤタグ１００に対してリードコマンドを送信する（Ｓ３２３）。その後、リーダライタ１１０は、指定したサイズ分、即ち記憶領域「ＵＩＩ」に格納されている全ての情報をＲＦＩＤタグ１００から受信して（Ｓ３２４）、記憶領域「ＵＩＩ」に対するリードの操作が完了する。この例では、ＵＩＩ２０６の値が０Ｃｈであるため、リーダライタ１１０は、０Ｃｈ分のデータを取得することになる。一方、Ｂ（２）２１６のＶａｌｕｅ２１３が０の場合は、ＲＦＩＤタグ１００には記憶領域「ＵＩＩ」が存在しないことを意味するため、リーダライタ１１０は、読取りの操作を行わない。
【００３４】
このように、リーダライタ１１０は、仕様データを参照することにより、前もって、読取りを行おうとする記憶領域の有無を知ることができるので、その記憶領域が存在する場合にだけ読取りを実施できるようになる。これにより、余計な操作を省くことができる。上述したように、移動中のＲＦＩＤタグ１００を識別する場合は、限られた時間内に通信を完了させなくてはならず、また、通信状態も不安定なことが多い。そのため、正常に通信を完了させるためには、余計な操作を省くことは重要なこととなる。また、ＲＦＩＤタグ１００によっては、存在しない記憶領域へアクセスされたことにより、多くの時間を要する例外的な処理が必要となったり、さらには、そのこと自体で問題を生じる場合もある。上記の処理手順により、記憶領域の有無を予め取得しておけば、存在しない記憶領域へアクセスすることもなくなり、このような問題の発生を防止することができる。
【００３５】
また、記憶領域のサイズを超えた情報の読取り操作が行われた場合には、例外的な処理が発生することになるが、記憶領域のサイズを利用して読取り操作を行うことにより、このような例外的な処理の発生も防止できるようになる。
【００３６】
この例では、ある記憶領域に格納されている全ての情報を読取る例を示したが、書換えでも良く、指定サイズ分記憶領域にアクセスするコマンドであれば良い。また、ある記憶領域に格納されている全ての情報を読み取らなくても良く、ある記憶領域のサイズを取得し、そのサイズ以内で必要な分だけ読取るという使い方でも良い。
【００３７】
以下、ＲＦＩＤタグに適用された本発明に係る無線通信メモリＩＣの第二の実施形態について説明する。尚、第二の実施形態に係るＲＦＩＤタグ１００及びリーダライタ１１０の基本的構成は、第一の実施形態において示したものと同様であるので説明を省略する。
【００３８】
図１１は、第二の実施形態に係るＲＦＩＤタグ１００がリーダライタ１１０へ送信する応答データ４１０の構造を示した図である。応答データ４１０は、第一の実施形態において示した応答データ２１２に、符号４０３〜４０９で示された仕様データを加えたものになっている。
【００３９】
第一の実施形態において示した応答データ２１２に付されたものと同一の符号については、説明を省略する。Ｒｅｓｅｒｖｅｄ  Ｓｉｚｅ４０３は、記憶領域「Ｒｅｓｅｒｖｅｄ」のサイズを示す。ＵＩＩ  Ｂｌｏｃｋ  Ｓｉｚｅ４０４は、記憶領域「ＵＩＩ」の１ブロックのサイズを示す。ＵＩＩ  Ｂｌｏｃｋ  Ｎｕｍｂｅｒ４０５は、記憶領域「ＵＩＩ」に存在するブロック数を示す。ＴＩＤ  Ｂｌｏｃｋ  Ｓｉｚｅ４０６は、記憶領域「ＴＩＤ」の１ブロックのサイズを示す。ＴＩＤ  Ｂｌｏｃｋ  Ｎｕｍｂｅｒ４０７は、記憶領域「ＴＩＤ」に存在するブロック数を示す。ＵＳＥＲ  Ｂｌｏｃｋ  Ｓｉｚｅ４０８は、記憶領域「ＵＳＥＲ」の１ブロックのサイズを示す。ＵＳＥＲ  Ｂｌｏｃｋ  Ｎｕｍｂｅｒ４０９は、記憶領域「ＵＳＥＲ」に存在するブロック数を示す。この例では、仕様データとして、４つの記憶領域（「Ｒｅｓｅｒｖｅｄ」、「ＵＩＩ」、「ＴＩＤ」、「ＵＳＥＲ」）に関する１ブロックのサイズとブロック数を含めたが、上述したように、記憶領域の種類や数はこれに限定されるものではない。また、これらの仕様データを、ＲＦＩＤタグ１００の記憶部１０６に格納しておいても良いし、応答データの生成時に収集しても良いことは、上述したとおりである。
【００４０】
図１２は、図１１に示した応答データ４１０を受信したリーダライタ１１０がＲＦＩＤタグ１００の記憶領域「ＵＳＥＲ」に格納されている全ての情報を書き換えるる時の処理手順について示した図である。Ｓ３００からＳ３２０まで及びＳ３０５は、図１０の処理手順と同じであるため説明を省略する。Ｓ３２５において、リーダライタ１１０は、応答データ４１０のＵｓｅｒ  Ｂｌｏｃｋ  Ｓｉｚｅ４０８とＵＳＥＲ  Ｂｌｏｃｋ  Ｎｕｍｂｅｒ４０９とを参照して、記憶領域「ＵＳＥＲ」の１ブロックのサイズとブロック数とを取得する。そして、リーダライタ１１０は、Ｓ３２５で取得した１ブロックのサイズとブロック数とを乗算することにより、記憶領域「ＵＳＥＲ」のサイズを計算する。その後、リーダライタ１１０は、得られた記憶領域「ＵＳＥＲ」のサイズを指定して、ＲＦＩＤタグ１００に対してライトコマンドを送信する（Ｓ３２６）。これにより、ＲＦＩＤタグ１００は、記憶領域「ＵＳＥＲ」のサイズ全体について書き換えを行うことになる。
【００４１】
このように、リーダライタ１１０は、仕様データとして、ＲＦＩＤタグ１００の記憶領域に関する１ブロックのサイズとブロック数とを取得することにより、その記憶領域のサイズを得ることができる。従って、記憶領域のサイズを超えた情報の書き換え操作を防止して、効率よく書き換えを行うことができるようになる。
【００４２】
この例では、記憶領域「ＵＳＥＲ」の１ブロックのサイズが１０ｈで、ブロック数が０６ｈであるため、１０ｈ×０６ｈ分のデータを書き換えることになる。この例では、１ブロックのサイズとブロック数を取得し、ある記憶領域に格納されている全ての情報を書き換える例を示したが、読取りでも良く、指定ブロック分または、指定サイズ分だけ記憶部１０６にアクセスするコマンドであれば良い。また、ある記憶領域に格納されている全ての情報を書き換えなくても良く、ある記憶領域の１ブロックのサイズとブロック数を取得し、計算されたその記憶領域の全体のサイズ以内で必要な分だけ書き換えても良い。
【００４３】
以下、ＲＦＩＤタグに適用された本発明に係る無線通信メモリＩＣの第三の実施形態について説明する。尚、第三の実施形態に係るＲＦＩＤタグ１００及びリーダライタ１１０の基本的構成も、第一の実施形態において示したものと同様であるので説明を省略する。
【００４４】
図１３は、第三の実施形態に係るＲＦＩＤタグ１００がリーダライタ１１０へ送信する応答データ４１１の構造を示した図である。応答データ４１１は、第一の実施形態において示した応答データ２１２に、符号４１３〜４２０で示された仕様データを加えたものになっている。
【００４５】
第一の実施形態において示した応答データ２１２に付されたものと同一の符号については、説明を省略する。Ｖｅｒｓｉｏｎ４１３は、ＲＦＩＤタグ１００のバージョン情報を示す。バージョン情報は、ＲＦＩＤタグ１００の生産時の型番情報や製品番号などの情報である。Ｐｒｏｔｏｃｏｌ４１４は、通信プロトコルの仕様に関する情報であり、ＲＦＩＤタグ１００が採用する通信プロトコルの種別やバージョン等を特定できるものである。Ｄａｔｅ４１５は、ＲＦＩＤタグ１００が生産または出荷された日付や最初に使用された日付を示す。日付の形式はなんでも良く、時間情報が付加されたものであっても良い。この例では生産された製造日とされているが、これ以外の日付であっても良い。Ａｔｔｅｎｕａｔｅ４１６は、通信距離の現在の設定値を示す。上述したように、Ａｔｔｅｎｕａｔｅコマンドは通信距離を設定するためのコマンドであり、これにより設定された値に応じてＲＦＩＤタグ１００とリーダライタ１１０の通信距離が変更される。この値には、複数のレベルを予め定義して、そのレベルの値を設定しても良いし、距離を設定しても良い。Ｋｉｌｌ  ｐｗｄ４１７は、ＲＦＩＤタグ１００にＫｉｌｌパスワードが設定されているかどうかを示す。この値が０の時は、Ｋｉｌｌパスワードが設定されておらず、１の時は設定されていることを示す。Ｋｉｌｌパスワードは、ＲＦＩＤタグ１００を使用不可にするためのＫｉｌｌコマンドを実行する時に使用する。すなわち、Ｋｉｌｌパスワードが設定されている場合は、Ｋｉｌｌコマンドの実行に際して、Ｋｉｌｌパスワードの入力が必要とされる。一方、Ｋｉｌｌパスワードが設定されていない場合は、Ｋｉｌｌパスワードを入力することなしにＫｉｌｌコマンドが実行される。Ａｃｃｅｓｓ  ｐｗｄ４１８は、ＲＦＩＤタグ１００にＡｃｃｅｓｓパスワードが設定されているかどうかを示す。この値が０の時は、Ａｃｃｅｓｓパスワードが設定されておらず、１の時は設定されていることを示す。Ａｃｃｅｓｓパスワードは、ＲＦＩＤタグ１００の記憶領域にアクセスする場合、すなわち、リードコマンド、ライトコマンド、Ｋｉｌｌコマンド、Ｌｏｃｋコマンドなどを実行する場合に使用する。従って、これらのコマンドの実行に際しては、Ａｃｃｅｓｓパスワードが設定されている場合は、Ａｃｃｅｓｓパスワードの入力が必要とされ、Ａｃｃｅｓｓパスワードが設定されていない場合は、Ａｃｃｅｓｓパスワードの入力は必要とされない。ＬｏｃｋＦｌａｇ４１９は、各記憶領域がＬｏｃｋされているか否か、すなわち、読込みや書き換えが制限されているか否かを示す。
【００４６】
図１４は、ＬｏｃｋＦｌａｇ４１９の値の意味ついて示した図である。Ｌｏｃｋについては、読込みができなくなるリードロックと、書き換えができなくなるライトロックなどがあるが、今回の例では、読込みと書き換えとが両方できなくなる状態をＬｏｃｋとしている。リードロックとライトロックとをそれぞれ別々の情報として管理することもできる。Ｂｉｔｓ４２０は、ＬｏｃｋＦｌａｇ４１９の値をビット列で表現したときのビットの番号を示し、記憶領域４２１は、Ｌｏｃｋされているか否かの対象となる記憶領域を示し、値４２２は具体的な例を示す。Ｌｏｃｋ４２３は、その記憶領域がＬｏｃｋされているかどうかを示す。０はＬｏｃｋされていない状態、１はＬｏｃｋされている状態をそれぞれ示す。Ｐｅｒｍａ４２４は、その記憶領域にかかっているＬｏｃｋが永久的なものであるかどうかを示す。０なら永久的でなく、Ｌｏｃｋをはずすことができる。１なら永久的であるため、Ｌｏｃｋをはずすことはできない。
【００４７】
図１５は、図１４のＬｏｃｋ４２３とＰｅｒｍａ４２４を組合せた時の記憶領域のＬｏｃｋに関する状態（以下、「Ｌｏｃｋ状態」）を示した図である。Ｌｏｃｋ４２３が０で、Ｐｅｒｍａ４２４が０の時は、その記憶領域は、Ｌｏｃｋがかかっていないためアクセスすることができ、またＬｏｃｋをかけることができる。Ｌｏｃｋ４２３が０で、Ｐｅｒｍａ４２４が１の時は、その記憶領域は、Ｌｏｃｋがかかっていないためアクセスすることができるが、Ｌｏｃｋをかけることができない。すなわち、永久ｕｎＬｏｃｋ状態となる。Ｌｏｃｋ４２３が１で、Ｐｅｒｍａ４２４が０の時は、その記憶領域にアクセスすることができないが、Ｌｏｃｋをはずすことができる。Ｌｏｃｋ４２３が１で、Ｐｅｒｍａ４２４が１の時は、その記憶領域にアクセスすることができず、さらにＬｏｃｋをはずすこともできない。すなわち永久Ｌｏｃｋ状態となる。
【００４８】
このように、本実施形態に係るＲＦＩＤタグ１００は、仕様データとしてバージョン情報を含んだ応答データ４１１を送信する。上述したように、バージョン情報は、ＲＦＩＤタグ１００の生産時の型番情報や製品番号などの情報である。一般に、ＲＦＩＤタグ１００には、様々な種類の製品があり、これらはそれぞれ、記憶領域の数やサイズ等の仕様が異なる。従って、ＲＦＩＤタグ１００が応答データに含める仕様データの内容やその格納形式（以下、「仕様データのフォーマット」）も、その製品によって異なってくる。
【００４９】
一方、リーダライタ１１０は、様々な種類のＲＦＩＤタグ１００と通信しなければならず、従って、受信した応答データの仕様データのフォーマットも様々なものとなる。そのため、リーダライタ１１０は、このバージョン情報に対応させる形で、仕様データのフォーマットを予め保持しておく。これにより、リーダライタ１１０は、バージョン情報を参照して、受信した応答データの仕様データのフォーマットを知ることができるようになる。
【００５０】
図１６は、図１３に示した応答データ４１１を受信したリーダライタ１１０が、ＲＦＩＤタグ１００のバージョン情報を取得することにより、応答データの仕様データのフォーマットを取得し、リーダライタ１１０がその仕様データのフォーマットにあわせて、仕様データを解析する処理手順を示した図である。Ｓ３００からＳ３０３まで及びＳ３０５は図６の処理手順と同じであるため説明を省略する。Ｓ３３０において、リーダライタ１１０は、応答データ４１４のＶｅｒｓｉｏｎ４１３を参照して、ＲＦＩＤタグ１００のバージョン情報を取得する。ここで、様々な種類の応答データを受信するリーダライタ１１０が確実にＶｅｒｓｉｏｎ４１３を参照できるようにするため、Ｖｅｒｓｉｏｎ４１３の格納位置を、あらゆる種類のＲＦＩＤタグ１００で共通化しておくことが望ましい。その後、リーダライタ１１０は、Ｖｅｒｓｉｏｎ４１３より、仕様データのフォーマットを取得し、そのフォーマットに従って、他の仕様データを解析する（Ｓ３３１）。その後、取得した仕様データの値に従って様々な処理、例えば、図１０で説明したような書込み処理などが行われる（Ｓ３３２）。
【００５１】
図１７は、図１３に示した応答データ４１１を受信したリーダライタ１１０が、ＲＦＩＤタグ１００の通信プロトコルの仕様に関する情報を取得することにより、リーダライタ１１０がその情報にあわせて、ＲＦＩＤ１００と正しく通信をする処理手順について示した図である。Ｓ３００からＳ３２０まで及びＳ３０５は図１０の処理手順と同じであるため説明を省略する。Ｓ３３５において、リーダライタ１１０は、応答データ４１１のＰｒｏｔｏｃｏｌ４１４を参照して、ＲＦＩＤタグ１００の通信プロトコルの仕様に関する情報を取得する（Ｓ３３５）。リーダライタ１１０は、Ｐｒｏｔｏｃｏｌ１１０の示す値から通信プロトコルの種別やバージョンが特定できるような対応表を予め設けておき、この対応表を参照することにより、Ｐｒｏｔｏｃｏｌ１１０の値から通信プロトコルの仕様を取得することができる。その後、リーダライタ１１０は、ＲＦＩＤタグ１００の通信プロトコルの仕様に合わせて、ＲＦＩＤタグ１００と通信を行う（Ｓ３３６）。
【００５２】
異なる通信プロトコルの持つＲＦＩＤタグ１００が混在していた場合、そのＲＦＩＤタグ１００の通信プロトコルの仕様に関する情報がないとリーダライタ１１０は、ＲＦＩＤタグ１００と正しく通信することができない。そこで、上述した処理が行われることにより、事前にＲＦＩＤタグ１００の通信プロトコルに関する情報を取得することができ、リーダライタ１１０がその情報にあわせて、ＲＦＩＤタグ１００と正しく通信をすることができるようになる。
【００５３】
尚、Ｖｅｒｓｉｏｎ４１３の値から通信プロトコルの仕様を取得するようにしてもよい。
【００５４】
図１８は、図１３に示した応答データ４１１を受信したリーダライタ１１０が、ＲＦＩＤタグ１００の製造日を取得し、指定した製造日よりも古いものを検出する処理手順について示した図である。Ｓ３００からＳ３２０まで及びＳ３０５は、図１０の処理手順と同じであるため説明を省略する。Ｓ３４０において、Ｄａｔｅ４１５の値が判別される。判別において、Ｄａｔｅ４１５の値が示す日時が特定の日時、例では２００４年１月１日と比較される。ここで、Ｄａｔｅ４１５の値が示す日時が、２００４年１月１日よりも前の場合は（Ｓ３４０：ＹＥＳ）、特定の日時よりも古いＲＦＩＤタグ１００と判定されるので、リーダライタ１１０は、特定の日時よりも古いＲＦＩＤタグ１００を検出したというエラー通知を、リーダライタ１１０と接続している外部装置のアプリケーションなどに行う（Ｓ３４１）。または、古いＲＦＩＤタグ１００に対して読込みしたり、書き換えをしたり、Ｋｉｌｌしたりするなどのエラー処理を行う。一方、Ｄａｔｅ４１５の値が示す日時が、２００４年１月１日よりも後の場合は（Ｓ３４０：ＮＯ）、特定の日時よりも新しいＲＦＩＤタグ１００と判定されるので、特別なエラー処理は行われない。この例では、Ｄａｔｅ４１５の値の日付を、特定の日時より新しいか古いかで判別し、古い場合はエラー処理を行ったが、エラー処理に限られるものではない。すなわち、得られた日時情報に基づいて、ＲＦＩＤタグ１００への操作を様々に切替えることができるようになる。
【００５５】
このように、Ｄａｔｅ４１５に製造日を格納しておくことにより、リーダライタ１１０は、ＲＦＩＤタグ１００の製造日を取得し、指定した製造日よりも古いものを検出することができるようになる。
【００５６】
図１９は、図１３に示した応答データ４１１を受信したリーダライタ１１０が、Ａｔｔｅｎｕａｔｅ４１６の値によって制御を変更する処理手順を示した図である。Ｓ３００からＳ３２０まで及びＳ３０５は、図１０の処理手順と同じであるため説明を省略する。Ｓ３４５において、Ａｔｔｅｎｕａｔｅ４１６の値が取得される。その後、リーダライタ１１０は、Ａｔｔｅｎｕａｔｅ４１６の値に合わせて、リーダライタ１１０またはリーダライタ１１０と接続している外部装置上のアプリケーションの制御を変更したりする（Ｓ３４６）。
【００５７】
例えば、Ａｔｔｅｎｕａｔｅ４１６の値が５０ｃｍであれば、リーダライタ１１０は、ＲＦＩＤタグ１００とリーダライタ１１０の通信距離が５０ｃｍ以内であることが分かる。このように、Ａｔｔｅｎｕａｔｅ４１６の値を取得することにより、リーダライタ１１０は、通信時のＲＦＩＤタグ１００とリーダライタ１１０の通信距離を知ることができるので、その制御を変更したり、リーダライタ１１０と接続している外部装置のアプリケーションなどで通信距離の情報を表示させたり、アプリケーションの制御を変更したりすることができるようになる。
【００５８】
図２０は、図１３に示した応答データ４１１を受信したリーダライタ１１０が、Ｋｉｌｌ  ｐｗｄ４１７の値によって制御を変更する処理手順について示した図である。Ｓ３００からＳ３２０まで及びＳ３０５は、図１０の処理手順と同じであるため説明を省略する。Ｓ３５０において、Ｋｉｌｌ  ｐｗｄ４１７の値が判定される。もしＫｉｌｌ  ｐｗｄ４１７の値が１の場合は（Ｓ３５０：ＹＥＳ）、Ｋｉｌｌパスワードが設定されているので、リーダライタ１１０は、事前に設定したＫｉｌｌパスワードとともに、Ｋｉｌｌコマンドを送信する（Ｓ３５１）。一方、Ｋｉｌｌ  ｐｗｄ４１７の値が０の場合は（Ｓ３５０：ＮＯ）、Ｋｉｌｌパスワードが設定されていないので、リーダライタ１１０は、任意のＫｉｌｌパスワードを指定して、ＲＦＩＤ１００に対してＫｉｌｌパスワードを設定するコマンドを送信する（Ｓ３５２）。その後、リーダライタ１１０は、Ｓ３５２で設定したＫｉｌｌパスワードと共に、Ｋｉｌｌコマンドを送信する（Ｓ３５３）。
【００５９】
このように、Ｋｉｌｌ  ｐｗｄ４１７の値を取得することにより、リーダライタ１１０は、ＲＦＩＤタグ１００にＫｉｌｌパスワードが設定されているか否かを知ることができる。これにより、リーダライタ１１０は、Ｋｉｌｌパスワードが設定されていない時に、Ｋｉｌｌパスワードを事前に設定してから、Ｋｉｌｌコマンドを実行できるようになる。
【００６０】
図２１は、図１３に示した応答データ４１１を受信したリーダライタ１１０が、Ａｃｃｅｓｓ  ｐｗｄ４１８の値によって制御を変更する処理手順について示した図である。Ｓ３００からＳ３２０まで及びＳ３０５は図１０の処理手順と同じであるため説明を省略する。Ｓ３５５において、Ａｃｃｅｓｓ  ｐｗｄ４１８の値が判定される。もしＡｃｃｅｓｓ  ｐｗｄ４１８の値が１の場合は（Ｓ３５５：ＹＥＳ）、Ａｃｃｅｓｓパスワードが設定されているので、リーダライタ１１０は、事前に設定したＡｃｃｅｓｓパスワードと共に、Ａｃｃｅｓｓコマンドを実行する（Ｓ３５６）。ここで、Ａｃｃｅｓｓコマンドとは、ＲＦＩＤタグ１００に対してＡｃｃｅｓｓパスワードを入力して、ＲＦＩＤタグ１００の記憶領域にアクセスできるようにするためのコマンドである。一方、Ａｃｃｅｓｓ  ｐｗｄ４１８の値が０の場合は（Ｓ３５５：ＮＯ）、Ａｃｃｅｓｓパスワードが設定されていないので、Ａｃｃｅｓｓコマンドが実行される必要はない。その後、リーダライタ１１０は、ＲＦＩＤタグ１００に対し、記憶領域へのアクセス、すなわち、リードコマンド、ライトコマンド、Ｋｉｌｌコマンド、Ｌｏｃｋコマンド等の実行を行う（Ｓ３５７）。
【００６１】
このように、Ａｃｃｅｓｓ  ｐｗｄ４１８の値を取得することにより、リーダライタ１１０は、ＲＦＩＤタグ１００にＡｃｃｅｓｓパスワードが設定されているか否かを知ることができる。これにより、リーダライタ１１０は、Ａｃｃｅｓｓパスワードが設定されている時に、Ａｃｃｅｓｓコマンドを実行してＡｃｃｅｓｓパスワードを入力してからＲＦＩＤタグ１００の記憶領域にアクセスすることができるようになる。また、逆に、Ａｃｃｅｓｓパスワードが設定されていない時には、リーダライタ１１０は、Ａｃｃｅｓｓコマンドを実行せずにＲＦＩＤタグ１００の記憶領域にアクセスすることができるようになる。
【００６２】
図２２は、図１３に示した応答データ４１１を受信したリーダライタ１１０が、ＬｏｃｋＦｌａｇ４１９の値によって制御を変更する処理手順について示した図である。Ｓ３００からＳ３２０まで及びＳ３０５は図１０の処理手順と同じであるため説明を省略する。Ｓ３６０及びＳ３６３において、ＬｏｃｋＦｌａｇ４１９におけるＬｏｃｋ４２３とＰｅｒｍａ４２４の値が判定される。Ｌｏｃｋ４２３の値が１、Ｐｅｒｍａ４２４の値が０の時（Ｓ３６０：ＹＥＳ）、即ちＬｏｃｋがかかった状態の時は、リーダライタ１１０は、Ｌｏｃｋをはずす処理を実行した後（Ｓ３６１）、記憶領域へのアクセスを行う（Ｓ３６２）。また、Ｌｏｃｋ４２３の値が０、Ｐｅｒｍａ４２４の値が０の時（Ｓ３６０：ＮＯかつＳ３６３：ＮＯ）、即ちＬｏｃｋがかかっていない状態の時は、リーダライタ１１０は、Ｌｏｃｋをはずす処理を実行することなく、記憶領域へのアクセスを行う（Ｓ３６２）。一方、Ｌｏｃｋ４２３の値が１、Ｐｅｒｍａ４２４の値が１の時（Ｓ３６０：ＮＯかつＳ３６３：ＹＥＳ）、即ち永久Ｌｏｃｋ状態の時は、リーダライタ１１０は、ＲＦＩＤタグ１００の記憶領域にアクセスすることができないため、処理を行わない。ここで、Ｌｏｃｋをはずすことができない、または記憶領域にアクセスすることができない旨をリーダライタ１１０に接続されている外部装置のアプリケーションに通知して、アプリケーションに表示させても良い。
【００６３】
このように、ＬｏｃｋＦｌａｇ４１９の値を取得することにより、リーダライタ１１０は、ＲＦＩＤタグ１００の記憶領域のＬｏｃｋ状態を知ることができる。これにより、リーダライタ１１０は、アクセスしようとする記憶領域のＬｏｃｋ状態に応じて処理を切替えることができるようになる。例えば、アクセスしようとする記憶領域がＬｏｃｋされており、かつそのＬｏｃｋをはずすことができるものである場合には、事前にＬｏｃｋをはずしてからその記憶領域にアクセスする。また、Ｌｏｃｋされていない場合は、Ｌｏｃｋをはずす処理を行うことなく、その記憶領域にアクセスする。さらに、永久のＬｏｃｋがなされている場合は、その記憶領域へのアクセスは行わない。
【００６４】
以下、ＲＦＩＤタグに適用された本発明に係る無線通信メモリＩＣの第四の実施形態について説明する。尚、第四の実施形態に係るＲＦＩＤタグ１００及びリーダライタ１１０の基本的構成も、第一の実施形態において示したものと同様であるので説明を省略する。
【００６５】
図２３は、リーダライタ１１０から受信したコマンドに対するＲＦＩＤタグ１００の動作状態の変化を示した概略図である。Ｓ５００の状態では、ＲＦＩＤ１００がリーダライタ１１０より電波を受け、給電を行いＳ５０１のＲｅａｄｙ状態へ進む。ステップＳ５０１のＲｅａｄｙ状態では、リーダライタ１１０からのコマンド待つ。Ｒｅａｄｙ状態で、ＱｕｅｒｙコマンドまたはＱｕｅｒｙＲｅｐコマンドを受けると、ステップＳ５０３のＲｅｐｌｙ状態へ進む。ステップＳ５０３のＲｅｐｌｙ状態では、リーダライタ１１０からのコマンドを待つ。Ｒｅｐｌｙ状態で、ＡＣＫまたはＲｅｑ＿ＲＮコマンドを受けると、ＲＦＩＤタグ１００は、リーダライタ１１０にＩＤを返送し、ステップＳ５０５のＯｐｅｎ状態へ進む。ステップＳ５０５のＯｐｅｎ状態では、リーダライタ１１０からのコマンドを待つ。Ｏｐｅｎ状態で、Ａｃｃｅｓｓコマンドを受けると、ステップＳ５０７のＳｅｃｕｒｅｄ状態へ進む。ステップＳ５０７のＳｅｃｕｒｅｄ状態では、リーダライタ１１０からのコマンドを待つ。Ｓｅｃｕｒｅｄ状態で、リードコマンド、ライトコマンド、Ｋｉｌｌコマンド，Ｌｏｃｋコマンドを実行することができる。ＲＦＩＤタグ１００は、Ｏｐｅｎ状態及びＳｅｃｕｒｅｄ状態において、Ｇｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドを受信する。
【００６６】
第四の実施形態に係るＲＦＩＤタグ１００は、Ｏｐｅｎ状態にあるときとＳｅｃｕｒｅｄ状態にあるときとで、リーダライタ１１０へ送信する応答データの仕様データのフォーマットを切替える。
【００６７】
図２４は、ＲＦＩＤタグ１００が、Ｓｅｃｕｒｅｄ状態においてＧｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｉｏｎコマンドを受けたときに、リーダライタ１１０へ送信する応答データ（Ａ）６０１を示した図である。すなわち、この場合は、図１３に示した応答データ４１０と同じ構造の応答データが送信される。
【００６８】
図２５は、ＲＦＩＤタグ１００が、Ｏｐｅｎ状態時においてＧｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドを受けたときに、リーダライタ１１０へ送信する応答データ（Ｂ）６０２を示した図である。応答データ（Ｂ）６０２の構造は、応答データ（Ａ）６０１の一部の情報要素、すなわち、Ｄａｔｅ４１４とＡｔｔｅｎｕａｔｅ４１５とＫｉｌｌ  ｐｗｄ４１６とＲＦＵ４１９とを削除したものとなっている。Ｏｐｅｎ状態は、パスワードを必要としない状態であり、Ｓｅｃｕｒｅｄ状態と比べてセキュリティが低い。そのため、上記のようなセキュリティに関連する情報要素は、リーダライタ１１０に参照されることはなく、応答データ（Ｂ）６０２に含まれていない。
【００６９】
図２６は、本実施形態に係るＲＦＩＤタグ１００がＧｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドを受信した時の処理を示した図である。Ｓ３１０からＳ３１３までは図７の処理手順と同じであるため説明を省略する。Ｓ７００において、現在のＲＦＩＤタグ１００の動作状態が判定される。ＲＦＩＤタグ１００で現在の動作状態を取得するためには、現在の動作状態を制御部１０５で保持しておくことが望ましい。また直前まで受信したコマンドやそれに関する情報を保持しておき、その情報から現在の動作状態を推測しても良い。現在のＲＦＩＤタグ１００の動作状態がＳｅｃｕｒｅｄ状態だったら（Ｓ７００：ＹＥＳ）、ＲＦＩＤタグ１００は、応答データ（Ａ）を生成し、リーダライタ１１０へ送信する（Ｓ３１５）。一方、現在のＲＦＩＤタグ１００の動作状態がＳｅｃｕｒｅｄ状態でない、すなわち、Ｏｐｅｎ状態だったら（Ｓ７００：ＮＯ）、ＲＦＩＤタグ１００は、応答データ（Ｂ）を生成し、リーダライタ１００へ送信する（Ｓ３１５）。
【００７０】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【図面の簡単な説明】
【００７１】
【図１】第一の実施形態に係るＲＦＩＤタグの内部構成を示したブロック図である。
【図２】第一実施形態に係るＲＦＩＤタグとリーダライタとの通信の様子を示した図である。
【図３】第一の実施形態に係るリーダライタの内部構成を示したブロック図である。
【図４】第一の実施形態に係るＲＦＩＤタグがリーダライタへ送信する応答データの構造を示した図である。
【図５】ＩｎｆｏＦｌａｇｓの値の意味について示した図である。
【図６】リーダライタがＲＦＩＤタグから仕様データを取得するときの処理手順を示した図である。
【図７】Ｇｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドを受信した時のRＦＩＤタグの処理手順を示した図である。
【図８】第一の実施形態に係るＲＦＩＤタグがリーダライタへ送信する応答データの具体例を示した図である。
【図９】ＩｎｆｏＦｌａｇｓの具体例を示した図である。
【図１０】記憶領域「ＵＩＩ」のサイズを取得した時のリーダライタの処理手順を示した図である。
【図１１】第二の実施形態に係るＲＦＩＤタグがリーダライタへ送信する応答データの構造を示した図である。
【図１２】記憶領域「ＵＳＥＲ」のブロックサイズとブロック数を取得した時のリーダライタの処理手順を示した図である。
【図１３】第三の実施形態に係るＲＦＩＤタグがリーダライタへ送信する応答データの構造示した図である。
【図１４】ＬｏｃｋＦｌａｇの値の意味について示した図である。
【図１５】ＬｏｃｋとＰｅｒｍａを組合せた時の記憶領域のＬｏｃｋ状態を示した図である。
【図１６】Ｖｅｒｓｉｏｎの値を取得した時のリーダライタの処理手順を示した図である。
【図１７】Ｐｒｏｔｏｃｏｌの値を取得した時のリーダライタの処理手順を示した図である。
【図１８】Ｄａｔａの値を取得した時のリーダライタの処理手順を示した図である。
【図１９】Ａｔｔｅｎｕａｔｅの値を取得した時のリーダライタの処理手順を示した図である。
【図２０】Ｋｉｌｌ  ｐｗｄの値を取得した時のリーダライタの処理手順を示した図である。
【図２１】Ａｃｃｅｓｓ  ｐｗｄの値を取得した時のリーダライタの処理手順を示した図である。
【図２２】ＬｏｃｋとＰｅｒｍａの値を取得した時のリーダライタの処理手順を示した図である。
【図２３】ＲＦＩＤタグの動作状態について示した図である。
【図２４】ＲＦＩＤタグがＳｅｃｕｒｅｄ状態にある時にリーダライタへ送信する応答データを示した図である。
【図２５】ＲＦＩＤタグがＯｐｅｎ状態にある時にリーダライタへ送信する応答データを示した図である。
【図２６】第四の実施形態に係るＲＦＩＤタグがＧｅｔ  Ｓｙｓｔｅｍ  Ｉｎｆｏｒｍａｔｉｏｎコマンドを受信した時の処理手順を示した図である。
【符号の説明】
【００７２】
１００  ＲＦＩＤタグ、１０１  アンテナ、１０２  整流部、１０３  電源部、１０４  通信制御部、１０５  制御部、１０６  記憶部、１１０  リーダライタ、１１１  リーダライタ本体、１１２  リーダライタアンテナ、１１３  送受信部、１１４  通信制御部、１１５  制御部、１１６  ホストインタフェース、１１７  電源部
【図１】
2008090405.tif 000003
【図２】
2008090405.tif 000004
【図３】
2008090405.tif 000005
【図４】
2008090405.tif 000006
【図５】
2008090405.tif 000007
【図６】
2008090405.tif 000008
【図７】
2008090405.tif 000009
【図８】
2008090405.tif 000010
【図９】
2008090405.tif 000011
【図１０】
2008090405.tif 000012
【図１１】
2008090405.tif 000013
【図１２】
2008090405.tif 000014
【図１３】
2008090405.tif 000015
【図１４】
2008090405.tif 000016
【図１５】
2008090405.tif 000017
【図１６】
2008090405.tif 000018
【図１７】
2008090405.tif 000019
【図１８】
2008090405.tif 000020
【図１９】
2008090405.tif 000021
【図２０】
2008090405.tif 000022
【図２１】
2008090405.tif 000023
【図２２】
2008090405.tif 000024
【図２３】
2008090405.tif 000025
【図２４】
2008090405.tif 000026
【図２５】
2008090405.tif 000027
【図２６】
2008090405.tif 000028