JP2010061670A - バス接続システム - Google Patents
バス接続システム Download PDFInfo
- Publication number
- JP2010061670A JP2010061670A JP2009231540A JP2009231540A JP2010061670A JP 2010061670 A JP2010061670 A JP 2010061670A JP 2009231540 A JP2009231540 A JP 2009231540A JP 2009231540 A JP2009231540 A JP 2009231540A JP 2010061670 A JP2010061670 A JP 2010061670A
- Authority
- JP
- Japan
- Prior art keywords
- host
- station
- bus
- communication port
- usb
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Abstract
【課題】ハードウェア・ドングルの形をとるバス・ステーションが、適切なソフトウェアを実行するUSBデバイスと連携して動作する。
【解決手段】バス・ステーションが、バス・ステーションの第1のバス通信ポートにバス・ホストが接続されていると判定した場合、バス・ステーションは、前記バス・ホストとバス・ステーションの第2のバス通信ポートに接続されたバス・デバイスの間で従来のバス通信を可能にするトランシーバとして動作する。バス・ステーションが、バス・ステーションの第1のバス通信ポートに適切なソフトウェアを実行するバス・デバイスが接続されていると判定した場合、バス・ステーションは、第1のバス通信ポートに接続された前記バス・デバイスと第2のバス通信ポートに接続されたバス・デバイスの間でバス通信を可能にする代替ホストとして動作する。
【選択図】図1
【解決手段】バス・ステーションが、バス・ステーションの第1のバス通信ポートにバス・ホストが接続されていると判定した場合、バス・ステーションは、前記バス・ホストとバス・ステーションの第2のバス通信ポートに接続されたバス・デバイスの間で従来のバス通信を可能にするトランシーバとして動作する。バス・ステーションが、バス・ステーションの第1のバス通信ポートに適切なソフトウェアを実行するバス・デバイスが接続されていると判定した場合、バス・ステーションは、第1のバス通信ポートに接続された前記バス・デバイスと第2のバス通信ポートに接続されたバス・デバイスの間でバス通信を可能にする代替ホストとして動作する。
【選択図】図1
Description
本発明は、バス接続システムに関し、詳細には、電子機器がバス通信システム内でホストとして動作できるように、バス通信システムにおいて電子機器と共に使用することができるデバイスに関する。
ユニバーサル・シリアル・バス(USB)通信システムが、広く普及している。
USBシステムにおいては、パーソナル・コンピュータ、スキャナ、モバイル電話、プリンタなど、数多くの電子機器を相互接続することができる。どのようなシステムにおいても、必ず1つの電子機器が、その他のすべての機器、すなわちUSBデバイスとの接続を制御するUSBホストに指定される。一般にパーソナル・コンピュータは、USBホストとして動作するのに必要なハードウェアとソフトウェアを備えているが、その他の機器は通常、必要なハードウェアとソフトウェアを備えていないため、USBデバイスとしてしか動作することができない。
しかし、大掛かりな変更を必要とせずに、機器がUSBホストとして動作できれば有益であろう状況が存在する。
本発明の一態様によれば、好ましくはハードウェア・ドングルの形をとるバス・ステーションが提供され、バス・ステーションは、バス通信デバイスのバス通信ポートに接続されて、バス・ホストとして動作することができる。本発明の好ましい実施形態においては、バス・ステーションはUSBシステム内で動作するが、本発明はその他のバス通信システムにも適用することができる。
より具体的には、本発明の一態様は、バス・ステーションを提供し、このバス・ステーションは、バス・ステーションの第1のバス通信ポートにバス・ホストが接続されていると判断した場合、前記バス・ホストとバス・ステーションの第2のバス通信ポートに接続されたバス・デバイスとの間で従来のバス通信を可能にするトランシーバとして動作し、バス・ステーションの第1のバス通信ポートに適切なソフトウェアを実行中のバス・デバイスが接続されていると判断した場合、第1のバス通信ポートに接続された前記バス・デバイスと第2のバス通信ポートに接続されたバス・デバイスとの間でバス通信を可能にする代替ホストとして動作する。
図1は、本発明によるバス通信システムの概略ブロック図である。
システム2は、USBポート6を有する第1のUSBデバイス4と、第2のUSBデバイス8と、ドングル10とを備える。
図1に示す実施形態においては、第1のUSBデバイス4は、携帯情報端末(PDA)であるが、本発明が、移動通信デバイス、デジタル・カメラ、または電子手帳など、どのようなUSBデバイスにも適用可能なことを理解されたい。
第2のUSBデバイス8は、プリンタ、マウス、ハード・ディスク、またはモデムをはじめとする、どのようなUSBデバイスでもよい。
ドングル10は、第1のホスト・ポートH1と第2のホスト・ポートH2を備えた組み込みUSBホスト/デバイス・コントローラ12と、低消費電力マイクロ・コントローラ・ユニット(MCU)14とを備える。
ドングル10の第1のホスト・ポートH1は、図1に示すように、PDA4のUSBポート6に接続することができる。ドングル10の第1のホスト・ポートH1が、PDA4のUSBポート6に接続される場合、PDAは事実上、USBホストとして動作することができ、ドングル10の第2のホスト・ポートH2は事実上、PDA4のホスト・ポートとして機能する。したがって、PDA4は、USBバス15によってドングル10の第2のホスト・ポートH2に接続された任意のUSBデバイスとの通信を制御することができる。
図1においては、第1のホスト・ポートH1および第2のホスト・ポートH2は、同じUSBホスト/デバイス・コントローラ12に接続されているが、MCU14は、2つの独立したUSBホスト/デバイス・コントローラを介して、すなわち、PDA専用に通信する第1のコントローラ、および1つまたは複数の接続USBデバイス8専用に通信する第2のコントローラを介して、第1のホスト・ポートH1および第2のホスト・ポートH2と通信することもできることに留意されたい。
ドングル10と接続されたとき、PDA4がUSBホストとして動作できるためには、PDA4はドライバ更新を必要とする。
ドライバ更新は、使用中の特定のUSBデバイスに特化されており、PDA4の既存のUSBデバイス・ハードウェアの上で動作する仮想ハードウェア・アブストラクション・レイヤ(仮想HAL)ソフトウェア・ドライバの組み込みを行う。
図2は、図1のシステム内のハードウェアおよびソフトウェアを示したブロック図である。
従来のように、USBデバイス4は、オペレーティング・システム18と、ホスト・スタック20と、デバイス・スタック/デバイス・ハードウェア22とを有する。USBホストとして動作できるように、PDA4はまた、仮想HALドライバ・ソフトウェア16も実行する。USBデバイス4が仮想HALドライバ・ソフトウェア16を実行しているとき、本明細書では、USBデバイスのことをホストオンデバイス(HostOnDevice)と呼ぶことがある。
ドングル10は、ホスト・ハードウェア12(すなわち、USBホスト・コントローラ)と、MCU14と、ソフトホスト(SoftHost)ファームウェア24とを含む。
以下でより詳しく説明するソフトホスト・プロトコル・レイヤは、ドングル・コネクタ28を介したデバイス4とドングル10の間の通信を制御する。
図3は、MCU14の制御下にある、ドングル10の動作を示したフローチャートである。図3のステップ32において、電源が投入されると、ステップ34において、MCUは、第1のホスト・ポートに対する接続の有無を判定するため、第1のホスト・ポートH1をポーリングする。何も接続されていない場合、プロセスはステップ36で終了する。
何かが接続されている場合、ステップ38において、MCUは、第1のホスト・ポートH1に接続されているのがUSBホストであるかどうかを判定する。第1のホスト・ポートH1に接続されているのがUSBホストである場合、プロセスはステップ40に進み、ステップ40において、ドングル10は、USBトランシーバとして動作する。すなわち、ドングルは、接続USBホストが、第2のホスト・ポートH2に接続された任意のUSBデバイス(複数のデバイス)との通信を従来通り制御できるように、第1のホスト・ポートH1と第2のホスト・ポートH2の間で通信データを直接受け渡しする。
ステップ38において、MCUが、第1のホスト・ポートH1に接続されているのはUSBホストではなく、USBデバイスであると判定した場合、プロセスはステップ41に進み、ステップ41において、MCUは、第2のホスト・ポートH2にUSBホストが接続されているかどうかを判定する。USBホストが接続されている場合、ステップ42において、USBホスト/デバイス・コントローラ12内のUSBデバイス・コアは、第1のホスト・ポートH1に接続されたUSBデバイスと第2のホスト・ポートH2に接続されたUSBホストの間で従来通りのUSB通信が可能になるように動作する。
第2のホスト・ポートH2に接続されているのもUSBデバイスである場合、ステップ43において、MCU14は、第1のホスト・ポートH1に接続されたUSBデバイスを列挙して、それが仮想HALを実行中のUSBデバイスであるかどうかをチェックする。ステップ43において、MCUが、接続デバイス4は仮想HALを実行中ではないと判定した場合、ステップ44において、MCUは、デバイス4を使用不可にし、例えば、接続デバイス4が仮想HALをサポートしていないことを通知するLEDを点滅させるなどする。
ステップ42において、MCUが、接続デバイス4は仮想HALを実行中である(すなわち、接続デバイスは仮想HALドライバ16を有する)と判定した場合、ステップ46において、MCU14は、ドングル10が(デバイス4と共に)代替USBホストとして動作可能な動作モードに入る。以下でより詳しく説明するこのモードにおいて、ドングル10は、第2のホスト・ポートH2に接続された任意のUSBデバイス(複数のデバイス)との通信を制御することができる。
パーソナル・コンピュータがUSBホストになる従来のシステムにおいては、ホスト・スタックは、ホストHAL(HostHAL)を介して下位のUSBハードウェアにアクセスする。同様に、従来のPDA USBデバイスにおいては、デバイス・スタックは、デバイスHAL(Device HAL)を介して下位のUSBハードウェアにアクセスする。
しかし、本発明によれば、ソフトホスト・システムにおいては、ホスト・スタック(またはホスト・ステーション・ドライバ・ソフトウェア)20が、ホスト・ハードウェア12をアクセスする必要がある場合、ホスト・スタックは、アクセス動作詳細を仮想HALドライバ16に伝える。仮想HALドライバ16は、そのアクセス動作詳細を所定のソフトホスト・プロトコルでラップする。ソフトホスト・プロトコル・パケットは、ソフトホスト・ドングル10が、未処理ソフトホスト・プロトコル・パケットの有無を調べるため、USBデバイス・ハードウェアをポーリングしたときに、既存のUSBデバイス・ハードウェア22を介して送出される。
したがって、仮想HALドライバ16は、ホスト・ステーション・ドライバ・ソフトウェアに対して、ホスト・コントローラの存在をエミュレートする。すなわち、ホスト・スタック20の観点からは、仮想HALドライバ16との通信は、従来のシステムにおけるホストHALとの通信と異なるところがない。ホスト・スタック20は、仮想HALドライバ16を介して、実際のホスト・ハードウェアを見ることになる。
反対に、仮想HALドライバ16は、デバイス・コントローラ(またはデバイス・スタック)22に対して、デバイス・コントローラの存在をエミュレートする。したがって、仮想HALドライバ16は、ホスト・ステーション・ドライバ・ソフトウェア20とデバイス・コントローラの間で通信を変換する。
ソフトホスト・プロトコルは、以下のアクセス機能を提供する。
−ドングルのホスト・ハードウェア12内のレジスタを読み取る。
−ドングルのホスト・ハードウェア12内のレジスタに書き込む。
−ドングルのホスト・ハードウェア12内のバッファ・メモリを読み取る。
−ドングルのホスト・ハードウェア12内のバッファ・メモリに書き込む。
−ドングルのホスト・ハードウェア12内のレジスタを読み取る。
−ドングルのホスト・ハードウェア12内のレジスタに書き込む。
−ドングルのホスト・ハードウェア12内のバッファ・メモリを読み取る。
−ドングルのホスト・ハードウェア12内のバッファ・メモリに書き込む。
システム性能を向上させるため、例えば、レジスタを読み取り、その内容とある値とでAND/OR演算を行い、変更値をレジスタに書き戻す機能のような、より高度な機能を追加することもできる。
ソフトホスト・プロトコルは、仮想HAL上で動作するホスト・スタック20が、デバイス・コントローラ・ハードウェアを使用してホスト・コントローラ12のハードウェアをアクセスする方法を定義する。ソフトホスト・プロトコルについては、以下で詳しく説明する。その説明において、ドングル10を指して、「ホストドングル(HostDongle)」という用語が使用され、仮想HAL16上でホスト・スタック20を実行するデバイス4、すなわちUSBデバイス・ハードウェア22を備える組み込みシステムを指して、「ホストオンデバイス」という用語が使用される。
ソフトホスト・プロトコルは、ホストドングル10が接続デバイス4を列挙し、接続デバイス4がホストオンデバイスであることを確認した時点である図3の終りにおいて開始する。
動作モードにおいて、MCU14は、割り込みパイプを設定し、データの有無を調べるため仮想HALドライバ16をミリ秒間隔でポーリングする。デバイス4とドングル10の間で送信されるデータは、ソフトホスト・プロトコルによって、ソフトホスト・パケットの形で送信される。PDA4上のホスト・スタック20が、仮想HALドライバ16を介してハードウェア・アクセス要求を送信した場合、仮想HALドライバ16は、ドングル10の第1のホスト・ポートH1が割り込みパイプを介して仮想HALドライバをポーリングしたとき、その要求をソフトホストパケット(SoftHostPacket)として送信する。
MCU14は、このソフトホスト・パケットを組み込みUSBホスト・コントローラ12のバッファ・メモリから取り出し、ハードウェア・アクセスをしかるべく実行する。何らかの返送データが存在する場合(読み取り動作)、MCU14は、対応するデータをホスト1を介して送出する。
トラフィック
ホストドングル10とホストオンデバイス4とは、専用の双方向バルク・パイプを使用して通信する。4つのタイプのペイロードが存在する。
HRU (ホストドングル要求ユニット)
ホストドングル10によって送信
8バイト・ペイロードのバルク・パケット
ホストオンデバイス4をポーリングするために使用
割り込み情報(HRU_IRQ)を含む場合あり
ホストドングル10はHRU送信後、必ず64バイトのバルク・インを送信
ホストオンデバイス4はこのバルク・インを介してNOBまたはCRPで応答
NOB (未処理作業なし)
ホストオンデバイス4によって送信
8バイト・ペイロードのバルク・パケット
未処理トランザクションがない場合に送信
CRP (共通要求パケット)
ホストオンデバイス4によって送信
16〜64バイトのバルク・パケット
先の受信CPRコマンドの結果、および最適データ・セットを含む
APR (要求に従う)
ホストドングル10によって送信
16〜64バイトのバルク・パケット
ホストドングル10とホストオンデバイス4とは、専用の双方向バルク・パイプを使用して通信する。4つのタイプのペイロードが存在する。
HRU (ホストドングル要求ユニット)
ホストドングル10によって送信
8バイト・ペイロードのバルク・パケット
ホストオンデバイス4をポーリングするために使用
割り込み情報(HRU_IRQ)を含む場合あり
ホストドングル10はHRU送信後、必ず64バイトのバルク・インを送信
ホストオンデバイス4はこのバルク・インを介してNOBまたはCRPで応答
NOB (未処理作業なし)
ホストオンデバイス4によって送信
8バイト・ペイロードのバルク・パケット
未処理トランザクションがない場合に送信
CRP (共通要求パケット)
ホストオンデバイス4によって送信
16〜64バイトのバルク・パケット
先の受信CPRコマンドの結果、および最適データ・セットを含む
APR (要求に従う)
ホストドングル10によって送信
16〜64バイトのバルク・パケット
フロー
すべてのUSBシステムと同様に、転送はホストによるアクションで開始する。ソフトホスト・プロトコルの場合、ソフトホスト・ドングル10が常にホストとなる。すべてのソフトホスト転送サイクルは、上で定義したように、HRUで開始する。現在の転送サイクルは、ソフトホスト・ドングル10が次の転送サイクルを開始する前に完了しなければならない。
すべてのUSBシステムと同様に、転送はホストによるアクションで開始する。ソフトホスト・プロトコルの場合、ソフトホスト・ドングル10が常にホストとなる。すべてのソフトホスト転送サイクルは、上で定義したように、HRUで開始する。現在の転送サイクルは、ソフトホスト・ドングル10が次の転送サイクルを開始する前に完了しなければならない。
ポーリング−未処理なしサイクル:HRU−NOB
ホストドングル10は、未処理コマンド・セットの有無を調べるため、ホストオンデバイス4をポーリングする。未処理コマンド・セットがない場合、ホストオンデバイス4は、NOBで応答する。
ホストドングル10は、未処理コマンド・セットの有無を調べるため、ホストオンデバイス4をポーリングする。未処理コマンド・セットがない場合、ホストオンデバイス4は、NOBで応答する。
トランザクション:
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(HRU)を送信
ホストオンデバイス4がACKを送信
ホストドングル10がBULK−INを送信
ホストオンデバイス4がDATA(NOB)を送信
ホストドングル10がACKを送信
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(HRU)を送信
ホストオンデバイス4がACKを送信
ホストドングル10がBULK−INを送信
ホストオンデバイス4がDATA(NOB)を送信
ホストドングル10がACKを送信
ポーリング−未処理ありサイクル:HRU−CRP−APR
ホストドングル10は、未処理コマンド・セットの有無を調べるため、ホストオンデバイス4をポーリングする。ホストオンデバイス4は、CRPによって未処理コマンド・セットを送信する。ホストドングル10は、コマンドを実行し、APRによって結果を返送する。
ホストドングル10は、未処理コマンド・セットの有無を調べるため、ホストオンデバイス4をポーリングする。ホストオンデバイス4は、CRPによって未処理コマンド・セットを送信する。ホストドングル10は、コマンドを実行し、APRによって結果を返送する。
トランザクション:
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(HRU)を送信
ホストオンデバイス4がACKを送信
ホストドングル10がBULK−INを送信
ホストオンデバイス4がDATA(CRP)を送信
ホストドングル10がACKを送信
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(APR)を送信
ホストオンデバイス4がACKを送信
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(HRU)を送信
ホストオンデバイス4がACKを送信
ホストドングル10がBULK−INを送信
ホストオンデバイス4がDATA(CRP)を送信
ホストドングル10がACKを送信
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(APR)を送信
ホストオンデバイス4がACKを送信
割り込みサイクル:HRU_IRQ−CRP−APR
ホストドングル10は、未処理ハードウェア割り込みをかけてホストオンデバイス4に送信を促す。ホストオンデバイス4は、適切なコマンド・セットを決定し、CRPによってそれを送信する。ホストドングル10は、コマンドを実行し、APRによって結果を返送する。ホストオンデバイス4は、未処理割り込みをクリアするか、またはHRU_IRQの発生を無効化しなければならず、さもないと、ホストドングル10は、HRU_IRQを継続して送信することになる。
ホストドングル10は、未処理ハードウェア割り込みをかけてホストオンデバイス4に送信を促す。ホストオンデバイス4は、適切なコマンド・セットを決定し、CRPによってそれを送信する。ホストドングル10は、コマンドを実行し、APRによって結果を返送する。ホストオンデバイス4は、未処理割り込みをクリアするか、またはHRU_IRQの発生を無効化しなければならず、さもないと、ホストドングル10は、HRU_IRQを継続して送信することになる。
トランザクション:
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(HRU_IRQ)を送信
ホストオンデバイス4がACKを送信
ホストドングル10がBULK−INを送信
ホストオンデバイス4がDATA(CRP)を送信
ホストドングル10がACKを送信
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(APR)を送信
ホストオンデバイス4がACKを送信
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(HRU_IRQ)を送信
ホストオンデバイス4がACKを送信
ホストドングル10がBULK−INを送信
ホストオンデバイス4がDATA(CRP)を送信
ホストドングル10がACKを送信
ホストドングル10がBULK−OUTを送信
ホストドングル10がDATA(APR)を送信
ホストオンデバイス4がACKを送信
パケット・フォーマット
HRUフォーマット
HRUは以下の情報を含む。
現在のフレーム番号
ホストドングル10内のホスト・コントローラ12のHcInterruptStatus
デバイス・コントローラ22の割り込みステータス
HRUフォーマット
HRUは以下の情報を含む。
現在のフレーム番号
ホストドングル10内のホスト・コントローラ12のHcInterruptStatus
デバイス・コントローラ22の割り込みステータス
NOBフォーマット
特別な情報は必要としない。
特別な情報は必要としない。
CRPフォーマット、APRフォーマット
ヘッダ内のアクティブ・ビットは、CRPの場合は1であり、APRの場合は0である。
ヘッダ内のアクティブ・ビットは、CRPの場合は1であり、APRの場合は0である。
CRPのサイズは、16〜64バイトとすることができる。全体のサイズは、
(各々8バイトの)コマンド・セットの数と、
最適データ・セットから決まる。
(各々8バイトの)コマンド・セットの数と、
最適データ・セットから決まる。
CRP内のコマンド・セットの最大数は、8である。
データ・セットの最大サイズは、64−(8×コマンド・セット数)である。
単一のコマンド要求パケット内に複数のコマンド・セットを収めることによって、一連のハードウェア・アクセスを単一のパケットで伝えることができるので、転送待ち時間が短縮される。
コマンド・セット・フォーマット
コマンド・セットは、8バイトのデータ構造である。コマンド・セットは、以下の情報を含む。
コマンド・セット・Header(1バイト)
コマンド・セット・Index(2バイト)
コマンド・セット・Data(4バイト)
コマンド・セット・Aux(1バイト)
コマンド・セットは、8バイトのデータ構造である。コマンド・セットは、以下の情報を含む。
コマンド・セット・Header(1バイト)
コマンド・セット・Index(2バイト)
コマンド・セット・Data(4バイト)
コマンド・セット・Aux(1バイト)
仮想HALの使用は、ハードウェア・ドングルがUSBソフトウェアを処理する必要がないので、ドングルを低コストとすることができ、ホスト・ソフトウェアはUSBデバイス上の組み込みシステムによって処理できるという利点を提供する。
したがって、本発明の好ましい実施形態においては、既存のハードウェアに変更を加えることなく、USBデバイスにUSBホスト機能をもたせることができるハードウェア・ドングルを提供する。これを達成するため、USBデバイスは、USBデバイス上の組み込みシステムによって処理できるエミュレーション・ソフトウェアを実行する。これによって、ハードウェア・ドングルはUSBソフトウェアを処理する必要がなく、ドングルを低コストとすることができるという利点が提供される。
今までの説明では、仮想HALドライバ・ソフトウェアによって、USBデバイスが、ドングル10と連携してUSBホストとして機能できるようになるシステムに関連させて、本発明を説明してきた。しかし、類似の構造をもつ仮想HALドライバ・ソフトウェアを使用して、USBデバイス機能をもつシステムに、複数のインタフェース/機能を組み込むことができる。例えば、ドライバ・ソフトウェアによって、USBデバイスが、Bluetooth、IrDA、USB−OTG、またはその他の通信プロトコルを介して通信できるようにすることができる。
Claims (9)
- バス通信システムで使用されるバス・ステーションであって、
第1の通信ポートと第2の通信ポートを備え、
当該バス・ステーションは、前記第2の通信ポートに結合されたホスト・ステーションの存在を検出したときは第1の動作モードで動作し、前記第2の通信ポートに結合されたホスト・ステーションの非存在を検出したときは第2の動作モードで動作するように構成され、
当該バス・ステーションは、前記第1の動作モードにおいて、前記第2の通信ポートに結合された前記ホスト・ステーションと前記第1の通信ポートに結合されたデバイス・ステーションの間の通信の受け渡しを行うように構成され、
当該バス・ステーションはさらに、前記第2の動作モードにおいて、通信プロトコルに従って、前記第1の通信ポートに結合された前記デバイス・ステーションと通信することによって、代替ホストとして動作することにより、当該バス・ステーションが通信を開始するように構成される、
ことを特徴とするバス・ステーション。 - 前記バス・ステーションが、前記第1の動作モードにおいて、USBトランシーバとして動作し、前記第2の動作モードにおいて、USBホストとして動作するように構成される、請求項1に記載のバス・ステーション。
- 前記第1の動作モードにおいて、前記第2の通信ポートに結合された前記ホスト・ステーションと前記デバイス・ステーションの間で通信を行うための前記第1および第2の通信ポートに結合されたトランシーバ回路をさらに備える、請求項1に記載のバス・ステーション。
- バス・システムで使用されるバス・ステーションであって、
通信ポートに結合されたデバイス・コントローラを備え、
前記通信ポートは、デバイス・ステーションとして動作するように構成され、
前記バス・ステーションはさらに、オペレーティング・システムとホスト・ステーション・ドライバ・ソフトウェアとを備えるシステム・ソフトウェアの制御下で、動作するように構成され、前記ホスト・ステーション・ドライバ・ソフトウェアは、ホスト・コントローラと通信し、前記オペレーティング・システムとの間で情報の受け渡しを行うように構成されており、
前記システム・ソフトウェアはさらに、前記ホスト・ステーション・ドライバ・ソフトウェアに対してホスト・コントローラの存在を、また前記デバイス・コントローラに対してデバイス・ステーション・ドライバ・ソフトウェアの存在をエミュレートするように構成され、さらに前記ホスト・ステーション・ドライバ・ソフトウェアから前記デバイス・コントローラへの通信およびその反対方向の通信を変換するように構成される、ホスト・エミュレーション・ソフトウェアを備える、バス・ステーション。 - 第1のバス通信ポートを備える第1のバス・ステーションと、第2のバス・ステーションとを、備えるバス通信システムであって、
前記第2のバス・ステーションはさらに、第2のバス通信ポートを備え、
前記第2のバス・ステーションは、前記第2のバス通信ポートに結合されたホスト・ステーションの存在を検出したときは第1のモードで動作し、前記第2のバス通信ポートに結合されたホスト・ステーションの非存在を検出したときは第2のモードで動作するように構成される、
前記第1のバス・ステーションが、前記第2のバス通信ポートに結合されたデバイス・コントローラを備え、前記デバイス・コントローラは、オペレーティング・システムとホスト・ステーション・ドライバ・ソフトウェアとを含むシステム・ソフトウェアの制御下で、動作するように構成され、前記ホスト・ステーション・ドライバ・ソフトウェアは、ホスト・コントローラと通信し、前記オペレーティング・システムとの間で情報の受け渡しを行うように構成されており、
前記システム・ソフトウェアはさらに、前記ホスト・ステーション・ドライバ・ソフトウェアに対してホスト・コントローラの存在を、また前記デバイス・コントローラに対してデバイス・ステーション・ドライバ・ソフトウェアの存在をエミュレートするように構成され、さらに前記ホスト・ステーション・ドライバ・ソフトウェアから前記デバイス・コントローラへの通信およびその反対方向の通信を変換するように構成される、ホスト・エミュレーション・ソフトウェアを備える、
ことを特徴とするバス通信システム。 - 第1の通信ポートと第2の通信ポートとを備える、USBドングルであって、
当該USBドングルは、前記第1の通信ポートと前記第2の通信ポートのうちの一方に結合されたホスト・ステーションの存在を検出したとき、及び、前記第1の通信ポートと前記第2の通信ポートのうちの他方に結合されたデバイス・ステーションの存在を検出したときは、第1の動作モードで動作するように構成されており、
当該USBドングルはさらに、前記第1の動作モードにおいて、前記ホスト・ステーションと前記デバイス・ステーションとの間の通信の受け渡しを行うように構成され、
当該USBドングルは、前記第1の通信ポートに結合された第1のデバイス・ステーションと前記第2の通信ポートに結合された第2のデバイス・ステーションを検出したときは、第2の動作モードで動作するように構成され、
当該USBドングルはさらに、前記第2の動作モードにおいて、前記第1のデバイス・ステーションと前記第2のデバイス・ステーションとの間の通信の受け渡しを行うように構成され、
当該USBドングルはさらに、前記第2の動作モードにおいて、通信プロトコルに従って、前記第1のデバイス・ステーションと通信することにより、代替ホストとして動作し、当該USBドングルが通信を開始するように構成される、
ことを特徴とするUSBドングル。 - 当該USBドングルが、前記第1の動作モードにおいて、USBトランシーバとして動作し、前記第2の動作モードにおいて、USBホストとして動作するように構成される、ことを特徴とする請求項6に記載のUSBドングル。
- 前記第1の動作モードにおいて、前記ホスト・ステーションと前記デバイス・ステーションの間で通信を行うための前記第1および第2の通信ポートに結合されたトランシーバ回路をさらに備える、ことを特徴とする請求項6に記載のUSBドングル。
- バス・システムで使用されるUSBドングルであって、
通信ポートに結合されたデバイス・コントローラを備え、
前記通信ポートは、デバイス・ステーションとして動作するように構成され、
前記USBドングルはさらに、オペレーティング・システムとホスト・ステーション・ドライバ・ソフトウェアとを備えるシステム・ソフトウェアの制御下で、動作するように構成され、前記ホスト・ステーション・ドライバ・ソフトウェアは、ホスト・コントローラと通信し、前記オペレーティング・システムとの間で情報の受け渡しを行うように構成されており、
前記システム・ソフトウェアはさらに、前記ホスト・ステーション・ドライバ・ソフトウェアに対してホスト・コントローラの存在を、また前記デバイス・コントローラに対してデバイス・ステーション・ドライバ・ソフトウェアの存在をエミュレートするように構成され、さらに前記ホスト・ステーション・ドライバ・ソフトウェアから前記デバイス・コントローラへの通信およびその反対方向の通信を変換するように構成される、ホスト・エミュレーション・ソフトウェアを備える、ことを特徴とするUSBドングル。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG0200239 | 2002-09-24 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004539268A Division JP2006500672A (ja) | 2002-09-24 | 2003-05-22 | バス接続システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010061670A true JP2010061670A (ja) | 2010-03-18 |
Family
ID=32041145
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004539268A Pending JP2006500672A (ja) | 2002-09-24 | 2003-05-22 | バス接続システム |
JP2009231540A Pending JP2010061670A (ja) | 2002-09-24 | 2009-10-05 | バス接続システム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004539268A Pending JP2006500672A (ja) | 2002-09-24 | 2003-05-22 | バス接続システム |
Country Status (9)
Country | Link |
---|---|
US (1) | US7640385B2 (ja) |
EP (1) | EP1546897B1 (ja) |
JP (2) | JP2006500672A (ja) |
CN (1) | CN1685326B (ja) |
AT (1) | ATE349044T1 (ja) |
AU (1) | AU2003228076A1 (ja) |
DE (1) | DE60310586T2 (ja) |
TW (1) | TWI320142B (ja) |
WO (1) | WO2004029817A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007531085A (ja) * | 2003-12-30 | 2007-11-01 | ヴィーブ−システムズ アクチエンゲゼルシャフト | データ処理装置を制御する方法 |
JP2013050859A (ja) * | 2011-08-31 | 2013-03-14 | Nec Access Technica Ltd | Usb機器およびusb機器の制御方法 |
US8818279B2 (en) | 2011-09-09 | 2014-08-26 | Fujitsu Component Limited | Communication device and method for controlling communication device |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3962696B2 (ja) * | 2003-02-21 | 2007-08-22 | キヤノン株式会社 | 情報処理装置とその制御方法及び制御プログラム |
US7174405B1 (en) * | 2003-06-06 | 2007-02-06 | Cisco Technology, Inc. | Method and system for replacing a read-modify-write operation with an atomic set-bits or clear-bits operation |
TWI241520B (en) * | 2003-07-08 | 2005-10-11 | Ours Technology Inc | Universal serial bus device for exchange data each other |
TWI226551B (en) * | 2003-10-28 | 2005-01-11 | Prolific Technology Inc | Multi-function wireless bridge for USB and associated system |
CN100375495C (zh) * | 2004-04-26 | 2008-03-12 | 全友电脑股份有限公司 | 可独立运作的扫描仪 |
EP1754160B1 (en) * | 2004-05-28 | 2010-05-05 | Nxp B.V. | Bus connection device |
CN100416531C (zh) * | 2004-08-30 | 2008-09-03 | 旺玖科技股份有限公司 | 多功能通用串行总线无线桥接装置及系统装置 |
DE102004042172A1 (de) | 2004-08-31 | 2006-03-09 | Advanced Micro Devices, Inc., Sunnyvale | Segmentierter chipinterner Speicher und Arbitrierung anfordernder Einrichtungen |
WO2006031681A2 (en) * | 2004-09-10 | 2006-03-23 | Logitech Europe S.A. | Communication of audio control signals for wireless audio headphones |
CN100388256C (zh) * | 2004-09-17 | 2008-05-14 | 宇瞻科技股份有限公司 | Usb存取装置 |
CN1329808C (zh) * | 2004-10-09 | 2007-08-01 | 宇瞻科技股份有限公司 | 数据编码和解码装置 |
DE102004057756B4 (de) * | 2004-11-30 | 2009-08-06 | Advanced Micro Devices Inc., Sunnyvale | USB-Steuerungseinrichtung mit OTG-Steuerungseinheit |
US7606951B2 (en) | 2004-11-12 | 2009-10-20 | Woodbridge Nancy G | Memory reuse for multiple endpoints in USB device |
US20060106962A1 (en) * | 2004-11-17 | 2006-05-18 | Woodbridge Nancy G | USB On-The-Go implementation |
DE102005009021A1 (de) | 2005-02-28 | 2006-09-07 | Advanced Micro Devices Inc., Sunnyvale | Vereinheitliche USB OTG-Steuerungseinheit |
US20060206631A1 (en) * | 2005-03-09 | 2006-09-14 | Chin-Chen Kuo | Data duplication method and system used between USB devices |
CN100401280C (zh) * | 2005-06-08 | 2008-07-09 | 北京飞天诚信科技有限公司 | 通用串行总线数据传输方法 |
DE602005006808D1 (de) * | 2005-08-15 | 2008-06-26 | Research In Motion Ltd | Universeller Peripherieverbinder |
US8024500B2 (en) | 2005-08-15 | 2011-09-20 | Research In Motion Limited | Universal peripheral connector |
FR2895187B1 (fr) * | 2005-12-21 | 2010-12-17 | Eastman Kodak Co | Station d'accueil d'equipements hotes mobiles et procede de partage de ressources utilisant la station |
US8035368B2 (en) * | 2006-02-13 | 2011-10-11 | Freescale Semiconductor, Inc. | Integrated circuit, universal serial bus on-the-go power source and methods for use therewith |
US20100225953A1 (en) * | 2006-03-20 | 2010-09-09 | Ernst Engst | Method and assembly for releasing and configuring specific system operations of a printer or photocopier |
CN101136000B (zh) * | 2006-09-01 | 2011-01-05 | 飞思卡尔半导体公司 | 实现sd主机/从属设备的应用处理器电路和电子设备 |
JP2008107997A (ja) * | 2006-10-24 | 2008-05-08 | Seiko Epson Corp | データ通信方法、データ通信装置及びデータ通信システム |
US7558899B2 (en) * | 2007-04-04 | 2009-07-07 | Imation Corp. | Dongle configured to electrically couple a data storage device and a host computing device |
US8315269B1 (en) | 2007-04-18 | 2012-11-20 | Cypress Semiconductor Corporation | Device, method, and protocol for data transfer between host device and device having storage interface |
GB2453405B (en) * | 2007-06-15 | 2012-08-08 | Apple Inc | Systems and methods for providing device-to-device handshaking through a power supply signal |
TWI448902B (zh) | 2007-08-24 | 2014-08-11 | Cypress Semiconductor Corp | 具頁存取基礎處理器介面之橋接裝置 |
US8090894B1 (en) * | 2007-09-21 | 2012-01-03 | Cypress Semiconductor Corporation | Architectures for supporting communication and access between multiple host devices and one or more common functions |
US20090276549A1 (en) * | 2008-05-01 | 2009-11-05 | Nokia Corporation | Access for host stacks |
US8170844B2 (en) * | 2008-05-02 | 2012-05-01 | Northrop Grumman Guidance And Electronics Company, Inc. | Estimation of probability of lambda failure through employment of lookup table |
US8082381B2 (en) * | 2008-09-02 | 2011-12-20 | Nvidia Corporation | Connecting a plurality of peripherals |
US20100115116A1 (en) * | 2008-11-03 | 2010-05-06 | Micron Technology, Inc. | System and method for switching communication protocols in electronic interface devices |
US8103803B2 (en) * | 2008-11-21 | 2012-01-24 | Nvidia Corporation | Communication between a processor and a controller |
US8610732B2 (en) * | 2008-12-11 | 2013-12-17 | Nvidia Corporation | System and method for video memory usage for general system application |
US8677074B2 (en) * | 2008-12-15 | 2014-03-18 | Nvidia Corporation | Shared memory access techniques |
US7970976B2 (en) * | 2009-03-01 | 2011-06-28 | Qualcomm Incorporated | Remote memory access using reversible host/client interface |
TWI385533B (zh) * | 2009-05-11 | 2013-02-11 | Via Tech Inc | 電腦系統、資料交換裝置以及資料交換方法 |
US8737064B2 (en) * | 2010-01-12 | 2014-05-27 | Microsoft Corporation | Electronic device stand |
US8373658B2 (en) * | 2010-05-24 | 2013-02-12 | Cywee Group Limited | Motion sensing system |
US20120259939A1 (en) * | 2011-04-05 | 2012-10-11 | Timothy James Wessman | Calculator |
CN102820980B (zh) * | 2011-06-08 | 2018-11-06 | 南京中兴新软件有限责任公司 | 一种下发命令的设备及方法 |
CN103729324A (zh) * | 2014-01-22 | 2014-04-16 | 浪潮电子信息产业股份有限公司 | 一种基于usb3.0接口的云存储文件安全保护装置 |
WO2016194631A1 (ja) * | 2015-06-01 | 2016-12-08 | ソニー株式会社 | 電子機器および接続方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000196648A (ja) * | 1998-12-28 | 2000-07-14 | Toshiba Corp | 電子機器制御方法および電子機器制御装置 |
JP2000209238A (ja) * | 1999-01-14 | 2000-07-28 | Toshiba Corp | 電子機器制御方法および電子機器制御装置 |
JP2002055936A (ja) * | 2000-08-08 | 2002-02-20 | Toshiba Corp | Usbデバイス機器、usbデバイス機器間の通信システムおよび通信方法 |
JP2002116853A (ja) * | 2000-10-05 | 2002-04-19 | Tdk Corp | Usb搭載電子機器及びそれに用いるusbケーブル |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5784581A (en) * | 1996-05-03 | 1998-07-21 | Intel Corporation | Apparatus and method for operating a peripheral device as either a master device or a slave device |
US6131125A (en) * | 1997-11-14 | 2000-10-10 | Kawasaki Lsi U.S.A., Inc. | Plug-and-play data cable with protocol translation |
US6370603B1 (en) * | 1997-12-31 | 2002-04-09 | Kawasaki Microelectronics, Inc. | Configurable universal serial bus (USB) controller implemented on a single integrated circuit (IC) chip with media access control (MAC) |
TW455805B (en) | 1998-02-26 | 2001-09-21 | Winbond Electronics Corp | Converter allowing data communications equipment to transmit data to data terminal equipment through universal serial bus and the control method thereof |
JP2000196986A (ja) | 1998-12-25 | 2000-07-14 | Olympus Optical Co Ltd | 電子的撮像装置 |
GB2350212B (en) * | 1999-02-09 | 2003-10-08 | Adder Tech Ltd | Data routing device and system |
JP2000316006A (ja) | 1999-04-28 | 2000-11-14 | Nec Corp | バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム |
US7000057B1 (en) * | 2002-02-11 | 2006-02-14 | Cypress Semiconductor Corp. | Method and apparatus for adding OTG dual role device capability to a USB peripheral |
US6732218B2 (en) * | 2002-07-26 | 2004-05-04 | Motorola, Inc. | Dual-role compatible USB hub device and method |
US7152190B2 (en) * | 2004-02-03 | 2006-12-19 | Motorola Inc. | USB OTG intelligent hub/router for debugging USB OTG devices |
-
2003
- 2003-05-22 EP EP03725545A patent/EP1546897B1/en not_active Expired - Lifetime
- 2003-05-22 DE DE60310586T patent/DE60310586T2/de not_active Expired - Lifetime
- 2003-05-22 US US10/528,614 patent/US7640385B2/en not_active Expired - Fee Related
- 2003-05-22 JP JP2004539268A patent/JP2006500672A/ja active Pending
- 2003-05-22 AT AT03725545T patent/ATE349044T1/de not_active IP Right Cessation
- 2003-05-22 WO PCT/IB2003/002236 patent/WO2004029817A1/en active IP Right Grant
- 2003-05-22 AU AU2003228076A patent/AU2003228076A1/en not_active Abandoned
- 2003-05-22 CN CN038226685A patent/CN1685326B/zh not_active Expired - Fee Related
- 2003-05-28 TW TW092114417A patent/TWI320142B/zh not_active IP Right Cessation
-
2009
- 2009-10-05 JP JP2009231540A patent/JP2010061670A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000196648A (ja) * | 1998-12-28 | 2000-07-14 | Toshiba Corp | 電子機器制御方法および電子機器制御装置 |
JP2000209238A (ja) * | 1999-01-14 | 2000-07-28 | Toshiba Corp | 電子機器制御方法および電子機器制御装置 |
JP2002055936A (ja) * | 2000-08-08 | 2002-02-20 | Toshiba Corp | Usbデバイス機器、usbデバイス機器間の通信システムおよび通信方法 |
JP2002116853A (ja) * | 2000-10-05 | 2002-04-19 | Tdk Corp | Usb搭載電子機器及びそれに用いるusbケーブル |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007531085A (ja) * | 2003-12-30 | 2007-11-01 | ヴィーブ−システムズ アクチエンゲゼルシャフト | データ処理装置を制御する方法 |
JP2013050859A (ja) * | 2011-08-31 | 2013-03-14 | Nec Access Technica Ltd | Usb機器およびusb機器の制御方法 |
US8818279B2 (en) | 2011-09-09 | 2014-08-26 | Fujitsu Component Limited | Communication device and method for controlling communication device |
Also Published As
Publication number | Publication date |
---|---|
JP2006500672A (ja) | 2006-01-05 |
CN1685326A (zh) | 2005-10-19 |
TW200405172A (en) | 2004-04-01 |
US7640385B2 (en) | 2009-12-29 |
US20060059289A1 (en) | 2006-03-16 |
WO2004029817A1 (en) | 2004-04-08 |
TWI320142B (en) | 2010-02-01 |
DE60310586D1 (de) | 2007-02-01 |
AU2003228076A1 (en) | 2004-04-19 |
DE60310586T2 (de) | 2007-10-11 |
EP1546897A1 (en) | 2005-06-29 |
ATE349044T1 (de) | 2007-01-15 |
EP1546897B1 (en) | 2006-12-20 |
CN1685326B (zh) | 2010-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010061670A (ja) | バス接続システム | |
JP6266615B2 (ja) | データトンネルを用いるインタフェースを介した複数のプロトコルデータ要素の送信 | |
US6618788B1 (en) | ATA device control via a packet-based interface | |
KR101497001B1 (ko) | 그래픽스 멀티미디어 ic 및 그것의 동작 방법 | |
US7162566B2 (en) | USB-based host-to-host networking method | |
EP1899830B1 (en) | Automated serial protocol target port transport layer retry mechanism | |
JP4377603B2 (ja) | バス通信システムおよびその通信制御方法 | |
WO2008011727A1 (en) | Method and apparatus for distributing usb hub functions across a network | |
US20090063717A1 (en) | Rate Adaptation for Support of Full-Speed USB Transactions Over a High-Speed USB Interface | |
EP1866778A1 (en) | Method and apparatus for improving the performance of usb mass storage devices in the presence of long transmission delays | |
TW200415828A (en) | Interface integrated circuit device for a USB connection | |
JP2003316731A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2004334417A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2003316729A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2003316732A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2003316728A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
TW200842601A (en) | Method and apparatus for performing full transfer automation in a USB controller | |
US20050273541A1 (en) | Circuit and method for adaptively recognizing a data packet in a universal serial bus network device | |
KR101005397B1 (ko) | 버스 스테이션 및 버스 통신 시스템 | |
JP2003316734A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2003316730A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2004362422A (ja) | データ転送制御装置、接続機器及びデータ転送制御方法 | |
JP2007004815A (ja) | リンクブリッジ | |
JP2003316735A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110802 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120203 |