(57)【要約】【課題】特定の割込み処理の完了を監視することによって、ステッピングモータを安定して制御することができるようにする。【解決手段】ステッピングモータの割込み制御処理を実行する制御部と、割込み要求を発生する割込みソースと、割込みソースのうちの特定の割込みソースの割込み要求が発生してからの時間が制限時間を経過するとカウントアップ信号を出力する割込み時間監視カウンタと、ステッピングモータの状態を示すモータ状態情報を格納して出力するモータ状態情報レジスタと、カウントアップ信号が出力されると、モータ状態情報レジスタが出力したモータ状態情報に付加情報を付加する情報付加部とを有し、特定の割込みソースの割込み要求が発生すると割込み制御処理を開始し、モータ状態情報の読取りを行い、モータ状態情報に付加情報が付加されている場合には割込み制御処理を途中で終了する。【選択図】図１
2015123700.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータの割込み制御処理を実行する制御部と、
割込み要求を発生する割込みソースと、
該割込みソースのうちの特定の割込みソースの割込み要求が発生してからの時間が制限時間を経過するとカウントアップ信号を出力する割込み時間監視カウンタと、
前記ステッピングモータの状態を示すモータ状態情報を格納して出力するモータ状態情報レジスタと、
前記カウントアップ信号が出力されると、前記モータ状態情報レジスタが出力したモータ状態情報に付加情報を付加する情報付加部とを有し、
前記制御部は、前記特定の割込みソースの割込み要求が発生すると前記割込み制御処理を開始し、前記モータ状態情報の読取りを行い、該モータ状態情報に前記付加情報が付加されている場合には前記割込み制御処理を途中で終了することを特徴とする割込み制御装置。
【請求項２】
前記割込み要求が発生した旨を前記制御部及び割込み時間監視カウンタに通知する割込み要求レジスタを更に有し、
該割込み要求レジスタは、前記割込みソースのうちの特定の割込みソースの割込み要求が発生した旨のみを前記割込み時間監視カウンタに通知する請求項１に記載の割込み制御装置。
【請求項３】
前記割込み時間監視カウンタは、前記割込み要求レジスタから前記特定の割込みソースの割込み要求が発生した旨の通知を受けると、前記制限時間のカウントを開始する請求項２に記載の割込み制御装置。
【請求項４】
前記情報付加部は、前記モータ状態情報の特定のビットに前記付加情報を付加する請求項１〜３のいずれか１項に記載の割込み制御装置。
【請求項５】
前記制御部は、前記モータ状態情報に前記付加情報が付加されている場合には前記割込み制御処理を途中で終了することによって、次回の割込み制御処理の発生タイミングに影響を及ぼさないようにする請求項１〜４のいずれか１項に記載の割込み制御装置。
【請求項６】
前記制御部は、前記モータ状態情報に前記付加情報が付加されていない場合には、前記モータ状態情報に基づくフィードバック処理を実行した後に、前記割込み制御処理を終了する請求項１〜５のいずれか１項に記載の割込み制御装置。
【請求項７】
直近の過去において前記特定の割込みソースの割込み要求が発生してからの時間が制限時間を経過した回数をカウントして経過回数を出力する経過回数カウンタを更に有し、
前記情報付加部は、前記経過回数を前記付加情報に更に付加し、
前記制御部は、前記モータ状態情報に前記付加情報が付加され、かつ、前記経過回数が所定回数以上である場合には前記割込み制御処理を途中で終了する請求項１〜６のいずれか１項に記載の割込み制御装置。
【請求項８】
前記制御部は、前記モータ状態情報に前記付加情報が付加され、かつ、前記経過回数が所定回数未満である場合には、次回の割込み制御処理の処理時間を延ばした後に、前記割込み制御処理を終了する請求項７に記載の割込み制御装置。
【請求項９】
前記経過回数カウンタは、直近の過去の複数回の割込み制御処理において前記特定の割込みソースの割込み要求が発生してからの時間が制限時間を連続して経過した回数をカウントして経過回数を出力する請求項７又は８に記載の割込み制御装置。
【請求項１０】
前記情報付加部は、前記モータ状態情報の特定の複数のビットに前記モータ状態情報が付加された付加情報を付加する請求項７〜９のいずれか１項に記載の割込み制御装置。
【請求項１１】
請求項１〜１０のいずれか１項に記載の割込み制御装置を備える画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割込み制御装置及び画像形成装置に関するものである。
【背景技術】
【０００２】
従来、プリンタ、複写機、ファクシミリ機等の画像形成装置においては、印刷用紙等の媒体を搬送したり、印字ヘッド等のヘッドを駆動したりするためにステッピングモータが使用されている。そして、該ステッピングモータの回転は、該ステッピングモータに供給される電流を切替えることによって制御されるところ、前記電流を切替えるための相切替信号を出力するタイミングは、タイマによって管理されている。
【０００３】
例えば、相切替信号が出力されてから次の相切替信号が出力されるまでの所定の時間、すなわち、相切替時間は、タイマによってカウントされる。そして、前記相切替時間がカウントアップされると、前記相切替信号が出力されるとともに、次の相切替信号が出力されるまでの相切替時間のカウントが開始される。同時に、割込み処理が実行され、次の割込みタイミングで設定される相切替時間の設定がプログラムによって行われる。ステッピングモータの制御においては、相切替えの割込み処理をステッピングモータの速度に関連した時間間隔で実行し、かつ、該時間間隔内に割込み処理を完了することが重要である（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６０９００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の画像形成装置においては、相切替えの割込み処理のように定期的に実行される割込み処理よりも優先度の高い処理が実行中である場合、前記割込み処理の実行開始が待機させられてしまう。そして、実行開始が待機させられると、前記割込み処理が完了するタイミングが遅延してしまい、その遅延が大きい場合には、次の割込みタイミングに間に合わなくなってしまう。このように、次の割込みタイミングまでに割込み処理が完了しなくなると、ステッピングモータの定期的な制御が不可能となり、異常状態となってしまう。
【０００６】
本発明は、前記従来の問題点を解決して、特定の割込み処理の完了を監視することによって、ステッピングモータを安定して制御することができる割込み制御装置及び画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
そのために、本発明の割込み制御装置においては、ステッピングモータの割込み制御処理を実行する制御部と、割込み要求を発生する割込みソースと、該割込みソースのうちの特定の割込みソースの割込み要求が発生してからの時間が制限時間を経過するとカウントアップ信号を出力する割込み時間監視カウンタと、前記ステッピングモータの状態を示すモータ状態情報を格納して出力するモータ状態情報レジスタと、前記カウントアップ信号が出力されると、前記モータ状態情報レジスタが出力したモータ状態情報に付加情報を付加する情報付加部とを有し、前記制御部は、前記特定の割込みソースの割込み要求が発生すると前記割込み制御処理を開始し、前記モータ状態情報の読取りを行い、該モータ状態情報に前記付加情報が付加されている場合には前記割込み制御処理を途中で終了する。
【発明の効果】
【０００８】
本発明によれば、割込み制御装置は、特定の割込み処理の完了を監視する。これにより、ステッピングモータを安定して制御することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施の形態における画像形成装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態における制御ユニットの要部の構成を示すブロック図である。
【図３】本発明の第１の実施の形態におけるモータ制御割込み処理に対する時間監視制御を示すタイムチャートである。
【図４】本発明の第１の実施の形態におけるモータ制御割込み処理の動作を示すフローチャートである。
【図５】本発明の第２の実施の形態における制御ユニットの要部の構成を示すブロック図である。
【図６】本発明の第２の実施の形態におけるモータ制御割込み処理に対する時間監視制御を示すタイムチャートである。
【図７】本発明の第２の実施の形態におけるモータ制御割込み処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１１】
図１は本発明の第１の実施の形態における画像形成装置の構成を示すブロック図である。
【００１２】
図において、１０は画像形成装置であり、例えば、プリンタ、ファクシミリ機、複写機、プリンタ、ファクシミリ機及び複写機の機能を併せ持つ複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）等であって、インクジェット方式、電子写真方式、熱転写方式等の各種の画像形成方式を利用して、印刷用紙等の媒体に画像を形成することが可能な装置であれば、いかなる種類の画像形成装置であってもよい。なお、本実施の形態においては、前記画像形成装置１０が熱転写方式のプリンタである場合について説明する。
【００１３】
そして、前記画像形成装置１０は、図示されないネットワーク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）回線等の通信回線を介して、上位装置としてのホスト装置１１と通信可能に接続されている。該ホスト装置１１は、印刷データを含む印刷コマンドを作成して画像形成装置１０に送信することができる装置であれば、いかなる種類の装置であってもよく、例えば、サーバ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、電子手帳、ゲーム機、携帯電話機等であってもよいが、ここでは、例えば、ＣＰＵ、ＭＰＵ等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、キーボード、マウス、タッチパネル等の入力手段、ＣＲＴ、液晶ディスプレイ等の表示手段、通信インターフェイス等を備えるパーソナルコンピュータであるものとして説明する。
【００１４】
また、前記画像形成装置１０は、該画像形成装置１０の各部の動作を制御する制御装置としての制御ユニット１２、記憶手段としてのＲＯＭ１３、記憶手段としてのＲＡＭ１４、電源電圧分圧部としての電源電圧分圧回路１５、温度検出手段としての温度センサ１６、ユーザインターフェイスとしての操作パネル１７、画像形成部である熱転写ヘッドとしてのサーマルヘッド１８、モータ駆動部としてのモータドライバ回路１９及びステッピングモータとしての媒体搬送モータ２０を有する。
【００１５】
ここで、前記ＲＯＭ１３は、画像形成装置１０を制御するプログラムとしてのプリンタ制御プログラムを格納する。また、前記ＲＡＭ１４は、前記プリンタ制御プログラムや画像形成装置１０の制御に必要な各種データを格納する。さらに、前記電源電圧分圧回路１５は、画像形成装置１０の電源の電圧が規定している範囲を超えることがないか否かを確認する。さらに、前記温度センサ１６は、発熱によって変化する媒体搬送モータ２０の温度を検出し、該温度をアナログ信号に変換して出力する。
【００１６】
さらに、前記操作パネル１７は、画像形成装置１０のユーザが操作を行うためのスイッチ、画像形成装置１０の状態を確認するための表示パネル等を備える。さらに、前記サーマルヘッド１８は、熱転写印刷を行うことによって媒体に画像を形成する。さらに、前記モータドライバ回路１９は、前記媒体搬送モータ２０を駆動する。さらに、該媒体搬送モータ２０は、媒体を搬送するローラ、ベルト等を駆動するための駆動源である。
【００１７】
また、前記制御ユニット１２は、メモリ制御部２２とＣＰＵ２３とを含む制御部としての中央制御部２１、Ａ／Ｄコンバータ２４、パネルＩ／Ｆ制御部２５、割込み制御部２６、印刷制御部２７、モータ制御部２８、タイマ２９及びホストＩ／Ｆ制御部３０を備える。なお、前記メモリ制御部２２、ＣＰＵ２３、Ａ／Ｄコンバータ２４、パネルＩ／Ｆ制御部２５、割込み制御部２６、印刷制御部２７、モータ制御部２８、タイマ２９及びホストＩ／Ｆ制御部３０は、通信回線としての内部バス３１を介して、相互に通信可能に接続されている。
【００１８】
ここで、前記中央制御部２１は、ステッピングモータとしての媒体搬送モータ２０の割込み制御処理を実行する。そして、前記メモリ制御部２２は、前記ＲＯＭ１３及びＲＡＭ１４と通信可能に接続され、前記ＲＯＭ１３及びＲＡＭ１４のリード（読取り）及びライト（書込み）を行う。また、前記ＣＰＵ２３は、演算手段であって、前記メモリ制御部２２を介してリードしたプリンタ制御プログラムを実行する。さらに、前記Ａ／Ｄコンバータ２４は、電源電圧分圧回路１５及び温度センサ１６が出力するアナログ信号をデジタル信号に変換する。さらに、前記パネルＩ／Ｆ制御部２５は、前記操作パネル１７にアクセスし、該操作パネル１７のスイッチのリードや、表示パネルの表示指示を行う。
【００１９】
そして、前記ホストＩ／Ｆ制御部３０は、ホスト装置１１に接続され、印刷データの受信や制御データの送受信を行う。また、前記タイマ２９は、計時手段であって、操作パネル１７の制御等、周期的に処理を発生させるためのトリガとして機能する。さらに、前記モータ制御部２８は、媒体搬送モータ２０を駆動するための信号制御を行う。具体的には、ステッピングモータである媒体搬送モータ２０へ供給される電流を切替えるための相切替信号３７ａ、及び、各相の電流値に相当するＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ：パルス幅変調）制御のオンデューティ時間を決定するための電流制御信号３７ｂを、媒体搬送モータ２０を駆動するモータドライバ回路１９に出力する。
【００２０】
また、前記印刷制御部２７は、サーマルヘッド１８を駆動するための信号制御を行う。さらに、前記割込み制御部２６は、モータ制御部２８、タイマ２９及びホストＩ／Ｆ制御部３０から出力される第１〜第３割込み要求信号３２ａ〜３２ｃを監視し、割込み要求が発生したことを検出するとＣＰＵ２３に通知する。
【００２１】
なお、前記モータ制御部２８から割込み制御部２６へ出力される割込み要求信号としての第１割込み要求信号３２ａは、ステッピングモータである媒体搬送モータ２０の相切替タイミングをＣＰＵ２３に通知するために使用される。また、前記タイマ２９から割込み制御部２６へ出力される割込み要求信号としての第２割込み要求信号３２ｂは、操作パネル１７の定期的な監視を行うために、一定の間隔でＣＰＵ２３に通知するために使用される。さらに、前記ホストＩ／Ｆ制御部３０から割込み制御部２６へ出力される割込み要求信号としての第３割込み要求信号３２ｃは、ホスト装置１１からの印刷データの処理を速やかに実行するために、ホスト装置１１からの印刷データの受信が検出されたときにＣＰＵ２３に通知するために使用される。
【００２２】
次に、前記制御ユニット１２の構成について詳細に説明する。
【００２３】
図２は本発明の第１の実施の形態における制御ユニットの要部の構成を示すブロック図である。
【００２４】
本実施の形態における割込み処理のための制御は、主として、中央制御部２１、Ａ／Ｄコンバータ２４、割込み制御部２６及びモータ制御部２８によって実行される。そして、前記割込み制御部２６は、図に示されるように、割込み要求レジスタ３３、割込み時間監視カウンタ３４及び割込み監視時間設定レジスタ３５を備える。
【００２５】
前記割込み要求レジスタ３３は、割込み要求を発生する特定の割込みソースとしてのモータ制御部２８からの第１割込み要求信号３２ａ、並びに、割込み要求を発生するその他の割込みソースとしてのタイマ２９及びホストＩ／Ｆ制御部３０からの第２割込み要求信号３２ｂ及び第３割込み要求信号３２ｃを受信し、ＣＰＵ２３に割込み要求が発生したことを通知する。また、前記割込み要求レジスタ３３は、設定に応じて、割込み時間監視カウンタ３４にも、割込み要求が発生したことを通知する。
【００２６】
そして、前記割込み時間監視カウンタ３４は、割込みソースのうちの特定の割込みソースの割込み要求が発生してからの時間が制限時間を経過するとカウントアップ信号を出力する。具体的には、割込み要求レジスタ３３から特定の割込みソースの割込み要求が発生した旨の通知を受けると、カウントを開始する。これは、割込み要求が発生した時点からの時間をカウントするためである。
【００２７】
本実施の形態の場合、前記割込み要求レジスタ３３は、第１割込み要求信号３２ａがハイレベルになったことを検出すると、割込み時間監視カウンタ３４へ割込み要求が発生したことを通知する。しかし、第２割込み要求信号３２ｂ又は第３割込み要求信号３２ｃがハイレベルになったことを検出しても、割込み時間監視カウンタ３４へは割込み要求が発生したことを通知しない。
【００２８】
一般的に、ステッピングモータの制御においては、割込み発生タイミング毎に制御を確実に実行しなければならない。そのため、前記割込み時間監視カウンタ３４は、モータ制御部２８からの割込み要求だけを監視する必要がある。しかし、タイマ２９やホストＩ／Ｆ制御部３０からの割込み要求については、割込み処理の開始が遅れても致命的な障害が発生しないため、前記割込み時間監視カウンタ３４が監視を行う必要はない。
【００２９】
前記割込み監視時間設定レジスタ３５は、割込み時間監視カウンタ３４がカウントする時間を格納しておくレジスタである。前記カウントする時間は、前記制限時間であって、あらかじめ中央制御部２１によって、割込み時間監視カウンタ３４に設定されている。そして、前記カウントする時間が経過したタイミングにおいて、前記割込み時間監視カウンタ３４は、カウントアップ信号としての時間監視カウントアップ信号３６を出力する。具体的には、時間監視カウントアップ信号３６をハイレベルにして、Ａ／Ｄコンバータ２４へ出力する。
【００３０】
該Ａ／Ｄコンバータ２４は、レジスタとしての第１レジスタ４１及び第２レジスタ４２、セレクタ部としてのセレクタ回路４３、情報付加部としての情報付加回路４４、デコード部としてのデコード回路４５並びにＡ／Ｄ変換部４６を備える。
【００３１】
そして、前記第１レジスタ４１は、第１チャンネルＣＨ１を介して電源電圧分圧回路１５から入力されたアナログ信号の電圧値をＡ／Ｄ変換部４６によってデジタル値に変換した値を格納する。また、前記第２レジスタ４２は、ステッピングモータの状態を示すモータ状態情報を格納して出力するモータ状態情報レジスタとして機能する。具体的には、第２チャンネルＣＨ２を介して温度センサ１６から入力されたアナログ信号の電圧値をＡ／Ｄ変換部４６によってデジタル値に変換した値を格納する。
【００３２】
さらに、前記デコード回路４５は、中央制御部２１からレジスタのリード要求が発生した場合、中央制御部２１から出力されたアドレスデータ４９で要求されたレジスタアドレスの値に基づいて、第１レジスタ４１及び第２レジスタ４２から該当するレジスタを選択する。具体的には、前記デコード回路４５は、中央制御部２１から出力されたアドレスデータ４９に該当するレジスタが第１レジスタ４１であるか、第２レジスタ４２であるかを決定し、セレクタ回路４３に対してレジスタセレクト信号５１を出力する。
【００３３】
そして、前記セレクタ回路４３は、デコード回路４５が選択したレジスタに格納されている値を、情報付加回路４４に出力する。具体的には、前記セレクタ回路４３は、入力されている複数のレジスタのデータから、レジスタセレクト信号５１によって指定されたレジスタのデータを選択し、レジスタデータ４７として、情報付加回路４４に出力する。
【００３４】
該情報付加回路４４は、時間監視カウントアップ信号３６が出力されると、第２レジスタ４２が出力したモータ状態情報に付加情報を付加する。具体的には、割込み時間監視カウンタ３４から入力された時間監視カウントアップ信号３６の値を、内部バス３１に出力するレジスタリードデータ４８のＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：最上位のビット）に付加情報として付加する。そして、レジスタリードデータ４８のＭＳＢ以外の部分には、セレクタ回路４３から入力されるレジスタデータ４７をセットする。
【００３５】
本実施の形態においては、時間監視カウントアップ信号３６の値をレジスタリードデータ４８のＭＳＢに付加する場合について説明したが、時間監視カウントアップ信号３６の値を付加していることを認識することができるのであれば、時間監視カウントアップ信号３６の値を付加する部分は、必ずしもＭＳＢに限定されるものではなく、例えば、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：最下位のビット）であってもよく、いかなる部分であってもよい。
【００３６】
次に、前記構成の画像形成装置１０の動作について説明する。ここでは、媒体搬送モータ２０を制御するための割込み制御処理であるモータ制御割込み処理の動作について説明する。まず、モータ制御割込み処理に対する時間監視制御について説明する。
【００３７】
図３は本発明の第１の実施の形態におけるモータ制御割込み処理に対する時間監視制御を示すタイムチャートである。
【００３８】
ステッピングモータである媒体搬送モータ２０が回転中であれば、相切替のタイミング毎にモータ制御割込み処理が発生する。
【００３９】
本実施の形態において、割込み要求レジスタ３３は、特定の割込みソースとしてのモータ制御部２８からの割込み要求信号である第１割込み要求信号３２ａがハイレベルになったことを検出すると、割込み時間監視カウンタ３４へ割込み要求が発生したことを通知する。しかし、その他の割込みソースとしてのタイマ２９及びホストＩ／Ｆ制御部３０からの割込み要求信号である第２割込み要求信号３２ｂ及び第３割込み要求信号３２ｃがハイレベルになったことを検出しても、割込み時間監視カウンタ３４へは割込み要求が発生したことを通知しない。
【００４０】
そして、ステッピングモータである媒体搬送モータ２０が回転中であれば、モータ制御部２８は、図に示されるように、ステッピングモータである媒体搬送モータ２０へ供給される電流を切替えるための相切替信号３７ａを出力するとともに、第１割込み要求信号３２ａを出力する。該第１割込み要求信号３２ａは、相切替信号３７ａがハイレベルになるタイミング、すなわち、相切替えタイミング毎にアサートされてハイレベルになる。そして、第１割込み要求信号３２ａがハイレベルになると、割込み要求レジスタ３３は、割込み時間監視カウンタ３４へ割込み要求が発生したことを通知する。すると、割込み時間監視カウンタ３４は、割込み監視時間設定レジスタ３５に設定されている値、すなわち、制限時間をロードしてカウント動作を開始する。なお、割込み監視時間設定レジスタ３５に設定される値は、相切替えタイミングの間隔、すなわち、割込み発生間隔よりも短い時間にする。
【００４１】
そして、割込み時間監視カウンタ３４のカウント値が０になると、カウントアップとなり、割込み時間監視カウンタ３４は、時間監視カウントアップ信号３６をハイレベルにして、Ａ／Ｄコンバータ２４へ出力する。すると、情報付加回路４４は、時間監視カウントアップ信号３６の値をレジスタリードデータ４８のＭＳＢに付加する。これにより、Ａ／Ｄコンバータ２４から出されるレジスタリードデータ４８のＭＳＢの値が１になる。
【００４２】
次に、中央制御部２１が実行するモータ制御割込み処理について説明する。
【００４３】
図４は本発明の第１の実施の形態におけるモータ制御割込み処理の動作を示すフローチャートである。
【００４４】
特定の割込みソースとしてのモータ制御部２８からの割込み要求信号である第１割込み要求信号３２ａがハイレベルになって割込み要求が発生すると、中央制御部２１は、モータ制御割込み処理を開始し、媒体搬送モータ２０の相切替制御を継続するために、モータ制御部２８に次の相切替時間を設定する。なお、前回のモータ制御割込み処理において、媒体搬送モータ２０の回転速度の補正値が算出された場合には、該補正値を適用する。
【００４５】
続いて、中央制御部２１は、媒体搬送モータ２０の温度を把握するために、Ａ／Ｄコンバータ２４の第２レジスタ４２のリードを行う。具体的には、時間監視カウントアップ信号３６の値がＭＳＢに付加されたレジスタリードデータ４８のリードを行う。
【００４６】
続いて、中央制御部２１は、レジスタリードデータ４８のＭＳＢ＝１であるか否かを判断する。つまり、リードを行ったレジスタリードデータ４８のＭＳＢの値を確認し、ＭＳＢ＝１であるか、ＭＳＢ＝０であるかを判断する。
【００４７】
そして、ＭＳＢ＝１である場合、割込み要求発生からの時間が制限時間を経過している、すなわち、オーバーしていると判断することができるので、中央制御部２１は、割込み発生間隔を守るため、以降の動作を実行することなく、直ちにモータ制御割込み処理を終了する。
【００４８】
なお、制限時間をオーバーしている状態が発生した要因としては、例えば、割込み要求発生時点で、モータ制御割込み処理よりも高いプライオリティが与えられた他の処理が実行されていることが考えられる。中央制御部２１が他の処理を実行していると、モータ制御割込み処理の開始が待たされる。そして、長い時間待たされた後に処理を開始しても、モータ制御割込み処理のすべての処理ステップを実行完了する前に、次回のモータ制御割込みが発生してしまう。そのため、割込み要求発生からの時間が制限時間をオーバーしていた場合には、未実行の処理ステップを実行せずに、直ちにモータ制御割込み処理を終了する必要がある。
【００４９】
ここで、前記未実行の処理ステップは、媒体搬送モータ２０の温度情報に関する処理である。該温度情報に関する処理とは、媒体搬送モータ２０の温度の情報を認識して、モータ制御部２８にフィードバックを行う処理のことである。しかし、ステッピングモータである媒体搬送モータ２０の相切替タイミングの間隔、すなわち、割込み発生間隔は、数百〔μｓ〕程度の短時間であり、このような短時間では媒体搬送モータ２０の温度は急激には変化しない。したがって、前記温度情報に関する処理を今回のモータ制御割込み処理内に実行することができなくても、次回のモータ制御割込み処理で実行することができれば、媒体搬送モータ２０の制御において重大な不具合が発生することはない。
【００５０】
また、レジスタリードデータ４８のＭＳＢ＝１であるか否かを判断してＭＳＢ＝０である場合、中央制御部２１は、Ａ／Ｄコンバータ２４の値をモータ温度に換算する。具体的には、レジスタリードデータ４８のリードを行って得られたデータに含まれる温度センサ１６から入力された値を媒体搬送モータ２０の温度に換算する。
【００５１】
続いて、中央制御部２１は、モータ温度が規定温度より低いか否かを判断する。具体的には、媒体搬送モータ２０の温度があらかじめ設定された規定温度よりも低いか否かを判断する。
【００５２】
そして、モータ温度が規定温度より低くない、すなわち、規定温度以上である場合、中央制御部２１は、現状の温度に対応したモータ制御の補正値を算出し、モータ制御割込み処理を終了する。具体的には、媒体搬送モータ２０の温度を下げるために、媒体搬送モータ２０の回転速度を低下させるための補正値を算出するとともに、媒体搬送モータ２０を駆動するモータドライバ回路１９へ出力される電流制御信号３７ｂの補正値を算出して、モータ制御割込み処理を終了する。前記補正値は、次回のモータ制御割込み処理で適用される。
【００５３】
また、モータ温度が規定温度より低いか否かを判断して低い場合、すなわち、媒体搬送モータ２０の温度があらかじめ設定された規定温度よりも低い場合、媒体搬送モータ２０の温度を下げる必要がないので、中央制御部２１は、直ちにモータ制御割込み処理を終了する。
【００５４】
次に、フローチャートについて説明する。
ステップＳ１  媒体搬送モータ２０の相切替時間を設定する。
ステップＳ２  Ａ／Ｄコンバータ２４の第２レジスタ４２のリードを行う。
ステップＳ３  レジスタリードデータ４８のＭＳＢ＝１か否かを判断する。レジスタリードデータ４８のＭＳＢ＝１である場合は処理を終了し、レジスタリードデータ４８のＭＳＢ＝１でない場合はステップＳ４に進む。
ステップＳ４  Ａ／Ｄコンバータ２４の値を媒体搬送モータ２０の温度に換算する。
ステップＳ５  媒体搬送モータ２０の温度が規定温度よりも低いか否かを判断する。媒体搬送モータ２０の温度が規定温度よりも低い場合は処理を終了し、媒体搬送モータ２０の温度が規定温度より低くない場合はステップＳ６に進む。
ステップＳ６  現状の温度に対応したモータ制御の補正値を算出し、処理を終了する。
【００５５】
このように、本実施の形態において、中央制御部２１は、特定の割込みソースとしてのモータ制御部２８の割込み要求が発生するとモータ割込み制御処理を開始し、モータ状態情報としての第２レジスタ４２のレジスタリードデータ４８の読取りを行い、該レジスタリードデータ４８に付加情報が付加されている場合にはモータ割込み制御処理を途中で終了する。なお、レジスタリードデータ４８に付加情報が付加されていない場合には、モータ状態情報としてのモータ温度に基づくフィードバック処理を実行した後に、モータ割込み制御処理を終了する。
【００５６】
ここで、割込み要求レジスタ３３は、特定の割込みソースとしてのモータ制御部２８からの割込み要求信号がハイレベルになったことを検出すると、割込み時間監視カウンタ３４へ割込み要求が発生したことを通知するが、その他の割込みソースからの割込み要求信号がハイレベルになったことを検出しても割込み時間監視カウンタ３４へは割込み要求が発生したことを通知しないようになっている。そして、割込み時間監視カウンタ３４は、割込み要求が発生したことが通知されると、レジスタリードデータ４８の特定の部分に割込み要求が発生した旨を示す情報を付加する。
【００５７】
これにより、レジスタリードデータ４８のリードを行う通常のレジスタリードサイクルによって、割込み要求が発生した旨を示す情報を読取ることができ、周期的に発生するステッピングモータである媒体搬送モータ２０の相切替タイミングの間隔に影響を与えないようにモータ制御割込み処理を途中で終了する等、処理内容を変更することができる。
【００５８】
したがって、ステッピングモータである媒体搬送モータ２０の相切替タイミングに影響を与えることなく、媒体搬送モータ２０を安定して制御することができる。
【００５９】
換言すると、割込み処理時間が規定された制限時間を超えたことを割込み処理内で通常リードするレジスタリードデータ４８の特定ビットに付加する情報付加回路４４によって、読取りを行ったレジスタリードデータ４８の値から割込み処理時間の状況を判断することができる機能を備える。このように、レジスタリードデータ４８のリードサイクルによって割込み処理時間の経過状況を認識することができるので、制限時間が経過してしまった場合には、モータ制御割込み処理を途中で終了することができる。モータ制御割込み処理の実行時に制限時間の経過を認識することで、モータ制御割込み処理の継続可否を判断することができる。定期的に発生するモータ制御割込み処理において、処理の継続や終了を判断することによって、モータ制御割込み処理を、次回の割込み発生タイミングを超えずに終了することができる。
【００６０】
次に、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同じ構成を有するものについては、同じ符号を付与することによって、その説明を省略する。また、前記第１の実施の形態と同じ動作及び同じ効果についても、その説明を省略する。
【００６１】
図５は本発明の第２の実施の形態における制御ユニットの要部の構成を示すブロック図である。
【００６２】
本実施の形態において、Ａ／Ｄコンバータ２４は、第１レジスタ４１、第２レジスタ４２、セレクタ回路４３、情報付加回路４４、デコード回路４５及びＡ／Ｄ変換部４６に加えて、リード回数カウンタ５２を備える。
【００６３】
該リード回数カウンタ５２は、直近の過去において、特定の割込みソースの割込み要求が発生してからの時間が制限時間を経過した回数をカウントして経過回数を出力する経過回数カウンタとして機能する。具体的には、割込み時間監視カウンタ３４が出力する時間監視カウントアップ信号３６、及び、デコード回路４５が出力するレジスタセレクト信号５１を監視する。そして、該レジスタセレクト信号５１に基づいて、レジスタとしての第１レジスタ４１及び第２レジスタ４２に対するアクセスが行われているか否かを認識することができる。また、前記時間監視カウントアップ信号３６に基づいて、割込み要求発生からの時間が制限時間を経過しているか否かを認識することができる。
【００６４】
つまり、リード回数カウンタ５２は、割込み要求発生からの時間が制限時間を経過したという条件の下で該当するレジスタに対するアクセスが行われたか否かを認識することができ、アクセスが行われた場合には、その回数をカウントする。そして、レジスタに対する連続アクセスを検出した場合、リード回数カウンタ５２は、連続アクセス検出信号５３を情報付加回路４４に対して出力する。
【００６５】
本実施の形態における情報付加回路４４は、割込み時間監視カウンタ３４から入力された時間監視カウントアップ信号３６の値を、内部バス３１に出力するレジスタリードデータ４８のＭＳＢに付加する機能に加えて、リード回数カウンタ５２が出力した連続アクセス検出信号５３の情報をＭＳＢから下位１ビットに付加する機能を備える。したがって、レジスタリードデータ４８の最上位２ビットを読取ることによって、モータ制御割込み処理におけるレジスタリードサイクルに関する情報を取得することができる。また、レジスタリードデータ４８の最上位２ビット以外の部分には、セレクタ回路４３から入力されるレジスタデータ４７をセットする。
【００６６】
例えば、第２レジスタ４２のリードを行う場合、デコード回路４５は、中央制御部２１から出力されたアドレスデータ４９で要求されたレジスタアドレスの値に基づいて該当するレジスタを決定し、セレクタ回路４３に対してレジスタセレクト信号５１を出力する。すると、該レジスタセレクト信号５１が入力されたセレクタ回路４３は、入力されている複数のレジスタのデータから、前記デコード回路４５が決定したレジスタのデータを選択し、レジスタデータ４７として情報付加回路４４に対して出力する。そして、該情報付加回路４４は、入力されたレジスタデータ４７をレジスタリードデータ４８の最上位２ビット以外の部分にそのままセットし、時間監視カウントアップ信号３６及び連続アクセス検出信号５３の値をレジスタリードデータ４８の最上位２ビットにセットする。
【００６７】
本実施の形態においては、時間監視カウントアップ信号３６及び連続アクセス検出信号５３の値をレジスタリードデータ４８の最上位２ビットに付加する場合について説明したが、時間監視カウントアップ信号３６及び連続アクセス検出信号５３の値を付加していることを認識することができるのであれば、時間監視カウントアップ信号３６及び連続アクセス検出信号５３の値を付加する部分は、必ずしも最上位２ビットに限定されるものではなく、いかなる部分であってもよい。
【００６８】
なお、その他の点の構成については、前記第１の実施の形態と同様であるので、その説明を省略する。
【００６９】
次に、本実施の形態における画像形成装置１０の動作について説明する。ここでは、媒体搬送モータ２０を制御するための割込み処理であるモータ制御割込み処理の動作について説明する。まず、モータ制御割込み処理に対する時間監視制御について説明する。
【００７０】
図６は本発明の第２の実施の形態におけるモータ制御割込み処理に対する時間監視制御を示すタイムチャートである。
【００７１】
前記第１の実施の形態と同様に、ステッピングモータである媒体搬送モータ２０が回転中であれば、相切替のタイミング毎にモータ制御割込み処理が発生する。
【００７２】
リード回数カウンタ５２は、前述のように、時間監視カウントアップ信号３６及びレジスタセレクト信号５１を入力信号とする。そして、時間監視カウントアップ信号３６がハイレベルのときにレジスタセレクト信号５１がハイレベルであれば、リード回数カウンタ５２は、その値をインクリメントする。これは、前記リード回数カウンタ５２が、割込み要求発生からの時間が制限時間を経過しているタイミングで該当するレジスタのリードが行われたことを検出するためのカウンタであるからである。
【００７３】
また、時間監視カウントアップ信号３６がローレベルのときにレジスタセレクト信号５１がハイレベルになったときには、割込み要求発生からの時間が制限時間を経過しないタイミングで該当するレジスタのリードが行われたことになるので、リード回数カウンタ５２は、その値をインクリメントしない。
【００７４】
そして、本実施の形態において、経過回数カウンタとしてのリード回数カウンタ５２は、直近の過去の複数回（例えば、２回）の割込み制御処理において特定の割込みソースの割込み要求が発生してからの時間が制限時間を連続して経過した回数をカウントして経過回数を出力する。具体的には、２回連続して、割込み要求発生からの時間が制限時間を経過しているタイミングで該当するレジスタのリードが行われた場合、すなわち、リード回数カウンタ５２の値が２となった場合、該リード回数カウンタ５２が出力する連続アクセス検出信号５３がハイレベルになる。該連続アクセス検出信号５３がハイレベルになると、レジスタリードデータ４８の最上位２ビットの値が「１１」又は「０１」に変化する。最上位２ビットの内の下位のビットは、連続アクセス検出信号５３の状態を示している。
【００７５】
このように、２回連続して、割込み要求発生からの時間が制限時間を経過しているタイミングで該当するレジスタのリードが行われた場合、レジスタリードデータ４８の最上位２ビットの値が変化するので、中央制御部２１は、連続アクセスを認識することができる。
【００７６】
なお、モータ制御割込み処理に対する時間監視制御におけるその他の点の動作については、前記第１の実施の形態と同様であるので、その説明を省略する。
【００７７】
次に、中央制御部２１が実行するモータ制御割込み処理について説明する。
【００７８】
図７は本発明の第２の実施の形態におけるモータ制御割込み処理の動作を示すフローチャートである。
【００７９】
特定の割込みソースとしてのモータ制御部２８からの割込み要求信号である第１割込み要求信号３２ａがハイレベルになって割込み要求が発生すると、中央制御部２１は、モータ制御割込み処理を開始し、速度ダウンの指示があるか否かを判断する。速度ダウンの指示がある状態とは、前回のモータ制御割込み処理において、媒体搬送モータ２０の回転速度を低下させるための速度ダウン指示フラグがオンに設定されている状態である。
【００８０】
そして、速度ダウンの指示がない場合、中央制御部２１は、媒体搬送モータ２０の相切替制御を継続するために、モータ制御部２８に次の相切替時間を設定する。なお、前回のモータ制御割込み処理において、媒体搬送モータ２０の回転速度の補正値が算出された場合には、該補正値を適用する。
【００８１】
また、速度ダウンの指示がある場合、中央制御部２１は、媒体搬送モータ２０の回転速度を低下させるために、モータ制御部２８に次の相切替時間を設定する。すなわち、減速設定を行う。これは、モータ制御割込み処理を途中で終了することなく、すべての処理ステップを実行するために十分な時間を確保することを目的とするものである。ただし、急激な回転速度の低下は媒体搬送モータ２０の脱調を引き起こすので、段階的な減速が必要になる場合もある。
【００８２】
続いて、中央制御部２１は、媒体搬送モータ２０の温度を把握するために、Ａ／Ｄコンバータ２４の第２レジスタ４２のリードを行う。具体的には、時間監視カウントアップ信号３６の値がＭＳＢに付加されたレジスタリードデータ４８のリードを行う。
【００８３】
続いて、中央制御部２１は、レジスタリードデータ４８の最上位２ビットの値を判断する。つまり、リードを行ったレジスタリードデータ４８の最上位２ビットの値を確認し、「００」若しくは「０１」であるか、「１１」であるか、又は、「１０」であるかを判断する。
【００８４】
そして、レジスタリードデータ４８の最上位２ビットの値が「００」である場合、割込み要求発生からの時間が制限時間を経過していない、すなわち、オーバーしていないと判断することができるので、中央制御部２１は、温度情報の設定を行う。具体的には、Ａ／Ｄコンバータ２４のレジスタリードデータ４８のリードを行って得られたデータに含まれる温度センサ１６から入力された値を媒体搬送モータ２０の温度に換算する。
【００８５】
また、レジスタリードデータ４８の最上位２ビットの値が「０１」である場合も、「００」である場合と同様に、割込み要求発生からの時間が制限時間を経過していないと判断することができるので、中央制御部２１は、温度情報の設定を行う。
【００８６】
続いて、中央制御部２１は、モータ温度が規定温度より低いか否かを判断する。具体的には、媒体搬送モータ２０の温度があらかじめ設定された規定温度よりも低いか否かを判断する。
【００８７】
そして、モータ温度が規定温度より低くない、すなわち、規定温度以上である場合、中央制御部２１は、現状の温度に対応したモータ制御の補正値を算出し、モータ制御割込み処理を終了する。具体的には、媒体搬送モータ２０の温度を下げるために、媒体搬送モータ２０の回転速度を低下させるための補正値を算出するとともに、媒体搬送モータ２０を駆動するモータドライバ回路１９へ出力される電流制御信号３７ｂの補正値を算出して、モータ制御割込み処理を終了する。前記補正値は、次回のモータ制御割込み処理で適用される。
【００８８】
また、モータ温度が規定温度より低いか否かを判断して低い場合、すなわち、媒体搬送モータ２０の温度があらかじめ設定された規定温度よりも低い場合、媒体搬送モータ２０の温度を下げる必要がないので、中央制御部２１は、直ちにモータ制御割込み処理を終了する。
【００８９】
一方、レジスタリードデータ４８の最上位２ビットの値を判断して「１１」である場合、２回連続して、割込み要求発生からの時間が制限時間を経過しているタイミングで該当するレジスタのリードが行われた状態であって、割込み要求発生からの時間が制限時間をオーバーしているので、次回のモータ制御割込みにおいて、温度情報からのフィードバック処理を実行することができるように制御しなければならない。そのため、中央制御部２１は、速度ダウン指示フラグをオンにする。これにより、次回のモータ制御割込み処理において、減速設定が行われる。このように、制限時間をオーバーしてレジスタのリードが実行された状態を連続して検出した場合には、処理を完了させるための制御を行うことができる。
【００９０】
さらに、レジスタリードデータ４８の最上位２ビットの値を判断して「１０」である場合、割込み要求発生からの時間が制限時間を経過している、すなわち、オーバーしていると判断することができるので、中央制御部２１は、割込み発生間隔を守るため、以降の動作を実行することなく、直ちにモータ制御割込み処理を終了する。前記第１の実施の形態で説明したように、温度情報に関する処理を今回のモータ制御割込み処理内に実行することができなくても、次回のモータ制御割込み処理で実行することができれば、媒体搬送モータ２０の制御において重大な不具合が発生することはない。
【００９１】
次に、フローチャートについて説明する。
ステップＳ１１  速度ダウンの指示があるか否かを判断する。速度ダウンの指示がない場合はステップＳ１２に進み、速度ダウンの指示がある場合はステップＳ１３に進む。
ステップＳ１２  媒体搬送モータ２０の相切替時間を設定する。
ステップＳ１３  媒体搬送モータ２０の相切替時間を設定（減速設定）する。
ステップＳ１４  Ａ／Ｄコンバータ２４の第２レジスタ４２のリードを行う。
ステップＳ１５  レジスタリードデータ４８の最上位２ビットの値を判断する。レジスタリードデータ４８の最上位２ビットの値が００又は０１の場合はステップＳ１６に進み、レジスタリードデータ４８の最上位２ビットの値が１１の場合はステップＳ１９に進み、レジスタリードデータ４８の最上位２ビットの値が１０の場合は処理を終了する。
ステップＳ１６  媒体搬送モータ２０の温度情報を設定する。
ステップＳ１７  媒体搬送モータ２０の温度が規定温度よりも低いか否かを判断する。媒体搬送モータ２０の温度が規定温度よりも低い場合は処理を終了し、媒体搬送モータ２０の温度が規定温度より低くない場合はステップＳ１８に進む。
ステップＳ１８  現状の温度に対応したモータ制御の補正値を算出し、処理を終了する。
ステップＳ１９  速度ダウンの指示フラグをオンにし、処理を終了する。
【００９２】
このように、本実施の形態においては、連続して割込み要求発生からの時間が制限時間を経過しているタイミングで該当するレジスタのリードが行われたことを検出するリード回数カウンタ５２が追加され、該リード回数カウンタ５２の検出結果を示す情報がレジスタリードデータ４８の特定の部分に付加される。
【００９３】
これにより、レジスタリードデータ４８のリードを行う通常のレジスタリードサイクルによって、連続して割込み要求が発生した旨を示す情報を読取ることができ、媒体搬送モータ２０の回転速度を落として処理時間を延ばすといった対応処理をすることができる。
【００９４】
したがって、モータ制御割込み処理を正常に完了することができなかったという現象が続いたとしても、ステッピングモータである媒体搬送モータ２０の制御に大きな影響を及ぼすことがない。
【００９５】
なお、前記第１及び第２の実施の形態においては、画像形成装置１０が熱転写方式のプリンタである例について説明したが、本発明は、インクジェット方式や電子写真方式のプリンタ、ファクシミリ機、複写機及びＭＦＰにも適用することができる。
【００９６】
また、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【産業上の利用可能性】
【００９７】
本発明は、割込み制御装置及び画像形成装置に利用することができる。
【符号の説明】
【００９８】
１０    画像形成装置
１２    制御ユニット
２０    媒体搬送モータ
２１    中央制御部
２８    モータ制御部
２９    タイマ
３０    ホストＩ／Ｆ制御部
３３    割込み要求レジスタ
３４    割込み時間監視カウンタ
３６    時間監視カウントアップ信号
４２    第２レジスタ
４４    情報付加回路
５２    リード回数カウンタ
【図１】
2015123700.tif 000003
【図２】
2015123700.tif 000004
【図３】
2015123700.tif 000005
【図４】
2015123700.tif 000006
【図５】
2015123700.tif 000007
【図６】
2015123700.tif 000008
【図７】
2015123700.tif 000009