(57)【特許請求の範囲】
【請求項１】
環境温度及び電源電圧の変化によって周波数が変化する第１の発振周波数を生成するとともに周波数制御電圧によって前記発振周波数の制御が可能な電圧制御型発振器と、
前記環境温度の変化に対して前記電圧制御型発振器の第１の発振周波数よりも変化率が大きい第２の発振周波数を生成する温度電圧センサと、前記電源電圧の変化に対して前記電圧制御型発振器の第１の発振周波数よりも変化率が大きい第３の発振周波数を生成する温度電圧センサからなる、互いの温度特性及び電源電圧特性が異なる前記環境温度の変化及び電源電圧の変化を検出する一対の温度電圧センサと、
これら一対の温度電圧センサの第２及び第３の発振周波数を所定時間カウントして第２及び第３の発振周波数に基づく周波数カウントデータを生成する周波数カウントデータ生成部と、
前記電圧制御型発振器で生成する第１の発振周波数の環境温度及び電源電圧の変化に対する補償をするための温度電圧補償ディジタルデータを、前記各周波数カウントデータ、前記温度電圧補償ディジタルデータ、前記第１の発振周波数の関係から導いた多項式近似式で生成する温度電圧補償回路と、
前記温度電圧補償ディジタルデータをアナログ電圧で表される前記周波数制御電圧に変換して前記電圧制御型発振器に出力するＤ／Ａ変換器とを有し、
前記多項式近似式は、あらかじめ前記環境温度及び電源電圧を変化させつつ、前記温度電圧補償ディジタルデータを外部からの入力で変えることにより生成することを特徴とするディジタル温度電圧補償型発振器。
【請求項２】
前記一対の温度電圧センサは温度依存性が高い第１のリングオシレータと電源電圧依存性が高い第２のリングオシレータからなる一方、前記温度電圧補償回路は温度電圧補償演算回路を備え、
前記周波数カウントデータ生成部は、前記各リングオシレータ毎に設けたカウンタによって前記電圧制御型発振器から供給される基準クロック信号で設定されるカウント時間で前記各リングオシレータの第２及び第３の発振周波数を各別にカウントして、前記各発振周波数にそれぞれ対応する各周波数カウントデータを生成し、
前記温度電圧補償演算回路は、あらかじめメモリに格納された前記各周波数カウントデータ及び前記第１の発振周波数に係る多項式近似式の各係数を呼び出して、温度電圧補償ディジタルデータを演算することを特徴とする請求項１記載のディジタル温度電圧補償型発振器。
【請求項３】
前記温度電圧補償回路は、前記温度電圧補償演算回路に加えて残差データ補間回路を備え、この残差データ補間回路は、多項式近似後の残差を補償するための残差補正データに対して、ディジタル温度電圧補償型発振器の環境温度範囲内及び電源電圧変化範囲内の離散する環境温度及び電源電圧で頂点データなどの変化点を抽出し、この抽出した残差補正データを前記残差データ補間回路のメモリにあらかじめ格納しておき、この格納している残差補正データに基づいて、曲面補間法または平面補間法によって前記周波数カウントデータにおける残差補正データを求め、その結果を前記温度電圧補償ディジタルデータに加算して、最終的な温度電圧補償ディジタルデータとすることを特徴とする請求項２記載のディジタル温度電圧補償型発振器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル化した温度情報、電源電圧情報に基づいて温度変化、電源電圧変化による発振周波数の変動を補償するディジタル温度電圧補償型発振器に関する。
【背景技術】
【０００２】
従来から、各種の温度補償発振器が知られているが、ディジタル温度補償発振器としては、温度による発振周波数の変化が大きい温度センサを用い、温度センサによって検知された外部の温度変化情報をディジタル制御回路によってディジタルコード化するとともに、この温度ディジタルコードを基にディジタル温度補償回路によって生成されたディジタル温度補償コードをＤ／Ａ変換器によってアナログ信号に変換して温度補償電圧（周波数制御電圧）を生成し、この温度補償電圧を周波数制御端子に入力して電圧制御型発振器の発振周波数を制御するようにした構成が知られている（特許文献１）。
【０００３】
また、温度による発振周波数の変化が大きい温度センサとして、リングオシレータを用いることも知られている。例えば、温度変化によってその内部電流量を変化させ、第１及び第２バイアス信号を発生する第１バイアス部と、温度変化に関係なくその内部電流が一定であり、第３及び第４バイアス信号を発生する第２バイアス部と、第１及び第２バイアス信号に応答して第１クロック信号を発生する第１リングオシレータと、第３及び第４バイアス信号に応答して第２クロック信号を発生する第２リングオシレータと、第１クロック信号の一つのパルスをラッチしてワンショットパルスを発生するワンショットパルス発生部と、ワンショットパルス幅を第２クロック信号のパルスとしてカウントして温度コードを発生するカウンタと、を備える温度センサである（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６４−７３８２３号公報
【特許文献２】特開２００７−１８７６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これらの従来の温度センサは、温度変化にのみ着目しており、電源電圧の変化には何ら考慮していない。しかしながら、従来の温度センサは、電源電圧が変動すると、電流源も変動するため、その出力周波数が電圧依存性を有するものであり、電源電圧が変動した場合には正確な温度を検出できないものである。また、電圧制御型発振器も電源電圧に対し周波数が変動する。このため、電圧制御型発振器で生成する発振周波数の環境温度及び電源電圧に対する変化を補償するための高精度な温度補償データを得ることができず、前記電圧制御型発振器で生成する発振周波数を安定して維持できないという問題がある。
【０００６】
ところで、温度センサにリングオシレータを使用する場合には、ディジタル温度補償発振器を使用する環境温度の変化にともなう当該発振器を設けたＩＣ内部の温度変化により、リングオシレータの発振周波数が大きく変化することを利用して、発振周波数からＩＣ内部温度（以下単に「内部温度」という。）を求めることができると考えられる。例えば、リングオシレータの発振周波数を所定時間カウントして、ディジタル温度データを取得し、このデータからディジタル温度補償データを作成し、Ｄ／Ａ変換器でアナログ信号に変換したうえ電圧制御型発振器へ入力する構成が考えられるが、この場合にもリングオシレータの電源電圧変動による周波数依存が大きく、精度の高い温度計測は困難である。
【０００７】
ここで、温度特性及び電源電圧特性が異なる２つのリングオシレータを用意し、発振周波数について内部温度及び電源電圧を用いた２元連立方程式を立て、これを解くことで内部温度と電源電圧を求めれば、電源電圧の変動にも対応した低ノイズで、高分解能な温度補償が可能となる。しかしながら、前記２元連立方程式を立てるには、内部温度、電源電圧の真値を把握する必要があり、真値を測定する原器が必要となるが、この原器をＩＣ内部に持つことは困難である一方、原器を外部に持った場合には、ＩＣ内部と、これと環境が異なる外部の原器との相関を、要求される精度内で得ることは極めて困難であるという問題がある。
【０００８】
また、内部温度、電源電圧の真値を把握した場合でも、電圧制御型発振器の周波数制御電圧が変化すると、電圧制御型発振器の発振周波数の温度特性や電源電圧特性は変化するものである。したがって、周波数制御電圧の変化に伴う発振周波数の温度特性や電源電圧特性の変化を把握しなければ、高精度な周波数補償を行うことができないという問題もある。
【０００９】
本発明は以上のような事情に鑑みてなされたもので、その目的は、温度変化のみならず、電源電圧の変化も検出する一対の温度電圧センサ、例えば２つのリングオシレータを用いて、これらリングオシレータの発振周波数に対する電圧制御型発振回路の発振周波数を把握することで、内部温度と電源電圧を求めることなく、電圧制御型発振回路の発振周波数を安定化（補償）するとともに、電圧制御型発振回路の周波数制御電圧の変化に伴う発振周波数の温度特性や電源電圧特性の変化を把握することにより、周波数制御電圧の変化にも対応した正確な温度情報に基づいた温度電圧補償ディジタルデータを生成し、電圧制御型発振回路の発振周波数の高精度な安定化（補償）が可能なディジタル温度電圧補償型発振器を提供するところにある。
【課題を解決するための手段】
【００１０】
前記目的を達成するために本発明の請求項１に係るディジタル温度電圧補償型発振器は、環境温度及び電源電圧の変化によって周波数が変化する第１の発振周波数fxを生成するとともに周波数制御電圧Vcによって前記発振周波数fxの制御が可能な電圧制御型発振器１と、前記環境温度の変化に対して前記電圧制御型発振器１の第１の発振周波数fxよりも変化率が大きい第２の発振周波数f1を生成する温度電圧センサ２ａと、前記電源電圧の変化に対して前記電圧制御型発振器１の第１の発振周波数fxよりも変化率が大きい第３の発振周波数f2を生成する温度電圧センサ２ｂからなる、互いの温度特性及び電源電圧特性が異なる前記環境温度の変化及び電源電圧の変化を検出する一対の温度電圧センサ２ａ，２ｂと、この一対の温度電圧センサ２ａ，２ｂの第２及び第３の発振周波数f1，f2を所定時間カウントして第２及び第３の発振周波数f1，f2に基づく周波数カウントデータF1，F2を生成する周波数カウントデータ生成部３と、前記電圧制御型発振器１で生成する第１の発振周波数fxの環境温度及び電源電圧の変化に対する補償をするための温度電圧補償ディジタルデータFXCを、前記各周波数カウントデータF1，F2、前記温度電圧補償ディジタルデータFXC、記第１の発振周波数fxの関係から導いた多項式近似式で生成する温度電圧補償回路４と、前記温度電圧補償ディジタルデータFXCをアナログ電圧で表される前記周波数制御電圧Vcに変換して前記電圧制御型発振器１に出力するＤ／Ａ変換器７とを有し、前記多項式近似式は、あらかじめ前記環境温度及び電源電圧を変化させつつ、前記温度電圧補償ディジタルデータFXCを外部からの入力で変えることにより生成することを特徴としたものである。
【００１１】
ここで、図６に基づいて、本発明における温度電圧補償ディジタルデータFXCによる温度電圧補償の原理について説明する。電圧制御型発振器１の第１の発振周波数fxは、環境温度と電源電圧によって変化する。一方、一対の温度電圧センサ２ａ，２ｂの第２及び第３の発振周波数f1，f2は、前記第１の発振周波数fxと同様に、環境温度変化と電源電圧変化により周波数変動を生じる。そして、前記発振周波数f1，f2が使用領域において極を持たなければ、前記発振周波数f1，f2から環境温度及び電源電圧は一義的に定まる。
すなわち、環境温度をＴ、電源電圧をＶとし、温度電圧センサ２ａ，２ｂの発振周波数f1，f2に基づく周波数カウントデータであるディジタルデータをF1，F2とすると、F1，F2はＴ，Ｖの関数であるから次のように表される。
F1＝g1（Ｔ，Ｖ）  （１）
F2＝g2（Ｔ，Ｖ）  （２）
また、電圧制御型発振回路１の発振周波数fxもＴ，Ｖの関数であるから次のように表される。
fx＝gx（Ｔ，Ｖ）  （３）
ここで、一対の温度電圧センサ２ａ，２ｂの出力から上記（１），（２）式の連立方程式を解くと、ＴとＶが求められる。
Ｔ＝h1（F1，F2）  （４）
Ｖ＝h2（F1，F2）  （５）
よって、（３）式は次のように表される。
fx＝gx（Ｔ，Ｖ）
＝gx（h1（F1，F2），h2（F1，F2））
＝f (F1，F2)
したがって、fxはF1，F2の関数として表すことができる。
このように、環境温度及び電源電圧で表される前記発振周波数fxを、前記発振周波数f1,f2を変数として表すことができるので、前記発振周波数fxの補償量である温度電圧補償ディジタルデータFXCも発振周波数f1,f2で表すことができる。そして、この補償量を発振周波数fxから差し引けば、環境温度と電源電圧に対して一定の周波数を得ることができる。なお、カウントデータ生成部３におけるカウント時間をｔとすると、F1＝f1×ｔ、F2＝f2×ｔである（図３参照）。
【００１２】
ところが、図７に示すように、電圧制御型発振器１に入力する周波数制御電圧Vcが変化すると、前記電圧制御型発振器１の発振周波数fxの温度特性や電源電圧特性が変化してしまうため、図６に示す発振周波数fxの曲面形状が変化し、前記発振周波数fxに対する温度電圧補償が困難になる。前記周波数制御電圧Vcの変化に対応した前記発振周波数fxの補償量を求めるには、上述した温度電圧補償に加えて、前記周波数制御電圧Vcも加味した温度電圧補償を行うことが必要である。このため、本発明では、周波数制御電圧Vcの変化も考慮して温度電圧補償ディジタルデータFXCを求めるものである。
【００１３】
そして、温度電圧補償ディジタルデータFXCを求めるための多項式近似式の演算に必要な係数は、次のようにして求める。すなわち、ディジタル温度電圧補償型発振器を恒温槽内に配置して、環境温度を変化させつつ、電源電圧を変化させながら、温度電圧補償ディジタルデータFXCを変えた時の、この温度電圧補償ディジタルデータFXCと、周波数カウントデータF1，F2と、発振周波数fxの関係を示すデータを採取し、このデータを基に最小二乗法を用いて発振周波数fxが所望の周波数となるような係数を求めるものである。
【００１４】
このように、本発明の請求項１に係るディジタル温度電圧補償型発振器は、第１の発振周波数fx及び一定の周波数を得るために前記fxから差し引くための温度電圧補償ディジタルデータFXCと第２及び第３の発振周波数f1，f2との関係に着目し、さらに周波数制御電圧Vcの変化も考慮して、環境温度と電源電圧の値を求めることなく、各発振周波数f1，f2を所定時間カウント（所定時間でのf1，f2のサイクル数をカウント）してなる各周波数カウントデータF1，F2と、温度電圧補償ディジタルデータFXCと発振周波数fxの関係を用いて温度電圧補償ディジタルデータFXCを求めることを特徴とする。したがって、環境温度と電源電圧とを求めないので、真値を把握する必要がなくなり、精度向上に繋がるという利点がある。また、環境温度と電源電圧を求める演算回路が不要になるという付随的な利点もある。
【００１５】
また、前記目的を達成するために本発明の請求項２に係るディジタル温度電圧補償型発振器は、前記請求項１発明の構成において、前記一対の温度電圧センサは温度依存性が高い第１のリングオシレータ２ａと電源電圧依存性が高い第２のリングオシレータ２ｂからなる一方、前記温度電圧補償回路４は温度電圧補償演算回路４１を備え、前記周波数カウントデータ生成部３は、各別のカウンタ３２ａ，３２ｂによって前記電圧制御型発振器１から供給される基準クロック信号fgで設定されるカウント時間ｔで前記各リングオシレータ２ａ，２ｂの発振周波数f1，f2をカウントして、前記各発振周波数f1，f2にそれぞれ対応する各周波数カウントデータF1，F2を生成し、前記温度電圧補償演算回路４１は、あらかじめメモリ４２に格納された各周波数カウントデータF1，F2と第１の発振周波数fxに係る多項式近似式の各係数を呼び出して、温度電圧補償ディジタルデータFXCを演算するものである。
【００１６】
さらに、前記目的を達成するために本発明の請求項３に係るディジタル温度電圧補償型発振器は、前記請求項２発明の構成において、前記温度電圧補償回路４は、前記温度電圧補償演算回路４１に加えて残差データ補間回路４３を備え、この残差データ補間回路４３は、多項式近似後の残差を補償するための残差補正データ（多項式近似で表現できない高次成分のことで個体差を意味する）に対して、ディジタル温度電圧補償型発振器の環境温度範囲内及び電源電圧変化範囲内の離散する環境温度及び電源電圧で頂点データなどの変化点を抽出し、この抽出した残差補正データを前記残差データ補間回路４３のメモリ４４にあらかじめ格納しておき、この格納している残差補正データに基づいて、曲面補間法または平面補間法によって前記周波数カウントデータF1，F2における残差補正データFiを求め、その結果を前記温度電圧補償ディジタルデータFXCに加算して、残差補正した温度電圧補償ディジタルデータVcd1とするものである。
【００１７】
図８は上述した温度電圧補償の手順と、電圧制御型発振器１の発振周波数fxの周波数偏差の関係を示すものである。図８（ａ）は前記電圧制御型発振器１の周波数温度電源電圧特性の一例を示すもので、図８（ｂ）に示す第１段階の温度電圧補償である多項式近似式で求めた温度電圧補償ディジタルデータFXCで補償した（多項式フィッテイング）後には、図８（ｃ）に示す周波数偏差となる。図８（ｄ）は前記温度電圧補償ディジタルデータFXCと多項式近似後の残差を補償するための残差補正データFiを示すもので、この残差補正データFiを用いて第２段階の温度電圧補償である前記温度電圧補償ディジタルデータFXCの残差補正を行った後には、図８（ｅ）に示す周波数偏差となる。なお、図８（ｃ）及び（ｅ）は、環境温度２５℃、電源電圧３．３Ｖ時の周波数で正規化したものである。
【発明の効果】
【００１８】
本発明の請求項１に係るディジタル温度電圧補償型発振器によれば、温度測定に加えて、逐次変動する電源電圧も測定する、温度特性及び電圧特性の異なる一対の温度電圧センサを備えるので、温度変動のみならず電源電圧変動にも対応するとともに、電圧制御型発振器の周波数制御電圧の変化にも対応した温度電圧補償ディジタルデータを得ることができ、極めて安定した発振周波数を維持することができるという効果を奏する。
【００１９】
本発明の請求項２に係るディジタル温度電圧補償型発振器によれば、前記請求項１発明の奏する効果に加え、一対の温度電圧センサとしてリングオシレータを用いることによって、高感度に温度依存及び電圧依存をキャンセルするシステムを提供することが可能となり、より高精度の温度電圧補償ディジタルデータを得ることができるという効果を奏する。
【００２０】
本発明の請求項３に係るディジタル温度電圧補償型発振器によれば、前記請求項２発明の奏する効果に加えて、残差補正データ、すなわち個体差を考慮することによって、極めて高精度の温度電圧補償ディジタルデータを得ることができるという効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】本発明に係るディジタル温度電圧補償型発振器の一実施形態の全体構成を示すブロック図。
【図２】同じく一対のリングオシレータの回路図。
【図３】同じく一対のリングオシレータの出力と基準クロック信号の関係を示す波形図。
【図４】同じく抽出した残差補正データを示す説明図。
【図５】同じくドロネー三角形を用いた平面補間の説明図。
【図６】本発明の温度電圧補償の原理を示す説明図。
【図７】同じく発振周波数制御電圧の変化も考慮した温度電圧補償の原理を示す説明図。
【図８】同じく温度電圧補償による周波数偏差の状態を示す説明図。
【発明を実施するための形態】
【００２２】
まず、添付図面の図１に基づいて、本発明に係るディジタル温度電圧補償型発振器の全体構成を説明する。ディジタル温度電圧補償型発振器は、電圧制御型発振器１と、一対の温度電圧センサたるリングオシレータ２ａ，２ｂと、周波数カウントデータ生成部３と、温度電圧補償回路４と、ΔΣモジュレータ５と受動型４段ＬＰＦ６からなるＤ／Ａ変換器７を備えている。また、回路外部から必要に応じて、アナログ信号である外部制御電圧EVCが入力端子１０６からＡ／Ｄ変換器１０２に供給されるよう構成されている。このディジタル温度電圧補償型発振器は、電圧制御型発振器１の後述する外付けの水晶振動子１１を除いて、半導体ＩＣに内蔵され、内部電源電圧VAは外部電源を安定化させる安定化電源１００から供給される。したがって、前記各リングオシレータ２ａ，２ｂが検出するのは環境温度の変化にともない変化する前記半導体ＩＣの内部温度であり、検出する電源電圧は前記内部電源電圧VAである。
【００２３】
また、外部制御電圧EVCが供給されると、Ａ／Ｄ変換器１０２でディジタル信号Vcd2に変換されて加算器１０４に入力され、温度電圧補償回路４から出力された温度電圧補償ディジタルデータVcd1と加算されて、前記加算器１０４からディジタル信号Vcdが出力される。このディジタル信号Vcdは後述するように、最終的な温度電圧補償ディジタルデータであり、外部制御電圧EVCが供給されない場合は、前記温度電圧補償ディジタルデータVcd1と同一である。最終的な温度電圧補償ディジタルデータVcdはＤ／Ａ変換器７に入力し、アナログ信号に変換されて周波数制御電圧Vcとなり、電圧制御型発振器１の発振周波数fxを制御するものである。
【００２４】
電圧制御型発振器１の電圧制御型発振回路１２は公知の構成で、外付けの水晶振動子１１を有している。この電圧制御型発振器１は、内部温度及び内部電源電圧VAの変化に対して周波数が変化する第１の発振周波数fxを生成するとともに、受動型４段ＬＰＦ６から出力される周波数制御電圧Vcによって前記第１の発振周波数fxの制御が可能な発振信号を生成するものである。この生成された前記第１の発振周波数fxを有する発振信号は、バッファ８に出力されて、分周回路９を経て制御回路３１に基準クロック信号fg（図３参照）として入力する一方、前記バッファ８からバッファ１０を介して外部に出力される。
【００２５】
第１及び第２のリングオシレータ２ａ，２ｂは、インバータを奇数個リング状に接続してなるもので、高感度で互いの発振周波数の温度特性及び電圧特性が異なる。図２（ａ）に示すように、第１のリングオシレータ２ａは、電流源を介して内部電源電圧VAに接続されて電流駆動するもので、内部温度依存性が高いものであり、図２（ｂ）に示すように、第２のリングオシレータ２ｂは、内部電源電圧VAに接続されて電圧駆動するもので、内部電源電圧依存性が高いものである。そして、リングオシレータ２ａは、内部温度の変化に対して前記電圧制御型発振器１で生成された第１の発振周波数fxよりも変化率が大きい、第２の発振周波数f1を生成し、リングオシレータ２ｂは、内部電源電圧VAの変化に対して前記電圧制御型発振器１で生成された第１の発振周波数fxよりも変化率が大きい、第３の発振周波数f2を生成するものである。この生成された前記第２及び第３の発振周波数f1，f2を有する発振信号は、周波数カウントデータ生成部３に出力される。
【００２６】
周波数カウントデータ生成部３は、制御回路３１と、この制御回路３１の制御信号で動作制御される第１及び第２のカウンタ３２ａ，３２ｂとからなる。前記第１のカウンタ３２ａは第１のリングオシレータ２ａで生成された第２の発振周波数f1をカウントし、前記第２のカウンタ３２ｂは第２のリングオシレータ２ｂで生成された第３の発振周波数f2をカウントする。図３に示すように、これらカウントするためのカウント時間ｔは制御回路３１に入力する電圧制御型発振器１の発振周波数fxを分周した基準クロック信号fgで設定される各カウンタ３２ａ，３２ｂのゲート時間であり、各発振周波数f1，f2のカウントは立ち上がりエッジで行う。前記制御回路３１は、各発振周波数f1，f2をカウントしてなるデータに基づいて、各リングオシレータ２ａ，２ｂが検出した内部温度及び内部電源電圧VAに対応した周波数カウントデータF1，F2を生成するもので、F1＝f1×ｔ、F2＝f2×ｔである。そして、この周波数カウントデータF1、F2は、前記制御回路３１から温度電圧補償回路４に出力される。
【００２７】
温度電圧補償回路４は、温度電圧補償演算回路４１と残差データ補間回路４３と各メモリ４２、４４とからなり、電圧制御型発振器１で生成する第１の発振周波数fxの内部温度、内部電源電圧VA及び周波数制御電圧Vcに応じた変化を補償するための温度電圧補償ディジタルデータVcd1を生成するものである。この温度電圧補償ディジタルデータVcd1は、内部電源電圧VA及び周波数制御電圧Vcの各変化分も含んだ温度ドリフトによる前記電圧制御型発振器１の発振周波数fxの変化をキャンセルするための補正分であるディジタルデータである。そして、温度電圧補償回路４は、温度電圧補償演算回路４１において多項式近似式で求めた補正データである温度電圧補償ディジタルデータFXC（以下「第１次温度電圧補償ディジタルデータFXC」という。）に、この第１次温度電圧補償ディジタルデータFXCと本来補償すべき補正データとの残差分である、残差データ補間回路４３で求めた残差補正データFiを加算器４５で加えて、温度電圧補償ディジタルデータVcd1を生成する。
【００２８】
上述した残差補正データFiは、残差の頂点データなどの変化点を抽出した残差補正データと、これら抽出した残差補正データだけでは特定できないため曲面補間または平面補間によって求める残差補正データとがある。そして、メモリ４２にはあらかじめ、第１次温度電圧補償ディジタルデータFXCを求めるための多項式近似式の演算に必要な係数が格納される一方、メモリ４４にはあらかじめ、抽出した残差補正データと、曲面補間または平面補間に必要な残差補正データが格納されている。
【００２９】
ここで、第１次温度電圧補償ディジタルデータFXCの生成について説明する。第１及び第２のリングオシレータ２ａ，２ｂの出力は、それぞれカウンタ３２ａ、３２ｂに入力して、図３に示すように、電圧制御型発振器１の発振周波数fxを分周した基準クロック信号fgに基づいて制御回路３１で設定されたカウント時間ｔでそれぞれの発振周波数f1、f2がカウントされ、制御回路３１で周波数カウントデータF1，F2が生成される。前記カウント時間ｔは、基準クロック信号fgに基づいて設定されるため、内部温度及び内部電源電圧VAに対して数十ppm程度しか変動しないのに対して、前記発振周波数f1，f2は各リングオシレータ２ａ，２ｂが高感度なため、数パーセントと桁違いに大きく変動する。したがって、前記カウント時間ｔの変動はほぼないものとして扱うことができる。ここで、F1＝f1×ｔ、F2＝f2×ｔである。
【００３０】
第１次温度電圧補償ディジタルデータFXCは、電圧制御型発振器１の使用環境温度範囲が−４０〜１０５℃の範囲において、誤差の目標値が±２００ppbであれば、周波数カウントデータF1,F2、電圧制御型発振器１の発振周波数fxの次の多項式で近似することができる。
FXC＝A000＋B100・F1＋B200・F1２＋B300・F1３＋B400・F1４＋B500・F1５＋B600・F1６＋B700・F1７＋B800・F1８＋B010・F2＋B110・F1・F2＋B210・F1２・F2＋B310・F1３・F2＋B410・F1４・F2＋B510・F1５・F2＋B610・F1６・F2＋B710・F1７・F2＋B020・F2２＋B120・F1・F2２＋B220・F1２・F2２＋B320・F1３・F2２＋B420・F1４・F2２＋B520・F1５・F2２＋B620・F1６・F2２＋B030・F2３＋B130・F1・F2３＋B230・F1２・F2３＋B330・F1３・F2３＋B430・F1４・F2３＋B530・F1５・F2３＋B040・F2４＋B140・F1・F2４＋B240・F1２・F2４＋B340・F1３・F2４＋B440・F1４・F2４＋B050・F2５＋B150・F1・F2５＋B250・F1２・F2５＋B350・F1３・F2５＋B060・F2６＋B160・F1・F2６＋B260・F1２・F2６＋B070・F2７＋B170・F1・F2７＋B080・F2８＋B101・F1・fx＋B201・F1２・fx＋B301・F1３・fx＋B401・F1４・fx＋B501・F1５・fx＋B601・F1６・fx＋B701・F1７・fx＋B801・F1８・fx＋B011・F2・fx＋B111・F1・F2・fx＋B211・F1２・F2・fx＋B311・F1３・F2・fx＋B411・F1４・F2・fx＋B511・F1５・F2・fx＋B611・F1６・F2・fx＋B711・F1７・F2・fx＋B021・F2２・fx＋B121・F1・F2２・fx＋B221・F1２・F2２・fx＋B321・F1３・F2２・fx＋B421・F1４・F2２・fx＋B521・F1５・F2２・fx＋B621・F1６・F2２・fx＋B031・F2３・fx＋B131・F1・F2３・fx＋B231・F1２・F2３・fx＋B331・F1３・F2３・fx＋B431・F1４・F2３・fx＋B531・F1５・F2３・fx＋B041・F2４・fx＋B141・F1・F2４・fx＋B241・F1２・F2４・fx＋B341・F1３・F2４・fx＋B441・F1４・F2４・fx＋B051・F2５・fx＋B151・F1・F2５・fx＋B251・F1２・F2５・fx＋B351・F1３・F2５・fx＋B061・F2６・fx＋B161・F1・F2６・fx＋B261・F1２・F2６・fx＋B071・F2７・fx＋B171・F1・F2７・fx＋B081・F2８・fx＋B102・F1・fx２＋B202・F1２・fx２＋B302・F1３・fx２＋B402・F1４・fx２＋B502・F1５・fx２＋B602・F1６・fx２＋B702・F1７・fx２＋B802・F1８・fx２＋B012・F2・fx２＋B112・F1・F2・fx２＋B212・F1２・F2・fx２＋B312・F1３・F2・fx２＋B412・F1４・F2・fx２＋B512・F1５・F2・fx２＋B612・F1６・F2・fx２＋B712・F1７・F2・fx２＋B022・F2２・fx２＋B122・F1・F2２・fx２＋B222・F1２・F2２・fx２＋B322・F1３・F2２・fx２＋B422・F1４・F2２・fx２＋B522・F1５・F2２・fx２＋B622・F1６・F2２・fx２＋B032・F2３・fx２＋B132・F1・F2３・fx２＋B232・F1２・F2３・fx２＋B332・F1３・F2３・fx２＋B432・F1４・F2３・fx２＋B532・F1５・F2３・fx２＋B042・F2４・fx２＋B142・F1・F2４・fx２＋B242・F1２・F2４・fx２＋B342・F1３・F2４・fx２＋B442・F1４・F2４・fx２＋B052・F2５・fx２＋B152・F1・F2５・fx２＋B252・F1２・F2５・fx２＋B352・F1３・F2５・fx２＋B062・F2６・fx２＋B162・F1・F2６・fx２＋B262・F1２・F2６・fx２＋B072・F2７・fx２＋B172・F1・F2７・fx２＋B082・F2８・fx２＋B103・F1・fx３＋B203・F1２・fx３＋B303・F1３・fx３＋B403・F1４・fx３＋B503・F1５・fx３＋B603・F1６・fx３＋B703・F1７・fx３＋B803・F1８・fx３＋B013・F2・fx３＋B113・F1・F2・fx３＋B213・F1２・F2・fx３＋B313・F1３・F2・fx３＋B413・F1４・F2・fx３＋B513・F1５・F2・fx３＋B613・F1６・F2・fx３＋B713・F1７・F2・fx３＋B023・F2２・fx３＋B123・F1・F2２・fx３＋B223・F1２・F2２・fx３＋B323・F1３・F2２・fx３＋B423・F1４・F2２・fx３＋B523・F1５・F2２・fx３＋B623・F1６・F2２・fx３＋B033・F2３・fx３＋B133・F1・F2３・fx３＋B233・F1２・F2３・fx３＋B333・F1３・F2３・fx３＋B433・F1４・F2３・fx３＋B533・F1５・F2３・fx３＋B043・F2４・fx３＋B143・F1・F2４・fx３＋B243・F1２・F2４・fx３＋B343・F1３・F2４・fx３＋B443・F1４・F2４・fx３＋B053・F2５・fx３＋B153・F1・F2５・fx３＋B253・F1２・F2５・fx３＋B353・F1３・F2５・fx３＋B063・F2６・fx３＋B163・F1・F2６・fx３＋B263・F1２・F2６・fx３＋B073・F2７・fx３＋B173・F1・F2７・fx３＋B083・F2８・fx３
【００３１】
ここで、上記式における係数の求め方について説明する。まず、恒温槽内に図１に示すディジタル温度電圧補償型発振器を配置し、温度を変化させつつ、内部電源電圧VAを変えながら、発振周波数fxによらない任意の第１次温度電圧補償ディジタルデータFXCを生成して変えた時の、第１次温度電圧補償ディジタルデータFXCと、各周波数カウントデータF1,F2と、発振周波数fxの関係を示すデータを採取する。測定ポイント数は、最小二乗法によって、未知数である係数を計算できる最小数以上のポイント数を設定する。第１次温度電圧補償ディジタルデータFXCを変化させるには、メモリ４２のデータを外部通信を用いて任意に書き換えればよい。そして、これらデータから最小二乗法を用いて係数を求めるものである。なお、この最小二乗法による計算は、ディジタル温度電圧補償型発振器が形成された半導体ＩＣの出荷テスト時やユーザによる製品組み込み時に行うものであり、半導体ＩＣからデータを採取し、外部のパソコンなどの演算装置で計算することができる。
【００３２】
次いで、発振周波数fxが所望の発振周波数foになるような係数を、上記第１の式においてfx＝foとおいた次の第２の式から求める。
FXC＝A000＋B100・F1＋B200・F1２＋B300・F1３＋B400・F1４＋B500・F1５＋B600・F1６＋B700・F1７＋B800・F1８＋B010・F2＋B110・F1・F2＋B210・F1２・F2＋B310・F1３・F2＋B410・F1４・F2＋B510・F1５・F2＋B610・F1６・F2＋B710・F1７・F2＋B020・F2２＋B120・F1・F2２＋B220・F1２・F2２＋B320・F1３・F2２＋B420・F1４・F2２＋B520・F1５・F2２＋B620・F1６・F2２＋B030・F2３＋B130・F1・F2３＋B230・F1２・F2３＋B330・F1３・F2３＋B430・F1４・F2３＋B530・F1５・F2３＋B040・F2４＋B140・F1・F2４＋B240・F1２・F2４＋B340・F1３・F2４＋B440・F1４・F2４＋B050・F2５＋B150・F1・F2５＋B250・F1２・F2５＋B350・F1３・F2５＋B060・F2６＋B160・F1・F2６＋B260・F1２・F2６＋B070・F2７＋B170・F1・F2７＋B080・F2８＋B101・F1・fo＋B201・F1２・fo＋B301・F1３・fo＋B401・F1４・fo＋B501・F1５・fo＋B601・F1６・fo＋B701・F1７・fo＋B801・F1８・fo＋B011・F2・fo＋B111・F1・F2・fo＋B211・F1２・F2・fo＋B311・F1３・F2・fo＋B411・F1４・F2・fo＋B511・F1５・F2・fo＋B611・F1６・F2・fo＋B711・F1７・F2・fo＋B021・F2２・fo ＋B121・F1・F2２・fo＋B221・F1２・F2２・fo＋B321・F1３・F2２・fo＋B421・F1４・F2２・fo＋B521・F1５・F2２・fo＋B621・F1６・F2２・fo＋B031・F2３・fo＋B131・F1・F2３・fo＋B231・F1２・F2３・fo＋B331・F1３・F2３・fo＋B431・F1４・F2３・fo＋B531・F1５・F2３・fo＋B041・F2４・fo＋B141・F1・F2４・fo＋B241・F1２・F2４・fo＋B341・F1３・F2４・fo＋B441・F1４・F2４・fo＋B051・F2５・fo＋B151・F1・F2５・fo＋B251・F1２・F2５・fo＋B351・F1３・F2５・fo＋B061・F2６・fo＋B161・F1・F2６・fo＋B261・F1２・F2６・fo＋B071・F2７・fo＋B171・F1・F2７・fo＋B081・F2８・fo＋B102・F1・fo２＋B202・F1２・fo２＋B302・F1３・fo２＋B402・F1４・fo２＋B502・F1５・fo２＋B602・F1６・fo２＋B702・F1７・fo２＋B802・F1８・fo２＋B012・F2・fo２＋B112・F1・F2・fo２＋B212・F1２・F2・fo２＋B312・F1３・F2・fo２＋B412・F1４・F2・fo２＋B512・F1５・F2・fo２＋B612・F1６・F2・fo２＋B712・F1７・F2・fo２＋B022・F2２・fo２＋B122・F1・F2２・fo２＋B222・F1２・F2２・fo２＋B322・F1３・F2２・fo２＋B422・F1４・F2２・fo２＋B522・F1５・F2２・fo２＋B622・F1６・F2２・fo２＋B032・F2３・fo２＋B132・F1・F2３・fo２＋B232・F1２・F2３・fo２＋B332・F1３・F2３・fo２＋B432・F1４・F2３・fo２＋B532・F1５・F2３・fo２＋B042・F2４・fo２＋B142・F1・F2４・fo２＋B242・F1２・F2４・fo２＋B342・F1３・F2４・fo２＋B442・F1４・F2４・fo２＋B052・F2５・fo２＋B152・F1・F2５・fo２＋B252・F1２・F2５・fo２＋B352・F1３・F2５・fo２＋B062・F2６・fo２＋B162・F1・F2６・fo２＋B262・F1２・F2６・fo２＋B072・F2７・fo２＋B172・F1・F2７・fo２＋B082・F2８・fo２＋B103・F1・fo３＋B203・F1２・fo３＋B303・F1３・fo３＋B403・F1４・fo３＋B503・F1５・fo３＋B603・F1６・fo３＋B703・F1７・fo３＋B803・F1８・fo３＋B013・F2・fo３＋B113・F1・F2・fo３＋B213・F1２・F2・fo３＋B313・F1３・F2・fo３＋B413・F1４・F2・fo３＋B513・F1５・F2・fo３＋B613・F1６・F2・fo３＋B713・F1７・F2・fo３＋B023・F2２・fo３＋B123・F1・F2２・fo３＋B223・F1２・F2２・fo３＋B323・F1３・F2２・fo３＋B423・F1４・F2２・fo３＋B523・F1５・F2２・fo３＋B623・F1６・F2２・fo３＋B033・F2３・fo３＋B133・F1・F2３・fo３＋B233・F1２・F2３・fo３＋B333・F1３・F2３・fo３＋B433・F1４・F2３・fo３＋B533・F1５・F2３・fo３＋B043・F2４・fo３＋B143・F1・F2４・fo３＋B243・F1２・F2４・fo３＋B343・F1３・F2４・fo３＋B443・F1４・F2４・fo３＋B053・F2５・fo３＋B153・F1・F2５・fo３＋B253・F1２・F2５・fo３＋B353・F1３・F2５・fo３＋B063・F2６・fo３＋B163・F1・F2６・fo３＋B263・F1２・F2６・fo３＋B073・F2７・fo３＋B173・F1・F2７・fo３＋B083・F2８・fo３
そして、この第２の式において求めた係数（ A000 ，B100・・・ ）とfoをメモリ４２に書き込み、温度電圧補償演算回路４１で第１次温度電圧補償ディジタルデータFXCを求めることによって、所望の温度電圧補償の動作が得られるものである。
【００３３】
なお、発振周波数foは、ユーザが設定する既知の固定値であるため、係数に含めることができるので、第２の式を次のように表すことも可能である。
FXC＝A000＋A10・F1＋A20・F1２＋A30・F1３＋A40・F1４＋A50・F1５＋A60・F1６＋A70・F1７＋A80・F1８＋A01・F2＋A11・F1・F2＋A21・F1２・F2＋A31・F1３・F2＋A41・F1４・F2＋A51・F1５・F2＋A61・F1６・F2＋A71・F1７・F2＋A02・F2２＋A12・F1・F2２＋A22・F1２・F2２＋A32・F1３・F2２＋A42・F1４・F2２＋A52・F1５・F2２＋A62・F1６・F2２＋A03・F2３＋A13・F1・F2３＋A23・F1２・F2３＋A33・F1３・F2３＋A43・F1４・F2３＋A53・F1５・F2３＋A04・F2４＋A14・F1・F2４＋A24・F1２・F2４＋A34・F1３・F2４＋A44・F1４・F2４＋A05・F2５＋A15・F1・F2５＋A25・F1２・F2５＋A35・F1３・F2５＋A06・F2６＋A16・F1・F2６＋A26・F1２・F2６＋A07・F2７＋A17・F1・F2７＋A08・F2８
この第３の式の場合は、求めた係数（ A000 ，A10・・・）をメモリ４２に書き込み、温度電圧補償演算回路４１で第１次温度電圧補償ディジタルデータFXCを求めることによって、所望の温度電圧補償の動作が得られるものである。
【００３４】
次に、残差補正データについて説明する。図４は、F1，F2に係る上記第２または第３の式から求めた第１次温度電圧補償ディジタルデータFXC と多項式近似後の残差を補償するための残差補正データ（個体差）に対し、頂点データなどの変化点を抽出したものの一例を示すもので、この抽出した残差補正データを、あらかじめメモリ４４に格納している。前記抽出は、残差情報から頂点データなどをピックアップして行う。制御回路３１から出力される周波数カウントデータF1，F2が、前記メモリ４４に格納されている残差補正データに対応する場合は、当該残差補正データを前記メモリ４４から呼び出せばよいが、前記メモリ４４に格納されている残差補正データに対応しない場合は、曲面補間又は平面補間により残差補正データを求める必要がある。曲面補間による場合は、例えば、ＦＩＲ補間を２次元に展開して求めることができる。また、平面補間による場合は、例えば、ドロネー三角形を用いて求めることができる。
【００３５】
ここで、ドロネー三角形を用いた平面補間により残差補正データｚi を求める場合について、図５に基づき説明する。図５に示すように、F1の値がｘi、F2の値がｙiである残差補正データｚiが、残差補正データの抽出点であるＡ，Ｂ，Ｃを頂点とする三角形で分割された平面（以下この平面を「ドロネー三角形」という。）に含まれたＭに位置し、前記Ａ，Ｂ，Ｃは、F1の値がそれぞれｘ1 ,ｘ2, ｘ3、F2の値がそれぞれｙ1 ,ｙ2,ｙ3、残差補正量の値がそれぞれｚ1 ,ｚ2, ｚ3とする。
【００３６】
ドロネー三角形の法線ベクトルを、ｎ(→)＝(ｐ，ｑ，ｒ)とすると、
ドロネー三角形の方程式は点Ａを起点として、次のように表すことができる。
ｐ(ｘ−ｘ1)+ｑ(ｙ−ｙ1)＋ｒ(ｚ−ｚ1)＝０
また、各ベクトルは次のように表すことができる。
ＡＢ(→)＝(ｘ2−ｘ1，ｙ2−ｙ1，ｚ2−ｚ1)
ＡＣ(→)＝(ｘ3−ｘ1，ｙ3−ｙ1，ｚ3−ｚ1)
ｎ(→)＝ＡＢ(→)×ＡＣ(→)＝(ｐ，ｑ，ｒ)
ただし、前記式中の×は外積を示す。
これより、
ｐ＝(ｙ2−ｙ1)(ｚ3−ｚ1)−(ｚ2−ｚ1)(ｙ3−ｙ1)
ｑ＝(ｚ2−ｚ1)(ｘ3−ｘ1)−(ｘ2−ｘ1)(ｚ3−ｚ1)
ｒ＝(ｘ2−ｘ1)(ｙ3−ｙ1)−(ｙ2−ｙ1)(ｘ3−ｘ1)
以上により、残差補正データｚiは、次式から求められる。
ｚi＝ｚ1−{ｐ(ｘi−ｘ1)＋ｑ(ｙi−ｙ1)}／ｒ
そして、補間された残差補正データFiは図８（ｄ)に示すものとなる。
【００３７】
上述のようにして温度電圧補償回路４で生成された温度電圧補償ディジタルデータVcd1と、外部制御電圧EVCが供給された場合にはこの外部制御電圧EVCがＡ／Ｄ変換器１０２で変換されたディジタル信号Vcd2が、加算器１０４で加算されて最終温度電圧補償ディジタルデータVcdとなる。そして、この最終温度電圧補償ディジタルデータVcdは、Ｄ／Ａ変換器７のΔΣモジュレータ５に入力する。
【００３８】
ΔΣモジュレータ５は、図１に示すように、乗算器５１と、加算器５２ａ，５２ｂ，５２ｃと、遅延回路５３ａ，５３ｂ，５３ｃと、乗算器５４ａ，５４ｂと、量子化器５５と、ＰＷＭ変調器５６と、ＰＷＭ出力回路５７とからなる。前記加算器５２ｂにはディザ信号が入力されるもので、このディザ信号は、リングオシレータ２ａの出力を受けたカウンタ３２ａの出力の下位ビットのデータからなるものである。例えば、前記リングオシレータ２ａの出力を受けたカウンタ３２ａの出力が１８ビットのデータとすると、下位の４ビット程度のデータをディザ信号とすることで、Ｓ／Ｎ比を大きくでき、スプリアスの発生を防ぐことができる。
【００３９】
また、量子化器５５は３値以上の多値量子化器であり、例えば、「００」、「０１」、「１０」、「１１」の４つのレベルで量子化した４値のＰＤＭ信号を、ＰＷＭ変調器５６に出力するとともに、加算器５２ｃに出力する。前記ＰＷＭ変調器５６は、３レベル以上の多レベルのパルス幅で２値のＰＷＭ信号を出力するもので、例えば、前記量子化器５５が４値（４レベル）であれば、同様に「０」、「１」、「２」、「３」の４つのレベルのパルス幅のうち、入力したＰＤＭ信号のレベルに対応するレベルのパルス幅を有する２値のＰＷＭ信号に変換して、ＰＷＭ出力回路５７から受動型４段ＬＰＦ６に出力する。一方、加算器５２ｃには、量子化器５５の出力とともに、加算器５２ｂに入力する信号も入力し、前記加算器５２ｃからは量子化器５５による量子化誤差が出力される。
【００４０】
遅延回路５３ａ，５３ｂ，５３ｃは、量子化誤差を１サイクル、２サイクル、３サイクル遅延させる。前記遅延回路５３ａの出力は、乗算器５４ａによって所定の係数が乗じられたうえ、加算器５２ａに入力される。前記遅延回路５３ｂの出力は、乗算器５４ｂによって所定の係数が乗じられて前記加算器５２ａに入力される。一方、前記遅延回路５３ｃの出力は、直接前記加算器５２ａに入力される。そして、前記加算器５２ａには、これらの各入力に加えて、乗算器５１の出力が入力され、前記各入力が加算されて各加算器５２ｂ，５２ｃに出力されるのである。
【００４１】
受動型４段ＬＰＦ６は、抵抗素子と容量素子からなるＬＰＦを４段で構成したものである。各抵抗素子の抵抗値は、例えば、抵抗値の総和が１ＧΩであり、１段目の抵抗素子が７００ＭΩで、他の３個の抵抗素子はそれぞれ１００ＭΩに設定している。また、各容量素子の容量値は、例えば、容量値の総和が１００ｐＦであり、最終段目である４段目の容量素子が７０ｐＦで、他の３個の容量素子はそれぞれ１０ｐＦに設定している。このように、１段目の抵抗値と、最終段目の容量値を他の抵抗値あるいは容量値よりも大きく設定すると、低周波域での減衰量を大きく取れる。ＰＷＭ信号はこの受動型４段ＬＰＦ６を通ることでアナログ信号に変換され、このアナログ信号は、周波数制御電圧Vcとして電圧制御型発振器１の電圧制御型発振回路１２に入力される。
【００４２】
続いて、上述したディジタル温度電圧補償型発振器の動作について説明する。
電圧制御型発振器１が周波数制御電圧Vcに基づき内部温度及び内部電源電圧VAに応じた第１の発振周波数fxの発振信号を生成して出力すると、この発振信号は、バッファ８からバッファ１０を介して外部機器に出力される一方、前記バッファ８から分周回路９に入力される。前記分周回路９は、入力した第１の発振周波数fxを分周して、制御回路３１に出力する。一方、リングオシレータ２ａは、内部温度に対して前記第１の発振周波数fxよりも変化率の大きい第２の発振周波数f1の発振信号を生成して、カウンタ３２ａに出力し、リングオシレータ２ｂは、内部電源電圧VAに対して前記第１の発振周波数fxよりも変化率の大きい第３の発振周波数f2の発振信号を生成して、カウンタ３２ｂに出力する。
【００４３】
これら各カウンタ３２ａ，３２ｂでｔ時間カウントされた各発振周波数f1,f2は、制御回路３１でこのカウントされたときの内部温度及び内部電源電圧VAに対応する周波数カウントデータF1,F2として生成され、前記制御回路３１はこの周波数カウントデータF1,F2を温度電圧補償演算回路４１に出力する。
【００４４】
温度電圧補償演算回路４１は、入力された周波数カウントデータF1,F2から、上述したように、あらかじめメモリ４２に格納されている多項式近似式の各係数値に基づいて演算し、電圧制御型発振回路１２の発振周波数の内部電源電圧VAの変化、内部温度の変化及び周波数制御電圧Vcの変化に対する補償をするための第１次温度電圧補償ディジタルデータFXCを生成し、加算器４５に出力する。一方、残差データ補間回路４３は、同じく入力された周波数カウントデータF1,F2から、上述したように、あらかじめメモリ４４に格納されている各係数値及び各種データに基づいて残差補正データFiを演算し、前記加算器４５に出力する。そして、前記加算器４５は、第１次温度電圧補償ディジタルデータFXCと残差補正データFiを加算して、温度電圧補償ディジタルデータVcd1とし、加算器１０４に出力する。
【００４５】
加算器１０４は、温度電圧補償ディジタルデータVcd1と、アナログ信号である外部制御電圧EVCがＡ／Ｄ変換器１０２で変換されたディジタル信号Vcd2を加算して、最終温度電圧補償ディジタルデータVcdを出力する。そして、この最終温度電圧補償ディジタルデータVcdは、Ｄ／Ａ変換器７のΔΣモジュレータ５に入力する。なお、前記外部制御電圧EVCが供給されていない場合には、前記温度電圧補償ディジタルデータVcd1が最終温度電圧補償ディジタルデータVcdとして、前記ΔΣモジュレータ５に入力する。
【００４６】
ΔΣモジュレータ５に入力された最終温度電圧補償ディジタルデータVcdは、量子化器５５で４値（４レベル）のＰＤＭ信号に変換され、さらにＰＷＭ変調器５６で４レベルのパルス幅で２値のＰＷＭ信号に変換される。そして、このＰＷＭ信号は、ＰＷＭ出力回路５７を経由し、受動型４段ＬＰＦ６によってアナログ化されることで、前記最終温度補償ディジタルデータVcdがアナログ電圧で表される周波数制御電圧Vcに変換されて電圧制御型発振回路１２に入力し、電圧制御型発振器１の発振周波数fxを制御するものである。
【００４７】
なお、上述の周波数制御電圧Vcを生成する最終温度補償ディジタルデータVcdは、外部制御電圧EVCが供給された場合は、外部制御電圧EVCに基づくディジタル信号Vcd2と回路内部で生成された温度電圧補償ディジタルデータVcd1とが加算されたものであるが、前記温度電圧補償ディジタルデータVcd1の影響を抑制して前記外部制御電圧EVCによる周波数制御を優先的に行うには、分周回路９の分周数を大きくして、基準クロック信号fg（回路内部で生成する温度電圧補償信号の周期の逆数）を低くしたり、あるいは、カウンタ３２ａ，３２ｂの積分回数を増やせばよいものである。
【００４８】
一般に、外部制御電圧EVCを用いた周波数制御は、外部システム側でＰＬＬ（Phase Locked Loop）を構成し、ＧＰＳ（Global Positioning System）やＮＴＰ（Network Time Protocol）サーバ等の基準信号にロックさせて発振周波数fxを安定化するのに使用される。ここで、前記基準信号が何らかの理由で遮断されると、遮断する直前の外部制御電圧EVCが入力され続けるが、この時は回路内部で生成された温度電圧補償ディジタルデータVcd1が有効に作用し、発振周波数fxは安定状態を維持できる。
【００４９】
また、上述の実施形態では、温度電圧補償演算回路４１から出力された第１次温度電圧補償ディジタルデータFXCと、残差データ補間回路４３から出力された残差補正データFiを加算器４５で加算して、温度電圧補償ディジタルデータVcd1を生成しているが、前記第１次温度電圧補償ディジタルデータFXCは内部電源電圧VAの変化、内部温度の変化、及び周波数制御電圧Vcの変化に対応し、十分に精度が高い補償が可能なディジタルデータであり、残差補正データFiを加算しなくても実用上は問題ないものである。したがって、本発明において、残差データ補間回路４３，メモリ４４及び加算器４５は、必ずしも常に備える必要のない構成要素である。
【００５０】
また、上述の実施形態では、内部電源電圧VAは、各リングオシレータ２ａ，２ｂ、電圧制御型発振回路１２、ΔΣモジュレータ５のアナログ部であるＰＷＭ出力回路５７に供給されているので、電源電圧変動に起因する周波数変動の補償に寄与するものとなり、より高精度な補償を行うことができる。
【００５１】
さらに、本発明は上述した実施形態に限定されるものではなく、例えば、周波数カウントデータF1,F2から第１次温度電圧補償ディジタルデータFXCを求める演算式は、上述の多項式近似式に限らない。また、残差補正データを求める平面補間はドロネー三角形を利用したものに限らないし、平面補間に代えて曲面補間を用いてもよいものである。またさらに、Ｄ／Ａ変換器７としては、ΔΣモジュレータ５と受動型４段ＬＰＦ６とからなるものに限らない。
【００５２】
さらにまた、本発明は水晶振動子１１を用いた電圧制御型発振器１に限定されるものではなく、例えば、インダクタとコンデンサで構成されるＬＣ発振回路を用いることで、振動子を外部接続することなく、全てシリコン上で形成可能なディジタル温度電圧補償シリコン発振器にも適用可能である。また、外部制御電圧EVCは必ずしも供給する必要がないものであり、これを供給しない場合には、入力端子１０６、Ａ／Ｄ変換器１０２、加算器１０４は設ける必要がない。そして、リングオシレータの構成は図２に限定されるものではない。例えば、特性の異なる２つの電圧源で駆動しても良い。また、リングオシレータの代わりに、容量と抵抗で構成されるＣＲ発振器を用いても良い。
【符号の説明】
【００５３】
１      電圧制御型発振器
２ａ，２ｂ      リングオシレータ
３      周波数カウントデータ生成部
４      温度電圧補償回路
５      ΔΣモジュレータ
６      受動型４段ＬＰＦ
７      Ｄ／Ａ変換器
８，１０      バッファ
９      分周回路
１１      水晶振動子
１２      電圧制御型発振回路
３１      制御回路
３２ａ，３２ｂ      カウンタ
４１      温度電圧補償演算回路
４２      メモリ
４３      残差データ補間回路
４４      メモリ
４５      加算器
５１，５４ａ，５４ｂ      乗算器
５２ａ，５２ｂ，５２ｃ      加算器
５５      量子化器
５６      ＰＷＭ変調器
５７      ＰＷＭ出力回路
１００      安定化電源
１０２      Ａ／Ｄ変換器
１０４      加算器
１０６      入力端子
【図１】
0006504561.tif 000002
【図２】
0006504561.tif 000003
【図３】
0006504561.tif 000004
【図４】
0006504561.tif 000005
【図５】
0006504561.tif 000006
【図６】
0006504561.tif 000007
【図７】
0006504561.tif 000008
【図８】
0006504561.tif 000009