(57)【要約】【課題】本発明は、周期が変化する入力パルス列を分周し、分周したパルス列のジッタをできるだけ抑制することにある。【解決手段】分周装置１は、第１変数および第２変数が互いに異なる正の整数をとり、第１変数に対する第２変数の比で表わされる分周比で入力パルスを分周可能な分周装置であって、入力パルスの周期にわたって、一定の周波数を持つ基準クロックをカウントするカウンタ回路（１２）と、カウンタ回路によって得られた第１カウント値を第１変数が示す値に分割する演算を行うと共に、基準クロックのカウントを開始し、当該カウントによる第２カウント値が第１カウント値を分割した値に達する度に、一のパルスを出力する演算出力回路（１３、１４）と、演算出力回路の出力パルス列を第２変数が示す値で分周したパルスを出力する分周回路（１５）と、を有する。【選択図】図１
2011151672.tif 000002
【特許請求の範囲】
【請求項１】
第１変数および第２変数が互いに異なる正の整数をとり、前記第１変数に対する前記第２変数の比で表わされる分周比で入力パルスを分周可能な分周装置であって、
前記入力パルスの周期にわたって、一定の周波数を持つ基準クロックをカウントするカウンタ回路と、
前記カウンタ回路によって得られた第１カウント値を前記第１変数が示す値に分割する演算を行うと共に、前記基準クロックのカウントを開始し、当該カウントによる第２カウント値が前記第１カウント値を分割した値に達する度に、一のパルスを出力する演算出力回路と、
前記演算出力回路の出力パルス列を前記第２変数が示す値で分周したパルスを出力する分周回路と、
を有する分周装置。
【請求項２】
前記演算出力回路は、
前記第１カウント値を前記第１変数が示す値で除算し、前記第２カウント値が除算結果の整数部分が示す値に達したとき、一のパルスを出力し、
前記パルスの出力後、前記除算結果の整数部分が示す値を前記第１カウント値から減算し、減算結果を、前記カウント値を前記第１変数で分割すべき残りの数で均等またはできるだけ均等に分割し、前記第２カウント値が前記減算結果を均等またはできるだけ均等に分割した値に達する度に、一のパルスを出力する
請求項１記載の分周装置。
【請求項３】
前記入力パルスの周波数よりも高い周波数を持つクロックを前記基準クロックとして発生させるクロック発生回路を有する
請求項１または２記載の分周装置。
【請求項４】
前記入力パルスの周期を計測する計測回路を有する
請求項１から３のいずれか一に記載の分周装置。
【請求項５】
前記分周回路は、
前記演算出力回路が出力したパルスをカウントし、当該カウントによる第３カウント値が、前記第２変数が示す値に達する度に、一のパルスを出力する
請求項１から４のいずれか一に記載の分周装置。
【請求項６】
第１変数および第２変数が互いに異なる正の整数をとり、前記第１変数に対する前記第２変数の比で表わされる分周比で入力パルスを分周可能な分周装置を有し、前記分周装置の出力を用いる制御回路であって、
前記分周装置は、
前記入力パルスの周期にわたって、一定の周波数を持つ基準クロックをカウントするカウンタ回路と、
前記カウンタ回路によって得られた第１カウント値を前記第１変数が示す値に分割する演算を行うと共に、前記基準クロックのカウントを開始し、当該カウントによる第２カウント値が前記第１カウント値を分割した値に達する度に、一のパルスを出力する演算出力回路と、
前記演算出力回路の出力パルス列を前記第２変数が示す値で分周したパルスを出力する分周回路と、
を有する制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力パルス列を分周する分周装置に関するものである。更に、本発明は、その分周装置を搭載した制御回路に関するものである。
【背景技術】
【０００２】
ハードウェアで構成された、一般的な分周装置は、入力パルスをｎ分周する場合には、たとえば、ｎ進カウンタを使用する（たとえば、特許文献１，２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−６４９９５号公報
【特許文献２】特開２００６−２３００１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１，２が開示する分周装置によれば、入力パルス列の周期が一定の場合には、分周後のパルス列のジッタを抑制することができる。
しかしながら、たとえば、サーボモータのように、その回転数を不規則な周期で制御する場合には、分周すべき入力パルス列の周期も不規則に変化する。
【０００５】
したがって、特許文献１，２が開示する分周装置では、入力パルス列の周期が不規則に変化すると、同期型のカウンタでは、その周期に合せてパルスを出力することが困難となる。
【０００６】
そこで、周期が変化する入力パルス列を分周し、分周したパルス列のジッタをできるだけ抑制することができる分周装置が望まれている。更に、そのような分周装置を搭載した制御回路を用いて、制御対象を精度よく制御することが望まれている。
【０００７】
本発明は、周期が変化する入力パルス列を分周し、分周したパルス列のジッタをできるだけ抑制することができる分周装置を提供することにある。
更に、本発明は、そのような分周装置を搭載した制御回路を用いて、制御対象を精度よく制御することにある。
【課題を解決するための手段】
【０００８】
本発明の分周装置は、第１変数および第２変数が互いに異なる正の整数をとり、前記第１変数に対する前記第２変数の比で表わされる分周比で入力パルスを分周可能な分周装置であって、前記入力パルスの周期にわたって、一定の周波数を持つ基準クロックをカウントするカウンタ回路と、前記カウンタ回路によって得られた第１カウント値を前記第１変数が示す値に分割する演算を行うと共に、前記基準クロックのカウントを開始し、当該カウントによる第２カウント値が前記第１カウント値を分割した値に達する度に、一のパルスを出力する演算出力回路と、前記演算出力回路の出力パルス列を前記第２変数が示す値で分周したパルスを出力する分周回路と、を有する。
【０００９】
本発明の制御回路は、第１変数および第２変数が互いに異なる正の整数をとり、前記第１変数に対する前記第２変数の比で表わされる分周比で入力パルスを分周可能な分周装置を有し、前記分周装置の出力を用いる制御回路であって、前記分周装置は、前記入力パルスの周期にわたって、一定の周波数を持つ基準クロックをカウントするカウンタ回路と、前記カウンタ回路によって得られた第１カウント値を前記第１変数が示す値に分割する演算を行うと共に、前記基準クロックのカウントを開始し、当該カウントによる第２カウント値が前記第１カウント値を分割した値に達する度に、一のパルスを出力する演算出力回路と、前記演算出力回路の出力パルス列を前記第２変数が示す値で分周したパルスを出力する分周回路と、を有する。
【発明の効果】
【００１０】
本発明によれば、周期が変化する入力パルス列を分周し、分周したパルス列のジッタをできるだけ抑制することができる分周装置を提供することができる。
更に、本発明は、そのような分周装置を搭載した制御回路を用いて、制御対象を精度よく制御することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の第１実施形態に係る分周装置の構成例を示すブロック図である。
【図２】図２（Ａ）〜（Ｅ）は、本発明の第１実施形態に係る分周装置の動作の概要を説明するためのタイミングチャートである。
【図３】図３は、本発明の第１実施形態に係る演算回路の動作例を示すフローチャートである。
【図４】図４（Ａ）〜（Ｄ）は、本発明の第１実施形態に係る分周装置１の動作例を示すタイミングチャートである。
【図５】図５（Ａ）〜（Ｄ）は、本発明の第１実施形態に係る分周装置の動作例を示すタイミングチャートである。
【図６】図６は、一般的なソフトウェアで構成された分周装置Ａの構成例を示すブロック図である。
【図７】図７は、図６に図示する分離演算部Ａ８の演算結果を説明するための図である。
【図８】図８は、第２実施形態に係るサーボモータの制御系の構成例を示すブロック図である。
【図９】図９は、本発明の変形例に係る分周装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に関連付けて説明する。
【００１３】
［第１実施形態］
図１は、本発明の第１実施形態に係る分周装置の構成例を示すブロック図である。
図１に図示する分周装置１は、基準クロック発生回路１１、パルス周期計測回路１２、演算回路１３、パルス出力回路１４、分周回路１５、第１指示回路１６、および、第２指示回路１７を有する。
【００１４】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を説明する。
本発明に係るカウンタ回路および計測回路は、パルス周期計測回路１２に対応する。
本発明に係る演算出力回路は、演算回路１３およびパルス出力回路１４に対応する。
本発明に係るクロック発生回路は、基準クロック発生回路１１に対応する。
本発明に係る第１変数は、変数ｎに対応する。本発明に係る第２変数は、変数ｍに対応する。
本発明に係る第１カウント値は、カウント値ＣＮＴに対応する。本発明に係る第２カウント値は、カウント値ＤＣＮＴに対応する。本発明に係る第３カウント値は、分周回路１５のカウント値に対応する。
【００１５】
分周装置１は、入力パルス列ＣＬＫを、分周比Ｒ＝ｍ／ｎで分周する機能を有する。
なお、変数ｍおよび変数ｎは、互いに異なる正の整数である。パルス列を分周比Ｒ＝ｍ／ｎで分周することを、単に「ｍ／ｎ分周」とも言う。パルス列を変数ｍ、ｎで分周することを、単に「ｍ分周、ｎ分周」とも言う。
【００１６】
本実施形態では、分周装置１は、減算器、除算器、カウンタ、フリップフロップ等を用いたハードウェアによって構成され、各構成要素が持つ機能は、たとえば、ＨＤＬ（Hardware Description Language；ハードウェア記述言語）を用いて設計される。
【００１７】
初めに、分周装置１の動作の概要を、図２（Ａ）〜（Ｅ）に関連づけて説明する。
図２（Ａ）〜（Ｅ）は、本発明の第１実施形態に係る分周装置の動作の概要を説明するためのタイミングチャートである。図２（Ａ）〜（Ｅ）は、１周期Ｔの入力パルス（列）ＣＬＫ、基準クロックＢＣＬＫ、（ダウンカウントの）カウント値ＤＣＮＴ、パルス列ＣＬＫ（１／ｎ）、パルス列ＣＬＫ（ｍ／ｎ）を各々示す。
なお、図２（Ａ）に図示する入力パルスＣＬＫは、デューティー比が５０％である。図２（Ｄ）に図示するパルス列ＣＬＫ（１／ｎ）は、入力パルスＣＬＫをｎ分周したものである。図２（Ｅ）に図示するパルス列ＣＬＫ（ｍ／ｎ）は、ｎ分周したパルス列ＣＬＫ（１／ｎ）を更にｍ分周したものである。
実際には、パルス列ＣＬＫ（１／ｎ）およびパルス列ＣＬＫ（ｍ／ｎ）は、時分割で求められるが、説明を明確にするため、各図には、各パルス列が同一の時系列で図示されている。
【００１８】
以下、分周装置１が、１周期分のパルスＣＬＫを分周比Ｒ＝ｍ／ｎ＝１６／３で分周する場合を例に挙げて説明する。一例として、入力パルス列ＣＬＫの周波数Ｆ１がＦ１＝１ＭＨｚであるものとし、分周装置１には、１００μｓ当たり、１００個のパルスＣＬＫが入力されるものと仮定する。
【００１９】
基本的に、パルスＣＬＫをｍ／ｎ分周する場合には、パルスＣＬＫをｎ分周し、これを更にｍ分周すればよい。
しかしながら、たとえば、分周比ＲがＲ＝１６／３≒５．３３…のような循環小数の場合には、分周比ＲがＲ＝３／２＝１．５のような場合に比べて、分周後のパルス列にジッタが発生しやすい。
そこで、分周装置１は、次のように、入力パルスＣＬＫを１６／３分周する。
【００２０】
（１）入力パルスＣＬＫのｎ分周
先ず、分周装置１が、図２（Ａ）に図示する入力パルスＣＬＫを、ｎ＝３分周し、図２（Ｄ）に図示するパルス列ＣＬＫ（１／ｎ）を求める過程を説明する。
【００２１】
分周装置１は、入力パルス列ＣＬＫの周波数Ｆ１よりも高い周波数Ｆ２を持つ基準クロックＢＣＬＫが、入力パルス列ＣＬＫの１周期Ｔにわたって、何個あるかをカウントする。
図２（Ｂ）に図示する基準クロックＢＣＬＫは、分周装置１が発生させているものであり、その周波数Ｆ２は、たとえば、Ｆ２＝８０ＭＨｚであるものと仮定する。分周装置１には、１００μｓ当たり、１００個のパルス列ＣＬＫが入力されるものと仮定しているため、下記の（１）式により、周期Ｔ当たり、８０個（＝ｋ）の基準クロックＢＣＬＫが存在することになる。この場合、基準クロックＢＣＬＫをカウントしたときのカウント値ＣＮＴは、ＣＮＴ＝８０となる。
【００２２】
（数１）
ＣＮＴ＝（１／１ＭＨｚ）／（１／８０ＭＨｚ）
＝（１００μｓ／１００（個））／（１／８０ＭＨｚ）
＝８０（個）                                          …（１）
【００２３】
次に、分周装置１は、基準クロックＢＣＬＫを用いて、入力パルスＣＬＫを３分周する。その際に、分周装置１は、カウント値ＣＮＴ＝８０を分周比Ｒ＝ｎ＝３で除算する。これは、ｋ＝８０個の基準クロックＢＣＬＫを３つに分割することを表わす。
カウント値ＣＮＴ＝８０を分周比Ｒ＝ｎ＝３で除算すると、除算結果は、８０／３＝２６．６…となる。この除算は、たとえば、カウンタを用いて行われるが、これは、小数部分「０．６…」を求めることはできず、整数部分「２６」しか求めることができない。
そのため、ｋ＝８０個の基準クロックＢＣＬＫを単純にｎ＝３つに分割しようとすると、それが２６個×３に分割され、２個の基準クロックＢＣＬＫが余る。その余りを起因として、分周後のパルスにジッタが発生する。
【００２４】
そこで、分周装置１は、その余りを無くすように、ｋ＝８０個の基準クロックＢＣＬＫを、個数ｋ１＝２６、ｋ２＝２７、ｋ３＝２７の３つに分割する。
詳細には、分周装置１は、カウント値ＣＮＴ＝８０を分周比Ｒ＝ｎ＝３で除算し、除算結果の２６．６…を得る。そして、分周装置１は、カウント値ＣＮＴ＝８０から除算結果の整数部分の値「２６」を減算し、８０−２６＝５４を得る。この減算結果は、残りの基準クロックＢＣＬＫの個数を示している。
【００２５】
次に、分周装置１は、先の減算結果を、残りの分割すべき数２で除算し、５４／２＝２７を得る。すなわち、５４個の基準クロックＢＣＬＫは、２７個の基準クロックＢＣＬＫ２つに分割される。
【００２６】
ところで、分周装置１は、カウント値ＣＮＴ＝８０を取得すると、図２（Ｃ）に図示するように、その値をカウント開始の初期値として、ダウンカウントする。
先ず、分周装置１は、ダウンカウントの値を示すカウント値ＤＣＮＴが、８０−２６＝５４（＝Ｄ１）に達したとき、図２（Ｄ）に図示するように、周期Ｔ１を持つパルスを出力する。このカウント値ＤＣＮＴ＝５４は、ｋ１＝２６個の基準クロックＢＣＬＫをカウントしたことを意味する。
次に、分周装置１は、カウント値ＤＣＮＴが、ＤＣＮＴ＝５４−２７＝２７（＝Ｄ２）に達したとき、図２（Ｄ）に図示するように、周期Ｔ２を持つパルスを出力する。このカウント値ＤＣＮＴ＝２７は、ｋ２＝２７個の基準クロックＢＣＬＫをカウントしたことを意味する。
最後に、分周装置１は、カウント値ＤＣＮＴが、ＤＣＮＴ＝２７−２７＝０（＝Ｄ３）に達したとき、図２（Ｄ）に図示するように、周期Ｔ３（＝Ｔ２）を持つパルスを出力する。このカウント値ＤＣＮＴ＝０は、ｋ３＝２７個の基準クロックＢＣＬＫをカウントしたことを意味する。
【００２７】
このように、カウント値ＤＣＮＴがＤ１＝５４、Ｄ２＝２７、Ｄ３＝０に達したときに、分周装置１がパルスを出力することで、図２（Ｄ）に図示する、ｎ＝３分周されたパルス列ＣＬＫ（１／ｎ）を生成することができる。
なお、図２（Ｄ）に図示する周期Ｔ１は、入力パルスの周期Ｔ、カウント値ＣＮＴ、基準クロックＢＣＬＫの個数Ｋ１を用いて、Ｔ／ＣＮＴ×Ｋ１＝１００μｓ／８０×２６＝３２５ｎｓと求まる。同様の演算により、周期Ｔ２、Ｔ３は、入力パルスの周期Ｔ、カウント値ＣＮＴ、基準クロックＢＣＬＫの個数Ｋ２，Ｋ３を各々用いて、３３７．５ｎｓと求まる。
【００２８】
（２）パルス列ＣＬＫ（１／ｎ）のｍ分周
パルス列ＣＬＫ（１／ｎ）の生成後、分周装置１は、パルス列ＣＬＫ（１／ｎ）をｍ＝１６分周することで、図２（Ｅ）に図示する、分周比Ｒ＝ｍ／ｎで分周したパルス列ＣＬＫ（ｍ／ｎ）を発生させる。
【００２９】
ところで、分周装置１が、ｋ＝８０個の基準クロックＢＣＬＫを、個数ｋ１＝２６、ｋ２＝２７、ｋ３＝２７に分割したため、生成されたパルス列ＣＬＫ（１／ｎ）のデューティー比は、５０％とは限らない。
図２（Ｄ）に図示するパルス列ＣＬＫ（１／ｎ）において、周期Ｔ１を持つパルスは、デューティー比が５０％であるが、周期Ｔ２、Ｔ３を持つパルスは、デューティー比が５０％ではない。
これは、周期Ｔ１を持つパルスは、Ｋ１＝２６個の基準クロックＢＣＬＫを用いて発生させたため、それを均等、すなわち、１３個の基準クロックＢＣＬＫと、１３個の基準クロックＢＣＬＫとに分けることができるためである。そのため、オン（Ｈレベル）／オフ（Ｌレベル）の期間が互いに等しい。
【００３０】
しかしながら、周期Ｔ２、Ｔ３を持つパルスは、Ｋ２＝ｋ３＝２７個の基準クロックＢＣＬＫを用いて発生させたため、それを均等に分けることができず、オン／オフの期間が互いに異なる。
【００３１】
このように、分周装置１は、デューティー比を調整しながら、入力パルス列ＣＬＫをｎ＝３分周するが、ジッタの発生を極力抑制することができればよいため、周期Ｔ１、Ｔ２、Ｔ３を各々持つパルス列ＣＬＫ（１／ｎ）のデューティー比は、必ずしも５０％でなくてもよい。
たとえば、周期Ｔ２、Ｔ３を持つパルス列ＣＬＫ（１／ｎ）のデューティー比が更に小さくなるように、それらのパルスについて、オンの期間に１２個の基準クロックＢＣＬＫを、オフの期間に１５個の基準クロックＢＣＬＫを割り当てることも可能である。たとえば、ｋ＝８０個の基準クロックＢＣＬＫを、ｋ１＝２５、ｋ２＝２６、ｋ３＝２９個のように、３分割することも可能ではある。
【００３２】
しかしながら、入力パルス列ＣＬＫのデューティー比が５０％であれば、ｋ＝８０個の基準クロックＢＣＬＫを、ｋ１＝２７、ｋ２＝２７、ｋ３＝２６個のように、できるだけ均等に３分割し、周期Ｔ１、Ｔ２、Ｔ３を各々持つパルス列ＣＬＫ（１／ｎ）のデューティー比をできるだけ５０％にすることが望ましい。
【００３３】
分周比ＲがＲ＝１６／３の場合を例に挙げたが、たとえば、分周比ＲがＲ＝３／２の場合には、分周装置１が、入力パルス列ＣＬＫをｎ＝２で分周し、これを更にｍ＝３分周すればよい。入力パルス列ＣＬＫをｎ＝２で分周する場合には、カウント値ＣＮＴ＝８０をｎ＝２で除算すると、除算結果は２である。このように、余りが発生しない場合には、分周装置１は、入力パルス列ＣＬＫを単にｎ＝２分周し、これを更にｍ＝３分周する。
【００３４】
以下、図１および図２を参照しながら、分周装置１の各構成要素について説明する。
【００３５】
基準クロック発生回路１１は、たとえば、水晶発振器やＰＬＬ回路（位相同期回路）によって構成されている。基準クロック発生回路１１は、一定の周波数Ｆ２を持つ基準クロックＢＣＬＫを発生させ、これをパルス周期計測回路１２に出力する。
【００３６】
上述した通り、周波数Ｆ２は、一定であり、入力パルス（列）ＣＬＫの周波数Ｆ１よりも十分に高い周波数である（Ｆ２≫Ｆ１）。それは、周波数Ｆ２が周波数Ｆ１よりも小さいと、入力パルスＣＬＫをｎ＝３分周できないためである。なお、周波数Ｆ２が周波数Ｆ１より高いほど、ジッタの発生が抑制され、分周の精度も上がる。
【００３７】
本実施形態では、入力パルス（列）ＣＬＫの周波数Ｆ１は、不規則に変化するが、周波数Ｆ２≫周波数Ｆ１となる範囲内で、ゆっくりと変化する。
【００３８】
パルス周期計測回路１２は、たとえば、カウンタやフリップフロップによって構成されている。パルス周期計測回路１２は、周波数Ｆ１を持つ入力パルス列ＣＬＫの１周期Ｔを計測する。計測の際に、パルス周期計測回路１２は、図２（Ａ）に図示する、パルスＣＬＫの立ち上がり（エッジ）から次の立ち上がり（エッジ）までの期間を計測する。
その計測と共に、パルス周期計測回路１２は、基準クロックＢＣＬＫが、１周期Ｔに何個あるかをカウントし、このカウント値ＣＮＴを演算回路１３に出力する。
なお、パルス周期計測回路１２の動作を単に「クロック周期計測」とも呼ぶ。入力パルス列ＣＬＫの１周期Ｔを計測する際に、その立ち下がりから次の立ち下がりまでの期間を計測することも可能である。
【００３９】
演算回路１３は、たとえば、カウンタやフリップフロップによって構成されている。演算回路１３は、第１指示回路１６から変数ｎが入力され、カウント値ＣＮＴがパルス周期計測回路１２から入力されると、入力パルス列ＣＬＫをｎ分周するため、次のように動作する。なお、演算回路１３の動作を単に「ＣＮＴ／ｎ演算」とも呼ぶ。
【００４０】
図３は、本発明の第１実施形態に係る演算回路の動作例を示すフローチャートである。
図３に図示するように、演算回路１３は、カウント値ＣＮＴを変数ｎで除算し、除算結果Ｄ１を得る（ＳＴ１）。上記の仮定の下では、除算結果Ｄ１は、Ｄ１＝ＣＮＴ／ｎ＝２６．６…である。更に、演算回路１３は、除算結果Ｄ１の整数部分の値「２６」も取得しておく。
【００４１】
次に、除算結果Ｄ１に余りがある場合（ＳＴ２：ＹＥＳ）、演算回路１３は、前回（ｉ−１）の減算結果Ｓｉ−１から、今回（ｉ）取得した除算結果Ｄｉの整数部分の値を減算し、減算結果Ｓｉを得る（ＳＴ３）。
ここで、変数ｉは、ｉ＝１，２，…，ｎ−２である。上記の仮定の下では、変数ｉの最大値は、ｉ＝１である。記号「ｉｎｔ［Ｄｉ］」は、除算結果Ｄｉの整数部分の値を示す。ただし、初期値としての減算結果Ｓ０は、Ｓ０＝カウント値ＣＮＴ＝８０であるものとする。
たとえば、ｉ＝１の場合、減算結果Ｓ０＝カウント値ＣＮＴであるので、減算結果Ｓ１は、Ｓ１＝ＣＮＴ−ｉｎｔ［Ｄ１］＝８０−２６＝５４となる。減算結果Ｓ１は、ＣＮＴ（＝ｋ）＝８０個の基準クロックＢＣＬＫのうち、残りの基準クロックＢＣＬＫの個数を示している。
【００４２】
そして、演算回路１３は、先に求めた減算結果Ｓｉを、変数ｎから変数ｉを減算した値（ｎ−ｉ）で除算する（ＳＴ４）。
たとえば、変数ｉ＝１の場合、この除算結果Ｄ２は、Ｄ２＝Ｓ１／（ｎ−ｉ）＝５４／（３−１）＝２７となる。
【００４３】
変数ｉがｎ＝１に達していない場合（ＳＴ５：ＮＯ）、演算回路１３は、変数ｉに「１」を加算し（ＳＴ６）、ステップＳＴ３の演算に続いて、ステップＳＴ４の演算を行う。
この場合、演算回路１３は、減算結果Ｓ２＝Ｓ１−ｉｎｔ［Ｄ２］＝５４−ｉｎｔ［２７」＝２７を得た後、除算結果Ｄ２＝Ｓ２／（３−２）＝２７／１＝２７を得る。
【００４４】
ステップＳＴ１の演算を行った後、ステップＳＴ３，４の演算を再帰的に行うことで、除算結果Ｄ１〜Ｄｎを得ることができる。
図２（Ｂ）に図示するように、除算結果Ｄ１の整数部分は個数ｋ１に相当し、除算結果Ｄ２は個数ｋ２に相当し、除算結果Ｄ３は個数ｋ３に相当する。すなわち、ｋ個の基準クロックＢＣＬＫを分周比Ｒ＝ｎで分割したときの、各々の基準クロックＢＣＬＫの個数を得ることができる。
【００４５】
たとえば、分周比Ｒ＝ｍ／ｎ＝１６／７、変数ｎ＝７、カウント値ＣＮＴ＝８０である場合、７つの除算結果Ｄ１〜Ｄ７を得ることができる。この場合、除算結果Ｄ１〜Ｄ７は、各々、Ｄ１＝１１、Ｄ２＝１１、Ｄ３＝１１、Ｄ４＝１１、Ｄ５＝１２、Ｄ６＝１２、Ｄ７＝１２となる。
【００４６】
一方、変数ｉがｎ＝１に達した場合（ＳＴ５：ＹＥＳ）、演算回路１３は、全ての除算結果が得られたので、これらの除算結果Ｄ１〜Ｄｎをまとめてパルス出力回路１４に出力する（ＳＴ７）。このとき、演算回路１３は、パルス周期計測回路１２によって得られたカウント値ＣＮＴもパルス出力回路１４に出力する。
【００４７】
図１に図示するパルス出力回路１４は、たとえば、ダウンカウンタによって構成されている。パルス出力回路１４は、演算回路１３から除算結果Ｄ１〜Ｄｎが入力されると、図２（Ｃ）に図示するように、カウント値ＣＮＴをカウントの初期値として、基準クロックＢＣＬＫのダウンカウントを開始する。パルス出力回路１４が、基準クロックＢＣＬＫをダウンカウントするので、カウントの速度は、たとえば、基準クロック発生回路１１の周波数Ｆ２となる。
なお、パルス出力回路１４の動作を単に「ｎ分周パルス出力」とも呼ぶ。
【００４８】
詳細には、カウント値ＣＮＴ＝８０の場合、パルス出力回路１４は、カウント値ＣＮＴ＝８０をカウントの初期として、基準クロックＢＣＬＫのダウンカウントを開始する。その後、パルス出力回路１４は、ダウンカウントの値を示すカウント値ＤＣＮＴが、ＤＣＮＴ＝ＣＮＴ−Ｄ１＝８０−２６＝５４に達したとき、図２（Ｄ）に図示する、周期Ｔ１を持つ１個のパルスを発生させ、これを分周回路１５に出力する。
【００４９】
パルス出力回路１４は、さらにダウンカウントを継続し、カウント値ＤＣＮＴが、ＤＣＮＴ＝Ｄ１−Ｄ２＝５４−２７＝２７に達したとき、図２（Ｄ）に図示する、周期Ｔ２を持つパルスを発生させ、これを分周回路１５に出力する。続いて、パルス出力回路１４は、カウント値ＤＣＮＴが、ＤＣＮＴ＝Ｄ２−Ｄ３＝２７−２７＝０に達したとき、図２（Ｄ）に図示する、周期Ｔ３を持つパルスを発生させ、これを分周回路１５に出力する。
【００５０】
パルス出力回路１４を用いることで、入力パルス列ＣＬＫをｎ＝３分周したパルス列ＣＬＫ（１／ｎ）を発生（生成）することができる。
なお、パルス出力回路１４にアップカウントを行わせ、そのカウント値ＤＣＮＴがＤ１＝２６、Ｄ１＋Ｄ２＝５３、Ｄ１＋Ｄ２＋Ｄ３＝８０に達したとき、周期Ｔ１、Ｔ２、Ｔ３を各々持つパルスを出力させてもよい。
【００５１】
分周回路１５は、たとえば、カウンタによって構成されている。分周回路１５は、パルス出力回路１４からｎ＝３分周されたパルス列ＣＬＫ（１／ｎ）が入力されると、これをｍ＝１６分周する。そのため、分周回路１５は、パルス列ＣＬＫ（１／ｎ）をカウントし、そのカウント値がｍ＝１６に達したとき、パルスを出力する。パルスの出力後、分周回路１５は、そのカウント値を０にリセットする。
分周回路１５により、図２（Ｅ）に図示する、分周比Ｒ＝ｍ／ｎ分周されたパルス列（ｍ／ｎ）が発生される。なお、分周回路１５の動作を単に「ｍ分周」とも呼ぶ。
【００５２】
第１指示回路１６は、入力パルス列ＣＬＫの周期Ｔごとに、変数ｎを演算回路１３に与える。
第２指示回路１７は、入力パルス列ＣＬＫの周期Ｔごとに、変数ｍを演算回路１３に与える。
【００５３】
以上の構成要素を有する分周装置１の動作を、図４（Ａ）〜（Ｄ）に関連づけて説明する。
図４（Ａ）〜（Ｄ）は、本発明の第１実施形態に係る分周装置１の動作例を示すタイミングチャートである。図４（Ａ）は、入力パルス列ＣＬＫを示す。図４（Ｂ）は、パルス周期計測、ＣＮＴ／ｎ演算、ｎ分周パルス出力、ｍ分周を各々示す。図４（Ｃ）、（Ｄ）は、パルス列ＣＬＫ（１／ｎ）、パルス列ＣＬＫ（ｍ／ｎ）を各々示す。
【００５４】
分周装置１は、図４（Ａ）に図示するパルス列ＣＬＫが入力されると、図４（Ｂ）に図示する、パルス周期計測、ＣＮＴ／ｎ演算、ｎ分周パルス出力を時分割で行って、図４（Ｄ）に図示する、ｎ／ｍ分周したパルス列ＣＬＫ（ｍ／ｎ）を発生させる。
【００５５】
詳細には、パルス列ＣＬＫが入力されると、パルス周期計測回路１２は、時刻ｔ１におけるパルスＣＬＫの立ち上がり（エッジ）から、時刻ｔ３におけるパルスＣＬＫの立ち上がりまでの周期Ｔを計測する。
ところで、基準クロック発生回路１１は、時刻ｔ１あるいはそれ以前から基準クロックＢＣＬＫを発生させている。パルス周期計測回路１２は、周期Ｔの計測と共に、基準クロックＢＣＬＫが、１周期Ｔに何個あるかをカウントし、このカウント値ＣＮＴを演算回路１３に出力する。
実際には、タイムラグが生じるので、パルス周期計測は、時刻ｔ１から僅かに遅延した時刻ｔ２に開始され、時刻ｔ３におけるパルスＣＬＫの立ち上がりから僅かに遅延した時刻ｔ４に終了する。一方、図４（Ｂ）に図示するように、時刻ｔ４において、パルス周期計測が終了すると共に、新たなパルス周期計測が開始される。
【００５６】
次に、演算回路１３は、時刻ｔ４において、第１指示回路１６から変数ｎが入力され、カウント値ＣＮＴがパルス周期計測回路１２から入力されると、ステップＳＴ１〜ＳＴ６に示す演算を行って（図３参照）、除算結果Ｄ１〜Ｄｎを算出し、これらをパルス出力回路１４に出力する。これにより、ｋ個の基準クロックＢＣＬＫを分周比Ｒ＝ｎで分割した、各々のクロックの個数を得ることができる。
ＣＮＴ／ｎ演算においても、タイムラグが生じるので、その演算は、時刻ｔ５におけるパルスＣＬＫの立ち上がりから僅かに遅延した時刻ｔ６に終了する。一方、図４（Ｂ）に図示するように、時刻ｔ６において、ＣＮＴ／ｎ演算が終了すると共に、新たなＣＮＴ／ｎ演算が開始される。
【００５７】
次に、パルス出力回路１４は、演算回路１３から除算結果Ｄ１〜Ｄｎが入力されると、カウント値ＣＮＴをカウントの初期値としてダウンカウントを開始し、カウント値ＤＣＮＴが、ＤＣＮＴ＝ＣＮＴ−Ｄ１、Ｄ１−Ｄ２、Ｄ２−Ｄ３に達したとき、周期Ｔ１、Ｔ２、Ｔ３３を各々持つパルスを発生させ（図２（Ｄ）参照）、これらを分周回路１５に出力する。
ｎ分周パルス出力においても、タイムラグが生じるので、この動作は、時刻ｔ７におけるパルスＣＬＫの立ち上がりから僅かに遅延した時刻ｔ８に終了する。一方、図４（Ｂ）に図示するように、時刻ｔ８において、ｎ分周パルス出力が終了すると共に、新たなｎ分周パルス出力が開始される。
【００５８】
次に、分周回路１５は、図４（Ｂ）に図示するように、パルス出力回路１４からｎ分周されたパルス列ＣＬＫ（１／ｎ）が入力されると、これをｍ＝１６分周し、図４（Ｄ）に図示する、ｍ／ｎ分周したパルス列ＣＬＫ（ｍ／ｎ）を発生させる。
このｍ分周においても、タイムラグが生じるので、ｍ分周は、時刻ｔ９におけるパルス列ＣＬＫの立ち上がりから僅かに遅延した時刻ｔ１０に終了する。一方、図４（Ｂ）に図示するように、時刻ｔ１０において、ｍ分周が終了すると共に、新たなｍ分周が開始される。
以後も、クロック周期計測、ＣＮＴ／ｎ演算、ｎ分周パルス出力、ｍ分周を時分割で行う。
【００５９】
ここで、入力パルス列ＣＬＫの周期（周波数）が不規則に変化する場合の分周装置１の動作を説明する。
図５（Ａ）〜（Ｄ）は、本発明の第１実施形態に係る分周装置の動作例を示すタイミングチャートである。図５（Ａ）〜（Ｄ）は、入力パルス列ＣＬＫ、基準クロックＢＣＬＫ、パルス列ＣＬＫ（１／ｎ）、パルス列ＣＬＫ（ｍ／ｎ）を各々示す。
実際には、各クロックは時分割で演算されるが、説明を明確にするため、各図には、各クロックが同一の時系列で図示されている。
【００６０】
図５（Ａ）に図示するように、入力パルス列ＣＬＫの周期が、Ｔａ、Ｔｂ（＝Ｔａ／２）、Ｔｃ（＝Ｔａ）のように変化する場合を例に挙げる。
一例として、分周比ＲがＲ＝ｍ／ｎ＝１６／３であり、基準クロックＢＣＬＫの周波数Ｆ２が一定のＦ２＝８０ＭＨｚであり、入力パルス列ＣＬＫの周波数Ｆ１が、Ｆａ＝１／Ｔａ＝１ＭＨｚ、Ｆｂ＝１／Ｔｂ＝２／Ｔａ＝２×Ｆａ＝２ＭＨｚ、Ｆｃ（＝Ｆａ）のように変化するものと仮定する。説明を明確にするため、入力パルス列ＣＬＫの周期（周波数）が急峻に変化する場合を例示するが、実用的には、入力パルス列ＣＬＫの周期（周波数）は、ゆっくりと変化することが望ましい。
【００６１】
図５（Ｂ）に図示するように、パルス周期計測回路１２は、周期Ｔａ、Ｔｃにおいては、８０個の基準クロックＢＣＬＫをカウントし、周期Ｔｂにおいては、４０個の基準クロックＢＣＬＫをカウントする。すなわち、周期Ｔａ、Ｔｃにおけるカウント値ＣＮＴ１、ＣＮＴ３は、ＣＮＴ１＝ＣＮＴ３＝８０である。基準クロックＢＣＬＫの周波数Ｆ２が一定であるので、周期Ｔｂにおけるカウント値ＣＮＴ２は、カウント値ＣＮＴ１＝８０の半分、すなわち、ＣＮＴ２＝４０である。
そして、演算回路１３が、周期Ｔａ、Ｔｂにおけるカウント値ＣＮＴ１＝ＣＮＴ３＝８０を、分周比Ｒ＝ｎ＝３で除算し、周期Ｔｂにおけるカウント値ＣＮＴ２＝４０を、分周比Ｒ＝ｎ＝３で除算する。
【００６２】
すると、パルス出力回路１４は、図５（Ｃ）に図示するように、ｎ分周したパルス列ＣＬＫ（１／ｎ）を発生させる。周期Ｔａ、Ｔｃと周期Ｔｂとでは、パルス列ＣＬＫ（１／ｎ）の周期が異なるが、いずれの周期においても、入力パルス列ＣＬＫが３分周されている。その後、分周回路１５は、パルス列ＣＬＫ（１／ｎ）をｍ分周し、図５（Ｄ）に図示するパルス列ＣＬＫ（ｍ／ｎ）を発生させる。
【００６３】
以下、本実施形態に係る分周装置１を、ハードウェアで構成された一般的な分周装置およびソフトウェアで構成された一般的な分周装置と対比させながら、本実施形態に係る分周装置１の利点について述べる。
【００６４】
一般的な分周装置は、一定周波数の基準クロックを発振させているが、それは、たとえば、カウンタを動作させるためのものであり、本実施形態のように、入力パルス列の周波数よりも高い周波数を持つクロックではない。一般的な分周装置は、入力パルス列の周期が不規則に変化すると、その周期に合せた同期信号などをカウンタに与えることができず、入力パルス列を分周することが困難となる。
【００６５】
これに対し、本実施形態では、入力パルス列ＣＬＫの周期が不規則に変化する場合であっても、たとえば、図５（Ｂ）に図示するように、演算回路１３が、異なる周期Ｔａ、Ｔｂごとに、カウント値ＣＮＴ１、ＣＮＴ２を分周比Ｒ＝ｎ＝３で各々分割する。そして、パルス出力回路１４が、カウント値ＣＮＴ１、ＣＮＴ２を分周比Ｒ＝ｎ＝３で分割したときの値に達するごとに、３個のパルスを出力する。そのため、分周装置１をハードウェアで構成しても、ｍ／ｎ分周したパルス列（ｍ／ｎ）にジッタが発生しにくい。
【００６６】
図６は、一般的なソフトウェアで構成された分周装置Ａの構成例を示すブロック図である。たとえば、ソフトウェアを用いて、１ＭＨｚの入力パルス列ＣＬＫを、分周比Ｒ＝ｍ／ｎ＝１６／３で分周する場合には、図６に図示する処理が行われる。
【００６７】
先ず、入力パルス列ＣＬＫは、カウンタＡ１にてカウントされ、入力パルス列ＣＬＫがデジタル値Ｄｉｇに変換される。このデジタル値Ｄｉｇは、サンプルホールド回路Ａ２にて、たとえば、ソフトウェア制御の周期と等しいサンプリング時間ΔＴ＝１００μｓごとに、サンプリングされる。ただし、カウンタＡ１、サンプルホールド回路Ａ２における処理は、ハードウェアを用いて行われる。
【００６８】
加算部Ａ４が、サンプルホールド回路Ａ２によって、ｎ回目にサンプリングされた、デジタル値Ｄｉｇｎと、遅延部Ａ３によって１サンプリング分のサンプリング時間ΔＴだけ遅延された、ｎ−１回目のデジタル値Ｄｉｇｎ−１とを加算すると、分周演算部Ａ５は、ｎ回目の加算結果ＡＤｎ＝Ｄｉｇｎ＋Ｄｉｇｎ−１を分周比Ｒ＝ｍ／ｎで分周する。
【００６９】
たとえば、サンプリング時間ΔＴが１００μｓであり、１００μｓで１００個のパルスが分周演算部Ａ５に入力されたと仮定するとき、分周演算部Ａ５は、１００個のパルス列ＣＬＫを分周比Ｒで分周し、演算結果ＲＡｎ＝１００個／Ｒ＝１００個／（１６／３）＝１８．７５個を得る。この演算結果ＲＡｎは、サンプリング時間ΔＴ当たりの入力パルスＣＬＫの個数を表わす。なお、分周演算部Ａ５の演算結果は、サンプリング時間ΔＴごとに同じであると仮定する。
【００７０】
分離演算部Ａ８は、加算部Ａ６を介して入力された演算結果ＲＡｎの整数部分と小数部分とを得ると、ｎ回目の演算結果ＲＡｎによる小数部分ＤＥＣｎを遅延部Ａ７に出力すると共に、制御信号ＣＴＬをパルス発生部Ａ９に出力する。パルス発生部Ａ９が、制御信号ＣＴＬを受けて、パルスを出力することにより、入力パルス列ＣＬＫを分周比Ｒ＝ｍ／ｎで分周したクロックＣＬＫが生成される。
一方、遅延部Ａ７は、分離演算部Ａ８から入力された小数部分ＤＥＣｎをサンプリング時間ΔＴだけ遅延させると、加算部Ａ６は、小数部分ＤＥＣｎと、ｎ＋１回目の演算結果ＲＡｎ＋１とを加算し、演算結果ＲＡｎ＋１＋ＤＥＣｎを分離演算部Ａ８に出力する。
【００７１】
図７は、図６に図示する分離演算部Ａ８の演算結果を説明するための図である。
図７に図示するように、ｎ回目の演算結果ＲＡｎ＝１８．７５には、「０．７５」の余りが発生する。演算結果ＲＡｎの整数部分が「１８」であり、その小数部分ＤＥＣｎが「０．７５」であるとき、その小数部分は、サンプリング時間ΔＴ後の分周演算部Ａ５によるｎ＋１回目の演算に持ち越される。
すなわち、ｎ＋１回目の演算結果は、ＲＡｎ＋１＝１８．７５＋０．７５＝１９．０５となる。この演算結果にも、「０．０５」の余りが発生するため、その小数部分「０．０５」は、ｎ＋２回目の演算に持ち越される。
同様にして、ｎ＋２回目の演算結果は、ＲＡｎ＋２＝１８．７５＋０．５＝１９．２５となり、ｎ＋３回目の演算結果は、ＲＡｎ＋３＝１８．７５＋０．２５＝１９．０となる。
【００７２】
パルス発生部Ａ９は、分離演算部Ａ８から制御信号ＣＴＬを受ける度に、パルスを出力するが、ハードウェアで構成された一般的な分周装置と同様に、分離演算部Ａ８が、１８個または１９個のパルスごとにしか、制御信号ＣＴＬをパルス発生部Ａ９に出力することができない。
したがって、図７の斜線部分で示すように、ｎ＋１回目、ｎ＋２回目、ｎ＋３回目における分周演算部Ａ５の演算では、１個のパルスが余る。ただし、次のｎ＋４回目の演算では、ｎ＋１回目の演算と同様に、パルスの余りは発生しない。各演算結果の小数部分を得る過程を１サイクルとすると、分周装置Ａがこの過程を４サイクル繰り返せば、余りのパルスを払い出すことができる。
【００７３】
この余りのパルスは、ジッタの発生の要因となる。一般的な分周装置Ａにおける、パルスのエッジ間のジッタは、（２）式で表わされる。
【００７４】
（数２）
（１／１８−１／１９）／（１／１８．７５）×１００＝±５．５％        …（２）
【００７５】
一方、本実施形態に係る分周装置１におけるジッタは、次のように求まる。図２（Ｂ）に図示するように、パルス周期計測回路１２のカウント値がＣＮＴ＝８０の場合、これを変数ｎ＝３で除算すると、ｋ＝８０個の基準クロックＢＣＬＫは、ｋ１＝２６、ｋ２＝２７、ｋ３＝２７の３つに分割される。
したがって、図２（Ｅ）に図示する、分周回路１５が出力したパルス列ＣＬＫ（ｍ／ｎ）の周期の最大値ＭＡＸおよび最小値ＭＩＮは、（３．１）、（３．２）式で表わされる。ただし、記号「ｉｎｔ」は、上述したように、（ｍ／ｎ）の整数部分を表わす記号である。
【００７６】
（数３）
ＭＡＸ＝ＣＮＴ×（１／Ｆ２）×ｉｎｔ（ｍ／ｎ）＋Ｔ２＋Ｔ３
＝８０×（１／８０ＭＨｚ）×５＋３３７．５ｎｓ＋３３７．５ｎｓ
＝５．６７５μｓ                                            …（３．１）
ＭＩＮ＝ＣＮＴ×（１／Ｆ２）×ｉｎｔ（ｍ／ｎ）＋Ｔ１＋Ｔ２（＝Ｔ３）
＝８０×（１／８０ＭＨｚ）×５＋３２５ｎｓ＋３３７．５ｎｓ
＝５．６６２５μｓ                                          …（３．２）
【００７７】
（３．１）、（３．２）式を用いると、パルス列ＣＬＫ（ｍ／ｎ）に発生するジッタは、（４）式で表わされる。
【００７８】
（ＭＡＸ−ＭＩＮ）／｛（ＣＮＴ／ｎ）×ｍ×（１００μｓ／８０）｝
＝（５．６７２５μｓ−５．６６２５μｓ）／｛（８０／３）×１６×（１００μｓ／８０）｝
＝±０．２％                                                      …（４）
【００７９】
（２）式および（４）式により、本実施形態に係る分周装置１で発生するジッタは、ソフトウェア処理を行う一般的な分周装置Ａで発生するジッタの、およそ１／２７であり、非常に小さい。これは、次の２つの理由による。
【００８０】
第１の理由は、本実施形態では、入力パルス列ＣＬＫのサンプリングを行わないためである。第２の理由は、本実施形態では、図５（Ａ）に図示するように、入力パルス列ＣＬＫの周期が不規則に変化しても、余りのパルスが発生しないためである。
このように、本実施形態に係る分周装置１によれば、入力パルス列ＣＬＫの周期が不規則に変化し、これをｍ／ｎ分周しても、ジッタの発生が極めて小さく、極めて精度の高いｍ／ｎ分周したパルス列を生成することができる。
【００８１】
［第２実施形態］
第１実施形態に係る分周装置１は、入力パルス列ＣＬＫの周期が不規則に変化しても、ジッタの発生が極めて小さいため、たとえば、回転数を不規則な周期で変化させるサーボモータの制御に好適である。
そこで、第２実施形態では、分周装置１を搭載し、サーボモータを制御するサーボ制御回路について、図８を参照しながら説明する。
【００８２】
図８は、第２実施形態に係るサーボ制御回路の構成例を示すブロック図である。
図８に図示するサーボ制御回路２は、分周装置１を有する制御回路２１、駆動回路２２および検出回路２３を有する。
なお、サーボ制御回路２は、本発明の制御回路に対応する。
【００８３】
サーボ制御回路２は、たとえば、パルス幅変調方式のサーボモータ２４を制御する。サーボ制御回路２は、フィードバック制御を行って、制御対象の位置、速度、角度などを検出しながら、それらの目標値との偏差（オフセット）を減少させるように、サーボモータ２４の回転数（回転速度）を制御する。
【００８４】
制御回路２１は、検出回路２３から入力されたパルス列ＣＬＫを用いて、駆動回路２２を制御するための制御信号ＣＴＬを発生させ、これを駆動回路２２に出力する。制御信号ＣＴＬには、分周装置１がｍ／ｎ分周したパルス列が含まれる。
【００８５】
制御回路２１が制御信号ＣＴＬを発生させる際に、分周装置１は、入力パルス列ＣＬＫを分周比Ｒ＝ｍ／ｎで分周し、これを制御信号ＣＴＬの一部とする。
本実施形態では、一例として、パルス幅変調方式のサーボモータ２４を採用しているため、分周装置１が入力パルス列ＣＬＫを分周比Ｒ＝ｍ／ｎで分周すれば、サーボモータ２４の回転数をｍ／ｎ倍に変化させることができる。
【００８６】
駆動回路２２は、制御回路２１から入力された制御信号ＣＴＬを用いて、サーボモータ２４を駆動させるための駆動信号ＤＲＶを発生させ、これをサーボモータ２４に出力する。
【００８７】
サーボモータ２４は、たとえば、その回転軸２４１を、その時計回りまたは反時計回りに回転可能なＡＣ（交流）モータである。サーボモータ２４は、たとえば、リニアモータであっても差し支えない。サーボモータ２４は、駆動回路２２から入力された駆動信号ＤＲＶに応じた回転速度で、回転軸２４１を回転させる。
【００８８】
検出回路２３は、ロータリーエンコーダの機能を有し、サーボモータ２４に接続されている。検出回路２３は、回転軸２４１の回転変位を検出し、これをデジタル値のパルス列ＣＬＫに変換した後、このパルス列ＣＬＫを制御回路２１の分周装置１に出力する。
なお、サーボモータ２４がＡ相およびＢ相を持つ場合、検出回路２３は、Ａ相のパルス列およびＢ相のパルス列を制御回路２１の分周装置１に出力する。
【００８９】
上記のサーボモータ２４は、始動トルクが大きく、安定した回転数に達するまでの時間が他のモータのものに比べて短いので、幅広い回転数（回転速度）で安定した動作が可能である。
したがって、分周装置１を用いれば、周期が不規則に変化するパルス列ＣＬＫをｍ／ｎ分周しても、ジッタの発生が極めて小さく、高精度かつ正確にサーボモータ２４の回転数を制御することができる。
【００９０】
このような利点を有するサーボ制御回路２は、たとえば、ＮＣ（Numerical Control）装置やＣＴ（Computed Tomography）装置のサーボモータの制御部分に用いることができる。
【００９１】
［分周装置１の変形例］
分周装置１を搭載したサーボ制御回路２において、サーボモータ２４がＡ相およびＢ相を持つ場合には、分周装置１を図９に図示するように構成することができる。
【００９２】
図９は、本発明の変形例に係る分周装置の構成例を示すブロック図である。
図９に図示する分周装置１ａは、基準クロック発生回路１１、パルス周期計測回路１２、演算回路１３、パルス出力回路１４、分周回路１５、第１指示回路１６、および、第２指示回路１７に、第１のパルス形態変更回路１８および第２のパルス形態変更回路１９を加えたものである。
【００９３】
検出回路２３から入力された、図９に図示するＡ相のパルス列は、Ｂ相のパルス列に対して、位相が９０度進んでいるものと仮定する。この場合、いずれか一方のパルス列を分周比Ｒ＝ｍ／ｎで分周し、その分周後に、ｍ／ｎ分周した一方のパルス列の位相を９０度ずらせば、他方のパルス列を発生させることができる。
【００９４】
そこで、第１のパルス形態変更回路１８は、Ａ相およびＢ相のパルス列が入力されると、Ａ相のパルス列をパルス列ＣＬＫとしてパルス周期計測回路１２に出力すると共に、Ｂ相のパルス列を符号化してパルス周期計測回路１２に出力する。
Ｂ相のパルス列の符号化では、このパルス列が０となるように、符号化すればよい。無論、Ａ相のパルス列を符号化し、Ｂ相のパルス列をパルス周期計測回路１２に出力することもできる。
【００９５】
第２のパルス形態変更回路１９は、ｍ／ｎ分周されたパルス列ＣＬＫ（ｍ／ｎ）が分周回路１５から入力されると、この位相を９０度遅らせたパルス列ＣＬＫ（ｍ／ｎ）を発生させ、これをＢ相のパルス列として、駆動回路２２（図８参照）に出力すると共に、パルス列ＣＬＫ（ｍ／ｎ）をＡ相のクロックとして、駆動回路２２に出力する。
【００９６】
本発明の実施形態は、上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【００９７】
１、１ａ…分周装置、１１…基準クロック発生回路、１２…パルス周期計測回路、１３…演算回路、１４…パルス出力回路、１５…分周回路、１６…第１指示回路、１７…第２指示回路、１８…第１のパルス形態変更回路、１９…第２のパルス形態変更回路、２…サーボ制御回路、２１…制御回路、２２…駆動回路、２３…検出回路、２３１…回転軸、２４…サーボモータ。
【図１】
2011151672.tif 000003
【図２】
2011151672.tif 000004
【図３】
2011151672.tif 000005
【図４】
2011151672.tif 000006
【図５】
2011151672.tif 000007
【図６】
2011151672.tif 000008
【図７】
2011151672.tif 000009
【図８】
2011151672.tif 000010
【図９】
2011151672.tif 000011