(57)【要約】【課題】  ＵＳＢスマートカードをシミュレートするシステム及び方法を提供する。【解決手段】  本発明によれば、開発及びデバッグ用にＵＳＢホスト装置へ接続されているユニバーサルシリアルバス（ＵＳＢ）スマートカード装置をシミュレートするシステム及び方法が提供され、それはコンピュータシミュレータと、コンピュータシミュレータへデータパケットを送信し又はそれからデータパケットを受信するためにコンピュータシミュレータと通信リンクに沿って動作接続されているホストコントローラを具備するＵＳＢホスト装置を包含している。マイクロコントローラがコンピュータシミュレータとＵＳＢホスト装置との間に位置されており、且つデータパケットをＵＳＢホスト装置により使用され且つコンピュータシミュレータにより定義されるＵＳＢプロトコルへ変換させる。【選択図】      図２
2004280818.tif 000002
【特許請求の範囲】
【請求項１】
開発及びデバッグのためにＵＳＢホスト装置へ接続しているユニバーサルシリアルバス（ＵＳＢ）スマートカード装置をシミュレートするシステムにおいて、
ＵＳＢスマートカード装置をシミュレートするソフトウエアを具備しているコンピュータシミュレータ、
前記コンピュータシミュレータへデータパケットを送信するか又はそれからデータパケットを受取るために前記コンピュータシミュレータと通信リンクに沿って動作接続されているＵＳＢホストコントローラを具備しているＵＳＢホスト装置、
前記コンピュータシミュレータと前記ＵＳＢホスト装置との間における前記通信リンク内に位置されており前記コンピュータシミュレータによって定義され且つ前記ＵＳＢホスト装置により使用されるＵＳＢプロトコルへ前記データパケットを変換させるマイクロコントローラ、
を有していることを特徴とするシステム。
【請求項２】
請求項１において、前記マイクロコントローラが前記コンピュータシミュレータと前記ＵＳＢホスト装置との間に相互接続されているシリアル／ＵＳＢ変換器を有していることを特徴とするシステム。
【請求項３】
請求項２において、前記コンピュータシミュレータがシリアルポートを包含しており且つ前記通信リンクが前記シリアルポート及び前記シリアル／ＵＳＢ変換器へ動作接続されているシリアル通信線を有していることを特徴とするシステム。
【請求項４】
請求項２において、前記通信リンクが、更に、前記シリアル／ＵＳＢ変換器と前記ＵＳＢホスト装置との間にＵＳＢ通信リンクを有していることを特徴とするシステム。
【請求項５】
請求項２において、更に、前記マイクロコントローラにより制御されるシリアル／ＵＳＢペリフェラルを有していることを特徴とするシステム。
【請求項６】
請求項１において、前記マイクロコントローラが、制御、バルク、インタラプト及び／又はアイソクロノスＵＳＢ転送モードをサポートすべく動作可能であることを特徴とするシステム。
【請求項７】
請求項１において、前記マイクロコントローラがＵＳＢ／ＵＳＢ変換器を有していることを特徴とするシステム。
【請求項８】
請求項７において、更に、前記マイクロコントローラにより制御される２個のＵＳＢペリフェラルを有していることを特徴とするシステム。
【請求項９】
請求項７において、更に、前記コンピュータシミュレータと動作可能であり且つ通信リンクへ接続されているＵＳＢホストコントローラを有していることを特徴とするシステム。
【請求項１０】
開発及びデバッグのためにＵＳＢホスト装置へ接続されているユニバーサルシリアルバス（ＵＳＢ）スマートカード装置をシミュレートするシステムにおいて、
ユニバーサルシリアルバススマートカード装置をシミュレートするソフトウエアを具備しているコンピュータシミュレータ、
前記ＵＳＢホスト装置へデータパケットを送信するか又はそれからデータパケットを受信するために前記コンピュータシミュレータと通信リンクに沿って動作接続されているＵＳＢホストコントローラを具備しているＵＳＢホスト装置、
前記コンピュータシミュレータと前記ＵＳＢホスト装置との間の前記通信リンク内に位置されており前記コンピュータシミュレータにより定義され且つ前記ＵＳＢホスト装置により使用されるべきＵＳＢプロトコルへ前記データパケットを変換し且つデータパケットの転送を記録し且つ助けるための入力及び出力ソフトウエアスタックを具備しているマイクロコントローラ、
を有していることを特徴とするシステム。
【請求項１１】
請求項１０において、前記ソフトウエアスタックが、パケットタイプ、データペイロード、エンドポイントアドレス、エンドポイント番号及び／又は各ソフトウエアスタック内の転送状態に関するデータを格納することを特徴とするシステム。
【請求項１２】
請求項１０において、前記マイクロコントローラが前記コンピュータシミュレータと前記ＵＳＢホスト装置との間に相互接続されているシリアル／ＵＳＢ変換器を有していることを特徴とするシステム。
【請求項１３】
請求項１２において、前記コンピュータシミュレータがシリアルポートを包含しており、且つ前記通信リンクが前記シリアルポート及び前記シリアル／ＵＳＢ変換器へ動作接続されているシリアル通信線を有していることを特徴とするシステム。
【請求項１４】
請求項１２において、前記通信リンクが、更に、前記シリアル／ＵＳＢ変換器と前記ＵＳＢホスト装置との間にＵＳＢ通信リンクを有していることを特徴とするシステム。
【請求項１５】
請求項１２において、更に、前記マイクロコントローラにより制御されるシリアル及びＵＳＢペリフェラルを有していることを特徴とするシステム。
【請求項１６】
請求項１０において、前記マイクロコントローラが、制御、バルク、インタラプト及び／又はアイソクロノスＵＳＢ転送モードをサポートすべく動作可能であることを特徴とするシステム。
【請求項１７】
請求項１０において、前記マイクロコントローラが、更に、ＵＳＢ／ＵＳＢ変換器を有していることを特徴とするシステム。
【請求項１８】
請求項１７において、更に、前記マイクロコントローラにより制御される２個のＵＳＢペリフェラルを有していることを特徴とするシステム。
【請求項１９】
請求項１７において、更に、前記コンピュータシミュレータと共に動作可能であり且つ前記通信リンクへ接続されているＵＳＢホストコントローラを有していることを特徴とするシステム。
【請求項２０】
開発及びデバッグのためにＵＳＢホスト装置へ接続されているユニバーサルシリアルバス（ＵＳＢ）スマートカード装置をシミュレートする方法において、
コンピュータシミュレータ内においてＵＳＢスマートカード装置をシミュレートし、
前記コンピュータシミュレータ及びホスト装置のＵＳＢホストコントローラへデータパケットを送信するか又はそれからデータパケットを受信し、
前記コンピュータシミュレータと前記ＵＳＢホスト装置との間に相互接続されているマイクロコントローラにおけるデータパケットを前記ＵＳＢホスト装置により使用され且つ前記コンピュータシミュレータにより定義されるＵＳＢプロトコルへ変換させる、
上記各ステップを有していることを特徴とする方法。
【請求項２１】
請求項２０において、更に、シリアル／ＵＳＢ変換器として動作可能なマイクロコントローラ内のデータパケットを変換するステップを有していることを特徴とする方法。
【請求項２２】
請求項２１において、更に、シリアル通信リンクを介してデータパケットを前記コンピュータシミュレータのシリアルポート内へ送信するか又はそれからデータパケットを受信するステップを有していることを特徴とする方法。
【請求項２３】
請求項２１において、更に、前記マイクロコントローラへのシリアル通信リンクに沿って前記コンピュータシミュレータへ又はそれからデータパケットを送信し且つ前記コンピュータシミュレータにより定義されるＵＳＢプロトコルを使用してＵＳＢ通信リンクに沿って前記ＵＳＢホストコントローラへ又はそれからデータパケットを送信するステップを有していることを特徴とする方法。
【請求項２４】
請求項２０において、更に、前記マイクロコントローラ内において制御、バルク、インタラプト及び／又はアイソクロノスＵＳＢ転送モードをサポートするステップを有していることを特徴とする方法。
【請求項２５】
請求項２０において、更に、前記マイクロコントローラによりシリアル及びＵＳＢペリフェラルを制御するステップを有していることを特徴とする方法。
【請求項２６】
請求項２０において、更に、ＵＳＢ／ＵＳＢ変換器として動作可能なマイクロコントローラ内においてデータパケットを変換するステップを有していることを特徴とする方法。
【請求項２７】
請求項２６において、更に、前記マイクロコントローラにより２個のＵＳＢペリフェラルを制御するステップを有していることを特徴とする方法。
【請求項２８】
請求項２６において、更に、前記コンピュータシミュレータと共に動作可能なＵＳＢホストコントローラ内へ又はそれからＵＳＢ通信線を介してデータパケットを送信するか又は受信するステップを有していることを特徴とする方法。
【請求項２９】
請求項２０において、更に、前記ホスト装置へフラッグを送ることによりシングルエンドゼロ及び／又はサスペンドモードをシミュレートするステップを有していることを特徴とする方法。
【請求項３０】
開発及びデバッグのためにＵＳＢホスト装置と通信を行うユニバーサルシリアルバス（ＵＳＢ）スマートカード装置をシミュレートする方法において、
コンピュータシミュレータ内においてＵＳＢスマートカード装置をシミュレートし、
前記コンピュータシミュレータ及びホスト装置のＵＳＢホストコントローラへデータパケットを転送するか又はそれからデータパケットを受信し、
データパケットの転送を記録し且つ助けるために入力及び出力ソフトウエアスタックを使用しながら、前記コンピュータシミュレータと前記ＵＳＢホスト装置との間に相互接続されているマイクロコントローラにおけるデータパケットを前記ＵＳＢホスト装置により使用され且つ前記コンピュータシミュレータ内において定義されるＵＳＢプロトコルへ変換させる、
上記各ステップを有していることを特徴とする方法。
【請求項３１】
請求項３０において、更に、パケットタイプ、データペイロード、エンドポイントアドレス、エンドポイント番号及び／又は各ソフトウエアスタック内の転送状態を格納するステップを有していることを特徴とする方法。
【請求項３２】
請求項３０において、更に、シリアル／ＵＳＢ変換器として動作可能なマイクロコントローラ内において前記データパケットを変換するステップを有していることを特徴とする方法。
【請求項３３】
請求項３２において、更に、シリアル通信線を介してデータパケットを前記コンピュータシミュレータのシリアルポート内へ送信するか又はそれからのデータパケットを受信するステップを有していることを特徴とする方法。
【請求項３４】
請求項３２において、更に、前記マイクロコントローラへのシリアル通信リンクに沿って前記コンピュータシミュレータへ又はそれからデータパケットを送信し且つ前記コンピュータシミュレータにより定義されるＵＳＢプロトコルを使用してＵＳＢ通信リンクに沿って前記ＵＳＢホストコントローラへ又はそれからデータパケットを送信するステップを有していることを特徴とする方法。
【請求項３５】
請求項３０において、更に、前記マイクロコントローラ内において制御、バルク、インタラプト及び／又はアイソクロノスＵＳＢ転送モードをサポートするステップを有していることを特徴とする方法。
【請求項３６】
請求項３０において、更に、前記マイクロコントローラによりシリアル及びＵＳＢペリフェラルを制御するステップを有していることを特徴とする方法。
【請求項３７】
請求項３０において、更に、ＵＳＢ／ＵＳＢ変換器として動作可能なマイクロコントローラ内においてデータパケットを変換するステップを有していることを特徴とする方法。
【請求項３８】
請求項３７において、更に、前記マイクロコントローラにより２個のＵＳＢペリフェラルを制御するステップを有していることを特徴とする方法。
【請求項３９】
請求項３７において、更に、ＵＳＢ通信線を介してデータパケットを前記コンピュータシミュレータと共に動作可能なＵＳＢホストコントローラ内へ送信するか又はそれからのデータパケットを受信するステップを有していることを特徴とする方法。
【請求項４０】
請求項３０において、更に、前記ホスト装置へフラッグを送ることによりシングルエンドゼロ及び／又はサスペンドモードをシミュレートするステップを有していることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスマートカードの分野に関するものであって、更に詳細には、ＵＳＢスマートカードをシミュレートするシステム及び方法に関するものである。
【背景技術】
【０００２】
スマートカードは埋込型集積回路（ＩＣ）を具備するプラスチックカードである。そのＩＣは、それと関連するメモリを具備する論理回路又はそれと関連するメモリ及びソフトウエアを具備するマイクロコントローラ、又はカスタム回路ブロック又はインターフェースへ結合されているそれと関連するメモリ及びソフトウエアを具備するマイクロコントローラとすることが可能である。
【０００３】
該ＩＣの計算能力を使用するために、スマートカードは完全な組のパッケージング技術を利用する。例えば、ダイ寸法は１ｍｍ2から３０ｍｍ2へ変化するが、スマートカードのプラスチック構造により課される機械的制限のために制限されている。該ＩＣはリードフレームへ取付けられ且つワイヤボンディング技術を使用してＩＣパッドをリードフレームコンタクトへ接続させる。製造期間中における化学的及び機械的ストレスに対してＩＣを保護するためにポッティング及びその他の強化方法を使用することが可能であり且つスマートカードの毎日の使用の一部である。８個のコンタクトがカードの片側に位置されている。スマートカードはシリアルプロトコルを使用するスマートカード読取器と共にトランズアクションを実施する。スマートカード用の機械的及び電気的使用は、ＩＳＯ７８１６−Ｘスタンダードとして国際標準化機構（ＩＳＯ）により発表されており、それは単純で且つ大量生産された磁気ストライプカードをスマートカードに向かって展開することを可能としている。この当然の進化は、勿論、ＩＣの複雑性に依存して、スマートカードが、例えば、ＰＩＮコード、バイオメトリクス、ジャバスクリプトを使用してプリペード会計、暗号化体系、個人認証を実施することを可能としている。
【０００４】
ＩＳＯ文書、ＩＳＯ７８１６−１物理的特性、ＩＳＯ７８１６−２寸法及びコンタクトの位置、ＩＳＯ７８１６−３電気的信号及び通信プロトコル、ＩＳＯ７８１６−４交換用の業界間コマンド、ＩＳＯ７８１６−１０電子的信号及び同期的カードに対するリセットに対しての解答を引用により本明細書に取込む。
【０００５】
動作について、スマートカード読取器は、スマートカードが関与する何等かのトランズアクションを実施する前に、読取器インフラストラクチャ又はホストコンピュータにより認識される。該インフラストラクチャは、スマートカードが関与するアプリケーションを稼動させる。スマートカードがスマートカード読取器へ情報を送るか又はその逆のいずれかであるスマートカードとスマートカード読取器との間の半二重プロトコルは、スマートカードが所定位置とされ且つスマートカード読取器により検知されるまで開始することは不可能である。該インフラストラクチャは、公衆電話におけるプリペードカードに対して、店舗販売時点情報管理（ＰＯＳ）ターミナル及び自動預金支払器（ＡＴＭ）におけるバンクカードに対して、セットトップボックスにおける有料ＴＶプロバイダーに対し、且つグローバル・システム・フォア・モーバイル（ＧＳＭ）ターミナルにおいて使用される加入者識別モジュール（ＳＩＭ）におけるワイヤレステレコムオペレータに対しての認証又はトランズアクションを管理する。ＳＩＭカードを除いて、その他の全てのスマートカード読取器適用例はスマートカードを検知するために物理的なセンサーを使用する。このセンサーは、いつスマートカードが所定位置にあるか、即ちいつスマートカードのリードフレームコンタクトがスマートカード読取器のコンタクトと係合するかをスマートカード読取器に告げる。
【０００６】
スマートカードが所定位置にあることをスマートカード読取器が確立すると、パワーアップシーケンスが開始する。このパワーアップシーケンスが終了した後に、スマートカード読取器は、典型的に、スマートカードへクロックを供給し且つリセット信号を解除する。次いで、スマートカードはその格納されているオペレーティングシステム（ＯＳ）を実行する。一方、ＳＩＭカードはパワーオフの状態で一度だけ所定位置とされ且つ常にその位置決めの後に使用される。
【０００７】
スマートカード技術に対する最初の適用例は公衆電話システムであった。スマートカードダイ寸法は、典型的に、１ｍｍ2未満であり、メモリと論理回路のみがＩＣ内に集積化されていた。スマートカード読取器は異なるスマートカードの世代と適切にインターフェースするために８個のコンタクト全てを使用した。スマートカードが公衆電話に挿入されると、電話インフラストラクチャがそのスマートカードを認証し且つ該電話がスマートカードから「ユニット（ｕｎｉｔ）」を除去する。
【０００８】
銀行業界はその後スマートカードを採用した。ダイ寸法は約１０ｍｍ2であり、マイクロコントローラ及びそれと関連するメモリ及びソフトウエアがＩＣ内に集積化されていた。スマートカード読取器が異なるスマートカード世代と適切にインターフェースするために最大で６個のコンタクトを使用した。スマートカードがＡＴＭ又はＰＯＳ（ポイント・オブ・セール）内に挿入されると、スマートカードユーザがＰＩＮコードで認証された。スマートカードは一週間毎にＡＴＭから受取った現金の残高又は最後の締め以後の購入の詳細等の異なる項目を格納することが可能であった。この情報に基づいて、ＰＩＮが借主を認証するとその場所で許可を発行することが可能であった。このことは銀行へ電話すること無しに行われた。
【０００９】
スマートカードに対する別の適用例はＧＳＭ製造業者によって開発されている。ＳＩＭにおけるダイ寸法は約３０ｍｍ2であり、且つマイクロコントローラ及びそれと関連するメモリ及びソフトウエアがＩＣ内に集積化されている。ＳＩＭ読取器はスマートカードと適切にインターフェースするために５個のコンタクトを使用している。より洗練されたスマートカード適用例はジャバアプレットを使用するＧＳＭにおいて実施されている。
【００１０】
スマートカードに対する新たな市場が、パソコンからアクセスされるインターネットの成長と共に出現した。安全メッセージ、公開鍵基盤、認証及び電子決済は興味のある新たなスマートカードの分野である。スマートカードはｅコマースを容易にするものとして作用する。他のソリューションと比較してスマートカードの１つの利点は、スマートカードＰＩＮ及び暗号鍵をそのメモリ内に格納することが可能であり且ついかなる取引においても通信されるべきスマートカードから離れることがないということである。
【００１１】
現在のところ、スマートカードはホストコンピュータへ接続されているスマートカード読取器内に挿入される。スマートカードとホストコンピュータとの間のトランズアクション即ち取引をサポートする上で２つのプロトコルが関与する。第一のプロトコルはＩＳＯ−７８１６−３に準拠するものであり、それはスマートカードとスマートカード読取器との間のシリアルインターフェースに対して詳細な条件を提供する。該読取器は、第二の読取器を使用して、シリアルポート、パラレルポート、又はユニバーサルシリアルバス（ＵＳＢ）を介してコンピュータへ接続される。スマートカード読取器は、電子回路及び第一プロトコルを使用するスマートカードと第二プロトコルを使用するホストコンピュータとの間の通信を可能とさせる埋込型ソフトウエアを包含している。ホストコンピュータはスマートカード読取器をサポートするための適宜のドライバでロードされる。
【００１２】
多数の組がＰＣ環境においてスマートカードの使用を開始している。これらの適用例において使用されるダイ寸法は５ｍｍ2から３０ｍｍ2の範囲であり、且つマイクロコントローラ及びそれと関連するメモリ及びソフトウエアが、典型的に、暗号制御器と共にＩＣ内に集積化される。時折、バイオセンサーが集積化される。スマートカード読取器は、これらの適用例においてスマートカードと適切にインターフェースするために少なくとも５個のコンタクトを使用する。
【００１３】
１９９０年代後期以来、ユニバーサルシリアルバス（ＵＳＢ）がしっかりと確立されたものとなり且つＰＣ市場において広く受け入れられることとなった。ＵＳＢはＰＣ外部の装置に対しての「プラグアンドプレイ」の概念を拡張させるスタンダードインターフェースに対する必要性に応答して開発されたものである。ＰＣケースを開くこと無しに又はＰＣからパワーを除去すること無しに外部ペリフェラル装置をユーザがインストールし且つ取り外すことを可能とさせている。ＵＳＢは使用が容易であり且つ容易に拡張可能な低コストで高性能の半二重シリアルインターフェースを提供している。
【００１４】
ＵＳＢは４本のワイヤを使用する。電源は２本のワイヤ（ＶＢｕｓ及び接地）で担持され、且つデータは他の２本のワイヤ（Ｄ＋，Ｄ−）で担持される。ＵＳＢの最新版は、現在のところ、ユニバーサルシリアルバス仕様改定版２．０によって定義されており、それはそのＵＳＢ仕様を開発した会社群によって創立された非営利団体であるＵＳＢインプリメンターズフォラム、インコーポレイテッドによって書かれており且つ制御されている。
【００１５】
特に、第５章ＵＳＢデータフローモデル、第７章電気的レイヤー、第８章プロトコルレイヤー及び第９章ユニバーサルシリアルバス仕様のＵＳＢ装置フレームワークを引用により本明細書に取込む。ＵＳＢの使用が益々広がるに連れ、スマートカード読取器製造業者等は、既存のシリアル及びパラレルインターフェースを完全なものとさせるために彼等の製品をホストコンピュータへ接続させるためのＵＳＢインターフェースを開発することとなった。
【００１６】
ＵＳＢプロトコルは益々重要なものとなりつつあるので、ＵＳＢシステムと共に使用する複雑なスマートカード装置が関与する製品を開発することが必要である。最終的な製品が入手可能となり且つチップを製造する前にスマートカードの機能的均等物を製造するために、ソフトウエア開発コンピュータ上でシミュレータを開発し且つスマートカードの挙動を「シミュレート」させるべく動作する。スマートカードプログラムがアッセンブルされるか又はコンパイルされた後に、出力がスマートカードシミュレータへ送られ、それは命令を解釈し且つ該プログラムをブレークポイント（例えば、ストップ又は通常の実行インタラプト）へランさせ、又はユーザが該プログラムをシングルステップさせ且つシミュレートされるスマートカード装置の状態変化を観察することを可能とさせる。種々のデフォルトタイプ、パイプバンドル、ＵＳＢワイヤを包含するスマートカードの通信インターフェースはシミュレートされるソフトウエア及び関連する装置で達成される。
【００１７】
ＵＳＢスマートカードシミュレーションプログラム及び装置、ＵＳＢスマートカードコンタクト、及びソフトウエアを開発するための従来のソリューションは、「バーチャルＵＳＢホスト」をシミュレートするシステム及びスマートカードＵＳＢペリフェラルと通信を行うソフトウエアを包含していた。別の従来のソリューションは、シミュレータ内のスマートカードプログラムをランさせることとスマートカード自身の上でそれをランさせることとの間の１つのステップとしてチップエミュレータ上のプログラムをランさせるものである。チップエミュレータは、テスターがチップの内部状態を検査し且つプログラムをシングルステップさせることを可能とするような態様で実際のチップ又は該チップのデザインを包含している。ＵＳＢスマートカードの文脈において、該エミュレータは実際のＵＳＢホストへ接続される。
【００１８】
これらの従来の装置又はシステムは、しばしば、ＵＳＢ仕様の全ての側面に装着した忠実で且つ完全な機能性を可能とさせるものではない。それらは、しばしば、多数の又は向上されたハードウエアペリフェラルの処理能力を必要とし且つある場合においては、ＵＳＢトラフィックを該シミュレータへ送るために「バーチャルＵＳＢホスト」を必要とする。「バーチャルＵＳＢホスト」が作成されると、ＵＳＢ仕様の誤ってなされることのある解釈が実施される場合がある。ある場合において、バーチャルＵＳＢホストの幾つかの異なる動作挙動が開発されねばならない。何故ならば、各コンピュータオペレーティングシステムは異なる動作挙動を有するＵＳＢホストを実現する場合があるからである。チップエミュレータが使用される場合であっても、該エミュレータの使用は尚且つ最終的なデバッグステップを必要とする。
【００１９】
ソフトウエアに組込まれた能力に依存して、「バーチャルＵＳＢホスト」のようなバーチャル装置は実際の物理的装置と異なる同期的挙動を示す場合があることも知られている。これらの及びその他の問題の結果として、ＵＳＢスマートカード装置に対する現在の環境又は最終的な適用例の文脈において、シミュレータで埋め込まれているソフトウエアをデバッグし且つ有効性を評価することは不可能である。ＵＳＢ仕様の全ての側面に逢着した環境においてシミュレータを使用することも可能である。又、シミュレータを実際のＵＳＢホスト装置へ接続することの問題が存在しており、且つその結果、該シミュレータを使用して最終的な適用例のＵＳＢ  ＰＣドライバをデバッグし且つ有効性を評価することは不可能である。どのＵＳＢシステムもスレーブ／マスターシステムとして動作し、従って、マスター装置として作用する２個の装置がＵＳＢプロトコルにおいて通信を行うことは不可能である。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、ソフトウエア開発コンピュータ上で稼動するＵＳＢスマートカードシミュレータとＵＳＢホストコントローラとの間の通信を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明は、開発及びデバッグのためにＵＳＢホスト装置へ接続されているユニバーサルシリアルバス（ＵＳＢ）スマートカード装置をシミュレートする。コンピュータシミュレータは、ＵＳＢスマートカード装置をシミュレートするソフトウエアを有している。ＵＳＢホスト装置は、コンピュータシミュレータへデータパケットを送信し又はそれからデータパケットを受信するためにコンピュータシミュレータと通信リンクに沿って動作接続されているＵＳＢホストコントローラを包含している。マイクロコントローラが該コンピュータシミュレータと該ＵＳＢホスト装置との間の通信リンク内に位置されており、且つデータパケットをＵＳＢホスト装置により使用されるものであり且つコンピュータシミュレータによって定義されるＵＳＢプロトコルへ変換させる。
【００２２】
本発明の１つの側面においては、マイクロコントローラはコンピュータシミュレータとＵＳＢホスト装置との間に相互接続されているシリアル／ＵＳＢ変換器とすることが可能である。コンピュータシミュレータは、マイクロコントローラへ接続されているシリアル通信線へ接続されているシリアルポートを包含することが可能である。ＵＳＢ通信リンクは、シリアル／ＵＳＢ変換器とＵＳＢホスト装置との間に延在することが可能である。
【００２３】
本発明の更に別の側面においては、マイクロコントローラが制御、バルク、インタラプト及び／又はアイソクロノスＵＳＢ転送モードをサポートすべく動作可能である。シリアル及びＵＳＢペリフェラルはマイクロコントローラにより制御することが可能である。
【００２４】
本発明の更に別の側面においては、マイクロコントローラはＵＳＢ／ＵＳＢ変換器を有している。２個のＵＳＢペリフェラルをマイクロコントローラにより制御することが可能である。ＵＳＢホストコントローラはコンピュータシミュレータと共に動作可能とすることが可能であり且つ通信リンクへ接続させることが可能である。
【００２５】
本発明の更に別の側面においては、マイクロコントローラはデータパケットの転送を記録し且つ助けるために入力及び出力ソフトウエアスタックを有している。ソフトウエアスタックはパケットタイプ、データペイロード、エンドポイントアドレス、エンドポイント番号及び／又は各ソフトウエアスタック内の転送状態に関するデータを格納することが可能である。
【００２６】
開発及びデバッグのためにＵＳＢソフト装置へ接続しているＵＳＢスマートカード装置をシミュレートする方法についても記載する。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の好適実施例が示されている添付の図面を参照して本発明をより詳細に説明する。然しながら、本発明は多数の異なる形態で実現することが可能であり且つ本明細書に記載する実施例に制限されるものとして解釈されるべきものではない。そうではなく、これらの実施例は、本明細書の開示が完全なものであり且つ当業者が本発明を実施するのに充分なものであるように提供されるものである。尚、同様の参照番号は同様の構成要素を意味している。
【００２８】
本発明は、ソフトウエア開発コンピュータ上で稼動するＵＳＢスマートカードシミュレータとＵＳＢホストコントローラとの間に通信を与える。本発明によれば、ソフトウエア開発コンピュータにおけるペリフェラルのうちの１つがハードウエア接続を介してＵＳＢホストコントローラへデータを送る。ソフトウエア開発コンピュータはＵＳＢ装置インターフェースを有するものではないので、ソフトウエア開発コンピュータとＵＳＢホストコントローラを具備するホストコンピュータとの間においてプロトコル変換が必要とされる。
【００２９】
本発明は、ユニバーサルシリアルバス仕様改定版２．０を包含するＵＳＢ仕様の全ての側面を固守する忠実且つ完全なる機能性を可能とさせる。それは、実際のシリコンチップが最終的な物理的且つタンジブルな製品となる前にスマートカードソフトウエア開発者が任意のコードを開発し且つデバッグすることを可能とさせる。そのアプリケーションの殆どはソフトウエアにより実施されるので、多数のハードウエアペリフェラル又は動作能力を必要とするものではない。ＵＳＢトラフィックをシミュレータへ送るために「バーチャルＵＳＢホスト」を開発することは必要ではなく、その結果、バーチャルＵＳＢホストを開発する場合にＵＳＢ仕様の誤った解釈をする危険性は存在しない。又、各コンピュータオペレーティングシステムが異なる動作挙動でＵＳＢホストを実現させるような従来のソリューションにおいて必要とされる如きバーチャルＵＳＢホストの幾つかの動作挙動を開発することは必要ではない。
【００３０】
本発明は、又、最終的アプリケーションの現在の環境におけるデバッグ及び妥当性検査を可能とさせ且つシミュレータを使用してのＵＳＢ  ＰＣドライバのデバッグ及び妥当性検査を可能とさせる。最終的なデバッグステップが存在しないばかりかスマートカードソフトウエアプログラムをラン即ち稼動させるために最早チップエミュレータが必要とされるものではないので、多くの従来技術のソリューションにおけるよりも低コストである。開発からチップ、ドライバ、スマートカードアプリケーション及びその他の関連する開発を包含する完全な製品への「市場へ出すための時間」は本発明の結果として改善される。
【００３１】
技術的背景及び参照の目的のために、ＵＳＢホストとＵＳＢ装置との間の基本的なＵＳＢデータフロー及びユニバーサルシリアルバス仕様改定版２．０に基づく種々の具体例及びレイヤーが図１に示されている。
【００３２】
図１に示したように、ホスト１０の物理的装置１２への接続は、異なるレイヤー、即ちＵＳＢバスインターフェースレイヤー１４、ＵＳＢ装置レイヤー１６、機能レイヤー１８の間のインタラクション即ち相互作用を必要とする。ホストと装置との間の相互接続２０が示されている。
【００３３】
ＵＳＢバスインターフェースレイヤー１４は、ＵＳＢバスインターフェース回路２２、及び物理的ワイヤ２９を介してホスト１０におけるシリアルインターフェースエンジン（ＳＩＥ）２６及びそのホストコントローラ２８と通信を行う装置１０におけるシリアルインターフェースエンジン（ＳＩＥ）２４を包含している。ＵＳＢ装置レイヤー１６は、物理的装置１２において、ＵＳＢ論理装置３０として一群のエンドポイントを包含している。エンドポイントゼロ３２はホスト１０において装置管理のために動作可能なＵＳＢシステムソフトウエア３６に対してデフォルトパイプ３４を介して通信を行うべく動作可能である。機能レイヤー１８は、物理的装置１２において、インターフェースの集まりとして論理的機能３８を包含しており、且つインターフェース管理のために動作可能なクライエントソフトウエア４２に対して複数個のパイプバンドル４４を介して通信を行うインターフェース４０を包含している。
【００３４】
ＵＳＢバスインターフェースレイヤー１４はホスト１０と物理的装置１２との間のトラフィック信号処理及びパケット伝送のための物理的ワイヤ２９を提供する。ＵＳＢ装置レイヤー１６はエンドポイントゼロ３２に対してデフォルトパイプ３４を介して物理的装置１２と共に一般的なＵＳＢ動作を実施するためにＵＳＢシステムソフトウエア３６を検分する。機能的レイヤー１８はマッチしたクライエントソフトウエアを使用してホストに対して能力を付加する。ＵＳＢ装置レイヤー１６及び機能レイヤー１８の各々は、それらのレイヤー内の論理的通信を検分し且つデータ転送のためにＵＳＢバスインターフェースレイヤー１４を使用する。ＵＳＢホスト１０は全体的なＵＳＢシステムを調整し、アクセスを制御し、且つＵＳＢトポロジィをモニタする。
【００３５】
クライエントソフトウエア及び機能レイヤー１８及びＵＳＢシステムソフトウエア３６及びＵＳＢ論理装置３０の間に論理的通信が存在している。実際のパケットはＵＳＢホストコントローラ２８とＵＳＢバスインターフェース回路２２との間で流れる。
【００３６】
知られているように、ＵＳＢ物理的装置はホストに対して機能性を付加し且つ同一のインターフェースを有している。且つ物理的装置はコンフィギュレーション（形態特定）に関連するデータを担持し且つ報告し、それはホストへ転送されてホストがＵＳＢ装置を識別し且つコンフィギュア即ち形態特定することを可能とさせる。典型的に、ＵＳＢ上の装置はハブを包含する層型スタートポロジィを使用するホストへ接続されている。一方、ホストは、あたかもそれが直接ルートポートへ接続されているかのように各論理的装置と通信を行う。クライエントソフトウエアは興味のあるインターフェースとしてのみ装置のＵＳＢ機能インターフェースを操作する。
【００３７】
理解すべきことであるが、実際の通信は幾つかのインターフェース境界を横断して流れる。ホストに対する２つのソフトウエアインターフェースはホストコントローラドライバ（ＨＣＤ）とＵＳＢドライバ（ＵＳＢＤ）である。ＵＳＢホストコントローラ７８とＵＳＢシステムソフトウエア７６との間のソフトウエアインターフェースは、ホストコントローラドライバを実現し、且つホストソフトウエアがいずれか特定の実現例に依存することの必要性なしに、ホストコントローラが機能を実現することを可能とさせる。１個のＵＳＢドライバは異なるホストコントローラをサポートすることが可能である。ホストコントローラ実現例の特定の知識は必要とされない。
【００３８】
ＵＳＢ論理装置３０は一群のエンドポイントと考えることが可能であり且つインターフェースを実現するためにエンドポイントの組にグループ化されている。ＵＳＢシステムソフトウエア３６は、エンドポイントゼロ３２へのデフォルトパイプ３４を使用して、装置を管理するか又は制御する。クライエントソフトウエア４２は、１つのエンドポイントの組と関連するパイプバンドル４４を使用してインターフェースを管理する。データは、クライエントソフトウエアがそのデータを必要とする場合に、ホスト１０上のバッファとＵＳＢ装置１２上のエンドポイントとの間で移動される。データ転送の方向に依存して、ホストコントローラ２８か又はＵＳＢ装置１２がそのデータをパケット化し且つそのパケットをバスを介して転送させる。それは、又、バスアクセスを調整する。ホストは、物理的装置の通信条件及びＵＳＢにより与えられる転送特性とマッチすべく設計される所望の通信を使用して物理的装置と通信を行う。
【００３９】
該エンドポイントは、ホストとの間の通信を終了させる装置の識別可能な部分である。それは一群の独立したエンドポイントとすることが可能である。デフォルト制御が入力及び出力エンドポイント及びデフォルトパイプ３４の一部としてエンドポイント番号「ゼロ」を使用する。
【００４０】
データトランスポートメカニズムは、ホストコントローラ２８とホスト１０におけるＵＳＢシステムソフトウエア３６との間のデータの転送を包含している。ＵＳＢシステムソフトウエア３６とホスト１０におけるクライエントソフトウエア４２との間のデータトランスポートメカニズムとしてバッファを使用することが可能である。その他のデータトランスポートメカニズムは、ホストコントローラ２８とホストのＵＳＢバスインターフェース内のシリアルインターフェースエンジン２６との間のトランズアクションを包含している。
【００４１】
データトランスポートメカニズムは、又、ＵＳＢバスインターフェース回路２２と物理的装置１２におけるＵＳＢ論理装置３０との間のエンドポイント当たりのデータとして存在している。機能３８（インターフェース４０と共に）とエンドポイントゼロ３２との間のデータトランスポートメカニズムはインターフェース特定的である。
【００４２】
トランスポートされたデータのＵＳＢ関連フォーマットは、シリアルインターフェースエンジン２６とホストコントローラ２８との間及びホストコントローラ２８とホスト１０におけるＵＳＢシステムソフトウエア３６との間のＵＳＢフレームデータとして発生する。データをトランスポートするＵＳＢフォーマットは、インターフェースを管理するクライエントソフトウエア４２とＵＳＢシステムソフトウエア３６との間には存在しない。
【００４３】
装置１２において、トランスポートされたデータのＵＳＢ関連フォーマットは、ＵＳＢバスインターフェース回路２２とＵＳＢ論理装置３０との間のＵＳＢフレームデータとして存在する。データのＵＳＢフォーマットはインターフェース４０と装置１２におけるエンドポイントゼロ３２との間において発生することはない。
【００４４】
ＵＳＢホスト及び装置の機能性及びデータフローの更なる詳細はユニバーサルシリアルバス仕様改定版２．０、第５章「ＵＳＢデータフローモデル」において記載されており、尚その記載内容を引用によって本明細書に取込む。
【００４５】
本発明は、スマートカード又はユニバーサルシリアルバススマートカード装置（ＵＳＢ）１００をシミュレートする機能性を組込んでおり且つソフトウエア開発コンピュータ１０２上でランするソフトウエアとしてのＵＳＢスマートカードシミュレータ１０１と、図２に示したようなＵＳＢホストコントローラ１０６を具備するホストコンピュータ１０４との間の通信を与える。
【００４６】
図３には第一実施例が示されており、ソフトウエア開発コンピュータ１０２のシリアルポート１１０のうちの１つがＵＳＢペリフェラル１１２を介してシミュレータ１０１へデータを送り又はそれからのデータを受取る。該データはシリアルケーブル１１４を介してＵＳＢ−シリアルマイクロコントローラ１１６としてのチップマイクロコントローラへ送信され、該マイクロコントローラ１１６はプロトコル変換器として作用する。それは、シリアルプロトコルをＵＳＢプロトコルへ変換するためのファームウエア１１８を包含している。チップ又はＵＳＢ−シリアルコントローラ１１６は、シミュレータ内に定義されているＵＳＢプロトコルを使用し且つＵＳＢケーブル１２０を介してＵＳＢホストコンピュータ１０４に対して通信を行う。例示したように、ソフトウエア開発コンピュータ１０２はスマートカードシミュレータ１０１とＵＳＢペリフェラル１１２とを包含している。これらはＵＳＢ、シリアルマイクロコントローラ１１６の一部としてのファームウエア１１８と通信を行う。ＵＳＢ−シリアルマイクロコントローラ１１６は変換を実施し且つシリアル及びＵＳＢペリフェラル１２４を包含している。該ＵＳＢペリフェラルはシミュレートするための製品と同一の特徴を有するものでなければならない。例えば、該マイクロコントローラは制御、バルク、インタラプト及びアイソクロノス転送モードの４つのＵＳＢ転送モードをサポートすべきである。
【００４７】
シリアル通信リンクを介してＵＳＢ情報を転送するために特別のプロトコルが定義されている。例えば、転送のタイプに関する情報のみならず、循環冗長性チェック（ＣＲＣ）も転送されねばならない。シリアルインターフェースＲＳ２３２は１１５Ｋｂｉｔ／ｓの最大速度で動作し、一方ＵＳＢのフルスピードは１２Ｍｂｉｔ／ｓ（及び、ＵＳＢ仕様改定版２．０の場合には４０Ｍｂｉｔ／ｓ）であるので、ある程度の速度に関する制限が存在している。シミュレータ速度はコンピュータペリフェラル速度及びシミュレータの実現に依存する。
【００４８】
前述したように、ＵＳＢ−シリアルマイクロコントローラ１１６は同一のハードウエアコンフィギュレーション、即ちＵＳＢスマートカードシミュレータ１０１と同一のエンドポイント数、エンドポイントタイプ、及びその他のファクタを有するものでなければならない。ＵＳＢ−シリアルマイクロコントローラ１１６のファームウエアは入力スタック１３０及び出力スタック１３２（図３）として２個のソフトウエアスタックを実現する。各スタック項目は以下の情報を与える。
【００４９】
ａ）パケットタイプ（制御、バルク、インタラプト、アイソクロノス）
ｂ）データペイロード
ｃ）エンドポイントアドレス
ｄ）エンドポイント数
ｅ）転送状態（即ち、どのトランズアクション及びどのパケットがそのトランズアクション内にあるか）。
【００５０】
入力スタック１３０はホストコンピュータ１０４からＵＳＢ−シリアルマイクロコントローラ１１６への全ての転送を記録する。ホストコンピュータ１０４はＵＳＢパケットをＵＳＢ−シリアルマイクロコントローラ１１６へ送る。マイクロコントローラファームウエア１１８はＵＳＢパケットをデコードし且つ入力スタック１３０を充填させる。ＵＳＢ−シリアルマイクロコントローラは入力スタック１３０を読取り且つそれをシリアルパケットへ変換し且つそれをスマートカードシミュレータ１０１へ転送する。
【００５１】
出力スタック１３２はスマートカードシミュレータ１０１からＵＳＢ−シリアルマイクロコントローラ１１６への転送を記録する。スマートカードシミュレータ１０１はシリアルデータをＵＳＢ−シリアルマイクロコントローラへ転送し、そこでそのファームウエア１１８はシリアルパケットをデコードし且つ出力スタック１３２を充填させる。ＵＳＢ−シリアルマイクロコントローラ１１６は該スタックを読取り且つそれをＵＳＢフォーマットへ変換させ且つデータをホストコンピュータ１０４へ転送する。
【００５２】
サスペンドモードにおいてシングルエンドゼロ（ＳＥ）をシミュレートするために、ホストコンピュータへ特別のフラッグを送ることが可能である。シングルエンドゼロバス状態は、スタート・オブ・パケット（ＳＯＰ）、即ちパケットの始め、及びエンド・オブ・パケット（ＥＯＰ）、即ちパケットの終りと共に動作可能である。エンド・オブ・パケットは、Ｄ＋及びＤ−を２ビット時間の間ＳＣＯ状態へ駆動することにより信号処理することが可能である。Ｊ状態へのラインは１ビット時間の間駆動することが可能である。このシングルエンドゼロからＪ状態への遷移は、エンド・オブ・パケットが受取られたものとして定義する。Ｊ状態は１ビット時間の間アサート即ち活性化することが可能であり、一方Ｄ＋及びＤ−出力ドライバは高インピーダンス状態にある。サスペンドモードに関して、バス終端抵抗はバスをアイドル状態に保持することが可能である。装置は任意のパワー即ち電力が供給された状態からサスペンドモード（即ち状態）とさせることが可能である。例えば、スタート・オブ・フレーム、即ちフレームの始め、のトークンを包含する送信を終了することによりバス全体をサスペンド状態とさせることが可能である。レジューム即ち再開に続いてグローバルサスペンド及び選択的サスペンドとさせることが可能である。
【００５３】
図４はスマートカードＵＳＢ装置と図３のホストとの間の制御書込転送に対するプロトコルの例を示している。ＵＳＢデータパケットがシリアルデータパケットへ変換されることが示されている。シリアルＡＣＫパケットはＵＳＢ  ＡＣＫパケットへ変換される。このプロトコルの例においては下流側へ前進するタイムフレーム全体にわたって、例えばＯＵＴ、データ、ＡＣＫ、ＩＮ、データ及びＡＣＫパケットに対して、ＵＳＢパケットからシリアルパケットへの変換が発生する。
【００５４】
理解すべきことであるが、図３に示した実施例を使用するデータ転送に対するボトルネックはシミュレータの場所に位置している。ＵＳＢホスト１０４から来る全てのデータの記録を維持するためにシミュレータ１０１内に特別のバッファ特徴を実現することが必要である。
【００５５】
図５に示した２番目の実施例は、スマートカードシミュレータ２０４へデータを送り又はそれからデータを受取るためにスマートカードＵＳＢ装置２０３を形成するソフトウエア開発コンピュータ２０２のＵＳＢホストコントローラ２００を使用することによりこの問題に対処している。通信速度は、図３のシミュレータ及び実施例を使用した場合の１１５Ｋｂｉｔ／ｓの代わりに、１２Ｍｂｉｔ／ｓ（又は４０Ｍｂｉｔ／ｓ）である。データはＵＳＢケーブル２１０を介してＵＳＢ−ＵＳＢマイクロコントローラ２１２として動作可能なチップマイクロコントローラであるＵＳＢ装置へ送信され、該マイクロコントローラ２１２は２個のＵＳＢペリフェラル２１４，２１６を管理する。ＵＳＢ−ＵＳＢマイクロコントローラ２１２は、シミュレータ内に定義されているＵＳＢプロトコルを使用してホストコンピュータ２２２のＵＳＢホストコントローラ２２０に対して通信を行う。ＵＳＢ−ＵＳＢマイクロコントローラ２１２は両方のＵＳＢペリフェラル２１４，２１６のデータ転送を調整する。ＵＳＢペリフェラルのうちの一方はシミュレートされる製品と同一の特徴を有するものでなければならず、従って、ＵＳＢ−ＵＳＢマイクロコントローラは、典型的に、全てのＵＳＢ転送モード（制御、バルク、インタラプト、アイソクロノス）をサポートする。
【００５６】
ＵＳＢ−ＵＳＢマイクロコントローラ２１２のファームウエア２３０は図５に示したような２個のソフトウエアスタック、即ち入力スタック２３２及び出力スタック２３４を実現することが可能である。各スタック項目はＵＳＢパケット全体を保持することが可能である。
【００５７】
図５の実施例に示したように、ＵＳＢ−ＵＳＢマイクロコントローラ２１２はＵＳＢペリフェラルの間のデータ転送を調整する。プロトコルは、スマートカードシミュレータ２０４とＵＳＢ−ＵＳＢマイクロコントローラ２１２との間のＵＳＢチャンネルを介してのＵＳＢ情報の転送を画定することが可能である。ＵＳＢペリフェラルの推奨されるコンフィギュレーションは、ＵＳＢ−ＵＳＢマイクロコントローラ２１２をコンフィギュア即ち形態特定するための制御転送エンドポイントである。ＩＮ方向におけるインタラプト転送エンドポイントは、何時ＵＳＢホストコントローラ２２０がスマートカードシミュレータへコマンドを送ろうとするかを知得する。このことは、スマートカードシミュレータ２０４が最小の遅延でデータを要求することを保証する。バルク転送エンドポイント（ＩＮ及びＯＵＴ）は大量のデータを転送する。
【００５８】
ＵＳＢ−ＵＳＢマイクロコントローラ２１２のファームウエア２３０は入力スタック２３２及び出力スタック２３４として２つのソフトウエアスタックを実現する。各スタック項目はＵＳＢパケットデータの全体を保持する。スマートカードシミュレータ２０４とＵＳＢ−ＵＳＢマイクロコントローラ２１２との間にインタラプトＩＮ転送が達成される。それは、パケットを送るホストコンピュータ２３２とそのパケットに答えるスマートカードシミュレータ２０４との間に気が付くような遅延を有するものではない。例えばホストコンピュータ２２２がＵＳＢ−ＵＳＢマイクロコントローラ２１２へパケットを転送する場合に、そのパケット及びＵＳＢ転送タイプが入力スタック２３２内に格納される。インタラプトトランズアクションが発生すると、最初に格納されたパケットがスマートカードシミュレータ２０４へ転送される。
【００５９】
スマートカードシミュレータ２０４は、又、ホストコンピュータ２２２に対して回答を行う。それはＵＳＢ転送タイプによって特定されたＵＳＢタイプにおいて回答パケットをＵＳＢ−ＵＳＢマイクロコントローラ２１２へ送り且つそのパケットを出力スタック２３４内に格納する。該パケットはその現在のフォーマットでホストコンピュータへ送られる。ＵＳＢ−ＵＳＢマイクロコントローラ２１２とホストコンピュータ２２２との間のＵＳＢ通信は最終的なチップに対する実際のＵＳＢ通信である。サスペンドモードにおいてシングルエンドゼロをシミュレートするために特別のフラッグがホストコンピュータへ送られる。
【００６０】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【００６１】
【図１】種々のデータトランスポートメカニズム、パイプ、及びユニバーサルシリアルバス仕様改定版２．０において使用されるようなホストと相互接続されている物理装置との間でトランスポートされるデータのＵＳＢ関連フォーマットを示したＵＳＢホスト／装置のブロック図。
【図２】ホストコンピュータ及びＵＳＢホストコントローラへ接続されているスマートカードＵＳＢ装置としてのソフトウエア開発コンピュータ及びシミュレータを示した本発明の概略ブロック図。
【図３】ソフトウエア開発コンピュータ、ＵＳＢ−シリアルマイクロコントローラ、ホストコンピュータを使用しており且つ入力スタックと出力スタックとを示している本発明の第一実施例を示した概略ブロック図。
【図４】本発明と共に使用することが可能な制御書込転送に対するプロトコルの１例を示した概略図。
【図５】ソフトウエア開発コンピュータを使用しているがホストコンピュータへ接続されているＵＳＢ−ＵＳＢマイクロコントローラを使用しており且つ入力スタックと出力スタックとを示しており図３に類似した本発明の第二実施例を示した概略ブロック図。
【符号の説明】
【００６２】
１００  ユニバーサルシリアルバススマートカード装置（ＵＳＢ）
１０１  ＵＳＢスマートカードシミュレータ
１０２  ソフトウエア開発コンピュータ
１０４  ホストコンピュータ
１０６  ＵＳＢホストコントローラ
【図１】
2004280818.tif 000003
【図２】
2004280818.tif 000004
【図３】
2004280818.tif 000005
【図４】
2004280818.tif 000006
【図５】
2004280818.tif 000007