(57)【特許請求の範囲】
【請求項１】
チップカードとマイクロコンピュータ間のデータ交換を行うために、マイクロコンピュータの制御下で動作し、マイクロコンピュータによる読取り中に、カード中で読取られたデータ要素の一時的保存が可能なデータバッファメモリを備える、マイクロプロセッサを有していないチップカード読取り装置であって、マイクロコンピュータの出力バスから、所望の分割比を表すディジタル制御信号を受信することができるディジタル方式でプログラム可能な周波数分割器を備え、前記周波数分割器は、当該チップカード読取り装置内で生成された基準クロック信号を受信して、前記カードと当該チップカード読取り装置との間のデータ交換のための同期信号を供給し、前記同期信号は、前記マイクロコンピュータによって与えられた前記所望の分割比に応じた前記基準クロック信号の周波数分割によって得られたビット時間の所望値に対応する周期を有することを特徴とするチップカード読取り装置。
【請求項２】
周期が所望のビット時間を表し、カウント数が、データ送信の開始から始まるビットの順位を表す同期信号を供給する同期信号の形成回路を備え、この回路が、読取り装置の少なくともシリアル−パラレルおよびパラレル−シリアル変換回路を制御する請求項１に記載のカード読取り装置。
【請求項３】
前記同期信号の形成回路が、前記バッファメモリを制御する請求項２に記載のカード読取り装置。
【請求項４】
前記周波数分割器が、2〜372の分割比を与えるようにプログラム可能である請求項１〜３のいずれか一項に記載のカード読取り装置。
【請求項５】
周波数分割器が、少なくとも分割比2、31および372を与えるようにプログラム可能である請求項１〜４のいずれか一項に記載のカード読取り装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、マイクロコンピュータの制御下で、カードとマイクロコンピュータ間の読取りまたは書込みモードにおけるデータ交換を実施するために、マイクロコンピュータに接続するよう設計されたチップカード読取り装置に関する。
【０００２】
【従来の技術】
このような用途のために設計されたチップカードのほとんどは、まず第１に、カードと読取り装置間の通信、第２に、読取り装置とマイクロコンピュータ間の通信に対する制御を行うことができるよう十分強力なマイクロコンピュータによって、動作する。カードとマイクロコンピュータ間の通信の難しさは、第１に、カードの動作とマイクロコンピュータの動作間の同期性がまったくないこと、第２に、カードがカード読取り装置と通信しているときに、マイクロコンピュータが、読取り装置との通信以外の作業を行っている可能性があることに起因する。従って、一般に、読取り装置におけるマイクロプロセッサの存在は、交換の管理に必要であると考えられる。しかし、その場合、費用がかかってしまう。
【０００３】
【発明が解決しようとする課題】
本発明は、マイクロコンピュータによって制御することができ、カードとマイクロコンピュータ間の交換を実施することができるチップカード読取り装置であって、読取り装置は、マイクロプロセッサなしで作動するが、第１に、カードから読取られたデータの一時的に記憶するバッファメモリと、第２に、設定のためのデジタル信号によりプログラム可能な周波数分割器で任意に読み取り装置の内部クロックの周波数、ビット時間、（すなわちチップカードと読取り装置間のデータ交換における１データビットの送信に対応する時間）を分割することにより前記設定を行う周波数分割器とを備えるカード読取り装置を提供する。ビット時間値の選択は、周波数分割器に、分割比を定める指令を送るマイクロコンピュータによって定められる。
【０００４】
すなわち、カード読取り装置はマイクロプロセッサがなく、従って、内部指示のプログラムの制御で動作することはできないが、チップカードと読取り装置間のデータ伝送プロトコルを設定するための非常に簡単な手段を備えた単純化された電子回路によって形成され、第１に、カードと読取り装置間の可変高速通信プロトコルについて決定することができ、第２に、プロトコルの速度によって、マイクロコンピュータとカード間の交換でいかなるデータ損失も起こらないようするものである。プロトコルの設定は、マイクロコンピュータによる読取り装置へのディジタル信号の送信によって行われる。このディジタル信号は、読取り装置に含まれるプログラム可能な周波数分割器に作用する。
【０００５】
【課題を解決するための手段】
従って、さらに具体的には、本発明は、チップカードとマイクロコンピュータ間のデータ交換を行う、マイクロコンピュータの制御下で動作する、マイクロプロセッサを有していないチップカード読取り装置であって、第１に、マイクロコンピュータによる読取りの間、カードから読取ったデータ要素の一時記憶を行うことが可能なデータバッファメモリと、第２に、マイクロコンピュータの出力バスからの、所望の分割比を表すディジタル制御信号を受信することができるディジタル方式でプログラム可能な周波数分割器を備え、周波数分割器は、当該チップカード読取り装置内で生成された基準クロック信号をを受信して、カードと読取り装置間のデータ交換のための同期信号を供給し、この同期信号が、マイクロコンピュータによって与えられた前記所望の分割比に応じた前記基準クロック信号の周波数分割によって得られたビット時間の所望の値に対応する周期を有するチップカード読取り装置を提供する。
【０００６】
実際には、マイクロコンピュータが与える分割比は、2〜372の範囲である。ここで、値2は、非常に高速の交換プロトコルに対応するが、値372は、ISO7816-3規格によって規定される最低速度のプロトコルに対応するのではなく、最も使用されるプロトコルである。好ましくは、分割器は、少なくとも比2、31および372で分割を実施する。
【０００７】
従って、可変ビット速度で作動すると共に、非常に高いビット速度で作動することができるチップカード読取り装置を得ることができ、この読取り装置は、マイクロコンピュータの２方向パラレルポートに接続される場合もある。このポートを通じて、通信できるのは交換されたデータだけではなく、いくつかの制御信号、特にバッファメモリの制御信号、ならびに、ビット時間の値を定める分割比を表すディジタルデータ要素もある。
【０００８】
マイクロコンピュータは、読取り操作そのものと同時に他のタスクを実施している場合でも、チップカードに含まれるデータ要素の収集を可能にするために、極端に高速である必要はない。読取り装置の動作は、マイクロコンピュータの速度とは無関係である。バッファメモリによって、読取り装置は、マイクロコンピュータとは独立して作動することができる。そのために、マイクロコンピュータは、カードからのデータを失うことなく、数種のタスクを同時に実施することができる。さらに、このバッファメモリによって、様々なオペレーションシステム（ウィンドウズ95、ウィンドウズNT、ウィンドウズ3.11、DOS等）での読取り装置の使用が可能になる。
【０００９】
一般に、プログラム可能な周波数分割器を備えたバッファメモリの主な利点は、これによって、読取り装置が、カードとの様々な通信プロトコルを受入れ可能になり、これらの通信プロトコルにおいて、ビット時間の値が、特に2〜372のクロック周期の範囲で変化し得ることである。
【００１０】
マイクロコンピュータのない読取り装置は、すでに提案されているが、これらはISO7816-3規格によって設計された最低速度で作動しなければならず、しかも、マイクロコンピュータが、カードから読取り装置に伝送された情報部分を一切失うことなく読取りができるように、マイクロコンピュータは、このプロトコルに合わせて調整しなければならなかった。
【００１１】
添付の図面を参照にして行う以下の詳細な説明から、本発明の特徴および利点がさらに明らかになるであろう。
【００１２】
【実施例】
図１によれば、チップカード読取り装置は、参照番号10によって示される。これは、２方向パラレルバス14によってマイクロコンピュータ12に接続される。データ交換の目的のために、カード16を読取り装置10に挿入することができ、このデータ交換はマイクロコンピュータによって制御される。カード16とチップと間のリンクは、通常、カードと読取り装置との接点によって行うことができるが、データそのものは、この交換を目的とする接点（I/O）で、シリアルリンクによって交換される。読取り装置とカード間のその他の接続接点は、電源（VCC）、アース（GND）、読取り装置がカードに送るクロック（CLK）、ならびにカード用に向けたその他の制御信号、例えば、リセット信号（RST）、例えば、交換が、読取り交換、あるいは、カードへの書込み交換のいずれかを定めることができる読取り装置への内部制御信号（CTRL）等に対応する。その他の信号は、使用するカードのタイプ、および用途に応じて作成することができる（全部で６〜８個の接点が、カードの動作のために用意されている）。
【００１３】
本発明による読取り装置10の構成を図２に示す。
【００１４】
マイクロコンピュータとの通信は、マイクロコンピュータ、ならびに、読取り装置の内部回路の両方に２方向パラレル通信バスによって接続されるコネクタ20を通じて実施される。このバス21は、カードとマイクロコンピュータ間で交換すべきデータ要素を通信し、また、読取り装置を操作するのに使用される制御信号も運搬する。特に、後に説明するように、読取り装置には、読取り装置とカード間の通信プロトコルの変更を行うことのできるマイクロプロセッサがないため、この通信プロトコルの変更を可能にする信号も通信する。最後に、バス21は、２方向動作を制御する状態信号を伝送する。
【００１５】
マイクロコンピュータが読取り装置に送信した制御信号は、読取り装置の様々な回路で使用される。参照番号22は、これら各種制御信号を使用し、カードとの通信を操作する読取り装置の回路のほとんどをまとめて示している（例えば、マイクロコンピュータが与える指令に基づき、RSTおよびCTRL接点に向けられる信号の発生、接点CLKに向けられるカードに対してクロック信号の伝送を可能にする信号CLK-ENの発生、カードへの電源電圧の伝送を許可する信号VCC-ENの発生）。
【００１６】
読取り装置とのパラレル通信バス上で、読取り装置がマイクロコンピュータに送った信号も見いだすことができ、このようにして、読取り装置の内部状態についての情報をマイクロコンピュータに提供する。これらの信号は、バス21に接続された状態レジスタ24において、マイクロコンピュータが読取ることができる。状態レジスタ24からの情報のいくつかは、バス21の特定のコンダクタを通じて移動することができる。この特定のコンダクタは、データコンダクタそのものとは異なるコンダクタで、例えば、交換が正常に行われているかどうかを示す全体情報ビットの供給のために備えておくことができる。状態レジスタに含まれるさらに詳細な情報は、データ要素用に備えられたコンダクタを通じて移動し、マイクロコンピュータによるレジスタ24の呼びかけ信号にのみ基づいて与えられる。
【００１７】
読取り装置の状態に関する情報には、特に、後述するように、読取り装置におけるカードの存在に関する情報、バッファメモリにおけるデータの存在に関する情報、ならびに、伝送エラー（交換データのパリティ・エラーまたは停止エラー）に関する情報が含まれる。
【００１８】
実際には、読取り装置へのチップカードの挿入によって作動する単純なスイッチであるカード存在検知器26は、信号CARD-INを状態レジスタに送って、カードの存在を知らせる。
【００１９】
マイクロコンピュータとカード間のデータ要素の交換のために、後に詳しく説明する下記の主要操作が、読取り装置によって実施される：データメモリ中へのパラレル形式でのデータの一時記憶；カードが用いている論理規則の検出と使用；チップカードに書込まれたデータのためのパラレル−シリアル変換、およびカードで読取られたデータのためのパラレル−シリアル変換。
【００２０】
カードと読取り装置間のデータ交換は、読取り装置の単一I/O接点を通じて、２方向シリアルリンクによって行われる。２方向バッファ増幅器28は、２線／１線コンバータとも呼ばれ、読取り装置に入るデータと、そこから出るデータの分離を行う。カードでシリアルに読取られるデータは、I/O接点からバッファ増幅器28に移動し、読取り装置の入力データチャネルを通じて送られる。これは、入力チャネル上の増幅器28の下流側に配置されたパラレル−シリアルコンバータ30においてパラレルデータに変換される。後に説明するように、シリアル−パラレルコンバータは、「ビット時間」と呼ばれる標本化周期で、読取ったデータ要素を標本化する。ビット時間は、明らかに、カードによるシリアルデータ伝送の周期に対応しなければならない。この時間は、接点CLKによってカードに伝送された読取り装置の内部基準クロックの周期の倍数である。
【００２１】
次に、シリアル−パラレルコンバータ30は、バス21上のパラレル状態のカードによって与えられる連続データ要素を出力する。カードが与えたデータ要素がＮ個（一般に12）のビットを有する場合には、データは、Ｎビット時間の終了時点で、コンバータ30の出力において得ることができる。典型的には、カードが与えたデータ要素は、１つの出力ビット（「開始」ビット）が先行し、１つのパリティ・ビットと２つの停止ビットが続く８つの有効ビットを持つ。これについては、チップカードシステム用の規格（特にISO7816-3規格）に詳しく指定されているため、これ以上詳しく述べる必要はない。実際、パリティ・ビットまたは停止ビットにエラーがあった場合、これは、送信が不完全であり、有効なデータ要素が間違っている可能性があることを意味する。パリティ・エラーの場合には、カードによるデータの再送信を実施する必要があり、マイクロコンピュータの干渉なしに、このエラー検出、ならびに、それに続かなければならない再送信を直接管理するのは読取り装置である。停止エラーの場合には、カードに再送信要求は送られないが、状態レジスタ24によって、マイクロコンピュータにエラー情報が通信される。
【００２２】
パリティ・エラー検出回路32は、カードの有効データを伝送するパラレルバス21に接続されたブロックとして図２に示した。しかし、パリティ・エラー検出回路は、増幅器28から来るシリアルデータで直接作動することができ、すなわち、回路32は、直接−パラレルコンバータ30の上流側に接続されることが理解される。この検出回路32は、受信した有効データの８ビットに対応するパリティ・ビットを計算する。この回路は、計算結果を、カードから受信したデータ要素の10番目のビットと比較する。というのは、この第10ビットは、カードによって計算され、送られたパリティ・ビットだからである。回路32は、これら二つのビット間に同一性がない場合に、エラー信号を送り、データ再送信要求の回路34による送信を制御する。規格によれば、カードは、この種の指令を受信してもよく、前記と同じデータ要素を再送信する、すなわち、カードは、以前のデータ要素を取出したメモリアドレスを増加しないと規定されている。さらに、パリティ・エラーは状態レジスタ24に報告される。
【００２３】
再送信指令を作動する回路34が、読取り装置の内部回路であって、再送信操作は、マイクロコンピュータによって管理されないが、読取り装置は、この状態を管理するためのマイクロプロセッサをまったく備えていないことに留意すべきである。従って、回路34は、カードによって再送信要求として解釈されるパラレルデータ要素を自動的に送るためのワイヤード（配線）レジスタである。
【００２４】
停止エラー検出回路36は、送信されたデータの11番目および12番目のビットが、期待値（例えば、２つの停止ビットは１）に等しいことを確認し、等しくなかった場合には、エラー情報要素を状態レジスタ24に向けて送る。このエラー情報要素は、マイクロコンピュータに送られる。
【００２５】
カードが用いる論理規則の検出回路38は、カードが送るデータ要素をコード化するためにカードが使用する高・低ポテンシャル状態の意味を解明する目的で使用される。従って、論理規則は、高ポテンシャル状態が論理１または０のいずれを表すかを指定する。
【００２６】
規則は、カードに記憶されたデータ要素に固有であり、カードから受取ったデータ要素を解釈するためには、読取り装置が、この規則を識別できなくてはならない。規則は、カードを読取り装置中で作動させたとき、カード自体によって示されるが、これは次のようにして行われる：読取り装置がリセット信号に対する返答要求をカードに送り、リセット信号に対してカードは使用するプロトコルに関する情報を与えるために応答しなければならない。カードが、規則を含む返答を送り、読取り装置が、その規則を検出する。さらに具体的には、マイクロコンピュータの指令に応じて読取り装置の回路22および24が送ったリセット信号は、接点VCCおよびGND間の電源電圧の送信、次にクロック信号CLKの送信、ならびに、デフォルトで高レベルにあった接点RSTの状態変化で構成されるものでもよい。これがリセット命令であり、ISO7816規格に従うあらゆるチップカードの動作プロトコルは、カードに、データの一部の送信による応答（これが「リセットに対する返答」である）を強制する。カードによって送り返されたデータは、カードの種類およびその読取り装置との通信に関する８つの有効情報ビットを有する。これら８つのビットのうち、第４ビットが、カードによって使用される順または逆規則を定める。回路38は、この第４ビットを観察し、有効データをそのままマイクロコンピュータに通すか、あるいは、それを逆転させる。
【００２７】
パリティ・エラー検出回路および停止エラー検出回路の場合と同様に、規則検出回路38は、パラレルバス21に接続した状態で図示したが、シリアル／パラレルコンバータ30の上流側に接続することもできる。この場合には、これを同期およびビット時間カウント回路によって制御し、リセットに対する返答における第４有効データビットを直接識別できるようにしなければならない。次に、シリアル／パラレルコンバータ30を直接制御して、逆規則の場合には、逆転データを与えるようにする。回路32および36は、シリアル／パラレルコンバータの上流側に配置させ、このコンバータが、カードが送信した12ビットではなく、バス21上のカードのデータ要素の８つの有効ビットのみを与えるようにしなければならない。
【００２８】
リセットに対する返答は、逆規則を使用する必要があることを示すと同時に、カードへの書込み過程も、無論この規則を考慮にいれる必要があることを示すことに留意されたい。カード書込み規則の管理のための回路40は、回路38によって与えられた指示、あるいは、状態レジスタ24が検出された規則を含む場合には、このレジスタ24によって与えらえた指示に応じて、この変換を実施する。
【００２９】
カードによって送られたデータ部分は、パラレルに配置され、検出回路32および36によって確認されるが、直ちにバッファメモリ42中に転送される。転送速度は、読取り装置とカード間の伝送プロトコルによって命令された速度である。カードから受取った情報の実時間標本化を実施するのに、マイクロコンピュータの能力に頼ることはない。読取り装置とカード間の交換は、非常に高速で行うことができ、バッファメモリ中のデータは、マイクロコンピュータによって、別のタスクを実施中に、低速で読み取ることができる。データをメモリとカード間に転送しなければならない場合には、メモリ42の動作は、ビット時間同期信号（これについては、後に述べる）の速度でシーケンサによって制御される。図２では、このシーケンサは、メモリ42の一部を成すと考えられている。しかし、メモリとマイクロコンピュータ間のデータ転送は、マイクロコンピュータの速度で、マイクロコンピュータ自体によって制御される。従って、データの読取りおよび書込みの両方で、２つの交換の間に非同期性が生じる。
【００３０】
マイクロコンピュータがカードに書込むことができるデータ部分は、カードで読取ったデータ同じバス21を介して移動し、バッファメモリ42に記憶される。
【００３１】
バッファメモリからカードに送られたデータ部分は、すでに説明したように、規則管理回路40を通過する。次に、これらは、パリティ管理回路44中に入り、この回路44が、８つの有効データビットの個々の値に応じてパリティ値を計算し、このパリティ値を第10位のビットに割り当てる（カードに包括的に送信されたデータは、所与の順序で下記を含む：１つの開始ビット８つの有効ビット、１つのパリティ・ビットと２つの停止ビットことを思い出されたい）。
【００３２】
停止および開始ビットは、パラレル−シリアル変換後を含む送信中のあらゆる時点で導入することができる。これらは、マイクロコンピュータによって与えてもよい。
【００３３】
バッファメモリ42からカードに送信すべきデータは、次に、パラレル−シリアルコンバータ46を通過する。ここから、データは２方向バッファ増幅器28に送られ、この増幅器28が、チップカードに接続されたI/C接点にデータを与える。
【００３４】
読取り装置の操作の順序付けは、第１に、接点CLKでカードに与えられる基準クロック48によって、第２に、後に説明するように、ビット時間同期信号によって実施される。この同期信号の周期は、基準クロック周期の倍数であり、増倍率は可変的で、マイクロコンピュータによって直接決定される。クロックの周波数は、例えば、５MHzでよい。
【００３５】
基準クロック信号は、プログラム可能な周波数分割器50に与えられ、分割器50は、その出力で、マイクロコンピュータが与えたディジタル信号SEL-VALにより定められる数によって分割される周波数を与える。この信号SEL-VALは、分割比を直接表すか、あるいは、予め定めたいくつかの比のうちの一つを特定するコードを表すかのいずれかである。いずれの場合でも、信号SEL-VALは、制御可能な分割比を伴う分割器の制御信号を構成する。
【００３６】
分割器の出力は、周期がビット時間である信号である。この信号は、同期信号の作成回路52中で整形・カウントされ、周期が所望のビット時間を表し、そのカウントが、データ送信の開始から受け取ったビットの順位を表す同期信号を提供する。同期信号が、互いにずれている場合もある：例えば、カード中の書込みチャネルに使用される信号は、読取りチャネルに使用される信号に対して若干ずれる可能性がある。
【００３７】
これらの同期信号は、特に、変換が、カードからまたはカードへのデータ伝送と同期して行われるように、パラレル−シリアルおよびシリアル−パラレルコンバータを操作するために使用される。コンバータ用の信号は、周期がビット時間に等しい信号だけではなく、カードと読取り装置間で伝送されるデータ部分が12ビットを含む場合には、12までのビット時間をカウントする信号も含まれる。各種有効信号を与えるのは、同期およびカウント回路52である。
【００３８】
カードは、読取り装置のクロックを使用し、クロック周波数の特定倍数でビット時間を設定するプロトコルと共に作動する。デフォルトでは、ビット時間は、372クロック・サイクルに等しいが、これより高速のプロトコル（31サイクルで）が現在作成中であり、超高速（２ビット）プロトコルが開発されるのも夢ではない。マイクロコンピュータは、値SEL-VALを与えて、カードのビット時間に対応するビット時間を読取り装置に課す。同期信号、あるいは、読取り装置が作成する信号は、さらに、読取り装置の内部回路だけではなく、通信ポートにこの目的で備えられたコンダクタでマイクロコンピュータにも伝送することができる。
【００３９】
同期信号は、読取り装置の他の回路、例えば、自動再送信要求回路34にも与えられる。実際に、この回路は、プロトコルに対応するビット時間を有し、再送信の順序を表す一連のビットを生成しなければならない。
【００４０】
回路の起動を確実にするために、デフォルトで372クロック周期の長いビット時間を伴うプロトコルを課すことによって、マイクロコンピュータが、カードのプロトコルを検出し、読取り装置に、後の交換で使用することになるビット時間を課す前に、前記のビット時間で送られたリセットに対する返答を標本化できるようにすることに留意されたい。
【００４１】
ディジタル値SEL-VALは、分割器50の制御入力における揮発性状態レジスタに記憶されている。
【００４２】
本発明の態様で重要なのは、特定の読取り回路（特に、読取り装置の操作を実施する制御信号を作成する回路22内）が、操作の設定中（またはカード設定に対する返答後）に、マイクロコンピュータによって直接ロードされるランダムアクセスメモリレジスタを含んでもよいことである。特に信号SEL-VALは、このタイプのレジスタにロードされ、交換操作の間、マイクロコンピュータによって送られる次のビット時間変更指令の受信まで保存される。
【図面の簡単な説明】
【図１】  本発明のカード読取り装置の使用状態を示す該略図である。
【図２】  本発明によるカード読取り装置のブロック図である。
【符号の説明】
10      カード読取り装置
20      コネクタ
21      バス
22      制御信号発生器
30シリアル−パラレルコンバータ
32      パリティーエラー検出回路
36      停止エラー検出回路
【図１】
0004224834.tif 000002
【図２】
0004224834.tif 000003