(57)【特許請求の範囲】
【請求項１】
タイマーと、中央処理装置と、電源電圧確定回路と、リセット信号出力手段と、リセット信号出力制御手段と、ファームウェアと、割り込み検出回路と、割り込みハンドラーとを含み、
前記電源電圧確定回路が、電源電圧の確定を検出して電源電圧確定信号を出力し、
前記リセット信号出力手段が、前記タイマーから出力されるタイマー信号により起動してリセット信号を出力し、
前記リセット信号出力制御手段が、コンピュータ起動時に、信号を出力し、前記リセット信号出力制御手段が出力する前記信号が、一定時間経過後も有効である場合、前記リセット信号出力手段を起動するように制御し、
前記ファームウェアが、前記リセット信号出力制御手段を稼働させ、一定時間内に前記リセット信号出力制御手段が出力した信号を無効にした場合に、前記タイマーの初期化とタイマー設定を行い前記タイマー信号を無効化し、
前記割り込み検出回路が、コンピュータ稼働中に、前記タイマーの時間の経過により割り込み処理の実行を検出して割り込みハンドラー起動信号を出力し、
前記割り込みハンドラーが、前記割り込みハンドラー起動信号を受けて一定時間内に起動した場合に、前記タイマーの初期化とタイマー設定を行い、前記タイマー信号を無効化することを特徴とする自動リセット回路。
【請求項２】
前記ファームウェアが、前記中央処理装置および前記割り込みハンドラーを含む、請求項１記載の自動リセット回路。
【請求項３】
前記ファームウェアに代えて、ソフトウェアを含む、請求項１または２記載の自動リセット回路。
【請求項４】
コンピュータ起動時において、電源投入によりタイマーがタイマー信号を出力するとともに、リセット信号出力制御手段が信号を出力する信号出力工程と、
コンピュータ起動時において、ファームウェアが、一定時間内に前記リセット信号出力制御手段が出力した信号を無効化できず、そして前記タイマーの初期化とタイマー設定を行うことができないため前記タイマー信号を無効化できない場合に、リセット信号出力手段がリセット信号を出力するリセット信号出力工程とを有し、
コンピュータ稼働中において、一定時間経過すると前記タイマーからタイマー信号が出力されるタイマー信号出力工程と、
コンピュータ稼働中において、割り込み検出回路が前記タイマーの時間の経過により割り込み処理の実行を検出し、割り込みハンドラー起動信号を出力する割り込みハンドラー起動信号出力工程と、
コンピュータ稼働中において、前記割り込みハンドラー起動信号により一定時間内に割り込みハンドラーを起動することができず、前記割り込みハンドラーが前記タイマーの初期化とタイマー設定を行うことができないため前記タイマー信号を無効化できない場合において、前記リセット信号出力手段が起動して前記リセット信号を出力するリセット信号出力工程とを有することを特徴とする、自動リセット方法。
【請求項５】
前記ファームウェアに代えて、ソフトウェアを用いる、請求項４記載の自動リセット方法。
【請求項６】
請求項４または５記載の自動リセット方法を、コンピュータに実行させることを特徴とするプログラム。
【請求項７】
請求項１から３のいずれか一項に記載の自動リセット回路を含むことを特徴とする、自動リセット装置。
【請求項８】
請求項１から３のいずれか一項に記載の自動リセット回路または請求項７の自動リセット装置を含むことを特徴とする、情報端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータなどのマイクロプロセッサ応用製品における自動リセット回路、自動リセット方法、プログラム、自動リセット装置および情報端末に関する。
【背景技術】
【０００２】
従来、マイクロプロセッサ応用製品では、自動でハードウェアをリセットする回路について、種々の方式が用いられている。例えば、特許文献１には、電源投入時に外部演算装置をリセットさせる装置が記載されている。これは、入力電圧が所定電圧以上となったか否かを判断し、その判断結果に応じてリセット信号を出力するというものである。また、例えば、特許文献２には、真に致命的なハード故障によるエラーの場合のみ装置をダウンさせるリセット・リトライ回路が記載されている。これは、ハードウェアリセットによる回復が必要なエラーの発生を検出した際には、ハードウェアリセットを実施して自動回復し、以後正常稼働が可能となる一方、エラーがハード故障に起因する場合など連続して発生する場合には、エラーの発生間隔が一定時間内であることをもって装置を停止させるという方式によるものである。さらに、特許文献３には、マイクロプロセッサ自身にハングアップ時の回復手段を設けることにより、複雑な付加回路を必要としないリセット方式が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１７５８１０号公報
【特許文献２】特開平２−２３４２４１号公報
【特許文献３】特開平２−１７１９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、前記のリセット回路およびリセット方法は、ハードウェアリセットに依らなければ回復不可能な異常発生の際のリセットについて考慮されていないことが多い。また、回復不可能な異常発生の際のリセットについて考慮されている場合でも、ＣＰＵ（中央処理装置）に加えてＭＰＵ（マイクロプロセッサ）を用意し、前記ＭＰＵで異常を監視し、異常発生時に前記ＭＰＵでシステムリセットを行う方式が採られている。そのため、前記リセット回路または装置は高価になり、小型化も困難であった。また、前記のリセット回路および方法では、異常が生じた際にのみマイクロプログラムに割り込みが生じてリセットするようになっており、リセットが必要かどうかを常に確認するような状態が保たれていることは無かった。
【０００５】
そこで、本発明は、ＭＰＵを用いることがなく、ハードウェアリセットに依らなければ回復不可能な異常発生の際に、ハードウェアリセットを実施しシステムを回復する自動リセット回路、自動リセット方法、プログラム、自動リセット装置および情報端末の提供を目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明の自動リセット回路は、
タイマーと、中央処理装置と、電源電圧確定回路と、リセット信号出力手段と、リセット信号出力制御手段と、ファームウェアと、割り込み検出回路と、割り込みハンドラーとを含み、
前記電源電圧確定回路が、電源電圧の確定を検出して電源電圧確定信号を出力し、
前記リセット信号出力手段が、前記タイマーから出力されるタイマー信号により起動してリセット信号を出力し、
前記リセット信号出力制御手段が、コンピュータ起動時に、前記リセット信号出力手段を制御し、
前記ファームウェアが、前記リセット信号出力制御手段を稼働させ、前記タイマーの初期化とタイマー設定を行い前記タイマー信号を無効化し、
前記割り込み検出回路が、コンピュータ稼働中に、前記タイマーの時間の経過により割り込み処理の実行を検出して割り込みハンドラー起動信号を出力し、
前記割り込みハンドラーが、前記割り込みハンドラー起動信号を受けて起動し、前記タイマーの初期化とタイマー設定を行い、前記タイマー信号を無効化することを特徴とする。
【０００７】
また、本発明の自動リセット方法は、
コンピュータ起動時において、電源投入によりタイマーがタイマー信号を出力するとともに、リセット信号出力制御手段が信号を出力する信号出力工程と、
コンピュータ起動時において、ファームウェアが、一定時間内に前記リセット信号出力制御手段が出力した信号を無効化できず、そして前記タイマーの初期化とタイマー設定を行うことができないため前記タイマー信号を無効化できない場合に、リセット信号出力手段がリセット信号を出力するリセット信号出力工程とを有し、
コンピュータ稼働中において、一定時間経過すると前記タイマーからタイマー信号が出力されるタイマー信号出力工程と、
コンピュータ稼働中において、割り込み検出回路が前記タイマーの時間の経過により割り込み処理の実行を検出し、割り込みハンドラー起動信号を出力する割り込みハンドラー起動信号出力工程と、
コンピュータ稼働中において、前記割り込みハンドラー起動信号により一定時間内に割り込みハンドラーを起動することができず、前記割り込みハンドラーが前記タイマーの初期化とタイマー設定を行うことができないため前記タイマー信号を無効化できない場合において、前記リセット信号出力手段が起動して前記リセット信号を出力するリセット信号出力工程とを有することを特徴とする。
【０００８】
また、本発明のプログラムは、
本発明の自動リセット方法を、コンピュータに実行させることを特徴とする。
【０００９】
また、本発明の自動リセット装置は、本発明の自動リセット回路を含むことを特徴とする。
【００１０】
また、本発明の情報端末は、本発明の自動リセット回路または本発明の自動リセット装置を含むことを特徴とする。
【発明の効果】
【００１１】
本発明においては、ＭＰＵを用いることなく、ハードウェアリセットに依らなければ回復不可能な異常発生の際に、ハードウェアリセットを実施しシステムを回復する自動リセット回路、自動リセット方法、プログラム、自動リセット装置および情報端末の提供をすることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の自動リセット回路の一例である実施形態に係る自動リセット回路のブロック図である。
【図２】図２は、前記実施形態に係る自動リセット回路のコンピュータ起動時および稼働中の正常稼働時の動作を説明するためのタイムチャートである。
【図３】図３は、前記実施形態に係る自動リセット回路のコンピュータ起動時および稼働中の障害発生時の動作を説明するためのタイムチャートである。
【図４】図４は、前記実施形態に係る自動リセット回路のコンピュータ起動時の動作を説明するためのフローチャートである。
【図５】図５は、前記実施形態に係る自動リセット回路のコンピュータ稼働中の動作を説明するためのフローチャートである。
【図６】図６は、前記実施形態の変形例に係る自動リセット回路のブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、例をあげて説明する。ただし、本発明は、以下の実施形態に限定されない。
【００１４】
図１に、本発明の自動リセット回路の一例のブロック図を示す。本実施形態の回路は、タイマー１、リセット信号出力手段であるワンショットマルチバイブレータ２、前記リセット信号出力手段であるワンショットマルチバイブレータ２を制御するリセット信号出力制御手段であるフリップフロップ（ＦＦ）４、電源電圧確定検出回路５、ファームウェア（ＦＷ）６、割り込み検出回路７を主要構成要素とする。前記ファームウェア６は、ファームウェア６が動作可能とするＣＰＵ６、割り込みハンドラー６を含む。
【００１５】
図１に示すように、ワンショットマルチバイブレータ２は、ゲートを介してタイマー１と接続されている。そして、ワンショットマルチバイブレータ２は、タイマー１から出力されるタイマー信号１１が一定時間ディアサートされない場合に起動する。ワンショットマルチバイブレータ２が起動すると、リセット信号１０がアサートされて、システムがリセットされる。ここで、アサートとは信号が有効になった状態を意味し、ディアサートとは信号が無効になった状態を意味する。リセット信号１０においては、ローレベルになった時がアサート状態であり、リセットが実行される。
【００１６】
また、図１に示すように、タイマー１は、ワンショットマルチバイブレータ２、フリップフロップ４、ファームウェア６、割り込みハンドラー６、および割り込み検出回路７と接続されている。そして、フリップフロップ４は、ゲートを介してワンショットマルチバイブレータ２と接続されている。フリップフロップ４は、ワンショットマルチバイブレータ２の起動を制御する役割を有する。そして、電源電圧確定回路５は、ゲートを介してワンショットマルチバイブレータ２と接続されている。さらに、割り込み検出回路７は、前述のとおりタイマー１と接続されているとともに、ＣＰＵ６および割り込みハンドラー６とも接続されている。
【００１７】
以下、本実施形態の動きについて、図２、図３、図４、図５に基づき、コンピュータ起動時、コンピュータ稼働中に分けて説明する。
【００１８】
（コンピュータ起動時）
図２に本実施形態の正常稼働時の動作を説明するためのタイムチャートを示す。また、図３に、本実施形態の障害発生時の動作を説明するためのタイムチャートを示す。また、図４に、本実施形態のコンピュータ起動時の動作を説明するためのフローチャートを示す。コンピュータ起動時には、ワンショットマルチバイブレータ２の起動を抑止するための手段として、フリップフロップ４を使用する。
【００１９】
図示のように、電源投入で、電源電圧が入力されることでフリップフロップ信号１５とタイマー信号１１がアサートされる（図４のステップＳ１、以下、図番号省略）。フリップフロップ信号１５とタイマー信号１１については、ハイレベルになった時がアサート状態である。そして、電源電圧確定後に電源電圧確定信号１４がアサートされる（ステップＳ２）。
【００２０】
図２、図４に示すように、システム初期化中に、ファームウェア６は時間Ｔ２が経過するまでにフリップフロップ信号（ＦＦ信号）１５をディアサートする（Ｙｅｓ）。フリップフロップ信号１５に関しては、ローレベルになった時がディアサート状態である。そして、ファームウェア６は、タイマー１の初期化とタイマー設定（時間Ｔ１）とを行い（ステップＳ３）、タイマー信号１１をディアサートする（ステップＳ４）。これにより、ワンショットマルチバイブレータ２が起動しないように制御される。なお、時間Ｔ１は、ファームウェア６によって設定されたタイマータイムアウト時間であり、時間Ｔ２は、あらかじめ設定されたコンピュータ起動（ＦＦ信号１５アサート）からワンショットマルチバイブレータ２起動までの時間である。
【００２１】
一方、図３、図４に示すように、システム初期化中に異常（障害）が発生すると、ファームウェア６が時間Ｔ２を経過するまでにフリップフロップ信号１５をディアサートできない（Ｎｏ）。これにより、時間Ｔ２後にワンショットマルチバイブレータ２が起動し（ステップＳ５）、リセット信号１０がアサートされて（ステップＳ６）、システムリセットとなる。
【００２２】
このように、コンピュータ起動時は、ファームウェア６が時間Ｔ２内にフリップフロップ信号１５をディアサートできず、タイマー１の初期化とタイマー設定を行うことができない場合において、自動リセットが行われる。
【００２３】
（コンピュータ稼働中）
図５に、本実施形態のコンピュータ稼働中の動作を説明するためのフローチャートを示す。コンピュータ稼働中は、タイマー１のタイムアウト時間Ｔ１が経過すると（図５のステップＳ７、以下図番号省略）、タイマー信号１１がワンショットマルチバイブレータ２に対してアサートされ（ステップＳ８）、さらに割り込み検出回路７がタイマー割り込み１２を検出する（ステップＳ９）。タイマー割り込み１２を検出した割り込み検出回路７は、ＣＰＵ６に対して割り込みハンドラー起動信号１３を出力する（ステップＳ１０）。そして、図２、図５に示すように、割り込みハンドラー起動信号１３により、Ｔ３時間内に割り込みハンドラー６が起動されると（Ｙｅｓ）、タイマー１の初期化とタイマー設定（時間Ｔ１）を行い（ステップＳ１１）、タイマー信号１１をディアサートして（ステップＳ１２）、割り込み検出回路７にあるタイマー割り込みをクリアする。時間Ｔ３は、あらかじめ設定されたワンショットマルチバイブレータ２がリセット信号１０をアサートするまでの時間である。
【００２４】
このように、本発明は、コンピュータが稼働している間、Ｔ１時間を経過するタイマータイムアウト、割り込みハンドラー６によるタイマー１の初期化およびタイマー設定を繰り返す。これにより、異常が発生するまでコンピュータは正常稼働を続ける。
【００２５】
一方、システム稼働中、Ｔ３時間内に割り込みハンドラー６を起動できず、割り込みハンドラー６が時間Ｔ３を経過するまでにタイマー１の初期化とタイマー設定（時間Ｔ１）ができなければ（Ｎｏ）、タイマー信号１１をディアサートにし、正常稼働状態に戻すことができない。そのため、図３、図５に示すように、ワンショットマルチバイブレータ２が起動し（ステップＳ１３）、リセット信号１０がアサートされて（ステップＳ１４）、システムリセットとなる。
【００２６】
このように、コンピュータ稼働中は、時間Ｔ１が経過すると割り込み検出回路７によってタイマー割り込み１２が検出され、割り込みハンドラー起動信号１３が出力されるが、割り込みハンドラー６が時間Ｔ３以内に起動せずタイマー１の初期化およびタイマー設定を行うことができない場合において、自動リセットが行われる。
【００２７】
本実施形態において、前記ファームウェア６に代えて、ドライバー等のソフトウェアを用いることもできる。これにより、ソフトウェアのプログラムを記録媒体に記録し、ハードウェアとは別に外付けにすることができるので、プログラムの設計、修正が容易となる。
【００２８】
なお、本実施形態において、さらにリセット回路３を設けても良い。図６に、本実施形態の変形例として、さらにリセット回路３を有する自動リセット回路のブロック図を示す。本例では、電源投入時に、リセット回路３からリセット信号８が出力され、ハードウェアリセット信号９がアサートされる。ここで、ハードウェアリセット信号９に関しては、ローレベルがアサート状態である。その後、電源電圧確定後に電源電圧確定信号１４がアサートされ、前記リセット信号８によりアサートされていたハードウェアリセット信号９がディアサートされる。その他、電源投入によりフリップフロップ信号１５とタイマー信号１１がアサートされること、およびハードウェアリセット信号９がディアサートされリセットが解除された後の動きは、前記に説明した動きと同様である。
【００２９】
本発明のさらなる効果として、ＭＰＵが必要ないためＭＰＵの開発工数を削減でき、回路が安価で、小型化にも対応できる。さらに、本発明では、コンピュータ稼働中一定時間が経過するごとに割り込みが発生し、リセットが必要かどうかを常に確認する状態が保たれている。
【００３０】
前述のように、本発明のプログラムは、本発明の自動リセット方法をコンピュータに実行させるプログラムである。本発明のプログラムは、例えば、記録媒体に記録されていてもよい。前記記録媒体は、特に制限されず、例えば、ＨＤＤ、ＣＤ−ＲＯＭ（ＣＤ−Ｒ，ＣＤ−ＲＷ）、ＤＶＤ、メモリーカード等があげられる。また、本実施形態のプログラムは、例えば、あらかじめ、コンピュータにインストールされていてもよいし、前記記録媒体またはインターネット等の回線網を介して、インストールされてもよい。
【００３１】
また、前述のように、本発明の情報端末は、本発明の自動リセット回路または自動リセット装置を含んだ情報端末である。本発明は、特別なハードウェア、ソフトウェアを必要としないため、安価、小型化が必要な用途に適用でき、例えば、ウェアラブルＰＣなどの小型コンピュータに好適に用いることができる。
【産業上の利用可能性】
【００３２】
本発明の自動リセット回路および自動リセット方法は、異常の際に自動でハードウェアリセットを実施しシステムを回復する用途に適用できる。また、安価で小型な回路に適用することもできるため、安価、小型化が必要な用途に用いることができるが、この用途に限られるものではない。
【符号の説明】
【００３３】
１…タイマー
２…ワンショットマルチバイブレータ（リセット信号出力手段）
３…リセット回路
４…フリップフロップ（ＦＦ）（リセット信号出力制御手段）
５…電源電圧確定検出回路
６…ＣＰＵ（中央処理装置）、割り込みハンドラー、ファームウェア（ＦＷ）
７…割り込み検出回路
８…リセット信号
９…ハードウェアリセット信号
１０…リセット信号
１１…タイマー信号
１２…タイマー割り込み
１３…割り込みハンドラー起動信号
１４…電源電圧確定信号
１５…フリップフロップ信号（ＦＦ信号）
Ｔ１…タイマータイムアウト時間
Ｔ２…システム稼働始めからワンショット発生までの時間
Ｔ３…タイマータイムアウト発生からワンショット発生までの時間
【図１】
0005392858.tif 000002
【図２】
0005392858.tif 000003
【図３】
0005392858.tif 000004
【図４】
0005392858.tif 000005
【図５】
0005392858.tif 000006
【図６】
0005392858.tif 000007