クリスタルクロックオシレータ

A flag icon shows that page is written in: En English, Ja Japanese

Heartbeat

インバータを使うクロックオシレータはディジタル回路の心臓。

でもこれアナログ回路でもある意味難しいほうだと思います。 綺麗に理論だけで定数設計するのは困難ですが、 シミュレータを使って見当付けると安定したのが作れるかも。

増幅器と帰還回路を持つ 帰還型発振器で、発振が起こるために 必要な条件は以下につきます。 目標の発振周波数において、

雑音や電源投入時のショック (ステップ電圧) によって励起された振動の振幅が増大してゆき、 増幅器の飽和により少し歪んだところで 定常状態に達する、という仕組みです。

ロジックインバータを反転増幅器として使っていても、 この原則は変わりません。

バルクハウゼン? これがハートでわかるまでそんな呼び方は許しませんっっ てことはないけど (私は 1+j0 っていいます)。 いやまぁこわがらないでください。

ところで回路シミュレータはフリーソフトの Qucs (キュークス) を使いました。 なんといってもわかりやすいです。

直流バイアス

水晶振動子の等価回路は、RLC 直列回路にパッケージ容量 Cp が並列に入ったもので表されます。 解析するには水晶振動子の等価回路定数をメーカから入手する必要があります。 これは 4.23MHz の水晶振動子の例です。

このように、キャパシタンス C3, Cp が経路をブロックしていて、振動子には直流は流れません。 インバータの出力をこのまま直列に入れた振動子を通して 入力に戻そうとしても、インバータの入力は 0V になります。 このままではたとえ雑音に よって 0V を中心に小さな振動が発生しても、 インバータのスレッショルド電圧を横切るまでには 到底達しません。 そこでインバータの入出力を高抵抗 (e.g. 1MΩ) を介して接続し、 インバータの入力に直流バイアス電圧を与えます。 何も振動が無ければ、リニア領域で平衡状態に達するはずです。

交流の帰還

一方、 先の高抵抗よりずっとインピーダンスの低い 水晶振動子 (あるいはインダクタ)、キャパシタなどを並列接続すると、 交流はほとんど共振器側を流れることになります。

ここまでの前提 + 回路解析の知識で、水晶でなく L を使うインバータ型コルピッツ発振回路 はたぶん安定して作れちゃいます。

ちゃんと正帰還がかかるためには、同時に考慮すべき点がふたつ。

これから一応入れてく直列抵抗 Rs には、 上記のように、 位相を少し回すこと、負荷電流制限、高調波を減衰させるなど、 複数の役割があります。 無くてもいい場合も多いです。

帰還回路の位相回転

コルピッツ型にするため、誘導性の発振子に 加えてキャパシタが 2 個必要です。 この部分を共振器とみなして伝達関数を見てみます。

最初に書いたように、 共振器の伝達関数の位相は、目標の周波数において 180° である必要があります。 また伝達関数の大きさもある程度必要です。インバータのゲインと 掛けて 1 より大きくなければなりません。

この水晶振動子の場合、4.23MHz より少し高い周波数で、 位相回転 180° とある程度のゲインが得られました。

帰還回路の入力インピーダンスとインバータの出力

一般的に C1 が数十pF なので、 もし発振周波数が数十MHz とかだと、 インバータから負荷を見込んだインピーダンスは数百Ω しかありません (X=1/2πfC)。 ということは 数V / 数百Ω = 数mA から 数十mA の駆動能力が要求されます。 74AC04 (24mA) とかはいけそうです。 HC (4mA) じゃきついかも。ワンチップマイコンとかだと 発振器用のインバータを内蔵しているものもあります。

って本当はそういう IC の SPICE モデル等があれば 現実に近いシミュレーションができるんですが、 入手が面倒なので、ここでは Qucs の MOSFET の デフォルトのモデルパラメータを使うことにしました。 ただし大きな出力が必要なので、ゲート幅を W=100µm と非常に大きくしてみます。

シミュレータでは直流電圧源は理想状態 (時間 0 からずっと一定電圧) となってしまいます。 実際の電源投入を表現して発振が起こるようにするため、 電源としてステップ電圧を加えました。 あと Transient 解析の解がやや収束しにくかったので、 絶対許容値 abstol を 1pA から 10pA に緩めました。

ゲインを大きくしたので、数百µs で素早く発振起動しています。

コルピッツ発振回路の変形なので、この発振ループ自体の出力は正弦波です。 実際にディジタル回路で利用するには、 VO の後段にさらにインバータ (バッファ) をつないで、 方形波出力とし、負荷をドライブすることになります。

Links


Home

Ryu ryu@run.sh