(57)【要約】【課題】リーダからの呼び出しに対して所定の時間遅延させて自己のＩＤを送信することでアンチコリジョンを行うＲＦＩＤタグにおいて、衝突の発生を効率的に抑制し読取試行回数を少なくして読取速度の低下を防ぎ、消費電力を低減する。【解決手段】タイムスロットに基づいて第１の待ち時間を取得するステップ（Ｓ１０２）と、第１の待ち時間の最大値よりも大きい時間幅を単位としてＷａｉｔレベルの値に基づいて第２の待ち時間を取得するステップ（Ｓ１０３）と、これらの合計時間を遅延させてＩＤを送信するステップ（Ｓ１０４、Ｓ１０５）とを実行し、さらに、応答を受信した場合にＷａｉｔレベルと非読カウンタをリセットするステップ（Ｓ１２２、Ｓ１２３）を実行し、応答を受信できなかった場合に、非読カウンタを加算するステップ（Ｓ１３１）と、非読カウンタが所定の閾値に達している場合にＷａｉｔレベルを上げるステップ（Ｓ１３３）とを実行する。【選択図】図１
2011039730.tif 000002
【特許請求の範囲】
【請求項１】
リーダから送信された起動パターンを受信して起動した後、前記起動パターンの受信から所定の時間遅延させて自己のＩＤを送信することでアンチコリジョンを行うＲＦＩＤタグのＩＤ送信方法であって、
前記ＲＦＩＤタグは、前記ＩＤを送信する際の待ち時間の長さに係るレベルを示すＷａｉｔレベルと、自己が送信した前記ＩＤが前記リーダによって読み取られなかった回数をカウントする非読カウンタを保持し、
前記リーダから送信された前記起動パターンを受信して起動した際に、
前記ＩＤの値に基づいて決定されるタイムスロットに基づいて第１の待ち時間を取得するステップと、
前記第１の待ち時間の最大値よりも大きい所定の時間幅を単位として、前記Ｗａｉｔレベルの値に基づいて第２の待ち時間を取得するステップと、
前記起動パターンの受信から前記第１の待ち時間と前記第２の待ち時間を合計した時間を遅延させて前記ＩＤを送信するステップと、
所定の第３の待ち時間の間、前記リーダからの応答の受信待ちを行うステップとを実行し、
さらに、前記第３の待ち時間の間に前記リーダから自己の前記ＩＤを読み取った旨の応答を受信した場合に、前記Ｗａｉｔレベルを最低のレベルにリセットし、前記非読カウンタをゼロにリセットするステップを実行し、
前記第３の待ち時間の間に前記リーダから自己の前記ＩＤを読み取った旨の応答を受信できなかった場合に、前記非読カウンタを加算するステップと、
前記非読カウンタが所定の閾値に達している場合に、前記Ｗａｉｔレベルを上げるステップとを実行し、
最後に、自己をスリープ状態に移行するステップを実行することを特徴とするＲＦＩＤタグのＩＤ送信方法。
【請求項２】
請求項１に記載のＲＦＩＤタグのＩＤ送信方法において、
前記非読カウンタと比較する前記閾値の値は、前記Ｗａｉｔレベルのレベル分けの数に基づいて設定されることを特徴とするＲＦＩＤタグのＩＤ送信方法。
【請求項３】
請求項１または２に記載のＲＦＩＤタグのＩＤ送信方法において、
前記第３の待ち時間は、前記リーダが、前記起動パターンを送信してから前記ＲＦＩＤタグからの前記ＩＤの送信を待ち受ける時間から、前記第１の待ち時間と前記第２の待ち時間を合計した時間を減算した時間であることを特徴とするＲＦＩＤタグのＩＤ送信方法。
【請求項４】
リーダと無線通信を行うＲＦ部と、メモリと、前記ＲＦ部および前記メモリを制御する制御部とを有し、
リーダから送信された起動パターンを受信して起動した後、前記起動パターンの受信から所定の時間遅延させて自己のＩＤを送信することでアンチコリジョンを行うＲＦＩＤタグであって、
前記メモリは、
前記ＩＤを送信する際の待ち時間の長さに係るレベルを示すＷａｉｔレベルと、自己が送信した前記ＩＤが前記リーダによって読み取られなかった回数をカウントする非読カウンタを保持し、
前記制御部は、
前記ＲＦ部が前記リーダから送信された前記起動パターンを受信して起動した際に、
前記ＩＤの値に基づいて決定されるタイムスロットに基づいて第１の待ち時間を取得し、前記第１の待ち時間の最大値よりも大きい所定の時間幅を単位として、前記Ｗａｉｔレベルの値に基づいて第２の待ち時間を取得し、前記起動パターンの受信から前記第１の待ち時間と前記第２の待ち時間を合計した時間を遅延させて前記ＩＤを送信する機能と、
所定の第３の待ち時間の間に前記リーダから自己の前記ＩＤを読み取った旨の応答を受信した場合に、前記Ｗａｉｔレベルを最低のレベルにリセットし、前記非読カウンタをゼロにリセットし、前記第３の待ち時間の間に前記リーダから自己の前記ＩＤを読み取った旨の応答を受信できなかった場合に、前記非読カウンタを加算し、前記非読カウンタが所定の閾値に達している場合に前記Ｗａｉｔレベルを上げる機能とを有することを特徴とするＲＦＩＤタグ。
【請求項５】
請求項４に記載のＲＦＩＤタグにおいて、
内蔵する電池から電力を取得するアクティブタグであることを特徴とするＲＦＩＤタグ。
【請求項６】
請求項４または５に記載のＲＦＩＤタグにおいて、
前記リーダから送信される前記起動パターンは、ＬＦ帯によって送信されることを特徴とするＲＦＩＤタグ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＦＩＤ（Radio Frequency IDentification）タグの固有識別子を読み取る技術に関し、特に、複数のＲＦＩＤタグの固有識別子を読み取る際のアンチコリジョン機能を実現するＲＦＩＤタグのＩＤ送信方法およびＲＦＩＤタグに適用して有効な技術に関するものである。
【背景技術】
【０００２】
近年、物流管理等のシステムにおいては、ＲＦＩＤタグを利用した対象物の管理が普及してきている。これらのシステムでは、固有識別子（以下では単に「ＩＤ」と記載する場合がある）を記憶したＲＦＩＤタグを個々の管理対象物に付しておき、この情報を、ＲＦＩＤ読取装置（以下では単に「リーダ」と記載する場合がある）が、ＲＦＩＤタグと無線通信することにより非接触で読み取る。これにより、管理対象物の個体や種別を特定してその所在等を的確に把握することができ、効率的な管理を行うことが可能となる。
【０００３】
ＲＦＩＤタグとリーダとの間の通信では、一般的に、リーダからの呼び出し（質問）の信号に対して、これを受信した各ＲＦＩＤタグが、回答として自己のＩＤをリーダに対して送信する。リーダは、受信したＩＤの情報をＲＦＩＤタグに送信することで、各ＲＦＩＤタグは自己のＩＤがリーダに読み取られたか否かを認識する。なお、ＲＦＩＤタグの方式としては、電池を内蔵するアクティブタグと、電池を内蔵せず、リーダから出力された無線電波から電力や搬送波の源振を取得するパッシブタグとがある。
【０００４】
物流管理等のシステムにおいては、大量の物品に付されたＲＦＩＤタグを短時間で読み取る必要があるが、ＲＦＩＤタグの密度が高くなると、リーダからの呼び出しに対して、これを受信して反応するＲＦＩＤタグの数が多くなり、自己のＩＤを送信するために各ＲＦＩＤタグから出力された信号間で衝突（コリジョン）が発生してリーダで読み取ることができない場合が生じる。これを防止するため、物流管理のような複数のＲＦＩＤタグを短時間で読み取るシステムでは、衝突防止機能（アンチコリジョン機能）が必要となる。
【０００５】
このアンチコリジョン機能の実現方法として主に利用されている方式の一つとして、例えばタイムスロット方式がある。タイムスロット方式については、ＪＩＳ規格Ｘ６３２３−３（非特許文献１）にプロトコルが規定されている。ここでは、リーダからの応答要求コマンドに対する各ＲＦＩＤタグの応答期間を１６のタイムスロットに分割し、各ＲＦＩＤタグは、自己のＩＤの下位４ビットの値に対応するタイムスロット番号を特定する。各ＲＦＩＤタグは、応答要求コマンドを受信した際に、対応するタイムスロットのタイミング、すなわち、応答要求コマンドを受信してからタイムスロットに対応する時間間隔だけ遅延させたタイミングでＩＤを送信する。これにより、ＩＤの値によって送信タイミングを分散させ、衝突の発生を軽減することができる。
【０００６】
また、上記の方法をとった場合でも、ＩＤの下位４ビットが同じＲＦＩＤタグ同士では衝突が発生し得るため、リーダからの応答要求コマンドにマスク情報を設定可能とし、ＲＦＩＤタグでは、応答要求コマンドにマスク情報が設定されている場合は、自己のＩＤの下位４ビットがマスク値と同じ場合にのみ応答することができるものとする。リーダは、衝突を検知した場合は、マスク値を適宜変更して対象のＲＦＩＤタグを絞り込み、再度応答要求コマンドを送信する。この処理を繰り返すことで、全てのＲＦＩＤタグを読み取ることができる。
【０００７】
しかしながら、このようなタイムスロット方式によるアンチコリジョン機能を有するＩＤの読取方法では、読取可能領域に存在するＲＦＩＤタグの数やＩＤの分布によっては、十分な読取速度が得られない場合がある。そこで、例えば、特開２００９−１１００７４号公報（特許文献１）には、ＲＦＩＤタグに対して要求コマンドを送信するとともに該要求コマンドに応じたＲＦＩＤタグからの固有識別子を含む応答を受信する読取処理手段を備え、該読取処理手段は、前回読取処理において用いた衝突防止用のマスク情報に基づき次回読取処理において要求コマンドに設定するマスク情報を設定するＲＦＩＤタグ読取装置が開示されている。
【０００８】
このＲＦＩＤタグ読取装置によれば、読取可能領域にあるＲＦＩＤタグの変動が読取処理の頻度と比較して極めて小さい、すなわち、前回読み取ったＲＦＩＤタグが次回も読み取られる蓋然性が高いような利用分野においては、マスク設定を効率的に行うことができ、応答要求コマンドの送信回数が削減され、読取処理の高速化を図ることが可能となる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−１１００７４号公報
【非特許文献】
【００１０】
【非特許文献１】ＩＣカードシステム利用促進協議会／財団法人日本規格協会、「ＪＩＳＸ６３２３−３  外部端子なしＩＣカード−近傍型−第３部：衝突防止及び伝送プロトコル」、日本工業規格、制定年月日：２００１年９月２０日、最新確認年月日：２００７年２月２０日
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したように、タイムスロット方式によるアンチコリジョン機能においては、基本的に各ＲＦＩＤタグのＩＤの下位４ビットによって使用するタイムスロットが割り当てられる。このとき、読取可能領域に存在するＲＦＩＤタグの数が多くなった場合には、下位４ビットが同じであるものが多数存在する場合が生じ得る。この場合は、衝突が多数発生するため、マスク情報を再設定することによるリーダからの呼び出しも多数繰り返される。
【００１２】
その結果、十分な読取速度が得られず、有効な時間範囲内で全てのＲＦＩＤタグを読み取れない場合が生じる。また、読み取れた場合であってもリーダからの呼び出しによる試行回数が多くなるためＲＦＩＤタグにおけるトータルでの消費電力が大きくなってしまう場合がある。これは、特に電池を内蔵するタイプであるアクティブタグでは大きな問題となる。
【００１３】
一方、例えば特許文献１に記載されたようなＲＦＩＤタグ読取装置では、マスク設定を効率的に行うことができ、リーダからの呼び出しの回数が削減され、読取処理の高速化を図ることが可能である。しかし、上記の技術では、前回読み取ったＲＦＩＤタグが次回も読み取られる蓋然性が高いような、例えば、店舗の陳列商品等の管理などの利用分野において効果があるものであり、例えば、物流管理における移動するパレット上の物品など、読み取るＲＦＩＤタグが毎回異なるような利用分野では十分な効果を得ることができない。
【００１４】
そこで本発明の目的は、リーダからの呼び出しに対して所定の時間遅延させて自己のＩＤを送信することでアンチコリジョンを行うＲＦＩＤタグにおいて、読取可能領域に多数のＲＦＩＤタグが存在する場合であっても、衝突の発生を効率的に抑制し、リーダによる各ＲＦＩＤタグの読取試行回数を少なくして読取速度の低下を防ぎ、消費電力を低減するＲＦＩＤタグのＩＤ送信方法、および当該アンチコリジョン機能を有するＲＦＩＤタグを提供することにある。
【００１５】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１６】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１７】
本発明の代表的な実施の形態によるＲＦＩＤタグのＩＤ送信方法およびＲＦＩＤタグは、リーダから送信された起動パターンを受信して起動した後、前記起動パターンの受信から所定の時間遅延させて自己のＩＤを送信することでアンチコリジョンを行うＲＦＩＤタグのＩＤ送信方法であって、以下の特徴を有するものである。
【００１８】
すなわち、前記ＲＦＩＤタグは、前記ＩＤを送信する際の待ち時間の長さに係るレベルを示すＷａｉｔレベルと、自己が送信した前記ＩＤが前記リーダによって読み取られなかった回数をカウントする非読カウンタを保持し、前記リーダから送信された前記起動パターンを受信して起動した際に、前記ＩＤの値に基づいて決定されるタイムスロットに基づいて第１の待ち時間を取得するステップと、前記第１の待ち時間の最大値よりも大きい所定の時間幅を単位として、前記Ｗａｉｔレベルの値に基づいて第２の待ち時間を取得するステップと、前記起動パターンの受信から前記第１の待ち時間と前記第２の待ち時間を合計した時間を遅延させて前記ＩＤを送信するステップと、所定の第３の待ち時間の間、前記リーダからの応答の受信待ちを行うステップとを実行する。
【００１９】
さらに、前記第３の待ち時間の間に前記リーダから自己の前記ＩＤを読み取った旨の応答を受信した場合に、前記Ｗａｉｔレベルを最低のレベルにリセットし、前記非読カウンタをゼロにリセットするステップを実行し、前記第３の待ち時間の間に前記リーダから自己の前記ＩＤを読み取った旨の応答を受信できなかった場合に、前記非読カウンタを加算するステップと、前記非読カウンタが所定の閾値に達している場合に前記Ｗａｉｔレベルを上げるステップとを実行し、最後に、自己をスリープ状態に移行するステップを実行することを特徴とするものである。
【発明の効果】
【００２０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２１】
本発明の代表的な実施の形態によれば、読取可能領域に多数のＲＦＩＤタグが存在してＩＤの送信の際に衝突が発生する場合であっても、衝突の発生を効率的に抑制し、リーダによる各ＲＦＩＤタグの読取試行回数を少なくして読取速度の低下を防ぐことができる。また、これにより、各ＲＦＩＤタグをリーダが読み取る際の、リーダおよび各ＲＦＩＤタグでの消費電力を低減させることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施の形態におけるアンチコリジョン処理のフローについて例を示した図である。
【図２】本発明の一実施の形態であるＲＦＩＤタグの構成例の概要を示した図である。
【図３】本発明の一実施の形態におけるメモリに保持するデータの構成例を示した図である。
【図４】本発明の一実施の形態におけるＩＤの送信タイミングの例を示した図である。
【図５】本発明の一実施の形態におけるアンチコリジョン処理の概要について例を示した図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２４】
本発明の一実施の形態であるＲＦＩＤタグは、リーダから送信された起動パターンを受信して起動した後、所定の時間遅延させて自己のＩＤを送信することで送信タイミングを分散させてアンチコリジョンを行うＲＦＩＤタグである。ここで、従来技術におけるタイムスロット方式では、上述したように、例えば、各ＲＦＩＤタグのＩＤの下位１〜４ビットや下１桁などの値に応じたタイムスロットで自己のＩＤを送信することで、各ＲＦＩＤタグ間でＩＤの送信タイミングを分散させている。
【００２５】
具体的には、例えば、ＩＤの下位４ビットの値（０〜１５）や、下１桁の値（０〜９）に１ミリ秒を乗算した値をタイムスロットの送信タイミング（送信までの待ち時間）とし、リーダからの起動パターンを受信して起動してから当該待ち時間の経過を待った上で自己のＩＤを送信する。例えば、ＩＤの下位４ビットの値を用いる場合は、タイムスロットは１６個であり、最大で１５ミリ秒遅延させた後に自己のＩＤを送信することになる。
【００２６】
しかし、読取可能領域に存在するＲＦＩＤタグの数やＩＤの分布によっては、上記の手法ではまだ多数の衝突の発生を回避することができない。そこで、本実施の形態のＲＦＩＤタグでは、上記のタイムスロットにおける最大の待ち時間よりも大きい所定の時間幅を待ち時間の単位としたＷａｉｔレベルを設け、また、ＩＤの読取状況に応じて自己のＷａｉｔレベルを変動させることで、各ＲＦＩＤタグ間でのＩＤの送信タイミングを効果的に分散させてアンチコリジョンを行う。
【００２７】
［システム構成］
図２は、本発明の一実施の形態であるＲＦＩＤタグの構成例の概要を示した図である。ＲＦＩＤタグ１００は、例えば、ＩＣ（Integrated Circuit）チップによって実現され、一般的なＲＦＩＤタグと同様の構成を有し、例えば、ＲＦ部１１０、制御部１２０、メモリ１３０などを有する。
【００２８】
ＲＦ部１１０は、リーダと無線通信を行うアナログ回路であり、例えば、信号の送受信に伴う変調・復調を行う変復調部１１１や、クロック１１２を有する。また、制御部１２０は、ＲＦ部１１０やメモリ１３０を制御することでＲＦＩＤタグ１００全体の制御を行うデジタル回路であり、例えば、コマンド制御部１２１、アンチコリジョン処理部１２２、メモリ制御部１２３、ＲＦ制御部１２４を有する。
【００２９】
コマンド制御部１２１は、リーダから受信する種々のコマンドを解釈して対応する処理や制御を行う。アンチコリジョン処理部１２２は、リーダに対して自己のＩＤを送信する際のアンチコリジョン処理を行う。この処理の内容の詳細については後述する。メモリ制御部１２３は、メモリ１３０に対する入出力の処理や制御を行うインタフェースである。ＲＦ制御部１２４は、ＲＦ部１１０に対する処理や制御を行うインタフェースである。また、メモリ１３０は、ＩＤなどのＲＦＩＤ１００に固有のデータやアプリケーションデータなどを保持する記憶媒体であり、例えば、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）などの不揮発性メモリによって構成される。
【００３０】
なお、本実施の形態のＲＦＩＤタグ１００では、リーダからの起動パターンを受信して起動した後、所定の時間の経過を待った上で自己のＩＤを送信するため、時間経過を待つ間の電力を要する。従って、リーダが出力した無線電波から電力を得るパッシブタグにも機能として適用可能ではあるものの、電池を内蔵するアクティブタグのほうがより望ましいため、本実施の形態では、ＲＦＩＤタグ１００はアクティブタグであるものとする。
【００３１】
また、本実施の形態では、例えば、リーダからの起動パターンの信号は、待ち受け時の消費電力が小さいＬＦ帯（Low Frequency：１２５〜１３５ＫＨｚ）の電波を使用するものとする。また、起動後のＩＤの送受信などの無線通信では、大容量のデータを高速かつ省電力で行うためのデバイスを容易に入手することが可能である２．４ＧＨｚ帯を利用するものとするが、無線通信の際の利用周波数帯は特にこれらに限るものではない。
【００３２】
また、リーダについては特に制約はなく一般的なリーダもしくはリーダ／ライタを用いることができる。リーダは、例えば、ＲＦＩＤタグ１００に対する呼び出しとして、ＬＦによる起動パターンを１０ミリ秒程度の時間間隔で所定の回数（合計で例えば０．２秒の間）送信し、所定の時間（例えば、最初の起動パターンの送信から２秒）の間、２．４ＧＨｚ帯にてＲＦＩＤタグ１００からのＩＤの送信を待ち受ける。リーダは、一般的に１回の待ち受けの間に最大数個（例えば５個）のＲＦＩＤタグ１００のＩＤを読み取ることが可能であり、読み取ったＩＤの情報を各ＲＦＩＤタグ１００に送信することによって通知する。
【００３３】
［保持データ］
図３は、本実施の形態のＲＦＩＤタグ１００のメモリ１３０に保持するデータの構成例を示した図である。メモリ１３０には、例えば、固有識別子（ＩＤ）、Ｗａｉｔレベル、非読カウンタ、単位タイムスロット待ち時間、単位Ｗａｉｔレベル待ち時間、および最大Ｗａｉｔレベルなどの項目を有する。
【００３４】
固有識別子（ＩＤ）は、ＲＦＩＤタグ１００を一意に特定する６４ビットや９６ビット等の長さの識別子であり、ＲＦＩＤタグ１００の製造時に書き込まれ、書き換え不可のデータである。Ｗａｉｔレベル以下の各項目は、アンチコリジョン処理の際に用いるデータであり、これらのデータを用いたアンチコリジョン処理の内容については後述する。
【００３５】
Ｗａｉｔレベルは、ＲＦＩＤタグ１００がＩＤを送信する際の待ち時間の長さに係るレベルであり、アンチコリジョンを行う際の上述したタイムスロットにおける待ち時間の最大値よりも大きい所定の時間幅を１単位として待ち時間の長さを決定するためのものである。非読カウンタは、リーダからの起動パターンによる呼び出しに対して送信した自己のＩＤがリーダによって読み取られなかった回数をカウントするカウンタである。
【００３６】
単位タイムスロット待ち時間は、ＩＤの下位４ビットや下１桁に応じて決定されたタイムスロットに対する、１つのタイムスロットあたりの待ち時間である。この値は、例えば１ミリ秒などであり、自己のＩＤの下１桁が例えば５で５番目のタイムスロットが割り当てられる場合は、タイムスロットの待ち時間は５ミリ秒となる。
【００３７】
単位Ｗａｉｔレベル待ち時間は、Ｗａｉｔレベルの１レベルあたりの待ち時間の差分である。この値は、タイムスロットにおける最大の待ち時間よりも大きい所定の時間幅（例えば２０ミリ秒）である必要がある。最大Ｗａｉｔレベルは、Ｗａｉｔレベルの最大値、すなわち、Ｗａｉｔレベルのレベル分けの数を保持する。本実施の形態では、後述するように最大Ｗａｉｔレベルを５として、Ｗａｉｔレベルを１〜５の５段階に分けているが、リーダが同時に読み取るＲＦＩＤタグ１００の数などに応じて３以上の所定の数とすることができる。
【００３８】
なお、ＲＦＩＤタグ１００の製造時には、Ｗａｉｔレベルおよび非読カウンタには初期値（例えばＷａｉｔレベルは１、非読カウンタは０）を設定しておく。また、単位タイムスロット待ち時間、単位Ｗａｉｔレベル待ち時間、および最大Ｗａｉｔレベルには予め定めた所定の値を設定しておく。単位タイムスロット待ち時間、単位Ｗａｉｔレベル待ち時間、および最大Ｗａｉｔレベルの値は、通常時は更新しないため、メモリ１３０ではなく制御部１２０が直接保持していてもよい。また、メモリ１３０には、図３に示したデータ以外に、アプリケーションデータとして、例えば、暗号鍵などのセキュリティ関連データを保持していてもよい。
【００３９】
［アンチコリジョン処理］
本実施の形態のＲＦＩＤタグ１００では、上述したように、ＲＦＩＤタグ１００毎に、タイムスロットにおける待ち時間の最大値よりも大きい所定の時間幅を単位として待ち時間を決定するためのＷａｉｔレベルを設け、また、ＩＤの読取状況に応じて自己のＷａｉｔレベルを変動させることで、各ＲＦＩＤタグ１００間でのＩＤの送信タイミングを効果的に分散させてアンチコリジョンを行う。
【００４０】
本実施の形態では、Ｗａｉｔレベルが高い（大きい）ＲＦＩＤタグ１００ほど、Ｗａｉｔレベルに基づく待ち時間が小さい、すなわち、Ｗａｉｔレベルが低い他のＲＦＩＤタグ１００よりも早いタイミングでＩＤを送信するものとしている。従って、Ｗａｉｔレベルが高いＲＦＩＤタグ１００ほど、リーダに読み取られる確率が高くなる。
【００４１】
図４は、本実施の形態のＲＦＩＤタグ１００におけるＩＤの送信タイミングの例を示した図である。例えば、図３に示した単位タイムスロット待ち時間の値が１ミリ秒であり、単位Ｗａｉｔレベル待ち時間の値が２０ミリ秒であるとした場合、Ｗａｉｔレベルが最大の５であるグループは、Ｗａｉｔレベルでの待ち時間がゼロ、すなわち、ＩＤの下位４ビットや下１桁などに応じたタイムスロットでの待ち時間のみでＩＤを送信する。このため、リーダに読み取られる確率が他のＷａｉｔレベルのものに比べて高くなる。
【００４２】
また、Ｗａｉｔレベルが４のグループは、Ｗａｉｔレベルでの待ち時間が２０ミリ秒で、これにさらにタイムスロットでの待ち時間を加算した時間を待ってＩＤを送信する。同様に、Ｗａｉｔレベルが３、２、１のグループは、Ｗａｉｔレベルでの待ち時間が、それぞれ、４０ミリ秒、６０ミリ秒、８０ミリ秒となり、これにさらにタイムスロットでの待ち時間を加算した時間を待ってＩＤを送信する。
【００４３】
図５は、本実施の形態のＲＦＩＤタグ１００におけるアンチコリジョン処理の概要について例を示した図である。図５の例では、説明の便宜上、上段の読取開始時の図に示すように、リーダによる読取開始時に、読取可能領域にある複数のＲＦＩＤタグ１００のＷａｉｔレベルが、それぞれ５段階のＷａｉｔレベルのいずれかに分布している場合を示している。なお、実際には読取開始時に全てのＷａｉｔレベルのＲＦＩＤタグ１００が存在するとは限らず、一部のＷａｉｔレベルにのみ偏在している場合もある。
【００４４】
上述したように、Ｗａｉｔレベルが高いＲＦＩＤタグ１００ほどＩＤ送信までの待ち時間が短いため、早いタイミングでＩＤを送信することができ、リーダに読み取られる確率が高くなる。従って、本実施の形態では、実際にリーダに読み取られたＲＦＩＤタグ１００については、自己のＷａｉｔレベルを最低レベルである１に変更することにより、次回の起動時におけるＩＤの送信タイミングを遅らせて読み取られにくくし、反射的に他のＲＦＩＤタグ１００を読み取られ易くする。
【００４５】
図５において、上段の読取開始時の図では、Ｗａｉｔレベルが１のグループは、例えば、前回の読取時に読み取られた結果、Ｗａｉｔレベルを最低レベルの１に変更したＲＦＩＤタグ１００のグループであることを示している。この状態で、リーダからの１回目のＬＦによる起動パターンの送信を受けると、各ＲＦＩＤタグ１００は、図４に示したように、読取開始時のＷａｉｔレベルの値、およびＩＤの値に基づいて決定されるタイムスロットに従って決定された待ち時間を待ってＩＤを送信し、リーダによる読取が行われる。
【００４６】
このとき、早いタイミングでＩＤを送信しているＷａｉｔレベルが５のグループが読み取られた結果、Ｗａｉｔレベルの分布は、１つ下段の１回目起動後状態の図に示す状態となる。この図では、読取開始時にＷａｉｔレベルが５であったグループが読み取られ、自己のＷａｉｔレベルを１に変更した状態を示している。
【００４７】
なお、図５の例では、説明の便宜上、１回目の起動でＷａｉｔレベルが５のＲＦＩＤタグ１００が全て読み取られたものとしているが、ＲＦＩＤタグ１００の数等によっては読み取られずに残ってしまうものも生じ得る。この場合は、１回目の起動後のＷａｉｔレベルの分布状態が読取開始時と同じ（ただし各ＷａｉｔレベルのＲＦＩＤタグ１００の数は異なる）であるものとして取り扱えばよい。このとき、Ｗａｉｔレベルが５のＲＦＩＤタグ１００は優先的に読み取られるため、実際は、Ｗａｉｔレベルが５のものがなくなるまでリーダによる呼び出しとＩＤの送信が繰り返される。
【００４８】
また、Ｗａｉｔレベルが５のＲＦＩＤタグ１００の数が少ない場合は、１回の起動でＷａｉｔレベルが５の全てのＲＦＩＤタグ１００と、Ｗａｉｔレベルが４のＲＦＩＤタグ１００（の一部または全部）が読み取られる場合も生じ得る。この場合は、Ｗａｉｔレベルが４のＲＦＩＤタグ１００の数が変わるだけであり、Ｗａｉｔレベルの分布状態は上述した１回目起動後状態と同様であるため特に変わりはない。これらは、読取対象が他のＷａｉｔレベルである場合についても同様である。
【００４９】
図５における１回目起動後状態で、リーダからの２回目の起動パターンの送信を受けると、Ｗａｉｔレベルが４のグループが読み取られ、その結果、Ｗａｉｔレベルは、その下段の２回目起動後状態の図に示す分布状態となる。同様に、リーダからの３回目の起動パターンの送信を受けてＩＤの送信と読取が行われると、Ｗａｉｔレベルは、その下段の３回目起動後状態の図に示す分布状態となる。
【００５０】
この状態で、リーダからの４回目の起動パターンの送信を受け、Ｗａｉｔレベルが２のグループのＷａｉｔレベルを１に変更すると、そのままでは全てのＲＦＩＤタグ１００についてＷａｉｔレベルが１となってしまい、ＷａｉｔレベルによってＩＤの送信タイミングを分散させることができなくなってしまう。
【００５１】
従って、リーダからの４回目のＬＦによる起動パターンの送信を受けてＩＤの送信と読取を行った際に、読み取られたグループのＷａｉｔレベルを１に変更するとともに、リーダから所定の回数以上読み取られなかったグループのＷａｉｔレベルを１つ上げる。すなわち、図５の例では、読取開始時にＷａｉｔレベルが１であったグループ（最も過去に読み取られたグループ）のＷａｉｔレベルを２に上げる。なお、リーダから読み取られなかった回数は、後述するように、図３に示す非読カウンタによってカウントする。図５の４回目起動後状態の図は、このときのＷａｉｔレベルの分布状態を示している。
【００５２】
同様に、この状態で、リーダからの５回目の起動パターンの送信を受けてＩＤの送信と読取を行うと、Ｗａｉｔレベルを２に上げたグループが読み取られる。その結果、読み取られたグループのＷａｉｔレベルを１に変更するとともに、リーダから所定の回数以上読み取られなかったグループ、すなわち、図５の例では、読取開始時にＷａｉｔレベルが５であったグループのＷａｉｔレベルを２に上げる。以下、同様の処理が繰り返される。
【００５３】
これにより、ＩＤの下位４ビットや下１桁などで割り当てたタイムスロットだけではなく、Ｗａｉｔレベルによって、タイムスロットにおける待ち時間の最大値よりも大きい所定の時間幅を単位として待ち時間を決定し、ＩＤの送信タイミングを分散させることができる。また、Ｗａｉｔレベルは、ＩＤがリーダに読み取られた場合に最低レベルに下げ、所定の期間読み取られない場合に１レベル上げることで、まだ読み取られていないＲＦＩＤタグ１００を優先的に読み取らせるようにすることができる。これらにより、各ＲＦＩＤタグ１００間でのＩＤの送信タイミングを効果的に分散させてアンチコリジョンを行うことができる。
【００５４】
［処理フロー］
図１は、本実施の形態のＲＦＩＤタグ１００におけるアンチコリジョン処理のフローについて例を示した図である。リーダからのＬＦによる起動パターンを受信してスリープ状態から起動したＲＦＩＤタグ１００は、例えば、制御部１２０において、コマンド制御部１２１からの要求に基づいて、アンチコリジョン処理部１２２が、図１に示すアンチコリジョン処理の一連のスキームを実行もしくは制御する。
【００５５】
まず、メモリ１３０に保持している自己のＩＤをメモリ制御部１２３を介して読み出す（Ｓ１０１）。次に、メモリ１３０等に保持している単位タイムスロット待ち時間の値を取得し、ステップＳ１０１で取得したＩＤの下位４ビットや下１桁等の値に基づいて、タイムスロットでの待ち時間を取得する（Ｓ１０２）。ここでは、上述したように、例えば、ＩＤの下１桁等の値に単位タイムスロット待ち時間の値（１ミリ秒等）を乗算することによって待ち時間を算出する。
【００５６】
次に、メモリ１３０等に保持しているＷａｉｔレベル、単位Ｗａｉｔレベル待ち時間、および最大Ｗａｉｔレベルの値を取得し、Ｗａｉｔレベルの値に基づいてＷａｉｔレベルでの待ち時間を取得する（Ｓ１０３）。ここでは、例えば、
Ｗａｉｔレベル待ち時間＝
（最大Ｗａｉｔレベル−Ｗａｉｔレベル）×単位Ｗａｉｔレベル待ち時間
の式によって、Ｗａｉｔレベルでの待ち時間を算出する。例えば、最大Ｗａｉｔレベルが５で、単位Ｗａｉｔレベル待ち時間が２０ミリ秒である場合に、対象のＲＦＩＤタグ１００のＷａｉｔレベルが３であった場合は、（５−３）×２０＝４０ミリ秒が待ち時間となる。
【００５７】
次に、図４に示すように、ステップＳ１０２で取得したタイムスロットでの待ち時間、およびステップＳ１０３で取得したＷａｉｔレベルでの待ち時間を合算した値を待ち時間として、クロック１１２を利用して当該待ち時間の経過を待つ（Ｓ１０４）。ステップＳ１０４において当該待ち時間が経過すると、ステップＳ１０１で取得したＩＤを、ＲＦ制御部１２４およびＲＦ部１１０を介して、２．４ＧＨｚ帯を利用した無線通信によりリーダに対して送信する（Ｓ１０５）。
【００５８】
ステップＳ１０５でＩＤを送信すると、リーダからのＩＤの読取結果を受信すべく、２．４ＧＨｚ帯での無線通信の受信待ちループに入る。すなわち、ＩＤの受信待ち動作（Ｓ１１１）と、受信の検知（Ｓ１１２）、および受信待ち時間の経過の検知（Ｓ１１３）の一連の処理を実行する。ここで、ステップＳ１１３における受信待ち時間は、例えば、（２秒−ステップＳ１０４で算出した待ち時間）とする。２秒とは、リーダが、最初の起動パターンを送信してからＲＦＩＤタグ１００からのＩＤの送信を待ち受ける時間である。すなわち、各ＲＦＩＤタグ１００は、リーダの待ち受け時間に相当する間は、リーダからの読取結果を待ち受けるものとしている。なお、リーダの仕様によってベースとなる２秒の値を変更可能としてもよい。
【００５９】
受信待ちループ（Ｓ１１１〜Ｓ１１３）において、ステップＳ１１２でリーダからＩＤ（リーダが読み取ったＩＤ）を受信したことを検知した場合は、受信したＩＤとステップＳ１０１で取得した自己のＩＤとを比較する（Ｓ１２１）。ＩＤが異なる場合は、自己のＩＤが読み取られたのではないと判断し、ステップＳ１１１に戻ってさらに受信待ちループを継続する。
【００６０】
一方、ステップＳ１２１でＩＤが一致した場合は、自己のＩＤが読み取られたと判断し、図５に示すように、自己のＷａｉｔレベルを最低レベルの１にリセットし、非読カウンタの値をゼロにリセットしてメモリ１３０の値を更新する（Ｓ１２２、Ｓ１２３）。その後、制御部１２０によってＲＦＩＤタグ１００をスリープ状態に移行して（Ｓ１４１）、処理を終了する。なお、スリープ状態では、ＲＦ部１１０によって、少ない消費電力でリーダからのＬＦによる起動パターンを待ち受けている。
【００６１】
受信待ちループ（Ｓ１１１〜Ｓ１１３）において、ステップＳ１１３で受信待ち時間の経過（タイムアウト）を検知した場合、自己のＩＤが最終的に読み取られなかったと判断し、メモリ１３０の非読カウンタの値を１加算してメモリ１３０の値を更新する（Ｓ１３１）。次に、ステップＳ１３１で非読カウンタを加算した結果、非読カウンタが閾値に達したか否かを判定する（Ｓ１３２）。
【００６２】
ここで、非読カウンタの閾値は、例えば、Ｗａｉｔレベルによるレベル分けの数に基づいて設定する。具体的には、例えば、メモリ１３０に保持している最大Ｗａｉｔレベルの値（本実施の形態の例では５であり、レベル分けの数に相当する）に基づいて、最大Ｗａｉｔレベルから１減算した値とする（本実施の形態の例では４となる）。
【００６３】
これは、例えば、図５に示すように５段階の各ＷａｉｔレベルにＲＦＩＤタグ１００が存在する場合では、読取開始時に、前回読み取られてＷａｉｔレベルが１となっているＲＦＩＤタグ１００のグループ（非読カウンタはゼロ）は、４回目の起動が行われた時点で読み取られなかった場合にＷａｉｔレベルが上げられることになるためである。なお、非読カウンタの閾値の決定方法は上記のものに限らず、他の方法で値を決定してもよい。
【００６４】
ステップＳ１３２で、非読カウンタの値が閾値に達していない場合は、そのまま制御部１２０によってＲＦＩＤタグ１００をスリープ状態に移行して（Ｓ１４１）、処理を終了する。また、非読カウンタの値が閾値に達している場合は、Ｗａｉｔレベルを１つ上げてメモリ１３０の値を更新する（Ｓ１３３）。これにより、一定期間読み取られなかったＲＦＩＤタグ１００について、次回のリーダからの読み取り（起動）の際におけるＩＤの送信までの待ち時間を小さくして、ＩＤを読み取られ易くする。なお、Ｗａｉｔレベルの値が既に最大Ｗａｉｔレベルに達している場合は、Ｗａｉｔレベルはそのままとなる。
【００６５】
その後、制御部１２０によってＲＦＩＤタグ１００をスリープ状態に移行して（Ｓ１４１）、処理を終了する。なお、ステップＳ１３２において非読カウンタの値が閾値に達した場合は、これ以降のリーダからの起動によって当該処理を再度実行する際に、ステップＳ１３１における非読カウンタの値を加算する処理をスキップしてこれ以上非読カウンタの値が加算されないようにしてもよい。
【００６６】
以上に説明したように、本実施の形態のＲＦＩＤタグ１００によれば、ＩＤの下位４ビットや下１桁などで割り当てたタイムスロットだけではなく、Ｗａｉｔレベルによって、タイムスロットにおける待ち時間の最大値よりも大きい所定の時間幅を単位として待ち時間を決定し、ＩＤの送信タイミングを分散させることができる。また、自己のＩＤがリーダに読み取られたか否か、および読み取られなかった場合の期間に応じて、Ｗａｉｔレベルを自ら変更してＩＤの送信タイミングを分散させるよう制御することができる。
【００６７】
従って、衝突が発生した際に、リーダ側でマスク情報を設定して再送することにより読み取るＲＦＩＤタグ１００を絞り込んでいくという必要がなく、まだ読み取っていないＲＦＩＤタグ１００を優先的に読み取るようにすることができる。これらにより、ＩＤの分布状態に影響されずに各ＲＦＩＤタグ１００間でのＩＤの送信タイミングを効果的に分散させてアンチコリジョンを行うことができる。また、この結果、リーダによる各ＲＦＩＤタグ１００の読取試行回数を少なくして読取速度の低下を防ぎ、ＲＦＩＤタグ１００での消費電力を低減することができる。
【００６８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００６９】
本発明は、複数のＲＦＩＤタグのＩＤ（固有識別子）を読み取る際のアンチコリジョン機能を実現するＲＦＩＤタグのＩＤ送信方法およびＲＦＩＤタグに利用可能である。
【符号の説明】
【００７０】
１００…ＲＦＩＤタグ、１１０…ＲＦ部、１１１…変復調部、１１２…クロック、１２０…制御部、１２１…コマンド制御部、１２２…アンチコリジョン処理部、１２３…メモリ制御部、１２４…ＲＦ制御部、１３０…メモリ。 
【図１】
2011039730.tif 000003
【図２】
2011039730.tif 000004
【図３】
2011039730.tif 000005
【図４】
2011039730.tif 000006
【図５】
2011039730.tif 000007