(57)【特許請求の範囲】
【請求項１】
ＰＷＭ信号のデューティ比に基づいてモータコイルを駆動するモータ駆動回路であって、
前記ＰＷＭ信号が一方の論理レベルとなる期間の１／ｎの期間ごとに第１パルス信号を生成する第１パルス信号生成回路と、
前記第１パルス信号に基づいてカウント値を変化させるカウンタと、
前記カウント値が所定値でない場合、一方の論理レベルの駆動信号を出力し、前記カウント値が前記所定値となると他方の論理レベルの前記駆動信号を出力する駆動信号出力回路と、
前記駆動信号のデューティ比に応じて前記モータコイルをＰＷＭ駆動する駆動回路と、
前記モータコイルに流れる電流の向きを変化させる期間のうち、前記モータコイルに流れる電流を減少させる期間において、前記モータコイルに流れる電流を減少させるようなカウント値を前記ＰＷＭ信号の周期ごとに前記カウンタに設定し、前記モータコイルに流れる電流を増加させる期間において、前記モータコイルに流れる電流を増加させるようなカウント値を前記ＰＷＭ信号の周期ごとに前記カウンタに設定する設定回路と、
前記モータコイルに流れる電流の向きを変化させる期間の１／ｍの期間ごとに第２パルス信号を生成する第２パルス信号生成回路と、
を備え、
前記設定回路は、
前記モータコイルに流れる電流を減少させる期間において、時間の経過とともに前記所定値との差が前記ｎを超えない範囲で小さくなるようなカウント値を生成し、前記モータコイルに流れる電流を増加させる期間において、時間の経過とともに前記所定値との差が前記ｎを超えない範囲で大きくなるようなカウント値を生成する生成回路と、
前記ＰＷＭ信号の周期ごとに前記生成回路が生成するカウント値を前記カウンタに設定するカウント値設定回路と、
を含み、
前記生成回路は、
前記モータコイルに流れる電流の向きを変化させる期間において、前記第２パルス信号がｋ回入力されるまで、前記所定値との差が小さくなるようなカウント値を生成し、前記第２パルス信号がｋ＋１回から前記ｍ回入力されるまで、前記所定値との差が大きくなるようなカウント値を生成すること、
を特徴とするモータ駆動回路。
【請求項２】
請求項１に記載のモータ駆動回路であって、
前記生成回路は、
前記第２パルス信号が前記ｋ回、または前記ｋ＋１回入力されると、前記所定値となるカウント値を生成すること、
を特徴とするモータ駆動回路。
【請求項３】
請求項１または請求項２に記載のモータ駆動回路であって、
前記第１パルス信号生成回路は、
前記モータコイルに流れる電流の向きを変化させる期間において、前記ＰＷＭ信号が前記一方の論理レベルとなる期間の前記１／ｎの期間ごとに前記第１パルス信号を生成し、前記モータコイルに流れる電流の向きを変化させない期間において、前記ＰＷＭ信号が前記一方の論理レベルから他方の論理レベルとなるごとに前記第１パルス信号を生成し、
前記設定回路は、
前記モータコイルに流れる電流の向きを変化させない期間において、前記第１パルス信号が前記カウンタに入力されると前記所定値となるカウント値を前記ＰＷＭ信号の周期ごとに前記カウンタに設定すること、
を特徴とするモータ駆動回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動回路に関する。
【背景技術】
【０００２】
電子機器では、発熱部品を冷却するためにファンモータが用いられる。ファンモータを駆動する際には、例えばファンモータにおける騒音を低減させるため、モータコイルの駆動電流を徐々に変化させる、いわゆるソフトスイッチングを行うモータ駆動回路が用いられることがある（例えば、特許文献１参照）。特許文献１のモータ駆動回路はＰＷＭ（Pulse Width Modulation）方式のモータ駆動回路であり、モータコイルはＰＷＭ信号に基づいて駆動される。このようなモータ駆動回路では、ＰＷＭ信号のデューティ比を変化させることにより、モータコイルの駆動電流を変化させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２８７１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１のモータ駆動回路では、コンデンサの充電電圧と、三角波とが比較されてＰＷＭ信号が生成されている。したがって、ＰＷＭ信号のデューティ比を緩やかに変化させるためには、コンデンサの充電電圧を緩やかに変化させる必要がある。このため、このようなモータ駆動回路では、例えば容量の大きいコンデンサが必要となる。
【０００５】
本発明は上記課題を鑑みてなされたものであり、コンデンサを用いることなくモータコイルの駆動電流を徐々に変化させることが可能なモータ駆動回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一つの側面に係る、ＰＷＭ信号のデューティ比に基づいてモータコイルを駆動するモータ駆動回路は、前記ＰＷＭ信号が一方の論理レベルとなる期間の１／ｎの期間ごとに第１パルス信号を生成する第１パルス信号生成回路と、前記第１パルス信号に基づいてカウント値を変化させるカウンタと、前記カウント値が所定値でない場合、一方の論理レベルの駆動信号を出力し、前記カウント値が前記所定値となると他方の論理レベルの前記駆動信号を出力する駆動信号出力回路と、前記駆動信号のデューティ比に応じて前記モータコイルをＰＷＭ駆動する駆動回路と、前記モータコイルに流れる電流の向きを変化させる期間のうち、前記モータコイルに流れる電流を減少させる期間において、前記モータコイルに流れる電流を減少させるようなカウント値を前記ＰＷＭ信号の周期ごとに前記カウンタに設定し、前記モータコイルに流れる電流を増加させる期間において、前記モータコイルに流れる電流を増加させるようなカウント値を前記ＰＷＭ信号の周期ごとに前記カウンタに設定する設定回路と、前記モータコイルに流れる電流の向きを変化させる期間の１／ｍの期間ごとに第２パルス信号を生成する第２パルス信号生成回路と、を備え、前記設定回路は、前記モータコイルに流れる電流を減少させる期間において、時間の経過とともに前記所定値との差が前記ｎを超えない範囲で小さくなるようなカウント値を生成し、前記モータコイルに流れる電流を増加させる期間において、時間の経過とともに前記所定値との差が前記ｎを超えない範囲で大きくなるようなカウント値を生成する生成回路と、前記ＰＷＭ信号の周期ごとに前記生成回路が生成するカウント値を前記カウンタに設定するカウント値設定回路と、を含み、前記生成回路は、前記モータコイルに流れる電流の向きを変化させる期間において、前記第２パルス信号がｋ回入力されるまで、前記所定値との差が小さくなるようなカウント値を生成し、前記第２パルス信号がｋ＋１回から前記ｍ回入力されるまで、前記所定値との差が大きくなるようなカウント値を生成すること、を特徴とする。
【発明の効果】
【０００７】
コンデンサを用いることなくモータコイルの駆動電流を徐々に変化させることが可能なモータ駆動回路を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態であるモータ駆動ＩＣ１０の構成を示す図である。
【図２】ソフトスイッチ期間生成回路２１の一実施形態を示す図である。
【図３】ソフトスイッチ期間生成回路２１の動作を説明するための図である。
【図４】駆動信号生成回路２３の一実施形態を示す図である。
【図５】パルス信号生成回路６０の一実施形態を示す図である。
【図６】ダウンカウンタ７４に記憶されるカウント値について説明するための図である。
【図７】信号ＶｓｓｗがＬレベルの際のパルス信号生成回路６０の動作を説明するための図である。
【図８】信号ＶｓｓｗがＨレベルの際のパルス信号生成回路６０の動作を説明するための図である。
【図９】信号ＶｓｓｗがＬレベルの際の駆動信号Ｖｄｒを説明するための図である。
【図１０】信号ＶｓｓｗがＨレベルの際の駆動信号Ｖｄｒの変化について説明するための図である。
【図１１】カウント値出力回路６５の一実施形態を示す図である。
【図１２】パルス信号生成回路８０から出力されるパルス信号Ｖｐ３を説明するための図である。
【図１３】アップカウンタ８１の動作を説明するための図である。
【図１４】アップカウンタ８１の出力と変換回路８２の出力との関係を示す図である。
【図１５】駆動信号生成回路２３の動作を説明するための図である。
【図１６】モータ駆動ＩＣ１０の動作を説明するための図である。
【発明を実施するための形態】
【０００９】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。  
図１は、本発明の一実施形態であるモータ駆動ＩＣ（Integrated Circuit）１０の構成を示す図である。モータ駆動ＩＣ１０は、例えば、ノート型パーソナルコンピュータ等の電子機器において、プロセッサ等の発熱部品を冷却するためのファンモータに組み込まれている。
【００１０】
モータ駆動ＩＣ１０は、マイコン（不図示）等から出力されるＰＷＭ信号Ｖｐｗｍのデューティ比に応じて冷却用のファンを回転させるための単相モータ１１を駆動する回路である。モータ駆動ＩＣ１０は、コンパレータ２０、ソフトスイッチ期間生成回路２１、クロック信号生成回路２２、駆動信号生成回路２３、スイッチング回路２４、ＮＭＯＳトランジスタ２５Ａ，２５Ｂ、ＰＭＯＳトランジスタ２６Ａ，２６Ｂ、及び端子３０〜３４を含んで構成される。なお、モータ駆動ＩＣ１０は、ＰＷＭ信号ＶｐｗｍのＨレベルのデューティ比の増加に応じて単相モータ１１の回転速度を上昇させる。
【００１１】
ホール素子１２は、単相モータ１１におけるロータ（不図示）の回転位置に応じたホール信号ＶＨ１，ＶＨ２を出力する。なお、ホール素子１２は、周波数がファンモータの回転速度に応じて変化し、互いに逆相となるホール信号ＶＨ１，ＶＨ２を出力する。また、ホール信号ＶＨ１，ＶＨ２は、振幅のレベル及び、振幅の中心レベルが互いに等しい正弦波の信号であり、端子３０，３１に夫々出力される。
【００１２】
コンパレータ２０は、ホール信号ＶＨ１，ＶＨ２のレベルを比較し、単相モータ１１の回転速度に応じて周波数が変化する信号Ｖｆｇを生成する。なお、信号Ｖｆｇは、いわゆるＦＧ信号であり、ホール信号ＶＨ１のレベルがホール信号ＶＨ２のレベルより高くなるとローレベル（以下、Ｌレベル）となり、ホール信号ＶＨ１のレベルがホール信号ＶＨ２のレベルより低くなるとハイレベル（以下、Ｈレベル）となる。
【００１３】
ソフトスイッチ期間生成回路２１は、ソフトスイッチ期間、すなわち単相モータ１１のモータコイルＬに流れる駆動電流Ｉｄｒの向きを緩やかに変化させるための期間を示す信号Ｖｓｓｗを生成する。図２は、ソフトスイッチ期間生成回路２１の構成例を示す図である。ソフトスイッチ期間生成回路２１は、ソフトスイッチ期間生成回路２１の内部で生成される電圧Ｖｂと、ホール信号ＶＨ１，ＶＨ２とに基づいて信号Ｖｓｓｗを生成し、コンパレータ５０，５１、及びＡＮＤ回路５２を含んで構成される。
【００１４】
コンパレータ５０は、ホール信号ＶＨ１のレベルと、所定の電圧Ｖｂのレベルとを比較する。具体的には、図３に示すように、コンパレータ５０は、ホール信号ＶＨ１のレベルが電圧Ｖｂのレベルより高くなるとＬレベルの比較信号Ｖｃ１を出力し、ホール信号ＶＨ１のレベルが電圧Ｖｂのレベルより低くなるとＨレベルの比較信号Ｖｃ１を出力する。
【００１５】
コンパレータ５１は、ホール信号ＶＨ２のレベルと、所定の電圧Ｖｂのレベルとを比較する。コンパレータ５０は、ホール信号ＶＨ２のレベルが電圧Ｖｂのレベルより高くなるとＬレベルの比較信号Ｖｃ２を出力し、ホール信号ＶＨ２のレベルが電圧Ｖｂのレベルより低くなるとＨレベルの比較信号Ｖｃ２を出力する。
【００１６】
ＡＮＤ回路５２は、比較信号Ｖｃ１及び比較信号Ｖｃ２の論理積を演算し、演算結果を信号Ｖｓｓｗとして出力する。このため、ソフトスイッチ期間生成回路２１では、ホール信号ＶＨ１，ＶＨ２が交差するタイミングの前後の期間において、Ｈレベルとなる信号Ｖｓｓｗが生成される。本実施形態では、信号ＶｓｓｗがＨレベルとなる期間がソフトスイッチ期間である。なお、前述のように正弦波状に変化するホール信号ＶＨ１，ＶＨ２の夫々の振幅の中心の直流レベルは等しい。このため、信号ＶｓｓｗがＨレベルとなる期間のうち、ホール信号ＶＨ１，ＶＨ２が交差するタイミングの前の期間と、後の期間とは等しくなる。
【００１７】
クロック信号生成回路２２は、所定周期のクロック信号Ｖｃｋ１を生成する。なお、クロック信号Ｖｃｋ１の周波数は、ＰＷＭ信号Ｖｐｗｍの周波数より十分高くなるよう設計されている。
【００１８】
駆動信号生成回路２３は、スイッチング回路２４にＮＭＯＳトランジスタ２５Ａ等をＰＷＭ駆動させるための駆動信号Ｖｄｒを生成する。駆動信号生成回路２３は、信号ＶｓｓｗがＬレベル場合、すなわちソフトスイッチ期間でない場合、ＰＷＭ信号Ｖｐｗｍのデューティ比と一致するようなデューティ比の駆動信号Ｖｄｒを生成する。一方、駆動信号生成回路２３は、信号ＶｓｓｗがＨレベルの場合、すなわちソフトスイッチ期間の場合、デューティ比が徐々に低下した後に徐々に増加するような駆動信号Ｖｄｒを生成する。なお、駆動信号生成回路２３の詳細については後述する。
【００１９】
スイッチング回路２４は、信号Ｖｆｇ、駆動信号Ｖｄｒに基づいて、いわゆるＨブリッジ回路を構成するＮＭＯＳトランジスタ２５Ａ，２５Ｂ、ＰＭＯＳトランジスタ２６Ａ，２６Ｂを駆動する。具体的には、スイッチング回路２４は、Ｈブリッジ回路の各ＭＯＳトランジスタのオンオフを制御し、モータコイルＬを駆動する駆動電流Ｉｄｒを変化させる。スイッチング回路２４は、信号ＶｆｇがＨレベルの場合、例えば、ＰＭＯＳトランジスタ２６Ａをオンし、ＮＭＯＳトランジスタ２５Ａ、及びＰＭＯＳトランジスタ２６Ｂをオフするとともに、ＮＭＯＳトランジスタ２５Ｂを駆動信号Ｖｄｒのデューティ比に応じてスイッチングする。このため、単相モータ１１のモータコイルＬには、端子３３から端子３４方向へと駆動電流Ｉｄｒが流れる。また、スイッチング回路２４は、信号ＶｆｇがＬレベルの場合、例えば、ＰＭＯＳトランジスタ２６Ｂをオンし、ＮＭＯＳトランジスタ２５Ｂ、及びＰＭＯＳトランジスタ２６Ａをオフするとともに、ＮＭＯＳトランジスタ２５Ａを駆動信号Ｖｄｒのデューティ比に応じてスイッチングする。このため、モータコイルＬには、端子３４から端子３３方向へと駆動電流Ｉｄｒが流れる。
【００２０】
なお、スイッチング回路２４、及びＨブリッジ回路を構成するＮＭＯＳトランジスタ２５Ａ，２５Ｂ、ＰＭＯＳトランジスタ２６Ａ，２６Ｂが駆動回路に相当する。
【００２１】
＝＝駆動信号生成回路２３の詳細＝＝
ここで、図４を参照しつつ、駆動信号生成回路２３の詳細について説明する。駆動信号生成回路２３は、パルス信号生成回路６０，６１、カウンタ６２、駆動信号出力回路６３、カウント値設定回路６４、及びカウント値出力回路６５を含んで構成される。なお、カウント値設定回路６４、及びカウント値出力回路６５が設定回路に相当する。
【００２２】
パルス信号生成回路６０（第１パルス信号生成回路）は、信号ＶｓｓｗがＬレベルの場合、すなわちソフトスイッチ期間でない場合、ＰＷＭ信号ＶｐｗｍがＨレベルからＬレベルに変化するごとにＨレベルとなるパルス信号Ｖｐ１（第１パルス信号）を生成する。また、パルス信号生成回路６０は、信号ＶｓｓｗがＨレベルの場合、すなわちソフトスイッチ期間の場合、ＰＷＭ信号ＶｐｗｍがＨレベルとなる期間の例えば、１／８の期間ごとにパルス信号Ｖｐ１を生成する。
【００２３】
パルス信号生成回路６０は、図５に示すように、エッジ検出回路７０、遅延回路７１、アップカウンタ７２、レジスタ７３、ダウンカウンタ７４、及びパルス信号出力回路７５を含んで構成される。
【００２４】
エッジ検出回路７０は、ＰＷＭ信号Ｖｐｗｍの立ち上がりエッジを検出し、エッジパルスＶｅ１を出力する。
【００２５】
遅延回路７１は、所定時間だけエッジパルスＶｅ１を遅延させ、エッジパルスＶｅ２として出力する。なお、遅延回路７１における遅延時間は、クロック信号Ｖｃｋ１の周期より十分短くなるよう設計されている。
【００２６】
アップカウンタ７２は、ＰＷＭ信号ＶｐｗｍのＨレベルとなる期間をクロック信号Ｖｃｋ１に基づいてアップカウントする。また、アップカウンタ７２は、例えば８ビットのカウンタであり、アップカウンタ７２のカウント値は、エッジパルスＶｅ２が入力されるとリセットされる。
【００２７】
レジスタ７３は、例えば図６に示すような１１ビットのレジスタであり、エッジパルスＶｅ１が入力されると、アップカウンタ７２のカウント値、すなわちＰＷＭ信号ＶｐｗｍのＨレベルの期間を示すカウント値を取得して下位８ビットに記憶する。また、レジスタ７３の上位３ビットには、“０”（２進数）が夫々記憶されている。なお、以下、特に“２進数”と明記しない限り、カウント値等は１０進数で示された値であることとする。
【００２８】
ダウンカウンタ７４は、信号ＶｓｓｗがＬレベルの場合、エッジパルスＶｅ２が入力されると、レジスタ７３の下位８ビットのデータを読み出して初期値として記憶する。そして、ダウンカウンタ７４は、クロック信号Ｖｃｋ１に基づいて初期値をダウンカウンタし続ける。具体的には、例えば、レジスタ７３の下位８ビットに“１６０”が記憶されている場合、初期値は“１６０”となる。そして、ダウンカウンタ７４は、“１６０”をクロック信号Ｖｃｋ１に基づいてダウンカウントする。ダウンカウンタ７４は、カウント値が“０”となると、再度、初期値として設定された“１６０”をダウンカウントする。
【００２９】
一方、ダウンカウンタ７４は、信号ＶｓｓｗがＨレベルの場合、エッジパルスＶｅ２が入力されると、レジスタ７３の上位８ビットのデータを読み出して初期値として記憶する。前述のように、レジスタ７３の上位３ビットは何れも“０”である。このため、レジスタ７３に記憶されていたカウント値は３ビット右シフトされることになる。例えば、レジスタ７３の下位８ビットに“１６０”が記憶されている場合、“１６０”が８（２の３乗）で除算されたカウント値“２０”が初期値となる。信号ＶｓｓｗがＨレベルの際のダウンカウンタ７４は、信号ＶｓｓｗがＬレベルの際と同様に、初期値をクロック信号Ｖｃｋ１に基づいてダウンカウントする。そして、カウント値が“０”となると、ダウンカウンタ７４は、再度初期値として設定された“２０”をダウンカウントする。
【００３０】
パルス信号出力回路７５は、ダウンカウンタ７４のカウント値が“０”となるたびにＨレベルのパルス信号Ｖｐ１を出力する。
【００３１】
ここで、図７を参照しつつ、信号ＶｓｓｗがＬレベルの場合におけるパルス信号生成回路６０の動作について説明する。なお、実際にはエッジパルスＶｅ１が出力されてから、エッジパルスＶｅ２が出力されるが、遅延回路７１の遅延時間は、クロック信号Ｖｃｋ１の周期よりも十分短くなるように設計されている。このため、図７においては、便宜上、エッジパルスＶｅ１，Ｖｅ２を同じ時刻に描いている。
【００３２】
まず、時刻ｔ０においてＰＷＭ信号ＶｐｗｍがＨレベルとなると、ＨレベルのエッジパルスＶｅ１が出力され、その後ＨレベルのエッジパルスＶｅ２が出力される。このため、アップカウンタ７２のカウント値はリセットされる。その後アップカウンタ７２は、ＰＷＭ信号ＶｐｗｍがＬレベルとなる時刻ｔ１まで、クロック信号Ｖｃｋ１に基づいてアップカウントする。なお、時刻ｔ０〜ｔ１までの期間ＴＡにおいてアップカウンタ７２でカウントされるカウント値を、例えば“１６０”とする。
【００３３】
つぎに、時刻ｔ０からＰＷＭ信号Ｖｐｗｍの１周期後の時刻ｔ２となると、エッジパルスＶｅ１が出力されるため、アップカウンタ７２が時刻ｔ０〜ｔ１の間にカウントしたカウント値“１６０”は、レジスタ７３に格納される。また、ダウンカウンタ７４に入力される信号ＶｓｓｗはＨレベルであるため、ダウンカウンタ７４は、パルス信号Ｖｐ２に基づいて、レジスタ７３に記憶された“１６０”を初期値として記憶する。そして、ダウンカウンタ７４は、クロック信号Ｖｃｋ１に基づいてダウンカウントを開始する。ダウンカウンタ７４がダウンカウントする際のクロック信号Ｖｃｋ１と、アップカウンタ７２がアップカウントする際のクロック信号Ｖｃｋ１とは同じである。このため、時刻ｔ２から、期間ＴＡだけ経過した時刻ｔ３にダウンカウンタ７４のカウント値は“０”となる。この結果、時刻ｔ３にパルス信号Ｖｐ１が出力される。
【００３４】
このように、パルス信号生成回路６０は、信号ＶｓｓｗがＬレベルの場合、すなわちソフトスイッチ期間でない場合、ＰＷＭ信号ＶｐｗｍがＨレベルからＬレベルに変化するごとにＨレベルとなるパルス信号Ｖｐ１を生成する。
【００３５】
ここでは、信号ＶｓｓｗがＬレベルの場合のパルス信号生成回路６０の動作を説明したが、信号ＶｓｓｗがＨレベルの場合もダウンカウンタ７４の初期値が１／８になる以外は同様である。例えば、ＰＷＭ信号ＶｐｗｍのＨレベルの期間におけるアップカウンタ７２のカウント値が“１６０”であり、レジスタ７３に“１６０”が記憶される場合、ダウンカウンタ７４には、初期値として“２０”（２０＝１６０／８）記憶される。そして、ダウンカウンタ７４は、クロック信号Ｖｃｋ１に基づいて初期値である“２０”をダウンカウントする。このため、ＰＷＭ信号ＶｐｗｍのＨレベルの期間、すなわち、クロック信号Ｖｃｋ１に基づいて“１６０”がカウントされるまでの期間の１／８の期間ごとにダウンカウンタ７４のカウント値は“０”となる。したがって、図８に示すように、信号ＶｓｓｗがＨレベルの場合、パルス信号生成回路６０は、ＰＷＭ信号ＶｐｗｍがＨレベルとなる期間の１／８の期間ごとにパルス信号Ｖｐ１を生成する。
【００３６】
図４に示すパルス信号生成回路６１は、ＰＷＭ信号ＶｐｗｍがＬレベルからＨレベルに変化するごとにＨレベルとなるパルス信号Ｖｐ２を生成する。つまり、パルス信号生成回路６１は、ＰＷＭ信号Ｖｐｗｍの立ち上がりを検出し、ＰＷＭ信号Ｖｐｗｍの１周期をごとにパルス信号Ｖｐ２を生成する。
【００３７】
カウンタ６２は、パルス信号Ｖｐ１が入力される度にカウント値ＣＮＴ１を“１”インクリメントする。また、カウンタ６２は、例えば３ビットのアップカウンタであり、カウント値ＣＮＴ１が最大値である“７”となると、カウント値ＣＮＴ１の変化を停止させる。
【００３８】
駆動信号出力回路６３は、カウント値ＣＮＴ１が“７”（所定値）の場合、Ｌレベルの駆動信号Ｖｄｒを出力し、カウント値ＣＮＴ１が“７”で無い場合、Ｈレベルの駆動信号Ｖｄｒを出力する。
【００３９】
カウント値設定回路６４は、パルス信号Ｖｐ２が出力される度に、カウント値出力回路６５から出力されるカウント値ＣＮＴ２をカウンタ６２に設定する。
【００４０】
カウント値出力回路６５（生成回路）は、カウンタ６２に設定するための初期値をカウント値ＣＮＴ２として出力する。カウント値出力回路６５は、信号ＶｓｓｗがＬレベルの場合、駆動信号ＶｄｒのＨレベルのデューティ比が、ＰＷＭ信号Ｖｐｗｍのデューティ比と一致するようなカウント値ＣＮＴ２を出力する。具体的には、カウント値出力回路６５はカウント値ＣＮＴ２として“６”を出力する。一方、カウント値出力回路６５は、信号ＶｓｓｗがＨレベルの場合、駆動信号ＶｄｒのＨレベルのデューティ比が減少した後に増加するようなカウント値ＣＮＴ２を出力する。
【００４１】
ここで、カウンタ６２に設定される初期値に応じて、駆動信号Ｖｄｒのデューティ比がどのように変化するかを説明する。なお、カウント値出力回路６５の詳細については後述する。
【００４２】
まず、図４、図９を参照しつつ、信号ＶｓｓｗがＬレベルの際に、カウント値ＣＮＴ１の初期値が“６”の場合について説明する。時刻ｔ１０にＰＷＭ信号ＶｐｗｍがＨレベルとなると、パルス信号Ｖｐ２が出力される。このため、カウンタ６２には“６”がカウント値ＣＮＴ１として設定される。この際、カウント値ＣＮＴ１は“７”でない場合ため、駆動信号ＶｄｒはＨレベルとなる。そして、時刻ｔ１１にＰＷＭ信号ＶｐｗｍがＬレベルとなると、パルス信号Ｖｐ１が出力される。このため、カウント値ＣＮＴ１は“６”から“７”へと変化し、駆動信号ＶｄｒはＨレベルからＬレベルへと変化する。このように、信号ＶｓｓｗがＬレベルの場合、駆動信号出力回路６３は、ＰＷＭ信号Ｖｐｗｍのデューティ比と一致するようなデューティ比の駆動信号Ｖｄｒを出力する。
【００４３】
つぎに、信号ＶｓｓｗがＨレベルの際に、カウント値ＣＮＴ１の初期値が“０”の場合の駆動信号Ｖｄｒについて図１０を参照しつつ説明する。なお、前述のように、信号ＶｓｓｗがＨレベルの際には、ＰＷＭ信号ＶｐｗｍのＨレベルの期間の１／８の期間ごとにパルス信号Ｖｐ１が出力される。
【００４４】
時刻２０にＰＷＭ信号ＶｐｗｍがＨレベルとなり、パルス信号Ｖｐ２が出力されると、 “０”が、カウンタ６２に設定される。その後、パルス信号Ｖｐ１が出力される度にカウンタ６２はアップカウントする。そして、時刻ｔ２０から７回パルス信号Ｖｐ１が出力される時刻ｔ２１となると、カウント値ＣＮＴ１は“７”となる。この結果、時刻ｔ２１に駆動信号Ｖｄｒは、ＨレベルからＬレベルへと変化する。なお、駆動信号ＶｄｒがＨレベルとなる期間（時刻ｔ２０〜ｔ２１）は、ＰＷＭ信号ＶｐｗｍがＨレベルとなる期間ＴＢの７／８の長さとなる。
【００４５】
また、例えば、カウント値ＣＮＴ１の初期値が“１”の場合も、前述のカウント値ＣＮＴ１の初期値が“０”の場合と同様である。ただし、この場合は、時刻ｔ２０にカウンタ６２に“１”が設定されるため、時刻ｔ２０から６回パルス信号Ｖｐ１が出力されると、カウント値ＣＮＴ１は“７”となる。したがって、カウント値ＣＮＴ１の初期値が“１”の場合、駆動信号ＶｄｒがＨレベルとなる期間は、期間ＴＢの６／８の長さとなる。このように、カウント値ＣＮＴ１の初期値が“１”増加すると、駆動信号ＶｄｒがＨレベルとなる期間は“期間ＴＢの１／８の期間”短くなる。そして、例えば、カウント値ＣＮＴ１の初期値が“７”の場合、カウンタ６２には最大値の“７”が設定されるため、駆動信号Ｖｄｒは常にＬレベルとなる。
【００４６】
＝＝カウント値出力回路６５の詳細＝＝
ここで、図１１を参照しつつ、カウント値出力回路６５の詳細について説明する。なお、カウント値出力回路６５は、信号ＶｓｓｗがＬレベルの場合、カウント値ＣＮＴ２として“６”を出力し、信号ＶｓｓｗがＨレベルの際、カウント値ＣＮＴ２を例えば“０”から“７”へと増加させた後に“７”から“０”へと減少させる。
【００４７】
カウント値出力回路６５は、パルス信号生成回路８０、アップカウンタ８１、変換回路８２、記憶回路８３、及びセレクタ８４を含んで構成される。
【００４８】
パルス信号生成回路８０（第２パルス信号生成回路）は、信号ＶｓｓｗがＨレベルとなる期間の例えば、１／１６の期間ごとにパルス信号Ｖｐ３（第２パルス信号）を生成する回路である。パルス信号生成回路８０は、逓倍回路１００、エッジ検出回路１０１、遅延回路１０２、アップカウンタ１０３、レジスタ１０４、ダウンカウンタ１０５、及びパルス信号出力回路１０６を含んで構成される。
【００４９】
逓倍回路１００は、クロック信号Ｖｃｋ１に基づいて、クロック信号Ｖｃｋ１の周波数の１６倍の周波数のクロック信号Ｖｃｋ２を出力する。
【００５０】
エッジ検出回路１０１は、信号Ｖｓｓｗの立ち上がりエッジを検出し、エッジパルスＶｅ３を出力する。
【００５１】
遅延回路１０２は、所定時間だけエッジパルスＶｅ２を遅延させ、エッジパルスＶｅ４として出力する。なお、遅延回路１０２における遅延時間は、クロック信号Ｖｃｋ２の周期より十分短い時間であることとする。
【００５２】
アップカウンタ１０３は、信号ＶｓｓｗのＨレベルとなる期間をクロック信号Ｖｃｋ１に基づいてアップカウントする。また、アップカウンタ１０３は、例えば９ビットのカウンタであり、アップカウンタ１０３のカウント値は、エッジパルスＶｅ４が入力されるとリセットされる。
【００５３】
レジスタ１０４は、例えば９ビットのレジスタであり、エッジパルスＶｅ３が入力されると、アップカウンタ１０３のカウント値、すなわち信号ＶｓｓｗのＨレベルの期間を示すカウント値を取得して記憶する。
【００５４】
ダウンカウンタ１０５は、エッジパルスＶｅ４が入力されると、レジスタ１０４に記憶されたカウント値を読み出して初期値として記憶する。そして、ダウンカウンタ１０５は、クロック信号Ｖｃｋ２に基づいて初期値をダウンカウンタし続ける。具体的には、例えば、アップカウンタ１０３がクロック信号Ｖｃｋ１に基づいてアップカウントしたカウント値が“４８０”で、レジスタ１０４に“４８０”が記憶されている場合、初期値は“４８０”となる。そして、ダウンカウンタ１０５は、“４８０”をクロック信号Ｖｃｋ２に基づいてダウンカウントする。また、ダウンカウンタ１０５は、カウント値が“０”となると、再度、初期値として設定された“４８０”をダウンカウントする。なお、クロック信号Ｖｃｋ２の周波数は、クロック信号Ｖｃｋ１の周波数の１６倍である。このため、ダウンカウンタ１０５のカウント値は、アップカウンタ１０３が“４８０”をカウントした期間ＴＣの１／１６の期間ごとに“０”となる。
【００５５】
パルス信号出力回路１０６は、ダウンカウンタ１０５のカウント値が“０”となるたびにＨレベルのパルス信号Ｖｐ３を出力する。したがって、パルス信号生成回路８０は、図１２に示すように、信号ＶｓｓｗがＨレベルとなる期間の１／１６の期間ごとにパルス信号Ｖｐ３を生成する。
【００５６】
アップカウンタ８１は、パルス信号Ｖｐ３に基づいてアップカウントする４ビットのカウンタである。また、アップカウンタ８１のカウント値ＣＮＴ３はエッジパルスＶｅ３が入力されると、すなわち、信号Ｖｓｓｗの立ち上がりが検出されるとリセットされる。このため、アップカウンタ８１のカウント値ＣＮＴ３は、例えば、図１３に示すように“０”から“１５”まで変化する。なお、カウント値ＣＮＴ３は、４ビットの信号を信号Ａ０〜Ａ３として出力され、ビットの信号Ａ０〜Ａ３のうち、信号Ａ０が最上位ビットの信号に相当し、信号Ａ３が最下位ビットの信号に相当する。
【００５７】
変換回路８２は、アップカウンタ８１から出力される４ビットのカウント値を３ビットの値に変換して出力する回路であり、ＥＯＲ回路１２０〜１２２を含んで構成される。ＥＯＲ回路１２０には、信号Ａ０，Ａ１が入力され、ＥＯＲ回路１２１には、信号Ａ０，Ａ２が入力され、ＥＯＲ回路１２２には、信号Ａ０，Ａ３が入力される。このため、信号Ａ０が“０”（２進数）の場合、信号Ａ１〜Ａ３の夫々が、ＥＯＲ回路１２０〜１２２から信号Ｂ０〜Ｂ２として出力される。一方、信号Ａ０が“１”（２進数）の場合、信号Ａ１〜Ａ３の論理レベルが反転された信号の夫々が、信号Ｂ０〜Ｂ２として出力される。このため、変換回路８２は、図１４に示すように、カウント値ＣＮＴ３が“０”から“１５”まで増加すると、“０”〜“７”まで増加した後に“７”〜“０”に低下するような値を出力する。
【００５８】
記憶回路８３は、“６”の値を示す３ビットのデータを記憶するとともに、“６”の値を示す３ビットの信号Ｃ０〜Ｃ２を出力する。
【００５９】
セレクタ８４は、信号ＶｓｓｗがＬレベルの場合、信号Ｂ０〜Ｂ２をカウント値ＣＮＴ２として出力し、信号ＶｓｓｗがＨレベルの場合、信号Ｃ０〜Ｃ２をカウント値ＣＮＴ２として出力する。
【００６０】
このように、カウント値出力回路６５は、信号ＶｓｓｗがＬレベルの場合、カウント値ＣＮＴ２として“６”を出力し、信号ＶｓｓｗがＨレベルの場合、カウント値ＣＮＴ２を “０”から“７”へと増加させた後に“７”から“０”へと減少させる。
【００６１】
＝＝駆動信号生成回路２３の動作＝＝
ここで、図４、図１５を参照しつつ、駆動信号生成回路２３の動作の一例を説明する。  
まず、信号ＶｓｓｗがＬレベルであると、カウント値出力回路６５はカウント値ＣＮＴ２として“６”を出力し続ける。そして、時刻ｔ３０において、ＰＷＭ信号ＶｐｗｍがＨとなると、カウンタ６２の初期値として“６”が設定される。その後、ＰＷＭ信号ＶｐｗｍがＨレベルからＬレベルとなるとパルス信号Ｖｐ１が出力されるため、カウンタ６２のカウント値ＣＮＴ１は“７”となる。このため、駆動信号生成回路２３からは、ＰＷＭ信号Ｖｐｗｍのデューティ比と一致するようなデューティ比の駆動信号Ｖｄｒが出力される。なお、信号ＶｓｓｗがＬレベルの間は、ＰＷＭ信号Ｖｐｗｍのデューティ比と一致するようなデューティ比の駆動信号Ｖｄｒが出力され続ける。
【００６２】
つぎに、時刻ｔ３１に信号ＶｓｓｗがＨレベルとなると、前述のようにカウント値出力回路６５は、カウント値ＣＮＴ２として“０”を出力する。そして、時刻ｔ３２にＰＷＭ信号ＶｐｗｍがＨレベルとなるとパルス信号Ｖｐ２が発生するため、カウンタ６２に“０”が設定される。信号ＶｓｓｗがＨレベルの際にカウンタ６２のカウント値ＣＮＴ１の初期値が“０”であると、図１０で示したように、駆動信号ＶｄｒがＨレベルとなる期間は、ＰＷＭ信号ＶｐｗｍがＨレベルとなる期間ＴＢの７／８の長さとなる。このため、時刻ｔ３２において発生する駆動信号Ｖｄｒのデューティ比は、ＰＷＭ信号Ｖｐｗｍのデューティ比より低下する。
【００６３】
時刻ｔ３３にＰＷＭ信号ＶｐｗｍがＨレベルとなると、パルス信号Ｖｐ２が発生し、カウンタ６２に“１”が設定される。前述のように、初期のカウント値ＣＮＴ１が“１”であると、駆動信号ＶｄｒがＨレベルとなる期間は、ＰＷＭ信号ＶｐｗｍがＨレベルとなる期間ＴＢの６／８の長さとなる。また、時刻ｔ３４〜時刻ｔ３８までは、カウンタ６２に設定される初期のカウント値ＣＮＴ１が“２”〜“６”と増加する。このため、時刻ｔ３４〜時刻ｔ３８においては、駆動信号ＶｄｒがＨレベルとなる期間は、期間ＴＢの長さの“５／８”〜“１／８”に低下する。
【００６４】
また、時刻ｔ３９，ｔ４０のタイミングでは、カウンタ６２に設定されるカウント値は“７”である。このため、時刻ｔ４１に、カウンタ６２にカウント値“６”が設定されるまで、駆動信号ＶｄｒはＬレベルのままとなる。時刻ｔ４１〜ｔ４７までは、カウンタ６２に設定される初期のカウント値ＣＮＴ１は“６”〜“０”と低下する。このため、駆動信号ＶｄｒがＨレベルとなる期間は、期間ＴＢの長さの“１／８”〜“７／８”に増加する。そして、信号Ｖｓｓｗが再びＬレベルとなると、時刻ｔ３０〜時刻３１までの間と同様に、ＰＷＭ信号Ｖｐｗｍのデューティ比と一致するようなデューティ比の駆動信号Ｖｄｒが出力されることになる。
【００６５】
このように、信号ＶｓｓｗがＨレベルの際には、駆動信号Ｖｄｒのデューティ比は徐々に低下してゼロとなった後に徐々に増加する。なお、この際、駆動信号Ｖｄｒのデューティ比は、ＰＭＷ信号Ｖｐｗｍのデューティ比を超えることは無い。
【００６６】
＝＝モータ駆動ＩＣ１０の動作＝＝
ここで、図１、図１６を参照しつつモータ駆動ＩＣ１０の動作について説明する。なお、ここでは、ＮＭＯＳトランジスタ２５Ｂのゲート電圧を電圧Ｖｇ１とし、ＮＭＯＳトランジスタ２５Ａのゲート電圧を電圧Ｖｇ２とする。また、モータ駆動ＩＣ１０には、所定のデューティ比Ｄ１のＰＷＭ信号Ｖｐｗｍが入力されていることとする。さらに、デューティ比Ｄ１のＰＷＭ信号Ｖｐｗｍに基づいてＮＭＯＳトランジスタ２５Ｂがスイッチングされている際の駆動電流Ｉｄｒの電流値をＩｘとし、ＮＭＯＳトランジスタ２５Ａがスイッチングされている際の駆動電流Ｉｄｒの電流値を−Ｉｘとする。
【００６７】
モータ駆動ＩＣ１０に単相モータ１１の回転速度に応じた周波数のホール信号ＶＨ１，ＶＨ２が入力されると、前述のように、信号Ｖｆｇの論理レベルが変化するタイミングの前後で信号ＶｓｓｗがＨレベルとなる。信号ＶｓｓｗがＬレベルの際には、駆動信号生成回路２３から出力される駆動信号Ｖｄｒのデューティ比もデューティ比Ｄ１となる。このため、スイッチング回路２４は、デューティ比Ｄ１でＮＭＯＳトランジスタ２５ＢをＰＷＭ駆動する。したがって、この間における駆動電流Ｉｄｒの電流値はＩｘとなる。
【００６８】
信号ＶｓｓｗがＨレベルとなりソフトスイッチの期間が開始されると、駆動信号Ｖｄｒのデューティ比は低下される。このため、電圧Ｖｇ１がＨレベルとなる期間も短くなり、駆動電流Ｉｄｒの電流値は徐々に減少する。なお、信号ＶｆｇがＨレベルの期間においては、駆動電流Ｉｄｒの電流値は減少するものの、駆動電流Ｉｄｒは端子３３から端子３４の方向に流れる。
【００６９】
そして、信号ＶｆｇがＬレベルとなると、駆動電流Ｉｄｒの流れる方向は、端子３４から端子３３の方向となるようスイッチング回路２４は、ＮＭＯＳトランジスタ２５Ａを駆動信号Ｖｄｒのデューティ比に応じてＰＷＭ駆動する。この際に、駆動信号Ｖｄｒのデューティ比は増加するため、電圧Ｖｇ２がＨレベルとなる期間は徐々に長くなる。したがって、端子３４から端子３３の方向に流れる駆動電流Ｉｄｒの電流値も徐々に増加する。そして、信号ＶｓｓｗがＬレベルとなり、ソフトスイッチの期間が終了した後は、駆動信号Ｖｄｒのデューティ比は所定の値となる。この結果、駆動電流Ｉｄｒの電流値は−Ｉｘとなる。以降、モータ駆動ＩＣ１０では、同様の動作が繰り返される。
【００７０】
以上、本実施形態のモータ駆動ＩＣ１０について説明した。カウント値設定回路６４はソフトスイッチの期間のうち、駆動電流Ｉｄｒを減少させる期間には、ＰＷＭ信号Ｖｐｗｍの周期ごとに初期値“０”〜“７”をカウンタ６２に設定している。また、カウント値設定回路６４は、駆動電流Ｉｄｒを増加させる期間では、ＰＷＭ信号Ｖｐｗｍの周期ごとに初期値“７”〜“０”をカウンタ６２に設定している。この結果、ソフトスイッチの期間において、駆動信号Ｖｄｒのデューティ比は減少した後に増加するため、駆動電流Ｉｄｒの電流値は＋Ｉｘから−Ｉｘへと緩やかに変化する。このように、モータ駆動ＩＣ１０では、コンデンサを用いることなく駆動信号Ｖｄｒのデューティ比を変更可能である。
【００７１】
また、例えば、ソフトスイッチ期間にカウンタ６２に設定されるカウント値の全てをメモリ等に記憶させておいても良いが、設定すべきカウント値のデータ量が大きくなると、容量の大きいメモリ等が必要となる。本実施形態では、ソフトスイッチの期間にカウンタ６２に初期に設定するためのカウント値は、カウント値出力回路６５の内部において生成される。このため、例えば、設定すべきカウント値のデータ量が大きくなる場合であっても、チップ面積を小さくできる。
【００７２】
一般にソフトスイッチの期間、すなわち信号ＶｓｓｗがＨレベルとなる期間は、単相モータ１１の回転速度等によって変化する。このため、異なるソフトスイッチの期間に対し、駆動信号Ｖｄｒのデューティ比を同じ様に変化させることは難しい。しかしながら、本実施形態では、信号ＶｓｓｗがＨレベルとなる期間の１／１６の期間ごと発生するパルス信号Ｖｐ３の回数に基づいて駆動信号Ｖｄｒのデューティ比を変化させている。具体的には、アップカウンタ８１にパルス信号Ｖｐ３が８回入力されるまで、駆動信号Ｖｄｒのデューティ比を減少させている。また、アップカウンタ８１にパルス信号Ｖｐ３が９回入力されてから１６回入力されるまで、駆動信号Ｖｄｒのデューティ比を増加させている。このため、信号ＶｓｓｗＨレベルとなる期間によらず、駆動信号Ｖｄｒのデューティ比を同じ様に変化させることが可能となる。
【００７３】
また、本実施形態では、アップカウンタ８１にパルス信号Ｖｐ３が８回、９回入力されると、駆動信号Ｖｄｒのデューティ比をゼロとしている。このため、例えば、駆動信号Ｖｄｒのデューティ比をゼロとしない場合と比較すると、駆動電流Ｉｄｒをより緩やかに変化させることができる。
【００７４】
また、信号ＶｓｓｗがＬレベルの場合、すなわち、ソフトスイッチの期間でない場合、カウンタ６２には、カウント値ＣＮＴ１として“６”が設定される。そして、ＰＷＭ信号ＶｐｗｍがＬレベルに変化するタイミングでカウント値ＣＮＴ１は“７”となるため、駆動信号生成回路２３からの駆動信号ＶｄｒもＬレベルとなる。このように、駆動信号生成回路２３は、デューティ比が変化する駆動信号Ｖｄｒのみならず、ＰＷＭ信号Ｖｐｗｍのデューティ比に一致するようなデューティ比の駆動信号Ｖｄｒも生成可能である。
【００７５】
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【符号の説明】
【００７６】
１０  モータ駆動ＩＣ
１１  単相モータ
１２  ホール素子
２０，５０，５１  コンパレータ
２１  ソフトスイッチ期間生成回路
２２  クロック信号生成回路
２３  駆動信号生成回路
２４  スイッチング回路
２５Ａ，２５Ｂ  ＮＭＯＳトランジスタ
２６Ａ，２６Ｂ  ＰＭＯＳトランジスタ
３０〜３４  端子
５２  ＡＮＤ回路
６０，６１，８０  パルス信号生成回路
６２  カウンタ
６３  駆動信号出力回路
６４  カウント値設定回路
６５  カウント値出力回路
７０，１０１  エッジ検出回路
７１，１０２  遅延回路
７２，８１，１０３  アップカウンタ
７３，１０４  レジスタ
７４，１０５  ダウンカウンタ
７５，１０６  パルス信号出力回路
８２  変換回路
８３  記憶回路
８４  セレクタ
１００  逓倍回路
１２０〜１２２  ＥＯＲ回路
【図１】
0005586312.tif 000002
【図２】
0005586312.tif 000003
【図３】
0005586312.tif 000004
【図４】
0005586312.tif 000005
【図５】
0005586312.tif 000006
【図６】
0005586312.tif 000007
【図７】
0005586312.tif 000008
【図８】
0005586312.tif 000009
【図９】
0005586312.tif 000010
【図１０】
0005586312.tif 000011
【図１１】
0005586312.tif 000012
【図１２】
0005586312.tif 000013
【図１３】
0005586312.tif 000014
【図１４】
0005586312.tif 000015
【図１５】
0005586312.tif 000016
【図１６】
0005586312.tif 000017