(57)【特許請求の範囲】
【請求項１】
クロック信号を出力するクロック源と、
前記クロック源が出力した前記クロック信号の周波数を分周する第１分周回路と、
前記クロック源が出力した前記クロック信号を第１周波数又は前記第１周波数より小さい第２周波数で出力する周波数可変回路と、
前記周波数可変回路が出力したクロック信号の周波数を分周する第２分周回路と、
を備え、
前記周波数可変回路は、
所定の指示に従って、前記クロック源から入力された前記クロック信号を前記第２周波数で出力し、
他の所定の指示に従って、前記クロック源から入力された前記クロック信号を一時的に前記第１周波数で出力して、その後、当該クロック信号の出力を停止し、
前記第２分周回路から出力されるクロック信号と前記第１分周回路から出力されるクロック信号とが同期するよう、前記停止したクロック信号の出力を再開する、
ことを特徴とする半導体集積回路。
【請求項２】
前記周波数可変回路は、前記クロック源から入力された前記クロック信号のトグルを間引く間引き回路である、ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第１分周回路から出力されたクロック信号をゲートする第１クロックゲート回路と、
前記第２分周回路から出力されたクロック信号をゲートする第２クロックゲート回路と、
をさらに備え、
前記第１クロックゲート回路及び前記第２クロックゲート回路は、前記所定の指示に従って、入力されたクロック信号をゲートする、
ことを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
前記周波数可変回路は、前記第１分周回路から出力されるクロック信号が次のサイクルで特定の状態になるタイミングで、クロック信号の出力を再開する、ことを特徴とする請求項１乃至３の何れか１項に記載の半導体集積回路。
【請求項５】
前記クロック源から出力されるクロック信号の周波数を分周する第３分周回路、
をさらに備え、
前記第１分周回路の分周比は、前記第３分周回路の分周比より大きい、
ことを特徴とする請求項１乃至４の何れか１項に記載の半導体集積回路。
【請求項６】
請求項１乃至５のいずれか１項に記載の半導体集積回路を備え、
通常モードと該通常モードよりも消費電力が低い省電力モードとで動作可能であり、
前記通常モードから前記省電力モードに移行する際に、前記所定の指示が出力され、前記省電力モードから前記通常モードに移行する際に、前記他の所定の指示が出力される、ことを特徴とする装置。
【請求項７】
前記装置は、スキャナ及び前記スキャナで読み取った画像データに対して画像処理を行うスキャナ画像処理手段を備えた装置であり、
前記第１分周回路から出力されたクロック信号および前記第２分周回路から出力されたクロック信号の少なくとも１つは、前記スキャナ画像処理手段に出力される、
ことを特徴とする請求項６に記載の装置。
【請求項８】
前記装置は、プリンタ及びプリンタに出力される画像データに対して画像処理を行うプリンタ画像処理手段を備えた装置であり、
前記第１分周回路から出力されたクロック信号および前記第２分周回路から出力されたクロック信号の少なくとも１つは、前記プリンタ画像処理手段に出力される、
ことを特徴とする請求項６に記載の装置。
【請求項９】
半導体集積回路におけるクロックの制御方法であって、
第１分周回路によって、クロック源が出力した前記クロック信号の周波数を分周するステップと、
周波数可変回路によって、前記クロック源が出力した前記クロック信号を第１周波数又は前記第１周波数より小さい第２周波数で出力するステップと、
第２分周回路によって、前記周波数可変回路が出力したクロック信号の周波数を分周するステップと、
を含み、
前記周波数可変回路において、
所定の指示に従って、前記クロック源から入力された前記クロック信号を前記第２周波数で出力し、
他の所定の指示に従って、前記クロック源から入力された前記クロック信号を一時的に前記第１周波数で出力して、その後、当該クロック信号の出力を停止し、
前記第２分周回路から出力されるクロック信号と前記第１分周回路から出力されるクロック信号とが同期するよう、前記停止したクロック信号の出力を再開する、
ことを特徴とするクロックの制御方法。
【請求項１０】
クロック信号を出力するクロック源と、
前記クロック源から入力されたクロック信号の周波数を分周する第１の分周回路と、
前記クロック源から入力された前記クロック信号を基に、第１の周波数のクロック信号、または、前記第１の周波数よりも低い第２の周波数のクロック信号を出力する出力回路と、
前記出力回路から出力されたクロック信号の周波数を分周する第２の分周回路と、
を有する半導体集積回路において、
前記出力回路は、
出力するクロック信号の周波数を前記第２の周波数から前記第１の周波数に変え、
前記第１の周波数の前記クロック信号を、前記第２の分周回路から出力されるクロック信号が所定の状態になるまで出力した後に停止し、
前記第１の分周回路が出力するクロック信号の立ち上がりのタイミングで、停止していた前記第１の周波数のクロック信号の出力を再開する
ことを特徴とする半導体集積回路。
【請求項１１】
前記出力回路は、出力するクロック信号の周波数を前記第２の周波数から前記第１の周波数に変える前に前記第２の分周回路が出力するクロック信号が立ち上がってから、所定の数のクロック信号を出力して、前記第１の周波数のクロック信号の出力を停止することを特徴とする請求項１０に記載の半導体集積回路。
【請求項１２】
前記出力回路は、出力するクロック信号の周波数を前記第２の周波数から前記第１の周波数に変える前に前記第１の分周回路から出力されたクロック信号と、前記第２の周波数のクロック信号を基に前記第２の分周回路から出力されたクロック信号とが同期してから、所定の数のクロック信号を出力した後、前記第１の周波数のクロック信号の出力を停止することを特徴とする請求項１０に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路におけるクロック間の位相を調整する技術に関する。
【背景技術】
【０００２】
PC（Personal Computer）などの情報処理装置やMFP（Multi Function Printer）などの画像形成装置には半導体集積回路が使われている。一般に、これら装置に使用される半導体集積回路は、CPU（Central Processing Unit）や各種周辺機能回路との間のデータ転送のために、内部にバス構造を有する。このような半導体集積回路内のバスにおいては、クロック同期で動作するFF（フリップフロップ）の同期回路でデータを受け渡す構成になっており、同期式のバスによるデータ転送を行う。同期回路設計においては、クロックのエッジの位置が一致する構成を前提とする回路設計を行うことによって、FFのセットアップ時間やホールド時間を検証して動作を保障するタイミング設計を行う。また、複数のクロックが使用される半導体集積回路においては、FFを動作させるクロック間の関係が、各クロック周波数の比率が自然数で、且つ、エッジ位置が一致する場合は高速な方の周期でタイミング設計を満足すれば同期回路としての正常な動作が保障できる。裏を返せば、周波数が同じであっても位相がずれたクロック間でのデータ転送においては、データを受信するFFのセットアップ時間やホールド時間の確保がより厳しくなるといえる。そこで、同期回路としてはクロックの位相が合っていることが重要になる。
【０００３】
例えば、特許文献１には、同一の周波数で半周期位相がずれた２種類のクロックの位相を検出し、片方のクロックに遅延を挿入して位相を調整することによって、２種類のクロックの位相を合わせる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１７０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている技術は、同じ周波数で半周期位相がずれた２種類のクロックの位相を調整する構成に限定される。様々な機器で使用される半導体集積回路の中には、より多くのクロックが使用される場合もあり、周波数の異なる２種類以上のクロック間で位相の同期が取れるよう調整する必要がある。
【０００６】
また、２種類以上のクロック間で位相の同期を取るためには前述の通りエッジ位置が一致するように位相を調整する必要があるところ、最も低周波数のクロックを基準に調整することによって、その他の周波数のクロックのエッジも一致させることができる。しかしながら、この位相調整を、クロックに遅延を挿入することで実現するような場合、最も低い周波数（すなわち、最も周期の長い）のクロックに遅延を挿入することになって、調整に要する時間が長くなってしまう。
【課題を解決するための手段】
【０００７】
本発明に係る半導体集積回路は、クロック信号を出力するクロック源と、前記クロック源が出力した前記クロック信号の周波数を分周する第１分周回路と、前記クロック源が出力した前記クロック信号を第１周波数又は前記第１周波数より小さい第２周波数で出力する周波数可変回路と、前記周波数可変回路が出力したクロック信号の周波数を分周する第２分周回路と、を備え、前記周波数可変回路は、所定の指示に従って、前記クロック源から入力された前記クロック信号を前記第２周波数で出力し、他の所定の指示に従って、前記クロック源から入力された前記クロック信号を一時的に前記第１周波数で出力して、その後、当該クロック信号の出力を停止し、前記第２分周回路から出力されるクロック信号と前記第１分周回路から出力されるクロック信号とが同期するよう、前記停止したクロック信号の出力を再開する、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、２種類以上の異なる周波数のクロック間で位相の同期を取ることができる上、位相調整に要する時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】半導体集積回路を備える装置の一例としての画像形成装置のシステム構成を示すブロック図である。
【図２】画像形成装置のメインコントローラの内部構成を示すブロック図である。
【図３】クロック生成部の内部構成を示すブロック図である。
【図４】（ａ）はクロックゲート回路によってクロックの発振が停止される様子を説明する図であり、（ｂ）はクロック間引き回路によってクロックが間引かれる様子を説明する図である。
【図５】クロック間引き回路が通常のクロックを出力する状態から、間引きクロックを出力する状態に移行する過程を説明する図である。
【図６】クロック間引き回路が間引きクロックを出力する状態から、通常のクロックを出力する状態に移行する過程を説明する図である。
【図７】省電力モード時における、メインコントローラの各機能モジュールへのクロックの供給状態を示す図である。
【図８】通常モードから省電力モードに移行する際の制御の流れを示すフローチャートである。
【図９】省電力モードから通常モードに復帰する際の制御の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１１】
図１は、半導体集積回路を備える装置の一例としての画像形成装置のシステム構成を示すブロック図である。画像形成装置１００は、コピー、プリンタ、FAXといった複数の機能を1台で実現するMFPである。画像形成装置１００は、メインコントローラ１０１、ユーザインタフェースである操作部１０２、画像入力デバイスであるスキャナ１０３及び画像出力デバイスであるプリンタ１０４を備える。
【００１２】
操作部１０２、スキャナ１０３及びプリンタ１０４は、それぞれメインコントローラ１０１に接続され、メインコントローラ１０１からの指示によって制御される。さらに、メインコントローラ１０１は、LAN（Local Area Network）１０６に接続され、このLAN１０６を介してPC１０５と接続される。
【００１３】
PC１０５は、一般的なコンピュータであり、PC１０５上で動作するアプリケーションによって作成された文書データ等の印刷指示（印刷ジョブ）がLAN１０６を介して画像形成装置１００に対し送信される。
【００１４】
＜メインコントローラの構成＞
次に、画像形成装置１００のメインコントローラ１０１について詳しく説明する。
【００１５】
図２は、メインコントローラ１０１の内部構成を示すブロック図である。画像形成装置１００の全体を制御するメインコントローラ１０１は、スキャナ１０３やプリンタ１０４を制御する一方で、LAN１０６を介して、PC１０５との間で画像データやデバイス情報等の入出力を行う。
【００１６】
メインコントローラ１０１は、CPU２０１、メモリコントローラ２０２、DRAM２０３、ROM２０４、クロック生成部２０５、スキャナ画像処理部２０６、プリンタ画像処理部２０７、システムバス２０８、イメージバス２０９を備える。さらに、各種インタフェースとして、操作部I/F２１０、LAN I/F２１１、イメージバスI/F２１２、デバイスI/F２１３を備える。
【００１７】
CPU（Central Processing Unit）２０１は、システムバス２０８を介して、ROM（Read Only Memory）２０４、イメージバスI/F２１２、メモリコントローラ２０２、操作部I/F２１０、LAN I/F２１１及びクロック生成部２０５と接続される。ROM２０４は、システムのブートプログラムや所定の実行プログラムなどが格納される読み出し専用のメモリである。DRAM（Dynamic Random Access Memory）２０３は、CPU２０１のワークメモリとしての作業領域を提供するための随時読み書き可能な記憶領域である。また、DRAM２０３は、画像形成装置１００の一時的な設定値や実行するジョブの情報などを記憶したり、画像データを一時記憶するための画像メモリとしても使用される。メモリコントローラ２０２は、DRAM２０３を制御するコントローラであり、DRAM２０３とのデータの読み書きを行う。
【００１８】
操作部I/F２１０は、操作部１０２との間で入出力を行うためのインタフェースである。操作部I/F２１０は、操作部１０２に対して表示すべき画像データを出力し、また、ユーザが操作部１０２を介して入力した情報を、CPU２０１に伝送するために使用される。LAN I/F２１１は、LAN１０６と接続するためのインタフェースであり、LAN１０６に対して情報の入出力を行う。イメージバスI/F２１２は、システムバス２０８と画像データを高速で転送するイメージバス２０９とを接続するインタフェースであり、データ構造を変換するバスブリッジとして動作する。イメージバス２０９には、デバイスI/F２１３、スキャナ画像処理部２０６及びプリンタ画像処理部２０７が接続される。デバイスI/F２１３は、スキャナ１０３及びプリンタ１０４とメインコントローラ１０１とを接続するインタフェースであり、画像データの形式の変換を行う。
【００１９】
クロック生成部２０５は、水晶発振器やPLL（Phase Locked Loop）などの発振回路及び、該発信回路の出力クロックを分周する分周器などを備え、同期回路を動作させる各種クロックを生成して出力する。そして、クロック生成部２０５は、前述のCPU２０１、ROM２０４、メモリコントローラ２０２、DRAM２０３、バス２０８及び２０９、画像処理部２０６及び２０７、各種I/Fなどのメインコントローラ１０１内の各機能モジュールに各種クロックを供給する。クロック生成部２０５の構成及び、出力するクロックについての詳細は後述する。なお、メインコントローラ１０１内の各機能モジュールは、例えばCMOS（Complementary Metal Oxide Semiconductor）の半導体集積回路によって構成される。
【００２０】
スキャナ画像処理部２０６は、スキャナ１０３から読み込んだ入力画像データに対して、補正、加工、編集等の画像処理を行う。プリンタ画像処理部２０７は、プリンタ１０４へ出力する印刷画像データに対して、色変換、フィルタ処理、解像度変換等の画像処理を行う。
【００２１】
＜クロック生成部＞
図３は、本実施例に係る、クロック生成部２０５の内部構成を示すブロック図である。クロック生成部２０５は、第１クロック源３００、第２クロック源３１０、クロック間引き回路３２０、クロック設定保持部３３０、固定分周状態監視部３４０、可変分周状態監視部３５０を備える。さらに、クロック生成部２０５は、複数の分周回路とクロックゲート回路（２分周回路３６０ａ〜３６０ｃ、４分周回路３６１ａと３６１ｂ、８分周回路３６２、クロックゲート回路３７０ａ〜３７０ｇ）を備える。
【００２２】
第１クロック源３００及び第２クロック源３１０は、水晶発振器やPLLなどの発振回路であり、それぞれ独自の位相、周波数で発振するクロックを生成して出力する。
【００２３】
２分周回路３６０ａ〜３６０ｃ、４分周回路３６１ａ及び３６１ｂ、８分周回路３６２は、それぞれ自己の前段にあるクロック源や分周回路の出力クロックを入力として、分周クロックを新たに生成する分周回路である。すなわち、２分周回路３６０ａ〜３６０ｃは周波数が入力クロックの１／２となる分周クロックを生成する。４分周回路３６１ａと３６１ｂは周波数が入力クロックの１／４となる分周クロックを生成する。８分周回路３６２は周波数が入力クロックの１／８となる分周クロックを生成する。なお、本実施例においては分周回路の一例として、２分周、４分周、８分周の分周回路を用いているが、分周数はこれに限定されるものではない。例えば、メインコントローラ１０１内の機能モジュールが必要とするクロックの周波数に応じて、３分周や１６分周の分周回路を備えてもよい。
【００２４】
クロックゲート回路３７０ａ〜３７０ｇは、後述するクロック設定保持部３３０からのゲート制御信号に基づいて、トグルの有無を制御する。具体的には、ゲート制御信号によってクロックゲート機能をONにしたときに、出力するクロックをLowレベルに固定してクロックの供給（発振）を停止する。図４（ａ）は、クロックゲート回路によってクロックの発振が停止される様子を説明する図である。図４（ａ）において、破線の波形で示す部分は、クロックゲート機能をONにしなかった場合（ゲート機能をOFFにした場合）の通常のトグルするクロックを示す。クロック生成部２０５は、クロックゲート回路３７０ａ〜３７０ｇを介して、DRAMクロック、メモリコントローラバスクロック、第１インタフェースクロック、CPUクロック、第１バスクロック、第２バスクロック、第２インタフェースクロックをそれぞれメインコントローラ１０１内の機能モジュールの同期回路に供給する。各クロックと各機能モジュールとの対応関係は以下の通りである。  
・DRAMクロック：DRAM２０３
・メモリコントローラバスクロック：メモリコントローラ２０２
・第１インタフェースクロック：LAN I/F２１１
・ＣＰＵクロック：CPU２０１
・第１バスクロック：ROM２０４、システムバス２０８
・第２バスクロック：スキャナ画像処理部２０６、プリンタ画像処理部２０７、イメージバス２０９、イメージバスI/F２１２、デバイスI/F２１３、
・第２インタフェースクロック：操作部I/F２１０
これらのクロックはそれぞれ個別のクロックゲート回路３７０ａ〜３７０ｇによってゲート制御することが可能であり、動作不要な機能モジュールの同期回路へのクロックの供給を個別に停止させることによって、画像形成装置１００の消費電力を低減することができる。
【００２５】
クロック間引き回路３２０は、後述するクロック設定保持部３３０からの間引き制御信号に基づき、内部に備えるクロックゲート回路によって第１クロック源３００の出力クロックを基にトグルを間引いたクロック（間引きクロック）を出力する。図４（ｂ）は、クロック間引き回路３２０によって、第１クロック源３００から出力されたクロックが間引かれる様子を説明する図である。間引き制御信号によって、クロック間引きがONになると、連続する４クロックサイクル中の３サイクルを間引いた１サイクル期間を周期的にトグルするクロックが出力されることが示されている。このとき、CPUクロックは、クロック間引き回路３２０からの出力クロックを２分周回路３６０ｂによって２分周したものとなるので、通常時の周波数に対して１／４に低減した周波数（周期は４倍）のクロックとなる。なお、本実施例においてはクロック間引き回路の一例として、４クロックサイクル中の３サイクルを間引いた１サイクル期間を周期的にトグルする例を説明したが、クロックの間引き方はこれに限定されるものではない。例えば、画像形成装置１００の消費電力の低減のために必要なクロックの周波数に応じて、７クロックサイクル中の６サイクルを間引くような構成であってもよい。動作を遅くしてもよい機能モジュールの同期回路に対して、このように低減した周波数のクロックを供給することによって、同期回路を動作させたまま画像形成装置１００の消費電力を低減することができる。さらに、クロック間引き回路３２０は、後述する固定分周状態監視部３４０からの固定分周状態情報と、後述する可変分周状態監視部３５０からの可変分周状態情報とに基づき、出力するクロックの間引き制御や、クロック出力の停止、再開といった制御を行う。
【００２６】
クロック設定保持部３３０は、クロック間引き回路３２０及びクロックゲート回路３７０ａ〜３７０ｇを制御する設定指示の内容を保持し、それぞれのクロック制御信号（間引き制御信号及びゲート制御信号）を出力する回路である。クロック設定保持部３３０が保持するクロック制御のための設定は、CPU２０１からシステムバス２０８を介してなされる。
【００２７】
固定分周状態監視部３４０は、固定分周のクロックであるDRAMクロック、メモリコントローラバスクロック、第１インタフェースクロックをそれぞれ生成する、２分周回路３６０ａ、４分周回路３６１ａ、８分周回路３６２の分周の状態を監視する。そして、固定分周状態監視部３４０は、DRAMクロック、メモリコントローラバスクロック、第１インタフェースクロックのクロックの波形のHigh／Lowの情報を示す固定分周状態情報をクロック間引き回路３２０に出力する。
【００２８】
可変分周状態監視部３５０は、可変分周のクロックであるCPUクロック、第１バスクロック、第２バスクロックをそれぞれ生成する、クロック間引き回路３２０の出力クロックを２分周する２分周回路３６０ｂ、さらにそのクロックを２分周する２分周回路３６０ｃと４分周回路３６１ｂの分周の状態を監視する。そして、可変分周状態監視部３５０は、CPUクロック、第１バスクロック、第２バスクロックのクロックの波形のHigh／Lowの情報を示す可変分周状態情報をクロック間引き回路３２０に出力する。
【００２９】
＜通常クロック出力状態から間引きクロック出力状態への移行＞
図５は、クロック間引き回路３２０が通常のクロックを出力する状態から、間引きクロックを出力する状態に移行する過程を説明する図である。本実施例においては、DRAMクロック、メモリコントローラバスクロック、第１インタフェースクロック、CPUクロック、第１バスクロック及び第２バスクロックは、共通のクロック源である第１クロック源３００を基に生成されるクロックである。そのため、これらのクロックは、図５において破線で示す各タイミングで立ち上がりエッジが一致する同期の取れた関係（以下、同期関係）を構成できる。従って、これらのクロックで動作する同期回路は、データ転送が発生するクロック間でのタイミング設計を行うことによって、同期回路の正常なデータ転送の動作を保障できる。一方、第１クロック源３００とは独立したクロック源である第２クロック源３１０を基に生成される第２インタフェースクロックと上記クロック群とは、位相及び周波数が異なり同期の取れていない関係（以下、非同期関係）にある。そのため、第２インタフェースクロックで動作する同期回路とのデータ転送にはデータの同期化回路が必要となる。
【００３０】
なお、クロック生成部２０５が出力するクロックの中でDRAMクロック、メモリコントローラバスクロック、第１インタフェースクロックは、クロック間引き回路３２０から出力されるクロックとは無関係の、周波数が固定のクロックである。これらは、周波数が動的に変化することが許可されない場合や、周波数が予め定められた所定の周波数でなければならない場合に使用されるクロックである。そして、CPUクロック、第１バスクロック、第２バスクロックは、クロック間引き回路３２０が出力するクロックを基に分周して生成される分周クロックであり、クロックの間引き設定にしたがって、周波数が可変のクロックである。図５に示す「クロック間引きON」のタイミングでクロック間引き設定がONになると、クロック間引き回路３２０が出力するクロックの周波数が低減する。このように、クロック間引き回路３２０が通常時の周波数から低減した周波数を出力するように変わる際、クロックの周波数比も変わってしまう。例えば、メモリコントローラバスクロックと第１バスクロックは、周波数比１：１の関係から４：１の関係に変わることになる。そして、この比率は一定ではなく、間引きの設定に基づいて変化する。
【００３１】
＜間引きクロック出力状態から通常クロック出力状態への移行＞
図６は、クロック間引き回路３２０が間引きクロックを出力する状態から、通常のクロックを出力する状態に移行する過程を説明する図である。図６（ａ）に示すように、同期関係にある３つの可変分周クロック（CPUクロック、第１バスクロック、第２バスクロック）の中で最も周波数の低い第２バスクロックの立ち上がりエッジの位置は、CPUクロック及び第１バスクロックの立ち上がりエッジの位置と一致する。同様に、同期関係にある３つの固定分周クロック（DRAMクロック、メモリコントローラバスクロック、インタフェースクロック）の中で最も周波数の低い第１インタフェースクロックの立ち上がりエッジの位置は、DRAMクロック及びメモリコントローラバスクロックの立ち上がりエッジの位置と一致する。つまり、第２バスクロックの立ち上がりエッジのタイミングと第１インタフェースクロックの立ち上がりエッジとのタイミングが一致していると、可変周波数の分周クロック群と、固定周波数の分周クロック群の立ち上がりエッジのタイミングが一致することになる。
【００３２】
これを踏まえ、第１インタフェースクロックの立ち上がりエッジのタイミング６０１で、第２バスクロックの立ち上がりエッジが合うよう出力クロックを通常時の周波数に戻すことで、固定周波数のクロック（群）と可変周波数のクロック（群）との位相を合わせることができる。ここで、CPU２０１が設定するクロック制御設定がクロック設定保持部３３０に保持されるタイミングは一意には定まらない。そのため、クロック間引き回路３２０が、クロック設定保持部３３０から間引き制御信号を受信するタイミングも一意には定まらない。従って、クロック間引き回路３２０では、間引き制御信号を受信してからクロック間引き設定をOFFにして通常の周波数に戻すまで、タイミング６０２からタイミング６０１までのような期間を位相調整のための期間として要すことになる（図６（ａ）を参照）。
【００３３】
そこで、本実施例においては、この位相調整の期間を短縮するべく、下記に示す構成を採用している。以下、図６（ｂ）を参照して詳しく説明する。
【００３４】
クロック間引き回路３２０は、タイミング６０２で間引き制御信号を受信すると直ちにクロック間引き設定をOFFにし、出力するクロックを通常時の周波数に戻す。そして、クロック間引き回路３２０は、タイミング６０３の時点でクロックの出力を一時的に停止し、タイミング６０４でクロック（通常時の周波数）の出力を再開する。なお、クロック間引き回路３２０におけるクロック出力の停止と再開のタイミングは、前述の固定分周状態監視部３４０が出力する固定分周状態情報と可変分周状態監視部３５０が出力する可変分周状態情報による各クロックのHigh／Lowの状態に基づいて判断する。ここで、タイミング６０４は、固定周波数の分周クロックの中で最も周波数の低い第１インタフェースクロックの立ち上がりエッジが位置するタイミングであり、このタイミング６０４において可変周波数の分周クロックの中で最も周波数の低い第２バスクロックの立ち上がりエッジの位置が合う。つまり、図６（ａ）において要した期間（タイミング６０２からタイミング６０１までの期間）に対して、本実施例の場合には、タイミング６０２からタイミング６０４までの期間で済むことになり、前述の固定分周クロックと可変分周クロックとの位相調整の期間を大幅に短縮することができている。
【００３５】
＜画像形成装置における省電力制御＞
次に、画像形成装置１００のメインコントローラ１０１による省電力制御について説明する。画像形成装置１００は、その稼動状態に応じて消費電力の異なる２種類の動作モード（通常モードと省電力モード）を備える。画像形成装置１００は、操作部１０２が所定の期間中にユーザからの操作を受け付けなかった場合や、印刷ジョブを実行しなかった場合に、通常の動作状態である通常モードから、消費電力を低減した待機状態である省電力モードに移行する。従って、省電力モードにおいては印刷ジョブなどを実行することはなく、メインコントローラ１０１上の一部の機能モジュールは動作する必要のない状態、あるいは、動作速度を低減しても支障がない状態になる。すなわち、省電力モード下では、クロック生成部２０５がメインコントローラ１０１上の一部の機能モジュールに供給するクロックを停止、あるいは、周波数を低減することができる状態となっている。
【００３６】
図７は、省電力モード時における、メインコントローラ１０１の各機能モジュールへのクロックの供給状態を示す図である。図７において、クロック生成部２０５から出力される通常のクロック（すなわち、低減されていない周波数のクロック）で動作するモジュールは、DRAM２０３、メモリコントローラ２０２、操作部I/F２１０、LAN I/F２１１である。そして、クロック生成部２０５から出力される間引きクロック（すなわち、低減された周波数のクロック）で動作するモジュールは、CPU２０１、ROM２０４及びシステムバス２０８である。さらに、クロックゲート回路のゲート制御によりクロック生成部２０５からのクロック供給が停止することで、動作を停止するモジュールは、イメージバスI/F２１２、デバイスI/F２１３、スキャナ画像処理部２０６、プリンタ画像処理部２０７、イメージバス２０９である。
【００３７】
省電力モード時には、このようにクロック周波数の低減、或いは、クロック供給の停止によって、消費電力を通常モードよりも低く抑えることができる。そして、操作部１０２を介した復帰指示操作をユーザが行ったり、PC１０５からLAN１０６を介して印刷ジョブを受信すると、停止しているクロック供給が再開され、或いは、低減されていたクロックの周波数が通常の周波数に戻される。これにより、画像形成装置１００は、省電力モードから通常モードへと復帰し、印刷ジョブなどの処理の実行が可能な状態となる。
【００３８】
＜クロック制御＞
次に、メインコントローラ１０１によるクロック制御について、フローチャートを参照して詳しく説明する。
【００３９】
まず、通常モードから省電力モードに移行する際の制御について図８を参照して説明する。
【００４０】
ステップ８０１において、メインコントローラ１０１内のCPU２０１は、通常モードから省電力モードに移行する原因が生じたかどうかを判定する。この原因には、例えば印刷ジョブの実行がないまま所定時間（例えば、１５分）が経過したこと等が挙げられる。このような所定の原因の発生が確認された場合は、ステップ８０２に進む。一方、このような所定の原因の発生が確認されない場合は、その監視を継続する。
【００４１】
ステップ８０２において、CPU２０１は、特定のクロックのゲートをONにする設定指示とクロックを間引く設定指示を、システムバス２０８を介してクロック生成部２０５に送信する。
【００４２】
ステップ８０３において、クロック生成部２０５内のクロック設定保持部３３０は、受信した２種類の設定指示の内容を保持すると共に、所定の制御信号を出力する。すなわち、対応するクロックゲート回路にゲートをONにするゲート制御信号を出力し、クロック間引き回路３２０に間引きをONにする間引き制御信号を出力する。この場合において、前述の図７の状態を実現するための制御信号の詳細は以下の通りである。
【００４３】
【表１】
0006410538.tif 000002
【００４４】
ステップ８０４において、クロック生成部２０５内の特定のクロックゲート回路（上述の例ではクロックゲート回路３７０ｆ）は、クロック設定保持部３３０からのゲート制御信号に基づいてゲートをONにする。これにより、動作を停止しても構わない所定の機能モジュールへのクロックの供給が停止される。
【００４５】
ステップ８０５において、クロック生成部２０５内のクロック間引き回路３２０は、クロック設定保持部３３０からの間引き制御信号に基づいて間引きをONにする。これにより、動作速度を遅くしても構わない所定の機能モジュールに対し低減された周波数のクロックが供給される。
【００４６】
以上が、通常モードから省電力モードに移行する際の制御処理の内容である。なお、図８から明らかなように、ステップ８０４とステップ８０５は並列に処理される。こうして、省電力モードへの移行処理が完了すると、画像形成装置１００の消費電力を低く抑えることができる。
【００４７】
次に、省電力モードから通常モードに復帰する際の制御について図９を参照して説明する。
【００４８】
ステップ９０１において、メインコントローラ１０１内のＣＰＵ２０１は、省電力モードから通常モードに移行する原因が生じたかどうかを判定する。この原因には、例えばＰＣ１０５からＬＡＮ１０６を介して印刷ジョブを受信したこと等が挙げられる。このような所定の原因の発生が確認された場合は、ステップ９０２に進む。一方、このような所定の原因の発生が確認されない場合は、その監視を継続する。
【００４９】
ステップ９０２において、ＣＰＵ２０１は、停止されていた特定のクロックの供給を再開する設定指示と低減されていた特定のクロックの周波数を通常の周波数に戻す設定指示を、システムバス２０８を介してクロック生成部２０５に送信する。
【００５０】
ステップ９０３において、クロック生成部２０５内のクロック設定保持部３３０は、受信した２種類の設定指示の内容を保持すると共に、所定の制御信号を出力する。具体的には、対応するクロックゲート回路（上述の例では、クロックゲート回路３７０ｆ）に対し、ゲートをOFFにするゲート制御信号をする。さらに、クロック間引き回路３２０に対し、間引きをOFFにする間引き制御信号を出力する。
【００５１】
ステップ９０４において、クロック生成部２０５内の特定のクロックゲート回路（上述の例ではクロックゲート回路３７０ｆ）は、クロック設定保持部３３０からのゲート制御信号に基づいてゲートをOFFにする。
【００５２】
ステップ９０５において、クロック生成部２０５内のクロック間引き回路３２０は、クロック設定保持部３３０からの間引き制御信号に基づいて間引きをOFFにし、クロック周波数を通常の周波数に戻す。
【００５３】
ステップ９０６において、クロック生成部２０５内の可変分周状態監視部３５０は、可変分周クロックの中で最も周波数の低いクロックが次の分周のサイクルでHighになる状態であるかどうかを判定する。ここで、可変分周クロックの中で最も周波数の低いクロック（上述の例では第２バスクロック）が次のサイクルでHighになるには、同一のクロック源から生成されたより高い周波数の可変分周クロック（上述の例では第１バスクロック）が一度Highになっている必要がある。この条件を満たすのは、例えば前述の図６（ｂ）におけるタイミング６０３である。可変分周クロックの中で最も周波数の低いクロックが次の分周のサイクルでHighになる状態であると判定された場合は、その旨を示す可変分周状態情報がクロック間引き回路３２０に通知され、ステップ９０７に進む。一方、未だその状態にないと判定された場合は、可変分周クロックの分周状態の監視を継続する。
【００５４】
ステップ９０７において、クロック間引き回路３２０は、ステップ９０５で通常の周波数に戻されたクロックの出力を停止する（図６（ｂ）におけるタイミング６０３）。
【００５５】
ステップ９０８において、クロック生成部２０５内の固定分周状態監視部３４０は、固定分周クロックの中で最も周波数の低いクロックが次の分周のサイクルでHighになる状態であるかどうかを判定する。ここで、固定分周クロックの中で最も周波数の低いクロック（上述の例では第１インタフェースクロック）が次の分周のサイクルでHighになるのは、前述の図６（ｂ）におけるタイミング６０４である。固定分周クロックの中で最も周波数の低いクロックが次の分周のサイクルでHighになる状態であると判定された場合は、その旨を示す固定分周状態情報がクロック間引き回路３２０に通知され、ステップ９０９に進む。一方、未だその状態にないと判定された場合は、固定分周クロックの分周状態の監視を継続する。
【００５６】
ステップ９０９において、クロック間引き回路３２０は、通常の周波数に戻ったクロックの出力を再開する（図６（ｂ）におけるタイミング６０４）。
【００５７】
以上が、省電力モードから通常モードに復帰する際の制御処理の内容である。図９から明らかなように、ステップ９０４とステップ９０５は並列に処理される。こうして、固定分周クロックと可変分周クロックとの位相調整が早期に完了し、画像形成装置１００は通常モードへ速やかに復帰することが可能となる。
【００５８】
以上の通り本実施例によれば、２種類以上のクロック間で位相の同期を取ることができる上、位相調整に要する時間を短縮することができる。
【００５９】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006410538.tif 000003
【図２】
0006410538.tif 000004
【図３】
0006410538.tif 000005
【図４】
0006410538.tif 000006
【図５】
0006410538.tif 000007
【図６】
0006410538.tif 000008
【図７】
0006410538.tif 000009
【図８】
0006410538.tif 000010
【図９】
0006410538.tif 000011