(57)【要約】【課題】  電源スイッチにトグルスイッチを用いた電子機器において、或る回路の異常でCPUのハードウェアリセットがかかった場合、異常回路を確実に停止させ得るようにする。【解決手段】  ユーザが電源スイッチ（トグルスイッチ）１０４をターンオフした時、CPU１１２は、主電源回路１０２がターンオフする前に、起動判定フラグ１２８を値０にリセットしてEEPROM１２６に格納する。その後、主電源回路１０２がターンオンしてCPU１１２が起動する時、CPU１１２はEEPROM１２６内の起動判定フラグ１２８を調べ、その値０であれば、それを値１に変更してプリンタ１００を正常に起動し、そうでなければ、エラー表示をして、ハードウェアリセットの原因となる所定回路を停止させる。これにより、回路異常でハードウェアリセットがかかった場合、電源スイッチがオンのままでも通常起動が回避される。【選択図】図１
2006139407.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアリセット信号が印加されるとリセットされるCPUと、
前記CPUによる制御の下で動作し、前記CPUに給電する電源回路と、
前記電源回路をターンオン及びターンオフするための電源スイッチと、
前記電源回路から給電され、前記CPUによる制御の下で動作する負荷回路と、
前記負荷回路に異常が発生した場合に前記CPUに前記ハードウェアリセット信号を印加するリセット回路と、
起動判定フラグを保持する不揮発性メモリと
を備え、
前記CPUが、
前記電源スイッチのターンオフに応答して前記電源回路をターンオフする電源ターンオフ手段と、
前記電源ターンオフ手段により前記電源回路をターンオフする場合に、前記電源回路がオフ状態になる前に、前記不揮発性メモリに前記起動判定フラグをセットするセット手段と、
前記電源回路のターンオンにより前記CPUが起動しようとする場合に、前記不揮発性メモリ内の前記起動判定フラグをチェックするチェック手段と、
前記チェック手段が、前記起動判定フラグがセットされていることを示す場合、前記電源回路及び前記負荷回路を通常に動作させる通常モード制御を行うように前記CPUを起動する通常起動手段と、
前記チェック手段が、前記起動判定フラグがリセットされていることを示す場合、前記負荷回路を停止させる第２モード制御を行うように前記CPUを起動する第２起動手段と
を有する電子機器。
【請求項２】
請求項１記載の電子機器において、
前記電源スイッチがトグルスイッチである電子機器。
【請求項３】
請求項１記載の電子機器において、
前記通常起動手段が、前記通常モード制御を行うように前記CPUを起動するとともに、前記不揮発性メモリ内の前記起動判定フラグをリセットするようになった電子機器。
【請求項４】
請求項１記載の電子機器において、
前記電源回路について突発的な停電が発生した場合に前記CPUにNMI信号を印加するNMI信号回路を更に備え、
前記CPUが、
前記NMI信号に応答して、前記電源回路がオフ状態になる前に、前記電子機器の現在の制御状態を示す状態データを前記不揮発性メモリに格納するとともに、前記不揮発性メモリに前記起動判定フラグをセットするNMI手段を更に有する電子機器。
【請求項５】
請求項４記載の電子機器において、
前記CPUが前記第２モード制御を行うよう起動した場合には、前記NMI手段が機能しないようになった電子機器。
【請求項６】
請求項１又は５記載の電子機器において、
前記第２起動手段が、前記第２モード制御を行うように前記CPUを起動するとともに、前記不揮発性メモリに前記起動判定フラグをセットするようになった電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、例えばプリンタのように、CPUとこれにより制御される各種回路を有する電子機器に関わり、特に、回路異常により回路動作を強制的に停止させるための制御に関する。
【背景技術】
【０００２】
例えば電子式プリンタなどCPUとこれにより制御される各種回路を有する電子機器において、或る種の回路で異常が検知された場合、CPUにハードウェアリセットをかけてCPUを電源断と同様の状態にし、それにより異常回路の動作を停止させるものが知られている。なお、CPUのハードウェアリセットそれ自体は例えば特許文献１などで公知である。
【０００３】
【特許文献１】特開昭６３−８５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
電子機器の中には、その電源回路をターンオンオフするための電源スイッチとして、自動オフ復帰式のスイッチ（押しボタンスイッチのように、押されたときだけオン状態となり、押圧力が解除されると自動的にオフ状態に復帰するスイッチ）を採用した機種と、ロック式スイッチつまりトグルスイッチ（オン状態とオフ状態を維持し、外部から操作力が加わらないかぎり、オンからオフ及びその逆への切替えが行われないスイッチ）を採用した機種とがある。前者の機種の場合、異常発生でCPUにハードウェアリセットがかかると、CPUの制御下にある電源回路はターンオフし、そのとき電源スイッチは既にオフ状態にあるから、以後、電源回路はオフ状態のままとなる。つまり、CPUのハードウェアリセットにより、電子機器は停止する。
【０００５】
これに対し、後者の電子機器の場合、異常検知によりCPUにハードウェアリセットがかかると、CPUの制御下にある電源回路はターンオフするが、このとき電源スイッチはオン状態にあるため、直ぐに電源回路が再びターンオンして、CPUが起動することになる。それゆえ、電源回路から直接電力を受けて動作するような回路で異常が発生した場合には、つぎのような現象が発生する。すなわち、異常検知によりCPUにハードウェアリセットがかかると、その瞬時には電源回路はオフになるが、直ぐにCPUが起動して電源回路をターンオンさせ、異常回路が起動し、再び異常が検知され、再びハードウェアリセットがかかり、上記動作が繰り返される。要するに、ハードウェアリセットと電子機器の再起動とが繰り返され、人が電源スイッチをオフに切り替えない限り、いつまでたっても異常回路を停止させことができないという問題が生じる。
【０００６】
本発明の目的は、上記の問題を解決し、CPUのハードウェアリセットにより異常回路を確実に停止させ得るようにすることにある。
【課題を解決するための手段】
【０００７】
本発明に従う電子機器は、ハードウェアリセット信号が印加されるとリセットされるCPUと、前記CPUによる制御の下で動作し、前記CPUに給電する電源回路と、前記電源回路をターンオン及びターンオフするための電源スイッチと、前記電源回路から給電され、前記CPUによる制御の下で動作する負荷回路と、前記負荷回路に異常が発生した場合に前記CPUに前記ハードウェアリセット信号を印加するリセット回路と、起動判定フラグを保持する不揮発性メモリとを備える。そして、前記CPUは、前記電源スイッチのターンオフに応答して前記電源回路をターンオフする電源ターンオフ手段と、前記電源ターンオフ手段により前記電源回路をターンオフする場合に、前記電源回路がオフ状態になる前に、前記不揮発性メモリに前記起動判定フラグをセットするセット手段と、前記電源回路のターンオンにより前記CPUが起動しようとする場合に、前記不揮発性メモリ内の前記起動判定フラグをチェックするチェック手段と、前記チェック手段が、前記起動判定フラグがセットされていることを示す場合、前記電源回路及び前記負荷回路を通常に動作させる通常モード制御を行うように前記CPUを起動する通常起動手段と、前記チェック手段が、前記起動判定フラグがリセットされていることを示す場合、前記負荷回路を停止させる第２モード制御を行うように前記CPUを起動する第２起動手段とを有する。
【０００８】
この電子機器においては、電源スイッチで通常に電源ターンオフするときに不揮発性メモリに起動判定フラグがセットされ、その後の電源ターンオンでCPUが起動する時に起動判定フラグがチェックされる。そのチェック結果から、前回の電源ターンオフの原因がハードウェアリセットであったか、電源スイッチターンオフであったかが判明し、ハードウェアリセットであった場合には、負荷回路を動作させないように第２モードでCPUが起動される。
【０００９】
本発明は、前記電源スイッチがトグルスイッチである場合に特に異常からの回路保護の観点で有益であるが、復帰式スイッチである場合にも適用できる。
【００１０】
好適な実施形態では、前記通常起動手段が、前記通常モード制御を行うように前記CPUを起動するとともに、前記不揮発性メモリ内の前記起動判定フラグをリセットするようになっている。これにより、電源ターンオンでCPUを通常に起動する場合、起動判定フラグがリセットされる。その後に負荷回路に異常が生じてハードウェアリセットがかかった場合、その直後の起動時には必ず、起動判定フラグがリセットされていることになり、よって、必ず第２モード制御が行われる。
【００１１】
好適な実施形態では、前記電源回路について突発的な停電が発生した場合に前記CPUにNMI信号を印加するNMI信号回路が更に備えられる。そして、前記CPUが、前記NMI信号に応答して、前記電源回路がオフ状態になる前に、前記電子機器の現在の制御状態を示す状態データを前記不揮発性メモリに格納するとともに、前記不揮発性メモリに前記起動判定フラグをセットするNMI手段を更に有する。ただし、CPUが前記第２モード制御を行うよう起動した場合には、前記NMI手段が機能しないようになっている。
【００１２】
好適な実施形態では、前記第２起動手段が、前記第２モード制御を行うように前記CPUを起動するとともに、前記不揮発性メモリに前記起動判定フラグをセットするようになっている。これにより、第２モードでCPUが起動する場合、起動判定フラグがセットされるので、その後に電源がターンオフし、その後に電源がターンオンして再起動する時には、必ず、起動判定フラグがセットされていることになり、よって、通常に起動できる。特に、上述したように、第２モードで起動した場合にはNMIが無効になる場合に、この制御が特に有益である。
【発明の効果】
【００１３】
本発明によれば、負荷回路に異常が生じてCPUにハードウェアリセットがかかった場合、その負荷回路を停止させることができる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明に従う電子機器の一実施形態の主要部の構成を示す。
【００１５】
因みに、以下では、電子式のインクジェットプリンタであって、その中の各種モータを駆動するためのモータドライバにおいてある種の異常が検知されると、CPUにハードウェアリセットがかかるように構成されたものを、一つの例に挙げて説明する。しかし、これは本発明を説明するための単なる例示に過ぎず、他の構成の電子機器にも、以下に例示的に説明される本発明の原理が適用可能であることを、当業者は容易に理解する筈である。
【００１６】
図１に示すように、このインクジェットプリンタ１００は、主電源回路１０２を有し、この主電源回路１０２は、外部の商用電源から１００VAC電力を入力し、これをプリンタ１００内で用いられる比較的に高い直流電圧、例えば４２VDCの電力に変換し出力する。主電源回路１０２から出力される４２VDC電力は、プリンタ１００内の主に動力系の回路、例えば、図示のようにキャリッジ（CR）モータ１０８やペーパフィード（PF）モータ１１０や図示しない印刷ヘッドなどの駆動に用いられる。例えば、モータドライバ１０６が、この４２VDC電力を入力してCRモータ１０８やPFモータ１１０を駆動する。
【００１７】
主電源回路１０２には、ユーザの操作により主電源回路１０２をターンオン及びターンオフするための電源スイッチ１０４が接続されている。電源スイッチ１０４にはトグルスイッチが用いられている。従って、電源スイッチ１０４は、ユーザにより一旦ターンオンされるとユーザによりターンオフされるまでオン状態を維持し、また、一旦ターンオフされるとターンオンされるまでオン状態を維持する。電源スイッチ１０４がターンオンされると、これに応答して主電源回路１０２がターンオンして上述した４２VDC電力の出力を開始する。電源スイッチ１０のオンかオフかという状態は、後述するCPU１１２により監視される。
【００１８】
モータドライバ１０６は、後述するCPU１１２による制御の下で、上述したようにCRモータ１０８やPFモータ１１０を駆動する。モータドライバ１０６には、また、副電源回路１０７が組み込まれている。副電源回路１０７は、上記４２VDC電力を入力し、これを降圧して、より低い直流電圧、例えば５VDCの電力を生成し出力する。副電源回路１０７から出力される５VDC電力は、主に、情報処理系またはロジック系の回路、例えば、図示のようにリセット回路１２０、CPU１１２及びEEPROM１２６などに入力されそれらの駆動に用いられる。
【００１９】
リセット回路１２０は、主電源回路１０２からの４２VDC電圧と、副電源回路１０７からの５VDC電圧のレベルを監視し、そして、その監視結果に応じてハードウェアリセット信号（RESET信号）１２２又はノンマスカラブルインタラプト信号（NMI信号）１２４をCPU１１２に印加する。例えば、CPU１１２が電源ターンオフ制御又は省電力移行制御を行っていないときに主電源回路１０２からの４２VDC電圧が所定レベル以下に低下した場合、これは、主電源回路１０２の電源プラグが商用電源の給電ソケットから抜かれた又は商用電源が停電したというような突発的停電が発生したことを意味することが多い。このような突発的停電に相当するであろう４２VDC電圧の異常低下を検知すると、リセット回路１２０は、CPU１１２にNMI信号１２４を出力する。また、４２VDC電圧が正常であるときに副電源回路１０７からの５VDC電圧が所定電圧以下に低下した場合、これは、モータドライバ１０６（副電源回路１０７）で何らかの異常又は故障が生じたことを意味することが多い。このようなモータドライバ１０６（副電源回路１０７）の異常に相当するであろう５VDC電圧の異常を検知すると、リセット回路１２０は、CPU１１２にRESET信号１２２を出力する。
【００２０】
CPU１１２は、ファームウェアを実行して、プリンタ１００の殆ど全ての機能を制御する。例えば、CPU１１２は、主電源回路１０２やモータドライバ１０６を始めとするプリンタ１００内の諸回路を制御する。CPU１１２は、印刷データの処理と印刷ヘッド（図示せず）の制御も行う。CPU１１２は、上述したように、電源スイッチ１０４の状態を監視する。また、CPU１１２は、ユーザがインクカートリッジ交換作業を要求するためのインクスイッチ１１６や、その他の図示しないコントロールパネル状の各種スイッチの状態も監視する。インクスイッチ１１６は、トグルスイッチではなく、自動オフ復帰式の押しボタンスイッチである。これらのスイッチの監視結果に応答して、また、上述したRESET信号１２２やNMI信号１２４に応答して、CPU１１２は後に説明するような本発明の原理に従った制御を行う。
【００２１】
CPU１１２には、不揮発性のメモリ、例えばEEPROM１２６が接続されている。CPU１１２は、主電源回路１０２をターンオフしようとするとき、又は、省電力モード（例えば、主電源回路１０２からの４２VDC出力電圧のレベルを、５VDC電圧が維持できる最低限のレベルまで低下させたり、CPU１１２の実行タスクを所定の最低限度のタスクだけに制限したりして、消費電力を低減させたモード）に移行しようとするとき、その電源ターンオフ（又は省電力移行）直前におけるプリンタ１００の制御状態を表す所定種類の状態データをEEPROM１２６に格納する。その後、主電源回路１０２再びがターンオンしてCPU１１２が再起動したとき、又は、省電力モードを解除して通常の動作モードに復帰したとき、CPU１１２は、EEPROM１２６から上記制御状態データを読み込み、これをCPU１１２やその他然るべき回路にロードする。これにより、プリンタ１００の制御は、電源ターンオフ（又は省電力移行）直前の制御状態に整合した状態から再開される。
【００２２】
EEPROM１２６に保存される上記の状態データには、例えば、インク消費量データや電源ターンオフ時刻データなど種々のものがあるが、その内の一つに、起動判定フラグ１２８がある。起動判定フラグ１２８は、セット（値：１）されているかリセット（値：０）されているかのいずれかの状態又は値を選択的にとる１ビットデータである。起動判定フラグ１２８がセットされていることは、最後に行われた電源ターンオフの原因が、CPU１１２のハードウェアリセットであったこと、すなわち、モータドライバ１０６での異常発生が原因であったことを意味する。一方、起動判定フラグ１２８がリセットされていることは、最後に行われた電源ターンオフの原因が、モータドライバ１０６の異常以外の原因、例えば、ユーザのスイッチ操作、上述した突発的停電、或いは省電力移行などであることを意味する。
【００２３】
CPU１１２は、本発明の原理に従い、後述するようにして、電源ターンオフ及び省電力移行を行うときに起動判定フラグ１２８の状態を制御し、かつ、再起動時には起動判定フラグ１２８の状態に応じて制御動作を変える。それにより、モータドライバ１０６に異常が生じてCPU１１２にハードウェアリセットがかかった場合、以後、確実にモータドライバ１０６やモータ１０８，１１０などの４２VDC電力を使う動力系の回路の動作が停止されて回路保護が確保されるようになっている。
【００２４】
以下、本発明の原理に従うCPU１１２の制御について説明する。
【００２５】
図１を参照して、今、電源スイッチ１０４がオフ状態にあって主電源回路１０２が停止しているものとする。この状態では、プリンタ１００の全体が停止しており、CPU１１２はハードウェアリセットがかかったと同じ状態になっている。この状態から、ユーザが電源スイッチ１０４をターンオンすると、まず、主電源回路１０２が起動して４２VDC電力を出力し、これを受けてモータドライバ１０６が起動して５VDC電力を出力し、これを受けてリセット回路１２０、CPU１１２及びEEPROM１２６が起動する。CPU１１２は、起動する際に、図２に示す制御を行う。
【００２６】
図２に示すように、CPU１１２は、ステップ２０２で、EEPROM１２６から上述した状態データを読む。この状態データは、前回の電源ターンオフ直前におけるプリンタ１００の制御状態を示している。この状態データには、起動判定フラグ１２８が含まれている。ステップ２０４で、CPU１１２は、起動判定フラグ１２８がセットされている（値：１）か、リセットされている（値：０）かをチェックする。その結果、起動判定フラグ１２８がリセットされている（値：０）場合、これは、上述したように、前回の電源ターンオフの原因は、CPU１１２のハードウェアリセット以外の原因であったこと、すなわち、モータドライバ１０６には異常がないこと意味する。この場合、CPU１１２は、ステップ２０６で、EEPROM１２６内の起動判定フラグ１２８をセットし、そして、ステップ２０８で、通常モード制御を行うように起動する。ここで、通常モード制御とは、プリンタ１００がその機能を正常に発揮できるよう、主電源回路１０２やモータドライバ１０６やその他の回路を通常に動作させるようにする動作モード（通常モード)を作り出す制御である。要するに、この場合、プリンタ１００は正常に起動することになる。
【００２７】
一方、上述したステップ２０４のチェックの結果、起動判定フラグ１２８がセットされている（値：１）場合、これは、上述したように、前回の電源ターンオフの原因がCPU１１２のハードウェアリセットであったこと、つまり、モータドライバ１０６で異常が発生したことを意味する。この場合、CPU１１２は、ステップ２１０で、EEPROM１２６内の起動判定フラグ１２８をリセットし（その値を０に書き換え）、そして、ステップ２１２で、エラーメッセージの表示をプリンタ１００のコントロールパネル（図示せず）又はプリンタ１００の接続されたクライアントコンピュータ（図示せず）に出力する。その後、CPU１１２は、ステップ２１４で、通常に起動するのではなく、第２モード制御を行うように起動する。
【００２８】
ここで、第２モード制御とは、モータドライバ１０６及びそれにより駆動されるモータ１０８、１１０など、４２VDC電力を使う動力系の回路を動作させないようにする動作モード（第２モード）を作り出す制御である。第２モード制御を実行することより、モータドライバ１０６の異常から、モータドライバ１０６を始めとする動力系の回路が保護される。第２モード制御の具体的方法として、例えば、モータドライバ１０６を制御して、その内の５VDC電力を生成する副電源回路１０７の部分だけは動作させるが、モータ１０８，１１０を駆動するための回路は停止させるという制御方法を採用することができる。モータドライバ１０６のICには、上記のような状態を作り出すためのスリープモード端子が用意されているものがあり、そのようなICでは、スリープモード端子にCPU１１２からスリープモード有効の信号を印加することで、スリープモードつまり上述した第２モードを作り出すことができる。或いは、別の具体的方法として、主電源回路１０４及びモータドライバ１０６がこの方法を適用可能なように構成されているならば、主電源回路１０２を制御して、その４２VDC出力電圧のレベルを、モータドライバ１０６がモータ１０８，１１０を駆動することは不可能であるが、５VDC電力を生成することは可能であるような所定の最低限のレベルにまで低下させるという方法を採用することもできる。いずれにせよ、第２モード制御により、４２VDC電力を使う動力系の回路は停止するが、CPU１１２などの情報処理系又はロジック系の回路は動作して、上述した第２モードを維持することができる。
【００２９】
なお、ステップ２１４の第２モード制御に入ると、CPU１１２は、NMI信号１２４には応答しないようになる。その理由は次のとおりである。すなわち、NMI信号１２４の目的は、突発的な停電が生じたときに、電源回路に残っている僅かな電力を利用してCPU１１２を動かして、緊急に、現在の制御状態を表す状態データをEEPROM１２６に退避させ、その後にプリンタ１００が再起動したときに、その状態データを引き継げるようにすることにある。しかし、第２モード制御に入ったときのプリンタの１００の制御状態は、モータドライバ１０６などに異常が発生したという所謂エラー状態であるため、このエラー状態を後の再起動時に引き継ぐようにすることには問題があるからである。
【００３０】
さて、以上のようにして電源ターンオン時の制御が行われた後、ユーザが電源スイッチ１０４をターンオフしたとする。この電源スイッチ１０４のターンオフに応答して、CPU１１２は、図３に示す制御を行う。
【００３１】
図３に示すように、CPU１１２は、ステップ２２２で、プリンタ１００の現在の制御状態を表す状態データをEEPROM１２６に格納する。このとき、CPU１１２は、ステップ２２４に示すように、起動判定フラグ１２８をリセットして（値０にして）EEPROM１２６に格納する。その後、CPU１１２は、ステップ２２６で、主電源回路１０２をターンオフする。既に電源スイッチ１０４がユーザによってオフ状態にされているので、主電源回路１０２は以後、電源スイッチ１０４がターンオンされるまで、オフ状態になる。
【００３２】
図３に示した制御は、ユーザが電源スイッチ１０４をターンオフした時だけでなく、突発的な停電が生じてNMI信号１２４がCPU１１２に入った時にも行われる。この場合には、CPU１１２は、主電源回路１０２内の大容量コンデンサ（図示せず）に蓄積された電力を使って、これが放電するまでの極めて短時間に、予め用意されたノンマスカラブルインタラプトプログラムを実行することで、図３に示した制御を行う。
【００３３】
さらに、図３に示した制御は、プリンタ１００が印刷動作やその他の動作を行っている最中にユーザが所定の強制電源オフ操作を行った場合にも実行される。ここで、強制電源オフ操作とは、プリンタ１００がどのような動作をしていようともユーザが強制的にプリンタ１００に停止を要求する操作であり、例えば、電源スイッチ１０４をターンオフするとともにインクスイッチ１１６を継続して７秒以上押し続けるという操作である。このときにも、図３に示した制御が行われる。
【００３４】
また、電源ターンオフ後、プリンタ１００が所定時間以上継続して使用されないというような所定の省電力移行条件が成立すると、CPU１１２は、図４に示す制御を行う。
【００３５】
図４に示すように、CPU１１２は、ステップ２３２で、プリンタ１００の現在の制御状態を表す状態データをEEPROM１２６に格納する。このとき、CPU１１２は、ステップ２３４に示すように、起動判定フラグ１２８をリセットして（値０にして）EEPROM１２６に格納する。その後、CPU１１２は、ステップ２３６で、主電源回路１０２やCPU１１２自身の状態を前述したような省電力モードに移行させる。
【００３６】
以上説明した図２、図３及び図４に示した制御が行われることにより、モータドライバ１０６に異常が発生してリセット回路からCPU１１２にRESET信号１２２が入った場合、次のような動作が行われることになる。
【００３７】
まず、RESET信号１２２が入ると、CPU１１２は短時間だけハードウェアリセット状態になる。このハードウェアリセット状態は、CPU１１２への電源供給が断たれた状態と実質的に同等の状態であるから、CPU１１２は直ちに完全に停止する。この時、CPU１１２は図２に示した制御を行うことはできない。CPU１２３の停止により、CPU１２３の制御下にある主電源回路１０２もターンオフする。
【００３８】
しかし、電源スイッチ１０４が依然としてオン状態であるため、主電源回路１０２はターンオフした直後に再びターンオンする。それにより、CPU１１２への電源供給が再開されて、CPU１１２は再び起動する。CPU１１２にとって、この時の状態は、ちょうど、ユーザが電源スイッチ１０４をターンオンした時の状態と同じであるから、CPU１１２は、図２に示した電源ターンオン時の制御を実行する。この制御の中のステップ２０４で、CPU１１２は、EEPROM１２６内の起動判定フラグ１２８をチェックする。チェックの結果は、起動判定フラグ１２８はセットされている（値：１）ということになる。何故なら、上述したハードウェアリセットがかかる直前の電源ターンオン時に行われた図２に示す制御のステップ２０６で、EEPROM１２６に起動判定フラグ１２８がセットされ、それ以後は起動判定フラグ１２８は全く操作されていないからである。
【００３９】
よって、この起動判定フラグ１２８のチェック結果を受け、CPU１１２は、図２のステップ２１０の方の分岐ルーチンへ制御を進めて、ステップ２１２でエラーメッセージを表示し、ステップ２１４で上述した第２モード制御を行って、モータドライバ１０６を始めとする動力系の回路を動作させないようにする。従って、電源スイッチ１０４がトグルスイッチであって依然としてオン状態にあっても、「発明が解決しようとする課題」の項で説明したような、CPU１１２のハードウェアリセットと再起動が繰り返されてしまうという問題は最早が生じない。従って、モータドライバ１０６に異常が発生してCPU１１２にハードウェアリセットがかかった場合、モータドライバ１０６を始めとする動力系の回路を確実に停止させることができる。
【００４０】
また、このように第２モード制御に入る場合、ステップ２１０で起動判定フラグ１２８がリセットされるので、以後に電源がターンオフされ再び電源がターンオンしたときに、上述したエラー状態が継続することはなく、プリンタ１００は正常に起動することができる。特に、第２モード制御に入った後に突発的な停電が発生した場合、CPU１１２は前述した理由からNMI信号１２４に応答しないので、図３に示した制御が行われないが、そうであっても、ステップ２１０で起動判定フラグ１２８がリセットされるので、その後の再起動時には通常にプリンタ１００が起動することができる。
【００４１】
他方、CPU１１２のハードウェアリセット以外の原因で電源ターンオフが行われる場合や省電力移行が行われる場合には、図３又は図４に示した制御が実行されて、起動判定フラグ１２８が必ずリセットされるので、その後に電源ターンオンが行われた場合には、図２に示す制御は、必ずステップ２０６の方の分岐ルーチンへ進むことになるので、以後プリンタ１００は正常に動作することができる。
【００４２】
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【００４３】
例えば、上述した実施形態では、モータドライバ１０６に異常が発生するとCPUのハードウェアリセットがかかるようになっているが、これは単なる一例に過ぎず、他の原因によるハードウェアリセットの場合にも、本発明の原理は適用可能である。また、プリンタ以外の種々の電子機器に本発明は適用可能である。
【図面の簡単な説明】
【００４４】
【図１】本発明に従う電子機器の一実施形態の主要部の構成を示すブロック図。
【図２】主電源回路１０２のターンオンによりCPU１１２が起動した時にCPU１１２が行う制御を示すフローチャート。
【図３】主電源回路１０２がターンオフする直前にCPU１１２が行う制御を示すフローチャート。
【図４】省電力モードへ移行する直前にCPU１１２が行う制御を示すフローチャート。
【符号の説明】
【００４５】
１００…プリンタ、１０２…主電源回路、１０４…電源スイッチ、１０６…モータドライバ、１１２…CPU、１２０…リセット回路、１２２…ハードウェアリセット信号（RESET信号）
【図１】
2006139407.tif 000003
【図２】
2006139407.tif 000004
【図３】
2006139407.tif 000005
【図４】
2006139407.tif 000006