(57)【特許請求の範囲】
【請求項１】
ステッピングモータ駆動用のランプデータが記憶されているメモリと、このメモリから前記ランプデータを読み出すプロセッサと、このプロセッサにより書き込まれた前記ランプデータに基づいてステッピングモータの駆動に必要なランプ周期を生成するランプ周期生成回路と、このランプ周期生成回路で生成されたランプ周期に基づいてステッピングモータの駆動信号を生成するモータ駆動信号生成回路とを備えたステッピングモータの駆動制御装置において、
前記プロセッサが前記ランプ周期生成回路に書き込むランプデータは２種類のフォーマットを備え、第１のフォーマットはフォーマットの種類を判定するための判定ビットおよびランプ周期を生成するためのタイマ値から構成され、第２のフォーマットはフォーマットの種類を判定するための判定ビット、ランプ周期を生成するための加減算値、および加減算の繰り返し回数を表すリピート値から構成され、
前記ランプ周期生成回路は、
前記プロセッサから受け取ったランプデータの内容を振分けるセレクタと、このセレクタで振分けられたタイマ値および加減算値がセットされる第１のレジスタと、前記セレクタで振分けられたリピート値がセットされるリピートカウンタと、前記第１のレジスタにセットされた加減算値に基づいて所定の加減算を行う加減算器と、この加減算器で演算された結果を格納する第２のレジスタと、この第２のレジスタの内容に基づいて所定のランプ周期データを出力するタイマ回路とを備え、
加減算処理が反復されないタイマ値については、プロセッサから第１のフォーマットのランプデータを受け取り、タイマ値を一定値だけ加減算する処理が反復される区間、およびタイマ値に変化がない区間については、プロセッサから第２のフォーマットのランプデータを受け取り、
プロセッサから受け取ったランプデータの判定ビットが第１のフォーマットを表す判定ビットである場合は、第１のレジスタにセットされたタイマ値を加減算器で加減算することなく第２のレジスタにセットし、
プロセッサから受け取ったランプデータの判定ビットが第２のフォーマットを表す判定ビットである場合は、第１のレジスタにセットされた加減算値に従って、第２のレジスタの内容に対する加減算を前記リピートカウンタにセットされたリピート値だけ繰り返すことを特徴とするステッピングモータの駆動制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インクジェットプリンタ等に用いられるステッピングモータの駆動制御装置に関するものである。
【０００２】
【従来の技術】
ステッピングモータの駆動制御装置に関しては、従来から種々のものが提案されている。たとえば、特開平１０−６６３９５号公報には、複数の励磁相に対応する複数のハードロジック回路を設け、パルス幅変調されたマイクロステップ駆動パルスをハードロジック回路で発生させることにより、制御装置のＣＰＵの負荷を軽減したステッピングモータの駆動制御装置が記載されている。また、特許第２５５２２８３号公報には、ステップ信号の周期の変化に応じて、励磁相切換時点をダンピングが最小となる時点に可変制御することにより、ステップ信号の周期にかかわらずモータのダンピングとそれによる騒音とを軽減したステッピングモータの駆動制御装置が記載されている。
【０００３】
ところで、一般にステッピングモータの駆動制御装置においては、ステッピングモータ駆動用のランプデータ（Ramp Data）が予めメモリに記憶されていて、このメモリからランプデータを読み出してモータ駆動に必要なランプ周期を生成し、このランプ周期に基づいてステッピングモータの駆動信号を発生するようにしている。図６は、このようなステッピングモータの駆動制御装置を示すブロック図である。１はＡＳＩＣ（特定用途向けＩＣ）から構成される駆動制御装置で、その内部にはメモリ２、プロセッサ４、制御ブロック５が設けられている。メモリ２はＲＡＭやＲＯＭから構成され、ＲＯＭにはランプデータテーブル３が格納されている。プロセッサ４はＣＰＵ等から構成され、メモリ２からランプデータを読み出して、これを制御ブロック５に書き込む。制御ブロック５は、ランプ周期生成回路６と、モータ駆動信号生成回路７とを備えている。ランプ周期生成回路６は、プロセッサ４により書き込まれたランプデータに基づいて、モータ駆動に必要なランプ周期、すなわちモータの１ステップを駆動する時間に対応した周期データを生成する。モータ駆動信号生成回路７は、ランプ周期生成回路６で生成されたランプ周期に基づいて、ステッピングモータ８を駆動するための駆動信号、すなわちモータの１ステップを駆動するための位相信号を生成する。
【０００４】
上記のようなステッピングモータの駆動制御装置において、従来は、ランプデータテーブル３にランプデータがリニアに格納されており、モータ駆動時にプロセッサ４が１ステップずつランプデータテーブル３からランプデータを読み出して、これをランプ周期生成回路６に送るようになっていた。ここで、ランプ周期生成回路６は、図７のようにタイマレジスタ３１とランプタイマ３２とから構成されており、プロセッサ４は各ステップごとのランプデータを順次タイマレジスタ３１に書き込んでゆき、ランプタイマ３２はタイマレジスタ３１にセットされたランプデータに基づいて、ランプ周期のデータを出力する。図８は、プロセッサ４によってタイマレジスタ３１に書き込まれるランプデータＲの例であって、ランプデータＲはたとえば１６ビットのタイマ値のデータから構成されている。
【０００５】
図９は、上述した従来の装置におけるランプ周期生成回路６の動作を示したフローチャートである。最初、制御ブロック５を駆動する前にプロセッサ４によって所定のランプデータがタイマレジスタ３１に書き込まれ（ステップＳ２１）、その後、制御ブロック５が駆動される（ステップＳ２２）。制御ブロック５が駆動されると、まずランプデータの数がカウントされ（ステップＳ２３）、続いて、タイマレジスタ３１のランプデータに基づいてタイマ３２がランプ周期データを生成してこれを出力する（ステップＳ２４）。このランプ周期データは、モータ駆動信号生成回路７へ与えられる。次に、データが終了したかどうかを判定して（ステップＳ２５）、終了してなければ次のランプデータがプロセッサ４によってタイマレジスタ３１に書き込まれ（ステップＳ２６）、ステップＳ２３へ戻ってデータ数を１減算した後、タイマ３２がランプ周期データを生成してこれを出力する（ステップＳ２４）。以降、データが終了するまでステップＳ２３〜Ｓ２６の処理が繰り返される。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記のような従来の装置においては、ランプデータテーブル３にすべてのランプデータ（タイマ値）が格納されていて、１ステップごとにプロセッサ４がランプデータを読み出してタイマレジスタ３１に書き込んでいるため、ランプデータテーブル３に膨大なランプデータを記憶させる必要があり、大容量のメモリ（ＲＯＭ）が必要となってコストが増大する。また、プロセッサ４は各ステップごとに毎回ランプデータを書き込まねばならず、しかもデータ量が多いために、プロセッサ４の処理時間が長くなる。一方、メモリの容量を節約するためにデータ量を少なくすると、ステッピングモータの動作が不安定となり、プリンタに適用した場合は印字品位が低下するとともに、騒音が発生する原因にもなる。このような問題に対して、従来は有効な対策がとられておらず、前述の公報にもこれらを解決するための技術は開示されていない。
【０００７】
本発明は、上記問題点を解決するものであって、その課題とするところは、データ量を削減してメモリ容量を節約できるとともに、データ書込処理の時間短縮を図ることのできるステッピングモータの駆動制御装置を提供することにある。
【０００８】
【課題を解決するための手段】
本発明に係るステッピングモータの駆動制御装置では、ランプデータが２種類のフォーマットを備える。第１のフォーマットにはランプ周期を生成するためのタイマ値が記録され、第２のフォーマットにはランプ周期を生成するための加減算値および加減算の繰り返し回数を表すリピート値が記録される。そして、第１のフォーマットのランプデータに対しては、タイマ値に基づいてランプ周期を生成し、第２のフォーマットのランプデータに対しては、加減算値に従ってタイマ値の加減算をリピート値だけ繰り返してランプ周期を生成する。
【０００９】
このようにすれば、モータの速度が同じ値で連続する区間や、同じ割合で加速または減速を続ける区間においては、第２のフォーマットのランプデータを用いて、タイマ値の加減算をリピート値だけ繰り返すことでランプ周期が生成されるので、すべてのランプデータをメモリに記憶させておく必要がなく、繰り返し区間の最初だけデータを書き込めばよいので、データ量は大幅に減少するとともに、書込処理に要する時間も短縮される。
【００１０】
また、本発明では、ランプ周期生成回路は、プロセッサから書き込まれたランプデータの内容を振分けるセレクタと、このセレクタで振分けられたタイマ値および加減算値がセットされる第１のレジスタと、セレクタで振分けられたリピート値がセットされるリピートカウンタと、第１のレジスタにセットされた加減算値に基づいて所定の加減算を行う加減算器と、この加減算器で演算された結果を格納する第２のレジスタと、この第２のレジスタの内容に基づいて所定のランプ周期データを出力するタイマ回路とを備える。加減算処理が反復されないタイマ値については、プロセッサから第１のフォーマットのランプデータを受け取り、タイマ値を一定値だけ加減算する処理が反復される区間、およびタイマ値に変化がない区間については、プロセッサから第２のフォーマットのランプデータを受け取る。そして、プロセッサから受け取ったランプデータの判定ビットが第１のフォーマットを表す判定ビットである場合は、第１のレジスタにセットされたタイマ値を加減算器で加減算することなく第２のレジスタにセットし、プロセッサから受け取ったランプデータの判定ビットが第２のフォーマットを表す判定ビットである場合は、第１のレジスタにセットされた加減算値に従って、第２のレジスタの内容に対する加減算を前記リピートカウンタにセットされたリピート値だけ繰り返す。このように、本発明をハードウエアで実現した場合は、ソフトウエアで実現した場合のように高速のプロセッサが不要となり、コストをより低減することができる。
【００１１】
【発明の実施の形態】
本発明に係るステッピングモータの駆動制御装置の全体構成は、図６に示したブロック図と同じであり、駆動制御装置１は、ステッピングモータ駆動用のランプデータが記憶されている記憶手段としてのメモリ２と、このメモリ２からランプデータを読み出すプロセッサ４と、このプロセッサ４により書き込まれたランプデータに基づいてステッピングモータの駆動に必要なランプ周期を生成するランプ周期生成回路６と、このランプ周期生成回路６で生成されたランプ周期に基づいてステッピングモータ８の駆動信号を生成するモータ駆動信号生成回路７とを備える。
【００１２】
図１は、図６のランプ周期生成回路６の具体的構成を示したブロック図である。図１において、１１は、２種類のフォーマットのランプデータＲ１、Ｒ２をプロセッサ４から受け取って、それらを構成するデータを内容に応じて振分けるセレクタである。図２は、上記のランプデータＲ１、Ｒ２の例を示している。（ａ）は第１のフォーマットを有するランプデータＲ１であり、００〜１５の１６ビットのデータからなる。ビット１５はフォーマットの種類を判定するための判定ビット２０を構成し、ビット００〜１４はランプ周期を生成するためのタイマ値２１を構成する。（ｂ）は第２のフォーマットを有するランプデータＲ２であり、００〜１５の１６ビットのデータからなる。ビット１５はフォーマットの種類を判定するための判定ビット２０を構成し、ビット００〜０９はランプ周期を生成するための加減算値２２を構成し、ビット１０〜１４は加減算の繰り返し回数を表すリピート値２３を構成する。判定ビット２０は、たとえば「０」のときに第１のフォーマットであることを表し、「１」のときに第２のフォーマットであることを表す。１２はセレクタ１１で振分けられたタイマ値２１および加減算値２２がセットされるタイマレジスタ（第１のレジスタ）、１３はタイマレジスタ１２にセットされた加減算値２２に基づいて所定の加減算を行う加減算器、１４は加減算器１３で演算された結果を格納するランプタイマレジスタ（第２のレジスタ）、１５はランプタイマレジスタ１４の内容に基づいて所定のランプ周期データを出力するランプタイマ（タイマ回路）、１６はセレクタ１１で振分けられたリピート値２３がセットされるリピートカウンタである。
【００１３】
上記構成において、プロセッサ４から受け取ったランプデータの判定ビット２０が第１のフォーマットを表す判定ビットである場合は、タイマレジスタ１２にセットされたタイマ値２１を加減算器１３で加減算することなくランプタイマレジスタ１４にセットする。また、プロセッサ４から受け取ったランプデータの判定ビットが第２のフォーマットを表す判定ビットである場合は、タイマレジスタ１２にセットされた加減算値２２に従って、加減算器１３でランプタイマレジスタ１４の内容に対する加減算を行い、これをリピートカウンタ１６にセットされたリピート値２３だけ繰り返す。
【００１４】
次に、図１の回路の動作を図３および図４を参照しながら説明する。図３は、本発明におけるランプデータの処理の例を従来の場合と比較して示した図である。ここではモータを減速する場合を例に挙げている。従来の場合は、図示のようにたとえば０１〜２０の２０個のランプデータをプロセッサ４がメモリ２から読み出して、１ステップずつそれらをタイマレジスタ３１（図７）に書き込み、これをランプタイマ３２に渡してランプ周期を生成していた。しかし、これらのランプデータをみると、たとえば０１から０３まではデータを４だけ減算する処理が２回繰り返されており、０３から０８まではデータを２だけ減算する処理が５回繰り返されており、０８から１１まではデータを１だけ減算する処理が３回繰り返されている。また、１１から１４および１５から１９まではデータに変化はない。そこで、本発明ではデータを一定値だけ減算する処理が反覆される区間や、データに変化がない区間については、図２（ｂ）に示した第２のフォーマットのランプデータＲ２を用い、このランプデータＲ２に記録されている加減算値２２およびリピート値２３に基づいて、加減算の演算を繰り返すことでデータの削減を図っている。
【００１５】
図３を本発明の場合について説明すると、（Ｂ）はタイマレジスタ１２にセットされるデータ、（Ｄ）は加減算器１３における演算内容、（Ａ）はランプタイマレジスタ１４に格納されるデータをそれぞれ示している。いま、プロセッサ４からタイマ値として「１８８」が記録されているランプデータＲ１を受け取り、タイマ値「１８８」が（Ｂ）のようにタイマレジスタ１２にセットされると、ランプデータＲ１は第１のフォーマットであるから、このタイマ値「１８８」は加減算器１３で加減算されることなく、（Ａ）のようにそのままランプタイマレジスタ１４に格納される。このとき、リピートカウンタ１６の値は０である。
【００１６】
次に、データを４だけ減算する処理が２回反覆される区間については、プロセッサ４から、加減算値として「４」、リピート値として「２」が記録されているランプデータＲ２を受け取る。このとき、加減算値「４」はタイマレジスタ１２にセットされ、リピート値「２」はリピートカウンタ１６にセットされる。そして、まず加減算器１３により１回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ｄ）＝（Ａ）−（Ｂ）の演算、つまり（Ａ）にセットされているタイマ値「１８８」から（Ｂ）にセットされている加減算値「４」を減算する「１８８−４」の演算を行う。そして、この演算結果である「１８４」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「２」は１だけ減算され、リピートカウンタ１６の値は「２−１＝１」となる。
【００１７】
続いて、加減算器１３により２回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ａ）にセットされているタイマ値「１８４」から（Ｂ）にセットされている加減算値「４」を減算する「１８４−４」の演算を行う。そして、この演算結果である「１８０」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「１」は１だけ減算され、リピートカウンタ１６の値は「１−１＝０」となる。
【００１８】
次に、データを２だけ減算する処理が５回反覆される区間については、プロセッサ４から、加減算値として「２」、リピート値として「５」が記録されているランプデータＲ２を受け取る。このとき、加減算値「２」はタイマレジスタ１２にセットされ、リピート値「５」はリピートカウンタ１６にセットされる。そして、まず加減算器１３により１回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ｄ）＝（Ａ）−（Ｂ）の演算、つまり（Ａ）にセットされているタイマ値「１８０」から（Ｂ）にセットされている加減算値「２」を減算する「１８０−２」の演算を行う。そして、この演算結果である「１７８」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「５」は１だけ減算され、リピートカウンタ１６の値は「５−１＝４」となる。
【００１９】
続いて、加減算器１３により２回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ａ）にセットされているタイマ値「１７８」から（Ｂ）にセットされている加減算値「２」を減算する「１７８−２」の演算を行う。そして、この演算結果である「１７６」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「４」は１だけ減算され、リピートカウンタ１６の値は「４−１＝３」となる。
【００２０】
続いて、加減算器１３により３回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ａ）にセットされているタイマ値「１７６」から（Ｂ）にセットされている加減算値「２」を減算する「１７６−２」の演算を行う。そして、この演算結果である「１７４」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「３」は１だけ減算され、リピートカウンタ１６の値は「３−１＝２」となる。
【００２１】
以下、同様にして４回目、５回目の加減算処理が実行され、５回目の処理において、（Ａ）のランプタイマレジスタ１４の値は「１７０」、リピートカウンタ１６の値は「１−１＝０」となる。
【００２２】
次に、データを１だけ減算する処理が３回反覆される区間については、プロセッサ４から、加減算値として「１」、リピート値として「３」が記録されているランプデータＲ２を受け取る。このとき、加減算値「１」はタイマレジスタ１２にセットされ、リピート値「３」はリピートカウンタ１６にセットされる。そして、まず加減算器１３により１回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ａ）にセットされているタイマ値「１７０」から（Ｂ）にセットされている加減算値「１」を減算する「１７０−１」の演算を行う。そして、この演算結果である「１６９」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「３」は１だけ減算され、リピートカウンタ１６の値は「３−１＝２」となる。
【００２３】
続いて、加減算器１３により２回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ａ）にセットされているタイマ値「１６９」から（Ｂ）にセットされている加減算値「１」を減算する「１６９−１」の演算を行う。そして、この演算結果である「１６８」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「２」は１だけ減算され、リピートカウンタ１６の値は「２−１＝１」となる。
【００２４】
続いて、加減算器１３により３回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ａ）にセットされているタイマ値「１６８」から（Ｂ）にセットされている加減算値「１」を減算する「１６８−１」の演算を行う。そして、この演算結果である「１６７」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「１」は１だけ減算され、リピートカウンタ１６の値は「１−１＝０」となる。
【００２５】
その次の３ステップにわたってランプタイマレジスタ１４の値が「１６７」を維持する区間については、プロセッサ４から、加減算値として「０」、リピート値として「３」が記録されているランプデータＲ２を受け取る。このとき、加減算値「０」はタイマレジスタ１２にセットされ、リピート値「３」はリピートカウンタ１６にセットされる。そして、まず加減算器１３により１回目の加減算処理が実行される。すなわち、（Ｄ）のように、加減算器１３では（Ａ）にセットされているタイマ値「１６７」から（Ｂ）にセットされている加減算値「０」を減算する「１６７−０」の演算を行う。そして、この演算結果である「１６７」を（Ａ）のようにランプタイマレジスタ１４に格納する。このとき、リピートカウンタ１６にセットされたリピート値「３」は１だけ減算され、リピートカウンタ１６の値は「３−１＝２」となる。その後、２回目の加減算処理「１６７−０」が実行されて、リピートカウンタ１６の値は「２−１＝１」となり、続いて、３回目の加減算処理「１６７−０」が実行されて、リピートカウンタ１６の値は「１−１＝０」となる。
【００２６】
次のタイマ値「１６６」については、減算処理は反覆されないので、プロセッサ４からタイマ値として「１６６」が記録されているランプデータＲ１を受け取る。このタイマ値「１６６」は（Ｂ）のようにタイマレジスタ１２にセットされ、加減算器１３で加減算されることなく、（Ａ）のようにそのままランプタイマレジスタ１４に格納される。このとき、リピートカウンタ１６の値は０である。
【００２７】
その次の４ステップにわたってランプタイマレジスタ１４の値が「１６６」を維持する区間については、前述した３ステップにわたって「１６７」を維持する区間と同様の処理が行われる。さらに、その次のタイマ値「１６５」については、減算処理は反覆されないので、前述したタイマ値「１６６」の場合と同様の処理が行われる。
【００２８】
このようにして、ランプタイマレジスタ１４にはタイマ値が順次格納されてゆき、ランプタイマ１５はこれらのタイマ値に基づいて、ステッピングモータ８の駆動に必要なランプ周期、すなわちモータの１ステップを駆動する時間に対応した周期データを生成して、これをモータ駆動信号生成回路７に出力する。モータ駆動信号生成回路７は、この周期データに基づいて、ステッピングモータ８を駆動するための駆動信号、すなわちモータの１ステップを駆動するための位相信号を生成し、この位相信号によってステッピングモータ８が所定の速度で回転する。
【００２９】
以上のように、上記実施形態においては、タイマ値を一定値だけ減算する処理が反覆される区間や、タイマ値に変化がない区間については、第２のフォーマットのランプデータＲ２に記録されている加減算値２２およびリピート値２３を用いて、加減算の演算を繰り返すようにしているので、プロセッサ４は区間の最初だけランプデータＲ２を書き込めばよく、これによってデータ量を大幅に削減することができる。図３の例では、従来２０個必要であったランプデータが、本発明の場合は８個で済み、データ量は半分以下となる。実際には、従来のメモリには数千個のランプデータが格納されていたため、本発明による削減効果は大きい。また、本発明では各ステップごとにランプデータを書き込む必要がないので、プロセッサによるデータ書込処理の時間を短縮することができる。
【００３０】
また、メモリ容量が同じであれば、従来に比べて大量のランプデータを記録することができるため、モータを高精度に駆動することができ、本発明をインクジェットプリンタに適用した場合は、印字品位を向上させることができるとともに、騒音の問題を解消することができる。
【００３１】
図４は、図１のランプ周期生成回路の動作を示したフローチャートである。最初、制御ブロック５を駆動する前にプロセッサ４によって所定のランプデータがタイマレジスタ１２に書き込まれ（ステップＳ１）、その後、制御ブロック５が駆動される（ステップＳ２）。制御ブロック５が駆動されると、プロセッサ４から受け取ったランプデータのフォーマットを判定し（ステップＳ３）、第１のフォーマットのランプデータＲ１であれば、記録されたデータ（タイマ値）をタイマレジスタ１２にロードし（ステップＳ４）、これをそのままランプタイマレジスタ１４にセットする（ステップＳ５）。このセットされたデータはランプタイマ１５へ渡される。その後、ランプデータの数をカウントし（ステップＳ６）、データが終了したか否かを判定する（ステップＳ７）。データが終了してなければ、プロセッサ４によって次のランプデータがタイマレジスタ１２に書き込まれ（ステップＳ８）、ステップＳ３へ戻る。
【００３２】
ステップＳ３において、ランプデータが第２のフォーマットのランプデータＲ２であれば、記録されたデータ（加減算値）をタイマレジスタ１２にロードする（ステップＳ９）。このとき、リピート値はリピートカウンタ１６にロードされる。次に、加減算器１３において（Ａ）−（Ｂ）の差分計算を行い（ステップＳ１０）、その演算結果をランプタイマレジスタ１４にセットする（ステップＳ１１）。このセットされたデータはランプタイマ１５へ渡される。その後、ランプデータの数をカウントし（ステップＳ１２）、リピート値だけ加減算を反覆したかどうかを判定する（ステップＳ１３）。リピート値だけ加減算を反覆していなければステップＳ９に戻り、上述した処理を繰り返す。リピート値だけ加減算を反覆すれば、次にデータが終了したか否かを判定する（ステップＳ７）。データが終了してなければ、プロセッサ４によって次のランプデータがタイマレジスタ１２に書き込まれ（ステップＳ８）、ステップＳ３へ戻る。データが終了すれば一連の処理を終了する。
【００３３】
以上述べた実施形態においては、モータを減速する場合を例に挙げたが、モータを加速する場合も、原理は同じである。この場合は、加減算器１３において（Ａ）＋（Ｂ）の演算処理が行われる。また、図５に示したように、ランプデータＲ２のたとえば０９ビットを、加算（＋）と減算（−）とを識別する識別ビット２４とし、識別ビット２４が＋の場合は加減算器１３において（Ａ）＋（Ｂ）の演算を行い、識別ビット２４が−の場合は加減算器１３において（Ａ）−（Ｂ）の演算を行うようにしてもよい。
【００３４】
また、本発明では、ランプ周期生成手段はハードウエアで実現してもよいし、ソフトウエアで実現してもよい。ソフトウエアで実現する場合は、高速のプロセッサが必要となるが、図１のようなハードウエア回路で構成した場合は、高速のプロセッサを用いなくても十分に高速演算が可能であり、高性能のプロセッサが不要となって、コストを低減することができる。
【００３５】
【発明の効果】
本発明によれば、データ量を削減してメモリ容量を節約できるとともに、データ書込処理の時間短縮を図ることができる効果がある。また、ハードウエアで実現した場合は、高速のプロセッサが不要となり、コストを低減することができる。
【図面の簡単な説明】
【図１】本発明におけるランプ周期生成回路の具体的構成を示したブロック図である。
【図２】本発明におけるランプデータの例である。
【図３】本発明におけるランプデータの処理の例を従来の場合と比較して示した図である。
【図４】本発明におけるランプ周期生成回路の動作を示したフローチャートである。
【図５】本発明におけるランプデータの他の例である。
【図６】ステッピングモータの駆動制御装置を示すブロック図である。
【図７】従来のランプ周期生成回路の構成を示したブロック図である。
【図８】従来のランプデータの例である。
【図９】従来のランプ周期生成回路の動作を示したフローチャートである。
【符号の説明】
１  駆動制御装置
２  メモリ
３  ランプデータテーブル
４  プロセッサ
５  制御ブロック
６  ランプ周期生成回路
７  モータ駆動信号生成回路
８  ステッピングモータ
１１  セレクタ
１２  タイマレジスタ（第１のレジスタ）
１３  加減算器
１４  ランプタイマレジスタ（第２のレジスタ）
１５  ランプタイマ（タイマ回路）
１６  リピートカウンタ
２０  判定ビット
２１  タイマ値
２２  加減算値
２３  リピート値
Ｒ１、Ｒ２  ランプデータ
【図１】
0004051613.tif 000002
【図２】
0004051613.tif 000003
【図３】
0004051613.tif 000004
【図４】
0004051613.tif 000005
【図５】
0004051613.tif 000006
【図６】
0004051613.tif 000007
【図７】
0004051613.tif 000008
【図８】
0004051613.tif 000009
【図９】
0004051613.tif 000010