(57)【要約】【課題】暴走中のマイコン内プログラムを確実にリセットし、電池の容量切れを防止することが可能なプログラム暴走防止装置及びそれを備えた電子機器を提供する。【解決手段】電子機器１は、マイコン１１及び電池１０の他に、プログラム暴走防止装置の一例として、マイコン１１に流れ込む電流Ｉを監視する電流検出部１２と、或る一定期間をカウントするタイマ部１３とを備える。電流検出部１２は、マイコン１１の動作モードがアクティブ状態であるときの電流を検出し、タイマ部１３のカウンタを動作させ、タイマ部１３はマイコン１１からのキャンセル信号がなく、且つカウンタが一定期間経過した場合に、マイコン１１へリセットを行う。【選択図】図１
2008217105.tif 000002
【特許請求の範囲】
【請求項１】
電池から電源が供給されるマイクロコンピュータにおけるプログラムの暴走を防止するプログラム暴走防止装置であって、前記マイクロコンピュータに流れ込む電流が所定値以上であることを検出する電流検出手段と、該電流検出手段からの検出信号の出力時間を計測する検出時間計測手段と、該検出時間計測手段で計測した出力時間が所定時間に達したときに、前記マイクロコンピュータに対し、前記プログラムのリセットを要求するリセット信号を出力するリセット手段とを有し、前記検出時間計測手段は、前記所定時間に達する前に前記マイクロコンピュータからキャンセル信号を受信した場合、前記計測をキャンセルして再開する手段を有することを特徴とするプログラム暴走防止装置。
【請求項２】
請求項１に記載のプログラム暴走防止装置を備えた電子機器であって、前記電池と前記マイクロコンピュータとを備え、前記マイクロコンピュータで制御されることを特徴とする電子機器。
【請求項３】
前記マイクロコンピュータは、前記プログラムが、前記リセット手段において使用する前記所定時間に達する前に処理を完了するか否かを判定する完了時間判定手段と、該判定の結果、完了しないと判定された場合に、前記所定時間に達する前に前記キャンセル信号を前記検出時間計測手段に対して送信するキャンセル手段とを有し、前記完了時間判定手段は、前記プログラムの開始時点及び該開始時点から前記所定時間間隔で、前記判定を実行することを特徴とする請求項２に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム暴走防止装置及び電子機器に関し、より詳細には、電源が電池から供給されるマイクロコンピュータのプログラム暴走を防止するプログラム暴走防止装置、及びそれを備えた電子機器に関する。
【背景技術】
【０００２】
従来から、ＡＶ（オーディオビジュアル）機器や調理機器をはじめとする家電製品や、都市ガス、ＬＰガス、水道用のメータや集中監視装置など、様々な電子機器にマイクロコンピュータ（以下、マイコンという）が搭載され、それにより電子機器が制御されている。
【０００３】
マイコン搭載の電子機器は、外来ノイズ等の外部要因によりマイコンのプログラムが暴走することがあり、従来からこのプログラム暴走を検出する装置が提案されている。例えば、特許文献１には、ウォッチドックタイマ等の暴走検出用タイマによる暴走検出動作の信頼性を高めることを目的とした組込マイコンの暴走検出装置が開示されている。
【特許文献１】特開平４−１５１７４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方で、図４で例示したような、特に主たる電源が電池２０単一で駆動している電子機器２にあっては、制御部（マイコン）２１のプログラム暴走によりアクティブ状態が継続して電池容量切れを起こす問題が深刻となっている。
【０００５】
しかしながら、特許文献１に記載の技術をはじめとする従来の技術では、マイコンの機能であるウォッチドックタイマ機能により自己のプログラム暴走を監視しているが、暴走検出はできるものの、暴走自体を引き起こしているマイコン自身或いはそのマイコンを搭載した電子機器の機能では必ずしも自動的にリセットできるものではない。
【０００６】
従って、ユーザが電子機器の電源ＯＦＦボタン又はリセットボタンを押下するか、プログラムに対するリセット操作を行わなければならないが、上述のごとく電池駆動の場合、プログラム暴走を検出してユーザに報知したとしてもユーザが気づかずに電池容量切れを起こしてしまう可能性がある。
【０００７】
本発明は、上述のごとき実情に鑑みてなされたものであり、暴走中のマイコン内プログラムを確実にリセットし、電池の容量切れを防止することが可能なプログラム暴走防止装置、並びに、その装置及びマイコンを備えた電子機器の提供を、その目的とする。
【課題を解決するための手段】
【０００８】
上述のごとき課題を解決するために、本発明の第１の技術手段は、電池から電源が供給されるマイクロコンピュータにおけるプログラムの暴走を防止するプログラム暴走防止装置であって、前記マイクロコンピュータに流れ込む電流が所定値以上であることを検出する電流検出手段と、該電流検出手段からの検出信号の出力時間を計測する検出時間計測手段と、該検出時間計測手段で計測した出力時間が所定時間に達したときに、前記マイクロコンピュータに対し、前記プログラムのリセットを要求するリセット信号を出力するリセット手段とを有し、前記検出時間計測手段は、前記所定時間に達する前に前記マイクロコンピュータからキャンセル信号を受信した場合、前記計測をキャンセルして再開する手段を有することを特徴としたものである。
【０００９】
第２の技術手段は、第１の技術手段におけるプログラム暴走防止装置を備えた電子機器であって、前記電池と前記マイクロコンピュータとを備え、前記マイクロコンピュータで制御されることを特徴としたものである。
【００１０】
第３の技術手段は、第２の技術手段において、前記マイクロコンピュータは、前記プログラムが、前記リセット手段において使用する前記所定時間に達する前に処理を完了するか否かを判定する完了時間判定手段と、該判定の結果、完了しないと判定された場合に、前記所定時間に達する前に前記キャンセル信号を前記検出時間計測手段に対して送信するキャンセル手段とを有し、前記完了時間判定手段は、前記プログラムの開始時点及び該開始時点から前記所定時間間隔で、前記判定を実行することを特徴としたものである。
【発明の効果】
【００１１】
本発明によれば、暴走中のマイコン内プログラムを確実にリセットし、電池の容量切れを防止することが可能となる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の一実施形態に係る電子機器の構成例を示すブロック図で、図中、１は、電子機器である。また、図２は、図１の電子機器におけるマイコンに流れ込む動作モード別の電流値を説明するための図である。
【００１３】
図１で例示する電子機器１は、電池１０を単一電源とし、制御部としてのマイコン１１が駆動する機器である。電子機器１としては、携帯電話機、携帯情報端末（ＰＤＡ）、ノート型パーソナルコンピュータ（ノートＰＣ）、リモコン、カメラ、さらには各種機器内の制御装置などをはじめ、ガス、水道、電気事業の分野においても集中監視装置又はメータなど、様々な機器が適用可能である。
【００１４】
また、電池１０は一次電池であっても二次電池であっても適用できる。なお、電子機器１は、電池１０をマイコン１１の主たる電源としていればよく、他の電源が図示しない他の部位に供給されていても同様に適用できる。
【００１５】
マイコン１１にはプログラムが実行可能に組み込まれている。例えば、マイコン１１は、ＣＰＵ等の演算処理装置、プログラム格納領域としてのＲＯＭ、作業領域としてのＲＡＭ等のハードウェアを備え、ＲＯＭやハードディスクに実行対象のプログラムを格納しておくとよい。これにより、ＣＰＵ等の演算処理装置がＲＯＭ等に格納された実行対象のプログラムをＲＡＭ上に読み出して実行することができる。
【００１６】
電子機器１は、マイコン１１及び電池１０の他に、本発明に係るプログラム暴走防止装置の一例として、マイコン１１に流れ込む電流Ｉを監視する電流検出部１２と、或る一定期間をカウントするタイマ部１３とを備える。
【００１７】
ところで、マイコン１１の動作モードは、プログラムが高速で動作を行っているアクティブ状態と、低速で動作或いは機能が停止しているスタンバイ状態（非アクティブ状態）とに分けることができる。マイコン１１で消費している電流は、図２に示すように、例えばアクティブ状態でｍＡオーダ、スタンバイ状態でμＡオーダである。
【００１８】
電流検出部１２は、マイコン１１の動作モードがアクティブ状態であるときの電流を検出し、タイマ部１３のカウンタを動作させ、タイマ部１３はマイコン１１からのキャンセル信号がなく、且つカウンタが一定期間経過した場合に、マイコン１１へリセットを行う。
【００１９】
このように、本発明に係るプログラム暴走防止装置は、電流検出部１２で例示したように、マイコン１１に流れ込む電流が所定値以上であることを検出する電流検出手段を備える。所定値としては、マイコン１１がアクティブ状態のときの電流値とスタンバイ状態のときの電流値との間の値を採用するとよい。換言すると、どのような状態をアクティブ状態とするかは、所定値によって任意に決めることができる。
【００２０】
また、本発明に係るプログラム暴走防止装置は、タイマ部１３で例示したように、電流検出部１２からの検出信号の出力時間を計測する検出時間計測手段と、そこで計測した出力時間が所定時間に達したときに、マイコン１１に対し、プログラムのリセットを要求するリセット信号を出力するリセット手段とを備える。ここで、検出時間計測手段は、上述の所定時間に達する前にマイコン１１からキャンセル信号を受信した場合、上述の計測をキャンセルして再開する手段を有する。この手段は、例えばタイマ部１３のカウントをキャンセルする手段を指す。
【００２１】
次に、マイコン１１が発するキャンセル信号について説明する。マイコン１１は、実行対象のプログラムが、上述の所定時間（リセット手段において使用する所定時間）に達する前に処理を完了するか否かを判定する完了時間判定手段と、その判定の結果、完了しないと判定された場合に、上述の所定時間に達する前に、上述のキャンセル信号をプログラム暴走防止装置側の検出時間計測手段に対して送信するキャンセル手段とを有する。そして、完了時間判定手段は、実行対象のプログラムの開始時点及びその開始時点から所定時間間隔で定期的に判定を実行するものとする。
【００２２】
マイコン１１で使用するこの所定時間は、タイマ部１３のカウンタを参照して得てもよいし、マイコン１１内に別途カウンタを設けておきそのカウンタを参照して得てもよい。また、処理の完了は、アクティブ状態の電流が必要となる処理の完了、すなわち上述の所定値以上の電流が流れ込む処理の完了を指す。仮に、実行対象のプログラムの暴走により、完了時間判定も実行できなくなった場合には、所定時間前に処理完了するときと同様に、キャンセル信号を発しないため、タイマ部１３側でリセット信号を発することができる。
【００２３】
また、マイコン１１は、プログラム暴走時にリセット信号を受信した場合に実行対象のプログラムのリセットを実行するリセット実行手段を備える。例えば、リセット信号を受信したときに実行中のプログラムを読み込んだＲＡＭ等の作業領域を開放し、そのプログラムを終了させることで、プログラムのリセットが可能である。但し、ここでのリセット実行により、実行対象のプログラムは再度読み出されて実行されるようにすることが好ましく、その場合には併せて、後述の暴走防止用プログラム（特にこのリセットに係わるプログラム）は再度実行されるようにしておく。実行対象のプログラムが再度実行できないようにリセットが実行される場合には、ユーザに対して何らかの通知を行うことが好ましい。
【００２４】
また、ユーザがプログラムリセット操作を手動で行ったときに送信するリセット信号と同様のリセット信号をタイマ部１３がマイコン１１に伝送するようにしておくことで、上述のリセット実行手段は、ユーザ操作に基づくリセット信号の受信時に行うのと同じ処理を実行する手段としても既定できる。
【００２５】
マイコン１１における上述した完了時間判定手段、キャンセル手段、及びリセット実行手段は、マイコン１１をそれら手段として機能させるためのマイコン１１側の暴走防止用プログラムとして組み込んでもよい。マイコン１１への組込方法としては、例えば、実行対象（暴走防止対象）となるプログラムとは別に実行可能に格納するか、或いは実行対象となり得るプログラムのそれぞれに付属させておくとよい。
【００２６】
図３は、図１の電子機器におけるプログラム暴走防止処理を説明するためのタイミング例を示す図である。以下、図３を参照して、タイマ部１３がカウントを５回を行ったときにマイコン１１へリセットを行うタイミング例を挙げ、本発明のプログラム暴走防止処理について説明する。
【００２７】
まず、マイコン１１がアクティブ状態となった場合、電流検出部１２が所定値以上の電流を検出し、その検出信号をタイマ部１３へ知らせ、タイマ部１３がカウントを開始する。
【００２８】
マイコン１１は、アクティブ状態がタイマ部１３のカウント以内の時間で処理が可能と判定した場合、そのまま処理を終了し、スタンバイ状態へ戻る。マイコン１１がスタンバイ状態となることで、電流検出部１２からの検出信号はＯＦＦとなり、タイマ部１３はカウントをリセットして停止する。図３では、カウント４でスタンバイ状態になった例を示している。
【００２９】
一方、マイコン１１は、アクティブ状態がタイマ部１３のカウント以上の時間で処理する場合は、タイマ部１３へキャンセル信号を送り、タイマ部１３はカウントをリセットし再カウントを開始する。マイコン１１は、処理が終了するまで、一定周期でタイマ部１３のカウンタをキャンセルする。図３では、マイコン１１がキャンセル信号を２度発し、３度目の２カウント目でスタンバイ状態になった例を示している。
【００３０】
また、外来ノイズ等による外部要因によってマイコン１１のプログラムが暴走した場合は、アクティブ状態を電流検出部１２が検出し、その検出信号をタイマ部１３へ知らせ、タイマ部１３がカウントを開始する。図３の例では、アクティブ状態が４カウント目まではプログラム暴走／非暴走によるものであるかの判断はつかないが、５カウント目で、プログラム暴走によるものであると判断できる。プログラム暴走によりマイコン１１からのキャンセル信号がなくなり、カウンタが一定期間（５カウント）経過すると、タイマ部１３はマイコン１１へ外部リセットを行う。マイコン１１は、この外部リセットの信号を受けてプログラム暴走がクリアし、正常に動作を開始することができる。
【００３１】
以上、本発明に係るプログラム暴走防止装置及びそれを備えた電子機器によれば、外来ノイズ等によるプログラム暴走をマイコン自身に流れ込む電流で監視し、異常時間経過した場合に強制的にマイコンに対して外部リセットを行うことによりプログラムを正常に復帰させるため、電子機器の電池容量切れを防止することができる。このような容量切れ防止は、電子機器が普段からユーザが操作をあまり行わない、例えばガスメータや水道メータなどに最も有益となる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係る電子機器の構成例を示すブロック図である。
【図２】図１の電子機器におけるマイコンに流れ込む動作モード別の電流値を説明するための図である。
【図３】図１の電子機器におけるプログラム暴走防止処理を説明するためのタイミング例を示す図である。
【図４】従来技術による、電池電源でマイコンが駆動する電子機器の構成を示すブロック図である。
【符号の説明】
【００３３】
１…電子機器、１０…電池、１１…制御部（マイコン）、１２…電流検出部、１３…タイマ部。
【図１】
2008217105.tif 000003
【図２】
2008217105.tif 000004
【図３】
2008217105.tif 000005
【図４】
2008217105.tif 000006