JP5111122B2 - データ読み取り装置及びデータ読み取り装置のデータ読み取り方法 - Google Patents

データ読み取り装置及びデータ読み取り装置のデータ読み取り方法 Download PDF

Info

Publication number
JP5111122B2
JP5111122B2 JP2008004877A JP2008004877A JP5111122B2 JP 5111122 B2 JP5111122 B2 JP 5111122B2 JP 2008004877 A JP2008004877 A JP 2008004877A JP 2008004877 A JP2008004877 A JP 2008004877A JP 5111122 B2 JP5111122 B2 JP 5111122B2
Authority
JP
Japan
Prior art keywords
data
error
error detection
unit
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008004877A
Other languages
English (en)
Other versions
JP2009169544A (ja
Inventor
浩司 西川
敏久 亀丸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008004877A priority Critical patent/JP5111122B2/ja
Publication of JP2009169544A publication Critical patent/JP2009169544A/ja
Application granted granted Critical
Publication of JP5111122B2 publication Critical patent/JP5111122B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、例えば、ICタグ等の通信装置からデータを読み取るデータ読み取り装置及びデータ読み取り装置のデータ読み取り方法に関する。
従来技術では、コンピュータによる物品の個別管理や入退場管理の際に、非接触データ通信による自動認識(RFID:Radio Frequency Identification)が行われている。非接触データ通信による自動認識(RFID)では、例えば、個別管理や入退場管理等の対象となる識別対象物(物品や人物)に固有ID(identification)を書き込んだIC(Integrated Circuit)タグを貼付しておく。そして、データ読み取り装置は、例えば、ゲート(入り口、門等)やドアわき等に設置される。そこで、ICタグを備えた識別対象物等が、そのゲートやドアわき等を通過するなどすると、ゲートやドアわき等に設置されたデータ読み取り装置が、電波を使ってICタグに電力を供給するとともに、ICタグから固有IDを読み出すための読み出しのコマンドを送信する。
ICタグは、データ読み取り装置からの電波により、内蔵されているシリコンチップが駆動される。ICタグは、例えば、データ読み取り装置からの読み出しのコマンドに応じて、固有IDなどのICタグに記憶されている情報を、データ読み取り装置から発射されている電波に対する反射の有り/無しを利用して応答を返す。データ読み取り装置は、ICタグからの応答である反射波の有無を識別し、固有IDなどICタグに記憶されている情報を読み出す。
ICタグは、例えば、固有ID領域に加えて、ユーザーが書き換え可能なメモリ領域(ユーザーメモリともいう)を有する。ユーザーメモリに格納されているデータのデータ長は、固有IDのデータ長に比べて長い。そのため、データ読み取り装置が、1回のコマンドでICタグのユーザーメモリに記憶されているすべてのデータを読み取る場合には、読み取ったデータのエラー発生頻度が高くなる。
以上のような課題を回避するため、従来のデータ読み取り装置は、読み取るデータを複数の小さなパケットに分割し、それぞれのパケットを、複数の送信要求コマンドで順次読み出している。従来のデータ読み取り装置のデータ読み出し方式では、パケット読み出し中のエラーは、エラーが発生したパケットの再送信を要求することで、エラー発生に対するリカバリ処理を行っている。
特開2003−296674
しかしながら、従来のデータ読み取り装置のデータ読み出し方式では、読み取るデータを小さなパケットに分割した場合に、個々のパケットを読み出すためのコマンド送信時の送信コマンドデータや、ICタグからの応答(パケット)に付加されるリターンプリアンブル、CRC等の情報がオーバーヘッドとしてあらわれてしまい、高速なデータ読み取りができないという課題がある。
本発明は、このような課題を解決するためになされたものであって、データ読み取り装置が、データ長の長いデータの通信を行うこと、また、データ長の長いデータの通信を行う際のエラー発生に対して、高速にリカバリ処理することを目的としている。
本発明に係るデータ読み取り装置は、
データを記憶するメモリを備える通信装置と通信を行い、上記通信装置からデータを読み取るデータ読み取り装置であって、
上記通信装置から上記データを受信装置により受信する受信部と、
上記受信部が受信したデータに対して、データのなかのエラーを検出する所定のエラー検出処理を処理装置により行い、上記データのなかにエラーを検出した場合に、上記データのなかでエラーが検出されたエラー検出位置を処理装置により特定して出力するエラー検出/エラー位置検出部と、
上記エラー検出/エラー位置検出部から上記エラー検出位置を入力し、上記通信装置に対して上記データのなかの上記エラー検出位置から上記データの最終位置までの部分データの送信を要求する再送信要求コマンドを処理装置により生成する再送信制御部と、
上記再送信制御部が生成した再送信要求コマンドを上記通信装置に送信装置により送信する送信部と
を備えることを特徴とする。
本発明によれば、通信装置からデータを読み取るデータ読み取り装置において、受信部が、通信装置からデータを受信し、エラー検出/エラー位置検出部が、受信したデータに対し所定のエラー検出処理を行い、データのなかにエラーを検出した場合に、データのなかでエラーが検出されたエラー検出位置を特定して出力し、再送信制御部が、エラー検出/エラー位置検出部から上記エラー検出位置を入力し、通信装置に対して上記エラー検出位置から上記データの最終位置までの部分データの送信を要求する再送信要求コマンドを生成し、送信部が、再送信制御部が生成した再送信要求コマンドを上記通信装置に送信することにより、
例えば、データ読み取り装置が読み取るデータの受信中にエラーが発生した場合であっても、エラーを検出した位置からのデータの再送信を要求することができるので、データ読み取り装置の処理速度を向上させることができるという効果を奏する。
図1は、実施の形態1に係るデータ読み取り装置1のハードウェア資源の一例を示す図である。
図1において、データ読み取り装置1は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915(通信装置、送信装置、受信装置の一例)、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信ボード915は、図示はないが、ファクシミリ機、電話器、LAN等に接続されている。通信ボード915は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」、「〜データベース」、「〜データ」の各項目として記憶されている。「〜ファイル」、「〜データベース」、「〜データ」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
実施の形態1.
実施の形態1では、データを記憶するメモリを備えるICタグ20(通信装置の一例)と通信を行い、ICタグ20からデータを読み取るデータ読み取り装置1について説明する。
図2は、実施の形態1にかかるRFIDシステム800のデータ読み取り装置1の構成を示す図である。実施の形態1に係るRFIDシステム800は、データ読み取り装置1と、データ読み取り装置1を制御するコンピュータ500と、データ読み取り装置1がデータを読み取る対象であるICタグ20から構成される。データ読み取り装置1は、データ読み取り装置1を制御するコンピュータ500から、ICタグ20の保持するメモリに記憶されたデータの読み出しが指示され(データ読み出し指示)、データ読み出し指示に従ってICタグ20からデータの読み出しを行い、読み出したデータをデータ読み出し結果としてコンピュータ500に送信する。
図2を用いて、実施の形態1に係るデータ読み取り装置1のブロック構成及びブロック機能の概略について説明する。
図2において、データ読み取り装置1は、送信制御部2と、送信部3と、受信処理部4と、受信制御部5と、再送信制御部6と、送信アンテナ10aと、受信アンテナ10bとを備えている。
送信制御部2は、ICタグ20(通信装置の一例)に送信するコマンド(コマンド系列ともいう)を作成する。送信制御部2は、コンピュータ500から入力されたデータの読み出し指示に従って、データ読み出し指示を実行するためのコマンド(送信要求コマンドの一例)を、処理装置を用いて生成する。
送信部3は、送信制御部2により生成されたコマンド(送信要求コマンドの一例)を、ICタグ20に送信する。また、後述する再送信制御部6により生成されたコマンド(再送信要求コマンドの一例)を、ICタグ20に送信する。
受信処理部4は、送信部3により送信されたコマンドに対する応答としてICタグ20から応答データを受信装置により受信して、受信した応答データに対してエラーチェック等の処理を処理装置により行い、エラーチェック等の結果に応じた処理を応答データに対して行う。受信処理部4の詳細については、後述する。
受信制御部5は、ICタグ20から受信した応答データにおいて、受信処理部4によりエラー検出しなかった場合に、受信結果(応答データ)を受信処理部4から受取り、コンピュータ500にデータ読み出し結果として出力するとともに、次のコマンド送信(送信要求コマンドの送信)の起動を制御する。
再送信制御部6は、ICタグ20から受信した応答データにおいて、受信処理部4によりエラー検出した場合に、エラーの検出結果および応答データにおけるエラー検出位置を受信処理部4から受取り、コマンドの再送信を制御する。
また、データ読み取り装置1は、ICタグに電波を送信する送信アンテナ10a、ICタグからの応答データを受信する受信アンテナ10bに接続されている。
受信処理部4は、受信部41と、エラー検出/エラー位置検出部7と、受信バッファ部8と、受信バッファ81と、最適受信データ長判定部9とを備えている。
受信部41は、送信部3により送信されたコマンドに対する応答としてICタグ20(通信装置)から応答データを受信アンテナ10b(受信装置)により受信する。エラー検出/エラー位置検出部7は、ICタグ20からの応答データのエラー検出及びエラー位置検出を行う。受信バッファ部8は、ICタグ20からの応答データを受信バッファ81に一時的に保持する。最適受信データ長判定部9は、応答データにおけるエラー検出/エラー位置検出部7で検出したエラー位置の情報の履歴を監視し、最適な応答データ長を判定する。
さらに、図2を用いて、データ読み取り装置1における各機能ブロックのデータ読み取り機能について詳しく説明する。
データ読み取り装置1には、データ読み取り装置1を制御するコンピュータ500から、ICタグ20が備えるメモリ(ユーザーメモリともいう)に記憶されたデータの読み出しをするための指示(データ読み出し指示)が、入力される。
送信制御部2は、コンピュータ500からデータ読み出し指示が入力されると、コンピュータから要求されたデータ読み出し指示を実行するためのコマンド(送信要求コマンドの一例)を処理装置により生成し、生成したコマンドをICタグ20に送信するように制御する。送信制御部2は、コマンドを生成すると同時に、ICタグ20からの応答データとして受信すべき応答データのデータ長(応答データ長)が予めわかっている場合には、応答データ長を受信処理部4および受信制御部5に対して出力する(伝える)。応答データ長が予めわかっている場合とは、例えば、送信制御部2が入力したコンピュータからのデータ読み出し指示で、受信すべき応答データの応答データ長が指示されている場合等である。
送信部3は、送信制御部2で生成されてICタグ20に送信するように制御されたコマンドの変調を行い、ICタグ20に送信する。送信部3で変調されたコマンドは、送信アンテナ10a(送信装置の一例)を介して、ICタグ20に電波として発射される。
ICタグ20は、送信アンテナ10aから発射された電波(コマンド)を復調し、コマンドの解析をし、発射されたコマンドに応じた応答(レスポンス)である応答データの電波を返信する。
受信部41は、ICタグ20からの応答データである電波を受信アンテナ10b(受信装置の一例)で受信し、受信した応答データである電波を復調する。
エラー検出/エラー位置検出部7は、受信部41により復調された応答データ(データの一例)を入力し、入力した応答データに対してエラー検出処理(所定のエラー検出処理の一例)を行う。
ここで、エラー検出/エラー位置検出部7が入力した応答データに対して行うエラー検出処理(所定のエラー検出処理)の具体例について説明する。図11は、実施の形態1に係るRFIDシステム800における無線通信において、データの符号化を行った結果のビット列の正常な周波数パターンを示す図である。実施の形態1に係るRFIDシステム800における無線通信は、例えば、EPCグローバルにより標準化がなされている無線インタフェース仕様に基づく無線通信であるものとする。この場合、データの符号化を行った結果のビット列の正常な周波数パターンは、図11に示す周波数パターンとなる。
エラー検出/エラー位置検出部7は、「00」のケースでは、ビット列の周波数パターンが「HLHL」である場合は正しいが、例えば、「HHHL」の場合はエラーであると判断する。また、あるいは、エラー検出/エラー位置検出部7は、「01」のケースでは、ビット列の周波数パターンが「LHLL」である場合は正しいが、例えば、「LHHL」の場合はエラーであると判断する。このように、エラー検出/エラー位置検出部7は、所定のエラー検出処理として、例えば、図11に示すビット列の周波数パターン以外のパターンを検出して、エラーとするエラー検出処理を行う。
エラー検出/エラー位置検出部7は、応答データのなかにエラーを検出した場合に、応答データのなかでエラーが検出されたエラー検出位置を処理装置により特定して再送信制御部6に出力する。また、エラー検出/エラー位置検出部7は、受信バッファ部8に対して、応答データのなかにエラーを検出したことを示すエラー結果報告を出力する。
エラー検出/エラー位置検出部7は、応答データのなかにエラーを検出しなかった場合には、ICタグ20からの応答データに自動的に付加されるCRC(Cyclic Redundancy Check:巡回冗長検査)に基づいてCRCチェックを行う。このとき、応答データに含まれるチェックデータ(後述する)に基づいて応答データの正当性チェック処理を行っても良い。ここで、応答データに自動的に付加されるCRCとは、従来の通信方式により、通信データに付加される連続する誤りを検出するための誤り検出符号の一種である。
エラー検出/エラー位置検出部7は、応答データに対して、CRCチェック処理あるいはチェックデータによる正当性チェック処理を行った結果、応答データが正当なデータではないと判断した場合には、受信バッファ部8に対して、応答データが正当なデータではないことを示すエラー結果報告を出力する。
受信バッファ部8は、受信部41が復調した応答データを、一時的に受信バッファ81(記憶装置の一例)に蓄える。受信バッファ部8は、エラー検出/エラー位置検出部7から応答データに対するエラー結果報告がなく、かつ、応答データが送信制御部2から指示された応答データ長に達している場合に、受信制御部5に対して受信バッファ81の内容(すなわち、応答データ)を出力する。ここでいうエラー結果報告とは、上述したエラー検出処理(所定のエラー検出処理の一例)によるエラーの報告やCRCチェック処理あるいはチェックデータによる正当性チェック処理によるエラーの報告等を含むものである。
受信制御部5は、受信バッファ部8から入力されて送られてきた応答データのデータ長と、送信制御部2から指示された応答データ長との比較を処理装置により行い、一致している場合には、データ読み取り装置1を制御するコンピュータ500に読み出し結果として応答データを出力する。
再送信制御部6は、エラー検出/エラー位置検出部7から応答データのなかのエラー検出位置を入力し、ICタグ20(通信装置)に対して、応答データのうちのエラー検出位置から応答データの最終位置までの部分である部分データの送信を要求する再送信要求コマンドを処理装置により生成する。例えば、再送信制御部6は、応答データの最終位置までの受信が完了(すなわち、ICタグ20からの応答が完了)したと判断すると、応答データにおけるエラー検出/エラー位置検出部7から報告されたエラー検出位置から未読み取りエリア分の長さを計算し、応答データのうちのエラー位置から未読み取りエリア分の長さのデータ(部分データ)の送信を要求するためのコマンド(再送信要求コマンド)を生成して送信部3に出力する。未読み取りエリア分の長さのデータ(部分データ)とは、応答データにおけるエラー検出/エラー位置検出部7から報告されたエラー検出位置から、応答データの最終位置までのデータのことである。
送信部3は、再送信制御部6により生成された再送信要求コマンドの変調を行い、ICタグ20に送信する。送信部3で変調された再送信要求コマンドは、送信アンテナ10aを介して、ICタグ20に再送信要求コマンドの電波として発射される。
ICタグ20は、送信アンテナ10aから発射された電波(部分データの送信を要求する再送信要求コマンド)を復調し、コマンド(部分データの送信を要求する再送信要求コマンド)を解析し、解析したコマンド(部分データの送信を要求する再送信要求コマンド)に応じた応答(すなわち、部分データ)として部分データの電波を返す。
受信部41は、ICタグ20からの部分データ(すなわち、再送信要求コマンドに対する応答として受信した応答データ)の電波を受信アンテナ10b(受信装置の一例)により受信し、ICタグ20からの部分データの電波を復調する。
エラー検出/エラー位置検出部7は、受信部41により復調された部分データを入力し、入力した部分データに対してエラー検出処理(所定のエラー検出処理の一例)を行う。
エラー検出/エラー位置検出部7は、部分データのなかにエラーを検出した場合に、部分データのなかでエラーが検出されたエラー検出位置を処理装置により特定して再送信制御部6に出力する。また、エラー検出/エラー位置検出部7は、受信バッファ部8に対して、部分データのなかにエラーを検出したことを示すエラー結果報告を出力する。
受信バッファ部8は、受信部41が復調した部分データを、一時的に受信バッファ81(記憶装置の一例)に蓄える。受信バッファ部8は、例えば、受信バッファ81において、前にICタグ20から受信して既に格納されている応答データとは異なる領域に部分データを格納する。あるいは、受信バッファ部8は、受信バッファ81において、既に格納されている応答データのエラー検出位置から、部分データを上書きして格納してもよい。
エラー検出/エラー位置検出部7は、部分データのなかにエラーを検出しない場合に、ICタグ20からの部分データに自動的に付加されるCRCに基づいてCRCチェック処理を行い部分データの正当性をチェックする。エラー検出/エラー位置検出部7は、部分データに対して、CRCチェック処理を行った結果、部分データが正当なデータではないと判断した場合には、受信バッファ部8に対して、部分データが正当なデータではないことを示すエラー結果報告を出力する。
エラー検出/エラー位置検出部7は、部分データに対して、CRCチェック処理を行った結果、部分データが正当なデータであると判断した場合には、受信バッファ部8により受信バッファ81に保持されている応答データ(すなわち、1回目の送信要求コマンドに対する応答として受信した応答データ)のなかの先頭位置からエラー検出位置の手前までの応答データと部分データとを結合して結合したデータをICタグ20(通信装置)から読み取ったデータとする。例えば、エラー検出/エラー位置検出部7は、受信バッファ部8により受信バッファ81に保持されている応答データ(すなわち、1回目の送信要求コマンドに対する応答として受信した応答データ)のエラーが検出されたエラー検出位置から、部分データ(すなわち、再送信要求コマンドに対する応答として受信した応答データ)を上書きすることにより、データの結合を行うことができる。
上述したように、エラー検出/エラー位置検出部7は、部分データのなかにエラーを検出した場合には、再び、部分データのなかのエラー検出位置を再送信制御部6に出力する。また、エラー検出/エラー位置検出部7は、受信バッファ部8に対して、部分データのなかにエラーを検出したことを示すエラー結果報告を出力する。そして、再送信制御部6は、部分データのなかのエラー検出位置からの未読み取り分のデータを再送信を要求するための再送信要求コマンド(2回目)を生成して、送信部3は、ICタグ20に再送信要求コマンド(2回目)を送信する。
データ読み取り装置1は、受信バッファ81に保持されている応答データが、エラー検出のない正当なデータであると判断され、かつ、送信制御部2から指示された応答データ長に達したと判断されるまで、上述した処理を繰り返して再送信を要求する処理を繰り返してもよい。あるいは、データ読み取り装置1は、再送信を要求する処理を繰り返す回数の上限を設定しても良い。上限を設定した場合は、
最適受信データ長判定部9は、エラー検出/エラー位置検出部7により特定されたエラー検出位置の情報を監視し、最適な部分データ長(再送信すべきデータのデータ長)を処理装置により算出し、算出した最適な部分データ長(再送信すべきデータのデータ長)を再送信制御部6に出力して最適な部分データ長の指示をする。
再送信制御部6は、最適受信データ長判定部9より指示された最適な部分データ長(再送信すべきデータのデータ長)に基づいて、コマンド(再送信要求コマンド)の生成を行う。
図3は、実施の形態1に係るICタグ20(通信装置の一例)の備える(保持する)メモリ21の構成図である。図3を用いて、実施の形態1に係るICタグ20(通信装置の一例)の備えるメモリ21の構成図について説明する。
図3において、ICタグ20の保持するメモリ21は、ユーザーが書き換え可能なメモリである。メモリ21は、ブロック0〜Nに分割されている。ブロックx(xは0からNの整数)には、ブロックxのデータxとチェックデータxとが記憶される。すなわち、ブロックxには、ブロックxのデータxと、ブロックxのデータx後に格納されるチェックデータxとが格納される。すなわち、ブロックxに格納される全データであるブロックデータxは、ブロックxのデータxと、ブロックxのデータx後に付加されたチェックデータxとから構成される。
チェックデータxとは、ブロックxのデータxの正当性チェック処理を行うために算出されたデータである。チェックデータxの生成ルールは、特に規定しておらず、ブロックxのデータxのビット誤りを検出できるルールであればよい。チェックデータxの生成ルールは、例えば、ISO/IEC18000−6Cに記載されているようなCRC16生成ルールでもかまわない。
図4は、データ読み取り装置1がICタグ20からチェックデータxを含むブロックデータxの読み出しを行い、所定のエラー検出処理の結果、ブロックデータxのなかにエラーが未検出の場合の通信動作を示す図である。
図4において、データ読み取り装置1は、上述したICタグ20のメモリ21に格納されているブロックデータx(上述した応答データの一例)を読み出すものとする。ブロックデータxは、ブロックxのデータxとチェックデータxとから構成されている。
データ読み取り装置1では、送信制御部2が、ICタグ20から、ブロックxのデータx(第1のデータの一例)とブロックxのデータxの正当性チェック処理を行うために算出されたチェックデータx(チェックデータの一例)とを含むブロックデータx(データの一例)を読み出すための送信コマンドC1(送信要求コマンドの一例)を生成する。そして、送信部3が、ICタグ20に送信コマンドC1を送信する(S1)。受信部41は、送信コマンドC1の応答としてブロックデータxを含む受信データD1を受信する(S2)。
図5は、受信データD1のフォーマットを示す図である。図5に示すように、受信データD1は、従来の通信方式により、リターンプリアンブル51、データ部52,CRC53とから構成される。従って、図4の受信データD1は、ブロックデータxの前にリターンプリアンブル51が付加され、ブロックデータxの後にCRC53が付加され、データ部52に読み取り対象であるブロックデータxを有する。ブロックデータxは、上述したように、ブロックxのデータxとチェックデータxとから構成されている。従って、受信データD1は、リターンプリアンブル51、ブロックxのデータx(データ部52)、チェックデータx、CRC53の順に構成されている。
図4に戻り、データ読み取り装置1では、エラー検出/エラー位置検出部7が、受信した受信データD1に対してエラー検出処理(所定のエラー検出処理の一例)を行うとともに、受信バッファ部8が、受信した受信データD1に対してブロックデータxの読み取りを行い受信バッファ81に格納する。
このとき、受信バッファ部8は、受信データD1をそのまま受信バッファ81に格納しても良いし、受信データD1に対してブロックデータxの読み取りを行い、ブロックデータxを受信バッファ81に格納しても良い。
エラー検出/エラー位置検出部7は、エラー検出処理(所定のエラー検出処理の一例)の結果、受信データD1のなかに(ブロックデータxのなかに)エラーを検出しなかった場合には、チェックデータxを含むブロックデータxと、ICタグ20からの応答通信時に自動的に付加されるCRC53とにより、通信エラーの確認を行う。つまり、エラー検出/エラー位置検出部7は、チェックデータxを含むブロックデータxから算出されるCRCと、ICタグ20からの受信データD1に含まれるCRC53との比較を処理装置により行う。エラー検出/エラー位置検出部7は、チェックデータxを含むブロックデータxから算出されるCRCと、ICタグ20からの受信データD1に含まれるCRC53とが一致していると判断した場合には、チェックデータxを含むブロックデータxはエラーのない正当な応答データであることが保障されたと判断する。そして、データ読み取り装置1では、受信バッファ部8が、正当な応答データとして保証されたブロックデータxを受信バッファ81から受信制御部5に出力する。この場合、受信バッファ部8は、チェックデータxを破棄してもよい。
あるいは、エラー検出/エラー位置検出部7が受信データD1にエラーを検出しなかった場合には、データ読み取り装置1は、CRCによる正当性チェックではなく、ブロックデータxに含まれるチェックデータxに基づく正当性チェック処理を行っても良い。データ読み取り装置1では、エラー検出/エラー位置検出部7が、ブロックデータxに含まれるチェックデータxに基づいてブロックxのデータx(第1のデータ)が正当なデータであるか否かという正当性チェック処理を処理装置により行い、ブロックxのデータx(第1のデータ)が正当なデータであると判定した場合に、ブロックデータxをICタグ(通信装置)から読み取ったデータとして、受信制御部5に出力する。例えば、エラー検出/エラー位置検出部7は、ブロックデータxのうちのブロックxのデータxから算出されるチェックデータと、受信した受信データD1に含まれるチェックデータxとの比較を処理装置により行う等の処理をする。例えば、エラー検出/エラー位置検出部7は、ブロックデータxのうちのブロックxのデータxから算出されるチェックデータと、受信した受信データD1に含まれるチェックデータxとが一致していると判断した場合には、ブロックデータxのうちのブロックxのデータxはエラーのない正当な応答データであることが保障されたと判断する。
図6は、データ読み取り装置1がICタグ20からチェックデータxを含むブロックデータxの読み出しを行い、所定のエラー検出処理の結果、ブロックデータxのなかにエラーを検出した場合の通信動作を示す図である。
図6において、データ読み取り装置1は、上述したICタグ20のメモリ21に格納されているブロックデータx(上述した応答データの一例)を読み出すものとする。ブロックデータxは、ブロックxのデータxとチェックデータxとから構成されている。
データ読み取り装置1では、送信制御部2が、ICタグ20から、ブロックxのデータx(第1のデータの一例)とブロックxのデータxの正当性チェック処理を行うために算出されたチェックデータxとを含むブロックデータx(データの一例)を読み出すための送信コマンドC1を生成する。そして、送信部3が、ICタグ20に送信コマンドC1を送信する(S10:1回目の送信コマンド)。受信部41は、送信コマンドC1の応答としてブロックデータxを含む受信データD1を受信する(S11:1回目の受信データD1)。
データ読み取り装置1では、受信バッファ部8が、受信した受信データD1に対してブロックデータxの読み取りを行いブロックデータxを受信バッファ81に格納するとともに、エラー検出/エラー位置検出部7が、受信した受信データD1のブロックデータxに対してエラー検出処理(所定のエラー検出処理の一例)を行う。
このとき、受信バッファ部8は、受信データD1をそのまま受信バッファ81に格納しても良いし、受信データD1に対してブロックデータxの読み取りを行い、ブロックデータxを受信バッファ81に格納しても良い。
エラー検出/エラー位置検出部7は、ブロックxのデータx(第1のデータ)とチェックデータxとからなるブロックデータx(データ)に対してエラー検出処理(所定のエラー検出処理)を行い、ブロックデータxのなかにエラーを検出した場合に、ブロックデータxのなかでエラーが検出されたエラー検出位置(エラー位置の一例)を特定して再送信制御部6へ出力する。エラー検出/エラー位置検出部7は、ブロックxのデータx(第1のデータ)のなかにエラーを検出した場合に、ブロックxのデータxのなかでエラーが検出されたエラー検出位置(エラー位置の一例)を特定して再送信制御部6へ出力してもよい。
再送信制御部6は、エラー検出/エラー位置検出部7からブロックデータxにおけるエラー検出位置を入力し、ICタグ20に対して、ブロックデータxのなかのエラ検出ー位置からチェックデータxの最終位置(すなわち、ブロックデータxの最終位置)までの未読み取りデータ(部分データの一例)の送信を要求する送信コマンドC2(再送信要求コマンドの一例)を処理装置により生成する。そして、送信部3が、ICタグ20に送信コマンドC2(再送信要求コマンドの一例)を送信する(S12:2回目の送信コマンド)。
受信部41は、送信コマンドC2の応答として、ブロックデータxのなかのエラー検出位置からチェックデータxの最終位置(すなわち、ブロックデータxの最終位置)までの未読み取りデータ(部分データの一例)を含む受信データD2を受信する(S13:2回目の受信データ)。送信コマンドC2に対するICタグ20からの受信データD2は、リターンプリアンブル51a、データ部52aとしてエラー検出位置からチェックデータxの最終位置までのデータ(未読み取りデータ(部分データの一例))、CRC53aとから構成されている。
次に、データ読み取り装置1では、1回目に受信した受信データD1に対する処理と同様に、エラー検出/エラー位置検出部7が、受信した受信データD2に対してエラー検出処理(所定のエラー検出処理の一例)を行う。
このとき、1回目に受信した受信データD1に対する処理と同様に、受信バッファ部8が、受信した受信データD2に対して未読み取りデータ(部分データ)の読み取りを行い、受信バッファ81に未読み取りデータを格納しても良い。また、このとき、受信バッファ部8は、受信バッファ81において、既に格納されている1回目で受信したブロックデータxとは異なるエリアに未読み取りデータを格納しても良い。あるいは、受信バッファ部8は、受信バッファ81において、既に格納されている1回目で受信したブロックデータxのエラー検出位置から、未読み取りデータを上書きして格納しても良い。また、このとき、受信バッファ部8は、受信データD2をそのまま受信バッファ81に格納しても良い。
エラー検出/エラー位置検出部7は、エラー検出処理(所定のエラー検出処理の一例)の結果、受信した受信データD2にエラーを検出しなかった場合には、受信データD1におけるエラー検出位置からチェックデータxまでのデータ(未読み取りデータ(部分データ))と、ICタグ20からの応答である受信データD2に自動的に付加されるCRC53aとにより、CRCチェック処理を行い(S14)、通信エラーの確認を行う。つまり、エラー検出/エラー位置検出部7は、受信データD2に含まれる未読み取りデータ(部分データ)から算出されるCRCと、ICタグ20からの受信データD2に自動的に付加されるCRC53aとの比較を処理装置により行う。エラー検出/エラー位置検出部7は、受信データD2に含まれる未読み取りデータ(部分データ)から算出されるCRCと、受信データD2に自動的に付加されているCRC53aとが一致していると判断した場合には、受信データD2に含まれる未読み取りデータ(部分データ)はエラーのない正当なデータ(未読み取りデータ(部分データ)であることが保障されたと判断する(S14:受信データD2に対するCRCチェック処理)。
データ読み取り装置1では、エラー検出/エラー位置検出部7は、受信データD2に含まれる未読み取りデータ(部分データ)がエラーのない正当なデータであることが保障されたと判断した場合に、ブロックデータx(データ)のなかの最初のデータ位置(先頭位置)からエラー検出位置の手前までのデータと未読み取りデータ(部分データ)とを結合して結合したデータをICタグ20から読み取ったデータとして受信制御部5に出力する。
すなわち、データ読み取り装置1では、エラー検出/エラー位置検出部7は、受信バッファ81に格納されている1回目の受信データD1から、ブロックデータxの最初のデータ位置からエラー検出位置の手前までの部分を処理装置により抽出し、受信バッファ81に格納されている2回目の受信データD2から、未読み取りデータ(部分データ)を処理装置により抽出する。そして、エラー検出/エラー位置検出部7は、抽出した受信データD1からのブロックデータxの最初のデータ位置からエラー検出位置の手前までの部分と、2回目の受信データD2からの未読み取りデータ(部分データ)との、2つのデータを処理装置により結合することにより、ブロックデータxのデータを再生する(S15:ブロックデータxの再生)。このとき、エラー検出/エラー位置検出部7は、受信バッファ81に格納されている1回目の受信データD1のブロックデータxのエラー検出位置からの部分に対して、受信バッファ81に格納されている2回目の受信データD2の未読み取りデータ(部分データ)を処理装置により上書きすることにより、受信データD1からのブロックデータxの最初のデータ位置からエラー検出位置の手前までの部分と、2回目の受信データD2からの未読み取りデータ(部分データ)との、2つのデータを結合することができる。
次に、データ読み取り装置1では、エラー検出/エラー位置検出部7が、未読み取りデータ(部分データ)に含まれたチェックデータxに基づいて結合したデータのなかのブロックデータxのデータx(第1のデータ)が正当なデータであるか否かという正当性チェック処理を処理装置により行い(S16:チェックデータxによる正当性チェック処理)、ブロックxのデータx(第1のデータ)が正当なデータであると判定した場合に、結合したデータをICタグ(通信装置)から読み取ったデータとして、受信制御部5に出力する。例えば、エラー検出/エラー位置検出部7は、ブロックデータxのうちのブロックxのデータxから算出されるチェックデータと、受信した受信データD2に含まれるチェックデータxとの比較を処理装置により行う等の処理をする。例えば、エラー検出/エラー位置検出部7は、ブロックデータxのうちのブロックxのデータxから算出されるチェックデータと、受信した受信データD2に含まれるチェックデータxとが一致していると判断した場合には、ブロックデータxのうちのブロックxのデータxはエラーのない正当な応答データであることが保障されたと判断する。
このとき、2回目の受信データD2は、CRCの確認を行って通信エラー等のない正当なデータであることが保障されている(図6のS14)。しかし、1回目の受信データD1については、ブロックデータxの先頭位置からエラー検出位置の手前までは、所定のエラー検出処理によるエラー検出はないものの、通信エラーのない正当なデータであることは保障されていない(CRCチェック処理等の正当性チェック処理をしていないため)。そのため、従来では、ブロックデータxにエラーが検出された場合は、ブロックデータxの先頭位置から再度、ブロックデータxを読み出す必要があった。このため、従来では、データの読み取り処理の際の読み取り時間が、増加する等の課題があった。あるいは、従来のデータ読み取り装置では、データ長の長いデータの再読み取りを回避するために、ブロックデータxをさらに細かなパケットに分割して読み取りを行うため、コマンド送信や、個々のパケットに付加されるリターンプリアンブル、CRCのオーバーヘッドによる読み取り時間増加に耐える必要があった。
本実施の形態によるデータ読み取り装置1では、ブロックデータ毎にチェックデータを設けていることで、再生したブロックデータ(受信データ)の正当性についてチェックデータを用いて検査を行うことができ、読み取り時間の短縮が可能となる。
また、本実施の形態によるデータ読み取り装置1では、ICタグ20が保持するメモリ21のデータ読み出しにおいて、エラーが発生しても、エラー発生個所から再送信するようにICタグ20に要求することができ、データの再生を行うことができ、また、チェックデータにより再生したデータの正当性を保証することができるので、データの読み取り時間の短縮が可能となる。
実施の形態2.
実施の形態1に係るデータ読み取り装置1では、データ読み取り装置1がICタグ20のメモリ21から読み取るデータは、チェックデータxを含むブロックデータxである場合について説明した。実施の形態2では、受信データにエラーを検出しない間は、ブロックxのチェックデータxを含まないデータ(すなわち、ブロックxのデータx)の読み出しを行い、エラーを検出すると、エラー検出した位置から残りの部分のブロックxのデータxのデータに加えて、ブロックxのチェックデータxを読み出すことを特徴とするデータ読み取り装置1について説明する。
図7は、実施の形態2に係るデータ読み取り装置1がICタグ20からチェックデータxを含まないブロックxのデータxの読み出しを行い、エラー未検出の場合の通信動作を示す図である。
図7において、データ読み取り装置1は、送信コマンドC1でチェックデータxを含まないデータ(すなわち、ブロックxのデータx)の読み出し要求を行い(S20)、受信データD1を受信してブロックxのデータxの読み取りを行っている(S21)。このときのデータ読み取り装置1の動作は、実施の形態1と同様である。ただし、データ読み取り装置1が読み出し要求をするデータが、ブロックxのデータxであるという点が相違する。
実施の形態2におけるデータ読み取り装置1では、受信データD1は、図7に示すように、リターンプリアンブル51、データ部52、CRC53で構成されている。データ部52には、チェックデータxを含まないブロックxのデータxが格納されている。
実施の形態2におけるデータ読み取り装置1では、エラー検出/エラー位置検出部7は、受信データD1にエラーを検出しなかった場合には、実施の形態1で説明したと同様に、ブロックデータxと、ICタグ20からの応答である受信データD1に自動的に付加されるCRCにより、通信エラーの確認を行う。CRCによる正当性チェック処理(CRCチェック処理)については、実施の形態1で説明したと同様の処理を行う。データ読み取り装置1は、ブロックxのデータxから生成されるCRCとICタグ20からの応答である
受信データD1に付加されているCRCとの比較を行い、一致している場合には、受信データD1は、エラーのない正当な応答データであることが保障されると処理装置により判断する。
図8は、実施の形態2におけるデータ読み取り装置1が、ICタグ20からチェックデータxを含まないブロックxのデータxの読み出しを行い、エラーを検出した場合の通信動作を示す図である。
図8において、実施の形態2におけるデータ読み取り装置1は、送信コマンドC1でチェックデータxを含まないデータ(すなわち、ブロックxのデータx)の読み出し要求を行い(S30)、受信データD1を受信してブロックxのデータxの読み取りを行っている(S31)。このときのデータ読み取り装置1の動作は、実施の形態1と同様である。ただし、データ読み取り装置1が読み出し要求をするデータが、ブロックxのデータxであるという点が相違する。
実施の形態2におけるデータ読み取り装置1では、エラー検出/エラー位置検出部7は、受信データD1にエラーを検出した場合には、実施の形態1の動作と同様に、ブロックxのデータxにおけるエラー検出位置を特定し、再送信制御部6に出力する。
再送信制御部6は、エラー検出/エラー位置検出部7からブロックxのデータxにおけるエラー検出位置を入力し、ICタグ20に対して、ブロックxのデータxのなかのエラー検出位置からチェックデータxの最終位置(すなわち、ブロックデータxの最終位置)までのデータの送信を要求する送信コマンドC2(再送信要求コマンド)を処理装置により生成する。そして、送信部3が、ICタグ20に送信コマンドC2(再送信要求コマンド)を送信する(S32:2回目の送信コマンド)。このとき、送信コマンドC1(送信要求コマンド)とは異なり、送信コマンドC2(再送信要求コマンド)ではチェックデータxまでの読み出しが指示される。送信コマンドC2に対するICタグの受信データD2は、リターンプリアンブル51、エラー検出位置からチェックデータxまでのデータ(データ部52)、CRC53で構成されている(S33:2回目の受信データD2)。
実施の形態1と同様に、実施の形態2におけるデータ読み取り装置1では、エラー検出/エラー位置検出部7が、受信した受信データD2に対してエラー検出処理(所定のエラー検出処理の一例)を行う。
エラー検出/エラー位置検出部7が、受信データD2でエラー検出しなかった場合には、エラー検出/エラー位置検出部7は、ブロックxのデータxのエラー検出位置からチェックデータxまでのデータに対して、ICタグ20からの応答に自動的に付加されるCRC53bにより、通信エラーの確認を行う。つまり、エラー検出/エラー位置検出部7は、ブロックxのデータxのエラー検出位置からチェックデータxまでのデータから生成されるCRCと、ICタグ20からの受信データD2に含まれるCRC53bとの比較を行い、一致している場合には、受信データD2はエラーのない正当な受信データであることが保障され手いると判断する(S34:受信データD2のCRCチェック処理)。
実施の形態2におけるデータ読み取り装置1は、1回目の受信データD1から、ブロックxのデータxの最初のデータ位置(先頭位置)からブロックxのデータxのエラー検出位置の手前までの部分を抽出し、2回目の受信データD2から、ブロックxのデータxのエラー検出位置からチェックデータxの最終位置までの部分を抽出する。
実施の形態2におけるデータ読み取り装置1は、この2つのデータを結合し、ブロックxのデータxのデータを再生する(S35:ブロックデータxの再生)。
次に、実施の形態2に係るデータ読み取り装置1では、実施の形態1の処理と同様に、エラー検出/エラー位置検出部7が、受信データD2に含まれたチェックデータxに基づいて、結合したデータのなかのブロックxのデータxが正当なデータであるか否かという正当性チェック処理を処理装置により行い(S36:チェックデータxによる正当性チェック処理)、ブロックxのデータxが正当なデータであると判定した場合に、結合したデータをICタグ(通信装置)から読み取ったデータとして、受信制御部5に出力する。
以上のように、実施の形態2に係るデータ読み取り装置1では、受信データについてエラーを検出しない間には、チェックデータxの読み出しを行わないため、より読み取り時間の短縮が可能となる。
実施の形態3.
図9は、実施の形態3に係るデータ読み取り装置1を用いたRFIDシステムのシステム構成を示す図である。図9において、実施に形態1の図2で説明した構成ブロックと同一の機能を有する構成ブロックには同一の符号を付し、その説明を一部省略する。
図9において、データ読み取り装置1は、実施の形態1と同様に、送信制御部2、送信部3、受信処理部4、受信制御部5、再送信制御部6を有しており、ICタグ20に電波を送信する送信アンテナ10a、ICタグ20からの電波を受信する受信アンテナ10bに接続されている。また、受信処理部4は、実施の形態1と同様に、エラー検出/エラー位置検出部7、受信バッファ部8、受信バッファ81、最適受信データ長判定部9を備えている。実施の形態3に係るデータ読み取り装置1において、実施の形態1と異なる点は、エラー検出/エラー位置検出部7が受信データ補正部11を備えている点である。
実施の形態3に係るデータ読み取り装置1の概略動作は、実施の形態1で説明した動作と同様である。ただし、エラー検出/エラー位置検出部7が、エラーを検出した場合の動作が実施の形態1と異なるため、その部分の動作について以下に説明する。
図10は、実施の形態3に係るICタグ20から受信した受信データにエラーを検出した場合のデータ読み取り装置1とICタグ20との通信動作を示す図である。
まず、S40では、データ読み取り装置1は、ICタグ20からブロックxのデータxとチェックデータxとからなるブロックデータxを読み取るための送信コマンドC1(送信要求コマンド)を生成してICタグに送信する。
S41では、データ読み取り装置1は、送信コマンドC1に対する応答としてICタグ20から受信データD1を受信する。データ読み取り装置1では、エラー検出/エラー位置検出部7が、受信データD1に対してエラー検出処理(所定のエラー検出処理)を行う。
S42では、エラー検出/エラー位置検出部7の備える受信データ補正部11は、受信データD1のなかにエラーを検出した場合、エラー検出ビット位置に0あるいは1を代入(図10のエラー検出位置への0/1の代入)し、ブロックxのデータxのエラーデータのデータ補正(データの修正)を行う。例えば、受信データ補正部11は、エラーとして検出されたエラーデータのビットが1の場合は0を代入し、エラーとして検出されたエラーデータのビットが0の場合は1を代入する処理を行い、エラーデータに対してエラー補正を行う。例えば、受信データ補正部11は、エラーとして検出されたエラーデータが複数ある場合には、複数のエラーデータに対してエラー補正を行う。
次に、S43では、エラー検出/エラー位置検出部7は、データ補正を行った受信データD1(ブロックデータx)に対して、受信データD1に自動的に付加されているCRC53cを用いてCRC53cによるブロックデータxのCRCチェック処理を行う。あるいは、エラー検出/エラー位置検出部7は、チェックデータxのなかにエラーを検出しなかった場合には、データ補正を行った受信データD1(ブロックデータx)に対して、チェックデータxを用いたブロックxのデータxの正当性チェック処理を行ってもよい。
エラー検出/エラー位置検出部7は、CRCチェック処理あるいはチェックデータによる正当性チェック処理の結果、受信データD1(ブロックデータx)が正当なデータであると判定した場合に、ブロックデータxをICタグ20(通信装置)から読み取ったデータとして、受信制御部5に出力する。
しかしながら、エラー検出/エラー位置検出部7は、CRCチェック処理あるいはチェックデータによる正当性チェック処理等の結果、受信データD1(ブロックデータx)が正当なデータでないと判定した場合、あるいは、チェックデータxやCRC53cにエラーが含まれる場合、あるいは、複数の受信データD1の組み合わせでチェックデータあるいはCRC一致がおきた場合は、補正されたデータの正当性が保障されなくなるため、実施の形態1で説明した再送信を要求する処理を用いて、データの再生を行う。
ここで、上述した「複数の受信データD1の組み合わせでチェックデータあるいはCRC一致がおきた場合」とは、例えば、以下のような場合をいう。受信データD1の複数個所でエラーがおきた場合に、それぞれのエラー箇所に0または1をいれて、データの補正を行うため、補正された受信データD1の候補は、複数存在する。これらの複数の補正された受信データD1の候補に対する確認は、上述したようにCRCチェック処理あるいはチェックデータによる正当性チェック処理により行う。このとき、元データ(受信データD1)が数百ビットに対して、チェックデータは32ビット程度、CRCは16ビットであるので、複数の補正された受信データD1のうちで、チェックデータやCRCによるチェックをパスしてしまう受信データD1が複数存在してしまう可能性がある。この場合、複数の補正された受信データD1の候補のうち、どの補正データが正しいか、判断できなくなり、正当性が保障されなくなるため、実施の形態1で説明した再送信を要求する処理を用いて、データの再生を行う。
また、実施の形態3に係るデータ読み取り装置1では、エラー検出したビット数が多い場合には、データ補正に必要な処理時間が多くなるため、データ補正を行わず、再送信を要求する処理を用いて、データの再生を行うようにしてもよい。
すなわち、実施の形態3に係るデータ読み取り装置1では、エラー検出/エラー位置検出部7(あるいは、受信データ補正部11でも良い)が、受信データD1(ブロックデータx)のなかのブロックxのデータx(第1のデータ)のなかにエラーを検出した場合に、ブロックxのデータxのなかでエラーが検出されたエラー検出位置を特定するとともに、ブロックxのデータxのなかでエラーとして検出されたエラーデータに対してデータ補正を行う。そして、エラー検出/エラー位置検出部7は、データ補正を行ったブロックデータxについてチェックデータxに基づいて、ブロックxのデータx(第1のデータ)が正当なデータであるか否かという正当性チェック処理を処理装置により行い、ブロックxのデータxが正当なデータでないと判定した場合に、ブロックxのデータxのエラー検出位置を再送信制御部6に出力する。
以上のように、実施の形態3に係るデータ読み取り装置1では、ICタグ20が保持するメモリ21のデータ読み出しにおいて、読み出し中のデータにエラーが発生しても、エラー発生個所を特定することにより、エラーデータの補正を行い、チェックデータやCRCにより補正データの正当性を保証することができる。このため、実施の形態3に係るデータ読み取り装置1では、読み出し中のデータにエラーが発生しても、再読み取りを実行することなく、読み取り時間の短縮が可能となる。また、実施の形態3に係るデータ読み取り装置1では、エラーデータの補正が不完全の場合(チェックデータやCRCにエラーが含まれる場合や、複数の組み合わせでチェックデータあるいはCRC一致がおきた場合)には、再送信を要求する処理を行うことで、読み取り時間の大幅な増加なく、データの正当性を保証することができる。
実施の形態1〜3において、以下のような特徴を有するデータ読み取り装置1について説明した。
実施の形態1〜3で説明したRFIDシステム800は、ユーザーが書き換え可能なメモリ21を有し、メモリ21を複数のブロックに分割し、ブロック毎にチェックデータを保持するICタグ20と、ICタグ20と非接触データ通信を行うデータ読み取り装置1とを備え、ICタグ20が保持するメモリデータを読み出すRFIDシステム800であって、データ読み取り装置1は、ICタグ20からのデータ受信において、エラー検出を行い、エラーを検出した場合にエラー検出したデータ位置を検出するエラー検出/エラー位置検出部7と、エラー検出及びエラー位置検出部でエラー検出した場合に、エラー検出したデータ位置から再送信を行う再送信制御部6とを備えることを特徴とする。
実施の形態1〜3で説明したデータ読み取り装置1は、エラー検出しない間は、ブロック毎のチェックデータを含まないデータ読み出しを行い、エラー検出すると、エラー検出した位置から残りのデータに加えて、ブロック毎のチェックデータを読み出すことを特徴とする。
実施の形態1〜3で説明したデータ読み取り装置1は、さらに、エラー検出/エラー位置検出部7で検出するエラー位置の履歴から、最適な受信データ長(応答データ長)を判断する最適受信データ長判定部9を有し、最適受信データ長判定部9で判断した受信データ長(応答データ長)でICタグ20とデータ通信することを特徴とする。
実施の形態1〜3で説明したデータ読み取り装置1は、エラー検出/エラー位置検出部7から、エラー位置情報を受け取り、受信データを補正する受信データ補正部11を備えることを特徴とする。
実施の形態1〜3で説明したデータ読み取り装置1は、受信データ補正部11で、エラー補正できなかった場合に、最初に検出したエラー位置から残りのデータを再送信することを特徴とする。
以上、実施の形態1〜3について説明したが、これらのうち、2つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、2つ以上の実施の形態を部分的に組み合わせて実施しても構わない。
また、実施の形態1〜3の説明において、データ読み取り装置1における送信制御部2と、送信部3と、受信処理部4と、受信制御部5と、再送信制御部6とはそれぞれ独立した機能ブロックとして構成されているが、ひとつの機能ブロックとしてもよい。また、受信処理部4は、受信部41とエラー検出/エラー位置検出部7と受信バッファ部8と受信データ補正部11と最適受信データ長判定部9との独立した機能ブロックから構成されているが、まとめてひとつの機能ブロックとしてもよい。あるいは、全ての機能ブロックを独立した機能ブロックとしても良い。あるいは、これらの機能ブロックを、他のどのような組み合わせで構成しても構わない。
実施の形態1に係るデータ読み取り装置及びデータ読み取り装置のデータ読み取り方法は、処理装置、記憶装置等のハードウェアが用いられており、ソフトウェアによる情報処理がハードウェアを用いて具体的に実現されたものである。すなわち、上述した実施の形態1のデータ読み取り装置及びデータ読み取り装置のデータ読み取り方法は、自然法則を利用したハードウェアの動作によりデータ読み取り装置及びデータ読み取り装置のデータ読み取り方法の実現を図っているものであり、自然法則を利用した技術的創作に該当するものである。
実施の形態1におけるデータ読み取り装置1のハードウェア資源の一例を示す図である。 実施の形態1におけるRFIDシステム800のデータ読み取り装置1の構成を示す図である。 実施の形態1におけるICタグ20(通信装置の一例)の備える(保持する)メモリ21の構成図である。 実施の形態1におけるデータ読み取り装置1がICタグ20からチェックデータxを含むブロックデータxの読み出しを行い、ブロックデータxのなかにエラーが未検出の場合の通信動作を示す図である。 実施の形態1における受信データD1のフォーマットを示す図である。 実施の形態1におけるデータ読み取り装置1がICタグ20からチェックデータxを含むブロックデータxの読み出しを行い、ブロックデータxのなかにエラーを検出した場合の通信動作を示す図である。 実施の形態2におけるデータ読み取り装置1がICタグ20からチェックデータxを含まないブロックxのデータxの読み出しを行い、エラー未検出の場合の通信動作を示す図である。 実施の形態2におけるデータ読み取り装置1が、ICタグ20からチェックデータxを含まないブロックxのデータxの読み出しを行い、エラーを検出した場合の通信動作を示す図である。 実施の形態3におけるデータ読み取り装置1を用いたRFIDシステムのシステム構成を示す図である。 実施の形態3におけるICタグ20から受信した受信データにエラーを検出した場合のデータ読み取り装置1とICタグ20との通信動作を示す図である。 実施の形態1に係るRFIDシステム800における無線通信において、データの符号化を行った結果のビット列の正常な周波数パターンを示す図である。
符号の説明
1 データ読み取り装置、2 送信制御部、3 送信部、4 受信処理部、5 受信制御部、6 再送信制御部、7 エラー検出/エラー位置検出部、8 受信バッファ部、9 最適受信データ長判定部、10a 送信アンテナ、10b 受信アンテナ、11 受信データ補正部、20 ICタグ、21 メモリ、41 受信部、51 リターンプリアンブル、52 データ部、53,53a,53b,53c CRC、81 受信バッファ、500 コンピュータ、800 RFIDシステム、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、C1,C2 送信コマンド、D1,D2 受信データ。

Claims (4)

  1. データを記憶するメモリを備える通信装置と通信を行い、上記通信装置からデータを読み取るデータ読み取り装置であって、
    上記通信装置から、第1のデータと、上記第1のデータの後に付加され上記第1のデータの正当性チェック処理のために算出されたチェックデータとからなる上記データを受信装置により受信する受信部と、
    上記受信部が受信した上記データに対して、上記第1のデータのなかのエラーを検出する所定のエラー検出処理を処理装置により行い、上記第1のデータのなかにエラーを検出した場合に、上記第1のデータのなかでエラーが検出されたエラー検出位置を処理装置により特定して出力するエラー検出/エラー位置検出部と、
    上記エラー検出/エラー位置検出部から上記エラー検出位置を入力し、上記通信装置に対して上記データのなかの上記エラー検出位置から上記チェックデータの最終位置までの部分データの送信を要求する再送信要求コマンドを処理装置により生成する再送信制御部と、
    上記再送信制御部が生成した再送信要求コマンドを上記通信装置に送信装置により送信する送信部と
    を備え、
    上記受信部は、
    上記通信装置から、上記送信部が上記通信装置に送信した再送信要求コマンドに対する応答として送信された上記部分データを受信し、
    上記エラー検出/エラー位置検出部は、
    上記受信部が受信した上記部分データに対して上記所定のエラー検出処理を行い、上記部分データのなかにエラーを検出しない場合に、上記データのなかの先頭位置から上記エラー検出位置の手前までのデータと上記部分データとを結合して結合したデータとし、上記部分データに含まれた上記チェックデータに基づいて上記結合したデータのなかの上記第1のデータが正当なデータであるか否かという正当性チェック処理を処理装置により行い、上記第1のデータが正当なデータであると判定した場合に、上記結合したデータを上記通信装置から読み取ったデータとする
    ことを特徴とするデータ読み取り装置。
  2. 上記エラー検出/エラー位置検出部は、
    上記第1のデータのなかにエラーを検出した場合に、上記第1のデータのなかでエラーが検出されたエラー検出位置を特定するとともに、上記第1のデータのなかでエラーとして検出されたエラーデータに対してエラーの修正を行い、上記受信部が受信した上記データに含まれる上記チェックデータに基づいて、上記修正したエラーデータを含む上記第1のデータが正当なデータであるか否かという正当性チェック処理を処理装置により行い、上記第1のデータが正当なデータでないと判定した場合に、上記第1のデータの上記エラー検出位置を出力する
    ことを特徴とする請求項に記載のデータ読み取り装置。
  3. データを記憶するメモリを備える通信装置と通信を行い、上記通信装置からデータを読み取るデータ読み取り装置のデータ読み取り方法であって、
    受信部が、上記通信装置から、第1のデータと、上記第1のデータの後に付加され上記第1のデータの正当性チェック処理のために算出されたチェックデータとからなる上記データを受信装置により受信する受信ステップと、
    エラー検出/エラー位置検出部が、上記受信ステップにより受信した上記データに対して、上記第1のデータのなかのエラーを検出する所定のエラー検出処理を処理装置により行い、上記第1のデータのなかにエラーを検出した場合に、上記第1のデータのなかでエラーが検出されたエラー検出位置を処理装置により特定して出力するエラー検出/エラー位置検出ステップと、
    再送信制御部が、上記エラー検出/エラー位置検出ステップにより出力された上記エラー検出位置を入力し、上記通信装置に対して、上記データのなかの上記エラー検出位置から上記チェックデータの最終位置までの部分データの送信を要求する再送信要求コマンドを処理装置により生成する再送信制御ステップと、
    送信部が、上記再送信制御ステップにより生成した再送信要求コマンドを上記通信装置に送信装置により送信する送信ステップと
    を備え、
    上記受信ステップは、
    上記受信部が、上記通信装置から、上記送信ステップにより上記通信装置に送信した再送信要求コマンドに対する応答として送信された上記部分データを受信し、
    上記エラー検出/エラー位置検出ステップは、
    上記エラー検出/エラー位置検出部が、上記受信ステップにより受信した上記部分データに対して上記所定のエラー検出処理を行い、上記部分データのなかにエラーを検出しない場合に、上記データのなかの先頭位置から上記エラー検出位置の手前までのデータと上記部分データとを結合して結合したデータとし、上記部分データに含まれた上記チェックデータに基づいて上記結合したデータのなかの上記第1のデータが正当なデータであるか否かという正当性チェック処理を処理装置により行い、上記第1のデータが正当なデータであると判定した場合に、上記結合したデータを上記通信装置から読み取ったデータとする
    ことを特徴とするデータ読み取り装置のデータ読み取り方法。
  4. 上記エラー検出/エラー位置検出ステップは、
    上記エラー検出/エラー位置検出部が、上記第1のデータのなかにエラーを検出した場合に、上記第1のデータのなかでエラーが検出されたエラー検出位置を特定するとともに、上記第1のデータのなかでエラーとして検出されたエラーデータに対してエラーの修正を行い、上記受信ステップにより受信した上記データに含まれる上記チェックデータに基づいて、上記修正したエラーデータを含む上記第1のデータが正当なデータであるか否かという正当性チェック処理を処理装置により行い、上記第1のデータが正当なデータでないと判定した場合に、上記第1のデータの上記エラー検出位置を出力する
    ことを特徴とする請求項3に記載のデータ読み取り装置のデータ読み取り方法。
JP2008004877A 2008-01-11 2008-01-11 データ読み取り装置及びデータ読み取り装置のデータ読み取り方法 Expired - Fee Related JP5111122B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008004877A JP5111122B2 (ja) 2008-01-11 2008-01-11 データ読み取り装置及びデータ読み取り装置のデータ読み取り方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008004877A JP5111122B2 (ja) 2008-01-11 2008-01-11 データ読み取り装置及びデータ読み取り装置のデータ読み取り方法

Publications (2)

Publication Number Publication Date
JP2009169544A JP2009169544A (ja) 2009-07-30
JP5111122B2 true JP5111122B2 (ja) 2012-12-26

Family

ID=40970662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008004877A Expired - Fee Related JP5111122B2 (ja) 2008-01-11 2008-01-11 データ読み取り装置及びデータ読み取り装置のデータ読み取り方法

Country Status (1)

Country Link
JP (1) JP5111122B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0749820A (ja) * 1993-08-09 1995-02-21 Sekisui Chem Co Ltd ワイヤレス・プリンタ・バッファ
JPH07288515A (ja) * 1994-04-20 1995-10-31 Sekisui Chem Co Ltd データ伝送方法
JP3576625B2 (ja) * 1995-02-28 2004-10-13 株式会社東芝 フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置
JP2000115142A (ja) * 1998-09-30 2000-04-21 Toshiba Corp 通信システム
JP2000244468A (ja) * 1999-02-19 2000-09-08 Furukawa Electric Co Ltd:The データ受信装置
JP4593621B2 (ja) * 2005-07-14 2010-12-08 富士通株式会社 データ復号方法及び,これを適用するデータ復号装置
JP2007310590A (ja) * 2006-05-17 2007-11-29 Toshiba Tec Corp 無線タグシステム、無線タグデータ書込み方法、無線タグリーダ/ライタ装置及び無線タグ

Also Published As

Publication number Publication date
JP2009169544A (ja) 2009-07-30

Similar Documents

Publication Publication Date Title
JP3728366B2 (ja) Icカード
CN102446280B (zh) 一种验证数据的方法、装置及系统
KR101229521B1 (ko) 디바이스 메모리의 무결성 확인 방법 및 장치
RU2005115870A (ru) Способ и система для распознавания регистрационной информации
WO2011009768A2 (en) A method and reader for reading tag data a radio frequency identification system
KR20210086678A (ko) 통신 방법 및 장치, 전자 기기 및 저장 매체
US20050108559A1 (en) Image forming apparatus, method for controlling writing data from the same to storage device, method for controlling reading data from storage device to the same, and replacement part therefor
US7373525B2 (en) Data processing method and data checking method
JP5111122B2 (ja) データ読み取り装置及びデータ読み取り装置のデータ読み取り方法
KR100954734B1 (ko) 에러 검출을 위한 장치, 물품, 시스템 및 방법
EP1670236A2 (en) Image data registration and verification methods and apparatus
CN101185104A (zh) 在模板保护系统中形成分类边界
US7555702B2 (en) Error correction device, error correction program and error correction method
GB2358505A (en) Magnetic card reader
CN107045643A (zh) 适用于智能交通信息感知的高保密超高频rfid系统
JP6835689B2 (ja) Rfidリーダライタ装置、誤り検出プログラムおよび誤り検出方法
JPH0374946A (ja) データ通信における誤り制御方式
CN109101852B (zh) 一种基于哈希签名的数据自验证rfid方法
JP2007335963A (ja) 機器設定装置及び機器設定方法及びプログラム
US20020025009A1 (en) Signal processing apparatus and method, and recording medium
KR100280457B1 (ko) 플래시 메모리의 데이터 리드 및 라이트하는 방법
CN112214755B (zh) 一种多功能消费机
JP4809955B2 (ja) 携帯型電子装置及び電文処理方法
JP2000105791A (ja) 為替集中処理システムおよび為替帳票処理装置
US20040205389A1 (en) Method and apparatus of processing data according to data types

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121009

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees