(57)【要約】【課題】多数の割込要因に基づく割込み処理の制御、及び割込み処理中の多重割込要求を処理可能な割込信号生成装置を提供すること。【解決手段】割込み処理の緊急度等に応じて出力される割込信号の順位を適宜変更可能に構成する。また、割込要因を緊急度等に応じてグループ化し、グループ単位で所定の割込信号を出力する。さらに、割込み処理中は割込信号の出力を制限するとともに、割込み処理中に割込み処理要求があったときにはそれを記憶しておき、現在の割込み処理の終了後に記憶した割込み処理を実行する。【選択図】図１
2010033590.tif 000002
【特許請求の範囲】
【請求項１】
センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに、前記割込要因毎に生成される複数の検出信号を出力する割込検出部と、
前記割込検出部から受信した前記検出信号に基づき所定の割込信号を出力する割込信号出力制御部と、
前記複数の検出信号の受信状態を記憶する状態記憶部と、
前記割込信号の出力後の割込み処理中に受信した前記検出信号を前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記状態記憶部に記憶した検出信号に基づき対応する割込信号を出力させるよう前記状態記憶部及び前記割込出力部を制御する割込モード制御部と、
を備えることを特徴とする割込信号生成装置。
【請求項２】
前記割込信号出力制御部は、前記割込検出部から受信した前記複数の検出信号の一部又は全部を２以上のグループに分割するグループ設定部と、前記グループ設定部により設定されたグループに属する前記複数の検出信号のいずれかを受信したときに該グループに割り付けられた所定の順位の割込信号を生成して出力する割込信号出力部とを備え、
前記割込モード制御部は、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該検出信号を他の検出信号と区別可能に前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記区別可能に記憶した検出信号に対応する割込信号を出力させるよう前記割込信号出力部を制御することを特徴とする請求項１に記載の割込信号生成装置。
【請求項３】
前記割込モード制御部は、前記割込み処理中に前記状態記憶部に記憶した検出信号または前記区別可能に記憶した検出信号に対応する割込信号の出力を、現在の割込み処理が終了するまで禁止することを特徴とする請求項１又は２に記載の割込信号生成装置。
【請求項４】
前記状態記憶部は、前記検出信号の受信内容を順次記憶する状態レジスタと、前記状態レジスタの記憶内容と同一内容を記憶しており状態レジスタの記憶内容の変更に応じて記憶内容を更新する履歴レジスタとを備えており、
前記割込モード制御部は、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該受信した検出信号に対応する部分の前記履歴レジスタの更新を禁止し、割込み処理の終了後に前記状態レジスタと前記履歴レジスタとを比較して記憶内容に不一致が存在するときに不一致部に対応する割込信号を出力するよう前記割込信号出力部を制御することを特徴とする請求項１に記載の割込信号生成装置。
【請求項５】
割込信号生成装置において、以下の工程を備えることを特徴とする割込信号の生成方法。
(a)割込要因の発生を監視して、割込要因が発生したときに検出信号生成して出力する工程と、
(b)前記検出信号を受信したときに、該受信した前記検出信号に対応する割込信号を出力する工程と、
(c)前記割込信号の出力による割込み処理の実行処理の開始により割込処理モードに移行し、後続する割込要因の発生を監視する工程と、
(d)割込処理モード中に割込要因が発生することにより検出信号を受信したときに受信した検出信号を記憶する工程と、
(e)割込処理モードが終了したときに、前記割込処理モード中に後続の検出信号を受信したか否か確認し、当該検出信号を受信しているときには前記工程(b)〜工程(e)の処理を繰り返し、当該検出信号を受信していないときには、前記監視工程(a)の処理に移行する工程。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＣＰＵに割込信号を送出して、割込み処理を要求する割込信号生成装置に関する。特に複数の割込要因に基づき、各種割込要求信号を出力する割込信号生成装置及び割込信号の出力方法に関する。
【背景技術】
【０００２】
従来技術の電子機器においては、例えば、一定時間キーボードの操作がないときに表示部の輝度を落したり、一定時間Ｉ／Ｏアクセスが行われないときに入出力装置の電源供給を停止したりすること等により省電力化（このような状態を省電力モードと呼ぶ）を行っている。尚、この明細書において、省電力モードとは、装置の一部機能だけが動作可能にセットされ、他の大部分が電源の供給が一時的に停止されて動作停止状態にあるモードを言う。
【０００３】
省電力モードは、例えばキーボード等の入力操作により、又はＩ／Ｏアクセスを受信したときに装置全体に電源供給が行い、通常モードへ移行する方式が一般的である。
【０００４】
例えば、特開平８−２４９０８１（特許文献１）及び特開平５−３２０１８号公報（特許文献２）には、省電力を効果的に行うために、消費電力の大きいＣＰＵをスリープモードにする方式が開示されている。なお、一般に、ＣＰＵのスリープモードとは、ＣＰＵの動作クロックが停止しており、割り込みポート等の一部の端子に入力された信号だけを取り込み可能な状態にあることを言う（ＣＰＵ自体は、演算処理等を実行できる状態にない）。スリープモードは、省電力モードをＣＰＵのクロック停止状態まで進めたものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２４９０８１号公報
【特許文献２】特開平５−３２０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の先行技術においては、通常動作モード、スリープモード等の各モード間の状態変移についての説明がなされている。しかし、これらの先行技術においては、複数の割込要因の制御、割込み処理時の他の割込み処理等については、明確にされていない。最近の電子機器は、機能が複雑化していることに加え、省電力モード、スリーモード及び通常動作モード間の状態遷移を行う等のため、多数の割込要因を設定することが必要になる場合が多い。何十種類もの割込要因を設ける場合も存在する。
【０００７】
複数の割込要因、特に何十種類もの割込要因が存在する場合には、どのような条件に基づき、どのような割込み処理をＣＰＵに実行させるかは、装置を効率的かつ適正に稼動させるという装置性能に関わる重要な課題である。特に、ＣＰＵの割込みポート数には一定の制限があるため、割込要因を割込信号に1対１の関係で割り当てることはできない。
【０００８】
また、動作状況に応じて、割込要因に応じて生成される割込信号の順位を変更することが望ましいこともある。例えば、スリープモードへの移行時には、スリープモードに特有の割込要因を高い優先順位に変更することにより、より効率的な処理が可能となる場合も考えられる。さらに、エラー状況に応じて割込要因の優先順位を変更し、又は一部の割込要因をディスエイブル化（無能化）する等、環境変化に応じて割込要因を動的に設定し又は変更することが有用となることもある。
どのような条件で具体的に割込みを発生させるか、及びその優先順位をどのように設定するかについては、エラー等の割込み発生原因及びその程度により異なる。例えば、電源に異常が発生した場合等には、ただちに所定の警告を発する必要がある他、必要に応じて電源の切断等の処置が必要になる。一方、スリープモード中にインクタンクが外されたり、カバーが開けられたりした場合等は、あまり緊急度が高くない。このような場合には、動作命令等がされるまではスリープ状態を維持し、より重要度の高い割込要因が発生したときに動作モードに復帰するように構成してもよい。このように割込信号の順位は柔軟に変更可能であることが好ましい。
【０００９】
さらに、割込み処理中に同じ割込ポートに割込要求（同一優先順位の割込要求）があると、後発の割込要求が無視されて、必要な割込み処理が行われない場合が起こる可能性もある。
【００１０】
また、動作モード、スリープモード等の監視対象装置の動作モードに応じて割込要因の優先順位を変更することも可能である。このような処理を実現するには、動作モードを変更するためのモード遷移処理過程において割込み処理の優先順位を変更できること（動的変更）が必要である。どのような状況変化があったときにＣＰＵを動作モードに復帰させるかは、監視対象装置の基本的な設計思想若しくは監視対象装置にどのような機能を付与させるかにより異なってくるため、割り込み条件設定の自由度が高いことが望ましい。本発明は上述のような割込信号の生成に伴う種々の問題に鑑みてなされたものである。
【００１１】
そこで、本発明は各種割込要因から生成される割込信号の順位を、静的に又は動的に変更可能な割込信号生成装置及び割込信号の生成方法を提供することをその目的の１つとする。
【００１２】
また、本発明は、複数の割込要因からより少ない数の割込み信号を生成する割込要因割込信号生成装置及び割込信号の生成方法を提供することをその目的の１つとする。
【００１３】
さらに本発明は、割込み処理中に、当該処理中の割込みと同順位の割込要因が発生した場合の対応処理が可能となる割込信号生成装置及び割込信号の生成方法を提供することをその目的の１つとする。
また、本発明は、割り込み設定条件の自由度の高い割り込み信号発生装置を提供することをその目的の１つとする。
【課題を解決するための手段】
【００１４】
本発明は、割込要因となる複数の検出信号から生成する割込信号の順位を変更可能に構成し、複数の検出信号から当該検出信号の数より少ない数の割込信号を生成可能に構成し、又は割込み処理中に検出信号を受信したときに当該割込み処理終了後に後発割込みの処理を実行可能に構成して上記課題を解決した。なお、ここでいう割込信号の順位とは、ＣＰＵの割込みポートの数に対応したものであり、例えばＣＰＵに４つの割込みポートがあれば、割込信号に最大４つの順位を設定することが可能である。通常、ＣＰＵの各割込みポートには、他の割り込みポートに対する優先順位を設定することが可能である。本発明では、割込要因となる複数の検出信号から生成する割込信号の順位を、その割込要因の優先度に応じて、優先順位の高い割込みポートに割り当てるように変更することができる。
すなわち、本発明では、割込要因となる複数の検出信号から生成する割込信号に優先順位を設定し、その優先順位を変更可能に構成した。
また、本発明では、動作環境の変化を検知するために設けられた多くのセンサ等から生成された各割込要因毎の検出信号を、必要に応じてグループ化し、グループ化した信号から所定の順位の割込信号を生成することにより、上記目的を達成可能である。
また、割込処理中に検出信号を受信した場合には、割込信号の出力を制限または禁止するとともにその検出信号の受信履歴を記憶しておき、現在の割込処理の終了後に、記憶している検出信号に対応する割込信号を出力するよう構成することにより、割込処理中の割込要求を適切に処理することが可能となる。以下にその態様を説明する。
【００１５】
本発明の第１の態様にかかる割込信号生成装置は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに、割込要因毎に異なる種類の検出信号を出力する割込検出部と、検出信号を受信したときに割込要因に対応する所定の順位の割込信号を出力する割込信号出力部と、割込要因に対応して出力される割込信号の順位の設定を変更可能に記憶する順位設定部とを含む割込処理部とを備えることを特徴とする。例えば、割込検出部では、入力信号をそのまま検出信号として出力し、割込処理部ではその割込検知信号の入力順に高い順位を付与して割込信号を出力することもできる。
また、必要におうじて順位設定部から、検出信号に対応して出力される割込信号の順位を変更することが可能である。
【００１６】
本発明の第２の態様にかかる割込信号生成装置は、前記順位設定部の前記順位の設定を、ＣＰＵ及び／又は外部入力装置からの信号に基づいて変更可能であることを特徴とする。
ＣＰＵからプログラムで変更することも、操作パネルからマニュアルで設定変更することも可能である。ＣＰＵからのアクセスは、バスラインを通じて行うことができる。
【００１７】
本発明の第３の態様にかかる割込信号生成装置は、割込検出部が、スリープモード中のＣＰＵのウェイクアップイベントの発生を検出して検出信号を出力する検出部を備えることを特徴とする。動作モードの変更のための割込みに適用可能である。
【００１８】
本発明の第４の態様にかかる割込信号生成装置は、割込要因の監視対象装置が稼動中であっても、前記割込要因に対する前記割込信号の順位の設定を随時変更可能であることを特徴とする。例えば、プリンタのような割込み監視対象の装置が稼働中でも所定の設定変更が可能であるので、動作モード変更時にＣＰＵからプログラムにより順位を変更するよう構成することができる。これにより、スリープモード、省電力モード、通常動作モード等の各動作モードに応じて、最適の順位設定に適宜変更可能となる。
【００１９】
本発明の第５の態様にかかる割込信号生成装置は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに各割込要因毎に生成される複数の検出信号を出力する割込検出部と、割込検出部から受信した複数の検出信号の一部又は全部を２以上のグループに分割するグループ設定部と、各グループに属する複数の検出信号が所定の条件を満足するときに所定の順位の割込信号を生成して出力する割込信号出力部とを有する割込処理部とを備えることを特徴とする。この構成により多くの割込要因を少ない割込信号で管理可能となる。所定の条件として、複数の割込要因が論理和、論理積で組み合わせることも可能である。
【００２０】
本発明の第６の態様にかかる割込信号生成装置は、割込処理部は、グループに属する複数の検出信号の論理和条件に基づいて該グループに割り当てられた前記割込信号を生成することを特徴とする。これにより、単純ではあるが、確実に割込要因を特定することが可能となる。
【００２１】
本発明の第７の態様にかかる割込信号生成装置は、割込処理部は、割込信号の１単位を構成するグループを確定するためのグループ設定部の設定及び変更を、ＣＰＵ及び／又は外部入力装置からの信号に基づいて制御可能であることを特徴とする。グループ構成の変更ができることで、特定の割込要因毎に出力される割込信号の順位を変更することが、可能となる。ＣＰＵからプログラムで変更することも、操作パネルからマニュアルで設定変更することも可能である。ＣＰＵからのアクセスは、バスラインを通じて行うことができる。
【００２２】
本発明の第８の態様にかかる割込信号生成装置は、割込処理部がさらに、各グループに対応する割込信号の順位を変更可能であることを特徴とする。これにより、グループ単位での順位の変更が可能となる。
【００２３】
本発明の第９の態様にかかる割込信号生成装置は、割込検出部が、スリープモード中のＣＰＵのウェイクアップイベントの発生を検出して検出信号を出力する検出部を備えることを特徴とする。動作モードの変更のための割込みに適用可能である。
【００２４】
本発明の第１０の態様にかかる割込信号生成装置は、割込要因の監視対象装置が稼動中であっても、グループ設定部のグループ設定及び／又は変更を行うことが可能であることを特徴とする。例えば、プリンタのような割込み監視対象の装置が稼働中でも所定の設定変更が可能であるので、動作モード変更時にＣＰＵからプログラムにより順位を変更するよう構成することができる。これにより、スリープモード、省電力モード、通常動作モード等の各動作モードに応じて、最適のグループ化、優先順位設定に変更することが変更可能となる。
【００２５】
本発明の第１１の態様にかかる割込信号生成装置は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに各割込要因毎に生成される複数の検出信号を出力する割込検出部と、割込検出部から受信した検出信号に基づき所定の割込み信号を出力する割込信号出力制御部と、複数の検出信号の受信状態を記憶する状態記憶部と、割込信号の出力後の割込み処理中に受信した検出信号を前記状態記憶部に記憶し、現在の割込み処理の終了後に、状態記憶部に記憶した検出信号に基づき対応する割込信号を出力させるよう状態記憶部及び前記割込出力部を制御する割込モード制御部とを備えることを特徴とする。これにより、簡単な構成により、割込み処理中にさらに割込みが発生した場合であっても、確実に的確な割込み処理を実行することが可能となる。
【００２６】
本発明の第１２の態様にかかる割込信号生成装置は、割込信号出力制御部が、割込検出部から受信した複数の検出信号の一部又は全部を２以上のグループに分割するグループ設定部と、前記グループ設定部により設定されたグループに属する前記複数の検出信号のいずれかを受信したときに該グループに割り付けられた所定の順位の割込信号を生成して出力する割込信号出力部とを備え、割込モード制御部が、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該検出信号を他の検出信号と区別可能に前記状態記憶部に記憶し、現在の割込み処理の終了後に、区別可能に記憶した検出信号に対応する割込信号を出力させるよう割込信号出力部を制御することを特徴とする。グループ化された検出信号の場合についての処理に対応するものである。同一グループ内で後続する割込が発生した場合にのみ、割込み処理終了後の処理を実行するように構成している。割込信号が同時に発生しても、異なる順位の割込信号は相互に独立して同時並列的に割込み処理可能であることもあるからである。
【００２７】
本発明の第１３の態様にかかる割込信号生成装置は、割込モード制御部が、割込み処理中に状態記憶部に記憶した検出信号または区別可能に記憶した検出信号に対応する割込信号の出力を、現在の割込み処理が終了するまで禁止することを特徴とする。これにより、ＣＰＵの制御を簡素化することが可能となる。
【００２８】
本発明の第１４の態様にかかる割込信号生成装置は、状態記憶部が、検出信号の受信内容を順次記憶する状態レジスタと、状態レジスタの記憶内容と同一内容を記憶しており状態レジスタの記憶内容の変更に応じて記憶内容を更新する履歴レジスタとを備えており、割込モード制御部は、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する検出信号を受信したときに、該受信した検出信号に対応する部分の履歴レジスタの更新を禁止し、割込み処理の終了後に状態レジスタと履歴レジスタとを比較して記憶内容が不一致の場合に不一致部分に対応する割込信号を出力するよう割込信号出力部を制御することを特徴とする。状態レジスタと履歴レジスタとにより、割込み処理中の割込み発生を確認する構成としたものである。
【００２９】
本発明の第１の態様にかかる割込信号の生成方法は、(a)各種設定条件の変更要求の有無、及び割込要因の発生を監視する監視工程と、(b)所定の設定変更要求に応じて、割込要因に対応して出力される割込信号の順位の設定を変更する工程と、(c)割込要因の発生を検知したときに順位の設定に従い、検知した割込要因に対応する順位の割込信号を出力する工程とを備えることを特徴とする。
【００３０】
本発明の第２の態様にかかる割込信号の生成方法は、監視工程(b)がさらに、動作モードの変更時に前記順位の設定を変更することを特徴とする。
【００３１】
本発明の第３の態様にかかる割込信号の生成方法は、(a)複数の検出信号の発生の有無を少なくとも１以上のグループ単位で監視する監視工程と、(b)グループに属する検出信号のいずれか１個について検出信号を受信したときに、該検出信号の属する前記グループに対応する割込信号を出力することを特徴とする。
【００３２】
本発明の第４の態様にかかる割込信号の生成方法は、記監視工程(a)がさらに、グループ構成の変更要求の有無を監視する工程と、グループ構成の変更要求に応じて前記グループを構成する検出信号を変更する工程とを含むことを特徴とする。
【００３３】
本発明の第５の態様にかかる割込信号の生成方法は、(a)割込要因の発生を監視して、割込要因が発生したときに検出信号生成して出力する工程と、(b)検出信号を受信したときに、該受信した前記検出信号に対応する割込信号を出力する工程と、(c)割込信号の出力による割込み処理の実行処理の開始により割込み処理モードに移行し、後続する割込要因の発生を監視する工程と、(d)割込モード中に割込要因が発生することにより検出信号を受信したときに受信した検出信号を記憶する工程と、(e)割込モードが終了したときに、割込モード中に後続の検出信号を受信したか否か確認し、検出信号を受信しているときには前記工程(b)〜工程(e)の処理を繰り返し、後続の検出信号を受信していないときには、監視工程(a)の処理に移行する工程とを備えることを特徴とする。
【図面の簡単な説明】
【００３４】
【図１】本発明の割込信号生成装置の第１の実施形態を示す図である。
【図２】本発明にかかる割り込み信号発生装置をプリンタに使用する場合の構成を示す図である。
【図３】割り込み信号を発生させて、ＣＰＵ１をスリープモードから動作モードに遷移させる要因を例示する図である。
【図４】本発明の割込信号生成装置の第２の実施形態を示す図である。
【図５】割込処理部の順位変更部として使用可能なエンコーダの例を示す図である。
【図６】本発明の割込信号生成装置の第３の実施形態を示す図である。
【図７】入力信号を所定のグループにまとめたグループ化の例を示す図である。
【図８】第３の実施形態の合成処理部として使用可能な、エンコーダを示す図である。
【図９】本発明の割込信号生成装置の第４の実施形態を示す図である。
【図１０】割込み処理中に同じグループの検出信号を受信した場合に対応可能な割込処理部１５−４を示す機能ブロック図である。
【図１１】割込信号生成装置の割込信号出力の処理手順と、ＣＰＵによる割込み処理の手順を示すフローチャートである。
【図１２】状態レジスタ７１、履歴レジスタ７２、割込モードレジスタ７３の設定内容の例を示す図表である。
【図１３】割込処理部の他の実施形態１５−５を示す機能ブロック図である。
【図１４】本発明に適用可能な割込検出部の２０の実施形態の構成を示す機能ブロック図である。
【図１５】本発明に適用可能な割込検出部の２０の第２の実施形態を示す機能ブロック図である。
【図１６】割込検出部の２０の第２の実施形態のクロック入力と、入力信号と、一致信号の関係を示すタイミングチャートである
【図１７】スリープモード中のプリンタのような通信端末装置６０を、本発明にかかる割込信号生成装置１０を使用して、ホスト装置５０から動作モードに遷移させる場合を説明するための機能ブロック構成図である。
【図１８】本発明に適用可能な割込検出部の２０の第３の実施形態にかかる割込検出部２０の機能ブロック図である。
【図１９】本発明に適用可能な割込検出部の２０の第４の実施形態の機能ブロック図であり、他の実施形態との共通部分を１部省略して示してある。
【図２０】第４の実施形態に係る図１９の割込検出部２０において、検出信号の出力を説明するタイミングチャートである。
【発明を実施するための形態】
【００３５】
以下、図面を参照しつつ、本発明の実施形態を詳細に説明する。
【００３６】
本明細書では、本発明の構成を説明するために、本発明をプリンタに適用した例を用いて説明するが、本発明はプリンタに限らず、ＣＰＵにより制御され複数の割込要因に基づき割込み処理を行う電子機器に適用可能である。
【００３７】
まず、図２を用いて、本発明が適用される装置の基本構成例を説明する。図２は、本発明にかかる割込信号生成装置をプリンタに適用した構成例を示すブロック図である。図中、１はＣＰＵであり、通常通常の動作モードと、省電力モード又はスリープモード等の動作モードを有している。ＣＰＵには、バスライン２５を介して、印刷機構２、インタフェース（Ｉ／Ｆ）７、ＲＯＭ８、ＲＡＭ９等が接続されている。
【００３８】
ＲＯＭ８及びＲＡＭ９には、ＣＰＵ１の制御用ソフトウェア（ファームウェアを含む）及びデータが記憶されている。ＣＰＵ１は、これらの制御用ソフトウェア等による制御の下、インタフェース７を介してホスト装置から送信された印刷命令及び印刷データに従って、印刷を行うように印刷機構２を制御する。
【００３９】
印刷機構２は、印刷機構駆動回路３及びこれに接続されたヘッド４、モータ５、及びプランジャ６等により構成されており、印刷機構駆動回路３がＣＰＵ１の指示に基づき各部を制御する。
【００４０】
ＣＰＵ１には更に、割込信号生成装置１０が接続されている。割込信号生成装置１０は、エラーの発生等の割込要因に応じて割込信号を生成して、割り込み信号ライン２６を介して、ＣＰＵ１の割込ポートに対応する割込信号を出力する。
さらに、割込信号生成装置１０は、ＣＰＵ１がスリープモードのときであっても動作するように構成されている。スリープモード中のＣＰＵ１の割込ポートに割込信号が入力されると、ＣＰＵ１は起動し、スリープモードから動作状態に戻すために、各種割込み処理を実行する。
【００４１】
本発明は、ＣＰＵ１に対する割込み処理要求信号の生成に関するものであり、通常動作モード、省電力モード、スリープモードとは無関係であるが、割込要因には、通常動作モード、省電力モード、スリープモード等の電子機器の動作モードに関連するものとこれらの動作モードとは無関係のものが存在する。以下の説明では、必要に応じて、スリープモードにおける割込み処理についても説明する。
【００４２】
ＣＰＵ１は、省電力のために一定時間以上動作しない場合には、動作状態からスリープモードに移行する。どのような状況下で、スリープモードに遷移させるかは、その装置の種類、使用形態等に応じて決定することができる。モードの遷移に関しては、前述の特開平５−３２０１８号公報に詳しく説明されている。本発明は、割込信号の生成に関するものであるので、動作モードからスリープモードへの遷移については、これ以上の説明はしない。必要があれば、上述の公報を参照されたい。
【００４３】
ＣＰＵが動作中にエラーの発生等の所定の状況変化が発生した場合には、その変化に対処するために割込み処理を実行する必要がある。例えば、電源に異常が発生した場合等には、ただちに所定の警告を発する必要がある他、必要に応じて電源の切断等の処置が必要になる。また、インクタンクが外されたり、カバーが開けられたりした場合にも、その状態に応じて適切に処理することが必要となる。これは、ＣＰＵ１がスリープモード状態にある場合でも同様であり、この場合にはＣＰＵ１を起動して動作モードに復帰させる必要がある。どのような状況変化があったときに割込み処理を行い、あるいはＣＰＵを動作モードに復帰させるかは、その装置の基本的な設計思想若しくは装置にどのような機能を付与させるかにより異なってくるため、割込要因及びその優先順位の設定及び変更、は自由度が高いことが望ましい。
【００４４】
図２では、電源異常検出１１、プリンタカバーオープン１２、印字用紙が無くなくなったときの印字用紙無しの検知１３、インク無しの検知１４等の信号が、割込信号生成装置１０に入力されることが例示されている。例えば、スリープモード中にインクタンクが外された場合には、インクタンクが取り外された旨の警告を発する他、印刷命令があっても印刷を開始しないように制御する必要がある。電源電圧が高くなった場合など電源異常が発生した場合には、他の正常な部分を壊さないようにするために、直ちに電源を切り離す等の処置が必要になる。
【００４５】
図３に、割込み信号を発生させる要因を、割込信号生成装置１０への入力信号１〜ｎとして例示する。スリープモード時にこれらの要因が発生したときには、割り込み信号を発生させることによりＣＰＵ１をスリープモードから動作モードに遷移させるための割込み処理と割込み原因に対処するための割込み処理の双方を実行する必要がある。図３にあるように、基本的には、電源電圧の異常、その他各種センサにより異常状態を検知した場合などに割り込み信号を発生して、ＣＰＵを動作モードに遷移させることが多い。この他、図３にもあるように、スリープモード中にオペレータがペーパーフィード等のスイッチを押下する等の動作指示があった場合も割り込み原因となる。尚、図３では、ＣＰＵ１をスリープモードから動作モードに遷移させる要因を示しているが、これらの要因はスリープモード時だけでなく動作モードにも割込要因となる。但し、ＣＰＵ１の動作モード時には、図３に記載した要因だけでなく、例えば、ウォッチドッグタイマのタイムアウト等もＣＰＵ１への割込要因となる。ウォッチドッグタイマはＣＰＵ１の暴走を検知するためのタイマであり、暴走状態が発生したら、割込み処理によりＣＰＵ１の暴走を停止させ、所定の対応処理を実行するものである。
【００４６】
尚、図３に示されているスリープモードからの割込要因は例示であり、この他の要因により割り込み信号を発生させることもできる。例えば、後述するように、ホスト装置からスリープモード中の装置にウェイクアップ命令を出力することにより、割込信号を生成させてスリープモードから動作モードに遷移させるよう構成することも可能である。
【００４７】
次に図１を用いて、本発明の割込信号生成装置１０の第１の実施形態１０−１を説明する。プリンタの各部に設けられたセンサ等から入力信号１〜ｎのそれぞれが割込信号生成装置１０−１の対応する割込検出部２０に入力される。割込検出部２０は、入力信号１〜ｎが所定の条件を満たしているときに限り検出信号を出力するように構成しても、入力信号１〜ｎを受信すると無条件に検出信号を出力するように構成してもよい。
【００４８】
検出信号は割込処理部１５に出力される。割込処理部１５では、予め設定された条件にしたがって、受信した検出信号を所定の順位の割込信号１〜ｎとして出力する。このような構成とすることにより、入力信号１〜ｎと割込検出部２０の接続等の物理的な接続とは無関係に、入力信号に対応する割込信号の順位を設定することが可能となる。例えば、物理的には最低位の端子（割込み検出部２０）に入力された検出信号ｎを、最高位の順位の割込信号１として出力すること等が可能となる。
【００４９】
各割込信号１〜ｎは割込ライン２６を介して、ＣＰＵ１の割込ポートにそれぞれ入力される。ＣＰＵ１では、入力ポート毎に優先度が決められており、入力ポートに応じた優先順位で、割込み処理が実行される。ＣＰＵ１の内部で、入力ポートの優先順位を変更することにより、割込み処理の優先順位を変更することも可能である。
【００５０】
割込処理部１５及び割込検出部２０は、ＣＰＵ１からバスライン２５を通じて制御情報を受け取り、受信した制御情報に基づき割込検出及び、割込信号の順位の設定又は変更を行うようにすることも可能である。
【００５１】
図４にさらに具体的な本発明の割込信号生成装置の第２の実施形態１０−２を示す。第２の実施形態１０−２においては、割込処理部１５−１が、制御部１７、状態記憶部１８、順位変更部１９、及び割込信号生成部２９により構成されている。検出信号１〜ｎはまず、割込処理部１５−１の順位変更部１９に入力される。順位変更部１９は入力と出力の端子を切り替えるマルチプレクサ、又はエンコーダ等により構成することができる。
【００５２】
図５を用いてさらに詳細に説明する。図５は、順位変更部１９をエンコーダで構成した場合の例を示す図である。割込信号１〜ｎの入力は、各エンコード部４５に夫々入力される。順位変更部１９は、ｎ個のエンコード部１９−１〜１９−ｎから構成されている。図５の例では、解かりやすくするために、第１番目のエンコード部１９−１と第ｎ番目のドコード部１９−ｎのみを記載している。以下の説明ではエンコード部１９−１のみを引用するが、各エンコード部１９−１〜１９−ｎは特に説明する部分を除き、同じ構成及び機能を有している。
【００５３】
エンコード部１９−１は入力信号の数ｎと同じビット数ｎを記憶可能な選択レジスタ４６を有している。選択レジスタ４６の各ビット１〜ｎは、各エンコード部４５に入力される割込信号１〜ｎと１対１で対応するようにアンドゲートＡ１〜Ａｎに入力され、アンドゲートＡ１〜Ａｎからは入力信号である割込信号と選択レジスタの出力ビットとの論理積が出力される。
【００５４】
従って、選択レジスタ４６の１〜ｎビット中の特定の１ビットだけをオン“１”にしておくと、オンになっているビットに対応するアンドゲートだけが、アンド条件を満足できる状態となり、その他のアンドゲートは検出信号の有無にかかわらず、アンド条件を満足しない。入力されるｎ個の検出信号１〜ｎの夫々を、ｎ個のエンコーダ部１９−１〜１９−ｎのいずれか一つのみに割り当てるように、選択レジスタ４６のビットを設定することにより、検出信号と割込信号とを1対１に対応付けることが可能となる。また、選択レジスタ４６の設定ビットをエンコーダ１９−１〜１９−ｎの相互間で入れ換えることにより、検出信号に対応する割込信号の順位を入れ換えることが可能となる。従って、選択レジスタ４６は、検出信号から生成される割込信号の順位設定部として機能する。
【００５５】
図５の例では、第１のエンコード部１９−１では、選択レジスタ４６の第３番目のビットのみが“１”に設定されている。従って、検出信号３が入力されたときのみ、アンドゲートＡ３の条件が満たされ、オアゲート４７から“１”が出力される。これにより、検出信号３から、順位変更部１９の第１番目の端子から信号が出力される。第1番目の端子からの出力信号は、割込信号生成部２９により最高位の割込信号１としてＣＰＵに出力される。同様に、他の検出信号１〜ｎを、互いに重複しないように各エンコード部１９‐１〜１９‐ｎの選択レジスタ４６の各ビット１〜ｎに設定することにより、検出信号（すなわち入力信号）により生成される割込信号の順位を設定することが可能となる。
【００５６】
以上の説明からわかるように、入力信号と出力信号とをどのように設定するかは、予め選択レジスタ４６に所定の値を設定することにより行う。選択レジスタは、外部から設定及び変更可能に構成することが好ましい。図４では、制御部１７により制御する構成を示している。操作パネル等の入力装置又はＣＰＵ１から制御部１７に所定の制御信号を送信し、選択レジスタ４６の設定及び変更を行う。
【００５７】
順位変更部１９により入力の順番と出力の順番を入れ換えられた検出信号１〜ｎは、割込信号生成部２９に入力される。割込信号生成部２９では、例えば、入力端子の並び順に高い順位の割込信号１〜ｎとして出力する。以上の構成により、検出信号１〜ｎに対応する割込信号の順位を変更することが可能となる。尚、ＣＰＵ１は、バスライン２５を介して制御部１７へ制御データを送信することにより、制御部１７を介して各部１８、１９、２９を制御することが可能である。
【００５８】
状態記憶部１８は、割込処理部１５が検出信号１〜ｎを受信したときに、どの検出信号を受信したかを記憶しておくものである。これによりＣＰＵ１が割込み処理の過程で、状態記憶部１８の内容を読み出すことにより、割込原因を確認することが可能となり、割込原因に対応した適切な割込み処理を実行することできる。
【００５９】
図６を用いて、本発明の割込信号生成装置の第３の実施形態１０−３を説明する。図６の第３の実施形態１０−３においては、割込処理部１５−３が、合成処理部１６、制御部１７、状態記憶部１８により構成されている。制御部１７、状態記憶部１８は第２の実施形態１０−２と同じであるので、合成処理部１６のみを説明する。合成処理部１６は、検出信号１〜ｎを所定の条件の下にグループ化し、入力信号より少ない数の割込信号１〜ｍとして出力するものである。どのような条件でグループ化するかは、制御部１７により制御する。制御部１７は、上述の通り、バスライン２５を介してＣＰＵ１から制御可能である。
【００６０】
本発明の第３の実施形態１０−３によると、多数の検出信号１〜ｎを所定の条件でグループ化して、検出信号１〜ｎの数より少ない割込信号１〜ｍとして出力することが可能となる。通常、ＣＰＵには割込ポートが８個程設けられているが、割込要因となる入力信号は４０個を超えることもある。このように入力信号が多い場合でも、入力信号をグループ化し、所定のグループ単位で割込信号の順位を割り当てることにより、適切な割込み処理が可能となる。
【００６１】
図７に複数の入力信号をグループ化した例を示す。この例では、割込信号１から順番に数字が大きくなるに従ってＣＰＵが行う割込み処理の優先順位が低くなるものとする。電源電圧異常は、機器を壊すおそれがあること、及び正常動作が不能となることから、通常最高位のプライオリティ（優先順位）の割込み処理がＣＰＵによって行われる。図７の例でも、電源電圧異常、リセット入力、ウォッチドッグタイマが最高位の優先順位となっている。尚、図７では、ウォッチドッグタイマも検出信号として示してあるが、スリープモード時にはＣＰＵの暴走はありえないので、ウォッチドッグタイマのタイムアウトによる割込は通常発生しない。したがって、スリープモード時には、ウォッチドッグタイマ入力の割込信号の順位を下げて、割込要因の優先順位を下げるように、スリープモード移行処理において優先順位を変更するように構成することも可能である。このように、本発明では、電子機器の停止時に静的に優先順位等を設定し又は変更するだけでなく、動作時においても動作状況に応じて優先順位等の設定又は変更（動的設定変更と称する）することも可能である。
【００６２】
２番目の優先順位として、インクカートリッジオープン、印刷用紙無し等の印刷処理に支障を来す状況の発生が割り当てられている。その次の順位には、オペレータがペーパーフィードボタンを押下した場合、センサによるホームポジションの検知と続いている。これらは、例示であり、どのような優先順位を付与するかは、その製品の設計思想に基づき変更可能である。また、この例では、４つのグループに分けているが、必要に応じて、また、ＣＰＵ１のポート数に応じてそのグループ分けの数を設定することが可能である。
【００６３】
図８に、割込信号生成装置の第３の実施形態１０−３に用いられる合成処理部１６を、ｍ個のエンコード部１６−１〜１６−ｍにより構成した実施形態を示す。図８のエンコード部１６−１〜１６−ｍも、図５に示した順位変更部１９として示したエンコード部１９−１等とほぼ同様のエンコーダを使用することができる。異なるのは、以下の２点である。第１に、順位変更部１９の場合には、入力される検出信号１〜ｎと同じ数であるｎ個のエンコード部１９−１〜１９−ｎが設けられているのに対し、合成処理部１６では、検出信号の数であるｎ個より少ないｍ個の出コード部１６−１〜１６−ｍが設けられている点が異なっている。第２に、選択レジスタ６２に設定される設定ビット“１”が１個だけでなく、グループ化しようとする入力の数だけ設定される点も異なる。
【００６４】
例えば図８に示す第１のエンコード部１６−１の選択レジスタ６２では、ビット２、３、４が“１”に設定される。従ってアンドゲートＡ２、Ａ３、Ａ４がイネーブル状態になっており、検出信号２、３、４のいずれが入力されてもオアゲート６３から“１”が出力される。これにより、３個の検出信号２〜３が第１のエンコード部１６−１により１個の割込信号である割込信号１が出力される。従って、選択レジスタ６２はグループ設定部として機能し、アンドゲートＡ１〜Ａｎ及びオアゲート６３は割込信号出力部として機能する。
【００６５】
このように検出信号１〜ｎがいくつかのグループにまとめられるので、エンコード部はｎ個より少ない数のｍ個で足りる。検出信号をどのようにグループ化するかは、予め選択レジスタ６２に所定の値を設定することにより行う。選択レジスタの設定は、図４と同様に制御部１７により制御可能である。また、前述した通り、制御部１７はバスライン２５を介して、ＣＰＵにより制御可能であるので、選択レジスタ６２の設定をＣＰＵ１又は外部操作パネル等で制御するように構成することも可能である。
【００６６】
さらに図９を用いて本発明の割込信号生成装置の第４の実施形態１０−４を説明する。第４の実施形態１０−４の割込処理部１５−３では、第２及び第３の実施形態の順位変更部１９と合成処理部１６とが組み合せられている。割込処理部１５−３の構成により、優先順位の設定の変更が容易になるとともに、複数の入力信号をグループ化して割込信号を発生させることも可能となる。
【００６７】
次に図１０を用いて、割込み処理中にさらに検出信号を受信した場合の処理について説明する。図１０は、割込み処理中に同じグループの検出信号を受信した場合に、適切に割込み処理を実行することのできる割込処理部１５の実施形態１５−４を示す機能ブロック図である。この割込処理部１５−４は、説明を容易にするため、合成処理部１６−２、制御部１７、状態記憶部１８−１割込モードレジスタ７３とを備える構成としている。
状態記憶部１８−１は、状態レジスタ７１及び履歴レジスタ７２とから構成されている。状態レジスタ７１は、検出信号の受信状態を各検出信号毎に記憶する。
履歴レジスタ７３は、通常状態のときに状態レジスタ７１の内容を記憶するレジスタであり、ＣＰＵの割込み処理時にＣＰＵからバス２５を介して読み取られる。割込モードレジスタ７３は、割込み処理状態が発生したときに、ＣＰＵからの制御信号に基づき割込みモード移行したことを記憶するレジスタである。割込みモードへの遷移は各割込信号毎に管理される。
【００６８】
割込が発生すると、ＣＰＵから割込モードへの移行指示が出され、割込モードレジスタが設定される。割込モードは、割込信号単位で管理されるので、現在割込み処理を続行している割込信号ライン以外のグループには影響を与えず、割込み処理中以外のラインは、通常モードで動作する。割込モードレジスタ７３が設定されると、状態レジスタ７１及び履歴レジスタ７２は、制御部１７により次のように制御される。
【００６９】
割込み処理中に割込み処理中のグループ以外の検出信号を受信した場合には、通常モードと同様に状態レジスタを更新し、同じ内容を履歴レジスタ７２にも記憶する。割込み処理中と同一グループの検出信号を受信した場合には、状態レジスタ７２は更新するが、状態レジスタ７１の内容は履歴レジスタ７２には記憶されない。そのため、状態レジスタ７１の内容と履歴レジスタ７２の内容が異なることになる。
【００７０】
割込み処理が終了し、ＣＰＵから割込モードの解除指令を受信すると制御部１７は、状態レジスタ７１の内容と履歴レジスタ７２の内容を比較する。比較の結果、内容が異なる場合には、制御部１７から合成処理部１６−２に制御信号を出力して、合成処理部１６−２から対応する割込信号を送信する。これにより、再び割込み処理が実行され、同様の処理が繰り返される。
【００７１】
図１１は割込信号生成装置の割込信号出力の処理手順と、ＣＰＵによる割込み処理の手順を示すフローチャートであり、図１２は状態レジスタ７１、履歴レジスタ７２、割込モードレジスタ７３の設定内容の例を示す図表である。図１１のフローチャートと図１２の図表を用いて、割込信号出力とＣＰＵの処理手順の例を説明する。尚、この説明においては、説明を簡単にするため、４種類の割込信号１〜４のみ使用するものとする。
【００７２】
まず、検出信号を受信すると（Ｓ１０１；Ｙｅｓ）、割込信号が出力し（Ｓ１０２）、状態レジスタ７１の対応ビットＦxを“１”にセットし、その後状態レジスタ７１の内容を履歴レジスタ７２に転送する。今、検出信号３を受信したとすると、図１２（ａ）及び（ｂ）に示すように状態レジスタ７１及び履歴レジスタ７２のビット３がそれぞれ“１”にセットされる。図１２の図表に示すように検出信号３は割込信号１のグループに属するので、ＣＰＵには割込信号１が出力される。
【００７３】
ＣＰＵでは、割込信号の受信により（Ｓ２０１；Ｙｅｓ）、該当割込ポート（ポート１）を無能化して、以後の割込みの受付を禁止する（Ｓ２０２）。次に、割込信号を送信した割込信号生成装置に割込モードへの移行指示を出力する（Ｓ２０３）とともに、履歴レジスタ７２の内容を読み出して（Ｓ２０４）割込要因の確認、対応処理を実行する（Ｓ２０５、Ｓ２０６）。
【００７４】
割込信号生成装置は、ＣＰＵから割込モードへの移行指示を受信すると（Ｓ１０４；Ｙｅｓ）、図１２の（ｃ）に示すように、割込モードレジスタ７３の割込信号１を割込モード“１”に設定する（Ｓ１０５）。これにより制御部１７は、状態レジスタ７１のビット１〜５の内容の履歴レジスタ７２への転送を制限する（Ｓ１０６）。すなわち、割込信号１のグループに属する検出信号１〜５を受信しても、ビット１からビット５については履歴レジスタ７２には転送しない。
【００７５】
割込み処理中にさらに割込みがあると（Ｓ１０７；Ｙｅｓ）、その割込みが割込信号１のグループ以外の検出信号である場合には、再び工程Ｓ１０２〜工程Ｓ１０７及びＣＰＵの工程Ｓ２０１〜工程Ｓ２０６を繰り返す。その割込みが割込信号１のグループの検出信号である場合、工程Ｓ１０２〜工程Ｓ１０７の処理が実行されるが、今、割込モード中であるので、状態レジスタ７１は更新されるが履歴レジスタ７２の更新は制限される。したがって、例えば検出信号１を受信したとすると、状態レジスタ７１は図１２の図表（ｄ）のようにビット１及び３が “１”に設定されるが、履歴レジスタ７２は図１２の（ｂ）に示すようにビット３のみが“1”に設定された状態のままである。
【００７６】
尚、工程Ｓ１０２により割込信号生成装置からＣＰＵに割込信号１が出力されることになるが、今、ＣＰＵの割込ポート１は無能化されているので、ＣＰＵによる割込み処理は行われない。このように割込み処理の途中で同じレベルの割込み処理を実行するには、複雑な制御が必要となるからである。さらに、図１１のフローチャートでは、割込み処理中と同じ検出信号が発生しても、割込信号を出力する構成を示したが、後述するようにこのような場合には、割込信号１を出力しないように構成することも可能である。
【００７７】
ＣＰＵによる割込み処理が完了すると（Ｓ２０６；Ｙｅｓ）、ＣＰＵは割込みモードのクリア要求を行い（Ｓ２０７）、割込ポート（ポート１）の受信を可能にして（Ｓ２０８）、当該割込み処理を終了する。
【００７８】
割込信号生成装置では、割込モードのクリア要求を受信すると、状態レジスタ７１と履歴レジスタ７２の内容を比較する（Ｓ１０９）。これらの内容が同じであれば（Ｓ１１０；Ｙｅｓ）、割込み処理中に同じグループ内の検出信号を受信していないので、全ての関連レジスタ等をリセットして、当該割込み処理を終了する。今、割込み処理中に検出信号１を受信しているので、状態レジスタ７１と履歴レジスタ７２の内容は、図１２の（ｂ）と（ｄ）に示す通りに異なっている。この場合（Ｓ１１０；Ｎｏ）には、さらに工程１０２に戻り、検出信号１に対応する割込信号１を出力するとともに、前述と同様の処理（工程Ｓ１０２〜Ｓ１１１）が実行される。ＣＰＵでも、割込ポートは既に受信可能状態となっており、前述したような割込み処理（工程Ｓ２０１〜Ｓ２０８）が実行される。
【００７９】
図１３は、割込み処理中に同じグループの検出信号を受信した場合に、適切に割込み処理を実行することのできる割込処理部１５の他の実施形態１５−５を示す機能ブロック図である。図１３では、図１０の合成処理部１６−２における割込モード出力制御部の構成をわかりやすくするため、割込モード出力制御部７５を合成処理部の外に取り出した構成としている。すなわち割込モード出力制御部７５を図６、８等に示した合成処理部１６の内部に設けることも、合成処理部１６の外に設けることも可能である。合成処理部１６の内部に割込モード出力制御部７５を設けることにより図１０の合成処理部１６−２となる。図１３でも割込信号は１〜４の４種類を使用する例を示している。
【００８０】
図１３では、アンドゲート７６及びインバータ７７は１個しか示していないが、それぞれ４個存在するものとし、割込モードレジスタ７３の各出力端子１〜４がそれぞれのアンドゲート７６及びインバータ７７に別々に接続されているものとする。また、制御部１７からの状態レジスタ７１と履歴レジスタ７２の比較結果はライン７４を介して全てのアンドゲート７６に共通に接続されるものとする。
【００８１】
割込モードレジスタ７３の所定の割込信号対応部分、例えば割込信号１に相当する割込みモードが設定されると、割込モードレジスタ７３の出力端子１が“ハイ”または“１”となる。割込モードレジスタ７３の出力端子１が“ハイ”になるとインバータ７７を介して割込信号１のアンドゲートＢ１の1入力が“ロー”になり、割込モード期間中、割込信号１の出力はアンドゲートＢ１により無能化される。
【００８２】
一方、モードクリア要求を受信すると制御部１７は状態レジスタ７１と履歴レジスタ７２の内容を比較し、比較結果が不一致の場合にはライン７４を“ハイ”にする。この段階では割込モードレジスタ７３はクリアされておらず出力端子１からは“ハイ”が出力されている。そのため割込モードレジスタ７３の出力端子１に相当するアンドゲート７６の入力のみがアンド条件を満足し、“ハイ”を出力する。これにより、割込みモードレジスタの出力端子に対応する割込信号１のオアゲートＣ１の1入力が“ハイ”となり、割込信号１が出力される。その後、制御部１７により割込モードレジスタ７３がクリアされるよう構成しても、そのまま割込みモードをそのまま保持するよう構成してもよい。比較結果が一致した場合には、割込モードレジスタ７３はクリアされる。
【００８３】
次に、以上の本発明の割込信号生成装置に使用する割込検出部２０の実施形態を説明する。尚、以下の説明では、割込処理部１５として、図６に示す割込処理部１５−２を用いた構成例を示しているが、これは説明を簡単する便宜上のためであり、その他の実施形態にかかる割込処理部を使用することも可能である。
【００８４】
図１４は、本発明にかかる割込信号生成装置１０に使用可能な割込検出部の２０の第１の実施形態の構成を示す機能ブロック図である。割込信号生成装置１０には、図２の電源異常検知１１、カバーオープン１２等のセンサの出力信号が入力信号１〜ｎとして入力される。割込信号生成装置１０には、各入力信号１〜ｎに対応してそれぞれ割込検出部２０が合計ｎ個設けられている。
【００８５】
各割込検出部２０は同じ構成のものを使用可能であるので、図１４では入力信号１に対応する割込検出部２０についてのみ内部構成が示されている。
【００８６】
割込検出部２０は、パターン生成部２１、パターン比較部２２及び検出信号生成部２３とから構成されている。パターン生成部２１では、入力信号から所定の信号パターンを生成する。パターン生成部２１における信号パターンの生成は、バスライン２５を介してＣＰＵから設定される条件等によって制御される。パターン生成部２１で生成された信号パターンは、パターン比較部２２に出力される。
【００８７】
パターン比較部２２では、パターン生成部から受信した信号パターンと所定のパターンデータとを比較する。比較する所定のパターンデータは、バスライン２５を介してＣＰＵ１から送信される。パターン比較部２２による比較の結果、信号パターンが所定のパターンデータと一致すると、一致信号が検出信号生成部２３と状態記憶レジスタ２４に出力される。
【００８８】
状態記憶レジスタ２４は、出力された一致信号を対応するビット信号として記憶する。ＣＰＵ１は、割り込み発生後の処理ルーチンで、この状態記憶レジスタの内容を読み取ることにより、割り込み原因を知ること及びどのようなエラーが発生しているのか等の装置の状態を確認することが可能となる。尚、割込処理部１５内に状態記憶部１８を設ける場合には、この状態記憶レジスタ２４は設ける必要はない。
【００８９】
検出信号生成部２３では、一致信号を受信したときに検出信号を割込処理部１５に送出するかどうかを確定する。すなわち、一致信号を受信したときに直ちに検出信号を出力するのではなく、所定の条件を満足している場合にのみ、検出信号を出力する。これは、各種の入力信号１〜ｎのいずれかが所定の信号パターンであったとしても、さらに他の条件を満足しない限り、スリープモードを維持するようにすることを可能にするものである。この場合には、検出信号は出力されないためにＣＰＵ１への割り込みは行われないが、一致信号が発生した状態は、状態記憶レジスタ２４に記憶される。従って、後刻割り込みが発生したときに、その事実をＣＰＵ１から確認可能であり、そのエラー状態等に応じた適切な処理を行うことが可能である。
【００９０】
検出信号を出力するための条件は、バスラインを介してＣＰＵ１から設定可能であり、具体的な条件はその装置の基本設計事項として、自由に設定可能である。
【００９１】
このように，入力信号から信号パターンを生成する条件の設定、一致信号を出力するためのパターンデータの設定、及び検出信号を発生するための条件の設定を、ＣＰＵ１から自由に設定可能である。そのため、各種装置の多種多用な実際の使用環境に合わせて、状況変化の時間軸スケールの相違及び複雑な条件等を考慮した正確な割りこみ処理を行わせることが可能となる。
【００９２】
次に図１５を用いて、本発明の割込検出部２０の第２の実施形態を説明する。
図１５は、本発明に適用する割込検出部２０の第２の実施形態の機能ブロック図である。図１５においては、パターン生成部２１がクロック選択部３１及びシフトレジスタ３０により構成されている。クロック選択部３１には、分周器３７で複数のクロックに分周されたクロックが入力され、クロック選択情報記憶部３２の出力により使用するクロックが選択される。このようにクロックを選択可能とすることにより、検知しようとする事象に対応する適切なクロックを使用して、信号パターンを生成することが可能となる。
【００９３】
どのクロックを使用するかは、ＣＰＵ１から予めクロック選択情報記憶部３２に設定され、必要に応じて、ＣＰＵ１から適宜変更可能である。また、分周器３７を割込検出部２０の外に設けたのは、入力信号１〜ｎに共通して１個の分周器３７を設けることにより、全ての割込検出部２０に複数のクロックを提供することができるようにするためである。
【００９４】
シフトレジスタ３０には、入力信号１が入力され、選択されたクロック信号により、順次シフトされる。図１５では、４段のシフトレジスタを使用しているが、４段以上又は以下のシフトレジスタを用いることも可能である。シフトレジスタ３０の各出力段の出力信号は信号パターンとして、パターン比較部２２に出力される。
【００９５】
パターン比較部２２は、一致検出部３３とパターンデータ記憶部３４とから構成されている。一致検出部３３は、予めＣＰＵ１からパターンデータ記憶部３４に設定されたパターンデータとシフトレジスタ３０の各出力段からのパラレル出力とを比較し、一致した場合に一致信号を状態記憶レジスタ２４及び検出信号生成部２３に出力する。
【００９６】
検出信号生成部２３は、状態変化検出部３５と、割込設定レジスタ３６とからなる。状態変化検出部３５は割込設定レジスタ３６に記憶している条件を満たしているときに検出信号を出力する。割込設定レジスタ３６への条件設定は、バスライン２５を介してＣＰＵ１から制御される。
【００９７】
図１６を用いて、シフトレジスタ３０の出力と、一致信号の関係を説明する。
図１６は、クロックと、入力信号１と、一致信号の出力タイミングを示すタイミングチャートである。尚、この例では、パターンデータとして“１１１０”が設定されているものとする。
【００９８】
今、所定のクロックが選択され、入力信号１が図１６に示すタイミングでハイレベル（以下“Ｈ”と表示する）になったとする。尚、本シフトレジスタは、クロックの立ち上がりでシフト入力データを順次シフトするものとする。クロック “０”の立ち上がりタイミングでは、入力信号１はローレベル（以下“Ｌ”と表示する）であるので、シフトレジスタ３０は入力信号の変化を捉えることはできない。従って、この時点では、シフトレジスタ３０の各出力段の出力は“００００”である。
【００９９】
次のクロック信号であるクロック“１”の立ち上がり時には入力信号１は“Ｈ”になっているので、シフトレジスタ３０の出力段１から“Ｈ”が出力される。
従って、この時点におけるシフトレジスタ３０の各出力段の出力は“１０００”である。
【０１００】
クロック“２”の立ち上がり時にも入力信号１は入力されているので、このタイミンでは、出力段１及び３の出力が“Ｈ”になり、シフトレジスタ３０の各出力段の出力は“１１００”となる。
【０１０１】
同様にして、クロック“３”のときのシフトレジスタ３０の各出力段の出力は “１１１０”となる。これは、パターンデータ“１１１０”と一致するので、サンプリング信号のタイミングで、一致信号が“Ｈ”となる。
【０１０２】
クロック“４”のタイミングでは、シフトレジスタ３０の各出力段の出力は“１１１１”となるので、パターンデータ“１１１０”と一致せず、一致信号はこれ以後出力されない。このような構成とすることにより、以下のような効果を得ることができる。まず、一定期間以上連続して信号の入力が無い限り一致信号は出力されないために、ノイズによる誤動作を防止できる。また、パターンデータ “１１１０”と一致した場合だけ一致信号を出力する構成であるので、入力信号が長期間継続している場合でも一致信号は、パターンが一致している所定の期間だけした出力されず、割込信号が連続して出力されることを防止することができる。
【０１０３】
逆に一致信号を連続して出力させておき、検出信号生成部２３において、他の条件で割込信号の発生を制御したい場合には、一致信号が発生したらその状態をラッチ又はフリップフロップ等で保持するように構成することも可能である。また、パターンデータを“１１１１”と設定しておくことにより、一致信号を保持させることもできる。パターンデータが“１１１１”に設定されていると、図１６の最下段に示す通り、シフトレジスタ３０の全出力が“Ｈ”になった後、入力信号１が“Ｈ”である限り、一致信号が継続して出力される。このようにパターンデータを“１１１１”と設定して一致信号を連続出力させる場合には、入力信号１〜ｎが無くなると、自動的に一致信号も出力されないので、ラッチ等に記憶させる場合と異なりリセット動作が不要であるという効果も有する。
【０１０４】
このように、信号パターンとパターンデータとが一致するときに検出信号を出力する構成とすることにより、ホスト装置５０からの制御データにより、ＣＰＵ１をスリープモードから動作モードに遷移させることが可能となる。
【０１０５】
図１７を用いて説明する。図１７は、スリープモード中のプリンタのような通信端末装置６０を、本発明にかかる割込信号生成装置１０を使用して、ホスト装置５０から動作モードに遷移させる場合を説明するための機能ブロック構成図である。図１７には、ホスト装置５０と、ホスト装置に接続された通信端末装置（例えばプリンタ）６０を示しており、通信端末装置６０は本発明にかかる割込信号生成装置１０を有している。図１７では、説明を簡単にし、説明の要点をわかりやすくするため、通信端末装置６０の詳細部分は省略してある。今、通信端末装置６０の割込信号生成装置１０のパターンデータ記憶部３４（図１５）にはパターンデータ“１１１０”が記憶されているものとする。
【０１０６】
ホスト装置５０が通信端末６０のＣＰＵ１を動作モードに遷移させることを希望する場合、ホスト装置５０はデータ“１１１０”を通信端末６０に送信する。
通信端末６０のレベル変換部２７、プロトコル変換部２８及び割込信号生成装置１０は、ＣＰＵ１がスリープモード中であっても、動作している。従って、ホスト装置５０から送信されたデータ“１１１０”は受信され、レベル変換器２７、プロトコル変換器２８を経て、割込信号生成装置１０のシフトレジスタ３０に入力される。
【０１０７】
今、パターンデータ記憶部３４にはパターンデータ“１１１０”が記憶されているので、一致検出部から一致信号が出力される。これにより、検出信号生成部２３から割込処理部１５に検出信号が出力される。割込処理部１５では、検出信号に基づき割込信号を作成し割込ライン２６を介してＣＰＵ１は割込ポートに割込信号を送出する。これにより、ＣＰＵ１は割込み処理ルーチンによりスリープモードから動作モードに遷移する。
【０１０８】
ホスト装置５０からの受信データ“１１１０”を、シフトレジスタ３０に設定する方法は、当業者にとって周知の各種の手段を採用可能であるが、ここでは、シリアルインターフェースの場合と、パラレルインターフェースの場合とに分けた代表的な例を説明する。
【０１０９】
シリアルインターフェースの場合、プロトコル変換部２８から、受信データを所定のクロックに同期させてシリアルデータとしてシフトレジスタ３０に出力するよう構成する。このとき、クロック選択部３１により、シリアルデータの同期クロック（図示せず）をシフトクロックとして選択することにより、プロトコル変換部２８から受信データがシリアルにシフトレジスタ３０に入力される。パラレルインターフェースの場合には、例えば、受信データ“１１１０”をシフトレジスタ３０にパラレルに直接入力するように構成する。
【０１１０】
図１８を用いて、本発明に適用可能な割込検出部２０の第３の実施形態を説明する。図１８は、第３の実施形態にかかる割込検出部２０の機能ブロック図を示す。図１８の割込検出部２０と図１６の割込検出部２０の違いは、図１８の割込検出部２０においては、クロック選択部３１とシフトレジスタ３０の間にタイマ３８と、タイマ選択記憶部３９を設けたことである。このような構成とすることにより、シフトレジスタ３０に入力するクロック信号の周期をさらに変化させることができ、シフトクロックを種々変化させることが可能となる。
【０１１１】
次に図１９を用いて本発明に適用可能な割込検出部２０の第４の実施形態を説明する。図１９は、割込検出部２０の第４の実施形態の機能ブロック図であり、既に説明した他の実施形態との共通部分は１部省略して示している。既述した他の実施形態と異なる部分は、検出信号生成部２３が、１６ビットカウンタ４１、カウント比較部４２及びカウント記憶部４３とから構成されている点である。
【０１１２】
この実施形態では、一致信号は１６ビットカウンタ４１のイネーブル入力端子Ｅｎ及びクリア入力端子とＣＬＲに入力されている。従って、一致信号が出力されている限り、カウントし続けるが、一致信号が出力されないとリセットされ、次の一致信号が出力されたときに再びカウントを再開する。このような構成は、一定の期間以上一致信号が連続して長期間出力される場合に有用である。尚、本実施形態では、１６ビットカウンタ４１を使用しているが、これは例示であり、１６ビット以上のカウンタ又はこれ以下のカウンタを使用することもできる。
【０１１３】
１６ビットカウンタ４１の出力はカウント比較部４２に入力される。カウント比較部４２にはカウント記憶部４３からの出力も入力されており、両入力が比較される。カウント記憶部４３には、予めＣＰＵ１により所定のカウントが設定されている。１６ビットカウンタ４１のカウントとカウンタ記憶部４３のカウントが一致すると、検出信号が割込処理部１５に出力される。割込処理部１５は、検出信号に基づき所定の順位の割込信号を作成し、作成した割込信号を、割込ライン２６を介してＣＰＵ１の割込ポートに送信する。割込ポートに割込信号が入力されるとＣＰＵが起動され、ＲＯＭ８又はＲＡＭ９に記憶された割込み処理ルーチンに従って、割込原因の確認及び必要な対応処理等が実行される。
【０１１４】
このような第４の実施形態にかかる割込検出部２０は、通常の信号より長い入力信号１〜ｎの存在を条件に割込信号を発生させる場合に有効である。長い入力信号の存在を短い周期のクロックで検知する場合にはシフトレジスタ３０の出力段の数を相当数増やす必要がある。一方、入力信号１〜ｎは多種多様であるので、パターン生成部２１の入力信号を一律に長くすることはできない。例えば、割込要因として判断する場合に必要な信号の周期は、短いものと長いものでは１０００倍を超える場合（短い信号では２０μｓ、長い信号では２０ｍｓ等）も考えられる。
【０１１５】
検知しようとする入力信号の長さが１０００倍も長くなると、分周器３７により対応する周波数のクロックを作成することは現実的ではないばかりでなく、正確なパターン生成ができなくなるという問題がある。シフトレジスタ３０ではシフトクロックの立ち上がり又は立下りのタイミングで入力信号をサンプリングする。したがって、シフトクロックの１周期の中間で入力信号１〜ｎが無くなっても、次のサンプリングタイムに入力信号１〜ｎが存在すると、何事もなかったように入力信号が順次シフトされてしまい、その変化を認識できない。
【０１１６】
シフトクロックの周期が長くなるとこのような危険が大きくなるので、シフトクロックの周期をあまり長くすることは好ましくない。これは、割込検出部２０の第３の実施形態においてタイマ３８により、クロックの周期を長くするようにした場合にも同様である。
【０１１７】
このような問題をさけるために、短い周期のシフトクロックを使用する場合、長い入力信号の信号パターンを生成するため、パターン生成部２１のシフトレジスタ３０のシフト段を非常に長くしなければならない。
【０１１８】
以上の説明でわかるように、図１９に示す第４の実施形態にかかる割込検出部２０は、その入力信号の性質に応じて、第２又は第３の実施形態にかかる割込検出部２０とを組み合せて使用する場合に極めて有用となる。すなわち、一般的な長さの入力信号の割込検出には第２又は第３の実施形態の割込検出部２０を使用し、これらの入力信号よりかなり長い入力信号の割込検出には第４の実施形態にかかる割込検出部２０を使用するというように、異なる種類の割込検出部２０を組み合せて使用することができる。
【０１１９】
次に図２０のタイミングチャートを用いて、図１９の割込検出部２０により検出信号が出力されるタイミングを説明する。１６ビットカウンタ４１はクロック信号２によりカウントされる。非常に長い入力信号を検出する場合には、一般的には、クロック信号２はパターン生成部２１のクロック１より長いクロックを使用することが好ましい。一致信号が“Ｌ”から“Ｈ”に変化すると、カウンタイネーブルが“Ｈ”となり、カウントが開始される。１６ビットカウンタ４１のカウントがカウント記憶部４３のカウントと一致すると、一致信号が出力されて、これにより検出信号が一定期間出力される。
【０１２０】
一致信号がカウント一致前に出力されなくなると（破線で表示）、カウンタはクリアされ（図２０最下段）、カウント一致信号が出力されない。そのため検出信号も出力されず、割込は発生しない。
【０１２１】
（発明の効果）
以上説明したように、本発明によると、動作環境の変化を検知するために設けられた多くのセンサ等からの受信信号に対応して出力される割込信号の順位を適宜変更可能な割込信号生成装置を提供することが可能となる。この場合には、装置の稼動中に動的に割込信号の順位の変更を行うよう構成することも可能である。また他の実施態様によると、必要に応じてグループ化し、受信した入力信号又はグループ化した信号毎に対応する順位の割込信号作成することも可能となり、さらに、通常動作時だけでなくスリープモード中のＣＰＵに対して割込信号を送出するように構成することも可能となる。
【０１２２】
さらに他の態様によると、同時に複数の割込要因が発生した場合でも割込信号の出力を制御可能である。また、本発明の割込信号生成装置は、割り込み設定条件の自由度の高く、多種多様な設計使用に利用可能であるという効果を有する。
【符号の説明】
【０１２３】
１  ＣＰＵ、２  印刷機構、４  印刷機構駆動回路、７  インタフェース、８  ＲＯＭ、９  ＲＡＭ、１０  割込信号生成装置、１１  電源異常検出装置、１２  印字用紙検知装置、１３  カバーオープン検知装置、１４  インク無し検知装置、１５  割込処理部、１６  合成処理部、１６−１〜ｎ  合成処理部のエンコード部、１７  制御部、１８  状態記憶部、１９  順位変更部、１９−１〜ｍ  順位変更部のエンコード部、２０  割込検出部、２１  パターン生成部、２２  パターン比較部、２３  検出信号生成部、２４  状態記憶レジスタ、２５  バスライン、２６  割込信号ライン、２９  割込信号生成部、３０  シフトレジスタ、３１  クロック選択部、３２  クロック選択情報記憶部、３３  一致検出部、３４  パターンデータ記憶部、３５  状態変化検出部、３６  割込設定レジスタ、４１  １６ビットカウンタ、４２  カウント比較部、４３  カウント記憶部、４５  順位変更部のエンコード部、４６  順位変更部の選択レジスタ、５０  ホスト装置、６０  通信端末装置（プリンタ）、６２  構成処理部の選択レジスタ。
【図１】
2010033590.tif 000003
【図２】
2010033590.tif 000004
【図３】
2010033590.tif 000005
【図４】
2010033590.tif 000006
【図５】
2010033590.tif 000007
【図６】
2010033590.tif 000008
【図７】
2010033590.tif 000009
【図８】
2010033590.tif 000010
【図９】
2010033590.tif 000011
【図１０】
2010033590.tif 000012
【図１１】
2010033590.tif 000013
【図１２】
2010033590.tif 000014
【図１３】
2010033590.tif 000015
【図１４】
2010033590.tif 000016
【図１５】
2010033590.tif 000017
【図１６】
2010033590.tif 000018
【図１７】
2010033590.tif 000019
【図１８】
2010033590.tif 000020
【図１９】
2010033590.tif 000021
【図２０】
2010033590.tif 000022
【手続補正書】
【提出日】平成21年11月16日(2009.11.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＣＰＵに割込信号を送出して、割込み処理を要求する割込信号生成装置に関する。特に複数の割込要因に基づき、各種割込要求信号を出力する割込信号生成装置及び割込信号の出力方法に関する。
【背景技術】
【０００２】
従来技術の電子機器においては、例えば、一定時間キーボードの操作がないときに表示部の輝度を落したり、一定時間Ｉ／Ｏアクセスが行われないときに入出力装置の電源供給を停止したりすること等により省電力化（このような状態を省電力モードと呼ぶ）を行っている。尚、この明細書において、省電力モードとは、装置の一部機能だけが動作可能にセットされ、他の大部分が電源の供給が一時的に停止されて動作停止状態にあるモードを言う。
【０００３】
省電力モードは、例えばキーボード等の入力操作により、又はＩ／Ｏアクセスを受信したときに装置全体に電源供給が行い、通常モードへ移行する方式が一般的である。
【０００４】
例えば、特開平８−２４９０８１（特許文献１）及び特開平５−３２０１８号公報（特許文献２）には、省電力を効果的に行うために、消費電力の大きいＣＰＵをスリープモードにする方式が開示されている。なお、一般に、ＣＰＵのスリープモードとは、ＣＰＵの動作クロックが停止しており、割り込みポート等の一部の端子に入力された信号だけを取り込み可能な状態にあることを言う（ＣＰＵ自体は、演算処理等を実行できる状態にない）。スリープモードは、省電力モードをＣＰＵのクロック停止状態まで進めたものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２４９０８１号公報
【特許文献２】特開平５−３２０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の先行技術においては、通常動作モード、スリープモード等の各モード間の状態変移についての説明がなされている。しかし、これらの先行技術においては、複数の割込要因の制御、割込み処理時の他の割込み処理等については、明確にされていない。最近の電子機器は、機能が複雑化していることに加え、省電力モード、スリーモード及び通常動作モード間の状態遷移を行う等のため、多数の割込要因を設定することが必要になる場合が多い。何十種類もの割込要因を設ける場合も存在する。
【０００７】
複数の割込要因、特に何十種類もの割込要因が存在する場合には、どのような条件に基づき、どのような割込み処理をＣＰＵに実行させるかは、装置を効率的かつ適正に稼動させるという装置性能に関わる重要な課題である。特に、ＣＰＵの割込みポート数には一定の制限があるため、割込要因を割込信号に1対１の関係で割り当てることはできない。
【０００８】
また、動作状況に応じて、割込要因に応じて生成される割込信号の順位を変更することが望ましいこともある。例えば、スリープモードへの移行時には、スリープモードに特有の割込要因を高い優先順位に変更することにより、より効率的な処理が可能となる場合も考えられる。さらに、エラー状況に応じて割込要因の優先順位を変更し、又は一部の割込要因をディスエイブル化（無能化）する等、環境変化に応じて割込要因を動的に設定し又は変更することが有用となることもある。
どのような条件で具体的に割込みを発生させるか、及びその優先順位をどのように設定するかについては、エラー等の割込み発生原因及びその程度により異なる。例えば、電源に異常が発生した場合等には、ただちに所定の警告を発する必要がある他、必要に応じて電源の切断等の処置が必要になる。一方、スリープモード中にインクタンクが外されたり、カバーが開けられたりした場合等は、あまり緊急度が高くない。このような場合には、動作命令等がされるまではスリープ状態を維持し、より重要度の高い割込要因が発生したときに動作モードに復帰するように構成してもよい。このように割込信号の順位は柔軟に変更可能であることが好ましい。
【０００９】
さらに、割込み処理中に同じ割込ポートに割込要求（同一優先順位の割込要求）があると、後発の割込要求が無視されて、必要な割込み処理が行われない場合が起こる可能性もある。
【００１０】
また、動作モード、スリープモード等の監視対象装置の動作モードに応じて割込要因の優先順位を変更することも可能である。このような処理を実現するには、動作モードを変更するためのモード遷移処理過程において割込み処理の優先順位を変更できること（動的変更）が必要である。どのような状況変化があったときにＣＰＵを動作モードに復帰させるかは、監視対象装置の基本的な設計思想若しくは監視対象装置にどのような機能を付与させるかにより異なってくるため、割り込み条件設定の自由度が高いことが望ましい。本発明は上述のような割込信号の生成に伴う種々の問題に鑑みてなされたものである。
【００１１】
そこで、本発明は各種割込要因から生成される割込信号の順位を、静的に又は動的に変更可能な割込信号生成装置及び割込信号の生成方法を提供することをその目的の１つとする。
【００１２】
また、本発明は、複数の割込要因からより少ない数の割込み信号を生成する割込要因割込信号生成装置及び割込信号の生成方法を提供することをその目的の１つとする。
【００１３】
さらに本発明は、割込み処理中に、当該処理中の割込みと同順位の割込要因が発生した場合の対応処理が可能となる割込信号生成装置及び割込信号の生成方法を提供することをその目的の１つとする。
また、本発明は、割り込み設定条件の自由度の高い割り込み信号発生装置を提供することをその目的の１つとする。
【課題を解決するための手段】
【００１４】
本発明は、割込要因となる複数の検出信号から生成する割込信号の順位を変更可能に構成し、複数の検出信号から当該検出信号の数より少ない数の割込信号を生成可能に構成し、又は割込み処理中に検出信号を受信したときに当該割込み処理終了後に後発割込みの処理を実行可能に構成して上記課題を解決した。なお、ここでいう割込信号の順位とは、ＣＰＵの割込みポートの数に対応したものであり、例えばＣＰＵに４つの割込みポートがあれば、割込信号に最大４つの順位を設定することが可能である。通常、ＣＰＵの各割込みポートには、他の割り込みポートに対する優先順位を設定することが可能である。本発明では、割込要因となる複数の検出信号から生成する割込信号の順位を、その割込要因の優先度に応じて、優先順位の高い割込みポートに割り当てるように変更することができる。
すなわち、本発明では、割込要因となる複数の検出信号から生成する割込信号に優先順位を設定し、その優先順位を変更可能に構成した。
また、本発明では、動作環境の変化を検知するために設けられた多くのセンサ等から生成された各割込要因毎の検出信号を、必要に応じてグループ化し、グループ化した信号から所定の順位の割込信号を生成することにより、上記目的を達成可能である。
また、割込処理中に検出信号を受信した場合には、割込信号の出力を制限または禁止するとともにその検出信号の受信履歴を記憶しておき、現在の割込処理の終了後に、記憶している検出信号に対応する割込信号を出力するよう構成することにより、割込処理中の割込要求を適切に処理することが可能となる。以下にその態様を説明する。
【００１５】
本発明の第１の態様にかかる割込信号生成装置は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに各割込要因毎に異なる種類の検出信号を出力する割込検出部と、検出信号を受信したときに割込要因に対応する所定の順位の割込信号を出力する割込信号出力部と、割込要因に対応して出力される割込信号の順位の設定を変更可能に記憶する順位設定部とを含む割込処理部とを備えることを特徴とする。例えば、割込検出部では、入力信号をそのまま検出信号として出力し、割込処理部ではその割込検知信号の入力順に高い順位を付与して割込信号を出力することもできる。
また、必要におうじて順位設定部から、検出信号に対応して出力される割込信号の順位を変更することが可能である。
【００１６】
本発明の第２の態様にかかる割込信号生成装置は、前記順位設定部の前記順位の設定を、ＣＰＵ及び／又は外部入力装置からの信号に基づいて変更可能であることを特徴とする。
ＣＰＵからプログラムで変更することも、操作パネルからマニュアルで設定変更することも可能である。ＣＰＵからのアクセスは、バスラインを通じて行うことができる。
【００１７】
本発明の第３の態様にかかる割込信号生成装置は、割込検出部が、スリープモード中のＣＰＵのウェイクアップイベントの発生を検出して検出信号を出力する検出部を備えることを特徴とする。動作モードの変更のための割込みに適用可能である。
【００１８】
本発明の第４の態様にかかる割込信号生成装置は、割込要因の監視対象装置が稼動中であっても、前記割込要因に対する前記割込信号の順位の設定を随時変更可能であることを特徴とする。例えば、プリンタのような割込み監視対象の装置が稼働中でも所定の設定変更が可能であるので、動作モード変更時にＣＰＵからプログラムにより順位を変更するよう構成することができる。これにより、スリープモード、省電力モード、通常動作モード等の各動作モードに応じて、最適の順位設定に適宜変更可能となる。
【００１９】
本発明の第５の態様にかかる割込信号生成装置は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに各割込要因毎に生成される複数の検出信号を出力する割込検出部と、割込検出部から受信した複数の検出信号の一部又は全部を２以上のグループに分割するグループ設定部と、各グループに属する複数の検出信号が所定の条件を満足するときに所定の順位の割込信号を生成して出力する割込信号出力部とを有する割込処理部とを備えることを特徴とする。この構成により多くの割込要因を少ない割込信号で管理可能となる。所定の条件として、複数の割込要因が論理和、論理積で組み合わせることも可能である。
【００２０】
本発明の第６の態様にかかる割込信号生成装置は、割込処理部は、グループに属する複数の検出信号の論理和条件に基づいて該グループに割り当てられた前記割込信号を生成することを特徴とする。これにより、単純ではあるが、確実に割込要因を特定することが可能となる。
【００２１】
本発明の第７の態様にかかる割込信号生成装置は、割込処理部は、割込信号の１単位を構成するグループを確定するためのグループ設定部の設定及び変更を、ＣＰＵ及び／又は外部入力装置からの信号に基づいて制御可能であることを特徴とする。グループ構成の変更ができることで、特定の割込要因毎に出力される割込信号の順位を変更することが、可能となる。ＣＰＵからプログラムで変更することも、操作パネルからマニュアルで設定変更することも可能である。ＣＰＵからのアクセスは、バスラインを通じて行うことができる。
【００２２】
本発明の第８の態様にかかる割込信号生成装置は、割込処理部がさらに、各グループに対応する割込信号の順位を変更可能であることを特徴とする。これにより、グループ単位での順位の変更が可能となる。
【００２３】
本発明の第９の態様にかかる割込信号生成装置は、割込検出部が、スリープモード中のＣＰＵのウェイクアップイベントの発生を検出して検出信号を出力する検出部を備えることを特徴とする。動作モードの変更のための割込みに適用可能である。
【００２４】
本発明の第１０の態様にかかる割込信号生成装置は、割込要因の監視対象装置が稼動中であっても、グループ設定部のグループ設定及び／又は変更を行うことが可能であることを特徴とする。例えば、プリンタのような割込み監視対象の装置が稼働中でも所定の設定変更が可能であるので、動作モード変更時にＣＰＵからプログラムにより順位を変更するよう構成することができる。これにより、スリープモード、省電力モード、通常動作モード等の各動作モードに応じて、最適のグループ化、優先順位設定に変更することが変更可能となる。
【００２５】
本発明の第１１の態様にかかる割込信号生成装置は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに各割込要因毎に生成される複数の検出信号を出力する割込検出部と、割込検出部から受信した検出信号に基づき所定の割込み信号を出力する割込信号出力制御部と、複数の検出信号の受信状態を記憶する状態記憶部と、割込信号の出力後の割込み処理中に受信した検出信号を前記状態記憶部に記憶し、現在の割込み処理の終了後に、状態記憶部に記憶した検出信号に基づき対応する割込信号を出力させるよう状態記憶部及び前記割込出力部を制御する割込モード制御部とを備えることを特徴とする。これにより、簡単な構成により、割込み処理中にさらに割込みが発生した場合であっても、確実に的確な割込み処理を実行することが可能となる。
【００２６】
本発明の第１２の態様にかかる割込信号生成装置は、割込信号出力制御部が、割込検出部から受信した複数の検出信号の一部又は全部を２以上のグループに分割するグループ設定部と、前記グループ設定部により設定されたグループに属する前記複数の検出信号のいずれかを受信したときに該グループに割り付けられた所定の順位の割込信号を生成して出力する割込信号出力部とを備え、割込モード制御部が、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該検出信号を他の検出信号と区別可能に前記状態記憶部に記憶し、現在の割込み処理の終了後に、区別可能に記憶した検出信号に対応する割込信号を出力させるよう割込信号出力部を制御することを特徴とする。グループ化された検出信号の場合についての処理に対応するものである。同一グループ内で後続する割込が発生した場合にのみ、割込み処理終了後の処理を実行するように構成している。割込信号が同時に発生しても、異なる順位の割込信号は相互に独立して同時並列的に割込み処理可能であることもあるからである。
【００２７】
本発明の第１３の態様にかかる割込信号生成装置は、割込モード制御部が、割込み処理中に状態記憶部に記憶した検出信号または区別可能に記憶した検出信号に対応する割込信号の出力を、現在の割込み処理が終了するまで禁止することを特徴とする。これにより、ＣＰＵの制御を簡素化することが可能となる。
【００２８】
本発明の第１４の態様にかかる割込信号生成装置は、状態記憶部が、検出信号の受信内容を順次記憶する状態レジスタと、状態レジスタの記憶内容と同一内容を記憶しており状態レジスタの記憶内容の変更に応じて記憶内容を更新する履歴レジスタとを備えており、割込モード制御部は、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する検出信号を受信したときに、該受信した検出信号に対応する部分の履歴レジスタの更新を禁止し、割込み処理の終了後に状態レジスタと履歴レジスタとを比較して記憶内容が不一致の場合に不一致部分に対応する割込信号を出力するよう割込信号出力部を制御することを特徴とする。状態レジスタと履歴レジスタとにより、割込み処理中の割込み発生を確認する構成としたものである。
【００２９】
本発明の第１の態様にかかる割込信号の生成方法は、(a)各種設定条件の変更要求の有無、及び割込要因の発生を監視する監視工程と、(b)所定の設定変更要求に応じて、割込要因に対応して出力される割込信号の順位の設定を変更する工程と、(c)割込要因の発生を検知したときに順位の設定に従い、検知した割込要因に対応する順位の割込信号を出力する工程とを備えることを特徴とする。
【００３０】
本発明の第２の態様にかかる割込信号の生成方法は、監視工程(b)がさらに、動作モードの変更時に前記順位の設定を変更することを特徴とする。
【００３１】
本発明の第３の態様にかかる割込信号の生成方法は、(a)複数の検出信号の発生の有無を少なくとも１以上のグループ単位で監視する監視工程と、(b)グループに属する検出信号のいずれか１個について検出信号を受信したときに、該検出信号の属する前記グループに対応する割込信号を出力することを特徴とする。
【００３２】
本発明の第４の態様にかかる割込信号の生成方法は、記監視工程(a)がさらに、グループ構成の変更要求の有無を監視する工程と、グループ構成の変更要求に応じて前記グループを構成する検出信号を変更する工程とを含むことを特徴とする。
【００３３】
本発明の第５の態様にかかる割込信号の生成方法は、(a)割込要因の発生を監視して、割込要因が発生したときに検出信号生成して出力する工程と、(b)検出信号を受信したときに、該受信した前記検出信号に対応する割込信号を出力する工程と、(c)割込信号の出力による割込み処理の実行処理の開始により割込み処理モードに移行し、後続する割込要因の発生を監視する工程と、(d)割込モード中に割込要因が発生することにより検出信号を受信したときに受信した検出信号を記憶する工程と、(e)割込モードが終了したときに、割込モード中に後続の検出信号を受信したか否か確認し、検出信号を受信しているときには前記工程(b)〜工程(e)の処理を繰り返し、後続の検出信号を受信していないときには、監視工程(a)の処理に移行する工程とを備えることを特徴とする。
【発明の効果】
【００３４】
以上説明したように、本発明によると、動作環境の変化を検知するために設けられた多くのセンサ等からの受信信号に対応して出力される割込信号の順位を適宜変更可能な割込信号生成装置を提供することが可能となる。この場合には、装置の稼動中に動的に割込信号の順位の変更を行うよう構成することも可能である。また他の実施態様によると、必要に応じてグループ化し、受信した入力信号又はグループ化した信号毎に対応する順位の割込信号作成することも可能となり、さらに、通常動作時だけでなくスリープモード中のＣＰＵに対して割込信号を送出するように構成することも可能となる。
【００３５】
さらに他の態様によると、同時に複数の割込要因が発生した場合でも割込信号の出力を制御可能である。また、本発明の割込信号生成装置は、割り込み設定条件の自由度の高く、多種多様な設計使用に利用可能であるという効果を有する。
【図面の簡単な説明】
【００３６】
【図１】本発明の割込信号生成装置の第１の実施形態を示す図である。
【図２】本発明にかかる割り込み信号発生装置をプリンタに使用する場合の構成を示す図である。
【図３】割り込み信号を発生させて、ＣＰＵ１をスリープモードから動作モードに遷移させる要因を例示する図である。
【図４】本発明の割込信号生成装置の第２の実施形態を示す図である。
【図５】割込処理部の順位変更部として使用可能なエンコーダの例を示す図である。
【図６】本発明の割込信号生成装置の第３の実施形態を示す図である。
【図７】入力信号を所定のグループにまとめたグループ化の例を示す図である。
【図８】第３の実施形態の合成処理部として使用可能な、エンコーダを示す図である。
【図９】本発明の割込信号生成装置の第４の実施形態を示す図である。
【図１０】割込み処理中に同じグループの検出信号を受信した場合に対応可能な割込処理部１５−４を示す機能ブロック図である。
【図１１】割込信号生成装置の割込信号出力の処理手順と、ＣＰＵによる割込み処理の手順を示すフローチャートである。
【図１２】状態レジスタ７１、履歴レジスタ７２、割込モードレジスタ７３の設定内容の例を示す図表である。
【図１３】割込処理部の他の実施形態１５−５を示す機能ブロック図である。
【図１４】本発明に適用可能な割込検出部の２０の実施形態の構成を示す機能ブロック図である。
【図１５】本発明に適用可能な割込検出部の２０の第２の実施形態を示す機能ブロック図である。
【図１６】割込検出部の２０の第２の実施形態のクロック入力と、入力信号と、一致信号の関係を示すタイミングチャートである
【図１７】スリープモード中のプリンタのような通信端末装置６０を、本発明にかかる割込信号生成装置１０を使用して、ホスト装置５０から動作モードに遷移させる場合を説明するための機能ブロック構成図である。
【図１８】本発明に適用可能な割込検出部の２０の第３の実施形態にかかる割込検出部２０の機能ブロック図である。
【図１９】本発明に適用可能な割込検出部の２０の第４の実施形態の機能ブロック図であり、他の実施形態との共通部分を１部省略して示してある。
【図２０】第４の実施形態に係る図１９の割込検出部２０において、検出信号の出力を説明するタイミングチャートである。
【発明を実施するための形態】
【００３７】
以下、図面を参照しつつ、本発明の実施形態を詳細に説明する。
【００３８】
本明細書では、本発明の構成を説明するために、本発明をプリンタに適用した例を用いて説明するが、本発明はプリンタに限らず、ＣＰＵにより制御され複数の割込要因に基づき割込み処理を行う電子機器に適用可能である。
【００３９】
まず、図２を用いて、本発明が適用される装置の基本構成例を説明する。図２は、本発明にかかる割込信号生成装置をプリンタに適用した構成例を示すブロック図である。図中、１はＣＰＵであり、通常通常の動作モードと、省電力モード又はスリープモード等の動作モードを有している。ＣＰＵには、バスライン２５を介して、印刷機構２、インタフェース（Ｉ／Ｆ）７、ＲＯＭ８、ＲＡＭ９等が接続されている。
【００４０】
ＲＯＭ８及びＲＡＭ９には、ＣＰＵ１の制御用ソフトウェア（ファームウェアを含む）及びデータが記憶されている。ＣＰＵ１は、これらの制御用ソフトウェア等による制御の下、インタフェース７を介してホスト装置から送信された印刷命令及び印刷データに従って、印刷を行うように印刷機構２を制御する。
【００４１】
印刷機構２は、印刷機構駆動回路３及びこれに接続されたヘッド４、モータ５、及びプランジャ６等により構成されており、印刷機構駆動回路３がＣＰＵ１の指示に基づき各部を制御する。
【００４２】
ＣＰＵ１には更に、割込信号生成装置１０が接続されている。割込信号生成装置１０は、エラーの発生等の割込要因に応じて割込信号を生成して、割り込み信号ライン２６を介して、ＣＰＵ１の割込ポートに対応する割込信号を出力する。
さらに、割込信号生成装置１０は、ＣＰＵ１がスリープモードのときであっても動作するように構成されている。スリープモード中のＣＰＵ１の割込ポートに割込信号が入力されると、ＣＰＵ１は起動し、スリープモードから動作状態に戻すために、各種割込み処理を実行する。
【００４３】
本発明は、ＣＰＵ１に対する割込み処理要求信号の生成に関するものであり、通常動作モード、省電力モード、スリープモードとは無関係であるが、割込要因には、通常動作モード、省電力モード、スリープモード等の電子機器の動作モードに関連するものとこれらの動作モードとは無関係のものが存在する。以下の説明では、必要に応じて、スリープモードにおける割込み処理についても説明する。
【００４４】
ＣＰＵ１は、省電力のために一定時間以上動作しない場合には、動作状態からスリープモードに移行する。どのような状況下で、スリープモードに遷移させるかは、その装置の種類、使用形態等に応じて決定することができる。モードの遷移に関しては、前述の特開平５−３２０１８号公報に詳しく説明されている。本発明は、割込信号の生成に関するものであるので、動作モードからスリープモードへの遷移については、これ以上の説明はしない。必要があれば、上述の公報を参照されたい。
【００４５】
ＣＰＵが動作中にエラーの発生等の所定の状況変化が発生した場合には、その変化に対処するために割込み処理を実行する必要がある。例えば、電源に異常が発生した場合等には、ただちに所定の警告を発する必要がある他、必要に応じて電源の切断等の処置が必要になる。また、インクタンクが外されたり、カバーが開けられたりした場合にも、その状態に応じて適切に処理することが必要となる。これは、ＣＰＵ１がスリープモード状態にある場合でも同様であり、この場合にはＣＰＵ１を起動して動作モードに復帰させる必要がある。どのような状況変化があったときに割込み処理を行い、あるいはＣＰＵを動作モードに復帰させるかは、その装置の基本的な設計思想若しくは装置にどのような機能を付与させるかにより異なってくるため、割込要因及びその優先順位の設定及び変更、は自由度が高いことが望ましい。
【００４６】
図２では、電源異常検出１１、プリンタカバーオープン１２、印字用紙が無くなくなったときの印字用紙無しの検知１３、インク無しの検知１４等の信号が、割込信号生成装置１０に入力されることが例示されている。例えば、スリープモード中にインクタンクが外された場合には、インクタンクが取り外された旨の警告を発する他、印刷命令があっても印刷を開始しないように制御する必要がある。電源電圧が高くなった場合など電源異常が発生した場合には、他の正常な部分を壊さないようにするために、直ちに電源を切り離す等の処置が必要になる。
【００４７】
図３に、割込み信号を発生させる要因を、割込信号生成装置１０への入力信号１〜ｎとして例示する。スリープモード時にこれらの要因が発生したときには、割り込み信号を発生させることによりＣＰＵ１をスリープモードから動作モードに遷移させるための割込み処理と割込み原因に対処するための割込み処理の双方を実行する必要がある。図３にあるように、基本的には、電源電圧の異常、その他各種センサにより異常状態を検知した場合などに割り込み信号を発生して、ＣＰＵを動作モードに遷移させることが多い。この他、図３にもあるように、スリープモード中にオペレータがペーパーフィード等のスイッチを押下する等の動作指示があった場合も割り込み原因となる。尚、図３では、ＣＰＵ１をスリープモードから動作モードに遷移させる要因を示しているが、これらの要因はスリープモード時だけでなく動作モードにも割込要因となる。但し、ＣＰＵ１の動作モード時には、図３に記載した要因だけでなく、例えば、ウォッチドッグタイマのタイムアウト等もＣＰＵ１への割込要因となる。ウォッチドッグタイマはＣＰＵ１の暴走を検知するためのタイマであり、暴走状態が発生したら、割込み処理によりＣＰＵ１の暴走を停止させ、所定の対応処理を実行するものである。
【００４８】
尚、図３に示されているスリープモードからの割込要因は例示であり、この他の要因により割り込み信号を発生させることもできる。例えば、後述するように、ホスト装置からスリープモード中の装置にウェイクアップ命令を出力することにより、割込信号を生成させてスリープモードから動作モードに遷移させるよう構成することも可能である。
【００４９】
次に図１を用いて、本発明の割込信号生成装置１０の第１の実施形態１０−１を説明する。プリンタの各部に設けられたセンサ等から入力信号１〜ｎのそれぞれが割込信号生成装置１０−１の対応する割込検出部２０に入力される。割込検出部２０は、入力信号１〜ｎが所定の条件を満たしているときに限り検出信号を出力するように構成しても、入力信号１〜ｎを受信すると無条件に検出信号を出力するように構成してもよい。
【００５０】
検出信号は割込処理部１５に出力される。割込処理部１５では、予め設定された条件にしたがって、受信した検出信号を所定の順位の割込信号１〜ｎとして出力する。このような構成とすることにより、入力信号１〜ｎと割込検出部２０の接続等の物理的な接続とは無関係に、入力信号に対応する割込信号の順位を設定することが可能となる。例えば、物理的には最低位の端子（割込み検出部２０）に入力された検出信号ｎを、最高位の順位の割込信号１として出力すること等が可能となる。
【００５１】
各割込信号１〜ｎは割込ライン２６を介して、ＣＰＵ１の割込ポートにそれぞれ入力される。ＣＰＵ１では、入力ポート毎に優先度が決められており、入力ポートに応じた優先順位で、割込み処理が実行される。ＣＰＵ１の内部で、入力ポートの優先順位を変更することにより、割込み処理の優先順位を変更することも可能である。
【００５２】
割込処理部１５及び割込検出部２０は、ＣＰＵ１からバスライン２５を通じて制御情報を受け取り、受信した制御情報に基づき割込検出及び、割込信号の順位の設定又は変更を行うようにすることも可能である。
【００５３】
図４にさらに具体的な本発明の割込信号生成装置の第２の実施形態１０−２を示す。第２の実施形態１０−２においては、割込処理部１５−１が、制御部１７、状態記憶部１８、順位変更部１９、及び割込信号生成部２９により構成されている。検出信号１〜ｎはまず、割込処理部１５−１の順位変更部１９に入力される。順位変更部１９は入力と出力の端子を切り替えるマルチプレクサ、又はエンコーダ等により構成することができる。
【００５４】
図５を用いてさらに詳細に説明する。図５は、順位変更部１９をエンコーダで構成した場合の例を示す図である。割込信号１〜ｎの入力は、各エンコード部４５に夫々入力される。順位変更部１９は、ｎ個のエンコード部１９−１〜１９−ｎから構成されている。図５の例では、解かりやすくするために、第１番目のエンコード部１９−１と第ｎ番目のドコード部１９−ｎのみを記載している。以下の説明ではエンコード部１９−１のみを引用するが、各エンコード部１９−１〜１９−ｎは特に説明する部分を除き、同じ構成及び機能を有している。
【００５５】
エンコード部１９−１は入力信号の数ｎと同じビット数ｎを記憶可能な選択レジスタ４６を有している。選択レジスタ４６の各ビット１〜ｎは、各エンコード部４５に入力される割込信号１〜ｎと１対１で対応するようにアンドゲートＡ１〜Ａｎに入力され、アンドゲートＡ１〜Ａｎからは入力信号である割込信号と選択レジスタの出力ビットとの論理積が出力される。
【００５６】
従って、選択レジスタ４６の１〜ｎビット中の特定の１ビットだけをオン“１”にしておくと、オンになっているビットに対応するアンドゲートだけが、アンド条件を満足できる状態となり、その他のアンドゲートは検出信号の有無にかかわらず、アンド条件を満足しない。入力されるｎ個の検出信号１〜ｎの夫々を、ｎ個のエンコーダ部１９−１〜１９−ｎのいずれか一つのみに割り当てるように、選択レジスタ４６のビットを設定することにより、検出信号と割込信号とを1対１に対応付けることが可能となる。また、選択レジスタ４６の設定ビットをエンコーダ１９−１〜１９−ｎの相互間で入れ換えることにより、検出信号に対応する割込信号の順位を入れ換えることが可能となる。従って、選択レジスタ４６は、検出信号から生成される割込信号の順位設定部として機能する。
【００５７】
図５の例では、第１のエンコード部１９−１では、選択レジスタ４６の第３番目のビットのみが“１”に設定されている。従って、検出信号３が入力されたときのみ、アンドゲートＡ３の条件が満たされ、オアゲート４７から“１”が出力される。これにより、検出信号３から、順位変更部１９の第１番目の端子から信号が出力される。第1番目の端子からの出力信号は、割込信号生成部２９により最高位の割込信号１としてＣＰＵに出力される。同様に、他の検出信号１〜ｎを、互いに重複しないように各エンコード部１９‐１〜１９‐ｎの選択レジスタ４６の各ビット１〜ｎに設定することにより、検出信号（すなわち入力信号）により生成される割込信号の順位を設定することが可能となる。
【００５８】
以上の説明からわかるように、入力信号と出力信号とをどのように設定するかは、予め選択レジスタ４６に所定の値を設定することにより行う。選択レジスタは、外部から設定及び変更可能に構成することが好ましい。図４では、制御部１７により制御する構成を示している。操作パネル等の入力装置又はＣＰＵ１から制御部１７に所定の制御信号を送信し、選択レジスタ４６の設定及び変更を行う。
【００５９】
順位変更部１９により入力の順番と出力の順番を入れ換えられた検出信号１〜ｎは、割込信号生成部２９に入力される。割込信号生成部２９では、例えば、入力端子の並び順に高い順位の割込信号１〜ｎとして出力する。以上の構成により、検出信号１〜ｎに対応する割込信号の順位を変更することが可能となる。尚、ＣＰＵ１は、バスライン２５を介して制御部１７へ制御データを送信することにより、制御部１７を介して各部１８、１９、２９を制御することが可能である。
【００６０】
状態記憶部１８は、割込処理部１５が検出信号１〜ｎを受信したときに、どの検出信号を受信したかを記憶しておくものである。これによりＣＰＵ１が割込み処理の過程で、状態記憶部１８の内容を読み出すことにより、割込原因を確認することが可能となり、割込原因に対応した適切な割込み処理を実行することできる。
【００６１】
図６を用いて、本発明の割込信号生成装置の第３の実施形態１０−３を説明する。図６の第３の実施形態１０−３においては、割込処理部１５−３が、合成処理部１６、制御部１７、状態記憶部１８により構成されている。制御部１７、状態記憶部１８は第２の実施形態１０−２と同じであるので、合成処理部１６のみを説明する。合成処理部１６は、検出信号１〜ｎを所定の条件の下にグループ化し、入力信号より少ない数の割込信号１〜ｍとして出力するものである。どのような条件でグループ化するかは、制御部１７により制御する。制御部１７は、上述の通り、バスライン２５を介してＣＰＵ１から制御可能である。
【００６２】
本発明の第３の実施形態１０−３によると、多数の検出信号１〜ｎを所定の条件でグループ化して、検出信号１〜ｎの数より少ない割込信号１〜ｍとして出力することが可能となる。通常、ＣＰＵには割込ポートが８個程設けられているが、割込要因となる入力信号は４０個を超えることもある。このように入力信号が多い場合でも、入力信号をグループ化し、所定のグループ単位で割込信号の順位を割り当てることにより、適切な割込み処理が可能となる。
【００６３】
図７に複数の入力信号をグループ化した例を示す。この例では、割込信号１から順番に数字が大きくなるに従ってＣＰＵが行う割込み処理の優先順位が低くなるものとする。電源電圧異常は、機器を壊すおそれがあること、及び正常動作が不能となることから、通常最高位のプライオリティ（優先順位）の割込み処理がＣＰＵによって行われる。図７の例でも、電源電圧異常、リセット入力、ウォッチドッグタイマが最高位の優先順位となっている。尚、図７では、ウォッチドッグタイマも検出信号として示してあるが、スリープモード時にはＣＰＵの暴走はありえないので、ウォッチドッグタイマのタイムアウトによる割込は通常発生しない。したがって、スリープモード時には、ウォッチドッグタイマ入力の割込信号の順位を下げて、割込要因の優先順位を下げるように、スリープモード移行処理において優先順位を変更するように構成することも可能である。このように、本発明では、電子機器の停止時に静的に優先順位等を設定し又は変更するだけでなく、動作時においても動作状況に応じて優先順位等の設定又は変更（動的設定変更と称する）することも可能である。
【００６４】
２番目の優先順位として、インクカートリッジオープン、印刷用紙無し等の印刷処理に支障を来す状況の発生が割り当てられている。その次の順位には、オペレータがペーパーフィードボタンを押下した場合、センサによるホームポジションの検知と続いている。これらは、例示であり、どのような優先順位を付与するかは、その製品の設計思想に基づき変更可能である。また、この例では、４つのグループに分けているが、必要に応じて、また、ＣＰＵ１のポート数に応じてそのグループ分けの数を設定することが可能である。
【００６５】
図８に、割込信号生成装置の第３の実施形態１０−３に用いられる合成処理部１６を、ｍ個のエンコード部１６−１〜１６−ｍにより構成した実施形態を示す。図８のエンコード部１６−１〜１６−ｍも、図５に示した順位変更部１９として示したエンコード部１９−１等とほぼ同様のエンコーダを使用することができる。異なるのは、以下の２点である。第１に、順位変更部１９の場合には、入力される検出信号１〜ｎと同じ数であるｎ個のエンコード部１９−１〜１９−ｎが設けられているのに対し、合成処理部１６では、検出信号の数であるｎ個より少ないｍ個の出コード部１６−１〜１６−ｍが設けられている点が異なっている。第２に、選択レジスタ６２に設定される設定ビット“１”が１個だけでなく、グループ化しようとする入力の数だけ設定される点も異なる。
【００６６】
例えば図８に示す第１のエンコード部１６−１の選択レジスタ６２では、ビット２、３、４が“１”に設定される。従ってアンドゲートＡ２、Ａ３、Ａ４がイネーブル状態になっており、検出信号２、３、４のいずれが入力されてもオアゲート６３から“１”が出力される。これにより、３個の検出信号２〜３が第１のエンコード部１６−１により１個の割込信号である割込信号１が出力される。従って、選択レジスタ６２はグループ設定部として機能し、アンドゲートＡ１〜Ａｎ及びオアゲート６３は割込信号出力部として機能する。
【００６７】
このように検出信号１〜ｎがいくつかのグループにまとめられるので、エンコード部はｎ個より少ない数のｍ個で足りる。検出信号をどのようにグループ化するかは、予め選択レジスタ６２に所定の値を設定することにより行う。選択レジスタの設定は、図４と同様に制御部１７により制御可能である。また、前述した通り、制御部１７はバスライン２５を介して、ＣＰＵにより制御可能であるので、選択レジスタ６２の設定をＣＰＵ１又は外部操作パネル等で制御するように構成することも可能である。
【００６８】
さらに図９を用いて本発明の割込信号生成装置の第４の実施形態１０−４を説明する。第４の実施形態１０−４の割込処理部１５−３では、第２及び第３の実施形態の順位変更部１９と合成処理部１６とが組み合せられている。割込処理部１５−３の構成により、優先順位の設定の変更が容易になるとともに、複数の入力信号をグループ化して割込信号を発生させることも可能となる。
【００６９】
次に図１０を用いて、割込み処理中にさらに検出信号を受信した場合の処理について説明する。図１０は、割込み処理中に同じグループの検出信号を受信した場合に、適切に割込み処理を実行することのできる割込処理部１５の実施形態１５−４を示す機能ブロック図である。この割込処理部１５−４は、説明を容易にするため、合成処理部１６−２、制御部１７、状態記憶部１８−１割込モードレジスタ７３とを備える構成としている。
状態記憶部１８−１は、状態レジスタ７１及び履歴レジスタ７２とから構成されている。状態レジスタ７１は、検出信号の受信状態を各検出信号毎に記憶する。
履歴レジスタ７３は、通常状態のときに状態レジスタ７１の内容を記憶するレジスタであり、ＣＰＵの割込み処理時にＣＰＵからバス２５を介して読み取られる。割込モードレジスタ７３は、割込み処理状態が発生したときに、ＣＰＵからの制御信号に基づき割込みモード移行したことを記憶するレジスタである。割込みモードへの遷移は各割込信号毎に管理される。
【００７０】
割込が発生すると、ＣＰＵから割込モードへの移行指示が出され、割込モードレジスタが設定される。割込モードは、割込信号単位で管理されるので、現在割込み処理を続行している割込信号ライン以外のグループには影響を与えず、割込み処理中以外のラインは、通常モードで動作する。割込モードレジスタ７３が設定されると、状態レジスタ７１及び履歴レジスタ７２は、制御部１７により次のように制御される。
【００７１】
割込み処理中に割込み処理中のグループ以外の検出信号を受信した場合には、通常モードと同様に状態レジスタを更新し、同じ内容を履歴レジスタ７２にも記憶する。割込み処理中と同一グループの検出信号を受信した場合には、状態レジスタ７２は更新するが、状態レジスタ７１の内容は履歴レジスタ７２には記憶されない。そのため、状態レジスタ７１の内容と履歴レジスタ７２の内容が異なることになる。
【００７２】
割込み処理が終了し、ＣＰＵから割込モードの解除指令を受信すると制御部１７は、状態レジスタ７１の内容と履歴レジスタ７２の内容を比較する。比較の結果、内容が異なる場合には、制御部１７から合成処理部１６−２に制御信号を出力して、合成処理部１６−２から対応する割込信号を送信する。これにより、再び割込み処理が実行され、同様の処理が繰り返される。
【００７３】
図１１は割込信号生成装置の割込信号出力の処理手順と、ＣＰＵによる割込み処理の手順を示すフローチャートであり、図１２は状態レジスタ７１、履歴レジスタ７２、割込モードレジスタ７３の設定内容の例を示す図表である。図１１のフローチャートと図１２の図表を用いて、割込信号出力とＣＰＵの処理手順の例を説明する。尚、この説明においては、説明を簡単にするため、４種類の割込信号１〜４のみ使用するものとする。
【００７４】
まず、検出信号を受信すると（Ｓ１０１；Ｙｅｓ）、割込信号が出力し（Ｓ１０２）、状態レジスタ７１の対応ビットＦxを“１”にセットし、その後状態レジスタ７１の内容を履歴レジスタ７２に転送する。今、検出信号３を受信したとすると、図１２（ａ）及び（ｂ）に示すように状態レジスタ７１及び履歴レジスタ７２のビット３がそれぞれ“１”にセットされる。図１２の図表に示すように検出信号３は割込信号１のグループに属するので、ＣＰＵには割込信号１が出力される。
【００７５】
ＣＰＵでは、割込信号の受信により（Ｓ２０１；Ｙｅｓ）、該当割込ポート（ポート１）を無能化して、以後の割込みの受付を禁止する（Ｓ２０２）。次に、割込信号を送信した割込信号生成装置に割込モードへの移行指示を出力する（Ｓ２０３）とともに、履歴レジスタ７２の内容を読み出して（Ｓ２０４）割込要因の確認、対応処理を実行する（Ｓ２０５、Ｓ２０６）。
【００７６】
割込信号生成装置は、ＣＰＵから割込モードへの移行指示を受信すると（Ｓ１０４；Ｙｅｓ）、図１２の（ｃ）に示すように、割込モードレジスタ７３の割込信号１を割込モード“１”に設定する（Ｓ１０５）。これにより制御部１７は、状態レジスタ７１のビット１〜５の内容の履歴レジスタ７２への転送を制限する（Ｓ１０６）。すなわち、割込信号１のグループに属する検出信号１〜５を受信しても、ビット１からビット５については履歴レジスタ７２には転送しない。
【００７７】
割込み処理中にさらに割込みがあると（Ｓ１０７；Ｙｅｓ）、その割込みが割込信号１のグループ以外の検出信号である場合には、再び工程Ｓ１０２〜工程Ｓ１０７及びＣＰＵの工程Ｓ２０１〜工程Ｓ２０６を繰り返す。その割込みが割込信号１のグループの検出信号である場合、工程Ｓ１０２〜工程Ｓ１０７の処理が実行されるが、今、割込モード中であるので、状態レジスタ７１は更新されるが履歴レジスタ７２の更新は制限される。したがって、例えば検出信号１を受信したとすると、状態レジスタ７１は図１２の図表（ｄ）のようにビット１及び３が “１”に設定されるが、履歴レジスタ７２は図１２の（ｂ）に示すようにビット３のみが“1”に設定された状態のままである。
【００７８】
尚、工程Ｓ１０２により割込信号生成装置からＣＰＵに割込信号１が出力されることになるが、今、ＣＰＵの割込ポート１は無能化されているので、ＣＰＵによる割込み処理は行われない。このように割込み処理の途中で同じレベルの割込み処理を実行するには、複雑な制御が必要となるからである。さらに、図１１のフローチャートでは、割込み処理中と同じ検出信号が発生しても、割込信号を出力する構成を示したが、後述するようにこのような場合には、割込信号１を出力しないように構成することも可能である。
【００７９】
ＣＰＵによる割込み処理が完了すると（Ｓ２０６；Ｙｅｓ）、ＣＰＵは割込みモードのクリア要求を行い（Ｓ２０７）、割込ポート（ポート１）の受信を可能にして（Ｓ２０８）、当該割込み処理を終了する。
【００８０】
割込信号生成装置では、割込モードのクリア要求を受信すると、状態レジスタ７１と履歴レジスタ７２の内容を比較する（Ｓ１０９）。これらの内容が同じであれば（Ｓ１１０；Ｙｅｓ）、割込み処理中に同じグループ内の検出信号を受信していないので、全ての関連レジスタ等をリセットして、当該割込み処理を終了する。今、割込み処理中に検出信号１を受信しているので、状態レジスタ７１と履歴レジスタ７２の内容は、図１２の（ｂ）と（ｄ）に示す通りに異なっている。この場合（Ｓ１１０；Ｎｏ）には、さらに工程１０２に戻り、検出信号１に対応する割込信号１を出力するとともに、前述と同様の処理（工程Ｓ１０２〜Ｓ１１１）が実行される。ＣＰＵでも、割込ポートは既に受信可能状態となっており、前述したような割込み処理（工程Ｓ２０１〜Ｓ２０８）が実行される。
【００８１】
図１３は、割込み処理中に同じグループの検出信号を受信した場合に、適切に割込み処理を実行することのできる割込処理部１５の他の実施形態１５−５を示す機能ブロック図である。図１３では、図１０の合成処理部１６−２における割込モード出力制御部の構成をわかりやすくするため、割込モード出力制御部７５を合成処理部の外に取り出した構成としている。すなわち割込モード出力制御部７５を図６、８等に示した合成処理部１６の内部に設けることも、合成処理部１６の外に設けることも可能である。合成処理部１６の内部に割込モード出力制御部７５を設けることにより図１０の合成処理部１６−２となる。図１３でも割込信号は１〜４の４種類を使用する例を示している。
【００８２】
図１３では、アンドゲート７６及びインバータ７７は１個しか示していないが、それぞれ４個存在するものとし、割込モードレジスタ７３の各出力端子１〜４がそれぞれのアンドゲート７６及びインバータ７７に別々に接続されているものとする。また、制御部１７からの状態レジスタ７１と履歴レジスタ７２の比較結果はライン７４を介して全てのアンドゲート７６に共通に接続されるものとする。
【００８３】
割込モードレジスタ７３の所定の割込信号対応部分、例えば割込信号１に相当する割込みモードが設定されると、割込モードレジスタ７３の出力端子１が“ハイ”または“１”となる。割込モードレジスタ７３の出力端子１が“ハイ”になるとインバータ７７を介して割込信号１のアンドゲートＢ１の1入力が“ロー”になり、割込モード期間中、割込信号１の出力はアンドゲートＢ１により無能化される。
【００８４】
一方、モードクリア要求を受信すると制御部１７は状態レジスタ７１と履歴レジスタ７２の内容を比較し、比較結果が不一致の場合にはライン７４を“ハイ”にする。この段階では割込モードレジスタ７３はクリアされておらず出力端子１からは“ハイ”が出力されている。そのため割込モードレジスタ７３の出力端子１に相当するアンドゲート７６の入力のみがアンド条件を満足し、“ハイ”を出力する。これにより、割込みモードレジスタの出力端子に対応する割込信号１のオアゲートＣ１の1入力が“ハイ”となり、割込信号１が出力される。その後、制御部１７により割込モードレジスタ７３がクリアされるよう構成しても、そのまま割込みモードをそのまま保持するよう構成してもよい。比較結果が一致した場合には、割込モードレジスタ７３はクリアされる。
【００８５】
次に、以上の本発明の割込信号生成装置に使用する割込検出部２０の実施形態を説明する。尚、以下の説明では、割込処理部１５として、図６に示す割込処理部１５−２を用いた構成例を示しているが、これは説明を簡単する便宜上のためであり、その他の実施形態にかかる割込処理部を使用することも可能である。
【００８６】
図１４は、本発明にかかる割込信号生成装置１０に使用可能な割込検出部の２０の第１の実施形態の構成を示す機能ブロック図である。割込信号生成装置１０には、図２の電源異常検知１１、カバーオープン１２等のセンサの出力信号が入力信号１〜ｎとして入力される。割込信号生成装置１０には、各入力信号１〜ｎに対応してそれぞれ割込検出部２０が合計ｎ個設けられている。
【００８７】
各割込検出部２０は同じ構成のものを使用可能であるので、図１４では入力信号１に対応する割込検出部２０についてのみ内部構成が示されている。
【００８８】
割込検出部２０は、パターン生成部２１、パターン比較部２２及び検出信号生成部２３とから構成されている。パターン生成部２１では、入力信号から所定の信号パターンを生成する。パターン生成部２１における信号パターンの生成は、バスライン２５を介してＣＰＵから設定される条件等によって制御される。パターン生成部２１で生成された信号パターンは、パターン比較部２２に出力される。
【００８９】
パターン比較部２２では、パターン生成部から受信した信号パターンと所定のパターンデータとを比較する。比較する所定のパターンデータは、バスライン２５を介してＣＰＵ１から送信される。パターン比較部２２による比較の結果、信号パターンが所定のパターンデータと一致すると、一致信号が検出信号生成部２３と状態記憶レジスタ２４に出力される。
【００９０】
状態記憶レジスタ２４は、出力された一致信号を対応するビット信号として記憶する。ＣＰＵ１は、割り込み発生後の処理ルーチンで、この状態記憶レジスタの内容を読み取ることにより、割り込み原因を知ること及びどのようなエラーが発生しているのか等の装置の状態を確認することが可能となる。尚、割込処理部１５内に状態記憶部１８を設ける場合には、この状態記憶レジスタ２４は設ける必要はない。
【００９１】
検出信号生成部２３では、一致信号を受信したときに検出信号を割込処理部１５に送出するかどうかを確定する。すなわち、一致信号を受信したときに直ちに検出信号を出力するのではなく、所定の条件を満足している場合にのみ、検出信号を出力する。これは、各種の入力信号１〜ｎのいずれかが所定の信号パターンであったとしても、さらに他の条件を満足しない限り、スリープモードを維持するようにすることを可能にするものである。この場合には、検出信号は出力されないためにＣＰＵ１への割り込みは行われないが、一致信号が発生した状態は、状態記憶レジスタ２４に記憶される。従って、後刻割り込みが発生したときに、その事実をＣＰＵ１から確認可能であり、そのエラー状態等に応じた適切な処理を行うことが可能である。
【００９２】
検出信号を出力するための条件は、バスラインを介してＣＰＵ１から設定可能であり、具体的な条件はその装置の基本設計事項として、自由に設定可能である。
【００９３】
このように，入力信号から信号パターンを生成する条件の設定、一致信号を出力するためのパターンデータの設定、及び検出信号を発生するための条件の設定を、ＣＰＵ１から自由に設定可能である。そのため、各種装置の多種多用な実際の使用環境に合わせて、状況変化の時間軸スケールの相違及び複雑な条件等を考慮した正確な割りこみ処理を行わせることが可能となる。
【００９４】
次に図１５を用いて、本発明の割込検出部２０の第２の実施形態を説明する。
図１５は、本発明に適用する割込検出部２０の第２の実施形態の機能ブロック図である。図１５においては、パターン生成部２１がクロック選択部３１及びシフトレジスタ３０により構成されている。クロック選択部３１には、分周器３７で複数のクロックに分周されたクロックが入力され、クロック選択情報記憶部３２の出力により使用するクロックが選択される。このようにクロックを選択可能とすることにより、検知しようとする事象に対応する適切なクロックを使用して、信号パターンを生成することが可能となる。
【００９５】
どのクロックを使用するかは、ＣＰＵ１から予めクロック選択情報記憶部３２に設定され、必要に応じて、ＣＰＵ１から適宜変更可能である。また、分周器３７を割込検出部２０の外に設けたのは、入力信号１〜ｎに共通して１個の分周器３７を設けることにより、全ての割込検出部２０に複数のクロックを提供することができるようにするためである。
【００９６】
シフトレジスタ３０には、入力信号１が入力され、選択されたクロック信号により、順次シフトされる。図１５では、４段のシフトレジスタを使用しているが、４段以上又は以下のシフトレジスタを用いることも可能である。シフトレジスタ３０の各出力段の出力信号は信号パターンとして、パターン比較部２２に出力される。
【００９７】
パターン比較部２２は、一致検出部３３とパターンデータ記憶部３４とから構成されている。一致検出部３３は、予めＣＰＵ１からパターンデータ記憶部３４に設定されたパターンデータとシフトレジスタ３０の各出力段からのパラレル出力とを比較し、一致した場合に一致信号を状態記憶レジスタ２４及び検出信号生成部２３に出力する。
【００９８】
検出信号生成部２３は、状態変化検出部３５と、割込設定レジスタ３６とからなる。状態変化検出部３５は割込設定レジスタ３６に記憶している条件を満たしているときに検出信号を出力する。割込設定レジスタ３６への条件設定は、バスライン２５を介してＣＰＵ１から制御される。
【００９９】
図１６を用いて、シフトレジスタ３０の出力と、一致信号の関係を説明する。
図１６は、クロックと、入力信号１と、一致信号の出力タイミングを示すタイミングチャートである。尚、この例では、パターンデータとして“１１１０”が設定されているものとする。
【０１００】
今、所定のクロックが選択され、入力信号１が図１６に示すタイミングでハイレベル（以下“Ｈ”と表示する）になったとする。尚、本シフトレジスタは、クロックの立ち上がりでシフト入力データを順次シフトするものとする。クロック “０”の立ち上がりタイミングでは、入力信号１はローレベル（以下“Ｌ”と表示する）であるので、シフトレジスタ３０は入力信号の変化を捉えることはできない。従って、この時点では、シフトレジスタ３０の各出力段の出力は“００００”である。
【０１０１】
次のクロック信号であるクロック“１”の立ち上がり時には入力信号１は“Ｈ”になっているので、シフトレジスタ３０の出力段１から“Ｈ”が出力される。
従って、この時点におけるシフトレジスタ３０の各出力段の出力は“１０００”である。
【０１０２】
クロック“２”の立ち上がり時にも入力信号１は入力されているので、このタイミンでは、出力段１及び３の出力が“Ｈ”になり、シフトレジスタ３０の各出力段の出力は“１１００”となる。
【０１０３】
同様にして、クロック“３”のときのシフトレジスタ３０の各出力段の出力は “１１１０”となる。これは、パターンデータ“１１１０”と一致するので、サンプリング信号のタイミングで、一致信号が“Ｈ”となる。
【０１０４】
クロック“４”のタイミングでは、シフトレジスタ３０の各出力段の出力は“１１１１”となるので、パターンデータ“１１１０”と一致せず、一致信号はこれ以後出力されない。このような構成とすることにより、以下のような効果を得ることができる。まず、一定期間以上連続して信号の入力が無い限り一致信号は出力されないために、ノイズによる誤動作を防止できる。また、パターンデータ “１１１０”と一致した場合だけ一致信号を出力する構成であるので、入力信号が長期間継続している場合でも一致信号は、パターンが一致している所定の期間だけした出力されず、割込信号が連続して出力されることを防止することができる。
【０１０５】
逆に一致信号を連続して出力させておき、検出信号生成部２３において、他の条件で割込信号の発生を制御したい場合には、一致信号が発生したらその状態をラッチ又はフリップフロップ等で保持するように構成することも可能である。また、パターンデータを“１１１１”と設定しておくことにより、一致信号を保持させることもできる。パターンデータが“１１１１”に設定されていると、図１６の最下段に示す通り、シフトレジスタ３０の全出力が“Ｈ”になった後、入力信号１が“Ｈ”である限り、一致信号が継続して出力される。このようにパターンデータを“１１１１”と設定して一致信号を連続出力させる場合には、入力信号１〜ｎが無くなると、自動的に一致信号も出力されないので、ラッチ等に記憶させる場合と異なりリセット動作が不要であるという効果も有する。
【０１０６】
このように、信号パターンとパターンデータとが一致するときに検出信号を出力する構成とすることにより、ホスト装置５０からの制御データにより、ＣＰＵ１をスリープモードから動作モードに遷移させることが可能となる。
【０１０７】
図１７を用いて説明する。図１７は、スリープモード中のプリンタのような通信端末装置６０を、本発明にかかる割込信号生成装置１０を使用して、ホスト装置５０から動作モードに遷移させる場合を説明するための機能ブロック構成図である。図１７には、ホスト装置５０と、ホスト装置に接続された通信端末装置（例えばプリンタ）６０を示しており、通信端末装置６０は本発明にかかる割込信号生成装置１０を有している。図１７では、説明を簡単にし、説明の要点をわかりやすくするため、通信端末装置６０の詳細部分は省略してある。今、通信端末装置６０の割込信号生成装置１０のパターンデータ記憶部３４（図１５）にはパターンデータ“１１１０”が記憶されているものとする。
【０１０８】
ホスト装置５０が通信端末６０のＣＰＵ１を動作モードに遷移させることを希望する場合、ホスト装置５０はデータ“１１１０”を通信端末６０に送信する。
通信端末６０のレベル変換部２７、プロトコル変換部２８及び割込信号生成装置１０は、ＣＰＵ１がスリープモード中であっても、動作している。従って、ホスト装置５０から送信されたデータ“１１１０”は受信され、レベル変換器２７、プロトコル変換器２８を経て、割込信号生成装置１０のシフトレジスタ３０に入力される。
【０１０９】
今、パターンデータ記憶部３４にはパターンデータ“１１１０”が記憶されているので、一致検出部から一致信号が出力される。これにより、検出信号生成部２３から割込処理部１５に検出信号が出力される。割込処理部１５では、検出信号に基づき割込信号を作成し割込ライン２６を介してＣＰＵ１は割込ポートに割込信号を送出する。これにより、ＣＰＵ１は割込み処理ルーチンによりスリープモードから動作モードに遷移する。
【０１１０】
ホスト装置５０からの受信データ“１１１０”を、シフトレジスタ３０に設定する方法は、当業者にとって周知の各種の手段を採用可能であるが、ここでは、シリアルインターフェースの場合と、パラレルインターフェースの場合とに分けた代表的な例を説明する。
【０１１１】
シリアルインターフェースの場合、プロトコル変換部２８から、受信データを所定のクロックに同期させてシリアルデータとしてシフトレジスタ３０に出力するよう構成する。このとき、クロック選択部３１により、シリアルデータの同期クロック（図示せず）をシフトクロックとして選択することにより、プロトコル変換部２８から受信データがシリアルにシフトレジスタ３０に入力される。パラレルインターフェースの場合には、例えば、受信データ“１１１０”をシフトレジスタ３０にパラレルに直接入力するように構成する。
【０１１２】
図１８を用いて、本発明に適用可能な割込検出部２０の第３の実施形態を説明する。図１８は、第３の実施形態にかかる割込検出部２０の機能ブロック図を示す。図１８の割込検出部２０と図１６の割込検出部２０の違いは、図１８の割込検出部２０においては、クロック選択部３１とシフトレジスタ３０の間にタイマ３８と、タイマ選択記憶部３９を設けたことである。このような構成とすることにより、シフトレジスタ３０に入力するクロック信号の周期をさらに変化させることができ、シフトクロックを種々変化させることが可能となる。
【０１１３】
次に図１９を用いて本発明に適用可能な割込検出部２０の第４の実施形態を説明する。図１９は、割込検出部２０の第４の実施形態の機能ブロック図であり、既に説明した他の実施形態との共通部分は１部省略して示している。既述した他の実施形態と異なる部分は、検出信号生成部２３が、１６ビットカウンタ４１、カウント比較部４２及びカウント記憶部４３とから構成されている点である。
【０１１４】
この実施形態では、一致信号は１６ビットカウンタ４１のイネーブル入力端子Ｅｎ及びクリア入力端子とＣＬＲに入力されている。従って、一致信号が出力されている限り、カウントし続けるが、一致信号が出力されないとリセットされ、次の一致信号が出力されたときに再びカウントを再開する。このような構成は、一定の期間以上一致信号が連続して長期間出力される場合に有用である。尚、本実施形態では、１６ビットカウンタ４１を使用しているが、これは例示であり、１６ビット以上のカウンタ又はこれ以下のカウンタを使用することもできる。
【０１１５】
１６ビットカウンタ４１の出力はカウント比較部４２に入力される。カウント比較部４２にはカウント記憶部４３からの出力も入力されており、両入力が比較される。カウント記憶部４３には、予めＣＰＵ１により所定のカウントが設定されている。１６ビットカウンタ４１のカウントとカウンタ記憶部４３のカウントが一致すると、検出信号が割込処理部１５に出力される。割込処理部１５は、検出信号に基づき所定の順位の割込信号を作成し、作成した割込信号を割込ライン２６を介してＣＰＵ１の割込ポートに送信する。割込ポートに割込信号が入力されるとＣＰＵが起動され、ＲＯＭ８又はＲＡＭ９に記憶された割込み処理ルーチンに従って、割込原因の確認及び必要な対応処理等が実行される。
【０１１６】
このような第４の実施形態にかかる割込検出部２０は、通常の信号より長い入力信号１〜ｎの存在を条件に割込信号を発生させる場合に有効である。長い入力信号の存在を短い周期のクロックで検知する場合にはシフトレジスタ３０の出力段の数を相当数増やす必要がある。一方、入力信号１〜ｎは多種多様であるので、パターン生成部２１の入力信号を一律に長くすることはできない。例えば、割込要因として判断する場合に必要な信号の周期は、短いものと長いものでは１０００倍を超える場合（短い信号では２０μｓ、長い信号では２０ｍｓ等）も考えられる。
【０１１７】
検知しようとする入力信号の長さが１０００倍も長くなると、分周器３７により対応する周波数のクロックを作成することは現実的ではないばかりでなく、正確なパターン生成ができなくなるという問題がある。シフトレジスタ３０ではシフトクロックの立ち上がり又は立下りのタイミングで入力信号をサンプリングする。したがって、シフトクロックの１周期の中間で入力信号１〜ｎが無くなっても、次のサンプリングタイムに入力信号１〜ｎが存在すると、何事もなかったように入力信号が順次シフトされてしまい、その変化を認識できない。
【０１１８】
シフトクロックの周期が長くなるとこのような危険が大きくなるので、シフトクロックの周期をあまり長くすることは好ましくない。これは、割込検出部２０の第３の実施形態においてタイマ３８により、クロックの周期を長くするようにした場合にも同様である。
【０１１９】
このような問題をさけるために、短い周期のシフトクロックを使用する場合、長い入力信号の信号パターンを生成するため、パターン生成部２１のシフトレジスタ３０のシフト段を非常に長くしなければならない。
【０１２０】
以上の説明でわかるように、図１９に示す第４の実施形態にかかる割込検出部２０は、その入力信号の性質に応じて、第２又は第３の実施形態にかかる割込検出部２０とを組み合せて使用する場合に極めて有用となる。すなわち、一般的な長さの入力信号の割込検出には第２又は第３の実施形態の割込検出部２０を使用し、これらの入力信号よりかなり長い入力信号の割込検出には第４の実施形態にかかる割込検出部２０を使用するというように、異なる種類の割込検出部２０を組み合せて使用することができる。
【０１２１】
次に図２０のタイミングチャートを用いて、図１９の割込検出部２０により検出信号が出力されるタイミングを説明する。１６ビットカウンタ４１はクロック信号２によりカウントされる。非常に長い入力信号を検出する場合には、一般的には、クロック信号２はパターン生成部２１のクロック１より長いクロックを使用することが好ましい。一致信号が“Ｌ”から“Ｈ”に変化すると、カウンタイネーブルが“Ｈ”となり、カウントが開始される。１６ビットカウンタ４１のカウントがカウント記憶部４３のカウントと一致すると、一致信号が出力されて、これにより検出信号が一定期間出力される。
【０１２２】
一致信号がカウント一致前に出力されなくなると（破線で表示）、カウンタはクリアされ（図２０最下段）、カウント一致信号が出力されない。そのため検出信号も出力されず、割込は発生しない。
【符号の説明】
【０１２３】
１  ＣＰＵ、２  印刷機構、４  印刷機構駆動回路、７  インタフェース、８  ＲＯＭ、９  ＲＡＭ、１０  割込信号生成装置、１１  電源異常検出装置、１２  印字用紙検知装置、１３  カバーオープン検知装置、１４  インク無し検知装置、１５  割込処理部、１６  合成処理部、１６−１〜ｎ  合成処理部のエンコード部、１７  制御部、１８  状態記憶部、１９  順位変更部、１９−１〜ｍ  順位変更部のエンコード部、２０  割込検出部、２１  パターン生成部、２２  パターン比較部、２３  検出信号生成部、２４  状態記憶レジスタ、２５  バスライン、２６  割込信号ライン、２９  割込信号生成部、３０  シフトレジスタ、３１  クロック選択部、３２  クロック選択情報記憶部、３３  一致検出部、３４  パターンデータ記憶部、３５  状態変化検出部、３６  割込設定レジスタ、４１  １６ビットカウンタ、４２  カウント比較部、４３  カウント記憶部、４５  順位変更部のエンコード部、４６  順位変更部の選択レジスタ、５０  ホスト装置、６０  通信端末装置（プリンタ）、６２  構成処理部の選択レジスタ。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに、前記割込要因毎に生成される複数の検出信号を出力する割込検出部と、
前記割込検出部から受信した前記検出信号に基づき所定の割込信号を出力する割込信号出力制御部と、
前記複数の検出信号の受信状態を記憶する状態記憶部と、
前記割込信号の出力後の割込み処理中に受信した前記検出信号を前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記状態記憶部に記憶した検出信号に基づき対応する割込信号を出力させるよう前記状態記憶部及び前記割込出力部を制御する割込モード制御部と、
を備えることを特徴とする割込信号生成装置。
【請求項２】
前記割込信号出力制御部は、前記割込検出部から受信した前記複数の検出信号の一部又は全部を２以上のグループに分割するグループ設定部と、前記グループ設定部により設定されたグループに属する前記複数の検出信号のいずれかを受信したときに該グループに割り付けられた所定の順位の割込信号を生成して出力する割込信号出力部とを備え、
前記割込モード制御部は、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該検出信号を他の検出信号と区別可能に前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記区別可能に記憶した検出信号に対応する割込信号を出力させるよう前記割込信号出力部を制御することを特徴とする請求項１に記載の割込信号生成装置。
【請求項３】
前記割込モード制御部は、前記割込み処理中に前記状態記憶部に記憶した検出信号または前記区別可能に記憶した検出信号に対応する割込信号の出力を、現在の割込み処理が終了するまで禁止することを特徴とする請求項１又は２に記載の割込信号生成装置。
【請求項４】
前記状態記憶部は、前記検出信号の受信内容を順次記憶する状態レジスタと、前記状態レジスタの記憶内容と同一内容を記憶しており状態レジスタの記憶内容の変更に応じて記憶内容を更新する履歴レジスタとを備えており、
前記割込モード制御部は、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該受信した検出信号に対応する部分の前記履歴レジスタの更新を禁止し、割込み処理の終了後に前記状態レジスタと前記履歴レジスタとを比較して記憶内容に不一致が存在するときに不一致部に対応する割込信号を出力するよう前記割込信号出力部を制御することを特徴とする請求項１に記載の割込信号生成装置。
【請求項５】
割込信号生成装置において、以下の工程を備えることを特徴とする割込信号の生成方法。
(a)割込要因の発生を監視して、割込要因が発生したときに検出信号生成して出力する工程と、
(b)前記検出信号を受信したときに、該受信した前記検出信号に対応する割込信号を出力する工程と、
(c)前記割込信号の出力による割込み処理の実行処理の開始により割込処理モードに移行し、後続する割込要因の発生を監視する工程と、
(d)割込処理モード中に割込要因が発生することにより検出信号を受信したときに受信した検出信号を記憶する工程と、
(e)割込処理モードが終了したときに、前記割込処理モード中に後続の検出信号を受信したか否か確認し、当該検出信号を受信しているときには前記工程(b)〜工程(e)の処理を繰り返し、当該検出信号を受信していないときには、前記監視工程(a)の処理に移行する工程。