説明

RFIDタグのID送信方法およびRFIDタグ

【課題】リーダからの呼び出しに対して所定の時間遅延させて自己のIDを送信することでアンチコリジョンを行うRFIDタグにおいて、衝突の発生を効率的に抑制し読取試行回数を少なくして読取速度の低下を防ぎ、消費電力を低減する。
【解決手段】タイムスロットに基づいて第1の待ち時間を取得するステップ(S102)と、第1の待ち時間の最大値よりも大きい時間幅を単位としてWaitレベルの値に基づいて第2の待ち時間を取得するステップ(S103)と、これらの合計時間を遅延させてIDを送信するステップ(S104、S105)とを実行し、さらに、応答を受信した場合にWaitレベルと非読カウンタをリセットするステップ(S122、S123)を実行し、応答を受信できなかった場合に、非読カウンタを加算するステップ(S131)と、非読カウンタが所定の閾値に達している場合にWaitレベルを上げるステップ(S133)とを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、RFID(Radio Frequency IDentification)タグの固有識別子を読み取る技術に関し、特に、複数のRFIDタグの固有識別子を読み取る際のアンチコリジョン機能を実現するRFIDタグのID送信方法およびRFIDタグに適用して有効な技術に関するものである。
【背景技術】
【0002】
近年、物流管理等のシステムにおいては、RFIDタグを利用した対象物の管理が普及してきている。これらのシステムでは、固有識別子(以下では単に「ID」と記載する場合がある)を記憶したRFIDタグを個々の管理対象物に付しておき、この情報を、RFID読取装置(以下では単に「リーダ」と記載する場合がある)が、RFIDタグと無線通信することにより非接触で読み取る。これにより、管理対象物の個体や種別を特定してその所在等を的確に把握することができ、効率的な管理を行うことが可能となる。
【0003】
RFIDタグとリーダとの間の通信では、一般的に、リーダからの呼び出し(質問)の信号に対して、これを受信した各RFIDタグが、回答として自己のIDをリーダに対して送信する。リーダは、受信したIDの情報をRFIDタグに送信することで、各RFIDタグは自己のIDがリーダに読み取られたか否かを認識する。なお、RFIDタグの方式としては、電池を内蔵するアクティブタグと、電池を内蔵せず、リーダから出力された無線電波から電力や搬送波の源振を取得するパッシブタグとがある。
【0004】
物流管理等のシステムにおいては、大量の物品に付されたRFIDタグを短時間で読み取る必要があるが、RFIDタグの密度が高くなると、リーダからの呼び出しに対して、これを受信して反応するRFIDタグの数が多くなり、自己のIDを送信するために各RFIDタグから出力された信号間で衝突(コリジョン)が発生してリーダで読み取ることができない場合が生じる。これを防止するため、物流管理のような複数のRFIDタグを短時間で読み取るシステムでは、衝突防止機能(アンチコリジョン機能)が必要となる。
【0005】
このアンチコリジョン機能の実現方法として主に利用されている方式の一つとして、例えばタイムスロット方式がある。タイムスロット方式については、JIS規格X6323−3(非特許文献1)にプロトコルが規定されている。ここでは、リーダからの応答要求コマンドに対する各RFIDタグの応答期間を16のタイムスロットに分割し、各RFIDタグは、自己のIDの下位4ビットの値に対応するタイムスロット番号を特定する。各RFIDタグは、応答要求コマンドを受信した際に、対応するタイムスロットのタイミング、すなわち、応答要求コマンドを受信してからタイムスロットに対応する時間間隔だけ遅延させたタイミングでIDを送信する。これにより、IDの値によって送信タイミングを分散させ、衝突の発生を軽減することができる。
【0006】
また、上記の方法をとった場合でも、IDの下位4ビットが同じRFIDタグ同士では衝突が発生し得るため、リーダからの応答要求コマンドにマスク情報を設定可能とし、RFIDタグでは、応答要求コマンドにマスク情報が設定されている場合は、自己のIDの下位4ビットがマスク値と同じ場合にのみ応答することができるものとする。リーダは、衝突を検知した場合は、マスク値を適宜変更して対象のRFIDタグを絞り込み、再度応答要求コマンドを送信する。この処理を繰り返すことで、全てのRFIDタグを読み取ることができる。
【0007】
しかしながら、このようなタイムスロット方式によるアンチコリジョン機能を有するIDの読取方法では、読取可能領域に存在するRFIDタグの数やIDの分布によっては、十分な読取速度が得られない場合がある。そこで、例えば、特開2009−110074号公報(特許文献1)には、RFIDタグに対して要求コマンドを送信するとともに該要求コマンドに応じたRFIDタグからの固有識別子を含む応答を受信する読取処理手段を備え、該読取処理手段は、前回読取処理において用いた衝突防止用のマスク情報に基づき次回読取処理において要求コマンドに設定するマスク情報を設定するRFIDタグ読取装置が開示されている。
【0008】
このRFIDタグ読取装置によれば、読取可能領域にあるRFIDタグの変動が読取処理の頻度と比較して極めて小さい、すなわち、前回読み取ったRFIDタグが次回も読み取られる蓋然性が高いような利用分野においては、マスク設定を効率的に行うことができ、応答要求コマンドの送信回数が削減され、読取処理の高速化を図ることが可能となる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2009−110074号公報
【非特許文献】
【0010】
【非特許文献1】ICカードシステム利用促進協議会/財団法人日本規格協会、「JISX6323−3 外部端子なしICカード−近傍型−第3部:衝突防止及び伝送プロトコル」、日本工業規格、制定年月日:2001年9月20日、最新確認年月日:2007年2月20日
【発明の概要】
【発明が解決しようとする課題】
【0011】
上述したように、タイムスロット方式によるアンチコリジョン機能においては、基本的に各RFIDタグのIDの下位4ビットによって使用するタイムスロットが割り当てられる。このとき、読取可能領域に存在するRFIDタグの数が多くなった場合には、下位4ビットが同じであるものが多数存在する場合が生じ得る。この場合は、衝突が多数発生するため、マスク情報を再設定することによるリーダからの呼び出しも多数繰り返される。
【0012】
その結果、十分な読取速度が得られず、有効な時間範囲内で全てのRFIDタグを読み取れない場合が生じる。また、読み取れた場合であってもリーダからの呼び出しによる試行回数が多くなるためRFIDタグにおけるトータルでの消費電力が大きくなってしまう場合がある。これは、特に電池を内蔵するタイプであるアクティブタグでは大きな問題となる。
【0013】
一方、例えば特許文献1に記載されたようなRFIDタグ読取装置では、マスク設定を効率的に行うことができ、リーダからの呼び出しの回数が削減され、読取処理の高速化を図ることが可能である。しかし、上記の技術では、前回読み取ったRFIDタグが次回も読み取られる蓋然性が高いような、例えば、店舗の陳列商品等の管理などの利用分野において効果があるものであり、例えば、物流管理における移動するパレット上の物品など、読み取るRFIDタグが毎回異なるような利用分野では十分な効果を得ることができない。
【0014】
そこで本発明の目的は、リーダからの呼び出しに対して所定の時間遅延させて自己のIDを送信することでアンチコリジョンを行うRFIDタグにおいて、読取可能領域に多数のRFIDタグが存在する場合であっても、衝突の発生を効率的に抑制し、リーダによる各RFIDタグの読取試行回数を少なくして読取速度の低下を防ぎ、消費電力を低減するRFIDタグのID送信方法、および当該アンチコリジョン機能を有するRFIDタグを提供することにある。
【0015】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0016】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0017】
本発明の代表的な実施の形態によるRFIDタグのID送信方法およびRFIDタグは、リーダから送信された起動パターンを受信して起動した後、前記起動パターンの受信から所定の時間遅延させて自己のIDを送信することでアンチコリジョンを行うRFIDタグのID送信方法であって、以下の特徴を有するものである。
【0018】
すなわち、前記RFIDタグは、前記IDを送信する際の待ち時間の長さに係るレベルを示すWaitレベルと、自己が送信した前記IDが前記リーダによって読み取られなかった回数をカウントする非読カウンタを保持し、前記リーダから送信された前記起動パターンを受信して起動した際に、前記IDの値に基づいて決定されるタイムスロットに基づいて第1の待ち時間を取得するステップと、前記第1の待ち時間の最大値よりも大きい所定の時間幅を単位として、前記Waitレベルの値に基づいて第2の待ち時間を取得するステップと、前記起動パターンの受信から前記第1の待ち時間と前記第2の待ち時間を合計した時間を遅延させて前記IDを送信するステップと、所定の第3の待ち時間の間、前記リーダからの応答の受信待ちを行うステップとを実行する。
【0019】
さらに、前記第3の待ち時間の間に前記リーダから自己の前記IDを読み取った旨の応答を受信した場合に、前記Waitレベルを最低のレベルにリセットし、前記非読カウンタをゼロにリセットするステップを実行し、前記第3の待ち時間の間に前記リーダから自己の前記IDを読み取った旨の応答を受信できなかった場合に、前記非読カウンタを加算するステップと、前記非読カウンタが所定の閾値に達している場合に前記Waitレベルを上げるステップとを実行し、最後に、自己をスリープ状態に移行するステップを実行することを特徴とするものである。
【発明の効果】
【0020】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0021】
本発明の代表的な実施の形態によれば、読取可能領域に多数のRFIDタグが存在してIDの送信の際に衝突が発生する場合であっても、衝突の発生を効率的に抑制し、リーダによる各RFIDタグの読取試行回数を少なくして読取速度の低下を防ぐことができる。また、これにより、各RFIDタグをリーダが読み取る際の、リーダおよび各RFIDタグでの消費電力を低減させることができる。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施の形態におけるアンチコリジョン処理のフローについて例を示した図である。
【図2】本発明の一実施の形態であるRFIDタグの構成例の概要を示した図である。
【図3】本発明の一実施の形態におけるメモリに保持するデータの構成例を示した図である。
【図4】本発明の一実施の形態におけるIDの送信タイミングの例を示した図である。
【図5】本発明の一実施の形態におけるアンチコリジョン処理の概要について例を示した図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0024】
本発明の一実施の形態であるRFIDタグは、リーダから送信された起動パターンを受信して起動した後、所定の時間遅延させて自己のIDを送信することで送信タイミングを分散させてアンチコリジョンを行うRFIDタグである。ここで、従来技術におけるタイムスロット方式では、上述したように、例えば、各RFIDタグのIDの下位1〜4ビットや下1桁などの値に応じたタイムスロットで自己のIDを送信することで、各RFIDタグ間でIDの送信タイミングを分散させている。
【0025】
具体的には、例えば、IDの下位4ビットの値(0〜15)や、下1桁の値(0〜9)に1ミリ秒を乗算した値をタイムスロットの送信タイミング(送信までの待ち時間)とし、リーダからの起動パターンを受信して起動してから当該待ち時間の経過を待った上で自己のIDを送信する。例えば、IDの下位4ビットの値を用いる場合は、タイムスロットは16個であり、最大で15ミリ秒遅延させた後に自己のIDを送信することになる。
【0026】
しかし、読取可能領域に存在するRFIDタグの数やIDの分布によっては、上記の手法ではまだ多数の衝突の発生を回避することができない。そこで、本実施の形態のRFIDタグでは、上記のタイムスロットにおける最大の待ち時間よりも大きい所定の時間幅を待ち時間の単位としたWaitレベルを設け、また、IDの読取状況に応じて自己のWaitレベルを変動させることで、各RFIDタグ間でのIDの送信タイミングを効果的に分散させてアンチコリジョンを行う。
【0027】
[システム構成]
図2は、本発明の一実施の形態であるRFIDタグの構成例の概要を示した図である。RFIDタグ100は、例えば、IC(Integrated Circuit)チップによって実現され、一般的なRFIDタグと同様の構成を有し、例えば、RF部110、制御部120、メモリ130などを有する。
【0028】
RF部110は、リーダと無線通信を行うアナログ回路であり、例えば、信号の送受信に伴う変調・復調を行う変復調部111や、クロック112を有する。また、制御部120は、RF部110やメモリ130を制御することでRFIDタグ100全体の制御を行うデジタル回路であり、例えば、コマンド制御部121、アンチコリジョン処理部122、メモリ制御部123、RF制御部124を有する。
【0029】
コマンド制御部121は、リーダから受信する種々のコマンドを解釈して対応する処理や制御を行う。アンチコリジョン処理部122は、リーダに対して自己のIDを送信する際のアンチコリジョン処理を行う。この処理の内容の詳細については後述する。メモリ制御部123は、メモリ130に対する入出力の処理や制御を行うインタフェースである。RF制御部124は、RF部110に対する処理や制御を行うインタフェースである。また、メモリ130は、IDなどのRFID100に固有のデータやアプリケーションデータなどを保持する記憶媒体であり、例えば、EEPROM(Electrically Erasable and Programmable Read Only Memory)などの不揮発性メモリによって構成される。
【0030】
なお、本実施の形態のRFIDタグ100では、リーダからの起動パターンを受信して起動した後、所定の時間の経過を待った上で自己のIDを送信するため、時間経過を待つ間の電力を要する。従って、リーダが出力した無線電波から電力を得るパッシブタグにも機能として適用可能ではあるものの、電池を内蔵するアクティブタグのほうがより望ましいため、本実施の形態では、RFIDタグ100はアクティブタグであるものとする。
【0031】
また、本実施の形態では、例えば、リーダからの起動パターンの信号は、待ち受け時の消費電力が小さいLF帯(Low Frequency:125〜135KHz)の電波を使用するものとする。また、起動後のIDの送受信などの無線通信では、大容量のデータを高速かつ省電力で行うためのデバイスを容易に入手することが可能である2.4GHz帯を利用するものとするが、無線通信の際の利用周波数帯は特にこれらに限るものではない。
【0032】
また、リーダについては特に制約はなく一般的なリーダもしくはリーダ/ライタを用いることができる。リーダは、例えば、RFIDタグ100に対する呼び出しとして、LFによる起動パターンを10ミリ秒程度の時間間隔で所定の回数(合計で例えば0.2秒の間)送信し、所定の時間(例えば、最初の起動パターンの送信から2秒)の間、2.4GHz帯にてRFIDタグ100からのIDの送信を待ち受ける。リーダは、一般的に1回の待ち受けの間に最大数個(例えば5個)のRFIDタグ100のIDを読み取ることが可能であり、読み取ったIDの情報を各RFIDタグ100に送信することによって通知する。
【0033】
[保持データ]
図3は、本実施の形態のRFIDタグ100のメモリ130に保持するデータの構成例を示した図である。メモリ130には、例えば、固有識別子(ID)、Waitレベル、非読カウンタ、単位タイムスロット待ち時間、単位Waitレベル待ち時間、および最大Waitレベルなどの項目を有する。
【0034】
固有識別子(ID)は、RFIDタグ100を一意に特定する64ビットや96ビット等の長さの識別子であり、RFIDタグ100の製造時に書き込まれ、書き換え不可のデータである。Waitレベル以下の各項目は、アンチコリジョン処理の際に用いるデータであり、これらのデータを用いたアンチコリジョン処理の内容については後述する。
【0035】
Waitレベルは、RFIDタグ100がIDを送信する際の待ち時間の長さに係るレベルであり、アンチコリジョンを行う際の上述したタイムスロットにおける待ち時間の最大値よりも大きい所定の時間幅を1単位として待ち時間の長さを決定するためのものである。非読カウンタは、リーダからの起動パターンによる呼び出しに対して送信した自己のIDがリーダによって読み取られなかった回数をカウントするカウンタである。
【0036】
単位タイムスロット待ち時間は、IDの下位4ビットや下1桁に応じて決定されたタイムスロットに対する、1つのタイムスロットあたりの待ち時間である。この値は、例えば1ミリ秒などであり、自己のIDの下1桁が例えば5で5番目のタイムスロットが割り当てられる場合は、タイムスロットの待ち時間は5ミリ秒となる。
【0037】
単位Waitレベル待ち時間は、Waitレベルの1レベルあたりの待ち時間の差分である。この値は、タイムスロットにおける最大の待ち時間よりも大きい所定の時間幅(例えば20ミリ秒)である必要がある。最大Waitレベルは、Waitレベルの最大値、すなわち、Waitレベルのレベル分けの数を保持する。本実施の形態では、後述するように最大Waitレベルを5として、Waitレベルを1〜5の5段階に分けているが、リーダが同時に読み取るRFIDタグ100の数などに応じて3以上の所定の数とすることができる。
【0038】
なお、RFIDタグ100の製造時には、Waitレベルおよび非読カウンタには初期値(例えばWaitレベルは1、非読カウンタは0)を設定しておく。また、単位タイムスロット待ち時間、単位Waitレベル待ち時間、および最大Waitレベルには予め定めた所定の値を設定しておく。単位タイムスロット待ち時間、単位Waitレベル待ち時間、および最大Waitレベルの値は、通常時は更新しないため、メモリ130ではなく制御部120が直接保持していてもよい。また、メモリ130には、図3に示したデータ以外に、アプリケーションデータとして、例えば、暗号鍵などのセキュリティ関連データを保持していてもよい。
【0039】
[アンチコリジョン処理]
本実施の形態のRFIDタグ100では、上述したように、RFIDタグ100毎に、タイムスロットにおける待ち時間の最大値よりも大きい所定の時間幅を単位として待ち時間を決定するためのWaitレベルを設け、また、IDの読取状況に応じて自己のWaitレベルを変動させることで、各RFIDタグ100間でのIDの送信タイミングを効果的に分散させてアンチコリジョンを行う。
【0040】
本実施の形態では、Waitレベルが高い(大きい)RFIDタグ100ほど、Waitレベルに基づく待ち時間が小さい、すなわち、Waitレベルが低い他のRFIDタグ100よりも早いタイミングでIDを送信するものとしている。従って、Waitレベルが高いRFIDタグ100ほど、リーダに読み取られる確率が高くなる。
【0041】
図4は、本実施の形態のRFIDタグ100におけるIDの送信タイミングの例を示した図である。例えば、図3に示した単位タイムスロット待ち時間の値が1ミリ秒であり、単位Waitレベル待ち時間の値が20ミリ秒であるとした場合、Waitレベルが最大の5であるグループは、Waitレベルでの待ち時間がゼロ、すなわち、IDの下位4ビットや下1桁などに応じたタイムスロットでの待ち時間のみでIDを送信する。このため、リーダに読み取られる確率が他のWaitレベルのものに比べて高くなる。
【0042】
また、Waitレベルが4のグループは、Waitレベルでの待ち時間が20ミリ秒で、これにさらにタイムスロットでの待ち時間を加算した時間を待ってIDを送信する。同様に、Waitレベルが3、2、1のグループは、Waitレベルでの待ち時間が、それぞれ、40ミリ秒、60ミリ秒、80ミリ秒となり、これにさらにタイムスロットでの待ち時間を加算した時間を待ってIDを送信する。
【0043】
図5は、本実施の形態のRFIDタグ100におけるアンチコリジョン処理の概要について例を示した図である。図5の例では、説明の便宜上、上段の読取開始時の図に示すように、リーダによる読取開始時に、読取可能領域にある複数のRFIDタグ100のWaitレベルが、それぞれ5段階のWaitレベルのいずれかに分布している場合を示している。なお、実際には読取開始時に全てのWaitレベルのRFIDタグ100が存在するとは限らず、一部のWaitレベルにのみ偏在している場合もある。
【0044】
上述したように、Waitレベルが高いRFIDタグ100ほどID送信までの待ち時間が短いため、早いタイミングでIDを送信することができ、リーダに読み取られる確率が高くなる。従って、本実施の形態では、実際にリーダに読み取られたRFIDタグ100については、自己のWaitレベルを最低レベルである1に変更することにより、次回の起動時におけるIDの送信タイミングを遅らせて読み取られにくくし、反射的に他のRFIDタグ100を読み取られ易くする。
【0045】
図5において、上段の読取開始時の図では、Waitレベルが1のグループは、例えば、前回の読取時に読み取られた結果、Waitレベルを最低レベルの1に変更したRFIDタグ100のグループであることを示している。この状態で、リーダからの1回目のLFによる起動パターンの送信を受けると、各RFIDタグ100は、図4に示したように、読取開始時のWaitレベルの値、およびIDの値に基づいて決定されるタイムスロットに従って決定された待ち時間を待ってIDを送信し、リーダによる読取が行われる。
【0046】
このとき、早いタイミングでIDを送信しているWaitレベルが5のグループが読み取られた結果、Waitレベルの分布は、1つ下段の1回目起動後状態の図に示す状態となる。この図では、読取開始時にWaitレベルが5であったグループが読み取られ、自己のWaitレベルを1に変更した状態を示している。
【0047】
なお、図5の例では、説明の便宜上、1回目の起動でWaitレベルが5のRFIDタグ100が全て読み取られたものとしているが、RFIDタグ100の数等によっては読み取られずに残ってしまうものも生じ得る。この場合は、1回目の起動後のWaitレベルの分布状態が読取開始時と同じ(ただし各WaitレベルのRFIDタグ100の数は異なる)であるものとして取り扱えばよい。このとき、Waitレベルが5のRFIDタグ100は優先的に読み取られるため、実際は、Waitレベルが5のものがなくなるまでリーダによる呼び出しとIDの送信が繰り返される。
【0048】
また、Waitレベルが5のRFIDタグ100の数が少ない場合は、1回の起動でWaitレベルが5の全てのRFIDタグ100と、Waitレベルが4のRFIDタグ100(の一部または全部)が読み取られる場合も生じ得る。この場合は、Waitレベルが4のRFIDタグ100の数が変わるだけであり、Waitレベルの分布状態は上述した1回目起動後状態と同様であるため特に変わりはない。これらは、読取対象が他のWaitレベルである場合についても同様である。
【0049】
図5における1回目起動後状態で、リーダからの2回目の起動パターンの送信を受けると、Waitレベルが4のグループが読み取られ、その結果、Waitレベルは、その下段の2回目起動後状態の図に示す分布状態となる。同様に、リーダからの3回目の起動パターンの送信を受けてIDの送信と読取が行われると、Waitレベルは、その下段の3回目起動後状態の図に示す分布状態となる。
【0050】
この状態で、リーダからの4回目の起動パターンの送信を受け、Waitレベルが2のグループのWaitレベルを1に変更すると、そのままでは全てのRFIDタグ100についてWaitレベルが1となってしまい、WaitレベルによってIDの送信タイミングを分散させることができなくなってしまう。
【0051】
従って、リーダからの4回目のLFによる起動パターンの送信を受けてIDの送信と読取を行った際に、読み取られたグループのWaitレベルを1に変更するとともに、リーダから所定の回数以上読み取られなかったグループのWaitレベルを1つ上げる。すなわち、図5の例では、読取開始時にWaitレベルが1であったグループ(最も過去に読み取られたグループ)のWaitレベルを2に上げる。なお、リーダから読み取られなかった回数は、後述するように、図3に示す非読カウンタによってカウントする。図5の4回目起動後状態の図は、このときのWaitレベルの分布状態を示している。
【0052】
同様に、この状態で、リーダからの5回目の起動パターンの送信を受けてIDの送信と読取を行うと、Waitレベルを2に上げたグループが読み取られる。その結果、読み取られたグループのWaitレベルを1に変更するとともに、リーダから所定の回数以上読み取られなかったグループ、すなわち、図5の例では、読取開始時にWaitレベルが5であったグループのWaitレベルを2に上げる。以下、同様の処理が繰り返される。
【0053】
これにより、IDの下位4ビットや下1桁などで割り当てたタイムスロットだけではなく、Waitレベルによって、タイムスロットにおける待ち時間の最大値よりも大きい所定の時間幅を単位として待ち時間を決定し、IDの送信タイミングを分散させることができる。また、Waitレベルは、IDがリーダに読み取られた場合に最低レベルに下げ、所定の期間読み取られない場合に1レベル上げることで、まだ読み取られていないRFIDタグ100を優先的に読み取らせるようにすることができる。これらにより、各RFIDタグ100間でのIDの送信タイミングを効果的に分散させてアンチコリジョンを行うことができる。
【0054】
[処理フロー]
図1は、本実施の形態のRFIDタグ100におけるアンチコリジョン処理のフローについて例を示した図である。リーダからのLFによる起動パターンを受信してスリープ状態から起動したRFIDタグ100は、例えば、制御部120において、コマンド制御部121からの要求に基づいて、アンチコリジョン処理部122が、図1に示すアンチコリジョン処理の一連のスキームを実行もしくは制御する。
【0055】
まず、メモリ130に保持している自己のIDをメモリ制御部123を介して読み出す(S101)。次に、メモリ130等に保持している単位タイムスロット待ち時間の値を取得し、ステップS101で取得したIDの下位4ビットや下1桁等の値に基づいて、タイムスロットでの待ち時間を取得する(S102)。ここでは、上述したように、例えば、IDの下1桁等の値に単位タイムスロット待ち時間の値(1ミリ秒等)を乗算することによって待ち時間を算出する。
【0056】
次に、メモリ130等に保持しているWaitレベル、単位Waitレベル待ち時間、および最大Waitレベルの値を取得し、Waitレベルの値に基づいてWaitレベルでの待ち時間を取得する(S103)。ここでは、例えば、
Waitレベル待ち時間=
(最大Waitレベル−Waitレベル)×単位Waitレベル待ち時間
の式によって、Waitレベルでの待ち時間を算出する。例えば、最大Waitレベルが5で、単位Waitレベル待ち時間が20ミリ秒である場合に、対象のRFIDタグ100のWaitレベルが3であった場合は、(5−3)×20=40ミリ秒が待ち時間となる。
【0057】
次に、図4に示すように、ステップS102で取得したタイムスロットでの待ち時間、およびステップS103で取得したWaitレベルでの待ち時間を合算した値を待ち時間として、クロック112を利用して当該待ち時間の経過を待つ(S104)。ステップS104において当該待ち時間が経過すると、ステップS101で取得したIDを、RF制御部124およびRF部110を介して、2.4GHz帯を利用した無線通信によりリーダに対して送信する(S105)。
【0058】
ステップS105でIDを送信すると、リーダからのIDの読取結果を受信すべく、2.4GHz帯での無線通信の受信待ちループに入る。すなわち、IDの受信待ち動作(S111)と、受信の検知(S112)、および受信待ち時間の経過の検知(S113)の一連の処理を実行する。ここで、ステップS113における受信待ち時間は、例えば、(2秒−ステップS104で算出した待ち時間)とする。2秒とは、リーダが、最初の起動パターンを送信してからRFIDタグ100からのIDの送信を待ち受ける時間である。すなわち、各RFIDタグ100は、リーダの待ち受け時間に相当する間は、リーダからの読取結果を待ち受けるものとしている。なお、リーダの仕様によってベースとなる2秒の値を変更可能としてもよい。
【0059】
受信待ちループ(S111〜S113)において、ステップS112でリーダからID(リーダが読み取ったID)を受信したことを検知した場合は、受信したIDとステップS101で取得した自己のIDとを比較する(S121)。IDが異なる場合は、自己のIDが読み取られたのではないと判断し、ステップS111に戻ってさらに受信待ちループを継続する。
【0060】
一方、ステップS121でIDが一致した場合は、自己のIDが読み取られたと判断し、図5に示すように、自己のWaitレベルを最低レベルの1にリセットし、非読カウンタの値をゼロにリセットしてメモリ130の値を更新する(S122、S123)。その後、制御部120によってRFIDタグ100をスリープ状態に移行して(S141)、処理を終了する。なお、スリープ状態では、RF部110によって、少ない消費電力でリーダからのLFによる起動パターンを待ち受けている。
【0061】
受信待ちループ(S111〜S113)において、ステップS113で受信待ち時間の経過(タイムアウト)を検知した場合、自己のIDが最終的に読み取られなかったと判断し、メモリ130の非読カウンタの値を1加算してメモリ130の値を更新する(S131)。次に、ステップS131で非読カウンタを加算した結果、非読カウンタが閾値に達したか否かを判定する(S132)。
【0062】
ここで、非読カウンタの閾値は、例えば、Waitレベルによるレベル分けの数に基づいて設定する。具体的には、例えば、メモリ130に保持している最大Waitレベルの値(本実施の形態の例では5であり、レベル分けの数に相当する)に基づいて、最大Waitレベルから1減算した値とする(本実施の形態の例では4となる)。
【0063】
これは、例えば、図5に示すように5段階の各WaitレベルにRFIDタグ100が存在する場合では、読取開始時に、前回読み取られてWaitレベルが1となっているRFIDタグ100のグループ(非読カウンタはゼロ)は、4回目の起動が行われた時点で読み取られなかった場合にWaitレベルが上げられることになるためである。なお、非読カウンタの閾値の決定方法は上記のものに限らず、他の方法で値を決定してもよい。
【0064】
ステップS132で、非読カウンタの値が閾値に達していない場合は、そのまま制御部120によってRFIDタグ100をスリープ状態に移行して(S141)、処理を終了する。また、非読カウンタの値が閾値に達している場合は、Waitレベルを1つ上げてメモリ130の値を更新する(S133)。これにより、一定期間読み取られなかったRFIDタグ100について、次回のリーダからの読み取り(起動)の際におけるIDの送信までの待ち時間を小さくして、IDを読み取られ易くする。なお、Waitレベルの値が既に最大Waitレベルに達している場合は、Waitレベルはそのままとなる。
【0065】
その後、制御部120によってRFIDタグ100をスリープ状態に移行して(S141)、処理を終了する。なお、ステップS132において非読カウンタの値が閾値に達した場合は、これ以降のリーダからの起動によって当該処理を再度実行する際に、ステップS131における非読カウンタの値を加算する処理をスキップしてこれ以上非読カウンタの値が加算されないようにしてもよい。
【0066】
以上に説明したように、本実施の形態のRFIDタグ100によれば、IDの下位4ビットや下1桁などで割り当てたタイムスロットだけではなく、Waitレベルによって、タイムスロットにおける待ち時間の最大値よりも大きい所定の時間幅を単位として待ち時間を決定し、IDの送信タイミングを分散させることができる。また、自己のIDがリーダに読み取られたか否か、および読み取られなかった場合の期間に応じて、Waitレベルを自ら変更してIDの送信タイミングを分散させるよう制御することができる。
【0067】
従って、衝突が発生した際に、リーダ側でマスク情報を設定して再送することにより読み取るRFIDタグ100を絞り込んでいくという必要がなく、まだ読み取っていないRFIDタグ100を優先的に読み取るようにすることができる。これらにより、IDの分布状態に影響されずに各RFIDタグ100間でのIDの送信タイミングを効果的に分散させてアンチコリジョンを行うことができる。また、この結果、リーダによる各RFIDタグ100の読取試行回数を少なくして読取速度の低下を防ぎ、RFIDタグ100での消費電力を低減することができる。
【0068】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0069】
本発明は、複数のRFIDタグのID(固有識別子)を読み取る際のアンチコリジョン機能を実現するRFIDタグのID送信方法およびRFIDタグに利用可能である。
【符号の説明】
【0070】
100…RFIDタグ、110…RF部、111…変復調部、112…クロック、120…制御部、121…コマンド制御部、122…アンチコリジョン処理部、123…メモリ制御部、124…RF制御部、130…メモリ。

【特許請求の範囲】
【請求項1】
リーダから送信された起動パターンを受信して起動した後、前記起動パターンの受信から所定の時間遅延させて自己のIDを送信することでアンチコリジョンを行うRFIDタグのID送信方法であって、
前記RFIDタグは、前記IDを送信する際の待ち時間の長さに係るレベルを示すWaitレベルと、自己が送信した前記IDが前記リーダによって読み取られなかった回数をカウントする非読カウンタを保持し、
前記リーダから送信された前記起動パターンを受信して起動した際に、
前記IDの値に基づいて決定されるタイムスロットに基づいて第1の待ち時間を取得するステップと、
前記第1の待ち時間の最大値よりも大きい所定の時間幅を単位として、前記Waitレベルの値に基づいて第2の待ち時間を取得するステップと、
前記起動パターンの受信から前記第1の待ち時間と前記第2の待ち時間を合計した時間を遅延させて前記IDを送信するステップと、
所定の第3の待ち時間の間、前記リーダからの応答の受信待ちを行うステップとを実行し、
さらに、前記第3の待ち時間の間に前記リーダから自己の前記IDを読み取った旨の応答を受信した場合に、前記Waitレベルを最低のレベルにリセットし、前記非読カウンタをゼロにリセットするステップを実行し、
前記第3の待ち時間の間に前記リーダから自己の前記IDを読み取った旨の応答を受信できなかった場合に、前記非読カウンタを加算するステップと、
前記非読カウンタが所定の閾値に達している場合に、前記Waitレベルを上げるステップとを実行し、
最後に、自己をスリープ状態に移行するステップを実行することを特徴とするRFIDタグのID送信方法。
【請求項2】
請求項1に記載のRFIDタグのID送信方法において、
前記非読カウンタと比較する前記閾値の値は、前記Waitレベルのレベル分けの数に基づいて設定されることを特徴とするRFIDタグのID送信方法。
【請求項3】
請求項1または2に記載のRFIDタグのID送信方法において、
前記第3の待ち時間は、前記リーダが、前記起動パターンを送信してから前記RFIDタグからの前記IDの送信を待ち受ける時間から、前記第1の待ち時間と前記第2の待ち時間を合計した時間を減算した時間であることを特徴とするRFIDタグのID送信方法。
【請求項4】
リーダと無線通信を行うRF部と、メモリと、前記RF部および前記メモリを制御する制御部とを有し、
リーダから送信された起動パターンを受信して起動した後、前記起動パターンの受信から所定の時間遅延させて自己のIDを送信することでアンチコリジョンを行うRFIDタグであって、
前記メモリは、
前記IDを送信する際の待ち時間の長さに係るレベルを示すWaitレベルと、自己が送信した前記IDが前記リーダによって読み取られなかった回数をカウントする非読カウンタを保持し、
前記制御部は、
前記RF部が前記リーダから送信された前記起動パターンを受信して起動した際に、
前記IDの値に基づいて決定されるタイムスロットに基づいて第1の待ち時間を取得し、前記第1の待ち時間の最大値よりも大きい所定の時間幅を単位として、前記Waitレベルの値に基づいて第2の待ち時間を取得し、前記起動パターンの受信から前記第1の待ち時間と前記第2の待ち時間を合計した時間を遅延させて前記IDを送信する機能と、
所定の第3の待ち時間の間に前記リーダから自己の前記IDを読み取った旨の応答を受信した場合に、前記Waitレベルを最低のレベルにリセットし、前記非読カウンタをゼロにリセットし、前記第3の待ち時間の間に前記リーダから自己の前記IDを読み取った旨の応答を受信できなかった場合に、前記非読カウンタを加算し、前記非読カウンタが所定の閾値に達している場合に前記Waitレベルを上げる機能とを有することを特徴とするRFIDタグ。
【請求項5】
請求項4に記載のRFIDタグにおいて、
内蔵する電池から電力を取得するアクティブタグであることを特徴とするRFIDタグ。
【請求項6】
請求項4または5に記載のRFIDタグにおいて、
前記リーダから送信される前記起動パターンは、LF帯によって送信されることを特徴とするRFIDタグ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−39730(P2011−39730A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−185669(P2009−185669)
【出願日】平成21年8月10日(2009.8.10)
【出願人】(000232818)日本郵船株式会社 (61)
【出願人】(304035975)株式会社MTI (46)
【Fターム(参考)】