(57)【要約】【課題】電源オフ指令を受け付けた際，電源オフ状態に移行できる可能性が高い画像処理装置を提供すること。【解決手段】画像処理装置は，画像処理を実行する画像処理部と，電源オフの指令入力を受けるスイッチと，自装置のうち少なくとも前記画像処理部へ電力を供給する第１制御部と，第１制御部とは異なる制御を行う第２制御部とを備える。そして，第１制御部は，スイッチの入力を検出する検出部と，自装置が電力供給されている状態のときに検出部がスイッチの入力を検出した場合，自装置を電力供給されていない状態に移行する電源オフ処理を実行する電源制御部とを備え，第２制御部は，第１制御部が異常状態か否かを検知する検知部と，検知部が第１制御部の異常状態を検知した場合，電源制御部の電源オフ処理の少なくとも一部を代行する代行処理を実行する代行制御部とを備える。【選択図】図５
2014024300.tif 000002
【特許請求の範囲】
【請求項１】
画像処理を実行する画像処理部と，
電源オフの指令入力を受けるスイッチと，
自装置のうち少なくとも前記画像処理部へ電力を供給する第１制御部と，
前記第１制御部とは異なる制御を行う第２制御部と，
を備え，
前記第１制御部は，
前記スイッチの入力を検出する検出部と，
自装置が電力供給されている状態のときに前記検出部が前記スイッチの入力を検出した場合，自装置を電力供給されていない状態に移行する電源オフ処理を実行する電源制御部と，
を備え，
前記第２制御部は，
前記第１制御部が異常状態か否かを検知する検知部と，
前記検知部が前記第１制御部の異常状態を検知した場合，前記電源制御部の前記電源オフ処理の少なくとも一部を代行する代行処理を実行する代行制御部と，
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載する画像処理装置において，
前記代行制御部は，前記検知部が前記第１制御部の異常状態を検知した後，前記スイッチの入力の検出も代行することを特徴とする画像処理装置。
【請求項３】
請求項２に記載する画像処理装置において，
前記代行制御部は，前記検知部が前記第１制御部の異常状態を検知した後，前記スイッチの入力を検出した場合に，そのスイッチ入力状態が所定時間以上継続しているか否かを判断し，前記スイッチ入力状態が所定時間以上継続したことを条件に，前記代行処理を実行することを特徴とする画像処理装置。
【請求項４】
請求項１から請求項３までのいずれか１つに記載する画像処理装置において，
前記第１制御部と前記第２制御部とがともにアクセスでき，前記電源制御部によって定期的に書き込みが行われるアクセス部を備え，
前記検知部は，前記アクセス部に定期的にアクセスし，前記アクセス部に書き込まれている内容に変化がない場合に，前記第１制御部の異常状態と判断することを特徴とする画像処理装置。
【請求項５】
請求項１から請求項３までのいずれか１つに記載する画像処理装置において，
前記第１制御部と前記第２制御部とがともにアクセスできる記憶領域にあるフラグと，
自装置が電力供給されている状態のときに前記検出部が前記スイッチの入力を検出したことを条件に，前記フラグをセットするセット部と，
を備え，
前記第１制御部は，
前記検出部が前記スイッチの入力を検出した後，前記フラグをリセットするリセット部を備え，
前記検知部は，前記フラグがセットされた後，限界時間以上前記フラグがリセットされない場合に，前記第１制御部の異常状態と判断することを特徴とする画像処理装置。
【請求項６】
請求項１から請求項５までのいずれか１つに記載する画像処理装置において，
前記代行制御部は，前記検知部が前記第１制御部の異常状態を検知した場合，前記電源制御部の前記電源オフ処理の全てを代行する代行処理を実行することを特徴とする画像処理装置。
【請求項７】
請求項１から請求項６までのいずれか１つに記載する画像処理装置において，
前記電源制御部は，自装置が電力供給されている状態のときに前記検出部が前記スイッチの入力を検出した場合，そのスイッチ入力状態の継続時間を計時するタイマを開始し，そのタイマの計時時間が所定時間以上となったことを条件に，前記電源オフ処理を実行し，
前記代行制御部は，前記検知部が前記第１制御部の異常状態を検知した後，前記スイッチの入力を検出していない場合，前記タイマが動作中であるか否かを判断し，前記タイマの計時時間が閾値時間以上になったことを条件に，前記代行処理を実行することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像読取処理，画像形成処理等の画像処理を実行する画像処理装置に関する。さらに詳細には，電源オン状態で電源オフの指令を受け付けたことを条件に，電力供給先の装置を電源オフ状態に移行させる電源管理技術に関するものである。
【背景技術】
【０００２】
従来から，電源オフ指令を受け付けたことを条件に，自装置を電源オン状態から電源オフ状態に移行させる電源管理技術がある。電源オン状態とは，自装置の構成要素に電力が供給された状態であり，電源オフ状態とは，電源オン指令を受け付ける構成要素にのみ電力が供給され，その他の構成要素には電力が供給されない状態である。
【０００３】
例えば，特許文献１では，ユーザが電源スイッチをオフ状態にすると，各種のコントローラが電源オフ制御を行う画像形成装置が開示されている。この画像形成装置は，２つのコントローラを有し，電源オン状態から電源オフ状態に移行する際には各コントローラがシャットダウン処理を行い，全コントローラのシャットダウン処理が完了した後に電力供給を遮断している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２６２０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら，前記した従来の技術には，次のような問題があった。すなわち，シャットダウン処理等の電源オフ処理が完了したことを条件に電力供給を遮断する装置では，電源オフ処理を実行するコントローラがハングアップ等の異常状態に陥った場合，電源オフ状態への移行が困難になる。
【０００６】
本発明は，前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは，電源オフ指令を受け付けた際，電源オフ状態に移行できる可能性が高い画像処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
この課題の解決を目的としてなされた画像処理装置は，画像処理を実行する画像処理部と，電源オフの指令入力を受けるスイッチと，自装置のうち少なくとも前記画像処理部へ電力を供給する第１制御部と，前記第１制御部とは異なる制御を行う第２制御部とを備え，前記第１制御部は，前記スイッチの入力を検出する検出部と，自装置が電力供給されている状態のときに前記検出部が前記スイッチの入力を検出した場合，自装置を電力供給されていない状態に移行する電源オフ処理を実行する電源制御部とを備え，前記第２制御部は，前記第１制御部が異常状態か否かを検知する検知部と，前記検知部が前記第１制御部の異常状態を検知した場合，前記電源制御部の前記電源オフ処理の少なくとも一部を代行する代行処理を実行する代行制御部とを備えることを特徴としている。
【０００８】
本明細書に開示される画像処理装置は，第１制御部と第２制御部との２つの制御部を有し，電源オフ処理を実行する第１制御部が異常状態に陥ったとしても，第１制御部とは別の制御部である第２制御部によって，電源オフ処理の少なくとも一部を実行する。そのため，自装置を，電力供給されていない状態である電源オフ状態に移行できる可能性が高まる。なお，第１制御部と第２制御部とは，別々のＣＰＵによってそれぞれ独立して動作可能であればよく，１つの基板にともに組み込まれていてもよく，別々の基板に組み込まれていてもよい。また，電源オフ処理には，画像処理部等の構成要素への電力供給の遮断の他，例えば，記憶装置内のデータの保護が該当する。また，自装置は，画像処理装置のうち，少なくとも第１制御部と第２制御部とを含む。
【０００９】
さらに，前記代行制御部は，前記検知部が前記第１制御部の異常状態を検知した後，前記スイッチの入力の検出も代行するとよい。第１制御部が異常状態に陥ると，検出部によるスイッチの入力の検出も行われない可能性が高い。代行制御部が，スイッチの入力の検出を代行することにより，スイッチの入力をより確実に検知することができる。そのため，自装置を電源オフ状態に移行できる可能性がより高まる。
【００１０】
さらに，前記代行制御部は，前記検知部が前記第１制御部の異常状態を検知した後，前記スイッチの入力を検出した場合に，そのスイッチ入力状態が所定時間以上継続しているか否かを判断し，前記スイッチ入力状態が所定時間以上継続したことを条件に，前記代行処理を実行するとよい。ユーザがスイッチを直ぐに離した場合には，ユーザが電源オフへの移行を望んでいないと判断できる。この場合は，代行処理を行わずに電源オン状態を維持した方が好ましい。
【００１１】
さらに，本明細書に開示される画像処理装置は，前記第１制御部と前記第２制御部とがともにアクセスでき，前記電源制御部によって定期的に書き込みが行われるアクセス部を備え，前記検知部は，前記アクセス部に定期的にアクセスし，前記アクセス部に書き込まれている内容に変化がない場合に，前記第１制御部の異常状態と判断するとよい。第２制御部の検知部が，第１制御部の電源制御部によって定期的に行われる動作を監視することで，第１制御部の状態を正確に把握できる。なお，アクセス部としては，例えば，ウォッチドッグタイマ，ＳＤＲＡＭが該当する。
【００１２】
さらに，本明細書に開示される画像処理装置は，前記第１制御部と前記第２制御部とがともにアクセスできる記憶領域にあるフラグと，自装置が電力供給されている状態のときに前記検出部が前記スイッチの入力を検出したことを条件に，前記フラグをセットするセット部とを備え，前記第１制御部は，前記検出部が前記スイッチの入力を検出した後，前記フラグをリセットするリセット部を備え，前記検知部は，前記フラグがセットされた後，限界時間以上前記フラグがリセットされない場合に，前記第１制御部の異常状態と判断するとよい。第２制御部が，スイッチの入力時に第１制御部にて行われる動作を監視することで，スイッチ入力時における第１制御部の状態を正確に把握できる。
【００１３】
さらに，前記代行制御部は，前記検知部が前記第１制御部の異常状態を検知した場合，前記電源制御部の前記電源オフ処理の全てを代行する代行処理を実行するとよい。第２制御部が電源オフ処理を全て代行することで，自装置を電源オフ状態に移行できる可能性がより高まる。
【００１４】
さらに，本明細書に開示される画像処理装置は，前記電源制御部は，自装置が電力供給されている状態のときに前記検出部が前記スイッチの入力を検出した場合，そのスイッチ入力状態の継続時間を計時するタイマを開始し，そのタイマの計時時間が所定時間以上となったことを条件に，前記電源オフ処理を実行し，前記代行制御部は，前記検知部が前記第１制御部の異常状態を検知した後，前記スイッチの入力を検出していない場合，前記タイマが動作中であるか否かを判断し，前記タイマの計時時間が閾値時間以上になったことを条件に，前記代行処理を実行するとよい。
【００１５】
第２制御部が，スイッチの入力後に第１制御部によって開始されたタイマを監視することで，第１制御部がスイッチの入力の検出時までは動作したものの検出後に異常になった場合であっても，第１制御部の異常状態を検知できる。従って，第２制御部は，自装置をより確実に電源オフ状態に移行できる。なお，このタイマ（例えば，長押し検出タイマ）も，第１制御部および第２制御部がともにアクセス可能である。
【発明の効果】
【００１６】
本発明によれば，電源オフ指令を受け付けた際，電源オフ状態に移行できる可能性が高い画像処理装置が実現される。
【図面の簡単な説明】
【００１７】
【図１】実施の形態にかかるＭＦＰの外観を示す斜視図である。
【図２】図１に示したＭＦＰの電気的構成を示すブロック図である。
【図３】メインＣＰＵにおける電源オフ制御処理を示すフローチャートである。
【図４】メイン監視タイマのタイマ値の変化を示す説明図である。
【図５】サブＣＰＵにおけるメインＣＰＵ監視処理を示すフローチャート（第１の形態）である。
【図６】図５のメインＣＰＵ監視処理を示すフローチャートの続きである。
【図７】サブＣＰＵにおけるメインＣＰＵ監視処理を示すフローチャート（第２の形態）である。
【図８】サブＣＰＵにおけるメインＣＰＵ監視処理を示すフローチャート（第３の形態）である。
【発明を実施するための形態】
【００１８】
以下，本発明にかかる画像処理装置を具体化した実施の形態について，添付図面を参照しつつ詳細に説明する。本形態は，画像読取機能および画像形成機能を備えた複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ ）に本発明を適用したものである。
【００１９】
［ＭＦＰの構成］
本形態のＭＦＰ１００は，図１に示すように，用紙に画像を印刷する画像形成部１と，原稿の画像を読み取る画像読取部２とを備えている。画像形成部１および画像読取部２は，いずれも，画像処理部の一例である。画像形成部１は，画像読取部２の下部に設けられている。画像形成部１の画像形成方式は，電子写真方式であっても，インクジェット方式であってもよい。また，カラー画像の形成が可能であっても，モノクロ画像専用であってもよい。また，画像読取部２は，載置された原稿を読み取って画像データを形成するための構成である。画像形成部１および画像読取部２の構成はいずれも既存の一般的なものでよく，ここでは説明を省略する。
【００２０】
また，ＭＦＰ１００は，その前面側に，各種のボタン（例えば，スタートキー，ストップキー，テンキーの各ボタン）によって構成されるボタン群４１，液晶ディスプレイからなる表示部４２を備えた操作パネル４０を備えている。このボタン群４１や表示部４２により，動作状況の表示やユーザによる操作の入力が可能になっている。
【００２１】
また，操作パネル４０には，電源オフ処理の指令を入力するための電源スイッチ４５が設けられている。電源スイッチ４５は，スイッチの一例である。なお，電源スイッチ４５は，表示パネル４０とは別の場所に設けられていてもよい。また，電源スイッチ４５は，電源オン状態に戻る指令を入力する機能を兼ねる。そのため，ＭＦＰ１００は，電源オン状態で入力操作が行われれば，電源オフ処理の指令として受け，電源オフ状態で入力操作が行われれば，電源オン状態に戻る指令として受ける。そのため，電源スイッチ４５には，電源オフ状態でも後述する電源部５から電力が供給されている。
【００２２】
また，ＭＦＰ１００は，画像形成部１と画像読取部２とを含む各部へ電力を供給する電源部５を有している。電源部５にはプラグ５１が設けられている。ユーザによってプラグ５１が例えば商用電力のソケット等に差し込まれることにより，電源部５は，外部から電力の供給を受ける。電源部５は，外部から電力の供給を受け，供給された電力を，自装置の各構成要素のそれぞれに適切な動作電力に変換して出力する。
【００２３】
［ＭＦＰの電気的構成］
続いて，ＭＦＰ１００の電気的構成について説明する。ＭＦＰ１００は，図２に示すように，メインＣＰＵ３１と，ＲＯＭ３２と，ＲＡＭ３３と，サブＣＰＵ３５とを備えている。さらにＭＦＰ１００は，画像形成部１と，画像読取部２と，操作パネル４０と，ネットワークインターフェース３７と，ＵＳＢインターフェース３８とを有している。
【００２４】
メインＣＰＵ３１（第１制御部の一例）は，ＭＦＰ１００における画像読取機能，画像形成機能等の各種機能を実現するための演算を実行し，制御の中枢となるものである。メインＣＰＵ３１は，ＲＯＭ３２から読み出した制御プログラムに従って，その処理結果をＲＡＭ３３に記憶させながら，ＭＦＰ１００の各構成要素を制御する。メインＣＰＵ３１は，さらに，電源部５（図１参照）を制御することにより，画像形成部１および画像読取部２等の各構成要素への電力の供給を制御する。
【００２５】
サブＣＰＵ３５（第２制御部の一例）は，メインＣＰＵ３１と協同して各種の処理を行う。サブＣＰＵ３５は，メインＣＰＵ３１の状態に関わらず，たとえメインＣＰＵ３１がハングアップ等の異常状態であっても，動作可能である。また，サブＣＰＵ３５は，常時，メインＣＰＵ３１の状態を監視する処理をも行う。監視方法の詳細は後述する。さらに，サブＣＰＵ３５は，メインＣＰＵ３１の状態がハングアップ等の異常状態であると判断した場合に，メインＣＰＵ３１の機能の一部を代行する。
【００２６】
ＲＯＭ３２には，ＭＦＰ１００を制御するための各種制御プログラムや画像処理プログラム，各種設定，初期値等が記憶されている。ＲＯＭ３２は，不揮発性であり，例えば，フラッシュＲＯＭである。
【００２７】
ＲＡＭ３３は，各種制御プログラムが読み出される作業領域として，あるいは画像読取部２で読み取った原稿の画像データやネットワークインターフェース３７を介して送られてくる画像データを一時的に記憶する記憶領域として，利用される。ＲＡＭ３３は，例えばＳＤＲＡＭである。なお，ＲＯＭ３２とＲＡＭ３３とは，メインＣＰＵ３１およびサブＣＰＵ３５のいずれからもアクセス可能である。
【００２８】
ネットワークインターフェース３７は，ネットワークに接続されている。ＭＦＰ１００は，このネットワークインターフェース３７を介して他の情報処理装置（不図示）とのデータ通信が可能になっている。また，ＵＳＢインターフェース３８は，ＵＳＢ接続が可能な周辺機器（不図示）に接続されている。ＭＦＰ１００は，このＵＳＢインターフェース３８を介して外部の周辺機器等とデータ通信が可能になっている。
【００２９】
また，ＭＦＰ１００は，メインＣＰＵ３１とサブＣＰＵ３５とのいずれからもアクセス可能な記憶領域に設けられた電源ＳＷフラグ４６を有している。電源ＳＷフラグ４６は，電源スイッチ４５への押下あるいは開放等のユーザ操作があると，セット状態であることを示すデータが書き込まれる領域である。電源ＳＷフラグ４６にセット状態を示すデータが書き込まれることを，以下では，電源ＳＷフラグ４６がセットされるという。また，電源ＳＷフラグ４６にセット状態を示すデータ以外のデータが書き込まれることを，以下では，電源ＳＷフラグ４６がリセットされるという。セット状態を示すデータは，例えば，「０」以外の値である。電源ＳＷフラグ４６は，フラグの一例である。
【００３０】
さらに，ＲＡＭ３３には，サブＣＰＵ３５がメインＣＰＵ３１の状態を監視するために使用する監視領域４８が用意されている。監視領域４８は，メインＣＰＵ３１とサブＣＰＵ３５とのいずれからもアクセス可能な領域であり，アクセス部の一例である。
【００３１】
さらに，ＭＦＰ１００は，タイマを２つ有している。具体的には，メイン監視タイマ５５と長押し検出タイマ５７である。いずれのタイマも，メインＣＰＵ３１とサブＣＰＵ３５とがともにアクセスできるタイマである。
【００３２】
メイン監視タイマ５５は，アクセス部の一例である。メインＣＰＵ３１は，メイン監視タイマ５５に定期的に書き込みを行い，サブＣＰＵ３５は，メイン監視タイマ５５から定期的に読み出しを行う。メイン監視タイマ５５は，例えばウオッチドッグタイマであり，タイムアップ時間があらかじめ決められたハードタイマであることが好ましい。
【００３３】
また，長押し検出タイマ５７は，メインＣＰＵ３１とサブＣＰＵ３５とのいずれからもタイマセットおよびタイマ値読み出し等のアクセス可能なタイマである。長押し検出タイマ５７がタイムアップしたことは，メインＣＰＵ３１およびサブＣＰＵ３５のうちのタイマセットを行った方へ，タイマ割り込みによって通知される。
【００３４】
［ＭＦＰの電源の状態］
電源部５に商用電力の供給を受けている状態において，ＭＦＰ１００の電源の状態には，電源オン状態と電源オフ状態とがある。電源オン状態とは，自装置が電力供給されている状態であり，少なくともメインＣＰＵ３１とサブＣＰＵ３５とに，必要な電力の供給がなされている状態である。電源オフ状態とは，自装置が電力供給されていない状態であり，電源スイッチ４５の押下のみを受け付ける状態である。電源オフ状態では，メインＣＰＵ３１にもサブＣＰＵ３５にも，電力の供給が行われない。
【００３５】
ＭＦＰ１００は，電源オン状態で電源スイッチ４５が押下されることにより，電源オフ状態へと移行する。なお，電源部５は，商用電力の供給を受けている限り，電源オン状態でも電源オフ状態でも動作しており，電源スイッチ４５の押下をモニタする。
【００３６】
電源スイッチ４５の押下をモニタする電源部５（以下，単に「電源スイッチ４５」とする）は，ユーザによる電源スイッチ４５への押下操作を受けると，図示しない割り込みコントローラを介して，メインＣＰＵ３１およびサブＣＰＵ３５に割り込み信号（以下，「スイッチ割り込み」とする）を送信するとともに，電源ＳＷフラグ４６をセットする。このセット動作を行う電源スイッチ４５は，セット部の一例である。
【００３７】
さらに，電源スイッチ４５によって送信されるスイッチ割り込みの信号によって，メインＣＰＵ３１およびサブＣＰＵ３５は，電源スイッチ４５がユーザによる操作を受けたことを検出できる。なお，スイッチ割り込みの信号は，電源スイッチ４５の押下時と開放時との両方で送信される。いわゆる両エッジ検出である。
【００３８】
そして，メインＣＰＵ３１は，電源オン状態において電源スイッチ４５が押下された場合に，電源オフ処理を実行する。また，サブＣＰＵ３５は，電源オン状態で電源スイッチ４５が押下されたにもかかわらず，メインＣＰＵ３１が適切な電源オフ処理を行うことができないと判断した場合に，電源オフ処理を代行する。
【００３９】
一方，電源オフ状態では，電源部５及び電源スイッチ４５に電力が供給される。電源オフ状態では，メインＣＰＵ３１およびサブＣＰＵ３５のいずれにも電力は供給されていない。電源オフ状態で電源スイッチ４５が押下されると，電源部５は，メインＣＰＵ３１やサブＣＰＵ３５等への電力の供給を再開し，ＭＦＰ１００を電源オン状態に移行させる。
【００４０】
［電源オフ制御処理（メインＣＰＵ）］
次に，メインＣＰＵ３１が実行する電源オフ制御処理について，図３のフローチャートを参照して説明する。電源オフ制御処理は，ＭＦＰ１００が電源オン状態となったことを契機に実行開始され，ＭＦＰ１００が電源オン状態である間，メインＣＰＵ３１により継続して実行される処理である。
【００４１】
ＭＦＰ１００が電源オン状態である間，メインＣＰＵ３１は，あらかじめ決めた適切な間隔で定期的にメイン監視タイマ５５をクリアする（Ｓ１０１）。メイン監視タイマ５５のタイマ値は，メインＣＰＵ３１が正常に動作している間は，図４に示すように変化する。図４に示したメイン監視タイマ５５は，時間の経過とともにタイマ値が減少するカウントダウンタイマである。
【００４２】
メイン監視タイマ５５のタイマ値は，時間の経過とともに一律に変化し，メインＣＰＵ３１のクリア処理によってあらかじめ決まった値に復帰する。メインＣＰＵ３１は，メイン監視タイマ５５がタイムアップしないように適切なタイミングでクリア処理を行っている。なお，メイン監視タイマ５５は，時間の経過とともにタイマ値が増加するカウントアップタイマとしてもよい。
【００４３】
さらに，メインＣＰＵ３１は，ＲＡＭ３３の監視領域４８に値を書き込む（図３のＳ１０２）。書き込む値は，例えば，ランダム値である。または，単に前回書き込んだ値とは異なる値としてもよい。Ｓ１０２を実行する時間間隔は，Ｓ１０１の時間間隔と必ずしも同じでなくてもよい。また，Ｓ１０２の実行タイミングは，定期的でなくてもよい。
【００４４】
なお，Ｓ１０１とＳ１０２とはいずれも，メインＣＰＵ３１の状態をサブＣＰＵ３５が判断するために，メインＣＰＵ３１が行う処理である。Ｓ１０１とＳ１０２とのいずれか片方のみを実行するとしてもよいが，Ｓ１０１とＳ１０２との両方を行えば，より確実にメインＣＰＵ３１の状態を判断することができる。
【００４５】
メインＣＰＵ３１は，ＭＦＰ１００が電源オン状態にある間，電源スイッチ４５の押下の有無を検出するため，電源スイッチ４５からスイッチ割り込みによる信号を受信したか否かを判断する（Ｓ１０４） 。電源スイッチ４５からのスイッチ割り込みによる信号を受信しない場合（Ｓ１０４：Ｎｏ）メインＣＰＵ３１は，ユーザによって電源スイッチ４５が押下されるまで，一定の間隔でＳ１０１とＳ１０２とを繰り返す。
【００４６】
また，ユーザによって電源スイッチ４５が押下されると，電源スイッチ４５により電源ＳＷフラグ４６がセットされる。メインＣＰＵ３１は，電源スイッチ４５からスイッチ割り込みによる信号を受信する場合（Ｓ１０４：Ｙｅｓ），電源ＳＷフラグ４６をリセットする（Ｓ１０５）。Ｓ１０５において，メインＣＰＵ３１は，リセット部の一例として機能する。
【００４７】
メインＣＰＵ３１は，Ｓ１０５に続いて，長押し検出タイマ５７を所定時間にセットする（Ｓ１０６）。セット時間は，あらかじめ決めた入力継続時間であり，例えば２秒程度である。ユーザによって電源スイッチ４５を押下されている時間が入力継続時間より短い場合は，メインＣＰＵ３１は，電源オフを意図して押されたのではないと判断する。つまり，メインＣＰＵ３１は，長押し検出タイマ５７を用いて，電源スイッチ４５の入力状態が所定時間以上継続しているかどうかを確認することで，ユーザの電源オフの意図を判断する。
【００４８】
次に，メインＣＰＵ３１は，割り込み信号を受信するまで（Ｓ１０８：Ｎｏ），待機する。Ｓ１０８では，メインＣＰＵ３１は，Ｓ１０６にてセットした長押し検出タイマ５７からのタイムアップ割り込み，または電源スイッチ４５からのスイッチ割り込みを待機する。そして，割り込み信号を受信したら（Ｓ１０８：Ｙｅｓ），メインＣＰＵ３１は，その割り込みの要因を確認し，割り込みの要因が長押し検出タイマ５７のタイムアップであるか否かを判断する（Ｓ１０９）。
【００４９】
Ｓ１０９において，割り込みの要因が長押し検出タイマ５７のタイムアップである場合には（Ｓ１０９：Ｙｅｓ），ユーザによって所定時間以上長く継続して電源スイッチ４５が押下されたことを意味している。そこで，メインＣＰＵ３１は，長押し検出タイマ５７がタイムアップした場合には，ユーザにはＭＦＰ１００を電源オフにする意図があると判断して，電源オフ処理を実行する（Ｓ１１０）。そして，メインＣＰＵ３１は，電源オフ制御処理を終了する。
【００５０】
なお，電源オフ処理には，ＭＦＰ１００の設定状態や登録されている各種データ等を揮発性のメモリから不揮発性のメモリに待避する処理や，各部へ供給している電力を適切な順序で遮断する処理等が含まれる。これらの電源オフ処理を実行する際に，メインＣＰＵ３１は，電源制御部の一例として機能する。電源オフ処理の最終段階において，メインＣＰＵ３１は，電源部５に対して電源スイッチ４５以外への電力の供給を遮断するように指示をして電源オフ状態となる。
【００５１】
一方，Ｓ１０９において，割り込みの要因が長押し検出タイマ５７のタイムアップではない場合とは（Ｓ１０９：Ｎｏ），例えば，電源スイッチ４５が押下されている状態から，電源スイッチ４５が押下されていない状態に，所定時間未満で戻った場合に発信されるスイッチ割り込みの可能性がある。割り込みの要因が所定時間未満で戻った場合に発信されるスイッチ割り込みである場合には，電源スイッチ４５の入力状態があらかじめ決めた入力継続時間以上継続せず，短時間で電源スイッチ４５が押下されている状態から，電源スイッチ４５が押下されていない状態に戻ったことを意味する。
【００５２】
タイムアップではなく所定時間未満で戻った場合に発信されるスイッチ割り込みによる信号を受信したら，ユーザが電源オフへの移行を望んでいないと判断できるため，メインＣＰＵ３１は，電源オフ処理を実行せず，Ｓ１０１に戻って，定期的な書き込み処理（Ｓ１０１およびＳ１０２）と電源スイッチ４５の監視（Ｓ１０４）とを続ける。以上で，メインＣＰＵ３１における電源オフ制御処理の説明を終了する。
【００５３】
［メインＣＰＵ監視処理（サブＣＰＵ）（第１の形態）］
次に，サブＣＰＵ３５において実行され，メインＣＰＵ３１の動作状態を監視する処理である，メインＣＰＵ監視処理を図５および図６に示すフローチャートを参照して説明する。この処理は，ＭＦＰ１００が電源オン状態となったことを契機に実行開始され，ＭＦＰ１００が電源オン状態である間，継続して実行される。
【００５４】
なお，後述する前回のメイン監視タイマ５５のタイマ値は，初期値として，例えば「０」がＲＡＭ３３に記憶されており，Ｓ２０２において，前回読み出したときのメイン監視タイマ５５のタイマ値と今回読み出したときのメイン監視タイマ５５のタイマ値とが一致しないように構成されている。
【００５５】
図３のＳ１０１とＳ１０２とにおいて，メインＣＰＵ３１は，定期的な書き込み処理を行っている。サブＣＰＵ３５は，これらの定期的な書き込み処理が滞りなく行われていれば，メインＣＰＵ３１が正常に動作している正常状態か否かを判断できる。
【００５６】
まず，サブＣＰＵ３５は，メインＣＰＵ３１の状態を判断するために，メイン監視タイマ５５を読み出す（Ｓ２０１）。具体的には，サブＣＰＵ３５は，メインＣＰＵ３１のクリア処理とは異なる時間間隔で，定期的にメイン監視タイマ５５のタイマ値を読み出す。メインＣＰＵ３１が正常状態である場合，メイン監視タイマ５５のタイマ値は，図４に示すように変化している。
【００５７】
そして，サブＣＰＵ３５がメイン監視タイマ５５のタイマ値を読み出す間隔は，メイン監視タイマ５５のタイマ値を読み出す毎にタイマ値が変化するような時間間隔に設定されているので，毎回，サブＣＰＵ３５により読み出されるタイマ値は前回読み出した値とは異なる値となる。一方，メインＣＰＵ３１が異常状態である場合，メインＣＰＵ３１によるクリア処理が行われていないから，サブＣＰＵ３５により読み出されるタイマ値は前回読み出した値と同じ値になる。
【００５８】
そこで，サブＣＰＵ３５は，Ｓ２０１で読み出したメイン監視タイマ５５のタイマ値が前回読み出したメイン監視タイマ５５のタイマ値と一致するか否かを判断する（Ｓ２０２）。Ｓ２０１で読み出したメイン監視タイマ５５のタイマ値が前回読み出したメイン監視タイマ５５のタイマ値と一致しないと判断する場合（Ｓ２０２：Ｎｏ），サブＣＰＵ３５は，メインＣＰＵ３１が正常状態であると判断し，前回のメイン監視タイマ５５のタイマ値をＳ２０１で読み出したメイン監視タイマ５５のタイマ値に更新し（Ｓ２０３），Ｓ２０１に戻る。一方，Ｓ２０１で読み出したメイン監視タイマ５５のタイマ値が前回読み出したメイン監視タイマ５５のタイマ値と一致すると判断する場合（Ｓ２０２：Ｙｅｓ），サブＣＰＵ３５は，メインＣＰＵ３１が異常状態であると判断し，Ｓ２０４に進む。Ｓ２０２の判断を行う際に，サブＣＰＵ３５は，検知部の一例として機能する。
【００５９】
サブＣＰＵ３５は，Ｓ２０１で読み出したメイン監視タイマ５５のタイマ値が前回読み出したメイン監視タイマ５５のタイマ値と一致すると判断する場合（Ｓ２０２：Ｙｅｓ），電源スイッチ４５の押下の検出と電源オフ処理の少なくとも一部とを代行する。メインＣＰＵ３１が異常状態となっていると，電源スイッチ４５が押下されても，メインＣＰＵ３１は適切な電源オフ処理を実行することができない可能性があるからである。以下，サブＣＰＵ３５が電源スイッチ４５の押下の検出と電源オフ処理の少なくとも一部とを代行する一例を説明する。なお，電源オフ処理の少なくとも一部を代行する際に，サブＣＰＵ３５は，代行制御部の一例として機能する。
【００６０】
サブＣＰＵ３５は，まず，電源スイッチ４５の押下がなされているか否かを確認するために，電源ＳＷフラグ４６を参照する（Ｓ２０４）。そして，サブＣＰＵ３５は，電源ＳＷフラグ４６がセットされているか否かを判断する（Ｓ２０５）。
【００６１】
電源ＳＷフラグ４６がセットされているとは，例えば，電源ＳＷフラグにセットされる値が「０」以外となっていることを意味している。電源スイッチ４５は，ユーザの入力操作を受けると電源ＳＷフラグ４６をセットする。また，電源ＳＷフラグ４６がリセットされるとは，電源ＳＷフラグにセットされる値が「０」以外から「０」に戻されることを意味している。電源スイッチ４５の押下によってセットされた電源ＳＷフラグ４６は，メインＣＰＵ３１によってリセットされないかぎり，セットされた状態が維持されている。例えば，電源スイッチ４５が押下されるより前にメインＣＰＵ３１が異常状態となっていれば，電源ＳＷフラグ４６はセットされたままとなっている。
【００６２】
サブＣＰＵ３５は，電源ＳＷフラグ４６がセットされている場合（Ｓ２０５：Ｙｅｓ），メインＣＰＵ３１に代わって電源スイッチ４５の押下の検出の一部と，電源オフ制御処理の一部とを実行する。
【００６３】
具体的には，サブＣＰＵ３５は，電源ＳＷフラグ４６をリセットし（Ｓ２０７），長押し検出タイマ５７をセットする（Ｓ２０８）。長押し検出タイマ５７のセット時間は，メインＣＰＵ３１の場合と同様に，あらかじめ決めた入力継続時間である。そして，サブＣＰＵ３５は，割り込み信号を受信するまで待機する（Ｓ２１０：Ｎｏ）。
【００６４】
そして，割り込み信号を受信した場合（Ｓ２１０：Ｙｅｓ），サブＣＰＵ３５は，割り込みの要因が長押し検出タイマ５７のタイムアップであるか否かを判断する（Ｓ２１１）。割り込みの要因が長押し検出タイマ５７のタイムアップである場合には（Ｓ２１１：Ｙｅｓ），サブＣＰＵ３５は，電源オフの指示を受けたと判断して，電源オフ処理を実行する（Ｓ２１３）。
【００６５】
電源オフ処理（Ｓ２１３）の内容は，メインＣＰＵ３１が図３のＳ１１０において実施するものと同様である。つまり，サブＣＰＵ３５におけるＳ２０７〜Ｓ２１３の処理は，メインＣＰＵ３１が正常の場合にメインＣＰＵ３１により実行される処理（図３のＳ１０５〜Ｓ１１０）と，実質的に同じ内容のものである。電源オフ処理の最終段階において，サブＣＰＵ３５は，メインＣＰＵ監視処理を終了するとともに，電源部５に対して電源スイッチ４５以外への電力の供給を遮断するように指示をして電源オフ状態となる。
【００６６】
一方，Ｓ２１１において，割り込みの要因が長押し検出タイマ５７のタイムアップではない場合には（Ｓ２１１：Ｎｏ），割り込みの要因は，所定時間未満で戻った場合に発信されるスイッチ割り込みの可能性があり，上述の通り，ユーザが電源オフへの移行を望んでいないと判断できるから，サブＣＰＵ３５は，電源オフ処理を実行せず，Ｓ２０１に戻って再びメインＣＰＵの監視を続ける。
【００６７】
Ｓ２０５に戻って，メインＣＰＵ３１が異常状態であるとサブＣＰＵ３５が判断した場合であって，電源ＳＷフラグ４６がセットされていない場合（Ｓ２０５：Ｎｏ）について説明する。サブＣＰＵ３５には，メインＣＰＵ３１が異常状態となった詳細なタイミングを知る手段がない。そのため，サブＣＰＵ３５は，電源スイッチ４５がもともと押下されていないのか，それとも，電源ＳＷフラグ４６をリセットした後でメインＣＰＵ３１が異常状態となったのかを見分ける必要がある。
【００６８】
そのために，電源ＳＷフラグ４６がセットされていない場合には，サブＣＰＵ３５は，長押し検出タイマ５７がセットされているか否かを判断する（Ｓ２１５）。メインＣＰＵ３１は，正常状態であれば，電源ＳＷフラグ４６をリセットした後，続いて長押し検出タイマ５７をセットする（図３のＳ１０５〜Ｓ１０６参照）。そこで，長押し検出タイマ５７がセットされていない場合には（Ｓ２１５：Ｎｏ），サブＣＰＵ３５は，電源スイッチ４５がもともと押下されずに，メインＣＰＵ３１が異常状態になったと判断することができる。よって，Ｓ２１５でＮｏの場合には，サブＣＰＵ３５は，Ｓ２０１に戻って再びメインＣＰＵの監視を続ける。
【００６９】
一方，サブＣＰＵ３５は，長押し検出タイマ５７がセットされている場合には（Ｓ２１５：Ｙｅｓ），メインＣＰＵ３１が電源ＳＷフラグ４６をリセットし，長押し検出タイマ５７をセットしてからメインＣＰＵ３１が異常状態になったと判断する。Ｓ２１５でＹｅｓの場合には，図６に進み，サブＣＰＵ３５が電源スイッチ４５の押下の検出の一部と電源オフ処理の少なくとも一部とを代行する一例を説明する。図６は，図５の「Ａ」に続いて実行される処理を示すフローチャートである。
【００７０】
サブＣＰＵ３５は，長押し検出タイマ５７がセットされている場合（図５のＳ２１５：Ｙｅｓ），長押し検出タイマ５７のタイマ値を読み出す（図６のＳ３０１）。ここで，Ｓ３０１において，サブＣＰＵ３５が長押し検出タイマ５７のタイマ値を読み出すのは，メインＣＰＵ３１によってセットされた長押し検出タイマ５７は，タイムアップした際のタイマ割り込みによる信号を，長押し検出タイマ５７をセットしたメインＣＰＵ３１へ送信するからである。つまり，サブＣＰＵ３５は，長押し検出タイマ５７のタイマ割り込みによる信号を受信できない。そこで，サブＣＰＵ３５は，長押しタイマ５７のタイマ値を読み出すことによって，長押し検出タイマ５７がセットされてからの経過時間を取得する。
【００７１】
そして，サブＣＰＵ３５は，読み出した長押し検出タイマ５７のタイマ値があらかじめ決めた閾値時間以上であるか否かを判断する（Ｓ３０２）。この閾値時間は，メインＣＰＵ３１が長押し検出タイマ５７にセットする入力継続時間以上の時間である。閾値時間が経過していない場合（Ｓ３０２：Ｎｏ），サブＣＰＵ３５は，所定時間未満で戻った場合に発信されるスイッチ割り込みによる信号を受信したか否かを判断する（Ｓ３０３）。
【００７２】
所定時間未満で戻った場合に発信されるスイッチ割り込みの信号を受信した場合には（Ｓ３０３：Ｙｅｓ），サブＣＰＵ３５は電源オフ処理を実行しない。Ｓ３０３でＹｅｓの場合は，サブＣＰＵ３５は，図５の「Ｂ」に進み，Ｓ２０１に戻って，メインＣＰＵ３１の監視を継続する。
【００７３】
あるいは，所定時間未満で戻った場合に発信されるスイッチ割り込みの信号を受信していない場合には（Ｓ３０３：Ｎｏ），サブＣＰＵ３５は，再び長押し検出タイマ５７のタイマ値を読み出す（Ｓ３０１）。そして，所定時間未満で戻った場合に発信されるスイッチ割り込みの信号を受信しないうちに（Ｓ３０３：Ｎｏ），閾値時間が経過した場合は（Ｓ３０２：Ｙｅｓ），サブＣＰＵ３５は，ユーザが電源オフを意図していると判断できるから，電源オフ処理を実行する（Ｓ３０５）。以上で，サブＣＰＵ３５において実行されるメインＣＰＵ監視処理の説明を終了する。
【００７４】
［メインＣＰＵ監視処理（サブＣＰＵ）（第２の形態）］
次に，図５に示した例とは異なる方法によって，サブＣＰＵ３５がメインＣＰＵ３１を監視する処理の例を，図７のフローチャートを参照して説明する。この第２の形態のメインＣＰＵ監視処理は，図５に示した第１の形態の処理に代えて，ＭＦＰ１００が電源オン状態となったことを契機に実行開始され，ＭＦＰ１００が電源オン状態である間，継続して実行される。
【００７５】
サブＣＰＵ３５は，第２の形態のメインＣＰＵ監視処理を開始すると，電源スイッチ４５の操作によるスイッチ割り込み信号を受信したか否かを判断する（Ｓ４０１）。電源スイッチ４５が押下されることによるスイッチ割り込みによる信号は，メインＣＰＵ３１とサブＣＰＵ３５との両方に送信される。ユーザが電源スイッチ４５を押下していない間は，割り込み信号を受信しないから，スイッチ割り込み信号を受信するまで待機する（Ｓ４０１：Ｎｏ）。
【００７６】
ユーザが電源スイッチ４５を押下すると，スイッチ割り込み信号が発信されるとともに（Ｓ４０１：Ｙｅｓ），電源スイッチ４５により電源ＳＷフラグ４６がセットされる。そして，図３に示したように，メインＣＰＵ３１は，正常に動作している場合には，スイッチ割り込みによる信号を受信すると（Ｓ１０４：Ｙｅｓ），まず電源ＳＷフラグ４６をリセットする（Ｓ１０５）。
【００７７】
メインＣＰＵ３１が正常に動作しているか否かを判断するため，サブＣＰＵ３５は，電源ＳＷフラグ４６を参照する（Ｓ４０３）。メインＣＰＵ３１が正常であれば，電源ＳＷフラグ４６は，メインＣＰＵ３１によってリセットされる。つまり，電源ＳＷフラグ４６がリセットされていれば（Ｓ４０５：Ｙｅｓ），サブＣＰＵ３５は，メインＣＰＵ３１が正常に動作していると判断し，Ｓ４０１に戻って待機する。
【００７８】
電源ＳＷフラグ４６がリセットされていなければ（Ｓ４０５：Ｎｏ），サブＣＰＵ３５は，スイッチ割り込み信号の受信からの経過時間があらかじめ決めたリセットの限界時間を経過しているか否かを判断する（Ｓ４０７）。経過時間があらかじめ決めたリセットの限界時間を経過していなければ（Ｓ４０７：Ｎｏ），メインＣＰＵ３１は正常に動作しており正常状態であると判断できるので，サブＣＰＵ３５は，Ｓ４０３に戻ってもう一度電源ＳＷフラグ４６を参照する。そして，サブＣＰＵ３５は，電源ＳＷフラグ４６がリセットされるか（Ｓ４０５：Ｙｅｓ），または，リセット限界時間を経過するか（Ｓ４０７：Ｙｅｓ）のいずれかとなるまでＳ４０３〜Ｓ４０７を繰り返す。
【００７９】
スイッチ割り込みの信号を受信から，電源ＳＷフラグ４６がリセットされていない状態で，リセット限界時間を経過したら（Ｓ４０７：Ｙｅｓ），メインＣＰＵ３１は動作しておらず異常状態であると判断できるので，サブＣＰＵ３５は，メインＣＰＵ３１が異常状態となっていると判断し，電源オフ処理を代行する。代行する電源オフ処理の内容は，図５に示したＳ２０７〜Ｓ２１３の処理と同じである。ただし，Ｓ２１１において，電源スイッチ４５が所定時間未満で戻った場合に発信される割り込み信号を受信した場合には（Ｓ２１１：Ｎｏ），Ｓ４０１へ戻って待機する。
【００８０】
なお，サブＣＰＵ３５の処理が図７に示した第２の形態のメインＣＰＵ監視処理である場合には，サブＣＰＵ３５は，監視のためにアクセス部を使用しない。従って，メインＣＰＵ３１は，メイン監視タイマ５５またはＲＡＭ３３の監視領域４８等のアクセス部への書き込みを行う必要はない。すなわち，メインＣＰＵ３１は，図３のＳ１０１とＳ１０２を実行しない。
【００８１】
図７の第２の形態のメインＣＰＵ監視処理では，サブＣＰＵ３５は，電源スイッチ４５の押下を受けたときに限りメインＣＰＵ３１の状態を監視する。また，第２の形態のメインＣＰＵ監視処理を採用すれば，アクセス部を用意する必要が無く，処理が簡単である。以上で，サブＣＰＵ３５において実行される第２のメインＣＰＵ監視処理の説明を終了する。
【００８２】
［メインＣＰＵ監視処理（サブＣＰＵ）（第３の形態）］
第１の形態では，メイン監視タイマ５５によりメインＣＰＵ３１を監視していたが，確実でない場合がある。例えば，メイン監視タイマ５５による監視は処理が容易であり，頻繁に実施してもシステムの負担は小さいが，メイン監視タイマ５５は，システムの都合で停止されている場合がある。あるいは，メインＣＰＵ３１の異常状態の程度によっては，メインＣＰＵ３１は，メイン監視タイマ５５のクリア処理は行っているものの，他の箇所の処理は実行できない状態となっている可能性もある。
【００８３】
そのため，第３の形態では，メインＣＰＵ３１が行うＲＡＭ３３の監視領域４８への定期的な書き込みを監視することにより，メイン監視タイマ５５を監視するよりも確実に，メインＣＰＵ３１が異常状態となったことを判断できる。サブＣＰＵ３５によってメインＣＰＵ３１を監視する処理の第３の形態を，図８のフローチャートを参照して説明する。なお，第３の形態において，第１の形態と同様の処理を実行する部分については，第１の形態と同じ番号を付して，適宜説明を省略する。
【００８４】
まず，サブＣＰＵ３５は，適切なタイミングでＲＡＭ３３の監視領域４８に記憶されているランダム値を読み出す（Ｓ５０１）。前述のように，メインＣＰＵ３１は，図３のＳ１０２において，ＲＡＭ３３の監視領域４８へも定期的な書き込みを行っている。そこで，監視領域４８を読み出すことによっても，サブＣＰＵ３５は，メインＣＰＵ３１が異常状態となっているか否かを判断することができる。
【００８５】
そこで，サブＣＰＵ３５は，Ｓ５０１で読み出した監視領域４８に記憶されているランダム値が前回読み出した監視領域４８に記憶されているランダム値と一致するか否かを判断する（Ｓ５０２）。Ｓ５０１で読み出した監視領域４８に記憶されているランダム値が，前回読み出した監視領域４８に記憶されているランダム値と一致しないと判断する場合（Ｓ５０２：Ｎｏ），サブＣＰＵ３５は，メインＣＰＵ３１が正常に動作している正常状態となっていると判断し，前回の監視領域４８に記憶されているランダム値をＳ５０１で読み出した監視領域４８に記憶されているランダム値に更新し（Ｓ５０３），Ｓ５０１に戻る。
【００８６】
一方，Ｓ５０１で読み出した監視領域４８に記憶されているランダム値が前回読み出した監視領域４８に記憶されているランダム値と一致すると判断する場合（Ｓ５０２：Ｙｅｓ），サブＣＰＵ３５は，メインＣＰＵ３１が異常状態となっていると判断し，Ｓ２０４に進む。なお，Ｓ５０２の判断を行う際に，サブＣＰＵ３５は，検知部の一例として機能する。
【００８７】
以上詳細に説明したように，本形態のＭＦＰ１００はメインＣＰＵ３１とサブＣＰＵ３５とを有している。そして，サブＣＰＵ３５は，メインＣＰＵ３１の異常状態を監視し，メインＣＰＵ３１が異常状態であると判断したら，電源オフ処理を代行する。メインＣＰＵ３１の正常時には，メインＣＰＵ３１が電源オフ処理を実行する。そして，メインＣＰＵ３１は，シャットダウン処理等の電源オフ処理が完了したことを条件に，電源部５に対して電源スイッチ４５以外への電力の供給を遮断するように指示をして電源オフ状態となる。
【００８８】
メインＣＰＵ３１の異常状態が発生した場合には，サブＣＰＵ３５が，メインＣＰＵ３１に代わって電源オフ処理を実行する。従って，ＭＦＰ１００は，電源オフ指令を受け付けた際，電源オフ状態に移行できる可能性が高い。
【００８９】
サブＣＰＵ３５は，第１の形態のメインＣＰＵ監視処理を実施する場合には，メインＣＰＵ３１が定期的にアクセスするアクセス部の値を参照することによって，メインＣＰＵ３１の状態を監視する。従って，サブＣＰＵ３５は，メインＣＰＵ３１の状態を確実に監視することができる。また，サブＣＰＵ３５は，第２の形態のメインＣＰＵ監視処理を実施する場合には，電源スイッチ４５の押下を受けた後のメインＣＰＵ３１の動作を監視することによって，メインＣＰＵ３１の状態を監視する。従って，簡易な構成で電源オフ処理を代行することができる。
【００９０】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。例えば，ＭＦＰに限らず，複写機，スキャナ，ＦＡＸ等の画像処理機能を有し，ソフトスイッチによる電源スイッチを備え，２つのＣＰＵによる電源管理機能を備えるものであれば適用可能である。
【００９１】
なお，上記の各形態では，サブＣＰＵ３５は，メインＣＰＵ３１が異常状態であると判断したら，メインＣＰＵ３１の行うべき電源オフ処理をすべて代行するとした。しかし，サブＣＰＵ３５の代行する処理を電源オフ処理の一部とすることもできる。例えば，サブＣＰＵ３５は，シャットダウン処理を行わず，電力の供給状態の変更処理のみを実行するとしてもよい。このようにすれば，サブＣＰＵ３５の負担が小さく，確実に電力供給状態を移行させることができる。
【００９２】
また，第１の形態では，メイン監視タイマ５５を用いてメインＣＰＵ３１の監視を行い，第３の形態では，監視領域４８を用いてメインＣＰＵ３１の監視を行うが，これに限るものではない。例えば，メイン監視タイマ５５と監視領域４８とを用いて，メインＣＰＵ３１の監視を行ってもよい。サブＣＰＵ３５は，メイン監視タイマ５５を参照するタイミングより長い時間間隔で監視領域４８からランダム値を読み出す。あるいは，サブＣＰＵ３５は，メイン監視タイマ５５によって，メインＣＰＵ３１が正常でない可能性があると判断した場合に，監視領域４８からランダム値を読み出す。これにより，サブＣＰＵ３５は，メインＣＰＵ３１の動作状態をより確実に判断することができる。
【００９３】
また，第１の形態では，電源スイッチ４５には，電源オフ状態でも電源部５から電力が供給されていたが，これに限るものではない。例えば，電源オフ状態から電源オン状態に移行するには，電源オフ状態でもメインＣＰＵ３１及びサブＣＰＵ３５の少なくとも一方に電力を供給し，電源スイッチ４５から電源オフ処理の指令を受けるようにしてもよい。
【００９４】
また，実施の形態に開示されている処理は，単一のＣＰＵ，複数のＣＰＵ，ＡＳＩＣなどのハードウェア，またはそれらの組み合わせで実行されてもよい。また，実施の形態に開示されている処理は，その処理を実行するためのプログラムを記録した記録媒体，または方法等の種々の態様で実現することができる。
【符号の説明】
【００９５】
１  画像形成部
２  画像読取部
３１  メインＣＰＵ
３５  サブＣＰＵ
４５  電源スイッチ
４６  電源ＳＷフラグ
４８  監視領域
５５  メイン監視タイマ
５７  長押し検出タイマ
【図１】
2014024300.tif 000003
【図２】
2014024300.tif 000004
【図３】
2014024300.tif 000005
【図４】
2014024300.tif 000006
【図５】
2014024300.tif 000007
【図６】
2014024300.tif 000008
【図７】
2014024300.tif 000009
【図８】
2014024300.tif 000010