(57)【要約】【課題】発振周波数と分周周波数が整数比でなくとも基準クロックとして使用可能な分周クロックを生成する。【解決手段】所定周波数の発振クロック信号を発振する水晶発振回路１と、発振クロック信号を非整数の分周比率となる周波数のクロック信号に分周する際に、周期が均等でない分周クロック信号を合計周期が所定数の発振クロック信号の合計周期に一致するように複数組み合わせて繰返し出力する擬似分周回路２とを備える。【選択図】          図１
2004336232.tif 000002
【特許請求の範囲】
【請求項１】
所定周波数の発振クロック信号を発振する発振回路と、
前記発振クロック信号を非整数の分周比率をもつ周波数のクロック信号に分周する際に、周期が均等でない分周クロック信号の合計周期が所定数の発振クロック信号の合計周期に一致するように複数組み合わせて繰返し出力する擬似分周回路と、
を備えたことを特徴とする周波数分周回路。
【請求項２】
請求項１記載の周波数分周回路に於いて、前記擬似分周回路は、
発振周波数ｆａと分周された出力周波数ｆｂを２倍した周波数との比率
ｆａ：２ｆｂ＝Ａ：Ｂ
として設定されるパラメータＡ，Ｂを設定する設定器と、
０を初期値とするパラメータＣから前記パラメータＢを減算してパラメータＱ１を出力すると共に、前記パラメータＱ１がマイナスの場合にパラメータＣＯとして１を出力し、前記パラメータＱ１がゼロ又はプラスの場合にパラメータＣＯとして０を出力する減算部と、
前記減算部の出力パラメータＱ１と前記パラメータＡを加算してパラメータＱ２を出力する加算部と、
前記減算部の出力パラメータＣＯが１の場合に前記加算部の出力パラメータＱ２を選択してパラメータＱＡを出力し、前記減算部の出力パラメータＣＯが０の場合に前記減算部の出力パラメータＱ１を選択してパラメータＱＡを出力する選択部と、
発振クロック信号が入力するまで前記選択部の出力パラメータＱＡを保持して前記減算部にパラメータＣとして出力するデータ保持部と、
発振クロック信号と前記減算部のパラメータＣＯを入力し、発振クロック信号の入力時にパラメータＣＯが１であれば出力を反転し、発振クロック信号の入力時にパラメータＣＯが０であれば出力を維持して分周クロック信号を出力するクロック保持部と、
を備えたことを特徴とする周波数分周回路。
【請求項３】
発振周波数ｆａと分周された出力周波数ｆｂを２倍した周波数との比率
ｆａ：２ｆｂ＝Ａ：Ｂ
として設定されるパラメータＡ，Ｂを設定する設定器と、
０を初期値とするパラメータＣから前記パラメータＢを減算してパラメータＱ１を出力すると共に、前記パラメータＱ１がマイナスの場合にパラメータＣＯとして１を出力し、前記パラメータＱ１がゼロ又はプラスの場合にパラメータＣＯとして０を出力する減算部と、
前記減算部の出力パラメータＱ１と前記パラメータＡを加算してパラメータＱ２を出力する加算部と、
前記減算部の出力パラメータＣＯが１の場合に前記加算部の出力パラメータＱ２を選択してパラメータＱＡを出力し、前記減算部の出力パラメータＣＯが０の場合に前記減算部の出力パラメータＱ１を選択してパラメータＱＡを出力する選択部と、
発振クロック信号が入力するまで前記選択部の出力パラメータＱＡを保持して前記減算部にパラメータＣとして出力するデータ保持部と、
発振クロック信号と前記減算部のパラメータＣＯを入力し、発振クロック信号の入力時にパラメータＣＯが１であれば出力を反転し、発振クロック信号の入力時にパラメータＣＯが０であれば出力を維持して分周クロック信号を出力するクロック保持部と、
を備えたことを特徴とする周波数分周回路。
【請求項４】
設定器により、発振周波数ｆａと分周された出力周波数ｆｂを２倍した周波数との比率
ｆａ：２ｆｂ＝Ａ：Ｂ
として設定されるパラメータＡ，Ｂを設定する設定ステップと、
減算部により、０を初期値とするパラメータＣから前記パラメータＢを減算してパラメータＱ１を出力すると共に、前記パラメータＱ１がマイナスの場合にパラメータＣＯとして１を出力し、前記パラメータＱ１がゼロ又はプラスの場合にパラメータＣＯとして０を出力する減算ステップと、
加算部により、前記減算ステップの出力パラメータＱ１と前記パラメータＡを加算してパラメータＱ２を出力する加算ステップと、
選択部により、前記減算ステップの出力パラメータＣＯが１の場合に前記加算ステップの出力パラメータＱ２を選択してパラメータＱＡを出力し、前記減算ステップの出力パラメータＣＯが０の場合に前記減算ステップの出力パラメータＱ１を選択してパラメータＱＡを出力する選択ステップと、
データ保持部により、発振クロック信号が入力するまで前記選択ステップの出力パラメータＱＡを保持して前記減算ステップにパラメータＣとして出力するデータ保持ステップと、
クロック保持部により、発振クロック信号と前記減算ステップのパラメータＣＯを入力し、発振クロック信号の入力時にパラメータＣＯが１であれば出力を反転し、発振クロック信号の入力時にパラメータＣＯが０であれば出力を維持して分周クロック信号を出力するクロック保持ステップと、
を備えたことを特徴とする周波数分周方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、時間管理を厳密に行う必要のある制御機器や測定機器の基準クロック信号を作るための周波数分周回路及び方法に関する。
【０００２】
【従来の技術】
従来、大空間の火災監視に使用している走査型火災検出器は、垂直旋回モータによりミラーを垂直方向に旋回走査して火災を監視しており、水晶発振器からの発振クロックを分周した基準クロックを利用して高精度の回転制御を行っている。
【０００３】
火災の垂直方向の位置確定には、火災検出素子のデータを時間的に切り出して、垂直方向の角度に変換しているため、垂直モータの回転速度を一定の速度で回転する必要があった。
【０００４】
【特許文献１】
特開平６−３６１６２号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、モータを固定的に決めた所定の周波数で回転制御する場合、モータ周波数の整数倍となるクロック周波数を発振する水晶発振器を選定する必要があるが、モータの周波数によっては、水晶発振器との周波数の比が必ずしも整数倍となっていない場合があり、分周回路を用いてもモータ周波数のクロックが得られず、水晶発振器の発信周波数に合わせてモータ制御用のクロック周波数を変更せざるを得ないという問題がある。勿論、モータ周波数に整数比で分周可能な発振器を準備すればよいが、このような発振器は特注品となるために、コストアップになる問題がある。
【０００６】
また発振クロックの周波数とモータの周波数と比率が整数倍となる水晶発振器を選択した場合でも、発振器自身が例えば±０．０１％程度の出力周波数偏差をもつため、より精度が必要な場合には、発振器の外部に可変容量を接続して調整する必要があり、調整に手間がかかる問題がある。
【０００７】
本発明は、発振周波数と分周周波数が整数比でなくとも基準クロックとして使用可能な分周クロックを生成する周波数分周回路及び方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
この目的を達成するため本発明は次のように構成する。即ち本発明は周波数分周装置を提供するものであり、所定周波数の発振クロック信号を発振する発振回路と、発振クロック信号を非整数の分周比率をもつ周波数のクロック信号に分周する際に、周期が均等でない分周クロック信号の合計周期が所定数の発振クロック信号の合計周期に一致するように複数組み合わせて繰返し出力する擬似分周回路とを備えたことを特徴とする。
【０００９】
このような本発明の周波数分周回路によれば、例えば１０ＭＨｚの発振クロックを３ＭＨｚのクロックに分周する場合、１０ＭＨｚの基準クロック１０個に対し３個の分周クロックを生成すれば良いことから、３００ｎｓの分周クロック２個と４００ｎｓの分周クロック１個の３個を組み合わせて１０ＭＨｚの発振クロック１０個の周期１０００ｎｓに一致させ、３００ｎｓの分周クロック２個と４００ｎｓの分周クロック１個の組み合わせを発振クロックに同期して繰返し出力させて擬似的な分周を行う。
【００１０】
この場合、分周クロックはその周期が均等に分周されないが、クロックの位相が問題とならない用途、例えばモータの回転制御では基準クロックとして問題なく使用することができる。
【００１１】
このような擬似的な分周を行う擬似分周回路の具体的形態としては、発振周波数ｆａと分周された出力周波数ｆｂを２倍した周波数との比率
ｆａ：２ｆｂ＝Ａ：Ｂ
として設定されるパラメータＡ，Ｂを設定する設定器と、０を初期値とするパラメータＣからパラメータＢを減算してパラメータＱ１を出力すると共に、パラメータＱ１がマイナスの場合にパラメータＣＯとして１を出力し、パラメータＱ１がゼロ又はプラスの場合にパラメータＣＯとして０を出力する減算部と、減算部の出力パラメータＱ１と前記パラメータＡを加算してパラメータＱ２を出力する加算部と、減算部の出力パラメータＣＯが１の場合に加算部の出力パラメータＱ２を選択してパラメータＱＡを出力し、減算部の出力パラメータＣＯが０の場合に減算部の出力パラメータＱ１を選択してパラメータＱＡを出力する選択部と、発振クロック信号が入力するまで選択部の出力パラメータＱＡを保持して減算部にパラメータＣとして出力するデータ保持部と、発振クロック信号と減算部のパラメータＣＯを入力し、発振クロック信号の入力時にパラメータＣＯが１であれば出力を反転し、発振クロック信号の入力時にパラメータＣＯが０であれば出力を維持して分周クロック信号を出力するクロック保持部とを備えたことを特徴とする。
【００１２】
本発明は、また、擬似分周回路そのものを本発明の周波数分周回路として提供する。
【００１３】
また本発明は、周波数分周方法を提供するものであり、この方法は、
設定器により、発振周波数ｆａと分周された出力周波数ｆｂを２倍した周波数との比率
ｆａ：２ｆｂ＝Ａ：Ｂ
として設定されるパラメータＡ，Ｂを設定する設定ステップと、
減算部により、０を初期値とするパラメータＣからパラメータＢを減算してパラメータＱ１を出力すると共に、パラメータＱ１がマイナスの場合にパラメータＣＯとして１を出力し、前記パラメータＱ１がゼロ又はプラスの場合にパラメータＣＯとして０を出力する減算ステップと、
加算部により、減算ステップの出力パラメータＱ１と前記パラメータＡを加算してパラメータＱ２を出力する加算ステップと、
選択部により、減算ステップの出力パラメータＣＯが１の場合に加算ステップの出力パラメータＱ２を選択してパラメータＱＡを出力し、前記減算ステップの出力パラメータＣＯが０の場合に減算ステップの出力パラメータＱ１を選択してパラメータＱＡを出力する選択ステップと、
データ保持部により、発振クロック信号が入力するまで前記選択ステップの出力パラメータＱＡを保持して減算ステップにパラメータＣとして出力するデータ保持ステップと、
クロック保持部により、発振クロック信号と減算ステップのパラメータＣＯを入力し、発振クロック信号の入力時にパラメータＣＯが１であれば出力を反転し、発振クロック信号の入力時にパラメータＣＯが０であれば出力を維持して分周クロック信号を出力するクロック保持ステップと、
を備えたことを特徴とする。
【００１４】
【発明の実施の形態】
図１は本発明が適用されるモータ制御装置の回路ブロック図である。図１において、モータ制御装置は、水晶発振回路１、擬似分周回路２、モータ制御回路３、モータ４及び回転同期パルス発生器５で構成されている。
【００１５】
水晶発振回路１は水晶振動子を用いて自励発振を行う発振回路であり、周波数ｆａの基準クロックＣＬＫを出力する。擬似分周回路２は、発振クロック信号ＣＬＫ１を入力して整数でない分周比率の周波数に分周して分周クロックを生成する回路であり、周期が均等でない分周クロックの合計周期が所定数の発振クロックＣＬＫ１の合計周期に一致するように複数組み合わせて繰り返し出力する。
【００１６】
モータ制御回路３は、擬似分周回路２より出力される周波数ｆｂの分周クロックＣＬＫ２を基準クロックとしてモータ４を制御する。このモータ制御は回転同期パルス発生器５よりモータ４の１回転の規定位置で回転基準信号が得られることから、この回転基準位置を基準に分周クロックＣＬＫ２として入力される基準クロックのカウントによりモータ４の１回転の時間を制御する。
【００１７】
例えばモータ４が大空間の火災監視に使用している走査型火災検出器の垂直旋回モータであった場合には、垂直モータを一定速度で回転するための基準クロックがモータドライバに与えられ、垂直モータは一定速度で回転制御される。
【００１８】
図２は、図１の擬似分周回路２における発振クロックＣＬＫ１と分周クロックＣＬＫ２を、正確な分周クロックＣＬＫ３と対比して示したタイムチャートである。
【００１９】
図２において、まず擬似分周回路２に入力する図２（Ａ）の発振クロックＣＬＫ１は１０ＭＨｚであり、その周期は１００ｎｓである。ここで、擬似分周回路２が分周クロックＣＬＫ２として３ＭＨｚの分周クロックを出力させたいとする。従来の分周回路にあっては、１０ＭＨｚの発振クロックＣＬＫ１を３ＭＨｚの分周クロックに分周した場合には分周クロックの周期は均等であることから、その場合の正確な分周クロックＣＬＫ３は図２（Ｃ）のように、周期が３３３ｎｓ（但し、小数点以下は切り捨て）の分周クロックを生成する。
【００２０】
しかしながら、このような均等な周期を持つ正確な分周クロックＣＬＫの生成はできないことから、本発明にあっては、図２（Ｂ）のように、入力する１０ＭＨｚの発振クロック１０個を３個の分周クロックとすればよいことから、３００ｎｓの分周クロック２個と４００ｎｓの分周クロック１個の３個を組み合わせて１０ＭＨｚの発振クロック１０個の周期１０００ｎｓに一致させ、この組合せを発振クロックＣＬＫ１に同期して繰り返す。
【００２１】
このような本発明における擬似分周回路２の処理にあっては、出力される分周クロックの周期が均等にはならないが、図１のようにモータ４の１回転の時間を一定に制御し、また回転基準位置からの基準クロックのカウントで検出部を停止させるような制御の場合には、分周クロックの周期の相違、即ち分周クロックの位相は問題にならないことから、周期が均等でない分周クロックの組合せであっても、基準クロックとして問題なくモータ制御を行うことができる。
【００２２】
ここで本発明の擬似分周処理の原理を説明すると次のようになる。まず本発明による擬似分周の目標は、
「Ａ（Ｈｚ）の発振クロックをＢ（Ｈｚ）にクロックに分周する。但し、Ａ／Ｂは非整数とする。」
と定義される。
【００２３】
この目標として例えば「１０Ｈｚの発振クロックを３Ｈｚのクロックに分周する。」を定義したとする。この場合、分周比率Ｑは、
Ｑ＝１０／３＝３．３３３３…＝３余り１
となる。即ち、１０Ｈｚの発振クロックを３回カウントする毎に分周パルスを１つ出力する方法では１クロック余ってしまい、誤差が累積してしまう。そこで本発明にあっては、誤差の累積が無いように、３回カウントと４回カウントを組み合わせて、あたかも３．３３３…回ごとに分周パルスを出力するようなタイミングを作成する。
【００２４】
このため本発明は次の処理を行う。まず一定時間の発振クロック数（発振周波数）をＡ、分周クロック数（分周周波数）をＢとする。このため１分周当たリのクロック数ＱはＱ＝Ａ／２Ｂ’となる。なお、分周クロック数Ｂを２倍しているのは、発振クロックの入力に対し分周クロックの立上り又は立下りとなる反転の有無を判別することによる。
【００２５】
ここで２Ｂ＝Ｂ’とすると、１分周当たリのクロック数ＱはＱ＝Ａ／Ｂ’となる。従って、Ｑ＝Ａ／Ｂ’回毎に分周パルスの出力タイミングを作成すればよい。このため本発明の分周処理の原理は、次のようになる。
【００２６】
「分周パルスの出力タイミング発生までの残り回数をＣとすると、初期条件はＣ＝Ｑとなる。発振クロックのｒ回動作当たり、残り回数は１回滅少するので、
Ｃ＝Ｃ−１                    （１）
となる。残り回数Ｃがマイナスとなった場合が分周パルス出力タイミングまでの時間が経過したことになる。そこで、このときに分周パルス出力タイミング動作（例：タイミング信号の反転など）を行い、その時の残り回数Ｃに次の分周パルス出力タイミングのクロック時間Ｑを加える。このときの残り回数は
Ｃ＝Ｃ＋Ｑ        （２）
となり、クロックｒ回当たりの動作を繰り返す。」
【００２７】
このような本発明の分周処理の原理には、（Ａ／Ｂ’）の割算があり、実際のハードウェア回路を構築するのには不向きである。そこで、変数全体をＢ’倍して、分周処理を書き直すと次のようになる。
【００２８】
「タイミング発生までの残り回数をＣ＊Ｂ’＝Ｃ’とすると、最初は
Ｃ’＝Ｑ＝（Ａ／Ｂ’）＊Ｂ’＝Ａ        （３）
となる。クロック１回動作当たり、次の残りの回数は１回減少するので、
Ｃ’＝Ｃ’−１＊Ｂ’＝Ｃ’−Ｂ            （４）
となる。
残り回数Ｃ’がマイナスとなった場合が分周パルス出力タイミングまでの時間が経過したことになる。従って分周パルス出力タイミング動作（例：タイミング信号の反転など）を行い、その時の残り回数Ｃに次の次の分周パルス出力タイミングまでのクロック数Ｑを加える。このときの残り回数は
Ｃ’＝Ｃ１＋Ｑ＊Ｂ’＝Ｃ’＋（Ａ／Ｂ’）＊Ｂ’＝Ｃ’＋Ａ      （５）
となり、クロック１回当たりの動作を繰り返す。」
【００２９】
図３は図１に示した本発明による擬似分周回路２の実施形態を示した回路ブロック図である。この擬似分周回路２は、減算部６、加算部７、選択部８、データ保持部９及びクロック保持部１０で構成される。
【００３０】
まず加算部７と減算部６に対しては、図示しない設定器によりパラメータＡ，Ｂが設定される。パラメータＡ，Ｂは、入力する発振クロックＣＬＫ１の発振周波数ｆａと分周出力端子１１より出力される分周クロックＣＬＫ２の出力周波数ｆｂを２倍した周波数との比率
ｆａ：２ｆｂ＝Ａ：Ｂ
として設定されたパラメータである。
【００３１】
なお前述した本発明の擬似分周処理の原理にあっては、ｆｂ＝Ｂとし、２ｆｂ＝２Ｂ＝Ｂ’としているが、以下の説明にあっては、このＢ’を単にＢとしている。この点は前述した原理説明におけるパラメータＣ’についても同様であり、以下の説明にあってはパラメータＣ’を単にＣとして表わしている。
【００３２】
また、パラメータＡ，Ｂによって与えられる分周比率Ｑ＝Ａ／Ｂは非整数である。
【００３３】
減算部６は０を初期値とするパラメータＣからパラメータＢを減算し、パラメータＱ１として
Ｑ１＝Ｃ−Ｂ
を出力する。これは前記（４）式に対応している。また減算部６は、パラメータＱ１がマイナスの場合にパラメータＣＯ（キャリーアウト）としてＣＯ＝１を出力し、パラメータＱ１が０またはプラスの場合にはパラメータＣＯとしてＣＯ＝０を出力する。
【００３４】
加算部７は、減算部６から出力されたパラメータＱ１と初期設定されたパラメータＡを加算して、パラメータＱ２として
Ｑ２＝Ｑ１＋Ａ＝Ｃ−Ｂ＋Ａ
を出力する。これは前記（５）式に対応している。
【００３５】
選択部８は、減算部６からのパラメータＣＯがＣＯ＝１の場合に、加算部７のパラメータＱ２を選択してパラメータＱＡとして出力し、減算部６のパラメータＣＯがＣＯ＝０の場合には減算部６から出力されたパラメータＱ１を選択してパラメータＱＡとして出力する。
【００３６】
データ保持部９は、発振クロックＣＬＫ１が入力するまで選択部８の出力パラメータＱＡを保持し、減算部６にパラメータＣとして出力する。
【００３７】
クロック保持部１０は、減算部６からのパラメータＣＯに基づいて分周クロックＣＬＫ２を分周出力端子１１に出力する。即ちクロック保持部１０は、発振クロックＣＬＫ１の入力時（例えば立上り時）に、減算部６からのパラメータＣＯがＣＯ＝１であれば出力を反転し、また発振クロックＣＬＫ１の入力時（立上り時）にパラメータＣＯがＣＯ＝０であれば出力を維持し、これによって分周クロックＣＬＫ２を分周出力端子１１から出力する。
【００３８】
図４は図３の擬似分周回路２における分周処理のフローチャートであり、１０ＭＨｚの発振クロックＣＬＫ１を入力して３ＭＨｚの分周クロックＣＬＫ２に擬似分周する場合を例にとっている。この擬似分周処理の処理手順は次のようになる。
【００３９】
2004336232.tif 000003
に基づき、Ａ＝５、Ｂ＝３を設定する。また、パラメータＣとしてＣ＝０を初期設定する。更に、分周クロックＣＬＫ２の出力としてＣＬＫ２出力＝０を設定する。
【００４０】
ステップＳ２：
減算部６によりパラメータＣからパラメータＢを（Ｃ−Ｂ）として減算し、これをパラメータＱ１に代入して出力する。また同様にパラメータＡからＱ２＝（Ｃ−Ｂ＋Ａ）を代入して出力する。
【００４１】
ステップＳ３：
減算部６において、出力パラメータＱ１が０より大きいか否かチェックし、パラメータＱ１がマイナスであればステップＳ４に進み、０またはプラスであればステップＳ６に進む。
【００４２】
ステップＳ４：
パラメータＱ１がマイナスの場合であり、クロック保持部１０で発振クロックＣＬＫ１が立ち上がったタイミングでクロック出力となるＣＬＫ２を反転する。
【００４３】
ステップＳ５：
パラメータＣＯ＝１の場合であり、選択部８で加算部７の出力パラメータＱ２（＝Ｃ−Ｂ＋Ａ）を選択してデータ保持部９に保持させ、次に発振クロックＣＬＫ１が立ち上がるまで、パラメータＣとして減算部６に入力させる。
【００４４】
ステップＳ６：
減算部６の出力パラメータＱ１が０またはプラスの場合であり、パラメータＣＯ＝０であることから、クロック保持部１０は発振クロックＣＬＫ１が立ち上がったタイミングで分周クロックＣＬＫ２の出力をホールドする。
【００４５】
ステップＳ７：
パラメータＣＯ＝０の場合であり、選択部８は減算部６からの出力パラメータＱ１を選択して、出力パラメータＱＡ（＝Ｃ−Ｂ）をデータ保持部９に出力し、次に発振クロックＣＬＫ１が立ち上がるまで減算部６に対するパラメータＣとして出力する。
【００４６】
ステップＳ８：
クロック停止指示があれば処理を終了し、停止指示がなければステップＳ２に戻る。
【００４７】
図５〜図７は、擬似分周回路２で１０ＭＨｚを３ＭＨｚに擬似分周する場合の図４のフローチャートに従った処理フェーズの説明図である。なお１つのフェーズは、図４のステップＳ２〜Ｓ８の処理を発振クロックの入力で１回する処理を表わす。
【００４８】
図５のフェーズＦ１は、図４のステップＳ１の初期設定に続く処理であり、この場合はステップＳ２〜Ｓ５の処理を実行する。即ちステップＳ２でパラメータＱ１は
Ｑ１＝Ｃ−Ｂ＝０−３＝−３
であることから、ステップＳ３でパラメータＱ１がマイナスであることが判別され、ステップＳ４に進む。
【００４９】
ステップＳ４では、パラメータＣＯ＝１が減算部６から出力されることでクロック保持部１０はクロック出力を反転する。このため分周クロックＣＬＫ２は、初期設定で０であったものが右側に示すように１に立ち上がる。
【００５０】
続いてステップＳ５でパラメータＱＡとして
ＱＡ＝Ｄ−Ｂ＋Ａ＝０−３＋５＝２
を加算部７の出力パラメータＱ２の選択部８による選択として取り出し、データ保持部９によりＣ＝２として、次のフェーズＦ２のために減算部６に出力する。
【００５１】
フェーズＦ２においてもステップＳ２〜Ｓ５の処理が行われ、このとき分周クロックＣＬＫ２は１から０に反転する。
【００５２】
フェーズＦ３にあっては、ステップＳ２，Ｓ３，Ｓ６，Ｓ７の処理となる。即ち、ステップＳ２でパラメータＱ１は
Ｑ１＝Ｃ−Ｄ＝４−３＝１
となり、ステップＳ３でパラメータＱ１がプラスであることから、ステップＳ６に進む。
【００５３】
ステップＳ６にあっては、パラメータＣＯ＝０であることから、クロック保持部１０はクロック出力ホールドとなり、従って分周クロックＣＬＫ２は０を維持する。
【００５４】
ステップＳ７にあっては、パラメータＱＡとしてＣＯ＝０により選択部８が減算部６の出力Ｑ１を選択し、
ＱＡ＝Ｃ−Ｂ＝４−３＝１
とし、データ保持部９がＣ＝１を次のフェーズＦ４のため減算部６に出力する。
【００５５】
フェーズＦ４にあっては、フェーズ１，フェーズ２と同様、ステップＳ２〜Ｓ５の処理が行われ、分周クロックＣＬＫ２は０から１に反転する。
【００５６】
続いて図６及び図７のフェーズＦ５，Ｆ６，Ｆ７，Ｆ８の処理を行う。このうちフェーズＦ５，Ｆ８は分周クロックＣＬＫ２をホールドする処理となり、またフェーズＦ６，Ｆ７は分周クロックＣＬＫ２を反転する処理となっている。更に図７のフェーズＦ９，Ｆ１０に進む。フェーズＦ９は分周クロックＣＬＫ２を反転する処理であり、フェーズＦ１０は分周クロックＣＬＫ２をホールドする処理となる。
【００５７】
このような図５〜図７におけるフェーズＦ１〜Ｆ１０の処理により、入力する１０ＭＨｚの発振クロックＣＬＫ１は３ＭＨｚの分周クロックＣＬＫ２に擬似的に分周される。
【００５８】
即ち、フェーズＦ１０に示すように、分周クロックＣＬＫ２は、３００ｎｓの分周クロック２つと４００ｎｓの分周クロックを組み合わせることにより１０ＭＨｚの分周クロック１０個分の周期１０００ｎｓと同一周期にしており、これによって１０ＭＨｚの発振クロックを実質的に３ＭＨｚの分周クロックに分周することができる。フェーズＦ１０が済むと、再び図５のフェーズＦ１に戻り、以下これを繰り返す。
【００５９】
図８は図５〜図７のフェーズの繰り返しによって得られる１０ＭＨｚを３ＭＨｚに擬似分周する場合の図３の実施形態における各部の信号波形のタイムチャートである。
【００６０】
図８（Ａ）は擬似分周回路２に入力する発振クロックＣＬＫ１であり、１０ＭＨｚであることからクロック周期は１００ｎｓである。図８（Ｂ）は減算部６に入力されるデータ保持部９の出力パラメータＣであり、発振クロックＣＬＫ１の周期ごとに、フェーズＦ１〜Ｆ１０に示した値「２，４，１，３，０，２，４，１，３，０」と変化する。なおカッコ内は各値の２進数を表わしている。
【００６１】
図８（Ｃ）は減算部６の出力パラメータＱ１である。また図８（Ｄ）は減算部６よりキャリーアウトとして出力される出力パラメータＣＯの変化である。図８（Ｅ）は加算部７から出力される出力パラメータＱ２であり、更に図８（Ｆ）は選択部８によりパラメータＣＯの値によって選択される出力パラメータＱＡである。
【００６２】
更に図８（Ｇ）はクロック保持部１０から出力される分周クロックＣＬＫ２である。この分周クロックＣＬＫ２は、クロック保持部１０において発振クロックＣＬＫ１が立ち上がったタイミングで、そのときの減算部６からの出力パラメータＣＯがＣＯ＝１であれば出力を反転し、ＣＯ＝０であれば出力をホールドすることにより得られている。
【００６３】
なお図８（Ａ）の発振クロックＣＬＫ１の立ち上がりタイミングにおける図８（Ｄ）の出力パラメータＣＯの値は、立ち上がりタイミング直前の値により図８（Ｇ）の発振クロックＣＬＫ１の反転とホールドを決めている。
【００６４】
ここで図３の擬似分周回路２を構成するハードウェアとしてはＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）どの処理回路を使用することができる。したがってＰＬＤやＤＳＰなどを用いた場合には、図５のフローチャートが本発明の擬似分周処理を実行するためのプログラムの処理手順を表わすことになる。
【００６５】
なお上記の実施形態は１０ＭＨｚから３ＭＨｚの分周クロックを生成する場合を例にとるものであったが、パラメータＡ，Ｂの比率を変えることによって、この比率に応じた任意の周波数の分周クロックを生成することができる。
【００６６】
また上記の実施形態にあっては、パラメータＡ，Ｂとして３ビット幅とした場合を例にとっているが、このデータビット幅についても自由に増やすことができる。例えばビット幅を１２ビット程度とし下位４ビットをディップスイッチの設定状態に連動するようにしておけば、従来のように水晶発振器の外部容量の加減調整を必要とせず、ディップスイッチによる設定で高精度に分周出力する周波数を変化させることができる。
【００６７】
またＣＰＵを用いたパラメータＡ，Ｂの設定により分周周波数を変化させることができるため、モータなどの制御機器の回転速度を高精度に制御することが簡単にできる。また上記の実施形態にあっては、図３の擬似分周回路２としてプログラマブルロジックデバイス（ＰＬＤ）を用いることができ、１チップのＩＣに実装できる。
【００６８】
また上記の実施形態はモータ制御を例にとるものであったが、分周クロックの周期が均等でないクロック、即ち位相差を問題としない用途であれば、これ以外の測定機器や適宜の制御機器における基準クロックとして、本発明の擬似分周による分周クロックを適用することができる。
【００６９】
【発明の効果】
以上説明してきたように本発明によれば、発振クロックの周波数と分周クロックの周波数が整数比率でなくとも、周期の異なる分周クロックの組合せによって目的とする分周周波数の分周クロックを擬似的に生成することができ、必要とするクロック周波数と発振器の発振周波数の比が整数倍の関係になくとも、分周クロックを適切に得ることができる。
【００７０】
また擬似的な分周クロックを得るための回路として、プログラマブルロジックデバイス（ＰＬＤ）やＤＳＰの１チップのＩＣを使用して実装でき、特にプログラマブルロジックデバイス（ＰＬＤ）を用いた場合には、使用する周波数に適合したクロック発振器を特注で製作する場合に比べ、そのコストを大幅に低減することができる。
【００７１】
また本発明の擬似分周処理にあっては細かな周波数調整がデジタル的にできるため、従来の発振器のように外部可変容量などによる調整を必要とせず、簡単に周波数調整を行うことができる。
【００７２】
更に、本発明の擬似分周処理におけるパラメータをＣＰＵなどによりコントロールすることで、例えばモータなどの制御機器の回転速度を無段階に変化するような制御が実現でき、位置決め精度が要求されるセンサ機器などのモータ制御に使用することで制御精度を大幅に向上することができる。
【図面の簡単な説明】
【図１】本発明を用いたモータ制御装置の回路ブロック図
【図２】本発明の擬似分周回路おける発振クロックと分周クロックを正確な分周クロックと対比して示したタイムチャート
【図３】図２の擬似分周回路の実施形態を示した回路ブロック図
【図４】図３の擬似分周回路で１０ＭＨｚを３ＭＨｚに擬似分周する場合の分周処理のフローチャート
【図５】図４のフローチャートに従った処理フェーズの説明図
【図６】図５に続く処理フェーズの説明図
【図７】図６に続く処理フェーズの説明図
【図８】１０ＭＨｚを３ＭＨｚに擬似分周する場合の図３の実施形態における各部の信号波形のタイムチャート
【符号の説明】
１：水晶発振回路
２：擬似分周回路
３：モータ制御回路
４：モータ
５：回転同期パルス発生器
６：減算部
７：加算部
８：選択部
９：データ保持部
１０：クロック保持部
１１：分周出力端子
【図１】
2004336232.tif 000004
【図２】
2004336232.tif 000005
【図３】
2004336232.tif 000006
【図４】
2004336232.tif 000007
【図５】
2004336232.tif 000008
【図６】
2004336232.tif 000009
【図７】
2004336232.tif 000010
【図８】
2004336232.tif 000011