JP2004362579A - バッファリングインターフェースを使用するスマートカードエミュレーター及び関連方法 - Google Patents

バッファリングインターフェースを使用するスマートカードエミュレーター及び関連方法 Download PDF

Info

Publication number
JP2004362579A
JP2004362579A JP2004164696A JP2004164696A JP2004362579A JP 2004362579 A JP2004362579 A JP 2004362579A JP 2004164696 A JP2004164696 A JP 2004164696A JP 2004164696 A JP2004164696 A JP 2004164696A JP 2004362579 A JP2004362579 A JP 2004362579A
Authority
JP
Japan
Prior art keywords
functional
block
buffering
smart card
emulator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004164696A
Other languages
English (en)
Inventor
Taylor J Leaming
ジェイ. リーミング テイラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Original Assignee
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ST MICROELECTRONICS Inc, STMicroelectronics lnc USA filed Critical ST MICROELECTRONICS Inc
Publication of JP2004362579A publication Critical patent/JP2004362579A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06187Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with magnetically detectable marking
    • G06K19/06206Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with magnetically detectable marking the magnetic marking being emulated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Information Transfer Systems (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

【課題】 異なるクロック速度で動作する機能的ブロック(バーチャルコンポーネント)の間にインターフェースを具備するスマートカード用のエミュレーターを提供する。
【解決手段】 スマートカード装置用のエミュレーター及び関連方法は、スマートカード装置のための機能的ブロックとして且つ異なるクロックドメインで動作可能な少なくとも2個のバーチャルコンポーネントを有している。機能的バッファリングブロックは、機能的ブロックと通信を行うため及び機能的ブロックの間でバッファリングを行い且つエミュレーションを可能とすべく動作可能である。
【選択図】 図1

Description

本発明は情報処理及び格納の分野に関するものであって、更に詳細には、スマートカードエミュレーター及び関連方法に関するものである。
スマートカードは、セキュリティ及び個人の識別適用例に対して益々ポピュラーなものとなっている。例えば、スマートカードは、現在、医学的な記録、バンキング情報、及び同様のデータ条件等のセンシティブなデータ即ち機微データを格納するために使用されている。多分、その最も一般的な形態においては、スマートカードは、寸法、形状、及び厚さにおいてクレジットカードに類似したカード本体を具備しており、且つ、例えば、プラスチック等の同様の物質から構成することが可能である。標準的なクレジットカードが行っているようにセンシティブな情報(例えば、口座番号、ユーザの識別等)を格納するために磁気ストライプを設ける代わりに、スマートカードは、通常、集積回路(IC)を包含している。このICは、センシティブなデータを格納するための非揮発性メモリを包含するだけでなく、それは、又、このデータを処理し且つ例えばカード読取器を介してホスト装置と通信を行うためにマイクロプロセッサを包含している場合がある。スマートカードは磁気ストライプカードよりもより多くの情報を格納することが可能であるばかりか、より大きな機能性を有している。
スマートカードのような装置の動作及び通信を標準化するために種々のプロトコルが出現している。これらのうちの最も速いもののうちの1つは、国際標準化機構(ISO)によって開発されており、且つISO7816−Xプロトコルとして知られている。特に、このプロトコルは、例えば、ISO文書ISO7816−1(物理的特性)、ISO7816−2(寸法及びコンタクトの位置)、ISO7816−3(電子的信号及び送信プロトコル)、ISO7816−10(電子的信号及び同期的カード用のリセットに対する回答)、及びISO7816−12(USBインターフェース)において記載されており、それらの全ては、引用によりその全体を本明細書に取込む。
更に、ユニバーサルシリアルバス(USB)アーキテクチャが益々評判になることに応答し、USBプロトコルに従って動作するより多くの数のスマートカードが継続して開発されている。このプロトコルはUSBインプリメンターズフォーラムによって発行されているユニバーサルシリアルバス仕様、2.0改定、2000年4月27日に記載されており、その全体を引用により本明細書に取込む。USBアーキテクチャは、例えば、コンピュータ外部の装置に対する標準の「プラグアンドプレイ」インターフェースを与えるので特に有益的である。外部周辺装置を比較的迅速且つ容易にインストールすることが可能であり且つコンピュータをリブート又はパワーダウンすることの必要性なしに、例えばコンピュータ等のホスト装置から取り外すことが可能である。
複雑なコンピュータシステム及び装置に対する殆どの生産開発サイクルは、最終的な製品が使用可能となる前にその製品の機能的な等価物を必要とする。この機能的等価物は、典型的に、エミュレーター、又はハードウエアエミュレーター(HWE)と呼称される。HWEは、プロダクトエンジニアがその製品の物理的な回路及び/又はコンポーネントを仕上げ且つテストする間に、その製品に対するアプリケーション開発者がその装置用のソフトウエアアプリケーションを開発し且つデバッグすることを可能とする。
スマートカードに関しては、HWEエミュレーターは、最終的なスマートカード集積回路内に究極的に埋めこまれることとなる新たなアプリケーションを開発し、テストし、且つデバッグするために一般的に使用される。HWEは、最終製品(例えば、スマートカード集積回路)の実世界の機能性を可及的に密接して一致する機能性を提供すべきである。このエミュレーションは、又、例えばデュアルISO/USBスマートカードのような複雑なデュアルモードスマートカードに対しても適用可能であるべきである。このようなデュアルモードスマートカードの1つは、本願出願人に譲渡されているFruhauf et al.の米国特許第6,439,464号に記載されており、その記載内容全体を本明細書に取込む。
プロトタイプ製作又は生産の前にスマートカード(又はその他の)チップ設計をシミュレートするために電子的設計自動化(EDA)ソフトウエアツールがしばしば使用される。設計者は、しばしば、機能的なコンポーネントを画定し且つそれらをより小さなコンポーネントへ分解させるためにハードウエア記述言語(HDL)、例えばベリログ(Verirog)(商標)又はVHDLを使用する。ソフトウエアルーチンは回路レイアウト内の特定の座標位置における論理セル内に配置され且つ経路付けされる。
バーチャルコンポーネント(VC)ブロック、バーチャルコンポーネント、又はIPブロックとも呼ばれる機能的ブロックは、しばしば、予備設計回路機能として設計者により使用される。多くの場合において、これらの機能的ブロックはソフトウエア形態におけるプレハードン即ち固化前又はセミハードン即ち準固化させた回路設計であり、それらは再使用されるか又はより大型の回路設計内へリサイクルされる。バーチャルコンポーネントブロックの使用は全体的な回路設計時間を減少させ且つ最終的な設計が市場に到達することが可能な速度を増加させる。バーチャルコンポーネントとしてのこれらの機能的ブロックは、又、論理的及び機能的な観点から予めテストし且つ検証することが可能である。
エミュレーターは、しばしば、機能的ブロック及び「システム・オン・チップ」(SoC)ソリューションに対するバーチャルソケットインターフェース(VSI)を具備するベースラインアーキテクチャを使用する。幾つかの機能的ブロックが、特に、特定のICと共に使用するために設計されており、且つその他の機能的ブロックは、その他のICと共に使用するために設計されており且つ内部及び/又は外部ソースから得られる。
バーチャルソケットインターフェース(VSI)アライアンスアーキテクチャドキュメントバージョン1.0は、シリコンの単一片上における複数個のブロックの効率的且つ正確な集積化、検証及びテストを可能とするために機能的ブロックを作成するためのハードウエア及びソフトウエアインターフェース、フォーマット及び設計プラクティスを特定しており、尚その記載内容全体を引用により本明細書に取込む。VSI標準は、コンポーネントを基礎としたソリューションを使用してIC設計を行うことを可能とするためにHDL記述と共に動作する。機能的ブロックとしてのバーチャルコンポーネントは設計環境において使用され、且つより特定的には、バーチャルソケット設計環境において使用される。典型的に、バーチャルコンポーネントはソフト、ファーム又はハードとすることが可能である。通常、バーチャルコンポーネントは、集積化及び検証を簡単化させるために予め定義した組の特性を有する標準フォーマットである出力を持った1組の仕様に対して設計された機能的ブロックである。
前述したように、好適なUSBスマートカード装置(USD)に対して設計されたスマートカード集積回路は、最終的なシリコン製品となる充分前に機能的に等価な代表例に対する設計を必要とする。エミュレートしたバージョンは、必ずしも、最終的なシリコンと同一のクロックレートで動作するものではないことが予測される。然しながら、今日のエミュレーションツール及び環境の特性に起因して、それらのシリコン形態の僅かな一部においてのみ完全な製品をエミュレートすることが可能である。勿論、このことは、設計の特性及び複雑さ、及び設計をエミュレーターのリソース内に実現させるためのエミュレーションツールの能力に依存する。
例えば、ターゲットのHDL設計を実現するフィールドプログラマブルゲートアレイ(FPGA)装置からなる大型のアレイを使用するエミュレーターは、支配的にその設計のデジタル部分において数百キロヘルツ(KHz)において動作可能であるに過ぎない場合がある。アナログ部分は、通常、メインのエミュレーターに対する機能的に等価な「アタッチメント」即ち付属物として実現されねばならない。
カスタム設計されたエミュレーターパッケージの場合でも同様の問題をこうむる。有用であるために実世界の速度において外界に対するインターフェースが機能せねばならない場合には、このことは技術的な兆戦を提起する。トップレベルの機能的ブロック又はサブブロック又はバーチャルサブコンポーネントがエミュレートされねばならないが、又、それら自身のクロックドメインにおいて機能せねばならない場合に1つの欠点が発生する。これらのドメインは、典型的に、種々の理由によりエミュレーションにおいて広いマージンだけ分離されているが、このマージンは最終的なat−speed即ち実効速度におけるシリコン製品において管理可能である。エミュレーションの目的のためには、このトップレベルの設計は動作しない。
通常、設計が修正されねばならず、そのことは、又、オリジナルの設計に忠実ではない設計をエミュレートすることの危険性を増加させる。従って、今の所2つの異なる設計が存在しており、即ち(1)最初の設計が製造へ移行し、且つ(2)2番目の設計がエミュレーターへ移行し、その結果、早期の開発作業のために重要な顧客へ送られる場合がある。
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、異なるクロック速度において動作する機能的ブロック又はバーチャルコンポーネントの間のインターフェースを具備するスマートカード用のエミュレーターを提供することを目的とする。
本発明は、バーチャルコンポーネント(機能的ブロック)として標準の既製の知的所有権を使用し且つ異なるクロックドメインにおいて動作する機能的ブロックを具備する設計におけるバーチャルコンポーネント(機能的ブロック)の間のバッファリングの実効的なトランスペアレントなウエッジを提供する。このことは、設計を修正することなしに達成され、エミュレーション環境においてそれが動作することを可能とする。同一の設計は、機能的サブブロックの各々がその設計仕様に従って動作する限り、その最終的なシリコン実現例においてその仕様に従って機能することが可能である。2個又はそれ以上の機能的サブブロックの間の非同期的な切れ目を取扱うことが可能である。
本発明は、バーチャルコンポーネントとして各トップレベルの機能的サブブロックに対して柔軟性があり且つロバスト即ち堅牢な非同期的インターフェースを付加し且つ、これら2個の機能的サブブロックの間に、ダイナミックバッファとして作用するバーチャルコンポーネントとして新たな機能的ブロックを導入する。それは、又、2個の非同期的インターフェースを有している。この機能的な「バッファリング」ブロックの包含又は排除は、メインの設計に対してその他の修正を必要とすることなしに、コンパイル・タイムフラッグによって管理することが可能である。
この機能的バッファリングブロックの設計内への包含は、エミュレーション環境が適切に機能することを可能とする。それは、フィールドプログラマブルゲートアレイ(FPGA)又は物理的なアダプターカードの形態で実現することが可能である。バーチャルコンポーネントインターフェース(VCI)は、その柔軟性及び動作範囲のために機能的ブロックの間において使用することが可能である。エミュレーション環境において使用される場合には、機能的バッファリングブロックのローカル論理が、バッファ内容を管理し且つUSB装置ばかりではなくカスタム論理ブロックをも有する機能的ブロックとしてバーチャルコンポーネントの間の導管を与える。
本発明によれば、スマートカード用のエミュレーターは、スマートカード装置の機能的ブロックとして且つ異なるクロックドメインにおいて動作する少なくとも2個のバーチャルコンポーネントを包含している。機能的バッファリングブロックは、機能的ブロックと通信を行い且つ機能的ブロックの間でバッファリングを行い且つエミュレーションを可能とすべく動作可能である。機能的ブロックは、互いに及び/又は機能的バッファリングブロックと通信するための非同期的インターフェースを包含することが可能である。これらのインターフェースは、バーチャルコンポーネントインターフェースを包含することが可能である。
機能的バッファリングブロックは、機能的ブロックの間のバッファリングを管理するためのローカル論理を包含することが可能である。機能的バッファリングブロックは、コンパイル・タイムフラッグによりバッファリングのために排除するか又は包含させることが可能である。第一機能的ブロックはUSBデバイスコア(UDC)を包含することが可能であり且つそれと通信を行う第二機能的ブロックはカスタム論理ブロック及びバスインターフェースを包含することが可能である。同期ブロックは高速UDC動作を同期させることが可能である。機能的バッファリングブロックは、又、複数個の制御レジスタを包含することが可能である。
本発明の方法は、スマートカード装置のエミュレーションを可能とし且つスマートカード装置用の機能的ブロックとして且つ2つの異なるクロックドメインにおいて動作するバーチャルコンポーネントの間でデータをバッファリングするステップを有している。このバッファリングのステップは、機能的ブロックの間のバーチャルコンポーネントインターフェースを包含する非同期的インターフェースを介してバッファリングを行うステップを包含することが可能である。
以下、本発明の好適実施例を示した添付の図面を参照して本発明をより詳細に説明する。然しながら、本発明は、多くの異なる形態で実現することが可能であり且つ以下に記載する実施例に制限されるものとして解釈されるべきではない。そうではなく、これらの実施例は、本開示が完全なものであり、且つ当業者にとって本発明の範囲を明確にさせるために提供されるものである。尚、同様の参照番号は同様の構成要素を意味している。
本発明は、機能的ブロック又はサブブロックとしてのバーチャルコンポーネント等の標準の既製の知的所有権を使用し、且つ機能的ブロックが異なるクロックドメインにおいて機能する設計において2つの機能的ブロックの間のバッファリングのトランスペアレント即ち透明なウエッジ(wedge)を与える。このことは、エミュレーション環境において動作することを可能とするために設計を修正することなしに達成される。この設計は、例えば、サブコンポーネント等の機能的ブロックの各々がその定義した仕様に従って、動作する限り、その最終的なシリコン実現例においてその仕様に従って機能することが可能である。2個又はそれ以上の機能的ブロック即ちバーチャルコンポーネントの間の非同期的な切れ目は、本発明により取扱うことが可能である。本発明に従って異なるエミュレーションツールを使用することが可能である。
エミュレーションツールは、又、各トップレベルの機能的ブロック即ちバーチャルコンポーネントに対する柔軟性があり且つロバスト即ち堅牢な非同期的インターフェースを提供する。これらのブロックの間において、新たな機能的バッファリングブロックがダイナミックバッファとして作用し且つ図3に示し且つ以下に説明するような2個の非同期的インターフェースを包含している。機能的バッファリングブロックは、メインの設計に対してその他の修正を必要とすることなしにコンパイル・タイムフラッグにより管理することが可能である。
図1及び2は本発明に基づいて使用すべく適合することが可能なスマートカードエミュレーションシステム20を示している。このエミュレーションシステム20は、前述したようなデュアルモードスマートカードシステムのエミュレーションと共に使用するために適合されている。図1及び2に示したエミュレーションシステム20を説明した後に、本発明に基づく図3及び4に示した機能的ブロック及びバッファリングについて詳細に説明する。
図1に示したスマートカードエミュレーションシステム20は、ホスト装置21、該ホスト装置へ接続されているインターフェースコネクタ23、スマートカード読取器を介してホスト装置と通信を行うためのマルチモードスマートカードエミュレーター24を包含している。一般的には、ホスト装置21は何等かのタイプのコンピュータであり、それはパソコン(PC)、ラップトップ、又はスマートカードエミュレーター24について使用するためのテストを実施し又はアプリケーションを開発するためのその他の適宜の装置とすることが可能である。
インターフェースコネクタ23は、スマートカードエミュレーター24がエミュレートする所望のオペレーティングプロトコル又はモード(例えば、ISO7816型カード読取器、USB型カード読取器等)と適合性のあるタイプのものである。説明の便宜上単一のインターフェースコネクタが例示されているが、スマートカードエミュレーター24の動作モードの各々に対して複数個のコネクタ23をホスト装置21へ接続することが可能である。勿論、1つを超える動作モードにおいて動作する多目的コネクタを当業者によって理解されるように使用することも可能である。
更に、インターフェースコネクタ23は、ホスト装置21に関して遠隔的に位置させることが可能であるが、そうすることが必要なわけではない。即ち、幾つかの実施例においては、インターフェースコネクタ23はホスト装置21内に組込むことが可能であり、又は、当業者によって理解されるように、そのハウジングによって担持させることが可能である。更に、幾つかの実施例においては、インターフェースコネクタ23は、スマートカード集積化チップ内に組込むことが可能であり、それは、当業者によって理解されるように、コネクタを、基本的に、パススルーコネクタへ還元させている。
エミュレーター24は、例示的に、任意の所望の動作モードにおいて最終的なスマートカード製品(例えば、スマートカード集積回路)において究極的に実現されるべき種々のスマートカードアプリケーションを実施(即ち、エミュレート)するためのエミュレーション回路25を包含している。例えば、スマートカードは、複数個の同時的な(且つ埋め込まれている)アプリケーション(例えば、ジャバアプレット)を管理することが可能な埋込型のオペレーティングシステムを有することが可能である。これらの埋込型アプリケーションは、ホスト側のアプリケーション(例えば、ユーザログイン及び認証アプリケーション、インターネットに基づくバンキングアプリケーション、オーディオ/ビデオ転送用のデジタル権限管理アプリケーション等)と共同して動作することが可能である。勿論、当業者により理解されるように、本発明に基づいてその他の多数のアプリケーションも使用することが可能である。
エミュレーター24は、又、例示的に、インターフェースコネクタ23へ接続されるべきスマートカードコネクタ26を包含している。特に、例示したスマートカードコネクタ26は、スマートカード本体27、該スマートカード本体により担持されているコネクタモジュール28、エミュレーション回路とインターフェースコネクタ23との間の電気的接続を与えるためのコネクタモジュール上のコンタクト29を包含している。
例示的な実施例においては、コネクタモジュール28はスマートカードの形状係数に対するものである。カードの形状係数に加えて、幾つかの実施例においては、コネクタモジュール28は当業者により理解されるように、SIM即ち「トークン」型形状係数に対するものとすることが可能である。いずれの場合においても、同一のコネクタモジュール28を、一般的なISO及びUSB読取器タイプと接続するために使用することが可能である。例えば、8個のコンタクト29を具備する標準のISOスマートカードコネクタモジュール28を、以下に更に説明するように、エミュレーター24をUSBインターフェースコネクタと接続するために使用することも可能である。勿論、注意すべきことであるが、例えばUSBタイプA(又はミニアチャタイプA)コネクタモジュール28等のその他のコネクタ/コンタクトタイプも本発明に基づいて使用することが可能である。
エミュレーター24は、又、例示的に、第一端部をエミュレーション回路25へ接続した第一及び第二ケーブル組立体30,31、及び該ケーブル組立体の第二端部とスマートカードコネクタ26との間に接続したインターフェース装置32を包含している。該インターフェース装置は、スマートカード読取器23の動作モードに基づいて、選択したケーブル組立体30,31をコンタクト29のうちの所定のものへ電気的に選択的に接続させるためである。
特に、各ケーブル組立体30,31は、エミュレーション回路25の夫々の動作モード期間中に信号通信のために使用される。即ち、エミュレーション回路25が第一動作モードにおいて動作している場合に、それは第一ケーブル組立体30を介してインターフェースコネクタ23と通信を行い、且つそれが第二動作モードにある場合には、第二ケーブル組立体31を介して通信を行い、このことについては以下に更に詳細に説明する。
ケーブル組立体30,31は、例示的に、l及びm個の信号線を夫々包含しており、それらは、実現される動作モードに依存して同数(又は異なる数)とすることが可能である。更に、コンタクト29の数nも信号線l,mの数と異なるもの(又は同じ)とすることが可能である。即ち、幾つかの実施例においては、以下に更に詳細に説明するように、動作モードのうちの1つ又はそれ以上に対して必要とされるものよりもより多くのコンタクト29が存在する場合がある。
インターフェース装置32は、例示的に、インターフェースコネクタ23の動作モードを検知するためにコンタクト29へ接続しているモード検知回路35を包含している。更に、インターフェース装置32は、又、例示的に、検知された動作モードに基づいて、選択されたケーブル組立体30,31を該コンタクトのうちの所定のものへ選択的に且つ電気的に接続させるためにモード検知回路35へ接続されているスイッチング回路36を包含している。
従って、理解されるように、本発明のスマートカードエミュレーター24の場合には、複数個のスマートカード動作モードを与えるために複数個のスマートカードコネクタ26を使用することは必要ではない。何故ならば、インターフェース装置32がインターフェースコネクタ23の動作モードを検知し且つそれに基づいて適宜の信号スイッチングを実施するからである。従って、マルチモードのスマートカードエミュレーターの各ケーブル組立体に対して必要とされるような別個の「ポット」を回避することが可能である。
前述したことは、更に、図2に例示的に示したエミュレーター24′の特定のデュアルモードISO/USD実施例を参照して更に理解される。当業者により理解されるように、ISO7816−2仕様は、インターフェースコネクタ23とISOスマートカードとの間に最大で8個の接続C1−C8を必要とする。例示した例においては、接続C1−C8は、夫々、コンタクト29a′−29h′に対応している。コンタクト29a′(C1)は供給電圧VCCに割当てられ、コンタクト29b′(C2)はリセット信号RSTに割当てられ、コンタクト29c′(C3)はクロック信号CLKに割当てられ、コンタクト29e′(C5)はGND基準電圧へ割当てられ、コンタクト29f′(C6)は可変供給電圧VPPへ割当てられ、且つコンタクト29g′(C7)はデータ入力/出力(I/O)へ割当てられる。
非同期的ISO7816−10アプリケーションにおいて、タイプ2動作条件下において、コンタクト29d′(C4)が機能コードFCBへ割当てられ、且つコンタクト29h′(C8)は、その他の非同期アプリケーションに対して使用することも可能である。勿論、コンタクトの割当ては異なる実現例に対して異なるものとすることが可能であり、且つ各実現例に対して全てのコンタクト29a′―29h′が必要とされるわけではない。例えば、クラスB動作条件下における非同期ISOスマートカードは、コンタクト29f′(C6)上の電圧VPPを必要とするものではなく、一方クラスA動作条件下における非同期スマートカードはそれを必要とする。更に、ある動作条件下における同期的スマートカードは、コンタクト29h′(C8)を、例えば、ヒューズ溶断能力に対して割当てることが可能である。
一方、USB動作は、通常、ホスト装置21とエミュレーション回路25′との間において4個の信号接続を必要とするに過ぎない。特に、USB仕様は、動作電圧Vbus及び接地GNDに対し専用の線を必要とする。従って、USB動作モードにおける場合には、これらの信号は、例えば、夫々、ISO供給電圧Vccコンタクト29a′(C1)及びISO接地GNDコンタクト29e′(C5)へマッピングすることが可能である。同様に、USB仕様は、又、差動データ信号線D+及びD−の使用を必要とし、そのことは、例えば、コンタクト29d′(C4)及び29h′(C8)へマッピングすることが可能である。コンタクト29c′(C3)、29f′(C6)、29g′(C7)は、例えば、USBモード選択又はその他の機能のために使用することが可能である。勿論、当業者により理解されるように、その他のマッピングを使用することも可能である。
基本的なUSB動作の場合には、USBケーブル組立体30′は、Vbus、GND、D+及びD−信号線を必要とし、一方基本的なISO動作は、ISOケーブル組立体31′が、例示的に示したような、Vcc、GND、RST、CLK、I/O信号線を包含することを必要とする。勿論、与えられたアプリケーションに対して所望とされる場合に、上述したもの以外のコンタクトのいずれかに対する接続のための付加的な線を包含することが可能である。上述したように、USB及びISOケーブリングのための異なる条件のために、別個の「既製の」USB及びISOケーブル組立体30′,31′を使用することがより費用効果的である蓋然性があるが、このようなケーブル組立体は、所望により、幾つかの実施例においては単一のバンドル内に結合させることが可能である。
インターフェース装置は、又、例示的に、USBトランシーバ37′及びISOトランシーバ38′を包含しており、且つエミュレーション回路25′は、例示的に、USB又はISO動作モードにある場合に、上述した信号線を介して、夫々、それらと通信を行うための対応するUSB及びISOトランシーバ39′,40′を包含している。この場合にも、それらの個別的な信号条件のために別個の既製のUSB/ISOトランシーバを使用することがより費用効果的である蓋然性があるが、カスタムコンビネーショントランシーバを幾つかの実施例において、且つ、多分、異なる動作モードでもって使用することも可能である。
エミュレーション回路25′は、又、例示的に、上述したように、最終的な集積回路において実現すべき種々のスマートカードアプリケーションを実施するためのフィールドプログラマブルゲートアレイ(FPGA)41′を包含している。勿論、当業者により理解されるように、その他の適宜の回路を使用することも可能である。
エミュレーター24′の例示的な実施例において、コンタクト29a′−29h′の各々は、モード検知回路35′へ接続されるものとして例示的に示してあるが、それらは、全ての実施例において必要なものではない。更に、幾つかの実施例においては、ユーザが、手作業により、エミュレーション回路25′に対する所望の動作モードを選択することが可能であるように、モード検知回路35′へ接続したインターフェース装置32′を具備するモード選択スイッチ42′を包含することが望ましい場合がある。
モード選択スイッチ42′が与えられた実施例において包含される場合には、モード検知回路35′は上述した「自動的」検知動作を実施することは必要ではなく、そのことは、基本的に、該モード検知回路をスイッチとスイッチング回路36′との間の簡単なインターフェース又は接続へ簡単化させる。勿論、このような機能性は、又、例示したようなスイッチ42′と共に包含させて、柔軟性および多数のエミュレーション環境における使用の簡単化を向上させることが可能である。例示として、モード選択スイッチ42′は単極単投(STST)スイッチとすることが可能であるが、その他の適宜のスイッチを使用することも可能である。
エミュレーション回路25がサポートすべき与えられた動作モードに依存して、モード検知回路35及びスイッチング回路36の実現例は幾分異なる場合がある。例として、モード検知回路35は、例えば、上述した検知(及びオプションとしてのセキュリティ)機能を実施すべき形態とされた例えばFPGA又はその他の回路からなる適宜の制御論理を使用して実現することが可能である。インターフェース装置32の種々の回路は、例えば、当業者により理解されるように、サポートされる動作プロトコルの種々のトリランスを受付ける回路基板上で実現することが可能である。当業者により理解されるように、物理的及び電気的仕様と一致した「レガシー」ISOエミュレーションをサポートすることが幾つかの実施例において望ましい場合がある。
スイッチング回路36に関して、与えられた実施例に依存して、ある設計考慮事項を考慮に入れる場合がある。デュアルUSB/ISO実現例の場合には、ISO及びUSB仕様が、それによりスマートカード及び読取器(ISO)とデバイス及びハブ(USB)との間に接続が構成される物理的電気機械的メカニズムを画定する(注意すべきことであるが、本明細書において使用されるような「スマートカード読取器」という用語は、ISO読取器のみならず、USB「ハブ」及び異なる動作プロトコルに対しその他の同様の接続装置をも包含する)。
一般的に、スイッチング回路36は、2個(又はそれ以上)の異なるインターフェースを共通の終端用アダプタと接続することを可能とするアナログスイッチを包含することが可能である(幾つかの実施例においてはデジタルスイッチングを使用することが可能であるが)。そうであるので、これらのアナログスイッチは、当業者により理解されるように、種々のプロトコルの電気的仕様(電圧、電流、波形及び分散等)に対する一致を与えるために問題の特定の動作モードに対して適切に設計されるべきである。
本願出願人に譲渡されているFruhauf et al.の米国特許出願第09/686,327号は、ISO又は非ISO(即ち、USB)動作を検知するために使用し且つそれに基づいて適宜信号の経路付けを行う回路を包含するデュアルモードスマートカードを開示しており、尚、その全体を引用により本明細書に取込む。当業者により理解されるように、モード検知回路35及び/又はスイッチング回路36に対して、本発明に基づいて同様の回路を使用することも可能であるが、その他の適宜の回路を使用することも可能である。
本発明をデュアルUSB/ISO実現例を参照して特に説明したが、本発明のエミュレーター24は、その他の例示的な動作モード及び2個を超える動作モードに対しても使用することが可能であることが理解される。本発明に基づいて実現することが可能なその他の例示的な動作モード乃至はプロトコルは、ファイヤワイヤ/ファイヤワイヤ2、10/100/1000BaseT、オプチカルファイバー、ファイバーチャンネル等を包含する。一般的に、本発明は、比較的高いデータレートで直列的にデータを移動させようとする技術に対して適している。
本発明の種々の利点及び特徴は以下の説明から明らかである。第一に、エミュレーター24はアダプタ及びケーブリングを不当に増加させることなしにHWEの実世界使用モデル内への比較的シームレスな統合を与えている。そうであるから、本発明は、冗長な外部のごたごたしたもの(即ち、ケーブル、ポット、終端用アダプタ等)の量を減少させるための費用効果的な解決方法を提供すると共に、HWEと予測される読取器装置との間の種々のインターフェースの物理的、電気的及び機械的条件にも対処している。そうであるから、エミュレーター24は、エンドユーザーの観点からこれらのインターフェースの間の比較的簡単で且つ容易な遷移を可能とさせ、更に、エミュレーター24の内側に埋め込まれる機能性への比較的シームレスな態様で且つカスタム設計作業を殆ど実施することなしにこれらの遷移を行わせる。
次に、図3及び4を参照して、本発明のダイナミックバッファリングについて以下に説明する。理解すべきことであるが、本発明は、例えば、最大で500MHzの定格であるメントールグラフィックセラロハードウエアエミュレーター(Mentor Graphic Celaro Hardware Emulator)等の異なるエミュレーションツールセットを使用することが可能である。実世界速度で機能するパソコンを使用することも可能である。予測される実世界速度は約150乃至300KHzである。エミュレーション用の別のツールセットは、フルスピードUSBデバイスコントローラを受付けるべく修正した設計を有するカスタム化したスタンドアローンエミュレーター、及び約10の予測される実世界速度を有するアナログトランシーバを包含することが可能である。
ハードウエアエミュレーターの場合には、システムのバーチャルモデルをハードウエアエミュレーター内部に作成し且つ検証として秒、分又はそれより長い間実時間で動作させることが可能である。ハードウエアエミュレーターは、数百万のゲート能力を具備し且つレジスタトランスファロジック(RTL)設計のための完全に自動化した流れ及びRTLメモリ用のメモリインターフェースを具備するマルチユーザプロジェクトリソースを使用することが可能である。このシステムは、異なるクロックドメインで動作することが可能であり、埋込型マルチポートメモリを具備する数メガバイトの拡張したオンボードのデュアルポート設計メモリを使用する。
通算は夫々ブロックA及びブロックBとラベルを付けたバーチャルコンポーネントとしての2個の機能的ブロック100,102を示しており、且つ回路設計に依存して機能的サブブロックとすることが可能な各トップレベル機能的ブロックへ付加したバーチャルコンポーネントインターフェース(VCI)104,106としての非同期インターフェースを示している。機能的ブロックB102はUSB接続110、USBデバイスコア(UDC)112、同期ブロック114、インターフェース106を包含している。機能的ブロックA100は、バーチャルコンポーネントインターフェース100、カスタムロジックブロック120、エスティマイクロエレクトロニクス社によって製造されるようなスマートカードプロセッサとして使用されるST22MPU等の例えば32バイトRISCプロセッサであるCPU124と共に動作可能なCPUバスインターフェース122を包含している。
ダイナミック機能的バッファリングブロック130はブロックCのラベルを付してあり且つダイナミックバッファとして動作すべくブロックAとブロックBとの間に挿入したバーチャルコンポーネントブロックとすることが可能である。それは、又、非同期インターフェースを包含しており、それは、本発明の1実施例においては、バーチャルコンポーネントインターフェース132,134である。機能的バッファリングブロックC130は、カスタムグルー(glue)ロジック、制御レジスタ及び大略136で示したバッファを包含している。機能的バッファリングブロック130を包含させること又は排除することは、メインの設計に対してその他の修正を必要とすることなしに、コンパイル・タイムフラッグによって管理することが可能である。機能的バッファリングブロック130を設計内へ包含させることは、エミュレーション環境が適切に機能することを可能とさせる。それは、フィールドプログラマブルゲートアレイ(FPGA)又は、物理的なアダプタカードによって所要に応じ実現することが可能である。
機能的バッファリングブロック130は、片側が機能的ブロックAへ接続させ且つ反対側を機能的ブロックBへ接続させることが可能である。この例においては、その柔軟性及び動作範囲のためにバーチャルコンポーネントインターフェースが使用される。
エミュレーション環境において使用される場合には、機能的バッファリングブロックにおけるローカル論理は、バッファリングの内容を管理し且つブロックAとBとの間の導管を与える。機能的バッファリングブロック130を排除することは、2個の機能的ブロックAとBとの間の非同期インターフェースを管理するためにバーチャルコンポーネントインターフェースを使用して機能的ブロックAとBとを直接的に接続させることを可能とする。機能的ブロックB内の同期ブロックは、USBデバイスコア(UDC)をat−speed即ち実効速度において稼動させることを確保し、且つ機能的ブロックAが公称速度からその最終的なシリコンによって測定される速度へ動作することが可能であることを確保する。
テスト環境は図4に示してあり且つカリフォルニア州サンノゼのシリコンコーポレイションによって提供されるようなシリコンIP150を示している。UDCテスト環境154の一部としてのUDCコア152は、カスタムグルーロジック、バッファ、機能的バッファリングブロック158の制御レジスタへのVCIインターフェース156と共に動作することが可能であり、且つマイクロプロセッサのペリフェラルバスインターフェース(P−bus)160と共に動作することが可能である。UDCコア152は、12MHzにおいて動作可能であり且つカスタムグルーロジック、バッファ及び制御レジスタは8MHz/1−300KHzにおいて動作することが可能である。UDCVCIを使用することが可能である。既存のカスタムフロントエンドを拡張し且つP−busインターフェースを再使用し且つUSBVCIを管理するためにVCI光制御を付加することが可能である。カスタムグルーロジック(glue logic)は、30MHzにおいて稼動することが可能であり且つ有用な能力を提供することが可能である。UDCVCIへのVCIインターフェースは、app clk(30MHz)とdev clk(12MHz)との間の所要の同期を取扱うことが可能である。クロック回復ロジック(論理)用のDPLLの置換を有することが可能である。
端点制御に対して発生する場合のある何等かの向上された機能的動作も存在している。VCIか又は非VCIのいずれを使用するかは、INトランズアクションに対してどの端点を選択されるかを本システムがどのようにしてより正確に予測することが可能であるかには殆ど影響を有するものではない。トライバッファデータバッファリングシステムは異なるバッファを包含することが可能である。第一バッファはUDCからデータを受取り且つOS/常駐アプリケーションへ出力する。第二及び第三バッファはOS/常駐アプリケーションからデータを受取り且つそれをUDCへ転送する。
現在のところ、3個のバッファのうちのいずれか2つをIN端点データのために「対構成」とすることが可能であり、その場合にINは予測される。どの端点をINが対処するかは常に既知なことではない。従って、バッファ#2がビジーである場合には、2つの異なる端点に対してINデータをキュー化させるためにバッファ#1及び#3を使用することが可能である。
回転型トリプルバッファスキームも可能である。OSがどのINが最初に来るかに関してヘッジし、且つ前もって2個のバッファをプレロールする。OUTが予測されたINの直後に表われ、且つOUTが64より大きなバイトを送信する場合には、プレロードしたINバッファのうちの1つを破壊することが可能である。このことを決定することは常に可能なわけではない。クワッドバッファ(quad−buffer)スキームは第一及び第二バッファが共に動作可能であり且つ第三及び第四バッファが共に動作可能である場合にこの種類の状態をより良く処理する。
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
本発明に基づいて使用すべく適合させることが可能なスマートカードエミュレーションシステムの概略ブロック図。 本発明において使用するために適合することが可能であり且つデュアルモードISO/USB実施例と共に使用することが可能な図1に例示したスマートカードエミュレーターの概略ブロック図。 バーチャルコンポーネントとしてのトップレベル機能的ブロックを示しており且つ本発明に基づいてそれらの間に機能的バッファリングブロックを具備しているブロック図。 USBデバイスコア(USD)、バーチャルコンポーネントインターフェース(VCI)、グルーロジックと、制御レジスタと、バッファリング及びその他の回路機能を具備するカスタム機能的ブロック、スマートカードマイクロプロセッサ用のペリフェラルバスインターフェースを具備している機能的ブロックを示したテスト環境の別のブロック図。
符号の説明
20 スマートカードエミュレーションシステム
21 ホスト装置
23 インターフェースコネクタ
24 マルチモードスマートカードエミュレーター
25 エミュレーション回路
26 スマートカードコネクタ
27 スマートカード本体
28 コネクタモジュール
29 コンタクト
30,31 ケーブル組立体
32 インターフェース装置
35 モード検知回路
36 スイッチング回路

Claims (34)

  1. スマートカード装置用のエミュレーターにおいて、
    異なるクロックドメインにおいて動作可能でありスマートカード装置の機能的ブロックとしての少なくとも2個のバーチャルコンポーネント、
    前記機能的ブロックと通信を行い且つ前記機能的ブロックの間でバッファリングを行い且つエミュレーションを可能とすべく動作可能な機能的バッファリングブロック、
    を有していることを特徴とするエミュレーター。
  2. 請求項1において、前記機能的ブロックの各々が、更に、互いに通信を行うための非同期的インターフェースを有していることを特徴とするエミュレーター。
  3. 請求項1において、前記機能的ブロックの各々が、更に、互いに及び/又は前記機能的バッファリングブロックと通信を行うためのバーチャルコンポーネントインターフェースを有していることを特徴とするエミュレーター。
  4. 請求項1において、前記機能的バッファリングブロックが、更に、前記機能的ブロックと通信を行うためのバーチャルコンポーネントインターフェースを有していることを特徴とするエミュレーター。
  5. 請求項1において、前記機能的ブロックが、前記機能的バッファリングブロックと通信を行うための非同期的インターフェースを有していることを特徴とするエミュレーター。
  6. 請求項1において、前記機能的バッファリングブロックが、更に、機能的ブロックの間のバッファリングを管理するためのローカル論理を有していることを特徴とするエミュレーター。
  7. 請求項1において、前記機能的バッファリングブロックがコンパイル・タイムフラッグによるバッファリングのために排除されるか又は包含されることを特徴とするエミュレーター。
  8. 請求項1において、第一機能的ブロックがUSBデバイスコア(UDC)を有しており、且つそれと通信する第二機能的ブロックがカスタム論理ブロック及びバスインターフェースを有していることを特徴とするエミュレーター。
  9. 請求項8において、更に、高速UDC動作を同期させるための同期ブロックを有していることを特徴とするエミュレーター。
  10. 請求項1において、前記機能的バッファリングブロックが、更に、複数個の制御レジスタを有していることを特徴とするエミュレーター。
  11. スマートカード装置用のエミュレーターにおいて、
    異なるクロックドメインにおいて動作可能であり且つ互いに通信するために非同期的インターフェースを具備しておりスマートカード装置の機能的ブロックとしての少なくとも2個のバーチャルコンポーネント、
    前記機能的ブロックと通信を行い且つ前記機能的ブロックの間で選択的にバッファリングを行い且つエミュレーションを可能とすべく動作可能な機能的バッファリングブロック、
    を有していることを特徴とするエミュレーター。
  12. 請求項11において、前記機能的ブロックの各々が、更に、互いに及び/又は前記機能的バッファリングブロックと通信を行うためのバーチャルコンポーネントインターフェースを有していることを特徴とするエミュレーター。
  13. 請求項11において、前記機能的バッファリングブロックが、更に、前記機能的ブロックと通信を行うためのバーチャルコンポーネントインターフェースを有していることを特徴とするエミュレーター。
  14. 請求項11において、前記機能的バッファリングブロックが、更に、機能的ブロックの間のバッファリングを管理するためのローカル論理を有していることを特徴とするエミュレーター。
  15. 請求項11において、前記機能的バッファリングブロックが、コンパイル・タイムフラッグによるバッファリングのために排除されるか又は包含されることを特徴とするエミュレーター。
  16. 請求項11において、第一機能的ブロックがUSBデバイスコア(UDC)を有しており、且つそれと通信する第二機能的ブロックがカスタム論理ブロック及びバスインターフェースを有していることを特徴とするエミュレーター。
  17. 請求項16において、更に、高速UDC動作を同期させるための同期ブロックを有していることを特徴とするエミュレーター。
  18. 請求項11において、前記機能的バッファリングブロックが、更に、複数個の制御レジスタを有していることを特徴とするエミュレーター。
  19. スマートカード装置をエミュレートする方法において、2つの異なるクロックドメインの間で動作可能でありスマートカード装置の機能的ブロックとしてバーチャルコンポーネントの間でデータをバッファリングするステップを有していることを特徴とする方法。
  20. 請求項19において、更に、前記機能的ブロックの間の非同期的インターフェースを介してバッファリングを行うステップを有していることを特徴とする方法。
  21. 請求項19において、更に、バーチャルコンポーネントインターフェースを介してバッファリングを行うステップを有していることを特徴とする方法。
  22. 請求項19において、更に、異なるクロックドメインにおいて動作可能な2個の機能的ブロックの間に付加された機能的バッファリングブロックを介してバッファリングを行うステップを有していることを特徴とする方法。
  23. 請求項22において、更に、前記機能的バッファリングブロック内に包含されているローカル論理によるバッファリングを管理するステップを有していることを特徴とする方法。
  24. 請求項22において、更に、コンパイル・タイムフラッグを使用して前記機能的バッファリングブロックの包含又は排除を管理するステップを有していることを特徴とする方法。
  25. 請求項19において、更に、USBデバイスコア(UDC)としての第一機能的ブロック及びカスタム論理ブロック及びバスインターフェースとしての第二機能的ブロックの間でバッファリングするステップを有していることを特徴とする方法。
  26. 請求項25において、更に、同期ブロックを使用してUDCの高速動作を同期させるステップを有していることを特徴とする方法。
  27. スマートカード装置をエミュレートする方法において、
    異なるクロックドメインにおいて動作可能でありスマートカード装置の機能的ブロックとしてのバーチャルコンポーネントを用意し、
    エミュレーションを可能とするために前記機能的ブロックの間でバッファリングする、
    上記各ステップを有していることを特徴とする方法。
  28. 請求項27において、更に、前記機能的ブロックの間で非同期的インターフェースを介してバッファリングするステップを有していることを特徴とする方法。
  29. 請求項27において、更に、バーチャルコンポーネントインターフェースを介してバッファリングするステップを有していることを特徴とする方法。
  30. 請求項27において、更に、異なるクロックドメインにおいて動作可能な機能的ブロックの間に付加した機能的バッファリングブロックを介してバッファリングするステップを有していることを特徴とする方法。
  31. 請求項30において、更に、前記機能的バッファリングブロック内に包含されるローカル論理によるバッファリングを管理するステップを有していることを特徴とする方法。
  32. 請求項30において、更に、コンパイル・タイムフラッグを使用して機能的バッファリングブロックの包含又は排除を管理するステップを有していることを特徴とする方法。
  33. 請求項30において、更に、USBデバイスコア(UDC)としての第一機能的ブロックとカスタム論理ブロック及びバスインターフェースとしての第二機能的ブロックとの間でバッファリングするステップを有していることを特徴とする方法。
  34. 請求項33において、更に、同期ブロックを使用してUDCの高速動作を同期させるステップを有していることを特徴とする方法。
JP2004164696A 2003-06-02 2004-06-02 バッファリングインターフェースを使用するスマートカードエミュレーター及び関連方法 Pending JP2004362579A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/452,356 US7044390B2 (en) 2003-06-02 2003-06-02 Smart card emulator and related methods using buffering interface

Publications (1)

Publication Number Publication Date
JP2004362579A true JP2004362579A (ja) 2004-12-24

Family

ID=33159498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004164696A Pending JP2004362579A (ja) 2003-06-02 2004-06-02 バッファリングインターフェースを使用するスマートカードエミュレーター及び関連方法

Country Status (4)

Country Link
US (1) US7044390B2 (ja)
EP (1) EP1484711B1 (ja)
JP (1) JP2004362579A (ja)
DE (1) DE602004031573D1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9849372B2 (en) 2012-09-28 2017-12-26 Sony Interactive Entertainment Inc. Method and apparatus for improving efficiency without increasing latency in emulation of a legacy application title
US7364087B2 (en) * 2004-06-24 2008-04-29 Intel Corporation Virtual firmware smart card
US7971238B2 (en) * 2006-08-21 2011-06-28 Dell Products L.P. Two-factor authentication of a remote administrator
US8566934B2 (en) 2011-01-21 2013-10-22 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US8725644B2 (en) * 2011-01-28 2014-05-13 The Active Network, Inc. Secure online transaction processing
US8827153B1 (en) * 2011-07-18 2014-09-09 Dynamics Inc. Systems and methods for waveform generation for dynamic magnetic stripe communications devices
KR102195788B1 (ko) 2011-08-10 2020-12-28 기타 스리바스타바 호스트 컴퓨팅 디바이스와 주변기기의 데이터의 보안을 강화하기 위한 장치 및 방법
US9925468B2 (en) 2012-06-29 2018-03-27 Sony Interactive Entertainment Inc. Suspending state of cloud-based legacy applications
US11013993B2 (en) * 2012-09-28 2021-05-25 Sony Interactive Entertainment Inc. Pre-loading translated code in cloud based emulated applications
US9634640B2 (en) 2013-05-06 2017-04-25 Qualcomm Incorporated Tunable diplexers in three-dimensional (3D) integrated circuits (IC) (3DIC) and related components and methods
US9264013B2 (en) 2013-06-04 2016-02-16 Qualcomm Incorporated Systems for reducing magnetic coupling in integrated circuits (ICS), and related components and methods
US9172418B1 (en) * 2014-05-30 2015-10-27 Qualcomm Incorporated User identity module protocol switch

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US686327A (en) 1901-06-05 1901-11-12 Lanston Monotype Machine Co Machine for cutting pieces of uniform length from rods or bars.
DE4406704C1 (de) * 1994-03-02 1995-07-20 Angewandte Digital Elektronik Chipkarte
US5991546A (en) * 1996-09-17 1999-11-23 Cmd Technology, Inc. System and method for interfacing manually controllable input devices to a universal computer bus system
US6219736B1 (en) * 1997-04-24 2001-04-17 Edwin E. Klingman Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN)
US6122676A (en) * 1998-01-07 2000-09-19 National Semiconductor Corporation Apparatus and method for transmitting and receiving data into and out of a universal serial bus device
KR100290729B1 (ko) * 1998-01-07 2001-05-15 클라크 3세 존 엠. 유에스비 등시 데이타를 전송 및 수신하는 장치 및 방법
US6070208A (en) * 1998-01-07 2000-05-30 National Semiconductor Corporation Apparatus and method for implementing a versatile USB endpoint pipe
US6145045A (en) * 1998-01-07 2000-11-07 National Semiconductor Corporation System for sending and receiving data on a Universal Serial Bus (USB) using a memory shared among a number of end points
DE19838628A1 (de) * 1998-08-26 2000-03-02 Ibm Erweiterte Chipkarten-Kommunikationsarchitektur und Verfahren zur Kommunikation zwischen Chipkartenanwendung und Datenträger
JP2003532936A (ja) 1998-03-26 2003-11-05 ジェムプリュス 汎用インターフェースicカード
US6311294B1 (en) * 1998-10-20 2001-10-30 Cypress Semiconductor Corp. Device and method for efficient bulk data retrieval using a universal serial bus
US6168077B1 (en) * 1998-10-21 2001-01-02 Litronic, Inc. Apparatus and method of providing a dual mode card and reader
US6625472B1 (en) * 1999-05-13 2003-09-23 Skyworks Solutions, Inc. Apparatus and method for connecting a cellular telephone to a universal serial bus
US6760333B1 (en) * 1999-11-22 2004-07-06 Texas Instruments Incorporated Hybrid digital subscriber loop and voice-band universal serial bus modem
US6353867B1 (en) * 2000-01-14 2002-03-05 Insilicon Corporation Virtual component on-chip interface
US6901562B2 (en) * 2000-01-18 2005-05-31 Cadence Design Systems, Inc. Adaptable circuit blocks for use in multi-block chip design
CA2305249A1 (en) * 2000-04-14 2001-10-14 Branko Sarcanin Virtual safe
AU8386601A (en) 2000-06-15 2001-12-24 Rainbow Technologies B.V. Usb-compliant personal key using a smartcard processor and smartcard reader emulator
US6978335B2 (en) * 2000-06-30 2005-12-20 02Micro International Limited Smart card virtual hub
EP1301875A2 (en) * 2000-07-21 2003-04-16 Telecom Italia Lab S.p.A. Method and system for verifying modules destined for generating circuits
GB0019341D0 (en) * 2000-08-08 2000-09-27 Easics Nv System-on-chip solutions
US20020065646A1 (en) * 2000-09-11 2002-05-30 Waldie Arthur H. Embedded debug system using an auxiliary instruction queue
US6439464B1 (en) * 2000-10-11 2002-08-27 Stmicroelectronics, Inc. Dual mode smart card and associated methods
GB0025593D0 (en) * 2000-10-18 2000-12-06 Sgs Thomson Microelectronics On-chip emulator communication
US6543690B2 (en) * 2000-12-04 2003-04-08 Schlumberger Malco, Inc. Method and apparatus for communicating with a host
US6718412B2 (en) * 2000-12-14 2004-04-06 Agilent Technologies, Inc. Apparatus and method for universal serial bus communications
US6915416B2 (en) * 2000-12-28 2005-07-05 Texas Instruments Incorporated Apparatus and method for microcontroller debugging
KR100426304B1 (ko) * 2001-09-17 2004-04-08 한국전자통신연구원 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법
US6769622B1 (en) * 2003-03-14 2004-08-03 Stmicroelectronics, Inc. System and method for simulating universal serial bus smart card device connected to USB host

Also Published As

Publication number Publication date
US7044390B2 (en) 2006-05-16
US20040238644A1 (en) 2004-12-02
EP1484711A2 (en) 2004-12-08
EP1484711A3 (en) 2008-09-03
DE602004031573D1 (de) 2011-04-14
EP1484711B1 (en) 2011-03-02

Similar Documents

Publication Publication Date Title
US7369982B2 (en) Multi-mode smart card emulator and related methods
US7309021B2 (en) Dual mode controller for ISO7816 and USB enabled smart cards
EP1457922B1 (en) Smart card that can be configured for debugging and software development using secondary communication port
EP1244973B1 (en) System and method for providing hot swap capability using existing circuits and drivers with minimal changes
US7069369B2 (en) Extended-Secure-Digital interface using a second protocol for faster transfers
US6941405B2 (en) System and method capable of offloading converter/controller-specific tasks to a system microprocessor
US7412553B2 (en) Enhanced protocol conversion system capable of providing offloaded protocol instruction processing
EP1473664B1 (en) Smart card device as mass storage device
JP3667199B2 (ja) 複数の拡張カードの検知および操作のための集積pcカードホストコントローラー
WO2019148434A1 (zh) 一种电子设备
EP1457901A2 (en) System and method for simulating USB smart cards connected to USB host
US20030038177A1 (en) Passive flash media adapter system
JP2005004765A (ja) Jtagテスト制御器を包含するスマートカード及び関連方法
CN101604301A (zh) 使用绑定选择在pci配置空间中转换的适配器
US7044390B2 (en) Smart card emulator and related methods using buffering interface
CN102395980A (zh) 智能卡读取器
CN101470584A (zh) 硬盘扩展装置
WO2004032195A2 (en) Simplifying integrated circuits with a common communications bus
US20080021695A1 (en) ROM emulator and ROM testing method using the same
CN109214144A (zh) 基于usb3.2协议ts2训练序列的ip软核产权保护与侵权鉴定方法
CN109102436A (zh) 基于usb3.0协议ts1训练序列的ip软核产权保护与侵权鉴定方法
KR100227513B1 (ko) 컴퓨터의 주변장치 연결 방법 및 그 장치
CN109214143A (zh) 基于usb3.2协议ts1训练序列的ip软核产权保护与侵权鉴定方法
CN109165482A (zh) 基于usb3.1协议ts1训练序列的ip软核产权保护与侵权鉴定方法
CN109145527A (zh) 基于usb3.1协议ts2训练序列的ip软核产权保护与侵权鉴定方法