(57)【要約】  【課題】  データの異常検出と復旧とを簡易且つ確実に行うことが可能なマイクロコンピュータを提供する。  【解決手段】  マイクロコンピュータ１００は、時間経過に応じて単調増加あるいは単調減少する値を記憶する第１ＮＲＡＭ１０６及びＳＲＡＭ１１０と、ＳＲＡＭ１１０に記憶されている値が消去される条件を満たしているか否かを判定し、消去される条件を満たしておらず、且つ、ＳＲＡＭ１１０に記憶されている値が消去されている場合に、第１ＮＲＡＭ１０６に記憶されている値を読み出し、ＳＲＡＭ１１０に書き込む制御を行うとともに、ＳＲＡＭ１１０に記憶されている値に基づいて、ポンプ４００を制御する制御部１０２とを有する。【選択図】  図１
2006107002.tif 000002
【特許請求の範囲】
【請求項１】
時間経過に応じて単調増加あるいは単調減少する値に基づいて、外部装置を制御するマイクロコンピュータであって、
前記時間経過に応じて単調増加あるいは単調減少する値を記憶する第１及び第２の記憶手段と、
前記第１の記憶手段に記憶されている値が消去される条件を満たしているか否かを判定する第１の判定手段と、
前記第１の判定手段により前記第１の記憶手段に記憶されている値が消去される条件を満たしていないと判定され、且つ、前記第１の記憶手段に記憶されている値が消去されている場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行う第１の制御手段と、
前記第１の記憶手段に記憶されている値に基づいて、前記外部装置を制御する第２の制御手段とを有することを特徴とするマイクロコンピュータ。
【請求項２】
前記第１の判定手段により前記第１の記憶手段に記憶されている値が消去される条件を満たしていないと判定されている間に前記第１の記憶手段に記憶される値が単調増加あるいは単調減少しているか否かを判定する第２の判定手段を有し、
前記第１の制御手段は、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調増加あるいは単調減少していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行うことを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記第２の判定手段は、第１、第２、第３及び第４のタイミング（但し、第１のタイミング＜第２のタイミング＜第３のタイミング＜第４のタイミング）において前記第１の記憶手段に記憶される値について、前記第４のタイミングにおける値から前記第３のタイミングにおける値を差し引いた値が正の値であり、前記第３のタイミングにおける値から前記第２のタイミングにおける値を差し引いた値が負の値もしくは０であり、前記第２のタイミングにおける値から前記第１のタイミングにおける値を差し引いた値が正の値である場合に、前記第１の記憶手段に記憶された値が単調増加していないと判定し、
前記第１の制御手段は、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調増加していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行うことを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項４】
前記第２の判定手段は、第１、第２、第３及び第４のタイミング（但し、第１のタイミング＜第２のタイミング＜第３のタイミング＜第４のタイミング）において前記第１の記憶手段に記憶される値について、前記第４のタイミングにおける値から前記第３のタイミングにおける値を差し引いた値が負の値であり、前記第３のタイミングにおける値から前記第２のタイミングにおける値を差し引いた値が正の値もしくは０であり、前記第２のタイミングにおける値から前記第１のタイミングにおける値を差し引いた値が負の値である場合に、前記第１の記憶手段に記憶される値が単調減少していないと判定し、
前記第１の制御手段は、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調減少していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行うことを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項５】
前記第２の判定手段は、第１の時間間隔で到来する第１のタイミング及び第２の時間間隔で到来する第２のタイミングで前記第１の記憶手段に記憶される値について、前記第２のタイミングで前記第１の記憶手段に記憶される値が該第２のタイミング以前の第１のタイミングで前記第１の記憶手段に記憶される値未満である場合に、前記第１の記憶手段に記憶される値が単調増加していないと判定し、
前記第１の制御手段は、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調増加していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行うことを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項６】
前記第２の判定手段は、第１の時間間隔で到来する第１のタイミング及び第２の時間間隔で到来する第２のタイミングで前記第１の記憶手段に記憶される値について、前記第２のタイミングで前記第１の記憶手段に記憶される値が該第２のタイミング以前の第１のタイミングで前記第１の記憶手段に記憶される値より大きい場合に、前記第１の記憶手段に記憶される値が単調減少していないと判定し、
前記第１の制御手段は、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調減少していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行うことを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項７】
前記第２の記憶手段は、複数の記憶領域のそれぞれに、前記時間経過に応じて単調増加あるいは単調減少する値を記憶し、
前記第１の制御手段は、前記第２の記憶手段における複数の記憶領域のそれぞれに記憶された値のうち、出現頻度の最も多い値を前記第１の記憶手段に書き込む制御を行うことを特徴とする請求項１乃至６のいずれかに記載のマイクロコンピュータ。
【請求項８】
前記第１の記憶手段を動作させる電源が切断されることを検知する検知手段と、
前記検知手段により、前記第１の記憶手段を動作させる電源が切断されることが検知された場合に、その切断に先立って、前記第１の制御手段により前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御が行われる間、前記電源を保持する制御を行う第３の制御手段とを有することを特徴とする請求項１乃至７に記載のマイクロコンピュータ。
【請求項９】
前記第２の制御手段は、前記第１の記憶手段に記憶されている値の異常が複数回発生した場合に、前記第２の記憶手段に記憶されている値に基づいて、前記外部装置を制御することを特徴とする請求項１乃至８のいずれかに記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部の装置を制御するマイクロコンピュータに関する。
【背景技術】
【０００２】
マイクロコンピュータの使用時において、主電源が切断されてもデータを保持したい場合がある。このような要求に応えるべく、主電源が切断されてもバックアップ電源の供給を受けてデータを保持することが可能な記憶装置であるスタンバイＲＡＭ（ＳＲＡＭ）を内蔵したマイクロコンピュータが存在する。ＳＲＡＭを内蔵したマイクロコンピュータが例えば自動車に搭載される場合、イグニッションスイッチがオフとなって主電源が切断されても、ＳＲＡＭは、バッテリからのバックアップ電源の供給によりデータを保持する。そして、マイクロコンピュータは、再度、主電源の供給を受けた時に、そのＳＲＡＭに記憶されたデータを使用する。
【０００３】
しかし、ＳＲＡＭに記憶されたデータに異常が生じる場合がある。このため、データの異常検出と復旧に関する様々な方法が提案されている。異常検出の方法としては、ＳＲＡＭ内の複数の記憶領域に同一のデータを書き込み、読み出し時にはこれら複数の記憶領域に記憶されたデータを読み出して照合し、不一致であればデータ異常であると判定する方法（第１の異常検出方法）、ＳＲＡＭへの書き込み時にデータのチェックサムを算出して記憶しておき、読み出し時にデータの合計値を算出してチェックサムと照合し、不一致であればデータ異常であると判定する方法（第２の異常検出方法）、ＳＲＡＭに記憶されるべきデータの上限値及び下限値を定めておき、ＳＲＡＭから読み出したデータが上限値及び下限値の範囲を超える場合にデータ異常と判定する方法（第３の異常検出方法）、ＳＲＡＭ内の複数の記憶領域に相関関係のある複数のデータを書き込んでおき、読み出した複数のデータ間の相関関係が崩れていた場合にデータ異常であると判定する方法（第４の異常検出方法）（例えば、特許文献１参照）等がある。
【０００４】
また、データの復旧方法としては、ＳＲＡＭとＥＥＰＲＯＭ等の外部記憶装置とに同一データを書き込み、データ異常発生時には、外部記憶装置に記憶されたデータを読み出してＳＲＡＭに書き込む方法（第１の復旧方法）（例えば、特許文献２及び３参照）、ＲＯＭに予め記憶されている初期値をＳＲＡＭに書き込む方法（第２の復旧方法）等がある。
【特許文献１】特開２０００−３３９２３２号公報
【特許文献２】特開平５−１１８２６号公報
【特許文献３】特開平１１−１９４９７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した第１及び第４の異常検出方法では、バックアップ電源で動作するためにノーマルＲＡＭ（ＮＲＡＭ）よりも高価であるＳＲＡＭの記憶領域を大きくする必要があり、コストの増加を招く。また、第２の異常検出方法では、チェックサムの算出に時間を要する。更に、第３の異常検出方法では、異常であるものの上限値及び下限値の範囲内であるデータについては、異常を検出することができない。
【０００６】
また、上述した第１の復旧方法では、外部記憶装置が用いられるため、コストが増加し、当該外部記憶装置とマイクロコンピュータとの通信が断線等によって途絶した場合にはデータの復旧ができない。更に、第２の復旧方法では、初期値が用いられることになるため、必ずしもデータを復旧するとは言えない。
【０００７】
そこで、本発明は、データの異常検出と復旧とを簡易且つ確実に行うことが可能なマイクロコンピュータを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のマイクロコンピュータは、時間経過に応じて単調増加あるいは単調減少する値に基づいて、外部装置を制御するものであって、前記時間経過に応じて単調増加あるいは単調減少する値を記憶する第１及び第２の記憶手段と、前記第１の記憶手段に記憶されている値が消去される条件を満たしているか否かを判定する第１の判定手段と、前記第１の判定手段により前記第１の記憶手段に記憶されている値が消去される条件を満たしていないと判定され、且つ、前記第１の記憶手段に記憶されている値が消去されている場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行う第１の制御手段と、前記第１の記憶手段に記憶されている値に基づいて、前記外部装置を制御する第２の制御手段とを有する。
【０００９】
この構成により、時間経過に応じて単調増加あるいは単調減少する値は、マイクロコンピュータ内部の第１及び第２の記憶手段に記憶され、その値が消去される条件を満たしていないにもかかわらず、第１の記憶手段から消去されるという異常が生じた場合には、第２の記憶手段に記憶されている値が第１の記憶手段に書き込まれ、当該第１の記憶手段に記憶されている値に基づいて、外部装置が制御される。従って、記憶手段に記憶される値の消去という異常の検出と復旧とを、マイクロコンピュータ内部で完結させ、簡易且つ確実に行うことが可能となる。特に、時間経過に応じて単調増加あるいは単調減少する値が限界値に達した場合に外部装置の動作が停止されるものである場合には、その値が復旧されることにより、外部装置が動作可能時間を大きく超えて動作してしまうことを防止することができる。
【００１０】
また、本発明のマイクロコンピュータは、前記第１の判定手段により前記第１の記憶手段に記憶されている値が消去される条件を満たしていないと判定されている間に前記第１の記憶手段に記憶される値が単調増加あるいは単調減少しているか否かを判定する第２の判定手段を有し、前記第１の制御手段が、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調増加あるいは単調減少していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行う。
【００１１】
この構成により、時間経過に応じて単調増加すべき値が単調増加していない、あるいは、時間経過に応じて単調減少すべき値が単調減少していないという異常を検出し、値を復旧することができる。
【００１２】
また、本発明のマイクロコンピュータは、前記第２の判定手段が、第１、第２、第３及び第４のタイミング（但し、第１のタイミング＜第２のタイミング＜第３のタイミング＜第４のタイミング）において前記第１の記憶手段に記憶される値について、前記第４のタイミングにおける値から前記第３のタイミングにおける値を差し引いた値が正の値であり、前記第３のタイミングにおける値から前記第２のタイミングにおける値を差し引いた値が負の値もしくは０であり、前記第２のタイミングにおける値から前記第１のタイミングにおける値を差し引いた値が正の値である場合に、前記第１の記憶手段に記憶された値が単調増加していないと判定し、前記第１の制御手段が、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調増加していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行う。
【００１３】
この構成により、時間経過に応じて単調増加すべき値が単調増加していないという異常を確実に検出し、値を復旧することができる。
【００１４】
また、本発明のマイクロコンピュータは、前記第２の判定手段が、第１、第２、第３及び第４のタイミング（但し、第１のタイミング＜第２のタイミング＜第３のタイミング＜第４のタイミング）において前記第１の記憶手段に記憶される値について、前記第４のタイミングにおける値から前記第３のタイミングにおける値を差し引いた値が負の値であり、前記第３のタイミングにおける値から前記第２のタイミングにおける値を差し引いた値が正の値もしくは０であり、前記第２のタイミングにおける値から前記第１のタイミングにおける値を差し引いた値が負の値である場合に、前記第１の記憶手段に記憶される値が単調減少していないと判定し、前記第１の制御手段が、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調減少していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行う。
【００１５】
この構成により、時間経過に応じて単調減少すべき値が単調減少していないという異常を確実に検出し、値を復旧することができる。
【００１６】
また、本発明のマイクロコンピュータは、前記第２の判定手段が、第１の時間間隔で到来する第１のタイミング及び第２の時間間隔で到来する第２のタイミングで前記第１の記憶手段に記憶される値について、前記第２のタイミングで前記第１の記憶手段に記憶される値が該第２のタイミング以前の第１のタイミングで前記第１の記憶手段に記憶される値未満である場合に、前記第１の記憶手段に記憶される値が単調増加していないと判定し、前記第１の制御手段が、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調増加していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行う。
【００１７】
この構成により、時間経過に応じて単調増加すべき値が単調増加していないという異常を確実に検出し、値を復旧することができる。
【００１８】
また、本発明のマイクロコンピュータは、前記第２の判定手段が、第１の時間間隔で到来する第１のタイミング及び第２の時間間隔で到来する第２のタイミングで前記第１の記憶手段に記憶される値について、前記第２のタイミングで前記第１の記憶手段に記憶される値が該第２のタイミング以前の第１のタイミングで前記第１の記憶手段に記憶される値より大きい場合に、前記第１の記憶手段に記憶される値が単調減少していないと判定し、前記第１の制御手段が、前記第２の判定手段により前記第１の記憶手段に記憶される値が単調減少していないと判定された場合に、前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御を行う。
【００１９】
この構成により、時間経過に応じて単調減少すべき値が単調減少していないという異常を確実に検出し、値を復旧することができる。
【００２０】
また、本発明のマイクロコンピュータは、前記第２の記憶手段が、複数の記憶領域のそれぞれに、前記時間経過に応じて単調増加あるいは単調減少する値を記憶し、前記第１の制御手段が、前記第２の記憶手段における複数の記憶領域のそれぞれに記憶された値のうち、出現頻度の最も多い値を前記第１の記憶手段に書き込む制御を行う。
【００２１】
この構成により、時間経過に応じて単調増加あるいは単調減少する値が複数の記憶領域のそれぞれに記憶され、出現頻度の最も多い値、換言すれば、最も確からしい値が第１の記憶手段に書き込まれるため、第１の記憶手段に記憶される値をより確実に復旧することができる。ここで、複数の記憶領域とは、単一の記憶装置内に構成されていても良く、複数の記憶装置のそれぞれに分散して構成されていても良い。
【００２２】
また、本発明のマイクロコンピュータは、前記第１の記憶手段を動作させる電源が切断されることを検知する検知手段と、前記検知手段により、前記第１の記憶手段を動作させる電源が切断されることが検知された場合に、その切断に先立って、前記第１の制御手段により前記第２の記憶手段に記憶されている値を読み出し、前記第１の記憶手段に書き込む制御が行われる間、前記電源を保持する制御を行う第３の制御手段とを有する。
【００２３】
この構成により、値の復旧時に第１の制御手段が第１の記憶手段に書き込む制御を行っている間、電源を確保することが可能となる。
【００２４】
また、本発明のマイクロコンピュータは、前記第２の制御手段が、前記第１の記憶手段に記憶されている値の異常が複数回発生した場合に、前記第２の記憶手段に記憶されている値に基づいて、前記外部装置を制御する。
【００２５】
この構成により、前記第１の記憶手段に記憶されている値の異常が複数回発生した場合には、当該第１の記憶手段の使用を取りやめ、その後は、第２の記憶手段に記憶されている値に基づいて、外部装置の適切且つ迅速な制御を行うことが可能となる。
【発明の効果】
【００２６】
本発明のマイクロコンピュータは、時間経過に応じて単調増加あるいは単調減少する値が消去される条件を満たしていないにもかかわらず、記憶手段から消去されるという異常が生じた場合には、別の記憶手段に記憶されている値が記憶手段に書き込まれ、その値により外部装置が制御されるため、記憶手段に記憶される値の消去という異常の検出と復旧とを、マイクロコンピュータ内部で完結させ、簡易且つ確実に行うことが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態のマイクロコンピュータについて、図面を用いて説明する。図１は、マイクロコンピュータの構成を示す図である。同図に示すマイクロコンピュータ１００は、自動車に搭載され、主電源装置２００及びバックアップ電源装置３００からの電源の供給を受けて作動し、自動車に搭載された空調装置等において空気の吸入や排出を行うポンプ４００の駆動時間を制御するものである。
【００２８】
このマイクロコンピュータ１００は、制御部１０２、ＲＯＭ１０４、第１ＮＲＡＭ１０６、第２ＮＲＡＭ１０８及びＳＲＡＭ１１０を有する。これらのうち、ＲＯＭ１０４は、主電源装置２００からの電源（主電源）及びバックアップ電源装置３００からの電源（バックアップ電源）が切断されても、情報を保持することができる。一方、第１ＮＲＡＭ１０６及び第２ＮＲＡＭ１０８は、主電源の供給を受けている間、情報を保持することができ、ＳＲＡＭ１１０は、主電源が切断されてもバックアップ電源の供給を受けている間は、情報を保持することができる。
【００２９】
制御部１０２は、マイクロコンピュータ１００の全体を制御する。具体的には、制御部１０２は、マイクロコンピュータ１００の作動開始時（例えば、イグニッションスイッチがオフからオンになった時）において、ＲＯＭ１０４に記憶されている初期値を読み出し、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に書き込むとともに、ポンプ４００を駆動させる。なお、制御部１０２は、第１ＮＲＡＭ１０６における複数の記憶領域のそれぞれに初期値を書き込むようにしてもよい。ここで、第１ＮＲＡＭ１０６は、単一の記憶装置でも複数の記憶装置でも良い。そして、複数の記憶領域は、第１ＮＲＡＭ１０６が単一の記憶装置によって構成される場合には、当該単一の記憶装置内に構成され、第１ＮＲＡＭ１０６が複数の記憶装置によって構成される場合には、単一の記憶装置内に構成されても良く、複数の記憶装置に分散して構成されていても良い。
【００３０】
更に、制御部１０２は、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶されている値を、時間経過に応じて単調増加あるいは単調減少（例えば、０．２秒毎に単調増加あるいは単調減少）させる。なお、制御部１０２は、第１ＮＲＡＭ１０６における複数の記憶領域のそれぞれに初期値を書き込んだ場合には、これら記憶領域のそれぞれに記憶されている値を同様に単調増加あるいは単調減少させ、複数の記憶領域に同一の値が記憶されるようにする。そして、制御部１０２は、ＳＲＡＭ１１０に記憶されている値が駆動限界値に達すると、当該ポンプ４００を停止させるとともに、次のポンプ４００の駆動に備えるべく、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶されている値を消去する。ここで、駆動限界値は、ポンプ４００が連続駆動可能な時間の上限まで駆動された時に、ＳＲＡＭ１１０に記憶されるべき値である。例えば、ポンプ４００が連続駆動可能な時間が２秒であって、ＳＲＡＭ１１０に記憶される値が、初期値１０から０．２秒毎に１ずつ単調増加する場合、ポンプ４００の駆動開始から２秒後にＳＲＡＭ１１０に記憶されるべき値は、２０である。従って、この場合における駆動限界値は２０となる。
【００３１】
また、制御部１０２は、ポンプ４００の駆動開始後に、当該ポンプ４００が吸入あるいは排出した空気の積算量を監視する。この空気積算量は、ポンプ４００から制御部１０２に伝えられる。そして、この空気積算量がポンプ４００の駆動を停止させるべき上限に達した場合、制御部１０２は、第２ＮＲＡＭ１０８をオフからオンにする。ここで、第２ＮＲＡＭ１０８をオフからオンにするとは、例えば、第２ＮＲＡＭ１０８において、オフに対応して保持されている値「０」をオンに対応する値「１」に書き換えることを意味する。更に、制御部１０２は、ポンプ４００を停止させるとともに、次のポンプ４００の駆動に備えるべく、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶されている値を消去する。
【００３２】
図２及び図３は、第１ＮＲＡＭ１０６、第２ＮＲＡＭ１０８及びＳＲＡＭ１１０の状態とポンプ４００の駆動状態の時間経過を示す図である。図２に示すように、ポンプ４００の駆動後、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶される値は、初期値から時間経過に応じて単調増加していく。そして、ＳＲＡＭ１１０に記憶される値が駆動限界値に達すると、ポンプ４００は停止し、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶されている値は消去される。
【００３３】
一方、図３では、ポンプ４００の駆動後、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶される値は、初期値から時間経過に応じて単調増加する。但し、空気積算量がポンプ４００の駆動を停止させるべき上限に達し、第２ＮＲＡＭ１０８がオフからオンになると、ＳＲＡＭ１１０に記憶される値が駆動限界値に達していなくてもポンプ４００は停止し、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶されている値は消去される。なお、図２及び図３は、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶される値が時間経過に応じて単調増加する場合を示しているが、単調減少する場合は、駆動限界値が初期値より小さい値となること以外は、単調増加する場合と同様に考えることができる。
【００３４】
上述した処理によってポンプ４００の駆動が制御されることになる。一方、上述した処理において、ＳＲＡＭ１１０に記憶された値に異常が生じた場合には、以下に示す処理によってその値の異常検出と復旧とが行われる。
【００３５】
図４は、ＳＲＡＭ１１０に記憶された値についての第１の異常検出及び復旧の処理を示すフローチャートである。
【００３６】
制御部１０２は、ＳＲＡＭ１１０に記憶されている値に基づくポンプ４００の駆動制御を行っている間において、ＳＲＡＭ１１０に記憶されている値が消去されたか否かを判定する（Ｓ１０１）。ＳＲＡＭ１１０に記憶されている値が消去されていない場合には、第１の異常検出及び復旧の処理は終了する。
【００３７】
一方、ＳＲＡＭ１１０に記憶されている値が消去された場合、次に、制御部１０２は、第２ＮＲＡＭ１０８がオンであるか否かを判定する（Ｓ１０２）。上述したように、第２ＮＲＡＭ１０８がオンである場合には、次のポンプ４００の駆動に備えるべく、ＳＲＡＭ１１０に記憶されている値は消去される。従って、ＳＲＡＭ１１０に記憶されている値が消去されており、且つ、第２ＮＲＡＭ１０８がオンであれば、ＳＲＡＭ１１０に記憶されている値は異常ではない。このため、Ｓ１０２において第２ＮＲＡＭ１０８がオンであると判定された場合には、第１の異常検出及び復旧の処理は終了する。
【００３８】
しかし、ＳＲＡＭ１１０に記憶されている値が消去されているにもかかわらず、第２ＮＲＡＭ１０８がオフであれば、ＳＲＡＭ１１０に記憶されている値は異常である。このため、Ｓ１０２において第２ＮＲＡＭ１０８がオフであると判定された場合には、制御部１０２は、ＳＲＡＭ１１０に記憶されている値を復旧すべく、第１ＮＲＡＭ１０６に記憶されている値を読み出して、ＳＲＡＭ１１０に書き込む（Ｓ１０３）。ＳＲＡＭ１１０には、本来第１ＮＲＡＭ１０６と同一の値が記憶されているべきである。従って、ＳＲＡＭ１１０に記憶されている値が異常である場合には、当該ＳＲＡＭ１１０に第１ＮＲＡＭ１０６に記憶されている値が書き込まれることによって、復旧されることになる。なお、第１ＮＲＡＭ１０６における複数の記憶領域のそれぞれに値が記憶されている場合には、制御部１０２は、それらの値のうち出現頻度が最も高い値、換言すれば、最も確からしい値をＳＲＡＭ１１０に書き込むようにする。Ｓ１０３の処理によって、第１の異常検出及び復旧の処理は終了し、その後、制御部１０２は、ＳＲＡＭ１１０に記憶され単調増加あるいは単調減少していく値に基づいて、上述した手順によるポンプ４００の駆動制御を行う。
【００３９】
図５は、図４に示す第１の異常検出及び復旧の処理時における第１ＮＲＡＭ１０６、第２ＮＲＡＭ１０８及びＳＲＡＭ１１０の状態とポンプ４００の駆動状態を示す図である。図５に示すように、ポンプ４００の駆動後、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶される値は、初期値から時間経過に応じて単調増加していく。しかし、何らかの原因によってＳＲＡＭ１１０に記憶されている値が消去された場合、第２ＮＲＡＭ１０８がオフであるため、ＳＲＡＭ１１０に記憶されている値に異常が生じたと判定される。そして、ＳＲＡＭ１１０に記憶されている値に異常が生じた場合には、第１ＮＲＡＭ１０６に記憶されている値がＳＲＡＭ１１０に書き込まれる。その後、ＳＲＡＭ１１０に記憶されている値は、再び単調増加していくことになる。なお、図５は、第１ＮＲＡＭ１０６及びＳＲＡＭ１１０に記憶される値が時間経過に応じて単調増加する場合を示しているが、単調減少する場合は、駆動限界値が初期値より小さい値となること以外は、単調増加する場合と同様に考えることができる。
【００４０】
図６は、ＳＲＡＭ１１０に記憶された値についての第２の異常検出及び復旧の処理を示すフローチャートである。ここでは、ＳＲＡＭ１１０に記憶される値は、正常時では単調増加するものとする。
【００４１】
制御部１０２は、ＳＲＡＭ１１０に記憶されている値に基づくポンプ４００の駆動制御を行っている間において、第２ＮＲＡＭ１０８がオフであるか否かを判定する（Ｓ２０１）。第２ＮＲＡＭ１０８がオフでない場合には、第２の異常検出及び復旧の処理は終了する。
【００４２】
一方、第２ＮＲＡＭ１０８がオフである場合、制御部１０２は、４つのタイミングｔ１、ｔ２、ｔ３、ｔ４（但し、ｔ１＜ｔ２＜ｔ３＜ｔ４であり、間隔はＳＲＡＭ１１０に記憶されている値がカウントアップする間隔と同一）においてＳＲＡＭ１１０に記憶されている値について、（タイミングｔ４の値）−（タイミングｔ３の値）＞０（式１）、（タイミングｔ３の値）−（タイミングｔ２の値）≦０（式２）、（タイミングｔ２の値）−（タイミングｔ１の値）＞０（式３）が成立するか否かを判定する（Ｓ２０２）。なお、制御部１０２は、予めこれら４つのタイミングｔ１、ｔ２、ｔ３、ｔ４においてＳＲＡＭ１１０に記憶されている値を保持しておく。例えば、ＳＲＡＭ１１０に記憶されている値が単調増加でなく、図７のように変化をしている場合、上述の式１乃至式３は成り立つ。
【００４３】
式１乃至式３が成り立たない場合、第２の異常検出及び復旧の処理は終了する。一方、式１乃至式３が成り立つ場合、ＳＲＡＭ１１０に記憶されている値は単調増加すべきであるのに単調増加していないという異常が発生したということである。このため、Ｓ３０２において式１乃至式３が成り立つ場合には、制御部１０２は、ＳＲＡＭ１１０に記憶されている値を復旧すべく、第１ＮＲＡＭ１０６に記憶されている値を読み出して、ＳＲＡＭ１１０に書き込む（Ｓ２０３）。なお、第１ＮＲＡＭ１０６における複数の記憶領域のそれぞれに値が記憶されている場合には、制御部１０２は、それらの値のうち出現頻度が最も高い値をＳＲＡＭ１１０に書き込むようにする。Ｓ２０３の処理によって、第２の異常検出及び復旧の処理は終了し、その後、制御部１０２は、ＳＲＡＭ１１０に記憶され単調増加していく値に基づいて、上述した手順によるポンプ４００の駆動制御を行う。
【００４４】
図８は、ＳＲＡＭ１１０に記憶された値についての第３の異常検出及び復旧の処理を示すフローチャートである。ここでは、ＳＲＡＭ１１０に記憶される値は、正常時では単調減少するものとする。図６のフローチャートと比較すると、Ｓ３０１及びＳ３０３の処理は、図６のＳ２０１及びＳ２０３と同様であるが、Ｓ３０２の処理は図６のＳ２０２と異なる。
【００４５】
すなわち、制御部１０２は、第２ＮＲＡＭ１０８がオフである場合、４つのタイミングｔ１、ｔ２、ｔ３、ｔ４（但し、ｔ１＜ｔ２＜ｔ３＜ｔ４であり、間隔はＳＲＡＭ１１０に記憶されている値がカウントアップする間隔と同一）においてＳＲＡＭ１１０に記憶されている値について、（タイミングｔ４の値）−（タイミングｔ３の値）＜０（式４）、（タイミングｔ３の値）−（タイミングｔ２の値）≧０（式５）、（タイミングｔ２の値）−（タイミングｔ１の値）＜０（式６）が成立するか否かを判定する（Ｓ３０２）。なお、制御部１０２は、予めこれら４つのタイミングｔ１、ｔ２、ｔ３、ｔ４においてＳＲＡＭ１１０に記憶されている値を保持しておく。例えば、ＳＲＡＭ１１０に記憶されている値が単調減少でなく、図９のように変化をしている場合、上述の式４乃至式６は成り立つ。
【００４６】
式４乃至式６が成り立たない場合、第３の異常検出及び復旧の処理は終了する。一方、式４乃至式６が成り立つ場合、ＳＲＡＭ１１０に記憶されている値は単調減少すべきであるのに単調減少していないという異常が発生したということであり、制御部１０２は、ＳＲＡＭ１１０に記憶されている値を復旧すべく、第１ＮＲＡＭ１０６に記憶されている値を読み出して、ＳＲＡＭ１１０に書き込む（Ｓ３０３）。なお、第１ＮＲＡＭ１０６における複数の記憶領域のそれぞれに値が記憶されている場合には、制御部１０２は、それらの値のうち出現頻度が最も高い値をＳＲＡＭ１１０に書き込むようにする。
【００４７】
図１０は、ＳＲＡＭ１１０に記憶された値についての第４の異常検出及び復旧の処理を示すフローチャートである。ここでは、ＳＲＡＭ１１０に記憶される値は、正常時では単調増加するものとする。
【００４８】
制御部１０２は、ＳＲＡＭ１１０に記憶されている値に基づくポンプ４００の駆動制御を行っている間において、第２ＮＲＡＭ１０８がオフであるか否かを判定する（Ｓ４０１）。第２ＮＲＡＭ１０８がオフでない場合には、第４の異常検出及び復旧の処理は終了する。
【００４９】
一方、第２ＮＲＡＭ１０８がオフである場合、制御部１０２は、第１タイミング（１ｓｔ−ｔ）の値が第２タイミング（２ｎｄ−ｔ）の値未満であるか否かを判定する（Ｓ４０２）。但し、第１及び第２タイミングは周期的に到来するタイミングであり、比較対象となる第１タイミングと第２タイミングは、第１タイミングが第２タイミング以前のタイミングという関係にある。なお、制御部１０２は、予め第１及び第２タイミングが到来する毎に、ＳＲＡＭ１１０に記憶されている値を保持しておく。例えば、ＳＲＡＭ１１０に記憶されている値が図１１に示すものである場合、制御部１０２は、第２タイミングにおける値１５２と、当該第２タイミング以前の第１タイミングにおける値１５１とを比較することになる。
【００５０】
第１タイミングの値が第２タイミングの値未満である場合、第４の異常検出及び復旧の処理は終了する。一方、第１タイミングの値が第２タイミングの値以上である場合、ＳＲＡＭ１１０に記憶されている値は単調増加すべきであるのに単調増加していないという異常が発生したということである。このため、制御部１０２は、ＳＲＡＭ１１０に記憶されている値を復旧すべく、第１ＮＲＡＭ１０６に記憶されている値を読み出して、ＳＲＡＭ１１０に書き込む（Ｓ４０３）。なお、第１ＮＲＡＭ１０６における複数の記憶領域のそれぞれに値が記憶されている場合には、制御部１０２は、それらの値のうち出現頻度が最も高い値をＳＲＡＭ１１０に書き込むようにする。Ｓ４０３の処理によって、第４の異常検出及び復旧の処理は終了し、その後、制御部１０２は、ＳＲＡＭ１１０に記憶され単調増加していく値に基づいて、上述した手順によるポンプ４００の駆動制御を行う。
【００５１】
図１２は、ＳＲＡＭ１１０に記憶された値についての第５の異常検出及び復旧の処理を示すフローチャートである。ここでは、ＳＲＡＭ１１０に記憶される値は、正常時では単調減少するものとする。図１０のフローチャートと比較すると、Ｓ５０１及びＳ５０３の処理は、図１０のＳ４０１及びＳ４０２と同様であるが、Ｓ５０２の処理は図１０のＳ４０２と異なる。
【００５２】
すなわち、制御部１０２は、第２ＮＲＡＭ１０８がオフである場合、制御部１０２は、第１タイミング（１ｓｔ−ｔ）の値が第２タイミング（２ｎｄ−ｔ）の値より大きいか否かを判定する（Ｓ５０２）。但し、第１及び第２タイミングは周期的に到来するタイミングであり、比較対象となる第１タイミングと第２タイミングは、第１タイミングが第２タイミング以前のタイミングという関係にある。なお、制御部１０２は、予め第１及び第２タイミングが到来する毎に、ＳＲＡＭ１１０に記憶されている値を保持しておく。例えば、ＳＲＡＭ１１０に記憶されている値が図１３に示すものである場合、制御部１０２は、第２タイミングにおける値１６２と、当該第２タイミング以前の第１タイミングにおける値１６１とを比較することになる。
【００５３】
第１タイミングの値が第２タイミングの値より大きい場合、第４の異常検出及び復旧の処理は終了する。一方、第１タイミングの値が第２タイミングの値以下である場合、ＳＲＡＭ１１０に記憶されている値は単調減少すべきであるのに単調減少していないという異常が発生したということであり、制御部１０２は、ＳＲＡＭ１１０に記憶されている値を復旧すべく、第１ＮＲＡＭ１０６に記憶されている値を読み出して、ＳＲＡＭ１１０に書き込む（Ｓ５０３）。なお、第１ＮＲＡＭ１０６における複数の記憶領域のそれぞれに値が記憶されている場合には、制御部１０２は、それらの値のうち出現頻度が最も高い値をＳＲＡＭ１１０に書き込むようにする。
【００５４】
上述したように、本実施形態のマイクロコンピュータ１００は、第１の異常検出及び復旧の処理において、第２ＳＲＡＭ１０８がオフであり、ＳＲＡＭ１１０に記憶されている値が消去される条件を満たしていないにもかかわらず、消去されるという異常が発生した場合には、第１ＮＲＡＭ１０６に記憶されている値がＳＲＡＭ１１０に書き込まれて復旧が行われる。従って、値の消去という異常の検出と復旧とを、マイクロコンピュータ１００内部で完結させ、簡易且つ確実に行うことが可能となる。また、ＳＲＡＭ１１０に記憶される値が復旧されることにより、ポンプ４００が連続駆動可能な時間を大きく超えて駆動してしまうことを防止することができる。
【００５５】
また、本実施形態のマイクロコンピュータ１００は、第２乃至第５の異常検出及び復旧の処理において、時間経過に応じて単調増加すべき値が単調増加していない、あるいは、時間経過に応じて単調減少すべき値が単調減少していないという異常を検出し、その値を復旧することができる。
【００５６】
ところで、ＳＲＡＭ１１０に値が書き込まれる場合には、主電源が供給されている必要がある。従って、上述したようにＳＲＡＭ１１０に記憶されている値に異常が発生した場合には、ＳＲＡＭ１１０に第１ＮＲＡＭ１０６内の値が書き込まれて復旧が終了するまでの間、主電源が維持される。
【００５７】
図１４は、主電源維持の処理を示すフローチャートである。制御部１０２は、ＳＲＡＭ１１０に記憶される値の異常を検出したか否かを判定する（Ｓ６０１）。具体的には、図４のＳ１０２において第２ＮＲＡＭ１０８がオフであると判定した場合、図６のＳ２０２において式１乃至式３が成り立つと判定した場合、図８のＳ３０２において式４乃至式６が成り立つと判定した場合、図１０のＳ４０２において第１タイミングの値が第２タイミングの値を超えると判定した場合、図１２のＳ５０２において第１タイミングの値が第２タイミングの値未満であると判定した場合には、制御部１０２は、ＳＲＡＭ１１０に記憶される値の異常を検出したと判定する。ＳＲＡＭ１１０に記憶される値の異常を検出していない場合には、一連の動作が終了する。
【００５８】
一方、ＳＲＡＭ１１０に記憶される値の異常を検出した場合、制御部１０２は、主電源の切断が検知されたか否かを判定する（Ｓ６０２）。例えば、イグニッションスイッチがオンからアクセサリに切り替わった場合、制御部１０２は、その後、イグニッションスイッチがオフになることを予測して主電源の切断を検知する。主電源の切断が検知されない場合には、一連の動作が終了する。
【００５９】
一方、主電源の切断が検知された場合、制御部１０２は、主電源を維持する制御を行う（Ｓ６０３）。具体的には、制御部１０２は、主電源装置２００に対して、主電源の供給を維持する要求を行う。主電源装置２００は、この要求を受けると、例えば、イグニッションスイッチがオフになって本来であれば主電源が切断される場合においても、その供給を継続する。
【００６０】
次に、制御部１０２は、ＳＲＡＭ１１０に記憶される値の復旧が終了したか否かを判定する（Ｓ６０４）。具体的には、図４のＳ１０３、図６のＳ２０３、図８のＳ３０３、図１０のＳ４０３及び図１２のＳ５０３において、第１ＮＲＡＭ１０６に記憶された値を読み出してＳＲＡＭ１１０に書き込む処理が終了した場合、制御部１０２は、ＳＲＡＭ１１０に記憶される値の復旧が終了したと判定する。
【００６１】
ＳＲＡＭ１１０に記憶される値の復旧が終了した後、制御部１０２は、主電源保持制御を終了する（Ｓ６０５）。具体的には、制御部１０２は、主電源装置２００に対して、主電源の供給維持の終了を指示する。主電源装置２００は、この指示に応じて、主電源の供給を終了する。
【００６２】
また、ＳＲＡＭ１１０に記憶される値の異常が複数回発生した場合には、ＳＲＡＭ１１０自体に何らかの異常が発生しているものと考えられる。このような場合には、ＳＲＡＭ１１０の使用を中止する。
【００６３】
図１５は、ＳＲＡＭ１１０の使用中止の処理を示すフローチャートである。制御部１０２は、ＳＲＡＭ１１０に記憶される値の異常が発生した回数をカウントする（Ｓ７０１）。次に、制御部１０２は、カウント値が予め定めた所定値以上であるか否かを判定する（Ｓ７０２）。カウント値が所定値未満である場合には、異常発生回数のカウント（Ｓ７０１）以降の処理が繰り返される。
【００６４】
一方、カウント値が所定値以上である場合には、制御部１０２は、ＳＲＡＭ１１０自体になんらかの異常が発生したものと判断して、当該ＳＲＡＭ１１０の使用を中止し、第１ＮＲＡＭ１０６に記憶されている値に基づいて、ポンプ４００の駆動制御を行う（Ｓ７０３）。具体的な処理は、上述したＳＲＡＭ１１０に記憶されている値に基づく処理と同様である。
【産業上の利用可能性】
【００６５】
以上のように、本発明に係るマイクロコンピュータは、記憶手段に記憶される値の消去という異常の検出と復旧とを、マイクロコンピュータ内部で完結させ、簡易且つ確実に行うことが可能であり、マイクロコンピュータとして有用である。
【図面の簡単な説明】
【００６６】
【図１】マイクロコンピュータの構成を示す図である。
【図２】第１ＮＲＡＭ、第２ＮＲＡＭ及びＳＲＡＭの状態とポンプの駆動状態の時間経過の第１の例を示す図である。
【図３】第１ＮＲＡＭ、第２ＮＲＡＭ及びＳＲＡＭの状態とポンプの駆動状態の時間経過の第２の例を示す図である。
【図４】ＳＲＡＭに記憶された値についての第１の異常検出及び復旧の処理を示すフローチャートである。
【図５】図４に示す第１の異常検出及び復旧の処理時における第１ＮＲＡＭ、第２ＮＲＡＭ及びＳＲＡＭの状態とポンプの駆動状態の一例を示す図である。
【図６】ＳＲＡＭに記憶された値についての第２の異常検出及び復旧の処理を示すフローチャートである。
【図７】ＳＲＡＭに記憶された値の時間経過の第１の例を示す図である。
【図８】ＳＲＡＭに記憶された値についての第３の異常検出及び復旧の処理を示すフローチャートである。
【図９】ＳＲＡＭに記憶された値の時間経過の第２の例を示す図である。
【図１０】ＳＲＡＭに記憶された値についての第４の異常検出及び復旧の処理を示すフローチャートである。
【図１１】ＳＲＡＭに記憶された値の時間経過の第３の例を示す図である。
【図１２】ＳＲＡＭに記憶された値についての第５の異常検出及び復旧の処理を示すフローチャートである。
【図１３】ＳＲＡＭに記憶された値の時間経過の第４の例を示す図である。
【図１４】主電源維持の処理を示すフローチャートである。
【図１５】ＳＲＡＭの使用中止の処理を示すフローチャートである。
【符号の説明】
【００６７】
１００  マイクロコンピュータ
１０２  制御部
１０４  ＲＯＭ
１０６  第１ＮＲＡＭ
１０８  第２ＮＲＡＭ
１１０  ＳＲＡＭ
２００  主電源装置
３００  バックアップ電源装置
４００  ポンプ
【図１】
2006107002.tif 000003
【図２】
2006107002.tif 000004
【図３】
2006107002.tif 000005
【図４】
2006107002.tif 000006
【図５】
2006107002.tif 000007
【図６】
2006107002.tif 000008
【図７】
2006107002.tif 000009
【図８】
2006107002.tif 000010
【図９】
2006107002.tif 000011
【図１０】
2006107002.tif 000012
【図１１】
2006107002.tif 000013
【図１２】
2006107002.tif 000014
【図１３】
2006107002.tif 000015
【図１４】
2006107002.tif 000016
【図１５】
2006107002.tif 000017