<目 次>
1.装置構成
2.シーク制御
3.低速シーク制御のゼロクロス誤検出
4.高速シーク制御のゼロクロス誤検出
1.装置構成
図2は本発明の光学的記憶装置である光ディスクドライブの回路ブロック図である。本発明の光ディスクドライブは、コントロールユニット10とエンクロージャ11で構成される。コントロールユニット10には光ディスクドライブの全体的な制御を行うMPU12、上位装置との間でコマンド及びデータのやり取りを行うインタフェース17、光ディスク媒体に対するデータのリード・ライトに必要な処理を行う光ディスクコントローラ(ODC)14、DSP16、及びバッファメモリ18が設けられる。バッファメモリ18は、MPU12、光ディスクコントローラ14、及び上位インタフェース17で共用される。
光ディスクコントローラ14には、フォーマッタ14−1とECC処理部14−1が設けられる。ライトアクセス時には、フォーマッタ14−1がNRZライトデータを媒体のセクタ単位に分割して記録フォーマットを生成し、ECC処理部14−1がセクタライトデータ単位にECCコードを生成して付加し、更に必要ならばCRCコードを生成して付加する。更に、ECCエンコードの済んだセクタデータを例えば1−7RLL符号に変換する。
リードアクセス時には、復調されたセクタリードデータを1−7RLL逆変換し、ECC処理部14−2でCRCチェックした後にエラー検出訂正し、更にフォーマッタ14−1でセクタ単位のNRZデータを連結してNRZリードデータのストリームとし、上位装置に転送させる。
光ディスクコントローラ14に対してはライトLSI回路20が設けられ、ライトLSI回路20にはライト変調部21とレーザダイオード制御回路22が設けられる。レーザダイオード制御回路22の制御出力は、エンクロージャ11側の光学ユニットに設けたレーザダイオードユニット30に与えられている。レーザダイオードユニット30はレーザダイオード30−1とモニタ用ディテクタ30−2を一体に備える。ライト変調部21は、ライトデータをPPM記録またはPWM記録のでデータ形式に変換する。
レーザダイオードユニット30を使用して記録再生を行う光ディスク、即ち書替え可能なMOカートリッジ媒体として、この実施形態にあっては128MB、230MB、540MB及び640MBのいずれかを使用することができる。このうち128MB及び230MBのMOカートリッジ媒体については、媒体上のマークの有無に対応してデータを記録するピットポジション記録(PPM記録)を採用している。また媒体の記録フォーマットはゾーンCAVであり、ユーザ領域のゾーン数は、128MB媒体が1ゾーン、230MB媒体が10ゾーンである。
また、高密度記録となる540MB及び640MBのMOカートリッジ媒体については、マークのエッジ即ち前縁と後縁をデータに対応させるパルス幅記録(PWM記録)を採用している。ここで、640MB媒体と540MB媒体の記憶容量の差はセクタ容量の違いによるもので、セクタ容量が2048バイトのとき640MBとなり、一方、セクタ容量が512バイトのときは540MBとなる。また媒体の記録フォーマットはゾーンCAVであり、ユーザ領域のゾーン数は、640MB媒体が11ゾーン、540MB媒体が18ゾーンである。
このように本発明の光ディスクドライブは、128MB、230MB、540MBまたは640MBの各記憶容量のMOカートリッジに対応可能である。したがって光ディスクドライブにMOカートリッジをローディングした際には、まず媒体のID部をリードし、そのピット間隔からMPU12において媒体の種別を認識し、種別結果をライトLSI回路20に通知する。
光ディスクドライブ14からのセクタライトデータは、128MBまたは230MB媒体であればライト変調部21でPPM記録データに変換され、540MBまたは640MB媒体であればPWM記録データに変換される。そしてライト変調部21で変換されたPPM記録データ又はPWM記録データは、レーザダイオード制御回路22に与えられ、レーザダイオード30−1の発光駆動で媒体に書き込まれる。
光ディスクドライブ14に対するリード系統としては、リードLSI回路24が設けられ、リードLSI回路24にはリード復調部25と周波数シンセサイザ26が内蔵される。リードLSI回路24に対しては、エンクロージャ11に設けたID/MO用ディテクタ32によるレーザダイオード30−1からのビームの戻り光の受光信号が、ヘッドアンプ34を介してID信号及びMO信号として入力されている。
リードLSI回路24のリード復調部25には、AGC回路、フィルタ、セクタマーク検出回路等の回路機能が設けられ、入力したID信号及びMO信号よりリードクロックとリードデータを作成し、PPM記録データまたはPWM記録データを元のNRZデータに復調している。またスピンドルモータ40の制御としてゾーンCAVを採用していることから、MPU12からリードLSI回路24に内蔵した周波数シンセサイザ26に対しゾーン対応のクロック周波数を発生させるための分周比の設定制御が行われている。
周波数シンセサイザ26はプログラマブル分周器を備えたPLL回路であり、媒体のゾーン位置に応じて予め定めた固有の周波数をもつ基準クロックをリードクロックとして発生する。即ち、プログラマブル分周器26はプログラマブル分周器を備えたPLL回路で構成され、MPU12がゾーン番号に応じてセットした分周比(m/n)に従った周波数foの基準クロックを、
fo=(m/n)・fi
に従って発生する。
ここで、分周比(m/n)の分母の分周値nは128MB、230MB、540MBまたは640MB媒体の種別に応じた固有の値である。また分子の分周値mは媒体のゾーン位置に応じて変化する値であり、各媒体につきゾーン番号に対応した値のテーブル情報として予め準備されている。
リードLSI24で復調されたリードデータは、光ディクスコントローラ14に与えられ、1−7RLLの逆変換後にECC処理部14−2のエンコード機能によってCRDチェックとECC処理を受けてNRZセクタデータが復元され、フォーマッタ14−1でNRZリードデータのストリームに繋げた後に、バッファメモリ18を経由して上位インタフェース17により上位装置に転送される。
MPU12に対しては、DSP16を経由してエンクロージャ11側に設けた温度センサ36の検出信号が与えられている。MPU12は、温度センサ36で検出した装置内部の環境温度に基づき、レーザダイオード制御回路22におけるリード、ライト、イレーズの各発光パワーを最適値に制御する。
MPU12は、DSP16を経由してドライバ38によりエンクロージャ11側に設けたスピンドルモータ40を制御する。MOカートリッジの記録フォーマットはゾーンCAVであることから、スピンドルモータ40を例えば3000rpmの一定速度で回転させる。またMPU12は、DSP16を経由してドライバ42を介してエンクロージャ11側に設けた電磁石44を制御する。電磁石44は装置内にローディングされたMOカートリッジのビーム照射側と反対側に配置されており、記録時及び消去時に媒体に外部磁界を供給する。
DSP16は、媒体に対しレーザダイオード30からのビームの位置決めを行うためのサーボ機能を備え、目的トラックにシークしてオントラックするためのシーク制御部84を備える。シーク制御部84は、低速シーク制御部85と高速シーク制御部86で構成され、MPU12による上位コマンドに対するライトアクセス又はリードアクセスに並行して同時に実行することができる。
DSP16のサーボ機能を実現するため、エンクロージャ12側の光学ユニットに媒体からのビーム戻り光を受光するFES用ディテクタ45を設け、FES検出回路(フォーカスエラー信号検出回路)46が、FES用ディテクタ45の受光出力からフォーカスエラー信号E1を作成してDSP16に入力している。
またエンクロージャ11側の光学ユニットに媒体からのビーム戻り光を受光するTES用ディテクタ47を設け、TES検出回路(トラッキングエラー信号検出回路)48がTES用ディテクタ47の受光出力からトラッキングエラー信号E2を作成し、DSP16に入力している。トラッキングエラー信号E2はTZC検出回路(トラックゼロクロス検出回路)50に入力され、トラックゼロクロスパルスE3を作成してDSP15に入力している。
エンクロージャ11側には、媒体に対しレーザビームを照射する対物レンズのレンズ位置を検出するレンズ位置センサ52が設けられ、そのレンズ位置検出信号(LPOS)E4をDSP16に入力している。更にDSP16は、媒体上のビームスポットの位置を制御するため、ドライバ58,62,66を介してフォーカスアクチュエータ60、レンズアクチュエータ64及びVCM68を制御駆動している。
ここで光ディスクドライブにおけるエンクロージャ11の概略は図3のようになる。図3において、ハウジング67内にはスピンドルモータ40が設けられ、スピンドルモータ40の回転軸のハブに対しインレットドア69側よりMOカートリッジ70を挿入することで、内部のMO媒体72がスピンドルモータ40の回転軸のハブに装着されるローディングが行われる。
ローディングされたMOカートリッジ70のMO媒体72の下側には、VCM68により媒体トラックを横切る方向に移動自在なキャリッジ76が設けられている。
キャリッジ76上には対物レンズ80が搭載され、固定光学系78に設けているレーザダイオードからのビームをプリズム82を介して入射し、MO媒体72の媒体面にビームスポットを結像している。
対物レンズ80は図2のエンクロージャ11に示したフォーカスアクチュエータ60により光軸方向に移動制御され、またレンズアクチュエータ64により媒体トラックを横切る半径方向に例えば数十トラックの範囲内で移動することができる。このキャリッジ76に搭載している対物レンズ80の位置が、図2のレンズ位置センサ54により検出される。
レンズ位置センサ54は対物レンズ80の光軸が直上に向かう中立位置でレンズ位置検出信号を零とし、アウタ側への移動とインナ側への移動に対しそれぞれ異なった極性の移動量に応じたレンズ位置検出信号E4を出力する。
図4は図1のコントロールユニット10に設けたDSP16により実現されるフォーカスサーボ、レンズサーボ、VCMサーボの機能ブロック図である。まずフォーカスサーボ系はフォーカスエラー信号E1をADコンバータ88でディジタルデータに変換して取り込み、加算点90でレジスタ92にセットしたFESオフセットによる補正を施し、位相補償器94で所定の高域帯域についてゲインアップを行う位相補償を施し、PID演算器96で比例積分微分演算をフォーカスエラー信号に対し行う。
更に位相補償器100で位相補償を施した後、加算点104でレジスタ102のフォーカスオフセットを補償し、リミッタ106を介してDAコンバータ108でアナログ信号に変換し、フォーカスアクチュエータ66に対する電流指示値としてドライバ側に出している。PID演算器96と位相補償器100の間にはサーボスイッチ98が設けられ、フォーカスサーボのオンオフを制御できるようにしている。
次に低速シーク制御の主体となるレンズアクチュエータ64に対するレンズサーボ系を説明する。レンズサーボ系は、速度制御系、トラックサーボ系及びレンズ位置サーボ系の3つに分けられる。まず速度制御系はトラックゼロクロス信号E3をトラックカウンタ110に入力し、トラックゼロクロス間隔の時間をクロックカウントにより求め、速度検出器112でビーム速度を求める。
速度検出器112の出力は加算点114でレジスタ116からの目標速度との誤差が取られ、サーボスイッチ118を介して位相補償器120で速度誤差についての位相補償が施された後、加算器122に与えられている。トラックサーボ系は、トラッキングエラー信号E2をADコンバータ124でディジタルデータに変換して取り込み、加算点128でレジスタ126によりセットされたTESオフセットの補正を施し、位相補償器130で位相補償を施した後、PID演算器140で比例積分、微分演算を行った後、サーボスイッチ142を介して加算器122に入力している。
更にレンズ位置サーボ系としてレンズ位置検出信号E4をADコンバータ144でディジタルデータとして取り込み、加算器146でレジスタ148によるLPOSオフセットの補正を施し、位相補償器150を位相補償を施した後、PID演算器152で比例積分微分演算を行い、サーボスイッチ156を介して加算器122に入力している。尚、サーボスイッチ156の入力側にはレジスタ154によりTESオフセットキャンセルを加えることができる。
このような速度制御系の速度誤差信号、トラッキングサーボ系のトラッキングエラー信号、更にレンズ位置サーボ系のレンズ位置誤差信号は、加算器122で加算され、位相補償器158で位相補償が施された後、加算点160でレジスタ162によるトラックオフセットの補正を受けた後、DAコンバータ166でアナログ信号に変換され、レンズアクチュエータ64に対する電流指示値としてドライバ側に出力する。
次に高速シーク制御で主体となるVCM68のサーボ系を説明する。VCM68のサーボ系は、シーク時の目標トラック位置と現在トラック位置との誤差に基づいたフィードフォワード制御のサーボ系を構成している。まずトラックゼロクロス信号E3に基づいてカウンタ110で検出されたビームのレジスタ168による現在位置は、加算器170でレジスタ172の目標トラック位置と比較され、目標トラック位置に対する残りトラック数に応じた位置誤差信号が生成される。
この加算器170の出力は、位相補償器174で位相補償が施された後、PID演算器176で比例、積分、微分演算を受け、サーボスイッチ178を介して位相補償器180で更に位相補償を受け、加算器182を介してIIR188に与えられる。更に位相補償器190で位相補償を施した後、加算器192でレジスタ194によるVCMオフセットによる補正を受け、リミット196を介して加算器198に与えられる。
加算器198では偏心メモリ200からの読み出しによる媒体の偏心補正を行う。加算器198による偏心補正を受けたVCMサーボの位置誤差信号に対しては、レジスタ202によりインナ方向のシークとアウタ方向のシークに応じた異なった極性がセットされ、更に絶対値化回路204で絶対値化が施され、DAコンバータ206でアナログ信号に変換され、VCM68にVCM電流指示値に変換されてドライバ側に出力される。
更にVCMサーボ系の加算器182に対しては、レンズサーボ系に設けているレンズ位置サーボ系の位相補償器150の出力が分岐され、PID演算器184及びサーボスイッチ186を介して入力されている。このためサーボスイッチ186のオン状態でレンズアクチュエータ64により対物レンズを駆動してレンズシークを行うと、このときのレンズ位置検出信号に基づいて加算器146で生成されるレンズ位置誤差信号がPID演算器184及びサーボスイッチ186を介してVCM位置サーボ系の加算器182に位置誤差信号として加わる。
このためVCM68は、レンズアクチュエータ64の駆動によりレンズ位置オフセットを零とするようにキャリッジを位置制御することになる。このようなレンズアクチュエータによるレンズ位置検出信号の誤差信号に基づくサーボ制御がVCM68のサーボ系に加わることから、これを二重サーボと呼んでいる。
図5は図4のサーボ系における制御モードとサーボスイッチ98,118,142,156,178及び186のオンオフ状態を示す。サーボ系の制御モードはフォーカスオフモード、トラックオフモード、トラックオンモード、ファインシークモード、位置シークモードの5つに分けられる。各モードの制御内容は図6のようになる。
まずフォーカスオフモードはビームのトラックアクセスを停止している状態であり、サーボスイッチ98のオフによりフォーカスサーボをオフし、サーボスイッチ156のみをオンすることでレンズアクチュエータ64によりキャリッジ上の対物レンズを零位置に制御している。
トラックオフモードは、サーボスイッチ98のオンによりフォーカスサーボを有効とし、且つサーボスイッチ156をオンしてレンズアクチュエータ64による対物レンズの零位置への制御を行っている。このためトラックオフモードにあっては、ビームを停止した状態でビームの媒体に対するフォーカシングのみが可能となる。
トラックオンモードは、サーボスイッチ98をオンしてフォーカスサーボを有効とし、サーボスイッチ142をオンとすることでトラッキングエラー信号によるレンズアクチュエータ64の駆動によるオントラック制御を行う。更にサーボスイッチ186をオンとすることでVCMサーボ系にレンズ位置検出信号による位置サーボを掛けて、VCMオフセットや偏心オフセットを補償できるようにしている。
ファインシークモードは、上位装置から目標シリンダへのアクセスが指示された場合に、レンズアクチュエータ64の速度制御とVCM68のフィードフォワード制御によりビームを目標位置に移動させる制御である。即ち、サーボスイッチ98のオンによりフォーカスサーボを有効とした状態で、サーボスイッチ118のオンによりレンズアクチュエータ64の速度制御を行う。
更にサーボスイッチ178のオンにより目標トラックに対する現在トラック位置の誤差に応じたフィードフォワード制御を行う。更にサーボスイッチ186をオンすることにより、レンズ位置信号E4の位置誤差に基づいてVCM68の駆動でレンズ0位置に制御する二重サーボを掛ける。
位置シークモードはレンズアクチュエータ64によるレンズ位置制御であり、レンズを零位置に保持した状態で、VCM68を目標トラック位置に対する現在トラック位置のトラック数に応じた位置誤差信号によりビームが目標トラックに移動するように位置制御する。
即ち、サーボスイッチ98のオンによりフォーカスサーボを有効とした状態でサーボスイッチ156をオンしてレンズアクチュエータ64によりレンズを零位置に保持するレンズロックを行う。この状態でサーボスイッチ178のオンにより目標トラック位置に対する誤差を零とするようにVCM68によりキャリッジを移動し、ビームを目標トラックに位置制御する。
2.シーク制御
図7は、図2のDSP16に設けたシーク制御部84によるシーク制御の概略フローチャートである。まずステップS1で上位装置からシークコマンドを受けると、目標トラック番号と現在トラック番号の差から目標トラックまでのシークトラック数(残りトラック数)Nを算出する。続いてステップS2で、シークトラック数Nを予め定めた規定値N1と比較し、規定値N1を超えていれば、ステップS3のVCMの速度制御による高速シーク制御に移行する。
この高速シーク制御はステップS3でVCM64を目標速度と計測速度の速度誤差に基づいて速度制御する。同時にステップS4で、レンズアクチュエータ64に対しレンズロック制御を掛ける。ステップS5にあっては、高速シーク中におけるシークトラック数Nが所定値N2に達したか否かチェックしている。
所定トラック数N2に達すると、ステップS6のレンズアクチュエータ64の速度制御による低速シーク制御に切り替える。低速シーク制御中にあっては、ステップS7でVCM64のレンズロック制御を同時に行う。低速シーク制御中にステップS8でシークトラック数Nが零となって目標トラックに達すると、ステップS9に進み、目標トラックへのビーム引き込み制御を行う。
ビーム引き込み制御を行ったならば、ステップS10でトラッキングエラー信号が零を中心とした規定範囲内に収まる整定をチェックし、整定完了で一連のシーク制御を完了する。シーク制御を完了した後の処理は、シーク完了でリードライトのレディオンとなり、目標トラックに対するデータの書込みあるいはデータリードが行われることになる。
一方、ステップS1で目標トラックまでのシークトラック数Nが規定値N1未満であった場合には、ステップS6に進んで低速シーク制御を行うことになる。この低速シーク制御も、高速シーク制御中に規定値N2に達したときに行う低速シーク制御と同じになる。
ここで図2のDSP16における低速シーク制御部85のサンプル周波数は68kHzであり、低速シーク時にはトラックゼロクロス間隔、即ち1トラック経過時間毎にビーム速度を求めて制御する。これに対し高速シーク制御部86のサンプル周波数は17kHzであり、1サンプル毎に光ビームの進む距離をトラックカウンタ110から求めて制御する。
図8は、図2の低速シーク制御部85による低速シーク制御時のタイムチャートである。低速シーク制御時にあっては、図8(A)のビーム速度のように、時刻T1の起動により加速制御が行われた後に、時刻T2で一定の目標速度に達すると、定速速度制御となり、目標トラックの所定トラック数手前の時刻T3で減速制御を行い、目標トラックに到達した時刻T4でトラック引き込み制御を行う。
このような図8(A)のビーム速度の変化に対し、図8(B)のように、トラッキングエラー信号E2が変化する。トラッキングエラー信号E2は時刻T2から時刻T3までの定速制御中は一定周波数となっている。図8(F)のレンズロック制御をオンオフするレンズロックモードは、時刻T1のシーク起動でオンし、レンズ位置信号によりVCMに対するレンズロック制御を掛けることになる。
図8(A)のビーム速度のプロフィールを得るためのレンズアクチュエータ64に流す電流Iaは、図8(C)のようになる。レンズアクチュエータ64に流す電流Iaは、時刻T1〜T2の加速期間で例えばアウタシークを例にとると、プラス側に段階的に増加した後、定速制御に近づくと同じく段階的に減少する滑らかな電流プロフィールをもたせている。
また時刻T3からの減速電流についても同様にして、段階的に増減させることで滑らかな減速を行わせている。レンズアクチュエータ64の電流Iaと同時にレンズロックのためにVCM64に流す電流Ivは、図8(D)のようになる。この結果、低速シーク時によるレンズアクチュエータ64の移動に対しVCM64によるキャリッジの駆動でレンズロック制御が掛かり、対物レンズの光軸ずれを常に零に維持するレンズロック状態が得られる。
更に、低速シーク制御にあっては、図8(E)のようにシークモードが時刻T1のシーク開始でオンし、時刻T4の目標トラックの到達による引き込み制御でオフとなる。
図9は、図2のDSP16に設けた高速シーク制御部86による高速シーク制御のタイムチャートである。高速シーク制御にあっては、図9(A)のようにビーム速度は時刻T1におけるVCMの駆動で加速し、時刻T2で規定の高速定速度に達した後、目標トラックまでのトラック本数が低速シーク制御の切替基準となる規定トラック数に達する時刻T3でVCMの減速制御を行い、時刻T4で低速シーク制御に切り替わる。
即ち、図9(E)の制御モードのように、時刻T1から時刻T4が高速シークモード、それ以降が低速シークモードとなる。時刻T4からの低速シークモードは、加速期間を必要とせずに直ちに定速制御に入る以外は、図8(A)〜(F)の低速シーク制御と同じである。そして目標トラックの所定トラック手前の時刻T3で低速シーク制御の減速が行われ、時刻T7で目標トラックに達すると引き込み制御を行い、時刻T8で整定完了となる。
このような図9(A)の高速シークモードにおけるビーム速度に対し、トラッキングエラー信号E2は、図9(B)のようになる。即ち、高速シーク中は数十kHzという高い周波数をもっているが、途中で低速シーク制御に切り替わると10kHz以下の低い周波数に変化する。
時刻T1から時刻T4までの高速シーク中にあっては、図9(D)のように、VCMに電流Ivを流すことにより速度制御を行う。このVCM電流Ivについても、時刻T1〜T2の加速期間については段階的に増加させることで滑らかなキャリッジの加速を行い、同様に時刻T3からT4の減速期間についても段階的に−方向に電流を増やし減らすことで滑らかな減速を行っている。
同時に図9(C)のレンズアクチュエータ電流Iaは、VCM64によるキャリッジの加速と同時にレンズアクチュエータ64に流すことで、キャリッジ起動に伴う慣性力に打ち勝つようにレンズアクチュエータを駆動して、対物レンズを光軸ずれ零の位置に保持するレンズロックを行う。
この点は時刻T3からT4のVCMの減速時についても同様であり、キャリッジの減速に対し搭載しているレンズアクチュエータ64が慣性により生き過ぎないように、電流Iaをレンズアクチュエータ64に流して対物レンズの光軸ずれを零に保持する。また、時刻T2からT3の定速制御中には、トラッキングエラー信号E2の周波数は例えば数十kHzと略一定にあり、レンズ位置信号E4を零とするようにレンズアクチュエータ64の位置制御によるレンズロックが行われる。時刻T4以降の低速シークモードについては、図8(A)〜(F)の時刻T2以降の低速シーク制御の場合と同じになる。
3.低速シーク制御とゼロクロス誤検出
図10はゼロクロス誤検出と対応処理機能を備えた図2のDSP16に設けた低速シーク制御部85の機能ブロック図である。図10において、低速シーク制御部85はトラックカウンタ110を有し、トラックカウンタ110に対してはAND回路210を介して、図2のTZC検出回路50で検出したトラックゼロクロス信号E3が入力している。
トラックカウンタ110は、シーク開始前に目標トラック位置までのトラック数のプリセットを受け、キャリッジ76またはレンズアクチュエータ82を媒体72のアウタ方向にシークしたときのトラックゼロクロス信号E3によりダウンカウントし、目標トラック位置までの残りトラック数を表わしている。
トラックカウンタ110に続いては速度制御部115−1が設けられている。速度制御部115−1は、速度検出部112−1、目標速度検出部116、速度誤差検出部214及びゲイン乗算部216で構成される。速度検出部112−1は、トラックゼロクロス信号E3が得られるごとにビーム速度を検出する。
この速度検出のため、トラックゼロクロス時間検出部(TZC時間検出部)212が設けられている。トラックゼロクロス時間検出部212はAND回路210を介してトラックゼロクロス信号E3が得られたときに時間の計測動作を開始し、次にトラックゼロクロス信号E3が得られたときに速度検出部112−1に対しゼロクロス間隔時間tを出力し、これを繰り返す。
速度検出部112−1は、トラックゼロクロス時間をt、トラックピッチをTpとすると、ビーム速度Vを
V=Tp/t
として算出する。
目標速度検出部116は、トラックカウンタ110の現在トラック位置と目的とするトラックとの差で与えられるシークトラック数即ち残りトラック数を求め、残りトラック数に応じて予め定められている速度プロフィールをもつ目標速度をテーブル情報等から読み出して設定する。
速度誤差検出部214は、目標速度Vrから検出速度Vを差し引いて速度誤差(Vr−V)を求める。この速度誤差はゲイン乗算部216に与えられ、1トラックピッチの制御間隔に応じて予め定められたゲインGを乗算することで駆動電流Iを求め、この駆動電流Iをレンズアクチュエータ64に流す。
このような低速シーク制御部84に加え本発明にあっては、トラックゼロクロス誤検出判定部(TZC誤検出判定部)218、速度予測演算部224、ゲイン修正部222、マスク処理部223及びカウンタ修正部225を新たに設けている。
トラックゼロクロス誤検出判定部218は、トラックゼロクロス時間検出部212で検出しているゼロクロス間隔時間tに基づいてゼロクロス誤検出の有無を判定している。このトラック誤検出の判定には
(1)ゼロクロス間隔時間tに基づく誤検出の判定
(2)ゼロクロス間隔時間tから求めた速度Vに基づく誤検出の判定
(3)ゼロクロス間隔時間tから求めた加速度αに基づく誤検出の判定
のいずれかとする。このゼロクロス誤検出の判定を、図11のタイムチャートを参照して具体的に説明する。図11(A)はトラッキングエラー信号E2であり、そのゼロクロス付近の2箇所にノイズ250,252によるゼロクロスを含む波形歪みを生じている。
図11(C)は図11(A)のトラッキングエラー信号E2から検出したトラックゼロクロス信号E3であり、トラッキングエラー信号E2がゼロクロスするごとに反転する信号である。トラッキングエラー信号E2にゼロクロスの誤検出がなければ、例えばトラックゼロクロス信号E3の立ち上がり間隔が1トラックピッチTpを表している。
図11(B)はマスク信号E5であり、トラックゼロクロス信号E3のHレベルへの立ち上がりに同期してHレベルからLレベルに立ち下がり、予め定めた一定時間tmの間、図10に設けたAND回路210を禁止状態とし、トラックゼロクロス検出回路50に対するトラッキングエラー信号E2の入力を遮断する。
このためトラッキングエラー信号E2のノイズ250にあっては、マスク信号E5によってトラックゼロクロス回路50への入力が遮断され、ノイズ250によってトラックゼロクロス信号E2に誤検出が生ずることはない。このマスク信号E5のマスク時間tmとしては、低速シークにおける最高速度のゼロクロス間隔時間の50%を超えない程度の時間とすればよい。
このようなマスク信号E5によりトラッキングエラー信号E2のノイズ250によるトラックゼロクロス信号E2の誤検出は回避できているが、その後に生じたノイズ252にあっては、マスク信号E5のLレベルタイミングからずれていることから、トラックゼロクロス信号E2にノイズによるゼロクロスに対応した信号反転がおき、これがゼロクロス誤検出254を起こしている。
ここでゼロクロス誤検出254が起きたトラックピッチより1つ前のトラックピッチにあっては、ゼロクロス間隔時間t0のように正常にゼロクロス信号が得られている。ここでゼロクロス誤検出254を起こしたトラックピッチにおいて、ゼロクロス誤検出254までの間隔時間をt1、残りの間隔時間をt2としている。このため、途中でゼロクロス誤検出254を生じたトラックピッチの本来のゼロクロス間隔時間は(t1+t2)となっている。
図10の低速シーク制御部85にあっては、図11(C)のトラックゼロクロス信号E2におけるゼロクロス誤検出254より1つ前のトラックピッチについては、時刻T0のタイミングでゼロクロス時間検出部212がゼロクロス誤検出のない1トラックピッチTpの通過時間に相当するゼロクロス間隔時間t0を検出しており、その結果、速度検出部112−1は
V0=Tp/t0 (1)
によりビーム速度を検出し、目標速度検出部116はそのときの残りトラック数から目標速度Vrを設定し、速度誤差検出部214及びゲイン乗算部216によってレンズアクチュエータ64に対し
I=G・(Vr−V0) (2)
となる駆動電流が出力されている。
次に図11(C)の時刻T1でトラッキングエラー信号E2に含まれるノイズ252によりゼロクロス誤検出254が起きると、このときトラックゼロクロス時間検出部212は時刻T0からゼロクロス誤検出が起きた時刻T1までの間隔時間t1を検出しており、そのため速度検出部112−1は、ゼロクロス誤検出による速度V1として
V1=Tp/t1 (3)
を算出する。
この検出速度V1は、ゼロクロス誤検出がなければ本来(t1+t2)であったものが、ゼロクロス誤検出254によりほぼ半分の時間t1となっており、その結果、検出速度V1は前回の(1)式の検出速度V0に比べるとほぼ2倍に増加している。そこでトラックゼロクロス誤検出判定部218にあっては、
130%t0>t1>70%t0
となる条件によりゼロクロス誤検出を判定する。
即ち、今回の検出速度t1が前回のゼロクロス誤検出のない間隔時間t0の70%の値から130%の値の範囲を外れているかどうか判定している。そして間隔時間t1がゼロクロス誤検出のない前回のゼロクロス間隔時間t0の70%値以下であったりもしくは130%値以上であった場合には、ゼロクロスの誤検出があったものと判定する。
ここでトラックゼロクロス誤検出判定部218にあっては、トラックゼロクロス時間検出部212で検出した間隔時間t1をゼロクロス誤検出のない過去のゼロクロス間隔時間t0と比較して誤検出の有無を判定しているが、これ以外に速度または加速度によりゼロクロス誤検出を判定してもよい。即ち、今回の検出速度がV1、誤検出のない前回の速度がV0であったとすると、
130%V0>V1>70%V0
の条件式を設定し、検出速度V1が70%V0以下であるかまたは130%V0以上であればゼロクロスの誤検出と判定する。同様に、今回の加速度α1と前回のゼロクロス誤検出のない場合の加速度α0を求め、
130%α0>α1>70%α0
の条件式を設定し、今回の加速度α1が70%α0以下もしくは130%α0以上であった場合にはゼロクロス誤検出と判定する。
もちろん、ゼロクロス間隔時間t、速度V、加速度αのそれぞれにおいてゼロクロス誤検出の有無を判定する条件式の閾値は、下限値70%、上限値130%とした場合を例にとっているが、それ以外の数値についても必要に応じて適宜に定めることができる。
再び図10を参照するに、トラックゼロクロス誤検出判定部218でトラックゼロクロスの誤検出が判定されると、速度予測演算部220においてゼロクロス誤検出がなかったときの正しい速度の予測演算が行われる。この速度の予測演算を図11のタイムチャートを参照して説明すると次のようになる。
時刻T1のゼロクロス誤検出254により速度検出部112−1にあっては、前記(1)式により誤った速度V1が検出されている。そこで速度予測演算部224は、このゼロクロス誤検出で誤った値をもつ検出速度V1を用いて正しい速度V1pを演算する。
V1p=V1・(t1/t0) (4)
即ち、ゼロクロス誤検出254が生じた1つ前のトラックピッチとの間で考えると、隣接したトラックピッチ間での速度変化はそれほど大きくなく、前回のトラックゼロクロスの誤検出のないトラックピッチでのゼロクロス間隔時間t0と同じ間隔時間がゼロクロス誤検出254のトラックピッチでも生ずるものと見なす。
そして、(3)式のトラックゼロクロス誤検出で算出した誤った検出速度V1に正しいゼロクロス間隔時間t0でゼロクロス誤検出254までの間隔時間t1を除した時間比(t1/t0)を掛け合わせることで、正しい速度V1pを予測している。
更に予測演算部224にあっては、予測速度V1pの精度を上げるため、時刻t0の制御タイミングT0からレンズアクチュエータ64に流している電流をI[アンペア]、レンズアクチュエータ64の加速性能をA[G/アンペア]とすると、
V1p=V1・(t1/t0)+9.8・A・I・ts (5)
により予測速度V1pを算出してもよい。
速度予測演算部224で演算された(4)式または(5)式の予測速度V1pはセレクタ238を介して、速度検出部112−1で検出した誤った検出速度V1の代わりに速度誤差検出部214に与えられ、速度誤差(Vr−V1p)が検出され、ゲイン乗算部216に与えられる。
ここでゲイン乗算部216で速度誤差に掛け合わされるゲインGは、ゼロクロスの誤差検出の際にはゲイン修正部222で修正される。ゲイン修正部222は、図11(C)のゼロクロス誤検出254における誤検出のない前回のゼロクロス間隔時間t0とゼロクロス誤検出254までの間隔時間t1との時間比(t1/t0)によりゲインGを修正する。即ち、修正ゲインGaは
Ga=G・(t1/t0) (6)
により求められる。
このゲインGの修正は、図10の低速シーク制御部85によるレンズアクチュエータ64の電流制御がトラックゼロクロスが1トラックピッチTpごとに検出されることを前提としており、1トラックピッチTp分の制御区間に亘って駆動電流を流すことで速度制御のためのパワーを与えている。
しかし、図11(C)のようにゼロクロス誤検出254によって1トラックピッチTpの途中でゼロクロス誤検出があり、この途中の時刻T1のタイミングでレンズアクチュエータ64の電流駆動を行うことから、1トラックピッチTpに亘る電流駆動を前提に設定したゲインGをそのまま使用することができない。そこで、時間比(t1/t0)を乗ずることで、1トラックピッチ分のゲインGに対しゲインを低い値に修正している。
尚、ゲインGの修正の仕方としては、(6)式でもよいし
Ga=G・(t0−t1)/t0
で近似してもよく、更には時間比を所定の定数、例えば0.5に固定した修正でもよい。
この結果、ゼロクロス誤検出時に最終的にレンズアクチュエータ64に出力される駆動電流Iは、次式のようにまとめることができる。
I=Ga(Vr−V1p)
=G(t1/t0){Vr−(Tp/t1)(t1/t0)}
=G{(T1/t0)Vr−(Tp/t1)(t1/t0)(t1/t0)}
=G{(T1/t0)Vr−(Tp/t0)(t1/t0)}
(7)
この(7)式を(2)式に対応させると、右辺第2項は正しい速度を表わしており、したがって予測した正しい速度V1pは
V1p=(Tp/t0)(t1/t0) (8)
のように表すことができる。即ち、(6)式の修正ゲインGaを含めてゼロクロス誤検出時の正しい予測速度V1pは(8)式で与えられることが分かる。
図12は図10の低速シーク処理部において、(5)式に従って正しい速度を予測する場合のゼロクロス誤検出に対する対応処理のフローチャートである。
図12において、まずステップS1でトラックゼロクロスの有無を検出しており、トラックゼロクロスを検出するとステップS2に進み、そのときのゼロクロス間隔時間tnを読み込む。続いてステップS3で前回誤検出か否かチェックし、誤検出でなければステップS4に進み、例えば前回のゼロクロス誤検出のないゼロクロス間隔時間tn-1 の70%値と今回のトラックゼロクロス間隔時間tnを比較する。
今回の間隔時間tnが前回の間隔時間tn-1 の70%値を超えていればゼロクロス誤検出がないことから、ステップS5に進み、速度Vnを計算し、ステップS6で加速度補正を行った後、ステップS7で前回の速度とトラックゼロクロス間隔時間の入れ替えによる更新を行い、ステップS8で速度誤差ΔVを検出した後、ステップS9でゲインを掛け合わせてレンズアクチュエータ64の駆動電流を求め、レンズアクチュエータ64に出力する。
一方、ステップS4で今回のゼロクロス間隔時間tnが前回のゼロクロス間隔時間tn-1 の70%値以下であった場合にはゼロクロスの誤検出と判定し、ステップS13に進む。ステップS13にあっては、図10に設けたカウンタ修正部225によりトラックゼロクロスの誤検出でカウントアップしているトラックカウンタ110を前回の値に戻すカウンタ修正を行う。
続いてステップS11で予測速度Vnpを演算し、更にステップS12で加速度補正を行う。続いてステップS13にあっては、ゼロクロス誤検出であることから、前回の速度及びトラックゼロクロス間隔時間を更新せずにそのまま維持する。続いてステップS14で予測速度Vnpを使用して速度誤差ΔVを検出し、ステップS15でゲインGの修正を行って修正ゲインGaを求めた後、ステップS9で修正ゲインGaに予測速度から求めた速度誤差Vを乗じてアクチュエータ駆動電流Iを求め、レンズアクチュエータ64に駆動電流を流す。
更にトラックゼロクロスの誤検出が行われた後の次のゼロクロス検出即ち図11(C)の時刻T2のゼロクロス検出にあっては、ステップS3で前回のゼロクロス誤検出が判別されて、この場合はステップS16に進み、正しいゼロクロス間隔時間TnとしてTn=T(n+1)+Tn、即ち図11のゼロクロス誤検出を挟む前後の間隔時間T1,T2の和(T1+T2)を求め、これをトラックゼロクロス間隔時間としてステップS5〜S9の処理を実行する。
図13は図10の低速シーク制御部85による制御処理の他の実施形態であり、この実施形態にあっては、トラックゼロクロスの誤検出を判定した際に正しいトラックゼロクロス時間を算出して対応処理を行うようにしたことを特徴とする。即ち、図11(C)のように時刻T1でゼロクロス誤検出254が判定された場合には、時刻T1ではレンズアクチュエータ駆動電流の制御は行わず、そのときの間隔時間t1を保持する。
続いて時刻T2で本来のトラックゼロクロス検出が行われることから、このときのゼロクロス誤検出254からの間隔時間t2を求め、時刻T0からT2の正しい1トラックピッチTpに相当するゼロクロス間隔時間(t1+t2)を求め、このゼロクロス間隔時間(t1+t2)を使用して速度制御を行う。即ち、速度検出部112−1で
V12=Tp/(t1+t2) (9)
により速度V12を求め、速度誤差検出部214及びゲイン乗算部216によって
I=G・(Vr−V12)
=G・{Vr−Tp/(t1+t2)} (10)
としてレンズアクチュエータ64の駆動電流を求めて出力する。もちろん、速度検出部112−1にあっては、(5)式のように速度補償を行ってもよいことはもちろんである。
このゼロクロス誤検出の判定時に正しいトラックゼロクロス時間(t1+t2)を求めた低速シーク処理は、図13のフローチャートを参照して説明すると次のようになる。まずステップS4でトラックゼロクロスの誤検出が判定された場合には、ステップS10でトラックカウンタ110をトラックゼロクロス誤検出の前の値に修正し、誤検出によるトラックゼロクロス間隔時間を前回時間T(n−1)として保存する。
続いてゼロクロス誤検出の判定後にトラックゼロクロスが検出されたならば、ステップS3で前回誤検出であることを判別して、ステップS12に進み、今回と前回のゼロクロス間隔時間の和として正しいトラックゼロクロス時間Tnを
tn=t(n−1)+tn (11)
として求め、ゼロクロス誤検出のない通常時と同様にして、ステップS5〜S9による速度制御を実行する。
4.高速シーク制御とゼロクロス誤検出
図14は高速シーク中のトラックゼロクロスの誤検出を判定して対応処理を行う図2の高速シーク制御部86の機能ブロック図である。図14において、トラックカウンタ110に続いて高速シーク制御部のサンプル周波数17kHzに基づく周期で与えられるサンプルクロックでトラックカウンタ110の値をラッチするラッチ部226が設けられる。
高速シーク制御部85にあっては、このサンプルクロックのタイミングごとに速度制御の演算処理を繰り返す。ラッチ部226に続いては速度制御部115−2が設けられる。速度制御部115−2は、速度検出部112−2、目標速度設定部116、速度誤差検出部228及びゲイン乗算部230で構成される。
速度検出部112−2は、今回のラッチタイミングで得られたトラックカウンタ110の値N1と前回のラッチタイミングで得られたトラックカウンタ110の値N0から
ΔN=(N0−N1) (12)
によりカウンタ変化量を求め、これにトラックピッチTpとサンプルクロック周期tsを用いて、次式により速度V1を検出する。
V1=ΔN・Tp/ts (13)
目標速度設定部116は、トラックカウンタ110の現在トラック位置に対する目的トラックまでの残りトラック数に基づく目標速度Vrの設定を行う。速度誤差検出部228は、速度誤差(Vr−V1)を検出する。ゲイン乗算部230は、速度誤差に所定のゲインGを乗ずることでVCM68即ちキャリッジアクチュエータの駆動電流Iを演算して、VCM68を駆動する。
これに加え本発明に高速シーク制御部85にあっては、更にトラックゼロクロス誤検出判定部232、速度予測演算部234、カウンタ修正部236及びセレクタ238を設けている。トラックゼロクロス誤検出判定部232は、次の2つのうちのいずれかの判定モードをとる。
モード1:ラッチタイミングの速度を予測し、実際に検出した速度との差が大きいときにゼロクロス誤検出と判定する。
モード2:検出速度から加速度を求め、前回のラッチタイミングの制御による予測される加速度と比較して、所定値以下の場合にゼロクロスの誤検出と判定する。
ここでモード1の速度予測によるゼロクロス誤検出の判定を説明する。まずトラックゼロクロス誤検出判定部232にあっては、速度検出部112−2でトラックカウンタ110の値から、(13)式で求めた検出速度V1に対し前回のラッチタイミングのVCM68の電流駆動で予測される予測速度V1pを次式により求める。
V1p=V0+9.8・A・I・ts (14)
ここでV0は前回のラッチタイミングで検出された速度である。そして検出速度V1と予測速度V1pとの速度差ΔVを
ΔV=V1p−V1 (15)
として求め、速度差ΔVの絶対値について
絶対値ΔV≧Vth
となる条件式を設定し、絶対値ΔVが所定値Vth以上であればトラックゼロクロスの誤検出と判定する。
これに対しモード2のゼロクロス誤検出の判定にあっては、速度検出部112−2で求めた(13)式の検出速度V1と前回のラッチタイミングでの検出速度V0から
α=(V0−V1)/ts (16)
により加速度αを算出し、予め定めた加速度閾値αthとの間に
α≦αth (17)
の条件式を設定し、加速度閾値αth以下であればゼロクロスの誤検出と判定する。加速度閾値αthとしては、例えばサンプル期間に亘るVCM電流により得られる加速度の例えば70%値を使用する。
このようにしてモード1またはモード2に従ってトラックゼロクロス誤検出判定部232でゼロクロス誤検出が判定されると、速度予測演算部234を起動して正しい予測速度を演算する。速度予測演算部234による予測速度Vpは、モード1のゼロクロス誤検出の判定の場合と同様、前記(14)式で算出し、セレクタ238を介して速度検出部112−2の検出速度V1の代わりに速度誤差検出部228に供給し、速度誤差を求めてゲインGを乗ずることにより、VCM68の駆動電流を流す。
更にカウンタ修正部236が設けられ、トラックゼロクロス誤検出判定部232でゼロクロス誤検出が判定されたときの速度予測演算部234で演算された予測速度Vpからサンプル期間に生ずるトラックカウンタ110の正しい変化量を演算し、これを前回のサンプルタイミングのカウント値に加えて今回の正しいカウント値を求める。
即ち、ゼロクロス誤検出を生じたサンプル周期のトラックカウンタ110の変化量ΔNpを次式で算出する。
ΔNp=V1p・ts/Tp (18)
このようにして求めた予測変化量ΔNpを、前回のトラックカウンタ110のカウント値をN0とすると
N1=N0+ΔNp (19)
により求める。この値をトラックカウンタ110にプリセットしてカウント値の修正を行う。
図15は図14の高速シーク制御部85におけるモード1のゼロクロス誤検出を採用した場合のフローチャートである。このモード1のゼロクロス誤検出を採用した処理にあっては、クロック周波数17kHzのサンプルクロックが得られるごとに実行される。サンプルクロックが得られると、まずステップS1でそのときのトラックカウンタ110のカウント値Nnを読み取り、ステップS2で前回のカウント値N(n−1)との差として変化量ΔNを算出し、ステップS3で速度Vnを計算する。
続いてステップS4で予測速度Vnpを演算し、ステップS5で予測速度Vnpと検出速度Vnとの差を求める。そしてステップS6で速度差ΔVを速度閾値Vthと比較し、速度差Vが速度閾値Vth未満であればゼロクロス誤検出がないものとして、ステップS7で検出速度及びトラックカウンタの値を更新し、ステップS8,S9でVCMの速度制御を行う。
一方、ステップS6で速度差ΔVが速度閾値Vth以上と差が大きくなった場合にはゼロクロス誤検出と判定し、ステップS10〜S12の処理を行う。即ちステップS10で、ステップS4で既に計算している予測速度Vnpを選択し、ステップS11でカウンタ変化量ΔNを予測し、ステップS12でトラックカウンタ110を修正する。そしてステップS8,S9で予測速度Vnpに基づく速度制御を実行する。
図16はモード2によるゼロクロス誤検出の高速シーク処理のフローチャートである。まずステップS1でトラックカウンタ110のカウント値Nnを読み取り、ステップS2でカウンタ変化量ΔNを算出した後、ステップS3で速度Vnを計算する。続いてステップS4で加速度αを算出し、ステップS5で加速度閾値αthと比較する。
加速度閾値αyhより大きければゼロクロス誤検出はないものと判断して、ステップS6で速度及びトラックカウンタの値を更新し、ステップS7,S8でVCMの速度制御を行う。
一方、ステップS5で加速度αが加速度閾値αth以下であった場合にはゼロクロス誤検出と判定し、ステップS9で速度予測を行った後、ステップS10でカウンタ変化量ΔNを予測演算し、ステップS11でトラックカウンタ修正値を求めて修正した後、ステップS7,S8でVCMの速度制御を行う。
尚、上記の実施形態にあっては、図10の低速シーク制御部85と図14の高速シーク制御部86を別々の機能ブロック図で表わしているが、低速シーク制御と高速シーク制御は重複することがないことから、例えば機能構成は低速シーク制御部85に統一し、高速シークと低速シークで異なる処理機能を切り替え、もしくは必要なくなる機能をパスするように機能構成してもよいことはもちろんである。
また本発明の形態としては、図10の低速シーク制御部85と図14の高速シーク制御部86の両方を備えることが望ましいが、図10の低速シーク制御部85に従来構成の高速シーク制御部を組み合わせてもよいし、図14の高速シーク制御部86に従来構成の低速シーク制御部を組み合わせてもよい。また本発明は上記の実施例に示された数値による限定は受けない。