(57)【特許請求の範囲】
【請求項１】
コマンドを表す複数のデータ片の系列に後続して、前記複数のデータ片に基づく巡回冗長検査演算によって算出された値を示すＣＲＣデータ片が配置されているデータ信号を受信して、前記コマンドに応じた送信を行う半導体通信装置であって、
受信した前記データ信号から前記複数のデータ片及び前記ＣＲＣデータ片の各々を取込データ片として１つずつ順次取り込みつつ、１つの前記取込データ片の取り込みが為される度に、現時点までに取り込まれた前記取込データ片に基づく巡回冗長検査演算を行ってＣＲＣ演算値を得るＣＲＣ演算部と、
前記１つの取込データ片に後続する取込データ片によって示される値と前記ＣＲＣ演算値とが一致したときに、前記データ信号のデータ終端部を検出したことを示す終端検出信号を生成する比較部と、
前記終端検出信号に応じて、前記取込データ片の各々によって表される前記コマンドが、前記半導体通信装置の実行することができない非対応コマンドであるか否かを判定し、前記コマンドが前記非対応コマンドであると判定した場合にコマンドエラー信号を送信する通信応答部と、を有することを特徴とする半導体通信装置。
【請求項２】
前記データ信号には、前記ＣＲＣデータ片に後続して、前記データ信号の終端を表す特有のビットパターンを有する終端データが含まれており、
前記データ信号中から前記終端データを検出する回路と、
前記終端データが検出された場合に前記ＣＲＣ演算部をリセットする回路と、を有することを特徴とする請求項１記載の半導体通信装置。
【請求項３】
所定のタグ情報が格納されているメモリを有し、
前記通信応答部は、前記コマンドが前記非対応コマンドではないと判定された場合には前記メモリに格納されている前記タグ情報を示すタグデータ信号を送信することを特徴とする請求項１又は２記載の半導体通信装置。
【請求項４】
前記通信応答部は、前記データ信号を表す無線送信波をアンテナを介して受信し、前記コマンドエラー信号又は前記タグデータ信号を表す無線送信波を前記アンテナを介して送信することを特徴とする請求項３記載の半導体通信装置。
【請求項５】
コマンドを表す複数のデータ片の系列に後続して、前記複数のデータ片に基づく巡回冗長検査演算によって算出された値を示すＣＲＣデータ片が配置されているデータ信号を無線送信する無線リーダライタと、前記データ信号を受信して、前記コマンドに応じて前記無線リーダライタに対して無線送信を行う半導体タグと、を有する通信システムであって、
前記半導体タグは、
受信した前記データ信号から前記複数のデータ片及び前記ＣＲＣデータ片の各々を取込データ片として１つずつ順次取り込みつつ、１つの前記取込データ片の取り込みが為される度に、現時点までに取り込まれた前記取込データ片に基づく巡回冗長検査演算を行ってＣＲＣ演算値を得るＣＲＣ演算部と、
前記１つの取込データ片に後続する取込データ片によって示される値と前記ＣＲＣ演算値とが一致したときに、前記データ信号のデータ終端部を検出したことを示す終端検出信号を生成する比較部と、
前記終端検出信号に応じて、前記取込データ片の各々によって表される前記コマンドが、前記半導体タグの実行することができない非対応コマンドであるか否かを判定し、前記コマンドが前記非対応コマンドであると判定した場合にコマンドエラー信号を送信する通信応答部と、を有することを特徴とする通信システム。
【請求項６】
前記データ信号には、前記ＣＲＣデータ片に後続して、前記データ信号の終端を表す特有のビットパターンを有する終端データが含まれており、
前記データ信号中から前記終端データを検出する回路と、
前記終端データが検出された場合に前記ＣＲＣ演算部をリセットする回路と、を有することを特徴とする請求項５記載の通信システム。
【請求項７】
所定のタグ情報が格納されているメモリを有し、
前記通信応答部は、前記コマンドが前記非対応コマンドではないと判定された場合には前記メモリに格納されている前記タグ情報を示すタグデータ信号を送信することを特徴とする請求項５又は６記載の通信システム。
【請求項８】
前記通信応答部は、前記データ信号を表す無線送信波をアンテナを介して受信し、前記コマンドエラー信号又は前記タグデータ信号を表す無線送信波を前記アンテナを介して送信することを特徴とする請求項７記載の通信システム。
【請求項９】
コマンドを表す複数のデータ片の系列に後続して、前記複数のデータ片に基づく巡回冗長検査演算によって算出された値を示すＣＲＣデータ片が配置されているデータ信号を受信して、前記コマンドに応じた送信を行う通信装置の通信方法であって、
受信した前記データ信号から前記複数のデータ片及び前記ＣＲＣデータ片の各々を取込データ片として１つずつ順次取り込むステップと、
１つの前記取込データ片の取り込みが為される度に、現時点までに取り込まれた前記取込データ片に基づく巡回冗長検査演算を行ってＣＲＣ演算値を得るステップと、
前記１つの取込データ片に後続する取込データ片を後続取込データ片として取り込むステップと、
前記後続取込データ片によって示される値と前記ＣＲＣ演算値とが一致したときに、前記取込データ片の各々によって表される前記コマンドが、前記通信装置の実行することができない非対応コマンドである場合にコマンドエラー信号を送信するステップと、を有することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信を行う半導体通信装置、通信システム、及び通信方法に関する。
【背景技術】
【０００２】
近年、機器同士を近づけるだけで両機器間において通信が確立される近距離無線通信の規格として、ＮＦＣ（Near  Field  Communication）が注目されている。
【０００３】
また、このようなＮＦＣを利用した通信システムとして、半導体通信チップからなるＩＣタグと、非接触にてこのＩＣタグからデータを読み取るリーダと、を有するＲＦＩＤ（Radio Frequency Identification）システムが知られている（例えば、特許文献１参照）。
【０００４】
当該ＲＦＩＤシステムでは、リーダ側が、データ読み取りを要求するコマンドを無線にて送信する。この際、ＩＣタグは受信したコマンドに応じて、記憶済みの各種データをリーダ側に無線送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−６７０３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＮＦＣでは、リーダ側がデータ読み取りを要求するコマンドを送信してから、所定期間の間だけＩＣタグからの応答を待つ。この際、当該所定期間が経過するまでの間にＩＣタグ側からの応答が無い場合には、リーダはタイムアウトとし、次のコマンドに対する送信処理に移行する。
【０００７】
よって、リーダからの要求に対して、ＩＣタグ側から応答が無い場合には、上記した所定期間に亘りリーダは次の処理を行うことができないので、通信効率が低下するという問題があった。
【０００８】
そこで、本発明は、通信効率を高めることが可能な半導体通信装置、通信システム、及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る半導体通信装置は、コマンドを表す複数のデータ片の系列に後続して、前記複数のデータ片に基づく巡回冗長検査演算によって算出された値を示すＣＲＣデータ片が配置されているデータ信号を受信して、前記コマンドに応じた送信を行う半導体通信装置であって、受信した前記データ信号から前記複数のデータ片及び前記ＣＲＣデータ片の各々を取込データ片として１つずつ順次取り込みつつ、１つの前記取込データ片の取り込みが為される度に、現時点までに取り込まれた前記取込データ片に基づく巡回冗長検査演算を行ってＣＲＣ演算値を得るＣＲＣ演算部と、前記１つの取込データ片に後続する取込データ片によって示される値と前記ＣＲＣ演算値とが一致したときに、前記データ信号のデータ終端部を検出したことを示す終端検出信号を生成する比較部と、前記終端検出信号に応じて、前記取込データ片の各々によって表される前記コマンドが、前記半導体通信装置の実行することができない非対応コマンドであるか否かを判定し、前記コマンドが前記非対応コマンドであると判定した場合にコマンドエラー信号を送信する通信応答部と、を有する。
【００１０】
また、本発明に係る通信システムは、コマンドを表す複数のデータ片の系列に後続して、前記複数のデータ片に基づく巡回冗長検査演算によって算出された値を示すＣＲＣデータ片が配置されているデータ信号を無線送信する無線リーダライタと、前記データ信号を受信して、前記コマンドに応じて前記無線リーダライタに対して無線送信を行う半導体タグと、を有する通信システムであって、前記半導体タグは、受信した前記データ信号から前記複数のデータ片及び前記ＣＲＣデータ片の各々を取込データ片として１つずつ順次取り込みつつ、１つの前記取込データ片の取り込みが為される度に、現時点までに取り込まれた前記取込データ片に基づく巡回冗長検査演算を行ってＣＲＣ演算値を得るＣＲＣ演算部と、前記１つの取込データ片に後続する取込データ片によって示される値と前記ＣＲＣ演算値とが一致したときに、前記データ信号のデータ終端部を検出したことを示す終端検出信号を生成する比較部と、前記終端検出信号に応じて、前記取込データ片の各々によって表される前記コマンドが、前記半導体タグの実行することができない非対応コマンドであるか否かを判定し、前記コマンドが前記非対応コマンドであると判定した場合にコマンドエラー信号を送信する通信応答部と、を有する。
【００１１】
本発明に係る通信方法は、コマンドを表す複数のデータ片の系列に後続して、前記複数のデータ片に基づく巡回冗長検査演算によって算出された値を示すＣＲＣデータ片が配置されているデータ信号を受信して、前記コマンドに応じた送信を行う通信装置の通信方法であって、受信した前記データ信号から前記複数のデータ片及び前記ＣＲＣデータ片の各々を取込データ片として１つずつ順次取り込むステップと、１つの前記取込データ片の取り込みが為される度に、現時点までに取り込まれた前記取込データ片に基づく巡回冗長検査演算を行ってＣＲＣ演算値を得るステップと、前記１つの取込データ片に後続する取込データ片を後続取込データ片として取り込むステップと、前記後続取込データ片によって示される値と前記ＣＲＣ演算値とが一致したときに、前記取込データ片の各々によって表される前記コマンドが、前記通信装置の実行することができない非対応コマンドである場合にコマンドエラー信号を送信するステップと、を有する。
【発明の効果】
【００１２】
本発明では、コマンドを表す複数のデータ片に後続してＣＲＣデータ片が配置されているデータ信号の受信により、先ず、各データ片を１つずつ順次取り込みつつ、１つの取込データ片の取り込みが為される度に、取り込み済みのデータ片に基づく巡回冗長検査演算を行ってＣＲＣ演算値を得る。この際、複数のデータ片及びＣＲＣデータ片に誤りが生じていない場合には、複数のデータ片のうちの最後尾のデータ片が取り込まれた際に算出されたＣＲＣ演算値は、当該最後尾のデータ片に後続して配置されているＣＲＣデータ片の値と一致する。そこで、１つのデータ片が取り込まれた際に算出されたＣＲＣ演算値と、当該１つのデータ片に後続するデータ片の値とが一致した時点をデータの終端部として検出する。この際、取り込み済みのデータ片にて表されるコマンドが非対応コマンドである場合には、上記のように検出したデータ終端部のタイミングでコマンドエラー信号を送信する。
【００１３】
よって、本発明によれば、ＣＲＣデータ片に後続して配置されている、データ信号の終端部を表す終端データを検出し、その検出タイミングでコマンドエラー信号を送信する場合に比べて、早いタイミングでコマンドエラー信号を送信することができるので、通信効率を高めることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係る半導体通信装置を含む通信システム１０の構成を示すブロック図である。
【図２】無線リーダライタ１００が無線送信するコマンドデータ信号ＣＭ、並びにＩＣタグ２００の内部の動作を示すタイムチャートである。
【図３】ＩＣタグ２００の内部構成を示すブロック図である。
【図４】終端検出部２２の内部構成の一例を示す回路図である。
【図５】ＩＣタグ２００及び無線リーダライタ１００間で為される通信フローを示す図である。
【図６】終端検出部２２の内部構成の他の一例を示す回路図である。
【図７】図６に示す内部構成を有する終端検出部２２を含むＩＣタグ２００、及び無線リーダライタ１００間で為される通信フローを示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００１６】
図１は、本発明に係る半導体通信装置を含む通信システム１０を示すブロック図である。図１において、無線リーダライタ１００及び本発明に係る半導体通信装置としてのＩＣ（integrated circuit）タグ２００は、例えばＮＦＣ規格に準拠した無線通信により、両者間の通信を確立する。
【００１７】
無線リーダライタ１００は、ＩＣタグ２００に予め記憶されている識別コード、属性情報、通信履歴情報等の各種タグ情報の読み取り、並びに通信履歴の書き込み等のアクセスを行う。尚、ＩＣタグ２００は、そのタグの役割、或いは仕様の違いにより各種のタイプに分類される。
【００１８】
無線リーダライタ１００は、ＩＣタグ２００のタイプ毎に規定されている各種コマンドを表すコマンドデータ信号ＣＭによって無線用の搬送波信号を変調することにより、このコマンドデータ信号ＣＭを表す無線送信波をＩＣタグ２００に送信する。
【００１９】
図２は、当該コマンドデータ信号ＣＭのフォーマットの一例を示す図である。コマンドデータ信号ＣＭは、２値のデータビットの系列からなるシリアルデータ信号であり、図２に示すように、ヘッダ部ＳｏＳ、コマンドデータ部ＣＤＴ、ＣＲＣ（Cyclic Redundancy Check）データ部ＣＲＴ、終端部ＥｏＳを有する。
【００２０】
ヘッダ部ＳｏＳは、コマンドデータ信号ＣＭの先頭を表す特有のシリアルビットパターンを有する。コマンドデータ部ＣＤＴは、ＩＣタグ２００をアクセスする為のコマンドを表すデータｄ１〜ｄ（Ｅ）（Ｅは２以上の整数）の系列からなる。尚、各データｄは、例えば８ビット分の２値のシリアルビットの系列からなる。ＣＲＣデータ部ＣＲＴは、コマンドデータ部ＣＤＴの全ビット、つまりデータｄ１〜ｄ（Ｅ）による８・Ｅビット分のデータに対して予め巡回冗長検査演算を施して得られた値を１６ビットで表すデータからなる。尚、ＣＲＣデータ部ＣＲＴは、当該１６ビットデータにおける上位８ビットを２値のシリアルビットの系列で表すＣＲＣデータＣ１と、下位８ビットを２値のシリアルビットの系列で表すＣＲＣデータＣ２と、からなる。終端部ＥｏＳは、コマンドデータ信号ＣＭの終端を表す特有のビットパターンを有する終端データからなる。
【００２１】
無線リーダライタ１００は、ＩＣタグ２００から送信された無線送信波を受信し、これに検波及び復調処理を施すことにより、上記した識別コード、属性情報、通信履歴情報等のタグ情報を示すタグデータ信号ＴＤ、或いはコマンドエラー信号ＥＲＲを取得する。
【００２２】
図３は、ＩＣタグ２００の内部構成を示すブロック図である。図３において、アンテナ２０は、無線リーダライタ１００から送信された無線送信波を受信して得た高周波信号ＲＦを送受信部２１に供給する。
【００２３】
送受信部２１は、高周波信号ＲＦを検波し、復調することにより図２に示すコマンドデータ信号ＣＭを得て、これを終端検出部２２及びコマンド判定部２３に供給する。
【００２４】
終端検出部２２は、コマンドデータ信号ＣＭにおけるデータの終端部を検出し、当該データ終端部の検出時点以前の期間では例えば論理レベル０を有し、データ終端部の検出に応じて論理レベル０から論理レベル１に遷移する終端検出信号ＥＤを生成する。終端検出部２２は、当該終端検出信号ＥＤを送受信部２１及びコマンド判定部２３に供給する。
【００２５】
図４は、終端検出部２２の内部構成を示す回路図である。図４において、シリアルパラレル変換回路２２０は、コマンドデータ信号ＣＭを１ビット毎に順次取り込み、取り込んだデータを、図２に示すクロック信号ＣＫに同期させて８ビット分毎のパラレルのデータＬＤＴの系列に変換する。シリアルパラレル変換回路２２０は、当該データＬＤＴの系列をＣＲＣ演算回路２２１及びアンドゲート２２２に供給する。つまり、シリアルパラレル変換回路２２０は、図２に示すコマンドデータ信号ＣＭに含まれるデータｄ１〜ｄ（Ｅ）、ＣＲＣデータＣ１及びＣ２からなるデータ片の各々を８ビットパラレルのデータＬＤＴとして、ＣＲＣ演算回路２２１及びアンドゲート２２２に供給するのである。
【００２６】
ＣＲＣ演算回路２２１は、データＬＤＴの系列をクロック信号ＣＫに同期させて順次取り込み、１つのデータＬＤＴが取り込まれる度に、取り込み済みのデータＬＤＴ各々のデータ値に基づく巡回冗長検査演算を行ってＣＲＣ演算値を得る。ＣＲＣ演算回路２２１は、当該ＣＲＣ演算値を例えば１６ビットで表すＣＲＣ演算値データＣＶをアンドゲート２２３に供給する。
【００２７】
例えば、ＣＲＣ演算回路２２１は、図２に示すように、データＬＤＴとしての最初のデータｄ１を取り込むと、このデータｄ１に基づく巡回冗長検査演算により、１６ビットのＣＲＣ演算値データＣＶを得る。そして、次のデータｄ２を取り込むと、ＣＲＣ演算回路２２１は、データｄ１及びｄ２に基づく巡回冗長検査演算により、１６ビットのＣＲＣ演算値データＣＶを得る。引き続き、次のデータｄ３を取り込むと、ＣＲＣ演算回路２２１は、データｄ１〜ｄ３に基づく巡回冗長検査演算により、１６ビットのＣＲＣ演算値データＣＶを得るのである。よって、データＬＤＴとして、コマンドデータ部ＣＤＴの全データ、つまり先頭のデータｄ１から最後尾のデータｄ（Ｅ）までの取り込みが終了すると、ＣＲＣ演算回路２２１は、全てのデータｄ１〜ｄ（Ｅ）に基づく巡回冗長検査演算の結果を示す１６ビットのＣＲＣ演算値データＣＶを得る。この際、データｄ１〜ｄ（Ｅ）に誤りが生じていなければ、当該ＣＲＣ演算値データＣＶは、ＣＲＣデータ部ＣＲＴに含まれるＣＲＣデータＣ１及びＣ２を連結させた１６ビットのＣＲＣデータ（Ｃ１、Ｃ２）と同一となる。
【００２８】
アンドゲート２２２は、終端検出部２２をイネーブル状態に設定させる論理レベル１の動作信号ＦＬＧが供給されている場合にだけ、シリアルパラレル変換回路２２０から供給されたデータＬＤＴを、８ビットラッチ２２４に供給する。８ビットラッチ２２４は、アンドゲート２２２を介して供給された８ビットのデータＬＤＴをクロック信号ＣＫに応じて取り込み、これをデータＤＴ１としてアンドゲート２２５及び比較器２２６に供給する。アンドゲート２２５は、論理レベル１の動作信号ＦＬＧが供給されている場合にだけ、８ビットラッチ２２４から供給されたデータＤＴ１を８ビットラッチ２２７に供給する。８ビットラッチ２２７は、アンドゲート２２５を介して供給されたデータＤＴ１をクロック信号ＣＫに応じて取り込み、これをデータＤＴ２として比較器２２６に供給する。
【００２９】
アンドゲート２２３は、論理レベル１の動作信号ＦＬＧが供給されている場合にだけ、ＣＲＣ演算回路２２１から供給された１６ビットのＣＲＣ演算値データＣＶを１６ビットラッチ２２８に供給する。１６ビットラッチ２２８は、アンドゲート２２３を介して供給された１６ビットのＣＲＣ演算値データＣＶをクロック信号ＣＫに応じて取り込み、これをＣＲＣ演算値データＣＶ１としてアンドゲート２２９に供給する。アンドゲート２２９は、論理レベル１の動作信号ＦＬＧが供給されている場合にだけ、１６ビットラッチ２２８から供給されたＣＲＣ演算値データＣＶ１を１６ビットラッチ２３０に供給する。１６ビットラッチ２３０は、アンドゲート２２９を介して供給されたＣＲＣ演算値データＣＶ１をクロック信号ＣＫに応じて取り込み、これをＣＲＣ演算値データＣＶ２として比較器２２６に供給する。
【００３０】
比較器２２６は、上記したデータＤＴ１にて示される８ビットを上位ビット群、データＤＴ２にて示される８ビットを下位ビット群として両者を連結させた１６ビットのデータ（ＤＴ１、ＤＴ２）と、１６ビットのＣＲＣ演算値データＣＶ２とを比較する。比較器２２６は、当該データ（ＤＴ１、ＤＴ２）と、ＣＲＣ演算値データＣＶ２とが互いに同一である場合には論理レベル１、異なる場合には論理レベル０を有する信号を、上記した終端検出信号ＥＤとして出力する。
【００３１】
図４に示す構成により、終端検出部２２は、コマンドデータ信号ＣＭ中のデータｄ１〜ｄ（Ｅ）、ＣＲＣデータＣ１及びＣ２からなる、夫々が８ビットのデータ片（ＬＤＴ）の各々を順次取り込みつつ、１つのデータ片を取り込む度に、以下のＣＲＣチェックを行う。
【００３２】
すなわち、終端検出部２２は、先ず、現時点において取り込み済みの全てのデータ片に基づく巡回冗長検査演算により、１６ビットのＣＲＣ演算値データ（ＣＶ２）を得る。次に、終端検出部２２は、この１つのデータ片の直後に取り込まれる８ビットのデータ片（ＤＴ１）と、当該データ片（ＤＴ１）の直後に取り込まれる８ビットのデータ片（ＤＴ２）とを連結した１６ビットのデータ片を取得する。そして、終端検出部２２は、当該１６ビットのデータ片と、上記ＣＲＣ演算値データＣＶ２とが一致しているか否かの判定を行う。
【００３３】
終端検出部２２は、上記したＣＲＣチェックにより、１つのデータ片を取り込んだ際に算出されたＣＲＣ演算値データ（ＣＶ２）と、この１つのデータ片の直後に取り込んだ１６ビット分のデータ片（ＤＴ１、ＤＴ２）とが一致していると判定されたときに、データ終端部を検出したことを示す論理レベル１の終端検出信号ＥＤを生成する。
【００３４】
つまり、コマンドデータ信号ＣＭ中には、コマンドを表すデータｄ１〜ｄ（Ｅ）の系列の直後に、当該データｄ１〜ｄ（Ｅ）に基づく巡回冗長検査演算によって予め算出しておいたＣＲＣ値を表すＣＲＣデータＣ１及びＣ２が配置されている。
【００３５】
よって、受信したコマンドデータ信号ＣＭ中にビット誤りが生じていなければ、データｄ１〜ｄ（Ｅ）のうちでデータｄ（Ｅ）の取り込みに応じて算出された１６ビットのＣＲＣ演算値データＣＶ２のみが、このデータｄ（Ｅ）の直後に配置されているＣＲＣデータＣ１及びＣ２を連結させた１６ビットのデータとその値が一致することになる。この際、両者が一致した時点において、コマンドデータ部ＣＤＴの全てのデータｄ１〜ｄ（Ｅ）が取り込み済みとなる。
【００３６】
そこで、終端検出部２２では、上記したＣＲＣチェックによって一致の判定が為された時点を、データ終端部の検出時点として表す終端検出信号ＥＤを生成し、これを通信応答部を為す送受信部２１及びコマンド判定部２３に供給するのである。
【００３７】
コマンド判定部２３は、コマンドデータ信号ＣＭ中のデータｄ１〜ｄ（Ｅ）を順次取り込み、データ終端部を表す論理レベル１の終端検出信号ＥＤに応じて、データｄ１〜ｄ（Ｅ）によって表されるコマンドが、このＩＣタグ２００に対応した対応コマンドであるのか、或いは非対応コマンドであるのかを判定する。この際、非対応コマンドであると判定された場合、コマンド判定部２３は、図２に示すように、受信したコマンドが非対応であることを示すコマンドエラー信号ＥＲＲを送受信部２１に供給する。一方、受信したコマンドが対応コマンドであると判定された場合には、コマンド判定部２３は、その受信したコマンドで示される読出信号又は書込信号を終端検出信号ＥＤに応じてタグメモリ２４に供給する。
【００３８】
タグメモリ２４には、予め識別コード、属性情報、通信履歴情報等の各種タグ情報が記憶されている。タグメモリ２４は、コマンド判定部２３から供給された書込信号に応じて、例えば通信履歴情報を書き換える。また、タグメモリ２４は、コマンド判定部２３から供給された読出信号に応じて、例えば識別コードを読み出し、当該識別コードをタグ情報として表すタグデータ信号ＴＤを送受信部２１に供給する。
【００３９】
この際、送受信部２１は、当該タグデータ信号ＴＤ、又は上記したコマンドエラー信号ＥＲＲが供給された場合には、論理レベル１の終端検出信号ＥＤに応じて、これらＴＤ又はＥＲＲによって無線用搬送波信号を変調して得られた高周波信号ＲＦをアンテナ２０を介して無線リーダライタ１００に無線送信する。
【００４０】
以下に、上記した構成によるＩＣタグ２００及び無線リーダライタ１００において為される動作について、図５に示す通信フローを参照しつつ説明する。
【００４１】
図５において、先ず、無線リーダライタ１００が、図２に示すコマンドデータ信号ＣＭを表す無線送信波を送信する（ステップＳ１）。無線リーダライタ１００の近接位置にＩＣタグ２００が存在すると、ＩＣタグ２００はこの無線送信波を受信してコマンドデータ信号ＣＭを復調する（ステップＳ２）。次に、ＩＣタグ２００は、当該コマンドデータ信号ＣＭに含まれるデータｄ１〜ｄ（Ｅ）、ＣＲＣデータＣ１及びＣ２からなるデータ片の系列を先頭から順に１つ取り込む（ステップＳ３）。
【００４２】
ステップＳ３の実行後、ＩＣタグ２００は、以下のステップＳ４〜Ｓ６によるＣＲＣチェックを行う。つまり、ＩＣタグ２００は、現時点で取り込み済みの全てのデータ片に基づく巡回冗長検査演算によりＣＲＣ演算値を算出し、このＣＲＣ演算値を１６ビットで表すＣＲＣ演算値データ（ＣＶ２）を得る（ステップＳ４）。次に、ＩＣタグ２００は、ステップＳ３で取り込んだ１つのデータ片の直後に後続するデータ片（ＤＴ１）と、この後続データ片の直後に後続するデータ片（ＤＴ２）とを順次取り込み、両者を連結することにより１６ビットのデータ片（ＤＴ１、ＤＴ２）を得る（ステップＳ５）。次に、ＩＣタグ２００は、ステップＳ４で算出した１６ビットのＣＲＣ演算値データと、ステップＳ５で取得した１６ビットのデータ片（ＤＴ１、ＤＴ２）とが一致するか否かを判定する（ステップＳ６）。ステップＳ６において一致していないと判定された場合には、ＩＣタグ２００は、上記ステップＳ３の実行に戻り、前述したステップＳ３〜Ｓ６の動作を再び実行する。
【００４３】
ここで、ＣＲＣ演算値データ（ＣＶ２）と、データ片（ＤＴ１、ＤＴ２）とが一致した時点で、ＩＣタグ２００には、コマンドデータ信号ＣＭに含まれるデータｄ１〜ｄ（Ｅ）、ＣＲＣデータＣ１及びＣ２の全てが取り込まれたと判断することができる。よって、ＩＣタグ２００の終端検出部２２は、この時点を、コマンドデータ信号ＣＭのデータ終端部として検出するのである。
【００４４】
上記ステップＳ６において、ＣＲＣ演算値データと、データ片（ＤＴ１、ＤＴ２）とが一致していると判定された場合、ＩＣタグ２００は、取り込み済みのデータｄ１〜ｄ（Ｅ）によって表されるコマンドが、自身に対応していない非対応コマンドであるか否かを判定する（ステップＳ７）。ステップＳ７において、非対応コマンドではないと判定された場合、ＩＣタグ２００は、データｄ１〜ｄ（Ｅ）によって表されるコマンドで指定されたタグ情報をタグメモリ２４から読み出し、そのタグ情報を示すタグデータ信号ＴＤを、無線リーダライタ１００に無線送信する（ステップＳ８）。
【００４５】
一方、ステップＳ７において、非対応コマンドであると判定された場合、ＩＣタグ２００は、受信したコマンドが非対応であることを示すコマンドエラー信号ＥＲＲを無線リーダライタ１００に無線送信する（ステップＳ９）。
【００４６】
このように、ＩＣタグ２００は、コマンドを表すデータｄ１〜ｄ（Ｅ）の系列中の各データ片を１つずつ取り込みつつ、データ片を１つ取り込む度にＣＲＣ演算値（ＣＶ２）を算出する。そして、ＩＣタグ２００では、取り込まれた１つのデータ片の直後に後続するデータ片（ＤＴ１、ＤＴ２）にて示される値と、上記のように算出したＣＲＣ演算値とが一致する時点、例えば図２に示す時点ｔ０を、データ終端部の検出時点とする。
【００４７】
この際、取り込まれたデータｄ１〜ｄ（Ｅ）にて表されるコマンドが自身に非対応のコマンドである場合には、ＩＣタグ２００は、その旨を示すコマンドエラー信号ＥＲＲを、データ終端部として検出した時点ｔ０のタイミングで、無線リーダライタ１００側に無線送信するのである。
【００４８】
よって、ＩＣタグ２００では、図２に示すコマンドデータ信号ＣＭの終端部ＥｏＳを検出することなく、且つ当該終端部ＥｏＳを検出可能な時点、つまり図２の時点ｔ１よりも後方の時点、よりも前の時点ｔ０のタイミングでコマンドエラー信号ＥＲＲを送信することが可能となる。
【００４９】
従って、ＩＣタグ２００によれば、終端部ＥｏＳの検出回路が不要となる分だけ装置規模を小型化することができる。更に、ＩＣタグ２００によれば、終端部ＥｏＳの検出タイミングでコマンドエラーを送信する場合に比して、早いタイミングでコマンドエラーを送信することができるので、通信効率を高めることが可能となる。
【００５０】
尚、上記実施例では、ＩＣタグ２００は、コマンドを表すデータｄ１〜ｄ（Ｅ）の系列の直後にＣＲＣデータＣ１及びＣ２が配置されているコマンドデータ信号ＣＭを受信対象としている。しかしながら、ＣＲＣデータＣ１及びＣ２としては、データｄ１〜ｄ（Ｅ）の系列に後続して配置されていれば良く、必ずしもデータｄ１〜ｄ（Ｅ）の直後に配置されていなくても良い。
【００５１】
また、上記実施例では、コマンドデータ信号ＣＭでは、データｄ１〜ｄ（Ｅ）に基づくＣＲＣ演算値を、２つのＣＲＣデータＣ１及びＣ２にて表すようにしている。しかしながら、当該ＣＲＣ演算値をデータｄ１〜ｄ（Ｅ）の各々と同一ビット長で表すことができる場合には、１つのＣＲＣデータＣ１だけをデータｄ１〜ｄ（Ｅ）の系列に後続して配置させるようにしても良い。
【００５２】
要するに、ＩＣタグ２００としては、コマンドを表す複数のデータ片の系列に後続して当該複数のデータ片に基づく巡回冗長検査演算によって算出された値を示すＣＲＣデータ片が配置されているデータ信号を受信し、当該コマンドに応じた送信を行うにあたり、以下の構成を備えたものであれば良いのである。すなわち、先ず、ＣＲＣ演算部（２２１）は、受信したデータ信号（ＣＭ）から複数のデータ片（ｄ１〜ｄ（Ｅ））及びＣＲＣデータ片（Ｃ１、Ｃ２）の各々を取込データ片（ＬＤＴ）として１つずつ順次取り込む。この際、１つの取込データ片の取り込みが為される度に、ＣＲＣ演算部は、現時点までに取り込まれた取込データ片に基づく巡回冗長検査演算を行ってＣＲＣ演算値（ＣＶ２）を得る。ここで、比較部（２２６）は、上記した１つの取込データ片に後続する取込データ片（ＤＴ２）によって示される値と上記したＣＲＣ演算値とが一致したときに、データ信号のデータ終端部を検出したことを示す終端検出信号（ＥＤ）を生成する。この際、通信応答部（２１、２３）は、終端検出信号に応じて、取込データ片の各々によって表されるコマンドが非対応コマンドであるか否かを判定し、非対応コマンドであると判定されたときにコマンドエラー信号（ＥＲＲ）を送信するのである。
【００５３】
尚、上記実施例は、受信したコマンドデータ信号ＣＭ中にビット誤りが生じないことを前提として為されたものであるが、通信状態の悪化、或いは環境ノイズの影響により、ビット誤りが生じると、終端検出信号ＥＤによるデータ終端部の検出が為されなくなる。これにより、無線リーダライタ１００への応答（Ｓ８、Ｓ９）が為されなくなるので、無線リーダライタ１００がタイムアウト判定を下すまでの待機期間の間、ＩＣタグ２００では、図５に示すステップＳ３〜Ｓ６が繰り返し実施されることになる。よって、特に、ステップＳ４による巡回冗長検査演算が繰り返し実施されることになり、電力消費量が大となる。
【００５４】
そこで、ＩＣタグ２００の終端検出部２２の内部構成としては、図４に示す構成に代えて図６に示す構成を採用しても良い。尚、図６に示す構成では、新たにＥｏＳ検出回路２３１及びアンドゲート２３２を設けた点を除く他の構成は図４に示されるものと同一である。
【００５５】
図６において、ＥｏＳ検出回路２３１は、コマンドデータ信号ＣＭ中から、図２に示す終端部ＥｏＳとしての特有のビットパターンを有する終端データを検出した際に論理レベル０から論理レベル１に遷移するＥｏＳ検出信号ＥＯＤを生成し、これをアンドゲート２３２に供給する。
【００５６】
アンドゲート２３２は、ＥｏＳ検出信号ＥＯＤが論理レベル１であり且つ終端検出信号ＥＤが論理レベル０である場合にリセット信号ＲＳをＣＲＣ演算回路２２１に供給する。             
【００５７】
ＣＲＣ演算回路２２１は、当該リセット信号ＲＳに応じて、上記した巡回冗長検査演算処理を停止させると共に、現時点までに取り込まれている各データ片の値、並びに巡回冗長検査演算途中の値を全てゼロに初期化する。
【００５８】
図７は、終端検出部２２として図６に示す構成を採用した場合に、ＩＣタグ２００及び無線リーダライタ１００において為される通信動作を示す通信フロー図である。
【００５９】
尚、図７に示す動作では、新たなステップＳ１１及びＳ１２を付加すると共に、図５に示されるステップＳ６に代えてステップＳ６１を採用した点を除く他の構成、つまりステップＳ１〜Ｓ５、及びＳ７〜Ｓ９については、図５に示すものと同一である。
【００６０】
図７に示されるステップＳ６１において、ＩＣタグ２００は、ステップＳ４で算出した１６ビットのＣＲＣ演算値データと、ステップＳ５で取得した１６ビットのデータ片（ＤＴ１、ＤＴ２）とが一致するか否かを判定する。この際、ステップＳ６１において一致していると判定された場合には、ＩＣタグ２００は、図５に示される動作と同様にステップＳ７及びＳ８、或いはＳ７及びＳ９を実行する。
【００６１】
一方、ステップＳ６１において、ステップＳ４で算出したＣＲＣ演算値データと、ステップＳ５で取得したデータ片（ＤＴ１、ＤＴ２）とが一致していないと判定された場合、ＩＣタグ２００は、コマンドデータ信号ＣＭ中から終端部ＥoＳが検出されたか否かを判定する（ステップＳ１１）。当該ステップＳ１１において終端部ＥoＳが検出されていないと判定された場合、ＩＣタグ２００は、ステップＳ３の実行に戻り、ステップＳ３〜Ｓ５及びＳ６１の動作を再び実行する。一方、ステップＳ１１において、コマンドデータ信号ＣＭ中から終端部ＥoＳが検出されたと判定された場合、ＩＣタグ２００は、ＣＲＣ演算回路２２１をリセットして、その動作を強制的に停止させる（ステップＳ１２）。よって、ステップＳ１２の実行後は、ＩＣタグ２００から無線リーダライタ１００への応答が為されないので、無線リーダライタ１００は所定期間だけ待機した後、タイムアウトの状態となり、次の処理（説明せず）の実行に移行する。
【００６２】
従って、例えコマンドデータ信号ＣＭのデータｄ１〜ｄ（Ｅ）の系列中に誤りビットが生じ、それ故、終端検出信号ＥＤによるデータ終端部の検出が為されなくなっても、この際、コマンドデータ信号ＣＭ中の終端部ＥoＳの検出に応じて、ＣＲＣ演算回路２２１が直ちにリセットされ、動作停止状態となる。
【００６３】
よって、ＩＣタグ２００が無線リーダライタ１００への応答を行わないので、無線リーダライタ１００はタイムアウト状態に到る。この間、ＩＣタグ２００のＣＲＣ演算回路２２１はリセットされ、その動作が停止しているので、無効な電力消費が削減される。更に、ＣＲＣ演算回路２２１がリセットされることから、タイムアウト期間の経過後、ＩＣタグ２００は直ちに、次のコマンドデータ信号ＣＭに対してＣＲＣ演算回路２２１を用いたデータ終端部の検出処理に移行できるので、通信効率を高めることが可能となる。
【符号の説明】
【００６４】
２１              送受信部
２２              終端検出部
２３              コマンド判定部
１００            無線リーダライタ
２００            ＩＣタグ
２２１            ＣＲＣ演算回路
２２６            比較器
【図１】
0006553410.tif 000002
【図２】
0006553410.tif 000003
【図３】
0006553410.tif 000004
【図４】
0006553410.tif 000005
【図５】
0006553410.tif 000006
【図６】
0006553410.tif 000007
【図７】
0006553410.tif 000008