(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
プロセッサと、
第１発光部と、
前記プロセッサに電力を出力し、当該出力された電力が所定電圧値以上になったときに第１監視信号を出力する第１電力出力部と、
前記第１電力出力部から出力される前記第１監視信号、及び、前記電力が入力された前記プロセッサから出力される第２監視信号を受信でき、且つ、前記第１監視信号を受信してから所定時間内に前記第２監視信号を受信しない場合に、第１異常信号を出力する故障検知手段と、
前記第１異常信号が入力されたときに、前記第１発光部が所定の発光状態になるように制御する制御手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記故障検知手段は、前記第１監視信号を受信してから前記所定時間内に前記第２監視信号を受信した場合に、前記第１異常信号を出力しないことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記故障検知手段は、前記第１監視信号を受信すると、時間を計測するタイマーを開始させ、前記第２監視信号が受信されないまま前記タイマーが前記所定時間を計測し終えると、前記第１異常信号を出力することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段は、前記プロセッサとは独立して構成されている、ことを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、前記異常信号が入力されたときに、前記第１発光部が点滅するように制御する、ことを特徴とする請求項１〜４の何れか１項に記載の情報処理装置。
【請求項６】
表示部を有し、ユーザ操作を受信可能な操作部をさらに備え、
前記第１発光部は、前記操作部に設けられる、ことを特徴とする請求項１〜５の何れか１項に記載の情報処理装置。
【請求項７】
第２発光部と、
前記プロセッサに電力を出力し、出力された電力が所定値以上になったときに第３監視信号を出力する第２電力出力部と、をさらに備え、
前記故障検知手段は、さらに、前記第２電力出力部から出力された前記第３監視信号を受信でき、且つ、前記第２監視信号を受信してから所定時間内に前記第３監視信号を受信しない場合に、第２異常信号を出力し、
前記制御手段は、前記第２異常信号が入力されたときに、前記第２発光部が所定の発光状態になるように制御する、ことを特徴とする請求項１〜６の何れか１項に記載の情報処理装置。
【請求項８】
前記第２発光部は、前記プロセッサが設けられる回路基板に設けられる、ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記第２電力出力部は、ＤＣＤＣコンバータである、ことを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記プロセッサは、前記情報処理装置のメインプロセッサである、ことを特徴とする請求項１〜９の何れか１項に記載の情報処理装置。
【請求項１１】
前記第１電力出力部は、ＤＣＤＣコンバータである、ことを特徴とする請求項１〜１０の何れか１項に記載の情報処理装置。
【請求項１２】
用紙に画像を印刷する印刷部をさらに備える、ことを特徴とする請求項１〜１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記制御手段は、所定期間内に前記第１監視信号が入力されないことに基づいて、前記第１発光部が消灯するように制御する、ことを特徴とする請求項１〜１２の何れか１項に記載の情報処理装置。
【請求項１４】
前記プロセッサにクロック信号を出力するクロック信号出力部をさらに備え、
前記プロセッサは、前記クロック信号の入力に基づいて、前記第２監視信号を出力する、ことを特徴とする請求項１〜１３の何れか１項に記載の情報処理装置。
【請求項１５】
前記制御手段は、前記プロセッサから出力された第４監視信号を受信可能であって、前記第１監視信号を受信してから所定期間内に前記第４監視信号を受信しないときに、第３異常信号を出力し、
前記制御手段は、前記第３異常信号の入力に基づいて、前記第１発光部が他の発光状態になるよう制御する、ことを特徴とする請求項１〜１４の何れか１項に記載の情報処理装置。
【請求項１６】
情報処理装置であって、
表示部と、
前記表示部に表示される表示画面を生成する制御部と、
発光部と、
前記発光部の発光状態を制御可能な別の制御部と、
前記制御部に電力を供給する電力供給部であって、当該供給された電力が所定電圧以上になったことを検知して第１監視信号を出力する前記電力供給部と、
を有し、
前記制御部は、前記電力供給部から電力が供給され、所定の起動処理を実行して第２監視信号を出力し、
前記別の制御部は、前記電力供給部から出力される前記第１監視信号、及び、前記制御部から出力される前記第２監視信号を受信するように構成され、
前記別の制御部は、前記電力供給部から前記第１監視信号を受信してから所定時間が経過するまでに前記制御部から前記第２監視信号を受信しなかった場合に、前記発光部が所定の発光状態になるように制御することを特徴とする情報処理装置。
【請求項１７】
前記別の制御部は、前記第１監視信号を受信すると時間の計測を開始するのであって、
前記電力供給部から前記第１監視信号を受信してから所定時間が経過するまでに前記制御部から前記第２監視信号を受信しなかった前記場合とは、前記別の制御部が前記計測を開始してから前記第２監視信号を受信しないまま前記所定時間を計測し終えた場合であることを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
プロセッサ、第１発光部、及び、前記プロセッサに電力を出力する電力出力部、を備える情報処理装置の故障検知方法であって、
前記電力出力部から当該出力された電力が所定電圧値以上になったときに第１監視信号を出力するステップと、
前記電力出力部から前記電力が入力された前記プロセッサが第２監視信号を出力するステップと、
前記第１監視信号を受信してから所定時間内に前記第２監視信号を受信しない場合に、第１異常信号を出力するステップと、
前記第１異常信号が入力されたときに、前記第１発光部が所定の発光状態になるように制御するステップと、を有することを特徴とする情報処理装置の故障検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理装置の故障検知方法に関するものである。特に、ＣＰＵを用いた装置において、ＣＰＵが起動しないときも、故障部位を検知して故障内容を切り分け表示できる技術に関する。
【背景技術】
【０００２】
コピー、プリンタ、スキャナ等の機能を搭載したＭＦＰ(Multi Functional Peripheral)等の情報処理装置では、装置の故障時には、サービスマンがユーザ先を訪問して、装置を直接調査して修理にあたっている。情報処理装置の全体を制御するＣＰＵが起動しない様な故障の場合には、ＣＰＵによる故障検知や故障個所の表示ができないため、サービスマンが故障個所の特定をする為に多大な作業が必要となる。電源、配線、基板、不揮発メモリ内のデータ等の広い範囲にわたって故障の可能性があるためである。
さらに、基板上には、複数の電源回路、クロック、リセット信号生成回路等があるため、基板上の故障個所の特定は、さらに難度の高い作業である。
従来、故障検知する回路を追加装備して、この回路をＣＰＵとは独立して動作するように設計し、ＣＰＵの動作中に起きる故障を速やかに検知できるようにした情報処理装置がある（たとえば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−００２６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
背景技術に記載したような故障検知回路を追加した情報処理装置では、ＣＰＵが正常に起動しない場合には、電源やクロック、リセット信号などを所定の状態に揃えることができないため、故障検知回路が動作できず機能しない。
本発明は、上記の課題を解決するためになされたものであり、本発明の目的は、ＣＰＵが正常に起動しない時でも、故障を検知し故障個所を特定して表示することのできる情報処理装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明は、情報処理装置であって、プロセッサと、第１発光部と、前記プロセッサに電力を出力し、当該出力された電力が所定電圧値以上になったときに第１監視信号を出力する第１電力出力部と、前記第１電力出力部から出力される前記第１監視信号、及び、前記電力が入力された前記プロセッサから出力される第２監視信号を受信でき、且つ、前記第１監視信号を受信してから所定時間内に前記第２監視信号を受信しない場合に、第１異常信号を出力する故障検知手段と、前記第１異常信号が入力されたときに、前記第１発光部が所定の発光状態になるように制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【０００６】
本発明の情報処理装置では、ＣＰＵが起動しないときも、故障部位を自己診断して故障内容を切り分け表示できる。これにより、ユーザやサービスマンが情報処理装置の故障内容を容易に速やかに認知できる。
【図面の簡単な説明】
【０００７】
【図１】システム構成例を示す図である。
【図２】情報処理装置の内部構成を示すブロック図である。
【図３】情報処理装置の内部の制御部の構成を示すブロック図である。
【図４】第１実施形態の電源制御部の構成を示すブロック図である。
【図５】電源制御部の故障検知部の構成を示したブロック図である。
【図６】故障検知部に関する信号波形の例を示す図である。
【図７】故障検知部における故障検知の処理を示すフローチャートである。
【図８】電源制御部の故障表示信号生成部の構成を示すブロック図である。
【図９】故障表示部における信号の組み合わせを示す表である。
【図１０】第２実施形態の電源制御部の他の構成を示すブロック図である。
【図１１】故障検知部に関する信号波形の他の例を示す図である。
【図１２】第３実施形態における電源制御部の構成を示したブロック図
【図１３】不揮発メモリ制御部におけるメモリ制御を示したフローチャート
【図１４】第４実施形態における電源制御部の構成を示したブロック図
【図１５】ＣＰＵがＢＩＯＳ処理を行う際のフローチャート
【図１６】第５実施形態における電源制御部の構成を示したブロック図
【図１７】不揮発メモリ制御部におけるバスアービトレーション処理を示したフローチャート
【図１８】第４実施形態における故障記録部の遷移状態を示すタイミングチャート
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【０００９】
以下、本発明の故障診断装置を情報処理装置に適用した場合を例にして説明する
図１は、本発明を適用した情報処理装置を用いたシステム構成例を示す図である。
本発明の情報処理装置としては、例えば、プリンタや、コピー機能、スキャン機能、FAX機能及び印刷機能等の各種機能を搭載したＭＦＰ(Multi Functional Peripheral)等の画像形成装置を用いてもよい。それら情報処理装置は、ネットワーク１０１を介して他の装置に接続され、相互にデータ送受信できるように構成されている。図１では、ＭＦＰ１０５は、ＰＣ１０２、１０３や、スキャナプリンタ１０４、１０６や、ファクシミリ１０７とネットワーク１０１を介して接続されている。ネットワークとしてはＥｔｈｅｒｎｅｔ（登録商標）を例として用いるが、本発明はネットワークの形式には依存しないため、他の方式のネットワークでも適用可能である。
【００１０】
図２は、本発明を適用した故障部位を自己診断できる情報処理装置であるＭＦＰ(Multi Functional Peripheral)１０５の内部構成を示したブロック図である。
制御部２０２は、ＭＦＰ１０５の動作を制御する部位であり、データの送受信、データの変換、データの保存、電力制御を行う。
例えば、ＭＦＰ１０５のプリント動作の場合には、ネットワーク接続のＰＣ１０２でジョブデータが生成され、ネットワーク１０１を通して制御部２０２に転送されて、一旦保存される。制御部２０２は、保存したジョブデータを画像データに変換し、プリンタ部２０４に転送する。プリンタ部２０４は、制御部２０２の制御下で画像データを記録紙に印字して装置外に排出する。
【００１１】
ＭＦＰ１０５のスキャン動作の場合は、ユーザが、原稿をスキャナ部２０３にセットした後、操作部２０１の画面を参照しながらボタン操作して、スキャン動作の設定、動作開始を指示する。スキャナ部２０３は、制御部２０２の制御下で、原稿を光学的に読み取り画像データに変換する。画像データは制御部２０２に一旦保存された後、あらかじめ操作部２０１で指定した送信先に転送される。
【００１２】
ＭＦＰ１０５がコピー動作の場合は、ユーザが原稿をスキャナ部２０３にセットした後、操作部２０１の画面を参照しながらボタンを操作することにより、コピー動作の詳細設定や、コピー動作の開始を指示する。制御部２０２の制御下で、スキャナ部２０３は原稿を光学的に読み取り画像データに変換する。得られた画像データは制御部２０２に一旦保存された後、制御部２０２の制御下で、プリンタ部２０４で利用できるデータ形式に変換され、プリンタ部２０４に転送され、プリンタ部２０４では画像データを記録紙に印字して装置外に排出する。
【００１３】
第一の電源２０５、第二の電源２０７は、電源プラグ２０６から供給される交流の商用電源を、ＭＦＰ１０５の各部で使用する直流電圧に変換する電源である。第二の電源２０７は、制御部２０２から出力される電源制御信号２０８によって電源出力が制御される。第二の電源２０７は、通常モードではオンであるが、省電力モードではオフである。
ここで省電力モードとは、情報処理装置がジョブ処理を行っていないときに、商用電源の消費電力を低減するために、制御部２０２以外の部分への給電を停止している状態である。
制御部２０２は、省電力モード下でもジョブの受信を検知することができ、ジョブを検知すると、直ちに、電源制御信号２０８を切り替えて第二の電源２０７をオンして通常モードに移行する。
【００１４】
図３は、情報処理装置の内部の制御部２０２の構成を示したブロック図である。
制御部２０２を制御するＣＰＵ３０２は、ネットワーク通信を行うネットワークＩ／Ｆ部３０１、操作部２０１と通信を行う操作部Ｉ／Ｆ３０３、スキャナ部２０３やプリンタ部２０４と通信を行うプリンタスキャナＩ／Ｆ部３０４、電源制御部３０７、動作時に使用するＲＡＭ３０５等と内部バス３０８で接続されている。また、ＲＡＭ３０５には、容量などのＲＡＭの仕様を格納可能なＳＰＤ３４０を付帯している。さらに、センサ３２１が内部バス３０８で接続されており、電圧、温度などを計測できる。
ＭＦＰ１０５が、電源オフ状態からオンとなり起動すると、第一の電源２０５がオンとなって、電源制御部３０７、ネットワークＩ／Ｆ部３０１が動作を開始する。また第一の電源２０５からの電源供給により、第一のローカル電源部３１５がオンされ、ＣＰＵ３０２に内蔵される電源制御クロックＲＴＣ３１８が動作を開始する。
【００１５】
電源制御クロックＲＴＣ３１８が動作を開始すると、電源制御クロック信号３１９が出力されて、電源制御部３０７に供給されることにより、電源制御部３０７の動作も開始される。また、電源制御クロックＲＴＣ３１８が動作を開始することにより、ＣＰＵ３０２に内蔵されるシステム電源制御部３１７が動作を開始する。
システム電源制御部３１７は、情報処理装置を省電力モードか通常モードか切り替える制御を行うものであり、電源投入時には、省電力モード・通常モード切り替え信号３１３を出力して、情報処理装置を通常モードに切り替える。
【００１６】
電源制御部３０７は、電源制御クロック信号３１９が発振を開始し、省電力モード・通常モード切り替え信号３１３が出力されたタイミングで、電源制御信号２０８を切り替えて出力することにより、第二の電源２０７をオンにする。
第二の電源２０７がオンになると、第二の電源２０７から電源供給を受ける第二のローカル電源部３０６もオンとなり、３．３Ｖ電源出力、１．８Ｖ電源出力、１．０Ｖ電源出力を開始する。
３．３Ｖ電源は、ＣＰＵ３０２をはじめ、プリンタスキャナＩ／Ｆ部３０４、操作部３０３、ＲＡＭ３０５に供給される。ＣＰＵ３０２は、３．３Ｖ電源出力のほかに、１．８Ｖ電源出力と１．０Ｖ電源出力も使用する。
【００１７】
第二のローカル電源部３０６では、各出力が規定の電圧に到達してから１００ミリ秒程度の遅延をもって、第二パワーグッド信号３１２を生成して電源制御部３０７とＣＰＵ３０２に入力される。
第二のローカル電源部３０６からの３．３Ｖ電源出力は、システムクロックの生成部３１４にも供給され、システムクロックが発振を開始する。システムクロックの発振信号は、ＣＰＵ３０２の動作に必須なものでありＣＰＵに対して出力される。
本発明では、故障検知ができるようにするため、ＣＰＵ３０２に出力されるのと同じシステムクロックの発振信号が、電源制御部３０７にも出力される。具体的には、電源制御部３０７に内蔵される故障検知部４０３、４０４の監視する複数の監視信号のうちの一つとすることで故障検知に活用される。
ＣＰＵ３０２は、第二のローカル電源部３０６からの３．３Ｖ電源供給を受け、第二パワーグッド信号３１２が入力されると、動作を開始し、起動するためのプログラムをＲＡＭ３０５から読み出して、読み出したプログラムを実行することで一連の起動動作を行う。
【００１８】
ＭＦＰ１０５が省電力モードのときには、ＣＰＵ３０２のコントロール下にある電源制御部３０７から出力される電源制御信号２０８によって第二の電源２０７はオフになっている。
この省電力モードのとき、制御部２０２全体の中で、動作しているのは第一の電源２０５から電源供給を受けるネットワークＩ／Ｆ部３０１と電源制御部３０７のみである。
ネットワークＩ／Ｆ部３０１は、ネットワーク１０１経由のパケットを受信してパケットの内容を点検し、ジョブデータなどの処理が必要なパケット、即ち、ウェイクパケットである場合には、ネットワーク復帰トリガ信号３１１を電源制御部３０７に出力する。この信号が、省電力モードから通常モードに移行する契機となる。
電源制御部３０７は、ネットワーク復帰トリガ信号３１１を受けて、第二の電源２０７をオンに切り替える電源制御信号２０８を出力する。第二の電源２０７がオンになった後は上述の電源投入時と同様に、一連の動作でＣＰＵ３０２が起動する。
【００１９】
ＣＰＵ３０２は、通常モードにおけるプリント、コピー、ＦＡＸなどのジョブやユーザによる操作部２０１の操作が無いときには、情報処理装置を省電力モードに移行させて無駄なエネルギー消費を抑制する。
省電力モードへの移行は、ＣＰＵ３０２が、読み出して動作しているＯＳプログラムをシャットダウンさせ、各部の終了処理を行った後、電源制御部３０７からの電源制御信号２０８の切り替えを通じて第二の電源２０７をオフにする一連の動作によりなされる。
【００２０】
電源制御部３０７は、ＣＰＵ３０２のシステム電源制御部３１７からの省電力モード・通常モード切り替え信号３１３と、電源制御クロックＲＴＣ３１８からの電源制御クロック信号３１９の入力を受けて、その入力を元に電源制御信号２０８を出力している。
ＣＰＵが起動しなかった場合には、電源制御部３０７の機能は途中で停止しているので、それら電源制御に関する信号を監視することで、故障を検知できる。
【００２１】
電源制御部３０７で検知した故障は、第一の故障表示部２０９と、第二の故障表示部３０９との２か所に表示可能である。
第一の故障表示部２０９は、故障検知を報告する目的であり、ユーザやサービスマンが装置の外部から容易に目視可能な場所である操作部２０１に設けられている。ユーザにとっては故障に関する詳細情報は不要であるから、この第一の故障表示部２０９での報告内容は必要最小限のものでよい。ただし、操作部２０１全体の表示画面は、ＣＰＵ３０２により制御され描画されているので、ＣＰＵが起動しないときには、ＣＰＵ由来の故障画面表示はなされない。そこで、故障を検知した場合には、電源制御部３０７内部で、故障表示信号を生成して操作部２０１に出力して、操作部２０１内の第一の故障表示部２０９で故障の表示を行う必要がある。
【００２２】
第二の故障表示部３０９は、より詳細な情報を提供するために装置の筐体内部にある制御部２０２内に位置しており、たとえば、制御部２０２のメイン基板内の液晶表示セルなどの形態で設けられている。
この第二の故障表示部３０９によってＣＰＵ起動のどの段階で停止したか等の故障の詳細内容を判別できる表示を行う。また、この第二の故障表示部３０９の表示内容により、ＣＰＵが起動しないときに装置内のどの部分が動作していないかを絞ることができる。
以上説明したように、２つの故障表示部を備えることにより、単純な故障報告と、詳細な故障内容報告の２つの目的のそれぞれを達成することができる。
【００２３】
〔第１実施形態〕
第１実施形態では、複数の故障検知部を備えることで複数種類の故障を検知し、表示部において故障検知部に応じた異なる表示を行う例について説明する。
図４は、第１実施形態における電源制御部３０７の構成を示したブロック図である。
電源制御信号生成部４０１は、前述のような省電力モードにおける第二の電源２０７や第二のローカル電源部３０６のオン・オフ等のシステムの電源制御を行う。この電源制御信号生成部４０１には、監視信号Ａ〜Ｆや、ＣＰＵ３０２が起動したときにアクセスする内部バス３０８や入出力信号群４０６が接続されている。
第一の故障検知部４０３、第二の故障検知部４０４は、電源制御信号生成部４０１で使用する信号を監視し、異常を検知するものである。具体的な異常検知の方法は後述するが、それぞれ異常を検知すると、異常信号１ないし異常信号２を故障表示信号生成部４０５に出力する。故障表示信号生成部４０５には、監視信号Ａ〜Ｆが入力されており、異常信号１ないし２が入力されると、そのときに入力されていた監視信号Ａ〜Ｆに基づいて、第一の故障表示部２０９、第二の故障表示部３０９に適した形での故障表示信号を出力する。
第一の故障表示部２０９用の表示信号３１０は、内部バス３０８、操作部Ｉ／Ｆ３０３を経由して操作部２０１内の第一の故障表示部２０９に伝達されて、簡略な故障表示がなされる。第二の故障表示部３０９用の表示信号３２０は、隣接する第二の故障表示部３０９に伝達されて、詳細な故障表示がなされる。
【００２４】
電源制御部３０７に設けられた内部クロック４０２は、システムクロック生成部３１４とは独立して駆動クロック信号を生成して、第一の故障検知部４０３、第二の故障検知部４０４、故障表示信号生成部４０５を駆動する。第一の故障検知部４０３、第二の故障検知部４０４、故障表示信号生成部４０５が、電源制御信号生成部４０１とは別異の駆動クロック信号を使用することにより、ＣＰＵ３０２に制御されるシステムクロック生成部３１４がＣＰＵの故障等により動作していないときでも、故障検知および表示の動作を行うことができるという利点がある。
【００２５】
このように、第１実施形態では、電源制御部３０７内部に、電源制御を行う部分と故障検知および表示信号の生成を行う部分とを有する。この構成により、故障検知に必要な信号の配線を簡略にコンパクトにでき、故障検知の信頼性を高めることができる。
具体的な機器構成では、例えば、電源制御部３０７を１チップのプログラマブルＩＣで構成する事例が挙げられる。プログラマブルＩＣに内蔵の内部クロック４０２を、ＣＰＵに依存しない内部クロックとして活用すれば、周辺の外的要因の影響を受けにくく、信頼性の高い駆動クロック信号が得られる。また故障検知に必要な信号線もＩＣ内部で予め結線されており、後工程の半田組立不良などの影響がないので、故障検知の信頼性を高めることが可能である。
【００２６】
図５は、第一の故障検知部４０３と第二の故障検知部４０４の構成を示したブロック図である。第一の故障検知部４０３は監視信号Ａがアクティブに変化したときに、第一のタイマ５０１をスタートする。第一のタイマ５０１は、内部クロック４０２が生成する内部クロック信号で動作しており、スタートから所定時間が経過すると、信号を出力して第一の故障判定部５０２に所定時間経過を伝える。
第一の故障判定部５０２には、所定時間内に捕捉されるべき監視信号Ｃが入力される監視信号Ｃも接続されており、第一のタイマ５０１の所定時間経過の通知までに、監視信号Ｃが捕捉されないときには、異常信号１を出力して、故障表示信号生成部４０５に故障の検知を伝達する構成となっている。
もちろん、所定時間内に監視信号Ｃが捕捉されれば、正常と判定され、異常信号１は出力されない。
【００２７】
第一のタイマ５０１スタートの契機となる監視信号Ａとしては、例えば、一連のＣＰＵ起動動作の始まりに変化する信号が好適である。また、所定時間のタイマカウントまでに捕捉されるべき監視信号Ｃとしては、例えば、一連のＣＰＵ起動動作の終了を示す信号が好適である。
【００２８】
第二の故障検知部４０４は、監視信号が異なるのみで同様の構成となっている。
２つの故障検知部によって２種類の異常を検知できるので、故障個所の特定が極めて容易である。たとえば、第一の故障検知部４０３を第一の電源２０５によって起動する部分の故障検知に適用し、第二の故障検知部４０４を第二の電源２０７によって起動する部分の故障検知に適用する等、故障検知の対象を分割すると故障個所が特定し易く良い。この事例では、第一の電源２０５は、電源投入時に一回起動したらオンのままであるが、第二の電源２０７は、省電力モードへの移行時にオフとなり、通常モードへの復帰時にオンになり、オン・オフを繰り返すので、故障検知回路も分けておく方が合理的な点も指摘できる。
【００２９】
図５で示される、二つの故障検知部から成る故障検知の具体的構成では、第一の故障検知部４０３の監視信号Ａとして、第一のローカル電源部３１５が、３．３Ｖ電源出力、１．８Ｖ電源出力、１．０Ｖ電源出力の各電源出力が規定の電圧に到達したときに出力する、第一パワーグッド信号３１６を接続する事例も挙げられる。
こうすれば、第一のローカル電源出力の安定化と共に故障検知が開始される。
監視信号Ｂは、電源制御クロック信号３１９とする。監視信号Ｃは、ＣＰＵ３０２のシステム電源制御部３１７からの省電力モード・通常モード切り替え信号３１３とする。これらの３つの監視信号は順次動作を開始する信号である。
正常時であれば、第一のローカル電源部３１５が出力を開始すれば、順次、所定時間以内に、電源制御クロック信号３１９が発振を開始し、その後、省電力モード・通常モード切り替え信号３１３が出力されるので、正常と判定され、異常信号１は出力されない。
他方、どこか故障個所があれば、この連鎖が途中で止まるので、異常と判定され、異常信号１が出力される。
【００３０】
また、第二の故障検知部４０４の監視信号Ｄとして、省電力モード・通常モード切り替え信号３１３を採用する事例も好ましい。監視信号Ｅは、第２の電源２０７をオンにする電源制御信号２０８とする。監視信号Ｆは、第二のローカル電源部３０６が出力する第二パワーグッド信号３１２とする。これらの３つの監視信号は順次動作を開始する信号である。
正常時であれば、切り替え信号３１３が出力された後、順次、所定時間以内に、電源制御部３０７が電源制御信号２０８を出力し、第二のローカル電源部３０６が出力を開始して間もなく第二パワーグッド信号が出力されるので、正常と判定され、異常信号２は出力されない。
他方、どこか故障個所があれば、この連鎖が途中で止まるので、異常と判定され、異常信号２が出力される。
【００３１】
図６は、第一の故障検知部４０３と第二の故障検知部４０４に関する信号波形の例であり、すべての監視信号が正常の場合を例示している。
監視信号Ａの出力（イベントＡ）により第一のタイマ５０１がカウントを開始する。
次に監視信号Ｂが出力（イベントＢ）される。これは故障検知には直接は使用されないが、故障検知時に故障表示信号生成部４０５に出力されることで、故障検知時の故障個所の特定に活用される。この事例では、故障検知に直接には使用されない信号を活用する事例を示したが、複数の監視信号を同様に取り扱ってもかまわない。
その次に、正常であれば、監視信号Ｃが出力（イベントＣ）される。その後、第一のタイマ５０１が所定時間Ｔ１をカウントするとタイマ出力する。このときまでに、監視信号Ｃが出力されていれば正常と判定され、出力されていなければ異常と判定される。
監視信号Ａ〜Ｃは順に出力されるべき信号であり、監視信号Ｂが出力されてないときは監視信号Ｃも出力されない。したがって、監視信号Ｃが出力されないときには、監視信号Ｂも出力されない場合と、監視信号Ｃのみが出力されない場合の２つの異常態様が存在しうるので、上述のように、監視信号Ｂが故障個所の特定に活用できる訳である。
【００３２】
第一の故障検知部４０３の監視信号と動作の関係を上に述べたが、第二の故障検知部４０４の監視信号と動作の関係も同様である。
監視信号Ｄの出力（イベントＤ）により第二のタイマ５０３がカウントを開始する。次に監視信号Ｅが出力（イベントＥ）される。これは故障検知には使用されないが、故障検知時に故障表示信号生成部４０５によって、故障個所の特定の場合に使用できる。次に正常であれば監視信号Ｆが出力（イベントＦ）される。その後、第二のタイマ５０３が一定時間Ｔ２をカウントするとタイマ出力を出力する。このとき、監視信号Ｆが出力されていれば正常、出力されていなければ異常と判定する。
【００３３】
監視信号Ｄ〜Ｆは順に出力されるべき信号であり、監視信号Ｅが出力されてないときは監視信号Ｆも出力されない。したがって、監視信号Ｆが出力されないときには、監視信号Ｅが出力されない場合と、監視信号Ｆのみ出力されない場合の２つの異常が考えられる。
図６におけるイベントとしては、単純な信号の出力を取り上げたが、より複雑なイベントとしても良い。たとえば、クロックの発振開始や、メモリのリード信号のアクセスの有無などのイベントを監視信号としても良い。
【００３４】
図７（ａ）は、第一の故障検知部４０３における故障検知の処理を示したフローチャートである。Ｓ７０１においてイベントＡが発生するまで待ち、イベントＡの発生を契機にＳ７０２において第一のタイマ５０１をスタートする。Ｓ７０３において第一のタイマ５０１が一定時間Ｔ１をカウントするまで待ち、Ｔ１時間経過したときに、Ｓ７０４においてイベントＣの有無を調べる。イベントＣがあれば正常終了し、イベントＣが未だなければＳ７０５において異常信号１を出力して処理を終了する。
【００３５】
図７（ｂ）は、第二の故障検知部４０４における故障検知の処理を示したフローチャートである。Ｓ７０６においてイベントＤが発生するまで待ち、イベントＤの発生を契機にＳ７０７において第二のタイマ５０３をスタートする。Ｓ７０８において第二のタイマ５０３が一定時間Ｔ２をカウントするまで待ち、Ｔ２時間経過したときに、Ｓ７０９においてイベントＦの有無を調べる。イベントＦがあれば正常終了し、イベントＦが未だなければＳ７１０において異常信号２を出力して処理を終了する。
【００３６】
図８は、故障表示信号生成部４０５の構成を示すブロック図である。
第一のラッチ手段８０１は、異常信号１が出力されたときの監視信号Ａ〜Ｃの状態を保持するラッチである。故障検知後に信号の状態が変化する場合があるので、第一のラッチ手段８０１で、各監視信号の信号レベルを保持して、故障表示内容のブレや揺らぎを防止することが好ましい。
第一のラッチ手段８０１によってラッチされて信号レベルを保持された信号は、テーブル変換手段８０３に入力され、入力信号の状態の組み合わせに応じて、表示する故障の種類を示すエラー信号へと変換される。
同様に、第二の故障検知部の第二のラッチ手段８０２でラッチされた信号も、テーブル変換手段８０３に入力される。テーブル変換手段８０３には、概略表示する第一の故障表示部２０９と、詳細表示する第二の故障表示部３０９の２種類の表示手段に対応して、第一の故障表示部２０９用の変換テーブルと、第二の故障表示部３０９用の変換テーブルの２つが備えられている。
【００３７】
第一の点滅生成回路８０４の動作内容は以下のとおりである。第一のラッチ手段８０１でラッチされた信号Ａ・Ｂ・Ｃは、それら各々のアクティブ／インアクティブの組み合わせに応じて、テーブル変換手段８０３の第一の故障表示部２０９用の変換テーブル（図９（ａ）の対応変換表を内容とする）を経て、所定のエラー信号１とエラー信号２に変換されて第一の点滅生成回路８０４に伝えられる。第一の点滅生成回路８０４では、故障エラー信号１・２の内容に応じた点滅パターン信号が生成されて、第一の故障表示部２０９に出力される。
【００３８】
第二の点滅生成回路８０５の動作内容も同様である。第二のラッチ手段８０２でラッチされた信号Ｄ・Ｅ・Ｆは、それら各々のアクティブ／インアクティブの組み合わせに応じて、テーブル変換手段８０３の第二の故障表示部３０９用の変換テーブル（図９（ｂ）の対応変換表を内容とする）を経て、所定のエラー信号３とエラー信号４に変換されて第二の点滅生成回路８０５に伝えられる。第二の点滅生成回路８０５では、故障エラー信号３、４の内容に応じた点滅パターン信号が生成されて、第二の故障表示部３０９に出力される。
故障内容を概略表示する第一の故障表示部は、例えば、１つのＬＥＤで構成し、点滅のパターンや周波数で複数の故障を表現するようにできる。
故障内容を詳細表示する第二の故障表示部は、複数の色の異なるＬＥＤで構成すれば、点灯、点滅、消灯の組み合わせ、および、点滅のパターンや周波数によって、より細分化した詳細な故障内容が表示できる。
【００３９】
図９（ａ）は、上述の第一の故障表示部２０９用の変換テーブルの対応変換表の具体例である。第一のラッチ手段８０１の出力である、ラッチ信号Ａがアクティブ、ラッチ信号Ｂがインアクティブであるとき、ラッチ信号Ｂが出力されないことを故障原因と判定する。そして、エラー信号１をアクティブ、エラー信号２をインアクティブにして、第一の点滅生成回路８０４に伝えると、第一の点滅生成回路８０４が点滅パターン１を生成する。
【００４０】
同様に、第一のラッチ手段８０１の出力である、ラッチ信号Ａがアクティブ、ラッチ信号Ｂがアクティブ、ラッチ信号Ｃがインアクティブの場合は、ラッチ信号Ｃが出力されないことを故障原因と判定する。そして、エラー信号１をインアクティブ、エラー信号２をアクティブにして、第一の点滅生成回路８０４に伝えると、第一の点滅生成回路８０４が点滅パターン２を生成する。
第一のラッチ手段８０１の出力であるラッチ信号Ａ、ラッチ信号Ｂ、ラッチ信号Ｃがすべてアクティブの場合は、正常と判断する。そして、エラー信号１、エラー信号２を共にインアクティブにして、第一の点滅生成回路８０４に伝えると、第一の点滅生成回路８０４は消灯を出力する。
【００４１】
図９（ｂ）は、上述の第二の故障表示部３０９用の変換テーブルの対応変換表の具体例である。第二のラッチ手段８０２の出力である、ラッチ信号Ｄがアクティブ、ラッチ信号Ｅがインアクティブであるとき、ラッチ信号Ｅが出力されないことを故障原因と判定する。そして、エラー信号３をアクティブ、エラー信号４をインアクティブにして、第二の点滅生成回路８０５に伝えると、第二の点滅生成回路８０５が点滅パターン３を生成する。
【００４２】
同様に、第二のラッチ手段８０２の出力である、ラッチ信号Ｄがアクティブ、ラッチ信号Ｅがアクティブ、ラッチ信号Ｆがインアクティブであるとき、ラッチ信号Ｆが出力されないことを故障原因と判定する。そして、第二の点滅生成回路８０５に伝えると、第二の点滅生成回路８０５が点滅パターン４を生成する。
【００４３】
第二のラッチ手段８０２の出力であるラッチ信号Ｄ、ラッチ信号Ｅ、ラッチ信号Ｆがすべてアクティブの場合は、正常と判断する。そして、エラー信号３、エラー信号４を共にインアクティブにして、第二の点滅生成回路８０５に伝えると、第二の点滅生成回路８０５は消灯を出力する。
【００４４】
以上、説明したように、第１実施態様では、２つの故障検知部と２つの故障表示部を備え、２種類の異常を検知し、かつ、単純／詳細の２種類の故障表示ができる。これによりＣＰＵが起動しないときにもサービスマンおよびユーザに故障を報知でき、更に、サービスマンには、故障個所の詳細内容を表示できる。
【００４５】
〔第２実施形態〕
第２実施形態においては、故障検知時に一旦、再起動し、再起動後に再度故障を検知した場合に故障を表示する形態について説明する。
商用の交流電源から直流電源に変換する電源ユニット、例えば、第二の電源２０７では、しばしば起動時の突入電流の過多で過電流を検知し、電源ユニットとして出力しなくなる停止現象が発生する。このような原因による故障のときには、オフ・オン後の再起動時に過電流がなければ正常に起動できるから、直ちに故障判定することは好ましくない。別の原因による故障の場合には、オフ・オン後も起動しないから、区別が付けられる。
したがって、１回目のオフからオン動作で電源ユニットが起動しない場合、直ちに故障と判定せず、故障表示せず、２回目のオフ・オン後に起動しなければ，故障と判定して、故障表示を行うのが望ましい。
【００４６】
第２実施形態では、省電力モードの移行、復帰でオフ・オンされる第二の電源２０７の異常を検知したときに、オフ・オンする場合について説明する。
図１０は、第２実施形態における電源制御部３０７の構成を示したブロック図である。第１実施形態で説明したブロック図（図４）に対して、第一の２回目判定回路１００１、第二の２回目判定回路１００３が追加されている点で相違する。
ここでは第二の電源２０７によって起動する部分の故障を第二の故障検知部４０４によって検知する場合を例にして説明する。
第二の故障検知部４０４で故障を検知した際、第二の２回目判定回路１００３で「１回目の故障検知」と判定した場合は、電源制御信号生成部４０１に対して、第二の再起動の要求信号１００４を出力する。
【００４７】
第二の再起動の要求信号１００４を受けた電源制御信号生成部４０１は、第二の電源２０７に対して電源制御信号を出力し、第二の電源２０７をオフ・オンする。このときには、故障表示信号生成部４０５に異常を通知しないから故障は表示されない。
第二の２回目判定回路１００３が「２回目の故障検知」と判定した場合は、第二の再起動の要求信号１００４は出力せずに、故障表示信号生成部４０５に異常を通知する。
このようにして、電源起動時の過電流検知により電源が起動しない場合には、再度電源をオフ・オンして故障検知するまで、異常を表示しない仕組みが構成されている。
第一の電源２０５に対しても第一の２回目判定回路１００１によって同様に第１の再起動の要求信号１００２を出力し、再起動を行うことができる。
【００４８】
図１１は、第２実施形態における第二の故障検知部及び第二の２回目判定回路に関する信号波形の例である。
第１実施形態の波形（図６）と異なるのは、監視信号Ｄの出力を契機にカウントを開始した第二のタイマ５０３がカウントアップしたとき、それまでに監視信号Ｆが出力されていなくても、１回目であれば、異常信号２を出力せず、第二の再起動の要求信号を電源制御信号生成部４０１に出力し、電源制御信号生成部４０１からの電源制御信号で第２の電源２０７を再起動させることである。
第２の電源２０７を再起動の後に、監視信号Ｄの出力を契機に再びカウントを開始した第二のタイマ５０３がカウントアップしたとき、それまでに監視信号Ｆが出力されていなければ、二回目の故障検知であるから、異常信号２を出力する。
【００４９】
以上、説明したように、第２実施形態においては、電源が過電流で起動しないときには故障表示せずに電源をオフ・オンし、電源オフ・オン動作の２回目でも起動しないときに故障表示を行うことで、無用な故障の表示を抑え、不要なサービスマンの出動を防ぐことが可能となる。
【００５０】
〔第３実施形態〕
第３実施形態においては、ＣＰＵが起動しなかったことを検知時に監視信号の状態を不揮発メモリに保存する例について説明する。これは、故障の発生を後から把握する手段を設けることにより、第１実施形態で説明したＬＥＤによるエラー表示を見逃した場合や、再現性が低く後から同じ問題が発生しない場合において、問題の切り分けに有効である。さらに、本実施形態においては、ＣＰＵが起動後の予期せぬリブートを検知し、リブート発生時の信号の状態も不揮発メモリに保存する構成も追加する。第１実施形態のように起動しない状態を保持するのであればＬＥＤ表示が有効だが、リブートの場合はＣＰＵ３０２がすぐに起動してしまいＬＥＤの表示をするタイミングがほとんどない。このために不揮発メモリに監視信号の状態を保存することが、デバッグに有効な手段となる。
【００５１】
図１２は、電源制御部３０７の構成を示したブロック図である。第１実施形態で説明した電源制御部３０７に対して、本実施形態では異常を検知した時に監視信号を記録する故障記録部１２０２とリブートの発生を検知するリブート検知部１２０１が追加されている。
リブート検知部１２０１はリブートの発生時に変化する信号である再起動信号の変化を検知し、検知時には異常信号３をアサートする。故障記録部１２０２には異常信号１、異常信号２、異常信号３が入力される。どれか一つアサートされたときに故障記録部１２０２は内部にある不揮発メモリ１２０５に記録する。故障記録部１２０２の内部にある不揮発メモリ制御部１２０３は、異常信号を受信したときに監視信号をラッチするデータラッチ１２０４と不揮発メモリ１２０５を制御する部位である。ここでは監視信号は第１実施形態で説明した監視信号Ａ〜Ｆでも良いし、他の信号を追加しても良い。また、監視信号の状態をそのままラッチしても良いし、データラッチ１２０４内部にデコーダを備えて信号の状態をコード化しても良い。不揮発メモリ制御部１２０３は不揮発メモリ１２０５に対してアドレスバスを通してアドレスなどの制御信号を出力する。データラッチ１２０４の出力が不揮発メモリ１２０５のデータとして書き込まれる。
【００５２】
この不揮発メモリ１２０５は電源制御部３０７を構成するプログラマブルロジック（例えばＣＰＬＤ、もしくは、ＦＰＧＡと呼ばれるＩＣ）に内蔵するものを利用している。プログラムロジック内に故障検知や不揮発メモリを内蔵することにより、一般的なマイコンを使ったシステムや不揮発メモリを外付けにしたシステムにくらべて構造が単純になり信頼性の高いシステムが構築できることが利点である。
【００５３】
以上の構成により起動しないとき、ならびに、リブートが発生した時の監視信号の状態が不揮発メモリ１２０５に書き込まれる。書き込まれた情報はＪＴＡＧ１２０６経由で読み出しが可能である。これは例えばＰＣからＪＴＡＧ１２０６にケーブルで接続し、ＰＣからＪＴＡＧコマンドを使用して不揮発メモリ１２０５に記録された情報をＰＣに転送することができる。ユーザはＰＣ上で情報を確認し、デバッグや故障解析に活用することができる。活用する例としては、例えば、電源制御信号２０８がアサートされていたのに、第二パワーグッド信号３１２が生成されない、またはある特定のリセット信号が解除されないといった情報が読み出された場合には、第二のローカル電源部３０６が故障していることが予想される。複数回のＭＦＰ１０５の電源のオフ・オンがされていると推測されているのに、不揮発メモリ１２０５には１回しか書き込みがされていない場合は、発生頻度の低い問題として解釈できる、といった活用ができる。
【００５４】
図１３は、不揮発メモリ制御部１２０３の回路における不揮発メモリ１２０５の制御の流れを示したフローチャートである。不揮発メモリ制御部１２０３はＣＰＵを内蔵していないため、処理の流れはすべてハードウェアシーケンサで構成される。
不揮発メモリ１２０５のアドレスは０番地から既定の最終アドレスまでの空間を有している。データバスは１６ビットであり、初期値は０ｘＦＦＦＦである。Ｓ１３０１において起動せず、または、リブートの発生、すなわち、異常信号１〜３のどれかが変化するまで待機する。異常信号が変化した場合、Ｓ１３０２において、監視信号をデータラッチ１２０４でラッチする。Ｓ１３０３においてアドレス値の初期値として不揮発メモリ１２０５の先頭アドレスである０とする。Ｓ１３０４以降、Ｓ１３０７の繰り返し処理では不揮発メモリ１２０５の未書き込みのアドレスのサーチを行う。Ｓ１３０４において不揮発メモリ１２０５の読み出しを行う。Ｓ１３０５において読み出したデータが初期値である０ｘＦＦＦＦであるか否かを判断し、０ｘＦＦＦＦ以外のデータであったときは書き込み済みと判断し、Ｓ１３０６においてアドレス値が最終アドレスであるか否かを判断する。最終アドレスではなかった場合は、Ｓ１３０７においてアドレス値をインクリメントし、再びＳ１３０４から処理を開始する。Ｓ１３０６において最終アドレスであった場合にはすべてのアドレスが書き込み済みであるので、書き込みを行わずに処理を終了する。Ｓ１３０５において読み出したデータが０ｘＦＦＦＦであった場合には、未書き込みのアドレスであると判断し、Ｓ１３０８においてデータラッチ１２０４にラッチされたデータを不揮発メモリ１２０５に書き込む。
【００５５】
以上、説明した流れによって、起動しない時やリブートが複数回発生したときにも順番に監視信号の情報が不揮発メモリ１２０５に書き込まれる。これにより故障解析やデバッグにおいて発生頻度についての情報も得られるようになる。ここでは不揮発メモリ１２０５のすべてのアドレスが書き込み済みのときには上書きしない例について説明したが、古い情報より新しい情報を優先するために、上書きしても良い。
【００５６】
以上説明したように、本実施形態においては起動しないとき、ならびに、リブートした時の監視信号の状態を不揮発メモリに保存することができる。これにより、後から不具合の内容を把握できる利点があり、再現性の低い問題のデバッグにも有効である。また複数回の不具合の情報を記録できることから、発生頻度といった情報を得ることができる。
【００５７】
〔第４実施形態〕
第４実施形態においては、ＣＰＵが起動した後ＢＩＯＳ処理中に、ＢＩＯＳ処理にてハードウェアの故障に起因するハングが発生した場合に、故障要因となったハードウェアの情報を含むＢＩＯＳのステータスコードを、故障記録部の不揮発メモリ１２０５に保存する例について説明する。
【００５８】
従来、ＢＩＯＳより判明するハードウェア故障は、ＲＡＭとＲＯＭが初期化されていない時点であることが殆どであるため、ＢＩＯＳのステータスコードを何らかの不揮発メモリに保存することは不可能であった。そのため、着荷不良などで、故障したＭＦＰを市場から引き上げた際に、障害が再現しない場合は、故障解析に困難を極めていた。
【００５９】
本実施形態においては、特に、「ＳＰＤ読み書き処理」と「ＲＡＭの初期化処理」の二つのＢＩＯＳ処理について、これらの処理時にハングした場合のステータスコードの保存について示す。これらは、ＳＰＤ３４０に故障要因がある場合、もしくは、ＲＡＭ３０５に故障要因がある場合に発生する。もちろん、本発明はこれら二つのＢＩＯＳ処理のハングに限定するものではなく、他のＢＩＯＳ処理のハングについて適用することは可能である。さらに、保存するデータはＢＩＯＳのステータスコードに限定する必要もなく、例えば、センサ３２１より取得可能な、電圧、温度などの計測値でも構わない。
【００６０】
図１４は、第４実施形態における電源制御部３０７の構成を示したブロック図である。
第３実施形態で説明したブロック図（図１２）と異なるのは、まず、アドレスデコーダ部１４００と故障記録部レジスタ１４０２と故障記録部デコーディド信号１４０４を追加したことである。これにより、ＣＰＵからアドレスを指定することで、故障記録部レジスタ１４０２にデータを格納することが可能となる。前記データは、ＢＩＯＳ実行時のステータスコードを用いることができる。
【００６１】
さらに、図１２と異なるのは、ＷＤＴデコーディド信号１４０６を追加していることである。これにより、ＣＰＵからアドレスを指定することで、ＷＤＴデコーディド信号１４０６をアサートすることが可能となり、この時点で異常信号２のアサートによる再起動が行われなくなるため、ＷＤＴとしての機能を無効にすることができる。すなわち、第二の故障検知部４０４は、イベントが発生しない場合は一定時間後に異常信号２をアサートし再起動するが、ＷＤＴデコーディド信号１４０６をアサートした場合はイベント発生と等価となり、異常信号２をアサートしなくなる。異常信号２がアサートした場合は、第３実施形態にてデータラッチが不揮発メモリに書き込まれるのと同様に、故障記録部レジスタ１４０２のデータが不揮発メモリに書き込まれる（以降、ＷＤＴデコーディド信号がディアサートのままであることによる異常信号２の発生を、ＷＤＴの作動と称することとする。）。
【００６２】
これにより、故障記録部レジスタ１４０２にＢＩＯＳ処理時のステータスコードを格納することと、ＷＤＴの作動時に故障記録部レジスタ１４０２のデータを不揮発メモリ1205に書き込むことが可能となる。
【００６３】
図１５（Ａ）は、ＣＰＵがＢＩＯＳ処理を行う際のフローチャートであり、この図にてハードウェアの故障に起因するハングが発生した際の、ステータスコードの保存について説明する。また、本フローチャートにおいて、ＢＩＯＳ処理のシーケンスは、単純化のために、「ＢＩＯＳコード（Ａ）→ＳＰＤ３４０読み書き処理→ＢＩＯＳコード（Ｂ）→ＲＡＭ３０５の初期化処理→ＢＩＯＳコード（Ｃ）」とする。
【００６４】
Ｓ１５００において、ＢＩＯＳの処理が開始する。この時点でＷＤＴは作動する可能性があり、特にＷＤＴデコーディド信号のアサートを行わない限り、一定時間後に再起動する。本実施形態では、正常時のＢＩＯＳ起動が２８秒以内には完了することより、ＷＤＴデコーディド信号のアサートを行わない場合は２８秒で再起動するものとする。
【００６５】
まず、正常系のフローチャートについて説明する。
Ｓ１５０２, Ｓ１５０４にて、ＢＩＯＳコード（Ａ）を実行し、故障記録部レジスタ１４０２に、ステータスコード０を書き込む。
【００６６】
Ｓ１５２０にて、ＳＰＤ３４０の読み書き処理を行い、これに成功したかを判定する。成功した場合は、Ｓ１５２２、Ｓ１５２４、Ｓ１５２６にて、故障記録部レジスタ１４０２にステータスコード1を書き込む、ＢＩＯＳコード（Ｂ）を実行、故障記録部レジスタ１４０２にステータスコード２を書き込む、の順番に処理を進める。
【００６７】
Ｓ１５４０にて、ＲＡＭ３０５の初期化処理を行い、Ｓ１５２０と同様、これに成功したかを判定する。成功した場合は、Ｓ１５４２、Ｓ１５４４、Ｓ１５４６にて、故障記録部レジスタ１４０２にステータスコード3を書き込み、ＢＩＯＳコード（Ｃ）を実行し、その後ＢＩＯＳ処理が終了する。
【００６８】
ＢＩＯＳ処理の終了後、Ｓ１５６０にてＷＤＴデコーディド信号をアサートする。これにより、再起動されることは無くなり、以降のＯＳやアプリケーションの処理が継続する。なお、本実施形態でのＷＤＴは起動時ハングの監視のために用いられるものであり、システム起動後のハングを監視するために更なるＷＤＴを用いる場合もある。
【００６９】
次に、異常系のフローチャートについて説明する。
Ｓ１５２０とＳ１５４０にて、ＳＰＤ３４０の読み書き処理、もしくは、ＲＡＭ３０５の初期化処理に失敗した場合が異常系となる。この際、ＣＰＵによるソフトウェア処理がハングし、ＭＦＰでの処理はハードウェアの動作のみとなる。このため、Ｓ１５８０に示す通り、ハード処理のシーケンスが始まる。
【００７０】
図１５（Ｂ）にて、ハード処理のシーケンスについて説明する。
まず、Ｓ１５９０にて起動後２８秒後にＷＤＴが作動する。
図１４で説明した通りＷＤＴが作動することにより、Ｓ１５９２にて故障記録部レジスタ１４０２の内容が故障記録部不揮発メモリ１４０２に書き込まれることになる。このとき、故障記録部不揮発メモリ１４０２に格納されていた値が0であればＳＰＤ３４０に故障要因があることを示し、2であればＲＡＭ３０５に故障要因があることを示す。
【００７１】
図１８は、図１５のフローチャートの処理を行った場合の、故障記録部レジスタ１４０２、故障記録部の不揮発メモリ１２０５、故障記録部制御信号１４０８の遷移状態を示したタイミングチャートである。ここでは、ＲＡＭ３０５に故障要因があった場合を例示する。
起動後、故障記録部レジスタ１４０２には、時系列順に０，１，２が書き込まれる。ここで2が書き込まれた後に、ＲＡＭ３０５に故障要因があったためソフトウェア処理がハングする。起動後２８秒が経過した時点でＷＤＴが作動し、故障記録部制御信号１４０８がアサートされる(図１８中斜線箇所)。この時点で、故障記録部レジスタ１４０２には、２が書き込まれているので、故障記録部の不揮発メモリ１２０５にも２が書き込まれることになる。よって、ＭＦＰの電源断後も、ＲＡＭ３０５に故障要因があったことが分かるようになる。
【００７２】
以上、説明したように、第４実施形態においては、ＢＩＯＳより判明するハードウェア異常を、故障記録部の不揮発メモリ１２０５に残すことができるようになる。これにより、着荷不良などで、故障したＭＦＰを市場から引き上げた際に、障害が再現しなくても、故障記録部の不揮発メモリ１２０５のステータスコードを手掛かりに、故障解析を実施できるようになる。
【００７３】
〔第５実施形態〕
第５実施形態においては、故障検知時に不揮発メモリ１２０５に書き込まれた故障要因をＣＰＵ３０２から読み取れるようにバスを追加する。不揮発メモリ１２０５のバスをＣＰＵ３０２と接続することで、故障検知後にリブートや電源のＯＦＦ／ＯＮ操作によりＣＰＵ３０２が正常に起動した際に、不揮発メモリ１２０５に格納された故障検知の要因や、ＢＩＯＳ処理のステータスコードを、ＣＰＵ３０２が取得することができる。ＣＰＵ３０２は、取得した故障要因の情報を元にネットワーク越しにアラームを発生させ、ＭＦＰに故障が発生したことを通知することができる。サービスマンは、ＭＦＰからのアラームの通知を受け取ることで、事前にＭＦＰの故障個所を特定することができる。あらかじめ故障個所を特定することで、サービスマンがＭＦＰの修理にかかるダウンタイムを削減することが可能になる。
【００７４】
ここで、第５実施形態においてＣＰＵ３０２のバスを追加したことにより、故障検知時に不揮発メモリ制御部１２０３が不揮発メモリ１２０５に書き込む際のバスのバスアービトレーションについて説明する。
【００７５】
図１６は、第５実施形態における電源制御部３０７の構成を示したブロック図である。
第３実施形態で説明した電源制御部３０７に対して、本実施形態では故障検知時に不揮発メモリ１２０５に書き込まれた故障要因の情報を、ＣＰＵ３０２からアクセスするバスと、バスの切り替えを行うセレクタ１６０１が追加されている。不揮発メモリ１２０５のバスには、第一のバスである不揮発メモリ制御部１２０３に接続されるバスと、第二のバスであるＣＰＵ３０２のバスがセレクタ１６０１を介して接続される。ここで、Ｉ２Ｃやパラレルバスなどにおいて、複数のマスターが存在する場合は、同時に送信を行わないようにバスアービトレーションを行うことが一般的である。そのため、不揮発メモリ制御部１２０３とＣＰＵ３０２から不揮発メモリ１２０５にアクセスするためには、複数のマスターが同時にバスを使用することがないよう、バスのアービトレーションが必要となる。しかし、電源制御部３０７はプログラマブルロジックで構成されているため、バスアービタを構成すると、多くのロジックを使用してしまう。そのため、不揮発メモリ制御部１２０３が、セレクタ１６０１を制御することで、不揮発メモリ１２０５にアクセスするバスの切り替えを可能とし、バスのアービトレーションを行う。
【００７６】
さらに、不揮発メモリ制御部１２０３にリセット信号１６０２が追加されている。これにより、ＣＰＵ３０２に対しリセット信号を出力することが可能となる。ここで、不揮発メモリ制御部１２０３がリセット信号１６０２をアサートすることで、ＣＰＵ３０２をリセット状態にし、バスのアクセスを停止させることができる。これにより、不揮発メモリ制御部１２０３がセレクタ１６０１を制御する際に、ＣＰＵ３０２からのバスのアクセスを停止させることができる。ＣＰＵ３０２からのアクセスが停止している間に、不揮発メモリ制御部１２０３が不揮発メモリ１２０５へのバスをセレクタ１６０１で切り替えることでバスアービトレーションを簡易化することができる。このようにバスアービトレーションを行うことで、通常動作時にはＣＰＵ３０２が不揮発メモリ１２０５にアクセスする。故障検知時には不揮発メモリ制御部１２０３がＣＰＵ３０２をリセット状態にし、バスのアクセスを停止させ、セレクタ１６０１でバスを切り替えることで、不揮発メモリ１２０５にアクセスすることが可能となる。
【００７７】
図１７は、不揮発メモリ制御部１２０３におけるバスアービトレーション処理を示したフローチャートである。
Ｓ１７０１において不揮発メモリ制御部１２０３は、第１の故障検知部４０３がアサートした異常信号１を検知する。
【００７８】
異常を検知した場合には、Ｓ１７０４において不揮発メモリ制御部１２０３がセレクタで不揮発メモリ１２０５に接続されるバスを第一のバスに切り替える。ここで、異常信号１のアサートは、ＣＰＵ３０２が起動しない故障を想定している。例えば、クロックの発振異常などである。
【００７９】
ＣＰＵ３０２が起動しない場合には、ＣＰＵ３０２が不揮発メモリ１２０５にアクセスすることが無いため、不揮発メモリ制御部１２０３がセレクタ１６０１で不揮発メモリ１２０５のバスに第一のバスを接続する。その後、Ｓ１７０５において不揮発メモリ１２０５にアクセスし、故障検知の要因やＢＩＯＳ処理のステータスコードを書き込む。
【００８０】
Ｓ１７０１が正常に終了した場合には、Ｓ１７０２において不揮発メモリ制御部１２０３は、第２の故障検知部４０４がアサートした異常信号２を検知する。異常を検知した場合には、Ｓ１７０３において不揮発メモリ制御部１２０３がＣＰＵ３０２に対してリセット信号１６０２を出力する。その後、Ｓ１７０４において不揮発メモリ制御部１２０３がセレクタ１６０１で不揮発メモリに接続されるバスを第一のバスに切り替える。ここで、異常信号２のアサートは、ＣＰＵの起動後に異常が発生した場合を想定している。例えば、ＢＩＯＳ処理の途中で処理が止まってしまった場合などである。ＣＰＵ３０２が起動後であるため、ＣＰＵ３０２がバスにアクセスする可能性がある。そのため、不揮発メモリ制御部１２０３がリセット信号１６０２を出力し、ＣＰＵ３０２の動作をリセットする。そうすることで、ＣＰＵ３０２がリセット状態となり、不揮発メモリ１２０５へのアクセスを停止することができる。その後、Ｓ１７０５において不揮発メモリ制御部１２０３は、ＣＰＵ３０２がリセット中に不揮発メモリ１２０５にアクセスし、故障検知の要因やＢＩＯＳ処理のステータスコードを書き込む。
【００８１】
書き込み後、Ｓ１７０６において書き込み動作が終了したことを判断し、Ｓ１７０７において不揮発メモリ１２０５に接続されるバスを第二のバスに切り替える。
また、Ｓ１７０２において正常に終了した場合には、Ｓ１７０７において不揮発メモリに接続されるバスを第二のバスに切り替える。第１の故障検知部４０３、第２の故障検知部４０４が故障を検知しない場合は、不揮発メモリ制御部１２０３が不揮発メモリ１２０５にアクセスすることはないため、セレクタ１６０１で不揮発メモリ１２０５に接続されるバスを第二のバスとし、ＣＰＵ３０２からのアクセスを可能にする。
【００８２】
以上、説明したように、第５実施形態においては、
不揮発メモリ制御部１２０３がリセット信号１６０２を用いて、不揮発メモリ１２０５にアクセスするためのバスのバスアービトレーションを行うことができる。不揮発メモリ制御部１２０３が、故障検知時にＣＰＵ３０２をリセットすることで、ＣＰＵ３０２から不揮発メモリ１２０５へのアクセスを停止することができ、バスのアービトレーションを簡易化することが可能になった。
【００８３】
〔他の実施形態〕
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組み合わせを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００８４】
２０２    制御部
２０５    第一の電源
２０７    第二の電源
２０８    電源制御信号
２０９    第一の故障表示部
４０３    第一の故障検知部
４０４    第二の故障検知部
５０２    第一の故障判定部
５０４    第二の故障判定部
【図１】
0006415210.tif 000002
【図２】
0006415210.tif 000003
【図３】
0006415210.tif 000004
【図４】
0006415210.tif 000005
【図５】
0006415210.tif 000006
【図６】
0006415210.tif 000007
【図７】
0006415210.tif 000008
【図８】
0006415210.tif 000009
【図９】
0006415210.tif 000010
【図１０】
0006415210.tif 000011
【図１１】
0006415210.tif 000012
【図１２】
0006415210.tif 000013
【図１３】
0006415210.tif 000014
【図１４】
0006415210.tif 000015
【図１５】
0006415210.tif 000016
【図１６】
0006415210.tif 000017
【図１７】
0006415210.tif 000018
【図１８】
0006415210.tif 000019