(57)【特許請求の範囲】
【請求項１】
通信プロトコルとしてＴ＝１プロトコルを予め取得しているＩＣカードに対して、前記ＩＣカードとの通信プロトコルの形式として前記Ｔ＝１プロトコルを選択し、ＩＣカードとの通信シーケンスを制御する管理ブロック（Ｓブロック）を送信し、
この管理ブロック（Ｓブロック）の送信に対してＩＣカードからの応答が無い場合は、ＩＣカードは存在しないと判断することを特徴とするＩＣカード用リーダライタの通信方法。
【請求項２】
前記管理ブロック（Ｓブロック）に再同期（ＲＥＳＹＮＣＨ）要求を付加して送信することを特徴とする請求項１記載のＩＣカード用リーダライタの通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣカードの存在を通信により検出するＩＣカード用リーダライタの通信方法に関する。
【０００２】
【従来の技術】
リーダライタが端子付きＩＣカードと通信する場合は、それらの間は接触しているので、物理的方法や赤外線によりＩＣカードの存在を検出するようにしていた。また、非接触式ＩＣカードでは、このようなＩＣカードの検出方法が使用できないため、ＩＣカードからの応答の有無によりＩＣカードが通信エリアに存在するかを判断していた。
【０００３】
【発明が解決しようとする課題】
ところが、非接触式ＩＣカードの存在検出をＩＣカードとの通信が不要な場合にも実行するには、ＩＣカードに対してダミーのコマンドを発行する必要がある。つまり、特定用途向けのリーダライタでは、ＩＣカードのファイル構造が予め判明しているので、リーダライタが自主的にＩＣカードに特定のファイルに対してアクセスするコマンドを送信することによりＩＣカードの存在を検出するのである。
【０００４】
図６はリーダライタとＩＣカードとの間の通信シーケンスを示している。この図６において、リーダライタは、ＩＣカードにおける特定のファイルにアクセスするためのファイルアクセスコマンドを送信する。この場合、ＩＣカードが通信エリアに位置しているときは、ＩＣカードが応答するので、このことからＩＣカードは存在すると判断することができる。
【０００５】
これに対して、通信エリアにＩＣカードが位置していないときは、ファイルアクセスコマンドを送信するにしてもＩＣカードからの応答が無いので、このことからＩＣカードは存在しないと判断することができる。
【０００６】
しかしながら、このようなファイルアクセスによりＩＣカードの存在を検出する場合は、ＩＣカードのファイル構造（発行内容）を事前に取得しておく必要がある。このため、ファイルアクセスによりＩＣカードの存在を検出することができるのは、ＩＣカードの仕様が予め明らかになっている特定用途向けのリーダライタのみに限定されてしまうという問題がある。このような問題は、端子付きのＩＣカードの存在を通信で検出するような場合にも生じる。
【０００７】
本発明は上記事情に鑑みてなされたもので、その目的は、ＩＣカードのファイル構造にかかわらずＩＣカードの存在を検出することが可能となるＩＣカード用リーダライタの通信方法を提供することにある。
【０００９】
【課題を解決するための手段】
請求項１の発明によれば、リーダライタは、通信プロトコルがＴ＝１のＩＣカードとの通信シーケンスを制御する伝送制御情報を含む管理ブロック（Ｓブロック）を送信するので、通信エリアにＩＣカードが位置しているときは、リーダライタからの管理ブロック（Ｓブロック）に対してＩＣカードが応答する。これにより、管理ブロック（Ｓブロック）の送信に対してＩＣカードからの応答が無い場合は、ＩＣカードは存在しないと判断することができるので、ＩＣカードのファイルのみならずコマンドに依存することなくＩＣカードの存在を判断することができる。
【００１１】
請求項２の発明によれば、管理ブロックに再同期（ＲＥＳＹＮＣＨ）要求を付加して送信すると、ＩＣカードとの通信シーケンスが初期化されるので、リーダライタ及びＩＣカードの通信管理が容易となる。
【００１２】
【発明の実施の形態】
（発明の概要）
以下、本発明の概要を図１を参照して説明する。
図１はリーダライタとＩＣカードとの間の通信シーケンスにおけるＩＣカードの存在検出動作を示している。この場合、リーダライタは、ＩＣカードのプロトコル及びＩＣカードが有するコマンドを予め取得しているものとする。
【００１３】
図１において、リーダライタは、ＩＣカードとの通信中において所定時間（例えば数十ｍsec ）毎にＩＣカードが抜き取られたかを監視している。
即ち、リーダライタは、所定時間毎に、ＩＣカードが有するコマンドのうちＩＣカードのファイルに依存しないコマンドを送信する。このファイルに依存しないコマンドとは、ＩＣカードの内部ファイル構造に関連しないコマンドであり、斯様なコマンドのうちの特定のコマンドを送信するのである。
【００１４】
ＩＣカードにおいては、リーダライタからファイルに依存しないコマンドを受けたときは、そのコマンドに応答する。従って、リーダライタは、ファイルに依存しないコマンドの送信に応じてＩＣカードからの応答を受信するので、ＩＣカードは存在すると判断することができる。
【００１５】
これに対して、ＩＣカードがリーダライタの通信エリアから抜取られている場合は、ファイルに依存しないコマンドを送信するにもかかわらずＩＣカードが応答することはない。従って、リーダライタは、ファイルに依存しないコマンドを送信してから所定時間経過するにしてもＩＣカードからの応答が無いときは、ＩＣカードは抜取られていると判断することができる。
【００１６】
以上のようにして、リーダライタは、通信プロトコル及びコマンドを予め取得しているＩＣカードの存在を検出する場合は、ＩＣカードのファイルに依存しないコマンドを送信すると共に、そのコマンドの送信に応じてＩＣカードからの応答が無いときは、ＩＣカードは抜取られていると判断するので、ＩＣカードのファイル構造を取得していないにもかかわらずＩＣカードの存在を確実に判断することができる。
尚、ＩＣカードが未知のコマンドに対してエラーを応答する場合は、未知のコマンドを送信するようにしてもよい。
【００１７】
（その他の発明の概要）
次にその他の発明の概要を図２を参照して説明する。この発明は、通信シーケンスを制御する伝送制御情報を含むブロックを用いてＩＣカードの存在を検出することを特徴とする。この場合、リーダライタは、ＩＣカードのプロトコルを予め取得しているものとする。
【００１８】
図２はリーダライタとＩＣカードとの間の通信シーケンスにおけるＩＣカードの存在検出動作を示している。この図２において、リーダライタは、ＩＣカードの存在を検出するときは通信シーケンスを制御する伝送制御情報を含むブロックを送信する。
【００１９】
ＩＣカードにおいては、伝送制御情報を含むブロックを受信したときは、そのブロックに応答する。従って、リーダライタは、伝送制御情報を含むブロックの送信に応じてＩＣカードが応答したときは、ＩＣカードは存在すると判断することができる。
【００２０】
これに対して、ＩＣカードがリーダライタから抜取られている場合は、伝送制御情報を含むブロックを送信するにもかかわらずＩＣカードが応答することはない。従って、リーダライタは、伝送制御情報を含むブロックを送信してから所定時間経過するにしてもＩＣカードからの応答が無いときは、ＩＣカードは抜取られていると判断することができる。
【００２１】
以上のようにして、リーダライタは、通信プロトコルを予め取得しているＩＣカードの存在を検出する場合は、伝送制御情報を含むブロックを送信すると共に、その送信に応じてＩＣカードが応答しないときは、ＩＣカードは抜取られていると判断するので、ＩＣカードのファイルに加えてコマンドに依存することなくＩＣカードの存在を確実に判断することができる。
【００２２】
（第１の実施の形態）
次に、本発明を非接触式ＩＣカード用リーダライタに適用した第１の実施の形態を図３及び図４を参照して説明する。
図３は全体構成を概略的に示している。この図３において、リーダライタ１は上位装置２からの指令に応じて動作し、ＩＣカード３が存在すると判断したときは、後述するようにＩＣカード３と通信するようになっている。
【００２３】
ここで、ＩＣカード３の通信プロトコルはＴ＝１プロトコルに設定されている。このＴ＝１プロトコルとは半二重ブロック伝送プロトコルに属する。
図４はＴ＝１プロトコルのデータブロックの構造を示している。この図４において、データブロック構造は、３バイトの先頭フィールド、０〜２５４バイトの情報フィールド（ＩＮＦ (information field)）、１または２バイトの最終フィールド（ＥＤＣ(error detection code)）からなる。先頭フィールドは必須であり、１バイトのノードアドレス（ＮＡＤ(node addres) ）、１バイトのプロトコル制御バイト（ＰＣＢ(protocol control byte) ）、１バイトの長さ（ＬＥＮ(length)）からなる。ノードアドレスとは、伝送ブロックの送信元及びあて先を示す。プロトコル制御バイト（ＰＣＢ）とは、データ伝送の制御に必要な情報を送るために使用されるもので、次の３種類のブロックが定義されている。
【００２４】
（１）情報ブロック（Ｉ(information) ブロック）……ＩＣカード３に対する情報（コマンド）を送るために使用するもので、このブロックは肯定または否定の応答を伝える。
（２）受信準備完了ブロック（Ｒ(receive ready) ブロック）……肯定または否定の応答を伝えるために使用するもので、情報フィールドをもたない。
（３）管理ブロック（Ｓ(supervisory block) ブロック）……リーダライタ１とＩＣカード３との間で制御情報を交換するために使用するもので、制御機能の内容によって情報フィールドをもつことがある。
そして、長さ（ＬＥＮ）は、ブロックの情報フィールドのバイト数を示す。
【００２５】
尚、情報フィールドは任意選択であり、プロトコル制御バイトが情報ブロック（Ｉブロック）の際は応用データ、管理ブロック（Ｓブロック）の際は制御情報・状態情報のいずれかを示す。また、最終フィールド（ＥＤＣ）は必須であり、伝送ブロックの誤り検出符号を含む。
【００２６】
次に、Ｔ＝１プロトコルにおける基本的な通信手順を説明する。
リーダライタ１は、通信プロトコルの形式を選択後、ＩＣカード３に対して情報ブロックを送信し、その送信後、次のブロックの送信開始前にＩＣカード３から応答を受信する。この場合、情報ブロックは送信ブロック番号を含み、ブロック伝送プロトコル開始後においては送信ブロック番号は１となっている。
【００２７】
そして、リーダライタ１は、情報ブロックを送信する毎に送信ブロック番号に１を加算する。ここで、送信ブロック番号は１ビットからなるので、情報ブロックを送信する毎に送信ブロック番号は０，１，０，１，０……と変化する。従って、ＩＣカード３は、リーダライタ１から受信した情報ブロックの送信ブロック番号が０，１，０，１，０……と変化する場合は、リーダライタからの情報ブロックを正しく受信していると判断することができる。
【００２８】
同様に、ＩＣカード３においても情報ブロックを送信する毎に送信ブロック番号に１を加算するので、リーダライタ１は、ＩＣカード３から受信した情報ブロックの送信ブロック番号が０，１，０，１，０……と変化する場合は、ＩＣカードからの情報ブロックを正しく受信していると判断することができる。
【００２９】
尚、受信準備完了ブロックは、情報フィールドを上回る情報を送信する際に、情報を複数のブロックに分割し、ブロック連鎖機能を使用して送信する場合に使用される。
【００３０】
さて、リーダライタ１は、ＩＣカードの存在を検出する場合は、プロトコル制御バイト（ＰＣＢ）として管理ブロックを繰返して送信している。
使用者がＩＣカード３をリーダライタ１に接近すると、ＩＣカード３が管理ブロックを受信してそれに応答する。これにより、リーダライタ１は、ＩＣカード３は存在すると判断し、以後においてはＩＣカード３との通信を実行する。
【００３１】
そして、使用者がＩＣカード３をリーダライタ１から抜取ったときは、リーダライタ１がＩＣカード３に管理ブロックを送信してから所定時間以内にＩＣカード３が応答しなくなるので、ＩＣカード３は抜取られたと判断することができる。
【００３２】
このような実施の形態によれば、リーダライタ１は、Ｔ＝１プロトコルであるＩＣカード３の存在を検出する場合は、通信シーケンスを制御するプロトコル制御バイトとして管理ブロックを送信するようにしたので、ＩＣカード３のファイルに加えてコマンドに依存することなくＩＣカード３の抜取りを確実に検出することができる。
【００３３】
（第２の実施の形態）
次に本発明の第２の実施の形態を図５を参照して説明する。この第２の実施の形態は、Ｔ＝１プロトコルにおいて管理ブロックに再同期（ＲＥＳＹＮＣＨ）要求を付加したことを特徴とする。
即ち、リーダライタ１は、上述したようにＩＣカード３との通信が正常に行われたかを、ＩＣカードからの情報ブロックの送信ブロック番号が０，１，０，１，０……と変化するか否かに基づいて判断していることから、ＩＣカード３からの情報ブロックの送信ブロック番号を常に管理する必要があり、その管理が煩わしい。このことは、ＩＣカード３にとっても同様である。
【００３４】
そこで、リーダライタ１は、ＩＣカード３の存在を検出する場合は、管理ブロックに再同期（ＲＥＳＹＮＣＨ）要求を付加して送信する。この再同期要求は、通信シーケンスを初期化することを要求するもので、ＩＣカード３は、再同期要求を受信したときは、管理ブロックに再同期応答を付加して送信する。従って、リーダライタ１は、再同期要求の送信に応じてＩＣカード３から再同期応答を受けなかったときは、ＩＣカード３は抜取られたと判断することができる。
【００３５】
この場合、リーダライタ１及びＩＣカード３は通信シーケンスを初期化して通信するので、情報ブロックにおける送信ブロック番号を０から開始するようになり、その管理が容易となる。
【００３６】
このような実施の形態によれば、管理ブロックに再同期（ＲＥＳＹＮＣＨ）応答を付加して送信することにより通信シーケンスを初期化するようにしたので、リーダライタ１及びＩＣカード３における送信ブロック番号の管理が容易となり、リーダライタ１及びＩＣカード３の負担を軽減することができる。
【００３７】
本発明は、上記各実施の形態に限定されるものではなく、ＩＣカードとして端子を有した接触式タイプのものに適用するようにしてもよい。
【図面の簡単な説明】
【図１】本発明の概要を説明するための通信シーケンスを示す図
【図２】その他の発明の概要を説明するための通信シーケンスを示す図
【図３】本発明の第１の実施の形態における全体構成を概略的に示すブロック図
【図４】Ｔ＝１プロトコルのブロックの構造を示す図
【図５】本発明の第２の実施の形態における図４相当図
【図６】従来例を示す図１相当図
【符号の説明】
１はリーダライタ、２は上位装置、３はＩＣカードである。
【図１】
0003810983.tif 000002
【図２】
0003810983.tif 000003
【図３】
0003810983.tif 000004
【図４】
0003810983.tif 000005
【図５】
0003810983.tif 000006
【図６】
0003810983.tif 000007