JP4600586B2 - 割込信号生成装置及び割込信号の生成方法 - Google Patents

割込信号生成装置及び割込信号の生成方法 Download PDF

Info

Publication number
JP4600586B2
JP4600586B2 JP2009246299A JP2009246299A JP4600586B2 JP 4600586 B2 JP4600586 B2 JP 4600586B2 JP 2009246299 A JP2009246299 A JP 2009246299A JP 2009246299 A JP2009246299 A JP 2009246299A JP 4600586 B2 JP4600586 B2 JP 4600586B2
Authority
JP
Japan
Prior art keywords
interrupt
signal
detection
unit
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009246299A
Other languages
English (en)
Other versions
JP2010033590A (ja
Inventor
裕司 川瀬
聡 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009246299A priority Critical patent/JP4600586B2/ja
Publication of JP2010033590A publication Critical patent/JP2010033590A/ja
Application granted granted Critical
Publication of JP4600586B2 publication Critical patent/JP4600586B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明はCPUに割込信号を送出して、割込み処理を要求する割込信号生成装置に関する。特に複数の割込要因に基づき、各種割込要求信号を出力する割込信号生成装置及び割込信号の出力方法に関する。
従来技術の電子機器においては、例えば、一定時間キーボードの操作がないときに表示部の輝度を落したり、一定時間I/Oアクセスが行われないときに入出力装置の電源供給を停止したりすること等により省電力化(このような状態を省電力モードと呼ぶ)を行っている。尚、この明細書において、省電力モードとは、装置の一部機能だけが動作可能にセットされ、他の大部分が電源の供給が一時的に停止されて動作停止状態にあるモードを言う。
省電力モードは、例えばキーボード等の入力操作により、又はI/Oアクセスを受信したときに装置全体に電源供給が行い、通常モードへ移行する方式が一般的である。
例えば、特開平8−249081(特許文献1)及び特開平5−32018号公報(特許文献2)には、省電力を効果的に行うために、消費電力の大きいCPUをスリープモードにする方式が開示されている。なお、一般に、CPUのスリープモードとは、CPUの動作クロックが停止しており、割り込みポート等の一部の端子に入力された信号だけを取り込み可能な状態にあることを言う(CPU自体は、演算処理等を実行できる状態にない)。スリープモードは、省電力モードをCPUのクロック停止状態まで進めたものである。
特開平8−249081号公報 特開平5−32018号公報
上述の先行技術においては、通常動作モード、スリープモード等の各モード間の状態変移についての説明がなされている。しかし、これらの先行技術においては、複数の割込要因の制御、割込み処理時の他の割込み処理等については、明確にされていない。最近の電子機器は、機能が複雑化していることに加え、省電力モード、スリーモード及び通常動作モード間の状態遷移を行う等のため、多数の割込要因を設定することが必要になる場合が多い。何十種類もの割込要因を設ける場合も存在する。
複数の割込要因、特に何十種類もの割込要因が存在する場合には、どのような条件に基づき、どのような割込み処理をCPUに実行させるかは、装置を効率的かつ適正に稼動させるという装置性能に関わる重要な課題である。特に、CPUの割込みポート数には一定の制限があるため、割込要因を割込信号に1対1の関係で割り当てることはできない。
また、動作状況に応じて、割込要因に応じて生成される割込信号の順位を変更することが望ましいこともある。例えば、スリープモードへの移行時には、スリープモードに特有の割込要因を高い優先順位に変更することにより、より効率的な処理が可能となる場合も考えられる。さらに、エラー状況に応じて割込要因の優先順位を変更し、又は一部の割込要因をディスエイブル化(無能化)する等、環境変化に応じて割込要因を動的に設定し又は変更することが有用となることもある。
どのような条件で具体的に割込みを発生させるか、及びその優先順位をどのように設定するかについては、エラー等の割込み発生原因及びその程度により異なる。例えば、電源に異常が発生した場合等には、ただちに所定の警告を発する必要がある他、必要に応じて電源の切断等の処置が必要になる。一方、スリープモード中にインクタンクが外されたり、カバーが開けられたりした場合等は、あまり緊急度が高くない。このような場合には、動作命令等がされるまではスリープ状態を維持し、より重要度の高い割込要因が発生したときに動作モードに復帰するように構成してもよい。このように割込信号の順位は柔軟に変更可能であることが好ましい。
さらに、割込み処理中に同じ割込ポートに割込要求(同一優先順位の割込要求)があると、後発の割込要求が無視されて、必要な割込み処理が行われない場合が起こる可能性もある。
また、動作モード、スリープモード等の監視対象装置の動作モードに応じて割込要因の優先順位を変更することも可能である。このような処理を実現するには、動作モードを変更するためのモード遷移処理過程において割込み処理の優先順位を変更できること(動的変更)が必要である。どのような状況変化があったときにCPUを動作モードに復帰させるかは、監視対象装置の基本的な設計思想若しくは監視対象装置にどのような機能を付与させるかにより異なってくるため、割り込み条件設定の自由度が高いことが望ましい。本発明は上述のような割込信号の生成に伴う種々の問題に鑑みなされたものである。
そこで、本発明は各種割込要因から生成される割込信号の順位を、静的に又は動的に変更可能な割込信号生成装置及び割込信号の生成方法を提供することをその目的の1つとする。
また、本発明は、複数の割込要因からより少ない数の割込み信号を生成する割込要因割込信号生成装置及び割込信号の生成方法を提供することをその目的の1つとする。
さらに本発明は、割込み処理中に、当該処理中の割込みと同順位の割込要因が発生した場合の対応処理が可能とな割込信号生成装置及び割込信号の生成方法を提供することをその目的の1つとする。
また、本発明は、割り込み設定条件の自由度の高い割り込み信号発生装置を提供することをその目的の1つとする。
本発明は、作環境の変化を検知するために設けられた多くのセンサ等から生成された各割込要因毎の検出信号を、必要に応じてグループ化し、グループ化した信号から所定の順位の割込信号を生成することにより、上記目的を達成可能である。また、割込処理中に検出信号を受信した場合には、割込信号の出力を制限または禁止するとともにその検出信号の受信履歴を記憶しておき、現在の割込処理の終了後に、記憶している検出信号に対応する割込信号を出力するよう構成することにより、割込処理中の割込要求を適切に処理することが可能となる。以下にその態様を説明する。
本発明の第1の態様にかかる割込信号生成装置は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに各割込要因毎に異なる種類の検出信号を出力する割込検出部と、検出信号を受信したときに割込要因に対応する所定の順位の割込信号を出力する割込信号出力部と、割込要因に対応して出力される割込信号の順位の設定を変更可能に記憶する順位設定部とを含む割込処理部とを備えることを特徴とする。例えば、割込検出部では、入力信号をそのまま検出信号として出力し、割込処理部ではその割込検知信号の入力順に高い順位を付与して割込信号を出力することもできる。
また、必要におうじて順位設定部から、検出信号に対応して出力される割込信号の順位を変更することが可能である。
本発明の第2の態様にかかる割込信号生成装置は、前記順位設定部の前記順位の設定を、CPU及び/又は外部入力装置からの信号に基づいて変更可能であることを特徴とする。
CPUからプログラムで変更することも、操作パネルからマニュアルで設定変更することも可能である。CPUからのアクセスは、バスラインを通じて行うことができる。
本発明の第3の態様にかかる割込信号生成装置は、割込検出部が、スリープモード中のCPUのウェイクアップイベントの発生を検出して検出信号を出力する検出部を備えることを特徴とする。動作モードの変更のための割込みに適用可能である。
本発明の第4の態様にかかる割込信号生成装置は、割込要因の監視対象装置が稼動中であっても、前記割込要因に対する前記割込信号の順位の設定を随時変更可能であることを特徴とする。例えば、プリンタのような割込み監視対象の装置が稼働中でも所定の設定変更が可能であるので、動作モード変更時にCPUからプログラムにより順位を変更するよう構成することができる。これにより、スリープモード、省電力モード、通常動作モード等の各動作モードに応じて、最適の順位設定に適宜変更可能となる。
本発明の第5の態様にかかる割込信号生成装置は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに各割込要因毎に生成される複数の検出信号を出力する割込検出部と、割込検出部から受信した複数の検出信号の一部又は全部を2以上のグループに分割するグループ設定部と、各グループに属する複数の検出信号が所定の条件を満足するときに所定の順位の割込信号を生成して出力する割込信号出力部とを有する割込処理部とを備えることを特徴とする。この構成により多くの割込要因を少ない割込信号で管理可能となる。所定の条件として、複数の割込要因が論理和、論理積で組み合わせることも可能である。
本発明の第6の態様にかかる割込信号生成装置は、割込処理部は、グループに属する複数の検出信号の論理和条件に基づいて該グループに割り当てられた前記割込信号を生成することを特徴とする。これにより、単純ではあるが、確実に割込要因を特定することが可能となる。
本発明の第7の態様にかかる割込信号生成装置は、割込処理部は、割込信号の1単位を構成するグループを確定するためのグループ設定部の設定及び変更を、CPU及び/又は外部入力装置からの信号に基づいて制御可能であることを特徴とする。グループ構成の変更ができることで、特定の割込要因毎に出力される割込信号の順位を変更することが、可能となる。CPUからプログラムで変更することも、操作パネルからマニュアルで設定変更することも可能である。CPUからのアクセスは、バスラインを通じて行うことができる。
本発明の第8の態様にかかる割込信号生成装置は、割込処理部がさらに、各グループに対応する割込信号の順位を変更可能であることを特徴とする。これにより、グループ単位での順位の変更が可能となる。
本発明の第9の態様にかかる割込信号生成装置は、割込検出部が、スリープモード中のCPUのウェイクアップイベントの発生を検出して検出信号を出力する検出部を備えることを特徴とする。動作モードの変更のための割込みに適用可能である。
本発明の第10の態様にかかる割込信号生成装置は、割込要因の監視対象装置が稼動中であっても、グループ設定部のグループ設定及び/又は変更を行うことが可能であることを特徴とする。例えば、プリンタのような割込み監視対象の装置が稼働中でも所定の設定変更が可能であるので、動作モード変更時にCPUからプログラムにより順位を変更するよう構成することができる。これにより、スリープモード、省電力モード、通常動作モード等の各動作モードに応じて、最適のグループ化、優先順位設定に変更することが変更可能となる。
本発明の第11の態様にかかるホスト装置から送信された印刷命令及び印刷データに従って、印刷を行うプリンタの割込信号生成装置は、センサまたは監視装置からの出力
信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに各
割込要因毎に生成される複数の検出信号を出力する割込検出部と、前記割込検出部から受信した前記複数の検出信号の一部又は全部を2以上のグループに分割するグループ設定部と、前記グループ設定部により設定されたグループに属する前記複数の検出信号のいずれかを受信したときに該グループに割り付けられた所定の順位の割込信号を生成して出力する割込信号出力部と、を備えた割込信号出力制御部と、複数の検出信号の受信状態を記憶する状態記憶部と、CPUにより制御されるものであり、割込信号の出力後の割込み処理中に受信した検出信号を前記状態記憶部に記憶し、現在の割込み処理の終了後に、状態記憶部に記憶した検出信号に基づき対応する割込信号を出力させるよう状態記憶部及び前記割込出力部を制御する割込モード制御部とを備え、前記割込モード制御部は、前記割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該検出信号を区別可能に前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記区別可能に記憶した検出信号に対応する割込信号を出力し、前記CPUがスリープモードへ移行する処理において、ウォッチドックタイマの入力信号を優先順位の低いグループに変更させるよう前記割込信号出力部を制御することを特徴とする。これにより、簡単な構成により、割込み処理中にさらに割込みが発生した場合であっても、確実に的確な割込み処理を実行することや、プリンタ独自の割込信号が発生した場合でも、割込処理が可能となる。また同一グループ内で後続する割込が発生した場合にのみ、割込み処理終了後の処理を実行するように構成することで、割込信号が同時に発生しても、異なる順位の割込信号は相互に独立して同時並列的に割込み処理可能であることを特徴とする。
本発明の第12の態様にかかる割込信号生成装置は、前記グループ設定部は、前記複数の検出信号を少なくとも2以上のグループに分割し、第1番目の優先順位のグループは、正常動作に支障を来す状況の発生が割り当てられ、第2番目の優先順位のグループは、印刷処理に支障を来す状況の発生が割り当てられることを特徴とする。
本発明の第13の態様にかかる割込信号生成装置は、割込モード制御部が、割込み処理中に状態記憶部に記憶した検出信号または区別可能に記憶した検出信号に対応する割込信号の出力を、現在の割込み処理が終了するまで禁止することを特徴とする。これにより、CPUの制御を簡素化することが可能となる。
本発明の第14の態様にかかる割込信号生成装置は、状態記憶部が、検出信号の受信内容を順次記憶する状態レジスタと、状態レジスタの記憶内容と同一内容を記憶しており状態レジスタの記憶内容の変更に応じて記憶内容を更新する履歴レジスタとを備えており、割込モード制御部は、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する検出信号を受信したときに、該受信した検出信号に対応する部分の履歴レジスタの更新を禁止し、割込み処理の終了後に状態レジスタと履歴レジスタとを比較して記憶内容が不一致の場合に不一致部分に対応する割込信号を出力するよう割込信号出力部を制御することを特徴とする。状態レジスタと履歴レジスタとにより、割込み処理中の割込み発生を確認する構成としたものである。
本発明の第1の態様にかかる割込信号の生成方法は、(a)各種設定条件の変更要求の有無、及び割込要因の発生を監視する監視工程と、(b)所定の設定変更要求に応じて、割込要因に対応して出力される割込信号の順位の設定を変更する工程と、(c)割込要因の発生を検知したときに順位の設定に従い、検知した割込要因に対応する順位の割込信号を出力する工程とを備えることを特徴とする。
本発明の第2の態様にかかる割込信号の生成方法は、監視工程(b)がさらに、動作モードの変更時に前記順位の設定を変更することを特徴とする。
本発明の第3の態様にかかる割込信号の生成方法は、(a)複数の検出信号の発生の有無を少なくとも1以上のグループ単位で監視する監視工程と、(b)グループに属する検出信号のいずれか1個について検出信号を受信したときに、該検出信号の属する前記グループに対応する割込信号を出力することを特徴とする。
本発明の第4の態様にかかる割込信号の生成方法は、記監視工程(a)がさらに、グループ構成の変更要求の有無を監視する工程と、グループ構成の変更要求に応じて前記グループを構成する検出信号を変更する工程とを含むことを特徴とする。
本発明の第5の態様にかかる割込信号の生成方法は、センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに、複数の検出信号が割込検出部より出力され、出力された前記複数の検出信号の一部又は全部はグループ設定部により2以上のグループに分割され、分割されたグループ毎に割込信号出力部は割込信号を生成して出力するプリンタの割込信号生成装置の割込信号生成方法において、
(a)前記割込検出部は、割込要因の発生を監視して、割込要因が発生したときに検出信号生成して出力する工程と、(b) 前記検出信号を受信したときに、グループ設定部は、受信した前記複数の検出信号の一部又は全部を2以上のグループに分割し、前記グループ設定部により設定されたグループに属する前記複数の検出信号のいずれかを受信したときに、割込信号出力部は、該グループに割り付けられた所定の順位の割込信号を出力する工程と、(c) 前記複数の検出信号の受信状態を状態記憶部により記憶する工程と、(d) 前記割込信号の出力後の割込み処理中に受信した前記検出信号を前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記状態記憶部に記憶した検出信号に基づき対応する割込信号を出力させるように割込モード制御部により前記状態記憶部及び前記割込出力部を制御する工程と、(e) 前記割込モード制御部は、CPUにより制御されるものであり、前記割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該検出信号を区別可能に前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記区別可能に記憶した検出信号に対応する割込信号を出力させ、前記CPUがスリープモードへ移行する処理において、ウォッチドックタイマの入力信号を優先順位の低いグループに変更するよう前記割込信号出力部を制御する工程とを備えることを特徴とする。
以上説明したように、本発明によると、動作環境の変化を検知するために設けられた多くのセンサ等からの受信信号に対応して出力される割込信号の順位を適宜変更可能な割込信号生成装置を提供することが可能となる。この場合には、装置の稼動中に動的に割込信号の順位の変更を行うよう構成することも可能である。また他の実施態様によると、必要に応じてグループ化し、受信した入力信号又はグループ化した信号毎に対応する順位の割込信号作成することも可能となり、さらに、通常動作時だけでなくスリープモード中のCPUに対して割込信号を送出するように構成することも可能となる。
さらに他の態様によると、同時に複数の割込要因が発生した場合でも割込信号の出力を制御可能である。また、本発明の割込信号生成装置は、割り込み設定条件の自由度の高く、多種多様な設計使用に利用可能であるという効果を有する。
本発明の割込信号生成装置の第1の実施形態を示す図である。 本発明にかかる割り込み信号発生装置をプリンタに使用する場合の構成を示す図である。 割り込み信号を発生させて、CPU1をスリープモードから動作モードに遷移させる要因を例示する図である。 本発明の割込信号生成装置の第2の実施形態を示す図である。 割込処理部の順位変更部として使用可能なエンコーダの例を示す図である。 本発明の割込信号生成装置の第3の実施形態を示す図である。 入力信号を所定のグループにまとめたグループ化の例を示す図である。 第3の実施形態の合成処理部として使用可能な、エンコーダを示す図である。 本発明の割込信号生成装置の第4の実施形態を示す図である。 割込み処理中に同じグループの検出信号を受信した場合に対応可能な割込処理部15−4を示す機能ブロック図である。 割込信号生成装置の割込信号出力の処理手順と、CPUによる割込み処理の手順を示すフローチャートである。 状態レジスタ71、履歴レジスタ72、割込モードレジスタ73の設定内容の例を示す図表である。 割込処理部の他の実施形態15−5を示す機能ブロック図である。 本発明に適用可能な割込検出部の20の実施形態の構成を示す機能ブロック図である。 本発明に適用可能な割込検出部の20の第2の実施形態を示す機能ブロック図である。 割込検出部の20の第2の実施形態のクロック入力と、入力信号と、一致信号の関係を示すタイミングチャートである スリープモード中のプリンタのような通信端末装置60を、本発明にかかる割込信号生成装置10を使用して、ホスト装置50から動作モードに遷移させる場合を説明するための機能ブロック構成図である。 本発明に適用可能な割込検出部の20の第3の実施形態にかかる割込検出部20の機能ブロック図である。 本発明に適用可能な割込検出部の20の第4の実施形態の機能ブロック図であり、他の実施形態との共通部分を1部省略して示してある。 第4の実施形態に係る図19の割込検出部20において、検出信号の出力を説明するタイミングチャートである。
以下、図面を参照しつつ、本発明の実施形態を詳細に説明する。
本明細書では、本発明の構成を説明するために、本発明をプリンタに適用した例を用いて説明するが、本発明はプリンタに限らず、CPUにより制御され複数の割込要因に基づき割込み処理を行う電子機器に適用可能である。
まず、図2用いて、本発明が適用される装置の基本構成例を説明する。図2は、本発明にかかる割込信号生成装置をプリンタに適用した構成例を示すブロック図である。図中、1はCPUであり、通常通常の動作モードと、省電力モード又はスリープモード等の動作モードを有している。CPUには、バスライン25を介して、印刷機構2、インタフェース(I/F)7、ROM8、RAM9等が接続されている。
ROM8及びRAM9には、CPU1の制御用ソフトウェア(ファームウェアを含む)及びデータが記憶されている。CPU1は、これらの制御用ソフトウェア等による制御の下、インタフェース7を介してホスト装置から送信された印刷命令及び印刷データに従って、印刷を行うように印刷機構2を制御する。
印刷機構2は、印刷機構駆動回路3及びこれに接続されたヘッド4、モータ5、及びプランジャ6等により構成されており、印刷機構駆動回路3がCPU1の指示に基づき各部を制御する。
CPU1には更に、割込信号生成装置10が接続されている。割込信号生成装置10は、エラーの発生等の割込要因に応じて割込信号を生成して、割り込み信号ライン26を介して、CPU1の割込ポートに対応する割込信号を出力する。
さらに、割込信号生成装置10は、CPU1がスリープモードのときであっても動作するように構成されている。スリープモード中のCPU1の割込ポートに割込信号が入力されると、CPU1は起動し、スリープモードから動作状態に戻すために、各種割込み処理を実行する。
本発明は、CPU1に対する割込み処理要求信号の生成に関するものであり、通常動作モード、省電力モード、スリープモードとは無関係であるが、割込要因には、通常動作モード、省電力モード、スリープモード等の電子機器の動作モードに関連するものとこれらの動作モードとは無関係のものが存在する。以下の説明では、必要に応じて、スリープモードにおける割込み処理についても説明する。
CPU1は、省電力のために一定時間以上動作しない場合には、動作状態からスリープモードに移行する。どのような状況下で、スリープモードに遷移させるかは、その装置の種類、使用形態等に応じて決定することができる。モードの遷移に関しては、前述の特開平5−32018号公報に詳しく説明されている。本発明は、割込信号の生成に関するものであるので、動作モードからスリープモードへの遷移については、これ以上の説明はしない。必要があれば、上述の公報を参照されたい。
CPUが動作中にエラーの発生等の所定の状況変化が発生した場合には、その変化に対処するために割込み処理を実行する必要がある。例えば、電源に異常が発生した場合等には、ただちに所定の警告を発する必要がある他、必要に応じて電源の切断等の処置が必要になる。また、インクタンクが外されたり、カバーが開けられたりした場合にも、その状態に応じて適切に処理することが必要となる。これは、CPU1がスリープモード状態にある場合でも同様であり、この場合にはCPU1を起動して動作モードに復帰させる必要がある。どのような状況変化があったときに割込み処理を行い、あるいはCPUを動作モードに復帰させるかは、その装置の基本的な設計思想若しくは装置にどのような機能を付与させるかにより異なってくるため、割込要因及びその優先順位の設定及び変更、は自由度が高いことが望ましい。
図2では、電源異常検出11、プリンタカバーオープン12、印字用紙が無くなくなったときの印字用紙無しの検知13、インク無しの検知14等の信号が、割込信号生成装置10に入力されることが例示されている。例えば、スリープモード中にインクタンクが外された場合には、インクタンクが取り外された旨の警告を発する他、印刷命令があっても印刷を開始しないように制御する必要がある。電源電圧が高くなった場合など電源異常が発生した場合には、他の正常な部分を壊さないようにするために、直ちに電源を切り離す等の処置が必要になる。
図3に、割込み信号を発生させる要因を、割込信号生成装置10への入力信号1〜nとして例示する。スリープモード時にこれらの要因が発生したときには、割り込み信号を発生させることによりCPU1をスリープモードから動作モードに遷移させるための割込み処理と割込み原因に対処するための割込み処理の双方を実行する必要がある。図3にあるように、基本的には、電源電圧の異常、その他各種センサにより異常状態を検知した場合などに割り込み信号を発生して、CPUを動作モードに遷移させることが多い。この他、図3にもあるように、スリープモード中にオペレータがペーパーフィード等のスイッチを押下する等の動作指示があった場合も割り込み原因となる。尚、図3では、CPU1をスリープモードから動作モードに遷移させる要因を示しているが、これらの要因はスリープモード時だけでなく動作モードにも割込要因となる。但し、CPU1の動作モード時には、図3に記載した要因だけでなく、例えば、ウォッチドッグタイマのタイムアウト等もCPU1への割込要因となる。ウォッチドッグタイマはCPU1の暴走を検知するためのタイマであり、暴走状態が発生したら、割込み処理によりCPU1の暴走を停止させ、所定の対応処理を実行するものである。
尚、図3に示されているスリープモードからの割込要因は例示であり、この他の要因により割り込み信号を発生させることもできる。例えば、後述するように、ホスト装置からスリープモード中の装置にウェイクアップ命令を出力することにより、割込信号を生成させてスリープモードから動作モードに遷移させるよう構成することも可能である。
次に図1を用いて、本発明の割込信号生成装置10の第1の実施形態10−1を説明する。プリンタの各部に設けられたセンサ等から入力信号1〜nのそれぞれが割込信号生成装置10−1の対応する割込検出部20に入力される。割込検出部20は、入力信号1〜nが所定の条件を満たしているときに限り検出信号を出力するように構成しても、入力信号1〜nを受信すると無条件に検出信号を出力するように構成してもよい。
検出信号は割込処理部15に出力される。割込処理部15では、予め設定された条件にしたがって、受信した検出信号を所定の順位の割込信号1〜nとして出力する。このような構成とすることにより、入力信号1〜nと割込検出部20の接続等の物理的な接続とは無関係に、入力信号に対応する割込信号の順位を設定することが可能となる。例えば、物理的には最低位の端子(割込み検出部20)に入力された検出信号nを、最高位の順位の割込信号1として出力すること等が可能となる。
各割込信号1〜nは割込ライン26を介して、CPU1の割込ポートにそれぞれ入力される。CPU1では、入力ポート毎に優先度が決められており、入力ポートに応じた優先順位で、割込み処理が実行される。CPU1の内部で、入力ポートの優先順位を変更することにより、割込み処理の優先順位を変更することも可能である。
割込処理部15及び割込検出部20は、CPU1からバスライン25を通じて制御情報を受け取り、受信した制御情報に基づき割込検出及び、割込信号の順位の設定又は変更を行うようにすることも可能である。
図4にさらに具体的な本発明の割込信号生成装置の第2の実施形態10−2を示す。第2の実施形態10−2においては、割込処理部15−1が、制御部17、状態記憶部18、順位変更部19、及び割込信号生成部29により構成されている。検出信号1〜nはまず、割込処理部15−1の順位変更部19に入力される。順位変更部19は入力と出力の端子を切り替えるマルチプレクサ、又はエンコーダ等により構成することができる。
図5を用いてさらに詳細に説明する。図5は、順位変更部19をエンコーダで構成した場合の例を示す図である。割込信号1〜nの入力は、各エンコード部45に夫々入力される。順位変更部19は、n個のエンコード部19−1〜19−nから構成されている。図5の例では、解かりやすくするために、第1番目のエンコード部19−1と第n番目のドコード部19−nのみを記載している。以下の説明ではエンコード部19−1のみを引用するが、各エンコード部19−1〜19−nは特に説明する部分を除き、同じ構成及び機能を有している。
エンコード部19−1は入力信号の数nと同じビット数nを記憶可能な選択レジスタ46を有している。選択レジスタ46の各ビット1〜nは、各エンコード部45に入力される割込信号1〜nと1対1で対応するようにアンドゲートA1〜Anに入力され、アンドゲートA1〜Anからは入力信号である割込信号と選択レジスタの出力ビットとの論理積が出力される。
従って、選択レジスタ46の1〜nビット中の特定の1ビットだけをオン“1”にしておくと、オンになっているビットに対応するアンドゲートだけが、アンド条件を満足できる状態となり、その他のアンドゲートは検出信号の有無にかかわらず、アンド条件を満足しない。入力されるn個の検出信号1〜nの夫々を、n個のエンコーダ部19−1〜19−nのいずれか一つのみに割り当てるように、選択レジスタ46のビットを設定することにより、検出信号と割込信号とを1対1に対応付けることが可能となる。また、選択レジスタ46の設定ビットをエンコーダ19−1〜19−nの相互間で入れ換えることにより、検出信号に対応する割込信号の順位を入れ換えることが可能となる。従って、選択レジスタ46は、検出信号から生成される割込信号の順位設定部として機能する。
図5の例では、第1のエンコード部19−1では、選択レジスタ46の第3番目のビットのみが“1”に設定されている。従って、検出信号3が入力されたときのみ、アンドゲートA3の条件が満たされ、オアゲート47から“1”が出力される。これにより、検出信号3から、順位変更部19の第1番目の端子から信号が出力される。第1番目の端子からの出力信号は、割込信号生成部29により最高位の割込信号1としてCPUに出力される。同様に、他の検出信号1〜nを、互いに重複しないように各エンコード部19‐1〜19‐nの選択レジスタ46の各ビット1〜nに設定することにより、検出信号(すなわち入力信号)により生成される割込信号の順位を設定することが可能となる。
以上の説明からわかるように、入力信号と出力信号とをどのように設定するかは、予め選択レジスタ46に所定の値を設定することにより行う。選択レジスタは、外部から設定及び変更可能に構成することが好ましい。図4では、制御部17により制御する構成を示している。操作パネル等の入力装置又はCPU1から制御部17に所定の制御信号を送信し、選択レジスタ46の設定及び変更を行う。
順位変更部19により入力の順番と出力の順番を入れ換えられた検出信号1〜nは、割込信号生成部29に入力される。割込信号生成部29では、例えば、入力端子の並び順に高い順位の割込信号1〜nとして力する。以上の構成により、検出信号1〜nに対応する割込信号の順位を変更することが可能となる。尚、CPU1は、バスライン25を介して制御部17へ制御データを送信することにより、制御部17を介して各部18、19、29を制御することが可能である。
状態記憶部18は、割込処理部15が検出信号1〜nを受信したときに、どの検出信号を受信したかを記憶しておくものである。これによりCPU1が割込み処理の過程で、状態記憶部18の内容を読み出すことにより、割込原因を確認することが可能となり、割込原因に対応した適切な割込み処理を実行することできる。
図6を用いて、本発明の割込信号生成装置の第3の実施形態10−3を説明する。図6の第3の実施形態10−3においては、割込処理部15−3が、合成処理部16、制御部17、状態記憶部18により構成されている。制御部17、状態記憶部18は第2の実施形態10−2と同じであるので、合成処理部16のみを説明する。合成処理部16は、検出信号1〜nを所定の条件の下にグループ化し、入力信号より少ない数の割込信号1〜mとして出力するものである。どのような条件でグループ化するかは、制御部17により制御する。制御部17は、上述の通り、バスライン25を介してCPU1から制御可能である。
本発明の第3の実施形態10−3によると、多数の検出信号1〜nを所定の条件でグループ化して、検出信号1〜nの数より少ない割込信号1〜mとして出力することが可能となる。通常、CPUには割込ポートが8個程設けられているが、割込要因となる入力信号は40個を超えることもある。このように入力信号が多い場合でも、入力信号をグループ化し、所定のグループ単位で割込信号の順位を割り当てることにより、適切な割込み処理が可能となる。
図7に複数の入力信号をグループ化した例を示す。この例では、割込信号1から順番に数字が大きくなるに従ってCPUが行う割込み処理の優先順位が低くなるものとする。電源電圧異常は、機器を壊すおそれがあること、及び正常動作が不能となることから、通常最高位のプライオリティ(優先順位)の割込み処理がCPUによって行われる。図7の例でも、電源電圧異常、リセット入力、ウォッチドッグタイマが最高位の優先順位となっている。尚、図7では、ウォッチドッグタイマも検出信号として示してあるが、スリープモード時にはCPUの暴走はありえないので、ウォッチドッグタイマのタイムアウトによる割込は通常発生しない。したがって、スリープモード時には、ウォッチドッグタイマ入力の割込信号の順位を下げて、割込要因の優先順位を下げるように、スリープモード移行処理において優先順位を変更するように構成することも可能である。このように、本発明では、電子機器の停止時に静的に優先順位等を設定し又は変更するだけでなく、動作時においても動作状況に応じて優先順位等の設定又は変更(動的設定変更と称する)することも可能である。
2番目の優先順位として、インクカートリッジオープン、印刷用紙無し等の印刷処理に支障を来す状況の発生が割り当てられている。その次の順位には、オペレータがペーパーフィードボタンを押下した場合、センサによるホームポジションの検知と続いている。これらは、例示であり、どのような優先順位を付与するかは、その製品の設計思想に基づき変更可能である。また、この例では、4つのグループに分けているが、必要に応じて、また、CPU1のポート数に応じてそのグループ分けの数を設定することが可能である。
図8に、割込信号生成装置の第3の実施形態10−3に用いられる成処理部16を、m個のエンコード部16−1〜16−mにより構成した実施形態を示す。図8のエンコード部16−1〜16−mも、図5に示した順位変更部19として示したエンコード部19−1等とほぼ同様のエンコーダを使用することができる。異なるのは、以下の2点である。第1に、順位変更部19の場合には、入力される検出信号1〜nと同じ数であるn個のエンコード部19−1〜19−nが設けられているのに対し、合成処理部16では、検出信号の数であるn個より少ないm個の出コード部16−1〜16−mが設けられている点が異なっている。第2に、選択レジスタ62に設定される設定ビット“1”が1個だけでなく、グループ化しようとする入力の数だけ設定される点も異なる。
例えば図8に示す第1のエンコード部16−1の選択レジスタ62では、ビット2、3、4が“1”に設定される。従ってアンドゲートA2、A3、A4がイネーブル状態になっており、検出信号2、3、4のいずれが入力されてもオアゲート63から“1”が出力される。これにより、3個の検出信号2〜3が第1のエンコード部16−1により1個の割込信号である割込信号1が出力される。従って、選択レジスタ62はグループ設定部として機能し、アンドゲートA1〜An及びオアゲート63は割込信号出力部として機能する。
このように検出信号1〜nがいくつかのグループにまとめられるので、エンコード部はn個より少ない数のm個で足りる。検出信号をどのようにグループ化するかは、予め選択レジスタ62に所定の値を設定することにより行う。選択レジスタの設定は、図4と同様に制御部17により制御可能である。また、前述した通り、制御部17はバスライン25を介して、CPUにより制御可能であるので、選択レジスタ62の設定をCPU1又は外部操作パネル等で制御するように構成することも可能である。
さらに図9を用いて本発明の割込信号生成装置の第4の実施形態10−4を説明する。第4の実施形態10−4の割込処理部15−3では、第2及び第3の実施形態の順位変更部19と合成処理部16とが組み合せられている。割込処理部15−3の構成により、優先順位の設定の変更が容易になるとともに、複数の入力信号をグループ化して割込信号を発生させることも可能となる。
割込み処理中に割込み処理中のグループ以外の検出信号を受信した場合には、通常モー
ドと同様に状態レジスタを更新し、同じ内容を履歴レジスタ72にも記憶する。割込み処
理中と同一グループの検出信号を受信した場合には、履歴レジスタ72は更新するが、状
態レジスタ71の内容は履歴レジスタ72には記憶されない。そのため、状態レジスタ7
1の内容と履歴レジスタ72の内容が異なることになる。


割込が発生すると、CPUから割込モードへの移行指示が出され、割込モードレジスタが設定される。割込モードは、割込信号単位で管理されるので、現在割込み処理を続行している割込信号ライン以外のグループには影響を与えず、割込み処理中以外のラインは、通常モードで動作する。割込モードレジスタ73が設定されると、状態レジスタ71及び履歴レジスタ72は、制御部17により次のように制御される。
割込み処理中に割込み処理中のグループ以外の検出信号を受信した場合には、通常モードと同様に状態レジスタを更新し、同じ内容を履歴レジスタ72にも記憶する。割込み処理中と同一グループの検出信号を受信した場合には、状態レジスタ72は更新するが、状態レジスタ71の内容は履歴レジスタ72には記憶されない。そのため、状態レジスタ71の内容と履歴レジスタ72の内容が異なることになる。
割込み処理が終了し、CPUから割込モードの解除指令を受信すると制御部17は、状態レジスタ71の内容と履歴レジスタ72の内容を比較する。比較の結果、内容が異なる場合には、制御部17から合成処理部16−2に制御信号を出力して、合成処理部16−2から対応する割込信号を送信する。これにより、再び割込み処理が実行され、同様の処理が繰り返される。
図11は割込信号生成装置の割込信号出力の処理手順と、CPUによる割込み処理の手順を示すフローチャートであり、図12は状態レジスタ71、履歴レジスタ72、割込モードレジスタ73の設定内容の例を示す図表である。図11のフローチャートと図12の図表を用いて、割込信号出力とCPUの処理手順の例を説明する。尚、この説明においては、説明を簡単にするため、4種類の割込信号1〜4のみ使用するものとする。
まず、検出信号を受信すると(S101;Yes)、割込信号が出力し(S102)、状態レジスタ71の対応ビットFxを“1”にセットし、その後状態レジスタ71の内容を履歴レジスタ72に転送する。今、検出信号3を受信したとすると、図12(a)及び(b)に示すように状態レジスタ71及び履歴レジスタ72のビット3がそれぞれ“1”にセットされる。図12の図表に示すように検出信号3は割込信号1のグループに属するので、CPUには割込信号1が出力される。
CPUでは、割込信号の受信により(S201;Yes)、該当割込ポート(ポート1)を無能化して、以後の割込みの受付を禁止する(S202)。次に、割込信号を送信した割込信号生成装置に割込モードへの移行指示を出力する(S203)とともに、履歴レジスタ72の内容を読み出して(S204)割込要因の確認、対応処理を実行する(S205、S206)。
割込信号生成装置は、CPUから割込モードへの移行指示を受信すると(S104;Yes)、図12の(c)に示すように、割込モードレジスタ73の割込信号1を割込モード“1”に設定する(S105)。これにより制御部17は、状態レジスタ71のビット1〜5の内容の履歴レジスタ72への転送を制限する(S106)。すなわち、割込信号1のグループに属する検出信号1〜5を受信しても、ビット1からビット5については履歴レジスタ72には転送しない。
割込み処理中にさらに割込みがあると(S107;Yes)、その割込みが割込信号1のグループ以外の検出信号である場合には、再び工程S102〜工程S107及びCPUの工程S201〜工程S206を繰り返す。その割込みが割込信号1のグループの検出信号である場合、工程S102〜工程S107の処理が実行されるが、今、割込モード中であるので、状態レジスタ71は更新されるが履歴レジスタ72の更新は制限される。したがって、例えば検出信号1を受信したとすると、状態レジスタ71は図12の図表(d)のようにビット1及び3が “1”に設定されるが、履歴レジスタ72は図12の(b)に示すようにビット3のみが“1”に設定された状態のままである。
尚、工程S102により割込信号生成装置からCPUに割込信号1が出力されることになるが、今、CPUの割込ポート1は無能化されているので、CPUによる割込み処理は行われない。このように割込み処理の途中で同じレベルの割込み処理を実行するには、複雑な制御が必要となるからである。さらに、図11のフローチャートでは、割込み処理中と同じ検出信号が発生しても、割込信号を出力する構成を示したが、後述するようにこのような場合には、割込信号1を出力しないように構成することも可能である。
CPUによる割込み処理が完了すると(S206;Yes)、CPUは割込みモードのクリア要求を行い(S207)、割込ポート(ポート1)の受信を可能にして(S208)、当該割込み処理を終了する。
割込信号生成装置では、割込モードのクリア要求を受信すると、状態レジスタ71と履歴レジスタ72の内容を比較する(S109)。これらの内容が同じであれば(S110;Yes)、割込み処理中に同じグループ内の検出信号を受信していないので、全ての関連レジスタ等をリセットして、当該割込み処理を終了する。今、割込み処理中に検出信号1を受信しているので、状態レジスタ71と履歴レジスタ72の内容は、図12の(b)と(d)に示す通りに異なっている。この場合(S110;No)には、さらに工程102に戻り、検出信号1に対応する割込信号1を出力するとともに、前述と同様の処理(工程S102〜S111)が実行される。CPUでも、割込ポートは既に受信可能状態となっており、前述したような割込み処理(工程S201〜S208)が実行される。
図13は、割込み処理中に同じグループの検出信号を受信した場合に、適切に割込み処理を実行することのできる割込処理部15の他の実施形態15−5を示す機能ブロック図である。図13では、図10の合成処理部16−2における割込モード出力制御部の構成をわかりやすくするため、割込モード出力制御部75を合成処理部の外に取り出した構成としている。すなわち割込モード出力制御部75を図6、8等に示した合成処理部16の内部に設けることも、合成処理部16の外に設けることも可能である。合成処理部16の内部に割込モード出力制御部75を設けることにより図10の合成処理部16−2となる。図13でも割込信号は1〜4の4種類を使用する例を示している。
図13では、アンドゲート76及びインバータ77は1個しか示していないが、それぞれ4個存在するものとし、割込モードレジスタ73の各出力端子1〜4がそれぞれのアンドゲート76及びインバータ77に別々に接続されているものとする。また、制御部17からの状態レジスタ71と履歴レジスタ72の比較結果はライン74を介して全てのアンドゲート76に共通に接続されるものとする。
割込モードレジスタ73の所定の割込信号対応部分、例えば割込信号1に相当する割込みモードが設定されると、割込モードレジスタ73の出力端子1が“ハイ”または“1”となる。割込モードレジスタ73の出力端子1が“ハイ”になるとインバータ77を介して割込信号1のアンドゲートB1の1入力が“ロー”になり、割込モード期間中、割込信号1の出力はアンドゲートB1により無能化される。
一方、モードクリア要求を受信すると制御部17は状態レジスタ71と履歴レジスタ72の内容を比較し、比較結果が不一致の場合にはライン74を“ハイ”にする。この段階では割込モードレジスタ73はクリアされておらず出力端子1からは“ハイ”が出力されている。そのため割込モードレジスタ73の出力端子1に相当するアンドゲート76の入力のみがアンド条件を満足し、“ハイ”を出力する。これにより、割込みモードレジスタの出力端子に対応する割込信号1のオアゲートC1の1入力が“ハイ”となり、割込信号1が出力される。その後、制御部17により割込モードレジスタ73がクリアされるよう構成しても、そのまま割込みモードをそのまま保持するよう構成してもよい。比較結果が一致した場合には、割込モードレジスタ73はクリアされる。
次に、以上の本発明の割込信号生成装置に使用する割込検出部20の実施形態を説明する。尚、以下の説明では、割込処理部15として、図6に示す割込処理部15−2を用いた構成例を示しているが、これは説明を簡単する便宜上のためであり、その他の実施形態にかかる割込処理部を使用することも可能である。
図14は、本発明にかかる割込信号生成装置10に使用可能な割込検出部の20の第1の実施形態の構成を示す機能ブロック図である。割込信号生成装置10には、図2の電源異常検知11、カバーオープン12等のセンサの出力信号が入力信号1〜nとして入力される。割込信号生成装置10には、各入力信号1〜nに対応してそれぞれ割込検出部20が合計n個設けられている。
各割込検出部20は同じ構成のものを使用可能であるので、図14では入力信号1に対応する割込検出部20についてのみ内部構成が示されている。
割込検出部20は、パターン生成部21、パターン比較部22及び検出信号生成部23とから構成されている。パターン生成部21では、入力信号から所定の信号パターンを生成する。パターン生成部21における信号パターンの生成は、バスライン25を介してCPUから設定される条件等によって制御される。パターン生成部21で生成された信号パターンは、パターン比較部22に出力される。
パターン比較部22では、パターン生成部から受信した信号パターンと所定のパターンデータとを比較する。比較する所定のパターンデータは、バスライン25を介してCPU1から送信される。パターン比較部22による比較の結果、信号パターンが所定のパターンデータと一致すると、一致信号が検出信号生成部23と状態記憶レジスタ24に出力される。
状態記憶レジスタ24は、出力された一致信号を対応するビット信号として記憶する。CPU1は、割り込み発生後の処理ルーチンで、この状態記憶レジスタの内容を読み取ることにより、割り込み原因を知ること及びどのようなエラーが発生しているのか等の装置の状態を確認することが可能となる。尚、割込処理部15内に状態記憶部18を設ける場合には、この状態記憶レジスタ24は設ける必要はない。
検出信号生成部23では、一致信号を受信したときに検出信号を割込処理部15に送出するかどうかを確定する。すなわち、一致信号を受信したときに直ちに検出信号を出力するのではなく、所定の条件を満足している場合にのみ、検出信号を出力する。これは、各種の入力信号1〜nのいずれかが所定の信号パターンであったとしても、さらに他の条件を満足しない限り、スリープモードを維持するようにすることを可能にするものである。この場合には、検出信号は出力されないためにCPU1への割り込みは行われないが、一致信号が発生した状態は、状態記憶レジスタ24に記憶される。従って、後刻割り込みが発生したときに、その事実をCPU1から確認可能であり、そのエラー状態等に応じた適切な処理を行うことが可能である。
検出信号を出力するための条件は、バスラインを介してCPU1から設定可能であり、具体的な条件はその装置の基本設計事項として、自由に設定可能である。
このように,入力信号から信号パターンを生成する条件の設定、一致信号を出力するためのパターンデータの設定、及び検出信号を発生するための条件の設定を、CPU1から自由に設定可能である。そのため、各種装置の多種多用な実際の使用環境に合わせて、状況変化の時間軸スケールの相違及び複雑な条件等を考慮した正確な割りこみ処理を行わせることが可能となる。
次に図15を用いて、本発明の割込検出部20の第2の実施形態を説明する。
図15は、本発明に適用する割込検出部20の第2の実施形態の機能ブロック図である。図15においては、パターン生成部21がクロック選択部31及びシフトレジスタ30により構成されている。クロック選択部31には、分周器37で複数のクロックに分周されたクロックが入力され、クロック選択情報記憶部32の出力により使用するクロックが選択される。このようにクロックを選択可能とすることにより、検知しようとする事象に対応する適切なクロックを使用して、信号パターンを生成することが可能となる。
どのクロックを使用するかは、CPU1から予めクロック選択情報記憶部32に設定され、必要に応じて、CPU1から適宜変更可能である。また、分周器37を割込検出部20の外に設けたのは、入力信号1〜nに共通して1個の分周器37を設けることにより、全ての割込検出部20に複数のクロックを提供することができるようにするためである。
シフトレジスタ30には、入力信号1が入力され、選択されたクロック信号により、順次シフトされる。図15では、4段のシフトレジスタを使用しているが、4段以上又は以下のシフトレジスタを用いることも可能である。シフトレジスタ30の各出力段の出力信号は信号パターンとして、パターン比較部22に出力される。
パターン比較部22は、一致検出部33とパターンデータ記憶部34とから構成されている。一致検出部33は、予めCPU1からパターンデータ記憶部34に設定されたパターンデータとシフトレジスタ30の各出力段からのパラレル出力とを比較し、一致した場合に一致信号を状態記憶レジスタ24及び検出信号生成部23に出力する。
検出信号生成部23は、状態変化検出部35と、割込設定レジスタ36とからなる。状態変化検出部35は割込設定レジスタ36に記憶している条件を満たしているときに検出信号を出力する。割込設定レジスタ36への条件設定は、バスライン25を介してCPU1から制御される。
図16を用いて、シフトレジスタ30の出力と、一致信号の関係を説明する。
図16は、クロックと、入力信号1と、一致信号の出力タイミングを示すタイミングチャートである。尚、この例では、パターンデータとして“1110”が設定されているものとする。
今、所定のクロックが選択され、入力信号1が図16に示すタイミングでハイレベル(以下“H”と表示する)になったとする。尚、本シフトレジスタは、クロックの立ち上がりでシフト入力データを順次シフトするものとする。クロック “0”の立ち上がりタイミングでは、入力信号1はローレベル(以下“L”と表示する)であるので、シフトレジスタ30は入力信号の変化を捉えることはできない。従って、この時点では、シフトレジスタ30の各出力段の出力は“0000”である。
次のクロック信号であるクロック“1”の立ち上がり時には入力信号1は“H”になっているので、シフトレジスタ30の出力段1から“H”が出力される。
従って、この時点におけるシフトレジスタ30の各出力段の出力は“1000”である。
クロック“2”の立ち上がり時にも入力信号1は入力されているので、このタイミンでは、出力段1及び3の出力が“H”になり、シフトレジスタ30の各出力段の出力は“1100”となる。
同様にして、クロック“3”のときのシフトレジスタ30の各出力段の出力は “1110”となる。これは、パターンデータ“1110”と一致するので、サンプリング信号のタイミングで、一致信号が“H”となる。
クロック“4”のタイミングでは、シフトレジスタ30の各出力段の出力は“1111”となるので、パターンデータ“1110”と一致せず、一致信号はこれ以後出力されない。このような構成とすることにより、以下のような効果を得ることができる。まず、一定期間以上連続して信号の入力が無い限り一致信号は出力されないために、ノイズによる誤動作を防止できる。また、パターンデータ “1110”と一致した場合だけ一致信号を出力する構成であるので、入力信号が長期間継続している場合でも一致信号は、パターンが一致している所定の期間だけした出力されず、割込信号が連続して出力されることを防止することができる。
逆に一致信号を連続して出力させておき、検出信号生成部23において、他の条件で割込信号の発生を制御したい場合には、一致信号が発生したらその状態をラッチ又はフリップフロップ等で保持するように構成することも可能である。また、パターンデータを“1111”と設定しておくことにより、一致信号を保持させることもできる。パターンデータが“1111”に設定されていると、図16の最下段に示す通り、シフトレジスタ30の全出力が“H”になった後、入力信号1が“H”である限り、一致信号が継続して出力される。このようにパターンデータを“1111”と設定して一致信号を連続出力させる場合には、入力信号1〜nが無くなると、自動的に一致信号も出力されないので、ラッチ等に記憶させる場合と異なりリセット動作が不要であるという効果も有する。
このように、信号パターンとパターンデータとが一致するときに検出信号を出力する構成とすることにより、ホスト装置50からの制御データにより、CPU1をスリープモードから動作モードに遷移させることが可能となる。
図17を用いて説明する。図17は、スリープモード中のプリンタのような通信端末装置60を、本発明にかかる割込信号生成装置10を使用して、ホスト装置50から動作モードに遷移させる場合を説明するための機能ブロック構成図である。図17には、ホスト装置50と、ホスト装置に接続された通信端末装置(例えばプリンタ)60を示しており、通信端末装置60は本発明にかかる割込信号生成装置10を有している。図17では、説明を簡単にし、説明の要点をわかりやすくするため、通信端末装置60の詳細部分は省略してある。今、通信端末装置60の割込信号生成装置10のパターンデータ記憶部34(図15)にはパターンデータ“1110”が記憶されているものとする。
ホスト装置50が通信端末60のCPU1を動作モードに遷移させることを希望する場合、ホスト装置50はデータ“1110”を通信端末60に送信する。
通信端末60のレベル変換部27、プロトコル変換部28及び割込信号生成装置10は、CPU1がスリープモード中であっても、動作している。従って、ホスト装置50から送信されたデータ“1110”は受信され、レベル変換器27、プロトコル変換器28を経て、割込信号生成装置10のシフトレジスタ30に入力される。
今、パターンデータ記憶部34にはパターンデータ“1110”が記憶されているので、一致検出部から一致信号が出力される。これにより、検出信号生成部23から割込処理部15に検出信号が出力される。割込処理部15では、検出信号に基づき割込信号を作成し割込ライン26を介してCPU1は割込ポートに割込信号を送出する。これにより、CPU1は割込み処理ルーチンによりスリープモードから動作モードに遷移する。
ホスト装置50からの受信データ“1110”を、シフトレジスタ30に設定する方法は、当業者にとって周知の各種の手段を採用可能であるが、ここでは、シリアルインターフェースの場合と、パラレルインターフェースの場合とに分けた代表的な例を説明する。
シリアルインターフェースの場合、プロトコル変換部28から、受信データを所定のクロックに同期させてシリアルデータとしてシフトレジスタ30に出力するよう構成する。このとき、クロック選択部31により、シリアルデータの同期クロック(図示せず)をシフトクロックとして選択することにより、プロトコル変換部28から受信データがシリアルにシフトレジスタ30に入力される。パラレルインターフェースの場合には、例えば、受信データ“1110”をシフトレジスタ30にパラレルに直接入力するように構成する。
図18を用いて、本発明に適用可能な割込検出部20の第3の実施形態を説明する。図18は、第3の実施形態にかかる割込検出部20の機能ブロック図を示す。図18の割込検出部20と図16の割込検出部20の違いは、図18の割込検出部20においては、クロック選択部31とシフトレジスタ30の間にタイマ38と、タイマ選択記憶部39を設けたことである。このような構成とすることにより、シフトレジスタ30に入力するクロック信号の周期をさらに変化させることができ、シフトクロックを種々変化させることが可能となる。
次に図19を用いて本発明に適用可能な割込検出部20の第4の実施形態を説明する。図19は、割込検出部20の第4の実施形態の機能ブロック図であり、既に説明した他の実施形態との共通部分は1部省略して示している。既述した他の実施形態と異なる部分は、検出信号生成部23が、16ビットカウンタ41、カウント比較部42及びカウント記憶部43とから構成されている点である。
この実施形態では、一致信号は16ビットカウンタ41のイネーブル入力端子En及びクリア入力端子とCLRに入力されている。従って、一致信号が出力されている限り、カウントし続けるが、一致信号が出力されないとリセットされ、次の一致信号が出力されたときに再びカウントを再開する。このような構成は、一定の期間以上一致信号が連続して長期間出力される場合に有用である。尚、本実施形態では、16ビットカウンタ41を使用しているが、これは例示であり、16ビット以上のカウンタ又はこれ以下のカウンタを使用することもできる。
16ビットカウンタ41の出力はカウント比較部42に入力される。カウント比較部42にはカウント記憶部43からの出力も入力されており、両入力が比較される。カウント記憶部43には、予めCPU1により所定のカウントが設定されている。16ビットカウンタ41のカウントとカウンタ記憶部43のカウントが一致すると、検出信号が割込処理部15に出力される。割込処理部15は、検出信号に基づき所定の順位の割込信号を作成し、作成した割込信号を割込ライン26を介してCPU1の割込ポートに送信する。割込ポートに割込信号が入力されるとCPUが起動され、ROM8又はRAM9に記憶された割込み処理ルーチンに従って、割込原因の確認及び必要な対応処理等が実行される。
このような第4の実施形態にかかる割込検出部20は、通常の信号より長い入力信号1〜nの存在を条件に割込信号を発生させる場合に有効である。長い入力信号の存在を短い周期のクロックで検知する場合にはシフトレジスタ30の出力段の数を相当数増やす必要がある。一方、入力信号1〜nは多種多様であるので、パターン生成部21の入力信号を一律に長くすることはできない。例えば、割込要因として判断する場合に必要な信号の周期は、短いものと長いものでは1000倍を超える場合(短い信号では20μs、長い信号では20ms等)も考えられる。
検知しようとする入力信号の長さが1000倍も長くなると、分周器37により対応する周波数のクロックを作成することは現実的ではないばかりでなく、正確なパターン生成ができなくなるという問題がある。シフトレジスタ30ではシフトクロックの立ち上がり又は立下りのタイミングで入力信号をサンプリングする。したがって、シフトクロックの1周期の中間で入力信号1〜nが無くなっても、次のサンプリングタイムに入力信号1〜nが存在すると、何事もなかったように入力信号が順次シフトされてしまい、その変化を認識できない。
シフトクロックの周期が長くなるとこのような危険が大きくなるので、シフトクロックの周期をあまり長くすることは好ましくない。これは、割込検出部20の第3の実施形態においてタイマ38により、クロックの周期を長くするようにした場合にも同様である。
このような問題をさけるために、短い周期のシフトクロックを使用する場合、長い入力信号の信号パターンを生成するためパターン生成部21のシフトレジスタ30のシフト段を非常に長くしなければならない。
以上の説明でわかるように、図19に示す第4の実施形態にかかる割込検出部20は、その入力信号の性質に応じて、第2又は第3の実施形態にかかる割込検出部20とを組み合せて使用する場合に極めて有用となる。すなわち、一般的な長さの入力信号の割込検出には第2又は第3の実施形態の割込検出部20を使用し、これらの入力信号よりかなり長い入力信号の割込検出には第4の実施形態にかかる割込検出部20を使用するというように、異なる種類の割込検出部20を組み合せて使用することができる。
次に図20のタイミングチャートを用いて、図19の割込検出部20により検出信号が出力されるタイミングを説明する。16ビットカウンタ41はクロック信号2によりカウントされる。非常に長い入力信号を検出する場合には、一般的には、クロック信号2はパターン生成部21のクロック1より長いクロックを使用することが好ましい。一致信号が“L”から“H”に変化すると、カウンタイネーブルが“H”となり、カウントが開始される。16ビットカウンタ41のカウントがカウント記憶部43のカウント一致すると、一致信号が出力されて、これにより検出信号が一定期間出力される。
一致信号がカウント一致前に出力されなくなると(破線で表示)、カウンタはクリアされ(図20最下段)、カウント一致信号が出力されない。そのため検出信号も出力されず、割込は発生しない。
1 CPU、2 印刷機構、4 印刷機構駆動回路、7 インタフェース、8 ROM、9 RAM、10 割込信号生成装置、11 電源異常検出装置、12 印字用紙検知装置、13 カバーオープン検知装置、14 インク無し検知装置、15 割込処理部、16 合成処理部、16−1〜n 合成処理部のエンコード部、17 制御部、18 状態記憶部、19 順位変更部、19−1〜m 順位変更部のエンコード部、20 割込検出部、21 パターン生成部、22 パターン比較部、23 検出信号生成部、24 状態記憶レジスタ、25 バスライン、26 割込信号ライン、29 割込信号生成部、30 シフトレジスタ、31 クロック選択部、32 クロック選択情報記憶部、33 一致検出部、34 パターンデータ記憶部、35 状態変化検出部、36 割込設定レジスタ、41 16ビットカウンタ、42 カウント比較部、43 カウント記憶部、45 順位変更部のエンコード部、46 順位変更部の選択レジスタ、50 ホスト装置、60 通信端末装置(プリンタ)、62 構成処理部の選択レジスタ。

Claims (5)

  1. ホスト装置から送信された印刷命令及び印刷データに従って、印刷を行うプリンタの割込信号生成装置において、
    センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに、前記割込要因毎に生成される複数の検出信号を出力する割込検出部と、
    前記割込検出部から受信した前記複数の検出信号の一部又は全部を2以上のグループに分割するグループ設定部と、前記グループ設定部により設定されたグループに属する前記複数の検出信号のいずれかを受信したときに該グループに割り付けられた所定の順位の割込信号を生成して出力する割込信号出力部と、を備えた割込信号出力制御部と、
    前記複数の検出信号の受信状態を記憶する状態記憶部と、
    CPUにより制御されるものであり、前記割込信号の出力後の割込み処理中に受信した前記検出信号を前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記状態記憶部に記憶した検出信号に基づき対応する割込信号を出力させるよう前記状態記憶部及び前記割込信号出力部を制御する割込モード制御部と、
    を備え、
    前記割込モード制御部は、
    割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該検出信号を他の検出信号と区別可能に前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記区別可能に記憶した検出信号に対応する割込信号を出力させるよう前記割込信号出力部を制御し、
    前記CPUがスリープモードへ移行する処理において、ウォッチドックタイマの入力信号を優先順位の低いグループに変更することを特徴とする割込信号生成装置。
  2. 前記グループ設定部は、前記複数の検出信号を少なくとも2以上のグループに分割し、第1番目の優先順位のグループは、正常動作に支障を来す状況の発生が割り当てられ、第2番目の優先順位のグループは、印刷処理に支障を来す状況の発生が割り当てられることを特徴とする請求項1に記載の割込信号生成装置。
  3. 前記割込モード制御部は、前記割込み処理中に前記状態記憶部に記憶した検出信号または前記区別可能に記憶した検出信号に対応する割込信号の出力を、現在の割込み処理が終了するまで禁止することを特徴とする請求項1又は2に記載の割込信号生成装置。
  4. 前記状態記憶部は、前記検出信号の受信内容を順次記憶する状態レジスタと、前記状態レジスタの記憶内容と同一内容を記憶しており状態レジスタの記憶内容の変更に応じて記憶内容を更新する履歴レジスタとを備えており、
    前記割込モード制御部は、割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該受信した検出信号に対応する部分の前記履歴レジスタの更新を禁止し、割込み処理の終了後に前記状態レジスタと前記履歴レジスタとを比較して記憶内容に不一致が存在するときに不一致部に対応する割込信号を出力するよう前記割込信号出力部を制御することを特徴とする請求項1に記載の割込信号生成装置。
  5. センサまたは監視装置からの出力信号に基づいて複数種類の割込要因の発生を監視し、割込要因の発生を検出したときに、複数の検出信号が割込検出部より出力され、出力された前記複数の検出信号の一部又は全部は、グループ設定部により2以上のグループに分割され、分割されたグループ毎に割込信号検出部は割込信号を生成して出力するプリンタの割込信号生成装置の割込信号生成方法において、以下の工程を備えることを特徴とする割込信号の生成方法。
    (a)前記割込検出部は、割込要因の発生を監視して、割込要因が発生したときに検出信号生成して出力する工程と、
    (b) 前記検出信号を受信したときに、グループ設定部は、受信した前記複数の検出信号の一部又は全部を2以上のグループに分割し、前記グループ設定部により設定されたグループに属する前記複数の検出信号のいずれかを受信したときに、割込信号出力部は、該グループに割り付けられた所定の順位の割込信号を生成して出力する工程と、
    (c) 前記複数の検出信号の受信状態を状態記憶部により記憶する工程と、
    (d) 前記割込信号の出力後の割込み処理中に受信した前記検出信号を前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記状態記憶部に記憶した検出信号に基づき対応する割込信号を出力させるように割込モード制御部が前記状態記憶部及び前記割込出力部を制御する工程と、
    (e) 前記割込モード制御部は、CPUにより制御されるものであり、前記割込み処理中に該割込み処理の原因となった検出信号と同一グループに属する前記検出信号を受信したときに、該検出信号と区別可能に前記状態記憶部に記憶し、現在の割込み処理の終了後に、前記区別可能に記憶した検出信号に対応する割込信号を出力させ、前記CPUがスリープモードへ移行する処理において、ウォッチドックタイマの入力信号を優先順位の低いグループに変更するよう前記割込信号出力部を制御する工程。
JP2009246299A 2000-05-29 2009-10-27 割込信号生成装置及び割込信号の生成方法 Expired - Fee Related JP4600586B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009246299A JP4600586B2 (ja) 2000-05-29 2009-10-27 割込信号生成装置及び割込信号の生成方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000158349 2000-05-29
JP2009246299A JP4600586B2 (ja) 2000-05-29 2009-10-27 割込信号生成装置及び割込信号の生成方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001107368A Division JP2002055830A (ja) 2000-05-29 2001-04-05 割込信号生成装置及び割込信号の生成方法

Publications (2)

Publication Number Publication Date
JP2010033590A JP2010033590A (ja) 2010-02-12
JP4600586B2 true JP4600586B2 (ja) 2010-12-15

Family

ID=41737896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009246299A Expired - Fee Related JP4600586B2 (ja) 2000-05-29 2009-10-27 割込信号生成装置及び割込信号の生成方法

Country Status (1)

Country Link
JP (1) JP4600586B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999034298A1 (en) * 1997-12-31 1999-07-08 Intel Corporation Apparatus and method for initiating hardware priority management by software controlled register access

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01290040A (ja) * 1988-05-18 1989-11-21 Fuji Electric Co Ltd ディジタル信号切換回路
JPH0581040A (ja) * 1991-09-20 1993-04-02 Fujitsu Ltd コンピユータシステム
JP3715328B2 (ja) * 1992-09-21 2005-11-09 株式会社東芝 データ処理装置
JP3242508B2 (ja) * 1993-11-05 2001-12-25 松下電器産業株式会社 マイクロコンピュータ
JPH09251387A (ja) * 1996-03-18 1997-09-22 Sharp Corp 割り込み要求優先順位決定回路
JPH10333923A (ja) * 1997-06-03 1998-12-18 Kenwood Corp マイクロコンピュータの割込み制御回路
EP0884684B1 (en) * 1997-06-13 2004-10-27 Alcatel Multiple interrupt handling method and apparatus
JPH1165887A (ja) * 1997-08-22 1999-03-09 Canon Inc プロセッサ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999034298A1 (en) * 1997-12-31 1999-07-08 Intel Corporation Apparatus and method for initiating hardware priority management by software controlled register access

Also Published As

Publication number Publication date
JP2010033590A (ja) 2010-02-12

Similar Documents

Publication Publication Date Title
KR100705895B1 (ko) 인터럽트 신호 생성 장치
US6600575B1 (en) Clock supply circuit
CN101387843B (zh) 电源控制系统
EP2100207B1 (en) Direct memory access controller
US6606670B1 (en) Circuit serial programming of default configuration
JP5109935B2 (ja) プロセッサシステムの動作方法およびプロセッサシステム
US10409749B2 (en) Semiconductor device and system provided with a communication interface
WO2021041768A1 (en) Daisy chain mode entry sequence
CN104636289A (zh) 半导体装置
KR102554978B1 (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
JP4600586B2 (ja) 割込信号生成装置及び割込信号の生成方法
JP4178210B2 (ja) 遊技機
JP2006201948A (ja) 割込み信号受け付け装置および割込み信号受け付け方法
WO2002015517A2 (en) Remote configuration of network node via controller area network messages
JP2001337838A (ja) 中央処理装置への割込信号発生装置及び割込方法
JP4963612B2 (ja) 情報処理装置
WO2002015486A2 (en) Fully programmable device operation control to allow commands
JP7087752B2 (ja) 電子装置
US20230216488A1 (en) Event detection control device and method for circuit system controlled by pulse wave modulation signal
JP5101044B2 (ja) 測定装置
JP2001125606A (ja) ステートマシーン
JP4487599B2 (ja) 周辺装置及び周辺装置の電源切替方法
US20040230319A1 (en) Microcontroller device for complex processing procedures and corresponding interrupt management process
CN114222954A (zh) 控制装置以及控制方法
JPH0573360A (ja) ウオツチドツグ・タイマ

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100831

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100913

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees