JP2004336232A - 周波数分周回路及び方法 - Google Patents
周波数分周回路及び方法 Download PDFInfo
- Publication number
- JP2004336232A JP2004336232A JP2003127065A JP2003127065A JP2004336232A JP 2004336232 A JP2004336232 A JP 2004336232A JP 2003127065 A JP2003127065 A JP 2003127065A JP 2003127065 A JP2003127065 A JP 2003127065A JP 2004336232 A JP2004336232 A JP 2004336232A
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- output
- frequency
- unit
- oscillation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Control Of Stepping Motors (AREA)
Abstract
【課題】発振周波数と分周周波数が整数比でなくとも基準クロックとして使用可能な分周クロックを生成する。
【解決手段】所定周波数の発振クロック信号を発振する水晶発振回路1と、発振クロック信号を非整数の分周比率となる周波数のクロック信号に分周する際に、周期が均等でない分周クロック信号を合計周期が所定数の発振クロック信号の合計周期に一致するように複数組み合わせて繰返し出力する擬似分周回路2とを備える。
【選択図】 図1
【解決手段】所定周波数の発振クロック信号を発振する水晶発振回路1と、発振クロック信号を非整数の分周比率となる周波数のクロック信号に分周する際に、周期が均等でない分周クロック信号を合計周期が所定数の発振クロック信号の合計周期に一致するように複数組み合わせて繰返し出力する擬似分周回路2とを備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、時間管理を厳密に行う必要のある制御機器や測定機器の基準クロック信号を作るための周波数分周回路及び方法に関する。
【0002】
【従来の技術】
従来、大空間の火災監視に使用している走査型火災検出器は、垂直旋回モータによりミラーを垂直方向に旋回走査して火災を監視しており、水晶発振器からの発振クロックを分周した基準クロックを利用して高精度の回転制御を行っている。
【0003】
火災の垂直方向の位置確定には、火災検出素子のデータを時間的に切り出して、垂直方向の角度に変換しているため、垂直モータの回転速度を一定の速度で回転する必要があった。
【0004】
【特許文献1】
特開平6−36162号公報
【0005】
【発明が解決しようとする課題】
しかしながら、モータを固定的に決めた所定の周波数で回転制御する場合、モータ周波数の整数倍となるクロック周波数を発振する水晶発振器を選定する必要があるが、モータの周波数によっては、水晶発振器との周波数の比が必ずしも整数倍となっていない場合があり、分周回路を用いてもモータ周波数のクロックが得られず、水晶発振器の発信周波数に合わせてモータ制御用のクロック周波数を変更せざるを得ないという問題がある。勿論、モータ周波数に整数比で分周可能な発振器を準備すればよいが、このような発振器は特注品となるために、コストアップになる問題がある。
【0006】
また発振クロックの周波数とモータの周波数と比率が整数倍となる水晶発振器を選択した場合でも、発振器自身が例えば±0.01%程度の出力周波数偏差をもつため、より精度が必要な場合には、発振器の外部に可変容量を接続して調整する必要があり、調整に手間がかかる問題がある。
【0007】
本発明は、発振周波数と分周周波数が整数比でなくとも基準クロックとして使用可能な分周クロックを生成する周波数分周回路及び方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
この目的を達成するため本発明は次のように構成する。即ち本発明は周波数分周装置を提供するものであり、所定周波数の発振クロック信号を発振する発振回路と、発振クロック信号を非整数の分周比率をもつ周波数のクロック信号に分周する際に、周期が均等でない分周クロック信号の合計周期が所定数の発振クロック信号の合計周期に一致するように複数組み合わせて繰返し出力する擬似分周回路とを備えたことを特徴とする。
【0009】
このような本発明の周波数分周回路によれば、例えば10MHzの発振クロックを3MHzのクロックに分周する場合、10MHzの基準クロック10個に対し3個の分周クロックを生成すれば良いことから、300nsの分周クロック2個と400nsの分周クロック1個の3個を組み合わせて10MHzの発振クロック10個の周期1000nsに一致させ、300nsの分周クロック2個と400nsの分周クロック1個の組み合わせを発振クロックに同期して繰返し出力させて擬似的な分周を行う。
【0010】
この場合、分周クロックはその周期が均等に分周されないが、クロックの位相が問題とならない用途、例えばモータの回転制御では基準クロックとして問題なく使用することができる。
【0011】
このような擬似的な分周を行う擬似分周回路の具体的形態としては、発振周波数faと分周された出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されるパラメータA,Bを設定する設定器と、0を初期値とするパラメータCからパラメータBを減算してパラメータQ1を出力すると共に、パラメータQ1がマイナスの場合にパラメータCOとして1を出力し、パラメータQ1がゼロ又はプラスの場合にパラメータCOとして0を出力する減算部と、減算部の出力パラメータQ1と前記パラメータAを加算してパラメータQ2を出力する加算部と、減算部の出力パラメータCOが1の場合に加算部の出力パラメータQ2を選択してパラメータQAを出力し、減算部の出力パラメータCOが0の場合に減算部の出力パラメータQ1を選択してパラメータQAを出力する選択部と、発振クロック信号が入力するまで選択部の出力パラメータQAを保持して減算部にパラメータCとして出力するデータ保持部と、発振クロック信号と減算部のパラメータCOを入力し、発振クロック信号の入力時にパラメータCOが1であれば出力を反転し、発振クロック信号の入力時にパラメータCOが0であれば出力を維持して分周クロック信号を出力するクロック保持部とを備えたことを特徴とする。
【0012】
本発明は、また、擬似分周回路そのものを本発明の周波数分周回路として提供する。
【0013】
また本発明は、周波数分周方法を提供するものであり、この方法は、
設定器により、発振周波数faと分周された出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されるパラメータA,Bを設定する設定ステップと、
減算部により、0を初期値とするパラメータCからパラメータBを減算してパラメータQ1を出力すると共に、パラメータQ1がマイナスの場合にパラメータCOとして1を出力し、前記パラメータQ1がゼロ又はプラスの場合にパラメータCOとして0を出力する減算ステップと、
加算部により、減算ステップの出力パラメータQ1と前記パラメータAを加算してパラメータQ2を出力する加算ステップと、
選択部により、減算ステップの出力パラメータCOが1の場合に加算ステップの出力パラメータQ2を選択してパラメータQAを出力し、前記減算ステップの出力パラメータCOが0の場合に減算ステップの出力パラメータQ1を選択してパラメータQAを出力する選択ステップと、
データ保持部により、発振クロック信号が入力するまで前記選択ステップの出力パラメータQAを保持して減算ステップにパラメータCとして出力するデータ保持ステップと、
クロック保持部により、発振クロック信号と減算ステップのパラメータCOを入力し、発振クロック信号の入力時にパラメータCOが1であれば出力を反転し、発振クロック信号の入力時にパラメータCOが0であれば出力を維持して分周クロック信号を出力するクロック保持ステップと、
を備えたことを特徴とする。
【0014】
【発明の実施の形態】
図1は本発明が適用されるモータ制御装置の回路ブロック図である。図1において、モータ制御装置は、水晶発振回路1、擬似分周回路2、モータ制御回路3、モータ4及び回転同期パルス発生器5で構成されている。
【0015】
水晶発振回路1は水晶振動子を用いて自励発振を行う発振回路であり、周波数faの基準クロックCLKを出力する。擬似分周回路2は、発振クロック信号CLK1を入力して整数でない分周比率の周波数に分周して分周クロックを生成する回路であり、周期が均等でない分周クロックの合計周期が所定数の発振クロックCLK1の合計周期に一致するように複数組み合わせて繰り返し出力する。
【0016】
モータ制御回路3は、擬似分周回路2より出力される周波数fbの分周クロックCLK2を基準クロックとしてモータ4を制御する。このモータ制御は回転同期パルス発生器5よりモータ4の1回転の規定位置で回転基準信号が得られることから、この回転基準位置を基準に分周クロックCLK2として入力される基準クロックのカウントによりモータ4の1回転の時間を制御する。
【0017】
例えばモータ4が大空間の火災監視に使用している走査型火災検出器の垂直旋回モータであった場合には、垂直モータを一定速度で回転するための基準クロックがモータドライバに与えられ、垂直モータは一定速度で回転制御される。
【0018】
図2は、図1の擬似分周回路2における発振クロックCLK1と分周クロックCLK2を、正確な分周クロックCLK3と対比して示したタイムチャートである。
【0019】
図2において、まず擬似分周回路2に入力する図2(A)の発振クロックCLK1は10MHzであり、その周期は100nsである。ここで、擬似分周回路2が分周クロックCLK2として3MHzの分周クロックを出力させたいとする。従来の分周回路にあっては、10MHzの発振クロックCLK1を3MHzの分周クロックに分周した場合には分周クロックの周期は均等であることから、その場合の正確な分周クロックCLK3は図2(C)のように、周期が333ns(但し、小数点以下は切り捨て)の分周クロックを生成する。
【0020】
しかしながら、このような均等な周期を持つ正確な分周クロックCLKの生成はできないことから、本発明にあっては、図2(B)のように、入力する10MHzの発振クロック10個を3個の分周クロックとすればよいことから、300nsの分周クロック2個と400nsの分周クロック1個の3個を組み合わせて10MHzの発振クロック10個の周期1000nsに一致させ、この組合せを発振クロックCLK1に同期して繰り返す。
【0021】
このような本発明における擬似分周回路2の処理にあっては、出力される分周クロックの周期が均等にはならないが、図1のようにモータ4の1回転の時間を一定に制御し、また回転基準位置からの基準クロックのカウントで検出部を停止させるような制御の場合には、分周クロックの周期の相違、即ち分周クロックの位相は問題にならないことから、周期が均等でない分周クロックの組合せであっても、基準クロックとして問題なくモータ制御を行うことができる。
【0022】
ここで本発明の擬似分周処理の原理を説明すると次のようになる。まず本発明による擬似分周の目標は、
「A(Hz)の発振クロックをB(Hz)にクロックに分周する。但し、A/Bは非整数とする。」
と定義される。
【0023】
この目標として例えば「10Hzの発振クロックを3Hzのクロックに分周する。」を定義したとする。この場合、分周比率Qは、
Q=10/3=3.3333…=3余り1
となる。即ち、10Hzの発振クロックを3回カウントする毎に分周パルスを1つ出力する方法では1クロック余ってしまい、誤差が累積してしまう。そこで本発明にあっては、誤差の累積が無いように、3回カウントと4回カウントを組み合わせて、あたかも3.333…回ごとに分周パルスを出力するようなタイミングを作成する。
【0024】
このため本発明は次の処理を行う。まず一定時間の発振クロック数(発振周波数)をA、分周クロック数(分周周波数)をBとする。このため1分周当たリのクロック数QはQ=A/2B’となる。なお、分周クロック数Bを2倍しているのは、発振クロックの入力に対し分周クロックの立上り又は立下りとなる反転の有無を判別することによる。
【0025】
ここで2B=B’とすると、1分周当たリのクロック数QはQ=A/B’となる。従って、Q=A/B’回毎に分周パルスの出力タイミングを作成すればよい。このため本発明の分周処理の原理は、次のようになる。
【0026】
「分周パルスの出力タイミング発生までの残り回数をCとすると、初期条件はC=Qとなる。発振クロックのr回動作当たり、残り回数は1回滅少するので、
C=C−1 (1)
となる。残り回数Cがマイナスとなった場合が分周パルス出力タイミングまでの時間が経過したことになる。そこで、このときに分周パルス出力タイミング動作(例:タイミング信号の反転など)を行い、その時の残り回数Cに次の分周パルス出力タイミングのクロック時間Qを加える。このときの残り回数は
C=C+Q (2)
となり、クロックr回当たりの動作を繰り返す。」
【0027】
このような本発明の分周処理の原理には、(A/B’)の割算があり、実際のハードウェア回路を構築するのには不向きである。そこで、変数全体をB’倍して、分周処理を書き直すと次のようになる。
【0028】
「タイミング発生までの残り回数をC*B’=C’とすると、最初は
C’=Q=(A/B’)*B’=A (3)
となる。クロック1回動作当たり、次の残りの回数は1回減少するので、
C’=C’−1*B’=C’−B (4)
となる。
残り回数C’がマイナスとなった場合が分周パルス出力タイミングまでの時間が経過したことになる。従って分周パルス出力タイミング動作(例:タイミング信号の反転など)を行い、その時の残り回数Cに次の次の分周パルス出力タイミングまでのクロック数Qを加える。このときの残り回数は
C’=C1+Q*B’=C’+(A/B’)*B’=C’+A (5)
となり、クロック1回当たりの動作を繰り返す。」
【0029】
図3は図1に示した本発明による擬似分周回路2の実施形態を示した回路ブロック図である。この擬似分周回路2は、減算部6、加算部7、選択部8、データ保持部9及びクロック保持部10で構成される。
【0030】
まず加算部7と減算部6に対しては、図示しない設定器によりパラメータA,Bが設定される。パラメータA,Bは、入力する発振クロックCLK1の発振周波数faと分周出力端子11より出力される分周クロックCLK2の出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されたパラメータである。
【0031】
なお前述した本発明の擬似分周処理の原理にあっては、fb=Bとし、2fb=2B=B’としているが、以下の説明にあっては、このB’を単にBとしている。この点は前述した原理説明におけるパラメータC’についても同様であり、以下の説明にあってはパラメータC’を単にCとして表わしている。
【0032】
また、パラメータA,Bによって与えられる分周比率Q=A/Bは非整数である。
【0033】
減算部6は0を初期値とするパラメータCからパラメータBを減算し、パラメータQ1として
Q1=C−B
を出力する。これは前記(4)式に対応している。また減算部6は、パラメータQ1がマイナスの場合にパラメータCO(キャリーアウト)としてCO=1を出力し、パラメータQ1が0またはプラスの場合にはパラメータCOとしてCO=0を出力する。
【0034】
加算部7は、減算部6から出力されたパラメータQ1と初期設定されたパラメータAを加算して、パラメータQ2として
Q2=Q1+A=C−B+A
を出力する。これは前記(5)式に対応している。
【0035】
選択部8は、減算部6からのパラメータCOがCO=1の場合に、加算部7のパラメータQ2を選択してパラメータQAとして出力し、減算部6のパラメータCOがCO=0の場合には減算部6から出力されたパラメータQ1を選択してパラメータQAとして出力する。
【0036】
データ保持部9は、発振クロックCLK1が入力するまで選択部8の出力パラメータQAを保持し、減算部6にパラメータCとして出力する。
【0037】
クロック保持部10は、減算部6からのパラメータCOに基づいて分周クロックCLK2を分周出力端子11に出力する。即ちクロック保持部10は、発振クロックCLK1の入力時(例えば立上り時)に、減算部6からのパラメータCOがCO=1であれば出力を反転し、また発振クロックCLK1の入力時(立上り時)にパラメータCOがCO=0であれば出力を維持し、これによって分周クロックCLK2を分周出力端子11から出力する。
【0038】
図4は図3の擬似分周回路2における分周処理のフローチャートであり、10MHzの発振クロックCLK1を入力して3MHzの分周クロックCLK2に擬似分周する場合を例にとっている。この擬似分周処理の処理手順は次のようになる。
【0039】
に基づき、A=5、B=3を設定する。また、パラメータCとしてC=0を初期設定する。更に、分周クロックCLK2の出力としてCLK2出力=0を設定する。
【0040】
ステップS2:
減算部6によりパラメータCからパラメータBを(C−B)として減算し、これをパラメータQ1に代入して出力する。また同様にパラメータAからQ2=(C−B+A)を代入して出力する。
【0041】
ステップS3:
減算部6において、出力パラメータQ1が0より大きいか否かチェックし、パラメータQ1がマイナスであればステップS4に進み、0またはプラスであればステップS6に進む。
【0042】
ステップS4:
パラメータQ1がマイナスの場合であり、クロック保持部10で発振クロックCLK1が立ち上がったタイミングでクロック出力となるCLK2を反転する。
【0043】
ステップS5:
パラメータCO=1の場合であり、選択部8で加算部7の出力パラメータQ2(=C−B+A)を選択してデータ保持部9に保持させ、次に発振クロックCLK1が立ち上がるまで、パラメータCとして減算部6に入力させる。
【0044】
ステップS6:
減算部6の出力パラメータQ1が0またはプラスの場合であり、パラメータCO=0であることから、クロック保持部10は発振クロックCLK1が立ち上がったタイミングで分周クロックCLK2の出力をホールドする。
【0045】
ステップS7:
パラメータCO=0の場合であり、選択部8は減算部6からの出力パラメータQ1を選択して、出力パラメータQA(=C−B)をデータ保持部9に出力し、次に発振クロックCLK1が立ち上がるまで減算部6に対するパラメータCとして出力する。
【0046】
ステップS8:
クロック停止指示があれば処理を終了し、停止指示がなければステップS2に戻る。
【0047】
図5〜図7は、擬似分周回路2で10MHzを3MHzに擬似分周する場合の図4のフローチャートに従った処理フェーズの説明図である。なお1つのフェーズは、図4のステップS2〜S8の処理を発振クロックの入力で1回する処理を表わす。
【0048】
図5のフェーズF1は、図4のステップS1の初期設定に続く処理であり、この場合はステップS2〜S5の処理を実行する。即ちステップS2でパラメータQ1は
Q1=C−B=0−3=−3
であることから、ステップS3でパラメータQ1がマイナスであることが判別され、ステップS4に進む。
【0049】
ステップS4では、パラメータCO=1が減算部6から出力されることでクロック保持部10はクロック出力を反転する。このため分周クロックCLK2は、初期設定で0であったものが右側に示すように1に立ち上がる。
【0050】
続いてステップS5でパラメータQAとして
QA=D−B+A=0−3+5=2
を加算部7の出力パラメータQ2の選択部8による選択として取り出し、データ保持部9によりC=2として、次のフェーズF2のために減算部6に出力する。
【0051】
フェーズF2においてもステップS2〜S5の処理が行われ、このとき分周クロックCLK2は1から0に反転する。
【0052】
フェーズF3にあっては、ステップS2,S3,S6,S7の処理となる。即ち、ステップS2でパラメータQ1は
Q1=C−D=4−3=1
となり、ステップS3でパラメータQ1がプラスであることから、ステップS6に進む。
【0053】
ステップS6にあっては、パラメータCO=0であることから、クロック保持部10はクロック出力ホールドとなり、従って分周クロックCLK2は0を維持する。
【0054】
ステップS7にあっては、パラメータQAとしてCO=0により選択部8が減算部6の出力Q1を選択し、
QA=C−B=4−3=1
とし、データ保持部9がC=1を次のフェーズF4のため減算部6に出力する。
【0055】
フェーズF4にあっては、フェーズ1,フェーズ2と同様、ステップS2〜S5の処理が行われ、分周クロックCLK2は0から1に反転する。
【0056】
続いて図6及び図7のフェーズF5,F6,F7,F8の処理を行う。このうちフェーズF5,F8は分周クロックCLK2をホールドする処理となり、またフェーズF6,F7は分周クロックCLK2を反転する処理となっている。更に図7のフェーズF9,F10に進む。フェーズF9は分周クロックCLK2を反転する処理であり、フェーズF10は分周クロックCLK2をホールドする処理となる。
【0057】
このような図5〜図7におけるフェーズF1〜F10の処理により、入力する10MHzの発振クロックCLK1は3MHzの分周クロックCLK2に擬似的に分周される。
【0058】
即ち、フェーズF10に示すように、分周クロックCLK2は、300nsの分周クロック2つと400nsの分周クロックを組み合わせることにより10MHzの分周クロック10個分の周期1000nsと同一周期にしており、これによって10MHzの発振クロックを実質的に3MHzの分周クロックに分周することができる。フェーズF10が済むと、再び図5のフェーズF1に戻り、以下これを繰り返す。
【0059】
図8は図5〜図7のフェーズの繰り返しによって得られる10MHzを3MHzに擬似分周する場合の図3の実施形態における各部の信号波形のタイムチャートである。
【0060】
図8(A)は擬似分周回路2に入力する発振クロックCLK1であり、10MHzであることからクロック周期は100nsである。図8(B)は減算部6に入力されるデータ保持部9の出力パラメータCであり、発振クロックCLK1の周期ごとに、フェーズF1〜F10に示した値「2,4,1,3,0,2,4,1,3,0」と変化する。なおカッコ内は各値の2進数を表わしている。
【0061】
図8(C)は減算部6の出力パラメータQ1である。また図8(D)は減算部6よりキャリーアウトとして出力される出力パラメータCOの変化である。図8(E)は加算部7から出力される出力パラメータQ2であり、更に図8(F)は選択部8によりパラメータCOの値によって選択される出力パラメータQAである。
【0062】
更に図8(G)はクロック保持部10から出力される分周クロックCLK2である。この分周クロックCLK2は、クロック保持部10において発振クロックCLK1が立ち上がったタイミングで、そのときの減算部6からの出力パラメータCOがCO=1であれば出力を反転し、CO=0であれば出力をホールドすることにより得られている。
【0063】
なお図8(A)の発振クロックCLK1の立ち上がりタイミングにおける図8(D)の出力パラメータCOの値は、立ち上がりタイミング直前の値により図8(G)の発振クロックCLK1の反転とホールドを決めている。
【0064】
ここで図3の擬似分周回路2を構成するハードウェアとしてはPLD(Programmable Logic Device)やDSP(Digital Signal Processor)どの処理回路を使用することができる。したがってPLDやDSPなどを用いた場合には、図5のフローチャートが本発明の擬似分周処理を実行するためのプログラムの処理手順を表わすことになる。
【0065】
なお上記の実施形態は10MHzから3MHzの分周クロックを生成する場合を例にとるものであったが、パラメータA,Bの比率を変えることによって、この比率に応じた任意の周波数の分周クロックを生成することができる。
【0066】
また上記の実施形態にあっては、パラメータA,Bとして3ビット幅とした場合を例にとっているが、このデータビット幅についても自由に増やすことができる。例えばビット幅を12ビット程度とし下位4ビットをディップスイッチの設定状態に連動するようにしておけば、従来のように水晶発振器の外部容量の加減調整を必要とせず、ディップスイッチによる設定で高精度に分周出力する周波数を変化させることができる。
【0067】
またCPUを用いたパラメータA,Bの設定により分周周波数を変化させることができるため、モータなどの制御機器の回転速度を高精度に制御することが簡単にできる。また上記の実施形態にあっては、図3の擬似分周回路2としてプログラマブルロジックデバイス(PLD)を用いることができ、1チップのICに実装できる。
【0068】
また上記の実施形態はモータ制御を例にとるものであったが、分周クロックの周期が均等でないクロック、即ち位相差を問題としない用途であれば、これ以外の測定機器や適宜の制御機器における基準クロックとして、本発明の擬似分周による分周クロックを適用することができる。
【0069】
【発明の効果】
以上説明してきたように本発明によれば、発振クロックの周波数と分周クロックの周波数が整数比率でなくとも、周期の異なる分周クロックの組合せによって目的とする分周周波数の分周クロックを擬似的に生成することができ、必要とするクロック周波数と発振器の発振周波数の比が整数倍の関係になくとも、分周クロックを適切に得ることができる。
【0070】
また擬似的な分周クロックを得るための回路として、プログラマブルロジックデバイス(PLD)やDSPの1チップのICを使用して実装でき、特にプログラマブルロジックデバイス(PLD)を用いた場合には、使用する周波数に適合したクロック発振器を特注で製作する場合に比べ、そのコストを大幅に低減することができる。
【0071】
また本発明の擬似分周処理にあっては細かな周波数調整がデジタル的にできるため、従来の発振器のように外部可変容量などによる調整を必要とせず、簡単に周波数調整を行うことができる。
【0072】
更に、本発明の擬似分周処理におけるパラメータをCPUなどによりコントロールすることで、例えばモータなどの制御機器の回転速度を無段階に変化するような制御が実現でき、位置決め精度が要求されるセンサ機器などのモータ制御に使用することで制御精度を大幅に向上することができる。
【図面の簡単な説明】
【図1】本発明を用いたモータ制御装置の回路ブロック図
【図2】本発明の擬似分周回路おける発振クロックと分周クロックを正確な分周クロックと対比して示したタイムチャート
【図3】図2の擬似分周回路の実施形態を示した回路ブロック図
【図4】図3の擬似分周回路で10MHzを3MHzに擬似分周する場合の分周処理のフローチャート
【図5】図4のフローチャートに従った処理フェーズの説明図
【図6】図5に続く処理フェーズの説明図
【図7】図6に続く処理フェーズの説明図
【図8】10MHzを3MHzに擬似分周する場合の図3の実施形態における各部の信号波形のタイムチャート
【符号の説明】
1:水晶発振回路
2:擬似分周回路
3:モータ制御回路
4:モータ
5:回転同期パルス発生器
6:減算部
7:加算部
8:選択部
9:データ保持部
10:クロック保持部
11:分周出力端子
【発明の属する技術分野】
本発明は、時間管理を厳密に行う必要のある制御機器や測定機器の基準クロック信号を作るための周波数分周回路及び方法に関する。
【0002】
【従来の技術】
従来、大空間の火災監視に使用している走査型火災検出器は、垂直旋回モータによりミラーを垂直方向に旋回走査して火災を監視しており、水晶発振器からの発振クロックを分周した基準クロックを利用して高精度の回転制御を行っている。
【0003】
火災の垂直方向の位置確定には、火災検出素子のデータを時間的に切り出して、垂直方向の角度に変換しているため、垂直モータの回転速度を一定の速度で回転する必要があった。
【0004】
【特許文献1】
特開平6−36162号公報
【0005】
【発明が解決しようとする課題】
しかしながら、モータを固定的に決めた所定の周波数で回転制御する場合、モータ周波数の整数倍となるクロック周波数を発振する水晶発振器を選定する必要があるが、モータの周波数によっては、水晶発振器との周波数の比が必ずしも整数倍となっていない場合があり、分周回路を用いてもモータ周波数のクロックが得られず、水晶発振器の発信周波数に合わせてモータ制御用のクロック周波数を変更せざるを得ないという問題がある。勿論、モータ周波数に整数比で分周可能な発振器を準備すればよいが、このような発振器は特注品となるために、コストアップになる問題がある。
【0006】
また発振クロックの周波数とモータの周波数と比率が整数倍となる水晶発振器を選択した場合でも、発振器自身が例えば±0.01%程度の出力周波数偏差をもつため、より精度が必要な場合には、発振器の外部に可変容量を接続して調整する必要があり、調整に手間がかかる問題がある。
【0007】
本発明は、発振周波数と分周周波数が整数比でなくとも基準クロックとして使用可能な分周クロックを生成する周波数分周回路及び方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
この目的を達成するため本発明は次のように構成する。即ち本発明は周波数分周装置を提供するものであり、所定周波数の発振クロック信号を発振する発振回路と、発振クロック信号を非整数の分周比率をもつ周波数のクロック信号に分周する際に、周期が均等でない分周クロック信号の合計周期が所定数の発振クロック信号の合計周期に一致するように複数組み合わせて繰返し出力する擬似分周回路とを備えたことを特徴とする。
【0009】
このような本発明の周波数分周回路によれば、例えば10MHzの発振クロックを3MHzのクロックに分周する場合、10MHzの基準クロック10個に対し3個の分周クロックを生成すれば良いことから、300nsの分周クロック2個と400nsの分周クロック1個の3個を組み合わせて10MHzの発振クロック10個の周期1000nsに一致させ、300nsの分周クロック2個と400nsの分周クロック1個の組み合わせを発振クロックに同期して繰返し出力させて擬似的な分周を行う。
【0010】
この場合、分周クロックはその周期が均等に分周されないが、クロックの位相が問題とならない用途、例えばモータの回転制御では基準クロックとして問題なく使用することができる。
【0011】
このような擬似的な分周を行う擬似分周回路の具体的形態としては、発振周波数faと分周された出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されるパラメータA,Bを設定する設定器と、0を初期値とするパラメータCからパラメータBを減算してパラメータQ1を出力すると共に、パラメータQ1がマイナスの場合にパラメータCOとして1を出力し、パラメータQ1がゼロ又はプラスの場合にパラメータCOとして0を出力する減算部と、減算部の出力パラメータQ1と前記パラメータAを加算してパラメータQ2を出力する加算部と、減算部の出力パラメータCOが1の場合に加算部の出力パラメータQ2を選択してパラメータQAを出力し、減算部の出力パラメータCOが0の場合に減算部の出力パラメータQ1を選択してパラメータQAを出力する選択部と、発振クロック信号が入力するまで選択部の出力パラメータQAを保持して減算部にパラメータCとして出力するデータ保持部と、発振クロック信号と減算部のパラメータCOを入力し、発振クロック信号の入力時にパラメータCOが1であれば出力を反転し、発振クロック信号の入力時にパラメータCOが0であれば出力を維持して分周クロック信号を出力するクロック保持部とを備えたことを特徴とする。
【0012】
本発明は、また、擬似分周回路そのものを本発明の周波数分周回路として提供する。
【0013】
また本発明は、周波数分周方法を提供するものであり、この方法は、
設定器により、発振周波数faと分周された出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されるパラメータA,Bを設定する設定ステップと、
減算部により、0を初期値とするパラメータCからパラメータBを減算してパラメータQ1を出力すると共に、パラメータQ1がマイナスの場合にパラメータCOとして1を出力し、前記パラメータQ1がゼロ又はプラスの場合にパラメータCOとして0を出力する減算ステップと、
加算部により、減算ステップの出力パラメータQ1と前記パラメータAを加算してパラメータQ2を出力する加算ステップと、
選択部により、減算ステップの出力パラメータCOが1の場合に加算ステップの出力パラメータQ2を選択してパラメータQAを出力し、前記減算ステップの出力パラメータCOが0の場合に減算ステップの出力パラメータQ1を選択してパラメータQAを出力する選択ステップと、
データ保持部により、発振クロック信号が入力するまで前記選択ステップの出力パラメータQAを保持して減算ステップにパラメータCとして出力するデータ保持ステップと、
クロック保持部により、発振クロック信号と減算ステップのパラメータCOを入力し、発振クロック信号の入力時にパラメータCOが1であれば出力を反転し、発振クロック信号の入力時にパラメータCOが0であれば出力を維持して分周クロック信号を出力するクロック保持ステップと、
を備えたことを特徴とする。
【0014】
【発明の実施の形態】
図1は本発明が適用されるモータ制御装置の回路ブロック図である。図1において、モータ制御装置は、水晶発振回路1、擬似分周回路2、モータ制御回路3、モータ4及び回転同期パルス発生器5で構成されている。
【0015】
水晶発振回路1は水晶振動子を用いて自励発振を行う発振回路であり、周波数faの基準クロックCLKを出力する。擬似分周回路2は、発振クロック信号CLK1を入力して整数でない分周比率の周波数に分周して分周クロックを生成する回路であり、周期が均等でない分周クロックの合計周期が所定数の発振クロックCLK1の合計周期に一致するように複数組み合わせて繰り返し出力する。
【0016】
モータ制御回路3は、擬似分周回路2より出力される周波数fbの分周クロックCLK2を基準クロックとしてモータ4を制御する。このモータ制御は回転同期パルス発生器5よりモータ4の1回転の規定位置で回転基準信号が得られることから、この回転基準位置を基準に分周クロックCLK2として入力される基準クロックのカウントによりモータ4の1回転の時間を制御する。
【0017】
例えばモータ4が大空間の火災監視に使用している走査型火災検出器の垂直旋回モータであった場合には、垂直モータを一定速度で回転するための基準クロックがモータドライバに与えられ、垂直モータは一定速度で回転制御される。
【0018】
図2は、図1の擬似分周回路2における発振クロックCLK1と分周クロックCLK2を、正確な分周クロックCLK3と対比して示したタイムチャートである。
【0019】
図2において、まず擬似分周回路2に入力する図2(A)の発振クロックCLK1は10MHzであり、その周期は100nsである。ここで、擬似分周回路2が分周クロックCLK2として3MHzの分周クロックを出力させたいとする。従来の分周回路にあっては、10MHzの発振クロックCLK1を3MHzの分周クロックに分周した場合には分周クロックの周期は均等であることから、その場合の正確な分周クロックCLK3は図2(C)のように、周期が333ns(但し、小数点以下は切り捨て)の分周クロックを生成する。
【0020】
しかしながら、このような均等な周期を持つ正確な分周クロックCLKの生成はできないことから、本発明にあっては、図2(B)のように、入力する10MHzの発振クロック10個を3個の分周クロックとすればよいことから、300nsの分周クロック2個と400nsの分周クロック1個の3個を組み合わせて10MHzの発振クロック10個の周期1000nsに一致させ、この組合せを発振クロックCLK1に同期して繰り返す。
【0021】
このような本発明における擬似分周回路2の処理にあっては、出力される分周クロックの周期が均等にはならないが、図1のようにモータ4の1回転の時間を一定に制御し、また回転基準位置からの基準クロックのカウントで検出部を停止させるような制御の場合には、分周クロックの周期の相違、即ち分周クロックの位相は問題にならないことから、周期が均等でない分周クロックの組合せであっても、基準クロックとして問題なくモータ制御を行うことができる。
【0022】
ここで本発明の擬似分周処理の原理を説明すると次のようになる。まず本発明による擬似分周の目標は、
「A(Hz)の発振クロックをB(Hz)にクロックに分周する。但し、A/Bは非整数とする。」
と定義される。
【0023】
この目標として例えば「10Hzの発振クロックを3Hzのクロックに分周する。」を定義したとする。この場合、分周比率Qは、
Q=10/3=3.3333…=3余り1
となる。即ち、10Hzの発振クロックを3回カウントする毎に分周パルスを1つ出力する方法では1クロック余ってしまい、誤差が累積してしまう。そこで本発明にあっては、誤差の累積が無いように、3回カウントと4回カウントを組み合わせて、あたかも3.333…回ごとに分周パルスを出力するようなタイミングを作成する。
【0024】
このため本発明は次の処理を行う。まず一定時間の発振クロック数(発振周波数)をA、分周クロック数(分周周波数)をBとする。このため1分周当たリのクロック数QはQ=A/2B’となる。なお、分周クロック数Bを2倍しているのは、発振クロックの入力に対し分周クロックの立上り又は立下りとなる反転の有無を判別することによる。
【0025】
ここで2B=B’とすると、1分周当たリのクロック数QはQ=A/B’となる。従って、Q=A/B’回毎に分周パルスの出力タイミングを作成すればよい。このため本発明の分周処理の原理は、次のようになる。
【0026】
「分周パルスの出力タイミング発生までの残り回数をCとすると、初期条件はC=Qとなる。発振クロックのr回動作当たり、残り回数は1回滅少するので、
C=C−1 (1)
となる。残り回数Cがマイナスとなった場合が分周パルス出力タイミングまでの時間が経過したことになる。そこで、このときに分周パルス出力タイミング動作(例:タイミング信号の反転など)を行い、その時の残り回数Cに次の分周パルス出力タイミングのクロック時間Qを加える。このときの残り回数は
C=C+Q (2)
となり、クロックr回当たりの動作を繰り返す。」
【0027】
このような本発明の分周処理の原理には、(A/B’)の割算があり、実際のハードウェア回路を構築するのには不向きである。そこで、変数全体をB’倍して、分周処理を書き直すと次のようになる。
【0028】
「タイミング発生までの残り回数をC*B’=C’とすると、最初は
C’=Q=(A/B’)*B’=A (3)
となる。クロック1回動作当たり、次の残りの回数は1回減少するので、
C’=C’−1*B’=C’−B (4)
となる。
残り回数C’がマイナスとなった場合が分周パルス出力タイミングまでの時間が経過したことになる。従って分周パルス出力タイミング動作(例:タイミング信号の反転など)を行い、その時の残り回数Cに次の次の分周パルス出力タイミングまでのクロック数Qを加える。このときの残り回数は
C’=C1+Q*B’=C’+(A/B’)*B’=C’+A (5)
となり、クロック1回当たりの動作を繰り返す。」
【0029】
図3は図1に示した本発明による擬似分周回路2の実施形態を示した回路ブロック図である。この擬似分周回路2は、減算部6、加算部7、選択部8、データ保持部9及びクロック保持部10で構成される。
【0030】
まず加算部7と減算部6に対しては、図示しない設定器によりパラメータA,Bが設定される。パラメータA,Bは、入力する発振クロックCLK1の発振周波数faと分周出力端子11より出力される分周クロックCLK2の出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されたパラメータである。
【0031】
なお前述した本発明の擬似分周処理の原理にあっては、fb=Bとし、2fb=2B=B’としているが、以下の説明にあっては、このB’を単にBとしている。この点は前述した原理説明におけるパラメータC’についても同様であり、以下の説明にあってはパラメータC’を単にCとして表わしている。
【0032】
また、パラメータA,Bによって与えられる分周比率Q=A/Bは非整数である。
【0033】
減算部6は0を初期値とするパラメータCからパラメータBを減算し、パラメータQ1として
Q1=C−B
を出力する。これは前記(4)式に対応している。また減算部6は、パラメータQ1がマイナスの場合にパラメータCO(キャリーアウト)としてCO=1を出力し、パラメータQ1が0またはプラスの場合にはパラメータCOとしてCO=0を出力する。
【0034】
加算部7は、減算部6から出力されたパラメータQ1と初期設定されたパラメータAを加算して、パラメータQ2として
Q2=Q1+A=C−B+A
を出力する。これは前記(5)式に対応している。
【0035】
選択部8は、減算部6からのパラメータCOがCO=1の場合に、加算部7のパラメータQ2を選択してパラメータQAとして出力し、減算部6のパラメータCOがCO=0の場合には減算部6から出力されたパラメータQ1を選択してパラメータQAとして出力する。
【0036】
データ保持部9は、発振クロックCLK1が入力するまで選択部8の出力パラメータQAを保持し、減算部6にパラメータCとして出力する。
【0037】
クロック保持部10は、減算部6からのパラメータCOに基づいて分周クロックCLK2を分周出力端子11に出力する。即ちクロック保持部10は、発振クロックCLK1の入力時(例えば立上り時)に、減算部6からのパラメータCOがCO=1であれば出力を反転し、また発振クロックCLK1の入力時(立上り時)にパラメータCOがCO=0であれば出力を維持し、これによって分周クロックCLK2を分周出力端子11から出力する。
【0038】
図4は図3の擬似分周回路2における分周処理のフローチャートであり、10MHzの発振クロックCLK1を入力して3MHzの分周クロックCLK2に擬似分周する場合を例にとっている。この擬似分周処理の処理手順は次のようになる。
【0039】
に基づき、A=5、B=3を設定する。また、パラメータCとしてC=0を初期設定する。更に、分周クロックCLK2の出力としてCLK2出力=0を設定する。
【0040】
ステップS2:
減算部6によりパラメータCからパラメータBを(C−B)として減算し、これをパラメータQ1に代入して出力する。また同様にパラメータAからQ2=(C−B+A)を代入して出力する。
【0041】
ステップS3:
減算部6において、出力パラメータQ1が0より大きいか否かチェックし、パラメータQ1がマイナスであればステップS4に進み、0またはプラスであればステップS6に進む。
【0042】
ステップS4:
パラメータQ1がマイナスの場合であり、クロック保持部10で発振クロックCLK1が立ち上がったタイミングでクロック出力となるCLK2を反転する。
【0043】
ステップS5:
パラメータCO=1の場合であり、選択部8で加算部7の出力パラメータQ2(=C−B+A)を選択してデータ保持部9に保持させ、次に発振クロックCLK1が立ち上がるまで、パラメータCとして減算部6に入力させる。
【0044】
ステップS6:
減算部6の出力パラメータQ1が0またはプラスの場合であり、パラメータCO=0であることから、クロック保持部10は発振クロックCLK1が立ち上がったタイミングで分周クロックCLK2の出力をホールドする。
【0045】
ステップS7:
パラメータCO=0の場合であり、選択部8は減算部6からの出力パラメータQ1を選択して、出力パラメータQA(=C−B)をデータ保持部9に出力し、次に発振クロックCLK1が立ち上がるまで減算部6に対するパラメータCとして出力する。
【0046】
ステップS8:
クロック停止指示があれば処理を終了し、停止指示がなければステップS2に戻る。
【0047】
図5〜図7は、擬似分周回路2で10MHzを3MHzに擬似分周する場合の図4のフローチャートに従った処理フェーズの説明図である。なお1つのフェーズは、図4のステップS2〜S8の処理を発振クロックの入力で1回する処理を表わす。
【0048】
図5のフェーズF1は、図4のステップS1の初期設定に続く処理であり、この場合はステップS2〜S5の処理を実行する。即ちステップS2でパラメータQ1は
Q1=C−B=0−3=−3
であることから、ステップS3でパラメータQ1がマイナスであることが判別され、ステップS4に進む。
【0049】
ステップS4では、パラメータCO=1が減算部6から出力されることでクロック保持部10はクロック出力を反転する。このため分周クロックCLK2は、初期設定で0であったものが右側に示すように1に立ち上がる。
【0050】
続いてステップS5でパラメータQAとして
QA=D−B+A=0−3+5=2
を加算部7の出力パラメータQ2の選択部8による選択として取り出し、データ保持部9によりC=2として、次のフェーズF2のために減算部6に出力する。
【0051】
フェーズF2においてもステップS2〜S5の処理が行われ、このとき分周クロックCLK2は1から0に反転する。
【0052】
フェーズF3にあっては、ステップS2,S3,S6,S7の処理となる。即ち、ステップS2でパラメータQ1は
Q1=C−D=4−3=1
となり、ステップS3でパラメータQ1がプラスであることから、ステップS6に進む。
【0053】
ステップS6にあっては、パラメータCO=0であることから、クロック保持部10はクロック出力ホールドとなり、従って分周クロックCLK2は0を維持する。
【0054】
ステップS7にあっては、パラメータQAとしてCO=0により選択部8が減算部6の出力Q1を選択し、
QA=C−B=4−3=1
とし、データ保持部9がC=1を次のフェーズF4のため減算部6に出力する。
【0055】
フェーズF4にあっては、フェーズ1,フェーズ2と同様、ステップS2〜S5の処理が行われ、分周クロックCLK2は0から1に反転する。
【0056】
続いて図6及び図7のフェーズF5,F6,F7,F8の処理を行う。このうちフェーズF5,F8は分周クロックCLK2をホールドする処理となり、またフェーズF6,F7は分周クロックCLK2を反転する処理となっている。更に図7のフェーズF9,F10に進む。フェーズF9は分周クロックCLK2を反転する処理であり、フェーズF10は分周クロックCLK2をホールドする処理となる。
【0057】
このような図5〜図7におけるフェーズF1〜F10の処理により、入力する10MHzの発振クロックCLK1は3MHzの分周クロックCLK2に擬似的に分周される。
【0058】
即ち、フェーズF10に示すように、分周クロックCLK2は、300nsの分周クロック2つと400nsの分周クロックを組み合わせることにより10MHzの分周クロック10個分の周期1000nsと同一周期にしており、これによって10MHzの発振クロックを実質的に3MHzの分周クロックに分周することができる。フェーズF10が済むと、再び図5のフェーズF1に戻り、以下これを繰り返す。
【0059】
図8は図5〜図7のフェーズの繰り返しによって得られる10MHzを3MHzに擬似分周する場合の図3の実施形態における各部の信号波形のタイムチャートである。
【0060】
図8(A)は擬似分周回路2に入力する発振クロックCLK1であり、10MHzであることからクロック周期は100nsである。図8(B)は減算部6に入力されるデータ保持部9の出力パラメータCであり、発振クロックCLK1の周期ごとに、フェーズF1〜F10に示した値「2,4,1,3,0,2,4,1,3,0」と変化する。なおカッコ内は各値の2進数を表わしている。
【0061】
図8(C)は減算部6の出力パラメータQ1である。また図8(D)は減算部6よりキャリーアウトとして出力される出力パラメータCOの変化である。図8(E)は加算部7から出力される出力パラメータQ2であり、更に図8(F)は選択部8によりパラメータCOの値によって選択される出力パラメータQAである。
【0062】
更に図8(G)はクロック保持部10から出力される分周クロックCLK2である。この分周クロックCLK2は、クロック保持部10において発振クロックCLK1が立ち上がったタイミングで、そのときの減算部6からの出力パラメータCOがCO=1であれば出力を反転し、CO=0であれば出力をホールドすることにより得られている。
【0063】
なお図8(A)の発振クロックCLK1の立ち上がりタイミングにおける図8(D)の出力パラメータCOの値は、立ち上がりタイミング直前の値により図8(G)の発振クロックCLK1の反転とホールドを決めている。
【0064】
ここで図3の擬似分周回路2を構成するハードウェアとしてはPLD(Programmable Logic Device)やDSP(Digital Signal Processor)どの処理回路を使用することができる。したがってPLDやDSPなどを用いた場合には、図5のフローチャートが本発明の擬似分周処理を実行するためのプログラムの処理手順を表わすことになる。
【0065】
なお上記の実施形態は10MHzから3MHzの分周クロックを生成する場合を例にとるものであったが、パラメータA,Bの比率を変えることによって、この比率に応じた任意の周波数の分周クロックを生成することができる。
【0066】
また上記の実施形態にあっては、パラメータA,Bとして3ビット幅とした場合を例にとっているが、このデータビット幅についても自由に増やすことができる。例えばビット幅を12ビット程度とし下位4ビットをディップスイッチの設定状態に連動するようにしておけば、従来のように水晶発振器の外部容量の加減調整を必要とせず、ディップスイッチによる設定で高精度に分周出力する周波数を変化させることができる。
【0067】
またCPUを用いたパラメータA,Bの設定により分周周波数を変化させることができるため、モータなどの制御機器の回転速度を高精度に制御することが簡単にできる。また上記の実施形態にあっては、図3の擬似分周回路2としてプログラマブルロジックデバイス(PLD)を用いることができ、1チップのICに実装できる。
【0068】
また上記の実施形態はモータ制御を例にとるものであったが、分周クロックの周期が均等でないクロック、即ち位相差を問題としない用途であれば、これ以外の測定機器や適宜の制御機器における基準クロックとして、本発明の擬似分周による分周クロックを適用することができる。
【0069】
【発明の効果】
以上説明してきたように本発明によれば、発振クロックの周波数と分周クロックの周波数が整数比率でなくとも、周期の異なる分周クロックの組合せによって目的とする分周周波数の分周クロックを擬似的に生成することができ、必要とするクロック周波数と発振器の発振周波数の比が整数倍の関係になくとも、分周クロックを適切に得ることができる。
【0070】
また擬似的な分周クロックを得るための回路として、プログラマブルロジックデバイス(PLD)やDSPの1チップのICを使用して実装でき、特にプログラマブルロジックデバイス(PLD)を用いた場合には、使用する周波数に適合したクロック発振器を特注で製作する場合に比べ、そのコストを大幅に低減することができる。
【0071】
また本発明の擬似分周処理にあっては細かな周波数調整がデジタル的にできるため、従来の発振器のように外部可変容量などによる調整を必要とせず、簡単に周波数調整を行うことができる。
【0072】
更に、本発明の擬似分周処理におけるパラメータをCPUなどによりコントロールすることで、例えばモータなどの制御機器の回転速度を無段階に変化するような制御が実現でき、位置決め精度が要求されるセンサ機器などのモータ制御に使用することで制御精度を大幅に向上することができる。
【図面の簡単な説明】
【図1】本発明を用いたモータ制御装置の回路ブロック図
【図2】本発明の擬似分周回路おける発振クロックと分周クロックを正確な分周クロックと対比して示したタイムチャート
【図3】図2の擬似分周回路の実施形態を示した回路ブロック図
【図4】図3の擬似分周回路で10MHzを3MHzに擬似分周する場合の分周処理のフローチャート
【図5】図4のフローチャートに従った処理フェーズの説明図
【図6】図5に続く処理フェーズの説明図
【図7】図6に続く処理フェーズの説明図
【図8】10MHzを3MHzに擬似分周する場合の図3の実施形態における各部の信号波形のタイムチャート
【符号の説明】
1:水晶発振回路
2:擬似分周回路
3:モータ制御回路
4:モータ
5:回転同期パルス発生器
6:減算部
7:加算部
8:選択部
9:データ保持部
10:クロック保持部
11:分周出力端子
Claims (4)
- 所定周波数の発振クロック信号を発振する発振回路と、
前記発振クロック信号を非整数の分周比率をもつ周波数のクロック信号に分周する際に、周期が均等でない分周クロック信号の合計周期が所定数の発振クロック信号の合計周期に一致するように複数組み合わせて繰返し出力する擬似分周回路と、
を備えたことを特徴とする周波数分周回路。 - 請求項1記載の周波数分周回路に於いて、前記擬似分周回路は、
発振周波数faと分周された出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されるパラメータA,Bを設定する設定器と、
0を初期値とするパラメータCから前記パラメータBを減算してパラメータQ1を出力すると共に、前記パラメータQ1がマイナスの場合にパラメータCOとして1を出力し、前記パラメータQ1がゼロ又はプラスの場合にパラメータCOとして0を出力する減算部と、
前記減算部の出力パラメータQ1と前記パラメータAを加算してパラメータQ2を出力する加算部と、
前記減算部の出力パラメータCOが1の場合に前記加算部の出力パラメータQ2を選択してパラメータQAを出力し、前記減算部の出力パラメータCOが0の場合に前記減算部の出力パラメータQ1を選択してパラメータQAを出力する選択部と、
発振クロック信号が入力するまで前記選択部の出力パラメータQAを保持して前記減算部にパラメータCとして出力するデータ保持部と、
発振クロック信号と前記減算部のパラメータCOを入力し、発振クロック信号の入力時にパラメータCOが1であれば出力を反転し、発振クロック信号の入力時にパラメータCOが0であれば出力を維持して分周クロック信号を出力するクロック保持部と、
を備えたことを特徴とする周波数分周回路。 - 発振周波数faと分周された出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されるパラメータA,Bを設定する設定器と、
0を初期値とするパラメータCから前記パラメータBを減算してパラメータQ1を出力すると共に、前記パラメータQ1がマイナスの場合にパラメータCOとして1を出力し、前記パラメータQ1がゼロ又はプラスの場合にパラメータCOとして0を出力する減算部と、
前記減算部の出力パラメータQ1と前記パラメータAを加算してパラメータQ2を出力する加算部と、
前記減算部の出力パラメータCOが1の場合に前記加算部の出力パラメータQ2を選択してパラメータQAを出力し、前記減算部の出力パラメータCOが0の場合に前記減算部の出力パラメータQ1を選択してパラメータQAを出力する選択部と、
発振クロック信号が入力するまで前記選択部の出力パラメータQAを保持して前記減算部にパラメータCとして出力するデータ保持部と、
発振クロック信号と前記減算部のパラメータCOを入力し、発振クロック信号の入力時にパラメータCOが1であれば出力を反転し、発振クロック信号の入力時にパラメータCOが0であれば出力を維持して分周クロック信号を出力するクロック保持部と、
を備えたことを特徴とする周波数分周回路。 - 設定器により、発振周波数faと分周された出力周波数fbを2倍した周波数との比率
fa:2fb=A:B
として設定されるパラメータA,Bを設定する設定ステップと、
減算部により、0を初期値とするパラメータCから前記パラメータBを減算してパラメータQ1を出力すると共に、前記パラメータQ1がマイナスの場合にパラメータCOとして1を出力し、前記パラメータQ1がゼロ又はプラスの場合にパラメータCOとして0を出力する減算ステップと、
加算部により、前記減算ステップの出力パラメータQ1と前記パラメータAを加算してパラメータQ2を出力する加算ステップと、
選択部により、前記減算ステップの出力パラメータCOが1の場合に前記加算ステップの出力パラメータQ2を選択してパラメータQAを出力し、前記減算ステップの出力パラメータCOが0の場合に前記減算ステップの出力パラメータQ1を選択してパラメータQAを出力する選択ステップと、
データ保持部により、発振クロック信号が入力するまで前記選択ステップの出力パラメータQAを保持して前記減算ステップにパラメータCとして出力するデータ保持ステップと、
クロック保持部により、発振クロック信号と前記減算ステップのパラメータCOを入力し、発振クロック信号の入力時にパラメータCOが1であれば出力を反転し、発振クロック信号の入力時にパラメータCOが0であれば出力を維持して分周クロック信号を出力するクロック保持ステップと、
を備えたことを特徴とする周波数分周方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003127065A JP2004336232A (ja) | 2003-05-02 | 2003-05-02 | 周波数分周回路及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003127065A JP2004336232A (ja) | 2003-05-02 | 2003-05-02 | 周波数分周回路及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004336232A true JP2004336232A (ja) | 2004-11-25 |
Family
ID=33503755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003127065A Pending JP2004336232A (ja) | 2003-05-02 | 2003-05-02 | 周波数分周回路及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004336232A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008017659A (ja) * | 2006-07-07 | 2008-01-24 | Canon Inc | ステッピングモータ駆動装置、ステッピングモータ駆動方法、及びプログラム |
JP2014165996A (ja) * | 2013-02-22 | 2014-09-08 | Nk Works Co Ltd | パルスモータ駆動装置およびパルスモータ駆動方法 |
-
2003
- 2003-05-02 JP JP2003127065A patent/JP2004336232A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008017659A (ja) * | 2006-07-07 | 2008-01-24 | Canon Inc | ステッピングモータ駆動装置、ステッピングモータ駆動方法、及びプログラム |
JP2014165996A (ja) * | 2013-02-22 | 2014-09-08 | Nk Works Co Ltd | パルスモータ駆動装置およびパルスモータ駆動方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW525348B (en) | Digital PLL circuit and clock generation method | |
JP6812781B2 (ja) | 遅延回路、カウント値生成回路および物理量センサー | |
EP1550934A1 (en) | Multi-stage NCO | |
JP4565992B2 (ja) | 任意周波数制御クロックを有するdds回路 | |
CN111642139B (zh) | 频率调节器及其频率调节方法、电子设备 | |
JP2007047160A (ja) | 調節可能な時間アキュムレータ | |
JP2012217121A (ja) | デジタル位相同期回路および物理量検出センサ | |
JP2004336232A (ja) | 周波数分周回路及び方法 | |
JP2017112458A (ja) | スペクトラム拡散クロック発生回路及びスペクトラム拡散クロック発生方法 | |
JP4955196B2 (ja) | 交流信号測定装置 | |
JP2004166114A (ja) | クロック生成回路 | |
JP2004032586A (ja) | 逓倍pll回路 | |
JP2011061929A (ja) | モータ速度制御装置 | |
JP2008098790A (ja) | 発振装置および周波数検出装置 | |
JP2022006391A (ja) | 周波数計測装置、マイクロコントローラー及び電子機器 | |
JP4299352B2 (ja) | ディジタル処理装置 | |
JPH11225066A (ja) | クロック生成回路 | |
JP5294718B2 (ja) | 周波数変換器 | |
JPH09203756A (ja) | 信号発生装置 | |
JP3058598B2 (ja) | デジタル移相器 | |
RU2534929C2 (ru) | Способ дискретного задания фазового сдвига между двумя монохроматическими гармоническими изначально синхронными сигналами, и устройство для его осуществления | |
JP7040572B2 (ja) | 遅延回路、カウント値生成回路および物理量センサー | |
JP2006324961A (ja) | クロック周波数制御装置 | |
JP2011151672A (ja) | 分周装置および制御回路 | |
JP2018136261A (ja) | トリガ回路及びトリガ発生方法とサンプリングオシロスコープ及びサンプリング方法 |