説明

フレーム処理回路

【課題】異なる種類のデータフレームに対応するRFID装置の回路規模を抑制する。
【解決手段】フレーム処理回路50は、ペイロードからRFIDデータフレームを生成する生成処理、またはRFIDデータフレームを解析してペイロードを得る解析処理であるフレーム処理を行う。このフレーム処理は、データフレームの種類に応じて、n個(n:2以上の整数)の処理ステップのうちのm個(1≦m≦n)の処理ステップを含む。フレーム処理回路50は、上記n個の処理ステップを夫々実行するn個の処理ブロックを備える。これらのn個の処理ブロックには、データフレームの種類に応じてパスするか否かの設定が可能であり、パスしないと設定された場合に、受け取ったデータに対して当該ステップの処理を施して出力し、パスすると設定された場合に、受け取ったデータをそのまま出力するパス可能ブロック70が含まれる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フレーム処理技術、具体的にはRFID(Radio Frequency Identification)データフレームを生成する技術、またはRFIDデータフレームを解析してペイロードを得る技術に関する。
【背景技術】
【0002】
RFID技術は、物流や電子マネーなどの分野に広く用いられ、様々なプロトコルが規格化されている。RFIDシステムは、概してRFIDタグとRFIDリーダライタを備えてなる。RFIDタグとRFIDリーダライタの通信を成立させるためには、RFIDタグとRFIDリーダライタは、同一のプロトコルに対応する必要がある。
【0003】
RFIDのデータフレームは、同一のプロトコルにおいても異なる複数の種類があり、異なる種類のデータフレームは、異なるデータフォーマットを有する。
【0004】
例えば、ISO14443Aで定められたプロトコルの場合、基本フレーム(Standard Fram)とショートフレーム(Short Frame)がある。図19は、この2種類のフレームのフォーマットを示す。
【0005】
図19に示すように、基本フレームは、SOC、Payload、CRC、EOCからなる。SOCは先頭データ(ヘッダともいう)であり、PayloadとCRCはパリティビットを含むペイロードとCRCデータであり、EOCは終端データである。なお、ペイロードには、データコマンドが含まれている。
【0006】
ショートフレームは、先頭データSと、Payloadと、終端データEからなる。ショートフレームは、CRCデータが含まれておらず、Payload(ペイロード)にもパリティデータが追加されていない。また、ショートフレームの先頭データSは、基本フレームの先頭データSOCと異なり、終端データEも、基本フレームの終端データEOCと異なる。
【0007】
そのため、基本フレームを生成する処理と、ショートフレームを生成する処理(以下生成処理という)も異なる。基本フレームの生成処理には、ペイロードに対してCRCデータを追加する処理ステップと、ペイロードとCRCデータに対してパリティ演算を行ってパリティビットを追加する処理ステップが含まれる。
【0008】
一方、ショートフレームの生成には、上記2つの処理ステップが無い。
また、基本フレームとショートフレームのいずれの生成処理にも含まれる先頭データの追加ステップでは、基本フレームとショートフレームとで追加される先頭データが異なる。終端データの追加ステップについても同様である。
【0009】
基本フレームとショートフレームのいずれも、通信に用いられるため、ISO14443Aに対応するRFIDリーダライタとRFIDタグにおいて、データフレームの生成処理を担う部分は、両方のフレームを生成可能である必要がある。
【0010】
また、受信したデータフレームからペイロードを得る解析処理も、基本フレームとショートフレームとで異なり、データフレームの解析処理を担う部分は、両方のフレームを解析可能である必要がある。
【0011】
これを実現するためには、2つの手法が考えられる。1つは、ハードウェアにより実現する手法である。例えば、基本フレーム生成用の回路とショートフレーム生成用の回路を設け、生成対象のデータフレームの種類に応じてこの2つの回路を切り替える。もう1つは、データフレームの生成をソフトウェアにより行う手法である。
なお、データフレームの解析処理を担う部分についても同様である。
【0012】
近年、RFID規格の多様化と実用化により、1つのRFID装置(RFIDリーダライタまたはRFIDタグ)により複数のプロトコルに対応することが希望されている。
【0013】
図20は、特許文献1の図1に対して符号を変更したものであり、特許文献1に開示された、複数のプロトコルに対応可能なRFIDシステムを示す。
【0014】
図20に示すRFIDシステムは、RFIDタグ10とRFIDリーダライタ装置13を備える。RFIDタグ10は、2つのRFID部(RFID部A11、RFID部B12)を有し、2つのRFID部は、電波を受信するアンテナと、RFIDリーダライタ装置13から受信した高周波数の電波を整流し動作電力を発生させる起電力部と、RF変調/復調を行うRF部と、プロトコル処理部と、IDデータやユーザデータを記憶する記憶部とを、夫々備える。
【0015】
プロトコル処理部は、データフレームの生成と解析を担う。RFID部A11のプロトコル処理部は第1のプロトコルに対応し、RFID部B12のプロトコル処理部は第2のプロトコルに対応する。
【0016】
さらに、回路規模を小さくするために、RFIDタグ10において、2つのRFID部について、共用可能部分を供用させることも提案されている。図21は、特許文献1における図5に対して符号を変更したものである。図21に示すように、RFIDタグ10は、アンテナ20と、アンテナ21と、共通RF部22と、共通起電力部23と、RFID共通プロトコル処理部24と、共通記憶部27を備える。
【0017】
RFID共通プロトコル処理部24は、データフレームの生成と解析を行うものであり、第1のプロトコル処理部25と第2のプロトコル処理部26を備える。第1のプロトコル処理部25は、第1のプロトコルに対応し、第1のプロトコルのデータフレームの生成と解析を担う。第2のプロトコル処理部26は、第2のプロトコルに対応し、第2のプロトコルのデータフレームの生成と解析を担う。
【0018】
図21に示すRFIDタグ10は、第1のプロトコルと第2のプロトコルの両方に対応可能であると共に、RF部、起電力部、記憶部の共有により回路規模を抑制できる。
【0019】
また、リーダライタ本体14も、複数のプロトコルに対応するために、プロトコル毎にRFIDプロトコル処理部を備える。
【特許文献1】特開2007−334703号公報
【発明の開示】
【発明が解決しようとする課題】
【0020】
単一のプロトコルにおける異なる種類のデータフレームの生成および解析ができるように、RFID装置においてデータフレームの種類に夫々対応する回路を設けて切り替えて使用する手法では、回路規模が大きいという問題がある。また、データフレームの生成および解析をソフトウェアにより行う手法では、処理速度はハードウェアの場合より遅くなると共に、メモリ容量の増大などに起因して回路規模が大きくなるという問題がある。
【0021】
複数のプロトコルに対応するRFID装置例えば図21に示すRFIDタグ10では、これらの複数のプロトコルに夫々対応するプロトコル処理部は、単一のプロトコルにのみ対応するRFID装置と同様に上述した問題を有する。さらに、プロトコル毎にプロトコル処理部が設けられるため、回路規模が一層増大する。
【課題を解決するための手段】
【0022】
本発明の1つの態様は、フレーム処理回路である。このフレーム処理回路は、ペイロードからRFIDデータフレームを生成する生成処理、またはRFIDデータフレームを解析してペイロードを得る解析処理であって、n個(n:2以上の整数)の処理ステップのうちの、データフレームの種類に応じたm個(1≦m≦n)の処理ステップを含むフレーム処理を行うものであり、上記n個の処理ステップを夫々実行するn個の処理ブロックを備える。
【0023】
これらの処理ブロックには、データフレームの種類に応じてパスするか否かの設定が可能であり、パスしないと設定された場合に、受け取ったデータに対して当該ステップの処理を施して出力し、パスすると設定された場合に、受け取ったデータをそのまま出力するパス可能ブロックが含まれている。
【発明の効果】
【0024】
本発明の技術によれば、RFID装置の回路規模を抑制すると共に、処理速度の低下を回避できる。
【発明を実施するための最良の形態】
【0025】
説明の明確化のため、以下の記載及び図面は、適宜省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、それらの説明を省略する。また、本発明の説明に直接的な関連性が無く、該分野において通常知られているものについても省略する。
【0026】
本発明の具体的な実施の形態を説明する前に、まず、本発明の原理を説明する。
本願発明者は、RFID装置におけるデータフレームの生成および解析について鋭意研究模索した結果、下記のことを知見した。ISO14443Aで定められたプロトコルを例に説明する。
【0027】
図1の左側は、ISO14443Aの基本フレームの生成処理の流れの例を示すフローチャートであり、右側は、左側のフローチャートが示す処理の実行に伴ってデータの変化態様を示す。図中において、長方枠によりデータを示すが、枠の長さはデータの長さを表すものではない。これについて、以下の説明に用いられる各図面においても同様である
【0028】
図1に示すように、基本フレームは、CRC処理(S10)、パリティ処理(S12)、エンコード(S14)、先頭データ処理(S16)、終端データ処理(S18)の順次実行により生成される。CRC処理(S10)では、CRC演算が行われ、ペイロードにCRCデータが追加される。パリティ処理(S12)では、パリティ演算が行われ、CRC処理(S10)により得られたデータにパリティビットPが追加される。エンコード(S14)では、パリティ処理(S12)により得られたデータがエンコードされる。先頭データ処理(S16)では、エンコード(S14)により得られたデータに先頭データ(ここではSOC)が追加される。最後に、終端データ処理(S18)では、終端データ(ここではEOC)が追加され、基本フレームが生成される。なお、本発明の図面において、混同される可能性が低く、かつ本発明の主旨を理解する上で問題が無い場合に、エンコードされる前のデータとエンコードされた後のデータに対して特に符号で区別しない。パリティビットの有無についても同様である。
【0029】
図2の左側は、ISO14443Aのショートフレームの生成処理の流れを示すフローチャートであり、右側は、左側のフローチャートが示す処理の実行に伴ってデータの変化態様を示す。
【0030】
図2に示すように、ショートフレームは、エンコード(S20)、先頭データ処理(S22)、終端データ処理(S24)の順次実行により生成される。先頭データ処理(S22)では、ペイロードに先頭データ(ここではS)が追加される。そして、終端データ処理(S24)では、終端データ(ここではE)が追加され、ショートフレームが生成される。
【0031】
図1と図2を比較すると分かるように、基本フレームの生成処理は、5つのステップからなり、ショートフレームの生成処理は、3つのステップからなる。ショートフレームの生成処理におけるステップS22(先頭データ処理)と、基本フレームの生成処理におけるステップS16(先頭データ処理)とは、先頭データの中身が「S」と「SOC」のいずれであるかの点において異なる以外、共に、「受け取ったデータの先頭に先頭データを追加する」である。同様に、ショートフレームの生成処理におけるステップS24(終端データ処理)と、基本フレームの生成処理におけるステップS18(終端データ処理)とは、終端データの中身が「E」と「EOC」のいずれであるかの点において異なる以外、共に、「受け取ったデータの末尾に終端データを追加する」である。
【0032】
図3の左側は、ISO14443Aの基本フレームの解析処理の流れの例を示すフローチャートであり、右側は、左側のフローチャートが示す処理の実行に伴ってデータの変化態様を示す。なお、図中点線枠は、処理によって削除されるデータを示す。これについて、以下の図面において同様である。また、本発明の図面において、混同される可能性が低く、かつ本発明の主旨を理解する上で問題が無い場合に、デコードされる前のデータとデコードされた後のデータに対しても特に符号で区別しない。
【0033】
図3に示すように、基本フレームは、先頭データ処理(S30)、終端データ処理(S32)、デコード(S34)、パリティ処理(S36)、CRC処理(S38)の順次実行により解析される。
【0034】
先頭データ処理(S30)では、基本フレームの先頭データSOCの検出と解析が行われる。また、検出した先頭データSOCと期待値が一致した場合には、先頭データSOCの削除が行われる。なお、検出した先頭データSOCと期待値が一致しない場合には、エラーとなり、処理は中断される。
【0035】
終端データ処理(S32)では、先頭データ処理(S30)により先頭データSOCを削除された後のデータ(remain Data。以下残留データという)に対する終端データEOCの検出と解析が行われる。また、検出した終端データEOCと期待値が一致した場合には、終端データEOCの削除が行われる。なお、検出した終端データEOCと期待値が一致しない場合には、エラーとなり、処理は中断される。
【0036】
デコード(S34)では、終端データ処理(S32)により得られた残留データがデコードされる。なお、デコード中に異常が生じた場合には、エラーとなり、処理は中断される。
【0037】
パリティ処理(S36)では、パリティ演算が行われ、デコードされた残留データ(remain Data)からパリティビットPが除去される。なお、除去に際して、パリティビットPが検出できなかったなどの異常が生じた場合には、エラーとなり、処理は中断される。
【0038】
最後に、CRC処理(S38)では、CRC演算が行われ、パリティ処理(S36)の残留データからCRCデータが除去され、ペイロードが得られる。これにて、基本フレームの解析処理が完了する。なお、CRC演算によるCRCチェックの結果、異常が生じた場合には、エラーとなり、処理は中断される。
【0039】
図4の左側は、ISO14443Aのショートフレームの解析処理の流れの例を示すフローチャートであり、右側は、左側のフローチャートが示す処理の実行に伴ってデータの変化態様を示す。
【0040】
図4に示すように、ショートフレームは、先頭データ処理(S40)、終端データ処理(S42)、デコード(S44)の順次実行により解析される。先頭データ処理(S40)では、ショートフレームの先頭データSの検出と解析が行われる。また、検出した先頭データSと期待値が一致した場合には、先頭データSの削除が行われる。なお、検出した先頭データSと期待値が一致しない場合には、エラーとなり、処理は中断される。
【0041】
終端データ処理(S42)では、先頭データ処理(S40)により得られた残留データに対する終端データEの検出と解析が行われる。また、検出した終端データEと期待値が一致した場合には、終端データEの削除が行われる。なお、検出した終端データEと期待値が一致しない場合には、エラーとなり、処理は中断される。
【0042】
デコード(S44)では、終端データ処理(S42)により得られた残留データがデコードされ、ペイロードが得られる。これにて、ショートフレームの解析処理が完了する。なお、デコード中に異常が生じた場合には、エラーとなり、処理は中断される。
【0043】
図3と図4を比較すると分かるように、基本フレームの解析処理は、5つのステップからなり、ショートフレームの解析処理は、3つのステップからなる。ショートフレームの解析処理におけるステップS40(先頭データ処理)と、基本フレームの解析処理におけるステップS30(先頭データ処理)とは、先頭データの中身が「S」と「SOC」のいずれであるかの点において異なる以外、共に、「受け取ったデータ先頭にある先頭データの検出と解析を行って削除する」である。同様に、ショートフレームの解析処理におけるステップS42(終端データ処理)と、基本フレームの解析処理におけるステップS42(終端データ処理)とは、終端データの中身が「E」と「EOC」のいずれであるかの点において異なる以外、共に、「受け取ったデータの末尾にある終端データの検出と解析を行って削除する」である。
【0044】
すなわち、ISO14443Aでは、基本フレームの生成処理をCRC処理、パリティ処理、エンコード処理、先頭データ処理、終端データ処理にステップ分けした場合、これらのステップのうちの3つのステップ(先頭データ処理、エンコード、終端データ処理)によりショートフレームの生成処理を構成できる。なお、解析処理についても同じである。
【0045】
以下において、説明上の便宜のため、「フレーム処理」を、データフレームの生成処理または解析処理のいずれかの意味で用いる。
【0046】
ISO14443Aに限らず、他のRFIDプロトコルについても、ある種類のデータフレームのフレーム処理を構成する複数のステップに含まれる一部のステップが、別の種類のデータフレームのフレーム処理を構成するように、フレーム処理をステップ分けすることができる。また、この一部のステップは、処理に用いられるパラメータが異なる種類のデータフレーム間で同じである場合には、データフレームの種類に応じてパラメータを変更する必要が無く、ISO14443Aのショートフレームと基本フレームのように、処理に用いられるパラメータが異なる場合には、データフレームの種類に応じてパラメータを変更すればよい。また、上記一部のステップは、異なる種類のデータフレーム間で処理方式が異なる場合には、当該ステップの処理を担う部分を処理方式毎に設け、データフレームの種類に応じて切り替えるようにすればよい。
【0047】
さらに、1つのプロトコルにおける異なる種類のデータフレームに限らず、複数の異なるプロトコルのデータフレームについても、上記のことを言える。ここでいくつかのプロトコルを例に説明する。なお、簡潔にするために、各プロトコルにおける基本フレームを例にする。また、先頭データが上位ビットである(すなわち終端データが下位ビットである)か、先頭データが下位ビットである(すなわち終端データが上位ビットである)かは、プロトコルによって異なるが、データフレームの伝送は先頭データからである。以下において、データフレームの各構成要素を伝送順に示す。
【0048】
図5は、ISO14443A、ISO15693、ISO18092、ISO18000−6、ISO18000−4の5つのRFIDプロトコルに夫々定義され、RFIDリーダライタが処理する基本フレームの構成を示す。なお、ISO18000−6とISO18000−4では、RFIDリーダライタが送信する基本フレームと受信するフレームのフォーマットが異なり、図5において夫々示している。各基本フレームにおいて、「CRC」の後の括弧中の数字は、CRCデータのビット数を示す。また、各基本フレームの構成要素について、そのプロトコルで用いられた用語で表記する。
【0049】
図5に示すように、ISO14443Aの基本フレームは、先頭データSOCと、ペイロードと、16ビットのCRCデータと、終端データEOCからなる。以下、説明上の便宜のため、ペイロードとCRCを合わせてPAYCRCという場合がある。また、PAYCRCは、通常、生成処理に際してエンコードされ、解析処理に際してデコードされる。
【0050】
ISO15693の基本フレームは、先頭データSOFと、PAYCRCと、終端データEOFからなる。CRCは、16ビットである。
【0051】
ISO18092の基本フレームは、先頭データ(Preamble+SYNC+LENGTH)と、PAYCRCからなる。ISO18092の基本フレームの先頭データにおけるSYNCは、ISO18092のPAYCRCをデコードする際に用いられる極性データ(Polarity Data)が含まれている。また、PAYCRCのデータ長を示すLENGTHも、デコードの際に用いられる。ISO18092の基本フレームのCRCも16ビットである。ISO18092の基本フレームには、終端データが無い。
【0052】
ISO18000−6では、RFIDリーダライタが送信する基本フレームは、先頭データと、PAYCRCからなる。先頭データは、PreambleとFramesyncの2種類がある。CRCは、16ビットと5ビットの2種類がある。また、RFIDリーダライタが受信する基本フレームは、先頭データPreambleとPAYCRCとからなり、CRCは、16ビットである。ISO18000−6の基本フレームも、終端データが無い。
【0053】
ISO18000−4では、RFIDリーダライタが送信する基本フレームは、先頭データ(Preamble+detectとPreamble+Delimiter)とPAYCRCからなり、CRCは16ビットである。また、RFIDリーダライタが受信する基本フレームは、先頭データ(Quiet+Preamble)とPAYCRCからなり、CRCは、16ビットである。ISO18092の基本フレームも、終端データが無い。
【0054】
また、図5に示していないが、プロトコルによって、PAYCRCのデータには、パリティビットが挿入されたものもあれば、パリティビットが挿入されていないものもある。
【0055】
図5に示す各プロトコルの基本フレームの構成から分かるように、基本フレームの生成処理を、CRC処理、パリティ処理、エンコード、先頭データ処理、終端データ処理にステップ分けすれば、ISO14443Aの場合のみ、基本フレームを生成する際にすべてのステップが必要である。他のプロトコルの基本フレームの生成に際しては、エンコード、CRC処理、先頭データ処理のステップが必ずあるが、他のステップについては、プロトコルによって無い場合がある。
【0056】
そのため、RFIDリーダライタのフレーム生成を担う部分を、CRC処理ブロックと、パリティ処理ブロック、エンコードブロック、先頭処理ブロック、終端データ処理ブロックに分けて構成すると共に、パリティ処理ブロックと終端データ処理ブロックをパス可能にすれば、図5に示す5つのプロトコルの基本フレームの生成に対応できる。プロトコルによって当該ステップの処理に用いられるパラメータが異なる場合には、プロトコルに応じたパラメータをその処理ブロックに対して設定すればよい。また、異なるプロトコル間で処理方式が異なるステップについては、処理方式毎に当該ステップの処理部を設け、プロトコルに応じて処理部を切り替えればよい。例えば、エンコード処理について、エンコード方式毎にエンコード部を設け、プロトコルに応じてエンコード部を切り替える。
また、RFIDリーダライタのフレーム解析を担う部分を、先頭処理ブロック、終端データ処理ブロック、デコードブロック、パリティ処理ブロック、CRC処理ブロックに分けて構成すると共に、パリティ処理ブロックと終端データ処理ブロックをパス可能にすれば、図5に示す5つのプロトコルの基本フレームの解析に対応できる。プロトコルによって当該ステップの処理に用いられるパラメータが異なる場合には、プロトコルに応じたパラメータをその処理ブロックに対して設定すればよい。また、異なるプロトコル間で処理方式が異なるステップについては、処理方式毎に当該ステップの処理部を設け、プロトコルに応じて処理部を切り替えればよい。例えば、ISO18092の場合、デコードする際に、他のプロトコルの場合に行わないLENGTHを検出する必要がある。そのため、デコード処理を担うブロックとして、LENGTHを検出してデコードするものと、LENGTH検出を行わずにデコードするものとを夫々設け、デコードステップの処理に際して切り替えるようにすればよい。
【0057】
さらに、フレームの種類によって、先頭データと終端データまたはそれらの一部に対してもエンコードされるように規定されている場合がある。その場合、先頭データ処理ブロックと終端データ処理ブロックに対してパラメータを設定する際に、エンコードされた先頭データと終端データを設定すればよい。
【0058】
上記知見に基づき、本願発明者は、RFID装置の回路規模を抑制すると共に、処理速度の低下を回避できるフレーム処理回路を提案する。ここでいう「フレーム処理回路」は、データフレームを生成する回路、またはデータフレームを解析する回路のいずれかである。
【0059】
図6は、本願発明者が提案するフレーム処理回路の模式図である。このフレーム処理回路50は、処理ブロック60と、パス可能ブロック70と、パラメータ変更可能ブロック80と、処理方式変更可能ブロック90とが順次接続されてなる。なお、図6は、本発明の原理を説明するための模式図であり、処理ブロックの接続順序、各種処理ブロックの数は、図示に限られることが無い。また、パス可能ブロック70を除き、他の各種の処理ブロックは、必ずしも全て備えられるとは限らない。
【0060】
図6に示すフレーム処理回路50は、異なる種類のデータフレームのフレーム処理に対応可能である。データフレームの種類は、単一のプロトコルで定義された異なるフォーマットの種類に限らず、プロトコルの種類も含む。
【0061】
ここで、フレーム1〜フレーム3の3種類のデータフレームがあるとする。図7は、これらのフレームのフレーム処理を構成するステップの例を示す。
【0062】
図7に示すように、フレーム1のフレーム処理は、ステップ1、ステップ2、ステップ3、ステップ4を含む。
フレーム2のフレーム処理は、ステップ1、ステップ3、ステップ4を含む。
フレーム3のフレーム処理は、ステップ1、ステップ2、ステップ3、ステップ4を含む。
上記ステップ1〜ステップ4に対応する処理は、夫々処理1、処理2、処理3、処理4とする。
【0063】
フレーム1と、フレーム2と、フレーム3とで、ステップ3(処理3)に用いられるパラメータが異なり、フレーム1およびフレーム2と、フレーム3とで、ステップ4(処理4)の処理方式が異なる。なお、フレーム1とフレーム2に対応するステップ4の処理方式が第1の処理方式であり、フレーム3に対応するステップ4の処理方式が第2の処理方式であるとする。
【0064】
フレーム処理回路50において、処理ブロック60は処理1を実行し、パス可能ブロック70は処理2を実行可能であり、パラメータ変更可能ブロック80は処理3を実行し、処理方式変更可能ブロック90は処理4を実行する。
【0065】
処理ブロック60が実行する処理1は、フレーム1〜3のいずれのフレーム処理にも含まれ、処理に用いられるパラメータおよび処理方式は、フレーム1〜3について同一である。
【0066】
パス可能ブロック70は、処理ブロック60からのデータに対して処理2を施してパラメータ変更可能ブロック80に出力するか、処理をせずにそのまま後段のパラメータ変更可能ブロック80に出力する。図8は、その構成例を示す。
【0067】
図8に示すように、パス可能ブロック70は、パス設定レジスタ72と、パススイッチ74と、本処理部76と、バイパス78を備える。
【0068】
本処理部76は、処理2を実行するものである。パス設定レジスタ72は、処理ブロック60からのデータに対して処理2を施すかを示す設定値を格納する。バイパス78は、処理ブロック60からのデータをそのままパラメータ変更可能ブロック80に出力するための接続線である。パススイッチ74は、パス設定レジスタ72に格納された設定値を参照して、処理ブロック60からのデータを本処理部76に出力するかバイパス78に出力するかの切替えを行う。
【0069】
パス設定レジスタ72に格納された設定値が「パスしない」を示す場合に、パススイッチ74は、処理ブロック60からのデータを本処理部76に出力する。これにより、処理ブロック60からのデータは、本処理部76により処理2が施されてパラメータ変更可能ブロック80に出力される。
【0070】
また、パス設定レジスタ72に格納された設定値が「パスする」を示す場合に、パススイッチ74は、処理ブロック60からのデータをバイパス78に出力する。これにより、処理ブロック60からのデータは、そのままパラメータ変更可能ブロック80に出力される。
【0071】
パス可能ブロック70のこのような構成により、パス設定レジスタ72に格納された設定値を変更することで、フレーム処理に際して処理2をパスするか否かの制御ができる。
【0072】
パラメータ変更可能ブロック80は、パス可能ブロック70からのデータに対して処理3を施して処理方式変更可能ブロック90に出力する。図9は、その構成例を示す。
【0073】
図9に示すように、パラメータ変更可能ブロック80は、パラメータレジスタ82と、本処理部84を備える。パラメータレジスタ82は、処理3に用いられるパラメータを格納する。本処理部84は、パス可能ブロック70からのデータに対して処理3を実行して処理方式変更可能ブロック90に出力し、処理3の実行に際してはパラメータレジスタ82に格納されたパラメータを参照する。
【0074】
パラメータ変更可能ブロック80のこのような構成により、処理3を実行する際に用いられるパラメータを変更可能である。
【0075】
処理方式変更可能ブロック90は、複数(ここでは2つ)の処理方式に対応し、パラメータ変更可能ブロック80からのデータに対してこれらの複数の処理方式のうちの1つの方式で処理4を施して出力する。なお、夫々の処理方式の処理を実行するためには、異なるハードウェア構成の処理部が必要である。図10は、その構成例を示す。
【0076】
図10に示すように、処理方式変更可能ブロック90は、処理方式レジスタ92と、方式スイッチ94と、第1の本処理部96と、第2の本処理部97を備える。
【0077】
第1の本処理部96は、第1の処理方式で処理4を行ものであり、第2の本処理部97は、第2の処理方式で処理4を行うものである。
【0078】
処理方式レジスタ92は、第1の処理方式と第2の処理方式のいずれかを示す設定値を格納する。方式スイッチ94は、処理方式レジスタ92に格納された設定値を参照して、パラメータ変更可能ブロック80からのデータを、第1の本処理部96に出力するか第2の本処理部97に出力するかの切替えを行う。
【0079】
処理方式変更可能ブロック90のこのような構成により、処理方式レジスタ92に格納された設定値を変更することで、フレーム処理に際して、いずれの処理方式で処理4を行うかの制御ができる。
【0080】
フレーム処理回路50に対して、パス設定レジスタ、パラメータレジスタ、処理方式レジスタ92の格納値を変更することによって上述した3種類のフレームのフレーム処理ができる。フレーム毎に説明する。
<フレーム1>
【0081】
この場合、パス可能ブロック70のパス設定レジスタ72に対して「パスしない」、パラメータ変更可能ブロック80のパラメータレジスタ82に対して「フレーム1に対応するパラメータ」、処理方式変更可能ブロック90の処理方式レジスタ92に対して「第1の処理方式」を設定する。
【0082】
このような設定により、フレーム処理回路50において、処理1、処理2、処理3、処理4が順次実行され、処理3では、フレーム1に対応するパラメータが用いられ、処理4は、第1の処理方式の第1の本処理部96により行われる。すなわち、フレーム1に対するフレーム処理が実行される。
<フレーム2>
【0083】
この場合、パス可能ブロック70のパス設定レジスタ72に対して「パスする」、パラメータ変更可能ブロック80のパラメータレジスタ82に対して「フレーム2に対応するパラメータ」、処理方式変更可能ブロック90の処理方式レジスタ92に対して「第1の処理方式」を設定する。
【0084】
このような設定により、フレーム処理回路50において、処理1、処理3、処理4が順次実行され、処理3では、フレーム2に対応するパラメータが用いられ、処理4は、第1の処理方式の第1の本処理部96により行われる。すなわち、フレーム2に対するフレーム処理が実行される。
<フレーム3>
【0085】
この場合、パス可能ブロック70のパス設定レジスタ72に対して「パスしない」、パラメータ変更可能ブロック80のパラメータレジスタ82に対して「フレーム3に対応するパラメータ」、処理方式変更可能ブロック90の処理方式レジスタ92に対して「第2の処理方式」を設定する。
【0086】
このような設定により、フレーム処理回路50において、処理1、処理2、処理3、処理4が順次実行され、処理3では、フレーム3に対応するパラメータが用いられ、処理4は、第2の処理方式の第2の本処理部97により行われる。すなわち、フレーム3に対するフレーム処理が実行される。
【0087】
すなわち、フレーム処理回路50は、フレーム処理を構成しうる複数のステップをそれぞれ実行する処理ブロックを備え、データフレームの種類に応じて所定の処理ブロックをパスしたり、所定の処理ブロックに対してパラメータを変更したり、所定の処理ブロックに対して処理方式を変更することが可能である。そのため、RFID装置において、データフレームの種類毎にフレーム処理部を設ける必要が無く、回路規模を抑制することができる。また、ハードウェアによりフレーム処理を実行しているので、ソフトウェアを用いる場合より処理速度を向上させることができると共に、回路規模も小さくできる。
【0088】
勿論、パラメータ変更可能ブロック80はパラメータ変更可能であると共に、同時にパス可能に構成してもよい。同様に、処理方式変更可能ブロック90は、同時にパス可能、パラメータ変更可能に構成してもよい。すなわち、必要があれば、図5に示す各種処理ブロック以外に、パス可能/パラメータ変更可能処理ブロック、パス可能/処理方式変更可能処理ブロック、パラメータ変更可能/処理方式変更可能処理ブロック、パス可能/パラメータ変更可能/処理方式変更可能処理ブロックの各種の処理ブロックがフレーム処理回路に含まれることもできる。
【0089】
以上の説明を踏まえて、本発明の原理を具現化したRFIDシステムを説明する。
図11は、本発明の実施の形態にかかるRFIDシステム100を示す。RFIDシステム100は、RFIDリーダライタ200と、RFIDタグ600を備え、RFIDリーダライタ200は、ISO14443A、ISO15693、ISO18092、ISO18000−6、ISO18000−4の複数のプロトコルに対応する。すなわち、RFIDタグ600がこれらのプロトコルのいずれに準拠したものであっても、RFIDリーダライタ200は、それのリード/ライトができる。
【0090】
RFIDリーダライタ200は、データコマンド処理部210と、フレーム生成/解析部300と、RF変調/復調部220と、アンテナ部230とを備える。
【0091】
データコマンド処理部210は、CPUを備え、フレーム生成/解析部300、RF変調/復調部220の制御や、RFIDタグ600に送信するデータフレームに含まれるペイロードをフレーム生成/解析部300への供給、およびフレーム生成/解析部300からのペイロードの処理などを行う。
【0092】
フレーム生成/解析部300は、デジタル回路により構成されたチップであり、データコマンド処理部210からのペイロードを受け取って、RFIDタグ600に送信するデータフレームを生成してRF変調/復調部220に出力する。また、フレーム生成/解析部300は、RF変調/復調部220からのデータフレームに対して解析処理を行ってペイロードを得てデータコマンド処理部210に出力する。
【0093】
RF変調/復調部220は、アナログ回路であり、フレーム生成/解析部300からのデータフレームに対してRF変調を行ってアンテナ部230に出力する。また、RF変調/復調部220は、アンテナ部230が受信した電波信号をデータフレームに復調してフレーム生成/解析部300に出力する。さらに、RF変調/復調部220は、データフレームを復調する際に、当該データフレームの種類(プロトコルの種類、および当該プロトコルにおけるデータフォーマット種類)をデータコマンド処理部210に通知する。
【0094】
アンテナ部230は、複数の周波数帯域に対応し、上述した各プロトコルの電波信号の送受信ができる。
【0095】
図12は、フレーム生成/解析部300を示す。フレーム生成/解析部300は、データコマンド処理部210と接続するインタフェース310と、RF変調/復調部220と接続するインタフェース320と、フレーム生成回路400と、フレーム解析回路500を備える。
【0096】
インタフェース310は、データコマンド処理部210からのペイロードに対してパラレル/シリアル変換してフレーム生成回路400に出力すると共に、フレーム解析回路500からのペイロードに対してシリアル/パラレル変換してデータコマンド処理部210に出力する。
【0097】
フレーム生成回路400は、インタフェース310を介してデータコマンド処理部210からのペイロードからデータフレームを生成してインタフェース320に出力する。
【0098】
フレーム解析回路500は、インタフェース320からのデータフレームを解析してペイロードを得てインタフェース310に出力する。
【0099】
インタフェース320は、フリップフロップを備え、フレーム生成/解析部300とRF変調/復調部220の処理のタイミング合わせなどを行う。
【0100】
図13は、フレーム生成回路400を示す。フレーム生成回路400は、本発明のフレーム処理回路をフレームの生成処理に適用したものであり、パス可能に順次接続された第1〜第5の5つのブロックからなる。
【0101】
第1のブロック410は、CRC処理を実行可能であり、スイッチ412と、レジスタ群414と、CRC処理部416と、バイパス419を備える。レジスタ群414は、CRC処理をパスするか否かの設定値を格納するパス設定レジスタと、CRC処理方式を示す設定値を格納する処理方式レジスタとを含む。これらのレジスタは、データコマンド処理部210により、生成するフレームの種類に応じて設定される。
【0102】
ここでは、CRC処理方式は、ペイロードに追加するCRCデータのビット数を意味し、本実施の形態では、2つの処理方式に対応する。例えばCRC処理部415は、16ビットのCRCデータを追加するものであり、CRC処理部416は、5ビットのCRCデータを追加するものである。
【0103】
スイッチ412は、レジスタ群414の各レジスタを参照して、インタフェース310を介してデータコマンド処理部210から受信したペイロードを、CRC処理部415、CRC処理部416、バイパス419のいずれに出力するかの切替えを行う。具体的には、パス設定レジスタに「パスする」と設定されている場合には、スイッチ412は、バイパス419に切り替えることにより、ペイロードをそのまま後段の第2のブロック420に出力する。一方、「パスしない」と設定されている場合には、スイッチ412は、処理方式設定レジスタに設定されたCRC処理方式に対応するCRC処理部に切り替える。当該CRC処理部は、受け取ったペイロードにCRCデータを追加した第2のブロック420に出力する。
【0104】
すなわち、第1のブロック410は、パス可能/処理方式変更可能処理ブロックである。スイッチ412は、パススイッチと方式スイッチを兼ねている。
【0105】
第2のブロック420は、パス可能ブロックであり、第1のブロック410から受け取ったデータをそのまま第3のブロック430に出力するか、パリティ処理を行って出力する。第2のブロック420は、スイッチ422と、レジスタ424と、パリティ処理部426と、バイパス429を備える。パリティ処理部426は、パリティ処理を実行するものである。レジスタ424は、パス設定レジスタであり、パリティ処理部426の処理をパスするか否かの設定値を格納している。なお、レジスタ424も、データコマンド処理部210により、生成するフレームの種類に応じて設定される。
【0106】
スイッチ422は、パススイッチであり、レジスタ424を参照して、第1のブロック410からのデータをパリティ処理部426に出力するかバイパス429に出力するかの切替えを行う。バイパス429に切り替えた場合、第1のブロック410からのデータは、パリティ処理が施されずに、そのまま第3のブロック430に出力される。パリティ処理部426に切り替えた場合、第1のブロック410からのデータは、パリティ処理部426によりパリティ処理が施された後に第3のブロック430に出力される。
【0107】
第3のブロック430は、パス可能/処理方式変更可能ブロックであり、スイッチ432と、レジスタ群434と、4つのエンコーダ435〜438と、バイパス439を備える。エンコーダ435〜438は、異なるエンコード方式でエンコードするものである。レジスタ群434は、エンコードするか否か、すなわち全てのエンコーダ435〜438をパスするか否かの設定値を格納するパス設定レジスタと、エンコードする場合(パスしない場合)に、エンコード方式を示す設定値を格納する処理方式レジスタを含む。これらのレジスタは、データコマンド処理部210により、生成するフレームの種類に応じて設定される。
【0108】
スイッチ432は、パススイッチと方式スイッチを兼ねており、レジスタ群434の各レジスタの設定値を参照して、第2のブロック420からのデータを、エンコーダ435、エンコーダ436、エンコーダ437、エンコーダ438、バイパス439のいずれに出力するかの切替えを行う。具体的には、「パスする」と設定されている場合には、スイッチ432は、バイパス439に切り替える。これにより、第2のブロック420からのデータは、バイパス439によりそのまま後段の第4のブロック440に出力される。
【0109】
また、「パスしない」と設定されている場合には、スイッチ432は、設定されたエンコード方式に対応するエンコーダに切り替える。当該エンコーダは、受け取ったデータをエンコードして第4のブロック440に出力する。
【0110】
第4のブロック440は、パス可能/パラメータ変更可能ブロックであり、スイッチ442と、レジスタ群444と、ヘッダ処理部446と、バイパス449を備える。レジスタ群444は、ヘッダ処理部446によるヘッダ処理をパスするか否かの設定値を格納するパス設定レジスタと、パスしない場合に必要なパラメータを格納するパラメータレジスタを含む。なお、ヘッダ処理部446が行うヘッダ処理は、フレームの生成処理における先頭データ処理であり、そのためのパラメータは、先頭データのビット数と、先頭データのデータ値である。これらの設定値およびパラメータは、データコマンド処理部210により、生成するデータフレームの種類に応じて設定される。また、先頭データまたは先頭データの一部がエンコードされたものに規定されたフレームの場合には、当該部分についてエンコードされるものが設定される。
【0111】
スイッチ442は、パススイッチであり、レジスタ群444の各レジスタを参照して、第3のブロック430からのデータを、ヘッダ処理部446、バイパス449のいずれに出力するかの切替えを行う。具体的には、「パスする」と設定されている場合には、スイッチ442は、バイパス449に切り替える。これにより、第3のブロック430からのデータはバイパス449によりそのまま後段の第5のブロック450に出力される。また、「パスしない」と設定されている場合には、スイッチ442は、ヘッダ処理部446に切り替える。ヘッダ処理部446は、パラメータレジスタから、設定されたビット数のデータを読み出して、第3のブロック430からのデータに追加して第5のブロック450に出力する。
【0112】
第5のブロック450も、パス可能/パラメータ変更可能ブロックであり、スイッチ452と、レジスタ群454と、EOF処理部456と、バイパス459を備える。レジスタ群454は、EOF処理部456によりEOF処理をパスするか否かの設定値を格納するパス設定レジスタと、パスしない場合に必要なパラメータを格納するパラメータレジスタを含む。なお、EOF処理部456が行うEOF処理は、フレームの生成処理における終端データ処理であり、そのためのパラメータは、終端データのビット数と、終端データのデータ値である。これらの設定値およびパラメータは、データコマンド処理部210により、生成するデータフレームの種類に応じて設定される。また、終端データまたは終端データの一部がエンコードされたものに規定されたフレームの場合には、当該部分についてエンコードされるものが設定される。
【0113】
スイッチ452は、パススイッチであり、レジスタ群454の各レジスタを参照して、第4のブロック440からのデータを、EOF処理部456、バイパス459のいずれに出力するかの切替えを行う。具体的には、「パスする」と設定されている場合には、スイッチ452は、バイパス459に切り替える。これにより、第4のブロック440からのデータはバイパス459によりそのままデータフレームとして出力される。また、「パスしない」と設定されている場合には、スイッチ452は、EOF処理部456に切り替える。EOF処理部456は、パラメーラレジスタから、設定されたビット数のデータを読み出して、第4のブロック440からのデータに追加してデータフレームとして出力する。
【0114】
このように、本実施の形態におけるフレーム生成回路400は、CRC処理、パリティ処理、エンコード、先頭データ処理、終端データ処理に夫々対応する5つの処理ブロックを備え、各処理ブロックは、パス可能である。また、データフレームの種類によって処理に用いられるパラメータが異なる処理ブロック(例えば第4のブロック440と第5のブロック450)は、パラメータ変更可能に構成されている。さらに、データフレームの種類によって処理方式が異なる処理ブロック(例えば第1のブロック410と第3のブロック430)は、処理方式毎に本処理部(例えば、第2のブロック420におけるCRC処理部415とCRC処理部416や、第3のブロック430におけるエンコーダ435〜438)が備えられ、処理方式変更可能に構成されている。
【0115】
図14は、RFIDリーダライタ200におけるフレーム解析回路500を示す。フレーム解析回路500は、本発明のフレーム処理回路をフレームの解析処理に適用したものであり、パス可能に順次接続された第1〜第5の5つのブロックからなる。
【0116】
第1のブロック510は、パス可能/パラメータ変更可能ブロックであり、スイッチ512と、レジスタ群514と、ヘッダ処理部516と、バイパス519を備える。レジスタ群514は、ヘッダ処理部516によるヘッダ処理をパスするか否かの設定値を格納するパス設定レジスタと、パスしない場合に必要なパラメータを格納するパラメータレジスタを含む。なお、ヘッダ処理部516が行うヘッダ処理は、解析処理時の先頭データ処理であり、そのためのパラメータは、先頭データのビット数と、先頭データの期待値と、先頭データ処理における解析結果を出力するか否かを示す情報を含む。前述したように、RF変調/復調部220は、受信信号をデータフレームに復調する際にその種類をデータコマンド処理部210に通知する。データコマンド処理部210は、通知された種類に応じて、各ブロックのレジスタを設定する。なお、先頭データの期待値については、データコマンド処理部210は、データフレームを送信時に当該レジスタに対して設定する。
【0117】
先頭データ処理時における解析結果を出力するか否かについて、図5に戻って説明する。図5に示すように、ISO18092の場合、先頭データには、Preamble、SYNC、LENGTHが含まれている。このうち、SYNCは、極性(Polarity)を示すものであり、デコード時に必要なデータである。そのため、ISO18092のデータフレームの解析処理において、先頭データ処理によって得られたPolarityを後段に出力する必要がある。データコマンド処理部210は、通知されたデータフレームの種類がISO18092の基本フレームである場合に、第1のブロック510のレジスタ群514に含まれる当該レジスタに対して、解析結果であるPolarityを出力するように設定する。また、デコード時にLENGTHも必要であるため、データコマンド処理部210は、LENGTHも出力するように設定する。
【0118】
スイッチ512は、レジスタ群514に含まれるパス設定レジスタを参照してヘッダ処理部516とバイパス519の切替えを行う。バイパス519に切り替えられた場合には、RF変調/復調部220からのデータフレームは、バイパス519によりそのまま第2のブロック520に出力される。ヘッダ処理部516に切り替えられた場合には、ヘッダ処理部516は、レジスタ群514に含まれるパラメータレジスタを参照して、RF変調/復調部220からのデータフレームに対して先頭データ処理を行って第2のブロック520に出力する。
【0119】
第2のブロック520は、パス可能/パラメータ変更可能ブロックであり、スイッチ522と、レジスタ群524と、EOF処理部526と、バイパス529を備える。レジスタ群524には、パス設定レジスタとパラメータレジスタが含まれており、スイッチ522は、パス設定レジスタを参照してEOF処理部526とバイパス529の切替えを行う。バイパス529に切り替えられた場合には、第1のブロック510からのデータは、バイパス529によりそのまま第3のブロック530に出力される。EOF処理部526に切り替えられた場合には、EOF処理部526は、パラメータレジスタを参照して、第1のブロック510からのデータに対して解析処理時の終端データ処理を行って第3のブロック530に出力する。
【0120】
第3のブロック530は、パス可能/処理方式変更可能ブロックであり、スイッチ532と、レジスタ群534と、デコーダ535と、デコーダ536と、バイパス539を備える。レジスタ群534には、パス設定レジスタと処理方式レジスタが含まれており、スイッチ532は、それらを参照してデコーダ535と、デコーダ536と、バイパス539の切替えを行う。バイパス539に切り替えられた場合には、第2のブロック520からのデータは、デコード処理を経ずにバイパス539によりそのまま第4のブロック540に出力される。デコーダ535またはデコーダ536に切り替えられた場合には、当該デコーダは、第2のブロック520からのデータに対してデコードを行って第4のブロック540に出力する。
【0121】
例えば、ISO14443Aのプロトコルの基本フレームの場合、第2のブロック520から第3のブロック530に、ペイロードとCRCのみ、すなわちPAYCRCのみが出力される。一方、ISO18092の場合、第2のブロック520から第3のブロック530に、PAYCRC以外に、PolarityとLENGTHが出力される。そのため、ISO18092のPAYCRCのデコードに際して、ISO14443Aの場合の処理方式と異なり、LENGTHを検出して、Polarityと、検出したLENGTHとを参照して、PAYCRCをデコードする。いずれの処理方式でデコードするかは、処理方式パラメータに設定されているため、スイッチ522により当該処理方式に対応するデコーダに切り替えることにより、デコード方式が異なるデータフレームのデコードも対応可能である。
【0122】
第4のブロック540は、パス可能ブロックであり、スイッチ542と、レジスタ544と、パリティ処理部546と、バイパス549を備える。レジスタ544は、パス設定レジスタであり、スイッチ542は、レジスタ544を参照して、パリティ処理部546と、バイパス549の切替えを行う。バイパス549に切り替えられた場合には、第3のブロック530からのデータは、バイパス549によりそのまま第5のブロック550に出力される。パリティ処理部546に切り替えられた場合には、パリティ処理部546は、第3のブロック530からのデータに対してパリティ処理を行ってパリティビットを削除して第5のブロック550に出力する。
【0123】
第5のブロック550は、パス可能/処理方式変更可能ブロックであり、スイッチ552と、レジスタ群554と、CRC処理部555と、CRC処理部556と、バイパス559を備える。レジスタ群554には、パス設定レジスタと処理方式レジスタが含まれており、スイッチ552は、それらを参照してスイッチ552と、レジスタ群554と、バイパス559の切替えを行う。バイパス559に切り替えられた場合には、第4のブロック540からのデータは、CRC処理を経ずにバイパス559によりそのままペイロードとして出力される。CRC処理部555またはCRC処理部556に切り替えられた場合には、当該CRC処理部は、第4のブロック540からのデータに対してCRC処理を行い、ペイロードを得て出力する。
【0124】
なお、第1のブロック510〜第5のブロック550は、パスしない場合の処理時にエラーを検出した際に、データコマンド処理部210にエラー信号を出力する。これをもって解析処理は中断される。
【0125】
このように、本実施の形態におけるフレーム解析回路500は、先頭データ処理、終端データ処理、デコード、パリティ処理、CRC処理に夫々対応する5つの処理ブロックを備え、各処理ブロックは、パス可能である。また、データフレームの種類によって処理に用いられるパラメータが異なる処理ブロック(例えば第1のブロック510と第2のブロック520)は、パラメータを変更可能に構成されている。さらに、データフレームの種類によって処理方式が異なる処理ブロック(例えば第3のブロック530と第5のブロック550)は、処理方式毎に本処理部(例えば、第3のブロック530におけるデコーダ535とデコーダ536や、第5のブロック550におけるCRC処理部555とCRC処理部556)が備えられ、処理方式を変更可能に構成されている。
【0126】
図15と図16は、フレーム生成回路400が、上記5つのプロトコル毎のデータフレームを生成する流れを示す。分かりやすいように、全てのプロトコルについて基本フレームのみを説明する。
【0127】
図15に示すように、ISO14443Aの基本フレームの生成に際して、第1のブロック410によるCRC処理(S100)、第2のブロック420によるパリティ処理(S102)、第3のブロック430によるエンコード処理(S104)、第4のブロック440による先頭データ処理(S106)、第5のブロック450による終端データ処理(S108)が順次実行される。
【0128】
ISO15693の基本フレームの生成に際して、第1のブロック410によるCRC処理(S100)、第3のブロック430によるエンコード処理(S104)、第4のブロック440による先頭データ処理(S106)、第5のブロック450による終端データ処理(S108)が順次実行される。第2のブロック420によるパリティ処理(S102)がパスされる。
【0129】
ISO18092の基本フレームの生成に際して、第1のブロック410によるCRC処理(S100)、第2のブロック420によるパリティ処理(S102)、第3のブロック430によるエンコード処理(S104)、第4のブロック440による先頭データ処理(S106)が順次実行され、第5のブロック450による終端データ処理(S108)がパスされる。
【0130】
また、図16に示すように、ISO18000−6の基本フレームの生成に際して、第1のブロック410によるCRC処理(S100)、第3のブロック430によるエンコード処理(S104)、第4のブロック440による先頭データ処理(S106)が順次実行され、第2のブロック420によるパリティ処理(S102)と、第5のブロック450による終端データ処理(S108)とがパスされる。
【0131】
ISO18000−4の基本フレームの生成に際して、第1のブロック410によるCRC処理(S100)、第3のブロック430によるエンコード処理(S104)、第4のブロック440による先頭データ処理(S106)が順次実行され、第2のブロック420によるパリティ処理(S102)と、第5のブロック450による終端データ処理(S108)とがパスされる。
【0132】
また、S100〜S108の各ステップのうちの、プロトコルによって処理に用いられるパラメータが異なるステップについては、当該プロトコルに対応するパラメータが用いられ、プロトコルによって処理方式が異なるステップについては、当該プロトコルに対応する処理方式で処理が実行される。
【0133】
図17と図18は、フレーム解析回路500が、上記5つのプロトコル毎のデータフレームを解析する流れを示す。ここも、全てのプロトコルについて基本フレームのみを説明する。
【0134】
図17に示すように、ISO14443Aの基本フレームの解析に際して、第1のブロック510による先頭データ処理(S110)、第2のブロック520による終端データ処理(S112)、第3のブロック530によるデコード処理(S114)、第4のブロック540によるパリティ処理(S116)、第5のブロック550によるCRC処理(S118)が順次実行される。
【0135】
ISO15693の基本フレームの解析に際して、第1のブロック510による先頭データ処理(S110)、第2のブロック520による終端データ処理(S112)、第3のブロック530によるデコード処理(S114)、第5のブロック550によるCRC処理(S118)が順次実行され、第4のブロック540によるパリティ処理(S116)がパスされる。
【0136】
ISO18092の基本フレームの解析に際して、第1のブロック510による先頭データ処理(S110)、第3のブロック530によるデコード処理(S114)、第4のブロック540によるパリティ処理(S116)、第5のブロック550によるCRC処理(S118)が順次実行され、第2のブロック520による終端データ処理(S112)がパスされる。また、ISO18092の場合、先頭データ処理(S110)時にSYNCから得た極性データ(Polarity)は、第3のブロック530に渡され、デコードに用いられる。デコード処理(S114)に際しては、LENGTHの検出も行われる。
【0137】
図18に示すように、ISO18000−6の基本フレームの解析に際して、第1のブロック510による先頭データ処理(S110)、第2のブロック520による終端データ処理(S112)、第3のブロック530によるデコード処理(S114)、第5のブロック550によるCRC処理(S118)が順次実行され、第4のブロック540によるパリティ処理(S116)がパスされる。
【0138】
ISO18000−4の基本フレームの解析に際して、第1のブロック510による先頭データ処理(S110)、第3のブロック530によるデコード処理(S114)、第5のブロック550によるCRC処理(S118)が順次実行され、第2のブロック520による終端データ処理(S112)と、第4のブロック540によるパリティ処理(S116)がパスされる。
【0139】
また、S110〜S118の各ステップのうちの、プロトコルによって処理に用いられるパラメータが異なるステップについては、当該プロトコルに対応するパラメータが用いられ、プロトコルによって処理方式が異なるステップについては、当該プロトコルに対応する処理方式で処理が実行される。
【0140】
このように、本実施の形態におけるフレーム生成/解析部300は、ISO14443A、ISO15693、ISO18092、ISO18000−6、ISO18000−4の複数のプロトコルに対応し、各プロトコルにおける種々のフォーマットのデータフレームの生成、解析ができる。また、生成処理と解析処理を複数のステップに分け、夫々のステップの処理を担う処理ブロックをパス可能に構成し、データフレームの種類に応じて必要な処理ブロックのみを実行させるようにすることにより、各種データフレーム間で共有できる処理ブロックを最大限に共有できる。そのため、データフレームの種類ごとに生成処理部と解析処理部を設ける従来の技術より、回路規模を抑制することができる。さらに、ハードウェアで生成処理と解析処理を行うので、処理の高速化を図ることができる。
【0141】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、さまざまな変更、増減を加えてもよい。これらの変更、増減が加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
【0142】
例えば、RFIDリーダライタ200は、複数のプロトコルに対応するものであるが、本発明の技術は、単一のプロトコルにおける異なるフォーマットのデータフレームのフレーム処理にも適用することができる。
【0143】
また、RFIDリーダライタ200は、将来新しく出現するプロトコルのために全ての処理ブロックをパス可能に構成している。例えば、上記に例挙した5つのプロトコルにのみ対応する場合には、先頭データ処理を担う処理ブロックについて、パスできる構成にしなくてもよい。
【0144】
また、本実施の形態は、本発明の技術をRFIDリーダライタに適用したものであるが、本発明の技術は、RFIDタグに適用してもよい。
【0145】
なお、分かりやすいように、フレーム生成処理を担う部分と、フレーム解析処理を担う部分の動作を別々に説明したが、本発明の技術を適用したRFID装置において、フレーム生成処理を担う部分と、フレーム解析処理を担う部分は、並行して動作可能である。
【図面の簡単な説明】
【0146】
【図1】ISO14443Aの基本フレームの生成処理を説明するための図である。
【図2】ISO14443Aのショートフレームの生成処理を説明するための図である。
【図3】ISO14443Aの基本フレームの解析処理を説明するための図である。
【図4】ISO14443Aのショートフレームの解析処理を説明するための図である。
【図5】複数のプロトコルのデータフレームの構成例を示す図である。
【図6】本発明の原理を説明するためのフレーム処理回路の模式図である。
【図7】図6に示すフレーム処理回路が対象とする3種類のフレームに対するフレーム処理の内容を示す図である。
【図8】図6に示すフレーム処理回路におけるパス可能ブロックを示す図である。
【図9】図6に示すフレーム処理回路におけるパラメータ変更可能ブロックを示す図である。
【図10】図6に示すフレーム処理回路における処理方式変更可能ブロックを示す図である。
【図11】本発明の実施の形態にかかるRFIDシステムを示す図である。
【図12】図11に示すRFIDシステムにおけるフレーム生成/解析部を示す図である。
【図13】図12に示すフレーム生成/解析部におけるフレーム生成回路を示す図である。
【図14】図12に示すフレーム生成/解析部におけるフレーム解析回路を示す図である。
【図15】図13に示すフレーム生成回路による各種プロトコルの基本フレームの生成処理の流れを示す図である(その1)。
【図16】図13に示すフレーム生成回路による各種プロトコルの基本フレームの生成処理の流れを示す図である(その2)。
【図17】図14に示すフレーム解析回路による各種プロトコルの基本フレームの解析処理の流れを示す図である(その1)。
【図18】図14に示すフレーム解析回路による各種プロトコルの基本フレームの解析処理の流れを示す図である(その2)。
【図19】ISO14443Aの基本フレームとショートフレームのフォーマットを示す図である。
【図20】従来のRFIDシステムを示す図である。
【図21】図20に示すRFIDシステムにおけるRFIDタグを示す図である。
【符号の説明】
【0147】
50 フレーム処理回路 60 処理ブロック
70 パス可能ブロック 72 パス設定レジスタ
74 パススイッチ 76 本処理部
78 バイパス 80 パラメータ変更可能ブロック
82 パラメータレジスタ 84 本処理部
90 処理方式変更可能ブロック 92 処理方式レジスタ
94 方式スイッチ 96 第1の本処理部
97 第2の本処理部 100 RFIDシステム
200 RFIDリーダライタ 210 データコマンド処理部
220 RF変調/復調部 230 アンテナ部
300 フレーム生成/解析部 310 インタフェース
320 インタフェース 400 フレーム生成回路
410 第1のブロック 412 スイッチ
414 レジスタ群 415 CRC処理部
416 CRC処理部 419 バイパス
420 第2のブロック 422 スイッチ
424 レジスタ 426 パリティ処理部
429 バイパス 430 第3のブロック
432 スイッチ 434 レジスタ群
435 エンコーダ 436 エンコーダ
437 エンコーダ 438 エンコーダ
439 バイパス 440 第4のブロック
442 スイッチ 444 レジスタ群
446 ヘッダ処理部 449 バイパス
450 第5のブロック 452 スイッチ
454 レジスタ群 456 EOF処理部
459 バイパス 500 フレーム解析回路
510 第1のブロック 512 スイッチ
514 レジスタ群 516 ヘッダ処理部
519 バイパス 520 第2のブロック
522 スイッチ 524 レジスタ群
526 EOF処理部 529 バイパス
530 第3のブロック 532 スイッチ
534 レジスタ群 535 デコーダ
536 デコーダ 539 バイパス
540 第4のブロック 542 スイッチ
544 レジスタ 546 パリティ処理部
549 バイパス 550 第5のブロック
552 スイッチ 554 レジスタ群
555 CRC処理部 556 CRC処理部
559 バイパス 600 RFIDタグ

【特許請求の範囲】
【請求項1】
ペイロードからRFIDデータフレームを生成する生成処理、またはRFIDデータフレームを解析してペイロードを得る解析処理であって、n個(n:2以上の整数)の処理ステップのうちの、前記データフレームの種類に応じたm個(1≦m≦n)の処理ステップを含むフレーム処理を行うフレーム処理回路であって、
前記n個の処理ステップを夫々実行するn個の処理ブロックを備え、
前記n個の処理ブロックには、
データフレームの種類に応じてパスするか否かの設定が可能であり、パスしないと設定された場合に、受け取ったデータに対して当該ステップの処理を施して出力し、パスすると設定された場合に、受け取ったデータをそのまま出力するパス可能ブロックが含まれることを特徴とするフレーム処理回路。
【請求項2】
前記データフレームの種類は、同一のプロトコルにおけるデータフォーマット種類を含むことを特徴とする請求項1に記載のフレーム処理回路。
【請求項3】
前記データフレームの種類は、プロトコルの種類を含むことを特徴とする請求項1または2に記載のフレーム処理回路。
【請求項4】
前記n個の処理ブロックには、
データフレームの種類に応じて当該ステップの処理に用いられるパラメータの設定が可能であり、設定された前記パラメータを参照して当該ステップの処理を行うパラメータ変更可能ブロックが含まれることを特徴とする請求項1から3のいずれか1項に記載のフレーム処理回路。
【請求項5】
前記パス可能ブロックは、
受け取ったデータに対して当該ステップの処理を実行する本処理部と、
受け取ったデータをそのまま出力するバイパスと、
パスするか否かを示す設定値が書込み可能なパス設定レジスタと、
前記パス設定レジスタに書き込まれた設定値に基づいて、上段からのデータを前記本処理部に出力するか前記バイパスに出力するかの切替えを行うパススイッチとを備えることを特徴とする請求項1から4のいずれか1項に記載のフレーム処理回路。
【請求項6】
前記パラメータ変更可能ブロックは、
受け取ったデータに対して、当該ステップの処理を実行する本処理部と、
前記パラメータが書込み可能なパラメータレジスタとを備え、
前記本処理部は、前記パラメータレジスタに書き込まれたパラメータを用いて当該ステップの処理を実行することを特徴とする請求項4または5のいずれか1項に記載のフレーム処理回路。
【請求項7】
前記n個の処理ブロックには、
異なる方式で当該ステップの処理を行う複数の本処理部を備え、データフレームの種類に応じて前記複数の本処理部を切替え可能な処理方式変更可能ブロックが含まれることを特徴とする請求項1から6のいずれか1項に記載のフレーム処理回路。
【請求項8】
前記処理方式変更可能ブロックは、
当該ステップの処理方式を示す設定値が書込み可能な処理方式設定レジスタと、
該処理方式設定レジスタに書き込まれた設定値に基づいて前記複数の本処理部の切替えを行う方式スイッチとを備えることを特徴とする請求項7に記載のフレーム処理回路。
【請求項9】
前記生成処理を行うものであり、
前記n個の処理ブロックは、CRC処理、パリティ処理、エンコード、先頭データ処理、終端データ処理を夫々行うことを特徴とする請求項1から8のいずれか1項に記載のフレーム処理回路。
【請求項10】
前記解析処理を行うものであり、
前記n個の処理ブロックは、先頭データ処理、終端データ処理、デコード、パリティ処理、CRC処理を夫々行うことを特徴とする請求項1から8のいずれか1項に記載のフレーム処理回路。
【請求項11】
請求項9に記載のフレーム処理回路であるフレーム生成回路と、
請求項10に記載のフレーム処理回路であるフレーム解析回路とを備えることを特徴とするフレーム処理チップ。
【請求項12】
アンテナと、
請求項11に記載のフレーム処理チップからのデータフレームをRF変調して前記アンテナに出力すると共に、前記アンテナが受信した信号をRF復調して前記フレーム処理チップに出力するRF変調/復調部と、
CPUを有し、前記フレーム処理チップへのペイロードの供給と、前記フレーム処理チップからのペイロードの処理と、前記フレーム処理チップにおける各処理ブロックの設定を含む制御処理とを行うデータコマンド処理部とを備えることを特徴とするRFIDリーダライタ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate