JP2009535714A - Usb割込みエンドポイントの共有 - Google Patents

Usb割込みエンドポイントの共有 Download PDF

Info

Publication number
JP2009535714A
JP2009535714A JP2009507959A JP2009507959A JP2009535714A JP 2009535714 A JP2009535714 A JP 2009535714A JP 2009507959 A JP2009507959 A JP 2009507959A JP 2009507959 A JP2009507959 A JP 2009507959A JP 2009535714 A JP2009535714 A JP 2009535714A
Authority
JP
Japan
Prior art keywords
usb
notification
interrupt
endpoint
device object
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.)
Granted
Application number
JP2009507959A
Other languages
English (en)
Other versions
JP5242558B2 (ja
Inventor
グオ、ホンシ
バッバー、アッピンダー・シング
ディック、ジェフリー・アラン
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009535714A publication Critical patent/JP2009535714A/ja
Application granted granted Critical
Publication of JP5242558B2 publication Critical patent/JP5242558B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

単一のUSB割込みエンドポイントは、USBデバイス内の2個の異なるアクティブな論理デバイスによって使用可能である。第1の論理デバイスがUSBホストに割り込むとした場合、第1の論理デバイスはエンドポイントに通知を書き込む。通知は、第1のデバイスオブジェクトを識別する番号を運ぶ。しかし、第2の論理デバイスがホストに割り込むとした場合は、第2の論理デバイスは、通知をエンドポイントに書き込むが、通知は第2のデバイスオブジェクトを識別する番号を運ぶ。USBホストは通知を読み取る。一例では、番号およびデバイスIDが、その通知が第1のオブジェクトに関することを表示する場合は、第1のオブジェクトはその通知を処理する。番号およびデバイスIDが、その通知が第2のオブジェクトに関することを表示する場合は、第2のオブジェクトがその通知を処理するように、第1のオブジェクトは第2のオブジェクトに知らせる。

Description

関連出願の相互参照
本出願は、2006年4月28に出願された仮出願第60/795,773号、および、2006年6月6日に出願された仮出願第60/811,526号の、米国特許法第119条のもとでの優先権を主張する。これら両方の仮出願の全体の内容は、参照によりここに組み込まれている。
背景情報
(技術分野)
開示された実施形態は、ユニバーサルシリアルバス(USB)に関する。
(背景情報)
ユニバーサルシリアルバス、すなわちUSBバスとして知られているシリアルバスは、デバイスをコンピュータに接続するために通常使用される。デバイスは、USBバス上のスレーブとしての役目を果たす。デバイスは、USBバスケーブル内の対のデータ導体(pair of data conductors)上でプルアップするプルアップ抵抗を含む。コンピュータはホストと呼ばれる。ホストは、USBバス上のマスタとしての役目を果たす。デバイスがUSBケーブルを経由してまずコンピュータに結合する場合、デバイスのプルアップ抵抗はケーブル内のデータ導体上でプルアップする。ホストはこれを検出して、USBバスを経由して値をデバイス上の所定のメモリ位置内に書き込むことによって応答する。この所定の位置は、制御エンドポイント(control endpoint)と呼ばれ、通常、「エンドポイント0(endpoint 0)」と呼ばれる。制御エンドポイントに書き込むことは要求と呼ばれる。
デバイスは、どんな種類のデバイスがバスにまさに(just)接続されたか、そしてどんなリソースをデバイスは要求することになるかを表示する情報をホストに提供することによってこの要求に応答する。例えば、ホストは、1つまたは複数の異なる要求をデバイスに発行して、USBバスの全域で、要求されたデバイス記述子と、要求された構成記述子と、要求されたインターフェース記述子と、要求されたエンドポイント記述子とを読み取る。記述子は、特定の情報を含むためにフォーマットされることになる、USB仕様によって定義されたデータ構造である。デバイスから取得されたこれらの記述子内の情報から、ホストは必要とされるデバイスドライバのタイプを決定して、適切なデバイスドライバをロードする。このデバイスドライバは、通常、USB機能ドライバ(USB function driver)と呼ばれる。その後、通信は、パイプ(pipes)と呼ばれるものの全域で、デバイスとドライバとの間で発生する。パイプは、デバイス上のエンドポイントとホスト内のドライバとの間の、論理接続(logical connection)である。ホストは、ホストからUSBに送信されたパケット内の4ビットのフィールド内のエンドポイントを特定することによってエンドポイントに書き込むことまたはエンドポイントから読み取ることが可能である。4ビットのフィールドにより、デバイス内に多くても16対のエンドポイントが存在し得る。したがって、多くても32個(16個がホスト内に、16個がホストから)のアクティブなパイプが存在し得る。
USBデバイスは、なおさらにより複雑になりつつある。移動通信電話(cellular telephone)などの物理的デバイス(physical device)は、実際に、複数の異なる論理USBデバイスを含む場合がある。例えば、移動通信電話は、ホストの立場から、安全な無線モデムと、安全でないがインターネットサーフィングに適した第2の無線モデムと、GPS(全地球測位システム)デバイスと、着脱可能な記憶ドライブとを含むと思われる。安全な無線モデムは安全なネットワーキング通信に従事するのに適している。第2の無線モデムはインターネットサーフィングに適している。GSPデバイスは定期的な位置情報をホストに送信する。記憶デバイスは、ホストが情報を記憶し、ホストがそこから情報を取り出すことが可能な場所を提供する。すべて物理的な移動通信電話内に具現化されるこれらの異なる論理USBデバイス(logical USB devices)は、「論理デバイス(logical devices)」と呼ばれる。
1つのそのような論理デバイスを検討する。例えば、論理デバイスが、ホストが読むための情報を有する場合、論理デバイスはホストに割り込む。しかし、USBバスはホスト中心のバスである。ホストだけがトランザクションを開始し、ホストだけがUSBバスケーブルの全域で情報を読み取りかつ/または情報を書き込むことができる。したがって、ホストは、USBバスの全域でデバイスに関連する割込みエンドポイントの読取りを定期的に実行する。これは「ポーリング(polling)」と呼ばれる。デバイスがホストに割り込むことを望む場合、デバイスは、割込み条件を表示する情報を割込みエンドポイント内に配置する。したがって、ホストは、ポーリング動作の間、(USBバスを経由して)割込みエンドポイントを読み取ることによって割込み条件を学ぶ。情報の読取りがさらなる読取りが必要とされることを表示する場合は、ホストはUSBバスの全域で、論理デバイスに関連する別のエンドポイント(another endpoint)の別の読取りを実行することによって応答する。論理デバイスが安全な無線モデムである場合、暗号化された鍵情報は、安全な無線モデムによって関連づけられるその他のエンドポイント(the other endpoint)からホストによって読み取られることが可能である。
USBデバイスが、ますます複雑になり、ますます多くの機能を有しているますます多くの論理デバイスを具現化するにつれ、USBデバイスの機能をサポートするために、利用可能な32個のエンドポイントよりも多くのエンドポイントが要求される可能性がある。1つの可能な解決策は、USB機能を複数のセットに区切り、一度に1セットの機能だけをアクティブに維持することである。これはUSB標準の下で可能である。これは、1セットの論理デバイスがアクティブである第1の時点で1つの論理デバイスに関してエンドポイントが使用され、第2のセットの論理デバイスがアクティブである第2の時点で第2の論理デバイスに関してエンドポイントが使用されることを可能にする。しかし、ある時点で、論理デバイスを動作不能にさせることは望ましくない。ユーザは、別の論理デバイスに切り替えるために、現在の動作を終了する必要がある可能性がある。別の論理デバイスに切り替えることは、新しいデバイス列挙をトリガし、ユーザのジョブのうちのいくつかを終了させる可能性もある。その結果は、非効率および不都合であろう。
第2の解決策は、物理的USBデイバス上に別の物理的USBポートおよびその関連するUSB機能性を提供することである。各物理的ポートおよびその関連する機能性は、16対のエンドポイントすべてをサポートすることが可能である。ハードウェアの複数のインスタンス(instances)を提供しなければならないため、この解決策は費用がかかる。さらに、物理的USBデバイス上の追加の物理的USBポートは、どの論理デバイスがどの物理的USBポート上でサポートされるかを知らされない可能性があるため、その物理的USBポートは、ユーザに混乱を生じさせる可能性がある。さらに、USBデバイスソフトウェアは、複数のUSBポートを同時に処理する必要があるため複雑であり得る。
解決策が所望される。
概要
単一の割込みエンドポイント(interrupt endpoint)は、USBデバイス内の2個の異なる論理デバイスによって共有される。第1の論理デバイスがUSBホストに割り込むとする場合は、そのとき、第1の論理デバイスは、割込み通知(interrupt notification)を第1の論理デバイスに関連する割込みエンドポイント(interrupt endpoint)に書き込む。割込み通知は、その通知を第1の論理デバイスに関連する第1のデバイスオブジェクト(device object)に関すると識別する番号、を運ぶ(carries)。しかしながら、第2の論理デバイスがUSBホストに割り込むとする場合は、そのとき第2の論理デバイスは、割込み通知を第1の論理デバイスに関連する割込みエンドポイント内に書き込むが、割込み通知は、通知を第2の論理デバイスに関連する第2のデバイスオブジェクトに関すると識別する番号、を運ぶ。このように、第2の論理デバイスは、ホストに知らせるために専用の割込みエンドポイントを必要としない。代わりに、第2の論理デバイスは、第1の論理デバイスによって所有される割込みエンドポイントを使用する。USBホストは、エンドポイントをポーリングし(polls)、通知を読み取る。USBホストは、通知が第1のデバイスオブジェクトに関する通知であるのか、あるいは第2のデバイスオブジェクトに関する通知であるのかを決定するために、この番号とデバイスIDとを使用する。デバイスIDは、物理的USBデバイスを一意的に(uniquely)識別する(identifies)番号である。通知が第1のデバイスオブジェクトに関すると決定される場合は、第1のデバイスオブジェクトは通知を処理する。通知が第2のデバイスオブジェクトに関すると決定される場合は、第1のデバイスオブジェクトは第2のデバイスオブジェクトに通知を知らせ、そして、第2のデバイスオブジェクトが通知を処理することができるように、通知を第2のデバイスオブジェクトに転送する。上記に説明されたように、割込みエンドポイントの共有(interrupt endpoint sharing)は、結果として、USBホストによる低減されたポーリングをもたらすことができ、したがって、結果として、USBバス帯域幅の節約と電力節約とをもたらすことができる。
以上は概要(summary)であり、したがって、必然的に、詳細の簡易化、一般化および省略を含んでいる;したがって、当業者は、概要は単に例示的であり、限定的であることを意味しない、ということを理解するであろう。特許請求の範囲によってのみ定義されるような、ここにおいて説明されるデバイスおよび/またはプロセスの他の態様、発明の特徴、および利点は、ここに記載される非限定的な詳細な説明において明らかになるであろう。
詳細な説明
図1は、1つの新規性のある態様によるシステム100の図である。システム100は、ユニバーサルシリアルバス(USBバス)102によってUSBホスト103に結合されたUSBデバイス101を含む。本実施例では、デバイス101は、多機能移動通信電話であり、ホスト103はWindows(登録商標)オペレーティングシステムを実行するラップトップパーソナルコンピュータ(PC)である。デバイス101とホスト103の間の物理的接続は、1つの端にタイプAのプラグ(type A plug)105を有し、別の端にタイプBのプラグ106を有するUSBケーブル104を必要とする。タイプAのプラグ105は、ホスト103上の(USBレセプタクルとも呼ばれる)タイプAのUSBポート107内に挿入される。タイプBのプラグ106は、デバイス101上のタイプBのポート108内に挿入される。USBケーブル104は、4本の導体を含む。導体のうちの2本は、より対線データ導体D+およびD−を形成する。このより対線は図1に示される。ケーブル104は、図1に例示されない供給電圧導体および接地導体も含む。USBバス102は、USB Implementer’s Forum、Inc.(USB−IF)のウェブサイト(www.usb.org)から利用可能なUSB改訂版2.0仕様書に適合する。
ホスト103は、USBハブハードウェア109と、中央処理装置(CPU)121と、1つまたは複数のプロセッサ可読媒体(例えば、半導体メモリ)とを含む。ホスト103内のCPU121は、プロセッサ可読媒体内に記憶されたプロセッサ実行可能命令のオペレーティングシステム110(すなわち、ソフトウェア)を実行する。オペレーティングシステム110は、プロトコル処理層のUSB「スタック」と呼ばれることもあるものを含む。USBスタックは、ハブドライバ部分111と機能ドライバ部分112とを含む。この実施例では、オペレーティングシステム110は、オペレーティングシステムのMicrosoft Windowsファミリーのオペレーティングシステムなどのオペレーティングシステムである。
デバイス101は、ここでは「USBコア」113と呼ばれるUSBハードウェアを含む。プロセッサ122は、デバイス101内の1つまたは複数のプロセッサ可読媒体内に記憶されたプロセッサ実行可能命令のオペレーティングシステム114(すなわち、ソフトウェア)を実行する。オペレーティングシステム114は、USBコア113と相互に作用して、USBコア113を制御するためのドライバ部分115を含む。ドライバ115とUSBコア113の組合せは、動作可能な16対のUSBエンドポイントを提供する。USBエンドポイントは、USBホスト103からまたはUSBホスト103に渡す情報のシンクまたはソースとして機能する記憶位置である。さらなる詳細については、USB仕様書を参照されたい。
ケーブル104内のデータ導体D+およびD−は、ハブ109内の弱いプルダウン抵抗によって当初プロダウンされる。デバイス101がケーブル104を経由してホスト103に当初結合される場合、コア113内のより強いプルアップ抵抗はケーブル104内のD+導体およびD−導体をプルアップする。ホスト103内のハブ109はこの状態を検出する。応答して、ホスト103は標準のUSB列挙プロセスに従事する。列挙プロセスは、ホスト103がバス102の全域で初期値をエンドポイント0に書き込むことを伴う。この値はUSB要求の形態のものである。デバイス101は、要求された情報を指定されたエンドポイント(典型的には、エンドポイント0)に書き込むことによって、エンドポイント0内に存在しているUSB要求に応答する。これは、デバイス101のプロセッサが、デバイス101のローカルバスを使用して情報をエンドポイントのアドレス内に書き込むことによって行われる。ホスト103は、USBバスの全域でこのエンドポイントの読取りを実行して、情報を取得する。このように、ホスト103は、デバイス記述子(device descriptor)と、構成記述子(configuration descriptor)と、どんな種類のデバイスがバスにまさに接続されたか、およびデバイスはどんなリソースを要求することになるかに関する他の要求された情報とを取得する。デバイス101から取得された情報から、ホスト103内のオペレーティングシステム110は、適切なデバイスドライバを選択およびロードする。この場合、ローディングは、ホスト103内のオペレーティングシステム110が、ハードディスクなどの大容量記憶装置から2進実行可能コードを取得して、実行のためにそれをメモリ内に配置することを意味する。この実施例における結果は、各論理USBデバイスに関してドライバ112内に1つのデバイスオブジェクトが存在するというものである。
図1の実施例では、物理的な移動通信電話101内に5個の論理USBデバイスが存在する。したがって、移動通信電話101は多機能USBデバイスと呼ばれる。第1の論理デバイスは、「論理デバイス#1」と示される。第1の論理デバイスは2対のエンドポイントを使用する。第1の対のエンドポイントは「1」と指定され、データ通信のために使用される。第2の対のエンドポイントは「2」と指定される。対のエンドポイント「2」のうちの1つは割込みエンドポイントであり、別のエンドポイントは使用されない。この第1の論理デバイスは、ハブドライバ111内に関連する物理的デバイスオブジェクト「A」を有し、機能ドライバ112内に関連するデバイスオブジェクト「1」も有する。本実施例では、論理デバイス#1は、TCP/IPプロトコルを使用した安全なサーバに対するVPN通信など、安全な無線ネットワーキング通信に従事するために使用可能な、安全な無線モデム機能性である。
物理的な移動通信電話101内の第2の論理デバイスは「論理デバイス#2」と示される。第2の論理デバイスは、1対のエンドポイントを有する。この対のエンドポイントは図1で「3」と指定され、データ通信のために使用される。この第2の論理デバイスは、ハブドライバ111内に関連する物理的デバイスオブジェクト「B」を有し、ドライバ112内に関連するデバイスオブジェクト「2」も有する。本実施例では、論理デバイス#2は、インターネットサーフィングに従事するために使用可能な、暗号化されていないモデム機能性である。論理デバイス#2は割込みエンドポイントを有さない点に留意されたい。
物理的な移動通信電話101内の第3の論理デバイスは「論理デバイス#3」と示される。第2の論理デバイス同様、第3の論理デバイスは、1対のエンドポイントを有し、いかなる割込みエンドポイントも有さない。この対のエンドポイントは図1で「4」と指定され、データ通信のために使用される。論理デバイス#3は、ハブドライバ111内に関連する物理的デバイスオブジェクト「C」を有し、ドライバ112内に関連するデバイスオブジェクト「3」も有する。本実施例では、この論理デバイス#3は、ホスト103に移動通信電話101の位置を表示する位置情報を供給することが可能なGPS(全地球測位システム)デバイスである。
上記に説明された論理デバイス#1、#2および#3に加えて、移動通信電話101は、図示されない2個の他の論理USBデバイスも含む。図1の実施例では、すべての16対のエンドポイントは、デバイス101内の5個の論理USBデバイスによって使用される。物理的デバイスオブジェクト「D」およびデバイスオブジェクト「4」は、第4の論理デバイスと関連づけられる。物理的デバイスオブジェクト「E」およびデバイスオブジェクト「5」は、第5の論理デバイスと関連づけられる。
1つの新規性のある態様では、列挙プロセス内でデバイス101から要求された通常の情報に加えて、ホスト103はデバイス101に特別な要求も発行する。特別な要求は、特別な要求コードを有する。ホスト103は、バス102の全域でこの特別な要求をエンドポイント0内に書き込む。デバイス101のドライバ115は、デバイス101のローカルバスを使用して、エンドポイント0のアドレスからこの特別な要求を読み取り、要求が特別な要求であることを特別な要求コードから決定して、ローカルバスを使用して「デバイスID」116をエンドポイント0内に書き込むことによって応答する。この「デバイスID」は、物理的デバイス101を一意的に識別して、他のUSBポートによってホスト103に結合され得る他の物理的デバイスから物理的デバイス101を区別するデバイス特定の値(device-specific value)である。
十分な時間の後、ホスト103はUSBバス102の全域でエンドポイント0を読み取る。それにより、ホスト103はデバイスID116を取得する。図2は、エンドポイント0からデバイスオブジェクト「1」への、デバイスID116のこの読取りを例示する。デバイスオブジェクト#1は、デバイスIDを取得するこの動作を実行して、相互参照マッピング表を生成する。相互参照マッピング表は、各論理USBデバイスに関して、「インターフェース番号」と「デバイスID」の識別組合せを識別する。ホスト103は、複数の異なる物理的USBポートから複数の物理的USBデバイスに接続され得るため、かつ各物理的USBデバイスは、番号1から始まるインターフェース番号を使用して、その論理デバイスを識別することになるため、論理デバイスのインターフェース番号を単に特定することは、論理デバイスを識別しない可能性がある。しかし、インターフェース番号と共にデバイスID116は各論理デバイスを一意的に識別する。
図3は、相互参照マッピング表を例示する図である。表の第1の行は、デバイスオブジェクト「1」に対応する論理デバイスに関する割込みエンドポイントがインターフェース番号「1」およびデバイスID「A」によって識別されることを表示する。この場合、デバイスID Aは物理的USBデバイス101である。表の第2の行は、デバイスオブジェクト「2」に対応する論理デバイスに関する割込みエンドポイントがインターフェース番号「3」およびデバイスID「A」によって識別されることを表示する。(移動通信電話101がUSBケーブル104を経由してホスト103内にプラグで接続された後)、初期の列挙プロセスの間、各デバイスオブジェクトは1つまたは複数の記入項を表に提供し、各記入項は、デバイスオブジェクトと、デバイスIDと、論理デバイスに関連する1つまたは複数のインターフェース番号とを含む。図3の表の相互参照情報を考慮する別の様式は、この相互参照情報は、通知内のインターフェース番号および、そこから通知が受信されたUSBデバイスのデバイスIDに基づいて、通知をデバイスオブジェクトにマップする(maps)ことまたはデバイスオブジェクトと関連づけることである。列挙プロセスが完了する場合、Windowsオペレーティングシステム110は、多くの場合、新しいデバイスをコントロールパネル内のデバイスマネージャの表示に加える。
そのあとのデバイス動作において、論理デバイス#2は、ホスト103に情報を送信することを望む可能性がある。これを行うために、デバイス101上のドライバ115は図5内に例示された形態の割込み通知117を割込みエンドポイント「1」に書き込む。この割込みエンドポイント「1」は論理デバイス「1」によって使用されるが、1つの新規な態様によれば、論理デバイス#2によって共有される。割込み通知117は、データフィールド118内のコンテンツが論理デバイス#2のインターフェース番号を含むことを除いて、USB標準において提供される(トークンパケットまたは状態パケットとは対照的に)データパケットの標準の形態のものである。本実施例では、インターフェース番号は「3」である。割込み通知117は論理デバイス「1」に関する割込みエンドポイント「1」からホスト103によって読み取られることが可能であるにもかかわらず、このインターフェース番号は割込み通知117を、論理デバイス#2に関する割込み通知であるとして識別するために使用可能である。割込み通知117の4ビットのパケットID(PID)フィールドは「1011」である。この実施例では、PID内のこの値は、パケットタイプがデータ1であることを表示する。
ホスト103は、その通常のポーリング動作で、トークンパケット、データパケット、および状態パケットを含む標準USBトランザクションの際に、バス102の全域で割込みエンドポイント「1」を定期的に読み取る。ホスト103が割込みエンドポイント「1」を読み取る場合、ホスト103は論理デバイス「2」のインターフェース番号「3」を有する通知117(USBトランザクションのデータパケット)を取得する。図4は、バス102の全域での割込みエンドポイント「1」の読取りを例示する。図5は、割込みエンドポイント「1」からデバイスオブジェクト「1」に転送された通知117の形態を例示する。
次に、デバイスオブジェクト「1」は、通知117のデータフィールド118内で運ばれたインターフェース番号を検査する。この場合、インターフェース番号は「3」である。デバイスオブジェクト「1」は物理的ポート107の全域で割込み通知を読み取るため、デバイスオブジェクト「1」は、通知のデバイスIDが「A」であることを知っている。物理的ポート107は、列挙プロセスの間、デバイスID「A」と関係づけられた。デバイスオブジェクト1は、次いで、インターフェース番号「3」とデバイスID「A」を含む、表の行を見つけるために図3の表を調べる。これは表の2番目の行である。表の左手の列内の対応するデバイスオブジェクトは、デバイスオブジェクト2である。したがって、デバイスオブジェクト「1」は、割込み通知117はデバイスオブジェクト「1」に関するのではなく、デバイスオブジェクト「2」に関することを決定する。デバイスオブジェクト「1」は、次いで、デバイスオブジェクト「2」に受信された通知を知らせる。一実施例では、デバイスオブジェクト「1」は、デバイスオブジェクト「2」の通知キュー119(図6を参照)上に通知117を配置することによって、デバイスオブジェクト「2」に割込み通知117を知らせる。一実施形態では、各デバイスオブジェクトは1つのかかるキューを有する。加えて、デバイスオブジェクト「1」は、通知がそのキュー内に存在することをデバイスオブジェクト「2」に表示するために、フラッグビットまたは他のインジケータを設定する。デバイスオブジェクト「2」はフラッグビットが設定されたことを決定して、キュー119から通知117を取り出すことによって応答する。デバイスオブジェクト「2」は、次いで、割込み通知を処理する。通知が、(例えば、データパイプ(エンドポイント3)上でまたは制御パイプ(エンドポイント0)上で)さらなる動作が実行される必要があることを表示する場合、デバイスオブジェクト「2」は、デバイス101上の論理デバイス「2」がホスト103に送信することを望むデータを取得する目的でエンドポイント「3」の読取りを実行するために知る。
図6は、受信された割込み通知117がデバイスオブジェクト「2」に関することをデバイスオブジェクト「2」に知らせるデバイスオブジェクト「1」を例示する。矢印120は、通知117をデバイスオブジェクト「2」のキュー119内に押し入れることを表示する。
論理デバイス「1」に関する割込み通知がホスト103に送信されることになる場合、図5の形態の割込み通知は論理デバイス#1に関する割込みエンドポイント「1」内に配置される。しかし、上の実施例と異なり、インターフェース番号が「3」である場合、インターフェース番号は、この場合、割込み通知が論理デバイス#1に関することを表示するために「1」である。ホスト103は割込みエンドポイント「1」をポーリングして、通知を読み取り、インターフェース番号を検査し、次いで、図3の表を調べるために、インターフェース番号(この場合「1」)とデバイスID(この場合「A」)を使用する。デバイスオブジェクト「1」は、表の第1の行を割込み通知に関連する行であると識別して、表の左の列内の記入項から、割込み通知がデバイスオブジェクト「1」に関することを決定する。したがって、デバイスオブジェクト「1」は、割込み通知を自ら処理する。通知がさらなる動作が実行される必要があることを表示する場合、デバイスオブジェクト「1」は、デバイス101上の論理デバイス「1」がホスト103に送信することを望むデータを取得する目的でエンドポイント「2」の読取りを実行するために知る。
したがって、論理デバイス#1および論理デバイス#2は両方とも、自己の割込みエンドポイントとしてエンドポイント「1」を使用することが分かる。論理デバイス#1および論理デバイス#2は、エンドポイントを「共有」すると言える。論理デバイス#1が割込み通知をエンドポイント「1」内に配置することを望む場合、論理デバイス#1はそのデータフィールドが論理デバイス#1に関連するインターフェース番号を運ぶ割込み通知を配置する。他方で、論理デバイス#2が割込み通知をエンドポイント「1」内に配置することを望む場合、論理デバイス#2はそのデータフィールドが論理デバイス#2に関連するインターフェース番号を運ぶ割込み通知を配置する。ホスト103内のデバイスオブジェクトは、通知が向けられている(is directed)デバイスオブジェクトを決定するために、割込み通知の受信時に、通知によって運ばれたインターフェース番号と、通知が生じたUSBデバイスのデバイスIDとを使用する。
図7は、1つの新規な態様に従って、ホスト103によって実行される方法の簡略化された流れ図である。第1のステップ(200)において、割込み通知がUSBホスト上に(onto a USB host)受信される。その通知はUSBデバイス上の割込みエンドポイントから送信され、USBデバイス上の第1の論理デバイスに関連する第1のデバイスオブジェクト上に受信される。
次に(ステップ201)、ホスト上の第1のデバイスオブジェクトは、通知のデータフィールド内で運ばれたインターフェース番号を調べる(examines)。次に(ステップ202)、第1のデバイスオブジェクトは、割込み通知が第1のデバイスオブジェクトに関するか、または別のデバイスオブジェクトに関するかを決定するためにインターフェース番号を使用する。一実施例では、第1のデバイスオブジェクトは、図3に例示されたように情報の表を調べるために、インターフェース番号と、通知が発生したUSBデバイスのデバイスIDとを使用する。インターフェース番号およびデバイスIDから、第1のデバイスオブジェクトは、割込み通知がホスト上のデバイスオブジェクトのうちのどれに向けられているかを決定する。第1のデバイスオブジェクトが割込み通知が第1のデバイスオブジェクトに向けられと決定する(ステップ202)場合、第1のデバイスオブジェクトは割込み通知を処理する。
他方、第1のデバイスオブジェクトが、割込み通知が第2のデバイスオブジェクトに向けられていると決定する場合(ステップ203)、第1のデバイスオブジェクトは、第2のデバイスオブジェクトに割込み通知を知らせる。一実施例では、第1のデバイスオブジェクトは、第2のデバイスオブジェクトのキュー上に割込み通知を配置して、次いで、記入項がキュー上にあることを第2のデバイスオブジェクトに表示するためにフラッグビットを設定することによって、第2のデバイスオブジェクトに割込み通知を知らせる。第2のデバイスオブジェクトは、次いで、キューから割込み通知を取り出して、割込み通知を処理する。第2のデバイスオブジェクトに向けられた割込み通知は、第1の論理デバイスの割込みエンドポイントを経由してホスト103に供給され得る点に留意されたい。このように、2つ以上の論理デバイスが同じ割込みエンドポイントを共有することが可能である。
図8は、1つの新規性のある態様による、USBデバイス101によって実行される方法の簡略化された流れ図である。USBデバイス101内のドライバ115は、ホスト103内の複数の異なるデバイスオブジェクトに割込み通知を送信するために、単一の割込みエンドポイントを使用する(ステップ300)。割込み通知が向けられている特定のデバイスオブジェクトは、割込み通知のデータフィールド内で運ばれたインターフェース番号によって識別される。ホスト103は、割込みエンドポイントの読取りの結果として割込み通知を受信する。次いで、ホスト103は、割込み通知が向けられている特定のデバイスオブジェクトを決定するために、発信USBデバイスのデバイスIDと共に割込み通知からのインターフェース番号を使用する。
説明の目的で、いくつかの実施形態が上記に説明されているが、この特許文書の教示は一般的な適用可能性を有し、上記に説明される特定の実施形態に限定されない。USBデバイスの例として移動通信電話が上で説明されるが、USBデバイスは、例えば、外部のモデム、音声再生機、音声記録機、ゲームコントローラ、ジョイスティック、デジタルカメラ、データ記憶デバイス、プリンタ、スキャナ、スピーカ、マイクロフォン、マウス、キーボード、電話、モニタ、または別のタイプの周辺機器など、任意のタイプの周辺デバイスであり得る。複数の論理デバイスを含む複合USBデバイスは、割込み通信のために上で説明されたように割込みの共有を用いることが可能であり、データの通信のために、デフォルト制御パイプ(default control pipes)および関連するエンドポイントを使用することが可能である。データのホストからデバイスへの転送の場合、USBホストはデフォルト制御パイプを経由してデータを通信する。デバイスからホストへの転送の場合、USBデバイスは、USBホストが適切なインターフェースを用いて受信努力を開始することができるように、インターフェース番号を使用してUSBホストに着信データを知らせる。複数の物理的デバイスがUSBホストに接続されている場合、USBホストが正しいデバイスを用いて受信努力を正しく開始することができるように、各物理的デバイスは固有のデバイスID(unique Device ID)をホストドライバに登録する。このように、割込みの共有が割込み通信のために使用され、他の論理デバイスによって既に使用中のデフォルト制御パイプがデータ通信のために使用されるため、USBデバイスの論理デバイスは、いずれの専用のエンドポイントも特定せずにサポートされることが可能である。USBデバイスによって生成されているとしてデバイスIDが上で説明されるという事実にもかかわらず、他の実施形態では、デバイスIDはシステムソフトウェア(例えば、機能ドライバ)および/またはUSBハブドライバによってUSBホスト上で生成される。したがって、説明された具体的な実施形態の様々な特徴の様々な修正、改造、および組合せは、添付の特許請求の範囲から逸脱せずに実施されることができる。
ここで説明されるUSB割込みエンドポイントの共有技術は、様々な手段によって実施され得る。例えば、これらの技術は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せでインプリメントされる(implemented)ことが可能である。ハードウェアインプリメンテーション(hardware implementation)の場合、USB割込みエンドポイントの共有を実行するために使用される処理装置は、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、ここで説明された機能を実行するために設計された他の電子装置、またはそれらの組合せにおいてインプリメントされることが可能である。
ファームウェアインプリメンテーションおよび/またはソフトウェアインプリメンテーションの場合、USB割込みエンドポイントの共有は、ここで説明された機能を実行するモジュール(例えば、手順、機能など)を用いてインプリメントされ得る。ファームウェアコードおよび/またはソフトウェアコードは、メモリ内に記憶されて、プロセッサによって実行されることが可能である。メモリはプロセッサ内で、またはプロセッサの外部でインプリメントされてもよい。
1つの新規な態様に従うシステムの簡略化された図。 列挙プロセスの間、図1のUSBデバイス101からUSBホスト103へのデバイスIDの通信を示す簡略化された図。 列挙プロセスの際に取得されたデバイスIDを使用して、図1のUSBホスト内の機能ドライバによって作成される相互参照表を示す図。 図1のUSBデバイス内のUSBエンドポイントから図1のUSBホスト内のデバイスオブジェクトへの割込み通知の通信を示す簡略化された図。 図4の割込み通知をより詳細に示す図。 図4の割込み通知を受信する第1のデバイスオブジェクトがどのように、割込み通知のデータフィールド内のインターフェース番号を検査して、少なくとも一部、このインターフェース番号の値に基づいて、通知が第1のデバイスオブジェクト向けではなく、第2のデバイスオブジェクト向けであることを決定するかを示す簡略化された図。次いで、第1のデバイスオブジェクトは、第2のデバイスオブジェクトに通知を知らせる。 図1のUSBホスト内で実行される方法を示す流れ図。 図1のUSBデバイス内で実行される方法を示す流れ図。

Claims (22)

  1. (a)USBデバイス上の割込みエンドポイントから第1の通知を読み取ることと、そして、前記第1の通知をUSBホスト上の第1のデバイスオブジェクト上に受信することと、なおここで、前記第1の通知は第1の数を含む;
    (b)前記第1の通知が前記第1のデバイスオブジェクトに向けられていることを決定するために、前記第1のデバイスオブジェクト上で前記第1の番号を使用することと;
    (c)前記第1の通知を前記第1のデバイスオブジェクト上で処理することと;
    (d)前記割込みエンドポイントから第2の通知を読み取ることと、そして、前記第2の通知を前記第1のデバイスオブジェクト上に受信することと、なおここで、前記第2の通知は第2の番号を含む;
    (e)前記第2の通知が第2のデバイスオブジェクトに向けられていることを決定するために、前記第1のデバイスオブジェクト上で前記第2の番号を使用することと;
    (d)前記第2のデバイスオブジェクトに前記第2の通知を知らせることと、なおここで、前記第1のデバイスオブジェクトは(d)の前記知らせることを実行する;そして
    (e)前記第2のデバイスオブジェクト上で前記第2の通知を処理することと;
    を備える方法。
  2. 前記第1の通知は、第1のUSB割込みメッセージであり、前記第1のUSB割込みメッセージは、データフィールドを含んでおり、前記第1の番号は、前記第1の割込みメッセージの前記データフィールド内で運ばれ、前記第2の通知は、第2のUSB割込みメッセージであり、前記第2のUSB割込みメッセージはデータフィールドを含んでおり、前記第2の番号は、前記第2の割込みメッセージの前記データフィールド内で運ばれる、請求項1に記載の方法。
  3. 前記USBホストから前記USBデバイスに要求を送信することと、そして、前記要求に応答して、前記USBデバイスからデバイス識別子を取得することと、そして
    前記第1の番号と前記デバイス識別子の組合せを前記第1のデバイスオブジェクトと関連づけ、前記第2の番号と前記デバイス識別子の組合せを前記第2のデバイスオブジェクトと関連づける情報を、前記USBホスト内に記憶することと、
    をさらに備える請求項1に記載の方法。
  4. ステップ(a)から(e)は、前記USBホスト上のUSBハードウェアと前記USBホスト上で実行しているオペレーティングシステムの組合せによって実行される、請求項1に記載の方法。
  5. プロセッサにUSBデバイス上の割込みエンドポイントから第1の通知を読み取らせ、USBホスト上の第1のデバイスオブジェクト上に前記第1の通知を受信するためのコードと、なおここで、前記第1の通知は第1の数を含む;
    前記第1の通知が前記第1のデバイスオブジェクトに向けられていることを決定するために、プロセッサに前記第1のデバイスオブジェクト上で前記第1の番号を使用させるためのコードと;
    プロセッサに前記第1のデバイスオブジェクト上で前記第1の通知を処理させるためのコードと、
    プロセッサに前記割込みエンドポイントから第2の通知を読み取らせ、前記第1のデバイスオブジェクト上に前記第2の通知を受信するためのコードと、なおここで、前記第2の通知は第2の番号を含む;
    前記第2の通知が第2のデバイスオブジェクトに向けられていることを決定するために、プロセッサに前記第1のデバイスオブジェクト上で前記第2の番号を使用させるためのコードと;
    プロセッサに前記第2のデバイスオブジェクトに前記第2の通知を知らせるためのコードと;そして
    プロセッサに前記第2のデバイスオブジェクト上で前記第2の通知を処理させるためのコードと;
    を備えるプロセッサ可読媒体。
  6. (a)第1の通知を第1のデバイスオブジェクトに通信するためにUSB割込みエンドポイントを使用することと;そして
    (b)第2の通知を第2のデバイスオブジェクトに通信するために前記USB割込みエンドポイントを使用することと、なおここで、前記第1のデバイスオブジェクトおよび第2のデバイスオブジェクトの両方は、前記第1の通知の前記通信の間および前記第2の通知の前記通信の間、アクティブである;
    を備える方法。
  7. 前記第1の通知は、第1のUSB割込みメッセージであり、前記第1のUSB割込みメッセージは、データフィールドを含んでおり、第1の番号は、前記第1のUSB割込みメッセージの前記データフィールド内で運ばれ、前記第2の通知は、第2のUSB割込みメッセージであり、前記第2のUSB割込みメッセージは、データフィールドを含んでおり、第2の番号は、前記第2のUSB割込みメッセージの前記データフィールド内で運ばれ、前記第1の番号は、前記第1のデバイスオブジェクト向けの通知であるとして前記第1の通知を識別するために使用可能であり、前記第2の番号は、前記第2のデバイスオブジェクト向けの通知であるとして前記第2の通知を識別するために使用可能である、請求項6に記載の方法。
  8. (a)の前記使用することは、前記第1の通知を前記USB割込みエンドポイント内に書き込むUSBデバイス上のドライバを伴い、前記第1のデバイスオブジェクトは、USBホスト上で実行している第1の量のコードであり、(b)の前記使用することは、前記第2の通知を前記USBデバイスエンドポイント内に書き込む前記ドライバを伴い、前記第2のデバイスオブジェクトは、前記USBホスト上で実行している第2の量のコードである、請求項6に記載の方法。
  9. (c)前記USBホストから前記USBデバイス上に要求を受信することと、そして
    (d)前記要求に応答して、前記USBデバイスから、前記USBデバイスを一意的に識別するデバイス識別子を前記USBホストに通信し戻すことと、
    をさらに備える請求項8に記載の方法。
  10. 前記USBデバイスは、第1の論理デバイスと第2の論理デバイスとを含み、前記第1の論理デバイスは、第1の記述子によって第1の複数のエンドポイントにマップされ、前記第1の複数のエンドポイントのうちの1つは、前記USB割込みエンドポイントであり、前記第2の論理デバイスは、第2の記述子によって第2の複数のエンドポイントにマップされ、前記第2の記述子は、前記第2の論理デバイスをいずれのUSB割込みエンドポイントにもマップしない、請求項8に記載の方法。
  11. 前記第1の割込みエンドポイントは、USBデバイスの一部であり、ステップ(a)および(b)は、前記USBデバイス上のUSBハードウェアおよび前記USBデバイス上で実行しているオペレーティングシステムの組合せによって実行される、請求項6に記載の方法。
  12. (a)プロセッサに第1のデバイスオブジェクトに関する第1の割込み通知をUSB割込みエンドポイント内に記憶させるためのコードと、そして
    (b)プロセッサに第2のデバイスオブジェクトに関する第2の割込み通知を前記USB割込みエンドポイント内に記憶させるためのコードと、
    を備え、前記第1のデバイスオブジェクトおよび第2のデバイスオジェクトの両方は、(a)の前記記憶する間および(b)の前記記憶する間、アクティブである
    プロセッサ実行可能命令を記憶するプロセッサ可読媒体。
  13. 前記USB割込みエンドポイントは、USBデバイスの一部であり、
    (c)プロセッサに、前記USBデバイスを一意的に識別するデバイス識別子を前記USBデバイス上のエンドポイント内に記憶させるためのコード、
    をさらに含む請求項12に記載のプロセッサ可読媒体。
  14. USBエンドポイントと、そして
    第1の論理デバイスに関する第1の割込み通知を前記USBエンドポイント内に書き込み、第2の論理デバイスに関する第2の割込み通知も前記USBエンドポイント内に書き込む回路と、
    を備え、
    前記第1および第2の論理デバイスの両方がアクティブであるとき、前記第1および第2の割込み通知は、前記USBエンドポイント内に書き込まれる、
    USBデバイス。
  15. 前記回路は、
    プロセッサと、そして
    プロセッサ実行可能命令のプログラムを記憶するメモリと、
    を備え、
    前記プロセッサによる前記プログラムの実行は、前記第1および第2の割込み通知を前記USBエンドポイント内に書き込ませる、
    請求項14に記載のUSBデバイス。
  16. 前記第1の割込み通知は、第1の番号を含み、前記第1の番号は、前記第1の割込み通知を前記第1の論理デバイスに関するとして識別し、前記第2の割込み通知は、第2の番号を含み、前記第2の番号は、前記第2の割込み通知を前記第2の論理デバイスに関しているとして識別する、請求項14に記載のUSBデバイス。
  17. 前記USBデバイスは、多機能移動通信電話である、請求項14に記載のUSBデバイス。
  18. 第1の論理デバイスと第2の論理デバイスとを具現化するUSBデバイスと、なおここで、USBデバイスはUSBエンドポイントを含む;そして
    USBバスによって前記USBデバイスに結合されたUSBホストと、なおここで、前記USBホストは、前記USBエンドポイントから割込み通知を読み取り、少なくとも一部、前記割込み通知のデータフィールド内で運ばれた番号に基づいて、前記割込み通知が前記第1の論理デバイスに関連する第1のドライバ部分によって処理されることになるのか、あるいは前記第2の論理デバイスに関連する第2のドライバ部分によって処理されることになるのかを決定する機構を含む;
    を備えるシステム。
  19. 前記第1の論理デバイスは、第1の割込み通知を前記USBエンドポイント内に書き込むことによって前記USBホストに割り込み、前記第2の論理デバイスは、第2の割込み通知を前記USBエンドポイント内に書き込むことによって前記USBホストに割り込む、請求項18に記載のシステム。
  20. 前記USBデバイスは、移動通信電話であり、前記USBホスト内の前記機構は、中央処理装置と、オペレーティングシステムと、USBハブとを備える、請求項18に記載のシステム。
  21. 前記USBデバイスは、前記USBエンドポイントを前記第1の論理デバイスに関連していると定義する第1の記述子を、前記USBホストに通信し、前記USBデバイスは、他のエンドポイントを前記第2の論理デバイスに関連していると定義するが、いずれの割込みUSBエンドポイントも前記第2の論理デバイスに関連していると定義しない第2の記述子を、前記USBホストに通信する、請求項18に記載のシステム。
  22. (a)プロセッサにUSB割込み通知内で運ばれた番号を読み取らせるコードと、なおここで、前記読み取らせることは、第1のデバイスオブジェクトによって実行される;そして
    (b)前記USB割込み通知が前記第1のデバイスオブジェクトに関するのか、あるいは、別のデバイスオブジェクトに関するのか、を決定するために、プロセッサに前記番号を使用させるためのコードと、なおここで、(b)の前記使用させることは、前記第1のデバイスオブジェクトによって実行され、前記第1のデバイスオブジェクトおよび前記他のデバイスオブジェクトは、ドライバの一部である;
    を備えるプロセッサ実行可能命令、を記憶しているプロセッサ可読媒体。
JP2009507959A 2006-04-28 2007-04-26 Usb割込みエンドポイントの共有 Expired - Fee Related JP5242558B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US79577306P 2006-04-28 2006-04-28
US60/795,773 2006-04-28
US81152606P 2006-06-06 2006-06-06
US60/811,526 2006-06-06
US11/677,845 US7657684B2 (en) 2006-04-28 2007-02-22 USB interrupt endpoint sharing
US11/677,845 2007-02-22
PCT/US2007/067555 WO2007127875A2 (en) 2006-04-28 2007-04-26 Usb interrupt endpoint sharing

Publications (2)

Publication Number Publication Date
JP2009535714A true JP2009535714A (ja) 2009-10-01
JP5242558B2 JP5242558B2 (ja) 2013-07-24

Family

ID=38606659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009507959A Expired - Fee Related JP5242558B2 (ja) 2006-04-28 2007-04-26 Usb割込みエンドポイントの共有

Country Status (6)

Country Link
US (1) US7657684B2 (ja)
EP (1) EP2013741A2 (ja)
JP (1) JP5242558B2 (ja)
KR (1) KR101023631B1 (ja)
CN (2) CN101432709B (ja)
WO (1) WO2007127875A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080961A1 (en) * 2003-10-09 2005-04-14 Bedwell Ryan D. Communication steering for use in a multi-master shared resource system
US20080016264A1 (en) * 2005-05-19 2008-01-17 Inventec Corporation Method and system for handling user-defined interrupt request
US7934122B2 (en) * 2008-08-11 2011-04-26 International Business Machines Corporation Terminate operations for complex I/O link
US7908421B2 (en) * 2008-09-30 2011-03-15 Intel Corporation Universal serial bus endpoint context caching
CN101777032A (zh) * 2009-01-14 2010-07-14 华为终端有限公司 一种实现usb端点复用的方法和设备
US20100180064A1 (en) * 2009-01-14 2010-07-15 Huawei Device Co., Ltd. Method and device for implementing USB endpoint multiplexing
US9021143B2 (en) 2012-11-30 2015-04-28 Intel Corporation Polling of I/O devices on host initiated communication transports
CN105224483B (zh) * 2014-06-11 2019-11-12 西安中兴新软件有限责任公司 数据传输方法、电子设备及通用串行总线设备
CN111813727B (zh) * 2020-08-21 2020-12-08 南京沁恒微电子股份有限公司 一种实时高效的usb数据传输方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000018159A1 (en) * 1998-09-24 2000-03-30 Ericsson Inc. Universal serial bus telephony interface
JP2001051938A (ja) * 1999-08-06 2001-02-23 Ntt Docomo Inc Usb対応電子機器
US20020152348A1 (en) * 2001-03-28 2002-10-17 James Scales Method of configuring electronic devices
US20030041205A1 (en) * 2001-07-13 2003-02-27 Wen-Jen Wu USB compound device and the method for implementation thereof
US20040133708A1 (en) * 2003-01-06 2004-07-08 Netchip Technology, Inc. Virtual endpoint for USB devices
US20060212607A1 (en) * 2005-02-03 2006-09-21 Sun Microsystems, Inc. Tagged interrupt forwarding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848279A (en) * 1996-12-27 1998-12-08 Intel Corporation Mechanism for delivering interrupt messages
US6421751B1 (en) * 1998-11-23 2002-07-16 Advanced Micro Devices, Inc. Detecting a no-tags-free condition in a computer system having multiple outstanding transactions
JP4553279B2 (ja) * 2000-03-09 2010-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送システム、データ転送端末、コントローラ、およびインターフェイス方法
US6978335B2 (en) * 2000-06-30 2005-12-20 02Micro International Limited Smart card virtual hub
US20040073721A1 (en) * 2002-10-10 2004-04-15 Koninklijke Philips Electronics N.V. DMA Controller for USB and like applications
JP4343524B2 (ja) * 2002-12-13 2009-10-14 キヤノン株式会社 制御装置およびデジタルビデオ装置
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
JP4453449B2 (ja) * 2004-06-09 2010-04-21 株式会社デンソー 車載通信モジュールおよび車載機

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000018159A1 (en) * 1998-09-24 2000-03-30 Ericsson Inc. Universal serial bus telephony interface
JP2001051938A (ja) * 1999-08-06 2001-02-23 Ntt Docomo Inc Usb対応電子機器
US20020152348A1 (en) * 2001-03-28 2002-10-17 James Scales Method of configuring electronic devices
US20030041205A1 (en) * 2001-07-13 2003-02-27 Wen-Jen Wu USB compound device and the method for implementation thereof
US20040133708A1 (en) * 2003-01-06 2004-07-08 Netchip Technology, Inc. Virtual endpoint for USB devices
US20060212607A1 (en) * 2005-02-03 2006-09-21 Sun Microsystems, Inc. Tagged interrupt forwarding

Also Published As

Publication number Publication date
CN101937417A (zh) 2011-01-05
CN101432709B (zh) 2013-10-30
CN101432709A (zh) 2009-05-13
KR20090016674A (ko) 2009-02-17
EP2013741A2 (en) 2009-01-14
WO2007127875A2 (en) 2007-11-08
US7657684B2 (en) 2010-02-02
WO2007127875A3 (en) 2008-03-27
CN101937417B (zh) 2014-08-27
US20070255877A1 (en) 2007-11-01
KR101023631B1 (ko) 2011-03-22
JP5242558B2 (ja) 2013-07-24

Similar Documents

Publication Publication Date Title
JP5242558B2 (ja) Usb割込みエンドポイントの共有
KR101529811B1 (ko) 장치의 엔디안 모드 관리 시스템 및 방법
US8898349B1 (en) IPMI over USB data transfer between host computer and baseboard management controller (BMC)
US8190798B1 (en) Client device configuration based on information stored by host device
TW200523741A (en) Simple and dynamic configuration of network devices
US20150234776A1 (en) Facilitating, at least in part, by circuitry, accessing of at least one controller command interface
JP5129770B2 (ja) ネットワーク装置
JP2008539484A (ja) ユニバーサル・シリアル・バス機能のデリゲーション
JP2001242965A (ja) コンピュータシステム、情報処理装置、及び電源供給システム
KR20040060965A (ko) 매입형 마이크로컨트롤러를 가진 마이크로컴퓨터 브리지아키텍처
US20200192838A1 (en) Extended message signaled interrupts (msi) message data
JP2012093926A (ja) 通信速度制御装置および通信速度制御方法
JP2008539495A (ja) サービスに対する要求をラッチするスレーブ装置
US20160077986A1 (en) Electronic apparatus providing real-time switching and sharing of usb electronic devices among hosts
US8996771B1 (en) System and method for communication via universal serial bus
CN109271266B (zh) 文件传输方法、装置及终端设备
US7853830B2 (en) Apparatus and method for providing error notification in a wireless virtual file system
JP2006227867A (ja) Usbデバイスおよびusbホスト
US8832341B2 (en) Dynamically determining a primary or slave assignment based on receiving a power signal from the cable at the port of a device
US8578378B2 (en) Facilitating compatible interaction, at least in part
JP2006178704A (ja) 複数の機能を有する装置、及び当該装置と接続可能な上位装置
KR100432663B1 (ko) 유에스비 시스템의 신호처리 장치 및 그 방법
US20230133948A1 (en) Adjustment of display settings
JP2010044537A (ja) コンピュータプログラム、コンピュータ装置、及び標識付加方法
EP2250571A1 (en) Apparatus for storing and processing contents and method of transmitting object meta information on contents using media transfer protocol from the apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110513

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110520

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110615

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110622

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110715

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120606

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120705

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5242558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees