(57)【特許請求の範囲】
【請求項１】
ＵＳＢダウンストリーム信号ＤＰおよびＤＭを用いてデバイス内でローカルクロック信号を生成するための方法であって、
ａ）前記ＵＳＢダウンストリーム差分信号ＤＰおよびＤＭを受信し、前記ＵＳＢダウンストリーム信号からダウンストリームビットシリアル信号を生成すること、
ｂ）受信された前記ダウンストリームビットシリアル信号の既知のビット周期数Ｓに含まれる自走高周波クロック信号のサイクル数Ｒをカウントすること、
ｃ）前記自走高周波クロック信号のカウントされたサイクル数Ｒを受信された前記ダウンストリームビットシリアル信号の既知のビット周期数Ｓで除算し、受信された前記ダウンストリームビットシリアル信号の単一ビット周期内に含まれる自走高周波クロックサイクルの数Ｔを決定すること、および
ｄ）前記自走高周波クロックサイクルの数Ｔと等しい周期を有するローカルクロック信号を生成することを含む方法。
【請求項２】
前記ローカルクロック信号を生成するステップは、
ａ）前記自走高周波クロックサイクルの数Ｔをカウントし、前記ローカルクロック信号の周期を生成すること、および
ｂ）受信された前記ダウンストリームビットシリアル信号内にデータトグリング（ｄａｔａ  ｔｏｇｇｌｉｎｇ）が存在する場合には、前記カウントステップを初期化し、生成された前記ローカルクロックと受信された前記ダウンストリームビットシリアル信号とを同位相に固定することを含む請求項１に記載の方法。
【請求項３】
前記ローカルクロック信号を生成するステップは、既知の受信されたダウンストリームビットシリアルパターンが認識されると、前記ローカルクロック信号の周期を更新することをさらに含む請求項１に記載の方法。
【請求項４】
受信された前記ダウンストリームビットシリアル信号の既知のビット周期数Ｓが８である請求項１に記載の方法。
【請求項５】
リング発振器を用いて前記自走高周波クロック信号を生成することをさらに含む請求項１に記載の方法。
【請求項６】
前記リング発振器を用いて自走高周波クロック信号を生成するステップは、前記自走高周波クロック信号の周期を有し、位相が３６０°／ＶだけシフトされたＶ個の偶数の信号を生成することをさらに含む請求項５に記載の方法。
【請求項７】
前記Ｖ個の偶数の信号が８個である請求項６に記載の方法。
【請求項８】
前記方法が、集積回路モジュール内で実現される請求項１に記載の方法。
【請求項９】
前記集積回路モジュールが、スマートカード上に配置されている請求項８に記載の方法。
【請求項１０】
前記ローカルクロック信号が、ビットスタッフィングを用いることによって、前記ダウンストリームビットシリアル信号の少なくとも７ビットおきの周期で前記ダウンストリームビットシリアル信号と同位相に固定される請求項１に記載の方法。
【請求項１１】
前記カウントは、前記ダウンストリームビットシリアル信号がＵＳＢトークンパケットおよびデータパケットのシンクバイト（Ｓｙｎｃ  ｂｙｔｅ）およびＰＩＤバイトを含んでいる期間に実施される請求項１に記載の方法。
【請求項１２】
既知の受信された前記ダウンストリームビットシリアルパターンは、ＵＳＢトークンパケットおよびデータパケットのシンクバイト（Ｓｙｎｃ  ｂｙｔｅ）およびＰＩＤバイト内にある請求項３に記載の方法。
【請求項１３】
Ｔが所定の制限内にあるかどうかを決定するステップをさらに含む請求項１に記載の方法。
【請求項１４】
前記ローカルクロック信号は、ＵＳＢ受信されたダウンストリームシリアルビットデータをサンプリングし、ＵＳＢ送信されたアップストリームシリアルビットデータのタイミングを取るために用いられる請求項１に記載の方法。
【請求項１５】
ＵＳＢダウンストリーム信号ＤＰおよびＤＭを用いてローカルクロック信号を生成するための回路を含むデバイスであって、
ａ）前記ＵＳＢダウンストリーム差分信号ＤＰおよびＤＭを受信し、前記ＵＳＢダウンストリーム信号からダウンストリームビットシリアル信号を生成する手段と、
ｂ）受信された前記ダウンストリームビットシリアル信号の既知のビット周期数Ｓに含まれる自走高周波クロック信号のサイクル数Ｒをカウントする手段と、
ｃ）前記自走高周波クロック信号のカウントされたサイクル数Ｒを受信された前記ダウンストリームビットシリアル信号の既知のビット周期数Ｓで除算し、受信された前記ダウンストリームビットシリアル信号の単一ビット周期内に含まれる前記自走高周波クロックサイクルの数Ｔを決定する手段と、
ｄ）前記自走高周波クロックサイクルの数Ｔと等しい周期を有するローカルクロック信号を生成する手段とを有するデバイス。
【請求項１６】
前記ローカルクロック信号を生成する手段は、
ａ）前記自走高周波クロックサイクルの数Ｔをカウントし、前記ローカルクロック信号の周期を生成する手段と、
ｂ）受信された前記ダウンストリームビットシリアル信号内にデータトグリング（ｄａｔａ  ｔｏｇｇｌｉｎｇ）が存在する場合には、前記カウントステップを初期化し、生成された前記ローカルクロックと受信された前記ダウンストリームビットシリアル信号とを同位相に固定する手段とを有する請求項１５に記載のデバイス。
【請求項１７】
前記ローカルクロック信号を生成する手段は、既知の受信されたダウンストリームビットシリアルパターンが認識されると、前記ローカルクロック信号の周期を更新する手段をさらに有する請求項１５に記載のデバイス。
【請求項１８】
受信された前記ダウンストリームビットシリアル信号の既知のビット周期数Ｓが８である請求項１５に記載のデバイス。
【請求項１９】
前記自走高周波クロック信号を生成する手段は、リング発振器である請求項１５に記載のデバイス。
【請求項２０】
前記リング発振器を用いて自走高周波クロック信号を生成する手段は、前記自走高周波クロック信号の周期を有し、位相が３６０°／ＶだけシフトされたＶ個の偶数の信号を生成する手段をさらに有する請求項１９に記載のデバイス。
【請求項２１】
前記Ｖ個の偶数の信号が８個である請求項２０に記載のデバイス。
【請求項２２】
前記回路が、集積回路モジュール内で実現される請求項１５に記載のデバイス。
【請求項２３】
前記集積回路モジュールが、スマートカード上に配置されている請求項２２に記載のデバイス。
【請求項２４】
前記ローカルクロック信号が、ビットスタッフィング
を用いることによって、前記ダウンストリームビットシリアル信号の少なくとも７ビットおきの周期で前記ダウンストリームビットシリアル信号と同位相に固定される請求項１５に記載のデバイス。
【請求項２５】
前記カウントする手段は、前記ダウンストリームビットシリアル信号が、ＵＳＢトークンパケットおよびデータパケットのシンクバイトおよびＰＩＤセットアップバイトを含んでいる期間に実施される請求項１５に記載のデバイス。
【請求項２６】
前記既知の受信された前記ダウンストリームビットシリアルパターンは、ＵＳＢトークンパケットおよびデータパケットのシンクバイト（Ｓｙｎｃ  ｂｙｔｅ）およびＰＩＤバイト内である請求項１７に記載のデバイス。
【請求項２７】
Ｔが所定の制限内にあるかどうかを決定する手段をさらに有する請求項１５に記載のデバイス。
【請求項２８】
前記ローカルクロック信号は、ＵＳＢ受信ダウンストリームシリアルビットデータをサンプリングし、ＵＳＢ送信されたアップストリームシリアルビットデータのタイミングを取るために用いられる請求項１５に記載のデバイス。
【請求項２９】
ＵＳＢダウンストリーム信号ＤＰおよびＤＭを用いてローカルクロック信号を生成するための回路を含むデバイスであって、
ａ）前記ＵＳＢダウンストリーム差分信号ＤＰおよびＤＭを受信し、前記ＵＳＢダウンストリーム信号からダウンストリームビットシリアル信号を生成するための差分受信機と、
ｂ）受信された前記ダウンストリームビットシリアル信号の既知のビット周期数Ｓに含まれる自走高周波クロック信号のサイクル数Ｒをカウントするためのビットシリアル信号に接続された第１のカウンタと、
ｃ）前記自走高周波クロック信号のカウントされたサイクル数Ｒを受信された前記ダウンストリームビットシリアル信号の既知のビット周期数Ｓで除算し、受信された前記ダウンストリームビットシリアル信号の単一ビット周期内に含まれる自走高周波クロックサイクルの数Ｔを決定するための除算回路と、
ｄ）前記自走高周波クロックサイクルの数Ｔと等しい周期を有するローカルクロック信号を生成するための第２のカウンタとを有するデバイス。
【請求項３０】
前記第２のカウンタは、受信された前記ダウンストリームビットシリアル信号内におけるデータトグリング（ｄａｔａ  ｔｏｇｇｌｉｎｇ）によって初期化される請求項２９に記載のデバイス。
【請求項３１】
前記自走高周波クロック信号は、８位相リング発振器によって生成される請求項２９に記載のデバイス。
【請求項３２】
前記第１のカウンタは、前記ダウンストリームビットシリアル信号が、ＵＳＢトークンパケットおよびデータパケットのシンクバイトおよびＰＩＤバイトを含んでいる期間に使用可能になる請求項２９に記載のデバイス。
【発明の詳細な説明】
【０００１】
本発明は、一般に、商品およびサービスを伴うトランザクションを処理するために用いられる集積回路（ＩＣ）カードまたはスマートカードに関する。スマートカードは、カードの前側に設けられた電気接触部に接続するマイクロプロセッサおよびメモリ回路が前側または後側に取付けられたプラスチックカードである。電気接触部に接続する読取りデバイスにカードを挿入することによって、回路は作動され、データはアクセスされる。特に、本発明は、異なるインタフェース特性を有するスマートカード読取りデバイスにスマートカードを接続するためのデバイスおよび方法に関する。さらに、本発明は、外部から与えられる信号によって同期をとられる内部クロック信号を生成するための新規の方法およびデバイスに関する。
【０００２】
スマートカードは、データカードの部類に入る。トランザクションを処理するために用いられるデータカードは、本質的に、パッシブ型またはアクティブ型のいずれかである。パッシブ型データカードには、カードの後部にある磁気片に格納されたデータを用いる従来のクレジット、デビットおよびＡＴＭカードが含まれる。パッシブ型データカードを用いてトランザクションが処理されると、一般に、電話ネットワーク上のリモートコンピュータに接続された読取りデバイスを介して、トランザクションの確認が要求される。トランザクションの間、磁気片に対してデータの書込みおよび読出しが行われ得る。アクティブ型データカードまたはスマートカードは、カードに埋め込まれたプロセッサおよびメモリ回路を用いる。このプロセッサおよびメモリ回路は、カードが読取りデバイスに接続されると作動される。スマートカードは、トランザクションを完了するために必要なインテリジェンスを含み得るため、トランザクションは、リモートトランザクション確認機能への電話接続に頼らず、ローカルに完了され得る。身分証明番号および残高などの所有者の口座に関するデータの格納に加えて、回路はまた、安全のための暗号化を含む。スマートカードは、移動電話用グローバルシステム（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ：ＧＳＭ）における加入者識別モジュール（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｍｏｄｕｌｅ：ＳＩＭ）、ＴＶ人工衛星受信機、銀行業務、健康管理プログラム、駐車および高速道路使用料支払い等を含む多くの用途に用いられる。スマートカードは、さらに広範囲な用途に用いられ、最終的には、磁気片型データカードに取って代わることが期待される。
【０００３】
基本的なスマートカード規格は、国際規格ＩＳＯ７８１６である。これは、接触部に対するＩＣカードの物理的、電気的、機械的およびアプリケーションプログラミングインタフェースに関する詳細な要件を提供している。特に、国際規格ＩＳＯ７８１６−１（物理特性）、国際規格７８１６−２（接触部の寸法およびロケーション）、および国際規格７８１６−３（電子信号および送信プロトコル）を本明細書では参考のために援用する。この規格は、スマートカードへのシリアルインタフェース接続を提供している。大抵の場合、これらのカードは、コンピュータに接続された読取り装置において用いられる。読取り装置は、カードとコンピュータとの通信を可能にする電子回路を含む。読取り装置は、コンピュータ上のシリアルまたはパラレルポートによってコンピュータに接続されている。
【０００４】
ユニバーサルシリアルバス（ＵＳＢ）は、近年、着実に確立され、パーソナルコンピュータ（ＰＣ）市場において広範囲に受け入れられている。ＵＳＢは、「プラグ・アンド・プレイ」の概念をＰＣの外部デバイスにまで拡張させ、ユーザがＰＣケースを開いたりまたはＰＣからの電力を除去したりする必要なく外部周辺デバイスを設置および除去することができるようにする標準的なインタフェースに対する需要に応答して開発された。ＵＳＢは、簡単に使用でき、容易も拡張できる低コストの半二重シリアルインタフェースを提供する。ＵＳＢはまた、５ボルトで５００ｍＡまでの電流を相互接続されたデバイスに供給する。ＵＳＢは、現在、ＵＳＢ仕様を開発した会社のグループで設立された非営利組織であるＵＳＢインプルメンテーションフォーラムによって書かれおよび制御されるユニバーサルシリアルバス仕様によって規定されている。特に、第５章（ＵＳＢデータフローモデル）、第７章（電気）、および第８章（ユニバーサルシリアルバス仕様のプロトコル層）を本明細書では参考のために援用する。ＵＳＢがコンピュータにおいてますます広範囲に用いられるようになったため、スマートカード読取り装置の製造者は、その製品をコンピュータに接続し、現存のシリアルおよびパラレルインタフェースを実現するためのＵＳＢインタフェースを開発するに至った。しかし、ＩＳＯ７８１６によって規定されているシリアルインタフェースと、ＵＳＢ仕様によって規定されているシリアルインタフェースとの差によって、スマートカードは、ＵＳＢ仕様とは直接互換性がなかった。様々なコンピュータインタフェース規格の間の非互換性制約のために、異なるカード読取り構成が必要であった。
【０００５】
ＵＳＢ仕様バージョン１．１は、２つの論理データ転送速度レートを規定している。１秒当たり１．５メガビットの低速度および１秒当たり１２メガビットの最高速度が提供されている。１秒当たり４８０メガビットより大きい高速データ転送レートは、映像または大容量格納などの高いデータスループットアプリケーション用として期待されている。本発明は、好ましくは、パケットトランザクションの低速実現を用いる。異なるオーバーヘッドおよびプロトコルを考慮すると、効果的なＵＳＢ低速データレートは、得られる帯域幅によって、１秒当たり５０キロビットと１秒当たり４００キロビットとの間で変化する。このデータレートは、ＩＳＯ７８１６規格を用いて成し遂げられるデータレートよりも優れている。データレートがより高いと、スマートカードのカスタマイズ時間が減少し、可能な用途が増加する。
【０００６】
ハブは、ＵＳＢ取付け点を提供する。取付け点は、ポートと呼ばれる。ホストは、１つまたはそれ以上の取付け点を提供するルートハブと呼ばれる埋め込みハブを有する。ＵＳＢデバイスは、ホストにさらなる機能を提供し、任意のハブのポートの１つに接続されている。ＰＣに組み込まれたホストは、ＵＳＢを制御する。各デバイスは、マスタースレーブ関係で反応する。すべてのトランザクションは、ホストのリクエストによって開始する。ＵＳＢは、専用のクロック信号線を持たない。各ハブおよび各ＵＳＢデバイスは、それ自体の基準クロックを有する。ハブは低速および最高速データ信号レートを共に支持する。ハブクロック生成器は、水晶を用いて、最高速トランザクションに必要な±０．２５％のタイミング精度を提供する。±１．５％の低速デバイスクロック生成器の許容誤差は、より安価な共振器の使用に匹敵する。ダウンストリームおよびアップストリームのすべてのＵＳＢトランザクションは、デバイスおよびハブクロックを同位相に固定することが可能な同期パターン（ＳＰ）信号で開始する。スペースの欠如および得られる接続ピンの限定により、水晶も共振器もＵＳＢ回路をスマートカード上でクロック制御するための実用的な解決にはならない。
【０００７】
上記の理由により、集積回路の外部に水晶、共振器または他の構成要素を用いずに、ＳＰおよびパケット識別子（ＰＩＤ）信号を用いてローカルクロックを生成する能力をスマートカードに提供することが求められている。電子回路を挿入する必要なく、ＵＳＢポートにスマートカードを接続することがさらに求められている。
要旨
本発明は、スマートカードまたは読取り装置にさらに複雑なものを加えず、ＵＳＢ仕様によって規定されるシリアルインタフェースを支持する能力をスマートカードに提供するためのデバイスおよび方法に関する。
【０００８】
本発明はまた、水晶または共振器を必要とせず、ＵＳＢ信号と同期をとられたＵＳＢデバイスクロック信号を生成するためのデバイスおよび方法に関する。さらに、本発明はまた、電子回路を挿入する必要なく簡単なコネクタを用いてスマートカードをＵＳＢポートに接続するためのデバイスおよび方法に関する。
【０００９】
本発明は、ＵＳＢポートとスマートカードとの物理的リンクに関する。本発明は、外部構成要素を用いずにＵＳＢ低速デバイスクロックを生成するための解決法を記載している。
【００１０】
ハブがスマートカード上の集積回路モジュール（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｍｏｄｕｌｅ：ＩＣＭ）に情報を送信すると、ＩＣＭは受信モードになる。これをダウンストリームトランザクションと呼ぶ。ＩＣＭがハブに情報を送信すると、ハブは受信モードになる。これをアップストリームトランザクションと呼ぶ。その他の通信組み合わせでは、ハブおよびＩＣＭは、共に受信モードになり、これにはアイドル状態が含まれる。データ送信中、ＤＰおよびＤＭ信号線は、ＤＰが「１」であるときＤＭが「０」になり、ＤＰが「０」であるときＤＭが「１」になるように差分信号を搬送する。ＤＰおよびＤＭ上の電圧スルーレートは、３．６ボルト／７５ナノ秒に限定される。これらの２つの特性によって、デバイスによる放射電磁妨害（ＥｌｅｃｔｒｏＭａｇｎｅｔｉｃ  Ｉｎｔｅｒｆｅｒｅｎｃｅ：ＥＭＩ）は最小限に抑えられる。
【００１１】
１つの送信機から次の送信機への通過は、以下の順序で発生する。電流送信機は、パケットの終端（ＥＯＰ）を報告し、ＵＳＢを１ビット期間だけＪ状態（ＤＭを「１」およびＤＰを「０」）に設定する。次に、ＤＭおよびＤＰ信号線は、浮遊状態になり、このとき、いずれの送信機もアクティブではなく、プルダウンおよびプルアップデバイスが、ＤＰおよびＤＭ信号線上の電圧を規定する。次の送信機がバスを１ビット期間だけＪ状態に設定すると、新しいＳＰ信号による新しい送信が開始される。
【００１２】
ホストリクエストは、ＳＰに次いでＰＩＤで開始される。ＳＰおよびＰＩＤは、既知のビットパターンを送信する。ＳＰ信号は、デバイスまたはハブ受信クロックを送信クロックと同位相に固定するために、ダウンストリームおよびアップストリームトランザクションで用いられる。ＰＩＤ信号は、パケットを識別するためにダウンストリームおよびアップストリームトランザクションで用いられる。入力が信号ＤＰおよびＤＭに接続されている差分受信機は、ＲＸＤ信号を整形する。
【００１３】
本発明は、ハブによって送信されるダウンストリームＳＰおよびＰＩＤ信号を用いて１．５ＭＨｚの通常周波数および±１．５％より大きい精度を有するデバイスクロック信号ＣＬＫｌＸを生成し、同時に、デバイスクロック信号ＣＬＫｌＸをダウンストリームＲＸＤ信号と同位相に固定する。
【００１４】
デバイス内に含まれる本発明は、自走クロック信号ＣＬＫＯＳＣを有する。ＣＬＫＯＳＣ信号の周期は、±３０％以内であることが知られているが、短期間（１ミリ秒）にわたって０．１％より大きい安定性を有する。本発明を組み込むデバイスによって受信される第１のダウンストリームトークンパケットは、ＣＬＫＯＳＣ信号を用いて、±１．５％を上回ってＣＬＫｌＸ信号周期を較正し、ＣＬＫｌＸ信号をダウンストリーム受信された信号ＲＸＤと同位相に固定する。較正が完了すると、本発明を組み込むデバイスは、データを送受信することが可能になる。本発明を含むデバイスによって受信されるダウンストリームＳＰおよびＰＩＤは、１つおきに、デバイスクロック信号周期およびその位相に対して新しい較正手法を開始し、さらに、ＳＰおよびＰＩＤの外部で受信されたダウンストリームデータトグル信号は、１つおきに、デバイスクロック信号ＣＬＫｌＸの位相の同期を再びとる。これにより、初期の誤差、温度に対する感度、およびＣＬＫＯＳＣの長期のドリフトが補償される。
【００１５】
本発明の特徴を有する方法は、ＵＳＢダウンストリーム信号ＤＰおよびＤＭを用いてデバイス内でローカルクロック信号を生成するための方法であって、ＵＳＢダウンストリーム差分信号ＤＰおよびＤＭを受信し、ＵＳＢダウンストリーム信号からダウンストリームビットシリアル信号を生成すること、受信されたダウンストリームビットシリアル信号の既知のビット周期数Ｓに含まれる自走高周波クロック信号のサイクル数Ｒをカウントすること、自走高周波クロック信号のカウントされたサイクル数Ｒを受信されたダウンストリームビットシリアル信号の既知のビット周期数Ｓで除算し、受信されたダウンストリームビットシリアル信号の単一ビット周期内に含まれる自走高周波クロックサイクルの数Ｔを決定すること、および自走高周波クロックサイクルの数Ｔと等しい周期を有するローカルクロック信号を生成することを包含する方法を含む。ローカルクロック信号を生成するステップは、自走高周波クロックサイクルの数Ｔをカウントし、ローカルクロック信号の周期を生成こと、および受信されたダウンストリームビットシリアル信号内にデータトグリング（ｄａｔａ  ｔｏｇｇｌｉｎｇ）が存在する場合には、カウントステップを初期化し、生成されたローカルクロックと受信されたダウンストリームビットシリアル信号とを同位相に固定することを含んでいてもよい。ローカルクロック信号を生成するステップは、既知の受信されたダウンストリームビットシリアルパターンが認識されると、ローカルクロック信号の周期を更新することをさらに含んでいてもよい。受信されたダウンストリームビットシリアル信号の既知のビット周期数Ｓは、８であってもよい。方法は、リング発振器を用いて自走高周波クロック信号を生成することをさらに含んでいてもよい。リング発振器を用いて自走高周波クロック信号を生成するステップは、自走高周波クロック信号の周期を有し、位相が３６０°／Ｖだけシフトされた偶数個Ｖの信号を生成することをさらに含んでいてもよい。偶数個Ｖの信号は８個であってもよい。方法は、集積回路モジュール内で実現されてもよい。集積回路モジュールは、スマートカード上に配置されてもよい。ローカルクロック信号は、ビットスタッフィングを用いることによって、ダウンストリームビットシリアル信号の少なくとも７ビットおきの周期でダウンストリームビットシリアル信号と同位相に固定されてもよい。カウントステップは、ダウンストリームビットシリアル信号が、ＵＳＢトークンパケットおよびデータパケットのシンクバイトおよびＰＩＤセットアップバイトを含んでいる期間に行われてもよい。既知の受信されたダウンストリームビットシリアルパターンは、ＵＳＢトークンパケットおよびデータパケットのシンクバイト（Ｓｙｎｃ  ｂｙｔｅ）およびＰＩＤセットアップバイトを含んでいてもよい。方法は、Ｔが所定の制限内にあるかどうかを決定することをさらに含んでいてもよい。ローカルクロック信号は、ＵＳＢ受信されたダウンストリームシリアルビットデータをサンプリングし、ＵＳＢ送信されたアップストリームシリアルビットデータのタイミングを取るために用いられてもよい。
【００１６】
本発明の他の実施形態では、ＵＳＢダウンストリーム信号ＤＰおよびＤＭを用いてローカルクロック信号を生成するための回路を含むデバイスは、ＵＳＢダウンストリーム差分信号ＤＰおよびＤＭを受信し、ＵＳＢダウンストリーム信号からダウンストリームビットシリアル信号を生成する手段と、受信されたダウンストリームビットシリアル信号の既知のビット周期数Ｓに含まれる自走高周波クロック信号のサイクル数Ｒをカウントする手段と、自走高周波クロック信号のカウントされたサイクル数Ｒを受信されたダウンストリームビットシリアル信号の既知のビット周期数Ｓで除算し、受信されたダウンストリームビットシリアル信号の単一ビット周期内に含まれる自走高周波クロックサイクルの数Ｔを決定する手段と、自走高周波クロックサイクルの数Ｔと等しい周期を有するローカルクロック信号を生成する手段とを有する。ローカルクロック信号を生成する手段は、自走高周波クロックサイクルの数Ｔをカウントし、ローカルクロック信号の周期を生成する手段と、受信されたダウンストリームビットシリアル信号内にデータトグリング（ｄａｔａ  ｔｏｇｇｌｉｎｇ）が存在する場合には、カウントステップを初期化し、生成されたローカルクロックと受信されたダウンストリームビットシリアル信号とを同位相に固定する手段とを有していてもよい。ローカルクロック信号を生成する手段は、既知の受信されたダウンストリームビットシリアルパターンが認識されると、ローカルクロック信号の周期を更新する手段をさらに有していてもよい。受信されたダウンストリームビットシリアル信号の既知のビット周期数Ｓは、８であってもよい。自走高周波クロック信号を生成する手段は、リング発振器であってもよい。リング発振器を用いて自走高周波クロック信号を生成する手段は、自走高周波クロック信号の周期を有し、位相が３６０°／Ｖだけシフトされた偶数個Ｖの信号を生成する手段をさらに有していてもよい。偶数個Ｖの信号は８個であってもよい。回路は、集積回路モジュール内で実現されてもよい。集積回路モジュールは、スマートカード上に配置されてもよい。ローカルクロック信号は、ビットスタッフィングを用いることによって、ダウンストリームビットシリアル信号の少なくとも７ビットおきの周期でダウンストリームビットシリアル信号と同位相に固定されてもよい。カウント手段は、ダウンストリームビットシリアル信号が、ＵＳＢトークンパケットおよびデータパケットのシンクバイトおよびＰＩＤセットアップバイトを含んでいる期間に実施されてもよい。既知の受信されたダウンストリームビットシリアルパターンは、ＵＳＢトークンパケットおよびデータパケットのシンクバイト（Ｓｙｎｃ  ｂｙｔｅ）およびＰＩＤセットアップバイトを有していてもよい。回路は、Ｔが所定の制限内にあるかどうかを決定する手段をさらに有していてもよい。ローカルクロック信号は、ＵＳＢ受信ダウンストリームシリアルビットデータをサンプリングし、ＵＳＢ送信されたアップストリームシリアルビットデータのタイミングを取るために用いられてもよい。
【００１７】
本発明のさらに他の実施形態では、ユニバーサルシリアルバスダウンストリーム信号ＤＰおよびＤＭを用いてローカルクロック信号を生成するための回路を含むデバイスは、ＵＳＢダウンストリーム差分信号ＤＰおよびＤＭを受信し、ＵＳＢダウンストリーム信号からダウンストリームビットシリアル信号を生成するための差分受信機と、受信されたダウンストリームビットシリアル信号の既知のビット周期数Ｓに含まれる自走高周波クロック信号のサイクル数Ｒをカウントするためのビットシリアル信号に接続された第１のカウンタと、自走高周波クロック信号のカウントされたサイクル数Ｒを受信されたダウンストリームビットシリアル信号の既知のビット周期数Ｓで除算し、受信されたダウンストリームビットシリアル信号の単一ビット周期内に含まれる自走高周波クロックサイクルの数Ｔを決定するための除算回路と、自走高周波クロックサイクルの数Ｔと等しい周期を有するローカルクロック信号を生成するための第２のカウンタとを有する。第２のカウンタは、受信されたダウンストリームビットシリアル信号内におけるデータトグリング（ｄａｔａ  ｔｏｇｇｌｉｎｇ）によって初期化されてもよい。自走高周波クロック信号は、８位相リング発振器によって生成されてもよい。第１のカウンタは、ダウンストリームビットシリアル信号が、ＵＳＢトークンパケットおよびデータパケットのシンクバイトおよびＰＩＤセットアップバイトを含んでいる期間に使用可能になってもよい。
【００１８】
本発明の上記および他の特徴、態様ならびに利点は、以下の説明、添付の請求の範囲および添付の図面を参照することによって理解される。
詳細な説明
以下、図１を参照する。図１は、スマートカード１０の前面および側面図を示す。スマートカード１０は、国際規格ＩＳＯ７８１６の要件を満たしている。ＩＳＯ７０１６は、スマートカードに、国際規格ＩＳＯ７８１０に規定されているカード型ＩＤ−１の物理的特徴を満足するように要求している。カード１０は、ポリ塩化ビニル、ポリ塩化ビニル−酢酸ビニルまたは同様の材料で形成されている。スマートカード１０は、前面１１および後面１３を有する。スマートカード１０は、前面１１にオプションのエンボス領域１４を有し、後面１３にオプションの磁気片１２を有し得る。カード１０に取付けられたＩＣＭ２０に接続するために、４つずつ２列に配列された８つの電気接触部１５がスマートカード１０の前面１１に配置されている。図示される接触部１５は、可能な限り最小のサイズであり、カード１０の前面１１に示される位置に配置されなければならない。ＩＣＭ２０は、スマートカード１０の前面１１または後面１３のいずれかに設けられ得るが、本実施形態では、ＩＣＭ２０は、図示されるように、スマートカード１０の前面１１に配置されている。
【００１９】
図２を参照する。図２は、ＩＳＯ７８１６またはＵＳＢインタフェースのいずれかに接続するために用いられ得るＩＣＭ２０を示す。ＩＣＭは、基板２１上に配置された８つの電気接触部２２〜２９、および基板２１の接触部２２〜２９とは反対側に取付けられたＩＣ３０を有する。電気接触部２２〜２９は、互いに絶縁されている。ＩＣと接触部２２〜２９との電気接続は、ボンディングワイヤ１９を用いることによって成し遂げられる。基板２１の対向する側の電気接続は、導電バイアスを含む当該技術分野で一般的な任意の手段によって成し遂げられ得る。ＩＣ３０およびボンディングワイヤ１９は、通常、機械的および環境的な影響から保護するためにカプセル化されている。ＩＣＭ２０上の接触部２２〜２９は、供給電圧ＶＣＣ２２、リセット信号ＲＳＴ２３、クロック信号ＣＬＫ２４、ドライバプラス２５、接地ＧＮＤ２６、可変電圧ＶＰＰ２７、入力／出力信号Ｉ／Ｏ２８およびドライバマイナスＤＭ２９を有する。ＩＣＭ２０は、ＩＳＯおよびＵＳＢの用途に用いられるのに適している。
【００２０】
図３を参照する。図３は、ＩＣＭ２０に含まれるＩＣ３０のブロック図を示す。このＩＣ３０は、５つの構成要素を含む。中央処理ユニット（ＣＰＵ）３１は、メモリバンク３２に格納されるオペレーティングシステム（ＯＳ）コードを実行する。特定の実施形態では、ＲＯＭおよびＥＥＰＲＯＭメモリは、永久または一時データを格納するのに対して、ＲＡＭメモリは、一時データのみを格納している。ブロック３４は、一端のＤＰおよびＤＭ信号送信と、他端のデータおよびＣＰＵアドレスバスとの間のＵＳＢインタフェースである。ブロック３５は、ＲＳＴ、ＣＬＫおよびＩ／Ｏ信号送信と、他端のＣＰＵとの間のＩＳＯ７８１６シリアルインタフェースである。信号ＲＥＳＥＴＢ、ＲＸＤ、ＲＸＤＰおよびＲＸＤＭは、ＵＳＢクロック回復ブロック（ＵＣＲ）３３ならびにＶＲＥＦおよびＰＤＷＮＢに渡される。信号ＣＬＫｌＸは、ＵＳＢインタフェース３４に与えられる。ＵＣＲ３３は、本特許出願において説明される。
【００２１】
以下、図４を参照する。図４は、スマートカード読取り装置５０およびスマートカード１０を示す。スマートカードは、上述したＩＣＭ２０を含む。スマートカードは、カード読取り装置５０内のスロット５１に差し込まれる。スマートカード読取り装置は、カード読取り装置内に接続接触部を有する。この接触部は、ＩＣＭ接触部をケーブル５２およびコネクタ５３またはケーブル５２を通してコネクタ５３に接続するＩＳＯ７８１６インタフェース回路のいずれかに接続される。ＩＳＯ型スマート読取り装置では、コネクタ５３は、パラレルポートと適合し、ホストＰＣ４０のパラレルポート４１に接続される、ＲＳ２３２と適合し、ホストＰＣのシリアルポート４２に接続される。ＵＳＢ型スマートカード読取り装置では、コネクタ５３は、ＵＳＢに適合し、ホストＰＣ４０のＵＳＢハブポート４３等に接続される。ＩＳＯ型カード読取り装置では、アクティブ回路が必要である。ＵＳＢ型スマートカード読取り装置では、コネクタ５３は、ＵＳＢシリーズＡプラグコネクタであり、ＵＳＢシリーズＡレセプタクルが設けられたホストＰＣ４０のＵＳＢハブポート４３に接続される。ＵＳＢ型カード読取り装置では、アクティブ回路は必要ない。
【００２２】
以下、図５を参照する。図５は、ＩＣＭ２０とコネクタ５３との間に挿入されたＩＳＯ７８１６インタフェース回路５４を有するＩＳＯ７８１６型スマートカード読取り装置５０を示す。ＩＣＭ２０は、図４において物理的に示されるように、スマートカード１０上に配置されている。スマートカード読取り装置内の８つのコネクタピン５６は、ＩＣＭ２０の接触部２２〜２９に接続される。ケーブル５２は、ＩＳＯ型カード読取り装置５０と停止コネクタ５３との間で接続されている。停止コネクタ５３は、図４に示されるように、ホストＰＣまたはターミナルのポートに差し込まれ得る。コネクタ５３は、例えば、パラレルポート、ＲＳ−２３２シリアルポートまたはＵＳＢポートに接続され得る。ＩＣＭ２０がＩＳＯ７８１６インタフェース回路５４を有するカード読取り装置に接続されると、ＩＣＭ２０上の集積回路３０は、ＩＳＯモードのみで動作し、モジュール２０とコンピュータまたはターミナルとの間で挿入インタフェース回路５４を介してデータを転送する。ＩＳＯ７８１６インタフェース回路５４は、供給電圧接触部ＶＣＣ２２、接地接触部ＧＮＤ２６、リセット信号接触部ＲＳＴ２３、クロック信号接触部ＣＬＫ２４およびデータ入力／出力信号接触部Ｉ／Ｏ２８への接続を必要とする。ＩＳＯ７８１６型カード読取り装置は、通常、国際規格ＩＳＯ７８１６−３に規定されている電気信号および送信プロトコルに従って、これらの信号をＩＣＭ２０に提供する。信号接触部Ｉ／Ｏ２８上に存在するデータは、ＩＣＭ２０またはインタフェース回路５４によって生成される。Ｉ／Ｏ２８上のデータは、ＣＬＫ２４上の信号と同期をとられている。本発明の本実施形態では、スマートカードがＩＳＯ７８１６インタフェースに接続されると、接触部ＤＰ２５、接触部ＶＰＰ２７および接触部ＤＭ２９へは接続されない。ＩＳＯ型カード読取り装置５０は、ＲＳＴ信号２３およびＣＬＫ信号２４を生成する。ＩＳＯ型カード読取り装置５０は、挿入電子インタフェース回路５４によって、コンピュータをベースとしたカスタマーアプリケーションと、スマートカードとの間の通信を提供する。ＩＳＯモードでは、接触部Ｉ／Ｏ２８は、ＩＳＯ７８１６国際規格と適合可能である。ＩＳＯ型読取り装置５０は、コネクタ５３に、ＩＣＭ２０からのＩＳＯ７８１６信号をコンピュータインタフェース信号に変換するためのアクティブ回路を含んでいなければならないことに留意されたい。
【００２３】
以下、図６を参照する。図６は、図４に物理的に示されるように、スマートカード１０上に配置されたＩＣＭ２０と、ＵＳＢ型カード読取り装置５０との間のＵＳＢインタフェース接続を示す。スマートカード読取り装置内の８つのコネクタピン５６は、ＩＣＭ２０上の接触部２２〜２９に接続される。ＩＣＭ２０からの電気接続は、ケーブル５２を介してＵＳＢシリーズＡプラグコネクタ５３に搬送される。ＵＳＢシリーズＡプラグコネクタ５３で終止するＵＳＢケーブル５２が設けられたＵＳＢ型スマートカード読取り装置５０に挿入されたＵＳＢ適合スマートカード１０は、ＵＳＢスマートカードデバイス５５を構成する。ケーブル５２は、ＩＣＭ２０をコネクタ５３に接続するための４つのねじりのないワイヤを用いる。コネクタ５３は、図４に示されるように、シリーズＡレセプタクルが設けられたホストＰＣ４０ルートハブのＵＳＢポート４３か、または同じレセプタクルが設けられたハブのＵＳＢポートに直接差し込まれ得る。ハブは、ＩＣＭ２０上のＶＣＣ接触部２２に接続されたＶＢＵＳ電源、ＩＣＭ２０上のＧＮＤ２６に接続された接地接触部ＧＮＤ２６、ＩＣＭ２０上のＤＰ２５に接続されたドライバプラス信号ＤＰおよびＩＣＭ２０上のＤＭ２９に接続されたドライバマイナス信号ＤＭを提供する。ＵＳＢ型カード読取り装置は、通常、ＵＳＢ仕様に規定されている電気および送信プロトコルに従って、これらの信号をＩＣＭ２０に提供する。本発明の本実施形態では、スマートカードがＵＳＢインタフェースに接続されると、接触部ＲＳＴ２３、接触部ＣＬＫ２４、接触部Ｉ／Ｏ２８および接触部ＶＰＰ２７には接続されない。本発明の本実施形態は、接触部ＤＰ２５および接触部ＤＭ２９を用いるが、ＩＳＯ７８１６規格では、これらの２つの接触部を将来用いるために保有しておく。
【００２４】
図７Ａおよび図７Ｂを参照する。図７Ａは、ＩＣＭ２０およびＩＣ３０を有するプラグモジュール７０を示す。図７Ｂは、プラグモジュール７０が挿入されたトークン読取り装置７２を示す。この型のプラグモジュール７０は、ＧＳＭ電話用に設計されたＳＩＭ用途に広範囲に用いられる。コネクタ５３は、図４に示されるように、シリーズＡレセプタクルが設けられたホストＰＣ４０ルートハブのＵＳＢポート４３または同じレセプタクルが設けられたハブのＵＳＢポートに直接差し込まれ得る。プラグモジュール７０およびトークン読取り装置７２に配置されたＩＣＭ２０の電気構成は、プラグコネクタ５３が、ケーブル５２ではなく、トークン読取り装置７２に取付けられている以外は、図６に示されるものと同じである。ＵＳＢシリーズＡプラグコネクタ５３によって終止されるＵＳＢ型スマートカード読取り装置７２に挿入されたＵＳＢ適合プラグモジュール７０は、ＵＳＢスマートカードデバイス５５を構成する。
【００２５】
以下、図８を参照する。図８は、ＤＰおよびＤＭ信号線にわたってＵＳＢトランザクションを開始するＵＳＢ制御転送のセットアップフェーズ８０を示す。ＵＳＢプロトコルは、ＰＣまたはハブによって開始される半二重プロトコルである。デバイスは、ＰＣまたはハブからのリクエストに応答する。シリアルリンクの両端にある差分線ドライバは、シリアルリンクにわたってデータを送信することができる。しかし、ＵＳＢシリアルリンクにわたってデータを送信するためには、一度に一端のみが作動され得る。ＵＳＢ制御転送のセットアップフェーズ８０は、ＰＣまたはハブからデバイスに送信されるトークンパケット８１およびデータパケット８３、ならびにデバイスからＰＣまたはハブに送信されるハンドシェイクパケット８５からなる１８バイトを含む。ホストによって送信されるトークンパケット８１は、ＳＰバイト（ＳＹＮＣ）、セットアップ段階用のＰＩＤ、デバイスアドレス（ＡＤＤＲ）、エンドポイント数（ＥＮＤＰ０）および巡回冗長検査（ＣＲＣ５）からなる４バイトを含む。ＰＣまたはハブによって送信されるデータパケット８３は、ＳＰバイト（ＳＹＮＣ）、ＤＡＴＡ０バイト用のＰＩＤ、８バイトのデータおよび２バイト巡回冗長検査（ＣＲＣ１６）からなる１２バイトを含む。トークンパケット８１およびデータパケット８３は、水晶駆動クロックを用いてＰＣまたはハブによって送信される。デバイスは、ハンドシェイクパケット８５をＰＣまたはハブに送信する。ハンドシェイクパケットは、ＳＰ（ＳＹＮＣ）バイトおよびＡＣＫバイト用のＰＩＤからなる２バイトを含む。この特定の実施形態では、デバイスは、図３に示されるＩＣ３０において、ＵＣＲ３３によって与えられるデバイスクロックＣＬＫｌＸを用いてハンドシェイクパケットを送信する。パケットは、パケット間シーケンスによって分離される。トークンパケット８１は、パケット間シーケンス８２によってデータパケット８３から分離され、データパケット８３は、パケット間シーケンス８４によってハンドシェイクパケット８５から分離される。
【００２６】
以下、図９を参照する。図９は、データパケット８３およびハンドシェイクパケット８５の境界８４におけるＵＳＢ半二重プロトコル９０を示す。この表示９０は、ＵＳＢ低速モードに基づいており、ここで、１ビットは、持続期間９４によって示される期間を有する。ハブはバスを駆動してデータパケット８３をデバイスに転送する。差分信号ＤＰ１４５およびＤＭ１４４は、シリアルデータバスを含む。シングルエンドゼロ（ＳＥ０）は、ＤＰ１４５およびＤＭ１４４が共に低電圧状態にあるときの条件として定義される。パケットの終端は、約２ビットの時間９５のＳＥ０条件およびそれに次ぐさらに１ビットの時間のＪ状態９６からなる。Ｊ状態９６は、ＤＰ１４５が低い状態にあり、ＤＭ１４４が高い状態にあるときの条件として定義される。Ｋ状態９７は、ＤＰ１４５が高い状態にあり、ＤＭ１４４が低い状態にあるときの条件として定義される。この時間９１、ハブはＵＳＢを駆動する。パケットの終端後、ＵＳＢシリアルデータバスは、少なくとも１ビット期間９２アイドル状態となる。次に、デバイスは、バス上にＪ状態９６、次いでＳＰバイトのハンドシェイクパケット８５を配置することによって、この期間９３においてＵＳＢデータを駆動し始める。ＳＰバイトは、Ｊ９６からＫ９７への移行と共に開始される。デバイスは、ハブによって送信されるＳＰ信号および次のダウンストリームデータフロー移行を用いて、ハブクロックと同位相に固定されるそれ自体のクロックを生成する。本発明は、デバイスがハブ信号から時間基準を回復し、共振器または水晶のようなデバイスにおける外部構成要素を必要しない新規の解決法を提供する。表１は、低速セットアップ用の信号ＤＰおよびＤＭの組み合わせを定義する。
【００２７】
【表１】
0004791678.tif 000002
【００２８】
以下、図１０を参照する。図１０は、ダウンストリームトランザクションを示す。ケーブル５２を介して上記のＩＣＭ２０を含むデバイス１０２にデータを送信するハブ１０１の構成１００が示される。図７Ｂのようなトークン読出し装置７２では、ケーブル５２は存在しない。ハブ１０１は、送信機１０３、１０４を用いてＵＳＢデータバスを駆動し、ＤＰ信号線１０７およびＤＭ信号線１０８を駆動する。信号ＴＸＥＮ供給１０３および１０４は、「０」である。ハブはＤＭ信号線１０８とアースとの間、およびＤＰ信号線１０７とアースとの間に接続されたプルダウン抵抗器１０５、１０６を含む。ＵＳＢ仕様に従って、ＩＣＭ２０は、ＤＭ信号線１０８とＶＴＥＲＭとの間に接続されたプルアップ素子１０９を含む。ＶＴＥＲＭは、３．０ボルトと３．６ボルトとの間のプルアップ電圧である。この構成では、低速インプルメンテーションが定義される。ＩＣＭ２０は、送信された信号ＤＰ１４５およびＤＭ１４４を受信し、信号ＲＸＤ１４６、ＲＸＤＰ１１３およびＲＸＤＭ１１４を生成する。ＲＸＤは、差分受信器１１０からの出力信号である。Ｊ状態では、ＲＸＤは論理「０」であり、Ｋ状態では、ＲＸＤは論理「１」である。ＲＸＤＰおよびＲＸＤＭは、シングルエンド受信機１１１、１１２からの信号である。ＲＸＤＰおよびＲＸＤＭは、パケットの終端を検出するために用いられる。
【００２９】
以下、図１１を参照する。図１１は、アップストリームトランザクションを示す。構成１２０は、ケーブル５２を介してデータをハブ１０１に送信するデバイス１０２を示す。図７Ｂのようなトークン読取り装置７２では、ケーブル５２は存在しない。デバイス１０２は、上記のＩＣＭ２０を含む。デバイス１０２は、送信機１２４、１２５を用いてＵＳＢデータバスを駆動し、ＤＰ信号線１０７およびＤＭ信号線１０８を駆動する。バス送信機１２４、１２５に接続された信号ＴＸＥＮは「０」である。ハブ１０１は、ＤＭ信号線１０８とアースとの間、およびＤＰ信号線１０７とアースとの間に接続されたプルダウン抵抗器１０５、１０６を含む。ＵＳＢ仕様に従って、ＩＣＭ２０は、ＤＭ信号線１０９とＶＴＥＲＭとの間に接続されたプルアップ素子１０９を含む。ＶＴＥＲＭは、３．０ボルトと３．６ボルトとの間のプルアップ電圧である。この構成では、低速実現が定義される。ハブ１０１は、送信された信号ＤＰ１０７およびＤＭ１０８を受信し、信号ＲＸＤ１２６、ＲＸＤＰ１２７およびＲＸＤＭ１２８を生成する。ＲＸＤは、差分受信器１２１からの出力信号である。Ｊ状態では、ＲＸＤ１２６は論理「０」であり、Ｋ状態では、ＲＸＤ１２６は論理「１」である。ＲＸＤＰ１２７およびＲＸＤＭ１２８は、シングルエンド受信機１２２、１２３からの信号である。ＲＸＤＰ１２７およびＲＸＤＭ１２８は、パケットの終端を検出するために用いられる。
【００３０】
以下、図１２を参照する。図１２は、ハブ１０１から上記のＩＣＭ２０を含むデバイス１０２へのダウンストリームトランザクションにおけるトークンパケット８１の始まりにおいて送信される信号の波形を示す。ハブによってＵＳＢ送信機１０３および１０４を介してデバイスに送信されるメッセージ１４２は、ビットシリアルデータフローである。トークンパケット８１は、まず、ＳＰ１４０を送信し、次いで、ＳＥＴＵＰ  ＰＩＤ１４１を送信する。このデータフローは、非ゼロ復帰逆転記録方式（ＮＲＺＩ）１４３の形式で符号化される。ＮＲＺＩ形式の特徴は、次のデータビットが論理「０」である場合（データ波形１４２を参照）、ＮＲＺＩ符号化信号の状態が変化する（ＮＲＺＩ波形１４３を参照）ことである。ＮＲＺＩ信号は、ＤＭ１４４を与えるホストＴＸＤＭ信号送信機（図１０における１０４）に接続され、反転ＮＲＺＩ信号は、ＤＰ１４５の信号を与えるホストＴＸＤＰ信号送信機（図１０における１０３）に接続される。ＲＸＤ１４６は、デバイス差分受信機（図１０における１１０）からの受信信号である。波形は、大抵の場合ＳＹＮＣと名付けられるＳＰが０００００００１［ｌｓｂ---ｍｓｂ］であり、ＳＥＴＵＰ状態のＰＩＤが１０１１［ｌｓｂ---ｍｓｂ］であることを示している。ホスト１０１によって送信される１ビット期間を測定するために、受信された差分ＲＸＤ１２６の立上りエッジおよび立下りエッジは同じでないこともあり、信号はジッターを有し得ることを考慮に入れなければならない。ジッターは、ＵＳＢアーキテクチャにわたる連続した繰り返しによって引き起こされる。複数の対になった移行期（Ｐａｉｒｅｄ  Ｔｒａｎｓｉｔｉｏｎｓ  Ｐｅｒｉｏｄ：ＰＴＰ）１４７または連続移行１４９を測定することによってジッターの影響は低減される。ＰＴＰは、ＤＭ１４４およびＤＰ１４５の立上りエッジと立下りエッジとの間の不整合によって影響されず、既知の受信パターンと適合する好ましい実施形態である。８ビット期間ビット２〜９（ＥＢＰ）１４８を測定することによって、最適化されたハードウェアインプルメンテーションと適合可能なさらなる改良が提供される。ハブ送受信機のターンオン遅延によって、ビット１期間は悪化するため、この好ましい実施形態では、ビット１は用いられない。
【００３１】
以下、図１３を参照する。図１３は、信号ＣＬＫＯＳＣ１６４を生成するクロック信号生成器１５０の実施形態を示す。クロック信号生成器１５０は、８つのインバータ１５１〜１５８およびゲート型インバータ１５９からなるリング発振器を含む。クロック信号生成器は、安定電圧基準ＶＲＥＦ１６５が与えられ、ＶＣＣ電源電圧の変動による周波数の変動を最小限に抑える。各インバータ１５１〜１５６は、対応するインバータ入力信号から平均遅延ｄだけ遅延した出力信号を送達する。インバータ１５７および１５８は、対応するインバータ入力信号から平均遅延ｄ／２だけ遅延した出力信号を送達する。ＮＡＮＤゲート１５９は、対応する入力信号から平均遅延ｄだけ遅延した出力信号を送達する。信号パワーダウンＰＷＤＮＢ１６３は、「０」でアクティブになる。信号パワーダウンＰＷＤＮＢ１６３は、ＮＡＮＤゲート１５９の出力ＣＬＫＯＳＣ１６４から第１のインバータ１５１までの帰還路を制御することによって、リング発振器の発振を可能または不能にする。発振器を不能にすることによって節電される。発振器出力信号ＣＬＫＯＳＣ１６４の期間は、各インバータ１５１〜１５８の遅延と、ゲート型インバータ１５９の遅延との合計の２倍に等しい。プロセスの変動によって、通常±３０％ほど、発振期間が影響される。通常の周波数は５０ＭＨｚである。図示される実施形態では、リング発振器１５０は、４つの位相シフト信号ＦＬ１１６０、ＦＬ２１６１、ＦＬ３１６２、それらの論理補足およびＣＬＫＯＳＣ期間において８つのインターバルを規定するＣＬＫＯＳＣ１６４を送達する。ゲート型インバータ１５９は、ＰＤＷＮＢ１６３を通して自走クロックを停止するために用いられる。１つのＩＣから他のＩＣまでのこの周波数は、３８ＭＨｚから７４ＭＨｚの範囲内である。ＣＬＫＯＳＣ１６４信号期間は、各インバータ遅延とゲート型インバータ遅延との合計の２倍に等しい。
【００３２】
ＣＬＫＯＳＣ１６４信号期間＝２（７ｄ＋２＊１／２ｄ）＝１６ｄ
ここで、ｄは、１つのゲートの平均遅延（〜１．２５ナノ秒）である。
【００３３】
以下、図１４を参照する。図１４は、それぞれがスマートカード読取り装置に挿入されるスマートカード１０もしくはモジュールプラグ７０またはトークンに埋め込まれたＩＣＭ２０に含まれるＩＣ３０によって受信される波形ＶＣＣ１７０、ＤＰ１４５、ＤＭ１４４を示す。組み立てられたＵＳＢデバイス５５は、ＵＳＢハブポートに接続される。波形ＲＸＤ１４６、ＣＬＫｌＸ１７２、ＲＥＳＥＴＢ１７１およびＣＬＫＯＳＣ１６４は、ＩＣ内で生成される。これらの波形は、ＵＳＢポートに接続されたＵＳＢデバイス５５のＩＣ３０におけるパワーアップシーケンスの典型である。クロノグラムは、ＤＭピン電圧を引き上げることによって、ＵＳＢに取り付けられたハブにＵＳＢデバイス信号が送信される直前に開始される。ＲＥＳＥＴＢは、図３に示されるＵＳＢインタフェースブロック３４上で生成される。ＶＣＣ１７０が必要最小電圧に到達すると、ＲＥＳＥＴＢは「１」になり、ＤＭに対するプルアップ効果はホストによって検出され、デバイスはＵＳＢに取付けられたことが知らされる。ＣＬＫＯＳＣ１６４が開始される。ハブは、拡張ＳＥ０１８０を送信し、ＩＣ３０内のＵＳＢインタフェース３４をリセットする。
【００３４】
ダウンストリームトランザクションでは、信号ＲＸＤ１４６は、ＣＬＫｌＸ１７２によってサンプリングされ、受信されたデータが決定される。サンプリングは、論理ビットセル（ビットセルの中間±１／４）の開始後約３３０ナノ秒で発生するべきである。アップストリームトランザクションでは、ライン１０７および１０８上の信号ＤＰ１４５およびＤＭ１４４は、ＣＬＫｌＸ１７２によってタイミングをとられる。
【００３５】
Φ１ １７３の間、受信データはなく、ＣＬＫｌＸ期間は、±３０％であることが知られているが安定している、Ｍで除算したＣＬＫＯＳＣ期間と等しい。Φ２ １７４の間、トークンパケット８１のＲＸＤ１４６のサンプリングは、受信されたビットセルの各立上りエッジによって初期化されるタイマーによって、Ｍ／２ＣＬＫＯＳＣ期間を基準として、ＣＬＫｌＸによってなされる。Φ３ １７５の間、トークンパケット８１のサンプリングは、２つのＰＴＰ１４７に対してΦ２ １７４の間に行われる測定によって調整されるＣＬＫＯＳＣを基準としてＣＬＫｌＸによってなされる。Φ８１ １７６の間、トークンパケット８１およびデータパケット８３のサンプリングは、パケット８１のＳＰおよびＰＩＤにおいてＥＢＰ１４８に対してΦ２ １７４およびΦ３ １７５の間になされる測定によって調整されるＣＬＫＯＳＣ１６４を基準としてなされる。Φ８３ １７７の間、データパケット８３のサンプリングは、パケット８３のＳＰおよびＰＩＤにおいてＥＢＰに対して行われる測定によって調整されるＣＬＫＯＳＣ１６４を基準としてなされる。Φ８３ １７７の間、ハンドシェイク８５のアップストリームパルシングは、パケット８３のＳＰおよびＰＩＤにおいてＥＢＰに対して行われる測定によって調整されるＣＬＫＯＳＣ１６４を基準としてなされる。ΦＰ １７８の間、パケットＰのサンプリングは、パケットＰのＳＰおよびＰＩＤにおいてＥＢＰに対して行われる測定によって調整されるＣＬＫＯＳＣ１６４を基準として行われる。パワーダウンシーケンスは、最終的には、ダウンストリームの正確な既知のビット期間における不正確であるが安定したＣＬＫＯＳＣを較正する進行中のプロセスとなる。パワーアップシーケンスは、Φ１ １７３においてプロセスを再開する。
【００３６】
以下、図１５を参照する。図１５は、ＣＬＫｌＸの４つの位相：Φ１ １７３、Φ２ １７４、Φ３ １７５およびΦ８１ １７６を示す。本発明の特定の実施形態では、これらの４つの位相は、ＩＣＭ２０内でＵＳＢスマートカードデバイス５５のクロック信号を同期させる必要がある。ＲＸＤ１４６は、ＩＣ３０においてハブによって送信される信号を再生する。信号ＲＸＤＤ４１９１は、「０」状態に初期化され、エッジ１９４が発生したとき、およびエッジ１９８がＳＰのために４ビット後に発生したとき、論理状態（論理補足）を変更するようにされる。信号ＲＸＤＤ８ １９２は、「０」状態に初期化され、エッジ１９４が発生し、エッジ１８８が８ビット後に発生するとき、論理状態を変更するようにされる。ＣＬＫＯＳＣ１６４は、図１３において上述したように、ＩＣＭ２０内で生成される自走クロック信号である。
【００３７】
ＣＬＫｌＸ １７２は、ＲＸＤ１４６、ＲＸＤＤ４ １９１、ＲＸＤＤ８ １９２およびＣＬＫＯＳＣを用いて生成される。ＣＬＫｌＸは、ハブからデバイスによって受信されるダウンストリームデータフローであるＲＸＤをサンプリングし、デバイスからハブへのアップストリームデータフローのタイミングをとるために用いられる。ビット１〜１２に関連するビット期間は、参考のために、ＲＸＤ上に示される。ビット番号１は、ＳＰ１４０およびＰＩＤ１４１における他のビットと比較して、正確な期間を規定していない。これは、ＵＳＢアーキテクチャに沿った各送信機のターンオン時間のためである。このアプリケーションでは、ビット番号１は、ＵＳＢデバイスのＩＣＭ内でローカルクロックＣＬＫｌＸ１７２を生成するためには用いられない。
【００３８】
Φ１ １７３の間、図１４に示されるように、ＵＳＢリセット信号送信によって一端に限定される、ＳＰ１４０の始まりを規定するエッジ１９３がＲＸＤ１４６において発生し、ビットは認識されるはずがない。デフォルトでは、ＣＬＫｌＸ１７２は、ＣＬＫＯＳＣ期間のＭ倍に等しい期間を有する自走クロックである。Ｍは、例えば、３２に等しく、これは、論理ビット持続期間の６６６．６６ナノ秒と比較して、６４０ナノ秒の通常の期間である。
【００３９】
Φ２ １７４の間、３つのタスクが行われる。
【００４０】
ａ．ＣＬＫＯＳＣ１６４を用いた、ビットセルのできるだけ中央におけるＲＸＤのサンプリングによる入力ビットの認識。ビット１は、ＣＬＫｌＸ１７２のエッジ１３０によってサンプリングされる。ＲＸＤ１４６のエッジ１９３によって、タイマーＴ１はリセットされる。タイマーは、Ｍ／２＝１６ＣＬＫＯＳＣ周期をカウントし、エッジ１３０を生成する。以下のビット２、３、４および５は、それぞれ、エッジ１９４、１９５、１９６および１９７を基準として、上記と同じ原理を用いて、１３１、１３２、１３３および１３４によってサンプリングされる。タイマーＴ１は、自走クロックＣＬＫＯＳＣおよび安全（ａｒｍｉｎｇ）機構に関連したその持続時間を特徴とする。入力ビット１、２、３、４および５は、ビットセルの各立上りエッジの後、３２０ナノ秒±３０％で有効にされる。
【００４１】
ｂ．ＣＬＫＯＸＣ１６４を用いた、ビット２、３、４および５を含むＲＸＤＤ４ １９１のタイミング。ＣＬＫＯＸＣ１６４を用いた、ビット２、３、４および５を含む２つのＰＴＰ ＲＸＤＤ４ １９１のタイミングによって、ＣＬＫＯＳＣ１６４を基準とした、ハブによって送信される４つのビット期間の第１の関係が決定される。４つのビットは、約２６６０ナノ秒持続する。それは、４ビット中の１３３ＣＬＫＯＳＣ期間とほぼ等しいＮである。１つのビット期間は、約Ｎ／４＝１３３／４＝３３±１ ＣＬＫＯＳＣ期間である。１つのビット中のＣＬＫＯＳＣ期間Ｎ／４の数は、ＣＬＫＯＳＣ期間の広がりを考慮に入れた限界に対してチェックされ得る。
【００４２】
ｃ．ビット２、３、４および５を含むＲＸＤＤ８ １９２のタイミングは、ＣＬＫＯＳＣ１６４を用いたΦ３の間続行する。
【００４３】
Φ３ １７５の間、２つのタスクが行われる。
【００４４】
ａ．第１の関係結果を用いた、ビットセルの中央におけるＲＸＤ１４６のサンプリングによる入力ビット６、７、８および９の認識。入力ビット６は、ＣＬＫｌＸ１７２のエッジ１３５によってサンプリングされる。エッジ１９８によって、上記の第１の関係結果（即ち、１つのビットセルにおけるＮ／４ＣＬＫＯＳＣ周期）を用いて、周期Ｔ２を有する自走ＣＬＫｌＸ１７２が可能になる。ビット７、８および９は、ＣＬＫｌＸ移行１３６、１３７、１３８によってサンプリングされる。ＳＰが検出される。
【００４５】
ｂ．ＣＬＫＯＳＣ１６４を用いた、ビット２〜９を含むＲＸＤＤ８ １９１タイミングの停止。
【００４６】
ＣＬＫＯＳＣ１６４を用いた、ビット２、３、４、５、６、７、８および９を含むＥＢＰ ＲＸＤＤ８ １９２のタイミングによって、ＣＬＫＯＳＣ１６４を基準とした、ハブによって送信される８ビット期間の第２の関係が決定される。ＥＢＰは、対になった移行期間およびダウンストリーム移行に伴う任意の種類のＰＩＤと適合する。８つのビットは約５３２０ナノ秒持続する。８つのビット中、Ｋ８１（約２６６）ＣＬＫＯＳＣ周期を有する。このタイミングは、ＳＰおよびＰＩＤパターンの始まりを最大限に利用してジッターの影響を低減させ、次の位相において用いられるＣＬＫｌＸ期間Ｔ３を規定する。
【００４７】
Φ８１ １７６の間、入力ビット１０は、ＣＬＫｌＸ１７２のエッジ１３９によってサンプリングされる。立上りエッジ１８８によって、第２の関係の結果（即ち、１つのビットセルにおけるＫ／８＝整数部（Ｋ８１／８）＋Ｊ８１＊１／８ＣＬＫＯＳＣ期間）を用いて、周期Ｔ３を有する自走信号が可能になる。ビット１１および１２は、１８６および１８７によってサンプリングされる。ＣＬＫｌＸ１７２を生成するカウンタは、ＦＬ１ １６０、ＦＬ２ １６１、ＦＬ３ １６２、その論理補足およびＣＬＫＯＳＣ期間の１／８で分離されたＣＬＫＯＳＣ１６４（図１３を参照）を用いる。ＣＬＫｌＸ期間は、±１／８ＣＬＫＯＳＣ期間であることが知られているため、丸め誤差はない。さらに、ダウンストリームＲＸＤ１４６における各エッジは、Φ８１ １７６の間ＣＬＫｌＸ１７２を同期させる。入力ビット１０は、ビットセル１０の立上りエッジ１８８の後、３２０ナノ秒±０．４％で有効にされる。他のビット１１および１２は、そのビットセルにおいてわずかに異なる瞬間でサンプリングされる。ＵＳＢプロトコルでは、少なくとも７ビット毎に１つのビットデータをトグル（ｔｏｇｇｌｅ）する。これにより、ＣＬＫｌＸ１７２は、確実に、ダウンストリームデータフローと同位相にされる。
【００４８】
以下、図１６を参照する。図１６は、ＣＬＫＯＳＣ１６４をゲーティング（ｇａｔｉｎｇ）するＲＸＤＤ４ １９１の２つのＰＴＰを示す。第１の関係によって、ビット２の始まりおよびビット５の終わりを含むＲＸＤＤ４ １９１のポジティブエッジ１９４と次のネガティブエッジ１９８との間にＣＬＫＯＳＣ１６４のポジティブエッジＮ２００がいくつ含まれるかが決定される。例として、基準の場合、Ｎ＝４＊６６６．６６ナノ秒／２０ナノ秒≒１３３である。
【００４９】
以下、図１７を参照する。図１７は、ＣＬＫＯＳＣ１６４をゲーティングするＲＸＤＤ８ １９２のＥＢＰを示す。第２の関係によって、ビット２の始まりおよびビット９の終わりを含むＲＸＤＤ８ １９２のポジティブエッジ１９４と次のネガティブエッジ１８８との間にＣＬＫＯＳＣ１６４のポジティブエッジＫ２００がいくつ含まれるかが決定される。例として、基準の場合、ＫＰ＝８＊６６６．６６ナノ秒／２０ナノ秒≒２６６である。
【００５０】
次に、ＫＰは、８で除算される。即ち、ＩＰ（ＫＰ／８）＋ＪＰ＊１／８。信号ＣＬＫＯＳＣ１６４、ＦＬ１ １６０、ＦＬ２ １６１およびＦＬ３ １６２のそれぞれは、ＣＬＫＯＳＣ期間の１／８と等しい時間だけ遅延する。
【００５１】
以下、図１８を参照する。図１８は、図３に示されるＵＳＢクロック回復ＵＣＲ３３の論理実現を示す。信号ＲＸＤＰ１１３、ＲＸＤＭ１１４およびＲＸＤ１４６は、ＵＳＢスマートカードデバイスの受信機前面、即ち、図３に示されるＵＳＢインタフェース３４から入力される。ＰＷＤＮＢ１６３およびＲＥＳＥＴＢ１７１は、ＩＣ３０上で生成される。ＲＸＤ１４６、ＲＸＤＰ１１３およびＲＸＤＭ１１４は、ＲＸＤＤ８、ＲＸＤＤ４、ΦＰ、Φ３、Φ２およびΦ１を生成する回路３１４に接続されている。
【００５２】
Φ１の間、ＣＬＫｌＸ１７２は、回路３１２内の値Ｍにおけるビルト（ｂｕｉｌｔ）で分割されたＣＬＫＯＳＣ１６４から生成され、ＡＮＤゲート３１３およびＯＲゲート３０９を通して送信される。Φ２の間、ＣＬＫｌＸ１７２は、回路３１０内の値Ｍ／２におけるビルトを用いてＣＬＫＯＳＣ１６４およびＲＸＤ１４６から生成され、ＡＮＤゲート３１１およびＯＲゲート３０９を通して送信される。Φ３の間、ＣＬＫｌＸ１７２は、回路３０５における第１の測定値Ｎを用いて生成され、回路３０７に接続される回路３０６内において４で除算される。ＣＬＫＯＳＣ１６４およびＲＸＤ１４６はまた、回路３０７の入力に接続される。その出力は、ＡＮＤゲート３０８およびＯＲゲート３０９と通して送信される。ΦＰの間、ＣＬＫｌＸ１７２は、回路３０１において第２の測定値ＫＰを用いて生成され、出力が回路３０３に接続される回路３０２において８で除算される。ＣＬＫＯＳＣ１６４、ＦＬ１、ＦＬ２、ＦＬ３およびＲＸＤ１４６はまた、出力がＡＮＤゲート３０４およびＯＲゲート３０９を通して送信される回路３０３の入力に接続される。
【００５３】
本発明は、特定の好ましい実施形態を参照しながら詳細に記載したが、言うまでもなく、これらの実施形態の改変および適応は、以下の請求の範囲に規定されている本発明の趣旨および範囲から逸脱せずに、当業者によって行われ得る。
【図面の簡単な説明】
【図１】  機能部分の位置を示すスマートカードの前面および側面図。
【図２】  ＩＳＯおよびＵＳＢシリアルインタフェースに接続するために用いられ得るＩＣＭを示す図。
【図３】  ＩＣＭ内で用いられるＩＣのブロック図。
【図４】  スマートカード読取り装置、スマートカードおよびホストＰＣを示す図。
【図５】  ＩＣＭとＩＳＯ型カード読取り装置との間のＩＳＯ７８１６インタフェース接続を示す図。
【図６】  ＩＣＭとＵＳＢ型カード読取り装置との間のＵＳＢインタフェース接続を示す図。
【図７Ａ】  プラグモジュールを示す図。
【図７Ｂ】  プラグモジュールが挿入されたＵＳＢ型トークン読取り装置を示す図。
【図８】  ＵＳＢトランザクションを開始するＵＳＢ制御転送のセットアップフェーズを示す図。
【図９】  データパケットとハンドシェイクパケットの境界におけるＵＳＢ半二重プロトコルを示す図。
【図１０】  ＩＣＭを含むデバイスにデータを送信するハブのダウンストリーム構成を示す図。
【図１１】  ハブにデータを送信するＩＣＭを含むデバイスのアップストリーム構成を示す図。
【図１２】  ハブからデバイスまでのトークンパケットの始まりにおいて生成される信号の波形を示す図。
【図１３】  ８個のインターバルを有する信号ＳＬＫＯＳＣを生成するクロック信号生成器の実施形態を示す図。
【図１４】  デバイスがＵＳＢに取付けられるときの波形を示す図。
【図１５】  デバイスが第１のトークンパケットを受信するときの波形を示す図。
【図１６】  ＲＸＤＤ４信号に関連するクロック信号ＣＬＫＯＳＣを示す図。
【図１７】  ＲＸＤＤ８信号に関連するクロック信号ＣＬＫＯＳＣを示す図。
【図１８】  ローカルクロックＣＬＫｌＸの論理回路図。
【図１】
0004791678.tif 000003
【図２】
0004791678.tif 000004
【図３】
0004791678.tif 000005
【図４】
0004791678.tif 000006
【図５】
0004791678.tif 000007
【図６】
0004791678.tif 000008
【図７】
0004791678.tif 000009
【図８】
0004791678.tif 000010
【図９】
0004791678.tif 000011
【図１０】
0004791678.tif 000012
【図１１】
0004791678.tif 000013
【図１２】
0004791678.tif 000014
【図１３】
0004791678.tif 000015
【図１４】
0004791678.tif 000016
【図１５】
0004791678.tif 000017
【図１６】
0004791678.tif 000018
【図１７】
0004791678.tif 000019
【図１８】
0004791678.tif 000020