(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0027】
本発明の実施形態について、第1から第3の各実施形態を例に挙げ、各図面を参照しながら以下に説明する。
【0028】
1.第1実施形態
まず第1実施形態について説明する。
図1は、本実施形態に係るモータ駆動装置1およびその周辺のブロック図である。モータ駆動装置1は、ハードディスクドライブに用いられるスピンドルモータ2やボイスコイルモータ3の駆動制御を行うモノリシック半導体集積回路装置(いわゆるシステムモータドライバIC)である。
【0029】
モータ駆動装置1は、スピンドルモータ駆動部10、ボイスコイルモータ駆動部20、絶縁スイッチ30、および電源ラインL1を有する。なお、モータ駆動装置1を搭載したハードディスクドライブの全体構成については後ほど詳述する。
【0030】
スピンドルモータ駆動部10は、装置外部のホストから電源ラインL1に供給される電源電圧VDDを用いて、スピンドルモータ2を回転駆動する。これによりスピンドルモータ駆動部10は、プラッタ(磁気ディスク)を一定の回転数で回転させる。なおスピンドルモータ2は、A相、B相、およびC相を有する3相のブラシレスDCモータであるとする。
【0031】
またスピンドルモータ駆動部10は、電源電圧VDDの異常時(電源遮断時や瞬間停電時など)に、同期整流動作を行うことが可能である。この同期整流動作は、スピンドルモータ2の空転時に生じる各相の相電圧から整流電圧(整流により得られる電圧)を生成することにより、電源ラインL1への電圧の回生が効率良く行われるようにする動作である。この整流電圧は、電源ラインL1を介してモータ駆動装置1の各部(ボイスコイルモータ駆動部20など)に供給される。
【0032】
ボイスコイルモータ駆動部20は、電源ラインL1に接続されており、電源電圧VDDの正常時には、電源電圧VDDを用いてボイスコイルモータ2を駆動することにより、磁気ヘッドをプラッタ上でトラッキング移動させる。
【0033】
一方でボイスコイルモータ駆動部20は、電源電圧VDDの異常時には、スピンドルモータ駆動部10から電源ラインL1に回生される電圧を用いてボイスコイルモータ2を駆動することが出来る。これにより、磁気ヘッドをプラッタの最外周よりもさらに外側のランプ機構へ自動退避させることが可能である。このようなパワーオフリトラクト機能を具備することにより、電源電圧VDDの異常時において、磁気ヘッドとプラッタとの衝突を未然に回避することができる。
【0034】
絶縁スイッチ30は、モータ駆動装置1の電源ピン(電源電圧VDDが印加される外部端子)と電源ラインL1との間を導通/遮断する逆流防止素子である。絶縁スイッチ30は、電源電圧VDDの正常時にオンとされ、電源電圧VDDの異常時にオフとされる。絶縁スイッチ30としては、MOS[metal oxide semiconductor]電界効果トランジスタやダイオードなどを好適に用いることができる。
【0035】
電源ラインL1は、電源電圧VDDが印加される導電部材(メタル配線)である。なお電源ラインL1には、電圧平滑用のキャパシタ4が外付けされる。以下の説明では、電源ラインL1の電圧を、電圧VPWRと称することがある。
【0036】
図2は、モータ駆動装置1およびその周辺の構成図である。なお
図2は、スピンドルモータ駆動部10の部分を詳細に表示し、他の部分についての表示を一部省略している。
【0037】
図2に示すようにスピンドルモータ駆動部10は、電源ラインL1、接地ラインL2、上側スイッチ11x(但し、「x」はA〜Cの各々とする。以下同様。)、下側スイッチ12x、上側コンパレータ13x、下側コンパレータ14x、制御部15、プリドライバ部16、電流検出部21、選択回路22、およびBEMFコンパレータ23を備えている。
【0038】
接地ラインL2は、接地点(接地電圧GND)に接続されたラインである。なお接地ラインL2は、モータ駆動装置1の外部における接地点に接続されていてもよい。
【0039】
上側スイッチ11xは、スピンドルモータ2の各相端子と電源ラインL1との間を導通/遮断するスイッチ素子(Nチャネル型MOS電界効果トランジスタ)である。上側スイッチ11xは、上側ゲート信号xHGがハイレベルであるときにオン(導通)となり、上側ゲート信号xHGがローレベルであるときにオフ(遮断)となる。なお、上側スイッチ11xとしては、Pチャネル型MOS電界効果トランジスタを用いることもできる。
【0040】
下側スイッチ12xは、スピンドルモータ2の各相端子と接地ラインL2との間を導通/遮断するスイッチ素子(Nチャネル型MOS電界効果トランジスタ)である。下側スイッチ12xは、下側ゲート信号xLGがハイレベルであるときにオン(導通)となり、下側ゲート信号xLGがローレベルであるときにオフ(遮断)となる。
【0041】
上側コンパレータ13xは、電圧VPWRとスピンドルモータ2の各相端子に現れる相電圧SPxとを比較し、当該比較の結果を表す上側比較信号CMPxHを生成する。下側コンパレータ14xは、接地電圧GNDと相電圧SPxとを比較し、当該比較の結果を表す下側比較信号CMPxLを生成する。
【0042】
制御部15は、スイッチ制御信号Sc(上側3相と下側3相の合計6チャンネル)を生成して出力することにより、各スイッチ(11x、12x)を制御する。制御部15は、通常動作時には、スピンドルモータ2の回転数が一定となるように、各スイッチ(11x、12x)を制御する。
【0043】
プリドライバ16は、制御部15から入力されるスイッチ制御信号Scに応じて各スイッチ(11x、12x)のオン/オフ切替が行われるように、ゲート信号xHG及びxLGを生成する。
【0044】
電流検出部21は、スピンドルモータ2における最大電流値を検出し、この検出結果を所定閾値と比較する動作を行う。なお電流検出部21の具体的な構成や動作等については、改めて詳細に説明する。
【0045】
選択回路22は、全ての相電圧(SPA〜SPC)が入力電圧として入力される。選択回路22は、これらの入力電圧の何れか一つを選択し、信号INPとして出力する。
【0046】
BEMFコンパレータ23は、非反転入力端子には信号INPが入力され、反転入力端子には、スピンドルモータ2の中性点の電圧(中性点電圧)である電圧CTが入力される。BEMFコンパレータ23は、主として、スピンドルモータ2の回転速度の検出に利用される。
【0047】
例えば信号INPを相電圧SPAとすると、BEMFコンパレータ23の出力信号は、スピンドルモータ2の回転周期と同等の周期をもつパルス信号になる。そのため制御部15は、BEMFコンパレータ23の出力信号を受けることにより、スピンドルモータ2の回転速度をモニタすることが可能である。
【0048】
なお、モータ駆動装置1或いはその周辺に何らかの異常が生じたときには、スピンドルモータ2を安全に停止させるべき状況となる場合がある。このようなスピンドルモータ2を停止させるべき時(モータブレーキ時)には、制御部15は、その時の状況に適した動作が行われるようにする。
【0049】
より具体的に説明すると、モータブレーキ時におけるスピンドルモータ駆動部10の動作モードは、基本的には、「SyncRectモード」(同期整流モード)と「Coastモード」の間で切替えられる。
【0050】
SyncRectモードは、先述した同期整流動作が実行される動作モードである。例えば、電源電圧VDDの異常等により電圧VPWRの下落が比較的大きく、同期整流動作によって電圧VPWRの下落を抑えることが出来る状況では、スピンドルモータ駆動部10の動作モードはSyncRectモードとなる。その一方で、Coastモードは、同期整流動作が実行されない動作モードである。例えば、電圧VPWRの下落が比較的小さい(或いは下落していない)状況では、スピンドルモータ駆動部10の動作モードはCoastモードとなる。
【0051】
制御部15は、SyncRectモードのとき、同期整流動作が行われるように各スイッチ(11x、12x)を制御する。一方で制御部15は、Coastモードのとき、例えば各スイッチ(11x、12x)をオフに制御する。なお、Coastモードにおける各スイッチ(11x、12x)の制御形態は、他の形態となっていても構わない。
【0052】
また制御部15は、モータブレーキ時においてスピンドルモータ2の回転速度をモニタし、このモニタ結果をスピンドルモータ駆動部10の動作に反映させるようになっている。例えば、当該回転速度が所定の基準値より低くなった場合には、スピンドルモータ2は安全に停止する状態に入ったと判断される。そこでこの場合に制御部15は、例えば、スピンドルモータ駆動部10の動作モードに関わらず、各スイッチ(11x、12x)の制御を停止する。
【0053】
[同期整流動作について]
図3は、接地ラインL2からスピンドルモータ駆動部10の出力段を介して電源ラインL1に向けた回生電流が流れる様子を示した模式図である。本図では、相電圧SPAと相電圧SPBの違いから、太矢印で示す経路(L2→12B→2→11A→L1)で回生電流が流れる様子が描写されている。
【0054】
このとき、仮に上側スイッチ11Aと下側スイッチ12Bがいずれもオフしていた場合には、上側スイッチ11Aと下側スイッチ12Bに各々寄生するボディダイオードを介して回生電流が流れる状態になるので、各々のボディダイオードで生じる順方向降下電圧分のエネルギロス(=2×Vf)が生じてしまう。
【0055】
そこで制御部15は、上記のエネルギロスを低減させて回生が効率良く行われるように、スピンドルモータ駆動部10において同期整流動作が行われるようにする。ここで同期整流動作の具体的内容について、
図4を参照しながら以下に説明する。
【0056】
図4は、当該同期整流動作に関するタイミングチャートを例示しており、上から順に、相電圧SPx(電圧VPWR、電圧GNDと共に描写)、上側ゲート信号xHG、下側ゲート信号xLG、上側比較信号CMPxH、及び、下側比較信号CMPxLが描写されている。なお
図4では、時刻t11〜t19の順に時間が経過していくものとする。
【0057】
時刻t11〜t12では、上側ゲート信号AHGと下側ゲート信号BLGがハイレベルとされており、その余のゲート信号がいずれもローレベルとされている。このとき、スピンドルモータ駆動部10の出力段には、主として、第1経路(L2→12B→2→11A→L1)で回生電流が流れ、キャパシタ4が充電される。このとき、電圧VPWR(破線)の電圧値は、相電圧SPA(一点鎖線)の電圧値に依存する。
【0058】
時刻t12〜t13では、上側ゲート信号AHGと下側ゲート信号CLGがハイレベルとされており、その余のゲート信号がいずれもローレベルとされている。このとき、スピンドルモータ駆動部10の出力段には、主として、第2経路(L2→12C→2→11A→L1)で回生電流が流れ、キャパシタ4が充電される。このとき、電圧VPWRの電圧値は、相電圧SPAの電圧値に依存する。
【0059】
時刻t13〜t14では、上側ゲート信号BHGと下側ゲート信号CLGがハイレベルとされており、その余のゲート信号がいずれもローレベルとされている。このとき、スピンドルモータ駆動部10の出力段には、主として、第3経路(L2→12C→2→11B→L1)で回生電流が流れ、キャパシタ4が充電される。このとき、電圧VPWRの電圧値は、相電圧SPB(点線)の電圧値に依存する。
【0060】
時刻t14〜t15では、上側ゲート信号BHGと下側ゲート信号ALGがハイレベルとされており、その余のゲート信号がいずれもローレベルとされている。このとき、スピンドルモータ駆動部10の出力段には、主として、第4経路(L2→12A→2→11B→L1)で回生電流が流れ、キャパシタ4が充電される。このとき、電圧VPWRの電圧値は、相電圧SPBの電圧値に依存する。
【0061】
時刻t15〜t16では、上側ゲート信号CHGと下側ゲート信号ALGがハイレベルとされており、その余のゲート信号がいずれもローレベルとされている。このとき、スピンドルモータ駆動部10の出力段には、主として、第5経路(L2→12A→2→11C→L1)で回生電流が流れ、キャパシタ4が充電される。このとき、電圧VPWRの電圧値は、相電圧SPC(実線)の電圧値に依存する。
【0062】
時刻t16〜t17では、上側ゲート信号CHGと下側ゲート信号BLGがハイレベルとされており、その余のゲート信号がいずれもローレベルとされている。このとき、スピンドルモータ駆動部10の出力段には、主として、第6経路(L2→12B→2→11C→L1)で回生電流が流れ、キャパシタ4が充電される。このとき、電圧VPWRの電圧値は、相電圧SPCの電圧値に依存する。以降も同様の動作が繰り返され、整流電圧によって電圧VPWRの下落が抑えられる。
【0063】
上述したように制御部15は、相電圧SPxが電圧VPWRよりも高い相の上側スイッチ11xをオンして、相電圧SPxが電圧VPWRよりも低い相の上側スイッチ11xをオフするように、スイッチ制御信号Scを生成する。言い換えると、制御部15は、各相の上側スイッチ11xのうち、スピンドルモータ2から電源ラインL1に向けて電流が流れ得るものをオンし、逆に、電源ラインL1からスピンドルモータ2に向けて電流が流れ得るものをオフするように、スイッチ制御信号Scを生成する。
【0064】
また制御部15は、相電圧SPxが電圧GNDよりも低い相の下側スイッチ12xをオンして、相電圧SPxが電圧GNDよりも高い相の下側スイッチ12xをオフするように、スイッチ制御信号Scを生成する。言い換えると、制御部15は、各相の下側スイッチ12xのうち、接地ラインL2からスピンドルモータ2に向けて電流が流れ得るものをオンし、逆に、スピンドルモータ2から接地ラインL2に向けて電流が流れ得るものをオフするように、スイッチ制御信号Scを生成する。
【0065】
このように制御部15は、上側スイッチ11x及び下側スイッチ12xに各々流れる電流の向きに応じて、適切なタイミングで同期整流動作の相切替を行う。なお、電圧VPWRが相電圧SPxより常時高いような状況では、例えばスピンドルモータ駆動部10はCoastモードとなり、同期整流動作は実行されない。
【0066】
[最大電流値の検出]
モータブレーキ時において、スピンドルモータ2における最大電流値が大きくなり過ぎていると、装置の安全確保等のための動作が必要となる。なお以下の説明における「最大電流」や「最大電流値」の語は、特に断りの無い限りスピンドルモータ2のものを指す。
【0067】
スピンドルモータ駆動部10は、電流検出部21において最大電流値を検出し、これが所定閾値Thを超えているか否かに応じて、動作するように構成されている。例えば制御部15は、最大電流値が閾値Thを超えている場合、スピンドルモータ駆動部10の動作モードに関わらず、最大電流値が下がるように各スイッチ(11x、12x)を制御する。なお、電流検出部21において検出される最大電流値の情報をどのように利用するかについては、このような形態には限られない。
【0068】
ここでスピンドルモータ2に流れる電流の向きのパターンとしては、スピンドルモータ駆動部10の動作状態により、最大電流の流れる方向がスピンドルモータ2からスピンドルモータ駆動部10へ向かう方向(便宜的に「a方向」とする)である第1パターンと、最大電流の流れる方向がスピンドルモータ駆動部10からスピンドルモータ2へ向かう方向(便宜的に「b方向」とする)である第2パターンがある。
図5は第1パターンの一例を示し、
図6は第2パターンの一例を示している。なおこれらの図では、点線矢印が電流の方向を示している。
【0069】
図5に示す例は、A相とB相においてb方向へ電流が流れてC相においてa方向へ電流が流れる例である。この場合は、C相を流れる電流(すなわち、下側スイッチ12Cをドレインからソースの向きに流れる電流)が、最大電流となる。
【0070】
このとき、相電圧SPCは正の電圧となり、最大電流値を検出することは比較的容易である。なお第1パターンとしては、
図5に示す例の他、A相とC相においてb方向へ電流が流れてB相においてa方向へ電流が流れる例と、B相とC相においてb方向へ電流が流れてA相においてa方向へ電流が流れる例がある。これらの何れにおいても、
図5に示す例と同様に、最大電流値を検出することは比較的容易である。
【0071】
一方で
図6に示す例は、A相においてb方向へ電流が流れてB相とC相においてa方向へ電流が流れる例である。この場合は、A相を流れる電流(すなわち、下側スイッチ12Aをソースからドレインの向きに流れる電流)が、最大電流となる。
【0072】
このとき、相電圧SPAは負の電圧となり、同時に下側スイッチ12Aの寄生ダイオードも動作する。そのため、最大電流値を直接的に検出することは困難である。なお第2パターンとしては、
図6に示す例の他、B相においてb方向へ電流が流れてA相とC相においてa方向へ電流が流れる例と、C相においてb方向へ電流が流れてA相とB相においてa方向へ電流が流れる例がある。これらの何れにおいても、
図6に示す例と同様に、最大電流値を直接的に検出することは困難である。
【0073】
ここで三相モータの場合、最大電流値は、他の二相の電流値を合算した値となることが判っている。また更に第2パターンの場合、当該二相の電流の方向はa方向となる。当該二相の電流値を合算した値を検出することは比較的容易である。
【0074】
そこで電流検出部21は、第2パターンの場合に、当該二相の電流値の合算によって最大電流値を検出するように工夫されている。これにより、最大電流値を直接的に検出しようとする場合に比べ、最大電流値を容易に検出することが可能である。
【0075】
[電流検出部の構成等]
次に、電流検出部21の構成等について詳細に説明する。
図7は、電流検出部21の構成に関するブロック図である。本図に示すように電流検出部21は、電流方向検出回路50x、スイッチ制御回路60、加算回路70、および比較回路80を有している。
【0076】
電流方向検出回路50xは、相電圧SPxに基づいてx相における電流の方向を検出し、この検出結果を表す信号DRxを出力する。なお電流方向検出回路50xは、原理的には相電圧SPxと接地電圧GNDとの比較により、x相における電流の方向を検出する。
【0077】
スイッチ制御回路60は、電流方向検出回路50xから受ける信号DRxに基づいて、A相〜C相のうちの電流値が最大である相(以下、「最大電流相」と称することがある)、および、最大電流相における電流方向(すなわち、第1パターンと第2パターンの何れであるか)を特定する。
【0078】
なおスイッチ制御回路60は、原理的には、A相〜C相のうちの他の二相とは電流方向が異なる一相を、最大電流相として特定する。スイッチ制御回路60は、これらの特定した情報に基づいて、加算回路70に設けられたスイッチの切替を適切に制御する。
【0079】
加算回路70は、各相の相電圧(SPA〜SPC)が入力され、最大電流値に応じた電圧信号Saを出力する。
【0080】
比較回路80は、電圧信号Saが入力され、最大電流値が閾値Thを超えているか否かを表す信号Sd(比較信号)を、制御部15へ出力する。これによりスピンドルモータ駆動部10は、最大電流値が閾値Thを超えているか否かに応じて、動作することが可能である。
【0081】
図8は、電流方向検出回路50xの構成図である。本図に示すように電流方向検出回路50xは、スイッチ素子51(Nチャネル型MOS電界効果トランジスタ)、スイッチ素子52a〜52b(Pチャネル型MOS電界効果トランジスタ)、抵抗53a〜53c、定電流源54a〜54b、スイッチ55a〜55d、およびコンパレータ56を有している。
【0082】
スイッチ素子51は、ドレインに相電圧SPxが入力されるようになっており、ソースが抵抗53aを介して接地されている。スイッチ素子51のゲートは、電流方向検出回路50xを動作させるべきときにHレベルの信号が入力され、その他のときにはLレベルの信号が入力される。
【0083】
スイッチ素子52aは、ソースが抵抗53bを介して定電流源54aに接続されており、ドレインが接地されている。スイッチ素子52aのゲートには、接地電圧GNDが入力される。スイッチ素子52bは、ソースが抵抗53cを介して定電流源54bに接続されており、ドレインが接地されている。スイッチ素子52aのゲートは、スイッチ素子51と抵抗53aの接続点に接続されており、スイッチ素子51の導通時に電圧SPxが入力される。
【0084】
コンパレータ56の非反転入力端子は、スイッチ55aを介して定電流源54aと抵抗53bの接続点に接続されているとともに、スイッチ55bを介して抵抗53bとスイッチ素子52aの接続点に接続されている。またコンパレータ56の反転入力端子は、スイッチ55cを介して定電流源54bと抵抗53cの接続点に接続されているとともに、スイッチ55dを介して抵抗53cとスイッチ素子52bの接続点に接続されている。
【0085】
なおコンパレータ56は、原理的には相電圧SPxと接地電圧GNDを比較する役割を果たす。但し、相電圧SPxのブレ等により動作が不安定とならないように、コンパレータ56は、各スイッチ(55a〜55d)の切替によってヒステリシスを有するように動作する。コンパレータ56の非反転入力端子に繋がる各スイッチ(55a、55b)、および反転入力端子に繋がる各スイッチ(55c、55d)は、それぞれ一方が導通するように制御される。
【0086】
コンパレータ56の非反転入力端子には、スイッチ55bが導通するときは、スイッチ素子52aにより所定値だけ接地電圧GNDが引き上げられた電圧GND
hが入力され、スイッチ55aが導通するときは、電圧GND
h+Vh1(Vh1は、抵抗53bに電流が流れることにより生じる電圧)が入力される。
【0087】
コンパレータ56の反転入力端子には、スイッチ55dが導通するときは、スイッチ素子52bにより所定値だけ相電圧SPxが引き上げられた電圧SPx
hが入力され、スイッチ55cが導通するときは、電圧SPx
h+Vh2(Vh2は、抵抗53cに電流が流れることにより生じる電圧)が入力される。
【0088】
各スイッチ(55a〜55d)は、コンパレータ56が適切なヒステリシスを有するように制御される。なおこのようなヒステリシスを持たせるための構成については、上述したものに限られず、また場合によっては省略されるようにしても構わない。コンパレータ56の出力端子からは、相電圧SPxと接地電圧GNDの比較結果に応じた信号が、x相における電流の方向を表す信号DRxとして出力される。
【0089】
図9は、加算回路70の構成図である。本図に示すように加算回路70は、スイッチ素子71a〜71f(Nチャネル型MOS電界効果トランジスタ)、抵抗72a〜72f、スイッチ73a〜73d、およびオペアンプ74を有している。なおここでは、各抵抗(72a〜72f)は同じ抵抗値(例えば100kΩ)に設定されているとする。
【0090】
スイッチ素子71aは、ドレインに相電圧SPAが入力され、ソースがスイッチ素子71bを介して接地されている。またスイッチ素子71aとスイッチ素子71bの接続点には、抵抗72aの一端が接続されている。抵抗72aの他端は、スイッチ73aの一端に接続されている。
【0091】
各スイッチ素子(71a、71b)のゲートは、加算回路70を動作させるべきときにHレベルの信号が入力され、その他のときにはLレベルの信号が入力される。各スイッチ素子(71a、71b)のゲートにHレベルの信号が入力されているとき、相電圧SPAに応じた電圧SPA´が抵抗72aに入力される。電圧SPA´の値は、相電圧SPAと同じ値であっても良く、各スイッチ素子(71a、71b)により分圧された値であっても良い。
【0092】
スイッチ素子71cは、ドレインに相電圧SPBが入力され、ソースがスイッチ素子71dを介して接地されている。またスイッチ素子71cとスイッチ素子71dの接続点には、抵抗72bの一端が接続されている。抵抗72bの他端は、スイッチ73bの一端に接続されている。
【0093】
各スイッチ素子(71c、71d)のゲートは、加算回路70を動作させるべきときにHレベルの信号が入力され、その他のときにはLレベルの信号が入力される。各スイッチ素子(71c、71d)のゲートにHレベルの信号が入力されているとき、相電圧SPBに応じた電圧SPB´が抵抗72bに入力される。電圧SPB´の値は、相電圧SPBと同じ値であっても良く、各スイッチ素子(71c、71d)により分圧された値であっても良い。
【0094】
スイッチ素子71eは、ドレインに相電圧SPCが入力され、ソースがスイッチ素子71fを介して接地されている。またスイッチ素子71eとスイッチ素子71fの接続点には、抵抗72cの一端が接続されている。抵抗72cの他端は、スイッチ73cの一端に接続されている。
【0095】
各スイッチ素子(71e、71f)のゲートは、加算回路70を動作させるべきときにHレベルの信号が入力され、その他のときにはLレベルの信号が入力される。各スイッチ素子(71e、71f)のゲートにHレベルの信号が入力されているとき、相電圧SPCに応じた電圧SPC´が抵抗72cに入力される。電圧SPC´の値は、相電圧SPCと同じ値であっても良く、各スイッチ素子(71e、71f)により分圧された値であっても良い。なお後段の回路を低耐圧素子で形成し得るように、各スイッチ素子(71a〜71f)による分圧回路が設けられるが、そのような配慮が不要である場合には、相電圧SPxがそのまま抵抗(72a〜72c)に印加されるようにしても良い。
【0096】
抵抗72dは、一端に接地電圧GNDが入力され、他端がスイッチ73dに接続されている。また各スイッチ(73a〜73d)の他端は、オペアンプ74の非反転入力端子に繋がった共通ラインに接続されている。なおオペアンプ74の出力端子は、抵抗72eと抵抗72fを介して接地されており、オペアンプ74の反転入力端子は、抵抗72eと抵抗72fの接続点に接続されている。このようにオペアンプ74および各抵抗(72e、72f)は、既定の電圧増幅度(ここでは2倍)をもつ非反転増幅回路75を形成しており、オペアンプ74の出力端子からは電圧信号Saが出力される。
【0097】
ここでスイッチ制御回路60は、A相が最大電流相であり、かつ、第1パターンである状況下(つまり「DRA、DRB、DRC=L、H、H」の状況下)では、スイッチ73aとスイッチ73dを導通させ、他のスイッチ(73b、73c)を遮断する。これにより電圧信号Saの電圧は、電圧SPA´となる。このときの電圧信号Saは、A相における電流値の検出結果を表す。
【0098】
またスイッチ制御回路60は、A相が最大電流相であり、かつ、第2パターンである状況下(つまり「DRA、DRB、DRC=H、L、L」の状況下)では、スイッチ73bとスイッチ73cを導通させ、他のスイッチ(73a、73d)を遮断する。これにより電圧信号Saの電圧は、電圧SPB´+電圧SPC´となる。このときの電圧信号Saは、A相以外の各相における電流値を合算した結果を表す。
【0099】
またスイッチ制御回路60は、B相が最大電流相であり、かつ、第1パターンである状況下(つまり「DRA、DRB、DRC=H、L、H」の状況下)では、スイッチ73bとスイッチ73dを導通させ、他のスイッチ(73a、73c)を遮断する。これにより電圧信号Saの電圧は、電圧SPB´となる。このときの電圧信号Saは、B相における電流値の検出結果を表す。
【0100】
またスイッチ制御回路60は、B相が最大電流相であり、かつ、第2パターンである状況下(つまり「DRA、DRB、DRC=L、H、L」の状況下)では、スイッチ73aとスイッチ73cを導通させ、他のスイッチ(73b、73d)を遮断する。これにより電圧信号Saの電圧は、電圧SPA´+電圧SPC´となる。このときの電圧信号Saは、B相以外の各相における電流値を合算した結果を表す。
【0101】
またスイッチ制御回路60は、C相が最大電流相であり、かつ、第1パターンである状況下(つまり「DRA、DRB、DRC=H、H、L」の状況下)では、スイッチ73cとスイッチ73dを導通させ、他のスイッチ(73a、73b)を遮断する。これにより電圧信号Saの電圧は、電圧SPC´となる。このときの電圧信号Saは、C相における電流値の検出結果を表す。
【0102】
またスイッチ制御回路60は、C相が最大電流相であり、かつ、第2パターンである状況下(つまり「DRA、DRB、DRC=L、L、H」の状況下)では、スイッチ73aとスイッチ73bを導通させ、他のスイッチ(73c、73d)を遮断する。これにより電圧信号Saの電圧は、電圧SPA´+電圧SPB´となる。このときの電圧信号Saは、C相以外の各相における電流値を合算した結果を表す。上述した通り何れの場合にも、電圧信号Saは、そのときの最大電流値の検出結果を表している。
【0103】
図10は、比較回路80の構成図である。本図に示すように比較回路80は、定電流源81、スイッチ直列接続回路82、およびコンパレータ83を有している。定電流源81は、スイッチ直列接続回路82を介して接地されている。またコンパレータ83は、反転入力端子が定電流源81とスイッチ直列接続回路82の接続点に接続され、非反転入力端子には電圧信号Saが入力される。
【0104】
またスイッチ直列接続回路82は、先述した閾値Thに応じた電圧信号がコンパレータ83の反転入力端子に入力されるように、例えば、所定個数のNチャネル型MOS電界効果トランジスタを直列に接続した構成とされている。これによりコンパレータ83の出力端子からは、最大電流値が閾値Thを超えたか否かを表す信号として、信号Sdが出力される。なおスイッチ直列接続回路82を下側スイッチ12xと同一プロセスで形成されたNチャネル型MOS電界効果トランジスタを用いて構成したことにより、その分、温度変化等による各スイッチ素子(71a〜71f)の電気特性の変動等をキャンセルすることが出来る。
【0105】
以上に説明した通り、電流検出部21(電流検出回路)は、スピンドルモータ2における最大電流値を検出する回路となっている。また電流検出部21は、スピンドルモータ2の各相のうちの電流値が最大である最大電流相を特定する機能部(特定部)と、最大電流相における電流方向が既定の第1方向(スピンドルモータ駆動部10からスピンドルモータ2へ向かう方向)である場合には、最大電流相以外の各相の電流値を合算することにより、最大電流値を検出する機能部(検出部)と、を備えている。なお電流検出部21では、上記の特定部は、主に電流方向検出回路50xが該当する。また上記の検出部は、主にスイッチ制御回路60および加算回路70が該当する。
【0106】
また上記の検出部は、最大電流相における電流方向が第1方向とは逆の第2方向(スピンドルモータ2からスピンドルモータ駆動部10へ向かう方向)である場合には、最大電流相の電流値をそのまま最大電流値として検出する。
【0107】
また上記の特定部は、電流方向をスピンドルモータ2の各相について検出する電流方向検出回路50xを備え、スピンドルモータ2の各相のうちの他の二相とは電流方向が異なる一相を、最大電流相として特定する。また電流方向検出回路50xは、スピンドルモータ2の各相の電圧を接地電圧GNDと比較する各コンパレータ56を備え、特定部は、各コンパレータ56の出力に基づいて、電流方向をスピンドルモータ2の各相について検出する。
【0108】
ところで第1実施形態のスピンドルモータ駆動部10には、相電圧SPxを電圧VPWRや接地電圧GNDと比較するため、6個のコンパレータ(13x、14x)が設けられている。しかしこのように多くのコンパレータを設けると、モータ駆動装置1の小型化が阻害されることや、製造コストの増大等が問題となる。このような問題に鑑み、これらのコンパレータを削減した場合の実施形態を、第2実施形態として以下に説明する。
【0109】
2.第2実施形態
次に第2実施形態について説明する。なお以下の説明では、第1実施形態と異なる部分の説明に重点をおき、重複する部分については説明を省略することがある。
【0110】
図11は、モータ駆動装置1およびその周辺の構成図である。なお
図11は、スピンドルモータ駆動部10の部分を詳細に表示し、他の部分についての表示を一部省略している。
【0111】
図11に示すようにスピンドルモータ駆動部10は、電源ラインL1、接地ラインL2、上側スイッチ11x、下側スイッチ12x、制御部15、プリドライバ部16、電流検出部21、選択回路22、BEMFコンパレータ23、および選択回路24を有している。なお第2実施形態では、第1実施形態とは異なり、上側コンパレータ13xおよび下側コンパレータ14xの搭載は省略されている。
【0112】
選択回路22は、全ての相電圧(SPA〜SPC)が入力される。選択回路22は、これらの入力電圧の何れか一つを選択し、電圧信号INPとして、BEMFコンパレータ23の非反転入力端子に出力する。
【0113】
また選択回路24は、電圧VPWR、電圧CT、および電圧GNDが入力される。選択回路24は、これらの入力電圧の何れか一つを選択し、電圧信号INNとして、BEMFコンパレータ23の反転入力端子に出力する。
【0114】
なお各選択回路(22、24)において選択される入力電圧は、スピンドルモータ駆動部10における「0」〜「7」の8通りの状態(以下、「SRSTATE」とする)に応じて決まる。
【0115】
具体的には、SRSTATEが「0」のときは、選択回路22において「相電圧SPA」が選択され、選択回路24において「電圧CT」が選択される。またSRSTATEが「1」のときは、選択回路22において「相電圧SPC」が選択され、選択回路24において「電圧GND」が選択される。
【0116】
またSRSTATEが「2」のときは、選択回路22において「相電圧SPB」が選択され、選択回路24において「電圧VPWR」が選択される。またSRSTATEが「3」のときは、選択回路22において「相電圧SPA」が選択され、選択回路24において「電圧GND」が選択される。
【0117】
またSRSTATEが「4」のときは、選択回路22において「相電圧SPC」が選択され、選択回路24において「電圧VPWR」が選択される。またSRSTATEが「5」のときは、選択回路22において「相電圧SPB」が選択され、選択回路24において「電圧GND」が選択される。
【0118】
またSRSTATEが「6」のときは、選択回路22において「相電圧SPA」が選択され、選択回路24において「電圧VPWR」が選択される。またSRSTATEが「7」のときは、選択回路22において「相電圧SPA」が選択され、選択回路24において「電圧CT」が選択される。
【0119】
BEMFコンパレータ23は、選択回路22から入力される信号INPと選択回路24から入力される信号電圧を比較し、当該比較の結果を表すパルス信号を、信号BEMFCOMPとして制御部15へ出力する。なお以下の説明では、信号INPが信号INNより大きいときの信号BEMFCOMPを「1」(ハイレベル)とし、信号INPが信号INNより小さいときの信号BEMFCOMPを「0」(ローレベル)とする。なお第2実施形態のBEMFコンパレータ23は、スピンドルモータ2の回転速度の検出に利用される他、スピンドルモータ駆動部10における動作モードの切替等にも利用される。
【0120】
次に、モータブレーキ時におけるスピンドルモータ駆動部10の動作について、
図12に示すフローチャートを参照しながら説明する。なお
図12は一例として、Coastモードであって信号BEMFCOMPが「1」である、SRSTATEが「0」の状態からの動作の流れを示している。なお以下の説明における「PDGND」および「PDVISO」は、更新可能なパラメータであり、それぞれ「0」または「1」に設定される。
【0121】
SRSTATEが「0」(「相電圧SPA」と「電圧CT」が比較される状態)になると、制御部15は、既定のマスク時間(本実施形態では一例として10usとする。以下同様。)をカウントする(ステップS11)。レベルが変化した直後の信号BEMFCOMPは、このマスク時間が経過するまでに安定することになる。また制御部15は、マスク時間のカウント後、信号BEMFCOMPの立下りに応じてスピードカウントをリセットする(ステップS12)。
【0122】
このスピードカウントは、スピンドルモータ2の回転速度を検出するための、時間のカウントのことである。すなわち制御部15は、スピードカウントがリセットされる度に、次のリセット時までのスピードカウントを新たに実行する。一回のスピードカウントの時間が長いほど、スピンドルモータ2の回転速度は遅くなっていると言える。制御部15は、スピードカウントの結果が所定の基準値に達した場合(スピンドルモータ2の回転速度が十分に落ちている場合)には、第1実施形態の場合と同様、例えば各スイッチ(11x、12x)の制御を停止する。
【0123】
またスピードカウントのリセット(ステップS12)がなされると、SRSTATEは「1」(「相電圧SPC」と「電圧GND」が比較される状態)に切替わる。SRSTATEが「1」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS13)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS14)。
【0124】
信号BEMFCOMPが「0」のときには(ステップS14の「0」)、PDGNDは「1」とされる(ステップS15)。その後、信号BEMFCOMPの立上りに応じて(ステップS16)、SRSTATEは「2」(「相電圧SPB」と「電圧VPWR」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「1」のときには(ステップS14の「1」)、PDGNDは「0」とされ(ステップS17)、SRSTATEは「2」に切替わる。
【0125】
SRSTATEが「2」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS18)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS19)。
【0126】
信号BEMFCOMPが「1」のときには(ステップS19の「1」)、PDVISOは「1」とされる(ステップS20)。その後、信号BEMFCOMPの立下りに応じて(ステップS21)、SRSTATEは「3」(「相電圧SPA」と「電圧GND」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「0」のときには(ステップS19の「0」)、PDVISOは「0」とされ(ステップS22)、SRSTATEは「3」に切替わる。
【0127】
SRSTATEが「3」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS23)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS24)。
【0128】
信号BEMFCOMPが「0」のときには(ステップS24の「0」)、信号BEMFCOMPの立上りに応じて(ステップS25)、SRSTATEは「4」(「相電圧SPC」と「電圧VPWR」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「1」のときには(ステップS24の「1」)、PDGNDは「0」とされ(ステップS26)、SRSTATEは「4」に切替わる。
【0129】
SRSTATEが「4」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS27)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS28)。
【0130】
信号BEMFCOMPが「1」のときには(ステップS28の「1」)、信号BEMFCOMPの立下りに応じて(ステップS29)、SRSTATEは「5」(「相電圧SPB」と「電圧GND」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「0」のときには(ステップS28の「0」)、PDVISOは「0」とされ(ステップS30)、SRSTATEは「5」に切替わる。
【0131】
SRSTATEが「5」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS31)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS32)。
【0132】
信号BEMFCOMPが「0」のときには(ステップS32の「0」)、信号BEMFCOMPの立上りに応じて(ステップS33)、SRSTATEは「6」(「相電圧SPA」と「電圧VPWR」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「1」のときには(ステップS32の「1」)、PDGNDは「0」とされ(ステップS34)、SRSTATEは「6」に切替わる。
【0133】
SRSTATEが「6」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS35)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS36)。
【0134】
信号BEMFCOMPが「1」のときには(ステップS36の「1」)、制御部15は、信号BEMFCOMPの立下りに応じて(ステップS37)、「PDVISO=1かつPDGND=1」の条件が満たされているかを判別する(ステップS39)。なお、信号BEMFCOMPが「0」のときには(ステップS36の「0」)、PDVISOが「0」とされた上で(ステップS38)、当該判別が実行される。
【0135】
「PDVISO=1かつPDGND=1」の条件が満たされている場合には(ステップS39のYES)、スピードカウントがリセットされた上で(ステップS40)、SRSTATEが「1」に切替わり、動作の流れはステップS13に戻る。一方で当該条件が満たされていない場合には(ステップS39のNO)、SRSTATEが「7」(「相電圧SPA」と「電圧CT」が比較される状態)に切替わる。
【0136】
SRSTATEが「7」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS41)。マスク時間のカウント後、信号BEMFCOMPが「1」であるという条件が満たされると(ステップS42)、SRSTATEが「0」に切替わり、処理の流れはステップS11に戻る。
【0137】
なお上述した一連の動作が行われている際、Coastモードであるときに「PDVISO=1かつPDGND=1」の条件が満たされた場合には、スピンドルモータ駆動部10の動作モードはSyncRectモードに移行する。一方で制御部15は、SyncRectモードであるときに「PDVISO=0またはPDGND=0」の条件が満たされた場合には、スピンドルモータ駆動部10の動作モードはCoastモードに移行する。
【0138】
またSyncRectモードのとき、上側スイッチ素子11xと下側スイッチ素子12xは、同期整流動作が行われるように、制御部15によってオン/オフ切替が制御される。
【0139】
より具体的に説明すると、SRSTATEが「1」のとき、上側ゲート信号BHGと下側ゲート信号CLGがハイレベルとされ、その余のゲート信号がいずれもローレベルとされる。またSRSTATEが「2」のとき、上側ゲート信号BHGと下側ゲート信号ALGがハイレベルとされ、その余のゲート信号がいずれもローレベルとされる。
【0140】
またSRSTATEが「3」のとき、上側ゲート信号CHGと下側ゲート信号ALGがハイレベルとされ、その余のゲート信号がいずれもローレベルとされる。またSRSTATEが「4」のとき、上側ゲート信号CHGと下側ゲート信号BLGがハイレベルとされ、その余のゲート信号がいずれもローレベルとされる。
【0141】
またSRSTATEが「5」のとき、上側ゲート信号AHGと下側ゲート信号BLGがハイレベルとされ、その余のゲート信号がいずれもローレベルとされる。またSRSTATEが「6」のとき、上側ゲート信号AHGと下側ゲート信号CLGがハイレベルとされ、その余のゲート信号がいずれもローレベルとされる。このようにして各スイッチ(11x、12x)が制御されることにより、第2実施形態においても、第1実施形態の場合と基本的に同等の同期整流動作が実現される。
【0142】
図13は、SyncRectモードであるときの、相電圧SPx、電圧VPWR、電圧GND、信号INP、信号INN、Hサイドドライブ、Lサイドドライブ、信号BEMFCOMP、およびSRSTATEについての変化の様子を例示している。なおここでの「Hサイドドライブ」は、ハイレベルとされる上側ゲート信号xHGを表し、「Lサイドドライブ」は、ハイレベルとされる下側ゲート信号xLGを表している。また図中の「信号BEMFCOMP」の欄における着色部は、マスク時間を表している(以降の図についても同様)。
【0143】
SyncRectモードにおいて、信号INP、信号INN、Hサイドドライブ、およびLサイドドライブは、
図13に示すような既定のパターンに従って切替えられる。これにより、第2実施形態のBEMFコンパレータ23は、第1実施形態における上側コンパレータ13xおよび下側コンパレータ14xの役割をも兼ねるように動作する。そのため第2実施形態では、これらのコンパレータ(13x、14x)が削減されていても、同期整流動作を実現させることが可能である。またSyncRectモードであるとき、SRSTATEが「6」から「1」へ切替わるタイミングで、スピードカウントがリセットされる。
【0144】
また
図14は、Coastモードであるときの、相電圧SPx、電圧VPWR、電圧GND、信号INP、信号INN、信号BEMFCOMP、およびSRSTATEについての変化の様子を例示している。なお図中の※1の部分は、SPC→SPB→SPA→SPC→SPBと変化する部分であり、※2の部分は、GND→VPWR→GND→VPWR→GND→VPWRと変化する部分である(以降の図についても同様)。
【0145】
Coastモードにおいても、信号INPおよび信号INNは、
図14に示すような既定のパターンに従って切替えられる。またCoastモードであるとき、SRSTATEが「0」から「1」へ切替わるタイミングで、スピードカウントがリセットされる。
【0146】
また
図15は、CoastモードからSyncRectモードへ移行するときの、相電圧SPx、電圧VPWR、電圧GND、信号INP、信号INN、信号BEMFCOMP、SRSTATE、および動作モードについての変化の様子を例示している。
【0147】
本図に示す例では、D1に示す状態(相電圧SPCが電圧GNDを下回った状態)の検出時に「PDGND=1」となり、D2に示す状態(相電圧SPBが電圧VPWRを上回った状態)の検出時に「PDVISO=1」となる。これにより「PDVISO=1かつPDGND=1」の条件が満たされ、スピンドルモータ駆動部10の動作モードはSyncRectモードに移行する。
【0148】
また
図16は、SyncRectモードからCoastモードへ移行するときの、相電圧SPx、電圧VPWR、電圧GND、信号INP、信号INN、信号BEMFCOMP、SRSTATE、および動作モードについての変化の様子を例示している。
【0149】
本図に示す例では、D3に示す状態(相電圧SPBが電圧GNDを上回った状態)の検出時に「PDGND=0」となる。これにより「PDVISO=0またはPDGND=0」の条件が満たされ、スピンドルモータ駆動部10の動作モードはCoastモードに移行する。
【0150】
ところで第2実施形態によれば、第1実施形態に比べてコンパレータの個数を大きく減らすことが可能であるが、動作モードの切替の遅延が比較的大きくなる場合がある。この点について、
図17を参照しながら以下に説明する。
【0151】
図17は、CoastモードからSyncRectモードへ移行するときであって、動作モードの切替の遅延が比較的大きくなるケースでの、相電圧SPx、電圧VPWR、電圧GND、信号INP、信号INN、信号BEMFCOMP、SRSTATE、および動作モードについての変化の様子を例示している。
【0152】
図17に示す例では、Coastモードにおいて電圧VPWRが低下してきたことにより、タイミングTm1(同期整流動作により電圧VPWRの下落を抑えることが可能となるタイミング)において、動作モードがSyncRectモードへ切替わることが理想的である。
【0153】
しかし第2実施形態の場合は、タイミングTm1の後、D4に示す状態(相電圧SPCが電圧GNDを下回った状態)の検出時に「PDGND=1」となり、D5に示す状態(相電圧SPBが電圧VPWRを上回った状態)の検出時に「PDVISO=1」となる。この時点(
図17に示すタイミングTm2)で「PDVISO=1かつPDGND=1」の条件が満たされ、動作モードがSyncRectモードに切替わる。その結果、
図17の下部に矢印で示すように、動作モードの切替の遅延が比較的大きくなる。
【0154】
このような問題に鑑み、第1実施形態に比べてコンパレータの個数を減らしながらも、動作モードの切替の遅延が抑えられるようにした場合の実施形態を、第3実施形態として以下に説明する。
【0155】
3.第3実施形態
次に第3実施形態について説明する。なお以下の説明では、第2実施形態と異なる部分の説明に重点をおき、重複する部分については説明を省略することがある。
【0156】
図18は、モータ駆動装置1およびその周辺の構成図である。なお
図18は、スピンドルモータ駆動部10の部分を詳細に表示し、他の部分についての表示を一部省略している。
【0157】
図18に示すようにスピンドルモータ駆動部10は、電源ラインL1、接地ラインL2、上側スイッチ11x、下側スイッチ12x、制御部15、プリドライバ部16、電流検出部21、選択回路22、BEMFコンパレータ23、選択回路24、VPWRコンパレータ25、およびGNDコンパレータ26を有している。
【0158】
VPWRコンパレータ25は、非反転入力端子に入力される各相電圧(SPA〜SPC)と、反転入力端子に入力される電圧VPWRを比較し、当該比較の結果を表すパルス信号を、信号VPWRCOMPとして制御部15へ出力する。なお以下の説明では、電圧VPWRが各相電圧(SPA〜SPC)の何れかより小さいときの信号VPWRCOMPを「1」とし、そうでないときの信号VPWRCOMPを「0」とする。
【0159】
GNDコンパレータ26は、非反転入力端子に入力される各相電圧(SPA〜SPC)と、反転入力端子に入力される電圧GNDを比較し、当該比較の結果を表すパルス信号を、信号GNDCOMPとして制御部15へ出力する。なお以下の説明では、電圧GNDが各相電圧(SPA〜SPC)の何れかより大きいときの信号GNDCOMPを「0」とし、そうでないときの信号GNDCOMPを「1」とする。
【0160】
次に、モータブレーキ時におけるスピンドルモータ駆動部10の動作について、
図19に示すフローチャートを参照しながら説明する。なお
図19は一例として、Coastモードであって信号BEMFCOMPが「1」である、SRSTATEが「0」の状態からの動作の流れを示している。
【0161】
SRSTATEが「0」(「相電圧SPA」と「電圧CT」が比較される状態)になると、制御部15は、マスク時間をカウントする(ステップS51)。また制御部15は、マスク時間のカウント後、信号BEMFCOMPの立下りに応じてスピードカウントをリセットする(ステップS52)。その後、SRSTATEは「1」(「相電圧SPC」と「電圧GND」が比較される状態)に切替わる。
【0162】
なお「信号VPWRCOMP=1かつ信号GNDCOMP=0」の条件が満たされていないとき、スピンドルモータ駆動部10の動作モードはCoastモードである。このときに「信号VPWRCOMP=1かつ信号GNDCOMP=0」の条件が満たされたときは(ステップS53)、SRSTATEが「1」となる。
【0163】
SRSTATEが「1」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS54)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS55)。
【0164】
信号BEMFCOMPが「0」のときには(ステップS55の「0」)、PDGNDは「1」とされる(ステップS56)。その後、信号BEMFCOMPの立上りに応じて(ステップS57)、SRSTATEは「2」(「相電圧SPB」と「電圧VPWR」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「1」のときには(ステップS55の「1」)、PDGNDは「0」とされ(ステップS58)、SRSTATEは「2」に切替わる。
【0165】
SRSTATEが「2」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS59)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS60)。
【0166】
信号BEMFCOMPが「1」のときには(ステップS60の「1」)、PDVISOは「1」とされる(ステップS61)。その後、信号BEMFCOMPの立下りに応じて(ステップS62)、SRSTATEは「3」(「相電圧SPA」と「電圧GND」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「0」のときには(ステップS60の「0」)、PDVISOは「0」とされ(ステップS63)、SRSTATEは「3」に切替わる。
【0167】
SRSTATEが「3」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS64)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS65)。
【0168】
信号BEMFCOMPが「0」のときには(ステップS65の「0」)、PDGNDは「1」とされる(ステップS66)。その後、信号BEMFCOMPの立上りに応じて(ステップS67)、SRSTATEは「4」(「相電圧SPC」と「電圧VPWR」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「1」のときには(ステップS65の「1」)、PDGNDは「0」とされ(ステップS68)、SRSTATEは「4」に切替わる。
【0169】
SRSTATEが「4」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS69)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS70)。
【0170】
信号BEMFCOMPが「1」のときには(ステップS70の「1」)、PDVISOは「1」とされる(ステップS71)。その後、信号BEMFCOMPの立下りに応じて(ステップS72)、SRSTATEは「5」(「相電圧SPB」と「電圧GND」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「0」のときには(ステップS70の「0」)、PDVISOは「0」とされ(ステップS73)、SRSTATEは「5」に切替わる。
【0171】
SRSTATEが「5」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS74)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS75)。
【0172】
信号BEMFCOMPが「0」のときには(ステップS75の「0」)、PDGNDは「1」とされる(ステップS76)。その後、信号BEMFCOMPの立上りに応じて(ステップS77)、SRSTATEは「6」(「相電圧SPA」と「電圧VPWR」が比較される状態)に切替わる。一方で、信号BEMFCOMPが「1」のときには(ステップS75の「1」)、PDGNDは「0」とされ(ステップS78)、SRSTATEは「6」に切替わる。
【0173】
SRSTATEが「6」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS79)。また制御部15は、マスク時間のカウント後の時点において、信号BEMFCOMPの状態を判別する(ステップS80)。
【0174】
信号BEMFCOMPが「1」のときには(ステップS80の「1」)、PDVISOは「1」とされる(ステップS81)。そして制御部15は、信号BEMFCOMPの立下りに応じて(ステップS82)、「PDVISO=1かつPDGND=1」の条件が満たされているかを判別する(ステップS84)。なお、信号BEMFCOMPが「0」のときには(ステップS80の「0」)、PDVISOが「0」とされた上で(ステップS83)、当該判別が実行される。
【0175】
「PDVISO=1かつPDGND=1」の条件が満たされている場合には(ステップS84のYES)、スピードカウントがリセットされた上で(ステップS85)、SRSTATEが「1」に切替わり、動作の流れはステップS54に戻る。一方で当該条件が満たされていない場合には(ステップS84のNO)、SRSTATEが「7」(「相電圧SPA」と「電圧CT」が比較される状態)に切替わる。
【0176】
SRSTATEが「7」へ切替わったことに対応し、制御部15は、マスク時間をカウントする(ステップS86)。マスク時間のカウント後、信号BEMFCOMPが「1」であるという条件が満たされると(ステップS87)、SRSTATEが「0」に切替わり、処理の流れはステップS51に戻る。
【0177】
なおCoastモードにおいて「信号VPWRCOMP=1かつ信号GNDCOMP=0」の条件が満たされたとき(ステップS53)、その後、この条件が満たされたまま更に「PDVISO=1」の条件が満たされたときは、上側出力(ハイサイド)の同期整流が開始される。またCoastモードにおいて「信号VPWRCOMP=1かつ信号GNDCOMP=0」の条件が満たされたとき(ステップS53)、その後、この条件が満たされたまま更に「PDGND=1」の条件が満たされたときは、下側出力(ローサイド)の同期整流が開始される。
【0178】
上側出力の同期整流が開始されると、上側スイッチ11xにおいて、同期整流動作時と同じオン/オフ切替が行われる。また下側出力の同期整流が開始されると、下側スイッチ12xにおいて、同期整流動作時と同じオン/オフ切替が行われる。
【0179】
上側出力と下側出力の両方の同期整流が開始されると、動作モードは通常のSyncRectモードに切替わり、通常の同期整流動作が開始されることになる。一方で、「信号VPWRCOMP=1かつ信号GNDCOMP=0」の条件が満たされなくなったときには、何れの同期整流も停止され、動作モードはCoastモードとなる。なおSyncRectモードとなった後に「信号VPWRCOMP=1かつ信号GNDCOMP=0」の条件が満たされなくなったときにも、動作モードはCoastモードとなる。
【0180】
図20は、
図17に示す場合と同様のケースでの、相電圧SPx、電圧VPWR、電圧GND、信号INP、信号INN、信号BEMFCOMP、SRSTATE、および動作モードについての変化の様子を例示している。また
図21は、
図20にPで示す部分を拡大表示したものである。
【0181】
第3実施形態の場合は、タイミングTm1において、
図21のD6に示すように「信号VPWRCOMP=1かつ信号GNDCOMP=0」の条件が満たされ、SRSTATEが「1」とされる。その後、「信号VPWRCOMP=1かつ信号GNDCOMP=0」の条件が満たされたまま「PDGND=1」の条件が満たされることにより、上側出力の同期整流が開始され、更に「PDVISO=1」の条件が満たされることにより、動作モードは通常のSyncRectモードに切替わる。
【0182】
その結果として、「PDVISO=1」の条件が満たされるタイミングTm2´において、動作モードはSyncRectモードに切替わることになる。このように第3実施形態では、
図20の下部に矢印で示すように、第2実施形態(
図17を参照)に比べて動作モードの切替の遅延が大幅に短縮されている。
【0183】
なお第3実施形態の場合は、第1実施形態に比べてコンパレータの削減も達成されている。このように第3実施形態は、コンパレータの削減と動作モードの切替遅延の抑制を出来るだけ両立させ得る形態となっている。以上、各実施形態のモータ駆動装置1について説明したが、何れの実施形態のものを採用するかについては、製品仕様や要求される性能等に応じて適切に決定することが可能である。
【0184】
4.モータ駆動装置の適用形態等
[ハードディスクドライブへの適用]
図22は、モータ駆動装置1(何れの実施形態のものであっても良い)を搭載したハードディスクドライブYの一構成例を示す斜視図(トップカバーを外した状態)である。ハードディスクドライブYは、磁気ディスク記憶装置の一種であり、プラッタY1、磁気ヘッドY2、スイングアームY3、ランプ機構Y4、ヘッドアンプY5、スピンドルモータ2、ボイスコイルモータ3、ラッチ機構Y8、インターフェースコネクタY9、およびジャンパスイッチY10を有している。
【0185】
プラッタY1は、アルミニウム基板やガラス基板の表面上に、磁性層を積層して形成された磁気ディスクである。1台のHDD53には、1枚〜4枚程度のプラッタY1が内蔵される。磁気ヘッドY2は、プラッタY1に対してデータを読み書きする役割を果たす。スイングアームY3は、その先端に磁気ヘッドY2を担持する役割を果たす。
【0186】
ランプ機構Y4は、プラッタY1の非回転時における磁気ヘッドY2の退避先であり、プラッタY1の最外周よりもさらに外側に設けられている。ヘッドアンプY5は、磁気ヘッドY2で得られた再生信号を増幅する役割を果たす。
【0187】
スピンドルモータ2は、プラッタY1を一定の回転数(4200rpm、5400rpm、7200rpm、10000rpm、15000rpmなど)で回転させる役割を果たす。ボイスコイルモータ3は、スイングアームY3を円弧運動させることにより、磁気ヘッドY2をプラッタY1の半径方向に移動させる役割を果たす。
【0188】
ラッチ機構Y8は、ハードディスクドライブYが停止している間、スイングアームY3を固定する役割を果たす。インターフェースコネクタY9は、パソコンなどのマザーボードに実装されるホストインターフェイス回路とケーブルで接続される。ジャンパスイッチY10は、1台のパソコンに複数のハードディスクドライブを接続する際、ジャンパピンを用いてハードディスクドライブYの機器設定(マスタ/スレーブなど)を行うためのスイッチである。
【0189】
また
図22では描写されていないが、ハードディスクドライブYには、各種の電子回路を実装したプリント基板が設けられており、モータ駆動装置1は、スピンドルモータ2やボイスコイルモータ3を駆動するための手段として、上記のプリント基板上に実装されている。
【0190】
[デスクトップパソコンへの適用]
図23は、ハードディスクドライブYを搭載したデスクトップパソコンXの一構成例を示す外観図である。本構成例のデスクトップパソコン9は、本体ケースX10、液晶モニタX20、キーボードX30、およびマウスX40を有している。
【0191】
本体ケースX10は、中央演算処理装置X11、メモリX12、光学ドライブX13、およびハードディスクドライブYを収納している。ハードディスクドライブYは、筐体内に密閉された磁気ディスクを用いてプログラムやデータを不揮発的に格納する、大容量補助記憶装置としての役割を果たす。
【0192】
中央演算処理装置X11は、ハードディスクドライブYに格納されたオペレーティングシステムや各種のアプリケーションプログラムを実行することにより、デスクトップパソコンXの動作を統括的に制御する。メモリX12は、中央演算処理装置X11の作業領域(例えばプログラムの実行に際してタスクデータを格納する領域)として利用される。
【0193】
光学ドライブX13は、光ディスクのリード/ライトを行う。光ディスクとしては、CD[Compact Disc]、DVD[Digital Versatile Disc]、及び、BD[Blu-ray(登録商標) Disc]などを挙げることができる。液晶モニタX20は、中央演算処理装置X11からの指示に基づいて映像を出力する。またキーボードX30及びマウスX40は、ユーザの操作を受け付けるヒューマンインターフェースデバイスの一つである。
【0194】
なおデスクトップパソコンXは、ハードディスクドライブYを搭載した電子機器の一例である。ハードディスクドライブYは、この他にも、ノートパソコン、タブレットパソコン、ハードディスクレコーダ、オーディオプレーヤ、およびゲーム機などの各種電気機器に搭載することが可能である。
【0195】
5.その他
以上に説明した通り、各実施形態のモータ駆動装置1は、電源ラインL1と、電源ラインL1に供給される電圧を用いてスピンドルモータ2を駆動する駆動動作、および、スピンドルモータ2の空転時に生じる各相の相電圧から整流電圧を生成して電源ラインL1に回生させる同期整流動作、を実行するスピンドルモータ駆動部10と、を備えている。
【0196】
またスピンドルモータ駆動部10は、スピンドルモータ2の各相と電源ラインL1との間の導通/遮断を切替える上側スイッチ11xと、スピンドルモータ2の各相と接地点との間の導通/遮断を切替える下側スイッチ12xと、を有し、上側スイッチ11xおよび下側スイッチ12xの切替により、駆動動作および同期整流動作を実行する。
【0197】
なおモータ駆動装置1は、検出された最大電流値と閾値Thとの比較結果を表す信号Sd(比較信号)を出力する電流検出部21を有している。スピンドルモータ駆動部10は、この比較信号に応じて、上側スイッチ11xおよび下側スイッチ12xを制御する。これによりモータ駆動装置1は、装置の安全確保等を行うことが可能である。
【0198】
また第2および第3実施形態のモータ駆動装置1は、スピンドルモータ2における各相の相電圧を含む各電圧のうちの何れかを、電圧信号INP(第1電圧信号)として選択する選択回路22(第1選択回路)と、電源ラインL1の電圧VPWRおよび接地電圧GNDを含む各電圧のうちの何れかを、電圧信号INN(第2電圧信号)として選択する選択回路24(第2選択回路)と、電圧信号INPと電圧信号INNの比較結果に応じた出力を行うBEMFコンパレータ23と、を備えている。これにより同期整流動作を行う機能を有しながらも、コンパレータの個数を少なくすることが容易となっている。
【0199】
また第2および第3実施形態のスピンドルモータ駆動部10は、BEMFコンパレータ23の出力に基づいて、同期整流動作を実行する。また当該スピンドルモータ駆動部10は、BEMFコンパレータ23の出力検出を実行し、この出力検出の結果に基づいて、同期整流動作が実行されるSyncRectモード(第1動作モード)、および、同期整流動作が実行されないCoastモード(第2動作モード)の間で、動作モードを切替える。なおSyncRectモードにおいて、各選択回路(22、24)において選択される電圧は、BEMFコンパレータ23の出力が変化する度に、既定のパターンに従って切替えられる。
【0200】
また第2および第3実施形態のスピンドルモータ駆動部10は、SRSTATEが「1」の状態(第1状態)からSRSTATEが「2」の状態(第2状態)へ切替わる第1切替動作と、SRSTATEが「2」の状態からSRSTATEが「3」の状態(第3状態)へ切替わる第2切替動作と、SRSTATEが「3」の状態からSRSTATEが「4」の状態(第4状態)へ切替わる第3切替動作と、SRSTATEが「4」の状態からSRSTATEが「5」の状態(第5状態)へ切替わる第4切替動作と、SRSTATEが「5」の状態からSRSTATEが「6」の状態(第6状態)へ切替わる第5切替動作と、を実行する。
【0201】
また第2および第3実施形態のスピンドルモータ駆動部10は、第1から第5の各切替動作の実行後、更に所定のマスク時間が経過したときにBEMFコンパレータ23の出力検出を実行する。そして第1から第5の各切替動作は、SyncRectモードにおいては、BEMFコンパレータ23の出力の変化に応じて行われ、Coastモードにおいては、マスク時間の経過に応じて行われる。
【0202】
なお選択回路24は、より詳細には、電源ラインL1の電圧VPWR、接地電圧GND、およびスピンドルモータ2の中性点電圧CTを含む各電圧のうちの何れかを、電圧信号INNとして選択する。
【0203】
そして第2および第3実施形態のスピンドルモータ駆動部10は、SyncRectモードにおいて、SRSTATEが「6」の状態からBEMFコンパレータの出力の変化に応じて、SRSTATEが「1」の状態へ切替わる動作を実行する。また当該スピンドルモータ駆動部10は、Coastモードにおいて、SRSTATEが「6」の状態からSRSTATEが「7」の状態とSRSTATEが「0」の状態を経て、SRSTATEが「1」の状態へ切替わる動作を実行する。
【0204】
なおSRSTATEが「7」および「0」のときは、電圧信号INPとしてA相の相電圧SPAが選択され、電圧信号INNとして中性点電圧CTが選択される。これによりCoastモードでは、相電圧SPAと中性点電圧CTの比較結果に基づいて、スピンドルモータ2の回転速度をモニタするためのスピードカウントを適切に行うことが可能である。
【0205】
また第2実施形態のスピンドルモータ駆動部10は、SyncRectモードにおいて、SRSTATEが「1」のときに電圧信号INPが電圧信号INNより小さく、かつ、SRSTATEが「1」のときに電圧信号INPが電圧信号INNより大きいことを検出した場合には、動作モードをCoastモードに切替える。
【0206】
また第2実施形態のスピンドルモータ駆動部10は、Coastモードにおいて、SRSTATEが「1」、「3」、および「5」の何れかのときに電圧信号INPが電圧信号INNより大きいことを検出した場合、または、SRSTATEが「2」、「4」、および「6」の何れかのときに電圧信号INPが電圧信号INNより小さいことを検出した場合には、動作モードをSyncRectモードに切替える。第2実施形態ではこのようにして、動作モードを適切に切替えることが可能である。
【0207】
一方で第3実施形態のスピンドルモータ駆動部10は、電圧VPWRが各相の相電圧(SPA〜SPC)の何れかより小さいか否か、および、接地電圧GNDが各相の相電圧(SPA〜SPC)の何れかより大きいか否か、を監視する。そしてBEMFコンパレータ23の出力検出の結果および当該監視の結果に基づいて、SyncRectモードとCoastモードの間で動作モードが切替えられる。
【0208】
より具体的に説明すると、第3実施形態のスピンドルモータ駆動部10はCoastモードにおいて、「電圧VPWRが各相の相電圧(SPA〜SPC)の何れかより小さく、かつ、接地電圧GNDが各相の相電圧(SPA〜SPC)の何れかより大きい」という第1条件が満たされたまま、「SRSTATEが「1」、「3」、および「5」の何れかのときに電圧信号INPが電圧信号INNより小さい」という第2条件、および、「SRSTATEが「2」、「4」、および「6」の何れかのときに電圧信号INPが電圧信号INNより大きい」という第3条件が満たされた場合には、動作モードをSyncRectモードに切替える。
【0209】
また第3実施形態のスピンドルモータ駆動部10は、SyncRectモードにおいて第1条件が満たされなくなった場合には、動作モードをCoastモードに切替える。第3実施形態ではこのようにして、動作モードを適切に切替えることが可能である。
【0210】
また第3実施形態のスピンドルモータ駆動部10はCoastモードにおいて、第1条件が満たされたまま第2条件が満たされた場合には、下側スイッチ12xについて同期整流動作時の切替を開始させ、第1条件が満たされたまま第3条件が満たされた場合には、上側スイッチ11xについて、同期整流動作時の切替を開始させる。これにより、上側出力または下側出力についての同期整流を早く開始させることが可能である。
【0211】
なお本発明に係るモータ駆動装置は、以上に説明したスピンドルモータを駆動する用途の他、種々のモータを駆動する用途に適用可能である。また本発明に係るモータ駆動装置は、以上に説明した電子機器の他、モータを有する様々な電子機器に適用可能である。
【0212】
また本発明の構成は、上記実施形態のほか、発明の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって、制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。