(57)【特許請求の範囲】
【請求項１】
複数の回路ブロックを備えるクロック供給装置であって、
前記複数の回路ブロックへ電圧を供給する電圧供給手段と、
クロック信号を生成し、該生成されたクロック信号を前記複数の回路ブロックに含まれる特定の回路ブロックへ供給するクロック生成手段と、
前記クロック生成手段が生成するクロック信号の周波数を制御する制御手段と、
前記クロック生成手段が生成するクロック信号を前記特定の回路ブロックに供給するか否かの供給状態を切替える切替手段とを有し、
前記制御手段は、前記切替手段が前記供給状態を切替える際に、前記クロック信号の周波数を、第１周波数から前記特定の回路ブロックの消費電力量に応じた第２周波数へ一時的に低下させた後に前記第１周波数へ戻すよう制御することを特徴とするクロック供給装置。
【請求項２】
前記クロック供給装置は、複数の前記特定の回路ブロックを有し、
前記制御手段は、前記切替手段が複数の前記特定の回路ブロックへの前記供給状態を同時に切替える場合に、複数の前記特定の回路ブロックの消費電力量に応じた前記第２周波数へ前記クロック信号の周波数を一時的に低下させた後に前記第１周波数へ戻すよう制御することを特徴とする請求項１に記載のクロック供給装置。
【請求項３】
前記制御手段は、前記切替手段が複数の前記特定の回路ブロックへの前記供給状態を同時に切替える場合に、複数の前記特定の回路ブロックの数に応じた前記第２周波数へ前記クロック信号の周波数を一時的に低下させた後に前記第１周波数へ戻すよう制御することを特徴とする請求項２に記載のクロック供給装置。
【請求項４】
前記制御手段は、前記クロック信号の周波数を前記第１周波数から前記第２周波数へ一時的に低下させる場合に、段階的に周波数を低下させていくことを特徴とする請求項１乃至３の何れかに記載のクロック供給装置。
【請求項５】
前記制御手段は、所定時間毎に新たな目標周波数を設定していくことにより、前記第２周波数に向けて段階的に周波数を低下させていくことを特徴とする請求項４に記載のクロック供給装置。
【請求項６】
前記クロック生成手段は、前記複数の回路ブロックに含まれ、前記特定の回路ブロックとは異なる他の回路ブロックへ前記クロック信号を常に供給することを特徴とする請求項１乃至５の何れか１項に記載のクロック供給装置。
【請求項７】
複数の回路ブロックへ電圧を供給する電圧供給部と、クロック信号を生成して該生成されたクロック信号を前記複数の回路ブロックに含まれる特定の回路ブロックへ供給するクロック生成部を有するクロック供給装置の制御方法であって、
前記クロック生成部が生成するクロック信号を前記特定の回路ブロックに供給するか否かの供給状態を切替える切替工程と、
前記切替工程が前記供給状態を切替える際に、前記クロック信号の周波数を、第１周波数から前記特定の回路ブロックの消費電力量に応じた第２周波数へ一時的に低下させた後に前記第１周波数へ戻すよう前記クロック生成部を制御する制御工程と、
を有することを特徴とするクロック供給装置の制御方法。
【請求項８】
前記クロック供給装置は、複数の前記特定の回路ブロックを有し、
前記制御工程は、前記切替工程が複数の前記特定の回路ブロックへの前記供給状態を同時に切替える場合に、複数の前記特定の回路ブロックの消費電力量に応じた前記第２周波数へ前記クロック信号の周波数を一時的に低下させた後に前記第１周波数へ戻すよう制御することを特徴とする請求項７に記載のクロック供給装置の制御方法。
【請求項９】
前記制御工程は、前記切替工程が複数の前記特定の回路ブロックへの前記供給状態を同時に切替える場合に、複数の前記特定の回路ブロックの数に応じた前記第２周波数へ前記クロック信号の周波数を一時的に低下させた後に前記第１周波数へ戻すよう制御することを特徴とする請求項８に記載のクロック供給装置の制御方法。
【請求項１０】
前記制御工程は、前記クロック信号の周波数を前記第１周波数から前記第２周波数へ一時的に低下させる場合に、段階的に周波数を低下させていくことを特徴とする請求項７乃至９の何れかに記載のクロック供給装置の制御方法。
【請求項１１】
前記制御工程は、所定時間毎に新たな目標周波数を設定していくことにより、前記第２周波数に向けて段階的に周波数を低下させていくことを特徴とする請求項１０に記載のクロック供給装置の制御方法。
【請求項１２】
前記クロック生成部は、前記複数の回路ブロックに含まれ、前記特定の回路ブロックとは異なる他の回路ブロックへ前記クロック信号を常に供給することを特徴とする請求項７乃至１１の何れか１項に記載のクロック供給装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック供給回路、制御方法、情報処理装置、プログラム、及び媒体に関し、特に、半導体集積回路等の回路ブロックにクロック信号を供給するのに好適なクロック供給回路、制御方法、情報処理装置、プログラム、及び媒体に関する。
【背景技術】
【０００２】
近年、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｅｄ  ＩＣ）等の半導体集積回路は、その大規模化に伴い、一般に、クロック同期回路として設計されている。また、最近は、ＬＳＩチップの低電力化、低消費電力化の要求が高くなり、回路ブロックに対するクロック信号の供給を適宜停止させることにより、消費電力を低減するゲーテッドクロック回路が実現されている（特許文献１参照）。
【０００３】
すなわち、従来のＡＳＩＣは、ＡＳＩＣ内部の回路ブロックを個別に駆動制御する全てのフリップフロップに常にフリーランでクロック信号が入力されていた。このため、待機モード時等、駆動しない回路ブロックが存在する場合にも、常に全ての回路ブロックのフリップフロップがＯＮ／ＯＦＦ動作（トグル動作）し、無駄に電力が消費されていた。
【０００４】
しかしながら、前述のように、最近のＡＳＩＣは、大規模化、クロック信号の高周波数化による高速駆動化が進んだため、ＡＳＩＣ全体の消費電力が大きくなり、消費電力の削減が要望されている。
【０００５】
また、このようなＡＳＩＣを画像処理用に用いたデジタル複写機や、スキャナ機能、プリンタ機能、ＦＡＸ機能等の複数の機能を備えた複合機、或いは携帯電話等の情報処理装置においては、待機モードに入っている時間が長く、また、待機モードにおいても各種の待機状態が存在する。例えば、複合機では、ＦＡＸ機能がＯＮでプリンタ機能とスキャナ機能がＯＦＦの状態、ＦＡＸ機能とプリンタ機能がＯＮでスキャナ機能がＯＦＦの状態等の各種の待機状態が存在している。
【０００６】
上記のゲーテッドクロック回路は、このような待機状態における消費電力を削減するのに非常に有効である。すなわち、ゲーテッドクロック回路は、上記のように機能がＯＦＦ状態の回路ブロック内のフリップフロップに対するクロック信号の供給を停止することにより当該フリップフロップのトグル動作を停止することで、消費電力を削減することができる。従って、ゲーテッドクロック回路を有するＡＳＩＣを上記のように待機時間が長い情報処理装置に搭載した場合は、特に、消費電力を大幅に削減することが可能となる。
【特許文献１】特開平１０−３０８４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような機能ブロックを複数有しているＡＳＩＣにおいて、ゲーテッドクロック方式により動作を停止させる場合は、各機能ブロックに入力しているシステムクロックで動作するフリップフロップのトグル動作（オンオフ動作）も急峻に停止される。その結果、動作を停止する機能ブロックの消費電流も急峻に増大するために機能ブロックへ供給しているバイアス電圧が低下してしまう。この低下したバイアス電圧がＡＳＩＣの定格電圧を下回る場合は、ＡＳＩＣの誤動作や機能停止（ロック状態）を招いてしまう。
【０００８】
また、ゲーテッドクロック方式により動作を開始させる場合は、各機能ブロックに入力しているシステムクロックで動作するフリップフロップのトグル動作（オンオフ動作）も急峻に開始される。その結果、動作を開始する機能ブロックの消費電流も急峻に減少するために機能ブロックへ供給しているバイアス電圧が増大してしまう。この増大したバイアス電圧がＡＳＩＣの定格電圧をオーバシュートした場合は、ＡＳＩＣの誤動作等を招いてしまう。
【０００９】
このような不具合を解消するために、一般に、ＡＳＩＣに供給する電源ラインとグランドラインの間にキャパシタを挿入することにより、電源ラインの電圧が急峻に変動するのを緩和する手法が用いられている。
【００１０】
しかし、最近のＡＳＩＣでは、クロック信号の超高速化、またＡＳＩＣの回路規模の増大化が進んでいるので、上記のゲーテッドクロックの手法を実施しても電流変動レベルが益々大きくなり、このゲーテッドクロックの手法を実施することは困難になってきている。
【００１１】
また、ＡＳＩＣに電源を供給する電源回路についても、電流変動に対する応答性について更なる改善が求められ、コストアップの要因になっている。
【００１２】
本発明は、このような背景の下になされたもので、回路ブロックへのクロック信号の供給状態を切替える際の回路ブロックの電流変動を少なくすることができるクロック供給装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は、複数の回路ブロックを備えるクロック供給装置であって、前記複数の回路ブロックへ電圧を供給する電圧供給手段と、クロック信号を生成し、該生成されたクロック信号を前記複数の回路ブロックに含まれる特定の回路ブロックへ供給するクロック生成手段と、前記クロック生成手段が生成するクロック信号の周波数を制御する制御手段と、前記クロック生成手段が生成するクロック信号を前記特定の回路ブロックに供給するか否かの供給状態を切替える切替手段とを有し、前記制御手段は、前記切替手段が前記供給状態を切替える際に、前記クロック信号の周波数を、第１周波数から前記特定の回路ブロックの消費電力量に応じた第２周波数へ一時的に低下させた後に前記第１周波数へ戻すよう制御することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、複数の回路ブロックを備えるクロック供給装置及びその制御方法において、複数の回路ブロックに含まれる特定の回路ブロックへのクロック信号の供給状態を切替える際に、複数の回路ブロックに含まれる他の回路ブロックにおける電流変動を少なくすることができる。  
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
【００１６】
［第１の実施の形態］
図１は、本発明の実施の形態に係るクロック供給回路を適用した画像処理装置の概略構成を示すブロック図である。図１において、コントローラユニット２０００は、スキャナ２０７０やプリンタ２０９５と接続され、ＬＡＮ２０１１や公衆回線（ＷＡＮ）２０５１等の通信ネットワークにも接続されている。コントローラユニット２０００は、上記の各デバイスに接続されることにより、画像情報やデバイス情報の入出力、ＰＤＬ（ページ記述言語）データのイメージ展開を行う。
【００１７】
コントローラユニット２０００は、大別して、システム制御部２１５０、プリンタ用画像処理部２１１５、スキャナ用画像処理部２１１４を有している。これらシステム制御部２１５０、画像処理部２１４９、プリンタ用画像処理部２１１５、スキャナ用画像処理部２１１２等は、共通の電源から電力が供給され、ゲーテッドクロック方式で供給されるクロック信号に基づいて駆動されるものである。このゲーテッドクロック方式によるクロック信号の供給制御については、後で詳細に説明する。
【００１８】
まず、システム制御部２１５０の構成を説明する。システム制御部２１５０のＣＰＵ２００１は、本画像処理装置の全体を制御するプロセッサであり、第１、第２の実施の形態においては２つのＣＰＵが用いられている。これら２つのＣＰＵは、共通のＣＰＵバス２１２６に接続され、更に、バススイッチとして機能するシステムバスブリッジ２００７に接続されている。システムバスブリッジ２００７は、ＣＰＵバス２１２６、ＲＡＭコントローラ２１２４、ＲＯＭコントローラ２１２５、ＩＯバス１２１２７、サブバススイッチ２１２８、ＩＯバス２（２１２９）、画像リングインタフェース１（２１４７）、及び画像リングインタフェース２（２１４８）と接続されている。
【００１９】
サブバススイッチ２１２８は、第２のバススイッチであり、画像ＤＭＡ１（２１３０）、画像ＤＭＡ２（２１３２）、フォント伸張部３１３４、ソート回路２１３５、及びビットマップトレース部２１３６と接続され、上記の画像ＤＭＡから出力されるメモリアクセス要求を調停しながら、システムバスブリッジとの接続を行う。
【００２０】
ＲＡＭ２００２は、ＲＡＭコントローラ２１２４によって制御され、ＣＰＵ２００１によりワークメモリとして利用される。またＲＡＭ２００１は、画像データを一時記憶するための画像メモリとしても利用される。ＲＯＭ２００３は、ＲＯＭコントローラ２１２５により制御され、システムのブートプログラム等が格納されている。なお、ＲＯＭ２００３には、後述する図４〜５、図９〜１１に示した処理を行なうためのアプリケーションプログラムも格納されている。
【００２１】
画像ＤＭＡ１（２１３０）は、レジスタアクセスリング２１３７を介して設定された情報に基づいて画像圧縮部２１３１を制御することにより、ＲＡＭ２００２上に一時記憶されている非圧縮データの読出し処理、読出した非圧縮データの圧縮処理、圧縮データの書き戻し（格納）処理を行う。画像圧縮部２１３１は、例えばＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式により圧縮処理を行なう。
【００２２】
画像ＤＭＡ２（２１３２）は、レジスタアクセスリング２１３７を介して設定された情報に基づいて画像伸張部２１３３を制御することにより、ＲＡＭ２００２上に一時記憶されている圧縮データの読出し処理、読出した圧縮データの伸張処理、伸張、伸張データの書き戻しを行う。画像伸張部２１３３は、ＪＰＥＧ方式により圧縮処理を行なう。
【００２３】
フォント伸張部２１３４は、ＬＡＮインタフェース２０１０等のネットワークを介して外部より転送されるＰＤＬデータに含まれるフォントコードに基づいて、ＲＯＭ２００３又はＲＡＭ２００２に格納されている圧縮フォントデータを伸張する。フォント伸張部２１３４は、例えばＦＢＥ方式によりフォントを伸張する。ソート回路２１３５は、ＰＤＬデータを展開する段階で生成されるディスプレイリストのオブジェクトの順番を並び替える回路である。ビットマップトレース回路２１３６は、ビットマップデータの中からエッジ情報を抽出する回路である。
【００２４】
ＩＯバス１（２１２７）には、標準バスであるＵＳＢバスのコントローラ、ＵＳＢインタフェース２１３８、汎用シリアルポート２１３９、インタラプトコントローラ２１４０、及びＧＰＩＯインタフェース２１４１が接続されている。ＩＯバス２（２１２９）には、汎用バスインタフェース１及び２（２１４２）と、ＬＡＮコントローラ２１１０と接続されている。
【００２５】
操作部Ｉ／Ｆ２００６は、操作部（ＵＩ）２０１２のインタフェースであり、操作部２０１２に表示すべき画像データを操作部２０１２に対して出力する。また、操作部２０１２からユーザが入力した情報を、ＣＰＵ２００１に伝える機能を有している。
【００２６】
汎用バスインタフェース２１４２は、２つの同一構成のバスインタフェースによって構成されており、標準ＩＯバスをサポートするバスブリッジとして機能する。標準ＩＯバスは、ＰＣＩバス２１４３で構成されている。外部記憶装置２００４は、システムソフトウェア、画像データ等を格納するハードディスクドライブであり、ディスクコントローラ２１４４を介して、ＰＣＩバス２１４３に接続されている。ＬＡＮコントローラ２１１０は、ＭＡＣ回路２１４５、ＰＨＹ／ＰＭＤ回路２１４６を介してＬＡＮ２０１１に接続され、このＬＡＮ２０１１を介して情報を入出力する。Ｍｏｄｅｍ２０５０は、公衆回線２０５１を介して情報を入出力する。
【００２７】
画像リングインタフェース１（２１４７）及び画像リングインタフェース２（２１４８）は、ＤＭＡコントローラとして機能する。すなわち、画像リングインタフェース１（２１４７）及び画像リングインタフェース２（２１４８）は、システムバスブリッジ２００７と画像リング２００８とに接続され、タイル化後に圧縮されたデータをＲＡＭ２００２とタイル画像処理部２１４９との間でＤＭＡ転送する。なお、画像リング２００８は、一対の単方向接続経路の組み合わせにより構成され（画像リング１及び画像リング２）、画像データを高速に転送する。
【００２８】
次に、画像処理部２１４９の構成を説明する。上記の画像リング２００８は、画像処理部２１４９内の画像リングインタフェース３（２１０１）及びタイル画像インタフェース４（２１０２）に接続されている。画像リングインタフェース３（２１０１）及びタイル画像インタフェース４（２１０２）は、タイル伸張部２１０３、コマンド処理部２１０４、ステータス処理部２１０５、及びタイル圧縮部２１０６と接続されている。なお、タイル伸張部２１０３は２つ、タイル圧縮部は３つ存在する。
【００２９】
また、タイル伸張部２１０３は、タイルバス２１０７にも接続され、画像リング２００８より入力された圧縮後の画像データを伸張し、伸張した画像データをタイルバス２１０７へ転送する。タイル伸張部２１０３は、ＪＰＥＧ及びパックビッツ方式により伸張処理を行なう。
【００３０】
タイル圧縮部２１０６は、画像リングインタフェース３及び４（２１０１，２１０２）、及びタイルバス２１０７に接続され、このタイルバス２１０７から入力された圧縮前の画像データを圧縮し、圧縮した画像データを画像リング００８へ転送する。タイル圧縮部２１０６は、タイル伸張部２１０６と同様の圧縮・伸張方式、すなわちＪＰＥＧ及びパックビッツ方式で圧縮処理を行なう。
【００３１】
コマンド処理部２１０４は、画像リングインタフェース３及び４（２１０１，２１０２）、及びレジスタ設定バス２１０９に接続され、ＣＰＵ２００１から発行されたレジスタ設定要求を、レジスタ設定バス２１０９に接続される当該要求に係るブロックへ書き込む。また、コマンド処理部２１０４は、ＣＰＵ２００１から発行されたレジスタ読み出し要求に基づいて、レジスタ設定バス２１０９を介して、当該要求に係るレジスタから情報を読み出し、読み出した情報を画像リングインタフェース４（２１０２）に転送する。
【００３２】
ステータス処理部２１０５は、画像処理部２１４９内の情報を監視し、必要に応じて、ＣＰＵ２００１に対してインタラプトを発行するためのインタラプトパケットを生成する。生成されたインタラプトパケットは、画像リングインタフェース４（２１０２）に出力される。
【００３３】
タイルバス２１０７には、上述したブロックに加え、レンダリング部インタフェース２１１０、画像入力インタフェース２１１２、画像出力インタフェース２１１３、多値化部２１１９、２値化部２１１８、色空間変換部２１１７、画像回転部２０３０、及び解像度変換部２１１６が接続されている。
【００３４】
レンダリング部２０６０は、ＰＤＬコード、或いは中間ディスプレイリストをビットマップイメージに展開し、一般的なビデオ信号２１１１として出力する。レンダリング部インタフェース２１１０は、レンダリング部２０６０により生成されたビットマップイメージを入力するインタフェースである。
【００３５】
レンダリング部インタフェース２１１０は、タイルバス２１０７、メモリバス２１０８、及びレジスタ設定バス２１０９に接続する機能を有する。レンダリング部インタフェース２１１０は、レジスタ設定バス２１０９を介して設定された所定の方法に従って、入力されたラスタ画像をタイル画像へ変換すると共にクロックを同期化し、そのタイル画像をタイルバス２１０７に出力する。
【００３６】
画像入力インタフェース２１１２は、レジスタ設定バス２１０９を介して設定された所定の方法に従って、後述するスキャナ用画像処理部２１１４によって補正画像処理されたラスタイメージデータをタイル画像に変換すると共にクロックを同期し、そのタイル画像をタイルバス２１０７に出力する。
【００３７】
画像出力インタフェース２１１３は、タイルバス２１０７から入力されたタイル画像データをラスタ画像に変換すると共にクロックレートを変更し、そのラスタ画像をプリンタ用画像処理部２１１５に出力する。
【００３８】
画像回転部２０３０は、画像データを回転処理する。また、解像度変換部２１１６は、画像の解像度を変更する。色空間変換部２１１７は、カラー及びグレースケール画像の色空間を変換する。２値化部２１１８は、多値（カラー、グレースケール）画像を２値化する。また、多値化部２１１９は、２値画像を多値データに変換する。
【００３９】
外部バスインタフェース部２１２０は、画像リングインタフェース１乃至４（２１４７，２１４８，２１０１，２１０２）、コマンド処理部２１０４、及びレジスタ設定バス２１０９を介して、ＣＰＵ２００１により発行された書き込み要求、読み出し要求を外部バス２１２１に出力する。本実施の形態において、外部バス２１２１は、プリンタ用画像処理部２１１５と、スキャナ用画像処理部２１１４とに接続されている。
【００４０】
メモリ制御部２１２２は、メモリバス２１０８に接続されており、プリンタ用画像処理部２１１５及びスキャナ用画像処理部２１１４の要求に従って、画像メモリ１及び画像メモリ２（２１２３）に対して、画像データを書き込み又は読み出し、必要に応じてリフレッシュ等の動作を行う。
【００４１】
スキャナ用画像処理部２１１４は、スキャナ２０７０により読み取られた画像データに対してガンマ補正等の画像処理を施す。プリンタ用画像処理部２１１５は、プリンタ２０７０により印刷する画像データを印刷用のデータに画像処理する。
【００４２】
なお、コントローラユニット２０００内のシステム制御部２１５０、画像処理部２１４９、プリンタ用画像処理部２１１５、スキャナ用画像処理部２１１２等は、全て１チップのＡＳＩＣとして集積化しても、或いは独立したＡＳＩＣとして集積化してもよい。
【００４３】
また、システム制御部２１５０、画像処理部２１４９、プリンタ用画像処理部２１１５、スキャナ用画像処理部２１１２等は、前述したように、共通の電源から電力が供給され、ゲーテッドクロック方式で供給されるクロック信号に基づいて駆動される。
【００４４】
次に、第１の形態に特有なゲーテッドクロック方式によるクロック信号の供給制御を説明する。
【００４５】
図２に示したように、コントローラユニット２０００は、図１に示したデバイスの他に、クロックジェネレータ３０００、ゲーテッドクロックセレクタ部３００１、ＤＣ／ＤＣ回路３００２等を有している。クロックジェネレータ３０００は、可変周波数発振器として構成され、ＣＰＵ２００１から周波数制御信号Ｓｃにより指定された周波数のシステムクロックＣｓｙｓを生成し、クロックライン１１を介してシステム制御部２１５０、画像処理部２１４９に供給する。
【００４６】
ただし、画像処理部２１４９へのシステムクロックＣｓｙｓの入力は、ＡＮＤゲート１３を介して行なわれる。すなわち、主電源が投入されている場合は、システムクロックＣｓｙｓは、システム制御部２１５０には常時供給される。一方、画像処理部２１４９には、ゲーテッドクロックセレクタ部３００１からのクロックイネーブル信号Ｃｅｎが信号ライン１２を介してＡＮＤゲート１３に出力されている期間だけ、システムクロックＣｓｙｓが供給される。この場合、ＡＮＤゲート１３は、クロックイネーブル信号Ｃｅｎの入力によりゲートＯＮ状態となり、一方の入力信号であるシステムクロックＣｓｙｓがクロックライン１４を介して画像処理部２１４９に供給される。
【００４７】
システム御部２１５０は、クロック信号（システムクロックＣｓｙｓ）を増幅するバッファ１８，１９，２０と、後述のフリップフロップ２１等を有しており、これらデバイスはツリー状に接続されている。画像処理部２１４９も、システム制御部２１５０と同様に、クロック信号を増幅するバッファ２２，２３と、後述のフリップフロップ２４等を有しており、これらデバイスがツリー状に接続されている。
【００４８】
上記のフリップフロップ２１，２４は、入力されたシステムクロックＣｓｙｓに基づいて、例えば、前述の画像ＤＭＡ１（２１３０）、ビットマップトレース回路２１３６等のデバイス（回路）に対するデータやコマンドの入出力タイミングを個別に制御するものである。
【００４９】
ＤＣ／ＤＣ回路３００２は、入力された電源Ｖｉｎを電圧レベルの異なる各種の電源に変換する。なお、図２では、１つの電源ライン１５だけを示しているが、実際にはコントローラユニット２０００には多数の電源ラインが存在し、ＤＣ／ＤＣ回路３００２は、これら各電源ラインに各種の電圧レベルの電源を供給している。図２においては、ＤＣ／ＤＣ回路３００２は、所定の電圧レベルの電源Ｖｄｄを電源ライン１５を介してシステム制御部２１５０、画像処理部２１４９、プリンタ用画像処理部２１１５、スキャナ用画像処理部２１１４等に供給している。
【００５０】
なお、ＤＣ／ＤＣ回路３００２から電源供給を受ける回路ブロックでの消費電流の急峻な変動に伴って電源ライン１５の電圧が急峻に変動するのを緩和するために、電源ライン１５とグランドライン（不図示）との間にはコンデンサ（不図示）が適所に挿入されている。
【００５１】
次に、第１の実施の形態に係るクロックジェネレータ３０００の構成を図３に基づいて説明する。クロックジェネレータ３０００は、発振回路３００５、掃引回路３００４、波形整形回路３００６、及び掃引動作規定回路３００３を有し、ＣＰＵ２００１により指定された周波数のシステムクロックＣｓｙｓを連続的に発生する。
【００５２】
発振回路３００５は、例えばブリッジ型ＣＲ発振回路により実現される。掃引回路３００４は、発振回路３００５の発振周波数を変化（掃引）させる。この場合、掃引回路３００４は、発振回路３００５の回路定数の１つであるキャパシタンスを所定の速度で連続的に変化させることにより発振周波数を連続的に変化させる。
【００５３】
この掃引回路３００４の掃引動作は、掃引動作規定回路３００３により規定される。すなわち、掃引動作規定回路３００３は、ＣＰＵ２００１から与えられた周波数制御信号Ｓｃに基づいて、発振回路３００５における発振周波数の掃引方向と掃引速度を決定し、その掃引方向と掃引速度を掃引回路３００４に指示する。そして、掃引回路３００４は、指定に係る掃引方向（低周波方向又は高周波方向）に指定に係る掃引速度で、発振回路３００５の発振周波数を掃引する。
【００５４】
波形整形回路３００６は、発振回路３００５から発振された発振信号をシステムクロックＣｓｙｓに適したパルス波形に整形する回路であり、フリップフロップ又はシュミットトリガ回路等により実現することができる。波形整形回路３００６は、波形整形後のパルス信号をシステムクロックＣｓｙｓとして出力する。
【００５５】
前述のように、システム制御部２１５０には、常時、システムクロックＣｓｙｓが供給されている。従って、システム制御部２１５０は、省エネルギーを図るべくコントローラユニット２０００が待機モードに入った場合にも動作可能となっている。システム制御部２１５０は、待機モード時には、例えばＬＡＮや公衆回線を介してプリントジョブが送信されてきたか否か、操作部（ＵＩ）２０１２により待機モードを解除すべき操作がなされたか否か等を検知する。
【００５６】
一方、画像処理部２１４９は、待機モード時にはシステムクロックＣｓｙｓが入力されず、スリープ状態となっている。すなわち、待機モード時には、ゲーテッドクロックセレクタ部３００１は、クロックイネーブル信号Ｃｅｎをディセーブル状態にし、画像処理部２１４９へのシステムクロックＣｓｙｓの供給を停止している。そして、ゲーテッドクロックセレクタ部３００１は、ＣＰＵ２００１から待機モード解除信号Ｓｇが入力されることにより、クロックイネーブル信号Ｃｅｎをイネーブル状態にして、画像処理部２１４９へのシステムクロックＣｓｙｓの供給を再開する。
【００５７】
次に、第１の実施の形態に特有なシステムクロックＣｓｙｓの周波数制御を説明する。まず、待機モードを解除する場合の上記の周波数制御を、図４のフローチャートに基づいて説明する。
【００５８】
システム制御部２１５０のＣＰＵ２００１は、待機モード時において、画像処理部２１４９をウェイクアップさせるべきジョブが発生する、すなわち、画像処理部２１４９にシステムクロックＣｓｙｓを供給すべき条件が発生するのを監視している（ステップＳ１）。そして、ＣＰＵ２００１は、画像処理部２１４９にシステムクロックＣｓｙｓを供給すべき条件が発生すると、クロックジュネレータ３０００に対して、システムクロックＣｓｙｓを基準周波数ｆｓｔｄより低い低周波数ｆｌにするように指示する周波数制御信号Ｓｃを出力する（ステップＳ２）。
【００５９】
この基準周波数ｆｓｔｄより低い低周波数ｆｌは、画像処理部２１４９にシステムクロックＣｓｙｓを供給開始又は供給停止する際に、ＤＣ／ＤＣ回路３００２の出力電圧レベルＶｄｄの変動がシステム制御部２１５０、画像処理部２１４９が動作可能な定格電圧レベルの範囲内で収まるように予め設定されたものである（第２の実施の形態も同趣旨）。
【００６０】
すなわち、画像処理部２１４９にシステムクロックＣｓｙｓを供給開始又は供給停止する際には、システムクロックＣｓｙｓの周波数を一時的に低周波数にすることにより、システムクロックＣｓｙｓで動作する上記のフリップフロップ２１，２４等のトグル動作が急峻に停止或いは開始されるのを抑制する。これにより、システム制御部２１５０、画像処理部２１４９の消費電流が急峻に増大或いは減少することが回避され、ＤＣ／ＤＣ回路３００２の出力電圧レベルＶｄｄの低下或いは上昇が可及的に抑制される。
【００６１】
従って、低周波数ｆｌの値は、システム制御部２１５０、画像処理部２１４９の回路規模、すなわち定格の消費電力量に基づいて決定する必要がある。この決定に際しては、システムクロックＣｓｙｓの周波数を一時的に低減した場合のＤＣ／ＤＣ回路３００２の出力電圧レベルＶｄｄの低下或いは上昇の抑制効果と、動作速度の低減とのバランスを考慮するのが望ましい。
【００６２】
次に、ＣＰＵ２００１は、クロックジュネレータ３０００から出力されるシステムクロックＣｓｙｓの周波数が、指示に係る低周波数ｆｌに到達したか否かを判別する（ステップＳ３）。そして、ＣＰＵ２００１は、システムクロックＣｓｙｓの周波数が指示に係る低周波数ｆｌに到達した時点で、ゲーテッドクロックセレクタ部３００１に待機モード解除信号Ｓｇを出力する（ステップＳ４）。この場合、ゲーテッドクロックセレクタ部３００１は、クロックイネーブル信号Ｃｅｎをイネーブル状態にすることにより（図６参照）ＡＮＤゲート１３をオープンさせ、システムクロックＣｓｙｓが画像処理部２１４９に入力されるようにする（ステップＳ４）。
【００６３】
次に、ＣＰＵ２００１は、クロックジュネレータ３０００に対して、システムクロックＣｓｙｓを上記の低周波数ｆｌから基準周波数ｆｓｔｄに戻すように指示する周波数制御信号Ｓｃを出力する（ステップＳ５）。そして、ＣＰＵ２００１は、クロックジュネレータ３０００から出力されるシステムクロックＣｓｙｓの周波数が指示に係る基準周波数ｆｓｔｄに戻ったことを確認して（ステップＳ６、図６参照）、待機モードを解除する場合のシステムクロックＣｓｙｓの周波数制御を終了する。
【００６４】
上記のように、画像処理部２１４９にシステムクロックＣｓｙｓを供給し始める際には、その周波数は一時的に低周波ｆｌに掃引された後、直ちに元の基準周波数ｆｓｔｄに戻される。従って、回路ブロックにクロック信号を供給開始する場合の電流変動を可及的に抑制するに当たり、システム制御部２１５０、画像処理部２１４９の動作速度が低下するのを可及的に抑制することができる。
【００６５】
次に、画像処理部２１４９へのシステムクロックＣｓｙｓの供給を停止（遮断）する場合のシステムクロックＣｓｙｓの周波数制御を、図５のフローチャートに基づいて説明する。
【００６６】
ＣＰＵ２００１は、画像処理部２１４９の動作／非動作状況を所定のタイマなどにより検知している。そして、ＣＰＵ２００１は、ユーザにより予め設定された待機モード移行時間以上の長期間に亘って、画像処理部２１４９が非動作状態であった場合は、画像処理部２１４９へのシステムクロックＣｓｙｓの供給遮断が発生したものとして（ステップＳ２１）、ステップＳ２２〜Ｓ２６の処理を行なう。
【００６７】
なお、ステップＳ２２〜Ｓ２６の処理は、ステップＳ２４を除いて図４のステップＳ２〜Ｓ６の処理と全く同様なので、ここでは、ステップＳ２４だけを説明する。ＣＰＵ００１は、ステップＳ２４では、システムクロックＣｓｙｓの周波数が指示に係る低周波数ｆｌに到達した時点で（ステップＳ２３）、ゲーテッドクロックセレクタ部３００１に待機モード設定信号を出力する。この場合、ゲーテッドクロックセレクタ部３００１は、クロックイネーブル信号Ｃｅｎをディセーブル状態にすることにより（図６参照）ＡＮＤゲート１３をクローズさせ、画像処理部２１４９へのシステムクロックＣｓｙｓの供給を停止（遮断）するように制御する。
【００６８】
図６は、図４、及び図５の処理内容を示すタイミングチャートである。図６に示したように、第１の実施の形態では、システムクロックＣｓｙｓの周波数を掃引する際には、当該周波数を徐々に連続的に変化させている。従って、この点からも、当該周波数の変動に伴うシステム制御部２１５０、画像処理部２１４９の消費電流の変動に起因するＤＣ／ＤＣ回路３００２の出力電圧Ｖｄｄの変動を可及的に抑制することが可能となる。
【００６９】
［第２の実施の形態］
次に、本発明の第２の実施の形態を、図７〜図１２に基づいて説明する。図７は、システムコントローラ２０００内の第２の実施の形態におけるシステムクロックＣｓｙｓの周波数制御に係る構成を示している。図７に示したように、第２の実施の形態では、ＡＮＤゲート３６，３７を設け、プリンタ用画像処理部２１１５、スキャナ用画像処理部２１１４にもシステムクロックＣｓｙｓを供給可能にしている点で第１の実施の形態と大きく相違している。
【００７０】
すなわち、第２の実施の形態では、第１の実施形態と同様に、主電源が投入されている場合には、クロックジェネレータ４０００からのシステムクロックＣｓｙｓは、システム制御部２１５０には、常にクロックライン３１を介して供給されている。また、第１の実施の形態と同様に、画像処理部２１４９にも、クロックジェネレータ４０００からのシステムクロックＣｓｙｓをクロックライン３１、ＡＮＤゲート３５、及びクロックライン３４を介して供給可能となっている。なお、ＡＮＤゲート３５の一方の入力端子には、ゲーテッドクロックセレクタ部４００１からのイネーブル信号Ｃｅｎ１が信号ライン３８を介して入力される。
【００７１】
また、第２の実施の形態において追加したＡＮＤゲート３６、３７の入力端子にも、ＡＮＤゲート３５と同様に、ゲーテッドクロックセレクタ部４００１からのイネーブル信号Ｃｅｎ３，Ｃｅｎ２が、それぞれ信号ライン３９，４０を介して入力される。なお、ＡＮＤゲート３６、３７の他方の入力端子には、共に上記のクロックライン３１が接続されている。
【００７２】
ＡＮＤゲート３６、３７の出力信号であるシステムクロックＣｓｙｓは、それぞれクロックライン３２，３３を介して、プリンタ用画像処理部２１１５、スキャナ用画像処理部２１１４に供給される。なお、図示省略したが、プリンタ用画像処理部２１１５、スキャナ用画像処理部２１１４は、システム制御部２１５０、画像処理部２１４９と同様に上記のツリー構造のバッファ、フリップフロップ等を有していることは言うまでもない（第１の実施の形態も同様）。第２の実施の形態における他の構成要素は、図２に示した第１の実施の形態と同様なので、ここでは、その説明を省略する。
【００７３】
次に、第２の実施の形態におけるクロックジェネレータ４０００の構成を、図８に基づいて説明する。
【００７４】
図８において、発振回路７２は、所定の周波数のクロック信号を生成するものであり、一般的には、水晶発振器等を使用する。分周比設定部７１は、発振回路７２からのクロック信号の周波数を分周する分周回路７３と、後述するＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路７０の出力信号の周波数を分周する分周回路７４の分周比を設定する。ＰＬＬ回路７０は、位相比較器７５、ループフィルタ７６、及びＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）７７を有している。
【００７５】
位相比較器７５は、分周回路７３からの出力信号と分周回路７４からの出力信号の位相差（誤差）を検出し、その誤差に比例した誤差電圧信号を出力する。ループフィルタ７６は、ローパスフィルタにより構成され、位相比較器７５から出力される交流成分を含んだ直流の誤差電圧信号を平滑化する。ＶＣＯ７７は、可変周波数発振器であり、ループフィルタ７６から出力された誤差電圧信号に基づいて、当該誤差（位相差）を低減する方向に発振周波数を制御して発振する。
【００７６】
このＰＬＬ回路７０の発振周波数を任意に変更するために、分周比設定部７１が設けられている。この分周比設定部７１は、ＣＰＵ２００１からの指示により分周回路７３，７４の分周比を設定することにより、発振回路７２から出力されたクロック信号の周波数ｆｉｎを任意の分周比で分周してＰＬＬ回路７０から出力させることができる。例えば、分周回路７４に分周比「１／Ｎ」設定し、分周回路７３に分周比「１／Ｍ」を設定することにより、ＰＬＬ回路７０から出力されるクロック信号の周波数ｆｏｕｔは、入力周波数ＦｉｎのＮ／Ｍ倍になる。なお、この出力周波数ｆｏｕｔが上記システムクロックＣｓｙｓの周波数となることは言うまでもない。
【００７７】
次に、第２の実施の形態に特有なシステムクロックＣｓｙｓの周波数制御を説明する。まず、スリープ状態の複数の回路ブロックのうちの、２つの回路ブロックを同時にウェイクアップさせるべく待機モードを解除する場合のシステムクロックＣｓｙｓの周波数制御を説明する。ここでは、画像処理部２１４９、プリンタ用画像処理部２１１５、及びスキャナ用画像処理部２１１４がスリープ状態にあるものとして説明する。
【００７８】
図９のフローチャートにおいて、システム制御部２１５０のＣＰＵ２００１は、待機モード時において、スリープ状態の回路ブロックをウェイクアップさせるべきジョブが発生する、すなわち、スリープ状態の回路ブロックにシステムクロックＣｓｙｓを供給すべき条件が発生するのを監視している（ステップＳ３１）。
【００７９】
ここで、例えば、スキャナ２０７０により読み取った原稿情報を電子データとして加工して送信するセンドジョブが発生したものとする。このセンドジョブを実行する場合は、現在スリープ中の画像処理部２１４９とスキャナ用画像処理部２１１４を使用する必要がある。そこで、ＣＰＵ２００１は、ステップＳ３１にて、センドジョブの発生を検出した場合は、クロックジュネレータ４０００に対して、システムクロックＣｓｙｓを基準周波数ｆｓｔｄより低い低周波数ｆｍにするように指示する周波数制御信号Ｓｃを順次出力する（ステップＳ３２）。
【００８０】
なお、第２の実施の形態に係る周波数制御信号Ｓｃには、前述の分周比設定部７１に設定すべき目標の低周波数ｆｍを実現するための分周比「Ｎ／Ｍ」の情報が含まれている。この目標の低周波数ｆｍを実現するための分周比「Ｎ／Ｍ」は、当該目標の低周波数ｆｍに対応する分周比「Ｎ／Ｍ」を段階的に実現するために細分化されて、ＣＰＵ２００１からクロックジュネレータ４０００に順次出力される。
【００８１】
具体的には、図１２に示したように、ＣＰＵ２００１は、所定時間Δｔ毎に徐々に低い周波数ｆｌ１，ｆｌ２，ｆｍに対応する「Ｎ／Ｍ」の分周比を１つずつ、分周比設定部７１に設定していく（ステップＳ３２）。例えば、基準周波数ｆｓｔｄ＝１．５ＧＨｚの場合において、目標の低周波数ｆｍ＝６００ＭＨｚまで周波数を低減していく場合には、ＣＰＵ２００１は、Δｔ時間経過する毎に分周比設定部７１にそれぞれＮ／Ｍ＝「４／５」，「３／５」，「２／５」を設定していく。これにより、システムクロックＣｓｙｓの周波数は、ｆｓｔｄ＝１．５ＧＨｚ→ｆｌ１＝１．２ＧＨｚ→ｆｌ２（ｆｈ）＝９００ＭＨｚ→ｆｌ３（ｆｍ）＝６００ＭＨｚと段階的に低減していく。
【００８２】
上記の目標の低周波数ｆｍの意義は、基本的には第１の実施の形態で説明した通りである。ただし、第２の実施の形態における目標の低周波数ｆｍは、同時にウェイクアップさせる回路ブロックの回路規模、すなわち、合計の定格の消費電力量に基づいて決定されたものである点で、第１の実施の形態に係る低周波数ｆｌと異なっている。
【００８３】
この場合、第２の実施の形態において同時にウェイクアップさせる画像処理部２１４９とスキャナ用画像処理部２１１４の合計の定格の消費電力量は、当然ながら、第１の実施の形態においてウェイクアップさせる画像処理部２１４９の定格の消費電力量よりも多くなっている。従って、第２の実施の形態に係る目標の低周波数ｆｍは、第１の実施の形態に係る低周波数ｆｌよりも低い周波数となっている。
【００８４】
次に、ＣＰＵ２００１は、クロックジュネレータ４０００から出力されるシステムクロックＣｓｙｓの周波数が、指示に係る低周波数ｆｍに到達したか否かを判別する（ステップＳ３３）。その結果、低周波数ｆｍに到達していなければ、ＣＰＵ２００１は、ステップＳ３２に戻り、次の段階の低周波数に係る分周比「Ｎ／Ｍ」を含む周波数制御信号Ｓｃをクロックジュネレータ４０００に出力する。
【００８５】
一方、システムクロックＣｓｙｓの周波数が指示に係る低周波数ｆｍに到達した場合には（図１２参照）、ＣＰＵ２００１は、ゲーテッドクロックセレクタ部４００１に待機モード解除信号Ｓｇを出力する（ステップＳ３４）。
【００８６】
この待機モード解除信号Ｓｇには、ウェイクアップさせるべき回路ブロックの情報、ここでは、画像処理部２１４９とスキャナ用画像処理部２１１４の識別情報が含まれている。
【００８７】
従って、ゲーテッドクロックセレクタ部４００１は、クロックイネーブル信号Ｃｅｎ１，Ｃｅｎ２をイネーブル状態にすることにより（図１２参照）、ＡＮＤゲート３５，３７をオープンさせ、システムクロックＣｓｙｓが画像処理部２１４９とスキャナ用画像処理部２１１４に入力されるようにする（ステップＳ３４）。
【００８８】
次に、ＣＰＵ２００１は、クロックジュネレータ４０００に対して、システムクロックＣｓｙｓを上記の低周波数ｆｍから基準周波数ｆｓｔｄに戻すように指示する周波数制御信号Ｓｃを順次出力する（ステップＳ３５）。
【００８９】
この周波数制御信号Ｓｃにも、ステップＳ３２の場合と同様に、分周比設定部７１に設定すべき分周比「Ｎ／Ｍ」の情報が含まれている。また、上記の分周比「Ｎ／Ｍ」としては、基準周波数ｆｓｔｄに対応する「Ｎ／Ｍ」の分周比を段階的に実現するために細分化された分周比が分周比設定部７１に順次出力される（図１２参照）。この細分化された分周比は、ステップＳ３２の場合と逆の順序で設定されていく。例えば、上記の例では、ＣＰＵ２００１は、Δｔ時間経過する毎に分周比設定部７１にそれぞれＮ／Ｍ＝「３／５」，「４／５」，「５／５」を順次設定していく。これにより、システムクロックＣｓｙｓの周波数は、ｆｌ３（ｆｍ）＝６００ＭＨｚ→ｆｌ２（ｆｈ）＝９００ＭＨｚ→ｆｌ１＝１．２ＧＨｚ→ｆｓｔｄ＝１．５ＧＨｚと段階的に高くなっていく。
【００９０】
そして、ＣＰＵ２００１は、クロックジュネレータ４０００から出力されるシステムクロックＣｓｙｓの周波数が指示に係る基準周波数ｆｓｔｄに戻ったか否かを判別する（ステップＳ３６）。その結果、基準周波数ｆｓｔｄに戻っていなければ、ＣＰＵ２００１は、ステップＳ３５に戻り、次の段階の高周波数に係る分周比「Ｎ／Ｍ」を含む周波数制御信号Ｓｃをクロックジュネレータ４０００に出力する。
【００９１】
一方、システムクロックＣｓｙｓの周波数が基準周波数ｆｓｔｄに戻った場合には（図１２参照）、ＣＰＵ２００１は、２つの回路ブロックを同時にウェイクアップさせる場合のシステムクロックＣｓｙｓの周波数制御を終了する。
【００９２】
上記のように、複数の回路ブロックに同時にシステムクロックＣｓｙｓを供給し始める際にも、第１の実施の形態と同様に、システムクロックＣｓｙｓの周波数は、一時的に低周波に掃引された後、直ちに元の基準周波数ｆｓｔｄに戻される。従って、複数の回路ブロックへのクロック信号の供給開始を同時に行う場合の当該回路ブロックの電流変動、すなわち、ＤＣ／ＤＣ回路３００２の出力電圧の変動を可及的に抑制することができる。更には、システム制御部２１５０、及びウェイクアップに係る回路ブロックの動作速度が低下することを可及的に抑制することができる（後述の図１０，１１の場合も同趣旨）。
【００９３】
次に、スリープ状態の複数の回路ブロックのうちの、１つの回路ブロックをウェイクアップさせるべく待機モードを解除する場合のシステムクロックＣｓｙｓの周波数制御を、図１０のフローチャートに基づいて説明する。
【００９４】
システム制御部２１５０のＣＰＵ２００１は、待機モード時において、スリープ状態の回路ブロックをウェイクアップさせるべきジョブが発生する、すなわち、スリープ状態の回路ブロックにシステムクロックＣｓｙｓを供給すべき条件が発生するのを監視している（ステップＳ４１）。
【００９５】
ここで、例えば、第１の実施の形態のセンドジョブに係る処理が終了した後、待機モードが解除される前に、プリントジョブが発生したものとする。このプリントジョブを実行する場合は、現在スリープ中のプリンタ用画像処理部２１１５を使用する必要がある。そこで、ＣＰＵ２００１は、ステップＳ４１にて、プリントジョブの発生を検出した場合は、クロックジュネレータ４０００に対して、システムクロックＣｓｙｓを基準周波数ｆｓｔｄより低い低周波数ｆｈにするように指示する周波数制御信号Ｓｃを順次出力する（ステップＳ４２）。
【００９６】
この周波数制御信号Ｓｃには、前述のように、分周比設定部７１に設定すべき目標の低周波数ｆｈを実現するための分周比「Ｎ／Ｍ」の情報が含まれている。この目標の低周波数ｆｈを実現するための分周比「Ｎ／Ｍ」は、当該目標の低周波数ｆｈに対応する分周比「Ｎ／Ｍ」を段階的に実現するために細分化されて、ＣＰＵ２００１からクロックジュネレータ４０００に順次出力される。
【００９７】
具体的には、例えば、基準周波数ｆｓｔｄ＝１．５ＧＨｚの場合において、目標の低周波数ｆｈ＝９００ＭＨｚまで周波数を低減していく場合には、ＣＰＵ２００１は、Δｔ時間経過する毎に分周比設定部７１にそれぞれＮ／Ｍ＝「４／５」、「３／５」を順次設定していく。これにより、システムクロックＣｓｙｓの周波数は、ｆｓｔｄ＝１．５ＧＨｚ→ｆｌ１＝１．２ＧＨｚ→ｆｌ２（ｆｈ）＝９００ＭＨｚと段階的に低減していく。
【００９８】
上記の低周波数ｆｈの意義は、基本的には第１の実施の形態で説明した通りである。ただし、この場合の低周波数ｆｈは、同時にウェイクアップさせる回路ブロックの規模（すなわち、合計の定格の消費電力量）に基づいて決定されたものである。
【００９９】
すなわち、前述のセンドジョブを実行する場合には、画像処理部２１４９とスキャナ用画像処理部２１１４を同時にウェイクアップさせる必要があったのに対し、今回のプリントジョブを実行する場合には、新たにプリンタ用画像処理部２１１５だけをウェイクアップさせればよい。
【０１００】
ここで、今回ウェイクアップさせるプリンタ用画像処理部２１１５の定格の消費電力量は、前回、同時にウェイクアップさせた画像処理部２１４９とスキャナ用画像処理部２１１４の合計の定格の消費電力量よりも少ないものとする。この場合には、ＤＣ／ＤＣ回路３００２の出力電圧の変動は、プリンタ用画像処理部２１１５だけをウェイクアップさせる場合の方が、画像処理部２１４９とスキャナ用画像処理部２１１４を同時にウェイクアップさせる場合よりも小さくなる。
【０１０１】
そこで、今回、新たにプリンタ用画像処理部２１１５だけをウェイクアップさせる場合の目標の低周波数ｆｈは、画像処理部２１４９とスキャナ用画像処理部２１１４を同時にウェイクアップさせる場合の目標の低周波数ｆｍよりも高い周波数としている（図１２参照）。
【０１０２】
このように、ウェイクアップさせる回路ブロックの消費電力量の大小に応じて、システムクロックＣｓｙｓの周波数を一時的に低減する際の目標の周波数の値を変更することにより、システムクロックＣｓｙｓに基づいて常に動作しているシステム制御部２１５０等の処理速度を必要以上に落とすことなく、ウェイクアップ時のＤＣ／ＤＣ回路３００２の出力電圧の変動を抑制することが可能となる。
【０１０３】
次に、ＣＰＵ２００１は、クロックジュネレータ４０００から出力されるシステムクロックＣｓｙｓの周波数が、指示に係る低周波数ｆｈに到達したか否かを判別する（ステップＳ４３）。その結果、低周波数ｆｈに到達していなければ、ＣＰＵ２００１は、ステップＳ４２に戻り、次の段階の低周波数に係る分周比「Ｎ／Ｍ」を含む周波数制御信号Ｓｃをクロックジュネレータ４０００に出力する。
【０１０４】
一方、システムクロックＣｓｙｓの周波数が指示に係る低周波数ｆｈに到達した場合には（図１２参照）、ＣＰＵ２００１は、ゲーテッドクロックセレクタ部４００１に待機モード解除信号Ｓｇを出力する（ステップＳ４４）。
【０１０５】
この待機モード解除信号Ｓｇには、ウェイクアップさせるべき回路ブロックの情報、ここでは、プリンタ用画像処理部２１１５の識別情報が含まれている。従って、ゲーテッドクロックセレクタ部４００１は、クロックイネーブル信号Ｃｅｎ３をイネーブル状態にする（ステップＳ４４、図１２参照）。これにより、ＡＮＤゲート３６がオープンされ、システムクロックＣｓｙｓがプリンタ用画像処理部２１１５に入力されることとなる。
【０１０６】
次に、ＣＰＵ２００１は、クロックジュネレータ４０００に対して、システムクロックＣｓｙｓを上記の低周波数ｆｈから基準周波数ｆｓｔｄに戻すように指示する周波数制御信号Ｓｃを順次出力する（ステップＳ４５）。
【０１０７】
この周波数制御信号Ｓｃにも、ステップＳ４２の場合と同様に、分周比設定部７１に設定すべき分周比「Ｎ／Ｍ」の情報が含まれている。また、上記の分周比「Ｎ／Ｍ」としては、基準周波数ｆｓｔｄに対応する「Ｎ／Ｍ」の分周比を段階的に実現するために細分化された分周比が分周比設定部７１に順次出力される（図１２参照）。この細分化された分周比は、ステップＳ４２の場合と逆の順序で設定されていく。例えば、上記の例では、ＣＰＵ２００１は、Δｔ時間経過する毎に分周比設定部７１にそれぞれＮ／Ｍ＝「４／５」、「５／５」を順次設定していく。これにより、システムクロックＣｓｙｓの周波数は、ｆｌ１（ｆｈ）＝９００ＭＨｚ→ｆｌ１＝１．２ＧＨｚ→ｆｓｔｄ＝１．５ＣＨｚと段階的に高くなっていく。
【０１０８】
そして、ＣＰＵ２００１は、クロックジュネレータ４０００から出力されるシステムクロックＣｓｙｓの周波数が指示に係る基準周波数ｆｓｔｄに戻ったか否かを判別する（ステップＳ４６）。その結果、基準周波数ｆｓｔｄに戻っていなければ、ＣＰＵ２００１は、ステップＳ４５に戻り、次の段階の高周波数に係る分周比「Ｎ／Ｍ」を含む周波数制御信号Ｓｃをクロックジュネレータ４０００に出力する。
【０１０９】
一方、システムクロックＣｓｙｓの周波数が基準周波数ｆｓｔｄに戻った場合には（図１２参照）、ＣＰＵ２００１は、１つの回路ブロックをウェイクアップさせる場合のシステムクロックＣｓｙｓの周波数制御を終了する。
【０１１０】
次に、ウェイクアップ状態の３つの回路ブロックの全てをスリープさせるべく待機モードを設定する場合の周波数制御を、図１１のフローチャートに基づいて説明する。
【０１１１】
システム制御部２１５０のＣＰＵ２００１は、待機モードが解除された状態では、ジョブの発生状況を監視し、ウェイクアップ状態の回路ブロックをスリープさせるべきか否かを所定のタイマなどに基づいて判別している（ステップＳ５１）。
【０１１２】
ここで、例えば、上記のプリントジョブが終了した場合において、予め設定された所定の時間以上の時間に亘って非動作状態となっていた回路ブロックが存在したものとする。なお、上記の非動作状態の回路ブロックの判定処理、すなわちスリープさせるべきか否かの判定処理は、回路ブロック毎に個別に行なっても、或いは、複数の回路ブロック全体を１つの回路ブロックと見做して行ってもよい。
【０１１３】
ここでは、ステップＳ５１において、画像処理部２１４９、スキャナ用画像処理部２１１４、プリンタ用画像処理部２１１５の３つの回路ブロックをスリープさせるべきだと判別されたものとする。この場合は、ＣＰＵ２００１は、クロックジュネレータ４０００に対して、システムクロックＣｓｙｓを基準周波数ｆｓｔｄより低い低周波数ｆｎにするように指示する周波数制御信号Ｓｃを順次出力する（ステップＳ５２）。
【０１１４】
この周波数制御信号Ｓｃには、前述のように、分周比設定部７１に設定すべき目標の低周波数ｆｎを実現するための分周比「Ｎ／Ｍ」の情報が含まれている。この目標の低周波数ｆｎを実現するための分周比「Ｎ／Ｍ」は、当該目標の低周波数ｆｎに対応する分周比「Ｎ／Ｍ」を段階的に実現するために細分化されて、ＣＰＵ２００１からクロックジュネレータ４０００に順次出力される。
【０１１５】
具体的には、例えば、基準周波数ｆｓｔｄ＝１．５ＧＨｚの場合において、目標の低周波数ｆｎ＝３００ＭＨｚまで周波数を落としていく場合には、ＣＰＵ２００１は、Δｔ時間経過する毎に分周比設定部７１にそれぞれＮ／Ｍ＝「４／５」，「３／５」，「２／５」，「１／５」を順次設定していく。これにより、システムクロックＣｓｙｓの周波数は、ｆｓｔｄ＝１．５ＧＨｚ→ｆｌ１＝１．２ＧＨｚ→ｆｌ２（ｆｈ）＝９００ＭＨｚ→ｆｌ３（ｆｍ）＝６００ＭＨｚ→ｆｎ＝３００ＭＨｚ→と段階的に周波数を低減していく。
【０１１６】
上記の低周波数ｆｎの意義は、基本的には第１の実施の形態で説明した通りである。ただし、この場合の低周波数ｆｎは、同時にスリープさせる回路ブロックの規模（すなわち、合計の定格の消費電力量）に基づいて決定されたものである。
【０１１７】
すなわち、前述のセンドジョブを実行する場合には、画像処理部２１４９とスキャナ用画像処理部２１１４の２つを同時にウェイクアップさせる必要があったのに対し、今回のスリープ処理を行なう場合には、画像処理部２１４９とスキャナ用画像処理部２１１４とプリンタ用画像処理部２１１５の３つを同時にスリープさせる必要がある。
【０１１８】
この場合は、これまでの説明から推測できるように、同時にスリープさせる画像処理部２１４９とスキャナ用画像処理部２１１４とプリンタ用画像処理部２１１５の合計の定格の消費電力量は、同時にウェイクアップさせる画像処理部２１４９とスキャナ用画像処理部２１１４の合計の定格の消費電力量よりも多くなっている。
【０１１９】
そこで、今回のように３つの回路ブロックを同時にスリープさせる場合の目標の低周波数ｆｎは、２つ回路ブロックを同時にウェイクアップさせる場合の目標の低周波数ｆｍよりも低い周波数としている（図１２参照）。
【０１２０】
次に、ＣＰＵ２００１は、クロックジュネレータ４０００から出力されるシステムクロックＣｓｙｓの周波数が、指示に係る低周波数ｆｎに到達したか否かを判別する（ステップＳ５３）。その結果、低周波数ｆｎに到達していなければ、ＣＰＵ２００１は、ステップＳ５２に戻り、次の段階の低周波数に係る分周比「Ｎ／Ｍ」を含む周波数制御信号Ｓｃをクロックジュネレータ４０００に出力する。
【０１２１】
一方、システムクロックＣｓｙｓの周波数が指示に係る低周波数ｆｎに到達した場合には（図１２参照）、ＣＰＵ２００１は、ゲーテッドクロックセレクタ部４００１に待機モード設定信号を出力する（ステップＳ５４）。
【０１２２】
この待機モード設定信号には、スリープさせるべき回路ブロックの情報、ここでは、画像処理部２１４９、スキャナ用画像処理部２１１４、及びプリンタ用画像処理部２１１５の識別情報が含まれている。従って、ゲーテッドクロックセレクタ部４００１は、クロックイネーブル信号Ｃｅｎ１〜３をディセーブル状態にする（ステップＳ５４、図１２参照）。これにより、ＡＮＤゲート３５〜３７がクローズし、画像処理部２１４９、スキャナ用画像処理部２１１４、及びプリンタ用画像処理部２１１５へのシステムクロックＣｓｙｓの供給が停止されることとなる。
【０１２３】
次に、ＣＰＵ２００１は、クロックジュネレータ４０００に対して、システムクロックＣｓｙｓを上記の低周波数ｆｎから基準周波数ｆｓｔｄに戻すように指示する周波数制御信号Ｓｃを順次出力する（ステップＳ５５）。
【０１２４】
この周波数制御信号Ｓｃにも、ステップＳ５２の場合と同様に、分周比設定部７１に設定すべき分周比「Ｎ／Ｍ」の情報が含まれている。また、上記の分周比「Ｎ／Ｍ」としては、基準周波数ｆｓｔｄに対応する「Ｎ／Ｍ」の分周比を段階的に実現するために細分化された分周比が分周比設定部７１に順次出力される（図１２参照）。この細分化された分周比は、ステップＳ５２の場合と逆の順序で設定されていく。例えば、上記の例では、ＣＰＵ２００１は、Δｔ時間経過する毎に分周比設定部７１にそれぞれＮ／Ｍ＝「２／５」、「３／５」「４／５」、「５／５」を設定していく。これにより、システムクロックＣｓｙｓの周波数は、ｆｎ＝３００ＭＨｚ→ｆｌ３（ｆｍ）＝６００ＭＨｚ→ｆｌ２（ｈ）＝９００ＭＨｚ→ｆｌ１＝１．２ＧＨｚ→ｆｓｔｄ＝１．５ＣＨｚと段階的に高くなっていく。
【０１２５】
そして、ＣＰＵ２００１は、クロックジュネレータ４０００から出力されるシステムクロックＣｓｙｓの周波数が指示に係る基準周波数ｆｓｔｄに戻ったか否かを判別する（ステップＳ５６）。その結果、基準周波数ｆｓｔｄに戻っていなければ、ＣＰＵ２００１は、ステップＳ５５に戻り、次の段階の高周波数に係る分周比「Ｎ／Ｍ」を含む周波数制御信号Ｓｃをクロックジュネレータ４０００に出力する。
【０１２６】
一方、システムクロックＣｓｙｓの周波数が基準周波数ｆｓｔｄに戻った場合には（図１２参照）、ＣＰＵ２００１は、３つの回路ブロックを同時にスリープさせる場合のシステムクロックＣｓｙｓの周波数制御を終了する。
【０１２７】
図１２に示したように、第２の実施の形態では、システムクロックＣｓｙｓの周波数を所定時間毎に段階的に変更している。従って、この点からも、当該周波数の変動に伴うシステム制御部２１５０、画像処理部２１４９等の回路ブロックの消費電流の変動に起因するＤＣ／ＤＣ回路３００２の出力電圧Ｖｄｄの変動を可及的に抑制することが可能となる。
【０１２８】
また、第１の実施の形態のクロックジェネレータでは、発振回路のキャパシタンスを変化させることによりアナログ的に発振周波数を変更していたのに対し、第２の実施の形態のクロックジェネレータでは、ＰＬＬ回路を用いてデジタル的に発振周波数を変更している。従って、第２の実施の形態では、第２の実施の形態よりも、高分解能で且つ広いレンジでシステムクロックＣｓｙｓの周波数を変化させることが可能となる。
【０１２９】
［他の実施の形態］
上記の第１，第２の実施の形態では、システムクロックＣｓｙｓに基づいて常に動作しているシステム制御部２１５０等の処理速度を必要以上に落とすことなく、システムクロックＣｓｙｓを供給開始或いは供給停止する際のＤＣ/ＤＣ回路３００２の出力電圧の変動を抑制するように、システムクロックＣｓｙｓの周波数の低減率を決定していた。
【０１３０】
しかしながら、この場合でも、システムクロックＣｓｙｓの周波数が低下することにより、システム制御部２１５０等の処理速度がある程度低下することは否めない。
【０１３１】
そこで、この処理速度の低下を補うために、低下させたシステムクロックＣｓｙｓの周波数を基準周波数ｆｓｔｄに戻す際に、一旦、基準周波数ｆｓｔｄをオーバーさせて低下した処理速度分の遅れを取り戻した後に、基準周波数ｆｓｔｄに戻すようにすることも可能である。
【０１３２】
また、上記の第１，第２の実施の形態の機能を画像処理装置以外の例えば携帯電話機等の情報処理装置に適用することも可能である。さらに、情報処理装置以外の例えばロボットの制御、自動車のエンジン制御、サスペンション制御、ブレーキ制御、エアバッグ制御等、更には航空機、電車、船舶等の自動車以外の移動体の各種制御等に、上記の第１，第２の実施の形態の機能を適用することも可能である。
【０１３３】
また、本発明は、上述した各実施の形態の装置に限定されず、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
【０１３４】
また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成されることは言うまでもない。
【０１３５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１３７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１３９】
【図１】本発明の実施の形態に係るクロック供給回路を適用した画像処理装置の概略構成を示すブロック図である。
【図２】第１の実施の形態に係るゲーテッドクロック方式によるクロック信号の供給制御系を示すブロック図である。
【図３】第１の実施の形態に係るクロックジェネレータの概略構成を示すブロック図である。
【図４】第１の実施の形態に係るクロック信号の供給開始時の当該クロック信号の周波数制御を示すフローチャートである。
【図５】第１の実施の形態に係るクロック信号の供給停止時の当該クロック信号の周波数制御を示すフローチャートである。
【図６】図４、図５の周波数制御を示すタイムチャートである。
【図７】第２の実施形態に係るゲーテッドクロック方式によるクロック信号の供給制御系を示すブロック図である。
【図８】第２の実施の形態に係るクロックジェネレータの概略構成を示すブロック図である。
【図９】第２の実施の形態に係る２つの回路ブロックに同時にクロック信号を供給開始する場合の当該クロック信号の周波数制御を示すフローチャートである。
【図１０】第２の実施の形態に係る１つの回路ブロックにクロック信号を供給開始する場合の当該クロック信号の周波数制御を示すフローチャートである。
【図１１】第２の実施の形態に係る３つの回路ブロックに対して同時にクロック信号の供給を停止する場合の当該クロック信号の周波数制御を示すフローチャートである。
【図１２】図９〜図１１の周波数制御を示すタイムチャートである。
【符号の説明】
【０１４０】
３０００，４０００…クロックジェネレータ、３００１，４００１…ゲーテッドクロックセレクタ部、３００２…ＤＣ／ＤＣ回路、２０００…コントローラユニット、２１５０…システム制御部、２１４９…画像処理部、２１１４…スキャナ用画像処理部、２１１５…プリンタ用画像処理部、２００１…ＣＰＵ、２００２…ＲＯＭ、２００３…ＲＡＭ
【図１】
0004402641.tif 000002
【図２】
0004402641.tif 000003
【図３】
0004402641.tif 000004
【図４】
0004402641.tif 000005
【図５】
0004402641.tif 000006
【図６】
0004402641.tif 000007
【図７】
0004402641.tif 000008
【図８】
0004402641.tif 000009
【図９】
0004402641.tif 000010
【図１０】
0004402641.tif 000011
【図１１】
0004402641.tif 000012
【図１２】
0004402641.tif 000013