無線通信装置
【課題】無線通信媒体から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐ。
【解決手段】無線通信媒体から読取ったデータを記憶する記憶部を設ける。そして、記憶部に記憶されたデータを検索して複数の読取回数以上読取られたデータを検出し、読取回数以上読取られたデータが検出されるとそのデータを読取データとして確定させる。
【解決手段】無線通信媒体から読取ったデータを記憶する記憶部を設ける。そして、記憶部に記憶されたデータを検索して複数の読取回数以上読取られたデータを検出し、読取回数以上読取られたデータが検出されるとそのデータを読取データとして確定させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、RFID(Radio Frequency Identification)タグ等の無線通信媒体との間で非接触による通信を行い、前記無線通信媒体に保持される情報を読取る無線通信装置に関する。
【背景技術】
【0002】
近年、電磁波あるいは電波を利用して無線通信装置との間で無線通信を行うことにより、メモリ内に保持したデータを送信したり、受信したデータをメモリ内に書き込んだりできる小型の情報記憶媒体が開発され、流通,物流,交通,セキュリティなどの様々な分野で使用されている。この種の情報記憶媒体、いわゆる無線通信媒体は、一般にはRFIDタグ,無線タグ,ICタグ,電子タグなどと称されている。また、無線通信装置は、タグリーダ,タグリーダ・ライタ,質問器,基地局等と称されている。
【0003】
このような無線通信装置と無線通信媒体とを用いた無線通信システムの特徴的な機能の1つに、無線通信装置が複数の無線通信媒体から略同時にデータを受信できる機能がある。この機能により、例えば多数の物品にそれぞれ無線通信媒体を取り付けた場合には各物品の無線通信媒体からその物品特有の情報を略同時に非接触で読取ることができるので、在庫管理や物品認証等の作業の効率化を図れるようになる。
【0004】
この機能を実現するための一方式としてアンチコリジョン(衝突防止)機能と称される無線通信媒体の応答手順制御方式がある。この制御方式には、国際標準規格に採用されている代表的なアルゴリズムとしてバイナリツリー方式とタイムスロット方式とがある。タイムスロット方式は、無線LAN(Local Area Network)等のパケット通信において広く使われているアクセス制御方式で、アロハ(ALOHA)方式とも呼ばれている。因みに、RFIDの標準化団体であるEPC(Electronic Product Code)グローバルにより提案されたRFIDの通信規格の1つであるGen.2(Generation2)規格でも、タイムスロット方式を採用している。
【0005】
一般的なタイムスロット方式のアンチコリジョン機能の動作について説明する。
先ず、無線通信装置は、そのアンテナの交信領域内に存在する複数の無線通信媒体に対し、特定のスロット数(20〜2Q:Qは1以上の固定値)を指定する信号を送信して所定数のタイムスロットを割り当てる。一方、各無線通信媒体は、指定を受けたスロット数の範囲内で乱数を生成する。例えば2ビット(Q=1)のスロット数が指定された場合には、各無線通信媒体は2ビットの乱数[00],[01],[10],[11]のいずれかを生成する。そして、生成された乱数に一致したタイミングのタイムスロットを利用して無線通信装置に識別情報(ID)の応答を返す。
【0006】
この際、1つのタイムスロットに対して1つの無線通信媒体しか応答を返さなかった場合には、その無線通信媒体の識別情報を無線通信装置が読取ることができる。しかし、1つのタイムスロットに対して複数の無線通信媒体が同時に応答を返した場合には衝突が発生するので、それらの無線通信媒体の識別情報を無線通信装置は読取ることができない。
【0007】
無線通信装置は、無線通信媒体の識別情報を読み残している場合は、再度、特定のスロット数を指定する信号を送信して所定数のタイムスロットを割り当てる。これに応じて、無線通信媒体では、再度乱数を生成する。そして、生成された乱数に一致したタイミングのタイムスロットを利用して無線通信装置に応答を返す。このような一連の処理を短時間で繰り返すことにより、無線通信装置は複数の無線通信媒体から略同時に識別情報を読取れるようになる。
【0008】
ところで、このような無線通信システムにおいては、送信データにビット欠落エラーやビット化けエラー等の通信エラーが発生する場合がある。そこで、無線通信媒体から送信されるデータを受信する無線通信装置において、CRC(Cyclic Redundancy Check)等の誤り符号検出を行うことによって、この種の通信エラーに対処することは既に知られていた(例えば、特許文献1参照)。
【特許文献1】特開2004-280754号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、CRC等の誤り符号検出は完全なものではない。例えば、電波状況が悪いために複数のビットが化けてしまうと、CRC値のチェック結果が正常と判定される場合がある。このような場合には、誤ったデータが正常データとして確定されるため、その後の処理に大きな影響を及ぼすおそれがあった。
【0010】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、無線通信媒体から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐことができ、信頼性の向上を図り得る無線通信装置を提供しようとするものである。
【課題を解決するための手段】
【0011】
本発明は、RFIDタグ,無線タグ,ICタグ,電子タグ等と称される無線通信媒体との間で無線通信を行うことにより当該無線通信媒体に記憶されたデータを非接触で読取る無線通信装置において、無線通信媒体から読取ったデータを記憶する記憶部と、記憶部に記憶されたデータを検索して複数の読取回数以上読取られたデータを検出する検索手段と、この検索手段により検出された読取回数以上読取られたデータを読取データとして確定させる確定手段とを備えたものである。
【発明の効果】
【0012】
かかる手段を講じた本発明によれば、無線通信媒体から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐことができ、信頼性の向上を図り得る無線通信装置を提供できる。
【発明を実施するための最良の形態】
【0013】
以下、本発明を実施とするための最良の形態について、図面を用いて説明する。
なお、この実施の形態は、各物品にそれぞれ付与された無線通信媒体の識別情報(ID)を無線通信装置によって非接触で読取ることにより、その識別情報から当該無線通信媒体が付与された物品を認識する物品認識システムに本発明を適用した場合であり、説明の便宜上、各物品にそれぞれ付される無線通信媒体をRFIDタグと称し、無線通信装置をタグリーダ・ライタと称する。
【0014】
図1は本実施の形態におけるタグリーダ・ライタの要部構成を示すブロック図である。タグリーダ・ライタは、リーダ・ライタ本体10と、該リーダ・ライタ本体10に取り付けられたアンテナ20とから構成されている。アンテナ20は、送信時に高周波信号を電波として放射し、受信時は電波を高周波信号に変換する働きをする。アンテナ20から放射された電波は、各商品にそれぞれ付されて使用されるRFIDタグ30に到達し、各RFIDタグ30で受信される。アンテナ20の交信領域は、伝送方式,アンテナ形状等によって定められる。
【0015】
各RFIDタグ30は、それぞれ固有のIDを識別情報として記憶している。各RFIDタグ30は、タイムスロット方式のアンチコリジョン機能に対応したものである。
【0016】
リーダ・ライタ本体10は、タイムスロット方式のアンチコリジョン機能を実装したもので、インターフェイス部11、変調部12,送信アンプ13,サーキュレータ14,受信アンプ15,復調部16,メモリ部17及び各部を制御する制御部18等で構成されている。
【0017】
インターフェイス部11は、外部接続されるホスト機器と制御部18との間で行われるデータ通信を中継する。変調部12は、制御部18から与えられる送信データを高周波信号に変調して送信アンプ13に出力する。送信アンプ13は、変調部12にて変調された高周波信号を増幅してサーキュレータ14に出力する。サーキュレータ14は、送信アンプ13にて増幅された変調波信号をアンテナ20側に出力する。また、アンテナ20で受信した高周波信号を受信アンプ15側に出力する。受信アンプ15は、サーキュレータ14側から入力された高周波信号を増幅して復調部16に出力する。復調部16は、受信アンプ15にて増幅された高周波信号を復調して受信データに変換し、制御部18に出力する。制御部18は、復調部16にて復調された受信データに基づき、RFIDタグ30のデータを読み込む。
【0018】
メモリ部17は、各種の設定データや可変的なデータを記憶するための領域である。本実施の形態では、特に図2に示すように、読取サイクル回数X、読取正常判定回数Y及びスロット設定数Zの各種設定データを記憶する設定データテーブル41と、図3に示すように、サイクル回数i、読取情報数j、スロット数k及び重複読取数mの各種カウントデータを計数するカウンタテーブル42と、図4に示すように、読取サイクル回数Xに相当する個数の読取バッファ(READBUF[1]〜READBUF[X])を備えたワークテーブル43とが形成されている。
【0019】
各読取バッファ(READBUF[1]〜READBUF[X])は、それぞれ“1”からの連続番号順にRFIDタグ30から読取ったタグデータを確定フラグFと関連付けて記憶するエリアである。なお、確定フラグFは、対応するタグデータが確定済か否かを識別するための情報であって、本実施の形態では、確定済でないときを“0”とし、確定済のときを“1”とする。ここに、ワークテーブル43は、無線通信媒体(RFIDタグ30)から読取ったデータを記憶する記憶部として機能する。
【0020】
しかして制御部18は、インターフェイス部11を介してホスト機器から各種設定データの変更コマンドを受信すると、そのコマンドに応じて読取サイクル回数X、読取正常判定回数Y及びスロット設定数Zを、デフォルト値から任意の値に変更可能となっている。ただし、読取サイクル回数Xと読取正常判定回数Yは、いずれも「2」以上の整数であり、X≧Yの関係を有する値が設定されるように制限を設けている。
【0021】
また制御部18は、同じくホスト機器からRFIDタグ30のID読取開始の指令を受信すると、図5の流れ図に示す処理を開始する。先ず、ST(ステップ)1としてカウンタテーブル42のサイクル回数i及び読取情報数jを“0”に初期化する。
【0022】
次に、制御部18は、ST2として上記サイクル回数iを“1”だけカウントアップする。そして、ST3として上記サイクル回数iが設定データテーブル41に設定された読取サイクル回数Xを超えたか否かを判断する。読取サイクル回数Xは「2」以上の整数なので、当初は、ST4の処理に進む。
【0023】
ST4では、制御部18は、カウンタテーブル42のスロット数kを“1”に初期化する。次いで、ST5として設定データテーブル41に設定されたスロット設定数Zを割当スロット数として指定するサイクル開始信号startを変調部12に送信する。
【0024】
そうすると、このサイクル開始信号startは変調部12で変調され、送信アンプ13で増幅された後、アンテナ20から電波として放射される。このとき、電波の到達領域内に存在し、上記サイクル開始信号startを受信したRFIDタグ30は、個別に1つのタイムスロットを選択する。そして、その選択したタイムスロットに当該RFIDタグ30固有の識別情報(ID)を含ませる。はじめに、スロット番号「1」のタイムスロットを選択したRFIDタグ30が自身の識別情報をそのタイムスロットに含ませる。
【0025】
ここで、1つのタイムスロットに識別情報を含ませたRFIDタグ30が唯一であった場合、制御部18は、このタイムスロットから当該RFIDタグ30の識別情報を取得できる。このようなタイムスロットを読取成功スロットと称する。
【0026】
これに対し、1つのタイムスロットに対して識別情報を含ませたRFIDタグ30が複数であった場合には、伝送信号が乱されるため、制御部18は、これらRFIDタグ30の識別情報を取得することができない。このようなタイムスロットを以後、衝突スロットと称する。また、1つのタイムスロットに対して識別情報を含ませたRFIDタグ30が1つも無かった場合も識別情報を取得できない。このようなタイムスロットを以後、空スロットと称する。
【0027】
なお、衝突スロットと空スロットとの識別は、読取成功スロット以外のタイムスロットにおいて、アンテナ20で受信した電波の強度が所定のしきい値を超えたか否かによって判断可能である。すなわち、電波強度がしきい値より高いタイムスロットは衝突スロットとし、低いスロットは空スロットとすればよい。
【0028】
制御部18は、サイクル開始信号startを送信後、ST6としてアンテナ20で受信した電波に相当する信号が復調されるのを待機する。そして、信号が復調されたならば、ST7としてその信号が読取成功スロットの信号であるか否かを判断する。
【0029】
ここで、受信信号が読取成功スロットの信号であった場合には(ST7のYES)、制御部18は、ST8としてこの読取成功スロットからRFIDタグ30のデータを取得する(データ取得手段)。そして、この取得したデータについてCPC等の符号誤りチェックを行って正常なデータがあるか否かを判断する。
【0030】
ここで、読取成功スロットから取得したデータが正常なデータであると判定された場合には(ST8のYES)、制御部18は、ST9として前記読取情報数jを“1”だけカウントアップする。そして、ST10として前記ワークテーブル43の各読取バッファ(READBUF[1]〜READBUF[X])のうちサイクル回数iに対応する読取バッファ(READBUF[i])の読取情報数jに相当する番号エリアに、この正常と判定されたRFIDタグ30のデータを格納する。また、このデータに対応する確定フラグFを未確定を示す値“0”とする。
【0031】
一方、受信信号が読取成功スロット以外の信号であった場合(ST7のNO)、若しくはビット化け等によって異常なデータであると判定された場合には(ST8のNO)、制御部18は、前記ST9〜ST10の処理を実行しない。
【0032】
その後、制御部18は、ST11として前記スロット数kを“1”だけカウントアップする。そして、ST12としてこのスロット数kが設定データテーブル41に設定されたスロット設定数Zを越えたか否かを判断する。
【0033】
ここで、スロット数kがスロット設定数Z以下の場合には(ST12のNO)、制御部18は、ST13としてスロット番号kのスロット読取信号nSを変調部12に送信する。
【0034】
そうすると、このスロット読取信号nSは変調部12で変調され、送信アンプ13で増幅された後、アンテナ20から電波として放射される。このとき、電波の到達領域内にスロット番号kのスロットを選択したRFIDタグ30が存在したならば、このRFIDタグ30は自身の識別情報をそのタイムスロットに含ませる。
【0035】
そこで制御部18は、スロット読取信号nSを送信後、ST6の処理に戻り、アンテナ20で受信した電波に相当する信号が復調されるのを待機する。そして、信号が復調されたならば、その信号が読取成功スロットの信号であるか否かを判断する。
【0036】
以後、制御部18は、ST12にてスロット数kがスロット設定数Zを超えるまで、ST6〜ST13の各処理を繰返し実行する。そして、スロット数kがスロット設定数Zを超えたならば、制御部18は、ST2の処理に戻り、サイクル回数iをさらに“1”だけカウントアップする(計数手段)。そして、サイクル回数iが読取サイクル回数Xを超えたか否かを判断する。サイクル回数iが読取サイクル回数Xを超えていない場合には、ST4以降の処理を再度実行する。
【0037】
こうして、ST3にてサイクル回数iが読取サイクル回数Xを超えるまで、ST2〜ST13の各処理を繰返し実行する。そして、サイクル回数iが読取サイクル回数Xを超えたならば、制御部18は、ST14として図6の流れ図で具体的に示す読取判定処理を実行する。
【0038】
すなわち制御部18は、ST21としてカウンタテーブル42のサイクル回数iを“0”に初期化する。次に、ST22としてこのサイクル回数iを“1”だけカウントアップする。そして、ST23としてこのサイクル回数iが読取サイクル回数Xを超えたか否かを判断する。
【0039】
当初、サイクル回数iは読取サイクル回数Xを超えないので、制御部18は、ST24としてカウンタテーブル42の読取情報数jを“0”に初期化する。次いで、ST25としてこの読取情報数jを“1”だけカウントアップする。そして、ST26として前記ワークテーブル43の各読取バッファ(READBUF[1]〜READBUF[X])のうちサイクル回数iに対応する読取バッファ(READBUF[i])の読取情報数jに相当する番号エリアからタグデータと確定フラグFの情報を取込む。
【0040】
ここで、当該番号エリアにタグデータが格納されており確定フラグFの情報とともに取込むことができた場合には(ST27のYES)、制御部18は、ST28としてその確定フラグFの状態を調べる。そして、確定フラグFが“0”、すなわち未確定のタグデータであることを示す場合には、制御部18は、ST29としてカウンタテーブル42の重複読取数mを“1”に初期化する。
【0041】
次に、制御部18は、ST30として各読取バッファ(READBUF[1]〜READBUF[X])のうちサイクル回数(i+1)に対応する読取バッファ(READBUF[i+1])から読取サイクル回数Xに対応する読取バッファ(READBUF[X])までを検索する。そして、ST31として読取バッファ(READBUF[i])の番号jエリアから取込んだタグデータと同一のタグデータが格納されているか否かを判断する。ここで、同一のタグデータを検出したならば(ST31のYES)、制御部18は、ST32として読取バッファ(READBUF[i])の番号jエリアから取込んだタグデータに対応する確定フラグFと、読取バッファ(READBUF[i+1])から読取バッファ(READBUF[X])までの同一タグデータに対応する確定フラグFとをいずれも“1”にセットする。また、ST32として重複読取数mを同一タグデータとして検出されたデータ数に加算更新する。
【0042】
その後、読取バッファ(READBUF[i+1])から読取バッファ(READBUF[X])までの検索を終了したならば(ST34のYES)、制御部18は、ST35として重複読取数mが設定データテーブル41に設定されている読取正常判定回数Y以上か否かを判断する(検索手段)。そして、重複読取数mが読取正常判定回数Y以上であった場合には、読取バッファ(READBUF[i])の番号jエリアから取込んだタグデータは、読取サイクル回数が設定値Xに達するまでの間に読取正常判定回数Y以上読取られたデータなので、制御部18は、ST36としてこのタグデータを読取データとして確定させる(確定手段)。そして、このタグデータをインターフェイス部11を介してホスト機器に送信する。
【0043】
しかる後、制御部18は、ST25の処理に戻り、読取情報数jを“1”だけカウントアップする。そして、前記ST26以降の処理を再度実行する。なお、ST28にて読取バッファ(READBUF[i])の番号jエリアからタグデータとともに取込んだ確定フラグFが既に“1”にセットされていた場合には、当該タグデータは既に読取データとして確定されたデータなので、この時点でST25の処理に戻る。
【0044】
また、ST35にて重複読取数mが読取正常判定回数Y未満であった場合には、読取バッファ(READBUF[i])の番号jエリアから取込んだタグデータは、読取サイクル回数が設定値Xに達するまでの間に読取正常判定回数Y以上読取られなかったデータ、例えば複数のビット化けにより偶然的にCRC値が合ってしまったデータなので、ST36の処理を実行することなく、すなわち正常データとして確定されることなくST25の処理に戻る。
【0045】
その後、ST27にて読取バッファ(READBUF[i])の番号jエリアからタグデータを読取れなくなった場合には、制御部18は、ST22の処理に戻る。そして、サイクル回数iをさらに“1”だけカウントアップしたならば、前記ST23以降の処理を再度実行する。
【0046】
こうして、サイクル回数iが読取サイクル回数Xを超えるまで、制御部18は、ST22〜ST36の各処理を繰返し実行する。そして、サイクル回数iが読取サイクル回数Xを超えたならば、制御部18は、今回の処理を終了する。
【0047】
図7はリーダ・ライタ本体10と、そのアンテナ20の交信領域内に存在する6個のRFIDタグ(RFID1〜RFID6)との間で送受される信号の一例を1サイクル分のみ示したタイミング図であり、図中左から右に時間が経過している。
【0048】
リーダ・ライタ本体10は、先ず、サイクル開始信号startにより各RFID1〜RFID6に対して割当スロット数を指定する。図2の場合は、割当スロット数“8”を指定する。すると、各各RFID1〜RFID6は、スロット番号s1〜s8の8つのタイムスロットのうちのいずれか1つのタイムスロットを選択して、自身の識別情報(ID)をタグリーダ・ライタに伝送しようとする。
【0049】
図7の場合、先ず、RFID1がスロット番号s1のタイムスロットを選択して識別情報ID1を伝送している。次いで、2つのRFID2及びRFID4がスロット番号s2のタイムスロットを選択して各々の識別情報ID2及びID4を伝送している。次いで、RFID3がスロット番号s4のタイムスロットを選択して識別情報ID3を伝送している。次いで、RFID5がスロット番号s5のタイムスロットを選択して識別情報ID5を伝送し、さらにRFID6がスロット番号s6のタイムスロットを選択して識別情報ID6を伝送している。なお、残りのスロット番号s3,s7及びs8の3つのタイムスロットを選択して識別情報を伝送するRFIDは存在していない。
【0050】
この場合、スロット番号s1,s4,s5及びs6の各タイムスロットが読取成功スロットとなり、割当スロット番号s2のタイムスロットが衝突スロットとなり、割当スロット番号s3,s7,s8の各タイムスロットが空スロットとなる。
【0051】
したがって、1サイクルを終了した時点(k>Z)では、読取バッファREADBUF[1]には、RFID1の識別情報ID1と、RFID3の識別情報ID3と、RFID5の識別情報ID5と、RFID6の識別情報ID6とが記憶されている。
【0052】
この信号送受信サイクルは、読取サイクル回数Xだけ繰り返される。そして、1サイクルが繰り返される都度、その時点のサイクル回数iに対応した読取バッファREADBUF[i]には、読取成功スロットから読取ったRFIDの識別情報が記憶される。
【0053】
今、読取サイクル回数Xと読取正常判定回数Yがいずれも“2”であり、RFID1の識別情報ID1と、RFID3の識別情報ID3と、RFID5の識別情報ID5が“2”以上の読取バッファREADBUF[1]とREADBUF[2]にそれぞれ記憶されていたとする。この場合、RFID1,RFID3及びRFID5の3つのRFIDタグ30の各識別情報ID1,ID3及びID5は読取データとして確定され、ホスト機器に送信される。これに対し、RFID6の識別情報ID6は、読取バッファREADBUF[1]の値とREADBUF[2]の値とで異なっていたとする。例えば複数のビット化けにより偶然的にCRC値が合ってしまった場合、このような事象が発生する。このような場合、本実施の形態では、RFID6の識別情報ID6は読取データとして確定されない。
【0054】
このように、本実施の形態によれば、RFIDタグ30から同一の識別情報が複数の読取判定回数Y以上読取られた場合にその識別情報を読取データとして確定し、ホスト機器に送信するようにしたので、電波状況が悪いために複数のビットが化けてしまい、偶然的にCRC値のチェック結果が正常と判定されてしまっても、この正常と誤判定されたデータが読取データとして確定され、ホスト機器に送信されることはない。したがって、タグリーダ・ライタの信頼性を高めることができる。
【0055】
なお、前記実施の形態(第1の実施の形態)では、信号送受信サイクルを読取サイクル回数Xだけ繰り返した後に読取判定処理を実行したが、読取判定処理を実行するタイミングはこれに限定されるものではない。
【0056】
次に、読取判定処理を実行するタイミングを異ならせた他の実施の形態(第2の実施の形態)について、図8及び図9の流れ図を用いて説明する。この第2の実施の形態は、読取成功スロットからRFIDタグ30のデータを取得する毎に読取判定処理を実行するもので、図8は第1の実施の形態において図5を用いて説明したID読取開始の指令受信後の処理に対応し、図9は同じく第1の実施の形態において図6を用いて説明した読取判定処理に対応している。そこで、図5及び図6と共通する処理ステップには同一符号を付して、詳しい説明は省略する。
【0057】
図8に示すように、第2の実施の形態においては、リーダ・ライタ本体10の制御部18は、ホスト機器からRFIDタグ30のID読取開始の指令を受信すると、第1の実施の形態のST1〜ST10の各処理と同一の処理を実行する。そして、ST10にてサイクル回数iに対応する読取バッファ(READBUF[i])の読取情報数jに相当する番号エリアに、データ取得手段により読取成功スロットから取得したタグデータを格納するとともに、このタグデータに対応する確定フラグFを未確定を示す値“0”としたならば、制御部18は、ST41としてサイクル回数iが“1”であるか“1”より大きいかを判断する。そして、サイクル回数iが“1”の場合には読取判定処理を実行しないが、サイクル回数iが“1”より大きい場合には、図9に具体的に示す読取判定処理を実行する。
【0058】
先ず、制御部18は、ST51としてカウンタテーブル42の重複読取数mを“1”に初期化する。次に、制御部18は、ST52として各読取バッファ(READBUF[1]〜READBUF[X])のうち先頭の読取バッファ(READBUF[1])からサイクル回数(i−1)に対応する読取バッファ(READBUF[i−1])までを検索する。そして、ST53として読取バッファ(READBUF[i])の番号jエリアに書込んだタグデータと重複するタグデータが格納されているか否かを判断する。
【0059】
ここで、重複するタグデータを検出したならば(ST53のYES)、制御部18は、その都度、ST54としてその重複タグデータに対応する確定フラグの状態をチェックする。そして、確定フラグFが未確定を示す“0”であった場合には(ST54のNO)、制御部18は、ST55として重複読取数mを“1”ずつカウントアップする。これに対し、確定フラグFが確定済を示す“1”であった場合には(ST54のYES)、その時点でこの読取判定処理を終了する。
【0060】
一方、ST56として読取バッファREADBUF[1]〜READBUF[i−1]の検索を終了した場合には、制御部18は、ST57として重複読取数mが読取正常判定回数Y以上か否かを判断する(検索手段)。そして、重複読取数mが読取正常判定回数Y以上であった場合には、制御部18は、ST58として読取バッファ(READBUF[i])の番号jエリアに書込んだタグデータを読取データとして確定させる(確定手段)。そして、このタグデータをインターフェイス部11を介してホスト機器に送信する。
【0061】
しかる後、制御部18は、ST59としてこの読取バッファ(READBUF[i])の番号jエリアに書込んだタグデータに対応する確定フラグFと、当該タグデータと重複するタグデータに対応する確定フラグFとを、それぞれ“1”に更新する。
【0062】
以上で、今回の読取判定処理を終了する。制御部18は、上記読取判定処理を終了すると、第1の実施の形態のST11と同様の処理に進む。すなわち、スロット数kを“1”だけカウントアップし、このスロット数kがスロット設定数Z以下の場合にはスロット番号kのスロット読取信号nSを変調部12に送信してST6の処理に戻り、スロット数kがスロット設定数Zを超えたならば、ST2の処理に戻る。
【0063】
このように、読取成功スロットからRFIDタグ30のデータを取得する毎に読取判定処理を実行するようにした第2の実施の形態においても、第1の実施の形態と同様にRFIDタグ30から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐことができるので、タグリーダ・ライタの信頼性向上を図ることができる。
【0064】
次に、本発明に係る第3の実施の形態について図10,11を用いて説明する。
この第3の実施の形態においては、図10に示す第1のワークバッファWORKBUF[1]と第2のワークバッファWORKBUF[2]とを、記憶部としてメモリ部17に形成している。第1及び第2のワークバッファWORKBUF[1],WORKBUF[2]は、いずれも1つのRFIDタグ30から取得したタグデータだけを上書きして記憶する。
【0065】
しかして制御部18は、ホスト機器からRFIDタグ30のID読取開始の指令を受信すると、図11の流れ図に示す処理を開始する。なお、この処理において、ST1〜ST9の処理は前記第1及び第2の実施の形態と同様なので、同一符号を付して詳しい説明を省略する。
【0066】
すなわち制御部18は、ST6にてアンテナ20で受信した電波に相当する信号が復調されるのを待機し、信号が復調されると、ST7にてその信号が読取成功スロットの信号であるか否かを判断する。そして、受信信号が読取成功スロットの信号であった場合には、ST8にてこの読取成功スロットからRFIDタグ30のデータを取得し(データ取得手段)、この取得したデータについてCPC等の符号誤りチェックを行って正常なデータがあるか否かを判断する。
【0067】
ここで、正常なデータであると判定された場合には、制御部18は、ST9にて読取情報数jを“1”だけカウントアップした後、ST61として読取情報数jに対応したワークバッファWORKBUF[j]に正常なデータであると判定されたタグデータを書込む。次に、ST62として読取情報数jが“2”に達したか否かを判断する。
【0068】
ここで、読取情報数jが“2”に達していない場合には、制御部18は、ST13の処理に進み、スロット番号kのスロット読取信号nSを変調部12に送信する(スロット要求手段)。このとき、スロット番号kはカウントアップされていない。しかる後、ST2の処理に戻る。
【0069】
これに対し、読取情報数jが“2”に達していた場合には(ST62のYES)、制御部18は、ST63として第1のワークバッファWORKBUF[1]に記憶されているタグデータと第2のワークバッファWORKBUF[2]に記憶されているタグデータとを照合する。そして、ST64として両タグデータが一致するか否かを判定する(判定手段)。
【0070】
その結果、両タグデータが一致した場合には、制御部18は、ST65としてそのタグデータを読取データとして確定させる(確定手段)。そして、このタグデータをインターフェイス部11を介してホスト機器に送信する。両タグデータが一致しなかった場合には、ST65の処理を実行しない。
【0071】
しかる後、制御部18は、ST66の処理に進む。なお、受信信号が読取成功スロット以外の信号であった場合(ST7のNO)、若しくはビット化け等によって異常なデータであると判定された場合にも(ST8のNO)、制御部18は、ST9以下の処理を実行することなくST66の処理に進む。そして、ST66として読取情報数jを“0”に初期化したならば、第1の実施の形態のST11と同様の処理に進む。すなわち、スロット数kを“1”だけカウントアップし、このスロット数kがスロット設定数Z以下の場合にはスロット番号kのスロット読取信号nSを変調部12に送信してST6の処理に戻り、スロット数kがスロット設定数Zを超えたならば、ST2の処理に戻る。
【0072】
このように、第3の実施の形態においては、RFIDタグ30から伝送されるスロットから当該RFIDタグ30に記憶された識別情報を取得すると、その識別情報を第1のワークバッファWORKBUF[1]に格納するとともに、そのデータを取得したスロットと同一のスロットの伝送をRFIDタグ30に要求する。そして、この要求に応じてRFIDタグ30から伝送されるスロットから取得したデータが前記第1のワークバッファWORKBUF[1]に記憶されたデータと一致するか否かを判定する。その結果、両データが一致すると判定されるとそのデータ、つまりはRFIDタグ30に記憶された識別情報を読取データとして確定させ、ホスト機器に送信するようにしている。
【0073】
したがって、前記第1及び第2の実施の形態と同様に、RFIDタグ30から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐことができるので、タグリーダ・ライタの信頼性向上を図ることができる。
【0074】
しかも、この第3の実施の形態では、ワークテーブル43に代えて第1及び第2のワークバッファWORKBUF[1],WORKBUF[2]を形成すればよい上、読取正常判定回数Yの設定エリア、重複読取数mのカウンタエリア等も省略できるので、メモリ容量の節約を図り得る利点もある。
【0075】
なお、この発明は前記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【0076】
例えば、第1及び第2の実施の形態において、ワークテーブル43のエリアを複数の読取バッファREADBUF[1]〜[X]に区分したが、1つの読取バッファに読取れたタグデータを順次格納し、一括して検索するようにしてもよい。
【0077】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
【図面の簡単な説明】
【0078】
【図1】本発明の実施の形態である無線通信システムの概略構成を示すブロック図。
【図2】同実施の形態において、タグリーダ・ライタ本体のメモリ部に形成される設定データテーブルのデータ構造を示す模式図。
【図3】同実施の形態において、タグリーダ・ライタ本体のメモリ部に形成されるカウンタテーブルのデータ構造を示す模式図。
【図4】同実施の形態において、タグリーダ・ライタ本体のメモリ部に形成されるワークテーブルのデータ構造を示す模式図。
【図5】同実施の形態において、タグリーダ・ライタ本体の制御部で実行される読取開始コマンド受信処理の要部手順を示す流れ図。
【図6】図5における読取判定処理を具体的に示す流れ図。
【図7】同実施の形態の無線通信システムで送受信される信号の一例を1サイクル分示したタイミング図。
【図8】本発明の第2の実施の形態において、タグリーダ・ライタ本体の制御部で実行される読取開始コマンド受信処理の要部手順を示す流れ図。
【図9】図9における読取判定処理を具体的に示す流れ図。
【図10】本発明の第3の実施の形態において、タグリーダ・ライタ本体のメモリ部に形成されるワークテーブルのデータ構造を示す模式図。
【図11】同第3の実施の形態において、タグリーダ・ライタ本体の制御部で実行される読取開始コマンド受信処理の要部手順を示す流れ図。
【符号の説明】
【0079】
10…タグリーダ・ライタ本体、11…インターフェイス部、18…制御部、20…アンテナ、30…RFIDタグ。
【技術分野】
【0001】
本発明は、RFID(Radio Frequency Identification)タグ等の無線通信媒体との間で非接触による通信を行い、前記無線通信媒体に保持される情報を読取る無線通信装置に関する。
【背景技術】
【0002】
近年、電磁波あるいは電波を利用して無線通信装置との間で無線通信を行うことにより、メモリ内に保持したデータを送信したり、受信したデータをメモリ内に書き込んだりできる小型の情報記憶媒体が開発され、流通,物流,交通,セキュリティなどの様々な分野で使用されている。この種の情報記憶媒体、いわゆる無線通信媒体は、一般にはRFIDタグ,無線タグ,ICタグ,電子タグなどと称されている。また、無線通信装置は、タグリーダ,タグリーダ・ライタ,質問器,基地局等と称されている。
【0003】
このような無線通信装置と無線通信媒体とを用いた無線通信システムの特徴的な機能の1つに、無線通信装置が複数の無線通信媒体から略同時にデータを受信できる機能がある。この機能により、例えば多数の物品にそれぞれ無線通信媒体を取り付けた場合には各物品の無線通信媒体からその物品特有の情報を略同時に非接触で読取ることができるので、在庫管理や物品認証等の作業の効率化を図れるようになる。
【0004】
この機能を実現するための一方式としてアンチコリジョン(衝突防止)機能と称される無線通信媒体の応答手順制御方式がある。この制御方式には、国際標準規格に採用されている代表的なアルゴリズムとしてバイナリツリー方式とタイムスロット方式とがある。タイムスロット方式は、無線LAN(Local Area Network)等のパケット通信において広く使われているアクセス制御方式で、アロハ(ALOHA)方式とも呼ばれている。因みに、RFIDの標準化団体であるEPC(Electronic Product Code)グローバルにより提案されたRFIDの通信規格の1つであるGen.2(Generation2)規格でも、タイムスロット方式を採用している。
【0005】
一般的なタイムスロット方式のアンチコリジョン機能の動作について説明する。
先ず、無線通信装置は、そのアンテナの交信領域内に存在する複数の無線通信媒体に対し、特定のスロット数(20〜2Q:Qは1以上の固定値)を指定する信号を送信して所定数のタイムスロットを割り当てる。一方、各無線通信媒体は、指定を受けたスロット数の範囲内で乱数を生成する。例えば2ビット(Q=1)のスロット数が指定された場合には、各無線通信媒体は2ビットの乱数[00],[01],[10],[11]のいずれかを生成する。そして、生成された乱数に一致したタイミングのタイムスロットを利用して無線通信装置に識別情報(ID)の応答を返す。
【0006】
この際、1つのタイムスロットに対して1つの無線通信媒体しか応答を返さなかった場合には、その無線通信媒体の識別情報を無線通信装置が読取ることができる。しかし、1つのタイムスロットに対して複数の無線通信媒体が同時に応答を返した場合には衝突が発生するので、それらの無線通信媒体の識別情報を無線通信装置は読取ることができない。
【0007】
無線通信装置は、無線通信媒体の識別情報を読み残している場合は、再度、特定のスロット数を指定する信号を送信して所定数のタイムスロットを割り当てる。これに応じて、無線通信媒体では、再度乱数を生成する。そして、生成された乱数に一致したタイミングのタイムスロットを利用して無線通信装置に応答を返す。このような一連の処理を短時間で繰り返すことにより、無線通信装置は複数の無線通信媒体から略同時に識別情報を読取れるようになる。
【0008】
ところで、このような無線通信システムにおいては、送信データにビット欠落エラーやビット化けエラー等の通信エラーが発生する場合がある。そこで、無線通信媒体から送信されるデータを受信する無線通信装置において、CRC(Cyclic Redundancy Check)等の誤り符号検出を行うことによって、この種の通信エラーに対処することは既に知られていた(例えば、特許文献1参照)。
【特許文献1】特開2004-280754号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、CRC等の誤り符号検出は完全なものではない。例えば、電波状況が悪いために複数のビットが化けてしまうと、CRC値のチェック結果が正常と判定される場合がある。このような場合には、誤ったデータが正常データとして確定されるため、その後の処理に大きな影響を及ぼすおそれがあった。
【0010】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、無線通信媒体から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐことができ、信頼性の向上を図り得る無線通信装置を提供しようとするものである。
【課題を解決するための手段】
【0011】
本発明は、RFIDタグ,無線タグ,ICタグ,電子タグ等と称される無線通信媒体との間で無線通信を行うことにより当該無線通信媒体に記憶されたデータを非接触で読取る無線通信装置において、無線通信媒体から読取ったデータを記憶する記憶部と、記憶部に記憶されたデータを検索して複数の読取回数以上読取られたデータを検出する検索手段と、この検索手段により検出された読取回数以上読取られたデータを読取データとして確定させる確定手段とを備えたものである。
【発明の効果】
【0012】
かかる手段を講じた本発明によれば、無線通信媒体から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐことができ、信頼性の向上を図り得る無線通信装置を提供できる。
【発明を実施するための最良の形態】
【0013】
以下、本発明を実施とするための最良の形態について、図面を用いて説明する。
なお、この実施の形態は、各物品にそれぞれ付与された無線通信媒体の識別情報(ID)を無線通信装置によって非接触で読取ることにより、その識別情報から当該無線通信媒体が付与された物品を認識する物品認識システムに本発明を適用した場合であり、説明の便宜上、各物品にそれぞれ付される無線通信媒体をRFIDタグと称し、無線通信装置をタグリーダ・ライタと称する。
【0014】
図1は本実施の形態におけるタグリーダ・ライタの要部構成を示すブロック図である。タグリーダ・ライタは、リーダ・ライタ本体10と、該リーダ・ライタ本体10に取り付けられたアンテナ20とから構成されている。アンテナ20は、送信時に高周波信号を電波として放射し、受信時は電波を高周波信号に変換する働きをする。アンテナ20から放射された電波は、各商品にそれぞれ付されて使用されるRFIDタグ30に到達し、各RFIDタグ30で受信される。アンテナ20の交信領域は、伝送方式,アンテナ形状等によって定められる。
【0015】
各RFIDタグ30は、それぞれ固有のIDを識別情報として記憶している。各RFIDタグ30は、タイムスロット方式のアンチコリジョン機能に対応したものである。
【0016】
リーダ・ライタ本体10は、タイムスロット方式のアンチコリジョン機能を実装したもので、インターフェイス部11、変調部12,送信アンプ13,サーキュレータ14,受信アンプ15,復調部16,メモリ部17及び各部を制御する制御部18等で構成されている。
【0017】
インターフェイス部11は、外部接続されるホスト機器と制御部18との間で行われるデータ通信を中継する。変調部12は、制御部18から与えられる送信データを高周波信号に変調して送信アンプ13に出力する。送信アンプ13は、変調部12にて変調された高周波信号を増幅してサーキュレータ14に出力する。サーキュレータ14は、送信アンプ13にて増幅された変調波信号をアンテナ20側に出力する。また、アンテナ20で受信した高周波信号を受信アンプ15側に出力する。受信アンプ15は、サーキュレータ14側から入力された高周波信号を増幅して復調部16に出力する。復調部16は、受信アンプ15にて増幅された高周波信号を復調して受信データに変換し、制御部18に出力する。制御部18は、復調部16にて復調された受信データに基づき、RFIDタグ30のデータを読み込む。
【0018】
メモリ部17は、各種の設定データや可変的なデータを記憶するための領域である。本実施の形態では、特に図2に示すように、読取サイクル回数X、読取正常判定回数Y及びスロット設定数Zの各種設定データを記憶する設定データテーブル41と、図3に示すように、サイクル回数i、読取情報数j、スロット数k及び重複読取数mの各種カウントデータを計数するカウンタテーブル42と、図4に示すように、読取サイクル回数Xに相当する個数の読取バッファ(READBUF[1]〜READBUF[X])を備えたワークテーブル43とが形成されている。
【0019】
各読取バッファ(READBUF[1]〜READBUF[X])は、それぞれ“1”からの連続番号順にRFIDタグ30から読取ったタグデータを確定フラグFと関連付けて記憶するエリアである。なお、確定フラグFは、対応するタグデータが確定済か否かを識別するための情報であって、本実施の形態では、確定済でないときを“0”とし、確定済のときを“1”とする。ここに、ワークテーブル43は、無線通信媒体(RFIDタグ30)から読取ったデータを記憶する記憶部として機能する。
【0020】
しかして制御部18は、インターフェイス部11を介してホスト機器から各種設定データの変更コマンドを受信すると、そのコマンドに応じて読取サイクル回数X、読取正常判定回数Y及びスロット設定数Zを、デフォルト値から任意の値に変更可能となっている。ただし、読取サイクル回数Xと読取正常判定回数Yは、いずれも「2」以上の整数であり、X≧Yの関係を有する値が設定されるように制限を設けている。
【0021】
また制御部18は、同じくホスト機器からRFIDタグ30のID読取開始の指令を受信すると、図5の流れ図に示す処理を開始する。先ず、ST(ステップ)1としてカウンタテーブル42のサイクル回数i及び読取情報数jを“0”に初期化する。
【0022】
次に、制御部18は、ST2として上記サイクル回数iを“1”だけカウントアップする。そして、ST3として上記サイクル回数iが設定データテーブル41に設定された読取サイクル回数Xを超えたか否かを判断する。読取サイクル回数Xは「2」以上の整数なので、当初は、ST4の処理に進む。
【0023】
ST4では、制御部18は、カウンタテーブル42のスロット数kを“1”に初期化する。次いで、ST5として設定データテーブル41に設定されたスロット設定数Zを割当スロット数として指定するサイクル開始信号startを変調部12に送信する。
【0024】
そうすると、このサイクル開始信号startは変調部12で変調され、送信アンプ13で増幅された後、アンテナ20から電波として放射される。このとき、電波の到達領域内に存在し、上記サイクル開始信号startを受信したRFIDタグ30は、個別に1つのタイムスロットを選択する。そして、その選択したタイムスロットに当該RFIDタグ30固有の識別情報(ID)を含ませる。はじめに、スロット番号「1」のタイムスロットを選択したRFIDタグ30が自身の識別情報をそのタイムスロットに含ませる。
【0025】
ここで、1つのタイムスロットに識別情報を含ませたRFIDタグ30が唯一であった場合、制御部18は、このタイムスロットから当該RFIDタグ30の識別情報を取得できる。このようなタイムスロットを読取成功スロットと称する。
【0026】
これに対し、1つのタイムスロットに対して識別情報を含ませたRFIDタグ30が複数であった場合には、伝送信号が乱されるため、制御部18は、これらRFIDタグ30の識別情報を取得することができない。このようなタイムスロットを以後、衝突スロットと称する。また、1つのタイムスロットに対して識別情報を含ませたRFIDタグ30が1つも無かった場合も識別情報を取得できない。このようなタイムスロットを以後、空スロットと称する。
【0027】
なお、衝突スロットと空スロットとの識別は、読取成功スロット以外のタイムスロットにおいて、アンテナ20で受信した電波の強度が所定のしきい値を超えたか否かによって判断可能である。すなわち、電波強度がしきい値より高いタイムスロットは衝突スロットとし、低いスロットは空スロットとすればよい。
【0028】
制御部18は、サイクル開始信号startを送信後、ST6としてアンテナ20で受信した電波に相当する信号が復調されるのを待機する。そして、信号が復調されたならば、ST7としてその信号が読取成功スロットの信号であるか否かを判断する。
【0029】
ここで、受信信号が読取成功スロットの信号であった場合には(ST7のYES)、制御部18は、ST8としてこの読取成功スロットからRFIDタグ30のデータを取得する(データ取得手段)。そして、この取得したデータについてCPC等の符号誤りチェックを行って正常なデータがあるか否かを判断する。
【0030】
ここで、読取成功スロットから取得したデータが正常なデータであると判定された場合には(ST8のYES)、制御部18は、ST9として前記読取情報数jを“1”だけカウントアップする。そして、ST10として前記ワークテーブル43の各読取バッファ(READBUF[1]〜READBUF[X])のうちサイクル回数iに対応する読取バッファ(READBUF[i])の読取情報数jに相当する番号エリアに、この正常と判定されたRFIDタグ30のデータを格納する。また、このデータに対応する確定フラグFを未確定を示す値“0”とする。
【0031】
一方、受信信号が読取成功スロット以外の信号であった場合(ST7のNO)、若しくはビット化け等によって異常なデータであると判定された場合には(ST8のNO)、制御部18は、前記ST9〜ST10の処理を実行しない。
【0032】
その後、制御部18は、ST11として前記スロット数kを“1”だけカウントアップする。そして、ST12としてこのスロット数kが設定データテーブル41に設定されたスロット設定数Zを越えたか否かを判断する。
【0033】
ここで、スロット数kがスロット設定数Z以下の場合には(ST12のNO)、制御部18は、ST13としてスロット番号kのスロット読取信号nSを変調部12に送信する。
【0034】
そうすると、このスロット読取信号nSは変調部12で変調され、送信アンプ13で増幅された後、アンテナ20から電波として放射される。このとき、電波の到達領域内にスロット番号kのスロットを選択したRFIDタグ30が存在したならば、このRFIDタグ30は自身の識別情報をそのタイムスロットに含ませる。
【0035】
そこで制御部18は、スロット読取信号nSを送信後、ST6の処理に戻り、アンテナ20で受信した電波に相当する信号が復調されるのを待機する。そして、信号が復調されたならば、その信号が読取成功スロットの信号であるか否かを判断する。
【0036】
以後、制御部18は、ST12にてスロット数kがスロット設定数Zを超えるまで、ST6〜ST13の各処理を繰返し実行する。そして、スロット数kがスロット設定数Zを超えたならば、制御部18は、ST2の処理に戻り、サイクル回数iをさらに“1”だけカウントアップする(計数手段)。そして、サイクル回数iが読取サイクル回数Xを超えたか否かを判断する。サイクル回数iが読取サイクル回数Xを超えていない場合には、ST4以降の処理を再度実行する。
【0037】
こうして、ST3にてサイクル回数iが読取サイクル回数Xを超えるまで、ST2〜ST13の各処理を繰返し実行する。そして、サイクル回数iが読取サイクル回数Xを超えたならば、制御部18は、ST14として図6の流れ図で具体的に示す読取判定処理を実行する。
【0038】
すなわち制御部18は、ST21としてカウンタテーブル42のサイクル回数iを“0”に初期化する。次に、ST22としてこのサイクル回数iを“1”だけカウントアップする。そして、ST23としてこのサイクル回数iが読取サイクル回数Xを超えたか否かを判断する。
【0039】
当初、サイクル回数iは読取サイクル回数Xを超えないので、制御部18は、ST24としてカウンタテーブル42の読取情報数jを“0”に初期化する。次いで、ST25としてこの読取情報数jを“1”だけカウントアップする。そして、ST26として前記ワークテーブル43の各読取バッファ(READBUF[1]〜READBUF[X])のうちサイクル回数iに対応する読取バッファ(READBUF[i])の読取情報数jに相当する番号エリアからタグデータと確定フラグFの情報を取込む。
【0040】
ここで、当該番号エリアにタグデータが格納されており確定フラグFの情報とともに取込むことができた場合には(ST27のYES)、制御部18は、ST28としてその確定フラグFの状態を調べる。そして、確定フラグFが“0”、すなわち未確定のタグデータであることを示す場合には、制御部18は、ST29としてカウンタテーブル42の重複読取数mを“1”に初期化する。
【0041】
次に、制御部18は、ST30として各読取バッファ(READBUF[1]〜READBUF[X])のうちサイクル回数(i+1)に対応する読取バッファ(READBUF[i+1])から読取サイクル回数Xに対応する読取バッファ(READBUF[X])までを検索する。そして、ST31として読取バッファ(READBUF[i])の番号jエリアから取込んだタグデータと同一のタグデータが格納されているか否かを判断する。ここで、同一のタグデータを検出したならば(ST31のYES)、制御部18は、ST32として読取バッファ(READBUF[i])の番号jエリアから取込んだタグデータに対応する確定フラグFと、読取バッファ(READBUF[i+1])から読取バッファ(READBUF[X])までの同一タグデータに対応する確定フラグFとをいずれも“1”にセットする。また、ST32として重複読取数mを同一タグデータとして検出されたデータ数に加算更新する。
【0042】
その後、読取バッファ(READBUF[i+1])から読取バッファ(READBUF[X])までの検索を終了したならば(ST34のYES)、制御部18は、ST35として重複読取数mが設定データテーブル41に設定されている読取正常判定回数Y以上か否かを判断する(検索手段)。そして、重複読取数mが読取正常判定回数Y以上であった場合には、読取バッファ(READBUF[i])の番号jエリアから取込んだタグデータは、読取サイクル回数が設定値Xに達するまでの間に読取正常判定回数Y以上読取られたデータなので、制御部18は、ST36としてこのタグデータを読取データとして確定させる(確定手段)。そして、このタグデータをインターフェイス部11を介してホスト機器に送信する。
【0043】
しかる後、制御部18は、ST25の処理に戻り、読取情報数jを“1”だけカウントアップする。そして、前記ST26以降の処理を再度実行する。なお、ST28にて読取バッファ(READBUF[i])の番号jエリアからタグデータとともに取込んだ確定フラグFが既に“1”にセットされていた場合には、当該タグデータは既に読取データとして確定されたデータなので、この時点でST25の処理に戻る。
【0044】
また、ST35にて重複読取数mが読取正常判定回数Y未満であった場合には、読取バッファ(READBUF[i])の番号jエリアから取込んだタグデータは、読取サイクル回数が設定値Xに達するまでの間に読取正常判定回数Y以上読取られなかったデータ、例えば複数のビット化けにより偶然的にCRC値が合ってしまったデータなので、ST36の処理を実行することなく、すなわち正常データとして確定されることなくST25の処理に戻る。
【0045】
その後、ST27にて読取バッファ(READBUF[i])の番号jエリアからタグデータを読取れなくなった場合には、制御部18は、ST22の処理に戻る。そして、サイクル回数iをさらに“1”だけカウントアップしたならば、前記ST23以降の処理を再度実行する。
【0046】
こうして、サイクル回数iが読取サイクル回数Xを超えるまで、制御部18は、ST22〜ST36の各処理を繰返し実行する。そして、サイクル回数iが読取サイクル回数Xを超えたならば、制御部18は、今回の処理を終了する。
【0047】
図7はリーダ・ライタ本体10と、そのアンテナ20の交信領域内に存在する6個のRFIDタグ(RFID1〜RFID6)との間で送受される信号の一例を1サイクル分のみ示したタイミング図であり、図中左から右に時間が経過している。
【0048】
リーダ・ライタ本体10は、先ず、サイクル開始信号startにより各RFID1〜RFID6に対して割当スロット数を指定する。図2の場合は、割当スロット数“8”を指定する。すると、各各RFID1〜RFID6は、スロット番号s1〜s8の8つのタイムスロットのうちのいずれか1つのタイムスロットを選択して、自身の識別情報(ID)をタグリーダ・ライタに伝送しようとする。
【0049】
図7の場合、先ず、RFID1がスロット番号s1のタイムスロットを選択して識別情報ID1を伝送している。次いで、2つのRFID2及びRFID4がスロット番号s2のタイムスロットを選択して各々の識別情報ID2及びID4を伝送している。次いで、RFID3がスロット番号s4のタイムスロットを選択して識別情報ID3を伝送している。次いで、RFID5がスロット番号s5のタイムスロットを選択して識別情報ID5を伝送し、さらにRFID6がスロット番号s6のタイムスロットを選択して識別情報ID6を伝送している。なお、残りのスロット番号s3,s7及びs8の3つのタイムスロットを選択して識別情報を伝送するRFIDは存在していない。
【0050】
この場合、スロット番号s1,s4,s5及びs6の各タイムスロットが読取成功スロットとなり、割当スロット番号s2のタイムスロットが衝突スロットとなり、割当スロット番号s3,s7,s8の各タイムスロットが空スロットとなる。
【0051】
したがって、1サイクルを終了した時点(k>Z)では、読取バッファREADBUF[1]には、RFID1の識別情報ID1と、RFID3の識別情報ID3と、RFID5の識別情報ID5と、RFID6の識別情報ID6とが記憶されている。
【0052】
この信号送受信サイクルは、読取サイクル回数Xだけ繰り返される。そして、1サイクルが繰り返される都度、その時点のサイクル回数iに対応した読取バッファREADBUF[i]には、読取成功スロットから読取ったRFIDの識別情報が記憶される。
【0053】
今、読取サイクル回数Xと読取正常判定回数Yがいずれも“2”であり、RFID1の識別情報ID1と、RFID3の識別情報ID3と、RFID5の識別情報ID5が“2”以上の読取バッファREADBUF[1]とREADBUF[2]にそれぞれ記憶されていたとする。この場合、RFID1,RFID3及びRFID5の3つのRFIDタグ30の各識別情報ID1,ID3及びID5は読取データとして確定され、ホスト機器に送信される。これに対し、RFID6の識別情報ID6は、読取バッファREADBUF[1]の値とREADBUF[2]の値とで異なっていたとする。例えば複数のビット化けにより偶然的にCRC値が合ってしまった場合、このような事象が発生する。このような場合、本実施の形態では、RFID6の識別情報ID6は読取データとして確定されない。
【0054】
このように、本実施の形態によれば、RFIDタグ30から同一の識別情報が複数の読取判定回数Y以上読取られた場合にその識別情報を読取データとして確定し、ホスト機器に送信するようにしたので、電波状況が悪いために複数のビットが化けてしまい、偶然的にCRC値のチェック結果が正常と判定されてしまっても、この正常と誤判定されたデータが読取データとして確定され、ホスト機器に送信されることはない。したがって、タグリーダ・ライタの信頼性を高めることができる。
【0055】
なお、前記実施の形態(第1の実施の形態)では、信号送受信サイクルを読取サイクル回数Xだけ繰り返した後に読取判定処理を実行したが、読取判定処理を実行するタイミングはこれに限定されるものではない。
【0056】
次に、読取判定処理を実行するタイミングを異ならせた他の実施の形態(第2の実施の形態)について、図8及び図9の流れ図を用いて説明する。この第2の実施の形態は、読取成功スロットからRFIDタグ30のデータを取得する毎に読取判定処理を実行するもので、図8は第1の実施の形態において図5を用いて説明したID読取開始の指令受信後の処理に対応し、図9は同じく第1の実施の形態において図6を用いて説明した読取判定処理に対応している。そこで、図5及び図6と共通する処理ステップには同一符号を付して、詳しい説明は省略する。
【0057】
図8に示すように、第2の実施の形態においては、リーダ・ライタ本体10の制御部18は、ホスト機器からRFIDタグ30のID読取開始の指令を受信すると、第1の実施の形態のST1〜ST10の各処理と同一の処理を実行する。そして、ST10にてサイクル回数iに対応する読取バッファ(READBUF[i])の読取情報数jに相当する番号エリアに、データ取得手段により読取成功スロットから取得したタグデータを格納するとともに、このタグデータに対応する確定フラグFを未確定を示す値“0”としたならば、制御部18は、ST41としてサイクル回数iが“1”であるか“1”より大きいかを判断する。そして、サイクル回数iが“1”の場合には読取判定処理を実行しないが、サイクル回数iが“1”より大きい場合には、図9に具体的に示す読取判定処理を実行する。
【0058】
先ず、制御部18は、ST51としてカウンタテーブル42の重複読取数mを“1”に初期化する。次に、制御部18は、ST52として各読取バッファ(READBUF[1]〜READBUF[X])のうち先頭の読取バッファ(READBUF[1])からサイクル回数(i−1)に対応する読取バッファ(READBUF[i−1])までを検索する。そして、ST53として読取バッファ(READBUF[i])の番号jエリアに書込んだタグデータと重複するタグデータが格納されているか否かを判断する。
【0059】
ここで、重複するタグデータを検出したならば(ST53のYES)、制御部18は、その都度、ST54としてその重複タグデータに対応する確定フラグの状態をチェックする。そして、確定フラグFが未確定を示す“0”であった場合には(ST54のNO)、制御部18は、ST55として重複読取数mを“1”ずつカウントアップする。これに対し、確定フラグFが確定済を示す“1”であった場合には(ST54のYES)、その時点でこの読取判定処理を終了する。
【0060】
一方、ST56として読取バッファREADBUF[1]〜READBUF[i−1]の検索を終了した場合には、制御部18は、ST57として重複読取数mが読取正常判定回数Y以上か否かを判断する(検索手段)。そして、重複読取数mが読取正常判定回数Y以上であった場合には、制御部18は、ST58として読取バッファ(READBUF[i])の番号jエリアに書込んだタグデータを読取データとして確定させる(確定手段)。そして、このタグデータをインターフェイス部11を介してホスト機器に送信する。
【0061】
しかる後、制御部18は、ST59としてこの読取バッファ(READBUF[i])の番号jエリアに書込んだタグデータに対応する確定フラグFと、当該タグデータと重複するタグデータに対応する確定フラグFとを、それぞれ“1”に更新する。
【0062】
以上で、今回の読取判定処理を終了する。制御部18は、上記読取判定処理を終了すると、第1の実施の形態のST11と同様の処理に進む。すなわち、スロット数kを“1”だけカウントアップし、このスロット数kがスロット設定数Z以下の場合にはスロット番号kのスロット読取信号nSを変調部12に送信してST6の処理に戻り、スロット数kがスロット設定数Zを超えたならば、ST2の処理に戻る。
【0063】
このように、読取成功スロットからRFIDタグ30のデータを取得する毎に読取判定処理を実行するようにした第2の実施の形態においても、第1の実施の形態と同様にRFIDタグ30から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐことができるので、タグリーダ・ライタの信頼性向上を図ることができる。
【0064】
次に、本発明に係る第3の実施の形態について図10,11を用いて説明する。
この第3の実施の形態においては、図10に示す第1のワークバッファWORKBUF[1]と第2のワークバッファWORKBUF[2]とを、記憶部としてメモリ部17に形成している。第1及び第2のワークバッファWORKBUF[1],WORKBUF[2]は、いずれも1つのRFIDタグ30から取得したタグデータだけを上書きして記憶する。
【0065】
しかして制御部18は、ホスト機器からRFIDタグ30のID読取開始の指令を受信すると、図11の流れ図に示す処理を開始する。なお、この処理において、ST1〜ST9の処理は前記第1及び第2の実施の形態と同様なので、同一符号を付して詳しい説明を省略する。
【0066】
すなわち制御部18は、ST6にてアンテナ20で受信した電波に相当する信号が復調されるのを待機し、信号が復調されると、ST7にてその信号が読取成功スロットの信号であるか否かを判断する。そして、受信信号が読取成功スロットの信号であった場合には、ST8にてこの読取成功スロットからRFIDタグ30のデータを取得し(データ取得手段)、この取得したデータについてCPC等の符号誤りチェックを行って正常なデータがあるか否かを判断する。
【0067】
ここで、正常なデータであると判定された場合には、制御部18は、ST9にて読取情報数jを“1”だけカウントアップした後、ST61として読取情報数jに対応したワークバッファWORKBUF[j]に正常なデータであると判定されたタグデータを書込む。次に、ST62として読取情報数jが“2”に達したか否かを判断する。
【0068】
ここで、読取情報数jが“2”に達していない場合には、制御部18は、ST13の処理に進み、スロット番号kのスロット読取信号nSを変調部12に送信する(スロット要求手段)。このとき、スロット番号kはカウントアップされていない。しかる後、ST2の処理に戻る。
【0069】
これに対し、読取情報数jが“2”に達していた場合には(ST62のYES)、制御部18は、ST63として第1のワークバッファWORKBUF[1]に記憶されているタグデータと第2のワークバッファWORKBUF[2]に記憶されているタグデータとを照合する。そして、ST64として両タグデータが一致するか否かを判定する(判定手段)。
【0070】
その結果、両タグデータが一致した場合には、制御部18は、ST65としてそのタグデータを読取データとして確定させる(確定手段)。そして、このタグデータをインターフェイス部11を介してホスト機器に送信する。両タグデータが一致しなかった場合には、ST65の処理を実行しない。
【0071】
しかる後、制御部18は、ST66の処理に進む。なお、受信信号が読取成功スロット以外の信号であった場合(ST7のNO)、若しくはビット化け等によって異常なデータであると判定された場合にも(ST8のNO)、制御部18は、ST9以下の処理を実行することなくST66の処理に進む。そして、ST66として読取情報数jを“0”に初期化したならば、第1の実施の形態のST11と同様の処理に進む。すなわち、スロット数kを“1”だけカウントアップし、このスロット数kがスロット設定数Z以下の場合にはスロット番号kのスロット読取信号nSを変調部12に送信してST6の処理に戻り、スロット数kがスロット設定数Zを超えたならば、ST2の処理に戻る。
【0072】
このように、第3の実施の形態においては、RFIDタグ30から伝送されるスロットから当該RFIDタグ30に記憶された識別情報を取得すると、その識別情報を第1のワークバッファWORKBUF[1]に格納するとともに、そのデータを取得したスロットと同一のスロットの伝送をRFIDタグ30に要求する。そして、この要求に応じてRFIDタグ30から伝送されるスロットから取得したデータが前記第1のワークバッファWORKBUF[1]に記憶されたデータと一致するか否かを判定する。その結果、両データが一致すると判定されるとそのデータ、つまりはRFIDタグ30に記憶された識別情報を読取データとして確定させ、ホスト機器に送信するようにしている。
【0073】
したがって、前記第1及び第2の実施の形態と同様に、RFIDタグ30から誤読したデータを正常データとして確定してしまう誤動作を高い確率で防ぐことができるので、タグリーダ・ライタの信頼性向上を図ることができる。
【0074】
しかも、この第3の実施の形態では、ワークテーブル43に代えて第1及び第2のワークバッファWORKBUF[1],WORKBUF[2]を形成すればよい上、読取正常判定回数Yの設定エリア、重複読取数mのカウンタエリア等も省略できるので、メモリ容量の節約を図り得る利点もある。
【0075】
なお、この発明は前記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【0076】
例えば、第1及び第2の実施の形態において、ワークテーブル43のエリアを複数の読取バッファREADBUF[1]〜[X]に区分したが、1つの読取バッファに読取れたタグデータを順次格納し、一括して検索するようにしてもよい。
【0077】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
【図面の簡単な説明】
【0078】
【図1】本発明の実施の形態である無線通信システムの概略構成を示すブロック図。
【図2】同実施の形態において、タグリーダ・ライタ本体のメモリ部に形成される設定データテーブルのデータ構造を示す模式図。
【図3】同実施の形態において、タグリーダ・ライタ本体のメモリ部に形成されるカウンタテーブルのデータ構造を示す模式図。
【図4】同実施の形態において、タグリーダ・ライタ本体のメモリ部に形成されるワークテーブルのデータ構造を示す模式図。
【図5】同実施の形態において、タグリーダ・ライタ本体の制御部で実行される読取開始コマンド受信処理の要部手順を示す流れ図。
【図6】図5における読取判定処理を具体的に示す流れ図。
【図7】同実施の形態の無線通信システムで送受信される信号の一例を1サイクル分示したタイミング図。
【図8】本発明の第2の実施の形態において、タグリーダ・ライタ本体の制御部で実行される読取開始コマンド受信処理の要部手順を示す流れ図。
【図9】図9における読取判定処理を具体的に示す流れ図。
【図10】本発明の第3の実施の形態において、タグリーダ・ライタ本体のメモリ部に形成されるワークテーブルのデータ構造を示す模式図。
【図11】同第3の実施の形態において、タグリーダ・ライタ本体の制御部で実行される読取開始コマンド受信処理の要部手順を示す流れ図。
【符号の説明】
【0079】
10…タグリーダ・ライタ本体、11…インターフェイス部、18…制御部、20…アンテナ、30…RFIDタグ。
【特許請求の範囲】
【請求項1】
無線通信媒体との間で無線通信を行うことにより当該無線通信媒体に記憶されたデータを非接触で読取る無線通信装置において、
前記無線通信媒体から読取ったデータを記憶する記憶部と、
前記記憶部に記憶されたデータを検索して複数の読取回数以上読取られたデータを検出する検索手段と、
この検索手段により検出された前記読取回数以上読取られたデータを読取データとして確定させる確定手段と、
を具備したことを特徴とする無線通信装置。
【請求項2】
1以上の無線通信媒体に所定数のスロットを割り当てる信号を送信すると、この信号を受信した無線通信媒体がそれぞれ1つのスロットを選択しそのスロットに当該無線通信媒体に記憶されたデータを含ませて伝送する無線通信方式を用いて前記1以上の無線通信媒体のデータを読取る無線通信装置において、
前記無線通信媒体から伝送されるスロットから前記無線通信媒体に記憶されたデータを取得するデータ取得手段と、
このデータ取得手段により前記スロットから取得したデータを記憶する記憶部と、
前記信号の送信回数を計数する計数手段と、
この計数手段による計数値が予め設定された複数の実行回数に達すると、前記記憶部内のデータを検索して前記実行回数以下の複数の読取回数以上読取られたデータを検出する検索手段と、
この検索手段により検出された前記読取回数以上読取られたデータを読取データとして確定させる確定手段と、
を具備したことを特徴とする無線通信装置。
【請求項3】
1以上の無線通信媒体に所定数のスロットを割り当てる信号を送信すると、この信号を受信した無線通信媒体がそれぞれ1つのスロットを選択しそのスロットに当該無線通信媒体に記憶されたデータを含ませて伝送する無線通信方式を用いて前記1以上の無線通信媒体のデータを読取る無線通信装置において、
前記無線通信媒体から伝送されるスロットから前記無線通信媒体に記憶されたデータを取得するデータ取得手段と、
このデータ取得手段により前記スロットから取得したデータを記憶する記憶部と、
前記データ取得手段によりデータを取得する毎にそのデータと重複するデータが前記記憶部に記憶されているか判定する検索手段と、
この検索手段により重複するデータが検出されるとそのデータを読取データとして確定させる確定手段と、
を具備したことを特徴とする無線通信装置。
【請求項4】
1以上の無線通信媒体に所定数のスロットを割り当てる信号を送信すると、この信号を受信した無線通信媒体がそれぞれ1つのスロットを選択しそのスロットに当該無線通信媒体に記憶されたデータを含ませて伝送する無線通信方式を用いて前記1以上の無線通信媒体のデータを読取る無線通信装置において、
前記無線通信媒体から伝送されるスロットから前記無線通信媒体に記憶されたデータを取得するデータ取得手段と、
このデータ取得手段により前記スロットから取得したデータを記憶する記憶部と、
前記データ取得手段によりデータが取得されると、そのデータを取得したスロットと同一のスロットの伝送を前記無線通信媒体に要求するスロット要求手段と、
このスロット要求手段による要求に応じて前記無線通信媒体から伝送されるスロットから取得したデータが前記記憶部に記憶されたデータと一致するか否かを判定する判定手段と、
この判定手段により両データが一致すると判定されるとそのデータを読取データとして確定させる確定手段と、
を具備したことを特徴とする無線通信装置。
【請求項1】
無線通信媒体との間で無線通信を行うことにより当該無線通信媒体に記憶されたデータを非接触で読取る無線通信装置において、
前記無線通信媒体から読取ったデータを記憶する記憶部と、
前記記憶部に記憶されたデータを検索して複数の読取回数以上読取られたデータを検出する検索手段と、
この検索手段により検出された前記読取回数以上読取られたデータを読取データとして確定させる確定手段と、
を具備したことを特徴とする無線通信装置。
【請求項2】
1以上の無線通信媒体に所定数のスロットを割り当てる信号を送信すると、この信号を受信した無線通信媒体がそれぞれ1つのスロットを選択しそのスロットに当該無線通信媒体に記憶されたデータを含ませて伝送する無線通信方式を用いて前記1以上の無線通信媒体のデータを読取る無線通信装置において、
前記無線通信媒体から伝送されるスロットから前記無線通信媒体に記憶されたデータを取得するデータ取得手段と、
このデータ取得手段により前記スロットから取得したデータを記憶する記憶部と、
前記信号の送信回数を計数する計数手段と、
この計数手段による計数値が予め設定された複数の実行回数に達すると、前記記憶部内のデータを検索して前記実行回数以下の複数の読取回数以上読取られたデータを検出する検索手段と、
この検索手段により検出された前記読取回数以上読取られたデータを読取データとして確定させる確定手段と、
を具備したことを特徴とする無線通信装置。
【請求項3】
1以上の無線通信媒体に所定数のスロットを割り当てる信号を送信すると、この信号を受信した無線通信媒体がそれぞれ1つのスロットを選択しそのスロットに当該無線通信媒体に記憶されたデータを含ませて伝送する無線通信方式を用いて前記1以上の無線通信媒体のデータを読取る無線通信装置において、
前記無線通信媒体から伝送されるスロットから前記無線通信媒体に記憶されたデータを取得するデータ取得手段と、
このデータ取得手段により前記スロットから取得したデータを記憶する記憶部と、
前記データ取得手段によりデータを取得する毎にそのデータと重複するデータが前記記憶部に記憶されているか判定する検索手段と、
この検索手段により重複するデータが検出されるとそのデータを読取データとして確定させる確定手段と、
を具備したことを特徴とする無線通信装置。
【請求項4】
1以上の無線通信媒体に所定数のスロットを割り当てる信号を送信すると、この信号を受信した無線通信媒体がそれぞれ1つのスロットを選択しそのスロットに当該無線通信媒体に記憶されたデータを含ませて伝送する無線通信方式を用いて前記1以上の無線通信媒体のデータを読取る無線通信装置において、
前記無線通信媒体から伝送されるスロットから前記無線通信媒体に記憶されたデータを取得するデータ取得手段と、
このデータ取得手段により前記スロットから取得したデータを記憶する記憶部と、
前記データ取得手段によりデータが取得されると、そのデータを取得したスロットと同一のスロットの伝送を前記無線通信媒体に要求するスロット要求手段と、
このスロット要求手段による要求に応じて前記無線通信媒体から伝送されるスロットから取得したデータが前記記憶部に記憶されたデータと一致するか否かを判定する判定手段と、
この判定手段により両データが一致すると判定されるとそのデータを読取データとして確定させる確定手段と、
を具備したことを特徴とする無線通信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−129652(P2008−129652A)
【公開日】平成20年6月5日(2008.6.5)
【国際特許分類】
【出願番号】特願2006−310575(P2006−310575)
【出願日】平成18年11月16日(2006.11.16)
【出願人】(000003562)東芝テック株式会社 (5,631)
【Fターム(参考)】
【公開日】平成20年6月5日(2008.6.5)
【国際特許分類】
【出願日】平成18年11月16日(2006.11.16)
【出願人】(000003562)東芝テック株式会社 (5,631)
【Fターム(参考)】
[ Back to top ]