以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.周波数ドリフト
温度補償型発振器であるTCXOでは、周波数精度の向上と低消費電力化への要求がある。例えばGPS内蔵の時計や脈波等の生体情報の測定機器などのウェアラブル機器では、バッテリーによる動作継続時間を長くする必要がある。このため、基準信号源となるTCXOに対しては、周波数精度を確保しながら、より低消費電力であることが要求される。
また通信端末と基地局との通信方式としては種々の方式が提案されている。例えばTDD(Time Division Duplex)方式では、各機器は割り当てられたタイムスロットにおいてデータを送信する。そしてタイムスロット(上がり回線スロット、下り回線スロット)の間にガードタイムが設定されることで、タイムスロットが重なるのが防止される。次世代の通信システムでは、例えば1つの周波数帯域(例えば50GHz)を用いて、TDD方式でデータ通信することが提案されている。
しかしながら、このようなTDD方式を採用した場合には、各機器において時刻同期を行う必要があり、正確な絶対時刻の計時が要求される。このような要求を実現するために、例えば各機器に、基準信号源として原子時計(原子発振器)を設ける手法も考えられるが、機器の高コスト化を招いたり、機器が大型化するなどの問題が生じる。
またTCXOには、アナログ方式の温度補償型発振器であるATCXOと、デジタル方式の温度補償型発振器であるDTCXOがある。
そして基準信号源としてATCXOを用いた場合に、周波数精度を高精度化しようとすると、図1に示すように回路装置のチップサイズが増加してしまい、低コスト化や低消費電力化の実現が難しくなる。
一方、DTCXOでは、図1に示すように、回路装置のチップサイズをそれほど大きくすることなく、周波数精度の高精度化を実現できるという利点がある。
しかしながら、DTCXO等のデジタル方式の発振器では、その発振周波数の周波数ドリフトが原因で、発振器が組み込まれた通信装置において通信エラー等が発生してしまうという問題がある。例えばデジタル方式の発振器では、温度センサー部からの温度検出電圧をA/D変換し、得られた温度検出データに基づいて周波数制御データの温度補償処理を行い、当該周波数制御データに基づいて発振信号を生成する。この場合に、温度変化により周波数制御データの値が大きく変化すると、これが原因で周波数ホッピングの問題が生じることが判明した。このような周波数ホッピングが生じると、GPS関連の通信装置を例にとれば、GPSのロックが外れてしまうなどの問題が発生してしまう。
このため、DTCXO等のデジタル方式の発振器では、様々な回路方式が提案されているものの、このような通信エラーが問題となる実際の製品の基準信号源としては、デジタル方式の発振器は殆ど採用されず、ATCXO等のアナログ方式の発振器が採用されているのが現状であった。
例えば図2はATCXOの周波数ドリフトを示す図である。ATCXOでは、図2に示すように時間経過に伴い温度が変化した場合にも、その周波数ドリフトは、許容周波数ドリフト(許容周波数エラー)の範囲内(±FD)に収まる。図2では、周波数ドリフト(周波数エラー)は、公称発振周波数(例えば16MHz程度)に対する割合(周波数確度。ppb)で示されている。例えば通信エラーが生じないようにするためには、所定期間TP(例えば20msec)内において、周波数ドリフトを許容周波数ドリフトの範囲内(±FD)に収める必要がある。ここでFDは、例えば数ppb程度である。
一方、図3は、従来のDTCXOを用いた場合の周波数ドリフトを示す図である。図3に示すように、従来のDTCXOでは、その周波数ドリフトが許容周波数ドリフトの範囲内に収まっておらず、当該範囲を超えてしまう周波数ホッピングが発生している。このため、この周波数ホッピングを原因とする通信エラー(GPSのロック外れ等)が発生してしまい、実際の製品の基準信号源としてDTCXOを採用することの妨げとなっていた。
また、発振器は振動子の特性に応じた位相雑音が発生することが知られている。後述する図16のD1は水晶振動子の一般的なC/N特性の例であり、位相雑音の強度(縦軸、単位dBc/Hz)は、発振周波数に対する離調周波数(横軸、単位Hz)が低い所では離調周波数fの3乗に反比例し、1k〜10kHz程度の範囲ではfの2乗に反比例する。10kHz以下の周波数範囲では、いわゆる1/fノイズによる影響が大きい。一方、10kHzより高い周波数では、サーマルノイズによる影響が大きく、fに依存しないフラットな特性となる。つまり、所望の発振周波数以外の周波数となる信号が発生することは振動子の特性上不可避であり、DTCXO等の発振器(及び発振器を含む回路装置)では、D1のようなC/N特性となる位相雑音が発生しても問題がないような設計が行われる。
しかし、DTCXOでは、発振周波数を制御するデータ(周波数制御データDDS)の出力周波数fsと、発振周波数の変化Δfに応じた強度のスプリアスが発生する。詳細については下式(10)等を用いて後述するが、発生するスプリアスは基本波(発振周波数)に対する離調周波数がfsであり、強度が(Δf/fs)2に応じた値となる。そして、fsとΔfの値によっては、D1に示した発振器本来の位相雑音に比べて強度が大きいスプリアスが発生してしまう可能性がある。図16のD2はΔf=0.1Hz、fs=100kHzの場合のスプリアスの例であり、D3はΔf=0.1Hz、fs=600kHzの場合のスプリアスの例である。D2、D3のいずれのスプリアスも、発振器本来の位相雑音(D1)に比べて強度が高い。
D2やD3に示したようなスプリアスが発生することで、所望の発振周波数とは異なる周波数での信号強度が相対的に大きくなり、発振器400のC/N特性が悪化する。C/N特性の悪化は、発振信号を用いて取得されるデータの精度の低下につながる。例えば上記のGPSの例であれば、GPS受信信号の精度が低下することになり、具体的にはGPS受信信号から求められる位置情報の精度が低下してしまう。このように、周波数変動に応じたスプリアスの発生についても、実際の製品の基準信号源としてDTCXOを採用することの妨げとなっていた。なお、図16のD2及びD3に示したスプリアスは、その強度が低減されない場合に、C/N特性を悪化させるものである。よって、フィルター回路による平滑化等、スプリアスの強度を低下させるノイズ低減処理が行われるのであれば、本実施形態の手法において、D2やD3に対応するΔf、fsの値を採用することは妨げられない。詳細については後述する。
2.構成
図4に本実施形態の回路装置の基本構成例を示す。この回路装置は、DTCXOやOCXO等のデジタル方式の発振器を実現する回路装置(半導体チップ)である。例えばこの回路装置と振動子XTALをパッケージに収納することで、デジタル方式の発振器が実現される。
図4の回路装置は、A/D変換部20、処理部50、発振信号生成回路140を含む。また回路装置は温度センサー部10、バッファー回路160を含むことができる。なお回路装置の構成は図4の構成には限定されず、その一部の構成要素(例えば温度センサー部、バッファー回路、A/D変換部等)を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
振動子XTALは、例えば水晶振動子等の圧電振動子である。振動子XTALは恒温槽内に設けられるオーブン型振動子(OCXO)であってもよい。振動子XTALは共振器(電気機械的な共振子又は電気的な共振回路)であってもよい。振動子XTALとしては、圧電振動子、SAW(Surface Acoustic Wave)共振子、MEMS(Micro Electro Mechanical Systems)振動子等を採用できる。振動子XTALの基板材料としては、水晶、タンタル酸リチウム、ニオブ酸リチウム等の圧電単結晶や、ジルコン酸チタン酸鉛等の圧電セラミックス等の圧電材料、又はシリコン半導体材料等を用いることができる。振動子XTALの励振手段としては、圧電効果によるものを用いてもよいし、クーロン力による静電駆動を用いてもよい。
温度センサー部10は、温度検出電圧VTDを出力する。具体的には、環境(回路装置)の温度に応じて変化する温度依存電圧を、温度検出電圧VTDとして出力する。温度センサー部10の具体的な構成例については後述する。
A/D変換部20は、温度センサー部10からの温度検出電圧VTDのA/D変換を行って、温度検出データDTDを出力する。例えば温度検出電圧VTDのA/D変換結果に対応するデジタルの温度検出データDTD(A/D結果データ)を出力する。A/D変換部20のA/D変換方式としては、例えば逐次比較方式や逐次比較方式に類似する方式などを採用できる。なおA/D変換方式はこのような方式には限定されず、種々の方式(計数型、並列比較型又は直並列型等)を採用できる。
処理部50(DSP部:デジタル信号処理部)は種々の信号処理を行う。例えば処理部50(温度補償部)は、温度検出データDTDに基づいて発振周波数(発振信号の周波数)の温度補償処理を行う。そして発振周波数の周波数制御データDDSを出力する。具体的には処理部50は、温度に応じて変化する温度検出データDTD(温度依存データ)と、温度補償処理用の係数データ(近似関数の係数のデータ)などに基づいて、温度変化があった場合にも発振周波数を一定にするための温度補償処理を行う。この処理部50は、ゲートアレイ等のASIC回路により実現してもよいし、プロセッサーとプロセッサー上で動作するプログラムにより実現してもよい。
発振信号生成回路140は発振信号SSCを生成する。例えば発振信号生成回路140は、処理部50からの周波数制御データDDSと振動子XTALを用いて、周波数制御データDDSにより設定される発振周波数の発振信号SSCを生成する。一例としては、発振信号生成回路140は、周波数制御データDDSにより設定される発振周波数で振動子XTALを発振させて、発振信号SSCを生成する。
なお発振信号生成回路140は、ダイレクト・デジタル・シンセサイザー方式で発振信号SSCを生成する回路であってもよい。例えば振動子XTAL(固定発振周波数の発振源)の発振信号をリファレンス信号として、周波数制御データDDSで設定される発振周波数の発振信号SSCをデジタル的に生成してもよい。
発振信号生成回路140は、D/A変換部80と発振回路150を含むことができる。但し発振信号生成回路140は、このような構成には限定されず、その一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
D/A変換部80は、処理部50からの周波数制御データDDS(処理部の出力データ)のD/A変換を行う。D/A変換部80に入力される周波数制御データDDSは、処理部50による温度補償処理後の周波数制御データ(周波数制御コード)である。D/A変換部80のD/A変換方式としては例えば抵抗ストリング型(抵抗分割型)を採用できる。但し、D/A変換方式はこれには限定されず、抵抗ラダー型(R−2Rラダー型等)、容量アレイ型、又はパルス幅変調型などの種々の方式を採用できる。またD/A変換部80は、D/A変換器以外にも、その制御回路や変調回路やフィルター回路などを含むことができる。
発振回路150は、D/A変換部80の出力電圧VQと振動子XTALを用いて、発振信号SSCを生成する。発振回路150は、第1、第2の振動子用端子(振動子用パッド)を介して振動子XTALに接続される。例えば発振回路150は、振動子XTAL(圧電振動子、共振子等)を発振させることで、発振信号SSCを生成する。具体的には発振回路150は、D/A変換部80の出力電圧VQを周波数制御電圧(発振制御電圧)とした発振周波数で、振動子XTALを発振させる。例えば発振回路150が、電圧制御により振動子XTALの発振を制御する回路(VCO)である場合には、発振回路150は、周波数制御電圧に応じて容量値が変化する可変容量キャパシター(バリキャップ等)を含むことができる。
なお、前述のように発振回路150はダイレクト・デジタル・シンセサイザー方式により実現してもよく、この場合には振動子XTALの発振周波数はリファレンス周波数となり、発振信号SSCの発振周波数とは異なる周波数になる。
バッファー回路160は、発振信号生成回路140(発振回路150)で生成された発振信号SSCのバッファリングを行って、バッファリング後の信号SQを出力する。即ち、外部の負荷を十分に駆動できるようにするためのバッファリングを行う。信号SQは例えばクリップドサイン波信号である。但し信号SQは矩形波信号であってもよい。或いはバッファー回路160は、信号SQとしてクリップドサイン波信号と矩形波信号の両方の出力が可能な回路であってもよい。
図5に本実施形態の回路装置の詳細な構成例を示す。図5ではD/A変換部80が、変調回路90とD/A変換器100とフィルター回路120を含む。
D/A変換部80の変調回路90は、処理部50からi=(n+m)ビットの周波数制御データDDSを受ける(i、n、mは1以上の整数)。一例としてはi=20、n=16、m=4である。そして変調回路90は、周波数制御データDDSのmビット(例えば4ビット)のデータに基づいて、周波数制御データDDSのnビット(例えば16ビット)のデータを変調する。具体的には変調回路90は、周波数制御データDDSのPWM変調を行う。なお変調回路90の変調方式はPWM変調(パルス幅変調)には限定されず、例えばPDM変調(パルス密度変調)等のパルス変調であってもよく、パルス変調以外の変調方式であってもよい。例えば周波数制御データDDSのnビットのデータに対して、mビットのディザー処理(ディザリング処理)を行うことでビット拡張(nビットからiビットへのビット拡張)を実現してもよい。
D/A変換器100は、変調回路90により変調されたnビットのデータのD/A変換を行う。例えばn=16ビットのデータのD/A変換を行う。D/A変換器100のD/A変換方式としては、例えば抵抗ストリング型や抵抗ラダー型などを採用できる。
フィルター回路120は、D/A変換器100の出力電圧VDAを平滑化する。例えばローパスフィルター処理を行って出力電圧VDAを平滑化する。このようなフィルター回路120を設けることで、例えばPWM変調された信号のPWM復調が可能になる。このフィルター回路120のカットオフ周波数は、変調回路90のPWM変調の周波数に応じて設定できる。即ちD/A変換器100からの出力電圧VDAの信号は、PWM変調の基本周波数及び高調波成分のリプルを含むため、フィルター回路120により、このリップルを減衰させる。なおフィルター回路120としては、例えば抵抗又はキャパシター等の受動素子を用いたパッシブフィルターを採用できる。但しフィルター回路120としてSCFなどのアクティブフィルターを用いることも可能である。
後述するように、図3で説明した周波数ホッピングを原因とする通信エラーの発生を抑制し、周波数精度の向上を図るためには、D/A変換部80の分解能をできる限り高くする必要がある。
しかしながら、例えば抵抗ストリング型等のD/A変換器100だけで、例えばi=20ビットというような高分解能のD/A変換を実現するのは困難である。またD/A変換部80の出力雑音が大きいと、当該雑音が原因となって、周波数精度の向上の実現が難しくなる。
そこで図5では、D/A変換部80に変調回路90を設ける。また処理部50は、D/A変換器100の分解能であるnビット(例えば16ビット)よりもビット数が多いi=m+nビットの周波数制御データDDSを出力する。処理部50は、例えば温度補償処理等のデジタル信号処理を実現するために、浮動小数点演算等を行っているため、このようなnビット(例えばn=16ビット)よりもビット数が多いi=m+nビットの周波数制御データDDSを出力することは容易である。
そして変調回路90は、i=m+nのうちのmビットのデータに基づいて、i=m+nのうちのnビットのデータの変調(PWM変調等)を行い、変調後のnビットのデータDMをD/A変換器100に出力する。そしてD/A変換器100がデータDMのD/A変換を行い、得られた出力電圧VDAの平滑化処理をフィルター回路120が行うことで、i=m+nビット(例えば20ビット)というような高分解能のD/A変換を実現できるようになる。
この構成によれば、D/A変換器100として例えば出力雑音が少ない抵抗ストリング型等を採用できるため、D/A変換部80の出力雑音を低減でき、周波数精度の劣化の抑制が容易になる。例えば変調回路90での変調により雑音が発生するが、当該雑音についても、フィルター回路120のカットオフ周波数の設定により十分に減衰することができ、当該雑音を原因とする周波数精度の劣化を抑制できる。
なおD/A変換部80の分解能はi=20ビットには限定されず、20ビットよりも高い分解能であってもよいし、低い分解能であってもよい。また変調回路90の変調のビット数もm=4ビットには限定されず、4ビットよりも大きくてもよいし(例えばm=8ビット)、小さくてもよい。
また図5では、D/A変換部80の前段に、温度補償処理等のデジタル信号処理を行う処理部50が設けられていることを、有効活用している。即ち、処理部50は、例えば浮動小数点演算などにより、高精度で、温度補償処理等のデジタル信号処理を実行している。従って、例えば浮動小数点演算の結果の仮数部の下位ビットも有効なデータとして扱って、バイナリーデータに変換すれば、例えばi=m+n=20ビットというような高いビット数での周波数制御データDDSも、容易に出力できる。図5ではこの点に着目し、このような高いビット数であるi=m+nビットの周波数制御データDDSを、D/A変換部80に供給し、mビットの変調回路90とnビットのD/A変換器100を用いて、i=m+nビットというような高分解能のD/A変換の実現に成功している。
このようにD/A変換部80の分解能を高分解能にすることで、上述した周波数ホッピングの発生を抑制できる。これにより周波数ホッピングを原因とする通信エラー等の発生を抑制することが可能になる。
また、このような周波数ホッピングの問題以外にも、DTCXOやOCXOなどのデジタル方式の発振器では、発振周波数に対して非常に高い周波数精度が要求される。例えば前述のTDD方式では、上がりと下りで同じ周波数を用いて時分割でデータが送受信され、各機器に割り当てられたタイムスロットの間にはガードタイムが設定されている。このため、適正な通信を実現するためには、各機器において時刻同期を行う必要があり、正確な絶対時刻の計時が要求される。例えば基準信号(GPS信号やインターネットを介した信号)が消失又は異常となるホールドオーバーが発生した場合には、基準信号が無い状態で発振器側が正確に絶対時刻を計時する必要がある。このため、このような機器(GPS関連機器、基地局等)に用いられる発振器には、非常に高い発振周波数精度が要求される。
このような要求を実現するために、例えば各機器に原子時計などを設ける手法を採用すると、機器の高コスト化や大規模化を招く。また、高い周波数精度の発振器を実現したとしても、発振器に用いられる回路装置が大規模化したり、消費電力が非常に大きくなってしまうのは望ましくない。
この点、図5の回路装置の構成によれば、D/A変換部80に、変調回路90やフィルター回路120を設けるだけで、例えばi≧20ビットとなるような非常に高い分解能のD/A変換部80を実現でき、このように分解能が高くなることで、発振周波数の高精度化を実現できる。そして、このような変調回路90やフィルター回路120を設けることによる回路装置のチップサイズの増加や消費電力の増加は、それほど大きくない。更に処理部50では浮動点小数点演算などにより温度補償処理を実行しているため、例えばi≧20ビットとなるような周波数制御データDDSをD/A変換部80に出力することも容易である。従って、図5の回路装置の構成は、発振周波数の高精度化と、回路装置の規模や消費電力の増加の抑制とを、両立して実現できるという利点がある。
なお図4、図5の回路装置は、基準信号(GPS信号やインターネットを介した信号)と発振信号に基づく入力信号を比較する位相比較回路を有するPLL回路における、発振用ICとしても用いることができる。この場合には、例えば当該位相比較回路からの周波数制御データに対して、処理部50が温度補償処理やエージング補正処理等を行って、発振信号生成回路140により発振信号を生成すればよい。
また処理部50は、第1の温度から第2の温度に温度が変化した場合に、第1の温度(第1の温度検出データ)に対応する第1のデータから、第2の温度(第2の温度検出データ)に対応する第2のデータへと、k×LSB単位で変化(k×LSBずつ変化)する周波数制御データDDSを出力する。ここでk≧1であり、kは1以上の整数である。例えば周波数制御データDDSのビット数(D/A変換部の解像度)をiとした場合に、k<2iであり、kは2iよりも十分に小さい整数である(例えばk=1〜8)。更に具体的にはk<2mである。例えばk=1の場合には、処理部50は、1LSB単位(1ビット単位)で第1のデータから第2のデータに変化する周波数制御データDDSを出力する。即ち、第1のデータから第2のデータに向かって、1LSB(1ビット)ずつシフトしながら変化するような周波数制御データDDSを出力する。なお周波数制御データDDSの変化ステップ幅は、1LSBには限定されず、例えば2×LSB、3×LSB、4×LSB・・・というように2×LSB以上の変化ステップ幅であってもよい。
例えば処理部50は、演算部60と出力部70を含む。演算部60は、温度検出データDTDに基づいて発振周波数の温度補償処理の演算を行う。例えば浮動小数点演算等によるデジタル信号処理により温度補償処理を実現する。出力部70は、演算部60からの演算結果データCQを受け、周波数制御データDDSを出力する。そして、この出力部70が、演算結果データCQが第1の温度に対応する第1のデータから、第2の温度に対応する第2のデータに変化した場合に、k×LSB単位で第1のデータから第2のデータに変化する周波数制御データDDSの出力処理を行う。
このように、処理部50から出力される周波数制御データDDSが、k×LSBずつ変化するようになれば、例えば温度が第1の温度から第2の温度に変化した場合に、D/A変換部80の出力電圧VQに大きな電圧変化が生じ、この電圧変化が原因で図3の周波数ホッピングが発生してしまう事態を抑制できる。これにより当該周波数ホッピングが原因で通信エラー等が生じるのを防止できるようになる。
より具体的には処理部50は、前回(前回のタイミング)の温度補償処理の演算結果データ(CQ)である第1のデータと、今回(今回のタイミング)の温度補償処理の演算結果データである第2のデータを比較する。
そして処理部50(出力部70)は、第2のデータの方が第1のデータよりも大きい場合には、第1のデータに対して所定値を加算する処理を行う。例えば所定値としてk×LSBを加算する処理を行う。例えばk=1の場合には、所定値として1LSBを加算する処理を行う。なお、加算される所定値は1LSBには限定されず、2×LSB以上であってもよい。そして処理部50は、例えばこの加算処理を、加算結果データが第2のデータに達するまで行いながら、当該加算結果データを周波数制御データDDSとして出力する。
一方、処理部50(出力部70)は、第2の温度に対応する第2のデータの方が、第1の温度に対応する第1のデータよりも小さい場合には、第1のデータから所定値を減算する処理を行う。例えば所定値としてk×LSBを減算する処理を行う。例えばk=1の場合には、所定値として1LSBを減算する処理を行う。なお、減算される所定値は1LSBには限定されず、2×LSB以上であってもよい。そして処理部50は、例えばこの減算処理を、減算結果データが第2のデータに達するまで行いながら、当該減算結果データを周波数制御データDDSとして出力する。
このように、第1のデータに対して所定値を加算したり、第1のデータから所定値を減算する処理を行いなら、周波数制御データDDSを出力すれば、温度補償処理の演算結果データが第1の温度に対応する第1のデータから第2の温度に対応する第2のデータに変化した場合に、例えば所定値に対応するk×LSB単位で第1のデータから第2のデータに変化する周波数制御データDDSを出力することが可能になる。
また処理部50(出力部70)は、第1のモード(通常モード)では、k×LSB単位で変化する周波数制御データDDSの出力処理を行う。これにより、周波数ホッピングに起因する通信エラー等の発生を抑制できる。
一方、処理部50は、第2のモード(高速モード)では、k×LSB単位で変化する周波数制御データDDSの出力処理を行わずに、温度補償処理の演算結果データを周波数制御データDDSとして出力する。具体的には、演算部60からの演算結果データCQを周波数制御データDDSとして出力する。こうすることで、第1のモードに比べて高速に変化する周波数制御データDDSを、D/A変換部80に供給できるようになり、高速モードを実現できるようになる。
なお、第1のモードは、回路装置の通常動作時(通常動作期間)において設定される。一方、第2のモードは、例えば回路装置の起動時(起動期間)又は検査時(テスト期間)において設定される。即ち、通常動作時以外の動作時において回路装置は第2のモードに設定される。
例えば回路装置の通常動作時においては、第1のモードに設定されることで、処理部50は、k×LSB単位で変化する周波数制御データDDSを出力するようになる。これにより周波数ホッピング等の問題を防止し、発振周波数の高精度化等を図れるようになる。
一方、回路装置の起動時又は検査時においては、第2のモードに設定されることで、周波数制御データDDSをk×LSB単位で変化させる処理は行われなくなり、演算部60からの演算結果データCQが、そのまま周波数制御データDDSとして出力されるようになる。これにより回路装置の起動時間を短縮でき、回路装置を高速に起動できるようになる。また回路装置や発振器の製造時等における検査期間(テスト期間)を短縮でき、製造期間の短縮化等を図れるようになる。
また本実施形態では、処理部50は、A/D変換部20からの温度検出データDTDの出力レートよりも速い出力レートで、周波数制御データDDSを出力する。こうすることで、k×LSB単位で第1のデータから第2のデータに変化する周波数制御データDDSの出力が可能になる。例えばA/D変換期間に対応する期間内において、周波数制御データDDSを、k×LSBずつ段階的に変化させることが可能になる。
図6は振動子XTAL(AT振動子等)の温度による発振周波数の周波数偏差の一例を示す図である。処理部50は、図6のような温度特性を有する振動子XTALの発振周波数を、温度に依存せずに一定にするための温度補償処理を行う。
具体的には処理部50は、A/D変換部20の出力データ(温度検出データ)とD/A変換部80の入力データ(周波数制御データ)とが図7に示すような対応関係になるような温度補償処理を実行する。図7の対応関係(周波数補正テーブル)は、例えば回路装置が組み込まれた発振器を恒温槽に入れ、各温度でのD/A変換部80の入力データ(DDS)とA/D変換部20の出力データ(DTD)をモニターするなどの手法により取得できる。
そして図7の対応関係を実現するための温度補償用の近似関数の係数データを、回路装置のメモリー部(不揮発性メモリー)に記憶しておく。そして処理部50が、メモリー部から読み出された係数データと、A/D変換部20からの温度検出データDTDとに基づいて、演算処理を行うことで、振動子XTALの発振周波数を温度に依らずに一定にするための温度補償処理を実現する。
なお温度センサー部10の温度検出電圧VTDは、後述するように例えば負の温度特性を有している。従って、図7のような温度補償特性で、図6の振動子XTALの発振周波数の温度依存性を相殺して補償できるようになる。
3.本実施形態の手法
次に本実施形態の手法の詳細について説明する。まず図8を用いて、周波数ホッピングが原因で発生するGPS(Global Positioning System)の通信エラーについて説明する。さらに、図16〜図19を用いて発振器400のC/N特性とスプリアスについて説明する。
3.1 周波数ホッピング
GPS衛星は、衛星軌道や時刻等に関する情報を図8の航法メッセージに含めて、GPS衛星信号として、50bpsのデータレートで送信している。このため1ビットの長さは20msec(PNコードの20周期)になる。1つの航法メッセージは1つのマスターフレームで構成されており、1つのマスターフレームは1500ビットからなる25個のフレームで構成される。
GPS衛星信号は、図8に示すように航法メッセージのビット値に応じてBPSK変調方式で変調されている。具体的には、航法メッセージに対してPNコード(疑似ランダム符号)が乗算されてスペクトラム拡散が行われ、スペクトラム拡散後の信号に搬送波(1575.42MHz)が乗算されることで、BPSK変調が行われる。図8では、航法メッセージのB1の部分のPNコードが示され、PNコードのB2の部分の搬送波が示されている。PNコードの論理レベルが変化するタイミングで、B3に示すように搬送波が位相反転する。搬送波の1波長の期間は0.635ns程度である。GPS受信機は、BPSK変調方式で変調された航法メッセージの搬送波を受信し、搬送波の受信信号の復調処理を行うことで、航法メッセージを取得する。
このような受信信号の復調処理の際に、搬送波の周波数(1575.42MHz)との残差周波数を4Hz/20msec内に収めないと、復調処理において誤判定が生じてしまう。即ち、GPS航法メッセージの1ビット長の期間(GPS航法メッセージの周期)であるTP=20msecにおいて、搬送波の周波数との残差周波数を4Hz内に収めないと、周波数ホッピングによる通信エラーが生じてしまう。
そして搬送波の周波数である1575.42MHzに対する上記の4Hzの割合が数ppb程度であるため、図2、図3に示す許容ドリフト周波数であるFDも数ppb程度になる。
例えばGPSの受信機では、本実施形態の回路装置(発振器)により生成される発振信号により、復調処理における搬送波の周波数が設定される。このため、発振信号の発振周波数の周波数ドリフトを、TP=20msecにおいて±FD内に収めることが必要になる。こうすることで、GPS衛星信号の受信信号の復調処理において誤判定の発生を防止でき、通信エラー(受信エラー)が生じるのを回避できる。
しかしながら、従来のDTCXO等のデジタル方式の発振器では、期間TP(20msec)において周波数ドリフトを±FD(数ppb程度)内に抑えることは行っていなかった。このため図3に示すような周波数ホッピングが原因で、復調処理の誤判定による通信エラーが発生するという問題点があった。
そこで本実施形態では、図9〜図13等で説明する手法を採用することで、この周波数ホッピングの問題を解決している。
図9において、第1の温度T1に対応する周波数制御電圧を第1の制御電圧VC1とする。また第2の温度T2に対応する周波数制御電圧を第2の制御電圧VC2とする。この周波数制御電圧(発振制御電圧)は、図4、図5の発振回路150の周波数制御電圧であり、例えばD/A変換部80の出力電圧VQに対応する。第1、第2の温度T1、T2は、温度センサー部10により検出された温度であり、A/D変換部20からの温度検出データDTDに対応する。
例えば温度が第1の温度T1である場合のA/D変換部20の温度検出データDTDを、第1の温度検出データDTD1とする。温度が第2の温度T2である場合のA/D変換部20の温度検出データDTDを、第2の温度検出データDTD2とする。
この場合に図9の第1の制御電圧VC1は、図7で説明した温度補償特性において、第1の温度検出データDTD1に対応する周波数制御電圧となる。また第2の制御電圧VC2は、上記の温度補償特性において、第2の温度検出データDTD2に対応する周波数制御電圧になる。
なお、図9では、便宜的に、温度が高くなると周波数制御電圧が高くなる場合を想定している。即ち、図6、図7から明らかなように、温度が高くなった場合に、周波数制御電圧が高くなる温度範囲もあるし、周波数制御電圧が低くなる温度範囲もあるが、ここでは前者の場合を想定して説明する。
図10に示すように、第1の温度T1から第2の温度T2に変化した場合に、第1の制御電圧VC1と第2の制御電圧VC2の差分電圧はVDFとなる。従って、何ら工夫をしなければ、第1の温度T1から第2の温度T2に変化した場合に、D/A変換部80の出力電圧VQは、VC1からVC2に変化する。即ち、差分電圧VDFのステップ幅で、D/A変換部80の出力電圧VQが変化することになる。
即ち、前述したように第1の制御電圧VC1は、図7の温度補償特性において、第1の温度検出データDTD1に対応する周波数制御電圧であり、第2の制御電圧VC2は、第2の温度検出データDTD2に対応する周波数制御電圧である。従って、通常であれば、D/A変換部80は、第1の温度T1では、第1の温度検出データDTD1に対応する周波数制御電圧である第1の制御電圧VC1を出力し、第2の温度T2では、第2の温度検出データDTD2に対応する周波数制御電圧である第2の制御電圧VC2を出力することになる。このため、D/A変換部80の出力電圧VQが、第1の制御電圧VC1から第2の制御電圧VC2へと、差分電圧VDFのステップ幅で大きく変化してしまう。
そして、このようにD/A変換部80の出力電圧VQが、差分電圧VDFのステップ幅で大きく変化してしまうと、図3に示すような周波数ホッピングが発生してしまう。即ち、図4、図5の発振回路150は、D/A変換部80の出力電圧VQを周波数制御電圧として、振動子XTALを発振させている。従って、D/A変換部80の出力電圧VQが差分電圧VDFのステップ幅で変化してしまうと、振動子XTALの発振周波数も、この差分電圧VDFに対応するステップ幅で変化してしまう。この結果、図3に示すような周波数ホッピングが生じて、図8で説明したような通信エラーが発生してしまう。
そこで本実施形態では、図11に示すように、第1の温度T1から第2の温度T2に温度が変化した場合に、第1の制御電圧VC1と第2の制御電圧VC2の差分電圧VDFの絶対値よりも小さい電圧幅で変化する出力電圧VQが、D/A変換部80から発振回路150に出力されるようにする。
差分電圧VDFの絶対値は、例えば|VC1−VC2|である。この場合にVC1>VC2であってもよいし、VC1<VC2であってもよい。また、温度変化が無いことなどにより、VC1=VC2(DTD1=DTD2)である場合には、出力電圧VQの変化電圧幅も当然に0Vになり、差分電圧VDFの絶対値と出力電圧VQの変化電圧幅は一致する。即ちこのケースは本実施形態の手法の例外のケースとなる。
例えば本実施形態の手法を採用しなかった場合には、温度がT1からT2に変化した場合に、D/A変換部80の出力電圧VQは、図11のC1に示すように差分電圧VDFのステップ幅で変化してしまう。
これに対して本実施形態の手法では、図11のC2に示すように、この差分電圧VDFの絶対値よりも小さい電圧幅VAで、D/A変換部80の出力電圧VQを変化させる。電圧幅VAは例えば期間TDAC内での出力電圧VQの電圧変化である。
図11のC2に示すように、VA<VDFとなるようにD/A変換部80の出力電圧VQを変化させれば、C1の場合に比べて、発振回路150の発振周波数の変化も非常に小さくなる。従って、図3のような周波数ホッピングの発生が抑制され、図8で説明した通信エラーの発生も防止できるようになる。
より具体的には本実施形態では、D/A変換部80は、D/A変換でのデータの最小分解能をLSBとした場合に、k×LSB(k≧1)に対応する電圧のステップ幅で変化する出力電圧VQを出力する。例えば図11のC2に示すように、D/A変換部80の出力電圧VQは、k×LSBに対応する電圧のステップ幅で階段状(段階的)に変化する。即ち、上述の電圧幅VAは、例えばD/A変換部80のk×LSBに対応する電圧のステップ幅である。なお電圧幅VAは、k×LSBに対応する電圧のステップ幅以下であれば十分であり、例えば後述する変形例の手法等を用いて、VAがk×LSBに対応する電圧のステップ幅よりも小さくなるようにしてもよい。
ここで、LSBは、D/A変換部80に入力されるデータ(処理部50が出力する周波数制御データDDS)の最小分解能である。そして、LSBに対応する電圧は、D/A変換の最小分解能あたりの電圧である最小分解能電圧である。従って、k×LSBに対応する電圧は、この最小分解能電圧のk倍の電圧に相当する。
また、例えばD/A変換部80の分解能をiビットとした場合に、k<2iであり、kは2iよりも十分に小さい整数である(例えばk=1〜8)。より具体的には、変調回路90を設けることなどにより、D/A変換部80の分解能をnビットからi=n+mビットに拡張した場合に、k<2mとすることができる。
例えばk=1とした場合には、D/A変換部80の出力電圧VQは、1LSB(1ビット)に対応する電圧のステップ幅で変化する。例えばD/A変換部80の出力電圧VQは、1LSBに対応する電圧のステップ幅で階段状(段階的)に変化(増加又は減少)する。
つまり、D/A変換部80への入力データDDSに依存せずに、D/A変換部80の出力電圧VQは、1LSB(広義にはk×LSB)に対応する電圧のステップ幅で変化する。これは、例えば図5の処理部50(出力部70)が、第1の温度から第2の温度に温度が変化した場合に、第1の温度に対応する第1のデータから第2の温度に対応する第2のデータへと、1LSB単位(k×LSB単位)で変化する周波数制御データDDSを出力することで実現できる。
また図11のC2に示すようなk×LSBに対応する電圧のステップ幅での階段状の変化は、A/D変換部20からの温度検出データDTD(DTD1、DTD2)の出力レートよりも速い出力レートで、処理部50が周波数制御データDDSを出力する(D/A変換部80がD/A変換する)ことにより実現される。
例えばA/D変換部20は、図11に示すように期間TAD毎に温度検出データDTDを出力する。例えばA/D変換部20は、第1の温度T1に対応する第1の温度検出データDTD1を出力し、その後、期間TADの経過後に、第2の温度T2に対応する第2の温度検出データDTD2を出力する。期間TADが、A/D変換部20のA/D変換間隔(温度検出電圧のサンプリング間隔)に相当し、1/TADが、A/D変換部20の出力レートに相当する。
そしてA/D変換部20が、第2の温度検出データDTD2を出力すると、これを受けた処理部50が温度補償処理等のデジタル信号処理を行い、第2の温度検出データDTD2に対応する周波数制御データDDSを出力する。このとき処理部50は、後述する図21、図22に示すように、周波数制御データDDSをk×LSB単位で階段状に変化させる。従って、このk×LSB単位で変化する周波数制御データDDSを受けてD/A変換するD/A変換部80の出力電圧VQも、図11のC2に示すように、期間TDAC毎にk×LSBに対応する電圧のステップ幅で変化するようになる。
ここで、期間TDACが、D/A変換部80のD/A変換間隔(処理部50の周波数制御データDDSの出力間隔)に相当し、1/TDACが、処理部50やD/A変換部80の出力レートに相当する。
そして図11に示すように、TAD>TDACであり、A/D変換部20の出力レートである1/TADに比べて、処理部50やD/A変換部80の出力レートである1/TDACは速くなっている。従って、期間TDAC毎(出力レート1/TDAC毎)の出力電圧VQの変化幅が、VA=k×LSBの電圧というように小さい電圧幅であっても、期間TAD内において、出力電圧VQは、制御電圧VC1から制御電圧VC2へと変化できるようになる。即ち温度がT1からT2に変化して、温度検出データがDTD1からDTD2に変化した場合に、A/D変換間隔である期間TAD内において、温度検出データDTD1に対応する制御電圧VC1から、温度検出データDTD2に対応する制御電圧VC2へと、出力電圧VQを変化させることが可能になる。そして、この場合の電圧変化の電圧幅VAは小さいため、周波数ホッピングの発生も抑制できるようになる。
図12は、本実施形態の手法を周波数領域において説明する図である。例えば発振信号生成回路140(D/A変換部80及び発振回路150)による発振周波数の周波数可変範囲をFRとする。例えば発振信号生成回路140は、温度変化に対して図13に示すような周波数調整を行うが、この周波数調整での周波数可変範囲がFRになる。即ち、この周波数可変範囲FR内に収まる温度変化であれば、発振信号生成回路140による周波数調整が可能となる。
また所定期間TP内における発振周波数の許容周波数ドリフトをFDとする。例えば図8で説明した通信エラーの発生を防止するためには、所定期間TP内での発振周波数の周波数ドリフトを、許容周波数ドリフトFD内に収める必要がある。図3に示すような周波数ホッピングにより、発振周波数の周波数ドリフトが許容周波数ドリフトFD内に収まらなくなると、例えばGPS衛星信号等の受信信号の復調処理において誤判定が発生して、通信エラーが生じてしまう。
またD/A変換部80のフルスケール電圧をVFSとする。D/A変換部80は、このフルスケール電圧VFSの範囲で、出力電圧VQを変化させることができる。このフルスケール電圧VFSは、例えばD/A変換部80に入力される周波数制御データDDSが、0〜2iというようにフルレンジで変化した場合の電圧範囲に相当する。
そして図11で説明したD/A変換部80のD/A変換間隔(TDAC)での出力電圧VQの電圧変化の電圧幅をVAとする。この場合に本実施形態の手法では、図12に示すように、下式(1)が成立する。
VA<(FD/FR)×VFS (1)
具体的には、D/A変換部80の分解能をiビットとした場合に、下式(2)が成立する。
1/2i<(FD/FR) (2)
上式(1)、(2)に示す本実施形態の手法を採用することで、図12に示すように、所定期間TP(例えば20msec)での、公称発振周波数fos(例えば16MHz程度)に対する発振周波数の周波数ドリフトを、許容周波数ドリフトFD内(例えば数ppb程度)に収めることが可能になる。これにより、図3等で説明した周波数ホッピングを原因とする通信エラー等の発生を抑制できるようになる。
例えば上式(1)の右辺である(FD/FR)×VFSは、周波数可変範囲FRに対する許容周波数ドリフトFDの比率である(FD/FR)を、D/A変換部80のフルスケール電圧VFSに乗算したものである。
そしてD/A変換部80のD/A変換間隔(TDAC)での出力電圧VQの変化の電圧幅VAを、この(FD/FR)×VFSよりも小さくすれば、周波数領域においては、図12に示すように、公称発振周波数fosに対する周波数ドリフトを、許容周波数ドリフトFD内に収めることが可能になる。即ち、D/A変換部80の出力電圧VQの変化の電圧幅VAを、図11のC2に示すように小さくすることができ、周波数ホッピングの発生を抑制できるようになる。
例えば上式(1)が成り立たないと、図14に示すように、公称発振周波数fosに対する周波数ドリフトが許容周波数ドリフトFD内に収まらなくなる周波数ホッピングが生じ、図8で説明した通信エラー等が発生してしまう。本実施形態では上式(1)が成り立つように、D/A変換部80の出力電圧VQを変化させることで、このような周波数ホッピングの発生が抑制され、通信エラー等を防止できるようになる。
即ち、D/A変換部80が、フルスケール電圧VFSの範囲で、その出力電圧VQを変化させて、図13に示すような周波数可変範囲FRにおいて、発振回路150の発振周波数を調整することで、図6、図7で説明した発振周波数の温度補償処理が実現される。
ところが、D/A変換部80の出力電圧VQの変化の電圧幅VAが大きくなって、例えばVA≧(FD/FR)×VFSになってしまうと、発振周波数の周波数ドリフトが、許容周波数ドリフトFDを超えてしまい、図14に示すような周波数ホッピングが発生してしまう。
これに対して本実施形態では、VA<(FD/FR)×VFSの関係が成り立つような小さな電圧幅VAで、D/A変換部80の出力電圧VQを変化させているため、図14のような周波数ホッピングの発生を抑制できるようになる。
そしてD/A変換部80の分解能をiビットとした場合に、本実施形態では、上式(2)のように、1/2i<(FD/FR)が成り立つようにする。
例えば上式(2)の両辺に対して、D/A変換部80のフルスケール電圧VFSを乗算すると、下式(3)になる。
VFS×1/2i<(FD/FR)×VFS (3)
上式(3)の左辺であるVFS×1/2iは、D/A変換部80の1LSBの電圧(最小分解能電圧)に相当する。上式(2)、(3)は、この1LSBの電圧に相当するVFS×1/2iを、(FD/FR)×VFSよりも小さくすることを意味する。このようにVFS×1/2i<(FD/FR)×VFSとすれば、図11のC2のようにD/A変換部80の出力電圧VQを1LSBの電圧のステップ幅で変化させた場合に、発振周波数の周波数ドリフトが、許容周波数ドリフトFDを超えないようになり、周波数ホッピングの発生を抑制できるようになる。
別の言い方をすれば、上式(2)、(3)が成り立つように、D/A変換部80の分解能であるiビットを設定する。
この場合に、製造バラツキなどの種々のバラツキを考慮し、十分なマージンを確保するためには、(FD/FR)に比べて、1/2iが十分に小さくなるように、D/A変換部80の分解能を設定することが望ましい。具体的には、D/A変換部80の分解能を、例えばi=20ビット以上に設定する。
このようにすれば、例えば所定期間TP内での許容周波数ドリフトが、図8で説明したように数ppb程度であった場合にも、上式(2)、(3)が、余裕を持って成立するようになる。従って、周波数ホッピングを原因とする通信エラーの発生等を効果的に抑制できるようになる。
例えば図15は、図11〜図13で説明した本実施形態の手法を採用した場合の周波数ドリフトの改善を説明する図である。図2、図3と図15を比較すれば明らかなように、本実施形態の手法によれば、DTCXO等の回路構成を用いた場合にも、その周波数ドリフトを、図2のATCXOと同程度に収めることができる。
即ち従来のDTCXO等の回路装置では、図3に示すような周波数ドリフトが発生してしまい、通信エラー等の原因となっていた。
これに対して本実施形態の手法を採用すれば、図15に示すように、周波数ドリフトを図2のATCXOと同程度にすることができる。従って、例えばDTCXO等の回路構成とすることで、回路装置のチップサイズの減少と周波数精度の向上とを実現しながら、周波数ホッピングを抑制して、通信エラー等の発生を防止できるという特有の効果を奏する。
3.2 スプリアスと発振器のC/N特性
周波数制御データDDSの変動(狭義にはD/A変換部80でのビット変化)によりスプリアスが発生する。まず当該スプリアスの特性について説明する。発振器400の主信号振幅電圧をVoとし、発振器400の主信号周波数(発振周波数)をf0とする。Vo及びf0に対して、D/A変換部80で最小ビットが小刻みに変動して位相変動になった場合の位相雑音(スプリアス)は下式(4)〜(10)を満たす。
各式について具体的に説明する。位相変動の周波数をfsとした場合、fsは周波数制御データDDSの出力周波数に相当する。ここで図4に示したように、発振信号生成回路140が、D/A変換部80と、発振回路150を含む場合、周波数制御データDDSの出力周波数であるfsは、D/A変換部80のサンプリング周波数(1/TDAC)であり、発振周波数の変化であるΔfは、1回のD/A変換による発振周波数の変化量である。
最小周波数分解能がΔfとなるため、位相変動の位相揺らぎ振幅をφsとした場合、φsはサンプリング周波数fsおきに、周波数変化0、又は+Δf、又は−Δfで揺らぐことになる。これは、振幅±Δfで周波数変動していると考えられるため、φsは下式(4)により表される。
φs = 2π(Δf)t/2π(fs)t = Δf/fs (4)
これらの変数を使い、主信号に位相変動を加えた信号は下式(5)で表すことができる。
Vo(t) = Vo・sin{2π(f0)t + φs・sin(2π(fs)t)} (5)
三角関数の和積公式より、上式(5)は下式(6)のように変形できる。
Vo(t) = Vo{sin(2π(f0)t)・cos(φs・sin(2π(fs)t)) +
cos(2π(f0)t)・sin(φs・sin(2π(fs)t))} (6)
また、上式(6)においてφsが1より充分小さい事を前提に簡素化することで、上式(6)は下式(7)のように変形できる。
Vo(t) = Vo{sin(2π(f0)t) + φs・cos(2π(f0)t)・sin(2π(fs)t)} (7)
さらに、三角関数の積和公式より、上式(7)は下式(8)のように変形できる。
上式(8)からわかるように、信号成分は、主信号の第一項と、位相変動成分の側波帯で主信号周波数の上下対称に位置する第二項及び第三項と、の和として観測される。この主信号と側波帯のパワー比P_ratio(fs)はお互いの振幅レベルによって下式(9)で求められる。また、主信号に対するスプリアスの強度L(fs)をdBc/Hzを単位として表すと下式(10)となる。
図16のD1は発振器400の一般的なC/N特性(位相雑音の特性)を表すグラフである。図16の横軸は、基本波(発振周波数)に対する離調周波数を対数で表し、縦軸は信号強度を表す。D1からわかるように、発振器400では位相雑音の発生は不可避であり、当該位相雑音が発生することを前提として設計が行われる。つまり、上式(10)に示した強度のスプリアスが発生したとしても、強度が発振器本来の位相雑音に比べて小さければ、回路装置500における当該スプリアスによる影響は充分小さく、取得するデータの精度低下を抑止できる。逆に、図16のD2やD3に示したように、スプリアスの強度が発振器本来の位相雑音に比べて過度に大きい場合、当該スプリアスに起因して発振器400のC/N特性が悪化し、取得するデータの精度が低下してしまう。例えば、GPS受信信号から求められる位置情報の精度低下等を招くことになる。
本実施形態の回路装置500では、上述したように、周波数ドリフトによる不具合を抑止するために周波数制御データDDSの変動をk×LSB以下とする。そのため、Δfの値はある程度小さくなることが期待されるが、当該条件ではスプリアスによるC/N特性の悪化を抑止できる保証がない。つまり、周波数制御データDDSの変動をk×LSB以下にするとともに、スプリアスが発振器本来の位相雑音に埋もれる程度の強度となるように、Δfとfsの関係を規定する必要がある。
具体的な関係例を図17を用いて説明する。図17のE1は図16のD1と同様であり、水晶振動子の一般的なC/N特性を表す。E1は例えばATカットの水晶振動子のC/N特性であって、Q値の特性が要求範囲の中で最も悪い(C/N特性が悪い)場合に対応する。つまり、実際の回路装置500では、E1に示した強度の位相雑音が発生しても問題がないように設計されることになるため、スプリアスをE1に埋もれる程度の強度とできれば、データ精度の低下を抑止可能になる。
図17のE2は、Δf/fs=1/106の場合のスプリアスの強度を表し、E3は、Δf/fs=1/107の場合のスプリアスの強度を表し、E4は、Δf/fs=1/108の場合のスプリアスの強度を表す。上式(10)に示したように、スプリアスの強度はΔf/fsによって決定されるため、Δf/fsが所定値となる場合には、スプリアスの強度は離調周波数によらず一定値となり、E2〜E4のように横軸に平行な直線となる。なお、スプリアスの離調周波数はfsであるため、E2〜E4については、横軸が周波数制御データDDSの出力周波数fsであると考えてもよい。この点は、後述するE5、E6でも同様である。
ここで、Δf/fs<1/108とすることができれば、スプリアスの強度はE4に示した直線よりも低くなるため、E1に示した発振器本来の位相雑音よりも小さくできる。つまり本実施形態の回路装置500では、Δf/fs<1/108を満たすようにすればよい。しかし、Δf/fsを小さくするためには、fsを大きくするか、Δfを小さくしなくてはならない。fsを大きくすればD/A変換部80での消費電力が増大するし、Δfを小さくするにはD/A変換部80での分解能を高くする(1LSBの変化に対応する周波数の変化幅を小さくする)必要がある。つまり、Δf/fsを所定値未満に設定するという条件下では、Δfを大きくして分解能に対する要求を抑えれば、fsを大きくしてD/A変換部80での変換速度を大きくしなければならないし、fsを小さくしてD/A変換部80に対する要求を抑えれば、Δfを小さくして高い分解能を確保しなくてはならないというトレードオフの関係にある。そのため、Δf/fs<1/108を満たすという条件は理想ではあるが、実現が容易でないことも考えられる。
よって本実施形態では、Δf/fs<1/108に比べて緩い条件を用いてもよい。例えば、本実施形態のD/A変換部80は、D/A変換器100の後段にフィルター回路120(或いは後述するフィルター回路130)を有する。フィルター回路120により、D/A変換器100の出力電圧を平滑化することで、発振周波数の変動を小さくすることが可能である。すなわち、フィルター回路120により、実質的なΔfを小さくできる。
例えば、D/A変換器100のサンプリング周波数fsを高めに設定し、フィルター回路120により遮断率を1/100程度とすれば、スプリアスの強度を1/100(−40dB以下)程度改善することが可能になる。この場合、Δf/fs=1/106(E2)であっても、フィルター回路120による改善後のスプリアスの強度はE1以下となるため、スプリアスが発振器本来の位相雑音に埋もれた状態とできる。すなわち、Δf/fs<1/106という条件を用いても、C/N特性の悪化による精度の低下を抑止可能となる。
上述したように、本実施形態の回路装置500は、温度センサー部10からの温度検出電圧のA/D変換を行い、温度検出データDTDを出力するA/D変換部20と、温度検出データDTDに基づいて発振周波数の温度補償処理を行い、発振周波数の周波数制御データDDSを出力する処理部50と、処理部50からの周波数制御データDDSと振動子XTALを用いて、周波数制御データDDSにより設定される発振周波数の発振信号を生成する発振信号生成回路140を含む。そして、周波数ホッピングによる不具合等を抑止するために、処理部50は、第1の温度から第2の温度に温度が変化した場合に、第1の温度に対応する第1のデータから第2の温度に対応する第2のデータへと、k×LSB(k≧1)単位で変化する周波数制御データDDSを出力する。
さらに本実施形態では、発振信号を用いて取得されるデータの精度を高くするために、処理部50のk×LSB単位で変化する周波数制御データDDSの出力周波数をfsとし、周波数制御データDDSのk×LSB単位での変化による発振周波数の変化をΔfとした場合に、Δf/fs<1/106を満たす。
周波数制御データDDSの変化がk×LSB単位であれば、それによりΔfの大きさも限定される。例えば、回路装置500がD/A変換器100を含む場合、D/A変換器100の出力電圧の変化幅ΔVDACは、周波数制御データDDSの変化幅に応じた値となる。発振回路に含まれる可変容量は、電圧に応じて容量値が変化するものであり、その変化係数(C/V)が決まっている。また、発振回路150は可変容量の容量値に応じて発振周波数が変化するものであり、その変化係数(f/C)も決まっている。つまりこの例では、Δf=ΔVDAC×(C/V)×(f/C)という関係になるため、発振周波数の変化Δfは、周波数制御データDDSの変化幅であるk×LSBに応じた値となる。
つまり、周波数制御データDDSの変化がk×LSB単位となるという第1の条件を満たすことでΔfは所定値以下に制限されることになるが、本実施形態ではさらにΔf/fs<1/106が成り立つという第2の条件を満足させる。このようにすれば、周波数ホッピングによる不具合等を抑止し、且つ、スプリアスによる精度低下を抑止することが可能になる。
なお、周波数制御データDDSのk×LSBが、具体的にどのようなΔfの値に対応するかは、kの値、D/A変換器100のフルスケール、可変容量の特性、発振回路150の特性等に応じて決定される。また、Δf/fs<1/106を満たすための具体的なΔfの値は、周波数制御データDDSの出力周波数fsに応じて決定される。そのため、第1の条件と第2の条件のいずれが厳しい条件となるかは状況に応じて異なることになるが、いずれにせよ、本実施形態ではより厳しい条件を満足するような設定を行えばよい。
また、Δf/fs<1/106という条件は、離調周波数(周波数制御データDDSの出力周波数fs)がどのような値であったとしても、スプリアスが発振器本来の位相雑音に埋もれるようにする、という観点から求められた。しかし、図17のE1から明らかなように、1/fノイズによる影響が大きい周波数帯域では、周波数が小さいほど発振器本来の位相雑音が大きい。つまり、離調周波数が相対的に低い帯域では、より強度の高いスプリアスが発生したとしても、当該スプリアスは発振器400の位相雑音に埋もれることになり、精度への影響が小さい。
つまり、スプリアスの離調周波数(fs)によらず、Δf/fs<1/106を満たすという条件は、発振信号に基づくデータの精度低下を抑止するという観点からすれば充分な条件であるが、過剰に厳しい条件となっている可能性もある。
よって本実施形態では、Δf/fs<1/106とは異なる条件を用いてもよい。図17のE5、E6はΔfを所与の固定値とした場合の、スプリアスの特性を示す図である。図17に示したように、縦軸の単位をdBc/Hzとし、横軸を離調周波数の対数とした場合、Δfを固定値とした場合のスプリアス強度は単調減少する直線として表される。そして、Δfを変化させることで直線の切片が変化し、Δfが大きいほど同じ離調周波数でのスプリアス強度は高くなる。図17のE5はΔf=0.1mHzの場合のスプリアスの特性を表し、E6はΔf=1mHzの場合のスプリアスの特性を表す。
図17からわかるように、Δf=0.1mHzであるE5は、横軸での位置によらず発振器400のC/N特性を表すE1よりも下に位置する。つまり、Δf<0.1mHzを満たすことで、スプリアスの強度を発振器本来の位相雑音よりも小さくできる。ただし、Δf<0.1mHzについてもΔf/fs=1/108と同様に理想的な条件であり、実際にはより緩い条件であっても精度に対する影響は小さい。具体的には、本実施形態ではE6に示した直線を上限とし、Δf<1mHzであることを条件とすればよい。
ただし、Δf<1mHzという条件も、離調周波数(fs)が比較的大きい状況では過剰に厳しい条件となる。上式(10)からわかるように、fsが大きいほどスプリアスの強度は小さくなる。つまりfsが大きい場合、Δfが大きくても、スプリアスの強度の増加を抑止でき、精度に対する影響が小さい。Δf<1mHzという条件では、fsが大きい場合にもΔfを過剰に小さくするという、厳しい条件となってしまう可能性がある。
よって本実施形態では、Δf/fs<1/106とΔf<1mHzとを状況に応じて切り替えてもよい。具体的には、図17のE2とE6の交点であるfs=1kHzを境界として、条件を切り替えればよい。交点の右側、すなわちfs≧1kHzの場合は、E2がE6よりも上になるため、E2の方が条件が緩い。一方、交点の左側、すなわちfs<1kHzの場合は、E6がE2よりも上になるため、E6の方が条件が緩い。つまり本実施形態では、fs≧1kHzの場合は、Δf/fs<1/106であり、fs<1kHzの場合は、Δf<1mHzであること条件とすればよい。このようにすれば、満たすべき条件を緩くできるため、例えばD/A変換器100の分解能に対する要求を低くでき、回路装置500の実現が容易となる。
また、本実施形態の手法は、Δf/fs<1/106とΔf<1mHzを組み合わせて用いるものには限定されない。具体的には、処理部50は、第1の温度から第2の温度に温度が変化した場合に、第1の温度に対応する第1のデータから第2の温度に対応する第2のデータへと、k×LSB(k≧1)単位で変化する周波数制御データDDSを出力し、処理部50のk×LSB単位で変化する周波数制御データDDSの出力周波数をfsとし、周波数制御データDDSのk×LSB単位での変化による発振周波数の変化をΔfとした場合に、fs<1kHzの場合は、Δf<1mHzであってもよい。この際、fs≧1kHzの場合に、Δf/fs<1/106とは異なる条件を採用することも可能であるし、そもそもfs≧1kHzを本実施形態の手法の適用対象外とすることも可能である。
なお、Δf及びfsが以上の条件を満たすような回路装置の設計手法は種々考えられる。例えば、回路装置に応じてD/A変換部80に要求される変換速度(サンプリング周波数)が異なる。所与の回路装置では、fs=100kHzといった高いサンプリング周波数を設定することが可能であるが、異なる回路装置では、消費電力等の観点からfs=100Hzといった低いサンプリング周波数しか許容されないといったことが考えられる。fs=100kHzが許容される回路装置では、上述したようにΔf/fs<1/106を条件として用いればよく、Δf<100mHzとなる。この場合、Δf<1mHzに比べてΔfを大きくできるため、分解能が比較的粗くても問題がない。一方、fs=100Hzとなる回路装置では、上述したようにΔf<1mHzを用いればよい。この場合、分解能に対する要求は比較的大きくなるが、低消費電力の回路装置を実現すること等が可能になる。
ここで、本実施形態に係る振動子XTALは、例えば水晶振動子である。なお、水晶振動子は、結晶軸からの切断方位によって、発振周波数等の特性が異なることが知られている。本実施形態に係る水晶振動子は、広く用いられるATカット振動子、又はSCカット(Stress Compensation-cut)振動子、又はSAW共振子であってもよい。
ATカット振動子は、結晶軸に対する角度が35.15°であり、10MHz〜500MHzの発振源として、SPXO、TCXO、VCXOに使用される振動子である。また、SCカット振動子は高温で温度特性が極小になるという特徴から、10MHz〜100MHzの発振源としてOCXOに使用される振動子である。なお、ATカット振動子とSCカット振動子は、厚みすべりで発振周波数が決まる。また、SAW共振子は、弾性表面波(Surface Acoustic Wave)を応用した振動子であり、水晶表面の電極パターンに依存して振動する。SAW共振子は、発振周波数が100MHz〜3.5GHzと高く、C/N特性がよい(Q値が高い)振動子である。
なお、Δf/fs<1/106は、Δfとfsとの比に関する条件である。そのため、Δf/fs<1/106を満足するΔfとfsの組は多数考えられる。図18は、C/N特性を悪化させず精度のよいデータを取得可能な場合の、Δfとfsの値の組の例である。図18のF1は(Δf,fs)=(0.1Hz,4MHz)であり、F2は(Δf,fs)=(4mHz,100kHz)であり、F3は(Δf,fs)=(1mHz,10kHz)である。
本実施形態では、Δfとfsの値の組を1つに限定することは妨げられない。例えば、F1〜F3のうちのいずれか1つのみがΔfとfsの値の組として設定されており、回路装置500では、必ず設定されている値を満たすように動作が行われる。ただし、本実施形態の手法はこれに限定されず、Δfとfsの値の組を可変としてもよい。例えば、Δfとfsの値の組の候補としてF1〜F3の3通りを保持しておき、状況に応じて3つのうちのいずれか1つを採用してもよい。
例えば、回路装置500の動作開始時から所定期間内か否かに応じて、用いるΔfとfsの値の組を決定する。動作開始時には、それまで温度検出データDTDに対する温度補償処理が行われていないため、出力される発振信号SSCの発振周波数と、所望の発振周波数の差(以下、周波数誤差と表記する)が大きい場合がある。処理部50での温度補償処理により、周波数誤差を小さくする(狭義には0とする)ための周波数制御データDDSを求めることは可能であるが、本実施形態では、1回当たりの発振周波数の変動をΔfに抑えるという制限がある。つまり、周波数制御データDDSの1回の出力の間では、周波数誤差はΔfしか減少しないことになり、周波数誤差を0とするまでに長い時間を要してしまうおそれがある。
そこで本実施形態では、動作開始時には、Δfを比較的大きい値に設定するとともに、Δf/fs<1/106を満足するためfsも比較的大きい値とするとよい。上記F1〜F3の例であれば、F1に示した(Δf,fs)=(0.1Hz,4MHz)を用いる。このようにすれば、Δfが比較的大きいため、短い時間で発振信号の発振周波数を所望の周波数に近づける(周波数誤差を0に近づける)ことが可能になる。
ただし、Δfを大きくするためにはfsも大きくしなくてはならず、消費電力の増大等につながる。よって、ある程度の時間が経過した場合(或いは、周波数誤差がある程度小さくなった場合)には、Δfを小さくし、fsを小さくすることが望ましい。図18の例であれば、用いるΔfとfsの値の組をF1からF2に示した(Δf,fs)=(4mHz,100kHz)に変更する。また、さらに時間が経過した場合(周波数誤差が小さくなった場合)に、用いるΔfとfsの値の組をF2からF3に示した(Δf,fs)=(1mHz,10kHz)に変更してもよい。
図19は、以上の制御を説明する図である。図19の縦軸は周波数誤差(Hz)を表し、横軸は動作開始時(起動時)からの経過時間を対数で表している。図19のt1〜t2に示したように、起動時から所定期間ではF1に示したパラメーターで動作する。サンプリング周波数fsが高く、且つ、1回当たりの周波数変化量であるΔfも大きいため、起動時に0.2Hz以上あった周波数誤差を短時間で0に近づけることが可能になる。また、t2〜t3の期間ではF2に示したパラメーターで動作し、t3以降の期間ではF3に示したパラメーターで動作する。
このようにすれば、Δf/fs<1/106に示した条件を、状況に応じたパラメーターを用いて実現することが可能になる。具体的には、周波数誤差が大きい可能性がある状況では、高速で目標値に追従させるとともに、ある程度の追従が完了した場合には、fsを小さくして消費電力の増大を抑止する。
なお、ここではΔfとfsの値の組が3通りである例について説明したが、2通りであってもよいし、4通り以上であってもよいことは言うまでもない。また、ΔfとfsはΔf/fs<1/106を満たせばよく、具体的な数値も図18のF1〜F3に限定されない。また、Δf/fs<1/106を満たすという条件において、Δf及びfsを可変とする例を示したが、周波数制御データDDSをk×LSB(k≧1)単位で変化させるという条件において、kを可変にしてもよい。
また、以上では発振信号生成回路140がD/A変換部80を含む構成について説明したが、本実施形態の手法はこれに限定されない。例えば、図39を用いて後述するようなD/A変換部80を含まない構成の発振信号生成回路140を用いる場合にも、Δf/fs<1/106やΔf<1mHzといった条件を満足することで、スプリアスによるC/N特性の悪化を抑止して、精度のよいデータ取得等を実現できる。なお、発振信号生成回路140がD/A変換部80を含まない場合、フィルター回路120(フィルター回路130)も含まれず、フィルター回路120によるスプリアスの低減が行われない可能性もある。その場合には、Δf、fsが満たすべき条件を、Δf/fs<1/106やΔf<1mHzといった条件に比べて厳しくしてもよい。
4.詳細な構成例
4.1 処理部
次に本実施形態の回路装置の各部の詳細な構成例を示す。図20は処理部50の詳細な構成例を示す図である。
図20に示すように処理部50(DSP部)は、制御部52、演算部60、出力部70を含む。制御部52は、演算部60、出力部70の制御や各種の判断処理を行う。演算部60は、A/D変換部20からの温度検出データDTDに基づいて発振周波数の温度補償処理の演算を行う。出力部70は、演算部60からの演算結果データを受け、周波数制御データDDSを出力する。
制御部52は判定部53を含む。判定部53は、比較部54、55を有し、比較部54、55での比較結果に基づいて各種の判定処理を行う。
演算部60は、型変換部61、62、68と、マルチプレクサー63、65と、演算器64と、ワークレジスター66、67、69を含む。演算器64は、乗算器58と加算器59を含む。
型変換部61は、メモリー部180からの係数データが入力され、バイナリー型(整数)から浮動小数点型(単精度)への型変換を行い、型変換後の係数データをマルチプレクサー63に出力する。型変換部62は、A/D変換部20からの温度検出データDTDが入力され、バイナリー型から浮動小数点型への型変換を行い、型変換後の温度検出データDTDをマルチプレクサー63に出力する。例えば15ビットのバイナリーの温度検出データDTDを、32ビットの浮動小数点(指数部=8ビット、仮数部=23ビット、符号=1ビット)に型変換する。またマルチプレクサー63には、温度補償処理用の固定値の定数データを記憶するROM190からの当該定数データが入力される。
マルチプレクサー63は、演算器64の出力データ、ワークレジスター66、67の出力データ、型変換部61、62の出力データ、ROM190の出力データのいずれかを選択して、演算器64に出力する。演算器64は、乗算器58、加算器59により、例えば32ビットの浮動小数点の積和演算等の演算処理を行うことで、温度補償処理を実行する。マルチプレクサー65は、演算器64の乗算器58、加算器59の出力データのいずれかを選択し、ワークレジスター66、67、型変換部68のいずれかに出力する。型変換部68は、演算部60(演算器64)の演算結果データを、浮動小数点型からバイナリー型に型変換する。例えば32ビットの浮動小数点の演算結果データを、20ビットのバイナリーの演算結果データに型変換する。型変換後の演算結果データはワークレジスター69に保持される。
演算部60(演算器64)は、下式(11)に示すように、図6の温度特性のカーブを、例えば5次の近似関数(多項式)で近似する温度補償処理を行う。
Vcp=b・(T−T0)5+c・(T−T0)4+d・(T−T0)3+e・(T−T0)
(11)
上式(11)において、Tは温度検出データDTDで表される温度に相当し、T0は基準温度(例えば25℃)に相当する。b、c、d、eは近似関数の係数であり、この係数のデータはメモリー部180に記憶される。演算器64は上式(11)の積和演算等の演算処理を実行する。
出力部70は、マルチプレクサー71と、出力レジスター72と、LSB加算器73と、LSB減算器74を含む。マルチプレクサー71は、演算部60の出力データである演算結果データ、LSB加算器73の出力データ、LSB減算器74の出力データのいずれかを選択して、出力レジスター72に出力する。制御部52の判定部53は、ワークレジスター69の出力データと、出力レジスター72の出力データをモニターする。そして、比較部54、55を用いた種々の比較判定を行い、判定結果に基づいてマルチプレクサー71を制御する。
本実施形態では出力部70は、図21、図22に示すように、第1の温度から第2の温度に温度が変化した場合に、第1の温度に対応する第1のデータDAT1から、第2の温度に対応する第2のデータDAT2へと、k×LSB単位で変化する周波数制御データDDSを出力する。例えばk=1であり、1LSB単位で変化する周波数制御データDDSを出力する。
例えば出力レジスター72には、前回(第n−1のタイミング)の演算部60の演算結果データである第1のデータDAT1が記憶されている。ワークレジスター69には、今回(第nのタイミング)の演算部60の演算結果データである第2のデータDAT2が記憶されている。
そして出力部70は、図21に示すように、今回の演算結果データである第2のデータDAT2の方が、前回の演算結果である第1のデータDAT1よりも大きい場合には、第1のデータDAT1に対して所定値である1LSB(広義にはk×LSB)を加算する処理を、加算結果データが第2のデータDAT2に達するまで行いながら、加算結果データを周波数制御データDDSとして出力する。
一方、出力部70は、図22に示すように、今回の演算結果データである第2のデータDAT2の方が、前回の演算結果である第1のデータDAT1よりも小さい場合には、第1のデータDAT1から所定値である1LSB(k×LSB)を減算する処理を、減算結果データが第2のデータDAT2に達するまで行いながら、減算結果データを周波数制御データDDSとして出力する。
具体的には、制御部52の判定部53は、出力レジスター72に記憶される第1のデータDAT1と、ワークレジスター69に記憶される第2のデータDAT2を比較する。この比較の判定は比較部54により行う。
そして図21に示すようにDAT2の方がDAT1よりも大きい場合には、出力レジスター72のDAT1に対して1LSBを加算する処理が、LSB加算器73により行われ、LSB加算器73の出力データが、マルチプレクサー71により選択される。これにより出力レジスター72には、図21に示すように、DAT1に対して1LSBが順次に加算処理された加算結果データが保持される。そして、1LSBが順次に加算処理されて更新される加算結果データが、周波数制御データDDSとして出力されるようになる。そして、加算結果データがDAT2に達するまで当該加算処理が繰り返される。加算結果データとDAT2の一致を判定する比較処理は、比較部55により行われる。
一方、図22に示すようにDAT2の方がDAT1よりも小さい場合には、出力レジスター72のDAT1から1LSBを減算する処理が、LSB減算器74により行われ、LSB減算器74の出力データが、マルチプレクサー71により選択される。これにより出力レジスター72には、図22に示すように、DAT1から1LSBが順次に減算処理された減算結果データが保持される。そして、1LSBが順次に減算処理されて更新される減算結果データが、周波数制御データDDSとして出力されるようになる。そして、減算結果データがDAT2に達するまで当該減算処理が繰り返される。
なお、LSB加算器73、LSB減算器74による加算処理、減算処理の最大回数は、所定回数(例えば8回)に設定されている。そして例えば環境温度の最大温度変化については規定できる(例えば2.8℃/10秒)。従って、例えば1LSB×所定回数に対応する温度変化(例えば1LSB×8回の電圧に対応する温度変化)が、上記の最大温度変化を十分に上回るように設定されている。
また図11で説明したように、処理部50の周波数制御データDDSの出力レート(1/TDAC)は、A/D変換部20の温度検出データDTDの出力レート(1/TAD)よりも速い。従って、例えば図11においてA/D変換部20から温度検出データDTD2が処理部50に入力された後、次の温度検出データDTD3が入力されるまでの期間TADにおいて、図21、図22に示すような1LSBを所与の回数だけ加算又は減算する処理を実行できる。例えば上述のような最大回数である所定回数(例えば8回)の加算処理や減算処理を実行できる。
以上のように図20の構成の処理部50によれば、図21、図22に示すように、例えば第1の温度(第1の温度検出データDTD1)に対応する第1のデータDAT1から、第2の温度(第2の温度検出データDTD2)に対応する第2のデータDAT2へと、k×LSB単位で変化する周波数制御データDDSを出力できるようになる。これにより図11〜図13で説明した本実施形態の手法を、処理部50の周波数制御データDDSの出力制御により実現できるようになる。
また本実施形態では、例えば演算部60の処理が例えば32ビット等の高精度の演算処理で実現される。従って、例えば型変換部68において32ビットの浮動小数点の演算結果データを型変換する際に、精度が保たれている23ビットの仮数部に基づいて、例えば20ビットのバイナリーの周波数制御データDDS(演算結果データ)を取得できる。これにより図5で説明したように、例えばi=20ビットの周波数制御データDDSを処理部50からD/A変換部80に入力できるようになる。そして変調回路90が、i=20ビットのうちのm=4ビットのデータに基づいて、周波数制御データDDSのn=16ビットのデータを変調し、D/A変換器100が、変調されたn=16ビットのデータをD/A変換することで、i=20ビットの分解能のD/A変換の実現が可能になる。
4.2 D/A変換部
図23、図24はD/A変換部80の詳細な構成例を示す図である。D/A変換部80は、変調回路90とD/A変換器100とフィルター回路120を含む。
図23に示すように、D/A変換器100は、上位側のD/A変換器DACAと、下位側のD/A変換器DACBと、ボルテージフォロワー接続されたオペアンプ(演算増幅器)OPA、OPB、OPCを含む。
上位側DACAには、変調回路90からのnビット(n=q+p)のデータDMのうちの上位のqビットのデータが入力され、下位側DACBには下位のpビット(例えばp=q=8)のデータが入力される。これらの上位側DACA、下位側DACBは、例えば直列接続された複数の抵抗により電圧分割された複数の分割電圧の中から、入力データに対応する電圧を選択する抵抗ストリング型のD/A変換器である。
図24に示すように上位側DACAは、高電位側電源電圧VDDAのノードと低電位側電源電圧VSSのノードとの間に直列接続された複数の抵抗RA1〜RANを含む。また上位側DACAは、これらの抵抗RA1〜RANによる電圧分割ノードに一端が接続される複数のスイッチ素子SA1〜SAN+1と、データDMの上位qビットのデータに基づいて、スイッチ素子SA1〜SAN+1をオン又オフにするスイッチ制御信号を生成するデコーダー104(スイッチ制御回路)を含む。
そして上位側DACAは、複数の抵抗RA1〜RANのうち上位qビットのデータにより特定される抵抗の両端の分割電圧のうち、一方の分割電圧をオペアンプOPAの非反転入力端子に出力し、他方の分割電圧をオペアンプOPBの非反転入力端子に出力する。これにより、当該一方の電圧が、ボルテージフォロワー接続されたオペアンプOPAによりインピーダンス変換されて、電圧VXとして下位側DACBに供給される。また当該他方の電圧が、ボルテージフォロワー接続されたオペアンプOPBによりインピーダンス変換されて、電圧VYとして下位側DACBに供給される。
例えば上位qビットのデータにより抵抗RA1が特定された場合には、抵抗RA1の両端の分割電圧のうち、高電位側の分割電圧が、オンになったスイッチ素子SA1及びオペアンプOPAを介して、電圧VXとして供給される。また低電位側の分割電圧が、オンになったスイッチ素子SA2及びオペアンプOPBを介して、電圧VYとして供給される。また上位qビットのデータにより抵抗RA2が特定された場合には、抵抗RA2の両端の分割電圧のうち、低電位側の分割電圧が、オンになったスイッチ素子SA3及びオペアンプOPAを介して、電圧VXとして供給される。また高電位側の分割電圧が、オンになったスイッチ素子SA2及びオペアンプOPBを介して、電圧VYとして供給される。
下位側DACBは、電圧VXのノードと電圧VYのノードとの間に直列接続された複数の抵抗RB1〜RBMを含む。また下位側DACBは、これらの抵抗RB1〜RBMによる電圧分割ノードに一端が接続される複数のスイッチ素子SB1〜SBM+1と、データDMの下位pビットのデータに基づいて、スイッチ素子SB1〜SBM+1をオン又オフにするスイッチ制御信号を生成するデコーダー106(スイッチ制御回路)を含む。
そして下位側DACBは、抵抗RB1〜RBMによる複数の分割電圧のうち、下位pビットのデータにより選択された1つの分割電圧を選択電圧として、オンになったスイッチ素子を介して、ボルテージフォロワー接続されたオペアンプOPCの非反転入力端子に出力する。これにより、当該選択電圧が、D/A変換器100の出力電圧VDAとして出力されるようになる。
図25、図26、図27は変調回路90の説明図である。図25に示すように、変調回路90は、処理部50からのi=(n+m)ビットの周波数制御データDDSを受ける。そして、この周波数制御データDDSの下位のmビットのデータ(ビットb1〜b4)に基づいて、周波数制御データDDSの上位のnビット(ビットb5〜b20)のデータのPWM変調を行う。そして図23、図24で説明したように、当該nビットのデータのうち、上位のqビットのデータ(ビットb13〜b20)が、上位側DACAに入力され、下位のpビットのデータ(ビットb5〜b12)が、下位側DACBに入力される。
図26はPWM変調の第1の方式の説明図である。DY、DZは、データDMの上位のnビットのデータであり、nビット表現においてDY=DZ+1が成り立つデータである。
PWM変調に用いられる下位のm=4ビットのデータで表されるデューティー比が、例えば8対8である場合には、図26に示すように、8個の16ビットのデータDYと8個の16ビットのデータDZが時分割で、変調回路90からD/A変換器100に出力される。
また下位のm=4ビットのデータで表されるデューティー比が10対6である場合には、10個のデータDYと6個のデータDZが時分割で、変調回路90からD/A変換器100に出力される。同様に、下位のm=4ビットのデータで表されるデューティー比が14対2である場合には、14個のデータDYと2個のデータDZが時分割で出力される。
図27はPWM変調の第2の方式の説明図である。PWM変調に用いられるm=4ビットの各ビットb4、b3、b2、b1が、論理レベル「1」である場合に、図27において各ビットに対応づけられた出力パターン(各ビットの右側に示される出力パターン)が選択される。
例えばビットb4=1で、b3=b2=b1=0である場合には、ビットb4に対応づけられた出力パターンだけが期間P1〜P16において出力される。即ち、n=16ビットのデータがDZ、DY、DZ、DY・・・・の順で時分割に、変調回路90からD/A変換器100に出力される。これにより、データDY、DZの出力回数は共に8回となり、図26においてデューティー比が8対8である場合と同様のPWM変調が実現される。
またビットb4=b2=1で、b3=b1=0である場合には、ビットb4とb2に対応づけられた出力パターンが期間P1〜P16において出力される。これによりデータDY、DZの出力回数は、各々、10回、6回になり、デューティー比が10対6である場合と同様のPWM変調が実現される。同様に、ビットb4=b3=b2=1で、b1=0である場合には、データDY、DZの出力回数は、各々、14回、2回になり、デューティー比が14対2である場合と同様のPWM変調が実現される。
以上のように、図5、図23の変調回路90によれば、データDY、DZの出力回数等を制御するだけでPWM変調を実現でき、例えば16ビットの分解能のD/A変換器100を用いながらも、例えば20ビット以上のD/A変換の分解能を実現できるようになる。
例えば雑音が少なく抵抗ストリング型や抵抗ラダー型のD/A変換では、例えば16ビット程度の分解能が実質的な限界である。この点、図5、図23の構成によれば、回路規模の小さな変調回路90とフィルター回路120を設けるだけで、D/A変換の分解能を例えば20ビット以上に向上できる。従って、回路規模の増加を最小限に抑えながら、D/A変換部80の分解能を向上することが可能になる。そしてD/A変換部80の分解能が向上することで、発振周波数精度の高精度化を実現でき、周波数ホッピングの抑制や、時刻同期に好適な発振器の提供を実現できるようになる。
4.3 温度センサー部、発振回路
図28に温度センサー部10の第1の構成例を示す。図28の温度センサー部10は、電流源ISTと、電流源ISTからの電流がコレクターに供給されるバイポーラートランジスターTRTを有する。バイポーラートランジスターTRTは、そのコレクターとのベースが接続されるダイオード接続となっており、バイポーラートランジスターTRTのコレクターのノードに、温度特性を有する温度検出電圧VTDが出力される。温度検出電圧VTDの温度特性は、バイポーラートランジスターTRTのベース・エミッター間電圧の温度依存性によって生じる。図30に示すように温度検出電圧VTDは、負の温度特性(負の勾配を有する1次の温度特性)を有する。
図29に温度センサー部10の第2の構成例を示す。図29では、図28の電流源ISTが抵抗RTにより実現される。そして抵抗RTの一端は電源電圧のノードに接続され、他端はバイポーラートランジスターTRT1のコレクターに接続される。またバイポーラートランジスターTRT1のエミッターは、バイポーラートランジスターTRT2のコレクターに接続される。そしてバイポーラートランジスターTRT1、TRT2は共にダイオード接続されており、バイポーラートランジスターTRT1のコレクターのノードに出力される電圧VTSQは、図30のように負の温度特性(負の勾配を有する1次の温度特性)を有している。
また図29の温度センサー部10では、オペアンプOPDと抵抗RD1、RD2が更に設けられている。オペアンプOPDの非反転入力端子には、電圧VTSQが入力され、反転入力端子には、抵抗RD1の一端及び抵抗RD2の一端が接続される。そして抵抗RD1の他端には基準温度電圧VTA0が供給され、抵抗RD2の他端はオペアンプOPDの出力端子に接続される。
このようなオペアンプOPD及び抵抗RD1、RD2により、基準温度電圧VAT0を基準として電圧VTSQを正転増幅する増幅アンプが構成される。これにより、温度検出電圧VTD=VAT0+(1+RD2/RD1)×(VTSQ−VAT0)が、温度センサー部10から出力されるようになる。そして基準温度電圧VAT0を調整することにより、基準温度T0の調整が可能になる。
図31に発振回路150の構成例を示す。この発振回路150は、電流源IBX、バイポーラートランジスターTRX、抵抗RX、可変容量キャパシターCX1、キャパシターCX2、CX3を有する。
電流源IBXは、バイポーラートランジスターTRXのコレクターにバイアス電流を供給する。抵抗RXは、バイポーラートランジスターTRXのコレクターとベースの間に設けられる。
容量が可変である可変容量キャパシターCX1の一端は、振動子XTALの一端に接続される。具体的には、可変容量キャパシターCX1の一端は、回路装置の第1の振動子用端子(振動子用パッド)を介して振動子XTALの一端に接続される。キャパシターCX2の一端は、振動子XTALの他端に接続される。具体的には、キャパシターCX2の一端は、回路装置の第2の振動子用端子(振動子用パッド)を介して振動子XTALの他端に接続される。キャパシターCX3は、その一端が振動子XTALの一端に接続され、その他端がバイポーラートランジスターTRXのコレクターに接続される。
バイポーラートランジスターTRXには、振動子XTALの発振により生じたベース・エミッター間電流が流れる。そしてベース・エミッター間電流が増加すると、バイポーラートランジスターTRXのコレクター・エミッター間電流が増加し、電流源IBXから抵抗RXに分岐するバイアス電流が減少するので、コレクター電圧VCXが低下する。一方、バイポーラートランジスターTRXのベース・エミッター間電流が減少すると、コレクター・エミッター間電流が減少し、電流源IBXから抵抗RXに分岐するバイアス電流が増加するので、コレクター電圧VCXが上昇する。このコレクター電圧VCXはキャパシターCX3を介して振動子XTALにフィードバックされる。
振動子XTALの発振周波数は温度特性(例えば図6の温度特性)を有しており、この温度特性は、D/A変換部80の出力電圧VQ(周波数制御電圧)により補償される。即ち、出力電圧VQは可変容量キャパシターCX1に入力され、出力電圧VQにより可変容量キャパシターCX1の容量値が制御される。可変容量キャパシターCX1の容量値が変化すると、発振ループの共振周波数が変化するので、振動子XTALの温度特性による発振周波数の変動が補償される。可変容量キャパシターCX1は、例えば可変容量ダイオード(バラクター)などにより実現される。
なお、本実施形態の発振回路150は、図31の構成に限定されず、種々の変形実施が可能である。例えば図31ではCX1を可変容量キャパシターとする場合を例に説明したが、CX2又はCX3を、出力電圧VQで制御される可変容量キャパシターとしてもよい。また、CX1〜CX3のうち複数を、VQで制御される可変容量キャパシターとしてもよい。
5.変形例
次に本実施形態の種々の変形例について説明する。例えば、以上では、図21、図22に示すように処理部50がk×LSB単位で変化する周波数制御データDDSを出力することで、図11〜図13の本実施形態の手法を実現する場合を説明したが、本実施形態はこれに限定されない。
図32の変形例では、D/A変換器DACC、DACDの後段に、SCF(スイッチドキャパシターフィルター)で構成されるフィルター回路130が設けられている。例えば8ビットのD/A変換器DACCは、タイミングnのデータD(n)に基づいて電圧DA1を出力する。また8ビットのD/A変換器DACDは、次のタイミングn+1のデータD(n+1)に基づいて電圧DA2を出力する。
フィルター回路130のSCFのクロック周波数fckとした場合に、キャパシターCS1、スイッチ素子SS1、SS2で構成される回路により、RG=1/(CS1×fck)の抵抗が実現される。キャパシターCS2、スイッチ素子SS3、SS4で構成される回路により、RF=1/(CS2×fck)の抵抗が実現される。
また、このフィルター回路130の時定数τは下式(12)のように表される。
τ=RF×CS3=(CS3/CS2)×(1/fck) (12)
例えばCS3=5pF、CS2=0.1pF、fck=5KHzにすることで、τ=10msecを実現できる。このように時定数τを十分に長くすることで、図34に示すように、電圧DA1から電圧DA2へと時定数τでゆっくりと変化する出力電圧VQを実現できる。
例えば図33に示すように、図8で説明した期間TP(例えば20msec)を横軸とし、許容周波数ドリフトFD(例えば数ppb程度)を縦軸とした場合の傾斜をSL1=FD/TPとする。この場合に、この傾斜SL1に比べて、図34の時定数τで実現される傾斜SL2を小さくすることで、図11〜図13の本実施形態の手法を実現可能である。即ち、期間TPと許容周波数ドリフトFDで規定される傾斜SL1を作れないほど強力なローパスフィルター特性を有するフィルター回路130を、D/A変換器DACC、DACDの後段に設ける。これにより、図11のC2に示すように、D/A変換部80の出力電圧VQが1LSBの電圧のステップ幅で変化する電圧波形と同等の電圧波形を実現できるようになり、周波数ホッピングの問題の解決が可能となる。
但し、フィルター回路130の時定数τが期間TPよりも長くなると、振動子XTALの温度特性の変動を、フィルター回路130の出力電圧VQで補正しきれなくなり、周波数が偏移する問題が生じる。
例えば図35は、時定数がτ=TP=20msecの場合での温度変化に対する周波数ドリフトを示す図である。図35に示すようにτ=TPに設定することで、周波数ホッピングの問題を解決可能である。一方、図36、図37は、各々、τ=22msec、40msecの場合での温度変化に対する周波数ドリフトを示す図である。このように図32の変形例では、時定数τが長くなると周波数ドリフトの特性が悪化してしまう問題が生じ、最適解を求めるのが困難であるという不利点がある。
図38はA/D変換部20の構成例である。図38に示すようにA/D変換部20は、処理部23、レジスター部24、D/A変換器DACE、DACF、比較部27を含む。また温度センサー部用アンプ28を含むことができる。処理部23、レジスター部24は、ロジック部22として設けられ、D/A変換器DACE、DACF、比較部27、温度センサー部用アンプ28は、アナログ部26として設けられる。
レジスター部24は、A/D変換の途中結果や最終結果などの結果データを記憶する。このレジスター部24は、例えば逐次比較方式における逐次比較結果レジスターに相当する。D/A変換器DACE、DACFは、レジスター部24の結果データをD/A変換する。これらのDACE、DACFとしては図23、図24と同様の構成のD/A変換器を採用できる。比較部27は、D/A変換器DACE、DACFの出力電圧と、温度検出電圧VTD(温度センサー部用アンプ28による増幅後の電圧)との比較を行う。比較部27は例えばチョッパー型比較器などにより実現できる。処理部23は、比較部27の比較結果に基づいて判定処理を行い、レジスター部24の結果データの更新処理を行う。そして、当該更新処理により求められた最終的な温度検出データDTDが、温度検出電圧VTDのA/D変換結果として、A/D変換部20から出力される。このような構成により、例えば逐次比較方式のA/D変換や、逐次比較方式に類似する方式のA/D変換などを実現できる。そして図11〜図13で説明した本実施形態の手法は、図38のA/D変換部20の温度検出データDTDの出力態様などを工夫することでも実現可能である。
図39に本実施形態の変形例の回路装置の構成例を示す。
図39の回路装置は、温度センサー部10からの温度検出電圧VTDのA/D変換を行い、温度検出データDTDを出力するA/D変換部20と、温度検出データDTDに基づいて発振周波数の温度補償処理を行い、発振周波数の周波数制御データDDSを出力する処理部50と、発振信号生成回路140を含む。
そして処理部50は、第1の温度から第2の温度に温度が変化した場合に、第1の温度に対応する第1のデータから第2の温度に対応する第2のデータへと、k×LSB単位で変化する周波数制御データDDSを出力する。そして発振信号生成回路140は、処理部50からの周波数制御データDDSと振動子XTALを用いて、周波数制御データDDSにより設定される発振周波数の発振信号SSCを生成する。
即ち図39では、図4、図5とは異なり、発振信号生成回路140にD/A変換部80が設けられていない。そして発振信号生成回路140により生成される発振信号SSCの発振周波数が、処理部50からの周波数制御データDDSに基づいて、直接に制御される。即ちD/A変換部を介さずに発振信号SSCの発振周波数が制御される。
例えば図39では、発振信号生成回路140が、可変容量回路142と発振回路150を有する。この発振信号生成回路140には図4、図5のD/A変換部80は設けられていない。そして図31の可変容量キャパシターCX1の代わりに、この可変容量回路142が設けられ、可変容量回路142の一端が振動子XTALの一端に接続される。
この可変容量回路142は、処理部50からの周波数制御データDDSに基づいて、その容量値が制御される。例えば可変容量回路142は、複数のキャパシター(キャパシターアレイ)と、周波数制御データDDSに基づき各スイッチ素子のオン、オフが制御される複数のスイッチ素子(スイッチアレイ)を有する。これらの複数のスイッチ素子の各スイッチ素子は、複数のキャパシターの各キャパシターに電気的に接続される。そして、これらの複数のスイッチ素子がオン又はオフされることで、複数のキャパシターのうち、振動子XTALの一端に、その一端が接続されるキャパシターの個数が変化する。これにより、可変容量回路142の容量値が制御されて、振動子XTALの一端の容量値が変化する。従って、周波数制御データDDSにより、可変容量回路142の容量値が直接に制御されて、発振信号SSCの発振周波数を制御できるようになる。
このように、図21、図22のようにk×LSB単位で周波数制御データDDSを変化させる本実施形態の手法は、図39のように発振信号生成回路140にD/A変換部80を設けない構成においても実現可能である。そして、k×LSB単位で周波数制御データDDSを変化させることで、図11〜図13で説明した本実施形態の手法と同様の効果を実現することが可能となり、図3の周波数ホッピングの発生を抑制して、周波数ホッピングを原因とする通信エラー等の発生を防止できるようになる。なお図39の構成においても、発振信号SSCをダイレクト・デジタル・シンセサイザー方式で生成することが可能である。
また図39の回路装置の構成等において、本実施形態の手法では、図12、図13で説明した式(1)に対応する式として、例えば下式(13)を採用できる。
DV<(FD/FR)×DFS (13)
即ち、前述したように、発振信号生成回路140による発振周波数の周波数可変範囲をFRし、所定期間(TP)内における発振周波数の許容周波数ドリフトをFDとする。また周波数制御データDDSのフルスケール値をDFSとする。例えば周波数制御データDDSのビット数をiとした場合に、フルスケール値DFSは、例えば2i(0〜2i)と表すことができる。但しフルスケール値DFSはこれに限定されるものではない。また処理部50の周波数制御データDDSの出力間隔での、周波数制御データDDSの変化値をDVとする。この出力間隔は図11のTDACに相当する。例えば図21、図22では、当該出力間隔毎に、周波数制御データDDSがk×LSB単位で変化している。そして、この場合に本実施形態では上式(13)に示すように、DV<(FD/FR)×DFSが成り立つ。
例えば処理部50が、フルスケール値DFSの範囲で、周波数制御データDDSを変化させて、図13に示すような周波数可変範囲FRにおいて、発振信号生成回路140の発振周波数を調整することで、図6、図7で説明した発振周波数の温度補償処理が実現される。
ところが、周波数制御データDDSの出力間隔(TDAC)での変化値DVが大きくなって、例えばDV≧(FD/FR)×DFSになってしまうと、発振周波数の周波数ドリフトが、許容周波数ドリフトFDを超えてしまい、図14に示すような周波数ホッピングが発生してしまう。
これに対して本実施形態では、DV<(FD/FR)×DFSの関係が成り立つような小さな変化値DVで、周波数制御データDDSを変化させているため、図14のような周波数ホッピングの発生を抑制できるようになる。例えば図21、図22に示すように、k×LSB単位で周波数制御データDDSを変化させることで、周波数ホッピングの発生を抑制できるようになる。
また上式(13)においても、上式(2)と同様に下式(14)が成立することが望ましい。
1/2i<(FD/FR) (14)
この場合に上式(14)のiは、周波数制御データDDSのビット数である。処理部50が、1/2i<(FD/FR)が成り立つような高いビット数=iの周波数制御データDDSを出力することで、周波数ホッピングの発生を抑制できるようになる。
例えば上式(14)の両辺に対して、周波数制御データDDSのフルスケール値DFSを乗算すると、下式(15)になる。
DFS×1/2i<(FD/FR)×DFS (15)
上式(15)の左辺であるDFS×1/2iは、周波数制御データDDSの1LSBに相当する。上式(14)、(15)は、この1LSBに相当するDFS×1/2iを、(FD/FR)×DFSよりも小さくすることを意味する。このようにDFS×1/2i<(FD/FR)×DFSとすれば、図21、図22のように周波数制御データDDSを1LSB単位で変化させた場合に、発振周波数の周波数ドリフトが、許容周波数ドリフトFDを超えないようになり、周波数ホッピングの発生を抑制できるようになる。
6.発振器、電子機器、移動体
図40に、本実施形態の回路装置500を含む発振器400の構成例を示す。図40に示すように、発振器400は、振動子420と回路装置500を含む。振動子420と回路装置500は、発振器400のパッケージ410内に実装される。そして振動子420の端子と、回路装置500(IC)の端子(パッド)は、パッケージ410の内部配線により電気的に接続される。
図41に、本実施形態の回路装置500を含む電子機器の構成例を示す。この電子機器は、本実施形態の回路装置500、水晶振動子等の振動子420、アンテナATN、通信部510、処理部520を含む。また操作部530、表示部540、記憶部550を含むことができる。振動子420と回路装置500により発振器400が構成される。なお電子機器は図41の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図41の電子機器としては、例えばGPS内蔵時計、生体情報測定機器(脈波計、歩数計等)又は頭部装着型表示装置等のウェアラブル機器や、スマートフォン、携帯電話機、携帯型ゲーム装置、ノートPC又はタブレットPC等の携帯情報端末(移動端末)や、コンテンツを配信するコンテンツ提供端末や、デジタルカメラ又はビデオカメラ等の映像機器や、或いは基地局又はルーター等のネットワーク関連機器などの種々の機器を想定できる。
通信部510(無線回路)は、アンテナATNを介して外部からデータを受信したり、外部にデータを送信する処理を行う。処理部520は、電子機器の制御処理や、通信部510を介して送受信されるデータの種々のデジタル処理などを行う。この処理部520の機能は、例えばマイクロコンピューターなどのプロセッサーにより実現できる。
操作部530は、ユーザーが入力操作を行うためのものであり、操作ボタンやタッチパネルディスプレイをなどにより実現できる。表示部540は、各種の情報を表示するものであり、液晶や有機ELなどのディスプレイにより実現できる。なお操作部530としてタッチパネルディスプレイを用いる場合には、このタッチパネルディスプレイが操作部530及び表示部540の機能を兼ねることになる。記憶部550は、データを記憶するものであり、その機能はRAMやROMなどの半導体メモリーやHDD(ハードディスクドライブ)などにより実現できる。
図42に、本実施形態の回路装置を含む移動体の例を示す。本実施形態の回路装置(発振器)は、例えば、車、飛行機、バイク、自転車、或いは船舶等の種々の移動体に組み込むことができる。移動体は、例えばエンジンやモーター等の駆動機構、ハンドルや舵等の操舵機構、各種の電子機器(車載機器)を備えて、地上や空や海上を移動する機器・装置である。図42は移動体の具体例としての自動車206を概略的に示している。自動車206には、本実施形態の回路装置と振動子を有する発振器(不図示)が組み込まれる。制御装置208は、この発振器により生成されたクロック信号により動作する。制御装置208は、例えば車体207の姿勢に応じてサスペンションの硬軟を制御したり、個々の車輪209のブレーキを制御する。例えば制御装置208により、自動車206の自動運転を実現してもよい。なお本実施形態の回路装置や発振器が組み込まれる機器は、このような制御装置208には限定されず、自動車206等の移動体に設けられる種々の機器(車載機器)に組み込むことが可能である。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また回路装置、発振器、電子機器、移動体の構成・動作や、D/A変換手法、周波数制御データの処理手法、処理部の周波数制御データの出力手法、D/A変換部の電圧の出力手法、振動子の周波数制御手法等も本実施形態で説明したものに限定されず、種々の変形実施が可能である。