(57)【要約】【課題】周辺装置を物理的に切り離して再接続することを電子的にシミュレーションする。【解決手段】コンピュータバス及びポートによってホストコンピュータに接続された周辺装置を切り離して再接続することをシミュレーションするためのシステムであって、該ポートに接続された該周辺装置を検出するための第１回路と、前記コンピュータバスを介して該周辺装置を物理的に切り離して再接続することを電子的にシミュレーションするための第２回路とを備えた。【選択図】図４
2007115286.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータバス及びポートによってホストコンピュータに接続された周辺装置を切り離して再接続することをシミュレーションするためのシステムであって、
該ポートに接続された該周辺装置を検出するための第１回路と、
前記コンピュータバスを介して該周辺装置を物理的に切り離して再接続することを電子的にシミュレーションするための第２回路と、
を備えたシステム。
【請求項２】
前記コンピュータバス及びポートがユニバーサルシリアルバス及びポートから成る請求項１に記載のシステム。
【請求項３】
前記第２回路が半導体スイッチを備えた請求項１に記載のシステム。
【請求項４】
前記第１のコンフィギュレーションが該周辺装置に割り当てられた汎用コンフィギュレーションであり、前記第２のコンフィギュレーションが製造業者に固有のコンフィギュレーションから成る請求項１に記載のシステム。
【請求項５】
前記第１回路が(i)該周辺装置から識別コードを読み出し、(ii)該識別コードに基づき前記第２のコンフィギュレーションを選択するようにコンフィギュレーションされた請求項４に記載のシステム。
【請求項６】
前記第２のコンフィギュレーション用前記識別コードに基づき装置ドライバを選択するようにコンフィギュレーションされた第３回路を更に備えた請求項５に記載のシステム。
【請求項７】
前記第１回路が該ユニバーサルシリアルバス及びポートを用いて前記第２のコンフィギュレーション用前記識別コードを該周辺装置に転送するようにコンフィギュレーションされた通信回路を更に備えた請求項５に記載のシステム。
【請求項８】
前記第２のコンフィギュレーション用前記識別コードが(i)コンフィギュレーションデータ及び(ii)実行可能コードを含む請求項７に記載のシステム。
【請求項９】
前記前記第２のコンフィギュレーション用前記識別コードが論理コンフィギュレーション情報を更に含む請求項８に記載のシステム。
【請求項１０】
前記第２回路が該周辺装置の該第１又は第２のコンフィギュレーションをリセット(再設定)するようにコンフィギュレーションされたリセット回路を含む請求項１に記載のシステム。
【請求項１１】
コンピュータバスによってホストコンピュータに接続されたコンフィギュレーションを有する周辺装置を再コンフィギュレーションするためのシステムであって、
該コンピュータバスに接続された該周辺装置を検出するようにコンフィギュレーションされた第１回路と、
前記周辺装置に電力供給している時、該周辺装置の前記コンフィギュレーションをリセット（再設定）するために該周辺装置の物理的な切り離し及び再接続を電子的にシミュレーションするようにコンフィギュレーションされた第２回路と、
を備えたシステム。
【請求項１２】
前記コンピュータバスがユニバーサルシリアルバスから成る請求項１１に記載のシステム。
【請求項１３】
前記第２回路が半導体スイッチを備えた請求項１１に記載のシステム。
【請求項１４】
前記第１のコンフィギュレーションが該周辺装置に割り当てられた汎用コンフィギュレーションであり、前記第２のコンフィギュレーションが製造業者に固有のコンフィギュレーションから成る請求項１１に記載のシステム。
【請求項１５】
前記第１回路が(i)該周辺装置から識別コードを読み出し(ii)前記識別コードに基づき前記第２のコンフィギュレーションを選択するようにコンフィギュレーションされた請求項１４に記載のシステム。
【請求項１６】
前記第２のコンフィギュレーション用前記識別コードに基づき装置ドライバを選択するようにコンフィギュレーションされた第３回路を更に備えた請求項１５に記載のシステム。
【請求項１７】
前記第１回路が該ユニバーサルシリアルバスを用いて前記第２のコンフィギュレーション用前記識別コードを該周辺装置に転送するようにコンフィギュレーションされた通信回路を更に備えた請求項１５に記載のシステム。
【請求項１８】
前記第２のコンフィギュレーション用前記識別コードが(i)コンフィギュレーションデータ及び(ii)実行可能コードを含む請求項１７に記載のシステム。
【請求項１９】
前記第２のコンフィギュレーション用前記識別コードが論理コンフィギュレーション情報を更に含む請求項１８に記載のシステム。
【請求項２０】
前記第２回路が該周辺装置の該第１又は第２のコンフィギュレーションをリセット（再設定）するようにコンフィギュレーションされたリセット回路を含む請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、コンピュータシステムをコンピュータバスに接続するためのシステム及び方法に関し、より詳細には、コンピュータシステムと標準ユニバーサルシリアル周辺装置バスとのインタフェースをとるためのシステム及び方法に関する。
【背景技術】
【０００２】
典型的なコンピュータシステムにおいては、マイクロプロセッサを有するコンピュータは、１つまたは２つ以上の電気的なバス及び様々な異なる通信ポートによって、プリンタまたはモデムのような複数の周辺装置に接続することができる。様々な周辺装置は、様々な形状的要素及び様々な電気的特性を備えたインタフェースを有し、これらの通信ポートが、異なる様々な周辺装置に使用される。典型的なデスクトップ型コンピュータは、それに接続されたモデム、プリンタ、キーボード、及び、マウスを有している。例えば、モデムはシリアルポートに接続され、プリンタはパラレルポートに接続され、キーボードは専用キーボードポートに接続され、マウスは専用マウスポートに接続される。これらの通信ポートのそれぞれは、異なる電気的特性を有し、異なるコネクタを必要とし、周辺装置からコネクタへ延びる異なったケーブルを有し、そのコネクタが、コンピュータ通信ポートに接続する。例えば、シリアルポート、パラレルポート、キーボードポート、及び、マウスポートは、すべて、異なった特性、ケーブル、及び、異なったコネクタを有する。その結果として、多種多様なインタフェース及びケーブルが使用されなければならない。さらに、これらの通信ポートの電気的な設計では、典型的には、周辺装置をポートに接続する前に、及び／または、周辺装置をポートから切り離す前に、コンピュータの電源を切らなければならない。なぜなら、もしそうしなければ、ポートが、永久的に破損することがあるからである。このことが、多くのコネクタ及びケーブルを必要とせず、かつ、コンピュータの電源を入れたままで周辺装置を接続しまた切り離すことのできる単一の標準化された周辺インタフェース接続システムの開発を促してきた。
【０００３】
ユニバーサルシリアルバス（ＵＳＢ）と呼ばれる最先端技術は、単一標準化周辺装置接続システムを開発することを目的としたシステムである。ＵＳＢは、周辺装置をコンピュータに接続する作業をより簡単で信頼性のあるものにする。なぜなら、それは、標準化されたコネクタ及び形状的要素を採用し、異なる様々な種類の通信ポートの場合よりも簡単にかつ高い信頼性で、それらの周辺装置とコンピュータとを協働させるからである。ＵＳＢによってこれらの周辺装置が接続されるコンピュータは、「ホストコンピュータ」と呼ばれる。ＵＳＢは、多くの種類のケーブル及びコネクタをただ１つの標準化された接続システムに取り替える。また、ＵＳＢは、コンピュータの電源を入れたままで、ＵＳＢコンパチブル周辺装置を接続したり切り離すことを可能にし、それは、周辺装置をコンピュータに接続しあるいは切り離すために一般に必要とされるコンピュータの電源断及び再立ち上げを不要にする。
【０００４】
標準ＵＳＢ通信ポートによって、周辺装置が、はじめてＵＳＢ及びホトコンピュータに接続されるとき、接続された周辺装置の存在が検出され、装置エニュメレーション（ｄｅｖｉｃｅ  ｅｎｕｍｅｒａｔｉｏｎ）と呼ばれる接続された周辺装置のためのＵＳＢのコンフィギュレーション処理が開始される。このエニュメレーション処理は、接続された周辺装置に固有のＵＳＢアドレスを割り当て、接続された周辺装置にそれの要求及び機能について問い合わせ、接続された周辺装置に関するデータをホストコンピュータのオペレーティングシステムに書き込み、適切なソフトウェア装置ドライバを記憶ロケーションからホストコンピュータのオペレーティングシステムにロードする。この問い合わせにおいて、個々の周辺装置のコンフィギュレーション情報を含んだ周辺装置内に記憶されたデータテーブルが、周辺装置からホストコンピュータのメモリに読み込まれる。エニュメレーション処理が終了すると、接続された周辺装置は、ホストコンピュータのオペレーティングシステムによって認識され、例えば、ホストコンピュータのマイクロプロセッサによって実行されるアプリケーションソフトウェアを使用することができるようになる。装置とソフトウェア装置ドライバとの対応は、その後は変更できない。
【０００５】
ＵＳＢのようなシリアルバスシステムにおいては、ソフトウェア装置ドライバを周辺装置と対応させる唯一の機会は、周辺装置がＵＳＢに差し込まれ、エニュメレーション処理が発生するときである。したがって、新しいコードまたはコンフィギュレーション情報を周辺装置のメモリにダウンロードするなど、周辺装置のコンフィギュレーションまたは特性を変更するためには、ホストコンピュータシステムは、周辺装置が接続されているかあるいは切り離されているかを検出しなければならず、その後に、再接続を検出しなければならない。
【０００６】
上述したように、ＵＳＢは、標準周辺装置接続技術に比べ多くの利点を提供する。しかしながら、ＵＳＢは、周辺装置のためのコンフィギュレーションデータを簡単に変更するためのシステム及び方法を提供しない。さらに、ＵＳＢは、特定の周辺装置に対応するソフトウェア装置ドライバを簡単に変更するための方法を提供しない。
【０００７】
したがって、公知のシステム及び方法の上記及びその他の問題を回避することのできるユニバーサルシリアルバスとインタフェースをとるためのシステム及び方法が必要とされており、本発明は、そのようなシステム及び方法を提供することを目的とする。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、ユニバーサルシリアルバスインタフェースシステム及びその方法を提供し、このシステム及び方法においては、複数の異なる周辺装置のためのコンフィギュレーション情報を周辺装置自身にではなくホストコンピュータに記憶することができる。それによって、ユニバーサルシリアルバスの柔軟性が増大する。なぜなら、それぞれの周辺装置は、コンフィギュレーション情報を記憶しなくてもよいからである。さらに、いずれの周辺装置にも必要とされるコンフィギュレーション情報は、周辺装置における変更に対処できるように、あるいは、周辺装置の別の機能を利用できるように容易に変更されることが可能である。なぜなら、それは、ホストコンピュータのファイルシステムに配置されるからである。コンフィギュレーション情報は、コンフィギュレーションデータ、周辺装置のＣＰＵで実行されるべきマイクロプロセッサコード、論理コンフィギュレーションデータを含んでもよい。コンフィギュレーション情報は、ホストコンピュータから周辺装置にダウンロードされることが可能である。
【０００９】
さらに、このユニバーサルシリアルバスインタフェースシステム及びその方法によれば、周辺装置における変更に適合するように、周辺装置に対応するコンフィギュレーション情報を電子的に変更することができる。周辺装置を物理的に切り離しそして再接続してそれを再コンフィギュレーションする代わりに、周辺装置は、ＵＳＢから電子的に切り離されそして再接続されることが可能であり（例えば、切り離し／接続サイクルが電気的にシミュレーションされる）、それによって、特定の周辺装置のためのコンフィギュレーション情報の変更を実行することができる。切り離し及び再接続サイクルからなる電気的なシミュレーションの多くの利点の１つは、電気的なシミュレーションにおいて周辺装置はバスに物理的に接続されているので、周辺装置は、バスによって供給される電力を利用してその周辺装置を動作させることができることである。従来のＵＳＢシステムのように周辺装置が物理的に切り離されるならば、周辺装置には、それ自身の電源がなければならない。このように、コンピュータシステムは、人の助けがなくても、ＵＳＢに接続された周辺装置を再コンフィギュレーションすることができる。
【００１０】
さらに、このユニバーサルシリアルバスインタフェースシステム及びその方法は、様々な製造業者によって製造された様々な周辺装置に組み込むことのできる単一の半導体チップであってもよい。このチップは、最初は、汎用コンフィギュレーションを有してもよい（例えば、特定の周辺装置に固有のものではない）。その後に、特定の周辺装置及び製造業者に必要な適切なコンフィギュレーション情報をチップにダウンロードすることができ、周辺装置を切り離しそして再接続することからなる電子的なシミュレーションが実行され、周辺装置が、製造業者に固有の新しい周辺装置として認識され、適切なソフトウェア装置ドライバが、ホストコンピュータのメモリにロードされる。
【００１１】
本発明によれば、コンピュータバスとポートとによってホストコンピュータに接続された周辺装置を再コンフィギュレーションするためのシステム及びその方法が提供され、このシステム及び方法によれば、ホストコンピュータは、ポートに接続された第１のコンフィギュレーションを有する周辺装置を検出する。ホストコンピュータからコンピュータバスを介して周辺装置に第２の組のコンフィギュレーション情報をダウンロードすることができ、その第２の組のコンフィギュレーション情報に基づいて、周辺装置のコンフィギュレーションが、前記第１のコンフィギュレーションから第２のコンフィギュレーションに電子的にリセット（再設定）される。
【００１２】
本発明のさらなる特徴によれば、標準化されたコンピュータ周辺装置バス及びポートのための周辺インタフェース装置が提供され、この周辺インタフェース装置によれば、周辺装置は、コンピュータ周辺バスとポートとを介してコンピュータシステムに物理的に接続され、周辺装置は第１のコンフィギュレーションを有する。コンピュータシステムから第２の組のコンフィギュレーション情報を受け取ることができ、第２の組のコンフィギュレーション情報に基づいて周辺装置を第２のコンフィギュレーションに再コンフィギュレーションするために、周辺装置の物理的な切り離し及び再接続がシミュレーションされる。
【課題を解決するための手段】
【００１３】
上記目的を達成するために本発明は、コンピュータバス及びポートによってホストコンピュータに接続された周辺装置を切り離して再接続することをシミュレーションするためのシステムであって、該ポートに接続された該周辺装置を検出するための第１回路と、前記コンピュータバスを介して該周辺装置を物理的に切り離して再接続することを電子的にシミュレーションするための第２回路と、を備えたものである。
【００１４】
前記コンピュータバス及びポートがユニバーサルシリアルバス及びポートから成ってもよい。
【００１５】
前記第２回路が半導体スイッチを備えてもよい。
【００１６】
前記第１のコンフィギュレーションが該周辺装置に割り当てられた汎用コンフィギュレーションであり、前記第２のコンフィギュレーションが製造業者に固有のコンフィギュレーションから成ってもよい。
【００１７】
前記第１回路が(i)該周辺装置から識別コードを読み出し、(ii)該識別コードに基づき前記第２のコンフィギュレーションを選択するようにコンフィギュレーションされてもよい。
【００１８】
前記第２のコンフィギュレーション用前記識別コードに基づき装置ドライバを選択するようにコンフィギュレーションされた第３回路を更に備えてもよい。
【００１９】
前記第１回路が該ユニバーサルシリアルバス及びポートを用いて前記第２のコンフィギュレーション用前記識別コードを該周辺装置に転送するようにコンフィギュレーションされた通信回路を更に備えてもよい。
【００２０】
前記第２のコンフィギュレーション用前記識別コードが(i)コンフィギュレーションデータ及び(ii)実行可能コードを含んでもよい。
【００２１】
前記前記第２のコンフィギュレーション用前記識別コードが論理コンフィギュレーション情報を更に含んでもよい。
【００２２】
前記第２回路が該周辺装置の該第１又は第２のコンフィギュレーションをリセット(再設定)するようにコンフィギュレーションされたリセット回路を含んでもよい。
【００２３】
また、本発明は、コンピュータバスによってホストコンピュータに接続されたコンフィギュレーションを有する周辺装置を再コンフィギュレーションするためのシステムであって、該コンピュータバスに接続された該周辺装置を検出するようにコンフィギュレーションされた第１回路と、前記周辺装置に電力供給している時、該周辺装置の前記コンフィギュレーションをリセット（再設定）するために該周辺装置の物理的な切り離し及び再接続を電子的にシミュレーションするようにコンフィギュレーションされた第２回路と、を備えたものである。
【００２４】
前記コンピュータバスがユニバーサルシリアルバスから成ってもよい。
【００２５】
前記第１のコンフィギュレーションが該周辺装置に割り当てられた汎用コンフィギュレーションであり、前記第２のコンフィギュレーションが製造業者に固有のコンフィギュレーションから成ってもよい。
【００２６】
前記第１回路が(i)該周辺装置から識別コードを読み出し(ii)前記識別コードに基づき前記第２のコンフィギュレーションを選択するようにコンフィギュレーションされてもよい。
【００２７】
前記第２のコンフィギュレーション用前記識別コードに基づき装置ドライバを選択するようにコンフィギュレーションされた第３回路を更に備えてもよい。
【００２８】
前記第１回路が該ユニバーサルシリアルバスを用いて前記第２のコンフィギュレーション用前記識別コードを該周辺装置に転送するようにコンフィギュレーションされた通信回路を更に備えてもよい。
【００２９】
前記第２のコンフィギュレーション用前記識別コードが(i)コンフィギュレーションデータ及び(ii)実行可能コードを含んでもよい。
【００３０】
前記第２のコンフィギュレーション用前記識別コードが論理コンフィギュレーション情報を更に含んでもよい。
【００３１】
前記第２回路が該周辺装置の該第１又は第２のコンフィギュレーションをリセット（再設定）するようにコンフィギュレーションされたリセット回路を含んでもよい。
【発明の効果】
【００３２】
本発明は次の如き優れた効果を発揮する。
【００３３】
（１）周辺装置を物理的に切り離して再接続することが電子的にシミュレーションされる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【００３５】
本発明は、ユニバーサルシリアルバスインタフェースシステム及びその方法にとくに有効である。本発明は、このようなシステム及び方法に関連して説明される。しかしながら、本発明によるシステム及び方法は、その他の様々なコンピュータバス及び標準化されたインタフェースなどの広い範囲で利用されてもよいことがわかる。
【００３６】
図１は、従来のコンピュータシステム２０等の標準化されたバスインタフェースを示す構成図であり、このシステム２０は、ホストコンピュータシステム２２及び周辺装置２４を含んでもよい。周辺装置は、ユニバーサルシリアルバス（ＵＳＢ）２６によって、ホストコンピュータに接続される。ホストコンピュータは、ＵＳＢインタフェース（Ｉ／Ｆ）回路３０に接続された中央処理装置（ＣＰＵ）２８を含んでもよく、ＵＳＢ標準は、バス２６を介して、周辺装置のための電気的かつ物理的なユニバーサルインタフェースを提供する。ＣＰＵは、メモリ３１に配置されたソフトウェアアプリケーションコードを実行し、ＵＳＢインタフェース及びＵＳＢ２６を介して周辺装置とデータをやり取りする。さらに、ホストコンピュータは、ソフトウェア装置ドライバ３３を含むオペレーティングシステム３２を含んでもよい。周辺装置２４は、ＵＳＢインタフェース回路３４、ＣＰＵ３６、及び、周辺装置の特徴を記述するコンフィギュレーション情報を記憶することのできる不揮発性メモリ３８を含んでもよい。不揮発性メモリは、読み出し専用メモリ（ＲＯＭ）かまたは消去可能ＰＲＯＭ（ＥＰＲＯＭ）であってもよい。
【００３７】
周辺装置がはじめてＵＳＢに接続されるとき、エニュメレーション処理が実行され、この処理において、ホストコンピュータは、周辺装置内のメモリ３８からコンフィギュレーション情報を受け取ることによって周辺装置の特徴を判断し、周辺装置の特徴に基づいてＵＳＢのコンフィギュレーションを行う。図示されるように、従来のＵＳＢシステムにおいては、周辺装置の特徴に関するコンフィギュレーション情報は、周辺装置の不揮発性メモリ３８に記憶される。周辺装置の特徴に関するデータは、工場において不揮発性メモリにプログラムされ、周辺装置の特徴は、簡単に変更することができない。さらに、周辺装置内のメモリは、周辺装置に関するすべてのコンフィギュレーション情報を記憶し、それは、周辺装置において大きな量のメモリを必要とする場合がある。
【００３８】
エニュメレーション処理が完了すると、ホストコンピュータのＣＰＵは、周辺装置のための適切なソフトウェア装置ドライバ３３をロードすることができ、ホストコンピュータのＣＰＵによって実行されるソフトウェアアプリケーションは、ＵＳＢを用いて周辺装置と通信を行うことができる。第１の周辺装置が切り離されて別の周辺装置がＵＳＢに接続される場合、新しい周辺装置のためのエニュメレーション処理が実行され、別のソフトウェア装置ドライバがロードされるであろう。周辺装置のコンフィギュレーションは、簡単には変更できない。次に、本発明によるユニバーサルシリアルバスシステム及び方法を説明する。
【００３９】
図２は、本発明によるユニバーサルシリアルバスシステムを有するコンピュータシステム５０を示す構成図である。コンピュータシステムは、ユニバーサルシリアルバス（ＵＳＢ）６０によって周辺装置５４に接続されたホストコンピュータ５２を含んでもよい。ホストコンピュータは、ＣＰＵ６２、メモリ６４、オペレーティングシステム６５、及び、ＵＳＢインタフェース回路６６を含んでもよい。第１の周辺装置ドライバ６８のような１つまたは２つ以上の周辺装置ドライバを、オペレーティングシステム６５内に記憶することができる。それぞれの装置ドライバは、特定のクラスの周辺装置に必要とされるＵＳＢの適切なコンフィギュレーションに関する情報を含む。さらに、ホストコンピュータ内のオペレーティングシステムは、異なるコンフィギュレーション情報の組７０を複数含むことができ、これらの組７０は、個々の周辺装置に必要なコンフィギュレーションデータ（どの装置ドライバを使用すべきかを含む）、周辺装置に配置されたＣＰＵによって実行されるべきマイクロプロセッサコード、または、周辺装置内の論理回路のコンフィギュレーションを行うための論理コンフィギュレーションデータを含んでもよい。好都合にも、本発明によれば、これらのコンフィギュレーション情報の組は、容易に更新または変更することができる。なぜなら、それらのコンフィギュレーション情報の組は、周辺装置内の不揮発性メモリに配置されるのではなく、ホストコンピュータに配置されるからである。
【００４０】
周辺装置５４は、ＵＳＢインタフェースシステム７１及びＣＰＵ７２を含んでもよい。ＵＳＢインタフェースシステムは、ランダムアクセスメモリ（ＲＡＭ）または電気的消去可能プログラマブル読み出し専用フラッシュメモリ（フラッシュＥＰＲＯＭ）のような可変メモリ７４及びＵＳＢインタフェース回路７６を含んでもよい。メモリ７４は、最初は、どのコンフィギュレーション情報の組が周辺装置にダウンロードされるべきかを指示する識別コードを含んでいる。ＵＳＢインタフェースシステム７１は、ＵＳＢインタフェース回路と周辺装置に付加されてもよいメモリとを含む半導体チップであってもよい。本発明によるＵＳＢインタフェース回路は、例えば、通信プロトコル、電気的仕様、ＵＳＢの形状的要素などのＵＳＢ標準仕様を満足するように設計され、それによって、以下に説明するように、周辺装置を物理的に切り離しあるいは接続することなく、周辺装置をＵＳＢから切り離し、かつ、ＵＳＢに接続することができる。
【００４１】
様々なコンフィギュレーション情報の組がホストコンピュータ内に記憶されるので、それらを容易に更新または変更することができ、さらに、本発明による電子的な切り離し及び再接続の方法を用いて、ホストコンピュータに取り付けられた周辺装置を、更新されたコンフィギュレーションの組を用いて、動的に（ダイナミックに）再コンフィギュレーションすることができ、その際に、周辺装置を物理的に切り離しかつ再接続しなくてもよい。
【００４２】
本発明によるＵＳＢインタフェースシステムを備えた周辺装置の製造時初期コンフィギュレーションにおいて、動作中、メモリは、ロードされるべき適切なコンフィギュレーション情報の組を指示する識別コードを記憶してもよい。したがって、周辺装置がはじめてＵＳＢに接続されるとき、破線矢印７８によって示されるように、周辺装置に適したいずれかのマイクロプロセッサコードと周辺装置のための適切なコンフィギュレーションデータとを含むコンフィギュレーション情報７０を、ＵＳＢを介して周辺装置５４のメモリ７４にダウンロードすることができる。以下に説明するように、ＵＳＢから周辺装置を切り離しかつ再接続する電気的なシミュレーションが開始されてもよく、そして、再エニュメレーション処理が実行されてもよい。再エニュメレーション処理においては、周辺装置のためのＵＳＢを再コンフィギュレーションするために、新たにダウンロードされたコンフィギュレーション情報を使用することができ、ホストコンピュータは、コンフィギュレーション情報に基づいて、周辺装置のための適切なソフトウェア装置ドライバ６８を選択することができ、矢印８０によって示されるように、装置ドライバをメモリ６４にロードすることができる。例えば、様々な会社によって製造される多種多様な周辺装置のそれぞれが、本発明によるＵＳＢインタフェースシステムを含んでもよい。それぞれのメモリが例えば特定の製造業者に固有の識別コードを含むことを除けば、それぞれの周辺装置のためのＵＳＢインタフェースシステムは同じものである（例えば、ＵＳＢインタフェース回路及びメモリを有する）。１つの周辺装置がＵＳＢ及びホストコンピュータに接続されるとき、その周辺装置のための適切なコンフィギュレーション情報が、識別コードに基づいて、ＵＳＢを介して周辺装置のメモリにダウンロードされ、適切なソフトウェア装置ドライバが、ホストコンピュータのメモリにロードされる。したがって、多種多様な周辺装置が同じＵＳＢインタフェースシステムハードウェアを含んでもよい。なぜなら、コンフィギュレーション情報は、ホストコンピュータのオペレーティングシステムに配置されるからである。次に、従来のＵＳＢインタフェース回路と、周辺装置の電子的な切り離し及び再接続を可能にする本発明によるユニバーサルシリアルバスインタフェース回路とを説明する。
【００４３】
図３は、従来のホストコンピュータユニバーサルシリアルバスインタフェース回路１００及び周辺装置ＵＳＢインタフェース回路１０１を示す構成図である。ホストコンピュータＵＳＢインタフェース１００は、符号Ｄ＋及びＤ−が付けられた２本のＵＳＢデータ線１０２及び１０３を含み、これらは、それぞれ、抵抗１１２及び１１３を介していずれもグランドに接続される（接地される）。周辺装置ＵＳＢインタフェース１０１は、バッファーアンプ１０４を含み、バッファーの第１の通常出力（Ｄ＋）１０６とバッファーの第２の反転出力（Ｄ−）１０８とを有する。バッファーのＤ＋出力は、１．５ＫΩの抵抗１１０を介して例えば３．３ボルトの電源電圧に接続されてもよい。動作中、ホストコンピュータは、２つのＵＳＢデータ線の一方の電圧レベルを監視することによって、周辺装置が接続されていることを検出する。より詳細には、ホストコンピュータにおいて、Ｄ＋データ線は、１５ＫΩの抵抗１１２を介してグランドで終端する。したがって、Ｄ＋データ線が周辺装置に接続されていなければ、測定されたＤ＋データ線の電圧はほぼ０ボルトとなり、ホストコンピュータは、周辺装置がＵＳＢポートに接続されていないと判断する。周辺装置がＵＳＢポートに接続されていれば、周辺装置ＵＳＢインタフェース１０１の電源電圧に接続された１．５ＫΩの抵抗１１０が、Ｄ＋データ線に電圧を印加し、ホストコンピュータ側のＤ＋データ線が３ボルト以上に引き上げられ、それが、ホストコンピュータによって、周辺装置が接続されているものとして検出され、そして、ホストコンピュータは、エニュメレーション処理を開始する。次に、本発明によるＵＳＢインタフェース回路について説明する。
【００４４】
図４は、本発明による周辺装置のためのＵＳＢインタフェース回路を示す構成図であり、このインタフェース回路によれば、周辺装置をＵＳＢから物理的に切り離しそして再接続することなく、周辺装置をＵＳＢから電子的に切り離し及び／または再接続することができる（例えば、切り離し／接続サイクルからなる電気的なシミュレーション）。従来のＵＳＢインタフェースの場合と同様に、ホストコンピュータＵＳＢインタフェース回路１００は、図示されるような符号Ｄ＋及びＤ−が付けられた２本のＵＳＢデータ線１０２及び１０３を含んでもよい。上述したように、それぞれのデータ線は、抵抗を介してグランドに接続され、１５ＫΩの抵抗１１２はＤ＋データ線をグランドに接続する。次に、本発明による周辺装置ＵＳＢインタフェース回路１２０について説明する。
【００４５】
周辺ＵＳＢインタフェース回路１２０は、バッファーアンプ１２２を含んでもよく、第１のバッファー出力１２４は符号Ｄ＋を有し、第２のバッファー出力１２６は符号Ｄ−を有する。本発明によれば、Ｄ＋データ線は、１．５ＫΩの抵抗１２８と、例えば電界効果トランジスタ（ＦＥＴ）のような半導体スイッチである電気的スイッチ１３０とを介して例えば３．３ボルトの電源電圧に接続されてもよい。電気的スイッチは、電気的スイッチの動作を制御する制御線１３２を有してもよい。電気的スイッチは、通常、周辺装置によって制御されるが、ホストコンピュータが、電気的スイッチを作動させるように周辺装置に命令するコマンドを含むコンフィギュレーション情報をダウンロードしてもよい。したがって、周辺装置自身とホストコンピュータの両方が、電気的スイッチを制御することができる。上述したように、周辺装置がＵＳＢに物理的に接続されていなければ、ホストコンピュータは、Ｄ＋データ線から０ボルトを検出する。
【００４６】
周辺装置がＵＳＢに接続されていれば、電気的スイッチによって、周辺装置をＵＳＢから物理的に切り離すことなく、周辺装置は、それ自身をＵＳＢから切り離しそしてＵＳＢに再接続することができる。より詳細には、周辺装置がＵＳＢに物理的に接続されていても電気的スイッチが開いていれば、もはやＤ＋データ線は電源電圧に接続されず、ホストコンピュータは、たとえ周辺装置が依然としてＵＳＢに物理的に接続されていても周辺装置はすでに切り離されていると判断する。同様に、電気的スイッチが再び閉じられると、Ｄ＋データ線は電源電圧に再び接続され、ホストコンピュータは、周辺装置がＵＳＢに再接続されたことを検出する。したがって、周辺装置を実際に物理的に切り離し及び／または接続することなく、周辺装置の物理的な切り離し及び／または接続を達成することができる。周辺装置のこの電子的な切り離し及び再接続は、上述したように、ホストコンピュータに記憶されたコンフィギュレーション情報の組と組み合わせることによって、周辺装置の物理的な切り離し及び再接続を必要とすることなく周辺装置のコンフィギュレーションを容易に変更することを可能にする。次に、それぞれが本発明によるＵＳＢインタフェースシステムを含む多種多様な周辺装置をコンピュータシステムに接続するためのシステムの例を説明する。
【００４７】
図５、図６、及び、図７は、例えば本発明によるホストコンピュータに接続される様々な製造業者によって製造された３つの異なる周辺装置を示す構成図である。それぞれの図面において、コンピュータシステム１４０は、ホストコンピュータ１４２、周辺装置「Ａ」１４４（図５に示される）、周辺装置「Ｂ」１４６（図６に示される）、周辺装置「Ｃ」１４８（図７に示される）のような複数の周辺装置、及び、ＵＳＢバス１４９を含んでもよい。ホストコンピュータ１４２は、ＣＰＵ１５０、メモリ１５２、オペレーティングシステム１５４、及び、ＵＳＢインタフェース回路１５６を含んでもよい。この例においては、オペレーティングシステムは、装置ドライバ「Ａ」１５８、装置ドライバ「Ｂ」１６０、及び、装置ドライバ「Ｃ」１６２のような複数のソフトウェア装置ドライバと、装置「Ａ」の特徴１６４、装置「Ｂ」の特徴１６６、及び、装置「Ｃ」の特徴１６８のような複数のコンフィギュレーション情報の組とを含んでもよい。
【００４８】
それぞれの周辺装置１４４、１４６、１４８は、例えば図４に示されるようなＵＳＢインタフェース回路１７２とロード可能メモリ１７４とを含むユニバーサルＵＳＢインタフェースシステム１７０を含んでもよい。さらに、それぞれの周辺装置は、ＣＰＵ１７６及び不揮発性メモリ１７８を含んでもよい。不揮発性メモリは、周辺装置にダウンロードされるべき適切なコンフィギュレーション情報を識別する固有の製造番号または製造識別子を記憶することができる。次に、これらの周辺装置のそれぞれをコンピュータシステムに接続することについて説明する。
【００４９】
図５に示されるように、周辺装置「Ａ」１４４は、不揮発性メモリ１７８内に固有の製造番号を有することができる。周辺装置がコンピュータシステムに接続されるとき、エニュメレーション処理が開始され、この処理において、ＵＳＢインタフェースシステム１７０は、ＵＳＢによって汎用装置（ｇｅｎｅｒｉｃ  ｄｅｖｉｃｅ）として認識され、固有の製造番号が、ＣＰＵ１５０によって、ＵＳＢ１４９を介して不揮発性メモリから読まれる。その固有の製造番号は、装置「Ａ」の特徴１６４を適切なコンフィギュレーション情報とみなし、このコンフィギュレーション情報が、破線矢印１８０によって示されるように、ＵＳＢ１４９を介して周辺装置のメモリ１７４にダウンロードされる。そして、上述したように、周辺装置の切り離し及び再接続からなる電気的なシミュレーションが実行され、それは周辺装置の再エニュメレーションをもたらす。再エニュメレーションにおいて、装置「Ａ」の特徴１６４によって適切な装置ドライバとみなされた装置ドライバ「Ａ」１５８が、矢印１８２によって示されるように、オペレーティングシステムからメモリにロードされ、それによって、この時点で、周辺装置は、装置「Ａ」の特徴を備えた周辺装置として認識される。このように、汎用ハードウェアＵＳＢインタフェースシステムを周辺装置に組み込むことができ、後に、特定の周辺装置のための特定の特徴をホストコンピュータから周辺装置にダウンロードすることができる。
【００５０】
同様に、図６及び図７に示されるように、周辺装置１４６及び１４８は、汎用ＵＳＢインタフェースシステム及び固有の製造番号を不揮発性メモリ内に含むことができ、本発明に従って再エニュメレーションされ、適切な装置特徴がＵＳＢを介してホストコンピュータから周辺装置のメモリにダウンロードされ、適切な装置ドライバがホストコンピュータによって選択されることが可能である。したがって、周辺装置「Ｂ」１４６（図６に示される）は、図６において破線矢印１８４によって示されるように、それのメモリにダウンロードされた装置「Ｂ」の特徴１６６を有することができ、ホストコンピュータは、図６において矢印１８６によって示されるように、装置ドライバ「Ｂ」１６０を使用することができる。周辺装置「Ｃ」１４８（図７に示される）は、図７において破線矢印１８８によって示されるように、それのメモリにダウンロードされた装置「Ｃ」の特徴１６８を有することができ、ホストコンピュータは、図７において矢印１９０によって示されるように、装置ドライバ「Ｃ」１６２を使用することができる。このように、汎用ＵＳＢインタフェースシステムは、多種多様な周辺装置に組み込まれることが可能であり、適切なコンフィギュレーション情報が、周辺装置にダウンロードされることが可能であり、そして、再エニュメレーションが、製造業者に固有の装置として周辺装置を認識する。汎用周辺装置の再エニュメレーションによって、ホストコンピュータは、汎用接続に関するあらゆる装置ドライバ情報を放棄し、製造業者に固有の装置ドライバソフトウェアをロードすることができる。
【００５１】
図８は、本発明によるＵＳＢに接続された周辺装置を再コンフィギュレーションまたは再エニュメレーションするための方法２００を示すフローチャートである。周辺装置がはじめてＵＳＢに接続されるとき、ステップ２０２において、周辺装置を汎用装置内にコンフィギュレーションすることができ、その結果、ステップ２０４において、周辺装置の特定のコンフィギュレーション情報を周辺装置にダウンロードすることができる。次に、ホストコンピュータに周辺装置を再コンフィギュレーションさせるために、ステップ２０６において、上述したような装置の電子的な切り離し及び再接続が実行される。周辺装置をＵＳＢから電子的に切り離しそして再接続することが周辺装置によって開始されるが、上述したように、それは、ホストコンピュータによって開始されてもよい。周辺装置を電子的に再接続した後、ホストコンピュータは、周辺装置を再エニュメレーションし（ステップ２０８）、それによって、周辺装置は、ステップ２０４において得られたダウンロードされたコンフィギュレーション情報に基づいたコンフィギュレーションを有する。そして、ホストコンピュータが適切な装置ドライバを選択すれば、このコンフィギュレーションで周辺装置を使用することができる。次に、その後のある時点で、ステップ２１０において、周辺装置のユーザは、新しいコンフィギュレーション情報によって周辺装置を再コンフィギュレーションすることを希望してもよい。プログラム（方法）は、ステップ２０４にループバックし、それによって、周辺装置に必要な新しいコンフィギュレーション情報をホストコンピュータから周辺装置にダウンロードすることができ、周辺装置は、ＵＳＢから電子的に切り離され、そして、再接続され、さらに、再エニュメレーションされ、新しいコンフィギュレーション情報によって動作することができるようになる。また、この方法は、図５に示されるように、ソフトローダブル（ソフトがロード可能な）ノードによってＵＳＢに接続された異なるコンフィギュレーション情報を有する複数の周辺装置のためのＵＳＢを再コンフィギュレーションするのに使用されてもよい。
【００５２】
本発明によるユニバーサルシリアルバスインタフェースシステムは、様々な利点を提供する。このシステムによれば、新しい装置ドライバソフトウェアを周辺装置に結合するための再エニュメレーションと呼ばれる技術を、簡単に実行することができる。周辺装置を物理的に切り離しそして再接続することなく、周辺装置をＵＳＢから切り離し再接続して再エニュメレーションを実行することができる。さらに、周辺装置はホストコンピュータから物理的に切り離されることがないので、周辺装置は、ＵＳＢを介して得ることのできる電力を使用して、コンフィギュレーション情報が揮発性メモリに存在する場合にその情報を保持し、かつ、シミュレーションにおいて模擬的に切り離しているときにタスクを実行することができる。１つまたは２つ以上のコンフィギュレーション情報の組に含まれる周辺装置の特徴は、ホストコンピュータ内に記憶されることが可能であり、それによって、そのコンフィギュレーション情報を容易に変更することができる。ホストコンピュータ内に記憶されたコンフィギュレーション情報の組と、周辺装置の電子的な切り離し及び再接続とを組み合わせることによって、周辺装置を物理的に切り離すことなく、周辺装置の特徴を迅速に変更することができる。さらに、ＵＳＢに接続されたどのような周辺装置のコンフィギュレーションでも何度も更新または変更することができる。さらに、このシステムによれば、汎用ＵＳＢインタフェースシステムを複数の周辺装置内に組み込むことができ、製造業者に固有のコンフィギュレーション情報に基づいてそれぞれの周辺装置をコンフィギュレーションすることができる。
【００５３】
上記において本発明の特定の実施の形態に基づいて説明がなされたが、当業者であれば、本発明の原理及び精神を逸脱することなくこの実施の形態を変更できることは明らかであり、本発明の範囲は請求の範囲によって規定される。
【図面の簡単な説明】
【００５４】
【図１】コンピュータシステムにおける従来のユニバーサルシリアルバスシステムの構成図である。
【図２】本発明によるユニバーサルシリアルバスシステムの構成図である。
【図３】従来のユニバーサルシリアルバスインタフェースの回路構成図である。
【図４】本発明によるユニバーサルシリアルバスインタフェースの回路構成図である。
【図５】ＵＳＢポートを介してコンピュータシステムに接続された第１のコンフィギュレーションを有する周辺装置の構成図であり、本発明によってコンフィギュレーションされる。
【図６】本発明によって第２のコンフィギュレーションにコンフィギュレーションされる周辺装置の構成図である。
【図７】本発明によって第３のコンフィギュレーションに再コンフィギュレーションされる周辺装置の構成図である。
【図８】本発明によるユニバーサルシリアルバスに接続された周辺装置のためのコンフィギュレーション情報を変更する方法を示すフローチャートである。
【符号の説明】
【００５５】
１００  ホストコンピュータＵＳＢインタフェース回路
１０２，１０３  ＵＳＢデータ線
１２０  周辺ＵＳＢインタフェース回路
１３０  電気的スイッチ
【図１】
2007115286.tif 000003
【図２】
2007115286.tif 000004
【図３】
2007115286.tif 000005
【図４】
2007115286.tif 000006
【図５】
2007115286.tif 000007
【図６】
2007115286.tif 000008
【図７】
2007115286.tif 000009
【図８】
2007115286.tif 000010