(57)【要約】【課題】本発明は、ブロック伝送及びキャラクタ伝送の両規約に変換可能なリーダライタを提供することを目的とする。【解決手段】上位端末とＩＣカードとの間で中継通信を行うリーダライタ装置であって、装着されたＩＣカードが、キャラクタ伝送の第１通信規約に基づき通信する第１種ＩＣカードであるか、ブロック伝送の第２通信規約に基づき通信する第２種ＩＣカードであるか判断する判断手段と、前記第２通信規約とは異なるブロック伝送の第３通信規約に基づき通信する前記上位端末と前記第１種ＩＣカードとの間で、各通信規約にデータを変換して中継通信を行う第１変換通信手段と、前記上位端末と前記第２種ＩＣカードとの間で、各通信規約にデータを変換して中継通信を行う第２変換通信手段と、前記判断手段の判断結果に基づき、前記第１変換通信手段又は前記第２変換通信手段に通信を行わせる切換手段とを備えるリーダライタ装置。【選択図】  図１
2004252499.tif 000002
【特許請求の範囲】
【請求項１】
上位端末が接続され、ＩＣカードが装着され、前記ＩＣカードと上位端末との間において情報の中継通信を行うリーダライタ装置であって、
装着されたＩＣカードが、キャラクタ伝送の通信手順を定めた第１通信規約に基づいて通信を行う第１種ＩＣカードであるか、又はブロック伝送の通信手順を定めた第２通信規約に基づいて通信を行う第２種ＩＣカードであるか判断する判断手段と、
前記第２通信規約とは異なるブロック伝送の通信手順を定めた第３通信規約に基づいて通信を行う前記上位端末と、前記第１通信規約に基づいて通信を行う前記第１種ＩＣカードとの間で、それぞれの通信規約に合わせてデータを変換して通信を中継する第１変換通信手段と、
前記第３通信規約に基づいて通信を行う前記上位端末と、前記第２通信規約に基づいて通信を行う前記第２種ＩＣカードとの間で、それぞれの通信規約に合わせてデータを変換して通信を中継する第２変換通信手段と、
前記判断手段の判断結果に基づいて、前記第１変換通信手段と前記第２変換通信手段との何れかに通信を行わせる切換手段と
を備えることを特徴とするリーダライタ装置。
【請求項２】
前記リーダライタ装置は、
前記第３通信規約に基づいて通信を行う第３種ＩＣカードと前記上位端末との間で通信を中継する場合、前記上位端末から受信するデータを、当該リーダライタ装置内で変換せずに前記第３種ＩＣカードに送信し、前記第３種ＩＣカードから受信するデータを、当該リーダライタ装置内で変換せずに前記上位端末に送信する通信路切換手段を含み、
前記判断手段は、装着されたＩＣカードが、前記第１種ＩＣカードであるか、前記第２種ＩＣカードであるか、前記第３種ＩＣカードであるか判断し、
前記切換手段は、前記判断結果が前記第３種ＩＣカードである場合、前記通信路切換手段に通信を行わせる
ことを特徴とする請求項１記載のリーダライタ装置。
【請求項３】
上位端末が接続され、ＩＣカードが装着されたリーダライタ装置が、前記上位端末と前記ＩＣカードとの間において、情報の中継通信を行う通信システムであって、
キャラクタ伝送の通信手順を定めた第１通信規約に基づいて前記リーダライタ装置と通信を行う第１種ＩＣカードと、
ブロック伝送の通信手順を定めた第２通信規約に基づいて前記リーダライタ装置と通信を行う第２種ＩＣカードと、
前記第２通信規約と異なるブロック伝送の通信手順を定めた第３通信規約に基づいて前記リーダライタ装置と通信を行う前記上位端末と、
前記リーダライタ装置とを備え、
前記リーダライタ装置は、
第１通信手段、第１変換手段、第２変換手段、第２通信手段、第３通信手段及び入出力手段から構成され、
前記第１通信手段は、
前記第３通信規約に基づいて前記上位端末と通信を行い、当該リーダライタ装置に前記第１種ＩＣカードが装着されている場合、前記上位端末からの受信データを前記第１変換手段に出力し、前記第２種ＩＣカードが装着されている場合、前記受信データを前記第２変換手段に出力し、前記第１変換手段又は前記第２変換手段から受け取るデータは前記上位端末に送信し、
前記第１変換手段は、
前記第３通信手段から受け取るデータを、前記第１通信規約に基づくデータに変換して、変換したデータを前記第２通信手段に出力し、前記第２通信手段から受け取るデータを前記第３通信規約に基づくデータに変換して前記第１通信手段に出力し、
前記第２変換手段は、
前記第１通信手段から受け取るデータを、前記第１通信規約に基づくデータに変換して、変換したデータを前記第２通信手段に出力し、前記第２通信手段から受け取るデータを前記第３通信規約に基づくデータに変換して前記第１通信手段に出力し、
前記第２通信手段は、
前記第１通信規約に基づいて、前記第１種ＩＣカードと通信を行い、前記第１変換手段から受け取るデータを前記入出力手段に出力し、前記入出力手段から受け取るデータを前記第１変換手段に出力し、
前記第３通信手段は、
前記第２通信規約に基づいて、前記第２種ＩＣカードと通信を行い、前記第２変換手段から受け取るデータを前記入出力手段に出力し、前記入出力手段から受け取るデータを前記第２変換手段に出力し、
前記入出力手段は、第２通信手段から受け取るデータを前記第１種ＩＣカードに送信し、前記第１種ＩＣカードから受信するデータを前記第２通信手段に出力し、前記第３通信手段から受け取るデータを前記第２種ＩＣカードに送信し、前記第２種ＩＣカードから受信するデータを前記第３通信手段に出力する
ことを特徴とする通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータ等の上位端末がＩＣカードと通信するためのＩＣカードリーダライタ装置に関する。
【０００２】
【従来の技術】
ＩＣカードリーダライタは、ＩＣカードとコンピュータとの間の通信を仲介するものである。ＩＣカードリーダライタとＩＣカードとは、共通のプロトコルに従ってデータの授受を行う。
従来、ＩＣカードリーダライタは、一種類のプロトコルに基づいてＩＣカードと通信を行うものであり、それとは異なるプロトコルに基づいて通信するＩＣカードとは通信できなかった。
【０００３】
そのため、異なるプロトコルに従って通信する複数のＩＣカードとコンピュータとが通信を行う場合、それぞれのＩＣカードのプロトコルと共通のプロトコルに従って動作するＩＣカードリーダライタを用意する必要があった。つまり、複数のＩＣカードがそれぞれ異なるプロトコルに基づいて通信を行う場合、それぞれに対応可能なＩＣカードリーダライタを用意する必要があった。
【０００４】
そこで、特許文献１では、互いに異なる複数のプロトコルに基づいてＩＣカードとの間で通信を可能とする通信制御手段を有するＩＣカードリーダライタにあって、上記ＩＣカードとの通信に用いられているプロトコルを他のプロトコルに切り換えるように上記通信制御手段を制御するプロトコル切り換え手段を有するＩＣカードリーダライタに関する技術が公開されている。
【０００５】
この技術によって、（１）ＩＣカードリーダライタ自身、又はホストコンピュータからの信号により、プロトコルを選択し、１台のリーダライタで、それぞれ異なるプロトコルを保有する複数のＩＣカード、又は１枚のＩＣカードであって、複数のプロトコルを保有するものに対してアクセスが可能であり、また、（２）ＩＣカードとのセッション中にそのプロトコルを切り換えることが出来、例えばバイトトランスミッションタイプのプロトコルからブロックトランスミッションタイプのプロトコルに切り換えることにより、データの伝送効率を高めることが出来る。
【０００６】
【特許文献１】特開平４−４２３８３号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、ＩＣカードの通信規約は、国際標準ＩＳＯ７８１６パート３記載の通信規約でＴ＝１と呼ばれるブロック伝送とＴ＝０と呼ばれるキャラクタ伝送とがあり、上記技術でＩＣカードリーダライタは、ブロック伝送の通信規約では異なるプロトコルへ切り換えることが可能だが、キャラクタ伝送の通信規約へは切り換えることが出来ない。
【０００８】
なぜなら、ブロック伝送と、キャラクタ伝送とは、通信データの構成だけでなく、データを送信する際の処理や、誤り検出などの処理が大きく異なり、ブロック伝送に基づいて通信を行うＩＣカードと通信を行う際にＩＣカードリーダライタに使われているＩＣを、キャラクタ伝送に基づいて通信を行うＩＣカードとの通信では使えないからである。
【０００９】
本発明は、Ｔ＝１と呼ばれるブロック伝送及びＴ＝０と呼ばれるキャラクタ伝送の両規約に変換可能なＩＣカードリーダライタを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を解決するために、上位端末が接続され、ＩＣカードが装着され、前記ＩＣカードと上位端末との間において情報の中継通信を行うリーダライタ装置であって、装着されたＩＣカードが、キャラクタ伝送の通信手順を定めた第１通信規約に基づいて通信を行う第１種ＩＣカードであるか、又はブロック伝送の通信手順を定めた第２通信規約に基づいて通信を行う第２種ＩＣカードであるか判断する判断手段と、前記第２通信規約とは異なるブロック伝送の通信手順を定めた第３通信規約に基づいて通信を行う前記上位端末と、前記第１通信規約に基づいて通信を行う前記第１種ＩＣカードとの間で、それぞれの通信規約に合わせてデータを変換して通信を中継する第１変換通信手段と、前記第３通信規約に基づいて通信を行う前記上位端末と、前記第２通信規約に基づいて通信を行う前記第２種ＩＣカードとの間で、それぞれの通信規約に合わせてデータを変換して通信を中継する第２変換通信手段と、前記判断手段の判断結果に基づいて、前記第１変換通信手段と前記第２変換通信手段との何れかに通信を行わせる切換手段とを備える。
【００１１】
これにより、ブロック伝送とキャラクタ伝送との両方に変換可能である。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態である通信システム６００について説明する。
１．通信システム６００の構成
通信システム６００は、図１に示すように、ＰＣ１００（パーソナルコンピュータ）、リーダライタ２００及びＩＣカード３００，４００，５００から構成される。
【００１３】
ＰＣ１００は、通信規約Ｃに基づいて通信を行う。通信規約Ｃは、国際標準ＩＳＯ７８１６パート３に記載のＴ＝１と呼ばれるブロック伝送の通信規約である。通信規約Ｃのデータの構成については、１．２．６（６）で説明する。
ＩＣカード３００〜５００は、リーダライタ２００に着脱可能であり、ＩＣカード３００〜５００の何れかがリーダライタ２００に接続される。ＩＣカード３００は、通信規約Ａに基づいて通信を行う。通信規約Ａは、通信規約Ｃとは異なるブロック伝送の通信規約である。同様に、ＩＣカード４００は、通信規約Ｂに、ＩＣカード５００は、通信規約Ｃに基づいて通信を行う。通信規約Ｂは、国際標準ＩＳＯ７８１６パート３に記載のＴ＝０と呼ばれるキャラクタ伝送の通信規約である。通信規約Ｂのデータの構成については、１．２．６（９）で説明する。
【００１４】
リーダライタ２００は、ＰＣ１００と電気的に接続されている。リーダライタ２００は、ＰＣ１００からＩＣカード３００〜５００の何れかにデータを伝送する際、それぞれのＩＣカードの通信規約に合わせてデータを変換し、それぞれのＩＣカードからの応答データをＰＣ１００の通信規約に合わせて逆変換する。
以下、リーダライタ２００の構成について説明する。
１．１  リーダライタ２００
リーダライタ２００は、ＰＣ１００と通信規約Ｃに基づいて通信し、リーダライタ２００は、接続されたＩＣカードと通信規約Ａ，Ｂ又はＣに基づいて通信する。
【００１５】
リーダライタ２００は、第１記憶部２１０、通信規約制御部２２０、中央演算処理部２３０、カード検出部２４０、第１入出力部２５０及び第２入出力部２６０から構成される。
以下、各構成について説明する。
１．１．１  第１入出力部２５０
第１入出力部２５０は、ＰＣ１００と物理的に接続される。第１入出力部２５０は、通信規約Ｃに基づいて、ＰＣ１００との間で情報の入出力を行う。
【００１６】
１．１．２  第２入出力部２６０
第２入出力部２６０は、ＩＣカードと物理的に接続される。第２入出力部２６０は、ＩＣカード３００が接続されたとき、通信規約Ａに基づいてＩＣカード３００との間で情報の入出力を行う。また、ＩＣカード４００又は５００が接続されたとき、それぞれ通信規約Ｂに基づいてＩＣカード４００と、又は通信規約Ｃに基づいてＩＣカード５００と情報の入出力を行う。
【００１７】
１．１．３  カード検出部２４０
カード検出部２４０は、リーダライタ２００にＩＣカード３００〜５００の何れかが物理的に接続され、通信可能な状態であるか否かを検出する。ＩＣカード３００〜５００の何れかを検出したか否かを示す検出信号を出力する。
１．１．４  第１記憶部２１０
第１記憶部２１０は、リーダライタ２００内で処理される情報が格納される。
【００１８】
１．１．５  中央演算処理部２３０
中央演算処理部２３０は、ＰＣ１００から第１通信部２２２が受け取ったデータが、リーダライタ２００内で処理する命令であった場合、命令に従って第２記憶部２１１が記憶しているプログラムを実行する。
１．１．６  通信規約制御部２２０
通信規約制御部２２０は、第２記憶部２１１、周辺制御部２２１、第１通信部２２２、初期応答解析部２２３、第１通信規約変換部２２４、第２通信部２２５、第２通信規約変換部２２６、第３通信部２２７、通信路制御部２２８及びタイプ記憶部２２９から構成される。
以下に各構成について説明する。
（１）第２記憶部２１１
第２記憶部２１１は、リーダライタ２００内で行う処理を記述したプログラムを記憶している。
（２）タイプ記憶部２２９
タイプ記憶部２２９は、初期応答解析部２２３から受け取る通信規約の種別を記憶する。種別は、「Ａ」、「Ｂ」又は「Ｃ」の何れかの値をとる。「Ａ」は通信規約Ａを示す。同様に「Ｂ」は通信規約Ｂを、「Ｃ」は通信規約Ｃを示す。
カードが接続されていないときは、種別を記憶しない。
（４）周辺制御部２２１
周辺制御部２２１は、ＰＣ１００から第１入出力部２５０を介してデータを受信したか否かを判断する。
【００１９】
（ａ１）データを受信していない場合、カード検出部２４０が出力する検出信号を受け取る。受け取った検出信号から、ＩＣカード３００〜５００の何れかを検出したか否かを判断する。
（ｂ１）検出信号がＩＣカードを検出したことを示す場合、タイプ記憶部２２９に通信規約の種別が記憶されているか否かを判断する。タイプ記憶部２２９に種別が記憶されていない場合、初期応答解析部２２３に種別を判断させる。
【００２０】
（ｂ２）検出信号がＩＣカードを検出していないことを示す場合、又はＩＣカードを検出したことを示す場合であって、タイプ記憶部２２９に種別が記憶されている場合は、再び、上記の動作を繰り返す。
（ａ２）ＰＣ１００からデータを受信した場合、第１通信手段に制御を移す。
（５）初期応答解析部２２３
リーダライタ２００にＩＣカード３００が接続されている場合、初期応答解析部２２３は、ＩＣカード３００に対して、国際標準ＩＳＯ記載の方法（ＩＳＯ７８１６パート２）により、ＩＣカード３００を活性化する。
【００２１】
活性化したＩＣカード３００から第２入出力部２６０を介して、ＡＴＲ（Ａｎｓｗｅｒ  Ｔｏ  Ｒｅｓｅｔ）を受け取る。ＡＴＲは、ＩＣカード３００の電気的・伝送プロトコル情報に関する属性情報である。属性情報は、ＩＣカード３００の通信規約の種別を含む。初期応答解析部２２３は、受け取ったＡＴＲを解析して、通信規約の種別を判断する。
【００２２】
初期応答解析部２２３は、判断した通信規約の種別が通信規約Ａであれば「Ａ」の値をタイプ記憶部２２９に書き込む。
ＩＣカード４００又はＩＣカード５００が接続されている場合も同様にＡＴＲを解析し、種別が通信規約Ｂの場合は「Ｂ」の値を、通信規約Ｃの場合は「Ｃ」の値をタイプ記憶部２２９に書き込む。
（６）第１通信部２２２
第１通信部２２２は、通信規約Ｃに従ってＰＣ１００との通信を行う。
【００２３】
ここで、ブロック伝送の通信規約である通信規約Ｃの送信データの構成を、図２（ａ）を用いて説明する。通信規約Ｃにより定められた送信データは、ヘッダ情報であるＮＡＤ、ＰＣＢ及びＬＥＮと、通信ブロックであるＣＬＳ、ＣＯＤ、Ｐ１、Ｐ２、Ｐ３及びデータ部と、ＥＤＣとから構成される。
ＮＡＤは、データの発信者及び受信者のアドレスを格納する。ＰＣＢは、通信ブロックの再送処理や一連の情報として次のブロックが存在するか否かの情報を格納する。ＬＥＮは、通信ブロックの長さ情報を格納する。
【００２４】
ＣＬＳは、通信ブロックの種別を示す情報を格納する。ＣＯＤは、上位端末が意図する命令を格納する。Ｐ１、Ｐ２及びＰ３は、命令に付随する付加情報を格納する。データ部は、命令対象となる実際のデータを格納する。
ＥＤＣは、ヘッダ情報と通信ブロックの完全性を確認するためのチェックコードを格納する。
【００２５】
以上のように、ブロック伝送は、これら全ての情報を一つのブロックとして送受信する通信規約である。
第１通信部２２２は、周辺制御部２２１からの起動により、ＰＣ１００から送られるデータを、第１入出力部２５０を介して受信する。
受信するデータに次のブロックがあるか否かを判断し、ある場合は、次のブロックを受信する。
【００２６】
データの受信が完了すると、通信異常があるか否かを判断する。通信異常が有る場合、ＰＣ１００に再送要求を送信する。通信異常が無い場合、受信データのヘッダ情報を解析し、受信データの送信先を確認する。受信データの送信先がリーダライタ２００である場合、リーダライタ２００内で処理を行い、処理結果をＰＣ１００へ送信する。
【００２７】
受信データの送信先がＩＣカード３００〜５００の何れかである場合、カード検出部２４０が出力する検出信号を受け取る。検出信号がＩＣカード３００〜５００の何れも検出していないことを示す場合、処理異常としての応答を作成し、第１入出力部２５０を介してＰＣ１００に送る。検出信号がＩＣカード３００〜５００の何れか検出したことを示す場合、タイプ記憶部２２９に記憶している通信規約の種別を読み出す。読み出した種別が「Ａ」であれば、第２通信規約変換部２２６に処理を移す。同様に、読み出した種別が「Ｂ」であれば、第１通信規約変換部２２４に、読み出した種別が「Ｃ」であれば、通信路制御部２２８に、処理を移す。
【００２８】
第１通信部２２２は、第１通信規約変換部２２４又は第２通信規約変換部２２６が出力するＩＣカード３００又は４００の応答データを、ＰＣ１００へ送信する。
（７）第３通信部２２７
第３通信部２２７は、図２（ａ）に示す通信規約Ａに従って、ＩＣカード３００と通信を行う。
【００２９】
通信規約Ａは、通信規約Ｃと異なるブロック伝送の通信規約である。通信規約Ａのデータの構成は、通信規約Ｃのデータの構成と同様である。通信規約ＣとＡとは、ＰＣＢの構成が異なる。
第３通信部２２７は、第２通信規約変換部２２６から受け取るデータをＩＣカード３００に送信する。また、再度第２通信規約変換部２２６からデータを受け取ると、データを再度送信する。
【００３０】
第３通信部２２７は、ＩＣカード３００から受信する応答データを第２通信規約変換部２２６へ出力する。
（８）第２通信規約変換部２２６
第２通信規約変換部２２６は、通信規約Ｃに基づくデータを通信規約Ａに基づくデータへ変換する。また、通信規約Ａに基づくデータを通信規約Ｃに基づくデータへ逆変換する。
【００３１】
通信規約ＡとＣとはＰＣＢのみ異なるため、第２通信規約変換部２２６は、ＰＣＢを変換又は逆変換するための変換表を備える。
第２通信規約変換部２２６は、ＰＣ１００から受信する受信データを第１通信部２２２から受け取ると、通信規約Ｃに基づく受信データのＰＣＢを、変換表に従って通信規約Ａに基づくＰＣＢに変換する。ＰＣＢを通信規約Ａに基づくデータに変換された受信データを、第３通信部２２７に出力する。また、ＩＣカード３００からの通信異常の有無を確認する。通信異常がある場合、受信データを再度第３通信部に出力する。通信異常が無い場合、第３通信部２２７から受け取る、ＩＣカード３００からの応答データのＰＣＢを、変換表に従って通信規約Ｃに基づくＰＣＢに逆変換する。ＰＣＢを通信規約Ｃに基づくデータに逆変換された応答データを、第１通信部２２２に出力する。
（９）第２通信部２２５
第２通信部２２５は、通信規約Ｂに従って、ＩＣカード４００と通信を行う。
【００３２】
ここで、キャラクタ伝送の通信規約である通信規約Ｂのデータの構成を、図２（ｂ）を用いて説明する。
通信規約Ｂのデータは、ＣＬＳ、ＣＯＤ、Ｐ１、Ｐ２及びＰ３から成るパラメータ部とデータ部とから成る通信ブロックで構成され、ヘッダ情報及びＥＤＣは存在しない。
【００３３】
以上のように、キャラクタ伝送は、これらの情報を１バイト単位で送受信する通信規約である。
第２通信部２２５は、ＰＣ１００から受信する受信データのパラメータ部のデータを、第１通信規約変換部２２４から受け取り、受け取ったデータを１バイト単位でＩＣカード４００に送信する。また、第１通信規約変換部２２４から再度パラメータ部のデータを受け取ると、受け取ったデータを再度ＩＣカード４００へ送信する。
【００３４】
第２通信部２２５は、第１通信規約変換部２２４から受信データのデータ部のデータを受け取り、受け取ったデータを１バイト単位でＩＣカード４００へ送信する。また、第１通信規約変換部２２４から再度データ部のデータを受け取ると、受け取ったデータを再度ＩＣカード４００へ送信する。
第２通信部２２５は、ＩＣカード４００からの応答データを受信する。受信した応答データは第１通信規約変換部２２４へ出力する。
（１０）第１通信規約変換部２２４
第１通信規約変換部２２４は、通信規約Ｃに基づくデータを通信規約Ｂに基づくデータに変換する。また、通信規約Ｂに基づくデータを通信規約Ｃに基づくデータに逆変換する。
【００３５】
第１通信規約変換部２２４は、ＰＣ１００から受け取ったデータを、ＣＬＳ、ＣＯＤ、Ｐ１、Ｐ２及びＰ３のコマンドのパラメータ部と、以降のデータ部とに分割する。第１通信規約変換部２２４は、分割したパラメータ部のデータを、第２通信部２２５に出力する。通信異常の有無を確認し、通信異常が有る場合は、データを再度第２通信部２２５へ出力する。
【００３６】
第１通信規約変換部２２４は、第２通信部２２５から、ＩＣカード４００の応答データを受け取る。応答データが受け入れ可能を示すＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）であるか否かを判断する。応答データが、ＡＣＫ以外であれば、第２通信部２２５にパラメータ部のデータを再度出力する。
第１通信規約変換部２２４は、ＩＣカード３００からの応答データがＡＣＫであり、ＰＣ１００から受信したデータにデータ部がある場合、データ部のデータを第２通信部２２５に出力する。
【００３７】
第１通信規約変換部２２４は、通信異常の有無を確認する。通信異常がある場合は、第２通信部２２５にデータを再度出力する。
第１通信規約変換部２２４は、通信異常が無い場合、ＩＣカード４００からの応答データを反映させて、通信規約Ｃに基づくＰＣＢを生成する。生成したＰＣＢを含む応答データを第１通信部２２２に出力する。
（１１）通信路制御部２２８
通信路制御部２２８は、ＩＣカード５００の通信規約が、通信規約Ｃである場合、ＰＣ１００から送信されるデータをリーダライタ２００の内部処理を通さずに、直接ＩＣカード５００に送る。また、ＩＣカード５００から送信される応答データを、ＰＣ１００に送る。
２．通信システム６００の動作
ＰＣ１００は、通信規約Ｃに従って、データをリーダライタ２００に送信する。リーダライタ２００は、受信データを送信先のＩＣカードの通信規約に合わせて変換し、送信する。
【００３８】
以下にリーダライタ２００の動作について説明する。
２．１  リーダライタ２００の動作
（１）  周辺制御部２２１の動作
周辺制御部２２１の動作について、図３を用いて説明する。
周辺制御部２２１は、第１入出力部２５０を介してＰＣ１００から、データを受信したか否かを判断する（ステップＳ１０）。データを受信していない場合（ステップＳ１０でＮＯ）、カード検出部２４０から検出信号を受け取る（ステップＳ１１）。受け取った検出信号から、ＩＣカード３００〜５００の何れかを検出したか否かを判断する（ステップＳ１２）。検出信号が検出したことを示す場合（ステップＳ１２でＹＥＳ）、タイプ記憶部２２９に種別が記憶されているか否かを判断する（ステップＳ１３）。種別が記憶されていない場合（ステップＳ１３でＮＯ）、初期応答解析部２２３に種別を判断させる（ステップＳ１４）。検出信号が検出していないことを示す場合、（ステップＳ１２でＮＯ）、及び種別が記憶されている場合（ステップＳ１３でＹＥＳ）は、再び、ＰＣ１００からデータを受信したか否かを判断する（ステップＳ１０）。
【００３９】
ＰＣ１００からデータを受信した場合（ステップＳ１０でＹＥＳ）、制御を第１通信部２２２に移す（ステップＳ１４）。
（２）  初期応答解析部２２３の動作
図３のステップＳ１３での初期応答解析部２２３の動作について、図４を用いて説明する。
【００４０】
初期応答解析部２２３は、接続されているＩＣカードを活性化する（ステップＳ２０）。活性化されたＩＣカードから第２入出力部２６０を介してＡＴＲを受け取ると、受け取ったＡＴＲから接続されているＩＣカードの通信規約の種別を判断する（ステップＳ２１）。種別が通信規約Ａである場合、タイプ記憶部２２９に「Ａ」を書き込む（ステップＳ２２）。同様に、種別が通信規約Ｂである場合、タイプ記憶部２２９に「Ｂ」を書き込み（ステップＳ２３）、種別が通信規約Ｃである場合、タイプ記憶部２２９に「Ｃ」を書き込む（ステップＳ２４）。
（３）  第１通信部２２２の動作
図３のステップＳ１４での第１通信部２２２の動作について、図５、６を用いて説明する。
【００４１】
第１通信部２２２は、周辺制御部２２１によって起動されると、ＰＣ１００から送られてくるデータを、第１入出力部２５０を介して受信する（ステップＳ３０）。次のブロックがあるか否かを判断し（ステップＳ３１）、ある場合（ステップＳ３１でＹＥＳ）は、次のブロックを受信する（ステップＳ３０）。次のブロックがない場合（ステップＳ３１でＮＯ）は、通信異常があるか否か判断する（ステップＳ３２）。通信異常がある場合（ステップＳ３２でＹＥＳ）は、ＰＣ１００に再送要求を送信する（ステップＳ３３）。通信異常が無い場合（ステップＳ３２でＮＯ）は、受信データのヘッダ情報を解析し、データの送信先を確認する（ステップＳ３４）。データの送信先がリーダライタ２００である場合は、リーダライタ２００内で処理を行い（ステップＳ３５）、結果をＰＣ１００へ送信する（ステップＳ４４）。データの送信先がＩＣカード３００〜５００である場合、カード検出部２４０から検出信号を受け取る（ステップＳ３６）。受け取った検出信号がＩＣカード３００〜５００の何れかを検出したことを示すか否かを判断する（ステップＳ３７）。検出信号が検出していないことを示す場合（ステップＳ３７でＮＯ）、異常処理応答を作成し（ステップＳ３８）、作成した異常処理応答をＰＣ１００へ送信する（ステップＳ４４）。検出信号が検出したことを示す場合（ステップＳ３７でＹＥＳ）、タイプ記憶部２２９に記憶している通信規約の種別を読み出し（ステップＳ３９）、何れの通信規約か判断する（ステップＳ４０）。通信規約Ｂである場合、第１通信規約変換部２２４に制御を移す（ステップＳ４１）。同様に、通信規約Ａである場合、第２通信規約変換部２２６に処理を移し（ステップＳ４２）、通信規約Ｃである場合、通信路制御部２２８に処理を移す（ステップＳ４３）。
【００４２】
第１通信規約変換部２２４又は第２通信規約変換部２２６が出力する応答データを、ＰＣ１００へ送信する（ステップＳ４４）。
（４）  第１通信規約変換部２２４の動作
図６のステップＳ４１での第１通信規約変換部２２４の動作を、図７を用いて説明する。
【００４３】
第１通信規約変換部２２４は、ＰＣ１００から受信したデータを第１通信部２２２から受け取ると、ＣＬＳ、ＣＯＤ、Ｐ１、Ｐ２及びＰ３のコマンドのパラメータ部と、データ部に分割する（ステップＳ５０）。分割されたパラメータ部のデータは、１バイト単位でＩＣカード４００へ送信するために、第２通信部２２５に出力する（ステップＳ５１）。
【００４４】
ＩＣカード４００からの通信異常の有無を確認し（ステップＳ５２）、通信異常がある場合（ステップＳ５２でＹＥＳ）、再度送信するため第２通信部２２５にパラメータ部のデータを出力する（ステップＳ５１）。
通信異常が無い場合（ステップＳ５２でＮＯ）、第２通信部２２５から受け取るＩＣカード４００の応答データが、ＡＣＫであるか否か判断する（ステップＳ５３）。応答データがＡＣＫでない場合（ステップＳ５３でＮＯ）、再度送信するようパラメータ部のデータを第２通信部２２５に出力する（ステップＳ５１）。応答データがＡＣＫである場合（ステップＳ５３でＹＥＳ）、ＰＣ１００から受信したデータにデータ部が存在するか否か判断する（ステップＳ５４）。データ部が存在しない場合（ステップＳ５４でＮＯ）、ＰＣ１００へ返信する為のＰＣＢを生成する（ステップＳ５７）。
【００４５】
ＰＣ１００から受信したデータにデータ部が存在する場合（ステップＳ５４でＹＥＳ）、データ部のデータを１バイト単位でＩＣカード４００へ送信するため第２通信部２２５に出力する（ステップＳ５５）。
送信したデータ部に対する通信異常の有無を確認し（ステップＳ５６）、通信異常が有る場合（ステップＳ５６でＹＥＳ）、再度送信するよう第２通信部２２５にデータ部のデータを出力する（ステップＳ５５）。通信異常が無い場合（ステップＳ５６でＮＯ）、ＩＣカード４００から受け取る応答データを反映させて、ＰＣ１００へ返信する為のＰＣＢを生成する（ステップＳ５７）。生成したＰＣＢを含む応答データを、ＰＣ１００へ送信するために、第１通信部２２２に出力する。（ステップＳ５８）
（５）  第２通信規約変換部２２６の動作
図６のステップＳ４２での第２通信規約変換部２２６の動作を、図８を用いて説明する。
【００４６】
第２通信規約変換部２２６は、ＰＣ１００から受信したデータを第１通信部２２２から受け取ると、受信データのＰＣＢを、変換表に従って通信規約Ａに基づくＰＣＢに変換する（ステップＳ６０）。ＰＣＢを通信規約Ａに基づくデータに変換された受信データを、ＩＣカード３００へ送信するために第３通信部２２７に出力する（ステップＳ６１）。
【００４７】
ＩＣカード３００からの通信異常の有無を確認し（ステップＳ６２）、通信異常があれば（ステップＳ６２でＹＥＳ）、第３通信部２２７に再送信するよう受信データを出力する（ステップＳ６１）。
通信異常が無ければ（ステップＳ６２でＮＯ）、ＩＣカード３００からの応答データのＰＣＢを、変換表に基づいて通信規約ＣのＰＣＢに逆変換する（ステップＳ６３）。逆変換したＰＣＢを含む応答データを、第１通信部２２２に出力する（ステップＳ６４）。
【００４８】
【発明の効果】
以上説明したように、本発明は、上位端末が接続され、ＩＣカードが装着され、前記ＩＣカードと上位端末との間において情報の中継通信を行うリーダライタ装置であって、装着されたＩＣカードが、キャラクタ伝送の通信手順を定めた第１通信規約に基づいて通信を行う第１種ＩＣカードであるか、又はブロック伝送の通信手順を定めた第２通信規約に基づいて通信を行う第２種ＩＣカードであるか判断する判断手段と、前記第２通信規約とは異なるブロック伝送の通信手順を定めた第３通信規約に基づいて通信を行う前記上位端末と、前記第１通信規約に基づいて通信を行う前記第１種ＩＣカードとの間で、それぞれの通信規約に合わせてデータを変換して通信を中継する第１変換通信手段と、前記第３通信規約に基づいて通信を行う前記上位端末と、前記第２通信規約に基づいて通信を行う前記第２種ＩＣカードとの間で、それぞれの通信規約に合わせてデータを変換して通信を中継する第２変換通信手段と、前記判断手段の判断結果に基づいて、前記第１変換通信手段と前記第２変換通信手段との何れかに通信を行わせる切換手段とを備えることを特徴とするリーダライタ装置である。
【００４９】
この構成によると、端末に搭載されているマイコンの一つのポートを利用し、ソフトウェアで対応しているので、リーダライタ装置は、ブロック伝送の通信規約とキャラクタ伝送の通信規約との両方に切り換え可能であり、上位端末において通信規約を意識して制御する必要が無く、上位端末での処理を簡素化出来るという効果がある。また、ブロック伝送とキャラクタ伝送とをソフトウェアでコントロールできることにより、端末内の処理が柔軟に行えるようになった。
【００５０】
ここで、前記リーダライタ装置は、前記第３通信規約に基づいて通信を行う第３種ＩＣカードと前記上位端末との間で通信を中継する場合、前記上位端末から受信するデータを、当該リーダライタ装置内で変換せずに前記第３種ＩＣカードに送信し、前記第３種ＩＣカードから受信するデータを、当該リーダライタ装置内で変換せずに前記上位端末に送信する通信路切換手段を含み、前記判断手段は、装着されたＩＣカードが、前記第１種ＩＣカードであるか、前記第２種ＩＣカードであるか、前記第３種ＩＣカードであるか判断し、前記切換手段は、前記判断結果が前記第３種ＩＣカードである場合、前記通信路切換手段に通信を行わせるようにしても良い。
【００５１】
この構成によると、ＩＣカードの通信規約が上位端末の通信規約と同じ場合、リーダライタ装置内で処理せずに通信するため、通信時間を短縮することが出来ると共に、第３ＩＣカードにも対応することが出来る。
【図面の簡単な説明】
【図１】ＩＣカードリーダライタの構成を示すブロック図である。
【図２】ブロック伝送及びキャラクタ伝送のデータの構成を示す。
【図３】周辺制御部２２１の動作を示すフローチャートである。
【図４】初期応答解析部２２３の動作を示すフローチャートである。
【図５】第１通信部２２２の動作を示すフローチャートである。図６に続く。
【図６】第１通信部２２２の動作を示すフローチャートである。図５の続き。
【図７】第１通信規約変換部２２４の動作を示すフローチャートである。
【図８】第２通信規約変換部２２６の動作を示すフローチャートである。
【符号の説明】
１００    ＰＣ
２００    リーダライタ
２１０    記憶部
２１１    記憶部
２２０    通信規約制御部
２２１    周辺制御部
２２２    通信部
２２３    初期応答解析部
２２４    通信規約変換部
２２５    通信部
２２６    通信規約変換部
２２７    通信部
２２８    通信路制御部
２２９    タイプ記憶部
２３０    中央演算処理部
２４０    カード検出部
２５０    入出力部
２６０    入出力部
３００，４００，５００  ＩＣカード
６００    通信システム
【図１】
2004252499.tif 000003
【図２】
2004252499.tif 000004
【図３】
2004252499.tif 000005
【図４】
2004252499.tif 000006
【図５】
2004252499.tif 000007
【図６】
2004252499.tif 000008
【図７】
2004252499.tif 000009
【図８】
2004252499.tif 000010