(57)【要約】  ホスト・コントローラが、ＵＳＢバス通信システムを介する、フレームおよびマイクロ・フレームでのデータ転送で使用されてよい。各データ転送がパケット転送記述子によって記述され、ビット値がアクティブ値に設定されているビットマップのビットに対応するフレームのマイクロ・フレーム中でだけ、パケット転送記述子に従ってデータが転送されるように、データ転送のパケット転送記述子がビットマップを含む。
2008502980.tif 000002
【特許請求の範囲】
【請求項１】
バス通信システムにて、フレームおよびマイクロ・フレームでデータを転送するのに使用され、各データ転送がパケット転送記述しにより記述されるホスト・コントローラであって、
ビット値がアクティブ値に設定されているビットマップのビットに対応する、フレームのマイクロ・フレーム中でだけ、前記パケット転送記述子に従ってデータが転送されるように、データ転送のパケット転送記述子が前記ビットマップを含む、ホスト・コントローラ。
【請求項２】
アイソクラナス・エンドポイントおよびインタラプト・エンドポイントの両方へのデータ転送のパケット転送記述子が前記ビットマップを含む、前記バス通信システムにてアイソクラナス・エンドポイントおよびインタラプト・エンドポイントのいずれかに、データを転送するのに用いられる請求項１に記載のホスト・コントローラ。
【請求項３】
インタラプト・エンドポイントへのデータ転送のパケット転送記述子がさらに可変ポーリング・レートを指定する、請求項２に記載のホスト・コントローラ。
【請求項４】
前記ホスト・コントローラがメモリ・バスに対してスレーブとしてのみ働くように適合されるように、ホスト・マイクロプロセッサおよびシステム・メモリに接続された前記メモリ・バスへの接続のための第１のインターフェースと、
前記バス通信システムへの接続のための第２のインターフェースとをさらに含む、前記ホスト・マイクロプロセッサおよび前記システム・メモリを含むバス通信装置で使用する、請求項１〜３のいずれか一項に記載のホスト・コントローラ。
【請求項５】
各データ転送をパケット転送記述子によって記述することを含む、バス通信システムを介する、フレームおよびマイクロ・フレームでのデータ転送で使用するホスト・コントローラの動作方法であって、
データ転送のパケット転送記述子がビットマップを含み、ビット値がアクティブ値に設定されている前記ビットマップのビットに対応するフレームのマイクロ・フレーム中でだけ、前記パケット転送記述子に従ってデータを転送することを含む、方法。
【請求項６】
アイソクラナス・エンドポイントおよびインタラプト・エンドポイントの両方へのデータ転送のパケット転送記述子が前記ビットマップを含む、
前記バス通信システムを介する、アイソクラナス・エンドポイントまたはインタラプト・エンドポイントへのデータ転送で使用する、請求項５に記載の方法。
【請求項７】
インタラプト・エンドポイントへのデータ転送のパケット転送記述子がさらに可変ポーリング・レートを指定する、請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス・コントローラに関し、詳細には、外部バスを使用して他の電子機器との間のデータの転送を制御するために電子機器に含めることができる装置に関する。
【背景技術】
【０００２】
電子機器が、ユニバーサル・シリアル・バス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）（ＵＳＢ）を使用するデータ転送を可能にするインターフェースを備えることは当り前になりつつある。
【０００３】
いくつかの電子機器がＵＳＢシステムを使用して相互接続される場合、１つの機器がＵＳＢホストに指定され、それ以外の機器がＵＳＢ装置に指定される。ＵＳＢを介する通信の開始およびスケジューリングを担当するのは、ＵＳＢホストである。例えば、ＵＳＢホストはパーソナル・コンピュータ（ＰＣ）であってよく、このＰＣがプリンタ、デジタル・カメラ、携帯情報端末（ＰＤＡ）など様々なＵＳＢ装置と接続されてよい。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ＵＳＢ接続を使用して、ＰＣを介した接続を必要とすることなく、例えば、カメラをプリンタに直接接続することも可能である。ＵＳＢホストとして機能できるためには、この例ではカメラであってよいが、機器が必要な機能を備えていなければならず、本発明は、より詳細には、機器にこの機能を提供するために、集積回路の形態をした、機器に含まれてよい装置に関する。しかし、機器が他の機能も有し、そのＵＳＢ相互接続性はその機器のもつ機能のごく僅かな一部に過ぎないことは理解されよう。さらに、複数の機器に、特別に強力なプロセッサをもたせないでも、ＵＳＢホストとして働く能力を与えるために、この装置をそれら複数の機器に含めることができることが望ましい。
【０００５】
したがって、この装置は、それが組み込まれることになる機器の中央処理装置（ＣＰＵ）への依存を可能な限り最小にとどめて動作できることが望ましい。例えば、ＣＰＵをバス・マスターとしておくことが可能となるように、この装置が、機器のバス・システムにおいてスレーブとして動作することが好ましい。また、この装置が可能な限り最小の処理負荷をＣＰＵに負わせること、具体的には、ＣＰＵへの割込み要求の数を最小限にすることが望ましい。また、この装置は、この装置が可能な限り最大の幅広い機器に組み込まれてよいように、任意の特定なオペレーティング・システムを使用するＣＰＵを利用すべきではない。
【０００６】
ＵＳＢトランザクションを定義するために転送ベースの転送記述子が使用されるＵＳＢホスト・コントローラを提供することが知られている。
【課題を解決するための手段】
【０００７】
本発明によれば、対応するビットがアクティブ値に設定されたサブ・フレーム中でだけデータが転送されるように、各転送記述子ごとに一連のビットが与えられ、各ビットがフレーム内のサブ・フレームに対応する、ホスト・コントローラが提供される。
【発明を実施するための最良の形態】
【０００８】
図１は、ＵＳＢホストとして動作する電子機器１０の関連部分の概略図である。本発明は、具体的には、カメラ、セットトップ・ボックス、携帯電話、あるいはＰＤＡなど、パーソナル・コンピュータ（ＰＣ）におけるよりもマイクロ・プロセッサおよびシステム・メモリの機能的制約がより意味をもつ装置に適用可能である。しかし、本発明は、ＵＳＢホストとして動作することのできるどんな装置にも適用可能である。
【０００９】
装置１０が多くの機能を有し、それらの機能が図１に示されていないのは、それらが本発明の理解に関連しないからであることは理解されよう。
【００１０】
装置１０は、プロセッサ・コアを含むホスト・マイクロプロセッサ（ＣＰＵ）２０を備える。ＣＰＵ２０は、周辺バス３２によってシステム・メモリ３０に接続される。
【００１１】
ホスト・コントローラ４０もまた、周辺バスまたはメモリ・バス３２によってホスト・マイクロプロセッサ２０およびシステム・メモリ３０に接続される。ホスト・コントローラ４０は、ＵＳＢバス４２へのインターフェースを備え、そのインターフェースを介して複数のＵＳＢ装置に接続されてよい。この図に示す実施形態では、ホスト・コントローラ４０はＵＳＢ２．０ホスト・コントローラであり、本明細書に記載されていないホスト・コントローラの機能は、ＵＳＢ２．０仕様で指定されている通りであってよい。
【００１２】
従来通り、ホスト・コントローラ４０は、プロセッサ２０によって適切なフォーマットで用意されたデータを取り出し、そのデータをバス・インターフェースを介して伝送するように適合される。ＵＳＢ通信では、データ転送に２つのカテゴリ、すなわち非同期転送（ａｓｙｎｃｈｒｏｎｏｕｓ  ｔｒａｎｓｆｅｒ）と定周期転送（ｐｅｒｉｏｄｉｃ  ｔｒａｎｓｆｅｒ）がある。コントロール・データ（Ｃｏｎｔｒｏｌ  ｄａｔａ）およびバルク・データ（ｂｕｌｋ  ｄａｔａ）は非同期転送を使用して伝送され、アイソクラナス・データ（ｉｓｏｃｈｒｏｎｏｕｓ  ｄａｔａ）およびインタラプト・データ（ｉｎｔｅｒｒｕｐｔ  ｄａｔａ）は定周期転送を使用して伝送される。キュー・トランザクション記述子（Ｑｕｅｕｅ  Ｔｒａｎｓａｃｔｉｏｎ  Ｄｅｓｃｒｉｐｔｏｒ）（ｑＴＤ）データ構造が非同期転送に使用され、アイソクラナス・トランザクション記述子（Ｉｓｏｃｈｒｏｎｏｕｓ  Ｔｒａｎｓａｃｔｉｏｎ  Ｄｅｓｃｒｉｐｔｏｒ）（ｉＴＤ）データ構造が定周期転送に使用される。
【００１３】
プロセッサ２０が適切な構造でデータを用意し、そのデータをシステム・メモリ３０内に格納する。次いで、ホスト・コントローラ４０がそのデータをシステム・メモリ３０から取り出さなければならない。
【００１４】
図２は、組み込まれたＵＳＢホスト・コントローラ４０の構造をより詳細に示す。
【００１５】
上記で説明したように、ホスト・コントローラ４０はメモリ・バス３２への接続をもち、このバスは、メモリ管理ユニット（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）、スレーブＤＭＡコントローラ（Ｓｌａｖｅ  ＤＭＡ  Ｃｏｎｔｒｏｌｌｅｒ）、割込み制御ユニット、およびハードウェア・コンフィギュレーション・レジスタ（ｈａｒｄｗａｒｅ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｒｅｇｉｓｔｅｒｓ）を含むインターフェース４４に接続される。インターフェース４４はまた、制御信号および割込み信号用の接続４６、ならびにＲＡＭ構造およびホスト・コントローラ４０の動作レジスタをサポートするレジスタ４８をもつ。
【００１６】
インターフェース４４はホスト・コントローラのオンチップＲＡＭ５０に接続され、このＲＡＭは、この好ましい実施形態では、デュアル・ポートＲＡＭであり、データのメモリへの書込みとメモリからの読取りが同時に可能となる。しかし適切なアービタ（ａｒｂｉｔｅｒ）を備えていれば等しくシングル・ポートＲＡＭであってもよい。メモリ５０はホスト・コントローラ論理演算ユニット５２に接続され、このユニットはまたＵＳＢバス４２へのインターフェースを含む。制御信号は内部バス５４を介してレジスタ４８から論理演算ユニット５２へ送られてよい。
【００１７】
図３は、本発明による装置の動作方法を示すために、ホスト・コントローラ４０上で動作するソフトウェアを部分的に示す概略図である。
【００１８】
ホスト・コントローラ４０は、ＵＳＢドライバ・ソフトウェア（ＵＳＢ  ｄｒｉｖｅｒ  ｓｏｆｔｗａｒｅ）８０およびＵＳＢエンハンスト・ホスト・コントローラ・インターフェース・ソフトウェア（ＵＳＢ  Ｅｎｈａｎｃｅｄ  Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅ  ｓｏｆｔｗａｒｅ）８２を走らせるが、これらのソフトウェアは一般に従来通りである。
【００１９】
ホスト・コントローラ４０はまた、ＵＳＢ  ＥＨＣＩインターフェース・ソフトウェア（ＵＳＢ  ＥＨＣＩ  ｉｎｔｅｒｆａｃｅ  ｓｏｆｔｗａｒｅ）８４を走らせるが、このソフトウェアは、データが転送されるべき宛先であるすべてのエンドポイント（ｅｎｄｐｏｉｎｔ）についての転送ベースの転送記述子のリストを用意する。
【００２０】
ＥＨＣＩインターフェース・ソフトウェア８４は、既存の定周期ヘッダおよび非同期ヘッダ用にＥＨＣＩホスト・スタック（ＥＨＣＩ  ｈｏｓｔ  ｓｔａｃｋ）８２によって生成されるパラメータを使用するように書かれており、すべての異なる形態のＵＳＢ転送、具体的には、高速のアイソクラナス・トランザクション、バルク・トランザクション、インタラプト・トランザクション、コントロール・トランザクション、およびスタート／ストップ  スプリット・トランザクションなど高速ＵＳＢ転送で使用されてよい。
【００２１】
ホスト・マイクロプロセッサ２０は、ホスト・コントローラ４０をバス３２のマスターとする必要なしに、周辺バス３２を介してホスト・コントローラ４０のＲＡＭ５０に転送ベースの転送記述子を書き込む。言い換えると、ホスト・コントローラ４０はスレーブとしてだけ働く。次いで、転送ベースの転送記述子は、ホスト・コントローラ４０のＲＡＭ５０にメモリ・マップされてよい。
【００２２】
有利には、ホスト・コントローラ４０の組込みメモリ５０が、ホスト・マイクロプロセッサ２０内でマップされ、さらに容易にトランザクションがホスト・マイクロプロセッサ２０からスケジュールされてよい。
【００２３】
デュアル・ポートＲＡＭ５０を使用するということは、１つの転送ベースの転送記述子がホスト・コントローラ４０によって実行されているときに、ホスト・マイクロプロセッサ２０が別のブロック空間にデータを書き込んでいてよいことを意味する。
【００２４】
図４は、データをホスト・コントローラ４０からＵＳＢバス４２を介して伝送する、複数のマイクロ・フレームに分割された、１ＵＳＢフレームのフォーマットを示す。従来通り、異なる転送タイプのトランザクションを含む複数のトランザクションが１つのマイクロ・フレーム内で送られてよい。やはり従来通り、高速（ｈｉｇｈ  ｓｐｅｅｄ）アイソクラナス（isochronous）転送が常に第１であり、高速インタラプト転送ならびに全速（ｆｕｌｌ  ｓｐｅｅｄ）および低速（ｌｏｗ  ｓｐｅｅｄ）のスタート・スプリット（Ｓｔａｒｔ  Ｓｐｌｉｔ）転送およびコンプリート・スプリット（Ｃｏｍｐｌｅｔｅ  Ｓｐｌｉｔ）転送がそれに続き、高速バルク・データがマイクロ・フレームの残り時間を占める。図４は、複数の高速アイソクラナス・トランザクションが１つまたは複数のエンドポイントに送られてよい方法を示す。
【００２５】
具体的には、図４で、２つの高速アイソノクラナス転送記述子が１ｍｓ〜２ｍｓの１ミリ秒間で処理されている。この１ミリ秒は、それぞれｕＳＯＦ０、ｕＳＯＦ１、〜ｕＳＯＦ７から始まる８つのマイクロ・フレームから成る１フレームを表す。図４はまた、対応するパケット転送記述子ＰＴＤ１、ＰＴＤ２のフォーマットを示しており、このパケット転送記述子は、ＩＮトランザクションまたはＯＵＴトランザクションでそれぞれ異なるエンドポイント（ｅｎｄｐｔ１、ｅｎｄｐｔ２）に関連する。パケット転送記述子ＰＴＤ１、ＰＴＤ２はそれぞれ、一連の８ビットｕｓｏｆ（７〜０）を含み、これらのビットはアクティブ値（すなわち「１」）をとってもよく、非アクティブ値（すなわち「０」）をとってもよい。次いで、パケット転送記述子のすべてのパラメータが満たされると、ペイロード・データが転送される。すなわち適切なフレーム＃中で、またｕｓｏｆビットがハイのとき当該のマイクロ・フレーム中で、転送される。
【００２６】
したがって、図４で、パケット転送記述子ＰＴＤ１に関連するペイロード・データ（ＨＳＩＳＯ１）は、８つすべてのマイクロ・フレーム中で送られ、パケット転送記述子ＰＴＤ２に関連するペイロード・データ（ＨＳＩＳＯ２）は、ｕｓｏｆビットがそれぞれハイに設定されたｕＳＯＦ０、ｕＳＯＦ２、ｕＳＯＦ４、およびｕＳＯＦ６で始まる４つのマイクロ・フレーム中でだけ送られる。
【００２７】
パケット転送記述子パラメータ・マルチが値１をとるとき、マックス・パケット・データ・サイズ（Ｍａｘ  Ｐａｃｋｅｔ  Ｄａｔａ  Ｓｉｚｅ）のトランザクションが１つだけ各マイクロ・フレームの各エンドポイントに送り出される。
【００２８】
パケット転送記述子に関連するペイロード・データが終了すると、ハードウェア・インタラプトがＣＰＵ２０に送られる。これらのＩＲＱは、図４の１４０に示すように、個々のパケット転送記述子が完了したときにアクティブに設定されてもよく、図４の１４２に示すように、両方のパケット転送記述子が完了したときにだけアクティブに設定されてもよい。
【００２９】
図５は、複数ミリ秒での転送（ｍｕｌｔｉ−ｍｉｌｌｉｓｅｃｏｎｄ  ｔｒａｎｓｆｅｒ）の状況を示し、この場合、４つの高速アイソクラナス転送記述子が１ｍｓ〜５ｍｓの期間で処理されている。この期間は、それぞれが８つのマイクロ・フレームから成る４つのフレームを表しており、明確にするために各フレームの２つのマイクロ・フレームだけが示されている。図５はまた、対応するパケット転送記述子ＰＴＤ１〜ＰＴＤ８のフォーマットを示す。この場合、８つのパケット転送記述子ＰＴＤ１〜ＰＴＤ８はそれぞれ、同じエンドポイント（ｅｎｄｐｔ１）に関連する。また、パケット転送記述子ＰＴＤ１〜ＰＴＤ８はそれぞれ、一連の８ビットｕｓｏｆ（７〜０）を含み、これらのビットはアクティブ値（すなわち「１」）をとってもよく、非アクティブ値（すなわち「０」）をとってもよい。次いで、パケット転送記述子のすべてのパラメータが満たされると、ペイロード・データが転送される。すなわち適切なフレーム＃中で、またｕｓｏｆビットがハイのとき当該のマイクロ・フレーム中で、転送される。
【００３０】
したがって、図５で、パケット転送記述子ＰＴＤ１に関連するペイロード・データ（ＨＳＩＳＯ１）は、フレーム＃０１の８つすべてのマイクロ・フレーム中で送られ、パケット転送記述子ＰＴＤ２に関連するペイロード・データ（ＨＳＩＳＯ１）は、フレーム＃０２の８つすべてのマイクロ・フレーム中で送られ、以下同様にして送られる。したがって複数のアイソクラナス・パケット転送記述子を定義することにより、複数ミリ秒での転送が可能となる。
【００３１】
また、この場合、パケット転送記述子パラメータのマルチが値３をとるので、マックス・パケット・データ・サイズのトランザクションが３つ各マイクロ・フレームの各エンドポイントへ送り出される。
【００３２】
したがって、パケット転送記述子ＰＴＤ１〜ＰＴＤ４が１ｍｓ〜５ｍｓの期間で処理される。パケット転送記述子ＰＴＤ１〜ＰＴＤ４が送られている間に、次の４ｍｓのための新しいパケット転送記述子ＰＴＤ５〜ＰＴＤ８が用意されてよい。パケット転送記述子ＰＴＤ５〜ＰＴＤ８がすべて用意されるまで、ＳＫＩＰビットマップはアクティブに設定されてよく、したがって、そのビットマップはスキップされなくてよい。
【００３３】
ＩＲＱは、最初の４ｍｓが完了し、次いでＩＮトークンのデータが読み返されてよいことを偶然示しているに過ぎない。
【００３４】
したがって、２４ＫＢ／ｍｓ（すなわち１０２４バイト／トランザクション×３トランザクション／マイクロ・フレーム×８マイクロ・フレーム／ミリ秒）という最大ＵＳＢデータ・レートでの中断することのないＵＳＢデータ・フローが存在する。
【００３５】
図６は、本発明によるアイソクラナス高速パケット転送記述子の概観を与える。
【００３６】
図７は、２つの高速インタラプト転送記述子が１ｍｓ〜３ｍｓの２ミリ秒の期間で処理されている状況を示す。各ミリ秒は、それぞれｕＳＯＦ０、ｕＳＯＦ１、〜ｕＳＯＦ７で始まる８つのマイクロ・フレームから成る１フレームを表す。図７はまた、対応するパケット転送記述子ＰＴＤ１、ＰＴＤ２のフォーマットを示しており、これらのパケット転送記述子は、異なるエンドポイント（ｅｎｄｐｔ１、ｅｎｄｐｔ２）に関連する。パケット転送記述子ＰＴＤ１、ＰＴＤ２はそれぞれ、一連の８ビットｕｓｏｆ（７〜０）を含み、これらのビットはアクティブ値（すなわち「１」）をとってもよく、非アクティブ値（すなわち「０」）をとってもよい。次いで、ｕｓｏｆビットがハイのとき当該のマイクロ・フレーム中で、ペイロード・データが転送される。
【００３７】
したがって、図７で、パケット転送記述子ＰＴＤ１に関連するペイロード・データ（ＨＳＩＮＴ１）は、ｕｓｏｆビットがそれぞれハイに設定された、ｕＳＯＦ１、ｕＳＯＦ３、ｕＳＯＦ５、およびｕＳＯＦ７で始まる４つのマイクロ・フレーム中で送られ、転送記述子ＰＴＤ２に関連するペイロード・データ（ＨＳＩＮＴ２）は、ｕｓｏｆビットがそれぞれハイに設定された、ｕＳＯＦ０、ｕＳＯＦ２、ｕＳＯＦ４、およびｕＳＯＦ６で始まる４つのマイクロ・フレーム中でだけ送られる。
【００３８】
パケット転送記述子ＰＴＤ１、ＰＴＤ２のそれぞれはまた、ペイロード（ＰＬ）のサイズを示しており、ＰＴＤ２のペイロードがＰＴＤ１のペイロードの２倍のサイズであることに留意されたい。したがって、ＰＴＤ１が最初のミリ秒中で完了するのに対し、パケット転送記述子ＰＴＤ２に関連するペイロード・データ（ＨＳＩＮＴ２）は、２ｍｓ〜３ｍｓのミリ秒に当たるｕＳＯＦ０、ｕＳＯＦ２、ｕＳＯＦ４、およびｕＳＯＦ６で始まる４つのマイクロ・フレーム中でも送られる。
【００３９】
パケット転送記述子に関連するペイロード・データが終了すると、ハードウェア・インタラプトがＣＰＵ２０に送られる。これらのＩＲＱは、図７の１７０に示すように、個々のパケット転送記述子が完了したときにアクティブに設定されてもよく、図４の１７２に示すように、両方のパケット転送記述子が完了したときにだけアクティブに設定されてもよい。
【００４０】
図８は、複数ミリ秒での転送の状況を示し、この場合、４つの高速インタラプト転送記述子が２ｍｓ〜２３ｍｓの期間で処理されている。前述した通り、各ミリ秒は１フレームを表し、各フレームは８つのマイクロ・フレームから成る。
【００４１】
図８はまた、対応するパケット転送記述子ＰＴＤ１〜ＰＴＤ４のフォーマットを示す。この場合、４つのパケット転送記述子ＰＴＤ１〜ＰＴＤ４のそれぞれは、それぞれ異なるエンドポイント（ｅｎｄｐｔ１、ｅｎｄｐｔ２、ｅｎｄｐｔ３、ｅｎｄｐｔ４）に関連する。また、パケット転送記述子ＰＴＤ１〜ＰＴＤ４はそれぞれ、一連の８ビットｕｓｏｆ（７〜０）を含み、これらのビットはアクティブ値（すなわち「１」）をとってもよく、非アクティブ値（すなわち「０」）をとってもよい。次いで、パケット転送記述子に指定された適切なフレーム＃中でだけ、またｕｓｏｆビットがハイのとき当該のマイクロ・フレーム中でだけ、ペイロード・データが転送される。
【００４２】
パケット転送記述子はまた、ペイロード（ＰＬ）のサイズ、最大パケット・サイズ（ＭＰＳ）、および転送のポーリング・レートを指定する。したがって、ポーリング・レートは、この例では１マイクロ・フレームと３２フレームの間であるが、必要に応じて様々であってよい。図９は、ポーリング・レートの利用可能な値を示す表である。２つのエンドポイントが同じポーリング・レートをもつ場合、そのトランザクションは２つの異なるフレームに分配されてよい。このことは、フレーム番号の末尾２ビットに基づいて、そのトランザクションをアクティブにするハードウェアによってなされてよい。
【００４３】
図８は、このことが実際どのように機能するかを示す。例えば、パケット転送記述子ＰＴＤ３によって記述された、エンドポイント３へと意図されたデータは、４ｍｓのフレームでＮＡＫを返されると、８ｍｓのポーリング・レートをもつので８ｍｓのフレームで再伝送される。同様に、パケット転送記述子ＰＴＤ４によって記述された、エンドポイント４へと意図されたデータは、７ｍｓのフレームでＮＡＫを返されると、１６ｍｓのポーリング・レートをもつので２３ｍｓのフレームで再伝送される。
【００４４】
図１０は、本発明によるインタラプト高速パケット転送記述子の概観を与える。
【００４５】
図１１は、データのバルク転送における転送メカニズムを示す。したがって、図１１の１９０に示すように、１フレームにおいて、ｕＳＯＦ０〜ｕＳＯＦ３で始まる最初の４つのマイクロ・フレーム中で、第１のパケット転送記述子ＰＴＤ１によるデータが送達されており、その間、第２のパケット転送記述子ＰＴＤ２によるデータが用意されている。図１１の１９２に示すように、ｕＳＯＦ４〜ｕＳＯＦ７で始まる次の４つのマイクロ・フレームの期間で、第２のパケット転送記述子ＰＴＤ２によるデータが送達されており、その間、第１のパケット転送記述子ＰＴＤ１によるデータが用意されている。以上により、１ミリ秒につき２つの割込みを必要とするだけで、エンドポイントへの高データ転送レートが可能になる。
【００４６】
従来通り、バルク・データは、マイクロ・フレーム内でアイソクラナス・データおよびインタラプト・データが送られた後にだけ送られる。図１２は、４つの高速インタラプト転送記述子がいくつかのマイクロ・フレームで、ただしアイソクラナス・データ（ＨＳＩＳＯ）および割込みデータ（ＨＳＩＮＴ）がそのマイクロ・フレームで送られた後にだけ処理されている状況を示す。
【００４７】
図１２はまた、対応するパケット転送記述子ＰＴＤ１〜ＰＴＤ４のフォーマットを示す。この場合、４つのパケット転送記述子ＰＴＤ１〜ＰＴＤ４のそれぞれは、それぞれ異なるエンドポイント（ｅｎｄｐｔ１、ｅｎｄｐｔ２、ｅｎｄｐｔ３、ｅｎｄｐｔ４）に関係する。パラメータ・マルチは、データが任意のマイクロ・フレームの他の任意のパケット転送記述子に従って転送される前に、あるパケット転送記述子に従って転送されてよいバルク・データ・パケットの数を示す。したがって、最初のパケット転送記述子ＰＴＤ１はそのパラメータ・マルチに値３をもつので、データが他の任意のパケット転送記述子に従って転送される前に、３つのパケットが１ｍｓで始まるマイクロ・フレームで転送される。この場合、アイソクラナス・データおよびインタラプト・データがなかったので、バルク・データ転送のサイクルがそのマイクロ・フレームで繰り返されてよい。
【００４８】
しかし、ｕＳＯＦ２で始まるマイクロ・フレームでは、膨大な量のアイソクラナス・データがあったので、バルク・データ転送のサイクルはマイクロ・フレーム内では完了できなかったことに留意されたい。
【００４９】
図１３は、本発明による、バルク・エンドポイントおよびコントロール・エンドポイントへの高速パケット転送記述子の概観を与える。
【図面の簡単な説明】
【００５０】
【図１】本発明によるホスト・コントローラが組み込まれた電子機器の概略図である。
【図２】本発明によるホスト・コントローラの概略図である。
【図３】図２のホスト・コントローラのソフトウェアの構造を示す図である。
【図４】ホスト・コントローラから伝送されるＵＳＢデータのフォーマットを示すタイミング図である。
【図５】ホスト・コントローラから伝送されるＵＳＢデータのフォーマットを示すタイミング図である。
【図６】本発明によるアイソクラナス高速パケット転送記述子の概観を与える図である。
【図７】ホスト・コントローラから伝送されるＵＳＢデータのフォーマットを示すタイミング図である。
【図８】ホスト・コントローラから伝送されるＵＳＢデータのフォーマットを示すタイミング図である。
【図９】エンドポイントに対するポーリング・レートがどのように様々であってよいかを示す図である。
【図１０】本発明によるインタラプト高速パケット転送記述子の概観を与える図である。
【図１１】ホスト・コントローラから伝送されるＵＳＢデータのフォーマットを示すタイミング図である。
【図１２】ホスト・コントローラから伝送されるＵＳＢデータのフォーマットを示すタイミング図である。
【図１３】本発明によるバルク高速パケット転送記述子の概観を与える図である。
【図１】
2008502980.tif 000003
【図２】
2008502980.tif 000004
【図３】
2008502980.tif 000005
【図４】
2008502980.tif 000006
【図５】
2008502980.tif 000007
【図６】
2008502980.tif 000008
【図７】
2008502980.tif 000009
【図８】
2008502980.tif 000010
【図９】
2008502980.tif 000011
【図１０】
2008502980.tif 000012
【図１１】
2008502980.tif 000013
【図１２】
2008502980.tif 000014
【図１３】
2008502980.tif 000015
【国際調査報告】
2008502980.tif 000016
2008502980.tif 000017