(57)【特許請求の範囲】
【請求項１】
光ビームを光学記憶媒体のあるトラックから目的トラックにシーク動作するため、光ビーム移動機構をシーク制御するための光学記憶装置のシーク制御方法において、
前記あるトラックから前記目的トラックまでの距離に応じた目標速度特性である加速、定速、減速期間を算出するステップと、
サンプリング割り込み毎に、前記目標速度特性に従い、目標位置を計算するステップと、
前記サンプリング割り込み毎に、前記光ビームの前記トラックとの相対位置を示すトラックエラー信号から現在位置を検出するステップと、
前記サンプリング割り込み毎に、前記目標位置と前記現在位置との誤差がゼロになるようなフィードバック制御量を算出するステップと、
前記目標位置へ到達する目標速度特性に従う目標速度の変化が生じる前に、フィードフォワード量を生成し、前記フィードバック制御量と加算して、前記光ビーム移動機構を制御するステップとを有し、
前記フィードバック制御量を算出するステップは、
直前のサンプリング割り込みの目標位置から今回のサンプリング割り込みの目標位置との差から得た目標速度と、直前のサンプリング割り込みの現在位置から今回のサンプリング割り込みの現在位置との差から得た現在速度との速度誤差により、前記フィードバック制御量を算出するステップを有する
ことを特徴とする光学記憶装置のシーク制御方法。
【請求項２】
光ビームを光学記憶媒体のあるトラックから目的トラックにシーク動作する光学記憶装置において、
前記光学記憶媒体を読み取る光学ヘッドと、
前記光学ヘッドの光ビームを移動する光ビーム移動機構と、
前記光ビーム移動機構をシーク制御する制御部とを有し、
前記制御部は、前記あるトラックから前記目的トラックまでの距離に応じた目標速度特性である加速、定速、減速期間を算出し、
サンプリング割り込み毎に、前記目標速度特性に従い、目標位置を計算し、
前記サンプリング割り込み毎に、前記光ビームの前記トラックとの相対位置を示すトラックエラー信号から現在位置を検出し、
直前のサンプリング割り込みの目標位置から今回のサンプリング割り込みの目標位置との差から得た目標速度と、直前のサンプリング割り込みの現在位置から今回のサンプリング割り込みの現在位置との差から得た現在速度との速度誤差により、前記目標位置と前記現在位置との誤差がゼロになるようなフィードバック制御量を算出し、
前記目標位置へ到達する目標速度特性に従う目標速度の変化が生じる前に、フィードフォワード量を生成し、前記フィードバック制御量と加算して、前記光ビーム移動機構を制御する
ことを特徴とする光学記憶装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、光ビームを光学記憶媒体の目標トラックにシーク動作するための光学記憶装置のシーク制御方法に関し、特にＤＳＰを用いた光学記憶装置のシーク制御方法に関する。
【０００２】
光ディスク装置，光カード装置等の光学記憶装置は、広く記憶装置として利用されている。このような光学記憶装置では、光ビームを光学記憶媒体に照射して、光学記憶媒体にデータをライトし、リードする。
【０００３】
この光学記憶装置では、光ビームを目的トラックへ移動させる、所謂シーク動作を行う。このシーク動作において、光ビームの位置を検出するため、光学記憶媒体から反射光により、トラックエラー信号を発生している。このようなトラックエラー信号から現在位置を検出する際には、シーク速度が早くなっても、正確に現在位置を検出する技術が望まれる。
【０００４】
【従来の技術】
トラックエラー信号ＴＥＳから現在位置を検出する方法として、トラックエラー信号のアナログ値から現在位置を検出する方法が知られている。又、他のトラックエラー信号から現在位置を検出する方法として、トラックエラー信号をゼロスライスして、トラックゼロクロス信号ＴＺＣを得る。このトラックゼロクロス信号をカウントして、現在位置を検出する方法が知られている。
【０００５】
【発明が解決しようとする課題】
シーク中のトラックエラー信号ＴＥＳの周期は、最高速度の時には、５００ｋHzにもなる。このため、デジタルサーボのサンプリング周波数５０ｋHz〜４０ｋHzに対しては、１回のサンプルに対して、１０トラック以上に達することもある。
【０００６】
光学ヘッドを駆動する移動機構のコイルは、大きなインダクタンス成分を持っているため、電流の立ち上がりが遅く、シーク速度の向上が困難であった。
【０００８】
本発明の目的は、光学ヘッドを駆動する移動機構の電流の立ち上がりを補償して、シーク速度を向上するための光学記憶装置のシーク制御方法及び光学記憶装置を提供するにある。
【００１０】
【課題を解決するための手段】
本発明は、光ビームを光学記憶媒体のあるトラックから目的トラックにシーク動作するため、光ビーム移動機構をシーク制御するための光学記憶装置のシーク制御方法において、前記あるトラックから前記目的トラックまでの距離に応じた目標速度特性である加速、定速、減速期間を算出するステップと、サンプリング割り込み毎に、前記目標速度特性に従い、目標位置を計算するステップと、前記サンプリング割り込み毎に、前記光ビームの前記トラックとの相対位置を示すトラックエラー信号から現在位置を検出するステップと、前記サンプリング割り込み毎に、前記目標位置と前記現在位置との誤差がゼロになるようなフィードバック制御量を算出するステップと、前記目標位置へ到達する目標速度特性に従う目標速度の変化が生じる前に、フィードフォワード量を生成し、前記フィードバック制御量と加算して、前記光ビーム移動機構を制御するステップとを有し、前記フィードバック制御量を算出するステップは、直前のサンプリング割り込みの目標位置から今回のサンプリング割り込みの目標位置との差から得た目標速度と、直前のサンプリング割り込みの現在位置から今回のサンプリング割り込みの現在位置との差から得た現在速度との速度誤差により、前記フィードバック制御量を算出するステップを有する。
【００２２】
【作用】
本発明では、目標速度の変化前にフィードフォワード量を付加するため、高速シークを可能とする。
【００２３】
【実施例】
図１は本発明の一実施例ブロック図、図２は図１の構成のゼロクロスコンパレータの回路図、図３は図２の構成のトラックカウンタ回路の回路図である。図において、トラックアクセスに関係のないフォーカス系のサーボ構成を省略してある。
【００２４】
光ディスク１は、光学ヘッド（ポジショナ）２によりレーザー光を照射される。これにより、データのリード／ライトが行われる。光学ヘッド２は、光ディスク１にレーザー光を照射するための対物レンズ２０と、対物レンズ２０を光ディスク１のトラックを横切る方向に駆動するアクチュエータ２１と、対物レンズ２０の位置を検出するレンズ位置検出器２２とを有する。
【００２５】
ＶＣＭ（ボイスコイルモータ）２３は、光学ヘッド２を、光ディスク１のトラックを横切る方向に移動する。
【００２６】
ＤＳＰ（デジタルシグナル・プロセッサ）３は、４０ｋHz〜５０ｋHzのサンプルタイマ割り込みにより、オントラック中は、トラックエラー信号ＴＥＳをサンプルし、トラックセンターからの位置誤差を得る。そして、制御量を作成する。同様に、シーク処理中は、図４以下で説明するように、トラックエラー信号ＴＥＳから制御量を作成する。
【００２７】
ホストＭＰＵ５は、ＤＳＰ３にシークコマンド等のホストコマンドを発行し、且つシークのディファレンス等のホストデータを転送する。
【００２８】
第１のデジタル／アナログ変換器４０は、ホストＭＰＵ５からのトラックオフセット値をアナログ量に変換する。加算器４１は、トラックエラー信号ＴＥＳに第１のデジタル／アナログ変換器４０の出力（トラックオフセット量）を加算する。
【００２９】
２次ローパスフィルタ４２は、トラックエラー信号ＴＥＳの高域成分をカットするアナログ・ローパスフィルタである。そのカットオフ周波数は、２０ｋHzに設定してある。第１のアナログ／デジタル変換器４３は、ローパスフィルタ４２からのアナログ・トラックエラー信号ＴＥＳをデジタル値に変換する。
【００３０】
尚、トラックエラー信号ＴＥＳは、光学ヘッド２の図示しない４分割光検出器から得られる周知のものである。このトラックエラー信号ＴＥＳは、トラック横断毎に、１周期の正弦波をなす。
【００３１】
ゼロクロス・コンパレータ（ゼロクロス回路）４４は、図２に示すように、トラックエラー信号ＴＥＳを基準電圧でスライスして、トラックゼロクロス信号ＴＺＣを発生する。
【００３２】
トラックカウンタ回路４５は、図３に示すように、トラックゼロクロス信号ＴＺＣから光ビームの位置を検出するためのものである。
【００３３】
２次ローパスフィルタ４６は、レンズ位置検出器２２からのレンズポジション信号ＬＰＯＳの高域成分をカットするアナログ・ローパスフィルタである。第２のアナログ／デジタル変換器４７は、ローパスフィルタ４６からのアナログ・レンズポジション信号ＬＰＯＳをデジタル値に変換する。
【００３４】
第２のデジタル／アナログ変換器４８は、ＤＳＰ３からの疑似トラックエラー信号をアナログ量に変換する。この疑似トラックエラー信号は、ＤＳＰ３が、第１のアナログ／デジタル変換器４３から入力されたトラックエラー信号に所定のゲインを付与したものである。この疑似トラックエラー信号をモニターして、その値が上下対称となるように、トラックオフセット値が調整される。
【００３５】
第３のデジタル／アナログ変換器４９は、ＤＳＰ３からのアクチュエータ制御値をアナログ量に変換する。駆動回路５０は、第３のデジタル／アナログ変換器４９の出力により、アクチュエータ２１を駆動する。
【００３６】
第４のデジタル／アナログ変換器５１は、ＤＳＰ３からのＶＣＭ制御値をアナログ量に変換する。駆動回路５２は、第４のデジタル／アナログ変換器５１の出力により、ＶＣＭ２３を駆動する。
【００３７】
次に、ゼロクロス・コンパレータ４４について、図２により説明する。図２に示すように、加算アンプ５３は、基準電圧から第１のデジタル／アナログ変換器４０からのトラックオフセット量を差し引く。トラックエラー信号ＴＥＳは、基準電圧Ｖref 中心の信号であるが、回路オフセット等のＤＣ成分を含んでいる。このため、予め測定したトラックオフセット値によりＤＣ成分を補正する。尚、Ｒ３、Ｒ４、Ｒ５は、抵抗である。
【００３８】
コンパレータ５４は、加算アンプ５３からの補正された基準電圧と、トラックエラー信号ＴＥＳとを比較して、トラックゼロクロス信号ＴＺＣを出力する。このコンパレータ５４は、スライス後のデジタル電圧を抵抗Ｒ１、Ｒ２及びコンデンサＣを介して正帰還されている。
【００３９】
これにより、コンパレータ５４に、ヒステリシス特性を与え、ノイズに対して鈍感にしている。これにより、トラックエラー信号ＴＥＳに、ＩＤ髭等のノイズを検出しないようにしている。
【００４０】
その帰還量は、正帰還ルートに設けたスイッチＳＷ１をオン／オフすることにより、可変にしてある。光ビームの速度が比較的遅い時は、スイッチＳＷ１をオンして、帰還量を大きくする。これにより、ノイズに対する誤動作を防止する。
【００４１】
一方、トラックエラー信号ＴＥＳの振幅が小さくなる速度が比較的速い場合には、スイッチＳＷ１をオフして、帰還量を小さくする。これにより、トラックエラー信号ＴＥＳのゼロクロスが確実に検出できるように制御している。
【００４２】
スイッチＳＷ１の制御は、ＤＳＰ３から行う。ＤＳＰ３は、後述する速度検出により、速度が基準速度をオーバーすると、スイッチＳＷ１をオフする。
【００４３】
次に、トラックカウンタ回路４５について、図３により説明する。図３に示すように、ゼロクロスパルス発生回路６０は、トラックゼロクロス信号ＴＺＣをシステムクロックに同期させて、エッジパルスを発生する。
【００４４】
ラッチパルス発生回路６１は、ＤＳＰ３からのラッチ信号からラッチパルスを作成する。インターバルカウンタ６２は、エッジパルス（トラックゼロクロス信号ＴＺＣ）の間隔を、システムクロックを計数することにより、計数する。
【００４５】
インターバルラッチ回路６３は、エッジパルスに応じて、インターバルカウンタ６２の出力をラッチする。データ保持用ラッチ回路６４は、ラッチパルスによりラッチ回路６３のデータを保持する。このラッチ回路６４の出力が、最新のゼロクロスインターバル値Ａを示す。そして、ラッチ回路６４の出力は、ＤＳＰ３に出力される。
【００４６】
ロードパルス発生回路６５は、ＤＳＰ３からのロード信号（ライト）に応じて、ロードパルスを発生する。インバータ６６は、ＤＳＰ３からの目標トラック数を反転する。横断トラックカウンタ６７は、ロードパルスに応じて、目標トラック数の反転信号（目標トラック数の補数）がロードされる。そして、横断トラックカウンタ６７は、そのロード値からエッジパルスを計数する。
【００４７】
データ保持用ラッチ回路６８は、ラッチパルスに応じて、インターバルカウンタ６２のカウント値をラッチする。このラッチ回路６８の出力は、最新のゼロクロスから現在（ラッチパルス発生時）までのカウント値Ｂを示す。このラッチ回路６８の出力は、ＤＳＰ３に出力される。
データ保持用ラッチ回路６９は、ラッチパルスに応じて、横断トラックカウンタ６７のカウント値をラッチする。このラッチ回路６９の出力は、残りトラック数Ｘｒを示す。このラッチ回路６８の出力は、ＤＳＰ３に出力される。
【００４８】
図４（Ａ）、図４（Ｂ）、図４（Ｃ）はＤＳＰ３のファームウェア構成図、図５は図４（Ｃ）におけるシークコマンド処理フロー図、図６はそのシーク処理の説明図である。
【００４９】
図４（Ａ）に示すように、ＤＳＰ３は、メモリを初期化して、アイドル状態となる。アイドル状態において、割り込みがあると、割り込み処理を実行する。
【００５０】
サンプリング割り込みがあると、図４（Ｂ）に示すサンプリング割り込み処理を実行する。このサンプリング割り込み処理を説明する。
【００５１】
（Ｓ１）先ず、ＤＳＰ３は、図７にて後述するＶＣＭの制御量を計算するＶＣＭ計算処理を実行する。
【００５２】
（Ｓ２）次に、ＤＳＰ３は、レンズポジションの制御量を計算するＬＰＯＳ計算処理を実行する。例えば、レンズロック時には、第２のアナログ／デジタル変換器４７からのレンズポジション信号ＬＰＯＳをサンプルし、光学ヘッド２とレンズとの相対位置を得る。そして、レンズポジション信号ＬＰＯＳ信号により得られる位置誤差がゼロとなるような制御量を計算する。この制御量により、デジタル／アナログ変換器４９及び駆動回路５０を介してトラックアクチュエータ２１を制御して、光学ヘッド２に対して、レンズ２０が中心に位置するように制御する。
【００５３】
（Ｓ３）次に、ＤＳＰ３は、フォーカス位置の制御量を計算するフォーカス計算処理を実行する。
【００５４】
（Ｓ４）更に、ＤＳＰ３は、図８にて後述するトラックアクチュエータの制御量を計算するトラック計算処理を実行する。そして、終了する。
【００５５】
又、ホストＭＰＵ５からの割り込みがあると、図４（Ｃ）に示すホストインターフェース割り込み処理を実行する。この割り込み処理においては、コマンドを解析して、コマンドを実行する。
【００５６】
このコマンド実行において、シークコマンドの処理について、図５により説明する。
【００５７】
（Ｓ１０）ＤＳＰ３は、シークコマンド及びシークのディファレンス、シークの方向を受けると、レンズ加速終了トラック位置ＬＡＥをセットする。ＬＡＥは、「０．３」トラックに予め決められている。
【００５８】
（Ｓ１１）次に、ＤＳＰ３は、レンズ定速終了トラック位置ＬＣＥをセットする。ＬＣＥは、「４」トラックに予め決められている。
【００５９】
（Ｓ１２）ＤＳＰ３は、ポジショナ２の加速終了位置ＰＡＥをＸ１にセットする。この値Ｘ１は、ディファレンスＤＩＦが、６０００トラック以上なら、「３０００」トラックに設定する。一方、ディファレンスＤＩＦが、６０００トラックを越えないときは、〔ＤＩＦ〕÷２を設定する。
【００６０】
（Ｓ１３）次に、ＤＳＰ３は、ポジショナ２の定速終了位置ＰＣＥをＸ２にセットする。この値Ｘ２は、ディファレンスＤＩＦが、６０００トラック以上なら、（〔ＤＩＦ〕−３０００）トラックに設定する。一方、ディファレンスＤＩＦが、６０００トラックを越えないときは、Ｘ１を設定する。
【００６１】
（Ｓ１４）ＤＳＰ３は、ポジショナ２の減速終了トラック位置ＰＢＥをＸ３にセットする。値Ｘ３は、（〔ＤＩＦ〕−４）トラックである。
【００６２】
（Ｓ１５）ＤＳＰ３は、レンズ定速終了位置ＬＢＳをＸ４にセットする。この値Ｘ４は、（〔ＤＩＦ〕−０．３）トラックである。
【００６３】
（Ｓ１６）ＤＳＰ３は、レンズ減速終了位置ＬＢＥをディファレンス〔ＤＩＦ〕に設定する。
【００６４】
（Ｓ１７）最後に、ＤＳＰ３は、シークステータス信号ＳＫＳＴＳを「１」（レンズ加速）にセットして、終了する。
【００６５】
このシークコマンド処理により、目的トラックまでのシーク処理モードが決定される。図６に示すように、トラック「０」からトラックＬＡＥ（０．３）までは、レンズ加速期間である。このシークステータス信号ＳＫＳＴＳは、「１」である。
【００６６】
トラックＬＡＥからトラックＬＣＥ（４）までは、レンズ定速期間である。このシークステータス信号ＳＫＳＴＳは、「２」である。トラックＬＣＥからトラックＰＡＥ（＝Ｘ１）までは、ポジショナ加速期間である。このシークステータス信号ＳＫＳＴＳは、「３」である。
【００６７】
トラックＰＡＥからトラックＰＣＥ（＝Ｘ２）までは、ポジショナ定速期間である。このシークステータス信号ＳＫＳＴＳは、「４」である。トラックＰＣＥからトラックＰＢＥ（＝Ｘ３）までは、ポジショナ減速期間である。このシークステータス信号ＳＫＳＴＳは、「５」である。
【００６８】
トラックＰＢＥからトラックＬＢＳ（＝Ｘ４）までは、レンズ定速期間である。このシークステータス信号ＳＫＳＴＳは、「６」である。トラックＬＢＳからトラックＬＢＥまでは、レンズ減速期間である。このシークステータス信号ＳＫＳＴＳは、「７」である。尚、シークステータス信号ＳＫＳＴＳが「０」の時は、オントラック中のファイン制御を示す。
【００６９】
これらのシークステータス信号ＳＫＳＴＳは、レジスタに格納される。このようにして、シークディファレンスに応じて、各加速、定速、減速期間を設定する。
【００７０】
図７は図４（Ｂ）におけるＶＣＭ計算処理フロー図、図８は図４（Ｂ）におけるトラック計算処理フロー図、図９は図８におけるＳＫＳＴＳ判定処理フロー図、図１０（Ａ）乃至図１３は図８における目標位置計算処理フロー図、図１４は目標位置計算処理の説明図である。
【００７１】
図７により、ＶＣＭ計算処理について説明する。
【００７２】
（Ｓ２１）ＤＳＰ３は、シークステータス信号ＳＫＳＴＳが「０」以外かを調べる。シークステータス信号ＳＫＳＴＳが「０」以外でないなら、即ち、シークステータス信号ＳＫＳＴＳが「０」なら、ファイン制御のため、ファイン制御を行う。即ち、トラックエラー信号ＴＥＳをアナログ／デジタル変換器４３からサンプルして、トラックセンターからの位置誤差を得る。そして、その位置誤差がゼロになるような制御量を演算して、トラックアクチュエータ２１を制御する。
【００７３】
（Ｓ２２）逆に、シークステータス信号ＳＫＳＴＳが「０」以外なら、シーク処理中である。ＤＳＰ３は、目標速度Ｖｔを演算する。目標速度Ｖｔは、〔前回のサンプリング割り込みでの目標位置〕−〔今回のサンプリング割り込みでの目標位置〕により得られる。これら目標位置は、図８のトラック計算処理により得られる。
【００７４】
（Ｓ２３）次に、ＤＳＰ３は、現在速度Ｖｐを演算する。現在速度Ｖｐは、〔前回のサンプリング割り込みでの現在位置〕−〔今回のサンプリング割り込みでの現在位置〕により得られる。この現在位置は、図８のトラック計算処理により得られる。
【００７５】
（Ｓ２４）次に、ＤＳＰ３は、下記式により、速度誤差ΔＶを演算する。
【００７６】
ΔＶ＝Ｖｔ−Ｖｐ                                              (1)
（Ｓ２５）次に、ＤＳＰ３は、速度誤差ΔＶに対し、ローパスフィルタ（ｉｉＲフィルタ）計算を行い、制御量を求める。
【００７７】
（Ｓ２６）更に、ＤＳＰ３は、ＶＣＭフィードフォワードフラグが、オン（「１」）の時に、得られた制御量にフィードフォワード量を加算する。このフィードフォワード量は、加速度量αである。ある。
【００７８】
（Ｓ２７）最後に、ＤＳＰ３は、得られた制御量をＶＣＭのデジタル／アナログ変換器（ＤＡＣ）５１に出力する。これにより、ＶＣＭ計算処理を終了する。
【００７９】
次に、図８乃至図１４により、トラック計算処理について説明する。
【００８０】
（Ｓ３０）ＤＳＰ３は、後述する図９の処理により、シークステータス信号ＳＫＳＴＳを判定する。シークステータス信号ＳＫＳＴＳが「０」であると、ファイン制御のため、前述の如く、オントラック制御を行う。
【００８１】
（Ｓ３１）ＤＳＰ３は、シークステータス信号ＳＫＳＴＳが「０」でないと、それぞれのシークステータスに応じた目標位置を計算する。この目標位置の計算については、図１０（Ａ）乃至図１３により後述する。
【００８２】
（Ｓ３２）次に、ＤＳＰ３は、図１５にて後述する現在位置の計算を行う。
【００８３】
（Ｓ３３）ＤＳＰ３は、次に、位置誤差を計算する。図１９にて後述するように、位置誤差ＰＯＳＥＲＲは、〔目標位置〕−〔現在位置〕の演算により得られる。
【００８４】
（Ｓ３４）次に、ＤＳＰ３は、ＰＩＤ（比例・積分・微分）計算を行う。
【００８５】
（Ｓ３５）更に、ＤＳＰ３は、レンズフィードフォワードフラグがオン（「１」）の時に、得られた制御量にフィードフォワード量を加算する。このフィードフォワード量は、加速度量αである。
【００８６】
（Ｓ３６）最後に、ＤＳＰ３は、得られた制御量をアクチュエータコイルのデジタル／アナログ変換器（ＤＡＣ）４９に出力する。これにより、トラック計算処理を終了する。
【００８７】
図９に示すように、ＳＫＳＴＳ判定処理は、図６で説明したように、シークステータス信号ＳＫＳＴＳにより、シークのステータスを判定する処理である。即ち、シークステータス信号ＳＫＳＴＳが「０」なら、ファイン制御である。シークステータス信号ＳＫＳＴＳが「１」なら、レンズ加速制御である。
【００８８】
シークステータス信号ＳＫＳＴＳが「２」なら、レンズ定速制御である。シークステータス信号ＳＫＳＴＳが「３」なら、ポジショナ加速制御である。シークステータス信号ＳＫＳＴＳが「４」なら、ポシショナ定速制御である。シークステータス信号ＳＫＳＴＳが「５」なら、ポジショナ減速制御である。
【００８９】
シークステータス信号ＳＫＳＴＳが「６」なら、レンズ定速制御である。シークステータス信号ＳＫＳＴＳが「７」なら、レンズ減速制御である。
【００９０】
このように、シークステータスを判定し、図１０（Ａ）乃至図１３のそれぞれの目標位置計算処理を行う。
【００９１】
図１０（Ａ）により、レンズ加速における目標位置計算処理について説明する。
【００９２】
（Ｓ４０）ＤＳＰ３は、目標位置ＴＡＧＰＯＳを計算する。図１４に示すように、加速、減速は、一定の加速度αを用いて行う。このため、加速における目標位置ｘは、レンズの加速度をα１とし、時間をｔとすると、下記式で示される。
【００９３】
ｘ＝α１・ｔ2 ／２                                            (2)
（Ｓ４１）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ加速終了位置ＬＡＥを越えたかを判定する。
【００９４】
（Ｓ４２）ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ加速終了位置ＬＡＥを越えていると、レンズ加速期間を越えているため、シークステータス信号ＳＫＳＴＳを「２」（レンズ定速）に変える。
【００９５】
（Ｓ４３）そして、ＤＳＰ３は、レンズフィードフォワードフラグを「０」（フィードフォワード加算無し）にして、終了する。
【００９６】
（Ｓ４４）一方、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ加速終了位置ＬＡＥを越えていないと、未だレンズ加速期間である。従って、ＤＳＰ３は、レンズフィードフォワードフラグを「１」（フィードフォワード加算有り）にして、終了する。
【００９７】
次に、図１０（Ｂ）により、レンズ定速における目標位置計算処理について説明する。
【００９８】
（Ｓ４５）ＤＳＰ３は、目標位置ＴＡＧＰＯＳを計算する。図１４に示したように、定速期間は、加速度がゼロの期間である。このため、定速における目標位置ｘは、加速度をα１とし、時間をｔ、加速終了時間をｔ１とすると、下記式で示される。
【００９９】
ｘ＝α１・ｔ2 ／２＋α１（ｔ−ｔ１）                            (3)
（Ｓ４６）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＣＥを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＣＥを越えていないと、終了する。
【０１００】
（Ｓ４７）ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＣＥを越えていると、レンズ定速期間を越えているため、シークステータス信号ＳＫＳＴＳを「３」（ポジショナ加速）に変える。そして、終了する。
【０１０１】
次に、図１１（Ａ）により、ポジショナ加速における目標位置計算処理について説明する。
【０１０２】
（Ｓ４８）ＤＳＰ３は、目標位置ＴＡＧＰＯＳを計算する。図１４に示すように、加速は、一定の加速度α２を用いて行う。このため、加速における目標位置ｘは、ポジショナの加速度をα２とし、時間をｔ、レンズ加速の終了時間をｔ２とし、レンズ加速の終了位置をｘ２とし、レンズ加速の終了位置での速度をｖ２とすると、下記式で示される。
【０１０３】
ｘ＝α２・（ｔ−ｔ２）2 ／２＋ｘ２＋ｖ２（ｔ−ｔ２）            (4)
（Ｓ４９）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速終了位置ＰＡＥを越えたかを判定する。
【０１０４】
（Ｓ５０）ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速終了位置ＰＡＥを越えていると、ポジショナ加速期間を越えているため、シークステータス信号ＳＫＳＴＳを「４」（ポジショナ定速）に変える。
【０１０５】
（Ｓ５１）そして、ＤＳＰ３は、ＶＣＭフィードフォワードフラグを「０」（フィードフォワード加算無し）にして、終了する。
【０１０６】
（Ｓ５２）一方、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速終了位置ＰＡＥを越えていないと、未だポジショナ加速期間である。従って、ＤＳＰ３は、ＶＣＭフィードフォワードフラグを「１」（フィードフォワード加算有り）にして、終了する。
【０１０７】
次に、図１１（Ｂ）により、ポジショナ定速における目標位置計算処理について説明する。
【０１０８】
（Ｓ５３）ＤＳＰ３は、目標位置ＴＡＧＰＯＳを計算する。図１４に示したように、定速期間は、加速度がゼロの期間である。このため、定速における目標位置ｘは、加速度をα１とし、時間をｔ、ポジショナの加速終了時間をｔ３、ポジショナの加速終了位置をｘ３、ポジショナの加速終了時の速度をｖ３とすると、下記式で示される。
【０１０９】
ｘ＝ｘ３＋ｖ３（ｔ−ｔ３）                                  (5)
（Ｓ５４）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ定速終了位置ＰＣＥを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ定速終了位置ＰＣＥを越えていないと、終了する。
【０１１０】
（Ｓ５５）ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ定速終了位置ＰＣＥを越えていると、ポジショナ定速期間を越えているため、シークステータス信号ＳＫＳＴＳを「５」（ポジショナ減速）に変える。そして、終了する。
【０１１１】
次に、図１２（Ａ）により、ポジショナ減速における目標位置計算処理について説明する。
【０１１２】
（Ｓ５６）ＤＳＰ３は、目標位置ＴＡＧＰＯＳを計算する。図１４に示すように、減速は、一定の減速度α２を用いて行う。このため、減速における目標位置ｘは、ポジショナの加速度をα２とし、時間をｔ、ポジショナ加速の終了時間をｔ４とし、ポジショナ加速の終了位置をｘ４とし、ポジショナ加速の終了位置での速度をｖ４とすると、下記式で示される。
【０１１３】
ｘ＝−α２・（ｔ−ｔ４）2 ／２＋ｘ４＋ｖ４（ｔ−ｔ４）           (6)
（Ｓ５７）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速終了位置ＰＢＥを越えたかを判定する。
【０１１４】
（Ｓ５８）ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速終了位置ＰＢＥを越えていると、ポジショナ減速期間を越えているため、シークステータス信号ＳＫＳＴＳを「６」（レンズ定速）に変える。
【０１１５】
（Ｓ５９）そして、ＤＳＰ３は、ＶＣＭフィードフォワードフラグを「０」（フィードフォワード加算無し）にして、終了する。
【０１１６】
（Ｓ６０）一方、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速終了位置ＰＢＥを越えていないと、未だポジショナ減速期間である。従って、ＤＳＰ３は、ＶＣＭフィードフォワードフラグを「１」（フィードフォワード加算有り）にして、終了する。
【０１１７】
次に、図１２（Ｂ）により、レンズ定速における目標位置計算処理について説明する。
【０１１８】
（Ｓ６１）ＤＳＰ３は、目標位置ＴＡＧＰＯＳを計算する。図１４に示したように、定速期間は、加速度がゼロの期間である。このため、定速における目標位置ｘは、時間をｔ、ポジショナの減速終了時間をｔ５、ポジショナの減速終了位置をｘ５、ポジショナの減速終了時の速度をｖ５とすると、下記式で示される。
【０１１９】
ｘ＝ｘ５＋ｖ５（ｔ−ｔ５）                                    (7)
（Ｓ６２）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＢＳを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＢＳを越えていないと、終了する。
【０１２０】
（Ｓ６３）ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＢＳを越えていると、レンズ定速期間を越えているため、シークステータス信号ＳＫＳＴＳを「７」（レンズ減速）に変える。そして、終了する。
【０１２１】
次に、図１３により、レンズ減速における目標位置計算処理について説明する。
【０１２２】
（Ｓ６４）ＤＳＰ３は、目標位置ＴＡＧＰＯＳを計算する。図１４に示すように、減速は、一定の減速度−α１を用いて行う。このため、減速における目標位置ｘは、レンズの加速度をα１とし、時間をｔ、レンズ定速の終了時間をｔ６とし、レンズ定速の終了位置をｘ６とし、レンズ定速の終了位置での速度をｖ６とすると、下記式で示される。
【０１２３】
ｘ＝−α１・（ｔ−ｔ６）2 ／２＋ｘ６＋ｖ６（ｔ−ｔ６）           (8)
（Ｓ６５）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ減速終了位置ＬＢＥを越えたかを判定する。
【０１２４】
（Ｓ６６）ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ減速終了位置ＬＢＥを越えていると、レンズ減速期間を越えているため、シークステータス信号ＳＫＳＴＳを「０」（ファイン制御）に変える。
【０１２５】
（Ｓ６７）そして、ＤＳＰ３は、ＶＣＭフィードフォワードフラグを「０」（フィードフォワード加算無し）にして、終了する。
【０１２６】
（Ｓ６８）一方、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ減速終了位置ＬＢＥを越えていないと、未だレンズ減速期間である。従って、ＤＳＰ３は、ＶＣＭフィードフォワードフラグを「１」（フィードフォワード加算有り）にして、終了する。
【０１２７】
このようにして、各シークステータスでの目標位置を計算する。
【０１２８】
次に、図８における現在位置計算ステップについて説明する。
【０１２９】
図１５は図８における現在位置計算処理フロー図、図１６は図１５におけるアナログ値からの計算処理フロー図、図１７及び図１８は現在位置計算の説明図である。
【０１３０】
図１５により現在位置計算処理について説明する。
【０１３１】
（Ｓ７０）ＤＳＰ３は、シークステータス信号ＳＫＳＴＳが「３」（ポジショナ加速）、「４」（ポジショナ定速）、「５」（ポジショナ減速）かを判定する。
【０１３２】
（Ｓ７１）ＤＳＰ３は、シークステータス信号ＳＫＳＴＳが「３」、「４」、「５」であると、ポジショナ制御期間のため、光ビームの速度が速いと判定する。このため、トラックエラー信号の振幅が小さい。従って、１トラック中の位置を、トラックカウンタ回路４５の値により求める。
【０１３３】
図３に示したように、ＤＳＰ３は、ラッチ回路６４から最新のゼロクロスインターバルＡと、ラッチ回路６８から最新のゼロクロスから現在までのカウント数Ｂを得る。最新のゼロクロスインターバルＡと、最新のゼロクロスから現在までのカウント数Ｂとは、図１７に示すような関係にある。そして、１トラック中の位置をＢ／Ａにより求める。
【０１３４】
（Ｓ７２）一方、ＤＳＰ３は、シークステータス信号ＳＫＳＴＳが「３」、「４」、「５」でない「１」、「２」、「６」、「７」であると、レンズ制御期間のため、光ビームの速度が遅いと判定する。このため、トラックエラー信号ＴＥＳの振幅は十分大きい。従って、１トラック中の位置を、トラックエラー信号ＴＥＳのアナログ値から求める。
【０１３５】
ＤＳＰ３は、第１のアナログ／デジタル変換器４３からトラックエラー信号ＴＥＳのデジタル値をサンプルする。次に、ＤＳＰ３は、図１６に示すように、１トラック中の位置を前記サンプル値から計算する。
【０１３６】
（Ｓ７３）このようにして、１トラック中の位置が求まると、ＤＳＰ３は、現在位置を算出する。このため、ＤＳＰ３は、ラッチ回路６９の残りトラック数Ｘｒを得る。そして、図１７に示すように、シーク距離（ディファレンス）Ｄから残りトラック数Ｘｒを差し引き、横断トラック数を求める。これに、１トラック中の位置を加算して、現在位置を計算する。これにより、現在位置計算処理を終了する。
【０１３７】
このようにして、光ビームの速度が速い時は、トラックエラー信号の振幅が小さいため、トラックゼロクロス信号ＴＺＣによるデジタル値から現在位置を計算する。一方、光ビームの速度が遅い時は、トラックエラー信号の振幅が大きいため、トラックエラー信号ＴＥＳのアナログ値から現在位置を計算する。これにより、光ビームの速度にかかわらず、正確な現在位置を求めることができる。
【０１３８】
次に、図１６及び図１８により、図１５におけるステップＳ７２のアナログ値から計算する処理について、説明する。この実施例は、正弦波のトラックエラー信号ＴＥＳに対し、第１のアナログ／デジタル変換器４３の分解能をフルに使用するものである。
【０１３９】
（Ｓ７４）ＤＳＰ３は、正規化するため、サンプルしたトラックエラー信号ＴＥＳのデジタル値ＡＤＣＴＥＳに定数Ｃを掛けて、デジタル値ＡＤＣＴＥＳとする。
【０１４０】
（Ｓ７５）ＤＳＰ３は、前述の図１０（Ａ）乃至図１３で計算した目標位置の端数が、０．２５トラックを越えていないかを判定する。ＤＳＰ３は、目標位置の端数が、０．２５トラックを越えていないと判定すると、１トラック中の位置ＡＤＣＰＯＳを、そのデジタル値ＡＤＣＴＥＳにセットする。そして、終了する。
【０１４１】
（Ｓ７６）ＤＳＰ３は、目標位置の端数が、０．２５トラックを越えていると判定すると、目標位置の端数が、０．７５トラックを越えているかを判定する。ＤＳＰ３は、目標位置の端数が、０．７５トラックを越えていると判定すると、１トラック中の位置ＡＤＣＰＯＳを、そのデジタル値ＡＤＣＴＥＳにセットする。そして、終了する。
【０１４２】
（Ｓ７７）ＤＳＰ３は、目標位置の端数が、０．２５トラック以上であり、０．７５トラック以下と判定すると、デジタル値ＡＤＣＴＥＳの符号を反転して、−ＡＤＣＴＥＳとする。
【０１４３】
（Ｓ７８）ＤＳＰ３は、目標位置の端数が、０．５を越えているかを判定する。ＤＳＰ３は、目標位置の端数が、０．５を越えていると判定すると、１トラック中の位置ＡＤＣＰＯＳは、（デジタル値ＡＤＣＴＥＳ−０．５トラック）として算出する。そして、終了する。
【０１４４】
（Ｓ７９）ＤＳＰ３は、目標位置の端数が、０．５トラック以下と判定すると、１トラック中の位置ＡＤＣＰＯＳは、（デジタル値ＡＤＣＴＥＳ＋０．５トラック）として算出する。そして、終了する。
【０１４５】
この動作を、図１８により説明する。目標位置の端数が、０．２５トラックを越えない範囲か、０．７５トラックを越える範囲ということは、目標位置の端数が±０．２５トラックの範囲内にあるということである。図１８に示すように、この範囲では、トラックエラー信号ＴＥＳのデジタル変換値を利用できる。
【０１４６】
一方、１トラック内の目標位置が、±０．２５トラックの範囲外では、図示のように、トラックエラー信号のデジタル値の符号を反転する。そして、目標位置の端数が、０．５トラックを越える時は（即ち、１トラック内の目標位置が、−０．２５トラックから−０．５トラックの間は）、トラックエラー信号ＡＤＣＴＥＳに、０．５トラック分の値を減算する。
【０１４７】
一方、目標位置の端数が、０．５トラックを越えない時は（即ち、１トラック内の目標位置が、０．２５トラックから０．５トラックの間は）、トラックエラー信号ＡＤＣＴＥＳに、０．５トラック分の値を加算する。
【０１４８】
このようにすることにより、１トラック内の位置が、±０．２５トラックの範囲外では、図の矢印のように、信号の極性を変えて、シフトした形となる。このため、正弦波のトラックエラー信号に対し、アナログ／デジタル変換器の分解能をフルに利用して、デジタル値への変換ができる。
【０１４９】
このように、トラックエラー信号ＴＥＳは、正弦波のため、図１８に示したように、ピーク近傍の丸まった部分（図のＸの範囲内）では、正確な位置を検出できない。この正確に位置を検出できない部分で、フィードバック制御をかけると、制御が不安定になる。このため、この部分では、制御量をゼロとする。
【０１５０】
図１９は、このための位置誤差計算処理フロー図である。
【０１５１】
（Ｓ８０）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．２５−Ｘ）を越えていないかを判定する。ここで、Ｘは前述したピーク近傍の丸まった区間の長さを指し、０．２５トラックを越えない範囲である。ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．２５−Ｘ）を越えていないと判定すると、位置誤差ＰＯＳＥＲＲを（目標位置ＴＡＧＰＯＳ−現在位置ＡＤＣＰＯＳ）として算出する。
【０１５２】
（Ｓ８１）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．２５−Ｘ）を越えていると判定すると、目標位置ＴＡＧＰＯＳの端数が、（０．２５＋Ｘ）を越えていないかを判定する。目標位置ＴＡＧＰＯＳの端数が、（０．２５＋Ｘ）を越えていないと、目標位置の端数は、（０．２５−Ｘ）から（０．２５＋Ｘ）の範囲内にあるため、位置誤差ＰＯＳＥＲＲをゼロにする。
【０１５３】
（Ｓ８２）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．２５＋Ｘ）を越えていると判定すると、目標位置ＴＡＧＰＯＳの端数が、（０．７５−Ｘ）を越えていないかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．７５−Ｘ）を越えていないと判定すると、位置誤差ＰＯＳＥＲＲを（目標位置ＴＡＧＰＯＳ−現在位置ＡＤＣＰＯＳ）として算出する。
【０１５４】
（Ｓ８３）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．７５−Ｘ）を越えていると判定すると、目標位置ＴＡＧＰＯＳの端数が、（０．７５＋Ｘ）を越えていないかを判定する。目標位置ＴＡＧＰＯＳの端数が、（０．７５＋Ｘ）を越えていないと、目標位置の端数は、（０．７５−Ｘ）から（０．７５＋Ｘ）の範囲内にあるため、位置誤差ＰＯＳＥＲＲをゼロにする。
【０１５５】
（Ｓ８４）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．７５＋Ｘ）を越えていると判定すると、位置誤差ＰＯＳＥＲＲを（目標位置ＴＡＧＰＯＳ−現在位置ＡＤＣＰＯＳ）として算出する。そして、終了する。
【０１５６】
このようにして、図１８に示すように、トラックエラー信号ＴＥＳのピーク付近の丸まった部分の区間においては、位置誤差をゼロとして算出することにより、制御量をゼロにして、制御の不安定さを防止する。
【０１５７】
次に、同様の目的を達成するため、制御出力をゼロにする方法について、変形例として説明する。
【０１５８】
図２０は、位置誤差計算の変形例処理フロー図、図２１はアクチュエータＤＡＣ出力の処理フロー図である。
【０１５９】
（Ｓ８５）先ず、ＤＳＰ３は、位置誤差ＰＯＳＥＲＲを（目標位置ＴＡＧＰＯＳ−現在位置ＡＤＣＰＯＳ）として算出する。
【０１６０】
（Ｓ８６）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．２５−Ｘ）を越えていないかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．２５−Ｘ）を越えていないと判定すると、ゲインＧＡＩＮを「１」に設定して、終了する。
【０１６１】
（Ｓ８７）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．２５−Ｘ）を越えていると判定すると、目標位置ＴＡＧＰＯＳの端数が、（０．２５＋Ｘ）を越えていないかを判定する。目標位置ＴＡＧＰＯＳの端数が、（０．２５＋Ｘ）を越えていないと、目標位置の端数は、（０．２５−Ｘ）から（０．２５＋Ｘ）の範囲内にあるため、ゲインＧＡＩＮを「０」に設定する。そして、終了する。
【０１６２】
（Ｓ８８）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．２５＋Ｘ）を越えていると判定すると、目標位置ＴＡＧＰＯＳの端数が、（０．７５−Ｘ）を越えていないかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．７５−Ｘ）を越えていないと判定すると、ゲインＧＡＩＮを「１」に設定する。そして、終了する。
【０１６３】
（Ｓ８９）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．７５−Ｘ）を越えていると判定すると、目標位置ＴＡＧＰＯＳの端数が、（０．７５＋Ｘ）を越えていないかを判定する。目標位置ＴＡＧＰＯＳの端数が、（０．７５＋Ｘ）を越えていないと、目標位置の端数は、（０．７５−Ｘ）から（０．７５＋Ｘ）の範囲内にあるため、ゲインＧＡＩＮを「０」に設定する。そして、終了する。
【０１６４】
（Ｓ９０）ＤＳＰ３は、目標位置ＴＡＧＰＯＳの端数が、（０．７５＋Ｘ）を越えていると判定すると、ゲインＧＡＩＮを「１」に設定する。そして、終了する。
【０１６５】
一方、図２１に示す出力処理（図８のステップＳ３６）においては、アクチュエータＤＡＣ出力を、図８のステップＳ３５で計算した計算結果に、前述のゲインＧＡＩＮを乗じる。さらに、オフセット値を加算して、出力を計算する。そして、この結果を、アクチュエータのデジタル／アナログ変換器４９に出力する（書き込む）。
【０１６６】
このようにして、図１８に示すように、トラックエラー信号ＴＥＳのピーク付近の丸まった部分の区間Ｘにおいては、ゲインをゼロとして算出することにより、制御量をゼロにして、制御の不安定さを防止する。
【０１６７】
次に、図８に示すＰＩＤ計算処理について、説明する。
【０１６８】
図２２は、図８におけるＰＩＤ計算処理フロー図、図２３はＰＩＤ計算処理の説明図である。
【０１６９】
シーク中は、サンプリング間隔での移動量が大きく、位置誤差も大きい。このため、シーク中の位置誤差を、オントラック中（ファイン制御中）と同じ誤差で制御しようとすると、シーク中は、入力ゲインを下げる必要がある。入力ゲインを下げると、図２３に示すような、ＰＩＤのフィルタ特性が、入力ゲインの低下分だけ周波数シフトした形となる。
【０１７０】
この結果、位相余裕が減少し、トラック飛び込み時の安定性が低下する。そこで、この実施例では、シーク中は、ゲインの減少を見込んで、位相余裕が十分得られるような補償系のパラメータを用いて、ＰＩＤ計算するものである。
【０１７１】
（Ｓ９１）ファイン制御中の今回のサンプリング時の積分項ｉｏＰＥ１を、今回の位置誤差ＰＥ１と、ファイン制御中の前回のサンプリング時の積分項ｉｏＰＥ０と、積分定数Ｃｉｏから下記式により、求める。
【０１７２】
ｉｏＰＥ１＝ＰＥ１＋ｉｏＰＥ０×Ｃｉｏ
同様に、シーク制御中の今回のサンプリング時の積分項ｉｓＰＥ１を、今回の位置誤差ＰＥ１と、シーク制御中の前回のサンプリング時の積分項ｉｓＰＥ０と、積分定数Ｃｉｓから下記式により、求める。
【０１７３】
ｉｓＰＥ１＝ＰＥ１＋ｉｓＰＥ０×Ｃｉｓ
（Ｓ９２）次に、ファイン制御中の前回のサンプリング時の積分項ｉｏＰＥ０を、求めた今回の積分項ｉｏＰＥ１で更新する。同様に、シーク制御中の前回のサンプリング時の積分項ｉｓＰＥ０を、求めた今回の積分項ｉｓＰＥ１で更新する。
【０１７４】
（Ｓ９３）次に、位置誤差の微分ｄＰＥ１を、今回の位置誤差ＰＥ１と前回の位置誤差ＰＥ０とから、下記式により得る。
【０１７５】
ｄＰＥ１＝ＰＥ１−ＰＥ０
（Ｓ９４）ファイン制御中の今回のサンプリング時の微分項ｄｉｏＰＥ１を、今回の位置誤差の微分ｄＰＥ１と、ファイン制御中の前回のサンプリング時の微分項ｄｉｏＰＥ０と、微分定数Ｃｄｏから下記式により、求める。
【０１７６】
ｄｉｏＰＥ１＝ｄＰＥ１＋ｄｉｏＰＥ０×Ｃｄｏ
同様に、シーク制御中の今回のサンプリング時の微分項ｄｉｓＰＥ１を、今回の位置誤差の微分ｄＰＥ１と、シーク制御中の前回のサンプリング時の微分項ｄｉｓＰＥ０と、微分定数Ｃｄｓから下記式により、求める。
【０１７７】
ｄｉｓＰＥ１＝ｄＰＥ１＋ｄｉｓＰＥ０×Ｃｄｓ
（Ｓ９５）次に、ファイン制御中の前回のサンプリング時の微分項ｄｉｏＰＥ０を、求めた今回の微分項ｄｉｏＰＥ１で更新する。同様に、シーク制御中の前回のサンプリング時の微分項ｄｉｓＰＥ０を、求めた今回の微分項ｄｉｓＰＥ１で更新する。更に、前回の位置誤差ＰＥ０を、今回の位置誤差ＰＥ１に更新する。
【０１７８】
（Ｓ９６）次に、シークステータス信号ＳＫＳＴＳが「０」以外かを判定する。シークステータス信号ＳＫＳＴＳが「０」なら、ファイン制御中（オントラック中）のため、各々ゲインをＧｐｏ、Ｇｉｏ、Ｇｄｏとして、下記式により、ＰＩＤ値ＰＩＤを求める。
【０１７９】
ＰＩＤ＝Ｇｐｏ・ＰＥ１＋Ｇｉｏ・ｉｏＰＥ１＋Ｇｄｏ・ｄｉｏＰＥ１
又、シークステータス信号ＳＫＳＴＳが「０」でないなら、シーク制御中のため、各々ゲインをＧｐｓ、Ｇｉｓ、Ｇｄｓとして、下記式により、ＰＩＤ値ＰＩＤを求める。
【０１８０】
ＰＩＤ＝Ｇｐｓ・ＰＥ１＋Ｇｉｓ・ｉｓＰＥ１＋Ｇｄｓ・ｄｉｓＰＥ１
このようにして、シーク中とオントラック中において、ローパスフィルタ特性のカットオフ周波数を決める積分定数と、ハイパスフィルタ特性のカットオフ周波数を決める微分定数を変化している。
【０１８１】
このため、シーク中においても、位相余裕が得られる。これにより、トラックへの飛び込み時の安定性が増加する。
【０１８２】
次に、図７で説明した現在速度の演算の変形例を説明する。
【０１８３】
図２４は、図７の現在速度の計算処理の変形例フロー図である。
【０１８４】
シーク制御において、トラックカウンタ４５から得られる速度信号は、ポジショナ２の実速度以外にも、ポジショナ２と対物レンズ２０の相対速度を含んでいる。このため、得られた速度信号から相対速度を差し引く必要がある。
【０１８５】
ポジショナ２と対物レンズ２０の相対速度に相当する信号は、レンズポジション信号ＬＰＯＳの微分値である。従って、速度信号からこれを差し引き、ポジショナの実速度を求める。
【０１８６】
即ち、図２４に示すように、現在位置を獲得する。そして、現在速度Ｖｐは、現在位置Ｘｐ1 と、１サンプル前の現在位置Ｘｐ0 と、微分されたレンズポジション信号ｄＬと、正規化ゲインＧｈとにより、以下の式により得る。
【０１８７】
Ｖｐ＝Ｘｐ1 −Ｘｐ0 −ｄＬ・Ｇｈ
このようにすると、トラックカウンタ４５から得た信号からポジショナ２と対物レンズ２０の相対速度を除いたポジショナの実速度が得られる。この微分されたレンズポジション信号ｄＬは、図４（Ｂ）に示したＬＰＯＳ計算処理（ステップＳ３）により計算されている。このため、この計算結果を流用することにより、容易に実現できる。
【０１８８】
次に、フィードフォワード制御について、説明する。フィードフォワード制御は、制御の遅れを防止する手法として有効である。図７及び図８に示したように、シークの際のフィードフォワード値は、シークのモードに応じて、トラックアクチュエータ及びポジショナのそれぞれに与えられる。
【０１８９】
そのフィードフォワード値は、トラックアクチュエータの場合には、目標位置加算に使用される加速度α１に応じた値であり、ポジショナの場合には、目標速度計算に使用される加速度α２に応じた値である。
【０１９０】
フィードフォワード値を大きくすれば、大きな加速量が得られるため、目標位置への到達時間も速くなる。しかし、それだけシーク中の制御も難しくなる。トラックアクチュエータ、ポジショナのそれぞれの加速性能は、駆動回路の飽和電流以下では、駆動電流に比例しているため、フィードフォワード値は、加速度値に応じた値とすることが望ましい。
【０１９１】
一方、ポジショナを駆動するＶＣＭ２３は、大きなトルクを必要とする。このため、ＶＣＭ２３のコイルは、大きなインダクタンス成分を持っている。これにより、それだけ電流の立ち上がりが遅い。そこで、この実施例では、ポジショナにフィードフォワードを与えるタイミングを、その加速度変化が生じるタイミングより速めに制御して、遅れを防止している。
【０１９２】
図２５は、そのためのシークコマンド処理の変形例フロー図、図２６（Ａ）乃至図２７（Ｂ）はその目標位置計算処理の変形例フロー図、図２８はそのフィードフォワード制御の説明図である。
【０１９３】
図２５の処理は、図５で説明した処理の後に、追加して実行される。
【０１９４】
（Ｓ１００）ＤＳＰ３は、ポジショナ加速開始位置ＰＡＳＦを、（レンズ定速終了位置ＬＣＥ−０．５トラック）に設定する。即ち、従来のポジショナ加速開始位置は、レンズ定速終了位置ＬＣＥであったものを、それより０．５トラック前に設定している。
【０１９５】
（Ｓ１０１）ＤＳＰ３は、ポジショナ加速終了位置ＰＡＥＦを、（ポジショナ加速終了位置ＰＡＥ−１０トラック）に設定する。即ち、従来のポジショナ加速終了位置（即ち、ポジショナ定速開始位置）が、ＰＡＥであったものを、それより１０トラック前に設定している。
【０１９６】
（Ｓ１０２）ＤＳＰ３は、ポジショナ減速開始位置ＰＢＳＦを、（ポジショナ定速終了位置ＰＣＥ−１０トラック）に設定する。即ち、従来のポジショナ減速開始位置に対し、ポジショナ減速開始位置を１０トラック前に設定している。
【０１９７】
（Ｓ１０３）ＤＳＰ３は、ポジショナ減速終了位置ＰＢＥＦを、（ポジショナ減速終了位置ＰＢＥ−０．５トラック）に設定する。即ち、従来のポジショナ減速終了位置に対し、ポジショナ減速終了位置を０．５トラック前に設定している。
【０１９８】
このような各位置ＰＡＳＦ、ＰＡＥＦ、ＰＢＳＦ、ＰＢＥＦを図示すると、図２８に示すようになる。
【０１９９】
一方、これに対する目標位置の計算処理は、図１０（Ｂ）に示したレンズ定速処理が、図２６（Ａ）に変わり、図１１（Ａ）に示したポジショナ加速処理が、図２６（Ｂ）に変わり、図１１（Ｂ）に示したポジショナ定速処理が、図２７（Ａ）に変わり、図１２（Ａ）に示したポジショナ減速処理が、図２７（Ｂ）に変わったものである。
【０２００】
先ず、図２６（Ａ）のレンズ定速における目標位置計算処理について、説明する。
【０２０１】
（Ｓ１０４）ＤＳＰ３は、目標位置ＴＡＧＰＯＳを計算する。定速における目標位置ｘは、加速度をα１とし、時間をｔ、加速終了時間をｔ１として、前述の（３）式により、計算する。
【０２０２】
（Ｓ１０５）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速開始位置ＰＡＳＦを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速開始位置ＰＡＳＦを越えていると判定すると、フィードフォワード開始位置に到達したため、ＶＣＭフィードフォワードフラグをオン（「１」）に設定する。逆に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速開始位置ＰＡＳＦを越えていないと判定すると、未だフィードフォワード開始位置に到達していないため、ＶＣＭフィードフォワードフラグをオフ（「０」）とする。
【０２０３】
（Ｓ１０６）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＣＥを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＣＥを越えていないと、終了する。一方、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、レンズ定速終了位置ＬＣＥを越えていると、レンズ定速期間を越えているため、シークステータス信号ＳＫＳＴＳを「３」（ポジショナ加速）に変える。そして、終了する。
【０２０４】
次に、図２６（Ｂ）により、ポジショナ加速における目標位置計算処理について説明する。
【０２０５】
（Ｓ１０７）ＤＳＰ３は、前述の第（４）式により、目標位置ＴＡＧＰＯＳを計算する。
【０２０６】
（Ｓ１０８）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、フィードフォワード用ポジショナ加速終了位置ＰＡＥＦを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速終了位置ＰＡＥＦを越えていると判定すると、フィードフォワード終了位置に到達したため、ＶＣＭフィードフォワードフラグをオフ（「０」）に設定する。逆に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速終了位置ＰＡＥＦを越えていないと判定すると、未だフィードフォワード終了位置に到達していないため、ＶＣＭフィードフォワードフラグをオン（「１」）とする。
【０２０７】
（Ｓ１０９）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速終了位置ＰＡＥを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速終了位置ＰＡＥを越えていると、ポジショナ加速期間を越えているため、シークステータス信号ＳＫＳＴＳを「４」（ポジショナ定速）に変える。一方、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ加速終了位置ＰＡＥを越えていないと、未だポジショナ加速期間である。従って、終了する。
【０２０８】
次に、図２７（Ａ）により、ポジショナ定速における目標位置計算処理について説明する。
【０２０９】
（Ｓ１１０）ＤＳＰ３は、前述の第（５）式により、目標位置ＴＡＧＰＯＳを計算する。
【０２１０】
（Ｓ１１１）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速開始位置ＰＢＳＦを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速開始位置ＰＢＳＦを越えていると、フィードフォワードの減速期間に入るため、ＶＣＭフィードフォワードフラグをオン（「１」）にする。逆に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速開始位置ＰＣＥを越えていないと、ＶＣＭフィードフォワードフラグをオフ（「０」）にする。
【０２１１】
（Ｓ１１２）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ定速終了位置ＰＣＥを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ定速終了位置ＰＣＥを越えていないと、終了する。一方、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ定速終了位置ＰＣＥを越えていると、ポジショナ定速期間を越えているため、シークステータス信号ＳＫＳＴＳを「５」（ポジショナ減速）に変える。そして、終了する。
【０２１２】
次に、図２７（Ｂ）により、ポジショナ減速における目標位置計算処理について説明する。
【０２１３】
（Ｓ１１３）ＤＳＰ３は、前述の（６）式により目標位置ＴＡＧＰＯＳを計算する。
【０２１４】
（Ｓ１１４）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、フィードフォワード用ポジショナ減速終了位置ＰＢＥＦを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、フィードフォワード用ポジショナ減速終了位置ＰＢＥＦを越えたと判定すると、フィードフォワードの減速制御期間を終了したため、ＶＣＭフィードフォワードフラグをオフ（「０」）に設定する。逆に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、フィードフォワード用ポジショナ減速終了位置ＰＢＥＦを越えてないと判定すると、フィードフォワードの減速制御期間を終了してないため、ＶＣＭフィードフォワードフラグをオン（「１」）に設定する。
【０２１５】
（Ｓ１１５）次に、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速終了位置ＰＢＥを越えたかを判定する。ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速終了位置ＰＢＥを越えていると、ポジショナ減速期間を越えているため、シークステータス信号ＳＫＳＴＳを「６」（レンズ定速）に変える。一方、ＤＳＰ３は、目標位置ＴＡＧＰＯＳが、ポジショナ減速終了位置ＰＢＥを越えていないと、未だポジショナ減速期間である。従って、終了する。
【０２１６】
このようにして、図２８に示すように、ポジショナ２の加減速が開始する前に、フィードフォワードを開始することにより、ポジショナ２の動作の遅れを最小とすることができる。これにより、高速のポジショナの移動動作が可能となる。
【０２１７】
又、予めフィードフォワードの開始、終了位置を、光ビームの位置により、計算するため、目標位置での計算処理が高速に実行できる。
【０２１８】
上述の実施例の他に、本発明では、次の変形が可能である。
【０２１９】
▲１▼シークステータス信号から光ビームの速度状態を判定して、現在位置の算出方法を変えているが、目標速度又は現在速度から光ビームの速度を判定して、現在位置の算出方法を変えても良い。
【０２２０】
▲２▼光ディスクとしては、書き込み可能な光ディスク、書換え可能な光ディスク等種々のものを用いることができる。
【０２２１】
以上、本発明を実施例により説明したが、本発明の主旨の範囲内で種々の変形が可能であり、これらを本発明の範囲から排除するものではない。
【０２２２】
【発明の効果】
以上説明したように、本発明によれば、次の効果を奏する。
【０２２３】
目標速度の変化前にフィードフォワード量を付加するため、高速シークを可能とする。
【図面の簡単な説明】
【図１】本発明の一実施例ブロック図である。
【図２】図１の構成のゼロクロスコンパレータの回路図である。
【図３】図１の構成のトラックカウンタ回路の回路図である。
【図４】図１の構成のＤＳＰのファームウェア構成図である。
【図５】図４におけるシークコマンド処理フロー図である。
【図６】図５のシーク処理の説明図である。
【図７】図４におけるＶＣＭ計算処理フロー図である。
【図８】図４におけるトラック計算処理フロー図である。
【図９】図８におけるＳＫＳＴＳ判定処理フロー図である。
【図１０】図８における目標位置計算処理フロー図（その１）である。
【図１１】図８における目標位置計算処理フロー図（その２）である。
【図１２】図８における目標位置計算処理フロー図（その３）である。
【図１３】図８における目標位置計算処理フロー図（その４）である。
【図１４】図１０乃至図１３の目標位置計算処理の説明図である。
【図１５】図８における現在位置計算処理フロー図である。
【図１６】図１５におけるアナログ値からの計算処理フロー図である。
【図１７】図１５の現在位置計算処理の説明図（その１）である。
【図１８】図１５の現在位置計算処理の説明図（その２）である。
【図１９】図８における位置誤差計算処理フロー図である。
【図２０】図８における位置誤差計算の変形例処理フロー図である。
【図２１】図８におけるアクチュエータＤＡＣ出力処理フロー図である。
【図２２】図８におけるＰＩＤ計算処理フロー図である。
【図２３】図２２のＰＩＤ計算処理の説明図である。
【図２４】図７における現在速度計算処理フロー図である。
【図２５】図５におけるシークコマンド処理の変形例フロー図である。
【図２６】図８における目標位置計算処理の変形例フロー図（その１）である。
【図２７】図８における目標位置計算処理の変形例フロー図（その２）である。
【図２８】図２５乃至図２７の実施例におけるフィードフォワード制御の説明図である。
【符号の説明】
１  光ディスク（光学記憶媒体）
２  ポジショナ
３  ＤＳＰ
５  ホストＭＰＵ
２０  対物レンズ
２１  トラックアクチュエータ
２３  ＶＣＭ
４３  アナログ／デジタル変換器
４４  ゼロクロスコンパレータ
４５  トラックカウンタ回路
【図１】
0003717490.tif 000002
【図２】
0003717490.tif 000003
【図３】
0003717490.tif 000004
【図４】
0003717490.tif 000005
【図５】
0003717490.tif 000006
【図６】
0003717490.tif 000007
【図７】
0003717490.tif 000008
【図８】
0003717490.tif 000009
【図９】
0003717490.tif 000010
【図１０】
0003717490.tif 000011
【図１１】
0003717490.tif 000012
【図１２】
0003717490.tif 000013
【図１３】
0003717490.tif 000014
【図１４】
0003717490.tif 000015
【図１５】
0003717490.tif 000016
【図１６】
0003717490.tif 000017
【図１７】
0003717490.tif 000018
【図１８】
0003717490.tif 000019
【図１９】
0003717490.tif 000020
【図２０】
0003717490.tif 000021
【図２１】
0003717490.tif 000022
【図２２】
0003717490.tif 000023
【図２３】
0003717490.tif 000024
【図２４】
0003717490.tif 000025
【図２５】
0003717490.tif 000026
【図２６】
0003717490.tif 000027
【図２７】
0003717490.tif 000028
【図２８】
0003717490.tif 000029