(57)【特許請求の範囲】
【請求項１】
入力された周波数設定値に対応する周波数の発振信号を出力する発振部と、
前記発振信号のパルス数をカウントすることにより、外部から入力される基準信号の周期の整数倍の積算期間をカウントするカウント部と、
前記積算期間ごとに、前記発振信号の周波数に対応する基準パルス数と前記発振信号のパルス数との差分の積算値を算出する積算部と、
前記積算期間ごとに、前記積算値に基づいて前記周波数設定値を生成する設定値生成部と、
を有し、
前記積算部は、前記基準信号が入力されている間は、前記積算期間が終わるたびに前記積算値を初期化する第１モードで動作し、前記基準信号が入力されていない間は、前記積算期間が終わっても前記積算値を初期化しない第２モードで動作する発振回路。
【請求項２】
前記積算部は、前記発振信号を前記基準信号に同期させるまでに許容される時間に基づいて定められた前記積算期間ごとに前記積算値を出力する、
請求項１に記載の発振回路。
【請求項３】
前記設定値生成部は、複数の前記積算値を平滑化して生成した平滑化積分値に基づいて前記周波数設定値を生成する、
請求項１又は２に記載の発振回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発振信号を出力する発振回路に関する。
【背景技術】
【０００２】
従来、入力される発振信号に同期した発振信号を出力する発振回路が知られている。特許文献１には、入力信号を分周した信号と発振信号を分周した信号との間の位相差を特定し、特定した位相差を示す制御値に対応する周波数の発振信号を出力する発振回路が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００９／０３４９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の発振回路においては、位相差に応じて制御値を出力するループフィルタが、常時動作していた。高温の環境下で動作する発振回路においてループフィルタが常時動作すると、ループフィルタに含まれる部品（例えばＣＰＵ）が短時間で劣化してしまうという問題が生じていた。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、構成部品の劣化を抑制することができる発振回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様の発振回路は、入力された周波数設定値に対応する周波数の発振信号を出力する発振部と、外部から入力される基準信号の周期に対応する期間内の前記発振信号のパルス数をカウントするカウント部と、前記カウント部がカウントした前記パルス数に基づいて、所定の期間ごとに前記周波数設定値を生成する設定値生成部と、を有する。
【０００７】
上記の発振回路は、前記基準信号の周期ごとに、前記発振信号の周波数に対応する基準パルス数と前記発振信号のパルス数との差分の積算値を算出し、前記基準信号の周期の所定倍の期間ごとに前記積算値を出力する積算部をさらに有し、前記設定値生成部は、前記積算値に基づいて前記周波数設定値を制御してもよい。
【０００８】
前記設定値生成部は、前記基準信号の周期の整数倍の積算期間ごとに起動して、前記積算値に基づいて前記周波数設定値を変化させてもよい。
【０００９】
前記積算部は、例えば、前記積算期間が終了するたびに前記積算値を初期化する。前記積算部は、前記積算期間が終了した時点の第１積算値と、次の前記積算期間における第２積算値を合算することにより前記積算値を算出してもよい。
【００１０】
また、前記積算部は、前記発振信号を前記基準信号に同期させるまでに許容される時間に基づいて定められた前記積算期間ごとに前記積算値を出力してもよい。
【００１１】
前記設定値生成部は、複数の前記積算値を平滑化して生成した平滑化積分値に基づいて前記周波数設定値を生成してもよい。
【発明の効果】
【００１２】
本発明によれば、発振回路の構成部品の劣化を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係る発振回路の構成を示す図である。
【図２】位相誤差カウンタの動作について説明するための図である。
【図３】設定値生成部の構成を示す図である。
【図４】ホールドオーバー発生時の動作について説明するための図である。
【図５】位相誤差カウンタの動作の変形例について説明するための図である。
【発明を実施するための形態】
【００１４】
図１は、本実施形態に係る発振回路１の構成を示す図である。発振回路１は、外部から入力される基準信号に同期した、基準信号よりも高い周波数の発振信号を出力する。基準信号は、例えば、１秒間に１つのパルスを出力する１ＰＰＳ（Pulse Per Second）信号である。
【００１５】
発振回路１は、位相誤差検出部１０と、設定値生成部２０と、加算器３０と、発振器４０とを有する。
位相誤差検出部１０は、基準信号と発振信号との間の位相誤差を検出するための構成として、位相誤差カウンタ１０１と、積算器１０２とを有する。位相誤差検出部１０は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）等のロジック回路により構成されている。
【００１６】
位相誤差は、基準信号と発振信号との位相差と、この位相差の目標値との間の差である。本実施形態において、基準信号と発振信号との間の位相差の目標値は０であり、位相誤差は、基準信号と発振信号との間の位相差に相当する。位相誤差検出部１０は、基準信号と発振信号との間の位相誤差に応じた周波数制御値を算出し、算出した周波数制御値を設定値生成部２０に出力する。
【００１７】
位相誤差カウンタ１０１には、基準信号と発振信号とが入力される。位相誤差カウンタ１０１は、基準信号の周期に対応する期間内の発振信号のパルス数をカウントするカウンタを有するカウント部である。位相誤差カウンタ１０１は、発振信号のパルスが入力されるたびにカウント値が増減するカウンタであり、基準信号の立ち上がりタイミングごとに、その時点でのカウント値を積算器１０２に対して出力する。
【００１８】
位相誤差カウンタ１０１のカウント動作の周期は、基準信号と発振信号との間の位相誤差が０の場合に、基準信号の周期の整数分の１になるように設定されている。例えば、基準信号の周期が１秒である場合に、位相誤差カウンタ１０１は、０．１２５秒の周期（周波数８Ｈｚに相当）でカウント値が同じ値に戻るように設定されている。発振信号の周波数が４０ＭＨｚである場合、カウント値は、４０×１０６÷８＝５×１０６の幅で変化する。
【００１９】
図２は、位相誤差カウンタ１０１の動作について説明するための図である。図２（ａ）は、位相差がない場合の状態を示している。基準信号の立ち上がり変化点において、位相誤差カウンタ１０１のカウント値は０になる。その後、位相誤差カウンタ１０１に発振信号のパルスが入力されるたびにカウント値が最大値（例えば＋２．５×１０６）まで増加した後にカウント値が最小値（例えば−２．５×１０６）まで減少してから、カウント値が増加する。
【００２０】
図２（ａ）のように、基準信号と発振信号との間の位相差がない場合、基準信号の立ち上がり時点でのカウント値は０であり、位相誤差カウンタ１０１は、カウント値として０を出力する。
これに対して、図２（ｂ）のように、基準信号の周波数が発振信号の周波数よりも高い場合、図２（ａ）の場合よりもカウンタ出力の周期が短くなるので、位相誤差カウンタ１０１は、基準信号の立ち上がりタイミングにおいて、カウント値として正の値（＋Ｘ）を出力する。
【００２１】
また、図２（ｃ）のように、基準信号の周波数が発振信号の周波数よりも低い場合、図２（ａ）の場合よりもカウンタ出力の周期が長くなる。したがって、位相誤差カウンタ１０１は、基準信号の立ち上がりタイミングにおいて、カウント値として負の値（−Ｘ）を出力する。
【００２２】
図１に戻って、積算器１０２について説明する。積算器１０２は、発振信号の周波数に対応する基準パルス数と発振信号のパルス数との差分の積算値を算出し、基準信号の周期の所定倍の期間ごとに積算値を出力する。基準パルス数は、発振信号の周波数（例えば２０ＭＨｚ）を基準信号の周波数（例えば１Ｈｚ）で除算して得られた数である。積算器１０２は、位相誤差カウンタ１０１から入力されたカウント値を、基準信号の周期の整数倍の積算期間（例えば３２秒）にわたって加算した値に基づいて積算値を算出する。
【００２３】
積算器１０２は、基準信号の１周期ごとに位相誤差カウンタ１０１のカウント値を取得し、取得したカウント値を累積する。そして、積算器１０２は、積算期間が終了するたびに、積算期間中に累積したカウント値の最新値を積算値として算出する。積算器１０２は、積算期間が終了するたびに、算出した積算値を設定値生成部２０に出力する。また、積算器１０２は、積算期間が終了するたびに積算値を初期化して０にしてもよい。
【００２４】
なお、積算器１０２は、基準信号の１周期ごとに位相誤差カウンタ１０１から入力された直近のＭ個のカウント値の移動平均や累積平均を積算値として算出することにより、基準信号と発振信号との平均的な位相誤差の値を算出してもよい。
【００２５】
設定値生成部２０は、位相誤差カウンタ１０１がカウントしたパルス数に基づいて、所定の期間ごとに周波数設定値を生成する。具体的には、設定値生成部２０は、基準信号の周期の整数倍の期間ごとに積算器１０２から積算値が入力されるたびに、加算器３０の発振信号の周波数を制御するための周波数設定値を積算値に基づいて生成し、生成した周波数設定値を加算器３０に出力する。設定値生成部２０は、積算値が正の値を示している場合、発振信号の周波数を低くするための周波数設定値を出力し、積算値が負の値を示している場合、発振信号の周波数を高くするための周波数設定値を出力する。
【００２６】
設定値生成部２０は、例えばＣＰＵ（Central Processing Unit）であり、積算器１０２から積算値が入力されるタイミングに同期して、基準信号の周期の整数倍の積算期間ごとに起動して、積算値に基づいて周波数設定値を変化させる。設定値生成部２０は、例えば、複数の積算値を平滑化して生成した平滑化積分値に基づいて周波数設定値を生成する。このようにすることで、設定値生成部２０は、発振信号の周波数を緩やかに変化させることができる。
【００２７】
図３は、設定値生成部２０の構成を示す図である。設定値生成部２０は、乗算器２０１と、乗算器２０２と、加算器２０３と、遅延回路２０４と、加算器２０５とを有する。
積算器１０２から入力された積算値は、乗算器２０１及び乗算器２０２に入力される。乗算器２０１は、積算値に係数Ａを乗算して得られる乗算値を加算器２０３に入力する。
【００２８】
加算器２０３は、乗算器２０１から入力される乗算値を遅延回路２０４に出力する。遅延回路２０４の遅延時間Ｐは、位相誤差検出部１０から積算値が入力される周期と等しく設定されており、遅延回路２０４は、遅延後の値を加算器２０５に出力するとともに加算器２０３に出力する。加算器２０３は、乗算器２０１から入力される乗算値と、遅延回路２０４から入力される遅延後の値（すなわち、位相誤差検出部１０からの直前の周期の積算値に基づく乗算値）とを加算する。
【００２９】
乗算器２０２は、積算値に係数Ｂを乗算して得られる乗算値を加算器２０５に入力する。加算器２０５は、遅延回路２０４から入力される値と乗算器２０２から入力される値とを加算した周波数設定値を生成する。設定値生成部２０は、このような構成によって積算値を平滑化した周波数設定値を出力することができる。
【００３０】
設定値生成部２０は、発振信号を高速で基準信号に同期させるか、低速で基準信号に同期させるかに応じて、乗算器２０１に入力する係数Ａ及び乗算器２０２に入力する係数Ｂを選択する。また、設定値生成部２０は、遅延回路２０４の遅延時間Ｐを、位相誤差検出部１０から積算値が入力される周期と等しく設定する。
【００３１】
加算器３０は、設定値生成部２０が出力する周波数設定値にオフセット値を加算する。オフセット値は、発振信号の周波数の目標値に相当する値であり、位相誤差が０である場合に出力される発振信号の周波数に対応する値である。加算器３０は、設定値生成部２０から入力される周波数設定値とオフセット値とを加算することにより、基準信号と発振信号との間の位相誤差に応じて、発振信号の周波数を、発振信号の目標周波数の周辺の周波数で変化させることができる。
【００３２】
発振器４０は、加算器３０において周波数設定値にオフセット値が加算された設定値に対応する周波数の発振信号を出力する。発振器４０は、ＣＰＵにより構成されてもよく、電圧制御発振器（Voltage Controlled Oscillator）により構成されてもよい。
【００３３】
［変形例１］
以上の説明においては、積算器１０２が、積算期間が終わるたびに積算値を初期化するという例について説明したが、積算器１０２は、積算値を累積させ、積算期間が終了した時点の第１積算値と、次の積算期間における第２積算値を合算することにより積算値を算出してもよい。このようにすることで、例えば、基準信号が入力されない期間があった場合に、その間に蓄積した位相誤差を解消しながら、発振信号を基準信号に同期させることができる。発振回路１は、積算器１０２が、積算期間が終わるたびに積算値を初期化する通常モードと、積算期間が終わっても積算値を初期化しないで、蓄積した位相誤差を解消させる位相引き戻しモードとを切り替えられるためのレジスタを有してもよい。
【００３４】
図４は、基準信号が入力されない状態になるホールドオーバーが発生した時の動作について説明するための図である。図４においては、基準信号の１周期ごとに、カウント値が変化してカウンタ値の累積値が増加し、積算器１０２が、基準信号の周期の４倍の期間ごとに累積値を初期化する場合の動作を示している。
【００３５】
図４（ａ）は、ホールドオーバーが発生している間に、位相誤差カウンタ１０１のカウント値をゼロにクリアする通常モードの動作を示す図である。この場合、ホールドオーバーが終了した後には累積値が０になっている。
【００３６】
これに対して、図４（ｂ）は、ホールドオーバーが発生している間に、位相誤差カウンタ１０１をフリーランさせる位相引き戻しモードの動作を示す図である。この場合、ホールドオーバーが終了した後には、位相誤差が蓄積しており、累積値が＋１０になっている。このように位相誤差が蓄積された累積値が保持されていることにより、積算期間の終了時点での積算値（図４（ｂ）の場合は＋３５）に基づいて周波数設定値が生成される。その結果、発振器４０は、ホールドオーバーが発生していた間に生じた位相誤差を相殺するように、発振信号の周波数を変化させることができる。
【００３７】
［変形例２］
図２においては、位相誤差カウンタ１０１が出力するカウント値が−２．５×１０６から＋２．５×１０６までの範囲で変化する例を示したが、位相誤差カウンタ１０１が出力するカウント値が変化する態様は、これに限らない。
図５は、本変形例の位相誤差カウンタ１０１の動作を説明するための図である。図５においては、カウント値が、０から５．０×１０６までの範囲で変化している。この場合、基準信号の周波数が発振信号の周波数と等しい場合、図５（ａ）に示すように、積算期間が終了した時点でのカウント値が０になる。
【００３８】
また、基準信号の周波数が発振信号の周波数よりも高い場合、図５（ｂ）に示すように、積算期間が終了した時点でのカウント値が２．５×１０６以下になる。また、基準信号の周波数が発振信号の周波数よりも低い場合、図５（ｃ）に示すように、積算期間が終了した時点でのカウント値が２．５×１０６より大きくなる。
【００３９】
［変形例３］
以上の説明においては、積算期間が固定されている場合について説明したが、積算器１０２は、発振信号を基準信号に同期させるまでに許容される時間に基づいて定められた積算期間ごとに積算値を出力してもよい。例えば、積算器１０２は、高速で同期させる必要がある場合に、低速で同期させる場合に比べて積算期間を短くすることで、短時間で位相誤差を解消することが可能になる。
【００４０】
［本実施形態の発振回路１による効果］
以上説明したように、発振回路１は、位相誤差カウンタ１０１が、外部から入力される基準信号の周期に対応する期間内の発振信号のパルス数をカウントし、積算器１０２が、カウント値の積算値を算出する。そして、設定値生成部２０は、位相誤差カウンタ１０１がカウントしたパルス数の積算値に基づいて、所定の期間ごとに周波数設定値を生成する。
【００４１】
発振回路１がこのような構成を有することにより、設定値生成部２０は、積算値が出力されるタイミングで起動して周波数設定値を生成する動作をすればよく、それ以外の期間においてはスリープ状態を維持することができる。したがって、発振回路１が、ＯＣＸＯ（Oven Controlled Crystal Oscillator）のように、比較的高温（例えば約８５℃）で用いられ、設定値生成部２０がＣＰＵにより構成されている場合であっても、設定値生成部２０の稼働時間を従来よりも短縮できるので、設定値生成部２０を構成する部品（例えばＣＰＵ）の劣化を抑制し、部品の寿命を長くすることができる。
【００４２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００４３】
例えば、設定値生成部２０は、積算器１０２から入力された積算値に基づくことなく、位相誤差カウンタ１０１がカウント値を出力するタイミングごとにカウント値に基づいて周波数設定値を算出してもよい。
【符号の説明】
【００４４】
１  発振回路
１０  位相誤差検出部
２０  設定値生成部
３０  加算器
４０  発振器
１０１  位相誤差カウンタ
１０２  積算器
２０１  乗算器
２０２  乗算器
２０３  加算器
２０４  遅延回路
２０５  加算器
【図１】
0006653964.tif 000002
【図２】
0006653964.tif 000003
【図３】
0006653964.tif 000004
【図４】
0006653964.tif 000005
【図５】
0006653964.tif 000006