(57)【特許請求の範囲】
【請求項１】
画像読取の光学手段を搭載したキャリッジを含む可動走査機構；
該可動走査機構を駆動するパルスモ−タおよび、該パルスモータに、指定された励磁パターンで通電するモータドライバ；
所定位置で前記キャリッジを検出する位置検出手段；
前記パルスモータを回転駆動する励磁パターンのデータを保持する励磁パターンデータ保持手段；
設定された制御データに従って前記励磁パターンデータ保持手段から励磁パターンのデータを読出して、前記モータドライバに該励磁パターンの通電を指定する転送手段；および、
前記キャリッジをリターン方向に駆動して前記位置検出手段が前記キャリッジを検出するとそれから所定量の前記リターン方向の駆動後に前記キャリッジの駆動を停止するホーミングにおいて、ホーミング用のタイマ値をタイマにセットしてそれがタイムアップすると実行するモータ励磁タイマ割り込みの一回毎に、前記位置検出手段が前記キャリッジを検出するまではそれが出力する検出信号を参照しかつ前記励磁パターンデータ保持手段から一励磁パターンのデータを読出して前記モータドライバに該励磁パターンの通電を指定し、
前記キャリッジの、画像読取を行うフォワード定速駆動において、前記パルスモータを回転駆動する励磁パターンの複数回の切換え毎に一回モータ励磁パターン割り込みを起動しこれによって、前記複数回の励磁パターンのデータを順次に前記励磁パターンデータ保持手段から読出して前記モータドライバに該励磁パターンの通電を指定する、データ転送のための制御データを、前記転送手段に設定する、駆動制御手段；
を備える画像読取装置。
【請求項２】
前記励磁パターンデータ保持手段は、フルステップ駆動用の励磁パターンのデータ群およびハーフステップ駆動用の励磁パターンのデータ群を保持し；
前記駆動制御手段は前記ホーミングにおいては前記励磁パターンデータ保持手段のハーフステップ駆動用の励磁パターンのデータを読出し、前記フォワード定速駆動の画像読取を終えて前記キャリッジを前記位置検出手段がある方向に戻すリターン駆動においては、前記パルスモータを回転駆動する励磁パターンの複数回の切換え毎に一回前記モータ励磁パターン割り込みを起動しこれによって、前記複数回のフルステップ駆動用の励磁パターンのデータを順次に前記励磁パターンデータ保持手段から読出して、前記モータドライバに該励磁パターンの通電を指定するデータ転送のための制御データを、前記転送手段に設定する；
請求項１に記載の画像読取装置。
【請求項３】
前記フルステップ駆動用の励磁パターンのデータ群および前記ハーフステップ駆動用の励磁パターンのデータ群のそれぞれは、リターン駆動用のデータ群およびフォワード駆動用のデータ群を含み；
前記リターン駆動用および前記フォワード駆動用それぞれのデータ群に含まれるハーフステップ駆動用の励磁パターンの１循環のデータ群は、前記リターン駆動用および前記フォワード駆動用それぞれのデータ群に含まれるフルステップ駆動用の１循環の第１所定数の励磁パターン群の各パターンのデータを偶数番として含み、その中の読出し順で隣り合うものの間に各１つを介挿した前記第１所定数の付加パターン群の各パターンのデータを奇数番として含む、前記第１所定数の２倍である第２所定数のパターンのデータ群でなり；
前記駆動制御手段は前記ホーミングにおいて前記位置検出手段が出力する検出信号が前記キャリッジの非検出から検出に変化したとき、前記ハーフステップ駆動用の励磁パターンのデータ群の中の奇数番のパターンを指定しているとそれから前記ハーフステップ駆動用の励磁パターンのデータ群の中の前記第２所定数のパターンを切換え指定した後に、前記ハーフステップ駆動用の励磁パターンのデータ群の中の偶数番のパターンを指定していたときには前記ハーフステップ駆動用の励磁パターンのデータ群の中の前記第２所定数＋１のパターンを切換え指定した後に、駆動を停止する；
請求項２に記載の画像読取装置。
【請求項４】
前記励磁パタ−ンデータ保持手段が保持するリターン駆動用およびフォワード駆動用それぞれのハーフステップおよびフルステップ駆動用の励磁パターンのデータ群のそれぞれは、ほぼ２循環分のデータを含む、請求項３に記載の画像読取装置。
【請求項５】
前記駆動制御手段は前記モータ励磁パターン割り込みにおいて、前記位置検出手段が前記キャリッジを検出しているとカウントデータを１インクレメントし該カウントデータが第４所定値に達したときに異常処理を実行する、請求項１乃至４のいずれかに記載の画像読取装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、複写機，イメ−ジスキャナ，ファクシミリのような画像読取装置に関し、特にパルスモ−タを用いた可動読取部の位置決めに関する。
【０００２】
【従来の技術】
例えば、特開平４−５４７６１号公報には、原稿走査ユニットを駆動するステッピングモータの励磁モードを加速時または減速時に切り換えることが開示されている。
【０００３】
【発明が解決しようとする課題】
一般に画像読取装置においては、画像読取を開始する基準位置が変動しないことが望まれる。また一般に、パルスモ−タを用いて可動読取部を走査駆動する画像読取装置の場合、画像読取を開始する基準位置は、停止位置（ホ−ム位置）から所定パルス数移動した位置に設定される。従って、可動読取部を停止する際に高い位置決め精度が要求される。一方、高速の画像読取を実現するためには、可動読取部の往復走査速度を上げる必要がある。
【０００４】
可動読取部の往復走査速度を上げると、パルスモ−タの励磁相の切換えを短い周期で繰り返す必要があり、更に励磁相切換え周期の変更制御も短い周期で繰り返す必要があるため、この種の制御をマイクロコンピュ−タのソフトウェア処理で実行するのは困難である。
【０００５】
最近のマイクロコンピュ−タには、ＤＭＡ転送の一種であるマクロ機能を備えているものがある。このマクロ機能を利用すると、予め指定したメモリ領域上の複数のデ−タを指定したポ−トに、例えばタイマ割込が発生する度に順番にＤＭＡ転送することができる。つまり、マクロ機能を利用すれば、パルスモ−タの励磁相を示すデ−タを短い周期で自動的に切換えることが可能である。
【０００６】
しかしながら、マクロ機能を利用している時には、それを途中で停止することができない。例えば、パルスモ−タの励磁相を切換えるために、２０回のデ−タ転送を実行するようにマクロ機能をセットした場合、１０回目の転送後にパルスモ−タを停止する必要が生じても、残りの１０回のデ−タ転送が終了するまではパルスモ−タを停止できない。
【０００７】
実際の画像読取装置においては、可動読取部を所定のホ−ム位置に停止させるために、ホ−ム位置センサを備えており、ホ−ム位置センサの出力を監視して、それが最初にホ−ム位置を検出した位置を基準にして、可動読取部を停止するタイミングを決定している。従って、マイクロコンピュ−タのマクロ機能を利用してパルスモ−タの励磁相切換制御を実施する場合には、ホ−ム位置センサの出力を監視できる周期が長くなるため、可動読取部を停止する位置にばらつきが生じ、画像読取の基準位置が変動する。
【０００８】
従って本発明は、高速な画像読取走査を可能にするとともに、画像読取の基準位置が変動するのを抑制することを課題とする。
【０００９】
【課題を解決するための手段】
（１）画像読取の光学手段を搭載したキャリッジ(C1)を含む可動走査機構；
該可動走査機構を駆動するパルスモ−タ(11)および、該パルスモータに、指定された励磁パターンで通電するモータドライバ(43)；
所定位置で前記キャリッジ(C1)を検出する位置検出手段(9)；
前記パルスモータを回転駆動する励磁パターンのデータを保持する励磁パターンデータ保持手段(12の内部ROM）；
設定された制御データ(マクロ・サービスの、ポインタ，カウンタ，制御レジスタ等のデータ）に従って前記励磁パターンデータ保持手段から励磁パターンのデータを読出して、前記モータドライバに該励磁パターンの通電を指定する転送手段(12,42)；および、
前記キャリッジをリターン方向に駆動して前記位置検出手段が前記キャリッジを検出するとそれから所定量の前記リターン方向の駆動後に前記キャリッジの駆動を停止するホーミングにおいて、ホーミング用のタイマ値をタイマにセットしてそれがタイムアップすると実行するモータ励磁タイマ割り込みの一回毎に、前記位置検出手段が前記キャリッジを検出するまではそれが出力する検出信号を参照しかつ前記励磁パターンデータ保持手段から一励磁パターンのデータを読出して前記モータドライバに該励磁パターンの通電を指定し（図9の111〜118）、
前記キャリッジの、画像読取を行うフォワード定速駆動において、前記パルスモータを回転駆動する励磁パターンの複数回(20/10)の切換え毎に一回モータ励磁パターン割り込み(図12)を起動しこれによって、前記複数回(20/10)の励磁パターンのデータを順次に前記励磁パターンデータ保持手段から読出して前記モータドライバに該励磁パターンの通電を指定する、データ転送のための制御データを、前記転送手段に設定する、駆動制御手段(12,42)；
を備える画像読取装置。
【００１０】
なお括弧内には、後述する実施例中の対応要素又は対応事項の符号又は対応事項を参考までに示したものであるが、本発明の各構成要素は実施例中の具体的な要素のみに限定されるものではない。以下も同様である。
【００１１】
パルスモ−タを用いて可動走査機構を駆動する場合、最初の位置決めが正確であれば、その後は励磁パルス数の計数だけで可動走査機構の正確な位置を知ることができる。つまり、可動走査機構を正確な基準位置に位置決めできれば、その位置とパルスモータに与える励磁パターンの切換え回数に基づいて、画像読取のための基準位置を正確に把握できる。この基準位置への位置決めすなわちホーミングにおいては、多少時間を要しても問題はないので、低速で可動走査機構を駆動することができる。
【００１２】
上記（１）では、励磁パターン切換周期を長くできるので、マクロ機能を利用する必要がなく、励磁パターン切換え毎に位置検出手段が出力する信号を監視することできる。これにより、正確な初期位置決めが実現する。また、画像読取を実施する場合には、比較的高い速度で可動走査機構を駆動する必要があり、励磁パターン切換え周期が短くなる。この場合には、マクロ機能を利用する転送手段を用いて短い周期で励磁パターンのデータを読出し切換え出力できるので、走査速度を上げることができ、高速画像読取が実現する。この場合でも、正確なホーミングを実施していれば、画像読取の基準位置がずれる心配はない。
【００１３】
【発明の実施の形態】
（２）前記励磁パターンデータ保持手段(12の内部ROM)は、フルステップ駆動用の励磁パターンのデータ群(図15,図16)およびハーフステップ駆動用の励磁パターンのデータ群(図13,図14)を保持し；
前記駆動制御手段(12,42)は前記ホーミングにおいては前記励磁パターンデータ保持手段のハーフステップ駆動用の励磁パターンのデータを読出し(図17)、前記フォワード定速駆動の画像読取を終えてキャリッジを前記位置検出手段(9)がある方向に戻すリターン駆動においては、前記パルスモータを回転駆動する励磁パターンの複数回(10)の切換え毎に一回前記モータ励磁パターン割り込み(図12)を起動しこれによって、前記複数回(10)のフルステップ駆動用の励磁パターンのデータを順次に前記励磁パターンデータ保持手段から読出して、前記モータドライバに該励磁パターンの通電を指定するデータ転送のための制御データを、前記転送手段(12,42)に設定する；上記（１）に記載の画像読取装置。
【００１４】
これによれば、ホーミングをハーフステップ駆動でするので、精細かつ正確にキャリッジを基準位置に位置決めできる。画像読取を終えてキャリッジをリターン駆動するときにはフルステップ駆動で、転送手段を利用するので、キャリッジのリターンを高速で行うことができる。
【００１５】
（３）前記フルステップ駆動用の励磁パターンのデータ群(図15,図16)および前記ハーフステップ駆動用の励磁パターンのデータ群(図13,図14)のそれぞれは、リターン駆動用のデータ群およびフォワード駆動用のデータ群を含み；
前記リターン駆動用および前記フォワード駆動用それぞれのデータ群に含まれるハーフステップ駆動用の励磁パターンの１循環のデータ群(図13,図14)は、前記リターン駆動用および前記フォワード駆動用それぞれのデータ群に含まれるフルステップ駆動用の１循環の前記第１所定数(10)の励磁パターン群(図15,図16)の各パターンのデータを偶数番として含み、その中の読出し順で隣り合うものの間に各１つを介挿した前記第１所定数(10)の付加パターン群の各パターンのデータを奇数番として含む、第１所定数(10)の２倍である第２所定数(20)のパターンのデータ群でなり；
前記駆動制御手段(12,42)は前記ホーミングにおいて前記位置検出手段(9)が出力する検出信号が前記キャリッジの非検出から検出に変化したとき、前記ハーフステップ駆動用の励磁パターンのデータ群の中の奇数番のパターンを指定しているとそれから前記ハーフステップ駆動用の励磁パターンのデータ群の中の前記第２所定数のパターンを切換え指定した後に、前記ハーフステップ駆動用の励磁パターンのデータ群の中の偶数番のパターンを指定していたときには前記ハーフステップ駆動用の励磁パターンのデータ群の中の前記第２所定数＋１のパターンを切換え指定した後に、駆動を停止する(図11の11A〜11K)；
上記（２）に記載の画像読取装置。
【００１６】
これにより、ホーミング直後の次のパターンは偶数番となり、これはフルステップのパターン群とハーフステップのパターン群に共通に存在するパターンであるので、ホーミング直後にフルステップ駆動とハーフステップ駆動の何れを開始しても、ホーミング終了時のパターンに隣接するパターンから、パルスモータを駆動することができる。励磁相切換えが連続するので、ハーフステップ駆動のホーミングの直後にフルステップ駆動をしても、キャリッジに位置ずれを生じない。
【００１７】
（４）前記励磁パタ−ンデータ保持手段(12の内部ROM)が保持するリターン駆動用およびフォワード駆動用それぞれのハーフステップおよびフルステップ駆動用の励磁パターンのデータ群のそれぞれ(図13〜16)は、ほぼ２循環分のデータを含む、上記（３）に記載の画像読取装置。
【００１８】
２循環分のデータ配列のどこを読出し始点に定めても、そこから１循環分のデータを読み出すことができる。つまり、２循環分のデータ容量だけで、いずれの励磁パタ−ンから始まるモータ駆動でも実行しうる。読出し先頭アドレスをどこに定めても１循環分のデータを順次に読出すことができるので、ハーフステップおよびフルステップに共通のデータがある任意の番号の直前で先行のモータ駆動を停止して、次のモータ駆動をパターン切換えは連続するように開始して、先行のモータ駆動と後行のモータ駆動の間でキャリッジに位置ずれを生じないようにすることができる。
【００１９】
（５）前記駆動制御手段(12,42)は前記モータ励磁パターン割り込み(図12)において、前記位置検出手段(9)が前記キャリッジ(C1)を検出しているとカウントデータ(EMCNT)を１インクレメントし該カウントデータが第４所定値(5)に達したときに異常処理を実行する(図12の158〜15B)、上記（１）乃至（４）のいずれかに記載の画像読取装置。
【００２０】
モータ励磁パターン割り込み(図15)は複数回(10/20)の励磁パターン切換え毎に実行するので、カウントデータ(EMCNT)が第４所定値(5)に達したときは、複数回(10/20)×〔第４所定値(5)−１〕（＝４０又は８０）回以上のパターン切換えの間位置検出手段(9)がキャリッジ(C1)を検出していることになり、キャリッジ駆動をしているときにキャリッジが正常に移動しており、しかも位置検出手段(9)が正常に機能しているときにはありえないことである。このような異常を検出することができ、相応の異常処理を実行することができる。
【００２１】
【実施例】
実施例の画像読取装置の走査機構を図１に示す。この走査機構は、図示しない光学走査系を搭載しており、これの上方に配置される原稿面を照明し、原稿からの反射光を一次元イメ−ジセンサ（後述する３５）に導く。原稿の二次元画像を読取るために、第１キャリッジＣ１と第２キャリッジＣ２が図１中に示す矢印の方向（副走査方向）に往復走査駆動される。駆動源はスキャナモ−タ（パルスモ−タ）１１であり、スキャナワイヤＷを介してスキャナモ−タ１１の駆動力が第１キャリッジＣ１と第２キャリッジＣ２に伝達される。ＨＰセンサ９は、第１キャリッジＣ１のホ−ム位置を検出するために備わっている。
【００２２】
画像読取装置の電装部の構成を図２及び図３に分割して示す。図２及び図３を参照すると、この画像読取装置はＩＰＵ（画像処理）部１００，メイン制御部１０１，操作表示部１０２及びスキャナ部で構成されている。スキャナ部は、スキャナ制御基板１，ＣＣＤ基板２およびスキャナドライバ基板３を備えている。スキャナ部の主な制御機能は、モータ制御，アナログ系の自動設定，デジタル信号処理設定，原稿検知処理，本体との通信，プロジェクタ対応等である。
【００２３】
スキャナ制御基板１上のワンチップマイクロコンピュータ１２は、ＲＯＭ１３に予め格納されたプログラムを実行し、ＲＡＭ１４にデータ等を読み書きする事でスキャナ部の全体の制御を行なう。また、マイクロコンピュータ１２は、メイン制御部１０１とシリアル通信回路を介して接続されており、コマンド及びデータの送受信により指令された動作を行う。さらに、メイン制御部１０１は操作表示部１０２とシリアル通信回路を介して接続されており、操作表示部１０２に対するユーザーからのキー入力指示によって、動作モード等の指示を設定する事ができる。
【００２４】
マイクロコンピュ−タ１２は、中継処理しているスキャナドライバ基板３を通して、Ｉ／Ｏであるランプレギュレータ４，原稿検知センサ７，ＨＰセンサ９，圧板開閉センサ８，冷却ファン６，７，スキャナ開閉センサ１０等に接続されており、それらの検知結果の読取り及びオン／オフの制御を実行する。
【００２５】
スキャナドライバ基板３は、モータ励磁パターンデ−タを保持するＲＯＭ４２と、プリドライバ及びＦＥＴドライバを内蔵するモータドライバ部４３を備えている。マイクロコンピュ−タ１２のポートに順次に出力するデ−タによって、ＲＯＭ４２の保持するモータ励磁パターンデ−タが励磁パルスシーケンスとして順次に読み出され、この励磁パルスシーケンスにより原稿走査駆動用のパルスモータ１１が駆動される。
【００２６】
原稿は、ランプレギュレータ４に接続されたハロゲンランプ４４によって露光される。そして原稿からの反射光が、光学走査系の複数のミラー及びレンズを通り、ＣＣＤ基板２上の３ラインＣＣＤ（イメ−ジセンサ）３５に結像される。この３ラインＣＣＤ３５は、スキャナ制御基板のゲートアレー１５が発生する各種タイミング制御信号によって制御され、Ｒ（レッド）色，Ｇ（グリ−ン）色，Ｂ（ブル−）色のそれぞれに対応付けられた画像成分のライン情報を同時に撮像する。各色の成分は、ライン方向の画素の並びの偶数番目と奇数番目で分離され、シリアル画像信号（アナログ信号）としてそれぞれ出力される。各色の偶数番目（ｅｖｅｎ）と奇数番目（ｏｄｄ）のアナログ画像信号は、増幅器３６〜４１にそれぞれ入力される。
【００２７】
ゲートアレー１５は、画素同期信号ＰＭＳＹＮＣのパルスをカウントするＦＧＡＴＥスタートカウンタを内蔵している。このＦＧＡＴＥスタートカウンタは、マイクロコンピュ−タ１２の出力ポートからの信号によってカウントスタートし、これにより画像読み取り制御信号ＦＧＡＴＥを発生する。
【００２８】
ＣＣＤ基板２上の増幅器３６〜４１には、黒レベル調整及び暗電流補正を行うためのフィードバック電圧が印加される。マイクロコンピュ−タ１２が出力するデ−タは、バスＢＵＳに接続されたパラレルインシリアルアウト・データ・バッファ１６によってシリアルデータに変換され、このシリアルデータが８ｃｈのＤ／Ａコンバータ１７と１２ｃｈのＤ／Ａコンバータ１８にそれぞれ印加される。そして、Ｄ／Ａコンバータ１７及び１８の各出力に、フィードバック電圧が現われる。これらのフィードバック電圧により、各増幅器において黒レベル１，２が調整される。
【００２９】
増幅器３６〜４１から出力されるオフセット調整（ＤＡ１，ＤＡ２）されたアナログ画像データは、スキャナ制御基板１のＡ／Ｄコンバータ２１〜２６にそれぞれ入力される。Ａ／Ｄコンバータ２１〜２６の各基準電圧Ｖｒｅｆは、アナログ画像データのゲインに対応するように、Ｄ／Ａコンバータ１７，１８からの電圧によって調整（ＤＡ３）される。
【００３０】
Ａ／Ｄコンバータ２１〜２６は、それぞれ入力されるアナログ信号に対応するデジタル信号を出力する。デ−タセレクタ２７は、Ｒ色のＯＯＤとＥＶＥＮとを合成した信号を生成し、デ−タセレクタ２８は、Ｇ色のＯＯＤとＥＶＥＮとを合成した信号を生成し、デ−タセレクタ２９は、Ｂ色のＯＯＤとＥＶＥＮとを合成した信号を生成する。デ−タセレクタ２７〜２９が出力する信号は、それぞれゲートアレー３０〜３２に入力される。
【００３１】
ゲートアレー３０〜３２は、照明系の光量不均一やＣＣＤの画素出力のばらつきを補正するシェ−ディング機能を有している。即ち、ゲートアレー３０〜３２は、ランプ消灯時に出力データをゲートアレー３０〜３２に接続された図示せぬメモリ（黒メモリ）へセットする黒補正を行い、また、ランプを点灯して濃度基準板（白基準板）を露光した時に得られる画像デ−タをゲートアレー３０〜３２に接続された図示せぬメモリ（白メモリ）をセットする白補正を行う。この黒メモリ，白メモリのデータに基づいて、画像読取時にデータが演算処理されてシェーディング補正後のデータが出力される。また、ゲートアレー３０〜３２は、シェーディング補正以外にゲート信号により１ライン分の画像データの連続した８画素の加算平均した最大値をＯＯＤ、ＥＶＥＮ別に内部レジスタへ格納する機能とシェーディング演算を実行しない画像データ出力機能（データスルーモード）を有している。内部レジスタに格納された８画素の加算平均の最大値は、バスＢＵＳに接続されたマイクロコンピュ−タが読取ることができる。
【００３２】
シェーディング補正された画像データはライン間補正メモリ３３，３４に入力される。ライン間補正メモリ３３及び３４は、それぞれ、３ラインＣＣＤのＢとＧ，ＢとＲのライン数の画像データを遅延させることにより、Ｂ，Ｇ，Ｒの各色読取画像の位置合わせを行う。位置合わせされた画像デ−タはＩＰＵ部（１００）に出力される。ライン間補正メモリの設定は、ゲートアレー１５により倍率（読み取り速度）に応じて制御される。
【００３３】
マイクロコンピュ−タ１２の出力ポートに接続された２個のＰＲＯＭ（プログラマブルＲＯＭ）４２は、マイクロコンピュ−タ１２の出力デ−タ（５ビット）を実際のモータ励磁パターン（１０ビット）に変換するために備わっている。この実施例で使用しているパルスモ−タ１１は、バイファイラ巻きの５相の励磁コイルを有しているので、これを駆動するためには、１０ビットの制御信号（励磁制御信号）のパタ−ンを順次に切換える必要がある。しかし、励磁制御信号のパタ−ンの種類は、ハ−フステップ駆動をする場合でも２０種類しか存在しない。そこで、２０種類を区分できる５ビットのデ−タをマイクロコンピュ−タ１２から出力し、そのデ−タを２個のＰＲＯＭ４２で１０ビットの励磁制御信号に変換する。ＰＲＯＭ４２が出力する１０ビットの励磁制御信号は、モ−タドライバ４３に印加され、プリドライバ（ＳＩ−７５０１）およびＦＥＴドライバ（ＳＬＡ５０１１，ＳＬＡ５０１２）を介して、パルスモ−タ１１の５相の励磁コイルをバイポーラ駆動する。
【００３４】
マイクロコンピュ−タ１２は、ＰＲＯＭ４２に出力する５ビットのデ−タパタ−ン（励磁パタ−ン）の全てを、予め励磁パタ−ンデ−タテ−ブルとして内部ＲＯＭ上に保持している。このテ−ブルの内容、ならびにＰＲＯＭ４２の出力デ−タを図１３，図１４，図１５及び図１６に示す。図１３はリタ−ン方向駆動時のハ−フステップ励磁制御用のデ−タ、図１４はフォワ−ド方向駆動時のハ−フステップ励磁制御用のデ−タ、図１５はリタ−ン方向駆動時のフルステップ励磁制御用のデ−タ、図１６はフォワ−ド方向駆動時のフルステップ励磁制御用のデ−タをそれぞれ示している。
【００３５】
図１３を参照すると、マイクロコンピュ−タ１２上のテ−ブルには、連続的なアドレスＸ＋０，Ｘ＋１，Ｘ＋２，・・・（Ｘ：テ−ブルの先頭アドレス）に、有効ビット数が５ビットのデ−タ１，２，３，４，・・・，１８，１９，０，１，・・・が３９個並んで配置されている。アドレスＸ＋０，Ｘ＋１，Ｘ＋２，・・・には、それぞれラベルＲＨＰＡＴ０１，ＲＨＰＡＴ０２，ＲＨＰＡＴ０３，・・・（図１３）が定義されている。例えば、テ−ブルのラベルＲＨＰＡＴ０１で示される５ビットデ−タ「００００１Ｂ」（Ｂ：２進数表記，Ｈ：１６進数表記）をマイクロコンピュ−タ１２が出力すると、このデ−タはＲＯＭ４２内のＰＲＯＭ１およびＰＲＯＭ２にそれぞれアドレスとして印加され、ＰＲＯＭ１およびＰＲＯＭ２は、それぞれ５ビットデ−タ００１Ｈおよび０１７Ｈを出力する。ＰＲＯＭ１およびＰＲＯＭ２の各々の出力デ−タが、モ−タドライバ４３に印加される。図１３に示すテ−ブルには、ＲＨＰＡＴ０１〜ＲＨＰＡＴ２０で示される位置に、２０種類のデ−タが並んでいるが、更にその後にＲＨＰＡＴ０１〜ＲＨＰＡＴ１９で示される位置と同じ１９個のデ−タが繰り返し配置されている。ＲＨＰＡＴ０１〜ＲＨＰＡＴ２０の２０種類のデ−タを順次に出力して励磁相を切換えることにより、パルスモ−タ１１をリタ−ン走査方向（逆転方向）に連続的に駆動することができる。また、ＲＨＰＡＴ０１〜ＲＨＰＡＴ２０で示されるいずれの位置から順にデ−タの出力を開始しても２０種類のデ−タを出力できる。つまり、３９個のデ−タを並べてテ−ブルに保持することによって、モ−タの駆動を開始する時の最初の励磁パタ−ンを２０種類の中から自由に選択できる。図１４，図１５及び図１６についても同様である。但し、フルステップ駆動の場合には励磁パタ−ンの種類が少ないので、図１５及び図１６に示すテ−ブルにおいては、デ−タの種類が１０種類に減り、デ−タの数が１９個に減っている。図１３，図１４，図１５及び図１６のテ−ブルを選択的に使用することによって、それぞれ、ハ−フステップ励磁によるリタ−ン方向駆動，ハ−フステップ励磁によるフォワ−ド方向駆動，フルステップ励磁によるリタ−ン方向駆動，及びフルステップ励磁によるフォワ−ド方向駆動が実施される。
【００３６】
この励磁パタ−ンデ−タテ−ブルの他に、図５に示すような励磁切換タイミングテ−ブルが備わっている。この励磁切換タイミングテ−ブルは、励磁パタ−ンの切換周期を決定するデ−タ群を保持している。励磁パタ−ンの切換周期を変更することによって、パルスモ−タ１１の加速および減速を制御できる。励磁切換タイミングテ−ブルが保持するデ−タは、各々１６ビット（１ｗｏｒｄ）であり、ハ−フステップ励磁のスロ−アップ制御用に２５５ｗｏｒｄ、ハ−フステップ励磁のスロ−ダウン制御用に２５５ｗｏｒｄ、フルステップ励磁のスロ−アップ制御用に２５５ｗｏｒｄ、フルステップ励磁の再スロ−アップ制御用に１６０ｗｏｒｄ、フルステップ励磁の再スロ−ダウン制御用に１６０ｗｏｒｄ、フルステップ励磁のスロ−ダウン制御用に２５５ｗｏｒｄがそれぞれ保持されている。
【００３７】
マイクロコンピュ−タ１２に接続されたＨＰセンサ９は、走査ユニット（第１キャレッジＣ１）が所定のホ−ム位置にある時にそれを検知する。この実施例では、走査ユニットをリタ−ン走査方向に動かすと、ＨＰセンサ９が走査ユニットを検知してから走査ユニットが１０ｍｍ程度食い込んだ所（機械的限界位置）で機械的な制限がかかる。
【００３８】
次にパルスモータ１１の制御について説明する。マイクロコンピュ−タ（μＰＤ７８３１２Ａ）１２は、パルスモータ１１の駆動に必要な励磁パターンの選択と、励磁パターン切換えのタイミングの制御を、それに内蔵されたハードウェアを用いたマクロ・サービス機能によって実現している。
【００３９】
マクロ・サービス機能は、ソフトウェア処理が主体となる割り込みの発生頻度をできるだけ少なくし、割り込み処理，レジスタ退避，レジスタ復帰，割り込みサービス・ルーチンからの復帰、の一連の処理によるオーバーヘッドを抑制し、ＣＰＵのサービス時間を向上させるために用いられるものであり、一種のＤＭＡ（ダイレクト・メモリ・アクセス）機能である。
【００４０】
パルスモータ１１の励磁パターンの選択と、励磁パターン切換えタイミング制御の処理の流れを図４に示す。図４を参照すると、マクロ・サービス機能は２チャネル用意されている。各チャネルのマクロ・サービスのために、マクロ・サービスポインタＭＳＰ０，ＭＳＰ１，ＳＦＰポインタＳＦＲＰ０，ＳＦＲＰ１，マクロ・サービスカウンタＭＳＣ０，ＭＳＣ１が用意されている。また、図示しないマクロ・サービス制御レジスタの設定に応じて、マクロ・サービス・チャネルの選択，データ転送方向の指定，転送モードの指定（８ビット，１６ビット転送，ＭＳＰインクリメント，保持）が決定される。
【００４１】
この実施例においては、マクロ・サービス・チャネル０に、励磁パターン切換タイミングを決定する処理のための設定を行う。即ち、マクロ・サービスポインタＭＰＳ０に、転送元のメモリアドレスとして、励磁切換タイミングテ−ブル上の各テーブル領域の先頭アドレスを指定し、ＳＦＲポインタＳＦＲＰ０に、インターバル・タイマのモジュロ・レジスタＭＤ１のアドレスを転送先レジスタとして指定する。マクロ・サービスカウンタＭＳＣ０には、転送回数を設定する。この転送回数は、例えばハ−フステップ励磁のスロ−アップ制御を実施する場合には２５５であり、フルステップ励磁の再スロ−アップ制御を実施する場合には１６０である。
【００４２】
モジュロ・レジスタＭＤ１は、タイマレジスタＴＭ１にプリセットされるインターバルの値を保持する。図示しないタイマ・コントロールレジスタＴＭＣ０のビット７を１にセットすることにより、インターバル・タイマのスタートが指示される。インターバル・タイマがスタ−トすると、ＭＤ１に保持されている値が、ＴＭ１にプリセットされ、指定されたクロックでダウン・カウントし、アンダフローが発生すると、即ち指定した時間が経過すると、フラグＴＭＦ１およびＴＭＦ２がセットされ、マクロ・サービス要求が発生する。フラグＴＭＦ２がセットされると、ポインタＭＳＰ０で示される転送元アドレスの、励磁切換タイミングテ−ブル上の１ｗｏｒｄのデ−タをＭＤ１へＤＭＡ転送し、ポインタＭＳＰ０を＋２インクリメント（１６ビット転送のため）する。
【００４３】
また、フラグＴＭＦ１は、マクロ・サービスチャネル１のマクロ・サービス要求を発生する。この実施例においては、マクロ・サービス・チャネル１には、パルスモ−タ１１の励磁パターンデ−タを選択する処理の設定が実施される。即ち、マクロ・サービスポインタＭＳＰ１には、励磁パタ−ンデ−タテ−ブル上の領域の先頭アドレスが転送元のメモリアドレスとして指定され、ＳＦＲポインタＳＦＲＰ１には、リアルタイム出力ポート（モータ出力ポート）のバッファレジスタＰＯＨ，ＰＯＬのアドレスが転送先レジスタとして指定される。マクロ・サービスカウンタＭＳＣ１に設定される転送回数は、ハーフステップ励磁制御時は２０、フルステップ励磁制御時は１０である。実行は割り込み要求レジスタＴＭＩＣ１のビット５を１にセットする事により開始される。
【００４４】
ポインタＭＳＰ１で指示される転送元メモリアドレス（励磁パタ−ンデ−タテ−ブル上の１つのアドレス）に存在する１バイトのデ−タの上位４ビット及び下位４ビットが、それぞれＰＯＨおよびＰＯＬにＤＭＡ転送される。転送後に、ポインタＭＳＰ１は＋１インクリメント（８ビット転送のため）され、次のデ−タが存在するアドレスを指し示す。さらに、カウンタＭＳＣ１は−１ディクリメントされる。
【００４５】
従って、マクロ・サービス・チャネル１の処理によって、励磁パタ−ンデ−タテ−ブル上の、例えば２０バイトのフォワ−ドハ−フステップデ−タ１〜フォワ−ドハ−フステップデ−タ２０が、マクロサ−ビス要求ＴＭＦ１が発生する毎に１バイトずつ順番にリアルタイム出力ポ−トにＤＭＡ転送される。デ−タを転送する周期、即ちパルスモ−タ１１の励磁パタ−ンを切換える周期は、マクロサ−ビス要求ＴＭＦ１が発生する周期、即ち、マクロ・サービス・チャネル０の処理によって転送される、励磁切換タイミングテ−ブル上のデ−タによって定まる。マクロ・サービス・チャネル０の処理では、励磁切換タイミングテ−ブル上の、例えばハ−フステップスロ−アップタイマ値Ｈ１，Ｌ１〜Ｈ２５５，Ｌ２５５を、マクロサ−ビス要求ＴＭＦ２が発生する毎に１ｗｏｒｄずつ順番にＭＤ１にＤＭＡ転送するので、これによって励磁パタ−ンを切換える周期が自動的に切換えられ、パルスモ−タ１１の加速または減速が実現する。即ち、マイクロコンピュ−タ１２が実行するソフトウェア処理は、励磁パタ−ンの切換に関しては、マクロサ−ビスの開始及び停止に関する処理だけであるので、励磁パタ−ンの切換は、マクロサ−ビスにより高速で実行することができる。
【００４６】
しかしながら、マクロサ−ビス機能による連続的なデ−タ転送を開始すると、全てのデ−タ転送が完了するまでは、そのマクロサ−ビスを停止することができない。このため、マクロサ−ビス機能を利用して励磁パタ−ンの切換を実行する場合には、パルスモ−タ１１の駆動条件の切換え（停止等）が可能なタイミングは、一連のマクロサ−ビスが完了する毎にしか発生しない。例えば、マクロ・サ−ビスチャネル１の処理によって、励磁パタ−ンデ−タテ−ブル上の２０バイトのデ−タを順次に転送する場合には、励磁パタ−ン切換周期の２０回に１回の割合いでしか駆動条件を変更できない。通常の速度でスキャナを走査駆動している場合には、全く問題はないが、スキャナをホ−ム位置に位置決め（停止）する時には、励磁パタ−ン切換の２０回に相当する移動距離の精度で停止位置が定まるため、停止位置精度が悪くなる。また、スキャナが画像読取りを開始する基準位置は、ＨＰセンサ（ホ−ムポジションセンサ）９の検出状態の切換り点を基準として決定されるが、マクロサ−ビスを実施している時にＨＰセンサ９の検出状態が切換っても、そのマクロサ−ビスが全て完了するまでは、マイクロコンピュ−タ１２はソフトウェア処理によってＨＰセンサ９の検出状態を認識できないので、ＨＰセンサ９の検出状態が実際に変化するタイミングと、それをマイクロコンピュ−タ１２が認識するタイミングの間にずれが生じ、スキャナが画像読取りを開始する基準位置（画像読み取り信号ＦＧＡＴＥにより定まる副走査方向の基準位置）にばらつきが生じる。
【００４７】
そこでこの実施例においては、パルスモ−タ１１の励磁制御のために、２種類の動作モ−ドを有しており、一方の動作モ−ドではマクロサ−ビスを利用して励磁制御を実行し、他方の動作モ−ドではソフトウェア処理によって、励磁パタ−ン切換りの１パルス毎に、ＨＰセンサ９の状態を認識可能にしている。ソフトウェア処理では、励磁パタ−ンデ−タを短い周期で繰り返し転送するのは困難であるが、スキャナが画像読取りを開始する基準位置を決定するためにスキャナの走査を実施する場合には、高速で走査駆動する必要がないので、ソフトウェア処理によって励磁パタ−ンデ−タを転送することができる。
【００４８】
マイクロコンピュ−タ１２が実行する処理のメインル−チンを図６および図７に示す。図６および図７を参照して、マイクロコンピュ−タ１２の動作を説明する。電源がオンすると、初期設定を実行した後に、画像読み取り動作に必要な各処理、即ち「スキャン速度計算」，「スキャン移動量計算」，「スキャナスタ−ト位置設定」，「タイミングゲ−トアレ−設定」，「シェ−ディング動作処理」，「ＡＧＣ動作処理」，「原稿検知処理」及び「シリアル送信処理」を順次繰り返し実行する。
【００４９】
図６および図７に示す処理の中で、一般の装置と比べて特徴的なものは、「スキャナスタ−ト位置設定」ル−チンである。電源オン直後には、ＨＰ動作が実行されていないので、この「スキャナスタ−ト位置設定」で、「ＨＰ動作初期設定」を実行する。
【００５０】
この「ＨＰ動作初期設定」では、割り込みモ−ドの切換えを実施する。具体的には、割り込み要求レジスタの値を変更し、後述する「モータ励磁パターン割り込み」と「モータ励磁タイマ割り込み」を、マクロ制御割り込み処理から通常割り込み処理へ切換える。次に「モータ励磁パターン割り込み」を禁止する。なおこの場合には、モータ励磁パターンの設定は、モータ励磁タイマ割り込み内で設定される。次に、ホーミング動作（基準位置の決定動作）のためのタイマ値（モータ励磁パタ−ン切換周期）をタイマにセットする。
【００５１】
上述のタイマがタイムアップすると、モータ励磁タイマ割り込み要求が発生し、これに応答して、「モータ励磁タイマ割り込み」処理が実行される。「モータ励磁タイマ割り込み」処理では、その時のスキャナステータスに応じて、処理の内容が決定される。「ＨＰ動作初期設定」を実行した直後は、「ホーミング動作設定」ルーチンが実行される。
【００５２】
「ホーミング動作設定」ルーチンの内容を図８及び図９に示す。図８及び図９を参照して説明する。最初は、ステップ１０１−１０２−１０３−１０４と進み、ステップ１０４でＨＰセンサ９の検出状態をチェックする。そして、ＨＰセンサＯＮの場合には、第１キャリッジがＨＰセンサ９の検出領域内に存在するので、パルスモ−タ１１をフォワ−ド方向に駆動して、第１キャリッジを一旦ＨＰセンサの検出領域外まで前進させ、その後で再びリターン方向に駆動して第１キャリッジをホ−ム位置に戻す。
【００５３】
先ず、ステップ１０５でホームフラグ１をセットし、次のステップ１０６では、ＦＨＰＡＴＯ１（図１４）のラベルで示されるアドレス値をＨＬレジスタ（内部レジスタ）にストアする。続くステップ１０７では、ＨＬレジスタの内容で示されるアドレス（ＦＨＰＡＴＯ１）に存在する、フォワードハーフステップ励磁モ−ドの励磁パターンデータ（図１４参照）をモータ制御用のリアルタイム出力ポートに転送し、励磁パターンデ−タをスキャナドライバ３に印加する。図示しないがＨＬレジスタの内容はステップ１０７でインクリメントされる。なお、実際の励磁パタ−ンは、スキャナドライバ３内のＲＯＭ４２によって生成される。続くステップ１０８，１０９では、励磁パターンカウンタＰＡＴＣＮＴおよびフォワードＨＰカウンタＦＨＰＣＮＴを、それぞれクリアした後でインクリメントする。最後のステップ１０Ｍでタイマ値を再セットした後、このサブルーチンを抜けて、割り込み処理を終了（ＲＥＴＩ）する。
【００５４】
図８のホ−ミング動作を実行する場合には、割り込みモ−ドが通常割り込みにセットされているので、１パルス時間毎、即ち励磁パタ−ンが切換る毎に割り込みが発生する。そして、２回目の割り込み処理の場合には、ホームフラグ１がセットされているので、ステップ１０１からステップ１０Ｅに進み、ＰＡＴＣＮＴ＝２０か否かがチェックされる。ＰＡＴＣＮＴが２０未満の場合には、１０Ｅから１０Ｈに進み、モータ制御用のリアルタイム出力ポートへ励磁パターンデ−タを出力する。ＰＡＴＣＮＴが２０になった場合には、ステップ１０Ｆで、ＦＨＰＡＴ０１、即ちテ−ブルの先頭アドレスをＨＬレジスタに再セットする。つまり、モータ制御用のリアルタイム出力ポートに出力される励磁パターンは、テ−ブル先頭のＦＨＰＡＴ０１に相当するパタ−ンからＦＨＰＡＴ２０に相当するパタ−ンまで順次に切換った後、再びＦＨＰＡＴ０１（図１４）に相当するパタ−ンになり、これらの励磁パタ−ンが繰り返される。ＰＡＴＣＮＴは、ステップ１０Ｇでクリアされた後、インクリメントされる。
【００５５】
また、カウンタＰＡＴＣＮＴはステップ１０ｉを実行する毎にインクリメントされ、カウンタＦＨＰＣＮＴはステップ１０Ｊを実行する毎にインクリメントされる。ステップ１０Ｋでは、カウンタＦＨＰＣＮＴの内容をチェックする。カウンタＦＨＰＣＮＴの内容は、フォワード動作の移動量を示しており、この例では１パルス移動量＝０．０４７１ｍｍである。ステップ１０Ｋでは、３００パルス（０．０４７１×３００＝１４．１３ｍｍ）分移動したか否かを調べる。移動量が３００パルスになると、ステップ１０Ｌを実行するので、ホームフラグ１がリセットされる。
【００５６】
ステップ１０Ｌでホームフラグ１がリセットされた後で、次の割り込み処理を実行する場合には、ＨＰセンサがオフ（第１キャリッジがホ−ム位置の近傍にない）なので、ステップ１０４から１０Ａに進み、ホームフラグ２がセットされる。次のステップ１０Ｂでは、ＲＨＰＡＴＯ１（図１３）のラベルで示されるアドレス値がＨＬレジスタにストアされ、続くステップ１０Ｃでは、ＨＬレジスタの内容で示されるアドレスのデ−タ、即ちＲＨＰＡＴＯ１に対応する、リターンハーフステップ励磁モ−ドのパターンデータ（図１３参照）を、モ−タ制御用のリアルタイム出力ポ−トに転送する。ＨＬレジスタの内容は、図示しないがステップ１０Ｃでインクリメントされ、次の励磁パタ−ンのアドレスを示す。ステップ１０Ｄでは、カウンタＰＡＴＣＮＴがクリアされた後でインクリメントされる。これらの処理によって、キャリッジのリターン方向の駆動動作が開始される。
【００５７】
上記処理によってホームフラグ２がセットされた後で、この割り込み処理を実行する場合には、ステップ１０３から図９に示すステップ１１１に進む。そして、この割込み処理を実行する毎に（励磁パタ−ン切換り毎に）、ステップ１１５で、ＨＬレジスタが示すアドレスの内容（図１３の励磁パタ−ンデ−タ）がモ−タ励磁制御用のリアルタイム出力ポ−トに転送され、図示しないがＨＬレジスタの内容はインクリメントされて次の励磁パタ−ンデ−タのアドレスを示す。また、カウンタＰＡＴＣＮＴが２０になると、ステップ１１２から１１３に進み、ラベルＲＨＰＡＴ０１が示すテ−ブルの領域の先頭アドレスがＨＬレジスタに再セットされる。従って、図１３に示すＲＨＰＡＴ０１〜ＲＨＰＡＴ２０に相当するそれぞれの励磁パタ−ンデ−タが、１パルス毎に順次に出力され、２０パルス毎にそれが繰り返される。これにより、第１スキャナはリタ−ン方向に駆動される。
【００５８】
通常は、第１スキャナがある程度リタ−ン方向に移動すると、ＨＰセンサがＯＮになるが、何らかの異常によっていつまでもＨＰセンサがＯＦＦのままであると（第１キャリッジの機構上の最大移動量を越えた場合）、ステップ１１８から１１９に進み、異常処理が実施される。
【００５９】
ＨＰセンサがＯＮになると、即ち第１キャリッジがホ−ム位置に近づいてＨＰセンサの検出範囲内に入ると、ステップ１１１から１１Ａに進む。ステップ１１Ａでは、カウンタＰＡＴＣＮＴの内容が奇数か否かを判断する。そして、奇数の場合にはステップ１１Ａから１１Ｄに進むが、偶数の場合には、ステップ１１Ｂに進んで１パルスの励磁制御を実行し、ステップ１１ＣでカウンタＰＡＴＣＮＴをインクリメントして奇数値にする。次のステップ１１Ｄでは、バッファＰＡＴＣＮＴＢＦにカウンタＰＡＴＣＮＴの内容を保存した後、カウンタＰＡＴＣＮＴの内容をクリアする。続くステップ１１Ｅでは、ホームフラグ２をリセットし、ホームフラグ３をセットする。
【００６０】
上記ステップ１１Ａ，１１Ｂおよび１１Ｃの処理を実行するのは、励磁モ−ドの切換り時にミスステップが生じるのを防止するためである。即ち、ハーフステップ励磁モ−ドとフルステップ励磁モ−ドとでは、１パルスあたりの移動量が異なるため、それらのモ−ドを切換える際に励磁パタ−ンが不連続、あるいは不一致であると、ミスステップが生じ、制御上の移動量と実際の移動量との間にずれが生じる。この実施例では、ホ−ミング動作をハ−フステップ励磁モ−ドで制御し、通常の走査においてはフルステップ励磁モ−ドで制御するので、ホ−ミング動作から通常の走査に移行する際に励磁モ−ドが切換る。ここでミスステップが生じるのを防止するために、上記ステップ１１Ａ，１１Ｂおよび１１Ｃが実行される。
【００６１】
例えば図１３に示すハ−フステップ励磁のデ−タパタ−ンと図１５に示すフルステップ励磁のデ−タパタ−ンとを対比すると分かるように、ハ−フステップ励磁のデ−タパタ−ンの２ステップに１回の割合で、ハ−フステップ励磁とフルステップ励磁のデ−タパタ−ン（ＰＲＯＭ１，ＰＲＯＭ２の各出力）が一致する。従って、ハ−フステップ励磁で制御している時の励磁切換ステップ数が奇数の場合には、その時の励磁パタ−ンと一致するデ−タが、フルステップ励磁のテ−ブルにも存在するので、両方の励磁モ−ドに共通な励磁パタ−ンを使用していることになる。上記ステップ１１Ａ，１１Ｂおよび１１Ｃの実行により、ＨＰセンサがオンに切換った時の基準位置で、カウンタＰＡＴＣＮＴが計数する励磁ステップ数を奇数に合わせることによって、ハーフステップ励磁とフルステップ励磁に共通な励磁パターンで駆動を停止することが可能になり、それによって励磁モ−ド切換時にミスステップの発生、即ち位置ずれが防止される。
【００６２】
但し実際の処理では、ＨＰセンサがオンに切換った時の基準位置で、直ちに停止するのではなく、さらに２０パルス（励磁パターン切換の２０周期）分リターン動作を行い、第１キャリッジをホ−ム位置側に食い込ませて、安定性を確保する。即ち、ステップ１１Ｅでホ−ムフラグ３がセットされた後の割込み処理では、ステップ１０２から１１Ｆに進み、カウンタＰＡＴＣＮＴが２０回計数するまでは、ステップ１１Ｇで励磁パタ−ンデ−タを出力するので、ホ−ムフラグ３がセットされた後で、パルスモ−タは２０パルス分、更に駆動される。カウンタＰＡＴＣＮＴが２０になると、ステップ１１ｉでタイマをストップし、ステップ１１Ｊでホームフラグ３をリセットし、ステップ１１Ｋで「励磁パターンスタートアドレス設定」サブルーチンを実行する。このサブル−チンを実行すると、ホーミング動作のすべてが終了する。
【００６３】
「励磁パターンスタートアドレス設定」サブルーチンの内容を図１０に示す。なお、図１０においては一部分の処理の図示が省略されている。図１０を参照して説明する。ステップ１２１では、前記バッファＰＡＴＣＮＴＢＦが保持する値（ＨＰセンサがオフからオンに切換った基準位置でのカウンタＰＡＴＣＮＴの値）に応じて、次に進む処理を選択する。即ち、バッファＰＡＴＣＮＴＢＦの値が１の場合にはステップ１２２に進み、バッファＰＡＴＣＮＴＢＦの値が３の場合にはステップ１２３に進み、バッファＰＡＴＣＮＴＢＦの値が５の場合にはステップ１２４に進み、・・・バッファＰＡＴＣＮＴＢＦの値が１９の場合にはステップ１２５に進む。
【００６４】
ステップ１２２，１２３，１２４，・・・，１２５のいずれにおいても、ハーフステップ励磁のリターン方向駆動用のテ−ブル（図１３参照）のアドレス値がレジスタＲＨＰＡＴにストアされ、ハーフステップ励磁のフォワ−ド方向駆動用のテ−ブル（図１４参照）のアドレス値がレジスタＦＨＰＡＴにストアされ、フルステップ励磁のリターン方向駆動用のテ−ブル（図１５参照）のアドレス値がレジスタＲＦＰＡＴにストアされ、フルステップ励磁のフォワ−ド方向駆動用のテ−ブル（図１６参照）のアドレス値がレジスタＦＦＰＡＴにストアされる。各レジスタＲＨＰＡＴ，ＦＨＰＡＴ，ＲＦＰＡＴ，ＦＦＰＡＴにストアするアドレス値をバッファＰＡＴＣＮＴＢＦの値に応じて変更するのは、ホ−ミング動作（初期位置決め動作）から通常の走査に移る際に、励磁パタ−ンが不連続になるのを防止するためである。各々のテーブルには、それぞれの全ての励磁パターンがほぼ２組分、繰り返す形で順番に並んでいるので、いずれの励磁パタ−ンの位置からスタ−トしてアドレスの昇り順に励磁パタ−ンを切換える場合でも、各々のテ−ブルから全ての励磁パタ−ンの１組（励磁パタ−ンの循環周期の１周期分）を順番に読み出すことができる。
【００６５】
上述のホ−ミング動作においてはマクロ機能は利用しておらず、マイクロコンピュ−タ１２のソフトウェア処理によって１パルス毎に励磁パタ−ンの切換えが実施される。しかし画像読み取りのための通常の走査を実施する場合には、比較的高速で励磁パタ−ン切換えを実施する必要があるため、励磁パタ−ンの切換えにマクロ機能を利用して制御を実施している。この制御について説明する。
【００６６】
図２に示すメイン制御部１０１がスキャナスタートコードをマイクロコンピュ−タ１２に送信すると、マイクロコンピュ−タ１２の処理にシリアル受信割り込みが発生し、これに応答してマイクロコンピュ−タ１２は図１１に示す処理を実行する。図１１の処理では、送信データを受信して受信デ−タＳＲＣＯＤＥのコードを判別する。そして、受信デ−タＳＲＣＯＤＥがスキャナスタートコードである場合には、ステップ１３１に進み、「スキャナスタート処理」サブル−チンを実行する。
【００６７】
「スキャナスタート処理」サブル−チンでは、割り込みモ−ドを通常割り込み処理からマクロ制御割り込み処理へ設定変更する。次に、モータ励磁パターン割り込みの禁止を解除（割込許可）する。続いて、フォワードスローアップ励磁タイママクロサービスチャネルを設定する。即ち、図４に示すマクロサ−ビスチャネル０の設定により、励磁切換タイミングテ−ブル（図５参照）上の、スローアップ領域のタイミングデ−タを、マクロ機能によってタイマのレジスタＭＤ１に自動的に順次に転送できるようにする。そして、ハーフステップ駆動なら図４に示すマクロサ−ビスチャネル１の設定により、励磁パタ−ンデ−タテ−ブル（図５参照）上のフォワ−ドハ−フステップデ−タ領域のデ−タをリアルタイム出力ポ−トに自動的に順次に転送できるようにする。フルステップ駆動ならマクロサ−ビスチャネル１の設定により、励磁パタ−ンデ−タテ−ブル上のフォワ−ドフルステップデ−タ領域のデ−タをリアルタイム出力ポ−トに自動的に順次に転送できるようにする。マクロサ−ビスチャネル１における転送元の励磁パターンテ−ブルの読出し先頭アドレスには、ホーミング動作時に決定した値が採用される。最後に、カウンタＥＭＣＮＴをクリアし、タイマーをスタートする。
【００６８】
上記処理が完了すると、励磁パタ−ンデ−タテ−ブルから読み取られた励磁パターンデ−タが、マクロ機能によって自動的にモータ制御用のリアルタイム出力ポートに転送される。全ての励磁パタ−ンが１組（励磁パターンの循環周期の１周期分：ハ−フステップの場合には２０個、フルステップの場合には１０個）出力されると、モータ励磁パターン割り込み（ＩＮＴＴＭＦ１）要求が発生する。これに応答して、図１２に示す「モータ励磁パターン割り込み」処理が実行される。
【００６９】
図１２に示す「モータ励磁パターン割り込み」処理では、各駆動シーケンスに応じて、励磁パターンマクロサービスチャネルの再設定を実行する。即ち、フォワ−ドハ−フステップ駆動シ−ケンスの場合にはステップ１５７を実行し、フォワ−ドフルステップ駆動シ−ケンスの場合にはステップ１５４を実行し、リタ−ンハ−フステップ駆動シ−ケンスの場合にはステップ１５５を実行し、リタ−ンフルステップ駆動シ−ケンスの場合にはステップ１５６を実行する。励磁パターンマクロサービスチャネルの再設定を実行した後、ステップ１５８でＨＰセンサをチェックする。ＨＰセンサがオンならステップ１５９に進む。ステップ１５９では、カウンタＥＭＣＮＴをインクリメントする。次のステップ１５Ａでは、ＥＭＣＮＴが異常値か否かを識別し、異常（ＥＭＣＮＴ≧５）であれば、次にステップ１５Ｂに進んで異常処理を実行する。カウンタＥＭＣＮＴは、１スキャン毎にスキャナスタート処理でクリアされる。
【００７０】
励磁タイママクロサ−ビス（マクロサ−ビスチャネル０）によって、励磁切換タイミングテ−ブルのスローアップタイマ値が、タイマのレジスタＭＤ１に指定回数転送し終わると、モータ励磁タイマ割り込み要求（ＩＮＴＴＭＦ２）が発生するので、これに応答して、「モータ励磁タイマ割り込み」処理が実行される。
【００７１】
ホ−ミング動作における装置の動作タイミングを図１７に示し、画像読取のための通常走査における装置の動作タイミングを図１８，図１９および図２０に示す。なお、図１９に示す信号ＰＭＳＹＮＣは、図２に示すＩＰＵ部１００の内部で発生するものであり、プリンタの１ライン走査に１回の割合で生成される同期信号である。この同期信号ＰＭＳＹＮＣと同期するように、スキャナの走査駆動開始タイミングおよび画像読取開始タイミングを決定することにより、イメ−ジスキャナの画像読取とプリンタの画像記録とを同期させることができる。スキャナの画像読取範囲を示す信号ＦＧＡＴＥのタイミングは、同期信号ＰＭＳＹＮＣの計数により決定される。画像読取領域の先端位置と信号ＦＧＡＴＥの立下りのタイミングは一致する。
【００７２】
通常の画像読取の走査においては、図２０に示すように、励磁パタ−ン切換の２５５パルス毎に「モ−タ励磁タイマ割込」が発生し実行される。また、フォワ−ド方向走査時には、励磁パタ−ン切換の２０パルス毎に、リタ−ン方向走査時には、励磁パタ−ン切換の１０パルス毎に、それぞれ「モ−タ励磁パタ−ン割込」が発生し、それに応答して図１２に示す処理が実行される。
【００７３】
図示しないが、ホ−ミング動作の走査においては、励磁パタ−ン切換の１パルス毎に、モ−タ励磁タイマ割込が発生し、それに応答して、「モ−タ励磁タイマ割込」処理が実行される。「モ−タ励磁タイマ割込」の処理は、２種類の割込み要求（マクロ機能による１６０又は２５５パルス毎の割込要求，１パルス毎の通常割込要求）に対して共通に実行される。また、通常割込モ−ドの場合には、モ−タ励磁パタ−ン割込は禁止され、モ−タ励磁パタ−ンは、「モ−タ励磁タイマ割込」処理内で設定される。
【００７４】
なお図示しないが、原稿画像読取のスキャン動作の前に、原稿中の最大濃度や最低濃度や原稿のサイズ等を読み取るためのプレスキャン動作を実施する場合がある。このプレスキャンのためのスキャナ走査制御も、マクロ機能を利用して制御される。
【００７５】
【発明の効果】
ホーミングでは、励磁パターン切換周期を長くできるので、マクロ機能を利用する必要がなく、励磁パターン切換え毎に位置検出手段が出力する信号を監視することできる。これにより、正確な初期位置決めが実現する。また、画像読取を実施する場合には、比較的高い速度で可動走査機構を駆動する必要があり、励磁パターン切換え周期が短くなる。この場合には、マクロ機能を利用する転送手段を用いて短い周期で励磁パターンのデータを読出し切換え出力できるので、走査速度を上げることができ、高速画像読取が実現する。この場合でも、正確なホーミングを実施していれば、画像読取の基準位置がずれる心配はない。
【図面の簡単な説明】
【図１】実施例の装置の走査機構の外観を示す斜視図である。
【図２】図１の装置の電装部の一部分を示すブロック図である。
【図３】図１の装置の電装部の残りの部分を示すブロック図である。
【図４】マイクロコンピュ−タ１２のマクロ機能の動作を示すブロック図である。
【図５】デ−タテ−ブルの内容を示すマップである。
【図６】マイクロコンピュ−タ１２のメインル−チンの一部を示すフロ−チャ−トである。
【図７】マイクロコンピュ−タ１２のメインル−チンの他部を示すフロ−チャ−トである。
【図８】モータ励磁タイマ割り込みで実行する「ホーミング動作」の一部の処理を示すフロ−チャ−トである。
【図９】モータ励磁タイマ割り込みで実行する「ホーミング動作」の残部の処理を示すフロ−チャ−トである。
【図１０】図９の一部の処理の詳細を示すフロ−チャ−トである。
【図１１】通信割込処理を示すフロ−チャ−トである。
【図１２】モ−タ励磁パタ−ン割込を示すフロ−チャ−トである。
【図１３】励磁パタ−ンデ−タテ−ブルの一部分の内容を示すマップである。
【図１４】励磁パタ−ンデ−タテ−ブルの一部分の内容を示すマップである。
【図１５】励磁パタ−ンデ−タテ−ブルの一部分の内容を示すマップである。
【図１６】励磁パタ−ンデ−タテ−ブルの一部分の内容を示すマップである。
【図１７】ホ−ミング動作を示すタイムチャ−トである。
【図１８】画像読取走査の動作を示すタイムチャ−トである。
【図１９】画像読取走査の動作を示すタイムチャ−トである。
【図２０】画像読取走査の動作を示すタイムチャ−トである。
【符号の説明】
１：スキャナ制御基板          ２：ＣＣＤ基板
３：スキャナドライバ基板      ４：ランプレギュレータ
５，６：冷却ファン            ７：原稿検知センサ
８：圧板開閉センサ            ９：ＨＰセンサ
１０：スキャナ開閉センサ      １１：スキャナモ−タ
１２：ワンチップマイクロコンピュータ
１３：ＲＯＭ                  １４：ＲＡＭ
１５：ゲートアレー
１６：パラレルインシリアルアウト・データ・バッファ
１７，１８：Ｄ／Ａコンバータ  ２１〜２６：Ａ／Ｄコンバータ
２７〜２９：デ−タセレクタ    ３０〜３２：ゲートアレー
３３，３４：ライン間補正メモリ
３５：３ラインＣＣＤ（イメ−ジセンサ）
３６〜４１：増幅器            ４２：ＰＲＯＭ
４３：モ−タドライバ          ４４：ハロゲンランプ
１００：ＩＰＵ（画像処理）部
１０１：メイン制御部          １０２：操作表示部
ＰＭＳＹＮＣ：画素同期信号    ＦＧＡＴＥ：画像読み取り制御信号
Ｃ１：第１キャリッジ          Ｃ２：第２キャリッジ
Ｗ：スキャナワイヤ
【図１】
0003625508.tif 000002
【図２】
0003625508.tif 000003
【図３】
0003625508.tif 000004
【図４】
0003625508.tif 000005
【図５】
0003625508.tif 000006
【図６】
0003625508.tif 000007
【図７】
0003625508.tif 000008
【図８】
0003625508.tif 000009
【図９】
0003625508.tif 000010
【図１０】
0003625508.tif 000011
【図１１】
0003625508.tif 000012
【図１２】
0003625508.tif 000013
【図１３】
0003625508.tif 000014
【図１４】
0003625508.tif 000015
【図１５】
0003625508.tif 000016
【図１６】
0003625508.tif 000017
【図１７】
0003625508.tif 000018
【図１８】
0003625508.tif 000019
【図１９】
0003625508.tif 000020
【図２０】
0003625508.tif 000021