(57)【特許請求の範囲】
【請求項１】
上位装置に接続されて上位装置からの指示に基づきＩＣカードを動作するＩＣカードリーダライタであって、
上記ＩＣカードの挿入を判断する判断手段と、
この判断手段によりＩＣカードの挿入を判断した際、ＩＣカードに電源の供給、第１の周波数の動作クロックの供給、リセット信号の供給によりＩＣカードの活性化を行う活性化手段と、
この活性化手段による活性化によりＩＣカードから供給される初期情報を受信する受信手段と、
この受信した初期情報に基づいて動作クロックの変更が必要であるか否かを判断する判断手段と、
この判断手段により動作クロックの変更が必要であると判断された際、第１の周波数と異なる第２の周波数の動作クロックに変更する変更手段と、
を具備したことを特徴とするＩＣカードリーダライタ。
【請求項２】
上位装置に接続されて上位装置からの指示に基づきＩＣカードを動作するＩＣカードリーダライタであって、
上記ＩＣカードの挿入を判断する判断手段と、
この判断手段によりＩＣカードの挿入を判断した際、ＩＣカードに電源の供給、第１の周波数のクロックの供給、リセット信号の供給によりＩＣカードの活性化を行う活性化手段と、
この活性化手段による活性化によりＩＣカードから供給される１番目の初期情報を受信する第１の受信手段と、
この１番目の初期情報の受信後、再度、リセット信号をＩＣカードに供給する供給手段と、
このリセット信号に応答して得られる２番目の初期情報を受信する第２の受信手段と、
上記第１、第２の受信手段の初期情報が一致するか否かを判断する判断手段と、
この判断手段により初期情報が一致した際、第１の周波数で動作する動作モードに設定され、上記判断手段により初期情報が不一致した際、第１の周波数よりも高い第２の周波数で動作する動作モードに設定する設定手段と、
を具備したことを特徴とするＩＣカードリーダライタ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、プロトコルがそれぞれ異なるＩＣカードに対し情報の読出し、書込みを行うＩＣカードリーダライタに関する。
【０００２】
【従来の技術】
例えば、金融機関等で用いられる現金処理装置に組み込まれるＩＣカードリーダライタでは、利用客により挿入されたＩＣカードに記憶された各種情報を読取ると、そのリーダライタに上位装置として接続されている現金処理装置本体に読取った情報を送り、ここで各種処理が施され、また、装置本体からの情報をＩＣカードリーダライタにおいて、ＩＣカードに書込みを行うようになっている。
ＩＣカードとＩＣカードリーダライタとの間で通信を行うためのプロトコルは、現在、日本国内ではＴ＝１４プロトコルに対応したＩＣカードが主流で、従ってＩＣカードリーダライタもＴ＝１４プロトコルのＩＣカードに対応するものがほとんどである。
【０００３】
【発明が解決しようとする課題】
一方、国際的にはＩＣカードのプロトコルはＴ＝１またはＴ＝０が標準化され、日本国内においても今後主流となると思われるが、直ちに、Ｔ＝１４からＴ＝１またはＴ＝０のプロトコルに切り替わるとは考えられず、その過渡期には複数のプロトコルのＩＣカードが出まわることとなる。従って、ＩＣカードリーダライタも複数のプロトコルに対応しないと、プロトコル毎のＩＣカードリーダライタが必要となり、利便性に欠けるという問題点があった。
【０００４】
そこで、本発明は、複数のプロトコルのＩＣカードに対応でき、また、各プロトコルに特有な機能に対応して利便性が大幅に向上できるＩＣカードリーダライタを提供することを目的とする。
【０００５】
【課題を解決するための手段】
この発明のＩＣカードリーダライタは、上位装置に接続されて上位装置からの指示に基づきＩＣカードを動作するものであって、上記ＩＣカードの挿入を判断する判断手段と、この判断手段によりＩＣカードの挿入を判断した際、ＩＣカードに電源の供給、第１の周波数の動作クロックの供給、リセット信号の供給によりＩＣカードの活性化を行う活性化手段と、この活性化手段による活性化によりＩＣカードから供給される初期情報を受信する受信手段と、この受信した初期情報に基づいて動作クロックの変更が必要であるか否かを判断する判断手段と、この判断手段により動作クロックの変更が必要であると判断された際、第１の周波数と異なる第２の周波数の動作クロックに変更する変更手段とから構成されている。
【０００６】
この発明のＩＣカードリーダライタは、上位装置に接続されて上位装置からの指示に基づきＩＣカードを動作するであって、上記ＩＣカードの挿入を判断する判断手段と、この判断手段によりＩＣカードの挿入を判断した際、ＩＣカードに電源の供給、第１の周波数のクロックの供給、リセット信号の供給によりＩＣカードの活性化を行う活性化手段と、この活性化手段による活性化によりＩＣカードから供給される１番目の初期情報を受信する第１の受信手段と、この１番目の初期情報の受信後、再度、リセット信号をＩＣカードに供給する供給手段と、このリセット信号に応答して得られる２番目の初期情報を受信する第２の受信手段と、上記第１、第２の受信手段の初期情報が一致するか否かを判断する判断手段と、この判断手段により初期情報が一致した際、第１の周波数で動作する動作モードに設定され、上記判断手段により初期情報が不一致した際、第１の周波数よりも高い第２の周波数で動作する動作モードに設定する設定手段とから構成されている。
【００１０】
【作用】
ＩＣカードが複数の動作クロックを有する場合に、ＩＣカードリーダライタに挿入されたＩＣカードを活性化した際に送信される初期情報をもとに、動作クロックの変更が必要であると判断したときに動作クロックの変更を行うことにより、複数の動作クロックを有するＩＣカードに対しても、容易にしかも確実に対応することが可能となる。
【００１１】
ＩＣカードが複数の動作モードを有する場合に、ＩＣカードリーダライタがＩＣカードの動作モードを選択する際、ＩＣカードリーダライタからＩＣカードに対し、２度リセット信号を投入し、最初のリセット信号投入時にＩＣカードから送信された初期情報と、再度リセット信号を投入したときにＩＣカードから送信された初期情報の内容を比較して、異なるとき、そのＩＣカードは複数の動作モードで動作するＩＣカードであると判断し、ＩＣカードリーダライタはいずれか１の動作モードを設定することにより、複数の動作モードを有するＩＣカードに対しても、容易にしかも確実に対応することが可能となる。
【００１４】
【実施例】
以下、本発明の実施例について図面を参照して説明する。
図１は、本実施例に係るＩＣカードリーダライタの外観を示したものである。
図１において、ＩＣカードリーダライタ（以下、簡単にリーダライタと呼ぶ。）１の前面にはＩＣカードを挿入する挿入口２が設けられ、挿入口２に挿入されたＩＣカードと通信を行うための通信ポート（コンタクト）がリーダライタ１の内部に設けられている（図２参照）。また、背面には、上位装置が接続されて通信を行うための所定のコネクタ等で構成される通信ポート３が設けられ、さらにオプションとしてのキーパットを接続するための所定のコネクタ等で構成される通信ポート４が設けられている。
【００１５】
図２は、リーダライタ１の構成を概略的に示したものである。図２において、リーダライタ１全体を制御を司るＣＰＵ１０に、バス１６を介して、ＲＯＭ１１、ＲＡＭ１２、通信インタフェ−ス１３〜１５が接続されている。
【００１６】
ＲＯＭ１１には、リーダライタ１の動作制御プログラム等が記憶されていて、ＣＰＵ１０は、このプログラムに従って動作するようになっている。
ＲＡＭ１２には、ＣＰＵ１０による制御に必要な各種データ等が一時的に記憶されるようになっている。
【００１７】
通信インタフェース１３は、通信ポート３を介して上位装置と通信を行う際のインタフェースを司るもので、上位装置からのデータに対し所定の変換処理を行ってＣＰＵ１０に送り、また、ＣＰＵ１０からのデータに所定の変換処理を行って通信ポート３を介して上位装置に送るようになっている。
【００１８】
通信インタフェース１４は、通信ポート５を介してＩＣカードと通信を行う際のインタフェースを司るもので、ＩＣカードからのデータ等に対し所定の変換処理を行ってＣＰＵ１０に送り、また、ＣＰＵ１０からのデータ等に所定の変換処理を行って通信ポート５を介してＩＣカードに送るようになっている。
【００１９】
通信インタフェース１５は、通信ポート４を介してキーパットと通信を行う際のインタフェースを司るもので、キーパットからのデータ等に対し所定の変換処理を行ってＣＰＵ１０に送るようになっている。
【００２０】
図３は、リーダライタ１に上位装置を接続して利用する場合の利用形態の一例を示したものである。図３において、リーダライタ１には、通信ポート３に、例えば、ＲＳ２３２Ｃインタフェースケーブルを接続して上位装置２０が接続される。また、必要に応じてキーパット２１が通信ポート４に接続される。このキーパットは利用者により、リーダライタ利用の際、暗証番号等を入力するためのものである。このリーダライタ１は、以下の説明において、簡単のため、特に、Ｔ＝１４プロトコル（ブロック転送プロトコル日本案）とＴ＝１プロトコル（ブロック転送プロトコル）に対応するものとして説明する。なお、プロトコルについては、この２つに限るものではない。
【００２１】
まず、第１の実施例について、図４を参照して説明する。この第１の実施例は、図３に示したような利用形態において、リーダライタ１が上位装置２０から送信されるデータ（コマンド）により、あらかじめ対応するプロトコルを選択することを特徴とするものである。
【００２２】
図４は、全体の動作処理を説明するための図で、まず、ステップＳ１に上位装置２０からカード挿入要求コマンドがリーダライタ１に送信される。
このカード挿入要求コマンドの内容には、ＩＣカードの挿入を要求するための各種データの他に、各プロトコルを設定するためのデータも含まれていて、リーダライタ１ではそのコマンドを解析することにより、プロトコルを決定することができ、また、ＩＣカードの挿入待ち状態となる（ステップＳ２）。ここでは、コマンドを解析したことによりＴ＝１プロトコルが設定されたとする（ステップＳ３）。
【００２３】
次に、リーダライタ１のカード挿入口２に設けられたセンサにより、挿入口２にＩＣカードが挿入されたことが判断されると（ステップＳ４）、通信インタフェース１４から通信ポート５を介してＩＣカードに電源の供給、クロックの供給、リセットの投入（カード活性化）を行う（ステップＳ５）。このとき、供給するクロックは、プロトコルにより異なるもので、Ｔ＝１プロトコルの場合には３．５ＭＨｚのクロックを供給し、Ｔ＝１４プロトコルの場合は４．９ＭＨｚのクロックを供給する。ここでは、Ｔ＝１プロトコルが設定されているので、３．５ＭＨｚのクロックを供給する。
【００２４】
Ｔ＝１プロトコルに対応したＩＣカードは３．５ＭＨｚのクロックが供給されると、初期情報をリーダライタ１に送信するようになっている（ステップＳ６）。なお、Ｔ＝１４プロトコルに対応したＩＣカードの場合は、４．９ＭＨｚのクロックが供給されたとき、初期情報をリーダライタ１に送信するようになっている。
【００２５】
さて、ＩＣカードからの初期情報を受信したリーダライタ１は、その初期情報の内容を解析して、例えば、初期情報内のそのＩＣカードのプロトコルを判断できるデータをもとに、そのＩＣカードがステップＳ３で設定されたプロトコル（ここではＴ＝１プロトコル）と一致するか否かをチェックする（ステップＳ７）。リーダライタ１に設定されたプロトコルと異なるプロトコルのＩＣカードが挿入された場合は、ステップＳ７でチェックされると、以後、異常カードとして処理される。一方、ステップＳ７で、ＩＣカードからの初期情報をもとに、プロトコルの一致が確認されたときは、その初期情報を通信インタフェース１３、通信ポート３を介して上位装置２０に送信する（ステップＳ８）。
【００２６】
ところで、リーダライタ１は、上位装置２０からリーダライタ初期化要求コマンドが送信されるまで通信プロトコルの変更は行わないようになっている。従ってプロトコルが設定された後、リーダライタ初期化要求コマンドによりリーダライタが初期化されるまで、上位装置２０から他方のプロトコル用のコマンドが送信されてきても、リーダライタでは、異常コマンドとして処理される。なお、このリーダライタ初期化要求コマンドにの内容には、リーダライタを初期化するための各種データが含まれている。
【００２７】
上位装置２０からリーダライタ初期化コマンドが送信されると（ステップＳ１０）、リーダライタ１はコマンドを解析し（ステップＳ１１）、リーダライタ１の初期化を行う（ステップＳ１２）。すなわち、リーダライタ１の通信プロトコルも初期化される（ステップＳ１３）。ここでは、例えば、Ｔ＝１プロトコルが初期設定のプロトコルとする。リーダライタ１は初期化が終了すると、その結果としての状態情報（ステータス）を上位装置２０に送信する（ステップＳ１４）。
【００２８】
次に、第２の実施例について、図５を参照して説明する。この第２の実施例は、図３に示したような利用形態において、リーダライタ１がＩＣカードから送信される初期情報によりＩＣカードと通信するプロトコルを選択することを特徴とするものである。
【００２９】
図４は、全体の動作処理を説明するための図で、まず、ステップＳ１に上位装置２０からカード挿入要求コマンドがリーダライタ１に送信されると（ステップＳ１）、リーダライタ１はそのコマンドを解析して、ＩＣカードの挿入待ち状態となる（ステップＳ２）。
【００３０】
次に、リーダライタ１のカード挿入口２に設けられたセンサにより、挿入口２にＩＣカードが挿入されたことが判断されると（ステップＳ４）、通信インタフェース１４から通信ポート５を介してＩＣカードに電源の供給、クロックの供給、リセットの投入（カード活性化）を行う（ステップＳ５）。このとき、供給するクロックは、前述したように、プロトコルにより異なるため、ここではまず、３．５ＭＨｚのクロックを供給し、ＩＣカードからの初期情報を待つ。
【００３１】
挿入口２に挿入されたＩＣカードがＴ＝１プロトコルの場合は、３．５ＭＨｚのクロックが供給されると、初期情報をリーダライタ１に送信するが、一方、例えば、挿入口２に挿入されたＩＣカードがＴ＝１４プロトコルの場合は、３．５ＭＨｚのクロックが供給されても初期情報は送信しない。したがって、リーダライタ１では、活性化を行ってから所定時間ＩＣカードから応答が返ってこないときは、そのＩＣカードはＴ＝１プロトコルではなく、例えば、Ｔ＝１４プロトコルであると判断し、再び、４．９ＭＨｚのクロックを供給する。Ｔ＝１４プロトコルのＩＣカードは、４．９ＭＨｚのクロックが供給されると、初期情報をリーダライタに送信する。ここでは、挿入口２に挿入されたＩＣカードはＴ＝１プロトコルであるものとして、以下説明を続ける。すなわち、ＩＣカードは３．５ＭＨｚのクロックが供給されて、初期情報をリーダライタ１に送信する（ステップＳ６）。
【００３２】
リーダライタ１は、受信した初期情報の内容を解析して（ステップＳ７）、例えば、初期情報内のそのＩＣカードのプロトコルを判断できるデータをもとに、そのＩＣカードがＴ＝１プロトコルに対応したＩＣカードであると判断され、以後、リーダライタ１はＴ＝１プロトコル対応として動作する（ステップＳ１９）。また、リーダライタ１はＩＣカードからの初期情報を上位装置２０に送信する（ステップＳ８）。
【００３３】
このように、ステップＳ２０で設定されたリーダライタのプロトコルは、挿入されたＩＣカードに依存するため、そのＩＣカードが排出されるまで変更されることはない。また、変更する必要もない。
【００３４】
上位装置２０からカード排出要求コマンドが送信され、リーダライタ１にＩＣカードの排出が要求されると（ステップＳ２０）、リーダライタ１は、そのコマンドを解析して（ステップＳ２１）、ＩＣカードへの電源、クロック等の供給を中止し（カード非活性化）を行う（ステップＳ２２）。ＩＣカードが挿入口２から正常に排出されると（ステップＳ２３）、リーダライタ１は、プロトコルを初期値、例えばＴ＝１プロトコルに設定し（ステップＳ２４）、さらに、リーダライタ１の状態情報（ステータス）を上位装置２０に送信する（ステップＳ２５）。
【００３５】
以上説明した第２の実施例では、上位装置２０からリーダライタ１に送信されるコマンドは、プロトコルにより異なることはないため、上位装置２０における処理の軽減が図れる。
【００３６】
次に、第３実施例について、図６参照して説明する。この第３実施例は、図３に示したような利用形態において、ＩＣカード自体が複数の動作クロックを有する場合、上位装置２０から送信されるデータ（コマンド）により、リーダライタ１がＩＣカードの動作クロックを選択することを特徴とするものである。
【００３７】
ここでＩＣカードの動作クロックとはリーダライタ１から供給されるクロックを指定するものである。例えば、Ｔ＝１プロトコルのＩＣカードの場合、初期情報をリーダライタ１に送信する際、および、その後のリーダライタ１とのデータの送受信の際のいずれにおいても３．５ＭＨｚで動作するもの（Ａタイプ）、初期情報をリーダライタ１に送信する際には３．５ＭＨｚで、その後のリーダライタ１とのデータの送受信の際には４．９ＭＨｚで動作するもの（Ｂタイプ）、このＡタイプとＢタイプの両方を有し、リーダライタ１から送信されるリセット信号により、そのいずれかに切り替えることが可能なもの（Ｃタイプ）とがある。このようなＩＣカードに対応するためのリーダライタ１の動作について、以下、図６を参照して説明する。
【００３８】
まず、ステップＳ１に上位装置２０からカード挿入要求コマンドがリーダライタ１に送信される。リーダライタ１ではそのコマンドを解析することにより、ＩＣカードの挿入待ち状態となる（ステップＳ２）。
【００３９】
リーダライタ１のカード挿入口２に設けられたセンサにより、挿入口２にＩＣカードが挿入されたことが判断されると（ステップＳ４）、通信インタフェース１４から通信ポート５を介してＩＣカードに電源の供給、クロックの供給、リセットの投入（カード活性化）を行う（ステップＳ５）。このとき、３．５ＭＨｚのクロックを供給する。
【００４０】
Ｔ＝１プロトコル対応のＩＣカードは、３．５ＭＨｚのクロックが供給されると、初期情報をリーダライタ１に送信する（ステップＳ６）。
リーダライタ１は、受信した初期情報を内容を解析して、例えば、初期情報内の動作クロックを判断できるデータをもとに、そのＩＣカードの動作クロックを確認する（ステップＳ３０）。その後、ＩＣカードからの初期情報を上位装置２０に送信する（ステップＳ３１）。
【００４１】
上位装置２０では、受信した初期情報を解析して（ステップＳ３２）、そのデータ内容からＩＣカードの動作クロックを確認する（ステップＳ３３）。動作クロックの変更が必要であると判断した場合は、クロック変更要求コマンドをリーダライタ１に送信する（ステップＳ３４）。リーダライタ１では、受信したコマンドを解析すると、ステップＳ７で初期情報を解析した結果をもとに、そのＩＣカードが動作クロック変更可能なＩＣカードかどうかの判断を行い（ステップＳ３６）、変更可能なタイプであれば、クロック信号の切り替えを行う（ステップＳ３７）。クロックの変更ができないタイプであれば、その旨をステータスとして上位装置２０に通知する。このように、ステップＳ３０ではリーダライタ１において、動作クロックの確認を行っているので、ステップＳ３６では、上位装置２０からの動作クロックの変更要求に対するチェックを行っていることになる。
【００４２】
ステップＳ３７でクロックの切り替えを行ったときも、そのステータスを上位装置２０に送信する（ステップＳ３８）。
上位装置２０では、ステータスを受信すると解析を行い、リーダライタ１が供給するクロックは何であるかを確認する（ステップＳ３９）。
【００４３】
次に、第４の実施例について、図７を参照して説明する。この第４の実施例は、図３に示したような利用形態において、ＩＣカード自体が複数の動作クロックを有する場合、リーダライタ１がＩＣカードからの初期情報により、動作クロックを選択することを特徴とするものである。
【００４４】
尚、この第４の実施例で用いられるＩＣカードは第３の実施例で用いられたＩＣカードを対象としている。
図４は、全体の動作処理を説明するための図で、まず、ステップＳ１に上位装置２０からカード挿入要求コマンドがリーダライタ１に送信される。リーダライタ１ではそのコマンドを解析することにより、ＩＣカードの挿入待ち状態となる（ステップＳ２）。
【００４５】
リーダライタ１のカード挿入口２に設けられたセンサにより、挿入口２にＩＣカードが挿入されたことが判断されると（ステップＳ４）、通信インタフェース１４から通信ポート５を介してＩＣカードに電源の供給、クロックの供給、リセットの投入（カード活性化）を行う（ステップＳ５）。このとき、３．５ＭＨｚのクロックを供給する。
【００４６】
Ｔ＝１プロトコル対応のＩＣカードは、３．５ＭＨｚのクロックが供給されると、初期情報をリーダライタ１に送信する（ステップＳ６）。
リーダライタ１は、受信した初期情報を内容を解析して、例えば、初期情報内の動作クロックを判断できるデータをもとに、そのＩＣカードの動作クロックを確認する（ステップＳ４０）。
【００４７】
リーダライタ１は動作クロックの変更が必要であると判断した場合（ステップＳ４１）、動作クロックの変更を行う（ステップＳ４２）。ステップＳ４１で動作クロックの変更が必要ないときは、その旨をステータスとして上位装置２０に通知する。
【００４８】
さて、ステップＳ４２で動作クロックの変更を行った後、ＩＣカードの初期情報を上位装置２０に送信する（ステップＳ４３）。上位装置２０では、初期情報を受信し、解析を行う（ステップＳ４４）。
【００４９】
以上説明した第４の実施例では、ＩＣカードに供給するクロックの切り替え制御はリーダライタ１の判断で行われるため、上位装置２０ではＩＣカードへの供給するクロックについては制御する必要がなく、上位装置２０における処理の軽減が図れる。
【００５０】
次に、第５実施例について、図８参照して説明する。この第５の実施例は、図３に示したような利用形態において、ＩＣカードが複数の動作モードを有する場合に、ＩＣカードの動作モードを選択することが可能なリーダライタであって、ＩＣカードからの初期情報を受信後、ＩＣカードにリセット信号のみを再投入し、再び初期情報を受信して、２つの初期情報を比較することによりＩＣカードの動作モードを選択することを特徴とするものである。
【００５１】
ここで、ＩＣカードの動作モードについて説明する。Ｔ＝１プロトコルには、前述したように、Ａ、Ｂ、Ｃの３つのタイプがあるが、この第５の実施例では、ＡタイプとＢタイプの両方の動作モードを有し、例えば、リーダライタ１から送信されるリセット信号により、そのいずれかに切り替えることが可能なＣタイプを対象とするものである。このＣタイプの場合、動作クロックが３．５ＭＨｚで動作するモードと４．９ＭＨｚで動作するモードを有し、例えば、リセット信号がリーダライタ１から送信されたとき、そのいずれか一方のモードで動作するが、そのときの動作モードにより初期情報の内容が異なる。すなわち、３．５ＭＨｚの動作モードで動作しているときはＡタイプの場合と同一の初期情報を送信する。従って、リーダライタ１では、最初の初期情報だけではそのＩＣカードがＡタイプかＣタイプかを判断することはできない。そこで、ＣタイプのＩＣカードはリーダライタ１から送信されるリセット信号により動作モードを切り替えるようにして、ＩＣカードのタイプを判断するようにしたのが、この第５の実施例である。
【００５２】
まず、ステップＳ１に上位装置２０からカード挿入要求コマンドがリーダライタ１に送信される。リーダライタ１ではそのコマンドを解析することにより、ＩＣカードの挿入待ち状態となる（ステップＳ２）。
【００５３】
リーダライタ１のカード挿入口２に設けられたセンサにより、挿入口２にＩＣカードが挿入されたことが判断されると（ステップＳ４）、通信インタフェース１４から通信ポート５を介してＩＣカードに電源の供給、クロックの供給、リセットの投入（カード活性化）を行う（ステップＳ５）。このとき、３．５ＭＨｚのクロックを供給する。
【００５４】
Ｔ＝１プロトコル対応のＩＣカードは、３．５ＭＨｚのクロックが供給されると、初期情報をリーダライタ１に送信する（ステップＳ５０）。
リーダライタ１は、受信した初期情報を内容を解析して（ステップＳ５１）、例えば、初期情報内の動作モードが判断できるデータをもとに、そのＩＣカードの動作モードを確認する（ステップＳ５２）。ここで、前述したようにＣタイプのＩＣカードはリセット信号の投入により動作モードを切り替えるため、リーダライタ１は再びリセット信号をＩＣカードに送信する（ステップＳ５３）。これにより、ＩＣカードは再び初期情報をリーダライタ１に送信し（ステップＳ５４）、リーダライタ１では、受信した２番目の初期情報の内容を解析して（ステップＳ５５）、最初に受信した初期情報の内容と比較する（ステップＳ５６）。最初に受信した初期情報のデータと２番目に受信した初期情報のデータが一致したときは、動作モードは固定、すなわち、例えばＡタイプのＩＣカードであると判断されて、２番目に受信した初期情報を上位装置２０に送信する（ステップＳ５７）。一方、２つの初期情報が不一致の場合は動作クロックの早い方の動作モードにＩＣカードの動作モードを設定する（ステップＳ５８）。
【００５５】
以後、ステップＳ５８で設定された動作モードに対応する初期情報が送信されてきたら（ステップＳ５９）、リーダライタ１は、受信した初期情報を内容を解析して（ステップＳ６０）、上位装置２０に送信する（ステップＳ６１）。
【００５６】
次に、第６実施例について、図９参照して説明する。この第６実施例は、図３に示したような利用形態において、リーダライタ１がＩＣカードから初期情報受信後、ＩＣカードのノードアドレスを設定することを特徴とするものである。
【００５７】
まず、ステップＳ１に上位装置２０からカード挿入要求コマンドがリーダライタ１に送信される。リーダライタ１ではそのコマンドを解析することにより、ＩＣカードの挿入待ち状態となる（ステップＳ２）。
【００５８】
リーダライタ１のカード挿入口２に設けられたセンサにより、挿入口２にＩＣカードが挿入されたことが判断されると（ステップＳ４）、通信インタフェース１４から通信ポート５を介してＩＣカードに電源の供給、クロックの供給、リセットの投入（カード活性化）を行う（ステップＳ５）。ＩＣカードが活性化されると初期情報をリーダライタ１に送信する（ステップＳ６）。リーダライタ１は、受信した初期情報を内容を解析して（ステップＳ７）、そのＩＣカードの動作クロックを確認する（ステップＳ６５）。動作クロックの切り替えが必要か否かは初期情報より判断し、切換えが必要であればＩＣカードに供給するクロックを切替える（ステップＳ６６）。
【００５９】
次に、リーダライタ１は、上位装置２０によりあらかじめ指定されたＩＣカードのノードアドレスがあるかどうかを判断し、あればその指定されたノードアドレスを獲得する。指定されていなければ、リーダライタ１が固定で指定するＩＣカードのノードアドレスを獲得する（ステップＳ６７）。獲得したノードアドレスを用いて、ＩＣカードに対し、ノードアドレス設定のためのコマンドを送信する（ステップＳ６８）。
【００６０】
ＩＣカードは、初期情報送信後、最初にきたコマンドのノードアドレスを自らのノードアドレスとするため、コマンドを送信することによりＩＣカードのノードアドレスを設定することができる。
【００６１】
ＩＣカードはリーダライタ１からコマンドを受信すると、ノードアドレスを取得し（ステップＳ６９）、コマンドの解析とその処理を行い（ステップＳ７０）、その結果としてのＩＣカードの状態情報（ステータス）をリーダライタ１に送信する（ステップＳ７１）。
【００６２】
リーダライタ１は、ステータスを受信すると（ステップＳ７２）、上位装置２０に対してＩＣカードから受信した初期情報を送信する（ステップＳ７３）。上位装置２０は初期情報を受信し、解析する（ステップＳ７４）。この時点でＩＣカードのノードアドレスは決定されており、以後、上位装置２０は決定されたノードアドレスを用いてＩＣカードと通信を行うこととなる。
【００６３】
以上の説明では、ＩＣカードのノードアドレスの設定は、リーダライタ１から送信されるコマンドにより行えることとしたが、これに限らず、上位装置２０からＩＣカードのノードアドレスの設定のためのコマンドを送信するようにしてもよい。すなわち、ＩＣカードのノードアドレスの設定は、リーダライタ１がステップＳ７で初期情報を受信後、上位装置２０のその初期情報を送信して、初期情報を受信いた上位装置２０がＩＣカードに対してコマンドを送信し、ＩＣカードのノードアドレスを設定するためのコマンドを送信しても上記と同様の結果を得ることが可能である。
【００６４】
以上説明したように、上記第１の実施例によれば、上位装置２０からリーダライタ１へ送信されるコマンドにより、あらかじめ対応するプロトコルを設定することにより、リーダライタ１は異なる複数のプロトコルのＩＣカードに対応することが可能となる。
【００６５】
また、上記第２の実施例によれば、リーダライタ１に挿入されたＩＣカードから送信される初期情報をもとに、そのＩＣカードのプロトコルを判断して、リーダライタ１のプロトコルを設定することにより、リーダライタ１は異なるプロトコルのＩＣカードに対応することが可能となり、また、上位装置２０における処理の軽減が図れる。
【００６６】
また、上記第３の実施例によれば、複数の動作クロックを有するＩＣカードに対し、リーダライタ１から供給する動作クロックを変更する際、リーダライタ１に挿入されたＩＣカードから送信される初期情報をもとに、リーダライタ１でその動作クロックを確認するとともに、上位装置２０においても、ＩＣカードからの初期情報をもとにその動作クロックを確認し、変更が必要であると判断したときにリーダライタ１で再度確認を行って動作クロックの変更を行うことにより、複数の動作クロックを有するＩＣカードに対しても、容易にしかも確実に対応することが可能となる。
【００６７】
また、上記第４の実施例によれば、複数の動作クロックを有するＩＣカードに対し、リーダライタ１から供給する動作クロックを変更する際、リーダライタ１に挿入されたＩＣカードから送信される初期情報をもとに、リーダライタ１でその動作クロックを確認し、て判断するとともに、変更が必要であると判断したときに動作クロックの変更を行うことにより、複数の動作クロックを有するＩＣカードに対しても、容易にしかも確実に対応することが可能となり、また、上位装置２０における処理の軽減が図れる。
【００６８】
また、上記第５の実施例によれば、ＩＣカードが複数の動作モードを有する場合に、リーダライタ１がＩＣカードの動作モードを選択する際、リーダライタ１からＩＣカードに対し、２度リセット信号を投入し、最初のリセット信号投入時にＩＣカードから送信された初期情報と、再度リセット信号を投入したときにＩＣカードから送信された初期情報の内容を比較して、異なるとき、そのＩＣカードは複数の動作モードで動作するＩＣカードであると判断し、リーダライタ１はいずれか１の動作モードを設定することにより、複数の動作モードを有するＩＣカードに対しても、容易にしかも確実に対応することが可能となる。
【００６９】
さらに、上記第６の実施例によれば、リーダライタ１に挿入されたＩＣカードを活性化した際、初期情報が送信された後、あらかじめ上位装置２０等から指定されたＩＣカードのノードアドレスをＩＣカードにコマンドを送信することにより設定し、あるいは、リーダライタ１に挿入されたＩＣカードから初期情報が送信された後、上位装置２０からＩＣカードのノードアドレスをＩＣカードにコマンドを送信することにより設定することにより、ＩＣカードに対して所望のノードアドレスが容易にしかも確実に設定することが可能となり、従って、ＩＣカード、リーダライタ１、上位装置２０の間の通信が設定されたノードアドレスにより、より確実に行え、しかも通信処理時間の短縮も図れる。
このように、上記第１〜第６の実施例によれば、様々なＩＣカードに対応可能となり利便性が向上する。
【００７０】
【発明の効果】
以上説明したように本発明によれば、複数のプロトコルのＩＣカードに対応でき、また、各プロトコルに特有な機能に対応して利便性が大幅に向上できるＩＣカードリーダライタを提供できる。
【図面の簡単な説明】
【図１】本発明の実施例に係るＩＣカードリーダライタの外観図。
【図２】図１のＩＣカードリーダライタの構成を概略的に示したブロック図。
【図３】図１のＩＣカードリーダライタに上位装置を接続して利用する場合の利用形態の一例を示した図。
【図４】第１の実施例に係る図３に示したような利用形態における全体の動作を説明するための図。
【図５】第２の実施例に係る図３に示したような利用形態における全体の動作を説明するための図。
【図６】第３の実施例に係る図３に示したような利用形態における全体の動作を説明するための図。
【図７】第４の実施例に係る図３に示したような利用形態における全体の動作を説明するための図。
【図８】第５の実施例に係る図３に示したような利用形態における全体の動作を説明するための図。
【図９】第６の実施例に係る図３に示したような利用形態における全体の動作を説明するための図。
【符号の説明】
１…ＩＣカードリーダライタ、２…挿入口、３…（上位装置用）通信ポート、４…（キーパット用）通信ポート、５…（ＩＣカード用）通信ポート、１０…ＣＰＵ、１１…ＲＯＭ、１２…ＲＡＭ、１３〜１５…通信インタフェース、２０…上位装置。
【図１】
0003540414.tif 000002
【図２】
0003540414.tif 000003
【図３】
0003540414.tif 000004
【図４】
0003540414.tif 000005
【図５】
0003540414.tif 000006
【図６】
0003540414.tif 000007
【図７】
0003540414.tif 000008
【図８】
0003540414.tif 000009
【図９】
0003540414.tif 000010