(57)【要約】【課題】  エラー発生した状態で電力が供給されなくなった後に効率的に起動すること。【解決手段】  ＭＦＰが備えるメインＣＰＵ２０１は、ハードウェア資源で発生したエラーを検出し、停止トリガーが発生することに応じて、ＲＡＭ２１３に記憶されたデータを含むスナップショットをフラッシュメモリー２１５に記憶し、エラーが検出されている場合にはスナップショットの生成を禁止し、電力の供給を受けていない状態から電力の供給を受けることに応じて、フラッシュメモリー２１５にスナップショットが記憶されている場合はスナップショットに含まれるデータをＲＡＭ２１３に記憶し、フラッシュメモリー２１５にスナップショットが記憶されていない場合は、リセットしてプログラムを実行可能な状態にするための初期化処理を実行する。【選択図】        図４
2018106497.tif 000002
【特許請求の範囲】
【請求項１】
電力を供給する電源手段と、
プログラムを実行するメイン制御手段と、
前記メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、
前記メイン制御手段がアクセス可能な不揮発性の第２の記憶手段と、
ハードウェア資源を制御して画像を形成するハードウェア資源制御手段と、
前記ハードウェア資源で発生したエラーを検出するエラー検出手段と、
前記電源手段による電力の供給を停止させる停止トリガーが発生することに応じて、前記第１の記憶手段に記憶されたデータを含むスナップショットを前記第２の記憶手段に記憶するスナップショット生成手段と、
前記エラー検出手段によりエラーが検出されている場合には前記スナップショットの生成を禁止する禁止手段と、
前記電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、前記第２の記憶手段に前記スナップショットが記憶されている場合は前記第２の記憶手段に記憶された前記スナップショットを前記第２の記憶手段から読出し、前記スナップショットに含まれるデータを前記第１の記憶手段に記憶する状態復帰手段と、
前記電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、前記第２の記憶手段に前記スナップショットが記憶されていない場合は、前記メイン制御手段をリセットして前記メイン制御手段に前記プログラムを実行可能な状態にするための初期化処理を実行させる起動手段と、を含む、画像処理装置。
【請求項２】
前記エラー検出手段により検出されるエラーが第１の種類のエラーの場合は前記禁止手段による禁止を制限する制限手段を、さらに備えた請求項１に記載の画像処理装置。
【請求項３】
前記禁止手段は、前記エラー検出手段により第２の種類のエラーが検出される場合、前記スナップショット生成手段によるスナップショットの生成を禁止する、請求項１に記載の画像処理装置。
【請求項４】
前記禁止手段は、前記エラー検出手段により検出されるエラーが前記第２の種類のエラーと異なる第１の種類のエラーの場合は前記スナップショットの生成を禁止しない、請求項３に記載の画像処理装置。
【請求項５】
前記第１の種類のエラーは、前記ハードウェア資源制御手段が継続して前記ハードウェア資源を制御可能なエラーである、請求項２または４に記載の画像処理装置。
【請求項６】
前記ハードウェア資源は、ユーザーにより装着され、トナーを供給するトナーボトルを含み、
前記第１の種類のエラーは、前記トナーボトルに収納されたトナーの残量に基づいたエラーを含む、請求項５に記載の画像処理装置。
【請求項７】
前記ハードウェア資源は、用紙を収納する用紙カセットを含み、
前記第１の種類のエラーは、前記用紙カセットに収納された用紙の残量に基づいたエラーを含む、請求項５または６に記載の画像処理装置。
【請求項８】
前記ハードウェア資源は、用紙を搬送する搬送手段を含み、
前記第１の種類のエラーは、前記用紙搬送手段中に用紙の詰まるエラーを含む、請求項５〜７のいずれかに記載の画像処理装置。
【請求項９】
前記ハードウェア資源の使用履歴を管理し、前記ハードウェア資源の交換時期を検出する交換時期検出手段を、さらに備え、
前記第１の種類のエラーは、前記交換時期検出手段により前記ハードウェア資源の交換時期が検出されるエラーを含む、請求項５〜８のいずれかに記載の画像処理装置。
【請求項１０】
前記第２の種類のエラーは、前記ハードウェア資源制御手段が継続して前記ハードウェア資源を制御不可能なエラーである、請求項３または４のいずれかに記載の画像処理装置。
【請求項１１】
前記ハードウェア資源は、像担持体にトナーを供給することにより前記像担持体にトナー像を形成する現像手段を、含み、
前記第２の種類のエラーは、前記現像手段に蓄積されたトナーの濃度に基づいたエラーを含む、請求項１０に記載の画像処理装置。
【請求項１２】
前記ハードウェア資源は、データを不揮発性に記憶する第３の記憶手段を、含み、
前記第３の記憶手段へのアクセスを制御するアクセス制御手段を、さらに備え、
前記第２の種類のエラーは、前記アクセス制御手段によるエラーを含む、請求項１０または１１に記載の画像処理装置。
【請求項１３】
前記ハードウェア資源は、前記ハードウェア資源制御手段による制御対象から除外可能な切断可能装置を含み、
前記第２の種類のエラーは、前記切断可能装置で発生するエラーを含む、請求項１０〜１２のいずれかに記載の画像処理装置。
【請求項１４】
前記スナップショットは、前記メイン制御手段のレジスタ値を含み、
前記第２の種類のエラーは、前記電源手段から供給される電力からノイズを検出するエラーを含む、請求項１０〜１３のいずれかに記載の画像処理装置。
【請求項１５】
電力を供給する電源手段と、
プログラムを実行するメイン制御手段と、
前記メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、
前記メイン制御手段がアクセス可能な不揮発性の第２の記憶手段と、
ハードウェア資源を制御して画像を形成するハードウェア資源制御手段と、を備えた画像処理装置で実行される起動方法であって、
前記ハードウェア資源で発生したエラーを検出するエラー検出ステップと、
前記電源手段による電力の供給を停止させる停止トリガーが発生することに応じて、前記第１の記憶手段に記憶されたデータを含むスナップショットを前記第２の記憶手段に記憶するスナップショット生成ステップと、
前記エラー検出手段によりエラーが検出されている場合には前記スナップショットの生成を禁止する禁止ステップと、
前記電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、前記第２の記憶手段に前記スナップショットが記憶されている場合は前記第２の記憶手段に記憶された前記スナップショットを前記第２の記憶手段から読出し、前記スナップショットに含まれるデータを前記第１の記憶手段に記憶する状態復帰ステップと、
前記電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、前記第２の記憶手段に前記スナップショットが記憶されていない場合は、前記メイン制御手段をリセットして前記メイン制御手段に前記プログラムを実行可能な状態にするための初期化処理を実行させる起動ステップと、を含む、起動方法。
【請求項１６】
電力を供給する電源手段と、
プログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、
前記メイン制御手段がアクセス可能な不揮発性の第２の記憶手段と、
ハードウェア資源を制御して画像を形成するハードウェア資源制御手段と、を備えた画像処理装置を制御するコンピューターで実行される起動プログラムであって、
前記ハードウェア資源で発生したエラーを検出するエラー検出ステップと、
前記電源手段による電力の供給を停止させる停止トリガーが発生することに応じて、前記第１の記憶手段に記憶されたデータを含むスナップショットを前記第２の記憶手段に記憶するスナップショット生成ステップと、
前記エラー検出手段によりエラーが検出されている場合には前記スナップショットの生成を禁止する禁止ステップと、
前記電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、前記第２の記憶手段に前記スナップショットが記憶されている場合は前記第２の記憶手段に記憶された前記スナップショットを前記第２の記憶手段から読出し、前記スナップショットに含まれるデータを前記第１の記憶手段に記憶する状態復帰ステップと、
前記電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、前記第２の記憶手段に前記スナップショットが記憶されていない場合は、前記メイン制御手段をリセットして前記メイン制御手段に前記プログラムを実行可能な状態にするための初期化処理を実行させる起動ステップと、を前記コンピューターに実行させる起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理装置に関し、特に、揮発性メモリーに記憶されているデータをスナップショットとして不揮発性メモリーに記憶しておき、再起動時にスナップショットを揮発性メモリーに転送して実行する画像処理装置、その画像処理装置の起動方法およびその起動方法を画像処理装置を制御するコンピューターに実行させる起動プログラムに関する。
【背景技術】
【０００２】
近年、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）で代表される画像処理装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備え、ＣＰＵがＲＡＭにプログラムをロードして実行する。ＭＦＰに電源が供給されて駆動可能となるまでの時間を短くするために、電源スイッチがＯＦＦにされた後に、ＣＰＵは、その駆動を停止する前に、ＲＡＭに記憶されたデータをスナップショットとしてフラッシュメモリー等の不揮発性メモリーに記憶し、次に電源スイッチがＯＮにされる場合に、フラッシュメモリーに記憶されたスナップショットをＲＡＭに展開する技術が知られている。ＣＰＵがプログラムをＲＡＭにロードする時間よりも短い時間で、ＣＰＵが処理を実行可能な状態にすることができる。例えば、特開２０１３−２４２６８０号公報には、画像形成装置であって、ユーザーによりオン操作及びオフ操作が可能な電源スイッチと、該電源スイッチがオフ操作された場合に前記画像形成装置の状態を記憶手段に保存して、前記画像形成装置を休止状態に移行させる移行手段と、前記休止状態で、前記電源スイッチがオン操作された場合に前記画像形成装置を前記休止状態となる前の状態に復帰させる復帰手段と、前記電源スイッチがオフ操作された場合に、その時点で実行中及び待機中のジョブの実行の終了処理を強制的に実行するジョブ終了手段と、前記終了処理によるジョブの終了が完了した後に、前記画像形成装置を前記休止状態に移行させるように制御する制御手段と、を有することを特徴とする画像形成装置が記載されている。
【０００３】
一方、ＭＦＰは、電源スイッチがＯＦＦにされた段階でエラーが発生している場合があり、特開２０１３−２４２６８０号公報における画像形成装置では、エラーが発生した状態で電源スイッチがＯＦＦになると、エラーが発生した状態で休止状態になり、その後に復帰するとエラーが発生した状態に復帰する。しかしながら、エラーによっては、初期化処理を実行することにより解消されるエラーが存在するため、エラーが発生している場合に休止状態にすると、画像形成が可能な状態で復帰することができない場合がある。また、エラーが発生している場合に一律に休止状態にしないようにすると、起動するまでの時間が長くなるといった問題がある。
【特許文献１】特開２０１３−２４２６８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、エラー発生した状態で電力が供給されなくなった後に効率的に起動することが可能な情報処理装置を提供することである。
【０００５】
この発明の他の目的は、エラー発生した状態で電力が供給されなくなった後に効率的に起動することが可能な起動方法を提供することである。
【０００６】
この発明のさらに他の目的は、エラー発生した状態で電力が供給されなくなった後に効率的に起動することが可能な起動プログラムを提供することである。
【課題を解決するための手段】
【０００７】
上述した目的を達成するためにこの発明のある局面によれば、画像処理装置は、電力を供給する電源手段と、プログラムを実行するメイン制御手段と、メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、メイン制御手段がアクセス可能な不揮発性の第２の記憶手段と、ハードウェア資源を制御して画像を形成するハードウェア資源制御手段と、ハードウェア資源で発生したエラーを検出するエラー検出手段と、電源手段による電力の供給を停止させる停止トリガーが発生することに応じて、第１の記憶手段に記憶されたデータを含むスナップショットを第２の記憶手段に記憶するスナップショット生成手段と、エラー検出手段によりエラーが検出されている場合にはスナップショットの生成を禁止する禁止手段と、電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されている場合は第２の記憶手段に記憶されたスナップショットを第２の記憶手段から読出し、スナップショットに含まれるデータを第１の記憶手段に記憶する状態復帰手段と、電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されていない場合は、メイン制御手段をリセットしてメイン制御手段にプログラムを実行可能な状態にするための初期化処理を実行させる起動手段と、を含む。
【０００８】
この局面に従えば、停止トリガーが発生することに応じて、スナップショットが第２の記憶手段に記憶されるが、ハードウェア資源で発生したエラーが検出されている場合は、スナップショットの生成が禁止され、電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されている場合はスナップショットに含まれるデータが第１の記憶手段に記憶され、第２の記憶手段にスナップショットが記憶されていない場合は、メイン制御手段に初期化処理を実行させる。このため、エラーが発生していない場合はスナップショットが記憶されるので、次に電力が供給さる場合の起動時間を短くすることができ、エラーが発生している場合は初期化処理が実行されるので、次に電力が供給される場合にエラーに対応した状態で起動する。その結果、エラー発生した状態で電力が供給されなくなった後に効率的に起動することが可能な情報処理装置を提供することができる。
【０００９】
好ましくは、エラー検出手段により検出されるエラーが第１の種類のエラーの場合は禁止手段による禁止を制限する制限手段を、さらに備える。
【００１０】
この局面に従えば、第１の種類のエラーが発生する場合にスナップショット生成の禁止が制限されるので、スナップショットが生成される。このため、第１の種類のエラーが発生した状態で電力が供給されなくなった後の起動時間を短くすることができる。
【００１１】
好ましくは、禁止手段は、エラー検出手段により第２の種類のエラーが検出される場合、スナップショット生成手段によるスナップショットの生成を禁止する。
【００１２】
この局面に従えば、第２の種類のエラーが発生する場合にスナップショットの生成が禁止されるので、スナップショットが生成されない。このため、第２の種類のエラーが発生した状態で電力が供給されなくなった後の起動時に初期化処理を実行することにより第２の種類のエラーに対応した状態で起動できる場合がある。
【００１３】
好ましくは、禁止手段は、エラー検出手段により検出されるエラーが第２の種類のエラーと異なる第１の種類のエラーの場合はスナップショットの生成を禁止しない。
【００１４】
この局面に従えば、第１の種類のエラーが発生する場合にスナップショットを生成しないので、第１の種類のエラーが発生した状態で電力が供給されなくなった後の起動時間を短くすることができる。
【００１５】
好ましくは、第１の種類のエラーは、ハードウェア資源制御手段が継続してハードウェア資源を制御可能なエラーである。
【００１６】
この局面に従えば、第１の種類のエラーが発生した状態で電力が供給されなくなった後に起動してもハードウェア資源を制御可能なので、ユーザーは、継続して操作することができる。
【００１７】
好ましくは、ハードウェア資源は、ユーザーにより装着され、トナーを供給するトナーボトルを含み、第１の種類のエラーは、トナーボトルに収納されたトナーの残量に基づいたエラーを含む。
【００１８】
好ましくは、ハードウェア資源は、用紙を収納する用紙カセットを含み、第１の種類のエラーは、用紙カセットに収納された用紙の残量に基づいたエラーを含む。
【００１９】
好ましくは、ハードウェア資源は、用紙を搬送する搬送手段を含み、第１の種類のエラーは、用紙搬送手段中に用紙の詰まるエラーを含む。
【００２０】
好ましくは、ハードウェア資源の使用履歴を管理し、ハードウェア資源の交換時期を検出する交換時期検出手段を、さらに備え、第１の種類のエラーは、交換時期検出手段によりハードウェア資源の交換時期が検出されるエラーを含む。
【００２１】
好ましくは、第２の種類のエラーは、ハードウェア資源制御手段が継続してハードウェア資源を制御不可能なエラーである。
【００２２】
この局面に従えば、第２の種類のエラーが発生した状態で電力が供給されなくなった後に起動する場合に、初期化処理を実行することによって第２の種類のエラーが発生したハードウェア資源を切り離して起動することができ、ユーザーは、継続して操作することができる。
【００２３】
好ましくは、ハードウェア資源は、像担持体にトナーを供給することにより像担持体にトナー像を形成する現像手段を、含み、第２の種類のエラーは、現像手段に蓄積されたトナーの濃度に基づいたエラーを含む。
【００２４】
好ましくは、ハードウェア資源は、データを不揮発性に記憶する第３の記憶手段を、含み、第３の記憶手段へのアクセスを制御するアクセス制御手段を、さらに備え、第２の種類のエラーは、アクセス制御手段によるエラーを含む。
【００２５】
好ましくは、ハードウェア資源は、ハードウェア資源制御手段による制御対象から除外可能な切断可能装置を含み、第２の種類のエラーは、切断可能装置で発生するエラーを含む。
【００２６】
好ましくは、スナップショットは、メイン制御手段のレジスタ値を含み、第２の種類のエラーは、電源手段から供給される電力からノイズを検出するエラーを含む。
【００２７】
この発明の他の局面に従えば、起動方法は、電力を供給する電源手段と、プログラムを実行するメイン制御手段と、メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、メイン制御手段がアクセス可能な不揮発性の第２の記憶手段と、ハードウェア資源を制御して画像を形成するハードウェア資源制御手段と、を備えた画像処理装置で実行される起動方法であって、ハードウェア資源で発生したエラーを検出するエラー検出ステップと、電源手段による電力の供給を停止させる停止トリガーが発生することに応じて、第１の記憶手段に記憶されたデータを含むスナップショットを第２の記憶手段に記憶するスナップショット生成ステップと、エラー検出手段によりエラーが検出されている場合にはスナップショットの生成を禁止する禁止ステップと、電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されている場合は第２の記憶手段に記憶されたスナップショットを第２の記憶手段から読出し、スナップショットに含まれるデータを第１の記憶手段に記憶する状態復帰ステップと、電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されていない場合は、メイン制御手段をリセットしてメイン制御手段にプログラムを実行可能な状態にするための初期化処理を実行させる起動ステップと、を含む。
【００２８】
電力を供給する電源手段と、プログラムを実行するメイン制御手段と、メイン制御手段の起動を制御するサブ制御手段と、メイン制御手段がプログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、メイン制御手段がアクセス可能な不揮発性の第２の記憶手段と、ハードウェア資源を制御して画像を形成するハードウェア資源制御手段と、を備えた画像処理装置で実行される起動方法であって、メイン制御手段およびサブ制御手段のいずれか一方に、ハードウェア資源で発生したエラーを検出するエラー検出ステップを、実行させ、メイン制御手段およびサブ制御手段のいずれか一方に、さらに、電源手段による電力の供給を停止させる停止トリガーが発生することに応じて、第１の記憶手段に記憶されたデータを含むスナップショットを第２の記憶手段に記憶するスナップショット生成ステップと、エラー検出手段によりエラーが検出されている場合にはスナップショットの生成を禁止する禁止ステップと、を実行させ、サブ制御手段に、電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されている場合は第２の記憶手段に記憶されたスナップショットを第２の記憶手段から読出し、スナップショットに含まれるデータを第１の記憶手段に記憶する状態復帰ステップと、電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されていない場合は、メイン制御手段をリセットしてメイン制御手段にプログラムを実行可能な状態にするための初期化処理を実行させる起動ステップと、を実行させる。
【００２９】
この局面に従えば、エラー発生した状態で電力が供給されなくなった後に効率的に起動することが可能な起動方法を提供することができる。
【００３０】
この発明のさらに他の局面に従えば、起動プログラムは、電力を供給する電源手段と、プログラムを実行するためにロードした実行プログラムを記憶する揮発性の第１の記憶手段と、メイン制御手段がアクセス可能な不揮発性の第２の記憶手段と、ハードウェア資源を制御して画像を形成するハードウェア資源制御手段と、を備えた画像処理装置を制御するコンピューターで実行される起動プログラムであって、ハードウェア資源で発生したエラーを検出するエラー検出ステップと、電源手段による電力の供給を停止させる停止トリガーが発生することに応じて、第１の記憶手段に記憶されたデータを含むスナップショットを第２の記憶手段に記憶するスナップショット生成ステップと、エラー検出手段によりエラーが検出されている場合にはスナップショットの生成を禁止する禁止ステップと、電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されている場合は第２の記憶手段に記憶されたスナップショットを第２の記憶手段から読出し、スナップショットに含まれるデータを第１の記憶手段に記憶する状態復帰ステップと、電源手段から電力の供給を受けていない状態から電力の供給を受けることに応じて、第２の記憶手段にスナップショットが記憶されていない場合は、メイン制御手段をリセットしてメイン制御手段にプログラムを実行可能な状態にするための初期化処理を実行させる起動ステップと、をコンピューターに実行させる。
【００３１】
この局面に従えば、エラー発生した状態で電力が供給されなくなった後に効率的に起動することが可能な起動プログラムを提供することができる。
【図面の簡単な説明】
【００３２】
【図１】本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。
【図２】ＭＦＰの内部構成を示す模式的断面図である。
【図３】ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図４】第１の実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。
【図５】第１の実施の形態におけるＭＦＰが備えるメインＣＰＵが有する機能の一例を示すブロック図である。
【図６】第１の実施の形態における第１起動制御処理の流れの一例を示すフローチャートである。
【図７】第１の実施の形態における第２起動制御処理の流れの一例を示すフローチャートである。
【図８】第１の変形例におけるメイン基板の詳細な構成の一例を示すブロック図である。
【図９】第１の変形例におけるＭＦＰが備えるメインＣＰＵが有する機能の一例を示すブロック図である。
【図１０】第１の変形例におけるＭＦＰが備えるサブＣＰＵが有する機能の一例を示すブロック図である。
【図１１】第２の実施の形態におけるＭＦＰが備えるメインＣＰＵが有する機能の一例を示すブロック図である。
【図１２】第２の実施の形態における第２起動制御処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３３】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３４】
＜第１の実施の形態＞
図１は、本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。図２は、ＭＦＰの内部構成を示す模式的断面図である。図１および図２を参照して、ＭＦＰ１００は、画像処理装置の一例であり、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する静止画像を用紙等に形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１１５と、を含む。
【００３５】
自動原稿搬送装置１２０は、原稿台に載置された１以上の原稿をさばいて、１枚ずつ原稿読取部１３０に搬送する。原稿読取部１３０は、自動原稿搬送装置１２０により原稿ガラス１１上にセットされた原稿の画像を、その下方を移動するスライダ１２に取付けられた露光ランプ１３で露光する。原稿からの反射光は、ミラー１４と２枚の反射ミラー１５，１５Ａによりレンズ１６に導かれ、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）センサー１８に結像する。露光ランプ１３とミラー１４とは、スライダ１２に取付けられており、スライダ１２は、スキャナモータ１７により、図中に示す矢印方向（副走査方向）へ複写倍率に応じた速度Ｖで移動する。これにより、原稿ガラス１１上にセットされた原稿を全面にわたって走査することができる。また、露光ランプ１３とミラー１４の移動に伴い、２枚の反射ミラー１５，１５Ａは、速度Ｖ／２で図中矢印方向へ移動する。これにより、露光ランプ１３で原稿に照射された光が、原稿で反射してからＣＣＤセンサー１８に結像するまでの光路長が常に一定となる。
【００３６】
ＣＣＤセンサー１８に結像した反射光は、ＣＣＤセンサー１８内で電気信号としての画像データに変換され、図示しないメイン回路に送られる。メイン回路では、受取ったアナログの画像データにＡ／Ｄ変換処理、デジタル画像処理等を行なった後、画像形成部１４０に出力する。メイン回路は、画像データを、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の印字用データに変換し、画像形成部１４０へ出力する。
【００３７】
画像形成部１４０は、現像器２４Ｙ，２４Ｍ，２４Ｃ，２４Ｋと、これらに対応する着脱自在なトナーボトル４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋとを有する。トナーボトル４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋは、イエロー、マゼンタ、シアンおよびブラックのトナーをそれぞれ収納する。ここで、“Ｙ”、“Ｍ”、“Ｃ”および“Ｋ”は、それぞれイエロー、マゼンタ、シアンおよびブラックを表す。トナーボトル４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋ内のトナーは、サブホッパー４３Ｙ，４３Ｍ，４３Ｃ，４３Ｋを介して、現像器２４Ｙ，２４Ｍ，２４Ｃ，２４Ｋにそれぞれ供給される。例えば、トナーボトル４１Ｙに対応するサブホッパー４３Ｙは、トナーボトル４１Ｙから供給されるトナーを一時的に蓄積し、トナーを現像器２４Ｙに供給する。トナーボトル４１Ｙからサブホッパー４３Ｙへのトナーの供給は、サブホッパー４３Ｙに蓄積されるトナー量に基づいてフィードバック制御される。具体的には、サブホッパー４３Ｙには、サブホッパー４３Ｙに蓄積されたトナー量を検出するためのトナー量センサー４５Ｙが装着されており、トナー量センサー４５Ｙにより検出されたトナー量がしきい値ＴＡ１以下になると、トナーボトル４１Ｙを回転させ、トナーボトル４１Ｙからサブホッパー４３Ｙにトナーが供給される。トナー量センサー４５Ｙにより検出されるトナー量が、しきい値ＴＡ１より小さいしきい値ＴＡ２以下になる場合、トナーボトル４１Ｙが空になったと判断できる。この場合には、後述するメインＣＰＵ２０１によってトナーエンプティエラーとして検出される。
【００３８】
画像形成部１４０は、イエロー、マゼンタ、シアンおよびブラックそれぞれの画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋを備える。画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋの少なくとも１つが駆動されることにより、画像が形成される。画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋのすべてが駆動されると、フルカラーの画像を形成する。画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋには、イエロー、マゼンタ、シアンおよびブラックの印字用データがそれぞれ入力される。画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋは、取扱うトナーの色彩が異なるのみなので、ここでは、イエローの画像を形成するための画像形成ユニット２０Ｙについて説明する。
【００３９】
画像形成ユニット２０Ｙは、イエローの印字用データが入力される露光ヘッド２１Ｙと、感光体ドラム（像担持体）２３Ｙと、帯電チャージャ２２Ｙと、現像器２４Ｙと、転写チャージャ２５Ｙと、トナー濃度センサー２７Ｙと、を備える。露光ヘッド２１Ｙは、受取った印字用データ（電気信号）に応じてレーザ光を発光する。発光されたレーザ光は露光ヘッド２１Ｙが備えるポリゴンミラーにより１次元走査され、感光体ドラム２３Ｙを露光する。感光体ドラムを１次元走査する方向は、主走査方向である。
【００４０】
感光体ドラム２３Ｙは、帯電チャージャ２２Ｙによって帯電された後、露光ヘッド２１Ｙが発光するレーザ光が照射される。これにより、感光体ドラム２３Ｙに静電潜像が形成される。続いて、現像器２４Ｙにより、静電潜像上にトナーが載せられてトナー像が形成される。感光体ドラム２３Ｙ上に形成されたトナー像は、中間転写ベルト３０上に、転写チャージャ２５Ｙにより転写される。現像器２４Ｙにはサブホッパー４３Ｙからトナーが供給される。サブホッパー４３Ｙから現像器２４Ｙへのトナーの供給は、現像器２４Ｙ内のトナー濃度に基づいてフィードバック制御される。具体的には、現像器２４Ｙは、２成分トナーを収納しており、トナー濃度センサー２７Ｙにより現像器２４Ｙ内のトナー濃度が検出される。トナー濃度センサー２７Ｙにより検出されるトナー濃度がしきい値ＴＢ１以下になると、サブホッパー４３Ｙを駆動させて、サブホッパー４３Ｙから現像器２４Ｙにトナーを供給させる。トナー濃度センサー２７Ｙにより検出されるトナー濃度が、しきい値ＴＢ１より小さいしきい値ＴＢ２以下になる場合、サブホッパー４３Ｙからのトナーの供給が追い付かない状態とできる。この場合には、後述するメインＣＰＵ２０１によってトナー濃度エラーとして検出される。
【００４１】
一方、中間転写ベルト３０は、駆動ローラー３３Ｃとローラー３３Ａとにより弛まないように懸架されている。駆動ローラー３３Ｃが図中で反時計回りに回転すると、中間転写ベルト３０が所定の速度で図中反時計回りに回転する。中間転写ベルト３０の回転に伴って、ローラー３３Ａが、反時計回りに回転する。
【００４２】
これにより、画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋが、順に中間転写ベルト３０上にトナー像を転写する。画像形成ユニット２０Ｙ、２０Ｍ，２０Ｃ，２０Ｋそれぞれが、中間転写ベルト３０上にトナー像を転写するタイミングは、中間転写ベルト３０に付された基準マークを検出することにより、調整される。これにより、イエロー、マゼンタ、シアンおよびブラックのトナー像が中間転写ベルト３０上に重畳される。
【００４３】
給紙カセット３５，３５Ａ，３５Ｂには、それぞれサイズの異なる用紙がセットされている。所望のサイズの用紙が、給紙カセット３５，３５Ａ，３５Ｂに取付けられている給紙ローラー３６，３６Ａ，３６Ｂにより、搬送路へ供給される。搬送路へ供給された用紙は、搬送ローラー対３７によりタイミングローラー３１へ送られる。給紙カセット３５，３５Ａ，３５Ｂは、用紙残量センサー３８，３８Ａ，３８Ｂがそれぞれ装着されている。例えば、用紙残量センサー３８は、給紙カセット３５に収納されている用紙の残量を検出する。
【００４４】
中間転写ベルト３０の基準マークを検出するためのタイミングセンサーが設置されており、タイミングセンサーが中間転写ベルト３０の基準マークを検出すると、それに同期してタイミングローラー３１が用紙を中間転写ベルト３０に供給する。用紙は、転写ローラー２６により中間転写ベルト３０に押し当てられ、中間転写ベルト３０上に重畳して形成されたイエロー、マゼンタ、シアン、ブラックのトナー像が用紙に転写される。駆動ローラー３３Ｃの外周側にクリーナ２８が配置されている。クリーナ２８は、中間転写ベルト３０上に残ったトナーを除去する。
【００４５】
トナー像が転写された用紙は、定着ローラー対３２に搬送され、定着ローラー対３２により加熱される。これにより、トナーが溶かされて用紙に定着する。その後、用紙は排紙トレイ３４に排出される。なお、ここでは、用紙に４色のトナーそれぞれを形成する画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋを備えたタンデム方式のＭＦＰ１００について説明するが、１つの感光体ドラムで４色のトナーを順に用紙に転写する４サイクル方式のＭＦＰであってもよい。
【００４６】
用紙が搬送される搬送経路には、複数の用紙検出センサー３９が配置されている。用紙検出センサー３９は、用紙を検出する。用紙を搬送している最中に複数の用紙検出センサー３９は順に用紙を検出する。複数の用紙検出センサー３９の出力から搬送経路中で用紙が詰まる事象を検出することができ、また、詰まった用紙の搬送経路中の位置を特定することができる。
【００４７】
ＭＦＰ１００は、フルカラーの画像を形成する場合、画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋのすべてを駆動するが、モノクロの画像を形成する場合、画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋの１つを駆動する。また、画像形成ユニット２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋの２以上を組み合わせて画像を形成することもできる。
【００４８】
図３は、ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、上述した、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０および操作パネル１１５に加えて、メイン基板１１１と、通信インターフェース（Ｉ／Ｆ）部１６０と、ファクシミリ部１７０と、外部記憶装置１８０と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１３と、を含む。
【００４９】
メイン基板１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３、および操作パネル１１５と接続される。
【００５０】
通信Ｉ／Ｆ部１６０は、ネットワークにＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１６０は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信Ｉ／Ｆ部１６０が接続されるネットワークは、例えば、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワークは、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）を用いたネットワーク等であってもよい。さらに、ネットワークは、インターネットに接続されている。このため、ＭＦＰ１００は、インターネットに接続されたサーバー等のコンピューターと通信が可能である。
【００５１】
通信Ｉ／Ｆ部１６０は、ネットワークから受信されるデータをメイン基板１１１に出力し、メイン基板１１１から入力されるデータをネットワークに出力する。通信Ｉ／Ｆ部１６０は、ネットワークから受信されるデータのうちＭＦＰ１００宛てのデータのみを、メイン基板１１１に出力し、ネットワークから受信されるデータのうちＭＦＰ１００とは異なる装置宛てのデータを廃棄する。
【００５２】
ファクシミリ部１７０は、公衆交換電話網（ＰＳＴＮ）に接続され、ファクシミリデータを送受信する。外部記憶装置１８０は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１８０Ａ、または半導体メモリーが装着される。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８０Ａまたは半導体メモリーに記憶されたデータを読み出す。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８０Ａまたは半導体メモリーにデータを記憶する。
【００５３】
操作パネル１１５は、表示部１１８と、操作部１１９と、を含む。表示部１１８は、例えば、液晶表示装置（ＬＣＤ）であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１９は、複数のハードキーと、タッチパネルと、を含む。タッチパネルは、表示部１１８の上面または下面に表示部に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部１１８の表示面中でユーザーにより指示された位置を検出する。
【００５４】
図４は、第１の実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。図４を参照して、メイン基板１１１は、メインＣＰＵ２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１３と、フラッシュメモリー２１５と、表示制御部２１７と、エンジン制御ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２１９と、電源制御回路２２１と、遅延回路２２３と、電源スイッチ２２５と、電源プラグ２２７と、を含む。
【００５５】
メインＣＰＵ２０１、ＲＯＭ２１１、ＲＡＭ２１３、フラッシュメモリー２１５、表示制御部２１７およびエンジン制御ＡＳＩＣ２１９それぞれは、バス２０５に接続されており、データの転送が可能である。メインＣＰＵ２０１は、ＭＦＰ１００の全体を制御する。
【００５６】
ＲＯＭ２１１は、メインＣＰＵ２０１およびサブＣＰＵ２０３が実行するプログラムを記憶する。ＲＡＭ２１３は、メインＣＰＵ２０１の作業領域として用いられる揮発性の半導体メモリーである。フラッシュメモリー２１５は、メインＣＰＵ２０１により制御される不揮発性の半導体メモリーである。
【００５７】
メインＣＰＵ２０１は、フラッシュメモリー２１５に記憶された処理実行プログラムをＲＡＭ２１３にロードして実行する。処理実行プログラムは、ハードウェア資源を制御するための制御プログラム、およびアプリケーションプログラムを含む。ハードウェア資源は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、の通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、ＨＤＤ１１３および操作パネル１１５を含む。アプリケーションプログラムは、例えば、ファクシミリデータを送信するファクシミリ送信プログラム、ファクシミリデータを受信するファクシミリ受信プログラム、プリントジョブを受信し、受信されたプリントジョブに基づいて画像を形成するプリントプログラム、原稿読取部１３０を制御して原稿を読み取る原稿読取プログラムを含む。また、アプリケーションプログラムは、ＭＦＰ１００が備える消耗品を管理するメンテナンスプログラム、エラー状態を通知するエラー状態通知プログラムを、含んでもよい。なお、メインＣＰＵ２０１が実行するアプリケーションプログラムを、これらに限定するものではない。
【００５８】
表示制御部２１７は、表示部１１８を制御する。メインＣＰＵ２０１は、ＲＡＭ２１３に記憶されたデータを表示制御部２１７に転送可能であり、表示制御部２１７は、ＲＡＭ２１３から転送されるデータの画像を、表示部１１８に表示させる。
【００５９】
エンジン制御ＡＳＩＣ２１９は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０と接続され、それらを制御する。また、エンジン制御ＡＳＩＣ１９は、原稿読取部１３０が原稿を読み取って出力する画像データに所定の画像処理を実行する機能、画像データを画像形成部１４０がプリントするためのラスターデータに変換する機能を有する。
【００６０】
電源制御回路２２１は、遅延回路２２３を介して電源プラグ２２７と接続される。電源プラグ２２７は、商用電源と接続される。電源スイッチ２２５は、ユーザーにより操作され、ＯＮ状態とＯＦＦ状態とのいずれかに切り換える。電源スイッチ２２５は、ユーザーによりＯＮ状態からＯＦＦ状態に切り換えられる場合、遅延回路２２３およびメインＣＰＵ２０１にＯＦＦ信号を出力し、ユーザーによりＯＦＦ状態からＯＮ状態に切り換えられる場合、遅延回路２２３およびメインＣＰＵ２０１にＯＮ信号を出力する。ユーザーにより電源スイッチ２２５がＯＮ状態からＯＦＦ状態に切り換えられる事象は、停止トリガーである。メインＣＰＵ２０１は、電源スイッチ２２５からＯＦＦ信号が入力される場合、停止トリガーを検出する。
【００６１】
遅延回路２２３は、電源プラグ２２７および電源制御回路２２１との間に設けられる。遅延回路２２３は、電源スイッチ２２５からＯＮ信号が入力されている間は、電源プラグ２２７から供給される電力を電源制御回路２２１に供給する。遅延回路２２３は、電源スイッチ２２５からＯＦＦ信号が入力される場合、ＯＦＦ信号が入力された後にメインＣＰＵ２０１から完了信号が入力されることに応じて、電源プラグ２２７から供給される電力を遮断し、電源制御回路２２１への電力の供給を停止する。完了信号については後述する。なお、遅延回路２２３は、電源スイッチ２２５からＯＦＦ信号が入力される場合、ＯＦＦ信号が入力されてから所定時間が経過した後に、電源プラグ２２７から供給される電力を遮断し、電源制御回路２２１への電力の供給を停止するようにしてもよい。所定時間は、予め定められた時間であり、メインＣＰＵ２０１がＯＦＦ信号が入力されてから後述するスナップショットの転送を完了するために必要な時間である。
【００６２】
電源制御回路２２１は、遅延回路２２３から入力される電力を、メインＣＰＵ２０１、ＲＡＭ２１３、フラッシュメモリー２１５、表示制御部２１７およびエンジン制御ＡＳＩＣ２１９に出力する。
【００６３】
図５は、第１の実施の形態におけるＭＦＰが備えるメインＣＰＵが有する機能の一例を示すブロック図である。図５に示す機能は、ＭＦＰ１００が備えるメインＣＰＵ２０１がフラッシュメモリー２１５に記憶されたメイン用起動プログラムを実行することにより、メインＣＰＵ２０１に形成される機能である。メイン用起動プログラムは、起動プログラムの一部である。図５を参照して、メインＣＰＵ２０１は、エラー検出部５１と、禁止部５３と、スナップショット生成部５５と、制限部５７と、初期化部５９と、スナップショット確認部８１と、状態復帰部８３と、起動部８５と、を含む。
【００６４】
初期化部５９は、メインＣＰＵ２０１に電力が供給されてメインＣＰＵ２０１がリセットされる場合、予め定められた初期化処理を実行する。初期化部５９が実行する初期化処理は、ハードウェア資源と通信して、ハードウェア資源を動作可能な状態に設定する処理である。初期化処理が終了すると、メインＣＰＵ２０１は、ハードウェア資源の状態を把握し、ハードウェア資源を制御可能になる。初期化部５９が初期化処理を実行している間は、ハードウェア資源を制御できないので、ユーザーはＭＦＰ１００を操作することができない。このため、ユーザーは、初期化部５９が、初期化処理を終了するまで待たされることになる。なお、ハードウェア資源のうち自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０を初期化する場合には、エンジン制御ＡＳＩＣ２１９を介して初期化する。
【００６５】
エラー検出部５１は、ハードウェア資源で発生したエラーを検出する。エラー検出部５１は、エラーを検出する場合、そのエラーを識別するためのエラー識別情報を禁止部５３および制限部５７に出力する。エラー検出部５１が検出するエラーは、第１の種類のエラーと第２の種類のエラーとを含む。第１の種類のエラーは、ハードウェア資源を制御可能なエラーである。第２の種類のエラーは、ハードウェア資源を制御不可能なエラーである。第１の種類のエラーの一例として、トナーエンプティエラー、ペーパーエンプティエラー、ＪＡＭエラー、ライフオーバーエラーがある。第２の種類のエラーの一例としては、トナー濃度エラー、ＨＤＤセクターエラー、デバイス故障エラー、電源ノイズエラーがある。
【００６６】
（１）トナーエンプティエラー
エラー検出部５１は、トナー量センサー４５Ｙ，４５Ｍ，４５Ｃ，４５Ｋのいずれかで検出されるトナー量がしきい値ＴＡ２以下の場合に、トナーエンプティエラーを検出する。メインＣＰＵ２０１は、エラー検出部５１がトナーエンプティエラーを検出する場合であっても、画像形成部１４０による画像形成が可能なので、画像形成部１４０を制御可能である。
【００６７】
また、初期化部５９が初期化処理を実行する段階で、エラー検出部５１がトナーエンプティエラーを検出する場合、例えば、トナー量センサー４５Ｙで検出されるトナー量がしきい値ＴＡ２以下の場合、初期化部５９は、トナーボトル４１Ｙを所定時間回転させる。トナーボトル４１Ｙに固まったトナーが残っている場合があり、トナーボトル４１Ｙを回転さることにより、トナーの固まりが解消されて、トナーがサブホッパー４３Ｙに供給され、トナーエンプティエラーが解消される場合があるが、トナーボトル４１Ｙにトナーが残っていない場合は、トナーボトル４１Ｙを回転させてもトナーがサブホッパー４３Ｙに供給されないので、トナーエンプティエラーは解消されない。
【００６８】
（２）ペーパーエンプティエラー
エラー検出部５１は、用紙残量センサー３８，３８Ａ，３８Ｂのいずれかで用紙の残量がゼロを検出する場合に、ペーパーエンプティエラーを検出する。メインＣＰＵ２０１は、エラー検出部５１がペーパーエンプティエラーを検出する場合であっても、給紙カセット３５，３５Ａ，３５Ｂのうち用紙が存在する給紙カセットに収納された用紙を用いて画像形成部１４０による画像形成が可能なので、給紙部１５０を制御可能であり、動作を停止しない。給紙カセット３５，３５Ａ，３５Ｂのうちペーパーエンプティエラーが検出された給紙カセットに、ユーザーにより用紙が供給されると、ペーパーエンプティエラーが解消する。
【００６９】
また、初期化部５９が初期化処理を実行する段階で、給紙カセット３５，３５Ａ，３５Ｂそれぞれの用紙の残量を検出するために、給紙カセット３５，３５Ａ，３５Ｂそれぞれが備えるリフトを上昇させる。エラー検出部５１は、給紙カセット３５，３５Ａ，３５Ｂそれぞれが備えるリフトが上昇した後に、用紙残量センサー３８，３８Ａ，３８Ｂそれぞれの出力値から用紙の存在を判断する。このため、給紙カセット３５，３５Ａ，３５Ｂそれぞれが備えるリフトを上昇させる時間が必要になる。
【００７０】
（３）ＪＡＭエラー
エラー検出部５１は、複数の用紙検出センサー３９の出力に基づいて、用紙の詰まりを検出する場合に、ＪＡＭエラーを検出する。メインＣＰＵ２０１は、エラー検出部５１がＪＡＭエラーを検出する場合であっても、画像形成部１４０および給紙部１５０を制御可能なので、動作を停止しない。複数の用紙検出センサー３９は、搬送経路中でそれぞれが配置される位置で用紙を検出する。複数の用紙検出センサー３９それぞれは、搬送中の用紙が通過する間だけ用紙を検出する。エラー検出部５１は、複数の用紙検出センサー３９それぞれが、用紙が通過する時間以上の期間、用紙を検出する場合にＪＡＭエラーを検出する。複数の用紙検出センサー３９のうちＪＡＭエラーを検出した用紙検出センサーにおいて、用紙が検出されなくなると、ＪＡＭエラーが解消する。
【００７１】
また、初期化部５９が初期化処理を実行する段階で、エラー検出部５１は、複数の用紙検出センサー３９を起動して、それぞれの出力値を取得する。したがって、エラー検出部５１がＪＡＭエラーを判断するまでに、複数の用紙検出センサー３９を起動してから出力値を取得するまでの時間が必要となる。
【００７２】
（４）ライフオーバーエラー
ハードウェア資源は、消耗品を含み、使用期間または／および使用回数の上限が定められているものがある。例えば、感光体ドラム２３Ｙ，２３Ｍ，２３Ｃ，２３Ｋ、定着ローラー対３２、中間転写ベルト３０は、使用回数が定められている。メインＣＰＵ２０１は、これらのハードウェア資源の交換日時および使用履歴をＨＤＤ１１３に記憶して管理している。エラー検出部５１は、ハードウェア資源の使用履歴を参照して、使用期間または／および使用回数が上限を超えたハードウェア資源が存在する場合に、ライフオーバーエラーを検出する。ハードウェア資源は、使用期間または／および使用回数が上限を超えても使用可能なので、メインＣＰＵ２０１は、エラー検出部５１によりライフオーバーエラーが検出される場合でもハードウェア資源を制御可能であり、動作を停止しない。
【００７３】
また、初期化部５９が初期化処理を実行する段階で、エラー検出部５１は、ＨＤＤ１１３に記憶されたハードウェア資源の交換日時および使用履歴を読み出して、上限を超えているか否かを判断する。したがって、エラー検出部５１がライフオーバーエラーを判断するまでに、ＨＤＤ１１３を起動する時間およびハードウェア資源の交換日時および使用履歴を読み出す時間が必要となる。
【００７４】
（５）トナー濃度エラー
エラー検出部５１は、トナー濃度センサー２７Ｙ，２７Ｍ２７Ｃ，２７Ｋのいずれかで検出されるトナー濃度がしきい値ＴＢ２以下の場合に、トナー濃度エラーを検出する。エラー検出部５１が、トナー濃度エラーを検出する場合、画像形成部１４０による画像形成が不可能となるので、メインＣＰＵ２０１は画像形成部１４０を制御不可能となり、動作を停止する。
【００７５】
また、初期化部５９が初期化処理を実行する段階で、エラー検出部５１がトナー濃度エラーを検出する場合、例えば、トナー濃度センサー２７Ｙで検出されるトナー濃度がしきい値ＴＢ２以下の場合、初期化部５９は、トナーボトル４１Ｙを所定時間回転させる。トナーボトル４１Ｙに固まったトナーが残っている場合があるからである。トナーボトル４１Ｙに固まったトナーが残っている場合は、トナーボトル４１Ｙを回転さることにより、トナーの固まりが解消されて、トナーが現像器２４Ｙに供給され、トナー濃度エラーが解消される。初期化部５９は、トナーボトル４１Ｙを所定時間回転させた後に検出されるトナー濃度がしきい値ＴＢ２より大きい場合には初期化処理を終了するが、トナー濃度がしきい値ＴＢ２以下の場合にはトナー濃度エラーが解消しないと判断して画像形成部１４０を制御対象から除外する。
【００７６】
（６）ＨＤＤセクターエラー
エラー検出部５１は、ＨＤＤ１１３においてセクター不良が検出される場合に、ＨＤＤセクターエラーを検出する。エラー検出部５１が、ＨＤＤセクターエラーが発生する場合、メインＣＰＵ２０１はＨＤＤ１１３にアクセスすることができなくなるので、ＨＤＤ１１３を制御不可能となり、動作を停止する。
【００７７】
また、初期化部５９が初期化処理を実行する段階で、エラー検出部５１がＨＤＤセクターエラーを検出する場合、初期化部５９は、不良セクターを修復する処理を実行する。
【００７８】
（７）デバイス故障エラー
エラー検出部５１は、ハードウェア資源のいずれかで故障を示すエラーが発生する場合に、デバイス故障エラーを検出する。デバイス故障エラーは、ユーザーによる修復が不可能なエラーであり、予め定められている。例えば、エラー検出部５１は、ハードウェア資源の一例として、後処理部１５５が有するステープル針を打ち込むステープルユニットについて、ホームポジションにステープルユニットを移動させたにもかかわらず、ホームポジションでステープルユニットを検出できない場合に、ステープルユニットに対するデバイス故障エラーを検出する。また、エラー検出部５１は、ＨＤＤ１１３でセクター不良以外のエラーを検出する場合、ＨＤＤ１１３に対するデバイス故障エラーを検出する。エラー検出部５１は、ハードウェア資源と通信できなくなる場合にデバイス故障エラーを検出する。エラー検出部５１がデバイス故障エラーを検出する場合、メインＣＰＵ２０１は、故障したハードウェア資源を制御不可能となり、動作を停止する。
【００７９】
また、初期化部５９が初期化処理を実行する段階で、エラー検出部５１がデバイス故障エラーを検出する場合、デバイス故障エラーを検出したハードウェア資源を制御対象から除外する。例えば、ステープルユニットに対するデバイス故障エラーを検出する場合、ステープルユニットを制御対象から除外する。具体的には、ステープルユニットが接続されていない状態で他のハードウェア資源のみを接続した状態で起動する。
【００８０】
（８）電源ノイズエラー
エラー検出部５１は、電源の瞬間停電を検出する場合に、電源ノイズエラーを検出する。例えば、１０μ秒ごとに、電源制御回路から供給される電源の電圧を検出し、電圧が所定の電圧以下に変動する事象が所定回数以上検出されると電源ノイズエラーを検出する。電源ノイズエラーが発生する場合、メインＣＰＵ２０１のレジスタ値が書き換えられる場合がある。レジスタ値が電源のノイズにより書き換えられると、エラー検出部５１はハードウェア資源を制御不可能になる。また、初期化部５９が初期化処理を実行する場合、レジスタ値はリセットされるので、正常なレジスタ値で起動する。
【００８１】
制限部５７は、エラー検出部５１によって検出されたエラーが第１の種類か否かを判別する。具体的には、第１の種類のエラーのエラー識別情報を定めた第１エラー判別テーブルを予め準備しておく。制限部５７は、エラー検出部５１からエラー識別情報が入力されることに応じて、第１エラー判別テーブルを参照して、エラー検出部５１から入力されるエラー識別情報が第１エラー判別テーブルに含まれていれば制限指示を禁止部５３に出力し、エラー検出部５１から入力されるエラー識別情報が第１エラー判別テーブルに含まれていなければ制限指示を禁止部５３に出力しない。
【００８２】
禁止部５３は、エラー検出部５１からエラー識別情報が入力される場合、制限部５７から制限指示が入力されていないことを条件に、スナップショット生成部５５によるスナップショットの生成を禁止する。禁止部５３は、制限部５７から制限指示が入力されていない場合、エラー検出部５１からエラー識別情報が入力されると、禁止信号をスナップショット生成部５５に出力するが、制限部５７から制限指示が入力されている場合、エラー検出部５１からエラー識別情報が入力されると、禁止信号をスナップショット生成部５５に出力しない。
【００８３】
スナップショット生成部５５は、電源スイッチ２２５からＯＦＦ信号が入力される場合に停止トリガーを検出する。禁止部５３から禁止信号が入力されていないことを条件に、停止トリガーを検出することに応じてスナップショットを生成する。スナップショット生成部５５は、スナップショットを生成する場合、メインＣＰＵ２０１のレジスタに設定されたレジスタ値をフラッシュメモリー２１５に記憶し、ＲＡＭ２１３に記憶されているデータをフラッシュメモリー２１５に転送することにより、レジスタ値とＲＡＭ２１３に記憶されているデータとをスナップショットとしてフラッシュメモリー２１５に記憶させる。スナップショット生成部５５は、スナップショットのフラッシュメモリー２１５への記憶が完了すると、遅延回路２２３に完了信号を出力する。これにより、遅延回路２２３は電源制御回路２２１への電力の供給を遮断するので、ＭＦＰ１００が停止する。
【００８４】
スナップショット確認部８１は、電源制御回路２２１から電力が供給されて駆動する場合、フラッシュメモリー２１５にスナップショットが記憶されているか否かを確認する。スナップショット確認部８１は、フラッシュメモリー２１５にスナップショットが記憶されている場合、状態復帰部８３に復帰指示を出力し、フラッシュメモリー２１５にスナップショットが記憶されていない場合、状態復帰部８３に復帰指示を出力することなく、起動部８５に起動指示を出力する。
【００８５】
状態復帰部８３は、転送部８７と、レジスタ設定部８９と、を含む。転送部６７は、スナップショット確認部８１から復帰指示が入力されることに応じて、フラッシュメモリー２１５に記憶されたスナップショットのデータをＲＡＭ２１３に転送し、ＲＡＭ２１３にスナップショットを記憶させる。これにより、ＲＡＭ２１３は、メインＣＰＵ２０１がスナップショットを生成する前の状態になる。レジスタ設定部８９は、スナップショット確認部８１から復帰指示が入力されることに応じて、フラッシュメモリー２１５に記憶されたスナップショットに含まれるレジスタ値をメインＣＰＵ２０１のレジスタに設定する。
【００８６】
起動部８５は、スナップショット確認部８１から起動指示が入力されることに応じて、初期化部５９に初期化指示を出力する。初期化部５９は、起動部８５から初期化指示が入力されることに応じて、メインＣＰＵ２０１をリセットし、上述した初期化処理を実行する。
【００８７】
図６は、第１の実施の形態における第１起動制御処理の流れの一例を示すフローチャートである。第１起動制御処理は、ＭＦＰ１００が備えるメインＣＰＵ２０１がＲＯＭ２１１またはフラッシュメモリー２１５に記憶された第１起動プログラムを実行することにより、メインＣＰＵ２０１により実行される処理である。また、第１起動制御処理は、メインＣＰＵ２０１に電源制御回路２２１から電力が供給されて起動する場合に、メインＣＰＵ２０１が実行する処理である。図６を参照して、メインＣＰＵ２０１は、電源制御回路２２１から電力が供給されて起動すると（ステップＳ２１でＹＥＳ）、フラッシュメモリー２１５にスナップショットが記憶されているか否かを判断する（ステップＳ２２）。スナップショットが記憶されていれば処理をステップＳ２３に進めるが、そうでなければ処理をステップＳ２６に進める。ステップＳ２３においては、フラッシュメモリー２１５からスナップショットを読み出し、処理をステップＳ２４に進める。ステップＳ２４においては、フラッシュメモリー２１５に記憶されたスナップショットのデータをＲＡＭ２１３に転送する。これにより、ＲＡＭ２１３にスナップショットのデータが記憶され、ＲＡＭ２１３に記憶されたデータがメインＣＰＵ２０１がスナップショットを生成する前の状態になる。次のステップＳ２５においては、スナップショットに含まれるレジスタ値をメインＣＰＵ２０１のレジスタに設定し、処理を終了する。一方、ステップＳ２６においては、メインＣＰＵ２０１をリセットし、処理を終了する。具体的には、メインＣＰＵ２０１のリセット端子をＯＮにする。
【００８８】
図７は、第１の実施の形態における第２起動制御処理の流れの一例を示すフローチャートである。第２起動制御処理は、メインＣＰＵ２０１がフラッシュメモリー２１５に記憶された第２起動プログラムを実行することにより、メインＣＰＵ２０１により実行される処理である。図７を参照して、メインＣＰＵ２０１は、リセット信号が入力されたか否かを判断する（ステップＳ０１）。リセット端子がＯＮになるとリセット信号が入力されたと判断する。リセット端子は、サブＣＰＵ２０３によりＯＮにされる。リセット信号が入力されたならば処理をステップＳ０２に進めるが、そうでなければ処理をステップＳ０４に進める。ステップＳ０２においては、初期化処理を実行し処理をステップＳ０３に進める。初期化処理は、ハードウェア資源を初期化して、駆動可能な状態にする処理である。ハードウェア資源の初期化は、エラーが発生して駆動不可能なハードウェア資源を切り離す処理を含む。ステップＳ０３においては、ハードウェア資源が駆動したか否かを判断する。ハードウェア資源が駆動したならば処理をステップＳ０４に進めるが、そうでなければ処理をステップＳ０２に戻す。
【００８９】
ステップＳ０４においては、ジョブを受け付けたか否かを判断する。ユーザーが操作パネル１１５を操作する場合に、ユーザーにより指定されたジョブを受け付ける。また、通信Ｉ／Ｆ部１６０が、ネットワークに接続されたＰＣからジョブを受信すると、ジョブを受け付ける。ジョブを受け付けたならば処理をステップＳ０５に進めるが、そうでなければ処理をステップＳ１５に進める。
【００９０】
ステップＳ０５においては、ジョブの実行が可能か否かを判断する。ジョブを実行可能ならば処理をステップＳ０６に進めるが、ジョブを実行可能でなければ処理をステップＳ１２に進める。ジョブを実行する際に用いられるハードウェア資源に障害が発生し、そのハードウェア資源を制御できない場合に実行不可能と判断する。例えば、ハードウェア資源のうち画像形成部１４０にエラーが発生して画像形成部１４０を制御できない場合に、画像を形成するジョブを実行不可能と判断する。
【００９１】
ステップＳ０６においては、ジョブを実行し、処理をステップＳ０７に進める。ステップＳ０７においては、エラーを検出したか否かを判断する。エラーを検出したならば処理をステップＳ０８に進めるが、そうでなければ処理をステップＳ１２に進める。ステップＳ０８においては、禁止フラグに「１」を設定し、処理をステップＳ０９に進める。禁止フラグは、スナップショットの生成を禁止するか否か示すフラグであり、「１」に設定される場合にスナップショットの生成が禁止され、「０」に設定される場合にスナップショットの生成が禁止されない。禁止フラグは、ステップＳ０２において実行される初期化処理で、「０」に設定される。ステップＳ０９においては、エラーメッセージを表示部１１８に表示し、処理をステップＳ１０に進める。エラーメッセージは、ステップＳ０７において検出されたエラーが発生していることをユーザーに通知するための文字列を含む。
【００９２】
ステップＳ１０においては、ステップＳ０７において検出されたエラーが第１の種類として定められたエラーか否かを判断する。フラッシュメモリー２１５に記憶された第１エラー判別テーブルを参照して、ステップＳ０７において検出されたエラーのエラー識別情報が、第１エラー判別テーブルに含まれていれば、第１の種類のエラーと判断する。ステップＳ０７において検出されたエラーが第１の種類のエラーならば処理をステップＳ１１に進めるが、そうでなければ処理をステップＳ１２に進める。ステップＳ１１においては、禁止フラグを「０」に設定し、処理をステップＳ１２に進める。
【００９３】
ステップＳ１２においては、停止トリガーが発生したか否かを判断する。ユーザーにより電源スイッチ２２５がＯＮ状態からＯＦＦ状態に切り換えられる場合、サブＣＰＵ２０３から停止トリガーが発生したことが通知される。停止トリガーが発生したならば処理をステップＳ１３に進めるが、そうでなければ処理をステップＳ０１に戻す。
【００９４】
ステップＳ１３においては、禁止フラグが「０」に設定されているか否かを判断する。禁止フラグが「０」に設定されているならば処理をステップＳ１４に進めるが、そうでなければ処理を終了する。ステップＳ１４においては、スナップショットを生成し、処理を終了する。メインＣＰＵ２０１のレジスタに設定されたレジスタ値をフラッシュメモリー２１５に記憶し、ＲＡＭ２１３に記憶されているデータをフラッシュメモリー２１５に転送することにより、レジスタ値とＲＡＭ２１３に記憶されているデータとをスナップショットとしてフラッシュメモリー２１５に記憶させる。
【００９５】
ステップＳ１５においては、ステップＳ０７において検出されたエラーが解消したか否かを判断する。発生したエラーが解消した場合には処理をステップＳ１６に進めるが、発生したエラーが解消していない場合、またはエラーが発生していない場合は、処理をステップＳ１２に進める。ステップＳ１６においては、ステップＳ０９において表示したメッセージの表示を終了し、処理をステップＳ１２に進める。
【００９６】
＜第１の変形例＞
図８は、第１の変形例におけるメイン基板の詳細な構成の一例を示すブロック図である。図８を参照して、図４に示したブロック図と異なる点は、サブＣＰＵ２０３が追加された点である。その他の構成は図４に示した構成と同じなので、ここでは図４と異なる点を主に説明する。
【００９７】
サブＣＰＵ２０３は、電源制御回路２２１から電力が供給される。サブＣＰＵ２０３は、バス２０５に接続され、メインＣＰＵ２０１と通信可能であり、ＲＡＭ２１３およびフラッシュメモリ２１５にアクセス可能である。
【００９８】
サブＣＰＵ２０３は、ＲＯＭ２１１に記憶されたＤｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ（ＤＭＡ）ドライバーをロードすることにより、バス２０５を介して、ＲＡＭ２１３およびフラッシュメモリー２１５を制御する。サブＣＰＵ２０３は、ＲＡＭ２１３に記憶されたデータをフラッシュメモリー２１５に転送してフラッシュメモリー２１５に記憶させることができ、また、フラッシュメモリー２１５に記憶されたデータをＲＡＭ２１３に転送してＲＡＭ２１３に記憶させることができる。
【００９９】
電源スイッチ２２５は、ユーザーによりＯＮ状態からＯＦＦ状態に切り換えられる場合、遅延回路２２３およびサブＣＰＵ２０３にＯＦＦ信号を出力し、ユーザーによりＯＦＦ状態からＯＮ状態に切り換えられる場合、遅延回路２２３およびサブＣＰＵ２０３にＯＮ信号を出力する。サブＣＰＵ２０３は、電源スイッチ２２５からＯＦＦ信号が入力される場合、停止トリガーを検出し、メインＣＰＵ２０１に停止トリガーが発生したことを通知する。
【０１００】
図９は、第１の変形例におけるＭＦＰが備えるメインＣＰＵが有する機能の一例を示すブロック図である。第１の変形例におけるＭＦＰが備えるメインＣＰＵが有する機能が、図５に示した機能と異なる点は、スナップショット確認部８１と、状態復帰部８３と、起動部８５と、が削除された点、スナップショット生成部５５がスナップショット生成部５５Ａに変更された点である。その他の機能は、図５に示した機能と同じなので、ここでは説明を繰り返さない。
【０１０１】
スナップショット生成部５５Ａは、禁止部５３から禁止信号が入力されていないことを条件に、サブＣＰＵ２０３から停止トリガーが発生したことの通知を受けることに応じてスナップショットを生成する。スナップショット生成部５５Ａは、スナップショットを生成する場合、メインＣＰＵ２０１のレジスタに設定されたレジスタ値をフラッシュメモリー２１５に記憶し、ＲＡＭ２１３に記憶されているデータをフラッシュメモリー２１５に転送することにより、レジスタ値とＲＡＭ２１３に記憶されているデータとをスナップショットとしてフラッシュメモリー２１５に記憶させる。スナップショット生成部５５Ａは、スナップショットのフラッシュメモリー２１５への記憶が完了すると、サブＣＰＵ２０３にその旨を通知する。サブＣＰＵ２０３は、メインＣＰＵ２０１に停止トリガーが発生したことを通知した後に、メインＣＰＵ２０１からスナップショットの記憶が完了したことが通知されると、遅延回路２２３に完了信号を出力する。これにより、遅延回路２２３は電源制御回路２２１への電力の供給を遮断するので、ＭＦＰ１００が停止する。
【０１０２】
図１０は、第１の変形例におけるＭＦＰが備えるサブＣＰＵが有する機能の一例を示すブロック図である。図１０に示す機能は、第１の変形例におけるＭＦＰ１００が備えるサブＣＰＵ２０３がＲＯＭ２１１またはフラッシュメモリー２１５に記憶されたサブ用起動プログラムを実行することにより、サブＣＰＵ２０３に形成される機能である。サブ用起動プログラムは、起動プログラムの一部である。図１０を参照して、サブＣＰＵ２０３は、スナップショット確認部８１と、状態復帰部８３と、起動部８５Ａと、を含む。スナップショット確認部８１および状態復帰部８３の機能は、図５に示したそれらの機能と同じである。
【０１０３】
起動部８５Ａは、スナップショット確認部８１から起動指示が入力されることに応じて、メインＣＰＵ２０１をリセットする。メインＣＰＵ２０１は、リセットされると、ブートプログラムを実行し、上述した初期化処理を実行する。
【０１０４】
第１の変形例におけるＭＦＰ１００においては、メインＣＰＵ２０１が図７に示した第２起動制御処理を実行し、サブＣＰＵ２０３が図６に示した第１起動制御処理を実行する。
【０１０５】
＜第２の変形例＞
上述した第１の変形例においては、メインＣＰＵ２０１がエラー検出部５１、禁止部５３、スナップショット生成部５５および制限部５７を有するようにしたが、これらの１以上をサブＣＰＵ２０３が有するようにしてもよい。例えば、メインＣＰＵ２０１がエラー検出部５１を有し、サブＣＰＵ２０３が、禁止部５３、スナップショット生成部５５および制限部５７を有するようにしてもよいし、サブＣＰＵ２０３がエラー検出部５１、禁止部５３、スナップショット生成部５５および制限部５７を有するようにしてもよい。
【０１０６】
＜第２の実施の形態＞
第１の実施の形態においては、ＭＦＰ１００が第１エラー判別テーブルをＨＤＤ１１３に記憶するようにしたが、第２の実施の形態におけるＭＦＰ１００は、第２の種類のエラーのエラー識別情報を定めた第２エラー判別テーブルをＨＤＤ１１３に記憶するようにしたものである。
【０１０７】
図１１は、第２の実施の形態におけるＭＦＰが備えるメインＣＰＵが有する機能の一例を示すブロック図である。図１１を参照して、図５に示す機能と異なる点は、禁止部５３および制限部５７が、禁止部５３Ａおよびエラー判別部５７Ａにそれぞれ変更された点である。その他の機能は、図５に示した機能と同じなのでここでは説明を繰り返さない。
【０１０８】
エラー判別部５７Ａは、エラー検出部５１によって検出されたエラーが第２の種類か否かを判別する。具体的には、第２の種類のエラーのエラー識別情報を定めた第２エラー判別テーブルを予め準備しておく。エラー判別部５７Ａは、エラー検出部５１からエラー識別情報が入力されることに応じて、第２エラー判別テーブルを参照して、エラー検出部５１から入力されるエラー識別情報が第２エラー判別テーブルに含まれていれば禁止指示を禁止部５３Ａに出力し、エラー検出部５１から入力されるエラー識別情報が第２エラー判別テーブルに含まれていなければ禁止指示を禁止部５３Ａに出力しない。
【０１０９】
禁止部５３Ａは、エラー判別部５７Ａから禁止指示が入力される場合は、スナップショット生成部５５によるスナップショットの生成を禁止する。禁止部５３Ａは、エラー判別部５７Ａから禁止指示が入力される場合は、禁止信号をスナップショット生成部５５に出力するが、エラー判別部５７Ａから禁止指示が入力されない場合は、禁止信号をスナップショット生成部５５に出力しない。
【０１１０】
第２の実施の形態におけるメインＣＰＵ２０１は、図６に示した第１起動制御処理を実行する。
【０１１１】
図１２は、第２の実施の形態における第２起動制御処理の流れの一例を示すフローチャートである。第２の実施の形態における第２起動制御処理が、図７に示した処理と異なる点は、ステップＳ０８が削除された点、ステップＳ１０、ステップＳ１１およびステップＳ１３が、ステップＳ１０Ａ、ステップＳ１１ＡおよびステップＳ１３Ａに変更された点である。その他の処理は、図７に示した処理と同じなのでここでは説明を繰り返さない。
【０１１２】
ステップＳ０７においてエラーが検出されると、ステップＳ０９において、エラーメッセージが表示部１１８に表示される。そして、ステップＳ１０Ａにおいて、ステップＳ０７において検出されたエラーが第２の種類として定められたエラーか否かを判断する。フラッシュメモリー２１５に記憶された第２エラー判別テーブルを参照して、ステップＳ０７において検出されたエラーのエラー識別情報が、第２エラー判別テーブルに含まれていれば、第２の種類のエラーと判断する。ステップＳ０７において検出されたエラーが第２の種類のエラーならば処理をステップＳ１１Ａに進めるが、そうでなければ処理をステップＳ１２に進める。ステップＳ１１Ａにおいては、禁止フラグを「１」に設定し、処理をステップＳ１２に進める。ステップＳ１２においては、停止トリガーが発生したか否かを判断する。停止トリガーが発生したならば処理をステップＳ１３Ａに進めるが、そうでなければ処理をステップＳ０１に戻す。
【０１１３】
ステップＳ１３Ａにおいては、禁止フラグが「１」に設定されているか否かを判断する。禁止フラグが「１」に設定されているならば処理を終了するが、そうでなければ処理をステップＳ１４に進める。ステップＳ１４においては、スナップショットを生成し、処理を終了する。
【０１１４】
＜第３の変形例＞
第１の変形例と同様に、サブＣＰＵ２０３を設けるようにしてもよい。
【０１１５】
＜第４の変形例＞
第２の変形例と同様に、メインＣＰＵ２０１が有するエラー検出部５１、禁止部５３Ａ、スナップショット生成部５５およびエラー判別部５７Ａの１以上をサブＣＰＵ２０３が有するようにしてもよい。例えば、メインＣＰＵ２０１がエラー検出部５１を有し、サブＣＰＵ２０３が、禁止部５３Ａ、スナップショット生成部５５およびエラー判別部５７Ａを有するようにしてもよいし、サブＣＰＵ２０３がエラー検出部５１、禁止部５３Ａ、スナップショット生成部５５およびエラー判別部５７Ａを有するようにしてもよい。
【０１１６】
＜第３の実施の形態＞
第１の実施の形態におけるＭＦＰ１００が第１エラー判別テーブルをＨＤＤ１１３に記憶し、第２の実施の形態におけるＭＦＰ１００が第２エラー判別テーブルをＨＤＤ１１３に記憶するようにした。第３の実施の形態におけるＭＦＰ１００は、第１エラー判別テーブルおよび第２エラー判別テーブルをＨＤＤ１１３に記憶するようにしてもよい。この場合、第３の実施の形態におけるＭＦＰ１００が有するメインＣＰＵ２０１は、電源スイッチ２２５がＯＦＦ状態となる停止トリガーを検出することに応じて、その時点で発生しているエラーが第１の種類のエラーならばスナップショットをフラッシュメモリー２１５に記憶し、停止トリガーを検出した時点で発生しているエラーが第２の種類のエラーならばスナップショットをフラッシュメモリー２１５に記憶しない。
【０１１７】
以上説明したように、本実施の形態におけるＭＦＰ１００は、電源スイッチ２２５がＯＮ状態からＯＦＦ状態に切り換わる停止トリガーが発生することに応じて、ＲＡＭ２１３に記憶されたデータとメインＣＰＵ２０１のレジスタ値とを含むスナップショットがフラッシュメモリー２１５されるが、ハードウェア資源で発生したエラーが検出されている場合は、スナップショットの生成が禁止される。その後、サブＣＰＵ２０３は、電源スイッチ２２５がＯＮ状態に切り換わって電源制御回路２２１から電力の供給を受けることに応じて、フラッシュメモリー２１５にスナップショットが記憶されている場合はスナップショットに含まれるデータをＲＡＭ２１３し、フラッシュメモリー２１５にスナップショットが記憶されていない場合は、メインＣＰＵ２０１に初期化処理を実行させる。このため、エラーが発生していない場合はフラッシュメモリー２１５にスナップショットが記憶されるので、次に電力が供給される場合にメインＣＰＵ２０１は、初期化処理を実行する必要がないので起動時間を短くすることができ、エラーが発生している場合はメインＣＰＵ２０１は初期化処理を実行するので、エラーに対応した状態で起動することができる。その結果、エラー発生した状態で電力が供給されなくなった後に電力が供給される場合に、効率的に起動することができる。
【０１１８】
特に、第１の実施の形態におけるＭＦＰ１００は、第１の種類のエラーのエラー識別情報を定めた第１エラー判別テーブルを予め記憶しており、メインＣＰＵ２０１は、エラーが発生する場合に第１エラー判別テーブルを参照して第１の種類のエラーが発生したか否かを判断し、エラーが発生する場合にスナップショットの生成を禁止するが、発生したエラーが第１の種類のエラーの場合にスナップショットを生成する。このため、第１の種類のエラーが発生した状態で電力が供給されなくなった後の起動時間を短くすることができる。また、第１エラー判別テーブルを予め準備しておくだけでよいので、設定が容易である。
【０１１９】
また、第２の実施の形態におけるＭＦＰ１００は、第２の種類のエラーのエラー識別情報を定めた第２エラー判別テーブルを予め記憶しており、メインＣＰＵ２０１は、エラーが発生する場合に第２エラー判別テーブルを参照して第２の種類のエラーが発生したか否かを判断し、発生したエラーが第２の種類のエラーの場合にスナップショットを生成することなく、発生したエラーが第２の種類のエラーとは異なる場合にスナップショットを生成する。このため、第２の種類のエラーが発生した状態で電力が供給されなくなった後の起動時に、初期化処理を実行することにより第２の種類のエラーに対応した状態で起動できる場合がある。また、第２エラー判別テーブルを予め準備しておくだけでよいので、設定が容易である。
【０１２０】
なお、上述した実施の形態においては、画像処理装置の一例としてＭＦＰ１００について説明したが、図６および図７または図１１に示した第１起動制御処理および第２起動処理をメインＣＰＵ２０１またはサブＣＰＵ２０１に実行させる起動方法、また、その起動方法をメインＣＰＵ２０１またはサブＣＰＵ２０３に実行させる起動プログラムとして、発明を捉えることができるのは言うまでもない。
【０１２１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２２】
１００  ＭＦＰ、１１１  メイン基板、１１５  操作パネル、１１８  表示部、１１９  操作部、１１３  ＨＤＤ、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  通信Ｉ／Ｆ部、１７０  ファクシミリ部、１８０  外部記憶装置、１１  原稿ガラス、１２  スライダ、１３  露光ランプ、１４  ミラー、１５，１５Ａ  反射ミラー、１６  レンズ、１７  スキャナモータ、１８  ＣＣＤセンサー、２０Ｙ，２０Ｍ，２０Ｃ，２０Ｋ  画像形成ユニット、２１Ｙ  露光ヘッド、２２Ｙ  帯電チャージャ、２３Ｙ，２３Ｍ，２３Ｃ，２３Ｋ  感光体ドラム、２４Ｙ，２４Ｍ，２４Ｃ，２４Ｋ  現像器、２５Ｙ  転写チャージャ、２６  転写ローラー、２７Ｙ，２７Ｍ，２７Ｃ，２７Ｋ  トナー濃度センサー、２８  クリーナ、３０  中間転写ベルト、３１  タイミングローラー、３２  定着ローラー対、３３Ａ  ローラー、３３Ｃ  駆動ローラー、３４  排紙トレイ、３５，３５Ａ，３５Ｂ  給紙カセット、３６，３６Ａ，３６Ｂ  給紙ローラー、３７  搬送ローラー対、３８，３８Ａ，３８Ｂ  用紙残量センサー、３９  用紙検出センサー、４１Ｙ，４１Ｍ，４１Ｃ，４１Ｋ  トナーボトル、４３Ｙ，４３Ｍ，４３Ｃ，４３Ｋ  サブホッパー、４５Ｙ，４５Ｍ，４５Ｃ，４５Ｋ  トナー量センサー、２０１  メインＣＰＵ、２０３  サブＣＰＵ、２０５  バス、２１１  ＲＯＭ、２１３  ＲＡＭ、２１５  フラッシュメモリー、２１７  表示制御部、２１９  エンジン制御ＡＳＩＣ、２２１  電源制御回路、２２３  遅延回路、２２５  電源スイッチ、２２７  電源プラグ、５１  エラー検出部、５３，５３Ａ  禁止部、５５  スナップショット生成部、５７  制限部、５７Ａ  エラー判別部、５９  初期化部、６７  転送部、８１  スナップショット確認部、８３  状態復帰部、８５  起動部、８７  転送部、８９  レジスタ設定部。
【図１】
2018106497.tif 000003
【図２】
2018106497.tif 000004
【図３】
2018106497.tif 000005
【図４】
2018106497.tif 000006
【図５】
2018106497.tif 000007
【図６】
2018106497.tif 000008
【図７】
2018106497.tif 000009
【図８】
2018106497.tif 000010
【図９】
2018106497.tif 000011
【図１０】
2018106497.tif 000012
【図１１】
2018106497.tif 000013
【図１２】
2018106497.tif 000014