(57)【特許請求の範囲】
【請求項１】
画像１ラインの自然数Ｎ倍の周期で発生する同期信号を受信する同期信号受信手段と、
前記同期信号の受信に同期して、Ｎ個のライントリガを生成するライントリガ生成手段と、
前記同期信号の受信に同期して、ＣＰＵから前記ステッピングモータの制御の指示を受信する指示受付手段と、
前記指示受付手段により受け付けた制御の指示に応じ、前記ライントリガ生成手段により生成されたライントリガに基づいて、少なくとも次の前記同期信号がくるまでの期間、前記ステッピングモータの制御を行うモータ制御手段とを備え、
前記モータ制御手段は、前記ステッピングモータの位相を進めるタイマデータを保持する第１の記憶手段および前記タイマデータのステップ数を保持する第２の記憶手段を有し、前記保持されたタイマデータおよび前記ステップ数に基づきステッピングモータを制御し、
前記モータ制御手段は、前記ライントリガ生成手段により生成されたライントリガに同期し、前記タイマデータおよび前記ステップデータからなる加減速データテーブルを切り替えることにより前記ステッピングモータの加減速の制御を行い、
前記指示受付手段は、加速制御終了後も前記同期信号の受信に同期して、ＣＰＵから前記ステッピングモータの制御の指示を受信することを特徴とするステッピングモータ制御装置。
【請求項２】
前記モータ制御手段は、前記ステッピングモータの励磁電流を決める所定ビット数のＰＷＭ出力データを保持するＰＷＭ出力データ記憶手段と、前記ステッピングモータの位相に同期して前記ＰＷＭ出力データ記憶手段に保持されているＰＷＭデータの出力を行うＰＷＭ出力手段とを有し、該ＰＷＭ出力手段により出力されるＰＷＭデータのビット数を設定することにより前記ステッピングモータの制御を行うことを特徴とする請求項１に記載のステッピングモータ制御装置。
【請求項３】
前記モータ制御手段は、前記加減速データテーブルのステップアップ数またはステップダウン数を保持するステップアップまたはダウン数記憶手段を有し、該ステップアップまたはダウン数記憶手段に保持されたステップアップ数またはステップダウン数に基づいて、前記加減速データテーブルのステップアップまたはステップダウンを行うことを特徴とする請求項１に記載のステッピングモータ制御装置。
【請求項４】
前記モータ制御手段は、前記加減速データテーブルのテーブル数を保持するテーブル数記憶手段を有し、該テーブル数記憶手段に保持されたテーブル数に基づいて前記加減速データテーブルのステップアップまたはステップダウンを停止することを特徴とする請求項３に記載のステッピングモータ制御装置。
【請求項５】
ステッピングモータ制御装置を用いて行うステッピングモータの制御方法であって、
画像１ラインの自然数Ｎ倍の周期で発生する同期信号を受信する同期信号受信ステップと、
前記同期信号の受信に同期して、Ｎ個のライントリガを生成するライントリガ生成ステップと、
前記同期信号の受信に同期して、ＣＰＵから前記ステッピングモータの制御の指示を受信する指示受付ステップと、
前記指示受付ステップにおいて受け付けた制御の指示に応じ、前記ライントリガ生成ステップにおいて生成されたライントリガに基づいて、少なくとも次の前記同期信号がくるまでの期間、前記ステッピングモータの制御を行うモータ制御ステップとを備え、
前記ステッピングモータ制御装置は、前記ステッピングモータの位相を進めるタイマデータを保持する第１の記憶手段および前記タイマデータのステップ数を保持する第２の記憶手段を有し、前記モータ制御ステップは、前記保持されたタイマデータおよび前記ステップ数に基づきステッピングモータを制御し、
前記モータ制御ステップは、前記ライントリガ生成ステップにおいて生成されたライントリガに同期し、前記同期信号の１期間内で、前記タイマデータおよび前記ステップデータからなる加減速データテーブルを切り替えることにより前記ステッピングモータの加減速の制御を行い、
前記指示受付ステップは、加速制御終了後も前記同期信号の受信に同期して、ＣＰＵから前記ステッピングモータの制御の指示を受信することを特徴とするステッピングモータの制御方法。
【請求項６】
前記モータ制御ステップは、前記ステッピングモータの励磁電流を決める所定ビット数のＰＷＭ出力データをＰＷＭ出力データ記憶手段に保持する保持ステップと、前記ステッピングモータの位相に同期して前記ＰＷＭ出力データ記憶手段に保持されているＰＷＭデータの出力を行うＰＷＭ出力ステップとを有し、該ＰＷＭ出力ステップにおいて出力されるＰＷＭデータのビット数を設定することにより前記ステッピングモータの制御を行うことを特徴とする請求項５に記載のステッピングモータの制御方法。
【請求項７】
前記ステッピングモータ制御装置は、前記加減速データテーブルのステップアップ数またはステップダウン数を保持するステップアップまたはダウン数記憶手段を有し、前記モータ制御ステップは、前記ステップアップまたはダウン数記憶手段に保持されたステップアップ数またはステップダウン数に基づいて、前記加減速データテーブルのステップアップまたはステップダウンを行うことを特徴とする請求項５に記載のステッピングモータの制御方法。
【請求項８】
前記ステッピングモータ制御装置は、前記加減速データテーブルのテーブル数を保持するテーブル数記憶手段を有し、前記モータ制御ステップは、前記テーブル数記憶手段に保持されたテーブル数に基づいて前記加減速データテーブルのステップアップまたはステップダウンを停止することを特徴とする請求項７に記載のステッピングモータの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ステッピングモータ制御装置およびその方法、ならびに画像読取装置およびその方法に関し、特に、ファクシミリの原稿搬送制御装置、複写機の原稿読取センサ部移動制御装置、またはプリンタの紙送り制御装置等に用いられるステッピングモータの加減速及び定速制御技術に関する。
【０００２】
【従来の技術】
ファクシミリの原稿搬送制御用のモータ、または複写機の原稿読取センサ部移動制御における読取部のモータとして、従来からステッピングモータが使用されている。このステッピングモータの制御においては、ＣＰＵおよびステッピングモータ制御部への割り込み出力またはトリガ出力を画像の１ライン分、即ちステッピングモータの１ステップを基準としてその割り込みに同期し、モータに対して駆動制御を行っていた。
【０００３】
また、ＰＷＭ出力を使用してステッピングモータの励磁電流を決める場合は、ＰＷＭ出力ビット数がハードウェアで固定されているために、予め定められたクロックに対してＰＷＭ出力の周期が決まっていた。更に、ステッピングモータの位相の制御を行う加減速データテーブルにおいて、そのデータテーブル数およびステップ数が固定されていた。
【０００４】
【発明が解決しようとする課題】
上述したように、ファクシミリの原稿搬送制御、または複写機の原稿読取センサ部移動制御の読取部のモータ制御は、ＣＰＵおよびステッピングモータ制御部に対する割り込み出力またはトリガ出力を、画像の１ライン、即ちステッピングモータの１ステップを基準としてその割り込みに同期し、駆動制御を行っていた。しかしながら、このような駆動制御では、原稿の読取速度が高速になるにつれて、ＣＰＵへの割り込み処理のインターバルが短くなる。従って、ソフトウェアの割り込みルーチンの比率が増大し、または他のソフト処理に時間がかかるなど、ソフトウェア処理の負担が増大するという問題があった。
【０００５】
また、従来はモータの励磁電流を決めるＰＷＭ出力ビット数が固定されていたため、ＰＷＭ出力ビット数を変更することができなかった。そのため、カラー画像や高解像の画像を高速で高精彩な画像を読み取る場合（不図示の操作部より指示される）は、滑らかな電流波形が生成できず、滑らかなモータの駆動ができない。即ち、読み取りたい画像に適したモータ駆動ができないという問題があった。
【０００６】
また、モータの位相の制御を行う加減速データテーブルにおいて、該データテーブル数が固定されていたため、データテーブル数を必要としない場合でも、データテーブル数のプログラムデータを必要とするという問題があった。
【０００７】
更に、データテーブルのステップ数が固定されており、且つデータテーブル番号の状態を読み取ることができなかったので、加減速データテーブル数以上の加減速制御を行う場合、データテーブルレジスタの更新箇所、現在のデータテーブル番号をソフトウェアで把握しなければならず、ソフトウェア処理が複雑になるという問題があった。
【０００８】
本発明はこのような問題に鑑みてなされたものであり、第１の目的は、ＣＰＵのソフトウェア処理を軽減し、且つ高速読取時の１ライン割り込みに相当するモータ制御を実現できるステッピングモータ制御装置およびその方法、ならびに画像読取装置およびその方法を提供することにある。
【０００９】
また、本発明の第２の目的は、少ないメモリ容量のメモリを用いても、ＣＰＵの負荷の軽い、高速、高精彩の読み取りを実現できるステッピングモータ制御装置およびその方法、ならびに画像読取装置およびその方法を提供することにある。
【００１０】
また、本発明の第３の目的は、ＰＷＭ出力ビット数を変更することで画像に適した最適な励磁電流が得られるようにし、高速で高精彩な画像を読み取る場合でも安定したモータ制御をできるステッピングモータ制御装置およびその方法、ならびに画像読取装置およびその方法を提供することにある。
【００１１】
また、本発明の第４の目的は、複数のモータ制御モードを用意し、最適なモータ制御を選択できるステッピングモータ制御装置およびその方法、ならびに画像読取装置およびその方法を提供することにある。
【００１２】
また、本発明の第５の目的は、画像の属性に応じた、最適なモータ制御を選択できるステッピングモータ制御装置およびその方法、ならびに画像読取装置およびその方法を提供することにある。
【００１３】
更に、本発明の第６の目的は、画像データ量の多いカラー画像や解像度の細かい画像等に対しても、ステッピングモータを高速に駆動しながら、メモリ不足時の読取停止、位置調整、読取再開時の加減速制御に対して、ＣＰＵのソフトウェア処理の軽減と動作安定を図ることができるステッピングモータ制御装置およびその方法、ならびに画像読取装置およびその方法を提供することにある。
【００１４】
【課題を解決するための手段】
このような目的を達成するため、請求項１に記載の発明は、画像１ラインの自然数Ｎ倍の周期で発生する同期信号を受信する同期信号受信手段と、前記同期信号の受信に同期して、Ｎ個のライントリガを生成するライントリガ生成手段と、前記同期信号の受信に同期して、ＣＰＵから前記ステッピングモータの制御の指示を受信する指示受付手段と、前記指示受付手段により受け付けた制御の指示に応じ、前記ライントリガ生成手段により生成されたライントリガに基づいて、少なくとも次の前記同期信号がくるまでの期間、前記ステッピングモータの制御を行うモータ制御手段とを備え、前記モータ制御手段は、前記ステッピングモータの位相を進めるタイマデータを保持する第１の記憶手段および前記タイマデータのステップ数を保持する第２の記憶手段を有し、前記保持されたタイマデータおよび前記ステップ数に基づきステッピングモータを制御し、前記モータ制御手段は、前記ライントリガ生成手段により生成されたライントリガに同期し、前記タイマデータおよび前記ステップデータからなる加減速データテーブルを切り替えることにより前記ステッピングモータの加減速の制御を行い、前記指示受付手段は、加速制御終了後も前記同期信号の受信に同期して、ＣＰＵから前記ステッピングモータの制御の指示を受信することを特徴とする。
【００７０】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について詳細に説明する。
【００７１】
図１は、本実施形態に係るステッピングモータ制御装置の構成の一例を示すブロック図である。ステッピングモータ制御装置は、読み取り制御を含め装置全体を制御するＣＰＵ１と、画像の解像度変換や変倍等の処理を行う画像処理部２と、モータ駆動のデータ設定および制御を行うモータ制御部３と、モータ制御の基本動作を行うプログラムを格納してあるＲＯＭ３１と、ＣＣＤ（電荷結合素子）やＣＳ（コンタクトセンサ）により画像をデータとしてライン単位で入力可能な読取ユニット３３と、読取ユニット３３で読み取った画像データを蓄積するＲＡＭ３２と、システムクロックの分周クロックを生成する分周器３０とを備えている。
【００７２】
ここで読取ユニット３３は、公知の方法でカラー画像とモノクロ画像の読取ができるようになっている。更に不図示の操作部からの指示により、読み取り方法としてカラーで読み取るかモノクロで読み取るか指示ができるようになっている。また、画像を読み取る場合の解像度についても、複数の読取解像度が指示できるようになっている。以上述べた通り、本実施形態に係るステッピングモータ制御装置によって、画像読取装置が構成されている。
【００７３】
モータ制御部３は、４つのブロックから構成されている。以下、それぞれのブロックについて説明する。
【００７４】
第１のブロックは、励磁位相及び励磁電流を制御するブロックであり、励磁パターン、Ａ相、Ｂ相それぞれのＰＷＭデータ（４：０）（ここで（４：０）は５ビットの信号を表す）を格納する１４ビットの励磁パターンレジスタ４と、励磁位相をカウントする励磁位相カウンタ１０の位相ナンバーデータＰＨ（３：０）（ここで（３：０）は４ビットの信号を表す）により励磁パターンを選択する励磁データセレクタ５と、位相ナンバーデータＰＨ（３：０）を格納する励磁位相ナンバーレジスタ９とから構成されている。
【００７５】
第２のブロックは、位相出力および励磁電流を制御するＰＷＭ（パルス幅変調）出力を行うブロックであり、励磁データセレクタ５により選択された励磁位相パターンＤ（３：０）を出力する励磁位相出力部６と、励磁電流をパワーダウンする場合に設定される電流パワーダウンＰＷＭレジスタ１１（３：０）と、励磁データセレクタ５により選択された励磁電流パターン（１３：４）と電流パワーダウンＰＷＭ値を選択するＰＷＭセレクタ７と、選択されたＰＷＭ値を出力するＰＷＭ出力部８と、電流をパワーダウンするまでの時間データを格納する電流パワーダウンタイマレジスタ１３と、電流パワーダウンタイマをカウントし、ＰＷＭセレクタ７へ選択信号を出力するＰＷＭカウンタ１２と、電流パワーダウンするまでのＸＳＨ（ライントリガ）数を格納する電流パワーダウンＸＳＨトリガレジスタ１５と、電流パワーダウンＸＳＨトリガ数をカウントし、ＰＷＭセレクタ７へ選択信号を出力するＸＳＨカウンタ１４とから構成されている。
【００７６】
第３のブロックは、位相を進めるタイマデータとステップデータより位相シフトを行うブロックであり、励磁タイマデータを格納する励磁タイマテーブル２４と、タイマのステップ数のデータ（ステップデータ）を格納するステップデータテーブル２５と、タイマデータとステップデータとからなる加減速データテーブルのテーブルナンバーをカウントし、選択信号を出力するデータ選択カウンタ２２と、データ選択カウンタ２２により出力された選択信号に基づいて、テーブルナンバーに対応した励磁タイマデータを選択する励磁タイマセレクタ２０と、選択信号に基づいて選択されるテーブルナンバーに対応したステップデータを選択するステップカウントセレクタ２１と、励磁タイマセレクタ２０により選択された励磁タイマデータをカウントする励磁タイマ１６と、ステップカウントセレクタ２１により選択されたステップデータをカウントとするステップカウンタ１７と、加減速データテーブルの最大テーブル数を格納するデータテーブル最大数設定レジスタ１９と、加減速データテーブルのカウントアップまたはカウントダウンを行う制御信号を出力するアップダウンカウント選択部１８と、加減速データテーブルのステップアップまたはステップダウン時のステップ数を格納する加減速データテーブルステップ数レジスタ２３とから構成されている。
【００７７】
ＸＳＨＤＩＶ信号は、画像処理部２からＣＰＵへの割り込み出力であり、画像の１ラインのＮ倍に設定されるＮライントリガである。ここでは、Ｎを１６ラインと設定した場合について説明するが、これに限らず３２ラインや、８ライン等であってもよい。また、Ｎ＝１の場合は、ＣＰＵへのＮライントリガが１ライン単位で発生する場合であるが、低速で高精彩で画像を読み取る場合に適している。
【００７８】
第４のブロックは、Ｎライントリガ（ＸＳＨＤＩＶ信号）から内部トリガＸＳＨインターバルを生成するブロックであり、内部トリガの遅延時間を格納するＸＳＨインターバル（以下ＸＳＨＩＮＴ）遅延設定レジスタ２６と、ＸＳＨＩＮＴ遅延値をカウントするＸＳＨＩＮＴ遅延カウンタ２７と、Ｎライントリガと等しいかまたは短い周期の内部トリガを生成するＸＳＨトリガジェネレータ２８とから構成さていれる。内部トリガ（ＸＳＨＩＮＴ）は、画像の１ライン分、即ち読み取りユニット３３より出力される１ライン分の画像データと同一の周期を有するライントリガである。
【００７９】
モータ制御部３のリード／ライトレジスタ２９は、アドレス設定によりモータ制御部３の設定状態を示すモータ設定状態出力（ＳＴＳ）、モータのフェーズ状態を示す位相ナンバーデータ（ＰＨ）、加減速データテーブルナンバーを示すデータテーブルナンバーデータ（ＤＴＮ）、カレント励磁パターン状態を示す励磁パターン状態出力（ＭＤ）をリードデータとして出力する。また、リード／ライトレジスタ２９は、ＣＰＵ１からのステッピングモータの制御の指示を受け付ける機能を有する。即ち、リード／ライトレジスタ２９は、ＸＳＨＤＩＶ信号に基づいてＣＰＵ１から送信されたステッピングモータの駆動命令（ＳＴＡＲＴ）や停止命令（ＳＴＯＰ）などの指示を記録する。モータ制御部３は、リード／ライトレジスタ２９に記録された制御の指示に応じてステッピングモータの制御を行う。
【００８０】
図２は、図１に示したステッピングモータ制御装置の同期モードを示すタイミングチャートの一実施例を示す図である。
【００８１】
ＸＳＨＤＩＶ信号は、画像処理部２からＣＰＵへの割り込み出力であり、画像の１ラインのＮ倍に設定されるＮライントリガを表している。Ｎライントリガは１６ライン分の画像の読み取りに１回しかＣＰＵに割り込みをかけないので、ＣＰＵは効率よく他の処理を行うことができる。
【００８２】
ＸＳＨＤＩＶ信号に基づいて、ＣＰＵ１は、モータ制御部３に対し駆動命令、停止命令、モータ逆転命令などのモータの制御の指示を出力する。
【００８３】
内部トリガ（ＸＳＨＩＮＴ信号）は、モータ制御部３に入力される上記割り込み信号と同期をとるように生成される。本実施形態のタイミングチャートでは、Ｎライントリガ（ＸＳＨＤＩＶ信号）周期は、内部トリガ（ＸＳＨＩＮＴ信号）周期の１６倍に設定される場合を示している。また、図２に示す内部トリガ遅延設定は、０（無し）の場合を示している。
【００８４】
ここでは、Ｎライントリガ（ＸＳＨＤＩＶ）の周期が、内部トリガ（ＸＳＨＩＮＴ信号）周期の１６倍に設定される場合について説明するが、これに限らず３２倍や８倍などであってもよい。また、Ｎ＝１の場合は、ＣＰＵへのＮライントリガが１ライン単位で発生する場合であるが、低速で高精彩で画像を読み取る場合に適している。
【００８５】
ＸＥＮＲＴＰ信号は、モータ制御部３の内部回路のイネーブル信号であり、ＸＥＮＲＴＰがＬｏｗの場合にアクティブとなる。
【００８６】
ＳＹＮ信号は、Ｎライントリガ（ＸＳＨＤＩＶ信号）との同期／非同期を設定する信号であり、ＳＹＮ信号がＨｉｇｈの場合に同期モードとなる。ＳＹＮ信号がＬｏｗの場合は非同期モードとなる。
【００８７】
同期モードは、Ｎライントリガによって、画像処理部２とモータ駆動のタイミングの同期を合わせるとともに、ＣＰＵ１からモータ制御部３の制御が可能になるモードである。このモードにおいてモータ制御部３は、少なくとも次のＮライントリガがくるまで、ＣＰＵ１に負荷をかけずにモータ制御を行う。また、同期モードは、実際に読み取っている画像の位置とモータの駆動量の調整ができているので、読み取り途中での読み取りの停止、読み取り再開動作に適している。従って、カラー画像や高解像度の画像などのようにメモリを多く使用する画像を読み取る場合に適している。また、読み取り途中での読み取りの停止、再開動作ができるので、小さいメモリ容量のメモリを用いて、高解像度の画像を高速に読み取ることができる。
【００８８】
本実施形態では、ＣＰＵ１が、不図示の操作部でカラー画像あるいは高解像度画像の読み取りが指定された場合、同期モードが選択されるように設定されている。
【００８９】
一方、非同期モードはＣＰＵ１より出力されるＸＥＮＲＴＰ信号およびその他の動作条件が満たされた場合に内部トリガを生成し、モータ駆動を開始しＮライントリガと無関係に１ページの終了までモータ制御を行うモードである。
【００９０】
つまり、非同期モードでは、モータ制御部３は、ＸＥＮＲＴＰ信号および後述するＨＯＬＤ信号等によって、モータ駆動の開始、画像処理部２とのタイミング調整を行い、１ページの画像の読み取りが終了するまで、ＣＰＵ１に負荷をかけずにモータ制御を行うことができる。このため、非同期モードは、読み取り途中でのモータの停止、再開が不要なモノクロ画像のようにメモリを多く使用しない画像を読み取る場合に適している。
【００９１】
ＨＯＬＤ信号は、ＣＰＵ１より出力され、位相シフトを行わずモータに励磁電流を与え、モータをホールド状態（モード）に保つ信号であり、ＨＯＬＤがＨｉｇｈの場合に、ホールドモードになる。一方、Ｌｏｗになるとモータは駆動可能な状態となる。非同期モードでは、ＨＯＬＤ信号がＬｏｗになるとモータ駆動が開始される。
【００９２】
ＴＩＭＤ  Ｌｏａｄは、励磁タイマテーブル２４より、励磁タイマ１６にタイマデータ（ＴＩＭＤＡＴＡのＴ１）をロードするタイミングを示す。ＳＴＰＤ  Ｌｏａｄは、ステップデータテーブル２５よりステップカウンタ１７にステップデータ（ＳＴＰＤＡＴＡ、例えば０７Ｈ）をロードするタイミングを表す。励磁タイマ１６内部のタイマカウンタでデータＴ１までカウントを行うと、ＴＩＭＣＡＲＲＹ（タイマカウンタのキャリー）を出力する。ＴＩＭＣＡＲＲＹが出力されると、ステップカウンタ１７でステップデータをカウントする。図２に示す例ではダウンカウントの例を示しているが（ＳＴＰＤＡＴＡ）、アップカウントの場合も同様である。
【００９３】
ステップデータが００Ｈ（ダウンカウント時）、または例えば設定データ０７Ｈ（アップカウント時）になると、励磁タイマ１６はＳＴＰＣＡＲＲＹ（ステップカウンタのキャリー）を出力する。ＳＴＰＣＡＲＲＹが出力されると、ステップカウンタ１７はタイマデータとステップデータからなる加減速データテーブルを、設定されたテーブルステップ数に従いカウントを進める。ＳＴＰＣＡＲＲＹ（ステップキャリー）が出力されない場合、ＴＩＭＣＡＲＲＹ（タイマキャリー）出力後、再度タイマデータを励磁タイマ１６にロードし、カウントを開始する。
【００９４】
位相データ（ＰＨＡＳＥ）を進める信号であるＤＡＴＳＩＦ信号は、ＴＩＭＣＡＲＲＹ出力時に出力され、励磁電流と位相を変化させる。本タイミングチャートでは、Ｗ１−２相励磁（マイクロステップ駆動）の励磁電流ＩＡ，ＩＢの一実施例を示している。
【００９５】
励磁タイマデータとステップデータからなる加減速データテーブルのＴＡＢＬＥＮＵＭ（テーブルナンバー）はＳＴＰＣＡＲＲＹ（ステップキャリー）信号によりデータ選択カウンタ２２でカウントアップ（またはカウントダウン）される。この動作により、加減速データテーブルの切り替えが行なわれる。
【００９６】
前述した通り、非同期モードを用いると、モータ駆動量と画像の読み取り位置が非同期になるため、１ページ分の画像を停止することなく読み取る場合、ＣＰＵの負荷を著しく軽くすることができる。しかし、１ページ分の画像がメモリに入りきらずに途中でモータを停止する場合には、読み取り位置とモータの停止位置が合わなくなる。このため、最初から画像を読み直さなければならないので不便である。このような場合、同期モードを用いると最初から画像を読み直さずに、画像の読取停止、再開が容易に可能である。また、画像の読み取り途中での読取停止、再開ができるので、画像メモリの容量を少なくすることが可能である。以下に、同期モードを用いた読取停止、再開の処理について説明する。
【００９７】
なお、非同期モードはＮライントリガ（ＸＳＨＤＩＶ信号）と無関係に動作する点において異なるのみであり、他の信号は図２と同様なため説明は省略する。
【００９８】
図３は、図１に示したステッピングモータ制御装置の読取停止時のタイミングチャートの一実施例を示す図である。本実施形態のタイミングチャートでは、Ｎライントリガ（ＸＳＨＤＩＶ信号）周期は、内部トリガ（ＸＳＨＩＮＴ信号）周期の１６倍に設定される場合を示している。
【００９９】
先ず、ＣＰＵ１が、ＲＯＭ３１に格納されたプログラムに従って、画像データを記憶するメモリであるＲＡＭ３２の空き容量が、予め定められた容量以下と判断すると、ＣＰＵ１は、ステッピングモータ制御装置３にモータを停止するＳＴＯＰ命令をＮライントリガ（ＸＳＨＤＩＶ信号）間で出力する。続いて、Ｎライントリガ（ＸＳＨＤＩＶ信号）に同期して、予めモータ制御部内に書き込まれた減速テーブルに従い、モータの減速制御を実行し停止する。
【０１００】
ＣＰＵ１が、メモリの空きが確保できたと判断した場合、読取を再開する。ここで、減速領域内での画像ラインデータに対する処理としては、以下のものが考えられる。モータを逆転スイッチバックして再加速したのち再読取を行う場合は、減速領域内の画像データを破棄する。一方、加速不要な低速で読取を再開する場合および再加速時の読取を実施する場合は画像データを保持する。
【０１０１】
なお、ここでは、Ｎライントリガ（ＸＳＨＤＩＶ信号）周期（１６ライン）内にモータが停止する場合を示しているが、該ＸＳＨＤＩＶ信号周期を超える場合も減速ライン分のメモリを確保すれば同様に考えることができる。
【０１０２】
また、ここではメモリの空き容量が所定容量以下になったとき、モータの減速停止処理を行ったが、メモリの使用量が所定量以上になったとき、モータの減速停止処理を行っても本発明の範囲内である。
【０１０３】
図４は、図１に示したステッピングモータ制御装置の読取再開時の位置調整のタイミングチャートの一実施例を示す図である。
【０１０４】
ＣＰＵ１は、ステッピングモータ制御部３にモータを逆転する逆転命令（ＲＯＬＬＭＯＤ＝１）をＮライントリガ（ＸＳＨＤＩＶ信号）の１周期間で出力する。続いて、Ｎライントリガ（ＸＳＨＤＩＶ信号）に同期して、予めモータ制御部内に書き込まれた逆転テーブルに従い、逆転制御を実行する。それにより、前述の減速開始時の位相データに合致するよう加減速に必要な位相データ分だけ逆転スイッチバックを行う。
【０１０５】
図５は、図１に示したステッピングモータ制御装置の読取再加速時のタイミングチャートの一実施例を示す図である。
【０１０６】
ＣＰＵ１は、ステッピングモータ制御装置３にモータをスタートするＳＴＡＲＴ命令をＮライントリガ（ＸＳＨＤＩＶ信号）の１周期内で出力する。続いて、モータ制御部３はＮライントリガ（ＸＳＨＤＩＶ信号）に同期して、予めモータ制御部３内に書き込まれた加速テーブルに従い、再加速制御を実行する。この際、モータ制御部３は、前述の減速開始の位置までに、読み取りの再開ができるようにモータを制御する。
【０１０７】
以上の処理により、Ｎラインの読取タイミングに同期しながら、読取途中で停止、逆転スイッチバック、再加速制御を行っても歪のない画像を読み取ることができる。しかも、ＣＰＵ１は、高速な読み取りの場合でも、毎ライン単位といった頻繁な割り込みを受けないので、ＣＰＵ１の負荷も軽いという顕著な効果がある。
【０１０８】
ここでは、空きメモリ容量が所定量以下になると、ＳＴＯＰ命令を出力することでモータの停止動作を行うようにしたが、これに限らず次のような方法でもよい。
【０１０９】
即ち、空きメモリ容量が所定量以下になるまでは、モータ制御部に対して、Ｎライントリガ（ＸＳＨＤＩＶ信号）に同期してモータ駆動命令を出力する。そして、空きメモリ容量が所定量以下になると、Ｎライントリガ（ＸＳＨＤＩＶ信号）に同期してモータ駆動命令を出力しない。このような処理によって、前述のＳＴＯＰ命令が出力されたのと同様の動作をさせるようにしても、実質的にＳＴＯＰ命令が出力されたのと同様な効果が得られ、本発明の範囲を逸脱しない。
【０１１０】
次に、図６に示したフローチャートを参照し、本実施形態に係るステッピングモータ制御装置の位相シフトに関する加減速データテーブルの制御手順について説明する。
【０１１１】
先ず、モータ制御部３内の初期設定を行う（ステップＳ３００１）。初期設定は、トリガ同期／非同期モード、回転方向、加減速データテーブルのステップアップ／ダウン、出力モード、モータ制御部イネーブル等の設定が含まれる。次に、ステップカウンタ１７にステップデータをロードする（ステップＳ３００２）。続いて、初期設定されたモードが同期モードまたはカラーモード（ＳＹＮ＝１）であるか否かを判断する（ステップＳ３００３）。同期モード（カラーモード）である場合、Ｎライントリガ（ＸＳＨＤＩＶ信号）が入力されたかを判断して（ステップＳ３００４）、ＸＳＨＤＩＶ＝０である場合は、内部トリガであるＸＳＨＩＮＴ信号と同期をとる（ステップＳ３００５）。ステップＳ３００４でＸＳＨＤＩＶ＝０でない場合はステップＳ３００６に移行する。
【０１１２】
続いて、内部トリガ（ＸＳＨＩＮＴ＝Ｌ）が入力されたか否かを判断して（ステップＳ３００６）、位相シフト信号であるＤＡＴＳＩＦ信号をＨｉｇｈにし、励磁タイマデータをロードする（ステップＳ３００７）。ステップＳ３００３で初期設定されたモードが非同期モードまたはモノクロモード（ＳＹＮ＝０）ならば、ステップＳ３００７に移行する。ステップＳ３００６で内部トリガが入力されない場合、即ちＸＳＨＩＮＴ＝Ｈの場合は、内部トリガ入力待ち状態を継続する。
【０１１３】
続いて、ステップＳ３００７では、タイマデータをロードすると同時に、励磁タイマのカウンタアップまたはカウントダウンを実行し（ステップＳ３００８）、タイマデータ設定値になるとＴＩＭＣＡＲＲＹ＝Ｈ（タイマキャリー）を出力する（ステップＳ３００９）。
【０１１４】
続いて、ステップデータのカウントアップ（アップカウンタの場合）またはカウントダウン（ダウンカウンタの場合）を行う（ステップＳ３０１０）。ステップカウンタ１７の値がステップデータ設定値（アップカウントの場合）または００Ｈ（ダウンカウントの場合）になり、ステップキャリー（ＳＴＰＣＡＲＲＹ＝Ｈ）が出力されたか否かを判断して（ステップＳ３０１１）、ステップキャリーが出力されたならば、加減速データテーブルのアップ／ダウンモードの設定がアップカウントモード（ＵＤＭＯＤ＝０）であるかを判断して（ステップＳ３０１２）、加減速データテーブルをカウントアップする（ステップＳ３０１３）。
【０１１５】
続いて、加減速データテーブルカウンタが設定されたデータテーブル数より大きいか否か（ＤａｔａＴａｂｌｅＣｏｕｎｔ＞ＭａｘＮｕｍ）を判断して（ステップＳ３０１５）、設定された加減速データテーブル数より大きければ、加減速データテーブルナンバーＳＤ（５：０）に設定されたテーブルデータ数（ＭＡＸＮＵＭ）を入力する（ステップＳ３０１７）。ステップＳ３０１５で、加減速データテーブルカウンタが設定されたデータテーブル数以下ならば、加減速データテーブルナンバーＳＤ（５：０）にカウントアップしたカウント値（ＮＵＭ）を入力する（ステップＳ３０１８）。
【０１１６】
ステップ（ステップＳ３０１２）の判断において、加減速データテーブルのアップ／ダウンモードの設定がダウンカウントモード（ＵＤＭＯＤ＝１）ならば、加減速データテーブルをカウントダウンする（ステップＳ３０１４）。続いて、加減速データテーブルカウンタが１以下であるか（ＤａｔａＴａｂｌｅＣｏｕｎｔ＜＝１）を判断して（ステップＳ３０１６）、１以下ならば、加減速データテーブルナンバーＳＤ（５：０）にデータ０１Ｈを入力する（ステップＳ３０１９）。ステップＳ３０１６で、加減速データテーブルカウンタが、１以下でないならば、加減速データテーブルナンバーＳＤ（５：０）にカウントダウンしたカウント値（ＮＵＭ）を入力する（ステップＳ３０２０）。
【０１１７】
ここで、ステップＳ３０１６において判断基準を１以下としているのは、加減速データテーブルのステップ数を例えば２ステップに設定した場合に、カウンタ値が０になる場合もあるためである。ステップＳ３０１７〜Ｓ３０２０の何れかにおいて、加減速データテーブルナンバーＳＤが設定された後、ステップＳ３００２へ戻り、上述した動作を繰り返す。
【０１１８】
図６に示すように、加減速データテーブルナンバーは、最終的に設定された加減速データテーブル数または０１Ｈに固定される。これは、モータの加速または減速を完了した後、定速回転を継続することを表している。図６に示す例において、モータを停止する方法としては、減速を完了した後、例えばモータ制御部３のイネーブル信号により励磁電流を停止する等の方法が考えられる。
【０１１９】
次に、図７に示したフローチャートを参照し、本実施形態に係るステッピングモータ制御装置のＰＷＭ出力の制御手順の概要について説明する。
【０１２０】
先ず、画像の読み取りの開始が指示されると、モータ制御部３内の初期設定を行う（ステップＳ４００１）。ＰＷＭ出力部８に関連する初期設定は、励磁パターンデータに含まれる所望の励磁電流を発生させるためのＰＷＭデータ（５ビット）、電流パワーダウン時のＰＷＭデータ（５ビット）、このＰＷＭデータに切り替えるまでの電流パワーダウンタイマ、電流をパワーダウンするまでのＸＳＨＩＮＴ（Ｎライントリガ）数、ＰＷＭビット数の設定値が含まれる。
【０１２１】
ここで、電流パワーダウン時のＰＷＭデータは、モータを低速で駆動するときに発生する騒音を防止するために、同一位相内で励磁電流を通常の状態から低めの状態に切り替える動作を行うが、低めの電流値に相当する。また、電流パワーダウンタイマは、同一位相の中で励磁電流が通電されてから、通常より低めの励磁電流に切り替えるまでのタイマである。また、電流をパワーダウンするまでのＸＳＨＩＮＴ（Ｎライントリガ）は、ＣＰＵ１が暴走して高めの励磁電流を維持する時間があまり長く継続しないようにするためのものである。また、ＰＷＭビット数は、前述の５ビットの幅のＰＷＭデータのうち何ビットをＰＷＭデータとして有効とするかを表すデータである。
【０１２２】
カラー画像や高解像などの高精彩な画像を高速でを読み取る場合（不図示の操作部より指示される）は、大きなビット数（例えば５ビット）が設定される。これによって、正確な正弦波の電流波形が再現できるので、滑らかなモータの駆動が可能となる。高速で高精彩な画像を読み取る必要のない場合は、小さなビット数（例えば４ビット）が設定され、大きいビット数が設定された場合ほど滑らかなモータの駆動にはならない。
【０１２３】
説明を図７に戻す。
【０１２４】
次に、励磁位相を進めるための位相データシフト信号ＤＡＴＳＩＦがＨ（Ｈｉｇｈ）であるかを判断して（ステップＳ４００２）、ＤＡＴＳＩＦ＝Ｈであるならば、ＰＷＭ出力部８内のＰＷＭカウンタをクリアする（ステップＳ４００３）。
【０１２５】
ステップ（ステップＳ４００２）で、位相データシフト信号ＤＡＴＳＩＦ＝Ｌ（Ｌｏｗ）ならば、電流パワーダウン時のＰＷＭデータに切り替えるＰＷＭＳＥＬ信号が１であるか否か、即ち，電流パワーダウンをするかどうかを判断する（ステップＳ４００４）。ＰＷＭＳＥＬ＝１（電流パワーダウンする）ならば、電流パワーダウン時のＰＷＭデータ１１をＰＷＭセレクタ７で選択する（ステップＳ４００５）。ステッピング（ステップＳ４００４）で、ＰＷＭＳＥＬ＝０ならば、続いて、ＰＷＭ出力部８のＰＷＭカウンタ（ＰＷＭビット数を設定）をカウントアップする（ステップＳ４００６）。
【０１２６】
次に、カウンタ値がＰＷＭ設定値（ＰＷＭデータの値）になったかを判断して（ステップＳ４００７）、ＰＷＭ設定値になった場合、ＰＷＭ出力値を１に設定し（ステップＳ４００８）、ＰＷＭ設定値未満の場合、ＰＷＭ出力値を０に設定する（ステップＳ４００９）。ＰＷＭカウンタがＰＷＭビット数まで（５ビットの場合３２までカウントする）カウントしたところでＰＷＭの出力値がすべて確定する。ここで、ＰＷＭ出力値＝１が出力される間、後段の不図示の電流源にＯＮ信号が伝達され、ＰＷＭ出力値＝０が出力される間、後段の不図示の電流源にＯＦＦ信号が伝達される。後段の不図示の電流源は、ＯＮ／ＯＦＦ信号の長さによって所望の電流値の励磁電流を出力するようになっている。ステップＳ４００８またはステップＳ４００９でＰＷＭ出力値がすべて確定すると、ステップＳ４００２に戻り、同様の処理を繰り返す。
【０１２７】
図８は、図１に示したステッピングモータ制御装置のタイマデータとステップデータからなる加減速データテーブルのレジスタ設定の一例を示す図である。
【０１２８】
図８に示した例では、タイマ設定レジスタ１４ビット×４０、ステップ数設定レジスタ８ビット×４０まで設定できる場合を示す。加減速データテーブル数レジスタはデータテーブル数が４０個あるので６ビット必要である。設定された加減速データテーブル数、例えば７テーブル内で、設定された加減速データテーブルのアップ／ダウンステップ数、例えばステップ数２に従い、テーブル１（ＴＩＭＥＲ１、ＳＴＥＰ１）からテーブル３（ＴＩＭＥＲ３、ＳＴＥＰ３）、テーブル５（ＴＩＭＥＲ５、ＳＴＥＰ５）と移行することを示している。
【０１２９】
【発明の効果】
以上説明したように、請求項１に記載の発明によれば、ＣＰＵのソフトウェア処理を軽減し、且つ従来の高速読取時の１ライン割り込みに相当するモータ制御を実現することができるという効果がある。更に読取途中でモータ制御を変える場合でも、モータ駆動量と画像の読み取り位置の同期が取れているので歪のない画像を読み取るよう再開することができる。
また、ライントリガに同期しながら、Ｎ倍周期の同期信号内でモータの加減速を可能にし、ＣＰＵのソフトウェア処理を軽減し且つ従来の高速読取時の１ライン単位の割り込みに相当する加減速の可能なモータ制御を実現することができるという効果がある。
【０１３０】
請求項２の発明によれば、画像に適した最適な励磁電流が得られ、安定したモータの駆動ができるという効果がある。
【０１３１】
また、請求項３に記載の発明によれば、ステップアップ数またはダウン数記憶手段に保持されたステップアップ数またはステップダウン数に基づいて、上記加減速データテーブルのステップアップまたはステップダウンを行うので、ロード中でないレジスタの再書換を行うとともに、加減速データテーブルレジスタのアップダウンの組み合わせにより加減速データテーブル数以上の加減速制御を行い、該制御に対してソフトウェア処理の軽減と動作安定を図れる効果がある。また、モータ制御部をＡＳＩＣ等で実現した場合、ソフトウェア処理の軽減とゲート規模縮小を両立して加速領域の細分化を図れるという効果も奏する。
【０１３２】
更に、請求項４に記載の発明によれば、請求項３に記載のステッピングモータ制御装置において、前記モータ制御部は、前記加減速データテーブルのテーブル数を保持するテーブル数記憶手段を有し、該テーブル数記憶手段に保持されたテーブル数に基づいて前記加減速データテーブルのステップアップまたはステップダウンを停止するので、プログラム領域に書き込まれる加減速データのデータ数を減少させる効果がある。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るステッピングモータ制御装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係るステッピングモータ制御装置の一例を示すタイミングチャートである。
【図３】本発明の一実施形態に係るステッピングモータ制御装置の読取停止時の一例を示すタイミングチャートである。
【図４】本発明の一実施形態に係るステッピングモータ制御装置の読取再開時の位置調整の一例を示すタイミングチャートである。
【図５】本発明の一実施形態に係るステッピングモータ制御装置の読取再加速時の一例を示すタイミングチャートである。
【図６】本発明の一実施形態に係るステッピングモータ制御装置の位相シフトに関する加減速データテーブルの処理手順の一例を示すフローチャートである。
【図７】本発明の一実施形態に係るステッピングモータ制御装置のＰＷＭ出力の制御手順の一例を示すフローチャートである。
【図８】本発明の一実施形態に係るステッピングモータ制御装置のタイマデータとステッピングデータからなる加減速データテーブルのレジスタ設定の一例を示す図である。
【符号の説明】
１  ＣＰＵ
２  画像処理部
３  モータ制御部
４  励磁パターンレジスタ
５  励磁データセレクタ
６  励磁位相出力部
７  ＰＷＭセレクタ
８  ＰＷＭ出力部
９  励磁位相ナンバーレジスタ
１０  励磁移送カウンタ
１１  電流パワーダウンＰＷＭレジスタ
１２  ＰＷＭカウンタ
１３  電流パワーダウンタイマレジスタ
１４  ＸＳＨカウンタ
１５  電流パワーダウンＸＳＨトリガレジスタ
１６  励磁タイマ
１７  ステップカウンタ
１８  アップダウンカウント選択部
１９  データテーブル最大数設定レジスタ
２０  励磁タイマセレクタ
２１  ステップカウントセレクタ
２２  データ選択カウンタ
２３  加減速データテーブルステップ数レジスタ
２４  励磁タイマテーブル
２５  ステップデータテーブル
２６  ＸＳＨＩＮＴ遅延設定レジスタ
２７  ＸＳＨＩＮＴ遅延カウンタ
２８  ＸＳＨトリガジェネレータ
２９  リード／ライトレジスタ
３０  分周器
３１  ＲＯＭ
３２  ＲＡＭ
３３  読取ユニット
【図１】
0003560335.tif 000002
【図２】
0003560335.tif 000003
【図３】
0003560335.tif 000004
【図４】
0003560335.tif 000005
【図５】
0003560335.tif 000006
【図６】
0003560335.tif 000007
【図７】
0003560335.tif 000008
【図８】
0003560335.tif 000009