(57)【特許請求の範囲】
【請求項１】
動作モードとしてクロックに基づいて動作する通常モードと前記クロックを停止させて前記通常モードより消費電力が低いストップモードを含んだ複数のモードを有し、電源スイッチ手段からの信号をＮＭＩ割り込み信号として受け取ってＮＭＩ割り込み処理をおこなうＣＰＵを有するインクジェット記録装置であって、
電源状態フラグを保存する不揮発性のメモリ手段と、
前記ＣＰＵからの信号に基づいてトリガ信号を出すユーザーロジック回路手段と、
前記トリガ信号をうけてＮＭＩ割り込みマスク信号を生成するマスク信号生成部と、
前記電源スイッチ手段からの信号を前記マスク信号によって無効にするゲート回路とを備え、
前記ＮＭＩ割り込み処理において、
ＮＭＩ割り込みの禁止を行うために前記ユーザーロジック回路と前記マスク信号生成部への設定を行った後、
電源状態フラグがオンであると判断した場合には、記録ヘッドのキャッピング動作を行い、不揮発性のメモリ手段に電源状態フラグをオフに変更する設定を行い、前記ＮＭＩ割り込みの禁止を解除するために前記ユーザーロジック回路と前記マスク信号生成部への設定を行い、前記ＣＰＵの動作モードを前記通常モードから前記ストップモードへ移行させる設定を行い、
前記電源状態フラグがオフであると判断した場合には、前記ＣＰＵの動作モードを前記ストップモードから前記通常モードへ移行させる設定を行い、前記記録ヘッドの回復動作を行い、前記電源状態フラグをオンに変更する設定を行い、前記ＮＭＩ割り込みの禁止を解除するために前記ユーザーロジック回路と前記マスク信号生成部への設定を行うことを特徴とするインクジェット記録装置。
【請求項２】
動作モードとしてクロックに基づいて動作する通常モードと前記クロックを停止させて前記通常モードより消費電力が低いストップモードを含んだ複数のモードを有し、電源スイッチ手段からの信号をＮＭＩ割り込みとして入力されるとＮＭＩ割り込み処理をおこなうＣＰＵを有するインクジェット記録装置の制御方法であって、
前記ＮＭＩ割り込み処理は、
ユーザーロジック回路とマスク信号生成部に対して前記ＮＭＩ割り込みの禁止の設定を行う第１の割り込み設定工程と、
不揮発性のメモリ手段に格納されている電源状態フラグを判定するフラグ判定工程と、
前記フラグ判定工程にて、電源状態フラグがオンであると判断した場合には、記録ヘッドのキャッピング動作行わせるキャッピング工程と、
前記電源状態フラグをオフに変更するフラグ変更工程と、
前記ユーザーロジック回路と前記マスク信号生成部に対して前記ＮＭＩ割り込み禁止のクリアの設定を行う第２の割り込み設定工程と、
ＣＰＵの動作モードを前記通常モードから前記ストップモードへ移行させるモード移行工程とを実行し、
前記フラグ判定工程にて、前記電源状態フラグがオフであると判断した場合には、前記ＣＰＵの動作モードを前記ストップモードから前記通常モードへ移行させるモード移行工程と、
前記記録ヘッドの回復動作行わせる回復動作工程と、
前記電源状態フラグをオンに変更するフラグ変更工程と、
前記ユーザーロジック回路と前記マスク信号生成部に対して前記ＮＭＩ割り込み禁止のクリアの設定を行う第３の割り込み設定工程とを実行することを特徴とするインクジェット記録装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インクジェット記録装置について、特にマイクロプロセッサのクロック停止機能を使用した省エネルギーモードとＮＭＩ割り込みをインクジェット記録装置の電源オン／オフの制御のための制御回路および制御方法に関するものである。
【０００２】
【従来の技術】
近年、携行が容易でバッテリにより動作可能なノートブックタイプまたはラップトップタイプのポータブルパーソナルコンピュータが種々開発されている。またコンピュータ機器以外においても、低消費電力の機器が多数開発されている。この種の機器では、バッテリによる駆動時間を出来るだけ長くするため、あるいは、待機状態の消費電力を抑えるために、種々の電力節約のための工夫がされている。
【０００３】
例えば、ＣＰＵの消費電力を少なくするために、ＣＰＵの動作速度を遅くして、ＣＰＵの消費電流を減らす工夫がなされている。ＣＰＵの消費電流は入力クロックの周波数にほぼ比例するので、クロック周波数を落して低い周波数で動作させたり、クロックを完全に停止させれば、消費電流が減少し、結果として消費電力を減らすことが出来る。基本的には、ＣＰＵが持つＳＴＯＰクロック機能（以下、ＳＴＯＰモード）を使用して実現している。その他には、ＣＰＵの動作を一時的に停止（以下、ＨＡＬＴモード）させることにより、ダイナミックな消費電流を減らし、消費電力を減らすことも出来るが、ＣＰＵのクロックを低い周波数で動作させたり、クロックを完全に停止させるＳＴＯＰモードよりは消費電流を減らすことは出来ない。
【０００４】
図５は、ＣＰＵの状態遷移を示す図であり、この図を基に、ＨＡＬＴモードとＳＴＯＰモードとの消費電力の点からの大きな相違点を説明する。
【０００５】
まず、ＨＡＬＴモード５２では、ＣＰＵの動作クロックが停止するモードであるが、ＣＰＵ以外の内蔵周辺回路へのクロック供給は継続され、動作を継続するために、システムのトータルの消費電力を低下させることが出来るが、内蔵周辺回路の消費電流を減らすことが出来ない。
【０００６】
しかしながら、ＣＰＵそのものの動作は、停止状態となるため通常モード５１よりは、消費電流が少なくなることは言うまでもない。
【０００７】
一方、ＳＴＯＰモード５０では、ＣＰＵの動作クロックとともにクロック・ジェネレータを停止させるモードであり、システム全体を停止させるため、ＣＰＵおよび内蔵周辺回路も動作を停止する。そのため、ＳＴＯＰモード５０では、スタティックな消費電流のみの消費となり、Ｃ−ＭＯＳプロセスをＣＰＵの製造プロセスに採用すれば、更に消費電流を減らすことが出来る。
【０００８】
以上説明したように、ＨＡＬＴモード５２とＳＴＯＰモード５０では、消費電流に大きな差があるため、低消費電力のコンピュータシステムを開発する場合には、ＳＴＯＰモード５０を利用する場合が、非常に多くなってきている。
【０００９】
前記ＨＡＬＴモード５２およびＳＴＯＰモード５０への動作の切替えは、一般的にソフトウエアの制御により通常モード５１からＳＴＯＰモード５０およびＨＡＬＴモード５２へ移行する。例えば、図５の状態遷移図に示すように、ＨＡＬＴ命令の実行によりＨＡＬＴモード５２へ移行し、ＳＴＯＰモード設定用のＣＰＵ内部レジスタへのモード設定によりＳＴＯＰモード５０へ移行する。
【００１０】
一度ＨＡＬＴモード５２およびＳＴＯＰモード５０へ移行した場合は、クロックの一部あるいは、全停止のために、外部回路からのＲｅｓｅｔ信号や割込み信号でのみ通常動作モード５１への復帰が可能である。
【００１１】
従来、ソフト的に電源制御を行うコンピュータ機器においては、電源制御するためにＣＰＵは常に動作している必要性が有り、そのために電源断の状態であってもＣＰＵおよび周辺回路は動作しており、結果として消費電力を小さくすることが出来なかった。そのため、最近では、前記ＳＴＯＰモード５０を有するＣＰＵを利用して、ＳＴＯＰモード５０にて電源断の状態での消費電力を減らす方法も考案されている。しかしながら、ＳＴＯＰモード５０から通常モード５１へ復帰させるためには、図５に示すように、ＮＭＩ信号（Ｎｏｎ Ｍａｓｋａｂｌｅ Ｉｎｔｅｒｒｕｐｔ：マスク不可能割込み信号）およびＲｅｓｅｔ信号以外で復帰させることが出来ないため、このような方式を採用するためには、図６に示す従来例のように、電源スイッチからの信号を、このトリガ信号として利用する方法が考案されている。
【００１２】
図６に於いて、６１は、電源ＯＮ／ＯＦＦを指示する電源スイッチ、６２は、抵抗器で、６３は、キャパシターで、抵抗器６２とＲＣフィルターを構成し、パワースイッチ６１からの雑音信号を除去することが出来る。このＲＣフィルターの出力信号６４は、ＣＰＵ６５のマスク不可能なＮＭＩ信号６４に接続されている。また６６は、システムに必要なすべての電源出力を供給する電源回路であり、６７は、ＣＰＵがＳＴＯＰモードのときに必要最低限の電源を供給する補助電源回路であって、この場合は、ＣＰＵのみに電源が供給されている。
【００１３】
このような従来例の場合、一般的に安価な機械接点型のタクトスイッチが用いられている。機械接点型のタクトスイッチは、押下している間は、接点が接状態であるスイッチで、接点の接続および切断のときに、構造上瞬間的に接点の跳ね返りが発生しやすく電源スイッチ６１の一度の押下であっても、図７に示すように、電源スイッチ６１の電源スイッチの接点ＯＮ７０や電源スイッチの接点ＯＦＦ７１時に、電気的にはあたかも数回押下されたような、いわゆるチャタリングが発生し、結果的には、ＮＭＩ信号６４にノイズ信号が発生する。
【００１４】
いまＣＰＵ６５のＮＭＩ信号６４が、立ち下がりエッジにて割込みの起動がかかるとすると、図７に示すように、ＳＴＯＰモード５０で、待機中の電源スイッチ６１の一回の押下によって、数回のＮＭＩが起動されることになる。また、電源スイッチの接点ＯＦＦ７１の時も同様のチャタリングが発生する。即ちＮＭＩ信号６４には、７２のＮＭＩ１、７３のＮＭＩ２、７４のＮＭＩ３、７５のＮＭＩ４、７６のＮＭＩ５、７７のＮＭＩ６、７８のＮＭＩ７、７９のＮＭＩ８の割込みが連続的にかかり、ＣＰＵ６５は、ソフトウエアにより割り込み禁止処理が出来ない最優先処理割込であるＮＭＩ信号６４の処理をせざるを得ないため、この最初の７２のＮＭＩ１にてトリガされてＳＴＯＰモード５０からの復帰処理をしている間に、更に、次の予期しない７３のＮＭＩ２から７９のＮＭＩ８までの同様の処理要求が発生することになり、場合によっては、ＣＰＵ６５が暴走したり、システムが異常動作をしたりしていた。さらには、モータなどのアクチュエータを利用したシステムなどで、復帰時にアクチュエータの初期化をしているときなどに、このような連続的なＮＭＩ（７２〜７９）割込みが発生するとアクチュエータの初期化が中断してしまうなどの問題もある。
【００１５】
このような状況を防止するために、抵抗・キャパシターなどの素子を用いて、６２、６３などで構成するＲＣフィルターなどをＮＭＩ信号６４に挿入したりしているが、ＲＣフィルターの時定数を種々の場合のノイズに調整することは困難であり、また、機械接点からのノイズの発生の仕方が均一でない可能性があるため、完全に除去することは難しい。
【００１６】
また機械接点型のスイッチであるが故に、ユーザーが押下しようと思えば常に押下することが可能であり、前記チャタリングの問題を仮にＲＣフィルターで解決したとしても、ユーザーが短期間に電源スイッチを連続押下すると、チャタリング発生と同様の状況となり、同様の問題を引起こす可能性が非常に高かった。
【００１７】
また、装置の消費電力を少なくするための方式として、特開平８−４４４５３号広報にＣＰＵのシステムクロックを停止させる方式が記載されている。この方式の場合、ＣＰＵのクロックを停止さるためのトリガ信号であるＮＭＩを発生させる為には、ＣＰＵが割込み禁止のゲート回路を解除する必要があり、またソフトウエアの実行時間を確保するための遅延時間を設ける必要があり、ＣＰＵの動作と非同期な、例えば電源スイッチキーでＮＭＩ信号を発生させて、電力制御を行おうとした場合には、ゲート回路を解除できずＮＭＩ信号を発生させることができないという問題があった。
【００１８】
【発明が解決しようとする課題】
前述したように、消費電力を減らすためにＣＰＵのＳＴＯＰモード機能を利用したインクジェット記録装置の制御において、ＳＴＯＰモードからの復帰のトリガを電源スイッチにした場合、スイッチに発生するチャタリングのノイズによりマスクできない最優先割込みが多数発生し、最優先割込み処理の多重ネスティングを引起こし、結果として復帰処理を暴走させたり、アクチュエータを搭載したシステムなどでは、アクチュエータの初期化が正常に終了しなくなったりしていた。本来、電源スイッチの一回の押下にて、一回のＮＭＩ信号が発生するように期待しているのだが、安価な機械接点型スイッチの場合には、チャタリングは避けられない問題であると同時に、機械式スイッチをユーザーが不用意に押下してしまう可能性がある。
【００１９】
この状況を回避する手段がないために、ＳＴＯＰモードからの復帰動作中に、再度復帰処理を実行することになったり、場合によっては、ソフトウエアでの電源ＯＮ／ＯＦＦ制御であるがために復帰動作処理中の電源スイッチ割込みは、電源ＯＦＦの処理シーケンスを実行して、ユーザーは、電源をＯＮしたにもかかわらずシステムの電源を切断してしまい、再度ＳＴＯＰモードに逆行してしまうこともありえるという課題があった。
【００２０】
【課題を解決するための手段】
動作モードとしてクロックに基づいて動作する通常モードと前記クロックを停止させて前記通常モードより消費電力が低いストップモードを含んだ複数のモードを有し、電源スイッチ手段からの信号をＮＭＩ割り込み信号として受け取ってＮＭＩ割り込み処理をおこなうＣＰＵを有するインクジェット記録装置であって、電源状態フラグを保存する不揮発性のメモリ手段と、前記ＣＰＵからの信号に基づいてトリガ信号を出すユーザーロジック回路手段と、前記トリガ信号をうけてＮＭＩ割り込みマスク信号を生成するマスク信号生成部と、前記電源スイッチ手段からの信号を前記マスク信号によって無効にするゲート回路とを備え、前記ＮＭＩ割り込み処理において、ＮＭＩ割り込みの禁止を行うために前記ユーザーロジック回路と前記マスク信号生成部への設定を行った後、電源状態フラグがオンであると判断した場合には、記録ヘッドのキャッピング動作を行い、不揮発性のメモリ手段に電源状態フラグをオフに変更する設定を行い、前記ＮＭＩ割り込みの禁止を解除するために前記ユーザーロジック回路と前記マスク信号生成部への設定を行い、前記ＣＰＵの動作モードを前記通常モードから前記ストップモードへ移行させる設定を行い、前記電源状態フラグがオフであると判断した場合には、前記ＣＰＵの動作モードを前記ストップモードから前記通常モードへ移行させる設定を行い、前記記録ヘッドの回復動作を行い、前記電源状態フラグをオンに変更する設定を行い、前記ＮＭＩ割り込みの禁止を解除するために前記ユーザーロジック回路と前記マスク信号生成部への設定を行うことを特徴とするインクジェット記録装置。
【００２２】
動作モードとしてクロックに基づいて動作する通常モードと前記クロックを停止させて前記通常モードより消費電力が低いストップモードを含んだ複数のモードを有し、電源スイッチ手段からの信号をＮＭＩ割り込みとして入力されるとＮＭＩ割り込み処理をおこなうＣＰＵを有するインクジェット記録装置の制御方法であって、前記ＮＭＩ割り込み処理は、ユーザーロジック回路とマスク信号生成部に対して前記ＮＭＩ割り込みの禁止の設定を行う第１の割り込み設定工程と、不揮発性のメモリ手段に格納されている電源状態フラグを判定するフラグ判定工程と、前記フラグ判定工程にて、電源状態フラグがオンであると判断した場合には、記録ヘッドのキャッピング動作行わせるキャッピング工程と、前記電源状態フラグをオフに変更するフラグ変更工程と、ユーザーロジック回路とマスク信号生成部に対して前記ＮＭＩ割り込み禁止のクリアの設定を行う第２の割り込み設定工程と、ＣＰＵの動作モードを前記通常モードから前記ストップモードへ移行させるモード移行工程とを実行し、前記フラグ判定工程にて、前記電源状態フラグがオフであると判断した場合には、前記ＣＰＵの動作モードを前記ストップモードから前記通常モードへ移行させるモード移行工程と、前記記録ヘッドの回復動作行わせる回復動作工程と、前記電源状態フラグをオンに変更するフラグ変更工程と、ユーザーロジック回路とマスク信号生成部に対して前記ＮＭＩ割り込み禁止のクリアの設定を行う第３の割り込み設定工程とを実行することを特徴とするインクジェット記録装置の制御方法。
【００２４】
【発明の実施の形態】
以下では、この発明の実施の形態にかかる割り込み処理方法及び装置を図面を用いて説明する。
【００２５】
図１２は、本発明におけるインクジェット記録装置の斜視図である。
【００２６】
１００５は記録ヘッドであり、キャリッジ１００４上に搭載されてシャフト１００３に沿って長手方向に往復運動可能となっている。記録ヘッドより吐出されたインクは、記録ヘッドと微小な間隔をおいて、プラテン１００１に記録面を規制された被記録材１００２に到達し、その上に画像を形成する。
【００２７】
記録ヘッドには、フレキシブルケーブル１１９を介して画像データに応じて吐出信号が供給される。なお、１１１４はキャリッジ１００４をシャフト１００３に沿って走査させるためのキャリッジモーターである。１１１３はモーター１１１４の駆動力をキャリッジ１００４に伝達するワイヤである。また、１１１８はプラテンローラー１００１に結合して被記録材１００２を搬送させるためのフィードモーターである。
【００２８】
＜第一の実施例＞
図１は、本発明の第一の実施例であるＳＴＯＰモードを利用したインクジェットプリンタの全体ブロック図を示す。
【００２９】
１は、インクジェットプリンタであり、コントロールユニット２、プリンタエンジンユニット３、ヘッドユニット４、電源ユニット５及びＡＣ電源ケーブル６とで構成されている。
【００３０】
２は、プリンタエンジン３の制御を司るコントロールユニットであり、ＳＴＯＰモード５０を有するＣＰＵ２００−１とユーザーロジック回路２００−２で構成されている。
【００３１】
３は、プリンタエンジンユニットであり、ヘッドユニット４及びヘッドユニット４を搭載して印字制御をするためのキャリッジや紙送り機構、キャリッジ位置の検出をするための光学的なＣＲエンコーダ３００、インクジェットのヘッドノズルのインク詰りを防ぐための回復動作を検出するＰＧセンサ３０１とヘッドユニット４を搭載するキャリッジとキャリッジを駆動するモータ（以下、ＣＲモータ）３０２と、紙送りを司るモータ（以下、ＬＦモータ）３０３、及び自動給紙及びヘッド回復を司るモータ（以下、ＡＳＦ／ＰＧモータ）３０４で構成されている。
【００３２】
４は、プリンタのヘッドユニットであり、インクジェット方式のプリンタでは、インク中に気泡を発生させてインクを複数のノズルから吐出させるために、インクを瞬間的に加熱する必要があり、そのためにヒーター４００が実装され、このヒーター４００の温度上昇を監視するためにダイオードの温度特性を利用したダイオードセンサ４０１がヒーター４００の近傍に設けられている。また、ヒーター４００の抵抗値が異なると、ヒーター４００の発熱量に影響し、均一な気泡を発せさせることが出来ず、均一な印字をすることが困難になることが予想されるので、システムとしてヒーター４００にて発生する熱量を一定になるように制御する。
【００３３】
そのための情報を、例えば、前記したヒーター４００の抵抗値などをコントロールユニット２に搭載されている不揮発性ＲＡＭであるＥＥＰＲＯＭ２１５に記憶しておき、印刷時に、適時システムがこの情報を読取ってヒーター制御に補正をかけて均一な印字が可能なように制御している。
【００３４】
５は、電源ユニットであり、本実施例のインクジェットプリンタに必要な３系統のＤＣ出力を生成する電源である。６は、ＡＣ電源を入力するためのＡＣケーブルであり、１００ＶＡＣ或は、２２０ＶＡＣを電源ユニット５に供給する。前記電源ユニット５では、６からのＡＣ入力からシステムロジック用の５Ｖ電圧であるＶＣＣ、ヒーター４００の駆動用の１９Ｖ電圧であるＶＨとＣＲモータ３０２、ＬＦモータ３０３及びＡＳＦモータ３０４駆動用の２７Ｖ電圧であるＶＭを出力する。
【００３５】
２００は、ＣＰＵ２００−１とユーザーロジック回路２００−２を一つのシリコンチップ上に集積したカスタムＩＣであって、ＣＰＵ２００−１は、ＳＴＯＰモード５０の機能を有したマイクロコントローラ、ユーザーロジック２００−２は、コンピュータシステムのユーザー周辺回路、不図示であるが、例えば、以下のようなＳＤＲＡＭ２０８のリードライトコントローラ、割込みコントローラ、アドレス制御回路、汎用ポート、モータ駆動回路２１９、及び２２０のモータ制御回路、ＤＭＡコントローラなどで構成されている。
【００３６】
２０１は、システムの基本クロックを発生させる水晶発振子で、ＣＰＵ２００−１に内蔵されている不図示の発振回路で、４８Ｍｈｚの基本クロックを発振させる。
【００３７】
２０２は、本実施例であるところのＮＭＩ制御回路であって、電源スイッチ２０３からの電源のＯＮ／ＯＦＦの信号を制御し、電源シーケンスを制御するための割込み信号であるＮＭＩ信号を制御するＮＭＩ制御回路である。このＮＭＩ信号により、ＣＰＵ２００−１は、ＳＴＯＰモード５０から通常動作モード５１への復帰、或いは、通常動作モード５１からＳＴＯＰモード５０への移行を実行する。
【００３８】
２０４は、インクジェットプリンタのアクセスカバーの開閉を検知するセンサーであり、例えば、インク交換時などにアクセスカバーが開かれたら、プリンタの動作を一時中断して待機状態にさせるためのものである。
【００３９】
２０５は、ＵＳＢＩ／Ｆの信号線を制御する回路であり、２０６のＵＳＢＩ／Ｆコネクタに接続される不図示のホストコンピュータからのデータ送信の可否を制御する。例えば、プリンタ１が初期化中であり、ホストコンピュータからのデータを受信する準備が出来ていない状態のとき、ＣＰＵ２００−１の制御の基に、ＵＳＢ信号を強制的にＯＦＦし、ホストコンピュータにＵＳＢ機器としてのプリンタ１を認識させないように制御している。
【００４０】
２０７は、本システムを制御するためのプログラムやモータの速度を制御するモータ駆動回路２１９、２２０等の速度加減速情報などを格納する読み出しのみ可能なＲｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ（以下ＲＯＭ）である。
【００４１】
２０８は、読み出し・書込み可能なメモリ（以下ＲＡＭ）であって、本システムのワークエリア、受信データの展開エリアなどに使用される。
【００４２】
２０９は、２色の発光ダイオードであり、電源の通電状態やシステムのエラー表示などに発光色を変えることによって表示する表示器である。
【００４３】
２１０は、電源ユニット５から供給される５Ｖ電圧を、更に２．５Ｖと３．３Ｖに変換する電源回路である。また、電源ユニット５の５Ｖ電源の出力をモニターすることによりシステムのリセット信号を発生する機能も併せ持つ。
【００４４】
２１１は、ヒーター４００の駆動電源を制御する回路であって、ＣＰＵ２００−１の制御の基に印字中のみヘッドユニット４のヒーター４００に電圧を印加するように制御される。従って、待機中などでは、ヘッドユニット４へのヘッド駆動電圧ＶＨは、印加されない。
【００４５】
同様に、２１２は、ヘッドユニット４の制御用ロジック回路の電源を制御する回路であって、印字中のみ前記ヘッド駆動電圧ＶＨと同様にヘッドユニット４に印加される。
【００４６】
２１４は、増幅回路であって、ヘッドユニット４に搭載されているヒーター４００の温度上昇を監視するためのダイオードセンサ４０１用の増幅器である。
【００４７】
２１５は、不揮発性メモリであって、電源断の状態でも記憶しておきたい情報、例えばインクの消費量などを格納する。
【００４８】
２１６は、光学センサーの電源制御回路であって、消費電力を減らし、かつセンサーの寿命を延ばすために、プリンタ１が待機時には、光学センサーの発光ダイオードの電流を切断する。例えば、本プリンタ１には、前記ＣＲエンコーダー３００や、印字用紙切れを検知するＰＥセンサー２１７、自動給紙機構の給紙センサー２１８などが搭載されており、これらのセンサーの発光側ダイオードは、待機時には、電流が切断されている。
【００４９】
２１９、２２０は、それぞれプリンタエンジンユニット３に搭載されているＣＲモータ３０２、ＬＦモータ３０３及びＡＳＦ／ＰＧモータ３０４の駆動回路であって、ユーザーロジックに内蔵されている不図示のモータ制御回路により給紙、排紙、回復等の制御を行う。
【００５０】
２２１は、電源コネクタ、２２２は、コントロールユニット２とプリンタエンジンユニット３のヘッドユニット４とを接続するフラットケーブルのコネクタ、２２３〜２２５は、プリンタエンジンユニット３に搭載されている各モータ３０２〜３０４と接続するためのコネクタである。
【００５１】
次に、本実施例の詳細を図２、図３及び図４のフローチャートを用いて動作を説明する。
【００５２】
図２において、２００−１は、ＣＰＵ、２００−２は、ユーザーロジック回路で、前述したように、ＳＤＲＡＭ２０８のリードライトコントローラ、割込みコントローラ、アドレス制御回路、汎用ポート、モータ駆動回路２１９、及び２２０のモータ制御回路、ＤＭＡコントローラなどで構成されている。２０は、ＣＰＵのアドレスバスで、ユーザーロジック２００−２のアドレスデコード及びチップセレクト回路２２に接続されている。２０２は、ＮＭＩ制御回路で、ＣＰＵ２００−１のデータバス２１と接続されたＮＭＩ Ｍａｓｋレジスタ２３とゲート回路２６で構成されている。アドレスデコード及びチップセレクト回路２２からのレジスタセット信号２４は、ＮＭＩ Ｍａｓｋレジスタ２３のクロックに接続され、例えばＣＰＵ２００−１のデータバスのＤ０信号をサンプリングする。ＮＭＩ Ｍａｓｋレジスタ２３の出力であるＮＭＩマスク２５は、ゲート回路２６の一つの入力に接続され、電源スイッチ２０３からの信号を論理制御する。ゲート回路２６の出力であるＮＭＩ信号２７がＣＰＵ２００−１のＮＭＩ入力に接続され、ＣＰＵ２００−１は、論理制御されたＮＭＩ信号２７をトリガとして、ＲＯＭ２０７に格納されているＮＭＩ処理プログラムを実行する。２８は、電流制限抵抗である。
【００５３】
図１において、ＡＣ入力６が入力されると、電源ユニット５は、各電源出力であるＶＣＣ、ＶＨ、ＶＭを出力する。しかし、ＶＨ、及びＶＭは、ＣＰＵ２００−１の制御のもと、ＶＨ電源制御２１１、ヘッドロジック電源制御２１２により各駆動系への電力供給は禁止され、システムロジックの電源であるＶＣＣのみが供給されることになる。
【００５４】
この時ＣＰＵ２００−１は、ＲＯＭ２０７に格納されているプログラムの制御に基づき図４に示すフローに従いプリンタ１を制御する。
【００５５】
ステップＳ１で、ワークエリアであるＳＤＲＡＭ２０８及び一時情報の記憶部である不揮発性メモリのＥＥＰＲＯＭを初期化する。この時、プリンタのモータ系の駆動は実行せず、またパワーＬＥＤ２０９も点灯しない。内部的な初期化動作のみを実行することになる。またＮＭＩ Ｍａｓｋレジスタ２３もリセットされ、ＮＭＩマスク２５は、０Ｖ（以下、Ｌｏｗ）の状態になり、負論理積ゲート（ＯＲゲート）であるゲート回路２６のゲートが使用可能（以下、イネーブル）になる。即ち電源スイッチ２０３からの信号の状態遷移を論理的に禁止することなくＣＰＵ２００−１のＮＭＩ入力にＮＭＩ信号２７を供給できる状態になる。従って、外見上は、動作的に何も起らない状態である。
【００５６】
ステップＳ２では、プリンタとして必要な種々のパラメータ、例えばヘッドヒート制御のためのヘッドの抵抗値等プリンタに必要な初期値を記憶しておく。
【００５７】
ステップＳ３では、前記初期化動作が終了した後、プログラムの制御のもとに、ＣＰＵの動作モードを通常動作モード５１からＳＴＯＰモード５０に移行させる。例えば、ＣＰＵ内部のクロック制御を司る内部レジスタをプログラムの制御で設定することで、システムクロックの供給を停止させることが出来る。この状態で、電源ＯＮ／ＯＦＦの待ち状態となる。ここでは、ＳＴＯＰモード５０への移行で説明しているが、当然ながら、ＨＡＬＴ命令を実行させることで、ＨＡＬＴモード５２へ移行させることも可能である。
【００５８】
次に、この状態で、電源スイッチ２０３からの信号は、通常電流制限抵抗器２８にてロジック電圧、例えば３．３Ｖにプルアップ（以下、Ｈｉｇｈ）されているので、電源スイッチ２０３が押下されると、図３で示すように、電源スイッチ２０３の信号が、Ｌｏｗに遷移すると、ステップ１で説明したように、ゲート回路２６がイネーブルの状態になっているため、電源スイッチ２０３の信号状態変化がゲート回路２６を通過して、ＮＭＩ信号２７としてＣＰＵ２００−１に出力されることになる。
【００５９】
ＣＰＵは、ＮＭＩ信号２７を受付けると、ステップＳ４へ移行し、ＮＭＩ処理プログラムの最初のステップにて、これ以降のＮＭＩ信号２７を受付けないようにするために、アドレスバス２０、データバス２１、アドレスデコード及びチップセレクト回路２２を介して、ＮＭＩ Ｍａｓｋレジスタ２３をセットする。例えば、図２で、データバス２１のデータＤ０のビットにＨｉｇｈ信号を出力し、ＮＭＩ Ｍａｓｋレジスタ２３がＤタイプのフリップフロップである為、図３に示すようにアドレスデコード及びチップセレクト回路２２からのレジスタセット信号２４の立ち上りエッジにてＮＭＩ Ｍａｓｋレジスタ２３がＬｏｗからＨｉｇｈにセットされることになる。ＮＭＩ Ｍａｓｋレジスタ２３が一度Ｈｉｇｈにセットされると、ＮＭＩマスク２５が接続されているＯＲゲート回路２６は、禁止（以下、ディセーブル）状態となり、一切の電源スイッチ２０３の信号を受付けなくする。
【００６０】
従って、図３に示すように、例えば、電源スイッチ２０３のスイッチ押下により発生したチャタリングなどにより電源スイッチ２０３の信号が、２回入力されても１回目のＮＭＩ信号２７を受付けた後は、プログラムの制御の基に、ＮＭＩＭａｓｋレジスタ２３が、リセットされない限りは一切受付けなくなる。従って、この様なハード的な重複入力や操作ミスによる重複入力によるシステム誤動作を未然に防ぐことが出来る。ここでは、ＮＭＩ ＭａｓｋレジスタをＤタイプのフリップフロップにて説明しているが、Ｄタイプのフリップフロップに限らず、ラッチ機能を有するもの、或は、ラッチでなくても、それと同等の機能を有するものであれば良いことは言うまでもない。例えば、ＪＫフリップフロップ、ＲＳラッチ、タイマーなどのカウンタでも良い。
【００６１】
次に、ステップ５では、電源スイッチ２０３の押下が、電源ＯＦＦの状態での押下であるか、または、電源ＯＮの状態での押下であるかを判別するために、不揮発性ＲＯＭであるＥＥＰＲＯＭ２１５に記憶されている電源状態フラグ（不図示）をＣＰＵ２００−１は、読込んでステップ６へ移行する。
【００６２】
ステップ６では、読込んだ電源状態フラグが、オフ（Ｌｏｗ状態）であれば、前述の初期化後の電源スイッチ２０３の押下であると判断し、ステップＳ７へ進む。プリンタ１のシステム復帰処理を実行する。即ち、ＳＴＯＰモード５０から通常モード５１への移行を実行することになる。ステップＳ７へ進む。
【００６３】
また、電源状態フラグがオン（Ｈｉｇｈ状態）であれば、電源ＯＮの状態での電源スイッチ２０３の押下であると判断し、ステップＳ１１へ進み、プリンタ１の電源ＯＦＦの処理を実行する。即ち、通常モード５１からＳＴＯＰモード５０への移行を実行する。
【００６４】
ステップＳ７のシステムの復帰処理は、例えば、パワーインジケータであるＬＥＤ２０９を点灯し、ＲＯＭ２０７のサムチェックやワークエリアであるＳＤＲＡＭ２０８のＲＡＭチェックなどシステムのセルフチェックを実行し、次にＣＰＵ２００−１がＳＴＯＰモード５０でのシステム全体のクロック供給中止による情報消失を避けるために不揮発性ＲＯＭであるＥＥＰＲＯＭ２１５に退避していたプリンタの動作に必要な最小限の情報を、読み出して、ワークエリアであるＳＤＲＡＭ２０８に復帰させる。
【００６５】
次に、ステップＳ８にてプリンタエンジンの初期化を実行する。即ち、ヘッドユニット４を搭載したキャリッジの初期位置への位置移動や紙送り機構など機構系の初期位置へ移動を実施する。また、特にプリンタ１がインクジェットプリンタの場合は、非動作時にインクの乾燥によるインク吐出口の詰りを防止するために、回復動作（吸引動作）をして印字状態に備えるための準備をし、ステップＳ９へ移行する。
【００６６】
ステップ９では、今回の電源スイッチ２０３の押下が、ＳＴＯＰモード５０からの通常モード５１への移行であるため、ＥＥＰＲＯＭ２１５に記憶されている電源状態フラグをオフ（Ｌｏｗ）からオン（Ｈｉｇｈ）にセットし直す。
【００６７】
ステップ９での電源状態フラグのセットが終了すると、ステップＳ１０にて、データバスＤ０のビットにＬｏｗを出力しステップＳ４と同様の処理をして、ＮＭＩ Ｍａｓｋレジスタ２３をリセットし、ＮＭＩマスク２５をＨｉｇｈからＬｏｗにする。ＮＭＩマスク２５がＬｏｗになるとＯＲゲート回路２６が再びイネーブル状態となり、これ以降の電源スイッチ２０３からのスイッチ押下信号を受付けることが可能となる。この状態で、プリンタ１の初期化が終了したことになり、不図示のホストコンピュータからのデータ受信待ちの状態となる。
【００６８】
次に、ステップＳ６からステップＳ１１へと移行した場合の説明をする。
【００６９】
ステップ１１では、プリンタの電源をＯＦＦするためのプリンタエンジン３のＳＴＯＰモード５０への移行処理を実行する。プリンタ１が印字の途中などであった場合は、印字の中止及びそれに伴う印字中の用紙の排紙をする。また、キャリッジの初期位置への移動などの制御をする。さらに、キャリッジの初期位置で、プリントヘッドユニット４を完全に蓋をして、ロックする（キャッピング動作をする）。
【００７０】
プリンタ１がインクジェット方式の場合、プリントヘッドユニット４のインク吐出口（不図示）の乾燥による目詰りを防ぐためである。この処理を実行しないで不用意にキャリッジを止めてしまい、電源ＯＦＦ処理を終了してしまうと乾燥による目詰りを起こす。また、キャリッジの不必要な移動によりヘッドユニット４を損傷してしまう。
【００７１】
ステップＳ１２では、プリンタエンジン３の移行処理終了後にシステムとしての移行のために、ワークエリアで使用中の情報の中で、次回電源ＯＮ時に必要な最小限の情報を不揮発性メモリであるＥＥＰＲＯＭ２１５に退避させる。
【００７２】
ステップＳ１３では、この電源スイッチ２０３の押下が、通常モード５１からＳＴＯＰモード５０への移行であるため、ＥＥＰＲＯＭ２１５に記憶されている電源状態フラグをオン（Ｈｉｇｈ）からオフ（Ｌｏｗ）にセットする。
【００７３】
ステップＳ１４では、ステップＳ１０と同様の処理をし、ＮＭＩ Ｍａｓｋレジスタ２３をリセットし、ＮＭＩマスク２５をＨｉｇｈからＬｏｗにする。ＮＭＩマスク２５がＬｏｗになるとＯＲゲート回路２６が再びイネーブル状態となり、これ以降の電源スイッチ２０３からのスイッチ押下信号を受付けることが可能となる。
【００７４】
ステップ１５で、ＣＰＵ２００−１は、ＲＯＭ２０７に格納されているプログラムの制御もの基に、パワーインジケータであるＬＥＤ２０９を消灯し、ＣＰＵの動作モードを通常動作モード５１からＳＴＯＰモード５０に移行させる。例えば、ＣＰＵ内部のクロック制御を司る内部レジスタをプログラムの制御で設定することで、システムクロックの供給を停止させる。この状態で、電源ＯＦＦの待ち状態となる。ここでは、ＳＴＯＰモード５０への移行で説明しているが、当然ながら、ＨＡＬＴ命令を実行させることで、ＨＡＬＴモード５２へ移行させることも可能である。
【００７５】
以上説明してきたように、本実施例の場合、システムの消費電力を少なくするためにＣＰＵのＳＴＯＰモードやＨＡＬＴモードを利用するシステムで、ＳＴＯＰモード及びＨＡＬＴモードからの復帰手段であるＣＰＵの最優先処理割込みであり、又割込み禁止に出来ない割込であるＮＭＩ信号を、電源のＯＮ／ＯＦＦ制御に利用する場合に、任意に割込み禁止とすることができる。
【００７６】
またＮＭＩ端子にチャタリングなどの発生する可能性のある安価な機械式接点のスイッチを接続しても確実に一度のＮＭＩ信号しか受付けないようにすることも可能であり、またプログラムの処理上、最優先割込みであるＮＭＩを受付けたくないときに任意に割込み禁止とすることも可能となる。
【００７７】
更には、ＮＭＩの割込み禁止期間が、プログラムで制御可能であり禁止期間の設定条件次第では、例えば、禁止期間を数１００ｍＳの期間に設定すれば、単なるチャタリング防止機能にすることも出来るし、また特定のプログラムの処理の最初のステップと最後のステップでＮＭＩ Ｍａｓｋレジスタを設定するようにすれば、特定のプログラムの動作保証を確実に行えることになるという利点もある。
【００７８】
また、不揮発性メモリであるＥＥＰＲＯＭに電源状態フラグのようにプリンターのオン／オフ情報を保存し、電源スイッチが投入された時、データを参照することで、プリンターのオン／オフの動作制御を確実に行うことが出来る。
【００７９】
＜第二の実施例＞
第一の実施例では、Ｄタイプのフリップフロップで説明したが、図８は、タイマー回路を用いて、所定の時間のみＮＭＩ  Ｍａｓｋをするようにしたものである。
【００８０】
図８において、８１は、タイマーカウンタ８３の時間計測用の基本クロックであり、図１で示す水晶発振子２０１にて、ＣＰＵ２００−１に内蔵されている不図示の発振回路で発振させる４８Ｍｈｚのシステムクロックである。
【００８１】
計数するシステムクロック８１の周波数とタイマーカウンタの計数の関係で、所定の時間が決まり、また、低い周波数のクロックを有するシステムの場合、更に長時間の設定が可能となるのは言うまでもない。
【００８２】
８２は、タイマーカウンタ８３の計数開始を制御するタイマーリセット信号である。８３は、クロックをカウントすることで時間を計数するプリセット機能を有するダウンカウンタである。アップカウンタや他のカウンタであってもクロックを計数してタイマーとして機能するものであれば、どの様な回路構成でも良い。
【００８３】
ここでは、図２の第一の実施例と異なる部分の動作を図８に基づき説明する。
【００８４】
電源ユニット５のＡＣ入力により、システムの電源であるＶｃｃが供給開始されると電源リセットＩＣ２１０のリセット信号８５にて、タイマーカウンタ８３の出力Ｑ１−Ｑ８は、すべてＬｏｗにリセットされる。この時、ＮＭＩのマスクゲートであるゲート回路２６は、イネーブル状態になり電源スイッチ２０３の入力を受付けられることになる。一方、クロックゲート８４のＮＭＩマスク２５がＬｏｗであるために、クロックゲート８４の出力は、Ｈｉｇｈに固定されて、クロックゲート８４の他入力であるクロック８１は、無視されることになりタイマーカウンタ８３の計数は、停止して状態である。
【００８５】
次に、第一の実施例での動作説明で説明したように、電源スイッチ２０３の押下によりＣＰＵ２００−１がＮＭＩ信号２７を受付けるとプログラムの制御の基に、ＮＭＩ処理プログラムの最初のステップにてユーザーロジック２００−２からタイマープリセット８２が出力される。
【００８６】
このタイマープリセット８２にて、タイマーカウンタ８３のすべてのプリセット入力値Ｄ１−Ｄ８がＨｉｇｈにセットしてあるため、タイマーカウンタ８３の出力Ｑ１−Ｑ８は、すべてＨｉｇｈ（ＦＦＦＦ）にプリセットされる。
【００８７】
プリセットと同時に、タイマーカウンタ８３の出力Ｑ８、即ちＮＭＩマスク２５がＨｉｇｈになるため、ゲート回路２６はディセーブルとなり、これ以降の電源スイッチ２０３の押下を受付けない。またクロックゲート８４は、逆にイネーブル状態となりクロック８１のクロック信号を出力することになり、タイマーカウンタ８３がクロック８１の入力に従ってカウントダウンを開始することになる。
【００８８】
タイマーカウンタ８３の出力であるＱ８がＬｏｗになるまで、カウントダウンを続け、この時点でカウントをストップすることになる。カウントをストップした時点で、ゲート回路２６がイネーブル状態となり再び電源スイッチ２０３の押下を受付けることが可能となる。本説明では、プリセット値をすべてＨｉｇｈで説明しているが、ＣＰＵ２００−１から任意の値を設定できるようにすれば、任意に所定時間を設定できるようにもなる。
【００８９】
以上説明したように、ＮＭＩ処理プログラムの最初のステップで、一度だけタイマーカウンタ８３にカウント開始のトリガを出力するのみで所定の時間ＮＭＩ信号をＭａｓｋすることが可能であり、またマスク時間に関してもカウントするクロックの周波数とカウンタのカウント数を可変可能な構成にすれば、任意に設定可能とすることもでき、プログラムで常に制御する必要もない。
【００９０】
つまり、第一の実施例では、ＮＭＩ Ｍａｓｋの開始と終了をＣＰＵ２００−１の制御の基に、プログラム制御していたが、第二の実施例では、ＮＭＩ Ｍａｓｋの開始のみプログラム制御すればよく、ソフトウエアの負荷を減らすことが可能であり、一度タイマーのトリガを掛けると、ハード的に時間を所定期間計数してＮＭＩ Ｍａｓｋを解除するようにしたものである。タイマー回路としては、クロックを計数するカウンタ方式や抵抗及びコンデンサの時定数回路による遅延回路或は、単安定マルチバイブレータでも良い。
【００９１】
＜第三の実施例＞
次に、図９について説明する。第一及び第二の実施例は、ＮＭＩを利用した低消費電力のシステムを構築する例であって、ＮＭＩマスク２５のみで電源スイッチ２０３の信号を制御しているが、図９の第三の実施例は、図１において、電源ユニット５が不具合を起し、プリンタ１の機構系の駆動電圧ＶＭ、ＶＨなどが異常になった場合に電源スイッチ２０３を押下してプリンタ１を起動させるとモータ３０２、３０３、３０４に異常電流が流れてモータ３０２、３０３、３０４及びモータドライバー回路２１９、２２０を破壊することを防止する機能を付加したものである。またプリンタ１がインクジェットの場合は、前述したように、ヘッドユニット４には、ヒーター４００が搭載され、またこのヒーター４００の温度管理のためにセンサー４０１が搭載されている。ＶＨ電源制御２１１の不具合などが原因でこのヒーター４００が異常発熱した場合でも、ヒーターセンサ４０１からの情報をＣＰＵ２００−１が判断し、ＮＭＩ制御回路２０２のゲート回路の制御をすることで、ヒーター４００の温度が所定の値に下がるまでは、電源の再投入を禁止するようにしたものである。
【００９２】
図９は、第三の実施例の詳細図であり、９０は、電源ユニット５の電源出力である直流電源出力の異常、例えば、過電圧出力などを検出する電源異常検出回路であり、所定の基準電圧と電源ユニット５の出力を比較することで電源の異常を検出するように構成されている。例えば、正常時には、Ｈｉｇｈ出力を出力し、異常時には、Ｌｏｗを出力する。一般的には、電圧比較器などの集積回路（ＩＣ）が用いられている。
【００９３】
９１は、図１におけるヘッドユニット４に搭載されているＨｅａｔｅｒ４００の温度を検出するＤｉｏｄｅ Ｓｅｎｓｏｒ４０１と増幅器２１４で構成されるヘッド昇温検出回路である。ＣＰＵ２００−１が、ヘッド昇温検出回路からの出力を入力回路を介して読取ることによりヘッドの温度を調べることが出来る。温度の検出方法としては、センサーからリニアな値をアナログ−ディジタル変換してＣＰＵ２００−１へ入力するようにしても良いし、所定温度との比較による検出であっても良い。
【００９４】
９２は、３入力の論理ゲート（ＯＲゲート）回路で、電源スイッチ２０３と電源異常検出回路９０とＮＭＩ Ｍａｓｋレジスタ２３からの出力を論理演算し、ＮＭＩ信号２７を制御する。
【００９５】
図２の第一の実施例と異なる部分の動作を図９に基づき説明する。
【００９６】
第一の実施例と同様に、図９において、ＡＣ入力６が入力されると、電源ユニット５は、各電源出力であるＶＣＣ、ＶＨ、ＶＭを出力する。しかし、ＶＨ、及びＶＭは、ＣＰＵ２００−１の制御のもとＶＨ電源制御２１１、ヘッドロジック電源制御２１２により各駆動系への電力供給は禁止され、システムロジックの電源であるＶＣＣのみが供給されることになる。
【００９７】
この時ＣＰＵ２００−１は、ＲＯＭ２０７に格納されているプログラムの制御に基づき図４に示すフローに従いプリンタ１を制御する。
【００９８】
ステップＳ１で、ワークエリアであるＳＤＲＡＭ２０８及び一時情報の記憶部である不揮発性メモリのＥＥＰＲＯＭを初期化する。この時、プリンタのモータ系の駆動は実行せず、またパワーＬＥＤ２０９も点灯しない。内部的な初期化動作のみを実行することになる。またＮＭＩ Ｍａｓｋレジスタ２３もリセットされ、ＮＭＩマスク２５は、０Ｖ（以下、Ｌｏｗ）の状態になり、負論理積ゲート（ＯＲゲート）であるゲート回路２６のゲートが使用可能（以下、イネーブル）になる。即ち電源スイッチ２０３からの信号の状態遷移を論理的に禁止することなくＣＰＵ２００−１のＮＭＩ入力にＮＭＩ信号２７を供給できる状態になる。従って、外見上は、動作的に何も起らない状態である。
【００９９】
ステップＳ２では、プリンタとして必要な種々のパラメータ、例えばヘッドヒート制御のためのヘッドの抵抗値等プリンタに必要な初期値を記憶しておく。
【０１００】
ステップＳ３では、前記初期化動作が終了した後、プログラムの制御もの基に、ＣＰＵの動作モードを通常動作モード５１からＳＴＯＰモード５０に移行させる。例えば、ＣＰＵ内部のクロック制御を司る内部レジスタをプログラムの制御で設定することで、システムクロックの供給を停止させることが出来る。この状態で、電源ＯＮ／ＯＦＦの待ち状態となる。ここでは、ＳＴＯＰモード５０への移行で説明しているが、当然ながら、ＨＡＬＴ命令を実行させることで、ＨＡＬＴモード５２へ移行させることも可能である。
【０１０１】
この時、前記電源異常検出回路９０が異常電圧を検出していなければ、即ちＬｏｗを出力しゲート回路９２がイネーブル状態となっていれば、電源スイッチ２０３が押下された時には、ゲート回路９２は、ＮＭＩ信号２７を出力することになる。ＣＰＵ２００−１は、このＮＭＩ信号２７を受付けた後に、第一の実施例と同様にＮＭＩ処理の最初のステップにてＮＭＩ Ｍａｓｋレジスタをセットして、ゲート回路９２をディセーブルして、これ以降の電源スイッチ２０３の信号を受け付けなくなる。
【０１０２】
また、逆に前記電源異常検出回路９０が異常電圧を検出していれば、即ちＨｉｇｈを出力しゲート回路９２がディセーブル状態になっていれば、電源スイッチ２０３が押下されてもＮＭＩ Ｍａｓｋレジスタ２３の状態に係わらずデート回路９２がディセーブルされるために、ゲート回路９２はＮＭＩ信号を出力することはない。即ち電源スイッチ２０３を押下しても電源は入らないようになる。電源異常検出回路９０の検出結果が正常となるまでは、ゲート回路９２は、イネーブルとならず電源が入ることはないのである。
【０１０３】
一方、記録ヘッドの温度上昇をヘッド昇温検出回路９１を介してＣＰＵ２００−１が調べ、異常昇温を検出した時には、ユーザーロジック回路２００−２を介してＮＭＩ Ｍａｓｋレジスタ２３をセットし、ゲート回路９２をディセーブル状態にし電源スイッチ２０３の押下を禁止するように機能する。
【０１０４】
以上説明したように、第三の実施形態をとれば、電源スイッチ２０３の押下を電源異常検出回路９０、及びヘッド昇温検出回路９１の出力と論理演算をとり、電源ＯＮのトリガ信号であるＮＭＩ信号２７をＭａｓｋすることで、第１の実施例で述べた電源スイッチ２０３のマスク機能、チャタリング取りとして機能し、さらに、電源の異常を検知して、電源の投入を禁止することで機器の破損を防ぐ機能をする。また、記録ヘッドの昇温を検知して、電源の投入を禁止して記録ヘッドを保護することが出来る。
【０１０５】
＜第四の実施例＞
図１０に於いて、第一の実施例と異なる点は、電源スイッチ２０３の押下状態をＣＰＵ２００−１の汎用ポートを介して、ＮＭＩマスクが有効なときでも、常にスイッチ信号４１を確認できるようにしたものである。即ち、ＣＰＵ２００−１は、ＲＯＭ２０７に格納されているプログラムの制御に基づき、電源スイッチ２０３の押下をＮＭＩ信号２７として受け付けたり、或いは、単にＮＭＩのマスク状態に関係なくスイッチ信号４１として読みとることが出来る。
【０１０６】
ここで、図１１に示すフローチャートに基づき第四の実施例の動作の詳細を説明する。
【０１０７】
まず、ステップＳ１１１で、ワークエリアであるＳＤＲＡＭ２０８及び一時情報の記憶部である不揮発性メモリのＥＥＰＲＯＭを初期化する。この時、プリンタのモータ系の駆動は実行せず、またパワーＬＥＤ２０９も点灯しない。内部的な初期化動作のみを実行することになる。
【０１０８】
ステップＳ１１２では、ＮＭＩ Ｍａｓｋレジスタ２３をリセットし、ＮＭＩマスク２５は、０Ｖ（以下、Ｌｏｗ）の状態になり、負論理積（ＯＲゲート）であるゲート回路２６のゲートが使用可能（以下、イネーブル）になる。即ち、電源スイッチ２０３からの信号の状態遷移を論理的に禁止することなくＣＰＵ２００−１のＮＭＩ入力にＮＭＩ信号２７を供給できる状態になる。従って、外見上は、動作的に何も起らない状態である。
【０１０９】
ステップＳ１１３では、前記初期化動作が終了した後、プログラムの制御もの基に、ＣＰＵの動作モードを通常動作モード５１からＳＴＯＰモード５０に移行させる。例えば、ＣＰＵ内部のクロック制御を司る内部レジスタをプログラムの制御で設定することで、システムクロックの供給を停止させることが出来る。この状態で、電源ＯＮ／ＯＦＦの待ち状態となる。ここでは、ＳＴＯＰモード５０への移行で説明しているが、当然ながら、ＨＡＬＴ命令を実行させることで、ＨＡＬＴモード５２へ移行させることも可能である。
【０１１０】
次に、この状態で、電源スイッチ２０３からの信号は、通常電流制限抵抗器２８にてロジック電圧、例えば３．３Ｖにプルアップ（以下、Ｈｉｇｈ）されているので、電源スイッチ２０３が押下されると、図３で示すように、電源スイッチ２０３の信号が、Ｌｏｗに遷移すると、ステップＳ１１２で説明したように、ゲート回路２６がイネーブルの状態になっているため、電源スイッチ２０３の信号状態変化がゲート回路２０３を通過して、ＮＭＩ信号２７としてＣＰＵ２００−１に出力されることになる。
【０１１１】
まず電源オンの制御について動作を説明する。
【０１１２】
ＣＰＵは、ＮＭＩ信号２７を受付けると、ステップＳ１１４へ移行し、ＮＭＩ処理プログラムとしては、何の処理もせずにリターンの処理をして終了する。ここでは、ＳＴＯＰモード５０からシステムを起こすためのトリガーの役目をするだけである。
【０１１３】
従って、システムは、前記トリガーによってＳＴＯＰモード５０からの復帰処理を実行して動作可能な状態を設定する。即ち、ＳＴＯＰモード５０への移行直前のＣＰＵ２００−１の内部レジスタ（不図示）、ステータスや内部ＲＡＭ（不図示）の状態に戻した後、ステップＳ１１５へ進む。但しこのステップでは、ノイズなどによる誤動作も考えられるので、ＣＰＵ２００−１周辺の復帰のみでありプリンタ１のシステムとしては、動作しない。
【０１１４】
次に、ステップＳ１１５で、本実施例の特徴であるところのＮＭＩを発生させた電源スイッチ２０３のスイッチ押下状態をＣＰＵ２００−１の汎用ポートであるＰｏｒｔ０を介して読み取る。
【０１１５】
本実施例では、読み取ったポートのスイッチ信号４１のチャタリング防止の目的で、ステップＳ１１６にて、連続してスイッチ信号４１が０Ｖ、即ち論理的にポートがオン（Ｌｏｗ）であれば、電源スイッチ２０３が押下（電源がＯＮ）されたと判断する。
【０１１６】
ステップＳ１１８において、これ以降のＮＭＩ信号２７を受付けないように、第一の実施例と同様の手順にて、アドレスバス２０、データバス２１、アドレスデコード及びチップセレクト回路２２を介して、ＮＭＩ Ｍａｓｋレジスタ２３をセットして電源スイッチ２０３をマスクする。これ以降、このＮＭＩマスク２３は、電源スイッチ２０３の押下による電源オフ制御のなかでＳＴＯＰモード５０へ移行する直前までクリアされることはない。
【０１１７】
次に、ステップＳ１１９では、システムの復帰処理、例えば、パワーインジケータであるＬＥＤ２０９を点灯し、ＲＯＭ２０７のサムチェックやワークエリアであるＳＤＲＡＭ２０８のＲＡＭチェックなどシステムのセルフチェックを実行し、次にＣＰＵ２００−１がＳＴＯＰモード５０でのシステム全体のクロック供給中止による情報消失を避けるために不揮発性ＲＯＭであるＥＥＰＲＯＭ２１５に退避していたプリンタの動作に必要な最小限の情報を、読み出してワークエリアであるＳＤＲＡＭ２０８に復帰させる。又同様に、プリンタエンジンの初期化を実行する。即ち、ヘッドユニット４を搭載したキャリッジの初期位置への移動や紙送り機構など機構系の初期位置への移動を実施し、また、特にプリンタ１がインクジェットプリンタの場合は、非動作時にインクの乾燥によるインク吐出口の詰りを防止するために、回復動作（吸引動作）をして印字状態に備えるための準備をし、不図示のホストコンピュータからの印刷指示待ちの状態で待機することになる。
【０１１８】
又、ステップＳ１１６にて、通常モード５１への復帰のトリガーとしてのＮＭＩ信号２７を受け付けても、確実に電源スイッチ２０３が押下されていないと、本実施例では、３回連続で電源スイッチ２０３が押下されていないと間違った信号、例えばノイズであると見なし、ステップＳ１１７で、再度ＳＴＯＰモード５０へ再移行し、外見上は何も起こらないようにしている。
【０１１９】
次に電源オフの制御について説明する。
【０１２０】
前記説明のように、一度システムが起動すれば、プリンタ１の動作は通常モード５１となり、ＮＭＩ信号２７は、ゲート回路２６にてマスクされているため、電源スイッチ２０３を押下しても、二度と発生しない。この状態では、電源オフのための制御は、ＲＯＭ２０７に格納されているプログラムの制御の基、ＣＰＵ２００−１に内蔵されているタイマー（不図示）の割り込み処理によるイベント管理によって実行される様になっている。
【０１２１】
つまり、印字待機中にもタイマーイベントは周期的に発生しており、例えば、１０ｍＳ毎に発生するタイマーイベントをプログラムの制御に従い実行することになる。
【０１２２】
今、タイマーイベントとして割り込みが発生すると、ステップＳ１２０及びステップＳ１２１では、ステップＳ１１５とステップＳ１１６と同様の処理を実行し、ＣＰＵ２００−１の汎用ポートからのスイッチ信号４１が確実にＬｏｗとなっているかをチェックする。
【０１２３】
ここでは、３回連続してポートがオン（Ｌｏｗ）であるかをチェックし、連続３回であれば、ステップＳ１２２へ進み電源オフの制御を実行することになる。一方、ポートから読み取ったスイッチ信号４１がＨｉｇｈであれば、電源スイッチ２０３の押下は、発生していないと判断し、何の処理も実行することなく割り込み処理を終了する。
【０１２４】
ステップＳ１２２では、プリンタの電源をＯＦＦするためのプリンタエンジン３のＳＴＯＰモード５０への移行処理を実行する。プリンタ１が印字の途中などであった場合は、印字の中止及びそれに伴う印字中の用紙の排紙をする。
【０１２５】
また、キャリッジの初期位置への移動などの制御をする。さらに、キャリッジの初期位置で、プリントヘッドユニット４を完全に蓋をして、ロックする（キャッピング動作をする）。
【０１２６】
プリンタ１がインクジェット方式の場合、プリントヘッドユニット４のインク吐出口（不図示）の乾燥による目詰りを防ぐためである。この処理を実行しないで不用意にキャリッジを止めてしまい、電源ＯＦＦ処理を終了してしまうと乾燥による目詰りを起こす。また、キャリッジの不必要な移動によりヘッドユニット４を損傷してしまう。
【０１２７】
ステップＳ１２３では、プリンタエンジン３の移行処理終了後にシステムとしての移行のために、ワークエリアで使用中の情報の中で、次回電源ＯＮ時に必要な最小限の情報を不揮発性ＲＯＭであるＥＥＰＲＯＭ２１５に退避させる。
【０１２８】
ステップＳ１２４では、ＮＭＩ Ｍａｓｋレジスタ２３をリセットし、ＮＭＩマスク２５をＨｉｇｈからＬｏｗにする。ＮＭＩマスク２５がＬｏｗになるとゲート回路２６が再びイネーブル状態となり、これ以降の電源スイッチ２０３からのスイッチ押下信号を受付けることが可能となる。
【０１２９】
ステップＳ１２５で、ＣＰＵ２００−１は、ＲＯＭ２０７に格納されているプログラムの制御をもとに、パワーインジケータであるＬＥＤ２０９を消灯し、ＣＰＵの動作モードを通常動作モード５１からＳＴＯＰモード５０に移行させる。例えば、ＣＰＵ内部のクロック制御を司る内部レジスタをプログラムの制御で設定することで、システムクロックの供給を停止させる。この状態で、電源ＯＦＦの待ち状態となる。ここでは、ＳＴＯＰモード５０への移行で説明しているが、当然ながら、ＨＡＬＴ命令を実行させることで、ＨＡＬＴモード５２へ移行させることも可能である。
【０１３０】
第四の実施例では、電源スイッチ２０３からの信号（ＮＭＩ信号）をＳＴＯＰモード５０からの起動、所謂Ｗａｋｅ−Ｕｐ信号としてのみ使用し、ＮＭＩ処理は、何も実行せず、汎用ポートから電源スイッチ２０３の状態を監視することにより第一の実施例のように電源の状態を記憶しておく必要がない利点がある。又ＮＭＩの割り込みにて起動したシステムでは、マスクをした状態のままであり、動作中にノイズなどの影響でＮＭＩが起動することもない。
【０１３１】
第四の実施例は、第二、第三の実施例にも同様に適用できるのは、言うまでもないことである。
【０１３２】
以上、各実施例において、回復動作として吸引動作を例に挙げたが、インクを吐出する予備吐出動作、ヘッドのノズル面のインクを取り除くワイピング動作であっても構わない。また、これらの動作の組み合わせであっても構わない。
【０１３３】
また、保護動作としてキャッピング動作を例に挙げたがこれらの動作の前に、上述した回復動作をおこなっても構わない。
【０１３４】
また、ゲート回路としてはＯＲゲート回路に限らずＡＮＤゲート回路など信号をゲートできる構成であれば構わない。
【０１３５】
【発明の効果】
システムの消費電力を少なくするためにＣＰＵのＳＴＯＰモードやＨＡＬＴモードを利用するシステムで、ＳＴＯＰモード及びＨＡＬＴモードからの復帰手段であるＣＰＵのＮＭＩ信号を、電源のオン／オフ制御に利用する場合に、ＮＭＩ端子にチャタリングが発生しても確実にＮＭＩ信号を受付けて電源のオン／オフ制御が実現できる。
【図面の簡単な説明】
【図１】第一の実施例１の全体ブロック図を示す。
【図２】第一の実施例の詳細図を示す。
【図３】第一の実施例のＮＭＩ信号発生を示す。
【図４】第一の実施例のＮＭＩシーケンスを示す。
【図５】ＣＰＵのパワーセーブモード状態遷移図を示す。
【図６】従来の実施例を示す。
【図７】従来の実施例のＮＭＩ信号発生を示す図。
【図８】第二の実施例の詳細ブロック図を示す。
【図９】第三の実施例の詳細ブロック図を示す。
【図１０】第四の実施例の詳細図を示す。
【図１１】第四の実施例のＮＭＩシーケンスを示す。
【図１２】本発明の主要な部分の構成を示す斜視図を示す。
【符号の説明】
１  インクジェットプリンタ
２  コントロールユニット
３  プリンタエンジンユニット
４  ヘッドユニット
５  電源ユニット
６  ＡＣ電源ケーブル
２０  アドレスバス
２１  データバス
２２  アドレスでコード及びチップセレクト回路
２３  ＮＭＩ Ｍａｓｋレジスタ
２４  レジスタセット信号
２５  ＮＭＩマスク
２６  ゲート回路
２７  ＮＭＩ信号
２８  電流制限抵抗
２９  ＮＭＩ処理
４１  スイッチ信号
５０  ＳＴＯＰモード
５１  通常動作モード
５２  ＨＡＬＴモード
６１  電源スイッチ
６２  抵抗器
６３  キャパシター
６４  ＮＭＩ信号
６５  ＣＰＵ及び制御回路
６６  主電源回路
６７  補助電源回路
７０  電源スイッチの接点ＯＮ
７１  電源スイッチの接点ＯＦＦ
７２  ＮＭＩ１
７３  ＮＭＩ２
７４  ＮＭＩ３
７５  ＮＭＩ４
７６  ＮＭＩ５
７７  ＮＭＩ６
７８  ＮＭＩ７
７９  ＮＭＩ８
８１  クロック
８２  タイマープリセット
８３  タイマーカウンタ
８４  クロックゲート
８５  Ｒｅｓｅｔ
９０  電源異常検出回路
９１  ヘッド昇温検出回路
９２  ゲート回路
２００  カスタムＩＣ
２００−１  マイクロコントローラ
２００−２  ユーザーロジック回路
２０１  水晶発振子
２０２  ＮＭＩ制御回路
２０３  電源スイッチ
２０４  アクセスカバーセンサー
２０５  ＵＳＢ  Ｉ／Ｆ制御
２０６  ＵＳＢ  Ｉ／Ｆコネクタ
２０７  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）
２０８  ＲＡＭ
２０９  発光ダイオード
２１０  電源回路
２１１  ヒーター電源制御回路
２１２  ヘッドロジック電源制御回路
２１３  温度センサー
２１４  増幅回路
２１５  不揮発性メモリ
２１６  センサー電源制御回路
２１７  ＰＥセンサー
２１８  給紙センサー
２１９  ＣＲモータドライバ
２２０  ＡＳＦ／ＰＧモータドライバ
２２１  電源コネクタ
２２２  フラットケーブルコネクタ
２２３  コネクタ
２２４  コネクタ
２２５  コネクタ
３００  ＣＲエンコーダ
３０１  ＰＧセンサ
３０２  ＣＲモータ
３０３  紙送りモータ
３０４  ＡＳＦ／ＰＧモータ
４００  ヒーター
４０１  ダイオードセンサ
１００１  プラテン
１００２  被記録材
１００３  ガイドシャフト
１００４  キャリッジ
１００５  記録ヘッド
１１１３  駆動ワイヤ
１１１４  キャリッジモーター
１１１８  フィードモーター
１１１９  ケーブル
【図１】
0003870030.tif 000002
【図２】
0003870030.tif 000003
【図３】
0003870030.tif 000004
【図４】
0003870030.tif 000005
【図５】
0003870030.tif 000006
【図６】
0003870030.tif 000007
【図７】
0003870030.tif 000008
【図８】
0003870030.tif 000009
【図９】
0003870030.tif 000010
【図１０】
0003870030.tif 000011
【図１１】
0003870030.tif 000012
【図１２】
0003870030.tif 000013