(57)【要約】【課題】  リーダ・ライタとＩＣタグにおける通信シーケンスを削減し、通信時間やコマンドの実行にかかる時間を短縮できるＩＣタグ、ＩＣタグの制御方法及びＩＣタグシステムを提供すること。【解決手段】  本発明にかかるＩＣタグ１は、リーダ・ライタ２から受信するコマンドに基づいてコマンド処理を実行するＩＣタグであって、リーダ・ライタ２から受信したコマンドの実行条件を判定するコマンド解析部１５１と、実行条件を満たす場合に第１のコマンド処理を実行し、実行条件を満たさない場合に第１のコマンド処理とは異なる第２のコマンド処理を実行するコマンド実行部１５２と、を備えるものである。【選択図】  図２
2007094601.tif 000002
【特許請求の範囲】
【請求項１】
受信するコマンドに基づいてコマンド処理を実行するＩＣタグであって、
前記受信したコマンドの実行条件を判定する実行条件判定部と、
前記実行条件と一致する場合に第１のコマンド処理を実行し、前記実行条件と一致しない場合に前記第１のコマンド処理とは異なる第２のコマンド処理を実行するコマンド実行部と、を備える、
ＩＣタグ。
【請求項２】
前記ＩＣタグの通信状態を示す状態フラグを備え、
前記実行条件判定部は、前記状態フラグに基づいて、前記実行条件を判定する、
請求項１に記載のＩＣタグ。
【請求項３】
前記ＩＣタグ固有の識別情報であるタグＩＤを格納する記憶回路を備え、
前記実行条件判定部は、前記タグＩＤに基づいて、前記実行条件を判定する、
請求項１に記載のＩＣタグ。
【請求項４】
前記ＩＣタグは、通信状態を遷移させて通信を行い、
前記実行条件は、前記ＩＣタグの通信状態の一致・不一致条件であり、
前記コマンド実行部は、
前記ＩＣタグの現在の通信状態が前記受信したコマンドの実行条件と一致する場合に前記第１のコマンド処理を実行し、
前記ＩＣタグの現在の通信状態が前記受信したコマンドの実行条件と一致しない場合に前記第２のコマンド処理を実行する、
請求項１に記載のＩＣタグ。
【請求項５】
前記実行条件は、前記ＩＣタグ固有の識別情報であるタグＩＤの一致・不一致条件であり、
前記コマンド実行部は、
前記ＩＣタグのタグＩＤが前記受信したコマンドのタグＩＤと一致する場合に前記第１のコマンド処理を実行し、
前記ＩＣタグのタグＩＤが前記受信したコマンドのタグＩＤと一致しない場合に前記第２のコマンド処理を実行する、
請求項１に記載のＩＣタグ。
【請求項６】
前記第１のコマンド処理と前記第２のコマンド処理のいずれかは、外部に対しデータを送信しない処理である、
請求項１乃至５のいずれか一つに記載のＩＣタグ。
【請求項７】
前記データを送信しない処理は、前記ＩＣタグの通信状態を遷移させる処理である、
請求項６に記載のＩＣタグ。
【請求項８】
前記第１のコマンド処理は、前記ＩＣタグに記憶されたデータを外部に送信する処理であり、
前記第２のコマンド処理は、前記ＩＣタグの通信状態を遷移させる処理である、
請求項６に記載のＩＣタグ。
【請求項９】
前記第１のコマンド処理と前記第２のコマンド処理とは、異なるタイミングで外部にデータを送信する処理である、
請求項１乃至５のいずれか一つに記載のＩＣタグ。
【請求項１０】
前記第１のコマンド処理は、前記ＩＣタグに記憶されたデータを外部に送信する処理であり、
前記第２のコマンド処理は、前記ＩＣタグへデータを記憶させる処理である、
請求項９に記載のＩＣタグ。
【請求項１１】
受信するコマンドに基づいてコマンド処理を実行するＩＣタグの制御方法であって、前記ＩＣタグは、
前記受信したコマンドの実行条件を判定し、
前記実行条件と一致する場合に第１のコマンド処理を実行し、
前記実行条件と一致しない場合に前記第１のコマンド処理とは異なる第２のコマンド処理を実行する、
ＩＣタグの制御方法。
【請求項１２】
前記ＩＣタグは、前記ＩＣタグの通信状態を示す状態フラグを備え、
前記実行条件の判定は、前記状態フラグに基づいて、前記実行条件を判定する、
請求項１１に記載のＩＣタグの制御方法。
【請求項１３】
前記ＩＣタグは、前記ＩＣタグ固有の識別情報であるタグＩＤを格納する記憶回路を備え、
前記実行条件の判定は、前記タグＩＤに基づいて、前記実行条件を判定する、
請求項１１に記載のＩＣタグの制御方法。
【請求項１４】
前記ＩＣタグは、通信状態を遷移させて通信を行い、
前記実行条件は、前記ＩＣタグの通信状態の一致・不一致条件であり、
前記ＩＣタグの現在の通信状態が前記受信したコマンドの実行条件と一致する場合に前記第１のコマンド処理を実行し、
前記ＩＣタグの現在の通信状態が前記受信したコマンドの実行条件と一致しない場合に前記第２のコマンド処理を実行する、
請求項１１に記載のＩＣタグの制御方法。
【請求項１５】
前記実行条件は、前記ＩＣタグ固有の識別情報であるタグＩＤの一致・不一致条件であり、
前記ＩＣタグのタグＩＤが前記受信したコマンドのタグＩＤと一致する場合に前記第１のコマンド処理を実行し、
前記ＩＣタグのタグＩＤが前記受信したコマンドのタグＩＤと一致しない場合に前記第２のコマンド処理を実行する、
請求項１１に記載のＩＣタグの制御方法。
【請求項１６】
前記第１のコマンド処理と前記第２のコマンド処理のいずれかは、外部に対しデータを送信しない処理である、
請求項１１乃至１５のいずれか一つに記載のＩＣタグの制御方法。
【請求項１７】
前記データを送信しない処理は、前記ＩＣタグの通信状態を遷移させる処理である、
請求項１６に記載のＩＣタグの制御方法。
【請求項１８】
前記第１のコマンド処理は、前記ＩＣタグに記憶されたデータを外部に送信する処理であり、
前記第２のコマンド処理は、前記ＩＣタグの通信状態を遷移させる処理である、
請求項１６に記載のＩＣタグの制御方法。
【請求項１９】
前記第１のコマンド処理は、前記ＩＣタグに記憶されたデータを外部に送信する処理であり、
前記第２のコマンド処理は、前記ＩＣタグへデータを記憶させる処理である、
請求項１６に記載のＩＣタグの制御方法。
【請求項２０】
リーダ・ライタと、前記リーダ・ライタから受信するコマンドに基づいてコマンド処理を実行するＩＣタグとを備えるＩＣタグシステムであって、
前記ＩＣタグは、
前記リーダ・ライタから受信したコマンドの実行条件を判定する実行条件判定部と、
前記実行条件と一致する場合に第１のコマンド処理を実行し、前記実行条件と一致しない場合に前記第１のコマンド処理とは異なる第２のコマンド処理を実行するコマンド実行部と、を備える、
ＩＣタグシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣタグ、ＩＣタグの制御方法及びＩＣタグシステムに関し、特に、リーダ・ライタと無線通信を行うＩＣタグ、ＩＣタグの制御方法及びＩＣタグシステムに関する。
【背景技術】
【０００２】
近年、工場での物流管理、小売店での物品管理において、商品の固有情報を書き込んだＩＣを有するタグを貼り付けて、その情報を無線アンテナで読み取り、リアルタイムに商品の管理をするために、商品を自動認識する手段としてＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）に関する技術が注目されている。ＲＦＩＤは、バーコード等と異なり、複数のタグから一度にデータを読み出したり、データの書き換えが可能であるという利点がある。
【０００３】
前述のＲＦＩＤ用のＩＣタグ（以下、ＩＣタグという）は、リーダ・ライタと無線通信を行うことによって、ＩＣタグ内の不揮発性メモリにデータの書き込みや読み出しを行う。そして、ＩＣタグとリーダ・ライタは、あらかじめ決められた所定の通信プロトコルにしたがって電波やデータをやり取りすることで通信を行っている。
【０００４】
また、ＲＦＩＤでは、リーダ・ライタと複数のＩＣタグとの通信を可能にするためにアンチコリジョンと呼ばれる技術が用いられる。ＲＦＩＤでは、リーダ・ライタから送信された電波に対して、ＩＣタグがリーダ・ライタへ応答することで通信が行われる。このため、リーダ・ライタの通信可能範囲に複数のＩＣタグが存在すると、複数のＩＣタグからリーダ・ライタへ同時に信号が送信される。そうすると、複数のタグの信号が時間的に重なり、リーダ・ライタが正しい信号を受信できなくなってしまう。このような現象を信号の衝突（コリジョン）といい、この衝突を回避し、それぞれのＩＣタグを特定し通信を行う技術がアンチコリジョンである。ＩＣタグを特定するために、ユニークＩＤと呼ばれるＩＣタグを一意に特定するためのタグＩＤ（ＩＣタグ固有の識別情報）がＩＣタグに記憶されている。
【０００５】
アンチコリジョンやＩＣタグのメモリへアクセスするために、ＩＣタグからタグＩＤを読み出すタグＩＤリードコマンドや、ＩＣタグに記憶されたデータを読み出すリードコマンド、ＩＣタグにデータを書き込むライトコマンドなどが利用されている。ＩＣタグでコマンドを実行する場合、リーダ・ライタからＩＣタグへ実行させたいコマンドを示すコマンドデータが送信され、ＩＣタグからリーダ・ライタへ、コマンドの実行結果である応答を示す応答データが送信される。
【０００６】
図８は、リーダ・ライタからＩＣタグへ送信されるコマンドデータのフォーマットを示している。図に示されるように、コマンドデータには、コマンドＩＤフィールド８０１とデータフィールド８０２が含まれている。コマンドＩＤフィールド８０１には、ＩＣタグで実行するコマンドのコマンドＩＤ（コマンド識別子）が格納される。データフィールド８０２には、コマンドの実行に必要なパラメータなどが格納される。例えば、コマンドのパラメータには、コマンドを実行させたいＩＣタグのタグＩＤや、読み出しアドレス、書き込みアドレス、書き込みデータなどがある。尚、データフィールド８０２は、実行するコマンドによって省略することも可能である。ＩＣタグは、このコマンドデータを受信すると、コマンドデータを解析し、データフィールドのパラメータに基づいて実行する。
【０００７】
また、ＩＣタグは、複数の内部状態（通信状態）を有しており、コマンドの実行などによって状態を遷移させながら動作している。例えば、ＩＣタグの内部状態は、ＩＣタグ内部のフラグによって保持されている。このフラグには、ｓｌｅｅｐフラグやｉｓｏｌａｔｅフラグがある。ｓｌｅｅｐフラグは、ＩＣタグの動作を一時的に中断するＳＬＥＥＰ状態であることを示すフラグである。ｉｓｏｌａｔｅフラグは、リーダ・ライタにタグＩＤが特定されたＩＳＯＬＡＴＥＤ状態であることを示すフラグである。
【０００８】
各状態は、リーダ・ライタから受信するリセット信号やコマンドによって状態遷移が行われる。ＩＣタグの状態を遷移させるコマンドとして、例えば、ＩＣタグをＳＬＥＥＰ状態とするためのＳＬＥＥＰコマンド、ＩＣタグのＳＬＥＥＰ状態を解除するためのＷＡＫＥコマンド、ＩＣタグをＩＳＯＬＡＴＥＤ状態とするためのＩＳＯＬＡＴＥコマンドがある。例えば、ＩＣタグは、ＳＬＥＥＰコマンドを受信するとｓｌｅｅｐフラグをセットして内部状態をＳＬＥＥＰ状態とする。ＩＣタグは、ＩＳＯＬＡＴＥコマンドを受信するとｉｓｏｌａｔｅフラグをセットして内部状態をＩＳＯＬＡＴＥＤ状態とする。
【０００９】
ＩＣタグは、コマンドデータを受信した場合、コマンドのパラメータやＩＣタグの内部状態に基づいて必要な動作を行う。すなわち、ＩＣタグは、内部に条件判定回路を有しており、コマンド実行するための実行条件を判定し、実行条件を満たす場合にコマンドを実行する。条件が一致した場合に実行するコマンドを条件一致型コマンドと呼ぶ。
【００１０】
図９及び図１０のフローチャートは、従来のＩＣタグにおけるコマンド受信処理を示している。図９はタグＩＤリードコマンドを受信した場合、図１０はＳＬＥＥＰコマンドを受信した場合の動作を示している。
【００１１】
図９に示されるように、ＩＣタグは、タグＩＤリードコマンドを受信すると（Ｓ８０１）、ＩＣタグ内部で保持しているｓｌｅｅｐフラグが０かどうか判定する（Ｓ８０２）。判定の結果、ｓｌｅｅｐフラグが０の場合、すなわち、ＳＬＥＥＰ状態が解除されている場合、タグＩＤリード処理を行い（Ｓ８０３）、ｓｌｅｅｐフラグが０ではない場合、すなわち、ＳＬＥＥＰ状態の場合、状態変更などの処理を何も行わず、現在の状態を維持する。
【００１２】
図１０に示されるように、ＩＣタグは、ＳＬＥＥＰコマンドを受信すると（Ｓ８１１）、コマンドのパラメータを参照し、指定されたタグＩＤの範囲に、内部で保持しているタグＩＤが含まれるかどうか判定する（Ｓ８１２）。判定の結果、タグＩＤが含まれる場合、ｓｌｅｅｐフラグを１にセットしてＳＬＥＥＰ状態とし（Ｓ８１３）、タグＩＤが含まれない場合、状態変更などの処理を何も行わず、現在の状態を維持する。
【００１３】
図１１は、従来のＩＣタグシステムの通信方法を示すシーケンスである。このシーケンスは、リーダ・ライタが通信エリア内に存在するＩＣタグａ，ｂと通信を行い、アンチコリジョンによってＩＣタグａ，ｂのタグＩＤを特定する例である。
【００１４】
まず、リーダ・ライタは、通信エリア内に存在するＩＣタグの内部状態をリセットするため、ＩＣタグａ，ｂへリセット信号を送信し（Ｓ９０１）、ＩＣタグａ，ｂは、ｓｌｅｅｐフラグを１、ｉｓｏｌａｔｅフラグを０として内部状態をＳＬＥＥＰ状態とする（Ｓ９０２）。次いで、リーダ・ライタは、通信エリア内に存在するＩＣタグａ，ｂへＩＮＩＴコマンドを送信し（Ｓ９０３）、ＩＣタグａ，ｂは、初期設定などを行う（Ｓ９０４）。
【００１５】
次いで、リーダ・ライタは、Ｓ９０５以降においてＩＣタグを特定するためのアンチコリジョン処理を行う。まず、リーダ・ライタは、ＩＣタグａ，ｂへＷＡＫＥコマンドを送信する（Ｓ９０５）。そして、ＩＣタグａ，ｂは、ｓｌｅｅｐフラグを０にリセットして内部状態のＳＬＥＥＰ状態を解除する（Ｓ９０６）。次いで、リーダ・ライタは、ＩＣタグａ，ｂへタグＩＤリードコマンドを送信する（Ｓ９０７）。そして、ＩＣタグａ，ｂは、図９のようにｓｌｅｅｐフラグ＝０かどうか判定し、内部に保持しているタグＩＤを取得して、コマンドの応答としてタグＩＤをリーダ・ライタへ送信する（Ｓ９０８）。
【００１６】
次いで、リーダ・ライタは、受信したタグＩＤの衝突を検知し、ＩＣタグａ，ｂへＳＬＥＥＰコマンドを送信する（Ｓ９０９）。このＳＬＥＥＰコマンドのパラメータには、ＳＬＥＥＰ状態としたいＩＣタグの条件としてタグＩＤの範囲が設定されている。そして、ＩＣタグａ，ｂは、図１０のようにコマンドのパラメータで指定されたタグＩＤの範囲に含まれるかどうか判定し、ＩＣタグａは含まれないため処理を行わず、ＩＣタグｂは含まれるためｓｌｅｅｐフラグを１にセットしＳＬＥＥＰ状態とする（Ｓ９１０）。次いで、リーダ・ライタは、ＩＣタグａ，ｂへタグＩＤリードコマンドを送信する（Ｓ９１１）。そして、ＩＣタグａ，ｂは、図９のようにｓｌｅｅｐフラグ＝０かどうか判定し、ＩＣタグｂはｓｌｅｅｐフラグ＝１のため処理を行わず、ＩＣタグａはｓｌｅｅｐフラグ＝０のため内部に保持しているタグＩＤを取得して、コマンドの応答としてタグＩＤをリーダ・ライタへ送信する（Ｓ９１２）。
【００１７】
次いで、リーダ・ライタは、タグＩＤの衝突が回避されたためＩＣタグａのタグＩＤを特定し、ＩＣタグａ，ｂへＩＳＯＬＡＴＥコマンドを送信する（Ｓ９１３）。そして、ＩＣタグａ，ｂは、ｓｌｅｅｐフラグ＝０かどうか判定し、ＩＣタグｂはｓｌｅｅｐフラグ＝１のため処理を行わず、ＩＣタグａはｓｌｅｅｐフラグ＝０のためｉｓｏｌａｔｅフラグを１にセットしＩＳＯＬＡＴＥＤ状態とする（Ｓ９１４）。
【００１８】
次いで、リーダ・ライタは、ＩＣタグａ，ｂへＷＡＫＥコマンドを送信する（Ｓ９１５）。そして、ＩＣタグａ，ｂは、ｓｌｅｅｐフラグを０にリセットして内部状態のＳＬＥＥＰ状態を解除する（Ｓ９１６）。次いで、リーダ・ライタは、ＩＣタグａ，ｂへＳＬＥＥＰコマンドを送信する（Ｓ９１７）。このＳＬＥＥＰコマンドのパラメータには、ＳＬＥＥＰ状態としたいＩＣタグの条件としてｉｓｏｌａｔｅフラグ＝１が設定されている。そして、ＩＣタグａ，ｂは、ｉｓｏｌａｔｅフラグ＝１かどうか判定し、ＩＣタグｂはｉｓｏｌａｔｅフラグ＝０のため処理を行わず、ＩＣタグａはｉｓｏｌａｔｅフラグ＝１のためｓｌｅｅｐフラグを１にセットしＳＬＥＥＰ状態とする（Ｓ９１８）。次いで、リーダ・ライタは、ＩＣタグａ，ｂへタグＩＤリードコマンドを送信する（Ｓ９１９）。そして、ＩＣタグａ，ｂは、図９のようにｓｌｅｅｐフラグ＝０かどうか判定し、ＩＣタグａはｓｌｅｅｐフラグ＝１のため処理を行わず、ＩＣタグｂはｓｌｅｅｐフラグ＝０のため内部に保持しているタグＩＤを取得して、コマンドの応答としてタグＩＤをリーダ・ライタへ送信する（Ｓ９２０）。
【００１９】
次いで、リーダ・ライタは、タグＩＤの衝突が回避されたためＩＣタグｂのタグＩＤを特定し、ＩＣタグａ，ｂへＩＳＯＬＡＴＥコマンドを送信する（Ｓ９２１）。このとき、ＩＣタグａ，ｂは、ｓｌｅｅｐフラグ＝０かどうか判定し、ＩＣタグａはｓｌｅｅｐフラグ＝１のため処理を行わず、ＩＣタグｂはｓｌｅｅｐフラグ＝０のためｉｓｏｌａｔｅフラグを１にセットしＩＳＯＬＡＴＥＤ状態とする（Ｓ９２２）。次いで、リーダ・ライタは、ＩＣタグａ，ｂへＷＡＫＥコマンドを送信する（Ｓ９２３）。そして、ＩＣタグａ，ｂは、ｓｌｅｅｐフラグを０にリセットして内部状態のＳＬＥＥＰ状態を解除する（Ｓ９２４）。次いで、リーダ・ライタは、ＩＣタグａ，ｂへＳＬＥＥＰコマンドを送信する（Ｓ９２５）。このＳＬＥＥＰコマンドのパラメータには、ＳＬＥＥＰ状態としたいＩＣタグの条件としてｉｓｏｌａｔｅフラグ＝１が設定されている。そして、ＩＣタグａ，ｂは、ｉｓｏｌａｔｅフラグ＝１かどうか判定し、ＩＣタグａ，ｂはｉｓｏｌａｔｅフラグ＝１のためｓｌｅｅｐフラグを１にセットしＳＬＥＥＰ状態とする（Ｓ９２６）。以上でアンチコリジョン処理が完了し、ＩＣタグａ，ｂへリードコマンドやライトコマンドを送信し、ＩＣタグａ，ｂのメモリに対しデータの書き込みや読み出しが行われる。
【００２０】
尚、従来のＩＣカードシステムとして特許文献１が知られている。特許文献１では、図９や図１０のように条件に一致するＩＣカードのみがリーダ・ライタへ応答している。
【特許文献１】特開２００４−３８５７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
このように、従来のＩＣタグシステムでは、ＩＣタグのタグＩＤを特定するまでのアンチコリジョン処理に多くのコマンドデータや応答データを送受信する必要があり、処理に時間がかかってしまう。この問題は、ＩＣタグの数が多くなるほど顕著となる。
【００２２】
物流システムにＲＦＩＤを適用する例を考えると、近年の大量物流により、リーダ・ライタが一度の処理で認識・処理しなければならない商品（ＩＣタグ）の個数が増加している。また、ベルトコンベアのような流れ作業でタグを認識・処理するような場合には、ベルトコンベアの流れる速度自体も早くなってきている。このように、より多くの商品をより早く処理をするという要求が増しつつあり、このため、リーダ・ライタがタグを認識・処理するスピードを早くすることが重要となってきた。
【課題を解決するための手段】
【００２３】
本発明にかかるＩＣタグは、受信するコマンドに基づいてコマンド処理を実行するＩＣタグであって、前記受信したコマンドの実行条件を判定する実行条件判定部と、前記実行条件と一致する場合に第１のコマンド処理を実行し、前記実行条件と一致しない場合に前記第１のコマンド処理とは異なる第２のコマンド処理を実行するコマンド実行部と、を備えるものである。このＩＣタグによれば、リーダ・ライタからの１つのコマンド送信によって、一方のＩＣタグと他方のＩＣタグで別の処理が実行されるようになる。したがって、リーダ・ライタとＩＣタグ間の通信シーケンスを削減でき、通信時間やコマンドの実行にかかる時間を短縮することができる。
【００２４】
本発明にかかるＩＣタグの制御方法は、受信するコマンドに基づいてコマンド処理を実行するＩＣタグの制御方法であって、前記ＩＣタグは、前記受信したコマンドの実行条件を判定し、前記実行条件と一致する場合に第１のコマンド処理を実行し、前記実行条件と一致しない場合に前記第１のコマンド処理とは異なる第２のコマンド処理を実行するものである。このＩＣタグの制御方法によれば、リーダ・ライタからの１つのコマンド送信によって、一方のＩＣタグと他方のＩＣタグで別の処理が実行されるようになる。したがって、リーダ・ライタとＩＣタグ間の通信シーケンスを削減でき、通信時間やコマンドの実行にかかる時間を短縮することができる。
【００２５】
本発明にかかるＩＣタグシステムは、リーダ・ライタと、前記リーダ・ライタから受信するコマンドに基づいてコマンド処理を実行するＩＣタグとを備えるＩＣタグシステムであって、前記ＩＣタグは、前記リーダ・ライタから受信したコマンドの実行条件を判定する実行条件判定部と、前記実行条件と一致する場合に第１のコマンド処理を実行し、前記実行条件と一致しない場合に前記第１のコマンド処理とは異なる第２のコマンド処理を実行するコマンド実行部と、を備えるものである。このＩＣタグシステムによれば、リーダ・ライタからの１つのコマンド送信によって、一方のＩＣタグと他方のＩＣタグで別の処理が実行されるようになる。したがって、リーダ・ライタとＩＣタグ間の通信シーケンスを削減でき、通信時間やコマンドの実行にかかる時間を短縮することができる。
【発明の効果】
【００２６】
本発明によれば、リーダ・ライタとＩＣタグにおける通信シーケンスを削減し、通信時間やコマンドの実行にかかる時間を短縮できるＩＣタグ、ＩＣタグの制御方法及びＩＣタグシステムを提供することができる。
【発明を実施するための最良の形態】
【００２７】
発明の実施の形態１．
まず、本発明の実施の形態１にかかるＩＣタグシステムについて説明する。本実施形態にかかるＩＣタグシステムでは、所定のコマンドを受信したＩＣタグが、コマンドの実行条件に一致する場合、第１の動作を行い、実行条件に一致しない場合、第１の動作とは異なる第２の動作を行うことを特徴としている。特に本実施形態では、実行条件が一致する場合に内部状態をＳＬＥＥＰ状態とする処理を実行し、実行条件が不一致の場合にタグＩＤをリードする処理を実行する。
【００２８】
ここで、図１を用いて、本実施形態にかかるＩＣタグシステムの構成について説明する。このＩＣタグシステムは、図に示されるように、ＩＣタグ１とリーダ・ライタ２を備えている。ＩＣタグシステムは、ＩＣタグ１とリーダ・ライタ２とが所定の通信プロトコルに従って無線通信を行う通信システムである。
【００２９】
ＩＣタグシステムでは、複数のＩＣタグ１を設けることができ、アンチコリジョン機能によって、１つのリーダ・ライタ２と複数のＩＣタグ１との間で通信可能である。この例では、１つのリーダ・ライタ２とＩＣタグ１ａ，１ｂの２つのＩＣタグ１が設けられている。各ＩＣタグ１は、それぞれ後述する半導体装置１０を備えている。
【００３０】
リーダ・ライタ２は、例えば、コンピュータ（不図示）と通信可能に接続されており、このコンピュータの指示に従って、ＩＣタグ１内の記憶回路に所定のデータを書き込んだり、書き込まれたデータをＩＣタグ１から読み出したりする。
【００３１】
例えば、ＩＣタグ１にデータの書き込みや読み出しを行う場合、リーダ・ライタ２とＩＣタグ１の距離を近づけると、ＩＣタグ１は、リーダ・ライタ２からの電波を受信し、この電波を整流して電源電圧を生成する。リーダ・ライタ２は、コンピュータから取得したコマンドをＩＣタグ１へ送信し、ＩＣタグ１は、このコマンドを受信してＩＣタグ１内の記憶回路へデータの書き込みや読み出しを行う。
【００３２】
次に、図２を用いて、本実施形態にかかるＩＣタグの構成について説明する。ＩＣタグ１は、図に示されるように、半導体装置１０、アンテナ１７を備えており、半導体装置１０とアンテナ１７とは、アンテナ端子１８を介して接続されている。また、半導体装置１０は、電源電圧生成部１１、受信部１２、送信部１３、クロック生成部１４、制御部１５及び記憶部１６を備えている。
【００３３】
アンテナ１７は、リーダ・ライタ２と電波を送受信するアンテナであり、リーダ・ライタ２が送信する電波の周波数等に応じた特性を有している。電源電圧生成部１１は、アンテナ１７によって受信された電波を整流し、電波の振幅に基づいた電源電圧を生成する。この電源電圧は、受信部１２や送信部１３、クロック生成部１４、制御部１５、記憶部１６等に供給される。
【００３４】
受信部１２は、アンテナ１７によって受信された電波を復調し、復調信号に変換する。この復調信号は、クロック生成部１４や制御部１５へ出力される。送信部１３は、制御部１５によって生成され送信するデータを含むデータ信号を変調し、変調信号に変換する。この変調信号は、電波としてアンテナ１７を介しリーダ・ライタ２へ送信される。
【００３５】
クロック生成部１４は、受信部１２によって生成された復調信号から、一定周期のフレームパルスを抽出し、フレームパルスに基づいたクロック信号を生成する。このクロック信号は、制御部１５等に出力される。
【００３６】
記憶部１６は、リーダ・ライタ２から受信したデータを記憶するメモリであり、例えば、不揮発性メモリである。記憶部１６は、制御部１５の制御に従って、データを記憶したり、記憶しているデータを出力したりする。記憶部１６は、不揮発性メモリとして、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）やフラッシュメモリ、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＯＵＭ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ）等であってもよい。また、記憶部１６は、チャージポンプ等の昇圧回路を備えており、データの書き込み時に、この昇圧回路によって、電源電圧を書き込みに必要な電圧まで昇圧する。
【００３７】
記憶部１６には、ライトコマンドによってデータが書き込まれ、書き込まれたデータがリードコマンドによって読み出される。記憶部１６には、タグＩＤや内部状態も格納されている。尚、処理の高速化を図るため、制御部１５に設けられたレジスタに、タグＩＤや内部状態等を格納してもよい。
【００３８】
制御部１５は、受信部１２によって生成された復調信号を復号してコマンドの抽出や解析を行い、このコマンドに基づいて記憶部１６の書き込みや読み出しを行う。制御部１５は、受信したコマンドを解析するコマンド解析部１５１と、解析したコマンドを実行するコマンド実行部１５２を有している。制御部１５は、コマンド解析部１５１とコマンド実行部１５２により、所定のコマンドを受信した際、コマンドの実行条件を満たすかどうか判定し、条件を満たす場合と満たさない場合とでそれぞれ異なる処理を実行する。
【００３９】
コマンド解析部１５１は、受信したコマンドデータのフォーマットを解析し、コマンドデータに含まれるコマンドＩＤフィールドとデータフィールドの内容を取得する。また、コマンド解析部１５１は、コマンドＩＤフィールドのコマンドを実行するために、コマンドの実行条件を判定する実行条件判定部１５３を有している。例えば、実行条件には、ＩＣタグの内部状態や、パラメータで指定されるタグＩＤなどである。
【００４０】
コマンド実行部１５２は、コマンド解析部１５１の解析したコマンドを実行する。コマンド実行部１５２は、コマンド解析部１５１の判定結果にしたがい、実行条件を満たす場合には第１のコマンド処理を実行し、実行条件を満たさない場合には第１のコマンド処理とは異なる第２のコマンド処理を実行する。例えば、実行条件が内部状態の条件の場合、コマンド実行部１５２は、ＩＣタグの現在の内部状態が受信したコマンドの実行条件を一致する場合に第１のコマンド処理を事項し、ＩＣタグの現在の内部状態が受信したコマンドの実行条件と一致しない場合に第２のコマンド処理を実行する。また、実行条件がタグＩＤの条件の場合、コマンド実行部１５２は、ＩＣタグのタグＩＤが受信したコマンドで指定されたタグＩＤと一致する場合に第１のコマンド処理を実行し、ＩＣタグのタグＩＤが受信したコマンドで指定されたタグＩＤと一致しない場合に第２のコマンド処理を実行する。
【００４１】
例えば、コマンド解析部１５１の解析したコマンドがライトコマンドの場合、コマンド実行部１５２は、記憶部１６に対しデータの書き込みを行い、コマンド完了を示す応答を送信部１３から送信する。また、コマンド解析部１５１の解析したコマンドがリードコマンドやタグＩＤリードコマンドの場合、コマンド実行部１５２は、記憶部１６からデータやタグＩＤを読み出し、読み出したデータを送信部１３から送信する。
【００４２】
さらに、本実施形態では、タグＩＤリード・ＳＬＥＥＰコマンドを解析・実行する。タグＩＤリード・ＳＬＥＥＰコマンドは、タグＩＤを読み出すタグＩＤリード処理もしくは内部状態をＳＬＥＥＰ状態に切り替えるＳＬＥＥＰ処理のいずれかを、ＩＣタグに実行させるためのコマンドである。例えば、タグＩＤリード・ＳＬＥＥＰコマンドは、図８のフォーマットでリーダ・ライタから送信され、コマンドＩＤフィールドにタグＩＤリード・ＳＬＥＥＰコマンドを示す識別子が設定され、データフィールドにＳＬＥＥＰ状態としたいＩＣタグのタグＩＤが設定される。
【００４３】
図３のフローチャートは、ＩＣタグがタグＩＤリード・ＳＬＥＥＰコマンドを受信した場合の処理を示している。
【００４４】
まず、コマンド解析部１５１は、受信したコマンドデータを解析し、コマンドＩＤフィールドのコマンドＩＤによってタグＩＤリード・ＳＬＥＥＰコマンドを受信したことを検出する（Ｓ３０１）。
【００４５】
次いで、コマンド解析部１５１は、データフィールドのパラメータのタグＩＤの範囲と記憶部１６に記憶しているタグＩＤとを比較し、ＩＣタグのタグＩＤがコマンドで指定されたタグＩＤの範囲に含まれるかどうか判定する（Ｓ３０２）。
【００４６】
Ｓ３０２において、タグＩＤが含まれると判定された場合、コマンド実行部１５２は、ｓｌｅｅｐフラグを１にセットしてＳＬＥＥＰ状態とする（Ｓ３０３）。また、Ｓ３０２において、タグＩＤが含まれないと判定された場合、コマンド実行部１５２は、タグＩＤリード処理を実行する（Ｓ３０４）。タグＩＤリード処理では、記憶部１６からタグＩＤを取得し、取得したタグＩＤを送信部１３から送信する。
【００４７】
次に、図４のシーケンスを用いて、本実施形態にかかるＩＣタグシステムの通信方法について説明する。図４は、リーダ・ライタ２が通信エリアに存在するＩＣタグ１ａ，１ｂと通信を行い、アンチコリジョンによってＩＣタグ１ａ，１ｂのタグＩＤを順に特定する例である。
【００４８】
まず、リーダ・ライタ２は、通信エリア内のＩＣタグ１ａ，１ｂへリセット信号を送信する（Ｓ４０１）。例えば、ＩＣタグ１ａ，１ｂがリーダ・ライタ２の通信エリアに配置された後、リーダ・ライタ２は、ＩＣタグが電源電圧を生成して最初にリセットするために、リセット信号として上記のフレームパルス（基準パルス）のみを含む信号を生成しＩＣタグ１へ送信する。
【００４９】
次いで、ＩＣタグ１ａ，１ｂは、リセット信号を受信し、ｓｌｅｅｐフラグを１、ｉｓｏｌａｔｅフラグを０として内部状態をＳＬＥＥＰ状態とする（Ｓ４０２）。このとき、ＩＣタグ１ａ，１ｂでは、Ｓ４０１でリーダ・ライタ２から送信されたリセット信号が、アンテナ１７を介して受信部１２や電源電圧生成部１１に入力され、電源電圧生成部１１で、受信した電波に応じた電源電圧を生成する。そして、電源電圧生成部１１で生成する電源電圧が、半導体装置１０の動作電圧以上になると、電源電圧生成部１１から制御部１５等の回路へリセット信号が出力され、内部状態の初期化が行われる。
【００５０】
次いで、リーダ・ライタ２は、通信エリア内のＩＣタグ１ａ，１ｂへＩＮＩＴコマンドを送信する（Ｓ４０３）。ＩＮＩＴコマンドは、アンチコリジョン処理の前に送信される初期設定コマンドである。例えば、Ｓ４０１から所定の時間経過後、リーダ・ライタ２は、ＩＮＩＴコマンドをＩＣタグ１へ送信する。そして、ＩＣタグ１ａ，１ｂは、ＩＮＩＴコマンドを受信すると初期設定などを行う（Ｓ４０４）。尚、ここでは、ＩＮＩＴコマンドやＷＡＫＥコマンドに対しＩＣタグから応答を送信していないが、これに限らず応答を送信してもよい。リーダ・ライタは、通信開始前に通信エリア内にＩＣタグが存在することを認識することはできない。ＩＮＩＴコマンドやＷＡＫＥコマンドの応答、もしくは、タグＩＤリードコマンドの応答をＩＣタグから受信することによって、リーダ・ライタは、通信エリア内にＩＣタグが存在することを認識してもよい。
【００５１】
次いで、リーダ・ライタ２は、Ｓ４０５以降においてＩＣタグ１を特定するためのアンチコリジョン処理を行う。アンチコリジョン処理とは、複数のＩＣタグと通信するために全てのＩＣタグを順に特定する処理である。
【００５２】
まず、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂへＷＡＫＥコマンドを送信する（Ｓ４０５）。そして、ＩＣタグ１ａ，１ｂは、コマンド実行部１５２でｓｌｅｅｐフラグを０にリセットして内部状態のＳＬＥＥＰ状態を解除する（Ｓ４０６）。
【００５３】
次いで、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂへタグＩＤリードコマンドを送信する（Ｓ４０７）。そして、ＩＣタグ１ａ，１ｂは、コマンド解析部１５１でｓｌｅｅｐフラグ＝０かどうか判定し、ＩＣタグのタグＩＤを取得して、コマンドの応答としてタグＩＤをリーダ・ライタ２へ送信する（Ｓ４０８）。
【００５４】
次いで、リーダ・ライタ２は、受信したタグＩＤの衝突を検知し、ＩＣタグ１ａ，１ｂへタグＩＤリード・ＳＬＥＥＰコマンドを送信する（Ｓ４０９）。このコマンドのデータフィールドには、ＳＬＥＥＰ状態としたいＩＣタグの条件としてタグＩＤの範囲が格納されている。そして、ＩＣタグ１ａ，１ｂは、図３のように、コマンド解析部１５１でＩＣタグのタグＩＤがコマンドのパラメータで指定されたタグＩＤの範囲に含まれるかどうか判定し、ＩＣタグ１ｂは含まれるためコマンド実行部１５２でｓｌｅｅｐフラグを１にセットしＳＬＥＥＰ状態とし（Ｓ４１０）、ＩＣタグ１ａは含まれないためコマンド実行部１５２でタグＩＤを取得して、コマンドの応答としてタグＩＤをリーダ・ライタ２へ送信する（Ｓ４１１）。
【００５５】
例えば、タグＩＤリード・ＳＬＥＥＰコマンドで実行される２つの処理のうち、いずれかの処理は、リーダ・ライタへ応答しない処理である。これにより、リーダ・ライタは、１つの応答に対する処理のみでよいため、２つの応答を同時に処理するような複雑な処理を追加する必要がない。この例では、一方の処理は、タグＩＤを応答する処理であり、他方の処理は、ＩＣタグの内部状態を切り替えて（遷移させて）応答しない処理である。
【００５６】
次いで、リーダ・ライタ２は、タグＩＤの衝突が回避されたためＩＣタグ１ａのタグＩＤを特定し、ＩＣタグ１ａ，１ｂへＩＳＯＬＡＴＥコマンドを送信する（Ｓ４１２）。そして、ＩＣタグ１ａ，１ｂは、コマンド解析部１５１でｓｌｅｅｐフラグ＝０かどうか判定し、ＩＣタグｂはｓｌｅｅｐフラグ＝１のためコマンド実行部１５２で処理を行わず、ＩＣタグ１ａはｓｌｅｅｐフラグ＝０のためコマンド実行部１５２でｉｓｏｌａｔｅフラグを１にセットしＩＳＯＬＡＴＥＤ状態とする（Ｓ４１３）。
【００５７】
次いで、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂへＷＡＫＥコマンドを送信する（Ｓ４１３）。そして、ＩＣタグ１ａ，１ｂは、コマンド実行部１５２でｓｌｅｅｐフラグを０にリセットして内部状態のＳＬＥＥＰ状態を解除する（Ｓ４１５）。次いで、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂへＳＬＥＥＰコマンドを送信する（Ｓ４１６）。このＳＬＥＥＰコマンドのパラメータには、ＳＬＥＥＰ状態としたいＩＣタグの条件としてｉｓｏｌａｔｅフラグ＝１が設定されている。そして、ＩＣタグ１ａ，１ｂは、コマンド解析部１５１でｉｓｏｌａｔｅフラグ＝１かどうか判定し、ＩＣタグｂはｉｓｏｌａｔｅフラグ＝０のためコマンド実行部１５２で処理を行わず、ＩＣタグａはｉｓｏｌａｔｅフラグ＝１のためコマンド実行部１５２でｓｌｅｅｐフラグを１にセットしＳＬＥＥＰ状態とする（Ｓ４１７）。
【００５８】
次いで、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂへタグＩＤリードコマンドを送信する（Ｓ４１８）。そして、ＩＣタグ１ａ，１ｂは、コマンド解析部１５１でｓｌｅｅｐフラグ＝０かどうか判定し、ＩＣタグ１ａはｓｌｅｅｐフラグ＝１のためコマンド実行部１５２で処理を行わず、ＩＣタグ１ｂはｓｌｅｅｐフラグ＝０のためコマンド実行部１５２でＩＣタグのタグＩＤを取得して、コマンドの応答としてタグＩＤをリーダ・ライタへ送信する（Ｓ４１９）。
【００５９】
次いで、リーダ・ライタ２は、タグＩＤの衝突が回避されたためＩＣタグ１ｂのタグＩＤを特定し、ＩＣタグ１ａ，１ｂへＩＳＯＬＡＴＥコマンドを送信する（Ｓ４２０）。そして、ＩＣタグ１ａ，１ｂは、コマンド解析部１５１でｓｌｅｅｐフラグ＝０かどうか判定し、ＩＣタグ１ａはｓｌｅｅｐフラグ＝１のためコマンド実行部１５２で処理を行わず、ＩＣタグ１ｂはｓｌｅｅｐフラグ＝０のためコマンド実行部１５２でｉｓｏｌａｔｅフラグを１にセットしＩＳＯＬＡＴＥＤ状態とする（Ｓ４２１）。次いで、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂへＷＡＫＥコマンドを送信する（Ｓ４２２）。そして、ＩＣタグ１ａ，１ｂは、コマンド実行部１５２でｓｌｅｅｐフラグを０にリセットして内部状態のＳＬＥＥＰ状態を解除する（Ｓ４２３）。次いで、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂへＳＬＥＥＰコマンドを送信する（Ｓ４２４）。このＳＬＥＥＰコマンドのパラメータには、ＳＬＥＥＰ状態としたいＩＣタグの条件としてｉｓｏｌａｔｅフラグ＝１が設定されている。そして、ＩＣタグ１ａ，１ｂは、コマンド解析部１５１でｉｓｏｌａｔｅフラグ＝１かどうか判定し、ＩＣタグａ，ｂはｉｓｏｌａｔｅフラグ＝１のためコマンド実行部１５２でｓｌｅｅｐフラグを１にセットしＳＬＥＥＰ状態とする（Ｓ４２５）。以上でアンチコリジョン処理が完了し、ＩＣタグ１ａ，１ｂへリードコマンドやライトコマンドを送信し、ＩＣタグ１ａ，１ｂのメモリに対しデータの書き込みや読み出しが行われる。
【００６０】
このように本実施形態では、所定のコマンドを受信したＩＣタグが、コマンド条件に一致する場合とコマンド条件に一致しない場合とで異なる処理を実行する。これにより、通信シーケンスを削減することができるため、リーダ・ライタとＩＣタグの通信時間やコマンドの実行にかかる時間を短縮することができる。例えば、従来例と本実施形態のシーケンスを比べると、図１１のＳ９０９〜Ｓ９１２が図４のＳ４０９〜Ｓ４１１に対応しており、ＳＬＥＥＰコマンドとタグＩＤリードコマンドを２回で送信していたのを、タグＩＤリード・ＳＬＥＥＰコマンドによりコマンド送信を１回に減らすことができる。
【００６１】
特に、タグＩＤリード処理もしくはＳＬＥＥＰ処理を一つのコマンドで実現することによって、アンチコリジョン処理を短縮することができる。ＩＣタグシステムでは、複数のＩＣタグが存在する場合には、ＩＣタグの識別が必ず必要であり、その識別作業（アンチコリジョン処理）にも時間がかかる。この識別作業は、ＩＣタグの数に比例して時間がかかる。したがって、アンチコリジョン処理を短縮することにより、多数のＩＣタグが存在する場合に全体の通信処理を効果的に短縮することができる。
発明の実施の形態２．
【００６２】
次に、本発明の実施の形態２にかかるＩＣタグシステムについて説明する。本実施形態では、上記の実施の形態の例と別のコマンドにおいて、ＩＣタグで実行条件の判定により異なる動作を実行する。本実施形態では、実行条件が一致する場合に内部状態をＩＳＯＬＡＴＥＤ状態とするＩＳＯＬＥＴＥ処理を実行し、実行条件が不一致の場合に内部状態をＷＡＫＥ処理とする処理を実行する。
【００６３】
本実施形態にかかるＩＣタグシステムやＩＣタグの構成については、図１や図２と同様であり説明を省略する。本実施形態では、実施の形態１に加えて、ＩＳＯＬＡＴＥ・ＷＡＫＥコマンドを解析・実行する。ＩＳＯＬＡＴＥ・ＷＡＫＥコマンドは、内部状態をＩＳＯＬＡＴＥＤ状態に切り替えるＩＳＯＬＡＴＥ処理もしくは内部状態をＳＬＥＥＰ状態から解除する処理のいずれかを、ＩＣタグに実行させるためのコマンドである。例えば、ＩＳＯＬＡＴＥ・ＷＡＫＥコマンドは、図８のフォーマットでリーダ・ライタから送信され、コマンドＩＤフィールドにＩＳＯＬＡＴＥ・ＷＡＫＥコマンドを示す識別子が設定され、データフィールドにＩＳＯＬＡＴＥＤ状態としたいＩＣタグのタグＩＤが設定される。
【００６４】
図５のフローチャートは、本実施形態にかかるＩＣタグが、ＩＳＯＬＡＴＥ・ＷＡＫＥコマンドを受信した場合の処理を示している。
【００６５】
まず、コマンド解析部１５１は、受信したコマンドデータを解析し、コマンドＩＤフィールドのコマンドＩＤによってＩＳＯＬＡＴＥ・ＷＡＫＥコマンドを受信したことを検出する（Ｓ５０１）。
【００６６】
次いで、コマンド解析部１５１は、データフィールドのパラメータのタグＩＤの範囲と記憶部１６に記憶しているタグＩＤとを比較し、ＩＣタグのタグＩＤがコマンドで指定されたタグＩＤの範囲に含まれるかどうか判定する（Ｓ５０２）。
【００６７】
Ｓ５０２において、タグＩＤが含まれると判定された場合、コマンド実行部１５２はｉｓｏｌａｔｅフラグを１にセットしてＩＳＯＬＡＴＥＤ状態とする（Ｓ５０３）。また、Ｓ５０２において、タグＩＤが含まれないと判定された場合、コマンド実行部１５２はｓｌｅｅｐフラグを０にリセットしてＳＬＥＥＰ状態を解除する（Ｓ５０４）。
【００６８】
次に、図６のシーケンスを用いて、本実施形態にかかるＩＣタグシステムの通信方法について説明する。図６は、図４と同様に、アンチコリジョンによってＩＣタグ１ａ，１ｂのタグＩＤを順に特定する例である。図６は、図４と比べて、Ｓ４１２〜Ｓ４１５がＳ４３０〜Ｓ４３２に置き換えられている。
【００６９】
まず、Ｓ４０１〜Ｓ４０４でリセット信号、ＩＮＩＴコマンドの処理が行われ、Ｓ４０５以降でアンチコリジョン処理が行われる。アンチコリジョン処理では、ＷＡＫＥコマンド（Ｓ４０５）、タグＩＤリードコマンド（Ｓ４０７）、タグＩＤリード・ＳＬＥＥＰコマンド（Ｓ４０９）により、タグＩＤの衝突が回避されてＩＣタグ１ａのタグＩＤが特定される。
【００７０】
次いで、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂへＩＳＯＬＡＴＥ・ＷＡＫＥコマンドを送信する（Ｓ４３０）。そして、ＩＣタグ１ａ，１ｂは、図５のように、コマンド解析部１５１でＩＣタグのタグＩＤがコマンドのパラメータで指定されたタグＩＤの範囲に含まれるかどうか判定し、ＩＣタグ１ａは含まれるためコマンド実行部１５２はｉｓｏｌａｔｅフラグを１にセットしＩＳＯＬＡＴＥＤ状態とし（Ｓ４３１）、ＩＣタグ１ｂは含まれないためコマンド実行部１５２はｓｌｅｅｐフラグを０にリセットしてＳＬＥＥＰ状態を解除する（Ｓ４３２）。この例では、ＩＳＯＬＡＴＥ・ＷＡＫＥコマンドで実行される２つの処理は、両方とも、ＩＣタグの内部状態を切り替えて応答しない処理である。
【００７１】
次いで、ＳＬＥＥＰコマンド（Ｓ４１６）、タグＩＤリードコマンド（Ｓ４１８）によってＩＣタグ１ｂが特定され、ＩＳＯＬＡＴＥコマンド（Ｓ４２０）によってＩＣタグ１ｂがＩＳＯＬＡＴＥＤ状態となる（Ｓ４２１）。さらに、ＷＡＫＥコマンド（Ｓ４２２）、ＳＬＥＥＰコマンド（Ｓ４２４）により、ＩＣタグ１ａ，１ｂがＳＬＥＥＰ状態となる（Ｓ４２５）。
【００７２】
このように本実施形態では、実施の形態１のタグＩＤ・リードコマンドに加えて、ＩＳＯＬＡＴＥ・ＷＡＫＥコマンドにより、さらに、通信シーケンスを削減でき、リーダ・ライタとＩＣタグの通信時間やコマンドの実行にかかる時間を短縮することができる。例えば、従来例と本実施形態のシーケンスを比べると、図１１のＳ９１３〜Ｓ９１６が図６のＳ４３０〜Ｓ４３２に対応しており、ＩＳＯＬＡＴＥコマンドとＷＡＫＥコマンドを２回で送信していたのを、ＩＳＯＬＡＴＥ・ＷＡＫＥコマンドによりコマンド送信を１回に減らすことができる。この結果、アンチコリジョン処理をさらに短縮することができる。
発明の実施の形態３．
【００７３】
次に、本発明の実施の形態３にかかるＩＣタグシステムについて説明する。本実施形態では、ＩＣタグがさらに複数設けられた場合に、ＩＣタグで実行条件の判定により異なる動作を実行する。本実施形態では、実行条件が一致する場合にＩＣタグのメモリにデータを書き込むライト処理を実行し、条件が不一致の場合にＩＣタグのタグＩＤを読み出すタグＩＤリード処理を実行する。
【００７４】
本実施形態にかかるＩＣタグシステムでは、３つのＩＣタグ１ａ，１ｂ，１ｃを有している。その他、ＩＣタグシステムやＩＣタグの構成については、図１や図２と同様であり説明を省略する。
【００７５】
ここでは、図７を用いて、本実施形態にかかるＩＣタグシステムの通信方法について説明する。図７は、リーダ・ライタ２が通信エリアに存在するＩＣタグ１ａ，１ｂ，１ｃと通信を行い、アンチコリジョンによってＩＣタグ１ａ，１ｂ，１ｃのタグＩＤを順に特定するとともに、ライト処理を行う例である。
【００７６】
図において、Ｓ７０１，Ｓ７０２，Ｓ７０３は、ＩＣタグ１ａ，１ｂ，１ｃをそれぞれ特定するためのアンチコリジョン処理であり、処理の詳細については図４や図６と同様である。
【００７７】
Ｓ７０１で、ＩＣタグ１ａのタグＩＤが特定すると、ＩＣタグ１ａがＩＳＯＬＡＴＥＤ状態となる。続いて、Ｓ７０２でアンチコリジョン処理が行われるが、このとき、リーダ・ライタ２は、ＩＣタグ１ａ，１ｂ，１ｃへタグＩＤリード・ライトコマンドを送信する（Ｓ７０４）。そして、ＩＣタグ１ａ，１ｂ，１ｃは、ＩＣタグのタグＩＤがコマンドのパラメータで指定されたタグＩＤに該当するかどうか判定する。ＩＣタグ１ａは該当するためライト処理を実行してそのコマンド完了をリーダ・ライタ２へ応答し、ＩＣタグ１ｂ，１ｃは該当しないためタグＩＤを取得してリーダ・ライタ２へ応答する。タグＩＤリード・ライトコマンドで実行される２つの処理は、異なるタイミングでリーダ・ライタへ応答する処理である。ライト処理とリード処理では、ＩＣタグで処理にかかる時間が異なるため、リーダ・ライタへ応答を受信する時間が異なり、リーダ・ライタではライト処理とリード処理の応答を両方とも処理することができる。
【００７８】
Ｓ７０３でも同様に、リーダ・ライタ２は、ＩＣタグ１ｂ，１ｃへタグＩＤリード・ライトコマンドを送信し（Ｓ７０５）、ＩＣタグ１ｂではライト処理が実行され、ＩＣタグ１ｃではタグＩＤリード処理が実行される。Ｓ７０３の後、ＩＣタグ１ｃへライトコマンド（Ｓ７０６）が送信されて、ＩＣタグ１ｃへライトが行われる。
【００７９】
このように本実施形態では、タグＩＤリード・ライトコマンドによって、タグＩＤの読み出しとデータの書き込みを１つのコマンドで実行することができる。これにより、アンチコリジョン処理とライト処理を同時に平行して行うことができるため、さらに、通信シーケンスを削減でき、リーダ・ライタとＩＣタグの通信時間やコマンドの実行にかかる時間を短縮することができる。
【００８０】
尚、１つのコマンドによって実行される２つの処理は、上述の例に限らず、その他の処理でもよい。例えば、図４のＳ４２２のＷＡＫＥコマンドと、Ｓ４２４のｉｓｏｌａｔｅフラグ＝１のＩＣタグに対するＳＬＥＥＰコマンドとを組み合わせたコマンドとしてもよい。また、上述の例では、１つのコマンドによって２つの異なるコマンド処理を実行したが、３つ以上のコマンド処理から選択される処理を実行してもよい。例えば、データの書き込み、タグＩＤリード、ｓｌｅｅｐフラグのセットなどを１つのコマンドにより実行してもよい。
【００８１】
また、上述の例では、内部に電源を有しないパッシブ型のＩＣタグとして説明したが、これに限らず、内部に電源を有するアクティブ型のＩＣタグであってもよい。
【００８２】
このほか、本発明の要旨を逸脱しない範囲で種々の変形、実施が可能である。
【図面の簡単な説明】
【００８３】
【図１】本発明にかかるＩＣタグシステムの構成図である。
【図２】本発明にかかるＩＣタグの構成を示すブロック図である。
【図３】本発明にかかるＩＣタグのコマンド実行処理を示すフローチャートである。
【図４】本発明にかかるＩＣタグシステムの通信方法を示すシーケンスである。
【図５】本発明にかかるＩＣタグのコマンド実行処理を示すフローチャートである。
【図６】本発明にかかるＩＣタグシステムの通信方法を示すシーケンスである。
【図７】本発明にかかるＩＣタグシステムの通信方法を示す図である。
【図８】ＩＣタグシステムで用いられるコマンドデータのフォーマットを示す図である。
【図９】従来のＩＣタグのコマンド実行処理を示すフローチャートである。
【図１０】従来のＩＣタグのコマンド実行処理を示すフローチャートである。
【図１１】従来のＩＣタグシステムの通信方法を示すシーケンスである。
【符号の説明】
【００８４】
１  ＩＣタグ
２  リーダ・ライタ
１０  半導体装置
１１  電源電圧生成部
１２  受信部
１３  送信部
１４  クロック生成部
１５  制御部
１６  記憶部
１７  アンテナ
１８  アンテナ端子
１５１  コマンド解析部
１５２  コマンド実行部
【図１】
2007094601.tif 000003
【図２】
2007094601.tif 000004
【図３】
2007094601.tif 000005
【図４】
2007094601.tif 000006
【図５】
2007094601.tif 000007
【図６】
2007094601.tif 000008
【図７】
2007094601.tif 000009
【図８】
2007094601.tif 000010
【図９】
2007094601.tif 000011
【図１０】
2007094601.tif 000012
【図１１】
2007094601.tif 000013