(57)【特許請求の範囲】
【請求項１】
制御入力に基づいて出力周波数を変化させる可変周波数発振器と、
外部から同期信号が入力されているときには、前記同期信号の周期を記憶しておくと共に、前記可変周波数発振器の出力をカウントして得られたカウント値を前記同期信号が外部から入力されたタイミングでチェックして、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように前記可変周波数発振器の出力周波数を制御し、外部から同期信号が入力されていないときには、前記同期信号が入力されていたときに記憶された前記同期信号の周期に対応した所定周期で前記カウント値をチェックすると共に、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように前記可変周波数発振器の出力周波数を制御する制御手段と
を備えたことを特徴とする周波数制御方式。
【請求項２】
出力周波数が固定された固定周波数発振器と、
外部から同期信号が入力されなくなったときに前記可変周波数発振器から前記固定周波数発振器へその出力を切り替える切り替え手段と
を更に備えたことを特徴とする請求項１記載の周波数制御方式。
【請求項３】
出力信号の周波数を変化させる出力周波数可変処理と、
外部から同期信号が入力されているときには、前記同期信号の周期を記憶しておくと共に、前記出力信号をカウントして得られたカウント値を前記同期信号が外部から入力されたタイミングでチェックして、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように前記出力信号の周波数を制御し、外部から同期信号が入力されていないときには、前記同期信号が入力されていたときに記憶された前記同期信号の周期に対応した所定周期で前記カウント値をチェックすると共に、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように前記出力信号の周波数を制御する周波数制御処理と
を含む周波数制御プログラムを記録してなる媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、外部からの同期信号に同期した出力を得る機器において、同期信号が入力されなくなった場合の周波数制御方式に関する。
【０００２】
【従来の技術】
従来より、入力信号に同期した出力信号を生成する周波数制御方式としてＰＬＬ（位相ロックループ）回路が知られている。一般的なＰＬＬ回路は、入力信号と出力信号（再生クロック信号等）とを位相比較する位相比較器と、その出力を平滑化するループフィルタと、その出力によって周波数が変化する再生クロックを出力するＶＣＯ（電圧制御発振器）とを基本として構成される。また、例えば１ｋＨｚの入力信号からこれに同期する４４．１ｋＨｚのサンプリングクロックを再生するような場合、４４．１ｋＨｚの再生クロックの周波数を１ｋＨｚまで低減させるための分周回路が位相比較器へのフィードバック経路に必要となる。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来のＰＬＬ回路の場合、全ての素子をハードウェアで構成しなくてはならないため、特に分周段数が多いと素子数も多くなり、回路構成が複雑になるという問題がある。
【０００４】
また、例えばパーソナルコンピュータ（以下、ＰＣと呼ぶ）等から同期信号を入力し、この同期信号に同期するように内部のＶＣＯを制御する機器を想定した場合、ＰＣの電源切断やバスの切断によって同期信号が入力されなくなると、出力周波数が変動し、同期すべき機器の動作状態が変化してしまったり、再度ＰＣと接続した際の入力周波数と出力周波数が大きくかけ離れてしまう。従来の回路は、引き込み時の応答性がループフィルタの時定数に依存し、出力周波数の安定性を考慮すると、この時定数はある程度大きくしなくてはならないため、入力周波数と出力周波数とがこのように大きくかけ離れていると、引き込みに時間がかかるという問題がある。
【０００５】
この発明は、このような問題点に鑑みなされたもので、回路構成が簡単で、引き込み速度も速く、外部から同期信号が入力されなくなった場合でも、同期時の周波数を維持することができる周波数制御方式を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この発明に係る周波数制御方式は、制御入力に基づいて出力周波数を変化させる可変周波数発振器と、外部から同期信号が入力されているときには、前記同期信号の周期を記憶しておくと共に、前記可変周波数発振器の出力をカウントして得られたカウント値を前記同期信号が外部から入力されたタイミングでチェックして、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように前記可変周波数発振器の出力周波数を制御し、外部から同期信号が入力されていないときには、前記同期信号が入力されていたときに記憶された前記同期信号の周期に対応した所定周期で前記カウント値をチェックすると共に、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように前記可変周波数発振器の出力周波数を制御する制御手段とを備えたことを特徴とする。
【０００７】
この発明では、可変周波数発振器の出力をカウントし、外部から同期信号が入力されているときには、この同期信号の入力タイミングでカウント値をチェックして、このカウント値と目標値との差分を求め、これを吸収するように可変周波数発振器の発振周波数を制御する。また、外部から同期信号が入力されなくなった場合には、同期信号が入力されていたときに記憶しておいた同期信号の周期に関する情報に基づいて、固定の所定周期でカウント値をチェックし、このカウント値と目標値との差分を求め、これを吸収するように可変周波数発振器の発振周波数を制御する。
【０００８】
従って、この発明によれば、発振器出力のカウント、そのカウント値と目標値との差分算出及び可変周波数発振器の制御量算出は、全てソフトウェアによって実現することができ、必要とする素子数を大幅に削減することができる。また、外部からの同期信号の入力がなくなった場合には、同期信号が入力されていたときに得られた同期信号の周期に関する情報に基づいて、あたかも外部から同期信号が与えられているのと同様に、固定の周期でカウント値をチェックして可変周波数発振器の出力周波数を制御するようにしているので、可変周波数発振器の出力周波数を外部同期信号により最後に同期していた周波数に安定に維持することができる。また、バスの再接続時等においても、先の接続時の周波数が維持されていることから、速やかに同期動作への復帰が可能になる。
【０００９】
なお、出力周波数が固定された固定周波数発振器と、外部から同期信号が入力されなくなったときに前記可変周波数発振器から前記固定周波数発振器へその出力を切り替える切り替え手段とを更に備えるようにすると、同期信号が入力されているときには同期信号に同期した任意の周波数の出力信号、同期信号が入力されていないときには単独の機器として動作可能な高精度の固定周波数の出力信号が得られ、外部からの同期信号の有無によってＰＣに同期した装置と独自の高精度基準信号に基づく単体の装置とに使い分けることができる。
【００１０】
また、この発明は、全ての処理をソフトウェアによって実行することもできる。この場合、この発明に係る媒体に記録された周波数制御プログラムは、制御入力に基づいて出力信号の周波数を変化させる出力周波数可変処理と、外部から同期信号が入力されているときには、前記同期信号の周期を記憶しておくと共に、前記出力信号をカウントして得られたカウント値を前記同期信号が外部から入力されたタイミングでチェックして、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように前記出力信号の周波数を制御し、外部から同期信号が入力されていないときには、前記同期信号が入力されていたときに記憶された前記同期信号の周期に対応した所定周期で前記カウント値をチェックすると共に、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように前記出力信号の周波数を制御する周波数制御処理とを含む。
【００１１】
【発明の実施の形態】
以下、図面を参照して、この発明の好ましい実施の形態について説明する。
図１は、この発明の一実施例に係る周波数制御回路を適用したシステムの構成例を示す図である。
同期の基準となるタイミングを与えるコンピュータ１と、このコンピュータ１からの出力に同期する同期対象機器２とは、例えばＵＳＢ（Universal Serial Bus）等の信号ケーブル３を介して接続されている。同期対象機器２としては、例えばコンピュータ１から出力される音楽データを受信して楽音を生成出力するＰＣ音源機能とＣＤ、ＤＡＴ等のオーディオ機能とを兼ね備えた簡易型オーディオ機器等が考えられる。この同期対象機器２の中にこの発明に係る周波数制御回路が内蔵されている。
【００１２】
図２は、この周波数制御回路の構成を示すブロック図である。
この回路は、周波数制御手段としての制御用マイクロコンピュータ（以下、制御用マイコンと呼ぶ）１１と、可変周波数発振器としてのＶＣＯ（電圧制御発振器）１２と、固定周波数発振器としてのＯＳＣ１３と、ＶＣＯ１２及びＯＳＣ１３の出力を切り替えるスイッチ１４とを備えて構成されている。制御用マイコン１１は、カウンタ１５とタイマ１６を内蔵し、３つのポートＡ，Ｂ，Ｃを備えている。カウンタ１５は、ポートＢを介して入力されるＶＣＯ１２の出力Ｆｓ１をカウントする。制御用マイコン１１は、外部から同期信号ＳＹＮＣが入力されるときには同期信号ＳＹＮＣの入力タイミング、同期信号ＳＹＮＣが入力されないときには内部で発生させたタイミングでカウンタ１５の値を読み取り、内部の目標値と比較して、その比較結果に基づいてポートＡを介してアップパルスＰU又はダウンパルスＰDをＶＣＯ１２に出力してＶＣＯ１２の出力周波数を制御する。タイマ１６は、制御用マイコン１１に同期信号ＳＹＮＣが一定時間入力されないときにポートＣを介してスイッチ１４を切り替えるための切り替え信号ＳＥＬを出力する。
【００１３】
図３は制御用マイコン１１に入力される同期信号ＳＹＮＣとカウンタ１５及びタイマ１６の変化等を示したタイミングチャートである。
同期信号ＳＹＮＣが、例えば周期Ｔの間隔で制御用マイコン１１に入力されているときには、同期信号ＳＹＮＣ入力時のカウンタ１５の値と目標値との差分に基づいてアップパルスＰU又はダウンパルスＰDが出力され、ＶＣＯ１２の出力信号Ｆｓ１の周波数が同期信号ＳＹＮＣと同期するように制御される。このとき、スイッチ１４は、ＶＣＯ１２の出力を選択しているので、ＶＣＯ１２の出力信号Ｆｓ１が出力信号Ｆｓとして出力される。同期信号ＳＹＮＣの入力時には、タイマ１６の値がロードされ、これが同期信号ＳＹＮＣが入力される度に更新される。カウンタ１５及びタイマ１６は、同期信号ＳＹＮＣが入力され、それらの値のチェック及びロードが終了したのちにリセットされる。
【００１４】
ＰＣ１の電源切断等の何らかの理由により、同期信号ＳＹＮＣの入力がなくなり、タイマ１６が一定の時間Ｔ’に達すると、切り替え信号ＳＥＬの出力レベルが変化して、スイッチ１４がＯＳＣ１３の出力側に切り替わる。これにより、出力信号Ｆｓは、ＯＳＣ１３からの固定周波数の出力信号Ｆｓ２に切り替わる。制御用マイコン１１の内部には、同期信号ＳＹＮＣが最後に入力された際にロードされたタイマ１６の値がロードされているので、この値を周期としてカウンタ１５の値と目標値との差分を監視し、ＶＣＯ１２の制御を続行する。このようにＶＣＯ１２の制御を続行するのは、ＶＣＯ１２が何らの制御もなされないと、ＶＣＯ内部のリーク電流によって出力周波数が徐々に変化してしまうからである。これにより、次に同期信号ＳＹＮＣが入力されたときの速やかな引き込み動作が保証される。また、時間Ｔ’を特に同期信号Ｔの整数倍に設定しておくと、内部同期の開始タイミングを外部同期信号ＳＹＮＣの入力されていたタイミングに一致させることができるので、ＶＣＯ１２の出力信号Ｆｓ１の位相も変動せずに、同期制御を続行させることができる。
【００１５】
図４は、上述した周波数制御の手順を示すフローチャートである。
まず、同期信号ＳＹＮＣが入力されているかどうかをチェックし（Ｓ１）、同期信号ＳＹＮＣが入力されていないときには、タイマ１６が時間Ｔ’を超過しない限り、同期信号ＳＹＮＣの有無のチェックを繰り返す（Ｓ２）。同期信号ＳＹＮＣの入力があったときは、ＶＣＯ１２の発振周波数を同期信号ＳＹＮＣ基準で制御する（Ｓ３）。
【００１６】
図５は、同期信号ＳＹＮＣ入力時のＶＣＯ１２の発振周波数の制御処理を示すフローチャートである。
まず、カウンタ１５の値Ｎと目標値Ｎ0との差分ΔＮを計算する（Ｓ１１）。
目標値Ｎ0は、例えばＰＣ１との接続時に制御用マイコン１１の内部のＲＡＭやレジスタ等に格納される。差分ΔＮが０であるかどうかをチェックし（Ｓ１２）、０でない場合にはΔＮに応じた適切なパルス幅のパルスＰU又はＰDを生成しＰＷＭ（パルス幅変調）出力するが（Ｓ１３）、０である場合にはパルスは生成しない。次に、Ｔにタイマ１６の値をロードし、カウンタ１５とタイマ１６をクリアする（Ｓ１４）。
【００１７】
図４のステップＳ２でタイマ１６がＴ’secを越えたことを検出すると（Ｓ２）、カウンタ１５とタイマ１６をクリアして、出力信号ＦｓをＶＣＯ１２の出力Ｆｓ１からＯＳＣ１３の出力Ｆｓ２に切り替える（Ｓ４）。そして、ＶＣＯ１２の発振周波数を同期信号ＳＹＮＣが存在したときの周波数に制御する。即ちＴにロードされているタイマ値に対応した周期でカウンタ１５の値をチェックしてＶＣＯ１２を制御する（Ｓ５）。
【００１８】
図６は、同期信号ＳＹＮＣがないときのＶＣＯ１２の発振周波数の制御処理を示すフローチャートである。
まず、タイマ１６の値がロードされているＴの値と等しいかどうかを判定する（Ｓ２１）。タイマ１６の値がＴの値に等しいときには、仮想的な同期信号の入力タイミングであるとみなし、等しくないときには同期信号の入力タイミングでないとみなす。従って、タイマ１６の値がＴと等しいときのみ、カウンタ１５の値Ｎと目標値Ｎ0との差分ΔＮを計算し（Ｓ２２）、差分ΔＮが０であるかどうかをチェックし（Ｓ２３）、０でない場合にはΔＮに応じた適切なパルス幅のパルスＰU又はＰDを生成しＰＷＭ（パルス幅変調）出力するが（Ｓ２４）、０である場合にはパルスは生成しない。そして、Ｔにタイマ１６の値をロードし、カウンタ１５とタイマ１６をクリアする（Ｓ２５）。
【００１９】
図４に示すように、この処理（Ｓ５）が終了したら、同期信号ＳＹＮＣの存在をチェックし（Ｓ６）、もし同期信号ＳＹＮＣが検出されなかったら上記の処理を繰り返すが、この繰り返しの過程で同期信号ＳＹＮＣが検出されたら、出力信号ＦｓをＯＳＣ１３の出力信号Ｆｓ２からＶＣＯ１２の出力信号Ｆｓ１に切り替えて（Ｓ７）、ＶＣＯ１２の発振周波数を同期信号ＳＹＮＣ基準で制御する（Ｓ３）。
【００２０】
このように、同期信号ＳＹＮＣの入力の有無によってＶＣＯ１２とＯＳＣ１３の出力を切り替えることにより、同期対象機器２をＰＣ１の制御によるＰＣ音源として使用する場合と、単体のオーディオ機器として使用する場合とに使い分けることができる。この場合、次のような利点がある。即ち、ＰＣ音源の場合、音質よりも容量が重視されることが多く、サンプリング周波数Ｆｓ（例えば１１．０２５，２２．０５，４４．１ｋＨｚ等）や分解能（例えば８，１６ビット等）の組み合わせは様々である。これに対し、単体のオーディオ機器の場合、音質が重要であり、ＣＤ，ＤＡＴ等でのサンプリング周波数Ｆｓ（４４．１，４８ｋＨｚ）や分解能（１６，２０ビット）は固定である。従って、機器２がＰＣ１と接続して使用される場合は、広い周波数に対応できるＶＣＯ１２が有利であり、単体のオーディオ機器として使用する場合は、発振周波数が固定の信頼性の高い発振器を使用する方が良質な音が期待できる。
【００２１】
制御用マイコン１１によって生成されるアップパルスＰU及びダウンパルスＰDのパルス幅は、例えば図７（ａ）に示すように、差分ΔＮに応じて線形に変化する他、同図（ｂ）に示すように、ΔＮがある範囲を超えると最大値となるように非線形に変化するようにしても良い。この場合、引き込み時間が短くなるという利点がある。なお、図中右側（正方向側）はアップパルスＰU、左側（負方向側）はダウンパルスＰDの出力範囲をそれぞれ示している。制御用マイコン１１がテーブルを持つ場合には、図７（ａ），（ｂ）の第１象限の関係テーブルのみを作成し、｜ΔＮ｜を求めると共に、その符号によってアップダウンを切り換えるように構成すればテーブルの容量が半分で済む。
【００２２】
また、例えば図８（ａ），（ｂ）に示すように、差分ΔＮが最小値から最大値まで変化する間にデューティー比が０から１００％まで変化するパルスをＶＣＯ１２の制御信号として用いれば、前述のように２種類のパルスを用いなくても、１種類の制御信号によってＶＣＯ１２をコントロールすることが可能になり、制御用マイコン１１のポート数を削減することができる。
【００２４】
図９は、固定周波数発振器としてのＯＳＣを使用せず、同期信号ＳＹＮＣの未入力時には、周波数制御されたＶＣＯ１２の出力信号Ｆｓ１を出力信号として使用する例を示している。この回路の周波数制御処理は、図４の処理のステップＳ４及びＳ７におけるＶＣＯ１２とＯＳＣ１３の切り替え処理を除いた処理となる。このような回路でも、同期信号ＳＹＮＣ未入力時のＶＣＯ１２の出力を固定周波数発振器の出力として使用することは可能である。
【００２５】
また、この発明は、全ての処理をソフトウェアによって実現することも可能である。この場合、周波数制御プログラムには、出力周波数可変処理と出力周波数制御処理とを備えるようにすればよい。出力周波数可変処理は、制御入力に基づいて出力信号Ｆｓ１の周波数を変化させるような発振処理をタイマー処理によって実現する。出力周波数制御処理は、外部から同期信号ＳＹＮＣが入力されているときには、同期信号ＳＹＮＣの周期Ｔを記憶しておくと共に、出力信号Ｆｓ１をカウントして得られたカウント値を同期信号ＳＹＮＣが外部から入力されたタイミングでチェックして、このチェック時のカウント値と予め定めた目標値との差分を求め、この差分を吸収するように出力信号Ｆｓ１の出力周波数を制御し、外部から同期信号ＳＹＮＣが入力されていないときには、ロードされている時間Ｔの間隔でカウント値をチェックすると共に、上記と同様に出力信号Ｆｓ１の周波数を制御する処理となる。このようなプログラムはＦＤ，ＣＤ−ＲＯＭ等の記録媒体に記録されて提供されるか、又は適当な通信媒体を介して提供される。
【００２６】
なお、この発明は上述した実施例に限定されるものではない。例えば、図２の回路では、ＯＳＣ１３を１つだけ設けたが、出力周波数が異なる複数のＯＳＣを備え、これらを用途に応じて切り替えるようにしても良い。
【００２７】
【発明の効果】
以上述べたように、この発明によれば、発振器出力のカウント、そのカウント値と目標値との差分算出及び可変周波数発振器の制御量算出は、全てソフトウェアによって実現することができ、必要とする素子数を大幅に削減することができる。また、外部からの同期信号の入力がなくなった場合には、同期信号が入力されていたときに得られた同期信号の周期に関する情報に基づいて、あたかも外部から同期信号が与えられているのと同様に、固定の周期でカウント値をチェックして可変周波数発振器の出力周波数を制御するようにしているので、可変周波数発振器の出力周波数を外部同期信号により最後に同期していた周波数に安定に維持することができ、バスの再接続時等においても、先の接続時の周波数が維持されていることから、速やかに同期動作への復帰が可能になるという効果を奏する。
【図面の簡単な説明】
【図１】 この発明の一実施例に係る周波数制御回路が適用されるシステムの構成を示す図である。
【図２】 同システムで使用される実施例の周波数制御回路のブロック図である。
【図３】 同回路への同期信号及び各部の状態を示すタイミングチャートである。
【図４】 同回路の周波数制御処理を示すフローチャートである。
【図５】 同処理における同期信号存在時のＶＣＯの制御処理を示すフローチャートである。
【図６】 図４の処理における同期信号不存在時のＶＣＯの制御処理を示すフローチャートである。
【図７】 同回路における差分ΔＮと制御パルスのパルス幅との関係を示すグラフである。
【図８】 同回路における他の例の差分ΔＮと制御パルスの関係を示すグラフである。  
【図９】 この発明の更に他の実施例に係る周波数制御回路のブロック図である。
【符号の説明】
１…コンピュータ、２…同期対象機器、３…信号ケーブル、１１…制御用マイコン、１２…ＶＣＯ、１３…ＯＳＣ、１４…スイッチ、１５…カウンタ、１６…タイマ。
【図１】
0003814980.tif 000002
【図２】
0003814980.tif 000003
【図３】
0003814980.tif 000004
【図４】
0003814980.tif 000005
【図５】
0003814980.tif 000006
【図６】
0003814980.tif 000007
【図７】
0003814980.tif 000008
【図８】
0003814980.tif 000009
【図９】
0003814980.tif 000010