(57)【特許請求の範囲】
【請求項１】
対象物の位置に対応する極値を設定し、この極値を更新することで対象物を初期位置から目標距離だけ移動させるステッピングモータの制御方法において、対象物の初期位置に対する現在位置の差から前記対象物が移動した過距離を算出する第１のステップと、目標距離に対する前記過距離の差から残距離を算出する第２のステップと、前記過距離が第１の基準値を越えるまで、前記過距離に応じて段階的に増加する加速値を順次加算して速度値を更新すると共に、更新した速度値を順次加算して前記極値を更新する第３のステップと、前記残距離が第２の基準値より少なくなった後、前記残距離に応じて段階的に減少する加速値を順次減算して速度値を更新すると共に、更新した速度値を順次加算して前記極値を更新する第４のステップと、を含み、
前記極値はビット列で規定され、当該ビット列から前記ステッピングモータの回転数を示す上位ビットと、演算処理の端数となる下位ビットを除いた中間ビットが駆動データとして、前記ステッピングモータの駆動回路に供給されることを特徴とするステッピングモータの制御方法。
【請求項２】
前記過距離が前記第１の基準値を越える前に、前記目標距離に応じて設定される第３の基準値に達したとき、前記第３のステップを中断して前記第４のステップへ移行することを特徴とする請求項１に記載のステッピングモータの制御方法。
【請求項３】
前記過距離および前記残距離はビット列で規定され、それらビット列は前記極値のビット列より短く、かつ最上位ビットが前記極値のビット列の最上位ビットと桁合わせされていることを特徴とする請求項１に記載のステッピングモータの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク再生装置のトラッキングサーボに適したステッピングモータの制御方法に関する。
【０００２】
【従来の技術】
デジタルオーディオに用いられるコンパクトディスク（ＣＤ）は、コンピュータ機器での読み取りが可能な各種デジタルデータを記憶するための読み出し専用メモリ（ＣＤ−ＲＯＭ）としても活用される。このようなＣＤを再生するディスク再生装置においては、ディスク上に記録された螺旋状の記録トラックをピックアップが正しくトレースできるように、ディスクとピックアップとの相対位置を制御するようにサーボ機構が設けられる。
【０００３】
図６は、サーボ機構を含むディスク再生装置の概略を示すブロック図である。
【０００４】
ディスク１は、少なくとも一方の面に螺旋状の記録トラックが形成され、この記録トラックに沿って所定のフォーマットに従うデジタルデータが記録される。例えばＣＤの場合、デジタルデータをＥＦＭ変調して得られるＥＦＭ信号に従って、記録トラック上に所定の長さを有する凸部（ピット）が形成される。スピンドルモータ２は、後述するサーボ制御部７から供給される駆動信号ＳＤに応答して、ディスク１を所定の速度で回転駆動する。
【０００５】
ピックアップ３は、レーザー光源及びセンサを含み、スレッド４上に移動可能なように取り付けられる。スレッド４は、ピックアップ３をディスク１の記録トラック面に対向させて支持すると共に、ピックアップ３をディスク１の半径方向へ移動可能なようにドライブ装置に取り付けられる。アクチュエータ５は、サーボ制御部７から供給される駆動信号ＴＤに応答してピックアップ３及びスレッド４をディスク１の半径方向に移動させる。
【０００６】
信号処理部６は、ピックアップ３によって取り出されるディスク１からの読み出し出力を受け取り、波形整形、二値化等の処理を施して、ディスク１の記録トラック上の凹凸に対応して２段階のレベルが切り換えられるＥＦＭ信号を生成する。また信号処理部６は、ピックアップ３の出力に基づいてトラッキングエラー信号ＴＥ及びオフトラック信号ＯＴを生成する。即ち、ピックアップ３は、ディスク１に記録されたデータを読み取る主光源とディスク１の記録トラックに対する主光源の位置を読み取る補助光源とを有しており、信号処理部６は、主光源による読み取り出力からＥＦＭ信号を生成し、補助光源からの読み取り出力からトラキングエラー信号ＴＥを生成する。このように生成されるトラッキングエラー信号ＴＥは、通常、ディスク１に対するピックアップ３の読み取り位置が正しく保たれている間は「０」レベルに維持され、ピックアップ３の読み取り位置がディスク１の内周側または外周側へずれたときに負極性または正極性となる。一方、オフトラック信号ＯＴについては、ＥＦＭ信号の低周波成分から生成されるものであり、ＥＦＭ信号が正しく出力されている間、即ち、ピックアップ３がディスク１の記録トラックからデータを正しく読み出している間はロウレベルを維持しており、ピックアップ３の位置がずれてＥＦＭ信号が正しく出力されなくなったときに立ち上がる。
【０００７】
サーボ制御部７は、信号処理部６からＥＦＭ信号と共にトラッキングエラー信号ＴＥ及びオフトラック信号ＯＴを受け、スピンドルモータ駆動信号ＳＤ及びアクチュエータ駆動信号ＴＤを生成する。スピンドルモータ駆動信号ＳＤは、例えば、ディスク１を線速度一定で駆動するＣＬＶ制御の場合、ＥＦＭ信号の周期が一定になるようにして生成される。また、ディスク１を角速度一定で駆動するＣＡＶ制御の場合、スピンドルモータ駆動信号ＳＤは、一定周波数の基準クロックに基づいて生成される。アクチュエータ駆動信号ＴＤは、トラッキングエラー信号ＴＥ及びオフトラック信号ＯＴに基づいて生成されるものであり、例えば、ディスク１からデータを読み出す際には、トラッキングエラー信号ＴＥを「０」レベルに近づけるように生成される。これにより、ディスク１が所定の速度（線速度一定または角速度一定）で回転駆動させると共に、ディスク１上の記録トラックにピックアップ３の位置を追従させることができ、ディスク１に記録されたデータの読み出しが可能になる。
【０００８】
ところで、アクチュエータ５によるピックアップ３及びスレッド４の移動は、スレッド４上でのピックアップ３の可動範囲内でピックアップ３のみを移動させる場合（ショートジャンプ）と、スレッド４上のピックアップ３の位置をほぼ固定した状態でスレッド４を移動させる場合（ロングジャンプ）とがある。ショートジャンプでは、まず、スレッド４を固定したままでピックアップ３のみを移動させ、ピックアップ３の位置がスレッド４上での可動範囲の限界に近付いたとき、スレッド４を少しだけ移動させ、ピックアップ３がスレッド４内でさらに移動できるようにしている。ディスク１の記録トラックにピックアップ３を追従させてデータを読み出す場合、このショートジャンプによる移動が行われる。
【０００９】
ロングジャンプでは、ディスク１に対するピックアップ３の移動距離（通常はピックアップ３の可動範囲よりも長い）を設定し、その設定距離に合わせてスレッド４を移動させるようにしている。このとき、スレッド４上のピックアップ３は、ほぼ固定された状態にあり、ディスク１の記録トラックを横切りながらディスク１から信号の読み出しを行う。このピックアップ３の読み出し動作は、ディスク１に記録されたデータを読み出すためではなく、ピックアップ３が飛び越した記録トラックの本数をカウントするために行われる。
【００１０】
トラッキングエラー信号ＴＥは、ピックアップ３が１本の記録トラックを横切るごとに極性の反転を繰り返すため、複数の記録トラックを連続して横切る場合には、正弦波状の波形を示す。また、ＥＦＭ信号は、ピックアップ３が記録トラック上にあるとき所定の振幅を示し、記録トラックから外れたときには固定値となる。このため、ＥＦＭ信号の低周波成分から生成されるオフトラック信号ＯＴは、ピックアップ３の記録トラックを横切る毎に立ち上がりと立ち下がりとを繰り返す。このオフトラック信号ＯＴは、トラッキングエラー信号ＴＥと同一の周期となり、ピックアップ３（スレッド４）の進行方向に従い、トラッキングエラー信号ＴＥに対してπ／２だけ進むか、遅れた位相を示すことになる。そこで、トラッキングエラー信号ＴＥまたはオフトラック信号ＯＴをカウントすることで、ピックアップ３が飛び越した記録トラックの本数を検出し、目標とする移動距離に相当する本数の記録トラックを飛び越した時点で、スレッド４の移動を停止するようにしている。
【００１１】
スレッド４をディスク１の半径方向へ目標とする距離だけ移動させる場合、移動開始時点ではスレッド４を加速し、停止位置の手前からスレッド４を減速させるようにして駆動信号ＴＤが生成される。例えば、図７に示すように、タイミングｔ0で移動を開始してから所定の速度に達するタイミングｔ1までは一定の加速度を与え、その後、タイミングｔ2まで等速で移動させるように駆動信号ＴＤが設定される。そして、タイミングｔ2以降、タイミングｔ3までは負の加速度を与えることで、タイミングｔ3でスレッド４を停止できるようにしている。ここで、タイミングｔ2は、スレッド４の移動距離と減速時の加速度とによって決定されるものであり、移動距離が短い場合あるいは減速時の加速度の絶対値が小さい場合には、タイミングｔ1よりも早いタイミングに設定される。その場合、等速での移動は行われず、タイミングｔ2で加速から減速に切り換えられることになる。
【００１２】
【発明が解決しようとする課題】
駆動信号ＴＤによってスレッド４を移動させる場合、ピックアップ３（スレッド４）が飛び越した記録トラックの本数をカウントすることで移動距離を確認しながらサーボ制御が行われる。このため、回路の遅延や移動機構の機械的な遅延等によっては、目標とする移動距離を過ぎてからスレッド４が停止することがある。また、スレッド４の実際の移動距離を確認しながらサーボ制御を行う必要があるため、高速化が困難である。
【００１３】
一方、精密な回転制御が可能なステッピングモータを用いた場合、スレッド４の移動距離を容易に確認でき、正確な位置で停止させることができるため、上述の問題は解消される。しかしながら、ステッピングモータを駆動するためには、複雑な駆動パルスの生成が必要であり、円滑な加速、減速を繰り返す場合、駆動回路の負担が大きくなる。
【００１４】
【課題を解決するための手段】
本発明は、上述の課題を解決するために成されたもので、その特徴とするところは、対象物の位置に対応する極値を設定し、この極値を更新することで対象物を初期位置から目標距離だけ移動させるステッピングモータの制御方法において、対象物の初期位置に対する現在位置の差から前記対象物が移動した過距離を算出する第１のステップと、目標距離に対する前記過距離の差から残距離を算出する第２のステップと、前記過距離が第１の基準値を越えるまで、前記過距離に応じて段階的に増加する加速値を順次加算して速度値を更新すると共に、更新した速度値を順次加算して前記極値を更新する第３のステップと、前記残距離が第２の基準値より少なくなった後、前記残距離に応じて段階的に減少する加速値を順次減算して速度値を更新すると共に、更新した速度値を順次加算して前記極値を更新する第４のステップと、を含むことにある。
【００１５】
本発明によれば、対象物の位置を極値として設定し、この極値に対して速度値を順次加算することでステッピングモータを駆動できるようにしている。このとき、速度値に段階的に増加または減少する加速値を加算または減算して更新するようにしたことで、複雑な処理を伴うことなく、ステッピングモータを円滑に加速または減速することができる。
【００１６】
【発明の実施の形態】
図１は、本発明のステッピングモータの制御方法を説明するフローチャートである。この図においては、図２に示すように、対象物（スレッド）を初期位置から目標距離だけ離れた目標位置まで移動させる場合の処理を示す。このとき、対象物の移動速度は、図３に示すように、移動開始直後から段階的に加速度を上げながら加速した後、段階的に加速度を減少させながら減速するように速度の制御を行うものとする。
【００１７】
ステップＳ１では、対象物の初期位置を示す極値データＰ(0)及び対象物を移動させる目標距離を示す目標値データＴＰを初期値としてロードする。これらの初期値は、処理が完了するまで保持される。なお、これらの初期値の他、複数の加速値や加速度を切り換えるタイミングを判定する複数の基準値も準備されている。
【００１８】
ステップＳ２では、対象物の現在位置を示す極値データＰ(n)から初期位置を示す極値データＰ(0)を減算して、対象物が移動した過距離を示す過数データＰＰを算出する。対象物の移動が開始される直前では、対象物の初期位置と現在位置とが同じであり、過距離は「０」、即ち、過数データＰＰは「０」となる。そして、後述する各ステップと共にステップＳ２が繰り返されると、過数データＰＰの値は、対象物が初期位置から移動した距離に比例して増加する。
【００１９】
ステップＳ３では、対象物を移動させる目標距離を示す目標値データＴＰから過数データＰＰを減算して、対象物の現在位置から目標位置までの残距離を示す残数データＮＰを算出する。対象物の移動が開始される直前において過数データＰＰが「０」のときには、残数データＮＰは目標値データＴＰに一致している。そして、ステップＳ２及び後述する各ステップと共にステップＳ３が繰り返されて過数データＰＰの値が増加すると、その増加分だけ残数データＮＰの値が減少する。
【００２０】
ステップＳ４では、残数データＮＰが「０」になったかどうかを判定し、残数データＮＰが「０」になっていなければステップＳ５に進み、「０」になっていれば処理を終了する。これにより、ステップＳ２、Ｓ３及び後述する各ステップは、残数データＮＰが「０」になるまで、換言すれば、対象物が目標位置に達するまで繰り返されることになる。
【００２１】
ステップＳ５では、残数データＮＰが、目標距離（目標値データＴＰの値）に応じて設定される基準値ＫＭ０に達しているかどうかを判定し、残数データＮＰが基準値ＫＭ０に達していなければ加速ステップＳ６ａ〜Ｓ９ａに進み、基準値ＫＭ０に達していれば減速ステップＳ６ｂ〜Ｓ９ｂに進む。
【００２２】
加速ステップＳ６ａでは、ステップＳ２で生成された過数データＰＰの値が判定され、続く、加速ステップＳ７ａでは、加速ステップＳ６ａの判定結果に応じた正の加速値が設定される。例えば、図３（ａ）に示すように、対象物の移動速度をタイミングｔ0からタイミングｔ3までの間に３段階で加速する場合、タイミングｔ0から各タイミングｔ1〜ｔ3までの間に対象物が移動する距離に対応した基準値ＫＭ１〜ＫＭ３を設定し、過数データＰＰの値を各基準値ＫＭ１〜ＫＭ３とそれぞれ比較する。そして、過数データＰＰの値が基準値ＫＭ１以下であれば、最小の加速値データＡ(1)を選択し、基準値ＫＭ１から基準値ＫＭ２の間であれば、２番目の加速値データＡ(2)を選択し、基準値ＫＭ２から基準値ＫＭ３の間であれば、最大の加速値データＡ(3)を選択する。また、過数データＰＰの値が基準値ＫＭ３に達しているときには、値が「０」となる加速値データＡ(0)を選択する。
【００２３】
加速ステップＳ８ａでは、加速ステップＳ７ａで設定された加速値データＡ(m)を速度値データＶ(n)に加算して更新する。この更新処理によれば、処理が繰り返される度に速度値データＶ(n)に加速値データＡ(m)が加算されることから、加速値データＡ(m)の値に応じた加速度が与えられることになる。そして、加速ステップＳ９ａでは、加速ステップＳ８ａで更新された速度値データＶ(n)を極値データＰ(n)に加算して更新する。この極値データＰ(n)は、対象物の位置に対応するデータであり、速度値データＶ(n)を加算して更新することで、速度値データＶ(n)が表す値で対象物を移動させることになる。この加速ステップＳ９ａが完了した後には、ステップＳ２に戻り、上述の処理を繰り返す。
【００２４】
以上の加速ステップＳ６ａ〜Ｓ９ａによれば、図３（ａ）に示すように、タイミングｔ1〜ｔ3の間で段階的に加速度を増加させながら、対象物を移動させることができる。そして、タイミングｔ3以降は、対象物を等速で移動させることができる。
【００２５】
一方、減速ステップＳ６ｂでは、ステップＳ３で生成された残数データＮＰの値が判定され、続く、減速ステップＳ７ｂでは、減速ステップＳ６ｂの判定結果に応じた加速値が設定される。例えば、図３（ａ）に示すように、等速で移動している対象物をタイミングｔ4からタイミングｔ7までの間に３段階で減速し、最終的にタイミングｔ7で停止させる場合、各タイミングｔ4〜ｔ6から対象物が停止するタイミングｔ7までの間に対象物が移動する距離に対応した基準値ＫＭ４〜ＫＭ６を設定し、残数データＮＰの値を各基準値ＫＭ４〜ＫＭ６とそれぞれ比較する。そして、残数データＮＰの値が基準値ＫＭ４から基準値ＫＭ５の間であれば、最大の加速値データＡ(4)を選択し、基準値ＫＭ５から基準値ＫＭ６の間であれば、２番目の加速値データＡ(5)を選択し、基準値ＫＭ６以下であれば、最小の加速値データＡ(6)を選択する。
【００２６】
減速ステップＳ８ｂでは、減速ステップＳ７ｂで設定された加速値データＡ(m)を速度値データＶ(n)から減算して更新する。この更新処理によれば、処理が繰り返される度に速度値データＶ(n)から加速値データＡ(m)が減算されることから、加速値データＡ(m)の値に応じた負の加速度が与えられることになる。そして、減速ステップＳ９ｂでは、減速ステップＳ８ｂで更新された速度値データＶ(n)を極値データＰ(n)に加算して更新する。速度値データＶ(n)を加算して更新することは、加速ステップＳ９ａと同様、速度値データＶ(n)が表す値で対象物を移動させることを表す。この減速ステップＳ９ｂが完了した後には、ステップＳ２に戻り、上述の処理が繰り返される。
【００２７】
以上の減速ステップＳ６ｂ〜Ｓ９ｂによれば、図３（ａ）に示すように、タイミングｔ4〜ｔ7の間で段階的に加速度の絶対値を減少させながら、対象物を最終的にタイミングｔ7で停止させることができる。
【００２８】
以上の説明において用いた極値データＰ(n)は、対象物の可動範囲内の特定位置と１対１で対応している。ところが、ステッピングモータは、１回転した時点で元の位置へ戻るため、極値データＰ(n)は、ステッピングモータの回転位置とは１対１で対応していない。そこで、ステッピングモータの駆動データとしては、極値データＰ(n)の中間ビットを用いる。例えば、図５に示すように、極値データＰ(n)の中間の適数ビットを駆動データとして取り出せば、ステッピングモータの駆動が可能になる。このとき、駆動データを除いた極値データＰ(n)の上位ビットは、対象物を移動させる間のステッピングモータの回転数を示し、下位ビットは、演算処理の際の端数となる。この端数については、ステッピングモータの駆動に直接関わるものではないが、演算誤差を減らしてステッピングモータの加速または減速を円滑にするものである。以上のことから、過数データＰＰ及び残数データＮＰについては、最上位ビットが極値データＰ(n)と桁合わせされており、速度データＶ(n)については、最下位ビットが極値データＰ(n)と桁合わせされている。
【００２９】
ところで、対象物を移動させる目標距離が短い場合、図３（ｂ）に示すように、対象物を等速移動させるまで加速するよりも前に減速させる必要が生じる場合がある。このような現象は、設定される加速度が小さく、加速、減速が鈍い場合にも同様に起こり得る。即ち、所定の速度で移動する対象物を停止させるためには、減速し始めの速度に応じた停止距離が必要であり、この停止距離を確保するため、加速処理の途中であっても、タイミングｔ3において減速処理に切り換えるようにしている。この切り換えは、タイミングＳ５の判定に従うものであり、対象物の移動距離と加速値データＡ(m)の設定値に応じて基準値ＫＭ０を選ぶようにしている。図３（ａ）に示すように、対象物の移動距離が十分に長く、対象物を等速移動させるまで加速できる場合には、この基準値ＫＭ０は、タイミングｔ4時点での残値データＮＰに応じて設定される基準値ＫＭ４に一致するように選択すればよい。
【００３０】
図４は、本発明のステッピングモータの制御方法を実現する演算回路を示すブロック図である。この演算回路は、図１に示すフローチャートに従って順次極値データＰ(n)を更新し、その極値データＰ(n)の中間ビットを駆動回路に供給するように構成される。
【００３１】
演算回路は、セレクタ１１、１２、加算器１３、データ反転器１４、レジスタ１５〜１７、２２〜２５及び基準値メモリ１８より構成され、各部の動作タイミングを制御するタイミング制御回路１９が設けられている。
【００３２】
第１のセレクタ１１は、極値データＰ(n)、残数データＮＰ、目標値データＴＰ、過数データＰＰ及び速度値データＶ(n)を受け、タイミング制御回路１９の指示に応答して何れか１つのデータを選択し、選択したデータを加算器１３へ供給する。第２のセレクタ１２は、初期値としての極値データＰ(0)、過数データＰＰ、加速値データＡ(m)、速度値データＶ(n)及び基準値データＫＭ０〜ＫＭ６を受け、タイミング制御回路１９の指示に応答して何れか１つのデータを選択し、選択したデータを反転回路１４を介して加算器１３へ供給する。
【００３３】
加算器１３は、第１のセレクタ１１から入力されるデータと、第２のセレクタ１２から反転回路１４を介して入力されるデータとを加算し、加算結果を極値レジスタ２１、残数レジスタ２２、過数レジスタ２３及び速度値レジスタ２４の何れかに振り分けて供給すると共に、加算結果の正／負を表す符号ビットを符号レジスタ２５に供給する。反転回路１４は、第２のセレクタ１２から入力されるデータの各ビットを反転させることで、加算器１３において、減算処理を可能にしている。即ち、２の補数表示で表される各データの符号を反転すれば、データの絶対値を変えずに正／負の符号のみを反転することができるため、反転データを加算器１３に供給すれば、減算処理が行われることになる。尚、この反転回路１４は、加算器１３において通常の加算処理を行う場合には、反転処理せず、第２のセレクタ１２から入力されるデータをそのまま通過させる。
【００３４】
目標値レジスタ１５は、対象物を移動する目標距離を表す目標値データＴＰを格納し、第１のセレクタ１１に供給する。この目標値レジスタ１５に格納される目標値データＴＰは、通常、対象物の移動を指示するマイコンによって設定される。初期値レジスタ１６は、初期状態で極値レジスタ２１に格納されている極値データＰ(0)を初期値として取り込み、第２のセレクタ１２に供給する。これら目標値レジスタ１５及び初期値レジスタ１６は、それぞれ単一のデータを格納し、常に同一のデータを第１のセレクタ１１あるいは第２のセレクタ１２に供給する。
【００３５】
加速値レジスタ１７は、残数データＮＰあるいは過数データＰＰの値に応じて切り換えられる加速値データＡ(m)を格納し、タイミング制御回路１９の指示に応答して、加速値データＡ(m)を第２のセレクタ１２に供給する。基準値メモリ１８は、加速度を切り換えるタイミングを判定するための複数の基準値ＫＭ０〜ＫＭ６を保持し、タイミング制御回路１９の指示に応答し、各判定動作の度に各基準値ＫＭ０〜ＫＭ６を順次第２のセレクタ１２に供給する。
【００３６】
タイミング制御回路１９は、各セレクタ１１、１２の選択制御を行うと共に、その選択動作に同期して、各レジスタ２２〜２５の取り込みのタイミングを制御する。同時に、反転回路１４におけるデータの反転／非反転の選択を行う。さらには、基準値メモリ１８からの基準値ＫＭ０〜ＫＭ６の読み出し動作についても、各セレクタ１１、１２の選択及び各レジスタ２２〜２５の取り込みのタイミングに同期して制御する。
【００３７】
極値レジスタ２１は、加算器１３に接続され、第１のセレクタ１１が極値データＰ(n)を選択すると共に、第２のセレクタ１２が速度値データＶ(n)を選択したときの加算器１３の加算結果を新たな極値データＰ(n+1)として取り込む。このとき、反転回路１４は、速度値データＶ(n)をそのまま加算器１３へ供給する。この極値レジスタ２１に格納される極値データＰ(n)は、中間ビットが取り出され、駆動データとして駆動回路へ供給される。即ち、図５に示したように、ステッピングモータを駆動するための駆動データとしては、極値データＰ(n)の全ビットは必要なく、ステッピングモータの回転数を示す上位ビットと演算処理の端数となる下位ビットとを除いた中間ビットが駆動データとなる。
【００３８】
残数レジスタ２２は、加算器１３に接続され、第１のセレクタ１１が目標値データＴＰを選択すると共に、第２のセレクタ１２が過数データＰＰを選択したときの加算器１３の加算結果の上位ビットを残数データＮＰとして取り込む。このとき、反転回路１４は、過数データＰＰを反転させて加算器１３へ供給する。過数レジスタ２３は、加算器１３に接続され、第１のセレクタ１１が極値データＰ(n)を選択すると共に、第２のセレクタ１２が初期値としての極値データＰ(0)を選択したときの加算器１３の加算結果の上位ビットを過数データＰＰとして取り込む。このとき、反転回路１４は、極値データＰ(0)を反転させて加算器１３へ供給する。速度値レジスタ２４は、加算器１３に接続され、第１のセレクタ１１が速度値データＶ(n)を選択すると共に、第２のセレクタ１２が加速値データＡ(m)を選択したときの加算器１３の加算結果を新たな速度値データＶ(n+1)として取り込む。このとき、反転回路１４は、加速値データＡ(m)そのまま加算器１３へ供給する。各レジスタ２１〜２４のデータの取り込みのタイミングについては、タイミング制御回路１９からの指示により、各セレクタ１１、１２の選択動作に同期して設定される。
【００３９】
符号レジスタ２５は、加算器１３に接続され、第１のレジスタ１１が残数データＮＰを選択すると共に、基準値データＫＭ０を選択したときの加算器１３の加算結果の符号ビットのみを取り込む。さらに、符号レジスタ２５は、第１のレジスタ１１が残数データＮＰまたは過数データＰＰを選択すると共に、基準値データＫＭ１〜ＫＭ６を選択したときの加算器１３の加算結果から符号ビットのみを取り込む。これらの加算処理が行われるとき、反転回路１４は、何れも、基準値データＫＭ０〜ＫＭ６を反転して加算器１３に供給する。即ち、このときの演算処理では、残数データＮＰまたは過数データＰＰが、各基準値ＫＭ０〜ＫＭ６に対して大きいか小さいかを判定するため、残数データＮＰまたは過数データＰＰから各基準値ＫＭ０〜ＫＭ６を減算（反転値を加算）し、その結果の符号のみを取り込むようにしている。
【００４０】
判定回路２６は、残数レジスタ２２に接続され、残数データＮＰの値が「０」がどうかを判定し、判定結果をタイミング制御回路１９に供給する。この判定回路２６は、例えば、残数データＮＰの全ビットを入力に受けるＮＡＮＤゲートを用いることで、残数データＮＰの全てのビットが「０」となったときに「１」を出力するように構成できる。
【００４１】
以下、図１に示す制御方法を行う際の各部の動作について説明する。
【００４２】
最初に、極値レジスタ２１には、対象物の初期位置に対応する極値データＰ(0)が格納されており、目標値レジスタ１５には、目標とする移動距離を示す目標値データＴＰが格納されている。この極値データＰ(0)は、継続的に対象物の移動を制御する場合、１回の移動制御が完了した時点で極値レジスタ２１に格納されている極値データＰ(n)が次の移動制御を開始する時点で極値データＰ(0)として用いられる。また、目標値データＴＰについては、対象物の移動を指示するマイコンから目標値レジスタ１５に設定される。
【００４３】
まず、ステップＳ１では、極値レジスタ２１から初期値レジスタ１６に初期値としての極値データＰ(0)をロードする。そして、ステップＳ２では、第１のセレクタ１１が極値レジスタ２１からの極値データＰ(n)を選択すると共に、第２のセレクタ１２が初期値レジスタ１６からの極値データＰ(0)を選択する。このとき、反転回路１４は、極値データＰ(0)を反転する。これにより、「Ｐ(n)−Ｐ(0)」なる演算が実行されて、その演算結果が過数データＰＰとして過数レジスタ２３に取り込まれる。このとき、過数データＰＰとしては、例えば、図５に示すように、演算結果の全ビットではなく、必要となる上位ビットのみが取り込まれる。
【００４４】
ステップＳ３では、第１のセレクタ１１が目標値レジスタ１５からの目標値ＴＰを選択すると共に、第２のセレクタ１２が過数レジスタ２３からの過数データＰＰを選択する。このとき、反転回路１４は、過数データＰＰを反転する。これにより、「ＴＰ−ＰＰ」なる演算が実行されて、その演算結果が残数データＮＰとして残数レジスタ２２に取り込まれる。このとき、残数データＮＰとしては、過数データＰＰと同様に、演算結果の全ビットではなく、必要となる上位ビットのみが取り込まれる。
【００４５】
ステップＳ４では、残数レジスタ２２から判定回路２６に残数データＮＰを取り込み、残数データＮＰが「０」となったかどうかを判定する。この判定結果は、タイミング制御回路１９へ送られる。そして、残数データＮＰが「０」でなければ、タイミング制御回路１９は、次のステップＳ５の動作を指示し、「０」であれば、各部の動作を停止して、処理を終了させる。
【００４６】
ステップＳ５では、基準値メモリ１８から基準値ＫＭ０が読み出され、第１のセレクタ１１が残数レジスタ２２からの残数データＮＰを選択すると共に、第２のセレクタ１２が基準値メモリ１８からの基準値データＫＭ０を選択する。このとき、反転回路１４は、基準データＫＭ０を反転する。これにより、「ＮＰ−ＫＭ０」なる演算が実行されて、その演算結果の符号ビットがタイミング制御回路１９に取り込まれる。そして、タイミング制御回路１９は、取り込んだ符号が「正」であれば、残数データＮＰの値が基準値データＫＭ０よりも大きいとして、加速ステップＳ６ａに進むように各部へ指示を与える。一方、その符号が「負」であれば、残数データＮＰの値が基準値データＫＭ０よりも小さいとして、減速ステップＳ６ｂに進むように各部へ指示を与える。
【００４７】
加速ステップＳ６ａでは、基準値メモリ１８から加速処理時の切り換え判定の基準となる基準値データＫＭ１〜ＫＭ３が順次読み出され、第１のセレクタ１１が過数レジスタ２３からの過数データＰＰを選択すると共に、第２のセレクタ１２が基準値メモリ１８からの基準値データＫＭ１〜ＫＭ３を選択する。このとき、反転回路１４は、基準値データＫＭ１〜ＫＭ３をそれぞれ反転する。これにより、基準値メモリ１８からの読み出し動作に同期して、「ＰＰ−ＫＭ１」、「ＰＰ−ＫＭ２」及び「ＰＰ−ＫＭ３」なる演算が順次実行されて、それぞれの演算結果の符号ビットがタイミング制御回路１９に取り込まれる。
【００４８】
加速ステップＳ７ａでは、加速ステップＳ６ａでタイミング制御回路１９に取り込まれた符号ビットに基づいて加速値を決定し、その決定に応じた加速値データＡ(m)を加速値レジスタ１７に設定する。即ち、対象物の加速を開始する時点では、最小の加速値とし、段階的に加速値を増加させるようにするため、対象物の移動距離に相当宇する過数データＰＰの値が第１の基準値ＫＭ１に達するまでは、最小の加速値データＡ(1)を設定する。そして、過数データＰＰの値が増加し、第２の基準値ＫＭ２、第３の基準値ＫＭ３に達する毎に、加速値データＡ(2)、Ａ(3)〔Ａ(1)＜Ａ(2)＜Ａ(3)〕を順次設定する。
【００４９】
加速ステップＳ８ａでは、第１のセレクタ１１が速度値レジスタ２４からの速度値データＶ(n)を選択し、第２のセレクタ１２が加速値レジスタ１７からの加速値データＡ(m)を選択する。このとき、反転回路１４は、加速値データＡ(m)を反転しない。これにより、「Ｖ(n)＋Ａ(m)」なる演算が実行され、その演算結果が新たな速度値データＶ(n+1)として速度値レジスタ２４に取り込まれる。
【００５０】
加速ステップＳ９ａでは、第１のセレクタ１１が極値レジスタ２１からの極値データＰ(n)を選択し、第２のセレクタ１２が速度値レジスタ１７からの加速値データＶ(n)を選択する。このとき、反転回路１４は、速度値データＶ(n)を反転しない。これにより、「Ｐ(n)＋Ｖ(n)」なる演算が実行され、その演算結果が新たな極値データＰ(n+1)として極値レジスタ２１に取り込まれる。
【００５１】
減速ステップＳ６ｂでは、基準値メモリ１８から減速処理時の切り換え判定の基準となる基準値データＫＭ４〜ＫＭ６が順次読み出され、第１のセレクタ１１が残数レジスタ２２からの残数データＮＰを選択すると共に、第２のセレクタ１２が基準値メモリ１８からの基準値データＫＭ４〜ＫＭ６を選択する。このとき、反転回路１４は、基準値データＫＭ４〜ＫＭ６をそれぞれ反転する。これにより、基準値メモリ１８からの読み出し動作に同期して、「ＰＰ−ＫＭ４」、「ＰＰ−ＫＭ５」及び「ＰＰ−ＫＭ６」なる演算が順次実行されて、それぞれの演算結果の符号ビットがタイミング制御回路１９に取り込まれる。
【００５２】
減速ステップＳ７ｂでは、減速ステップＳ６ｂでタイミング制御回路１９に取り込まれた符号ビットに基づいて加速値を決定し、その決定に応じた加速値データＡ(m)を加速値レジスタ１７に設定する。即ち、所定速度で移動する対象物の減速を開始する時点では、最大の減速を行う必要があり、停止する直前では、最も緩やかな減速を行うようにするため、対象物の停止位置までの距離に相当宇する残数データＮＰの値が第４の基準値ＫＭ４に達するまでは、加速値データＡ(4)を設定する。そして、残数データＮＰの値が減少し、第５の基準値ＫＭ５、第６の基準値ＫＭ６に達する毎に、加速値データＡ(5)、Ａ(6)〔Ａ(6)＜Ａ(5)＜Ａ(4)〕を順次設定する。
【００５３】
減速ステップＳ８ｂでは、第１のセレクタ１１が速度値レジスタ２４からの速度値データＶ(n)を選択し、第２のセレクタ１２が加速値レジスタ１７からの加速値データＡ(m)を選択する。このとき、反転回路１４は、加速値データＡ(m)を反転する。これにより、「Ｖ(n)−Ａ(m)」なる演算が実行され、その演算結果が新たな速度値データＶ(n+1)として速度値レジスタ２４に取り込まれる。
【００５４】
減速ステップＳ９ｂでは、第１のセレクタ１１が極値レジスタ２１からの極値データＰ(n)を選択し、第２のセレクタ１２が速度値レジスタ１７からの加速値データＶ(n)を選択する。このとき、反転回路１４は、速度値データＶ(n)を反転しない。これにより、「Ｐ(n)＋Ｖ(n)」なる演算が実行され、その演算結果が新たな極値データＰ(n+1)として極値レジスタ２１に取り込まれる。
【００５５】
以上の加速ステップＳ６ａ〜Ｓ９ａあるいは減速ステップＳ６ｂ〜Ｓ９ｂが完了した時点では、極値レジスタ２１及び速度値レジスタ２４に、それぞれ更新された極値データＰ(n+1)及び速度値データＶ(n+1)が格納されている。そこで、ステップＳ２に戻って各ステップＳ２〜Ｓ５、Ｓ６ａ〜Ｓ９ａ、Ｓ６ｂ〜Ｓ９ｂの処理を繰り返せば、極値データＰ(n)及び速度値データＶ(n)が順次更新される。
【００５６】
以上の駆動回路においては、単一の加算器１３を時分割で動作させて全ての演算処理を実行できるため、回路規模を小さく形成することができる。尚、セレクタ及び加算器を増設することにより、複数の演算処理を並列に処理させることも可能である。この場合、回路規模は大きくなるが、各種の演算を並列に処理できるため、高速化が可能になる。実際の駆動回路としては、使用目的に応じた回路規模と処理速度を得られるように、加算器の数を決定すればよい。
【００５７】
【発明の効果】
本発明によれば、正確な回転制御が可能なステッピングモータを用いて対象物を移動させることができるため、ディスク再生装置のスレッドのサーボ制御に用いた場合、応答速度の向上が望める。また、対象物の移動距離あるいは目標位置までの残りの距離に応じて加速値を切り換えながら速度値を更新するようにしたことで、各演算を高速に処理することができる。
【図面の簡単な説明】
【図１】本発明のステッピングモータの制御方法を示すフローチャートである。
【図２】ステッピングモータで移動させる対象物と各データとの関係を示す図である。
【図３】対象物の移動速度の経時変化を示す図である。
【図４】本発明の制御方法を実現する制御回路の構成を示すブロック図である。
【図５】各データの桁合わせを説明する図である。
【図６】ディスク再生装置の構成を示すブロック図である。
【図７】ロングジャンプ時のピックアップの移動速度の経時変化を示す図である。
【符号の説明】
１  ディスク
２  スピンドルモータ
３  ピックアップ
４  スレッド
５  アクチュエータ
６  信号処理部
７  サーボ制御部
１１、１２  セレクタ
１３  加算器
１４  反転回路
１５〜１７、２２〜２５  レジスタ
１８  メモリ
２６  タイミング制御回路
【図１】
0004799761.tif 000002
【図２】
0004799761.tif 000003
【図３】
0004799761.tif 000004
【図４】
0004799761.tif 000005
【図５】
0004799761.tif 000006
【図６】
0004799761.tif 000007
【図７】
0004799761.tif 000008