(57)【要約】  【課題】  ＵＳＢデバイス側からＵＳＢホストへの割込み要求を発生できるようにする。  【解決手段】  ＵＳＢデバイス２０の内部で割込み要求が発生することにより、ＵＳＢケーブル３０に対するディスコネクト状態を一時的に生成する。この前記ディスコネクト状態は、動作モードがフルスピードのときはＤ＋線に接続されたプルアップ抵抗Ｒ１を一時的に切断し、ハイスピードのときはＤ＋線およびＤ−線に接続された終端抵抗Ｒ２，Ｒ３を一時的に切断することにより生成する。【選択図】  図１
2006227867.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢケーブルを介してＵＳＢホストに接続されるＵＳＢデバイスにおいて、
内部でＵＳＢホストへの割込み要求が発生することにより、前記ＵＳＢケーブルに対するディスコネクト状態を一時的に生成する手段を具備したことを特徴とするＵＳＢデバイス。
【請求項２】
請求項１に記載のＵＳＢデバイスにおいて、
前記ディスコネクト状態は、動作モードがフルスピードのときはＤ＋線に接続されたプルアップ抵抗を一時的に切断し、ハイスピードのときはＤ＋線およびＤ−線に接続された終端抵抗を一時的に切断することにより生成されることを特徴とするＵＳＢデバイス。
【請求項３】
請求項１又は２に記載のＵＳＢデバイスに対してＵＳＢケーブルを介して接続されるＵＳＢホストにおいて、
前記ＵＳＢデバイスで前記ディスコネクト状態が生成されたことが検出されると前記ＵＳＢデバイスに対して所定の転送処理を行い、該転送に応じて前記ＵＳＢデバイスからのレスポンスを受信することにより割込み処理を行うことを特徴とするＵＳＢホスト。
【請求項４】
請求項３に記載のＵＳＢホストにおいて、
前記ＵＳＢデバイスに対して前記所定の転送を規定回数転送しても前記レスポンスを受信できないときは前記ＵＳＢデバイスが実際にディスコネクトされたと判断して当該ポートの初期化を行うことを特徴とするＵＳＢホスト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢデバイス側からＵＳＢホスト側に対する自発的な割込み要求を可能にしたＵＳＢデバイスおよび該ＵＳＢデバイスからの割込み要求を処理するＵＳＢホストに関するものである。
【背景技術】
【０００２】
近年、ＰＣ（パーソナルコンピュータ）およびそれに接続される周辺装置類のインターフェースとして、ＵＳＢインターフェースが多用されるようになってきた。ＵＳＢインターフェースは、同一規格で様々な機器との接続に使用可能、複数接続可能、ＨＵＢを使用することで接続数を増加可能、電源のオン／オフに関わりなくコネクタの挿抜が可能（ホットプラグ）等のように、使い勝手が良いため、ＰＣのみならず、消費者向け電子機器において注目されている。
【０００３】
そのＵＳＢのバストポロジは、１台のＵＳＢホストに対して最大１２７台のＵＳＢデバイスが接続可能なツリー型である。ＵＳＢのプロトコルは、すべてＵＳＢホストからＵＳＢデバイスへの制御になっている。具体的には、転送を行う場合にデータの受信要求、発信要求であるトークンパケットはＵＳＢホストのみが発行できる。一方、ＵＳＢデバイスは、ＵＳＢホストから発行されるトークンパケットを受信し、その要求を検出し、それに対応する処理を行う。そのため、ＵＳＢデバイスから能動的にＵＳＢホストに要求することはできなかった。
【０００４】
【非特許文献１】ＵＳＢ１．０仕様書（１９９６年１月）
【非特許文献２】ＵＳＢ１．１仕様書（１９９８年９月）
【非特許文献３】ＵＳＢ２．０仕様書（２０００年４月）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
以上のように、従来のＵＳＢシステムでは、通常動作時ではＵＳＢデバイスからＵＳＢホストへの転送等の要求を行う方法はなく、ＵＳＢデバイスの要求および状態をＵＳＢホストが知るための手段は、ＵＳＢホストからＵＳＢデバイスへの定期的なポーリング（点呼）のみである。しかし、この方法では、ＵＳＢデバイスが多数接続された場合に、ポーリング対象が多くなり、バスの帯域を多く使用してしまう、つまりフレーム内にしめるポーリングの割合が大きくなるので、対する処理も遅くなるという問題があった。
【０００６】
本発明の目的は、ＵＳＢデバイス側にディスコネクト状態を一時的に生成できるようにして、ＵＳＢホストに対する割込み要求を行うことにより、上記した問題を解決したＵＳＢデバイスおよび該ＵＳＢデバイスからの割込みを処理するＵＳＢホストを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のＵＳＢデバイスは、ＵＳＢケーブルを介してＵＳＢホストに接続されるＵＳＢデバイスにおいて、内部でＵＳＢホストへの割込み要求が発生することにより、前記ＵＳＢケーブルに対するディスコネクト状態を一時的に生成する手段を具備したことを特徴とする。
【０００８】
ここで、前記ディスコネクト状態は、動作モードがフルスピードのときはＤ＋線に接続されたプルアップ抵抗を一時的に切断し、ハイスピードのときはＤ＋線およびＤ−線に接続された終端抵抗を一時的に切断することにより生成されることが望ましい。
【０００９】
本発明のＵＳＢホストは、本発明のＵＳＢデバイスに対してＵＳＢケーブルを介して接続されるＵＳＢホストにおいて、前記ＵＳＢデバイスで前記ディスコネクト状態が生成されたことが検出されると前記ＵＳＢデバイスに対して所定の転送処理を行い、該転送に応じて前記ＵＳＢデバイスからのレスポンスを受信することにより割込み処理を行うことを特徴とする。
【００１０】
ここで、前記ＵＳＢデバイスに対して前記所定の転送を規定回数転送しても前記レスポンスを受信できないときは前記ＵＳＢデバイスが実際にディスコネクトされたと判断して当該ポートの初期化を行うものであることが望ましい。
【発明の効果】
【００１１】
本発明によれば、従来のポーリングによらずに、ＵＳＢデバイス側で自発的に割込み要求を発生してＵＳＢホストに知らせることができるので、高速な割込みが可能となる。また、ＵＳＢホストから各ＵＳＢデバイスに送るフレーム内に割込みに関するポーリング用パケットが不要となるので、ＵＳＢホストに接続された多数のＵＳＢデバイスの処理速度も向上させることができる。
【発明を実施するための最良の形態】
【００１２】
図１は本発明の１つの実施例のＵＳＢシステムの構成を示すブロック図である。図１において、１０はＰＣ等のＵＳＢホスト、２０はＵＳＢデバイス、３０はＵＳＢケーブルである。ＵＳＢケーブル３０は＋ＶＣＣの電源線、Ｄ＋の信号線、Ｄ−の信号線、ＧＮＤの接地線の４本からなる。
【００１３】
ＵＳＢデバイス２０は、ＵＳＢケーブル３０のＤ＋線に接続されるプルアップ抵抗Ｒ１がスイッチＳＷ１を経由して電源＋ＶＣＣに接続され、Ｄ＋線とＤ−線に接続される終端抵抗Ｒ２，Ｒ３がスイッチＳＷ２，ＳＷ３を介して接地ＧＮＤに接続されている。２１はＤ＋線、Ｄ−線にデータ信号を送出するＵＳＢドライバ、２２はＤ＋線、Ｄ−線からのデータ信号を受信するＵＳＢレシーバ、２３はシリアルインターフェース、２４はＵＳＢホスト１０に各種要求を出したりそのＵＳＢホスト１０からの各種要求を処理する制御論理回路、２５はスイッチＳＷ１〜ＳＷ３のオン／オフを制御するスイッチ制御回路である。
【００１４】
ＵＳＢデバイス２０は、それをフルスピード（１２ＭＨｚ）で動作させる場合は、スイッチ制御回路２５によってスイッチＳＷ１がオン、スイッチＳＷ２，ＳＷ３がオフとなり、Ｄ＋線がプルアップ抵抗Ｒ１でプルアップされる。また、ハイスピード（４８０ＭＨｚ）で動作させる場合は、スイッチＳＷ２，ＳＷ３がオン、スイッチＳＷ１がオフとなり、Ｄ＋線とＤ−線が終端抵抗Ｒ２，Ｒ３によりプルダウンされる。これにより、ＵＳＢホスト１０はＤ＋線とＤ−線の電位を判定することで、ＵＳＢデバイス２０の動作モードがフルスピードかハイスピードかを判定する。
【００１５】
さて、本実施例では、このようにＵＳＢデバイス２０に予め備わっているスイッチＳＷ１〜ＳＷ３のオン／オフを制御することにより、そのＵＳＢデバイス２０がＵＳＢケーブル３０から遮断された状態（ディスコネクト状態）を作り出す。すなわち、ＵＳＢデバイス２０で割込み要求が発生したときは、ＵＳＢデバイス２０がフルスピードで動作している場合には、スイッチＳＷ１をオフする（なお、スイッチＳＷ２，ＳＷ３は当初からオフ）ことにより、またハイスピードで動作している場合は、スイッチＳＷ２，ＳＷ３をオフする（スイッチＳＷ１は当初からオフ）ことにより、それぞれディスコネクト状態を作り出す。そして、ＵＳＢホスト１０がこのディスコネクト状態を検出することにより、ＵＳＢデバイス２０から割込み要求があったと判定して割込み処理が開始されるようにする。このようにして、ＵＳＢデバイス２０は割込み要求がある場合にディスコネクト状態を作りだし、これをＵＳＢホスト１０に認識させることにより、規定の処理を行わせる。
【００１６】
図２はＵＳＢデバイス２０側の割込み要求の処理のフローチャートである。まず、ＵＳＢデバイス２０側では、ＵＳＢデバイス２０で割込み要求が発生したとき（Ｓ１１）、そのＵＳＢデバイス２０の動作モードがハイスピードかフルスピードかを前記したスイッチＳＷ１〜ＳＷ３の現在の制御内容から判定し（Ｓ１２）、ハイスピードならスイッチＳＷ２，ＳＷ３をオフして終端抵抗Ｒ２，Ｒ３を遮断し（Ｓ１３）、フルスピードならスイッチＳＷ１をオフしてプルアップ抵抗Ｒ１を遮断する（Ｓ１４）。これにより、ＵＳＢデバイス２０のディスコネクト状態が生成される（Ｓ１５）。この後、ＵＳＢホスト１０にそのディスコネクト状態を認識させるための予め設定した設定時間（例えば、フルスピードでは１ｍｓ程度、ハイスピードでは１２５μｓ程度）だけ待機（Ｓ１６）した後に、フルスピード又はハイスピードに応じて（Ｓ１７）、ハイスピードならスイッチＳＷ２，ＳＷ３をオンさせて終端抵抗Ｒ２，Ｒ３を接続し（Ｓ１８）、フルスピードならスイッチＳＷ１をオンさせてプルアップ抵抗Ｒ１を接続する（Ｓ１９）。つまり、ＵＳＢデバイス２０で割込み要求が発生したとき、スイッチＳＷ１〜ＳＷ３の内の現在オンしているスイッチを一時的にオフさせてディスコネクト状態を生成して、これをＵＳＢホスト１０に認識させる。
【００１７】
図３はＵＳＢホスト１０側の割込み処理のフローチャートである。ＵＳＢホスト１０側では、ＵＳＢデバイス２０のディスコネクト状態を検出する（Ｓ２１）と、そのＵＳＢデバイス２０に対してControl Read等の所定の転送処理を行う（Ｓ２２）。これによって、ＵＳＢデバイス２０からレスポンスの発生を待つ（Ｓ２３）。レスポンスが発生したときは、割込み処理を続行し（Ｓ２４）して、その後にＵＳＢ割込み処理を終了する。
【００１８】
しかし、レスポンスが発生しないときは、ＵＳＢデバイス２０に対してステップＳ２２で行った所定の転送のリトライを行って（Ｓ２５）、レスポンスを待ち（Ｓ２３）、そのリトライ回数が規定回数を超えたとき（Ｓ２６）は、実際にＵＳＢケーブル３０の接続が外されたとして、ポートの初期化を行い（Ｓ２７）、ディスコネクトの処理を終了する。つまり、ＵＳＢホスト１０側では、検出したディスコネクト状態が割込み処理用か実際のディスコネクトかを確認してから実際の割込み処理に移行する。
【００１９】
なお、以上説明した実施例では、ＵＳＢデバイス２０での割込み要求の発生時に、フルスピードおよびハイスピード対応の現行のＵＳＢデバイスに備わっているスイッチＳＷ１〜ＳＷ３のオン／オフを一時的に制御しているが、ディスコネクト状態の生成はこれに限られない。例えば、図１に点線で示すように、新たにＤ＋線とＤ−線にスイッチＳＷ４，ＳＷ５を直列に接続して、ＵＳＢデバイス２０での割込み要求の発生時に、スイッチ制御回路２５によって、フルスピードの場合はスイッチＳＷ４を所定時間だけオフさせ、ハイスピードの場合はスイッチＳＷ４，ＳＷ５の両者を所定時間だけオフさせることにより、ディスコネクト状態を生成してもよい。
【図面の簡単な説明】
【００２０】
【図１】本発明の１つの実施例のＵＳＢシステムのブロック図である。
【図２】ＵＳＢデバイス側の割込み要求の処理のフローチャートである。
【図３】ＵＳＢホスト側の割込み処理のフローチャートである。
【図１】
2006227867.tif 000003
【図２】
2006227867.tif 000004
【図３】
2006227867.tif 000005