(57)【要約】【課題】ゼロクロス点を精度よく検出する。【解決手段】パルス生成部６０は、モータの目標トルクに応じてデューティ比が変化するＰＷＭ信号Ｓｐｗｍを生成する。逆起検出回路２０は、多相モータの少なくとも１つのコイルに発生する逆起電圧Ｖｕを、コイルの中点電圧Ｖｃｏｍと比較してゼロクロス点を検出し、ゼロクロス点のタイミングでハイレベルとなる逆起検出信号を出力する。パルス調節部８０は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥと、所定のタイミングでハイレベルとなる基準信号ＲＥＦの位相誤差Δφが最小となり、かつ、ＰＷＭ信号Ｓｐｗｍの周波数が逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周波数の整数倍となるように、ＰＷＭ信号Ｓｐｗｍの周波数および位相を調節する。【選択図】図４
2008236843.tif 000002
【特許請求の範囲】
【請求項１】
多相モータに駆動電流を供給して駆動するモータ駆動回路であって、
前記多相モータのコイルごとに設けられ、接続されたコイルの一端に、ハイレベルまたはローレベルの電圧を印加する複数のスイッチング回路と、
前記多相モータの目標トルクに応じてデューティ比が変化するパルス変調信号を生成するパルス変調信号生成部と、
前記多相モータの少なくとも１つのコイルに発生する逆起電圧を、コイルの中点電圧と比較してゼロクロス点を検出し、ゼロクロス点のタイミングで所定レベルとなる逆起検出信号を出力する逆起検出回路と、
前記パルス変調信号生成部からの前記パルス変調信号と、前記逆起検出回路からの前記逆起検出信号と、を受け、前記逆起検出信号にもとづいて駆動する相を切り替えるシーケンス制御を行うとともに、前記パルス変調信号にもとづいて、駆動対象の前記スイッチング回路に含まれるハイサイドスイッチおよびローサイドスイッチの少なくとも一方をスイッチング制御するスイッチング制御部と、
前記逆起検出信号が前記所定レベルになるタイミングと、所定の基準タイミングを比較し、２つのタイミングの位相誤差が最小となり、かつ、前記パルス変調信号の周波数が前記逆起検出信号の周波数の整数倍となるように、前記パルス変調信号の周波数および位相を調節するパルス調節部と、
を備えることを特徴とするモータ駆動回路。
【請求項２】
前記パルス調節部は、
前記逆起検出信号の毎回の周波数を検出し、その誤差に応じた周波数誤差データを生成する周波数誤差検出部と、
前記逆起検出信号が前記所定レベルとなるタイミングと、前記所定の基準タイミングの位相誤差を検出し、位相誤差に応じた位相誤差データを生成する位相誤差検出部と、
を含み、前記周波数誤差データと前記位相誤差データにもとづいて、前記パルス変調信号の周波数および位相を調節することを特徴とする請求項１に記載のモータ駆動回路。
【請求項３】
前記パルス変調信号生成部は、前記逆起検出信号の周期より短い所定の周期でカウントアップまたはカウントダウン動作を繰り返す変調カウンタを含み、当該変調カウンタによるカウント値を目標トルクを示すトルク信号の値でスライスし、
前記パルス調節部は、前記周波数誤差データと前記位相誤差データにもとづくタイミングで、前記変調カウンタをセットするカウンタセット部を含むことを特徴とする請求項２に記載のモータ駆動回路。
【請求項４】
前記パルス調節部は、前記変調カウンタと同じ周期で動作するフリーランカウンタをさらに含み、
前記周波数誤差検出部は、ｉ（ｉは任意の自然数）回目に前記逆起検出信号が所定レベルとなる時刻における前記フリーランカウンタのカウント値Ｐ［ｉ］をモニタし、その前の（ｉ−１）回目に前記逆起検出信号が所定レベルとなる時刻における前記フリーランカウンタのカウント値Ｐ［ｉ−１］との差分ΔＰ［ｉ］＝Ｐ［ｉ］−Ｐ［ｉ−１］を毎回演算し、今回の差分ΔＰ［ｉ］と、前回の差分ΔＰ［ｉ−１］＝Ｐ［ｉ−１］−Ｐ［ｉ−２］で示される周波数誤差δＦ［ｉ］＝ΔＰ［ｉ］−ΔＰ［ｉ−１］を、前記周波数誤差データとして出力することを特徴とする請求項３に記載のモータ駆動回路。
【請求項５】
前記パルス変調信号が、前記スイッチング回路に含まれるハイサイドスイッチおよびローサイドスイッチの少なくとも一方のオン状態を示すレベルとなるオン期間中の検出期間の間、所定レベルとなって逆起検出回路によるゼロクロス点の検出を有効化するマスク信号を生成するマスク信号生成部と、
前記マスク信号によりゼロクロス点の検出が有効化される検出期間中に所定レベルとなり、前記基準タイミングを規定する基準信号を生成する基準信号生成部と、
をさらに備え、
前記パルス調節部は、前記逆起検出信号と前記基準信号の位相誤差を検出し、位相誤差に応じた位相誤差データを生成することを特徴とする請求項１から４のいずれかに記載のモータ駆動回路。
【請求項６】
多相モータに駆動電流を供給して駆動するモータ駆動回路であって、
前記多相モータのコイルごとに設けられ、接続されたコイルの一端に、ハイレベルまたはローレベルの電圧を印加する複数のスイッチング回路と、
前記多相モータの目標トルクに応じてデューティ比が変化するパルス変調信号を生成するパルス変調信号生成部と、
前記多相モータの少なくとも１つのコイルに発生する逆起電圧を、コイルの中点電圧と比較してゼロクロス点を検出し、ゼロクロス点のタイミングで所定レベルとなる逆起検出信号を出力する逆起検出回路と、
前記パルス変調信号生成部からの前記パルス変調信号と、前記逆起検出回路からの前記逆起検出信号と、を受け、前記逆起検出信号にもとづいて駆動する相を切り替えるシーケンス制御を行うとともに、前記パルス変調信号にもとづいて、駆動対象の前記スイッチング回路に含まれるハイサイドスイッチおよびローサイドスイッチの少なくとも一方をスイッチング制御するスイッチング制御部と、
前記逆起検出回路からの前記逆起検出信号を受け、前記逆起検出信号が前記所定レベルとなるタイミングに応じて、前記パルス変調信号の位相を変化させるパルス調節部と、
を備えることを特徴とするモータ駆動回路。
【請求項７】
前記パルス変調信号生成部は、所定の周波数の周期信号を、前記多相モータの目標トルクに応じた値でスライスして、デューティ比が変化するパルス変調信号を生成し、
前記パルス調節部は、前記逆起検出信号が前記所定レベルとなるタイミングに応じて、前記周期信号の位相を変化させることを特徴とする請求項６に記載のモータ駆動回路。
【請求項８】
前記パルス変調信号生成部は、前記逆起検出信号の周期より短い所定の周期でカウントアップまたはカウントダウン動作を繰り返す変調カウンタを含み、当該変調カウンタによるカウント値と目標トルクを示すトルク信号の値の大小関係に応じて前記パルス変調信号のレベルを設定し、
前記パルス調節部は、前記逆起検出信号が前記所定レベルとなるタイミングに応じて、前記変調カウンタをセットするカウンタセット部を含むことを特徴とする請求項７に記載のモータ駆動回路。
【請求項９】
前記パルス調節部は、
前記逆起検出信号が前記所定レベルとなるタイミングごとにセットされ、カウントを開始する第２カウンタと、
前記第２カウンタを監視し、前記逆起検出信号が前記所定レベルとなってから、次に前記逆起検出信号が前記所定レベルとなるまでの間の当該第２カウンタのカウント値の変化量を取得し、取得した値を前記第２カウンタの次のセット時の初期値に設定する初期値設定部と、
をさらに含み、
前記カウンタセット部は、前記第２カウンタのカウント値が所定の値となるごとに、前記変調カウンタをセットすることを特徴とする請求項８に記載のモータ駆動回路。
【請求項１０】
１つの半導体基板上に一体集積化されたことを特徴とする請求項１から９のいずれかに記載のモータ駆動回路。
【請求項１１】
ディスクを回転させるスピンドルモータと、
前記スピンドルモータを駆動する請求項１から９のいずれかに記載のモータ駆動回路と、
を備えることを特徴とするディスク装置。
【請求項１２】
多相モータに駆動電流を供給して駆動するモータ駆動方法であって、
前記多相モータの目標トルクに応じてデューティ比が変化するパルス変調信号を生成するステップと、
前記多相モータの少なくとも１つのコイルに発生する逆起電圧を、コイルの中点電圧と比較してゼロクロス点を検出し、ゼロクロス点のタイミングで所定レベルとなる逆起検出信号を生成するステップと、
前記逆起検出信号にもとづいて駆動する相を切り替えるシーケンス制御を行うとともに、前記パルス変調信号にもとづいて、前記コイルに接続されるハイサイドスイッチおよびローサイドスイッチの少なくとも一方をスイッチング制御するステップと、
前記逆起検出信号が前記所定レベルとなるタイミングと、所定の基準タイミングを比較し、２つのタイミングの位相誤差が最小となり、かつ、前記パルス変調信号の周波数が前記逆起検出信号の周波数の整数倍となるように、前記パルス変調信号の周波数および位相を調節するステップと、
を備えることを特徴とするモータ駆動方法。
【請求項１３】
多相モータに駆動電流を供給して駆動するモータ駆動方法であって、
所定の周波数の周期信号を、前記多相モータの目標トルクに応じた値でスライスし、デューティ比が変化するパルス変調信号を生成するステップと、
前記多相モータの少なくとも１つのコイルに発生する逆起電圧を、コイルの中点電圧と比較してゼロクロス点を検出し、ゼロクロス点のタイミングで所定レベルとなる逆起検出信号を生成するステップと、
前記逆起検出信号にもとづいて駆動する相を切り替えるシーケンス制御を行うとともに、前記パルス変調信号にもとづいて、前記コイルに接続されるハイサイドスイッチおよびローサイドスイッチの少なくとも一方をスイッチング制御するステップと、
前記逆起検出信号を受け、前記逆起検出信号が前記所定レベルとなるタイミングに応じて、前記周期信号の位相を変化させるステップと、
を備えることを特徴とするモータ駆動回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサレスモータを制御するモータ駆動回路に関する。
【背景技術】
【０００２】
ポータブルＣＤ（Compact Disc）装置や、ＤＶＤ（Digital Versatile Disc）など、ディスク型メディアを使用した電子機器において、そのディスクを回転させるためにブラシレス直流モータが用いられる。ブラシレス直流モータは、一般に、永久磁石を備えたロータと、スター結線された複数の相のコイルを備えたステータとを備えており、コイルに供給する電流を制御することによりコイルを励磁し、ロータをステータに対して相対回転させて駆動する。ブラシレスＤＣモータは、ロータの回転位置を検出するために、一般に、ホール素子や光学エンコーダなどのセンサを備えており、センサにより検出された位置に応じて、各相のコイルに供給する電流を切り換えて、ロータに適切なトルクを与える。
【０００３】
モータをより小型化するために、ホール素子などのセンサを利用せずにロータの回転位置を検出するセンサレスモータも提案されている（たとえば、特許文献１、２参照）。センサレスモータは、たとえばモータの中点配線の電位（以下、中点電圧という）と、コイルの一端に発生する逆起電圧（誘導電圧）をモニタし、中点電圧と等しくなるゼロクロス点を検出することにより位置情報を得る。
【０００４】
【特許文献１】特開平３−２０７２５０号公報
【特許文献２】特開平１０−２４３６８５号公報
【特許文献３】特開平１１−７５３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
図１（ａ）〜（ｃ）は、パルス変調駆動する場合のゼロクロス点の検出の様子を示すタイムチャートである。図１（ａ）は、パルス変調された信号ＰＷＭを、同図（ｂ）は、ゼロクロス点の検出対象となるコイルに発生する相電圧（以下、逆起電圧Ｖｕともいう）および中点電圧Ｖｃｏｍを、同図（ｃ）は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの波形図を示す。図１（ａ）〜（ｃ）は、モータのコイルに流れる電流を、正弦波状、あるいはアーチ状に連続的に変化させる目的で、モータのコイルに印加する電圧を、パルス変調により制御している。
【０００６】
図１（ｂ）に示すように、ゼロクロス点の検出対象となるコイルに発生する逆起電圧Ｖｕには、同図（ａ）に示すパルス変調された信号のオフからオンへの遷移のタイミング、あるいはオンからオフのタイミングでノイズ成分が現れる。このノイズ成分によって、相電圧Ｖｕと中点電圧Ｖｃｏｍを比較して得られる逆起検出信号がハイレベルとローレベルを繰り返し、ゼロクロス点が誤検出されてしまう。ゼロクロス点の誤検出は、ロータの位置の誤検出に他ならないため、回転精度の悪化や、回転不良などの問題を引き起こす。
【０００７】
本発明はこうした状況に鑑みてなされたものであり、その包括的な目的は、モータをパルス変調して駆動する際の、ゼロクロス点の正確な検出技術の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は、多相モータに駆動電流を供給して駆動するモータ駆動回路に関する。このモータ駆動回路は、多相モータのコイルごとに設けられ、接続されたコイルの一端に、ハイレベルまたはローレベルの電圧を印加する複数のスイッチング回路と、多相モータの目標トルクに応じてデューティ比が変化するパルス変調信号を生成するパルス変調信号生成部と、多相モータの少なくとも１つのコイルに発生する逆起電圧を、コイルの中点電圧と比較してゼロクロス点を検出し、ゼロクロス点のタイミングで所定レベルとなる逆起検出信号を出力する逆起検出回路と、パルス変調信号生成部からのパルス変調信号と、逆起検出回路からの逆起検出信号と、を受け、逆起検出信号にもとづいて駆動する相を切り替えるシーケンス制御を行うとともに、パルス変調信号にもとづいて、駆動対象のスイッチング回路に含まれるハイサイドスイッチおよびローサイドスイッチの少なくとも一方をスイッチング制御するスイッチング制御部と、逆起検出信号が所定レベルになるタイミングと、所定の基準タイミングを比較し、２つのタイミングの位相誤差が最小となり、かつ、パルス変調信号の周波数が逆起検出信号の周波数の整数倍となるように、パルス変調信号の周波数および位相を調節するパルス調節部と、を備える。
【０００９】
「パルス変調」とは、パルス幅変調（ＰＷＭ）、パルス周波数変調（ＰＦＭ）、パルス位置変調（ＰＰＭ）など、パルスのハイレベルとローレベルの期間の比率、すなわちデューティ比が変化する信号を利用した変調をいう。
この態様によると、逆起検出信号の周波数とパルス変調信号の周波数が整数倍となり、かつ、逆起検出信号が示すゼロクロス点のタイミングが基準信号のタイミングと一致するようにフィードバックがかかり、パルス変調信号の周波数および位相が調節される。したがって、ゼロクロス点を検出するタイミングを、基準信号のタイミング付近に設定することにより、ゼロクロス点を少ない遅延で精度よく検出することができる。
【００１０】
パルス調節部は、逆起検出信号の毎回の周波数を検出し、その誤差に応じた周波数誤差データを生成する周波数誤差検出部と、逆起検出信号が所定レベルとなるタイミングと、所定の基準タイミングの位相誤差を検出し、位相誤差に応じた位相誤差データを生成する位相誤差検出部と、を含み、周波数誤差データと位相誤差データにもとづいて、パルス変調信号の周波数および位相を調節してもよい。
【００１１】
パルス変調信号生成部は、逆起検出信号の周期より短い所定の周期でカウントアップまたはカウントダウン動作を繰り返す変調カウンタを含み、変調カウンタによるカウント値と目標トルクを示すトルク信号の値の大小関係に応じてレベルが遷移するパルス変調信号を生成してもよい。パルス調節部は、周波数誤差データと位相誤差データにもとづくタイミングで、変調カウンタをセットするカウンタセット部を含んでもよい。
「カウンタをセットする」とは、カウント値を初期値に設定することをいう。
この場合、カウント値はのこぎり波状の波形となるため、トルク信号の値でスライスすることによりパルス幅変調されたパルス変調信号を生成することができる。のこぎり波の頂点の個数は、パルス変調信号の周波数に対応するから、逆起検出信号の１周期に、整数個ののこぎり波が含まれるように変調カウンタをセットすることにより、パルス変調信号の周波数および位相を調節することができる。
【００１２】
パルス調節部は、変調カウンタと同じ周期で動作するフリーランカウンタをさらに含んでもよい。周波数誤差検出部は、ｉ（ｉは任意の自然数）回目に逆起検出信号が所定レベルとなる時刻におけるフリーランカウンタのカウント値Ｐ［ｉ］をモニタし、その前の（ｉ−１）回目に逆起検出信号が所定レベルとなる時刻におけるフリーランカウンタのカウント値Ｐ［ｉ−１］との差分ΔＰ［ｉ］＝Ｐ［ｉ］−Ｐ［ｉ−１］を毎回演算し、今回の差分ΔＰ［ｉ］と、前回の差分ΔＰ［ｉ−１］＝Ｐ［ｉ−１］−Ｐ［ｉ−２］で示される周波数誤差δＦ［ｉ］＝ΔＰ［ｉ］−ΔＰ［ｉ−１］を、周波数誤差データとして出力してもよい。
【００１３】
フリーランカウンタは、セットされることなく同じ周期でカウントアップまたはカウントダウンを繰り返す。モータが一定の回転数で回転するとき、逆起検出信号の所定レベルとなる時間間隔（つまり周波数）は一定である。したがって、モータの回転数が一定のとき、カウント値の差分ΔＰは一定となる。逆に言えば、モータの回転数が変化すると、モニタされる差分ΔＰが変化することになる。
この態様によれば、逆起検出信号の周波数（モータの回転数）の変動をモニタすることができ、その変動に応じて変調カウンタをセットするタイミングを調節することにより、パルス変調信号の周波数を逆起検出信号の周波数の整数倍に設定することができる。
【００１４】
ある態様のモータ駆動回路は、パルス変調信号が、スイッチング回路に含まれるハイサイドスイッチおよびローサイドスイッチの少なくとも一方のオン状態を示すレベルとなるオン期間中の検出期間の間、所定レベルとなって逆起検出回路によるゼロクロス点の検出を有効化するマスク信号を生成するマスク信号生成部と、マスク信号によりゼロクロス点の検出が有効化される検出期間中に所定レベルとなり、基準タイミングを規定する基準信号を生成する基準信号生成部と、をさらに備えてもよい。パルス調節部は、逆起検出信号と基準信号の位相誤差を検出し、位相誤差に応じた位相誤差データを生成してもよい。
【００１５】
本発明の別の態様も、多相モータに駆動電流を供給して駆動するモータ駆動回路に関する。このモータ駆動回路は、多相モータのコイルごとに設けられ、接続されたコイルの一端に、ハイレベルまたはローレベルの電圧を印加する複数のスイッチング回路と、多相モータの目標トルクに応じてデューティ比が変化するパルス変調信号を生成するパルス変調信号生成部と、多相モータの少なくとも１つのコイルに発生する逆起電圧を、コイルの中点電圧と比較してゼロクロス点を検出し、ゼロクロス点のタイミングで所定レベルとなる逆起検出信号を出力する逆起検出回路と、パルス変調信号生成部からのパルス変調信号と、逆起検出回路からの逆起検出信号と、を受け、逆起検出信号にもとづいて駆動する相を切り替えるシーケンス制御を行うとともに、パルス変調信号にもとづいて、駆動対象の前記スイッチング回路に含まれるハイサイドスイッチおよびローサイドスイッチの少なくとも一方をスイッチング制御するスイッチング制御部と、逆起検出回路からの逆起検出信号を受け、逆起検出信号が所定レベルとなるタイミングに応じて、パルス変調信号の位相を変化させるパルス調節部と、を備える。
【００１６】
この態様によれば、ゼロクロスのタイミングが、所定の基準タイミングと一致するように帰還がかかる。したがって、ゼロクロス点を検出するタイミングを、基準信号のタイミング付近に設定することにより、ゼロクロス点のタイミングを少ない遅延で精度よく検出することができる。
【００１７】
パルス変調信号生成部は、所定の周波数の周期信号を、多相モータの目標トルクに応じた値でスライスして、デューティ比が変化するパルス変調信号を生成し、パルス調節部は、逆起検出信号が所定レベルとなるタイミングに応じて、周期信号の位相を変化させてもよい。
【００１８】
パルス変調信号生成部は、逆起検出信号の周期より短い所定の周期でカウントアップまたはカウントダウン動作を繰り返す変調カウンタを含み、当該変調カウンタによるカウント値を目標トルクを示すトルク信号の値でスライスしてもよい。パルス調節部は、逆起検出信号が所定レベルとなるタイミングに応じて、変調カウンタをセットするカウンタセット部を含んでもよい。
【００１９】
パルス調節部は、逆起検出信号が所定レベルとなるタイミングごとにセットされ、カウントを開始する第２カウンタと、第２カウンタを監視し、逆起検出信号が所定レベルとなってから、次に逆起検出信号が所定レベルとなるまでの間の当該第２カウンタのカウント値の変化量を取得し、取得した値を第２カウンタの次のセット時の初期値に設定する初期値設定部と、をさらに含んでもよい。カウンタセット部は、第２カウンタのカウント値が所定の値となるごとに、変調カウンタをセットしてもよい。
【００２０】
ある態様のモータ駆動回路は、１つの半導体基板上に一体集積化されてもよい。「一体集積化」とは、回路の構成要素のすべてが半導体基板上に形成される場合や、回路の主要構成要素が一体集積化される場合が含まれ、回路定数の調節用に一部の抵抗やキャパシタなどが半導体基板の外部に設けられていてもよい。モータ駆動回路を、１つのＬＳＩとして集積化することにより、回路面積を削減することができる。
【００２１】
本発明の別の態様は、ディスク装置である。この装置は、ディスクを回転させるスピンドルモータと、スピンドルモータを駆動する上述のモータ駆動回路と、を備える。
この態様によると、モータ駆動回路によるゼロクロス点を精度よく検出できるため、スピンドルモータを安定に回転させることができる。
【００２２】
本発明のさらに別の態様は、多相モータに駆動電流を供給して駆動するモータ駆動方法に関する。この方法は、多相モータの目標トルクに応じてデューティ比が変化するパルス変調信号を生成するステップと、多相モータの少なくとも１つのコイルに発生する逆起電圧を、コイルの中点電圧と比較してゼロクロス点を検出し、ゼロクロス点のタイミングで所定レベルとなる逆起検出信号を生成するステップと、逆起検出信号にもとづいて駆動する相を切り替えるシーケンス制御を行うとともに、パルス変調信号にもとづいて、コイルに接続されるハイサイドスイッチおよびローサイドスイッチの少なくとも一方をスイッチング制御するステップと、逆起検出信号の１周期内の所定のタイミングで所定レベルとなる基準信号を生成するステップと、逆起検出信号と基準信号の位相誤差が最小となり、かつ、パルス変調信号の周波数が逆起検出信号の周波数の整数倍となるように、パルス変調信号の周波数および位相を調節するステップと、を備える。
【発明の効果】
【００２３】
本発明によれば、モータをパルス変調して駆動する際に、ゼロクロス点を正確に検出することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００２５】
本明細書において、「部材Ａと部材Ｂが接続」された状態とは、部材Ａと部材Ｂが物理的に直接的に接続される場合や、部材Ａと部材Ｂが、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
同様に、「部材Ａと部材Ｂの間に部材Ｃが設けられた状態」とは、部材Ａと部材Ｃ、あるいは部材Ｂと部材Ｃが直接的に接続される場合のほか、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
【００２６】
（第１の実施の形態）
図２は、実施の形態に係るモータ駆動回路１００の構成を示すブロック図である。モータ駆動回路１００は、センサレスブラシレスＤＣモータ（以下、単に「モータ１１０」という）に駆動電流を供給して回転を制御する。本実施の形態において、駆動対象となるモータ１１０は、Ｕ相、Ｖ相、Ｗ相のコイルＬｕ、Ｌｖ、Ｌｗを含む３相ＤＣモータである。
【００２７】
モータ駆動回路１００は、スイッチング回路１０と総称されるスイッチング回路１０ｕ、１０ｖ、１０ｗと、逆起検出回路２０と、スイッチング制御部３０と、パルス幅変調信号生成部（以下、ＰＷＭ信号生成部という）５０を備える。モータ駆動回路１００は、１つの半導体基板上に機能ＩＣとして一体集積化される。たとえば、モータ駆動回路１００は、所望のトルクが得られるように、多相のモータ１１０をＰＷＭ駆動する。さらに、１８０度通電方式により、各相のコイルに流れる電流が、アーチ状あるいは正弦波状となるようにＰＷＭ駆動のデューティ比を変化させてもよい。
【００２８】
スイッチング回路１０ｕ、１０ｖ、１０ｗは、モータ１１０のコイルＬｕ、Ｌｖ、Ｌｗごとに設けられる。スイッチング回路１０ｕは、たとえば電源電圧と接地電位間に直列に接続されたハイサイドスイッチおよびローサイドスイッチ（不図示）を含んで構成され、２つのスイッチの接続点がコイルＬｕの一端に接続される。ハイサイドスイッチおよびローサイドスイッチの制御端子（ゲート）には、駆動信号ＤＲＶ＿Ｈ（Ｕ）および駆動信号ＤＲＶ＿Ｌ（Ｕ）がそれぞれ入力される。スイッチング回路１０ｕは、接続されたコイルＬｕの一端に、ハイサイドスイッチがオンの状態でハイレベルの電圧（Ｖｄｄ）を印加し、ローサイドスイッチがオンの状態でローレベルの電圧（０Ｖ）を印加する。また、ハイサイドスイッチおよびローサイドスイッチが同時にオフすることで、ハイインピーダンス状態に設定される。Ｖ相、Ｗ相についても同様である。
【００２９】
逆起検出回路２０は、モータ１１０の少なくとも１つのコイルに発生する逆起電圧を、コイルの中点電圧と比較してゼロクロス点を検出し、２つの電圧が交差するゼロクロス点のタイミングで所定レベル（以下、ハイレベルとする）となる逆起検出信号ＢＥＭＦ＿ＥＤＧＥを出力する。本実施の形態において、逆起検出回路２０は、Ｕ相のコイルＬｕに発生する逆起電圧Ｖｕおよび中点電圧Ｖｃｏｍをモニタして逆起検出信号ＢＥＭＦ＿ＥＤＧＥを生成する。生成された逆起検出信号ＢＥＭＦ＿ＥＤＧＥは、駆動タイミング生成部３２、ウィンドウ生成部４０、ＰＷＭ信号生成部５０へと出力される。逆起検出回路２０の詳細については後述する。
【００３０】
ＰＷＭ信号生成部５０は、少なくともモータ１１０の目標トルクに応じてデューティ比が変化するパルス幅変調信号（以下、ＰＷＭ信号Ｓｐｗｍという）を生成する。ＰＷＭ信号生成部５０は、三角波やのこぎり波状の周期信号Ｓｏｓｃと、トルクを指示する信号（以下、トルク信号という）ＴＲＱのレベルを比較し、大小関係に応じてＰＷＭ信号Ｓｐｗｍのハイレベルとローレベルの期間を変化させる。なお、ＰＷＭ信号生成部５０は、デジタル回路、アナログ回路のいずれで構成されてもよい。以下、デジタル回路による構成を例に説明するが、同等の機能を有するアナログ回路による置換は可能である。
【００３１】
ＰＷＭ信号生成部５０は、コイルＬｕ、Ｌｖ、Ｌｗに流れるコイル電流を、緩やかに変化させるために、目標トルクと、正弦波状あるいはアーチ状の制御波形を合成して、ＰＷＭ信号Ｓｐｗｍを生成してもよい。
【００３２】
スイッチング制御部３０は、ＰＷＭ信号生成部５０からのＰＷＭ信号Ｓｐｗｍと、逆起検出回路２０からの逆起検出信号ＢＥＭＦ＿ＥＤＧＥと、を受ける。スイッチング制御部３０は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥにもとづいて駆動する相（Ｕ，Ｖ，Ｗ）を切り替えるシーケンス制御を行う。また、ＰＷＭ信号Ｓｐｗｍにもとづいて、スイッチング回路１０に含まれるハイサイドスイッチＭＨおよびローサイドスイッチＭＬの少なくとも一方をスイッチング制御する。
【００３３】
この機能を実現するために、スイッチング制御部３０は、駆動タイミング生成部３２、駆動信号合成回路３４、ウィンドウ生成部４０を含む。
駆動タイミング生成部３２は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥを受け、複数のスイッチング回路１０ｕ、１０ｖ、１０ｗのオンオフ状態のシーケンスを制御するための駆動信号ＤＲＶを生成する。たとえば、駆動信号ＤＲＶは、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周期Ｔｐ１の１／６の周期を有する信号である。駆動信号ＤＲＶは、１８０度通電、１２０度通電などの方式に応じて生成すればよい。
【００３４】
駆動信号合成回路３４は、駆動信号ＤＲＶと、ＰＷＭ信号Ｓｐｗｍを合成して、駆動信号ＤＲＶ＿Ｈ（Ｕ、Ｖ、Ｗ）、ＤＲＶ＿Ｌ（Ｕ、Ｖ、Ｗ）を出力し、スイッチング回路１０ｕ、１０ｖ、１０ｗの状態を制御する。具体的には、駆動信号合成回路３４は、ＰＷＭ信号Ｓｐｗｍにもとづいて、複数のスイッチング回路１０ｕ、１０ｖ、１０ｗに含まれるハイサイドスイッチＭＨおよびローサイドスイッチＭＬの少なくとも一方をＰＷＭ方式によりスイッチング制御する。
【００３５】
ウィンドウ生成部４０は、逆起検出回路２０によるゼロクロス点の検出に先立ち、逆起検出の対象となるコイルＬｕに接続されるスイッチング回路１０ｕのスイッチングを停止してハイインピーダンスに設定するためのウィンドウ信号ＷＩＮＤＯＷを生成する。本実施の形態において、所定レベルはハイレベルである。１２０度通電を行う場合などにおいて、逆起検出の対象となるコイルＬｕに、電流が流れない期間が存在する場合には、ウィンドウ生成部４０は省略することができる。
【００３６】
ウィンドウ信号ＷＩＮＤＯＷは、駆動信号合成回路３４へと出力される。駆動信号合成回路３４は、ウィンドウ信号ＷＩＮＤＯＷがハイレベルである期間、ゼロクロス点の検出のためにモニタすべき逆起電圧Ｖｕが発生する端子に接続されたスイッチング回路１０ｕのスイッチングを停止し、ハイインピーダンス状態に設定する。すなわち、ウィンドウ信号ＷＩＮＤＯＷがハイレベルとなる期間は、ゼロクロス点の検出のために、故意に駆動しない相が設定される。本実施の形態では、非駆動期間Ｔｐ３において、Ｕ相が駆動しない相に設定される。
【００３７】
以上のように構成されたモータ駆動回路１００の全体動作を説明する。図３（ａ）〜（ｌ）は、図２のモータ駆動回路１００の動作を示すタイムチャートである。同図（ａ）〜（ｌ）の縦軸および横軸は、理解を容易とするために適宜拡大、縮小したものであり、また示される各波形も、理解の容易のために簡略化されている。同図（ａ）〜（ｃ）は、スイッチング回路１０ｕ、１０ｖ、１０ｗにより、Ｕ相、Ｖ相、Ｗ相のコイルＬｕ、Ｌｖ、Ｌｗの駆動状態を示す波形である。同図（ｄ）は、逆起検出回路２０により検出される逆起検出信号ＢＥＭＦ＿ＥＤＧＥを、同図（ｅ）は、駆動タイミング生成部３２により生成される駆動信号ＤＲＶを、同図（ｆ）は、ウィンドウ生成部４０により生成されるウィンドウ信号ＷＩＮＤＯＷを、示す。さらに、同図（ｇ）〜（ｌ）は、スイッチング回路１０ｕ〜１０ｗの、ハイサイドスイッチＭＨおよびローサイドスイッチＭＬの駆動信号ＤＲＶ＿Ｈ、ＤＲＶ＿Ｌを示す。
【００３８】
図３（ａ）〜（ｃ）に示すように、本実施の形態では、駆動電流がアーチ波形となるように駆動される。もっとも、本発明はこれに限定されるものではなく、正弦波であってもよいことは上述した通りである。さらには、駆動電流が一定となるように駆動してもよい。本実施の形態において、逆起検出信号ＢＥＭＦ＿ＥＤＧＥは、同図（ｄ）に示すように逆起電圧Ｖｕが中点電圧Ｖｃｏｍと交差するゼロクロス点ごとに生成される。駆動タイミング生成部３２は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周期Ｔｐ１を１／６倍した同図（ｅ）に示す駆動信号ＤＲＶを生成する。駆動信号ＤＲＶは、図示のごとく、逆起検出信号ＢＥＭＦ＿ＥＤＧＥに対してある遅延Ｔｄが与えられてもよい。この遅延Ｔｄを調節することにより、モータ駆動が最適化される。
【００３９】
駆動信号合成回路３４は、駆動タイミング生成部３２により生成された駆動信号ＤＲＶにもとづき、スイッチング回路１０ｕ〜１０ｗのオンオフを制御するための駆動信号ＤＲＶ＿Ｈ（Ｕ、Ｖ、Ｗ）、ＤＲＶ＿Ｌ（Ｕ、Ｖ、Ｗ）を生成する。この駆動シーケンスは、通電角などに応じて適宜設定される。
【００４０】
図３（ｇ）に示す駆動信号ＤＲＶ＿ＨＵは、ハイレベルがスイッチング回路１０ｕのハイサイドスイッチのオン状態に、ローレベルがオフ状態に対応する。同図（ｈ）〜（ｌ）に示す駆動信号ＤＲＶ＿Ｈ（Ｖ、Ｗ）、ＤＲＶ＿Ｌ（Ｕ、Ｖ、Ｗ）についても同様である。さらに、ハイサイドスイッチ、あるいはローサイドスイッチの少なくとも一方のオン状態は、同図（ａ）〜（ｃ）に示す駆動波形が得られるように、パルス幅変調されており、スイッチング回路１０ｕ〜１０ｗのハイサイドスイッチもしくはローサイドスイッチは、ＰＷＭ信号にもとづいて高い周波数でオンオフを交互に繰り返す。
【００４１】
駆動信号合成回路３４は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥが出力されるたびに、所定の駆動シーケンスにしたがって、スイッチング回路１０ｕ〜１０ｗの駆動信号ＤＲＶ＿Ｈ、ＤＲＶ＿Ｌのオンオフ状態を遷移させる。
【００４２】
同図（ｆ）に示すウィンドウ信号ＷＩＮＤＯＷは、ゼロクロス点が発生する時刻に先立ち、ウィンドウ生成部４０によりハイレベルとされる。駆動信号合成回路３４は、ウィンドウ生成部４０がハイレベルの期間、スイッチング回路１０ｕに出力する駆動信号ＤＲＶ＿ＨＵ、ＤＲＶ＿ＬＵをローレベルとし、ハイサイドスイッチおよびローサイドスイッチをオフして、ハイインピーダンス状態とする。同図（ｇ）、（ｊ）に、ゼロクロス点の検出のために、ハイインピーダンス状態に設定される期間を斜線で示す。ウィンドウ信号ＷＩＮＤＯＷがハイレベルとなり、コイルＬｕの一端がハイインピーダンス状態に設定されると、ゼロクロス点の検出が可能となり、逆起検出信号ＢＥＭＦ＿ＥＤＧＥが生成される。
【００４３】
以上がモータ駆動回路１００の全体構成および動作の概略である。次に、逆起検出回路２０およびＰＷＭ信号生成部５０について説明する。
図４は、第１の実施の形態に係る図２の逆起検出回路２０およびＰＷＭ信号生成部５０の構成を示すブロック図である。図５（ａ）〜（ｈ）は、図４の逆起検出回路２０およびＰＷＭ信号生成部５０により生成される各信号の波形を示すタイムチャートである。
【００４４】
本実施の形態に係る逆起検出回路２０には、逆起電圧Ｖｕ、中点電圧Ｖｃｏｍ、マスク信号ＭＳＫが入力される。マスク信号ＭＳＫは、ゼロクロス点の検出を有効とする検出期間Ｔｄｅｔを設定する信号であり、ゼロクロス点の検出はマスク信号ＭＳＫが所定レベル（ローレベル）の期間のみ有効となる。マスク信号ＭＳＫは後述のマスク信号生成部６６により生成される。
【００４５】
逆起検出回路２０は、コンパレータ２２、ＡＮＤゲート２３、フリップフロップ２４を含む。コンパレータ２２は逆起電圧Ｖｕと中点電圧Ｖｃｏｍを比較し、大小関係に応じた比較信号Ｓｃｍｐを出力する。ＡＮＤゲート２３は、比較信号Ｓｃｍｐと、マスク信号ＭＳＫの論理反転（＊ＭＳＫ）の論理積を出力する。フリップフロップ２４は、ＡＮＤゲート２３の出力を、システムクロックＣＫにもとづいてラッチする。このように構成された逆起検出回路２０によれば、マスク信号ＭＳＫがローレベルの検出期間ＴｄｅｔにＶｕ＞Ｖｃｏｍとなると、逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなりゼロクロス点が検出される。検出期間Ｔｄｅｔ以外でＶｕ＞Ｖｃｏｍとなってもマスクされるため、ゼロクロス点は検出されない。
【００４６】
ＰＷＭ信号生成部５０には、トルクを指示する信号ＴＲＱが入力される。ＰＷＭ信号生成部５０は、トルク信号ＴＲＱに応じてパルス幅（デューティ比）が変化するＰＷＭ信号Ｓｐｗｍを生成する。さらにＰＷＭ信号生成部５０には、逆起検出回路２０により生成された逆起検出信号ＢＥＭＦ＿ＥＤＧＥが入力される。
【００４７】
ＰＷＭ信号生成部５０は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなるタイミング、つまりその周波数（周期）を帰還量として、ＰＷＭ信号Ｓｐｗｍのデューティ比および位相をフィードバックによって調節する。以下、このフィードバックについて説明する。
【００４８】
ＰＷＭ信号生成部５０は、パルス生成部６０、パルス調節部８０を含む。それぞれのブロックは、以下の機能を有する。
【００４９】
パルス生成部６０は、ＰＷＭ信号Ｓｐｗｍ、マスク信号ＭＳＫ、基準信号ＲＥＦの３つの信号を生成する。パルス生成部６０は、変調カウンタ６２、基準信号生成部６４、マスク信号生成部６６、トルク制御部６８を含む。
【００５０】
トルク制御部６８は、外部から入力されたトルク信号ＴＲＱに応じたデューティ比を有するＰＷＭ信号Ｓｐｗｍを生成する。変調カウンタ６２にはシステムクロックＣＫが入力されており、あるタイミングでセットされると、カウントアップ（またはカウントダウン）を開始し、これを所定の周波数（周期）で繰り返す。このように生成されるカウント値ＣＮＴは、のこぎり波となる。トルク制御部６８は、変調カウンタ６２によるカウント値と目標トルク信号ＴＲＱの値を比較し、ＴＲＱ＞ＣＮＴのときハイレベル、ＴＲＱ＜ＣＮＴのときローレベルとなるＰＷＭ信号Ｓｐｗｍを生成する。ＰＷＭ信号Ｓｐｗｍがハイレベルの期間、スイッチング回路１０によって各コイルＬｕ〜Ｌｗの一端に電源電圧または接地電圧が印加される。以下、ＰＷＭ信号Ｓｐｗｍがハイレベルの期間をオン期間Ｔｏｎという。
【００５１】
また、基準信号生成部６４は所定のタイミングごとに所定レベル（ハイレベル）となる基準信号ＲＥＦを生成する。基準信号ＲＥＦは、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの位相が一致すべきタイミングを規定する。
マスク信号生成部６６は、マスク信号ＭＳＫを生成する。上述したように、マスク信号ＭＳＫは、ゼロクロス点の検出期間Ｔｄｅｔを設定する信号であり、ＰＷＭ信号Ｓｐｗｍのオン期間Ｔｏｎ中の検出期間Ｔｄｅｔの間、ローレベルとなる。マスク信号ＭＳＫを生成するためにマスク信号生成部６６は、ＰＷＭ信号Ｓｐｗｍがハイレベルに遷移したことを契機としてカウントを開始するカウンタ（不図示）を含んでもよい。この場合、カウント値が第１所定値になるとマスク信号ＭＳＫをローレベルとし、その後第２所定値となるとマスク信号ＭＳＫをハイレベルとすればよい。
【００５２】
パルス調節部８０は、逆起検出回路２０からの逆起検出信号ＢＥＭＦ＿ＥＤＧＥと、所定のタイミングで所定レベルとなる基準信号ＲＥＦを受ける。パルス調節部８０は２つの信号の位相を比較し、２つの信号の位相誤差Δφが最小となり、かつ、ＰＷＭ信号Ｓｐｗｍの周波数が逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周波数の整数倍となるように、ＰＷＭ信号Ｓｐｗｍの周波数および位相を調節する。
【００５３】
この機能を実現するために、パルス調節部８０は、位相誤差検出部８２、フリーランカウンタ８４、周波数誤差検出部８６、カウンタセット部８８を含む。
位相誤差検出部８２は、基準信号ＲＥＦと逆起検出信号ＢＥＭＦ＿ＥＤＧＥを受ける。位相誤差検出部８２は、２つの信号の位相誤差Δφを検出し、位相誤差Δφを示す位相誤差信号ＰＥを出力する。位相誤差信号ＰＥは、位相誤差Δφの時間をシステムクロックＣＫでカウントした値である。
【００５４】
パルス調節部８０は、モータ１１０の回転数、すなわち逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周波数（周期時間）を検出する機能を有する。逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周波数の検出は、フリーランカウンタ８４、周波数誤差検出部８６により実行される。
【００５５】
フリーランカウンタ８４は、システムクロックＣＫを受け、変調カウンタ６２と同じ周期で動作する。フリーランカウンタ８４は、変調カウンタ６２と異なり、セットされることなく同じ周期でカウントアップまたはカウントダウンを繰り返す。
【００５６】
周波数誤差検出部８６は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥと、フリーランカウンタ８４のカウント値ＦＲＣＮＴを受ける。周波数誤差検出部８６は、毎回、逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなる時刻におけるフリーランカウンタ８４のカウント値をモニタする。ｉ（ｉは任意の自然数）回目のカウント値をＰ［ｉ］と書く。
周波数誤差検出部８６は、今回のカウント値Ｐ［ｉ］と、その前の（ｉ−１）回目に逆起検出信号が所定レベルとなる時刻におけるフリーランカウンタ８４のカウント値Ｐ［ｉ−１］との差分を、
ΔＰ［ｉ］＝Ｐ［ｉ］−Ｐ［ｉ−１］
により毎回演算する。カウント値Ｐ［ｉ］の差分ΔＰは、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周期時間の変動、すなわち周波数の変動を示すデータとなる。
【００５７】
周波数誤差検出部８６は、今回の差分ΔＰ［ｉ］と、前回の差分ΔＰ［ｉ−１］＝Ｐ［ｉ−１］−Ｐ［ｉ−２］との差
δＦ［ｉ］＝ΔＰ［ｉ］−ΔＰ［ｉ−１］
を演算する。δＦ［ｉ］は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周波数の誤差、言い換えれば周期時間の誤差を示すデータとなる。以下、δＦ［ｉ］を周波数誤差データとよぶ。周波数誤差データδＦ［ｉ］は、周波数（周期時間）の誤差を、システムクロックＣＫのパルス数で示したデータである。
【００５８】
モータ１１０が一定の回転数で回転するとき、逆起検出信号ＢＥＭＦ＿ＥＤＧＥのハイレベルとなる時間間隔は一定である。したがって、モータ１１０の回転数が一定のとき、カウント値Ｐ［ｉ］は、１回転ごとに所定の幅で増加し（または減少する）、δＦ［ｉ］＝ΔＰ［ｉ］−ΔＰ［ｉ−１］は一定値となる。もし、モータ１１０の回転数が上昇すれば、δＦ［ｉ］は増加（または減少）し、モータの回転数は低下すれば、δＦ［ｉ］は減少（または増加）する。
【００５９】
たとえば、連続する４回のカウント値が、Ｐ［ｉ−２］＝８、Ｐ［ｉ−１］＝１２、Ｐ［ｉ］＝１６、Ｐ［ｉ＋１］＝１８、Ｐ［ｉ＋２］＝２２であったとする。
このとき、各差分は、
ΔＰ［ｉ−１］＝４
ΔＰ［ｉ］＝４
ΔＰ［ｉ＋１］＝２
ΔＰ［ｉ＋２］＝４
となり、
δＦ［ｉ］＝０
δＦ［ｉ＋１］＝−２
δＦ［ｉ＋２］＝２
となる。
【００６０】
カウンタセット部８８は、δＦ［ｉ］が０のとき、前回と同じタイミングで変調カウンタ６２をセットし、δＦ［ｉ］が負のとき、前回よりもセットのタイミングを遅らせ、δＦ［ｉ］が正のとき、前回よりもセットのタイミングを早める。
より具体的には、δＦ［ｉ］＝０のとき、カウンタセット部８８は、前回と同じタイミングでセットする。δＦ［ｉ＋１］＝−２の場合、前回のセットのタイミングよりも、システムクロックＣＫの２クロック分、セットのタイミングを早める。δＦ［ｉ＋１］＝２の場合、前回のセットのタイミングよりも、２クロック分、セットのタイミングを遅める。
【００６１】
さらに、カウンタセット部８８は、位相誤差データＰＥに応じて、変調カウンタ６２をセットするタイミングを調節する。上述のように、位相誤差データＰＥが、逆起検出信号ＢＥＭＦ＿ＥＤＧＥと基準信号ＲＥＦとの位相誤差Δφを、システムクロックＣＫの個数で示すとする。たとえば、逆起検出信号ＢＥＭＦ＿ＥＤＧＥが基準信号ＲＥＦよりも、システムクロックＣＫのｍ（ｍは整数）クロック分遅れている場合、変調カウンタ６２をセットするタイミングをクロック数ｍ分だけ遅延させる。逆に、逆起検出信号ＢＥＭＦ＿ＥＤＧＥが基準信号ＲＥＦよりも、システムクロックＣＫのｍ（ｍは整数）クロック分進んでいる場合、変調カウンタ６２をセットするタイミングをクロック数ｍ分だけ早める。
【００６２】
つまり、カウンタセット部８８は、周波数誤差データδＦ［ｉ］と、位相誤差データＰＥを受け、２つの値に応じたタイミングで、変調カウンタ６２をセットする。カウンタセット部８８は、周波数誤差データδＦと位相誤差データＰＥを加算し、加算結果に応じて変調カウンタ６２をセットするタイミングを決定すればよい。
【００６３】
上述したパルス調節部８０の処理によって、位相誤差Δφが０に近づき、ＰＷＭ信号Ｓｐｗｍの周波数が逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周波数の整数倍となるようにフィードバックがかかる。
【００６４】
以下、図５（ａ）〜（ｈ）を参照しつつ、モータ駆動回路１００の動作を詳細に説明する。同図の縦軸や横軸、各波形は、理解を容易とするために簡略化して示しており、実際の波形とは周波数や振幅は異なっている。
【００６５】
時刻ｔ０以前は、非検出期間であり、Ｕ相のコイルに電源電圧Ｖｄｄと接地電圧が交互に印加される。時刻ｔ０に、ウィンドウ生成部４０によってゼロクロス点の検出が指示され、Ｕ相のコイルＬｕがハイインピーダンスに設定される。なお、同図のタイムチャートでは、時刻ｔ０、時刻ｔ２が、変調カウンタ６２のセットのタイミングとなっており、区間ｔ０〜ｔ２が逆起検出信号ＢＥＭＦ＿ＥＤＧＥの１周期に対応づけられる。
【００６６】
同図（ａ）、（ｂ）を参照する。変調カウンタ６２によるカウント値ＣＮＴは、周期Ｔｘののこぎり波となる。トルク制御部６８は、カウント値ＣＮＴと目標トルク信号ＴＲＱの値を比較し、ＴＲＱ＞ＣＮＴのときハイレベル、ＴＲＱ＜ＣＮＴのときローレベルとなるＰＷＭ信号Ｓｐｗｍを生成する。目標トルク信号ＴＲＱが低いほど、ＰＷＭ信号Ｓｐｗｍのデューティ比（Ｔｏｎ／Ｔｘ）は大きくなり、モータ１１０が高トルクで駆動される。
【００６７】
同図（ｃ）に示すように、マスク信号生成部６６により生成されるマスク信号ＭＳＫは、ＰＷＭ信号Ｓｐｗｍのオン時間Ｔｏｎのうちの検出期間Ｔｄｅｔの間、ローレベルとなる。同図（ｄ）に示すように、基準信号ＲＥＦは、変調カウンタ６２がセットされてカウントアップを開始した後、所定時間τの経過後にハイレベルとなる。同図（ｅ）〜（ｇ）は、位相調節部７０による逆起検出信号ＢＥＭＦ＿ＥＤＧＥの生成を示している。逆起検出信号ＢＥＭＦ＿ＥＤＧＥは、時刻ｔ１、時刻ｔ３でハイレベルとなる。
【００６８】
位相誤差検出部８２は、同図（ｇ）、（ｄ）に示される逆起検出信号ＢＥＭＦ＿ＥＤＧＥと基準信号ＲＥＦの位相誤差Δφを検出し、位相誤差Δφに応じた位相誤差信号ＰＥを生成する。
【００６９】
図５（ｈ）はフリーランカウンタ８４のカウント値ＦＲＣＮＴを示す。逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなる時刻ｔ１、ｔ３におけるカウント値は、それぞれＰ［ｉ−１］、Ｐ［ｉ］で示される。周波数誤差検出部８６は、毎周期、カウント値Ｐ［ｉ］をモニタし、前回のカウント値Ｐ［ｉ−１］との差分ΔＰ［ｉ］を算出する。さらに周波数誤差検出部８６は、算出した差分ΔＰ［ｉ］と、前回の差分ΔＰ［ｉ−１］との差である周波数誤差δＦを算出する。
【００７０】
カウンタセット部８８は、周波数誤差δＦ［ｉ］および位相誤差Δφに応じて、次の周期で変調カウンタ６２をセットするタイミングを変化させる。その結果、位相誤差Δφに近づき、かつＰＷＭ信号Ｓｐｗｍの周波数が逆起検出信号ＢＥＭＦ＿ＥＤＧＥの整数倍となるようにフィードバックがかかり、ＰＷＭ信号Ｓｐｗｍの位相および周波数が調節される。
【００７１】
パルス調節部８０の処理によって、時刻ｔ０〜ｔ２の周期には、整数個ののこぎり波が含まれる。なお、時刻ｔ２の直前ののこぎり波の周期はＴｘより小さいが、これも一つののこぎり波である。言い換えれば、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周期を跨いで増加するのこぎり波が存在しない状態を作り出すことにより、ＰＷＭ信号Ｓｐｗｍの周波数が、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周波数の整数倍となる状態を実現している。
【００７２】
以上、実施の形態に係るモータ駆動回路１００の構成および動作について説明した。本実施の形態に係るモータ駆動回路１００によれば、逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなるタイミング、すなわちゼロクロス点の発生するタイミングを所定の基準タイミングと合致させることができる。したがって、基準タイミングを含む時間帯に、検出のタイミング（実施の形態では、検出期間Ｔｄｅｔ）を設けることにより、確実かつ少ない遅延で逆起検出を行うことができる。逆起検出を高精度で行うことにより、モータ１１０の回転を高精度で制御することができる。
【００７３】
別の観点からみれば、本実施の形態に係るモータ駆動回路１００は、ゼロクロス点が発生するタイミングに合わせて逆起検出を行うのではなく、検出を行うタイミングに、ゼロクロス点が発生するようにモータを駆動する。その結果、意図しないタイミングでゼロクロス点が発生して、その検出が遅れるなどの問題を解消することができ、高精度な検出が実現できる。
【００７４】
（第２の実施の形態）
図６は、第２の実施の形態に係るＰＷＭ信号生成部５０ａの構成を示すブロック図である。図７（ａ）〜（ｇ）は、図６の逆起検出回路２０およびＰＷＭ信号生成部５０ａにより生成される各信号の波形を示すタイムチャートである。
【００７５】
図６のＰＷＭ信号生成部５０ａも、図４のＰＷＭ信号生成部５０と同様に、逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなるタイミング、つまりその周波数（周期）を帰還量として、ＰＷＭ信号Ｓｐｗｍのデューティ比および位相をフィードバックによって調節する。以下、このフィードバックについて説明する。
【００７６】
図６のＰＷＭ信号生成部５０ａは、パルス生成部６０ａ、パルス調節部８０ａを含む。
パルス生成部６０ａは、図４のパルス生成部６０に対応する。パルス生成部６０ａは、所定の周波数を有するのこぎり波状の周期信号を、多相モータの目標トルクＴＲＱに応じた値でスライスする。具体的には、変調カウンタ６２は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周期より短い所定の周期で、初期値からのカウントアップまたはカウントダウン動作を繰り返す。つまり、変調カウンタ６２のカウント値ＣＮＴは、のこぎり波状に遷移する周期信号となる。トルク制御部６８は、変調カウンタ６２によるカウント値と、目標トルクを示すトルク信号ＴＲＱの値の大小関係に応じて、ハイレベルとローレベルが遷移するＰＷＭ信号Ｓｐｗｍを生成する。
【００７７】
パルス調節部８０ａは、逆起検出回路２０からの逆起検出信号ＢＥＭＦ＿ＥＤＧＥを受け、逆起検出信号ＢＥＭＦ＿ＥＤＧＥが所定レベル（ハイレベル）となるタイミングに応じて、パルス生成部６０ａ内の周期信号であるカウント値ＣＮＴの位相を変化させる。
この機能を実現するために、パルス調節部８０ａは、逆起検出信号ＢＥＭＦ＿ＥＤＧＥが所定レベル（ハイレベル）となるタイミングに応じて、変調カウンタ６２を初期値ｘにセットする。
【００７８】
パルス調節部８０ａは、第２カウンタ９０、初期値設定部９２、カウンタセット部８８ａを含む。
第２カウンタ９０は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥが所定レベル（ハイレベル）となるタイミングごとに、初期値設定部９２により設定された初期値にセットされ、カウント動作を開始する。第２カウンタ９０は、カウントアップであってもカウントダウンであってもよいが、ここではカウントダウン動作として説明する。また、カウンタに代えて、キャパシタの充放電を利用したアナログ回路を利用してもよい。
【００７９】
初期値設定部９２は、第２カウンタ９０のカウント値ＣＮＴ２を監視する。初期値設定部９２は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなってから、次に逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなるまでの間の、カウント値ＣＮＴ２の変化量ΔＣＮＴ２を取得する。初期値設定部９２は、取得した変化量ΔＣＮＴ２を第２カウンタ９０の次のセット時の初期値ｘに設定する。
カウンタセット部８８ａは、第２カウンタ９０のカウント値ＣＮＴ２が所定値ｚとなるごとに、変調カウンタ６２をセットする。
【００８０】
以上が図６のＰＷＭ信号生成部５０ａの構成である。この構成によれば、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周期（周波数）、つまりカウント値ＣＮＴ２の変化量ΔＣＮＴ２が一定値に収束するように帰還がかかる。つまり、第２カウンタ９０のセット時の初期値ｘが一定値に収束する。
帰還によりループが安定した状態では、セット時の初期値ｘが一定値に収束するため、逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなるタイミング、すなわちゼロクロスのタイミングは、カウント値ＣＮＴ２が０となるタイミングに収束する。
【００８１】
変調カウンタ６２がセットされるタイミングは、第２カウンタ９０のカウント値ＣＮＴ２が所定値ｚとなるタイミングであるから、変調カウンタ６２がセットされるタイミング（ＣＮＴ２＝Ｚ）から、ゼロクロスが発生するタイミング（ＣＮＴ２＝０）の間隔τは、一定値に収束していく。したがって、図６のＰＷＭ信号生成部５０ａによれば、ゼロクロスのタイミングを、変調カウンタ６２のセットのタイミングから所定時間τ経過後のタイミングに収束させることができる。
【００８２】
以下、図７（ａ）〜（ｇ）を参照しつつ、モータ駆動回路１００の動作を説明する。同図の縦軸や横軸、各波形は、理解を容易とするために簡略化して示しており、実際の波形とは周波数や振幅は異なっている。
【００８３】
時刻ｔ０以前は、非検出期間であり、Ｕ相のコイルに電源電圧Ｖｄｄと接地電圧が交互に印加される。時刻ｔ０に、ウィンドウ生成部４０によってゼロクロス点の検出が指示され、Ｕ相のコイルＬｕがハイインピーダンスに設定される。なお、同図のタイムチャートでは、時刻ｔ０、時刻ｔ２が、変調カウンタ６２のセットのタイミングとなっており、区間ｔ０〜ｔ２が逆起検出信号ＢＥＭＦ＿ＥＤＧＥの１周期に対応づけられる。
【００８４】
同図（ｄ）〜（ｆ）は、位相調節部７０による逆起検出信号ＢＥＭＦ＿ＥＤＧＥの生成を示している。逆起検出信号ＢＥＭＦ＿ＥＤＧＥは、時刻ｔ１、時刻ｔ３でハイレベルとなる。
【００８５】
図７（ｇ）は、第２カウンタ９０のカウント値ＣＮＴ２を示す。第２カウンタ９０はダウンカウンタであり、初期値ｘからクロックＣＫごとにカウントダウンを行う。カウンタセット部８８ａは、カウント値ＣＮＴ２が所定値ｚに達する時刻ｔ０および時刻ｔ２に、変調カウンタ６２をセットする。第２カウンタ９０がアップカウンタの場合、逆の動作を行う。
【００８６】
初期値設定部９２は、カウント値ＣＮＴ２がある時刻ｔ１のセット時から、次に逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなるまでの第２カウンタ９０のカウント値ＣＮＴ２の変化量ΔＣＮＴ２（＝ｘ１−ｙ１）を取得する。変化量ΔＣＮＴ２は、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周期に対応する。初期値設定部９２は、取得した変化量ΔＣＮＴ２を、第２カウンタ９０の次のセットのタイミングである時刻ｔ３に、第２カウンタ９０の初期値ｘ２として設定する。
【００８７】
パルス調節部８０ａの処理によって、時刻ｔ０〜ｔ２の周期には、整数個ののこぎり波（周期信号）が含まれる。なお、時刻ｔ２の直前ののこぎり波の周期はＴｘより小さいが、これも一つののこぎり波である。言い換えれば、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周期を跨いで増加するのこぎり波が存在しない状態を作り出すことにより、ＰＷＭ信号Ｓｐｗｍの周波数が、逆起検出信号ＢＥＭＦ＿ＥＤＧＥの周波数の整数倍となる状態を実現している。
【００８８】
図６のＰＷＭ信号生成部５０ａによれば、ゼロクロスのタイミング、つまり逆起検出信号ＢＥＭＦ＿ＥＤＧＥのハイレベルのタイミング（時刻ｔ３）は、第２カウンタ９０のカウント値ＣＮＴ２が０となるタイミングに収束する。また、第２カウンタ９０がセットされるタイミング（時刻ｔ２）は、カウント値ＣＮＴ２が所定値ｚとなるタイミングである。したがって、時刻ｔ２と時刻ｔ３の期間τは、所定値ｚに応じた一定値（ｚ×Ｔｃｋ）に収束する。ここでＴｃｋは、第２カウンタ９０に入力されるクロックＣＫの周期である。
【００８９】
したがって、ＰＷＭ信号生成部５０ａによれば、ゼロクロス点のタイミングを、第２カウンタ９０のセットのタイミングから所定時間τ経過後の基準タイミングに一致させることができる。したがって、ゼロクロス点を検出するタイミングを、基準タイミング付近に設定することにより、ゼロクロス点を少ない遅延で精度よく検出することができる。
【００９０】
以上、第１、第２の実施の形態に係るモータ駆動回路１００の構成および動作について説明した。本実施の形態に係るモータ駆動回路１００によれば、逆起検出信号ＢＥＭＦ＿ＥＤＧＥがハイレベルとなるタイミング、すなわちゼロクロス点の発生するタイミングを所定の基準タイミングと合致させることができる。したがって、基準タイミングを含む時間帯に、検出のタイミング（実施の形態では、検出期間Ｔｄｅｔ）を設けることにより、確実かつ少ない遅延で逆起検出を行うことができる。逆起検出を高精度で行うことにより、モータ１１０の回転を高精度で制御することができる。
【００９１】
最後に、モータ駆動回路１００のアプリケーションの例について説明する。図８は、図２のモータ駆動回路１００を搭載したディスク装置２００の構成を示すブロック図である。ディスク装置２００は、ＣＤやＤＶＤなどの光ディスクに対して記録、再生処理を行うユニットであり、ＣＤプレイヤやＤＶＤプレイヤ、パーソナルコンピュータなどの電子機器に搭載される。ディスク装置２００は、ピックアップ２１０、信号処理部２１２、ディスク２１４、モータ１１０、モータ駆動回路１００を含む。
【００９２】
ピックアップ２１０は、ディスク２１４にレーザを照射して所望のデータを書き込み、あるいは、反射した光を読み込むことによりディスク２１４に書き込まれたデータを読み出す。信号処理部２１２は、ピックアップ２１０により読み書きするデータに対して増幅処理、Ａ／Ｄ変換あるいはＤ／Ａ変換など必要な信号処理を行う。モータ１１０は、ディスク２１４を回転させるために設けられたスピンドルモータである。図８に示すようなディスク装置２００は、特に小型化が要求されるため、モータ１１０としてホール素子などを用いないセンサレスタイプが用いられる。本実施の形態に係るモータ駆動回路１００は、このようなセンサレスのスピンドルモータを安定に駆動するために好適に用いることができる。
【００９３】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９４】
実施の形態では、３相モータを駆動する場合について説明したが、本発明は３相以外のセンサレスモータの駆動にも好適に用いることができる。たとえば、５相モータであってもよい。また、実施の形態では、Ｕ相の逆起電圧Ｖｕを中点電圧Ｖｃｏｍと比較してゼロクロス点の検出を行う場合について説明したが、本発明はこれに限定されるものではない。たとえば、Ｕ相、Ｖ相、Ｗ相のそれぞれに逆起検出回路２０を設け、逆起検出信号ＢＥＭＦ＿ＥＤＧＥを生成してもよい。
【００９５】
また、定常状態におけるモータ１１０の回転数（トルク）が固定される場合、モータの回転数をモニタする必要がないため、フリーランカウンタ８４、周波数誤差検出部８６を省略することができる。この場合、カウンタセット部８８は、モータ１１０の回転数を指示するトルク信号ＴＲＱの値にもとづいて、変調カウンタ６２をセットするタイミングを設定すればよい。
【００９６】
また、実施の形態では、相電圧Ｖｕが上昇する過程において、Ｖｕ＞Ｖｃｏｍとなる状態を検出することによりゼロクロス点を検出したが、本発明はこれに限定されるものではなく、逆起検出回路２０は、相電圧Ｖｕが下降する過程において、Ｖｕ＜Ｖｃｏｍとなる状態を検出することにより、ゼロクロス点を検出してもよい。
【００９７】
実施の形態では、マスク信号ＭＳＫにより規定される検出期間Ｔｄｅｔを基準信号ＲＥＦのタイミングと一致させて、ゼロクロス点の検出タイミングを設定した。本発明はこれに限定されない。たとえば、マスク信号ＭＳＫを生成せず、図４のＡＮＤゲート２３を省略してもよい。この場合、図４のフリップフロップ２４のクロック端子に入力されるシステムクロックＣＫを、基準信号ＲＥＦの付近のみでフリップフロップ２４に入力してもよい。
【００９８】
また、実施の形態では、１８０度通電のＰＷＭ方式によりモータを駆動する場合について説明したが、本発明はこれに限定されるものではなく、広くパルス変調方式を採用するモータ駆動回路に使用することができる。
【００９９】
実施の形態で説明した信号のハイレベル、ローレベルのロジックの設定は一例であって、論理回路ブロックの構成には様々な変形例が考えられ、こうした変形例も本発明の範囲に含まれる。
【０１００】
実施の形態では、デジタル回路によって本発明を実現する場合を説明したが、その一部または全部を、同等の機能を有するアナログ回路に置換してもよい。
【０１０１】
実施の形態にもとづき、本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を離脱しない範囲において、多くの変形例や配置の変更が可能である。
【図面の簡単な説明】
【０１０２】
【図１】図１（ａ）〜（ｃ）は、パルス変調駆動する場合のゼロクロス点の検出の様子を示すタイムチャートである。
【図２】第１の実施の形態に係るモータ駆動回路の全体構成を示すブロック図である。
【図３】図３（ａ）〜（ｌ）は、図２の実施の形態に係るモータ駆動回路の動作を示すタイムチャートである。
【図４】第１の実施の形態に係る逆起検出回路およびＰＷＭ信号生成部の構成を示すブロック図である。
【図５】図５（ａ）〜（ｈ）は、図４の逆起検出回路およびＰＷＭ信号生成部により生成される各信号の波形を示すタイムチャートである。
【図６】第２の実施の形態に係るＰＷＭ信号生成部の構成を示すブロック図である。
【図７】図７（ａ）〜（ｇ）は、図６の逆起検出回路およびＰＷＭ信号生成部により生成される各信号の波形を示すタイムチャートである。
【図８】図２のモータ駆動回路を搭載したディスク装置の構成を示すブロック図である。
【符号の説明】
【０１０３】
１００  モータ駆動回路、  １０  スイッチング回路、  ２０  逆起検出回路、  ２２  コンパレータ、  ２３  ＡＮＤゲート、  ２４  フリップフロップ、  ３０  スイッチング制御部、  ３２  駆動タイミング生成部、  ３４  駆動信号合成回路、  ４０  ウィンドウ生成部、  ５０  ＰＷＭ信号生成部、  ６０  パルス生成部、  ６２  変調カウンタ、  ６４  基準信号生成部、  ６６  マスク信号生成部、  ６８  トルク制御部、  ８０  パルス調節部、  ８２  位相誤差検出部、  ８４  フリーランカウンタ、  ８６  周波数誤差検出部、  ８８  カウンタセット部、  １１０  モータ、  ２１０  ピックアップ、  ２１２  信号処理部、  ２１４  ディスク。
【図１】
2008236843.tif 000003
【図２】
2008236843.tif 000004
【図３】
2008236843.tif 000005
【図４】
2008236843.tif 000006
【図５】
2008236843.tif 000007
【図６】
2008236843.tif 000008
【図７】
2008236843.tif 000009
【図８】
2008236843.tif 000010