(57)【要約】      （修正有）【課題】無線タグのメモリ内でビット化けが発生した場合、ビット化けしたデータを不当なデータとして判定することのできる無線タグ書込装置、無線タグ読取装置を提供する。【解決手段】無線タグ書込装置、無線タグ読取装置は無線タグが取付けられるオブジェクトを識別するための識別コードが無線タグのメモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コードと、前記識別コードをその判定の種別によって生成した結果のチェックコードとを前記識別コードに付加する手段３２と、この付加手段で付加された判定種別コード、識別コード及びチェックコードを前記無線タグに送信する手段３０とを有する。【選択図】図１ａ
2012068769.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するメモリを備える無線タグと通信を行い、無線タグにデータを書込む無線タグ書込装置において、
当該無線タグが取付けられるオブジェクトを識別するための識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コードと、前記識別コードをその判定の種別によって生成した結果のチェックコードとを前記識別コードに付加する手段と、
この付加手段で付加された判定種別コード、識別コード及びチェックコードを前記無線タグに送信する手段と、
を有することを特徴とする無線タグ書込装置。
【請求項２】
データを記憶するメモリを備える無線タグと通信を行い、無線タグにデータを書込む無線タグ書込装置において、
当該無線タグが取付けられるオブジェクトを識別するための識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コードと、前記識別コード、前記判定種別コード及びこれらのコードの長さを表す長さ情報を前記判定の種別によって生成した結果のチェックコードとを前記識別コードに付加する手段と、
この付加手段で付加された長さ情報、判定種別コード、識別コード及びチェックコードを前記無線タグに送信する手段と、
を有することを特徴とする無線タグ書込装置。
【請求項３】
前記判定の種別は、パリティチェック、チェックサムチェック、ＣＲＣチェック、ミラーデータチェックのいずれかであることを特徴とする請求項１または請求項２記載の無線タグ書込装置。
【請求項４】
データを記憶するメモリを備える無線タグと通信を行い、無線タグからデータを読取る無線タグ読取装置において、
無線タグから、当該無線タグが取付けられているオブジェクトを識別するための識別コード、この識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コード及び前記識別コードをその判定の種別によって生成した結果のチェックコードを読出す読出手段と、
この読出手段で読出した判定種別コードで表される判定種別に基づいて前記読出手段で読出した識別コードからチェックコードを生成するチェックコード生成手段と、
この生成手段で生成したチェックコードと、前記読出手段で読出したチェックコードとを比較することにより識別コードの正当性を判定する判定手段と、
を有することを特徴とする無線タグ読取装置。
【請求項５】
データを記憶するメモリを備える無線タグと通信を行い、無線タグからデータを読取る無線タグ読出装置において、
無線タグから、当該無線タグが取付けられているオブジェクトを識別するための識別コード、この識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コード、前記識別コードをその判定の種別によって生成した結果のチェックコード及びこれらのコードの長さを表す長さ情報を読出す読出手段と、
この読出手段で読出した判定種別コードで表される判定種別に基づいて前記読出手段で読出した識別コード及び長さ情報からチェックコードを生成するチェックコード生成手段と、
この生成手段で生成したチェックコードと、前記読出手段で読出したチェックコードとを比較することにより識別コードの正当性を判定する判定手段と、
を有することを特徴とする無線タグ読取装置。
【請求項６】
前記判定の種別は、パリティチェック、チェックサムチェック、ＣＲＣチェック、ミラーデータチェックのいずれかであることを特徴とする請求項４または請求項５記載の無線タグ読取装置。
【請求項７】
データを記憶するメモリを備える無線タグと通信を行い、無線タグにデータを書込む方法であって、
無線タグが取付けられるオブジェクトを識別するための識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を指定し、
指定された判定の種別に基づいて前記識別コードからチェックコードを生成し、
前記指定された判定の種別を表す判定種別コードと、前記生成されたチェックコードとを前記識別コードに付加して前記無線タグに送信する
ことを特徴とする無線タグ書込方法。
【請求項８】
データを記憶するメモリを備える無線タグと通信を行い、無線タグからデータを読取る方法であって、
無線タグから、当該無線タグが取付けられているオブジェクトを識別するための識別コード、この識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コード及び前記識別コードをその判定の種別によって生成した結果のチェックコードを読出し、
この読出した判定種別コードで表される判定種別に基づいて前記読出した識別コードからチェックコードを生成し、
この生成したチェックコードと、前記読出したチェックコードとを比較して識別コードの正当性を判定する、
ことを特徴とする無線タグ読取方法。
【請求項９】
当該無線タグが取付けられるオブジェクトを識別するための識別コードと、この識別コードがビット化けを起こしていないかを確認するための判定の種別を表す判定種別コードと、前記識別コードをその判定の種別によって生成した結果のチェックコードとを記憶したメモリと、
外部からの読出し要求に応答して前記メモリに記憶した識別コード、判定種別コード及びチェックコードを出力する出力手段と、
を有することを特徴とする無線タグ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、無線タグにデータを書込む無線タグ書込装置、無線タグからデータを読出す無線タグ読取装置、無線タグ書込方法、無線タグ読取方法及び無線タグに関する。
【背景技術】
【０００２】
ＩＣタグ、あるいはRFID（radio frequency identification）タグと呼ばれる無線タグとの間で無線通信する無線タグ読取装置は、変調無線信号を使用して無線タグへ情報を伝送する。情報の伝送終了後は無変調信号を送信し続け、これに対し、無線タグは、無線タグ読取装置からの無変調信号の反射量を変化させてバックスキャッタ変調を行うことにより、無線タグ読取装置に対して情報を送信する。無線タグ読取装置は、バックスキャッタ変調波を受信して無線タグの情報を読取るようになっている。
【０００３】
例えば、ＥＰＣ  ｇｌｏｂａｌ  ＲＦＩＤ  エアインターフェース仕様書（非特許文献１）などが定める無線タグでは、図２４（a）に示すように、自身のメモリ内にEPC(Electronic product code)と呼ばれる当該無線タグが取付けられるオブジェクト固有のID（Identification）情報（以下ＥＰＣデータという）を持ち、無線タグ読取装置から応答要求があった場合は、図２４(b)に示すように、PC（Protocol Control）と呼ばれるデータの長さを示すヘッダ情報、EPCデータ及び通信エラーの検出のためのCRC16（Cyclic Redundancy Check 16）コードからなるデータを返信する。
【０００４】
なお、無線タグは、自身が起動された時に、無線タグ内に記憶されているPCで指定された長さのEPCデータに対してCRC16コードを計算し、自身のメモリ内に格納しておき、このCRC16コードをＥＰＣデータとともに出力するようになっている。
【０００５】
一方、無線タグ読取装置は図２５に示すように、無線タグの応答データのプリアンブルを検出（４０１）すると、PCの受信（４０２）、EPCデータの受信（４０３）及びCRC16コードの受信（４０４）と順番に受信する。CRC16コードを受信した後、CRC16判定部において、ＰＣ及びＥＰＣ［０］〜ＥＰＣ［Ｎ−１］のデータに対してCRC16コードを計算し、受信したCRC16コードと比較することによりCRC16エラーチェックを行い（４０５）、読み取ったデータの正当性を判定する。判定の結果、エラーが無いときは正当なデータとして処理し（４０６）、エラーが検出されたときは不当なデータとして処理する（４０７）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】ＥＰＣ  ｇｌｏｂａｌ  ＲＦＩＤ  エアインターフェース仕様書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
無線タグが持つメモリは、主としてフラッシュメモリと呼ばれる不揮発性のメモリが使用される。フラッシュメモリでは、メモリセルの経時劣化が原因と考えられるビット化けが発生する可能性がある。ビット化けとは、メモリ内部のデータの論理0が論理1、あるいはこれとは逆に、論理1が論理0に化けてしまう現象である。
【０００８】
従来例では、通信中の外来ノイズなどによりデータの論理が化けてしまった場合は、無線タグ読取装置側でCRC16のエラーチェックを行うことで、データの正当性を判定し、不当なデータを検出することが可能である。しかしながら、無線タグのメモリ内部でビット化けが発生した場合、無線タグは、起動時に、ビット化けした不当なデータに対して、CRC16を計算するため、無線タグ読取装置側ではCRC16のエラーチェックを行っても、ビット化けに対するデータの正当性を判定することはできなかった。
【０００９】
本発明の実施形態は、このような問題を解決するためになされたもので、無線タグのメモリ内でビット化けが発生した場合、ビット化けしたデータを不当なデータとして判定することができる無線タグ書込装置、無線タグ読取装置、無線タグ書込方法、無線タグ読取方法及び無線タグを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１記載の無線タグ書込装置は、データを記憶するメモリを備える無線タグと通信を行い、無線タグにデータを書込む無線タグ書込装置において、当該無線タグが取付けられるオブジェクトを識別するための識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コードと、前記識別コードをその判定の種別によって生成した結果のチェックコードとを前記識別コードに付加する手段と、この付加手段で付加された判定種別コード、識別コード及びチェックコードを前記無線タグに送信する手段とを有することを特徴とする。
【００１１】
また、請求項４記載の無線タグ読取装置は、データを記憶するメモリを備える無線タグと通信を行い、無線タグからデータを読取る無線タグ読取装置において、無線タグから、当該無線タグが取付けられているオブジェクトを識別するための識別コード、この識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コード及び前記識別コードをその判定の種別によって生成した結果のチェックコードを読出す読出手段と、この読出手段で読出した判定種別コードで表される判定種別に基づいて前記読出手段で読出した識別コードからチェックコードを生成するチェックコード生成手段と、この生成手段で生成したチェックコードと、前記読出手段で読出したチェックコードとを比較することにより識別コードの正当性を判定する判定手段とを有することを特徴とする。
【００１２】
さらに請求項７記載の無線タグ書込方法は、データを記憶するメモリを備える無線タグと通信を行い、無線タグにデータを書込む方法であって、無線タグが取付けられるオブジェクトを識別するための識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を指定し、指定された判定の種別に基づいて前記識別コードからチェックコードを生成し、前記指定された判定の種別を表す判定種別コードと、前記生成されたチェックコードとを前記識別コードに付加して前記無線タグに送信することを特徴とする。
【００１３】
また、請求項８記載の無線タグ読取方法は、データを記憶するメモリを備える無線タグと通信を行い、無線タグからデータを読取る方法であって、無線タグから、当該無線タグが取付けられているオブジェクトを識別するための識別コード、この識別コードが前記メモリ内でビット化けを起こしていないかを確認するための判定の種別を表す判定種別コード及び前記識別コードをその判定の種別によって生成した結果のチェックコードを読出し、この読出した判定種別コードで表される判定種別に基づいて前記読出した識別コードからチェックコードを生成し、この生成したチェックコードと、前記読出したチェックコードとを比較して識別コードの正当性を判定することを特徴とする。
【００１４】
さらに、請求項９記載の無線タグは、当該無線タグが取付けられるオブジェクトを識別するための識別コードと、この識別コードがビット化けを起こしていないかを確認するための判定の種別を表す判定種別コードと、前記識別コードをその判定の種別によって生成した結果のチェックコードとを記憶したメモリと、外部からの読出し要求に応答して前記メモリに記憶した識別コード、判定種別コード及びチェックコードを出力する出力手段とを有することを特徴とする。
【図面の簡単な説明】
【００１５】
【図１ａ】第１の実施形態に係る無線タグ読取装置の構成を示す機能ブロック図である。
【図１ｂ】第１の実施形態に係る無線タグ読取装置の構成を示す構成ブロック図である。
【図２ａ】第１の実施形態に係る全データ単位のパリティチェックのメモリ内のデータ構成を示す図である。
【図２ｂ】第１の実施形態に係る全データ単位のパリティチェックの無線タグへの送信データを示す図である。
【図３】第１の実施形態に係る判定種別を示す図である。
【図４】第１の実施形態に係る全データ単位のパリティチェック（例）を示す図である。
【図５ａ】第１の実施形態に係る全データ単位のパリティチェックのデータ作成を示すフローチャート図である。
【図５ｂ】第１の実施形態に係る全データ単位のパリティチェックのデータ受信を示すフローチャート図である。
【図６ａ】第２の実施形態に係る全データ単位のチェックサムチェックのメモリ内のデータ構成を示す図である。
【図６ｂ】第２の実施形態に係る全データ単位のチェックサムチェックの無線タグの応答データを示す図である。
【図７】第２の実施形態に係る全データ単位のチェックサムチェック（例）を示す図である。
【図８ａ】第２の実施形態に係る全データ単位のチェックサムチェックのデータ作成を示すフローチャート図である。
【図８ｂ】第２の実施形態に係る全データ単位のチェックサムチェックの受信を示すフローチャート図である。
【図９ａ】第３の実施形態に係る全データ単位のCRC’１６チェックのメモリ内のデータ構成を示す図である。
【図９ｂ】第３の実施形態に係る全データ単位のCRC’１６チェックの無線タグの応答データを示す図である。
【図１０】第３の実施形態に係る全データ単位のCRC’１６チェック（例）を示す図である。
【図１１ａ】第３の実施形態に係る全データ単位のCRC’１６チェックの受信データの作成を示すフローチャート図である。
【図１１ｂ】第３の実施形態に係る全データ単位のCRC’１６チェックの受信を示すフローチャート図である。
【図１２ａ】第４の実施形態に係る１ワード（２バイト）単位のパリティチェックのメモリ内のデータ構成を示す図である。
【図１２ｂ】第４の実施形態に係る１ワード（２バイト）単位のパリティチェックの無線タグの応答データを示す図である。
【図１３】第４の実施形態に係る１ワード（２バイト）単位のパリティチェック（例）を示す図である。
【図１４ａ】第４の実施形態に係る１ワード（２バイト）単位のパリティチェックのデータ作成フローを示す図である。
【図１４ｂ】第４の実施形態に係る１ワード（２バイト）単位のパリティチェックの受信フローを示す図である。
【図１５ａ】第５の実施形態に係る１ワード（２バイト）単位のチェックサムチェックのメモリ内のデータ構成を示す図である。
【図１５ｂ】第５の実施形態に係る１ワード（２バイト）単位のチェックサムチェックの無線タグの応答データ構成を示す図である。
【図１６】第５の実施形態に係る１ワード（２バイト）単位のチェックサムチェック（例）を示す図である。
【図１７ａ】第５の実施形態に係る１ワード（２バイト）単位のチェックサムチェックのデータ作成フローを示す図である。
【図１７ｂ】第５の実施形態に係る１ワード（２バイト）単位のチェックサムチェックの受信フローを示す図である。
【図１８ａ】第６の実施形態に係る１ワード（２バイト）単位のCRC’１６チェックのメモリ内のデータ構成を示す図である。
【図１８ｂ】第６の実施形態に係る１ワード（２バイト）単位のCRC’１６チェックの無線タグの応答データを示す図である。
【図１９】第６の実施形態に係る１ワード（２バイト）単位のCRC’１６チェック（例）を示す図である。
【図２０ａ】第６の実施形態に係る１ワード（２バイト）単位のCRC’１６チェックのメモリ内のデータ構成を示す図である。
【図２０ｂ】第６の実施形態に係る１ワード（２バイト）単位のCRC’１７チェックの受信フロー受信フローを示す図である。
【図２１ａ】第７の実施形態に係るミラーデータチェックのメモリ内のデータ構成を示す図である。
【図２１ｂ】第７の実施形態に係るミラーデータチェックの無線タグの応答データを示す図である。
【図２２】第７の実施形態に係るミラーデータチェック（例）を示す図である。
【図２３ａ】第７の実施形態に係るミラーデータチェックのデータ作成フローを示す図である。
【図２３ｂ】第７の実施形態に係るミラーデータチェックの受信フローを示す図である。
【図２４ａ】タグのメモリ構成と応答のメモリ内のデータ構成を示す図である。
【図２４ｂ】タグのメモリ構成と応答の無線タグの応答データを示す図である。
【図２５】従来例・読取装置の受信フローを示す図である。
【発明を実施するための形態】
【００１６】
以下、実施の形態の無線タグ書込装置、無線タグ読取装置、無線タグ書込方法、無線タグ読取方法及び無線タグを、図面を参照して説明する。
【００１７】
（第１の実施形態）
図１は無線タグ書込／読取装置（以下リーダライタという）１と無線タグ２の構成を示すブロック図である。リーダライタ１には装置本体を制御する制御部１０、送信部３０及び受信部４０が設けられている。
【００１８】
制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリを含んでおり、予め記憶されたプログラムに従って動作するようになっている。
【００１９】
また、無線タグ２はデータを記憶するメモリ２１、このメモリ２１内のデータに基づいて後述するエラーチェックコードを生成したり、リーダライタ１との間でデータを入出力する入出力部２２及びリーダライタ１との間で無線通信を行うアンテナ２３とで構成されている。
【００２０】
リーダライタ１の送信部３０は、無線タグ２にデータを送信する際、図２（ｂ）に示すＥＰＣ［０］〜ＥＰＣ［Ｎ−１］のＮワードのＥＰＣデータ２４を用意する。
【００２１】
PCヘッダ付加部３２ではこのＥＰＣデータ２４に対してプリアンブル部２５を付加するとともに、ＥＰＣデータＮワード、後述する指定された判定の種別を示す判定種別コード２６を１ワード、及びこの判定の種別に対応した判定方法で生成したチェックコード２７を１ワード加算してＮ＋２ワードをデータ長ＰＣ２８としてＥＰＣデータ２４の前に付加する。
【００２２】
判定種別ヘッダ付加部３３ではＥＰＣデータ２４が無線タグ２のメモリ２１内でビット化けを起こしていないかを確認するための判定の種別を表す１ワードの判定種別コード２６をＥＰＣデータ２４の前に付加する。第１の実施形態では判定の種別として全データに対してパリティチェックを行うことによりビット化け発生の有無を判定する例を示している。
【００２３】
ビット化け判定用データ付加部３４ではＰＣヘッダ付加部３２で付加されたデータ長ＰＣ２８、判定種別ヘッダ付加部３３で付加された判定種別コード２６及びＥＰＣデータ２４からパリティチェックコード２７を生成してＥＰＣデータ２４の最終部に付加し、無線タグ２への送信データを作成する。
【００２４】
このように作成された送信データは符号化部３５で符号化され、変調部３６でベースバンドの搬送波を変調する。変調された送信データは増幅部３７で増幅され、アンテナ３８から無線信号として無線タグ２に送信される。この無線タグ２に送信されるデータ列は図２（ｂ）のようになっている。
【００２５】
そして、リーダライタ１からデータを受信した無線タグ２は入出力部２２でプリアンブル部２５を除いて図２（ａ）に示すようにメモリ２１の１０ｈ〜［Ｎ＋３］Ｆｈ番地に記憶させる（ｈは１６進数を表している）。
【００２６】
この例では、１ワード（２バイト）単位でデータが記憶されている。無線タグ２はリーダライタ１によって起動されたときデータ長ＰＣ２８で指定されたワード長のデータに対してＣＲＣチェックコード（以下ＣＲＣ１６という）２９を計算し、００ｈ〜０Ｆｈ番地に記憶する。このＣＲＣ１６は無線タグ２からリーダライタ１への通信時のエラーチェックに使用されるものである。
【００２７】
また、１０ｈ〜１Ｆｈ番地には自身を含め、判定種別コード２６、ＥＰＣデータ２４及びパリティチェックコード２７までのワード長を示すデータ長情報ＰＣ２８が記憶される。２０ｈ〜２Ｆｈ番地にはメモリ２１内のデータにビット化け発生の有無を判定する判定の種別を示す判定種別コード２６が記憶される。３０ｈ番地以降にはＥＰＣ［０］〜ＥＰＣ［Ｎ−１］としてＮワードのＥＰＣデータ２４が記憶され、［Ｎ＋３］０ｈ〜［Ｎ＋３］Ｆｈ番地には、パリティチェックコード２７が記憶される。
【００２８】
一方、リーダライタ１から無線タグ２に対してデータの読取コマンドが送られると、無線タグ２は起動された時点でメモリ２１内のデータ長ＰＣ２８からパリティチェックコード２７までのデータに対してＣＲＣ１６を作成してメモリ２１の００ｈ〜０Ｆｈ番地に記憶する。
【００２９】
その後、無線タグ２は図２（ｂ）に示すデータ列の最後にＣＲＣ１６  ２９を付加してリーダライタ１に応答信号としてデータを送信する。リーダライタ１の受信部４０は、無線タグ２からの応答信号を受信するアンテナ４１と、無線タグ２からの応答信号を図示していないローカル信号によってベースバンド信号に復調する復調部４２と、復調したベースバンド信号を増幅する増幅部４３と、増幅されたベースバンドから無線タグ２の応答データを復号する復号部４４とを有する。また受信部４０は、無線タグ２からのデータの長さを判定するPCヘッダ判定部４５と、無線タグ２から読出したデータ列からビット化け発生の有無を判定するための判定種別コード２６を抽出する判定種別抽出部４６とを有する。
【００３０】
さらに、受信部４０には、判定種別抽出部４６で抽出された判定種別コード２６を用いて、無線タグ２から読み出したデータ列のうち、データ長ＰＣ２８、判定種別コード２６及びＥＰＣデータ２４に対してパリティチェックコードを生成し、生成したパリティチェックコードと無線タグ２から読出したパリティチェックコード２７とを比較することによりビット化けの判定を行うビット化け判定部４７を有する。
【００３１】
さらにまた受信部４０には、無線タグ２から読出したデータ列のうち、データ長ＰＣ２８からパリティチェックコード２７までのデータに対してＣＲＣ１６を作成し、無線タグ２から読出したＣＲＣ１６  ２９と比較し、データ通信時のエラーチェックを行うＣＲＣ判定部４８を有する。
【００３２】
従来例と本発明の実施形態において、大きく異なるところは、図1において、網掛けで示した部分、すなわち、判定種別ヘッダ付加部３３、ビット化け判定用データ付加部３４、判定種別抽出部４６、及びビット化け判定部４７を備えたことである。判定種別ヘッダ付加部３３及びビット化け判定部４７におけるビット化け発生の有無の判定種別コード２６とその判定方法は、例えば、図３に示すように予め決められている。
【００３３】
次に、このような構成の作用を説明する。
【００３４】
無線タグ２にデータを書き込む場合は、図３に示す判定種別から利用する判定の種別を指定する。この指定された判定の種別に応じて、判定種別コード２６を判定種別ヘッダ付加部３３でＥＰＣデータ２４に付加するとともに、データ長ＰＣ２８、判定種別コード２６及びＥＰＣデータ２４に対してその判定の種別によって生成した結果のチェックコード２７を付加して無線タグ２に送信し、書き込む。
【００３５】
一方、無線タグ２のデータを読取る場合は、無線タグ２から読出したデータ列から判定種別コード２６を抽出し、無線タグ２から読出したデータ列のうち、データ長ＰＣ２８、判定種別コード２６及びＥＰＣデータ２４に対してその抽出した判定の種別によって生成した結果のチェックコードを生成し、無線タグ２から読出したチェックコード２７と比較する。この比較の結果、両方のチェックコードが一致していれば無線タグ２のメモリ内でのビット化けが発生していないことを確認できる。
【００３６】
図４に判定の種別としてパリティチェックを指定したときのチェック方法の具体例を示す。
【００３７】
図4(a)に、リーダライタ１が無線タグ２にデータを書き込む際のパリティチェックコードの生成方法を示す。送信しようとするデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して、値が1であるビットの個数が偶数である場合はパリティチェックコードとして0を、値が１であるビットの個数が奇数である場合はパリティチェックコードとして1を生成する。
【００３８】
図4(b)から(d)は、リーダライタ１が無線タグ２からデータを読取る際の、ビット化け発生の有無の判定方法を示している。図4(b)に示すように、ビット化けが発生していない場合は、受信したデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して計算したパリティチェックコードと、無線タグ２から読出したパリティチェックコード２７とが一致する。
【００３９】
一方、受信したデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４においてビット化けが発生している場合は、計算したパリティチェックコードと受信したパリティチェックコード２７とが一致しないのでビット化けが発生していると判定することができる。
【００４０】
図4（c）はEPCデータ２４の部分でビット化けが発生した結果、パリティチェックコード２７が一致しない場合を示しており、図4（d）はパリティチェックコード２７の部分でビット化けが発生した結果、パリティチェックコードが一致しない場合を示している。
図5(a)は、リーダライタ１が無線タグ２に対してデータを書き込む際に書き込むべきデータを作成するフローチャートである。まず、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対するワード長を計算し（１０１）、データ長ＰＣ２８として付加する（１０２）。次に図３に示した対応表に従い、ビット化け発生の有無の判定種別となる判定種別コード２６を付加する（１０３）。本実施例では、パリティチェックであるので、判定種別コード２６はX”01”である。次にEPCデータ２４を付加し（１０４）、最後にデータ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して計算したパリティチェックコード２７を付加し（１０５）、書き込むデータの作成が完了する（１０６）。
【００４１】
図5(b)は、リーダライタ１が無線タグ２からの応答データを受信し、ビット化けの発生の有無を判定するフローチャートを示している。
まず、データ長ＰＣ２８を受信し（１１２）、無線タグ２から受信するデータのワード長を判定する。次に判定種別コード２６を受信し（１１３）、図３の対応表に従い、ビット化け発生の有無の判定の種別を選択する。次にEPCデータ２４を受信した後、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して、パリティチェックコードを計算する（１１５）。その後、パリティチェックコードの受信（１１６）、CRC16の受信（１１７）をした後、CRC16エラーチェックを行う（１１８）。
【００４２】
ここでCRC16エラーが発生した場合は、受信したデータは不当なデータとして処理し（１２１）、受信を終了する（１２２）。一方、CRC16エラーがない場合は、計算で求めたパリティチェックコードと受信したパリティチェックコード２７とを比較し（１１９）、一致する場合は、ビット化けが発生していない正当なデータとして処理し（１２０）、受信を終了する。一方、パリティチェックが一致しない場合は、ビット化けが発生した不当なデータとして処理し（１２１）、受信を終了する。
【００４３】
このように、無線タグへのデータの書き込み時にビット化け発生の有無の判定種別を表すコードと、その判定の種別で生成したチェックコードとをデータに付加して書き込み、無線タグからのデータ読出し時に読出した判定種別コードに基づいてチェックコードを生成し、無線タグから読出したチェックコードと比較することにより無線タグのメモリ内でビット化けが発生しているか否かが判定できるものである。
【００４４】
（第２の実施形態）
次に、本発明の第２の実施形態について図6から図8を参照して説明する。第２の実施形態は、全データに対してチェックサムチェックを行うことにより、ビット化け発生の有無を判定する例を示す。
【００４５】
図6(a)は、無線タグ２のメモリ２１内のデータ構成を示している。この例では、1ワード（2バイト）単位でデータが記録されており、00h-0Fh番地には、無線タグ２が起動時にデータ長ＰＣ２８で指定されるワード長のデータに対して計算され、通信時のCRC16エラーチェックに使用されるCRC16  ２９が格納されている。10h-1Fh番地には自身を含め、判定種別コード２６EPCデータ２４及びチェックサムチェックコード３７のワード長を示すデータ長ＰＣ２８が格納される。20h-2Fh番地には、ビット化け発生の有無を判定する判定方法を示す判定種別コード２６が格納されている。30h番地以降には、EPC[0]-EPC[N-1]としてNワードのEPCデータ２４が格納されており、［N+3］0h-［N+3］Fh番地には、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して、計算されたチェックサムチェックコード３７が格納されている。
このように記憶された無線タグ２は、リーダライタ１の応答要求、例えば、読出しコマンドに対して、図6(b)のように、プリアンブル２５に続き、メモリ２１内のデータを返す。
【００４６】
図7(a)に、リーダライタ１が無線タグ２にデータを書き込む際のチェックサムチェックコード３７の生成方法を示す。送信しようとするデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して、値が1であるビットの個数を加算し、この値をチェックサムチェックコード３７として生成する。
【００４７】
図7(b)から(d)は、リーダライタ１が無線タグ２のデータを読み取る際の、ビット化け発生の有無の判定方法を示している。図7(b)に示すように、ビット化けが発生していない場合は、受信したデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して計算したチェックサムチェックコードと、受信したチェックサムチェックコード３７は一致する。
【００４８】
一方、受信したデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４においてビット化けが発生している場合は、計算したチェックサムチェックコードと受信したチェックサムチェックコード３７とが一致しないのでビット化けが発生していると判定することができる。
【００４９】
図7（c）はEPCデータ２４の部分でビット化けが発生した結果、計算したチェックサムチェックコードが無線タグ２から受信したチェックサムコード３７と一致しない場合を示しており、図7（d）は無線タグ２から受信したチェックサムチェックコード３７の部分でビット化けが発生した結果、計算したチェックサムチェックコードと一致しない場合を示している。
【００５０】
図8(a)は、リーダライタ１が無線タグ２に対してデータを書き込む際に書き込むべきデータを作成するフローチャートである。
まず、ヘッダ付加部３２は、データ長ＰＣ２８、判定種別コード２６、EPCデータ２４及びチェックサムチェックコード３７に対するワード長を計算し、データ長ＰＣ２８として付加する（１３２）。次に図３に示した対応表に従って指定された、ビット化け発生の有無の判定方法となる判定種別コード２６を付加する（１３３）。本実施形態では、判定種別コードはX”02”である。次にEPCデータ２４を付加し（１３４）、最後にデータ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して計算したチェックサムチェックコード３７を付加し（１３５）、書き込むデータの作成が終了する（１３６）。
【００５１】
図8(b)は、リーダライタ１が無線タグ２からの応答データを受信し、ビット化け発生の有無を判定するフローチャートを示している。
【００５２】
まず、リーダライタ１は無線タグ２からデータ長ＰＣ２８を受信し（１４２）、無線タグ２が応答しようとするデータのワード長を判定する。次に判定種別コード２６を受信し、図３の対応表に従い、ビット化け発生の有無の判定の種別を抽出する（１４３）。次にEPCデータ２４を受信（１４４）した後、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して、チェックサムチェックコードを計算する（１４５）。その後、チェックサムチェックコード３７の受信（１４６）、CRC16  ２９を受信（１４７）した後、CRC16エラーチェックを行う（１４８）。ここでCRC16エラーが発生した場合は、受信したデータは不当なデータとして処理し(１５１)、受信を終了する（１５２）。
【００５３】
一方、CRC16エラーがない場合は、計算で求めたチェックサムチェックコードと受信したチェックサムチェックコード３７とを比較し（１４９）、一致する場合は、ビット化けが発生していない正当なデータとして処理し（１５０）、受信を終了する。チェックサムチェックコードが一致しない場合は、ビット化けが発生した不当なデータとして処理し（１５１）、受信を終了する。
【００５４】
なお、本実施形態においては、データ長ＰＣ２８と判定種別コード２６を別々のワード（2バイト）としているが、両者を同一ワード内に収めても良い。例えば、データ長ＰＣ２８内に判定種別コード２６を含めてしまい、データ長ＰＣ２８の上位バイトにワード長を示すレングス情報を、下位バイトに判定種別コード２６を収めるようにしてもよい。
【００５５】
（第３の実施形態）
次に、本発明の第３の実施形態について図9から図11を参照して説明する。第３の実施形態では、全データに対してCRC’16チェックを行うことにより、ビット化け発生の有無を判定する例を示す。ここでCRC’16は、無線タグ２が起動時に自身のメモリ１２内のデータに対して計算するCRC16と区別するためにCRC’16と記述している。
【００５６】
図9(a)は、無線タグ２のメモリ２１のデータ構成を示している。この例では、1ワード（2バイト）単位でデータが記録されており、00h-0Fh番地には、無線タグ２が起動時にデータ長ＰＣ２８で指定されるワード長のデータに対して計算され、通信時のCRC16エラーチェックに使用されるCRC16  ２９が格納されている。10h-1Fh番地には自身を含め、判定種別コード２６、EPCデータ２４及びＣＲＣ‘１６  ４７のワード長を示すデータ長ＰＣ２８が格納される。20h-2Fh番地には、ビット化け発生の有無を判定する判定方法を示す判定種別コード２６が格納されている。30h番地以降には、EPC[0]-EPC[N-1]としてNワードのEPCデータ２４が格納されており、［N+3］0h-［N+3］Fh番地には、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４のデータに対して、計算されたCRC’16  ４７が格納されている。
【００５７】
このようなデータ構成の下では、リーダライタ１の応答要求、例えば、読出しコマンドに対して、無線タグ２は、図9 (b)のように、プリアンブル３３に続き、メモリ２１内のデータを返す。
【００５８】
図10(a)に、リーダライタ１が無線タグ２にデータを書き込む際のCRC’16  ４７の生成方法を示す。送信しようとするデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及び、EPCデータ２４に対して、公知の技術を用いてCRC’16を生成する。なお、図１０に示されているCRC’16は説明上の架空の値であって、計算されたものではない。
【００５９】
図10(b)から(d)は、リーダライタ１が無線タグ２のデータを読み取る際の、ビット化け発生の有無の判定方法を示している。図10(b)に示すように、ビット化けが発生していない場合は、受信したデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及び、EPCデータ２４に対して計算したCRC’16と、無線タグ２から受信したCRC’16  ４７とは一致する。
【００６０】
一方、受信したデータ、すなわち、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４においてビット化けが発生している場合は、計算したCRC’16と受信したCRC’16  ４７とが一致しないのでビット化けが発生していると判定することができる。図10（c）はEPCデータ２４の部分でビット化けが発生した結果、CRC’16が一致しない場合を示しており、図10（d）は無線タグ２から受信したCRC’16  ４７の部分でビット化けが発生した結果、CRC’16が一致しない場合を示している。
【００６１】
図11(a)は、リーダライタ１が無線タグ２に対してデータを書き込む際に書き込むべきデータを作成するフローチャートである。
【００６２】
まず、データ長ＰＣ２８、判定種別コード２６、EPCデータ２４及びCRC’16  ４７に対するワード長を計算し、データ長ＰＣ２８として付加する（１６２）。次に図３に示した対応表から指定された判定の種別に従い、ビット化け発生の有無の判定方法となる判定種別コード２６を付加する（１６３）。本実施形態では、判定種別コード２６はX”03”である。次にEPCデータ２４を付加し（１６４）、最後にデータ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して計算したCRC’16を付加し（１６５）、書き込むデータの作成が完了する（１６６）。
【００６３】
図11（b）は、リーダライタ１が無線タグ２からの応答データを受信し、ビット化け発生の有無を判定するフローチャートを示している。
【００６４】
まず、無線タグ２からデータ長ＰＣ２８を受信し（１７２）、無線タグ２が応答しようとするデータのワード長を判定する。次に判定種別コード２６を受信し（１７３）、図３の対応表に従い、ビット化け発生の有無の判定方法を選択する。次にEPCデータ２４を受信（１７４）した後、データ長ＰＣ２８、判定種別コード２６及びEPCデータ２４に対して、CRC’16を計算する（１７５）。
【００６５】
その後、CRC‘16  ４７を受信（１７６）し、CRC16エラーチェックを行う（１７７）。ここでCRC16エラーが発生した場合は、受信したデータは不当なデータとして処理する（１８０）。
【００６６】
一方、CRC16エラーがない場合は、計算で求めたCRC’16と受信したCRC’16  ４７とを比較し（１７８）、一致する場合は、ビット化けが発生していない正当なデータとして処理し（１７９）、受信を終了する（１８１）。ＣＲＣ’１６の比較結果で（１７８）CRC’16が一致しない場合は、ビット化けが発生した不当なデータとして処理し（１７９）、受信を終了する（１８１）。
【００６７】
（第４の実施形態）
続いて、本発明の第４の実施形態について図12から図14を参照して説明する。第４の実施形態では、1ワード（2バイト）単位でパリティチェックをおこなうことにより、ビット化け発生の有無を判定する例を示す。
【００６８】
図12(a)は、無線タグ２のメモリ２１のデータ構成を示している。この例では、1ワード（2バイト）単位でデータが記録されており、00h-0Fh番地には、タグが起動時にデータ長ＰＣ２８で指定されるワード長のデータに対して計算され、通信時のCRC16エラーチェックに使用されるCRC16  ２９が格納されている。10h-1Fh番地には自身を含め、判定種別コード２６、ＮワードのEPCデータ２４［０］−２４［Ｎ−１］及び、全てのパリティチェックコード５７［０］−５７［Ｎ−１］のワード長を示すデータ長ＰＣ２８が格納される。20h-2Fh番地には、ビット化け発生の有無を判定する判定方法を示す判定種別コード２６が格納されている。30h-3Fh番地にはEPC[0]データが、40h-4Fh番地にはEPC[0]データに対して計算されたパリティチェックコード５７[0]が格納されている。以下同様に、[2N+1]0h-［2N+1］Fh番地にはEPC[N-1]データが、［2N+２］0h-［2N+２］Fh番地にはEPC[N-1]データに対して計算されたパリティチェックコード５７［Ｎ−１］がそれぞれ格納されている。
【００６９】
このようなデータ構成の下では、リーダライタ１の応答要求、例えば、読出しコマンドに対して、無線タグ２は、図12(b)のように、プリアンブル２５に続き、メモリ２１内のデータを出力する。
【００７０】
図13(a)に、リーダライタ１が無線タグ２にデータを書き込む際の偶数パリティチェックコード２４の生成方法を示す。送信しようとするEPCデータ２４の1ワードに対して、値が1であるビットの個数が偶数である場合はパリティチェックコードとして0を、値が1であるビットの個数が奇数である場合はパリティチェックコードとして1をそれぞれパリティチェックコード５７として生成する。
【００７１】
図13(b)から(d)は、リーダライタ１が無線タグ２のデータを読み取る際の、ビット化け発生の有無の判定方法を示している。
【００７２】
図13(b)に示すように、ビット化けが発生していない場合は、受信したEPCデータ２４の1ワードに対して計算したパリティチェックコードと、無線タグ２から受信したパリティチェックコード５７は一致する。一方、受信したEPCデータ２４の1ワードでビット化けが発生している場合は、計算したパリティチェックコードと無線タグ２から受信したパリティチェックコード５７が一致しないのでビット化けが発生していると判定することができる。
【００７３】
図13（c）はEPデータ２４の部分でビット化けが発生した結果、パリティチェックコード５７が一致しない場合を示しており、図13（d）は無線タグ２から受信したパリティチェックコード５７の部分でビット化けが発生した結果、パリティチェックコードが一致しない場合を示している。
【００７４】
図14(a)は、リーダライタ１が無線タグ２に対してデータを書き込む際に書き込むべきデータを作成するフローチャートである。
【００７５】
まず、データ長ＰＣ２８、判定種別コード２６、ＮワードのEPCデータ２４［０］−２４［ｎ−１］及びＥＰＣデータの各ワードに対するパリティチェックコード５７［０］−５７［Ｎ−１］のワード長を計算し、データ長ＰＣ２８として付加する（１９２）。次に図３に示した対応表から指定された判定方法に従い、ビット化け発生の有無の判定方法となる判定種別コード２６を付加する（１９３）。
【００７６】
次にEPCデータ1ワード２４［０］を付加し（１９４）、このEPCデータ1ワード２４［０］に対して計算したパリティチェックコード５７［０］を付加（１９５）していく。これをＥＰＣデータの全てのワードに対して繰り返す（１９６）と、データの作成が完了する（１９７）。
【００７７】
図14(b)は、リーダライタ１が無線タグ２からの応答データを受信し、ビット化け発生の有無を判定するフローチャートを示している。
【００７８】
まず、データ長ＰＣ２８を受信し（２０２）、無線タグ２が応答しようとするデータのワード長を判定する。次に判定種別コード２６を受信し（２０３）、図３の対応表に従い、ビット化け発生の有無の判定方法を選択する。
【００７９】
次にEPCデータの1ワード２４［０］を受信（２０４）した後、このEPCデータ1ワード２４［０］に対して、パリティチェックコードを計算する（２０５）。次にパリティチェックコード５７［０］を受信し（２０６）、先に計算で求めたパリティチェックコードと受信したパリティチェックコード５７［０］とを比較し（２０７）、一致する場合は、ビット化けが発生していない正当なデータとして判定して、次のEPCデータの1ワードを受信する（２０４）。一方、（２０７）での比較の結果、パリティチェックコードが一致しない場合は、ビット化けが発生した不当なデータとして処理し（２０９）、受信を終了する（２１０）。
【００８０】
これを受信すべきＥＰＣデータの全てのワード数に相当する回数だけ繰り返し（２０８）、最後にCRC16  ２９を受信（２１１）した後、CRC16エラーチェックを行う（２１２）。ここでCRC16エラーが発生した場合は、受信したデータは不当なデータとして処理する（２０９）。一方、CRC16エラーがない場合は、ビット化けが発生していない正当なデータとして処理し（２１３）、受信を終了する（２１０）。
【００８１】
なお、本実施形態では1ワード（2バイト）単位でパリティチェックコードを付加しておき、受信時にこれをチェックする例を示しているが、１ワード単位ではなく、数ワード単位で行っても良い。また、１ワードのバイト数も２バイトに限定されない。
【００８２】
（第５の実施形態）
続いて、本発明の第５の実施形態について図15から図17を参照して説明する。第５の実施形態は1ワード（2バイト）単位でチェックサムチェックをおこなうことにより、ビット化け発生の有無を判定する例を示す。
【００８３】
図15(a)は、無線タグ２のメモリ２１のデータ構成を示している。この例では、1ワード（2バイト）単位でデータが記録されており、00h-0Fh番地には、無線タグ２の起動時にデータ長ＰＣ２８で指定されるワード長のデータに対して計算され、通信時のCRC16エラーチェックに使用されるCRC16が格納されている。10h-1Fh番地には自身を含め、判定種別コード２６、全てのEPCデータ２４［０］−２４［Ｎ−１］及び全てのチェックサムチェックコード６７［０］−６７［Ｎ−１］のワード長を示すデータ長ＰＣ２８が格納される。20h-2Fh番地には、ビット化け発生の有無を判定する判定方法を示す判定種別コード２６が格納されている。
【００８４】
30h-3Fh番地には１ワード目のEPCデータ２４[0]が、40h-4Fh番地には１ワード目のEPCデータ２４[0]に対して計算されたチェックサムチェックコード６７[0]がそれぞれ格納されている。以下同様に、［2N+1］0h-［2N+1］Fh番地にはＮワード目のEPCデータ２４[N-1]が、［2N+２］0h-［2N+２］Fh番地にはＮワード目のEPCデータ２４[N-1]に対して計算されたチェックサムチェックコード６７[N-1]がそれぞれ格納されている。
【００８５】
このようなデータ構成の下では、リーダライタ１の応答要求、例えば、読出しコマンドに対して、無線タグ２は、図15(b)のように、プリアンブル２５に続き、メモリ２１内のデータを出力する。
【００８６】
図16(a)に、リーダライタ１が無線タグ２にデータを書き込む際のチェックサムチェックコードの生成方法を示す。送信しようとするEPCデータの1ワードに対して、値が1であるビットの個数を加算し、この値をチェックサムチェックコード６７[N-1]として生成する。
【００８７】
図16(b)から(d)は、リーダライタ１が無線タグ２のデータを読取る際の、ビット化け発生の有無の判定方法を示している。図16(b)に示すように、ビット化けが発生していない場合は、受信したEPCデータ２４の1ワードに対して計算したチェックサムチェックコードと、無線タグ２から受信したチェックサムチェックコード６７[N-1]は一致する。一方、受信したEPCデータ２４の1ワードでビット化けが発生している場合は、計算したチェックサムチェックコードと無線タグ２から受信したチェックサムチェックコード６７[N-1]とが一致しないのでビット化けが発生していると判定することができる。
【００８８】
図16（c）はEPCデータ２４の部分でビット化けが発生した結果、チェックサムチェックコードが一致しない場合を示しており、図16（d）は無線タグ２から受信したチェックサムチェックコード６７[N-1]の部分でビット化けが発生した結果、チェックサムチェックが一致しない場合を示している。
【００８９】
図17(a)は、リーダライタ１が無線タグ２に対してデータを書き込む際に書き込むべきデータを作成するフローチャートである。
【００９０】
まず、データ長ＰＣ２８、判定種別コード２６、全てのEPCデータ２４［０］−２４［Ｎ−１］及びそれぞれのEPCデータ２４［０］−２４［Ｎ−１］に対するチェックサムチェックコード６７［０］−６７［Ｎ−１］のワード長を計算し、データ長ＰＣ２８として付加する（３１２）。次に図３に示した対応表から指定された判定種別に従い、ビット化け発生の有無の判定方法となる判定種別コード２６を付加する（３１３）。
【００９１】
次にEPCデータの1ワードを付加し（３１４）、このEPCデータの1ワードに対して計算したチェックサムチェックコードを付加していく（３１５）。これを全てのワード数に対して繰り返すと（３１６）、データの作成が完了する（３１７）。
【００９２】
図17(b)は、リーダライタ１が無線タグ２からの応答データを受信し、ビット化けの発生の有無を判定するフローチャートを示している。
【００９３】
まず、データ長ＰＣ２８を無線タグ２から受信し（３２２）、無線タグ２が応答しようとするデータのワード長を判定する。次に判定種別コード２６を受信し（３２３）、図３の対応表に従い、ビット化け発生の有無の判定方法を選択する。次にEPCデータ２４の1ワードを受信（３２４）した後、このEPCデータ２４の1ワードに対して、チェックサムチェックコードを計算する（３２５）。次に無線タグ２からチェックサムチェックコードを受信し（３２６）、計算で求めたチェックサムチェックコードと無線タグ２から受信したチェックサムチェックコードとを比較し（３２７）、一致する場合は、次のEPCデータ２４の1ワードを受信する（３２４）。
【００９４】
一方、（３２７）の比較の結果、チェックサムチェックコードが一致しない場合は、ビット化けが発生した不当なデータとして処理し（３２８）、受信を終了する（３２９）。
これを受信すべきＥＰＣデータ全てのワードに相当する回数だけ繰り返し（３３０）、最後にCRC16を受信（３３１）した後、CRC16エラーチェックを行う（３３２）。ここでCRC16エラーが発生した場合は、受信したデータは不当なデータとして処理する（３２８）。一方、CRC16エラーがない場合は、ビット化けが発生していない正当なデータとして処理し（３３３）、受信を終了する。
【００９５】
なお、本実施形態でも1ワード（2バイト）単位でチェックサムチェックコードを付加しておき、受信時にこれをチェックする例を示しているが、１ワード単位ではなく、数ワード単位で行っても良い。また１ワードのバイト数も２バイトに限定されるものではない。
【００９６】
（第６の実施形態）
さらに、本発明の第６の実施形態について図18から図20を参照して説明する。第６の実施形態は、1ワード（2バイト）単位でCRC’16チェックを行うことにより、ビット化け発生の有無を判定する例を示す。
【００９７】
ここでCRC’16は、無線タグ２の起動時に自身のメモリ２１内のデータに対して計算するCRC16と区別するためにCRC’16と記述している。
【００９８】
図18(a)は、無線タグ２のメモリ２１のデータ構成を示している。この例では、1ワード（2バイト）単位でデータが記録されており、00h-0Fh番地には、無線タグ２の起動時にデータ長ＰＣ２８で指定されるワード長のデータに対して計算され、通信時のCRC16エラーチェックに使用されるCRC16  ２９が格納されている。10h-1Fh番地には自身を含め、判定種別２６、EPCデータ２４［０］−２４［Ｎ−１］及び、CRC’16  ７７［０］−７７［Ｎ−１］のワード長を示すデータ長ＰＣ２８が格納される。20h-2Fh番地には、ビット化け発生の有無を判定する判定方法を示す判定種別コード２６が格納されている。30h-3Fh番地には１ワード目のEPCデータ[0]が、40h-4Fh番地には１ワード目のEPCデータ[0]に対して計算されたCRC’16  ７７[0]がそれぞれ格納されている。以下同様に、［2N+1］0h-［2N+1］Fh番地にはＮワード目のEPCデータ[N-1]が、［2N+２］0h-［2N+２］Fh番地にはＮワード目のEPCデータ[N-1]に対して計算されたCRC’16  ７７[N-1]が格納されている。
【００９９】
このようなデータ構成の下では、リーダライタ１の応答要求、例えば、読出しコマンドに対して、無線タグ２は、図18(b)のように、プリアンブル２５に続き、メモリ２１内のデータを出力する。
【０１００】
図19(a)に、リーダライタ１が無線タグ２にデータを書き込む際のCRC’16の生成方法を示す。送信しようとするEPCデータの1ワードに対して、CRC’16を計算する。
【０１０１】
図19(b)から(d)は、リーダライタ１が無線タグ２のデータを読み取る際の、ビット化け発生の有無の判定方法を示している。図19(b)に示すように、ビット化けが発生していない場合は、受信したEPCデータの1ワードに対して計算したCRC’16と、受信したCRC’16は一致する。一方、受信したEPCデータの1ワードでビット化けが発生している場合は、計算したCRC’16と受信したCRC’16とが一致しないのでビット化けが発生していると判定することができる。
【０１０２】
図19（c）はEPCデータの部分でビット化けが発生した結果、CRC’16が一致しない場合を示しており、図19（d）は無線タグ２から受信したCRC’16の部分でビット化けが発生した結果、CRC’16が一致しない場合を示している。
【０１０３】
図20(a)は、リーダライタ１が無線タグ２に対してデータを書き込む際に書き込むべきデータを作成するフローチャートである。
【０１０４】
まず、データ長ＰＣ２８、判定種別コード２６、EPCデータ２４［０］−２４［Ｎ−１］及びCRC’16  ７７［０］−７７［Ｎ−１］に対するワード長を計算し、データ長ＰＣ２８として付加する（３４２）。次に図３に示した対応表から指定された判定種別に従い、ビット化け発生の有無の判定方法となる判定種別コード２６を付加する（３４３）。次にEPCデータの1ワードを付加し（３４４）、次にこのEPCデータの1ワードに対して計算したCRC’16  を付加していく（３４５）。これを全てのワード数に対して繰り返す（３４６）と、データの作成が完了する（３４７）。
【０１０５】
図20(b)は、リーダライタ１が無線タグ２からの応答データを受信し、ビット化けの発生の有無を判定するフローチャートを示している。
【０１０６】
まず、データ長ＰＣ２８を受信し（３５２）、無線タグ２が応答しようとするデータのワード長を判定する。次に判定種別コード２６を受信し、図３の対応表に従い、ビット化け発生の有無の判定方法を選択する。次にEPCデータの1ワードを受信（３５４）した後、このEPCデータの1ワードに対して、CRC’16を計算する（３５５）。
【０１０７】
次に無線タグ２からCRC’16を受信し、計算で求めたCRC’16と受信したCRC’16とを比較し（３５７）、一致する場合は、ビット化けが発生していない正当なデータとして判定して、次のEPCデータの1ワードを受信する（３５４）。一方、（３５７）の比較の結果、CRC’16が一致しない場合は、ビット化けが発生した不当なデータとして処理し（３５８）、受信を終了する（３５９）。
【０１０８】
これを受信すべき全てのワードに相当する回数だけ繰り返し（３６０）、最後にCRC16を受信（３６１）した後、CRC16エラーチェックを行う（３６２）。ここでCRC16エラーが発生した場合は、受信したデータは不当なデータとして処理する（３５８）。一方、CRC16エラーがない場合は、ビット化けが発生していない正当なデータとして処理し（３６３）、受信を終了する（３５９）。
【０１０９】
なお、本実施形態では1ワード（2バイト）単位でCRC’16を付加しておき、受信時にこれをチェックする例を示しているが、１ワード単位ではなく、数ワード単位で行っても良い。また、１ワードのバイト数も２バイトに限定されるものではない。
【０１１０】
（第７の実施形態）
次に、本発明の第７の実施形態について図21から図23を参照して説明する。第７の実施形態は、データをミラーリングし、ミラーデータチェックにより、ビット化け発生の有無を判定する例を示す。
【０１１１】
図21(a)は、無線タグ２のメモリ２１のデータ構成を示している。この例では、1ワード（2バイト）単位でデータが記録されており、00h-0Fh番地には、無線タグ２の起動時にデータ長ＰＣ２８で指定されるワード長のデータに対して計算され、通信時のCRC16エラーチェックに使用されるCRC16  ２９が格納されている。10h-1Fh番地には自身を含め、判定種別コード２６、全てのEPCデータ２４［０］−２４［Ｎ−１］及び全てのミラーデータ（以下EPC’データという）８７［０］−８７［Ｎ−１］のワード長を示すデータ長ＰＣ２８が格納される。20h-2Fh番地には、ビット化け発生の有無を判定する判定方法を示す判定種別コード２６が格納されている。
【０１１２】
30h-［N+2］Fh番地にはＮワードのEPCデータ２４［０］−２４［Ｎ−１］５１が格納されており、［N+3］0h-［2N+2］Fh番地にはEPCデータと同一のデータであるＮワードのミラーデータ（ＥＰＣ’データ）８７［０］−８７［Ｎ−１］が格納されている。
【０１１３】
このようなデータ構成の下では、リーダライタ１の応答要求、例えば、読出しコマンドに対して、無線タグ２は、図21(b)のように、プリアンブル２５に続き、メモリ２１内のデータを出力する。
【０１１４】
図２２(a)に、リーダライタ１が無線タグ２にデータを書き込む際のミラーデータの生成方法を示す。送信しようとするＮワードのEPCデータに対して、ＥＰＣデータと同一のＮワードのＥＰＣ’データをミラーデータとして生成する。
【０１１５】
図22(b)から(d)は、リーダライタ１が無線タグ２のデータを読み取る際の、ビット化け発生の有無の判定方法を示している。
【０１１６】
図22(b)に示すように、ビット化けが発生していない場合は、受信したEPCデータ２４と、受信したEPC’データ８７とは一致する。一方、受信したEPCデータ２４でビット化けが発生している場合は、無線タグ２から受信したEPCデータ２３とEPC‘データの両者が一致しないのでビット化けが発生していると判定することができる。
【０１１７】
図22（c）はEPCデータ２４の部分でビット化けが発生した結果、EPCデータ２４とEPC‘データ８７の両者が一致しない場合を示しており、図22（d）はEPC‘データ８７の部分でビット化けが発生した結果、EPCデータ２４とEPC‘データ８７の両者が一致しない場合を示している。
【０１１８】
図23(a)は、リーダライタ１が無線タグ２に対してデータを書き込む際に書き込むべきデータを作成するフローチャートである。
【０１１９】
まず、データ長ＰＣ２８、判定種別コード２６、EPCデータ２４及び５１とEPC‘データ８７に対するワード長を計算し、データ長ＰＣ２８として付加する（３７２）。次に図３に示した対応表から指定された判定種別に従い、ビット化け発生の有無の判定方法となる判定種別コード２６を付加する（３７３）。
【０１２０】
次にEPCデータ２４を付加し（３７４）、続いて、ミラーデータとなるEPC’データ８７を付加して（３７５）データの作成が完了する（３７６）。
【０１２１】
図23(b)は、リーダライタ１が無線タグ２からの応答データを受信し、ビット化けの発生の有無を判定するフローチャートを示している。
【０１２２】
まず、データ長ＰＣ２８を受信し（３８２）、無線タグ２が応答しようとするデータのワード長を判定する。次に判定種別コード２６を受信し（３８３）、図３の対応表に従い、ビット化け発生の有無の判定方法を選択する。次にEPCデータ２４を受信（３８４）した後、続いて、ミラーデータであるEPC‘データ８７を受信し（３８５）、最後にCRC16を受信する。（３８６）
【０１２３】
無線タグ２からＣＲＣ１６まで受信すると、CRC16エラーチェックを行う（３８７）。ここでCRC16エラーが発生した場合は、受信したデータは不当なデータとして処理する（３８８）。一方、CRC16エラーがない場合は、EPCテータ２４とEPC‘データ８７の両者を比較し（３８９）、一致する場合は、ビット化けが発生していない正当なデータとして処理し（３９０）、受信を終了する（３９１）。一方、EPCデータ２４とEPC‘データ８７の両者が一致しない場合は、ビット化けが発生した不当なデータとして処理し（３８８）、受信を完了する。ここで、上記実施形態においては、データ長ＰＣ２８と判定種別コード２６を別々のワード（2バイト）としているが、両者を同一ワード内に収めても良く、例えば、データ長ＰＣ２８内に判定種別コード２６を含めてしまい、データ長ＰＣ２８の上位バイトにワード長を示すデータのレングス情報、下位バイトに判定種別コードを収めるようにしてもよい。
【０１２４】
さらに、判定種別コードとして、X”00”にすれば、ビット化け発生の有無の判定を行わない従来の通信方式とすることも可能である。
【０１２５】
以上説明した少なくとも一つの実施の形態の無線タグ書込装置、無線タグ読取装置、無線タグ書込方法、無線タグ読取方法及び無線タグによれば、無線タグのメモリでビット化けが発生した場合、ビット化けしたデータを不当なデータとして判定することが可能となる。
【０１２６】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２７】
1     リーダライタ
2     無線タグ
10    制御部
11    ＣＰＵ（中央演算処理部）
12    メモリ
20    送信部
21    レングス
22    PCヘッダ付加部
23    判定種別ヘッダ付加部
24    パリティ
25    CRC’16
26    送信部側の増幅部
27    アンテナ
28    プリアンブル
29    Ackコマンド
30    チェックサム
31    ミラーデータ
32    ビット化け判定用データ付加部
33    符号化部
34    変調部
35    EPC’
37    チェックサムチェックコード
40    受信部
41    無線タグからの応答信号を受信するアンテナ
42    復調部
43    受信部側の増幅部
44    ベースバンドから無線タグの応答データを復号部
45    無線タグのデータの長さを判定するPCヘッダ判定部
46    判定種別ヘッダ付加部指定部
47    CRC‘16
48    CRC判定部
49    判定種別ヘッダ付加部ヘッダ判定部
50    ビット化け判定部
51    EPC
【図１ａ】
2012068769.tif 000003
【図１ｂ】
2012068769.tif 000004
【図２ａ】
2012068769.tif 000005
【図２ｂ】
2012068769.tif 000006
【図３】
2012068769.tif 000007
【図４】
2012068769.tif 000008
【図５ａ】
2012068769.tif 000009
【図５ｂ】
2012068769.tif 000010
【図６ａ】
2012068769.tif 000011
【図６ｂ】
2012068769.tif 000012
【図７】
2012068769.tif 000013
【図８ａ】
2012068769.tif 000014
【図８ｂ】
2012068769.tif 000015
【図９ａ】
2012068769.tif 000016
【図９ｂ】
2012068769.tif 000017
【図１０】
2012068769.tif 000018
【図１１ａ】
2012068769.tif 000019
【図１１ｂ】
2012068769.tif 000020
【図１２ａ】
2012068769.tif 000021
【図１２ｂ】
2012068769.tif 000022
【図１３】
2012068769.tif 000023
【図１４ａ】
2012068769.tif 000024
【図１４ｂ】
2012068769.tif 000025
【図１５ａ】
2012068769.tif 000026
【図１５ｂ】
2012068769.tif 000027
【図１６】
2012068769.tif 000028
【図１７ａ】
2012068769.tif 000029
【図１７ｂ】
2012068769.tif 000030
【図１８ａ】
2012068769.tif 000031
【図１８ｂ】
2012068769.tif 000032
【図１９】
2012068769.tif 000033
【図２０ａ】
2012068769.tif 000034
【図２０ｂ】
2012068769.tif 000035
【図２１ａ】
2012068769.tif 000036
【図２１ｂ】
2012068769.tif 000037
【図２２】
2012068769.tif 000038
【図２３ａ】
2012068769.tif 000039
【図２３ｂ】
2012068769.tif 000040
【図２４ａ】
2012068769.tif 000041
【図２４ｂ】
2012068769.tif 000042
【図２５】
2012068769.tif 000043