(57)【要約】    【課題】省エネモードからの復帰時、起動が電源投入によるものか省エネモードからの復帰によるものかを確実に判定する。    【解決手段】制御プログラムを格納するプログラムメモリと、不揮発性メモリと、揮発性メモリであるメインメモリと、電源投入後に前記プログラムメモリから前記メインメモリへ制御プログラムを転送する初期化処理の後、前記メインメモリ上の制御プログラムを実行する制御部と、前記メインメモリに電源を供給し、電源遮断中に前記メインメモリに電源を供給しない電源供給回路とを備え、前記制御部は、省エネモードへの移行時に前記メインメモリ上の予め定められた箇所または範囲に格納されたデータに基づく照合用データを得て前記不揮発性メモリに格納し、省エネモードからの復帰後、同一箇所または同一範囲に格納されたデータに基づいて前記照合用データと同じデータが得られるか否かを判定し、同じデータが得られるときは前記メインメモリ上の制御プログラムを実行する制御装置。【選択図】図１
2015035078.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを格納するプログラムメモリと、
省エネモード中および電源遮断中にデータを保持する不揮発性メモリと、
揮発性メモリであるメインメモリと、
電源投入後に前記プログラムメモリから前記メインメモリへ制御プログラムを転送する初期化処理の後、前記メインメモリ上の制御プログラムを実行する制御部と、
省エネモード中にデータを保持するように前記メインメモリに電源を供給し、電源遮断中に前記メインメモリに電源を供給しない電源供給回路とを備え、
前記制御部は、省エネモードへの移行時に前記メインメモリ上の予め定められた箇所または範囲に格納されたデータに基づく照合用データを得て前記不揮発性メモリに格納し、省エネモードからの復帰後、前記照合用データを得たときと同一箇所または同一範囲に格納されたデータに基づいて前記照合用データと同じデータが得られるか否かを判定し、
同じデータが得られるときは前記メインメモリ上の制御プログラムを実行し、同じデータが得られないときは前記初期化処理を実行することを特徴とする制御装置。
【請求項２】
前記制御部は、前記照合用データとして、省エネモードを示す予め定められた値のステイタスデータを省エネモードへの移行時に前記メインメモリ上の予め定められた箇所および前記不揮発性メモリに格納し、省エネモードからの復帰時に前記不揮発性メモリおよび前記メインメモリから前記ステイタスデータをそれぞれ読み出し、読み出したステイタスデータが何れも省エネモードを示すときは前記メインメモリ上の制御プログラムを実行し、何れか一方または両方のステイタスデータが省エネモードを示さないときは前記初期化処理を実行する請求項１に記載の制御装置。
【請求項３】
前記制御部は、前記照合用データとして、前記メインメモリ上の予め定められた箇所または範囲に格納されたデータに予め定められた処理を適用して誤り検出用の照合データを得て前記不揮発性メモリに格納し、省エネモードからの復帰時に前記箇所または前記範囲のデータに前記処理を適用して得られるデータを前記不揮発性メモリに格納された照合データと照合し、両者が一致するときは前記メインメモリ上の制御プログラムを実行し、両者が一致しないときは前記初期化処理を実行する請求項１または２に記載の制御装置。
【請求項４】
前記照合データは、予め定められたハッシュ関数により得られるハッシュ値である請求項３に記載の制御装置。
【請求項５】
前記ハッシュ値は、暗号通信用の暗号化／復号化回路を用いて算出される請求項４に記載の制御装置。
【請求項６】
前記メインメモリは、セルフリフレッシュモードを有し、
前記制御部は、省エネモードへの移行時に前記メインメモリをセルフリフレッシュモードに設定し、省エネモードからの復帰時に前記メインメモリのセルフリフレッシュモードを解除する請求項１〜５の何れか一つに記載の制御装置。
【請求項７】
請求項１〜６の何れか一つに記載の制御装置を備えてなる画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置およびそれを備えてなる画像形成装置に関し、より詳細には省エネモード中に揮発性のメインメモリに制御プログラムを保持可能な制御装置に関する。
【背景技術】
【０００２】
例えば、デジタル複合機（Multi Function PeripheralあるいはMFPともいう）をはじめとする画像処理装置などの制御は、ＣＰＵを用いて装置の動作制御（エンジン制御）やデータの制御を行うのが通常である。ＣＰＵ、メモリおよび周辺回路等で構成される回路（制御部）をMFPの場合はMFPコントローラと呼んだりする。
【０００３】
近年、省エネルギーへの要求が高まりを受け、画像処理装置などは、待機中に装置内および制御部（例えばMFPコントローラ）内の必要最小限の部分を残し、他の部分への電力供給を遮断する省エネモードを有している。省エネモード中は、できる限り電力消費を抑えることが望ましいが、その一方でできる限り短時間で省エネモードから復帰して本来の作業を効率的に行うことが望まれている。
【０００４】
従来、省エネモードからの復帰において、制御部は電源起動時とほぼ同じシーケンスの初期化処理を経ていた。画像処理装置を省エネモードから待機状態に復帰させるには、この初期化処理の時間が必要であった。
省エネモードからの復帰を短縮する一つの手段として、制御部の復帰処理の時間短縮が望まれている。
【０００５】
これに関する技術として、エンジン制御用のＣＰＵに接続されるコンデンサの電圧値で、電源投入による起動か、省エネモードからの復帰による起動かを判定するものが知られている（例えば、特許文献１参照）。特許文献１に記載のものは、コンデンサの電圧値がLowレベルであればエンジン制御用のＣＰＵが画像形成装置への電源投入時の起動処理を実行し、電圧値がLowレベルでない場合は、エンジン制御用のＣＰＵが省エネモードから復帰するための起動処理を実行する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−８０２１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
画像形成装置などは、画像データなど大容量のデータを扱うので、例えばDDR3 SDRAM（Double-Data-Rate3 Synchronous Dynamic Random Access Memory）などSDRAMの規格に適合したメモリ（以下、DDR3メモリ）がメインメモリに用いられる。ＣＰＵが実行する制御プログラムも、格納元のROMからメインメモリにダウンロードしたうえで実行するのが一般的である。ROMよりもメインメモリの方が読出し・書込み共にアクセス時間が短いからである。
【０００８】
DDR3 SDRAMをはじめとしてその元となるSDRAM規格には、セルフリフレッシュモードが規定されている。これらの規格に基づくメモリは、リフレッシュが必要なDRAMをメモリセルに用いるが、メモリチップ内部のタイマーを起動させて、一定時間ごとにメモリセル（DRAMセル）のリフレッシュをメモリチップ自身に実行させることができる。即ち、セルフリフレッシュモード中は、メモリチップの外部からリフレッシュコマンドを提供する必要がない。
【０００９】
このセルフリフレッシュモードを利用すれば、画像形成装置などが省エネモード中にＣＰＵ等の電源を落としてもメインメモリのみに電源を供給することでメインメモリのデータを保持することができる。よって、電源投入時の初期化処理に比べて省エネモードから復帰するときの初期化処理の時間を短縮することが可能になる。
【００１０】
具体的には、省エネモード中にメインメモリの電源を落とさずにメインメモリをセルフリフレッシュモードにしておくことで、電源投入時の初期化処理でダウンロードされた制御プログラムを保持しておく。そうすれば、省エネモードからの復帰の際は、ROMからの制御プログラムのダウンロードが不要になり、復帰時間を短縮できる。
【００１１】
しかし、制御プログラムがメインメモリに確実に保持されていなければＣＰＵの暴走につながってしまう。省エネモードからの復帰でＣＰＵに電源が供給されて起動したとき、今回の起動が電源投入によるものか、省エネモードからの復帰によるものかを確実に判定しなければならない。
【００１２】
この発明は、以上のような事情を考慮してなされたものであって、省エネモードからの復帰時、起動が電源投入によるものか省エネモードからの復帰によるものかを確実に判定する制御装置を提供するものである。
【課題を解決するための手段】
【００１３】
この発明は、制御プログラムを格納するプログラムメモリと、省エネモード中および電源遮断中にデータを保持する不揮発性メモリと、揮発性メモリであるメインメモリと、電源投入後に前記プログラムメモリから前記メインメモリへ制御プログラムを転送する初期化処理の後、前記メインメモリ上の制御プログラムを実行する制御部と、省エネモード中にデータを保持するように前記メインメモリに電源を供給し、電源遮断中に前記メインメモリに電源を供給しない電源供給回路とを備え、前記制御部は、省エネモードへの移行時に前記メインメモリ上の予め定められた箇所または範囲に格納されたデータに基づく照合用データを得て前記不揮発性メモリに格納し、省エネモードからの復帰後、前記照合用データを得たときと同一箇所または同一範囲に格納されたデータに基づいて前記照合用データと同じデータが得られるか否かを判定し、同じデータが得られるときは前記メインメモリ上の制御プログラムを実行し、同じデータが得られないときは前記初期化処理を実行することを特徴とする制御装置を提供する。
【発明の効果】
【００１４】
この発明において、制御部は、省エネモードからの復帰後、前記照合用データを得たときと同一箇所または同一範囲に格納されたデータに基づいて前記照合用データと同じデータが得られるか否かを判定し、同じデータが得られるときは前記メインメモリ上の制御プログラムを実行し、同じデータが得られないときは前記初期化処理を実行するので、前記制御部に電源が供給されて起動したとき、起動が電源投入によるものか省エネモードからの復帰によるものかを確実に判定できる。
【００１５】
万一、メインメモリのデータが省エネモード中に失われたとしても、そのときは省エネモードからの復帰後、メインメモリから読み出したデータに基づいて前記照合用データと同じデータが得られないので初期化処理が行われ、失われた制御プログラムがメインメモリに転送される。
【図面の簡単な説明】
【００１６】
【図１】この発明の制御装置および画像形成装置の構成例を示すブロック図である。
【図２】この発明に係る電源供給回路の主要部分の構成を示す説明図である。
【図３】この発明に係る制御部が省エネモードに移行する際の処理を示すフローチャート図である。（第１の実施形態）
【図４】この発明に係る制御部が省エネモードから復帰する際の処理を示すフローチャートである。（第１の実施形態）
【図５】この発明に係る制御部が省エネモードに移行する際の処理を示すフローチャート図である。（第２の実施形態）
【図６】この発明に係る制御部が省エネモードから復帰する際の処理を示す第１のフローチャートである。（第２の実施形態）
【図７】この発明に係る制御部が省エネモードから復帰する際の処理を示す第２のフローチャートである。（第２の実施形態）
【発明を実施するための形態】
【００１７】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
【００１８】
（実施の形態１）
≪制御部および画像形成装置の構成≫
【００１９】
図１は、この発明の制御装置および画像形成装置の構成例を示すブロック図である。図１に示すように、制御装置１３は、ＳｏＣ１５、ＲＯＭ２５、メインメモリ２７、ペリフェラルインターフェイス回路２９を備える。電源供給回路５１は、それらに電源を供給する。
【００２０】
ＳｏＣ１５は、システムオンチップ（System on Chip）の略称であり、画像形成装置１１の制御用に設計された半導体である。ＳｏＣ１５は、中心となる制御部としてのＣＰＵ１７、ＣＰＵ１７がスタート時に実行すべき処理を含んだマイクロコード１９ａを格納するＳＲＡＭ１９、不揮発性メモリであるＥＥＰＲＯＭ２１を含む。ＲＯＭ２５は、マイクロコード２５ａおよび制御プログラム２５ｂを予め格納している。この実施形態において、メインメモリ２７にはＤＤＲ３メモリが用いられている。
【００２１】
制御装置１３への電源が遮断された状態で電源が投入されると、電源供給回路５１はＳｏＣ１５に電源を供給し、ＣＰＵ１７が処理を開始する。ＣＰＵ１７は、最初にＲＯＭ２５に予め格納されたマイクロコード２５ａを読み出してＳＲＡＭ１９に展開する。ＳＲＡＭ１９に展開されたマイクロコードをマイクロコード１９ａで示す。その後、ＣＰＵ１７は、マイクロコード１９ａの内容に従い処理を実行する。その処理には、メインメモリ２７の初期化処理が含まれる。初期化が終了し、メインメモリ２７が読み書き可能になってからＣＰＵ１７は、制御プログラム２５ｂをＲＯＭ２５からメインメモリ２７に転送する。メインメモリ２７に転送された制御プログラムを制御プログラム２７ｂで示す。その後、ＣＰＵ１７は制御プログラム２７ｂをフェッチして実行する。そして、ペリフェラルインターフェイス回路２９を介して接続されたＨＤＤ３１を起動し、さらに、入出力部３３を介して接続されるエンジン部４１の初期化処理を実行し、画像形成装置１１の動作を制御する。
【００２２】
ペリフェラルインターフェイス回路２９は、ＨＤＤ３１、入出力部３３および通信部３５を含む。入出力部３３は、画像形成装置１１の各部の動作を制御するための入出力インターフェイス回路である。通信部３５は、画像形成装置１１が外部の装置と通信するための通信インターフェイス回路である。図１のエンジン部４１は、画像形成装置１１を動作させるために装置内に配置されたスイッチ、センサ、モータやアクチュエータなどの入出力要素をまとめて表したものである。
【００２３】
ＥＥＰＲＯＭ２１は、少なくとも第１ステイタスデータ２１ａを格納する。メインメモリ２７は、制御プログラム２７ｂのほかに少なくとも第２ステイタスデータ２７ａを格納する。第１および第２ステイタスデータの詳細は後述するが、ＣＰＵ１７は、省エネモードに移行する直前に、これらのステイタスデータに省エネモードからの復帰を示す予め定められた値を格納する。その値は、通常の電源遮断状態から電源が投入された時にメインメモリ２７を読み出して得られる初期値と区別可能なように定められた値である。例えばメインメモリの電源が一旦遮断された後、電源を投入した後にその状態を読み出すと例えば各ビットが１になる傾向がある場合、初期値は全ビットが１の値である。その場合、省エネモードからの復帰を示す値は初期値と区別可能なように各ビットをゼロとするように定めればよい。電源投入後の状態が不定の場合、十分多いビット数の特定のビット列のパターンに定めるべきである。例えば、ステイタスデータを３２ビットのデータに定めれば、初期値が特定のビット列と偶然一致する確率は１／２32、即ち約４３億分の１であり、偶然の一致はほぼ無いに等しい。
≪電源供給回路の構成≫
【００２４】
図２は、図１の電源供給回路５１の主要部分の構成を示す説明図である。図２では、主要部分としてメインメモリ２７およびＳｏＣ１５へ電源を供給する部分の具体的な構成例を示している。ＲＯＭ２７、ペリフェラルインターフェイス回路２９はこの発明の特徴と関連が薄いのでそれらに電源を供給する部分は省略している。省略した部分の構成を簡単に説明しておくと、ＲＯＭ２５は、ＳｏＣ１５と同様、省エネモードに移行すると電源供給が遮断される。ペリフェラルインターフェイス回路２９は、原則的に省エネモードに移行すると電源供給が遮断される。しかし、省エネモードからの復帰のトリガを検出すべき部分については、省エネモード中も電源が供給される。例えば、省エネモードからの復帰の操作を行う操作キーの入力回路には、その操作キーの操作が受付け可能なように、省エネモード中も電源が供給される。ネットワークからのデータ受信をトリガに省エネモードから復帰させる場合、データ受信を検出できるように省エネモード中もそのネットワークインターフェイスの部分に電源が供給される。
【００２５】
図２に示す省エネ移行信号は、簡単に述べるとＣＰＵ１７により制御される信号である。ＣＰＵ１７は、省エネモードへの移行を行う場合、図示しない論理回路に省エネモードへ移行する旨の指示を発する。その指示を受けた論理回路は、エンジン部４１を含めて制御装置１３の各所の電源を順次遮断する。その一つとして省エネ移行信号が出力される。図２に示すように、省エネ移行信号は、トランジスタＴｒ１を介してＰｃｈのＦＥＴスイッチ（Ｔｒ２で示す）を駆動する。
【００２６】
省エネ移行前の動作中は、ＦＥＴスイッチＴｒ２がオンの状態であり、メインメモリ２７およびＳｏＣ１５には何れも１．５Ｖの直流電源ＶＤＤが供給される。省エネ移行信号はＨｉｇｈ状態である。
【００２７】
その状態から省エネモードに移行する場合、ＣＰＵ１７は、メインメモリ２７をセルフリフレッシュモードに移行させる。その後、前記論理回路に対して省エネモードに移行する指示を発する。その指示の結果、前記論理回路を経た省エネ移行信号がトランジスタＴｒ１を駆動する。トランジスタＴｒ１が駆動されるとＦＥＴスイッチＴｒ２がオフになり、ＳｏＣ１５への電源供給が遮断される。一方、メインメモリ２７へは続けて電源が供給される。
図２に示すＲ１〜Ｒ４は抵抗であり、Ｃ１〜Ｃ７はコンデンサである。
≪省エネモードへの移行時の処理≫
省エネモードへの移行時にＣＰＵ１７が実行する処理を説明する。
図３は、この発明に係る制御部が省エネモードに移行する際の処理を示すフローチャート図である。
【００２８】
図３で、ＣＰＵ１７は、省エネモードに移行する前に、メインメモリ２７の予め定められた記憶領域に省エネモードからの復帰状態を示す第２ステイタスデータを書き込む（ステップＳ１１）。ここで書き込む第２ステイタスデータは、その後省エネモードから復帰時にメインメモリ２７のセルフリフレッシュモードを解除してからＣＰＵ１７が参照する。そして、ＣＰＵ１７は、省エネモード中に第２ステイタスデータが保持されていたかどうかを判定する。もし第２ステイタスデータが省エネモードからの復帰状態を示す値を示していなければ、通常の起動の処理ではなく省エネモードからの復帰の処理を行うのである。
【００２９】
前記ステップＳ１１に続いて、ＣＰＵ１７は、メインメモリ２７をセルフリフレッシュモードに移行させる（ステップＳ１３）。これによって、メインメモリ２７は、ＳｏＣ１５からリフレッシュコマンドを受けなくても制御プログラムを含むデータを保持する。
【００３０】
さらにＣＰＵ１７は、ＥＥＰＲＯＭ２１の予め定められた記憶領域に省エネモードからの復帰を示す第１ステイタスデータを書き込む（ステップＳ１５）。ここで、省エネモードからの復帰を示す第１ステイタスデータの具体的な値は、同様の状態を示す第２ステイタスデータの値と同じに定めてもよいが、異なってもよい。それぞれが、省エネモードからの復帰か否かを判別できればそれで足りる。
【００３１】
省エネモードから復帰する際、メインメモリ２７が読出し可能になる前に省エネモードからの復帰か否かを判断しなければならない。そのために、メインメモリ２７の外部にある不揮発性メモリであるＥＥＰＲＯＭ２１に第１ステイタスデータを書き込んでおく。ＥＥＰＲＯＭ２１は不揮発性メモリであるので、第１ステイタスデータは省エネモード中も確実に保持される。
【００３２】
省エネモードから復帰したときにＣＰＵ１７は、第１ステイタスデータを参照し、電源投入による通常の起動か省エネモードからの復帰による起動かを判定する。詳細は省略するが、メインメモリ２７の初期化処理が、電源投入時の通常の起動とセルフリフレッシュモードを解除する省エネモードからの復帰とで異なるためである。メインメモリは、第１ステイタスデータが示す内容に応じて、メインメモリ２７の初期化処理を実行し読出し可能な状態にする。初期化処理の後に第２ステイタスデータが参照可能になる。
【００３３】
第１ステイタスデータのみを用いて省エネモードからの復帰か否かを判定し、それに応じて制御装置１３および画像形成装置１１の処理を行うことも可能である。しかし、この発明において、省エネモードからの復帰はメインメモリ２７に制御プログラム２７ｂが保持されていることを前提として、ＲＯＭ２５から制御プログラム２５ｂをダウンロードする処理を省略する。万一、制御プログラム２７ｂが保持されていなければ、ＣＰＵ１７が暴走する。メインメモリ２７に制御プログラム２７ｂが保持されていることを確認するために第２ステイタスデータを用いる。即ち、もし、第１ステイタスデータの内容が省エネモードからの復帰を示しているにもかかわらず、第２ステイタスデータが省エネモードからの復帰を示していなければ、ＣＰＵ１７は、メインメモリ２７が第２ステイタスデータを保持できていないと判断する。従って制御プログラム２７ｂも保持されていないと推測する。その場合は、電源投入後の通常の初期化処理と同様、ＲＯＭ２５から制御プログラム２５ｂをダウンロードして万全を期すのである。
【００３４】
省エネモードへの移行に話を戻す。前記ステップＳ１５の後、ＣＰＵ１７は、省エネモード移行の指示を出す。それに応答して電源供給回路５１は、ＳｏＣ１５などへの電源供給を遮断する（ステップＳ１７）。詳細は図２の説明で述べた。メインメモリ２７以外の部分の電源が遮断されて省エネモードへの移行が完了する。ＳｏＣ１５内のＣＰＵ１７の電源も遮断されるので、ＣＰＵ１７の処理は停止する。メインメモリ２７には続けて電源が供給され、省エネモード中はセルフリフレッシュモードでデータを保持する。
≪省エネモードから復帰時の処理≫
省エネモードからの復帰時にＣＰＵ１７が実行する処理を説明する。
【００３５】
省エネモードからの復帰の最初のトリガは、ハードウェアの回路で検出される。復帰のトリガに応答して電源供給回路５１はＳｏＣ１５をはじめとする各部への電源供給を再開する。ＳｏＣ１５に電源が供給されると、ＳｏＣ１５内のＣＰＵ１７が処理を開始する。ＣＰＵ１７からすれば、電源が供給されて処理を開始するのは、省エネモードからの復帰時も電源遮断状態からの通常の起動時も同様である。
図４は、この発明に係る制御部が省エネモードから復帰する際の処理を示すフローチャートである。
【００３６】
ＣＰＵ１７が処理を開始すると、最初にＲＯＭ２５に予め格納されたマイクロコード２５ａを読み出してＳＲＡＭ１９に展開する（ステップＳ２１）。その後、ＣＰＵ１７は、マイクロコード１９ａの内容に従い処理を実行する。
【００３７】
そして、ＣＰＵ１７は、ＥＥＰＲＯＭ２１の予め定められた記憶領域に格納された第１ステイタスデータを参照する（ステップＳ２３）。第１ステイタスデータが省エネモードからの復帰を示す値の場合は（ステップＳ２３のＹｅｓ）、メインメモリのセルフリフレッシュモードを解除する処理を実行する（ステップＳ２９）。その後、ＣＰＵ１７は、メインメモリの予め定められた記憶領域に格納された第２ステイタスデータを参照する（ステップＳ３１）。
【００３８】
第２ステイタスデータが省エネモードからの復帰を示す値の場合（ステップＳ３３のＹｅｓ）、ＣＰＵ１７は、まず、ＥＥＰＲＯＭ２１の第１ステイタスデータをクリアする（ステップＳ３９）。ＥＥＰＲＯＭ２１は不揮発性メモリである。よって、ここで第１ステイタスデータをクリアしないままでその後電源が遮断されると、省エネモードからの復帰を示す値が保持されてしまう。そうすると、その後電源が投入された時、ＣＰＵ１７が第１ステイタスデータを参照し、省エネモードからの復帰を示す値が保持されているために判断を誤ってしまう。なお、第１ステイタスデータをクリアクリアするとは、省エネモードからの復帰を示す値以外の値にすることをいう。
【００３９】
その後ＣＰＵ１７は、省エネモードからの復帰に係る起動処理を実行する（ステップＳ４１）。メインメモリ２７の制御プログラム２７ｂに従って、例えば、ＨＤＤ３１を起動し、さらに、入出力部３３を介して接続されるエンジン部４１の初期化処理を実行する。
【００４０】
一方、前述のステップＳ２５の判定で、第１ステイタスデータが省エネモードからの復帰でない場合（ステップＳ２５のＮｏ）、ＣＰＵ１７は、メインメモリ２７の電源投入時の通常の初期化処理を実行する（ステップＳ５１）。これにより、メインメモリ２７を読み書き可能な動作状態になる。
【００４１】
続いてＣＰＵ１７は、ＲＯＭ２５に格納された制御プログラム２５ｂをメインメモリ２７にダウンロードする（ステップＳ５３）。そして、ＥＥＰＲＯＭ２１の第１ステイタスデータをクリアする（ステップＳ５５）。その理由および処理は前述のステップＳ３９と同様である。
【００４２】
そしてＣＰＵ１７は、電源投入時の通常の起動処理を実行する（ステップＳ５７）。例えば、ＨＤＤ３１を起動し、さらに、入出力部３３を介して接続されるエンジン部４１の初期化処理を実行する。その一部はステップＳ４１と共通するが一部は異なる。エンジン部４１の初期化手順についても省エネモードからの復帰時は処理時間を短縮する工夫がなされている。その詳細については説明を省略する。
【００４３】
また、前述のステップＳ３３の判定で、第２ステイタスデータが省エネモードからの復帰を示す値でない場合（ステップＳ３３のＮｏ）、ルーチンは前述のステップＳ５３へ進む。そして、通常の初期化処理と同様に、制御プログラム２５ｂをメインメモリ２７にダウンロードする。第２ステイタスデータが第１ステイタスデータと異なるので、ＣＰＵ１７は、メインメモリ２７がデータを保持していないと判断して前記ステップＳ５３以下の処理を行うのである。
以上が、省エネモードからの復帰の処理である。
【００４４】
（実施の形態２）
【００４５】
実施の形態１では、ＥＥＰＲＯＭ２１上の第１ステイタスデータを信頼できるものと考えて、メインメモリ２７上の第２ステイタスデータがそれと一致しているかを調べた。そうすることで、メインメモリ２７に制御プログラム２７ｂが保持されているか否かを確認した。
【００４６】
しかし、第２ステイタスデータは制御プログラムと同様にメインメモリ２７上のデータであるが両者は別のデータである。この実施の形態では、第２ステイタスデータに加えて、メインメモリ２７上の予め定められた領域に格納されたデータにハッシュ関数を適用して誤り検出用のハッシュ値を得る。そして、得られたハッシュ値をＥＥＰＲＯＭ２１に書き込む。
【００４７】
これによって、メインメモリ２７の重要な記憶領域、例えば制御プログラム２７ｂの領域の一部又は全部にハッシュ関数を適用して誤り検出を行うことができる。
【００４８】
図５は、この実施形態において、制御部が省エネモードに移行する際の処理を示すフローチャート図である。図６および図７は、この実施形態において制御部が省エネモードから復帰する際の処理を示すフローチャートである。図５は省エネモードに移行する処理を示す点で図３に対応し、図６および図７は、省エネモードから復帰する処理を示す点で図４に対応している。そこで、対応する図において同様の処理には同様の符号を付している。以下、同様の処理については説明を省略し、差異の部分について処理の説明を行う。
【００４９】
図５に示す省エネモードへの移行の処理で、ＣＰＵ１７は、まずメインメモリ２７の予め定められた領域のデータに基づき、ハッシュ関数を用いてハッシュ値を計算する（ステップＳ０１）。ハッシュ関数は、例えば、CRC-16, CRC-32, MD-5, SHA-1, SHA-256など誤り検出や暗号化通信に広く用いられるものが適用可能であるが、特に限定されるものではない。また、ハッシュ以外にもチェックサムやパリティ、若しくは単純に数倍と分のデータチェックでもよい。それぞれ、回路規模や処理速度、チェック精度が異なるので、目的やシステムに応じて設計者が選択すればよい。
続いて、ＣＰＵ１７は、得られたハッシュ値をＥＥＰＲＯＭ２１の予め定められた領域に書き込む（ステップＳ０３）。
その後の処理は、図３と同様である。
【００５０】
図６で、ステップＳ２１〜Ｓ２５は、図４と同様である。第１ステイタスデータが省エネモードからの復帰を示す場合（ステップＳ２５のＹｅｓ）、ＣＰＵ１７は、ＥＥＰＲＯＭ２１の予め定められた記憶領域に格納されたハッシュ値を参照する（ステップＳ２７）。その後のステップＳ２９〜Ｓ３３の処理は図４と同様である。
【００５１】
第２ステイタスデータが省エネモードからの復帰を示す場合（ステップＳ３３のＹｅｓ）、ＣＰＵ１７は、メインメモリ２７の予め定められた領域のデータからハッシュ値を計算する（ステップＳ３５）。そして、得られたハッシュ値が前記ステップＳ２７で読み出したＥＥＰＲＯＭ２１のハッシュ値と一致するか否かを調べる（図７のステップＳ３７）。
【００５２】
両方のハッシュ値が一致する場合（ステップＳ３７のＹｅｓ）、ルーチンはステップＳ３９へ進み、省エネモードからの復帰に係る起動処理を実行する。一方、ハッシュ値が一致しない場合（ステップＳ３７のＮｏ）、ルーチンはステップＳ５３へ進み、通常の初期化処理と同様に、制御プログラム２５ｂをメインメモリ２７にダウンロードする。
これは、両方のハッシュ値と異なるので、メインメモリ２７がデータを保持していないと判断したためである。
【００５３】
（その他の実施形態）
【００５４】
実施の形態２では、省エネモードへの移行時に、第２ステイタスデータに加えてハッシュ値をＥＥＰＲＯＭ２１に書き込む。異なる態様として、第２ステイタスデータに代えてあるいは第２ステイタスデータと共にハッシュ値あるいはチェックサムやパリティなどをＥＥＰＲＯＭ２１に書き込むようにしてもよい。省エネモードからの復帰か否かは、ＥＥＰＲＯＭ２１の第１ステイタスデータのみで判断できるからである（実施の形態３）。この態様では、第２ステイタスデータの処理に係る図５のステップＳ１１、図６のステップＳ３１、Ｓ３３は省略される。ステップＳ２９の次に、ルーチンはステップＳ３５へ進む。
【００５５】
また、ハッシュ値の計算は、ＣＰＵ１７が計算するのではなく、例えばＳｏＣ１５が通信用にハッシュ値を計算する回路を備えている場合に、その回路を通信だけでなくこの発明に係るハッシュ値の計算に適用してもよい。（実施の形態４）
【００５６】
以上に述べたように、
（ｉ）この発明による制御装置は、制御プログラムを格納するプログラムメモリと、省エネモード中および電源遮断中にデータを保持する不揮発性メモリと、揮発性メモリであるメインメモリと、電源投入後に前記プログラムメモリから前記メインメモリへ制御プログラムを転送する初期化処理の後、前記メインメモリ上の制御プログラムを実行する制御部と、省エネモード中にデータを保持するように前記メインメモリに電源を供給し、電源遮断中に前記メインメモリに電源を供給しない電源供給回路とを備え、前記制御部は、省エネモードへの移行時に前記メインメモリ上の予め定められた箇所または範囲に格納されたデータに基づく照合用データを得て前記不揮発性メモリに格納し、省エネモードからの復帰後、前記照合用データを得たときと同一箇所または同一範囲に格納されたデータに基づいて前記照合用データと同じデータが得られるか否かを判定し、同じデータが得られるときは前記メインメモリ上の制御プログラムを実行し、同じデータが得られないときは前記初期化処理を実行することを特徴とする。
この発明において、プログラムメモリとしては、ＲＯＭやフラッシュメモリが適用可能である。前述の実施形態におけるＲＯＭは、この発明のプログラムメモリに相当する。
また、ステイタスデータは、省エネモードに移行する前に不揮発性メモリおよびメインメモリにそれぞれ書き込まれ、ＣＰＵに電源が供給されて処理を開始した際に、電源投入による起動か、省エネモードからの復帰による起動かを判定するものである。省エネモードを示す値は予め定めておく。その値は特に限定されないが、通常の電源遮断時と区別可能な値である。前述の実施形態における第１および第２ステイタスデータは、この発明のステイタスデータに相当する。
【００５７】
前記不揮発性メモリとしては、ＥＥＰＲＯＭ、フラッシュメモリ、バッテリーバックアップされたＳＲＡＭ等が適用可能である。前述の実施形態におけるＥＥＰＲＯＭは、この発明の不揮発性メモリに相当する。
この発明の制御部は制御プログラムを実行する。前述の実施形態におけるＣＰＵは、この発明の制御部に相当する。
さらに、この発明の好ましい態様について説明する。
【００５８】
（ii）前記制御部は、前記照合用データとして、省エネモードを示す予め定められた値のステイタスデータを省エネモードへの移行時に前記メインメモリ上の予め定められた箇所および前記不揮発性メモリに格納し、省エネモードからの復帰時に前記不揮発性メモリおよび前記メインメモリから前記ステイタスデータをそれぞれ読み出し、読み出したステイタスデータが何れも省エネモードを示すときは前記メインメモリ上の制御プログラムを実行し、何れか一方または両方のステイタスデータが省エネモードを示さないときは前記初期化処理を実行するものであってもよい。
【００５９】
このようにすれば、ステイタスデータを用いてメインメモリが省エネモード中にデータを保持しているか否かを判定することができる。
【００６０】
（iii）前記制御部は、前記照合用データとして、前記メインメモリ上の予め定められた箇所または範囲に格納されたデータに予め定められた処理を適用して誤り検出用の照合データを得て前記不揮発性メモリに格納し、省エネモードからの復帰時に前記箇所または前記範囲のデータに前記処理を適用して得られるデータを前記不揮発性メモリに格納された照合データと照合し、両者が一致するときは前記メインメモリ上の制御プログラムを実行し、両者が一致しないときは前記初期化処理を実行してもよい。
このようにすれば、誤り検出用の照合データを用いてメインメモリ上の予め定められた箇所または範囲について、省エネモード中にデータが保持されているか否かを判定することができる。この態様は前述の実施の形態３に相当する。
【００６１】
（iv）前記照合データは、予め定められたハッシュ関数により得られるハッシュ値であってもよい。
【００６２】
このようにすれば、例えば誤り検出や誤り訂正に広く用いられているハッシュ関数を用いてメインメモリが、省エネモード中にデータを保持しているか否かを確実に判定することができる。
【００６３】
（ｖ）前記ハッシュ値は、暗号通信用の暗号化／復号化回路を用いて算出されてもよい。
このようにすれば、暗号通信用の暗号化／復号化に用意された回路を用いてＣＰＵに処理負担をかけることなくハッシュ値を得ることができる。
【００６４】
（vi）前記メインメモリは、セルフリフレッシュモードを有し、前記制御部は、省エネモードへの移行時に前記メインメモリをセルフリフレッシュモードに設定し、省エネモードからの復帰時に前記メインメモリのセルフリフレッシュモードを解除するようにしてもよい。
【００６５】
このようにすれば、省エネモード中は前記メインメモリをセルフリフレッシュモードに設定しかつ前記メインメモリに電源を供給することにより、メインメモリにデータを保持させることができる。
この発明の好ましい態様には、上述した複数の態様のうちの何れかを組み合わせたものも含まれる。
【００６６】
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【００６７】
１１：画像形成装置、    １３：制御装置、    １５：ＳｏＣ、    １７：ＣＰＵ、    １９：ＳＲＡＭ、    １９ａ、２５ａ：マイクロコード、    ２１：ＥＥＰＲＯＭ、    ２１ａ：第１ステイタスデータ、    ２５：ＲＯＭ、    ２５ｂ、２７ｂ：制御プログラム、    ２７：メインメモリ、    ２７ａ：第２ステイタスデータ、    ２９：ペリフェラルインターフェイス回路、    ３１：ＨＤＤ、    ３３：入出力部、    ３５：通信部、    ４１：エンジン部、    ５１：電源供給回路、    Ｔｒ１：トランジスタ、    Ｔｒ２：ＦＥＴスイッチ
【図１】
2015035078.tif 000003
【図２】
2015035078.tif 000004
【図３】
2015035078.tif 000005
【図４】
2015035078.tif 000006
【図５】
2015035078.tif 000007
【図６】
2015035078.tif 000008
【図７】
2015035078.tif 000009