(57)【特許請求の範囲】
【請求項１】
デバイスのモードを制御する装置により実行される方法であって、
前記デバイスのＵＳＢコネクタ内のＶｂｕｓピンのＶｂｕｓ電圧を求めることと、
前記Ｖｂｕｓ電圧をしきい値と比較することと、
前記デバイスが前記Ｖｂｕｓピンへ電圧を印加しているか否を判断することと、
前記Ｖｂｕｓ電圧と前記しきい値との比較結果、及び、前記デバイスが前記Ｖｂｕｓピンへ電圧を印加しているか否の判断に基づいて前記デバイスを、スレイブ又はホストとして設定することと  
を含む、方法。
【請求項２】
前記デバイスを設定するステップが、
前記デバイスが前記Ｖｂｕｓピンへ電圧を印加していない場合、前記デバイスを前記Ｖｂｕｓ電圧と前記しきい値との比較結果に基づいて設定することと、
前記デバイスが前記Ｖｂｕｓピンへ電圧を印加している場合、前記デバイスが前記Ｖｂｕｓピンへ電圧を印加しなくなるまで前記デバイスが前記Ｖｂｕｓピンへ電圧を印加しているか否かを判断し続けることと
を含む、請求項１に記載の方法。    
【請求項３】
前記デバイスを設定するステップが、
前記ＵＳＢコネクタでレスポンスが受け取られているか否かを判断することと、
前記ＵＳＢコネクタでレスポンスが受け取られていない場合、前記Ｖｂｕｓピンへ電圧を印加することを停止することと、
前記ＵＳＢコネクタでレスポンスが受け取られている場合、前記デバイスをホストとして設定することと  
を含む、請求項１または請求項２のうちのいずれか一項に記載の方法。
【請求項４】
前記Ｖｂｕｓピンの前記Ｖｂｕｓ電圧を前記しきい値と比較するステップが、
前記Ｖｂｕｓ電圧が前記しきい値より大きい場合、前記ＵＳＢコネクタにホストとして設定されている周辺機器が取り付けられていることを示すことと、
前記Ｖｂｕｓ電圧が前記しきい値未満である場合、前記ＵＳＢコネクタにスレイブとして設定されている周辺機器が取り付けられていることを示すことと  
を含む、請求項１乃至３のうちのいずれか一項に記載の方法。
【請求項５】
前記デバイスを設定するステップが、
前記比較結果が前記ＵＳＢコネクタにスレイブとして設定されている周辺機器が取り付けられていることを示す場合、前記デバイスをホストとして設定することと、
前記比較結果が前記ＵＳＢコネクタにホストとして設定されている周辺機器が取り付けられていることを示す場合、前記デバイスをスレイブとして設定することと  
を含む、請求項１乃至４のうちのいずれか一項に記載の方法。
【請求項６】
前記デバイスを設定するステップが、
前記Ｖｂｕｓピンへ前記電圧を印加することと、
レスポンスが受け取られたか否かを判断するために前記ＵＳＢコネクタを監視することと、
前記レスポンスが受け取られていない場合、前記Ｖｂｕｓピンへ電圧を印加することを停止することと、
前記レスポンスが受け取られている場合、前記デバイスをホストとして設定することと  
を含む、請求項１乃至５のうちのいずれか一項に記載の方法。
【請求項７】
前記デバイスを設定することが、前記Ｖｂｕｓピンに電圧を選択的に印加することと、
前記デバイスをスレイブスタックおよびホストスタックのうちの１つを用いて設定することとを含む、請求項１乃至６のうちのいずれか一項に記載の方法。
【請求項８】
デバイス（１０）のモードを制御する装置（１００）であって、
プロセッサ（１１０）と、
前記プロセッサ（１１０）と結合される電圧比較モジュール（１３０）とを備え、
前記プロセッサ（１１０）および前記電圧比較モジュール（１３０）が前記デバイス（１０）のＵＳＢコネクタ（２００）内のＶｂｕｓピン（２１０）のＶｂｕｓ電圧を測定し、前記デバイス（１０）が前記Ｖｂｕｓピン（２１０）へ電圧を印加しているか否を判断するように構成され、
前記電圧比較モジュール（１３０）が前記Ｖｂｕｓ電圧をしきい値と比較するように構成され、
前記プロセッサ（１１０）が前記Ｖｂｕｓ電圧と前記しきい値との比較結果、及び、前記デバイスが前記Ｖｂｕｓピンへ電圧を印加しているか否の判断に基づいて前記デバイス（１０）を、スレイブ又はホストとして設定するように構成されてなる、装置（１００）。
【請求項９】
前記デバイス（１０）を設定するように構成される前記プロセッサ（１１０）が、
前記デバイス（１０）が前記Ｖｂｕｓピン（２１０）へ電圧を印加していない場合、前記Ｖｂｕｓ電圧と前記しきい値との比較結果に基づいて前記デバイス（１０）をホストとして設定し、
前記デバイス（１０）が前記Ｖｂｕｓピン（２１０）へ電圧を印加している場合、前記デバイス（１０）が前記Ｖｂｕｓピン（２１０）へ電圧を印加しているか否を前記デバイス（１０）が前記Ｖｂｕｓピン（２１０）へ電圧を印加しなくなるまで判断し続けるように構成されるプロセッサ（１１０）である、請求項８に記載の装置（１００）。
【請求項１０】
前記デバイス（１０）を設定するように構成されるプロセッサ（１１０）が、
前記ＵＳＢコネクタ（２００）でレスポンスが受け取られているか否を判断し、
前記ＵＳＢコネクタ（２００）でレスポンスが受け取られていない場合、前記Ｖｂｕｓピン（２１０）へ電圧を印加することを停止し、
前記ＵＳＢコネクタ（２００）でレスポンスが受け取られている場合、前記デバイス（１０）をホストとして設定するように構成されるプロセッサ（１１０）である、請求項８または請求項９に記載の装置（１００）。
【請求項１１】
前記Ｖｂｕｓピン（２１０）の前記Ｖｂｕｓ電圧を前記しきい値と比較するように構成される前記電圧比較モジュール（１３０）が、
前記Ｖｂｕｓピン（２１０）の前記Ｖｂｕｓ電圧を測定し、
前記Ｖｂｕｓ電圧が前記しきい値より大きい場合、前記ＵＳＢコネクタ（２００）にホストとして設定されている周辺機器（２５０）が取り付けられていることを示し、
前記Ｖｂｕｓ電圧が前記しきい値未満である場合、前記ＵＳＢコネクタ（２００）にスレイブとして設定されている周辺機器（２５０）が取り付けられていることを示すように構成される電圧比較モジュール（１３０）である、請求項８乃至１０のうちのいずれか一項に記載の装置（１００）。
【請求項１２】
前記デバイス（１０）を設定するように構成される前記プロセッサ（１１０）が、
前記比較結果が、前記ＵＳＢコネクタ（２００）にスレイブとして設定されている周辺機器（２５０）が取り付けられていることを示す場合、前記デバイス（１０）をホストとして設定し、
前記比較結果が、前記ＵＳＢコネクタ（２００）にホストとして設定されている周辺機器（２５０）が取り付けられていることを示す場合、前記デバイス（１０）をスレイブとして設定するように構成されるプロセッサ（１１０）である、請求項８乃至１１のうちのいずれか一項に記載の装置（１００）。
【請求項１３】
前記プロセッサ（１１０）および前記Ｖｂｕｓピン（２１０）と結合され、前記Ｖｂｕｓピン（２１０）へ選択的に前記電圧を印加するように構成される電源モジュール（１２０）をさらに備えており、
前記デバイス（１０）を設定するように構成される前記プロセッサ（１１０）が、
前記電源モジュール（１２０）に前記Ｖｂｕｓピン（２１０）へ電圧を印加させる信号を前記電源モジュール（１２０）へ送り、
レスポンスが受け取られるか否を判断するために前記ＵＳＢコネクタ（２００）を監視し、
前記レスポンスが受け取られない場合、前記Ｖｂｕｓピン（２１０）へ電圧を印加することを停止し、
前記レスポンスが受け取られる場合、前記デバイス（１０）をホストとして設定するように構成されるプロセッサ（１１０）である、請求項８乃至１２のうちのいずれか一項に記載の装置（１００）。
【請求項１４】
前記Ｖｂｕｓピン（２１０）へ電圧を印加するように構成される前記プロセッサ（１１０）が、前記Ｖｂｕｓピン（２１０）へ電圧を印加する信号を前記電源モジュール（１２０）へ送るように構成されるプロセッサ（１１０）である、請求項１３に記載の装置（１００）。
【請求項１５】
前記デバイス（１０）を設定するように構成される前記装置（１００）が、
前記Ｖｂｕｓピン（２１０）へ選択的に電圧を印加し、
前記デバイスをスレイブスタックおよびホストスタックのうちの１つを用いて設定するように構成される装置（１００）である、請求項８乃至１４のうちのいずれか一項に記載の装置（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスに関するものであり、とくにデバイスのモードを制御する方法および装置に関するものである。
【背景技術】
【０００２】
元々、ユニバーサルシリアルバス（ＵＳＢ）規格とは、あらかじめ定められた役割を有する電子ハードウェア間におけるデータの接続を規定したものであった。ＵＳＢ規格により規定されている役割は一般に「ホスト」と「スレイブ」と呼ばれている。ホストは、ホストとスレイブとの間のデータ通信をすべて制御および開始するＵＳＢホストコントローラを有している。ホストは、通常、スレイブがホストからの通信に応答することができるようにスレイブへ電力を供給するようになっていた。ＵＳＢ規格は、ホストが他のホストに取り付けられることのないように、ホストおよびスレイブ用のさまざまなコネクタを規定していた。具体的にいえば、ＵＳＢ規格は、ホストがタイプＡコネクタを有すること、また、スレイブがタイプＢコネクタを有することを要求していた。
【０００３】
ＵＳＢ規格が広く受け入れられるようになるにつれて、場合によってはホストの役割をし、場合によってはスレイブの役割をする必要があるデバイスが誕生してきた。たとえば、カメラは、プリンタに対してはホストとして機能し、コンピュータに対してはスレイブとして機能する必要が生じる可能性がある。したがって、ＵＳＢ規格は、デバイスにホストとしてまたはスレイブとして機能させることを可能とする「Ｏｎ  Ｔｈｅ  Ｇｏ」（ＯＴＧ）と呼ばれる付属文書または２次規格を追加して更新された。ＯＴＧ規格では、新たな組のコネクタおよびケーブルが規定された。ＯＴＧ規格に準拠するコネクタは、ＯＴＧ規格前のＵＳＢコネクタにさらなるピンを追加したものである。その結果、ＯＴＧ規格に準拠するコネクタはＯＴＧ規格前のＵＳＢコネクタおよびケーブルと互換性を有していない。加えて、ＯＴＧ規格では、ホストの役割とスレイブの役割とを自動的に簡単に切り換えるだけでなくそれを超えることを可能とする複雑なスタックウェア／ファームウェアの機能がさらに加えられた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＯＴＧ規格により得られる利点を利用するため、ＯＴＧ規格前のハードウェアの設計にＯＴＧ規格の利点を生かした設計を導入することが望まれている。しかしながら、ほとんどの設計の場合、ＯＴＧ規格に準拠するコネクタを生かした設計とすることは容易ではない。たとえば、追加のピンに対応するためにさらなるトレースを加えた設計に既存の設計を新しく変更しなければならなくなる。さらに、ハードウェア設計の中には、ＯＴＧ規格に規定される通信スタックにより発生してしまうソフトウェアの諸費用の問題によって完全に設計変更しなければならなくなるものもある。
【０００５】
加えて、多くのデバイスメーカーには、ＯＴＧ規格に準拠していない周辺機器を所有している顧客が存在する。たとえば、産業装置を所有する顧客の中には、デバイスからデータを保存して後で分析する目的でタイプＡコネクタを有するＵＳＢメモリー（ＵＳＢ  ｔｈｕｍｂ  ｄｒｉｖｅ）を用いている人達も存在する。また、これらの顧客は、ＯＴＧ規格にアップグレードすることができない旧型のコンピュータおよびプログラムでデバイスを制御している可能性もある。その結果、ＯＴＧ規格に準拠するコネクタを用いてデバイスをアップグレードしようとすると、顧客が、周辺機器の在庫を交換する必要が生じてしまう。デバイスメーカーとしてはこのことを回避したい。
【０００６】
以上の事から、デバイスがＯＴＧ規格に準拠していないＵＳＢコネクタを有している場合にデバイスのモードを制御する装置および方法の必要性が存在する。また、ＯＴＧ規格により発生するさらなるソフトウェアの諸費用およびハードウェアの再設計を必要とすることなくデバイスのモードを制御する必要性がさらに存在する。
【課題を解決するための手段】
【０００７】
デバイスのモードを制御する方法が提供されている。ある実施形態によれば、かかる方法は、デバイスのＵＳＢコネクタ内のＶｂｕｓピンのＶｂｕｓ電圧を求めることと、Ｖｂｕｓ電圧をしきい値と比較することと、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイスを設定することとを含んでいる。
【０００８】
デバイス（１０）のモードを制御する装置（１００）が提供されている。ある実施形態によれば、かかる装置（１００）は、プロセッサ（１１０）と、プロセッサ（１１０）と結合される電圧比較モジュール（１３０）とを備えており、プロセッサ（１１０）および電圧比較モジュール（１３０）はデバイス（１０）のＵＳＢコネクタ（２００）内のＶｂｕｓピン（２１０）のＶｂｕｓ電圧を求めるように構成されており、電圧比較モジュール（１３０）はＶｂｕｓ電圧をしきい値と比較するように構成されており、プロセッサ（１１０）はＶｂｕｓ電圧としきい値との比較結果に基づいてデバイス（１０）を設定するように構成されている。
態様
ある態様によれば、デバイスのモードを制御する方法は、デバイスのＵＳＢコネクタ内のＶｂｕｓピンのＶｂｕｓ電圧を求めることと、Ｖｂｕｓ電圧をしきい値と比較することと、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイスを設定することとを含む。
【０００９】
好ましくは、ＶｂｕｓピンのＶｂｕｓ電圧を求めるステップは、デバイスがＶｂｕｓピンへ電圧を印加しているか否を判断することと、デバイスがＶｂｕｓピンへ電圧を印加していない場合、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイスを設定することと、デバイスがＶｂｕｓピンへ電圧を印加している場合、デバイスがＶｂｕｓピンへ電圧を印加しなくなるまでデバイスがＶｂｕｓピンへ電圧を印加しているか否かを判断し続けることとを含む。
【００１０】
好ましくは、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイスを設定するステップは、ＵＳＢコネクタでレスポンスが受け取られているか否かを判断することと、ＵＳＢコネクタでレスポンスが受け取られていない場合、Ｖｂｕｓピンへ電圧を印加することを停止することと、ＵＳＢコネクタでレスポンスが受け取られている場合、デバイスをホストとして設定することとを含む。
【００１１】
好ましくは、ＶｂｕｓピンのＶｂｕｓ電圧をしきい値と比較するステップは、Ｖｂｕｓ電圧がしきい値より大きい場合、ホストとして設定されている周辺機器がＵＳＢコネクタに取り付けられていることを示すことと、Ｖｂｕｓ電圧がしきい値未満である場合、スレイブとして設定されている周辺機器がＵＳＢコネクタに取り付けられていることを示すこととを含む。
【００１２】
好ましくは、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイスを設定するステップは、比較結果がスレイブとして設定されている周辺機器がＵＳＢコネクタに取り付けられていることを示す場合、デバイスをホストとして設定することと、比較結果がホストとして設定されている周辺機器がＵＳＢコネクタに取り付けられていることを示す場合、デバイスをスレイブとして設定することとを含む。
【００１３】
好ましくは、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイスを設定するステップは、Ｖｂｕｓピンへ電圧を印加することと、レスポンスが受け取られているか否かを判断するためにＵＳＢコネクタを監視することと、レスポンスが受け取られていない場合、Ｖｂｕｓピンへ電圧を印加することを停止することと、レスポンスが受け取られている場合、デバイスをホストとして設定することとを含む。
【００１４】
好ましくは、デバイスを設定することは、Ｖｂｕｓピンへ電圧を印加することと、スレイブスタックおよびホストスタックのうちの１つを用いてデバイスを設定することとを含む。
【００１５】
ある態様によれば、デバイス（１０）のモードを制御する装置（１００）は、プロセッサ（１１０）と、プロセッサ（１１０）と結合される電圧比較モジュール（１３０）とを備え、プロセッサ（１１０）および電圧比較モジュール（１３０）はデバイス１０のＵＳＢコネクタ（２００）内のＶｂｕｓピン（２１０）のＶｂｕｓ電圧を求めるように構成されており、電圧比較モジュール（１３０）はＶｂｕｓ電圧をしきい値と比較するように構成されており、プロセッサ（１１０）はＶｂｕｓ電圧としきい値との比較結果に基づいてデバイス１０を設定するように構成されている。
【００１６】
好ましくは、Ｖｂｕｓピン（２１０）のＶｂｕｓ電圧を求めるように構成されるプロセッサ（１１０）および電圧比較モジュール（１３０）は、デバイス（１０）がＶｂｕｓピン（２１０）へ電圧を印加しているか否かを判断するように構成されるプロセッサ（１１０）と、Ｖｂｕｓピン（２１０）のＶｂｕｓ電圧を測定するように構成される電圧比較モジュール（１３０）とであり、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイス（１０）を設定するように構成されるプロセッサ（１１０）は、デバイス１０がＶｂｕｓピン（２１０）へ電圧を印加しているか否を判断し、 デバイス１０がＶｂｕｓピン（２１０）へ電圧を印加していない場合、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイス（１０）をホストとして設定し、デバイス１０がＶｂｕｓピン（２１０）へ電圧を印加している場合、デバイス１０がＶｂｕｓピン（２１０）へ電圧を印加しなくなるまでデバイス（１０）がＶｂｕｓピン（２１０）へ電圧を印加しているか否を判断し続けるように構成されるプロセッサ（１１０）である。
【００１７】
好ましくは、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイス（１０）を設定するように構成されるプロセッサ（１１０）は、ＵＳＢコネクタ（２００）でレスポンスが受け取られているか否を判断し、ＵＳＢコネクタ（２００）でレスポンスが受け取られていない場合、Ｖｂｕｓピン（２１０）へ電圧を印加することを停止し、ＵＳＢコネクタ（２００）でレスポンスが受け取られている場合、デバイス（１０）をホストとして設定するように構成されるプロセッサ（１１０）である。
【００１８】
好ましくは、Ｖｂｕｓピン（２１０）のＶｂｕｓ電圧をしきい値と比較するように構成される電圧比較モジュール（１３０）は、Ｖｂｕｓピン（２１０）のＶｂｕｓ電圧を測定し、Ｖｂｕｓ電圧がしきい値より大きい場合、ホストとして設定されている周辺機器（２５０）がＵＳＢコネクタ（２００）に取り付けられていることを示し、Ｖｂｕｓ電圧がしきい値未満である場合、スレイブとして設定されている周辺機器（２５０）がＵＳＢコネクタ（２００）に取り付けられていることを示すように構成される電圧比較モジュール（１３０）である。
【００１９】
好ましくは、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイス（１０）を設定するように構成されるプロセッサ（１１０）は、スレイブとして設定されている周辺機器（２５０）がＵＳＢコネクタ（２００）に取り付けられていることを比較結果が示す場合、デバイス（１０）をホストとして設定し、ホストとして設定されている周辺機器（２５０）がＵＳＢコネクタ（２００）に取り付けられていることを比較結果が示す場合、デバイス（１０）をスレイブとして設定するように構成されるプロセッサ（１１０）である。
【００２０】
好ましくは、かかる装置は、プロセッサ（１１０）およびＶｂｕｓピン（２１０）と結合され、Ｖｂｕｓピン（２１０）へ選択的に電圧を印加するように構成される電源モジュール（１２０）をさらに備え、Ｖｂｕｓ電圧としきい値との間の比較結果に基づいてデバイス（１０）を設定するように構成されるプロセッサ（１１０）は、電源モジュール（１２０）にＶｂｕｓピン（２１０）へ電圧を印加させる信号を電源モジュール（１２０）へ送り、ＵＳＢコネクタ（２００）を監視してレスポンスが受け取られるか否を判断し、レスポンスが受け取られない場合、Ｖｂｕｓピン（２１０）へ電圧を印加することを停止し、 レスポンスが受け取られる場合、デバイス（１０）をホストとして設定するように構成されるプロセッサ（１１０）である。
【００２１】
好ましくは、Ｖｂｕｓピン（２１０）へ電圧を印加するように構成されるプロセッサ（１１０）は、Ｖｂｕｓピン（２１０）へ電圧を印加する信号を電源モジュール（１２０）へ送るように構成されるプロセッサ（１１０）である。
【００２２】
好ましくは、デバイス（１０）を設定するように構成される装置（１００）は、Ｖｂｕｓピン（２１０）へ選択的に電圧を印加し、 スレイブスタックおよびホストスタックのうちの１つを用いてデバイスを設定するように構成される装置（１００）である。
【００２３】
以下の図面の説明では、同一の参照番号はすべての図面において同一の部品を表わしている。図面の縮尺は必ずしも均一ではない。
【図面の簡単な説明】
【００２４】
【図１】ある実施形態にかかるデバイス１０を示す図である。
【図２】デバイス１０内の装置１００をさらに詳細に示す図である。
【図３】ある実施形態にかかる方法３００を示す図である。
【図４】ある実施形態にかかる方法４００を示す図である。
【図５】ある実施形態にかかる方法５００を示す図である。
【発明を実施するための形態】
【００２５】
図１〜図５および下記の記載には、デバイスのモードを制御する方法および装置を最良のモードでどのように実施および利用するかについて当業者に教示するための具体的な例が示されている。本発明の原理を教示する目的で、デバイスのモードを制御する方法および装置のいくつかの従来の態様は単純化されるかまたは省略されている。当業者にとって明らかなように、これらの実施形態の変形例もまた本発明の範囲に含まれる。また当業者にとって明らかなように、下記に記載の特徴をさまざまな方法で組み合わせてデバイスのモードを制御する方法および装置の多くの変化例を形成することできる。したがって、後述の実施形態は、後述の具体的な例に限定されるものではなく、特許請求の範囲およびその均等物によってのみ限定されるものである。
【００２６】
図１にはある実施形態にかかるデバイス１０が示されている。図示されている実施形態では、デバイス１０は、デバイス１０のモードを制御する装置１００を備えている。また、デバイス１０は、ＵＳＢコネクタ２００を有する回路基板１２をさらに備えている。図示されている実施形態では、ＵＳＢコネクタ２００は回路基板１２の縁部に結合されているが、他の位置であっても本発明の範囲内に含まれる。装置１００は回路基板１２と結合され、ＵＳＢコネクタ２００と電気的に結合し、ラインで示されているトレース（配線）を有している。しかしながら、他の実施形態の一部では、装置１００が回路基板１２と結合されていない場合もある。
【００２７】
図１に示されている実施形態では、装置１００は、電源モジュール１２０と、電圧比較モジュール１３０と、ＵＳＢコネクタ２００とに電気的に結合されているプロセッサ１１０を有している。電源モジュール１２０は、ＵＳＢコネクタ２００内のＶｂｕｓピン２１０と電気的に結合されている。また、電圧比較モジュール１３０もＶｂｕｓピン２１０と電気的に結合されている。Ｖｂｕｓピン２１０に加えて、ＵＳＢコネクタ２００は２つのデジタル通信ピンＤ＋、Ｄ−と、接地ピンＧＮＤをさらに有している。デジタル通信ピンＤ＋、Ｄ−は、デバイス１０とＵＳＢコネクタ２００に取り付けられている周辺機器２５０との間のシリアル通信のために用いられる。
【００２８】
周辺機器２５０は、ＵＳＢコネクタ２００に対応するＵＳＢコネクタを備えたハードウェアならばどのようなものであってもよい。たとえば、図１に示されている実施形態では、周辺機器２５０はスレイブとして構成されているメモリースティックであってもよい。メモリースティックはタイプＡのＵＳＢコネクタを有しうる。したがって、デバイス１０はホストとして構成される。それに代えて、周辺機器２５０は、ケーブルを介してＵＳＢコネクタ２００に接続されるホストとして構成されるパソコンであってもよい。したがって、デバイス１０はスレイブとして構成されることになる。デバイス１０および周辺機器２５０がスレイブまたはホストとして構成されると説明されているが、通常「ホスト」または「スレイブ」と呼ばれない他の役割も本発明の範囲内に含まれる。図１の実施形態では、デバイス１０は、ホスト構成またはスレイブ構成のいずれであっても、ＵＳＢ規格に準拠しうるＵＳＢコネクタ２００を介して周辺機器２５０と通信することができるようになっている。
【００２９】
ＵＳＢ規格により、Ｖｂｕｓピン２１０が、コネクタのタイプに応じて、ＵＳＢコネクタ２００に接続されているデバイス１０または周辺機器２５０により供給されている電圧を有していることが必要とされている。したがって、周辺機器２５０もＶｂｕｓピン２５１を有するものとして示されている。より詳細に下記に説明されているように、デバイス１０または周辺機器２５０は、コネクタのタイプにかかわらず、Ｖｂｕｓピン２１０、２５１に電力を供給することができるようになっている。その結果、デバイス１０および周辺機器２５０は、たとえＵＳＢコネクタ２００がＯＴＧ規格に準拠していなくても、どちらがＶｂｕｓピン２１０、２５１へ電力を供給しているかに応じてスレイブとして動作する電力を受け取ることができるようになっている。
【００３０】
ＯＴＧ規格がＩＤピンを有するＭｉｃｒｏ−ＵＳＢコネクタの如きＯＴＧ規格に準拠するコネクタに限定されたものなので、ＵＳＢコネクタ２００はＯＴＧ規格には準拠していない。ＩＤピンは、ＯＴＧに準拠するコネクタにより接続される２つのデバイスのモードの識別に用いられる。たとえば、２つのデバイスのうちの一方のデバイスはＩＤピンをフローティング（ｆｌｏａｔ）させることができ、他方のデバイスはアースされたＩＤピンを有している。ＩＤピンのフローティング状態およびアース状態は２つのデバイスの役割を定義するために用いられる。また、ＯＴＧ規格には、２つのデバイスのモードの設定にはホスト交換プロトコル（ＨＮＰ）および役割交換プロトコル（ＲＳＰ）を用いることがさらに規定されている。すなわち、２つのデバイスが、スレイブがホストへの役割交換の要求、ポーリング中断などの事項を含む複雑なプロトコルスタックを通じて役割の交渉するようになっている。それとは対照的に、図１に示されているＵＳＢコネクタ２００では、必ずしも複雑なプロトコルスタックを必要とされず、ＩＤピンも存在していない。
【００３１】
しかしながら、より詳細に下記に説明されているように、装置１００はデバイス１０のモードを制御することができるようになっている。たとえば、ＩＤピンに依存することに代えて、装置１００がデバイス１０のＵＳＢコネクタ２００のＶｂｕｓピン２１０のＶｂｕｓ電圧を測定することができるようになっている。装置１００は、Ｖｂｕｓ電圧をしきい値と比較し、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイス１０を設定することができるようになっている。したがって、ＯＴＧ規格により必要なさらなるＩＤピンやそれ対応するＲＳＰプロトコルおよびＨＮＰプロトコルが必要ではなくなっている。有利なことに、デバイスをホストまたはスレイブとして設定するのに、ＯＴＧ規格に準拠していないＵＳＢコネクタを用いることが可能となっている。
【００３２】
図２には、デバイス１０内の装置１００のさらに詳細な図が示されている。図示されているように、装置１００は、図１に関連して先に記載のプロセッサ１１０と、電源モジュール１２０と、電圧比較モジュール１３０とを有している。プロセッサ１１０は、電源モジュール１２０、電圧比較モジュール１３０およびＵＳＢコネクタ２００に電気的に結合されている。装置１００がトレースを用いてＵＳＢコネクタ２００と結合されるものとして図示されているが、他の通信路が用いられてもよい。それに加えて、プロセッサ１１０、電源モジュール１２０および電圧比較モジュール１３０は、デバイス１０の一部であるものとして示されているが、他の実施形態では、デバイス１０とは別体のものであってもよい。
【００３３】
図２に示されている実施形態では、デバイス１０を設定するようにプロセッサ１１０を構成することが可能である。たとえば、プロセッサ１１０は、Ｖｂｕｓピン２１０への供給電圧をオンまたはオフにするように電源モジュール１２０に命じるソフトウェアを有する中央処理装置（ＣＰＵ）であってもよい。また、プロセッサ１１０は、たとえばＶｂｕｓピン２１０のＶｂｕｓ電圧を表わす信号を電圧比較モジュール１３０から受け取ることがさらにできるようになっていてもよい。また、プロセッサ１１０はデジタル通信ピンＤ＋、Ｄ−を通じて通信するように構成されていてもよい。しかしながら他の実施形態では、プロセッサ１１０はデジタル通信ピンＤ＋、Ｄ−と結合されていなくともよい。たとえば、デジタル通信ピンＤ＋、Ｄに異なるプロセッサまたは他のデバイスが電気的に結合されるようになっていてもよい。これらおよび他のプロセッサは電源モジュール１２０をさらに制御することができるようになっている。
【００３４】
電源モジュール１２０は電源スイッチ１２２とダイオードＤ１とを有している。電源スイッチ１２２は、＋５．０ＶＤＣとして図示されている供給電圧と結合される供給ピンＶＩＮを有している。また、電源スイッチ１２２は、プロセッサ１１０と結合されるイネイブルピンＥＮと、ダイオードＤ１を介してＶｂｕｓピン２１０と結合される出力電圧ピンＶＯＵＴとをさらに有している。つまり、プロセッサ１１０は、出力電圧ＶＯＵＴに電圧をＶｂｕｓピン２１０へ供給させることを可能とすることができる。この電圧にはピンＶＩＮに供給される＋５．０ＶＤＣ供給電圧が用いられてもよい。また、電源スイッチ１２２は、アースピンＧＮＤと、電流制限ピンＩＬＩＭＩＴと、故障ピンＦＡＵＬＴとを有するものとしてさらに図示されている。アースピンＧＮＤおよび電流制限ピンＩＬＩＭＩＴは何と結合されているか明確には図示されていない。故障ピンＦＡＵＬＴはプロセッサ１１０と結合されている。つまり、プロセッサ１１０は、電源スイッチ１２２の故障状態を検出することができる。プロセッサ１１０は、さらに電圧比較モジュール１３０中のコンポーネントから信号を受け取ることができる。
【００３５】
電圧比較モジュール１３０は、Ｖｂｕｓピン２１０に結合される電圧比較器Ｕ１を有している。電圧比較器Ｕ１は、第一の抵抗器Ｒ１および第二の抵抗器Ｒ２に結合されるものとしてさらに示されている。抵抗器Ｒ１、Ｒ２は電圧比較器Ｕ１に対する基準入力のための電圧分圧器として働くことができる。第二の抵抗器Ｒ２は、基準入力部のための排出路をさらに提供することができる。第一の抵抗器Ｒ１は、＋５．０ＶＤＣとして示されている供給電圧と結合されている。電圧比較器Ｕ１の電圧入力部はＵＳＢコネクタ２００内のＶｂｕｓピン２１０と結合されている。電圧入力部は、たとえばＶｂｕｓピン２１０のＶｂｕｓ電圧を測定するように構成されている。また図２には、第一のコンデンサＣ１が基準入力部と結合され、第二のコンデンサＣ２が電圧入力部と結合されていることが示されている。コンデンサＣ１、Ｃ２は、基準入力部および電圧入力部の電圧を安定させることができる。第三の抵抗器Ｒ３および第四の抵抗器Ｒ４が、電圧入力部と結合され、Ｖｂｕｓピン２１０のための排出路を提供することができるようになっている。他の実施形態では、抵抗器およびコンデンサが異なる構成を有している場合もある。
【００３６】
図示されている実施形態では、抵抗器Ｒ１、Ｒ２の値については、基準ピンに対するしきい値を提供するように選択することができるようになっている。たとえば抵抗器Ｒ１、Ｒ２の値は、電圧比較器Ｕ１の基準入力部の電圧が所望のしきい値電圧になるように選択することができる。同様に、第三の抵抗器および第四の抵抗器Ｒ３、Ｒ４の値については、Ｖｂｕｓピン２１０のＶｂｕｓ電圧の所望の範囲内にある電圧を提供するように選択することができる。それに加えて、第三の抵抗器および第四の抵抗器Ｒ３、Ｒ４は、比較器Ｕ１の基準入力部の電圧に放電路を提供することができる。したがって、デバイス１０がＶｂｕｓピン２１０へ電圧を印加しているために周辺機器２５０が電荷を蓄積している場合、Ｖｂｕｓピン２１０の蓄積電圧を第三の抵抗器および第四の抵抗器Ｒ３、Ｒ４を通じて放電させることができる。このため、たとえばループ後、Ｖｂｕｓ電圧を測定する前に電圧を放電させることが可能となる。
【００３７】
電圧比較器Ｕ１は、Ｖｂｕｓピン２１０のＶｂｕｓ電圧を測定し、このＶｂｕｓ電圧をしきい値と比較することができる。たとえばＶｂｕｓ電圧がしきい値より大きい場合、電圧比較器Ｕ１は、Ｖｂｕｓ電圧がしきい値より大きいことを示す信号をプロセッサ１１０へ送ることができる。他の実施形態では、Ｖｂｕｓ電圧をしきい値と比較するさまざまな異なる方法を用いることができるようになっている。たとえばＶｂｕｓ電圧をしきい値と比較するために、抵抗器およびコンデンサの異なる配置や、さらなる電圧比較器、デジタル論理などが用いられるようになっている場合もある。
【００３８】
プロセッサ１１０は、Ｖｂｕｓ電圧としきい値との間の比較結果に基づいてデバイス１０を設定することができる。たとえば、図２に示されている実施形態で、比較がＵＳＢコネクタ２００に取り付けられている周辺機器２５０がホストとして設定されていることを示す場合、プロセッサ１１０はデバイス１０をスレイブとして設定することができる。また、比較結果がＵＳＢコネクタ２００に取り付けられている周辺機器２５０がスレイブとして設定されていることを示す場合、プロセッサ１１０はデバイス１０をホストとして設定することもできる。図３〜図６に関連して下記にさらに詳細に説明されているように、これらおよび他の方法を実行するように装置１００を構成することができる。
【００３９】
図３にはある実施形態にかかる方法３００が示されている。図３に示されているように、かかる方法３００はデバイスのＵＳＢコネクタ内のＶｂｕｓピンのＶｂｕｓ電圧を求めるステップ３１０を有している。ステップ３１０の後のステップ３２０では、Ｖｂｕｓ電圧がしきい値と比較される。ステップ３３０では、装置１００はＶｂｕｓ電圧としきい値との比較結果に基づいてデバイス１０を設定することができる。下記では、ステップ３１０〜ステップ３３０がさらに詳細に説明されている。
【００４０】
ステップ３１０では、装置１００は、ＵＳＢコネクタ２００内のＶｂｕｓピン２１０のＶｂｕｓ電圧を求めることができる。たとえば、プロセッサ１１０および電圧比較モジュール１３０がＶｂｕｓピン２１０のＶｂｕｓ電圧を求めるように構成されてもよい。図１の実施形態では、プロセッサ１１０は、電源モジュール１２０および電圧比較モジュール１３０から信号を受け取ることができるようになっている。これらの信号を用いて、プロセッサ１１０は、Ｖｂｕｓピン２１０の電圧が電源モジュール１２０に起因するものかまたはＵＳＢコネクタ２００に取り付けられている周辺機器２５０に起因するものかを判断することができる。実施形態によっては、装置１００は、Ｖｂｕｓ電圧が周辺機器２５０に起因するまでＶｂｕｓ電圧を測定し続けるようになっている場合もある。
【００４１】
ステップ３２０では、装置１００はＶｂｕｓ電圧をしきい値と比較することができる。たとえば図１に示されている実施形態では、電圧比較モジュール１３０は、Ｖｂｕｓ電圧をたとえば電圧比較モジュール１３０の抵抗器の如きコンポーネントにより求められるしきい値と比較することができる。たとえば、図２に示されているこれらの抵抗器Ｒ１、Ｒ２は＋５．０ＶＤＣ供給電圧を分割することができる。第二の抵抗器Ｒ２が電圧比較器Ｕ１と結合されているところの電圧（「Ｒ２電圧」）がしきい値であってもよい。
【００４２】
ステップ３３０では、かかる方法３００は、Ｖｂｕｓ電圧としきい値との比較結果に基づいてデバイス１０を設定することができる。たとえば、プロセッサ１１０は、Ｖｂｕｓピン２１０に電圧を選択的に印加するように電源モジュール１２０を設定することができる。図２に示されている実施形態では、プロセッサ１１０は、Ｖｂｕｓピン２１０に電圧を選択的に印加するようにする信号を電源スイッチ１２２のイネイブルピンＥＮに送ることができるようになっている。この電圧は、電圧出力ピンＶＯＵＴを用いてダイオードＤ１を介してＶｂｕｓピン２１０に印加することができる。デバイス１０の設定後、デバイス１０のモードを制御する方法３００はステップ３１０に戻ることができる。
【００４３】
上述の方法３００およびステップ３１０〜ステップ３３０はさまざまなさらなるおよびその他のステップを有する構成とすることができる。下記では、他のステップを有する例示的な方法が図４および図５を参照して説明されている。
【００４４】
図４にはある実施形態にかかる方法４００が示されている。かかる方法４００は、Ｖｂｕｓピン２１０のＶｂｕｓ電圧を求めるステップ４１０を有している。ステップ４２０では、Ｖｂｕｓ電圧がしきい値と比較される。ステップ４２０の後、かかる方法４００は、比較結果がＵＳＢコネクタ２００に取り付けられている周辺機器２５０がステップ４３２〜ステップ４３４から構成されるステップ４３０においてホストとして設定されていることを示しているのかまたはスレイブとして設定されていることを示しているかを判断する。この比較結果に応じて、デバイス１０をホストまたはスレイブとして設定することができる。このことは下記にさらに詳細に説明されている。
【００４５】
ステップ４３２では、Ｖｂｕｓ電圧としきい値との間の比較結果がＵＳＢコネクタ２００に取り付けられている周辺機器２５０の設定を示すことができる。たとえば、図１に示されている実施形態では、電圧比較モジュール１３０はＶｂｕｓピン２１０のＶｂｕｓ電圧を電圧しきい値と比較することができるようになっている。電圧比較モジュール１３０は、周辺機器２５０がホストとして設定されているかまたはスレイブとして設定されているかをプロセッサ１１０に示すことができる。図２に示されている実施形態では、電圧比較器Ｕ１が、Ｖｂｕｓ電圧とＲ２電圧とを比較し、ＵＳＢコネクタ２００に取り付けられている周辺機器２５０がスレイブまたはホストであることを示す信号をプロセッサ１１０へ送ることができるようになっている。この信号は、周辺機器２５０がホストとして設定されていることを示す「１」ビットを表わす高電圧および周辺機器２５０がスレイブとして設定されていることを示す「０」ビットを表わす０ボルトの如き低電圧からなるデジタル信号であってもよい。
【００４６】
ステップ４３４およびステップ４３６では、プロセッサ１１０は、ステップ４３２で行われた比較結果に応じて、Ｖｂｕｓピン２１０へ選択的に電圧を印加する信号を電源モジュール１２０に送ることができる。たとえば、周辺機器２５０がホストとして設定されていることを比較結果が示す場合、ステップ４３４でデバイス１０をスレイブとして設定することができる。また、周辺機器２５０がスレイブとして設定されていることを比較結果が示す場合、デバイス１０をホストとして設定することができる。図２に示されている実施形態では、プロセッサ１１０は、デバイス１０を設定するための信号を電源スイッチ１２２のイネイブルピンＥＮに送ることができるようになっている。イネイブルピンＥＮに送られた信号に応じて、電源スイッチ１２２はＶｂｕｓピン２１０へ電圧を印加することができる。デバイス１０をスレイブとして設定するのかまたはホストとして設定するのかは、Ｖｂｕｓピン２１０へ選択的に電圧を印加することによって決めることができるようになっている。このことは、図５を参照して下記にさらに詳細に説明されている。
【００４７】
図５にはある実施形態にかかる方法５００が示されている。かかる方法５００では、ステップ５１０により、デバイス１０のＵＳＢコネクタ２００内のＶｂｕｓピン２１０のＶｂｕｓ電圧が求められる。ステップ５２０では、Ｖｂｕｓ電圧がしきい値と比較される。かかる方法５００では、ステップ５３０で、デバイス１０を比較結果に基づいて設定することができる。ステップ５１０、ステップ５２０およびステップ５３０はさらなるステップから構成されている。このことは、下記でさらに詳細に説明されている。
【００４８】
ステップ５１０では、Ｖｂｕｓピン２１０のＶｂｕｓ電圧を求めるために、ステップ５１２でデバイス１０がＶｂｕｓピン２１０へ電圧を印加しているか否かが判断され、ステップ５１４で、Ｖｂｕｓピン２１０のＶｂｕｓ電圧が測定される。図１に示されている実施形態では、プロセッサ１１０は、電源モジュール１２０がＶｂｕｓピン２１０へ電圧を印加しているか否かを判断することができるようになっている。図２を参照すると、プロセッサ１１０は、電源スイッチ１２２にＶｂｕｓピン２１０へ電圧を印加させる信号が電源スイッチ１２２のイネイブルピンＥＮに送られているか否かを判断することができる。たとえば、プロセッサ１１０において実行されるコードは、プロセッサ１１０がイネイブルピンＥＮに「１」ビットを送っているか否かをチェックすることができる。デバイス１０がＶｂｕｓピン２１０へ電圧を印加している場合、かかる方法５００は、ステップ５２６に移動し、ＵＳＢコネクタ２００でレスポンスが受け取られているか否かを判断する。このことは、ステップ５２０を参照して下記にさらに詳細に説明されている。
【００４９】
さらにステップ５１２を参照すると、デバイス１０がＶｂｕｓピン２１０へ電圧を印加していなければ、かかる方法５００では、ステップ５１４でＶｂｕｓピン２１０のＶｂｕｓ電圧が測定される。電圧比較モジュール１３０は、Ｖｂｕｓピン２１０のＶｂｕｓ電圧を測定することができる。たとえば、図２に示されている実施形態では、電圧比較器Ｕ１は、図２に示されているトレースを用いてＶｂｕｓピン２１０のＶｂｕｓ電圧を測定することができるようになっている。Ｖｂｕｓ電圧測定はアナログ電圧値であってもよい、ただし他の実施形態にはたとえばデジタルサンプリングまたは他の測定技術が含まれる場合もある。どのように測定されるとしても、ステップ５２２から始まるステップで、Ｖｂｕｓ電圧がしきい値と比較される。
【００５０】
ステップ５２２では、しきい値が求められる。たとえば、電圧比較モジュール１３０は、たとえば内部コンポーネントによりセットされるパラメータを用いてしき値電圧を求めることができる。たとえば図２の実施形態では、しきい値は、電圧比較器Ｕ１により測定される基準ピンのＲ２電圧であってもよい。上述のように、第一の抵抗器Ｒ１と第二の抵抗器Ｒ２との比からＲ２電圧を求めることができる。
【００５１】
ステップ５２４では、装置１００は、Ｖｂｕｓ電圧がしきい値より大きいか否かを判断することができる。図１の実施形態では、電圧比較モジュール１３０がＶｂｕｓ電圧がしきい値より大きいか否か判断することができるようになっている。たとえば図２の実施形態では、電圧比較器Ｕ１が、Ｖｂｕｓ電圧をＲ２電圧と比較し、Ｖｂｕｓ電圧がＲ２電圧より大きいことを示す信号をプロセッサ１１０へ送ることができるようになっている。代替え実施形態では、Ｖｂｕｓ電圧としきい値との間の比較が逆であってもよい。たとえば、Ｖｂｕｓ電圧がしきい値未満である場合、代替え電圧比較器がプロセッサ１１０へ信号を送るようにしてもよい。それに代えて、Ｖｂｕｓ電圧およびＲ２電圧をデジタル化し、数的比較を行い、Ｖｂｕｓ電圧がしきい値より大きいか否かの判断をするようにしてもよい。
【００５２】
Ｖｂｕｓ電圧がしきい値より大きい場合、装置１００はデバイス１０をスレイブとして設定してもよい。たとえば、装置１００は、電源モジュール１２０を無効にしてＶｂｕｓピン２１０に印加されている電圧をゼロとすることにより、デバイス１０をスレイブとして設定することができる。図２の実施形態では、たとえばプロセッサ１１０が電源スイッチ１２２のイネイブルピンＥＮに０ボルトを印加することにより電源モジュール１２０を無効にすることができるようになっている。このことにより、電源スイッチ１２２はＶｂｕｓピン２１０へ電圧を印加することができなくなる。
【００５３】
ステップ５２４で、装置１００がＶｂｕｓ電圧がしきい値未満であると判断した場合、デバイス１０をホストとして設定することができる。たとえば図１を参照すると、装置１００は、ステップ５３４でＵＳＢコネクタ２００内のＶｂｕｓピン２１０へ電圧を印加することにより、デバイス１０をホストとして設定するようにしてもよい。装置１００は、Ｖｂｕｓピン２１０へ電圧を印加することにより、Ｖｂｕｓピン２１０の低Ｖｂｕｓ電圧または０のＶｂｕｓ電圧が周辺機器２５０がスレイブとして設定されていることに起因するのか、または、周辺機器２５０がＵＳＢコネクタ２００に取り付けられていないことに起因するのかを判断することができる。具体的にいえば、装置１００は、ステップ５３５で電圧がＶｂｕｓピンに印加された後、ステップ５２６でレスポンスがＵＳＢコネクタ２００で受け取られるか否を判断することができる。
【００５４】
上述のように、周辺機器２５０がＵＳＢコネクタ２００に取り付けられ、スレイブとして設定されている場合、電圧がＶｂｕｓピン２１０へ印加された時に周辺機器２５０はＵＳＢコネクタ２００へレスポンスを送る。このため、ＵＳＢコネクタ２００でレスポンスが受け取られなかった場合、周辺機器２５０がＵＳＢコネクタ２００に取り付けられていない可能性がある。したがって、ＵＳＢコネクタ２００でレスポンスが受け取られなかった場合、装置１００はステップ５３８でＶｂｕｓピン２１０へ電圧を印加することを停止してステップ５１０に戻る。プロセッサ１１０はレスポンスをある期間待つことができる。
【００５５】
この期間はプロセッサ１１０により実行されているソフトウェアによりセットすることができる。この期間は周辺機器２５０の電圧の放電を確実なものとするためにセットすることもできる。たとえば、デバイス１０がＶｂｕｓピン２１０へ電圧を印加すると周辺機器２５０の静電容量（すなわち、コンデンサ）に起因して周辺機器２５０が充電されてしまう可能性がある。図２を参照して先に説明したように、上述の期間、周辺機器２５０の充電されたコンデンサの電気を第三の抵抗器および第四の抵抗器Ｒ３、Ｒ４通じて放電させることができる。応答するための十分な時間を周辺機器２５０のために確保することを含む他の理由により上述の期間がセットされるようになっている場合もある。
【００５６】
ステップ５３５で、装置１００がＵＳＢコネクタ２００によりレスポンスが受け取られたと判断した場合、ステップ５３６で、デバイス１０がホストとして設定される。図１に示されている実施形態では、装置１００は、電源モジュール１２０にＶｂｕｓピン２１０へ電圧を印加させる信号を電源モジュール１２０へ送ることにより、デバイス１０をホストとして設定することができるようになっている。たとえば、図２に示されているように、プロセッサ１１０は０を超える電圧から構成される信号を電源スイッチ１２２のイネイブルピンＥＮに送ることができる。イネイブルピンＥＮに送られた信号は、電源スイッチ１２２に出力電圧ピンＶＯＵＴ電圧へ＋５．０ＶＤＣを加えさせるようになっている場合もある。他の実施形態では異なる電圧を印加させるようになっていてもよい。以上の事から、装置１００はスレイブとして設定されている周辺機器２５０が取り付けられている可能性があるＵＳＢコネクタ２００内のＶｂｕｓピン２１０へ電圧を印加することができるようになっている。
【００５７】
デバイス１０をホストとして設定する際、プロセッサ１１０は周辺機器２５０との通信も開始することができる。たとえば、プロセッサ１１０は、ＵＳＢ規格に準拠するホスト通信プロトコルスタック（「ホストスタック」）を選択してＵＳＢコネクタ２００に取り付けられている周辺機器２５０と通信することができる。装置１００により実行されるホストスタックは、プロセッサ１１０のメモリー（図示せず）に格納されていてもよいしまたは他の適切な格納デバイスに格納されていてもよい。ホストスタックはＵＳＢコネクタ２００を介したデバイス１０と周辺機器２５０との間の通信を開始し、制御するように構成されていてもよい。
【００５８】
たとえば、ホストスタックはデータ転送機構を開始するようになっていてもよい。図１に示されている実施形態では、ホストスタックは、制御データ転送機構を実行するようにプロセッサ１１０に命令してもよく、この制御データ転送機構では、たとえば、プロセッサ１１０は、コマンドを周辺機器２５０へ送るようにまたは周辺機器２５０からのパラメータの問い合わせをするようになっている。また、ホストスタックは、周辺機器２５０による割り込み要求の問い合わせをプロセッサ１１０にさせることができる。ＵＳＢ規格に規定された他のデータ転送機構を用いることもできる。
【００５９】
デバイス１０がスレイブとして設定されている場合、周辺機器２５０はＶｂｕｓピン２１０に電圧を供給してデータ転送機構を開始するようになっている。装置１００は、ホストとして設定されている周辺機器２５０と通信するために、電源モジュール１２０を無効にしてプロセッサ１１０のスレイブスタックを実行することによりデバイス１０をスレイブとして設定することができる。たとえば、プロセッサ１１０は、約０ボルトの信号を図２に示されている電源スイッチ１２２のイネイブルピンＥＮへ送ることができる。また、プロセッサ１１０はスレイブスタックをプロセッサ１１０の中へ読み込むことができる。スレイブスタックは、プロセッサ１１０に、または、デバイス１０の他の部分、たとえばＵＳＢコミュニケーションチップにＵＳＢコネクタ２００を介して周辺機器２５０から知らせを受けるように命令することができる。
【００６０】
たとえば、デバイス１０を動作させるように構成されているプログラムを備えたパソコンが、ＵＳＢコネクタ２００に取り付けられてもよい。このパソコンはホストとして設定されるのでＶｂｕｓピン２１０へ電圧を印加してもよい。装置１００は、Ｖｂｕｓピン２１０のＶｂｕｓ電圧を求め、Ｖｂｕｓ電圧をしきい値と比較し、デバイス１０をスレイブとして設定することができる。また、装置１００は、プロセッサ１１０に、または、デバイス１０の他のコンポーネントにレスポンスをパソコンへ送るスレイブスタックを実行させることができる。パソコン上のプログラムは、このレスポンスを受け取り、信号を送り、この信号が、データで応答する、パラメータを設定する等の如き機能をデバイス１０に実行させることができる。
【００６１】
上述の実施形態では、デバイス１０のモードを制御する装置１００および方法３００〜５００が提供されている。上述のように、装置１００および方法３００〜５００は、ＩＤピンを備えていないＵＳＢコネクタ２００内のＶｂｕｓピン２１０のＶｂｕｓ電圧を求めることができる。このＶｂｕｓ電圧をしきい値と比較し、ＵＳＢコネクタ２００に取り付けられている周辺機器２５０がホストかまたはスレイブかを判断することができる。周辺機器２５０の設定に基づいて、装置１００および方法３００〜５００はデバイス１０をスレイブまたはホストとして設定することができる。
【００６２】
その結果、ＯＴＧに準拠せず、ＩＤピンを備えていないＵＳＢコネクタ２００をホストまたはスレイブとして設定されうるデバイス１０において用いることができる。このため、ホストまたはスレイブとして設定されうる周辺機器２５０とデバイス１０との間の通信に単一のＵＳＢコネクタ２００を用いることができる。たとえば、ＵＳＢ２．０仕様書に規定されているＵＳＢタイプＡコネクタをスレイブまたはホストとして設定されるデバイス１０において用いることができる。
【００６３】
ホストまたはスレイブとして設定されうるデバイス１０で単一のＵＳＢコネクタ２００を用いることにより、新たに設計するコストを下げることができる。上述の実施形態では、デバイス１０のモードを制御する装置１００および方法３００〜５００は、ＯＴＧ規格より簡単なホストスタックまたはスレイブスタックを用いてデバイス１０を設定することができるようになっている。たとえば、デバイス１０に実装されたホストスタックおよびスレイブスタックは、ＯＴＧ規格により必要とされるＲＳＰプロトコルおよびＨＮＰプロトコルを必ずしも備えている必要はない。このことにより、たとえばプロセッサ１１０のソフトウェアの諸経費を削減することができ、ＲＳＰプロトコルまたはＨＮＰプロトコルにより引き起こされる恐れのある遅延が生じることなく他の機能を実行することが可能となる。それに加えて、従来のハードウェア、たとえばＵＳＢタイプＡコネクタを備えたメモリースティックを用いることができる。このことにより、デバイス１０メーカーの顧客が自分達の周辺機器のアップグレードを要求されないことを担保することができる。
【００６４】
上述の実施形態の詳細な記載は、本発明者らにより本発明に含まれる考えられる実施形態すべてを網羅するものではない。もっと正確にいえば、当業者にとって明らかなように、上述の実施形態のうちのいくつかの構成要素をさまざまに組み合わせてまたは除去してさらなる実施形態を作成してもよく、また、このようなさらなる実施形態も本明細書の技術範囲内および教示範囲内に含まれる。また当業者にとって明らかなように、上述の実施形態を全体的にまたは部分的に組み合わせて本明細書の技術および教示の範囲に含まれるさらなる実施形態を作成してもよい。
【００６５】
以上のように、特定の実施形態または実施例が例示の目的で本明細書に記載されているが、当業者にとって明らかなように、本明細書の技術範囲内においてさまざまな変更が可能である。本明細書に記載の教示を上述のおよびそれに対応する図面に記載の実施形態のみでなくデバイスのモードを制御する他の装置や方法にも適用することができる。したがって、上述の実施形態の範囲は添付の特許請求の範囲により決定されるべきものである。
【図１】
0006517327.tif 000002
【図２】
0006517327.tif 000003
【図３】
0006517327.tif 000004
【図４】
0006517327.tif 000005
【図５】
0006517327.tif 000006