(57)【特許請求の範囲】
【請求項１】
第１レベル及び第２レベルの状態を交互に繰り返す２値信号のデューティ比を検出するデューティ比検出回路であって、
クロック信号のパルスの数をカウントし、カウント値をｍ（ｍは２以上の整数）ビットで表すカウントデータを生成する第１のカウンタと、
前記２値信号が前記第１レベル及び前記第２レベルのうちの一方の状態にある間だけ前記クロック信号のパルスの数をカウントする第２のカウンタと、
前記カウントデータのうちの最上位ビットの値が変化した後に前記第１のカウンタ及び前記第２のカウンタ各々のカウント値を取り込み、取り込んだ前記第２のカウンタのカウント値を、取り込んだ前記第１のカウンタのカウント値で除算することにより前記デューティ比を求めるデューティ比算出部と、
前記第１のカウンタのカウント値が、前記第１のカウンタでカウント可能な最大値に到った場合に前記デューティ比算出部が動作不良状態にあることを示すエラー信号を生成して外部に出力するエラー信号生成部と、を有し、
前記第１のカウンタ及び前記第２のカウンタは、前記デューティ比算出部が前記第１のカウンタ及び前記第２のカウンタ各々のカウント値を取り込んだ直後に、自身のカウント値を初期値にリセットすることを特徴とするデューティ比検出回路。
【請求項２】
前記第１のカウンタ及び前記第２のカウンタは前記２値信号の立ち上がりエッジ及び立ち下がりエッジのうちの一方のエッジのタイミングでカウント動作を開始し、
前記デューティ比算出部は、前記カウントデータのうちの最上位ビットの値が変化した後に最初に表れる前記一方のエッジのタイミングで前記第１のカウンタ及び前記第２のカウンタ各々のカウント値を取り込むことを特徴とする請求項１に記載のデューティ比検出回路。
【請求項３】
前記ｍは、前記デューティ比の検出に要求される精度をＥとした場合、
ｍ ≧ １−ｌｏｇ2（Ｅ）
に設定されることを特徴とする請求項１又は２に記載のデューティ比検出回路。
【請求項４】
第１レベル及び第２レベルの状態を交互に繰り返す２値信号のデューティ比を検出するデューティ比検出方法であって、
クロック信号のパルスの数をカウントして得た第１のカウント値をｍ（ｍは２以上の整数）ビットで表すカウントデータを生成し、
前記２値信号が前記第１レベル及び前記第２レベルのうちの一方の状態にある間だけ前記クロック信号のパルスの数をカウントして第２のカウント値を得て、
前記カウントデータのうちの最上位ビットの値が変化した後に得られた前記第２のカウント値及び前記第１のカウント値を取り込み、前記取り込んだ前記第２のカウント値を、前記取り込んだ前記第１のカウント値で除算することにより前記デューティ比を求め、
前記第１及び前記第２のカウント値を取り込んだ直後に、前記第１及び第２のカウント値を初期値にリセットしてから引き続き、前記クロック信号のパルス数のカウントを行って前記第１のカウント値を得ると共に前記２値信号が前記第１レベル及び前記第２レベルのうちの一方の状態にある間だけ前記クロック信号のパルス数のカウントを行って前記第２のカウント値を得て、
前記第１のカウント値が前記ｍビットで表される最大値に到った場合に前記デューティ比の算出動作が不良状態にあることを示すエラー信号を外部に出力することを特徴とするデューティ比検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パルス信号のデューティ比を検出するデューティ比検出回路及びデューティ比の検出方法に関する。
【背景技術】
【０００２】
ブラシレス直流モータの回転速度を制御する方法として、ＰＷＭ（Pulse Width Modulation）方式が知られている。ＰＷＭ方式を採用した場合には、モータの回転速度を指定する情報として、指定する回転速度をハイレベル及びローレベルの状態を周期的に交互に繰り返す２値信号のデューティ比で表すＰＷＭ信号を用いることがある。当該ＰＷＭ信号を受けるモータ駆動装置は、ＰＷＭ信号のデューティ比を検出し、当該デューティ比に対応した駆動電圧によってモータを駆動する。
【０００３】
尚、このようなＰＷＭ信号のデューティ比を検出する為に、ＰＷＭ信号の１つの周期毎に、ハイレベル維持期間内でのクロックパルスの数と、ローレベル維持期間内でのクロックパルスの数を、カウンタで測定するようにしたデューティ比検出回路が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−９３９３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＰＷＭ信号の周波数は、当該ＰＷＭ信号の供給元によって異なる。よって、例えば上記したデューティ比検出回路が受けるＰＷＭ信号の周波数が低い場合には、高い場合に比べてＰＷＭ信号の１周期が長くなる。よって、カウンタがＰＷＭ信号の１周期分のカウントを行っている最中にそのカウント値が、自身でカウント可能な最大値を超えて、初期値に戻ってしまうという、いわゆるオーバーフローが生じる虞がある。このようなオーバーフローが生じると、そのカウント値はＰＷＭ信号の１周期分を表すものとはならないので、誤ったデューティ比が検出されてしまうという問題が生じる。
【０００６】
そこで、このようなカウンタのオーバーフローを防止する為に、カウンタに供給するクロック信号の周波数を低くすることが考えられる。
【０００７】
しかしながら、カウンタに供給するクロック信号の周波数を低くすると、デューティ比検出回路が受けるＰＷＭ信号の周波数が上述の場合とは反対に、高い場合に上記したハイレベルの維持期間又はローレベルの維持期間に対応したカウント値が小さくなるため、デューティ比の検出精度が低下するという問題が生じる。
【０００８】
そこで、本発明は、ＰＷＭ信号のような２値信号の周波数に拘わらず、当該２値信号のデューティ比を高精度に検出することが可能なデューティ比検出回路及びデューティ比の検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るデューティ比検出回路は、第１レベル及び第２レベルの状態を交互に繰り返す２値信号のデューティ比を検出するデューティ比検出回路であって、クロック信号のパルスの数をカウントし、カウント値をｍ（ｍは２以上の整数）ビットで表すカウントデータを生成する第１のカウンタと、前記２値信号が前記第１レベル及び前記第２レベルのうちの一方の状態にある間だけ前記クロック信号のパルスの数をカウントする第２のカウンタと、前記カウントデータのうちの最上位ビットの値が変化した後に前記第１のカウンタ及び前記第２のカウンタ各々のカウント値を取り込み、取り込んだ前記第２のカウンタのカウント値を、取り込んだ前記第１のカウンタのカウント値で除算することにより前記デューティ比を求めるデューティ比算出部と、前記第１のカウンタのカウント値が、前記第１のカウンタでカウント可能な最大値に到った場合に前記デューティ比算出部が動作不良状態にあることを示すエラー信号を生成して外部に出力するエラー信号生成部と、を有し、前記第１のカウンタ及び前記第２のカウンタは、前記デューティ比算出部が前記第１のカウンタ及び前記第２のカウンタ各々のカウント値を取り込んだ直後に、自身のカウント値を初期値にリセットする。
【００１０】
本発明に係るデューティ比の検出方法は、第１レベル及び第２レベルの状態を交互に繰り返す２値信号のデューティ比を検出するデューティ比検出方法であって、クロック信号のパルスの数をカウントして得た第１のカウント値をｍ（ｍは２以上の整数）ビットで表すカウントデータを生成し、前記２値信号が前記第１レベル及び前記第２レベルのうちの一方の状態にある間だけ前記クロック信号のパルスの数をカウントして第２のカウント値を得て、前記カウントデータのうちの最上位ビットの値が変化した後に得られた前記第２のカウント値及び前記第１のカウント値を取り込み、前記取り込んだ前記第２のカウント値を、前記取り込んだ前記第１のカウント値で除算することにより前記デューティ比を求め、前記第１及び前記第２のカウント値を取り込んだ直後に、前記第１及び第２のカウント値を初期値にリセットしてから引き続き、前記クロック信号のパルス数のカウントを行って前記第１のカウント値を得ると共に前記２値信号が前記第１レベル及び前記第２レベルのうちの一方の状態にある間だけ前記クロック信号のパルス数のカウントを行って前記第２のカウント値を得て、前記第１のカウント値が前記ｍビットで表される最大値に到った場合に前記デューティ比の算出動作が不良状態にあることを示すエラー信号を外部に出力する。
【発明の効果】
【００１１】
本発明では、２値信号のデューティ比を検出するにあたり、クロック信号のパルス数をカウントして第１のカウント値を得ると共に、２値信号が第１及び第２レベルのうちの一方の状態にある間だけクロック信号のパルス数をカウントして第２のカウント値を得る。ここで、第１のカウント値をｍビットで表すカウントデータのうちの最上位ビットの値が変化した後に得られた第１及び第２のカウント値にて、当該第２のカウント値を第１のカウント値で除算することによりデューティ比を求める。これにより、２値信号の周波数の高低に拘わらず、第１のカウント値は最低でも２(m-1)以上の値となる。
【００１２】
よって、本発明によれば、２値信号の周波数に拘わらず、この２値信号のデューティ比を精度良く検出することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】モータシステム１００の構成を示すブロック図である。
【図２】デューティ比検出回路２０の内部動作を示すタイムチャートである。
【図３】デューティ比検出回路２０の内部構成を示す回路図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００１５】
図１は、モータシステム１００の構成を示すブロック図である。モータシステム１００は、制御部１０、クロック信号生成部１５、デューティ比検出回路２０、モータドライバ４０、及びモータ５０を有する。
【００１６】
制御部１０は、モータ５０の回転速度を指定する回転速度情報ＩＮＦを受ける。制御部１０は、当該回転速度情報ＩＮＦにて指定された回転速度（以下、指定回転速度と称する）に基づくパルス幅変調を、論理レベル１及び論理レベル０の状態を周期的に交互に繰り返す２値信号に施す。これにより、制御部１０は、図２に示すように、各周期ＴＣ内において指定回転速度に対応した期間Ｔｈの間だけ論理レベル１の状態を維持するパルス幅変調信号ＰＷＭを生成し、これをデューティ比検出回路２０に供給する。
【００１７】
クロック信号生成部１５は、パルス幅変調信号ＰＷＭよりも高い周波数を有するクロック信号ＣＬＫを生成し、これをデューティ比検出回路２０に供給する。
【００１８】
デューティ比検出回路２０は、クロック信号ＣＬＫに基づき、パルス幅変調信号ＰＷＭにおける周期ＴＣに対する期間Ｔｈの比率、つまりデューティ比を求め、当該デューティ比を表すデューティ比信号ＤＵＲをモータドライバ４０に供給する。
【００１９】
モータドライバ４０は、デューティ比信号ＤＵＲによって表されるデューティ比に対応した電圧値（又は電流）を有する駆動電圧（又は駆動電流）をモータ５０に供給する。モータ５０は、例えばブラシレス直流モータであり、この駆動電圧又は駆動電流に対応した回転速度で自身の出力シャフトを回転する。
【００２０】
図３は、デューティ比検出回路２０の一例を示す回路図である。図３に示すように、デューティ比検出回路２０は、ＤフリップフロップＤＦ１及びＤＦ２、アンドゲートＡＮ１〜ＡＮ３、ＲＳフリップフロップＲＳ１、カウンタＣＴ１及びＣＴ２、データラッチＬＴ１及びＬＴ２、エラー信号生成部ＥＲＧ、及びデューティ比算出部ＤＹＣを有する。
【００２１】
図３において、ＤフリップフロップＤＦ１は、クロック信号ＣＬＫの立ち上がりエッジのタイミングでパルス幅変調信号ＰＷＭを取り込み、その論理レベルを反転させた反転パルス幅変調信号をアンドゲートＡＮ１に供給する。アンドゲートＡＮ１は、パルス幅変調信号ＰＷＭ及び反転パルス幅変調信号が共に論理レベル１を表す場合には論理レベル１、パルス幅変調信号ＰＷＭ及び反転パルス幅変調信号のうちの一方又は双方が論理レベル０を表す場合には論理レベル０を有する立上エッジ検出信号ＥＤを生成する。
【００２２】
すなわち、ＤフリップフロップＤＦ１及びアンドゲートＡＮ１を含むエッジ検出部ＥＤＪは、図２に示すように、パルス幅変調信号ＰＷＭから、その信号レベルが論理レベル０から論理レベル１に遷移する立ち上がりエッジ部を検出する。そして、エッジ検出部ＥＤＪは、検出した立ち上がりエッジ部を論理レベル１のパルスで表す立上エッジ検出信号ＥＤを生成し、これをアンドゲートＡＮ２及びＲＳフリップフロップＲＳ１のセット端子Ｓに供給する。
【００２３】
ＲＳフリップフロップＲＳ１のリセット端子Ｒには接地電位が印加されている。ＲＳフリップフロップＲＳ１は、電源投入時はリセット状態に設定され、論理レベル０を有する第１のカウンタイネーブル信号ＥＮ１を生成する。また、ＲＳフリップフロップＲＳ１は、電源投入後、最初に供給された論理レベル１の立上エッジ検出信号ＥＤに応じてセット状態に遷移し、このカウンタイネーブル信号ＥＮ１を論理レベル０の状態から論理レベル１の状態に切り替える。ＲＳフリップフロップＲＳ１は、かかるカウンタイネーブル信号ＥＮ１をアンドゲートＡＮ３及びカウンタＣＴ１のイネーブル端子ＥＮに供給する。
【００２４】
アンドゲートＡＮ３は、カウンタイネーブル信号ＥＮ１及びパルス幅変調信号ＰＷＭが共に論理レベル１を表す場合に論理レベル１、これらＥＮ１及びＰＷＭのうちの一方又は双方が論理レベル０を表す場合には論理レベル０を有する第２のカウンタイネーブル信号ＥＮ２を生成する。アンドゲートＡＮ３は、このカウンタイネーブル信号ＥＮ２をカウンタＣＴ２のイネーブル端子ＥＮに供給する。
【００２５】
カウンタＣＴ１は、２m（ｍは２以上の整数）進カウンタであり、カウンタイネーブル信号ＥＮ１が論理レベル１の状態にある間だけ、クロック信号ＣＬＫのパルスの数をカウントする。カウンタＣＴ１は、そのカウント動作によって得たカウント値をｍビットで表すカウントデータビットＡ１〜Ａｍを生成し、データラッチＬＴ１に供給する。尚、カウントデータビットＡ１〜Ａｍのうちの「Ａ１」が最下位ビットであり、「Ａｍ」が最上位ビットである。
【００２６】
また、カウンタＣＴ１は、カウントデータビットＡ１〜Ａｍのうちの最上位ビットであるカウントデータビットＡｍをアンドゲートＡＮ２に供給する。尚、以降、カウントデータビットＡｍを最上位ビット（Ａｍ）とも称する。
【００２７】
更に、カウンタＣＴ１は、そのカウント値がカウント可能な最大値に到った場合、つまり、（２m−１）になった場合には、キャリーアウト信号をエラー信号生成部ＥＲＧに供給する。エラー信号生成部ＥＲＧは、カウンタＣＴ１からキャリーアウト信号が供給された場合には、デューティ比検出回路２０が動作不良の状態にあることを表すエラー信号ＥＲを生成してこれを外部に出力する。
【００２８】
カウンタＣＴ２は、２m進カウンタであり、カウンタイネーブル信号ＥＮ２が論理レベル１の状態にある間だけ、クロック信号ＣＬＫのパルスの数をカウントする。カウンタＣＴ２は、そのカウント動作によって得たカウント値をｍビットで表すカウントデータビットＢ１〜Ｂｍを生成し、データラッチＬＴ２に供給する。
【００２９】
尚、カウンタＣＴ１及びＣＴ２の各々は、自身のリセット端子Ｒに論理レベル１のカウンタリセット信号ＲＳＴが供給された場合には、カウント値をゼロに初期化する。
【００３０】
アンドゲートＡＮ２は、カウンタＣＴ１の最上位ビット（Ａｍ）、及び立上エッジ検出信号ＥＤのうちの一方又は双方が論理レベル０である場合には、論理レベル０のデータロード信号ＬＯＤを生成する。また、アンドゲートＡＮ２は、かかる最上位ビット（Ａｍ）及び立上エッジ検出信号ＥＤが共に論理レベル１である場合には、論理レベル１のデータロード信号ＬＯＤを生成する。アンドゲートＡＮ２は、かかるデータロード信号ＬＯＤを、ＤフリップフロップＤＦ２と、データラッチＬＴ１及びＬＴ２各々のイネーブル端子ＥＮとに供給する。
【００３１】
ＤフリップフロップＤＦ２は、クロック信号ＣＬＫの立ち上がりエッジのタイミングでデータロード信号ＬＯＤを取り込み、取り込んだ信号をカウンタリセット信号ＲＳＴとして、カウンタＣＴ１及びＣＴ２各々のリセット端子Ｒに供給する。
【００３２】
データラッチＬＴ１は、論理レベル１のデータロード信号ＬＯＤに応じて、クロック信号ＣＬＫのタイミングでカウントデータビットＡ１〜Ａｍによって表されるカウント値を取り込む。そして、データラッチＬＴ１は、取り込んだカウント値を表すカウントデータＤＡをデューティ比算出部ＤＹＣに供給する。
【００３３】
データラッチＬＴ２は、論理レベル１のデータロード信号ＬＯＤに応じて、クロック信号ＣＬＫのタイミングでカウントデータビットＢ１〜Ｂｍによって表されるカウント値を取り込む。そして、データラッチＬＴ２は、取り込んだカウント値を表すカウントデータＤＢをデューティ比算出部ＤＹＣに供給する。
【００３４】
デューティ比算出部ＤＹＣは、以下のように、カウントデータＤＢによって表されるカウント値を、カウントデータＤＡによって表されるカウント値で除算し、その除算結果を、パルス幅変調信号ＰＷＭのデューティ比を表すデューティ比信号ＤＵＲとして出力する。
【００３５】
ＤＵＲ＝ＤＢ／ＤＡ
以下に、図３に示す構成からなるデューティ比検出回路２０の動作について、当該デューティ比検出回路２０の内部動作を表す図２のタイムチャートを参照しつつ説明する。
【００３６】
先ず、電源投入時は、カウンタＣＴ１及びＣＴ２のカウント値はゼロ、つまりカウントデータビットＡ１〜Ａｍ及びＢ１〜Ｂｍの全ビットが論理レベル０の状態にある。そして、電源投入後、最初に表れたパルス幅変調信号ＰＷＭの立ち上がりエッジのタイミング（時点ｔ０）で、カウンタＣＴ１及びＣＴ２が、初期値（ゼロ）からカウント動作を開始する。
【００３７】
カウンタＣＴ１は、そのカウント値を表すカウントデータビットＡ１〜ＡｍをデータラッチＬＴ１に供給する。
【００３８】
カウンタＣＴ２は、パルス幅変調信号ＰＷＭが論理レベル１の状態にある間だけ、クロック信号ＣＬＫのパルスの数をカウントし、そのカウント値を表すカウントデータビットＢ１〜ＢｍをデータラッチＬＴ２に供給する。カウンタＣＴ２は、パルス幅変調信号ＰＷＭが論理レベル０の状態にある間は、カウント動作を停止し、この停止直前のカウント値を表すカウントデータビットＢ１〜ＢｍをデータラッチＬＴ２に供給する。そして、カウンタＣＴ２は、パルス幅変調信号ＰＷＭが論理レベル０の状態から論理レベル１の状態に遷移した場合には、上記した停止直前のカウント値から、クロック信号ＣＬＫのパルス数のカウント動作を再開する。
【００３９】
ここで、カウンタＣＴ１のカウント値が２(m-1)未満である場合、つまり最上位ビット（Ａｍ）が論理レベル０の状態にある間は、アンドゲートＡＮ２は論理レベル０のデータロード信号ＬＯＤを生成する。よって、この間、データラッチＬＴ１及びＬＴ２はカウントデータビットＡ１〜Ａｍ及びＢ１〜Ｂｍの取り込みは行わない。
【００４０】
その後、例えば図２の時点ｔ１にて、カウンタＣＴ１のカウント値が２(m-1)に到ると、それに伴い最上位ビット（Ａｍ）が論理レベル０から論理レベル１に遷移する。そして、時点ｔ１以降、最初にエッジ検出部ＥＤＪにて検出されたパルス幅変調信号ＰＷＭの立ち上がりエッジタイミング、つまり図２の時点ｔ２で、アンドゲートＡＮ２が論理レベル１のデータロード信号ＬＯＤをデータラッチＬＴ１及びＬＴ２に供給する。
【００４１】
データラッチＬＴ１は、かかる論理レベル１のデータロード信号ＬＯＤに応じて、図２に示す時点ｔ２でのカウンタＣＴ１のカウント値（Ａ１〜Ａｍ）を取り込む。そして、データラッチＬＴ１は、その取り込んだカウント値を表すカウントデータＤＡをデューティ比算出部ＤＹＣに供給する。
【００４２】
データラッチＬＴ２は、上記した論理レベル１のデータロード信号ＬＯＤに応じて、図２に示す時点ｔ２でのカウンタＣＴ２のカウント値（Ｂ１〜Ｂｍ）を取り込む。そして、データラッチＬＴ２は、その取り込んだカウント値を表すカウントデータＤＢをデューティ比算出部ＤＹＣに供給する。
【００４３】
ここで、カウントデータＤＡにて表されるカウント値とは、カウンタＣＴ１が、図２に示す時点ｔ０から時点ｔ２までの期間（以下、デューティ比測定期間ＵＣと称する）内でカウントしたクロック信号ＣＬＫのパルスの総数である。つまり、カウント値（ＤＡ）は、カウンタＣＴ１がパルス幅変調信号ＰＷＭの立ち上がりエッジのタイミング（ｔ０）で初期値（ゼロ）からカウントを開始してから、最上位ビット（Ａｍ）が論理レベル１に遷移した後に最初に表れるパルス幅変調信号ＰＷＭの立ち上がりエッジのタイミング（ｔ２）までの期間長を表す。
【００４４】
これにより、デューティ比検出回路２０が受けたパルス幅変調信号ＰＷＭの周波数が高いほどデューティ比測定期間ＵＣ内に含まれる周期ＴＣの数が多くなる。つまり、パルス幅変調信号ＰＷＭの周波数が低いほどデューティ比測定期間ＵＣ内に含まれる周期ＴＣの数は少なくなる。しかしながら、このパルス幅変調信号ＰＷＭの周波数に拘わらず、デューティ比測定期間ＵＣ内に含まれるクロック信号ＣＬＫのパルス数は２(m-1)以上の値となる。
【００４５】
また、カウントデータＤＢにて表されるカウント値とは、カウンタＣＴ２が図２に示すデューティ比測定期間ＵＣ内において、パルス幅変調信号ＰＷＭが論理レベル１の状態となる、少なくとも１つの期間Ｔｈ内でカウントしたクロック信号ＣＬＫのパルスの累積数を表す。すなわち、カウント値（ＤＢ）は、図２に示すデューティ比測定期間ＵＣ内においてパルス幅変調信号ＰＷＭが論理レベル１の状態となる延べ期間を表す。
【００４６】
デューティ比算出部ＤＹＣは、デューティ比測定期間ＵＣ内でパルス幅変調信号ＰＷＭが論理レベル１の状態となる延べ期間を表すカウント値（ＤＢ）を、デューティ比測定期間ＵＣの長さを表すカウント値（ＤＡ）で除算することで、パルス幅変調信号ＰＷＭのデューティ比（ＤＵＲ）を求める。
【００４７】
以上のように、デューティ比検出回路２０では、カウンタＣＴ１のカウント値を表すカウントデータビットＡ１〜Ａｍのうちの最上位ビット（Ａｍ）の値が変化した後に得られたカウンタＣＴ１及びＣＴ２各々のカウント値（ＤＡ、ＤＢ）を用いてデューティ比を算出する。具体的には、最上位ビット（Ａｍ）が論理レベル０から１に変化（ｔ１）した後に最初に表れるパルス幅変調信号ＰＷＭの立ち上がりエッジのタイミング（ｔ２）で取り込んだカウンタＣＴ１及びＣＴ２各々のカウント値（ＤＡ、ＤＢ）を用いてデューティ比を算出する。
【００４８】
これにより、パルス幅変調信号ＰＷＭの周波数の高低に拘わらず、デューティ比の算出に用いられるカウント値（ＤＡ）は２(m-1)以上の値となる。よって、パルス幅変調信号ＰＷＭの周波数が低い場合でも、高い場合と同様な精度でデューティ比を算出することが可能となる。
【００４９】
尚、上記実施例では、カウンタＣＴ１及びＣＴ２は２m進カウンタであるが、当該「ｍ」は、システムで要求されるデューティ比の精度によって決定するのが望ましい。
【００５０】
すなわち、システムで要求されるデューティ比の精度をＥとすると、
Ｅ ≧（１／２）(m-1)
つまり、
ｍ ≧ １−ｌｏｇ2（Ｅ）
となるように「ｍ」を決定する。
【００５１】
例えば、許容誤差Ｅ＝０.００１（０．１％）であれば、「ｍ」は「１１」、つまり、カウンタＣＴ１及びＣＴ２として、１１ビットのカウンタを用いれば良い。
【００５２】
この際、クロック信号ＣＬＫの周波数は、仕様で規定されている最低周波数を有するパルス幅変調信号ＰＷＭを受けた場合に、カウンタＣＴ１が少なくともパルス幅変調信号ＰＷＭの１周期ＴＣ分のカウントを行ってもオーバーフローしない程度の周波数とする。すなわち、クロック信号ＣＬＫの周波数は、カウンタＣＴ１がパルス幅変調信号ＰＷＭの１周期ＴＣ分のカウントを行った際のカウント値が、カウンタＣＴ１でカウント可能な最大値、つまり（２m−１）より小さくなるように設定されている。
【００５３】
ところで、カウンタＣＴ１の最上位ビット（Ａｍ）が論理レベル０から論理レベル１に遷移した後に、ノイズ等の影響により、エッジ検出部ＥＤＪがパルス幅変調信号ＰＷＭの立ち上がりエッジを検出不可となると、カウンタＣＴ１がオーバーフローする虞がある。
【００５４】
そこで、デューティ比検出回路２０では、カウントデータビットＡ１〜Ａｍで表されるカウント値が上記した最大値（２m−１）に到った場合には、エラー信号生成部ＥＲＧがエラー信号ＥＲを生成して出力することにより、不具合の発生を外部に通知する。
【００５５】
尚、デューティ比検出回路２０では、エッジ検出部ＥＤＪにてパルス幅変調信号ＰＷＭの立ち上がりエッジを検出し、この立ち上がりエッジのタイミングでカウンタＣＴ１及びＣＴ２の動作を制御している。しかしながら、エッジ検出部ＥＤＪによってパルス幅変調信号ＰＷＭの立ち下がりエッジを検出し、この立ち下がりエッジのタイミングでカウンタＣＴ１及びＣＴ２に対する制御、つまりカウント動作の開始及びカウント値のリセットを行うようにしても良い。
【００５６】
また、カウンタＣＴ２は、パルス幅変調信号ＰＷＭが論理レベル１の状態にある期間中にだけクロック信号ＣＬＫのパルスの数をカウントしているが、当該パルス幅変調信号ＰＷＭが論理レベル０の状態にある期間中だけでクロック信号ＣＬＫのパルスの数をカウントしても良い。
【００５７】
また、上記実施例では、モータシステム１００のモータ５０の回転速度制御用にデューティ比検出回路２０を用いているが、他の用途で用いるようにしても良い。また、デューティ比検出回路２０では、パルス幅変調信号ＰＷＭをデューティ比の検出対象としているが、パルス幅変調信号に限らず、第１のレベル及び第２のレベルの状態を周期的に交互に繰り返す２値信号をデューティ比の検出対象としても良い。
【００５８】
要するに、デューティ比検出回路２０としては、第１レベル及び第２レベルの状態を交互に繰り返す２値信号のデューティ比を検出対象とした、以下の第１及び第２のカウンタ、及びデューティ比算出部を含むものであれば良い。
【００５９】
すなわち、第１のカウンタ（ＣＴ１）は、クロック信号（ＣＬＫ）のパルスの数をカウントし、そのカウント値をｍ（ｍは２以上の整数）ビットで表すカウントデータ（Ａ１〜Ａｍ）を生成する。第２のカウンタ（ＣＴ２）は、２値信号（ＰＷＭ）が第１レベル及び第２レベルのうちの一方の状態にある間だけクロック信号のパルスの数をカウントする。デューティ比算出部（ＬＴ１、ＬＴ２、ＤＹＣ）は、カウントデータ（Ａ１〜Ａｍ）のうちの最上位ビット（Ａｍ）の値が変化した後に第１のカウンタ及び第２のカウンタ各々のカウント値（ＤＡＹ、ＤＢ）を取り込み、取り込んだ第２のカウンタのカウント値（ＤＢ）を、取り込んだ第１のカウンタのカウント値（ＤＡ）で除算することによりデューティ比（ＤＵＲ）を求める。
【符号の説明】
【００６０】
２０              デューティ比検出回路
ＣＴ１、ＣＴ２    カウンタ
ＤＹＣ            デューティ比算出部
ＥＤＪ            エッジ検出部
ＥＲＧ            エラー信号生成部
ＬＴ１、ＬＴ２    データラッチ
【図１】
0006987547.tif 000002
【図２】
0006987547.tif 000003
【図３】
0006987547.tif 000004