説明

デバイス機器、その制御方法、及び制御プログラム

【課題】プリントジョブを行う際、データ通信に必要な通信速度を満たしつつ、通信不良を防止する。
【解決手段】プリンタ100はホストPC200から送信されたジョブを処理する。プリンタはジョブを処理する通常モードと通常モードよりも電力消費が低いスリープモードとを備えている。通常モードからスリープモードへの遷移を行う際、デバイスインタフェースとホストインタフェースとが第2の通信速度の第2の接続モードで接続されていると、プリンタはデバイスインタフェースを第2の接続モードから第2の通信速度よりも速い第1の通信速度の第1の接続モードに変更して再接続を行う。プリンタは再接続が行われた後、通常モードからスリープモードに遷移する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイス機器、その制御方法、及び制御プログラムに関し、特に、ユニバーサルシリアルバス(USB)インタフェース(I/F)を介して接続されるホスト機器からジョブを受信してその処理を行うデバイス機器の通信制御に関する。
【背景技術】
【0002】
一般に、USB I/FはUSBホスト機器とUSBデバイス機器とを接続して通信を行う際に用いられる。例えば、USB I/Fはホスト機器であるパーソナルコンピュータ(PC)と画像形成装置(例えば、プリンタ)等のデバイス機器とを接続する汎用I/Fとして普及している。
【0003】
ところで、USB2.0でサポートされる通信速度は、低速(Low Speed:LS)モードが1.5Mbps、フルスピード(Full Speed:FS)モードが12Mbps、高速(High Speed:HS)モードが480Mbpsである。そして、USBホスト機器とUSBホスト機器に接続されるUSBデバイス機器とに応じて、通信速度が決定される。
【0004】
さらに、USB3.0において、新たにサポートされるスーパースピード(Super Speed:SS)モードでは、その通信速度は5Gbpsとなり、より高速化されている。そして、SSモードにおいては高速化だけでなく、従来USBホスト機器からのみ可能であったUSB I/F通信における低消費電力状態への遷移を、USBデバイス機器側が制御可能となる。よって、省電力化を図るUSBデバイス機器にとっては、SSモードはより利便性の高いものとなる。
【0005】
一方、通信速度が高速となると、不可避的にノイズの影響を受けて通信が阻害される可能性が高くなる。この結果、USBホスト機器からUSBデバイス機器へのデータ転送が正常に行われなくなる恐れがある。
【0006】
ここで、USB3.0対応のUSBホスト機器にUSB3.0対応のUSBハブを介してSSモード接続のUSBデバイス機器及びHSモード接続のUSBデバイス機器が接続されるとする。この場合、USBホスト機器とUSB3.0ハブと間ではSSモードの通信とHSモードの通信が同時並行に行われることとなる。
【0007】
そして、SSモード及びHSモードの通信が同時並行に行われると、クロストークノイズが生じ、このクロストークノイズも通信を阻害する新たな要因になる。
【0008】
USB I/Fを用いた通信における通信不良を防ぐため、通信の際に生じた通信不良を検出するようにしたものがある。ここでは、当該通信不良が一定時間以上継続したことを検知すると、通信速度を低下させて安定した速度で通信を行うようにしている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−172160号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
ところが、特許文献1に記載の手法においては、通信不良が発生した後通信速度を変更するようにしており、通信速度変更前の通信不良を防止することは困難である。
【0011】
従って、本発明の目的は、データ通信に必要な通信速度を満たしつつ、データ通信を行う前に通信速度を変更して、通信不良を防止することのできるデバイス機器、その制御方法、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【0012】
上記の目的を達成するため、本発明によるデバイス機器は、少なくとも第1の通信速度で通信を行う第1の接続モードと該第1の通信速度よりも遅い第2の通信速度で通信を行う第2の接続モードとを備えるホストインタフェースを有するホスト機器と接続され、前記ホスト機器から送信されたジョブを処理するデバイス機器において、前記ジョブを処理する通常モードと該通常モードよりも電力消費が低いスリープモードとを備え、少なくとも前記第1及び前記第2の接続モードを備えるデバイスインタフェースと、前記通常モードから前記スリープモードへの遷移が行われる際、前記デバイスインタフェースと前記ホストインタフェースとが前記第2の接続モードで接続されていると、前記デバイスインタフェースを前記第2の接続モードから前記第1の接続モードに変更して前記ホストインタフェースと前記デバイスインタフェースとの再接続を行う接続制御手段と、前記再接続が行われた後、前記通常モードからスリープモードに遷移させるモード制御手段とを有することを特徴とする。
【0013】
また、本発明によるデバイス機器は、少なくとも第1の通信速度で通信を行う第1の接続モードと該第1の通信速度よりも遅い第2の通信速度で通信を行う第2の接続モードとを備えるホストインタフェースを有するホスト機器と接続され、前記ホスト機器から送信されたジョブを処理するデバイス機器において、前記ホスト機器には少なくとも1つの別のデバイス機器が別デバイス機器として接続されており、少なくとも前記第1及び前記第2の接続モードを備えるデバイスインタフェースと、前記ホスト機器によって判定された前記別デバイス機器における接続モードを表すモード判定結果を受けると、当該モード判定結果及び前記デバイス機器の現在の接続モードに応じて前記デバイスインタフェースにおける接続モードを前記第1及び前記第2の接続モードのいずれかに切替制御する切替制御手段を有することを特徴とする。
【発明の効果】
【0014】
本発明によれば、データ通信を行う前にノイズの影響の小さい第2の接続モードに変更するようにしたから、ノイズの影響を受けることが少なく、安定した通信を行うことができる。さらに、ホスト機器とデバイス機器とによって構成されるシステム自体の省電力化を図ることができるという効果がある。
【図面の簡単な説明】
【0015】
【図1】本発明の第1の実施形態による画像形成装置の一つであるプリンタを用いたプリントシステムの一例を示す図である。
【図2】図1に示すプリンタについてその構成の一例を示すブロック図である。
【図3】図2に示すプリンタを用いたプリントシステムの他の例を示す図である。
【図4】図3に示すホストPC、ハブ、プリンタ、及びデジタルカメラのUSB I/F接続の形態を示す図である。
【図5】図2に示すプリンタの稼動状態及びUSB I/Fの接続形態と消費電力との関係を説明するための図である。
【図6】図2に示すプリンタが通常状態からスリープ状態に遷移する際の手順を説明するためのフローチャートである。
【図7】図2に示すプリンタがスリープ状態から通常状態に復帰する際の手順を説明するためのフローチャートである。
【図8】本発明の第2の実施形態による画像形成装置の一つであるプリンタ、ハブ、ホストPC、デジタルカメラのUSB I/F接続の形態を説明するための図である。
【図9】図8に示すホストPCにおいてプリンタの制御に関するドライバの階層構成を示す図である。
【図10】図8に示すホストPCとプリンタとの間における通信とプリンタにおける稼動状態の変更とを説明するためのシーケンスを示す図である。
【図11】図10においてホストPCがデジタルカメラの接続構成の変更を検知して、当該検知結果に応じたSSモードデバイス接続フラグをプリンタに送信する手順を説明するためのフローチャートである。
【図12】図10においてプリンタがホストPCから受信したSSモードデバイス接続フラグとUSB I/Fにおける現在の接続形態とに基づいてその接続形態を変更する際の手順を説明するためのフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態による画像形成装置の一例について図面を参照して説明する。
【0017】
<第1の実施形態>
図1は、本発明の第1の実施形態による画像形成装置の一つであるプリンタを用いたプリントシステムの一例を示す図である。
【0018】
図1を参照して、図示のプリントシステムでは、USBホスト機器であるホストPC200とUSBデバイス機器であるプリンタ100とがUSB I/Fを介して接続されている。なお、ここでは、ホストPC200はUSB3.0対応の機器であり、USB3.0インタフェース(ホストインタフェース)を有している。同様に、プリンタ100もUSB3.0対応の機器である。
【0019】
ここで、ホストPC200は一般的なPCであり、ホストPC200のOS(オペレーティングシステム)上では各種のアプリケーションソフトが実行される。
【0020】
ホストPC200にはプリンタ100を制御するためのプリンタドライバがインストールされている。そして、ホストPC200において、アプリケーションソフト上でユーザがプリント処理を選択すると、プリンタドライバがプリントジョブを生成し、USB I/Fを介してプリンタ100に送信する。ここで、プリンタドライバが生成するプリントジョブは、例えば、PDL(Page Description Language)と呼ばれるプリンタの出力画像を定義するプリント命令である。また、プリントジョブはホストPC200上で生成されたラスタイメージを圧縮したものである。そして、プリンタ100はホストPC200からプリントジョブを受信すると、受信したプリントジョブの内容に応じてプリント処理を実行する。
【0021】
図2は、図1に示すプリンタ100についてその構成の一例を示すブロック図である。
【0022】
図2を参照すると、プリンタ100はプリンタコントローラ101を有しており、プリンタコントローラ101はプリント処理に必要な画像処理及びプリンタ全体の制御を行う。図示の例では、プリンタコントローラ101には表示部104及び操作部106が接続されるとともに、プリンタ部110が接続されている。さらに、プリンタコントローラ101は、USB3.0 PHY(物理インタフェース)113を介してホストPC200(図1)に接続される。
【0023】
プリンタコントローラ101は、CPU102、表示部インタフェース(I/F)103、操作部I/F105、ROM107、RAM108、プリンタI/F109、画像処理部111、及びUSB3.0デバイスコントローラ(単にデバイスコントローラと呼ぶ)112を有している。
【0024】
CPU102は、ROM107に記憶された制御プログラムに基づいて動作し、プリントジョブの処理等を行う。さらに、CPU102はプリンタ全体を制御するプロセッサであり、プリンタコントローラ101で行われる各種処理を統括的に制御する。
【0025】
RAM108は、CPU102が動作するためのシステムワークメモリであり、プリント用の画像データを一時記憶するための画像メモリとしても使われる。ROM107はブートROMであり、ブートプログラムが格納されている不揮発性メモリである。
【0026】
表示部I/F103は、表示部104とコマンド及びデータの送受を行うインタフェースである。表示部104は、例えば、LCD(液晶ディスプレイ)で構成され、プリンタ100の現在のステータス及びユーザの設定情報等を表示する。操作部I/F105は、操作部106とコマンド及びデータの送受を行うインタフェースである。操作部106はハードキー等で構成され、ユーザからの入力指示を受け付ける。
【0027】
CPU102は、操作部106が受けた入力指示に応じてプリンタ100の動作を制御する。デバイスコントローラ112は、USB3.0の通信を制御するコントローラであり、前述のUSB3.0 PHY113を介して、ホストPC200に接続される。デバイスコントローラ112及びUSB3.0 PHY113によってUSB I/F(デバイスインタフェース)が規定される。そして、USB I/Fによってプリントジョブ、各種ステータス情報、及び制御信号の送受信がホストPC200とプリンタ100との間で行われる。
【0028】
画像処理部111は、プリント用画像データに対してプリント出力のための画像処理を行い、プリンタI/F109を介して接続されたプリンタ部110に対してプリント用データを送信する。プリンタ部110は、受信したプリント用データに基づいて用紙にプリントを行う。
【0029】
プリンタ部110におけるプリントには、例えば、感光体ドラム又は感光体ベルトを用いて、用紙にトナーを定着させて画像形成を行う電子写真プロセスが用いられる。
【0030】
図示のプリンタ100は通常の稼動状態(通常状態:通常モード)と当該通常状態よりもその消費電力が低いスリープと呼ばれる稼動状態(スリープ状態:スリープモード)とを有する。例えば、図2に斜線で示すCPU102、表示部I/F103、表示部104、プリンタI/F109、プリンタ部110、画像処理部111、及びデバイスコントローラ112はスリープ状態において通電されておらず、これによってプリンタ全体として低消費電力状態となる。
【0031】
このように、スリープ状態においては、プリンタ100が備える非動作部への電源の供給を停止する。さらに、スリープ状態においては、デジタル回路の動作に用いられるクロックの供給が停止される。これによって、プリンタ100における消費電力を低減させる。
【0032】
加えて、図示のプリンタ100は、ホストPC100とのUSB接続をSSモードにおいてリンクダウンして、ホストPC100とのUSB接続を維持した状態でより低消費電力な状態に遷移する。
【0033】
通常状態からスリープ状態への遷移は、例えば、プリンタ100が何の動作もしない状態のまま一定時間経過した後又は操作部106からユーザ指示を受け付けた場合等に行われる。そして、スリープ状態においてプリントジョブを受信してプリントを開始する際又は操作部106からユーザ指示を受け付けた場合には、プリンタ100はスリープ状態から通常状態へ復帰する。
【0034】
具体的には、操作部106が受け付けた入力指示に応じて、操作部I/F105がCPU102に対して割り込みを行う。前述のように、クロックが停止された状態である低消費電力モードで動作中のCPU102は、割り込みを受けると、スリープ状態から通常状態(通常動作モードともいう)に復帰する。
【0035】
続いて、通常動作モードに復帰したCPU102は低消費電力状態にあるプリンタ100の各部を通常状態に復帰させる処理を行う。また、プリンタ100がスリープ状態の際に、ホストPC200はプリントジョブを実行すると、プリンタ100とのUSB接続を再びリンクアップさせる。この際、プリンタ100においてデバイスコントローラ112がリンクアップを検知して、前述した動作と同様にしてCPU102に対してスリープ復帰の割り込みを行う。
【0036】
このようにして、プリンタ100は、その動作状況に応じて電力消費の異なるモードを適宜切り替えて、省電力化を行う。
【0037】
なお、本実施の形態では、通常状態のときには、図2に示す全てのハードウェアモジュールに電源が供給され、スリープ状態のときには図2の斜線で示すブロック以外のハードウェアモジュールのみに電源が供給されるものとした。しかしながら、通常状態及びスリープ状態とは、このような例に限定されるものではなく、例えば、通常状態であっても図2に示すハードウェアモジュールの一部への電源供給を停止するようにしてもよい。また、スリープ状態であっても図2の斜線で示すブロック以外の個所の電源供給を停止するようにしてもよく、また、斜線の個所の一部には電源を供給するようにしてもよい。即ち、少なくとも通常状態とはスリープ状態よりもプリンタ全体としての電力消費が高い状態であり、スリープ状態とは通常状態よりもプリンタ全体としての電力消費が低い状態であればよい。
【0038】
図3は、図2に示すプリンタ100を用いたプリントシステムの他の例を示す図である。
【0039】
図3に示す例では、ホストPC200及びプリンタ100の他に、USB3.0ハブ(以下単にハブと呼ぶ)400が備えられており、当該ハブ400を介してホストPC200とプリンタ100とが接続されている。さらに、ホストPC200とUSB2.0デバイス機器であるデジタルカメラ300がハブ400を解して接続されている。なお、ハブ400は、USBホスト機器とUSBデバイス機器とを中継する役割を有する機器である。
【0040】
図3に示すように、ハブ400とデジタルカメラ300とはUSB2.0ケーブル500で接続され、ハブ400とホストPC500とはUSB3.0ケーブル501で接続されている。また、ハブ400とプリンタ100とはUSBケーブル502で接続されている。
【0041】
USB2.0ケーブル500は、VBUS、GND、D、及びDの4本の信号線から構成され、HS(High Speed)、FS(Full Speed)、及びLS(Low Speed)モードの接続に用いられる。一方、USB3.0ケーブル501及び502の各々は、HS(ハイスピード:第2の通信速度)、FS、LSモード(第2の接続モード)接続で用いられるUSB2.0ケーブル500と共通の4本の信号線とSS(スーパースピード:第1の通信速度)モード(第1の接続モード)接続で用いられるSSTX+、SSTX−、SSRX+、SSRX−、及びGND2本の合計10本の信号線から構成される。従って、図3に示すプリントシステムでは、ホストPC200、ハブ400、プリンタ100、及びデジタルカメラ300間の接続形態は図4に示すようになる。
【0042】
図4は、図3に示すホストPC200、ハブ400、プリンタ100、及びデジタルカメラ300のUSB I/F接続の形態を示す図である。
【0043】
図4において、ホストPC200はUSB3.0ホストコントローラ201及びUSB3.0 PHY(物理インタフェース)202を有する。USB3.0ホストコントローラ201はUSB3.0の通信を制御するコントローラである。USB3.0ホストコントローラ201はUSB3.0ケーブル501が接続されるUSB3.0 PHY202を介して、SS、HS、FS、又はLSモードでUSBデバイス機器と通信する。
【0044】
ホストPC200は、USB3.0ホストコントローラ201が接続されるUSBデバイス機器とホストPC内部バス(図示せず)とのデータの入出力を行うことによって、USBデバイス機器と通信を行う。
【0045】
デジタルカメラ300は、USB2.0デバイスコントローラ301及びUSB2.0 PHY302を有する。USB2.0デバイスコントローラ301は、USB2.0の通信を制御するコントローラである。USB2.0デバイスコントローラ301は、USB2.0ケーブル500が接続されるUSB2.0 PHY302を介して、HS、FS、又はLSモードでUSBホスト機器と通信する。
【0046】
デジタルカメラ300は、USB2.0デバイスコントローラ301が接続されるUSBホスト機器とデジタルカメラ内部バス(図示せず)とのデータの入出力を行うことによって、USBホスト機器との通信を行う。
【0047】
なお、図示の例では、USB2.0デバイス機器としてデジタルカメラ300を一例として図示しているが、USB2.0デバイス機器であればよく、デジタルカメラに限定されない。
【0048】
図4に示すように、USB3.0をサポートするホストPC200のUSB3.0 PHY202及びプリンタ100のUSB3.0 PHY113は、それぞれUSB3.0ケーブル501及び502に対応するようにSSモード対応部とHS、FS、及びLS対応部とを並列に持つ構造を有している。
【0049】
一方、USB2.0までをサポートするデジタルカメラ300のUSB2.0 PHY302は、HS、FS、及びLS対応部のみを備える構造を有している。USBホスト機器とUSBデバイス機器との接続は、SSモードにおいては受信部のターミネーションによって検知され、HS、FS、又はLSモードにおいてD+又はD−のプルアップによって検知される。
【0050】
USB3.0デバイス機器は、USB2.0ケーブル500及びUSB3.0ケーブル502のどちらのケーブルでも接続可能であるが、上述した検知の有無等によって、接続形態がSSモードか又はHS、FS、及びLSモードかであるかが決定される。
【0051】
前述のように、ハブ400は、デジタルカメラ300とUSB2.0ケーブル500を用いて接続され、ハブ400とデジタルカメラ300との間の接続形態はHSモードである。また、ハブ400は、プリンタ100とUSB3.0ケーブル502を用いて接続され、ハブ400とプリンタ100との間の接続形態はSSモードである。そして、ホストPC200とハブ400との間は、USB3.0ケーブル501で接続され、ハブ400がホストPC200とプリンタ100間のSSモード接続を中継する。また、ハブ400はホストPC200とデジタルカメラ300間のHSモード接続を中継する。
【0052】
このように、ハブ400にSSモードのデバイス機器とHS、FS、又はLSモードのデバイス機器が接続される場合には、ホストPC200とハブ400との間では、HS、FS、又はLSモードの通信とより高速なSSモードの通信とが同時並行的に行われることになる。従って、同時並行的な通信において生じるクロストークノイズが通信品質を劣化させる要因となる。
【0053】
特に、より高速な通信をするSSモードの接続においては、クロストークノイズが通信品質に及ぼす影響もより大きくなる。また、SSモードにおいては、USBデバイス機器からUSBホスト機器にパワーダウン要求を通知することによって、HS、FS、又はLSモードの接続に対してより消費電力を低減した接続状態とすることができる。
【0054】
図5は、図2に示すプリンタ100の稼動状態及びUSB I/Fの接続形態と消費電力との関係を説明するための図である。
【0055】
図示の例では、いま、プリンタ100の稼動状態が通常状態900であると、CPU102は、安定した通信を行うため、デバイスコントローラ112を制御してHSモードにおいてプリンタ100をホストPC200と接続して通信を行う。一方、プリンタ100の稼動状態がスリープ状態901となると、CPU102は低消費電力化のため、デバイスコントローラ112を制御してSSモードにおいてプリンタ100をホストPC200と接続する。
【0056】
ここで、HSモードにおける通信速度は、プリンタ100がプリント処理するために十分な通信速度である。プリンタ100の稼働時間に占めるスリープ状態901の割合が大きくなる程省電力化により効果的となる。
【0057】
図6は、図2に示すプリンタ100が通常状態からスリープ状態に遷移する際の手順を説明するためのフローチャートである。
【0058】
図2及び図6を参照して、いま、プリンタ100においてUSB I/Fは、HSモードでホストPC200と接続しているものとする。そして、プリンタ100は通常状態900で動作中であるものとする。
【0059】
上述の状態で、CPU102は通常状態900からスリープ状態901に遷移するか否かを判定する(ステップS1001)。例えば、プリンタ100がプリント処理等を実行しない待機時間が予めユーザによって設定された所定時間よりも大きくなると、CPU102は通常状態900からスリープ状態901に遷移すると判定する。なお、操作部106によってユーザが通常状態900からスリープ状態901への遷移指示を行うと、CPU102は通常状態900からスリープ状態901に遷移すると判定する。
【0060】
スリープ状態901に遷移しないと判定すると(ステップS1001において、NO)、CPU102は待機状態となる。一方、スリープ状態901に遷移すると判定すると(ステップS1001において、YES)、CPU102はスリープ状態901に遷移するに当たって、デバイスコントローラ112を制御して、USB I/Fで確立されているHSモード接続を切断する(ステップS1002)。リンクを切断する際には、例えば、ホストPC200によって検知されるD+のプルアップをスイッチによって切り替える。
【0061】
続いて、CPU102はデバイスコントローラ112を制御して、USB I/FをホストPC200とSSモードで接続する(ステップS1003)。SSモードに切り替える際には、例えば、ターミネーションをスイッチによって切り替えて、ホストPC200がターミネーションを検知できるようにする。
【0062】
これによって、プリンタ100ではUSB I/FがSSモードで接続可能な状態になって、プリンタ100はホストPC200とSSモードで接続されることになる(ステップS1004)。
【0063】
次に、CPU102はSSモードにおけるパワーダウン要求をホストPC200に通知する(ステップS1005)。そして、CPU102はプリンタ100をSSモード接続において低消費電力状態に遷移させて(ステップS1006)、処理を終了する。
【0064】
図7は、図2に示すプリンタ100がスリープ状態から通常状態に復帰する際の手順を説明するためのフローチャートである。
【0065】
図2及び図7を参照して、いま、プリンタ100においてUSB I/Fは、SSモードでホストPC200と接続している。そして、プリンタ100はスリープ状態901にある。
【0066】
上述の状態で、CPU102はスリープ状態901から通常状態900に復帰するか否かを判定する(ステップS2001)。例えば、SSモードにおける接続状態が変化したことを検知すると、CPU102はスリープ状態から通常状態900に復帰すると判定する。なお、操作部106によってユーザがスリープ状態901から通常状態900への復帰指示を行うと、CPU102はスリープ状態901から通常状態900に復帰すると判定する。
【0067】
ここでSSモードにおける接続状態の変化とは、ホストPC200がプリントジョブをプリンタ100に送信するべくSSモードにおける低消費電力状態を通常の接続状態に移行させることをいう。
【0068】
通常状態900に復帰しないと判定すると(ステップS2001において、NO)、CPU102は待機状態となる。一方、通常状態900に復帰すると判定すると(ステップS2001において、YES)、CPU102は通常状態900に復帰するに当たって、デバイスコントローラ112を制御して、USB I/Fで確立されているSSモード接続を切断する(ステップS2002)。リンクを切断する際には、例えば、ホストPC200によって検知されるターミネーションをスイッチによって切り替える。
【0069】
続いて、CPU102はデバイスコントローラ112を制御して、USB I/FをホストPC200とHSモードで接続する(ステップS2003)。HSモードに切り替える際には、例えば、前述のターミネーションをスイッチによって切り替えた状態のままとして、ホストPC200によってターミネーションが検知されないことによってHSモードで接続を開始する。
【0070】
これによって、プリンタ100ではUSB I/FはSSモードにおいてホストPC200との接続が確立される(ステップS2004)。そして、CPU102は処理を終了する。
【0071】
上述のように、第1の実施形態では、プリントジョブを実行する際、プリンタ100がプリントジョブを受ける前に、SSモード(スーパースピードモード)からノイズの影響の小さいHSモード(ハイスピードモード)に変更するようにしたので、ノイズの影響を受けることが少なくなって、安定してプリントジョブを受けることができる。
【0072】
さらに、プリントジョブを実行しない場合には、ホストPC200とプリンタ100との接続モードをSSモードとして、プリンタ100を低消費電力状態であるスリープ状態とする。これによって、プリントシステム自体の省電力化を図ることができる。
【0073】
<第2の実施形態>
図8は、本発明の第2の実施形態による画像形成装置の一つであるプリンタ100、ハブ400、ホストPC200、及びデジタルカメラ600のUSB I/F接続の形態を説明するための図である。
【0074】
なお、ここでは、デジタルカメラ300の代わりにUSB3.0対応デバイス機器であるデジタルカメラ600(別デバイス機器)がUSB3.0ケーブル503を介してハブ400に接続されている。プリンタ100、ハブ400、及びプリンタ100の構成は第1の実施形態と同様である。
【0075】
図8において、デジタルカメラ600は、USB3.0デバイスコントローラ601及びUSB3.0 PHY(物理インタフェース)602を有している。USB3.0デバイスコントローラ601は、USB3.0での通信を制御するコントローラであり、USB3.0 PHY602を介してUSBホスト機器であるホストPC200と通信する。
【0076】
従って、ハブ400とデジタルカメラ600との間のUSB I/Fによる接続形態はSSモード、HS、FS、又はLSモードである。この場合、第1の実施形態とは異なり、プリンタ100及びデジタルカメラ600の各々の接続形態に応じて、ホストPC200とハブ400との間の接続はSSモードのみ、SSモードとHSモードの混在、及びHSモードのみの3種類の接続形態を取りうる。
【0077】
このため、図8に示すプリントシステムにおいては、ホストPC200に接続されるデジタルカメラ600の接続形態に応じて、プリンタ100が安定した通信を行えるようにプリンタ100の接続形態を変更する制御を行う。
【0078】
具体的には、ホストPC200に接続されるデジタルカメラ600の接続形態がSSモードである場合には、プリンタ100の接続モードもSSモードに変更する。これによって、クロストークノイズの影響を低減する。また、ホストPC200に接続されるデジタルカメラ600の接続形態がHSモードである場合には、プリンタ100の接続モードもHSモードに変更してクロストークノイズの影響を低減する。
【0079】
図9は、図8に示すホストPC200においてプリンタ100の制御に関するドライバの階層構成を示す図である。
【0080】
図8及び図9を参照して、ホストPC200にインストールされたドライバは、ホストドライバ/バスドライバ700を有している。ホストドライバ/バスドライバ700はUSB3.0ホストコントローラ201を制御する下位階層のデバイスドライバである。
【0081】
プリンタドライバ701は、プリンタ100を制御するデバイスドライバであり、ホストドライバ/バスドライバ700を介してプリンタ100との通信を行う。同様に、デジタルカメラドライバ703はデジタルカメラ600を制御するデバイスドライバである。
【0082】
但し、前述のように、デジタルカメラ600及びデジタルカメラドライバ703は一例であり、USBデバイス機器の種類はデジタルカメラに限定されない。この場合、ホストPC200は、デジタルカメラドライバ703の代わりにUSBデバイス機器に応じたデバイスドライバを有することになる。
【0083】
USBデバイス機器監視アプリケーション702は、例えば、OSのバックグラウンドのサービスとして動作し、USBデバイス機器の管理情報を監視する。そして、USBデバイス機器監視アプリケーション702は、ホストPC200に接続されるUSBデバイス機器の構成の変更(例えば、接続又は切断)の監視を行う。
【0084】
USBデバイス機器監視アプリケーション702は、ホストPC200に接続するUSBデバイス機器の構成の変更を検知すると、その接続構成がSSモード接続であるか、又はHS、FS、又はLSモード接続であるかを判定する。さらに、USBデバイス機器監視アプリケーション702は、当該判定結果に応じたSSモードデバイス接続フラグ情報を有し、プリンタドライバ701を介してプリンタ100に当該フラグ情報を通知する機能を備えている。
【0085】
図10は、図8に示すホストPC200とプリンタ100との間における通信とプリンタ100における稼動状態の変更とを説明するためのシーケンスを示す図である。なお、ホストPC200及びプリンタ100の動作の詳細については後述する。
【0086】
図10において、プリンタ100は通常状態900で動作中である。ホストPC200においてUSBデバイス機器監視アプリケーション702はデジタルカメラ600の接続構成を監視しており、変更(接続又は切断)を検知する(S3001)。
【0087】
次に、ホストPC200において、USBデバイス機器監視アプリケーション702はデジタルカメラ600の接続構成がSSモード接続であるか、又はHS、FS、又はLSモード接続であるかを判定する(S3002)。そして、USBデバイス機器監視アプリケーション702は、当該判定結果に基づいて、SSモードデバイス接続フラグをセットして、当該フラグ情報をUSB I/Fを介してプリンタ100に対して送信する。
【0088】
ホストPC200からSSモードデバイス接続フラグを受信すると、プリンタ100はSSモードデバイス接続フラグとプリンタ100の現在のUSB I/Fの接続モードとに基づいてその接続形態を変更する(S3003)。そして、第1の実施の形態で説明したようにして、スリープ状態901に遷移する条件を満たすと、プリンタ100は通常状態900からスリープ状態901へと遷移する(S3004)。
【0089】
この際、プリンタ100はUSB I/Fにおける現在の接続形態に関わらず、SSモード接続における低消費電力状態で通常状態900からスリープ状態901へ遷移する。
【0090】
さらに、ホストPC200において、USBデバイス機器監視アプリケーション702は、デジタルカメラ600の接続構成を監視して、変更(接続又は切断)を検知する(S3005)。そして、ホストPC200において、USBデバイス機器監視アプリケーション702はデジタルカメラ600の接続構成がSSモード接続であるか、又はHS、FS、又はLSモード接続であるか否かを判定する。そして、当該判定結果に応じて、USBデバイス機器監視アプリケーション702はSSモードデバイス接続フラグをセットする(S3006)。
【0091】
この際、プリンタ100はスリープ状態901にあるため、ホストPC200はフラグ情報をプリンタ100に対して送信せず、プリンタ100がスリープ状態901から復帰するまで待機する。
【0092】
操作部106からユーザのスリープ復帰の指示を受けると、プリンタ100(つまり、CPU102)はスリープ状態901からの復帰処理を開始する(S3007)。そして、スリープ状態901から復帰する際に、プリンタ100はSSモード接続における低消費電力状態を解除する要求をホストPC200に通知する。これによって、ホストPC200において、プリンタドライバ701はプリンタ100がスリープ状態901から復帰したと判定して、SSモードデバイス接続フラグをプリンタ100に送信する。
【0093】
ホストPC200からSSモードデバイス接続フラグを受信すると、プリンタ100は、SSモードデバイス接続フラグとプリンタ100における現在のUSB I/Fの接続モードとに基づいて接続形態を変更する(S3008)。
【0094】
図11は、図10においてホストPC200がデジタルカメラ600の接続構成の変更を検知して、当該検知結果に応じたSSモードデバイス接続フラグをプリンタ100に送信する手順を説明するためのフローチャートである。
【0095】
図8、図9、及び図11を参照して、ホストPC200においてUSBデバイス機器監視アプリケーション702はデジタルカメラ600を監視し、その接続構成が変更(接続/切断)されたか否かを検知する(ステップS4001)。接続構成が変更されないと(ステップS4001において、NO)、USBデバイス機器監視アプリケーション702は監視を継続する。
【0096】
接続構成の変更を検知すると(ステップS4001において、YES)、USBデバイス機器監視アプリケーション702はプリンタ100以外にホストPC200と接続するデジタルカメラ600がSSモードで接続しているか、又はHS、FS、又はLSモードで接続しているかについて判定する(ステップS4002)。
【0097】
デジタルカメラ600の接続モードがSSモードであると(ステップS4002において、SSモード)、USBデバイス機器監視アプリケーション702はSSモードデバイス接続フラグをオン(ON)にセットする(ステップS4003)。
【0098】
一方、デジタルカメラ600の接続モードがHS、FS、又はLSモードであると(ステップS4002において、HS、FS、LSモード)、USBデバイス機器監視アプリケーション702はSSモードデバイス接続フラグをオフ(OFF)にセットする(ステップS4004)。
【0099】
続いて、USBデバイス機器監視アプリケーション702は、ホストPC200とプリンタ100との間のUSB I/Fの接続状態に応じて、プリンタ100との通信が可能か否かについて判定する(ステップS4005)。
【0100】
プリンタ100との通信が可能でないと(ステップS4005において、NO)、USBデバイス機器監視アプリケーション702は待機する(つまり、通信が可能となるまで待つ)。一方、プリンタ100との通信が可能であると(ステップS4005において、YES)、USBデバイス機器監視アプリケーション702はSSモードデバイス接続フラグ(モード判定結果)をプリンタ100に送信して(ステップS4006)、処理を終了する。
【0101】
USB I/FがSSモード接続における低消費電力状態であれば、プリンタ100はスリープ状態901であるから通信不可能な状態である。一方、SSモード接続の通常状態又はHSモード接続であれば、プリンタ100は通信可能な状態である。
【0102】
図12は、図10においてプリンタ100がホストPC200から受信したSSモードデバイス接続フラグとUSB I/Fにおける現在の接続形態とに基づいてその接続形態を変更する際の手順を説明するためのフローチャートである。
【0103】
図8、図9、及び図12を参照して、プリンタ100(つまり、CPU102)は、ホストPC200と通信が可能な状態にある場合、ホストPC200からSSモードデバイス接続フラグ(モード判定結果)を受信したか否かを判定する(ステップS5001)。SSモードデバイス接続フラグを受信しないと(ステップS5001において、NO)、プリンタ100は待機する(つまり、SSモードデバイス接続フラグを受信するまで待つ)。
【0104】
SSモードデバイス接続フラグを受信すると(ステップS5001において、YES)、プリンタ100はSSモードデバイス接続フラグがON又はOFFであるかを判定する(ステップS5002)。
【0105】
SSモードデバイス接続フラグがOFFであると(ステップS5002において、NO)、プリンタ100においてCPU102はUSB I/F接続がSSモードであるか又はHSモードであるかを判定する(ステップS5003)。SSモードであると(ステップS5003において、SSモード)、CPU102はデバイスコントローラ112を制御してSSモードの接続を切断する(ステップS5004)。
【0106】
そして、CPU102はデバイスコントローラ112を制御してUSB I/FをHSモードに切り替える(ステップS5005)。その後、プリンタ100において、USB I/FがホストPC200との間でHSモード接続を確立して(ステップS5006)、CPU102は処理を終了する。
【0107】
ステップS5003において、HSモードであると(ステップS5003において、HSモード)、CPU102は処理を終了する。なお、HSモードにおいて再接続するまでの手法は第1の実施形態と同様である。
【0108】
このようにして、ホストPC200とプリンタ100とがSSモードで接続されている場合に、ホストPC200にデジタルカメラ600がHS、FS、又はLSモードで接続すると、プリンタ100はホストPC200とのUSB I/F接続をHSモード接続に変更する。また、ホストPC200とプリンタ100とがHSモードで接続されている場合に、ホストPC200にデジタルカメラ600がHSモードで接続すると、プリンタ100はホストPC200との接続をHSモード接続に維持することになる。
【0109】
ステップS5002において、SSモードデバイス接続フラグがONであると(ステップS5002において、YES)、プリンタ100においてCPU102はUSB I/F接続がSSモードであるか又はHSモードであるかを判定する(ステップS5007)。SSモードであると(ステップS5007において、SSモード)、CPU102は処理を終了する。
【0110】
ステップS5003において、HSモードであると(ステップS5007において、HSモード)、CPU102はデバイスコントローラ112を制御してHSモードの接続を切断する(ステップS5008)。そして、CPU102はデバイスコントローラ112を制御してSSモードに切り替える(ステップS5009)。その後、プリンタ100において、USB I/FがホストPC200との間でSSモード接続を確立して(ステップS5010)、CPU102は処理を終了する。
【0111】
なお、HSモードからSSモードに切り替えて再接続を行うまでの手法は第1の実施形態と同様である。
【0112】
このようにして、ホストPC200とプリンタ100とがHSモードで接続されている際、ホストPC200にデジタルカメラ600がSSモードで接続されると、プリンタ100はホストPC200とのUSB I/F接続をSSモード接続に変更する。
【0113】
一方、ホストPC200とプリンタ100がSSモードで接続している際、ホストPC200にデジタルカメラ600がSSモードで接続されると、プリンタ100はホストPC200との接続をSSモードに維持することになる。
【0114】
このように、第2の実施形態では、デジタルカメラ600とホストPC200との接続モードに合わせて、ホストPC200とプリンタ100との接続モードを変更するようにしたので、通信速度の相違に起因するクロストークノイズを低減することができる。
【0115】
なお、上述の説明から明らかなように、図2において、USB3.0コントローラ112及びUSB3.0PHY113がデバイスインタフェース(USB3.0インタフェース)として機能する。さらに、CPU102が接続制御手段及びモード制御手段として機能する。また、CPU102及びUSB3.0デバイスコントローラ112は切替制御手段として機能する。
【0116】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【0117】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、プリンタ100が備えるコンピュータに実行させるようにすればよい。また、上述の実施の形態の機能を有する制御プログラムをプリンタ100が備えるコンピュータに実行させるようにしてもよい。
【0118】
この際、制御方法及び制御プログラムは、少なくとも判定ステップ、接続制御ステップ、及びモード制御ステップを有する。また、制御方法及び制御プログラムは受信ステップ及び切替制御ステップを有するようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【0119】
また、上記の実施の形態においては、インタフェースの例としてUSB3.0インタフェースを用いて説明したが、同様の機能を備えるインタフェースであればUSB3.0インタフェースに限らず、その他のインタフェースに本発明を適用することも可能である。
【0120】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0121】
100 プリンタ
102 CPU
112 USB3.0デバイスコントローラ
113 USB3.0PHY
200 ホストPC
300,600 デジタルカメラ
400 USB3.0ハブ
500 USB2.0ケーブル
501,502,503 USB3.0ケーブル

【特許請求の範囲】
【請求項1】
少なくとも第1の通信速度で通信を行う第1の接続モードと該第1の通信速度よりも遅い第2の通信速度で通信を行う第2の接続モードとを備えるホストインタフェースを有するホスト機器と接続され、前記ホスト機器から送信されたジョブを処理するデバイス機器において、
前記ジョブを処理する通常モードと該通常モードよりも電力消費が低いスリープモードとを備え、
少なくとも前記第1及び前記第2の接続モードを備えるデバイスインタフェースと、
前記通常モードから前記スリープモードへの遷移が行われる際、前記デバイスインタフェースと前記ホストインタフェースとが前記第2の接続モードで接続されていると、前記デバイスインタフェースを前記第2の接続モードから前記第1の接続モードに変更して前記ホストインタフェースと前記デバイスインタフェースとの再接続を行う接続制御手段と、
前記再接続が行われた後、前記通常モードからスリープモードに遷移させるモード制御手段とを有することを特徴とするデバイス機器。
【請求項2】
前記接続制御手段は、前記スリープモードから前記通常モードへの遷移が行われる際、前記デバイスインタフェースと前記ホストインタフェースとが前記第1の接続モードで接続されていると、前記デバイスインタフェースを前記第1の接続モードから前記第2の接続モードに変更することを特徴とする請求項1記載のデバイス機器。
【請求項3】
前記ホスト機器には少なくとも1つの別のデバイス機器が別デバイス機器として接続されており、
前記ホスト機器によって判定された前記別デバイス機器における接続モードを表すモード判定結果を受けると、当該モード判定結果及び前記デバイス機器の現在の接続モードに応じて前記デバイスインタフェースにおける接続モードを前記第1及び前記第2の接続モードのいずれかに切替制御する切替制御手段を有することを特徴とする請求項1又は2記載のデバイス機器。
【請求項4】
少なくとも第1の通信速度で通信を行う第1の接続モードと該第1の通信速度よりも遅い第2の通信速度で通信を行う第2の接続モードとを備えるホストインタフェースを有するホスト機器と接続され、前記ホスト機器から送信されたジョブを処理するデバイス機器において、
前記ホスト機器には少なくとも1つの別のデバイス機器が別デバイス機器として接続されており、
少なくとも前記第1及び前記第2の接続モードを備えるデバイスインタフェースと、
前記ホスト機器によって判定された前記別デバイス機器における接続モードを表すモード判定結果を受けると、当該モード判定結果及び前記デバイス機器の現在の接続モードに応じて前記デバイスインタフェースにおける接続モードを前記第1及び前記第2の接続モードのいずれかに切替制御する切替制御手段を有することを特徴とするデバイス機器。
【請求項5】
前記切替制御手段は、前記モード判定結果が前記第1の接続モードを表している際、前記現在の接続モードが前記第2の接続モードであると、前記インタフェースにおける接続モードを前記第1の接続モードに切替制御して前記ホスト機器との再接続を行うことを特徴とする請求項4記載のデバイス機器。
【請求項6】
前記切替制御手段は、前記モード判定結果が前記第2の接続モードを表している際、前記現在の接続モードが前記第1の接続モードであると、前記インタフェースにおける接続モードを前記第2の接続モードに切替制御して前記ホスト機器との再接続を行うことを特徴とする請求項4又は5記載のデバイス機器。
【請求項7】
前記ホストインタフェース及び前記デバイスインタフェースの各々は、USB3.0インタフェースであり、
前記第1及び前記第2の接続モードはそれぞれスーパースピードモード及びハイスピードモードであることを特徴とする請求項1〜6いずれか1項記載のデバイス機器。
【請求項8】
前記ジョブはプリントジョブであり、
前記デバイス機器は、前記プリントジョブに応じて画像形成を行う画像形成装置であることを特徴とする請求項1〜7いずか1項記載のデバイス機器。
【請求項9】
少なくとも第1の通信速度で通信を行う第1の接続モードと該第1の通信速度よりも遅い第2の通信速度で通信を行う第2の接続モードとを備えるホストインタフェースを有するホスト機器と接続され、前記ホスト機器から送信されたジョブを処理するデバイス機器を制御するための制御方法において、
前記デバイス機器は、少なくとも前記第1及び前記第2の接続モードを備えるデバイスインタフェースを有するとともに、前記ジョブを処理する通常モードと該通常モードよりも電力消費が低いスリープモードとを備えており、
前記通常モードから前記スリープモードへの遷移が行われる際、前記デバイスインタフェースと前記ホストインタフェースとが前記第2の接続モードで接続されているか否かを判定する判定ステップと、
前記デバイスインタフェースと前記ホストインタフェースとが前記第2の接続モードで接続されていると判定されると、前記デバイスインタフェースを前記第2の接続モードから前記第1の接続モードに変更して前記ホストインタフェースと前記デバイスインタフェースとの再接続を行う接続制御ステップと、
前記再接続が行われた後、前記通常モードからスリープモードに遷移させるモード制御ステップとを有することを特徴とする制御方法。
【請求項10】
少なくとも第1の通信速度で通信を行う第1の接続モードと該第1の通信速度よりも遅い第2の通信速度で通信を行う第2の接続モードとを備えるホストインタフェースを有するホスト機器と接続され、前記ホスト機器から送信されたジョブを処理するデバイス機器を制御するための制御方法において、
前記ホスト機器には少なくとも1つの別のデバイス機器が別デバイス機器として接続され、
前記デバイス機器は少なくとも前記第1及び前記第2の接続モードを備えるデバイスインタフェースを有しており、
前記ホスト機器によって判定された前記別デバイス機器における接続モードを表すモード判定結果を受ける受信ステップと、
当該モード判定結果及び前記デバイス機器の現在の接続モードに応じて前記デバイスインタフェースにおける接続モードを前記第1及び前記第2の接続モードのいずれかに切替制御する切替制御ステップとを有することを特徴とする制御方法。
【請求項11】
少なくとも第1の通信速度で通信を行う第1の接続モードと該第1の通信速度よりも遅い第2の通信速度で通信を行う第2の接続モードとを備えるホストインタフェースを有するホスト機器と接続され、前記ホスト機器から送信されたジョブを処理するデバイス機器を制御するための制御プログラムにおいて、
前記デバイス機器は、少なくとも前記第1及び前記第2の接続モードを備えるデバイスインタフェースを有するとともに、前記ジョブを処理する通常モードと該通常モードよりも電力消費が低いスリープモードとを備えており、
前記デバイス機器が備えるコンピュータに、
前記通常モードから前記スリープモードへの遷移が行われる際、前記デバイスインタフェースと前記ホストインタフェースとが前記第2の接続モードで接続されているか否かを判定する判定ステップと、
前記デバイスインタフェースと前記ホストインタフェースとが前記第2の接続モードで接続されていると判定されると、前記デバイスインタフェースを前記第2の接続モードから前記第1の接続モードに変更して前記ホストインタフェースと前記デバイスインタフェースとの再接続を行う接続制御ステップと、
前記再接続が行われた後、前記通常モードからスリープモードに遷移させるモード制御ステップとを実行させることを特徴とする制御プログラム。
【請求項12】
少なくとも第1の通信速度で通信を行う第1の接続モードと該第1の通信速度よりも遅い第2の通信速度で通信を行う第2の接続モードとを備えるホストインタフェースを有するホスト機器と接続され、前記ホスト機器から送信されたジョブを処理するデバイス機器を制御するための制御方法において、
前記ホスト機器には少なくとも1つの別のデバイス機器が別デバイス機器として接続され、
前記デバイス機器は少なくとも前記第1及び前記第2の接続モードを備えるデバイスインタフェースを有しており、
前記デバイス機器が備えるコンピュータに、
前記ホスト機器によって判定された前記別デバイス機器における接続モードを表すモード判定結果を受ける受信ステップと、
当該モード判定結果及び前記デバイス機器の現在の接続モードに応じて前記デバイスインタフェースにおける接続モードを前記第1及び前記第2の接続モードのいずれかに切替制御する切替制御ステップとを実行させることを特徴とする制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−40773(P2012−40773A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−184169(P2010−184169)
【出願日】平成22年8月19日(2010.8.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】