(57)【要約】【課題】用紙搬送用モータの制御をハードウェアとソフトウェアにより行なう場合でも、正確な後端検出を行えるようにする。【解決手段】被記録媒体を搬送する搬送モータ５２６の回転制御をハードウェアとソフトウェアの双方を用いて行なう記録装置であって、搬送モータをＮ（Ｎは２以上の整数）ステップずつ回転駆動させるハードウェア回路１９と、Ｎステップ毎にハードウェア回路から発生される信号に基づいて、Ｎステップ刻みでステップ数をカウントするＣＰＵ１６と、被記録媒体の搬送方向後端部を検出するセンサ１１３であって、その出力信号がハードウェア回路とＣＰＵの双方に入力されるセンサと、ハードウェア回路内に配置され、ハードウェア回路内で管理しているＮステップ内のＤＭＡ回数のうちの所定回数が実行されるタイミングと同期したタイミングにおけるセンサの出力情報を記憶する記憶部２７とを具備する。【選択図】      図５
2004351792.tif 000002
【特許請求の範囲】
【請求項１】
被記録媒体を搬送する搬送モータの回転制御をハードウェアとソフトウェアの双方を用いて行なう記録装置であって、
前記搬送モータをＮ（Ｎは２以上の整数）ステップずつ回転駆動させるハードウェア回路と、
前記ソフトウェアを実行するソフトウェア処理ユニットであって、前記Ｎステップ毎に前記ハードウェア回路から発生される信号に基づいて、Ｎステップ刻みでステップ数をカウントするソフトウェア処理ユニットと、
前記被記録媒体の搬送方向後端部を検出する検出手段であって、その出力信号が前記ハードウェア回路と前記ソフトウェア処理ユニットの双方に入力される検出手段と、
前記ハードウェア回路内に配置され、前記ハードウェア回路内で管理しているＮステップ内のＤＭＡ回数のうちの所定回数が実行されるタイミングと同期したタイミングにおける前記検出手段の出力情報を記憶する記憶手段と、
を具備することを特徴とする記録装置。
【請求項２】
前記所定回数は、複数個指定可能であることを特徴とする請求項１に記載の記録装置。
【請求項３】
前記ソフトウェアの処理中に、前記検出手段の状態変化が検出された場合に、前記記憶手段に保存された前記検出手段の出力情報に基づいて、前記Ｎステップ内の実際に前記検出手段の状態が変化したタイミングを算出することを特徴とする請求項１に記載の記録装置。
【請求項４】
前記記録装置はインクジェット方式の記録ヘッドを用いて記録動作を行うことを特徴とする請求項１乃至３のいずれか１項に記載の記録装置。
【請求項５】
前記記録ヘッドはインクを吐出するためのエネルギーとして熱エネルギーを発生する電気熱変換体を含む複数の記録素子を有することを特徴とする請求項４に記載の記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、主走査方向にキャリッジモーターによってシリアルスキャンを行いながらインクを吐出して画像記録を行い、副走査方向には、用紙搬送用モーターで記録用紙を送って次のシリアルスキャンに備えるよう構成された記録装置に関するものである。
【０００２】
【従来の技術】
近年、パーソナルコンピュータの普及に伴い、周辺機器としての記録装置の性能も飛躍的に進化して来ている。このような記録装置は、画像情報に基づいて記録用紙上に様々な記録方式によって画像を形成するように構成されている。なかでも、最近、最も注目されている記録方式はインクジェット方式によるものである。インクジェット記録方式は、記録ヘッド上のノズルから、熱や圧力変化によって直接用紙に向けて記録用インクを吐出させるものである。この方式は高精細な画像を高速で記録することができ、ランニングコストも低く静粛である等々、様々な長所を有するために、広く普及している。
【０００３】
このようなインクジェット方式の記録装置においては、記録動作を行うための記録用紙の副走査方向への搬送に際して、用紙搬送ローラと排紙ローラが連動して回転するような構成をとるものが多い。このような構成では、プラテン上の記録用紙に適度なテンションを与えるため、排紙ローラの方が、若干、回転量が多くなるような搬送量に設定されている。
【０００４】
そのため、用紙が搬送ローラを抜けて、排紙ローラー単独で搬送する場合は、それまでより搬送量が増加するため、用紙の後端部の余白量が大きくなったり、さらに、後端部の副走査方向の画像にすきまが空いたりといった印字品位の劣化、というような問題があった。
【０００５】
このような問題を解決する手段として、特開平４−１４８９５８号公報（特許文献１）では、後端残り量を検出して、その後端量に応じて搬送量を変化、また、記録手段の記録領域を変化させることによって、用紙の後端においても高精度な印字を行うことを提案している。
【０００６】
【特許文献１】
特開平４−１４８９５８号公報。
【０００７】
【発明が解決しようとする課題】
しかしながら、近年、ステップモータの制御はＣＰＵによるソフトウェアのみではなく、ＡＳＩＣ内に設けられた制御回路（ハードウェア）によって、あるいは、ソフトウェアとハードウェアの共同作業によって行われるようになって来ている。例えば、高画質化に伴う停止位置のマイクロステップ化、あるいは、駆動中の動作音低減などの理由による従来行われていた２相駆動よりも細かい相分割（例えば、１−２相、さらにはマイクロステップ）や、印字スピード高速化のための搬送速度アップによる割り込み周期の狭間隔化などにより、相励磁切り替えタイミングが速くなりＣＰＵによるソフトウェアのみによる制御では間に合わなくなってきたため、ハードウェアによる補助制御が必須になってきている。
【０００８】
そこで、ＡＳＩＣ内にパルスモーター制御用の専用ハードウェア回路を設け、メモリ上に展開されているパルスモーター駆動テーブルをＤＭＡによりＣＰＵを介さずにモータドライバに設定するような手法が行われるようになっている。このような手法においては、ステップ数の管理はハードウェアによっても管理可能であるが、ＡＳＩＣのゲート数を削減するため、また、負荷をＣＰＵとＡＳＩＣで分散するためにＣＰＵによって管理されるのが一般的である。
【０００９】
しかし、このようなあるステップ数をハードウェアによって自動的に進めて、そのステップ数が終了したことを、割り込み信号によってＣＰＵが検知してステップ数をカウントしていく場合、ＣＰＵの管理するステップカウンタは、前記のあるステップ数づつ飛び飛びにカウントアップしていくことになる。
【００１０】
例えば、８ステップ分ハードウェアによってステップを進めている場合、ＣＰＵはその８ステップが終了したことを示す割り込み信号をカウントするため、ＣＰＵは８ステップ刻みでしかステップが分からないことになる。
【００１１】
前記記録用紙の後端を検出するための後端検知センサは、通常、ＣＰＵのポートに接続されおり、ＣＰＵによって検出を行う。しかし上記のようなハードウェアとソフトウェアとで協調してパルスモーターを制御するような構成では、ＣＰＵが後端位置をセンサにより検出しても、モータのステップ数は上記のようにあるステップ刻みでしかカウントされていないため、検知した正確なステップ数を知ることはできない。例えば８ステップ分を１単位としてハードウェアによってモーター制御（相シフト）を実行している場合、ＣＰＵにより割り込み実行されるソフトウェア処理中においては、その８ステップ単位でしかステップ数を管理できないので、８ステップ内のどこの位置でセンサが検知したかわからず、実際にセンサーが変化した位置から最大８ステップの誤差が生じてしまう。
【００１２】
従来、記録装置においては、用紙の後端検出についてそれほど厳密ではなかった。これは記録装置から印字されるものがキャラクタ（文字）を中心とした文章であったため、用紙の下端まで印字することがなかったためである。しかし、近年では、記録装置の画質が向上し、印字されるものが文字から、（文字情報も含む）画像データに変化してきたため、たとえば、写真画像の印字においては、用紙に余白なしで印字することが要求されるようになって来た。そのため、用紙の後端検出の精度は、従来に比べて、はるかに高い精度で必要とされるようになって来た。
【００１３】
前述のように、ＣＰＵが介在しないハードウェアによってステップを進めている間に後端を検知した場合においても、その位置をハードウェア管理中のどのステップであったのかを正確に検出することが必要となっている。
【００１４】
図１３は、このような従来例のステップ管理タイミングと後端検出方法を図示したものである。図の上側はＣＰＵによる割り込み処理タイミングであり、また、その矢印の上側にＣＰＵが管理しているステップ数が図示されている。下側はハードウェアによる割り込み発生タイミングを示している。図は８ステップ分をハードウェアによって自動的に進める例を示したものである。ＣＰＵはハードウェア回路に対して、起動をかけるとハードウェア回路は、図示されていないモータドライバに対して自動的に８ステップ分の駆動を行って割り込み信号によりＣＰＵに通知する。ＣＰＵはこの割り込み信号を受けて、ステップカウンターをアップさせるが、８ステップ分はハードウェアによって自動で進められているため、８ステップとカウントする。ＣＰＵは割り込みを解除して、次の割り込みの待ち状態とする。次の割り込み位置では、再び８ステップ分はハードウェアによって自動で進められているため、ＣＰＵは１６ステップとカウントする。このようにＣＰＵは８ステップ刻みでしか管理できない。もし、図のように実際には２１ステップの位置で用紙の後端がセンサーにより検出され、ＣＰＵに通知しても、ＣＰＵはステップ数を８刻みで管理されているために１６ステップから２４ステップの範囲においてどのステップで後端が検出されたのか確定できずに、８ステップ以内の誤差が生じてしまう。
【００１５】
したがって、本発明は上述した課題に鑑みてなされたものであり、その目的は、用紙搬送用モータの制御をハードウェアとソフトウェアにより行なう場合でも、正確な後端検出を行えるようにすることである。
【００１６】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明に係わる記録装置は、被記録媒体を搬送する搬送モータの回転制御をハードウェアとソフトウェアの双方を用いて行なう記録装置であって、前記搬送モータをＮ（Ｎは２以上の整数）ステップずつ回転駆動させるハードウェア回路と、前記ソフトウェアを実行するソフトウェア処理ユニットであって、前記Ｎステップ毎に前記ハードウェア回路から発生される信号に基づいて、Ｎステップ刻みでステップ数をカウントするソフトウェア処理ユニットと、前記被記録媒体の搬送方向後端部を検出する検出手段であって、その出力信号が前記ハードウェア回路と前記ソフトウェア処理ユニットの双方に入力される検出手段と、前記ハードウェア回路内に配置され、前記ハードウェア回路内で管理しているＮステップ内のＤＭＡ回数のうちの所定回数が実行されるタイミングと同期したタイミングにおける前記検出手段の出力情報を記憶する記憶手段と、を具備することを特徴とする。
【００１７】
【発明の実施の形態】
以下、本発明の好適な実施形態について説明する。
【００１８】
まず、実施形態の概要について説明する。
【００１９】
本発明の実施形態は、記録装置の用紙搬送用モータ制御をハードウェアとソフトウェアにより行う手段を有し、Ｎ（Ｎ：１以上）ステップをモータ制御用ハードウェア回路によって制御し、ＣＰＵはそのＮステップ毎にそのハードウェア回路から生成される割り込み信号を基に、Ｎステップ刻みでステップをカウントしていくモータ制御方法において、Ｎステップ内のＤＭＡ（ダイレクト・メモリー・アクセス）分割数Ｍのうち、あらかじめ任意に指定した回数のＤＭＡ時の用紙後端検出センサの検出信号レベル情報をレジスタに保存することを特徴とした記録装置である。
【００２０】
以上の構成によれば、ＣＰＵがＮステップ刻みでハードウェアから出力される割り込み信号を基にＮステップ刻みでステップ数を管理しているうちの、任意のＤＭＡのタイミングで、前記ＣＰＵが用紙の後端検出を行うセンサにより後端を検出した場合、その検出信号は前記モータ制御用ハードウェア回路に対しても接続されているため、Ｎステップ内のＤＭＡ回数（複数指定可能な）の検出位置（ＤＭＡカウント位置）Ｍに応じたレジスタに保存されている。従って、ＣＰＵによるソフトウェア処理で、センサーが後端を検出したのがわかった場合、レジスタ内に保存されているセンサー情報から、検出ＤＭＡ位置を読み出し、前回のハードウェアの割り込み位置のステップカウンタに対してＭ分だけ加算したステップ数が実際の後端検出位置となる。このようにハードウェアのＤＭＡの瞬間における後端検出センサー情報を保持しているため、正確な紙後端位置を求めることができる。
【００２１】
本発明の実施形態の記録装置は、被記録媒体を搬送する搬送モータの回転制御をハードウェアとソフトウェアの双方を用いて行なう記録装置であって、前記搬送モータをＮ（Ｎは２以上の整数）ステップずつ回転駆動させるハードウェア回路と、前記ソフトウェアを実行するソフトウェア処理ユニットであって、前記Ｎステップ毎に前記ハードウェア回路から発生される信号に基づいて、Ｎステップ刻みでステップ数をカウントするソフトウェア処理ユニットと、前記被記録媒体の搬送方向後端部を検出する検出手段であって、その出力信号が前記ハードウェア回路と前記ソフトウェア処理ユニットの双方に入力される検出手段と、前記ハードウェア回路内に配置され、前記ハードウェア回路内で管理しているＮステップ内のＤＭＡ回数のうちの所定回数が実行されるタイミングと同期したタイミングにおける前記検出手段の出力情報を記憶する記憶手段と、を具備することを特徴とする。
【００２２】
また、本発明の実施形態の記録装置において、前記所定回数は、複数個指定可能であることを特徴とする。
【００２３】
また、本発明の実施形態の記録装置において、前記ソフトウェアの処理中に、前記検出手段の状態変化が検出された場合に、前記記憶手段に保存された前記検出手段の出力情報に基づいて、前記Ｎステップ内の実際に前記検出手段の状態が変化したタイミングを算出することを特徴とする。
【００２４】
また、本発明の実施形態の記録装置において、前記記録装置はインクジェット方式の記録ヘッドを用いて記録動作を行うことを特徴とする。
【００２５】
また、本発明の実施形態の記録装置において、前記記録ヘッドはインクを吐出するためのエネルギーとして熱エネルギーを発生する電気熱変換体を含む複数の記録素子を有することを特徴とする。
【００２６】
以下、本発明の実施形態について、図面を参照して具体的に説明する。
【００２７】
（第１の実施形態）
図１は、実施形態の記録装置（印刷装置）を正面から見た外観構成図である。ここで、１０１はインクジェット方式による記録装置全体、１０２はインクジェット方式の記録ヘッドを搭載したキャリッジである。キャリッジ１０２は１０３で示すシャフト軸に支持されて、左右に、シリアルスキャンすることができる。モーターのシャフトに取り付けられたプーリ１０４と、それと対称位置にあるプーリ１０５に張架されたタイミングベルト１０６の一部にキャリッジが接続されており、ＣＲモータの駆動力を伝達する。
【００２８】
図２は記録装置の側断面を示す模式図であり、プラテン１０７、対構成からなる排紙ローラ１０８、搬送ローラ１０９、ピンチローラ１１０、記録用紙（被記録媒体）を積載し、それから１枚づつ用紙をプラテン上に給紙するオートシートフィーダー１１１、給紙ローラ１１２、後端検出センサー１１３、センサー用アーム１１４、記録用紙１１５を備えている。図の状態は用紙がオートシートフィーダー１１１からプラテン１０７上に給紙され、かつ後端検知されていない状態にある。後端検知していない状態では、図のようにセンサー用アーム１１４は用紙によっておしあげられ、矢印Ａの方向に回動して後端検出センサー１１３を横切らない状態となる。この状態において、プラテン１０７上の用紙１１５は搬送ローラ１０９および排紙ローラ１０８の２つのローラによって搬送される。排紙ローラ１０８は前述のようにプラテン上の用紙に適度なテンションを加えるために、搬送ローラ１０９に比べて、若干早めに回転するようなギヤ比になるよう構成されている（図示せず）。
【００２９】
図３は後端検出センサー１１３が用紙の後端を検出した状態を示した記録装置側断面模式図である。図のようにアーム１１４は用紙に支持されなくなるため、矢印Ｂ方向に回動して後端検出センサー１１３を横切る状態となる。この状態から、用紙が排紙ローラ１０８によって、プリンタ装置から排紙されるまでに必要な距離は１１６で示したＸ１である。
【００３０】
ここで、後端検出センサー１１３が用紙の後端を検出した時点から、用紙が排紙されるまでの用紙の搬送方法には２通り存在する。まず、搬送ローラ１０９と排紙ローラ１０８の２つの搬送ローラ１０９の組み合わせによって、理想的な用紙搬送が行うことができる区間が１１７で示したＸ２の区間である。２つ目に搬送ローラ１０９を用紙が離れ、排紙ローラ１０８のみで用紙の搬送が行われる区間からなる。
【００３１】
図４は用紙が搬送ローラを抜けた状態を示した記録装置の側断面模式図である。１１８で示したＸ３で示した区間は排紙ローラ１０８によってのみ用紙が搬送されるために、排紙ローラ１０８と逆側の用紙端部は何ら支持されていない状態となり、プラテン上の用紙の表面の安定が悪くなる。そのため、このＸ３で示した範囲に印字を行う場合、用紙の搬送量を通常の搬送量よりも少なくし、印字を構成するパス数も多くして、用紙の不安定による画像の乱れを少なくなるようにしている。
【００３２】
図５は記録装置の電気回路構成を示したブロック図である。記録装置はＲＯＭ１８に記憶されているソフトウェアを、ＣＰＵ１６が読み出して実行することによって印字動作を行う。ＡＳＩＣ１９は記録装置特有の機能をハードウェア化しものであり、画像処理、インターフェイス５３０を介してのホストコンピュータとの通信、記録ヘッド５３３のインク吐出制御、用紙搬送用ＬＦ（ラインフィード）モータドライバ３４の制御、記録ヘッドの走査用のＣＲ（キャリッジ）モータドライバ５２２の制御等を行う。５２６，５２７はそれぞれ、ＬＦモータ、ＣＲモータである。図のモータの組み合わせは、ひとつの例であり、記録装置によって、このモータの数は異なっても良い。ＤＲＡＭ１７はホストコンピュータからの印字データを一時的に保存、画像処理を行う際のテンポラリメモリ、また、印字用データの保存、等に用いられる。さらにモータ用の駆動テーブルにおいても、ＲＯＭからＤＲＡＭ上にそのデータが展開されて、そのデータをＡＳＩＣのモータコントローラ部からモータドライバにＤＭＡ転送を行うことによって駆動を行う。
【００３３】
５２９はオートシードフィーダー用センサー（ＡＳＦＳ）であり、このセンサーによって用紙がオートシートフィーダー部のギヤのメカ的な位置合わせを行い、１枚づづ用紙をプラテン上に送り出すことができる。オートシートフィーダー用センサーは、通常、ＣＰＵのポートに接続されており、ある決められた周期に従って、このポートの状態を観察するか、もしくはポートの変化の状態をポーリングによって観察することによって検出する。１１３は後端検出センサー（ＰＥＳ）である。後端検出センサー１１３は前述のように用紙の後端の検出を行う。従来では、通常、後端検知センサーはＣＰＵポートに接続されており、タイマー割り込み等によるソフトウェア処理によって、ある時間周期毎に後端検知センサー１１３が接続されたポートの状態の読み取りを行って検出する。ハードウェアによるＮステップ毎にソフトウェア割り込みさせるような構成では、検出は前述のようにＮステップ内の検出誤差が生じてしまう。そこで、本実施形態では、ＣＰＵポートの状態をチェックすることによって行う後端検知と、さらに後端検知センサーの出力をＡＳＩＣ内のモータ制御ブロックに接続し、ハードウェアによって検出時のＮステップ内の位置（ＤＭＡカウント数）を確定することによって、より正確な後端検出位置を得る。
【００３４】
この図を用いて、実際に本実施形態におけるＤＭＡ転送を用いてモータを駆動する構成について説明する。本実施形態では、モータドライバへの駆動データはシリアルデータ形式で転送する構成となっている。
【００３５】
まず、ＲＯＭ１８内に格納されているモータ駆動データは、ＣＰＵ１６によってＡＳＩＣ１９を介してＲＡＭ１７内に展開される。図中、２６はＤＭＡコントローラであり、各機能ブロックのＲＡＭ１７へのアクセス要求に基づいて、ＲＡＭ１７とのＤＭＡ転送を行う。また、ＣＰＵ１６からＲＡＭ１７へのデータアクセスにおいてもＤＭＡコントローラ２６を介して行う。
【００３６】
２７はモータドライバコントローラ回路である。モータドライバコントローラ回路には、コントロールブロック２８、データコントローラ２９、シリアルデータ生成部３０、タイミング制御部３１が含まれている。コントロールブロック２８にはモータドライバコントローラ回路２７を駆動させるために必要な駆動情報設定レジスタが設けられている。このコントロールブロック２８はＣＰＵ１６のアドレス、データ、チップセレクト等の信号が接続されており、このコントロールブロックに備えられたレジスタへのデータの書込みはＣＰＵ１６によって行われる。モータドライバコントローラ回路２７内は前記コントロールレジスタの内容に基づいて各機能のシーケンス制御を行う。データコントローラ２９はＤＭＡコントローラ２６に対してＲＡＭ１７の指定アドレスからのＤＭＡ転送を要求する。３２および３３はデータコントローラが取得してデータを格納するレジスタである。３２は駆動データレジスタ（モータドライバ制御データ）、３３は時間データレジスタである。シリアルデータ生成部３０は、ラッチされた駆動データをシフトレジスタによって転送クロックに同期したシリアルデータに変換する。タイミング制御部３１は、ラッチされた時間データを基に励磁時間の管理を行う部位である。
【００３７】
図６は、モータドライバへの駆動データの転送タイミングを示す図である。ここではモータドライバコントローラ回路を含んだＡＳＩＣ１９からモータドライバに接続される信号、およびにモータドライバ３４内部の簡単な構成を示している。
【００３８】
駆動データ３５は、転送クロック３６に同期してモータドライバ３４内部のシフトレジスタ３８に順次格納される。それをストローブ信号３７によってラッチ３９にラッチする。モータドライバの出力はストローブ信号３７の立ち上がりにより、モータドライバ内部でラッチが行われた直後に確定する。つまり、励磁時間はモータドライバコントローラ２７がストローブ信号３７の間隔を管理することによって制御する。ラッチされたデータは各制御要素毎のビットに分割され、それぞれの駆動制御ブロックの制御に用いられる。
【００３９】
４０はトルクデータ制御であり、Ａ相、Ｂ相の２つの位相の電流の設定値を保ったまま、両相の電流のレベルを切り替えるものである。これにより、Ａ相、Ｂ相の電流設定の比率設定は同じ状態でモータに与える電流を段階的に設定できるため、トルク設定を行うことができる。４１，４２，４３はＡ相側の制御ブロックである。４１は回生電流の流し方（ディケイモード）、４２は電流値、４３は位相の制御をＡ相出力電流に対してそれぞれ行う。また、４４，４５，４６はＢ相側の制御ブロックであり、それぞれの機能はＡ相側と同一である。
【００４０】
図７は、本発明の第１の実施形態における、モータードライバーへのＤＭＡ転送を説明するためのＡＳＩＣ内部の回路および機能構成を示したブロック図である。
【００４１】
ＲＡＭ１７中の４７はモータ駆動テーブルを展開（格納）する領域を示しており、本実施形態に基づきＲＡＭ内に一励磁周期Ｎステップのテーブルを２面分確保している様子を表している。
【００４２】
モータ駆動を行うために必要な情報は励磁のための駆動データと、その励磁を保持する時間データである。４８は駆動データテーブル（駆動データ格納領域）、４９は時間データテーブル（時間データ格納領域）である。これら２つのテーブルに対して、それぞれ一励磁周期Ｎステップのテーブルを２面分確保する。その２面のテーブルをそれぞれＡとＢで区別し、駆動データデーブルを４８ａ，４８ｂ、また時間データテーブルを４９ａ，４９ｂとする。この一励磁周期Ｎステップのテーブルの２面分の駆動データは、前述のようにＲＯＭ１８からＡＳＩＣ１９を介してＣＰＵ１６によって書き込まれる。
【００４３】
５０は本実施形態に係わるモータドライバコントローラ回路のブロック構成の概略を示したものである。データコントローラ２９は、前述したようにＤＭＡコントローラ２６に対してＲＡＭ１７の特定の領域４７からのＤＭＡデータ転送を要求する。モータドライバコントローラ回路によって行われるＤＭＡ転送は駆動データ、時間データの順序で行われ、両者は対の関係にあり、個数は一致している。
【００４４】
５１は駆動データテーブル４８において、４８ａもしくは４８ｂのテーブルのＤＭＡスタートポイントアドレスを設定するレジスタであり、一励磁周期Ｎステップの駆動データの先頭アドレスを設定するレジスタである。ここで、本レジスタ構成は、本実施形態の特徴的な構成であるダブルレジスタ構造である。５１は初段側のレジスタであり、後段側のレジスタは５１ａである。前段レジスタから後段レジスタへのラッチのタイミングは後で説明する。５２は後段レジスタ５１ａのアドレスを基準に駆動データのＤＭＡアドレスの更新を行う部分であり、ｗｏｒｄ単位でＤＭＡを行うため、２ずつインクリメントするカウンタを有している。このようにモータドライバコントローラ回路５０は後段のレジスタにラッチされた条件に基づいて動作を行う。
【００４５】
３２は図１０で示したようにＤＭＡ転送によって、モータドライバコントローラ回路５０にモータ駆動データを格納する駆動データレジスタである。この駆動データは直ちにモータドライバ３４にシリアル転送される。前述のように、モータドライバに駆動データがシリアル転送されても、その駆動データはモータドライバ３４内部のシフトレジスタ３８に順次詰め込まれるだけで、ストローブパルスは来ないのでラッチ３９にラッチされず励磁の切り替えは行われない。ストローブによってラッチのタイミング、つまり励磁の切り替えタイミングの管理は時間データを基に行われている。そこで、次に時間データの管理方法を説明する。
【００４６】
５３は時間データテーブル４９において、４９ａもしくは４９ｂのテーブルのＤＭＡスタートポイントアドレスを設定するレジスタであり、駆動データと同様に一励磁周期Ｎステップの時間データの先頭アドレスを設定するレジスタである。ここでも、本レジスタ構成は、本実施形態の特徴的な構成であるダブルレジスタ構造である。５３は初段側のレジスタであり、後段側のレジスタは５３ａである。前段レジスタから後段レジスタへのラッチのタイミングは後で説明する。５４は後段レジスタ５３ａのアドレスを基準に時間データのＤＭＡアドレスを更新する部分であり、駆動データと同様にｗｏｒｄ単位でＤＭＡを行うため、そのアドレスを２ずつインクリメントするカウンタを有している。前述のようにモータドライバコントローラ回路５０は後段のレジスタにラッチされた条件に基づいて動作を行う。
【００４７】
３３は図５で説明したようにＤＭＡ転送によって、モータドライバコントローラ回路に時間データを取得したものである。取得された時間データは、５５に示す時間カウンターに設定される。時間カウンター５５は一致カウンターであり、前記時間データと一致するとストローブパルスをモータドライバ３４に発生すると共にＤＭＡ  Ｎ回数管理ブロック５６に通知する。また、取得した時間データがゼロ、つまり励磁時間がゼロであった場合は、駆動終了とみなし、ストローブパルスの発生と、後述する割り込み管理ブロック５７に備えられたレジスタにその事象を示すフラグを設定する。モータドライバ３４は、時間ゼロに対となる駆動データでモータを励磁し、保持状態となる。
【００４８】
ＤＭＡ  Ｎ回数管理ブロック５６は一励磁周期ＮステップのＤＭＡ転送回数を管理する機能を有している。その一励磁周期Ｎステップの設定は５７に示すレジスタによって行う。ＤＭＡ  Ｎ回数管理ブロック５６は５７のレジスタに設定された一励磁周期Ｎステップの回数に達成すると、その事象を示すフラグを５８に示す割り込み管理ブロックに設定を行う。割り込み管理ブロック５８は、各割り込み要因を示すフラグを受け取ると、割り込み信号をＣＰＵ１６に通知する。つまり、この割り込み信号はモータドライバコントローラ回路５０から発生されるものである。また、前記割り込み管理ブロック５８には、図示されてない割り込みクリアレジスタが存在しており、ＣＰＵ１６はモータドライバコントローラ回路５０から割り込み信号を検出した後、例えば、プログラムを実行させてその割り込みクリアレジスタの値をクリアすることができる。また、このＤＭＡ  Ｎ回数管理ブロック内には、サンプリング回設定レジスタ６２、回数一致検出ブロック６３、ＰＥセンサー１１３の接続されたセンサー情報保存ブロック６４を有しており、サンプリング回設定レジスタに設定されたＤＭＡ回数と現在のＤＭＡ回が一致した場合、センサー情報保存ブロック内のセンサー情報保存レジスタに、その瞬間のＰＥセンサーの信号レベル（Ｈｉｇｈ  ｏｒ  Ｌｏｗ）に応じた情報を１ないし、０として保存するように構成されている。
【００４９】
次に前述の前段レジスタ５１、５３から後段レジスタ５１ａ，５３ａへのラッチのタイミングについて説明を行う。
【００５０】
そのタイミングは、ＣＰＵ１６が５９に示すイニシャルトリガレジスタに書き込みを行った時点、さらに、一励磁周期Ｎステップの駆動を終了した時点である。また、イニシャルトリガレジスタ５９は、ＣＰＵ１６が書き込み動作（ダミーライト）を行うことによって発生する。これによって前段の駆動データアドレスレジスタ５１および時間データアドレスレジスタ５３を駆動前に、後段のそれぞれのレジスタ５１ａ，５３ａにラッチさせて、最初の一励磁周期の駆動条件をモータドライバコントローラ回路５０の内部に設定することができる。さらに最初の１ステップ目の駆動データ、および時間データをＤＭＡ転送によって駆動データレジスタ３２およびに時間データレジスタ３３に格納し、駆動データレジスタ３２に格納されている駆動データをモータドライバ３４のシフトレジスタに転送する。モータドライバ３４はストローブを受信すると、即座に励磁可能なスタンバイ状態となる。
【００５１】
また、前述の一励磁周期Ｎステップの駆動を終了した時点で行われるラッチのタイミングは、ＣＰＵ１６に対して割り込みを発生するタイミングと同時である。
【００５２】
６０はモータドライバコントローラ回路５０の内部回路に対して、駆動を開始させるための開始トリガを生成するためのレジスタであり、ＣＰＵ１６が書き込み動作（ダミーライト）を行うことによってトリガが発生する。本トリガによってモータドライバ３４に対してストローブ信号が送信され、最初の１ステップ目の励磁が開始される。さらに割り込み管理ブロック５８に、駆動スタート割り込み要因を示すフラグを送信する。
【００５３】
図８は、モータドライバコントローラ回路５０の内部動作を示すフローチャートである。
【００５４】
モータドライバコントローラ回路５０は、ステップＳ８０１でイニシャルトリガレジスタ５９に書き込みが行われると、前段の駆動データアドレスレジスタ５１および時間データアドレスレジスタ５３を駆動前に、後段のそれぞれのレジスタ５１ａ，５３ａにラッチさせる。ステップＳ８０２、ステップＳ８０３で、最初の１ステップのそれぞれ駆動データ、時間データをＤＭＡ転送によって駆動データレジスタ３２および時間データレジスタ３３にラッチし、ステップＳ８０４でモータドライバ３４に転送を行う。ステップＳ８０５でスタートトリガレジスタ６０に書き込みが行われると、モータドライバ３４に対してストローブパルスを発生（ステップ８０６）して励磁を開始させる。また、直ちにステップＳ８０７にて駆動スタート割り込みを発生させる。ステップＳ８０８では、ＤＭＡ  Ｎ回数管理ブロック内に存在する一励磁周期ＮステップをカウントするためカウンタＭをクリアする。ステップＳ８０９、ステップＳ８１０で、それぞれ駆動データ、時間データをＤＭＡ転送によって駆動データレジスタ３２および時間データレジスタ３３にラッチし、ステップＳ８１１でモータドライバ３４に転送を行う。また、取得した時間データに基づいてステップＳ８１２でストローブパルスを発生させ、モータドライバの励磁を切り替える。ステップＳ８１３では、カウンタＭの値をインクリメントさせてステップ数を進める。
【００５５】
ステップＳ８１４では、ステップＳ８０９で取得した時間データがゼロか否かを判定する。時間データがゼロだった場合はステップＳ８１５に進み、駆動終了割り込みを発生させてステップＳ８１６で駆動が終了する。ステップＳ８１４で時間データがゼロでないと判定された場合は、ステップＳ８１７に進む。ステップＳ８１７ではＭ＜Ｎ未満であれば、一励磁周期がまだ終了していないと判断してステップＳ８０８に戻り、次ステップのＤＭＡデータ転送を開始する。ステップＳ８１７でＭ＝Ｎと判定された場合は、一励磁周期の駆動を終了したと判断してステップＳ８１８で一励磁周期割り込み信号を発生する。そして次の一励磁周期のためにステップＳ８０８に戻る。
【００５６】
図９は、本実施形態によるモータドライバコントローラ回路５０に基づいて１相を１６分割したマイクロステップ駆動を行った場合に、ＲＡＭ１７のワークエリアを占有するデータ量を示す。ここで、１相は例えば、２−２相励磁の駆動を行う場合、Ａ相の信号レベルとＢ相の信号レベル（相信号の組み合わせ）で決まる。具体的には、例えばＡ相がＨ（ハイレベル）、Ｂ相がＬ（ローレベル）である。この状態を時間的に１６等分して、例えば励磁電流値を段階的に変化させる。また、図の右側はその内訳を示したものである。マイクロステップ駆動は一励磁周期は６４ステップで構成される。そのため、１面の駆動データテーブルは、
６４ステップ×２ｂｙｔｅ＝１２８ｂｙｔｅ
である。また、２面を交互に用いるために、駆動データテーブルの容量は上記の倍の２５６ｂｙｔｅとなる。また、時間テーブルデータも同様に２５６ｂｙｔｅとなる。従って合計５１２ｂｙｔｅの容量のワークエリアを使用することでマイクロステップ駆動が実現可能となる。
【００５７】
図１０は、本発明の第１の実施形態におけるステップ管理タイミングと、センサーによる用紙後端検出位置の関係を示した模式図である。図では、時間軸は左から右へ進行し、３２パルス以上駆動する際の用紙後端（ＰＥ）センサー１１３の出力レベルと、相の関係を示している。ここで、ＤＭＡの設定は、８ステップを一単位として駆動し、その間を８分割している場合の説明である。８ステップを一単位としているので、ＣＰＵの割り込み処理によるソフトウェア処理が介在するのは、図の０、８、１６、２４、３２の各ステップ数の時のみとなる。
【００５８】
実際には、センサーの状態は、１６ステップから、２４ステップの間で変化した場合、後述するような従来例では、２４ステップ目から変化したと決定せざるをえなかった（あるいは、１６ステップ目と決定していた）。
【００５９】
本発明の第１の実施形態によれば、駆動開始前に、サンプリング回設定レジスタ６２にあらかじめ回数を設定（１、３、５、７回）しておけば、２４ステップ目のソフトウェア処理中で、ＰＥセンサー１１３の状態の変化を検出した際に、前述のセンサー情報保存ブロック内のレジスタを参照すれば、設定した回数（１、３、５、７回）のすべての回のセンサー情報がわかるので、それに基づいて用紙無し状態になったステップ数を詳細に決定（この場合、１６＋５＝２１）することができる。つまり、用紙の後端検出の精度を向上させることができる。
【００６０】
図１１は、本発明の第１の実施形態における用紙後端検出位置決定処理を示すフローチャートである。
【００６１】
まず、ステップＳ１１０１で、ＡＳＩＣに対してＮステップ分の動作を自動で行うためにレジスタ設定を行う。次にステップＳ１１０２で、イニシャルトリガーをセットすることにより、ステップＳ１１０１で設定したレジスタ情報がＡＳＩＣ内部のバッファに設定される。次にステップＳ１１０３で再度ＡＳＩＣに対してＮステップ分の動作を自動で行うためにレジスタ設定を行い、ステップＳ１１０４でスタートトリガーをセットすると、ＡＳＩＣは、ステップＳ１１０１で設定された内容（バッファへセットされた）をバッファからラッチして、動作を開始すると同時に、ステップＳ１１０３で設定された内容をバッファにラッチする。以後は、ステップＳ１１０５でＮステップをＭ回のＤＭＡで駆動したのち、ステップＳ１１０６で割り込み信号を検出していれば、ＣＰＵによる割り込み処理が起動（＝ステップＳ１１０７以降）し、「ＰＥセンサーの情報がＨｉｇｈ（用紙なし）、かつ用紙なし状態がセットされていない」条件が成立していなければ、ステップＳ１１０８に進み、送り量管理のためのカウンタＳＴＥＰをＮだけ増加させて、ステップＳ１１０９で、あらかじめ設定されている指定送り量と駆動ＳＴＥＰ数を比較し、設定送り量より少なければ、再び、ステップＳ１１０３に戻って駆動を継続する。等しいか、多くなっていれば、駆動は終了される。また、ステップＳ１１０７で、ＰＥセンサーの情報がＨｉｇｈ（用紙なし）で、かつ用紙なし状態がセットされていない場合、Ｓ１１１０に進み、用紙無し位置を、現在のＳＴＥＰ（図１０の例では１６）に、センサー情報保存ブロックのセンサー情報を参照して、センサー情報が１で、かつ、一番少ないカウンタ（この場合は、Ｍ＝５）をサーチして加算し、１６＋５＝２１を用紙無し位置（ステップ数）としてＲＡＭ上のエリアに記憶する。かつ、用紙無し状態を検出した状態フラグをセットし、以後はステップＳ１１０８以降の同様の処理を繰り返す。
【００６２】
図１２は、ＤＭＡカウントによるセンサー情報保存のためのＡＳＩＣ内部のレジスタ構成を示したブロック図である。モーター駆動開始前に、サンプリング回設定レジスタ６２にあらかじめＭ回のＤＭＡ中のどの回数でセンサー情報をサンプリングするかを設定（本実施形態では４箇所）しておく。ＤＭＡ動作中は、回数検出一致ブロック６３が現在のＤＭＡ回と設定されている回数とを比較し、一致した場合、ＰＥセンサー１１３の信号レベルを、センサー情報保存ブロック内のレジスタ６４ａの所定位置（例えば、レジスタＡに設定された回数のセンサー情報はＡの位置に、レジスタＢに設定された回数のセンサー情報はＢの位置）に１か０の情報として保存（格納）する。
【００６３】
以上、説明した構成により、記録用紙の後端検知の精度を向上させることができる。
【００６４】
（第２の実施形態）
第１の実施形態では、記録装置における用紙搬送用モーターで記録用紙を搬送し、後端検出センサーで記録用紙後端を検出する場合について説明したが、同様に記録装置において、シリアルスキャンする印字キャリッジをパルスモーターで駆動し、キャリッジ位置（例えばキャリッジのホームポジションなど）を検出するために配置されたセンサーで検出するような構成においても、駆動ＤＭＡ毎のあらかじめ指定されたカウント時に、センサー情報をレジスタに保存することにより、キャリッジセンサー情報を高い精度で検出することができる。
【００６５】
（第３の実施形態）
第１、第２の実施形態では、記録装置におけるパルスモーター駆動時のセンサー情報について説明したが、記録装置にとどまらず、さまざまな機器（例えばスキャナー）において、ＤＭＡ駆動によるパルスモーターで対象物を駆動して（移動させ）、対象物によってセンサーの状態が変化するような場合（たとえば、モーターでカムを駆動し、カム位置をセンサーで検出するような場合）においても、同様にセンサー情報を高精度で検出することができる。
【００６６】
（第４の実施形態）
第１〜第３の実施形態では、センサの検出信号を、ハードウェアによるＤＭＡ毎のあらかじめ指定されたカウント時に、レジスタに保存するように構成していたが、例えばセンサー情報保存ブロックのセンサー情報の参照する処理が余裕をもって行うことができれば、指定カウントではなく、ＤＭＡ毎のセンサー情報すべてを保存するように構成してもよい。
【００６７】
この場合、センサー情報保存レジスタは増えるが、ＤＭＡ回数指定レジスタは省略することができる。
【００６８】
（第５の実施形態）
第１〜第４の実施形態のどちらの場合においても、用紙の後端を検出するセンサの検出信号をハードウェアによるＤＭＡ時に単純にセンサー情報を保存するのではなく、ひとつ前のＤＭＡ時の情報を別途保存しておき、今回のＤＭＡ時の情報とＯＲした後の情報を保存するように構成することもできる。このように構成すると、電気的ノイズや、センサーのメカ動作によるチャタリング（動作のバタつき）による出力レベルのノイズによる誤検出を除去することが可能になる。
【００６９】
また、このように情報をＯＲする場合において、前回と今回の二つだけではなく、三回以上の過去の任意の回数分を指定して、そのすべてをＯＲした情報を保存するように構成することも可能である。
【００７０】
さらには、前述のように２回以上の情報を蓄積して、ＯＲするのではなく、ＡＮＤした情報を保存するように構成することも可能である。
【００７１】
（第６の実施形態）
第１の実施形態においては、８ステップをまとめてＤＭＡ駆動する例について説明したが、１ステップを複数（たとえば１６のマイクロステップ）に分割して、１ステップ（＝１６マイクロステップ）をＤＭＡ駆動する場合についても、同様の効果を得ることができる。この場合は、センサーの検出単位はマイクロステップ単位とすることができる。
【００７２】
（第７の実施形態）
第１の実施形態においては、サンプリング回設定レジスタ６２に設定する値を設定していたが、この設定値を固定値として回路に組み込んでも構わない。
【００７３】
（第８の実施形態）
第１の実施形態においては、サンプリング回設定レジスタ６２に設定する値は４つであったが、この値に限定するものではなく、例えばセンサー情報保存ブロックのセンサー情報の参照する処理が余裕をもって行うことができれば、設定する値を増やしても構わない。
【００７４】
また、搬送速度に応じて（記録モードに応じて）、サンプリング回設定レジスタ６２に設定する値を変更しても構わない。
【００７５】
以上説明してきたように、上記の第１乃至第８の実施形態では、記録装置の用紙搬送用モータ制御をハードウェアとソフトウェアにより行う手段を有し、Ｎ（Ｎ：１以上）ステップをモータ制御用ハードウェア回路によって制御し、ＣＰＵはそのＮステップ毎にそのハードウェア回路から生成される割り込み信号を基に、Ｎステップ刻みでステップをカウントしていくモータ制御方法において、紙送り（ＬＦ）制御モーターに用いれば、記録用紙センサーによる用紙後端検出位置を従来のハードウェア制御よりも正確に求めることができる。このことにより、例えば搬送ローラー、排紙ローラーに対する後端残り量を正確に求めることができ、記録用紙の端までの印字も可能となる。
【００７６】
以上の実施形態は、特にインクジェット記録方式の中でも、インク吐出を行わせるために利用されるエネルギーとして熱エネルギーを発生する手段（例えば電気熱変換体やレーザ光等）を備え、前記熱エネルギーによりインクの状態変化を生起させる方式を用いることにより記録の高密度化、高精細化が達成できる。
【００７７】
その代表的な構成や原理については、例えば、米国特許第４７２３１２９号明細書、同第４７４０７９６号明細書に開示されている基本的な原理を用いて行うものが好ましい。この方式はいわゆるオンデマンド型、コンティニュアス型のいずれにも適用可能であるが、特に、オンデマンド型の場合には、液体（インク）が保持されているシートや液路に対応して配置されている電気熱変換体に、記録情報に対応していて核沸騰を越える急速な温度上昇を与える少なくとも１つの駆動信号を印加することによって、電気熱変換体に熱エネルギーを発生せしめ、記録ヘッドの熱作用面に膜沸騰を生じさせて、結果的にこの駆動信号に１対１で対応した液体（インク）内の気泡を形成できるので有効である。この気泡の成長、収縮により吐出用開口を介して液体（インク）を吐出させて、少なくとも１つの滴を形成する。この駆動信号をパルス形状とすると、即時適切に気泡の成長収縮が行われるので、特に応答性に優れた液体（インク）の吐出が達成でき、より好ましい。
【００７８】
このパルス形状の駆動信号としては、米国特許第４４６３３５９号明細書、同第４３４５２６２号明細書に記載されているようなものが適している。なお、上記熱作用面の温度上昇率に関する発明の米国特許第４３１３１２４号明細書に記載されている条件を採用すると、さらに優れた記録を行うことができる。
【００７９】
また、以上の実施形態は記録ヘッドを走査して記録を行なうシリアルタイプの記録装置であったが、記録媒体の幅に対応した長さを有する記録ヘッドを用いたフルラインタイプの記録装置であっても良い。フルラインタイプの記録ヘッドとしては、上述した明細書に開示されているような複数記録ヘッドの組み合わせによってその長さを満たす構成や、一体的に形成された１個の記録ヘッドとしての構成のいずれでもよい。
【００８０】
加えて、上記の実施形態で説明した記録ヘッド自体に一体的にインクタンクが設けられたカートリッジタイプの記録ヘッドのみならず、装置本体に装着されることで、装置本体との電気的な接続や装置本体からのインクの供給が可能になる交換自在のチップタイプの記録ヘッドを用いてもよい。
【００８１】
また、以上説明した記録装置の構成に、記録ヘッドに対する回復手段、予備的な手段等を付加することは記録動作を一層安定にできるので好ましいものである。これらを具体的に挙げれば、記録ヘッドに対してのキャッピング手段、クリーニング手段、加圧あるいは吸引手段、電気熱変換体あるいはこれとは別の加熱素子あるいはこれらの組み合わせによる予備加熱手段などがある。また、記録とは別の吐出を行う予備吐出モードを備えることも安定した記録を行うために有効である。
【００８２】
さらに、記録装置の記録モードとしては黒色等の主流色のみの記録モードだけではなく、記録ヘッドを一体的に構成するか複数個の組み合わせによってでも良いが、異なる色の複色カラー、または混色によるフルカラーの少なくとも１つを備えた装置とすることもできる。
【００８３】
以上説明した実施の形態においては、インクが液体であることを前提として説明しているが、室温やそれ以下で固化するインクであっても、室温で軟化もしくは液化するものを用いても良く、あるいはインクジェット方式ではインク自体を３０°Ｃ以上７０°Ｃ以下の範囲内で温度調整を行ってインクの粘性を安定吐出範囲にあるように温度制御するものが一般的であるから、使用記録信号付与時にインクが液状をなすものであればよい。
【００８４】
【発明の効果】
以上説明したように、本発明によれば、用紙搬送用モータの制御をハードウェアとソフトウェアにより行なう場合でも、正確な後端検出を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態の記録装置正面外観構成図である。
【図２】記録装置の側断面模式図である。
【図３】後端を検知した状態を示した記録装置の側断面模式図である。
【図４】用紙が搬送ローラを抜けた状態を示した記録装置の側断面模式図である。
【図５】記録装置の電気回路構成を示すブロック図である。
【図６】モータドライバへの駆動データの転送タイミングを示す図である。
【図７】モータードライバーへのＤＭＡ転送を説明するためのＡＳＩＣ内部の回路および機能構成を示したブロック図である。
【図８】第１の実施形態のモータドライバコントローラ回路の動作状態を示したフローチャートである。
【図９】第１の実施形態において、マイクロステップ駆動を行った場合のＲＡＭを占有するデータ量を示した図である。
【図１０】第１の実施形態におけるステップ管理タイミングと後端検出位置を示した模式図である。
【図１１】第１の実施形態における用紙後端検出位置決定処理を示すフローチャートである。
【図１２】ＤＭＡカウントによるセンサー情報保存のためのＡＳＩＣ内部のレジスタ構成を示したブロック図である。
【図１３】従来例におけるステップ管理タイミングと後端検出位置を示した模式図である。
【符号の説明】
１６  ＣＰＵ
１７  ＤＲＡＭ
１８  ＲＯＭ
１９  ＡＳＩＣ
３４  ＬＦモータドライバ
５３０  インターフェイス
５３３  記録ヘッド
５２２  ＣＲモータドライバ
５２６  ＬＦモータ
５２７  ＣＲモータ
５２９  オートシートフィーダ（ＡＳＦ）センサー
１０１  プリンタ装置
１０２  キャリッジ
１０３  シャフト軸
１０４  駆動側プーリー駆動側
１０５  プーリー
１０６  タイミングベルト
１０７  プラテン
１０８  排紙ローラ
１０９  搬送ローラ
１１０  ピンチローラ
１１１  オートシートフィーダー
１１２  給紙ローラ
１１３  後端検出センサー
１１４  センサー用アーム
１１５  記録用紙
１１６  距離Ｘ１
１１７  距離Ｘ２
１１８  距離Ｘ３
【図１】
2004351792.tif 000003
【図２】
2004351792.tif 000004
【図３】
2004351792.tif 000005
【図４】
2004351792.tif 000006
【図５】
2004351792.tif 000007
【図６】
2004351792.tif 000008
【図７】
2004351792.tif 000009
【図８】
2004351792.tif 000010
【図９】
2004351792.tif 000011
【図１０】
2004351792.tif 000012
【図１１】
2004351792.tif 000013
【図１２】
2004351792.tif 000014
【図１３】
2004351792.tif 000015