発振回路の設計概要
セラミック発振子や水晶振動子の発振回路の設計をする際はまず、安定かつ確実に発振させる必要があります。
そのため、励振レベル(ドライブレベル)・発振余裕度・周波数精度の確認を行い、
その後に、周波数可変量、変調度、発振開始時間、発振波形などの検討を行います。
STEP1.マイコンの要求仕様の確認
マイコンが要求するクロック特性(周波数範囲、負荷容量、起動時間、ゲインマージンなど)を理解する必要があります。以下に確認すべき仕様をまとめましたので一つずつ確認していきましょう。
①マイコンクロック仕様の確認
まず最初に、使用するマイコンのクロック周波数を確認します。これは、発振回路が提供するべき周波数に関わる部分です。確認方法はマイコンのデータシートに記載のクロック周波数を確認します。
マイコンが16 MHzの外部クロック信号を要求する場合、選定する水晶振動子は16 MHzである必要があります。
データシートには動作クロック範囲4MHz~16MHzなどと記載されていることが多いです。
下記のような場合だとXT2端子(高周波発振器)にはセラミック発振子:450kHz~8MHz、水晶振動子:1MHz~8MHzのものを選定すればよい。

➁クロック精度と許容範囲の確認
マイコンが要求するクロック精度は使用する機能ごとに変わるため、設計するマイコンで使用する機能を確認しましょう。下記に代表的な用途ごとの要求精度の目安を記載しております。
用途カテゴリ | 使用例 | 要求精度(目安) | 理由・備考 |
---|---|---|---|
RTC(リアルタイムクロック) | 時計、水位記録、スリープ管理 | ±20ppm 以内(±1.73秒/日) | 長時間の正確な時刻保持 |
UART(調歩同期) | PCとのシリアル通信、デバッグ出力など | ±1.5% ~ ±3% | 通常 2% 以内が安全圏 |
I2C / SPI(同期通信) | センサとの接続、EEPROMなど | 相対クロックのため不要 | スレーブと同期するため絶対精度不要 |
USB 通信 | USBデバイス(例:CDC、HID) | ±0.25%(±2,500ppm) | USB規格で厳格に定義 |
CAN通信 | 車載やFA機器の通信 | ±0.5% ~ ±1.5% | 位相誤差を吸収できる範囲に制限あり |
RF通信(Bluetooth, ZigBee) | 無線モジュール内蔵 or RFトランシーバ | ±10ppm 以下(厳格) | 無線帯域制限による制約あり |
ADC/DACクロック | 高精度なアナログ信号処理 | 依存する(高精度ADCで±50ppm程度) | 時間軸精度が必要な場合のみ |
PWM / モーター制御 | インバータ制御、LED調光 | 数%程度(5%以上でも動作可) | 周波数誤差が許容されやすい |
外部メモリインターフェース | SDRAM、フラッシュなど | クロック提供元の仕様依存 | タイミングマージン重視 |
オーディオ処理(I2Sなど) | PCM、DAC、MP3デコード | ±50ppm 以下 | 音声信号の歪み防止 |
CPU/システムクロック | MCLK, SMCLKなど | 実用上 ±1〜2% 程度で十分 | 高精度は不要だが安定性重視 |
実際のマイコンの精度要件は『通信仕様の章』・『クロックソース仕様の章』・『電気的特性表』やUSB,CAN,Bluetoothなどは別途アプリケーションノートに記載がある場合が多い。
③発振回路形式の確認
マイコンに外部水晶振動子を接続して使用する場合、マイコン内部に実装されている発振増幅回路の形式に合わせて外部部品(コンデンサ、抵抗)を設計します。主に以下の形式が使われます。
発振回路形式 | 構成例 | 特徴 |
---|---|---|
Pierce型 | 水晶 + 両端にGNDへのC1, C2 + 帰還抵抗 | 一般的なマイコンで最もよく使われる形式 |
Colpitts型 | コンデンサによる電圧分割帰還 | RFや特殊なクロックIC向け |
RC発振型 | 抵抗とコンデンサによる自己発振 | 精度が不要な用途(例:WDT用) |
直列共振型 | 水晶+バイパス直列接続 | 一部のMPUなどで使用 |
マイコンにより推奨回路は異なるため、下記の箇所を参考に推奨回路を確認すること。
項目 | 確認場所 | 備考 |
---|---|---|
発振形式(例:Pierce型) | データシートの「クロック」章 | 通常「外部水晶接続例」などの記載あり |
帰還・制限抵抗の値例 | アプリケーションノート | TI, ST, Microchipに豊富 |
回路構成(実物例) | 評価ボードの回路図(PDF) | XTAL端子周辺の設計確認に便利 |
④発振安定時間の確認(マイコン起動後発振回路が安定するまでの時間)
起動時間とは、水晶振動子(または発振回路)が電源投入後やスリープ復帰後に安定した発振状態に達するまでにかかる時間のことです。この時間がマイコンの動作開始前に安定しているようにする必要があります。
マイコンが要求する起動時間はマイコンのデータシート内のClock System や Oscillator Circuit の章を確認し、
「t_start」「osc startup time」などの表記があればそれが、マイコンが起動するまでの時間です。
これに対し、振動子・発振子の発振安定時間は
データシート内の「Start-up time」または「Drive Level」「Load Capacitance」とセットで記載されているので、
確認しましょう。
マイコンのコードで振動子・発振子が安定してreadyフラグが立つまで待機するコードもありますのでそちらで調整も可能です。
要因 | 内容 |
---|---|
水晶振動子の種類 | 周波数が低いものほど起動時間が長くなる(例:32.768kHz は長い) |
負荷容量(C1, C2) | コンデンサが大きいほど発振開始に時間がかかる |
ドライブレベル | 過小 or 過大だと起動が遅れる。適正な値の選定が必要 |
温度 | 低温では発振が起動しにくいことがある |
ESR(等価直列抵抗) | 高すぎると起動しにくい |
マイコン内部設定 | クロックソース切替時の待機時間やタイムアウト値によって変わる場合がある |
STEP2. 振動子・発振子の選定
マイコンに必要な要求仕様がわかったら次は振動子・発振子の選定に移ります。下記の項目に合うものを選びましょう。
項目 | 推奨基準・理由 |
---|---|
周波数 | マイコン仕様と用途に合致(例:UARTなら4〜8MHz、USBなら12MHz) |
負荷容量(C_L) | 一般的には12.5pFか18pFが主流 → 回路でC1, C2を調整するため重要 |
精度(周波数偏差) | ppm単位(±20~±100ppm) 用途に応じて選定 |
ESR | データシートの許容範囲内(高すぎると起動しない) |
動作温度範囲 | -40〜+85℃や -20〜+70℃が一般的。産業用や車載用途では広い温度範囲が必要 |
起動時間 | 数ms~数百ms。短いほど良いが、用途次第で妥協可能 |
ドライブレベル | 過小・過大どちらもNG。マイコンの出力に合うもの(例:10μW~100μW) |
パッケージ | サイズ制限や自動実装性を考慮(例:SMD、HC-49など) |
STEP3.負荷容量CL(C1、C2)の設計
負荷容量(CL)とは振動子が要求する共振周波数が保障される容量基準値のことです。
発振回路において振動子の両端子から 発振回路側を見た実効的な直列等価静電容量で表されます。
水晶振動子の両端とGND間に外部負荷容量C1とC2を取り付け、これらと配線・基板パターンの寄生容量との合計値が
負荷容量CLの値になるように設計を行います。
発振回路の負荷容量を小さくすると発振周波数が大きくなり、DLが低くなり、発振余裕度は高くなります。
負荷容量を大きくすると発振周波数が小さくなります。DLが高くなり、発振余裕度は低くなります。
負荷容量CL は以下のように求められます。

負荷容量\(\ C_L=\frac{C1・C2}{C1+C2}+Cs\)
※Cs:ICの2pin間の浮遊容量+配線・基板パターン・パッドなどの寄生容量ICの持つ浮遊容量
標準的なスルーホール配線 + SMDなら4~5pF、高密度SMD基板(短配線)なら2~3pF
※C1,C2:外部負荷容量
また、負荷容量CL は発振周波数に以下のように関わってきます。

発振周波数\(\ f_{osc}=f_L=fs(\frac{C_1}{2(C_0+C_L)}+1)\)
直列共振周波数fs=\(\frac{1}{2π\sqrt{L1・CE}}\)
※C0:振動子の電極間容量。厚みと電極間面積により決定
※CE:振動子の等価直列容量。
※\(f_L:負荷時共振周波数\)
参考:村田製作所:発振周波数の基礎知識
参考:マクニカ:水晶振動子の基礎講座
参考:セイコーインスツル:発振回路の設計について
STEP4.帰還抵抗Rfの設計
マイコンや発振IC内部のインバータ増幅器の入力と出力間に接続され、以下のような役割があります。
大きすぎると帰還量が減って動作点が不安定になり、小さすぎるとゲインの低下や、電流の増大につながります。
役割 | 説明 |
---|---|
DCバイアスの安定化 | インバータの入力を適切なバイアス電位に引き上げて、発振条件を満たす |
微小ノイズを発振へ導入 | 起動時の熱雑音などを入力へ帰還して発振開始を促進 |
起動時間の短縮 | インバータが中間動作点に入るのを補助して、起動時間を短縮 |
①マイコンのRf推奨値を確認するor電源電圧から使用範囲を絞る
発振器の動作点が非線形かつ内部構造が非公開のため、大まかな値から微調整して値を決めていきます。
マイコンのデータシートやハードウェア仕様書内にRfが明記されている箇所があるのでそちらで推奨値を確認しましょう。推奨値の記載がない場合は以下の表を参考に電源電圧からおおよその使用範囲を決めましょう。
電源電圧(VCC) | 推奨Rf範囲 |
---|---|
1.8V | 2 MΩ ~ 10 MΩ |
3.3V | 1 MΩ ~ 10 MΩ(標準:1MΩ) |
5.0V | 470kΩ ~ 4.7 MΩ |
➁温度と起動時間を確認しながら微調整を行う
起動時間が遅い場合はRfを小さくすることで起動時間を短縮することが出来る。ただし発振安定性が損なわれるたり、ドライブ過大で振動子・発振子が破損するので安定する範囲内で調整しましょう。
また、ノイズが多かったり、感度が高すぎるなどといった場合はRfを大きくすることでゲインを抑えるようにしましょう。その場合大きくしすぎると発振しなくなるため注意しましょう。
STEP5.制限抵抗Rdの設計
制限抵抗RdはXout端子側に直列につなげることでドライブレベルの調整に役立ち、主に以下のような役割があります。
- 過度な電流による発振子の発熱を抑える(発熱により、共振周波数が変化するのを防ぐ)
- 寿命加速の防止
- 発振の安定(過大な電流は発振の不安定につながる)
- 過大な電流による発振子の破損を防止
ドライブレベルとは振動子の動作状態における(消費)電力または、電流のレベルで表示したものであり、
過大な電力で振動子を動作させると、発振周波数の変化などの特性の劣化や、水晶片 の破壊の恐れがある。
そのため最大ドライブレベルを超えない範囲で回路設計を行う必要があります。
電流制限抵抗Rdの値を上げることでドライブレベルを下げることが出来ます。
①最大ドライブレベルDLの確認
振動子のデータシートや仕様書に許容できる最大のドライブレベルが記載されていますので確認しましょう。
(○○μW/max)と書かれている値は一時的に超えてもいい限界の値ですので推奨するドライブレベルではありませんので注意しましょう。

➁大まかなRdを計算する
Rdを求めるためにまず振動子に流す許容電流値を算出しましょう。最大ドライブレベルと振動子の等価直列抵抗(共振抵抗)から求められます。
I=\(\sqrt{\frac{Pmax}{Re}}\)
※Pmax:最大ドライブレベル(励振レベル)
※Re:等価直列抵抗(共振抵抗)
許容電流値が求められたらマイコン出力電圧と許容電流値を用いて制限抵抗Rdを求めましょう。
Rd=\(\frac{Vpp}{I}-Re\)
※Vpp:マイコン出力電圧
※I:上記で求めた振動子に流す許容電流値
参考:村田製作所:ドライブレベルの基礎知識
参考:マクニカ:水晶振動子の回路解析2
参考:セイコーインスツル:発振回路の設計について
③発振余裕度とドライブレベルを確認しながら最適なRdを調整する
電流制限抵抗Rdは発振余裕度にも関係してきます。発振余裕度とは振動子に直列に抵抗を接続し、
抵抗値を最大にして発振を止めた状態から徐々に値を下げて発振を開始する時の抵抗値を負性抵抗と呼び、
この負性抵抗が振動子の等価直列抵抗に対して何倍あるかで発振余裕を示したものです。
発振余裕度は振動子の等価直列抵抗の5倍以上(理想は10倍以上)を推奨致します。
ドライブレベルを下げるために電流制限抵抗Rdを大きくすると発振余裕度が低くなるため注意すること。
発振余裕度=\(\frac{|-R|}{Re+Rd}\)
※|-R|:負性抵抗
Re:振動子の等価直列抵抗(共振抵抗)
Rd:電流制限抵抗
※Cs:ICの持つ浮遊容量(ICの2pin間の容量+ボードパターン容量)。主に4~5pF
※C0:振動子の電極間容量。厚みと電極間面積により決定
※\(\ R_1\)(ESR):等価直列抵抗であり、振動子が振動する際の損失抵抗。値が小さいほど良い。データシートに記載あり。
※Rd:電流制限抵抗。励振レベルを下げる用途で取り付けている。
※\(\ R_V:発振子に直列に接続し、回路が発振を開始するぎりぎりの抵抗値のことで、実際に測定して求めます。
Rvを最大にして発振を止めた状態から徐々に値を下げて発振を開始する時のRv値を求める。
参考:村田製作所:発振余裕度の基礎知識
参考:マクニカ:水晶振動子の回路解析2
参考:セイコーインスツル:発振回路の設計について
STEP6.マッチング試験の実施
部品の選定が出来たら、実際の試作基板にて発振周波数・発振余裕度・ドライブレベル・発振動作安定時間のマッチング試験を行います。
これらの値は実際に基板で計測して微調整を行います。下記のように測定することもできますが、より正確に計測を行いたい場合はマッチング試験依頼を外部に依頼しましょう。
【発振周波数測定時の注意事項①】低容量のプローブを使おう
オシロスコープにて発振周波数を確認する場合はプローブに注意しましょう。プローブには寄生容量が存在しており、
パッシブプローブなどのプローブだと十数pFとなるため、発振周波数の章でも説明したが、外部負荷容量は数pFであり、その他の寄生容量の影響を受けて周波数が変化するため、計測する際はFETプローブなどの高インピーダンス、低容量のプローブで計測を行うこと。
✅ わかりやすく解説:
- FETプローブとは?
→ 「Field Effect Transistor(電界効果トランジスタ)」を使ったオシロスコープ用プローブの一種で、観測対象に負荷(影響)をほとんど与えずに信号を測定できる道具です。 - 入力インピーダンスが高い
→ 電流が入りにくい、という意味です。
高インピーダンス(たとえば10MΩや100MΩ)だと、回路からほとんど電流を吸い取らず、回路の状態を壊さずに見ることができます。 - 入力容量が小さい
→ 信号線に対して「静電容量」の負荷が小さいという意味です。
これは高速信号や微弱な信号を測るときに非常に重要で、信号の形や周波数に悪影響を与えにくくなります。 - 結果として、波形を“壊さず”に観測できる
→ 通常のプローブよりも回路に対して“透明な存在”として観測できるということです。
【発振周波数測定時の注意事項➁】FETプローブはXout側に当てよう
マイコンの水晶発振回路において、FETプローブを当てるべきなのは原則として Xout
側です。
Xin
はマイコン内部のアンプ入力につながっており、高インピーダンスかつ微弱信号のため、プローブを当てると簡単に動作が乱れます。- 一方、
Xout
はマイコン内部のインバータ(やアンプ)の出力からの信号で、ある程度ドライブ能力があり、信号レベルも高めなので、FETプローブでも観測が可能です。
最後に
発振回路の定数は実装基板によって変わってくるため、マッチング試験などを活用し、適切な定数に調整していく必要があります。ここまで読んでいただきありがとうございました。