受信装置、受信方法、プログラム、及び送信装置
【課題】所定のデータ構造により構成されるデータを送受信するための通信方式を用いて、所定のデータ構造とは異なるデータ構造により構成されるデータを送受信する。
【解決手段】JIS通信処理部62は、受信した第1のデータに、ICカード22の状態を遷移させる状態遷移コマンドが含まれる場合、状態遷移コマンドに基づいて、ICカード22の状態を変更し、変換部65は、ICカード22の状態が、所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した第1のデータを、第2のデータに変換し、ISO処理部66は、第2のデータに含まれるコマンドに応じた処理を行う。また、変換部65は、第1のデータを、第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む第2のデータに変換する。本発明は、非接触近接無線通信を行う通信装置に適用できる。
【解決手段】JIS通信処理部62は、受信した第1のデータに、ICカード22の状態を遷移させる状態遷移コマンドが含まれる場合、状態遷移コマンドに基づいて、ICカード22の状態を変更し、変換部65は、ICカード22の状態が、所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した第1のデータを、第2のデータに変換し、ISO処理部66は、第2のデータに含まれるコマンドに応じた処理を行う。また、変換部65は、第1のデータを、第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む第2のデータに変換する。本発明は、非接触近接無線通信を行う通信装置に適用できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信装置、受信方法、プログラム、及び送信装置に関し、特に、例えば、非接触近接無線通信において、所定のデータ構造により構成されるデータを送受信するための通信方式を用いて、所定のデータ構造とは異なるデータ構造により構成されるデータを送受信できるようにした受信装置、受信方法、プログラム、及び送信装置に関する。
【背景技術】
【0002】
従来、リーダライタとIC(integrated circuit)カード等との間で、電磁波を利用してデータの送受信を行う非接触近接無線通信技術が存在する。
【0003】
この非接触無線通信技術では、コマンド体系や通信方式等が異なる複数の規格が存在する。したがって、例えば、リーダライタとICカードとが、それぞれ、異なる規格に準拠したものである場合、そのようなリーダライタとICカードとの間では、データの送受信を行うことができないことが生じ得る。
【0004】
そこで、ICカードとリーダライタとの間にスルーリーダを設け、スルーリーダにより、それぞれ異なる規格に準拠したコマンドを送信するICカードからのコマンドをリーダライタにより認識することが可能なスルーコマンドに含めてリーダライタに供給するようにしたスルーコマンド技術が存在する(例えば、特許文献1を参照)。
【0005】
このスルーコマンド技術によれば、リーダライタは、スルーリーダを介して、異なる規格に準拠したICカードからのコマンドを、スルーコマンドとして受信することができる。
【0006】
また、例えば、リーダライタとICカードとの間で送受信される第1のメッセージと、リーダライタとICカードにおいて処理される第2のメッセージとのデータ構造が異なる場合に、第1のメッセージに、第2のメッセージを含めて送受信を行う送受信技術が存在する(例えば、特許文献2を参照)。
【0007】
この送受信技術によれば、リーダライタとICカードとの間で、第1のメッセージの送受信を行いつつ、リーダライタとICカードにおいて、第1のメッセージに含まれる第2のメッセージを処理することが可能となる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−264921号公報
【特許文献2】特開2005−242445号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、非接触近接無線通信の規格の1つであるJIS(japanese industrial standard) X 6319-4には、JIS X 6319-4に規定されたデータ構造(フォーマット)により構成されるデータであるフレームを送受信するための通信方式(以下、フレーム通信方式という)を用いて、非接触近接無線通信を行うことが規定されている。
【0010】
しかしながら、JIS X 6319-4には、フレーム通信方式を用いて、ISO/IEC(international organization for standardization/international electrotechnical commission) 14443-4に規定されたデータ構造により構成されるデータであるブロックや、ISO/IEC 7816-4に規定されたコマンド及びコマンドに対するレスポンス等を、非接触近接無線通信により送受信することは規定されていない。
【0011】
このため、フレーム通信方式を用いて、ISO/IEC 14443-4に規定されたデータ構造のブロックや、ISO/IEC 7816-4に規定されたコマンド及びコマンドに対するレスポンス等を送受信することができなかった。このことは、上述したスルーコマンド技術、及び送受信技術についても同様である。
【0012】
本発明は、このような状況に鑑みてなされたものであり、所定のデータ構造により構成されるデータを送受信するための通信方式を用いて、所定のデータ構造とは異なるデータ構造により構成されるデータを送受信できるようにするものである。
【課題を解決するための手段】
【0013】
本発明の第1の側面の受信装置、又はプログラムは、非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置、又受信装置として機能させるためのプログラムであって、受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更する変更手段と、前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換する変換手段と、前記第2のデータに含まれるコマンドに応じた処理を行う第1の処理手段とを含み、前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDC(error detection code)を含む前記第2のデータに変換する受信装置、又は受信装置として機能させるためのプログラムである。
【0014】
前記第1の処理手段では、前記第1のEDCに基づいて、前記第2のデータに誤りが生じていないと判定した場合、前記第2のデータを処理するようにすることができる。
【0015】
前記変換手段では、前記第1のデータに、前記第1のデータに誤りが生じているか否かを判定するための第2のEDCが含まれる場合、前記第2のEDCを、前記第1のEDCに置換して、前記第1のデータを前記第2のデータに変換するようにすることができる。
【0016】
前記第1のデータは、JIS(japanese industrial standard) X 6319-4に準拠するデータ構造により構成されるデータを表すフレームであり、前記第2のデータは、ISO/IEC(international organization for standardization/international electrotechnical commission) 14443-4に準拠するデータ構造により構成されるデータを表すブロックであり、前記第1のEDCは、前記フレームに含まれるEDCを表すフレームEDCであり、前記第2のEDCは、前記ブロックに含まれるEDCを表すブロックEDCであるようにすることができる。
【0017】
前記受信装置の状態が、前記第1のデータを処理するREADY状態である場合、受信した前記第1のデータに含まれるコマンドに応じた処理を行う第2の処理手段をさらに設けることができる。
【0018】
前記変更手段では、前記受信装置の状態がIDLE状態である場合に、前記状態遷移コマンドがREQ又はWUPであるとき、前記受信装置の状態を、前記IDLE状態から前記READY状態に変更するようにすることができる。
【0019】
前記変更手段では、前記受信装置の状態がREADY状態である場合に、前記状態遷移コマンドがATTRであるとき、前記受信装置の状態を、前記READY状態から前記ACTIVE状態に変更するようにすることができる。
【0020】
本発明の第1の側面の受信方法は、非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置の受信方法であって、前記受信装置は、変更手段と、変換手段と、第1の処理手段とを含み、前記変更手段が、受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更し、前記変換手段が、前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換し、前記第1の処理手段が、前記第2のデータに含まれるコマンドに応じた処理を行うステップを含み、前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータに変換する受信方法である。
【0021】
本発明の第1の側面によれば、受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態が変更され、前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータが、前記第2のデータに変換され、変換された前記第2のデータに含まれるコマンドに応じた処理が行われる。
【0022】
本発明の第2の側面の送信装置は、非接触近接無線通信により、所定のデータ構造により構成される第1のデータを送信する送信装置であって、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを生成する生成手段と、生成された前記第2のデータを、前記第1のデータに変換する変換手段と、変換された前記第1のデータを送信する送信手段とを含む送信装置である。
【0023】
前記生成手段では、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータを生成するようにすることができる。
【0024】
前記変換手段では、前記第1のEDCに基づいて、前記第2のデータに誤りが生じていないと判定した場合、前記第2のデータを、前記第1のデータに変換するようにすることができる。
【0025】
前記変換手段では、前記第1のEDCを、前記第1のデータに誤りが生じているか否かを判定するための第2のEDCに置換して、前記第2のデータを、前記第1のデータに変換するようにすることができる。
【0026】
前記第1のデータは、JIS X 6319-4に準拠するデータ構造により構成されるデータを表すフレームであり、前記第2のデータは、ISO/IEC 14443-4に準拠するデータ構造により構成されるデータを表すブロックであり、前記第1のEDCは、前記フレームに含まれるEDCを表すフレームEDCであり、前記第2のEDCは、前記ブロックに含まれるEDCを表すブロックEDCであるようにすることができる。
【0027】
本発明の第2の側面によれば、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータが生成され、生成された前記第2のデータが、前記第1のデータに変換され、変換された前記第1のデータが送信される。
【発明の効果】
【0028】
本発明によれば、所定のデータ構造により構成されるデータを送受信するための通信方式を用いて、所定のデータ構造とは異なるデータ構造により構成されるデータを送受信できる。
【図面の簡単な説明】
【0029】
【図1】通信システムの構成例を示すブロック図である。
【図2】リーダライタの構成例を示すブロック図である。
【図3】ブロックをフレームに変換する処理を説明するための図である。
【図4】フレームをブロックに変換する処理を説明するための図である。
【図5】ICカードの構成例を示すブロック図である。
【図6】ICカードの状態遷移を示す図である。
【図7】受信処理を説明するためのフローチャートである。
【図8】コマンド処理を説明するためのフローチャートである。
【図9】REQのフォーマットの一例を示す図である。
【図10】REQに対するレスポンスのフォーマットの一例を示す図である。
【図11】PICC識別子の一例を示す図である。
【図12】応答時間記述子の一例を示す図である。
【図13】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0030】
以下、発明を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1. 本実施の形態(フレーム通信方式を用いて、ブロックを交換する例)
2. 変形例
【0031】
<1.本実施の形態>
[通信システム1の構成例]
図1は、本実施の形態である通信システム1の構成例を示している。
【0032】
この通信システム1は、リーダライタ21及びICカード22により構成されている。リーダライタ21とICカード22との間では、JIS X 6319-4に規定されたデータ構造により構成されるデータであるフレームを送受信するためのフレーム通信方式を用いた非接触近接無線通信により、ISO/IEC 14443-4に規定されたデータ構造により構成されるデータであるブロックが送受信(交換)される。
【0033】
リーダライタ21は、フレーム通信方式を用いて送信されるICカード22からのフレームを受信し、受信したフレームをブロックに変換する。そして、リーダライタ21は、ブロックを処理対象として、対応する処理を行う。
【0034】
また、リーダライタ21は、ブロックを生成し、生成したブロックをフレームに変換する。そして、リーダライタ21は、変換されたフレームを、フレーム通信方式を用いて送信する。
【0035】
ICカード22は、フレーム通信方式を用いて送信される、例えばリーダライタ21等からのフレームを受信する。そして、ICカード22は、受信したフレームに、ICカード22の状態を遷移させるための状態遷移コマンドが含まれる場合、その状態遷移コマンドに応じて、IDLE状態、READY状態、ACTIVE状態、又はHALT状態のいずれかの状態とされる。なお、状態遷移コマンド、及びICカード22による状態遷移の詳細は、後述する図6を参照して説明する。
【0036】
ICカード22は、READY状態である場合、フレームを処理対象として、対応する処理を行うICカードとして機能し、ACTIVE状態である場合、ブロックを処理対象として、対応する処理を行うICカードとして機能する。
【0037】
すなわち、例えば、ICカード22が、フレームを処理対象として、対応する処理を行うリーダライタとフレーム通信方式を用いた非接触近接無線通信を行う場合、そのリーダライタにより、ICカード22はREADY状態とされる。そして、ICカード22とリーダライタとの間で、フレーム通信方式により、フレームの送受信が行われる。
【0038】
また、例えば、ICカード22が、ブロックを対象として、対応する処理を行うリーダライタ21とフレーム通信方式を用いた非接触近接無線通信を行う場合、リーダライタ21により、ICカード22はACTIVE状態とされる。そして、ICカード22とリーダライタ21との間で、フレーム通信方式により、フレームに変換されたブロックの送受信が行われる。
【0039】
以下、リーダライタ21とICカード22との間で、フレーム通信方式により、フレームに変換されたブロックを送受信する非接触近接無線通信について説明する。
【0040】
[リーダライタ21の構成例]
次に、図2は、リーダライタ21の構成例を示している。
【0041】
このリーダライタ21は、ISO処理部41、変換部42、及びRF(radio frequency)送受信部43により構成される。
【0042】
ISO処理部41は、ISO/IEC 14443-4に規定されたデータ構造のブロックを処理対象として、対応する処理を行う。
【0043】
すなわち、例えば、ISO処理部41は、変換部42からのブロックに含まれるコマンドに対応する処理を行う。そして、ISO処理部41は、その結果得られる処理結果を含むブロックを生成し、変換部42に供給する。
【0044】
変換部42は、ISO処理部41からのブロックをフレームに変換し、RF送受信部43に供給する。また、変換部42は、RF処理部43からのフレームをブロックに変換し、ISO処理部41に供給する。なお、変換部42が行う処理の詳細は、図3及び図4を参照して後述する。
【0045】
RF送受信部43は、フレーム通信方式により、例えばICカード22からのフレームを受信し、変換部42に供給する。また、RF送受信部43は、フレーム通信方式により、変換部42からのフレームを送信する。
【0046】
[変換部42が行う処理の説明]
次に、図3及び図4を参照して、変換部42が行う処理の詳細を説明する。
【0047】
図3は、変換部42が、ISO処理部41からのブロックをフレームに変換する様子を示している。
【0048】
図3Aに示されるブロックは、1バイトのPCB(protocol control byte、プロトコル制御バイト),1バイトのCID(card identifier、カード識別子),1バイトのNAD(node address、ノードアドレス),1乃至251バイトのINF(information field、情報フィールド)、及び2バイトのEDC(error detection code、誤り検出符号)により構成される。
【0049】
図3Bに示されるフレームは、6バイトのプリアンブル、2バイトの同期コード、INFのデータ長を表す1バイトのLEN(length)、1バイトのPCB、1バイトのCID、1バイトのNAD、1乃至251バイトのINF、及び2バイトのEDCにより構成される。
【0050】
なお、図3Aに示されるブロック内のEDCは、ブロック内のPCB,CID,NAD及びINFを構成するデータに基づいて算出される。図3Aに示されるブロック内のEDCは、ブロック内のPCB,CID,NAD及びINFを構成するデータにエラー(誤り)が生じているか否かを、例えば、CRC(cyclic redundancy check、巡回冗長検査)等により判定(検出)するために用いられる。
【0051】
また、図3Bに示されるフレーム内のEDCは、フレーム内のLEN,PCB,CID,NAD及びINFを構成するデータに基づいて算出される。図3Bに示されるフレーム内のEDCは、フレーム内のLEN,PCB,CID,NAD及びINFを構成するデータにエラーが生じているか否かを、例えば、CRC等により判定するために用いられる。
【0052】
ここで、以下の説明において、図3Aに示されるブロック内のEDCを、ブロックEDCといい、図3Bに示されるフレーム内のEDCを、フレームEDCという。
【0053】
変換部42は、ISO処理部41から供給される、図3Aに示されたようなブロックEDCに基づいて、PCB,CID,NAD及びINFにより構成されるデータにエラーが生じているか否かを判定する。
【0054】
そして、変換部42は、ブロックEDCに基づいて、PCB,CID,NAD及びINFにより構成されるデータにエラーが生じていないと判定した場合、ISO処理部41から供給されるブロックの先頭部分に、プリアンブル、同期コード、LENを付加する。また、変換部42は、LEN,PCB,CID,NAD及びINFにより構成されるデータに対応するフレームEDCを算出し、ブロックEDCと置き換える(置換する)。
【0055】
これにより、変換部42は、図3Aに示されたようなブロックを、図3Bに示されたようなフレームに変換し、RF送受信部43に供給する。
【0056】
次に、図4は、変換部42が、RF送受信部43からのフレームをブロックに置換する様子を示している。
【0057】
図4Aに示されるフレームは、図3Bに示されたフレームと同様のフレームを表している。図4Bに示されるブロックは、図3Aに示されたブロックと同様のブロックを表している。
【0058】
変換部42は、RF送受信部43から供給される、図4Aに示されたようなフレームEDCに基づいて、LEN,PCB,CID,NAD及びINFにより構成されるデータにエラーが生じているか否かを判定する。
【0059】
そして、変換部42は、フレームEDCに基づいて、LEN,PCB,CID,NAD及びINFにより構成されるデータにエラーが生じていないと判定した場合、RF送受信部43から供給されるフレームの先頭部分に付加されているプリアンブル、同期コード及びLENを削除する。また、変換部42は、残りのPCB,CID,NAD及びINFにより構成されるデータに対応するブロックEDCを算出し、フレームEDCと置き換える。
【0060】
これにより、変換部42は、図4Aに示されたようなフレームを、図4Bに示されたようなブロックに変換し、ISO処理部41に供給する。
【0061】
[ICカード22の構成例]
次に、図5は、ICカード22の構成例を示している。
【0062】
このICカード22は、RF送受信部61、JIS通信処理部62、状態記憶部63、JIS処理部64、変換部65、及びISO処理部66により構成される。
【0063】
RF送受信部61は、フレーム通信方式により、例えばリーダライタ21からのフレームを受信し、JIS通信処理部62に供給する。また、RF送受信部61は、フレーム通信方式により、JIS通信処理部62からのフレームを送信する。
【0064】
JIS通信処理部62は、RF送受信部61からのフレームに、ICカード22の状態を遷移させるための状態遷移コマンド(例えば、後述するREQ,WUP,ATTR及びHLT等)が含まれる場合、その状態遷移コマンドに基づいて、状態記憶部63に保持されている状態情報を更新する。
【0065】
なお、JIS通信処理部62は、JIS X 6319-4に規定されたコマンドに対応する処理を行うが、後述するWUP,ATTR及びHLTは、元来、JIS X 6319-4に規定されていない。
【0066】
したがって、JIS X 6319-4に規定されたコマンドに対応する処理を行うJIS通信処理部62では、通常、WUP,ATTR及びHLTに対応する処理を行うことはできない。
【0067】
しかしながら、本発明では、JIS X 6319-4に規定するコマンドに対応する処理を行うJIS通信処理部62においても、WUP,ATTR及びHLTに対応する処理を行うことができるように、JIS X 6319-4を拡張するようにしている。
【0068】
また、本発明では、JIS X 6319-4:2005との後方互換性を維持するために、JIS X 6319-4によりREQを拡張するようにしている。なお、JIS X 6319-4によるREQの拡張については、図9乃至図12を参照して後述する。
【0069】
さらに、状態遷移コマンドとして、REQ,WUP,ATTR及びHLTの他、ICカード22の状態を、ACTIVE状態からHALT状態に遷移させるためのDESELECTが存在するが、このDESELECTは、ISO/IEC 14443-4において定義される。したがって、DESELECTは、JIS通信処理部62ではなく、後述するISO処理部66により処理される。
【0070】
JIS通信処理部62は、状態記憶部63に保持されている状態情報が、READY状態を示している場合、RF送受信部61からのフレームに含まれる処理コマンド(ICカード22に所定の処理を実行させるためのコマンド)が、ICカード22を一意に識別するためのPICC識別子を含むPICC識別子一致コマンドであるか否かを判定する。
【0071】
そして、JIS通信処理部62は、RF送受信部61からのフレームに含まれる処理コマンドが、PICC識別子一致コマンドであると判定した場合、RF送受信部61からのフレームを、JIS処理部64に供給する。
【0072】
また、JIS通信処理部62は、状態記憶部63に保持されている状態情報が、ACTIVE状態を示している場合、RF送受信部61からのフレームを、変換部65に供給する。
【0073】
さらに、JIS通信処理部62は、JIS処理部64又は変換部65からのフレームを、RF送受信部61に供給する。
【0074】
状態記憶部63は、ICカード22の状態を表す状態情報を保持する。なお、状態記憶部63には、POWER OFF状態を表す状態情報が予め保持されている。
【0075】
JIS処理部64は、フレームを処理対象として、JIS X 6319-4に規定された処理コマンドに対応する処理を行う。すなわち、例えば、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に規定されたコマンドに対応する処理を行う。また、JIS処理部64は、その処理の結果得られる処理結果を含むフレームを生成し、JIS通信処理部62に供給する。
【0076】
変換部65は、図2の変換部42と同様に、JIS通信処理部62からのフレームをブロックに変換し、ISO処理部66に供給する。また、変換部65は、ISO通信処理部66からのブロックをフレームに変換し、JIS通信処理部62に供給する。
【0077】
ISO処理部66は、ブロックを処理対象として、ISO/IEC 14443-4に規定された処理コマンドに対応する処理を行う。すなわち、例えば、ISO処理部66は、変換部65からのブロックに含まれる、ISO/IEC 14443-4に規定された処理コマンドに対応する処理を行う。また、ISO処理部66は、その処理の結果得られる処理結果を含むブロックを生成し、変換部65に供給する。
【0078】
また、ISO処理部66は、変換部65からのブロックに含まれる、ISO/IEC 14443-4に規定された状態遷移コマンドであるDESELECTに基づいて、状態記憶部63に保持されている、ACTIVE状態を表す状態情報を、HALT状態を表す状態情報に更新する。
【0079】
[ICカード22の状態遷移]
次に、図6を参照して、ICカード22の状態遷移の様子を説明する。
【0080】
ICカード22が、例えばリーダライタ21等により発生されるRFフィールド(磁界)内に存在しない場合、ICカード22の状態はPOWER OFF状態とされる。
【0081】
また、POWER OFF状態において、ICカード22が、リーダライタ21にかざされて、リーダライタ21等により発生されるRFフィールド内に含まれるようになった場合、ICカード22の状態は、POWER OFF状態からIDLE状態に遷移する。
【0082】
IDLE状態において、ICカード22が、リーダライタ21等により発生されるRFフィールド内に含まれなくなった場合、ICカード22の状態は、IDLE状態からPOWER OFF状態に遷移する。なお、IDLE状態の他、READY状態、ACTIVE状態、HALT状態、又は後述するJIS-ACTIVE状態のいずれの状態においても、ICカード22が、リーダライタ21等により発生されるRFフィールド内に含まれなくなった場合、ICカード22の状態は、POWER OFF状態に遷移する。
【0083】
また、IDLE状態において、REQ(リクエストコマンド)又はWUP(ウェイクアップコマンド)を受信した場合、ICカード22の状態は、IDLE状態から、READY状態のREADY-REQUESTED状態に遷移する。
【0084】
READY状態におけるREADY-REQUESTED状態において、ICカード22が、受信したREQ又はWUPに対するレスポンス(ICカード22のPICC識別子を含む)を送信した場合、ICカード22の状態は、READY-REQUESTED状態からREADY-DECLARED状態に遷移する。
【0085】
ICカード22が、REQ又はWUPに対するレスポンスを送信したことにより、例えばリーダライタ21は、REQ又はWUPに対するレスポンスに含まれるICカード22のPICC識別子を取得する。これにより、リーダライタ21は、取得したPICC識別子により、ICカード22宛てに処理コマンド等を送信することが可能となる。
【0086】
READY状態におけるREADY-DECLARED状態において、ICカード22が受信したフレームに含まれる処理コマンドが、PICC識別子一致コマンドである場合、ICカードの状態はREADY-DECLARED状態からJIS-ACTIVE状態に遷移する。そして、JIS-ACTIVE状態において、ICカード22が、その処理コマンドに対応する処理を行い、処理コマンドに対するレスポンスを送信した場合、ICカード22の状態は、JIS-ACTIVE状態からREADY-DECLARED状態に遷移する(戻る)。
【0087】
また、READY-DECLARED状態において、ICカード22が受信したフレームに含まれる処理コマンドが、PICC識別子一致コマンドでない場合、ICカード22の状態は、READY-DECLARED状態のままである。
【0088】
なお、READY-DECLARED状態において、ICカード22が、リーダライタ21からのREQ又はWUPを受信した場合、ICカード22の状態は、READY-DECLARED状態からREADY-REQUESTED状態に遷移する。そして、READY-REQUESTED状態において、IDLE状態においてREQ又はWUPを受信し、IDLE状態からREADY-REQUESTED状態に遷移した場合と同様の処理が行われる。
【0089】
READY状態(READY-REQUESTED状態又はREADY-DECLARED状態のいずれかの状態)において、HLT(ホルトコマンド)を受信した場合、HLTに対するレスポンスを送信後、ICカード22の状態は、READY状態からHALT状態に遷移する。
【0090】
また、READY状態において、ATTR(アトリビュートコマンド)を受信した場合、ATTRに対するレスポンスを送信後、ICカード22の状態は、READY状態からACTIVE状態に遷移する。
【0091】
ACTIVE状態において、ICカード22が受信したフレームに含まれるコマンドが、ICカード22のPICC識別子を含む処理コマンドである場合、ICカード22は、処理コマンドに対応する処理を行う。この場合、ICカード22の状態は、ACTIVE状態のままである。
【0092】
ACTIVE状態において、DESELECTを受信した場合、DESELECTに対するレスポンスを送信後、ICカード22の状態は、ACTIVE状態からHALT状態に遷移する。
【0093】
HALT状態において、WUPを受信した場合、WUPに対するレスポンスを送信後、ICカード22の状態は、HALT状態からIDLE状態に遷移する。
【0094】
[ICカード22による受信処理の動作説明]
次に、ICカード22が、リーダライタ21等からのフレームを受信する受信処理を説明する。
【0095】
図7及び図8は、受信処理を説明するためのフローチャートである。この受信処理は、例えばリーダライタ21等からフレームが送信されたときに開始される。
【0096】
なお、ICカード22の状態は、ACTIVE状態、READY状態、HALT状態、又はIDLE状態のいずれの状態であるとして、受信処理を説明する。
【0097】
ステップS1において、RF送受信部61は、リーダライタ21からのフレーム(フレームEDCを含む)を受信し、JIS通信処理部62に供給する。JIS通信処理部62は、RF送受信部61からのフレームEDCに基づいて、フレームにエラーが生じていないか否かを判定する。
【0098】
ステップS2において、JIS通信処理部62は、RF送受信部61からのフレームEDCに基づいて、フレームにエラーが生じていると判定した場合、RF送受信部61からのフレームを破棄(無視)して、処理を終了する。
【0099】
また、ステップS2において、JIS通信処理部62は、RF送受信部61からのフレームEDCに基づいて、フレームにエラーが生じていないと判定した場合、処理をステップS3に進める。
【0100】
ステップS3において、JIS通信処理部62は、状態記憶部63に保持されている状態情報を読み出す。そして、JIS通信処理部62は、読み出した状態情報に基づいて、ICカード22の状態がACTIVE状態、READY状態、HALT状態、又はIDLE状態のいずれの状態であるかを判定し、処理をステップS4に進める。
【0101】
ステップS4において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドが、状態遷移コマンドであるか否かを判定する。
【0102】
ステップS4において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドが、状態遷移コマンドでないと判定した場合、処理をステップS5に進める。
【0103】
ステップS5では、ICカード22がACTIVE状態である場合に、ISO処理部66による処理を行い、ICカード22がREADY状態である場合に、JIS処理部64による処理を行うコマンド処理が行われる。なお、このコマンド処理の詳細は、図8を参照して後述する。
【0104】
ステップS4において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドが、状態遷移コマンドであると判定した場合、ステップS3の処理において判定したICカード22の状態に応じて、処理をステップS6乃至ステップS9のいずれかに進める。
【0105】
すなわち、JIS通信処理部62は、ステップS3の処理において判定したICカード22の状態がACTIVE状態であるときに処理をステップS6に進め、READY状態であるときに処理をステップS7に進め、HALT状態であるときに処理をステップS8に進め、IDLE状態であるときに処理をステップS9に進める。
【0106】
ステップS6において、ICカード22の状態はACTIVE状態である。したがって、JIS通信処理部62は、RF送受信部61からのフレームを変換部65に供給する。変換部65は、JIS通信処理部62からのフレームをブロックに変換し、ISO処理部66に供給する。
【0107】
ISO処理部66は、変換部65からのブロック内のコマンドがDESELECTである場合、DESELECTに対するレスポンスを、変換部65、JIS通信処理部62、及びRF送受信部61を介して送信する。そして、ISO処理部66は、HALT状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、ACTIVE状態からHALT状態に遷移する。
【0108】
ステップS7において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがATTRである場合、ATTRに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、ACTIVE状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、READY状態からACTIVE状態に遷移する。
【0109】
また、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがHLTである場合、HLTに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、HALT状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、READY状態からHALT状態に遷移する。
【0110】
なお、READY状態におけるREADY-DECLARED状態において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがREQ又はWUPである場合、REQ又はWUPに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、READY状態におけるREADY-REQUESTED状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、READY状態におけるREADY-DECLARED状態からREADY-REQUESTED状態に遷移する。
【0111】
ステップS8において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがWUPである場合、WUPに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、IDLE状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、HALT状態からIDLE状態に遷移する。
【0112】
ステップS9において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがREQ又はWUPである場合、REQ又はWUPに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、READY状態におけるREADY-REQUESTED状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、IDLE状態からREADY状態におけるREADY-REQUESTED状態に遷移する。以上で受信処理は終了される。
【0113】
[ICカード22によるコマンド処理の動作説明]
次に、図7のステップS5におけるコマンド処理の詳細を説明する。図8は、コマンド処理を説明するためのフローチャートである。
【0114】
ステップS31において、JIS通信処理部62は、処理を、図7のステップS3の処理において判定したICカード22の状態に応じたステップに進める。
【0115】
ステップS31において、図7のステップS3の処理において判定したICカード22の状態がACTIVE状態である場合、JIS通信処理部62は、RF送受信部61からのフレームを、変換部65に供給して、処理をステップS32に進める。
【0116】
ステップS32において、変換部65は、JIS通信処理部62からのフレームをブロックに変換して、ISO処理部66に供給する。
【0117】
すなわち、例えば、変換部65は、JIS通信処理部62から供給されるフレーム内の、プリアンブル、同期コード、及びLENを削除し、残りのPCB,CID,NAD及びINFにより構成されるデータに対応するブロックEDCを算出する。
【0118】
そして、変換部65は、JIS通信処理部62から供給されるフレームEDCを、算出したブロックEDCに置き換えて、ブロックを生成し、ISO処理部66に供給する。
【0119】
ステップS33において、ISO処理部66は、変換部65からのブロックに含まれるブロックEDCに基づいて、変換部65からのブロックに誤り(エラー)が生じているか否かを判定する。そして、ISO処理部66は、その判定結果に基づいて、変換部65からのブロックに誤りが生じていないことを確認した後、処理をステップS34に進める。
【0120】
なお、ステップS33において、変換部65からのブロックに誤りが生じていないことが確認できない場合には、変換部65からのブロックに誤りが生じていないことが確認できるまで、ステップS32において、再度、ブロックが生成される。
【0121】
ステップS34において、ISO処理部66は、変換部65からのブロックに含まれる、ISO/IEC 14443-4に規定されたコマンドに基づいて、対応する処理を行う。
【0122】
ステップS35において、ISO処理部66は、ステップS34の処理により得られる処理結果を含むブロックを生成する。すなわち、例えば、ISO処理部66は、ステップS34の処理により得られる処理結果を含むINFに、対応するPCB,CID及びNADを付加する。
【0123】
そして、ISO処理部66は、INF,PCB,CID及びNADに基づいて、対応するブロックEDCを算出し、算出されたブロックEDCを、PCB,CID及びNADが付加されたINFに付加して、その結果得られるブロックを、変換部65に供給する。
【0124】
ステップS36において、変換部65は、ISO処理部66からのブロックEDCに基づいて、ブロックに誤りが生じているか否かを判定する。そして、変換部65は、その判定結果に基づいて、変換部65からのブロックに誤りが生じていないことを確認した後、処理をステップS37に進める。
【0125】
なお、ステップS36において、変換部65からのブロックに誤りが生じていないことが確認できない場合には、変換部65からのブロックに誤りが生じていないことが確認できるまで、ステップS35において、再度、ブロックが生成される。
【0126】
ステップS37において、変換部65は、ISO処理部66からのブロックをフレームに変換して、JIS通信処理部62に供給する。
【0127】
すなわち、例えば、変換部65は、ISO処理部66から供給されるブロックに、プリアンブル、同期コード、及びLENを付加するとともに、PCB,CID,NAD,INF、及び付加されたLENにより構成されるデータに対応するフレームEDCを算出する。
【0128】
そして、変換部65は、算出したフレームEDCと、ISO処理部66から供給されるブロックEDCとを置き換えて、その結果得られるフレームを、JIS通信処理部62に供給する。
【0129】
ステップS38において、JIS通信処理部62は、変換部65から供給されるフレームをRF送受信部61に供給する。そして、RF送受信部61は、JIS通信処理部62から供給されるフレームを、フレーム通信方式により送信して、処理を、図7のステップS5にリターンする。
【0130】
また、ステップS31において、図7のステップS3の処理において判定したICカード22の状態がREADY状態である場合、JIS通信処理部62は、RF送受信部61からのフレームを、JIS処理部64に供給して、処理をステップS39に進める。
【0131】
ステップS39において、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に準拠したコマンドが、PICC識別子一致コマンドであるか否かを判定する。
【0132】
ステップS39において、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に準拠したコマンドが、PICC識別子一致コマンドでないと判定した場合、処理を、図7のステップS5にリターンする。
【0133】
また、ステップS39において、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に準拠したコマンドが、PICC識別子一致コマンドであると判定した場合、処理をステップS40に進める。
【0134】
ステップS40において、JIS処理部64は、JIS-ACTIVE状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、READY(READY-DECLARED)状態からJIS-ACTIVE状態に遷移する。
【0135】
ステップS41において、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に準拠したコマンドに基づいて、対応する処理を行う。
【0136】
ステップS42において、JIS処理部64は、ステップS41の処理により得られる処理結果を含むフレームを生成する。すなわち、例えば、JIS処理部64は、ステップS41の処理により得られる処理結果を含むINFに、対応するプリアンブル、同期コード、LEN,PCB,CID及びNADを付加する。
【0137】
そして、JIS処理部64は、INF,LEN,PCB,CID及びNADに基づいて、対応するフレームEDCを算出し、算出されたフレームEDCを、プリアンブル、同期コード、LEN,PCB,CID及びNADが付加されたINFに付加して、その結果得られるフレームを、JIS通信処理部62に供給する。
【0138】
ステップS43において、JIS通信処理部62は、JIS処理部64から供給されるフレームをRF送受信部61に供給する。そして、RF送受信部61は、JIS処理部64から供給されるフレームを、フレーム通信方式により送信する。
【0139】
ステップS44において、JIS処理部64は、READY状態(READY-DECLARED状態)であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、JIS-ACTIVE状態からREADY状態に遷移する。ステップS44の処理の終了後、JIS処理部64は、処理を、図7のステップS5にリターンする。
【0140】
なお、ステップS31において、図7のステップS3の処理において判定したICカード22の状態がHALT状態又はIDLE状態のいずれかである場合、JIS通信処理部62は、処理を、図7のステップS5にリターンする。
【0141】
以上説明したように、受信処理では、状態遷移コマンドに応じて、ICカード22の状態を遷移させるようにした。そして、受信処理におけるコマンド処理において、ICカード22は、READY状態である場合に、フレームを処理対象とするICカードとして機能し、ACTIVE状態である場合に、ブロックを処理対象とするICカードとして機能するようにした。
【0142】
したがって、例えば、ICカード22では、データ構造が異なるフレーム及びブロックのいずれに対しても、対応する処理を行うことが可能となる。
【0143】
また、例えば、ICカード22がACTIVE状態である場合には、変換部65が、リーダライタ21からのフレームをISO処理部66によって処理することが可能なブロックに変換するとともに、ISO処理部66からのブロックをフレーム通信方式により送信することが可能なフレームに変換するようにした。
【0144】
したがって、ICカード22とリーダライタ21との間で、フレームの送受信を行うためのフレーム通信方式を用いて、ブロックを送受信(交換)することが可能となる。
【0145】
また、コマンド処理では、ステップS32において、受信したフレームをブロックに変換し、ステップS33において、変換後のブロックに誤りが生じていないことを確認するようにした。
【0146】
したがって、ステップS34において、誤りが生じていない変換後のブロックに対して処理を行うことが可能となる。
【0147】
さらに、コマンド処理では、ステップS35において、ブロックを生成し、ステップS36において、生成したブロックに誤りが生じていないことを確認するようにした。
【0148】
したがって、ステップS37において、誤りが生じていないブロックをフレームに変換することが可能となる。
【0149】
[JIS X 6319-4の拡張]
本発明では、ICカード22において、JIS X 6319-4に規定されたコマンドを送信するリーダライタ、及びISO/IEC 14443-4に規定されたコマンドを送信するリーダライタ21のいずれのリーダライタとも、フレーム通信方式を用いた非接触近接無線通信を行うことができるように、JIS X 6319-4を拡張するようにした。
【0150】
すなわち、例えば、本発明では、上述したATTR,WUP及びHLTを、JIS X 6319-4に規定されるコマンドとして含めるように、JIS X 6319-4を拡張し、JIS通信処理部62が、拡張されたJIS X 6319-4に規定されるコマンドに対応する処理を行うようにしている。これにより、JIS通信処理部62は、上述したATTR,WUP及びHLTに応じて、ICカード22の状態を更新することが可能となる。
【0151】
その他、本実施の形態では、JIS X 6319-4に規定されたREQ等を拡張して、JIS X 6319-4:2005との後方互換性を維持できるようにしている。
【0152】
次に、図9は、JIS X 6319-4において拡張されるREQのフォーマットの一例を示している。
【0153】
図9のREQは、それぞれ1バイトにより構成されるコマンドコード、システムコード、リクエストコード、及びタイムスロットコードにより構成される。
【0154】
コマンドコードは、"00"とされる。なお、""により囲まれる値は、16進数を表す。
【0155】
システムコードは、固定値及びAFI(application family identifier)により構成される。固定値は、"AA"とされる。システムコードにおいて、分野を特定しない場合には、AFIの値は"FF"とされる。
【0156】
AFIは、ISO/IEC 14443-3(JIS X 6322-3)の規定に準拠した値とされる。なお、AFIにおいては、"00"や下位4ビットが0となる値は使用されない。
【0157】
また、JIS X 6319-4:2005の規定との後方互換性を維持するために、システムコード"AAFF"に加えて、"FFFF"も分野を特定しないシステムコードの値とされる。
【0158】
リクエストコードが"00"である場合、REQは、JIS X 6319-4:2005に規定されたREQと互換性があることを示す。また、リクエストコードが"01"である場合、リクエストコードは、REQに対するレスポンスにシステムコード情報フィールドを付加して応答させることを示す。
【0159】
さらに、リクエストコードが"02"である場合、リクエストコードは、REQに対するレスポンスに伝送プロトコル能力を付加して応答させることを示す。
【0160】
なお、リクエストコードにおいて、"03"乃至"FF"は、RFU(reserved for future use)とされる。
【0161】
タイムスロットコードは、ICカード22が対応すべきタイムスロットの最大値を表す。タイムスロットコードとしては、1個のタイムスロットを表す"00"、2個のタイムスロットを表す"01"、4個のタイムスロットを表す"03"、8個のタイムスロットを表す"07"、又は16個のタイムスロットを表す"0F"のいずれかを採用することができる。
【0162】
次に、図10は、REQに対するレスポンスの一例を示している。
【0163】
図10に示す、REQに対するレスポンスは、1バイトの応答コード、8バイトのPICC識別子、8バイトの応答時間記述子、及び、0バイト又は2バイトのリクエストデータにより構成される。
【0164】
応答コードは、"01"とされる。PICC識別子は、ICカード22を識別するためのIDとされる。
【0165】
応答時間記述子は、ICカード22の応答時間を算出するために用いられる8バイトの情報であり、上位(先頭の)2バイトは、それぞれ、"FF"とされ、最下位の1バイトは"FF"とされる。
【0166】
リクエストデータは、例えばREQに含まれるリクエストコードが"01"である場合、システムコード情報フィールド(を表すデータ)とされる。
【0167】
また、リクエストデータは、例えばREQに含まれるリクエストコードが"02"である場合、伝送プロトコル能力(を表すデータ)とされる。
【0168】
次に、図11は、REQに対するレスポンスに含まれるPICC識別子の一例を示している。
【0169】
PICC識別子は、8バイトの数値であり、先頭の2バイトは"02FE"とされ、残りの6バイトは、PICCであるICカードを識別するためのPICC識別番号とされる。
【0170】
なお、PICC識別子において、先頭の2バイトの"02FE"以外の値は、本発明を適用した通信システム1等とは異なる通信システムにおいて使用されている可能性があるため、先頭の2バイトには、"02FE"以外の値を割り当てないようにしている。
【0171】
次に、図12は、REQに対するレスポンスに含まれる応答時間記述子の一例を示している。
【0172】
応答時間識別子は、受信したコマンドに対するICカード22による応答時間を算出するために用いられる8バイトの値である。
【0173】
応答時間識別子において、先頭の2バイトは"FFFF"とされる。また、最下位バイトB7は、将来のために予約されたものであるため、"FF"としなければならない。
【0174】
<2.変形例>
本実施の形態では、ICカード22が、ICカード22の状態に応じて、フレームを処理するICカード、又はブロックを処理するICカードの一方として機能するようにした。しかしながら、このICカード22に代えて、リーダライタ21が、リーダライタ21の状態に応じて、フレームを処理するリーダライタ、又はブロックを処理するリーダライタの一方として機能するように構成することが可能である。
【0175】
この場合、リーダライタ21は、フレームを処理するICカード、及びブロックを処理するICカードと、フレーム通信方式を用いた非接触近接無線通信を行うことが可能となる。
【0176】
また、本実施の形態では、ブロックを、フレーム通信方式により送受信するようにしたので、例えばISO/IEC 7816-4に規定されたコマンド等をブロックに含めて、フレーム通信方式により送受信することが可能である。
【0177】
さらに、本実施の形態では、フレーム通信方式によりブロックを送受信するリーダライタ21やICカード22について説明したが、本発明は、フレーム通信方式によりブロックを送受信する通信装置であれば、どのような通信装置にも適用できる。
【0178】
また、本実施の形態では、JIS X 6319-4に規定するコマンドに対応する処理を行うJIS通信処理部62においても、WUP,ATTR及びHLTに対応する処理を行うことができるように、JIS X 6319-4を拡張するようにしたが、これに限定されない。
【0179】
すなわち、例えば、JIS通信処理部62においても、WUP,ATTR及びHLTの他、DESELECTに対応する処理を行うことができるように、JIS X 6319-4を拡張するようにしてもよい。
【0180】
この場合、JIS通信処理部62は、WUP,ATTR及びHLTの他、DESELECTにも応じて、状態記憶部63に保持されている状態情報を更新することが可能となるため、状態遷移コマンドがDESELECTである場合には、そのDESELECTをJIS通信処理部62から変換部65を介してISO処理部66に供給する本実施の形態と比較して、より迅速に、状態情報を更新することが可能となる。
【0181】
また、本実施の形態では、ISO/IEC 14443-4の規定に準拠するブロックをフレームに変換するようにしたが、フレームに変換されるブロックとしては、これに限定されない。すなわち、例えば、図3及び図4において説明した変換方法により、フレームに変換することが可能なブロックであれば、どのようなデータ構造を有するブロックでも採用することが可能である。この場合、ブロックのデータ構造は、例えば、ISO/IEC 14443-4の規定において拡張(変更)される。
【0182】
さらに、本実施の形態では、JIS X 6319-4の規定に準拠するフレームを、リーダライタ21とICカード22との間でやりとりするようにしたが、やりとりされるフレームとしては、これに限定されない。すなわち、例えば、リーダライタ21とICカード22との間でやりとりすることが可能なフレームであれば、どのようなデータ構造を有するフレームでも採用することが可能である。この場合、フレームのデータ構造は、例えば、JIS X 6319-4の規定において拡張される。
【0183】
次に、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、記録媒体からインストールされる。
【0184】
[コンピュータの構成例]
図13は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示している。
【0185】
CPU(central processing unit)201は、ROM(read only memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(random access memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
【0186】
CPU201にはまた、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果を出力部207に出力する。
【0187】
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【0188】
また、通信部209を介してプログラムを取得し、記憶部208に記憶してもよい。
【0189】
入出力インタフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送され、記憶される。
【0190】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図13に示されるように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(compact disc-read only memory),DVD(digital versatile disc)を含む)、光磁気ディスク(MD(mini-disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に記録されるROM202や、記憶部208を構成するハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインタフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0191】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0192】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0193】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0194】
1 通信システム, 21 リーダライタ, 22 ICカード, 41 ISO処理部, 42 変換部, 43,61 RF送受信部, 62 JIS通信処理部, 63 状態記憶部, 64 JIS処理部, 65 変換部, 66 ISO処理部
【技術分野】
【0001】
本発明は、受信装置、受信方法、プログラム、及び送信装置に関し、特に、例えば、非接触近接無線通信において、所定のデータ構造により構成されるデータを送受信するための通信方式を用いて、所定のデータ構造とは異なるデータ構造により構成されるデータを送受信できるようにした受信装置、受信方法、プログラム、及び送信装置に関する。
【背景技術】
【0002】
従来、リーダライタとIC(integrated circuit)カード等との間で、電磁波を利用してデータの送受信を行う非接触近接無線通信技術が存在する。
【0003】
この非接触無線通信技術では、コマンド体系や通信方式等が異なる複数の規格が存在する。したがって、例えば、リーダライタとICカードとが、それぞれ、異なる規格に準拠したものである場合、そのようなリーダライタとICカードとの間では、データの送受信を行うことができないことが生じ得る。
【0004】
そこで、ICカードとリーダライタとの間にスルーリーダを設け、スルーリーダにより、それぞれ異なる規格に準拠したコマンドを送信するICカードからのコマンドをリーダライタにより認識することが可能なスルーコマンドに含めてリーダライタに供給するようにしたスルーコマンド技術が存在する(例えば、特許文献1を参照)。
【0005】
このスルーコマンド技術によれば、リーダライタは、スルーリーダを介して、異なる規格に準拠したICカードからのコマンドを、スルーコマンドとして受信することができる。
【0006】
また、例えば、リーダライタとICカードとの間で送受信される第1のメッセージと、リーダライタとICカードにおいて処理される第2のメッセージとのデータ構造が異なる場合に、第1のメッセージに、第2のメッセージを含めて送受信を行う送受信技術が存在する(例えば、特許文献2を参照)。
【0007】
この送受信技術によれば、リーダライタとICカードとの間で、第1のメッセージの送受信を行いつつ、リーダライタとICカードにおいて、第1のメッセージに含まれる第2のメッセージを処理することが可能となる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−264921号公報
【特許文献2】特開2005−242445号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、非接触近接無線通信の規格の1つであるJIS(japanese industrial standard) X 6319-4には、JIS X 6319-4に規定されたデータ構造(フォーマット)により構成されるデータであるフレームを送受信するための通信方式(以下、フレーム通信方式という)を用いて、非接触近接無線通信を行うことが規定されている。
【0010】
しかしながら、JIS X 6319-4には、フレーム通信方式を用いて、ISO/IEC(international organization for standardization/international electrotechnical commission) 14443-4に規定されたデータ構造により構成されるデータであるブロックや、ISO/IEC 7816-4に規定されたコマンド及びコマンドに対するレスポンス等を、非接触近接無線通信により送受信することは規定されていない。
【0011】
このため、フレーム通信方式を用いて、ISO/IEC 14443-4に規定されたデータ構造のブロックや、ISO/IEC 7816-4に規定されたコマンド及びコマンドに対するレスポンス等を送受信することができなかった。このことは、上述したスルーコマンド技術、及び送受信技術についても同様である。
【0012】
本発明は、このような状況に鑑みてなされたものであり、所定のデータ構造により構成されるデータを送受信するための通信方式を用いて、所定のデータ構造とは異なるデータ構造により構成されるデータを送受信できるようにするものである。
【課題を解決するための手段】
【0013】
本発明の第1の側面の受信装置、又はプログラムは、非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置、又受信装置として機能させるためのプログラムであって、受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更する変更手段と、前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換する変換手段と、前記第2のデータに含まれるコマンドに応じた処理を行う第1の処理手段とを含み、前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDC(error detection code)を含む前記第2のデータに変換する受信装置、又は受信装置として機能させるためのプログラムである。
【0014】
前記第1の処理手段では、前記第1のEDCに基づいて、前記第2のデータに誤りが生じていないと判定した場合、前記第2のデータを処理するようにすることができる。
【0015】
前記変換手段では、前記第1のデータに、前記第1のデータに誤りが生じているか否かを判定するための第2のEDCが含まれる場合、前記第2のEDCを、前記第1のEDCに置換して、前記第1のデータを前記第2のデータに変換するようにすることができる。
【0016】
前記第1のデータは、JIS(japanese industrial standard) X 6319-4に準拠するデータ構造により構成されるデータを表すフレームであり、前記第2のデータは、ISO/IEC(international organization for standardization/international electrotechnical commission) 14443-4に準拠するデータ構造により構成されるデータを表すブロックであり、前記第1のEDCは、前記フレームに含まれるEDCを表すフレームEDCであり、前記第2のEDCは、前記ブロックに含まれるEDCを表すブロックEDCであるようにすることができる。
【0017】
前記受信装置の状態が、前記第1のデータを処理するREADY状態である場合、受信した前記第1のデータに含まれるコマンドに応じた処理を行う第2の処理手段をさらに設けることができる。
【0018】
前記変更手段では、前記受信装置の状態がIDLE状態である場合に、前記状態遷移コマンドがREQ又はWUPであるとき、前記受信装置の状態を、前記IDLE状態から前記READY状態に変更するようにすることができる。
【0019】
前記変更手段では、前記受信装置の状態がREADY状態である場合に、前記状態遷移コマンドがATTRであるとき、前記受信装置の状態を、前記READY状態から前記ACTIVE状態に変更するようにすることができる。
【0020】
本発明の第1の側面の受信方法は、非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置の受信方法であって、前記受信装置は、変更手段と、変換手段と、第1の処理手段とを含み、前記変更手段が、受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更し、前記変換手段が、前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換し、前記第1の処理手段が、前記第2のデータに含まれるコマンドに応じた処理を行うステップを含み、前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータに変換する受信方法である。
【0021】
本発明の第1の側面によれば、受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態が変更され、前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータが、前記第2のデータに変換され、変換された前記第2のデータに含まれるコマンドに応じた処理が行われる。
【0022】
本発明の第2の側面の送信装置は、非接触近接無線通信により、所定のデータ構造により構成される第1のデータを送信する送信装置であって、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを生成する生成手段と、生成された前記第2のデータを、前記第1のデータに変換する変換手段と、変換された前記第1のデータを送信する送信手段とを含む送信装置である。
【0023】
前記生成手段では、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータを生成するようにすることができる。
【0024】
前記変換手段では、前記第1のEDCに基づいて、前記第2のデータに誤りが生じていないと判定した場合、前記第2のデータを、前記第1のデータに変換するようにすることができる。
【0025】
前記変換手段では、前記第1のEDCを、前記第1のデータに誤りが生じているか否かを判定するための第2のEDCに置換して、前記第2のデータを、前記第1のデータに変換するようにすることができる。
【0026】
前記第1のデータは、JIS X 6319-4に準拠するデータ構造により構成されるデータを表すフレームであり、前記第2のデータは、ISO/IEC 14443-4に準拠するデータ構造により構成されるデータを表すブロックであり、前記第1のEDCは、前記フレームに含まれるEDCを表すフレームEDCであり、前記第2のEDCは、前記ブロックに含まれるEDCを表すブロックEDCであるようにすることができる。
【0027】
本発明の第2の側面によれば、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータが生成され、生成された前記第2のデータが、前記第1のデータに変換され、変換された前記第1のデータが送信される。
【発明の効果】
【0028】
本発明によれば、所定のデータ構造により構成されるデータを送受信するための通信方式を用いて、所定のデータ構造とは異なるデータ構造により構成されるデータを送受信できる。
【図面の簡単な説明】
【0029】
【図1】通信システムの構成例を示すブロック図である。
【図2】リーダライタの構成例を示すブロック図である。
【図3】ブロックをフレームに変換する処理を説明するための図である。
【図4】フレームをブロックに変換する処理を説明するための図である。
【図5】ICカードの構成例を示すブロック図である。
【図6】ICカードの状態遷移を示す図である。
【図7】受信処理を説明するためのフローチャートである。
【図8】コマンド処理を説明するためのフローチャートである。
【図9】REQのフォーマットの一例を示す図である。
【図10】REQに対するレスポンスのフォーマットの一例を示す図である。
【図11】PICC識別子の一例を示す図である。
【図12】応答時間記述子の一例を示す図である。
【図13】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0030】
以下、発明を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1. 本実施の形態(フレーム通信方式を用いて、ブロックを交換する例)
2. 変形例
【0031】
<1.本実施の形態>
[通信システム1の構成例]
図1は、本実施の形態である通信システム1の構成例を示している。
【0032】
この通信システム1は、リーダライタ21及びICカード22により構成されている。リーダライタ21とICカード22との間では、JIS X 6319-4に規定されたデータ構造により構成されるデータであるフレームを送受信するためのフレーム通信方式を用いた非接触近接無線通信により、ISO/IEC 14443-4に規定されたデータ構造により構成されるデータであるブロックが送受信(交換)される。
【0033】
リーダライタ21は、フレーム通信方式を用いて送信されるICカード22からのフレームを受信し、受信したフレームをブロックに変換する。そして、リーダライタ21は、ブロックを処理対象として、対応する処理を行う。
【0034】
また、リーダライタ21は、ブロックを生成し、生成したブロックをフレームに変換する。そして、リーダライタ21は、変換されたフレームを、フレーム通信方式を用いて送信する。
【0035】
ICカード22は、フレーム通信方式を用いて送信される、例えばリーダライタ21等からのフレームを受信する。そして、ICカード22は、受信したフレームに、ICカード22の状態を遷移させるための状態遷移コマンドが含まれる場合、その状態遷移コマンドに応じて、IDLE状態、READY状態、ACTIVE状態、又はHALT状態のいずれかの状態とされる。なお、状態遷移コマンド、及びICカード22による状態遷移の詳細は、後述する図6を参照して説明する。
【0036】
ICカード22は、READY状態である場合、フレームを処理対象として、対応する処理を行うICカードとして機能し、ACTIVE状態である場合、ブロックを処理対象として、対応する処理を行うICカードとして機能する。
【0037】
すなわち、例えば、ICカード22が、フレームを処理対象として、対応する処理を行うリーダライタとフレーム通信方式を用いた非接触近接無線通信を行う場合、そのリーダライタにより、ICカード22はREADY状態とされる。そして、ICカード22とリーダライタとの間で、フレーム通信方式により、フレームの送受信が行われる。
【0038】
また、例えば、ICカード22が、ブロックを対象として、対応する処理を行うリーダライタ21とフレーム通信方式を用いた非接触近接無線通信を行う場合、リーダライタ21により、ICカード22はACTIVE状態とされる。そして、ICカード22とリーダライタ21との間で、フレーム通信方式により、フレームに変換されたブロックの送受信が行われる。
【0039】
以下、リーダライタ21とICカード22との間で、フレーム通信方式により、フレームに変換されたブロックを送受信する非接触近接無線通信について説明する。
【0040】
[リーダライタ21の構成例]
次に、図2は、リーダライタ21の構成例を示している。
【0041】
このリーダライタ21は、ISO処理部41、変換部42、及びRF(radio frequency)送受信部43により構成される。
【0042】
ISO処理部41は、ISO/IEC 14443-4に規定されたデータ構造のブロックを処理対象として、対応する処理を行う。
【0043】
すなわち、例えば、ISO処理部41は、変換部42からのブロックに含まれるコマンドに対応する処理を行う。そして、ISO処理部41は、その結果得られる処理結果を含むブロックを生成し、変換部42に供給する。
【0044】
変換部42は、ISO処理部41からのブロックをフレームに変換し、RF送受信部43に供給する。また、変換部42は、RF処理部43からのフレームをブロックに変換し、ISO処理部41に供給する。なお、変換部42が行う処理の詳細は、図3及び図4を参照して後述する。
【0045】
RF送受信部43は、フレーム通信方式により、例えばICカード22からのフレームを受信し、変換部42に供給する。また、RF送受信部43は、フレーム通信方式により、変換部42からのフレームを送信する。
【0046】
[変換部42が行う処理の説明]
次に、図3及び図4を参照して、変換部42が行う処理の詳細を説明する。
【0047】
図3は、変換部42が、ISO処理部41からのブロックをフレームに変換する様子を示している。
【0048】
図3Aに示されるブロックは、1バイトのPCB(protocol control byte、プロトコル制御バイト),1バイトのCID(card identifier、カード識別子),1バイトのNAD(node address、ノードアドレス),1乃至251バイトのINF(information field、情報フィールド)、及び2バイトのEDC(error detection code、誤り検出符号)により構成される。
【0049】
図3Bに示されるフレームは、6バイトのプリアンブル、2バイトの同期コード、INFのデータ長を表す1バイトのLEN(length)、1バイトのPCB、1バイトのCID、1バイトのNAD、1乃至251バイトのINF、及び2バイトのEDCにより構成される。
【0050】
なお、図3Aに示されるブロック内のEDCは、ブロック内のPCB,CID,NAD及びINFを構成するデータに基づいて算出される。図3Aに示されるブロック内のEDCは、ブロック内のPCB,CID,NAD及びINFを構成するデータにエラー(誤り)が生じているか否かを、例えば、CRC(cyclic redundancy check、巡回冗長検査)等により判定(検出)するために用いられる。
【0051】
また、図3Bに示されるフレーム内のEDCは、フレーム内のLEN,PCB,CID,NAD及びINFを構成するデータに基づいて算出される。図3Bに示されるフレーム内のEDCは、フレーム内のLEN,PCB,CID,NAD及びINFを構成するデータにエラーが生じているか否かを、例えば、CRC等により判定するために用いられる。
【0052】
ここで、以下の説明において、図3Aに示されるブロック内のEDCを、ブロックEDCといい、図3Bに示されるフレーム内のEDCを、フレームEDCという。
【0053】
変換部42は、ISO処理部41から供給される、図3Aに示されたようなブロックEDCに基づいて、PCB,CID,NAD及びINFにより構成されるデータにエラーが生じているか否かを判定する。
【0054】
そして、変換部42は、ブロックEDCに基づいて、PCB,CID,NAD及びINFにより構成されるデータにエラーが生じていないと判定した場合、ISO処理部41から供給されるブロックの先頭部分に、プリアンブル、同期コード、LENを付加する。また、変換部42は、LEN,PCB,CID,NAD及びINFにより構成されるデータに対応するフレームEDCを算出し、ブロックEDCと置き換える(置換する)。
【0055】
これにより、変換部42は、図3Aに示されたようなブロックを、図3Bに示されたようなフレームに変換し、RF送受信部43に供給する。
【0056】
次に、図4は、変換部42が、RF送受信部43からのフレームをブロックに置換する様子を示している。
【0057】
図4Aに示されるフレームは、図3Bに示されたフレームと同様のフレームを表している。図4Bに示されるブロックは、図3Aに示されたブロックと同様のブロックを表している。
【0058】
変換部42は、RF送受信部43から供給される、図4Aに示されたようなフレームEDCに基づいて、LEN,PCB,CID,NAD及びINFにより構成されるデータにエラーが生じているか否かを判定する。
【0059】
そして、変換部42は、フレームEDCに基づいて、LEN,PCB,CID,NAD及びINFにより構成されるデータにエラーが生じていないと判定した場合、RF送受信部43から供給されるフレームの先頭部分に付加されているプリアンブル、同期コード及びLENを削除する。また、変換部42は、残りのPCB,CID,NAD及びINFにより構成されるデータに対応するブロックEDCを算出し、フレームEDCと置き換える。
【0060】
これにより、変換部42は、図4Aに示されたようなフレームを、図4Bに示されたようなブロックに変換し、ISO処理部41に供給する。
【0061】
[ICカード22の構成例]
次に、図5は、ICカード22の構成例を示している。
【0062】
このICカード22は、RF送受信部61、JIS通信処理部62、状態記憶部63、JIS処理部64、変換部65、及びISO処理部66により構成される。
【0063】
RF送受信部61は、フレーム通信方式により、例えばリーダライタ21からのフレームを受信し、JIS通信処理部62に供給する。また、RF送受信部61は、フレーム通信方式により、JIS通信処理部62からのフレームを送信する。
【0064】
JIS通信処理部62は、RF送受信部61からのフレームに、ICカード22の状態を遷移させるための状態遷移コマンド(例えば、後述するREQ,WUP,ATTR及びHLT等)が含まれる場合、その状態遷移コマンドに基づいて、状態記憶部63に保持されている状態情報を更新する。
【0065】
なお、JIS通信処理部62は、JIS X 6319-4に規定されたコマンドに対応する処理を行うが、後述するWUP,ATTR及びHLTは、元来、JIS X 6319-4に規定されていない。
【0066】
したがって、JIS X 6319-4に規定されたコマンドに対応する処理を行うJIS通信処理部62では、通常、WUP,ATTR及びHLTに対応する処理を行うことはできない。
【0067】
しかしながら、本発明では、JIS X 6319-4に規定するコマンドに対応する処理を行うJIS通信処理部62においても、WUP,ATTR及びHLTに対応する処理を行うことができるように、JIS X 6319-4を拡張するようにしている。
【0068】
また、本発明では、JIS X 6319-4:2005との後方互換性を維持するために、JIS X 6319-4によりREQを拡張するようにしている。なお、JIS X 6319-4によるREQの拡張については、図9乃至図12を参照して後述する。
【0069】
さらに、状態遷移コマンドとして、REQ,WUP,ATTR及びHLTの他、ICカード22の状態を、ACTIVE状態からHALT状態に遷移させるためのDESELECTが存在するが、このDESELECTは、ISO/IEC 14443-4において定義される。したがって、DESELECTは、JIS通信処理部62ではなく、後述するISO処理部66により処理される。
【0070】
JIS通信処理部62は、状態記憶部63に保持されている状態情報が、READY状態を示している場合、RF送受信部61からのフレームに含まれる処理コマンド(ICカード22に所定の処理を実行させるためのコマンド)が、ICカード22を一意に識別するためのPICC識別子を含むPICC識別子一致コマンドであるか否かを判定する。
【0071】
そして、JIS通信処理部62は、RF送受信部61からのフレームに含まれる処理コマンドが、PICC識別子一致コマンドであると判定した場合、RF送受信部61からのフレームを、JIS処理部64に供給する。
【0072】
また、JIS通信処理部62は、状態記憶部63に保持されている状態情報が、ACTIVE状態を示している場合、RF送受信部61からのフレームを、変換部65に供給する。
【0073】
さらに、JIS通信処理部62は、JIS処理部64又は変換部65からのフレームを、RF送受信部61に供給する。
【0074】
状態記憶部63は、ICカード22の状態を表す状態情報を保持する。なお、状態記憶部63には、POWER OFF状態を表す状態情報が予め保持されている。
【0075】
JIS処理部64は、フレームを処理対象として、JIS X 6319-4に規定された処理コマンドに対応する処理を行う。すなわち、例えば、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に規定されたコマンドに対応する処理を行う。また、JIS処理部64は、その処理の結果得られる処理結果を含むフレームを生成し、JIS通信処理部62に供給する。
【0076】
変換部65は、図2の変換部42と同様に、JIS通信処理部62からのフレームをブロックに変換し、ISO処理部66に供給する。また、変換部65は、ISO通信処理部66からのブロックをフレームに変換し、JIS通信処理部62に供給する。
【0077】
ISO処理部66は、ブロックを処理対象として、ISO/IEC 14443-4に規定された処理コマンドに対応する処理を行う。すなわち、例えば、ISO処理部66は、変換部65からのブロックに含まれる、ISO/IEC 14443-4に規定された処理コマンドに対応する処理を行う。また、ISO処理部66は、その処理の結果得られる処理結果を含むブロックを生成し、変換部65に供給する。
【0078】
また、ISO処理部66は、変換部65からのブロックに含まれる、ISO/IEC 14443-4に規定された状態遷移コマンドであるDESELECTに基づいて、状態記憶部63に保持されている、ACTIVE状態を表す状態情報を、HALT状態を表す状態情報に更新する。
【0079】
[ICカード22の状態遷移]
次に、図6を参照して、ICカード22の状態遷移の様子を説明する。
【0080】
ICカード22が、例えばリーダライタ21等により発生されるRFフィールド(磁界)内に存在しない場合、ICカード22の状態はPOWER OFF状態とされる。
【0081】
また、POWER OFF状態において、ICカード22が、リーダライタ21にかざされて、リーダライタ21等により発生されるRFフィールド内に含まれるようになった場合、ICカード22の状態は、POWER OFF状態からIDLE状態に遷移する。
【0082】
IDLE状態において、ICカード22が、リーダライタ21等により発生されるRFフィールド内に含まれなくなった場合、ICカード22の状態は、IDLE状態からPOWER OFF状態に遷移する。なお、IDLE状態の他、READY状態、ACTIVE状態、HALT状態、又は後述するJIS-ACTIVE状態のいずれの状態においても、ICカード22が、リーダライタ21等により発生されるRFフィールド内に含まれなくなった場合、ICカード22の状態は、POWER OFF状態に遷移する。
【0083】
また、IDLE状態において、REQ(リクエストコマンド)又はWUP(ウェイクアップコマンド)を受信した場合、ICカード22の状態は、IDLE状態から、READY状態のREADY-REQUESTED状態に遷移する。
【0084】
READY状態におけるREADY-REQUESTED状態において、ICカード22が、受信したREQ又はWUPに対するレスポンス(ICカード22のPICC識別子を含む)を送信した場合、ICカード22の状態は、READY-REQUESTED状態からREADY-DECLARED状態に遷移する。
【0085】
ICカード22が、REQ又はWUPに対するレスポンスを送信したことにより、例えばリーダライタ21は、REQ又はWUPに対するレスポンスに含まれるICカード22のPICC識別子を取得する。これにより、リーダライタ21は、取得したPICC識別子により、ICカード22宛てに処理コマンド等を送信することが可能となる。
【0086】
READY状態におけるREADY-DECLARED状態において、ICカード22が受信したフレームに含まれる処理コマンドが、PICC識別子一致コマンドである場合、ICカードの状態はREADY-DECLARED状態からJIS-ACTIVE状態に遷移する。そして、JIS-ACTIVE状態において、ICカード22が、その処理コマンドに対応する処理を行い、処理コマンドに対するレスポンスを送信した場合、ICカード22の状態は、JIS-ACTIVE状態からREADY-DECLARED状態に遷移する(戻る)。
【0087】
また、READY-DECLARED状態において、ICカード22が受信したフレームに含まれる処理コマンドが、PICC識別子一致コマンドでない場合、ICカード22の状態は、READY-DECLARED状態のままである。
【0088】
なお、READY-DECLARED状態において、ICカード22が、リーダライタ21からのREQ又はWUPを受信した場合、ICカード22の状態は、READY-DECLARED状態からREADY-REQUESTED状態に遷移する。そして、READY-REQUESTED状態において、IDLE状態においてREQ又はWUPを受信し、IDLE状態からREADY-REQUESTED状態に遷移した場合と同様の処理が行われる。
【0089】
READY状態(READY-REQUESTED状態又はREADY-DECLARED状態のいずれかの状態)において、HLT(ホルトコマンド)を受信した場合、HLTに対するレスポンスを送信後、ICカード22の状態は、READY状態からHALT状態に遷移する。
【0090】
また、READY状態において、ATTR(アトリビュートコマンド)を受信した場合、ATTRに対するレスポンスを送信後、ICカード22の状態は、READY状態からACTIVE状態に遷移する。
【0091】
ACTIVE状態において、ICカード22が受信したフレームに含まれるコマンドが、ICカード22のPICC識別子を含む処理コマンドである場合、ICカード22は、処理コマンドに対応する処理を行う。この場合、ICカード22の状態は、ACTIVE状態のままである。
【0092】
ACTIVE状態において、DESELECTを受信した場合、DESELECTに対するレスポンスを送信後、ICカード22の状態は、ACTIVE状態からHALT状態に遷移する。
【0093】
HALT状態において、WUPを受信した場合、WUPに対するレスポンスを送信後、ICカード22の状態は、HALT状態からIDLE状態に遷移する。
【0094】
[ICカード22による受信処理の動作説明]
次に、ICカード22が、リーダライタ21等からのフレームを受信する受信処理を説明する。
【0095】
図7及び図8は、受信処理を説明するためのフローチャートである。この受信処理は、例えばリーダライタ21等からフレームが送信されたときに開始される。
【0096】
なお、ICカード22の状態は、ACTIVE状態、READY状態、HALT状態、又はIDLE状態のいずれの状態であるとして、受信処理を説明する。
【0097】
ステップS1において、RF送受信部61は、リーダライタ21からのフレーム(フレームEDCを含む)を受信し、JIS通信処理部62に供給する。JIS通信処理部62は、RF送受信部61からのフレームEDCに基づいて、フレームにエラーが生じていないか否かを判定する。
【0098】
ステップS2において、JIS通信処理部62は、RF送受信部61からのフレームEDCに基づいて、フレームにエラーが生じていると判定した場合、RF送受信部61からのフレームを破棄(無視)して、処理を終了する。
【0099】
また、ステップS2において、JIS通信処理部62は、RF送受信部61からのフレームEDCに基づいて、フレームにエラーが生じていないと判定した場合、処理をステップS3に進める。
【0100】
ステップS3において、JIS通信処理部62は、状態記憶部63に保持されている状態情報を読み出す。そして、JIS通信処理部62は、読み出した状態情報に基づいて、ICカード22の状態がACTIVE状態、READY状態、HALT状態、又はIDLE状態のいずれの状態であるかを判定し、処理をステップS4に進める。
【0101】
ステップS4において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドが、状態遷移コマンドであるか否かを判定する。
【0102】
ステップS4において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドが、状態遷移コマンドでないと判定した場合、処理をステップS5に進める。
【0103】
ステップS5では、ICカード22がACTIVE状態である場合に、ISO処理部66による処理を行い、ICカード22がREADY状態である場合に、JIS処理部64による処理を行うコマンド処理が行われる。なお、このコマンド処理の詳細は、図8を参照して後述する。
【0104】
ステップS4において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドが、状態遷移コマンドであると判定した場合、ステップS3の処理において判定したICカード22の状態に応じて、処理をステップS6乃至ステップS9のいずれかに進める。
【0105】
すなわち、JIS通信処理部62は、ステップS3の処理において判定したICカード22の状態がACTIVE状態であるときに処理をステップS6に進め、READY状態であるときに処理をステップS7に進め、HALT状態であるときに処理をステップS8に進め、IDLE状態であるときに処理をステップS9に進める。
【0106】
ステップS6において、ICカード22の状態はACTIVE状態である。したがって、JIS通信処理部62は、RF送受信部61からのフレームを変換部65に供給する。変換部65は、JIS通信処理部62からのフレームをブロックに変換し、ISO処理部66に供給する。
【0107】
ISO処理部66は、変換部65からのブロック内のコマンドがDESELECTである場合、DESELECTに対するレスポンスを、変換部65、JIS通信処理部62、及びRF送受信部61を介して送信する。そして、ISO処理部66は、HALT状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、ACTIVE状態からHALT状態に遷移する。
【0108】
ステップS7において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがATTRである場合、ATTRに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、ACTIVE状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、READY状態からACTIVE状態に遷移する。
【0109】
また、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがHLTである場合、HLTに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、HALT状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、READY状態からHALT状態に遷移する。
【0110】
なお、READY状態におけるREADY-DECLARED状態において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがREQ又はWUPである場合、REQ又はWUPに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、READY状態におけるREADY-REQUESTED状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、READY状態におけるREADY-DECLARED状態からREADY-REQUESTED状態に遷移する。
【0111】
ステップS8において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがWUPである場合、WUPに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、IDLE状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、HALT状態からIDLE状態に遷移する。
【0112】
ステップS9において、JIS通信処理部62は、RF送受信部61からのフレーム内のコマンドがREQ又はWUPである場合、REQ又はWUPに対するレスポンスを、RF送受信部61を介して送信する。そして、JIS通信処理部62は、READY状態におけるREADY-REQUESTED状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、IDLE状態からREADY状態におけるREADY-REQUESTED状態に遷移する。以上で受信処理は終了される。
【0113】
[ICカード22によるコマンド処理の動作説明]
次に、図7のステップS5におけるコマンド処理の詳細を説明する。図8は、コマンド処理を説明するためのフローチャートである。
【0114】
ステップS31において、JIS通信処理部62は、処理を、図7のステップS3の処理において判定したICカード22の状態に応じたステップに進める。
【0115】
ステップS31において、図7のステップS3の処理において判定したICカード22の状態がACTIVE状態である場合、JIS通信処理部62は、RF送受信部61からのフレームを、変換部65に供給して、処理をステップS32に進める。
【0116】
ステップS32において、変換部65は、JIS通信処理部62からのフレームをブロックに変換して、ISO処理部66に供給する。
【0117】
すなわち、例えば、変換部65は、JIS通信処理部62から供給されるフレーム内の、プリアンブル、同期コード、及びLENを削除し、残りのPCB,CID,NAD及びINFにより構成されるデータに対応するブロックEDCを算出する。
【0118】
そして、変換部65は、JIS通信処理部62から供給されるフレームEDCを、算出したブロックEDCに置き換えて、ブロックを生成し、ISO処理部66に供給する。
【0119】
ステップS33において、ISO処理部66は、変換部65からのブロックに含まれるブロックEDCに基づいて、変換部65からのブロックに誤り(エラー)が生じているか否かを判定する。そして、ISO処理部66は、その判定結果に基づいて、変換部65からのブロックに誤りが生じていないことを確認した後、処理をステップS34に進める。
【0120】
なお、ステップS33において、変換部65からのブロックに誤りが生じていないことが確認できない場合には、変換部65からのブロックに誤りが生じていないことが確認できるまで、ステップS32において、再度、ブロックが生成される。
【0121】
ステップS34において、ISO処理部66は、変換部65からのブロックに含まれる、ISO/IEC 14443-4に規定されたコマンドに基づいて、対応する処理を行う。
【0122】
ステップS35において、ISO処理部66は、ステップS34の処理により得られる処理結果を含むブロックを生成する。すなわち、例えば、ISO処理部66は、ステップS34の処理により得られる処理結果を含むINFに、対応するPCB,CID及びNADを付加する。
【0123】
そして、ISO処理部66は、INF,PCB,CID及びNADに基づいて、対応するブロックEDCを算出し、算出されたブロックEDCを、PCB,CID及びNADが付加されたINFに付加して、その結果得られるブロックを、変換部65に供給する。
【0124】
ステップS36において、変換部65は、ISO処理部66からのブロックEDCに基づいて、ブロックに誤りが生じているか否かを判定する。そして、変換部65は、その判定結果に基づいて、変換部65からのブロックに誤りが生じていないことを確認した後、処理をステップS37に進める。
【0125】
なお、ステップS36において、変換部65からのブロックに誤りが生じていないことが確認できない場合には、変換部65からのブロックに誤りが生じていないことが確認できるまで、ステップS35において、再度、ブロックが生成される。
【0126】
ステップS37において、変換部65は、ISO処理部66からのブロックをフレームに変換して、JIS通信処理部62に供給する。
【0127】
すなわち、例えば、変換部65は、ISO処理部66から供給されるブロックに、プリアンブル、同期コード、及びLENを付加するとともに、PCB,CID,NAD,INF、及び付加されたLENにより構成されるデータに対応するフレームEDCを算出する。
【0128】
そして、変換部65は、算出したフレームEDCと、ISO処理部66から供給されるブロックEDCとを置き換えて、その結果得られるフレームを、JIS通信処理部62に供給する。
【0129】
ステップS38において、JIS通信処理部62は、変換部65から供給されるフレームをRF送受信部61に供給する。そして、RF送受信部61は、JIS通信処理部62から供給されるフレームを、フレーム通信方式により送信して、処理を、図7のステップS5にリターンする。
【0130】
また、ステップS31において、図7のステップS3の処理において判定したICカード22の状態がREADY状態である場合、JIS通信処理部62は、RF送受信部61からのフレームを、JIS処理部64に供給して、処理をステップS39に進める。
【0131】
ステップS39において、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に準拠したコマンドが、PICC識別子一致コマンドであるか否かを判定する。
【0132】
ステップS39において、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に準拠したコマンドが、PICC識別子一致コマンドでないと判定した場合、処理を、図7のステップS5にリターンする。
【0133】
また、ステップS39において、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に準拠したコマンドが、PICC識別子一致コマンドであると判定した場合、処理をステップS40に進める。
【0134】
ステップS40において、JIS処理部64は、JIS-ACTIVE状態であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、READY(READY-DECLARED)状態からJIS-ACTIVE状態に遷移する。
【0135】
ステップS41において、JIS処理部64は、JIS通信処理部62からのフレームに含まれる、JIS X 6319-4に準拠したコマンドに基づいて、対応する処理を行う。
【0136】
ステップS42において、JIS処理部64は、ステップS41の処理により得られる処理結果を含むフレームを生成する。すなわち、例えば、JIS処理部64は、ステップS41の処理により得られる処理結果を含むINFに、対応するプリアンブル、同期コード、LEN,PCB,CID及びNADを付加する。
【0137】
そして、JIS処理部64は、INF,LEN,PCB,CID及びNADに基づいて、対応するフレームEDCを算出し、算出されたフレームEDCを、プリアンブル、同期コード、LEN,PCB,CID及びNADが付加されたINFに付加して、その結果得られるフレームを、JIS通信処理部62に供給する。
【0138】
ステップS43において、JIS通信処理部62は、JIS処理部64から供給されるフレームをRF送受信部61に供給する。そして、RF送受信部61は、JIS処理部64から供給されるフレームを、フレーム通信方式により送信する。
【0139】
ステップS44において、JIS処理部64は、READY状態(READY-DECLARED状態)であることを表す状態情報を生成し、状態記憶部63に供給して上書きする。これにより、状態記憶部63に保持されている状態情報が表すICカード22の状態は、JIS-ACTIVE状態からREADY状態に遷移する。ステップS44の処理の終了後、JIS処理部64は、処理を、図7のステップS5にリターンする。
【0140】
なお、ステップS31において、図7のステップS3の処理において判定したICカード22の状態がHALT状態又はIDLE状態のいずれかである場合、JIS通信処理部62は、処理を、図7のステップS5にリターンする。
【0141】
以上説明したように、受信処理では、状態遷移コマンドに応じて、ICカード22の状態を遷移させるようにした。そして、受信処理におけるコマンド処理において、ICカード22は、READY状態である場合に、フレームを処理対象とするICカードとして機能し、ACTIVE状態である場合に、ブロックを処理対象とするICカードとして機能するようにした。
【0142】
したがって、例えば、ICカード22では、データ構造が異なるフレーム及びブロックのいずれに対しても、対応する処理を行うことが可能となる。
【0143】
また、例えば、ICカード22がACTIVE状態である場合には、変換部65が、リーダライタ21からのフレームをISO処理部66によって処理することが可能なブロックに変換するとともに、ISO処理部66からのブロックをフレーム通信方式により送信することが可能なフレームに変換するようにした。
【0144】
したがって、ICカード22とリーダライタ21との間で、フレームの送受信を行うためのフレーム通信方式を用いて、ブロックを送受信(交換)することが可能となる。
【0145】
また、コマンド処理では、ステップS32において、受信したフレームをブロックに変換し、ステップS33において、変換後のブロックに誤りが生じていないことを確認するようにした。
【0146】
したがって、ステップS34において、誤りが生じていない変換後のブロックに対して処理を行うことが可能となる。
【0147】
さらに、コマンド処理では、ステップS35において、ブロックを生成し、ステップS36において、生成したブロックに誤りが生じていないことを確認するようにした。
【0148】
したがって、ステップS37において、誤りが生じていないブロックをフレームに変換することが可能となる。
【0149】
[JIS X 6319-4の拡張]
本発明では、ICカード22において、JIS X 6319-4に規定されたコマンドを送信するリーダライタ、及びISO/IEC 14443-4に規定されたコマンドを送信するリーダライタ21のいずれのリーダライタとも、フレーム通信方式を用いた非接触近接無線通信を行うことができるように、JIS X 6319-4を拡張するようにした。
【0150】
すなわち、例えば、本発明では、上述したATTR,WUP及びHLTを、JIS X 6319-4に規定されるコマンドとして含めるように、JIS X 6319-4を拡張し、JIS通信処理部62が、拡張されたJIS X 6319-4に規定されるコマンドに対応する処理を行うようにしている。これにより、JIS通信処理部62は、上述したATTR,WUP及びHLTに応じて、ICカード22の状態を更新することが可能となる。
【0151】
その他、本実施の形態では、JIS X 6319-4に規定されたREQ等を拡張して、JIS X 6319-4:2005との後方互換性を維持できるようにしている。
【0152】
次に、図9は、JIS X 6319-4において拡張されるREQのフォーマットの一例を示している。
【0153】
図9のREQは、それぞれ1バイトにより構成されるコマンドコード、システムコード、リクエストコード、及びタイムスロットコードにより構成される。
【0154】
コマンドコードは、"00"とされる。なお、""により囲まれる値は、16進数を表す。
【0155】
システムコードは、固定値及びAFI(application family identifier)により構成される。固定値は、"AA"とされる。システムコードにおいて、分野を特定しない場合には、AFIの値は"FF"とされる。
【0156】
AFIは、ISO/IEC 14443-3(JIS X 6322-3)の規定に準拠した値とされる。なお、AFIにおいては、"00"や下位4ビットが0となる値は使用されない。
【0157】
また、JIS X 6319-4:2005の規定との後方互換性を維持するために、システムコード"AAFF"に加えて、"FFFF"も分野を特定しないシステムコードの値とされる。
【0158】
リクエストコードが"00"である場合、REQは、JIS X 6319-4:2005に規定されたREQと互換性があることを示す。また、リクエストコードが"01"である場合、リクエストコードは、REQに対するレスポンスにシステムコード情報フィールドを付加して応答させることを示す。
【0159】
さらに、リクエストコードが"02"である場合、リクエストコードは、REQに対するレスポンスに伝送プロトコル能力を付加して応答させることを示す。
【0160】
なお、リクエストコードにおいて、"03"乃至"FF"は、RFU(reserved for future use)とされる。
【0161】
タイムスロットコードは、ICカード22が対応すべきタイムスロットの最大値を表す。タイムスロットコードとしては、1個のタイムスロットを表す"00"、2個のタイムスロットを表す"01"、4個のタイムスロットを表す"03"、8個のタイムスロットを表す"07"、又は16個のタイムスロットを表す"0F"のいずれかを採用することができる。
【0162】
次に、図10は、REQに対するレスポンスの一例を示している。
【0163】
図10に示す、REQに対するレスポンスは、1バイトの応答コード、8バイトのPICC識別子、8バイトの応答時間記述子、及び、0バイト又は2バイトのリクエストデータにより構成される。
【0164】
応答コードは、"01"とされる。PICC識別子は、ICカード22を識別するためのIDとされる。
【0165】
応答時間記述子は、ICカード22の応答時間を算出するために用いられる8バイトの情報であり、上位(先頭の)2バイトは、それぞれ、"FF"とされ、最下位の1バイトは"FF"とされる。
【0166】
リクエストデータは、例えばREQに含まれるリクエストコードが"01"である場合、システムコード情報フィールド(を表すデータ)とされる。
【0167】
また、リクエストデータは、例えばREQに含まれるリクエストコードが"02"である場合、伝送プロトコル能力(を表すデータ)とされる。
【0168】
次に、図11は、REQに対するレスポンスに含まれるPICC識別子の一例を示している。
【0169】
PICC識別子は、8バイトの数値であり、先頭の2バイトは"02FE"とされ、残りの6バイトは、PICCであるICカードを識別するためのPICC識別番号とされる。
【0170】
なお、PICC識別子において、先頭の2バイトの"02FE"以外の値は、本発明を適用した通信システム1等とは異なる通信システムにおいて使用されている可能性があるため、先頭の2バイトには、"02FE"以外の値を割り当てないようにしている。
【0171】
次に、図12は、REQに対するレスポンスに含まれる応答時間記述子の一例を示している。
【0172】
応答時間識別子は、受信したコマンドに対するICカード22による応答時間を算出するために用いられる8バイトの値である。
【0173】
応答時間識別子において、先頭の2バイトは"FFFF"とされる。また、最下位バイトB7は、将来のために予約されたものであるため、"FF"としなければならない。
【0174】
<2.変形例>
本実施の形態では、ICカード22が、ICカード22の状態に応じて、フレームを処理するICカード、又はブロックを処理するICカードの一方として機能するようにした。しかしながら、このICカード22に代えて、リーダライタ21が、リーダライタ21の状態に応じて、フレームを処理するリーダライタ、又はブロックを処理するリーダライタの一方として機能するように構成することが可能である。
【0175】
この場合、リーダライタ21は、フレームを処理するICカード、及びブロックを処理するICカードと、フレーム通信方式を用いた非接触近接無線通信を行うことが可能となる。
【0176】
また、本実施の形態では、ブロックを、フレーム通信方式により送受信するようにしたので、例えばISO/IEC 7816-4に規定されたコマンド等をブロックに含めて、フレーム通信方式により送受信することが可能である。
【0177】
さらに、本実施の形態では、フレーム通信方式によりブロックを送受信するリーダライタ21やICカード22について説明したが、本発明は、フレーム通信方式によりブロックを送受信する通信装置であれば、どのような通信装置にも適用できる。
【0178】
また、本実施の形態では、JIS X 6319-4に規定するコマンドに対応する処理を行うJIS通信処理部62においても、WUP,ATTR及びHLTに対応する処理を行うことができるように、JIS X 6319-4を拡張するようにしたが、これに限定されない。
【0179】
すなわち、例えば、JIS通信処理部62においても、WUP,ATTR及びHLTの他、DESELECTに対応する処理を行うことができるように、JIS X 6319-4を拡張するようにしてもよい。
【0180】
この場合、JIS通信処理部62は、WUP,ATTR及びHLTの他、DESELECTにも応じて、状態記憶部63に保持されている状態情報を更新することが可能となるため、状態遷移コマンドがDESELECTである場合には、そのDESELECTをJIS通信処理部62から変換部65を介してISO処理部66に供給する本実施の形態と比較して、より迅速に、状態情報を更新することが可能となる。
【0181】
また、本実施の形態では、ISO/IEC 14443-4の規定に準拠するブロックをフレームに変換するようにしたが、フレームに変換されるブロックとしては、これに限定されない。すなわち、例えば、図3及び図4において説明した変換方法により、フレームに変換することが可能なブロックであれば、どのようなデータ構造を有するブロックでも採用することが可能である。この場合、ブロックのデータ構造は、例えば、ISO/IEC 14443-4の規定において拡張(変更)される。
【0182】
さらに、本実施の形態では、JIS X 6319-4の規定に準拠するフレームを、リーダライタ21とICカード22との間でやりとりするようにしたが、やりとりされるフレームとしては、これに限定されない。すなわち、例えば、リーダライタ21とICカード22との間でやりとりすることが可能なフレームであれば、どのようなデータ構造を有するフレームでも採用することが可能である。この場合、フレームのデータ構造は、例えば、JIS X 6319-4の規定において拡張される。
【0183】
次に、上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、いわゆる組み込み型のコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、記録媒体からインストールされる。
【0184】
[コンピュータの構成例]
図13は、上述した一連の処理をプログラムにより実行するコンピュータの構成例を示している。
【0185】
CPU(central processing unit)201は、ROM(read only memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行する。RAM(random access memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
【0186】
CPU201にはまた、バス204を介して入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果を出力部207に出力する。
【0187】
入出力インタフェース205に接続されている記憶部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【0188】
また、通信部209を介してプログラムを取得し、記憶部208に記憶してもよい。
【0189】
入出力インタフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部208に転送され、記憶される。
【0190】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図13に示されるように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(compact disc-read only memory),DVD(digital versatile disc)を含む)、光磁気ディスク(MD(mini-disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211、または、プログラムが一時的もしくは永続的に記録されるROM202や、記憶部208を構成するハードディスクなどにより構成される。記録媒体へのプログラムの記録は、必要に応じてルータ、モデムなどのインタフェースである通信部209を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0191】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0192】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0193】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0194】
1 通信システム, 21 リーダライタ, 22 ICカード, 41 ISO処理部, 42 変換部, 43,61 RF送受信部, 62 JIS通信処理部, 63 状態記憶部, 64 JIS処理部, 65 変換部, 66 ISO処理部
【特許請求の範囲】
【請求項1】
非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置において、
受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更する変更手段と、
前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換する変換手段と、
前記第2のデータに含まれるコマンドに応じた処理を行う第1の処理手段と
を含み、
前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDC(error detection code)を含む前記第2のデータに変換する
受信装置。
【請求項2】
前記第1の処理手段は、前記第1のEDCに基づいて、前記第2のデータに誤りが生じていないと判定した場合、前記第2のデータを処理する
請求項1に記載の受信装置。
【請求項3】
前記変換手段は、前記第1のデータに、前記第1のデータに誤りが生じているか否かを判定するための第2のEDCが含まれる場合、前記第2のEDCを、前記第1のEDCに置換して、前記第1のデータを前記第2のデータに変換する
請求項2に記載の受信装置。
【請求項4】
前記第1のデータは、JIS(japanese industrial standard) X 6319-4に準拠するデータ構造により構成されるデータを表すフレームであり、
前記第2のデータは、ISO/IEC(international organization for standardization/international electrotechnical commission) 14443-4に準拠するデータ構造により構成されるデータを表すブロックであり、
前記第1のEDCは、前記フレームに含まれるEDCを表すフレームEDCであり、
前記第2のEDCは、前記ブロックに含まれるEDCを表すブロックEDCである
請求項3に記載の受信装置。
【請求項5】
前記受信装置の状態が、前記第1のデータを処理するREADY状態である場合、受信した前記第1のデータに含まれるコマンドに応じた処理を行う第2の処理手段をさらに含む
請求項1に記載の受信装置。
【請求項6】
前記変更手段は、前記受信装置の状態がIDLE状態である場合に、前記状態遷移コマンドがREQ又はWUPであるとき、前記受信装置の状態を、前記IDLE状態から前記READY状態に変更する
請求項1に記載の受信装置。
【請求項7】
前記変更手段は、前記受信装置の状態がREADY状態である場合に、前記状態遷移コマンドがATTRであるとき、前記受信装置の状態を、前記READY状態から前記ACTIVE状態に変更する
請求項1に記載の受信装置。
【請求項8】
非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置の受信方法において、
前記受信装置は、
変更手段と、
変換手段と、
第1の処理手段と
を含み、
前記変更手段が、受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更し、
前記変換手段が、前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換し、
前記第1の処理手段が、前記第2のデータに含まれるコマンドに応じた処理を行う
ステップを含み、
前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータに変換する
受信方法。
【請求項9】
非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置のコンピュータを、
受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更する変更手段と、
前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換する変換手段と、
前記第2のデータに含まれるコマンドに応じた処理を行う第1の処理手段と
して機能させ、
前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータに変換する
プログラム。
【請求項10】
非接触近接無線通信により、所定のデータ構造により構成される第1のデータを送信する送信装置において、
前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを生成する生成手段と、
生成された前記第2のデータを、前記第1のデータに変換する変換手段と、
変換された前記第1のデータを送信する送信手段と
を含む送信装置。
【請求項11】
前記生成手段は、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータを生成する
請求項10に記載の送信装置。
【請求項12】
前記変換手段は、前記第1のEDCに基づいて、前記第2のデータに誤りが生じていないと判定した場合、前記第2のデータを、前記第1のデータに変換する
請求項11に記載の送信装置。
【請求項13】
前記変換手段は、前記第1のEDCを、前記第1のデータに誤りが生じているか否かを判定するための第2のEDCに置換して、前記第2のデータを、前記第1のデータに変換する
請求項12に記載の送信装置。
【請求項14】
前記第1のデータは、JIS X 6319-4に準拠するデータ構造により構成されるデータを表すフレームであり、
前記第2のデータは、ISO/IEC 14443-4に準拠するデータ構造により構成されるデータを表すブロックであり、
前記第1のEDCは、前記フレームに含まれるEDCを表すフレームEDCであり、
前記第2のEDCは、前記ブロックに含まれるEDCを表すブロックEDCである
請求項13に記載の送信装置。
【請求項1】
非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置において、
受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更する変更手段と、
前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換する変換手段と、
前記第2のデータに含まれるコマンドに応じた処理を行う第1の処理手段と
を含み、
前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDC(error detection code)を含む前記第2のデータに変換する
受信装置。
【請求項2】
前記第1の処理手段は、前記第1のEDCに基づいて、前記第2のデータに誤りが生じていないと判定した場合、前記第2のデータを処理する
請求項1に記載の受信装置。
【請求項3】
前記変換手段は、前記第1のデータに、前記第1のデータに誤りが生じているか否かを判定するための第2のEDCが含まれる場合、前記第2のEDCを、前記第1のEDCに置換して、前記第1のデータを前記第2のデータに変換する
請求項2に記載の受信装置。
【請求項4】
前記第1のデータは、JIS(japanese industrial standard) X 6319-4に準拠するデータ構造により構成されるデータを表すフレームであり、
前記第2のデータは、ISO/IEC(international organization for standardization/international electrotechnical commission) 14443-4に準拠するデータ構造により構成されるデータを表すブロックであり、
前記第1のEDCは、前記フレームに含まれるEDCを表すフレームEDCであり、
前記第2のEDCは、前記ブロックに含まれるEDCを表すブロックEDCである
請求項3に記載の受信装置。
【請求項5】
前記受信装置の状態が、前記第1のデータを処理するREADY状態である場合、受信した前記第1のデータに含まれるコマンドに応じた処理を行う第2の処理手段をさらに含む
請求項1に記載の受信装置。
【請求項6】
前記変更手段は、前記受信装置の状態がIDLE状態である場合に、前記状態遷移コマンドがREQ又はWUPであるとき、前記受信装置の状態を、前記IDLE状態から前記READY状態に変更する
請求項1に記載の受信装置。
【請求項7】
前記変更手段は、前記受信装置の状態がREADY状態である場合に、前記状態遷移コマンドがATTRであるとき、前記受信装置の状態を、前記READY状態から前記ACTIVE状態に変更する
請求項1に記載の受信装置。
【請求項8】
非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置の受信方法において、
前記受信装置は、
変更手段と、
変換手段と、
第1の処理手段と
を含み、
前記変更手段が、受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更し、
前記変換手段が、前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換し、
前記第1の処理手段が、前記第2のデータに含まれるコマンドに応じた処理を行う
ステップを含み、
前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータに変換する
受信方法。
【請求項9】
非接触近接無線通信により、所定のデータ構造により構成される第1のデータを受信する受信装置のコンピュータを、
受信した前記第1のデータに、前記受信装置の状態を遷移させる状態遷移コマンドが含まれる場合、前記状態遷移コマンドに基づいて、前記受信装置の状態を変更する変更手段と、
前記受信装置の状態が、前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを処理するACTIVE状態である場合、受信した前記第1のデータを、前記第2のデータに変換する変換手段と、
前記第2のデータに含まれるコマンドに応じた処理を行う第1の処理手段と
して機能させ、
前記変換手段は、前記第1のデータを、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータに変換する
プログラム。
【請求項10】
非接触近接無線通信により、所定のデータ構造により構成される第1のデータを送信する送信装置において、
前記所定のデータ構造とは異なるデータ構造により構成される第2のデータを生成する生成手段と、
生成された前記第2のデータを、前記第1のデータに変換する変換手段と、
変換された前記第1のデータを送信する送信手段と
を含む送信装置。
【請求項11】
前記生成手段は、前記第2のデータに誤りが生じているか否かを判定するための第1のEDCを含む前記第2のデータを生成する
請求項10に記載の送信装置。
【請求項12】
前記変換手段は、前記第1のEDCに基づいて、前記第2のデータに誤りが生じていないと判定した場合、前記第2のデータを、前記第1のデータに変換する
請求項11に記載の送信装置。
【請求項13】
前記変換手段は、前記第1のEDCを、前記第1のデータに誤りが生じているか否かを判定するための第2のEDCに置換して、前記第2のデータを、前記第1のデータに変換する
請求項12に記載の送信装置。
【請求項14】
前記第1のデータは、JIS X 6319-4に準拠するデータ構造により構成されるデータを表すフレームであり、
前記第2のデータは、ISO/IEC 14443-4に準拠するデータ構造により構成されるデータを表すブロックであり、
前記第1のEDCは、前記フレームに含まれるEDCを表すフレームEDCであり、
前記第2のEDCは、前記ブロックに含まれるEDCを表すブロックEDCである
請求項13に記載の送信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2011−24091(P2011−24091A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2009−168807(P2009−168807)
【出願日】平成21年7月17日(2009.7.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願日】平成21年7月17日(2009.7.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]