(57)【要約】【課題】  中央演算装置と外部へ信号を出力する機能ブロックとを備えた集積回路において、機能ブロックに入力されるクロックが停止される際には、少なくともその機能ブロックから信号が入力される外部回路を初期化すること。【解決手段】  ＣＰＵからのクロック停止命令がクロック停止命令レジスタ４１を介して入力され、かつ、ＣＰＵからのリセット命令に応じて出力されるリセット信号も入力されている場合にのみ、ＡＮＤ回路４２が出力するクロック停止信号がアクティブになり、クロック・ゲーティング回路４３がシステムクロックに応じて出力するクロック信号が停止される。このため、リセット命令に先行してクロック停止命令が出力された場合にも、両者が出力された後にクロック信号が停止される。【選択図】図３
2010049632.tif 000002
【特許請求の範囲】
【請求項１】
内部に中央演算装置を備えた集積回路であって、
上記集積回路の外部に設けられた外部回路へ信号を出力する機能ブロックと、
上記中央演算装置からリセット命令が出力されたとき、上記機能ブロックを初期化するリセット信号を上記機能ブロックへ出力するリセット制御部と、
上記中央演算装置が出力するクロック停止命令と、上記リセット制御部が出力するリセット信号とが共に出力されていることを検出する検出回路と、
上記機能ブロックへクロックを入力可能で、上記クロック停止命令と上記リセット信号とが共に出力されていることを上記検出回路が検出したとき、上記機能ブロックへの上記クロックの入力を停止するクロック制御部と、
を備えたことを特徴とする集積回路。
【請求項２】
上記クロック停止命令の状態を保持して上記検出回路へ入力し続ける第１レジスタを、
更に備えたことを特徴とする請求項１記載の集積回路。
【請求項３】
上記検出回路の検出結果を保持して上記クロック制御部へ入力し続ける第２レジスタを、
更に備えたことを特徴とする請求項１記載の集積回路。
【請求項４】
内部に中央演算装置を備えた集積回路であって、
上記集積回路の外部に設けられた外部回路へ信号を出力する機能ブロックと、
上記機能ブロックへクロックを入力可能で、上記中央演算装置からクロック停止命令が出力されたとき、上記機能ブロックへの上記クロックの入力を停止するクロック制御部と、
上記クロック停止命令が出力されたとき、上記機能ブロックから出力される信号に代えて、上記外部回路を初期化する信号を上記外部回路へ出力するセレクタと、
を備えたことを特徴とする集積回路。
【請求項５】
上記クロック停止命令の状態を保持して上記セレクタへ入力し続ける第３レジスタを、
更に備えたことを特徴とする請求項４記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部に中央演算装置を備えた集積回路に関し、詳しくは、クロックが停止される際の制御に特徴を有する集積回路に関する。
【背景技術】
【０００２】
従来より、内部にＣＰＵ等の中央演算装置を備えた集積回路では、各種制御に使用されるクロックを適宜停止することが提案されている。例えば、当該集積回路の外部に設けられた外部回路へ信号を出力する機能ブロックを複数備えた集積回路において、使用されない機能ブロックへのクロックの入力を停止して、その機能ブロックの動作を停止させることによって消費電力を低減させることが提案されている（例えば、特許文献１参照）。
【特許文献１】特開平５−１５０８７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ここで、クロックの入力を停止する際には、その停止に先立って機能ブロックを初期化することも考えられるが、機能ブロックの初期化がなされる前にクロックが停止されると機能ブロックから外部回路への外部出力信号が固定され外部回路が初期化されず、保護回路等が必要となる。そこで、本発明は、中央演算装置と外部へ信号を出力する機能ブロックとを備えた集積回路において、機能ブロックに入力されるクロックが停止される際には、少なくともその機能ブロックから信号が入力される外部回路を初期化することを目的としてなされた。
【課題を解決するための手段】
【０００４】
上記目的を達するためになされた本発明は、内部に中央演算装置を備えた集積回路であって、上記集積回路の外部に設けられた外部回路へ信号を出力する機能ブロックと、上記中央演算装置からリセット命令が出力されたとき、上記機能ブロックを初期化するリセット信号を上記機能ブロックへ出力するリセット制御部と、上記中央演算装置が出力するクロック停止命令と、上記リセット制御部が出力するリセット信号とが共に出力されていることを検出する検出回路と、上記機能ブロックへクロックを入力可能で、上記クロック停止命令と上記リセット信号とが共に出力されていることを上記検出回路が検出したとき、上記機能ブロックへの上記クロックの入力を停止するクロック制御部と、を備えたことを特徴としている。
【０００５】
このように構成された本発明の集積回路では、中央演算装置からリセット命令が出力されたとき、リセット制御部は、当該集積回路の外部に設けられた外部回路へ信号を出力する機能ブロックに、リセット信号を出力する。すると、その機能ブロックは、上記リセット信号により初期化され、外部回路も初期化することができる。
【０００６】
また、上記機能ブロックへクロックを入力可能なクロック制御部は、上記中央演算装置が出力するクロック停止命令と、上記リセット制御部が出力するリセット信号とが共に出力されていることを検出回路が検出したときに、上記機能ブロックへの上記クロックの入力を停止する。すなわち、本発明では、上記リセット信号が出力されていることを前提として、上記クロック停止信号に応じた機能ブロックへのクロック入力停止がなされるので、上記機能ブロックが初期化される前にクロックが停止されるのを良好に抑制することができる。従って、本発明では、上記機能ブロックに入力されるクロックが停止される際には、上記機能ブロックを確実に初期化して、上記外部回路も確実に初期化することができる。
【０００７】
なお、本発明は以下の構成に限定されるものではないが、上記クロック停止命令の状態を保持して上記検出回路へ入力し続ける第１レジスタを、更に備えてもよい。この場合、上記中央演算装置から出力されたクロック停止命令を、確実に上記検出回路の検出結果に反映させることができる。
【０００８】
また、上記検出回路の検出結果を保持して上記クロック制御部へ入力し続ける第２レジスタを、更に備えてもよい。この場合、上記検出回路の検出結果を確実にクロック制御部の制御に反映させることができる。
【０００９】
更に、本発明は、内部に中央演算装置を備えた集積回路であって、上記集積回路の外部に設けられた外部回路へ信号を出力する機能ブロックと、上記機能ブロックへクロックを入力可能で、上記中央演算装置からクロック停止命令が出力されたとき、上記機能ブロックへの上記クロックの入力を停止するクロック制御部と、上記クロック停止命令が出力されたとき、上記機能ブロックから出力される信号に代えて、上記外部回路を初期化する信号を上記外部回路へ出力するセレクタと、を備えたことを特徴とするものでもよい。
【００１０】
このように構成された本発明の集積回路では、中央演算装置からクロック停止命令が出力されたとき、クロック制御部は、当該集積回路の外部に設けられた外部回路へ信号を出力する機能ブロックへのクロックの入力を停止する。また、上記クロック停止命令が出力されたとき、セレクタは、上記機能ブロックから出力される信号に代えて、上記外部回路を初期化する信号を上記外部回路へ出力する。このように、本発明では、上記機能ブロックへ入力されるクロックが停止される際には、上記外部回路を初期化する信号が上記機能ブロックからの信号に代えて出力されるので、上記外部回路を確実に初期化することができる。
【００１１】
そして、この場合、上記クロック停止命令の状態を保持して上記セレクタへ入力し続ける第３レジスタを、更に備えてもよい。この場合、上記中央演算装置から出力されたクロック停止命令を、確実に上記セレクタの動作に反映させることができる。
【発明を実施するための最良の形態】
【００１２】
（第１の実施の形態の構成）
次に、本発明の実施の形態を図面と共に説明する。図１は、本発明が適用された第１の実施の形態としてのレーザプリンタの制御系の構成を表すブロック図である。図１に示すように、本発明が適用された集積回路の一例としてのＡＳＩＣ１には、外部回路の一例として、図示省略した感光体ドラムや各種ローラ等を駆動するモータドライバ９９と、定着器に設けられたヒータ９８と、上記感光体ドラムを露光するための光源（レーザ光源）９７とが接続されている。
【００１３】
ＡＳＩＣ１には、このモータドライバ９９，ヒータ９８，光源９７へ個々に信号を出力する機能ブロックの一例として、第１機能ブロック１０Ａ，第２機能ブロック１０Ｂ，第３機能ブロック１０Ｃが設けられている。なお、以下の説明において、第１機能ブロック１０Ａ，第２機能ブロック１０Ｂ，第３機能ブロック１０Ｃと区別する必要がない場合は、単に機能ブロック１０という（後述の各種レジスタ等も同様）。
【００１４】
更に、ＡＳＩＣ１には、プログラムに基づいて各種演算を実行する中央演算装置の一例としてのＣＰＵ２０と、後述するリセット制御部３０と、同じく後述するクロック制御部４０とが設けられている。なお、ＣＰＵ２０，リセット制御部３０，クロック制御部４０は、図示省略したバスによって接続され、コマンド等としての各種命令の送受信が可能となっている。
【００１５】
次に、図２は、リセット制御部３０の構成を詳細に表すブロック図である。図２に示すように、リセット制御部３０には、第１機能ブロック１０Ａ，第２機能ブロック１０Ｂ，第３機能ブロック１０Ｃのリセット命令（ＣＰＵ命令）がそれぞれＣＰＵ２０から入力されるブロックリセットレジスタ３１Ａ，３１Ｂ，３１Ｃが設けられている。各ブロックリセットレジスタ３１は、対応する機能ブロック１０のリセット命令がＣＰＵ２０から入力されると、アクティブな信号（例えば「Ｈ」レベル）を継続して出力し続ける。各ブロックリセットレジスタ３１Ａ，３１Ｂ，３１Ｃの出力信号は、リセット制御部３０に設けられたリセット同期化回路３２を介して外部から入力される外部リセット信号と共に、ＯＲ回路３３Ａ，３３Ｂ，３３Ｃにそれぞれ入力される。
【００１６】
このため、外部リセット信号が入力されたときは、ＣＰＵ２０からのリセット命令の有無に関わらずに、各ＯＲ回路３３から各機能ブロック１０のリセット信号（例えば「Ｈ」レベルの信号）が出力される。また、ＣＰＵ２０からいずれかの機能ブロック１０のリセット命令が入力されたときは、その機能ブロック１０に対応するＯＲ回路３３からリセット信号が出力される。また、図１に破線で示すように、各機能ブロック１０に対してリセット制御部３０（より具体的には各ＯＲ回路３３）から出力される上記リセット信号は、対応する機能ブロック１０へはもちろんのこと、クロック制御部４０へも入力される。
【００１７】
次に、図３は、クロック制御部４０の構成を表すブロック図である。図３に示すように、クロック制御部４０には、第１機能ブロック１０Ａ，第２機能ブロック１０Ｂ，第３機能ブロック１０Ｃのクロック停止命令がそれぞれＣＰＵ２０から入力される第１レジスタの一例としてのクロック停止命令レジスタ４１Ａ，４１Ｂ，４１Ｃが設けられている。各クロック停止命令レジスタ４１は、対応する機能ブロック１０のクロック停止命令（ＣＰＵ命令）がＣＰＵ２０から入力されると、アクティブな信号（例えば「Ｈ」レベル）を継続して出力し続ける。各クロック停止命令レジスタ４１Ａ，４１Ｂ，４１Ｃの出力信号は、前述のようにＯＲ回路３３Ａ，３３Ｂ，３３Ｃから出力される各機能ブロック１０のリセット信号と共に、検出回路の一例としてのＡＮＤ回路４２Ａ，４２Ｂ，４２Ｃにそれぞれ入力される。
【００１８】
各ＡＮＤ回路４２Ａ，４２Ｂ，４２Ｃが出力する各機能ブロック１０のクロック停止信号は、それぞれ、反転された上でクロック制御部の一例としてのクロック・ゲーティング回路４３Ａ，４３Ｂ，４３Ｃに入力される。また、各クロック・ゲーティング回路４３には、周知の外部クロック信号がＰＬＬ（位相同期回路：Phase Locked Loop ）４４を介してシステムクロックとして入力されている。このため、ＡＮＤ回路４２Ａ，４２Ｂ，または４２Ｃが出力するクロック停止信号がアクティブでない場合は、対応するクロック・ゲーティング回路４３Ａ，４３Ｂ，または４３ＣはＰＬＬ４４から出力されたシステムクロックを対応する機能ブロック１０のクロック信号として出力する。一方、ＡＮＤ回路４２Ａ，４２Ｂ，または４２Ｃが出力するクロック停止信号がアクティブな場合は、対応するクロック・ゲーティング回路４３Ａ，４３Ｂ，または４３Ｃからはクロック信号が出力されなくなる。なお、図１には、各クロック信号の流れを実線で示したので参照されたい。
【００１９】
更に、各ＡＮＤ回路４２が出力するクロック停止信号がアクティブとなるのは、そのＡＮＤ回路４２に対応するクロック停止命令レジスタ４１の出力信号とリセット制御部３０からのリセット信号とが共にアクティブな場合である。このため、本実施の形態では、次のような効果が生じる。
【００２０】
（第１の実施の形態の効果及びその変形例）
図４（Ａ）は、従来例として第１機能ブロック１０Ａに対応するクロック停止命令レジスタ４１Ａの出力信号がそのまま、反転された上でクロック・ゲーティング回路４３Ａへ入力された場合の課題を例示するタイムチャートである。なお、以下の説明では、第１機能ブロック１０Ａを例に挙げて説明するが他の機能ブロック１０であっても同様である。
【００２１】
クロック停止命令レジスタ４１Ａの出力信号がそのまま、反転された上でクロック・ゲーティング回路４３Ａへ入力された場合、ＣＰＵ２０から第１機能ブロック１０Ａに対するクロック停止命令が出力されると、その入力によって第１機能ブロック１０Ａのクロック信号が停止されてしまう。ＣＰＵ２０は、後述の図４（Ｂ）に例示するように、リセット命令を出力した後にクロック停止命令を出力する制御を実行しており、通常は問題は生じない。
【００２２】
しかしながら、何らかの事情でリセット命令が出力されずに、若しくはリセット命令に先行してクロック停止命令が出力されてしまうと、クロック停止命令が出力された時点で第１機能ブロック１０Ａの制御がリセット（初期化）されずに停止してしまう。すると、モータドライバ９９に出力される外部出力信号は、クロック停止前の状態に固定され、外部回路も動作状態に固定されるため別途保護回路が必要となる。
【００２３】
これに対して、本実施の形態では、クロック停止命令レジスタ４１Ａの出力信号とＯＲ回路３３Ａからのリセット信号とが共にアクティブな場合にのみ第１機能ブロック１０Ａのクロック信号が停止されるので、その動作は図４（Ｂ），図４（Ｃ）に例示するようになる。
【００２４】
すなわち、通常は、ＣＰＵ２０からリセット命令が出力された後にクロック停止命令が出力される。このため、図４（Ｂ）に例示するように、先ず、第１機能ブロック１０Ａのリセット命令がＣＰＵ２０から出力され、第１機能ブロック１０Ａのリセット信号がアクティブになる。続いて、第１機能ブロック１０Ａのクロック停止命令がＣＰＵ２０から出力されると、クロック停止命令レジスタ４１Ａの出力信号もアクティブになり、既に上記リセット信号がアクティブであるのでＡＮＤ回路４２Ａが出力するクロック停止信号もアクティブになる。従って、上記リセット命令が出力された時点でモータドライバ９９への外部出力信号は初期状態、すなわち外部回路が非動作状態となり、続いて上記クロック停止命令が出力された時点で第１機能ブロック１０Ａのクロック信号の入力が停止される。
【００２５】
また、仮に、ＣＰＵ２０からリセット命令に先行してクロック停止命令が出力された場合も、図４（Ｃ）に例示するように安全に停止することができる。すなわち、第１機能ブロック１０Ａのクロック停止命令がＣＰＵ２０から出力されると、クロック停止命令レジスタ４１Ａの出力信号もアクティブになるが、この時点では第１機能ブロック１０Ａのリセット信号がアクティブでないので、ＡＮＤ回路４２Ａが出力するクロック停止信号もアクティブにならない。そして、次にＣＰＵ２０から第１機能ブロック１０Ａのリセット命令が出力された時点で、第１機能ブロック１０Ａのリセット信号もアクティブになり、第１機能ブロック１０Ａのクロック停止信号もアクティブになる。この時点で、上記リセット信号によりモータドライバ９９への外部出力信号は初期状態で停止され、同時に第１機能ブロック１０Ａのクロック信号も停止される。
【００２６】
このように、本実施の形態では、当該機能ブロック１０のリセット信号がアクティブになっている場合のみ、その機能ブロック１０のクロック停止命令に応じたクロック信号の停止がなされる。このため、機能ブロック１０のクロック信号が停止される際には、その機能ブロック１０を確実に初期化して、外部出力信号も確実に初期状態に移行させることができる。すなわち、本実施の形態では、ＡＳＩＣ１のみで保護回路等を必要とすることなくクロック停止を行うことができる。
【００２７】
また、本実施の形態では、クロック停止命令レジスタ４１によってＣＰＵ２０からのクロック停止命令を保持して、そのクロック停止命令出力時にはアクティブな出力信号を維持している。このため、上記クロック停止命令をＡＮＤ回路４２が出力するクロック停止信号に確実に反映させることができる。
【００２８】
なお、クロック停止命令レジスタ４１は必ずしも必要ではなく、省略しても差し支えない。そして、その場合、図５に示すように、ＡＮＤ回路４２が出力するクロック停止信号を保持してクロック・ゲーティング回路４３へ反転して入力し続ける第２レジスタの一例としてのクロック停止信号レジスタ４７を設けるのが望ましい。こうすることによって、ＡＮＤ回路４２による論理積の検出結果（クロック停止信号）を、クロック・ゲーティング回路４３が出力するクロック信号に確実に反映させることができる。
【００２９】
（第２の実施の形態の構成）
次に、本発明の第２の実施の形態について説明する。なお、以下の説明において、第１の実施の形態と同様に構成された部分については、図１〜図３で使用した符号を使用して構成の詳細な説明を省略する。
【００３０】
図６は、本発明が適用された第２の実施の形態としてのレーザプリンタの制御系の構成を表すブロック図である。図６に示すように、本実施の形態のＡＳＩＣ１０１には、モータドライバ９９，ヒータ９８，光源９７と第１機能ブロック１０Ａ，第２機能ブロック１０Ｂ，第３機能ブロック１０Ｃとの間に、第１機能ブロック出力信号セレクト部１６０Ａ，第２機能ブロック出力信号セレクト部１６０Ｂ，第３機能ブロック出力信号セレクト部１６０Ｃがそれぞれ設けられている。また、ＡＳＩＣ１０１は、リセット制御部３０を有さず、クロック制御部１４０は次のように構成されている。なお、ＡＳＩＣ１０１においても、図２に示したものと同様のリセット制御部３０を設けてもよいが、本発明の実施の形態としての動作には直接関係がないのでここでは図示及び説明を省略する。
【００３１】
図７は、クロック制御部１４０の構成を表すブロック図である。図７に示すように、このクロック制御部１４０では、第３レジスタの一例としてのクロック停止命令レジスタ４１Ａ，４１Ｂ，４１Ｃの出力信号がそのままクロック停止信号として、反転された上でクロック・ゲーティング回路４３Ａ，４３Ｂ，４３Ｃに入力される。また、このクロック停止信号は、図６に破線で示すように、対応する機能ブロック出力信号セレクト部１６０へも入力される。
【００３２】
図８は、機能ブロック出力信号セレクト部１６０の構成を表すブロック図である。図８に示すように、機能ブロック出力信号セレクト部１６０は、クロック停止命令レジスタ４１から出力されるクロック停止信号に応じてモータドライバ９９等への出力信号を次のように切り替えるセレクタ１６１，１６２を備えている。なお、図８では２つのセレクタ１６１，１６２を図示したが、セレクタは１つであってもよく、３つ以上あってもよい。
【００３３】
セレクタ１６１には、機能ブロック１０から出力される出力信号Ａ１とその出力信号Ａ１の初期値とが入力され、上記クロック停止信号がアクティブでないときは前者が、アクティブであるときは後者が、それぞれ出力信号Ａ１として出力される。セレクタ１６２も、同様に、機能ブロック１０から出力される出力信号Ａ２とその出力信号Ａ２の初期値とが入力され、上記クロック停止信号がアクティブでないときは前者が、アクティブであるときは後者が、それぞれ出力信号Ａ２として出力される。このため、本実施の形態では、次のような効果が生じる。
【００３４】
（第２の実施の形態の効果及び各実施の形態の変形例）
従来例として図９（Ａ）は、第１機能ブロック１０Ａの出力がそのままモータドライバ９９への外部出力信号として出力された場合の課題を例示するタイムチャートである。なお、以下の説明では、第１機能ブロック１０Ａを例に挙げて説明するが他の機能ブロック１０であっても同様である。
【００３５】
ＣＰＵ２０から第１機能ブロック１０Ａに対するクロック停止命令が出力されると、クロック停止命令レジスタ４１Ａが出力するクロック停止信号がアクティブとなり、第１機能ブロック１０Ａのクロック信号が停止される。すると、上記クロック停止命令が出力された時点で第１機能ブロック１０Ａの制御が停止する。このとき、第１機能ブロック１０Ａの出力がそのままモータドライバ９９へ外部出力信号として出力されていると、図９（Ａ）に例示するように、その外部出力信号はクロック停止前の状態に固定され、外部回路も動作状態に固定されるため別途保護回路が必要となる。
【００３６】
これに対して、本実施の形態では、上記クロック停止信号がアクティブとなると、セレクタ１６１，１６２からは出力信号Ａ１，Ａ２の初期値が外部出力信号として出力される。このため、図９（Ｂ）に例示するように、モータドライバ９９への外部出力信号は初期状態、すなわち非動作状態で停止される。このように、本実施の形態では、機能ブロック１０のクロック信号が停止される際には、外部出力信号が初期値に切り換えられるので、モータドライバ９９等の動作を確実に初期状態に移行させることができる。すなわち、本実施の形態でも、ＡＳＩＣ１０１のみで外部の手助けを借りずに安全なクロック停止を行うことができる。
【００３７】
また、本実施の形態でも、クロック停止命令レジスタ４１によってＣＰＵ２０からのクロック停止命令を保持して、そのクロック停止命令出力時にはアクティブなクロック停止信号を維持している。このため、上記クロック停止命令を確実にセレクタ１６１，１６２の動作に反映させることができる。
【００３８】
なお、本発明は上記各実施の形態になんら限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の形態で実施することができる。例えば、本発明はレーザプリンタの制御系以外にも各種用途の集積回路に適用することができる。
【図面の簡単な説明】
【００３９】
【図１】第１の実施の形態のレーザプリンタ制御系の構成を表すブロック図である。
【図２】その制御系のＡＳＩＣのリセット制御部の構成を表すブロック図である。
【図３】そのＡＳＩＣのクロック制御部の構成を表すブロック図である。
【図４】第１の実施の形態の効果を説明するタイムチャートである。
【図５】上記クロック制御部の変形例の構成を表すブロック図である。
【図６】第２の実施の形態のレーザプリンタ制御系の構成を表すブロック図である。
【図７】その制御系のＡＳＩＣのクロック制御部の構成を表すブロック図である。
【図８】そのＡＳＩＣの機能ブロック出力信号セレクト部の構成を表すブロック図である。
【図９】第２の実施の形態の効果を説明するタイムチャートである。
【符号の説明】
【００４０】
１…ＡＳＩＣ            １０…機能ブロック                ２０…ＣＰＵ
３０…リセット制御部    ３１…ブロックリセットレジスタ    ３３…ＯＲ回路
４０，１４０…クロック制御部                  ４１…クロック停止命令レジスタ
４２…ＡＮＤ回路                              ４３…クロック・ゲーティング回路
４７…クロック停止信号レジスタ                ９７…光源
９８…ヒータ                                  ９９…モータドライバ
１６０…機能ブロック出力信号セレクト部        １６１，１６２…セレクタ
【図１】
2010049632.tif 000003
【図２】
2010049632.tif 000004
【図３】
2010049632.tif 000005
【図５】
2010049632.tif 000006
【図６】
2010049632.tif 000007
【図７】
2010049632.tif 000008
【図８】
2010049632.tif 000009
【図４】
2010049632.tif 000010
【図９】
2010049632.tif 000011