(57)【特許請求の範囲】
【請求項１】
それぞれ第１のインターフェース機能と第２のインターフェース機能を備える第１のデバイスと第２のデバイスを前記第１のインターフェース機能による通信に使用する第１のピンと前記第２のインターフェース機能による通信に使用する第２のピンを収納するコネクタで接続したときにコンピュータのシステムが前記第１のインターフェース機能の構成を確立する方法であって、
前記第１のデバイスと前記第２のデバイスの接続を前記コネクタで開始するステップと、
前記コネクタにおける前記第２のピンの接続を検出するステップと、
前記第２のピンの接続に応答して前記第２のインターフェース機能の構成を確立するステップと、
前記第２のインターフェース機能の構成が確立した後に前記コネクタにおける前記第１のピンの接続を検出するステップと、
前記１のピンの接続に応答して前記第１のデバイスが前記第２のデバイスをリセットして前記第１のインターフェース機能の構成を確立するステップと
を有する方法。
【請求項２】
前記第１のインターフェース機能が前記第２のインターフェース機能よりも高速のデータ転送を実現する請求項１に記載の方法。
【請求項３】
前記コネクタは、前記第２のピンが前記第１のピンより先に接続されるように形成されている請求項１または請求項２に記載の方法。
【請求項４】
前記コネクタがプラグとレセプタクルで構成され、前記プラグが前記第１のデバイスに接続され前記レセプタクルが前記第２のデバイスに取り付けられている請求項１から請求項３のいずれかに記載の方法。
【請求項５】
前記コネクタがプラグとレセプタクルで構成され、前記プラグが前記第２のデバイスに接続され前記レセプタクルが前記第１のデバイスに取り付けられている請求項１から請求項３のいずれかに記載の方法。
【請求項６】
前記第１のインターフェース機能がＵＳＢ３．０規格に適合する第１のインターフェースで前記第２のインターフェース機能がＵＳＢ２．０規格に適合する第２のインターフェースである請求項１から請求項５のいずれかに記載の方法。
【請求項７】
前記第１のピンの接続をＧＮＤ＿ＤＲＡＩＮラインの接続で検出する請求項６に記載の方法。
【請求項８】
前記第２のデバイスのリセットをＶｂｕｓラインをオフにしてからオンにすることで行う請求項６または請求項７に記載の方法。
【請求項９】
前記第１のインターフェースの構成の確立を、前記第２のインターフェースの構成を確立してからデータ転送を開始するまでの一定時間が経過する前に限って実行する請求項６から請求項８のいずれかに記載の方法。
【請求項１０】
第１のインターフェース機能と第２のインターフェース機能をサポートするインターフェース・コントローラを備え、周辺機器をコネクタにより接続することが可能で、前記コネクタが接続されたときに前記第１のインターフェース機能または前記第２のインターフェース機能のいずれか一方の構成を確立するコンピュータであって、
前記第１のインターフェース機能による通信に使用する第１のピンと前記第２のインターフェース機能による通信に使用する第２のピンを収納し前記インターフェース・コントローラに接続されたレセプタクルと、
前記第１のピンと前記周辺機器に接続されたプラグに収納され前記第１のインターフェース機能による通信に使用する第３のピンが接続されたことを検出し、さらに前記第２のピンと前記プラグに収納され前記第２のインターフェース機能による通信に使用する第４のピンが接続されたことを検出する検出回路と、
前記第２のピンと前記第４のピンが接続されて前記第２のインターフェース機能の接続を確立した後に、前記第１のピンと前記第３のピンが接続されたことに応答して前記周辺機器の前記コンピュータに対する接続動作をリセットするリセット回路と、
リセットした後に前記第１のインターフェース機能の接続を確立する接続回路と
を有するコンピュータ。
【請求項１１】
前記周辺機器は、リセットされたときに前記第１のインターフェース機能の存在を表明し、所定の時間前記第１のインターフェース機能が確立されないときに前記第２のインターフェース機能の存在を表明する請求項１０に記載のコンピュータ。
【請求項１２】
前記第１のインターフェース機能が上位バージョンのＵＳＢ規格に適合し前記第２のインターフェース機能が下位バージョンのＵＳＢ規格に適合する請求項１０または請求項１１に記載のコンピュータ。
【請求項１３】
前記第１のピンのＧＮＤ＿ＤＲＡＩＮラインをプルアップするプルアップ回路を有し、
前記検出回路は前記ＧＮＤ＿ＤＲＡＩＮラインの電位の変化で前記第１のピンと前記第３のピンが接続されたことを検出する請求項１２に記載のコンピュータ。
【請求項１４】
ポートごとに前記Ｖｂｕｓラインの電力を制御するパワー・スイッチを有し、
前記リセット回路は、前記パワー・スイッチをオフにしてからオンにすることで前記周辺機器をリセットする請求項１２または請求項１３に記載のコンピュータ。
【請求項１５】
前記上位バージョンのＵＳＢ規格に適合する電流制限器と前記下位バージョンのＵＳＢ規格に適合する電流制限器を前記Ｖｂｕｓラインに有し、前記コンピュータは構成を確立したＵＳＢ規格に適合する電流制限器だけをイネーブルに設定する請求項１４に記載のコンピュータ。
【請求項１６】
前記リセット回路は、前記下位バージョンのＵＳＢ規格の構成が完了してから所定時間が経過しないときに限り前記周辺機器をリセットする請求項１２から請求項１５のいずれかに記載のコンピュータ。
【請求項１７】
上位バージョンのＵＳＢ規格に適合する第１のインターフェースと下位バージョンのＵＳＢ規格に適合する第２のインターフェースを含みコンピュータと周辺機器を接続するハブであって、
前記第１のインターフェースによる通信に使用する第１のピンと前記第２のインターフェースによる通信に使用する第２のピンを収納するレセプタクルと、
前記第１のピンと前記周辺機器に接続されたプラグに収納され前記第１のインターフェースによる通信に使用する第３のピンが接続されたことを検出し、さらに前記第２のピンと前記プラグに収納され前記第２のインターフェースによる通信に使用する第４のピンが接続されたことを検出する検出回路と、
前記第２のピンと前記第４のピンが接続されて前記第２のインターフェースの接続を確立した後に、前記第１のピンと前記第３のピンが接続されたことに応答して前記周辺機器の前記コンピュータに対する接続動作をリセットするリセット回路と、
リセットした後に前記第１のインターフェースの接続を確立する接続回路と
を有するハブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２種類のインターフェースを備える周辺機器がコネクタで接続されたときに所定の一方のインターフェースの構成を確立する技術に関し、さらに詳細には、先に確立した他方のインターフェースの構成を解除して自動的に一方のインターフェースの構成を確立する技術に関する。
【背景技術】
【０００２】
コンピュータにキーボード、マウス、プリンタ、またはハードディスク装置（ＨＤＤ）などの周辺機器を接続するインターフェース規格にＵＳＢ（Universal Serial Bus）がある。ＵＳＢ規格は、１９９６年１月にＵＳＢ１．０が発表され、２０００年４月にＵＳＢ２．０が発表され、さらに、２００８年１１月にＵＳＢ３．０が発表された。ＵＳＢ２．０規格に対するＵＳＢ３．０規格の主たる変更点は、転送速度の高速化と電力供給能力の強化を挙げることができる。
【０００３】
ＵＳＢ３．０規格はＵＳＢ２．０規格に対して下位互換性を備えており、ＵＳＢ３．０ホストにはＵＳＢ３．０規格に適合するＵＳＢデバイス（以下、ＵＳＢ３．０デバイスという。）だけでなくＵＳＢ２．０規格に適合するＵＳＢデバイス（以下、ＵＳＢ２．０デバイスという。）も接続することができる。なお本明細書においては単にＵＳＢデバイスといった場合には、ハブと周辺機器の両方を示すものとする。
【０００４】
ＵＳＢ３．０規格では、下位互換性を実現するためにＵＳＢホストとＵＳＢデバイスの物理層に、ＵＳＢ２．０規格の通信を処理する２．０物理層に加えてＵＳＢ３．０規格の通信を処理する３．０物理層を追加したいわゆるデュアル・バス・アーキテクチャを採用した。この点では、ＵＳＢ３．０はＵＳＢ２．０デバイスの機能をＵＳＢ３．０の機能で置換するものではなく、ＵＳＢ２．０の機能を補完しているといえる。
【０００５】
ＵＳＢデバイスを接続するＵＳＢケーブルの両端にはプラグが取り付けられる。一般にＵＳＢケーブルの一端にはホスト側（アップストリーム）に接続するＡプラグが取り付けられ他端には周辺機器側（ダウンストリーム）に接続するＢプラグが取り付けられる。プラグの形状はＵＳＢ規格で定まっており、ＡプラグはＵＳＢハブのダウンストリームのポートまたはＵＳＢホストに設けられたＡレセプタクルに接続され、ＢプラグはＵＳＢデバイスのアップストリームのポートに設けられたＢレセプタクルに接続される。
【０００６】
ＵＳＢ３．０の規格に適合する３．０ケーブルは、ＵＳＢ３．０の規格に適合するＵＳＢホスト（以下、３．０ホストという。）および３．０デバイスだけでなく、ＵＳＢ２．０の規格に適合するＵＳＢホスト（以下、２．０ホストという。）および２．０デバイスに接続することもできる。表１は、２つのＵＳＢ規格に適合するプラグとレセプタクルの物理的な接続の可否とそのときのＵＳＢシステムの通常の動作状態を示す。
【０００７】
【表１】
0005492844.tif 000002
【０００８】
表１によれば、３．０ケーブルのＢプラグは２．０デバイスのＢレセプタクルには接続できないが、それ以外の組み合わせでは接続することができる。しかし、ＵＳＢ３．０の規格で動作するためには、ＵＳＢホスト、ＵＳＢケーブルおよびＵＳＢデバイスのすべてがＵＳＢ３．０の規格に適合している必要がある。ＵＳＢケーブルまたはＵＳＢデバイスのいずれかがＵＳＢ２．０に従う場合は、通信速度および電力供給などにおいてＵＳＢ２．０の規格に従って動作することになる。
【０００９】
特許文献１は、ＵＳＢ通信規格に対応したデバイスで静電ノイズによる通信エラーが発生した場合にコネクタの抜き差しをしないで通信を再開する発明を開示する。この発明では、デバイスのマイコンが通信エラーを検出すると、Ｄ＋ラインまたはＤ−ラインをプルアップする回路をオフにしたあとにオンにすることで自動的に通信を再開させる。特許文献２は、ＵＳＢコネクタの抜き差しをしないでＵＳＢ機器の認識を復旧する発明を開示する。この発明では、ＵＳＢ機器においてホスト装置から送信されるポーリング信号を所定時間受信しないときにＤ＋ラインまたはＤ−ラインのプルアップ電位を変化させる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−３０６４１３号公報
【特許文献２】特開２００８−１５２５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
３．０ホストに３．０デバイスを接続する場合は、ユーザはシステムがＵＳＢ３．０規格に従って高速で動作することを期待している。図８は、ＵＳＢ３．０規格のＡ端子に使用する３．０コネクタを模式的に示す図である。３．０コネクタは、３．０プラグ３０１と３．０レセプタクル３２１で構成される。図８（Ａ）は、３．０プラグ３０１を開口方向からみた図で、図８（Ｂ）は３．０プラグ３０１のピン配置を示す平面図で、図８（Ｃ）は３．０レセプタクル３２１のピン配置を示す平面図である。
【００１２】
３．０プラグ３０１はＵＳＢ２．０規格の通信に使用する２個のピン（以下、２．０ピンという。）３０３と２個の電源ピン３０７が一層に配置され、ＵＳＢ３．０規格の通信に使用する５個のピン（ＳＳピンまたは３．０ピン）３０５が他の層に配置された２層（two-tier）コンタクト・システムを採用している。２個の２．０ピン３０３と２個の電源ピン３０７は３．０プラグ３０１の開口部側に配置され、５個の３．０ピン３０５が奥側に配置されている。
【００１３】
３．０レセプタクル３２１の開口部側には５個の３．０ピン３２５が配置され、奥側には２個の２．０ピン３２３と２個の電源ピン３２７が配置されている。３．０プラグ３０１を３．０レセプタクル３２１に途中まで挿入していくと、電源ピン３０７に続いて２．０ピン３０３、３２３が接続され、さらに最後まで挿入すると２．０ピン３０３、３２３の接続を維持したまま３．０ピン３０５、３２５が接続される。
【００１４】
３．０コネクタは、２．０コネクタに３．０ピンを追加した構造を採用しており、完全に挿入するためには２．０コネクタよりも余分な力を必要とする。そして、３．０プラグ３０１の挿入を開始してから接続を完了するまで多くの時間を費やすことがある。それはユーザがプラグを最初から最後までゆっくりと挿入した場合や、２．０ピン３０３、３２３は円滑に接続できたが３．０ピン３０５、３２５の接続に手間取ったような場合に発生する。このとき、２．０ピン３０３、３２３だけが接続され、３．０ピン３０５、３２５が接続されていない状態が所定の時間以上継続する。
【００１５】
この場合、システムはＵＳＢデバイスを２．０デバイスとして認識する。その後、３．０プラグ３０１が完全に挿入されて３．０ピン３０５、３２５が接続されてもシステムは自動的に３．０デバイスとして認識するように再構成する処理はしない。システムは単に現在のＵＳＢデバイスはＵＳＢ３．０規格で動作する能力があることを示すプロンプトを画面に表示してユーザに通知するだけである。
【００１６】
これは、システムが、ＵＳＢデバイスのディスクリプタを取得して３．０デバイスを３．０デバイスとして認識するまでには所定の時間がかかるため、その間にＵＳＢ２．０規格での通信が開始されて、再構成するとその通信を停止する必要があるためであると考えられる。また、３．０デバイスが２．０デバイスとして認識されるのは、コネクタの接続方法に起因して２．０ピンだけが接続された状態が所定時間以上経過した場合だけでなく、コネクタを接続する際の電気的なノイズに起因する場合もある。
【００１７】
現在は一旦２．０デバイスとして構成されたＵＳＢデバイスを３．０デバイスとして再構成するには、ユーザがシステムから通知を受けたときまたはみずから動作速度が期待よりも遅いと感じたときに、３．０プラグを抜き差しするしかなくユーザにとっては負担である。したがって、３．０デバイスが一旦２．０デバイスとして認識されても最終的に３．０ピンが接続されたときには自動的に３．０デバイスとして認識されるようにできればＵＳＢデバイスの操作性が向上する。
【００１８】
そこで本発明の目的は、２つのインターフェースを備えるデバイスがコネクタでコンピュータに接続されたときにコネクタの抜き差しをしないで所定の一方のインターフェースの構成を確立する方法を提供することにある。さらに本発明の目的は、２つのインターフェースを備えるデバイスがコネクタでコンピュータに接続されたときに先に他方のインターフェースの構成が確立してもコネクタの接続が完了したときには所定の一方のインターフェースの構成をユーザの操作を介在しないで確立する方法を提供することにある。さらに本発明の目的は２つのインターフェースを備えるバス・システムの安全を確保する方法を提供することにある。さらに本発明の目的は、そのような方法を実現するコンピュータを提供することにある。
【課題を解決するための手段】
【００１９】
第１のデバイスと第２のデバイスはそれぞれ第１のインターフェース機能と第２のインターフェース機能を備える。コネクタは第１のインターフェース機能による通信に使用する第１のピンと第２のインターフェース機能による通信に使用する第２のピンを収納する。第１のデバイスと第２のデバイスに対してコネクタによる接続操作を開始したときに、挿入の速度が遅いために第２のピンが接続され第１のピンが接続されていない状態が所定時間以上経過するとシステムは第２のインターフェース機能の構成を確立する。
【００２０】
その後、コネクタの接続が進行するとコネクタにおける第１のピンの接続が検出される。そして、第１のピンの接続に応答して第１のデバイスをリセットして第１のインターフェース機能の構成を確立する。第１のピンの接続が検出されるときには、第２のインターフェース機能の構成が確立している場合と、第２のインターフェース機能と第１のインターフェース機能のいずれの構成も確立していない場合の２つの状態が想定される。
【００２１】
さらに本発明は、第１のインターフェース機能の構成が先に確立することがある場合にも適用することができる。本発明ではいずれの場合でも第１のピンの接続をトリガにして第１のデバイスをリセットするため、コネクタがどのように接続されても第１のピンが接続されたときは必ず第１のインターフェース機能の構成が確立する。
【００２２】
第１のインターフェース機能が第２のインターフェース機能よりも高速のデータ転送を実現するような場合には、本発明によりコネクタの完全な接続が完了したときには高速のデータ転送をすることができる。コネクタが、第２のピンが第１のピンより先に接続されるように形成されている場合は、システムが先に第２のインターフェース機能の構成を確立する頻度が高まるため本発明は特に有効である。
【００２３】
コネクタがプラグとレセプタクルで構成されるときに、第１のデバイスにケーブルで接続されたり直接取り付けられたりしたプラグを第２のデバイスに取り付けられたレセプタクルに接続することができる。この場合のコネクタの場所はＵＳＢ規格のＡ端子に相当し接続は第２のデバイスで行われる。あるいは、第２のデバイスにケーブルで接続されたプラグを第１のデバイスに取り付けられたレセプタクルに接続することができる。この場合のコネクタはＵＳＢ規格のＢ端子に相当し接続は第１のデバイスで行われる。
【００２４】
第１のインターフェース機能をＵＳＢ３．０規格に適合する第１のインターフェースとし、前記第２のインターフェース機能をＵＳＢ２．０規格に適合する第２のインターフェースとすることができる。この場合第１のピンの接続をＧＮＤ＿ＤＲＡＩＮラインの接続で検出することができる。ＧＮＤ＿ＤＲＡＩＮラインは信号を伝送しないため、第１のピンの接続を検出するのに適している。第１のデバイスのリセットはＶｂｕｓラインをオンオフすることで行うことができる。第１のインターフェースの構成の確立を、第２のインターフェースの構成を確立してからデータ転送を開始するまでの一定時間が経過する前に限って実行することができる。
【００２５】
その結果先にシステムが第２のインターフェースを認識してデータ転送を開始している場合には、リセットをしないため第２のインターフェースの突然の切断によるデータの消失を防ぐことができる。第１のデバイスを周辺機器とし第２のデバイスをホスト・コントローラとルート・ハブを含むバス・コントローラまたはコンピュータとすることができる。また、第１のデバイスを周辺機器とし第２のデバイスをルート・ハブまたはハブとすることができる。
【発明の効果】
【００２６】
本発明により、２つのインターフェースを備えるデバイスがコネクタでコンピュータに接続されたときにコネクタの抜き差しをしないで所定の一方のインターフェースの構成を確立する方法を提供することができた。さらに本発明により、２つのインターフェースを備えるデバイスがコネクタでコンピュータに接続されたときに先に他方のインターフェースの構成が確立してもコネクタの接続が完了したときには所定の一方のインターフェースの構成をユーザの操作を介在しないで確立する方法を提供することができた。さらに本発明により２つのインターフェースを備えるバス・システムの安全を確保する方法を提供することができた。さらに本発明により、そのような方法を実現するコンピュータを提供することができた。
【図面の簡単な説明】
【００２７】
【図１】本発明の適用が可能なコンピュータ１０の概略の構成を示す機能ブロック図である。
【図２】コンピュータ１０を中心にして構成された１つのＵＳＢシステム１００のトポロジーを示す図である。
【図３】ＵＳＢコントローラ３３の内部構造を示す機能ブロック図である。
【図４】周辺機器３７の周知のインターフェースを示す機能ブロック図である。
【図５】ＵＳＢ３．０規格のステート・マシーン図である。
【図６】ＵＳＢコントローラ３３に周辺機器３７を接続するときのエニュメレーションのシーケンスを示すフローチャートである。
【図７】ＵＳＢシステム１００で採用する電流制限器の説明をする図である。
【図８】ＵＳＢ３．０規格に適合するＡコネクタの構造を模式的に示す図である。
【発明を実施するための形態】
【００２８】
図１は、本発明の適用が可能なコンピュータ１０の概略の構成を示す機能ブロック図である。ＣＰＵ１１はメモリ・コントローラとＰＣＩ  Ｅｘｐｒｅｓｓコントローラを内蔵しており、メイン・メモリ１３、ビデオ・カード１５およびチップ・セット１９に接続されている。ビデオ・カード１５にはＬＣＤ１７が接続されている。チップ・セット１９は、ＳＡＴＡ、ＵＳＢ、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＬＰＣなどのコントローラおよびＲＴＣ（Real Time Clock）などを内蔵している。ＳＡＴＡコントローラにはＨＤＤ２１が接続されている。
【００２９】
図２に示すＵＳＢコントローラ３３はＵＳＢ３．０規格をサポートしており、代表的に２個のレセプタクル１５５ａ、１５７ａが接続されている。レセプタクル１５５ａとレセプタクル１５７ａはともに３．０ピン、２．０ピンおよび電源ピンを収納する同一の構造になっている。チップ・セット１９には、さらにＬＰＣバスを通じてエンベデッド・コントローラ（ＥＣ）２５が接続されている。
【００３０】
ＥＣ２５は、コンピュータ１０の筐体内部の温度を制御したり、デバイスの電力を制御したり、さらに入出力デバイスの制御をしたりするマイクロ・コントローラである。ＥＣ２５は、ＣＰＵ１１とは独立して動作する。ＥＣ２５にはＤＣ／ＤＣコンバータ２７が接続され、さらに、図示しないキーボード、マウス、充電器、電池パック、および排気ファンなどが接続される。ＥＣ２５は、チップ・セット１９およびＣＰＵ１１と通信することができる。
【００３１】
［ＵＳＢシステム］
図２は、コンピュータ１０を中心にして構成された１つのＵＳＢシステム１００のトポロジーを示す図である。ＵＳＢシステム１００は、チップ・セット１９に形成されたＵＳＢコントローラ３３を頂点にしてダウンストリーム側に階層的に設けたハブ３５で接続を分岐する階層式スター型トポロジーを採用する。
【００３２】
ＵＳＢ３．０規格をサポートするＵＳＢコントローラ３３およびＵＳＢデバイスは、物理的に独立した２．０物理層と３．０物理層を備えている。システムは周辺機器３７、３９を個別にエニュメレーションしていずれか一方の規格に適合するデバイスとして認識する。したがって、周辺機器３７、３９は、３．０デバイスまたは２．０デバイスのいずれかで認識される。通常周辺機器３７、３９は３．０デバイスとして動作することを予定しており、プラグの正常な接続が行われたときは３．０デバイスとして認識されように構成されている。ただし、システムが周辺機器３７、３９を３．０デバイスとして認識できない場合は２．０デバイスとして認識する。
【００３３】
ＵＳＢコントローラ３３は、ホスト・コントローラの機能とルート・ハブの機能を備えている。ＵＳＢコントローラ３３は、ＵＳＢ２．０規格の通信を行う２．０物理層４５とＵＳＢ３．０規格の通信を行う３．０物理層４３からなる二重バス構造を採用して２つの規格をサポートする。インターフェース４１は、コンピュータ１０のシステムとＵＳＢシステムで使用するプロトコルを変換して双方向におけるデータ・フローおよび制御フローを処理する。
【００３４】
３．０物理層４３は、ＵＳＢ３．０規格に基づいて電気的な信号を処理したり３．０デバイスの接続を検出したりする。２．０物理層４５は、ＵＳＢ２．０規格に基づいて電気的な信号を処理したり２．０デバイスの接続を検出したりする。Ｖｂｕｓコントローラ４７はＤＣ／ＤＣコンバータ２７から供給された電力を、Ｖｂｕｓにつながれたパワー・スイッチ１０１をコントロールすることによってＵＳＢデバイスに供給する。
【００３５】
レセプタクル１５５ａ、１５７ａは、いずれも３．０物理層４３、２．０物理層４５およびＶｂｕｓに接続されている。システムはレセプタクル１５５ａ、１５７ａに直接またはハブ３５を経由して周辺機器が接続されると、それぞれについていずれか一方の規格に適合するＵＳＢとして認識する。たとえばシステムは、レセプタクル１５５ａに接続された周辺機器を３．０デバイスとして認識し、同時にレセプタクル１５７ａに接続されている周辺機器を２．０デバイスとして認識することがある。
【００３６】
周辺機器３７、３９はコンピュータ１０に接続が可能な記憶装置、プリンタ、カメラ、または他のコンピュータなどとすることができる。周辺機器３７、３９およびハブ３５はいずれもＵＳＢコントローラ３３と同様に二重バス構造を採用し、ＵＳＢケーブル１５８、１６０、１６４でダウンストリームまたはアップストリームのＵＳＢデバイスまたはＵＳＢコントローラ３３に接続される。また、ＵＳＢケーブル１５８、１６０、１６４は、ＵＳＢ２．０規格の通信をするための一対のＵＴＰ（Unshielded Twist Pair）ケーブル、電源ケーブル、グランドケーブル、およびＵＳＢ３．０規格の通信をするための２対のＳＤＰ（Shielded Differential Pair）ケーブルとＧＮＤ＿ＤＲＡＩＮケーブルを含んでいる。
【００３７】
ＵＳＢシステム１００には、表１に示すように２．０プラグが取り付けられたＵＳＢケーブルを使用して、ＵＳＢ２．０だけをサポートするＵＳＢデバイスも接続することができる。ＵＳＢケーブル１５８、１６０、１６４はそれぞれＡ端子側にプラグ１５７ｂ、１５５ｂ、１６３ｂを備え、Ｂ端子側にプラグ１５９ａ、１６１ａ、１６５ａを備えている。レセプタクル１５７ａにはＵＳＢケーブル１５８で周辺機器３７のレセプタクル１５９ｂが接続され、レセプタクル１５５ａにはＵＳＢケーブル１６０でハブ３５のアップストリームのポートに配置されたレセプタクル１６１ｂが接続されている。ハブ３５のダウンストリームのポートに配置されたレセプタクル１６３aにはＵＳＢケーブル１６４で周辺機器３９のレセプタクル１６５ｂが接続されている。
【００３８】
周辺機器３７およびハブ３５は、Ｖｂｕｓラインを通じてＵＳＢケーブルから電力は受け取るが動作の主たる電源をＡＣ／ＤＣアダプタのような別電源から受け取るセルフ・パワード・デバイスまたはＶｂｕｓラインから受け取った電力だけで動作するバス・パワード・デバイスのいずれであってもよい。コンピュータ１０は、ＵＳＢシステム１００を複数搭載することもできる。
【００３９】
図３は、ＵＳＢコントローラ３３の内部構造を示す機能ブロック図である。３．０物理層４３は、１対の送信用差動信号ペアのＳＳ＿ＴＸラインと１対の受信用差動信号ペアのＳＳ＿ＲＸラインで４個の３．０ピン５１にそれぞれ接続される。
【００４０】
ＧＮＤ＿ＤＲＡＩＮラインは、抵抗を介してＤＣ５Ｖでプルアップされかつコンデンサ１０３でグランドに接続されている。さらにＧＮＤ＿ＤＲＡＩＮラインにはその電位を監視するためにＥＣ２５が接続される。周辺機器３７が接続されたＵＳＢケーブル１５８のプラグ１５７ｂの３．０ピンがＵＳＢコントローラ３３の３．０ピン５１に接続されたときにＧＮＤ＿ＤＲＡＩＮラインの電位は低下する。
【００４１】
２．０物理層４５は、１対の送受信用差動信号ペアがＤ＋ラインとＤ−ラインで２．０ピン４９にそれぞれ接続されている。Ｄ＋ラインとＤ−ラインはそれぞれ抵抗を介して常時プルダウンされている。Ｖｂｕｓコントローラ４７はＥＣ２５に接続されている。ＥＣ２５は、Ｖｂｕｓコントローラ４７の指示によりパワー・スイッチ１０１を制御する。パワー・スイッチ１０１は、Ｖｂｕｓピンに接続されておりＵＳＢデバイスに対する電力供給を制御する。ＶｂｕｓラインとＧＮＤラインは、ポートがＵＳＢ３．０規格またはＵＳＢ２．０規格のいずれに構成されても当該ＵＳＢデバイスに電力を供給する。
【００４２】
ＥＣ２５は、ＧＮＤ＿ＤＲＡＩＮラインの電位が低下したときにそのエッジを検出して、パワー・スイッチ１０１を所定の時間だけオフにした後に再びオンにすることで、ＵＳＢデバイスにリセット動作をさせる。図３および図７には、レセプタクル１５７ａが含む２個の２．０ピン４９と２個の電源ピンと５個の３．０ピン５１だけを示しているが、レセプタクル１５５ａの９個のピンも、３．０物理層４３、２．０物理層４５およびＶｂｕｓコントローラ４７に図３と同様のトポロジーで接続される。また、レセプタクル１５５ａのパワー・スイッチはレセプタクル１５７ａのパワー・スイッチ１０１とは別に専用に設けることが望ましい。すなわち、ポートが複数存在する場合はパワー・スイッチ１０１をポートごとのＶｂｕｓラインに挿入して、ポートごとにＵＳＢデバイスをリセットできるようにすることが望ましい。
【００４３】
図４は、周辺機器３７の周知のインターフェースを示す機能ブロック図である。レセプタクル１５９ｂに含まれる２．０ピン５３に２．０物理層５７が接続され３．０ピン５５に３．０物理層５９が接続される。Ｄ＋ラインまたＤ−ラインのいずれか一方は転送速度を決めるために抵抗を介して電源電圧Ｖｃｃにプルアップされている。周辺機器３７はＵＳＢコントローラ３３に対してＤ＋ラインをプルアップして自らがフル・スピード・ファンクションに対応することを表明し、Ｄ−ラインをプルアップしてロー・スピード・ファンクションに対応することを表明ことができる。
【００４４】
また、周辺機器３７がＤ＋ラインとＤ−ラインのいずれもプルアップしないときは、ホスト・コントローラ３３に対して切断されることまたは自らの存在を隠蔽することを表明する。周辺機器３７はＶｂｕｓラインから電力を受け取ってから１２ミリ秒以上ＵＳＢコントローラ３３に含まれる３．０物理層４３のＳＳ＿ＲＸラインに接続されたターミネーションを検出できないときは、ＵＳＢ規格２．０で接続するようにＤ＋ラインまたはＤ−ラインのいずれかをプルアップする。ターミネーションは、信号の反射やエコーを抑制するために信号ラインの終端に接続される受動素子である。
【００４５】
図１〜図４は本実施の形態を説明するために必要な主要なハードウェアの構成および接続関係を簡略化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、ＵＳＢシステムを構成するには多くのデバイスまたはコンポーネントが使われる。しかしそれらは当業者には周知であるので、ここでは詳しく言及しない。図で記載した複数のブロックを１個の集積回路もしくは装置としたり、逆に１個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
【００４６】
［ステート・マシーン］
図５は、ＵＳＢ３．０デバイスのステート・マシーン図である。Attachedは、ＵＳＢデバイスのアップストリーム側のＵＳＢインターフェースが接続されているが、そこから電力は供給されていない状態である。Poweredは、さらにＶｂｕｓから電力が供給されているが、アップストリーム側のリンク・トレーニングが終了していない状態である。Defaultは、さらにデバイスがリセットされたがホストからユニークなアドレスが割り当てられていないため、ディフォルトのアドレスで応答できる状態である。
【００４７】
Addressは、さらに、ユニークなアドレスが割り当てられたが構成されていない状態である。Configuredは、さらに構成が完了している状態でコンピュータが３．０インターフェースを使用できる状態である。USB2.0 Device Statusは、ＵＳＢ３．０の接続をやめてＵＳＢ２．０インターフェースのエニュメレーションと接続を開始した状態である。
【００４８】
PoweredからUSB2.0 Device Statusへの遷移は、ターミネーションが検出されないとき、またはリンク・トレーニングが失敗したときに発生する。また、DefaultからUSB2.0 Device Statusへの遷移は、デバイスのポートの構成が失敗したときに発生する。しかし一旦USB2.0 Device Statusに遷移すると、システムは積極的に３．０インターフェースを構成することを規定していないため、ＵＳＢ３．０規格をサポートするＵＳＢデバイスであっても先に２．０インターフェースが構成されたときには、その後３．０インターフェースが接続されてもなんらかの方法で再構成しない限りそれで動作することになる。
【００４９】
［エニュメレーション］
図６は、ＵＳＢコントローラ３３に周辺機器３７を接続するときのエニュメレーションのシーケンスを示すフローチャートである。エニュメレーションはコンピュータ１０のシステムとＵＳＢコントローラ３３が協働してＵＳＢデバイスと情報の交換をしながら、ＵＳＢデバイスの検出、特定および構成をする動作をいう。なお、図６の説明においてコンピュータ１０のシステムは、ＣＰＵ１１、メイン・メモリ１３などのハードウェアとＯＳおよびデバイス・ドライバなどのソフトウェアで構成される。
【００５０】
あらかじめコンピュータ１０には電源が投入されており、ＵＳＢコントローラ３３は、レセプタクル１５７ａ、１５５ａにＵＳＢデバイスが接続されたときにはエニュメレーションを実行できる状態になっている。また、周辺機器３７は、プラグ１５９ａとレセプタクル１５９ｂでＵＳＢケーブル１５８に接続されているものとする。エニュメレーションは、２．０インターフェースと３．０インターフェースのそれぞれについて独立して行われ、コンピュータ１０と周辺機器３７はエニュメレーションが確立したいずれか一方のインターフェースを認識して通信する。
【００５１】
レセプタクル１５７ａに新たに周辺機器３７が接続されたときに、プラグ１５７ｂをレセプタクル１５７ａに対して完全に挿入するまでの時間および電気的なノイズの発生の有無により、システムは周辺機器３７の２．０インターフェースまたは３．０インターフェースのいずれか一方を認識する。ただし、一旦２．０インターフェースの構成が確立しても本発明では以下のように極短時間で自動的に３．０インターフェースの構成を確立する。
【００５２】
最初にプラグ１５７ｂを標準的な速度で挿入して確実に接続したときに、システムが周辺機器３７を３．０デバイスとして認識するときの動作手順を説明する。ブロック２０１で３．０デバイスである周辺機器３７は、ディフォルトでは３．０デバイスとして認識されるように構成されているため、接続時には自らが２．０インターフェースを備えることを隠蔽する。周辺機器３７は停止していたＶｂｕｓラインの電力が供給されるときにこの時点ではＤ＋ライン、Ｄ−ラインのいずれもプルアップしない。
【００５３】
ブロック２０３ではユーザがプラグ１５７ｂのレセプタクル１５７ａに対する挿入を開始する。ＶｂｕｓピンとＧＮＤピンはＤ＋ピンおよびＤ−ピンよりも長くなっている。ブロック２０５でＶｂｕｓピンとＧＮＤピンが９個のピンの中で最初に接続される。ＥＣ２５は、パワー・スイッチ１０１をオンにしておりブロック２０７でＶｂｕｓコントローラ４７はＥＣ２５を通じて周辺機器３７のＶｂｕｓラインに電力を供給する。さらに挿入が進行すると、いずれの３．０ピン５１よりも先にＤ＋ピンとＤ−ピンが接続される。しかし、周辺機器３７のＤ＋ラインとＤ−ラインはいずれもプルアップされていないので、２．０物理層４５は２．０デバイスが接続されたことを検出しない。
【００５４】
さらに挿入が進行すると、３．０ピン５１が接続される。ＥＣ２５はブロック２０９で、ＧＮＤ＿ＤＲＡＩＮピンが接続されてＧＮＤ＿ＤＲＡＩＮラインの電位が低下したときの信号エッジを検出するとブロック２１２に移行する。ブロック２１２では、ＥＣ２５がシステムから２．０デバイスとしての構成が完了したことの通知を受け取っているか否かを判断する。ここまでの手順では、周辺機器３７は２．０インターフェースを備えることを隠蔽しており、ＥＣ２５は２．０デバイスとしての構成が完了したことの通知を受け取っていないので、ブロック２１９に移行する。
【００５５】
ブロック２１９では、システム、ＵＳＢコントローラ３３、および周辺機器３７が３．０インターフェースのエニュメレーションを開始する。３．０物理層４３は、３．０ピンのＳＳ＿ＴＸラインまたはＳＳ＿ＲＸラインが接続されたことを検出するとシステムに周辺機器３７が接続されたポートを特定してイベントを通知する。このとき、ＵＳＢコントローラ３３は、周辺機器３７が３．０デバイスであることを示す情報もシステムに送る。イベントが発生したことを認識したシステムは、ＵＳＢコントローラ３３にリクエストを送信して接続された周辺機器の情報を取得する。
【００５６】
新たに接続された周辺機器３７を認識したシステムは、周辺機器３７が接続されたポートをリセットするためにＵＳＢコントローラにリクエストを送る。リクエストを受け取ったＵＳＢコントローラ３３は、３．０ピンのラインを短時間だけ論理的にローにして周辺機器３７をリセット状態にする。ＵＳＢコントローラ３３がリセット状態を解除すると周辺機器３７はディフォルト状態に遷移する。
【００５７】
このとき周辺機器３７のレジスタおよびステータスはすべてリセットされた状態になり、周辺機器３７はディフォルトのアドレスでエンド・ポイント０を使用してコントロール転送に応答できるようになって、システムと周辺機器３７の間の信号路が確立する。システムはＵＳＢコントローラ３３にリクエストを送って、周辺機器３７がリセット状態から復帰したか否かを検証する。
【００５８】
リセット状態から復帰したことを確認するとシステムは、ＵＳＢコントローラ３３にリクエストを送って、周辺機器３７にユニークな新しいアドレスを割り当てさせる。このとき、周辺機器３７がリセットされたことをシステムが確実に認識するために、システムがＵＳＢコントローラ３３に周辺機器３７をリセットするように要求することができる。
【００５９】
その結果、周辺機器３７はアドレス状態に遷移する。システムは、周辺機器３７の新しいアドレスにリクエストを送ってディスクリプタを取得し、取得したディスクリプタに適合する最適なデバイス・ドライバをＨＤＤ２１の中から探す。システムは、みつけたデバイス・ドライバをＨＤＤ２１からメイン・メモリ１３にロードする。デバイス・ドライバはディスクリプタに基づいてコンフィグレーション情報を選択して周辺機器３７に設定する。システムによってコンフィグレーション情報が設定された周辺機器３７のインターフェースは、ブロック２２１でＵＳＢ３．０規格の構成が確立しアプリケーションとの間でのデータ転送が可能になる。
【００６０】
つぎに、プラグ１５７ｂがゆっくりと挿入されたときにシステムが周辺機器３７を３．０デバイスとして認識するときの動作手順を説明する。ブロック２０３でプラグ１５７ｂの接続が開始され、ブロック２０５を経由してブロック２０７で周辺機器３７のＶｂｕｓラインに電力が供給されても、３．０ピン５１が接続されないときは、ブロック２０９でＥＣ２５がＧＮＤ＿ＤＲＡＩＮラインの電位の低下によりＧＮＤ＿ＤＲＡＩＮピンの接続を検出することはなく、さらに周辺機器３７はターミネーションを検出しないためブロック２５１に移行する。
【００６１】
ブロック２５１で周辺機器３７は、自らのＶｂｕｓラインに電力が供給されてから１２ミリ秒以上経過してもターミネーションを検出しないときは、２．０デバイスとしての接続を要求するために、ブロック２５３でＤ＋ピンまたはＤ−ピンのいずれかをプルアップする。ブロック２５５で２．０物理層４５は、Ｄ＋ラインまたはＤ−ラインの電圧が上昇したことを検知すると２．０インターフェースのエニュメレーションを開始するためにシステムに周辺機器３７が接続されたポートを特定してイベントを通知する。
【００６２】
このとき、ＵＳＢコントローラ３３は、Ｄ＋ライン、Ｄ−ラインの電圧を判定して接続された周辺機器３７の転送速度がロー・スピードまたはフル・スピードのいずれであるかの情報もシステムに送る。イベントが発生したことを認識したシステムは、ＵＳＢコントローラ３３にリクエストを送信して接続された周辺機器３７の情報を取得する。
【００６３】
新たに接続された周辺機器３７を認識したシステムは、周辺機器３７が接続されたポートをリセットするためにＵＳＢコントローラ３３にリクエストを送る。リクエストを受け取ったＵＳＢコントローラ３３は、周辺機器３７のＤ＋ラインおよびＤーラインを最低１０ミリ秒の間論理的にローにしてリセット状態にする。リセット中は、ＵＳＢコントローラ３３と周辺機器３７の間でチャープ（Chirp）を交換して周辺機器３７がハイ・スピードに対応することが確認できた場合は、以後、ハイ・スピードで通信をする。
【００６４】
ＵＳＢコントローラ３３がリセット状態を解除すると周辺機器３７はディフォルト状態に遷移する。このとき周辺機器３７のレジスタおよびステータスはすべてリセット状態にあり、周辺機器３７はディフォルトのアドレスでエンド・ポイント０を使用してコントロール転送に応答できるようになって、システムと周辺機器３７の間の信号路が確立する。システムはＵＳＢコントローラ３３にリクエストを送って、周辺機器３７がリセット状態から復帰したか否かを検証する。
【００６５】
リセット状態から復帰したことを確認するとシステムは、ＵＳＢコントローラ３３にリクエストを送って、周辺機器３７にユニークな新しいアドレスを割り当てさせる。このとき、周辺機器がリセットされたことをシステムが確実に認識するために、システムがＵＳＢコントローラ３３に周辺機器３７をリセットするように要求することができる。
【００６６】
その結果、周辺機器３７はアドレス状態に遷移する。システムは、周辺機器３７の新しいアドレスにリクエストを送ってディスクリプタを取得し、取得したディスクリプタに適合する最適なデバイス・ドライバをＨＤＤ２１の中から探す。システムは、みつけたデバイス・ドライバをＨＤＤ２１からメイン・メモリ１３にロードする。デバイス・ドライバはディスクリプタに基づいてコンフィグレーション情報を選択して周辺機器３７に設定する。コンフィグレーション情報が設定された周辺機器３７のインターフェースは、ブロック２５７でＵＳＢ２．０の構成を確立しアプリケーションとの間でデータ転送が可能になる。
【００６７】
これまでのＵＳＢシステムでは、ブロック２５７でシステムが周辺機器３７を一旦２．０デバイスとして認識すると、以後、ユーザがプラグ１５７ｂを抜き差しして積極的にリセット動作をしないかぎりその状態が維持されていた。本発明では、ブロック２５３、２５５、２５７のいずれかからブロック２０９に移行するパス・ルートを備えている。すなわち、Ｄ＋ラインまたはＤ−ラインをプルアップして周辺機器３７が２．０デバイスとしてのエニュメレーションを開始したあと、あるいはさらに２．０デバイスとしての構成が確立したあとであっても、ＥＣ２５はＧＮＤ＿ＤＲＡＩＮラインの電位を監視している。ブロック２５７では、ＥＣ２５がシステムから２．０デバイスとしての構成が完了したことの通知を受け取り、それ以後の経過時間を計測する。
【００６８】
プラグ１５７ｂはゆっくりと挿入されるときは、やがて３．０ピン５１が接続される。ブロック２０９でＥＣ２５が電位の低下によりＧＮＤ＿ＤＲＡＩＮピンの接続を検出するとブロック２１２に移行する。ブロック２１２にブロック２５７から移行するときは、ＥＣ２５はシステムから周辺機器３７が２．０インターフェースとしての構成が完了していることの通知を受け取っているのでブロック２１３に移行する。ブロック２１３ではＥＣ２５が、２．０デバイスとしての構成が完了してから数ミリ秒〜数秒といった所定の時間が経過しているか否かを判断する。この場合の所定の時間は、周辺機器３７がＵＳＢ２．０規格のインターフェースで通信を開始するまでの可能性のある時間として設定することができる。
【００６９】
ＥＣ２５が所定の時間が経過していると判断した場合は、ブロック２１５でＥＣ２５はパワー・スイッチ１０１をオフにしないで、Ｖｂｕｓラインの電力供給を維持しブロック２５７に移行する。その結果、２．０デバイスとしての構成が維持され２．０インターフェースでの通信が開始している場合であっても突然のリセットでデータが消失することを防ぐことができる。
【００７０】
ブロック２１３でＥＣ２５が２．０デバイスとしての構成が確立してから所定の時間が経過していないと判断した場合はブロック２１７に移行してＶｂｕｓラインをリセットする。ブロック２１７ではＥＣ２５が１０ミリ秒〜２０ミリ秒程度の間パワー・スイッチ１０１をオフにしその後オンにすることでＶｂｕｓラインをリセットする。Ｖｂｕｓラインがリセットされると、ブロック２５３で行われたＤ＋ピンまたはＤ−ピンのプルアップが停止し、周辺機器３７は再び自らが２．０インターフェースを備えることを隠蔽する。
【００７１】
ブロック２１３の手順は、ＵＳＢ２．０規格のインターフェースで通信を開始したデータがＶｂｕｓの突然のリセット動作で消失することを防ぐことを目的にしているので、データ消失を許容する場合は必要がない。このとき、レセプタクル１５５ａに接続されたダウンストリームのＵＳＢデバイスとシステムとの間ですでに通信を開始している可能性もあるが、リセットするＶｂｕｓラインは３．０レセプタクル１５７ａのポートだけであるため、構成が突然切断されてデータが消失するようなことはない。
【００７２】
ブロック２１７からブロック２０７に戻るきは、３．０ピンの接続が検出されているのでブロック２０９を経由してブロック２１２に戻る。今度のブロック２１２では、ブロック２１７でＶｂｕｓラインがリセットされたことで周辺機器３７はＤ＋ラインとＤ−ラインのプルアップを停止しているため２．０デバイスとしての認識が解除され、システムは周辺機器３７が２．０デバイスとして構成が完了しているとは認識しない。したがって、システムはブロック２１２からブロック２１９に移行して３．０デバイスとして認識されるようにエニュメレーションを開始する。
【００７３】
上記の手順は、ハブ３５のレセプタクル１６３ａとケーブル１６４で周辺機器３９が接続されたプラグ１６３ｂの間、および、周辺機器３９が接続されたハブ３５に接続されたケーブル１６０のプラグ１５５ｂとレセプタクル１５５ａとの間での接続にも適用することができる。レセプタクル１６３ａとプラグ１６３ｂの接続およびプラグ１６５ａとレセプタクル１６５ｂの接続に本発明を適用する場合は、ハブ３５においてダウンストリームのＧＮＤ＿ＤＲＡＩＮラインの電位の検出とＶｂｕｓラインのリセットを行う。そしてシステムは、ハブ３５からＵＳＢデバイスが接続されたイベントを受け取るとエニュメレーションを開始する。
【００７４】
本発明によれば、２．０インターフェースが構成されたあとに３．０インターフェースを構成するためにプラグの抜き差しをする必要がない。またプラグをゆっくりと挿入して一旦２．０インターフェースの構成が成立しても、プラグが完全に挿入されたときには３．０インターフェースの構成が確立しているためユーザはプラグの接続方法に不慣れであっても常に３．０インターフェースでの接続をすることができる。また本発明はＯＳおよびデバイス・ドライバなどのソフトウェアの支援を受けないでハードウェアだけで実現できるため短時間で３．０インターフェースの構成を実現できる。周辺機器およびコネクタはエニュメレーションに対応する通常の動作をするだけでよく本発明の適用のために変更を加える必要がない。
【００７５】
本発明が適用できるＵＳＢコネクタは、標準コネクタだけでなく、ミニコネクタおよびマイクロ・コネクタとすることができる。また、３．０ピンの接続を通信に影響がでないようにＧＮＤ＿ＤＲＡＩＮラインの接続で検出したが、本発明は、ＳＸ−ＴＸラインまたはＳＸ−ＲＸラインの接続で検出することを排除するものではない。さらに、プラグとレセプタクルのそれぞれに３．０ピンが接続される位置で接触する通信とは別の接点を設けて３．０ピンの接続を検出するようにしてもよい。また、ＧＮＤ＿ＤＲＡＩＮラインの電位の検出にＥＣ２５に代えて専用の電位検出回路を設けてもよい。
【００７６】
［電流リミッタ］
つぎに、ＵＳＢシステム１００で使用する電流制限器について図７を参照して説明する。ＵＳＢの規格ではＵＳＢコントローラ３３は、２．０デバイスに対してはポートあたり最大５００ｍＡの電流を供給でき、３．０デバイスに対しては最大９００ｍＡの電流を供給できるようになっている。従来から２．０ホストではＶｂｕｓラインに５００ｍＡの電流制限器を設け、３．０ホストでは９００ｍＡの電流制限器を設けていた。電流制限器はＶｂｕｓラインに流れる電流が規格値を超えたときにオフにしてＶｂｕｓラインを保護する。
【００７７】
３．０デバイスは、内部のインターフェースが２．０物理層と３．０物理層が独立しており、３．０デバイスとして認識されたり２．０デバイスとして認識されたりする。また、ポートには２．０デバイスが接続することもある。本発明では、Ｖｂｕｓラインに２．０デバイスが接続されたときに有効になる電流制限器１１１と３．０デバイスが接続されたときに有効になる電流制限器１１３を設ける。そして、ＵＳＢコントローラ３３は、システムが認識したＵＳＢ規格のバージョンに基づき、Ｖｂｕｓコントローラ４７およびＥＣ２５を通じていずれか一方の電流制限器を有効に設定し、他方を無効に設定する。なお、電流制限器は、図３に説明したリセット回路を含むＵＳＢコントローラ３３に追加してもよいし、リセット回路とは独立して設けてもよい。
【００７８】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００７９】
１０  コンピュータ
３３  ＵＳＢコントローラ
４９、５３  ２．０ピン
５１、５５  ３．０ピン
１００  ＵＳＢシステム
【図１】
0005492844.tif 000003
【図２】
0005492844.tif 000004
【図３】
0005492844.tif 000005
【図４】
0005492844.tif 000006
【図５】
0005492844.tif 000007
【図６】
0005492844.tif 000008
【図７】
0005492844.tif 000009
【図８】
0005492844.tif 000010