以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。
本実施の形態では、画像形成装置をプリンタなどの印刷装置に適用した場合を想定している。印刷装置としてのプリンタは、通常の電力で動作する通常電力状態と、該通常電力状態よりも低い電力で動作する低電力状態とを有しており、これらの電力状態のうち何れかの電力状態で動作するように設定される。なお、通常電力状態は非節電状態を意味し、低電力状態は節電状態を意味する。
(実施の形態1)
図1は実施の形態1に係るプリンタの機能構成を示している。
図1において、プリンタ1は、タスク格納部10、タスク制御部20、割り込み制御部30、受信制御部40、タイマー制御部50、電力消費資源60を備えている。
タスク格納部10は、電力消費資源60の節電制御に関する処理を行う節電制御タスク11、外部からのデータ(印刷データ)の受信に関する処理を行う受信タスク12など複数のタスクを格納している。これら各タスクは、後述するタスク制御部20のタスク実行制御部23によって、タスク格納部10から読み出され実行される。なお、節電制御タスク11の詳細については後述する。
タスク制御部20は、タスク管理テーブル21と、タイマータスク制御部22と、タスク実行制御部23とを有しており、オペレーティングシステムの主要処理部として機能する。
タスク管理テーブル21には、複数のタスクに関するプライオリティを示す情報、タスク毎にタスクの状態を示す情報、タスク毎の起動すべきタイミング情報(周期情報)などタスク動作の条件情報、などタスクに関する情報が登録されている。
タイマータスク制御部22は、後述するタイマー割り込み制御部32によって起動されるものであり、タスク管理テーブル21を参照して、指定された時間を経過するなどの条件(タスク動作の条件)が成立するか否かの判断を行うとともに、この判断した結果を基に、タスク動作の条件が成立したタスクを起動するようにタスク実行制御部23を制御する。
タスク実行制御部23は、タイマータスク制御部22の制御に従って、タスク格納部10に格納されている複数のタスクに対する状態制御を行うものであり、複数のタスクの中から、タイマータスク制御部22から指示された所定のタスクを読み出して実行する。
また、タスク実行制御部23は、タイマータスク制御部22から指示されるタスクに応じて、タスク格納部10内の複数のタスクの中から、実行すべきタスクを適宜切り替えて、該当するタスクを読み出して実行する。
割り込み制御部30は、割り込み種類判定部31、タイマー割り込み制御部32と、受信割り込み制御部33とを有している。
割り込み種類判定部31は、受け付けた割り込みの種類を判定し、タイマー割り込みの場合には、タイマー割り込み制御部32を動作させ、一方、タイマー割り込み以外の割り込み例えば受信割り込みの場合は、受信割り込み制御部33を実行させる。
なお、割り込み種類判定部31は、図1には図示していないが、タイマー割り込み以外の割り込みであって、受信割り込み以外の割り込みの場合は、その割り込みに対応して設けられる割り込み制御部を実行させる。
タイマー割込み制御部32は、割り込み種類判定部31の制御に従って、タスク制御部20のタイマータスク制御部22を実行(起動)させる。
受信割り込み制御部33は、割り込み種類判定部31の制御に従って、受信タスク12を起動させるべき旨をタスク管理テーブル21に記述する。すなわち、印刷データの受信処理が必要となったときに、タスク管理テーブル21には、受信タスク12を示す情報に対応して当該受信タスクを起動させるべき旨が記述される。
受信制御部40は、受信I/F部41と、割込み発生部42とを有しており、受信I/F部41がホストコンピュータ(以下「ホストPC」という。)70からのデータを受信した場合に、割り込み発生部42に対し受信割り込みを要求する。この場合の割り込み発生条件は、ホストPC70からのデータを受信したことである。
なお、受信I/F部41とホストPC70とは、有線回線で接続するようにしても良いし、無線回線で接続するようにしても良い。
割り込み発生部42は、受信I/F部41からの受信割り込み要求に従って受信割り込みを示す信号を、割り込み制御部30の割り込み種類判定部31へ出力する。
タイマー制御部50は、クロック発生部51と、ティック計数部52と、割り込み発生部53とを有している。
クロック発生部51は、クロック(システムクロック)を生成し、これをティック計数部52に出力する。
ティック計数部52は、クロック発生部51によって生成されたクロックをカウントし、該カウント値がティック(オペレーティングシステムの最小時間単位)としての基準計数値(以下「ティック値」という。)に達する毎に、割り込み発生部53に対しタイマー割り込みを発生させる(タイマー割り込み要求を通知する)。
すなわち、ティック計数部52は、カウント値がティック値Tnまたはティック値Tsに達する毎にタイマー割り込み要求を通知することになる。
割り込み発生部53は、ティック計数部52からのタイマー割り込み要求に基づき、タイマー割り込みを示す信号を割り込み制御部30の割り込み種類判定部31へ出力する。この場合の割り込み発生条件は、ティック計数部52からのタイマー割り込み要求を受け取ったことである。
電力消費資源60は、ヒータ61、バックライト62、パネル電源63、および外部クロック64を含んでいる。
なお、本実施の形態1では、タイマー割り込みを要求するタイマー制御部50と、タイマー割り込み以外の割り込みを要求する、受信制御部40を含む複数の制御部とを有している。
従って、割り込み制御部30においては、割り込み種類判定部31は、タイマー制御部50、タイマー制御部50以外の受信制御部40を含む複数の制御部の中から、割り込みを要求した制御部からの割り込みの種類を判定し、この判定結果を基に、対応する割り込み制御部を起動させる。
また、本実施の形態1において、通常電力状態(非節電状態)とは、電力消費資源60の全ての電力消費資源すなわちヒータ61、バックライト62、パネル電源63、および外部クロック64などが定格電力で動作(通常の電力で動作)する状態のことである。これに対し、低電力状態とは、電力消費資源60の全ての電力消費資源が定格電力よりも低い電力(通常の電力よりも低い電力)で動作する状態のことである。
次に、節電制御タスク11について、図2を参照して説明する。
図2に示すように、節電制御タスク11は、節電制御部110として機能するようになっており、当該プリンタ1詳しくは電力消費資源60の各電力消費資源の消費電力を低減させる制御を行う。
節電制御部110は、節電条件判定部111と節電実行制御部112とティック設定部113とを有している。
節電条件判定部111は、通常電力状態において節電移行条件が成立するか否かの判定処理(以下「節電移行処理」という。)を実行するとともに、低電力状態において節電復帰条件が成立するか否かの判定処理(以下「節電復帰判定処理」という。)を実行し、これらの判定処理の結果を節電実行制御部112へ出力する。
ここで、節電移行条件は通常電力状態から低電力状態へ移行するための移行条件であり、この節電移行条件が成立する場合というのは、例えば非印刷状態が一定の時間を経過するなどしたときである。
一方、節電復帰条件は低電力状態から通常電力状態へ復帰するための復帰条件であり、この節電復帰条件が成立する場合というのは、例えば印刷データが受信されるなどしたときである。
節電実行制御部112は、節電条件判定部111の節電移行判定処理の結果または節電復帰判定処理の結果に基づいて、電力消費資源60を低電力状態または通常電力状態に制御するとともに、低電力状態に対応するティック値にすべき旨または通常電力状態に対応するティック値にすべき旨をティック設定部113へ通知する。
具体的には、プリンタ1(の電力消費資源60)が通常電力状態であったときに、節電移行判定処理の結果が節電移行条件が成立する旨の場合には、電力消費資源60の各電力消費資源は低電力状態つまり節電状態に制御されるとともに、ティック設定部113には低電力状態に対応するティック値にすべき旨が通知される。
これに対し、プリンタ1(の電力消費資源60)が低電力状態であったときに、節電復帰判定処理の結果が節電復帰条件が成立する旨の場合は、電力消費資源60の各電力消費資源は通常電力状態つまり非節電状態に制御されるとともに、ティック設定部113には通常電力状態に対応するティック値にすべき旨が通知される。
ティック設定部113は、節電実行制御部112からの通知内容に応じて、ティック計数部52のティック値(基準計数値)を変更する。
具体的には、ティック設定部113は、通常電力状態に対応するティック値にすべき旨が通知された場合には、ティックを通常電力状態に対応するティックの時間に設定し、一方、低電力状態に対応するティック値にすべき旨が通知された場合は、ティックを通常電力状態に対応するティックよりも長い時間に設定する。
ここで、ティック計数部52において設定されるティックは、通常電力状態のときにはティック値Tnに設定され、低電力状態のときはティック値Ts(>Tn)に設定されるようになっている。換言すれば、通常電力状態に対応するティックはティック値Tnであり、低電力状態に対応するティックはティック値Tsである。
この実施の形態1では、ティック値Tnは例えば10msとし、ティック値Tsは例えば100msとする。これらの数値は例示したに過ぎず、「Ts>Tn」の関係が成立するのであれば、任意の値とすることができる。
なお、本実施の形態1においては、タスク制御部20、割り込み制御部30、受信制御部40、クロック発生部51を除くタイマー制御部50のそれぞれの機能を実現するためのソフトウェア(プログラム)がハードディスクあるいはROM(読み出し専用メモリ)に格納されている。またタスク格納部10は、ハードディスクやROMで実現される。
CPU(中央演算処理装置)が、ハードディスクあるいはROMからRAM(随時書き込み読み出しメモリ)へ、これらのソフトウェアを読み出して実行することにより、前記各構成要素の機能を実現するようになっている。
次に、プリンタ1の省電力制御処理について、図3よび図4を参照して説明する。
図3は、その省電力制御処理の処理手順を示すフローチャートである。図4は、省電力制御処理を説明するタイムチャートであり、図4(a)はCPUおよびメモリの平均消費電力の変化を示し、図4(b)はタスク制御部20の実行状態の様子を示している。
なお、CPUおよびメモリ(RAMなど)は、上述したようにタスク制御部20の機能を実電するために必要なハードウェアである。
プリンタ1の電源が投入(オン)された場合は、最初に、タスク制御部20(のタスク実行制御部23)が、タスク格納部10から節電制御タスク11を読み出して実行するようになっている。
なお、電源投入時は、タイマー割り込みが発生しなくとも、タスク実行制御部23が、タスク格納部10から節電制御タスク11を読み出して実行するようになっている。これ以降においては、タスク実行制御部23は、タイマータスク制御部22の制御に従って所定のタスクを実行することになる。
さて、タスク実行制御部23によって実行される節電制御タスク11、すなわち節電制御部110では、節電条件判定部111は初期状態つなり通常電力状態とすべき旨を節電実行制御部112に出力する(図2参照)。
節電実行制御部112は、図3に示すように、電力消費資源60としてのヒータ61、バックライト62、パネル電源63、外部クロック64など各電力消費資源を通常電力状態にするとともに(ステップS101)、ティック設定部113に対して通常電力状態に対応するティック値にすべき旨を通知する。
ティック設定部113は、節電実行制御部112からの通知内容を基に、ティック計数部52のティックを通常電力状態に対応するティック値Tnに設定する(ステップS101)。
ステップS101が終了した後に、電力消費資源60が通常電力状態となっているプリンタ1が、アイドル状態(通常アイドル状態)になったとする(ステップS102)。
ところで、ティック計数部52は、クロック発生部51によって発生されるクロックをカウントしたカウント値がティック値Tnに達する毎にタイマー割り込み要求を割り込み発生部53に送出する。
そのタイマー割り込み要求を受け取った割り込み発生部53が、タイマー割り込みを示す信号を割り込み種類判定部31へ出力すると、割り込み種類判定部31は、タイマー割り込みを示す信号に基づきタイマー割り込みであると判定して、タイマー割り込み制御部32を動作させる。
次に、タイマー割り込み制御部32が、割り込み種類判定部31の制御に従ってタイマータスク制御部22を実行させると、タイマータスク制御部22は、タスク管理テーブル21を参照することにより得られるタスク動作の条件に基づき、節電制御タスク11を起動するようにタスク実行制御部23を制御する。
そして、タスク実行制御部23は、タスク格納部10から節電制御タスク11を読み出して実行する。このようにしてタスク実行制御部23によって実行される節電制御タスク11つまり節電制御部110では、節電条件判定部111は、図3に示すように、節電移行処理を実行、すなわち通常電力状態において節電移行条件が成立するか否かを判定する(ステップS103)。
ステップS103において、節電移行条件が成立しないと判定された場合には上記102に戻る。
一方、節電条件判定部111は、ステップS103において、例えば図4(b)の時点t1で、非印刷状態が一定時間Tnpを経過するなどして節電移行条件が成立したと判定した場合は、その旨を節電実行制御部112へ通知する。
節電移行条件が成立した旨を受け取った節電実行制御部112は、図4(b)の時点t1で、電力消費資源60としてのヒータ61、バックライト62、パネル電源63、外部クロック64など各電力消費資源を低電力状態に制御(電力を低減させる制御)し(ステップS104)、これと同時にティック設定部113に対して低電力状態に対応するティック値にすべき旨を通知する。
すると、ティック設定部113は、図4(b)の時点t1で、節電実行制御部112からの通知内容を基に、ティック計数部52のティック値Tnを低電力状態に対応するティック値Tsに変更する(ステップS104)。
その結果、タスク制御部20においては、タイマータスク制御部22の動作間隔つまりティック値Tsが通常電力状態に対応するティック値Tnよりも長くなり、タイマータスク制御部22が、タスク管理テーブル21を参照してタスク切り替えを実施する間隔が長くなる。
ステップS104が終了した後に、電力消費資源60が低電力状態となっているプリンタ1がアイドル状態(節電アイドル状態)になったとする(ステップS105)。
ところで、ティック計数部52は、クロック発生部51によって発生されるクロックをカウントしたカウント値がティック値Tsに達する毎にタイマー割り込み要求を割り込み発生部53へ送出する。
上述したように割り込み発生部53によって割り込みが発生されると、割り込み種類判定部31を介して、タイマー割り込み制御部32、タイマータスク制御部22が順次実行される。
タイマータスク制御部22が、タスク管理テーブル21を参照することにより得られるタスク動作の条件に基づき、節電制御タスク11を起動するようにタスク実行制御部23を制御すると、タスク実行制御部23は、タスク格納部10から節電制御タスク11を読み出して実行する。
このようにして実行される節電制御タスク11つまり節電制御部110では、節電条件判定部111は、節電復帰処理を実行、すなわち低電力状態において節電復帰条件が成立するか否かを判定し(ステップS106)、この判定した結果、一定時間内に印刷データが受信されない(非印刷状態が一定時間継続した)などの要件が満たされて、節電復帰条件が成立しない場合(低電力状態を維持する場合)は、その旨を割り込み制御部30へ通知する。
これは、節電復帰条件が成立しない旨が、節電制御タスク11を実行しているタスク実行制御部23つまりタスク制御部20から割り込み制御部30に通知されることを意味する。
ステップS106において、一定時間内に印刷データが受信されるなどの要件が満たされて、節電復帰条件が成立した場合は、上記ステップS101に戻る。
さて、節電復帰条件が成立しない旨(低電力状態を維持する旨)の通知を受け取った割り込み制御部30では、割り込み種類判定部31が、割り込みが発生したか否かを判断し(ステップS107)、この判断した結果、割り込みを示す信号を受信して割り込みが発生した場合は、その割り込みの種類を判定するとともに(ステップS108)、判定した割り込みの種類に対応する割り込み制御部、すなわちタイマー割り込みまたはタイマー割り込み以外の割り込みに対応する割り込み制御部を動作させる。
これによりタイマー割り込みまたはタイマー割り込み以外の割り込みに対応する割り込み制御部によって割り込み処理が実行されるとともに、タスク実行制御部23によって、その割り込み処理に応じたタスクが実行される(ステップS109)。
ステップS109の処理においては、ティックは低電力状態に対応するティック値Tsのままなので、タスク実行制御部23によるタスク切り替えの応答性は低いままとなっている。
ところで、ステップS107において割り込み種類判定部31によって割り込みが発生したと判断されるのは、ホストPC70が印刷処理を実行して(ステップS110)、プリンタ1に向けて印刷データを送信し(ステップS111)、受信制御部40の受信I/F部41がホストPC70との通信を開始したことに起因して割り込み発生部42が受信割り込みを発生させた場合、あるいはタイマー制御部50の割り込み発生部53がティック値Ts毎にタイマー割り込みを発生させた場合である。
ここで、ステップS104が終了した後、低電力状態において受信割り込みが発生する場合の処理について、詳細に説明する。
(1)ティック値Ts毎に割り込み発生部53によって発生されるタイマー割り込みに対応してタスク実行制御部23が節電制御タスク11を実行することにより実現される節電制御部110では、節電条件判定部111が、ステップS106の判定処理を行い、その判定処理の結果が、節電復帰条件が不成立である旨(低電力状態を維持すべき旨)であるとする。
(2)このとき、ホストPC70が印刷処理を実行し、プリンタ1に向けて印刷データを送信したとする(ステップS110、S111)。
(3)プリンタ1では、受信制御部40の受信I/F部41がホストPC70との通信を開始した場合、割り込み発生部42が受信割り込みを示す信号を割り込み種類判定部31へ通知する。
(4)割り込み種類判定部31は、割り込み発生部42から通知された通知内容に基づき、割り込みが発生したと判断するとともに(ステップS107「肯定」)、その割り込みは受信割り込みであると判定し(ステップS108)、受信割り込み制御部33を実行させる。
(5)受信割り込み制御部33は、タスク管理テーブル21の受信タスク12を示す情報に対応して当該受信タスクを起動させるべき旨を書き込む、という割り込み処理を実行する。
(6)次に、ティック値Ts毎に割り込み発生部53によって発生されるタイマー割り込みに対応して実行するタイマータスク制御部22が、タスク管理テーブル21を参照することにより得られる「受信タスクを起動させるべき旨」の情報を基に、受信タスク12を実行するようタスク実行制御部23を制御する。
(7)タスク実行制御部23がタスク格納部10から受信タスク12を読み出して実行する(ステップS109)。これにより、その受信タスク12が、ホストPC70からの印刷データの受信に関する処理を実行する。
なお、この場合、節電制御タスク11の処理が終了し、ティック値Ts後に、受信タスク12にタスク切り替えが行われたことになる。
(8)受信タスク12による印刷データの受信に関する処理が終了した場合、ティック値Ts毎に割り込み発生部53によって発生されるタイマー割り込みに対応して実行するタイマータスク制御部22は、タスク管理テーブル21を参照して得られる情報(タスク動作の条件情報)を基に、例えば節電制御タスク11を実行するようタスク実行制御部23を制御する。
(9)タスク実行制御部23は、タイマータスク制御部22の制御に従って、タスク格納部10から節電制御タスク11を読み出して実行する。なお、この場合、受信タスク12の処理が終了し、ティック値Ts後に、節電制御タスク11にタスク切り替えが行われる。
(10)さて、節電制御タスク11つまり節電制御部110では、節電条件判定部111は、ステップS106において、例えば図4(b)の時点t2で、印刷データが受信されたなどの節電復帰条件が成立したと判断した場合は(ステップS106「肯定」)、節電実行制御部112に対し節電状態を解除すなわち通常電力状態にすべき旨を通知する。
(11)通常電力状態にすべき旨が通知された節電実行制御部112は、図4(b)の時点t2で、電力消費資源60のヒータ61、バックライト62、パネル電源63、外部クロック64など各電力消費資源を低電力状態から通常電力状態に復帰させ(ステップS101)、これと当時にティック設定部113に対しティックをティック値Tsからティック値Tnに変更(復帰)するよう制御する。
(12)すると、ティック設定部113は、図4(b)の時点t2で、節電実行制御部112の制御に従って、ティック計数部52のティックをティック値Tsからティック値Tnに変更する(ステップS101)。
図4から明らかなように、時点t1から時点t2までの期間の低電力状態では、タスク制御部20の機能を実現するためのCPUおよびメモリ(RAMなど)の平均消費電力は、通常電力状態の場合と比較して低減されることになる。
以上で、実施の形態1に係る低電力状態において受信割り込みが発生する場合の処理についての説明を終了する。
上述したように、本実施の形態1では、図5に示すように、電力消費資源60が通常電力状態(非節電状態)210においては、ティックはティック値Tn例えば10msであり、非印刷状態が一定時間Tnpを経過するなど節電移行条件が成立した場合は、電力消費資源60は通常電力状態から低電力状態(節電状態)220に移行(遷移)すると同に、ティックはティック値Tnよりも大きいティック値Ts例えば100msとなる。
また、低電力状態220において、印刷データを受信するなど節電復帰条件が成立した場合は、電力消費資源60は低電力状態220から通常電力状態210に移行(遷移)すると同時に、ティックはティック値Tsからティック値Tnに復帰する。
ところで、通常電力状態210においては、タスク実行制御部23は、ティック値Tn毎に発生されるタイマー割り割り込みに対応してタスク切り替えを実施し、所望のタスクを実行する。
一方、低電力状態220においては、タスク実行制御部23は、ティック値Ts毎に発生されるタイマー割り割り込みに対応してタスク切り替えを実施し、所望のタスクを実行する。この低電力状態220においては、タスク切り替えの応答性は低くなっている。
以上説明したように、実施の形態1によれば、通常電力状態(非節電状態)から低電力状態(節電状態)に移行したときは、ティックは通常電力状態に対応するティック値Tnより大きなティック値Tsに変更されるので、このティック値Ts毎に発生されるタイマー割り込みに対応して動作するタスク制御部20の実行動作を、ティック値Tn毎に発生されるタイマー割り込みに対応して動作する場合と比較して低減することができ、これにより消費電力をより低減させることができる。
具体的には、低電力状態においては、CPUおよびメモリ(RAMなど)の平均消費電力を低減させることができる。
また、低電力状態からの節電復帰条件が成立した場合は、ティックを低電力状態に対応するティック値Tsから通常電力状態に対応するティック値Tnに変更するようにしているので、タスクの応答性を回復させることができる。
すなわち、実施の形態1では、節電中(低電力状態中)のように応答性があまり必要とされない状態では、ティックを大きなティック値に変更して応答性を下げることで、消費電力の抑制を向上させることができる。
これに対し、上述した従来技術では、予めタスク管理テーブルの解析を行い、タスク切り替えを必要とするタイミングで割込みを発生させるようにティックを制御するため、節電状態に関わらず、常に同じ電力が消費されることとなり、消費電力を抑制することはできない。
(実施の形態2)
図6は実施の形態2に係るプリンタの機能構成を示している。このプリンタ1は図1に示した実施の形態1のプリンタ1の機能構成において、割り込み制御部30にティック設定部34を追加した構成になっている。なお、図6において、図1に示した構成要素と同様の機能を果たす部分には同一の符号を付している。
図6において、割り込み種類判定部31は、受け付けた割り込みの種類を判定し、タイマー割り込みの場合にはタイマー割込み制御部32を動作させ(符号31aで示される制御信号)、これに対しタイマー割り込み以外の割り込みの場合は、ティック設定部34を実行させた後、当該判定した割り込みに応じた割り込み制御部を実行させる。
例えば、割り込み種類判定部31は、タイマー割り込み以外の割り込みが受信割り込みの場合は、ティック設定部34を実行させ(符号31bで示される制御信号)、その後、受信割り込み制御部33を実行させる(符号31cで示される制御信号)。
本実施の形態2においても、節電制御タスク11は、図2に示した節電制御タスク11つまり節電制御部110と同様の機能および構成を有している。
図2に示した節電制御部110のティック設定部113は、タイマー割り込みに対応して実行する節電条件判定部111による節電移行処理または節電復帰判定処理の結果に応じて、ティック計数部52のティックをティック値Tsまたはティック値Tnに設定(変更)する。
これに対し、ティック設定部34は、電力消費資源60が低電力状態においてタイマー割り込み以外の割り込み、例えば受信割り込みを割り込み種類判定部31が受け取った場合に、発生割り込み種類判定部31からの制御に従って、低電力状態が維持された状態で、ティック計数部52のティックを、低電力状態に対応するティック値Tsから通常電力状態に対応するティック値Tnに変更する。
この場合は、ティック設定部34によってティックがティック値Tnに変更されるものの、電力消費資源60は低電力状態のままである。そのティック値Tnは、このティック値Tnのタイミングでタイマー割り込みが発生し、かつ節電復帰条件が成立したときに、図2に示した節電制御部110のティック設定部113による変更処理によりティック値Tsに変更されることになる。
なお、実施の形態2において、ティック設定部113は設定手段および第2の変更手段の各機能を有し、ティック設定部34は第1の変更手段の機能を有し、タスク実行制御部23は実行手段の機能を有する。
次に、プリンタ1の省電力制御処理について、図7および図8を参照して説明する。
図7は、その省電力制御処理の処理手順を示すフローチャートである。図8は、省電力制御処理を説明するタイムチャートであり、図8(a)はCPUおよびメモリの平均消費電力の変化を示し、図8(b)はタスク制御部20の実行状態の様子を示している。
ここでも、ティック値Tnは10msとし、ティック値Tsは100msとする。
プリンタの電源が投入(オン)されると、図3に示した実施の形態1に係る省電力制御処理の処理手順のステップS101〜S108と同様の処理が実行される(ステップS201〜S208)。
なお、ステップS204においては、図2に示した節電制御部110のティック設定部113は、例えば図8(b)の時点t11で、節電実行制御部112からの通知内容を基に、ティック計数部52のティックをティック値Tnから低電力状態に対応するティック値Tsに変更したとする。
さて、割り込みを受け取って、その割り込み種類を判定(ステップS208を実行)した割り込み種類判定部31は、その割り込み種類はタイマー割り込みであるか否かを判定する(ステップS209)。
ステップS209において、タイマー割り込みの場合は、タイマー割り込みおよびタスク処理の実行を含むタスク制御処理が実行され(ステップS210)、その後、ステップS205に戻る。
すなわち、タイマー割り込みであると判断した割り込み種類判定部31がタイマー割り込み制御部32を動作させ、さらにタイマー割り込み制御部32がタイマータスク制御部22を動作させると、タイマータスク制御部22は、タスク管理テーブル21を参照することにより取得した情報(タスク動作の条件情報)に基づく所定のタスクを起動すべき旨を、タスク実行制御部23へ通知する(タイマー割り込み処理)。
タスク実行制御部23は、タイマータスク制御部22から通知された通知内容を基に、所定のタスクをタスク格納部10から読み出して実行する(タスク処理の実行)。
このようにタイマー割り込みが発生した場合には、割り込み制御部30によるタイマー割り込み処理およびタスク制御部20によるタスク処理の実行を含むタスク制御処理が実行される。
ところで、ステップS209において、タイマー割り込み以外の割り込みであると判断した割り込み種類判定部31はティック設定部34を実行させると同時に、当該タイマー割り込み以外の割り込みに応じた割り込み制御部(例えば受信割り込みの場合は受信割り込み制御部33)を実行させる。
ティック設定部34は、割り込み種類判定部31からの指示に従って、ティック計数部52のティックを低電力状態に対応するティック値Tsから通常電力状態に対応するティック値Tnに変更する(ステップS211)。
なお、本実施の形態2においては、電力消費資源60が低電力状態においてタイマー割り込み以外の割り込みが発生した場合は、ティックのみがティック値Tsからティック値Tnに変更されるものの、電力消費資源60の各電力消費資源は低電力状態のままとなっている。
次に、割り込み種類判定部31からの指示に従って実行する割り込み制御部によって割り込み処理が実行されるとともに、タスク実行制御部23によって、その割り込み処理に応じたタスクが実行される(ステップS212)。
ステップS212の処理においては、ステップS211においてティックが既に通常電力状態に対応するティック値Tnに変更(復帰)されているので、タスク実行制御部23によるタスク切り替えの応答性は高くなっている(タスク切り替えは高速に応答する)。
ステップS212が終了した後に、電力消費資源60が低電力状態となっているプリンタ1がアイドル状態(節電アイドル状態)になったとする(ステップS213)。
ところで、ティック計数部52は、クロック発生部51によって発生されるクロックをカウントしたカウント値がティック値Tnに達する毎にタイマー割り込み要求を割り込み発生部53へ送出する。
上述したように割り込み発生部53によって割り込みが発生されると、割り込み種類判定部31を介して、タイマー割り込み制御部32、タイマータスク制御部22が順次実行される。
タイマータスク制御部22が、タスク管理テーブル21を参照することにより得られるタスク動作の条件に基づき、節電制御タスク11を起動するようにタスク実行制御部23を制御すると、タスク実行制御部23は、タスク格納部10から節電制御タスク11を読み出して実行する。
このようにして実行される節電制御タスク11つまり節電制御部110では、節電条件判定部111は、節電復帰処理を実行、すなわち低電力状態において節電復帰条件が成立するか否かを判定し(ステップS214)、この判定した結果、一定時間内に印刷データが受信されない(非印刷状態が一定時間継続した)などの要件が満たされて、節電復帰条件が成立しない場合(節電状態を維持すべき場合)は、その旨を節電実行制御部112へ通知する。
節電復帰条件が成立しない旨(節電状態を維持すべき旨)を通知された節電実行制御部112が、その旨をティック設定部113に通知すると、ティック設定部113は、ティック計数部52のティックを、通常電力状態に対応するティック値Tnから低電力状態に対応するティック値Tsに変更(再設定)する(ステップS215)。
ステップS215が終了した後は、ステップS207に戻る。また、ステップS214において、一定時間内に印刷データが受信されるなどの要件が満たされて、節電復帰条件が成立した場合は、ステップS201に戻る。
ところで、ステップS207において割り込み種類判定部31によって割り込みが発生したと判断されるのは、ホストPC70が印刷処理を実行して(ステップS216)、プリンタ1に向けて印刷データを送信し(ステップS217)、受信制御部40の受信I/F部41がホストPC70との通信を開始したことに起因して割り込み発生部42が受信割り込みを発生させた場合、あるいはタイマー制御部50の割り込み発生部53がティック値Ts毎にタイマー割り込みを発生させた場合である。
ここで、ステップS204が終了した後、低電力状態において受信割り込みが発生する場合の処理について、詳細に説明する。
(1)ティック値Ts毎に割り込み発生部53によって発生されるタイマー割り込みに対応して実行するタスク実行制御部23が節電制御タスク11を実行することにより実現される節電制御部110では、節電条件判定部111が、ステップS206の判定処理を行い、一定時間内に印刷データが受信されない(非印刷状態が一定時間継続した)などの要件が満たされて、その判定処理の結果が、節電復帰条件が不成立である旨(低電力状態を維持すべき旨)であるとする。
(2)このとき、ホストPC70が印刷処理を実行し、プリンタ1に向けて印刷データを送信したとする(ステップS216、S217)。
(3)プリンタ1では、受信制御部40の受信I/F部41がホストPC70との通信を開始した場合、割り込み発生部42が受信割り込みを示す信号を割り込み種類判定部31へ通知する。
(4)割り込み種類判定部31は、例えば図8(b)の時点t12で、割り込み発生部42から通知された通知内容に基づき、割り込みが発生したと判断するとともに(ステップS207「肯定」)、その割り込みは受信割り込みであると判定し(ステップS208、ステップS209「否定」)、ティック設定部34を実行させると同時に、受信割り込み制御部33を実行させる。
(5)ティック設定部34は、図8(b)の時点t12で、ティック計数部52のティックをティック値Tsからティック値Tnに変更(再設定)する。ただし、電力消費資源60は低電力状態のままとなっている。
(6)一方、受信割り込み制御部33は、タスク管理テーブル21の受信タスク12を示す情報に対応して当該受信タスクを起動させるべき旨を書き込む。
(7)ティック値Tn毎に割り込み発生部53によって発生されるタイマー割り込みに対応して実行するタイマータスク制御部32が、タスク管理テーブル21を参照することにより得られる「受信タスクを起動させるべき旨」の情報を基に、受信タスク12を起動するようタスク実行制御部23を制御する。
(8)タスク実行制御部23は、タスク格納部10から受信タスク12を読み出して実行する(ステップS212)。これにより、その受信タスク12が、ホストPC70からの印刷データの受信に関する処理を実行する。すなわち受信割り込みによる割り込み処理が実行される。
なお、この場合、節電制御タスク11の処理が終了し、ティック値Tn後に、受信タスク12にタスク切り替えが行われたことになる。
(9)受信タスク12による印刷データの受信に関する処理が終了した場合、ティック値Tn毎に割り込み発生部53によって発生されるタイマー割り込みに対応して実行するタイマータスク制御部22は、タスク管理テーブル21を参照して得られる情報(タスク動作の条件情報)を基に、例えば節電制御タスク11を起動するようにタスク実行制御部23を制御する。
(10)タスク実行制御部23は、タイマータスク制御部22の制御に従って、タスク格納部10から節電制御タスク11を読み出して実行する。なお、この場合、受信タスク12の処理が終了し、ティック値Tn後に、節電制御タスク11にタスク切り替えが行われる。
ところで、通常、このような割り込み処理すなわち上記(6)〜(10)の処理は、プライオリティの高いタスクの切り替え要求を伴い、割り込み処理が終了した後にタスク切り替えが発生する。しかし上述したように、既にティックがティック値Tsからティック値Tn(<Ts)に変更されているため、受信タスク12、節電制御タスク11などの各タスク処理は、低電力状態においても、通常電力状態の場合と同様に、速い応答性をもって動作することができる。
(11)さて、上記(10)の処理で実行された節電制御タスク11つまり節電制御部110では、節電条件判定部111は、ステップS214の節電復帰処理において、一定時間内に印刷データが受信されないなどの要件が満たされて、例えば図8(b)の時点t13で、節電復帰条件が不成立であると判定した場合つまり低電力状態を維持すべきであると判定した場合は、その旨を節電実行制御部112へ通知する。
(12)低電力状態を維持すべき旨を通知された節電実行制御部112がその旨をティック設定部113に通知すると、ティック設定部113は、図8(b)の時点t13で、ティック計数部52のティックをティック値Tnからティック値Tsに変更(再設定)する(ステップS215)。
(13)節電条件判定部111によるステップS214あるいはステップS206の節電復帰処理(節電復帰条件が成立するか否かの判定処理)において、受信割り込み処理に伴うタスク動作により、節電復帰条件が成立すると判断された場合(ステップS214「肯定」、ステップS206「肯定」)、節電条件判定部111は、節電実行制御部112に対し通常電力状態にすべき旨を通知する。
(14)通常電力状態にすべき旨が通知された節電実行制御部112は、所定のタイミングで、電力消費資源60のヒータ61、バックライト62、パネル電源63、外部クロック64など各電力消費資源を低電力状態から通常電力状態に復帰させると同時に(ステップS201)、ティック設定部113に対しティックをティック値Tsからティック値Tnに設定(復帰)するよう制御する。
(15)ティック設定部113は、上記所定のタイミングで、ティック計数部52のティックをティック値Tsからティック値Tnに設定する(ステップS201)。
図8から明らかなように、時点t11以降の低電力状態では、タスク制御部20の機能を実現するためのCPUおよびメモリ(RAMなど)の平均消費電力は、通常電力状態の場合と比較して低減されることになる。
以上で、実施の形態2に係る低電力状態において受信割り込みが発生する場合の処理についての説明を終了する。
上述したように、本実施の形態2では、図9に示すように、電力消費資源60が通常電力状態(非節電状態)310においては、ティックはティック値Tn例えば10msであり、非印刷状態が一定時間Tnpを経過するなど節電移行条件が成立した場合は、電力消費資源60は通常電力状態310から低電力状態(節電状態)320に移行(遷移)すると同時に、ティックはティック値Tnよりも大きいティック値Ts例えば100msとなる。
また、低電力状態320においてタイマー割り込み以外の割り込みが発生した場合、つまり低電力状態320において一時的にタスクの応答性が必要となった場合(例えば図8(b)の時点t12〜時点t13の期間の処理)は、電力消費資源60の低電力状態は維持された状態で、ティックがティック値Tsからティック値Tnに変更される。
すなわち低電力状態320から低電力状態330に遷移する。この低電力状態330では、タスク実行制御部23はティック値Tn毎に発生されるタイマー割り割り込みに対応してタスク切り替えを実施し、所望のタスクを実行する。この場合のタスク切り替えの応答性は高くなっている。
また、低電力状態330において、タイマー割り込みが発生したことに起因してタスク実行制御部23によって実行される節電制御タスク11の実行結果が、節電復帰条件が不成立である旨の場合、すなわち節電制御部110の節電条件判定部111による節電復帰処理の結果が節電復帰条件が不成立である旨(低電力状態を維持すべき旨)の場合は、ティックはティック値Tnからティック値Tsに変更される。すなわち低電力状態330から低電力状態320に遷移する。
さらに、この低電力状態320において、タスク実行制御部23によって実行される受信タスク12が印刷データを受信するなど節電復帰条件が成立した場合は、電力消費資源60は低電力状態320から通常電力状態310に移行(遷移)すると同時に、ティックはティック値Tnに復帰する。
この通常電力状態310では、タスク実行制御部23はティック値Tn毎に発生されるタイマー割り割り込みに対応してタスク切り替えを実施し、所望のタスクを実行する。
以上説明したように、実施の形態2によれば、通常電力状態(非節電状態)から低電力状態(節電状態)に移行したときは、ティックは通常電力状態に対応するティック値Tnより大きなティック値Tsに変更されるので、このティック値Ts毎に発生されるタイマー割り込みに対応して動作するタスク制御部の動作を、ティック値Tn毎に発生されるタイマー割り込みに対応して動作する場合と比較して低減することができ、これにより消費電力をより低減させることができる。
また、低電力状態においてタイマー割り込み以外の割り込みが発生した場合は、即時にティックをティック値Tsからティック値Tnに変更(復帰)するようにしているので、一時的にタスクの応答性を必要とされる処理についても、通常電力状態の場合と同様な速度でタスクを動作させる(タスクの応答性を高める)ことができる。
すなわち、実施の形態2では、節電中(低電力状態中)のように応答性があまり必要とされない状態では、ティックを大きなティック値に変更して応答性を下げることで、消費電力を抑制することができる。また、割り込み処理の種類によっては迅速にティックを復帰させるようにしているので、応答性が必要とされる処理に対しては、ティック値の変更のリスクを負わず、遅延なく処理することができる。
(実施の形態3)
図10は実施の形態3に係るプリンタの機能構成を示している。このプリンタ1は図6に示した実施の形態2のプリンタ1の機能構成において、タスク格納部10に時間計測タスク13を追加するとともに、タスク制御部20にOS時間カウント部24およびOS時間情報記憶部25を追加した構成になっている。なお、図10において、図6に示した構成要素と同様の機能を果たす部分には同一の符号を付している。
実施の形態3では、ティック値Tnまたはティック値Tsに設定されたティック毎に動作するタイマータスク制御部22は、自己が動作した旨をOS時間カウント部24に通知するとともに、タスク実行制御部23を実行させる。
タイマータスク制御部22の制御に従って動作するOS時間カウント部24は、オペレーティングシステムによる処理に関する時間をカウントするものであり、ティック毎に動作するタイマータスク制御部22から通知される当該タイマータスク制御部22が動作した旨を基に、OS時間情報記憶部25のOS時間情報をカウントアップする。
OS時間カウント部24は、OS時間情報をカウントするにあたっては、ティック計数部52を参照することにより現在のティックを取得するとともに、このティック(ティック値)を基にタイマー割込み周期の実時間を計算し、実時間に従ったカウント値をOS時間情報に反映させる。
すなわち、OS時間は「ティック値×カウント数」を演算することで求められるので、ティック値がα倍に変更された場合は、カウント数は1/α倍にすればよい。具体的には、500msのOS時間を得たい場合、ティック値Tnが例えば10msのときは、カウント数は50回となり、一方、ティック値Tsが例えば100msのときは、カウント数は5回となる。このようにティック値が異なっていても、ティック値の変更量に応じてカウント数を変更することにより、常に同一のOS時間を求めることができる。
OS時間情報記憶部25はOS時間カウント部24によってカウントアップされるカウント値(OS時間情報)を記憶する。例えばティックがティック値Tnのときは、その値Tn単位(例えば10ms)でインクリメントされ、一方、ティック値Tsのときは、その値Ts(例えば100ms)単位でインクリメントされるようになっている。
ところで、タイマータスク制御部22の制御に従って動作するタスク実行制御部23は、タイマータスク制御部22の制御に従って、タスク格納部10から時間計測タスク13を読み出して実行し、この時間計測タスク13の処理が終了した後、タスク格納部10から節電制御タスク11を読み出して実行する。
すなわち、タスク実行制御部23は、図11に示すように、時間計測タスク13を実行し、その後、節電制御タスク11を実行する。これは時間計測タスク13から節電制御タスク11にタスク切り替えが実施されたことを意味する。
タスク実行制御部23によって実行される時間計測タスク13は、節電用の時間計測部130として機能するものであり、指定された時間に達したかを計測する。なお、この指定された時間には、節電移行条件の成立要件である非印刷状態に関わる一定時間Tnpが含まれる。
時間計測部130は時間判定部131を有しており、この時間判定部131は、OS時間情報記憶部25のOS時間情報を参照して指定された時間を経過したか否かを判定し、この判定した結果を、節電制御タスク11へ渡す。
具体的には、タスク実行制御部23は、時間計測部130の時間判定部131による判定の結果を時間計測タスク13による実行の結果として認識するとともに、次に、時間計測タスク13から節電制御タスク11に切り替えて、これを実行したときに、時間計測タスク13の実行の結果を、節電制御タスク11つまり節電制御部110の節電条件判定部111に渡す。
ところで、本実施の形態3では、低電力状態(節電状態)は、第1レベルの低電力状態(以下「第1レベル低電力状態」という。)と、第2レベルの低電力状態(以下「第2レベル低電力状態」という。)とを有している。
ここで、第1レベル低電力状態とは、例えば、電力消費資源60の中のヒータ61のみが低電力状態となり、他の電力消費資源は通常電力状態にある場合をいう。一方、第2レベル低電力状態とは、電力消費資源60の全ての電力消費資源(ヒータ61、バックライト62、パネル電源63および外部クロック64など)が低電力状態になっている場合をいう。
従って、「第1レベル低電力状態における消費電力>第2のレベル低電力状態における消費電力」の関係が成立する。
また、本実施の形態3に係るプリンタの省電力制御処理は、基本的には、実施の形態2に係る省電力制御処理(図7参照)と同様であるが、図7に示した省電力制御処理の処理手順のステップS203およびステップS204の処理が多少相違する。
次に、その相違する省電力制御処理について図12および図13を参照して説明する。
図12は、省電力制御処理を説明するタイムチャートであり、図12(a)は電力消費資源の平均消費電力の変化を示し、図12(b)はタスク制御部20の実行状態の様子を示している。
図13は、図7に示した省電力制御処理の処理手順において、その処理手順とは異なる部分の処理手順を示すフローチャートである。すなわち、図13の処理手順は、図7に示した処理手順において、ステップS203およびステップS204を削除し、ステップS202とステップS205との間に、ステップS301〜S305を追加した処理手順となる。
(1)図7のステップS202が終了した後、通常電力状態において、タイマー割り込みが発生し、非印刷状態になったことに起因して時間計測タスク13がタスク実行制御部23によって実行されるものとする。
タスク実行制御部23は、例えば図12(b)の時点21でタスク格納部10から時間計測タスク13を読み出して実行した場合、時間計測タスク13つまり時間計測部30では、時間判定部131が、OS時間情報記憶部25を参照して、図12(b)の時点21から一定時間Tnp1を経過したかを判定する。
この場合、時間判定部131は、OS時間情報記憶部25のOS時間情報が、時点t21におけるOS時間情報と一定時間Tnp1情報とを加算した値のOS時間情報に達した場合に、一定時間Tnp1を経過したと判定するようになっている。つまり、起算時点でのOS時間情報と現時点でのOS時間情報との差分が求められ、この差分値が指定された時間(例えば一定時間Tnp1)に達したか否かが判断される。
この一定時間Tnp1は、OS時間カウント部24がティック値Tnのティックに基づきカウントカウントアップされたOS時間情報を基に求められる。
例えば、一定時間Tnp1=180s(180秒)とし、ティック値Tn=10msとした場合、OS時間カウント部24がティック値Tn=10msを18000回カウントしたときに、一定時間Tnp1となる。従って、時間判定部131は、現在の時間が、カウント前のOS時間情報に一定時間Tnp1を加算した値のOS時間に達した場合に、一定時間Tnp1を経過したと判断すればよい。
(2)一定時間Tnp1を経過した場合、時間計測タスク13は時点21から一定時間Tnp1を経過した時点t22に対応するOS時間情報を保持する。
そして、タスク実行制御部23は、時間計測タスク13による判定結果つまり一定時間Tnp1を経過した旨を認識して、当該時間計測タスク13の処理を終了する。
(3)次に、タイマー割り込みが発生し、節電制御タスク11がタスク実行制御部23によって実行されるものとする。
タスク実行制御部23は、例えば図12(b)の時点22でタスク格納部10から節電制御タスク11を読み出して実行した場合、節電制御タスク11つまり節電制御部110では、節電条件判定部111が、時間計測タスク13による判定結果(一定時間Tnp1を経過した旨)を基に、節電移行条件が成立するか否か、つまり非印刷状態が一定時間Tnp1を経過したか否かを判定する(図13のステップS301)。
(4)節電条件判定部111は、時間計測タスク13による判定結果を基に、非印刷状態が一定時間Tnp1を経過したと判定した場合は、節電実行制御部112に対し電力消費資源60のうちヒータ61のみを低電力状態とするよう制御するとともに、ティック設定部に対し低電力状態に対応するティック値とするよう制御する。
(5)そして、図12(b)の時点t22で、ヒータ61が節電実行制御部112によって低電力状態にされるので、電力消費資源60は第1レベル低電力状態となる(図13のステップS302)。これと同時に、図12(b)の時点t22で、ティック設定部113がティック計数部52のティック値Tnをティック値Tsに変更する(図13のステップS302)。
(6)今度は、電力消費資源60が第1レベル低電力状態で、しかもプリンタ1がアイドル状態(節電アイドル状態)のときに(図13のステップS303)、タイマー割り込みが発生し、引き続き非印刷状態になっていることに起因して、再度時間計測タスク13がタスク実行制御部23によって実行されものとする。
タスク実行制御部23は、図12(b)の時点t22以降の所定のタイミングでタスク格納部10から時間計測タスク13を読み出して実行した場合、時間計測タスク13つまり時間計測部30では、時間判定部131が、OS時間情報記憶部25を参照して、起算時点としての図12の時点22から一定時間Tnp2を経過したかを判定する。
この一定時間Tnp2は、OS時間カウント部24がティック値Tsのティックに基づきカウントカウントアップされたOS時間情報を基に求められる。
例えば、一定時間Tnp2=180s(180秒)とし、ティック値Tn=100msとした場合、OS時間カウント部24がティック値Tn=100msを1800回カウントしたときに、一定時間Tnp2となる。従って、時間判定部131は、現在の時間が、カウント前のOS時間情報に一定時間Tnp2を加算した値のOS時間に達した場合に、一定時間Tnp2を経過したと判断すればよい。
なお、時間計測タスク13は、上記(2)の処理で時点t22に対応するOS時間情報を保持しているの、第1レベル低電力状態になった時点つまり一定時間Tnp2の起算時点t22(に対応するOS時間情報)を認識することができる。
(7)時間判定部131は、起算時点t22におけるOS時間情報と現時点例えば図11の時点t23におけるOS時間情報との差分の値が、一定時間Tnp2に達したと判定した場合は、その旨を節電制御タスク11へ渡す。
つまり一定時間Tnp2を経過した場合、時間計測タスク13は時点22から一定時間Tnp2を経過した時点t23に対応するOS時間情報を保持する。
そして、タスク実行制御部23は、時間計測タスク13による判定結果つまり一定時間Tnp2を経過した旨を認識して、当該時間計測タスク13の処理を終了する。
(8)次に、タイマー割り込みが発生し、節電制御タスク11がタスク実行制御部23によって実行されるものとする。
タスク実行制御部23は、例えば図12(b)の時点23でタスク格納部10から節電制御タスク11を読み出して実行した場合、節電制御タスク11つまり節電制御部110では、節電条件判定部111が、時間計測タスク13による判定結果(一定時間Tnp2を経過した旨)を基に、節電移行条件が成立するか否か、つまり非印刷状態が一定時間Tnp2を経過したか否かを判定する(図13のステップS304)。
(9)節電条件判定部111は、時間計測タスク13による判定結果を基に、非印刷状態が一定時間Tnp2を経過したと判定した場合は、節電実行制御部112に対し電力消費資源60の全ての電力消費資源を低電力状態とするよう制御する。
(10)そして、図12の時点t23で、既に低電力状態となっているヒータ61に加えて、バックライト62、パネル電源63、外部クロック64も節電実行制御部112によって低電力状態にされるので、電力消費資源60は第2レベル低電力状態となる(図13のステップS305)。なお、ティック計数部52のティックはティック値Tsのままとなっている。
このような処理が終了した後は、図7のステップS205へ進む。
勿論、上述した省電力処理において、第1レベル低電力状態に対応する第1のティック値Tsと第2のレベル低電力状態に対応する第2のティック値Tsとを異ならせるようにしてもよい。
例えば、「第2のティック値Ts>第1のティック値Ts>ティック値Tn」の関係が成立するように、それぞれのティック値を設定してもよい。
(11)さらに、第2レベル低電力状態において、例えば図11の時点24で受信タスク12が実行されて印刷データが受信され、その後、節電制御タスク11が実行されて節電復帰条件が成立した場合は、時点t24で第2レベル低電力状態から通常電力状態に移行される。
上述した省電力制御処理において、時点t22から時点24までの期間の低電力状態では、タスク制御部20の機能を実現するためのCPUおよびメモリ(RAMなど)の平均消費電力は、通常電力状態の場合と比較して低減されることになる。
以上で、実施の形態3に係る省電力制御処理についての説明を終了する。
ところで、受信タスク12による印刷データの受信処理のときに、何らかの原因により、印刷データが一定時間Toutを経過しても受信されないので、タイムアウトとすることがある。このタイムアウト時間つまり一定時間Toutを計測するのにも、上述したOS時間情報記憶部25のOS時間情報を使用することができる。
すなわち、例えば図3に示した実施の形態1に係る省電力制御処理の処理手順のステップS108での印刷データの受信処理において、タスク実行制御部23によって実行される受信タスク12は、印刷データの受信中に、何らかの原因により印刷データが受信されなくなったと認識したとする。このとき、受信タスク12は、図14に示すように、OS時間情報記憶部25を参照することにより、印刷データが受信されない状態が、一定時間Tout継続するか否かを判断し、一定時間Tout継続した場合はタイムアウトとする、というタイムアウト処理を実行する。
この図3のステップS108における印刷データの受信処理におけるタイムアウト処理で使用する一定時間Toutは、OS時間カウント部24がティック値Tnに基づきカウントカウントアップしたOS時間情報を基に求められる。
例えば、一定時間Tout=30sとし、ティック値Tn=10msとした場合、OS時間カウント部24がティック値Tn=10msを3000回カウントしたときに、OS時間情報記憶部25のOS時間情報は、カウント前と比較して一定時間Tout分増加したOS時間情報となる。
また、例えば図7に示した実施の形態2に係る省電力制御処理の処理手順のステップS212における印刷データの受信処理においても、タスク実行制御部23によって実行される受信タスク12は、印刷データの受信中に、何らかの原因により印刷データが受信されなくなったときには、上記同様に、タイムアウト処理を実行する。
この図7のステップS212における印刷データの受信処理におけるタイムアウト処理で使用する一定時間Toutは、OS時間カウント部24がティック値Tsに基づきカウントカウントアップしたOS時間情報を基に求められる。
例えば、一定時間Tout=30sとし、ティック値Ts=100msとした場合、OS時間カウント部24がティック値Ts=100msを300回カウントしたときに、OS時間情報記憶部25のOS時間情報は、カウント前と比較して一定時間Tout分増加したOS時間情報となる。
従って、受信タスク12は、図3のステップS108における印刷データの受信処理、あるいは図7のステップS212における印刷データの受信処理の何れの場合においても、常に同じタイムアウト時間=一定時間Toutを基にタイムアウト処理を実施することができる。
以上説明したように、本実施の形態3によれば、上述した実施の形態1および実施の形態2の効果に加えて、次に効果を奏することができる。
すなわち、実施の形態3では、ティック計数部52のティックがティック値Tnまたはティック値Tsに変更されたとしても、そのティック値の変化量がα倍のときは規定のカウント数が1/α倍となるように、そのティック値をカウントアップするようにしているので、これらのティック値に基づきカウントアップされ、OS時間情報記憶部25に記憶されるOS時間情報は、ティック値に影響を受けることなく、常に同じ時間とすることができる。換言すれば、ティックの変更に影響を受けることなく、常に同じ時間を計測することができる。