| 水晶発振器 |
|---|
| 1 回路構成と動作原理 |
![]() 図1 水晶振動子の等価回路 |
集積回路の中では、今のところQの高い(つまり周波数選択性が高い)共振器を作ることが困難である。このため、周波数精度と温度安定性が要求されるディジタル回路のクロック信号やPLL(Phase-Locked Loop)の基準信号などでは、外付けの水晶振動子という素子を用いた発振回路が使用されることが多い。水晶振動子は、SPICEにはデバイスモデルとして組み込まれていないので、図4.1のようにL, C, Rを組み合わせて等価回路を作る。Cp, Csの2つの容量があるので、並列共振周波数と直列共振周波数の2つの共振点を持つ。等価回路中の素子値と共振点、Qの関係は下記のとおりである。
fs(直列共振)でインピーダンスが下がり、fp(並列共振)でインピーダンスが上がるので、この周波数間では、周波数とともにインピーダンスが増大する。即ち、fsとfpの間で等価的にインダクタンスとして働く。 このインダクタンスを用いて、コルピッツ発振回路(情報回路第2、教科書p.185)を構成したのが、図4.2の回路である。Xstとラベルを付けたパーツが水晶振動子である。コルピッツ発振回路は、π型LCフィルターで位相回転を行うため、抵抗RFは発振周波数には影響しないが、インバータXINVに直流バイアスを与えるために挿入した。ただし、RFはXINVの電圧利得に影響を与えるので、もし上手く回路が動作しないようなら抵抗値を大きくしてみるとよい。
|
![]() 図2 水晶発振回路(コルピッツ型) |
| 2 ループ利得の測定 |
![]() 図4.3 ループ利得測定回路 |
発振回路などのフィードバック回路では、ループ利得により発振条件を知ることができるので、ループ利得を測定してみよう。ループ利得の測定回路を図4.3に示す。電圧源VLPはテスト用電圧源。VLPの+側と-側の電位の比 V(1)/V(OUT) がループ利得である。(参考:VLPに入った電流と出る電流が等しいため、ループ利得はVLPの電圧には依存ぜず、電流帰還をかけたまま測定ができる。この測定法は、直感的に解りにくいので覚えておこう。但し、線形化を行う交流解析(周波数特性解析)だけで成り立つワザであることに注意。 |
リスト4.1 水晶発振回路のSPICE入力ファイルの例
| リスト | 説明 |
|---|---|
Quartz Oscillator .GLOBAL VDD **** Netlist **** VPW VDD 0 DC 3.3V VLP 1 OUT AC 1V XINV IN 1 NOT1 XQRZ IN OUT XST1 RF OUT IN 1MEG` C1 IN 0 10pF C2 OUT 0 10pF` **** Sub-Circuits **** .SUBCKT XST1 ET BT Ls ET 1 56mH Cs 1 2 0.04pF Rs 2 BT 50 Cp ET BT 25pF .ENDS .INCLUDE not1.inc **** Simulation **** .OP .OPTION LIST POST NODE .AC LIN 1000 + 3.32MEG 3.40MEG .END |
水晶振動子は、サブサーキットとして、.SUBCKTと.ENDSの間に記述した。XST1がサブサーキット名、ET, BTが水晶振動子の2つのノード。水晶振動子には極性はない。 VPWは電源、VLPはループ利得測定用交流電源、XQRZは水晶振動子のインスタンス名である。 CMOSインバータのNOT1を使用するために、ファイル not1.inc をインクルードしている。 .AC LIN 1000は、周波数軸を等間隔で1000点に刻んで交流解析を行うよう指示している。水晶振動子の共振範囲が非常に狭い(周波数の精度が高い)ので横軸を対数目盛にする必要はない。対数目盛にする場合は、LIN を DEC に変更する。 |
HSPICEで交流解析を行い、AvanWavesでループ利得 V(1)/V(OUT) に対するボード線図(|V(1)/V(OUT)| (dB) および V(1)の位相角−V(OUT)の位相角)を作成せよ。V(1)/V(OUT)の特性は、Expression Builder を用いて計算できる。周波数軸はリニア目盛りのままでよい。共振周波数付近で、ループ利得の大きさが0dBを超えていなければ発振しない。ループ利得が小さい人は、RFの値を10倍ぐらい大きくしてみよう。
| 3 発振周波数の測定 |
発振波形を観測するために、水晶発信回路のSPICE入力ファイルを別名でコピーして次の変更を加える。
VLP行: 削除
XINV行: XINV IN OUT NOT1
Ls行: Ls ET 1 56mH IC=1mA
.AC行: 削除
過渡解析用に次の2行を追加。
.TRAN 0.1ns 5us
Ls行のIC=1mAは、過渡解析の前に初期値を設定するためのパラメータである。発振回路が発振を開始するためには、雑音等の初期変動が必要であるが、シミュレーションでは微小な半導体デバイスの雑音以外の外乱がないため、発振を開始できない。ここでは、バイアス点から大きくずれた初期値を設定して、人工的に外乱を発生させるために Lsに初期電流1mAを流している。
以上の変更を加えた、SPICE入力ファイルを用いてHSPICEでシミュレーションを行い、発振波形を観測せよ。上手く発振しない場合も多いが、IC=1mA の設定を色々変更したり、RF, C1, C2 なども変更して試してみよ。ある程度の計算精度がないと振幅が増加または維持できない場合もあるので、.TRAN 0.01ns 5us 程度の小さいタイムステップを設定してみるのも良いかもしれない。但し、計算時間が長くなる。
適切なIC(初期条件)を設定しないかぎり、発振が定常状態になるまでには、かなりの時間経過が必要である。定常状態でない発振は、時間が経つと振幅が大きくなったり小さくなって止まったりする。このため、本当に安定に発振が起こっているかどうかを調べるためには、200us 程度の長時間のシミュレーションを行う必要がある。
Copyright 2001 Akio Kitagawa, Kanazawa Univ.