本発明の実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
図1は、従来の改良型のアクティブRF IDタグを読み取るためのリーダ/ライタ装置(R/W)とRF IDタグのタイムチャートを示している。リーダ/ライタ装置は、コマンド(CMD)の送信とRF IDからの受信を同じ周波数チャネルで時分割的に行う。リーダ/ライタ装置は、例えば2秒といった一定の周期で例えば100msの持続時間でID要求コマンドを送信し、残りの時間は受信待ち状態となる。
1つのリーダ/ライタ装置によって複数のRF IDタグに対応できるようにするために、各RF IDタグは、一般的には、リーダ/ライタ装置による1回のID要求に対して、衝突回避のためにリーダ/ライタ装置へ応答送信するタイミングをランダムにずらすように構成されている。各RF IDタグは、コマンド受信後の所定時間内のランダムに選択されたタイムスロットでリーダ/ライタ装置へ応答送信し、従って応答の衝突の確率が低減される。そのためにはリーダ/ライタ装置は受信待ちの持続時間を長くする必要がある。例えば、各RF IDタグからのランダムなタイミングにおける応答送信のための持続時間が0〜1.5秒程度の場合、リーダ/ライタ装置は1.5秒以上の受信待ち持続時間を確保する必要がある。従って、リーダ/ライタ装置の応答送信の周期が長くなる。RF IDタグは、リーダ/ライタ装置から送信された要求コマンドを検出するために、一定周期でキャリア・センスを行い、即ち受信RF信号の強度の検知を行い、キャリアを検知した時のみ受信処理および送信動作に移行するよう構成されている。リーダ/ライタ装置による送信の周期が2秒である場合、それを確実に検知するためには、キャリア・センス持続時間も少なくとも約2秒確保する必要がある。
通常、RF IDタグは、キャリア・センスから次のキャリア・センスまでの間の期間は、リーダ・ライタ装置の要求が未検出のときはパワーダウン・モードへ移行し、できるだけ消費電力を削減し、バッテリ稼動時間を長くする必要がある。しかし、キャリア・センス持続時間を少なくとも約2秒確保しようとすると、パワーダウン時間をほとんど確保できなくなり、消費電力の削減も困難である。
従って、図1のアクティブRF IDタグは、リーダ/ライタ装置からの長い周期の要求コマンドに対して応答する必要があるので、キャリア・センス持続時間が長くなり、消費電力が多くなり、バッテリ稼動時間も短くなる。
図2は、さらに改良されたアクティブ型非接触情報記憶装置としてのアクティブRF IDタグ200とリーダ/ライタ装置300の構成を示している。アクティブ型非接触情報記憶装置として、アクティブRF IDタグ200の代わりに、アクティブRF IDタグ200と同様の構成を有する非接触ICカードを用いてもよい。
アクティブRF IDタグ200は、制御部210と、メモリ214と、メモリ214に格納されているタグID(ID_tag)等のデータを所定の符号化方式に従って符号化して符号化データを生成するデータ生成部220と、データ生成部220から受け取ったベースバンドの符号化データでキャリアを変調して、周波数f2または相異なる周波数f2i(n=1、2、...n)のRF信号を送信する送信部(TX)230と、周波数f1のRF信号を受信して復調してベースバンド符号化データを生成し、受信RF信号のキャリア強度を表すデータを生成する受信部(RX)250と、受信部250から受け取った符号化データを所定の符号化方式に従って復号して復号データを生成するデータ復号部240と、上述のキャリア強度を表すデータに基づいて受信RF信号のキャリアの有無を判定するキャリア判定部246と、予め設定された時間制御シーケンスでウェイクアップ信号を生成するウェイクアップ部270と、送信部230に結合された送信アンテナ(ANT)282と、受信部250に結合された受信アンテナ(ANT)284と、各構成要素210〜270に電力を供給するバッテリ290と、を具えている。周波数f1およびf2は、例えばそれぞれ300MHzおよび301MHzである。周波数f2iは、例えば301MHz、302MHz、....305MHzである。送信部(TX)230の送信出力は、例えば100mWである。代替構成として、アンテナ282と284は1つのアンテナであってもよい。
制御部210は、送信タイムスロットをランダムに選択するための乱数を発生する乱数発生部211と、送信周波数f2iを切り換える周波数f2i切り換え部212と、送信タイミングを調整するためのタイミング調整部213とを含んでいる。
制御部210は、電源投入後は常に活動状態になっていて、メモリ214と、データ生成部220と、送信部230と、受信部250と、データ復号部240と、キャリア判定部246と、ウェイクアップ部270とに、それぞれメモリ制御信号CTRL_M、データ生成制御信号CTRL_ENC、送信制御信号CTRL_TX、受信制御信号CTRL_RX、データ復号制御信号CTRL_DEC、キャリア判定制御信号CTRL_CSおよびウェイクアップ部制御信号を供給する。制御部210は、プログラムに従って動作するマイクロプロセッサまたはマイクロコンピュータであってもよい。
メモリ214は、RF IDタグ200のタグID(ID_tag)、現在の時刻T、リーダ/ライタ装置300によるアクセスの記録、ウェイクアップ部270の制御スケジュールおよび時間制御シーケンス、バッテリ290の現在の電力残量、キャリア・センスの周期、受信処理持続時間tTG-R、送信周期tTG-CY、送信持続時間tTG-S、等の情報を格納している。これらの情報は、制御部210の制御の下で格納され、更新される。制御部210は、定期的にまたは周期的にバッテリ290の供給電圧の値を検知することによってその現在の電力残量を判定して、バッテリ290の電力残量を表す情報をメモリ214に格納する。
ウェイクアップ部270は、時間を測定し時刻を生成するタイマ274を含み、RF IDタグ200の電源投入後は常に活動状態になっていて、タイマ274の時刻およびメモリ214から読み出した予め設定された制御スケジュールおよび時間制御シーケンスに従って例えば2秒といった所定のキャリア・センス周期でウェイクアップ信号(Wakeup)を制御部210に供給する。制御部210は、リーダ/ライタ装置300から、制御スケジュールおよび時間制御シーケンスを修正または更新する命令と、現在の時刻Tと、制御スケジュールおよび時間制御シーケンスとを受信データとして受信したとき、メモリ214中の時刻T、制御スケジュールおよび時間制御シーケンスを修正し更新する。制御部210は、メモリ214中の時刻Tに基づいてタイマ274の時刻を修正し、タイマ274によって生成された現在の時刻Tをメモリ214に書き込み更新する。
データ生成部220は、メモリ214に格納されているタグID(ID_tag)等を含む所定のフォーマットのデータを生成して所定の符号化方式に従ってそれを符号化して送信部230に供給する。そのデータはバッテリ残量およびアクセス記録を含むことがある。データ復号部240は、受信した符号化データを所定の符号化方式に従って復号して復号データをデータ生成部220および制御部210に供給する。キャリア判定部246は、受信部250から受信RF信号キャリアの電力の強度を表すデータを受け取って受信キャリアの有無を判定してその判定結果を制御部210に供給する。
リーダ/ライタ装置300は、ホスト・コンピュータ(図示せず)との間でデータを送受信する制御部310と、メモリ314と、制御部310から受け取ったコマンド(CMD)等を含む所定のフォーマットのデータを生成して所定の符号化方式に従って符号化して符号化データを生成するデータ生成部320と、データ生成部320から受け取ったベースバンド符号化データでキャリアを変調して周波数f1のRF信号を送信する送信部(TX)330と、周波数f2またはf21〜f2nのRF信号を受信するよう構成された受信部(RX)350と、受信部350から受け取った受信データを所定の符号化方式に従って復号してベースバンド符号化データを生成し、その生成した復号データを制御部310に供給するデータ復号部340と、時間を測定し時刻を生成するタイマ374と、送信部330に結合された送信アンテナ(ANT)382と、受信部350に結合された受信アンテナ(ANT)384と、を具えている。送信部(TX)330の送信出力は例えば100mWである。代替構成として、アンテナ382と384は1つのアンテナであってもよい。
制御部310は、ホスト・コンピュータからのタグID要求コマンド等のコマンドを受け取ったとき、そのようなコマンドを含むデータをデータ生成部320に供給する。そのデータは、RF IDタグ200の使用すべき送信周波数f2またはf2i、基準現在の時刻T、新しいまたは更新された制御スケジュールおよび時間制御シーケンス等を含んでいてもよい。そのようなコマンドには、現在の時刻Tとともにタイマ274の時刻を修正または更新するよう命令するコマンドが含まれていてもよい。そのようなコマンドには、新しいまたは更新された制御スケジュールまたは時間制御シーケンスとともにメモリ214に格納されているスケジュールまたはシーケンスを修正または更新するよう命令するコマンドが含まれていてもよい。
図3Aは、リーダ/ライタ装置300のコマンドを含むRF信号の送信処理42のタイミングを示している。図3Bは、リーダ/ライタ装置300の受信待ち状態46および受信RF信号の受信処理48のタイミングを示している。図3Cは、アクティブRF IDタグ200のキャリア・センス50および52、受信RF信号の受信処理54、および応答を含むRF信号の送信処理56のタイミングを示している。
図3Aを参照すると、リーダ/ライタ装置300のデータ生成部320は、制御部310から受け取ったRF IDタグに対するタグID要求コマンドを含むデータを生成しそれを所定の符号化方式に従って符号化して、符号化データを生成する。送信部330は、送信処理42の連続する各タイムスロットにおいて、そのコマンドを含むRF信号を充分短い間隔で繰り返し送信する。
図3Cを参照すると、アクティブRF IDタグ200において、受信部250およびキャリア判定部246は、ウェイクアップ部274のウェイクアップ信号に従って例えば2秒といった一定の周期で例えば約1ms〜10msの所定の持続時間で発生するキャリア・センス50および52のタイミングで制御部210によってイネーブル(活動化、enable)される。それによって、受信部250は受信待ち状態になり、キャリア判定部246は受信部250からの受信RF信号キャリア電力の強度を表すデータに従って受信キャリアの有無の判定を行う。RF IDタグ200がリーダ/ライタ装置300に接近していないときは、キャリア判定部246はキャリアを検知せず(ND)、キャリアが存在しないと判定する。キャリア・センス50相互間の期間51において、RF IDタグ200は休止モードに入って、制御部210およびウェイクアップ部270だけがイネーブルまたはパワー・オン(付勢)されており、その他の構成要素214〜250はディセーブル(非活動化、disable)またはパワー・ダウン(消勢)されている。休止期間51の時間長は、キャリア・センス期間50の終了時点と次のキャリア・センス期間50の開始時点との間の時間長より短くてもよい。
RF IDタグ200がリーダ/ライタ装置300に接近してRF IDタグ200の受信部250がRF信号を受信したときに、キャリア・センス52のタイミングでキャリア判定部246は、RF信号のキャリアを検知し(DT)、キャリアが存在すると判定する。そのキャリアが存在するという判定に応答して、受信部250およびデータ復号部240は直後の受信処理54のタイミングで例えば100msといった所定の持続時間においてイネーブルされ、受信部250はそのRF信号を受信し復調してコマンドを含む符号化データを生成し、データ復号部240はそのデータを所定の符号化方式に従って復号しコマンドを取り出して制御部210に供給する。そのコマンドに応答して、制御部210は、所定期間内のランダムに選択された送信処理56のタイミングで例えば100msといった所定の持続時間において、データ生成部220および送信部230をイネーブルし、データ生成部220はメモリ214から取り出したタグID(ID_tag)を含むデータを生成して所定の符号化方式に従って符号化する。送信部230はそのタグIDを含む応答データでキャリアを変調してRF信号を送信する。
図3Bを参照すると、リーダ/ライタ装置300の受信部350は、常に受信待ち状態46にあり、RF IDタグ200が接近してRF信号を受信したときに、受信処理48のタイミングにおいて受信RF信号を復調して符号化データを生成し、データ復号部350は符号化データを所定の符号化方式に従って復号してタグIDを含む応答データを再生し、その再生されたタグIDを制御部310に供給する。制御部310は、そのタグIDをホスト・コンピュータに供給する。ホスト・コンピュータは、タグIDを処理して、商品の流通または人を監視し管理するのに用いる。
通常、リーダ/ライタ装置300にRF IDタグ200が接近していない時間ははるかに長いので、アクティブRF IDタグ200は大部分の時間期間は休止モードになる。従って、アクティブRF IDタグ200の消費電力は大幅に低減され、バッテリ290の稼動時間は大幅に長くなる。
図4は、リーダ/ライタ装置300によって実行される処理のフローチャートを示している。図5Aおよび5Bは、アクティブRF IDタグ200によって実行される処理のフローチャートを示している。
図4を参照すると、ステップ402において、リーダ/ライタ装置300の制御部310は、ホスト・コンピュータから受け取ったタグID要求があるかどうかを判定する。タグIDの要求があるまでステップ402は繰り返される。タグIDの要求があると判定された場合、手順は送信処理のステップ412および受信処理のステップ422に進む。
ステップ412において、制御部310はID要求コマンドおよび関連する情報をデータ生成部320に供給し、データ生成部320はID要求コマンドを含むデータを生成してその生成データを、例えばNRZ(Non Return to Zero)符号化法またはマンチェスタ符号化法等の所定の符号化方式に従って符号化し、送信部330は、図3Aの送信処理42のタイミングでその符号化データでキャリアを変調して周波数f1のRF信号を送信する。制御部310は、ID要求コマンド中にそのID要求コマンドに対する応答の送信周波数f2または可変送信周波数f2iを指定するデータ、その可変送信周波数f2iを使用すべき時刻またはタイムスロットを表すデータ、現在の時刻Tを表すデータ、制御スケジュールおよび時間制御シーケンスを含ませてもよい。
リーダ/ライタ装置300はその周波数f2iを時分割で複数の送信周期tRW-CYにおける複数コマンド毎に(例えば、少なくとも1つのキャリア・センス周期分の数の送信周期tRW-CYにおける複数コマンド毎に)変更するようにしてもよい。それによって、複数のRF IDタグが同時に存在する場合でも、RF IDタグからの応答送信が衝突する確率が減り、リーダ/ライタ装置300で同時に識別できるRF IDタグの数を増大させることができる。
ステップ418において制御部210はデータ送信を終了すべきかどうかを判定する。終了すると判定された場合は、手順はこのルーチンを出る。データ送信を継続すると判定された場合は、手順はステップ412に戻る。図3Aでは、データ送信は繰り返し継続される。
図5Aを参照すると、ステップ502において、RF IDタグ200が起動されたとき、制御部210およびウェイクアップ部270がイネーブルされる。RF IDタグ200がいったん起動されると、制御部210およびウェイクアップ部270は常にイネーブルされて活動状態にある。ウェイクアップ部270は、タイマ274および時間制御シーケンスに従って、所定の周期で受信RF信号のキャリア・センスを行うタイミングを表すウェイクアップ信号を制御部210に供給する。ステップ504において、制御部210は、ウェイクアップ部270から受け取ったウェイクアップ信号がオン状態(ON)を示しているかどうかを判定する。制御部210は、ウェイクアップ信号がオン状態になるまでステップ504を繰り返す。
ステップ504においてウェイクアップ信号がオン状態(ON)を示していると判定された場合、ステップ506において、制御部210は、例えば約1ms〜10msのような短い持続時間の期間だけ受信部250およびキャリア判定部246をイネーブルする。受信部250はRF信号の受信待ち状態となり、キャリア判定部246は受信部250から受け取った受信キャリア電力を表すデータに基づいて受信RF信号のキャリアの存在を判定して、その判定結果を制御部210に供給する。ステップ508において、制御部210は、その判定結果に従ってキャリアが検知されたかどうかを判定する。キャリアが検知されなかったと判定された場合は、ステップ509において制御部210は受信部250およびキャリア判定部246をディセーブル(非可動化)する。その後、手順はステップ530に進む。
ステップ508においてキャリアが検知されたと判定された場合は、ステップ510において、制御部210は、キャリア判定部246をディセーブルし、さらに例えば100ms〜200msといった所定の持続時間において受信部250をイネーブルしたまま、リーダ/ライタ装置300からコマンドを含む周波数f1のRF信号を受信して(図3C、受信54)、受信RF信号を復調する。ステップ512において、制御部210は、受信部250によるRF信号の受信が完了したかどうかを判定する。ステップ512はRF信号の受信が完了するまで繰り返される。
ステップ512においてRF信号の受信が完了したと判定された場合は、ステップ514において、制御部210はデータ復号部240をイネーブルし、データ復号部240は制御部210の制御の下で受信部250から受信データを受け取ってそれを所定の符号化方式に従って復号する。ステップ515において、制御部210は受信部250をディセーブルする。
図5Bを参照すると、ステップ522において、制御部210は、データ復号部240からID要求コマンドを含む復号データを受け取り、復号データに含まれている受信コマンドを処理し、リーダ/ライタ装置300によるアクセスの記録をメモリ214に格納する。受信データ中に時刻修正コマンドおよび現在の時刻Tが含まれていた場合は、制御部210は、ウェイクアップ部270のタイマ274の時刻をその時刻Tに修正または更新する。
ステップ524において、制御部210は復号部240をディセーブルし、そのID要求コマンドに従って、所定の期間(例えば500ms)内の所定数のタイムスロット(例えば100msの幅の5つのタイムスロット)の中の乱数に従って選択された1つのタイムスロットにおいてデータ生成部220および送信部230をイネーブルする。その乱数は、乱数発生部211によって発生される。その選択されたタイムスロットが図3Cの送信処理56のタイミングである。データ生成部220は、メモリ214から読み出したRF IDタグ200のタグID(ID_tag)を含むデータを所定の符号化方式に従って符号化して送信部230に供給する。送信部230は、タグIDを含むデータでキャリアを変調して、所定のまたは指定された周波数f2またはf2iのRF信号をアンテナ284を介して送信する。周波数f2iの切り換えは、制御部210の周波数f2i切り換え部212によって行われる。タイミング調整部213は、複数のタイムスロットの周期を所定周期になるように調整する。
ステップ529において、制御部210は、データ生成部220および送信部230をディセーブルする。ステップ530において、制御部210は、RF IDタグ200を休止モードにする。休止モードにおいて、基本的に制御部210およびウェイクアップ部270だけがイネーブルされた状態を維持し、その他の構成要素214〜250はディセーブルされた状態になる。
再び図4を参照すると、ステップ422において、制御部310は受信部350をイネーブルして受信待ち状態にする。受信部350は周波数f2のRF信号の受信を待って(受信待ち46)、RF信号を受信する(受信処理48)。ステップ424において、制御部310は受信部350がRF信号の受信を完了したかどうかを判定する。受信が完了するまでステップ424は繰り返される。受信が完了したと判定された場合は、ステップ426において、受信部350は受信データをデータ復号部340に供給する。データ復号部340は受信データを所定の符号化方式に従って復号して応答データを再生し、データを受信したことおよびその応答データを制御部210およびデータ生成部220に供給する。
ステップ432において、制御部310はその復号データをホスト・コンピュータに送出する。ステップ436において制御部310はデータ受信待ちを終了するかどうかを判定する。終了すると判定された場合は、手順はこのルーチンを出る。データ送信を継続すると判定された場合は、手順はステップ422に戻る。図3Bでは、データ受信待ちは繰り返し継続される。
このように、リーダ/ライタ装置300は送信を充分短い間隔で繰り返し行い常に受信待ち状態にあるので、RF IDタグ200のキャリア・センス時間を大幅に減らすことができる。例えば入出管理などにおけるように1日に数回しか送受信を行わず、動作時間のほとんどがキャリア・センスである場合は、RF IDタグ200全体の消費電力は、全体の消費電力を大幅に削減できる。
メモリ214に格納される制御スケジュールとして、休日および平日の夜間(例えば、6:00pm〜6:00am)の所定の時刻と所定の時刻の間の時間期間を指定し、平日の昼間(例えば、6:00am〜6:00pm)の所定の時刻と所定の時刻の間の時間期間を指定してもよい。この場合、ウェイクアップ部270は、その休日および夜間においてウェイクアップ信号を発生せず、従ってRF IDタグ200は休止モードになってキャリア・センスを全く行わず、一方、その平日の昼間において所定の周期(例えば1秒)で、キャリア・センスを行う。
ウェイクアップ部270は、制御部210の制御の下で、メモリ214に格納されたバッテリ290の電力の残量に従ってウェイクアップ信号を発生させてもよい。この場合、バッテリ残量が充分であるときは、比較的短い周期で(例えば1秒)キャリア・センスを行い、残量が閾値より低くなったときは、比較的長い周期で(例えば2秒)キャリア・センスを行うようにしてもよい。RF IDタグ200の応答データ中にバッテリ残量を含ませ、リーダ/ライタ装置300経由でホスト・コンピュータへ通知し、ホスト・コンピュータによってユーザに対するバッテリ切れの警告を表示するよう構成してもよい。
上述のようにリーダ/ライタ装置によるアクセスの記録をメモリ214に格納するようにしたことによって、リーダ/ライタ300以外の別のリーダ/ライタによって不正にアクセスされた場合にも、ログが記録されるので、リーダ/ライタ300によってそのアクセス記録を読み取り、ホスト・コンピュータによって解析することによって不正なアクセスを発見することができる。
図6は、図2の構成を変形したより安全なアクティブRF IDタグ202とリーダ/ライタ装置302の構成を示している。この実施形態においては、RF IDタグ202とリーダ/ライタ装置302の間で送信データは暗号化され、受信データは暗号解読されて認証に用いられる。
RF IDタグ202は、図2のRF IDタグ200におけるデータ生成部220の代わりにデータ生成部222を具え、図2のデータ復号部240の代わりにデータ復号部242を具えている。RF IDタグ202のメモリ214は、タグID(ID_tag)に加えて、認証用の現在の時刻T、認証用のシステムID(ID_system)および暗号鍵/復号鍵Keを格納しており、データ生成部222およびデータ復号部242にそれらの情報を供給する。その認証用の現在の時刻T、認証用のシステムIDおよび暗号鍵/復号鍵Keは、リーダ/ライタ装置302によって予めRF IDタグ202に送信され、制御部210によってメモリ214に予め書き込まれる。データ生成部222は、メモリ214に格納されている暗号鍵Keを用いて所定の暗号方式に従って送信データを暗号化する暗号化部224を含んでいる。データ復号部242は、受信データを所定の暗号方式に従って暗号鍵/復号鍵Keを用いて解読する解読部244を含んでいる。RF IDタグ202のその他の構成はRF IDタグ200と同様であり、再び説明することはしない。システムIDは、リーダ/ライタ装置302とRF IDタグ202等の複数のRF IDタグで構成される同じグループによって共有される共通のIDを表している。ここでは、所定の暗号方式を共通鍵暗号方式として説明するが、公開鍵暗号方式であってもよい。
リーダ/ライタ装置302は、図2のリーダ/ライタ装置300におけるデータ生成部320の代わりにデータ生成部322を具え、図2のデータ復号部340の代わりにデータ復号部342を具えている。リーダ/ライタ装置302のメモリ314は、認証用の現在の時刻T、認証用のシステムID(ID_system)および暗号鍵/復号鍵Keを格納している。データ生成部324は、メモリ314に格納されている所定の暗号方式に従って暗号鍵Keを用いて送信データを暗号化する暗号化部322を含んでいる。データ復号部342は、所定の暗号方式に従って暗号鍵/復号鍵Keを用いて受信データを解読する解読部344を含んでいる。リーダ/ライタ装置302のその他の構成はリーダ/ライタ装置300と同様であり、再び説明することはしない。
図7Aは、リーダ/ライタ装置302のID要求コマンド(CMD)を含むRF信号の送信処理42のタイミングを示している。図7Bは、リーダ/ライタ装置302の受信待ち状態46および受信RF信号の受信処理48のタイミングを示している。図7Cは、アクティブRF IDタグ202のキャリア・センス50、52および53、受信RF信号の受信処理54および55、および認証成功の場合における応答を含むRF信号の送信処理56のタイミングを示している。
図7Aを参照すると、リーダ/ライタ装置300のデータ生成部320は、制御部310から受け取ったRF IDタグに対するタグID要求コマンドを含むデータを生成しそれを所定の符号化方式に従って符号化して、符号化された暗号データを生成する。リーダ/ライタ装置300のその他の送信の動作は図3Aの場合と同様である。
図7Cを参照すると、アクティブRF IDタグ202において、受信部250およびキャリア判定部246の動作は、図3Cの場合と同様であり、受信部250およびキャリア判定部246は、ウェイクアップ部274のウェイクアップ信号に従って一定の周期で所定の持続時間で発生するキャリア・センス50、52および53のタイミングで制御部210によってイネーブルされて、受信部250は受信待ち受け状態になる。
キャリア判定部246によるキャリアが存在するという判定(DT)に応答して、受信部250およびデータ復号部242は直後の受信処理54および55のタイミングで所定の持続時間においてイネーブルされ、受信部250はそのRF信号を受信し復調してコマンドを含む符号化された暗号データを生成し、データ復号部240はそのデータを所定の符号化方式に従って復号し暗号データを所定の暗号方式に従って暗号鍵/復号鍵Keを用いて解読してコマンドを取り出して制御部210に供給する。そのコマンドに応答して、制御部210は、そのコマンドに含まれている時刻TおよびシステムIDを用いてリーダ/ライタ装置302を認証する。
認証が成功した場合は、所定期間内のランダムに選択された送信処理56のタイミングで所定の持続時間において、データ生成部222および送信部230をイネーブルし、データ生成部222は、メモリ214から取り出したタグID(ID_tag)、時刻TおよびシステムID(ID_system)を含むデータを、所定の暗号方式に従って暗号鍵Keを用いて暗号化し、その暗号データを所定の符号化方式に従って符号化する。送信部230はその暗号化されたタグIDを含む応答データでキャリアを変調してRF信号を送信する。認証が失敗した場合は、データを生成および送信することなく処理を終了する。
図7Bを参照すると、リーダ/ライタ装置302の受信部350は、常に受信待ち状態46にあり、RF IDタグ202が接近してRF信号を受信したときに、受信処理48のタイミングにおいて受信RF信号を復調して符号化された暗号データを生成し、データ復号部350は符号化された暗号データを所定の符号化方式に従って復号し、その復号された暗号データを、所定の暗号方式に従って暗号鍵/復号鍵Keを用いて解読してタグIDを含む応答データを再生し、その再生された応答を制御部310に供給する。その受信再生された応答に応答して、制御部310は、その応答に含まれている時刻TおよびシステムIDを用いてRF IDタグ202を認証し、そのタグIDをホスト・コンピュータに供給する。
このように、通常、リーダ/ライタ装置302およびRF IDタグ202が送信データを暗号化し、時刻TおよびシステムIDを用いて相互認証を行うことによって、リーダ/ライタ装置302およびRF IDタグ202によって送信されるデータが、第三者に傍受されても、そのデータを不正に使用される危険性がなくなる。従って、リーダ/ライタ装置302およびRF IDタグ202の安全性が高くなる。
図8は、リーダ/ライタ装置302によって実行される処理のフローチャートを示している。図9Aおよび9Bは、アクティブRF IDタグ202によって実行される処理のフローチャートを示している。
図8を参照すると、ステップ402は図4のものと同じであり、再び説明することはしない。ステップ414において、制御部210はID要求コマンドをデータ生成部322に供給する。データ生成部322は、制御部310から受け取ったID要求コマンド、およびメモリ314から取り出した現在の時刻TおよびシステムID(ID_system)を含むデータを、例えばDES(Data Description Standard)、トリプルDESまたはAES(Advanced Encryption Standard)等の所定の暗号方式に従って、メモリ314から取り出した暗号鍵Keを用いて暗号化し、その暗号化データを符号化して符号化データを生成する。送信部332は、その暗号化データでキャリアを変調して周波数f1のRF信号を送信する(図7A、送信処理42)。ステップ418は図4と同じであり、再び説明することはしない。
図9Aを参照すると、ステップ502〜515は図5のものと同様であり、再び説明することはしない。
図9Bを参照すると、ステップ516において、制御部210の制御の下で、メモリ214から取り出した暗号鍵/復号鍵Keを用いて復号データを所定の暗号方式に従って解読し、解読されたコマンド、タグID(ID_tag)、時刻T、システムID(ID_system)を含むデータを制御部210に供給する。そのデータは、制御スケジュールおよび時間制御シーケンスを含んでいてもよい。制御部210は、そのデータを受け取った後、暗号解読された時刻TおよびシステムIDとメモリ214に格納されている時刻TおよびシステムIDとを比較することによって、両者が一致するかどうかを判定し、それによってリーダ/ライタ装置302の認証を行う。
ステップ518において、制御部210は認証が成功したかどうかを判定する。認証が失敗したと判定された場合は、ステップ520において、制御部210はデータ復号部242をディセーブルする。その後、手順は図9Bのステップ530に進む。
ステップ518において認証が成功したと判定された場合は、ステップ522において、制御部210は、データ復号部240からID要求コマンドを含む暗号解読されたデータを受け取り、その解読データに含まれている解読された受信コマンドを処理し、リーダ/ライタ装置300によるアクセス記録をメモリ214に格納する。
ステップ526において、制御部210は、そのID要求コマンドに従って、所定の期間内の所定数のタイムスロットの中の乱数に従ってランダムに選択された1つのタイムスロットにおいてデータ生成部222および送信部230をイネーブルする。その選択されたタイムスロットが図7Cの送信処理56のタイミングである。データ生成部222は、メモリ214から読み出したRF IDタグ202のタグID(ID_tag)、時刻TおよびシステムID(ID_system)を含むデータを、所定の暗号方式に従って暗号鍵Keを用いて暗号化し、その暗号データを所定の符号化方式に従って符号化して送信部230に供給する。送信部230は、その符号化暗号データでキャリアを変調して、周波数f2のRF信号をアンテナ284を介して送信する(図7C、送信56)。ステップ528および530は、図5のものと同様であり、再び説明することはしない。
再び図8を参照すると、ステップ422〜424は図4のものと同様であり、再び説明することはしない。ステップ428において、受信部350は受信データをデータ復号部342に供給する。データ復号部342は受信データを所定の符号化方式に従って復号し、その復号データを所定の暗号方式に従って暗号解読して、そのデータを受信したことおよびその解読データを制御部210およびデータ生成部222に供給する。制御部310は、暗号解読された時刻TおよびシステムIDとメモリ314に格納されている時刻TおよびシステムIDとを比較することによって、一致するかどうかを判定し、それによってRF IDタグ202の認証を行う。RF IDタグ202の制御部210およびリーダ/ライタ装置302の制御部310において、受信した時刻Tと格納されていた時刻Tとの間に所定の範囲内の誤差(例えば±0.5秒)があった場合にも、両者は一致すると判定してもよい。
ステップ430において、制御部310は認証が成功したかどうかを判定する。認証が失敗したと判定された場合は、手順はステップ422に戻る。認証が成功したと判定された場合は、手順はステップ432に進む。ステップ436は、図4のものと同様であり、再び説明することはしない。
図10は、リーダ/ライタ装置300または302が並行して複数の或るRF IDタグ1−1、1−2、1−3、2−1、2−2および2−3のIDを含む情報を読み取る場合を示している。図11は、リーダ/ライタ装置300または302、およびRF IDタグ200または202と同様の構成を有する複数のRF IDタグ1−1、1−2、1−3、2−1、2−2および2−3の送信および受信のタイミングを示している。この場合、より多くのRF IDタグ1−1〜2−3が、リーダ/ライタ装置300または302の通信可能範囲内に存在して、リーダ/ライタ装置300または302からのタグID要求コマンドの受信に応答して、複数の送信タイムスロット中からランダムに選択された送信タイムスロットでIDおよびデータを送信する。RF IDタグ1−1〜2−3は動作特性が同じである。RF IDタグ1−1、1−2および1−3は、同じコマンドCMDに応答するので、複数の応答送信タイムスロットのタイミングは一致している。RF IDタグ1−1、1−2および1−3は、次の同じコマンドCMDに応答するので、複数の応答送信タイムスロットのタイミングは一致している。しかし、リーダ/ライタ装置300または302のタグID要求コマンドの送信間隔が短いので、RF IDタグ1−1〜1−3とRF IDタグ2−1〜2−3の応答送信タイムスロット間に位相φが存在し互いに部分的にオーバラップして応答が衝突する確率が高くなる。
発明者たちは、アクティブRF IDタグ1−1〜1−3および2−1〜2−3の送信タイムスロットのタイミングを互いに合うようにするために、上述の改良されたリーダ/ライタ装置300または302のコマンド送信周期を調整し、および/または、RF IDタグの応答間に衝突が生じている可能性が高い場合にアクティブRF IDタグ1−1〜1−3と2−1〜2−3の送信周波数チャネルとして、即ちリーダ/ライタ装置300または302の受信周波数チャネルとして2つの周波数f2およびf3を使用することによって、そのような衝突が生じる確率を減らすことができると、認識した。
図12は、本発明の実施形態によるリーダ/ライタ装置304の構成を示している。リーダ/ライタ装置304は、リーダ/ライタ装置302の構成要素に加えて、さらにリーダ/ライタ装置304におけるタグID要求コマンドの送信周期およびタイミングを調整するタイミング制御部326を具えている。タイミング制御部326は、制御部210の一部として構成してもよい。構成要素310〜324、および330〜384は図6のリーダ/ライタ装置302のものと同様であり、再び説明することはしない。但し、この場合、メモリ314には、さらにRF IDタグ1−1〜1−3のタグ応答送信周期tTG-CYが格納されている。
図13Aは、リーダ/ライタ装置304によるID要求コマンドCMDを含むデータを搬送するRF信号の送信タイミングを示している。図13Bは、リーダ/ライタ装置304によるタグIDを含む応答データを搬送するRF信号の受信のタイミングを示している。図13Cは、アクティブRF IDタグ202と同様の構成を有する複数のRF IDタグ1−1、1−2、1−3、2−1、2−2および2−3のRF信号の受信処理、およびタグIDを含む応答データを搬送するRF信号の送信のタイミングを示している。
図13A〜13Cにおいて、リーダ/ライタ装置304のコマンド送信周期をtRW-CYおよび送信コマンド持続時間をtRW-Q、およびRF IDタグ1−1〜2−3のコマンド受信持続時間をtTG-R、応答送信タイムスロット周期をtTG-S-CYおよび応答送信タイムスロット持続時間をtTG-Sと表している。ここで、
送信コマンド持続時間tRW-Q=コマンド受信持続時間tTG-Rであり、
コマンド送信周期tRW-CY≧送信コマンド持続時間tRW-Q、
応答送信タイムスロット周期tTG-S-CY≧応答送信タイムスロット持続時間tTG-S、
である。リーダ/ライタ装置304の受信部350は常に受信待ち状態にあるので、リーダ/ライタ装置304の受信部350の応答の受信タイミングの位相と送信部330の後のコマンドの送信タイミングの位相とを同期させる必要はなく、即ち送信部330の送信コマンドの位相とRF IDタグ1−1〜2−3(304)の送信部230のいずれかの応答送信タイムスロットの位相とが一致している必要はない。送信コマンド持続時間tRW-Qをコマンド送信周期tRW-CYより幾分か短く、例えばコマンド送信周期tRW-CYの95%と設定することによって、異なるRF IDタグの隣接タイムスロットにおける衝突の可能性をより低くすることができる。
RF IDタグ1−1〜1−3の応答送信タイムスロットとRF IDタグ2−1〜2−3の応答送信タイムスロットの間に位相差がなく(φ=0)それらのタイミングが互いに一致するようにするには、コマンド送信周期tRW-CYを応答送信タイムスロット周期tTG-S-CYの正の整数倍に設定すればよい。即ち、次の式を満たすように、リーダ/ライタ装置304の送信部330、およびRF IDタグ1−1〜2−3(304)の送信部230の動作タイミングを設定する。
tRW-CY=m×tTG-S-CY
ここで、mは正の整数である。
このようにして、リーダ/ライタ装置304の送信部330は、図8のステップ414において、コマンド送信周期tRW-CY=m×tTG-S-CYとなる送信タイミングでコマンドを送信する。従って、RF IDタグ1−1〜1−3の応答送信タイムスロットの位相とRF IDタグ2−1〜2−3の応答送信タイムスロットのいずれかのタイムスロットの位相を一致させることができる。換言すれば、RF IDタグ1−1〜1−3のm+1番目またはm・n+1番目(nは正の整数)の応答送信タイムスロットの開始点においてRF IDタグ2−1〜2−3の1番目の応答送信タイムスロットが開始する。但し、幾つかのRF IDタグ1−1〜1−3(または2−1〜2−3)がランダムに選択されたタイムスロットで応答を送信した結果として、同じタイミングで応答が送信されて応答の衝突を生じることは許容される。このような衝突の発生確率は、送信タイムスロットが時間的に互いに部分的にオーバラップして応答の衝突を生じさせる確率より充分低いと考えられる。
図14は、本発明の別の実施形態によるリーダ/ライタ装置306の構成を示している。リーダ/ライタ装置306は、さらに、アンテナ(ANT)385を有するスペース・ダイバシティおよび周波数ダイバシティ用の受信部(RX)352と、受信部352の受信周波数チャネルを切り換えるスイッチ(SW)356と、を具えている。スイッチ356は、制御部310の一部として構成してもよい。構成要素310〜350、および356〜384は図12のリーダ/ライタ装置304のものと同様であり、再び説明することはしない。但し、図12A〜12Cに示されているようなタイミング調整を行わない場合は、リーダ/ライタ装置306はタイミング制御部326を具えていなくてもよい。リーダ/ライタ装置306は、応答信号の受信品質が閾値より低く、例えば受信エラー・レートが閾値Ethより高くなって複数のRF IDタグ1−1〜1−3と2−1〜2−3の応答の間に衝突が生じたと推定される場合に、タグID要求コマンドに含まれるRF IDタグによって使用されるべき送信周波数f2iを交互または循環的に変化させ、受信部350および352の構成をスペース・ダイバシティ構成から周波数ダイバシティ構成に切り換える。
図15Aは、リーダ/ライタ装置306のID要求コマンドCMDを含むデータを搬送するRF信号の送信タイミングを示している。図15Bは、リーダ/ライタ装置306のタグIDを搬送する受信RF信号の受信のタイミングを示している。図15Cは、アクティブRF IDタグ202と同様の構成を有する複数のRF IDタグ1−1、1−2、1−3、2−1、2−2および2−3のRF信号の受信処理、およびタグIDを含む応答データを搬送するRF信号の送信のタイミングを示している。
図15AにおいてタグID要求コマンドCMDの下の括弧()内の周波数f2およびf3は、タグID要求コマンドに含まれるRF IDタグが使用すべき送信周波数チャネルを示している。図15Cの左半分に示されているように、リーダ/ライタ装置306は通常RF IDタグが使用すべき送信周波数として1つの周波数f2を指定する。RF IDタグ1−1〜1−3は最初のタグID要求コマンドCMD(f2)に応答してランダムに選択された送信タイムスロットで応答Tを送信し、RF IDタグ2−1〜2−3は次のコマンドCMD(f2)に応答してランダムに選択された送信タイムスロットで応答Tを送信する。図11の場合と同様に、リーダ/ライタ装置306の通信可能範囲に位置するRF IDタグ1−1〜2−3の数が多くなると、応答送信タイムスロットが互いに部分的にオーバラップしているので、RF IDタグ1−3と2−3の応答、RF IDタグ1−1と2−2の応答、RF IDタグ1−2と2−1の応答が衝突し、それによってリーダ/ライタ装置306の受信データ・エラー・レート(誤り率)が閾値Ethより大きくなる。この場合には、リーダ/ライタ装置306はコマンドCMDにおいてRF IDタグ1−1〜2−3が使用すべき送信周波数として2つの周波数f2およびf3を交互に指定する。このようにして、リーダ/ライタ装置306はスペース・ダイバシティ構成から周波数ダイバシティ構成に変更される。代替構成として、リーダ/ライタ装置306はコマンドCMDにおいてRF IDタグ1−1〜2−3が使用すべき送信周波数として3つ以上の周波数f2、f3、f4・・・を循環的に指定してもよい。
その後、RF IDタグ1−1〜1−3は、送信周波数f2を指定するコマンドCMD(f2)を受信し、次いでRF IDタグ2−1〜2−3は、送信周波数f3を指定するコマンドCMD(f3)を受信し、従って、RF IDタグ1−1〜1−3は送信周波数f2で応答を送信し、これが受信部350によって受信され、RF IDタグ2−1〜2−3は送信周波数f3で応答を送信し、これが受信部352によって受信される。従って、RF IDタグ1−1〜1−3とRF IDタグ2−1〜2−3の応答送信が衝突する確率が低減される。
図16は、リーダ/ライタ装置306によって実行される、受信処理のフローチャートを示している。図16のフローチャートは図8の破線で囲まれた部分の代替構成である。ステップ422〜428、430、432および436は、図16のものと同様である。初期状態では、図8のステップ414において、コマンドCMDに含まれる周波数f2iは1つの周波数f2のみが設定される。
ステップ428の後のステップ440において、制御部310は、受信エラー・レートが閾値Ethより小さいかどうかを判定する。受信エラー・レートが閾値Ethより小さいと判定された場合は、手順はステップ430に進む。受信エラー・レートが閾値Ethより小さいくないと判定された場合は、ステップ442において、制御部310は、コマンド(図16のステップ414)において指定する送信周波数チャネルを周波数fi=f2から異なる2つの周波数fi=f2およびf3に変更し、受信部350および352の受信周波数を周波数f2およびf3にそれぞれ設定する。次いで、制御部310は、チャネル・フラグCH_FLGを、2つのチャネルの使用を表す1に設定する。制御部310は、さらに、異なる2つの周波数f2およびf3を含む応答受信の計数値Countを整数b(b≧1)に設定する。それによって、データ生成部322はコマンドCMDに含めるRF IDタグの送信周波数fiを交互にf2およびf3に設定する。その後、手順はステップ422に戻る。
ステップ432の後のステップ454において、制御部310は、ステップ442において設定したチャネル・フラグCH_FLGが1つのチャネルの使用を表す0(ゼロ)に等しいかどうかを判定する。チャネル・フラグが0であると判定された場合は、手順はステップ436に進む。
ステップ454においてチャネル・フラグCH_FLGが0でないと判定された場合は、ステップ456において、制御部310は、計数値Countから1を減算する。ステップ458において、制御部310は、計数値Countが0に等しいかどうかを判定する。計数値Countが0でないと判定された場合は、手順はステップ346に進む。計数値Countが0に等しいと判定された場合は、ステップ460において、制御部310は、ステップ442とは逆に、コマンド(図16のステップ414)において指定する送信周波数チャネルを異なる2つの周波数fi=f2およびf3から元の1つの周波数fi=f2に変更し、受信部352の受信周波数を周波数f2に設定する。次いで、制御部310は、チャネル・フラグCH_FLGを0(ゼロ)に設定する。それによって、データ生成部322はコマンドCMDに含めるRF IDタグの送信周波数fiをf2に設定する。その後、手順はステップ436に進む。
リーダ/ライタ304および306によれば、シミュレーションの結果、リーダ/ライタ200および202と比較すると、同時に読み取り可能なタグの数がおよそ2倍になることが分かった。
リーダ/ライタ装置306は、タイミング制御部326によって、図12のリーダ/ライタ304と同様にコマンドのタイミング制御を行ってもよい。それによって、RF IDタグ1−1〜2−3の衝突の確率はさらに低減される。
本発明は、例えば、学校におけるRF IDを用いた生徒の登下校管理、展示場におけるRF IDを用いた来場者に対する情報支援システム、オフィスにおけるユーザに対するRF IDを用いたパーソナル・コンピュータのセキュリティ管理、物流管理システムおけるRF IDを用いた物品の管理、等に適用できる。
以上の説明では、本発明をRF IDタグに関連して説明したが、これに限定されることなく、本発明が非接触ICカードにも適用できることは、この分野の専門家には理解されるであろう。
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素を組み合わせること、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。