(57)【要約】【課題】ＵＳＢホストが通常動作モードから省電力モードに切り替わった際に、このＵＳＢホストのＵＳＢポートに接続されているＵＳＢデバイスの状態を考慮したデバイス接続可否判定を可能にする。【解決手段】ＵＳＢホスト１０は、ＵＳＢポート１０３−１や１０３−２に新たにＵＳＢデバイスが接続された際に、該ＵＳＢデバイスの通常動作モード、省電力モード（Ｕ０，Ｕ１，Ｕ２，Ｕ３など）の実使用電流値を測定して保持しておく。そして、通常動作モードから省電力モードに切り替わった場合、ＵＳＢホスト１０は、ＵＳＢポート１０３−１や１０３−２の省電力モードにおける使用可能電流値とＵＳＢポート１０３−１や１０３−２に接続されているＵＳＢデバイスの該省電力モードで必要とする実使用電流値の総和とを比較して、ＵＳＢデバイスの接続可否を判定する。【選択図】図１
2014130424.tif 000002
【特許請求の範囲】
【請求項１】
デバイス接続ポートを備え、通常動作モード、省電力モードで前記ポートの使用可能電流値が変化する電子機器において、
前記ポートに接続されるデバイスの通常動作モード、省電力モードにおける実使用電流値を記憶する手段と、
省電力モードに切り替わった際に、前記ポートの該省電力モードにおける使用可能電流値と前記ポートに接続されるデバイスの該省電力モードで必要とする実使用電流値の総和とを比較して、デバイスの接続可否を判定する手段と、
を有することを特徴とする電子機器。
【請求項２】
前記ポートに新たにデバイスが接続された際に、該デバイスの通常動作モード、省電力モードにおける実使用電流値を測定する手段を有することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記デバイスの接続可否を判定する手段は、前記ポートに新たにデバイスが接続された際には、前記ポートの通常動作モードにおける使用可能電流値と、前記ポートに新たに接続されたデバイス及び前記ポートに既に接続されているデバイスの通常動作モードで必要とする実使用電流値の総和とを比較して、デバイスの接続可否を判定することを特徴とする請求項１もしくは２に記載の電子機器。
【請求項４】
前記ポートに接続されるデバイスの優先度を記憶する手段を有し、
前記デバイスの接続可否を判定する手段は、前記デバイスの実使用電流値の総和が前記ポートの使用可能電流値を超える場合、優先度の低いデバイスを接続拒否とすることを特徴とする請求項１乃至３のいずれか１項に記載の電子機器。
【請求項５】
前記ポートはＵＳＢポート、前記デバイスはＵＳＢデバイスであり、ＵＳＢ２．０あるいはＵＳＢ３．０に準拠していることを特徴とする請求項１乃至４のいずれか１項に記載の電子機器。
【請求項６】
デバイス接続ポートを備え、通常動作モード、省電力モードで前記ポートの使用可能電流値が変化する電子機器におけるデバイス接続可否判定方法であって、
前記ポートに新たにデバイスが接続された際に、前記デバイスの通常動作モード、省電力モードにおける実使用電流値を測定するステップと、
前記測定した各モードにおける実使用電流値を記憶するステップと、
省電力モードに切り替わった際に、前記ポートの該省電力モードにおける使用可能電流値と前記ポートに接続されるデバイスの該省電力モードで必要とする実使用電流値の総和とを比較して、デバイスの接続可否を判定するステップと、
を有することを特徴とするデバイス接続可否判定方法。
【請求項７】
前記ポートに新たにデバイスが接続された際には、前記ポートの通常動作モードにおける使用可能電流値と、前記ポートに新たに接続されたデバイス及び前記ポートに既に接続されているデバイスの通常動作モードで必要とする実使用電流値の総和とを比較して、デバイスの接続可否を判定するステップを更に有することを特徴とする請求項６に記載のデバイス接続可否判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢポートなどのデバイス接続ポートを備えた電子機器及びそのデバイス接続可否判定方法に関する。
【背景技術】
【０００２】
ＵＳＢポートを備えた電子機器をＵＢＳホストあるいは単にホストと称し、ＵＳＢポートに接続されるデバイスをＵＳＢデバイスあるいは単にデバイスと称すことにする。また、電力と電流は同義とする。
【０００３】
ＵＳＢホストでは、ＵＳＢポートの最大使用電流が決まっており、この最大使用電流を超えるデバイスは接続することができない。一方、ＵＳＢデバイスには、該デバイスが必要とする最大使用電流の設定値が決められており、ＵＳＢホストは、この設定値を参照することで、接続先デバイスの最大使用電流を知ることができる。そこで、ＵＳＢホストでは、この接続先デバイスの最大使用電流の設定値によって、ＵＳＢポートの最大使用電流を超えるデバイスは接続させないように制御している。
【０００４】
しかし、一般にデバイスの最大使用電流の設定値は実使用電流よりも大きく見積もられている。実際には、デバイスが常に最大使用電流を消費する訳ではない。したがって、デバイスの最大使用電流の設定値がホスト側でのＵＳＢポートの最大使用電流を超えていたとしても、必ずしも接続できない訳ではない。ＵＳＢデバイスの接続可否判定を、その最大使用電流の設定値で行うと、デバイスを接続できるはずなのに接続できないということが起きる。
【０００５】
これを解決するために、例えば特許文献１には、ＵＳＢポートにデバイスを接続する場合、ポートに接続されているデバイスの実使用電流の総和を検出して、この実使用電流の総和とポートの最大使用電流を比較し、実使用電流の総和がポートの最大使用電流を超えていないと、接続対象デバイスの規定電流値（最大使用電流の設定値）を参照して、接続可否を判定する技術が開示されている。また、この特許文献１には、ポートに接続されているデバイスの実使用電流の総和がポートの最大使用電流を超えた場合には、優先順位の低いデバイスを切り離す技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、ＵＳＢ規格に新しくＵＳＢ３．０が登場し、従来のＵＳＢ規格であるＵＳＢ２．０からＵＳＢ３．０への切り替えが進められている。ＵＳＢ３．０では、供給電流の最大値がＵＳＢ２．０の５００mAから９００mAに変更されている。さらに、ＵＳＢ３．０では省電力（省エネ）の使用が新しく策定されている。すなわち、ＵＳＢ２．０では通常動作モードとしての通常起動モード（Ｕ０）、サスペンドモード（Ｕ３）だけであったが、ＵＳＢ３．０では、Ｕ１，Ｕ２の２モードがＵ０とＵ３の中間レベルのリンク層、物理層の接続を切る省エネモードとして採用されている。Ｕ１，Ｕ２モードはＵ０モードに比べて電力（電流）の消費量が小さくなる。
【０００７】
一方、近年、画像形成装置（ＭＦＰ等）などの電子機器では、省電力効果を高めるために、使用状況などに応じて、電子機器を通常消費電力モードから待機消費電力モードや、消費電力を更に抑える低消費電力モードへ切り替える方式を採用することが一般的になってきている。ここでは、待機消費電力モードや低消費電力モードをまとめて省電力モード（省エネモード）と称することにする。
【０００８】
電子機器が省エネモードに切り替わると、該電子機器（ホスト）に接続されているＵＳＢデバイスに供給される電力も低下する。しかし、デバイスによっては、ホスト側が省エネモードに切り替わった場合でも、通常起動モード（Ｕ０）にしておく必要があるものや、Ｕ１〜Ｕ３のモードに切り替えて良いものもある。しかし、ホスト側が省エネモードでも通常起動モードにしておく必要があるデバイスでは、必要な電力（電流）が供給されないと、動作が不安定になったり、動作不能に陥ったりする。一方、Ｕ１〜Ｕ３モードでは、Ｕ０モードに比べて電力の消費量は小さくてよい。したがって、ホスト側が省エネモードに切り替わった際には、接続されているＵＳＢデバイスで消費する電力に応じて接続可否を判定する必要がある。
【０００９】
特許文献１では、ホスト側が省エネモードに切り替わった際に、接続されているデバイスの該省エネモードでの実使用電流に基づいて接続可否を制御することは考慮されていない。このため、ホスト側が省エネモードに切り替わった場合に、通常起動モードにしておく必要があるデバイス等に必要な電力が供給されず、動作が不安定になったり動作不能になったりする問題が生じる。
【００１０】
本発明は、ＵＳＢポートなどのデバイス接続ポートを備えた電子機器において、該電子機器が省エネモードに切り替わった際に、接続されているデバイスの該省エネモードでの実使用電流を考慮して接続可否を判定することで、上記のような問題を解決することにある。
【課題を解決するための手段】
【００１１】
本発明は、デバイス接続ポートを備え、通常動作モード、省電力モードで前記ポートの使用可能電流値が変化する電子機器において、前記ポートに接続されるデバイスの通常動作モード、省電力モードにおける実使用電流値を記憶する手段と、省電力モードに切り替わった際に、前記ポートの該省電力モードにおける使用可能電流値と前記ポートに接続されるデバイスの該省電力モードで必要とする実使用電流値の総和とを比較して、デバイスの接続可否を判定する手段とを有することを主要な特徴とする。
【発明の効果】
【００１２】
本発明によれば、電子機器が省エネモードに切り替わった際に、接続されているデバイスの省エネモードでの実使用電流値を考慮して接続可否を判定することで、接続可能なデバイスの安定な動作が保証される。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るシステムのハードウエア構成図である。
【図２】新規デバイス接続時の全体的処理フロー図である。
【図３】図１の実使用電流値の測定処理の詳細フロー図である。
【図４】図１のデバイス接続可否判定処理の詳細フロー図である。
【図５】ＵＳＢホストとＵＳＢデバイスの電力状態の対応例を示す図である。
【図６】ＵＳＢホストの省エネモード移行時のデバイス接続可否判定処理の詳細フロー図である。
【図７】ＵＳＢデバイスの優先度について説明する図である。
【図８】表示部の設定画面の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施の形態について図面を参照して説明する。なお、実施形態では、ＵＳＢポートを備えた電子機器と、これに接続されるＵＳＢデバイスからなるシステムを対象とするが、本発明はこのようなシステムに限定されるものではない。本発明は、一般にデバイス接続ポートを備え、通常動作モード、省電力モードをとる電子機器と、これに接続されるデバイスからなるシステムに適用することができる。
【００１５】
図１は、本発明の一実施形態に係るシステムのハードウエア構成を説明する図である。図１において、１０はデバイス接続ポートとしてのＵＳＢポートを備えた電子機器（以下、ＵＳＢホスト）、２０はＵＳＢハブ、３０はＵＳＢデバイスを示す。ＵＳＢホスト１０は、主電源装置１０１、ＵＳＢ用電力供給ユニット１０２、ＵＳＢポート１０３−１，１０３−２、電流測定器１０４−１，１０４−２、ＣＰＵ１０５、ＲＯＭ１０６、ＲＡＭ１０７、デバイスコントローラ１０８、入力部１０９、表示部１１０などを備えている。
【００１６】
主電源装置１０１は、ＵＳＢホスト１０の各部及びＵＳＢデバイス３０等に電力を供給するメイン電力供給ユニット（ＰＳＵ）である。この主電源装置１０１の電力の供給量は、ＵＳＢホスト１０の通常動作モードや省電力モード（省エネモード）に応じて変化する。省エネモードでは、例えば制御系の電子回路のみでなく、根本の電力供給部分の電力を減らす。これにより、システム全体の電力の供給量が減ることで、効果の大きい省エネが実現する。
【００１７】
ＵＳＢ用電力供給ユニット１０２は、主電源装置（ＰＳＵ）１０１から電力を受けて、ＵＳＢポート１０３−１，１０３−２を通し、ＵＳＢハブ２０経由あるいは直接にＵＳＢデバイス３０に電力を供給する。このＵＳＢ用電力供給ユニット１０２からＵＳＢデバイス３０に供給される電力は、主電源装置１０１の電力供給量の変化に応じて変動する。
【００１８】
ＵＳＢポート１０３−１，１０３−２は、ＵＳＢハブ２０経由あるいは直接にＵＳＢデバイス３０を接続するホスト側端子である。図１では、ＵＳＢポートは２個としたが、１個以上いくつでもよい。また、ＵＳＢハブ２０には３台のＵＳＢデバイスが接続されているが、３台である必要はない。
【００１９】
ＵＳＢポートでは、流すことができる電流の値（最大値）が制限されている。すなわち、ＵＳＢ２．０では５００mA、ＵＳＢ３．０では９００mAを上限と定められている。この上限を超えない範囲内で、ＵＳＢポートに１台あるいは複数のＵＳＢデバイスを直接あるいはＵＳＢハブを介して接続することができる。また、ＵＳＢ３．０では、通常起動モード（通常動作モード）Ｕ０とサスペンドモードＵ３の間に、リンク層、物理層の接続を切る２つの省電力モード（省エネモード）Ｕ１，Ｕ２が追加されている。なお、本実施形態では、ＵＳＢポート１０３−１，１０３−２、ＵＳＢハブ２０、ＵＳＢデバイス３０はＵＳＢ３．０に準拠するとする。
【００２０】
電流測定器１０４−１，１０４−２は、それぞれＵＳＢポート１０３−１，１０３−２の電流値を測定する。このＵＳＢポート１０３−１，１０３−２の電流値を測定することで、ＵＳＢポート１０３−１，１０３−２に直接あるいはＵＳＢハブ２０経由で接続されたＵＳＢデバイス３０の実使用電流値を知ることができる。
【００２１】
ＣＰＵ１０５は、ＵＳＢホスト１０内の各部を制御して所定の処理を実行する。このＣＰＵ１０５での処理のためのプログラムはＲＯＭ１０６に記憶されている。本実施形態では、ＣＰＵ１０５は、新たにＵＳＢデバイスが接続された際やＵＳＢホスト１０が省エネモードに切り替わった際にデバイスの接続可否を判定処理する手段として機能する。
【００２２】
ＲＯＭ１０６は不揮発性メモリであり、ＣＰＵ１０５での処理のためのプログラムを記憶している。また、ＲＯＭ１０６は、ＣＰＵ１０５での処理に必要な情報、テーブル等を記憶している。本実施形態では、ＲＯＭ１０６は、ＵＳＢホスト１０の電力モード（通常動作モード、省電力モードなど）毎に、各ＵＳＢデバイス３０で取り得るモード（Ｕ０，Ｕ１，Ｕ２，Ｕ３などのいずれか）の対応テーブルを記憶している。また、ＲＯＭ１０６は、各ＵＳＢデバイス３０の優先度を記憶している。さらに、ＲＯＭ１０６は、各ＵＳＢデバイス３０の通常動作モード、省電力モードの各モード（Ｕ０，Ｕ１，Ｕ２，Ｕ３など）における実使用電流値を記憶する。
【００２３】
ＲＡＭ１０７は揮発性メモリであり、ＣＰＵ１０５の作業用メモリとして使用される。ＲＯＭ１０６のプログラムは、このＲＡＭ１０７にロードされることで、ＣＰＵ１０５によって実行される。
【００２４】
デバイスコントローラ１０８は、ＵＳＢポート１０３−１，１０３−２、ＵＳＢハブ２０を介してＵＳＢデバイス３０を直接的に制御する。例えば、デバイスコントローラ１０８は、ＵＳＢデバイス３０の接続可否を制御する。接続拒否の場合には、電流が供給されないようにＵＳＢデバイス３０の接続をオフする。また、デバイスコントローラ１０８は、ＵＳＢデバイス３０のモードの切り替えも制御する。さらに、デバイスコントローラ１０８では、ＵＳＢデバイス３０の接続監視や認識も行う。
【００２５】
入力部１０９は、操作パネルや操作ボタンなどからなる。ユーザは、この入力部１０９を用いてＵＳＢデバイス３０の優先度や省エネモードなどを設定する。
【００２６】
表示部１１０は液晶ディスプレイ（ＬＣＤ）などであり、種々の設定画面や情報を表示する。なお、入力部１０９と表示部１１０は一体に構成されてもよい。
【００２７】
以下、図１のハードウエア構成において、本発明の一実施形態に係る新たにＵＳＢデバイスが接続された際及びＵＳＢホストが省エネモードに切り替わった際のデバイス接続可否判定処理動作を説明する。なお、これは本発明の一実施形態に係るデバイス接続可否判定方法の処理動作の説明でもある。
【００２８】
初めに、図２乃至図４を参照して、新たにＵＳＢデバイスが接続された際のデバイス接続可否判定処理動作について説明する。
【００２９】
図２は、新たにＵＳＢデバイスが接続された際の全体的処理フローを示した図である。以下では、ＵＳＢハブ２０に新たにＵＳＢデバイスが接続されたとする。すなわち、ＵＳＢポート１０３−１に新たにＵＳＢデバイスが接続されたとする。また、ＵＳＢホスト１０は通常動作モードとし、通常動作モード時、ＵＳＢデバイスはすべてＵ０モードで動作するものとする。
【００３０】
デバイスコントローラ１０８は、新たにＵＳＢデバイス（以下、新規ＵＳＢデバイス）がＵＳＢポート１０３−１に接続されたことを認識すると、新規ＵＳＢデバイスのコンフィグレーション情報（デバイスＩＤ、ベンダーＩＤなど、ＵＳＢデバイスに固有に設定された情報）を確認する（ステップ１００１）。そして、デバイスコントローラ１０８は、ＣＰＵ１０５に対して、新規ＵＳＢデバイスが接続された旨、及び、新規ＵＳＢデバイスのコンティグレーション情報を通知する。
【００３１】
ＣＰＵ１０５は、デバイスＩＤなどをもとに新規ＵＳＢデバイスの実使用電流値（以前接続した際の実使用電流値の測定結果）がＲＯＭ１０６に記憶されているか確認する（ステップ１００２）。ＵＳＢポート１０３−１に既に接続されているＵＳＢデバイス（以下、既接続ＵＳＢデバイス）の各モード（Ｕ０，Ｕ１，Ｕ２，Ｕ３など）の実使用電流値は、後述の実使用電流値の測定処理によりあらかじめＲＯＭ１０６に記憶されているが、新規ＵＳＢデバイスがまったく初めて接続されるデバイスの場合には、該デバイスの実使用電流値はＲＯＭ１０６に存在しない。
【００３２】
新規ＵＳＢデバイスの実使用電流値が既にＲＯＭ１０６に記憶されている場合（当該デバイスが以前接続されたことがある）、ＣＰＵ１０５は、ＲＯＭ１０６内の新規ＵＳＢデバイス及び既接続ＵＳＢデバイスの実使用電流値（Ｕ０モードの実使用電流値）を用いて、直ちに新規ＵＳＢデバイス等の接続可否の判定を開始する（ステップ１００３）。一方、新規ＵＳＢデバイスの実使用電流値がＲＯＭ１０６に記憶されていない場合には、ＣＰＵ１０５は、新規ＵＳＢデバイスの実使用電流値を測定した後（ステップ１００４）、改めて新規ＵＳＢデバイス等の接続可否の判定を開始する（ステップ１００４）。
【００３３】
図３は、新規ＵＳＢデバイスの実使用電流値を測定する詳細処理フローを示した図である。新規ＵＳＢデバイスの実使用電流値を測定する場合、ＵＳＢホスト１０側は一時的にデバイス認識モードに移行する。
【００３４】
デバイス認識モードに移行すると、ＣＰＵ１０５は、デバイスコントローラ１０８を通して、一旦、新規ＵＳＢデバイス以外の現在ＵＳＢポート１０３−１（ＵＳＢハブ２０）に接続されているＵＳＢデバイス（既接続ＵＳＢデバイス）の接続をすべてオフにする（ステップ２００１）。次に、ＣＰＵ１０５は、新規ＵＳＢデバイスの通常動作モード、省電力モードの各モード（Ｕ０，Ｕ１，Ｕ２，Ｕ３など）における実使用電流値を測定する（ステップ２００２）。具体的には、ＣＰＵ１０５は、デバイスコントローラ１０８を通して、順次、新規ＵＳＢデバイスをＵ０，Ｕ１，Ｕ２，Ｕ３の各モードに切り替えて動作させる。同時に、ＣＰＵ１０５は、電流測定器１０４−１に指示して、順次、新規ＵＳＢデバイスの各モードにおける実使用電流値を測定せしめる。
【００３５】
次にＣＰＵ１０５は、電流測定器１０４−１により測定された新規ＵＳＢデバイスの各モードの実使用電流値をＲＯＭ１０６に記憶する（ステップ２００３）。ＲＯＭ１０６には、ＵＳＢデバイスの認識情報（デバイスＩＤなど）と対応付けて、各モード（Ｕ０，Ｕ１，Ｕ２，Ｕ３など）における実使用電流値を記憶する。
【００３６】
次に、ＣＰＵ１０５は、デバイスコントローラ１０８を通して、新規ＵＳＢデバイスの接続を一度オフとし（ステップ２００４）、先に接続オフとした既接続ＵＳＢデバイスを再び接続オンに復帰させる（ステップ２００５）。
【００３７】
これで、新規ＵＳＢデバイスの通常動作モード、省電力モードの各モード（Ｕ０，Ｕ１，Ｕ２，Ｕ３など）における実使用電流値を測定するためのデバイス認識モードは終了する。
【００３８】
図３の実使用電流値の測定処理により、以前接続されたＵＳＢデバイスの通常モード、省電力モードの各モードにおける実使用電流値は、必ずＲＯＭ１０６に保持されることになる。なお、ＲＯＭ１０６の記憶容量によっては、以前接続されたが、その後、長期間にわたって接続されないＵＳＢデバイスについては、その実使用電流値のデータを削除することでもよい。
【００３９】
図４は、新規ＵＳＢデバイスが接続された際のデバイス接続可否判定処理の一実施形態に係る具体的処理フローを示した図である。
【００４０】
ＣＰＵ１０５は、デバイスコントローラ１０８を通して、ＵＳＢポート１０３−１（ＵＳＢハブ２０）に既に接続されているＵＳＢデバイス（既接続ＵＳＢデバイス）のコンフィグレーション情報（デバイスＩＤ、ベンダーＩＤなど）を取得する（ステップ３００１）。次に、ＣＰＵ１０５は、デバイスＩＤなどをもとに既接続ＵＳＢデバイスそれぞれの実使用電流値（Ｕ０での実使用電流値の測定結果）をＲＯＭ１０６から読み込む（ステップ３００２）。更に、ＣＰＵ１０５は、既にデバイスコントローラ１０８から通知されている新規ＵＳＢデバイスの情報（デバイスＩＤなど）をもとに、該新規ＵＳＢデバイスの実使用電流値（Ｕ０での実使用電流値の測定結果）をＲＯＭ１０６から読み込む（ステップ３００３）。
【００４１】
次に、ＣＰＵ１０５は、新規ＵＳＢデバイスと既接続ＵＳＢデバイスの実使用電流値の総和を算出し（ステップ１００４）、この実使用電流値の総和を、あらかじめＵＳＢポート１０３−１に割り当てている最大使用電流値（ポートの通常動作モードにおける使用可能電流値）と比較する（ステップ３００５）。なお、ＵＳＢポート１０３−１，１０３−２の最大使用電流値や後述の省エネモードでの使用可能電流値は、あらかじめＲＯＭ１０６に記憶されているものとする。
【００４２】
ＣＰＵ１０５は、新規ＵＳＢデバイスと既接続ＵＳＢデバイスの実使用電流値の総和がＵＳＢポート１０３の最大使用電流値以下だったならば、新規ＵＳＢデバイスの接続を許可し（ステップ３００６）。デバイス接続可否判定処理を終了する。
【００４３】
一方、新規ＵＳＢデバイスと既接続ＵＳＢデバイスの実使用電流値の総和がＵＳＢポート１０３−１の最大使用電流値を超える場合には、ＣＰＵ１０５は、新規ＵＳＢデバイスと既接続ＵＳＢデバイスの優先度を比較する（ステップ３００７）。優先度については後述する。ここで、新規ＵＳＢデバイスの優先度が最低だった場合には、新規ＵＳＢデバイスの接続を拒否し（ステップ３００８）、デバイス接続可否判定処理を終了とする。新規ＵＳＢデバイスの優先度が最低でなかった場合、ＣＰＵ１０５は、既接続ＵＳＢデバイスのうち、優先度が最低のＵＳＢデバイスを選択し（ステップ３００９）、この選択したＵＳＢデバイスを接続拒否とする（ステップ３０１０）。
【００４４】
ステップ３０１０の処理後、ステップ３００４に戻る。この時、ステップ３００４では、新規ＵＳＢデバイスと接続拒否対象以外の既接続ＵＳＢデバイスとの実使用電流値（Ｕ０の実使用電流値の測定結果）の総和を算出する。ステップ３００５以降の処理は、上記と同様であるので省略する。
【００４５】
ＣＰＵ１０５は、デバイス接続可否判定結果をデバイスコントローラ１０８に送る。デバイスコントローラ１０８は、ＣＰＵ１０５からのデバイス接続可否判定結果に基づいて、ＵＳＢポート１０３−１すなわちＵＳＢハブ２０中の新規ＵＳＢデバイス又は既接続ＵＳＢデバイスをオン・オフする。
【００４６】
次に、ＵＳＢホスト１０の電力状態が通常動作モードから省エネモード（省電力モード）に切り替わった際のデバイス接続可否判定処理動作について説明する。ここでも、ＵＳＢポート１０３−１すなわちＵＳＢハブ２０に接続されているＵＳＢデバイスを例に説明する。
【００４７】
ＵＳＢホスト１０が通常動作モードから省エネモードに切り替わると、ＵＳＢポート１０３−１に割り当てられている最大使用電流値は小さくなる。一方、ＵＳＢポート１０３−１に接続されているＵＳＢデバイスは、ＵＳＢホスト１０が省エネモードに切り替わった場合、電力状態をＵ０モードにしておく必要があるものや、Ｕ１〜Ｕ３モードに切り替えてよいものもある。
【００４８】
図５に、ＵＳＢホスト１０とＵＳＢポート１０３−１に接続されているＵＳＢデバイスの電力状態の対応例を示す。ここでは、ＵＳＢホスト１０の電力状態は、通常動作モードと、省エネモードＡ，Ｂがあるとする。消費電力は、通常動作モード、省エネモードＡ、省エネモードＢの順に小さくなる。ＵＳＢポート１０３に接続されているＵＳＢデバイスは１〜３であるとし、いずれもＵＳＢ３．０に準拠して、電力状態はＵ０〜Ｕ３モードのいずれかをとるとする。消費電力は、Ｕ０，Ｕ１，Ｕ２，Ｕ３の順に小さくなる。
【００４９】
図５に示したような、ＵＳＢホスト１０とＵＳＢポート１０３−１に接続されているＵＳＢデバイスの電力状態の対応テーブルは、あらかじめＲＯＭ１０６に記憶されているとする。先に述べたようにＲＯＭ１０６には、ＵＳＢポート１０３−１に接続されている各ＵＳＢデバイスのＵ０〜Ｕ３モードにおける実使用電流値も記憶されている。
【００５０】
なお、先の新たにＵＳＢデバイスが接続された際のデバイス接続可否判定処理の説明では触れなかったが、ＣＰＵ１０５は、図５のような対応テーブルを参照して、ＵＳＢポート１０の通常動作モード時、ＵＳＢデバイスはいずれもＵ０モードをとると認識する。
【００５１】
図６は、ＵＳＢホスト１０の電力状態が通常動作モードから省エネモード（図５のＡやＢ）に切り替わった際のデバイス接続可否判定処理の一実施形態に係る具体的処理フローを示した図である。
【００５２】
ＣＰＵ１０５は、デバイスコントローラ１０８を通して、ＵＳＢポート１０３−１に接続されているＵＳＢデバイス（以下、接続ＵＳＢデバイス）のコンフィグレーション情報（デバイスＩＤ、ベンダーＩＤなど）を取得する（ステップ４００１）。次に、ＣＰＵ１０５は、デバイスＩＤなどをもとに接続ＵＳＢデバイスそれぞれについて、ＵＳＢホスト１０の当該省エネモードで必要とする実使用電流値をＲＯＭ１０６から読み込む（ステップ４００２）。例えば、図５の対応テーブルの例の場合、ＵＳＢホスト１０が省エネモードＡになったとすると、ＵＳＢデバイス１についてはＵ０の実使用電流値（Ｕ０での実使用電流値の測定結果）、ＵＳＢデバイス２についてはＵ２の実使用電流値（Ｕ２での実使用電流値の測定結果）、ＵＳＢ３についてはＵ１の実使用電流値（Ｕ１での実使用電流値の測定結果）をそれぞれ取得する。同様に、ＵＳＢホスト１０が省エネモードＢになった場合には、ＵＳＢデバイス１についてはＵ１の実使用電流値（Ｕ１での実使用電流値の測定結果）、ＵＳＢデバイス２，３についてはＵ３の実使用電流値（Ｕ３での実使用電流値の測定結果）をそれぞれ取得する。
【００５３】
次に、ＣＰＵ１０５は、接続ＵＳＢデバイスそれぞれの当該省エネモードで必要とする実使用電流値の総和を算出し（ステップ４００３）、この総和の電流値を、ＵＳＢポート１０３−１の当該省エネモードでの使用可能電流値（当該省エネモードにおける最大使用可能電流値）と比較する（ステップ４００４）。そして、ＣＰＵ１０５は、接続ＵＳＢデバイスの当該省エネモードでの必要電流値の総和がＵＳＢポート１０３−１の当該省エネモードでの使用可能電流値以下だったならば、接続ＵＳＢデバイスすべてについて接続状態を維持して（ステップ４００５）、デバイス接続可否判定処理を終了とする。
【００５４】
一方、接続ＵＳＢデバイスの当該省エネモードで必要とする実使用電流値の総和がＵＳＢポート１０３−１の当該省エネモードでの使用可能電流値を超える場合には、ＣＰＵ１０５は、接続ＵＳＢデバイスの内で優先度が最低のＵＳＢデバイスを選択し（ステップ４００６）、この選択したＵＳＢデバイスを接続拒否とする（ステップ４００７）。そして、ＣＰＵ１０５は、この拒絶拒否したＵＳＢデバイスの情報（デバイスＩＤ、ベンダーＩＤなど）をＲＡＭ１０７などに保持する（ステップ４００８）。
【００５５】
ステップ４００８の処理後、接続ＵＳＢデバイスのすべてが選択されたか確認し、選択されないＵＳＢデバイスが残されていれば、ステップ４００３に戻り、残っていなければ、デバイス接続可否判定処理を終了とする。
【００５６】
ここで、ステップ４００３に戻った場合、ステップ４００３では、接続拒否対象以外の残っている接続ＵＳＢデバイスについて、あらためて当該省エネモードで必要とする実使用電流値の総和を算出する。ステップ４００４以降の処理は、上記と同様であるので省略する。
【００５７】
ＣＰＵ１０５は、デバイス接続可否判定結果をデバイスコントローラ１０８に送る。デバイスコントローラ１０８は、ＣＰＵ１０５からのデバイス接続可否判定結果に基づいて、ＵＳＢポート１０３−１すなわちＵＳＢハブ２０に接続されている全てのＵＳＢデバイスを接続維持させるか、あるいは、一部又は全部のＵＳＢデバイスの接続をオフにする。なお、接続を維持するＵＳＢデバイスについては、当該省エネモードで必要とする電力状態に応じて、Ｕ０のままやＵ１、Ｕ２などのモードに切り替える。
【００５８】
その後、ＵＳＢホスト１０が通常動作モードに復帰した場合、ＣＰＵ１０５は、ＲＡＭ１０７などに接続拒否したＵＳＢデバイスの情報があるか確認する。そして、接続拒否したＵＳＢデバイスの情報があれば、当該ＵＳＢデバイスの情報をデバイスコントローラ１０８に送る。これを受けてデバイスコントローラ１０８は、当該ＵＳＢデバイスを再接続する。
【００５９】
以上、ＵＳＢホスト１０のＵＳＢポート１０３−１にＵＳＢハブ２０を介して接続されるＵＳＢデバイスに着目して、新たにＵＳＢデバイスが接続された際及びＵＳＢホスト１０が省電力モードに切り替わった際の本発明の一実施形態に係るデバイス接続可否判定処理について説明したが、ＵＳＢポート１０３−２に接続されるＵＳＢデバイスについても基本的に同様である。ただし、ＵＳＢポート１０３−２には、直接、１台のＵＳＢデバイスのみが接続されるため、優先度の判定は不要である。
【００６０】
ＵＳＢポート１０３−２に新たにＵＳＢデバイス（新規ＵＳＢデバイス）が接続された場合、ＣＰＵ１０５は、新規ＵＳＢデバイスの実使用電流値（Ｕ０での実使用電流値の測定結果）とＵＳＢポート１０３に割り当てている最大使用電流値（ポートの通常動作モードにおける使用可能電流値）とを比較する。そして、新規ＵＳＢデバイスの実使用電流値が、ＵＳＢポート１０３−２の最大使用電流値以下の場合には、この新規ＵＳＢデバイスの接続を許可し、ＵＳＢポート１０３−２の最大使用電量値を超える場合には接続を拒否する。
【００６１】
また、ＵＳＢホスト１０が通常動作モードから省エネモードに切り替わった際には、ＣＰＵ１０５は、ＵＳＢポート１０３−２に接続されているＵＳＢデバイス（接続ＵＳＢデバイス）の当該省エネモードで必要とする実使用電流値（Ｕ０，Ｕ１，Ｕ２あるいはＵ３での実使用電流値の測定結果）とＵＳＢポート１０３−２の当該省エネモードでの使用可能電流値とを比較する。そして、接続ＵＳＢデバイスの実使用電流値が、ＵＳＢポート１０３−２の使用可能電流値以下の場合には、接続ＵＳＢデバイスの接続状態を維持し、ＵＳＢポート１０３−２の使用可能電流値を超える場合には、該接続ＵＳＢデバイスの接続を拒絶する。
【００６２】
次に、ＵＳＢデバイスの優先度について説明する。図７に、本発明の一実施形態に係るＵＳＢデバイスの優先度の一例を示す。なお、図７は単なる一例であり、これに限られるものではない。
【００６３】
図７において、１〜６は優先度の項目である。優先度１では特定のクラスのデバイスの優先順位を高くする。例えば、ＩＤカードリーダや指紋認証装置などのデバイスの優先順位を高くする。優先度２では、実使用電流値で優先順位を設定する。例えば、Ｕ０モードの実使用電流値が小さいデバイスの優先順位を高くする。優先度３では、特定のベンダーＩＤ（特定メーカーなど）のデバイスの優先順位を高くする。優先度４では、特定プロダクトＩＤ（特定製品）のデバイスの優先順位を高くする。優先度５では、デバイスの使用頻度の多い順に優先順位を高くする。優先度６では、ＵＳＢデバイスのバージョンに応じて優先順位を設定する。例えば、ＵＳＢ３．０とＵＳＢ２．０では、ＵＳＢ３．０は主に高速通信、大容量のストレージ系のデバイスが多いため、ＵＳＢ２．０のデバイスの優先順位を高くする。
【００６４】
あらかじめ、ＵＳＢホスト１０のＲＯＭ１０６などに、それぞれの項目に対応して優先度番号を設定したマトリクスを用意しておく。ＣＰＵ１０５は、ＵＳＢデバイスのコンフィグレーション情報などをもとに、優先度番号順に自動的にＵＳＢデバイスに優先度順位を設定する。なお、一般に優先度番号は順不同である。
【００６５】
また、入力部１０９と表示部１１０を利用して、ユーザが、表示部１１０に表示された設定画面に従い、入力部１０９で所定の入力操作を行うことで、ＵＳＢデバイスの優先順位を設定することでもよい。これにより、ユーザにとって利便性の高い優先度を設定することが可能になる。例えば、特定のデバイスを指定して優先順位を高く設定することで、ＵＳＢホストの省エネモードにおいても、ユーザが必要とするＵＳＢデバイスを動作させておくことができる。
【００６６】
さらに、一つの優先度情報でなく、複数の優先度情報により、デバイスの優先順位を設定することでもよい。この場合、例えば、一つの優先度情報だけのものには１、２つの優先度情報が重なるものには２のように、点数を付けるなどしてもよい。
【００６７】
図８は、表示部１１０に表示される設定画面の一例を示した図である。
図８（ａ）は、ＵＳＢデバイス毎のユーザ確認用の設定画面である。１行目はポート毎に製品名等を表示する。２行目はデバイスの優先度のＯＮ／ＯＦＦ設定を表示する。この優先度設定により、個々のデバイスの優先度を変更することができる。３行目はデバイスの詳細を表示する。ここを選択することで、コンフィグレーションなどのＵＳＢデバイス情報を確認できる。４行目は省エネモード設定画面を表示する。ここを選択することで、ＵＳＢホストの省エネモードに対して、デバイスのどの省エネモードを適用するかを設定できる。
【００６８】
図８（ｂ）は、図８（ａ）の４行目の詳細設定画面の一例である。なお、自動の場合は固有の設定をＵＳＢホストに持たせておくことで対応付けすることができる。
【００６９】
図８（ｃ）は、優先度の設定画面である。これを選択することで、図７に示したような優先度を予めＵＳＢホストで持っておくことにより、優先度毎にオン、オフを切り替えることができ、優先度の組み合わせを設定することができる。
【００７０】
以上、本発明の実施形態について説明したが、本発明は、これまで述べた実施形態に限定されるものではない。例えば、ＵＳＢポート、ＵＳＢデバイスはＵＳＢ３．０に準拠するとしたが、ＵＳＢ２．０に準拠してもよい。また、ポートやデバイスはＵＳＢ形式でなくてもよい。先に述べたように、本発明は、一般にデバイス接続ポートを備え、電力状態が通常動作モード、省電力モードに切り替わる電子機器と、これに接続されるデバイスからなるシステムに適用可能である。
【００７１】
さらに、実施形態の説明では、電子機器が備える複数のポートの各ポート毎に、デバイス続可否判定を実施するとしたが、複数のポートを一つのポートと見做して、各ポートに接続される全てのデバイスを対象に、デバイス接続可否判定を実施することでもよい。このような実施形態も本発明に含まれる。
【符号の説明】
【００７２】
１０  電子機器（ＵＳＢホスト）
２０  ＵＳＢハブ
３０  ＵＳＢデバイス
１０１  主電源装置
１０２  ＵＳＢ用電力供給ユニット
１０３−１，１０３−２  ＵＳＢポート
１０４−１，１０４−２  電流測定器
１０５  ＣＰＵ
１０６  ＲＯＭ
１０７  ＲＡＭ
１０８  デバイスコントローラ
１０９  入力部
１１０  表示部
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特開２００５−１０９８１号公報
【図１】
2014130424.tif 000003
【図２】
2014130424.tif 000004
【図３】
2014130424.tif 000005
【図４】
2014130424.tif 000006
【図５】
2014130424.tif 000007
【図６】
2014130424.tif 000008
【図７】
2014130424.tif 000009
【図８】
2014130424.tif 000010