(57)【要約】【課題】  ＵＳＢ規格のＨｉｇｈ−Ｓｐｅｅｄに対応したＵＳＢデバイス装置において、ＵＳＢ通信性能を十分に発揮すると共に、内部バスの帯域を有効に利用できるＵＳＢデバイス装置を提供する。【解決手段】  少なくとも１つのバスマスターと、バスマスター機能が付随するＵＳＢ規格のＨｉｇｈ−Ｓｐｅｅｄに対応したＵＳＢデバイスコントローラと、前記バスマスターと前記ＵＳＢデバイスコントローラが接続されるバスと、前記バスへの使用要求を前記バスに接続されている各バスマスターの優先度に応じて調停するバス権制御部とを備え、前記ＵＳＢデバイスコントローラのＵＳＢ通信速度に応じて、前記ＵＳＢデバイスコントローラの前記バス権の優先度を制御することを特徴とするＵＳＢデバイス装置。【選択図】        図１
2005189922.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのバスマスターと、
バスマスター機能が付随するＵＳＢ規格のＨｉｇｈ−ｓｐｅｅｄに対応したＵＳＢデバイスコントローラと、
前記バスマスターと前記ＵＳＢデバイスコントローラが接続されるバスと、
前記バスへの使用要求を前記バスに接続されているバスマスターの優先度に応じて調停するバス権制御部と、
を備え、
前記ＵＳＢデバイスコントローラのＵＳＢ通信速度に応じて、
前記ＵＳＢデバイスコントローラの前記バス権の優先度を制御すること
を特徴とするＵＳＢデバイス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ規格のＨｉｇｈ−ｓｐｅｅｄに対応したＵＳＢデバイス装置に関し、特に、ＵＳＢの通信速度に応じてバス権の優先度を制御するＵＳＢデバイス装置に関するものである。
【背景技術】
【０００２】
ＵＳＢはデジタルデータを高速に転送する規格で、主にＰＣとその他周辺機器を接続するためのインターフェイスとして広く普及している。ＵＳＢはツリー状のバスを構成し、唯一のホスト機能を持つもの（以下ホスト）を頂点に、複数のデバイス機能を持ったもの（以下デバイス）が接続される（例えば、特許文献１参照）。
【特許文献１】特開２００１−０７５６８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、現時点での最新であるＵＳＢ２．０規格では、３種類の通信速度が規定されており、４８０ＭｂｐｓのＨｉｇｈ−ｓｐｅｅｄ、１２ＭｂｐｓのＦｕｌｌ−ｓｐｅｅｄ、１．５ＭｂｐｓのＬｏｗ−ｓｐｅｅｄがある。Ｈｉｇｈ−ｓｐｅｅｄはＵＳＢ２．０規格で新たに追加されたもので、ＵＳＢ１．１規格では、Ｆｕｌｌ−ｓｐｅｅｄとＬｏｗ−ｓｐｅｅｄがサポートされる。ＵＳＢ２．０規格対応のホストは、Ｈｉｇｈ−ｓｐｅｅｄ／Ｆｕｌｌ−ｓｐｅｅｄ／Ｌｏｗ−ｓｐｅｅｄ全てをサポートし、Ｈｉｇｈ−ｓｐｅｅｄデバイス、Ｆｕｌｌ−ｓｐｅｅｄデバイス、Ｌｏｗ−ｓｐｅｅｄデバイスのいずれも接続可能である。ＵＳＢ１．１規格対応のホストは、Ｆｕｌｌ−ｓｐｅｅｄ／Ｌｏｗ−ｓｐｅｅｄをサポートし、Ｆｕｌｌ−ｓｐｅｅｄデバイス、Ｌｏｗ−ｓｐｅｅｄデバイスが接続可能である。Ｈｉｇｈ−ｓｐｅｅｄデバイスは、Ｈｉｇｈ−ｓｐｅｅｄで動作するモードとＦｕｌｌ−ｓｐｅｅｄで動作するモードの両方を備えているため、ＵＳＢ２．０規格対応のホストに接続する場合はＨｉｇｈ−ｓｐｅｅｄデバイス、ＵＳＢ１．１規格対応のホストに接続する場合はＦｕｌｌ−ｓｐｅｅｄデバイスとして動作する。
【０００４】
ＵＳＢでは、Ｄ＋とＤ−という２本の信号線と、ＶＢＵＳとＧＮＤという２本の電源線があり、Ｄ＋とＤ−がＨレベルとＬレベルに変化することで、デバイスの接続／切断の認識やデータ通信を行っている。ホストは、Ｄ＋とＤ−が共にＬレベルの場合接続デバイスなし、Ｄ＋がＨレベルかつＤ−がＬレベルの場合Ｆｕｌｌ−ｓｐｅｅｄデバイス接続、Ｄ＋がＬレベルかつＤ−がＨレベルの場合Ｌｏｗ−ｓｐｅｅｄデバイス接続と認識する。さらに、Ｆｕｌｌ−ｓｐｅｅｄデバイスの認識後、所定のリセットプロトコルによってＨｉｇｈ−ｓｐｅｅｄデバイスかＦｕｌｌ−ｓｐｅｅｄデバイスかの認識を行う。
【０００５】
ところで、Ｈｉｇｈ−ｓｐｅｅｄはＦｕｌｌ−ｓｐｅｅｄの４０倍の通信速度であるため、通信性能を十分に発揮するのに必要なシステムリソースにも大きな差が生じる。例えばＵＳＢデバイスコントローラ用に確保すべき内部バスの帯域において、Ｈｉｇｈ−ｓｐｅｅｄ用に十分確保した設定で、ＵＳＢ１．１規格対応のホストとＦｕｌｌ−ｓｐｅｅｄ通信を行うと過剰となってしまう。一方、Ｆｕｌｌ−ｓｐｅｅｄ用に確保する設定では、Ｈｉｇｈ−ｓｐｅｅｄ通信を行う場合、内部バスの帯域不足で通信性能が十分に発揮できない問題がある。
【０００６】
本発明は、このような問題点に鑑みて為されたものであり、その目的とする処は、ＵＳＢ規格のＨｉｇｈ−ｓｐｅｅｄに対応したＵＳＢデバイス装置において、ＵＳＢ通信性能を十分に発揮すると共に、内部バスの帯域を有効に利用できるＵＳＢデバイス装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、下記の技術的構成により前記目的を達成できたものである。
【０００８】
（１）少なくとも１つのバスマスターと、バスマスター機能が付随するＵＳＢ規格のＨｉｇｈ−ｓｐｅｅｄに対応したＵＳＢデバイスコントローラと、前記バスマスターと前記ＵＳＢデバイスコントローラが接続されるバスと、前記バスへの使用要求を前記バスに接続されているバスマスターの優先度に応じて調停するバス権制御部とを備え、前記ＵＳＢデバイスコントローラのＵＳＢ通信速度に応じて、前記ＵＳＢデバイスコントローラの前記バス権の優先度を制御することを特徴とするＵＳＢデバイス装置。
【発明の効果】
【０００９】
本発明によれば、ＵＳＢ通信速度に応じて、ＵＳＢデバイスコントローラのバス権の優先度を制御することで、ＵＳＢ通信性能を十分に発揮するために必要な内部バスの帯域を最適に確保することができる。
【発明を実施するための最良の形態】
【００１０】
以下本発明の実施例について、図面を参照しながら説明する。
【実施例１】
【００１１】
図１は本発明の実施の形態を示す構成図である。１００は本発明のＵＳＢデバイス装置である。ＵＳＢデバイス装置１００においては、ＵＳＢデバイスコントローラ１０１と、ＣＰＵ１０２と、ＲＡＭ１０３と、ＲＯＭ１０４と、周辺回路１０５と、バス権制御部２０１と、バスマスター２０２、２０３とがバス２００に接続されている。
【００１２】
ＵＳＢデバイスコントローラ１０１はＵＳＢデバイス機能を実現する制御回路で、Ｈｉｇｈ−ｓｐｅｅｄでＵＳＢ接続可能である。また、ＵＳＢデバイスコントローラ１０１にはバスマスター機能が付随されており、送受信データをＣＰＵ１０２の介在なしに直接ＲＡＭ１０３に対し読み書き（ＤＭＡ：Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）ができる。
【００１３】
ＣＰＵ１０２は、プログラムに従いバス２００を介して装置全体を制御する。ＲＡＭ１０３は、ＣＰＵ１０２が動作するときにワークエリア等で使用される。また、ＵＳＢデバイスコントローラ１０１やバスマスター２０２、２０３からデータの読み書きが行われる。
【００１４】
ＲＯＭ１０４は、ＣＰＵ１０２のプログラムや各種設定データ等が保存される不揮発性メモリである。
【００１５】
周辺回路１０５は、割り込み制御、タイマー制御等が行われる回路である。バス２００は、バスマスター機能を有するＵＳＢデバイスコントローラ１０１、ＣＰＵ１０２、バスマスター２０２、２０３の間で共有され、バス２００を使用する権利はバス権制御部２０１によって制御される。
【００１６】
バス権制御部２０１は、バスマスター機能を有するＵＳＢデバイスコントローラ１０１、ＣＰＵ１０２、バスマスター２０２、２０３からバス２００への使用要求を各バスマスターの優先度に従ったアルゴリズムで調停し、各バスマスターが競合することなくバス２００を介してデータ転送ができるようにする。前記バス権調停のアルゴリズムにおいて、バスマスター機能を有するＵＳＢデバイスコントローラ１０１、ＣＰＵ１０２、バスマスター２０２、２０３のそれぞれに対し優先度を設定することができ、特定のバスマスター優先度を高くすることでバス権を多く取ることが可能である。
【００１７】
バスマスター２０２、２０３は、ＵＳＢデバイスコントローラ１０１と同様にＣＰＵ１０２の介在なしに直接ＲＡＭ１０３に対し読み書きができる。
【００１８】
１０はＰＣなどのＵＳＢホスト機能を持つ装置であり、Ｈｉｇｈ−ｓｐｅｅｄでＵＳＢ接続可能なＵＳＢ２．０規格に対応したものである場合や、Ｆｕｌｌ−ｓｐｅｅｄでＵＳＢ接続可能なＵＳＢ１．１規格に対応したものの場合がある。
【００１９】
ＵＳＢホスト装置１０とＵＳＢデバイス装置１００は、それぞれのＵＳＢコネクタ間をＵＳＢケーブルで接続し、所定の速度でＵＳＢ通信を行う。
【００２０】
次に、動作について、図２〜４のフローチャートを用いて説明する。
【００２１】
図２は、ＵＳＢデバイス装置１００がＵＳＢホスト装置１０と接続され、ＵＳＢ通信を開始するまでのフローチャートである。
【００２２】
ＵＳＢデバイス装置１００は、所定の初期化処理を行いＤ＋をＨレベルにしＵＳＢ接続可能な状態となってＵＳＢホスト装置１０に接続されると、ＵＳＢホスト装置１０はＦｕｌｌ−ｓｐｅｅｄデバイスが接続されたと認識し、ＵＳＢデバイス装置１００に対しリセットを発行する（ステップＳ１１）。
【００２３】
ＵＳＢホスト装置１０がＨｉｇｈ−ｓｐｅｅｄ通信可能なＵＳＢ２．０規格に対応したものである場合（ステップＳ１２のＹＥＳ）、ＵＳＢデバイス装置１００はＨｉｇｈ−ｓｐｅｅｄデバイスとして所定のリセットプロトコルを開始し、ＵＳＢホスト装置１０はそのリセットプロトコルによって、ＵＳＢデバイス装置１００がＨｉｇｈ−ｓｐｅｅｄデバイスであることを認識する（ステップＳ１３）。
【００２４】
以後、ＵＳＢデバイス装置１００とＵＳＢホスト装置１０はＨｉｇｈ−ｓｐｅｅｄ通信を行う（ステップＳ１４）。
【００２５】
ＵＳＢホスト装置１０がＨｉｇｈ−ｓｐｅｅｄ通信可能でないＵＳＢ１．１規格に対応したものである場合（ステップＳ１２のＮＯ）、ＵＳＢデバイス装置１００は前述のリセットプロトコルを行わず、ＵＳＢデバイス装置１００とＵＳＢホスト装置１０はＦｕｌｌ−ｓｐｅｅｄ通信を行う（ステップＳ１５）。
【００２６】
図３は、バス権の優先度を変更する場合のフローチャートである。
【００２７】
バス権制御部２０１におけるＵＳＢデバイスコントローラ１０１のバス権優先度は、ＵＳＢデバイス装置１００への電源投入後、所定の初期化処理によってＦｕｌｌ−ｓｐｅｅｄ通信用の優先度が設定される。
【００２８】
ＵＳＢデバイス装置１００は、システム起動後、ＵＳＢデバイスコントローラ１０１から通知されるＵＳＢホスト装置１０のリセット発行をＣＰＵ１０２の割り込み機能等を用いて常に監視している（ステップＳ２１）。
【００２９】
ＵＳＢホスト装置１０のリセット発行を検知すると（ステップＳ２１のＹＥＳ）、まずＨｉｇｈ−ｓｐｅｅｄ通信を行うかどうかを調べる（ステップＳ２２）。
【００３０】
Ｈｉｇｈ−ｓｐｅｅｄ通信を行う場合（ステップＳ２２のＹＥＳ）、バス権制御部２０１におけるＵＳＢデバイスコントローラ１０１のバス権優先度は、ＣＰＵ１０２によってＨｉｇｈ−ｓｐｅｅｄ通信用の優先度が設定される。
【００３１】
Ｆｕｌｌ−ｓｐｅｅｄ通信を行う場合（ステップＳ２２のＮＯ）、バス権制御部２０１におけるＵＳＢデバイスコントローラ１０１のバス権優先度は、ＣＰＵ１０２によってＦｕｌｌ−ｓｐｅｅｄ通信用の優先度が設定される。
【００３２】
図４は、ＵＳＢデバイスコントローラ１０１のＤＭＡ処理のフローチャートである。
【００３３】
ＵＳＢデバイス装置１００は、ＵＳＢ通信の送受信処理において、ＣＰＵ１０２の負荷軽減と性能向上のためＵＳＢデバイスコントローラ１０１に対してＤＭＡ処理をさせる。
【００３４】
ＤＭＡ処理が開始されると、ＵＳＢデバイスコントローラ１０１はバス２００を確保するためバス権制御部２０１にバス２００の使用要求を出す（ステップＳ３１）。
【００３５】
バス権制御部２０１は、設定されているＵＳＢデバイスコントローラ１０１のバス権優先度と他のバスマスターのバス権優先度及びバス使用要求に応じて、所定のアルゴリズムに従いＵＳＢデバイスコントローラ１０１へバス権を与える（ステップＳ３２）。Ｈｉｇｈ−ｓｐｅｅｄ通信を行っている場合は、ＵＳＢデバイスコントローラ１０１のバス権優先度がＨｉｇｈ−ｓｐｅｅｄ用に高く設定されているため、通信性能を十分に発揮するために必要なバスの帯域が確保される。一方、Ｆｕｌｌ−ｓｐｅｅｄ通信を行っている場合は、Ｈｉｇｈ−ｓｐｅｅｄ用よりも低いＦｕｌｌ−ｓｐｅｅｄ用のバス権優先度が設定されているため、過剰なバス権確保にはならない。
【００３６】
ＵＳＢデバイスコントローラ１０１はバス権を得ると、ＵＳＢ通信で発生するデータの読み書きをバス２００上でＲＡＭ１０３に対して行う（ステップＳ３３）。
【００３７】
これらの処理（ステップＳ３１〜Ｓ３３）は、ＤＭＡ処理が全て終了するまで繰り返される（ステップＳ３４）。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態を示す構成図
【図２】ＵＳＢデバイス装置１００がＵＳＢホスト装置１０と接続され、ＵＳＢ通信を開始するまでのフローチャート
【図３】バス権の優先度を変更する場合のフローチャート
【図４】ＵＳＢデバイスコントローラ１０１のＤＭＡ処理のフローチャート
【符号の説明】
【００３９】
１０  ＰＣ等のＵＳＢホスト機能を持つ装置
１００  本発明のＵＳＢデバイス装置
１０１  バスマスター機能を持ったＨｉｇｈ−ｓｐｅｅｄ対応ＵＳＢデバイスコントローラ
１０２  ＣＰＵ
１０３  ＲＡＭ
１０４  ＲＯＭ
１０５  周辺回路
２００  バス
２０１  バス権制御部
２０２  バスマスター
２０３  バスマスター
【図１】
2005189922.tif 000003
【図２】
2005189922.tif 000004
【図３】
2005189922.tif 000005
【図４】
2005189922.tif 000006