(57)【要約】【課題】制御回路の異常発生時にメモリーの内容をログとして記憶できるようにし、異常の原因の解析を容易にする。【解決手段】画像形成装置は、印刷部、ウォッチドッグタイマー、制御回路、不揮発性メモリー、揮発性メモリー、電源制御部を含む。ウォッチドッグリセット要求が入力されたとき、電源制御部は、制御回路のみをリセットする一部リセット処理を行う。一部リセット処理により再起動したとき、制御回路は、揮発性メモリーの記憶内容をログとして不揮発性メモリーに記憶させる。ログの記憶後、制御回路は、システムリセット要求を電源制御部に送信する。システムリセット要求を受けたとき、電源制御部は、制御回路、不揮発性メモリー、揮発性メモリー、リセット対象の全てをリセットする。【選択図】図６
2019155686.tif 000002
【特許請求の範囲】
【請求項１】
印刷を行う印刷部と、
予め定められた周期内に初期化のための初期化信号が入力されたとき、タイマーをリセットし、前記周期内に前記初期化信号が入力されないとき、ウォッチドッグリセット要求を出力するウォッチドッグタイマーと、
前記ウォッチドッグタイマーに前記初期化信号を入力する制御回路と、
プログラムを記憶する不揮発性メモリーと、
前記プログラムが読み出される揮発性メモリーと、
前記制御回路、前記不揮発性メモリー、前記揮発性メモリー、リセット対象への電力供給を制御し、再起動のため、前記制御回路、前記不揮発性メモリー、前記揮発性メモリー、前記リセット対象をリセットする電源制御部と、を含み、
前記電源制御部は、
前記ウォッチドッグタイマーと接続され、
前記ウォッチドッグリセット要求が入力されたとき、前記制御回路のみをリセットする一部リセット処理を行い、
前記制御回路は、
前記一部リセット処理により再起動したとき、前記揮発性メモリーの記憶内容をログとして前記不揮発性メモリーに記憶させ、
前記ログの記憶後、システムリセット要求を前記電源制御部に送信し、
前記電源制御部は、前記システムリセット要求を受けたとき、前記制御回路、前記不揮発性メモリー、前記揮発性メモリー、前記リセット対象の全てをリセットすることを特徴とする画像形成装置。
【請求項２】
前記電源制御部は、
前記ウォッチドッグリセット要求が入力されたとき、一部リセットフラグを前記不揮発性メモリーにセットし、
前記制御回路は、
起動時、前記不揮発性メモリーに前記一部リセットフラグがセットされているか否かを確認し、
前記一部リセットフラグがセットされているとき、前記揮発性メモリーのデータのうち、動作履歴と現在の状態を示すデータの何れか一方、又は、両方を前記ログとして、前記不揮発性メモリーに記憶させ、
前記ログの記憶後、前記システムリセット要求の送信前に、前記一部リセットフラグを消去し、
前記不揮発性メモリーに前記一部リセットフラグがセットされていないとき、前記電源制御部は、前記制御回路、前記不揮発性メモリー、前記揮発性メモリー、前記リセット対象の全てのリセットを行うことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記電源制御部は、
省電力モードのとき、予め定められた供給停止部分への電力供給を停止し、
通常モードのとき、前記供給停止部分に電力を供給し、
前記制御回路は、
前記省電力モードから前記通常モードへの復帰時に前記ウォッチドッグリセット要求が入力されたとき、前記一部リセット処理による再起動時に前記不揮発性メモリーに記憶させた前記ログを解析し、
前記ログの解析に基づき、復帰中の異常の原因場所を判定し、
判定した前記原因場所を前記不揮発性メモリーに記憶させることを特徴とすることを特徴とする請求項１又は２に画像形成装置。
【請求項４】
前記システムリセット要求に基づき再起動した場合、
前記制御回路は、
前記不揮発性メモリーに前記原因場所が記憶されているか否かを確認し、
前記原因場所が記憶されているとき、
前記原因場所の再起動を行わせることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記電源制御部は、前記ウォッチドッグリセット要求の入力日時を前記不揮発性メモリーに記憶させ、
前記制御回路は、予め定められた期間内で前記ウォッチドッグリセット要求が所定回数以上発生した場合、前記揮発性メモリーの記憶内容のうち、前記ログとして記憶する部分を、前記一部リセット処理がなされるごとに変化させることを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項６】
前記電源制御部は、
前記ウォッチドッグリセット要求の入力日時を前記不揮発性メモリーに記憶させ、
予め定められた期間内で前記ウォッチドッグリセット要求が所定回数以上発生している場合、前記一部リセット処理を行わず、前記制御回路、前記不揮発性メモリー、前記揮発性メモリー、前記リセット対象の全てのリセットを行うことを特徴とする請求項１乃至５の何れか１項に記載の画像形成装置。
【請求項７】
携帯型記憶装置を接続するためのメモリー接続部を含み、
前記制御回路は、
前記ログを前記メモリー接続部に接続された前記携帯型記憶装置に記憶させることを特徴とする請求項１乃至６の何れか１項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常発生時のログを収集する画像形成装置に関する。
【背景技術】
【０００２】
システムはマイクロプロセッサーを含むことがある。マイクロプロセッサーがノイズやソフトウェアの欠陥により、停止することがある。マイクロプロセッサーの停止により、システムの全体が停止することがある。ウォッチドッグタイマーを用いて、停止したシステムを自動的に復旧することがある。ウォッチドッグタイマーを用いた復旧方式の一例が特許文献１に記載されている。
【０００３】
具体的に特許文献１には、マイクロプロセッサーを使用し、ウォッチドッグタイマーによりシステムの暴走を検出して初期化し、ソフトウェアの動作履歴を記録し、ウォッチドッグタイマーフラグによりウォッチドッグタイマーが動作したことを検出し、ソフトウェアを機能ブロックに分けてその動作を制御し、再立ち上げフラグによりエラー処理が行われたことを検出し、システムのエラー履歴を記録し、ハードウェアリセットが生じたときに、ウォッチドッグタイマーフラグを参照してウォッチドッグタイマーによるリセットであれば再立ち上げフラグをセットしてリセット直前のプロセスを実行し、再起動処理の結果、再度ウォッチドッグタイマーが動作したときにはリセット直前のプロセスをシステムから切り離し、切り離したプロセス名を記録して通常動作に移り、ウォッチドッグタイマーが動作しないでプロセスが終了したときには外乱によるエラーが発生したことを記録して通常動作に移るエラー履歴記録処理を実行する自動障害復旧方式が記載されている。この構成により、システムが暴走したとき、障害箇所を検出記録し、障害箇所を取り除いて再立ち上げしようとする（特許文献１：請求項１、段落［０００６］等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０６−０３５７３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マイクロプロセッサーでは、異常（フリーズ、ロック、暴走）が生ずることがある。異常状態では、例えば、処理や信号の送受信が停止する。また、マイクロプロセッサーを含む装置が反応しなくなる。異常の原因は様々である。ソフトウェアに含まれるバグにより、異常が発生することがある。また、ノイズのような外的要因により異常が発生することもある。異常が発生した処理よりも前の処理での異常が、原因である場合もある。
【０００６】
詳細な動作履歴（停止時の処理状況）を確認できれば、異常の原因の解明に役立つ。ＲＡＭに読み出されたプログラム、データに基づき、マイクロプロセッサーは処理を行うことがある。マイクロプロセッサーに接続されたＲＡＭの記憶内容を確認できれば、異常時の状態や異常の原因を確認できることがある。しかし、マイクロプロセッサーが停止している状態では、ＲＡＭからデータを読み出すことができない。ＲＡＭの記憶内容を記録しようとしても、記録できないという問題がある。
【０００７】
特許文献１に記載の技術では、異常の原因がソフトウェアであるか外乱（ノイズ）かの判別しか行うことができない。また、特許文献１記載の技術では、ソフトウェアを機能ブロックに分ける。そして、プロセス制御部は、リセット直前のプロセス（ソフトウェアブロック）を実行させる（特許文献１：段落［０００９］、［００１０］）。異常の発生率は１００％とは限らない。再起動後のリセット直前のプロセス実行で問題が生じなかったとき、誤った異常の原因が記録される。また、リセット直前のプロセスよりも前のプロセスに原因がある場合、原因を究明できない。このように、特許文献１記載の技術では、正しく異常の原因を解明することが難しい。
【０００８】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、制御回路の異常発生時にメモリーの内容をログとして記憶できるようにし、異常の原因の解析を容易にする。
【課題を解決するための手段】
【０００９】
本発明に係る画像形成装置は、印刷部、ウォッチドッグタイマー、制御回路、不揮発性メモリー、揮発性メモリー、電源制御部を含む。前記印刷部は印刷を行う。予め定められた周期内に初期化のための初期化信号が入力されたとき、前記ウォッチドッグタイマーはタイマーをリセットする。前記周期内に前記初期化信号が入力されないとき、前記ウォッチドッグタイマーはウォッチドッグリセット要求を出力する。前記制御回路は、前記ウォッチドッグタイマーに前記初期化信号を入力する。前記不揮発性メモリーはプログラムを記憶する。前記揮発性メモリーは、前記プログラムが読み出される。前記電源制御部は、前記制御回路、前記不揮発性メモリー、前記揮発性メモリー、リセット対象への電力供給を制御する。再起動のため、前記電源制御部は、前記制御回路、前記不揮発性メモリー、前記揮発性メモリー、前記リセット対象をリセットする。前記電源制御部は、前記ウォッチドッグタイマーと接続される。前記ウォッチドッグリセット要求が入力されたとき、前記電源制御部は、前記制御回路のみをリセットする一部リセット処理を行う。前記一部リセット処理により再起動したとき、前記制御回路は、前記揮発性メモリーの記憶内容をログとして前記不揮発性メモリーに記憶させる。前記ログの記憶後、前記制御回路は、システムリセット要求を前記電源制御部に送信する。前記システムリセット要求を受けたとき、前記電源制御部は、前記制御回路、前記不揮発性メモリー、前記揮発性メモリー、前記リセット対象の全てをリセットする。
【発明の効果】
【００１０】
本発明によれば、制御回路が異常したとき、メモリーの内容をログとして記憶することができる。異常の原因の解析が容易になる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る複合機の一例を示す図である。
【図２】実施形態に係る複合機での電力供給系統の一例を示す図である。
【図３】実施形態に係る複合機での電力供給系統の一例を示す図である。
【図４】実施形態に係る複合機での起動の一例を示す図である。
【図５】実施形態に係るウォッチドッグタイマーでの処理の一例を示す図である。
【図６】実施形態に係る複合機でのリセット要求時の処理の一例を示す図である。
【図７】実施形態に係る複合機でのリセット要求時の処理の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図１〜図７を用いて、本発明の実施形態に係る画像形成装置の一例を説明する。画像形成装置として複合機１００を例にあげて説明する。但し、本実施の形態に記載されている構成、配置のような各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
【００１３】
（複合機１００）
図１を用いて、実施形態に係る複合機１００を説明する。図１は、実施形態に係る複合機１００の一例を示す図である。
【００１４】
図１に示すように、複合機１００は、制御部１、記憶部２、原稿搬送部３ａ、画像読取部３ｂ、操作パネル４、印刷部５、メモリー接続部６、電源部７を含む。
【００１５】
制御部１は、複合機１００の動作を制御する。制御部１は、制御回路１０、ウォッチドッグタイマー８、画像処理回路１１を含む。制御回路１０は、例えば、ＣＰＵである。ウォッチドッグタイマー８は、制御回路１０内に設けられてもよい。言い換えると、制御回路１０は、ウォッチドッグタイマー機能付きのＣＰＵでもよい。
【００１６】
画像処理回路１１は、印刷用の画像データを生成するための画像処理を行う。記憶部２は、複合機１００の動作制御に必要なプログラムやデータを記憶する。記憶部２は、不揮発性メモリー２１と揮発性メモリー２２を含む（図４参照）。不揮発性メモリー２１は、例えば、フラッシュＲＯＭである。不揮発性メモリー２１はＨＤＤを含んでもよい。揮発性メモリー２２は、例えば、ＲＡＭである。
【００１７】
原稿を読み取るジョブのとき、制御部１は、セットされた原稿を原稿搬送部３ａに搬送させる。原稿搬送部３ａには、複数枚の原稿をセットすることができる。原稿搬送部３ａに原稿がセットされているとき、制御部１は、１枚ずつ原稿を読み取り位置（送り読取用コンタクトガラス、不図示）に向けて原稿搬送部３ａに搬送させる。制御部１は、原稿搬送部３ａにより搬送される原稿を画像読取部３ｂに読み取らせる。載置読取用コンタクトガラス（不図示）に原稿がセットされたとき、制御部１は、載置読取用コンタクトガラスにセットされた原稿を画像読取部３ｂに読み取らせる。画像読取部３ｂは、読み取った原稿の画像データを生成する。
【００１８】
操作パネル４は、表示パネル４１、タッチパネル４２、ハードキー４３を含む。制御部１は表示パネル４１の表示を制御する。制御部１は画面内に操作用画像を表示させる。操作用画像は、例えば、ソフトウェアキー、ボタン、タブ、チェックボックスである。制御部１は、タッチパネル４２の出力に基づき、操作された操作用画像を認識する。また、制御部１は、操作されたハードキー４３を認識する。
【００１９】
印刷部５は、給紙部５ａ、用紙搬送部５ｂ、画像形成部５ｃ、定着部５ｄを含む。印刷を伴うジョブのとき、制御部１は、給紙部５ａに用紙を給紙させる。制御部１は、機内の搬送経路に沿って用紙を用紙搬送部５ｂに搬送させる。制御部１は、形成すべき画像の画像データに基づきトナー像を画像形成部５ｃに形成させる。制御部１は、転写トナー像の用紙への定着を定着部５ｄに行わせる。
【００２０】
メモリー接続部６には、携帯型記憶装置を接続することができる。言い換えると、メモリー接続部６は、メモリー用のインターフェイス部である。携帯型記憶装置は、例えば、ＵＳＢメモリーやメモリーカードのような半導体不揮発性メモリー２１である。メモリー接続部６は、接続された携帯型記憶装置と通信するための回路、ソケットを含む。制御部１は、メモリー接続部６を介し、携帯型記憶装置の読み書きを行える。
【００２１】
電源部７は、複合機１００の各部分（制御部１、記憶部２、原稿搬送部３ａ、画像読取部３ｂ、操作パネル４、印刷部５、メモリー接続部６）に電力を供給する。通信部１２は、通信回路と通信メモリーを含む。通信メモリーは、通信用ソフトウェアや、通信するデータを記憶する。通信部１２は、コンピューター２００と通信できる。通信部１２は、コンピューター２００から送信された印刷用データを受信する。印刷用データは画像データやページ記述言語で記述されたデータである。制御部１は、受信した印刷用データに基づき、印刷部５に印刷させる（プリントジョブ）。また、通信部１２から外部のコンピューター２００に向けて画像データを送信することもできる（送信ジョブ）。
【００２２】
（電力供給系統）
次に、図２、図３を用いて、実施形態に係る複合機１００での電力供給系統の一例を説明する。図２、図３は、実施形態に係る複合機１００での電力供給系統の一例を示す図である。
【００２３】
複合機１００は電源部７（電源装置）を含む。電源部７は電源回路部７０と、電源制御部９を含む。電源回路部７０は、商用電源から供給される電力を変換する。例えば、電源回路部７０は、交流電力を直流電力に変換する。電源回路部７０は複数種の電圧を生成する。そのため、電源回路部７０は、複数の電力変換回路を含む。例えば、電源回路部７０は、トランスを含むスイッチング電源や、ＤＣコンバーター、レギュレーターを含む。各電力変換回路は、予め設定された電圧を出力する。
【００２４】
電源部７は、制御部１、記憶部２、原稿搬送部３ａ、画像読取部３ｂ、操作パネル４、印刷部５、メモリー接続部６、通信部１２に電力を供給する。電源部７は、動作に必要な電圧を各部分に供給する。電源制御部９は、各部への電力供給を制御する。電源制御部９は、部分ごとに、電力供給、停止を行える。電源制御部９は、各部分の全て、又は、一部に電力を供給し、他の部分への電力供給を停止できる。
【００２５】
（通常モードと省電力モード）
次に、図３、図４を用いて、実施形態に係る複合機１００の通常モードと省電力モードの一例を説明する。図４は実施形態に係る複合機１００での起動の一例を示す図である。
【００２６】
図３に示すように、複合機１００は主電源スイッチ１０１を含む。主電源スイッチ１０１により主電源がＯＮされると、電源制御部９は、全部分（制御部１、記憶部２、原稿搬送部３ａ、画像読取部３ｂ、操作パネル４、印刷部５、メモリー接続部６、通信部１２）への電力供給を開始させる。
【００２７】
また、電源制御部９は、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象のリセットを行う。リセットされた回路は、起動を開始する。例えば、リセット対象は、画像処理回路１１、原稿搬送制御部３０、読取制御部３１、エンジン制御部５０、メモリー接続部６、通信部１２である（図１、図４参照）。なお、ウォッチドッグタイマー８は、リセット対象に含まれない。ウォッチドッグタイマー８は、制御回路１０のカウント開始要求を受けたとき、動作を開始する。
【００２８】
原稿搬送制御部３０は原稿搬送部３ａに設けられる。原稿搬送制御部３０は、制御部１の指示に基づき、原稿搬送装置の動作を制御する基板である。読取制御部３１は画像読取部３ｂに設けられる。読取制御部３１は、制御部１の指示に基づき、画像読取部３ｂの動作を制御する基板である。エンジン制御部５０は印刷部５に設けられる。エンジン制御部５０は、制御部１の指示に基づき、印刷部５の動作を制御する基板である。原稿搬送制御部３０、読取制御部３１、エンジン制御部５０は、ＣＰＵやメモリーを含む。
【００２９】
主電源がＯＮされたとき、各部への電力供給の開始後、電源制御部９は、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象を予め定められた順番でリセットする。リセットされたとき（リセット解除されたとき）、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象は、起動処理を開始する。なお、主電源投入時、電源回路部７０の動作に伴い、電源制御部９が最初に起動する。
【００３０】
電源制御部９は、例えば、制御回路１０を最初にリセットする。制御回路１０は、不揮発性メモリー２１からのブートプログラムの読み出しと、ハードウェア初期化を行う。ブートプログラムにより、揮発性メモリー２２や不揮発性メモリー２１が利用可能になる。起動後、制御回路１０は、リセット対象の設定や通信確立を行う。複合機１００の全部分の起動が完了したとき、複合機１００は使用可能となる。主電源投入後、複合機１００は、通常モードで起動する。
【００３１】
複合機１００では、供給停止部分が予め定められる。供給停止部分は、省電力モードで電力を供給しない部分である。通常モードでは、電源制御部９は、供給停止部分にも電力を供給する。省電力モードでは、電源制御部９は、供給停止部分に電力を供給しない。省電力モードは、複合機１００での消費電力を減らすモードである。供給停止部分は、適宜定められる。例えば、制御部１、記憶部２、原稿搬送部３ａ、画像読取部３ｂ、操作パネル４、印刷部５、メモリー接続部６を供給停止部分とできる。通信部１２や電源制御部９は供給停止部分に含まれない。
【００３２】
通常モードで予め定められた移行条件が満たされると、制御回路１０は、省電力モードへの移行指示を電源制御部９に与える。移行指示を受けたとき、電源制御部９は、供給停止部分への電力供給を所定の順番で停止していく。移行条件は、例えば、節電キー４４が操作されたことである。節電キー４４は、操作パネル４にハードキー４３として設けることができる（図３参照）。また、通常モードとなってから、又は、操作パネル４への入力が無いないまま、予め定められた移行時間（例えば、数十秒〜数分）が経過したことも、移行条件としてもよい。操作パネル４は、移行時間の設定を受け付けてもよい。制御部１（制御回路１０）が、省電力モード移行時間を計時する。
【００３３】
一方、省電力モードではジョブを実行できない。ジョブを実行するには、複合機１００を通常モードに戻す必要がある。そこで、予め定められた通常モードへの復帰条件が満たされたとき、電源制御部９は、通常モードに復帰させる。複合機１００では、省電力モード中の複合機１００への入力や操作が復帰条件とされる。
【００３４】
図３に示すように、複合機１００は、通信部１２、タッチパネル４２、開閉検知センサー５１を含む。開閉検知センサー５１は、使用者の操作により開閉される部分への操作を検知するセンサーである。開閉される部分としては、原稿搬送部３ａや用紙カセットがある。電源制御部９は、省電力モード中でも通信部１２、タッチパネル４２、及び、開閉検知センサー５１に電力を供給する。
【００３５】
復帰条件は予め定められる。例えば、復帰条件は、印刷用データの受信とできる。通信部１２がコンピューター２００から印刷用データを受信したとき、通信部１２は復帰のための割込を電源制御部９に通知する。また、復帰条件は、タッチパネル４２の操作としてもよい。タッチパネル４２が操作されたとき、タッチパネル４２は復帰のための割込を電源制御部９に通知する。また、復帰条件は、複合機１００での開閉操作でもよい。開閉操作を検知したとき、開閉検知センサー５１は割込を電源制御部９に通知する。
【００３６】
通常モードに復帰するとき、電源制御部９は、供給停止部分への電力供給を再開する。電源制御部９は、予め定められた順番で、供給停止部分への電力供給を再開する。また、電源制御部９は、予め定められた順番で制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象のリセットを行う。複合機１００は、通常モードに復帰する。
【００３７】
（ウォッチドッグタイマー８）
次に、図５を用いて、実施形態に係るウォッチドッグタイマー８での処理の一例を説明する。図５は実施形態に係るウォッチドッグタイマー８での処理の一例を示す図である。
【００３８】
ウォッチドッグタイマー８は、制御回路１０の動作が異常により停止状態にあることを検知する。ウォッチドッグタイマー８のカウント値の初期値は、予め定められた周期内に対応する値である。周期は適宜定められる。ウォッチドッグタイマー８にはクロック信号が入力される。例えば、ウォッチドッグタイマー８には、制御部１に設けられたクロック生成回路（不図示）が生成したクロック信号が入力される。クロック信号が入力されるごとに、ウォッチドッグタイマー８は、カウント値を減らす。
【００３９】
図５のスタートは、制御部１（制御回路１０）が起動し、制御回路１０がタイマー開始要求をウォッチドッグタイマー８に入力した時点である。タイマー開始要求に基づき、ウォッチドッグタイマー８が時間のカウント（減算）を開始する（ステップ♯１１）。
【００４０】
制御回路１０は、正常に動作しているとき、予め定められた周期内によりも短い周期で初期化信号Ｓ１をウォッチドッグタイマー８に入力する。初期化信号Ｓ１が入力されたとき（ステップ♯１２のＹｅｓ）、ウォッチドッグタイマー８は、カウント値を初期値に戻す（ステップ♯１３）。初期化信号Ｓ１が入力されていなければ（ステップ♯１２のＮｏ）、ウォッチドッグタイマー８は、カウント値がゼロになったか否かを確認する（ステップ♯１４）。初期化信号Ｓ１が入力されるまでの間、ウォッチドッグタイマー８は、クロック信号が入力されるごとに、カウント値から１を減らす。
【００４１】
カウント値＝ゼロではない場合（ステップ♯１４のＮｏ）、フローは、ステップ♯１２に戻る。カウント値＝ゼロの場合（ステップ♯１４のＹｅｓ）、ウォッチドッグタイマー８は、ウォッチドッグリセット要求Ｓ２を出力する（ステップ♯１５）。言い換えると、制御回路１０が異常停止状態になったとき、ウォッチドッグタイマー８はリセット要求を出力する。ウォッチドッグリセット要求Ｓ２は、電源制御部９に入力される（ステップ♯１６）。そして、電源制御部９は、一部リセットフラグを不揮発性メモリー２１にセットする（ステップ♯１７）。制御回路１０は、一部リセットフラグのデータをセット時の値にする。
【００４２】
さらに、電源制御部９は、省電力モードから通常モードへの復帰中に、ウォッチドッグリセット要求Ｓ２がなされたか否かを確認する（ステップ♯１８）。復帰中にウォッチドッグリセット要求Ｓ２がなされたとき（ステップ♯１８のＹｅｓ）、電源制御部９は、復帰中リセットフラグをセットする（ステップ♯１９）。制御回路１０は、復帰中リセットフラグのデータをセット時の値にする。復帰中にウォッチドッグリセット要求Ｓ２がなされていない場合（ステップ♯１８のＮｏ）、ステップ♯１９はスキップされる。さらに、電源制御部９は、ウォッチドッグリセット要求Ｓ２の入力日時を不揮発性メモリー２１に記憶させる（ステップ♯１１０）。そして、電源制御部９は、電源制御部９自身をリセットする（ステップ♯１１１）。その後、電源制御部９が再起動する。そして、本フローは終了する（エンド）。
【００４３】
（電源制御部９のリセット時の処理）
次に、図６、図７を用いて、実施形態に係る複合機１００でのリセット要求時の処理の一例を説明する。図６、図７は、実施形態に係る複合機１００でのリセット要求時の処理の一例を示す図である。
【００４４】
複合機１００では、電源制御部９には２種類のリセット要求が入力される。１つは、上述のウォッチドッグリセット要求Ｓ２である。もう１つは、システムリセット要求Ｓ３である。システムリセット要求Ｓ３が入力されたとき、電源制御部９は、一部リセットフラグをセットしない。図６のスタートは、電源制御部９が起動した時点である。主電源スイッチ１０１により主電源が投入されたとき、電源制御部９は起動する。また、ウォッチドッグリセット要求Ｓ２が入力されたときも、電源制御部９も起動する。さらに、システムリセット要求Ｓ３が入力されたときも、電源制御部９は起動する。
【００４５】
まず、電源制御部９は、一部リセットフラグがセットされているか否かを確認する（ステップ♯２１）。言い換えると、電源制御部９は、ウォッチドッグリセット要求Ｓ２に基づくリセットか否かを確認する。一部リセットフラグがセットされているとき（ステップ♯２１のＹｅｓ）、電源制御部９は、予め定められた期間内にウォッチドッグリセット要求Ｓ２が所定回数以上発生しているか否かを確認する（ステップ♯２２）。例えば、期間は、数分から数時間の間の何れかの時間とすることができる。所定回数も適宜定められる。所定回数は複数とできる。
【００４６】
期間内のウォッチドッグリセット要求Ｓ２が所定回数以上ではないとき（ステップ♯２２のＮｏ）、電源制御部９は一部リセット処理を行う（ステップ♯２３）。なお、ステップ♯２２を行わず、一部リセットフラグがセットされているとき（ステップ♯２１のＹｅｓ）、常に、ステップ♯２３に移行するようにしてもよい。一部リセット処理は制御回路１０のみをリセットする処理である。電源制御部９は、画像処理回路１１、不揮発性メモリー２１、揮発性メモリー２２、原稿搬送制御部３０、読取制御部３１、エンジン制御部５０、メモリー接続部６、通信部１２のリセット（再起動）を行わない。
【００４７】
制御回路１０のみのリセットにより、制御回路１０が再起動する（ステップ♯２４）。具体的に、制御回路１０は、ブートプログラムを不揮発性メモリー２１から読み出す。その結果、制御回路１０が起動する。そして、起動時、制御回路１０は、一部リセットフラグがセットされているか否か確認する。制御回路１０は、一部リセット処理（ウォッチドッグリセット要求Ｓ２）に基づく再起動であることを認識する（ステップ♯２５）。そして、制御回路１０は、揮発性メモリー２２の記憶内容をログとして不揮発性メモリー２１に記憶させる（ステップ♯２６）
【００４８】
制御回路１０は、揮発性メモリー２２の記憶内容のうち、動作履歴が記憶される領域と現在の状態が記憶される領域の何れか一方、又は、両方をコピーする。制御回路１０は、コピーした内容をログとして、不揮発性メモリー２１に記憶させる。例えば、制御回路１０は、動作に関するグルーバル変数をログとして記憶してもよい。例えば、割込回数を示すグルーバル変数がログとして記憶されてもよい。また、処理プログラムの種類と、現在のプログラムの処理位置のアドレスがログとして記憶されてもよい。また、制御回路１０は、タスクのスタック領域（スタックメモリー）をログとして記憶してもよい。
【００４９】
段落［００４６］で説明したように、ステップ♯２２を行わず、一部リセットフラグがセットされている場合（ステップ♯２１のＹｅｓ）、常に、ステップ♯２３に移行するようにするとき、制御回路１０は、予め定められた期間内でウォッチドッグリセット要求Ｓ２が所定回数以上発生しているか否かを確認してもよい。制御回路１０は、ウォッチドッグリセット要求Ｓ２の入力日時を確認する。期間内でウォッチドッグリセット要求Ｓ２が所定回数以上発生している場合、制御回路１０は、揮発性メモリー２２の記憶内容のうち、ログとして記憶する部分を、一部リセット処理がなされるごとに変化させてもよい。例えば、不揮発性メモリー２１は、期間内で発生したリセット要求の回数に応じて、記憶する領域（アドレス）を定義したデータを記憶する。制御回路１０は、データに基づき、ログとして記憶する部分を変化させる。
【００５０】
操作パネル４は、ログの保存操作を受け付ける。保存操作がなされたとき、制御回路１０は、不揮発性メモリー２１のログをメモリー接続部６に接続された携帯型記憶装置に記憶（コピー）させる。このとき、制御回路１０は、保存された不揮発性メモリー２１のログを消去してもよい。
【００５１】
制御回路１０は、復帰中リセットフラグがセットされているか否かを確認する（ステップ♯２７）。復帰中リセットフラグがセットされているとき（ステップ♯２７のＹｅｓ）、制御回路１０は、記憶した最新のログを解析する（ステップ♯２８）。そして、制御回路１０は、復帰中の異常の原因場所を判定する（ステップ♯２９）。そして、制御回路１０は、判定した原因場所を不揮発性メモリー２１に記憶させる（ステップ♯２１０）。
【００５２】
制御回路１０は、各グローバル変数の値を確認し、値が異常なグローバル変数に対応するハードウェアを、異常原因場所と判定してもよい。この場合、不揮発性メモリー２１には、各グローバル変数の正常値の範囲と、グローバル変数に対応するハードウェアを定めたデータを記憶させてもよい。制御回路１０は、このデータを参照し異常原因場所を判定してもよい。
【００５３】
また、例えば、制御回路１０は、ログに含まれるタスクのスタック領域のデータを確認してもよい。この場合、制御回路１０は、スタック領域のデータに基づき、異常停止時に実行しようとした処理を認識する。制御回路１０は、異常停止時の処理が、どの部分を起動させるための処理であるかを確認する。制御回路１０は、異常停止時の処理と対応する場所を異常原因場所と判定する。例えば、制御回路１０とメモリー接続部６との通信確立（通信初期化）のための処理中に制御回路１０が停止した場合、制御回路１０は、メモリー接続部６が異常原因場所と判定する。
【００５４】
復帰中リセットフラグがセットされていない場合（ステップ♯２７のＮｏ）、又は、原因場所の判定後（ステップ♯２１０）、制御回路１０は、一部リセットフラグを消す（ステップ♯２１１）。制御回路１０は、一部リセットフラグのデータを未セットの値にする。また、復帰中リセットフラグがセットされていれば、制御回路１０は、復帰中リセットフラグを消す（ステップ♯２１２）。制御回路１０は、復帰中リセットフラグのデータを未セットの値にする。
【００５５】
そして、制御回路１０は、システムリセット要求Ｓ３を電源制御部９に入力（送信）する（ステップ♯２１３）。システムリセット要求Ｓ３が入力されたとき、電源制御部９は、電源制御部９自身をリセットする（ステップ♯２１４）。これにより、その後、電源制御部９が再起動する。
そして、フローは、ステップ♯２１に戻る。ステップ♯２１に戻ったとき、一部リセットフラグが消されているので、ステップ♯２１は、Ｎｏとなる。
【００５６】
一部リセットフラグがセットされていないとき（システムリセット要求Ｓ３を受けたとき、ステップ♯２１のＮｏ）、又は、期間内のウォッチドッグリセット要求Ｓ２が所定回数以上のとき（ステップ♯２２のＹｅｓ）、電源制御部９は、システムリセット処理を行う。システムリセット処理は、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象をリセットする処理である。
【００５７】
システムリセットのとき、まず、制御回路１０は、ブートプログラムを不揮発性メモリー２１から読み出す。制御回路１０はブートプログラムを実行する。例えば、制御回路１０は、不揮発性メモリー２１と揮発性メモリー２２のリセットを電源制御部９に行わせる。さらに、制御回路１０は、不揮発性メモリー２１と揮発性メモリー２２を初期化する。これにより、不揮発性メモリー２１と揮発性メモリー２２が利用可能になる。やがて、制御回路１０が起動する（ステップ♯２１５）。
【００５８】
起動した制御回路１０は、カウント開始要求をウォッチドッグタイマー８に入力する。（ウォッチドッグタイマー８の動作を開始、ステップ♯２１６）。以後、制御回路１０は、定期的に初期化信号Ｓ１をウォッチドッグタイマー８に入力する。続いて、制御回路１０は、起動用プログラムを不揮発性メモリー２１から揮発性メモリー２２に読み出す（ステップ♯２１７）。
【００５９】
起動用プログラムは、リセット対象をリセットする順番が定義されている。リセットにより、各リセット対象は、ハードウェアの初期化を行う。また、起動用プログラムには、初期化されたリセット対象（ハードウェア）と通信を確立するための処理が定義されている。制御回路１０は、起動用プログラムに基づき、リセット対象を起動させる（ステップ♯２１８）。例えば、制御回路１０は、リセット対象を順番に電源制御部９にリセットさせる。また、制御回路１０は、各リセット対象との通信を確立する。
【００６０】
制御回路１０は、不揮発性メモリー２１に原因場所が記憶されているか否かを確認する（ステップ♯２１９）。原因場所が記憶されているとき（ステップ♯２１９のＹｅｓ）、制御回路１０は、原因場所の再起動を行わせる（ステップ♯２２０）。例えば、メモリー接続部６が原因場所の場合、制御回路１０は、メモリー接続部６のリセットを電源制御部９に行わせる。制御回路１０は、ハードウェア初期化をメモリー接続部６に行わせる。また、制御回路１０は、メモリー接続部６との通信を確立する。異常が発生した処理を再度行わせることができる。
【００６１】
原因場所の再起動後、制御回路１０は、不揮発性メモリー２１に原因場所のデータを消去させる（ステップ♯２２１）。原因場所が記憶されていないとき（ステップ♯２１９のＮｏ）、または、ステップ♯２２１の後、本フローは終了する（エンド）。
【００６２】
このようにして、実施形態に係る画像形成装置（複合機１００）は、印刷部５、ウォッチドッグタイマー８、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、電源制御部９を含む。印刷部５は印刷を行う。予め定められた周期内に初期化のための初期化信号Ｓ１が入力されたとき、ウォッチドッグタイマー８はタイマーをリセットする。周期内に初期化信号Ｓ１が入力されないとき、ウォッチドッグタイマー８はウォッチドッグリセット要求Ｓ２を出力する。制御回路１０は、ウォッチドッグタイマー８に初期化信号Ｓ１を入力する。不揮発性メモリー２１はプログラムを記憶する。揮発性メモリー２２は、プログラムが読み出される。電源制御部９は、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象への電力供給を制御する。再起動のため、電源制御部９は、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象をリセットする。電源制御部９は、ウォッチドッグタイマー８と接続される。ウォッチドッグリセット要求Ｓ２が入力されたとき、電源制御部９は、制御回路１０のみをリセットする一部リセット処理を行う。一部リセット処理により再起動したとき、制御回路１０は、揮発性メモリー２２の記憶内容をログとして不揮発性メモリー２１に記憶させる。ログの記憶後、制御回路１０は、システムリセット要求Ｓ３を電源制御部９に送信する。システムリセット要求Ｓ３を受けたとき、電源制御部９は、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象の全てをリセットする。
【００６３】
この構成によれば、異常な（機能停止状態の）の制御回路１０のみをリセット（再起動）することができる。制御回路１０を仮復旧することにより、揮発性メモリー２２の記憶内容を読み出すことができる。異常の原因を分析するためのデータを記憶することができる。不揮発性メモリー２１に記録された（収集された）ログを閲覧することにより、異常の原因を解析することができる。また、ログを記憶、収集してから、システム全体をリセットすることができる。自動的に画像形成装置を使用可能な状態に戻すことができる。
【００６４】
ウォッチドッグリセット要求Ｓ２が入力されたとき、電源制御部９は一部リセットフラグを不揮発性メモリー２１にセットする。制御回路１０は起動時、不揮発性メモリー２１に一部リセットフラグがセットされているか否かを確認する。制御回路１０は、一部リセットフラグがセットされているとき、揮発性メモリー２２のデータのうち、動作履歴と現在の状態を示すデータの何れか一方、又は、両方をログとして、不揮発性メモリー２１に記憶させる。ログの記憶後、システムリセット要求Ｓ３の送信前に、制御回路１０は一部リセットフラグを消去する。不揮発性メモリー２１に一部リセットフラグがセットされていないとき、電源制御部９は制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象の全てのリセットを行わせる。一部リセット処理に基づくリセットがなされたときのみ、揮発性メモリー２２の内容をログとして残すことができる。異常によらないリセットのとき、ログを不揮発性メモリー２１に記憶しないようにすることができる。
【００６５】
省電力モードのとき、電源制御部９は予め定められた供給停止部分への電力供給を停止する。通常モードのとき、電源制御部９は供給停止部分に電力を供給する。省電力モードから通常モードへの復帰時にウォッチドッグリセット要求Ｓ２が入力されたとき、制御回路１０は、一部リセット処理による再起動時に不揮発性メモリー２１に記憶させたログを解析する。ログの解析に基づき、制御回路１０は、復帰中の異常の原因場所を判定する。制御回路１０は、判定した原因場所を不揮発性メモリー２１に記憶させる。異常の原因場所の解析結果を不揮発性メモリー２１に記憶させることができる。省電力モードから通常モードへのモードの切替時に発生した異常を解析するための情報を残すことができる。
【００６６】
システムリセット要求Ｓ３に基づき再起動した場合、制御回路１０は、不揮発性メモリー２１に原因場所が記憶されているか否かを確認する。原因場所が記憶されているとき、制御回路１０は、原因場所の再起動を行わせる。システム全体の再起動後、原因場所の起動を自動的に再実行することができる。
【００６７】
電源制御部９は、ウォッチドッグリセット要求Ｓ２の入力日時を不揮発性メモリー２１に記憶させる。予め定められた期間内でウォッチドッグリセット要求Ｓ２が所定回数以上発生した場合、制御回路１０は、揮発性メモリー２２の記憶内容のうち、ログとして記憶する部分を、一部リセット処理がなされるごとに変化させる。頻繁にウォッチドッグリセット要求Ｓ２が生じている場合、揮発性メモリー２２の記憶内容のうち、ログとして残す内容（アドレス）を異ならせることができる。
【００６８】
予め定められた期間内でウォッチドッグリセット要求Ｓ２が所定回数以上発生している場合、電源制御部９は、一部リセット処理を行わず、制御回路１０、不揮発性メモリー２１、揮発性メモリー２２、リセット対象の全てのリセットを行う。ウォッチドッグリセット要求Ｓ２の頻度が高い場合、ログを残さないようにすることができる。多数のログにより、不揮発性メモリー２１の容量不足することを防ぐことができる。
【００６９】
複合機１００は、携帯型記憶装置を接続するためのメモリー接続部６を含む。制御回路１０は、ログをメモリー接続部６に接続された携帯型記憶装置に記憶させる。不揮発性メモリー２１からログを携帯型記憶装置に吸い出すことができる。携帯型記憶装置に書き込まれたログに基づき、異常の原因を詳細に分析することができる。
【００７０】
本発明の実施形態を説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【００７１】
本発明は、ＤＲＡＭモジュールを含むメモリー制御装置と、このメモリー制御装置を備えた画像形成装置に利用可能である。
【符号の説明】
【００７２】
１００  複合機（画像形成装置）        １０    制御回路
２１    不揮発性メモリー              ２２    揮発性メモリー
５      印刷部                        ６      メモリー接続部
８      ウォッチドッグタイマー        ９      電源制御部
Ｓ１    初期化信号                    Ｓ２    ウォッチドッグリセット要求
Ｓ３    システムリセット要求
【図１】
2019155686.tif 000003
【図２】
2019155686.tif 000004
【図３】
2019155686.tif 000005
【図４】
2019155686.tif 000006
【図５】
2019155686.tif 000007
【図６】
2019155686.tif 000008
【図７】
2019155686.tif 000009