(57)【要約】【課題】  スマートカードをミュートモードから除去させる改良した技術を提供する。【解決手段】  ユニバーサルシリアルバス（ＵＳＢ）スマートカードをミュートモードから自動的にリセットさせることが可能である。スマートカード上のプロセッサがそのステータスをステータスレジスタへ書込む。ＵＳＢ装置制御器がステータスレジスタをポーリングしてプロセッサのステータスを決定する。ステータスレジスタからのステータスが、該プロセッサがミュートモードへエンターしたことを表わす場合には、ＵＳＢ装置制御器が該プロセッサをミュートモードからリセットさせるためのリセット信号の発生を開始する。【選択図】      図１
2005032244.tif 000002
【特許請求の範囲】
【請求項１】
スマートカード装置において、
プロセッサ、
前記プロセッサと関連するステータスを表わすステータス情報を格納するために前記プロセッサへ結合されているステータスレジスタ、
前記プロセッサ及び前記ステータスレジスタへ結合されており前記プロセッサのステータスを決定するためにその中に格納されているステータス情報をチェックする制御論理、
を有しており、前記ステータス情報が前記プロセッサと関連する非応答状態を表わすことを前記制御論理が決定する場合には、前記非応答状態から前記プロセッサを除去するために前記制御論理が前記プロセッサへのリセット信号を開始させることが可能であることを特徴とするスマートカード装置。
【請求項２】
請求項１において、前記非応答状態がミュートモードを有していることを特徴とするスマートカード装置。
【請求項３】
請求項１において、前記プロセッサ、ステータスレジスタ、制御論理がユニバーサルシリアルバス（ＵＳＢ）準拠スマートカードの一部を構成していることを特徴とするスマートカード装置。
【請求項４】
請求項１において、更に、前記プロセッサへ前記リセット信号を供給するために前記制御論理と前記プロセッサとの間に結合されているリセット論理を有していることを特徴とするスマートカード装置。
【請求項５】
請求項４において、更に、
前記リセット論理の第一入力端子へ結合している出力端子を具備しており、前記リセット論理がそれに応答して前記リセット信号を発生することを可能とするために前記リセット論理へ第一入力信号を供給するパワーオンリセット回路、
前記制御論理からの第二入力信号を受取るために前記制御論理の出力端子へ結合している前記リセット論理の第二入力端子、
前記制御論理の第一入力端子へ結合している出力端子を具備しており、受取ったＶＳＲをデコードし且つ対応するＶＳＲ信号を前記制御論理へ供給して前記制御論理がそれに応答して前記第二入力信号を発生することを可能とさせるベンダー特定要求（ＶＳＲ）ブロック、
そこに格納されているステータス情報を受取るために前記ステータスレジスタへ結合されている前記制御論理の第二入力端子、
を有しており、前記ステータス情報が前記非応答状態を表わす場合に、前記制御論理が前記リセット論理へ前記第二入力信号を発生することが可能であることを特徴とするスマートカード装置。
【請求項６】
請求項５において、前記リセット論理がＯＲゲートを有していることを特徴とするスマートカード装置。
【請求項７】
請求項１において、更に、
その要素が非応答状態を表わすような態様で前記ステータスレジスタの要素へ前記プロセッサがステータス情報を供給することを可能とするために前記プロセッサと前記ステータスレジスタとの間に結合されている第一ライン、
前記プロセッサが前記非応答状態から除去された後に前記制御論理が前記ステータスレジスタへ前記プロセッサと関連するステータス情報を供給することを可能とするために前記制御論理と前記ステータスレジスタとの間に結合されている第二ライン、
非応答状態を表わすステータスレジスタ内の要素をクリアするために前記制御論理と前記ステータスレジスタとの間に結合されている第三ライン、
を有していることを特徴とするスマートカード装置。
【請求項８】
請求項７において、前記ステータスレジスタの要素がセットすることが可能なビットを有していることを特徴とするスマートカード装置。
【請求項９】
スマートカードシステムにおいて、
プロセッサステータス情報を格納する手段、
プロセッサが非応答モードへエンターしたか否かを決定するために格納されているプロセッサステータス情報をチェックする手段、
プロセッサが非応答モードへエンターしたことを格納されているプロセッサステータス情報が表わす場合に、前記プロセッサを非応答モードから自動的にリセットする手段、
を有していることを特徴とするスマートカードシステム。
【請求項１０】
請求項９において、更に、
前記プロセッサへ外部情報を供給し且つ前記プロセッサから情報を受取る手段、
前記外部情報を供給する手段と前記プロセッサとの間で通信を行う手段、
前記通信を行う手段から前記外部情報を受取る手段、
受取った外部情報のルーチング及びバッファリングを行う手段、
を有していることを特徴とするスマートカードシステム。
【請求項１１】
請求項９において、更に、前記プロセッサが非応答モードへエンターする前で且つ前記プロセッサが非応答モードからリセットされた後にプロセッサステータス情報をアップデートする手段を有していることを特徴とするスマートカードシステム。
【請求項１２】
請求項９において、更に、
供給されたパワーに基づいて前記プロセッサをリセットする手段、
要求に基づいて前記プロセッサをリセットする手段、
のうちのいずれか一方又は両方を有していることを特徴とするスマートカードシステム。
【請求項１３】
スマートカードに使用することが可能な方法において、
プロセッサの状態と関連するステータス情報を格納し、
格納されているステータス情報をチェックして、前記プロセッサが非応答状態へエンターしたことを前記ステータス情報が表わすか否かを決定し、
前記プロセッサが非応答状態にエンターしたことを前記ステータス情報が表わす場合には、前記プロセッサを自動的にリセットしてそれを非応答状態から除去する、
ことを特徴とする方法。
【請求項１４】
請求項１３において、前記プロセッサが非応答状態へエンターしたことを前記ステータス情報が表わすか否かを決定するために格納されているステータス情報をチェックする場合に、格納されているステータス情報をチェックして前記プロセッサがミュートモードへエンターしたか否かを決定することを特徴とする方法。
【請求項１５】
請求項１３において、プロセッサの状態と関連するステータス情報を格納する場合に、前記プロセッサの非応答状態へのエントリ前のビットをセットすることを特徴とする方法。
【請求項１６】
請求項１３において、更に、
前記プロセッサが非応答状態からリセットされていることを表わすために前記ステータス情報をアップデートし、
非応答状態を表わすステータス情報の全てをクリアする、
ことを特徴とする方法。
【請求項１７】
請求項１３において、更に、
前記プロセッサへ供給されるパワーに関連する第一信号に応答して前記プロセッサをリセットすること、
前記プロセッサをリセットするためにホスト装置から受取った特定の要求に応答して前記プロセッサをリセットすること、
のうちの少なくとも１つを有していることを特徴とする方法。
【請求項１８】
製造物品において、
プロセッサの状態と関連するステータス情報を格納し、
前記ステータス情報が、前記プロセッサが非応答状態にエンターしたことを表わすか否かを決定するために格納されているステータス情報をチェックし、
前記ステータス情報が、前記プロセッサが非応答状態にエンターしたことを表わす場合に前記プロセッサを非応答状態から除去させるために前記プロセッサを自動的にリセットする、
ためにその上に格納されている命令を有している機械読取可能な媒体、
を有していることを特徴とする製造物品。
【請求項１９】
請求項１８において、前記機械読取可能な媒体が、更に、
前記プロセッサが非応答状態からリセットされていることを表わすために前記ステータス情報をアップデートし、
非応答状態を表わすステータス情報の全てをクリアする、
ためにその上に格納されている命令を有していることを特徴とする製造物品。
【請求項２０】
請求項１８において、前記機械読取可能な媒体が、更に、
前記プロセッサへ供給されるパワーと関連する第一信号に応答して前記プロセッサをリセットし、
前記プロセッサをリセットするためにホスト装置から受取った特定の要求に応答して前記プロセッサをリセットする、
ためにその上に格納されている命令を包含していることを特徴とする製造物品。
【請求項２１】
請求項１８において、格納されているステータス情報をチェックするための命令が、ステータス情報を得るために規則的にデータレポジトリーをポールするための命令を包含していることを特徴とする製造物品。
【請求項２２】
請求項１８において、格納されているステータス情報をチェックするための命令が、ステータスにおける変化に応答してアップデートされた後にステータス情報をレビューするための命令を包含していることを特徴とする製造物品。
【請求項２３】
スマートカード装置において、
プロセッサ、
前記プロセッサとのレジスタに基づいた及びインタラプトに基づいた通信を実施することが可能なデバイスコントローラ、
を有しており、前記デバイスコントローラが、
前記プロセッサと関連するステータスを表わすステータス情報を格納するために前記プロセッサへ結合しているステータスレジスタ、
前記プロセッサ及び前記ステータスレジスタへ結合されており前記プロセッサのステータスを決定するためにその中に格納されているステータス情報をチェックするための制御論理、
を包含しており、前記制御論理が、前記ステータス情報が前記プロセッサと関連する非応答状態を表わすことを決定する場合には、前記プロセッサを非応答状態から除去するために前記制御論理が前記プロセッサへのリセット信号を開始させることが可能であることを特徴とするスマートカード装置。
【請求項２４】
請求項２３において、前記制御論理が前記リセット信号を開始することが可能であり且つ前記デバイスコントローラの現在のコンフィギュレーション及び状態が維持されることを特徴とするスマートカード装置。
【請求項２５】
請求項２３において、前記ステータスレジスタが、
前記プロセッサが非応答状態へエンターすべきことを表わすためにセットすることが可能であり且つ前記プロセッサが非応答状態から除去された場合にクリアすることが可能な第一ビット、
前記プロセッサの非応答状態の履歴を追跡するために使用することが可能な第二ビット、
を包含していることを特徴とするスマートカード装置。
【請求項２６】
請求項２５において、更に、
前記プロセッサが前記ステータスレジスタの第一ビットをセットすることを可能とするために前記プロセッサと前記ステータスレジスタとの間に結合されている第一ライン、
前記プロセッサが非応答状態から除去される度に前記制御論理が前記第二ビットをセットすることを可能とするために前記制御論理と前記ステータスレジスタとの間に結合されている第二ライン、
前記プロセッサが非応答状態から除去された後に前記制御論理が前記第一ビットをクリアすることを可能とするために前記制御論理と前記ステータスレジスタとの間に結合されている第三ライン、
を有していることを特徴とするスマートカード装置。
【請求項２７】
請求項２３において、前記デバイスコントローラがＵＳＢ準拠スマートカードの一部を構成しており、且つ非応答状態がミュートモードを有していることを特徴とするスマートカード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大略、スマートカードシステムに関するものであって、更に詳細には、ミュートモードへエンターしたスマートカード（ＳＣ）装置を自動的にリセットさせる技術に関するものである。
【背景技術】
【０００２】
スマートカードは、集積回路（ＩＣ）を埋め込んだプラスチックカードである。そのＩＣはそれと関連するメモリを具備する論理回路、それと関連するメモリ及びソフトウエアを具備するマイクロコントローラ又はマイクロプロセッサ、又はその他のタイプのインテリジェンスとすることが可能である。
【０００３】
ＳＣのＩＣは、典型的に、コンタクトパッドへ結合されており、それは何らかのタイプのプロトコルを使用してＳＣが外部装置と通信を行うか又はトランズアクションを実施することを可能とする。これらの外部装置は、ＳＣ読取器、ホストパソコン（ＰＣ）、ＳＣアダプタ及びコネクタ等を包含することが可能である。又、「無接触」ＳＣも入手可能である。
【０００４】
ＳＣの機械的及び電気的仕様は国際標準化機構（ＩＳＯ）により発表されている。例えば、ＩＳＯ７８１６プロトコルはＳＣ用のコンタクトモードをサポートしており、一方ＩＳＯ１４４４３プロトコルはＳＣ用のコンタクトレス即ち無接触モードをサポートしている。
【０００５】
ユニバーサルシリアルバス（ＵＳＢ）スタンダードは強固に確立されたものとなり且つＰＣ市場において広く受け入れられている。ＵＳＢスタンダードはＰＣ外部の装置に対しての「プラグアンドプレイ」の概念を拡張するスタンダードインターフェースに対する必要性に応答して開発されたものである。それはＰＣのケースを開くことの必要性なしでユーザがＰＣ外部の周辺装置をインストールし且つ除去することを可能とし、又はＰＣからパワーを除去すること（例えば、「リブート」することの必要性なしに）を可能としている。ＵＳＢスタンダードは使用することが容易であり且つ容易に拡張可能であり且つ市場において入手可能な益々増加する数のＳＣによりサポートされている低コストで高性能のシリアルインターフェースを提供している。
【０００６】
ＵＳＢスマートカードは、時折、「ミュート」状態又は「ミュート」モードとなる。これは、ＳＣが機能障害を検知した場合又は動作においてその他の異常な条件を検知した場合にＳＣがエンターする状態である。異常な条件は、これらに制限されるわけではないが、ＳＣの埋め込まれているコードにおける変更、ハッカー攻撃、権限のないコマンドの受領等を包含することが可能である。ミュートモードにおいては、ＳＣは、最早、更なるコマンドに応答することはなく、より特定的には、ＳＣの中央処理装置（ＣＰＵ）又はその他のプロセッサは、それが結合されているＵＳＢポートへ供給される全てのコマンド又は要求に対して応答することはない。
【０００７】
ＳＣをミュートモードから除去する１つの技術は、ＳＣに関して「ハードリセット」を実施し（即ち、ＳＣのバスへ供給されているパワーをターンオフし、次いでパワーをターンオンさせて戻すこと）且つやり直しを行うことである。然しながら、ＵＳＢ実現例の場合には、ＳＣのＣＰＵをリセットさせるためにこのようなバスリセットを使用する場合には、バス上のＳＣのエニュメレーション、コンフィギュレーション等が失われる。あるＳＣ適用例はこのようなデータの喪失を受任することは不可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、ミュートモードへエンターしたスマートカード装置を自動的にリセットする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の１つの側面はスマートカード装置を提供することである。本スマートカード装置は、プロセッサと、該プロセッサへ結合されており該プロセッサと関連するステータスを表わすステータス情報を格納するステータスレジスタとを包含している。制御論理が該プロセッサ及び該ステータスレジスタへ結合されており、該プロセッサのステータスを決定するためにその中に格納されているステータス情報をチェックする。該制御論理が、該ステータス情報が該プロセッサと関連する非応答状態を表わすことを決定する場合には、該制御論理は、該プロセッサを非応答状態から除去するために該プロセッサへのリセット信号を開始させることが可能である。
【発明を実施するための最良の形態】
【００１０】
ミュートモード（又はその他の同様のモード）にある例えばユニバーサルシリアルバス（ＵＳＢ）スマートカード等のスマートカード装置の自動リセット用の実施例について説明する。以下の説明においては、本発明の実施例の完全なる理解を与えるために多数の特別の詳細について説明する。然しながら、当業者によって理解されるように、本発明はこれらの特定の詳細のうちの１つ又はそれ以上なしで、またはその他の方法、コンポーネント、物質等と共に実施することが可能なものである。その他の場合においては、本発明の側面がぼかされることを回避するために公知の構造、物質、操作については割愛する。
【００１１】
本明細書全体にわたって「１実施例」又は「実施例」ということは、その実施例に関連して説明する特定の特徴、構造又は特性が本発明の少なくとも１つの実施例に包含されていることを意味する。従って、「１つの実施例において」又は「１実施例において」という用語が本明細書全体にわたり幾つかの箇所において出現するということは必ずしも同一の実施例のことを意味しているものではない。更に、特定の特徴、構造又は特性は１つ又はそれ以上の実施例において適宜の態様で結合させることが可能である。
【００１２】
概観として、本発明の１実施例は、ＳＣが最早コマンドを受付けたり処理したりすることのないモードからＳＣを自動的に除去させる技術を提供する。より詳細には、１実施例においては、ＵＳＢ  ＳＣをミュートモードから自動リセットする技術が提供される。
【００１３】
「ウォームリセット（ｗａｒｍ  ｒｅｓｅｔ）」（即ち、ＵＳＢホストからのソフトウエアリセットコマンド）を発生する特定のＵＳＢベンダー特定要求（ＶＳＲ）を形成するか又は画定する必要性なしに自動リセットを実施することが可能な実施例が提供される。ＶＳＲは、ＵＳＢ仕様に包含されていない制御転送モードにおいてアプリケーション機能をユーザが定義することを可能とするＵＳＢ仕様により与えられる機能である。特別に定義されたＶＳＲ（以後「ＤｏＲｅｓｅｔ」と呼称する）の場合に、ＶＳＲはＵＳＢ装置制御器におけるＳＣのハードウエアによりデコードされ且つＳＣ内においてハードウエア「ウォームリセット」を発生する。「ウォームリセット」は装置のハードウエアリセットである「コールドリセット」と異なる。通常、「ウォームリセット」はソフトウエアにより発生される。この実施例におけるこの「ウォームリセット」の特殊性は、ＵＳＢ装置制御器ではなくプロセッサのみをリセットさせることである。ＶＳＲ実現例は、典型的に、より柔軟性がなく且つ複雑なものである。何故ならば、それは、しばしば、ＰＣホスト及び／又はＳＣ上にロードされるべき特定のＰＣドライバを必要とするからである。更に、このような特定のＶＳＲはＳＣのハードウエア修正を必要とし、ＶＳＲはハードウエアによりデコードされねばならず且つ制御論理はその動作を管理せねばならず、そのことは不所望にＳＣを標準装置のクラスから除外する場合がある。対照的に、本発明の１実施例はＵＳＢ装置制御器（ＳＣ上）を提供するものであり、それはステータスレジスタをポーリングすることによりＳＣのＣＰＵの状態を検知し、且つミュートモードの場合には、ＵＳＢ装置制御器はＳＣのＣＰＵのリセットを自動的に発生し、それによりＵＳＢ装置制御器コンフィギュレーション及び設定を保存し従ってＵＳＢホストとの通信を維持する。
【００１４】
説明の便宜上、ＵＳＢスマートカードは、同一のチップ上に、マイクロコントローラ（例えばＣＰＵ又はその他のプロセッサ）及びＵＳＢペリフェラルブロックを有している。このＵＳＢペリフェラルブロックは外部ＵＳＢホストに対するスレーブであり、且つＵＳＢホストからの全ての標準のＵＳＢ又はＶＳＲ要求に応答すべく設計されている。ＵＳＢホストはＵＳＢ  ＳＣを制御するためにコマンド（例えば、制御モード転送）を使用するか又はそれへ特定のコマンドを送る。これらのコマンドに加えて、ＵＳＢ仕様は、例えばバスリセット、シングルエンドゼロ（ＳＣ０）サスペンド及びレジューム、キープアライブ、プリアンブル等のＵＳＢバスが常にレディであることを確保するための幾つかの特徴を有している。
【００１５】
ＵＳＢペリフェラルブロックの役割は、ＵＳＢホストから受取ったデータをＳＣのＣＰＵ及びメモリへ転送することであり且つその逆も又真である。ＳＣのＣＰＵはホストＰＣからのハイレベルの命令又は要求とすることが可能なデータをデコードし、又は、単純に、それを何らかの埋め込まれているアプリケーションにより使用することが可能であるようにこれらのデータを読取る。マイクロコントローラとＵＳＢペリフェラルブロックとの間のインタラクション即ち相互作用は、それらが常に動作状態にあることを必要とする。異常な条件の場合には（例えば、ＳＣの埋め込まれているコードにおける変化、ハッカー攻撃、権限のないコマンドの受領、無限ソフトウエアループへのエントリ等）、ＳＣのＣＰＵはＵＳＢペリフェラルブロックからの要求に対する応答を停止し、そのことは、ＵＳＢペリフェラルブロックをストールさせるか又は、そうでない場合には、ＵＳＢホストの要求に対して応答することはない。
【００１６】
従って、ＳＣはミュートモードへエンターし、その場合に、上述した如く、ＳＣをミュートモードから除去するためにハードリセットを実施することが可能である。又、上述したように、別の技術は、ウォームリセットを実施すべく定義されている場合には、ＶＳＲを使用することである。次に説明する本発明の実施例によれば、リセットを自動的に実施するための代替的な又は付加的な技術が提供される。
【００１７】
本発明の１実施例はＵＳＢスマートカード装置を提供している。ＵＳＢスマートカード装置はプロセッサ及びＵＳＢ装置制御器を包含している。これら２つのエンティティの間の通信は、１実施例におけるインタラプトに基づくメカニズムと結合されてレジスタに基づいている。このレジスタインターフェースは、プロセッサが関連するステータスを表わすステータス情報を格納するためにプロセッサへ結合されているステータスレジスタを包含している。ＵＳＢ装置制御器の一部である制御論理が該プロセッサ及び該ステータスレジスタへ結合されており、その中に格納されているステータス情報をチェックしてプロセッサのステータスを決定する。該制御論理が、該ステータス情報が該プロセッサと関連する非応答状態を表わすことを決定する場合には、該制御論理は該プロセッサへのインタラプトに基づくリセット信号を開始させ該プロセッサを非応答状態から除去させることを可能とする。このリセットは、ＵＳＢ装置制御器のコンフィギュレーション（形態）及び状態を現在状態に維持したまま行われる。
【００１８】
図１は、本発明の１実施例を実現することが可能なシステム１００を例示したブロック図である。ＵＳＢスマートカード１０２はＵＳＢスマートカードアダプタ１０６によってＰＣホスト１０４へ通信可能状態に結合されている。ＰＣホスト１０４はＵＳＢポート１０８を包含しており、それは接続部１１０（例えば、ＵＳＢシリアルケーブル）を介してＵＳＢスマートカードアダプタ１０６へＰＣホスト１０４を通信可能状態に結合させるために使用される。接続部１１２はＵＳＢ  ＳＣ１０２とＰＣホスト１０４との間のシリアル接続を完成する。適宜のＵＳＢスマートカードアダプタは、例えば、Ｅゲートスマートカード製品のシュルンベルジェのラインにおいて入手可能である。
【００１９】
ＳＣ１０２の１実施例は、ＵＳＢ仕様に従って通信するためのＤ＋及びＤ−パッド１１４、ＰＣホスト１０４とＳＣ１０２の間で情報を送信し且つ受信するためのトランシーバ１１６、ＵＳＢ装置制御器１１８、プロセッサ１２０（マイクロコントローラ、ＣＰＵ、又はその他のタイプのプロセッサ等）、及びそれと共にプロセッサ１２０又はＵＳＢ装置制御器１１８のいずれか一方又は両方が通信することが可能な格納媒体１２２を包含している。説明の便宜上、ＳＣ１０２上に存在する場合のある全ての可能なコンポーネントを図示するものでも説明するものでもない。本発明の１実施例の動作を理解するのに必要なコンポーネントのみが図示されており且つそれらについて説明する。本明細書において説明する自動リセット特徴を具備するスマートカードは、例えば米国特許第６，４３９，４６４号に開示されているＵＳＢ−ＩＳＯデュアルモードスマートカード等のマルチモードスマートカードにおいて実現することも可能であり、尚上記米国特許の記載内容を引用により本明細書に取込む。
【００２０】
図３−５を参照して以下に説明するように、ＵＳＢ装置制御器１１８の１実施例が、例えば、ミュートモードとなる前にプロセッサ１２０により書込まれる１個又はそれ以上のステータスレジスタをチェックすることによりプロセッサ１２０の状態（例えば、プロセッサ１２０がミュートモードへエンターしたか否か）を決定すべく結合されており、プロセッサ１２０をミュートモードから自動的にリセットさせるために適宜の動作を行う。１実施例においては、該ステータスレジスタはＵＳＢ装置制御器１１８の一部又は格納媒体１２２の一部を包含している場合がある。格納媒体１２２は、それ自身、このステータス情報、埋込型ソフトウエア又はコード、ＳＣ１０２とホストＰＣ１０４との間で交換されたか又は交換されるべきデータ、又はその他の機械読取可能な命令、データ又はコード等を格納するために１つ又はそれ以上の機械読取可能な格納位置を有することが可能である。格納媒体１２２は、キャッシュ、バッファ、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ、データレジスタ、又はその他の適宜のデータレポジトリとして実現することが可能である。
【００２１】
図２は、図１のシステム１００と比較するための別のシステム２００を例示したブロック図である。より詳細には、ある別のタイプ（例えば、ＩＳＯ７８１６スマートカード等）のスマートカード２０２が提供される。ＳＣ２０２はスマートカード読取器２０６によりＰＣホスト２０４と通信を行う。１実施例において、ＰＣホスト２０４はそれらのＵＳＢポート２０９及び２１２の間の接続部２１０（例えばＵＳＢシリアルケーブル）によりスマートカード読取器２０６と通信を行うＵＳＢホストとすることが可能である。ＳＣ２０２がＩＳＯ７８１６スタンダードに準拠したＳＣを有している場合には、接続部２１４はＩＳＯ７８１６コンタクトインターフェースを有することが可能である。
【００２２】
ＳＣ２０２は入力／出力（Ｉ／Ｏ）制御器２１８、プロセッサ２２０、格納媒体２２２を包含している。Ｉ／Ｏ制御器２１８は、例えば、ＩＳＯ７８１６−３プロトコルに準拠している。ＳＣ２０２は、例えばＩＳＯ７８１６に準拠したスマートカードにおいて使用されているもの等のＩ／Ｏブロック２１６を包含している。
【００２３】
この詳細な説明の残部において、本発明の実施例を図１のＳＣ１０２の文脈において説明する。特別に図示し且つ詳細に説明したものと異なる構成を有するＳＣにおいて本発明の原理を実現するために、当業者が修正を行うことが可能であるが、これらの修正は本発明の技術的範囲に包含される。
【００２４】
図３は本発明の１実施例に基づくＳＣのコンポーネントを例示したブロック図である。より詳細には、図３はＳＣ１０２のＵＳＢ装置制御器１１８のコンポーネントをより詳細に示している。ＵＳＢ装置制御器１１８はシリアルインターフェースエンジン３００を包含しており、それを介して、ＰＣホスト１０４へ送られるべき情報又はＰＣホスト１０４から受取られるべき情報が経路付けされる。例えば、シリアルインターフェースエンジン３００はトランシーバ１１６からシリアルデータを受取り且つそのデータをパラレル化する。バッファ３０２がシリアルインターフェースエンジン３００とプロセッサ３０２との間に結合されており、このデータ及び、必要な場合には、プロセッサ１０２及びＰＣホスト１０４との間で情報が転送される場合に、その他の情報を格納する。
【００２５】
制御論理３０４がバッファ３０２及びシリアルインターフェースエンジン３００へ結合されており、バッファ３０２とプロセッサ１２０との間の情報の流れを管理し且つ制御し、且つ適宜シリアルインターフェースエンジン３０２からのデータ（例えばパラレル化されたデータ）を受取り（又は送り）、従って制御論理３０４はこのデータをデコードするか又はそのデータに関連するその他の操作を実施することが可能である。ＵＳＢ装置制御器１１８とプロセッサ１２０との間の通信は１実施例においてはインタラプトに基づくものとすることが可能である。
【００２６】
本発明の１実施例によれば、制御論理３０４はプロセッサ１２０の状態又はモードを決定し且つ、必要な場合に、それをリセットすべく結合されている。１実施例においては、プロセッサ１２０はそのステータス情報を繰返しステータスレジスタ３０６内に書込む。制御論理３０４はこのステータスレジスタ３０６をポール即ちポーリングし、且つそれがミュートモードを検知する場合には（例えば、ビット又はフラッグが二進１にセットされている場合）、制御論理３０４はリセットブロック３０８を介してプロセッサ１２０に対するリセットコマンドを開始させる。
【００２７】
例示した実施例においては、バッファ３０２及びステータスレジスタ３０６はＵＳＢ装置制御器１１８を構成する部分として示されている。このようなコンポーネントは、その他の実施例においては、例えば格納媒体１２２等のＳＣ１０２上のその他の位置に別個に位置させることが可能である。
【００２８】
図４は本発明の１実施例に基づいて図３のコンポーネントの動作をより詳細に例示したブロック図である。特に、図４はＵＳＢ装置制御器１１８の幾つかの相対的な相互作用及び接続をより詳細に例示しており、且つプロセッサ１２０をリセットすることが可能な態様を示している。図４はプロセッサ１２０をリセットするために使用することが可能な少なくとも３つの可能なタイプの動作、即ちハードリセット、ＶＳＲの使用を介してのウォームリセット、及び本発明の１実施例に基づくオートリセット即ち自動リセットを示している。オートリセット動作は、単独に又はＶＳＲのウォームリセット及びハードリセットのうちのいずれか一方又は両方と結合して使用することが可能である。
【００２９】
プロセッサ１２０がハードリセットを介してリセットされるべき場合には（例えば、ＳＣ１０２を初期的にパワーアップする場合又は「リブート」する場合等にＵＳＢ  ＳＣバスのパワーをターンオフ又はターンオンする場合）、このような動作はパワーオンリセット（ＰＯＲ）回路４００を介して実施することが可能である。ＰＯＲ回路４００はプロセッサ１２０へパワーを供給するためにＶBUS（それは、例えば、ＵＳＢバスを介して供給される４ボルトと５．５ボルトとの間とすることが可能）をプロセッサ１２０へ供給する。ハードリセット期間中にＶBUSはＰＯＲ回路４００によりプロセッサ１２０からカットオフされ、次いで、その後に、プロセッサ１２０へ再度供給される。１実施例においては、リセットブロック３０８は図４に図示したＯＲゲートを有しており、その第一入力端子４０２はＰＯＲ回路４００の出力端子へ結合している。ハードリセット期間中、ＰＯＲ回路４００は、例えば、ＯＲゲートの第一入力端子４０２上に二進１（又はその他の適宜の入力信号）を供給する。該ＯＲゲートは、その出力端子４０６をプロセッサ１２０へ結合しており、それに対してＲＥＳＥＴ信号を供給する。
【００３０】
該ＯＲゲートの第二入力端子４０４は制御論理３０４の出力端子へ結合している。制御論理３０４は、例えば、ＶＳＲのウォームリセット及び１実施例のオートリセットのうちのいずれか一方又は両方がプロセッサ１２０のリセットを必要とする場合に、ＯＲゲートの第二入力端子４０４上に二進１を供給する。
【００３１】
リセットＶＳＲを使用するウォームリセットに関して、このようなＶＳＲが定義されており且つＰＣホスト１０４によってＳＣ１０２へ通信された場合に、トランシーバ１１６によってＤ＋及びＤ−パッド１１４からリセットＶＳＲ（例えばＤｏＲｅｓｅｔコマンド）を受取るためにＶＳＲブロック４０８が設けられている。ＶＳＲブロック４０８はこのＶＳＲ（及び受取られる場合のあるその他のＶＳＲ）をデコードする回路であり、且つプロセッサ１２０をリセットすべく制御論理３０４に命令を与えるそれからの出力を発生する。一方、又はそれに加えて、制御論理３０４はデコーディングのうちの少なくとも幾らかを行うことが可能である。ＶＳＲブロック４０８からのこの出力（例えば、二進１）はＶＳＲブロック４０８の出力端子から制御論理３０４の第一入力端子４０１へ供給される。ＶＳＲブロック４１０からこの出力を受取ると、制御論理３０４は、例えば、二進１をＯＲゲートの第二入力端子４０４へ供給し、該ＯＲゲートは、それに応答して、その出力端子４０６上にＲＥＳＥＴ信号を供給してプロセッサ１２０をリセットする。
【００３２】
ＶＳＲとは独立的なオートリセット実現例の場合、本発明の１実施例はステータスレジスタ３０６の使用を提供する。この技術は、ＰＣホスト１０４が特定のＶＳＲコマンドを発生することの必要性なしに、ＳＣ１０２自身の中においてリセットを自動的に実施させることを可能とする。従って、ミュートモードにエンターし、ＳＣ１０２がＰＣホスト１０４からのコマンドに応答することを停止している場合に、ＰＣホスト１０４との間の通信リンクを破壊することは必要ではなく、ＳＣ１０２はプロセッサ１２０のリセットを内部的に開始することが可能であり、それによりリセットの後にＰＣホストと通信を再開することが可能である。
【００３３】
プロセッサ１２０はＷＲＩＴＥ（書込）ラインを介してステータスレジスタ３０６へそのステータスを書込む。例えば、プロセッサ１２０は、それがレディー、ビジー、ミュート又はプロセッサ１２０とＵＳＢ装置制御器１１８との間の通信リンクのステータスを表わすその他のステータス情報を表わすためにステータスレジスタ３０６の１つのビットへ規則的に書込むことが可能である。このミュートモードへの遷移を表わす書込みは多数の可能な方法で実施することが可能である。
【００３４】
例えば、ミュートモードへ入る直前に、プロセッサ１２０はステータスレジスタ３０６におけるミュートビットへ書込を行うことが可能であり（ＷＲＩＴＥラインを介し）、そのビットを二進１へ高状態にセットする。一方又はそれに加えて、ＷＲＩＴＥラインは対応するミュートビット又はプロセッサ１２０のミュートモードを表わすステータスレジスタ３０６におけるその他の要素をイネーブルさせるためのイネーブルラインを有することが可能である。理解されるように、該ビットを二進１へ高状態にセットするか又はイネーブルラインを使用する代わりに、ビットを二進０へ低状態へセットすることにより又はディスエーブルラインを使用することによりミュートモードを表わすことが可能である。
【００３５】
制御論理３０４はステータスレジスタ３０６をポーリングしてプロセッサ１２０のステータスを決定し且つその第二入力端子４１２においてステータス情報を受取る。１実施例においては、このポーリングは、１つの状態から別の状態への変化を検知することが可能であるように充分に時間的に離隔された適宜の時間インターバルで実施することが可能であり、一方、別の実施例においては及びポーリングを行う代わりに、ステータスレジスタ３０６は、例えば、ステータスの変化があった場合にのみ、ステータスレジスタ３０６はアップデートされたステータス情報を制御論理３０４の入力端子４１２へ供給することが可能である。
【００３６】
その第二入力端子４１２において制御論理３０４により受取られたステータス情報がミュートモードを表わす場合には、制御論理３０４はＯＲゲートの第二入力端子４０４に対して二進１出力を発生し、それはその出力端子４０６においてＲＥＳＥＴ信号を発生しプロセッサ１２０をリセットする。次いで、制御論理３０４はステータスレジスタ３０６に対して書込を行うＲＥＳＥＴ  ＳＴＡＴＵＳライン上に信号を供給し、プロセッサ１２０の新たなステータスを表わす（例えば、レディー、ビジー、又はプロセッサ１２０がミュートモードから除去されたことを表わすその他のステータス）。
【００３７】
１実施例においては、ステータスレジスタ３０６は２個のビット、即ちミュートビット及びミュートフラッグビット、を有している。ミュートビットはそのステータスを表わすためにＷＲＩＴＥラインを介してプロセッサ１２０により書込まれて、且つＣＬＥＡＲラインを介して制御論理３０４によりクリアされる（例えば、プロセッサ１２０がミュートモードからリセットされた後）。ミュートフラッグビットは、プロセッサ１２０がミュートモードにあり且つ制御論理３０４によりリセットされたことを表わす履歴ビットである。ミュートフラッグビットは前のミュート状態を追跡する履歴ビットとして作用し、この情報は、プロセッサ１２０が何回ミュートモードを経過したかをカウントするためにプロセッサ１２０により使用することが可能であり、従って、プロセッサが、ある回数、例えば３回の後にリセットを行わないことを決定することに貢献する。
【００３８】
図５は本発明の１実施例に基づく図３及び４に示したコンポーネントにより実現することが可能な制御論理３０４の状態線図５００である。当業者は、状態線図５００に従って動作する適宜のハードウエア原理を設計することが可能である。別の実施例において且つハードウエアを代替的に又はそれに加えて状態線図５００に図示し且つその他の図面に関して説明する動作は、ソフトウエア又は機械読取可能な格納媒体１２２上に格納したその他の機械読取可能な命令で実現することが可能である。
【００３９】
状態５０２において、制御論理３０４（１実施例においては状態マシンとして）はステータスレジスタ３０６におけるミュートビット（又はフラッグ）を繰返しポーリングする。プロセッサ１２０がミュートモードへエンターしていない場合には、ミュートビットは、例えば、二進０の値を有している。プロセッサ１２０がミュートモードへエンターせんとする場合には、プロセッサ１２０はステータスレジスタ３０６に対して書込を行いミュートビットを、例えば、二進１の値へセットする。
【００４０】
二進１におけるミュートビットは制御論理５０４をして状態５０４へ遷移させ、そこで、プロセッサ１２０のリセットを開始させる。図４における例により示される如く、制御論理５０４はＯＲゲートへ信号を供給することによりこのリセットを開始し、そのことは、次いで、その出力端子４０６においてＲＥＳＥＴ信号を発生し且つＲＥＳＥＴ信号をプロセッサ１２０へ供給する。
【００４１】
プロセッサ１２０がリセットされた後に、制御論理３０４は状態５０６へ遷移する。状態５０６において、制御論理３０４はステータスレジスタ３０６においてプロセッサ１２０の新たなステータスを書込む。特に、状態５０６において、ミュートフラッグビットが二進１へセットされて前のミュート状態の履歴を維持する。ミュートビットはクリアされ（例えば、二進０又はその他のリセットステータスへ）、プロセッサ１２０の次のミュート状態を捕獲することが可能となる。次いで、制御論理３０４の状態は状態５０２へリターンし、そこでミュートビットは、再度、プロセッサステータス情報について繰返しポーリングされる。
【００４２】
従って、前述した説明によれば、本発明の１実施例は、ＶＳＲを定義し且つ使用することの必要性なしに、ＵＳＢ  ＳＣ又はその他のタイプのＳＣをミュート又はその他の同様のモードから除去させることを可能とする。この特徴は、このようなＳＣを特定のドライバをロードすることの必要性なしに「プラグアンドプレイ」を可能とし且つ標準のオペレーティングシステムにより直接認識されるＵＳＢ装置クラスに対して使用することを可能とする。このようなＵＳＢクラスの多数の例のうちの１つはチップカードインターフェースデバイス（ＣＣＩＤ）クラスである。標準のオペレーティングシステムの場合の便利なプラグアンドプレイ能力は市場において評判良く受け入れられており且つ市販までの時間を改善する。
【００４３】
ＩＳＯスマートカードに基づく以前のシステムと比較して、この解決方法の１つの利点はＵＳＢ装置制御器１１８におけるインテリジェンスである。基本的にＩ／Ｏブロック２１６の方向及びインタラプトを設定するＩＳＯスマートカードのＩ／Ｏ制御器２１８と異なり、ＵＳＢ装置制御器１１８はＵＳＢプロトコル及びＣＰＵとの通信に対して専用のそれ自身の論理状態マシンを有している。このインテリジェンスのために、ホストＰＣ１０４又は読取器ソフトウエアをして特別のコマンドを実行させるのではなく、ＵＳＢスマートカードのＣＰＵをミュートモードから除去させるためのその他の選択が存在している。
【００４４】
１実施例に示されるように、ＵＳＢスマートカードは、単一の制御器ではなく、同一チップ上に２個の制御器、即ちプロセッサ１２０（例えばＣＰＵ）及びＵＳＢ装置制御器１１８を有している。このことは、１個の制御器、即ちＣＰＵのみを有するＩＳＯ７８１６−３スマートカードと異なっている。従って、ミュートモードにあるＵＳＢスマートカードをリセットするための解決方法の１つの実施例は、ＩＳＯスマートカード用のＩＳＯ７８１６−３スマートカード読取器のファームウエアと同様の態様でＵＳＢホストファームウエアにより行うことが可能であり、又はミュート条件の検知時にリセットを実施すべく十分にインテリジェントであるＵＳＢ装置制御器１１８により直接的に行うことが可能である。
【００４５】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。例えば、幾つかの実施例をＵＳＢ実現例の文脈で説明したが、本発明は必ずしもこのことに制限されるものではない。本発明のその他の実施例は、ＵＳＢと同様の態様で動作するその他のスタンダード、プロトコル又はコンフィギュレーションに基づく実現例を有することが可能である。更に、二進論理０又は１の使用が関与するものとして実施例を説明した。これらの値は単に特定の実現例における例示的なものに過ぎず、本発明を特定の表示した二進値に制限するものではなく、１つの状態から別の状態への変化を描写することを意図したものである。
【図面の簡単な説明】
【００４６】
【図１】本発明の１実施例を実現することが可能なシステムを例示したブロック図。
【図２】本発明の１実施例を実現することが可能な別のシステムを例示したブロック図。
【図３】本発明の１実施例に基づくＳＣのコンポーネントを例示したブロック図。
【図４】本発明の１実施例に基づいて図３のコンポーネントの動作をより詳細に例示したブロック図。
【図５】本発明の１実施例に基づいて図３−４のコンポーネントにより実現することが可能な制御論理の状態線図。
【符号の説明】
【００４７】
１００  システム
１０２  ＵＳＢスマートカード
１０４  ＰＣホスト
１０６  ＵＳＢスマートカードアダプタ
１０８  ＵＳＢポート
１１０，１１２  接続部
１１８  ＵＳＢ装置制御器
１２０  プロセッサ
１２２  格納媒体
【図１】
2005032244.tif 000003
【図２】
2005032244.tif 000004
【図３】
2005032244.tif 000005
【図４】
2005032244.tif 000006
【図５】
2005032244.tif 000007