(57)【要約】【課題】ＲＡＭ内に展開されたモータ駆動テーブルからＤＭＡ転送によって、駆動データを取得してモータドライバを駆動するモータ制御回路において、ＲＯＭから前記ＲＡＭ内に展開するデータ容量を、必要最小限に削減することを目的とする。【解決手段】本発明によるモータ制御回路は、一励磁単位周期ＮステップのＤＭＡ転送を開始するポインタを指し示すレジスタを有し、かつそのレジスタの構成はダブルレジスタ構造であることを特徴としている。これにより、駆動中に初段レジスタに、次の一励磁周期Ｎステップの駆動パターン情報を設定することができる。これによりモータ駆動テーブルをＲＡＭ内に確保する領域は、一励磁周期Ｎステップの２面分の領域を確保すれば良い。そして、モータの駆動のためにＤＡＭ転送を行う「読み出し側」、またＣＰＵがＲＯＭからＲＡＭに展開するために必要な「書き込み側」のテーブルを順次、それぞれ交互に用いれば良い。【選択図】        図１
2004336849.tif 000002
【特許請求の範囲】
【請求項１】
記録装置のモータを駆動するためのモータドライバと、前記モータドライバを制御するためのモータ制御回路を含んだ記録装置専用コントローラＬＳＩと、前記モータの駆動データと速度を設定するための時間データを記憶するメモリと、前記メモリ内に保存されたモータ駆動データと時間データを前回の時間データから計測された規定時間毎に前記モータ制御回路にＤＭＡ転送を行う手段と、前記モータ駆動データに基づいて、前記モータドライバを制御する手段を有したモータ制御装置において、
前記モータ制御装置は、ハードウエアによってモータの一励磁周期Ｎステップの駆動をＤＭＡ転送によって自動的に進め、前記Ｎステップ数の駆動が終了した時点でＣＰＵに対して割り込み信号を通知する手段を有し、かつ、前記一励磁単位周期ＮステップのＤＭＡ転送を開始するアドレスのポインタを指し示すレジスタを有し、そのレジスタの構成はダブルレジスタ構造を備えたことを特徴としたモータ制御装置。
【請求項２】
前記ダブルレジスタ構造のレジスタの初段レジスタから後段レジスタへのデータラッチのタイミングは、駆動開始前に前記モータ制御装置に対して行うイニシャル動作を行った時点、また、前記一励磁周期Ｎステップの駆動を終了した時点で行うこと特徴とした請求項１に記載のモータ制御装置。
【請求項３】
請求項１に記載のモータ制御装置の駆動は、前記ダブルレジスタ構造の後段のレジスタの設定値値を基に駆動され、前記一励磁単位周期Ｎステップ駆動中に前段のレジスタに次周期の駆動情報の設定を行える構成であることを特徴としたモータ制御装置。
【請求項４】
請求項１に記載のモータ制御装置において、メモリ内に展開する駆動データテーブルは前記一励磁周期Ｎステップの２面分のメモリ領域のみを確保し、一方を前記モータ制御装置の駆動ためのＤＭＡ転送側の「読み出し側」、また、他方を次一励磁周期Ｎステップの駆動情報をメモリに展開するめの「書き込み側」とし、これら２面のメモリ領域を交互に用いることを特徴としたモータ制御装置およびに、前記メモリ領域の活用方法。
【請求項５】
請求項１から請求項３に記載のモータ制御装置を有し、かつ前記手段を実現することを特徴とした記録装置。
【請求項６】
請求項６に記載の記録装置において、記録ヘッドを用いて記録動作を行うことを特徴としたインクジェット記録装置。
【請求項７】
前記記録ヘッドはインクを吐出するためのエネルギーとして熱エネルギーを発生する電気熱変換体を含む複数の記録素子を有することを特徴とする請求項５に記載のインクジェット記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、モータの制御装置及び制御方法に関し、特に、ＲＯＭ（Ｒｅａｄ  ｏｎｌｙ  Ｍｅｍｏｒｙ）内に格納したモータ駆動テーブルをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）上に展開し、そのモータ駆動データに基づいてモータの駆動を行う制御装置及び制御方法に関する。
【０００２】
より詳細には、ＲＡＭ内に展開するモータ駆動テーブルデータの容量を必要最小限にするためのハードウエアの構成と、その制御方法に関するものである。
【０００３】
【従来の技術】
近年、記録装置の普及が進み、その技術も飛躍的に進歩している。記録装置は画像情報に基づいて用紙上に画像を記録していくように構成されているが、このような記録装置の中で、最近、最も注目されている記録方法はインクジェット記録方法である。インクジェット記録方法は、記録ヘッドから用紙にインクを吐出して記録を行う方法であり、その長所は高精細な画像を高速で記録することができ、ランニングコスト、静粛性等、様々な点で他の記録方法よりも優れている点にある。
【０００４】
インクジェット記録方法を採用したインクジェットプリンタにおいて、紙送り動作、キャリッジ動作、回復動作には一般にステッピングモータが用いられるが、プリンタの高画質化に伴うモータ停止精度、及び低騒音化のため、モータの励磁方法も、Ｗ１−２相、２Ｗ１−２相、さらにはマイクロステップ（２−２相の１ステップを１６分割）と分割駆動されるものが増えており、さらに、プリンタの記録速度の高速化のために、モータの駆動速度も従来に比べて高速になっている。そのため、最近、ＣＰＵによるモータ励磁切り替えでは、そのタイミング切り替えが追いつかなくなって来た。
【０００５】
そこで、プリンタ全体をコントロールする専用のシステムＬＳＩ（以下、ＡＳＩＣと称する）内に設けられたモータドライバコントローラ回路によってモータ制御を行う構成が増えている。この方法は、ＲＯＭ内に記録されている駆動テーブルデータをＲＡＭ内に展開し、その駆動データをＤＭＡ転送によりモータドライバコントローラ回路に転送して、モータドライバを制御する方法である。ＲＡＭは、他の用途にホストコンピュータから印字データの受信バッファ、画像処理のためのワークエリア、印字ヘッドのノズル並びに整列されたデータを保存するための印字バッファ等に用いられる。
【０００６】
上記のようにハードウエア回路によって、モータ制御を行う方法として、特開平２００１−２８６１９０号公報、及び特開平２００１−２８６１８９号公報には、ＲＡＭ内に記録されているモータ駆動テーブルのデータを、ＣＰＵを介さずに順次ＤＭＡ転送によりモータドライバコントローラ回路に取り込んでモータドライバを制御する方法が提案されている。
【０００７】
【発明が解決しようとする課題】
しかしながら、前記従来例においては、あるモータ駆動シーケンスを行うために、その駆動シーケンスに基づいて全てのモータ駆動テーブルを、ＲＯＭ内からＲＡＭ内に展開しなければならなかった。図２に加速、等速、減速の一連の駆動シーケンスを、ステップ数とモータ速度の関係で表したグラフを示す。このようにモータの駆動シーケンスは一般的に、加速領域１、等速領域２、減速領域３の各テーブルから構成されている。例えば加速、減速にそれぞれ、２００ステップ、等速に１０００ステップを要する駆動シーケンスでは、全部で４０４ステップ分の駆動データをＲＡＭ内に展開する必要があった。そして、モータドライバコントローラ回路内のＤＭＡ開始アドレスに１ステップ目の駆動データが書かれているアドレスを設定し、モータ駆動を開始する。するとモータドライバコントローラ回路はＤＭＡ転送によって順次駆動データをＲＡＭ内から読み出しモータドライバに設定していく。等速領域は、同じ駆動データ、保持時間を連続させるため、一励磁周期４ステップ分だけＲＡＭ内に展開し、繰り返し読み出す。一励磁周期とは電気角で３６０°に相当し、２−２相励磁の４ステップ分である。その電流ベクトルの様子を示したものを図３に示す。１−２相励磁、Ｗ１−２相励磁の電流ベクトルの様子を図４、図５に示す。前図のように２相１ステップ当たりの駆動が分割されていくと、そのステップ数は倍々に増加していく。そのために、励磁方法によってＲＡＭ内に展開されるデータ数は、その励磁分割数に応じて同様に倍々に増加してくる。より具体的には、前記２−２相で４０４ステップだったものが、１−２相励磁では８０８ステップ、Ｗ１−２相励磁では１６１６ステップへと増加し、ＲＡＭ内を占有するモータ駆動データ容量が増加する。
【０００８】
上記のような規定のパルス数に基づいて、モータドライバコントローラ回路が、ＲＡＭ内から順次アドレスを更新しながら、ＤＭＡ転送によって、駆動データを読み出しモータドライバに設定を行う手法では、その駆動シーケンスに必要とする駆動データを全てをＲＯＭからＲＡＭ内に予め、テーブルとして展開しておかなければならなかった。そのため、限られたＲＡＭの容量を占有することになった。その様子を図６に示す。左側はＲＯＭのメモリマップであり、プログラム領域に各駆動シーケンス毎のモータ駆動テーブルが記録されている。右側はＲＡＭのメモリマップである。前記ように加速、減速にそれぞれ、２００ステップ、等速に１０００ステップを要する２相駆動シーケンスでは、全部で４０４ステップ分の駆動データをＲＯＭ内からＲＡＭのワークエリアに展開（コピー）して来なければならない。
【０００９】
前記のようにＲＡＭは、有限な領域な中で様々な用途に用いられており、可能な限り有効に使うことが求められている。そのため、ＲＡＭ内に展開されるモータ駆動データテーブルを極力減らすことが望ましい。
【００１０】
【課題を解決するための手段】
そこで本発明によるモータドライバコントローラ回路は、モータの一励磁周期ＮステップをＤＭＡ転送によって自動的に進め、そのステップ数を終了した時点でＣＰＵに対して割り込み信号を通知する手段を有し、上記、一励磁単位周期ＮステップのＤＭＡ転送を開始するポインタを指し示す先頭アドレスを有し、かつそのレジスタの構成はダブルレジスタ構造であることを特徴としている。その初段レジスタから後段レジスタへのデータラッチのタイミングは、駆動開始前に、モータドライバコンとローラ回路を駆動準備状態するためのレジスタに書き込み動作を行うことによって、さらに前記一励磁周期Ｎステップ終了した割り込み発生たタイミングによって行うことを特徴としている。
【００１１】
前記モータドライバコントローラ回路は後段レジスタの値に基づいて動作を行い、ＣＰＵが通常にアクセスできるのは初段レジスタである。従って、初段のレジスタはその内容が後段レジスタにラッチされると書き換えが可能な状態となる。これによりＣＰＵは、モータドライバコントローラ回路が通知する割り込み信号を受けて、一励磁周期Ｎステップを駆動中に初段レジスタに、次の一励磁周期Ｎステップの駆動パターン情報を設定することができる。
【００１２】
上記モータドライバコントローラ回路の構成によって、ＲＡＭ内に展開する駆動データテーブルは一励磁周期Ｎステップの２面分のメモリ領域を確保すれば良い。そして、それらをモータドライバコントローラ回路からＤＭＡ転送するための「読み出し側」、また、次一励磁周期ＮステップをＣＰＵがＲＯＭからＲＡＭに展開するめの「書き込み側」に、交互に用いれば良い。つまり、一方の面から前記モータドライバコントローラ回路が、ＤＭＡ転送によって駆動中の一励磁周期Ｎステップのテーブルを読み出している間に、他方の面へは次の一励磁周期Ｎステップ分のテーブルをＣＰＵによってＲＯＭからＲＡＭに展開してくれば良い。
【００１３】
上記、モータドライバコントローラ回路のハードウエア構成により、ＲＯＭからＲＡＭ内に展開するモータ駆動のためのデータ容量を、従来方法と比較して格段に削減することが可能となる。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施例を詳細に説明する。
【００１５】
（全体説明）
以下、図面を参照して本発明の実施例を詳細に説明する。
【００１６】
図７にインクジェットプリンタの正面から捉えた外覧構成図を示す。ここで、４はプリンタ装置、５はキャリッジである。キャリッジは６に示すシャフト軸に支持されて、左右に移動することができる。モータのシャフトに取り付けられたプーリ７と、それと対称位置にあるプーリ８に張架されたタイミングベルト９の一部がキャリッジは接続されており、ＣＲモータの駆動力を伝達する。
【００１７】
図８はプリンタ装置の側面を示した図であり、、対構成からなる排紙ローラ１０、搬送ローラ１１、ピンチローラ１２、記録用紙を積載し、それから１枚づつ用紙をプラテン上に給紙するオートシートフィーダー１３、およびに給紙ローラ１４、プラテン上にある記録用紙１５で構成されている。プラテン上の用紙は給紙ローラおよびに排紙ローラの２つの搬送ローラによって用紙が搬送される。これらのローラは図示されていない搬送用のモータによって駆動される。また、排紙ローラはプラテン上の用紙に適度なテンションを加えるために、給紙ローラに比べて若干、早めに回転するように設定されている。
【００１８】
図９はプリンタ装置の電気回路の全体構成を示した図である。記録装置の主要部品はＣＰＵ１６，ＲＡＭ１７，ＲＯＭ１８，ＡＳＩＣ１９から構成される。ＲＯＭ１８は図６に示したようにＯＳ、プログラム領域にプリンタのファームウエア、およびにモータの駆動テーブルを格納している。ＡＳＩＣ１９はモータ駆動制御の他に画像処理、インターフェイス２０を介してホストコンピュータとの通信、記録ヘッド２１のインク吐出制御等を行う。また、ＲＡＭ１７は図６に示すように、前述のようにホストコンピュータからの受信データを一時的に保存（Ｒｅｃｅｉｖｅ  Ｂｕｆｆｅｒ）、ＡＳＩＣで画像処理を行う際のテンポラリメモリ（Ｗｏｒｋ  Ａｒｅａ）、また、印字用データの保存（Ｓｃｒｏｌｌ  Ｐｒｉｎｔ  Ｂｕｆｆｅｒ）等にも用いられる。前述のように、モータの駆動データテーブルはワークエリアに展開される。モータドライバは主にキャリッジ駆動用２１、およびに用紙搬送用２２の２つのドライバから構成され、また、２３，２４はそれぞれ、キャリッジモータ、用紙搬送モータである。図のモータドライバとモータの組み合わせは、ひとつの例であり、プリンタ装置によって、このモータの数とモータドライバの数はいくつになっても良い。また、２５は電源であり、商用電源から半導体デバイス駆動用のロジック電源、モータ駆動電源、およびにヘッド駆動電源を生成する部位である。
【００１９】
次にＤＭＡ転送を用いたモータ制御方法について特化した部分を説明する。
【００２０】
図１０は、ＤＭＡ転送を用いてモータを駆動するために必要な構成を示すブロック図である。ここでは、モータドライバに駆動データをシリアルデータ形式で転送する構成を例に挙げている。
【００２１】
ＲＯＭ１８内に格納されているモータ駆動データは、ＣＰＵ１６によってＡＳＩＣ１９を介してＲＡＭ１７内に展開される。図中、２６はＤＭＡコントローラであり、各機能ブロックのＲＡＭ１７へのアクセス要求に基づいて、ＲＡＭ１７とのＤＭＡ転送を行う。
【００２２】
また、ＣＰＵ１６からＲＡＭ１７へのデータアクセスにおいてもＤＭＡコントローラ２６を介して行う。２７はモータドライバコントローラ回路である。モータドライバコントローラ回路には、コントロールブロック２８、データコントローラ２９、シリアルデータ生成部３０、タイミング制御部３１が含まれている。コントロールブロック２８にはモータドライバコントローラ回路２７を駆動させるために必要な駆動情報設定レジスタが設けられている。このコントロールブロック２８はＣＰＵ１６のアドレス、データ、チップセレクト等の信号が接続されており、コントロールレジスタへのデータの書込みはＣＰＵ１６によって行われる。モータドライバコントローラ回路２７内は前記コントロールレジスタの内容に基づいて各機能のシーケンス制御を行う。データコントローラ２９はＤＭＡコントローラ２６に対してＲＡＭ１７の指定アドレスからのＤＭＡ転送を要求する。３２およびに３３はデータコントローラが取得してラッチしたデータであり、３２はモータドライバ制御データ、３３は時間データである。シリアルデータ変換部３０は、ラッチされた駆動データをシフトレジスタによって転送クロックに同期したシリアルデータに変換する。タイミング制御部３１は、ラッチされた時間データを基に励磁時間を管理を行う部位である。３４は２１，２２で示したモータドライバ、また別用途に用いるモータのドライバを示している。
【００２３】
図１１はモータドライバへの駆動データの転送タイミングの例を示す図である。ここではモータドライバコントローラ回路を含んだＡＳＩＣ１９からモータドライバに接続される信号、およびにモータドライバ３４内部の簡単な構成を示している。駆動駆動データ３５は、転送クロック３６に同期してモータドライバ内部のシフトレジスタ３８に順次格納される。それをストローブ信号３７によってラッチ３９にラッチする。モータドライバの出力はストローブ信号３７の立ち上がりにより、モータドライバ内部でラッチが行われた直後に確定する。つまり、励磁時間はモータドライバコントローラ２７がストローブ信号３７の間隔を管理することによって制御する。
【００２４】
ラッチされたデータは各制御要素毎のビットに分割され、それぞれの駆動制御ブロックの制御に用いられる。
【００２５】
４０はトルクデータ制御であり、Ａ相、Ｂ相の２つの位相の電流の設定値を保ったまま、両相の電流のレベルを切り替えるものである。これにより、Ａ相、Ｂ相の電流設定の比率設定は同じ状態でモータに与える電流を段階的に設定できるため、トルク設定を行うことができる。４１，４２，４３はＡ相側の制御ブロックである。４１は回生電流の流し方（ディケイモード）、４２は電流値、４３は位相の制御をＡ相出力電流に対してそれぞれ行う。また、４４，４５，４６はＢ相側の制御ブロックであり、それぞれの機能はＡ相側と同一である。
【００２６】
（実施例詳細）
図１は本特許の特徴を最も良く表したブロック図である。
【００２７】
ＲＡＭ１７中の４７はモータ駆動テーブルを展開する領域を示しており、本発明に基づきＲＡＭ内に一励磁周期Ｎステップのテーブルを２面分確保している様子を表している。
【００２８】
モータ駆動を行うために必要な情報は励磁のための駆動データと、その励磁を保持する時間データである。４８は駆動データテーブル、４９は時間データテーブルである。これら２つのテーブルに対して、それぞれ一励磁周期Ｎステップのテーブルを２面分確保する。その２面のテーブルをそれぞれＡとＢで区別し、駆動データデーブルを４８ａ，４８ｂ、また時間データテーブルを４９ａ，４９ｂとする。この一励磁周期Ｎステップのテーブルを２面分の駆動データは、前述のようにＲＯＭ１８からＡＳＩＣ１９を介してＣＰＵ１６によって書き込まれる。
【００２９】
５０は本発明に係わるモータドライバコントローラ回路のブロック構成の概略を示したものである。ただし、図２７で説明した従来のモータドライバコントローラ２７の構成と一部重複する。データコントローラ２９は、前述したようにＤＭＡコントローラ２６に対してＲＡＭ１７の特定の領域４７からのＤＭＡデータ転送を要求する。モータドライバコントローラ回路によって行われるＤＭＡ転送は駆動データ、時間データの順序で行われ、両者は対の関係にあり、個数は一致している。
【００３０】
５１は駆動データテーブル４８において、４８ａもしくは４８ｂのテーブルのＤＭＡスタートポイントアドレスを設定するレジスタであり、一励磁周期Ｎステップの駆動データの先頭アドレスを設定するレジスタである。ここで、本レジスタ構成は、本発明の特徴的な構成であるダブルレジスタ構造である。５１は初段側のレジスタであり、後段側のレジスタは５１ａである。前段レジスタから後段レジスタへのラッチのタイミングは後で説明行う。５２は後段レジスタ５１ａのアドレスを基準に駆動データのＤＭＡアドレスアドレスを更新を行う部分であり、ｗｏｒｄ単位でＤＭＡを行うため、２づつインクリメントするカウンタを有している。このようにモータドライバコントローラ回路５０は後段のレジスタにラッチされた条件に基づいて動作を行う。３２は図１０で示したようにＤＭＡ転送によって、モータドライバコントローラ回路５０にモータ駆動データを取得したものである。この駆動データは直ちにモータドライバ３４にシリアル転送される。前述のように、モータドライバに駆動データがシリアル転送されても、その駆動データはモータドライバ３４内部のシフトレジスタ３８に順次詰め込まれるだけで、ストローブパルスは来ないのでラッチ３９にラッチされず励磁の切り替えは行われない。ストローブによってラッチのタイミング、つまり励磁の切り替えタイミングを管理は時間データを基に行われている。そこで、次に時間データの管理方法を次に説明する。
【００３１】
５３は時間データテーブル４９において、４９ａもしくは４９ｂのテーブルのＤＭＡスタートポイントアドレスを設定するレジスタであり、駆動データと同様に一励磁周期Ｎステップの時間データの先頭アドレスを設定するレジスタである。ここでも、本レジスタ構成は、本発明の特徴的な構成であるダブルレジスタ構造である。５３は初段側のレジスタであり、後段側のレジスタは５３ａである。前段レジスタから後段レジスタへのラッチのタイミングは後で説明行う。５４は後段レジスタ５３ａのアドレスを基準に時間データのＤＭＡアドレスアドレスを更新しいく部分であり、駆動データと同様にｗｏｒｄ単位でＤＭＡを行うため、そのアドレス２づつインクリメントするカウンタを有している。前述のようにモータドライバコントローラ回路５０は後段のレジスタにラッチされた条件に基づいて動作を行う。３３は図１０で説明したようにＤＭＡ転送によって、モータドライバコントローラ回路に時間データを取得したものである。取得された時間データは、５５に示す時間カウンターに設定される。時間カウンター５５は一致カウンターであり、前記時間データと一致するとストローブパルスをモータドライバ３４に発生すると共にＤＭＡ  Ｎ回数管理ブロック５６に通知する。また、取得した時間データがゼロ、つまり励磁時間がゼロであった場合は、駆動終了とみなし、ストローブパルスの発生と、後述する割り込み管理ブロック５７にその事象を示すフラグを通知する。モータドライバ３４は、時間ゼロに対となる駆動データでモータを励磁し、保持状態となる。ＤＭＡ  Ｎ回数管理ブロック５６は一励磁周期ＮステップのＤＭＡ転送回数を管理する機能を有している。その一励磁周期Ｎステップの設定は５７に示すレジスタによって行う。ＤＭＡ  Ｎ回数管理ブロック５６は５７のレジスタに設定された一励磁周期Ｎステップの回数に達成すると、その事象を示すフラグを５８に示す割り込み管理ブロックに通知を行う。割り込み管理ブロック５８は、各割り込み要因を示すフラグを受け取ると、割り込み信号をＣＰＵ１６に通知する。つまり、この割り込み信号はモータドライバコントローラ回路５０から発生されるものである。また、前記割り込み管理ブロック５８には、図示されてない割り込みクリアレジスタが存在しており、ＣＰＵ１６はモータドライバコントローラ回路５０から割り込みを信号を検出した後、その割り込みをクリアする機能することができる。
【００３２】
次に前述の前段レジスタ５１、５３から後段レジスタ５１ａ，５３ａへのラッチのタイミングについて説明を行う。そのタイミングは、ＣＰＵ１６が５９に示すイニシャルトリガレジスタに書き込みを行った時点、さらに、一励磁周期Ｎステップの駆動を終了した時点である。また、イニシャルトリガレジスタ５８は、ＣＰＵ１６が書き込み動作（ダミーライト）を行うことによって発生する。これによって前段の駆動データアドレスレジスタ５１およびに時間データアドレスレジスタ５３を駆動前に、後段のそれぞれのレジスタ５１ａ，５３ａにラッチさせて、最初の一励磁周期の駆動条件をモータドライバコントローラ回路５０の内部に設定することができる。さらに最初の１ステップ目の駆動データ、およびに時間データをＤＭＡ転送によって３２およびに３３に取得し、駆動データ３２をモータドライバ３４のシフトレジスタに転送する。モータドライバ３４はストローブを受信すると即、励磁可能なスタンバイ状態となる。
【００３３】
また、前述の一励磁周期Ｎステップの駆動を終了した時点で行われるラッチのタイミングは、ＣＰＵ１６に対して割り込みを発生するタイミングと同時である。
【００３４】
６０はモータドライバコントローラ回路５０の内部回路に対して、駆動を開始させるための開始トリガを生成するためのレジスタであり、ＣＰＵ１６が書き込み動作（ダミーライト）を行うことによってトリガが発生する。本トリガによってモータドライバ３４に対してストローブ信号が送信され、最初の１ステップ目の励磁が開始される。さらに割り込み管理ブロック５７に、駆動スタート割り込み要因を示すフラグを送信する。
【００３５】
よりくわしい説明を図１２に示すステートマシンを用いて説明を行う。本ステートマシンの動作はＣＰＵ１６がモータドライバコントローラ回路５０に対して設定する順序を示しており、ＣＰＵ１６の動作に重点を置いたものである。
【００３６】
ステート６１に示すアイドル状態にあるＣＰＵ１６が、モータ駆動命令をプログラムから読み出すと、まず、ステート６２でモータドライバコントローラ回路５０に最初の一励磁周期Ｎステップを駆動するための駆動データ、およびに時間データの先頭アドレスポインタの位置をレジスタ５１，５３に設定を行う。具体的にレジスタ５１には駆動データテーブル４８ａの先頭アドレス（０００）の設定を行う。また、レジスタ５３には時間データテーブルも同様に４９ａの先頭アドレス（１００）を設定を行う。ステート６３において、ＣＰＵ１６は４８ａ，４９ａのテーブル領域にＲＯＭ１８から次周期Ｎステップ分の駆動データ、ならびに時間データを上記アドレス領域に展開する。ステート６４でイニシャルトリガレジスタ５８に書き込みを行って最初の一励磁周期の駆動条件をモータドライバコントローラ回路５０内部に設定を行う。ここで、最初の１ステップ目の駆動データがモータドライバ３４に転送され、ストローブ信号待ちの駆動スタンバイ状態となる。ステート６５でスタートトリガレジスタ５９に書き込みを行ってモータドライバコントローラ回路５０に駆動スタートを行う。
【００３７】
ステート６６で駆動開始と同時に駆動スタート割り込みを受けると、ステート６７で示すように２周期目の駆動データ、およびに時間データの先頭アドレスポインタの位置をレジスタ５１，５３に書き込む。具体的にレジスタ５１には駆動データテーブルの４８ｂの先頭アドレス（０２０）を設定する。また、レジスタ５３には時間データテーブルも同様に４９ｂの先頭アドレス（１２０）を設定する。また、ステート６８において、ＣＰＵ１６は４８ｂ，４９ｂのテーブル領域にＲＯＭ１８から次周期Ｎステップ分の駆動データ、ならびに時間データを上記アドレス領域に展開する。ステート６９において一励磁周期Ｎステップの駆動が終了時したことを示す一励磁周期割り込みを受けると、２周期目のパターンと同様にステート７０で示すようにＣＰＵ１６はレジスタ５１，５３に対して次周期の駆動データ、およびに時間データの先頭アドレスポインタの位置を設定を行う。具体的にレジスタ５１には駆動データテーブル４８ａの先頭アドレス（０００）を設定する。また、レジスタ５３には時間データテーブルも同様に４９ａの先頭アドレス（１００）を設定する。また、ステート７１において、ＣＰＵ１６は４８ａ，４９ａのテーブル領域にＲＯＭ１８から次周期Ｎステップ分の駆動データ、ならびに時間データを上記アドレス領域に展開する。
【００３８】
ここで次周期で駆動を終了する場合は、あらかじめステート７１で時間テーブル４９ａの特定のアドレスにゼロデータを書き込んでおく。また、駆動を継続する場合は、ステート６９に戻り一励磁周期割り込みを待つ。つまり駆動中はステート６９〜７１のループを繰り返す。駆動テーブルデータ、ならびに時間テーブルデータの領域は４８ａ，４９ａの面と４８ａｂ，４９ｂの面をそれぞれ交互に用いて、一方をモータドライバコントローラ回路５０がＤＭＡ転送により駆動情報を取得するための読み出し側、また、他方の面を次の一励磁周期Ｎステップの情報をＲＯＭ１８からＲＡＭ１９に展開するために用いる。
【００３９】
また、ステップ７１で次周期で駆動を終了させるために特定のアドレスにゼロデータを書き込んでおくと、前述のようにそのデータを読み出した時点で、ステート７３で駆動終了割り込みを受けて、ＣＰＵ１６はモータ駆動が終了したことを認識する。ステート７４で駆動停止でモータドライバコントローラ回路５０のレジスタを初期状態にクリアし、ステート６１のアイドルに戻る。そして、次回の駆動に備える。
【００４０】
次に図１３にモータドライバコントローラ回路５０の内部動作を図１３に示すフローチャートを用いて詳細に説明を行う。
【００４１】
モータドライバコントローラ回路５０は、ステップ７５でイニシャルトリガレジスタ５８に書き込みが行われると、前段の駆動データアドレスレジスタ５１およびに時間データアドレスレジスタ５３を駆動前に、後段のそれぞれのレジスタ５１ａ，５３ａにラッチさせる。ステップ７６、ステップ７７で、最初の１ステップのそれぞれ駆動データ、時間データをＤＭＡ転送によって３２および３３にラッチし、ステップ７８でモータドライバ３４に転送を行う。
【００４２】
ステップ７９でスタートトリガレジスタ５９に書き込みが行われると、モータドライバ３８に対してストローブパルスを発生（ステップ８０）して励磁を開始させる。また、直ちにステップ８１にて駆動スタート割り込みを発生させる。ステップ８２では、ＤＭＡ  Ｎ回数管理ブロック内に存在する一励磁周期ＮステップをカウントするためカウンタＭをクリアする。ステップ８３、ステップ８４で、それぞれ駆動データ、時間データをＤＭＡ転送によって３２および３３にラッチし、ステップ８５でモータドライバ３４に転送を行う。また、取得した時間データに基づいてステップ８６でストローブパルスを発生させ、モータドライバの励磁を切り替える。ステップ８７では、カウンタＭの値をインクリメントさせてステップ数を進める。
【００４３】
ステップ８８では、ステップ８４で取得した時間データがゼロか否かを判定する。時間データがゼロだった場合はステップ８９に進み、駆動終了割り込みを発生させてステップ９０で駆動が終了する。ステップ８８で時間データがゼロでないと判定された場合は、ステップ９１に進む。ステップ９１ではＭ＜Ｎ未満であれば、一励磁周期がまだ終了していないと判断してステップ８３に戻り、次ステップのＤＭＡデータ転送を開始する。ステップ９１でＭ＝Ｎと判定された場合は、一励磁周期の駆動を終了したと判断してステップ９２で一励磁周期割り込み信号を発生する。そして次の一励磁周期のためにステップ８２に戻る。
【００４４】
図１４に本発明によるモータドライバコントローラ回路５０に基づいてＷ１−２励磁駆動時を行った場合において、ＲＡＭ１７のワークエリアを占有するデータ量を示す。また、図の右側はその内訳を示したものである。Ｗ１−２励磁駆動は一励磁周期は１６ステップで構成される。そのため、１面の駆動データテーブルは、
１６ステップ×２ｂｙｔｅ＝３２ｂｙｔｅ
である。また、２面を交互に用いるために、駆動データテーブルの容量は上記の倍の６４ｂｙｔｅとなる。また、時間テーブルデータも同様に６４ｂｙｔｅとなる。従って合計１２８ｂｙｔｅの容量をワークエリアを占有することでＷ１−２励磁駆動が実現可能となる。
【００４５】
図１５に本発明によるモータドライバコントローラ回路５０に基づいて１層を１６分割したマイクロステップ駆動を行った場合に、ＲＡＭ１７のワークエリアを占有するデータ量を示す。また、図の右側はその内訳を示したものである。マイクロステップ駆動は一励磁周期は６４ステップで構成される。そのため、１面の駆動データテーブルは、
６４ステップ×２ｂｙｔｅ＝１２８ｂｙｔｅ
である。また、２面を交互に用いるために、駆動データテーブルの容量は上記の倍の２５６ｂｙｔｅとなる。また、時間テーブルデータも同様に２５６ｂｙｔｅとなる。従って合計５１２ｂｙｔｅの容量をワークエリアを占有することでＷ１−２励磁駆動が実現可能となる。
【００４６】
以上説明してきたように、本発明によるモータドライバコントローラ回路のハードウエア構成を用いることによって、ＲＯＭからＲＡＭ内に展開するモータ駆動のためのデータ容量を、従来手法と比較して格段に削減することが可能となる。
【００４７】
また、ＲＡＭ、ＣＰＵ、ＡＳＩＣ，ＲＯＭのデバイスが単品部品として構成されている例を挙げたが、ＣＰＵ、ＡＳＩＣがワンチップで構成されていても良い。同様にＲＡＭ、ＣＰＵ、ＡＳＩＣがワンチップ、もしくは全てのデバイスがワンチップで構成されていても良い。
【００４８】
また、ＲＡＭはＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｒａｎｄｏｍ  ＡｃｃｅｓｓＭｅｍｏｒｙ）のいずれであっても良い。さらにＲＯＭはマスクＲＯＭ，  ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｒｏｍ）、Ｆｌａｓｈ  ＲＯＭのいずれであっても良い。
【００４９】
【発明の効果】
以上説明してきたように本発明に係わるモータドライバコントローラ回路は、一励磁単位周期ＮステップのＤＭＡ転送を開始するポインタを指し示す先頭アドレスを有し、かつそのレジスタの構成はダブルレジスタ構造であることを特徴としている。これにより、駆動中に初段レジスタに、次の一励磁周期Ｎステップの駆動パターン情報を設定することができる。
【００５０】
上記モータドライバコントローラ回路のハードウエア構成により、モータ駆動のためにＲＡＭ内にモータ駆動テーブルが確保する領域は、モータドライバコントローラ回路がＤＭＡ転送によって駆動データを取得するために必要な一励磁周期Ｎステップからなる「読み出し側」のテーブル、また、ＣＰＵがＲＯＭからＲＡＭに展開するめに必要な一励磁周期Ｎステップからなる「書き込み側」のテーブルの計２面分の領域を確保すれば良い。そして、それらを順次、交互に用いれば良い。
【００５１】
上記、モータドライバコントローラ回路のハードウエア構成により、ＲＯＭからＲＡＭ内に展開する
モータ駆動のためのデータ容量を、従来方法と比較して格段に削減することが可能となる。
【図面の簡単な説明】
【図１】実施例１にかかわる機能構成をブロックで示した図。
【図２】モータ駆動のシーケンスを示した図。
【図３】２−２励磁駆動の一励磁周期を示した図。
【図４】１−２励磁駆動の一励磁周期を示した図。
【図５】Ｗ１−２励磁駆動の一励磁周期を示した図。
【図６】従来例によるＲＯＭおよびＲＡＭ内のモータ駆動データ容量を示した図。
【図７】プリンタ装置正面図。
【図８】プリンタ装置側面図。
【図９】プリンタ装置の電気回路ブロックを示した図。
【図１０】ＤＭＡ転送を利用したモータ駆動回路のブロックを示した図。
【図１１】シリアル転送を用いたモータドライバへのデータ転送方法、およびにモータドライバ内部の構成を示した図。
【図１２】本実施例に基づくモータドライバコントローラ回路においてＣＰＵの動作を示したステートマシン。
【図１３】本実施例に基づくモータドライバコントローラ回路の動作状態を示したフローチャート。
【図１４】本実施例によってＷ１−２相駆動を行った場合のＲＡＭを占有するデータ量を示した図。
【図１５】本実施例によって、マイクロステップ駆動を行った場合のＲＡＭを占有するデータ量を示した図。
【符号の説明】
１  加速領域を示した図
２  等速領域を示した図
３  減速領域を示した図
４  プリンタ装置
５  キャリッジ
６  シャフト軸
７  駆動側プーリー駆動側
８  プーリー
９  タイミングベルト
１０  排紙ローラ
１１  搬送ローラ
１２  ピンチローラ
１３  オートシートフィーダー
１４  ピックアップローラ
１５  プラテン上の記録用紙
１６  ＣＰＵ
１７  ＲＡＭ
１８  ＲＯＭ
１９  ＡＳＩＣ
２０  インターフェイス
２１  ＣＲモータドライバ
２２  ＬＦモータドライバ
２３  ＣＲモータ
２４  ＬＦモータ
２５  電源ユニット
２６  ＤＭＡコントローラ
２７  モータ制御ブロック
２８  コントロールブロック
２９  データコントローラ
３０  シリアルデータ生成部
３１  タイミング制御部
３２  モータドライバ制御データ
３３  時間データ
３４  モータドライバ
３５  駆動データ
３６  転送クロック
３７  ストローブ
３８  シフトレジスタ
３９  ラッチ
４０  トルク設定
４１  回生電流設定（Ｂ相）
４２  電流設定（Ｂ相）
４３  位相情報（Ｂ相）
４４  回生電流設定（Ａ相）
４５  電流設定（Ａ相）
４６  位相情報（Ａ相）
４７  ＲＡＭ１７内のモータ駆動テーブルに関する領域
４８  駆動データテーブル
４８ａ  駆動データテーブルの１面目を示した図
４８ｂ  駆動データテーブルの２面目を示した図
４９  時間データテーブル
４９ａ  時間データテーブルの１面目を示した図
４９ｂ  時間データテーブルの２面目を示した図
５０  本発の係わるモータドライバコントローラ回路の内部構成を示した図
５１  駆動データＤＭＡ転送スタートポイントアドレス設定レジスタ（前段レジスタ）
５１ａ  ５１の後段レジスタ
５２  駆動データＤＭＡアドレスカウンター
５３  時間データＤＭＡ転送スタートポイントアドレス設定レジスタ（前段レジスタ）
５３ａ  ５３の後段レジスタ
５４  時間データＤＭＡアドレスカウンター
５５  時間カウンター
５６  ＤＭＡ  Ｎ回数管理ブロック
５７  ＤＭＡ  Ｎ回数設定レジスタ
５８  割り込み管理ブロック
５９  イニシャルトリガ
６０  スタートトリガ
６１〜７４  本実施例によるモータドライバコントローラ回路の動作をＣＰＵの動作をステートマシンによって示した図
７５〜９２  本実施例によるモータドライバコントローラ回路の動作をフローチャートによって示した図
【図１】
2004336849.tif 000003
【図２】
2004336849.tif 000004
【図３】
2004336849.tif 000005
【図４】
2004336849.tif 000006
【図５】
2004336849.tif 000007
【図６】
2004336849.tif 000008
【図７】
2004336849.tif 000009
【図８】
2004336849.tif 000010
【図９】
2004336849.tif 000011
【図１０】
2004336849.tif 000012
【図１１】
2004336849.tif 000013
【図１２】
2004336849.tif 000014
【図１３】
2004336849.tif 000015
【図１４】
2004336849.tif 000016
【図１５】
2004336849.tif 000017