こんにちは、太郎です。
前回は クロックジェネレーターの周波数精度について 書きましたが、今回は水晶振動子のマッチングについて書きます。
クロックジェネレーター のリファレンスとして水晶振動子を使用する場合には、クロックジェネレーターの負荷容量に応じたキャパシターの選定など、マッチング工程が重要となります。
水晶振動子と水晶発振器の違い
はじめに、水晶振動子と水晶発振器の違いについて説明致します。
水晶発振器は電源を入力することでクロック信号を出力するため、単体でクロック信号出力が可能です。
FPGA のように、 IC 内部で 水晶発振回路 を構成できない IC や、クロック信号の供給が必要となる IC には、水晶発振器が必要となります。
水晶振動子と比較した場合、水晶発振器は価格的に高価で、パッケージサイズも大きめであることがデメリットです。
水晶振動子は水晶発振回路を持たないので、水晶振動子単体ではクロック信号を出力することができません。
クロック信号を出力するためには、水晶発振回路の構成が必要となります。
しかしその分、水晶発振器と比較して安価でパッケージサイズも小さいです。
そのため、クロックジェネレーター IC や CPU など、内部で水晶発振回路を構成している IC の源振として使用する場合には、水晶振動子の方がメリットを出せることが多いです。
上記のように、水晶振動子 / 水晶発振器にはメリット / デメリットがあるため、ケースバイケースの使い分けが必要となります。
水晶発振回路の構成
では本題に入ります。水晶振動子に必要となる水晶発振回路はどのような構成をしているのでしょうか?
以下に CMOS ゲート型水晶発振回路と各素子の役割を示します。
Rd : 制限抵抗 - 水晶振動子に過大電流が流入することを防止します。
Rf : フィードバック抵抗 - インバーター出力側から電流を帰還(フィードバック)させて、発振を持続させます。
Cg : 外付けコンデンサー - 負性抵抗、励振レベル、発振周波数を調整します。
Cd : 外付けコンデンサー - 負性抵抗、励振レベル、発振周波数を調整します。
また、水晶振動子は下図のような等価回路として考えることができます。
水晶は特定の周波数においてのみ、下図のような等価回路として扱うことができますので、周波数安定度が LC 発振回路よりも高いと言えます。
発振周波数の調整
発振周波数の調整は外付けコンデンサーによる負荷容量 CL とのマッチングによっておこなわれます。
周波数偏差と負荷容量の関係は次式のようになります。
F : 水晶振動子の発振周波数
dF : 水晶振動子の発振周波数と実際の周波数の差
負荷容量 CL は次式によって求められます。
Cs : 水晶振動子の発振周波数
Cg , Cd の値を調整することで、水晶振動子の負荷容量と水晶発振回路の負荷容量を合わせ込みます。
この負荷容量の周波数偏差への影響はどのようになっているのでしょうか?
周波数安定度と負荷容量の関係をグラフにすると、下図のようになります。
このグラフより、負荷容量 CL の値によって周波数精度が大きく変わりうることがわかります。
r の値にもよりますが、1 pF の負荷容量の誤差で、周波数偏差は 29 ppm の変化が起こることもあり、容量のマッチングはデータシートに記載されている周波数精度に関わらず重要 であることが分かります。
また、負荷容量が大きい程、周波数偏差が小さく、周波数精度は高くなっていると言えます。
しかし、水晶振動子の小型化に伴い、負荷容量は小さくなっています。
また、下記の発振余裕度や励振レベルとの兼ね合いから、必ずしも大きな負荷容量が安定したクロック信号を供給するとは限りません。
発振余裕度の調整
発振余裕度は、水晶発振回路が水晶振動子を発振させる能力を表します。
発振余裕度は、負性抵抗 RN と水晶振動子を含めた、水晶発振回路の等価抵抗 Re によって決まります。
ここで、負性抵抗とは、水晶発振回路を構成した際に生じる、実際には存在しないマイナスの抵抗値を持った抵抗になります。
負性抵抗の測定のために、下図のように、水晶発振回路に可変抵抗 R を挿入します。
可変抵抗の抵抗値を大きくしていき、発振しなくなった時の抵抗値が、負性抵抗の抵抗値となります。
負性抵抗 R と挿入した抵抗 RN 、水晶発振回路の等価抵抗 Re の関係を下図に示します。
RN : 負性抵抗
Re : 負荷接続時の抵抗
R : 挿入抵抗
発振余裕度は RN / Re で表され、発振余裕度の値が 5 以上になれば、安定してクロックを出力します。
発振余裕度が小さいと、水晶が発振せず、クロックを出力しない恐れがあります。
発振余裕度の向上には、RN の値を大きくし、Re を小さくする必要があります。
RN の値を大きくするには2つの方法があります。
1 つ目は外付けコンデンサーの値を小さくすることです。
しかし、外付けコンデンサーを小さくすると、水晶振動子の負荷容量とのマッチングが取れなくなる恐れがあります。
外付けコンデンサーの値を小さくする際は周波数精度との兼ね合いを考慮する必要があります。
2つ目は、制限抵抗 の値を小さくすることです。
制限抵抗の値を下げることで、水晶振動子に流れ込む電流は大きくなるので、励振レベルとの兼ね合いを考慮する必要があります。
また、Re を小さくするには、水晶振動子そのものを変更する必要があるので、水晶振動子のベンダーに相談する必要があります。
励振レベル (Drive Level : DL) の調整
最後に、励振レベルについて説明します。
励振レベルは水晶振動子に加えられるパワーを表します。
励振レベルは水晶振動子のデータシートに記載されていて、単位はワット ( W ) になります。
励振レベル DL は次式で表されます。
I : 水晶振動子に流れる電流
励振レベルがデータシートに記載されている値よりも大きくなってしまうと、水晶振動子に過大な電流が流れてしまい、水晶の破損に繋がる恐れがあります。
最大励振レベル以上の電力を水晶振動子に加えないよう、注意する必要があります。
FPGA で水晶発振回路は構成可能か?
FPGA 内部で水晶発振回路を構成し、水晶振動子を外付けすることは残念ながらできません。
FPGA の持つインバーターはロジック・インバーターで、増幅回路として水晶振動子の出力を励振するには不向きだからです。
仮に FPGA 内で水晶発振回路を組み、クロック出力を得ることができたとしても、安定度が小さく、信頼性の低いクロックとなります。
信頼性の低いクロックの不具合例としては、温度が変わると発振が止まってしまうこと、基板に触れると発振することが挙げられます。
水晶発振回路はアナログ増幅器として正しく動作することが必要で、水晶発振回路の特性は IC のような能動素子に大きく左右されます。
まとめ
上記の通り、水晶発振回路の設計には様々な要因が複雑に関連しあっています。
複数の水晶振動子を使うことで、それぞれマッチングが必要となりますので、それだけ工数も増えてしまいます。
また、水晶発振器を使うというのも一つの手ですが、水晶振動子と比較してコストがどうしてもかかってしまいます。
その他にもクロック・バッファーなどもご用意しておりますので、お気軽にお問い合わせください。