(57)【要約】【課題】  デジタル方式の水晶発振器の温度補償器をワンチップ化させて低電力で動作させる。【解決手段】  現在温度から温度オフセットコードを減算し、温度によるキャパシタアレイアドレスに関する情報を格納しているメモリアドレスを計算し、このメモリアドレスの最下位ビットが０の場合に、この最下位ビットを除いたビットが表すメモリアドレスからデータをリードし、他方、この最下位ビットが１の場合に、前記メモリアドレスからリードしたデータと、１だけインクリメントさせたメモリアドレスからリードしたデータとを平均し、メモリアドレスと温度境界コードとを比較し、このリードしたデータか、平均により得られたデータを、第１バック又は第２バンクに送り、この送られたデータを用いて、キャパシタアレイを、現在の温度に対応するキャパシタンスに調整する。【選択図】  図６ａ
2004208270.tif 000002
【特許請求の範囲】
【請求項１】
小さいキャパシタンスの複数の単位キャパシタよりなる第１バンクと、大きいキャパシタンスの複数の単位キャパシタよりなる第２バンクとにより構成したキャパシタアレイを含む水晶発振器の温度補償方法において、
現在の温度から温度オフセットコードを減算し、これにより得られた温度に従って、キャパシタアレイアドレスに関する情報を格納するメモリアドレスを計算する計算ステップと、
前記メモリアドレスの最下位ビットが０の場合に、この最下位ビットを除いたビットをメモリアドレスとして用いて、そのアドレスのデータをリードし、他方、前記メモリアドレスの最下位ビットが１の場合に、この最下位ビットを除いたビットが表すメモリアドレスからリードしたデータと、このメモリアドレスを１だけインクリメントさせて得られたメモリアドレスからリードしたデータとを平均する平均ステップと、
前記メモリアドレスと温度境界コードとを比較し、前記メモリアドレスからリードしたデータか、又は平均したデータを、前記第１バンク又は第２バンクに伝送する伝送ステップと、
前記第１バンク又は第２バンクに伝送されたデータを用いて、現在の温度に対応するキャパシタンスに、前記キャパシタアレイを調整する調整ステップと
を備えたことを特徴とする水晶発振器の温度補償方法。
【請求項２】
請求項１において、前記計算ステップは、前記メモリアドレスの計算において、オーバフローが発生したとき、メモリアドレスを最大メモリアドレス値とし、アンダフローが発生したとき、メモリアドレスを最小メモリアドレス値とすることを特徴とする水晶発振器の温度補償方法。
【請求項３】
請求項１において、前記伝送ステップは、
前記メモリアドレスと第３温度境界コードとを比較するステップと、
前記メモリアドレスが第３温度境界コードより大きい場合に、前記メモリアドレスからリードしたデータか、又は平均したデータを前記第２バンクに伝送し、他方、前記メモリアドレスが第３温度境界コードより大きくない場合に、前記メモリアドレスと第２温度境界コードとを比較するステップと、
前記メモリアドレスが第２温度境界コードより大きい場合に、前記メモリアドレスからリードしたデータか、又は平均したデータを、前記第１バンクに伝送し、他方、前記メモリアドレスが第２温度境界コードより大きくない場合に、前記メモリアドレスと第１温度境界コードとを比較するステップと、
前記メモリアドレスが第１温度境界コードより大きい場合に、前記メモリアドレスからリードしたデータか、又は平均したデータを、前記第２バンクに伝送し、他方、前記メモリアドレスが第１温度境界コードより大きくない場合に、前記メモリアドレスからリードしたデータ又は平均したデータを前記第１バンクに伝送するステップと
を備えたことを特徴とする水晶発振器の温度補償方法。
【請求項４】
請求項３において、前記第１温度境界コードは、第１領域が始まる温度でのキャパシタンスに対するキャパシタアレイアドレスを格納しているメモリアドレスであり、
前記第２温度境界コードは、第１領域が終わり第２領域が始まる温度でのキャパシタンスに対するキャパシタアレイアドレスを格納しているメモリアドレスであり、
前記第３温度境界コードは、第２領域が終わる温度でのキャパシタンスに対するキャパシタアレイアドレスを格納しているメモリアドレスであり、
前記第１領域及び前記第２領域は、現在の温度によって区分された周波数変化の領域である
ことを特徴とする水晶発振器の温度補償方法。
【請求項５】
請求項１において、前記調整ステップは、
前記データが前記第１バンクに伝送された場合、前記第２バンクはオリジナルのデータをそのまま維持し、
前記データが前記第２バンクに伝送された場合、前記第１バンクへ最大コード値を伝送し、現在の温度に対応するキャパシタンスに、前記キャパシタアレイを調整する
ことを特徴とする水晶発振器の温度補償方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基準周波数を通信システムに供給する水晶発振器に関し、特に、水晶発振器の温度補償方法に関する。
【背景技術】
【０００２】
最近、無線通信機器の技術開発が活発に行われている。このような無線通信機器は、基準周波数を供給する水晶発振器を有する。これら水晶発振器のうち、温度補償のための水晶発振器は、周囲の温度の変化に関係なく、一定の基準周波数を供給する。このような水晶発振器の温度補償器にあっては、高い周波数精度とワンチップとをインプリメントするため、デジタル方式のものが多く研究されている。これは、アナログ方式のものが装置の小型化に不利だからである。
【０００３】
図１を参照して、従来の技術による水晶発振器の設計について説明する。
図１は従来の技術による３点(three-point)水晶発振器を説明するための回路図である。図１を参照すると、３点水晶発振器の特性は、コルピッツ(Colpitts)、ピアス(Pierce)、及びクラップ(Clapp)の３点によって決定される。キャパシタＣ１とＣ２は、トランジスタＭ１のトランスコンダクタンスを、周波数に依存する負性抵抗に変換する。ここで、負性抵抗（−Ｒ）は、次の数１で表わすことができる。
【０００４】
【数１】
2004208270.tif 000003
【０００５】
この水晶発振器において、水晶スタティックキャパシタンスＣ０は、Ｃ１及びＣ２、並びに（−Ｒ）と並列に接続されている。したがって、水晶１０のＬｍ、Ｃｍ及びＲｍにおける負性抵抗は、数１から算出されるものより小さい。実際の設計では、Ｃ１及びＣ２は、Ｃ０よりはるかに大きい。この場合、Ｒｍに起因する損失を補償し発振を持続させる最小トランスコンダクタンスｇｍｃを得るため、数１を適用することができる。この最小トランスコンダクタンスｇｍｃは、次の数２で表わすことができる。
【０００６】
【数２】
2004208270.tif 000004
【０００７】
ただし、Ｒｍは共振器の動作抵抗である。Ｃ１及びＣ２は、要求されるトランスコンダクタンスと、周波数の安全性（frequency safety）とを最適にトレードオフ(tradeoff)するため、同一でなければならない。これは、この要求されるトランスコンダクタンスが、共振するためには、負荷キャパシタンスと発振周波数との二乗に比例しなければならない、ことを意味する。
【０００８】
電力消費を正確に測定するためには、発振を開始させるための最小トランスコンダクタンスを見付け出すだけでなく、定常状態の発振振幅(oscillation amplitude)を見付け出すことが、非常に重要である。ＲＦ受信機の局部発振器においては、発振振幅が特定のレベルを超えることが要求される。例えば、ノイズを最小化し、しかもミキサのスイッチングトランジスタをターンオン／ターンオフするためには、０ｄＢｍが要求される。この発振振幅は、周波数ミキサにおけるデジタルプリスケラ(digital prescaler)を駆動するだけの大きさがなければならない。この増幅器はその利得が発振周波数よりはるかに大きいため、当該水晶発振器の後段における増幅は、通常の電力を得るには、充分でない。
もし定常状態の振幅が考慮された場合には、電力消費の要件は、起動条件によってのみ決定されるのとは異なり、公式化することができる。ＭＯＳトランジスタでインプリメントされた３点発振器の定常状態における振幅の正確な表現は、タイムドメイン解析(time domain analysis)によって得ることができる。トランジスタＭ１のトランスコンダクタンスについては、実際には、
【０００９】
2004208270.tif 000005
【００１０】
よりはるかに大きくなるように、設計するべきである。この場合において、トランジスタＭ１のゲートに印加される電圧スイング（voltage swing）が大きいため、トランジスタＭ１は各発振期間においてターンオフされる。もしトランジスタＭ１の電流のデューティサイクルをαとした場合、定常状態における発振振幅であるＶｍを得るため、次の数３を適用することができる。
【００１１】
【数３】
2004208270.tif 000006
【００１２】
数３において、ＶＢはトランジスタＭ１のゲートとソースとの間の定常状態におけるＤＣバイアス電圧である。ＶＴはトランジスタＭ１の閾値電圧である。数３のように、χを定義することにより、定常状態における振幅Ｖｍを、次の数４及び数５から導くことができる。
【００１３】
【数４】
2004208270.tif 000007
【００１４】
【数５】
2004208270.tif 000008
【００１５】
数５において、χは、ｇｍ１とｇｍｃの比を表す単調関数(monotonic function)である。ｇｍ１／ｇｍｃの比が１.２２５から１０に変化するとき、χは−１から０.７に急速に変化する。このため、数４によれば、振幅が２８％変化する。ｇｍ１／ｇｍｃの比が１０を超えたとき、この発振振幅は変化しなくなる。トランジスタＭ１のトランスコンダクタンスが発振のための閾値の数倍になったとき、当該発振器の定常状態における振幅を決定する上で、このトランスコンダクタンスの及ぼす影響は小さくなる。この場合、支配的な影響を与えるパラメータは、Ｖｍに比例するバイアス電流と、Ｖｍに反比例するｇｍｃである。
【００１６】
ほとんどの発振器は、特定の振幅で発振するように設計されている。これは、この振幅は通常発振を始めるための最小値より十分大きいトランスコンダクタンスを有するように調節される、ことを意味する。したがって、トランジスタＭ１における電流のデューティサイクルは、１００％未満であり、数４から、Ｖｍの値が求められる。数４によって、バイアス電流は、同じＶｍを維持するために、発振周波数の二乗に調節される。
【００１７】
高周波水晶の動作抵抗は、低周波水晶の動作抵抗より低くすることができる。ところが、Ｒｓのこのような減少は、トリミングネットワーク(trimming network)のスイッチのオン抵抗によって、制限されることになる。さらに、消費電力を減少させるため、当該キャパシタアレイの正確度により、キャパシタＣ１、Ｃ２をスケーリングする能力が制限される。
【００１８】
次に、水晶発振器におけるデジタル方式の発振周波数補償について説明する。
現行の発振器を設計するための要件の１つとして、発振周波数の正確度がサブｐｐｍの範囲にあることを要件とする。当該水晶共振器が補償されていない状態における正確度は、温度と切断角度との変化に起因する差分を含めて約±５０ｐｐｍである。この発振周波数を補償する１つの方法として、共振器と並列に接続された等価キャパシタンスを変化させる方法がある。この３点発振器において、等価キャパシタンスは、Ｃ１及びＣ２と並列に接続されたシャントキャパシタンス(shunt capacitance)Ｃ０である。キャパシタＣ１、Ｃ２は、周波数を安定させるため、シャントキャパシタンスＣ０の数倍にするべきである。これは、キャパシタＣ１及びＣ２は、広い補償領域をカバーするため、その変化量が大きくなるように、作らなければならない、ことを意味する。このような回路の発振周波数は、次の数６のように表される。
【００１９】
【数６】
2004208270.tif 000009
【００２０】
ここで、ＬｍとＣｍは、それぞれ、共振器の動作インダクタンス(motional inductance)と、動作キャパシタンス(motional capacitance)である。ＣＬは、Ｃ１及びＣ２に支配される等価負荷キャパシタンスである。ＣＬに起因する部分周波数変動（fractional frequency variation）は、数６において、括弧内の第２項で表される。これは、水晶発振器を補償するための方法とすることができる。
【００２１】
図２は、数６による水晶の公称特性(nominal characteristic)だけでなく、周波数偏移を制限する特性をも示す。この極限（extreme）は、＋ＴＲと−ＴＲによって表現される。図２において、ｘ軸はＣＬではなくＣBである。ＣＢは、キャパシタアレイの２つのバンクでインプリメントされたＣ１及びＣ２を直列に組み合せたものを意味する。すなわち、Ｃ１＝Ｃ２であるとき、ＣＢ＝０.５Ｃ１＝０.５Ｃ２になる。ＣＬは、Ｃ０とＣＢを並列に組み合せたものである。例えば、周波数は、図２に示す曲線Ａに沿って調節することができる。この場合、補償領域において０.２〜０.３ｐｐｍの補償分解能（compensating resolution）を得るため、キャパシタアレイにおける単位キャパシタンスの最大値を決定することができる。他の例においては、この発振周波数は曲線Ｃに沿って補償することができる。曲線Ｃが補償曲線のうちで最も勾配の大きい曲線であるから、キャパシタアレイにおける最小の単位キャパシタンスを決定することができる。キャパシタアレイで最小の単位キャパシタンスを使用するとき、曲線Ａに沿って補償するため、より多くの単位キャパシタが必要になる。また、ＭＯＳキャパシタに２０％の誤差があることを考慮した上で、１００ｐｐｍの補償領域を持つためには、２１０個の単位キャパシタが必要になる。キャパシタンスを固定し（これはスイッチがターンオフされた時にも、トランジスタＭ１による負性抵抗を除去するのに必要である。）、しかも周波数を補償するため、当該キャパシタアレイをＣ１とＣ２から構成する必要がある場合には、このように多くの単位キャパシタは、低電力消費を設計する上で大きな制約になる。
【００２２】
数４によると、電流消費は、Ｃ１とＣ２に直列接続された等価抵抗に比例する。よって、電力を最小化するためには、当該キャパシタアレイを形成するＭＯＳスイッチのオン抵抗を考慮しなければならない。図３ａにおいては、全てのスイッチがオンにされた時の等価抵抗Ｒｓｗに直列に接続されるＣ１が、キャパシタンスが変化しないＣ１１と、キャパシタンスが変化するＣ１２とから構成されているとしたとき、図３ａの回路を図３ｂの回路とすることができ、これにより、必要な電流とＣ１２との関係を得ることができる。図３ｂにおける等価抵抗Ｒｓｗ、ｅｑが近似的にスイッチ抵抗と関係する。等価抵抗Ｒｓｗ、ｅｑは、次の数７で表わすことができる。
【００２３】
【数７】
2004208270.tif 000010
【００２４】
典型的な０.６μｍＣＭＯＳ技術において、最小サイズのスイッチのオン抵抗は、数ＫΩである。この抵抗を減少させるためには、スイッチングトランジスタの幅を十分に広くするべきである。ところが、ドレインと基板のキャパシタンスは、このスイッチングトランジスタがターンオフされたとき、補償正確度に影響を与えるものであるが、このキャパシタンスが大きくなり過ぎるため、ゲートの幅をあまり広くできない。このスイッチングトランジスタのサイズだけでなく、Ｃ１とＣ２においても、精度と電力消費がトレードオフの関係になる。
【００２５】
補償キャパシタアレイについては、この補償キャパシタアレイをどのように編成するかを考慮するべきである。最も直接的な方法は、バイナリウェイト(Binary Weighted)チャネル幅を有するスイッチで接続されたバイナリウェイトアレイとする方法である。ところが、補償曲線が単調(monotonicity)であることが、端末機システムを設計する上で重要な考慮事項であるので、十分なマッチング精度（matching accuracy）を保証すると、ＬＳＢ（least significant bit)キャパシタの値が低くなる。あるいはまた、このキャパシタアレイは、単位キャパシタの並列アレイで構成することができ、図４ａに示すように、検出温度コードによって制御することができる。総補償キャパシタンスを増加させるためには、新しい単位キャパシタンスを付加すればよく、これにより、単調性を保証することができる。ところが、単位キャパシタの並列アレイにおいては、多くのスイッチを要するだけでなく、検出温度コードを解釈するデコーディングロジック(decoding logic)を要する。これにより、単調性は失われず、総補償キャパシタンスが減少するが、全シリコン面積が増大する。周波数安定のみを要求する応用においては、大きいＣ１とＣ２は要求されないし、水晶固有の共振周波数は要求されない。したがって、Ｃ１とＣ２のサイズは、トランジスタＭ１によって発生する十分な負性抵抗を、水晶の直列共振器ループに変換するため、Ｃ０の値の数倍に調節することができる。キャパシタンスが小さいと、電流消費も小さくなる。したがって、単位キャパシタの並列アレイは、単調性を失わず、低電力を達成することができる。温度コードを設計する時点において、キャパシタアレイ内の多くの単位キャパシタンスは、ＲＡＭ(random access memory)の場合とは異なり、同時に選択されるべきである。図４ｂを参照すると、配線をしないで同時選択をインプリメントするためには、行デコーダと列デコーダを有するデコーディングロジックと、それぞれのスイッチサイト(switch site)の４つのトランジスタとは、互いに分離しなければならない。
【００２６】
2004208270.tif 000011
【００２７】
のパストランジスタロジック(pass transistor logic)は、これら４つのトランジスタによりインプリメントされる。ＡＲ(Active Row)は、全ての単位キャパシタがターンオンされている行（row）を表し、ＡＲが１である列の全ての単位キャパシタは、列（column）が０であっても、ターンオンされる。ＣＲ(Current Row)は、現在選択されている行を表し、その行の幾つかの単位キャパシタがＣ１とＣ２に付加されていることを示す動くカーソル（moving cursor）としてアクト（act）する。列デコーダは列を１にするものであり、これにより、その列をどこまでターンオンするべきかを示す。こうすることにより、デコーディングロジックを分散させ、配線の量を減少させることができる。このようなバイナリウェイト編成と温度計コードとを用いた並列アレイにおいては、単調性の問題点と、広いシリコン面積を消費するという問題点などがあった。
【００２８】
温度可変発振器に使用される可変キャパシタンス集積回路に関し、スイッチング素子とインピーダンス可変回路が結合されたキャパシタアレイを含み、キャパシタアレイが水晶発振器に接続された共通ノードに接続される多数のキャパシタを含む可変キャパシタンス集積回路が知られている (例えば、特許文献１参照。) 。
【００２９】
温度応答型キャパシタブロックを用いる温度補償水晶発振器に関し、温度応答型キャパシタブロックは、ｎ個のキャパシタアレイに構成され、各々のキャパシタアレイは同じキャパシタンスを持つ単位キャパシタと、スイッチング素子からなる単位セルを少なくとも2個以上結合して構成する技術が知られている (例えば、特許文献２参照。) 。
【００３０】
温度補償水晶発振器に関し、制御電圧によりキャパシタンスが変化する周波数調整部と、温度に応じて変化するキャパシタンスを補償する温度補償回路部と、所定の周波数を共振させる水晶発振子及びバッファトランジスタと発振トランジスタとからなる技術が知られている (例えば、特許文献３参照。) 。
【００３１】
Qiuting Huangによって、発振周波数がサブppmの精度でデジタル調整される温度による周波数補償方式の高周波水晶発振器が研究された (例えば、非特許文献１参照。) 。
【００３２】
Ralf Achenbach et al．によって、デジタル方式でデータが保存され、アナログ方式で温度が補償される温度補償発振器が研究された (例えば、非特許文献２参照。) 。
【００３３】
【特許文献１】米国特許第5,117,206号明細書
【特許文献２】特開2000−357922号公報
【特許文献３】韓国公開特許第2001−9709号公報
【非特許文献１】Qiuting Huang, IEEE Transaction on VLSI Systems, VOL.5，No.4，December 1997, p408-416
【非特許文献２】Ralf Achenbach et al．IEEE Journal of Solid-State Circuits，VOL.35，No．10, October 2000, p1502-1506
【発明の開示】
【発明が解決しようとする課題】
【００３４】
本発明の目的は、既存のデジタル方式の水晶発振器の温度補償器をワンチップ化させて低電力で動作できる水晶発振器の温度補償方法を供給することにある。
【課題を解決するための手段】
【００３５】
上記目的を達成するため、本発明に係る水晶発振器の温度補償方法は、現在の温度から温度オフセットコードを減算し、温度によるキャパシタアレイアドレスに関する情報を格納しているメモリアドレスを計算する計算ステップと、得られたメモリアドレスの最下位ビットが０の場合には、この最下位ビットを除いたビットをメモリアドレスとして用いて、そのアドレスのデータをリードし、他方、得られたメモリアドレスの最下位ビットが１の場合には、この最下位ビットを除いたメモリアドレスからリードしたデータと、メモリアドレスを１だけインクリメントさせてリードしたデータとを平均する平均ステップと、メモリアドレスと温度境界コードとを比較し、メモリアドレスからリードしたデータ又は平均したデータを、第１バック又は第２バンクに伝送する伝送ステップと、第１バンク又は第２バンクに伝送されたデータを用いて、前記キャパシタンスのキャパシタを、現在の温度に対応するキャパシタンスに調整する調整ステップとを備えることが好ましい。
【００３６】
本発明は、水晶発振器の温度補償方法に関するものである。本発明においては、温度適応キャパシタアレイ構造が採用されている。この温度適応キャパシタアレイは、セルの数を減少させて、シリコン面積を減少させている。そして、各セルは、１つの単位キャパシタと、スイッチングトランジスタと、分散されたデコーディングロジックとにより構成されている。セルの数が少なくなったため、プリデコーディングロジックと内部接続ロジックによって占められた面積だけでなく、セルによって占められた面積まで減少した。種々のキャパシタンスを持たせるとともに、セルの数を減らすため、セルの中には、最小の単位キャパシタを超えるキャパシタンスを有するキャパシタを使用するものがある。キャパシタンスを増大させるためには、キャパシタを追加するだけであって、キャパシタは置換されないから、単調性は保証される。したがって、この単調性のため、単位キャパシタのキャパシタンスをあまり小さくする必要はない。その構造は、図４に示した温度コードによるキャパシタアレイを２つ持つ。水晶発振器におけるキャパシタアレイの等価回路は、図７に示すようになっている。Ｃ１.ｓ、Ｃ２.ｓは小さい値のキャパシタであって、キャパシタアレイの第１バンクのキャパシタに対応し、Ｃ１.ｌ、Ｃ２.ｌは大きい値のキャパシタであって、キャパシタアレイの第２バンクのキャパシタに対応する。Ｒｓｗ.ｅｑは当該スイッチの等価回路である。
【００３７】
このようなキャパシタアレイ構造を用いた温度補償方法は、温度補償のためのデータをメモリに格納し、温度センサによって検出された温度データに応じてメモリから温度補償データをリードすることにより温度補償を行う。電力消費の大部分は、メモリとの通信に関係する。そこで、本発明は、通信を最小化するため、必要なメモリサイズを減少させ、しかもメモリアクセス回数を減少させている。これにより、水晶発振器における消費電力を減少させている。
【発明の効果】
【００３８】
以上説明したように、本発明に係る水晶発振器の温度補償方法によれば、キャパシタアレイのセルの数を減少させることができ、これにより、シリコン面積を減少させ、プリデコーディングロジックと内部接続ロジックによって占められた面積だけでなく、セルによって占められた面積まで減少させる効果がある。
【００３９】
また、本発明に係る水晶発振器の温度補償方法によれば、電力消費の最も大きいメモリとの通信を最小化するために、メモリアクセス回数を減らし、必要なメモリの大きさも減らしてその電力を減少させる効果がある。
【発明を実施するための最良の形態】
【００４０】
以下、図面を参照して本発明の実施の形態を詳細に説明する。本技術分野において通常の知識を有する者は、かかる実施の形態から、本発明を十分理解することができ、かかる実施の形態を種々に変形することができる。本発明の範囲は、下記の実施の形態に限定されるものではない。
【００４１】
図２を参照すると、発振周波数を補償するために利用するべき曲線は、周波数変化の勾配と極性とにより決定される。補償速度は、キャパシタンスの変化による周波数変化量で定義される。補償領域における補償速度とは、その領域で補償するために追従すべき曲線の勾配をいう。補償速度は、周波数変化量の符号がプラスの場合、すなわち変化量が＋ＴＲに近づくほど、小さくなる。補償速度は、周波数変化量の符号がマイナスの場合、すなわち変化量が−ＴＲに近づくほど、大きくなる。並列アレイにおける最大補償速度により、要求される周波数精度（ｐｐｍ）を満足する単位キャパシタンスを決定することができる。
【００４２】
決定された単位キャパシタンスは、異なる補償速度を有する全ての条件において、共通に使用される。ところが、補償速度が遅いところで同一の精度を得るためには、このように小さいキャパシタンスは必要でない。したがって、デコーディングロジックとシリコン面積のために、さらに多くの単位キャパシタを有することは、負担になる。このような非効率的なことを避けるため、他の補償速度に対しては、他の適正な単位キャパシタンスを用いることができる。
【００４３】
図５は水晶共振器の周波数と温度の特性を示すグラフである。図５を参照すると、現在の温度を用いて周波数変化の領域を区分することができる。そこで、補償領域全体を第１領域及び第２領域の２つに分ける。この際、周波数変化は、第１領域においては、マイナスの符号であり、第２領域においては、プラスの符号である。現在の温度が第１領域内で下降したとき、補償速度は高速にならなければならないので、小さい単位キャパシタンスを利用するべきである。第２領域においては、補償速度は低速でなければならないので、比較的大きい単位キャパシタンスを用いることができる。したがって、キャパシタアレイは２つのバンクからなる。第１バンクは第１領域に対応する温度で使用される単位キャパシタを有しており、第２バンクは第２領域に対応する温度で使用される単位キャパシタを有している。温度が−３０℃から徐々に上昇する場合には、温度が３０℃に到達するまでは、第１バンクの単位キャパシタをスイッチオンさせて、合計のキャパシタンスを増加させ、温度が３０℃を超えたときは、第１バンクのキャパシタをオンしたままで、第２バンクの単位キャパシタをスイッチオンさせ、合計のキャパシタンスを増加させる。周波数の精度スペック（accuracy specification）を満足させるため、第１バンクは最小単位キャパシタからなり、第２バンクは最大単位キャパシタからなる。
【００４４】
本発明の好適な実施形態による水晶発振器の温度補償方法においては、新しい方式が使用される。まず現在の外部温度を知らなければならない。その後、この現在の外部温度を用いて、必要なキャパシタンスを計算する。そして、必要なバンクのキャパシタを用いてキャパシタンスをさらに付加するか、あるいは現在接続されている単位キャパシタの一部をスイッチオフしなければならない。このような過程の制御においては、内部の温度センサから、現在の温度を表すデジタル信号が入力されなければならず、温度が入力される度に、必要なキャパシタンスを格納するためのメモリと通信しなければならない。そして、このメモリからリードしたキャパシタンスを、キャパシタアレイに送って、デコードしなければならない。このような一連の制御においては、電力消費を低減し、シリコン面積をより小さくするため、次のような方法を使用する。
【００４５】
次に、本発明の好適な実施形態に係る水晶発振器の温度補償方法について説明する。
図６ａ及び図６ｂは本発明の好適な実施形態に係る水晶発振器の温度補償方法を説明するためのフローチャートである。
図６ａを参照すると、制御信号（ＣＴＲＬ＿ＥＮ）の入力を受けると、本制御を開始する（Ｓ１０）。制御信号（ＣＴＲＬ＿ＥＮ）はアクティブロー（active low）で動作する。最初に、制御信号（ＣＴＲＬ＿ＥＮ）が１から０に変化したとき、コントローラが動作するようにすることができる。加えて、最初の動作は、直列入力のビットを解析し、動作モードを解析する。合計４つのモードをサポートするが、ここではノーマルモードにおける動作のみを説明する。最初に、電源がチップに供給されたときにおいてもノーマルモードで動作させるため、パワーオンで、コントローラをノーマルモードで初期化することができる。
【００４６】
制御モードが開始されると、このコントローラはメモリから必要なデータをリードする（Ｓ１２）。この必要なデータは、初期化に必要な７つのコード（ＮＲ＿ＣＯＤＥ、ＦＳ＿ＣＯＤＥ、ＴＯ＿ＣＯＤＥ、ＴＢ１＿ＣＯＤＥ、ＴＢ２＿ＣＯＤＥ、ＴＢ３＿ＣＯＤＥ、及びＭＣ＿ＣＯＤＥ等）とすることができる。「ＮＲ＿ＣＯＤＥ」は負性抵抗を付加するためのキャパシタアレイアドレスであり、「ＦＳ＿ＣＯＤＥ」は水晶の特性に応じて付加されるキャパシタンスに対するキャパシタアレイアドレスである。「ＴＯ＿ＣＯＤＥ」は温度センサからリードした検出温度オフセットであり、「ＴＢ１＿ＣＯＤＥ」は第１領域が始まる温度におけるキャパシタンスに対するキャパシタアレイアドレスを格納しているメモリアドレスである。「ＴＢ２＿ＣＯＤＥ」は第１領域が終わり第２領域が始まる温度でのキャパシタンスに対するキャパシタアレイアドレスを格納しているメモリアドレスである。「ＴＢ３＿ＣＯＤＥ」は第２領域が終わる温度でのキャパシタンスに対するキャパシタアレイアドレスを格納しているメモリアドレスであり、「ＭＣ＿ＣＯＤＥ」は補償第２領域で付加すべき第１バンクのキャパシタンスに対する最大キャパシタアレイアドレスである。このようなコードはコントローラによる制御において何度か使用されるので、その度にこのメモリからリードせずに、このコントローラ内のレジスタに格納した後に使用する。
【００４７】
次に、温度による補償キャパシタンスを計算するため、温度センサからリードした検出温度値から、検出温度オフセットＴＯ＿ＣＯＤＥを減算し、キャパシタアレイアドレスが格納されているメモリアドレスを計算する（Ｓ１４）。この計算において、オーバフローが発生したときは、メモリアドレスは、キャパシタアレイアドレスが格納されているメモリアドレスの中で最大値となるようにし、アンダフローが発生したとき、メモリアドレスは、メモリアドレスのうち前記初期化に必要な７つのコードを格納した空間の残りにおいて最小メモリアドレス値となるようにする。
【００４８】
検出温度値は９ビットからなっている。この全ての検出温度値に該当するキャパシタアレイアドレスを格納するためには、２９ビット以上のメモリが必要になる。ここでは、これらキャパシタアレイアドレスのうちの一部を格納することにより、必要なメモリのサイズを減少させている。メモリアドレスのＬＳＢの１ビットを除いた８ビットのうちの最下位ビットを解析する（Ｓ１６）。
【００４９】
そして、最下位ビットが０である場合には、８ビットのうち、ＬＳＢの１ビットを除いた７ビットを、メモリアドレスとして使用する（Ｓ１８）。そして、コントローラは、メモリインタフェースに合わせて、信号をメモリへ伝送し、このメモリからそのアドレスのデータをリードする。
【００５０】
他方、最下位ビットが１の場合には、インタポレーション(Interpolation)ループを実行する（Ｓ２０）。この場合、最下位ビットが０のときのように、７ビットをデータとしてメモリアドレスからリードするが、インタポレーションのため１だけインクリメントさせて得られたデータアドレスを用いて、メモリからデータをもう１つリードする。そして、２つのデータの平均を求めるため、これら２つのデータを加算し、加算結果を２で除算する。ここでは、２で除算する演算として、シフト演算を行う。すなわち、この加算結果を右に１ビットシフトさせ、０の場合にリードしたデータと同一の８ビット数に作った後、使用する。
【００５１】
ついで、このメモリからリードしたデータをキャパシタアレイのアドレスに送り、デコードし、キャパシタアレイのキャパシタを、現在の温度に対応するキャパシタンスに調整する。そのため、リードしたデータを送るキャパシタアレイバンクを決定しなければならない。
【００５２】
図６ｂを参照すると、メモリからリードした第３温度境界コード（ＴＢ３＿ＣＯＤＥ）は、第２領域が終わる温度でのキャパシタンスに対するキャパシタアレイアドレスを格納しているメモリアドレスである。この第３温度境界コード（ＴＢ３＿ＣＯＤＥ）と、ステップＳ１４で計算した最初のメモリアドレスとを比較する（Ｓ２２）。もしこのメモリアドレスが第３温度境界コード（ＴＢ３＿ＣＯＤＥ）より上位のアドレスである場合には、データはキャパシタアレイの第２バンクに送られる（Ｓ２４）。そして、第２温度境界コード（ＴＢ２＿ＣＯＤＥ）と比較せずに、ステップＳ３６に進む。もしこのメモリアドレスが第３温度境界コード（ＴＢ３＿ＣＯＤＥ）より下位のアドレスである場合には、第２温度境界コード（ＴＢ２＿ＣＯＤＥ）と比較する（Ｓ２６）。
もしこのメモリアドレスが第２温度境界コード（ＴＢ２＿ＣＯＤＥ）より上位のアドレスである場合には、このメモリからリードしたデータを、キャパシタアレイの第１バンクに送る（Ｓ２８）。そして、第１温度境界コード（ＴＢ１＿ＣＯＤＥ）と比較せずに、ステップＳ３６に進む。もしこのメモリアドレスが第２温度境界コード（ＴＢ２＿ＣＯＤＥ）より下位のアドレスである場合には、第１温度境界コード（ＴＢ１＿ＣＯＤＥ）と比較する（Ｓ３０）。
【００５３】
もしこのメモリアドレスが第１温度境界コード（ＴＢ１＿ＣＯＤＥ）より上位のアドレスである場合には、このメモリからリードしたデータを、キャパシタアレイの第２バンクに送る（Ｓ３２）。そして、ステップＳ３６に進む。もしメモリアドレスが第１温度境界コード（ＴＢ１＿ＣＯＤＥ）より下位のアドレスである場合には、このメモリからリードしたデータを、キャパシタアレイの第１バンクに送る（Ｓ３４）。そして、ステップＳ３６に進む。
【００５４】
各バンクが決定されると、データを、第１バンク又は第２バンクに対応するデコーダの入力レジスタに送る（Ｓ３６）。もし第１バンクが選択された場合には、データを、第１バンクのデコーダレジスタに入力する。そして、第２バンクはオリジナルのデータを維持し、制御信号を変更しない。もし第２バンクが選択された場合には、第１バンクへは、最大コード値（ＭＣ＿ＣＯＤＥ）を送り、第２バンクへは、計算により得られたデータを送る。
【００５５】
以後、このような補償方法を、コントローラに供給されたクロックの周期に従って繰り返し行う。すなわち、この補償方法によれば、実時間で、温度が補償される。
【００５６】
以上、本発明の最良の形態を説明したが、本発明はこれらの形態に限定されるものではなく、本発明の技術的思想の範囲内で当分野で通常の知識を有する者によって種々の変形が可能である。
【図面の簡単な説明】
【００５７】
【図１】従来の技術による３点水晶発振器を説明するための回路図である。
【図２】水晶発振器の補償キャパシタンスＣＢ関数の周波数変化を示すグラフである。
【図３ａ】キャパシタアレイの等価回路を示す回路図である。
【図３ｂ】キャパシタアレイの等価回路を示す回路図である。
【図４ａ】温度計コードを用いた補償キャパシタバンクを示す図である。
【図４ｂ】温度計コードを用いた補償キャパシタバンクを示す図である。
【図５】水晶共振器の周波数と温度の特性を示すグラフである。
【図６ａ】本発明の好適な実施例による水晶発振器の温度補償方法を説明するためのフローチャート（その１）である。
【図６ｂ】本発明の好適な実施例による水晶発振器の温度補償方法を説明するためのフローチャート（その２）である。
【図７】水晶発振器におけるキャパシタアレイの等価回路を示す回路図である。
【図１】
2004208270.tif 000012
【図２】
2004208270.tif 000013
【図３ａ】
2004208270.tif 000014
【図３ｂ】
2004208270.tif 000015
【図４ａ】
2004208270.tif 000016
【図４ｂ】
2004208270.tif 000017
【図５】
2004208270.tif 000018
【図６ａ】
2004208270.tif 000019
【図６ｂ】
2004208270.tif 000020
【図７】
2004208270.tif 000021