(57)【要約】【課題】  回路占有面積が小さく、ＩＣの小型化が可能なモータ駆動回路およびモータ駆動システムを提供することにある。【解決手段】  この発明は、極性反転データ生成回路を設けて、メモリのアクセスに寄与しないアドレスカウンタの上位ビットをそのまま極性反転の指示データ（フラグビット）として使用しているので、メモリアクセスを同じ方向に２巡アクセスをして半周期分の波形データを２回読出し、２回のうちいずれか１回読出の波形データに対して極性反転の指示を出し、これに応じて極性反転の演算処理することで、簡単に正弦波１周期分に相当する波形データを生成することができる。【選択図】      図１【特許請求の範囲】
【請求項１】
複数のデータからなる所定周期分の正弦波を近似する波形データをメモリに記憶し、このメモリから前記データを読出し、この読出された前記データのそれぞれのデータ値に応じたＰＷＭパルスを生成してこのＰＷＭパルスに応じてモータを電流駆動するモータ駆動回路において、
アドレスカウンタと、
データの極性を正から負あるいは負から正に変えたデータを生成するための極性反転データ生成回路と、
前記ＰＷＭパルスを発生するＰＷＭパルス発生回路とを有し、
前記所定周期分は半周期分であり、
前記アドレスカウンタが、前記メモリの前記波形データを記憶したアクセスアドレスのビット桁数よりも１桁か、それ以上多いビット桁数のものであって、前記アドレスカウンタの前記１桁以上か、それ以上のビット桁位置にある、あるビットが前記波形データの極性を正から負あるいは負から正に反転するためのフラグビットとされ、
前記極性反転データ生成回路が前記メモリから読出された前記データと前記フラグビットとを受けて前記フラグビットの値に応じて、前記メモリから読出されたデータ値の極性を正から負あるいは負から正に反転させたデータを生成することにより、前記メモリから読出される半周期分の前記波形データから前記正弦波の１周期分に相当する波形データを得るモータ駆動回路。
【請求項２】
前記メモリの前記波形データが記憶されたアクセスアドレスは、前記アドレスカウンタにより２巡アクセスされて前記波形データが前記メモリから２回読出され、前記フラグビットは、前記２巡のアクセスのいずれかの１巡に対して前記メモリから読出される各データについて正から負あるいは負から正の極性反転を指示するものであり、前記１周期分の波形データに応じて前記ＰＷＭパルス発生回路が前記ＰＷＭパルスを発生する請求項１記載のモータ駆動回路。
【請求項３】
さらに、前記フラグビットは最上位ビットであり、前記半周期分の波形データは正極側の正弦波に相当する波形であり、前記極性反転データ生成回路は、前記フラグビットが負極側を示すときこれに応じて前記メモリから読出されたデータ値の極性を正から負に反転させる演算回路を有する請求項２記載のモータ駆動回路。
【請求項４】
前記メモリはＲＯＭであり、前記極性反転データ生成回路は、前記フラグビットが正極側を示すときは前記メモリから読出されたデータ値をそのまま出力し、前記ＲＯＭが循環してアクセスされることで連続的に正弦波に対応する前記ＰＷＭパルスが発生する請求項３記載のモータ駆動回路。
【請求項５】
前記ＰＷＭパルス発生回路は、前記正弦波のゼロクロス点をデューティ比５０％としてこれを基準として前記正弦波の負極側のピークから正極側のピークまでに対応するデューティ比のパルスを前記ＰＷＭパルスとして発生する請求項４記載のモータ駆動回路。
【請求項６】
さらに前記モータを電流駆動する駆動電流を発生する電流出力回路と振幅データ生成回路とを有し、前記振幅データ生成回路は、前記極性反転データ生成回路の出力データと駆動電流の振幅を調整する制御信号とを受けて前記出力データを前記制御信号に応じた振幅となる所定のデータに変換して前記ＰＷＭパルス発生回路に送出し、前記ＰＷＭパルス発生回路は、前記振幅データ生成回路から受けたデータに応じて前記ＰＷＭパルスを所定の周期で発生して前記電流出力回路に供給し、前記電流出力回路は、前記所定の周期でチョッパ制御された前記駆動電流を発生する請求項５記載のモータ駆動回路。
【請求項７】
前記演算回路は、前記フラグビットが“０”と“１”のいずれか一方のときに２の補数を生成する演算回路であり、前記フラグビットが“０”と“１”のいずれか他方のときには前記メモリから読出されたデータに対して正の符号ビットを付けた上でデータ値はそのままとして前記振幅データ生成回路に出力し、前記ＰＷＭパルス発生回路は、前記振幅データ生成回路から受けたデータの値に応じた所定のクロックの周期整数倍（ただし整数は１か、それ以上）の周期を持つ前記ＰＷＭパルスを発生する請求項６記載のモータ駆動回路。
【請求項８】
さらに１／ｍ分周回路（ただしｍは１以上の整数）を有し、前記１／ｍ分周回路は外部から供給されるクロックを受けて１／ｍ分周したクロックを発生し、前記アドレスカウンタと前記振幅データ生成回路と前記極性反転データ生成回路とは前記１／ｍ分周のクロックを受けてこれに同期して動作し、前記ＰＷＭパルス発生回路は前記外部から供給されるクロックを前記所定のクロックとして受けてこれに同期して前記ＰＷＭパルスを発生する請求項７記載のモータ駆動回路。
【請求項９】
前記ＰＷＭパルスの前記所定の周期は、前記外部クロックの周期の２ｋ倍（ただしｋは３か、それ以上の整数）の周期で発生する請求項８記載のモータ駆動回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、モータ駆動回路に関し、詳しくは、ＤＶＣ（デジタルビデオカメラ）、ＤＶＤ等の音響・映像機器において使用される、マイクロステップ制御でステッピングモータを駆動するモータ駆動回路において、回路占有面積が小さく、駆動ＩＣの小型化が可能なモータ駆動回路に関する。
【背景技術】
【０００２】
ステッピングモータは、半導体製造装置をはじめとして、各種のＯＡ機器、音響・映像機器等のオートフォーカス制御などに使用されている。特に、ＤＶＣ（デジタルビデオカメラ）、ＤＶＤ等の音響・映像再生装置や半導体製造装置は、ステッピングモータの低振動駆動の要求が高く、正弦波近似のマイクロステップ駆動による駆動制御が行われている。
マイクロステップ制御は、ステッピングモータの各相についての電流指令テーブルをメモリ（ＲＯＭ）に記憶しおき、このメモリからデータを所定の周期で読出して、正弦波を時間分割して近似する各相の指令電流値の信号を生成する。そして、この指令電流値の信号に対応するパルス幅のＰＷＭパルスを生成して正弦波近似の電流をステッピングモータの各相の励磁コイルに駆動電流として流してモータを駆動するものである。
通常、電流指令テーブルには正弦波を分割数、数十程度で分割した指令電流生成データが波形データとして記憶される（特許文献１）。
このようなモータドライブ回路の出力回路は、一般的にはＣＭＯＳ構成のＨ型のブリッジ回路（以下Ｈブリッジ回路）を出力段としている。このＨブリッジ回路にＰＷＭパルスを供給してモータを制御するモータドライバとしては単相のものが公知である（特許文献２）。また、駆動の形態に応じて出力段は、ＰＷＭパルスによりプッシュ側トランジスタとプル側のトランジスタをＯＮ／ＯＦＦさせる正弦波近似の波形で電流駆動をするモータドライブ回路もある（特許文献３）。
【特許文献１】特開平３−２６５４９９号公報
【特許文献２】特開平７−６７３９１号公報
【特許文献３】特開２００３−１８００９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１（特開平３−２６５４９９号）に示されるマイクロステップ駆動は、電流指令テーブルを記憶するメモリ（ＲＯＭ）に正弦波の１／４波形分に相当する波形データを記憶しておき、ビットデータの反転回路を設けて正弦波の波形の９０°ごとにアクセスアドレスのビット値を反転させるものである。そのことでメモリにおけるデータのアクセスするアドレスの方向を正方向、逆方向に切換える。これによりこのマイクロステップ駆動は、正極側の半周期分の正弦波近似の波形データを読出す。次に読出す負極側の半周期分のデータに対しては極性変換指令信号を生成して正極側の波形で負極側の波形の電流を流す。すなわち、極性変換指令信号により駆動回路を負極側に切換えおき、同様に正方向、逆方向にデータのアクセスする方向を切換えてメモリをアクセスして次の正極側半周期分の波形を読出す。その結果として、トータルで正弦波１周期分に相当する波形データに対応する駆動電流を得る。
特許文献１のマイクロステップ駆動ではメモリ（ＲＯＭ）には、４つの振幅に応じた波形データが記憶されている。それらが正弦波の１／４波形に相当する波形データになることで、これは、４つの正弦波について電流指令テーブルのＲＯＭにおける容量を削減することができる。
ところで、正弦波駆動のステッピングモータは小型軽量化できる利点があるが、その反面、その駆動に使用されるマイクロステップ制御のモータ駆動回路は、ＩＣ化する場合に、電流駆動回路部分のほかにＣＰＵ（コントローラ）とメモリ等を含むことになるので１個のＩＣとした場合にも大きなパッケージのＡＳＩＣとなったり、μ制御ＩＣとなり、これの小型化が難しい。そのため、マイクロステップ制御のモータ駆動回路は、ステッピングモータに一体的に装着するとなると、ステッピングモータの外側に大きく出っ張り、モータや装置に実装し難い欠点がある。【０００４】
これに対して、特許文献１のマイクロステップ駆動は、ＣＰＵ（コントローラ）を使用しないので、クロックをカウントするアドレスカウンタと振幅に応じた波形を記憶するメモリで波形データ生成回路の部分を済ませているので、その分、ＩＣ化がし易くなる。しかし、メモリの容量が少なくなってもモータ駆動回路としてメモリをアクセスするアドレスの方向の切換回路が必要になる。また、正弦波の正極側（あるいは負極側）の一方の波形データしか生成できないために、１周期分の駆動波形を生成するための周辺回路がその分多くなり、タイミング制御も複雑になる欠点がある。その上、駆動回路の出力段回路には、極性変換信号を受けて電流方向を切換える切換回路が必要になる。また、上位ビットを抽出するためにマルチプレクサ等のメモリ以外の周辺回路も大きくなって、モータドライブＩＣの小型化がし難い問題がある。
この発明の目的は、前記ような従来技術の問題点を解決し、回路占有面積が小さく、ＩＣの小型化が可能なモータ駆動回路を提供することにある。
【課題を解決するための手段】
【０００５】
このような目的を達成するためのこの発明のモータ駆動回路の特徴は、複数のデータからなる所定周期分の正弦波を近似する波形データをメモリに記憶し、このメモリからデータを読出して、この読出されたデータのそれぞれのデータ値に応じたＰＷＭパルスを生成してこのＰＷＭパルスに応じてモータを電流駆動するモータ駆動回路において、アドレスカウンタと、データの極性を正から負あるいは負から正に変えたデータを生成するための極性反転データ生成回路と、ＰＷＭパルスを発生するＰＷＭパルス発生回路とを有していて、
所定周期分が半周期分であり、アドレスカウンタが、メモリの波形データを記憶したアクセスアドレスのビット桁数よりも１桁か、それ以上多いビット桁数のものであって、アドレスカウンタの１桁以上か、それ以上のビット桁位置にある、あるビットが波形データの極性を正から負あるいは負から正に反転するためのフラグビットとされ、極性反転データ生成回路がメモリから読出されたデータとフラグビットとを受けてフラグビットの値に応じて、メモリから読出されたデータ値の極性を正から負あるいは負から正に反転させたデータを生成することにより、メモリから読出される半周期分の波形データから正弦波の１周期分に相当する波形データを得るものである。
【発明の効果】
【０００６】
前記構成のように、この発明は、極性反転データ生成回路を設けて、メモリのアクセスに寄与しないアドレスカウンタの上位ビットをそのまま極性反転の指示データ（フラグビット）として使用しているので、メモリアクセスを同じ方向に２巡アクセスをして半周期分の波形データを２回読出し、２回のうちいずれか１回読出の波形データに対して極性反転の指示を出し、これに応じて極性反転の演算処理することで、簡単に正弦波１周期分に相当する波形データを生成することができる。したがって、この発明は、単にメモリが循環してアクセスされ続けるだけで連続的に正弦波を発生することができる。
その結果、メモリのアクセス制御が単純になり、演算処理あるいは演算回路等によりモータ駆動電流の振幅に応じたデータの生成が容易になり、メモリに振幅に応じた波形データを多数記憶しなくてもメモリからの読出しで生成された１周期分の波形に対して、例えば、後段に振幅調整回路等を設けて振幅調整をすることで波形データの振幅調整が可能となる。さらに、出力段回路等に電流方向の切換を指示する回路やマルチプレクサ等を特許文献１のように設けることが必要でなくなるので、その分、回路規模を低減することができる。
この発明は、メモリを同一方向に循環してアクセスすれば正弦波の波形を発生し続けられる。そこで、ＰＷＭパルス発生回路において、正弦波のゼロクロス点をデューティ比５０％としてこれを基準として正弦波の負極側のピークから正極側のピークまでの駆動電流値に対応するパルス幅をデューティ比に対応させたＰＷＭパルスを１周期分の波形データに対応させて発生することができる。このようにすれば、電流出力回路が単純となり、回路規模を低減することができる。
その結果、回路占有面積が小さく、ＩＣの小型化が可能なモータ駆動回路を容易に実現できる。特に、ステッピングモータにあってはこのＩＣがモータ側に搭載し易くなり、小型のステッピングモータあってはこのＩＣが実装し易くなる。
【発明を実施するための最良の形態】
【０００７】
図１は、この発明のモータ駆動回路を適用した一実施例のブロック図、図２は、メモリに記憶された波形データとカウンタから得られる極性フラグについての説明図、図３は、正弦波のゼロクロス点をデューティ比５０％とするＰＷＭパルス発生回路によるＰＷＭパルスの生成についての説明図である。
【実施例】
【０００８】
図１において、１０は、ステッピングモータを駆動するマイクロステップ制御のモータ駆動回路であって、枠内ＩＣとして枠の範囲においてＩＣ化されている。
１は、そのＩＣにおいて正弦波を近似する波形データを記憶するＲＯＭ（メモリ）、２は、ＲＯＭ１をアクセスするアドレスカウンタ、３は、極性反転データ生成回路、４は、振幅調整データ生成回路、５は、ＰＷＭパルス発生回路、６は、Ｈブリッジ回路、７は、１／ｍ分周回路（ｍは１か、それ以上の正の整数）、そして、８は、回路規模の小さくて済むコントロール回路である。
モータ駆動回路１０の外側には、クロック発生回路１１、そしてステッピングモータ（Ｍ）１２が設けられている。
ＲＯＭ１には、正弦波を近似する半周期分の波形データがアドレス数分に分割されデジタル値のデータとして各アドレスに記憶されている。すなわち、半周期分の波形データは、アドレス数分の複数のデータからなる。
なお、以下では、多相のうちの１相駆動について説明するが、多相駆動の場合には、ＲＯＭ１は、その記憶領域を各相対応にして割当てられ、各相に対応した波形データが設られることになる。この場合には、それぞれが各相対応のアドレスカウンタでアクセスされるようにすればよい。さらに、ＲＯＭ１と１／ｍ分周回路７、コントロール回路８を除いて前記各回路が各相対応に設けら、各相対応に駆動波形を生成することになる。もちろん、この場合には、ＲＯＭ１も各相対応にそれぞれ設けられていてもよい。また、各回路を各相共通に設けることもできるが、そのときには時分割制御となる。
アドレスカウンタ２は、最上位ビットを除いた下位ビットがＲＯＭ１の半周期分の波形データを記憶したアドレス空間に対応している。すなわち、アドレスカウンタ２のビット桁数は、波形データを記憶したＲＯＭ１のアドレス空間のビット桁数よりも１桁（１ビット）多い。
アドレスカウンタ２の最上位ビット（ＭＳＢ）は、極性反転データ生成回路３に入力される。アドレスカウンタ２は、１／ｍ分周回路７を介して分周されたクロックＣＫ（分周クロック）を受け、この分周クロックＣＫに応じてその値がインクリメントされていくｎ進カウンタ（ｎは正の整数）である。分周前のクロックＣＬＫは、クロック発生回路１１から端子１０ａに入力されて１／ｍ分周回路７と振幅調整データ生成回路４とＰＷＭパルス発生回路５とコントロール回路８とに供給される。
アドレスカウンタ２は、０からｎ−１までカウントして最大値ｎで“０”に戻り、ｎ個のパルスごとに循環するアドレス値を発生する。アドレスカウンタ２のカウント値が分周クロックＣＫによるインクリメントに応じて変化してその値でＲＯＭ１が循環してアクセスされる。その結果、デジタル値の正弦波近似の半周期分の波形データを構成する各データがＲＯＭ１の各アドレスから順次読出される。
極性反転データ生成回路３は、入力されたデータの極性をフラグビットに応じて正から負あるいは負から正に変える回路であって、クロックＣＬＫと分周クロックＣＫとを受けてこれに同期して２の補数を算出する演算回路である。これは、アドレスカウンタ２の最上位ビット（ＭＳＢ）をフラグビットとして受け、アドレスカウンタ２の最上位ビットが“１”のときに、ＲＯＭ１から受けたデータの２の補数を算出して負極側の波形データとして符号ビットを付けたデータを生成する。最上位ビットが“０”のときには受けた波形データに正極側の符号ビットを付けた上でデータ値はそのままにして出力する。
その結果、アドレスカウンタ２が２巡してＲＯＭ１が２回アクセスされたときには半周期分の波形データが２回読出されて、正弦波１周期分に相当する波形データが分周クロックＣＫに同期して極性反転データ生成回路３から出力される。【０００９】
振幅調整データ生成回路４は、分周クロックＣＫとクロックＣＬＫとを受けて極性反転データ生成回路２から得られる正弦波１周期分に相当する波形データとコントローラ８から駆動電流値の振幅を指定する制御信号Ｓとを受けて制御信号Ｓの値に応じてかつ前記分周クロックＣＫに同期して波形データにＫをかける乗算演算をする。そして、振幅調整データ生成回路４は、所定の振幅値の波形データに変換した正弦波１周期分に相当するデータを分周クロックＣＫに同期して順次生成してそれをＰＷＭパルス発生回路５に送出する。なお、Ｋの値は制御信号Ｓに応じて設定される。また、コントローラ８は、クロックＣＬＫを受け、さらに入力端子１０ｂを介して所定の制御信号Ｓを発生する指令信号Ａを外部から受ける。
制御信号Ｓは、例えば、ＤＶＣ（デジタルビデオカメラ）などでは、フォーカス制御のときなどの制御に応じて発生する信号である。駆動開始時には大きな振幅の正弦波に変換して大きなトルクをモータに発生させ、駆動停止位置に近づくと小さな振幅の正弦波としてトルクを小さくするための制御信号である。
ＰＷＭパルス発生回路５は、振幅調整データ生成回路４から指定された振幅に応じた１周期分の正弦波近似の波形データを受けてそれをクロック発生回路１１からのクロックＣＬＫに応じて所定の周期Ｔ（後述）で繰り返しＰＷＭパルスに変換してＨブリッジ回路６をチョッピング駆動する。これにより、Ｈブリッジ回路６は、端子１０ｃを介してＰＷＭパルスに応じた駆動電流をステッピングモータ１２に出力し、ステッピングモータ１２が所定の周期Ｔでチョッピングされた正弦波で駆動される。【００１０】
図２は、メモリに記憶された波形データとカウンタから得られる極性ビットについての説明図である。説明を簡単にするためにアドレスカウンタ２のビット桁数が３ビット（Ａ0，Ａ1，Ａ2）であるとし、メモリアドレスのビット桁数が２桁（Ａ0，Ａ1）として、その例を説明する。
アドレスカウンタ２の１桁目と２桁目の下位ビット（Ａ0，Ａ1）がＲＯＭ１のアクセスアドレスとしてここでは割当られる。そして３桁目（最上位ビットＡ2）は、極性反転指示フラグとされ、極性反転データ生成回路３に入力される。通常、図２に示すアドレスカウンタ２の最上位ビットＡ2は、それより下位のビット（Ａ1，Ａ0）が図2に示すように、“００”から“０１”，“１０”，“１１”と一巡して、下位ビットの最大カウント値を過ぎると最上位ビットＡ2が“０”から“１”になり、下位のビットが“００”に戻り、“００”から“０１”，“１０”，“１１”と次の一巡が終わると最上位ビットＡ2がまた“０”に戻る。アドレス値（Ａ1，Ａ0）も“００”になる。そこで、単にＲＯＭ１（メモリ）が循環してアクセスされ続けるだけで連続的に正弦波が発生する。
ここでは、最上位ビットが“０”のときのＲＯＭ１の各アドレス位置に、正弦波９の正極側波形９ａに相当する波形データを割り振り記憶する。最上位ビットが“１”のときには各アドレス位置に割り振られた各データを正弦波９の負極側波形９ｂに相当する波形データに割当てる。なお、この割当は逆であってもよい。
デジタル値では、１桁増加させると値が２倍となるので、図２に示するように、１周期分の正弦波に相当する波形データの各アドレスに割り振るデータ数を２で割って（１桁下げて）、半分のデータ数として半分のそれぞれの値を正弦波９の正極側の波形９ａ（負極側としても可）に相当する波形データとして割当てる。そこで、前記したように負極側の波形９ｂの波形データは、正極側９ａの波形データに対して２の補数を採って生成される。前記はＲＯＭ１のデータ値は、Ａ0，Ａ1の２ビットであるが、例えば、データ値が４ビットで“０００１”のときにはその２の補数として“１１１１”が出力される。そこで、極性反転データ生成回路３は、最上位ビットの“１”のときに下位ビットに対してこのような２の補数演算をする。
なお、“００００”の２の補数は“００００”である。さらに２の補数表示をした場合には最上位には極性を示す符号ビットが付加される。最上位ビットが“０”のときには正の符号ビットとなり、最上位ビットの“１”のときには負の符号ビットとなる。そこで、アドレスカウンタ２の最上位ビットＡ2がこの符号ビットとして使用される。
ところで、負の数は、正の数の絶対値に対して最上位ビットに１を付加して負の数として表されてもよい。したがって、図２に示すように最上位１桁を極性フラグとして、これより下位のビットをデータ値に割当てた場合には、実際には極性反転データ生成回路３は、２の補数演算をしなくてもよい。なお、２の補数は、データの各ビットを反転して反転ビットを作り、１の補数を得て、これに１を加えるだけで作ることができる。【００１１】
さて、図３は、ＰＷＭパルス発生回路５が発生する正弦波のゼロクロス点をデューティ比５０％とするＰＷＭパルスについての説明図である。なお、説明を簡単にするために、
ＲＯＭ１から出力される正弦波の正極側の半周期分に相当する波形データに応じて振幅調整データ生成回路４は、ここでは１周期分の波形データは、“−４”から“０”、そして０から“＋４”（ただし最大振幅の場合）までの範囲のデジタル値を発生するものととする。ＰＷＭパルス発生回路５は、このデータを振幅調整データ生成回路４から受けるものとし、ステッピングモータ（Ｍ）１２をチョッピング駆動する周期を、ここでは８クロックＣＬＫ周期分（＝前記の所定の周期Ｔ）として図３を参照して以下説明する。
図３において、（ａ）は、クロック発生回路１１が発生するクロックＣＬＫであり、（ｂ）がＲＯＭ１に記憶された波形データ値に応じて発生するＰＷＭパルスである。
ＰＷＭパルス発生回路５は、振幅調整データ生成回路４から受けた波形データをクロックＣＬＫに応じて所定の周期Ｔ（８クロック分の周期）において、図３に示すように、負極側の最大ピーク値に相当するデジタル値“−４”を受けたときには、パルスを発生しない（“０”のパルス幅のパルスを発生する）。そして、デジタル値“０”を受けたときには、デューティ比５０％のパルス幅のパルスを発生する。さらに、正極側の最大ピーク値に相当するデジタル値“＋４”を受けたときには、デューティ比１００％のパルス幅のパルスを発生する。言い換えれば、ここでは、デューティ比の数値（％）が正弦波の極小から極大までに対応している。
その結果、図示するように、負極側の波形データにおいては受けた数値に応じてデューティ比０％〜５０％に変化するパルス幅のＰＷＭパルスが生成される。正極側の波形データにおいては受けた数値に応じてデューティ比５０％〜１００％に変化するパルス幅のＰＷＭパルスが生成される。
このように、デューティ比５０％を基準とするパルスにすれば、正極側の次に負極側がきてその次にまた正極側がきて、次に負極側と交互に繰り返しの正弦波相当の波形の連続的な発生が容易になる。【００１２】
このようなＰＷＭパルスの生成は、デューティ比５０％に相当するオフセット値（正弦波のゼロクロス点のレベルに対応するデジタル値）を内部に設けてこのオフセット値を振幅調整データ生成回路４から得られた波形データ値にデジタル加算演算することで容易に得ることができる。
例えば、このオフセット値をデジタル値４とし、“−４”の波形データ値を受けたときには、−４＋４＝０で、クロック数ゼロのパルスを生成し、“０”の波形データを受けたときには、０＋４＝４で、クロック数４個のパルス幅のパルスを発生し、“＋４”の波形データを受けたときには、４＋４＝８で、クロック数８個のパルス幅（所定の周期Ｔに相当）のパルスを発生すればよい。
すなわち、ＰＷＭパルス発生回路５は、単に算出したデジタル値に対応するクロックＣＬＫの数に応じてその数分のパルス幅のパルスを生成すればよい。これは、カウンタとゲート回路とフリップフロップとで容易に生成できる。
その結果、正弦波一周期に相当するデータがＰＷＭパルス発生回路５の手前の回路で生成されることで、ＰＷＭパルス発生回路５は、ＰＷＭパルスの生成を、クロックＣＬＫをカウントすることで回路規模の小さい回路で容易に生成することができる。これにより周期Ｔ（８クロック周期分）ごとにチョッパ制御された前記駆動電流を発生することができる。なお、所定の周期Ｔは、Ｔ＝２ｋ×クロック周期分としてもよい。ただし、ｋは３か、それ以上の整数である。【００１３】
駆動電流を出力する出力回路であるＨブリッジ回路６は、図３（ｂ）のデータ値“０”に対応して示すデューティ比５０％のパルス幅のパルスを受けたときに出力をＯＦＦし、デューティ比５０％を超えるパルスを受けたときに、駆動電流をステッピングモータ（Ｍ）１２に一定の方向で流し、デューティ比５０％未満のパルスを受けたときに逆方向に駆動電流を流すようにＣＭＯＳの駆動トランジスタをＯＮ／ＯＦＦすればよい。
これは、例えば、データ値“−４”〜“−１”の場合には図３（ｂ）のデータ値“−４”〜“−１”に対応して示すパルス幅のパルスを利用することができる。すなわち、デューティ比５０％のパルス幅のパルスの“Ｈ”の期間が正弦波の負極側に対応しているので、デューティ比５０％のパルス幅のパルスが“Ｈ”の間に正弦波の負極側に対応する各パルスで駆動するようにすればよい。一方、データ値“＋１”〜“＋４”の場合にはデューティ比５０％のパルス幅のパルスの“Ｌ”の期間が正弦波の正極側に対応しているので、データ値“０”に対応して示すデューティ比５０％のパルス幅のパルスの反転信号を生成してこれと図３（ｂ）のデータ値“＋１”〜“＋４”のパルスとをアンドゲートに加えて駆動パルスを生成し、デューティ比５０％のパルス幅のパルスの反転信号が“Ｈ”の間に正弦波の正極側に対応する各パルスで駆動するようにすればよい。
なお、Ｈブリッジ回路では、通常、モータの励磁コイルを挟んで電流吐き出し側と電流シンクの２つの駆動トランジスタあるが、一方の駆動トランジスタについて前記の駆動をした場合には他方の駆動トランジスタは、デューティ比５０％のパルス幅のパルスあるいはこれの反転信号に応じてその駆動トランジスタのゲートを開き、パルスが“Ｈ”の間、駆動すればよい。したがって、駆動回路は単純な回路になる。
なお、図３に示す前記のＰＷＭパルスは、正弦波の負側の極小値がパルス幅“０”となっているので、そのままアナログ回路を駆動すれば、パルス幅に応じた電流値に変換ができる。そこで、このようなパルス幅のＰＷＭパルスをアナログの電流駆動回路に加えてそのまま正弦波の駆動電流を生成することも可能である。
このような場合には、例えば、前記のＰＷＭパルスのパルス幅に応じた信号を積分回路を介して＋Ｖcc／２を基準電圧としたコンパレータに加えることで電圧値に変換することができる。なお、デューティ比５０％のパルス幅のパルスを受けたときには、積分回路の電圧値を電源電圧＋Ｖccの半分の＋Ｖcc／２として電流出力をしない。＋Ｖcc／２以上のときには所定の方向の駆動電流をステッピングモータ１２に出力する。これに対して＋Ｖcc／２以下の電圧値のときにはステッピングモータ１２に対する電流の方向を逆転した出力を発生するようにすればよい。
【産業上の利用可能性】
【００１４】
以上説明してきたが、実施例では、正弦波の極性を示すフラグビットを最上位ビットとして利用しているが、半周期の波形データと次の半周期分の波形データとの間に他のタイミングデータ等を挿入した場合などには波形データについてのメモリ（ＲＯＭ）のアドレスのビット桁数に対してアドレスカウンタのビット桁数が多くなる。このような場合などには、この発明は、最上位ビットではなく、メモリ（ＲＯＭ）に割り当てられたアドレス空間（メモリのアクセスアドレスの最上位）のすぐ上のビットあるいはそれより上位のビットを使用してもよいことはもちろんである。
また、実施例の振幅調整データ生成回路４は、デジタル値による振幅調整ではなく、Ｄ／Ａ変換回路等を内部に設けてこのＤ／Ａ変換回路により１周期分の正弦波のアナログ値に変換した上でアナログ値に対して振幅調整するものであってもよい。なお、この場合には、Ｄ／Ａ変換したアナログ値に応じてＰＷＭパルスを生成することになる。
さらに、実施例では、波形データを記憶するメモリとしてＲＯＭを挙げているが、この発明は、このメモリはＲＯＭに限定されるものではなく、メモリ一般であってもよい。  また、実施例では、ステッピングモータを駆動する例を挙げているが、この発明は、ステッピングモータを駆動する場合に限定されるものではなく、正弦波で駆動する電流駆動回路であればどのようなモータを駆動するものであってもよい。
またさらに、実施例では、出力段回路としてＨブリッジ回路を例としているが、この発明の出力段回路は、電源ラインからの電流をＯＮ／ＯＦＦする単なるスイッチ回路等であってもよく、このような回路に限定されるものではない。
【図面の簡単な説明】
【００１５】
【図１】図１は、この発明のモータ駆動回路を適用した一実施例のブロック図である。
【図２】図２は、メモリに記憶された波形データとカウンタから得られる極性フラグについての説明図である。
【図３】図３は、ＰＷＭパルス発生回路が発生する正弦波のゼロクロス点をデューティ比５０％とするＰＷＭパルスの生成についての説明図である。
【符号の説明】
【００１６】
１…ＲＯＭ（メモリ）、２…アドレスカウンタ、
３…極性反転データ生成回路、４…振幅調整データ生成回路、
５…ＰＷＭパルス発生回路、６…Ｈブリッジ回路、７…１／ｍ分周回路、
８…コントロール回路、９…正弦波波形データ、
１１…クロック発生回路、１２…ステッピングモータ。
【図１】
2006129706.tif 000002
【図２】
2006129706.tif 000003
【図３】
2006129706.tif 000004
【国際調査報告】
2006129706.tif 000005
2006129706.tif 000006