(57)【要約】【課題】  様々なＵＳＢ（Ｕｎｉｆｏｒｍ  Ｓｅｒｉａｌ  Ｂｕｓ）モードで動作でき、様々なタイプのホストゲームシステムで使用することができるマルチシステムゲームコントローラを提供すること。【解決手段】  記載の実施例では、ゲームコントローラは、第１のホストゲームシステムに接続された場合は第１のＵＳＢモードで１組の動作パラメータで動作し、第２のホストゲームシステムに接続された場合は第２のＵＳＢモードで別の組の動作パラメータで動作する。ゲームコントローラは、ゲームコントローラがどのホストゲームシステムに接続されているかを判定し、その判定に基づいて適切なＵＳＢモードに切替えるように設計される。【選択図】  図１
2005293581.tif 000002
【特許請求の範囲】
【請求項１】
様々なＵＳＢモードをサポートする様々なホストゲームシステムで使用するためのマルチシステムビデオゲームコントローラであって、
様々なホストゲームシステムとの通信を容易にする通信インターフェースと、
第１のホストゲームシステムとの通信中は第１のＵＳＢモードを使用し、第２のホストゲームシステムとの通信中は第２のＵＳＢモードを使用するＵＳＢプロトコルモジュールとを備えることを特徴とするマルチシステムビデオゲームコントローラ。
【請求項２】
前記通信インターフェースは、無線通信を容易にするためのＲＦモードを備えることを特徴とする請求項１に記載のマルチシステムビデオゲームコントローラ。
【請求項３】
前記通信インターフェースは、有線通信を容易にするためのシリアルケーブルを備えることを特徴とする請求項１に記載のマルチシステムビデオゲームコントローラ。
【請求項４】
前記第１のＵＳＢモードは低速ＵＳＢであり、前記第２のＵＳＢモードは最高速ＵＳＢまたは高速ＵＳＢの１つであることを特徴とする請求項１に記載のマルチシステムビデオゲームコントローラ。
【請求項５】
前記第１のホストゲームシステムはコンソールベースのゲームシステムを含み、前記第２のホストゲームシステムがパーソナルコンピュータを含むことを特徴とする請求項１に記載のマルチシステムビデオゲームコントローラ。
【請求項６】
１つまたは複数の多機能アクチュエータを備えた汎用コントローラとして実装されることを特徴とする請求項１に記載のマルチシステムビデオゲームコントローラ。
【請求項７】
プロセッサと、
前記プロセッサに動作可能に結合されたメモリと、
前記プロセッサに動作可能に結合され、ビデオゲームコントローラが第１のホストゲームシステムに接続されている場合は第１のＵＳＢモードでの通信を容易にし、前記ビデオゲームコントローラが第２のホストゲームシステムに接続されている場合は第２のＵＳＢモードでの通信を容易にするＵＳＢモジュールとを備えることを特徴とするビデオゲームコントローラ。
【請求項８】
前記第１のＵＳＢモードは低速ＵＳＢであり、前記第２のＵＳＢモードは最高速ＵＳＢまたは高速ＵＳＢの１つであることを特徴とする請求項７に記載のビデオゲームコントローラ。
【請求項９】
前記ゲームコントローラが最初に接続されたときに、前記ＵＳＢモジュールが、前記第１のＵＳＢモードまたは前記第２のＵＳＢモードの１つを選択することを特徴とする請求項７に記載のビデオゲームコントローラ。
【請求項１０】
前記ゲームコントローラが接続された後に、前記ＵＳＢモジュールが、前記第１のＵＳＢモードまたは前記第２のＵＳＢモードの１つを選択することを特徴とする請求項７に記載のビデオゲームコントローラ。
【請求項１１】
前記第１のホストゲームシステムがコンソールベースのゲームシステムを含み、前記第２のホストゲームシステムがパーソナルコンピュータを含むことを特徴とする請求項７に記載のビデオゲームコントローラ。
【請求項１２】
前記ＵＳＢモジュールが、前記ビデオゲームコントローラが前記第１のホストゲームシステムに接続されているか、または前記第２のホストゲームシステムに接続されているかを検出するホスト検出器を備え、前記ホスト検出器が前記第１のホストゲームシステムを検出した場合は前記第１のＵＳＢモードに、前記ホスト検出器が前記第２のホストゲームシステムを検出した場合は前記第２のＵＳＢモードに自動的に切替えることを特徴とする請求項７に記載のビデオゲームコントローラ。
【請求項１３】
無線通信をサポートする無線モジュールと、
前記プロセッサ、前記メモリ、および前記無線モジュールに電力を供給する電源とをさらに備えることを特徴とする請求項７に記載のビデオゲームコントローラ。
【請求項１４】
第１のホストゲームシステムまたは第２のホストゲームシステムのどちらがビデオゲームコントローラとのＵＳＢ接続を確立しようとしているかを判定する手段と、
前記ビデオゲームコントローラが前記第１のホストゲームシステムに接続されている場合は通信用に第１のＵＳＢモードを使用し、前記ビデオゲームコントローラが前記第２のホストゲームシステムに接続されている場合は通信用に第２のＵＳＢモードを使用する手段とを備えることを特徴とするビデオゲームコントローラ。
【請求項１５】
前記第１のＵＳＢモードが低速ＵＳＢであり、前記第２のＵＳＢモードが最高速ＵＳＢまたは高速ＵＳＢの１つであることを特徴とする請求項１４に記載のビデオゲームコントローラ。
【請求項１６】
前記使用手段が、前記判定手段による判定によって前記第１または第２のＵＳＢモードに自動的に切替えることを特徴とする請求項１４に記載のビデオゲームコントローラ。
【請求項１７】
前記第１または第２のホストゲームシステムの１つと無線リンクを介して通信する手段をさらに備えることを特徴とする請求項１４に記載のビデオゲームコントローラ。
【請求項１８】
１つまたは複数の多機能アクチュエータを備えた汎用コントローラとして実装されることを特徴とする請求項１４に記載のマルチシステムビデオゲームコントローラ。
【請求項１９】
ビデオゲームコントローラで、前記ビデオゲームコントローラが第１のホストゲームシステムまたは第２のホストゲームシステムと通信するために動作可能に接続されているかを判定すること、
前記ビデオゲームコントローラが前記第１のホストゲームシステムと通信するために接続されている場合は、前記ビデオゲームコントローラを第１のＵＳＢモードで操作すること、および
前記ビデオゲームコントローラが前記第２のホストゲームシステムと通信するために接続されている場合は、前記ビデオゲームコントローラを第２のＵＳＢモードで操作することを備えることを特徴とする方法。
【請求項２０】
前記第１のＵＳＢモードが低速ＵＳＢであり、前記第２のＵＳＢモードが最高速ＵＳＢまたは高速ＵＳＢの１つであることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記第１のホストゲームシステムがコンソールベースのゲームシステムを含み、前記第２のホストゲームシステムがパーソナルコンピュータを含むことを特徴とする請求項１９に記載の方法。
【請求項２２】
前記判定が、
最初の接続中に前記ビデオゲームコントローラを識別する要求を受信すること、および
前記要求に基づいて前記ビデオゲームコントローラが前記第１または第２のホストゲームシステムのどちらに接続されているかを確認することを含むことを特徴とする請求項１９に記載の方法。
【請求項２３】
前記ビデオゲームコントローラを前記第１のＵＳＢモードに設定すること、および
前記ビデオゲームコントローラが前記第２のホストゲームシステムと通信するために接続されていると判定された後、前記ビデオゲームコントローラを前記第２のＵＳＢモードに自動的にリセットすることをさらに備えることを特徴とする請求項１９に記載の方法。
【請求項２４】
実行された場合に請求項１９に記載の方法を実施するコンピュータ実行可能命令を含むことを特徴とする１つまたは複数のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームを制御するための周辺装置に関し、より詳細には、ＵＳＢ規格およびプロトコルを使用するゲームコントローラに関する。
【背景技術】
【０００２】
ゲームコントローラはユーザとビデオゲームの対話を容易にするものである。ゲームコントローラは、コントローラを使用すべき所望のゲーム環境に応じて、多様な形、サイズ、および構成で提供されている。広範なゲームを制御する１つまたは複数の多機能アクチュエータを有する多目的コントローラがある。また、レーシングゲーム用ステアリングホイール、射撃ゲーム用武器、および航空ゲーム用ナビゲーションスティックなど特定様式のゲーム用に設計された専用コントローラもある。
【０００３】
ゲームコントローラは、１つの対応するホストゲームシステムだけで動作するように設計される場合が多い。パーソナルコンピュータだけに使用されるように設計されたコントローラもあり、Ｍｉｃｒｏｓｏｆｔ（登録商標）  ＣｏｒｐｏｒａｔｉｏｎからのＸｂｏｘ（登録商標）ビデオゲームシステム、Ｓｏｎｙ（登録商標）  ＣｏｒｐｏｒａｔｉｏｎからのＰ１ａｙＳｔａｔｉｏｎ（登録商標）ゲームシステム、およびＮｉｎｔｅｎｄｏ  ｏｆ  Ａｍｅｒｉｃａ  Ｉｎｃ．からのＧａｍｅＣｕｂｅ（登録商標）システムなど多様なタイプのコンソールベースのシステムに専用のものもある。専用コントローラは、コンソール内の関連スロットだけに適合する形およびサイズの独自仕様のプラグを有し、コンソールと通信するための独自仕様のプロトコルを使用するのが一般的である。そのためコントローラは、複数の異なる形態の要素で使用される互換性を、伝統的に有してない。この互換性の欠如により、プレーヤが自分のゲームコントローラをあるタイプのシステムから別のタイプのシステムに移すことができなかった。
【０００４】
今日では、より多くのゲームコントローラが、規格化されたＵＳＢ（Ｕｎｉｆｏｒｍ  Ｓｅｒｉａｌ  Ｂｕｓ）プロトコルを使用してホストゲームシステムと通信するように設計されている。しかし、ＵＳＢプロトコルの範囲内でも、様々なＵＳＢベースのシステムでの使用を妨げる異なる設定や動作モードが存在することがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、様々なタイプのゲームシステムで使用することができる改良型ゲームコントローラが求められている。
【課題を解決するための手段】
【０００６】
マルチシステムゲームコントローラは、様々なＵＳＢ（Ｕｎｉｆｏｒｍ  Ｓｅｒｉａｌ  Ｂｕｓ）モードで操作することができ、ＰＣおよびコンソールゲームシステムなど様々なタイプのホストゲームシステムで使用することができるようになされている。記載の実施例では、ゲームコントローラは、第１のホストゲームシステムに接続された場合は、第１のＵＳＢモードで１組の動作パラメータで動作し、第２のホストゲームシステムに接続された場合は、第２のＵＳＢモードで別の組の動作パラメータで動作する。ゲームコントローラは、ゲームコントローラがどのホストゲームシステムに接続されているかを判定し、その判定に基づいて適切なＵＳＢモードに切替えるように設計されている。
【０００７】
詳細な説明を添付の図を参照して記載する。図では、参照番号の最も左側の（１つまたは複数の）数字は、その参照番号が最初に付けられた図を示す。様々な図の同じ参照番号の使用は、同様または同一の項目を示す。
【発明を実施するための最良の形態】
【０００８】
以下の開示は、様々なＵＳＢ（Ｕｎｉｆｏｒｍ  Ｓｅｒｉａｌ  Ｂｕｓ）モードで動作することによって、ＰＣおよびコンソールベースのゲームシステムなど様々なタイプのゲームシステムで使用することができるマルチシステムゲームコントローラを記載したものである。このゲームコントローラは、ゲームシステムの種類を判定し、次いでその判定によって適切なＵＳＢモードに切替える。コントローラは、１つのホストゲームシステムで動作する場合は第１のＵＳＢモードに切替え、別のホストゲームシステムで動作する場合は第２のＵＳＢモードに切替える。論述の目的で、ゲームコントローラを多目的ゲームコントローラのコンテキストで記載する。しかし、ゲームコントローラは、専用コントローラを含む多様な方法で、かつ多様な形、サイズ、および機能を有するように構成することができる。
【０００９】
マルチシステムゲーム環境
【００１０】
図１は、例示的なマルチシステムゲーム環境１００を示し、２つのタイプのホストゲームシステム、すなわちゲームコンソール１０２およびパーソナルコンピュータ（ＰＣ）１０４が示されている。周辺ゲームコントローラ１０６（１）および１０６（２）は、ホストゲームシステム１０２および１０４に接続されて、プレーヤとビデオゲームの対話を容易にする。
【００１１】
各コントローラ１０６は、ホストゲームシステムに有線または無線インターフェースを介して結合される。有線操作では、コントローラ１０６は、ケーブル１０８を介してホストゲームシステムに接続される。コントローラは、接続中、ケーブル１０８を介してホストゲームシステムから電力を得る。無線操作では、コントローラは無線リンクを介してホストゲームシステムに接続され、電池などコントローラ自体の電源から電力を得る。無線リンクは、たとえば赤外線、Ｂｌｕｅｔｏｏｔｈ、またはＲＦ技術を含む任意の多様な技術を使用して実装することができる。ケーブル１０８は、任意選択でコントローラから取り外して、動作のより大きい自由を提供することができる。
【００１２】
図で示した構成では、ゲームコンソール１０２は、その前面に４つのスロット１１０を有しており、４つまでのコントローラ１０６をサポートすることができるが、スロットの数および配置は修正することができる。有線操作では、ゲームコントローラ１０６にはビデオゲームの様々な特性／機能を制御するための物理スロット１１０が割り当てられる。無線操作では、ゲームコントローラ１０６には仮想スロットが割り当てられる。ＰＣ１０４は、１つまたは複数のコントローラ１０６をサポートし、コントローラ１０６は、（図で示したように）ケーブル１０８を介してＵＳＢポートに、または無線リンクを介して接続することができる。
【００１３】
ホストゲームシステム１０２と１０４はどちらもＵＳＢプロトコルをサポートする。しかし、実にＵＳＢ規格の範囲内でも、１つのタイプのシステムでプレイするように構成されたコントローラが他のタイプのシステムでのプレイに使用できない程度に異なる動作パラメータが存在することがある。たとえば、ＰＣ１０４は、最高速ＵＳＢモード（たとえば、４８０Ｍｂ／ｓまでのデータ転送速度を指定するＵＳＢ２．０）をサポートするように構成することができ、ゲームコンソール１０２は、低速ＵＳＢモード（たとえば、１２Ｍｂ／ｓ以下のデータ転送速度を指定するＵＳＢ１．１またはその変形形態）をサポートするように構成することができる。
【００１４】
本明細書に説明するように、同じコントローラ１０６が、ゲームコンソール１０２とＰＣ１０４の両方を含む様々なタイプのホストゲームシステムで使用されるように設計される。１つのコントローラ１０６（１）が、ゲームコンソール１０２またはＰＣ１０４に交互に関連付けられるものとして図示してある。ゲームコンソール１０２と関連する場合は、（破線で示した）コントローラ１０６（１）は、第１のＵＳＢモード（たとえば低速ＵＳＢ１．１）で、ゲームコンソール１０２によってサポートされる第１の組の動作パラメータで動作する。ＰＣ１０４と関連する場合は、（実線で示した）コントローラ１０６（１）は、第２のＵＳＢモード（たとえば最高速ＵＳＢ２．０または高速ＵＳＢ２．０）で、ＰＣ１０４によってサポートされる第２の組の動作パラメータで動作する。
【００１５】
プレーヤは、自分のコントローラ１０６（１）を１つのシステムから別のシステムに単にコントローラを１つのシステム（たとえばゲームコンソール１０２）から接続を断ち、他のシステム（たとえばＰＣ１０４）に再接続することによって移すことができる。１つのシステムから接続を断つことは、ケーブル１０８を物理的に抜き、または無線セッションを終了することによって行われる。別のシステムへの再接続は、ケーブル１０８を新規のゲームポートまたはＵＳＢポートに物理的に接続し、または発見および結合プロセスを実行して無線セッションを確立することによって行われる。再接続後、コントローラはどのタイプのゲームシステムが通信を試み、適切なＵＳＢモードを確立したかを自動的に判定する。
【００１６】
各コントローラ１０６は、多様なユーザ対話機構の任意のものを装備することができる。図１で示したように、各コントローラ１０６は、２つのサムスティック（ｔｈｕｍｂｓｔｉｃｋ）１１２（１）および１１２（２）、方向パッドまたはＤパッド１１４、表面ボタン（ｓｕｒｆａｃｅ  ｂｕｔｔｏｎｓ）１１６、および２つのトリガ１１８を装備している。こうした機構は単に代表的なものであって、他の周知のゲーム機構（たとえば肩ボタン（ｓｈｏｕｌｄｅｒ  ｂｕｔｔｏｎｓ））を図１で示したものと置き換え、かつ／または追加してもよい。
【００１７】
ゲームコンソール１０２は、携帯用メディアドライブ１２０および任意選択の内蔵ハードディスクドライブを装備している。携帯用メディアドライブは、光記憶ディスク１２２で表される多様な形態の携帯用記憶媒体をサポートする。好適な携帯用記憶媒体の例には、ＤＶＤ、ＣＤ−ＲＯＭ、ゲームディスク、ゲームカートリッジなどが含まれる。
【００１８】
ゲームコンソール１０２は、Ａ／Ｖインターフェーシングケーブル１２４を介してテレビまたは他のディスプレイ（図示せず）に接続される。電力ケーブル１２６はゲームコンソールに電力を供給する。ゲームコンソール１０２は、ローカルエリアネットワーク（ＬＡＮ）またはインターネットなどネットワークへのアクセスを容易にするためのケーブルまたはモデムコネクタ１２８で表される内部または外部に追加されたネットワーク機能をさらに装備することができる。（図で示したように）メモリユニット（ＭＵ）１３０をコントローラ１０６内に挿入して、追加の携帯用記憶装置を提供し、または代替としてゲームコンソール１０２内に挿入することもできる。携帯用メモリユニットは、ユーザがゲームパラメータを格納し、それらをプレイ用に他のコンソールに移送することができるようにする。
【００１９】
ゲームコンソール１０２
【００２０】
図２は、ゲームコンソール１０２の機能コンポーネントをより詳細に示す。ゲームコンソール１０２は、中央処理装置（ＣＰＵ）２００と、フラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０６、ハードディスクドライブ２０８、および携帯用メディアドライブ１２０を含む様々なタイプのメモリへのプロセッサのアクセスを容易にするメモリコントローラ２０２を有する。ＣＰＵ２００は、レベル１キャッシュ２１０およびレベル２キャッシュ２１２を装備して、データを一時的に格納し、それによってメモリアクセスサイクルの数を減らして処理速度および処理能力を向上させる。
【００２１】
ＣＰＵ２００、メモリコントローラ２０２、および様々なメモリデバイスは、シリアルバスおよびパラレルバス、メモリバス、周辺バス、並びに多様なバスアーキテクチャの任意のものを使用するプロセッサバスまたはローカルバスを含む１つまたは複数のバスを介して相互接続される。一例として、こうしたアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれる。
【００２２】
適切な一実施例として、ＣＰＵ２００、メモリコントローラ２０２、ＲＯＭ２０４、およびＲＡＭ２０６は共通のモジュール２１４に統合される。この実施例では、ＲＯＭ２０４は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスおよびＲＯＭバス（どちらも図示せず）を介してメモリコントローラ２０２に接続されたフラッシュＲＯＭとして構成される。ＲＡＭ２０６は、別々のバス（図示せず）を介してメモリコントローラ２０２によって独立して制御される複数のＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）モジュールとして構成される。ハードディスクドライブ２０８および携帯用メディアドライブ１２０は、バス２１６（たとえばＰＣＩバス、ＡＴＡバス）を介してメモリコントローラに接続される。
【００２３】
３次元グラフィックス処理装置２２０およびビデオエンコーダ２２２は、高速かつ高解像度グラフィックス処理用ビデオ処理パイプラインを形成する。データは、グラフィックス処理装置２２０からディジタルビデオバス（図示せず）を介してビデオエンコーダ２２２に転送される。オーディオ処理装置２２４およびオーディオコーデック（コーダ／デコーダ）２２６は、高忠実度およびステレオ処理を有する対応するオーディオ処理パイプラインを形成する。オーディオデータは、オーディオ処理装置２２４とオーディオコーデック２２６の間で通信リンク（図示せず）を介して転送される。ビデオおよびオーディオ処理パイプラインは、データをＡ／Ｖ（オーディオ／ビデオ）ポート２２８に出力してテレビまたは他のディスプレイに伝送する。図で示した実施例では、ビデオおよびオーディオ処理コンポーネント２２０〜２２８は、モジュール２１４に実装される。
【００２４】
ＵＳＢホストコントローラ２３０およびネットワークインターフェース２３２もモジュール２１４に実装される。ネットワークインターフェース２３２は、ネットワーク（たとえば、ＬＡＮ、インターネットなど）へのアクセスを提供し、Ｅｔｈｅｒｎｅｔ（登録商標）カード、モデム、Ｂｌｕｅｔｏｏｔｈモジュール、ケーブルモデムなどを含む広範な任意の有線または無線インターフェースコンポーネントの任意のものでもよい。ＵＳＢホストコントローラ２３０は、バス（たとえばＰＣＩバス）を介してＣＰＵ２００およびメモリコントローラ２０２に結合され、周辺ゲームコントローラ１０６（１）〜１０６（４）のホストとして働く。
【００２５】
一実施例では、ＵＳＢホストコントローラ２３０は、比較的遅いクロック速度（すなわち１２Ｍｂ／ｓ未満）を除いて、ＵＳＢ１．１低レベル電気信号（ｌｏｗ  ｌｅｖｅｌ  ｅｌｅｃｔｒｉｃａｌ  ｓｉｇｎａｌｉｎｇ）および低レベルプロトコルに従う。クロック速度の一例は、約３Ｍｂ／ｓである。減速したデータ転送速度は、ＥＭＩ放射を低減する助けをする。コンソール１０２は、この遅いクロック速度によって低速ＵＳＢで動作するといえる。この低速ＵＳＢは１つの可能なＵＳＢモードの典型であるが、データ転送速度の他にＵＳＢモードを他の動作パラメータによって規定することができる。
【００２６】
ゲームコンソール１０２は、２つの二重コントローラサポートサブアセンブリ２４０（１）および２４０（２）を有し、各サブアセンブリは、２つまでのゲームコントローラ１０６（１）〜１０６（４）およびコントローラ無線インターフェース２４２をサポートする。無線インターフェース２４２は、たとえばＩＲ、Ｂｌｕｅｔｏｏｔｈ、およびＲＦ技術を含む多様な技術の任意のものを使用することができる。フロントパネルＩ／Ｏサブアセンブリ２４４は、制御ボタン、ＬＥＤ（発光ダイオード）、またはゲームコンソールの外面上に露出された他のインディケータの機能をサポートする。サブアセンブリ２４０（１）、２４０（２）、並びに２４４、およびコントローラ無線インターフェース２４２は、１つまたは複数のケーブルアセンブリ２４６を介してモジュール２１４に、具体的にはＵＳＢコントローラ２３０に結合される。
【００２７】
ゲームコントローラは、サブアセンブリ２４０および／または無線インターフェース２４２を介してＵＳＢホストコントローラ２３０と通信する。コンソール１０２用のＵＳＢ構成の一特徴は、事前定義された固有のアドレスを各ポートに永遠に割り当てることができることである。そのポートに接続されたコントローラは、ポートに割り当てられたアドレスをそのＵＳＢアドレスとして使用する。これによって、コントローラはホストコンソールからの要求に応じて、コントローラ情報を全て含む１つの記述子を単に返せばよいという点で、デバイスのエニュメレーションプロセスが簡単になる。他の特徴は、ルートハブがトラフィックをそのポート全てにブロードキャストせずに、コンソールがポートに接続されたコントローラへの通信を試みている場合にその１つのポートを使用可能にすることである。このポートは、そのデバイスにトラフィックが存在しない場合は使用不可能である。
【００２８】
ＵＳＢインターフェース信号は、以下の通りである。
【００２９】
【表１】
2005293581.tif 000003
【００３０】
コントローラ１０６がコンソール１０２に接続されている場合、ＵＳＢホストコントローラ２３０はコントローラがそれ自体を確認することを求める要求を送信する。この要求に基づいて、コントローラ１０６はコンソール１０２が通信の確立を試みていることを確認することができる。コントローラは、適切な低速ＵＳＢモードに切替えてコンソール１０２との通信をサポートする。
【００３１】
コンソール１０２は、システム電力供給モジュール２５０をさらに備えて、電力をゲームシステム１００のコンポーネントおよびゲームコントローラ１０６に供給する。
【００３２】
ＰＣ１０４
【００３３】
図３は、ＰＣ１０４の機能コンポーネントをより詳細に示す。ＰＣ１０４は、ホストゲームシステムとして動作することができるコンピューティングシステムの単なる一例であることを留意されたい。他の周知のコンピューティングシステムもゲームコントローラ１０６を使用することができるゲーム環境を提供することができる。こうしたシステムの例には、サーバコンピュータ、シンクライアント、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、ミニコンピュータ、メインフレームコンピュータなどが含まれる。
【００３４】
ＰＣ１０４は、１つまたは複数の処理装置３０４、システムメモリ３０６、および様々なシステムコンポーネントを結合するシステムバス３０８を有する汎用コンピュータ３０２を備える。システムバス３０８は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、および任意の多様なバスアーキテクチャを使用するプロセッサバスまたはローカルバスを含む任意の幾つかのタイプのバス構造のうちの１つまたは複数のものを表す。
【００３５】
コンピュータ３０２は、通常、揮発性および不揮発性メディア、並びにリムーバブルおよびノンリムーバブルメディアを含む多様なコンピュータ可読媒体を備える。図で示した構成では、システムメモリ３０６は、ランダムアクセスメモリ（ＲＡＭ）３１０などの揮発性メモリ、および読み出し専用メモリ（ＲＯＭ）３１２などの不揮発性メモリの形態のコンピュータ可読媒体を含む。コンピュータ３０２内の要素間で情報を転送する助けをする基本ルーチンを含む基本入出力システム（ＢＩＯＳ）３１４は、ＲＯＭ３１２に格納される。ＲＡＭ３１０は、通常、処理装置３０４によって即時にアクセス可能、かつ／または現在操作中のデータおよび／またはプログラムモジュールを含む。
【００３６】
コンピュータ３０２は、ハードディスクドライブ３１６、磁気ディスクドライブ３１８（たとえばフロッピー（登録商標）ディスクドライブ）、および１つまたは複数のデータメディアインターフェース３２６またはＳＣＳＩインターフェース（図示せず）によってシステムバス３０８に接続された光ディスクドライブ３２０も有する。ディスクドライブおよびそれと関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ３０２のための他のデータの不揮発性記憶を提供する。コンピュータによってアクセス可能なデータを格納することができる他のタイプのコンピュータ可読媒体を使用することもできることに留意されたい。
【００３７】
任意の数のプログラムモジュールをハードディスク３１６、磁気ディスク３１８、光ディスク３２０、ＲＯＭ３１２、および／またはＲＡＭ３１０に格納することができる。図で示した実施例では、オペレーティングシステム３２６、１つまたは複数のアプリケーションプログラム３２８（たとえばビデオゲーム）、他のプログラムモジュール３３０、およびプログラムデータ３３２（たとえばビデオゲームデータ）がハードディスクドライブ３１６および／またはシステムメモリ３０６に格納される。
【００３８】
コンピュータ３０２は、ビデオアダプタ３３６を介してシステムバス３０８に接続されたディスプレイ３３４を備える。ネットワークインターフェース３３８は、ネットワーク３４０（たとえば、インターネット、イントラネット、ＬＡＮ、ＷＡＮなど）へのアクセスを提供し、入力／出力（Ｉ／Ｏ）インターフェース３４２は、マウス３４４およびキーボード３４６など周辺デバイスとの通信を可能にする。
【００３９】
コンピュータはＵＳＢホストコントローラ３４８をさらに装備して、ゲームコントローラ１０６との通信をサポートする。コントローラ１０６がＵＳＢホスト３４８に接続された場合、コントローラ１０６はＵＳＢホストコントローラ３４８によってサポートされるＵＳＢモードで動作する。一実施例では、ＵＳＢホストコントローラ３４８はＵＳＢ２．０電気信号およびプロトコルを実装する。ＵＳＢ２．０は、低速ＵＳＢと比較すると、はるかに速いデータ転送速度（たとえば４８０Ｍｂ／ｓ）を指定する。この高速クロック速度により、ＰＣ１０４は、他の可能なＵＳＢモードの典型である最高速ＵＳＢモードで動作することができるといえる。あるいは、ＰＣ１０４を高速ＵＳＢモードで動作するように構成することもできる。
【００４０】
コントローラ１０６がＰＣ１０４に接続されている場合、ＵＳＢホストコントローラ３４８はコントローラがそれ自体を確認することを求める要求を送信する。この要求に基づいて、コントローラ１０６はコンピュータ３０２が通信の確立を試みていることを確認することができる。コントローラは、適切な最高速ＵＳＢモード（あるいは、高速ＵＳＢモード）に切替えてＰＣ１０４との通信をサポートする。より具体的には、コントローラ１０６は、Ｄ＋／Ｄ−ライン（ＰＩＮＳ２および３）上で状態を変更し、ＵＳＢ接続を最高速ＵＳＢモード（または高速ＵＳＢモード）で動作するようにリセットする。
【００４１】
コントローラ１０６
【００４２】
図４は、ゲームコントローラ１０６の機能コンポーネントをより詳細に示す。コントローラ１０６は、中央処理装置（ＣＰＵ）４０２と、ＲＯＭ４０４、ＲＡＭ４０６、およびＥＥＰＲＯＭ４０８を含むメモリを有する。図で示した実施例では、ＣＰＵ４０２、ＲＯＭ４０４、およびＲＡＭ４０６は、共通のモジュール４１０上に統合され、１つまたは複数のバス構造を介して相互接続されている。ＥＥＰＲＯＭ４０８は、モジュール４１０と分離されているがモジュール４１０とインターフェースをとっている。
【００４３】
ゲームコントローラ１０６は、プレーヤに感触（ｔａｃｔｉｌｅ）フィードバックを提供するモータドライブ４１２、およびモータドライブ用の制御信号を提供するＰＷＭ（パルス幅変調）出力部４１４を備える。変数入力アクチュエータ４１６（たとえばサムスティック１１２およびトリガ１１８）を介して受信されるプレーヤの動作は、アナログ／ディジタル変換器（ＡＤＣ）４１８によってディジタル信号に変換され、ＣＰＵ４０２に送信される。ＡＤＣ４１８は、たとえば８チャネル１０ビットまたは１２ビットの変換器として実装することができる。二重状態スイッチ４２０（たとえばＤパッド１１４およびボタン１１６）を介して受信されるプレーヤの他の動作は、Ｉ／Ｏ４２２を介してＣＰＵ４０２に送信される。
【００４４】
ゲームコントローラは、有線または無線操作をサポートすることができる。ＵＳＢコネクタ４２４は有線インターフェースを提供するが、ＲＦモジュール４２６（たとえば２．４ＧＨｚのＲＦモジュール）、無線ベースバンド装置４２８、およびＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）チャネル装置４３０は、無線インターフェースをサポートする。他の実施例では、ＩＲ（赤外線）、Ｂｌｕｅｔｏｏｔｈ、ＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）など代替の無線技術を使用するようにゲームコントローラを設計することができる。ゲームコントローラ１０６は、電池４３２などそれ自体の電源を装備して、ゲームコントローラ１０６の電子モジュールおよびコンポーネントに電力を供給することによって無線操作を可能にする。電源管理ユニット４３４は、電池寿命を効率よく維持するための管理を提供する。電池充電回路４３６は、コントローラがケーブルを介してホストゲームシステムに接続された場合に電池４３２を再充電する。
【００４５】
上で述べたように、ゲームコントローラ１０６は、低速、最高速、および高速ＵＳＢモードなど様々なＵＳＢモードを使用する様々なホストゲームシステムで使用することができる。ゲームコントローラ１０６は、ゲームシステムのタイプによって様々なモードの中で切替えを行うマルチモードＵＳＢインターフェース４４０を備える。ＵＳＢインターフェース４４０は、コントローラがどのゲームシステムと通信しようとしているかを判定するホスト検出器４４２を備える。最初の接触（たとえばケーブルの接続）後に、ホスト検出器４４２は、ホストゲームシステムからの、コントローラにそれ自体を確認することを求める要求を受信する。ホスト検出器は、その要求を使用して、どのシステムが要求しているかを確認する。ホストシステムが識別された後、ＵＳＢインターフェース４４０は適切なＵＳＢモードに切替える。一例では、ＵＳＢインターフェース４４０は、コントローラがコンソール１０２に接続された場合は低速ＵＳＢモードに、コントローラがＰＣ１０４に接続された場合は最高速ＵＳＢモード（または高速ＵＳＢモード）に切替える。ＵＳＢモードの切替えは最初の接触または始動時に発生すると説明したが、始動後しばらく経ってから切替えを行うようにコントローラ１０６を構成してもよいことに留意されたい。
【００４６】
ＵＳＢモード切替操作
【００４７】
図５は、コントローラが接続されているホストゲームシステムに基づいてコントローラ１０６に適したＵＳＢモードを選択するプロセス５００を示す。プロセス５００は、ハードウェア、ソフトウェア、またはその組合せで実装することができる動作シーケンスを示す論理フローグラフにおけるブロックの一群として示してある。ソフトウェアのコンテキストでは、ブロックは、１つまたは複数のプロセッサによって実行される場合に、列挙された動作を実行するコンピュータ命令を表す。
【００４８】
このプロセスには、ホストゲームシステムとの最初の対話中にゲームコントローラによって実行される動作が含まれる。論述の目的で、図１〜４に関して上記に記載したコントローラ１０６、ゲームコンソール１０２、およびＰＣ１０４を参照して、プロセス５００を説明する。このプロセス５００は、有線および／または無線通信用に設計された他のタイプのコントローラ、および他のタイプのホストゲームシステムで実行することもできることに留意されたい。
【００４９】
ブロック５０２で、ゲームコントローラ１０６は、最初に第１のＵＳＢモードに設定される。一例として、ゲームコントローラ１０６は、最初に低速ＵＳＢモードで動作するように規定値が設定される。プレーヤがコントローラ１０６をホストゲームシステムに接続すると、コントローラ１０６はそのＤ＋ラインをハイにプルして、デバイスが接続されたことをコンソールに通知する。ゲームコントローラ１０６は、次いでホストゲームシステムから、それ自体を確認することを求める要求を受信する（ブロック５０４）。
【００５０】
ブロック５０６で、ゲームコントローラ１０６は、識別要求がゲームコンソール１０２から発信されたものか、またはＰＣ１０４から発信されたものかを判定する。要求がゲームコンソール１０２からの場合（すなわちブロック５０６からの「コンソール」分岐）、ゲームコントローラ１０６は、すでに第１のＵＳＢモードに事前設定されており、したがって、ゲームコンソール１０２は第１のＵＳＢモードの動作パラメータを使用してＵＳＢ接続を確立するためのエニュメレーションを開始することができる（ブロック５０８）。エニュメレーションプロセスの一部として、コントローラは記述子をコンソールに送信する。この記述子には、ＩＤ、デバイスクラス、デバイスタイプ、エンドポイントアドレスなどのデバイス情報が含まれる。接続が確立された後、コントローラは、コンソール１０２上で実行されているビデオゲームとプレーヤの対話を容易にする第１のＵＳＢモードで操作される（ブロック５１０）。
【００５１】
一方、ゲームコントローラが、識別要求がＰＣ１０４からであると判定した場合（すなわちブロック５０６からの「ＰＣ」分岐）、コントローラ５１０はＤ＋／Ｄ−ライン上で状態の変更を行い（ブロック５１２）、最高速ＵＳＢまたは高速ＵＳＢなど第２のＵＳＢモードで動作するようにＵＳＢ接続をリセットする（ブロック５１４）。ゲームコンソール１０２は、ＵＳＢエニュメレーションを実行し、第２のＵＳＢモードの動作パラメータを使用してＵＳＢ接続を確立する（ブロック５１６）。次いで、コントローラは、ＰＣ１０４上で実行されているビデオゲームとプレーヤの対話を容易にする第２のＵＳＢモードで操作されることができる（ブロック５１８）。
【００５２】
ＵＳＢモード間の切替えは最初の始動時に発生すると記載したが、始動後しばらく経ってから切替えを行うこともできる。
【００５３】
結論
【００５４】
上述のコントローラは、様々なＵＳＢ（Ｕｎｉｆｏｒｍ  Ｓｅｒｉａｌ  Ｂｕｓ）モードで動作することができ、様々なタイプのホストゲームシステムで使用することができるようになされている。本発明を構造的特徴かつ／または方法論的動作に特有の専門用語で説明したが、理解されるように、添付の特許請求の範囲で定義される本発明は、説明した特定の特徴または動作に必ずしも限定されない。むしろ特定の特徴および動作は、特許請求する本発明を実施する例示的な形態として開示したものである。
【図面の簡単な説明】
【００５５】
【図１】２つの異なるホストゲームシステム、すなわちパーソナルコンピュータとゲームコンソール、および様々なＵＳＢモードで動作することによって両方のホストゲームシステムで使用することができるコントローラを示す図である。
【図２】ゲームコンソールを示すブロック図である。
【図３】コンピュータを示すブロック図である。
【図４】コントローラを示すブロック図である。
【図５】コントローラが接続されているホストゲームシステムに基づいてコントローラに適したＵＳＢモードを選択するプロセスを示す流れ図である。
【符号の説明】
【００５６】
１０２  ゲームコンソール
１０６（１）、１０６（２）、１０６（３）、１０６（４）  コントローラ
１２０  携帯用メディアドライブ
２００  中央処理装置
２０２  メモリコントローラ  ２０４  フラッシュＲＯＭメモリ
２０６  ＲＡＭメモリ
２０８  ハードディスクドライブ
２１０  レベル１キャッシュ
２１２  レベル２キャッシュ
２１６  ＡＴＡケーブル
２２０  ３次元グラフィックス処理装置
２２２  ビデオエンコーダ
２２４  オーディオ処理装置
２２６  オーディオコーデック
２２８  Ａ／Ｖポート
２３０  ＵＳＢホストコントローラ
２４０（１）、２４０（２）  二重コントローラポートサブアセンブリ
２４２  コントローラ無線Ｉ／Ｆ
２４４  フロントパネルＩ／Ｏサブアセンブリ
２５０  システム電力供給モジュール
３０２  コンピュータ
３０４  処理装置
３０６  システムメモリ
３０８  システムバス
３３４  ディスプレイ
３３６  ビデオアダプタ
３３８  ネットワークＩ／Ｆ
３４０  ネットワーク
３４２  Ｉ／０インターフェース
３４４  マウス
３４６  キーボード
３４８  ＵＳＢホスト
４１２  モータドライブ
４１４  ＰＷＭ出力部
４１６  アクチュエータ（トリガ、サムスティック）
４２０  スイッチ（ボタン、Ｄパッド）
４２２  入力／出力
４２４  ＵＳＢコネクタ
４２６  ＲＦモジュール
４２８  無線ベースバンド
４３０  ＤＭＡチャネル
４３２  電池
４３４  電源管理ユニット
４３６  電池充電回路
４４０  マルチモードＵＳＢ  Ｉ／Ｆ
４４２  ホスト検出器
【図１】
2005293581.tif 000004
【図２】
2005293581.tif 000005
【図３】
2005293581.tif 000006
【図４】
2005293581.tif 000007
【図５】
2005293581.tif 000008
【外国語明細書】
2005293581000001.pdf