(57)【要約】【課題】モータのトルクリップルを低減可能なモータ駆動装置およびモータシステムを提供する。【解決手段】ＳＰＭ駆動部ＳＰＭＤＶは、複数相の駆動端子にそれぞれ結合される複数のハイサイドトランジスタおよびロウサイドトランジスタを含み、ＰＷＭ信号を用いて駆動端子に駆動電圧を印加する。逆起電圧位相検出部ＢＰＨＤは、複数相の逆起電圧位相をそれぞれ検出する。駆動電圧位相生成部ＤＶＰＨＧは、複数相の駆動電流位相が複数相の逆起電圧位相の相対的な位相ばらつき（Δθｂｅｍｆ＿Ｕ，Ｖ，Ｗ）と逆方向かつ同量の位相ばらつきを備えるように、駆動電圧を印加する際の複数相毎の駆動電圧位相θｄｒｖＵ，Ｖ，Ｗを定める。【選択図】図２
2018046697.tif 000002
【特許請求の範囲】
【請求項１】
外部に設けられる複数相のモータを駆動するモータ駆動装置であって、
前記複数相の駆動端子にそれぞれ結合される複数のハイサイドトランジスタおよびロウサイドトランジスタを含み、ＰＷＭ（Pulse Width Modulation）信号を用いて前記駆動端子に駆動電圧を印加するインバータ部と、
前記複数相の逆起電圧位相をそれぞれ検出する逆起電圧位相検出部と、
前記複数相の駆動電流位相が前記複数相の前記逆起電圧位相の相対的な位相ばらつきと逆方向かつ同量の位相ばらつきを備えるように、前記駆動端子に前記駆動電圧を印加する際の前記複数相毎の駆動電圧位相を定める駆動電圧位相生成部と、
を有する、
モータ駆動装置。
【請求項２】
請求項１記載のモータ駆動装置において、
前記モータ駆動装置は、さらに、前記逆起電圧位相検出部で検出される前記複数相の前記逆起電圧位相の平均的または代表的な位相を基準電圧位相に定め、前記複数相の前記逆起電圧位相と前記基準電圧位相との電圧位相誤差を前記複数相毎に検出する位相誤差検出部を有する、
モータ駆動装置。
【請求項３】
請求項２記載のモータ駆動装置において、
前記モータ駆動装置は、さらに、前記複数相の中の少なくとも１相の駆動電流位相を検出し、当該検出した前記駆動電流位相の平均的または代表的な位相を基準電流位相に定める駆動電流位相検出部を有し、
前記駆動電圧位相生成部は、
前記基準電圧位相と前記基準電流位相との位相差がゼロに設定されるように前記駆動電圧を印加する際の基準の駆動電圧位相を定める基準駆動電圧位相生成部と、
前記位相誤差検出部で検出される前記複数相毎の前記電圧位相誤差を反映して前記基準の駆動電圧位相を補正することで、前記駆動電圧を印加する際の前記複数相毎の前記駆動電圧位相を定める相間位相ばらつき補正部と、
を有する、
モータ駆動装置。
【請求項４】
請求項３記載のモータ駆動装置において、
前記相間位相ばらつき補正部は、
前記位相誤差検出部で検出される前記複数相毎の前記電圧位相誤差にゲインパラメータを乗算する乗算器と、
前記乗算器によって算出される前記複数相毎の乗算結果を前記基準の駆動電圧位相に加算する複数の加算器と、
を有し、
前記ゲインパラメータは、前記逆起電圧位相と前記駆動電流位相とが一致している状態を基準に前記逆起電圧位相がシフトし、かつ前記駆動電流位相が前記逆起電圧位相と逆方向に同量だけシフトした状態で得られる前記逆起電圧位相と前記駆動電圧位相との関係式において、前記逆起電圧位相のシフト量に対する前記駆動電圧位相の感度を表す係数である、
モータ駆動装置。
【請求項５】
請求項３記載のモータ駆動装置において、
前記基準駆動電圧位相生成部は、
前記モータの駆動電流の電流値と、前記モータの角周波数と、予め定めた前記モータの特性定数とを用いた演算式に基づき、前記基準電圧位相と前記基準電流位相との位相差をゼロに設定するための前記駆動電圧位相を算出する位相演算部と、
前記位相演算部で算出される前記駆動電圧位相に補正値を加えることで前記基準の駆動電圧位相を生成し、前記基準電圧位相と前記基準電流位相との位相差がゼロに収束するように前記補正値の大きさをフィードバック制御によって更新する位相補正部と、
を有する、
モータ駆動装置。
【請求項６】
請求項２記載のモータ駆動装置において、さらに、
前記複数相の逆起電圧振幅をそれぞれ検出する逆起電圧振幅検出部と、
前記複数相の駆動電流振幅をそれぞれ検出する駆動電流振幅検出部と、
前記複数相の前記駆動電流振幅が前記複数相の前記逆起電圧振幅の相対的な振幅ばらつきの逆数倍の振幅ばらつきを備えるように、前記駆動端子に前記駆動電圧を印加する際の前記複数相毎の駆動電圧振幅を定める相間振幅ばらつき補正部と、
を有する、
モータ駆動装置。
【請求項７】
請求項６記載のモータ駆動装置において、
前記モータ駆動装置は、さらに、周期的に遷移するタイミング信号を生成し、前記タイミング信号の位相と前記基準電圧位相との位相差がゼロに収束するように前記タイミング信号をＰＬＬ（Phase Locked Loop）で制御するＰＬＬ制御部を有し、
前記逆起電圧位相検出部は、前記複数相の中の検出対象とする相の前記駆動端子が第１の期間でハイインピーダンスに設定された状態で、前記第１の期間の中で前記駆動端子の電圧を時系列的に複数回サンプリングしながら当該サンプリング電圧が電圧ゼロクロス点を通過するタイミングを検出することで前記逆起電圧位相を検出し、
前記逆起電圧振幅検出部は、前記逆起電圧位相検出部で取得される複数回分の前記サンプリング電圧の中の予め定めた２回分のサンプリング電圧を対象として差分値を算出し、当該算出された差分値を前記逆起電圧振幅として検出し、
前記第１の期間は、前記ＰＬＬ制御部による前記タイミング信号に基づく所定の電気角の範囲である、
モータ駆動装置。
【請求項８】
請求項６記載のモータ駆動装置において、
前記相間振幅ばらつき補正部は、
前記逆起電圧振幅検出部で検出される前記複数相毎の前記逆起電圧振幅の平均値を算出する平均値演算部と、
前記複数相毎の前記逆起電圧振幅を‘ｙ’とし、前記逆起電圧振幅の前記平均値を‘ｘ’とした場合に、前記複数相毎に“ｘ／ｙ”を算出することで前記複数相毎の前記駆動電圧振幅を定める振幅比演算部と、
を有する、
モータ駆動装置。
【請求項９】
外部に設けられる複数相のモータを駆動するモータ駆動装置であって、
前記複数相の駆動端子にそれぞれ結合される複数のハイサイドトランジスタおよびロウサイドトランジスタを含み、ＰＷＭ（Pulse Width Modulation）信号を用いて前記駆動端子に駆動電圧を印加するインバータ部と、
前記複数相の逆起電圧振幅をそれぞれ検出する逆起電圧振幅検出部と、
前記複数相の駆動電流振幅をそれぞれ検出する駆動電流振幅検出部と、
前記複数相の前記駆動電流振幅が前記複数相の前記逆起電圧振幅の相対的な振幅ばらつきの逆数倍の振幅ばらつきを備えるように、前記駆動端子に前記駆動電圧を印加する際の前記複数相毎の駆動電圧振幅を定める相間振幅ばらつき補正部と、
を有する、
モータ駆動装置。
【請求項１０】
請求項９記載のモータ駆動装置において、さらに、
前記複数相の逆起電圧位相をそれぞれ検出する逆起電圧位相検出部と、
前記逆起電圧位相検出部で検出される前記複数相の前記逆起電圧位相の平均的または代表的な位相を基準電圧位相に定める位相誤差検出部と、
周期的に遷移するタイミング信号を生成し、前記タイミング信号の位相と前記基準電圧位相との位相差がゼロに収束するように前記タイミング信号をＰＬＬ（Phase Locked Loop）で制御するＰＬＬ制御部と、
を有し、
前記逆起電圧位相検出部は、前記複数相の中の検出対象とする相の前記駆動端子が第１の期間でハイインピーダンスに設定された状態で、前記第１の期間の中で前記駆動端子の電圧を時系列的に複数回サンプリングしながら当該サンプリング電圧が電圧ゼロクロス点を通過するタイミングを検出することで前記逆起電圧位相を検出し、
前記逆起電圧振幅検出部は、前記逆起電圧位相検出部で取得される複数回分の前記サンプリング電圧の中の予め定めた２回分のサンプリング電圧を対象として差分値を算出し、当該算出された差分値を前記逆起電圧振幅として検出し、
前記第１の期間は、前記ＰＬＬ制御部による前記タイミング信号に基づく所定の電気角の範囲である、
モータ駆動装置。
【請求項１１】
請求項９または１０記載のモータ駆動装置において、
前記相間振幅ばらつき補正部は、
前記逆起電圧振幅検出部で検出される前記複数相毎の前記逆起電圧振幅の平均値を算出する平均値演算部と、
前記複数相毎の前記逆起電圧振幅を‘ｙ’とし、前記逆起電圧振幅の前記平均値を‘ｘ’とした場合に、前記複数相毎に“ｘ／ｙ”を算出し、当該算出結果に基づいて前記複数相毎の前記駆動電圧振幅を定める振幅比演算部と、
を有する、
モータ駆動装置。
【請求項１２】
データを記憶するディスクと、
前記ディスクを回転させるモータと、
前記モータを３相の正弦波で駆動するモータ駆動装置と、
を備えるモータシステムであって、
前記モータ駆動装置は、
前記３相の駆動端子にそれぞれ結合される３組のハイサイドトランジスタおよびロウサイドトランジスタを含み、ＰＷＭ（Pulse Width Modulation）信号を用いて前記駆動端子に駆動電圧を印加するインバータ部と、
前記３相の逆起電圧位相をそれぞれ検出する逆起電圧位相検出部と、
前記３相の駆動電流位相が前記３相の前記逆起電圧位相の相対的な位相ばらつきと逆方向かつ同量の位相ばらつきを備えるように、前記駆動端子に前記駆動電圧を印加する際の前記３相毎の駆動電圧位相を定める駆動電圧位相生成部と、
を有する、
モータシステム。
【請求項１３】
請求項１２記載のモータシステムにおいて、
前記モータ駆動装置は、さらに、前記逆起電圧位相検出部で検出される前記３相の前記逆起電圧位相の平均的または代表的な位相を基準電圧位相に定め、前記３相の前記逆起電圧位相と前記基準電圧位相との電圧位相誤差を前記３相毎に検出する位相誤差検出部を有する、
モータシステム。
【請求項１４】
請求項１３記載のモータシステムにおいて、
前記モータ駆動装置は、さらに、前記３相の中の少なくとも１相の駆動電流位相を検出し、当該検出した前記駆動電流位相の平均的または代表的な位相を基準電流位相に定める駆動電流位相検出部を有し、
前記駆動電圧位相生成部は、
前記基準電圧位相と前記基準電流位相との位相差がゼロに設定されるように前記駆動電圧を印加する際の基準の駆動電圧位相を定める基準駆動電圧位相生成部と、
前記位相誤差検出部で検出される前記３相毎の前記電圧位相誤差を反映して前記基準の駆動電圧位相を補正することで、前記駆動電圧を印加する際の前記３相毎の前記駆動電圧位相を定める相間位相ばらつき補正部と、
を有する、
モータシステム。
【請求項１５】
請求項１４記載のモータシステムにおいて、
前記相間位相ばらつき補正部は、
前記位相誤差検出部で検出される前記３相毎の前記電圧位相誤差にゲインパラメータを乗算する乗算器と、
前記乗算器によって算出される前記３相毎の乗算結果を前記基準の駆動電圧位相に加算する複数の加算器と、
を有し、
前記ゲインパラメータは、前記逆起電圧位相と前記駆動電流位相とが一致している状態を基準に前記逆起電圧位相がシフトし、かつ前記駆動電流位相が前記逆起電圧位相と逆方向に同量だけシフトした状態で得られる前記逆起電圧位相と前記駆動電圧位相との関係式において、前記逆起電圧位相のシフト量に対する前記駆動電圧位相の感度を表す係数である、
モータシステム。
【請求項１６】
請求項１４記載のモータシステムにおいて、
前記基準駆動電圧位相生成部は、
前記モータの駆動電流の電流値と、前記モータの角周波数と、予め定めた前記モータの特性定数とを用いた演算式に基づき、前記基準電圧位相と前記基準電流位相との位相差をゼロに設定するための前記駆動電圧位相を算出する位相演算部と、
前記位相演算部で算出される前記駆動電圧位相に補正値を加えることで前記基準の駆動電圧位相を生成し、前記基準電圧位相と前記基準電流位相との位相差がゼロに収束するように前記補正値の大きさをフィードバック制御によって更新する位相補正部と、
を有する、
モータシステム。
【請求項１７】
請求項１３記載のモータシステムにおいて、さらに、
前記３相の逆起電圧振幅をそれぞれ検出する逆起電圧振幅検出部と、
前記３相の駆動電流振幅をそれぞれ検出する駆動電流振幅検出部と、
前記３相の前記駆動電流振幅が前記３相の前記逆起電圧振幅の相対的な振幅ばらつきの逆数倍の振幅ばらつきを備えるように、前記駆動端子に前記駆動電圧を印加する際の前記３相毎の駆動電圧振幅を定める相間振幅ばらつき補正部と、
を有する、
モータシステム。
【請求項１８】
請求項１７記載のモータシステムにおいて、
前記モータ駆動装置は、さらに、周期的に遷移するタイミング信号を生成し、前記タイミング信号の位相と前記基準電圧位相との位相差がゼロに収束するように前記タイミング信号をＰＬＬ（Phase Locked Loop）で制御するＰＬＬ制御部を有し、
前記逆起電圧位相検出部は、前記３相の中の検出対象とする相の前記駆動端子が第１の期間でハイインピーダンスに設定された状態で、前記第１の期間の中で前記駆動端子の電圧を時系列的に複数回サンプリングしながら当該サンプリング電圧が電圧ゼロクロス点を通過するタイミングを検出することで前記逆起電圧位相を検出し、
前記逆起電圧振幅検出部は、前記逆起電圧位相検出部で取得される複数回分の前記サンプリング電圧の中の予め定めた２回分のサンプリング電圧を対象として差分値を算出し、当該算出された差分値を前記逆起電圧振幅として検出し、
前記第１の期間は、前記ＰＬＬ制御部による前記タイミング信号に基づく所定の電気角の範囲である、
モータシステム。
【請求項１９】
請求項１７記載のモータシステムにおいて、
前記相間振幅ばらつき補正部は、
前記逆起電圧振幅検出部で検出される前記３相毎の前記逆起電圧振幅の平均値を算出する平均値演算部と、
前記３相毎の前記逆起電圧振幅を‘ｙ’とし、前記逆起電圧振幅の前記平均値を‘ｘ’とした場合に、前記３相毎に“ｘ／ｙ”を算出することで前記３相毎の前記駆動電圧振幅を定める振幅比演算部と、
を有する、
モータシステム。
【請求項２０】
請求項１２記載のモータシステムにおいて、
前記ディスクは、ハードディスクである、
モータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動装置およびモータシステムに関し、例えば、モータの駆動電流の位相を調整する際の技術に関する。
【背景技術】
【０００２】
例えば、特許文献１には、モータの駆動電圧位相を、モータの角周波数、駆動電流値および特性定数（トルク定数、インピーダンス値）を用いた演算式に基づき算出する方式が示される。また、特許文献２には、逆起電圧位相および駆動電流位相の一方を選択して、モータの通電タイミングを制御する方式が示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２８８３９６号公報
【特許文献２】特開２００５−１０２４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
モータを高効率、低騒音、低振動で駆動する方式として、３相の正弦波を用いた正弦波駆動方式が知られている。このような駆動方式では、モータを高効率で駆動するため、モータの逆起電圧位相と駆動電流位相とが一致するように、駆動電流位相が調整される。ただし、モータの駆動電流は、モータに駆動電圧を印加することで生成されるため、実際には、モータの駆動電圧位相を調整することで駆動電流位相の調整が行われる。モータの最適な駆動電圧位相は、例えば、特許文献１に示されるように、モータの角周波数、駆動電流値および特性定数を用いた演算式に基づき算出することができる。
【０００５】
ここで、モータ駆動装置は、例えば、モータの駆動電圧位相を最適化した状態で、理想的なモータを前提として、３相に１２０ｄｅｇの位相差を持つ駆動電圧を印加する。しかし、実際のモータは、製造ばらつきや製造上の制限等に起因して相間に着磁ばらつきが生じ得る。着磁ばらつきが生じると、３相の逆起電圧位相の位相差は、１２０ｄｅｇを基準に誤差を持ち、また、３相の逆起電圧振幅も同一ではなくばらつきを持つ。モータ駆動装置が、このような着磁ばらつきを持つモータを１２０ｄｅｇの位相差を持つ駆動電圧で駆動すると、トルクリップルが発生する。トルクリップルは、モータの低騒音化、低振動化を阻害する要因となる。
【０００６】
後述する実施の形態は、このようなことを鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によるモータ駆動装置は、インバータ部と、逆起電圧位相検出部と、駆動電圧位相生成部とを有し、外部に設けられる複数相のモータを駆動する。インバータ部は、複数相の駆動端子にそれぞれ結合される複数のハイサイドトランジスタおよびロウサイドトランジスタを含み、ＰＷＭ信号を用いて駆動端子に駆動電圧を印加する。逆起電圧位相検出部は、複数相の逆起電圧位相をそれぞれ検出する。駆動電圧位相生成部は、複数相の駆動電流位相が複数相の逆起電圧位相の相対的な位相ばらつきと逆方向かつ同量の位相ばらつきを備えるように、駆動電圧を印加する際の複数相毎の駆動電圧位相を定める。
【発明の効果】
【０００８】
前記一実施の形態によれば、モータのトルクリップルを低減可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１によるモータシステムにおいて、その概略構成例を示す機能ブロック図である。
【図２】本発明の実施の形態１によるモータ駆動装置の主要部の構成例を示す機能ブロック図である。
【図３】図２のモータ駆動装置でモータを駆動した場合の、モータの逆起電圧、駆動電流およびトルクリップルの一例を示す波形図である。
【図４】図２のモータ駆動装置において、駆動電圧位相生成部周りの主要部の概略構成例を示すブロック図である。
【図５】図２における回転位置検出部および位相誤差検出部の検出期間の一例を示す波形図である。
【図６】図２における逆起電圧位相検出部の詳細な構成例を示す回路図である。
【図７】図２における位相誤差検出部の詳細な構成例を示す回路図である。
【図８】図６の逆起電圧位相検出部および図７の位相誤差検出部の概略的な動作例を示す説明図である。
【図９】図２における駆動電流位相検出部の詳細な構成例を示す回路図である。
【図１０】図９の駆動電流位相検出部の動作原理を示す波形図である。
【図１１】図４の駆動電圧位相生成部における位相演算部および位相補正部の詳細な構成例を示す図である。
【図１２】図４の駆動電圧位相生成部における相間位相ばらつき補正部の詳細な構成例を示す図である。
【図１３】本発明の実施の形態２によるモータ駆動装置の主要部の構成例を示す機能ブロック図である。
【図１４】図１３のモータ駆動装置でモータを駆動した場合の、モータの逆起電圧、駆動電流およびトルクリップルの一例を示す波形図である。
【図１５】図１３における相間振幅ばらつき補正部の詳細な構成例を示す図である。
【図１６】図１５の相間振幅ばらつき補正部の動作例を説明する波形図である。
【図１７】本発明の比較例となるモータ駆動装置の主要部の構成例を示す機能ブロック図である。
【図１８】図１７におけるＳＰＭ駆動部の構成例を示す回路ブロック図である。
【図１９】（ａ）、（ｂ）および（ｃ）は、図１７における正弦波駆動電圧制御部の動作原理を示す説明図である。
【図２０】図１７における正弦波駆動電圧制御部の動作原理を示す説明図である。
【図２１】図１７のモータ駆動装置でモータを駆動した場合の、モータの逆起電圧、駆動電流およびトルクリップルの一例を示す波形図である。
【図２２】モータの各相を等価的に表す回路図である。
【図２３】（ａ）、（ｂ）および（ｃ）は、図２１の補足図であり、逆起電圧位相のばらつきに伴い駆動電流位相がどのようにばらつくかを示す説明図である。
【図２４】図１７のモータ駆動装置でモータを駆動した場合の、モータの逆起電圧、駆動電流およびトルクリップルの一例を示す波形図である。
【発明を実施するための形態】
【００１０】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１１】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１２】
また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１４】
（実施の形態１）
《モータシステムの概略》
図１は、本発明の実施の形態１によるモータシステムにおいて、その概略構成例を示す機能ブロック図である。図１には、モータシステムの一例として、ハードディスク（以降、ＨＤＤと略す）装置の構成例が示される。図１のＨＤＤ装置は、ＨＤＤコントローラＨＤＤＣＴ、キャッシュメモリＣＭＥＭ、リードライト装置ＲＷＩＣ、モータ駆動装置ＭＤＩＣ、およびディスク機構ＤＳＫＭを備える。ＨＤＤコントローラＨＤＤＣＴは、例えば、プロセッサ等を含んだシステムオンチップ（ＳｏＣ）等で構成される。キャッシュメモリＣＭＥＭおよびリードライト装置ＲＷＩＣは、例えば、それぞれ異なる半導体チップで構成される。
【００１５】
ディスク機構ＤＳＫＭは、ディスク（ここではハードディスク）ＤＳＫ、スピンドルモータ（以降、モータと略す）ＳＰＭ、ヘッドＨＤ、アーム機構ＡＭ、ボイスコイルモータＶＣＭ、およびランプ機構ＲＭＰを備える。モータＳＰＭは、ディスクＤＳＫを回転駆動する。ボイスコイルモータＶＣＭは、ディスクＤＳＫの径方向におけるヘッドＨＤの位置をアーム機構ＡＭを介して制御する。ヘッドＨＤは、ボイスコイルモータＶＣＭによって定められる所定の位置において、ディスクＤＳＫ上にデータの読み書きを行う。ランプ機構ＲＭＰは、データの読み書きが実行されない場合の、ヘッドＨＤの退避箇所となる。
【００１６】
モータ駆動装置ＭＤＩＣは、例えば、１個の半導体チップで構成される。モータ駆動装置ＭＤＩＣは、ボイスコイルモータＶＣＭを駆動するため、ディジタル・アナログ変換器ＤＡＣおよびＶＣＭ駆動部ＶＣＭＤＶを備える。また、モータ駆動装置ＭＤＩＣは、モータＳＰＭを駆動するため、ＳＰＭ制御部ＳＰＭＣＴ、サンプルホールド回路ＳＨ、センスアンプ回路ＳＡ、アナログ・ディジタル変換器ＡＤＣ、ＳＰＭ駆動部ＳＰＭＤＶ、および回転位置検出部ＲＰＳＤＥＴを備える。さらに、モータ駆動装置ＭＤＩＣは、モータＳＰＭやボイスコイルモータＶＣＭの駆動条件等を設定するため、シリアルＩＦ＆レジスタ部ＳＩＦＲＥＧを備える。
【００１７】
リードライト装置ＲＷＩＣは、ヘッドＨＤを駆動し、ヘッドＨＤにデータの読み書きを行わせる。ＨＤＤコントローラＨＤＤＣＴは、ＨＤＤ装置全体の制御を行う。ＨＤＤコントローラＨＤＤＣＴは、例えば、モータ駆動装置ＭＤＩＣのシリアルＩＦ＆レジスタ部ＳＩＦＲＥＧとの間で通信を行うことで、モータ駆動装置ＭＤＩＣにモータＳＰＭやボイスコイルモータＶＣＭの駆動条件等を指示する。また、ＨＤＤコントローラＨＤＤＣＴは、例えば、リードライト装置ＲＷＩＣに対し、データの読み書きを指示する。この際に、リードライト装置ＲＷＩＣに対して指示する書き込みデータや、ヘッドＨＤからリードライト装置ＲＷＩＣを介して読み出されたデータは、キャッシュメモリＣＭＥＭに保持される。
【００１８】
次に、当該ＨＤＤ装置の全体動作について簡単に説明する。まず、モータ駆動装置ＭＤＩＣは、ＨＤＤコントローラＨＤＤＣＴからモータＳＰＭの起動指令を受信すると、ＳＰＭ制御部ＳＰＭＣＴで生成されるＰＷＭ（Pulse Width Modulation）信号を用いて、ＳＰＭ駆動部ＳＰＭＤＶを介してモータＳＰＭを駆動する。電流検出用抵抗ＲＮＦは、モータＳＰＭの駆動電流を検出する。
【００１９】
当該モータＳＰＭの駆動電流は、サンプルホールド回路ＳＨ、センスアンプ回路ＳＡ、およびアナログ・ディジタル変換器ＡＤＣでディジタル値に変換される。ＳＰＭ制御部ＳＰＭＣＴは、当該駆動電流の検出値（ディジタル値）と、駆動電流の目標値となる電流指示値との誤差に基づき、当該誤差を低減するためのＰＷＭ信号を生成する。電流指示値は、例えば、ＨＤＤコントローラＨＤＤＣＴによって指示される。
【００２０】
回転位置検出部ＲＰＳＤＥＴは、例えば、モータＳＰＭの逆起電圧（本明細書ではＢＥＭＦと呼ぶ）を検出することで、モータＳＰＭの回転位置を検出する。ＳＰＭ制御部ＳＰＭＣＴは、このモータＳＰＭの回転位置に応じた適切なタイミングで、モータＳＰＭの駆動電流を電流指示値に近づけるためのＰＷＭ信号をＳＰＭ駆動部ＳＰＭＤＶに出力することで、モータＳＰＭ（すなわちディスクＤＳＫ）を定格回転制御する。モータＳＰＭが定格回転の状態に到達したのち、ＶＣＭ駆動部ＶＣＭＤＶは、ヘッドＨＤをディスクＤＳＫ上に移動し、ヘッドＨＤは、ディスクＤＳＫ上でデータの読み書きを行う。
【００２１】
このようなモータシステムは、高効率化に加えて、低騒音化および低振動化が求められる。特に、ＨＤＤ装置では、記録密度の向上や、サーボライトによる位置決め精度の向上等の観点から低振動化が重要となる。そこで、後述する実施の形態１のモータ駆動装置を用いることが有益となる。
【００２２】
《モータ駆動装置（比較例）の概略構成および概略動作》
まず、実施の形態１のモータ駆動装置の説明に先立ち、比較例となるモータ駆動装置について説明する。図１７は、本発明の比較例となるモータ駆動装置の主要部の構成例を示す機能ブロック図である。図１８は、図１７におけるＳＰＭ駆動部の構成例を示す回路ブロック図である。図１９（ａ）、図１９（ｂ）、図１９（ｃ）および図２０は、図１７における正弦波駆動電圧制御部の動作原理を示す説明図である。
【００２３】
図１７には、図１のモータ駆動装置ＭＤＩＣの内、ＳＰＭ制御部ＳＰＭＣＴ、ＳＰＭ駆動部ＳＰＭＤＶ、回転位置検出部ＲＰＳＤＥＴ、シリアルＩＦ＆レジスタ部ＳＩＦＲＥＧ、サンプルホールド回路ＳＨ、センスアンプ回路ＳＡ、およびアナログ・ディジタル変換器ＡＤＣが抽出して示される。また、併せて、モータ駆動装置ＭＤＩＣの外部に設けられる電流検出用抵抗ＲＮＦと、ディスク機構ＤＳＫＭ内のモータＳＰＭとが示される。
【００２４】
前述したように、電流検出用抵抗ＲＮＦは、モータＳＰＭの駆動電流の検出および電圧変換を行い、サンプルホールド回路ＳＨは、当該検出電圧を所定のタイミングで逐次保持する。具体的には、サンプルホールド回路ＳＨは、モータＳＰＭの３相（ｕ相、ｖ相、ｗ相）毎の駆動電流を検出できるタイミングでサンプリングを行うことで、各相の駆動電流に比例する検出電圧を保持する。センスアンプ回路ＳＡは、当該保持された検出電圧を増幅し、アナログ・ディジタル変換器ＡＤＣは、当該増幅された電圧をディジタル値に変換する。
【００２５】
回転位置検出部ＲＰＳＤＥＴは、逆起電圧位相検出部ＢＰＨＤと、駆動電流位相検出部ＩＰＨＤとを有する。逆起電圧位相検出部ＢＰＨＤは、モータＳＰＭの３相の逆起電圧位相（本明細書ではＢＥＭＦ位相と呼ぶ）をそれぞれ検出する。この例では、逆起電圧位相検出部ＢＰＨＤは、相選択信号ＳＥＬに応じて、ＢＥＭＦ位相を検出する相を選択し、当該選択された相のＢＥＭＦの電圧ゼロクロス点を検出した際にゼロクロス検出信号ＺＸＯＵＴを出力する。駆動電流位相検出部ＩＰＨＤは、相選択信号ＳＥＬに応じて、モータＳＰＭの３相の中の少なくとも１相の駆動電流位相を検出する。そして、駆動電流位相検出部ＩＰＨＤは、当該検出した駆動電流位相に基づき基準電流位相θｉを定める。具体的には、駆動電流位相検出部ＩＰＨＤは、例えば、当該３相の駆動電流位相の平均的または代表的な位相を基準電流位相θｉに定める。
【００２６】
ＳＰＭ制御部ＳＰＭＣＴは、位相誤差検出部ＰＨＥＤ’と、ＰＬＬ制御部ＰＬＬＣＴと、駆動電圧位相生成部ＤＶＰＨＧ’と、電流誤差検出部ＣＥＲＤＥＴと、ＰＩ補償器ＰＩＣＰと、ＰＷＭ制御部ＰＷＭＣＴとを備える。位相誤差検出部ＰＨＥＤ’は、逆起電圧位相検出部ＢＰＨＤで検出される３相のＢＥＭＦ位相（ここではゼロクロス検出信号ＺＸＯＵＴの出力タイミング）に基づき基準電圧位相θｂｅｍｆを定める。具体的には、位相誤差検出部ＰＨＥＤ’は、例えば、当該３相のＢＥＭＦ位相の平均的または代表的な位相を基準電圧位相θｂｅｍｆに定める。
【００２７】
ＰＬＬ（Phase Locked Loop）制御部ＰＬＬＣＴは、ＢＥＭＦに同期して周期的に遷移する通電タイミング信号ＴＩＭを生成する。具体的には、ＰＬＬ制御部ＰＬＬＣＴは、通電タイミング信号ＴＩＭの位相と基準電圧位相θｂｅｍｆとの位相差がゼロに収束するように通電タイミング信号ＴＩＭの位相をＰＬＬで制御する。モータＳＰＭの通電は、この通電タイミング信号ＴＩＭに基づき制御される。また、ＰＬＬ制御部ＰＬＬＣＴは、回転周期カウント値ＮＣＮＴを生成する。回転周期カウント値ＮＣＮＴは、ＢＥＭＦの１周期（すなわちモータＳＰＭの回転周期）に比例する時間を、ディジタル制御の基準クロックのカウント値に換算した値であり、モータＳＰＭの角周波数（ω）に反比例する値となる。
【００２８】
電流誤差検出部ＣＥＲＤＥＴは、電流指示値ＳＰＮＣＲと、アナログ・ディジタル変換器ＡＤＣから出力されるディジタル値（すなわち、各相の駆動電流の検出値）との誤差を、減算器ＳＢ１を用いて検出する。電流指示値ＳＰＮＣＲは、前述したように、例えば、図１のＨＤＤコントローラＨＤＤＣＴから指示される。ＨＤＤコントローラＨＤＤＣＴは、例えば、回転周期カウント値ＮＣＮＴ等から得られるモータＳＰＭの角周波数の情報を受け、所定の演算によって、当該角周波数を目標の角周波数に設定するための電流指示値ＳＰＮＣＲを生成する。
【００２９】
ＰＩ補償器ＰＩＣＰは、電流誤差検出部ＣＥＲＤＥＴで検出される誤差値を入力として、比例（Ｐ）・積分（Ｉ）制御を行うことで、電流誤差を反映したＰＷＭデューティ値ＰＷＭＤを算出する。そして、ＰＩ補償器ＰＩＣＰは、このＰＷＭデューティ値ＰＷＭＤと、予め定められるＰＷＭ周期カウント数とを乗算することでＰＷＭオンカウント数を算出する。ＰＷＭ周期カウント数は、ＰＷＭ信号の１周期の時間を、ディジタル制御の基準クロックのカウント値に換算した数であり、ＰＷＭオンカウント数は、ＰＷＭ信号の１周期におけるオン期間を当該カウント値に換算した数である。
【００３０】
ＰＷＭ制御部ＰＷＭＣＴは、正弦波駆動電圧制御部ＳＩＮＣＴと、出力制御部ＯＵＴＣＴとを備える。ＰＷＭ制御部ＰＷＭＣＴは、概略的には、ＰＬＬ制御部ＰＬＬＣＴからのＢＥＭＦに同期する通電タイミング信号ＴＩＭを受け、モータＳＰＭに印加する３相の駆動電圧（Ｖｕ，Ｖｖ，Ｖｗ）を正弦波状に制御するためのＰＷＭ信号ＰＷＭＯＮ＿ＭＯＤｕ，ＰＷＭＯＮ＿ＭＯＤｖ，ＰＷＭＯＮ＿ＭＯＤｗを生成する。
【００３１】
正弦波駆動電圧制御部ＳＩＮＣＴは、ＰＩ補償器ＰＩＣＰからのＰＷＭオンカウント数を受け、モータＳＰＭに対して３相の正弦波電圧を印加するために必要とされる、各ＰＷＭ周期毎のデューティ指示値を生成する。デューティ指示値は、ＰＷＭ周期内のオン期間の比率を表す。正弦波駆動電圧制御部ＳＩＮＣＴは、具体的には、ＰＷＭパターン用のデューティ指示値ＰＷＭＰを生成するＰＷＭパターン生成部ＰＰＧと、ソフトパターン（ＳＰ１，ＳＰ２）用のデューティ指示値ＳＯＦＴＰを生成するソフトパターン生成部ＳＰＧとを備える。
【００３２】
ＰＷＭパターン生成部ＰＰＧおよびソフトパターン生成部ＳＰＧは、図１９（ａ）、図１９（ｂ）、図１９（ｃ）および図２０に示すような原理でデューティ指示値を生成する。まず、図１９（ａ）には、モータＳＰＭの駆動方式として所謂正弦波駆動方式（すなわちモータの駆動電流を正弦波状に制御する方式）を適用する場合において、モータＳＰＭに印加される理想的な３相（ｕ相、ｖ相、ｗ相）の各駆動電圧Ｖｕ，Ｖｖ，Ｖｗが示される。当該駆動電圧Ｖｕ，Ｖｖ，Ｖｗは、互いに位相が１２０ｄｅｇ異なる正弦波電圧となる。
【００３３】
図１９（ｂ）には、図１９（ａ）に示した３相の駆動電圧Ｖｕ，Ｖｖ，Ｖｗの内、電圧最小相を接地電源電圧ＧＮＤに固定した場合（本明細書ではＧＮＤ固定と呼ぶ）の各相の電圧波形が示される。例えば、図１９（ａ）において、電気角２１０ｄｅｇ〜３３０ｄｅｇの期間ではｕ相が電圧最小相であり、図１９（ｂ）では、当該期間において当該ｕ相の駆動電圧ＶｕにＧＮＤ固定を適用した場合のｖ相およびｗ相の相対的な電圧波形が示される。図１９（ｃ）には、図１９（ｂ）の場合と同様にして、図１９（ａ）に示した３相の駆動電圧Ｖｕ，Ｖｖ，Ｖｗの内、電圧最大相を電源電圧ＶＭに固定した場合（本明細書ではＶＭ固定と呼ぶ）の各相の電圧波形が示される。
【００３４】
ここで、電気角６０ｄｅｇ毎に、図１９（ｂ）のＧＮＤ固定と図１９（ｃ）のＶＭ固定とを交互に切り換えた場合、図２０に示すような電圧波形となる。図２０に示すように、正弦波駆動を行うためのｕ相（ｖ相およびｗ相も同様）の駆動電圧Ｖｕは、ＳＰ１パターン、ＰＷＭパターン、ＳＰ２パターンと、これらの各パターンの対称パターンと、ＶＭ固定およびＧＮＤ固定とを適宜組み合わせることで作り出すことができる。
【００３５】
具体的に説明すると、図２０に示した電気角０ｄｅｇ〜３６０ｄｅｇの期間は、例えば、ＰＷＭ周期Ｔｐｗｍの１００周期程度の期間に対応する。図２０に示したＰＷＭ周期Ｔｐｗｍでは、ｗ相にＧＮＤ固定を適用した状態で、ｕ相にＰＷＭパターンを適用し、ｖ相にＳＰ２対称パターンを適用すればよい。同様にして、各ＰＷＭ周期では、３相の中のいずれか１相にＧＮＤ固定またはＶＭ固定を適用し、他の１相にＰＷＭパターンまたはＰＷＭ対称パターンを適用し、残りの１相にＳＰ１パターンまたはＳＰ２パターンあるいはこれらの対称パターンを適用すればよい。
【００３６】
このような原理に基づき、ＰＷＭパターン生成部ＰＰＧは、例えば、図２０に示したＰＷＭパターンの電圧変動を実現するための、各ＰＷＭ周期毎のデューティ指示値をテーブル等に予め保持しており、当該テーブルに基づきデューティ指示値ＰＷＭＰを生成する。なお、デューティ指示値ＰＷＭＰは、例えば、ディジタル制御の基準クロックに基づくカウント値で表される。
【００３７】
また、当該テーブルには、例えば、正規化されたデューティ指示値（例えばカウント値）が保持されている。ＰＷＭパターン生成部ＰＰＧは、当該正規化されたデューティ指示値に、ＰＩ補償器ＰＩＣＰからのＰＷＭオンカウント数に基づく重み付けを行ってデューティ指示値ＰＷＭＰを生成する。その結果、ＰＷＭパターン生成部ＰＰＧは、前述した電流誤差を反映した上で、モータＳＰＭを正弦波駆動するためのデューティ指示値ＰＷＭＰを生成することができる。これに同様にして、ソフトパターン生成部ＳＰＧも、電流誤差を反映した上で、モータＳＰＭを正弦波駆動するためのデューティ指示値ＳＯＦＴＰを生成することができる。
【００３８】
出力制御部ＯＵＴＣＴは、ＰＷＭＰ用補正部ＰＰＣＰと、ＳＯＦＴＰ用補正部ＳＰＣＰ
と、ＰＷＭ変調部ＰＷＭＭＤとを備える。ＰＷＭＰ用補正部ＰＰＣＰは、ＳＰＭ駆動部ＳＰＭＤＶの入出力間で生じるデューティの誤差を検出し、デューティ指示値ＰＷＭＰに当該誤差を相殺する補正値を加えることで補正後デューティ指示値ＰＷＭＲを生成する。具体的には、ＰＷＭＰ用補正部ＰＰＣＰは、ＳＰＭ駆動部ＳＰＭＤＶからの出力検出信号ＯＵＴＤＥＴから実際のデューティを検出し、これとデューティ指示値ＰＷＭＰとの差分に基づいて補正値を定める。
【００３９】
さらに、ＰＷＭＰ用補正部ＰＰＣＰは、デューティ指示値ＰＷＭＰがＰＷＭ補正パラメータＫｒｅｖＵ，Ｌで定められるデューティよりも大きい場合には、所定の演算式に基づいて補正値を定める。すなわち、デューティ指示値ＰＷＭＰが大きい場合には、トランジスタのオン・オフが不十分となることにより、デューティ指示値ＰＷＭＰが小さい場合とは異なる補正値が必要とされる場合がある。ＰＷＭＰ用補正部ＰＰＣＰは、当該補正値を演算式に基づいて定める。ＰＷＭＰ用補正部ＰＰＣＰの場合と同様に、ＳＯＦＴＰ用補正部ＳＰＣＰは、デューティ指示値ＳＯＦＴＰに所定の補正値を加えることで補正後デューティ指示値ＳＯＦＴＲを生成する。
【００４０】
このようにして、ＳＰＭ駆動部ＳＰＭＤＶの入出力間で生じるデューティの誤差を補正することで、モータＳＰＭに印加する正弦波電圧（その結果として生成される正弦波電流）の歪みを低減することができる。歪みを低減することで、モータの低騒音化、低振動化等が図れる。
【００４１】
ＰＷＭ変調部ＰＷＭＭＤは、ＰＬＬ制御部ＰＬＬＣＴからの通電タイミング信号ＴＩＭに基づいて、実際のモータＳＰＭへの通電を制御する。具体的には、ＰＷＭ変調部ＰＷＭＭＤは、図２０に示したように、６０ｄｅｇ毎にＧＮＤ固定とＶＭ固定の切り換えを行う。この切り換えに応じて、ＰＷＭ変調部ＰＷＭＭＤは、補正後デューティ指示値ＰＷＭＲ，ＳＯＦＴＲに基づき、ｕ相用、ｖ相用およびｗ相用のＰＷＭ信号ＰＷＭＯＮ＿ＭＯＤｕ，ＰＷＭＯＮ＿ＭＯＤｖ，ＰＷＭＯＮ＿ＭＯＤｗをそれぞれ生成する。
【００４２】
詳細には、ＰＷＭ変調部ＰＷＭＭＤは、図２０の駆動方式に基づき、各ＰＷＭ周期において、３相のＰＷＭ信号のいずれか１相をオン期間またはオフ期間に固定する（すなわちＶＭ固定またはＧＮＤ固定とする）。ＰＷＭ変調部ＰＷＭＭＤは、他の１相のＰＷＭ信号のオン期間を補正後デューティ指示値ＰＷＭＲ，ＳＯＦＴＲの一方によって定め、残りの１相のＰＷＭ信号のオン期間を補正後デューティ指示値ＰＷＭＲ，ＳＯＦＴＲの他方によって定める。なお、実際には、図２０に示したように、ＰＷＭパターンおよびソフトパターンの各対称パターンも必要となる。ＰＷＭ変調部ＰＷＭＭＤは、ディジタル演算によって、この各対称パターンに対応するＰＷＭ信号も生成する。
【００４３】
また、逆起電圧位相検出部ＢＰＨＤでＢＥＭＦ位相を検出し、位相誤差検出部ＰＨＥＤ’で基準電圧位相θｂｅｍｆを定めるためには、モータＳＰＭのｕ相、ｖ相およびｗ相を、その電圧ゼロクロス点近辺で一時的にハイインピーダンスに制御する必要がある。ＰＷＭ変調部ＰＷＭＭＤは、当該ｕ相、ｖ相およびｗ相を一時的にハイインピーダンスに制御するため、ハイインピーダンス制御信号ＨＩＺｕ，ＨＩＺｖ，ＨＩＺｗをそれぞれ生成する。この際に、ＰＷＭ変調部ＰＷＭＭＤは、いずれかの相をハイインピーダンスに制御している期間（言い換えれば、ＢＥＭＦ位相の検出期間）を表すマスク信号ＭＳＫを生成し、それを位相誤差検出部ＰＨＥＤ’へ出力する。
【００４４】
このように、図２０の駆動方式を用いることで、ＰＷＭ変調部ＰＷＭＭＤは、補正後デューティ指示値（カウント値）に基づきＰＷＭ信号を生成する実回路を、３個ではなく２個備えればよく、回路面積の低減等が可能になる。さらに、図２０の駆動方式を用いることで、ＶＭ固定またはＧＮＤ固定からの振幅で制御することができるため、電源電圧マージンに対して有利となり、モータＳＰＭのトルク定数を大きくでき、消費電力を低減することが可能になる。
【００４５】
ＳＰＭ駆動部ＳＰＭＤＶは、図１８に示すように、プリドライバ部ＰＤＶＢＫと、インバータ部ＩＮＶＢＫとを備える。インバータ部ＩＮＶＢＫは、ｕ相用のハイサイドトランジスタＭ１ｕおよびロウサイドトランジスタＭ２ｕと、ｖ相用のハイサイドトランジスタＭ１ｖおよびロウサイドトランジスタＭ２ｖと、ｗ相用のハイサイドトランジスタＭ１ｗおよびロウサイドトランジスタＭ２ｗと、を備える。ハイサイドトランジスタＭ１ｕ，Ｍ１ｖ，Ｍ１ｗおよびロウサイドトランジスタＭ２ｕ，Ｍ２ｖ，Ｍ２ｗは、特に限定はされないが、ここではｎチャネル型ＭＯＳトランジスタである。
【００４６】
ハイサイドトランジスタＭ１ｕ，Ｍ１ｖ，Ｍ１ｗのドレインは、電源電圧ＶＭに共通に結合され、ロウサイドトランジスタＭ２ｕ，Ｍ２ｖ，Ｍ２ｗのソースは、モータ接地端子ＭＧＮＤに共通に結合される。ハイサイドトランジスタＭ１ｕのソースおよびロウサイドトランジスタＭ２ｕのドレインは、ｕ相用の駆動出力端子ＯＵＴｕに結合される。同様に、ハイサイドトランジスタＭ１ｖおよびロウサイドトランジスタＭ２ｖは、ｖ相用の駆動出力端子ＯＵＴｖに結合され、ハイサイドトランジスタＭ１ｗおよびロウサイドトランジスタＭ２ｗは、ｗ相用の駆動出力端子ＯＵＴｗに結合される。モータ接地端子ＭＧＮＤは、電流検出用抵抗ＲＮＦを介して接地電源電圧ＧＮＤに結合される。
【００４７】
ｕ相用、ｖ相用およびｗ相用の駆動出力端子ＯＵＴｕ，ＯＵＴｖ，ＯＵＴｗは、それぞれ、モータＳＰＭのｕ相用、ｖ相用およびｗ相用の駆動入力端子ＩＮｕ，ＩＮｖ，ＩＮｗに結合される。また、ｕ相用、ｖ相用およびｗ相用の駆動出力端子ＯＵＴｕ，ＯＵＴｖ，ＯＵＴｗからは、それぞれ、ｕ相、ｖ相およびｗ相の駆動電圧Ｖｕ，Ｖｖ，Ｖｗが出力される。当該駆動電圧Ｖｕ，Ｖｖ，Ｖｗは、時間平均で見ると図２０に示したような電圧波形となり、各時点で見るとＰＷＭ信号となる。モータＳＰＭは、等価的に、中性点ＣＴと各駆動入力端子ＩＮｕ，ＩＮｖ，ＩＮｗとの間にそれぞれＹ字結線されたｕ相用、ｖ相用およびｗ相用のコイルＬｕ，Ｌｖ，Ｌｗを含んでいる。
【００４８】
プリドライバ部ＰＤＶＢＫは、ｕ相用、ｖ相用およびｗ相用のプリドライバＰＤＶｕ，ＰＤＶｖ，ＰＤＶｗを備える。ｕ相用のプリドライバＰＤＶｕは、ＰＷＭ変調部ＰＷＭＭＤからのｕ相用のＰＷＭ信号ＰＷＭＯＮ＿ＭＯＤｕに基づいて、ｕ相用のハイサイドトランジスタＭ１ｕをＰＷＭ信号ＰＷＭｕｈで駆動し、ロウサイドトランジスタＭ２ｕをＰＷＭ信号ＰＷＭｕｈの相補信号となるＰＷＭ信号ＰＷＭｕｌで駆動する。
【００４９】
また、当該プリドライバＰＤＶｕは、ハイインピーダンス制御信号ＨＩＺｕがハイレベルの場合には、ハイサイドトランジスタＭ１ｕおよびロウサイドトランジスタＭ２ｕを共にオフに駆動する。これにより、駆動出力端子ＯＵＴｕがハイインピーダンスとなることで、駆動出力端子ＯＵＴｕでｕ相のＢＥＭＦを観測することが可能になる。さらに、当該プリドライバＰＤＶｕは、駆動出力端子ＯＵＴｕから出力されるＰＷＭ信号を、所定の電圧レベルのパルス信号に変換し、当該パルス信号を前述した出力検出信号ＯＵＴＤＥＴｕとして出力する。詳細な説明は省略するが、ｖ相用のプリドライバＰＤＶｖおよびｗ相用のプリドライバＰＤＶｗに関しても同様である。
【００５０】
ここで、図１７に戻り、ＰＷＭ変調部ＰＷＭＭＤは、前述したように、６０ｄｅｇ毎の切り換えを行いながら、ＳＰＭ駆動部ＳＰＭＤＶにＰＷＭ信号を出力する。また、モータＳＰＭの駆動電流は正弦波状であるため、電流検出用抵抗ＲＮＦで検出される電流は、正弦波の頂点を含む６０ｄｅｇの周期を繰り返したような電流となる。そこで、電流誤差検出部ＣＥＲＤＥＴは、この正弦波波形を模写したディジタルパターンを生成する指示電流補正部ＣＲＮＴＣＰを備える。電流誤差検出部ＣＥＲＤＥＴは、前述した電流指示値ＳＰＮＣＲに指示電流補正部ＣＲＮＴＣＰからのディジタルパターンを乗算し、当該乗算結果となる電流指示値ＳＰＮＣＲ＿Ｒを電流指示値ＳＰＮＣＲの代わりに減算器ＳＢ１へ出力する。
【００５１】
また、電流誤差検出部ＣＥＲＤＥＴは、ピーク格納部ＰＫＨＤを備える。ピーク格納部ＰＫＨＤは、アナログ・ディジタル変換器ＡＤＣからのディジタル値ＡＤＣＯを、指示電流補正部ＣＲＮＴＣＰからのトリガ信号ＵＰＡＤＣを受けて保持することで、各相の駆動電流振幅ＩＳＰＮＯＵＴを出力する。指示電流補正部ＣＲＮＴＣＰは、例えば、生成するディジタルパターンの最大振幅の箇所でトリガ信号ＵＰＡＤＣを出力する。
【００５２】
駆動電圧位相生成部ＤＶＰＨＧ’は、基準電圧位相θｂｅｍｆと基準電流位相θｉとの位相差がゼロに設定されるように駆動端子（ＯＵＴｕ，ｖ，ｗおよびＩＮｕ，ｖ，ｗ）に駆動電圧を印加する際の基準の駆動電圧位相θｄｒｖＲを定める。詳細に説明すると、モータＳＰＮにおけるＢＥＭＦ位相（言い換えれば基準電圧位相θｂｅｍｆ）と駆動電流位相（言い換えれば基準電流位相θｉ）とを一致させるためには、基準電圧位相θｂｅｍｆよりも駆動電圧位相θｄｒｖＲだけ進んだ位相でモータＳＰＮに駆動電圧を印加する必要がある。駆動電圧位相生成部ＤＶＰＨＧ’は、この駆動電圧位相θｄｒｖＲを定め、それをＰＷＭ制御部ＰＷＭＣＴへ指示する。この際に、駆動電圧位相生成部ＤＶＰＨＧ’は、理想的なモータＳＰＮを前提として、駆動電圧位相θｄｒｖＲを３相共通で適用可能な進角位相として指示する。
【００５３】
ＰＷＭ制御部ＰＷＭＣＴは、駆動電圧位相θｄｒｖＲを受け、通電タイミング信号ＴＩＭを駆動電圧位相θｄｒｖＲに基づきシフトさせ、当該シフト後の通電タイミング信号に基づいて、３相の駆動電圧を正弦波状に制御するためのＰＷＭ信号ＰＷＭＯＮ＿ＭＯＤｕ，ｖ，ｗを生成する。この例は、正弦波駆動電圧制御部ＳＩＮＣＴが、駆動電圧位相θｄｒｖＲに基づく電気角だけ図２０に示したＰＷＭパターンおよびソフトパターンをシフトさせ、このシフトさせたパターンを用いてデューティ指示値ＰＷＭＰ，ＳＯＦＴＰを生成する。その結果、駆動電圧Ｖｕ，Ｖｖ，Ｖｗの位相は、駆動電圧位相θｄｒｖＲに基づき制御され、これに応じて、モータＳＰＭの各相における駆動電流位相も、駆動電圧位相θｄｒｖＲに基づき制御される。
【００５４】
シリアルＩＦ＆レジスタ部ＳＩＦＲＥＧは、シリアルポートＳＩＦと、当該シリアルポートＳＩＦを介してアクセスされるパラメータ設定レジスタ部ＰＲＥＧとを備える。パラメータ設定レジスタ部ＰＲＥＧは、例えば、図１のＨＤＤコントローラＨＤＤＣＴによって設定される各種パラメータを保持する。ここでは、各種パラメータには、モータＳＰＭの特性定数Ｋ１，Ｋ２、ゲイン調整パラメータＫｖｉ，Ｋａｄｊ、電流制御パラメータＫｃｐ，Ｋｃｉ、およびＰＷＭ補正パラメータＫｒｅｖＵ，Ｌが含まれる。
【００５５】
特性定数Ｋ１，Ｋ２およびゲイン調整パラメータＫｖｉ，Ｋａｄｊは、駆動電圧位相生成部ＤＶＰＨＧ’で用いられる。電流制御パラメータＫｃｐ，Ｋｃｉは、ＰＩ補償器ＰＩＣＰにおけるＰＩ制御の比例ゲインおよび積分ゲインとして用いられる。ＰＷＭ補正パラメータＫｒｅｖＵ，Ｌは、前述したように、ＰＷＭＰ用補正部ＰＰＣＰおよびＳＯＦＴＰ用補正部ＳＰＣＰで用いられる。
【００５６】
《モータ駆動装置（比較例）の問題点》
図２１は、図１７のモータ駆動装置でモータを駆動した場合の、モータの逆起電圧、駆動電流およびトルクリップルの一例を示す波形図である。理想的なモータＳＰＭを用いた場合のＢＥＭＦは、ｕ相、ｖ相、ｗ相で１２０ｄｅｇずつずれた正弦波電圧となる。しかし、現実なモータＳＰＭを用いた場合のＢＥＭＦ位相は、図２１のように、理想的なモータＳＰＭを用いた場合のＢＥＭＦ位相を基準にばらつく場合がある。
【００５７】
図２１の例では、ｕ相、ｖ相、ｗ相のＢＥＭＦ位相は、理想的なモータＳＰＭのＢＥＭＦ位相を基準として、それぞれ、１ｄｅｇ遅れ、１ｄｅｇ進み、ばらつき無しとなっている。このようなＢＥＭＦ位相の相間ばらつきは、着磁ばらつきと呼ばれ、主にモータＳＰＭの構造に起因して生じる。ばらつき要因として、例えば、ブラシレスＤＣモータでは、ステータにおけるｕ相、ｖ相、ｗ相の物理的な配置誤差（回転方向の位置ズレ）等が挙げられる。
【００５８】
図１７に示したモータ駆動装置は、前述したように理想モータを前提として、各相に対して共通の駆動電圧位相θｄｒｖＲを定める。図２１の例では、モータ駆動装置は、ｗ相の立ち上がりの電圧ゼロクロス点近辺でハイインピーダンス制御信号ＨＩＺｗをアサートすることでｗ相のＢＥＭＦ位相を検出し、この検出したＢＥＭＦ位相にｗ相の駆動電流位相が一致するように駆動電圧位相θｄｒｖＲを定め、それをｕ相およびｖ相にも適用している。また、このハイインピーダンス期間では、図２１に示すように、ｗ相の駆動電流はゼロとなる。
【００５９】
このようにＢＥＭＦ位相に着磁ばらつきがあると、駆動電流位相にもばらつきが生じ得る。詳細は図２２および図２３（ａ）〜図２３（ｃ）で述べるが、ＢＥＭＦ位相が進み方向にばらつくと、駆動電流位相は遅れ方向にばらつき、逆に、ＢＥＭＦ位相が遅れ方向にばらつくと、駆動電流位相は進み方向にばらつく。具体例として、図２１のように、ｖ相のＢＥＭＦ位相が１ｄｅｇ進むと、ｖ相の駆動電流位相は３ｄｅｇ程度遅れる場合がある。このように、ＢＥＭＦ位相と駆動電流位相が不適切にばらつくと、トルクリップルが増大し、モータ駆動における騒音、振動の増大を招く恐れがある。
【００６０】
図２２は、モータの各相を等価的に表す回路図である。図２３（ａ）、図２３（ｂ）および図２３（ｃ）は、図２１の補足図であり、逆起電圧位相のばらつきに伴い駆動電流位相がどのようにばらつくかを示す説明図である。図２２において、モータＳＰＭの各相（代表としてｕ相）は、駆動入力端子ＩＮｕと中性点ＣＴとの間に直列接続される逆起電圧Ｖｂｅｍｆ、モータ抵抗ＲｍおよびモータインダクタンスＬｍによって表される。モータ抵抗ＲｍおよびモータインダクタンスＬｍは、図１８のコイルＬｕが持つ実際のインピーダンス成分を表す。モータ駆動装置は、このような直列回路に対して駆動電圧Ｖｄｒｖ（例えばｕ相駆動電圧Ｖｕ）を印加し、コイル（ＲｍおよびＬｍ）に駆動電流Ｉｃｏｉｌ（例えばｕ相駆動電流Ｉｕ）を流す。
【００６１】
図２３（ａ）は、ＢＥＭＦ位相が相対的にずれていない場合（理想モータの場合）のベクトル図であり、例えば、図２１のｗ相に対応するものである。位相ずれが無い場合、駆動電流Ｉｃｏｉｌの位相（駆動電流位相）は、逆起電圧Ｖｂｅｍｆの位相（ＢＥＭＦ位相）と一致する。駆動電圧Ｖｄｒｖの振幅および駆動電圧位相θｄｒｖは、逆起電圧Ｖｂｅｍｆとコイル電圧Ｖｃｏｉｌのベクトル加算で定められる。コイル電圧Ｖｃｏｉｌの振幅および位相θｃｏｉｌは、“Ｒｍ×Ｉｃｏｉｌ”と“ω×Ｌｍ×Ｉｃｏｉｌ”（ωはモータの回転数（角周波数））のベクトル加算で定められる。
【００６２】
図２３（ｂ）は、ＢＥＭＦ位相が相対的に進んでいる場合のベクトル図であり、例えば、図２１のｖ相に対応するものである。図２３（ａ）を基準として、駆動電圧Ｖｂｅｍｆの位相（ＢＥＭＦ位相）がΔθｂｅｍｆ進んだ場合、まず、コイル電圧Ｖｃｏｉｌの振幅が小さくなり駆動電流Ｉｃｏｉｌも小さくなる。そうすると、図１７で述べた電流制御により、駆動電流Ｉｃｏｉｌおよびコイル電圧Ｖｃｏｉｌの振幅は、図２３（ａ）と同じ大きさに戻される。その結果、図２３（ｂ）のように、駆動電圧Ｖｄｒｖの振幅は大きくなり、駆動電流位相はΔθｉ遅れることになる。
【００６３】
図２３（ｃ）は、ＢＥＭＦ位相が相対的に遅れている場合のベクトル図であり、例えば、図２１のｕ相に対応するものである。ＢＥＭＦ位相がΔθｂｅｍｆ遅れた場合、まず、コイル電圧Ｖｃｏｉｌの振幅が大きくなり駆動電流Ｉｃｏｉｌも大きくなる。そうすると、図１７で述べた電流制御により、駆動電流Ｉｃｏｉｌおよびコイル電圧Ｖｃｏｉｌの振幅は、図２３（ａ）と同じ大きさに戻される。その結果、図２３（ｃ）のように、駆動電圧Ｖｄｒｖの振幅は小さくなり、駆動電流位相はΔθｉ進むことになる。
【００６４】
《モータ駆動装置（実施の形態１）の概略構成および概略動作》
図２は、本発明の実施の形態１によるモータ駆動装置の主要部の構成例を示す機能ブロック図である。図２に示すモータ駆動装置ＭＤＩＣは、図１７の構成例と比較して、駆動電圧位相生成部ＤＶＰＨＧと位相誤差検出部ＰＨＥＤの構成および動作が異なっている。
【００６５】
位相誤差検出部ＰＨＥＤは、図１７の場合と同様に逆起電圧位相検出部ＢＰＨＤで検出される３相の逆起電圧位相に基づき基準電圧位相θｂｅｍｆに定める。具体的には、位相誤差検出部ＰＨＥＤは、例えば、当該３相のＢＥＭＦ位相の平均的または代表的な位相を基準電圧位相θｂｅｍｆに定める。これに加えて、位相誤差検出部ＰＨＥＤは、３相の逆起電圧位相と基準電圧位相θｂｅｍｆとの電圧位相誤差（Δθｂｅｍｆ＿Ｕ，Ｖ，Ｗ）を３相毎に検出し、当該３相毎の電圧位相誤差を位相誤差信号ＥＣＮＴとして駆動電圧位相生成部ＤＶＰＨＧへ出力する。
【００６６】
駆動電圧位相生成部ＤＶＰＨＧは、基準電圧位相θｂｅｍｆと基準電流位相θｉとの位相差をゼロに設定すると共に、位相誤差信号ＥＣＮＴに基づき、３相の駆動電流位相が３相の逆起電圧位相の相対的な位相ばらつきと逆方向かつ同量の位相ばらつきを備えるように、３相毎の駆動電圧位相θｄｒｖＵ，θｄｒｖＶ，θｄｒｖＷを定める。例えば、ｕ相を例とすると、ｕ相のＢＥＭＦ位相の相対的な位相ばらつきは、電圧位相誤差Δθｂｅｍｆ＿Ｕで得られる。これに基づき、駆動電圧位相生成部ＤＶＰＨＧは、ｕ相の駆動電流位相の相対的な位相ばらつき‘Δθｉ＿Ｕ’が当該電圧位相誤差Δθｂｅｍｆ＿Ｕと逆方向かつ同量となるようにｕ相の駆動電圧位相θｄｒｖＵを定める。
【００６７】
ＰＷＭ制御部ＰＷＭＣＴは、駆動電圧位相θｄｒｖＵ，θｄｒｖＶ，θｄｒｖＷを受け、基準電圧信号θｂｅｍｆとの位相差がゼロとなる通電タイミング信号ＴＩＭを駆動電圧位相θｄｒｖＵ，θｄｒｖＶ，θｄｒｖＷに基づきそれぞれシフトさせ、当該シフト後の通電タイミング信号に基づいてＰＷＭ信号ＰＷＭＯＮ＿ＭＯＤｕ，ｖ，ｗを生成する。ｕ相を例とすると、ＰＷＭ制御部ＰＷＭＣＴは、通電タイミング信号ＴＩＭを駆動電圧位相θｄｒｖＵに基づきシフトさせ、当該シフト後の通電タイミング信号に基づいてＰＷＭ信号ＰＷＭＯＮ＿ＭＯＤｕを生成する。
【００６８】
図３は、図２のモータ駆動装置でモータを駆動した場合の、モータの逆起電圧、駆動電流およびトルクリップルの一例を示す波形図である。図３において、３相の逆起電圧位相（ＢＥＭＦ位相）は、図２１の場合と同様に、ｕ相が相対的に１ｄｅｇ遅れ、ｖ相が相対的に１ｄｅｇ進んだ状態となっている。図２の構成例を用いると、ＢＥＭＦ位相が基準電圧位相θｂｅｍｆに対してΔθｂｅｍｆズレている場合、駆動電流位相は、基準電流位相θｉ（＝基準電圧位相θｂｅｍｆ）に対してＢＥＭＦ位相のズレと逆方向に同量（すなわち−Δθｂｅｍｆ）だけずれるように制御される。
【００６９】
例えば、図３のように、ｖ相のＢＥＭＦ位相が１ｄｅｇ進んでいたら、ｖ相の駆動電流位相は、図２１の場合のような３ｄｅｇ程度の遅れ位相から１ｄｅｇの遅れ位相となるように駆動電圧位相θｄｒｖＶを介して制御される。同様に、ｕ相のＢＥＭＦ位相が１ｄｅｇ遅れていたら、ｕ相の駆動電流位相は、１ｄｅｇの進み位相となるように駆動電圧位相θｄｒｖＵを介して制御される。これによって、トルクリップルを低減でき、モータに着磁ばらつきがあっても、モータ駆動における騒音、振動を抑制することが可能になる。
【００７０】
定性的に説明すると、まず、各相のトルクは、“トルク定数×駆動電流”で定められる。トルク定数は、“ＢＥＭＦ／ω”（ωはモータ回転数）であるため、各相のトルクは、“ＢＥＭＦ×駆動電流”の関数となる。ここで、ＢＥＭＦ位相が基準電圧位相θｂｅｍｆからΔθｂｅｍｆずれた相のＢＥＭＦ波形を“ｓｉｎ（ω・ｔ＋Δθｂｅｍｆ）”とすると、実施の形態１の方式を用いた場合の当該相の駆動電流波形は“ｓｉｎ（ω・ｔ−Δθｂｅｍｆ）”となる。この２つのｓｉｎ波形を乗算すると、位相ずれ‘Δθｂｅｍｆ’が打ち消されるため、この乗算結果によって得られるトルクの位相は、着磁ばらつきが無い状態で得られるトルクの位相に等しくなる。その結果、トルクリップルを低減することができる。
【００７１】
《駆動電圧位相生成部の概略》
図４は、図２のモータ駆動装置において、駆動電圧位相生成部周りの主要部の概略構成例を示すブロック図である。図４には、図２における駆動電圧位相生成部ＤＶＰＨＧと、位相誤差検出部ＰＨＥＤと、駆動電流位相検出部ＩＰＨＤと、ＰＬＬ制御部ＰＬＬＣＴとが示される。駆動電圧位相生成部ＤＶＰＨＧは、基準駆動電圧位相生成部ＲＰＨＧと、相間ばらつき補正部ＰＨＤＣＰとを備える。
【００７２】
基準駆動電圧位相生成部ＲＰＨＧは、位相演算部ＰＨＣＡＬおよび位相補正部ＰＨＣＰを備え、基準電圧位相θｂｅｍｆと基準電流位相θｉとの位相差がゼロに設定されるように駆動電圧を印加する際の基準の駆動電圧位相θｄｒｖＲを定める。位相演算部ＰＨＣＡＬは、モータＳＰＭの各相の駆動電流の電流値と、モータＳＰＭの角周波数ωと、図２のパラメータ設定レジスタＰＲＥＧで定められるモータＳＰＭの特性定数Ｋ１，Ｋ２とを用いた演算式に基づき、基準電圧位相θｂｅｍｆと基準電流位相θｉとの位相差をゼロに設定するための駆動電圧位相θｄｒｖを算出する。駆動電流の電流値は、図２のピーク格納部ＰＫＨＤからの駆動電流振幅ＩＳＰＮＯＵＴによって得られ、モータＳＰＭの角周波数ωは、ＰＬＬ制御部ＰＬＬＣＴからの回転周期カウント値ＮＣＮＴによって得られる。
【００７３】
ここで、位相演算部ＰＨＣＡＬによって算出される駆動電圧位相θｄｒｖは、モータＳＰＭの特性定数Ｋ１，Ｋ２に応じて変化する。特性定数Ｋ１，Ｋ２は、例えば、モータの種類毎に定められる。しかし、例えば、同一種類のモータＳＰＭであっても、各モータ毎に、製造ばらつき等に伴う特性定数Ｋ１，Ｋ２のばらつきが生じる恐れがある。また、１個のモータＳＰＭを対象とする場合であっても、経時劣化等によって時系列的に特性定数Ｋ１，Ｋ２にばらつきが生じる恐れがある。そうすると、基準電圧位相θｂｅｍｆと基準電流位相θｉとの位相差にゼロからの誤差が生じ、モータの効率が低下し、消費電力が増大する恐れがある。
【００７４】
そこで、位相補正部ＰＨＣＰは、位相演算部ＰＨＣＡＬからの駆動電圧位相θｄｒｖに補正値を加えることで、基準の駆動電圧位相θｄｒｖＲを定める。この際に、位相補正部ＰＨＣＰは、基準電圧位相θｂｅｍｆと基準電流位相θｉとの位相差がゼロに収束するように補正値の大きさをフィードバック制御によって更新する。すなわち、フィードバック経路として、基準の駆動電圧位相θｄｒｖＲを反映した状態でモータＳＰＭに駆動電流が流れ、当該駆動電流位相が駆動電流位相検出部ＩＰＨＤで検出され、この検出結果に基づき補正値が更新され、基準の駆動電圧位相θｄｒｖＲも更新される。
【００７５】
これにより、モータＳＰＭに特性定数Ｋ１，Ｋ２のばらつきが生じた場合であっても、基準電圧位相θｂｅｍｆと基準電流位相θｉとの位相差を高精度にゼロに設定することができる。ただし、モータＳＰＭに着磁ばらつきが生じた場合、図２１に示したように、
ＢＥＭＦ位相と駆動電流位相は、ある相では位相差ゼロの状態であったとしても、別の相では位相差ゼロからばらついた状態となる。このばらつき具合が不適切であると、大きなトルクリップルが生じる恐れがある。
【００７６】
そこで、相間位相ばらつき補正部ＰＨＤＣＰは、位相誤差検出部ＰＨＥＤで検出される３相毎の電圧位相誤差（すなわち位相誤差信号ＥＣＮＴ）を反映して基準の駆動電圧位相θｄｒｖＲを補正することで、３相毎の駆動電圧位相θｄｒｖＵ，θｄｒｖＶ，θｄｒｖＷを定める。具体的には、ｕ相を例とすると、図２の逆起電圧位相検出部ＢＰＨＤは、ｕ相のＢＥＭＦ位相θｂｅｍｆ＿Ｕを検出し、位相誤差検出部ＰＨＥＤは、ｕ相の電圧位相誤差（Δθｂｅｍｆ＿Ｕ（＝θｂｅｍｆ−θｂｅｍｆ＿Ｕ））を検出する。
【００７７】
図４の相間位相ばらつき補正部ＰＨＤＣＰは、当該ｕ相の電圧位相誤差（Δθｂｅｍｆ＿Ｕ）に基づき、それと逆方向かつ同量の位相シフト量（Δθｉ＿Ｕ（＝−Δθｂｅｍｆ＿Ｕ））をｕ相の駆動電流位相に設定するために必要な、基準の駆動電圧位相θｄｒｖＲに対する補正量ΔθｄｒｖＵを算出する。そして、相間位相ばらつき補正部ＰＨＤＣＰは、基準の駆動電圧位相θｄｒｖＲに当該補正量ΔθｄｒｖＵを加えることでｕ相の駆動電圧位相θｄｒｖＵを生成する。
【００７８】
《回転位置検出部および位相誤差検出部の構成および動作》
図５は、図２における回転位置検出部および位相誤差検出部の検出期間の一例を示す波形図である。図５には、モータＳＰＭに印加される各相の駆動電圧Ｖｕ，Ｖｖ，Ｖｗと、所定の相（ここではｕ相）の駆動電流Ｉｕとが示される。駆動電圧Ｖｕ，Ｖｖ，Ｖｗは、図５に示されるように、各時点ではＰＷＭ信号であり、その時間平均によって図２０に示したような電圧波形となる。
【００７９】
図１８のインバータ部ＩＮＶＢＫは、図２０に示した駆動方式に基づき、無通電期間が無い１８０ｄｅｇ通電方式によってモータに駆動電圧Ｖｕ，Ｖｖ，Ｖｗを印加する。この場合、例えば、ｕ相のＢＥＭＦ位相を検出するためには、ＢＥＭＦの電圧ゼロクロス点（振幅の中間値を通過する時点）を含む所定の期間で、無通電期間を設ける必要がある。そこで、ＰＷＭ変調部ＰＷＭＭＤは、ハイインピーダンス制御信号ＨＩＺｕをアサートすることで３６０ｄｅｇの通電期間内に無通電期間（例えば１５ｄｅｇ程度）を設け、図５に示すように、この無通電期間でマスク信号ＭＳＫをアサートする。位相誤差検出部ＰＨＥＤは、当該マスク信号ＭＳＫのアサート期間で逆起電圧位相検出部ＢＰＨＤからのゼロクロス検出信号ＺＸＯＵＴを取り込み、ｕ相のＢＥＭＦ位相の位相誤差を検出する。
【００８０】
また、ＰＷＭ変調器ＰＷＭＭＤは、特に限定はされないが、図５に示すように、当該無通電期間とは位相が１８０ｄｅｇ異なる通電期間で、駆動電流検出イネーブル信号ＣＮＴ＿ＥＮをアサートする。当該駆動電流検出イネーブル信号ＣＮＴ＿ＥＮのアサート期間は、例えば、前述した無通電期間と同じ長さ（例えば１５ｄｅｇ程度）である。駆動電流位相検出部ＩＰＨＤは、当該駆動電流検出イネーブル信号ＣＮＴ＿ＥＮのアサート期間で駆動電流Ｉｕの電流ゼロクロス点を検出し、当該検出結果に基づき基準電流位相θｉを定める。
【００８１】
ここで、ＰＷＭ変調器ＰＷＭＭＤは、前述したように、ＰＬＬ制御部ＰＬＬＣＴからのＢＥＭＦに同期する通電タイミング信号ＴＩＭに基づいて、モータＳＰＭへの通電を制御している。ＰＷＭ変調器ＰＷＭＭＤは、この通電タイミング信号ＴＩＭに基づき、近未来において各相のＢＥＭＦの電圧ゼロクロス点が存在し得る期間を十分に狭い範囲（例えば６０ｄｅｇ以下、望ましくは１５ｄｅｇ程度以下）に絞り込むことができ、この絞り込んだ期間でマスク信号ＭＳＫを生成する。この無通電期間は、駆動電流の正弦波を歪ませる要因となるため、より短いほど望ましい。ただし、短すぎると、モータＳＰＭの角速度ωの変動等に伴い、当該期間内に電圧ゼロクロス点が存在しない事態を招くため、これらのトレードオフで定められる。
【００８２】
《逆起電圧位相検出部および位相誤差検出部の詳細》
図６は、図２における逆起電圧位相検出部の詳細な構成例を示す回路図である。図６の逆起電圧位相検出部ＢＰＨＤは、選択回路ＳＥＬＣ１と、アンプ回路ＡＭＰ１１と、サンプルホールド回路ＳＨ１１と、コンパレータ回路ＣＭＰ＿Ｚとを備える。選択回路ＳＥＬＣ１は、３相の駆動電圧Ｖｕ，Ｖｖ，Ｖｗのいずれかを相選択信号ＳＥＬに基づき選択し、選択相の駆動電圧Ｖｘを出力する。アンプ回路ＡＭＰ１１は、中性点ＣＴの電圧Ｖｃｔを基準として、選択相の駆動電圧Ｖｘを増幅する。
【００８３】
サンプルホールド回路ＳＨ１１は、サンプリング信号ＢＳＨに応じて、アンプ回路ＡＭＰ１１の出力電圧をサンプリングおよびホールドする。コンパレータ回路ＣＭＰ＿Ｚは、サンプルホールド回路ＳＨ１１の出力電圧となる逆起電圧振幅（本明細書ではＢＥＭＦ振幅と呼ぶ）ＢＥＭＦＯがゼロクロス電圧ＶｔｈＺ（例えばモータの電源電圧ＶＭの半値）に達した時点で、ゼロクロス検出信号ＺＸＯＵＴの論理レベルを遷移させる。なお、サンプリング信号ＢＳＨや相選択信号ＳＥＬは、ＰＷＭ変調器ＰＷＭＭＤによって生成される。サンプリング信号ＢＳＨは、各ＰＷＭ周期毎に生成され、各ＰＷＭ周期の中で、選択相を除く２相の中の一方の相のハイサイドトランジスタと他方の相のロウサイドトランジスタとが共にオンの期間（すなわち、電圧Ｖｃｔが電源電圧ＶＭの半分となる期間）で生成される。
【００８４】
図７は、図２における位相誤差検出部の詳細な構成例を示す回路図である。図７の位相誤差検出部ＰＨＥＤは、フリップフロップ回路ＦＦ１１，ＦＦ１２と、アップダウンカウンタ回路ＵＤＣＵＮＴ１と、アンド演算回路ＡＤ１１，ＡＤ１ｕ，ＡＤ１ｖ，ＡＤ１ｗと、レジスタ回路ＲＥＧ１０ｕ，ＲＥＧ１０ｖ，ＲＥＧ１０ｗと、平均化回路ＡＶＥ１と、乗算回路ＭＵＬ１０と、選択回路ＳＥＬＣ１０とを備える。
【００８５】
フリップフロップ回路ＦＦ１１，ＦＦ１２は、マスク信号ＭＳＫをディジタル制御の基準クロックＣＬＫで順次ラッチし、アップダウンカウンタ回路ＵＤＣＵＮＴ１へ出力する。アップダウンカウンタ回路ＵＤＣＵＮＴ１は、マスク信号ＭＳＫのアサート期間でイネーブル状態となり、このイネーブル状態において、ゼロクロス検出信号ＺＸＯＵＴに基づいてカウント動作を行う。具体的には、アップダウンカウンタ回路ＵＤＣＵＮＴ１は、ゼロクロス検出信号ＺＸＯＵＴの論理レベルが一方の論理レベルの場合には基準クロックＣＬＫでカウントアップを行い、他方の論理レベルの場合には、基準クロックＣＬＫでカウントダウンを行う。
【００８６】
アンド演算回路ＡＤ１１は、フリップフロップ回路ＦＦ１１の反転出力と、フリップフロップ回路ＦＦ１２の出力とを入力としてアンド演算を行うことで、マスク信号ＭＳＫがアサート期間からネゲート期間に遷移する際にワンショットパルス信号となるラッチ信号ＬＴ１１を出力する。アンド演算回路ＡＤ１ｕ，ＡＤ１ｖ，ＡＤ１ｗは、それぞれ、相選択信号ＳＥＬを構成する信号ｕｓｌ，ｖｓｌ，ｗｓｌと、ラッチ信号ＬＴ１１とを２入力としてアンド演算を行い、レジスタ回路ＲＥＧ１０ｕ，ＲＥＧ１０ｖ，ＲＥＧ１０ｗへラッチ信号ＬＴ１１ｕ，ＬＴ１１ｖ，ＬＴ１１ｗを出力する。
【００８７】
レジスタ回路ＲＥＧ１０ｕ，ＲＥＧ１０ｖ，ＲＥＧ１０ｗは、それぞれ、ラッチ信号ＬＴ１１ｕ，ＬＴ１１ｖ，ＬＴ１１ｗをトリガとして、アップダウンカウンタ回路ＵＤＣＵＮＴ１のカウント値をラッチする。平均化回路ＡＶＥ１は、レジスタ回路ＲＥＧ１０ｕ，ＲＥＧ１０ｖ，ＲＥＧ１０ｗの各カウント値を平均化する。乗算回路ＭＵＬ１０は、平均化回路ＡＶＥ１の出力に所定のパラメータＫｃｏｎｖ１を乗算することで、基準電圧位相θｂｅｍｆを出力する。ゲインＫｃｏｎｖ１は、カウント値を位相に換算する係数である。選択回路ＳＥＬＣ１０は、相選択信号ＳＥＬに基づき、レジスタ回路ＲＥＧ１０ｕ，ＲＥＧ１０ｖ，ＲＥＧ１０ｗのいずれかのカウント値を位相誤差信号ＥＣＮＴとして出力する。
【００８８】
図８は、図６の逆起電圧位相検出部および図７の位相誤差検出部の概略的な動作例を示す説明図である。図８に示すように、アップダウンカウンタ回路ＵＤＣＵＮＴ１は、マスク信号ＭＳＫがアサートされると、カウント動作を開始する。この例では、サンプルホールド回路ＳＨ１１からのＢＥＭＦ振幅ＢＥＭＦＯは、カウント動作の開始時点でゼロクロス電圧ＶｔｈＺよりも小さくなっており、その後、ゼロクロス電圧ＶｔｈＺに達し、更にその後、ゼロクロス電圧ＶｔｈＺを超えて上昇している。
【００８９】
これに応じて、アップダウンカウンタ回路ＵＤＣＵＮＴ１は、ＢＥＭＦ振幅ＢＥＭＦＯがゼロクロス電圧ＶｔｈＺに達するまで（すなわちゼロクロス検出信号ＺＸＯＵＴが遷移するまで）はカウントダウンを行い、ゼロクロス電圧ＶｔｈＺを超えたのち（すなわちＺＸＯＵＴが遷移したのち）カウントアップを行う。そして、アップダウンカウンタ回路ＵＤＣＵＮＴ１は、マスク信号ＭＳＫがネゲートされた時点でカウント動作を停止する。位相誤差検出部ＰＨＥＤは、このカウント動作を停止した時点の最終的なカウント値をレジスタ回路ＲＥＧ１０ｕ，ＲＥＧ１０ｖ，ＲＥＧ１０ｗの中の選択相に対応するレジスタ回路に保持する。
【００９０】
図８から判るように、仮に、電圧ゼロクロス点がマスク信号ＭＳＫのアサート期間の中間時刻に存在する場合、アップダウンカウンタ回路ＵＤＣＵＮＴ１の最終的なカウント値はゼロとなる。一方、電圧ゼロクロス点が当該中間時刻からずれた場合、アップダウンカウンタ回路ＵＤＣＵＮＴ１の最終的なカウント値は、そのずれの方向および量（言い換えれば中間時刻との電圧位相誤差）を反映した値となる。
【００９１】
ここで、例えば、相選択信号ＳＥＬによって選択相を順に切り替えながら、逆起電圧位相検出部ＢＰＨＤおよび位相誤差検出部ＰＨＥＤを動作させた場合を想定する。この場合、位相誤差検出部ＰＨＥＤは、あるマスク期間ＭＳＫを前提として、３相の電圧位相誤差をそれぞれレジスタ回路ＲＥＧ１０ｕ，ＲＥＧ１０ｖ，ＲＥＧ１０ｗに保持し、その平均値を基準電圧位相θｂｅｍｆとして出力する。
【００９２】
図２のＰＬＬ制御部ＰＬＬＣＴは、前述したように周期的に遷移する通電タイミング信号ＴＩＭを生成し、その位相と基準電圧位相θｂｅｍｆとの位相差がゼロに収束するように通電タイミング信号ＴＩＭの位相をＰＬＬで制御する。また、ＰＷＭ変調部ＰＷＭＭＤからのマスク期間ＭＳＫは、この通電タイミング信号ＴＩＭに基づく所定の電気角（例えば１５ｄｅｇ）の範囲に定められ、通電タイミング信号ＴＩＭに応じて更新される。位相誤差検出部ＰＨＥＤは、この更新されたマスク期間ＭＳＫを前提として、基準電圧位相θｂｅｍｆを更新する。
【００９３】
このようなフィードバック制御により、ＰＬＬ制御部ＰＬＬＣＴは、図８の期間Ｔｄｅｔ１→期間Ｔｄｅｔ２に示されるように、基準電圧位相θｂｅｍｆがゼロに収束するように、通電タイミング信号ＴＩＭの位相制御を介してマスク期間ＭＳＫのウインドウ位置を調整することになる。言い換えれば、ＰＬＬ制御部ＰＬＬＣＴは、各相の電圧ゼロクロス点の平均的なタイミングがマスク期間ＭＳＫの中間時刻に一致するように通電タイミング信号ＴＩＭの位相を制御することになる。
【００９４】
その結果、定常状態では、基準電圧位相θｂｅｍｆは略ゼロとなり、図７のレジスタ回路ＲＥＧ１０ｕ，ＲＥＧ１０ｖ，ＲＥＧ１０ｗは、ぞれぞれ、基準電圧位相θｂｅｍｆ（≒０）との間の電圧位相誤差を表すカウント値を保持する。したがって、相選択信号ＳＥＬによって選択回路ＳＥＬＣ１０を制御することで、各相の電圧位相誤差（Δθｂｅｍｆ＿Ｕ，Ｖ，Ｗ）を表すカウント値を位相誤差信号ＥＣＮＴとして出力することが可能である。
【００９５】
《駆動電流位相検出部の詳細》
図９は、図２における駆動電流位相検出部の詳細な構成例を示す回路図である。図９の駆動電流位相検出部ＩＰＨＤは、セレクタ回路ＳＥＬＣ２ａ，ＳＥＬＣ２ｂと、コンパレータ回路ＣＭＰ＿Ｇ，ＣＭＰ＿ＴＲと、アップダウンカウンタ回路ＵＤＣＵＮＴ２と、フリップフロップ回路ＦＦ２１，ＦＦ２２と、アンド演算回路ＡＤ２１とを備える。また、駆動電流位相検出部ＩＰＨＤは、図７の構成例と同様に、アンド演算回路ＡＤ２ｕ，ＡＤ２ｖ，ＡＤ２ｗと、レジスタ回路ＲＥＧ２０ｕ，ＲＥＧ２０ｖ，ＲＥＧ２０ｗと、平均化回路ＡＶＥ２と、乗算回路ＭＵＬ２０とを備える。
【００９６】
セレクタ回路ＳＥＬＣ２ａは、３相のロウサイドトランジスタＭ２ｕ，Ｍ２ｖ，Ｍ２ｗのゲート・ソース間電圧Ｖｇｓ＿ＵＬ，Ｖｇｓ＿ＶＬ，Ｖｇｓ＿ＷＬを受け、その中のいずれかを相選択信号ＳＥＬに基づいて選択し、それをゲート・ソース間電圧Ｖｇｓ＿ｘＬとしてコンパレータ回路ＣＭＰ＿Ｇへ出力する。同様に、セレクタ回路ＳＥＬＣ２ｂは、３相の駆動電圧Ｖｕ，Ｖｖ，Ｖｗのいずれかを相選択信号ＳＥＬに基づいて選択し、それを駆動電圧Ｖｘとしてコンパレータ回路ＣＭＰ＿ＴＲへ出力する。
【００９７】
コンパレータ回路ＣＭＰ＿Ｇは、セレクタ回路ＳＥＬＣ２ａからのゲート・ソース間電圧Ｖｇｓ＿ｘＬと所定のしきい値電圧ＶｔｈＧとの大小関係を比較する。すなわち、コンパレータ回路ＣＭＰ＿Ｇは、選択相のロウサイドトランジスタがオンかオフかを判別する。コンパレータ回路ＣＭＰ＿ＴＲは、セレクタ回路ＳＥＬＣ２ｂからの駆動電圧Ｖｘが低電位側のしきい値電圧ＶｔｈＬよりも大きく、かつ高電位側のしきい値電圧ＶｔｈＨよりも小さい範囲にあるか否かを判別する。すなわち、コンパレータ回路ＣＭＰ＿ＴＲは、駆動電圧ＶｘがＰＷＭ信号に応じて高電位側の電源電圧ＶＭと低電位側の電源電圧（接地電源電圧ＧＮＤ）との間で遷移する期間を検出する。コンパレータ回路ＣＭＰ＿ＴＲは、当該検出した遷移期間において、トリガ信号ＴＲＧをアサートする。
【００９８】
フリップフロップ回路ＦＦ２１，ＦＦ２２は、駆動電流検出イネーブル信号ＣＮＴ＿ＥＮをディジタル制御の基準クロックＣＬＫで順次ラッチし、アップダウンカウンタ回路ＵＤＣＵＮＴ２へ出力する。アップダウンカウンタ回路ＵＤＣＵＮＴ２は、駆動電流検出イネーブル信号ＣＮＴ＿ＥＮのアサート期間でイネーブル状態となる。このイネーブル状態において、アップダウンカウンタ回路ＵＤＣＵＮＴ２は、トリガ信号ＴＲＧがアサートされる毎に、コンパレータ回路ＣＭＰ＿Ｇの比較結果に基づいてカウントダウンまたはカウントアップを行う。例えば、アップダウンカウンタ回路ＵＤＣＵＮＴ２は、Ｖｇｓ＿ｘＬ＜ＶｔｈＧの場合（選択相のロウサイドトランジスタがオフの場合）にはカウントダウンを行い、Ｖｇｓ＿ｘＬ＞ＶｔｈＧの場合（選択相のロウサイドトランジスタがオンの場合）にはカウントアップを行う。
【００９９】
アンド演算回路ＡＤ２１は、フリップフロップ回路ＦＦ２１の反転出力と、フリップフロップ回路ＦＦ２２の出力とを入力としてアンド演算を行うことで、駆動電流検出イネーブル信号ＣＮＴ＿ＥＮがアサート期間からネゲート期間に遷移する際に、ワンショットパルス信号となるラッチ信号ＬＴ２１を出力する。アンド演算回路ＡＤ２ｕ，ＡＤ２ｖ，ＡＤ１ｗは、それぞれ、選択信号ｕｓｌ，ｖｓｌ，ｗｓｌと、ラッチ信号ＬＴ２１とを２入力としてアンド演算を行い、レジスタ回路ＲＥＧ２０ｕ，ＲＥＧ２０ｖ，ＲＥＧ２０ｗにラッチ信号ＬＴ２１ｕ，ＬＴ２１ｖ，ＬＴ２１ｗを出力する。
【０１００】
レジスタ回路ＲＥＧ２０ｕ，ＲＥＧ２０ｖ，ＲＥＧ２０ｗは、それぞれ、ラッチ信号ＬＴ２１ｕ，ＬＴ２１ｖ，ＬＴ２１ｗを受けて、アップダウンカウンタ回路ＵＤＣＵＮＴ２からのカウント値をラッチし、平均化回路ＡＶＥ２は、その各カウント値を平均化する。乗算回路ＭＵＬ２０は、平均化回路ＡＶＥ２の出力を所定のゲインＫｃｏｎｖ２で増幅することで、基準電流位相θｉを出力する。ゲインＫｃｏｎｖ２は、カウント値を位相に換算する係数である。
【０１０１】
図１０は、図９の駆動電流位相検出部の動作原理を示す波形図である。図１０には、例えば、駆動電流Ｉｕがソース電流（プラス電流）からシンク電流（マイナス電流）に変化する際の、各信号の概略的な動作波形が示されている。ｕ相のロウサイドトランジスタＭ２ｕには、ソース電流が流れる期間ではＰＷＭ制御に伴う回生電流が流れ、シンク電流が流れる期間ではＰＷＭ制御に伴う駆動電流が流れる。
【０１０２】
この回生電流と駆動電流の違いにより、図１０に示されるように、駆動電流Ｉｕがソース電流である場合のＰＷＭ周期Ｔ１において駆動電圧Ｖｕが遷移する期間では、ロウサイドトランジスタＭ２ｕのゲート・ソース間電圧Ｖｇｓ＿ＵＬは、所定のしきい値電圧ＶｔｈＧよりも小さくなる。すなわち、ロウサイドトランジスタＭ２ｕは、オフとなる。一方、駆動電流Ｉｕがシンク電流である場合のＰＷＭ周期Ｔ２において駆動電圧Ｖｕが遷移する期間では、ロウサイドトランジスタＭ２ｕのゲート・ソース間電圧Ｖｇｓ＿ＵＬは、所定のしきい値電圧ＶｔｈＧよりも大きくなる。すなわち、ロウサイドトランジスタＭ２ｕは、オンとなる。
【０１０３】
図９の駆動電流位相検出部ＩＰＨＤは、このように、モータＳＰＭの選択相（ここではｕ相）の駆動電圧Ｖｕが遷移している期間で、選択相のロウサイドトランジスタＭ２ｕがオンかオフかを判別することで、当該相の電流がソース電流かシンク電流かを判別する。そして、当該駆動電流位相検出部ＩＰＨＤは、ソース電流およびシンク電流の一方から他方に切り替わった時点を、駆動電流Ｉｕの電流ゼロクロス点として検出する。
【０１０４】
具体的には、図１０に示すように、駆動電流位相検出部ＩＰＨＤのアップダウンカウンタ回路ＵＤＣＵＮＴ２は、ソース電流と判別した場合にはカウントダウンを行い、シンク電流と判別した場合にはカウントアップを行う。図１０では省略されているが、アップダウンカウンタ回路ＵＤＣＵＮＴ２は、図８のマスク信号ＭＳＫと同様に、駆動電流検出イネーブル信号ＣＮＴ＿ＥＮのアサート期間で、このようなカウント動作を行う。その結果、駆動電流位相検出部ＩＰＨＤは、図８の場合と同様に、駆動電流検出イネーブル信号ＣＮＴ＿ＥＮがネゲートされた時点の最終的なカウント値に基づいて、基準電流位相θｉを定める。例えば、相選択信号ＳＥＬによって選択相を順に切り替えながら、駆動電流位相検出部ＩＰＨＤを動作させた場合、各相の平均的な位相が基準電流位相θｉとして定められる。
【０１０５】
なお、図７の位相誤差検出部ＰＨＥＤおよび図９の駆動電流位相検出部ＩＰＨＤは、各相の平均的な位相を基準電圧位相θｂｅｍｆおよび基準電圧位相θｉに定めたが、平均的な位相に限らず代表的な位相を基準電圧位相θｂｅｍｆおよび基準電圧位相θｉに定めてもよい。例えば、位相誤差検出部ＰＨＥＤは、ｕ相のＢＥＭＦ位相を基準電圧位相θｂｅｍｆに定めるような構成であってもよく、駆動電流位相検出部ＩＰＨＤも、ｕ相の駆動電流位相を基準電流位相θｉに定めるような構成であってもよい。
【０１０６】
《駆動電圧位相生成部の詳細》
図１１は、図４の駆動電圧位相生成部における位相演算部および位相補正部の詳細な構成例を示す図である。図２３（ａ）のベクトル図に示したように、逆起電圧Ｖｂｅｍｆの位相（言い換えれば基準電圧位相θｂｅｍｆ）とコイル電流Ｉｃｏｉｌの位相（言い換えれば基準電流位相θｉ）との位相差をゼロに定めるためには、基準電圧位相θｂｅｍｆに対して駆動電圧Ｖｄｒｖの位相を駆動電圧位相θｄｒｖだけ進める必要がある。
【０１０７】
この駆動電圧位相θｄｒｖは、モータＳＰＭの角周波数ωおよびトルク定数Ｋｅを用いて、式（１）で示される。式（１）において、“ω・Ｋｅ”は、図２３（ａ）の逆起電圧Ｖｂｅｍｆに該当する。
【０１０８】
θｄｒｖ＝ｔａｎ−１｛ω・Ｌｍ・Ｉｃｏｉｌ／（ω・Ｋｅ＋Ｒｍ・Ｉｃｏｉｌ）｝      （１）
ここで、駆動電圧位相θｄｒｖは、通常、十分に小さい値となる。この場合、式（２）の近似を用いて“ｔａｎ−１”を省くことができ、この省いた式を変形して式（３）が得られる。
【０１０９】
θｄｒｖ≒ｔａｎ−１（θｄｒｖ）      （２）
θｄｒｖ＝（Ｌｍ／Ｒｍ）・Ｉｃｏｉｌ／｛（Ｋｅ／Ｒｍ）＋（Ｉｃｏｉｌ／ω）｝      （３）
図１１に示す位相演算部ＰＨＣＡＬは、この式（３）に基づき駆動電圧位相θｄｒｖを演算する。具体的には、式（３）において、“Ｋｅ／Ｒｍ”に対応する値を特性定数Ｋ１で定め、“Ｌｍ／Ｒｍ”に対応する値を特性定数Ｋ２で定め、“Ｉｃｏｉｌ”に対応する値をピーク格納部ＰＫＨＤからの駆動電流振幅ＩＳＰＮＯＵＴで定め、“１／ω”に対応する値を回転周期カウント値ＮＣＮＴで定める。この場合、式（３）は、式（４）となり、駆動電圧位相θｄｒｖは、式（５）の“Ｋｄｒｖ”に“ＩＳＰＮＯＵＴ”を乗算することで得られる。
【０１１０】
θｄｒｖ＝Ｋ２・ＩＳＰＮＯＵＴ／（Ｋ１＋ＩＳＰＮＯＵＴ・ＮＣＮＴ）      （４）
Ｋｄｒｖ＝Ｋ２／（Ｋ１＋ＩＳＰＮＯＵＴ・ＮＣＮＴ）      （５）
図１１に示す位相演算部ＰＨＣＡＬは、減算器ＳＢ３０と、乗算器ＭＵＬ３０〜ＭＵＬ３３と、積分器ＩＴＧ３０と、加算器ＡＤＤ３０とを備える。乗算器ＭＵＬ３３は、“ＮＣＮＴ・ＩＳＰＮＯＵＴ”を算出し、加算器ＡＤＤ３０は、乗算器ＭＵＬ３３の出力に“Ｋ１”を加算することで式（５）の分母を算出する。乗算器ＭＵＬ３２は、加算器ＡＤＤ３０の出力に“Ｋｄｒｖ”を乗算する。減算器ＳＢ３０は、乗算器ＭＵＬ３２の乗算結果と“Ｋ２”との誤差を算出し、乗算器ＭＵＬ３０は、当該誤差を積分ゲインＫで増幅し、積分器ＩＴＧ３０は、乗算器ＭＵＬ３０の乗算結果を積分することで式（５）の“Ｋｄｒｖ”を算出する。
【０１１１】
すなわち、図１１の位相演算部ＰＨＣＡＬは、乗算器ＭＵＬ３２の乗算結果（すなわち、“Ｋｄｒｖ・（Ｋ１＋ＩＳＰＮＯＵＴ・ＮＣＮＴ）”）と“Ｋ２”との誤差がゼロに収束するように、“Ｋｄｒｖ”をフィードバック制御することで“Ｋｄｒｖ”を算出するような演算回路を備える。誤差がゼロに収束した場合、“Ｋｄｒｖ・（Ｋ１＋ＩＳＰＮＯＵＴ・ＮＣＮＴ）”は“Ｋ２”に等しくなり、その結果、“Ｋｄｒｖ”は式（５）の値となる。乗算器ＭＵＬ３１は、“Ｋｄｒｖ”に“ＩＳＰＮＯＵＴ”を乗算することで式（４）の位相θｄｒｖを算出する。
【０１１２】
このように、フィードバック制御を利用した演算回路を用いることで、複雑な構成となり得る割り算器を用いずに式（４）の演算を行うことができ、回路構成の簡素化等が図れる。なお、ここでは、乗算器ＭＵＬ３０は、加算器ＡＤＤ３０の算出結果に応じて積分ゲインＫを可変制御する構成となっている。具体的には、積分ゲインＫは、例えば、加算器ＡＤＤ３０の出力が大きくなるにつれて、段階的に小さくなるように制御される。これにより、加算器ＡＤＤ３０の出力の大きさに関わらず、フィードバック制御の帯域を同程度に保つことができる。
【０１１３】
図１１に示す位相補正部ＰＨＣＰは、平均化回路ＡＶＥ３と、乗算器ＭＵＬ３４，ＭＵＬ３５と、誤差検出器ＥＤＥＴ１と、積分器ＩＴＧ３１と、加算器ＡＤＤ３１とを備える。平均化回路ＡＶＥ３は、入力された基準電流位相θｉを、時系列的に平均化する。乗算器ＭＵＬ３４は、当該平均化された基準電流位相θｉにゲイン調整パラメータＫｖｉを乗算する。誤差検出器ＥＤＥＴ１は、ゼロ位相を目標として乗算器ＭＵＬ１４の乗算結果の位相誤差Δθｖを検出する。すなわち、図８で述べたように、定常状態では、基準電圧位相θｂｅｍｆはゼロとなり、このゼロの基準電圧位相θｂｅｍｆと実際の基準電流位相θｉとの位相誤差が‘Δθｖ’となる。
【０１１４】
乗算器ＭＵＬ３５は、誤差検出器ＥＤＥＴ１の検出結果（Δθｖ）にゲイン調整パラメータ（すなわち積分ゲイン）Ｋａｄｊを乗算し、積分器ＩＴＧ３１は、当該乗算器ＭＵＬ３５の乗算結果を積分することで補正値を算出する。加算器ＡＤＤ３１は、位相演算部ＰＨＣＡＬからの駆動電圧位相θｄｒｖに積分器ＩＴＧ３１で算出された補正値を加えることで、基準の駆動電圧位相θｄｒｖＲを算出する。なお、ゲイン調整パラメータＫｖｉは、基準電流位相θｉの変化に対する基準の駆動電圧位相θｄｒｖＲの感度を調整する係数である。
【０１１５】
図１２は、図４の駆動電圧位相生成部における相間位相ばらつき補正部の詳細な構成例を示す図である。図１２の相間位相ばらつき補正部ＰＨＤＣＰは、乗算器ＭＵＬ４０，ＭＵＬ４１と、レジスタ回路ＲＥＧ４０ｕｒ，ＲＥＧ４０ｕｆ，ＲＥＧ４０ｖｒ，ＲＥＧ４０ｖｆ，ＲＥＧ４０ｗｒ，ＲＥＧ４０ｗｆと、平均化回路ＡＶＥ４ｕ，ＡＶＥ４ｖ，ＡＶＥ４ｗと、加算器ＡＤＤ４０ｕ，ＡＤＤ４０ｖ，ＡＤＤ４０ｗとを備える。
【０１１６】
乗算器ＭＵＬ４０は、位相誤差検出部ＰＨＥＤからのカウント値となる位相誤差信号ＥＣＮＴに位相誤差検出ゲインＫｅを乗算する。位相誤差検出ゲインＫｅは、カウント値を位相へ換算する係数である。その結果、乗算器ＭＵＬ４０は、位相誤差検出部ＰＨＥＤでの選択相に応じて３相毎の電圧位相誤差Δθｂｅｍｆ＿Ｕ，Ｖ，Ｗを出力することになる。乗算器ＭＵＬ４１は、当該３相毎の電圧位相誤差Δθｂｅｍｆ＿Ｕ，Ｖ，Ｗに電圧位相調整ゲインパラメータＫｖｂを乗算する。電圧位相調整ゲインパラメータＫｖｂは、ＢＥＭＦ位相の電圧位相誤差に応じた駆動電流位相を設定するために必要な駆動電圧位相の補正量を算出するための調整ゲインであり、式（８）となる。
【０１１７】
【数１】
2018046697.tif 000003
【０１１８】
【数２】
2018046697.tif 000004
【０１１９】
【数３】
2018046697.tif 000005
式（８）に関し、まず、図２３（ｂ）および図２３（ｃ）を参照して、ＢＥＭＦ位相がΔθｂｅｍｆずれ、駆動電流位相がΔθｉずれた場合の駆動電圧位相θｄｒｖは、コイルのインピーダンス成分Ｚｍ（＝Ｒｍ＋ｊ・ω・Ｌｍ）を用いて式（６）となる。式（６）において、Δθｉ＝−Δθｂｅｍｆに設定すると、式（７）となる。式（７）は、ＢＥＭＦ位相と駆動電流位相とが一致している状態を基準にＢＥＭＦ位相がΔθｂｅｍｆシフトし、かつ駆動電流位相がＢＥＭＦ位相と逆方向に同量だけシフトした状態（すなわちΔθｉ＝−Δθｂｅｍｆの状態）で得られるＢＥＭＦ位相と駆動電圧位相θｄｒｖとの関係式となる。式（７）をΔθｂｅｍｆで微分すると、式（８）が得られる。
【０１２０】
このように、式（８）の電圧位相調整ゲインパラメータＫｖｂは、式（７）の関係式において、ＢＥＭＦ位相のシフト量に対する駆動電圧位相θｄｒｖの感度を表す係数である。言い換えれば、電圧位相調整ゲインパラメータＫｖｂは、ＢＥＭＦ位相がΔθｂｅｍｆ（＿Ｕ，Ｖ，Ｗ）シフトした場合にΔθｉ（＿Ｕ，Ｖ，Ｗ）＝−Δθｂｅｍｆ（＿Ｕ，Ｖ，Ｗ）の状態を構築するのに必要な、基準の駆動電圧位相θｄｒｖＲに対する補正量Δθｄｒｖ（＿Ｕ，Ｖ，Ｗ）を算出するための係数である。
【０１２１】
レジスタ回路ＲＥＧ４０ｕｒは、相選択信号ＳＥＬに応じて、乗算器ＭＵＬ４１からのｕ相の立ち上がり時の補正量を保持し、レジスタ回路ＲＥＧ４０ｕｆは、相選択信号ＳＥＬに応じて、乗算器ＭＵＬ４１からのｕ相の立ち下がり時の補正量を保持する。同様に、レジスタ回路ＲＥＧ４０ｖｒ，ＲＥＧ４０ｖｆは、それぞれ、ｖ相の立ち上がり時と立ち下がり時の補正量を保持し、レジスタ回路ＲＥＧ４０ｗｒ，ＲＥＧ４０ｗｆは、それぞれ、ｗ相の立ち上がり時と立ち下がり時の補正量を保持する。
【０１２２】
なお、この例では、図２のＰＷＭ変調部ＰＷＭＭＤは、３相のＢＥＭＦの立ち上がり時の電圧ゼロクロス点と立ち下がり時の電圧ゼロクロス点をそれぞれ検出するため、それぞれ電気角の位置が異なる６個のマスク信号ＭＳＫを順次出力するものとする。具体的には、ＰＷＭ変調部ＰＷＭＭＤは、例えば、ある期間で６個のマスク信号ＭＳＫの中の１個を出力し、次の期間で他の１個を出力するといった動作を巡回的に行う。また、ＰＷＭ変調部ＰＷＭＭＤは、マスク信号ＭＳＫの出力と並行して、当該マスク信号ＭＳＫが６個のマスク信号ＭＳＫの中のどれかを表す相選択信号ＳＥＬを出力するものとする。
【０１２３】
平均化回路ＡＶＥ４ｕは、レジスタ回路ＲＥＧ４０ｕｒ，ＲＥＧ４０ｕｆの出力値を平均化することでｕ相の補正量ΔθｄｒｖＵを算出する。加算器ＡＤＤ４０ｕは、基準の駆動電圧位相θｄｒｖＲに当該ｕ相の補正量ΔθｄｒｖＵを加算することでｕ相の駆動電圧位相θｄｒｖＵを生成する。同様に、平均化回路ＡＶＥ４ｖは、レジスタ回路ＲＥＧ４０ｖｒ，ＲＥＧ４０ｖｆに基づきｖ相の補正量ΔθｄｒｖＶを算出し、平均化回路ＡＶＥ４ｗは、レジスタ回路ＲＥＧ４０ｗｒ，ＲＥＧ４０ｗｆに基づきｗ相の補正量ΔθｄｒｖＷを算出する。加算器ＡＤＤ４０ｖ，ＡＤＤ４０ｗは、それぞれ、基準の駆動電圧位相θｄｒｖＲにｖ相およびｗ相の補正量ΔθｄｒｖＶ，ΔθｄｒｖＷを加算することでｖ相およびｗ相の駆動電圧位相θｄｒｖＶ，θｄｒｖＷを生成する。
【０１２４】
以上、本実施の形態１のモータ駆動装置およびモータシステムを用いることで、代表的には、モータＳＰＭに着磁ばらつきが存在する場合であっても、モータＳＰＭのトルクリップルを低減可能になる。その結果、モータＳＰＭの低振動化および低騒音化が図れる。また、モータＳＰＭの製造工程（加工精度、組み立て精度等）に対する要求を緩和できるため、モータＳＰＭの低コスト化が図れる。
【０１２５】
なお、実使用上、駆動電圧位相生成部ＤＶＰＨＧは、常時、動作する必要はなく、例えば、モータシステムの起動時や、または、外部環境が変化した時などで動作すればよい。すなわち、基準の駆動電圧位相θｄｒｖＲや、着磁ばらつきに応じた駆動電圧位相θｄｒｖＵ，Ｖ，Ｗは、通常、時系列的に変化するような性質のものではなく、一度適切に設定されれば、ある程度の期間で継続使用可能な性質のものである。したがって、実使用上、モータ駆動装置ＭＤＩＣは、例えば、モータシステムの起動時にハイインピーダンスに設定する相を適宜変更しながら基準の駆動電圧位相θｄｒｖＲおよび駆動電圧位相θｄｒｖＵ，Ｖ，Ｗを定め、その後は、この定めた値を用いて、特に、ハイインピーダンスの設定を行うことなくモータＳＰＭを駆動すればよい。
【０１２６】
（実施の形態２）
《モータ駆動装置（比較例）の問題点》
図２４は、図１７のモータ駆動装置でモータを駆動した場合の、モータの逆起電圧、駆動電流およびトルクリップルの一例を示す波形図である。理想的なモータＳＰＭを用いた場合の逆起電圧振幅（ＢＥＭＦ振幅）は、ｕ相、ｖ相、ｗ相でそれぞれ同一振幅となる正弦波電圧となる。しかし、現実なモータＳＰＭを用いた場合のＢＥＭＦ振幅は、図２４のように、理想的なモータＳＰＭを用いた場合のＢＥＭＦ振幅を基準にばらつく場合がある。
【０１２７】
図２４の例では、ｕ相、ｖ相、ｗ相のＢＥＭＦ振幅は、理想的なモータＳＰＭのＢＥＭＦ振幅を基準として、それぞれ、２％減少、２％増加、ばらつき無しとなっている。このようなＢＥＭＦ振幅の相間ばらつきも、着磁ばらつきと呼ばれ、主にモータＳＰＭの構造に起因して生じる。ばらつき要因として、例えば、ステータにおける各相のコイルのインダクタンスばらつきや、ロータにおける磁石の特性ばらつき等が挙げられる。
【０１２８】
一方、図１７に示したモータ駆動装置は、理想モータを前提として、３相に対して電流指示値ＳＰＮＣＲ＿Ｒを反映した同一振幅の駆動電圧を印加することで、３相に対して同一振幅の駆動電流を流す。しかし、ＢＥＭＦ振幅が異なる状態で各相の駆動電流振幅が同一に制御されると、各相のトルクが異なることとなり、トルクリップルが増大し、モータ駆動における騒音、振動の増大を招く恐れがある。
【０１２９】
《モータ駆動装置（実施の形態２）の概略構成および概略動作》
図１３は、本発明の実施の形態２によるモータ駆動装置の主要部の構成例を示す機能ブロック図である。図１３に示すモータ駆動装置ＭＤＩＣは、図２の構成例と比較して、電流誤差検出部ＣＥＲＤＥＴ内に、アナログ・ディジタル変換器ＡＤＣ２と、相間振幅ばらつき補正部ＡＭＤＣＰと、乗算器ＭＵＬ１とが追加された構成となっている。ここで、図６に示した逆起電圧位相検出部ＢＰＨＤは、相選択信号ＳＥＬに応じて３相のＢＥＭＦ振幅ＢＥＭＦＯをそれぞれ検出する逆起電圧振幅検出部としても機能する。
【０１３０】
アナログ・ディジタル変換器ＡＤＣ２は、逆起電圧位相検出部（言い換えれば逆起電圧振幅検出部）ＢＰＨＤからの３相のＢＥＭＦ振幅ＢＥＭＦＯをディジタル値ＡＤＣＯ２に変換する。相間振幅ばらつき補正部ＡＭＤＣＰは、３相の駆動電流振幅が３相のＢＥＭＦ振幅の相対的な振幅ばらつきの逆数倍の振幅ばらつきを備えるように、駆動電圧を印加する際の３相毎の駆動電圧振幅を定める。
【０１３１】
例えば、３相の平均的または代表的なＢＥＭＦ振幅を‘Ｖｂｅｍｆ’とし、電流指示値ＳＰＮＣＲ＿Ｒに基づく基準の駆動電流振幅を‘Ｉｒｅｆ’とし、ディジタル値ＡＤＣＯ２で得られるｕ相、ｖ相、ｗ相のＢＥＭＦ振幅ＢＥＭＦＯを、それぞれ、‘Ｖｂｅｍｆ＿Ｕ’，‘Ｖｂｅｍｆ＿Ｖ’，‘Ｖｂｅｍｆ＿Ｗ’とする。この場合、‘Ｖｂｅｍｆ’を基準としたｕ相、ｖ相、ｗ相のＢＥＭＦ振幅の振幅ばらつきは、それぞれ、‘Ｖｂｅｍｆ＿Ｕ／Ｖｂｅｍｆ’，‘Ｖｂｅｍｆ＿Ｖ／Ｖｂｅｍｆ’，‘Ｖｂｅｍｆ＿Ｗ／Ｖｂｅｍｆ’となる。また、ｕ相、ｖ相、ｗ相の駆動電流振幅をそれぞれ‘Ｉｕ’，‘Ｉｖ’，‘Ｉｗ’とすると、‘Ｉｒｅｆ’を基準としたｕ相、ｖ相、ｗ相の駆動電流振幅の振幅ばらつきは、それぞれ、‘Ｉｕ／Ｉｒｅｆ’，‘Ｉｖ／Ｉｒｅｆ’，‘Ｉｗ／Ｉｒｅｆ’となる。
【０１３２】
相間振幅ばらつき補正部ＡＭＤＣＰは、ｕ相の駆動電流振幅Ｉｕの振幅ばらつき（Ｉｕ／Ｉｒｅｆ）がｕ相のＢＥＭＦ振幅の振幅ばらつき（Ｖｂｅｍｆ＿Ｕ／Ｖｂｅｍｆ）の逆数倍（すなわち、Ｖｂｅｍｆ／Ｖｂｅｍｆ＿Ｕ）に設定されるように、ｕ相の電流補正係数Ｋｃｒ＿Ｕを算出する。電流補正係数Ｋｃｒ＿Ｕは、‘Ｉｒｅｆ’（すなわち電流指示値ＳＰＮＣＲ＿Ｒ）に対する重み付けを表す。また、相間振幅ばらつき補正部ＡＭＤＣＰは、ｖ相およびｗ相に関しても同様に、ｖ相の電流補正係数Ｋｃｒ＿Ｖおよびｗ相の電流補正係数Ｋｃｒ＿Ｗをそれぞれ算出する。
【０１３３】
一方、図１３のサンプルホールド回路ＳＨ、センスアンプ回路ＳＡおよびアナログ・ディジタル変換器ＡＤＣは、３相の駆動電流振幅をそれぞれ検出する駆動電流振幅検出部として機能する。具体的には、駆動電流振幅検出部は、例えば、ｕ相のハイサイドトランジスタＭ１ｕがオン、ｖ相およびｗ相のハイサイドトランジスタＭ１ｖ，Ｍ１ｗが共にオフの期間でサンプルホールド回路ＳＨを用いてサンプリングを行うことで、ｕ相の駆動電流振幅を検出する。ｖ相およびｗ相に関しても同様に、駆動電流振幅検出部は、サンプリングタイミングを適切に制御することで、各相の駆動電流振幅を検出する。
【０１３４】
相間振幅ばらつき補正部ＡＭＤＣＰは、駆動電流振幅検出部がｕ相の駆動電流振幅を検出している期間で、ｕ相の電流補正係数Ｋｃｒ＿Ｕを出力する。乗算器ＭＵＬ１は、電流指示値ＳＰＮＣＲ＿Ｒに電流補正係数Ｋｃｒ＿Ｕを乗算することで電流指示値ＳＰＮＣＲ＿Ｍ（すなわちｕ相の電流指示値）を出力する。減算器ＳＢ１は、ｕ相の電流指示値ＳＰＮＣＲ＿Ｍと、ディジタル値ＡＤＣＯが表すｕ相の駆動電流振幅との誤差を検出する。
【０１３５】
ｖ相およびｗ相に関しても同様に、相間振幅ばらつき補正部ＡＭＤＣＰは、駆動電流振幅検出部がｖ相およびｗ相の駆動電流振幅をそれぞれ検出している期間で、ｕ相およびｗ相の電流補正係数Ｋｃｒ＿Ｖ，Ｋｃｒ＿Ｗをそれぞれ出力する。その結果、減算器ＳＢ１によって各相毎の電流指示値ＳＰＮＣＲ＿Ｍと各相毎の駆動電流振幅との誤差が検出される。なお、出力する電流補正係数Ｋｃｒ＿Ｕ，Ｋｃｒ＿Ｖ，Ｋｃｒ＿Ｗの選択は、相選択信号ＳＥＬによって行われる。
【０１３６】
図１４は、図１３のモータ駆動装置でモータを駆動した場合の、モータの逆起電圧、駆動電流およびトルクリップルの一例を示す波形図である。図１４において、３相の逆起電圧振幅（ＢＥＭＦ振幅）は、図２４の場合と同様に、ｗ相を基準に、ｕ相が相対的に２％小さく、ｖ相が相対的に２％大きい状態となっている。図１３の構成例を用いると、ｕ相のＢＥＭＦ振幅が基準のＢＥＭＦ振幅に対して２％小さいことに応じて、ｕ相の駆動電流振幅は、基準の駆動電流振幅に対して２％大きくなるように制御される。また、ｖ相のＢＥＭＦ振幅が基準のＢＥＭＦ振幅に対して２％大きいことに応じて、ｖ相の駆動電流振幅は、基準の駆動電流振幅に対して２％小さくなるように制御される。
【０１３７】
各相の駆動電流振幅をこのように制御することで、モータＳＰＭに着磁ばらつきが存在する場合でも、トルクリップルを低減でき、モータ駆動の低振動化および低騒音化が図れる。定性的に説明すると、図３で説明したように、各相のトルクは、“ＢＥＭＦ×駆動電流”の関数となる。したがって、例えば、ある相のＢＥＭＦ振幅がＫ倍にばらついた場合、当該相の駆動電流振幅を“１／Ｋ”倍に補正すれば、各相のトルクを一定に保つことができる。
【０１３８】
《相間振幅ばらつき補正部の詳細》
図１５は、図１３における相間振幅ばらつき補正部の詳細な構成例を示す図である。図１５に示す相間振幅ばらつき補正部ＡＭＤＣＰは、アンド演算回路ＡＤ５０（ｕ，ｖ，ｗ），ＡＤ５１（ｕ，ｖ，ｗ）と、レジスタ回路ＲＥＧ５０（ｕ１，ｕ２，ｖ１，ｖ２，ｗ１，ｗ２）と、減算器ＳＢ５０（ｕ，ｖ，ｗ）と、平均化回路ＡＶＥ５と、除算器ＤＩＶ５０（ｕ，ｖ，ｗ）と、選択回路ＳＥＬＣ５０とを有する。
【０１３９】
相選択信号ＳＥＬによる選択相がｕ相の場合、アンド演算回路ＡＤ５０ｕの出力はサンプリング信号ＳＰＬ１のアサート期間でアサートされ、アンド演算回路ＡＤ５１ｕの出力はサンプリング信号ＳＰＬ２のアサート期間でアサートされる。同様に、選択相がｖ相の場合、アンド演算回路ＡＤ５０ｖの出力はサンプリング信号ＳＰＬ１に応じてアサートされ、アンド演算回路ＡＤ５１ｖの出力はサンプリング信号ＳＰＬ２に応じてアサートされる。また、選択相がｗ相の場合、アンド演算回路ＡＤ５０ｗの出力はサンプリング信号ＳＰＬ１に応じてアサートされ、アンド演算回路ＡＤ５１ｗの出力はサンプリング信号ＳＰＬ２に応じてアサートされる。サンプリング信号ＳＰＬ１，ＳＰＬ２は、図１３のＰＷＭ変調部ＰＷＭＭＤによって生成される。
【０１４０】
レジスタ回路ＲＥＧｕ１，ＲＥＧｕ２，ＲＥＧｖ１，ＲＥＧｖ２，ＲＥＧｗ１，ＲＥＧｗ２は、それぞれ、アンド演算回路ＡＤ５０ｕ，ＡＤ５１ｕ，ＡＤ５０ｖ，ＡＤ５１ｖ，ＡＤ５０ｗ，ＡＤ５１ｗの出力のアサートに応じて、アナログ・ディジタル変換器ＡＤＣ２からのディジタル値ＡＤＣＯ２をラッチする。減算器ＳＢ５０ｕは、レジスタ回路ＲＥＧ５０ｕ２の出力値とレジスタ回路ＲＥＧ５０ｕ１の出力値との差分値を算出し、当該差分値をｕ相の逆起電圧振幅Ｄａｕとして出力する。同様に、減算器ＳＢ５０ｖは、レジスタ回路ＲＥＧ５０ｖ１，ＲＥＧ５０ｖ２に対する差分値を算出し、それをｖ相の逆起電圧振幅Ｄａｖとして出力し、減算器ＳＢ５０ｗは、レジスタ回路ＲＥＧ５０ｗ１，ＲＥＧ５０ｗ２に対する差分値を算出し、それをｗ相の逆起電圧振幅Ｄａｗとして出力する。
【０１４１】
平均化回路（平均値演算部）ＡＶＥ５は、ｕ相、ｖ相、ｗ相の逆起電圧振幅Ｄａｕ，Ｄａｖ，Ｄａｗの平均値を算出する。除算器（振幅比演算部）ＤＩＶ５０ｕは、ｕ相の逆起電圧振幅Ｄａｕ（図１３のＶｂｅｍｆ＿Ｕに対応）を‘ｙ’とし、逆起電圧振幅の平均値（図１３のＶｂｅｍｆに対応）を‘ｘ’とした場合に、“ｘ／ｙ”を算出することで電流補正係数Ｋｃｒ＿Ｕを定める。同様に、除算器ＤＩＶ５０ｖは、ｖ相の逆起電圧振幅Ｄａｖと逆起電圧振幅の平均値との比率を算出することで電流補正係数Ｋｃｒ＿Ｖを定め、除算器ＤＩＶ５０ｗは、ｗ相の逆起電圧振幅Ｄａｗと逆起電圧振幅の平均値との比率を算出することで電流補正係数Ｋｃｒ＿Ｗを定める。
【０１４２】
選択回路ＳＥＬＣ５０は、相選択信号ＳＥＬに応じて、ｕ相、ｖ相、ｗ相の電流補正係数Ｋｃｒ＿Ｕ，Ｋｃｒ＿Ｖ，Ｋｃｒ＿Ｗのいずれかを出力する。前述したように、当該各相の電流補正係数Ｋｃｒ＿Ｕ，Ｋｃｒ＿Ｖ，Ｋｃｒ＿Ｗによって、各相の駆動電圧振幅が定められ、その結果、各相の駆動電流振幅も定めれる。
【０１４３】
図１６は、図１５の相間振幅ばらつき補正部の動作例を説明する波形図である。図８等で述べたように、図６の逆起電圧位相検出部（逆起電圧振幅検出部）ＢＰＨＤは、選択相の駆動端子がマスク信号ＭＳＫのアサート期間でハイインピーダンスに設定された状態で、当該アサート期間の中で当該駆動端子の電圧（Ｖｕ，Ｖｖ，Ｖｗのいずれか）をサンプリング信号ＢＳＨに応じて時系列的に複数回サンプリングする。サンプリング信号ＢＳＨは、ＰＷＭ周期毎にアサートされる。そして、逆起電圧位相検出部（逆起電圧振幅検出部）ＢＰＨＤは、複数回のサンプリングを行いながらサンプリング電圧（すなわち逆起電圧振幅ＢＥＭＦＯ）を順次出力し、アナログ・ディジタル変換器ＡＤＣ２は、当該逆起電圧振幅ＢＥＭＦＯのディジタル値ＡＤＣＯ２を出力する。
【０１４４】
図１５の相間振幅ばらつき補正部ＡＭＤＣＰは、逆起電圧振幅検出部の一部として機能し、前述したように、複数回分（図１６の例では４回分）のサンプリング電圧（すなわちディジタル値ＡＤＣＯ２）の中の予め定めた２回分のサンプリング電圧を対象として差分値を算出し、当該差分値を逆起電圧振幅として検出する。図１６の例では、例えば、選択相がｕ相の状態で、アナログ・ディジタル変換器ＡＤＣ２が１回目のサンプリング電圧に伴うディジタル値Ｄｕ１の出力期間でサンプリング信号ＳＰＬ１がアサートされ、４回目のサンプリング電圧に伴うディジタル値Ｄｕ４の出力期間でサンプリング信号ＳＰＬ２がアサートされる。
【０１４５】
相間振幅ばらつき補正部ＡＭＤＣＰは、ディジタル値Ｄｕ１をレジスタ回路ＲＥＧ５０ｕ１にラッチし、ディジタル値Ｄｕ４をレジスタ回路ＲＥＧ５０ｕ２にラッチし、その差分値（Ｄｕ４−Ｄｕ１）を逆起電圧振幅Ｄａｕとして検出する。すなわち、相間振幅ばらつき補正部ＡＭＤＣＰは、マスク信号ＭＳＫのアサート期間におけるＢＥＭＦの変動量を逆起電圧振幅として検出する。
【０１４６】
このような方式を用いることで、逆起電圧振幅を高精度に検出することが可能になる。すなわち、図８等で述べたように、マスク信号ＭＳＫのアサート期間は、ＰＬＬ制御部ＰＬＬＣＴによって、常に、ＢＥＭＦの電圧ゼロクロス点を中間時刻とした一定区間（例えば１５ｄｅｇ）に保たれる。このため、ＢＥＭＦ振幅の検出期間も、時間軸上でばらつかず、３６０ｄｅｇの中の常に同じ電気角の範囲に維持される。このように検出期間がばらつかない結果、逆起電圧振幅の検出精度も高まる。
【０１４７】
さらにＰＷＭ周期についても、ＰＬＬ制御部ＰＬＬＣＴによって求められた回転周期カウント値ＮＣＮＴの整数分の１（例えば９６分の１）の周期とし、回転周期と同期をとることでＢＥＭＦ振幅の検出タイミングをＰＬＬ制御に同期させることができ逆起電圧振幅の検出精度を高くすることが可能である。
【０１４８】
また、逆起電圧位相を検出するための回路を一部併用して逆起電圧振幅の検出を行っているため、回路面積のオーバヘッドを抑制できる場合がある。なお、ここでは、逆起電圧振幅を検出するためのアナログ・ディジタル変換器ＡＤＣ２を別途設けたが、当該アナログ・ディジタル変換器ＡＤＣ２は、アナログ・ディジタル変換器ＡＤＣと併用することも可能である。すなわち、アナログ・ディジタル変換器ＡＤＣは、常時、相電流を検出する必要はなく、その空いた期間で逆起電圧振幅を検出することも可能である。
【０１４９】
以上、本実施の形態２のモータ駆動装置およびモータシステムを用いることで、実施の形態１で述べた各種効果が得られ、さらに、相間振幅ばらつき補正部ＡＭＤＣＰを設けることで、モータＳＰＭのトルクリップルをより低減することが可能になる。なお、図１３のように、相間の位相ばらつきと振幅ばらつきの両方を補正することがより望ましいが、例えば、振幅ばらつきのみを補正することでも、モータＳＰＭのトルクリップルをある程度低減することは可能である。
【０１５０】
また、実使用上、相間の振幅ばらつき補正は、前述した位相ばらつき補正の場合と同様に、例えば、モータシステムの起動時や、または、外部環境の変化時等で実行されればよい。この場合、厳密には、振幅と位相の一方を変えると他方も変わるため（すなわち依存関係があるため）、例えば、起動時の重複する期間で両方を並行して調整するのではなく、先に一方の調整を行った後に他方の調整を行うといった、逐次処理を行うことが望ましい。
【０１５１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１５２】
例えば、実施の形態の方式は、ＨＤＤ装置に限らず、ＤＶＤ再生録画装置やブルーレイ再生録画装置等を含め、各種モータの駆動方法として適用可能である。
【符号の説明】
【０１５３】
ＡＭＤＣＰ  相間振幅ばらつき補正部
ＢＥＭＦＯ  逆起電圧振幅
ＢＰＨＤ  逆起電圧位相検出部
ＤＶＰＨＧ  駆動電圧位相生成部
ＥＣＮＴ  位相誤差信号
ＩＮＶＢＫ  インバータ部
ＩＰＨＤ  駆動電流位相検出部
ＭＤＩＣ  モータ駆動装置
ＭＳＫ  マスク信号
ＰＨＣＡＬ  位相演算部
ＰＨＣＰ  位相補正部
ＰＨＤＣＰ  相間位相ばらつき補正部
ＰＨＥＤ  位相誤差検出部
ＰＬＬＣＴ  ＰＬＬ制御部
ＰＷＭＣＴ  ＰＷＭ制御部
ＲＰＨＧ  基準駆動電圧位相生成部
ＳＰＭ  モータ
ＴＩＭ  通電タイミング信号
θｂｅｍｆ  基準電圧位相
θｄｒｖＲ  基準の駆動電圧位相
θｄｒｖＵ，θｄｒｖＶ，θｄｒｖＷ  駆動電圧位相
θｉ  基準電流位相
【図１】
2018046697.tif 000006
【図２】
2018046697.tif 000007
【図３】
2018046697.tif 000008
【図４】
2018046697.tif 000009
【図５】
2018046697.tif 000010
【図６】
2018046697.tif 000011
【図７】
2018046697.tif 000012
【図８】
2018046697.tif 000013
【図９】
2018046697.tif 000014
【図１０】
2018046697.tif 000015
【図１１】
2018046697.tif 000016
【図１２】
2018046697.tif 000017
【図１３】
2018046697.tif 000018
【図１４】
2018046697.tif 000019
【図１５】
2018046697.tif 000020
【図１６】
2018046697.tif 000021
【図１７】
2018046697.tif 000022
【図１８】
2018046697.tif 000023
【図１９】
2018046697.tif 000024
【図２０】
2018046697.tif 000025
【図２１】
2018046697.tif 000026
【図２２】
2018046697.tif 000027
【図２３】
2018046697.tif 000028
【図２４】
2018046697.tif 000029