(57)【要約】【課題】電源装置から供給される電力を自己と自己に接続された１以上の電気機器とで適切に分配して利用することを目的とする。【解決手段】自己に接続されたプリンタ３０が供給可能な最大供給電流（Ｉｉｎ）と自己の消費電流（Ｉｓｅｒｖ）に加えて自己に接続された各ＵＳＢデバイスの最大消費電流（その総和がＩｕｓｂ）をも考慮に入れたうえで自己のバス４６の動作クロック周波数を設定するため、自己の動作のみならず自己に接続された各ＵＳＢデバイスの動作をも考慮して自己及び自己に接続された各ＵＳＢデバイスの消費電流を設定することができる。したがって、プリンタ３０から供給される電流を自己と自己に接続された１以上のＵＳＢデバイスとで適切に分配して利用することができる。【選択図】図１
2007305062.tif 000002
【特許請求の範囲】
【請求項１】
設定された動作クロック周波数で動作する電子制御装置であって、
電源装置から電力が入力されるように該電源装置を接続する電源装置接続手段と、
該電源装置接続手段を介して前記電源装置の最大供給電力に関する情報を該電源装置から取得する電源装置情報取得手段と、
前記電源装置とは異なる１以上の電気機器へ電力が出力されるように各電気機器を接続する電気機器接続手段と、
該電気機器接続手段を介して前記各電気機器の最大消費電力に関する情報を該各電気機器から取得する電気機器情報取得手段と、
前記電源装置情報取得手段によって取得された情報に含まれる前記電源装置の最大供給電力の値と前記電気機器情報取得手段によって取得された情報に含まれる前記各電気機器の最大消費電力の値と自己の消費電力の設定可能な範囲とに基づいて自己の動作クロック周波数を設定する動作クロック周波数設定手段と、
を備えた電子制御装置。
【請求項２】
請求項１に記載の電子制御装置であって、
前記電気機器接続手段に新たな電気機器が接続されたことを検出する検出手段を備え、
前記動作クロック周波数設定手段は、前記検出手段が前記電気機器接続手段に前記新たな電気機器が接続されたことを検出したときには、該新たな電気機器の最大消費電力に関する情報を前記電気機器情報取得手段によって取得すると共に改めて自己の動作クロック周波数を設定する、
電子制御装置。
【請求項３】
前記動作クロック周波数設定手段は、前記電源装置情報取得手段によって取得された情報に含まれる前記電源装置の最大供給電力の値と前記電気機器情報取得手段によって取得された情報に含まれる各電気機器の最大消費電力の値の総和との差に基づいて自己の消費電力の上限を算出し、該算出した上限を超えない範囲で自己の動作クロック周波数を設定する、
請求項１又は２に記載の電子制御装置。
【請求項４】
前記動作クロック周波数設定手段は、前記算出した上限を超えない範囲で設定可能な動作クロック周波数が存在するときには該設定可能な動作クロック周波数のうち最大の動作クロック周波数に設定する、
請求項３に記載の電子制御装置。
【請求項５】
前記動作クロック周波数設定手段は、前記各電気機器が各最大消費電力より低い消費電力での動作が可能なときには、該消費電力の値を前記各電気機器の最大消費電力の値の代わりに用いて自己の動作クロック周波数を設定する、
請求項１〜４のいずれかに記載の電子制御装置。
【請求項６】
前記電気機器はＵＳＢデバイスである、
請求項１〜５のいずれかに記載の電子制御装置。
【請求項７】
電源装置から電力が入力されるように該電源装置を接続する電源装置接続手段と、前記電源装置とは異なる１以上の電気機器へ電力が出力されるように各電気機器を接続する電気機器接続手段と、を備えた設定された動作クロック周波数で動作する電子制御装置の制御方法であって、
（ａ）前記電源装置接続手段を介して前記電源装置の最大供給電力に関する情報を該電源装置から取得すると共に前記電気機器接続手段を介して前記各電気機器の最大消費電力に関する情報を該各電気機器から取得するステップと、
（ｂ）前記ステップ（ａ）で前記電源装置情報取得手段によって取得された情報に含まれる前記電源装置の最大供給電力の値と前記電気機器情報取得手段によって取得された情報に含まれる前記各電気機器の最大消費電力の値と自己の消費電力の設定可能な範囲とに基づいて自己の動作クロック周波数を設定するステップと、
を含む電子制御装置の制御方法。
【請求項８】
請求項７に記載の制御方法の各ステップを１又は複数のコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置、その制御方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来より、最大消費電流値を変更するプリントサーバボードが知られている。例えば、特許文献１のプリントサーバボードは、ＣＰＵの動作周波数として３種類のクロック周波数が設定可能であって、そのプリントサーバボードへプリンタが供給可能な電源電流に応じてＣＰＵの動作周波数を３段階に変更することで、最大消費電流値を３段階に変更している。
【特許文献１】特許第３４７２０８６号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１のプリントサーバボードは、該プリントサーバボードから接続された外部の機器に電流を供給することは考慮されておらず、入力される電流のほとんどをそのプリントサーバボードで消費するとしてＣＰＵの動作周波数を決定しているため、接続された外部の機器に十分な電流を供給できないことがあった。
【０００４】
本発明の電子制御装置、その制御方法及びそのプログラムは、電源装置から供給される電力を自己と自己に接続された１以上の電気機器とで適切に分配して利用することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の電子制御装置、その制御方法及びそのプログラムは、上述の目的の少なくとも一部を達成するために以下の手段を採った。
【０００６】
本発明の電子制御装置は、
設定された動作クロック周波数で動作する電子制御装置であって、
電源装置から電力が入力されるように該電源装置を接続する電源装置接続手段と、
該電源装置接続手段を介して前記電源装置の最大供給電力に関する情報を該電源装置から取得する電源装置情報取得手段と、
前記電源装置とは異なる１以上の電気機器へ電力が出力されるように各電気機器を接続する電気機器接続手段と、
該電気機器接続手段を介して前記各電気機器の最大消費電力に関する情報を該各電気機器から取得する電気機器情報取得手段と、
前記電源装置情報取得手段によって取得された情報に含まれる前記電源装置の最大供給電力の値と前記電気機器情報取得手段によって取得された情報に含まれる前記各電気機器の最大消費電力の値と自己の消費電力の設定可能な範囲とに基づいて自己の動作クロック周波数を設定する動作クロック周波数設定手段と、
を備えることを要旨とする。
【０００７】
この電子制御装置は、電源装置接続手段を介して電源装置の最大供給電力に関する情報を電源装置から取得すると共に電気機器接続手段を介して各電気機器の最大消費電力に関する情報を各電気機器から取得したあと、電源装置情報取得手段によって取得された情報に含まれる電源装置の最大供給電力の値と電気機器情報取得手段によって取得された情報に含まれる各電気機器の最大消費電力の値と自己の消費電力の設定可能な範囲とに基づいて自己の動作クロック周波数を設定する。このように、自己に接続された電源装置が供給可能な最大供給電力と自己が消費する電力に加えて自己に接続された各電気機器の最大消費電力をも考慮に入れたうえで自己の動作クロック周波数を設定するため、自己の動作のみならず自己に接続された各電気機器の動作をも考慮して自己及び自己に接続された各電気機器の消費電力を設定することができる。したがって、電源装置から供給される電力を自己と自己に接続された１以上の電気機器とで適切に分配して利用することができる。
【０００８】
本発明の電子制御装置は、前記電気機器接続手段に新たな電気機器が接続されたことを検出する検出手段を備え、前記動作クロック周波数設定手段は、前記検出手段が前記電気機器接続手段に前記新たな電気機器が接続されたことを検出したときには、該新たな電気機器の最大消費電力に関する情報を前記電気機器情報取得手段によって取得すると共に改めて自己の動作クロック周波数を設定するとしてもよい。こうすれば、新たな電気機器が自己に接続されたことを検出することができる。また、該新たな電気機器の動作も考慮に入れて自己の動作クロック周波数を設定し直すことができる。
【０００９】
本発明の電子制御装置において、前記動作クロック周波数設定手段は、前記電源装置情報取得手段によって取得された情報に含まれる前記電源装置の最大供給電力の値と前記電気機器情報取得手段によって取得された情報に含まれる各電気機器の最大消費電力の値の総和との差に基づいて自己の消費電力の上限を算出し、該算出した上限を超えない範囲で自己の動作クロック周波数を設定するとしてもよい。こうすれば、自己に接続された電気機器の動作を優先させた上で自己の動作クロック周波数を設定することができる。
【００１０】
本発明の電子制御装置において、前記動作クロック周波数設定手段は、前記算出した上限を超えない範囲で設定可能な動作クロック周波数が存在するときには該設定可能な動作クロック周波数のうち最大の動作クロック周波数に設定するとしてもよい。こうすれば、算出した上限を超えない範囲で設定可能な動作クロック周波数が存在するときには、設定可能な最大の動作クロック周波数に設定することで、自己に接続された電源装置から供給される電力を自己と自己に接続された各電気機器とで最大限に利用することができる。
【００１１】
本発明の電子制御装置において、前記動作クロック周波数設定手段は、前記各電気機器が各最大消費電力より低い消費電力での動作が可能なときには、該消費電力の値を前記各電気機器の最大消費電力の値の代わりに用いて自己の動作クロック周波数を設定するとしてもよい。こうすれば、電源装置が供給可能な最大供給電力を自己と自己に接続された各電気機器とで分配するときの選択の幅が広がる。例えば、自己の動作を優先させた上で自己に接続された各電気機器の消費電力を設定したり、自己に接続された各電気機器の動作を優先させた上で自己の消費電力を設定しようとしたときに自己の消費電力が設定できなかった場合に各電気機器の消費電力を低くして自己の消費電力が設定できるようにすることができる。
【００１２】
本発明の電子制御装置において、前記電気機器はＵＳＢデバイスであるとしてもよい。
【００１３】
本発明の電子制御装置の制御方法は、
電源装置から電力が入力されるように該電源装置を接続する電源装置接続手段と、前記電源装置とは異なる１以上の電気機器へ電力が出力されるように各電気機器を接続する電気機器接続手段と、を備えた設定された動作クロック周波数で動作する電子制御装置の制御方法であって、
（ａ）前記電源装置接続手段を介して前記電源装置の最大供給電力に関する情報を該電源装置から取得すると共に前記電気機器接続手段を介して前記各電気機器の最大消費電力に関する情報を該各電気機器から取得するステップと、
（ｂ）前記ステップ（ａ）で前記電源装置情報取得手段によって取得された情報に含まれる前記電源装置の最大供給電力の値と前記電気機器情報取得手段によって取得された情報に含まれる前記各電気機器の最大消費電力の値と自己の消費電力の設定可能な範囲とに基づいて自己の動作クロック周波数を設定するステップと、
を含むことを要旨とする。
【００１４】
この電子制御装置の制御方法は、電源装置接続手段を介して電源装置の最大供給電力に関する情報を電源装置から取得すると共に電気機器接続手段を介して各電気機器の最大消費電力に関する情報を各電気機器から取得したあと、電源装置情報取得手段によって取得された情報に含まれる電源装置の最大供給電力の値と電気機器情報取得手段によって取得された情報に含まれる各電気機器の最大消費電力の値と自己の消費電力の設定可能な範囲とに基づいて自己の動作クロック周波数を設定する。このように、自己に接続された電源装置が供給可能な最大供給電力と自己が消費する電力に加えて自己に接続された各電気機器の最大消費電力をも考慮に入れたうえで自己の動作クロック周波数を設定するため、自己の動作のみならず自己に接続された各電気機器の動作をも考慮して自己及び自己に接続された各電気機器の消費電力を設定することができる。したがって、電源装置から供給される電力を自己と自己に接続された１以上の電気機器とで適切に分配して利用することができる。なお、上述した本発明の電子制御装置が備える各種の構成によって奏される作用・機能を実現するためのステップを追加してもよい。
【００１５】
本発明のプログラムは、上述した制御方法の各ステップを１又は複数のコンピュータに実行させるためのものである。このプログラムは、コンピュータが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか複数のコンピュータに分散して実行させれば、上述した制御方法の各ステップが実行されるため、上述した制御方法と同様の作用効果が得られる。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の実施の形態を図面に基づいて説明する。図１は、本発明の電子機器の一実施形態であるプリントサーバ１０の構成の概略を示す構成図である。本実施形態のプリントサーバ１０は、一つのボード上に構成され、プリンタ３０の図示しない拡張スロットの一つに差し込まれた状態で使用されるものであり、プリンタインタフェース２８を介してプリンタ３０とデータのやり取りを行ったりプリンタ３０からの電流の入力などの制御を行うプリンタインタフェースコントローラ２６と、ＬＡＮインタフェース１２を介してＬＡＮ４８に接続されたコンピュータ５０からの印刷指示や印刷データを受信するためのＬＡＮインタフェースコントローラ１４と、第１ＵＳＢポート３４及び第２ＵＳＢポート３８に接続されたＵＳＢデバイス３６，４０とデータのやり取りを行うＵＳＢホストコントローラ３２と、図示しないＵＳＢコネクタのＶＢＵＳ端子を用いてＵＳＢデバイス３６，４０に電流を供給するＵＳＢ−ＶＢＵＳ電流供給回路４２と、プリントサーバ１０の各部に電流を供給する電源回路４４と、バス４６の動作クロック信号を発生させるクロック発生回路２４と、プリントサーバ１０全体の制御を司るメインコントローラ１６とを備える。プリンタインタフェースコントローラ２６，ＬＡＮインタフェースコントローラ１４，ＵＳＢホストコントローラ３２，クロック発生回路２４及びメインコントローラ１６は、バス４６を介して各種制御信号やデータのやり取りができるよう構成されている。
【００１７】
プリンタインタフェースコントローラ２６は、ボード上に搭載される。このプリンタインタフェースコントローラ２６は、プリンタ３０から入力した電流をＵＳＢ−ＶＢＵＳ電流供給回路４２や電源回路４４へ供給するようプリンタインタフェース２８を制御したり、ＬＡＮ４８上のコンピュータ５０から受け取った印刷ジョブをプリンタ３０に送信したりする。
【００１８】
ＬＡＮインタフェースコントローラ１４は、ＬＡＮインタフェース１２を介してＬＡＮ４８に接続された他の機器とデータのやり取りを行うものである。このＬＡＮインタフェースコントローラ１４は、プリンタ３０の表面に露出されるように設けられたＬＡＮインタフェース１２の図示しないＬＡＮポートに接続されたＬＡＮケーブルを介してＬＡＮ４８上を伝達するデータを監視し、プリンタ３０のＩＰアドレスをヘッダに含むデータを受信する。受信されるデータには、例えば、コンピュータ５０からの印刷ジョブなどがある。
【００１９】
ＵＳＢホストコントローラ３２は、ＵＳＢバス上に第１ＵＳＢポート３４及び第２ＵＳＢポート３８を介して接続されたＵＳＢデバイス３６，４０を制御するためのものである。このＵＳＢホストコントローラ３２は、メインコントローラ１６からの指令により、ＵＳＢデバイス３６，４０とデータのやり取りを行ったり、ＵＳＢデバイス３６，４０へ電流を供給する指示をＵＳＢ−ＶＢＵＳ電流供給回路４２に出したり、プリントサーバ１０の電源がオンになったときや新たなＵＳＢデバイスがＵＳＢバス上に接続されたときにはＵＳＢデバイスに関する情報を取得してメインコントローラ１６に送信したり、メインコントローラ１６の指示により各ＵＳＢデバイスに適した動作環境に設定したりする。なお、各ＵＳＢデバイスは、そのデバイスの属性に関する情報を記述したディスクリプタと呼ばれるデータ構造のデータを記憶しており、この中のコンフィギュレーションディスクリプタと呼ばれるデータ構造のデータには、そのＵＳＢデバイスの最大消費電流に関する情報が記述されている。
【００２０】
ＵＳＢ−ＶＢＵＳ電流供給回路４２は、ＵＳＢデバイス３６，４０へ電流を供給するものである。このＵＳＢ−ＶＢＵＳ電流供給回路は、プリンタインタフェース２８を介してプリンタ３０から入力された電流をＵＳＢホストコントローラ３２からの指令により第１ＵＳＢポート３４及び第２ＵＳＢポート３８を介してＵＳＢデバイス３６，４０へ供給する。
【００２１】
電源回路４４は、プリントサーバ１０の自己の動作に関わる部分へ電流を供給するものである。この電源回路４４は、プリンタインタフェース２８を介してプリンタ３０から入力された電流を、メインコントローラ１６，ＬＡＮインタフェースコントローラ１４，クロック発生回路２４，プリンタインタフェースコントローラ２６，ＵＳＢホストコントローラ３２へ供給する。
【００２２】
クロック発生回路２４は、バス４６の動作クロック信号を発生させるものである。このクロック発生回路２４は逓倍回路や分周回路などから構成されており、後述する動作クロック設定ルーチンがメインコントローラ１６により実行されて動作モードが設定されると、メインコントローラ１６からの指令によりその動作モードに対応する動作クロック信号を発生する。本実施形態では、動作モードとして、６６（ＭＨｚ）の動作クロック周波数で動作する低速モード、１００（ＭＨｚ）の動作クロック周波数で動作する中速モード、２００（ＭＨｚ）の動作クロック周波数で動作する高速モードが設定可能であるものとした。なお、動作クロック周波数と各々の動作クロック周波数の時のプリントサーバ１０の自己の最大消費電流との関係を下記表１に示す。
【００２３】
【表１】
2007305062.tif 000003
【００２４】
メインコントローラ１６は、装置全体を制御するＣＰＵ１８と各種プログラムなどを記憶するＲＯＭ２０と、データを一時的に記憶するＲＡＭ２２などからなる。
【００２５】
こうして構成された本実施形態のプリントサーバ１０は、ＬＡＮ４８上のコンピュータ５０などからの印刷ジョブを受信し、プリンタインタフェース２８に接続されたプリンタ３０に印刷ジョブに基づいて印刷を実行させるプリントサーバの機能と、プリンタインタフェース２８を介してプリンタ３０から電流を入力して第１ＵＳＢポート３４や第２ＵＳＢポート３８に接続されたＵＳＢデバイス３６，４０へ電流を供給したり該ＵＳＢデバイス３６，４０とデータのやり取りを行ったりするＵＳＢホストの機能とを有する。
【００２６】
次に、こうして構成された本実施形態のプリントサーバ１０の動作について説明する。図２は、プリントサーバ１０の電源がオンになったとき又はＵＳＢデバイス３６，４０が装着・脱着されたときにメインコントローラ１６のＣＰＵ１８により実行される動作クロック設定ルーチンの一例を示すフローチャートである。この動作クロック設定ルーチンが開始されると、メインコントローラ１６のＣＰＵ１８は、まず、所定の低消費電流モードで動作を開始する（ステップＳ１００）。ここで、低消費電流モードとは、プリンタ３０から入力可能な最大電流やＵＳＢデバイス３６，４０の最大消費電流に関する情報の取得等が可能なだけの低い消費電流で動作するモードであり、本実施形態では、３３（ＭＨｚ）の動作クロック周波数で動作するモードとした。次に、プリンタインタフェース２８を介してプリンタ３０の最大電流供給能力Ｉｉｎ（ｍＡ）についての情報を取得する（ステップＳ１１０）。そして、ＵＳＢデバイスを確認するための確認用電流を全てのＵＳＢポートへ供給するようＵＳＢ−ＶＢＵＳ電流供給回路を制御する（ステップＳ１２０）。そして、確認用電流の供給を受けた各ＵＳＢデバイスの最大消費電流についての情報を各ＵＳＢデバイスの既述のコンフィギュレーションディスクリプタから取得し、その消費電流の和Ｉｕｓｂ（ｍＡ）を算出すると共にＵＳＢデバイスが接続されていないＵＳＢポート（以下、空きポートという）の数を確認する（ステップＳ１３０）。その後、空きポートへ接続されるＵＳＢデバイスに供給するため確保しておく電流Ｉｅｍｐ（ｍＡ）を算出する（ステップＳ１４０）。ここで、ＵＳＢデバイスをＵＳＢホストに接続した直後は、ＵＳＢデバイスは最大１００ｍＡの消費電流で動作する機器として振る舞わなければならないとＵＳＢの規格で決められているため、本実施形態では、この１００ｍＡに空きポートの数を掛けて電流Ｉｅｍｐを算出することとした。そして、プリントサーバ１０が自己の動作に用いることが可能な電流Ｉｓｅｒｖ（ｍＡ）を、プリンタ３０の最大電流供給能力ＩｉｎからＵＳＢデバイスが消費する最大消費電流の和Ｉｕｓｂと空きポートへ接続されるＵＳＢデバイスに供給するため確保しておく電流Ｉｅｍｐとを引いて求める（ステップＳ１５０）。
【００２７】
次に、ステップＳ１５０で求めたプリントサーバ１０が自己の動作に用いることが可能な電流Ｉｓｅｒｖ（ｍＡ）の大きさを判定する（Ｓ１６０）。電流Ｉｓｅｒｖが８００（ｍＡ）以上の場合は、プリントサーバ１０の動作モードを高速モードに設定し（ステップＳ１７０）、本ルーチンを終了する。ここで、高速モードとは、既述の通り動作クロック周波数２００（ＭＨｚ），最大消費電流８００（ｍＡ）で動作するモードである。例えば、プリンタ３０の最大電流供給能力Ｉｉｎが１０００（ｍＡ）で、第１ＵＳＢポート３４及び第２ＵＳＢポート３８に共にＵＳＢデバイスが接続されていないときがこの場合に該当する。この場合、空きポートが２つあるので、電流Ｉｅｍｐが２００（ｍＡ）となり、電流Ｉｓｅｒｖは、最大電流供給能力Ｉｉｎ（１０００（ｍＡ））から電流Ｉｅｍｐ（２００（ｍＡ））を引いて８００（ｍＡ）となる。ステップＳ１６０で電流Ｉｓｅｒｖが５００（ｍＡ）以上８００（ｍＡ）未満と判定されたときには、プリントサーバ１０の動作モードを中速モードに設定し（ステップＳ１８０）、本ルーチンを終了する。ここで、中速モードとは、既述の通り動作クロック周波数１００（ＭＨｚ），最大消費電流５００（ｍＡ）で動作するモードである。例えば、プリンタ３０の最大電流供給能力Ｉｉｎが８００（ｍＡ）で、第１ＵＳＢポート３４のみに最大消費電流が１００（ｍＡ）のＵＳＢデバイスが接続されているときがこの場合に該当する。この場合、空きポートが１つあるので、電流Ｉｅｍｐが１００（ｍＡ）となり、電流Ｉｓｅｒｖは、最大電流供給能力Ｉｉｎ（８００（ｍＡ））から消費電流の和Ｉｕｓｂ（１００（ｍＡ））と電流Ｉｅｍｐ（１００（ｍＡ））とを引いて６００（ｍＡ）となる。ステップＳ１６０で電流Ｉｓｅｒｖが３００（ｍＡ）以上５００（ｍＡ）未満と判定されたときには、プリントサーバ１０の動作モードを低速モードに設定し（ステップＳ１９０）、本ルーチンを終了する。ここで、低速モードとは、既述の通り動作クロック周波数６６（ＭＨｚ），最大消費電流３００（ｍＡ）で動作するモードである。例えば、プリンタ３０の最大電流供給能力Ｉｉｎが１０００（ｍＡ）で、第１ＵＳＢポート３４のみに最大消費電流が５００（ｍＡ）のＵＳＢデバイスが接続されているときがこの場合に該当する。この場合、空きポートが１つあるので、電流Ｉｅｍｐが１００（ｍＡ）となり、電流Ｉｓｅｒｖは、最大電流供給能力Ｉｉｎ（１０００（ｍＡ））から消費電流の和Ｉｕｓｂ（５００（ｍＡ））と電流Ｉｅｍｐ（１００（ｍＡ））とを引いて４００（ｍＡ）となる。ステップＳ１６０で電流Ｉｓｅｒｖが３００（ｍＡ）未満と判定されたときには、ステップＳ２００へ進む。例えば、プリンタ３０の最大電流供給能力Ｉｉｎが８００（ｍＡ）で、第１ＵＳＢポート３４のみに最大消費電流が５００（ｍＡ）のＵＳＢデバイスが接続されているときがこの場合に該当する。この場合、空きポートが１つあるので、電流Ｉｅｍｐが１００（ｍＡ）となり、電流Ｉｓｅｒｖは、最大電流供給能力Ｉｉｎ（８００（ｍＡ））から消費電流の和Ｉｕｓｂ（５００（ｍＡ））と電流Ｉｅｍｐ（１００（ｍＡ））とを引いて２００（ｍＡ）となる。
【００２８】
ステップＳ１６０で電流Ｉｓｅｒｖが３００（ｍＡ）未満と判定されたあとのステップＳ２００では、その時点で各ＵＳＢデバイスが消費するとされている消費電流より更に低い消費電流での動作が各ＵＳＢデバイスが可能か否かを判定する。ＵＳＢデバイスが更に低い消費電流での動作が可能であると判定されたときは、更に低い消費電流での動作を該当のＵＳＢデバイスに指示し、その消費電流に関する情報を取得してその消費電流で該当のＵＳＢデバイスが動作するとして、消費電流の和Ｉｕｓｂ（ｍＡ）を算出し直し（ステップＳ２１０）、ステップＳ１５０へ進む。そして、プリントサーバ１０が自己の動作に用いることが可能な電流Ｉｓｅｒｖ（ｍＡ）を算出し直して、再びステップＳ１６０において電流Ｉｓｅｒｖの大きさを判定する。ステップＳ１６０において電流Ｉｓｅｒｖの大きさが３００（ｍＡ）未満と判定されステップＳ２００において各ＵＳＢデバイスが更に低消費電流での動作が可能であると判定されている間は、既述のステップＳ２１０，Ｓ１５０，Ｓ１６０，Ｓ２００，の処理を繰り返し実行し、ステップＳ１６０において電流Ｉｓｅｒｖの大きさが３００（ｍＡ）以上の大きさであると判定されたときは、既述のステップＳ１７０，Ｓ１８０，Ｓ１９０のいずれかのステップにおいて、その電流Ｉｓｅｒｖの大きさに対応した動作モードに設定した後、本ルーチンを終了する。また、ステップＳ２００において、各ＵＳＢデバイスが更に低い消費電流での動作が不可能であると判定されたときは、所定のアイドル状態に設定し（ステップＳ２２０）、本ルーチンを終了する。ここで、本実施形態では所定のアイドル状態として、動作モードを低速モードや中速モード，高速モードのいずれにも設定せず、プリントサーバ１０の表面に設けられた図示しない表示ランプを点灯させて動作モードを設定できない旨をユーザに報知するものとした。
【００２９】
次に、一度既述の動作クロック設定ルーチンが実行されて動作モードが設定されたあとで、新たにＵＳＢポートにＵＳＢデバイスが装着された場合について説明する。例えば、第１ＵＳＢポート３４のみにＵＳＢデバイス３６が装着された状態でプリントサーバの電源がオンになり、既述の動作クロック設定ルーチンが実行されて動作モードが設定されたあとで、新たに第２ＵＳＢポート３８にＵＳＢデバイス４０が装着されたときには、第２ＵＳＢポート３８にＵＳＢデバイス４０が装着される前までは、ＵＳＢデバイス３６の最大消費電流とプリンタ３０の最大電流供給能力とから動作モードが設定されている。その状態で第２ＵＳＢポート３８にＵＳＢデバイス４０が装着されると、ＵＳＢデバイス４０の最大消費電流も考慮に入れて動作モードを設定するために、既述の動作クロック設定ルーチンが実行される。このとき、ステップＳ１３０で計算される各ＵＳＢデバイスの消費電流の和Ｉｕｓｂ（ｍＡ）は、ＵＳＢデバイス３６の最大消費電流とＵＳＢデバイス４０の最大消費電流との和として計算される。また、ステップＳ２００では、ＵＳＢデバイス３６だけでなくＵＳＢデバイス４０についても更に低い消費電流での動作が可能か否かが判定される。ここでは、新たに第２ＵＳＢポート３８にＵＳＢデバイス４０が装着されるときについて説明したが、第１ＵＳＢポート３４に装着されているＵＳＢデバイス３６が脱着されるときも、既述の動作クロック設定ルーチンが実行されて動作モードが設定される。
【００３０】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のプリンタインタフェース２８が本発明の電源装置接続手段に相当し、本実施形態の第１ＵＳＢポート３４及び第２ＵＳＢポート３８が本発明の電気機器接続手段に相当し、本実施形態のメインコントローラ１６が本発明の動作クロック周波数設定手段に相当し、本実施形態のメインコントローラ１６及びプリンタインタフェースコントローラ２６が電源装置情報取得手段に相当し、本実施形態のメインコントローラ１６及びＵＳＢホストコントローラ３２が電気機器情報取得手段に相当する。なお、本実施形態では、プリントサーバ１０の動作を説明することにより本発明の電子制御装置の制御方法の一例も明らかにしている。
【００３１】
以上詳述した本実施形態のプリントサーバ１０によれば、自己に接続されたプリンタ３０が供給可能な最大供給電流（Ｉｉｎ）と自己の消費電流（Ｉｓｅｒｖ）に加えて自己に接続された各ＵＳＢデバイスの最大消費電流（その総和がＩｕｓｂ）をも考慮に入れたうえで自己のバス４６の動作クロック周波数を設定するため、自己の動作のみならず自己に接続された各ＵＳＢデバイスの動作をも考慮して自己及び自己に接続された各ＵＳＢデバイスの消費電流を設定することができる。したがって、プリンタ３０から供給される電流を自己と自己に接続された１以上のＵＳＢデバイスとで適切に分配して利用することができる。
【００３２】
また、新たなＵＳＢデバイスが自己に接続された時には接続されたことを検出することができると共に、接続された新たなＵＳＢデバイスの動作も考慮に入れて自己のバス４６の動作クロック周波数を設定し直すことができる。
【００３３】
更に、プリンタ３０の最大電流供給能力と各ＵＳＢデバイスの最大消費電流の総和との差から求められるプリントサーバ１０が自己の動作に用いることが可能な電流Ｉｓｅｒｖ（ｍＡ）の大きさを動作クロック設定ルーチンのステップＳ１６０において判定し、その電流Ｉｓｅｒｖの大きさに見合った動作モードに設定するから、ＵＳＢデバイスの動作を優先させた上で自己のバス４６の動作クロック周波数を設定することができる。
【００３４】
更にまた、動作クロック設定ルーチンのステップＳ１６０では、電流Ｉｓｅｒｖの大きさの判定に用いる閾値（本実施形態では、３００（ｍＡ），５００（ｍＡ），８００（ｍＡ））は、それぞれ、バス４６の動作クロック周波数を低速モードの時の６６（ＭＨｚ），中速モードの時の１００（ＭＨｚ），高速モードの時の２００（ＭＨｚ）に設定したときのプリントサーバ１０の自己の最大消費電流に対応しており、そのときの電流Ｉｓｅｒｖの大きさによって動作モードが設定されるから、算出された電流Ｉｓｅｒｖを超えない範囲で設定可能な自己のバス４６の動作クロック周波数が存在するときには、設定可能な最大の動作クロック周波数に設定される。このため、自己に接続されたプリンタ３０から供給される電流を自己と自己に接続された各ＵＳＢデバイスとで最大限に利用することができる。
【００３５】
そしてまた、動作クロック設定ルーチンのステップＳ１６０で、電流Ｉｓｅｒｖの大きさが３００（ｍＡ）未満と判定されたときには、ステップＳ２００においてその時点で各ＵＳＢデバイスが消費するとされている消費電流より更に低い消費電流での動作が各ＵＳＢデバイスが可能か否かを判定し、ＵＳＢデバイスが更に低い消費電流での動作が可能であると判定されたときには、更に低い消費電流での動作を該当のＵＳＢデバイスに指示し、その消費電流に関する情報を取得してその消費電流で該当のＵＳＢデバイスが動作するとして、消費電流の和Ｉｕｓｂ（ｍＡ）を算出し直すため、自己のバス４８の動作クロック周波数が設定不可能なときに、ＵＳＢデバイス３６，４０の消費電流を低くして自己のバス４８の動作クロック周波数の設定ができるようにすることができる。
【００３６】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３７】
例えば、上述した実施形態では図２に示す動作クロック設定ルーチンを採用したが、図３に示す動作クロック設定ルーチンを採用してもよい。以下に図３の動作クロック設定ルーチンについて説明するが、図３の動作クロック設定ルーチンの処理ブロックのうち図２の動作クロック設定ルーチンと同じ処理ブロックについては同じステップ番号を付しその説明を省略する。この動作クロック設定ルーチンが開始されると、メインコントローラ１６のＣＰＵ１８は、まず、ステップＳ１００の処理を実行したあと、電流Ｉｓｅｒｖにプリントサーバ１０の高速モードに対応する最大消費電流（８００（ｍＡ））を設定する（ステップＳ３００）。そして、ステップＳ１１０，Ｓ１２０，Ｓ１３０，Ｓ１４０の処理を順に実行する。次に、各ＵＳＢデバイスに供給可能な電流Ｉｕｓｂ＊を、プリンタ３０の最大電流供給能力Ｉｉｎからプリントサーバ１０の自己の消費する電流Ｉｓｅｒｖと空きポートへ接続されるＵＳＢデバイスに供給するため確保しておく電流Ｉｅｍｐとを引いて求め（ステップＳ３１０）、その電流Ｉｕｓｂ＊がステップＳ１３０において算出した各ＵＳＢデバイスの消費電流の和Ｉｕｓｂ（ｍＡ）より大きいか否かを判定する（ステップＳ３２０）。電流Ｉｕｓｂ＊が消費電流の和Ｉｕｓｂ以上と判定されたときは、各ＵＳＢデバイスが必要とする電流を供給可能であるから、その時点で設定されている電流Ｉｓｅｒｖの大きさに見合った動作モードに設定して（ステップＳ３３０）、本ルーチンを終了する。この場合は、ステップＳ３００で設定された高速モードに設定される。一方、電流Ｉｕｓｂ＊が消費電流の和Ｉｕｓｂ未満であると判定されたときは、ステップＳ２００の処理を実行し、ＵＳＢデバイスが更に低い消費電流での動作が可能であると判定されたときは、ステップＳ２１０の処理を実行し、ステップＳ３２０で再び電流Ｉｕｓｂ＊が消費電流の和Ｉｕｓｂ以上か否かを判定する。ステップＳ３２０で否定判定され、ステップＳ２００で肯定判定されている間は、ステップＳ２００，Ｓ２１０，Ｓ３２０の処理を繰り返し実行し、ステップＳ３２０で電流Ｉｕｓｂ＊が消費電流の和Ｉｕｓｂ以上となったときは、その時点で設定されている電流Ｉｓｅｒｖの大きさに見合った動作モードに設定して（ステップＳ３３０）、本ルーチンを終了する。この場合は、ステップＳ３００で設定された高速モードに設定される。また、各ＵＳＢデバイスの消費電流の値は、最後にステップＳ２１０で消費電流の和Ｉｕｓｂを算出したときに使用された値に設定される。また、ステップＳ２００，Ｓ２１０，Ｓ３２０の処理を繰り返し実行しているうちに、ステップＳ２００で否定判定されたときは、各ＵＳＢデバイスの消費電流を低くすることができないため、プリントサーバ１０の自己の動作モードを消費電流のより低い動作モードで動作可能であるか否かを判定し（ステップＳ３４０）、消費電流のより低い動作モードで動作可能なときは、その動作モードに変更し電流Ｉｓｅｒｖをより小さくする（ステップＳ３５０）。ステップＳ３１０で、変更後の電流Ｉｓｅｒｖを用いて電流Ｉｕｓｂ＊を算出し直し、再びステップＳ３２０において電流Ｉｕｓｂ＊が消費電流の和Ｉｕｓｂ以上か否かを判定する。ステップＳ３２０で否定判定され、ステップＳ３４０で肯定判定されている間は、ステップＳ３４０，Ｓ３５０，Ｓ３１０，Ｓ３２０，Ｓ２００の処理を繰り返し実行し、ステップＳ３２０で電流Ｉｕｓｂ＊が消費電流の和Ｉｕｓｂ以上となったときは、その時点で設定されている電流Ｉｓｅｒｖの大きさに見合った動作モードに設定して（ステップＳ３３０）、本ルーチンを終了する。ステップＳ３４０，Ｓ３５０，Ｓ３１０，Ｓ３２０，Ｓ２００の処理を繰り返し実行しているうちに、ステップＳ３４０で否定判定されたときは、プリントサーバ１０の自己の動作モードを消費電流のより低い動作モードに変更できないため、ステップＳ２２０の処理を実行し、本ルーチンを終了する。こうすれば、自己の動作を優先させた上で自己に接続された各ＵＳＢデバイスの消費電流を設定することができる。
【００３８】
上述した実施形態では、ＵＳＢポートを２つ備えた場合について説明したが、ＵＳＢポートの数はいくつでもかまわない。例えば、ＵＳＢポートを４つ備えた場合には、この４つのＵＳＢポートに接続された各ＵＳＢデバイスの全てについて最大消費電流に関する情報を取得したのち、その総和とプリンタ３０の最大電流供給能力Ｉｉｎとに基づいてバス４６の動作クロック周波数を設定することとなる。
【００３９】
上述した実施形態では、各ＵＳＢデバイスの最大消費電流に関する情報を取得するときには、全てのＵＳＢデバイスに一斉に電流を供給したのち情報を取得するとしたが、１つのＵＳＢデバイスに電流を供給してそのＵＳＢデバイスの最大消費電流に関する情報を取得したあと電流の供給を停止するという処理を順々に繰り返して、自己に接続された全てのＵＳＢデバイスの最大消費電流に関する情報を取得するとしてもよい。
【００４０】
上述した実施形態では、プリントサーバ１０が電流を供給するのは、ＵＳＢデバイスであるとして説明したが、自己に接続されたデバイスの最大消費電流に関する情報が取得可能であればＵＳＢ接続以外の接続方法で接続されたデバイスに電流を供給するとしてもかまわない。この場合は、そのデバイスに適したコントローラと接続ポートを備えることとなる。
【００４１】
上述した実施形態では、設定可能な自己のバス４６の動作クロック周波数は、低速モードの６６（ＭＨｚ），中速モードの１００（ＭＨｚ），高速モードの２００（ＭＨｚ）の３段階としたが、３段階よりも多くの動作クロック周波数が設定可能であるとしてもよい。
【００４２】
上述した実施形態では、設定可能な自己のバス４６の動作クロック周波数は、低速モードの６６（ＭＨｚ），中速モードの１００（ＭＨｚ），高速モードの２００（ＭＨｚ）の３段階としたが、連続した動作クロック周波数が設定可能であるとしてもよい。この場合は、自己のバス４６の動作クロック周波数をその最大消費電流がプリントサーバ１０の動作に用いることが可能な電流Ｉｓｅｒｖと略等しくなるように設定することが可能となるため、プリンタ３０から入力される電流を最大限利用することができる。
【００４３】
上述した実施形態では、ＵＳＢハブ以外のＵＳＢデバイスが接続される場合について説明したが、ＵＳＢハブが接続されてもよい。この場合は、該ＵＳＢハブに備えられたＵＳＢポートも含めた全てのＵＳＢポートについて消費電流の和Ｉｕｓｂや電流Ｉｅｍｐを算出したり空きポートを確認することとなる。
【００４４】
上述した実施形態では、本発明をプリントサーバ１０について適用することについて説明したが、本発明は、何らかの機器から電流を入力し、その入力した電流を自己に接続されたデバイスと自己とで分配して利用することと自己の動作クロックを変更することが可能な電子機器であれば如何なるものに適用してもよい。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態であるプリントサーバ１０の構成の概略を示す構成図である。
【図２】プリントサーバ１０のメインコントローラ１６のＣＰＵ１８により実行される動作クロック設定ルーチンの一例を示すフローチャートである。
【図３】他の動作クロック設定ルーチンのフローチャートである。
【符号の説明】
【００４６】
１０  プリントサーバ、１２  ＬＡＮインタフェース、１４  ＬＡＮインタフェースコントローラ、１６  メインコントローラ、１８  ＣＰＵ、２０  ＲＯＭ、２２  ＲＡＭ、２４  クロック発生回路、２６  プリンタインタフェースコントローラ、２８  プリンタインタフェース、３０  プリンタ、３２  ＵＳＢホストコントローラ、３４  第１ＵＳＢポート、３６，４０  ＵＳＢデバイス、３８  第２ＵＳＢポート、４２  ＵＳＢ−ＶＢＵＳ電流供給回路、４４  電源回路、４６  バス、４８  ＬＡＮ、５０  コンピュータ
【図１】
2007305062.tif 000004
【図２】
2007305062.tif 000005
【図３】
2007305062.tif 000006