(57)【要約】【課題】バッファメモリの一部を複数のエンドポイント部で共有し、共有するバッファメモリを、バッファメモリの使用状況に応じて変更することにより、回路規模を小さく抑えつつデータ転送速度を向上させることができるデータ通信システムを提供する。【解決手段】ＵＳＢ規格に準拠したデータ通信を行うデータ通信システムにおいて、エンドポイント部１３ａに対して二つのバッファメモリ２０ａ、２０ｃを用意し、エンドポイント部１３ｂに対しては二つのバッファメモリ２０ｂ、２０ｃを用意し、その複数のバッファメモリのうちバッファメモリ２０ｃを二つのエンドポイント部１３ａ、１３ｂが共有する構成とし、その共有バッファメモリ２０ｃを使用するエンドポイント部をどちらにするか決定する際、その共有バッファメモリ２０ｃを共有するエンドポイント部１３ａ、１３ｂについてバッファメモリを用いて転送されたデータ量を比較することにより共有バッファメモリ２０ｃを用いるエンドポイント部を決定する構成にした。【選択図】　　　図１
2004054437.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ規格に準拠したデータ通信を行うデータ通信システムにおいて、
一つのエンドポイント部に対してバッファメモリを複数備え、該複数のバッファメモリのうち一つ以上のバッファメモリを他のエンドポイント部と共有する構成とし、共有バッファメモリとして使用するエンドポイント部を決定する際、前記共有バッファメモリを共有可能な各エンドポイント部についてバッファメモリを用いて転送されたデータ量を比較することにより決定するように構成にしたことを特徴とするデータ通信システム。
【請求項２】
請求項１記載のデータ通信システムにおいて、バッファメモリを共有する複数のエンドポイント部のいずれかが所定のデータ量を転送する毎に、前記共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量を比較するように構成にしたことを特徴とするデータ通信システム。
【請求項３】
請求項１記載のデータ通信システムにおいて、所定時間が経過する毎に、前記共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量を比較するように構成にしたことを特徴とするデータ通信システム。
【請求項４】
請求項１記載のデータ通信システムにおいて、共有バッファメモリを共有する複数のエンドポイント部のいずれかが所定のデータ量を転送するか、または所定時間が経過するかの何れかの条件を満たす毎に、前記共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量を比較するように構成にしたことを特徴とするデータ通信システム。
【請求項５】
請求項２または請求項４記載のデータ通信システムにおいて、バッファメモリを介して転送されたデータ量を比較する際の所定のデータ量の値を変更可能にしたことを特徴とするデータ通信システム。
【請求項６】
請求項３または請求項４記載のデータ通信システムにおいて、バッファメモリを介して転送されたデータ量を比較する際の所定時間を変更可能にしたことを特徴とするデータ通信システム。
【請求項７】
請求項６記載のデータ通信システムにおいて、バッファメモリを介して転送されたデータ量に応じて前記所定時間を変更するように構成にしたことを特徴とするデータ通信システム。
【請求項８】
ＵＳＢ規格に準拠したデータ通信を行うデータ通信システムにおいて、一つのエンドポイント部に対してバッファメモリを複数備え、該複数のバッファメモリのうち一つ以上のバッファメモリを他のエンドポイント部と共有する構成とし、共有バッファメモリとして使用するエンドポイント部を決定する際、前記共有バッファメモリを共有可能な各エンドポイント部についてバッファメモリを用いて所定のデータ量が転送された所要時間を比較することにより、前記共有バッファメモリを用いるエンドポイント部を決定するように構成にしたことを特徴とするデータ通信システム。
【請求項９】
請求項８記載のデータ通信システムにおいて、前記所定のデータ量の値を変更可能な構成にしたことを特徴とするデータ通信システム。
【請求項１０】
請求項５、請求項６、または請求項８記載のデータ通信システムにおいて、前記所定のデータ量または所定の所要時間の値をエンドポイント部によって異ならせる構成にしたことを特徴とするデータ通信システム。
【請求項１１】
請求項１乃至請求項９のいずれか１項に記載のデータ通信システムにおいて、同一エンドポイント部の単位時間当たりの転送データ量が継続して複数回多くなったことにより、はじめて前記エンドポイント部に共有バッファメモリの接続先を変更することを特徴とするデータ通信システム。
【請求項１２】
請求項１乃至請求項１１のいずれか１項に記載のデータ通信システムにおいて、バッファメモリがＦＩＦＯメモリであることを特徴とするデータ通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばパーソナルコンピュータとプリンタなど複数の周辺機器間で、ＵＳＢ規格に準拠したデータ通信を行うデータ通信システムに関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ（以下、ＰＣと称す）と周辺機器を接続するインターフェースとしてＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）規格が使用されている。ＵＳＢ規格ではＰＣが一つしか存在しないホスト装置となり、そのホスト装置の下に複数のデバイス（周辺機器など）がツリー状に接続され、デバイス内のＵＳＢコントローラがそれぞれ固有のアドレスを持つ。
図８はＵＳＢ通信システムの接続概念図である。図８に示したように、ルートハブ（ＨＵＢ）機能（集配信機能など）をもつＵＳＢホスト装置（以下、ホスト装置と略す）１、ハブ（ＨＵＢ）２（２ａ、２ｂ）、デバイス３（３ａ〜３ｄ）などがＵＳＢバス４により接続されている。このように、ＵＳＢ通信システムでは一つのホスト装置１の下に複数のハブ（ＨＵＢ）２またはデバイス３がツリー状に接続される。また、デバイス３は図９に示したようにＵＳＢコントローラ６、ターゲット機器７から構成される。
ホスト装置であるＰＣは固有のアドレスのＵＳＢコントローラ６に対してデータ送受信の要求とデータの送受信を行う。ＵＳＢコントローラ６は、ホスト装置１からデータ送受信の要求を受信すると、割込み信号などを用いてターゲット機器７内のユーザ回路に対してホスト装置１からデータ送受信の要求を受けたことを示す。そして、ユーザ回路はＵＳＢコントローラ６からデータ送受信の要求の内容を読み出して、ＵＳＢコントローラ６がホスト装置１から受信したデータを読み出したり、ホスト装置１に対する送信データをＵＳＢコントローラ６に書き込んだりする。なお、ＵＳＢコントローラ６は、ホスト装置１に対してデータを送信したり、ホスト装置からデータを受信したりする際にデータを一時的に記憶する、通常ＦＩＦＯメモリ（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ　Ｍｅｍｏｒｙ）からなるエンドポイント部を複数もつ（その数は規格によって決められている）。ターゲット機器７は、デバイス３のＵＳＢコントローラ６のローカルバスに接続され、エンドポイント部であるＦＩＦＯメモリに対してアクセスするのである。
ところで、ＵＳＢバスを用いたデータ転送は、パケットという単位で行われる。パケットの種類としては、転送方向やセットアップ情報を送るトークンパケット、実際のデータであるデータパケット、データ転送結果（成功・失敗など）を送るハンドシェイクパケットがある。また、転送のモードも、エンドポイント部ゼロを介して行われる、デバイスの初期化や各種情報のやりとりに使用するコントロール転送、転送周期を問わずプリンタのデータのようにまとまった量のデータを転送するバルク転送、マウスやキーボードのステータスを送るような低周期で少量のデータを送るインタラプト転送、音声データなどリアルタイムのデータを送るときにデータの正当性を保証しない代わりにバンド幅を保証するアイソクロナス転送の４モードある。
【０００３】
図１０はＵＳＢコントローラ２１の構成例である。図１０において、ＵＳＢトランシーバ１１は、ＵＳＢバス４に接続され、図中には示されないホスト装置１から送信されたパケットをＵＳＢバス４の信号から論理信号に変換して次に説明するシリアル入力エンジン１２に出力すると同時に、シリアル入力エンジン１２からホスト装置１へ送信するパケットを論理信号からＵＳＢバスの信号に変換してＵＳＢホストに出力する。
また、シリアル入力エンジン１２は、ＵＳＢトランシーバ１１から入力されるホスト装置１から送信されたパケットのうちトークンパケットおよびハンドシェークパケットをデコードし、それを基にホスト装置１との通信を制御し、必要に応じてハンドシェークパケットをＵＳＢトランシーバ１１に出力するとともに、ホスト装置１へ出力するデータを次に説明するエンドポイント群１３から読み出し、制御データを付加してデータパケットとしてＵＳＢトランシーバ１１へ出力し、ＵＳＢトランシーバ１１から入力するホスト装置１からのデータパケットの中のデータをエンドポイント群１３に書き込む制御を行う。
また、エンドポイント群１３はローカルバスから受信しホスト装置１へ送信するデータをバッファリングするとともに、ホスト装置１から受信しローカルバスへ出力するデータをバッファリングし、Ｉ／Ｏコントローラ１５は図中には示されないユーザ回路とエンドポイント群１３、および次に述べるレジスタとの間におけるデータ転送を制御し、レジスタ１６はＵＳＢコントローラ内部モジュールの各種設定を行うとともに、コントロール転送の自動応答リクエストを格納しておく。
なお、エンドポイント群１３は、エンドポイント部ゼロ１３０とコントロール転送以外の転送に使用される複数のエンドポイント部１３１，・・・，１３ｎから構成される。ここで、エンドポイント部ゼロ１３０はコントロール転送で使用される双方向のエンドポイント部で、ホスト装置１から見た場合のエンドポイント番号は０に固定されている。それを除いては単一の転送方向（ホスト装置１に対して出力または入力）のエンドポイント部で、転送方法、転送の向き、ホスト装置１から見た場合のエンドポイント番号は０以外に固定、または、レジスタ１６に利用者が設定して使用する。
【０００４】
図１１はエンドポイント群１３の構成例である。図１１に示したように、ホスト装置１に対して送信するデータやホスト装置１から受信したデータを格納するＦＩＦＯ２００、２０１、そのＦＩＦＯ２００、２０１に対するデータ書き込みの制御を行うライトコントローラ２１、ＦＩＦＯ２００、２０１からのデータ読み出しの制御を行うリードコントローラ２２、データを読み出すＦＩＦＯを選択するマルチプレクサ２３を備える。
このように、各エンドポイント部は、ＦＩＦＯメモリを二つ持ち、ＦＩＦＯメモリの一方をデータ書き込み用、他方をデータ読み出し用とする。そして、ライトコントローラ２１とリードコントローラ２２との間でＦＩＦＯメモリの状態を表す信号を授受し、データ書き込み用に設定されたＦＩＦＯメモリへのデータ書き込み終了時にデータ読み出し用に設定されているＦＩＦＯメモリからのデータ読み出しが終了しているときは直ぐに、また、データ読み出しが終了していないときは、データ読み出しの終了を待って、データ書き込み用ＦＩＦＯメモリとデータ読み出し用ＦＩＦＯメモリを切り換えることによりデータ転送速度を向上させる。なお、このような構成を持つＵＳＢコントローラとしては例えば沖電気のＭＬ６０８５１Ｃがある。
【０００５】
【発明が解決しようとする課題】
しかしながら、前記した従来技術においては、エンドポイント部毎にＦＩＦＯメモリを二つ使用するので、ＦＩＦＯメモリの数が多くなり、したがって、回路規模が大きくなるという問題点があった。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、ＦＩＦＯメモリなどバッファメモリの一部を複数のエンドポイント部で共有し、共有するバッファメモリを、バッファメモリの使用状況（データ転送状況）に応じて変更することにより、回路規模を小さく抑えつつデータ転送速度を向上させることができるデータ通信システムを提供することにある。
【０００６】
【課題を解決するための手段】
前記の課題を解決するために、請求項１記載の発明では、ＵＳＢ規格に準拠したデータ通信を行うデータ通信システムにおいて、一つのエンドポイント部に対してバッファメモリを複数備え、該複数のバッファメモリのうち一つ以上のバッファメモリを他のエンドポイント部と共有する構成とし、共有バッファメモリとして使用するエンドポイント部を決定する際、前記共有バッファメモリを共有可能な各エンドポイント部についてバッファメモリを用いて転送されたデータ量を比較することにより決定するように構成にしたことを特徴とする。
また、請求項２記載の発明では、請求項１記載の発明において、バッファメモリを共有する複数のエンドポイント部のいずれかが所定のデータ量を転送する毎に共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量を比較するように構成にしたことを特徴とする。
また、請求項３記載の発明では、請求項１記載の発明において、所定時間が経過する毎に共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量を比較するように構成にしたことを特徴とする。
また、請求項４記載の発明では、請求項１記載の発明において、共有バッファメモリを共有する複数のエンドポイント部のいずれかが所定のデータ量を転送するか、または所定時間が経過するか、どちらかの条件を満たす毎に共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量を比較するように構成にしたことを特徴とする。
また、請求項５記載の発明では、請求項２または請求項４記載の発明において、バッファメモリを介して転送されたデータ量を比較する際の所定のデータ量の値を変更可能な構成にしたことを特徴とする。
また、請求項６記載の発明では、請求項３または請求項４記載の発明において、バッファメモリを介して転送されたデータ量を比較する際の所定時間を変更可能な構成にしたことを特徴とする。
また、請求項７記載の発明では、請求項６記載の発明において、バッファメモリを介して転送されたデータ量に応じて前記所定時間を変更する構成にした。
【０００７】
また、請求項８記載の発明では、ＵＳＢ規格に準拠したデータ通信を行うデータ通信システムにおいて、一つのエンドポイント部に対してバッファメモリを複数用意し、その複数のバッファメモリのうち一つ以上のバッファメモリを他のエンドポイント部と共有する構成とし、共有バッファメモリを使用するエンドポイント部を決定する際、その共有バッファメモリを共有可能な各エンドポイント部についてバッファメモリを用いて所定のデータ量が転送された所要時間を比較することによりその共有バッファメモリを用いるエンドポイント部を決定するように構成にしたことを特徴とする。
また、請求項９記載の発明では、請求項８記載の発明において、前記所定のデータ量の値を変更可能な構成にしたことを特徴とする。
また、請求項１０記載の発明では、請求項５、請求項６、または請求項８記載の発明において、前記所定のデータ量または所定の所要時間の値をエンドポイント部によって異ならせる構成にしたことを特徴とする。
また、請求項１１記載の発明では、請求項１乃至請求項９のいずれか１項に記載の発明において、同一エンドポイント部の単位時間当たりの転送データ量が続けて複数回多くなってはじめてそのエンドポイント部に共有バッファメモリの接続先を変更する構成にしたことを特徴とする。
また、請求項１２記載の発明では、請求項１乃至請求項１１のいずれか１項に記載の発明において、バッファメモリがＦＩＦＯメモリである構成にしたことを特徴とする。
【０００８】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図１に、本発明の第１の実施例として、イン（ＩＮ：ホスト装置から見て入力）転送用のエンドポイント部とアウト（ＯＵＴ：ホスト装置から見て出力）転送用のエンドポイント部を同時に使用する際にバッファメモリとして用いるＦＩＦＯメモリを共有する構成を示す。図示したように、シリアル入力エンジン１２、エンドポイント群１３、およびＩ／Ｏコントローラ１５を備えている。なお、ここでは、図を簡略化するために、エンドポイント部としてＦＩＦＯメモリを共有するエンドポイント部１３ａ、１３ｂのみを示す。エンドポイント部１３ａはイン転送のエンドポイント部、エンドポイント１３ｂはアウト転送のエンドポイント部であり、それぞれ１つの占有ＦＩＦＯメモリと１つの共有ＦＩＦＯメモリを持つ。つまり、ＦＩＦＯメモリ２０ａはエンドポイント部１３ａの占有ＦＩＦＯメモリ、ＦＩＦＯ２０ｂはエンドポイント部１３ｂの占有ＦＩＦＯメモリ、ＦＩＦＯ２０ｃはエンドポイント部１３ａとエンドポイント部１３ｂの共有ＦＩＦＯメモリである。
図１では、イン転送においてエンドポイント部１３ａからホスト装置１へ送るデータ数が、アウト転送においてエンドポイント部１３ｂがホスト装置１から受け取るデータ数より多い場合、（ａ）図に示したようにＦＩＦＯメモリ２０ｃをエンドポイント部１３ａ側で使用して、エンドポイント部１３ａではＦＩＦＯメモリ２０ａとＦＩＦＯメモリ２０ｃを用いてユーザ回路からのデータを交互に受け取ることによりホスト装置１へデータを送り、エンドポイント部１３ｂではＦＩＦＯメモリ２０ｂのみ用いてホスト装置１からのデータを受け取りユーザ回路へ送る。
一方、アウト転送においてエンドポイント部１３ｂのホスト装置１から受け取るデータ数がイン転送においてエンドポイント部１３ａからホスト装置１へ送るデータ数より多い場合は（ｂ）図に示したようにＦＩＦＯメモリ２０ｃをエンドポイント部１３ｂ側で使用して、エンドポイント部１３ｂではＦＩＦＯメモリ２０ｂとＦＩＦＯメモリ２０ｃを用いてホスト装置１からのデータを交互に受け取りユーザ回路へ送り、エンドポイント部１３ａではＦＩＦＯメモリ２０ａのみ用いてユーザ回路からのデータを受け取りホスト装置１へデータを送る。
なお、このようにイン転送用のエンドポイント部とアウト転送用のエンドポイント部を同時に使用する際にホスト装置１へのデータ送信とホスト装置１からのデータ受信のデータ数に差が生じる例としては、ハードディスク記憶装置や光ディスク記憶装置などストレージデバイスで大容量のデータリードやデータライトを行う場合とか、ファクシミリ装置やスキャナ機能付きプリンタにおけるデータスキャン入力やプリント出力を行う場合などがある。また、ここでは説明しないが、例えば一つのＵＳＢコントローラ６に対して複数のユーザ回路が接続されるような場合などにおいてホスト装置１へのデータ送信を行うエンドポイント部同士、ホスト装置１からのデータ受信を行うエンドポイント部同士でデータ数に差が生じる場合もあり得る。
【０００９】
図２に、この実施例のＵＳＢコントローラ６の構成を示す。図２に示したＵＳＢコントローラ６が図１０に示した従来技術のＵＳＢコントローラ６ａと異なる点はエンドポイント群１３の中に共有ＦＩＦＯコントローラ１７を持つことである。
この共有ＦＩＦＯコントローラ１７は複数のエンドポイント部で共有するＦＩＦＯメモリをどのエンドポイント部に接続するかを制御するものであり、転送されたデータ量を所定時間毎に比較して、またはいずれかのエンドポイント部において所定のデータ量が転送される毎に比較して、またはどちらか一方の条件を満たす毎に比較して、共有ＦＩＦＯメモリを転送データ量の多いエンドポイント部に接続するように決定し、制御信号を出力する。なお、データ量の計算は共有ＦＩＦＯメモリを接続する対象のエンドポイント部または共有ＦＩＦＯコントローラ１７にカウンタを設けて行う。
【００１０】
図３は本発明の第２の実施例を示すＵＳＢコントローラ６のエンドポイント群の構成である。
この実施例では、二つのエンドポイント部ＥＰＡ、ＥＰＢが一つのＦＩＦＯメモリを共有する。図３に示したＦＩＦＯメモリ２０ａにはエンドポイント部ＥＰＡのデータを格納し、ＦＩＦＯメモリ２０ｂにはエンドポイント部ＥＰＢのデータを格納し、ＦＩＦＯメモリ２０ｃはエンドポイント部ＥＰＡ、ＥＰＢが共有する。ＦＩＦＯメモリ２０ｃはデータ転送の状況に応じてエンドポイント部ＥＰＡ、ＥＰＢのうちどちらかのデータを格納するように制御される。
そのため、この実施例では、図３に示したように、エンドポイント部ＥＰＡのＦＩＦＯメモリに対するデータ書き込みの制御を行うライトコントローラ２１ａ、エンドポイント部ＥＰＢのＦＩＦＯメモリに対するデータ書き込みの制御を行うライトコントローラ２１ｂ、エンドポイント部ＥＰＡのＦＩＦＯメモリからのデータ読み出しの制御を行うリードコントローラ２２ａ、エンドポイント部ＥＰＢのＦＩＦＯメモリからのデータ読み出しの制御を行うリードコントローラ２２ｂ、エンドポイント部ＥＰＡのデータを読み出すＦＩＦＯメモリを選択するマルチプレクサ２３ａ、エンドポイント部ＥＰＢのデータを読み出すＦＩＦＯメモリを選択するマルチプレクサ２３ｂ、エンドポイント部ＥＰＡ、ＥＰＢが共有するＦＩＦＯメモリに入力するライト制御信号を切り換えるマルチプレクサ２４、エンドポイント部ＥＰＡ、ＥＰＢが共有するＦＩＦＯメモリに入力するライトデータ信号を切り換えるマルチプレクサ２５、エンドポイント部ＥＰＡ、ＥＰＢで共有するＦＩＦＯメモリに入力するリード制御信号を切り換えるマルチプレクサ２６、エンドポイント部ＥＰＡで転送したデータ量を計算するカウンタ２７ａ、エンドポイント部ＥＰＢで転送したデータ量を計算するカウンタ２７ｂなどを備える。
【００１１】
図４に、この実施例のエンドポイント群におけるデータリード／ライトの動作フローを示す。以下、図４に従ってこの動作フローを説明する。
まず、エンドポイント部ＥＰＡ、ＥＰＢにより共有されるＦＩＦＯメモリ２０ｃの接続されるエンドポイント部が共有ＦＩＦＯコントローラ１７から入力する共有ＦＩＦＯ制御信号によってエンドポイント部ＥＰＡに設定される場合（Ｓ１でＹｅｓ）、ライトコントローラ２１ａからの制御信号によってマルチプレクサ２４はエンドポイント部ＥＰＡのライト制御信号を出力し、マルチプレクサ２５はＦＩＦＯメモリ２０ａに入力するものと同一のエンドポイント部ＥＰＡのライトデータ信号を出力する。また、リードコントローラ２２ａからの制御信号によってマルチプレクサ２６はリードコントローラ２２ａから出力されるエンドポイント部ＥＰＡのリード制御信号を出力し、これらはＦＩＦＯメモリ２０ｃに接続される（Ｓ２）。
そして、ＦＩＦＯメモリ２０ｃがこのようにエンドポイント部ＥＰＡに接続される場合、ライトコントローラ２１ａはエンドポイント部ＥＰＡのライト制御信号をＦＩＦＯメモリ２０ａに出力するように設定され、リードコントローラ２２ａは、エンドポイント部ＥＰＡのリード制御信号をＦＩＦＯメモリ２０ｃに出力するように設定される。同時に、エンドポイント部ＥＰＡのリードデータを読み出すＦＩＦＯメモリを選択するマルチプレクサ２３ａの制御信号の値をＦＩＦＯメモリ２０ｃのリードデータ信号を出力するように設定する（Ｓ３）。
この後、エンドポイント部ＥＰＡのライト制御信号がライトコントローラ２１ａに入力すると、ライトコントローラ２１ａはＦＩＦＯメモリ２０ａに対してライト制御信号を出力し、ＦＩＦＯメモリ２０ａではライトコントローラ２１ａから入力されるライト制御信号に基づいてライトデータをＦＩＦＯメモリに書き込む（Ｓ４）。
【００１２】
そして、ＦＩＦＯメモリ２０ａへのデータ書き込みが終了すると（Ｓ５でＹｅｓ）、ＦＩＦＯメモリ２０ｃからのデータ読み出しが終了しているかどうかの判断を行うが（Ｓ６）、最初は読み出し側ＦＩＦＯメモリ（ＦＩＦＯメモリ２０ｃ）には元々データが入っておらず、その状態を示す信号がデータ読み出し終了であるので（Ｓ６でＹｅｓ）、ＦＩＦＯメモリ２０ｃが共有ＦＩＦＯ制御信号でエンドポイント部ＥＰＡに設定されている場合（Ｓ７でＹｅｓ）、ライトコントローラ２１ａは、ライト制御信号出力先ＦＩＦＯメモリをＦＩＦＯメモリ２０ａからＦＩＦＯメモリ２０ｃに変更する。また、リードコントローラ２２ａは、リード制御信号出力先ＦＩＦＯメモリをＦＩＦＯメモリ２０ｃからＦＩＦＯメモリ２０ａに変更し、同時にエンドポイント部ＥＰＡのリードデータを読み出すＦＩＦＯメモリを選択するマルチプレクサ２３ａの制御信号の値をＦＩＦＯメモリ２０ａのリードデータ信号を出力するように設定する（Ｓ８）。
この後、エンドポイント部ＥＰＡのライト制御信号がライトコントローラ２１ａに入力すると、ライトコントローラ２１ａは今度はＦＩＦＯメモリ２０ｃに対してライト制御信号を出力し、ＦＩＦＯメモリ２０ｃではライトコントローラ２１ａから入力されるライト制御信号に基づいてライトデータをＦＩＦＯメモリに書き込む。
一方、ＦＩＦＯメモリ２０ａへのデータ書き込みが終了したとき、ＦＩＦＯメモリ２０ａの状態を示す信号はデータ書き込み中からデータ書き込み終了へと変化するが、その変化は読み出し先（シリアル入力エンジン１２またはユーザ回路（Ｉ／Ｏコントーラ１５経由の割込み信号、またはエンドポイント部ＥＰＡがＤＭＡをサポートする場合はそのリクエスト信号によって））に示される。そして、エンドポイント部ＥＰＡのリード制御信号がリードコントローラ２２ａに入力すると、リードコントローラ２２ａはＦＩＦＯメモリ２０ａに対してリード制御信号を出力し、ＦＩＦＯメモリ２０ａではリードコントローラ２２ａから入力されるライト制御信号に基づいてリードデータをＦＩＦＯメモリから読み出す（Ｓ９）。
【００１３】
こうして、ＦＩＦＯメモリ２０ｃへのデータ書き込みが終了したとき（Ｓ１０でＹｅｓ）、読み出し側ＦＩＦＯメモリ（ＦＩＦＯメモリ２０ａ）の状態を示す信号がデータ読み出し終了状態であり（Ｓ１１でＹｅｓ）、ＦＩＦＯメモリ２０ｃが共有ＦＩＦＯ制御信号でエンドポイント部ＥＰＡに設定されている場合（Ｓ１でＹｅｓ）、ＦＩＦＯメモリ２０ｃの接続はエンドポイント部ＥＰＡのままに保つ（Ｓ２）。
そして、ライトコントローラ２１ａはライト制御信号を出力するＦＩＦＯメモリをＦＩＦＯメモリ２０ｃからＦＩＦＯメモリ２０ａに変更する。また、リードコントローラ２２ａは、リード制御信号を出力するＦＩＦＯメモリをＦＩＦＯメモリ２０ａからＦＩＦＯメモリ２０ｃに変更し、同時にエンドポイント部ＥＰＡのリードデータを読み出すＦＩＦＯメモリを選択するマルチプレクサ２３ａの制御信号の値をＦＩＦＯメモリ２０ｃのリードデータ信号を出力するように設定する（Ｓ３）。
【００１４】
それに対して、ＦＩＦＯメモリ２０ｃへのデータ書き込みが終了した時点でＦＩＦＯメモリ２０ａのデータ読み出しが未だ終了していない場合（Ｓ１１でＮｏ）は、ＦＩＦＯメモリ２０ａの読み出しが終わるのを待ち（Ｓ９〜Ｓ１１、この間ＦＩＦＯメモリ２０ｃへのデータ書き込みは禁止）、ＦＩＦＯメモリ２０ａのデータ読み出しが終了した場合（Ｓ１１でＹｅｓ）、ＦＩＦＯメモリ２０ｃが共有ＦＩＦＯ制御信号でエンドポイント部ＥＰＡに設定されている場合（Ｓ１でＹｅｓ）、ＦＩＦＯメモリ２０ｃの接続はエンドポイント部ＥＰＡのまま保持する（Ｓ２）。
そして、ライトコントローラ２１ａはライト制御信号を出力するＦＩＦＯメモリをＦＩＦＯメモリ２０ｃからＦＩＦＯメモリ２０ａに変更する。また、リードコントローラ２２ａはリード制御信号を出力するＦＩＦＯメモリをＦＩＦＯメモリ２０ａからＦＩＦＯメモリ２０ｃに変更し、同時にエンドポイント部ＥＰＡのリードデータを読み出すＦＩＦＯメモリを選択するマルチプレクサ２３ａの制御信号の値をＦＩＦＯメモリ２０ｃのリードデータ信号を出力するように設定する（Ｓ３）。
以後、ＦＩＦＯメモリ２０ｃがエンドポイント部ＥＰＡに接続されている間は、同様に、データ書き込みを行うＦＩＦＯメモリとデータ読み出しを行うＦＩＦＯメモリをライトコントローラ２１ａとリードコントローラ２２ａによってＦＩＦＯメモリ２０ａとＦＩＦＯメモリ２０ｃの間で切り換えながらデータ転送を行う（Ｓ１〜Ｓ１１）。
【００１５】
それに対して、ステップＳ１またはＳ７においてＦＩＦＯメモリ２０ｃがエンドポイント部ＥＰＡに接続されない（ＥＰＢに接続される）と判定された場合、ライトコントローラ２１ｂからの制御信号によってマルチプレクサ２４はエンドポイント部ＥＰＢのライト制御信号を出力し、マルチプレクサ２５はＦＩＦＯメモリ２０ｂに入力するものと同一のエンドポイント部ＥＰＢのライトデータを出力する。また、リードコントローラ２２ｂからの制御信号によってマルチプレクサ２６はリードコントローラ２２ｂから出力されるエンドポイント部ＥＰＢのリード制御信号を出力し、これらはＦＩＦＯメモリ２０ｃに接続される。そのため、エンドポイント部ＥＰＡでは、ライトコントローラ２１ａは共有ＦＩＦＯ制御信号によってライト制御信号をＦＩＦＯメモリ２０ａのみに出力するように設定され、リードコントローラ２２ａはリード制御信号をＦＩＦＯメモリ２０ａのみに出力するように設定される。同時に、エンドポイント部ＥＰＡのリードデータを読み出すＦＩＦＯメモリを選択するマルチプレクサ２３ａの制御信号の値はＦＩＦＯメモリ２０ａのリードデータを出力するように設定される（Ｓ１２）。そして、ＦＩＦＯメモリ２０ａはデータ書き込み用に設定される（Ｓ１３）。
こうして、エンドポイント部ＥＰＡのライト制御信号がライトコントローラ２１ａに入力すると、ライトコントローラ２１ａはＦＩＦＯメモリ２０ａに対してライト制御信号を出力し、ＦＩＦＯメモリ２０ａではライトコントローラ２１ａから入力するライト制御信号に基づいてライトデータをＦＩＦＯメモリに書き込む（Ｓ１４、Ｓ１５でＮｏ）。そして、ＦＩＦＯメモリ２０ａへのデータ書き込みが終了すると（Ｓ１５でＹｅｓ）、ＦＩＦＯメモリ２０ａはデータ読み出し用に設定され（Ｓ１６）、その状態変化を示す信号が読み出し先（シリアル入力エンジン１２またはユーザ回路）に示される。
【００１６】
続いて、読み出し先から、エンドポイント部ＥＰＡに対するリード制御信号がリードコントローラ２２ａに入ると、リードコントローラ２２ａはＦＩＦＯメモリ２０ａに対してリード制御信号を出力し、ＦＩＦＯメモリ２０ａではリードコントローラ２２ａから入力されるリード制御信号に基づいてリードデータをＦＩＦＯメモリから読み出す（Ｓ１７、Ｓ１８でＮｏ、この間ライトデータは書き込み禁止）。
そして、ＦＩＦＯメモリ２０ａからのデータ読み出しが終了し（Ｓ１８でＹｅｓ）、ＦＩＦＯメモリ２０ｃが共有ＦＩＦＯ制御信号でエンドポイント部ＥＰＡに設定されない（ＥＰＢに接続される）場合（Ｓ１でＮｏ）、ＦＩＦＯメモリ２０ｃはＥＰＢに接続された状態を保持する（Ｓ１２）。
こうして、ＦＩＦＯメモリ２０ａは再び書き込み用に設定され（Ｓ１３）、エンドポイント部ＥＰＡのライト制御信号がライトコントローラ２１ａに入力するとライトコントローラ２１ａはＦＩＦＯメモリ２０ａに対してライト制御信号を出力し、ＦＩＦＯメモリ２０ａではライトコントローラ２１ａから入力されるライト制御信号に基づいてライトデータをＦＩＦＯメモリに書き込む（Ｓ１４、Ｓ１５でＮｏ）。以後、ステップＳ１においてＦＩＦＯメモリ２０ｃがエンドポイント部ＥＰＡに接続されない（エンドポイント部ＥＰＢに接続される）と判定される限り、ステップＳ１３〜Ｓ１８を繰り返す。
【００１７】
なお、エンドポイント部ＥＰＢにおいては、ＦＩＦＯメモリ２０ｃがエンドポイント部ＥＰＡに接続される間、ステップＳ１３〜Ｓ１８と同様な動作をＦＩＦＯメモリ２０ｂを用いて実行し、ＦＩＦＯメモリ２０ｃがエンドポイント部ＥＰＢに接続される間は、ステップＳ３〜Ｓ１１と同様の動作をＦＩＦＯメモリ２０ｂとＦＩＦＯメモリ２０ｃを用いて実行する。
こうして、エンドポイント部ＥＰＡ、ＥＰＢが共有するＦＩＦＯメモリ２０ｃの接続されるエンドポイント部が共有ＦＩＦＯコントローラ１７から入力される共有ＦＩＦＯ制御信号によって変更される度に、マルチプレクサ２４、２５、２６によってＦＩＦＯメモリ２０ｃに接続されるエンドポイント部のライト制御、ライトデータ、リード制御の各信号が変更され、それにより、エンドポイント部ＥＰＡ、ＥＰＢにおけるデータ転送方法（ＦＩＦＯメモリ２０ｃ使用の有無）が変更される。
なお、それぞれのエンドポイント部のライト制御信号およびライトデータ信号は、イン転送の場合、Ｉ／Ｏコントローラ１５との間で接続され、アウト転送の場合はシリアル入力エンジン１２との間で接続される。また、エンドポイント部のリード制御信号およびリードデータ信号は、イン転送のエンドポイントの場合、シリアル入力エンジン１２との間で接続され、アウト転送の場合はＩ／Ｏコントローラ１５との間で接続される。
【００１８】
また、図３に示したこの実施例の構成では、エンドポイント部ＥＰＡ、ＥＰＢにおける転送の方向は、両方ともイン転送、両方ともアウト転送、一方がイン転送で他方がアウト転送のいずれも可能で、また、転送の種類の組み合わせにもよらない。さらに、この実施例では、二つのエンドポイント部で一つの共有ＦＩＦＯメモリを持つ場合を示したが、本発明はこのような場合だけに限定されず、他のエンドポイント部と共有しないＦＩＦＯメモリを少なくとも一つ持ちさえすれば、例えば三つのエンドポイント部で一つの共有ＦＩＦＯメモリを持つような構成でもよいし、また、二つのエンドポイント部が二つの共有ＦＩＦＯメモリを持つような構成でもよい。
また、エンドポイント部ＥＰＡ、ＥＰＢが共有するＦＩＦＯメモリ２０ｃの接続されるエンドポイント部の決定については、カウンタ２７ａ、２７ｂから入力される各エンドポイント部のデータ転送量を所定時間が経過する毎に、または、カウンタ２７ａ、２７ｂから入力される各エンドポイント部のデータ転送量の一方が予め設定する値に達する毎に、または所定時間が経過するかあるいは一方が予め設定する値に達する毎に、ＥＰＡとＥＰＢのデータ転送量を比較して行う。そして、データ転送量が多いエンドポイント部に共有ＦＩＦＯメモリ２０ｃを接続することで、データ転送量の多いエンドポイント部のデータ転送速度を向上させることができる。
【００１９】
次に、図３に示した共有ＦＩＦＯメモリ２０ｃの接続先エンドポイント部の切換え動作を図３および図５〜図７に示した動作フロー図により説明する。
図５はＦＩＦＯメモリを共有するエンドポイント部のうちの一方のデータ転送量が設定値に達した場合に共有ＦＩＦＯメモリ２０ｃの接続先を変更する場合の動作フローである。
この場合、共有ＦＩＦＯメモリ２０ｃはまず共有ＦＩＦＯコントローラ１７によって初期設定されているエンドポイント部に接続される（Ｓ２１）。続いて、共有ＦＩＦＯコントローラ１７はエンドポイント部ＥＰＡ、ＥＰＢ毎のデータ量を計算するカウンタ２７ａ、２７ｂをリセットし（Ｓ２２）、転送されたデータ量のカウントを開始する（Ｓ２３）。そして、エンドポイント部ＥＰＡの転送データ量が設定値に達せず（Ｓ２４でＮｏ）、エンドポイント部ＥＰＢの転送データ量も設定値に達しない限り（Ｓ２５でＮｏ）、カウンタ２７ａ、２７ｂにおけるカウントを続行する（Ｓ２３）。
こうして、エンドポイント部ＥＰＡの転送データ量が設定値に達した場合（Ｓ２４でＹｅｓ）、共有ＦＩＦＯコントローラ１７は共有ＦＩＦＯメモリ２０ｃの接続先をエンドポイント部ＥＰＡに設定し（Ｓ２７）、その後、ステップＳ２２以下を繰り返す。また、エンドポイント部ＥＰＢの転送データ量が設定値に達した場合（Ｓ２５でＹｅｓ）、共有ＦＩＦＯコントローラ１７は共有ＦＩＦＯメモリ２０ｃの接続先をエンドポイント部ＥＰＢに設定し（Ｓ２６）、その後、ステップＳ２２以下を繰り返す。
【００２０】
図６はデータ転送量のカウント開始後、設定された一定時間経過後に双方のデータ転送量を比較して共有ＦＩＦＯメモリ２０ｃの接続先を変更する場合の動作フロー図である。
この場合も、共有ＦＩＦＯコントローラ１７は、まず共有ＦＩＦＯメモリ２０ｃを初期設定されたエンドポイント部に接続する（Ｓ３１）。そして、エンドポイント部ＥＰＡ、ＥＰＢ毎のデータ量をカウントするカウンタ２７ａ、２７ｂをリセットし、同時に共有ＦＩＦＯコントローラ１７内にあるデータ転送量カウント開始後の経過時間を計測するタイムカウンタもリセットし（Ｓ３２）、それぞれ転送されたデータ量のカウントと経過時間の計測を開始させる（Ｓ３３）。そして、経過時間を計測するタイムカウンタの値が設定値に達しない間は（Ｓ３４でＮｏ）、カウンタ２７ａ、２７ｂによる転送データ量のカウントとタイムカウンタによる経過時間の計測を続行する。
こうして、経過時間を計測するタイムカウンタの値が設定値に達すると（Ｓ３４でＹｅｓ）、共有ＦＩＦＯコントローラ１７はエンドポイント部ＥＰＡにおける転送データ量とエンドポイント部ＥＰＢにおける転送データ量を比較する（Ｓ３５）。そして、エンドポイント部ＥＰＡの転送データ量の方が多い場合（Ｓ３５でＹｅｓ）、共有ＦＩＦＯコントローラ１７は共有ＦＩＦＯメモリ２０ｃの接続先をエンドポイント部ＥＰＡに設定し（Ｓ３６）、その後、ステップＳ３２以下を繰り返す。また、エンドポイント部ＥＰＢの転送データ量の方が多い場合は（Ｓ３５でＮｏ）、共有ＦＩＦＯメモリ２０ｃの接続先をエンドポイント部ＥＰＢに設定し（Ｓ３７）、その後、ステップＳ３２以下を繰り返す。
【００２１】
図７はＦＩＦＯメモリを共有するエンドポイント部のうちの一方のデータ転送量が設定値に達した場合、またはデータ転送量のカウント開始後設定された一定時間経過後に双方のデータ転送量を比較して共有ＦＩＦＯメモリ２０ｃの接続先を変更する場合の動作フロー図である。
この場合、共有ＦＩＦＯコントローラ１７はまず共有ＦＩＦＯメモリ２０ｃを初期設定されるエンドポイント部に接続する（Ｓ４１）。そして、共有ＦＩＦＯコントローラ１７はエンドポイント部ＥＰＡ、ＥＰＢ毎のデータ量をカウントするカウンタ２７ａ、２７ｂをリセットし、同時にＦＩＦＯコントローラ１７内にあるデータ転送量カウント開始後の経過時間を計測するタイムカウンタもリセットし（Ｓ４２）、それぞれ転送されたデータ量のカウントを開始させる（Ｓ４３）。
そして、エンドポイント部ＥＰＡの転送データ量が設定値に達せず（Ｓ４４でＮｏ）、エンドポイント部ＥＰＢの転送データ量も設定値に達せず（Ｓ４５でＮｏ）、さらに経過時間を計測するタイムカウンタの値も設定値に達しない（Ｓ４６でＮｏ）間は、カウンタ２７ａ、２７ｂにおける転送データ量のカウントとタイムカウンタにおける経過時間の計測を続行する。
こうして、エンドポイント部ＥＰＡの転送データ量が設定値に達した場合（Ｓ４４でＹｅｓ）、共有ＦＩＦＯコントローラ１７は共有ＦＩＦＯメモリ２０ｃの接続先をエンドポイント部ＥＰＡに設定し（Ｓ４９）、その後、ステップＳ４２以下を繰り返す。また、エンドポイント部ＥＰＢの転送データ量が設定値に達した場合（Ｓ４５でＹｅｓ）、共有ＦＩＦＯコントローラ１７は共有ＦＩＦＯメモリ２０ｃの接続先をエンドポイント部ＥＰＢに設定し（Ｓ４８）、その後、ステップＳ４２以下を繰り返す。
また、経過時間を計測するタイムカウンタの値が設定値に達した場合（Ｓ４６でＹｅｓ）、共有ＦＩＦＯコントローラ１７はエンドポイント部ＥＰＡにおける転送データ量とエンドポイント部ＥＰＢにおける転送データ量を比較し（Ｓ４７）、エンドポイント部ＥＰＡの転送データ量の方が多い場合は（Ｓ４７でＹｅｓ）、共有ＦＩＦＯメモリ２０ｃの接続先をエンドポイント部ＥＰＡに設定し（Ｓ４９）、その後、ステップＳ４２以下を繰り返す。また、エンドポイント部ＥＰＢの転送データ量の方が多い場合は（Ｓ４７でＮｏ）、共有ＦＩＦＯメモリ２０ｃの接続先をエンドポイント部ＥＰＢに設定し（Ｓ４８）、その後、ステップＳ４２以下を繰り返す。
【００２２】
なお、図５〜図７に示した動作フロー図では、一つのエンドポイント部の転送データ数が設定値に達する度に、または経過時間が設定値に達する度に、共有ＦＩＦＯメモリ２０ｃの接続先エンドポイント部が前回と異なれば、共有ＦＩＦＯメモリ２０ｃの接続先エンドポイント部を変更したが、例えば同一エンドポイント部の所定時間当たりの転送データ量が続けて所定回数（例えば２度）多くなってはじめて接続先のエンドポイント部を変更するようにしてもよい。
また、所定のデータ量を転送するに要した所要時間を共有メモリを共有する各エンドポイント部について比較し、所要時間の短いエンドポイント部に共通ＦＩＦＯメモリを接続する構成でもよい。
また、転送データ量の設定値、経過時間の設定値をＵＳＢコントローラ内部のレジスタなどを用いて変更できるようにしてもよい。例えば、経過時間の設定値については、バッファメモリを介して転送された所定時間におけるデータ量が少な過ぎる場合には所定時間を長くし、データ量が多すぎれば所定時間を短くするのである。
また、転送データ量の設定値は全てのエンドポイント部で同一である必要はない。
また、転送されたデータ量をエンドポイント部間で比較する代わりに、転送されたデータ量の差を求め、その差が予め設定した所定値以上になった場合に接続先のエンドポイントを変更するようにしてもよい。
また、所定のデータ量を転送するのに要する時間が大幅に変わるような場合は転送データ量の設定値または経過時間の設定値を変更するようにして共有ＦＩＦＯメモリを接続するエンドポイント部の制御効率を上げることも可能である。
【００２３】
【発明の効果】
以上説明したように、本発明によれば、請求項１記載の発明では、ＵＳＢ規格に準拠したデータ通信を行うデータ通信システムにおいて、一つのエンドポイント部に対してバッファメモリが複数用意され、その複数のバッファメモリのうち一つ以上のバッファメモリが他のエンドポイント部と共有され、共有バッファメモリを使用するエンドポイント部を決定する際、その共有バッファメモリを共有可能な各エンドポイント部についてバッファメモリを用いて転送されたデータ量を比較することによりその共有バッファメモリを用いるエンドポイント部が決定されるので、バッファメモリを用いて転送されたデータ量の多いエンドポイント部に共有バッファメモリを与えることができ、したがって、回路規模を抑えつつデータ転送速度を向上させることができる。
また、請求項２記載の発明では、請求項１記載の発明において、バッファメモリを共有する複数のエンドポイント部のいずれかが所定のデータ量を転送する毎に共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量が比較されるので、請求項１記載の発明の効果を容易に実現することができる。
また、請求項３記載の発明では、請求項１記載の発明において、所定時間が経過する毎に共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量が比較されるので、同様に、請求項１記載の発明の効果を容易に実現することができる。
また、請求項４記載の発明では、請求項１記載の発明において、共有バッファメモリを共有する複数のエンドポイント部のいずれかが所定のデータ量を転送するか、または所定時間が経過するか、どちらかの条件を満たす毎に共有バッファメモリを共有するエンドポイント部についてバッファメモリを介して転送されたデータ量が比較されるので、より効果的に請求項１記載の発明の効果を得ることができる。
また、請求項５記載の発明では、請求項２または請求項４記載の発明において、バッファメモリを介して転送されたデータ量を比較する際の所定のデータ量の値を変更することができるので、共有バッファメモリを与える先のエンドポイント部を状況に応じて適切なタイミングで変更することができる。
【００２４】
また、請求項６記載の発明では、請求項３または請求項４記載の発明において、バッファメモリを介して転送されたデータ量を比較する際の所定時間を変更することができるので、同様に、共有バッファメモリを与える先のエンドポイント部を状況に応じて適切なタイミングで変更することができる。
また、請求項７記載の発明では、請求項６記載の発明において、バッファメモリを介して転送されたデータ量に応じて所定時間が変更されるので、所定時間を適切に設定することができる。
また、請求項８記載の発明では、一つのエンドポイント部に対してバッファメモリが複数用意され、その複数のバッファメモリのうち一つ以上のバッファメモリが他のエンドポイント部と共有され、共有バッファメモリを使用するエンドポイント部を決定する際、その共有バッファメモリを共有可能な各エンドポイント部についてバッファメモリを用いて所定のデータ量が転送された所要時間を比較することによりその共有バッファメモリを用いるエンドポイント部が決定されるので、請求項１記載の発明と同様な効果を得ることができる。
また、請求項９記載の発明では、請求項８記載の発明において、所定のデータ量の値を変更することができるので、共有バッファメモリを与える先のエンドポイント部を状況に応じて適切なタイミングで変更することができる。
また、請求項１０記載の発明では、請求項５、請求項６、または請求項８記載の発明において、所定のデータ量または所定の所要時間の値をエンドポイント部によって異ならせることができるので、例えば特定のエンドポイント部に共有バッファメモリを与える度合いをより多くして、そのエンドポイント部における転送速度を他よりも向上させるというような使い方が可能になる。
また、請求項１１記載の発明では、請求項１乃至請求項９のいずれか１項に記載の発明において、同一エンドポイント部の単位時間当たりの転送データ量が続けて複数回多くなってはじめてそのエンドポイント部に共有バッファメモリの接続先が変更されるので、一時的な転送データ量の変化で共有バッファメモリの接続先が変更されてしまうのを防ぐことができる。
また、請求項１２記載の発明では、請求項１乃至請求項１１のいずれか１項に記載の発明において、バッファメモリがＦＩＦＯメモリであるので、このような構成の場合で、請求項１乃至請求項１０のいずれか１項に記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例を示すＵＳＢ通信システム要部の構成ブロック図。
【図２】本発明の第１の実施例を示すＵＳＢ通信システム要部の他の構成ブロック図。
【図３】本発明の第２の実施例を示すＵＳＢ通信システム要部の構成ブロック図。
【図４】本発明の第２の実施例を示すＵＳＢ通信システム要部の動作フロー図。
【図５】本発明の第２の実施例を示すＵＳＢ通信システム要部の他の動作フロー図。
【図６】本発明の第２の実施例を示すＵＳＢ通信システム要部の他の動作フロー図。
【図７】本発明の第２の実施例を示すＵＳＢ通信システム要部の他の動作フロー図。
【図８】従来技術の一例を示すＵＳＢ通信システムの接続概念図。
【図９】従来技術の一例を示すＵＳＢ通信システム要部の構成ブロック図。
【図１０】従来技術の一例を示すＵＳＢ通信システム要部の他の構成ブロック図。
【図１１】従来技術の一例を示すＵＳＢ通信システム要部の他の構成ブロック図。
【符号の説明】
１　ＵＳＢホスト装置
２　ハブ
３　デバイス
４　ＵＳＢバス
６　ＵＳＢコントローラ
１１　ＵＳＢトランシーバ
１２　シリアル入力エンジン
１３　エンドポイント部
１５　Ｉ／Ｏコントローラ
１７　共有ＦＩＦＯコントローラ
２０　ＦＩＦＯメモリ
２１　ライトコントローラ
２２　リードコントローラ
２３　マルチプレクサ
２４　マルチプレクサ
２５　マルチプレクサ
２６　マルチプレクサ
２７　カウンタ
【図１】
2004054437.tif 000003
【図２】
2004054437.tif 000004
【図３】
2004054437.tif 000005
【図４】
2004054437.tif 000006
【図５】
2004054437.tif 000007
【図６】
2004054437.tif 000008
【図７】
2004054437.tif 000009
【図８】
2004054437.tif 000010
【図９】
2004054437.tif 000011
【図１０】
2004054437.tif 000012
【図１１】
2004054437.tif 000013