デバイスを識別するための方法と装置
本発明のいくつかの実施形態は、リーダーとタグを備えるシステムを含み、リーダーは、応答の確率のレベルを含むパラメータでタグに問い合わせを行い、それに応じて、タグは、応答するかどうかを個別に、ランダムに決定する。一実施形態では、タグは、2つの状態、AとBとを切り換えることができる。問い合わせコマンドは、さらに、指定された状態にあるタグのみが応答できるように状態(AまたはB)を指定する。タグ識別データをタグからリーダーに正しく送信できた後、タグは、指定された状態から他の状態に切り換わる。一実施形態では、これら2つの状態に対するオペレーションは対称的である。一実施形態では、タグは、問い合わせで使用されるパラメータを記憶しておき、短形式の問い合わせを使用して同じ問い合わせパラメータで問い合わせを繰り返すことができる。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2003年11月7日に出願した米国仮特許出願第60/518,229号に関係し、またその利益を主張し、参照により組み込む。本出願は、さらに、先行する3つの米国特許出願、(1)2002年5月30日に出願した米国特許出願第10/160,458号、(2)2002年10月8日に出願した米国特許出願第10/267,924号、(3)2004年8月9日に出願した米国特許出願第10/915,725号の利益を主張し、参照により組み込む。
【0002】
本発明は、タグなどの識別子を有するデバイスの分野に関するものであり、さらに、そのようなタグを識別するための方法と装置に関する。
【背景技術】
【0003】
交信する送信器(例えば、リーダー)からコードを送信し、それに応じて情報をタグが送信するようにすることにより複数のワイヤレス・タグと交信できる。これは、一般的には、タグが交信メッセージの受信を監視し、一意的なシリアル番号および/またはその他の情報で応じるようにすることにより実現される。タグは、通常、データをリーダーにワイヤレスで送信するために限られた電力しか利用できない。読み取りのためそれぞれのタグをリーダーの近くに持って行く必要がないように、ワイヤレス・タグの交信可能範囲を広げることが望ましい。しかし、読み取りシステムの交信範囲が広げられると、多数のタグが交信システムの範囲の中に入り、その応答が互いに干渉する。
【発明の開示】
【発明が解決しようとする課題】
【0004】
無線(RF)タグの現在の実装では、リーダーの交信範囲内にある複数のタグすべてが交信メッセージに応答しようとしたときに発生するインターフェース・プロトコルや衝突防止の問題に対処するためにかなりの論理回路を必要とする。例えば、RFタグで使用される現在の集積回路は、インターフェース・プロトコルを処理し、衝突防止プロトコルを扱うために、ほぼ3,000個の論理ゲートを必要とする。集積回路ではこのようなかなり大きな規模を必要とするため、RFタグのコストが高く付き、そのため、そのようなタグが一般に利用される可能性はあまりない。複数のRFタグの読み取り時に衝突を回避する従来技術による試みは、米国特許第5,266,925号、第5,883,582号、第6,072,801号で説明されている。しかし、これらの従来技術によるアプローチによる、複数のRFタグを読み取る際に衝突を回避する解決方法は、不効率である。
【課題を解決するための手段】
【0005】
ここでは、タグを識別する方法と装置について説明する。本発明の実施態様のいくつかは、この節で要約されている。
【0006】
本発明のいくつかの実施態様は、リーダーとタグを備えるシステムを含み、リーダーは、応答の確率のレベルを指定するパラメータでタグに問い合わせを行い、それに応じて、タグは、応答するかどうかを個別に、ランダムに決定する。一例では、タグは、2つの状態、AとBとを切り換えることができる。問い合わせコマンドは、さらに、指定された状態にあるタグのみが応答できるように状態(AまたはB)を指定する。タグ識別データをタグからリーダーに正しく送信できた後、タグは、指定された状態から他の状態に切り換わる。一実施態様では、これら2つの状態に対するオペレーションは対称的である。他の実施態様では、タグは、問い合わせで使用されるパラメータを記憶しておき、短形式の問い合わせを使用して同じ問い合わせパラメータで問い合わせを繰り返すことができる。
【0007】
本発明の一態様では、複数のタグに問い合わせを行う方法は、第1の問い合わせコマンドを確率パラメータの第1の値とともにブロードキャストする。その確率パラメータの第1の値は複数のタグのそれぞれが応答するかしないかをランダムに決定する際に基づく応答の第1の確率を示し、そして、第1の問い合わせコマンドに応えて応答を検出することを含む。一実施態様では、確率パラメータの第1の値に従って問い合わせを行うために1つまたは複数の問い合わせコマンドへの応答がないと判断したことに応えて、リーダーは、さらに、確率パラメータの第2の値が応答の第1の確率よりも大きい応答の第2の確率を示す確率パラメータの第2の値とともに第2の問い合わせコマンドをブロードキャストする。他の実施態様では、複数の応答に衝突があるため、確率パラメータの第1の値に従って問い合わせを行うための1つまたは複数の問い合わせコマンドへの判読可能な応答がないと判断したことに応えて、リーダーは、さらに、確率パラメータの第2の値が応答の第1の確率よりも小さい応答の第2の確率を示す確率パラメータの第2の値とともに第2の問い合わせコマンドをブロードキャストする。一実施態様では、第1の値は整数Qであり、複数のタグのうちの1つに対する応答の第1の確率は実質的にpQに等しく、pは1よりも小さい(例えば、pは、0.5に実質的に等しいものとすることができる)。一実施態様では、複数のタグのうちの第1のタグに対する応答の第1の確率は、複数のタグのうちの第2のタグに対する応答の第1の確率と異なる。一実施態様では、第1の問い合わせコマンドは、さらに、第2の状態にある複数のタグが第1の問い合わせコマンドに応答せず、第1の状態にある複数のタグが確率パラメータの第1の値に従って第1の問い合わせコマンドにランダムに応答するように第1の状態を示す状態フラグを含む。一実施態様では、リーダーは、1)第1の状態にあるタグが第2の問い合わせコマンドに応答せず、第2の状態にあるタグが確率パラメータの第2の値に従って第2の問い合わせコマンドにランダム応答するように、確率パラメータの第2の値をブロードキャストし、かつ第2の状態を示す状態フラグとともに第2の問い合わせコマンドをブロードキャストし、2)第2の問い合わせコマンドに応えて応答を検出する。一実施態様では、第1と第2の問い合わせコマンドは、第1と第2の状態に対して対称的である。一実施態様では、第1のハンドシェーキング・データを含む、第1の問い合わせコマンドへの判読可能な応答に応えて、リーダーは、さらに、第1のハンドシェーキング・データを含む第2のコマンドを送信し、タグ識別データを第2のコマンドへの応答として受信する。識別タグ・データが正常に受信されない場合、リーダーは、さらに、タグ・データを受信する際にエラーを示すコマンドを送信する。一実施態様では、リーダーは、さらに、確率パラメータの第1の値に従って問い合わせを行う確率パラメータの値を指定することなく第2の問い合わせコマンドをブロードキャストする。第1の問い合わせコマンドは、確率パラメータを含む複数のパラメータの第2の値を含み、第2の問い合わせコマンドは、複数のパラメータの第2の値に従って問い合わせを行うために複数のパラメータの値を指定しない。一例では、第2の問い合わせコマンドは、第1の問い合わせコマンドよりも実質的に短い。
【0008】
本発明の他の態様では、タグがリーダーからの問い合わせに応える方法が、リーダーから第1の問い合わせコマンドを確率パラメータの第1の値とともに受信し、応答の確率が確率パラメータの第1の値に従うように第1の問い合わせコマンドに応答するかどうかをランダムに決定することを含む。一例では、応答に対するランダムな決定に応えて、タグは、さらに、第1のハンドシェーキング・データを含む応答を送信するが、これは、第1の問い合わせコマンドに応えて生成される乱数とすることができる。一実施態様では、第1の値は整数Qであり、複数のタグのうちの1つに対する応答の第1の確率は実質的にpQに等しく、pは1よりも小さい(例えば、pは、0.5に実質的に等しいものとすることができる)。一実施態様では、第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、タグは、そのタグが第2の状態にある場合に第1の問い合わせコマンドに応答せず、そのタグが第1の状態にある場合に確率パラメータの第1の値に従って第1の問い合わせコマンドにランダムに応答する。一実施態様では、タグは、1)確率パラメータの第2の値を受信し、かつ、第2の状態を示す状態フラグとともに第2の問い合わせコマンドを受信し、2)タグが第2の状態にある場合に、応答の確率が確率パラメータの第2の値に従うように第2の問い合わせコマンドに応答するかどうかをランダムに決定する。タグは、そのタグが第1の状態にある場合に第2の問い合わせコマンドに応答しない。一実施態様では、タグは、第1と第2の状態に対して対称性を保ちつつ第1と第2の問い合わせコマンドを処理する。一実施態様では、タグは、さらに、応答のランダムな決定に応えて第1のハンドシェーキング・データを含む第1の応答を送信し、リーダーから第1のハードシェーク・データを含む第2のコマンドを受信したことに応えて、タグはタグ識別データを含む第2の応答を送信する。一実施態様では、第2の応答を送信した後問い合わせコマンドを受信したことに応えて、タグは、第1の状態から第2の状態に切り換わり、リーダー側でタグ識別データを受信した際のエラーを示すコマンドを受信した後、タグは、エラーを示すコマンドの後に問い合わせコマンドが受信された場合に第1の状態のままになる。一実施態様では、タグは、さらに、確率パラメータの値を指定しない第2の問い合わせコマンドを受信し、タグは、応答の確率が確率パラメータの第1の値に従うように第2の問い合わせコマンドに応答するかどうかをランダムに決定する。一実施態様では、第1の問い合わせコマンドは、確率パラメータを含む複数のパラメータの値を含み、第2の問い合わせコマンドは複数のパラメータの値を指定せず、タグは複数のパラメータの第2の値に従って第2の問い合わせコマンドを処理する。一実施態様では、第2の問い合わせコマンドは第1の問い合わせコマンドよりも実質的に短い。
【0009】
本発明は、これらの方法を実行するデータ処理システムを含むこれらの方法を実行する方法と装置、データ処理システム上で実行した場合にこれらの方法をシステムに実行させるコンピュータ可読媒体を含む。
【0010】
本発明の他の特徴は、付属の図面と以下で述べる詳細な説明とから明らかになる。
【0011】
本発明は、付属の図面の図において限定されることなく例を使用して説明され、類似の参照番号は類似の要素を示す。
【発明を実施するための最良の形態】
【0012】
以下の説明と図面は、本発明を例示するものであり、本発明を制限するものと解釈すべきではない。本発明を完全に理解できるようにするため、多数の具体的詳細を説明する。しかし、いくつかの場合には、本発明の説明をわかりにくくすることを避けるため、よく知られているまたは従来の内容については詳述しない。本明細書で使用される「結合される」という用語は、直接的に結合されるか、または1つまたは複数の介在するコンポーネントを通して間接的に結合されることを意味する。本開示の一実施形態を参照していても、同じ実施形態を参照する必要があるわけではなく、そのような参照は少なくとも1つであることを意味する。
【0013】
図1は、リーダー101と複数のタグ131、133、135、...、139を含む識別システム100の一例を示す。このシステムは、通常、受動型または半受動能動型後方散乱トランスポンダをタグとして使用するリーダー・トーク・ファーストRF IDシステムである。電池および/またはメモリをタグに組み込むことは、読み取り範囲を広げやすくする拡張機能であるが、電池を使用することから、コストが高くなる、長時間使用が制限される、フォーム・ファクタが大きい、重量が増える、耐用年数を過ぎた場合の処分が必要であるといった代償が生じる。そこで、タグ131〜139は、メモリおよび/または電池を備えることも、それらの要素をまったく備えないこともできる。リーダーが電池を備えるタグと電池を備えないタグと交信するシステムで異なる種類のタグが混在できることは理解されるであろう。本発明とともに使用できるタグには、以下のような少なくとも4つのクラスがある。つまり(1)タグ上には電源は用意されず、タグのアンテナから電力をとるが、タグの識別コードを持つ読み取り専用メモリを備えるタグ、(2)内部電源を持たず、リーダーから電力を供給されたときに、タグ内の不揮発性メモリにデータを書き込むことができるタグ。この種類のタグは、さらに、識別コードを格納するためのメモリも備える。(3)タグ内の回路に電力を供給する小型電池を備えるタグ。このようなタグは、さらに、不揮発性メモリだけでなく、タグの識別コードを格納するためのメモリも備える。そして(4)他のタグまたは他のデバイスと通信できるタグである。
【0014】
図1は、リーダーの一実施形態を示す。リーダー101は、通常、受信器119と送信器123を備える。それぞれ、I/O(入出力)コントローラ117に結合されている。受信器119は、それ専用のアンテナ121を備えることができ、送信器123は、それ専用のアンテナ125を備えることができる。送信器123と受信器119は、アンテナに出る信号を制御し、受信器と送信器を互いに分離する受信/送信スイッチがある場合に同じアンテナを共有できることは、当業者には理解されるであろう。受信器119と送信器123は、現在のリーダーに見られる従来の受信器と送信器ユニットに類似のものとすることができる。受信器と送信器は、通常、北米では、約900メガヘルツの周波数範囲で動作する。それぞれ、受信器からのデータの受信と送信器123からのコマンドなどのデータの送信を制御するI/Oコントローラ117に結合される。I/Oコントローラは、バス115に結合され、さらにバスは、マイクロプロセッサ113やメモリ111に結合される。要素117、115、113、111により表されている処理システムに対しリーダー101で使用できる実装はさまざまなものが考えられる。一実装では、マイクロプロセッサ113は、8051マイクロコントローラまたは他のよく知られているマイクロコントローラまたはマイクロプロセッサ(例えば、PowerPCマイクロプロセッサ)などのプログラム可能マイクロコントローラであり、メモリ111は、ダイナミック・ランダム・アクセス・メモリや、メモリのオペレーションを制御するメモリ・コントローラを含む。Mメモリ111は、さらに、データとソフトウェア・プログラムを格納するための不揮発性読み取り専用メモリも含むことができる。メモリ111は、通常、マイクロプロセッサ113のオペレーションを制御するプログラムを格納し、またタグの交信などでタグの処理中に使用されるデータも含む。さらに以下で説明される一実施形態では、メモリ111は、通常、I/Oコントローラを通じて探索コマンドを送信器に送信し、受信器119を通じて、またI/Oコントローラ117を通じてタグからレスポンスを受信することをマイクロプロセッサ113に行わせるコンピュータ・プログラムを格納する。リーダー101は、さらに、Ethernet(登録商標)インターフェースなどのネットワーク・インターフェースを備えることもでき、これにより、リーダーは、ネットワークを通じて他の処理システムと通信することができる。ネットワーク・インターフェースは、通常、マイクロプロセッサ113またはメモリ111のいずれかからの交信で識別されたタグのリストなどのデータを受信できるように、バス115に結合される。
【0015】
図2は、本発明とともに使用することができるタグの一実装の一例を示す。タグ200は、受信/送信スイッチ203に結合されたアンテナ201を備える。このスイッチは、受信器及び復調器205、さらに送信器及び変調器209に結合される。相関器及びコントローラ・ユニット207は、受信器及び復調器205、さらに送信器209に結合される。タグの図2に示されている特定の例は、コマンド間のデータを維持するためのメモリがタグ内に保持され、タグ内でビット毎の相関が生じるさまざまな実施形態で使用することができる。受信器及び復調器205は、アンテナ201とスイッチ203を通じて信号を受信し、それらの信号を復調して、相関器及びコントローラ・ユニット207に供給する。受信器205により受信されたコマンドは、タグのオペレーションを制御するためにユニット207のコントローラに渡される。受信器205により受信されたデータも、制御ユニット207に渡され、後述の実施形態では、このデータは、問い合わせコマンドに対するパラメータや、ハンドシェーク・コマンドからのハンドシェーク・データを含むことができる。送信器209は、制御ユニット207の制御の下で、スイッチ203とアンテナ201を通じてレスポンスまたはその他のデータをリーダーに送信する。送信器は、アンテナ201などのアンテナからの反射を変調する単なるスイッチまたは他のデバイスとすることができることは当業者には理解されるであろう。
【0016】
本発明の一実施形態では、サプライ・チェーンのどこででも使用できるようにタグの十分な低コスト化を進めるために、低コスト、メモリの小型化、タイミング精度要件の緩和、必要なタグ状態記憶量を最小限に抑えるアトミック・トランザクションなどを可能にする集積回路(IC)の面積削減などの特性を持つタグが設計されている。このようなタグは、低コストで生産することができる。しかし、他のタグ設計も使用することができる。さらに、本発明のいくつかの実施形態による通信の衝突回避を行う方法も、他の類似の状況において使用することができることは理解できるであろう。
【0017】
図3は、本発明の一実施形態によるRFタグの一例を示す。一実施形態では、VLC(Very Low Cost、超低価格)タグ300は、接続され1つにまとめられたアンテナ301と集積回路303を備える。タグIC 303は、コマンド・プロトコルを実装し、ePC(Electronic Product Code、電子製品コード)を格納する。アンテナ301は、リーダー交信信号を受信し、IC 303により生成された変調信号に応えて、その交信信号を反射してリーダーに返す。タグIC 303は、RFインターフェース及び電源311、データ検出器及びタイミング回路313、コマンド及び制御315、データ変調器317、メモリ319を組み合わせることによりVLCタグを実装する。一実施形態では、コマンド及び制御315は、本発明のいくつかの実施形態により通信プロトコルを実装する静的論理を備える。
【0018】
RFインターフェース及び電源311は、RFエネルギーをタグIC 303が動作するために必要なDC電力に変換し、変調情報をデータ検出器及びタイミング回路313に供給する。RFインターフェースは、さらに、リーダーへの送信のためタグ変調信号をアンテナに結合する手段も備える。データ検出器及びタイミング回路313は、リーダー信号を復調し、コマンド及び制御315により使用されるタイミングとデータ信号を生成する。コマンド及び制御315は、タグIC 303のすべての機能を調整する。コマンド及び制御315は、リーダーからのデータを解釈し、必要な内部オペレーションを実行し、タグがリーダーに応えるかどうかを決定する。コマンド及び制御315は、本発明のいくつかの実施形態により状態図と通信プロトコルを実装する。メモリ319は、VLCタグによるタグ付きの商品のePCコードを格納する。データ変調器317は、RFインターフェース311に印加され、その後リーダー(例えば、リーダー101)に送信される信号にバイナリ・タグ・データを変換する。
【0019】
タグの設計と実装は、層に特徴を有する。例えば、物理層と環境層は、タグの機械面、環境面、信頼性の面、製造面を特徴付け、無線周波(RF)トランスポート層は、リーダーとタグとの間のRF結合を特徴付け、通信層は、リーダーとタグとの間の通信/データ・プロトコルを特徴付ける。異なる層のタグのさまざま異なる実装は、本発明のいくつかの実施形態とともに使用することができる。タグの実装は、この説明に示されている例に限定されないことは理解できるであろう。異なるタグまたは通信デバイスは、本発明のいくつかの実施形態の方法を使用し、ターゲット・アプリケーションの要求条件に応じて通信することができる。
【0020】
本発明の一実施形態では、タグは、フルイディック組み立てプロセスを通じて製造することができる。例えば、集積回路は、半導体ウェハ内の複数の他の集積回路とともに製造することができる。集積回路は、可能ならば、アンテナ301を除く、特定のRFタグの必要なすべての論理回路を含む。したがって、タグ300内に示されたすべての論理回路は、単一の集積回路に含まれ、単一半導体ウェハ上の類似の集積回路とともに製造される。それぞれの回路は、一意的な識別コードでプログラムされ、その後、ウェハが処理され、フルイドにつり下げられている複数のブロックを作成するためにウェハからそれぞれの集積回路を取り除く。その後、フルイドは、フレキシブル基板などの基板上に分散され、独立したRFタグを作成する。基板内のレセプタ領域は、後でRFタグを形成するために基板上のアンテナと接続することができる、少なくとも1つの受信回路を受ける。フルイディック組み立ての例は、米国特許第5,545,291号で説明されている。
【0021】
図4は、本発明の一実施形態による通信方法の流れ図である。リーダーは、状態AにあるタグにQパラメータの指定された値を含む問い合わせコマンドをブロードキャストする(401)。問い合わせコマンドに応えて、状態Aのタグはそれぞれ、応答の確率がQパラメータの値に従うように問い合わせコマンドに応答するかどうかを個別に、またランダムに決定する(403)。状態Bにあるタグは、状態Aにあるタグに対する問い合わせコマンドに応答しない。次いでリーダーは、問い合わせコマンドへの応答を検出する(405)。応答の数が少なすぎるかどうかが判定される(407)。例えば、リーダーがQパラメータの指定値を含む多数の問い合わせコマンドに対する応答を受け取らない場合、リーダーは、応答の指定されたレベル確率が低すぎ、また応答が少なすぎると判定する。応答が少なすぎる場合、リーダーは、Qパラメータの値を調整して、応答の確率を高める(411)。同様に、応答の数が多すぎるかどうかが判定される(409)。応答が多すぎる場合、異なるタグからの応答が互いに悪くする。したがって、応答が多すぎる場合、リーダーは、Qパラメータの値を調整して、応答の確率を下げる。判読できる応答が受信されない場合(417)、リーダーは、すでに送信されているパラメータが現在の問い合わせに対し使用されるようにパラメータを指定せずに問い合わせコマンドをブロードキャストする(415)。問い合わせに対する同じパラメータは再度送信されることはないので、問い合わせコマンドを発行して前の問い合わせを繰り返すほうが、すべてのパラメータとともに問い合わせコマンドを発行するのよりも高速である。新しい問い合わせコマンドに応えて、状態Aのタグはそれぞれ、次に、応答の確率がQパラメータの値に従うように問い合わせコマンドに応答するかどうかを個別に、またランダムに決定する(403)。
【0022】
Qパラメータの値が適切な値に調整されると、多数のタグから1つの判読可能な応答を取得する確率が高くなる。したがって、リーダーは、応答が少なすぎる(または多すぎる)ようになるまで問い合わせパラメータを調整せずに前の問い合わせを単純に繰り返すことができる。
【0023】
1つの判読可能な応答が受信されると(417)、リーダーは、応答を与えるタグと通信する(419)。本発明の一実施形態では、タグからの応答は、判読可能な応答を与えるタグをリーダーがアドレッシングできるようにタグを識別するデータを含む。一実施形態では、タグは、リーダーとのハンドシェーキングを目的として乱数を生成する。タグと通信中に、リーダーは、タグからタグ識別データを取得する。タグとの通信が成功した場合(421)、タグは、状態Aから状態Bに切り換わり(423)、そうでない場合、タグは状態Aに留まる(425)。タグが状態Bにある場合、タグは、状態Aにあるタグに対する問い合わせに応えない。そのため、リーダーは、すべてのタグが状態Bになるまで、状態Aのタグと一度に1つずつ通信することができる。
【0024】
本発明の一実施形態では、状態Aと状態Bに対するオペレーションは対称的である。例えば、リーダーは、状態BにあるタグにQパラメータの指定された値を含む問い合わせコマンドをブロードキャストする。状態Bにあるタグに対する問い合わせコマンドに応えて、状態Bのタグはそれぞれ、応答の確率がQパラメータの値に従うように問い合わせコマンドに応答するかどうかを個別に、またランダムに決定する。状態Aにあるタグは、状態Bにあるタグに対する問い合わせに応えない。状態Bにあるタグとの通信が成功した場合、タグは、状態Bから状態Aに切り換わり、そうでない場合、タグは状態Bに留まる。そのため、リーダーは、一度に1つずつ状態Aから状態Bにタグを並べ換えるか、または一度に1つずつ状態Bから状態Aにタグを並べ換えることができる。
【0025】
それとは別に、状態Aと状態Bに対するオペレーションは非対称的であってもよい。例えば、リーダーは、一度に1つずつ状態Aから状態Bにタグを並べ換えることができるが、一度に1つずつ状態Bから状態Aにタグを並べ換えることはできない。このような実装では、リーダーは、まず、一度に1つずつタグからタグ・データの読み取りを開始する前にタグを状態Aに置くことができる。
【0026】
図5は、本発明の一実施形態によりタグがリーダーと通信する方法の流れ図である。オペレーション501では、タグは、リーダーからコマンドを受信する。状態Aにあるタグに対する問い合わせパラメータQを含む問い合わせコマンド(例えば、QueryA)を受信した後、タグは、それが状態Aにあるかどうかを判定する(507)。タグが状態Aにない場合、タグは、状態Aにあるタグに対する問い合わせに応答しない。
【0027】
同様に、状態Bにあるタグに対する問い合わせパラメータQを含む問い合わせコマンド(例えば、QueryB)を受信した後(505)、タグは、それが状態Bにあるかどうかを判定する(507)。タグが状態Bにない場合、タグは、状態Bにあるタグに対する問い合わせに応答しない。
【0028】
その問い合わせがタグの状態とマッチした場合(例えば、状態Aにあるタグが状態Aにあるタグに対する問い合わせを受信するか、または状態Bにあるタグが状態Bにあるタグに対する問い合わせを受信した場合)、タグは、応答の確率が問い合わせパラメータに従うように(例えば、応答について0.5Qの確率を持つ)、問い合わせコマンドに応答するかどうかをランダムに決定する。タグが応答することを決定した場合(513)、タグは、ハンドシェーク・データ(例えば、乱数)で問い合わせコマンドに応答する。
【0029】
タグがパラメータのない問い合わせコマンドを受信した場合(例えば、QueryRep)(517)、タグは前の問い合わせコマンドから問い合わせパラメータを取得したかどうかが判定される(519)。タグが前の問い合わせコマンドからの問い合わせパラメータを持つ場合(例えば、前のQueryAまたはQueryBコマンド)、タグは、前の問い合わせコマンドに使用されたのと同じパラメータを使用してその問い合わせ応える(521)。例えば、前の問い合わせコマンドが状態Aにあるタグに対するものである場合、パラメータを持たない現在の問い合わせコマンドも、状態Aにあるタグに対するものである。そこで、問い合わせがそのタグ宛てかどうかをチェックするオペレーション507が実行される。同様に、前の問い合わせコマンドが状態Bにあるタグに対するものである場合、パラメータを持たない現在の問い合わせコマンドも、状態Bにあるタグに対するものであり、オペレーション509が実行される。前の問い合わせコマンドを処理する際に使用されるQパラメータは、さらに、パラメータなしの現在の問い合わせコマンドの処理にも使用される。本発明の一実施形態では、Qパラメータの好適な値に到達した場合、リーダーは、パラメータなしで多数の問い合わせコマンドを発行し、同じパラメータの問い合わせを繰り返す。パラメータなしの問い合わせコマンドは、すでに送信できる(そしてすぐに処理できる)ため、多数のタグを処理する時間は、パラメータなしのそのような問い合わせコマンドを使用して短縮することができる。
【0030】
タグがリーダーからのハンドシェーク・データ(例えば、Ack)でハンドシェーキングするコマンドを受信した場合(523)、タグは、受信されたハンドシェーク・データがタグから送信されたハンドシェーク・データとマッチするかどうかをチェックする(525)。ハンドシェーク・データがマッチしない(527)(例えば、ハンドシェーク・コマンドがタグから送信された応答に応えていないか、またはリーダーから受信されたハンドシェーク・データがタグから送信されたハンドシェーク・データと異なる)場合、タグは応答しない。マッチする場合、タグはタグ・データ(例えば、ePC)をリーダーに送信し(529)、「状態を変更するのを待つ」に入る(531)。一実施形態では、タグは、タグ・データが受信されないことを示すコマンドを送信しない限り、リーダーがタグ・データを受信すると仮定する。例えば、タグが、状態変更を妨げるコマンド(例えば、NAk)を受信した場合(533)、タグは、「状態を変更するのを待つ」を終了する(537)。タグがハンドシェーキングを行うかまたは状態変更を妨げる以外のコマンドを受信した場合(例えば、QueryA、QueryB、またはQueryRepを受信する)(539)、タグは、そのタグが状態を変更するのを待っている場合、(541)タグ状態を変更する(例えば、状態Aから状態Bに、または状態Bから状態Aに)(543)。他の実施形態では、タグは、常に、リーダーがタグ・データを受信することを仮定する。タグは、タグ・データを送信した後、状態を変更するのを待っている間に問い合わせコマンドが受信されると、その状態をAからBに変更するか、またはBからAに変更する。オペレーション541、543は、オペレーション507または509が実行される前に実行されることが理解できるであろう。したがって、状態Aにあるタグに対する問い合わせに応答し、タグ・データを送信した後、状態Aにあるタグは状態Bに切り換える、状態Aにあるタグに対する他の問い合わせには応答しない。タグが状態を変更するのを妨げるために、リーダーは、他の問い合わせコマンドの前に状態変更を防止するコマンド(例えば、NAk)をブロードキャストすることができる。
【0031】
図6は、本発明の一実施形態により問い合わせに応答するかどうかをタグがランダムに決定するための意思決定回路の一例を示す図である。ランダム・ビット生成器(601)は、一度に1ビットずつランダム情報を生成する。多数のランダム・ビットがメモリ603内に格納される。例えば、ランダム情報の新しいビットが生成されると、それは、メモリ内でシフトされ、メモリ内の第1ビットがランダム情報の新しいビットを含み、ランダム情報の最も古いビットは破棄される。タグがリーダーからQパラメータを受信した場合(例えば、QueryAコマンドまたはQueryBコマンドで)、Qパラメータの値がメモリ607内に格納される。論理回路(605)は、メモリ603内の最初のQ個のビット(例えば、一番最近のQ個のビット)がすべてゼロかどうかを判定する。メモリ603内の最初のQ個のビットがすべてゼロの場合、タグは、その問い合わせに応答することを決定する。そうでない場合、タグは応答しない。Qがゼロの場合、タグは、常に、タグが指定された状態にある場合に応答することを決定する。
【0032】
一実施形態では、ランダム・ビット生成器(601)は、ゼロを生成する(1/2)の確率を持つ。そのため、与えられたQ値に対して応答の確率は、(1/2)Qである。ランダム・ビット生成器(601)は、1コマンド当たり1ビットの速度、1コマンド当たり1ビットよりも速い速度、または1コマンド当たり1ビットよりも遅い速度で、ランダム・ビットを生成することができる。異なるタグは、異なる速度でランダム・ビットを生成できることは理解できるであろう。さらに、ランダム・ビット生成器(601)は、(1/2)の確率でゼロを生成することができないこともある。例えば、重要なタグにバイアスをかけて、ゼロを生成するのに1/2よりも大きい確率を持つようにできる。したがって、これらのタグは、最初のQ個のビットがすべてゼロであるという要求条件を満たす可能性が高い。その結果、これらのタグは、他のタグよりも早いステージで応答する確率が高い。
【0033】
上記の例から、タグは、Qパラメータにより制御される応答の確率で応答することをランダムに決定できることは理解できるであろう。そのような制御されたランダムな意思決定を行うのに異なる実装を使用することができる。例えば、メモリ内の最も古いQ個のビットがすべて1であることが要求される場合がある。Qパラメータの値を調整することは、応答の確率を調整することでありうるため、リーダーは、Q値を適応的に調整し、リーダーの交信範囲内にある多数のタグから単一の判読可能な応答を取得する確率を高めることができる。
【0034】
図7は、本発明の一実施形態によりタグがリーダーと通信するための乱数を生成する方法の流れ図である。オペレーション701は、ランダム・ビットを生成する(例えば、ランダム・ビット生成器601を使用して)。その後、タグがリーダーとのハンドシェーキングを終了したかどうかが判定される(703)。タグがリーダーとのハンドシェーキングを処理中の場合、ランダム・ビットは、メモリ内の情報を更新するために使用されない(例えば、603)。そのため、メモリ内の乱数は、ハンドシェーキングの処理中も同じままである。ハンドシェーキングの処理中に、タグは、ランダム・ビットのメモリ(例えば、16ビット・メモリ)の内容をハンドシェーク・データとしてリーダーに送信し、リーダーから戻されるハンドシェーク・データとともにハンドシェーク・コマンド(例えば、Ack)を受信する。リーダーから受信されたハンドシェーク・データがタグから送信され、タグに保持されているハンドシェーク・データとマッチした場合、ハンドシェーキングは成功であり、タグは、それに応えてタグ・データをリーダーに送信することができる。リーダーが再度ハンドシェーク・コマンドを送信しない(またはハンドシェーク・データがマッチしない)場合、タグは、リーダーとのハンドシェーキングを終了する(例えば、他の問い合わせコマンドを送信することにより)。タグがリーダーとハンドシェーキングを行っていない場合、タグは、ランダム・ビットのメモリの内容をフリーズする必要はない。したがって、タグは、ランダム・ビットをランダム・ビットのメモリ内にシフトして(705)、その内容を更新する。この説明に基づくことで、当業者は、さまざまな代替実装を考えることができる。例えば、ランダム・ビットは、問い合わせコマンドのみに応えて、生成することができる。
【0035】
本発明の一実施形態では、ランダムな決定を下すために使用されるランダム・ビットのメモリ(例えば、603)の内容全体がハンドシェーク・データとして使用される。それとは別に、その一部のみを、ハンドシェーク・データとして使用できるようにしてもよい。例えば、最初のQ個のビットがすべてゼロの場合にタグが応答すると、タグは、ランダム・ビット・メモリの最後の(16−Q)個のビットのみを使用することができる。それとは別に、タグは、ハンドシェーク・データと異なる乱数を使用することもできる。
【0036】
図8は、本発明の一実施形態によりリーダーが多数のタグからタグ・データを読み取る方法の流れ図である。状態Aにあるタグに対するQパラメータを含む問い合わせコマンドを受信した後(801)、リーダーは、ハンドシェーク・データを含むタグからの応答を検出する(803)。応答がない場合(805)、Qパラメータはすでに0に等しいかどうかが判定される。Qパラメータがゼロに等しく、問い合わせコマンドに応えて応答が受信されない場合、問い合わせコマンドを受信する状態Aのタグは、Qパラメータがゼロに等しい場合に応答するので、交信範囲内に状態Aのタグがないと判定できる。Qパラメータがすでにゼロでなければ、リーダーは、Qパラメータを小さくして、応答を受信する確率を高めることができる。例えば、リーダーは、パラメータQfを浮動小数点数として保持し、QがInt(Qf)から決定されるようにすることができる(ここに、Int(x)は、実数xの整数部分を示す)。リーダーは、QfをMin(Qf/1.4,0.9)として更新することができ(ただし、Min(x/a,b)は、x/aとbの間の最小値を示す)、応答がない場合に、QをInt(Q)(811,815)として更新することができる。互いに損なう異なるタグから複数の応答がある場合、リーダーは、応答から判読可能なハンドシェーク・データを取得することはできない(817)。衝突を避けるために、リーダーは、Qパラメータを大きくして、複数の応答を受信する確率を下げることができる。例えば、複数の応答が衝突し互いに損なう場合に、リーダーは、QfをQf×1.4として更新し、QをInt(Q)(813,815)として更新することができる。
【0037】
リーダーが1つの応答から判読可能なハンドシェーク・データを取得できる場合、リーダーは、衝突があっても、Qパラメータを高くする必要はないことに留意されたい。例えば、弱い応答が強い応答と衝突する場合、リーダーは、そのまま、強い応答からハンドシェーク・データを取得することができる。この場合、リーダーは、弱い応答を単純に無視し、強い応答を送信するタグとのハンドシェーキングを開始することができる。したがって、隠された衝突は性能を改善するが、それは、弱いタグは、ACKハンドシェークにより保護され、リーダーがそのハンドシェークを抽出できる場合により強いタグがそのままカウントされるからである。
【0038】
判読可能なハンドシェーク・データが問い合わせコマンドへの応答として受信された後(817)、リーダーは、ハンドシェーク・データを送信するタグとハンドシェーキングを行う(例えば、ハンドシェーク・データを含むAckなどのコマンドをブロードキャストすることにより)。その後、リーダーは、タグからタグ・データ(例えば、ePCなどのタグ識別データ)を受信することを試みる(821)。例えば、Ackコマンドのハンドシェーク・データがタグから送信されたハンドシェーク・データとマッチするとタグ側で判定した場合、タグは、そのタグ識別データを応答としてAckコマンドに送信する。タグは、判読可能なタグ・データを受信した場合(823)、問い合わせに対するパラメータを再ブロードキャストせずに前の問い合わせコマンドを繰り返すコマンドをブロードキャストすることができる(829)。その問い合わせコマンドに応えて、タグ・データを送信したタグは、状態Aから状態Bに切り換わり、状態Aにあるタグに対する問い合わせに応えない。状態Aにあるタグは、現在の問い合わせに対し前の問い合わせパラメータを使用する。しかし、タグ・データが判読できない場合(823)、リーダーは、再び、タグとハンドシェーキングを行うか(819)、またはタグ・データが受信されないことを示すコマンドをブロードキャストすることを試みることができる(827)。
【0039】
本発明の一実施形態では、タグは、タグ・データを送信した後に問い合わせコマンドに応えて状態を切り換える。そこで、リーダーは、判読可能なタグ・データを受信した後、前の問い合わせを繰り返すコマンドをブロードキャストするか、または新しい問い合わせパラメータを付けて問い合わせコマンドをブロードキャストすることを選択できる。それとは別に、タグは、前の問い合わせコマンドを繰り返すコマンド(例えば、QueryRep)にのみ応えて、タグ・データを送信した後、状態を切り換えるように実装することができる。したがって、リーダーは、1つのQueryRepコマンドを使用して、1)タグ・データを送信したばかりのタグに、状態を切り換えさせて、交信対象のタグの集合を残し、2)他のタグに問い合わせを行い、その問い合わせに応答するかしないかについてランダムな決定を下させることができる。
【0040】
本発明の一実装では、システム通信はリーダーがトランザクションを開始する2ステージ・コマンド−応答パターンに従う(リーダー・トーク・ファースト、RTF)。第1のフェーズでは、リーダーは、1つまたは複数の受動型タグに連続波(CW)RFエネルギーによる電力を供給する。タグの電源投入が行われ、クロックの同期処理のため使用されるコマンドを1つ受信した後に複数のコマンドを処理する準備が整う。リーダーは、後述のリーダー−タグ間符号化スキーマを使用して振幅変調によりフィールドに情報を送信する。送信完了後、リーダーは、変調を停止し、RFを維持して応答フェーズでタグに電力を供給する。タグは、後述の4相ビット符号化スキームを使用し、この期間に後方散乱変調を介してリーダーと通信する。
【0041】
一実装では、基本コマンドは、トランザクション間で複数のタグが格納しなければならない状態情報の量を制限するように設計されている。受動型タグに利用できる電力は、送信電力、タグ/リーダーのアンテナの向き、局所的環境、外部干渉源の複雑な関数となっている。RFフィールドのマージン上のタグの電力供給は当てにならず、したがって、リーダーとの前のトランザクションの記憶を維持するためにそれに頼ることはできない。特に、タグまたはオブジェクトが移動していると、多経路干渉のため、タグは短い期間しか電力を受け取れないことがある。一実装では、これは、全トランザクション時間を最小にし、失敗したコマンドから迅速に復旧できるようにすることにより、これらの条件の下でタグの効率的カウントを行えるように設計される。閾値電力を持ち、3ミリ秒程度の短い時間内に3つのコマンド(例えば、スピンアップするための前のコマンド、問い合わせ、応答を伴うACK)を受信するタグがインベントリ(inventory)される。
【0042】
一実装では、コマンド・グループの間で、各セッションに対して1ビットの状態しかなく、その状態の影響は、後述のように、それら2つの状態に関してコマンド集合を対称化することによりさらに弱められる。
【0043】
一実装では、それぞれのタグは、利用可能な4つのセッションを持ち、それぞれのセッションは単一ビットの独立した状態記憶を持つ。後方散乱モードとデータ転送速度は、それらのセッションすべてについて同じであり、ランダム応答レジスタはすべてのセッションについて同じである。選択されているという状態もすべてのセッションで同じである。このセッション構造では、最大4つまでのリーダーまたはプロセスがマルチタスク環境でタグ母集団と通信することができるが、コマンド・グループ全体とそうすることができる。コマンド・グループは、QueryA/Bから開始し(QueryRepはコマンド・グループを起動しない)、ACKを通じて継続し、ACK(タグの観点からトランザクションを完了する)の後のコマンドで終了するか、またはプロセスによるSELECTED状態の使用が終わると終了する。
【0044】
2つのセッションを使用する一つの例は、入口を通るすべてのタグをカウントするが、パレットを優先的にカウントしたい入口リーダーである。タグ母集団に関して2つの同時プロセスを実行することが可能である。例えば、状態Aと状態Bとの間でタグの母集団全体をスイープし、前の状態に関係なく1回接触が行われたすべてのタグを必ずカウントするために、セッション0を1つのプロセスで使用することが可能である。セッション1は、そのセッションについて状態Aに対しすべてのパレット・タグをマスクすることと、状態Bに対し他のすべてのタグをマスクすることを選択的に行うことが可能であり、また第1のプロセスで進行中のインベントリに干渉することなく、交互に進むプロセスで優先的にカウントすることが可能である。
【0045】
類似の例は、そのインベントリ・タイプの同期をとるために設定されたインベントリ・リーダーの集合であろう。例えば、すべてのインベントリ・リーダーは、それらのタグでセッション0を使用して、10個の第2の間隔についてA状態からB状態へのインベントリを行い、その後、B状態からA状態に戻るインベントリを行う。これにより、すべてのタグが、1サイクルに1回ずつ1つのインベントリ・リーダーによりカウントされる。同時に、ハンドヘルド・リーダーでは、状態Bへの他のすべてのタグのマスクを行っている間に、状態AへのePCの特定の十分な部分をマスキングすることによりePCに対してセッション1を使用して調べることが可能である。その後、セッション1QueryAコマンドを使用して、そのタグまたはタグ・タイプを探す。これにより、コマンド・グループが衝突(交互配置)しない限り、またRF干渉が避けられる限り、ストア・インベントリ・リーダーとの干渉が避けられる。
【0046】
図9は、本発明の一実施形態によるタグ状態図である。このタグ状態図は、コマンド・グループ内でタグがとりうる状態を示す。コマンド・グループは、QueryA/Bコマンドで始まり、選択された状態または肯定状態をタグが離れることで終わる順次コマンド群である。タグ・グループ間では、それぞれのセッションの状態はAまたはBである。DEAD状態は永久的状態である。セッション0については、状態AとBは、電源が投入されていなくても永続状態である。長期間、少なくとも1秒場合によっては数時間、経過した後、状態Bは状態Aに戻る。状態Aでは、すべてのタグは、QueryAコマンドに応えるが、QueryBコマンドには応えない。状態Bでは、QueryBコマンドには応えるが、QueryAコマンドには応えない。状態記憶の有効期限が特定のセッションについて切れている場合、タグは、そのセッションに対し電源投入後状態Aに入る。
【0047】
0セッション以外のセッションは、永続的なA−Bフラグを持たず、電源が入っているときだけその状態を記憶できる。その状態が失われた場合、そのセッションに対する状態は状態Aに戻る。
【0048】
電源投入後、タグは、4つのセッションのそれぞれに対する状態フラグを除くすべての内部状態をリセットする。タグは、最初のコマンドにより供給される同期ビットの立ち上がりエッジに合わせてそのクロックの同期をとるが、電源投入後、最初のコマンドに従って動作することは許されない。そのクロックを次のコマンドを復号化するのに十分な精度に維持する。クロック周波数は、コマンド・スピンアップ時に20%を超えて補正される必要がある場合、タグは、そのコマンドに応えず、次のQueryAまたはQueryBコマンドまで待つ。これは、不適切な、場合によっては干渉するレスポンスを防ぐように設計されている。
【0049】
タグが状態Aにある間、セッション毎にQueryAコマンドに応えるが、QueryBコマンドには応えない。タグは、適切なSetStateコマンドがあった後、またQueryBで始まるインベントリ・ハンドシェークが正常に完了した後、状態Aに入る。
【0050】
セッション毎に、タグが状態Bにある間、QueryBコマンドに応えるが、QueryAコマンドには応えない。タグは、適切なSetStateコマンドがあった後、またQueryAから始まったインベントリ・ハンドシェークが正常に完了した後、状態Bに入る。タグは、最大1秒間の停電があってもセッション0に対し状態Bに留まることができる。
【0051】
それぞれの独立セッションについて、状態Bの状態記憶が失われた場合、タグは、状態Aで電源が入る。
【0052】
デッド状態は、有効なキル・コマンドとキル・コード・シーケンスを受信した後に入るタグ状態の永続的状態変化である。デッド状態は、プログラミングE2またはヒューズが飛ぶことなどの物理的タグの永続的変化により生じる。
【0053】
本発明のいくつかの実施形態は、タグとリーダーの両方について非常に安価に実装できる一方で、高速で堅牢で互換性、拡張性のあるプロトコルを実現するRFIDプロトコルに関係する。一実施形態では、RFトランスポート層は、UHFオペレーションを重点的に扱い、例えば、プロトコルは、400MHzから2.45GHzまで適用可能なものとすることができる。
【0054】
異なるアプリケーションとコスト要件に対しタグには少なくとも4つのクラスがある。設計層のすべての要件を満たす異なるクラスのタグは、連携動作することができる。タグは、さらに、センサ、クロック、ディスプレイ、他のデバイスとの標準化された有線I/Oインターフェースを備えることもできる。
【0055】
クラスIタグは、最も安価に生産できるように設計された、単純な受動型読み取り専用後方散乱タグである。クラスIタグは、1回限りプログラム可能なメモリ、追記型アイデンティティ・メモリ、64または96ビットePCコードやオプションのリサイクリング・コードを持つ。
【0056】
クラスIIタグは、クラスIよりも高い機能性を備え、またコストも高い受動型後方散乱タグである。クラスIの特徴に加えて、クラスIIタグは、タグへデータの読み書きを行うこと、読み書きメモリを備えること、非通信目的用に電池電力を備えてもよいこと、オプションでセンサ・ロガーとデータ・ロガーを備えることができる。
【0057】
クラスIIIタグは、半受動型後方散乱タグである。クラスII機能に加えて、クラスIIIタグは、読み取り範囲の増大をサポートするために内蔵電池または他のエネルギー源を備える。
【0058】
クラスIVタグは、互いに、/または他のデバイスとワイヤレスで通信できるモデム風の半受動型または能動型(送信器)タグである。クラスIVタグは、さらに、リーダーとの通信でクラスI〜IIIタグをエミュレートすることもできる。
【0059】
本発明の一実装によるRFIDシステムは、リーダーのフィールド内にある単一タグの識別、リーダーのフィールド内にある複数のタグの読み取りを管理する衝突防止機能、RF干渉源や周縁タグからのシステム内のエラー管理、地域RF規制基準に適合したオペレーション、RF規制基準に準拠した動作をするシステムとの共存を含むいくつかの特徴を有する。
【0060】
いくつかの詳細な例を以下に示す。しかし、この説明によれば、異なる詳細設計と実装は、当業者であれば考えつく。全体的なシステム・アーキテクチャは、通常、市場の機能である。
【0061】
以下の説明では、RFIDタグのメモリ内のビットが参照される。タグ・メモリ内のビットを参照するときに、「上」または「高い」という単語は、一般に、最上位ビット(MSB)方向を指し、「下」または「低い」という単語は、最下位ビット(LSB)方向を指す。例えば、10進数の7の2進数表現は0111である。それぞれのビットを1だけ「上に」または「高く」シフトすると、2進数で1110と表される、10進数14が得られる。
【0062】
本発明の一実施形態では、コマンド形式は、超低価格(VLC)タグをサポートするように設計されている。リーダーは、付加的な作業を行い、タグができる限り単純に、安価なものとなるようにできる。これは、大まかに2つの領域、つまり、タイミング不確定性の取り扱いとタグ内の限られた長期メモリの取り扱いに分けられる。しかし、他のタイプのタグ(例えば、大容量メモリを備える電池式デバイスなどのクラスIIIやそれ以上のタグ)は、さらに、これらのコマンド形式を(例えば、互換性のため)サポートすることができる。
【0063】
VLC、シングル・チップ・タグは、通常、水晶発振子が高価であり、サイズがひどく大きいので、発振器安定性を制限されている。一実施形態では、タグは、コマンドのビッド・タイミングを使用して、その内部クロックと同期をとり、またさらにコマンドを復号化するのを開始する前に電源投入し、1つのコマンド・パケット全体を調べる必要がある。これらのタグからの応答は、タグが供給できるクロック速度でタグにより送信された情報をリーダーが解釈できるように構造化されている。このスキームは、概念上は、磁気カードまたはバーコード・リーダーで使用されている自動同期スキームに類似している。
【0064】
一実施形態では、基本コマンド、プログラミング・コマンド、データ・リンク・コマンドを含む3つのコマンド・クラスが用意されている。基本コマンドは、オブジェクト識別、並べ換え、インベントリなどの機能を提供する。プログラミング・コマンドは、タグを付けられた商品がサプライ・チェーンに入る前にタグ・メーカーによるタグ・データ識別およびプログラミングをサポートする。データ・リンク・コマンドは、クラスIIとそれ以上のタグに対するデータ・リンク層を提供する。
【0065】
本発明の一実施形態では、ハフマン符号化コマンド、例えば、QueryA/B(4ビットQ)に対して18ビット、QueryRep(最後の問い合わせ繰り返し)に対して6ビット、ACK(16ビットのデータを含む)に対して23ビット、NAK(めったに使用されない。例えば、データ・エラーに関する)に対して13ビット、他のコマンドのパラメータに対して13ビット以上を使用する。そのため、QueryRepコマンドは、QueryAまたはQueryBコマンドよりも実質的に短い。
【0066】
一実装のコマンド構造の詳細な例について以下で説明する。コマンド構造の以下の例では、コマンド・フィールドは、一般に、送信される順序でリストされる。
【0067】
一実装では、3種類のインベントリ・コマンド、問い合わせ、ACK、NAKがある。問い合わせコマンドがトランザクションを開始し、このトランザクションに対し、1つまたは複数のタグが16ビット乱数で応える。リーダーが16ビット数を正しく抽出すると、これは、ACKコマンドを通じてハンドシェーキングのためタグに送り返される。タグは、ACKコマンドにより送信された16ビット数がそのタグが送信した数とマッチした場合にのみ応える。16ビット乱数が確認されたタグは、プレフィックス、そのCRC(巡回冗長検査)、そのePC(電子製品コード)で応答する。その後、タグは、そのセッションに対する内部状態を、NAKを受け取らない限りAからB(またはBからA)に遷移する。NAKを受信した場合、前の状態に留まる。
【0068】
一実装では、リーダーは、最初にスピンアップ・ビットを送信する。それぞれのフィールド内で、LSB(最下位ビット)が最初に送信される。すべてのコマンドは、クロック・スピンアップを行えるように4つのマンチェスター0ビットが先頭に付く。クロック・スピンアップ・ビットの後に、マンチェスター高違反、コマンド・ビット、パラメータが続き、これらは、コマンド毎に異なる。20%よりも大きくクロックを調整するためにタグ・クロック設定メカニズムが必要な場合、またはタグが、スピンアップ・ビットまたはマンチェスター高違反を見ない場合、タグは、クロック同期を改善することを目的とする場合を除きコマンドを無視する。コマンドが有効なコマンドのデータ・パターンとマッチしない場合、タグは、その内部状態を変更せず、その後方散乱を変調しない。すべてのコマンドの開始時に、タグは、4つのセッションのそれぞれについて状態記憶をリフレッシュする。タグがパワー・オン・リセットから立ち上がる場合、「最初の問い合わせを待つ」状態に入る。
【0069】
タグが「パワー・オン」を通じてリセットされると、タグは常に「最初の問い合わせを待つ」の状態に入る。
【0070】
クロックが同期していないか、またはクロックが20%を超えて変わったか、またはスピンアップまたはマンチェスター違反が見られていない、または不正なコマンド・ビットまたは不正なCRCデータが受信された場合、不正なコマンドがそのタグに届く。始まりの状態条件が「最初の問い合わせを待つ」、「準備完了」、または「選択済み」である場合、タグは、不正なコマンドに応えて同じ状態条件に留まる。始まりの状態条件が「ACKを待つ」または「肯定応答済み」である場合、不正なコマンドにより、タグは、「準備完了」の状態に入る。
【0071】
QueryAコマンドは、セッション番号、後方散乱モード、相対的タグ−リーダー間データ転送速度を含むパラメータを持つ。これは、数値Qであるデータ・ペイロードを持つ。タグがQueryAコマンドを受信したときに、そのセッションについて状態Aにある場合、(1/2)Qの確率で応える。タグは、独立の(1/2)Q確率でそれぞれの問い合わせに応える。一実施形態では、タグからの応答は、タグがさらに次のコマンドまで記憶しておくランダム16ビットを格納する。
【0072】
例えば、QueryAコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(1ビット、「0」)、セッション番号[S](2ビット)、A/Bフラグ(1ビット、QueryAに対しては「0」、QueryBに対しては「1」)、後方散乱モード[M](2ビット)、後方散乱相対速度[R](2ビット)、Qパラメータ[Q](4ビット)を含むことができる。ビット・マスキングは、後述のように大きな母集団に対して使用することができる。
【0073】
QueryAコマンドに応えて、タグは、1)セッション番号を[S]に設定し、2)問い合わせの状態フラグを「A」に設定し、3)Qパラメータを[Q]に設定し、4)後方散乱モードを[M]に設定し、5)後方散乱速度を[R]に設定する。タグは、[Q]に従って、乱数を計算し、ランダムな決定を下す。さらに、タグが「選択済み」または「肯定応答済み」の開始状態にある場合、タグは、状態Aにあれば状態Bに、状態Bにあれば状態Aに切り換わる。その後、タグが状態Aにあり、ランダムな決定が肯定的である場合、タグは、乱数で応答し、「ACKを待つ」状態に入り、そうでなければ、タグは、「準備完了」の状態に入る。
【0074】
QueryBコマンドは、状態AおよびBに関してQueryAコマンドに対称的である。QueryBコマンドの後のハンドシェーク・サイクルが正常に完了すると、そのセッションについてタグは状態Bに入る。QueryBへのタグ応答は、QueryAコマンドと同じ形式である。
【0075】
例えば、QueryBコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(1ビット、「0」)、セッション番号[S](2ビット)、A/Bフラグ(1ビット、QueryAに対しては「0」、QueryBに対しては「1」)、後方散乱モード[M](2ビット)、後方散乱相対速度[R](2ビット)、Qパラメータ[Q](4ビット)を含むことができる。ビット・マスキングは、後述のように大きな母集団に対して使用することができる。
【0076】
QueryBコマンドに応えて、タグは、1)セッション番号を[S]に設定し、2)問い合わせの状態フラグを「B」に設定し、3)Qパラメータを[Q]に設定し、4)後方散乱モードを[M]に設定し、5)後方散乱速度を[R]に設定する。タグは、[Q]に従って乱数を計算し、ランダムな決定を下す。さらに、タグが「選択済み」または「肯定応答済み」の開始状態にある場合、タグは、状態Aにあれば状態Bに、状態Bにあれば状態Aに切り換わる。その後、タグが状態Bにあり、ランダムな決定が肯定的である場合、タグは乱数で応答し、「ACKを待つ」状態に入り、そうでなければ、タグは「準備完了」の状態に入る。
【0077】
QueryRepコマンドは、同じパラメータで最後の問い合わせを繰り返す。パワー・オン・リセット以降、タグがQueryA/Bを見ていない場合、タグはQueryRepに応えない。このコマンドは、通常、完全なアトミック・モードを除き最も一般的なコマンドである。QueryRepへのタグ応答は、QueryAまたはQueryBコマンドと同じ形式である。
【0078】
例えば、QueryRepコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(1ビット、「0」)を含むことができる。
【0079】
QueryRepコマンドに応えて、「最初の問い合わせを待つ」状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「肯定応答済み」または「選択済み」の状態にあるタグは、応答せず、状態Aにあれば状態Bに、状態Bにあれば状態Aに切り換わり、「準備完了」の状態に入る。「準備完了」または「選択済み」の状態にあるタグは、1)[Q]に従って、乱数を計算し、ランダムな決定を下し、2)タグの状態が問い合わせの状態フラグにマッチしているかチェックし(例えば、タグが状態Aにある間、問い合わせに対する状態フラグは「A」であるか、またはタグが状態Bにある間、問い合わせに対する状態フラグは「B」である)、3)タグの状態が問い合わせに対する状態フラグとマッチし、ランダムな決定が肯定的である場合、乱数で応答し、「ACKを待つ」状態に入る。タグの状態が問い合わせに対する状態フラグとマッチしないか、またはランダムな決定が否定的である場合、タグは応答せず「準備完了」の状態に入る。
【0080】
一実施形態では、問い合わせコマンド(例えば、QueryA、QueryB、またはQueryRep)に応えるタグからの応答は、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度での16ビット・ハンドシェーク・データを含む。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのランダム・データ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0081】
例えば、問い合わせコマンドに応えるタグからの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ・ハンドシェーク(16ビット、ランダム・データ)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0082】
ACKコマンドは、タグ応答からハンドシェークを正常に抽出できた場合にリーダーにより送信される。ACKは、他のACK以外にコマンドを介在させることなく、問い合わせコマンドの直後に続く。さらに、これは、Tcoast(以下で定義)以内に続くが、あわせてプロトコルのアトミック「コマンド」と考えられる。タグが受信するACKコマンドが直前の問い合わせに応答したハンドシェークを含まない場合、これは応答しない。
【0083】
例えば、ACKコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(2ビット、「10」)、ハンドシェーク・データ(16ビット、直前の問い合わせでリーダーに送信されたデータ)を含むことができる。
【0084】
ACKコマンドに応えて、「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」または「選択済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。「ACKを待つ」または「肯定応答済み」の開始状態のタグは、ACKコマンド内のハンドシェーク・データが直前の問い合わせでリーダーに送信された乱数とマッチするかどうかをチェックする。マッチがあれば、タグは、ePCとCRCを応答としてスクロールバックし、「肯定応答済み」の状態に入り、マッチがなければ、タグは「準備完了」の状態に入る。
【0085】
ACKコマンドに応える応答は、ePCとCRCを含む。16ビット・ハンドシェークとリーダーにより送信されたハンドシェークとのマッチングを行うタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、4ビット送信することにより応えるが、1ビットの後にリーダー−タグ間の1ビット時間の高違反が続き、タグ内のすべての識別データはビット0から始まる。リーダーによりタグに送信されるデータは、可変長であってよい。このデータの後に、クローバー・オフ(高)違反と4つの後続1が続く。
【0086】
例えば、ACKコマンドに応えるタグからの応答は、TAGSPINUP(4ビット、「1111」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ・データ(可変サイズ、ePC、CRC、リサイクリング・データなど)、高違反、TAGTRAILER(4ビット、「1111」)を含むことができる。
【0087】
リーダーがACKへのレスポンスを受信しない場合、リーダーはNAKを送信する。ACKへの誤伝送されたレスポンスを受信した場合、NAKを送信するか、またはACKを再び試すことができる。NAK(または問い合わせ、繰り返しACK、または選択以外のコマンド)は、記録されていないことをタグに知らせ、前の(AまたはB)状態に留まらなければならない。
【0088】
問い合わせ−ACKインベントリでは、NAKは、データ・エラーが生じたときのみ使用される。NAKコマンドは、さらに、SELECTED状態も終了させる。NAKへの応答はない。例えば、NAKコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000000」)を含むことができる。
【0089】
NACコマンドに応えて、「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「選択済み」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0090】
SetStateコマンドは、検索を制限するために、またさまざまな設定オペレーション(例えば、合併)を含む直接アドレッシングとマスキングに使用される。設定オペレーションは、SetStateコマンドを使用して実行される。マスキングは、未使用セッションを選び、その後、SetStateコマンドの文字列を発行してタグのすべてをそのセッション内の所望の状態に設定することにより開始する。状態が変更されるタグは、ScrollIDプリアンブルで応えるので、フィールド内にあることがすでに知られているそれぞれのタグの状態を個別に単純に変更し、新しいタグに対するランダム・インベントリを実行する前に応答の有無を利用してインベントリを更新することによりインベントリを維持するアプリケーションが使用可能になる。
【0091】
例えば、SetStateコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000001」)、セッション番号[S](2ビット)、状態フラグ(1ビット)、タグ操作フラグ(2ビット、マスクがマッチした場合に状態を設定し、マッチしない場合に反対状態を設定する「00」、マスクがマッチした場合に状態を設定し、マッチしない場合に何も実行しない「10」、マスクがマッチしない場合に状態を設定し、マッチした場合に何も実行しない「11」)、ポインタ(8ビット)、長さ(8ビット、マスク・ビットの長さ)、マスク・ビット(可変サイズ)、CRC8(8ビット、最初のコマンド・ビットから最後のマスク・ビットまで計算される)を含むことができる。
【0092】
SetStateコマンドに応えて、「最初の問い合わせを待つ」という開始状態にあるタグは、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「選択済み」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、「準備完了」の状態に入る。SetState ACKコマンドに応えて、タグは、セッション番号を[S]に設定し、マスクに応じて、セッションのAB状態を「A」または「B」に設定する。マスクがマッチした場合、タグは、肯定応答を送信するが、そうでない場合、タグは、応答しない。状態フラグが「A」で、状態操作フラグが「00」の場合、セッションのAB状態は、マスクがマッチすれば「A」に設定され、マスクがマッチしなければ「B」に設定される。状態フラグが「A」で、状態操作フラグが「01」の場合、アクションはいっさいない。状態フラグが「A」で、状態操作フラグが「10」の場合、セッションのAB状態は、マスクがマッチすれば「A」に設定され、マスクがマッチしなければアクションはいっさいない。状態フラグが「A」で、状態操作フラグが「11」の場合、セッションのAB状態は、マスクがマッチしなければ「A」に設定され、マスクがマッチしなければアクションはいっさいない。状態フラグが「B」で、状態操作フラグが「00」の場合、セッションのAB状態は、マスクがマッチすれば「B」に設定され、マスクがマッチしなければ「A」に設定される。状態フラグが「B」で、状態操作フラグが「01」の場合、アクションはいっさいない。状態フラグが「B」で、状態操作フラグが「10」の場合、セッションのAB状態は、マスクがマッチすれば「B」に設定され、マスクがマッチしなければアクションはいっさいない。状態フラグが「B」で、状態操作フラグが「11」の場合、セッションのAB状態は、マスクがマッチしなければ「B」に設定され、マスクがマッチしなければアクションはいっさいない。
【0093】
データとリーダーにより送信されたマスクとのマッチングを行うタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0094】
例えば、SetStateコマンドに応えるタグからの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、「0101010101010101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0095】
SELECTコマンドはアドレッシング・コマンドである。SELECTED状態は、揮発性メモリ内に保持され、パワー・オン・リセット時にクリアされ、また問い合わせコマンドを使用することでもクリアされる。プログラミングとクラスII以上のコマンドは、アドレッシング(SELECT)部分とデータ交換部分とに分けられ、これにより、アドレッシングに使用されるタグ通信ハードウェアとレジスタは読み出しと書き込みに再利用できる。KILL、ProgramID、VerifyID、LockID、ReadとWriteを実行するために、タグは「選択済み」状態にある。(選択は、クラスIタグにおいてKill、Program、LockIDの実行にのみ使用される)。
【0096】
例えば、SELECTコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000010」)、セッション番号(2ビット)、CRC8(最初のコマンド・ビットからセッション番号まで計算される)を含むことができる。
【0097】
タグ・アドレッシングは、以下のように進行する。
1)開いているセッションを選ぶ。
2)明確に、所望のタグのみを取得するのに十分と思われるマスクをそのセッションに対して発行する。
3)所望のタグを見つけるまで問い合わせ−ACKを使用してタグを探索する(完全なePCとCRCにより認識する)。
4)SELECTコマンドを発行する。
【0098】
SELECTコマンドに応えて、「最初の問い合わせを待つ」という開始状態にあるタグは応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「選択済み」、または「ACKを待つ」の開始状態にあるタグは応答せず、「準備完了」の状態に入る。「肯定応答済み」の開始状態のタグは、書き込みを行えるだけ十分に電力が高い場合には肯定応答を送り、書き込みを行えるだけの電力がない場合には否定的応答を送り、「選択済み」の状態に入る。
【0099】
SELECTコマンドにより選択されたタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0100】
例えば、SELECTコマンドに応えるタグからの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、書き込めるだけ十分に電力が高くない場合には「0000 0000 0000 0000」)、書き込めるだけ十分に高い場合に「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0101】
KILLコマンドは、SELECTEDアドレス・モードによりアドレッシングされる。リーダーにより送信される[VALUE]フィールド内のキル・コードとマッチするタグは、停止され、もはやリーダー問い合わせには応えない。タグによってサポートされているキル・コードの長さを超えるビットは、CRC計算を除いて無視され、タグ内のすべてのビットがキル・コードとマッチする場合、キル・コードは、適切なキルを実行する。KILLコマンドは、リーダーからより高いフィールド強度を必要とする場合があり、したがって、短距離範囲とすることができる。一実施形態では、リーダーは100ミリ秒の間に複数の「1」を送信し、その後、100ミリ秒の「0」、次に15個の「1」が続き、次いで、コマンドを完了するタグのキル・コードの後、他の100ミリ秒の「0」を送信する。
【0102】
例えば、KILLコマンドは、スピンアップ・ビット(4ビット「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000011」)、キル・タイプ(2ビット、完全なキルに対しては「00」(すべてのデータを消去し、永久的に停止する)、保存リサイクルに対しては「01」(リサイクリング・フィールドを除くすべてを消去する)、クロックに対し「10」(無反応に設定されるが、消去されない))、ポインタ(8ビット)、長さ(8ビット、マスク・ビット長)、キル・コード(可変サイズ)、CRC8(8ビット、キル・コードの無視されたビットを含む、最初のコマンド・ビットから完全なキル・コードまでのビットについて計算される)を含むことができる。
【0103】
タグは、まず、キル・コマンドが実行されるために、選択済み状態にある。タグは、処理できる以上の長さ部分を超えるキル・コード・データを無視する。キル・コードがタグの持つビットとマッチする場合、キルを実行する。キル・コード・タグは長いほど安全になり、キル・コード・タグは短いほど製造コストが安くなるが、すべてのタグが互換性を有する。
【0104】
KILLコマンドに応えて、「選択済み」の開始状態のタグは、キル・ビットを応答なしでDEADに設定し、キル・コードがマッチし、キルが成功した場合、「DEAD」状態に入る。「選択済み」の開始状態にあるタグは、否定応答を送信し、キル・コードがマッチしてもキルが成功していない場合に「選択済み」の状態に留まる。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0105】
KILLコマンドを実行しようとして成功しなかったタグのみが、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0106】
例えば、KILLコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、キル・コマンド失敗に対して「0000 0000 0000 0000」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0107】
タグは、ScrollMFGコマンドに応えるように選択される。例えば、ScrollMFGコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000100」)、CRC8(8ビット、すべてのコマンド・ビットにわたって計算される)を含むことができる。
【0108】
ScrollMFGコマンドに応えて、「選択済み」の開始状態にあるタグは、応答を送信し、「選択済み」の状態に留まる。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0109】
選択済みタグは、プリアンブルと、決してプログラム可能にはできない、以下のデータを送り返すことにより、ScrollMFGコマンドに応答する。
【0110】
例えば、ScrollMFGコマンドへの応答は、プリアンブル(4ビット、「0000」)、高マンチェスター違反、MANUFACTURER(16ビット、「当局」により割り当てられる)、MASK SET/PRODUCT CODE(16ビット、メーカー定義)、DIE NUMBER(16ビット、メーカー定義)、CAPABILITY CODE(16ビット、「当局」により割り当てられる)、MEMORY SIZE(16、能力コード依存の意味)、CRC(16ビット、メーカーから最後に送信されたフィールドまでのすべてのビットにわたって計算される)を含む。ScrollMFG応答は、MANUFACTURERフィールドの後の任意のフィールドで適宜終了できる。
【0111】
プログラミング・コマンドは、基本コマンドと同じコマンド構造およびフィールド定義を使用するが、通常は、タグ・プログラミング・デバイス、またはプログラマによってのみ発行される。タグ・プログラマは、リーダーに類似しているが、ただし、タグ(およびIC)メーカーによって承認された方法に従って、基本コマンドに加えてプログラミング・コマンドを実行できる点が異なる。
【0112】
プログラミング・コマンドを使用することにより、タグ・メモリの内容をプログラムし、内容をロックする前にタグ・メモリの内容を検証することができる。
【0113】
メーカーは、製造試験のみに特に使用される追加のオプション・コマンドを定義することができる。例えば、これらのコマンドは、D7hからDfhの範囲内にあるコマンド・コードを持つ必要がある場合がある。
【0114】
すべてのプログラミング・コマンドは、タグ・メーカーがタグ・データ内容をいったんロックしてしまうと無効にされる。タグをプログラムするための特定のタイミングは、メモリ技術に依存する。
【0115】
タグ・プログラミングは、一度に16ビットずつ実行される。プログラミングは、通常、タグがすでにロックされていなければ行える。タグがクリアされていること、またはプログラミングの前に消去サイクルを必要としないタイプであることが知られていない場合、ProgramIDの前にEraseIDが使用される。
【0116】
データは、ProgramIDコマンドを使用してタグに送信され、[PTR]フィールドは、プログラムされるメモリ行アドレスであり、[VAL]フィールドは、選択されたメモリ行アドレスの中にプログラムされる16ビットのデータを格納する。
【0117】
有効なProgramIDコマンドを受信した後、タグは、プログラム・メモリに必要な適切な内部タイミング・シーケンスを実行する。
【0118】
例えば、ProgramIDコマンドは、スピンアップ・ビット(4ビット「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000101」)、ポインタ(8ビット)、データ領域(2ビット、CRC&ePCに対しては「00」、ユーザ・データに対しては「01」(クラスIに対してはなし)、キル・コードに対しては「10」)、長さ(8ビット、データの長さ)、プログラムへのID(可変サイズ)、CRC8(8ビット、最初のコマンド・ビットからIDの終わりまでのすべてのフィールドにわたって計算される)を含むことができる。
【0119】
ProgramIDコマンドに応えて、「選択済み」の開始状態にあるタグは、ロックされていなければデータを書き込み、「選択済み」の状態に留まる。「選択済み」の開始状態にあるタグは、成功すれば肯定応答を送信し、成功しなければ否定応答を送信する。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0120】
ProgramIDコマンドを実行するタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0121】
例えば、ProgramIDコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、書き込み失敗に対して「0000 0000 0000 0000」、書き込み成功に対して「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0122】
タグ消去は、一度に16ビットずつ実行できる。IDの消去は、タグがすでにロックされていない場合のみ行える。有効なEraseIDコマンドを受信した後、タグは、プログラム・メモリに必要な適切な内部タイミング・シーケンスを実行する。
【0123】
例えば、EraseIDコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000111」)、CRC8(8ビット、最初のコマンド・ビットからIDの終わりまでのすべてのフィールドにわたって計算される)を含むことができる。
【0124】
EraseIDコマンドに応えて、「選択済み」の開始状態にあるタグは、ロックされていなければePCとCRCを消去しようとし、「選択済み」の状態に留まる。「選択済み」の開始状態にあるタグは、成功すれば肯定応答を送信し、成功しなければ否定応答を送信する。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0125】
EraseIDコマンドを実行するタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0126】
例えば、EraseIDコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、消去失敗に対して「0000 0000 0000 0000」、消去成功に対して「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0127】
VerifyIDコマンドは、保護されているフィールドを含む、メモリの内容全体をスクロールアウトする。タグは、ロックされた後にはVerifyIDに応えない。タグは、VerifyIDが実行できる前に選択されている。
【0128】
例えば、VerifyIDコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11001000」)、CRC8(8ビット、すべてのコマンド・ビットにわたって計算される)を含むことができる。
【0129】
EraseIDコマンドに応えて、「選択済み」の開始状態にあるタグは、応答し、ロックされていなければ「選択済み」の状態に留まる。「選択済み」の開始状態にあるタグは、応答せず、ロックされていなければ「準備完了」の状態に入る。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0130】
16ビット・ハンドシェークとリーダーにより送信されたハンドシェークとのマッチングを行うタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、4ビット送信することにより応えるが、1ビットの後にリーダー−タグ間の1ビット時間の高違反が続き、タグ内のすべての識別データはビット0から始まる。リーダーによりタグに送信されるデータは、可変長であってよい。このデータの後に、クローバー・オフ(高)違反と4つの後続1が続く。
【0131】
例えば、VerifyIDコマンドへの応答は、TAGSPINUP(4ビット、「1111」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ・データ(可変サイズ、保護フィールドを含むすべてのタグ・データ内容)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(4ビット、「1111」)を含むことができる。
【0132】
LockIDコマンドは、制御されたサプライ・チャネルを出る前に、タグのメモリの識別(CRCおよびePC)部分をロックするために使用される。タグは、LockIDが実行できる前に選択されている。
【0133】
例えば、LockIDコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11001001」)、CRC8(8ビット、すべてのコマンド・ビットにわたって計算される)を含むことができる。
【0134】
LockIDコマンドに応えて、「選択済み」の開始状態にあるタグは、ロックされていなければ、ePCとCRCをロックしようとする。「選択済み」の開始状態にあるタグは、「選択済み」の状態に留まり、成功すれば肯定応答を供給し、成功しなければ否定応答を供給する。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0135】
選択コマンドにより選択されたタグは、LockIDコマンドを実行し、その後、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、以下の表からの16ビット、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0136】
例えば、LockIDコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、LockID失敗に対して「0000 0000 0000 0000」、コマンド成功に対して「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0137】
クラスII以上のタグは、クラスIのタグと同じシンギュレーション方法と識別方法を使用する。さらに、これらは、追加の読み書きメモリ、セキュリティ機能、センサなどを備えることができる。クラスIIのタグは、さらに、例えば、センサ・ロギングを実現するための電池も備えることができる。
【0138】
クラスIII以上のタグは、電池補助通信機能を備えるように定義される。クラスIII以上のタグは、低電力受動モードでクラスIのコマンドに応えるか、またはさらに長い距離では、キー送信を使用して、電池補助通信モードに入る。クラスIII以上のタグのウェイクアップ・キーについて以下で説明する。これにより、特にそれらのタグ宛ての長距離での交換を除き電池補助の使用を避けて、電池電力の消費を減らすことができる。
【0139】
クラスII以上のタグとの通信は、ハンドル・ベースのI/Oデータ・リンクに標準化されている。ハンドルは、特定の目的のために「当局」により発行され、SCROLLMFG情報とともに使用して、タグの能力を推定し、実行することができる。いくつかの能力コードと対応するハンドルの例を以下に示す。
00XX XXXX XXXX XXXX−−ルックアップ・テーブルによるハンドルと能力。
01XX XXXX XXXX XXXX−−サブフィールドによるハンドルと能力。
01XX XXXX XXXX 0000−−メモリなし。
01XX XXXX XXXX 0001−−ビット幅メモリ、ビット単位の0〜7FFFFFメモリ・アドレス、所定のアドレスから始まるLENビットを読み出す、所定のアドレスにLENビットを書き込む。
01XX XXXX XXXX 0010−−バイト幅メモリ、バイト単位の0〜7FFFFFメモリ・アドレス、所定のアドレスから始まるLENビットを読み出す、所定のアドレスにLENビットを書き込む。
01XX XXXX XXX1 XXXX−−スクラッチパッド型メモリ、例えば、1)1〜7FFFFFメモリ・アドレス、所定のアドレスから始まるLENビットを読み出す、アドレスとLENデータ・ビットをスクラッチパッドに書き込む、または2)FFFFFF、スクラッチパッド・データとアドレスを確認する、または3)FFFFFE、スクラッチパッドをメモリに書き込む。
01XX XXXX 000X XXXX−−セキュリティなし。
01XX XXXX 001X XXXX−−キー交換セキュリティ、例えば、1)FFFFFD、セキュリティ・トークンを書き込む、LENビット長、または2)FFFFFC、セキュリティ・トークンを読み出す。
01XX XX00 XXXX XXXX−−温度なし。
01XX XX01 XXXX XXXX−−温度間隔レコーダ、例えば、1)FFFFFFB間隔、間隔を秒単位に設定する、現在の間隔を読み出す、または2)FFFFFFA、一度に読める温度の数を設定する、または3)FFFE 0000 0000〜FFFE FFFF FFFF、温度を読み取る、ハンドル−過去へのFFFE0000000 0間隔。
【0140】
READコマンドは、クラスII以上のタグからデータをフェッチする基本コマンドである。これは、SELECTEDアドレッシング・モードでしかアドレス指定されず、リード・アドレスまたはハンドルである24ビットPTRフィールドと、読み出されるビットの数であるか、またはハンドルによって意味が決定される第2のパラメータとして使用されるLENフィールドを使用する。
【0141】
例えば、READコマンドは、スピンアップ・ビット(4ビット「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11010000」)、リード・ハンドル(24ビット、意味は能力コードにより定義される)、データ領域(2ビット、CRC&ePCに対しては「00」、ユーザ・データに対しては「01」(クラスIに対してはなし)、キル・コードに対しては「10」)、長さ(8ビット、読み出されるデータの長さ)、CRC8(8ビット、最初のコマンド・ビットから長さの終わりまでのすべてのフィールドにわたって計算される)を含むことができる。
【0142】
タグによって返されるデータは、容量コードと使用されるハンドルにより決定される。CRCを含むことができる。
【0143】
例えば、リード・コマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、データ(可変サイズ・データ)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0144】
WRITEコマンドは、クラスII以上のタグにデータを書き込む基本コマンドである。これは、SELECTEDアドレッシング・モードでのみアドレッシングされ、リード・アドレスまたはハンドルである24ビットPTRフィールドと、16ビットLEN、長さが[LEN]パラメータにより決定される可変長データ・フィールドを使用する。
【0145】
例えば、WRITEコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11010001」)、ライト・ハンドル(24ビット、意味は能力コードにより定義される)、長さ(8ビット、データの長さ(ハンドル&能力コードにより定義される粒度)、書き込みデータ(可変サイズ)、CRC8(8ビット)を含むことができる。
【0146】
選択コマンドにより選択されたタグは、WRITEコマンドを実行し、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、以下の表からの16ビット、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0147】
例えば、WRITEコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、書き込み失敗に対して「0000 0000 0000 0000」、書き込み成功に対して「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0148】
本発明の一実施形態は、当業で知られているような他のレディ・クワイエット・プロトコルに勝る利点を有する、プロトコルの2状態対称性を利用することを含む。この対称的プロトコルは、実際に、クワイエット・レディ状態を2つの対称的な部分、つまりプロトコルの状態Aおよび状態Bに対称的に分けることにより状態依存性を緩和する。
【0149】
タグがインベントリされて、クワイエット状態にされており、異なるリーダー・ステーションから、または時間の経過とともに取り除かれるタグを監視するための連続的インベントリの一部として、再びインベントリすることが望ましい場合に、対称性が、レディ・クワイエット・プロトコルよりもパフォーマンスを実質的に高める。
【0150】
レディ・クワイエット・プロトコルの場合、タグは、いったんクワイエット状態に置かれると、インベントリに参加する前に、トーク・コマンドによりタッチされる。インベントリの前に複数のトーク・コマンドを発行できるが、多経路干渉が高いか、または送信周波数が間違っているか、またはタグがその時点にリーダーの交信範囲を外れている場合にはタグがトーク・コマンドを受信する保証はない。トーク・コマンドを確認する必要性をなくすことにより、単一の「ラッキーな」時間にまたは位置でタグをカウントすることができ、プロトコルの有効信頼範囲を延ばすことができる。
【0151】
永続的クワイエット状態にタイムアウトを使用することは、代替アプローチであるが、厳格に制御される永続時間を有するタグの製造は難しい。また、例えば、10秒のタイムアウトだと時間が短すぎて、多数のタグのインベントリを行えないが、30秒のタイムアウトだと時間が十分あるため、複数のリーダーが軌跡上で商品を追跡すること、またはタグを破壊したり、商品を遮蔽された袋に入れて持ち去る行為をしている万引き犯を捕らえることを妨げる可能性がある。
【0152】
タグの一推奨実装では、停電の場合に少なくとも20秒間その状態を維持する永続的ノードを用意する。永続的ノードは0状態に減衰し、[0]は状態Aを符号化し、[1]は状態Bを符号化すると仮定する。状態Bは、有効期限が切れて状態Aになる。状態Bが永続する時間に対する上限はないが、ランダムに電源が入り状態Aまたは状態Bになる状態に入ることは許されない。提案される実装では、タグがコマンドによりアドレッシングされるかどうかに関係なく、すべてのコマンドにおいて、ある時期に、永続的ノードをリフレッシュする。
【0153】
リーダーは、QueryAまたはQueryRepコマンド、ACKを使用して、上述のように、インベントリを実行することにより開始する。もう応えるタグがなくなった後、リーダーは、高水準の(例えば、上述のようにビット・マスキングを使用して多数のタグをアドレッシングする)問い合わせコマンドを実行して、カウントされないタグを探索することを続ける。状態Aにあるタグは、短時間しか電源投入されない場合でもカウントされ、コマンドがそのクロック、QueryA、ACK、1つの後続コマンドの同期をとるコマンドを確認するには十分長いことに注意されたい。この時点で、インベントリされたすべてのタグは状態Bに入る。所定の時間が経過した後、新しいインベントリは、同じように、ただし、QueryBを使用して、実行される。別々のトークまたはウェイク・コマンドを実行する必要はなく、その時点に電源投入されるすべてのタグは、すでに状態Bに置かれているであろう。このインベントリの後に、インベントリされるすべてのタグは、状態Aにあり、リーダーは、高水準のQueryAコマンドの実行をしばらく続けることができる。次に、Aインベントリは、再び開始することができ、しかも、トーク・コマンドを発行する必要はなく、したがって、トーク・コマンドが失敗する可能性はない。
【0154】
フィールド内に連続的に置かれるタグは、すべてのインベントリ、AおよびBの両方フレーバーでカウントされる。フィールドに入るタグは、最悪の場合、フィールドに入った後、それぞれのインベントリの始めのトーク・コマンドがクワイエット・トーク型プロトコルで受信されることが保証されているとしてもレディ・クワイエット・プロトコルが使用された場合と同じ最悪のときに、第2のインベントリでカウントされる。
【0155】
RFIDシステム内の永続的クワイエット機能は、タグがリーダーのフィールドを通って移動しているときにリーダーの交信範囲の縁部近くでタグをカウントする際の一貫性を実現する。交信範囲の縁部にあるタグについては、周波数が変更され、/または多経路干渉がリーダーフィールド内でのタグまたは他のオブジェクトの移動で変化するので、タグで使用できる電力が変動し、短時間にタグに電力を十分供給できるだけである。永続的スリープにより、タグの大半を素早くカウントすることができ、その後、Q=0について問い合わせを繰り返し、間欠的にしか電力を供給されないタグを探し出すことができる。対称的コマンドは、この包括的カウント機能を、インベントリされ、クワイエット状態にされた、したがってウェイクアップ・コマンドを受信しなかった場合に失敗するおそれのあるタグに広げる。これは、連続的インベントリ・プロセスの一部としても使用できる。
【0156】
このアプローチでは、レディ・クワエイット・プロトコルのクワイエット状態にあるためタグがカウントしにくい状態に入るのを防ぐ。トーク・コマンドを使用できるため、クワイエット状態から抜け出すのは難しくないように思えるかもしれない。しかし、タグがリーダーに知られていない場合、高水準のトーク・コマンドのみが潜在的にそのタグを起こし、高水準トーク・コマンドは、他のすべてのタグも同様に起こすであろう。タグがクワイエット状態にある場合、とにかく最近インベントリされているが、異なるリーダー・ステーションがそのインベントリを実行した場合、または連続的インベントリが望ましい場合には、タグを再びインベントリする必要があるように思われる。タグがレディ・クワイエット・プロトコルのクワイエット状態にある場合は、2つの広く隔たった時間に、場合によっては2つの周波数で2回タッチされる。タグのフィールド全体が目覚めた場合に1回アクティブにする必要があり、その後再びその特定のタグのインベントリが行われるときに、アクティブにする必要がある。2つのイベントが発生する必要があると、このことは、RF範囲の縁にあり、間欠的にしか電力を供給されないタグをカウントする可能性に大きな影響を及ぼすが、それは、対称的プロトコルを使用することにより回避される。さらに、さらにトーク・コマンドを発行する必要がないため、時間の節約にもなる。
【0157】
本発明の一実施形態では、RFトランスポート層は、UHFオペレーションを対象として設計されているが、他の代替オペレーションも使用できる。タグ−リーダーとリーダー−タグ間のリンクは、半二重として定義される。リーダーは、コマンド・シーケンスを送信することによりタグとの通信を開始する。リーダーは、その後、タグから応答が来るか監視しながら、変調されていない搬送波を送信することによりタグに対する応答期間を定める。タグは、応答しながらリーダー変調を検出することができるとは期待されていない。RFトランスポート層は、北米では902〜928MHzと2400.0〜2483.5MHzの帯域、ヨーロッパでは869.4〜869.65MHzと865.6〜867.6MHzの帯域、2450MHz近辺のUHF帯域を使用することができる。これらのUHF帯域は、リーダー−タグ間システム・データ転送速度が高速(北米では最大160Kbpsまで)である、タグ−リーダー間システム・データ転送速度は320kbps以上と高速である、典型的な条件の下で2メートル以上の範囲において高いヒット率で一貫した動作をする、タグとリーダーのアンテナは比較的小さい、北米帯域は、有意な周波数ホッピングを行えるだけ十分に広いなどの特徴を持つ。
【0158】
リーダーは、OFF(RFエネルギーを放射しない)、CW(振幅変調なしである電力レベルのRFエネルギーを放射する)、アクティブ(振幅変調でRFエネルギーを放射する)の3つの使用可能な状態のうちの1つに入ることができる。
【0159】
図10は、リーダー−タグ間変調の一実施形態を示す。アクティブ状態では、リーダー−タグ間リンクは、30%の最小変調深さの分相マンチェスター符号化を使用する。データ1は、高RF期間とその後に続く低RF期間により符号化することができる。データ0は、低RF期間とその後に続く高いRF期間により符号化することができる。変調形状、深さ、変調率は、後述の制限の範囲内で可変である。タグは、一定範囲の変調率にわたってタイミングを調整し、リーダー送信に自動的にロックすることができる。立ち下がりエッジは、マンチェスター符号化により定義されているように、公称時間から低い量のジッタに保持される。立ち下がり時間は、公称値から変化し、RFデューティ・サイクルに対応するようにできる。
【0160】
一般的な変調パラメータが図11に例示されている。パルス変調パラメータの特定の値が地域規制環境に応じて変わりうることは理解されるであろう。例えば、パルス変調パラメータは、以下のものを含むことができる。
T0:基本クロック・サイクル周期。リーダーからタグに送信される単一ビットに対する時間。
Tr:変調包絡線の立ち上がり時間、変調振幅変動の10%から90%。
Tf:変調包絡線の立ち下がり時間、変調振幅変動の90%から10%。
Tfwhm:変調振幅変動の50%で測定された変調包絡線のパルス幅。
Mod:変調された搬送波の振幅変動。
Ripple:意図された変調の縁での変調オーバーシュートおよびアンダーシュートのピーク・ツー・ピーク変動。
Dmod:意図された値からの変調深さのピーク・ツー・ピーク変動。
T0Tol:マスター・クロック間隔許容範囲、リーダー信号送受信の基本精度。
TCW:コマンドの直前の最短CW時間。
TCoast:タグ・クロックが次のコマンドを復号化する十分な精度を持つことを保証するEOFと次のコマンドとの間の最大持続時間。
【0161】
一実装では、リーダー変調シーケンスに関して、リーダー・クロックは、トランザクションの長さにわたって1%以内の安定性を持つことができる。他のすべての「基本クロック・サイクル」タイミングは、変調クロック周波数T0に比例する。一実装では、変調パラメータは、以下の値をとり、断りのない限り、すべての時間と周波数は、T0に対応する。
T0:マスター・クロック間隔(6μsから24μs)。
T0Tol:マスター・クロック間隔許容範囲(最大0.1%)。
DR:データ転送速度(1/T0)。
Trisejitter:立ち下がりエッジの公称値からの最大ジッタ(0.01*T0)。
DutyCycle:RF高周期デューティ・サイクル(=50%または>50%)。
MOD:変調深さ(最小30%)。
Tf:最大立ち下がり時間(1/4T0)。
Tr:最大立ち上がり時間(1/4T0)。
Ripple:リップル(10% pp)。
TCW:コマンドの前の最小CW時間は、レスポンスCW間隔と重なる場合がある(4×T0)。
TCoast:EOFから次のコマンドまでの持続時間(最大5ms、T0に対応しない)。
【0162】
図12は、リーダー−タグ間変調符号化の一例を示す。一実装では、すべてのトランザクションは、それぞれのコマンドに先行する最小CW期間で始まり、これによりタグはコマンドの始まりを特定できる。すべてのコマンドは、タグ・クロックを同期させる4つのスピンアップ・ビットで始まる。コマンドのデータ操作時に、タグは、低時間ジッタに保持される、リーダー−タグ間データ変調の立ち下がりエッジを参照することによりクロック位相を維持する。ビット期間T0は、リーダー−タグ間データ転送速度を決定する。最後のパルスの後、タグは、最小CW時間の後に次のコマンドをいつでも受信できる状態にあり、Tcoast間隔内に受信されたコマンドを復号化することができる。
【0163】
タグが次のコマンドの復号化に成功するために、リーダーは、Tcoast間隔内に次のトランザクションを開始する。この制約は、タグが次の電源投入時に再同期するので、タグがDC電力を失う十分な時間の間搬送波がオフにされていると適用されない。タグ・クロック周波数がスピンアップで20%を超えて調整される場合、タグはそのコマンドに応えない。
【0164】
図13は、データ「0」、「1」、マンチェスター高違反に対するデータ変調タイミングを示している。データ=「0」のときのリーダー−タグ間クロッキングに対するデータ変調タイミングTdata0は、RFのLOWレベル期間とその後のHIGHレベル期間により符号化される。データ=「1」のときのリーダー−タグ間クロッキングに対するデータ変調タイミングTdata1は、RFのHIGHレベル期間とその後のRFのLOWレベル期間により符号化される。マンチェスター高違反のリーダー−タグ間クロッキングに対するデータ変調タイミングTdata1は、2つの連続するRFのHIGHレベル期間により符号化される。
【0165】
リーダーは、適宜、コマンド間の時間をレスポンスに必要な時間以下に短縮することができる。リーダーは、応答期間中にタグ応答があるか監視し、期限切れ(TTagscrollDel+2*T0)前にタグにより応答が開始されていない場合に、その応答間隔に対する持続時間を短縮することができる。
【0166】
タグは、2つの状態の間の後方散乱を変調する手段を使ってリーダーに応答する。これら2つの状態は、位相または振幅またはその両方で後方散乱を変調することができる。
【0167】
これらの状態のうちの一方は、タグのエネルギー回収能力を損なうと仮定されるが、ただし必ずしもそうではなく、この説明では、「クローバー・オン」状態と呼ばれる。タグの後方散乱状態は、後方散乱変調が開始するまで「クローバー・オフ」であると仮定される。多数のタグが後方散乱変調の終わりに「クローバー・オフ」状態に戻る必要があるので、すべてのタグは、その後方散乱状態を、後方散乱応答を開始する前の状態に戻す必要がある。この遷移は、後方散乱変調モードで最小の特徴サイズの時間と等しい時間に(クローバー・オン状態に)伝達された最後の後方散乱遷移の終わりの後に発生する。
【0168】
タグ−リーダー間変調は、リーダー−タグ間コマンドの[MODULATION]フィールドにより選択され、[MODULATION]=0の場合にはFM0、[MODULATION]=1の場合にはF2Fのいずれかであり、または[MODULATION]=3の場合には今のところ未定義の高周波数モードである。すべてのタグは、3つの符号化形式すべてを実装する必要がある場合がある。リーダーは、1つまたは複数の復号化器を実装することができる。F2F符号化のプリミティブは、FM0と同じタイミングを持ち、同じであるが、2つのFM0プリミティブは、F2Fのそれぞれのビットを符号化するために使用される。F2F符号化器は、ビット反転器が先にあるFM0符号化器を使用し、相次ぐ各ビットについて2回符号化することにより実装することができる。
【0169】
FM0では、タグは、後方散乱変調でリーダー・コマンドに応答する。それぞれのビット期間の間に後方散乱状態の変化があり、0ビットはビット時間の中心のところで後方散乱状態の追加の変化を持つ。タグ−リーダー間の公称データ転送速度は、リーダー−タグ間転送速度の4倍であるが、タグの発振器ドリフトのせいで80ビット・レスポンス・ウィンドウにわたって最大10%まで変化しうる。後方散乱ノイズ環境を制御できる場合(つまり、蛍光灯などの周囲を遮蔽する)にはFM0が使用されることが予想される。
【0170】
F2Fでは、タグは、4間隔ビット・セル符号化スキームに従う後方散乱変調でリーダー・コマンドに応答する。ビット・セルにおいて0に対し2回の遷移が観察され、1に対し4回の遷移が観察される。タグ−リーダー間の公称データ転送速度は、リーダー−タグ間転送速度の2倍であるが、タグの発振器ドリフトのせいで80ビット・レスポンス・ウィンドウにわたって最大10%まで変化しうる。
【0171】
タグ−リーダー間変調パラメータのいくつかの例を以下に示す。
T0:リーダー−タグ間マスター・クロック間隔。
TTagbitcell:タグ−リーダー間ビット・セル間隔(FM0にはT0/4、F2FにはT0/2)。
Tag Data Rate:タグ−リーダー間公称データ転送速度(FM0には4/T0、F2Fには2/T0)。
TTagscrollDel:コマンドの終わりからタグScrollID応答の開始までの応答遅延(2×T0)。
TTagDel:コマンドの終わりからタグID応答の開始までの応答遅延(2×T0)。
TTagreplyNom:8+16+96ビットScrollID応答に対するタグ−リーダー間応答持続時間(TTagbitcell×120ビット)。
ΔTTagbitcell:120ビットScrollID応答の最後のビットのタグ−リーダー間ビット・セル間隔変動(最大10%)。
TCoast:EOFから次のコマンドまでの持続時間(最大5ms)。
【0172】
データの終わりからScrollIDまたはVerifyIDコマンドの開始までの遅延、TTagscrollDelは図14に例示されている。ScrollID応答の持続時間TTagreplyNomも図14に例示されている。ビット・セル持続時間の変動ΔTTagbitcellは、図15に例示されている。
【0173】
タグ−リーダー間ビット・セル符号化は、図16に示されている。FM0符号化では、タグ後方散乱の状態は、それぞれのビットのエッジで変化し、「0」データ・ビットに対応するビット間隔の真ん中で状態の追加変更が生じる。クローバーは、オフ状態で開始し、最初のデータ・ビットの始めにオン状態への最初の遷移を行う。最終ビット間隔遷移は、潜在的に1つの付加的ビット時間の後のほうのエッジで、HIGHレベル状態で(クローバー状態ではなく)変調を離れる必要がある場合に、終わりに挿入される。
【0174】
F2F符号化では、タグ後方散乱は、ビット・セル毎に2つのシンボルのうちの1つの選択により変調される。この符号化スキームの下では、ビットの中央で常に遷移があり、マンチェスター符号化と異なり、0と1の意味は、コードが反転されたときも維持される。図17は、この反転を例示している。
【0175】
この説明から、本発明の複数の態様は、少なくとも一部は、ソフトウェアで実現できることは明白であろう。つまり、これらの手法は、メモリ111メモリ319などのメモリに格納されている命令シーケンスを実行するマイクロプロセッサ113またはコントローラ207などの、プロセッサに応えて、コンピュータ・システムまたはその他のデータ処理システム内で実行することができる。さまざまな実施形態において、本発明を実装するために、ワードワイヤード回路をソフトウェア命令と組み合わせて使用することができる。したがって、これらの手法は、ハードウェア回路とソフトウェアの特定の組み合わせに限定されず、またデータ処理システムにより実行される命令の特定のソースにも限定されない。さらに、この説明全体を通して、説明を簡単にするため、さまざまな機能やオペレーションはソフトウェア・コードにより実行されるか、またはソフトウェア・コードにより引き起こされるものとして説明されている。しかし、当業者であれば、そのような表現が意味しているのは、それらの機能がマイクロプロセッサ113またはコントローラ207などのプロセッサによるコードの実行から結果として生じるということであると理解するであろう。
【0176】
機械可読媒体を使用することにより、データ処理システムにより実行されたときに本発明のさまざまな方法をシステムに実行させるソフトウェアとデータを格納することができる。この実行可能ソフトウェアとデータは、例えば、メモリ111またはメモリ319を含む、さまざまな場所に格納することができる。このソフトウェアおよび/またはデータの一部分を、これらの記憶デバイスのうちのいずれか1つに格納することができる。
【0177】
したがって、機械可読媒体は、機械(例えば、コンピュータ、ネットワーク・デバイス、パーソナル・デジタル・アシスタント、製造装置、1つまたは複数のプロセッサの集まりを含むデバイスなど)によりアクセス可能な形態で情報を提供(つまり、格納および/または伝送)するメカニズムを備える。例えば、機械可読媒体は、記録可能/記録不可能媒体(例えば、読み取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ・デバイスなど)だけでなく、電気、光、音響、またはその他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号など)などをも含む。
【0178】
この説明で使用される略語をいくつか以下にまとめた。
AM:振幅変調。
CRC:巡回冗長検査。
CW:連続波。
kbps:キロビット/秒。
LSB:最下位ビット。
ms:ミリ秒(10-3秒)。
MHz:メガヘルツ(106ヘルツ)。
MSB:最上位ビット。
RAM:ランダム・アクセス・メモリ。
RF:無線周波数。
RFID:無線認証。
RTF:リーダー・トーク・ファースト。
μs:マイクロ秒(10-6秒)。
VLC:超低価格。
【0179】
本明細書では、発明は特定の例を参照しつつ説明がなされている。本発明は、付属の請求項で定められているように、本発明の広い精神と範囲を逸脱することなくさまざまな変更を加えられることは明白であろう。したがって、明細書および図面は、限定ではなく、説明することを目的としているものとみなすべきである。
【図面の簡単な説明】
【0180】
【図1】リーダーを含む識別システムと複数のRFタグの一例を示す図である。
【図2】本発明のいくつかの実施形態とともに使用することができるRFタグの一実施形態の一例を示す図である。
【図3】本発明の一実施形態によるRFタグの一例を示す図である。
【図4】本発明の一実施形態による通信方法の流れ図である。
【図5】本発明の一実施形態によりタグがリーダーと通信する方法の流れ図である。
【図6】本発明の一実施形態により問い合わせに応答するかどうかをタグがランダムに決定するための意思決定回路の一例を示す図である。
【図7】本発明の一実施形態によりタグがリーダーと通信するための乱数を生成する方法の流れ図である。
【図8】本発明の一実施形態によりリーダーが多数のタグからタグ・データを読み取る方法の流れ図である。
【図9】本発明の一実施形態によるタグ状態図である。
【図10】本発明のいくつかの実施形態によりリーダーからタグへブロードキャストするための信号変調を示す図である。
【図11】本発明のいくつかの実施形態によりリーダーからタグへブロードキャストするための信号変調を示す図である。
【図12】本発明のいくつかの実施形態によりリーダーからタグへブロードキャストするための信号変調を示す図である。
【図13】本発明のいくつかの実施形態によりリーダーからタグへブロードキャストするための信号変調を示す図である。
【図14】本発明のいくつかの実施形態によりタグがリーダーに応答するするための信号変調を示す図である。
【図15】本発明のいくつかの実施形態によりタグがリーダーに応答するするための信号変調を示す図である。
【図16】本発明のいくつかの実施形態によりタグがリーダーに応答するするための信号変調を示す図である。
【図17】本発明のいくつかの実施形態によりタグがリーダーに応答するするための信号変調を示す図である。
【技術分野】
【0001】
本出願は、2003年11月7日に出願した米国仮特許出願第60/518,229号に関係し、またその利益を主張し、参照により組み込む。本出願は、さらに、先行する3つの米国特許出願、(1)2002年5月30日に出願した米国特許出願第10/160,458号、(2)2002年10月8日に出願した米国特許出願第10/267,924号、(3)2004年8月9日に出願した米国特許出願第10/915,725号の利益を主張し、参照により組み込む。
【0002】
本発明は、タグなどの識別子を有するデバイスの分野に関するものであり、さらに、そのようなタグを識別するための方法と装置に関する。
【背景技術】
【0003】
交信する送信器(例えば、リーダー)からコードを送信し、それに応じて情報をタグが送信するようにすることにより複数のワイヤレス・タグと交信できる。これは、一般的には、タグが交信メッセージの受信を監視し、一意的なシリアル番号および/またはその他の情報で応じるようにすることにより実現される。タグは、通常、データをリーダーにワイヤレスで送信するために限られた電力しか利用できない。読み取りのためそれぞれのタグをリーダーの近くに持って行く必要がないように、ワイヤレス・タグの交信可能範囲を広げることが望ましい。しかし、読み取りシステムの交信範囲が広げられると、多数のタグが交信システムの範囲の中に入り、その応答が互いに干渉する。
【発明の開示】
【発明が解決しようとする課題】
【0004】
無線(RF)タグの現在の実装では、リーダーの交信範囲内にある複数のタグすべてが交信メッセージに応答しようとしたときに発生するインターフェース・プロトコルや衝突防止の問題に対処するためにかなりの論理回路を必要とする。例えば、RFタグで使用される現在の集積回路は、インターフェース・プロトコルを処理し、衝突防止プロトコルを扱うために、ほぼ3,000個の論理ゲートを必要とする。集積回路ではこのようなかなり大きな規模を必要とするため、RFタグのコストが高く付き、そのため、そのようなタグが一般に利用される可能性はあまりない。複数のRFタグの読み取り時に衝突を回避する従来技術による試みは、米国特許第5,266,925号、第5,883,582号、第6,072,801号で説明されている。しかし、これらの従来技術によるアプローチによる、複数のRFタグを読み取る際に衝突を回避する解決方法は、不効率である。
【課題を解決するための手段】
【0005】
ここでは、タグを識別する方法と装置について説明する。本発明の実施態様のいくつかは、この節で要約されている。
【0006】
本発明のいくつかの実施態様は、リーダーとタグを備えるシステムを含み、リーダーは、応答の確率のレベルを指定するパラメータでタグに問い合わせを行い、それに応じて、タグは、応答するかどうかを個別に、ランダムに決定する。一例では、タグは、2つの状態、AとBとを切り換えることができる。問い合わせコマンドは、さらに、指定された状態にあるタグのみが応答できるように状態(AまたはB)を指定する。タグ識別データをタグからリーダーに正しく送信できた後、タグは、指定された状態から他の状態に切り換わる。一実施態様では、これら2つの状態に対するオペレーションは対称的である。他の実施態様では、タグは、問い合わせで使用されるパラメータを記憶しておき、短形式の問い合わせを使用して同じ問い合わせパラメータで問い合わせを繰り返すことができる。
【0007】
本発明の一態様では、複数のタグに問い合わせを行う方法は、第1の問い合わせコマンドを確率パラメータの第1の値とともにブロードキャストする。その確率パラメータの第1の値は複数のタグのそれぞれが応答するかしないかをランダムに決定する際に基づく応答の第1の確率を示し、そして、第1の問い合わせコマンドに応えて応答を検出することを含む。一実施態様では、確率パラメータの第1の値に従って問い合わせを行うために1つまたは複数の問い合わせコマンドへの応答がないと判断したことに応えて、リーダーは、さらに、確率パラメータの第2の値が応答の第1の確率よりも大きい応答の第2の確率を示す確率パラメータの第2の値とともに第2の問い合わせコマンドをブロードキャストする。他の実施態様では、複数の応答に衝突があるため、確率パラメータの第1の値に従って問い合わせを行うための1つまたは複数の問い合わせコマンドへの判読可能な応答がないと判断したことに応えて、リーダーは、さらに、確率パラメータの第2の値が応答の第1の確率よりも小さい応答の第2の確率を示す確率パラメータの第2の値とともに第2の問い合わせコマンドをブロードキャストする。一実施態様では、第1の値は整数Qであり、複数のタグのうちの1つに対する応答の第1の確率は実質的にpQに等しく、pは1よりも小さい(例えば、pは、0.5に実質的に等しいものとすることができる)。一実施態様では、複数のタグのうちの第1のタグに対する応答の第1の確率は、複数のタグのうちの第2のタグに対する応答の第1の確率と異なる。一実施態様では、第1の問い合わせコマンドは、さらに、第2の状態にある複数のタグが第1の問い合わせコマンドに応答せず、第1の状態にある複数のタグが確率パラメータの第1の値に従って第1の問い合わせコマンドにランダムに応答するように第1の状態を示す状態フラグを含む。一実施態様では、リーダーは、1)第1の状態にあるタグが第2の問い合わせコマンドに応答せず、第2の状態にあるタグが確率パラメータの第2の値に従って第2の問い合わせコマンドにランダム応答するように、確率パラメータの第2の値をブロードキャストし、かつ第2の状態を示す状態フラグとともに第2の問い合わせコマンドをブロードキャストし、2)第2の問い合わせコマンドに応えて応答を検出する。一実施態様では、第1と第2の問い合わせコマンドは、第1と第2の状態に対して対称的である。一実施態様では、第1のハンドシェーキング・データを含む、第1の問い合わせコマンドへの判読可能な応答に応えて、リーダーは、さらに、第1のハンドシェーキング・データを含む第2のコマンドを送信し、タグ識別データを第2のコマンドへの応答として受信する。識別タグ・データが正常に受信されない場合、リーダーは、さらに、タグ・データを受信する際にエラーを示すコマンドを送信する。一実施態様では、リーダーは、さらに、確率パラメータの第1の値に従って問い合わせを行う確率パラメータの値を指定することなく第2の問い合わせコマンドをブロードキャストする。第1の問い合わせコマンドは、確率パラメータを含む複数のパラメータの第2の値を含み、第2の問い合わせコマンドは、複数のパラメータの第2の値に従って問い合わせを行うために複数のパラメータの値を指定しない。一例では、第2の問い合わせコマンドは、第1の問い合わせコマンドよりも実質的に短い。
【0008】
本発明の他の態様では、タグがリーダーからの問い合わせに応える方法が、リーダーから第1の問い合わせコマンドを確率パラメータの第1の値とともに受信し、応答の確率が確率パラメータの第1の値に従うように第1の問い合わせコマンドに応答するかどうかをランダムに決定することを含む。一例では、応答に対するランダムな決定に応えて、タグは、さらに、第1のハンドシェーキング・データを含む応答を送信するが、これは、第1の問い合わせコマンドに応えて生成される乱数とすることができる。一実施態様では、第1の値は整数Qであり、複数のタグのうちの1つに対する応答の第1の確率は実質的にpQに等しく、pは1よりも小さい(例えば、pは、0.5に実質的に等しいものとすることができる)。一実施態様では、第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、タグは、そのタグが第2の状態にある場合に第1の問い合わせコマンドに応答せず、そのタグが第1の状態にある場合に確率パラメータの第1の値に従って第1の問い合わせコマンドにランダムに応答する。一実施態様では、タグは、1)確率パラメータの第2の値を受信し、かつ、第2の状態を示す状態フラグとともに第2の問い合わせコマンドを受信し、2)タグが第2の状態にある場合に、応答の確率が確率パラメータの第2の値に従うように第2の問い合わせコマンドに応答するかどうかをランダムに決定する。タグは、そのタグが第1の状態にある場合に第2の問い合わせコマンドに応答しない。一実施態様では、タグは、第1と第2の状態に対して対称性を保ちつつ第1と第2の問い合わせコマンドを処理する。一実施態様では、タグは、さらに、応答のランダムな決定に応えて第1のハンドシェーキング・データを含む第1の応答を送信し、リーダーから第1のハードシェーク・データを含む第2のコマンドを受信したことに応えて、タグはタグ識別データを含む第2の応答を送信する。一実施態様では、第2の応答を送信した後問い合わせコマンドを受信したことに応えて、タグは、第1の状態から第2の状態に切り換わり、リーダー側でタグ識別データを受信した際のエラーを示すコマンドを受信した後、タグは、エラーを示すコマンドの後に問い合わせコマンドが受信された場合に第1の状態のままになる。一実施態様では、タグは、さらに、確率パラメータの値を指定しない第2の問い合わせコマンドを受信し、タグは、応答の確率が確率パラメータの第1の値に従うように第2の問い合わせコマンドに応答するかどうかをランダムに決定する。一実施態様では、第1の問い合わせコマンドは、確率パラメータを含む複数のパラメータの値を含み、第2の問い合わせコマンドは複数のパラメータの値を指定せず、タグは複数のパラメータの第2の値に従って第2の問い合わせコマンドを処理する。一実施態様では、第2の問い合わせコマンドは第1の問い合わせコマンドよりも実質的に短い。
【0009】
本発明は、これらの方法を実行するデータ処理システムを含むこれらの方法を実行する方法と装置、データ処理システム上で実行した場合にこれらの方法をシステムに実行させるコンピュータ可読媒体を含む。
【0010】
本発明の他の特徴は、付属の図面と以下で述べる詳細な説明とから明らかになる。
【0011】
本発明は、付属の図面の図において限定されることなく例を使用して説明され、類似の参照番号は類似の要素を示す。
【発明を実施するための最良の形態】
【0012】
以下の説明と図面は、本発明を例示するものであり、本発明を制限するものと解釈すべきではない。本発明を完全に理解できるようにするため、多数の具体的詳細を説明する。しかし、いくつかの場合には、本発明の説明をわかりにくくすることを避けるため、よく知られているまたは従来の内容については詳述しない。本明細書で使用される「結合される」という用語は、直接的に結合されるか、または1つまたは複数の介在するコンポーネントを通して間接的に結合されることを意味する。本開示の一実施形態を参照していても、同じ実施形態を参照する必要があるわけではなく、そのような参照は少なくとも1つであることを意味する。
【0013】
図1は、リーダー101と複数のタグ131、133、135、...、139を含む識別システム100の一例を示す。このシステムは、通常、受動型または半受動能動型後方散乱トランスポンダをタグとして使用するリーダー・トーク・ファーストRF IDシステムである。電池および/またはメモリをタグに組み込むことは、読み取り範囲を広げやすくする拡張機能であるが、電池を使用することから、コストが高くなる、長時間使用が制限される、フォーム・ファクタが大きい、重量が増える、耐用年数を過ぎた場合の処分が必要であるといった代償が生じる。そこで、タグ131〜139は、メモリおよび/または電池を備えることも、それらの要素をまったく備えないこともできる。リーダーが電池を備えるタグと電池を備えないタグと交信するシステムで異なる種類のタグが混在できることは理解されるであろう。本発明とともに使用できるタグには、以下のような少なくとも4つのクラスがある。つまり(1)タグ上には電源は用意されず、タグのアンテナから電力をとるが、タグの識別コードを持つ読み取り専用メモリを備えるタグ、(2)内部電源を持たず、リーダーから電力を供給されたときに、タグ内の不揮発性メモリにデータを書き込むことができるタグ。この種類のタグは、さらに、識別コードを格納するためのメモリも備える。(3)タグ内の回路に電力を供給する小型電池を備えるタグ。このようなタグは、さらに、不揮発性メモリだけでなく、タグの識別コードを格納するためのメモリも備える。そして(4)他のタグまたは他のデバイスと通信できるタグである。
【0014】
図1は、リーダーの一実施形態を示す。リーダー101は、通常、受信器119と送信器123を備える。それぞれ、I/O(入出力)コントローラ117に結合されている。受信器119は、それ専用のアンテナ121を備えることができ、送信器123は、それ専用のアンテナ125を備えることができる。送信器123と受信器119は、アンテナに出る信号を制御し、受信器と送信器を互いに分離する受信/送信スイッチがある場合に同じアンテナを共有できることは、当業者には理解されるであろう。受信器119と送信器123は、現在のリーダーに見られる従来の受信器と送信器ユニットに類似のものとすることができる。受信器と送信器は、通常、北米では、約900メガヘルツの周波数範囲で動作する。それぞれ、受信器からのデータの受信と送信器123からのコマンドなどのデータの送信を制御するI/Oコントローラ117に結合される。I/Oコントローラは、バス115に結合され、さらにバスは、マイクロプロセッサ113やメモリ111に結合される。要素117、115、113、111により表されている処理システムに対しリーダー101で使用できる実装はさまざまなものが考えられる。一実装では、マイクロプロセッサ113は、8051マイクロコントローラまたは他のよく知られているマイクロコントローラまたはマイクロプロセッサ(例えば、PowerPCマイクロプロセッサ)などのプログラム可能マイクロコントローラであり、メモリ111は、ダイナミック・ランダム・アクセス・メモリや、メモリのオペレーションを制御するメモリ・コントローラを含む。Mメモリ111は、さらに、データとソフトウェア・プログラムを格納するための不揮発性読み取り専用メモリも含むことができる。メモリ111は、通常、マイクロプロセッサ113のオペレーションを制御するプログラムを格納し、またタグの交信などでタグの処理中に使用されるデータも含む。さらに以下で説明される一実施形態では、メモリ111は、通常、I/Oコントローラを通じて探索コマンドを送信器に送信し、受信器119を通じて、またI/Oコントローラ117を通じてタグからレスポンスを受信することをマイクロプロセッサ113に行わせるコンピュータ・プログラムを格納する。リーダー101は、さらに、Ethernet(登録商標)インターフェースなどのネットワーク・インターフェースを備えることもでき、これにより、リーダーは、ネットワークを通じて他の処理システムと通信することができる。ネットワーク・インターフェースは、通常、マイクロプロセッサ113またはメモリ111のいずれかからの交信で識別されたタグのリストなどのデータを受信できるように、バス115に結合される。
【0015】
図2は、本発明とともに使用することができるタグの一実装の一例を示す。タグ200は、受信/送信スイッチ203に結合されたアンテナ201を備える。このスイッチは、受信器及び復調器205、さらに送信器及び変調器209に結合される。相関器及びコントローラ・ユニット207は、受信器及び復調器205、さらに送信器209に結合される。タグの図2に示されている特定の例は、コマンド間のデータを維持するためのメモリがタグ内に保持され、タグ内でビット毎の相関が生じるさまざまな実施形態で使用することができる。受信器及び復調器205は、アンテナ201とスイッチ203を通じて信号を受信し、それらの信号を復調して、相関器及びコントローラ・ユニット207に供給する。受信器205により受信されたコマンドは、タグのオペレーションを制御するためにユニット207のコントローラに渡される。受信器205により受信されたデータも、制御ユニット207に渡され、後述の実施形態では、このデータは、問い合わせコマンドに対するパラメータや、ハンドシェーク・コマンドからのハンドシェーク・データを含むことができる。送信器209は、制御ユニット207の制御の下で、スイッチ203とアンテナ201を通じてレスポンスまたはその他のデータをリーダーに送信する。送信器は、アンテナ201などのアンテナからの反射を変調する単なるスイッチまたは他のデバイスとすることができることは当業者には理解されるであろう。
【0016】
本発明の一実施形態では、サプライ・チェーンのどこででも使用できるようにタグの十分な低コスト化を進めるために、低コスト、メモリの小型化、タイミング精度要件の緩和、必要なタグ状態記憶量を最小限に抑えるアトミック・トランザクションなどを可能にする集積回路(IC)の面積削減などの特性を持つタグが設計されている。このようなタグは、低コストで生産することができる。しかし、他のタグ設計も使用することができる。さらに、本発明のいくつかの実施形態による通信の衝突回避を行う方法も、他の類似の状況において使用することができることは理解できるであろう。
【0017】
図3は、本発明の一実施形態によるRFタグの一例を示す。一実施形態では、VLC(Very Low Cost、超低価格)タグ300は、接続され1つにまとめられたアンテナ301と集積回路303を備える。タグIC 303は、コマンド・プロトコルを実装し、ePC(Electronic Product Code、電子製品コード)を格納する。アンテナ301は、リーダー交信信号を受信し、IC 303により生成された変調信号に応えて、その交信信号を反射してリーダーに返す。タグIC 303は、RFインターフェース及び電源311、データ検出器及びタイミング回路313、コマンド及び制御315、データ変調器317、メモリ319を組み合わせることによりVLCタグを実装する。一実施形態では、コマンド及び制御315は、本発明のいくつかの実施形態により通信プロトコルを実装する静的論理を備える。
【0018】
RFインターフェース及び電源311は、RFエネルギーをタグIC 303が動作するために必要なDC電力に変換し、変調情報をデータ検出器及びタイミング回路313に供給する。RFインターフェースは、さらに、リーダーへの送信のためタグ変調信号をアンテナに結合する手段も備える。データ検出器及びタイミング回路313は、リーダー信号を復調し、コマンド及び制御315により使用されるタイミングとデータ信号を生成する。コマンド及び制御315は、タグIC 303のすべての機能を調整する。コマンド及び制御315は、リーダーからのデータを解釈し、必要な内部オペレーションを実行し、タグがリーダーに応えるかどうかを決定する。コマンド及び制御315は、本発明のいくつかの実施形態により状態図と通信プロトコルを実装する。メモリ319は、VLCタグによるタグ付きの商品のePCコードを格納する。データ変調器317は、RFインターフェース311に印加され、その後リーダー(例えば、リーダー101)に送信される信号にバイナリ・タグ・データを変換する。
【0019】
タグの設計と実装は、層に特徴を有する。例えば、物理層と環境層は、タグの機械面、環境面、信頼性の面、製造面を特徴付け、無線周波(RF)トランスポート層は、リーダーとタグとの間のRF結合を特徴付け、通信層は、リーダーとタグとの間の通信/データ・プロトコルを特徴付ける。異なる層のタグのさまざま異なる実装は、本発明のいくつかの実施形態とともに使用することができる。タグの実装は、この説明に示されている例に限定されないことは理解できるであろう。異なるタグまたは通信デバイスは、本発明のいくつかの実施形態の方法を使用し、ターゲット・アプリケーションの要求条件に応じて通信することができる。
【0020】
本発明の一実施形態では、タグは、フルイディック組み立てプロセスを通じて製造することができる。例えば、集積回路は、半導体ウェハ内の複数の他の集積回路とともに製造することができる。集積回路は、可能ならば、アンテナ301を除く、特定のRFタグの必要なすべての論理回路を含む。したがって、タグ300内に示されたすべての論理回路は、単一の集積回路に含まれ、単一半導体ウェハ上の類似の集積回路とともに製造される。それぞれの回路は、一意的な識別コードでプログラムされ、その後、ウェハが処理され、フルイドにつり下げられている複数のブロックを作成するためにウェハからそれぞれの集積回路を取り除く。その後、フルイドは、フレキシブル基板などの基板上に分散され、独立したRFタグを作成する。基板内のレセプタ領域は、後でRFタグを形成するために基板上のアンテナと接続することができる、少なくとも1つの受信回路を受ける。フルイディック組み立ての例は、米国特許第5,545,291号で説明されている。
【0021】
図4は、本発明の一実施形態による通信方法の流れ図である。リーダーは、状態AにあるタグにQパラメータの指定された値を含む問い合わせコマンドをブロードキャストする(401)。問い合わせコマンドに応えて、状態Aのタグはそれぞれ、応答の確率がQパラメータの値に従うように問い合わせコマンドに応答するかどうかを個別に、またランダムに決定する(403)。状態Bにあるタグは、状態Aにあるタグに対する問い合わせコマンドに応答しない。次いでリーダーは、問い合わせコマンドへの応答を検出する(405)。応答の数が少なすぎるかどうかが判定される(407)。例えば、リーダーがQパラメータの指定値を含む多数の問い合わせコマンドに対する応答を受け取らない場合、リーダーは、応答の指定されたレベル確率が低すぎ、また応答が少なすぎると判定する。応答が少なすぎる場合、リーダーは、Qパラメータの値を調整して、応答の確率を高める(411)。同様に、応答の数が多すぎるかどうかが判定される(409)。応答が多すぎる場合、異なるタグからの応答が互いに悪くする。したがって、応答が多すぎる場合、リーダーは、Qパラメータの値を調整して、応答の確率を下げる。判読できる応答が受信されない場合(417)、リーダーは、すでに送信されているパラメータが現在の問い合わせに対し使用されるようにパラメータを指定せずに問い合わせコマンドをブロードキャストする(415)。問い合わせに対する同じパラメータは再度送信されることはないので、問い合わせコマンドを発行して前の問い合わせを繰り返すほうが、すべてのパラメータとともに問い合わせコマンドを発行するのよりも高速である。新しい問い合わせコマンドに応えて、状態Aのタグはそれぞれ、次に、応答の確率がQパラメータの値に従うように問い合わせコマンドに応答するかどうかを個別に、またランダムに決定する(403)。
【0022】
Qパラメータの値が適切な値に調整されると、多数のタグから1つの判読可能な応答を取得する確率が高くなる。したがって、リーダーは、応答が少なすぎる(または多すぎる)ようになるまで問い合わせパラメータを調整せずに前の問い合わせを単純に繰り返すことができる。
【0023】
1つの判読可能な応答が受信されると(417)、リーダーは、応答を与えるタグと通信する(419)。本発明の一実施形態では、タグからの応答は、判読可能な応答を与えるタグをリーダーがアドレッシングできるようにタグを識別するデータを含む。一実施形態では、タグは、リーダーとのハンドシェーキングを目的として乱数を生成する。タグと通信中に、リーダーは、タグからタグ識別データを取得する。タグとの通信が成功した場合(421)、タグは、状態Aから状態Bに切り換わり(423)、そうでない場合、タグは状態Aに留まる(425)。タグが状態Bにある場合、タグは、状態Aにあるタグに対する問い合わせに応えない。そのため、リーダーは、すべてのタグが状態Bになるまで、状態Aのタグと一度に1つずつ通信することができる。
【0024】
本発明の一実施形態では、状態Aと状態Bに対するオペレーションは対称的である。例えば、リーダーは、状態BにあるタグにQパラメータの指定された値を含む問い合わせコマンドをブロードキャストする。状態Bにあるタグに対する問い合わせコマンドに応えて、状態Bのタグはそれぞれ、応答の確率がQパラメータの値に従うように問い合わせコマンドに応答するかどうかを個別に、またランダムに決定する。状態Aにあるタグは、状態Bにあるタグに対する問い合わせに応えない。状態Bにあるタグとの通信が成功した場合、タグは、状態Bから状態Aに切り換わり、そうでない場合、タグは状態Bに留まる。そのため、リーダーは、一度に1つずつ状態Aから状態Bにタグを並べ換えるか、または一度に1つずつ状態Bから状態Aにタグを並べ換えることができる。
【0025】
それとは別に、状態Aと状態Bに対するオペレーションは非対称的であってもよい。例えば、リーダーは、一度に1つずつ状態Aから状態Bにタグを並べ換えることができるが、一度に1つずつ状態Bから状態Aにタグを並べ換えることはできない。このような実装では、リーダーは、まず、一度に1つずつタグからタグ・データの読み取りを開始する前にタグを状態Aに置くことができる。
【0026】
図5は、本発明の一実施形態によりタグがリーダーと通信する方法の流れ図である。オペレーション501では、タグは、リーダーからコマンドを受信する。状態Aにあるタグに対する問い合わせパラメータQを含む問い合わせコマンド(例えば、QueryA)を受信した後、タグは、それが状態Aにあるかどうかを判定する(507)。タグが状態Aにない場合、タグは、状態Aにあるタグに対する問い合わせに応答しない。
【0027】
同様に、状態Bにあるタグに対する問い合わせパラメータQを含む問い合わせコマンド(例えば、QueryB)を受信した後(505)、タグは、それが状態Bにあるかどうかを判定する(507)。タグが状態Bにない場合、タグは、状態Bにあるタグに対する問い合わせに応答しない。
【0028】
その問い合わせがタグの状態とマッチした場合(例えば、状態Aにあるタグが状態Aにあるタグに対する問い合わせを受信するか、または状態Bにあるタグが状態Bにあるタグに対する問い合わせを受信した場合)、タグは、応答の確率が問い合わせパラメータに従うように(例えば、応答について0.5Qの確率を持つ)、問い合わせコマンドに応答するかどうかをランダムに決定する。タグが応答することを決定した場合(513)、タグは、ハンドシェーク・データ(例えば、乱数)で問い合わせコマンドに応答する。
【0029】
タグがパラメータのない問い合わせコマンドを受信した場合(例えば、QueryRep)(517)、タグは前の問い合わせコマンドから問い合わせパラメータを取得したかどうかが判定される(519)。タグが前の問い合わせコマンドからの問い合わせパラメータを持つ場合(例えば、前のQueryAまたはQueryBコマンド)、タグは、前の問い合わせコマンドに使用されたのと同じパラメータを使用してその問い合わせ応える(521)。例えば、前の問い合わせコマンドが状態Aにあるタグに対するものである場合、パラメータを持たない現在の問い合わせコマンドも、状態Aにあるタグに対するものである。そこで、問い合わせがそのタグ宛てかどうかをチェックするオペレーション507が実行される。同様に、前の問い合わせコマンドが状態Bにあるタグに対するものである場合、パラメータを持たない現在の問い合わせコマンドも、状態Bにあるタグに対するものであり、オペレーション509が実行される。前の問い合わせコマンドを処理する際に使用されるQパラメータは、さらに、パラメータなしの現在の問い合わせコマンドの処理にも使用される。本発明の一実施形態では、Qパラメータの好適な値に到達した場合、リーダーは、パラメータなしで多数の問い合わせコマンドを発行し、同じパラメータの問い合わせを繰り返す。パラメータなしの問い合わせコマンドは、すでに送信できる(そしてすぐに処理できる)ため、多数のタグを処理する時間は、パラメータなしのそのような問い合わせコマンドを使用して短縮することができる。
【0030】
タグがリーダーからのハンドシェーク・データ(例えば、Ack)でハンドシェーキングするコマンドを受信した場合(523)、タグは、受信されたハンドシェーク・データがタグから送信されたハンドシェーク・データとマッチするかどうかをチェックする(525)。ハンドシェーク・データがマッチしない(527)(例えば、ハンドシェーク・コマンドがタグから送信された応答に応えていないか、またはリーダーから受信されたハンドシェーク・データがタグから送信されたハンドシェーク・データと異なる)場合、タグは応答しない。マッチする場合、タグはタグ・データ(例えば、ePC)をリーダーに送信し(529)、「状態を変更するのを待つ」に入る(531)。一実施形態では、タグは、タグ・データが受信されないことを示すコマンドを送信しない限り、リーダーがタグ・データを受信すると仮定する。例えば、タグが、状態変更を妨げるコマンド(例えば、NAk)を受信した場合(533)、タグは、「状態を変更するのを待つ」を終了する(537)。タグがハンドシェーキングを行うかまたは状態変更を妨げる以外のコマンドを受信した場合(例えば、QueryA、QueryB、またはQueryRepを受信する)(539)、タグは、そのタグが状態を変更するのを待っている場合、(541)タグ状態を変更する(例えば、状態Aから状態Bに、または状態Bから状態Aに)(543)。他の実施形態では、タグは、常に、リーダーがタグ・データを受信することを仮定する。タグは、タグ・データを送信した後、状態を変更するのを待っている間に問い合わせコマンドが受信されると、その状態をAからBに変更するか、またはBからAに変更する。オペレーション541、543は、オペレーション507または509が実行される前に実行されることが理解できるであろう。したがって、状態Aにあるタグに対する問い合わせに応答し、タグ・データを送信した後、状態Aにあるタグは状態Bに切り換える、状態Aにあるタグに対する他の問い合わせには応答しない。タグが状態を変更するのを妨げるために、リーダーは、他の問い合わせコマンドの前に状態変更を防止するコマンド(例えば、NAk)をブロードキャストすることができる。
【0031】
図6は、本発明の一実施形態により問い合わせに応答するかどうかをタグがランダムに決定するための意思決定回路の一例を示す図である。ランダム・ビット生成器(601)は、一度に1ビットずつランダム情報を生成する。多数のランダム・ビットがメモリ603内に格納される。例えば、ランダム情報の新しいビットが生成されると、それは、メモリ内でシフトされ、メモリ内の第1ビットがランダム情報の新しいビットを含み、ランダム情報の最も古いビットは破棄される。タグがリーダーからQパラメータを受信した場合(例えば、QueryAコマンドまたはQueryBコマンドで)、Qパラメータの値がメモリ607内に格納される。論理回路(605)は、メモリ603内の最初のQ個のビット(例えば、一番最近のQ個のビット)がすべてゼロかどうかを判定する。メモリ603内の最初のQ個のビットがすべてゼロの場合、タグは、その問い合わせに応答することを決定する。そうでない場合、タグは応答しない。Qがゼロの場合、タグは、常に、タグが指定された状態にある場合に応答することを決定する。
【0032】
一実施形態では、ランダム・ビット生成器(601)は、ゼロを生成する(1/2)の確率を持つ。そのため、与えられたQ値に対して応答の確率は、(1/2)Qである。ランダム・ビット生成器(601)は、1コマンド当たり1ビットの速度、1コマンド当たり1ビットよりも速い速度、または1コマンド当たり1ビットよりも遅い速度で、ランダム・ビットを生成することができる。異なるタグは、異なる速度でランダム・ビットを生成できることは理解できるであろう。さらに、ランダム・ビット生成器(601)は、(1/2)の確率でゼロを生成することができないこともある。例えば、重要なタグにバイアスをかけて、ゼロを生成するのに1/2よりも大きい確率を持つようにできる。したがって、これらのタグは、最初のQ個のビットがすべてゼロであるという要求条件を満たす可能性が高い。その結果、これらのタグは、他のタグよりも早いステージで応答する確率が高い。
【0033】
上記の例から、タグは、Qパラメータにより制御される応答の確率で応答することをランダムに決定できることは理解できるであろう。そのような制御されたランダムな意思決定を行うのに異なる実装を使用することができる。例えば、メモリ内の最も古いQ個のビットがすべて1であることが要求される場合がある。Qパラメータの値を調整することは、応答の確率を調整することでありうるため、リーダーは、Q値を適応的に調整し、リーダーの交信範囲内にある多数のタグから単一の判読可能な応答を取得する確率を高めることができる。
【0034】
図7は、本発明の一実施形態によりタグがリーダーと通信するための乱数を生成する方法の流れ図である。オペレーション701は、ランダム・ビットを生成する(例えば、ランダム・ビット生成器601を使用して)。その後、タグがリーダーとのハンドシェーキングを終了したかどうかが判定される(703)。タグがリーダーとのハンドシェーキングを処理中の場合、ランダム・ビットは、メモリ内の情報を更新するために使用されない(例えば、603)。そのため、メモリ内の乱数は、ハンドシェーキングの処理中も同じままである。ハンドシェーキングの処理中に、タグは、ランダム・ビットのメモリ(例えば、16ビット・メモリ)の内容をハンドシェーク・データとしてリーダーに送信し、リーダーから戻されるハンドシェーク・データとともにハンドシェーク・コマンド(例えば、Ack)を受信する。リーダーから受信されたハンドシェーク・データがタグから送信され、タグに保持されているハンドシェーク・データとマッチした場合、ハンドシェーキングは成功であり、タグは、それに応えてタグ・データをリーダーに送信することができる。リーダーが再度ハンドシェーク・コマンドを送信しない(またはハンドシェーク・データがマッチしない)場合、タグは、リーダーとのハンドシェーキングを終了する(例えば、他の問い合わせコマンドを送信することにより)。タグがリーダーとハンドシェーキングを行っていない場合、タグは、ランダム・ビットのメモリの内容をフリーズする必要はない。したがって、タグは、ランダム・ビットをランダム・ビットのメモリ内にシフトして(705)、その内容を更新する。この説明に基づくことで、当業者は、さまざまな代替実装を考えることができる。例えば、ランダム・ビットは、問い合わせコマンドのみに応えて、生成することができる。
【0035】
本発明の一実施形態では、ランダムな決定を下すために使用されるランダム・ビットのメモリ(例えば、603)の内容全体がハンドシェーク・データとして使用される。それとは別に、その一部のみを、ハンドシェーク・データとして使用できるようにしてもよい。例えば、最初のQ個のビットがすべてゼロの場合にタグが応答すると、タグは、ランダム・ビット・メモリの最後の(16−Q)個のビットのみを使用することができる。それとは別に、タグは、ハンドシェーク・データと異なる乱数を使用することもできる。
【0036】
図8は、本発明の一実施形態によりリーダーが多数のタグからタグ・データを読み取る方法の流れ図である。状態Aにあるタグに対するQパラメータを含む問い合わせコマンドを受信した後(801)、リーダーは、ハンドシェーク・データを含むタグからの応答を検出する(803)。応答がない場合(805)、Qパラメータはすでに0に等しいかどうかが判定される。Qパラメータがゼロに等しく、問い合わせコマンドに応えて応答が受信されない場合、問い合わせコマンドを受信する状態Aのタグは、Qパラメータがゼロに等しい場合に応答するので、交信範囲内に状態Aのタグがないと判定できる。Qパラメータがすでにゼロでなければ、リーダーは、Qパラメータを小さくして、応答を受信する確率を高めることができる。例えば、リーダーは、パラメータQfを浮動小数点数として保持し、QがInt(Qf)から決定されるようにすることができる(ここに、Int(x)は、実数xの整数部分を示す)。リーダーは、QfをMin(Qf/1.4,0.9)として更新することができ(ただし、Min(x/a,b)は、x/aとbの間の最小値を示す)、応答がない場合に、QをInt(Q)(811,815)として更新することができる。互いに損なう異なるタグから複数の応答がある場合、リーダーは、応答から判読可能なハンドシェーク・データを取得することはできない(817)。衝突を避けるために、リーダーは、Qパラメータを大きくして、複数の応答を受信する確率を下げることができる。例えば、複数の応答が衝突し互いに損なう場合に、リーダーは、QfをQf×1.4として更新し、QをInt(Q)(813,815)として更新することができる。
【0037】
リーダーが1つの応答から判読可能なハンドシェーク・データを取得できる場合、リーダーは、衝突があっても、Qパラメータを高くする必要はないことに留意されたい。例えば、弱い応答が強い応答と衝突する場合、リーダーは、そのまま、強い応答からハンドシェーク・データを取得することができる。この場合、リーダーは、弱い応答を単純に無視し、強い応答を送信するタグとのハンドシェーキングを開始することができる。したがって、隠された衝突は性能を改善するが、それは、弱いタグは、ACKハンドシェークにより保護され、リーダーがそのハンドシェークを抽出できる場合により強いタグがそのままカウントされるからである。
【0038】
判読可能なハンドシェーク・データが問い合わせコマンドへの応答として受信された後(817)、リーダーは、ハンドシェーク・データを送信するタグとハンドシェーキングを行う(例えば、ハンドシェーク・データを含むAckなどのコマンドをブロードキャストすることにより)。その後、リーダーは、タグからタグ・データ(例えば、ePCなどのタグ識別データ)を受信することを試みる(821)。例えば、Ackコマンドのハンドシェーク・データがタグから送信されたハンドシェーク・データとマッチするとタグ側で判定した場合、タグは、そのタグ識別データを応答としてAckコマンドに送信する。タグは、判読可能なタグ・データを受信した場合(823)、問い合わせに対するパラメータを再ブロードキャストせずに前の問い合わせコマンドを繰り返すコマンドをブロードキャストすることができる(829)。その問い合わせコマンドに応えて、タグ・データを送信したタグは、状態Aから状態Bに切り換わり、状態Aにあるタグに対する問い合わせに応えない。状態Aにあるタグは、現在の問い合わせに対し前の問い合わせパラメータを使用する。しかし、タグ・データが判読できない場合(823)、リーダーは、再び、タグとハンドシェーキングを行うか(819)、またはタグ・データが受信されないことを示すコマンドをブロードキャストすることを試みることができる(827)。
【0039】
本発明の一実施形態では、タグは、タグ・データを送信した後に問い合わせコマンドに応えて状態を切り換える。そこで、リーダーは、判読可能なタグ・データを受信した後、前の問い合わせを繰り返すコマンドをブロードキャストするか、または新しい問い合わせパラメータを付けて問い合わせコマンドをブロードキャストすることを選択できる。それとは別に、タグは、前の問い合わせコマンドを繰り返すコマンド(例えば、QueryRep)にのみ応えて、タグ・データを送信した後、状態を切り換えるように実装することができる。したがって、リーダーは、1つのQueryRepコマンドを使用して、1)タグ・データを送信したばかりのタグに、状態を切り換えさせて、交信対象のタグの集合を残し、2)他のタグに問い合わせを行い、その問い合わせに応答するかしないかについてランダムな決定を下させることができる。
【0040】
本発明の一実装では、システム通信はリーダーがトランザクションを開始する2ステージ・コマンド−応答パターンに従う(リーダー・トーク・ファースト、RTF)。第1のフェーズでは、リーダーは、1つまたは複数の受動型タグに連続波(CW)RFエネルギーによる電力を供給する。タグの電源投入が行われ、クロックの同期処理のため使用されるコマンドを1つ受信した後に複数のコマンドを処理する準備が整う。リーダーは、後述のリーダー−タグ間符号化スキーマを使用して振幅変調によりフィールドに情報を送信する。送信完了後、リーダーは、変調を停止し、RFを維持して応答フェーズでタグに電力を供給する。タグは、後述の4相ビット符号化スキームを使用し、この期間に後方散乱変調を介してリーダーと通信する。
【0041】
一実装では、基本コマンドは、トランザクション間で複数のタグが格納しなければならない状態情報の量を制限するように設計されている。受動型タグに利用できる電力は、送信電力、タグ/リーダーのアンテナの向き、局所的環境、外部干渉源の複雑な関数となっている。RFフィールドのマージン上のタグの電力供給は当てにならず、したがって、リーダーとの前のトランザクションの記憶を維持するためにそれに頼ることはできない。特に、タグまたはオブジェクトが移動していると、多経路干渉のため、タグは短い期間しか電力を受け取れないことがある。一実装では、これは、全トランザクション時間を最小にし、失敗したコマンドから迅速に復旧できるようにすることにより、これらの条件の下でタグの効率的カウントを行えるように設計される。閾値電力を持ち、3ミリ秒程度の短い時間内に3つのコマンド(例えば、スピンアップするための前のコマンド、問い合わせ、応答を伴うACK)を受信するタグがインベントリ(inventory)される。
【0042】
一実装では、コマンド・グループの間で、各セッションに対して1ビットの状態しかなく、その状態の影響は、後述のように、それら2つの状態に関してコマンド集合を対称化することによりさらに弱められる。
【0043】
一実装では、それぞれのタグは、利用可能な4つのセッションを持ち、それぞれのセッションは単一ビットの独立した状態記憶を持つ。後方散乱モードとデータ転送速度は、それらのセッションすべてについて同じであり、ランダム応答レジスタはすべてのセッションについて同じである。選択されているという状態もすべてのセッションで同じである。このセッション構造では、最大4つまでのリーダーまたはプロセスがマルチタスク環境でタグ母集団と通信することができるが、コマンド・グループ全体とそうすることができる。コマンド・グループは、QueryA/Bから開始し(QueryRepはコマンド・グループを起動しない)、ACKを通じて継続し、ACK(タグの観点からトランザクションを完了する)の後のコマンドで終了するか、またはプロセスによるSELECTED状態の使用が終わると終了する。
【0044】
2つのセッションを使用する一つの例は、入口を通るすべてのタグをカウントするが、パレットを優先的にカウントしたい入口リーダーである。タグ母集団に関して2つの同時プロセスを実行することが可能である。例えば、状態Aと状態Bとの間でタグの母集団全体をスイープし、前の状態に関係なく1回接触が行われたすべてのタグを必ずカウントするために、セッション0を1つのプロセスで使用することが可能である。セッション1は、そのセッションについて状態Aに対しすべてのパレット・タグをマスクすることと、状態Bに対し他のすべてのタグをマスクすることを選択的に行うことが可能であり、また第1のプロセスで進行中のインベントリに干渉することなく、交互に進むプロセスで優先的にカウントすることが可能である。
【0045】
類似の例は、そのインベントリ・タイプの同期をとるために設定されたインベントリ・リーダーの集合であろう。例えば、すべてのインベントリ・リーダーは、それらのタグでセッション0を使用して、10個の第2の間隔についてA状態からB状態へのインベントリを行い、その後、B状態からA状態に戻るインベントリを行う。これにより、すべてのタグが、1サイクルに1回ずつ1つのインベントリ・リーダーによりカウントされる。同時に、ハンドヘルド・リーダーでは、状態Bへの他のすべてのタグのマスクを行っている間に、状態AへのePCの特定の十分な部分をマスキングすることによりePCに対してセッション1を使用して調べることが可能である。その後、セッション1QueryAコマンドを使用して、そのタグまたはタグ・タイプを探す。これにより、コマンド・グループが衝突(交互配置)しない限り、またRF干渉が避けられる限り、ストア・インベントリ・リーダーとの干渉が避けられる。
【0046】
図9は、本発明の一実施形態によるタグ状態図である。このタグ状態図は、コマンド・グループ内でタグがとりうる状態を示す。コマンド・グループは、QueryA/Bコマンドで始まり、選択された状態または肯定状態をタグが離れることで終わる順次コマンド群である。タグ・グループ間では、それぞれのセッションの状態はAまたはBである。DEAD状態は永久的状態である。セッション0については、状態AとBは、電源が投入されていなくても永続状態である。長期間、少なくとも1秒場合によっては数時間、経過した後、状態Bは状態Aに戻る。状態Aでは、すべてのタグは、QueryAコマンドに応えるが、QueryBコマンドには応えない。状態Bでは、QueryBコマンドには応えるが、QueryAコマンドには応えない。状態記憶の有効期限が特定のセッションについて切れている場合、タグは、そのセッションに対し電源投入後状態Aに入る。
【0047】
0セッション以外のセッションは、永続的なA−Bフラグを持たず、電源が入っているときだけその状態を記憶できる。その状態が失われた場合、そのセッションに対する状態は状態Aに戻る。
【0048】
電源投入後、タグは、4つのセッションのそれぞれに対する状態フラグを除くすべての内部状態をリセットする。タグは、最初のコマンドにより供給される同期ビットの立ち上がりエッジに合わせてそのクロックの同期をとるが、電源投入後、最初のコマンドに従って動作することは許されない。そのクロックを次のコマンドを復号化するのに十分な精度に維持する。クロック周波数は、コマンド・スピンアップ時に20%を超えて補正される必要がある場合、タグは、そのコマンドに応えず、次のQueryAまたはQueryBコマンドまで待つ。これは、不適切な、場合によっては干渉するレスポンスを防ぐように設計されている。
【0049】
タグが状態Aにある間、セッション毎にQueryAコマンドに応えるが、QueryBコマンドには応えない。タグは、適切なSetStateコマンドがあった後、またQueryBで始まるインベントリ・ハンドシェークが正常に完了した後、状態Aに入る。
【0050】
セッション毎に、タグが状態Bにある間、QueryBコマンドに応えるが、QueryAコマンドには応えない。タグは、適切なSetStateコマンドがあった後、またQueryAから始まったインベントリ・ハンドシェークが正常に完了した後、状態Bに入る。タグは、最大1秒間の停電があってもセッション0に対し状態Bに留まることができる。
【0051】
それぞれの独立セッションについて、状態Bの状態記憶が失われた場合、タグは、状態Aで電源が入る。
【0052】
デッド状態は、有効なキル・コマンドとキル・コード・シーケンスを受信した後に入るタグ状態の永続的状態変化である。デッド状態は、プログラミングE2またはヒューズが飛ぶことなどの物理的タグの永続的変化により生じる。
【0053】
本発明のいくつかの実施形態は、タグとリーダーの両方について非常に安価に実装できる一方で、高速で堅牢で互換性、拡張性のあるプロトコルを実現するRFIDプロトコルに関係する。一実施形態では、RFトランスポート層は、UHFオペレーションを重点的に扱い、例えば、プロトコルは、400MHzから2.45GHzまで適用可能なものとすることができる。
【0054】
異なるアプリケーションとコスト要件に対しタグには少なくとも4つのクラスがある。設計層のすべての要件を満たす異なるクラスのタグは、連携動作することができる。タグは、さらに、センサ、クロック、ディスプレイ、他のデバイスとの標準化された有線I/Oインターフェースを備えることもできる。
【0055】
クラスIタグは、最も安価に生産できるように設計された、単純な受動型読み取り専用後方散乱タグである。クラスIタグは、1回限りプログラム可能なメモリ、追記型アイデンティティ・メモリ、64または96ビットePCコードやオプションのリサイクリング・コードを持つ。
【0056】
クラスIIタグは、クラスIよりも高い機能性を備え、またコストも高い受動型後方散乱タグである。クラスIの特徴に加えて、クラスIIタグは、タグへデータの読み書きを行うこと、読み書きメモリを備えること、非通信目的用に電池電力を備えてもよいこと、オプションでセンサ・ロガーとデータ・ロガーを備えることができる。
【0057】
クラスIIIタグは、半受動型後方散乱タグである。クラスII機能に加えて、クラスIIIタグは、読み取り範囲の増大をサポートするために内蔵電池または他のエネルギー源を備える。
【0058】
クラスIVタグは、互いに、/または他のデバイスとワイヤレスで通信できるモデム風の半受動型または能動型(送信器)タグである。クラスIVタグは、さらに、リーダーとの通信でクラスI〜IIIタグをエミュレートすることもできる。
【0059】
本発明の一実装によるRFIDシステムは、リーダーのフィールド内にある単一タグの識別、リーダーのフィールド内にある複数のタグの読み取りを管理する衝突防止機能、RF干渉源や周縁タグからのシステム内のエラー管理、地域RF規制基準に適合したオペレーション、RF規制基準に準拠した動作をするシステムとの共存を含むいくつかの特徴を有する。
【0060】
いくつかの詳細な例を以下に示す。しかし、この説明によれば、異なる詳細設計と実装は、当業者であれば考えつく。全体的なシステム・アーキテクチャは、通常、市場の機能である。
【0061】
以下の説明では、RFIDタグのメモリ内のビットが参照される。タグ・メモリ内のビットを参照するときに、「上」または「高い」という単語は、一般に、最上位ビット(MSB)方向を指し、「下」または「低い」という単語は、最下位ビット(LSB)方向を指す。例えば、10進数の7の2進数表現は0111である。それぞれのビットを1だけ「上に」または「高く」シフトすると、2進数で1110と表される、10進数14が得られる。
【0062】
本発明の一実施形態では、コマンド形式は、超低価格(VLC)タグをサポートするように設計されている。リーダーは、付加的な作業を行い、タグができる限り単純に、安価なものとなるようにできる。これは、大まかに2つの領域、つまり、タイミング不確定性の取り扱いとタグ内の限られた長期メモリの取り扱いに分けられる。しかし、他のタイプのタグ(例えば、大容量メモリを備える電池式デバイスなどのクラスIIIやそれ以上のタグ)は、さらに、これらのコマンド形式を(例えば、互換性のため)サポートすることができる。
【0063】
VLC、シングル・チップ・タグは、通常、水晶発振子が高価であり、サイズがひどく大きいので、発振器安定性を制限されている。一実施形態では、タグは、コマンドのビッド・タイミングを使用して、その内部クロックと同期をとり、またさらにコマンドを復号化するのを開始する前に電源投入し、1つのコマンド・パケット全体を調べる必要がある。これらのタグからの応答は、タグが供給できるクロック速度でタグにより送信された情報をリーダーが解釈できるように構造化されている。このスキームは、概念上は、磁気カードまたはバーコード・リーダーで使用されている自動同期スキームに類似している。
【0064】
一実施形態では、基本コマンド、プログラミング・コマンド、データ・リンク・コマンドを含む3つのコマンド・クラスが用意されている。基本コマンドは、オブジェクト識別、並べ換え、インベントリなどの機能を提供する。プログラミング・コマンドは、タグを付けられた商品がサプライ・チェーンに入る前にタグ・メーカーによるタグ・データ識別およびプログラミングをサポートする。データ・リンク・コマンドは、クラスIIとそれ以上のタグに対するデータ・リンク層を提供する。
【0065】
本発明の一実施形態では、ハフマン符号化コマンド、例えば、QueryA/B(4ビットQ)に対して18ビット、QueryRep(最後の問い合わせ繰り返し)に対して6ビット、ACK(16ビットのデータを含む)に対して23ビット、NAK(めったに使用されない。例えば、データ・エラーに関する)に対して13ビット、他のコマンドのパラメータに対して13ビット以上を使用する。そのため、QueryRepコマンドは、QueryAまたはQueryBコマンドよりも実質的に短い。
【0066】
一実装のコマンド構造の詳細な例について以下で説明する。コマンド構造の以下の例では、コマンド・フィールドは、一般に、送信される順序でリストされる。
【0067】
一実装では、3種類のインベントリ・コマンド、問い合わせ、ACK、NAKがある。問い合わせコマンドがトランザクションを開始し、このトランザクションに対し、1つまたは複数のタグが16ビット乱数で応える。リーダーが16ビット数を正しく抽出すると、これは、ACKコマンドを通じてハンドシェーキングのためタグに送り返される。タグは、ACKコマンドにより送信された16ビット数がそのタグが送信した数とマッチした場合にのみ応える。16ビット乱数が確認されたタグは、プレフィックス、そのCRC(巡回冗長検査)、そのePC(電子製品コード)で応答する。その後、タグは、そのセッションに対する内部状態を、NAKを受け取らない限りAからB(またはBからA)に遷移する。NAKを受信した場合、前の状態に留まる。
【0068】
一実装では、リーダーは、最初にスピンアップ・ビットを送信する。それぞれのフィールド内で、LSB(最下位ビット)が最初に送信される。すべてのコマンドは、クロック・スピンアップを行えるように4つのマンチェスター0ビットが先頭に付く。クロック・スピンアップ・ビットの後に、マンチェスター高違反、コマンド・ビット、パラメータが続き、これらは、コマンド毎に異なる。20%よりも大きくクロックを調整するためにタグ・クロック設定メカニズムが必要な場合、またはタグが、スピンアップ・ビットまたはマンチェスター高違反を見ない場合、タグは、クロック同期を改善することを目的とする場合を除きコマンドを無視する。コマンドが有効なコマンドのデータ・パターンとマッチしない場合、タグは、その内部状態を変更せず、その後方散乱を変調しない。すべてのコマンドの開始時に、タグは、4つのセッションのそれぞれについて状態記憶をリフレッシュする。タグがパワー・オン・リセットから立ち上がる場合、「最初の問い合わせを待つ」状態に入る。
【0069】
タグが「パワー・オン」を通じてリセットされると、タグは常に「最初の問い合わせを待つ」の状態に入る。
【0070】
クロックが同期していないか、またはクロックが20%を超えて変わったか、またはスピンアップまたはマンチェスター違反が見られていない、または不正なコマンド・ビットまたは不正なCRCデータが受信された場合、不正なコマンドがそのタグに届く。始まりの状態条件が「最初の問い合わせを待つ」、「準備完了」、または「選択済み」である場合、タグは、不正なコマンドに応えて同じ状態条件に留まる。始まりの状態条件が「ACKを待つ」または「肯定応答済み」である場合、不正なコマンドにより、タグは、「準備完了」の状態に入る。
【0071】
QueryAコマンドは、セッション番号、後方散乱モード、相対的タグ−リーダー間データ転送速度を含むパラメータを持つ。これは、数値Qであるデータ・ペイロードを持つ。タグがQueryAコマンドを受信したときに、そのセッションについて状態Aにある場合、(1/2)Qの確率で応える。タグは、独立の(1/2)Q確率でそれぞれの問い合わせに応える。一実施形態では、タグからの応答は、タグがさらに次のコマンドまで記憶しておくランダム16ビットを格納する。
【0072】
例えば、QueryAコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(1ビット、「0」)、セッション番号[S](2ビット)、A/Bフラグ(1ビット、QueryAに対しては「0」、QueryBに対しては「1」)、後方散乱モード[M](2ビット)、後方散乱相対速度[R](2ビット)、Qパラメータ[Q](4ビット)を含むことができる。ビット・マスキングは、後述のように大きな母集団に対して使用することができる。
【0073】
QueryAコマンドに応えて、タグは、1)セッション番号を[S]に設定し、2)問い合わせの状態フラグを「A」に設定し、3)Qパラメータを[Q]に設定し、4)後方散乱モードを[M]に設定し、5)後方散乱速度を[R]に設定する。タグは、[Q]に従って、乱数を計算し、ランダムな決定を下す。さらに、タグが「選択済み」または「肯定応答済み」の開始状態にある場合、タグは、状態Aにあれば状態Bに、状態Bにあれば状態Aに切り換わる。その後、タグが状態Aにあり、ランダムな決定が肯定的である場合、タグは、乱数で応答し、「ACKを待つ」状態に入り、そうでなければ、タグは、「準備完了」の状態に入る。
【0074】
QueryBコマンドは、状態AおよびBに関してQueryAコマンドに対称的である。QueryBコマンドの後のハンドシェーク・サイクルが正常に完了すると、そのセッションについてタグは状態Bに入る。QueryBへのタグ応答は、QueryAコマンドと同じ形式である。
【0075】
例えば、QueryBコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(1ビット、「0」)、セッション番号[S](2ビット)、A/Bフラグ(1ビット、QueryAに対しては「0」、QueryBに対しては「1」)、後方散乱モード[M](2ビット)、後方散乱相対速度[R](2ビット)、Qパラメータ[Q](4ビット)を含むことができる。ビット・マスキングは、後述のように大きな母集団に対して使用することができる。
【0076】
QueryBコマンドに応えて、タグは、1)セッション番号を[S]に設定し、2)問い合わせの状態フラグを「B」に設定し、3)Qパラメータを[Q]に設定し、4)後方散乱モードを[M]に設定し、5)後方散乱速度を[R]に設定する。タグは、[Q]に従って乱数を計算し、ランダムな決定を下す。さらに、タグが「選択済み」または「肯定応答済み」の開始状態にある場合、タグは、状態Aにあれば状態Bに、状態Bにあれば状態Aに切り換わる。その後、タグが状態Bにあり、ランダムな決定が肯定的である場合、タグは乱数で応答し、「ACKを待つ」状態に入り、そうでなければ、タグは「準備完了」の状態に入る。
【0077】
QueryRepコマンドは、同じパラメータで最後の問い合わせを繰り返す。パワー・オン・リセット以降、タグがQueryA/Bを見ていない場合、タグはQueryRepに応えない。このコマンドは、通常、完全なアトミック・モードを除き最も一般的なコマンドである。QueryRepへのタグ応答は、QueryAまたはQueryBコマンドと同じ形式である。
【0078】
例えば、QueryRepコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(1ビット、「0」)を含むことができる。
【0079】
QueryRepコマンドに応えて、「最初の問い合わせを待つ」状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「肯定応答済み」または「選択済み」の状態にあるタグは、応答せず、状態Aにあれば状態Bに、状態Bにあれば状態Aに切り換わり、「準備完了」の状態に入る。「準備完了」または「選択済み」の状態にあるタグは、1)[Q]に従って、乱数を計算し、ランダムな決定を下し、2)タグの状態が問い合わせの状態フラグにマッチしているかチェックし(例えば、タグが状態Aにある間、問い合わせに対する状態フラグは「A」であるか、またはタグが状態Bにある間、問い合わせに対する状態フラグは「B」である)、3)タグの状態が問い合わせに対する状態フラグとマッチし、ランダムな決定が肯定的である場合、乱数で応答し、「ACKを待つ」状態に入る。タグの状態が問い合わせに対する状態フラグとマッチしないか、またはランダムな決定が否定的である場合、タグは応答せず「準備完了」の状態に入る。
【0080】
一実施形態では、問い合わせコマンド(例えば、QueryA、QueryB、またはQueryRep)に応えるタグからの応答は、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度での16ビット・ハンドシェーク・データを含む。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのランダム・データ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0081】
例えば、問い合わせコマンドに応えるタグからの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ・ハンドシェーク(16ビット、ランダム・データ)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0082】
ACKコマンドは、タグ応答からハンドシェークを正常に抽出できた場合にリーダーにより送信される。ACKは、他のACK以外にコマンドを介在させることなく、問い合わせコマンドの直後に続く。さらに、これは、Tcoast(以下で定義)以内に続くが、あわせてプロトコルのアトミック「コマンド」と考えられる。タグが受信するACKコマンドが直前の問い合わせに応答したハンドシェークを含まない場合、これは応答しない。
【0083】
例えば、ACKコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(2ビット、「10」)、ハンドシェーク・データ(16ビット、直前の問い合わせでリーダーに送信されたデータ)を含むことができる。
【0084】
ACKコマンドに応えて、「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」または「選択済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。「ACKを待つ」または「肯定応答済み」の開始状態のタグは、ACKコマンド内のハンドシェーク・データが直前の問い合わせでリーダーに送信された乱数とマッチするかどうかをチェックする。マッチがあれば、タグは、ePCとCRCを応答としてスクロールバックし、「肯定応答済み」の状態に入り、マッチがなければ、タグは「準備完了」の状態に入る。
【0085】
ACKコマンドに応える応答は、ePCとCRCを含む。16ビット・ハンドシェークとリーダーにより送信されたハンドシェークとのマッチングを行うタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、4ビット送信することにより応えるが、1ビットの後にリーダー−タグ間の1ビット時間の高違反が続き、タグ内のすべての識別データはビット0から始まる。リーダーによりタグに送信されるデータは、可変長であってよい。このデータの後に、クローバー・オフ(高)違反と4つの後続1が続く。
【0086】
例えば、ACKコマンドに応えるタグからの応答は、TAGSPINUP(4ビット、「1111」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ・データ(可変サイズ、ePC、CRC、リサイクリング・データなど)、高違反、TAGTRAILER(4ビット、「1111」)を含むことができる。
【0087】
リーダーがACKへのレスポンスを受信しない場合、リーダーはNAKを送信する。ACKへの誤伝送されたレスポンスを受信した場合、NAKを送信するか、またはACKを再び試すことができる。NAK(または問い合わせ、繰り返しACK、または選択以外のコマンド)は、記録されていないことをタグに知らせ、前の(AまたはB)状態に留まらなければならない。
【0088】
問い合わせ−ACKインベントリでは、NAKは、データ・エラーが生じたときのみ使用される。NAKコマンドは、さらに、SELECTED状態も終了させる。NAKへの応答はない。例えば、NAKコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000000」)を含むことができる。
【0089】
NACコマンドに応えて、「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「選択済み」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0090】
SetStateコマンドは、検索を制限するために、またさまざまな設定オペレーション(例えば、合併)を含む直接アドレッシングとマスキングに使用される。設定オペレーションは、SetStateコマンドを使用して実行される。マスキングは、未使用セッションを選び、その後、SetStateコマンドの文字列を発行してタグのすべてをそのセッション内の所望の状態に設定することにより開始する。状態が変更されるタグは、ScrollIDプリアンブルで応えるので、フィールド内にあることがすでに知られているそれぞれのタグの状態を個別に単純に変更し、新しいタグに対するランダム・インベントリを実行する前に応答の有無を利用してインベントリを更新することによりインベントリを維持するアプリケーションが使用可能になる。
【0091】
例えば、SetStateコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000001」)、セッション番号[S](2ビット)、状態フラグ(1ビット)、タグ操作フラグ(2ビット、マスクがマッチした場合に状態を設定し、マッチしない場合に反対状態を設定する「00」、マスクがマッチした場合に状態を設定し、マッチしない場合に何も実行しない「10」、マスクがマッチしない場合に状態を設定し、マッチした場合に何も実行しない「11」)、ポインタ(8ビット)、長さ(8ビット、マスク・ビットの長さ)、マスク・ビット(可変サイズ)、CRC8(8ビット、最初のコマンド・ビットから最後のマスク・ビットまで計算される)を含むことができる。
【0092】
SetStateコマンドに応えて、「最初の問い合わせを待つ」という開始状態にあるタグは、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「選択済み」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、「準備完了」の状態に入る。SetState ACKコマンドに応えて、タグは、セッション番号を[S]に設定し、マスクに応じて、セッションのAB状態を「A」または「B」に設定する。マスクがマッチした場合、タグは、肯定応答を送信するが、そうでない場合、タグは、応答しない。状態フラグが「A」で、状態操作フラグが「00」の場合、セッションのAB状態は、マスクがマッチすれば「A」に設定され、マスクがマッチしなければ「B」に設定される。状態フラグが「A」で、状態操作フラグが「01」の場合、アクションはいっさいない。状態フラグが「A」で、状態操作フラグが「10」の場合、セッションのAB状態は、マスクがマッチすれば「A」に設定され、マスクがマッチしなければアクションはいっさいない。状態フラグが「A」で、状態操作フラグが「11」の場合、セッションのAB状態は、マスクがマッチしなければ「A」に設定され、マスクがマッチしなければアクションはいっさいない。状態フラグが「B」で、状態操作フラグが「00」の場合、セッションのAB状態は、マスクがマッチすれば「B」に設定され、マスクがマッチしなければ「A」に設定される。状態フラグが「B」で、状態操作フラグが「01」の場合、アクションはいっさいない。状態フラグが「B」で、状態操作フラグが「10」の場合、セッションのAB状態は、マスクがマッチすれば「B」に設定され、マスクがマッチしなければアクションはいっさいない。状態フラグが「B」で、状態操作フラグが「11」の場合、セッションのAB状態は、マスクがマッチしなければ「B」に設定され、マスクがマッチしなければアクションはいっさいない。
【0093】
データとリーダーにより送信されたマスクとのマッチングを行うタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0094】
例えば、SetStateコマンドに応えるタグからの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、「0101010101010101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0095】
SELECTコマンドはアドレッシング・コマンドである。SELECTED状態は、揮発性メモリ内に保持され、パワー・オン・リセット時にクリアされ、また問い合わせコマンドを使用することでもクリアされる。プログラミングとクラスII以上のコマンドは、アドレッシング(SELECT)部分とデータ交換部分とに分けられ、これにより、アドレッシングに使用されるタグ通信ハードウェアとレジスタは読み出しと書き込みに再利用できる。KILL、ProgramID、VerifyID、LockID、ReadとWriteを実行するために、タグは「選択済み」状態にある。(選択は、クラスIタグにおいてKill、Program、LockIDの実行にのみ使用される)。
【0096】
例えば、SELECTコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000010」)、セッション番号(2ビット)、CRC8(最初のコマンド・ビットからセッション番号まで計算される)を含むことができる。
【0097】
タグ・アドレッシングは、以下のように進行する。
1)開いているセッションを選ぶ。
2)明確に、所望のタグのみを取得するのに十分と思われるマスクをそのセッションに対して発行する。
3)所望のタグを見つけるまで問い合わせ−ACKを使用してタグを探索する(完全なePCとCRCにより認識する)。
4)SELECTコマンドを発行する。
【0098】
SELECTコマンドに応えて、「最初の問い合わせを待つ」という開始状態にあるタグは応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「選択済み」、または「ACKを待つ」の開始状態にあるタグは応答せず、「準備完了」の状態に入る。「肯定応答済み」の開始状態のタグは、書き込みを行えるだけ十分に電力が高い場合には肯定応答を送り、書き込みを行えるだけの電力がない場合には否定的応答を送り、「選択済み」の状態に入る。
【0099】
SELECTコマンドにより選択されたタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0100】
例えば、SELECTコマンドに応えるタグからの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、書き込めるだけ十分に電力が高くない場合には「0000 0000 0000 0000」)、書き込めるだけ十分に高い場合に「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0101】
KILLコマンドは、SELECTEDアドレス・モードによりアドレッシングされる。リーダーにより送信される[VALUE]フィールド内のキル・コードとマッチするタグは、停止され、もはやリーダー問い合わせには応えない。タグによってサポートされているキル・コードの長さを超えるビットは、CRC計算を除いて無視され、タグ内のすべてのビットがキル・コードとマッチする場合、キル・コードは、適切なキルを実行する。KILLコマンドは、リーダーからより高いフィールド強度を必要とする場合があり、したがって、短距離範囲とすることができる。一実施形態では、リーダーは100ミリ秒の間に複数の「1」を送信し、その後、100ミリ秒の「0」、次に15個の「1」が続き、次いで、コマンドを完了するタグのキル・コードの後、他の100ミリ秒の「0」を送信する。
【0102】
例えば、KILLコマンドは、スピンアップ・ビット(4ビット「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000011」)、キル・タイプ(2ビット、完全なキルに対しては「00」(すべてのデータを消去し、永久的に停止する)、保存リサイクルに対しては「01」(リサイクリング・フィールドを除くすべてを消去する)、クロックに対し「10」(無反応に設定されるが、消去されない))、ポインタ(8ビット)、長さ(8ビット、マスク・ビット長)、キル・コード(可変サイズ)、CRC8(8ビット、キル・コードの無視されたビットを含む、最初のコマンド・ビットから完全なキル・コードまでのビットについて計算される)を含むことができる。
【0103】
タグは、まず、キル・コマンドが実行されるために、選択済み状態にある。タグは、処理できる以上の長さ部分を超えるキル・コード・データを無視する。キル・コードがタグの持つビットとマッチする場合、キルを実行する。キル・コード・タグは長いほど安全になり、キル・コード・タグは短いほど製造コストが安くなるが、すべてのタグが互換性を有する。
【0104】
KILLコマンドに応えて、「選択済み」の開始状態のタグは、キル・ビットを応答なしでDEADに設定し、キル・コードがマッチし、キルが成功した場合、「DEAD」状態に入る。「選択済み」の開始状態にあるタグは、否定応答を送信し、キル・コードがマッチしてもキルが成功していない場合に「選択済み」の状態に留まる。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0105】
KILLコマンドを実行しようとして成功しなかったタグのみが、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0106】
例えば、KILLコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、キル・コマンド失敗に対して「0000 0000 0000 0000」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0107】
タグは、ScrollMFGコマンドに応えるように選択される。例えば、ScrollMFGコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000100」)、CRC8(8ビット、すべてのコマンド・ビットにわたって計算される)を含むことができる。
【0108】
ScrollMFGコマンドに応えて、「選択済み」の開始状態にあるタグは、応答を送信し、「選択済み」の状態に留まる。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0109】
選択済みタグは、プリアンブルと、決してプログラム可能にはできない、以下のデータを送り返すことにより、ScrollMFGコマンドに応答する。
【0110】
例えば、ScrollMFGコマンドへの応答は、プリアンブル(4ビット、「0000」)、高マンチェスター違反、MANUFACTURER(16ビット、「当局」により割り当てられる)、MASK SET/PRODUCT CODE(16ビット、メーカー定義)、DIE NUMBER(16ビット、メーカー定義)、CAPABILITY CODE(16ビット、「当局」により割り当てられる)、MEMORY SIZE(16、能力コード依存の意味)、CRC(16ビット、メーカーから最後に送信されたフィールドまでのすべてのビットにわたって計算される)を含む。ScrollMFG応答は、MANUFACTURERフィールドの後の任意のフィールドで適宜終了できる。
【0111】
プログラミング・コマンドは、基本コマンドと同じコマンド構造およびフィールド定義を使用するが、通常は、タグ・プログラミング・デバイス、またはプログラマによってのみ発行される。タグ・プログラマは、リーダーに類似しているが、ただし、タグ(およびIC)メーカーによって承認された方法に従って、基本コマンドに加えてプログラミング・コマンドを実行できる点が異なる。
【0112】
プログラミング・コマンドを使用することにより、タグ・メモリの内容をプログラムし、内容をロックする前にタグ・メモリの内容を検証することができる。
【0113】
メーカーは、製造試験のみに特に使用される追加のオプション・コマンドを定義することができる。例えば、これらのコマンドは、D7hからDfhの範囲内にあるコマンド・コードを持つ必要がある場合がある。
【0114】
すべてのプログラミング・コマンドは、タグ・メーカーがタグ・データ内容をいったんロックしてしまうと無効にされる。タグをプログラムするための特定のタイミングは、メモリ技術に依存する。
【0115】
タグ・プログラミングは、一度に16ビットずつ実行される。プログラミングは、通常、タグがすでにロックされていなければ行える。タグがクリアされていること、またはプログラミングの前に消去サイクルを必要としないタイプであることが知られていない場合、ProgramIDの前にEraseIDが使用される。
【0116】
データは、ProgramIDコマンドを使用してタグに送信され、[PTR]フィールドは、プログラムされるメモリ行アドレスであり、[VAL]フィールドは、選択されたメモリ行アドレスの中にプログラムされる16ビットのデータを格納する。
【0117】
有効なProgramIDコマンドを受信した後、タグは、プログラム・メモリに必要な適切な内部タイミング・シーケンスを実行する。
【0118】
例えば、ProgramIDコマンドは、スピンアップ・ビット(4ビット「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000101」)、ポインタ(8ビット)、データ領域(2ビット、CRC&ePCに対しては「00」、ユーザ・データに対しては「01」(クラスIに対してはなし)、キル・コードに対しては「10」)、長さ(8ビット、データの長さ)、プログラムへのID(可変サイズ)、CRC8(8ビット、最初のコマンド・ビットからIDの終わりまでのすべてのフィールドにわたって計算される)を含むことができる。
【0119】
ProgramIDコマンドに応えて、「選択済み」の開始状態にあるタグは、ロックされていなければデータを書き込み、「選択済み」の状態に留まる。「選択済み」の開始状態にあるタグは、成功すれば肯定応答を送信し、成功しなければ否定応答を送信する。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0120】
ProgramIDコマンドを実行するタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0121】
例えば、ProgramIDコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、書き込み失敗に対して「0000 0000 0000 0000」、書き込み成功に対して「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0122】
タグ消去は、一度に16ビットずつ実行できる。IDの消去は、タグがすでにロックされていない場合のみ行える。有効なEraseIDコマンドを受信した後、タグは、プログラム・メモリに必要な適切な内部タイミング・シーケンスを実行する。
【0123】
例えば、EraseIDコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11000111」)、CRC8(8ビット、最初のコマンド・ビットからIDの終わりまでのすべてのフィールドにわたって計算される)を含むことができる。
【0124】
EraseIDコマンドに応えて、「選択済み」の開始状態にあるタグは、ロックされていなければePCとCRCを消去しようとし、「選択済み」の状態に留まる。「選択済み」の開始状態にあるタグは、成功すれば肯定応答を送信し、成功しなければ否定応答を送信する。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0125】
EraseIDコマンドを実行するタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、16ビットのデータ、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0126】
例えば、EraseIDコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、消去失敗に対して「0000 0000 0000 0000」、消去成功に対して「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0127】
VerifyIDコマンドは、保護されているフィールドを含む、メモリの内容全体をスクロールアウトする。タグは、ロックされた後にはVerifyIDに応えない。タグは、VerifyIDが実行できる前に選択されている。
【0128】
例えば、VerifyIDコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11001000」)、CRC8(8ビット、すべてのコマンド・ビットにわたって計算される)を含むことができる。
【0129】
EraseIDコマンドに応えて、「選択済み」の開始状態にあるタグは、応答し、ロックされていなければ「選択済み」の状態に留まる。「選択済み」の開始状態にあるタグは、応答せず、ロックされていなければ「準備完了」の状態に入る。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0130】
16ビット・ハンドシェークとリーダーにより送信されたハンドシェークとのマッチングを行うタグは、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、4ビット送信することにより応えるが、1ビットの後にリーダー−タグ間の1ビット時間の高違反が続き、タグ内のすべての識別データはビット0から始まる。リーダーによりタグに送信されるデータは、可変長であってよい。このデータの後に、クローバー・オフ(高)違反と4つの後続1が続く。
【0131】
例えば、VerifyIDコマンドへの応答は、TAGSPINUP(4ビット、「1111」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ・データ(可変サイズ、保護フィールドを含むすべてのタグ・データ内容)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(4ビット、「1111」)を含むことができる。
【0132】
LockIDコマンドは、制御されたサプライ・チャネルを出る前に、タグのメモリの識別(CRCおよびePC)部分をロックするために使用される。タグは、LockIDが実行できる前に選択されている。
【0133】
例えば、LockIDコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11001001」)、CRC8(8ビット、すべてのコマンド・ビットにわたって計算される)を含むことができる。
【0134】
LockIDコマンドに応えて、「選択済み」の開始状態にあるタグは、ロックされていなければ、ePCとCRCをロックしようとする。「選択済み」の開始状態にあるタグは、「選択済み」の状態に留まり、成功すれば肯定応答を供給し、成功しなければ否定応答を供給する。「最初の問い合わせを待つ」という開始状態にあるタグは、応答せず、「最初の問い合わせを待つ」状態に留まる。「準備完了」、「ACKを待つ」、または「肯定応答済み」の開始状態にあるタグは、応答せず、「準備完了」の状態に入る。
【0135】
選択コマンドにより選択されたタグは、LockIDコマンドを実行し、その後、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、以下の表からの16ビット、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0136】
例えば、LockIDコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、LockID失敗に対して「0000 0000 0000 0000」、コマンド成功に対して「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0137】
クラスII以上のタグは、クラスIのタグと同じシンギュレーション方法と識別方法を使用する。さらに、これらは、追加の読み書きメモリ、セキュリティ機能、センサなどを備えることができる。クラスIIのタグは、さらに、例えば、センサ・ロギングを実現するための電池も備えることができる。
【0138】
クラスIII以上のタグは、電池補助通信機能を備えるように定義される。クラスIII以上のタグは、低電力受動モードでクラスIのコマンドに応えるか、またはさらに長い距離では、キー送信を使用して、電池補助通信モードに入る。クラスIII以上のタグのウェイクアップ・キーについて以下で説明する。これにより、特にそれらのタグ宛ての長距離での交換を除き電池補助の使用を避けて、電池電力の消費を減らすことができる。
【0139】
クラスII以上のタグとの通信は、ハンドル・ベースのI/Oデータ・リンクに標準化されている。ハンドルは、特定の目的のために「当局」により発行され、SCROLLMFG情報とともに使用して、タグの能力を推定し、実行することができる。いくつかの能力コードと対応するハンドルの例を以下に示す。
00XX XXXX XXXX XXXX−−ルックアップ・テーブルによるハンドルと能力。
01XX XXXX XXXX XXXX−−サブフィールドによるハンドルと能力。
01XX XXXX XXXX 0000−−メモリなし。
01XX XXXX XXXX 0001−−ビット幅メモリ、ビット単位の0〜7FFFFFメモリ・アドレス、所定のアドレスから始まるLENビットを読み出す、所定のアドレスにLENビットを書き込む。
01XX XXXX XXXX 0010−−バイト幅メモリ、バイト単位の0〜7FFFFFメモリ・アドレス、所定のアドレスから始まるLENビットを読み出す、所定のアドレスにLENビットを書き込む。
01XX XXXX XXX1 XXXX−−スクラッチパッド型メモリ、例えば、1)1〜7FFFFFメモリ・アドレス、所定のアドレスから始まるLENビットを読み出す、アドレスとLENデータ・ビットをスクラッチパッドに書き込む、または2)FFFFFF、スクラッチパッド・データとアドレスを確認する、または3)FFFFFE、スクラッチパッドをメモリに書き込む。
01XX XXXX 000X XXXX−−セキュリティなし。
01XX XXXX 001X XXXX−−キー交換セキュリティ、例えば、1)FFFFFD、セキュリティ・トークンを書き込む、LENビット長、または2)FFFFFC、セキュリティ・トークンを読み出す。
01XX XX00 XXXX XXXX−−温度なし。
01XX XX01 XXXX XXXX−−温度間隔レコーダ、例えば、1)FFFFFFB間隔、間隔を秒単位に設定する、現在の間隔を読み出す、または2)FFFFFFA、一度に読める温度の数を設定する、または3)FFFE 0000 0000〜FFFE FFFF FFFF、温度を読み取る、ハンドル−過去へのFFFE0000000 0間隔。
【0140】
READコマンドは、クラスII以上のタグからデータをフェッチする基本コマンドである。これは、SELECTEDアドレッシング・モードでしかアドレス指定されず、リード・アドレスまたはハンドルである24ビットPTRフィールドと、読み出されるビットの数であるか、またはハンドルによって意味が決定される第2のパラメータとして使用されるLENフィールドを使用する。
【0141】
例えば、READコマンドは、スピンアップ・ビット(4ビット「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11010000」)、リード・ハンドル(24ビット、意味は能力コードにより定義される)、データ領域(2ビット、CRC&ePCに対しては「00」、ユーザ・データに対しては「01」(クラスIに対してはなし)、キル・コードに対しては「10」)、長さ(8ビット、読み出されるデータの長さ)、CRC8(8ビット、最初のコマンド・ビットから長さの終わりまでのすべてのフィールドにわたって計算される)を含むことができる。
【0142】
タグによって返されるデータは、容量コードと使用されるハンドルにより決定される。CRCを含むことができる。
【0143】
例えば、リード・コマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、データ(可変サイズ・データ)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0144】
WRITEコマンドは、クラスII以上のタグにデータを書き込む基本コマンドである。これは、SELECTEDアドレッシング・モードでのみアドレッシングされ、リード・アドレスまたはハンドルである24ビットPTRフィールドと、16ビットLEN、長さが[LEN]パラメータにより決定される可変長データ・フィールドを使用する。
【0145】
例えば、WRITEコマンドは、スピンアップ・ビット(4ビット、「0000」)、マンチェスター高違反(1ビット)、コマンド・ビット(8ビット、「11010001」)、ライト・ハンドル(24ビット、意味は能力コードにより定義される)、長さ(8ビット、データの長さ(ハンドル&能力コードにより定義される粒度)、書き込みデータ(可変サイズ)、CRC8(8ビット)を含むことができる。
【0146】
選択コマンドにより選択されたタグは、WRITEコマンドを実行し、現在設定されている後方散乱モードで応答し、現在設定されている後方散乱速度で応答する。(両方とも、QueryAまたはQueryBコマンドにより設定される)。これらは、1、その後に、1ビット期間のクローバー・オフ、以下の表からの16ビット、さらにその後に、他のクローバー・オフ期間、そして末尾の1を送信する。
【0147】
例えば、WRITEコマンドへの応答は、TAGSPINUP(1ビット、「1」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、タグ確認(16ビット、書き込み失敗に対して「0000 0000 0000 0000」、書き込み成功に対して「0101 0101 0101 0101」)、高違反(後方散乱変調ビット期間に対するクローバー・オフ)、TAGTRAILER(1ビット、「1」)を含むことができる。
【0148】
本発明の一実施形態は、当業で知られているような他のレディ・クワイエット・プロトコルに勝る利点を有する、プロトコルの2状態対称性を利用することを含む。この対称的プロトコルは、実際に、クワイエット・レディ状態を2つの対称的な部分、つまりプロトコルの状態Aおよび状態Bに対称的に分けることにより状態依存性を緩和する。
【0149】
タグがインベントリされて、クワイエット状態にされており、異なるリーダー・ステーションから、または時間の経過とともに取り除かれるタグを監視するための連続的インベントリの一部として、再びインベントリすることが望ましい場合に、対称性が、レディ・クワイエット・プロトコルよりもパフォーマンスを実質的に高める。
【0150】
レディ・クワイエット・プロトコルの場合、タグは、いったんクワイエット状態に置かれると、インベントリに参加する前に、トーク・コマンドによりタッチされる。インベントリの前に複数のトーク・コマンドを発行できるが、多経路干渉が高いか、または送信周波数が間違っているか、またはタグがその時点にリーダーの交信範囲を外れている場合にはタグがトーク・コマンドを受信する保証はない。トーク・コマンドを確認する必要性をなくすことにより、単一の「ラッキーな」時間にまたは位置でタグをカウントすることができ、プロトコルの有効信頼範囲を延ばすことができる。
【0151】
永続的クワイエット状態にタイムアウトを使用することは、代替アプローチであるが、厳格に制御される永続時間を有するタグの製造は難しい。また、例えば、10秒のタイムアウトだと時間が短すぎて、多数のタグのインベントリを行えないが、30秒のタイムアウトだと時間が十分あるため、複数のリーダーが軌跡上で商品を追跡すること、またはタグを破壊したり、商品を遮蔽された袋に入れて持ち去る行為をしている万引き犯を捕らえることを妨げる可能性がある。
【0152】
タグの一推奨実装では、停電の場合に少なくとも20秒間その状態を維持する永続的ノードを用意する。永続的ノードは0状態に減衰し、[0]は状態Aを符号化し、[1]は状態Bを符号化すると仮定する。状態Bは、有効期限が切れて状態Aになる。状態Bが永続する時間に対する上限はないが、ランダムに電源が入り状態Aまたは状態Bになる状態に入ることは許されない。提案される実装では、タグがコマンドによりアドレッシングされるかどうかに関係なく、すべてのコマンドにおいて、ある時期に、永続的ノードをリフレッシュする。
【0153】
リーダーは、QueryAまたはQueryRepコマンド、ACKを使用して、上述のように、インベントリを実行することにより開始する。もう応えるタグがなくなった後、リーダーは、高水準の(例えば、上述のようにビット・マスキングを使用して多数のタグをアドレッシングする)問い合わせコマンドを実行して、カウントされないタグを探索することを続ける。状態Aにあるタグは、短時間しか電源投入されない場合でもカウントされ、コマンドがそのクロック、QueryA、ACK、1つの後続コマンドの同期をとるコマンドを確認するには十分長いことに注意されたい。この時点で、インベントリされたすべてのタグは状態Bに入る。所定の時間が経過した後、新しいインベントリは、同じように、ただし、QueryBを使用して、実行される。別々のトークまたはウェイク・コマンドを実行する必要はなく、その時点に電源投入されるすべてのタグは、すでに状態Bに置かれているであろう。このインベントリの後に、インベントリされるすべてのタグは、状態Aにあり、リーダーは、高水準のQueryAコマンドの実行をしばらく続けることができる。次に、Aインベントリは、再び開始することができ、しかも、トーク・コマンドを発行する必要はなく、したがって、トーク・コマンドが失敗する可能性はない。
【0154】
フィールド内に連続的に置かれるタグは、すべてのインベントリ、AおよびBの両方フレーバーでカウントされる。フィールドに入るタグは、最悪の場合、フィールドに入った後、それぞれのインベントリの始めのトーク・コマンドがクワイエット・トーク型プロトコルで受信されることが保証されているとしてもレディ・クワイエット・プロトコルが使用された場合と同じ最悪のときに、第2のインベントリでカウントされる。
【0155】
RFIDシステム内の永続的クワイエット機能は、タグがリーダーのフィールドを通って移動しているときにリーダーの交信範囲の縁部近くでタグをカウントする際の一貫性を実現する。交信範囲の縁部にあるタグについては、周波数が変更され、/または多経路干渉がリーダーフィールド内でのタグまたは他のオブジェクトの移動で変化するので、タグで使用できる電力が変動し、短時間にタグに電力を十分供給できるだけである。永続的スリープにより、タグの大半を素早くカウントすることができ、その後、Q=0について問い合わせを繰り返し、間欠的にしか電力を供給されないタグを探し出すことができる。対称的コマンドは、この包括的カウント機能を、インベントリされ、クワイエット状態にされた、したがってウェイクアップ・コマンドを受信しなかった場合に失敗するおそれのあるタグに広げる。これは、連続的インベントリ・プロセスの一部としても使用できる。
【0156】
このアプローチでは、レディ・クワエイット・プロトコルのクワイエット状態にあるためタグがカウントしにくい状態に入るのを防ぐ。トーク・コマンドを使用できるため、クワイエット状態から抜け出すのは難しくないように思えるかもしれない。しかし、タグがリーダーに知られていない場合、高水準のトーク・コマンドのみが潜在的にそのタグを起こし、高水準トーク・コマンドは、他のすべてのタグも同様に起こすであろう。タグがクワイエット状態にある場合、とにかく最近インベントリされているが、異なるリーダー・ステーションがそのインベントリを実行した場合、または連続的インベントリが望ましい場合には、タグを再びインベントリする必要があるように思われる。タグがレディ・クワイエット・プロトコルのクワイエット状態にある場合は、2つの広く隔たった時間に、場合によっては2つの周波数で2回タッチされる。タグのフィールド全体が目覚めた場合に1回アクティブにする必要があり、その後再びその特定のタグのインベントリが行われるときに、アクティブにする必要がある。2つのイベントが発生する必要があると、このことは、RF範囲の縁にあり、間欠的にしか電力を供給されないタグをカウントする可能性に大きな影響を及ぼすが、それは、対称的プロトコルを使用することにより回避される。さらに、さらにトーク・コマンドを発行する必要がないため、時間の節約にもなる。
【0157】
本発明の一実施形態では、RFトランスポート層は、UHFオペレーションを対象として設計されているが、他の代替オペレーションも使用できる。タグ−リーダーとリーダー−タグ間のリンクは、半二重として定義される。リーダーは、コマンド・シーケンスを送信することによりタグとの通信を開始する。リーダーは、その後、タグから応答が来るか監視しながら、変調されていない搬送波を送信することによりタグに対する応答期間を定める。タグは、応答しながらリーダー変調を検出することができるとは期待されていない。RFトランスポート層は、北米では902〜928MHzと2400.0〜2483.5MHzの帯域、ヨーロッパでは869.4〜869.65MHzと865.6〜867.6MHzの帯域、2450MHz近辺のUHF帯域を使用することができる。これらのUHF帯域は、リーダー−タグ間システム・データ転送速度が高速(北米では最大160Kbpsまで)である、タグ−リーダー間システム・データ転送速度は320kbps以上と高速である、典型的な条件の下で2メートル以上の範囲において高いヒット率で一貫した動作をする、タグとリーダーのアンテナは比較的小さい、北米帯域は、有意な周波数ホッピングを行えるだけ十分に広いなどの特徴を持つ。
【0158】
リーダーは、OFF(RFエネルギーを放射しない)、CW(振幅変調なしである電力レベルのRFエネルギーを放射する)、アクティブ(振幅変調でRFエネルギーを放射する)の3つの使用可能な状態のうちの1つに入ることができる。
【0159】
図10は、リーダー−タグ間変調の一実施形態を示す。アクティブ状態では、リーダー−タグ間リンクは、30%の最小変調深さの分相マンチェスター符号化を使用する。データ1は、高RF期間とその後に続く低RF期間により符号化することができる。データ0は、低RF期間とその後に続く高いRF期間により符号化することができる。変調形状、深さ、変調率は、後述の制限の範囲内で可変である。タグは、一定範囲の変調率にわたってタイミングを調整し、リーダー送信に自動的にロックすることができる。立ち下がりエッジは、マンチェスター符号化により定義されているように、公称時間から低い量のジッタに保持される。立ち下がり時間は、公称値から変化し、RFデューティ・サイクルに対応するようにできる。
【0160】
一般的な変調パラメータが図11に例示されている。パルス変調パラメータの特定の値が地域規制環境に応じて変わりうることは理解されるであろう。例えば、パルス変調パラメータは、以下のものを含むことができる。
T0:基本クロック・サイクル周期。リーダーからタグに送信される単一ビットに対する時間。
Tr:変調包絡線の立ち上がり時間、変調振幅変動の10%から90%。
Tf:変調包絡線の立ち下がり時間、変調振幅変動の90%から10%。
Tfwhm:変調振幅変動の50%で測定された変調包絡線のパルス幅。
Mod:変調された搬送波の振幅変動。
Ripple:意図された変調の縁での変調オーバーシュートおよびアンダーシュートのピーク・ツー・ピーク変動。
Dmod:意図された値からの変調深さのピーク・ツー・ピーク変動。
T0Tol:マスター・クロック間隔許容範囲、リーダー信号送受信の基本精度。
TCW:コマンドの直前の最短CW時間。
TCoast:タグ・クロックが次のコマンドを復号化する十分な精度を持つことを保証するEOFと次のコマンドとの間の最大持続時間。
【0161】
一実装では、リーダー変調シーケンスに関して、リーダー・クロックは、トランザクションの長さにわたって1%以内の安定性を持つことができる。他のすべての「基本クロック・サイクル」タイミングは、変調クロック周波数T0に比例する。一実装では、変調パラメータは、以下の値をとり、断りのない限り、すべての時間と周波数は、T0に対応する。
T0:マスター・クロック間隔(6μsから24μs)。
T0Tol:マスター・クロック間隔許容範囲(最大0.1%)。
DR:データ転送速度(1/T0)。
Trisejitter:立ち下がりエッジの公称値からの最大ジッタ(0.01*T0)。
DutyCycle:RF高周期デューティ・サイクル(=50%または>50%)。
MOD:変調深さ(最小30%)。
Tf:最大立ち下がり時間(1/4T0)。
Tr:最大立ち上がり時間(1/4T0)。
Ripple:リップル(10% pp)。
TCW:コマンドの前の最小CW時間は、レスポンスCW間隔と重なる場合がある(4×T0)。
TCoast:EOFから次のコマンドまでの持続時間(最大5ms、T0に対応しない)。
【0162】
図12は、リーダー−タグ間変調符号化の一例を示す。一実装では、すべてのトランザクションは、それぞれのコマンドに先行する最小CW期間で始まり、これによりタグはコマンドの始まりを特定できる。すべてのコマンドは、タグ・クロックを同期させる4つのスピンアップ・ビットで始まる。コマンドのデータ操作時に、タグは、低時間ジッタに保持される、リーダー−タグ間データ変調の立ち下がりエッジを参照することによりクロック位相を維持する。ビット期間T0は、リーダー−タグ間データ転送速度を決定する。最後のパルスの後、タグは、最小CW時間の後に次のコマンドをいつでも受信できる状態にあり、Tcoast間隔内に受信されたコマンドを復号化することができる。
【0163】
タグが次のコマンドの復号化に成功するために、リーダーは、Tcoast間隔内に次のトランザクションを開始する。この制約は、タグが次の電源投入時に再同期するので、タグがDC電力を失う十分な時間の間搬送波がオフにされていると適用されない。タグ・クロック周波数がスピンアップで20%を超えて調整される場合、タグはそのコマンドに応えない。
【0164】
図13は、データ「0」、「1」、マンチェスター高違反に対するデータ変調タイミングを示している。データ=「0」のときのリーダー−タグ間クロッキングに対するデータ変調タイミングTdata0は、RFのLOWレベル期間とその後のHIGHレベル期間により符号化される。データ=「1」のときのリーダー−タグ間クロッキングに対するデータ変調タイミングTdata1は、RFのHIGHレベル期間とその後のRFのLOWレベル期間により符号化される。マンチェスター高違反のリーダー−タグ間クロッキングに対するデータ変調タイミングTdata1は、2つの連続するRFのHIGHレベル期間により符号化される。
【0165】
リーダーは、適宜、コマンド間の時間をレスポンスに必要な時間以下に短縮することができる。リーダーは、応答期間中にタグ応答があるか監視し、期限切れ(TTagscrollDel+2*T0)前にタグにより応答が開始されていない場合に、その応答間隔に対する持続時間を短縮することができる。
【0166】
タグは、2つの状態の間の後方散乱を変調する手段を使ってリーダーに応答する。これら2つの状態は、位相または振幅またはその両方で後方散乱を変調することができる。
【0167】
これらの状態のうちの一方は、タグのエネルギー回収能力を損なうと仮定されるが、ただし必ずしもそうではなく、この説明では、「クローバー・オン」状態と呼ばれる。タグの後方散乱状態は、後方散乱変調が開始するまで「クローバー・オフ」であると仮定される。多数のタグが後方散乱変調の終わりに「クローバー・オフ」状態に戻る必要があるので、すべてのタグは、その後方散乱状態を、後方散乱応答を開始する前の状態に戻す必要がある。この遷移は、後方散乱変調モードで最小の特徴サイズの時間と等しい時間に(クローバー・オン状態に)伝達された最後の後方散乱遷移の終わりの後に発生する。
【0168】
タグ−リーダー間変調は、リーダー−タグ間コマンドの[MODULATION]フィールドにより選択され、[MODULATION]=0の場合にはFM0、[MODULATION]=1の場合にはF2Fのいずれかであり、または[MODULATION]=3の場合には今のところ未定義の高周波数モードである。すべてのタグは、3つの符号化形式すべてを実装する必要がある場合がある。リーダーは、1つまたは複数の復号化器を実装することができる。F2F符号化のプリミティブは、FM0と同じタイミングを持ち、同じであるが、2つのFM0プリミティブは、F2Fのそれぞれのビットを符号化するために使用される。F2F符号化器は、ビット反転器が先にあるFM0符号化器を使用し、相次ぐ各ビットについて2回符号化することにより実装することができる。
【0169】
FM0では、タグは、後方散乱変調でリーダー・コマンドに応答する。それぞれのビット期間の間に後方散乱状態の変化があり、0ビットはビット時間の中心のところで後方散乱状態の追加の変化を持つ。タグ−リーダー間の公称データ転送速度は、リーダー−タグ間転送速度の4倍であるが、タグの発振器ドリフトのせいで80ビット・レスポンス・ウィンドウにわたって最大10%まで変化しうる。後方散乱ノイズ環境を制御できる場合(つまり、蛍光灯などの周囲を遮蔽する)にはFM0が使用されることが予想される。
【0170】
F2Fでは、タグは、4間隔ビット・セル符号化スキームに従う後方散乱変調でリーダー・コマンドに応答する。ビット・セルにおいて0に対し2回の遷移が観察され、1に対し4回の遷移が観察される。タグ−リーダー間の公称データ転送速度は、リーダー−タグ間転送速度の2倍であるが、タグの発振器ドリフトのせいで80ビット・レスポンス・ウィンドウにわたって最大10%まで変化しうる。
【0171】
タグ−リーダー間変調パラメータのいくつかの例を以下に示す。
T0:リーダー−タグ間マスター・クロック間隔。
TTagbitcell:タグ−リーダー間ビット・セル間隔(FM0にはT0/4、F2FにはT0/2)。
Tag Data Rate:タグ−リーダー間公称データ転送速度(FM0には4/T0、F2Fには2/T0)。
TTagscrollDel:コマンドの終わりからタグScrollID応答の開始までの応答遅延(2×T0)。
TTagDel:コマンドの終わりからタグID応答の開始までの応答遅延(2×T0)。
TTagreplyNom:8+16+96ビットScrollID応答に対するタグ−リーダー間応答持続時間(TTagbitcell×120ビット)。
ΔTTagbitcell:120ビットScrollID応答の最後のビットのタグ−リーダー間ビット・セル間隔変動(最大10%)。
TCoast:EOFから次のコマンドまでの持続時間(最大5ms)。
【0172】
データの終わりからScrollIDまたはVerifyIDコマンドの開始までの遅延、TTagscrollDelは図14に例示されている。ScrollID応答の持続時間TTagreplyNomも図14に例示されている。ビット・セル持続時間の変動ΔTTagbitcellは、図15に例示されている。
【0173】
タグ−リーダー間ビット・セル符号化は、図16に示されている。FM0符号化では、タグ後方散乱の状態は、それぞれのビットのエッジで変化し、「0」データ・ビットに対応するビット間隔の真ん中で状態の追加変更が生じる。クローバーは、オフ状態で開始し、最初のデータ・ビットの始めにオン状態への最初の遷移を行う。最終ビット間隔遷移は、潜在的に1つの付加的ビット時間の後のほうのエッジで、HIGHレベル状態で(クローバー状態ではなく)変調を離れる必要がある場合に、終わりに挿入される。
【0174】
F2F符号化では、タグ後方散乱は、ビット・セル毎に2つのシンボルのうちの1つの選択により変調される。この符号化スキームの下では、ビットの中央で常に遷移があり、マンチェスター符号化と異なり、0と1の意味は、コードが反転されたときも維持される。図17は、この反転を例示している。
【0175】
この説明から、本発明の複数の態様は、少なくとも一部は、ソフトウェアで実現できることは明白であろう。つまり、これらの手法は、メモリ111メモリ319などのメモリに格納されている命令シーケンスを実行するマイクロプロセッサ113またはコントローラ207などの、プロセッサに応えて、コンピュータ・システムまたはその他のデータ処理システム内で実行することができる。さまざまな実施形態において、本発明を実装するために、ワードワイヤード回路をソフトウェア命令と組み合わせて使用することができる。したがって、これらの手法は、ハードウェア回路とソフトウェアの特定の組み合わせに限定されず、またデータ処理システムにより実行される命令の特定のソースにも限定されない。さらに、この説明全体を通して、説明を簡単にするため、さまざまな機能やオペレーションはソフトウェア・コードにより実行されるか、またはソフトウェア・コードにより引き起こされるものとして説明されている。しかし、当業者であれば、そのような表現が意味しているのは、それらの機能がマイクロプロセッサ113またはコントローラ207などのプロセッサによるコードの実行から結果として生じるということであると理解するであろう。
【0176】
機械可読媒体を使用することにより、データ処理システムにより実行されたときに本発明のさまざまな方法をシステムに実行させるソフトウェアとデータを格納することができる。この実行可能ソフトウェアとデータは、例えば、メモリ111またはメモリ319を含む、さまざまな場所に格納することができる。このソフトウェアおよび/またはデータの一部分を、これらの記憶デバイスのうちのいずれか1つに格納することができる。
【0177】
したがって、機械可読媒体は、機械(例えば、コンピュータ、ネットワーク・デバイス、パーソナル・デジタル・アシスタント、製造装置、1つまたは複数のプロセッサの集まりを含むデバイスなど)によりアクセス可能な形態で情報を提供(つまり、格納および/または伝送)するメカニズムを備える。例えば、機械可読媒体は、記録可能/記録不可能媒体(例えば、読み取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ・デバイスなど)だけでなく、電気、光、音響、またはその他の形態の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号など)などをも含む。
【0178】
この説明で使用される略語をいくつか以下にまとめた。
AM:振幅変調。
CRC:巡回冗長検査。
CW:連続波。
kbps:キロビット/秒。
LSB:最下位ビット。
ms:ミリ秒(10-3秒)。
MHz:メガヘルツ(106ヘルツ)。
MSB:最上位ビット。
RAM:ランダム・アクセス・メモリ。
RF:無線周波数。
RFID:無線認証。
RTF:リーダー・トーク・ファースト。
μs:マイクロ秒(10-6秒)。
VLC:超低価格。
【0179】
本明細書では、発明は特定の例を参照しつつ説明がなされている。本発明は、付属の請求項で定められているように、本発明の広い精神と範囲を逸脱することなくさまざまな変更を加えられることは明白であろう。したがって、明細書および図面は、限定ではなく、説明することを目的としているものとみなすべきである。
【図面の簡単な説明】
【0180】
【図1】リーダーを含む識別システムと複数のRFタグの一例を示す図である。
【図2】本発明のいくつかの実施形態とともに使用することができるRFタグの一実施形態の一例を示す図である。
【図3】本発明の一実施形態によるRFタグの一例を示す図である。
【図4】本発明の一実施形態による通信方法の流れ図である。
【図5】本発明の一実施形態によりタグがリーダーと通信する方法の流れ図である。
【図6】本発明の一実施形態により問い合わせに応答するかどうかをタグがランダムに決定するための意思決定回路の一例を示す図である。
【図7】本発明の一実施形態によりタグがリーダーと通信するための乱数を生成する方法の流れ図である。
【図8】本発明の一実施形態によりリーダーが多数のタグからタグ・データを読み取る方法の流れ図である。
【図9】本発明の一実施形態によるタグ状態図である。
【図10】本発明のいくつかの実施形態によりリーダーからタグへブロードキャストするための信号変調を示す図である。
【図11】本発明のいくつかの実施形態によりリーダーからタグへブロードキャストするための信号変調を示す図である。
【図12】本発明のいくつかの実施形態によりリーダーからタグへブロードキャストするための信号変調を示す図である。
【図13】本発明のいくつかの実施形態によりリーダーからタグへブロードキャストするための信号変調を示す図である。
【図14】本発明のいくつかの実施形態によりタグがリーダーに応答するするための信号変調を示す図である。
【図15】本発明のいくつかの実施形態によりタグがリーダーに応答するするための信号変調を示す図である。
【図16】本発明のいくつかの実施形態によりタグがリーダーに応答するするための信号変調を示す図である。
【図17】本発明のいくつかの実施形態によりタグがリーダーに応答するするための信号変調を示す図である。
【特許請求の範囲】
【請求項1】
複数のタグに問い合わせを行う方法であって、
応答の第1の確率を示す確率パラメータの第1の値を含む1つまたは複数の第1の問い合わせコマンドをブロードキャストし、前記複数のタグのそれぞれは、応答するかしないかをランダムに決定することと、
前記第1の問い合わせコマンドに応える応答を検出することとを含む方法。
【請求項2】
さらに、
前記1つまたは複数の第1の問い合わせコマンドへの応答がないとの判定に応えて、応答の前記第1の確率よりも大きい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストすることを含む請求項1に記載の方法。
【請求項3】
さらに、
前記1つまたは複数の第1の問い合わせコマンドへの判読できる応答がないとの判定に応えて、応答の前記第1の確率よりも小さい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストすることを含む請求項1に記載の方法。
【請求項4】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項1に記載の方法。
【請求項5】
pは実質的に0.5に等しい請求項4に記載の方法。
【請求項6】
前記複数のタグのうちの第1のタグに対する応答の前記第1の確率は、前記複数のタグのうちの第2のタグに対する応答の前記第1の確率と異なる請求項1に記載の方法。
【請求項7】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、第2の状態にある複数のタグが前記第1の問い合わせコマンドに応答せず、前記第1の状態にある複数のタグが前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項1に記載の方法。
【請求項8】
さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドをブロードキャストし、前記第1の状態にあるタグは、前記第2の問い合わせコマンドに応答せず、前記第2の状態にあるタグは前記確率パラメータの前記第2の値に従って前記第2の問い合わせコマンドにランダム応答することと、
前記第2の問い合わせコマンドに応える応答を検出することとを含む請求項7に記載の方法。
【請求項9】
前記第1と第2の問い合わせコマンドは前記第1と第2の状態に対して対称的である請求項8に記載の方法。
【請求項10】
さらに、
判読可能な応答が第1のハンドシェーキング・データを含む前記第1の問い合わせコマンドへの前記判読可能な応答に応えて、前記第1のハンドシェーキング・データを含む第2のコマンドを送信することと、
前記第2のコマンドへの応答としてタグ識別データを受信することとを含む請求項7に記載の方法。
【請求項11】
さらに、
タグ識別データが正常に受信されない場合にタグ識別データの受信のエラーを示すコマンドを送信することを含む請求項10に記載の方法。
【請求項12】
さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドをブロードキャストすることを含む請求項1に記載の方法。
【請求項13】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まない請求項12に記載の方法。
【請求項14】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項13に記載の方法。
【請求項15】
タグがリーダーからの複数問い合わせに応える方法であって、
確率パラメータの第1の値を含む第1の問い合わせコマンドを前記リーダーから受信することと、
前記第1の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率が前記確率パラメータの前記第1の値により判定されることを特徴とする方法。
【請求項16】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む応答を送信することを含む請求項15に記載の方法。
【請求項17】
前記第1のハンドシェーキング・データは、前記第1の問い合わせコマンドに応えて生成される乱数である請求項16に記載の方法。
【請求項18】
前記確率パラメータの前記第1の値は整数Qであり、応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項15に記載の方法。
【請求項19】
pは実質的に0.5に等しい請求項18に記載の方法。
【請求項20】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、前記タグは、前記タグが第2の状態にある場合に前記第1の問い合わせコマンドに応答せず、前記タグが前記第1の状態にある場合に前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項15に記載の方法。
【請求項21】
さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドを受信することと、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率は、前記タグが前記第2の状態にある場合に前記確率パラメータの前記第2の値により決定され、前記タグは、前記タグが前記第1の状態にある場合に前記第2の問い合わせコマンドに応答しない請求項20に記載の方法。
【請求項22】
前記タグは、前記第1と第2の状態に対して対称的に前記第1と第2の問い合わせコマンドを処理する請求項21に記載の方法。
【請求項23】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む第1の応答を送信することと、
前記リーダーから前記第1のハンドシェーキング・データを含む第2のコマンドを受信したことに応えて、タグ識別データを含む第2の応答を送信することとを含む請求項20に記載の方法。
【請求項24】
さらに、
前記第2の応答を送信した後問い合わせコマンドを受信したことに応えて、前記第1の状態から前記第2の状態に切り換えることを含み、前記リーダー側で前記タグ識別データを受信した際のエラーを示すコマンドを受信した後、前記タグは、前記エラーを示すコマンドの後に問い合わせコマンドが受信された場合に前記第1の状態のままになる請求項23に記載の方法。
【請求項25】
さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドを受信することと、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率は、前記確率パラメータの前記第1の値により判定される請求項15に記載の方法。
【請求項26】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まず、
前記タグは、前記複数のパラメータの前記第1の複数の値に従って前記第2の問い合わせコマンドを処理する請求項25に記載の方法。
【請求項27】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項26に記載の方法。
【請求項28】
複数のタグに問い合わせを行うリーダーであって、
応答の第1の確率を示す確率パラメータの第1の値を含む1つまたは複数の第1の問い合わせコマンドをブロードキャストする手段であって、前記複数のタグのそれぞれにより応答するかしないかがランダムに決定される手段と、
前記第1の問い合わせコマンドに応える応答を検出する手段とを備えるリーダー。
【請求項29】
さらに、
前記1つまたは複数の第1の問い合わせコマンドへの応答がないとの判定に応えて、応答の前記第1の確率よりも大きい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストする手段を備える請求項28に記載のリーダー。
【請求項30】
さらに、
前記1つまたは複数の第1の問い合わせコマンドへの判読できる応答がないとの判定に応えて、応答の前記第1の確率よりも小さい応答の第2の確率を示す前記確率パラメータの第2の値とともに第2の問い合わせコマンドをブロードキャストする手段を備える請求項28に記載のリーダー。
【請求項31】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項28に記載のリーダー。
【請求項32】
pは実質的に0.5に等しい請求項31に記載のリーダー。
【請求項33】
前記複数のタグのうちの第1のタグに対する応答の前記第1の確率は、前記複数のタグのうちの第2のタグに対する応答の前記第1の確率と異なる請求項28に記載のリーダー。
【請求項34】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、第2の状態にある複数のタグが前記第1の問い合わせコマンドに応答せず、前記第1の状態にある複数のタグが前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項28に記載のリーダー。
【請求項35】
さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドをブロードキャストし、前記第1の状態にあるタグは、前記第2の問い合わせコマンドに応答せず、前記第2の状態にあるタグは前記確率パラメータの前記第2の値に従って前記第2の問い合わせコマンドにランダム応答する手段と、
前記第2の問い合わせコマンドに応える応答を検出する手段とを備える請求項34に記載のリーダー。
【請求項36】
前記第1と第2の問い合わせコマンドは、前記第1と第2の状態に対して対称的である請求項35に記載のリーダー。
【請求項37】
さらに、
判読可能な応答が第1のハンドシェーキング・データを含む前記第1の問い合わせコマンドへの前記判読可能な応答に応えて、前記第1のハンドシェーキング・データを含む第2のコマンドを送信する手段と、
前記第2のコマンドへの応答としてタグ識別データを受信する手段とを備える請求項34に記載のリーダー。
【請求項38】
さらに、
タグ識別データが正常に受信されない場合にタグ識別データの受信のエラーを示すコマンドを送信する手段を備える請求項37に記載のリーダー。
【請求項39】
さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドをブロードキャストする手段を備える請求項28に記載のリーダー。
【請求項40】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まない請求項39に記載のリーダー。
【請求項41】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項40に記載のリーダー。
【請求項42】
リーダーからの問い合わせに応えるタグであって、
確率パラメータの第1の値を含む第1の問い合わせコマンドを前記リーダーから受信する手段と、
前記第1の問い合わせコマンドに応答するかしないかをランダムに決定する手段とを備え、応答の確率が前記確率パラメータの前記第1の値により判定されることを特徴とするタグ。
【請求項43】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む応答を送信する手段を備える請求項42に記載のタグ。
【請求項44】
前記第1のハンドシェーキング・データは、前記第1の問い合わせコマンドに応えて生成される乱数である請求項43に記載のタグ。
【請求項45】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項42に記載のタグ。
【請求項46】
pは実質的に0.5に等しい請求項45に記載のタグ。
【請求項47】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、前記タグは、前記タグが第2の状態にある場合に前記第1の問い合わせコマンドに応答せず、前記タグが前記第1の状態にある場合に前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項42に記載のタグ。
【請求項48】
さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドを受信する手段と、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定する手段とを備え、応答の確率は、前記タグが前記第2の状態にある場合に前記確率パラメータの前記第2の値により決定され、前記タグは、前記タグが前記第1の状態にある場合に前記第2の問い合わせコマンドに応答しない請求項47に記載のタグ。
【請求項49】
前記タグは、前記第1と第2の状態に対して対称的に前記第1と第2の問い合わせコマンドを処理する請求項48に記載のタグ。
【請求項50】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む第1の応答を送信する手段と、
前記リーダーから前記第1のハンドシェーク・データを含む第2のコマンドを受信したことに応えて、タグ識別データを含む第2の応答を送信する手段とを備える請求項47に記載のタグ。
【請求項51】
さらに、
前記第2の応答を送信した後問い合わせコマンドを受信したことに応えて、前記第1の状態から前記第2の状態に切り換える手段を備え、前記リーダー側で前記タグ識別データを受信した際のエラーを示すコマンドを受信した後、前記タグは、前記エラーを示すコマンドの後に問い合わせコマンドが受信された場合に前記第1の状態のままになる請求項50に記載のタグ。
【請求項52】
さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドを受信する手段と、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定する手段とを備え、応答の確率が前記確率パラメータの前記第1の値により判定される請求項42に記載のタグ。
【請求項53】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まず、
前記タグは、前記複数のパラメータの前記第1の複数の値に従って前記第2の問い合わせコマンドを処理する請求項52に記載のタグ。
【請求項54】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項53に記載のタグ。
【請求項55】
データ処理システム上で実行された場合に複数のタグに問い合わせを行う方法を前記システムに実行させる命令を格納する機械可読媒体であって、前記実行方法は、
応答の第1の確率を示す確率パラメータの第1の値を含む1つまたは複数の第1の問い合わせコマンドをブロードキャストし、前記複数のタグのそれぞれは、応答するかしないかをランダムに決定することと、
前記第1の問い合わせコマンドに応える応答を検出することとを含む機械可読媒体。
【請求項56】
前記方法は、さらに、
前記1つまたは複数の第1の問い合わせコマンドへの応答がないとの判定に応えて、応答の前記第1の確率よりも大きい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストすることを含む請求項55に記載の媒体。
【請求項57】
前記方法は、さらに、
前記1つまたは複数の第1の問い合わせコマンドへの判読できる応答がないとの判定に応えて、応答の前記第1の確率よりも小さい応答の第2の確率を示す前記確率パラメータの第2の値とともに第2の問い合わせコマンドをブロードキャストすることを含む請求項55に記載の媒体。
【請求項58】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項55に記載の媒体。
【請求項59】
pは実質的に0.5に等しい請求項58に記載の媒体。
【請求項60】
前記複数のタグのうちの第1のタグに対する応答の前記第1の確率は、前記複数のタグのうちの第2のタグに対する応答の前記第1の確率と異なる請求項55に記載の媒体。
【請求項61】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、第2の状態にある複数のタグが前記第1の問い合わせコマンドに応答せず、前記第1の状態にある複数のタグが前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項55に記載の媒体。
【請求項62】
前記方法は、さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドをブロードキャストし、前記第1の状態にあるタグは、前記第2の問い合わせコマンドに応答せず、前記第2の状態にあるタグは前記確率パラメータの前記第2の値に従って前記第2の問い合わせコマンドにランダム応答することと、
前記第2の問い合わせコマンドに応える応答を検出することとを含む請求項61に記載の媒体。
【請求項63】
前記第1と第2の問い合わせコマンドは前記第1と第2の状態に対して対称的である請求項62に記載の媒体。
【請求項64】
前記方法は、さらに、
判読可能な応答が第1のハンドシェーキング・データを含む前記第1の問い合わせコマンドへの前記判読可能な応答に応えて、前記第1のハンドシェーキング・データを含む第2のコマンドを送信することと、
前記第2のコマンドへの応答としてタグ識別データを受信することとを含む請求項61に記載の媒体。
【請求項65】
前記方法は、さらに、
識別タグ識別データが正常に受信されない場合にタグ識別データの受信のエラーを示すコマンドを送信することを含む請求項64に記載の媒体。
【請求項66】
前記方法は、さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドをブロードキャストすることを含む請求項55に記載の媒体。
【請求項67】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まない請求項66に記載の媒体。
【請求項68】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項67に記載の媒体。
【請求項69】
リーダーからの問い合わせに応えるタグであって、
アンテナと、
アンテナに結合された集積回路(IC)であって、
確率パラメータの第1の値とともに第1の問い合わせコマンドを前記リーダーから受信し、
前記第1の問い合わせコマンドに応答するかしないかをランダムに決定する集積回路(IC)とを備え、応答の確率が前記確率パラメータの前記第1の値により判定されることを特徴とするタグ。
【請求項70】
前記アンテナに結合された前記ICは、さらに、応答のランダムな決定に応えて、第1のハンドシェーキング・データとともに応答を送信する請求項69に記載のタグ。
【請求項71】
前記第1のハンドシェーキング・データは、前記第1の問い合わせコマンドに応えて生成される乱数である請求項70に記載のタグ。
【請求項72】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項69に記載のタグ。
【請求項73】
pは実質的に0.5に等しい請求項72に記載のタグ。
【請求項74】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、前記タグは、前記タグが第2の状態にある場合に前記第1の問い合わせコマンドに応答せず、前記タグが前記第1の状態にある場合に前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項69に記載のタグ。
【請求項75】
前記アンテナに結合された前記ICは、さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドを受信し、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率は、前記タグが前記第2の状態にある場合に前記確率パラメータの前記第2の値に従い、前記タグは、前記第1の状態にある場合に前記第2の問い合わせコマンドに応答しない請求項74に記載のタグ。
【請求項76】
前記タグは、前記第1と第2の状態に対して対称的に前記第1と第2の問い合わせコマンドを処理する請求項75に記載のタグ。
【請求項77】
前記アンテナに結合された前記ICは、さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む第1の応答を送信し、
前記リーダーから前記第1のハンドシェーク・データを含む第2のコマンドを受信したことに応えて、タグ識別データを含む第2の応答を送信する請求項74に記載のタグ。
【請求項78】
前記アンテナに結合された前記ICは、前記第2の応答を送信した後問い合わせコマンドを受信したことに応えて、前記第1の状態から前記第2の状態に切り換え、前記リーダー側で前記タグ識別データを受信した際のエラーを示すコマンドを受信した後、前記タグは、前記エラーを示すコマンドの後に問い合わせコマンドが受信された場合に前記第1の状態のままになる請求項77に記載のタグ。
【請求項79】
前記アンテナに結合された前記ICは、さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドを受信し、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定し、応答の確率は、前記確率パラメータの前記第1の値により判定される請求項69に記載のタグ。
【請求項80】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まず、
前記タグは、前記複数のパラメータの前記第1の複数の値に従って前記第2の問い合わせコマンドを処理する請求項79に記載のタグ。
【請求項81】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項80に記載のタグ。
【請求項82】
複数のタグに問い合わせを行う装置であって、
アンテナと、
リーダーであって、
前記アンテナに結合された受信器と、
前記アンテナに結合された送信器と、
前記受信器、前記送信器、メモリに結合され、前記送信器と前記受信器を制御するプロセッサとを備える前記リーダーと、
前記リーダーは応答の第1の確率を示す確率パラメータの第1の値を含む1つまたは複数の第1の問い合わせコマンドをブロードキャストし、前記複数のタグのそれぞれは応答するかしないかをランダムに決定し、
前記リーダーはさらに前記第1の問い合わせコマンドに応える応答を検出することを特徴とする装置。
【請求項83】
前記リーダーはさらに前記1つまたは複数の第1の問い合わせコマンドへの応答がないとの判定に応えて、応答の前記第1の確率よりも大きい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストする請求項82に記載の装置。
【請求項84】
前記リーダーはさらに前記1つまたは複数の第1の問い合わせコマンドへの判読可能な応答がないとの判定に応えて、応答の前記第1の確率よりも小さい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストする請求項82に記載の装置。
【請求項85】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項82に記載の装置。
【請求項86】
pは実質的に0.5に等しい請求項82に記載の装置。
【請求項87】
前記複数のタグのうちの第1のタグに対する応答の前記第1の確率は、前記複数のタグのうちの第2のタグに対する応答の前記第1の確率と異なる請求項82に記載の装置。
【請求項88】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、第2の状態にある複数のタグが前記第1の問い合わせコマンドに応答せず、前記第1の状態にある複数のタグが前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項82に記載の装置。
【請求項89】
前記リーダーはさらに前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドをブロードキャストし、前記第1の状態にあるタグは、前記第2の問い合わせコマンドに応答せず、前記第2の状態にあるタグは、前記確率パラメータの前記第2の値に従って前記第2の問い合わせコマンドにランダム応答し、前記リーダーはさらに前記第2の問い合わせコマンドに応えて応答を検出する請求項88に記載の装置。
【請求項90】
データ処理システム上で実行された場合にリーダーからの問い合わせに応える方法を前記システムに実行させる命令を格納する機械可読媒体であって、前記実行方法は、
確率パラメータの第1の値を含む第1の問い合わせコマンドを前記リーダーから受信することと、
前記第1の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率が前記確率パラメータの前記第1の値により判定されることを特徴とする機械可読媒体。
【請求項91】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む応答を送信することを含む請求項90に記載の方法。
【請求項92】
前記第1のハンドシェーキング・データは、前記第1の問い合わせコマンドに応えて生成される乱数である請求項91に記載の方法。
【請求項93】
前記確率パラメータの前記第1の値は整数Qであり、応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項90に記載の方法。
【請求項94】
pは実質的に0.5に等しい請求項18に記載の方法。
【請求項1】
複数のタグに問い合わせを行う方法であって、
応答の第1の確率を示す確率パラメータの第1の値を含む1つまたは複数の第1の問い合わせコマンドをブロードキャストし、前記複数のタグのそれぞれは、応答するかしないかをランダムに決定することと、
前記第1の問い合わせコマンドに応える応答を検出することとを含む方法。
【請求項2】
さらに、
前記1つまたは複数の第1の問い合わせコマンドへの応答がないとの判定に応えて、応答の前記第1の確率よりも大きい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストすることを含む請求項1に記載の方法。
【請求項3】
さらに、
前記1つまたは複数の第1の問い合わせコマンドへの判読できる応答がないとの判定に応えて、応答の前記第1の確率よりも小さい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストすることを含む請求項1に記載の方法。
【請求項4】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項1に記載の方法。
【請求項5】
pは実質的に0.5に等しい請求項4に記載の方法。
【請求項6】
前記複数のタグのうちの第1のタグに対する応答の前記第1の確率は、前記複数のタグのうちの第2のタグに対する応答の前記第1の確率と異なる請求項1に記載の方法。
【請求項7】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、第2の状態にある複数のタグが前記第1の問い合わせコマンドに応答せず、前記第1の状態にある複数のタグが前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項1に記載の方法。
【請求項8】
さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドをブロードキャストし、前記第1の状態にあるタグは、前記第2の問い合わせコマンドに応答せず、前記第2の状態にあるタグは前記確率パラメータの前記第2の値に従って前記第2の問い合わせコマンドにランダム応答することと、
前記第2の問い合わせコマンドに応える応答を検出することとを含む請求項7に記載の方法。
【請求項9】
前記第1と第2の問い合わせコマンドは前記第1と第2の状態に対して対称的である請求項8に記載の方法。
【請求項10】
さらに、
判読可能な応答が第1のハンドシェーキング・データを含む前記第1の問い合わせコマンドへの前記判読可能な応答に応えて、前記第1のハンドシェーキング・データを含む第2のコマンドを送信することと、
前記第2のコマンドへの応答としてタグ識別データを受信することとを含む請求項7に記載の方法。
【請求項11】
さらに、
タグ識別データが正常に受信されない場合にタグ識別データの受信のエラーを示すコマンドを送信することを含む請求項10に記載の方法。
【請求項12】
さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドをブロードキャストすることを含む請求項1に記載の方法。
【請求項13】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まない請求項12に記載の方法。
【請求項14】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項13に記載の方法。
【請求項15】
タグがリーダーからの複数問い合わせに応える方法であって、
確率パラメータの第1の値を含む第1の問い合わせコマンドを前記リーダーから受信することと、
前記第1の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率が前記確率パラメータの前記第1の値により判定されることを特徴とする方法。
【請求項16】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む応答を送信することを含む請求項15に記載の方法。
【請求項17】
前記第1のハンドシェーキング・データは、前記第1の問い合わせコマンドに応えて生成される乱数である請求項16に記載の方法。
【請求項18】
前記確率パラメータの前記第1の値は整数Qであり、応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項15に記載の方法。
【請求項19】
pは実質的に0.5に等しい請求項18に記載の方法。
【請求項20】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、前記タグは、前記タグが第2の状態にある場合に前記第1の問い合わせコマンドに応答せず、前記タグが前記第1の状態にある場合に前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項15に記載の方法。
【請求項21】
さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドを受信することと、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率は、前記タグが前記第2の状態にある場合に前記確率パラメータの前記第2の値により決定され、前記タグは、前記タグが前記第1の状態にある場合に前記第2の問い合わせコマンドに応答しない請求項20に記載の方法。
【請求項22】
前記タグは、前記第1と第2の状態に対して対称的に前記第1と第2の問い合わせコマンドを処理する請求項21に記載の方法。
【請求項23】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む第1の応答を送信することと、
前記リーダーから前記第1のハンドシェーキング・データを含む第2のコマンドを受信したことに応えて、タグ識別データを含む第2の応答を送信することとを含む請求項20に記載の方法。
【請求項24】
さらに、
前記第2の応答を送信した後問い合わせコマンドを受信したことに応えて、前記第1の状態から前記第2の状態に切り換えることを含み、前記リーダー側で前記タグ識別データを受信した際のエラーを示すコマンドを受信した後、前記タグは、前記エラーを示すコマンドの後に問い合わせコマンドが受信された場合に前記第1の状態のままになる請求項23に記載の方法。
【請求項25】
さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドを受信することと、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率は、前記確率パラメータの前記第1の値により判定される請求項15に記載の方法。
【請求項26】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まず、
前記タグは、前記複数のパラメータの前記第1の複数の値に従って前記第2の問い合わせコマンドを処理する請求項25に記載の方法。
【請求項27】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項26に記載の方法。
【請求項28】
複数のタグに問い合わせを行うリーダーであって、
応答の第1の確率を示す確率パラメータの第1の値を含む1つまたは複数の第1の問い合わせコマンドをブロードキャストする手段であって、前記複数のタグのそれぞれにより応答するかしないかがランダムに決定される手段と、
前記第1の問い合わせコマンドに応える応答を検出する手段とを備えるリーダー。
【請求項29】
さらに、
前記1つまたは複数の第1の問い合わせコマンドへの応答がないとの判定に応えて、応答の前記第1の確率よりも大きい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストする手段を備える請求項28に記載のリーダー。
【請求項30】
さらに、
前記1つまたは複数の第1の問い合わせコマンドへの判読できる応答がないとの判定に応えて、応答の前記第1の確率よりも小さい応答の第2の確率を示す前記確率パラメータの第2の値とともに第2の問い合わせコマンドをブロードキャストする手段を備える請求項28に記載のリーダー。
【請求項31】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項28に記載のリーダー。
【請求項32】
pは実質的に0.5に等しい請求項31に記載のリーダー。
【請求項33】
前記複数のタグのうちの第1のタグに対する応答の前記第1の確率は、前記複数のタグのうちの第2のタグに対する応答の前記第1の確率と異なる請求項28に記載のリーダー。
【請求項34】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、第2の状態にある複数のタグが前記第1の問い合わせコマンドに応答せず、前記第1の状態にある複数のタグが前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項28に記載のリーダー。
【請求項35】
さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドをブロードキャストし、前記第1の状態にあるタグは、前記第2の問い合わせコマンドに応答せず、前記第2の状態にあるタグは前記確率パラメータの前記第2の値に従って前記第2の問い合わせコマンドにランダム応答する手段と、
前記第2の問い合わせコマンドに応える応答を検出する手段とを備える請求項34に記載のリーダー。
【請求項36】
前記第1と第2の問い合わせコマンドは、前記第1と第2の状態に対して対称的である請求項35に記載のリーダー。
【請求項37】
さらに、
判読可能な応答が第1のハンドシェーキング・データを含む前記第1の問い合わせコマンドへの前記判読可能な応答に応えて、前記第1のハンドシェーキング・データを含む第2のコマンドを送信する手段と、
前記第2のコマンドへの応答としてタグ識別データを受信する手段とを備える請求項34に記載のリーダー。
【請求項38】
さらに、
タグ識別データが正常に受信されない場合にタグ識別データの受信のエラーを示すコマンドを送信する手段を備える請求項37に記載のリーダー。
【請求項39】
さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドをブロードキャストする手段を備える請求項28に記載のリーダー。
【請求項40】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まない請求項39に記載のリーダー。
【請求項41】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項40に記載のリーダー。
【請求項42】
リーダーからの問い合わせに応えるタグであって、
確率パラメータの第1の値を含む第1の問い合わせコマンドを前記リーダーから受信する手段と、
前記第1の問い合わせコマンドに応答するかしないかをランダムに決定する手段とを備え、応答の確率が前記確率パラメータの前記第1の値により判定されることを特徴とするタグ。
【請求項43】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む応答を送信する手段を備える請求項42に記載のタグ。
【請求項44】
前記第1のハンドシェーキング・データは、前記第1の問い合わせコマンドに応えて生成される乱数である請求項43に記載のタグ。
【請求項45】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項42に記載のタグ。
【請求項46】
pは実質的に0.5に等しい請求項45に記載のタグ。
【請求項47】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、前記タグは、前記タグが第2の状態にある場合に前記第1の問い合わせコマンドに応答せず、前記タグが前記第1の状態にある場合に前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項42に記載のタグ。
【請求項48】
さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドを受信する手段と、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定する手段とを備え、応答の確率は、前記タグが前記第2の状態にある場合に前記確率パラメータの前記第2の値により決定され、前記タグは、前記タグが前記第1の状態にある場合に前記第2の問い合わせコマンドに応答しない請求項47に記載のタグ。
【請求項49】
前記タグは、前記第1と第2の状態に対して対称的に前記第1と第2の問い合わせコマンドを処理する請求項48に記載のタグ。
【請求項50】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む第1の応答を送信する手段と、
前記リーダーから前記第1のハンドシェーク・データを含む第2のコマンドを受信したことに応えて、タグ識別データを含む第2の応答を送信する手段とを備える請求項47に記載のタグ。
【請求項51】
さらに、
前記第2の応答を送信した後問い合わせコマンドを受信したことに応えて、前記第1の状態から前記第2の状態に切り換える手段を備え、前記リーダー側で前記タグ識別データを受信した際のエラーを示すコマンドを受信した後、前記タグは、前記エラーを示すコマンドの後に問い合わせコマンドが受信された場合に前記第1の状態のままになる請求項50に記載のタグ。
【請求項52】
さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドを受信する手段と、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定する手段とを備え、応答の確率が前記確率パラメータの前記第1の値により判定される請求項42に記載のタグ。
【請求項53】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まず、
前記タグは、前記複数のパラメータの前記第1の複数の値に従って前記第2の問い合わせコマンドを処理する請求項52に記載のタグ。
【請求項54】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項53に記載のタグ。
【請求項55】
データ処理システム上で実行された場合に複数のタグに問い合わせを行う方法を前記システムに実行させる命令を格納する機械可読媒体であって、前記実行方法は、
応答の第1の確率を示す確率パラメータの第1の値を含む1つまたは複数の第1の問い合わせコマンドをブロードキャストし、前記複数のタグのそれぞれは、応答するかしないかをランダムに決定することと、
前記第1の問い合わせコマンドに応える応答を検出することとを含む機械可読媒体。
【請求項56】
前記方法は、さらに、
前記1つまたは複数の第1の問い合わせコマンドへの応答がないとの判定に応えて、応答の前記第1の確率よりも大きい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストすることを含む請求項55に記載の媒体。
【請求項57】
前記方法は、さらに、
前記1つまたは複数の第1の問い合わせコマンドへの判読できる応答がないとの判定に応えて、応答の前記第1の確率よりも小さい応答の第2の確率を示す前記確率パラメータの第2の値とともに第2の問い合わせコマンドをブロードキャストすることを含む請求項55に記載の媒体。
【請求項58】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項55に記載の媒体。
【請求項59】
pは実質的に0.5に等しい請求項58に記載の媒体。
【請求項60】
前記複数のタグのうちの第1のタグに対する応答の前記第1の確率は、前記複数のタグのうちの第2のタグに対する応答の前記第1の確率と異なる請求項55に記載の媒体。
【請求項61】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、第2の状態にある複数のタグが前記第1の問い合わせコマンドに応答せず、前記第1の状態にある複数のタグが前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項55に記載の媒体。
【請求項62】
前記方法は、さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドをブロードキャストし、前記第1の状態にあるタグは、前記第2の問い合わせコマンドに応答せず、前記第2の状態にあるタグは前記確率パラメータの前記第2の値に従って前記第2の問い合わせコマンドにランダム応答することと、
前記第2の問い合わせコマンドに応える応答を検出することとを含む請求項61に記載の媒体。
【請求項63】
前記第1と第2の問い合わせコマンドは前記第1と第2の状態に対して対称的である請求項62に記載の媒体。
【請求項64】
前記方法は、さらに、
判読可能な応答が第1のハンドシェーキング・データを含む前記第1の問い合わせコマンドへの前記判読可能な応答に応えて、前記第1のハンドシェーキング・データを含む第2のコマンドを送信することと、
前記第2のコマンドへの応答としてタグ識別データを受信することとを含む請求項61に記載の媒体。
【請求項65】
前記方法は、さらに、
識別タグ識別データが正常に受信されない場合にタグ識別データの受信のエラーを示すコマンドを送信することを含む請求項64に記載の媒体。
【請求項66】
前記方法は、さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドをブロードキャストすることを含む請求項55に記載の媒体。
【請求項67】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まない請求項66に記載の媒体。
【請求項68】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項67に記載の媒体。
【請求項69】
リーダーからの問い合わせに応えるタグであって、
アンテナと、
アンテナに結合された集積回路(IC)であって、
確率パラメータの第1の値とともに第1の問い合わせコマンドを前記リーダーから受信し、
前記第1の問い合わせコマンドに応答するかしないかをランダムに決定する集積回路(IC)とを備え、応答の確率が前記確率パラメータの前記第1の値により判定されることを特徴とするタグ。
【請求項70】
前記アンテナに結合された前記ICは、さらに、応答のランダムな決定に応えて、第1のハンドシェーキング・データとともに応答を送信する請求項69に記載のタグ。
【請求項71】
前記第1のハンドシェーキング・データは、前記第1の問い合わせコマンドに応えて生成される乱数である請求項70に記載のタグ。
【請求項72】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項69に記載のタグ。
【請求項73】
pは実質的に0.5に等しい請求項72に記載のタグ。
【請求項74】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、前記タグは、前記タグが第2の状態にある場合に前記第1の問い合わせコマンドに応答せず、前記タグが前記第1の状態にある場合に前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項69に記載のタグ。
【請求項75】
前記アンテナに結合された前記ICは、さらに、
前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドを受信し、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率は、前記タグが前記第2の状態にある場合に前記確率パラメータの前記第2の値に従い、前記タグは、前記第1の状態にある場合に前記第2の問い合わせコマンドに応答しない請求項74に記載のタグ。
【請求項76】
前記タグは、前記第1と第2の状態に対して対称的に前記第1と第2の問い合わせコマンドを処理する請求項75に記載のタグ。
【請求項77】
前記アンテナに結合された前記ICは、さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む第1の応答を送信し、
前記リーダーから前記第1のハンドシェーク・データを含む第2のコマンドを受信したことに応えて、タグ識別データを含む第2の応答を送信する請求項74に記載のタグ。
【請求項78】
前記アンテナに結合された前記ICは、前記第2の応答を送信した後問い合わせコマンドを受信したことに応えて、前記第1の状態から前記第2の状態に切り換え、前記リーダー側で前記タグ識別データを受信した際のエラーを示すコマンドを受信した後、前記タグは、前記エラーを示すコマンドの後に問い合わせコマンドが受信された場合に前記第1の状態のままになる請求項77に記載のタグ。
【請求項79】
前記アンテナに結合された前記ICは、さらに、
前記確率パラメータの値を含まない第2の問い合わせコマンドを受信し、
前記第2の問い合わせコマンドに応答するかしないかをランダムに決定し、応答の確率は、前記確率パラメータの前記第1の値により判定される請求項69に記載のタグ。
【請求項80】
前記第1の問い合わせコマンドは、前記確率パラメータの前記第1の値を含む複数のパラメータの第1の複数の値を含み、
前記第2の問い合わせコマンドは、前記複数のパラメータの複数の値を含まず、
前記タグは、前記複数のパラメータの前記第1の複数の値に従って前記第2の問い合わせコマンドを処理する請求項79に記載のタグ。
【請求項81】
前記第2の問い合わせコマンドは、前記第1の問い合わせコマンドよりも実質的に短い請求項80に記載のタグ。
【請求項82】
複数のタグに問い合わせを行う装置であって、
アンテナと、
リーダーであって、
前記アンテナに結合された受信器と、
前記アンテナに結合された送信器と、
前記受信器、前記送信器、メモリに結合され、前記送信器と前記受信器を制御するプロセッサとを備える前記リーダーと、
前記リーダーは応答の第1の確率を示す確率パラメータの第1の値を含む1つまたは複数の第1の問い合わせコマンドをブロードキャストし、前記複数のタグのそれぞれは応答するかしないかをランダムに決定し、
前記リーダーはさらに前記第1の問い合わせコマンドに応える応答を検出することを特徴とする装置。
【請求項83】
前記リーダーはさらに前記1つまたは複数の第1の問い合わせコマンドへの応答がないとの判定に応えて、応答の前記第1の確率よりも大きい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストする請求項82に記載の装置。
【請求項84】
前記リーダーはさらに前記1つまたは複数の第1の問い合わせコマンドへの判読可能な応答がないとの判定に応えて、応答の前記第1の確率よりも小さい応答の第2の確率を示す前記確率パラメータの第2の値を含む第2の問い合わせコマンドをブロードキャストする請求項82に記載の装置。
【請求項85】
前記確率パラメータの前記第1の値は整数Qであり、前記複数のタグのうちの1つに対する応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項82に記載の装置。
【請求項86】
pは実質的に0.5に等しい請求項82に記載の装置。
【請求項87】
前記複数のタグのうちの第1のタグに対する応答の前記第1の確率は、前記複数のタグのうちの第2のタグに対する応答の前記第1の確率と異なる請求項82に記載の装置。
【請求項88】
前記第1の問い合わせコマンドは、さらに、第1の状態を示す状態フラグを含み、第2の状態にある複数のタグが前記第1の問い合わせコマンドに応答せず、前記第1の状態にある複数のタグが前記確率パラメータの前記第1の値に従って前記第1の問い合わせコマンドにランダムに応答する請求項82に記載の装置。
【請求項89】
前記リーダーはさらに前記確率パラメータの第2の値と前記第2の状態を示す状態フラグを含む第2の問い合わせコマンドをブロードキャストし、前記第1の状態にあるタグは、前記第2の問い合わせコマンドに応答せず、前記第2の状態にあるタグは、前記確率パラメータの前記第2の値に従って前記第2の問い合わせコマンドにランダム応答し、前記リーダーはさらに前記第2の問い合わせコマンドに応えて応答を検出する請求項88に記載の装置。
【請求項90】
データ処理システム上で実行された場合にリーダーからの問い合わせに応える方法を前記システムに実行させる命令を格納する機械可読媒体であって、前記実行方法は、
確率パラメータの第1の値を含む第1の問い合わせコマンドを前記リーダーから受信することと、
前記第1の問い合わせコマンドに応答するかしないかをランダムに決定することとを含み、応答の確率が前記確率パラメータの前記第1の値により判定されることを特徴とする機械可読媒体。
【請求項91】
さらに、
応答へのランダムな決定に応えて、第1のハンドシェーキング・データを含む応答を送信することを含む請求項90に記載の方法。
【請求項92】
前記第1のハンドシェーキング・データは、前記第1の問い合わせコマンドに応えて生成される乱数である請求項91に記載の方法。
【請求項93】
前記確率パラメータの前記第1の値は整数Qであり、応答の前記第1の確率は実質的にpQに等しく、pは1未満である請求項90に記載の方法。
【請求項94】
pは実質的に0.5に等しい請求項18に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公表番号】特表2007−514343(P2007−514343A)
【公表日】平成19年5月31日(2007.5.31)
【国際特許分類】
【出願番号】特願2006−539679(P2006−539679)
【出願日】平成16年11月5日(2004.11.5)
【国際出願番号】PCT/US2004/036991
【国際公開番号】WO2005/048180
【国際公開日】平成17年5月26日(2005.5.26)
【出願人】(501312657)エイリアン・テクノロジイ・コーポレーション (3)
【Fターム(参考)】
【公表日】平成19年5月31日(2007.5.31)
【国際特許分類】
【出願日】平成16年11月5日(2004.11.5)
【国際出願番号】PCT/US2004/036991
【国際公開番号】WO2005/048180
【国際公開日】平成17年5月26日(2005.5.26)
【出願人】(501312657)エイリアン・テクノロジイ・コーポレーション (3)
【Fターム(参考)】
[ Back to top ]