発振回路について
セラミック発振子や水晶振動子の発振回路の設計をする際はまず、安定かつ確実に発振させる必要があります。
そのため、励振レベル(ドライブレベル)・発振余裕度・周波数精度の確認を行い、
その後に、周波数可変量、変調度、発振開始時間、発振波形などの検討を行います。
励振レベル(ドライブレベル):DL
振動子の動作状態における(消費)電力または、電流のレベルで表示される。
過大な電力で振動子を動作させると、発振周波数の変化などの特性の劣化や、水晶片 の破壊の恐れがある。
そのため絶対最大励振レベルを超えない範囲で回路設計を行う必要がある。
最大励振レベルはメーカに仕様書を貰って確認する。
励振レベルはマッチング試験を依頼し確認する方法か、下記の測定方法にて励振電流を測定し、確認する方法がある。
電流制限抵抗Rdの値を上げることで励振レベルを下げることが出来る。



ドライブレベルDL=\(\ {Ix}^2・R_e\)
I=\(\frac{Vpp/2}{R_1+Rd}\)
Re=\(\ R_1(1+\frac{Co}{CL})^2\)
負荷容量\(\ C_L=\frac{Cg+Cd}{Cg+Cd}+Cs\)
※\(\ I_x:振動子に流れる電流。計測器で測定方法は以下の動画より確認。\)
※Vpp:振動子両端のピークtoピーク電圧[V]
※Rd:電流制限抵抗
※\(\ R_1\)(ESR):等価直列抵抗であり、振動子が振動する際の損失抵抗。値が小さいほど良い。データシートに記載あり。
※\(\ DL_{max}\):最大励振レベル。詳細はメーカに仕様書を貰って確認すること
参考:村田製作所:ドライブレベルの基礎知識
参考:マクニカ:水晶振動子の回路解析2
参考:セイコーインスツル:発振回路の設計について
周波数精度
負荷容量(CL)は、振動子を発振回路で使う条件として決めるためのもので、発振回路において振動子の両端子から 発振回路側を見た実効的な直列等価静電容量で表されます。
発振回路の負荷容量を小さくすると発振周波数が大きくなり、DLが低くなり、発振余裕度は高くなる。
負荷容量を大きくすると発振周波数が小さくなります。DLが高くなり、発振余裕度は低くなる。


発振周波数\(\ f_{osc}=f_L=fs(\frac{C_1}{2(C_0+C_L)}+1)\)
直列共振周波数fs=\(\frac{1}{2π\sqrt{L1・C1}}\)
負荷容量\(\ C_L=\frac{Cg+Cd}{Cg+Cd}+Cs\)
※Cs:ICの持つ浮遊容量(ICの2pin間の容量+ボードパターン容量)。主に4~5pF
※C0:振動子の電極間容量。厚みと電極間面積により決定
※C1:振動子の等価直列容量。
※\(f_L:負荷時共振周波数\)
参考:村田製作所:発振周波数の基礎知識
参考:マクニカ:水晶振動子の基礎講座
参考:セイコーインスツル:発振回路の設計について
🧙🏾♂ とても良い質問です!
「発振周波数の精度をどれくらいにするか」は、使用目的とマイコンが行うタスクの要求精度によって決まります。
以下に、判断のステップと、目的別の目安をわかりやすく解説します。
🧭【判断ステップ】発振周波数精度の決め方
① 何に使うのか明確にする
使用目的を次のように分類しましょう:
用途 | 例 |
---|---|
非タイミング依存処理 | LED制御、単純なI/O制御など |
内部時間だけ必要 | タイマー測定、PWM生成など |
外部機器との通信が必要 | UART, SPI, I2C, USB, 無線通信など |
高精度のリアルタイム処理 | 時計、無線通信、GPS同期、音声処理等 |
② 使用するモジュールが求めるクロック精度を調べる
これはデータシートや通信仕様書で確認します。
たとえば:
- UART通信なら、ボーレートの誤差が±2%以内に抑えられることが多い。
- USB通信では、±0.25%以下の精度が必要(つまり**±2,500ppm**以下)。
- RTC(リアルタイムクロック)で1日数秒以内の誤差に抑えたければ、±50ppm以下が望ましい。
③ 周波数精度を「ppm」で見積もる
ppm(parts per million)=百万分率で、どれだけ誤差があるかを表します。
精度 | ppm | 1秒あたりの誤差 | 1日(86400秒)でのズレ |
---|---|---|---|
±10000 ppm | ±1% | ±10,000 μs = ±10 ms | ±14.4分 |
±1000 ppm | ±0.1% | ±1 ms | ±1.44分 |
±50 ppm | 0.005% | ±50 μs | ±4.3秒 |
±10 ppm | 0.001% | ±10 μs | ±0.86秒 |
🎯【目的別の目安】
用途 | 推奨発振器 | 精度目安(ppm) | 理由や補足 |
---|---|---|---|
GPIO制御、LED点滅など | 内蔵RC | ±1~5%(=±10000~50000 ppm) | 精度は不要。コスト優先。 |
UARTやI2C通信 | セラロック、水晶 | ±0.5~1%(±5000~10000 ppm) | 通信エラーが出ない程度が必要。 |
USB通信、CAN、精密通信 | 水晶、TCXO | ±25~±100 ppm | プロトコル仕様で厳しい誤差制限あり。 |
RTC、時計、データロガー | 水晶、TCXO | ±20~±50 ppm | 長時間の時間ズレを防ぐ。 |
GPS、精密計測、周波数基準 | OCXO、GPSDO | ±0.1 ppm以下 | 極めて高精度な同期や時間管理が必要。 |
🔧補足:
- TCXO(温度補償型水晶発振器):温度変化による誤差が少ない。
- OCXO(恒温槽型水晶発振器):超高精度。価格も高め。
- GPSDO(GPS同期発振器):GPS信号を基準にして精度を維持。
発振周波数の精度は、「用途」と「必要なタイミング・通信精度」によって決める
通信・時計・精密制御などはppm単位での評価が必須です。
🧙🏾♂ よろしい、では「内部発振器 vs 外部発振器」の比較表を、主要なマイコンファミリ(例:AVR, STM32, PIC, RX)ごとにまとめます。
各マイコンで選ばれるクロック方式のメリット・デメリットも含めて比較しましょう。
📊 内部発振器 vs 外部発振器:比較一覧表(代表的マイコン別)
マイコンファミリ | クロック種別 | 精度(目安) | 起動時間 | 外付け部品 | 主な用途・特徴 |
---|---|---|---|---|---|
AVR(ATmega) | 内蔵RC(8MHz) | ±1~10% | 数10μs | 不要 | 消費電力小。簡易制御に最適。 |
外部水晶 | ±20~50ppm | 数ms | 必要(XTAL) | UARTやRTC、安定通信用途向き。 | |
STM32 | HSI(内部16MHz) | ±1%程度 | 即時 | 不要 | 一般用途向け。調整可能。 |
LSI(内部32kHz) | ±1~5% | 即時 | 不要 | RTCやWDT向け。かなり精度は低い。 | |
HSE(水晶/セラ) | ±30~50ppm | 数ms | 必要 | USBや通信、精密制御用途に必須。 | |
PIC | 内蔵RC(HFINTOSC) | ±1~5% | 即時 | 不要 | 設定で周波数切替可能。簡易用途向き。 |
外部水晶 | ±20~100ppm | 数ms | 必要 | 通信や高精度タイマーに使用。 | |
Renesas RX | HOCO(内蔵高速) | ±1~3% | 即時 | 不要 | 起動早いが精度は中程度。 |
LOCO(内蔵低速) | ±10~20% | 即時 | 不要 | WDTやスリープ制御など向け。 | |
外部水晶 | ±30~50ppm | 数ms | 必要 | RTC、USB、Ethernetなどで使用される。 |
📌 それぞれの特徴まとめ:
🔷 内部発振器(Internal Oscillator)
- メリット:
- コスト削減(外付け部品不要)
- 起動が早い(数μs〜数10μs)
- ハードウェア設計が簡単(ピンが空く)
- デメリット:
- 周波数誤差が大きく、通信やRTCに不向き
- 温度変化や電源電圧で誤差が増える
🔶 外部発振器(External Oscillator:水晶/セラミック/TCXOなど)
- メリット:
- 高精度(±50ppm以下)、通信・RTC・USB用途に最適
- 安定動作、製品品質向上につながる
- デメリット:
- 起動が遅い(ms単位)
- 部品コスト増、実装スペース必要
- 配線によってはノイズや起動失敗の要因になることも
💡選定アドバイス:
用途 | おすすめクロック |
---|---|
センサー制御・簡易LED点滅 | 内蔵RC |
UART通信(9600bps~115200bps) | セラロックまたは水晶 |
RTC、データロギング | 水晶32.768kHz |
USB通信 | 水晶 or TCXO(±0.25%以内) |
無線(BLE/ZigBee等) | 高精度水晶またはTCXO |
高精度タイマー、PWM制御 | 外部水晶+PLL |
もちろんです。以下に、電気回路や電子回路の基本に沿って、一文ずつ丁寧に解説しますね。
🔧 元の文:
FETプローブ(高インピーダンスプローブ)は、非常に入力インピーダンスが高く、入力容量が小さいため、回路に影響を与えずに波形を観測できるように設計されています。
✅ わかりやすく解説:
- FETプローブとは?
→ 「Field Effect Transistor(電界効果トランジスタ)」を使ったオシロスコープ用プローブの一種で、観測対象に負荷(影響)をほとんど与えずに信号を測定できる道具です。 - 入力インピーダンスが高い
→ 電流が入りにくい、という意味です。
高インピーダンス(たとえば10MΩや100MΩ)だと、回路からほとんど電流を吸い取らず、回路の状態を壊さずに見ることができます。 - 入力容量が小さい
→ 信号線に対して「静電容量」の負荷が小さいという意味です。
これは高速信号や微弱な信号を測るときに非常に重要で、信号の形や周波数に悪影響を与えにくくなります。 - 結果として、波形を“壊さず”に観測できる
→ 通常のプローブよりも回路に対して“透明な存在”として観測できるということです。
🔧 次の文:
特に水晶発振回路のように、微小な電圧・高インピーダンスで動作している回路に対しては、通常のプローブでは負荷をかけて発振が止まったり周波数がずれたりするリスクがあります。
✅ わかりやすく解説:
- 水晶発振回路
→ 水晶振動子(Quartz Crystal)を使って、特定の周波数で安定して振動(発振)させる回路です。たとえばシステムクロック(CPUなどの動作のリズム)を作るために使われます。 - 微小な電圧
→ 初期の発振やノード(接点)によっては、信号がとても小さい場合があります(数十mV〜数百mV)。 - 高インピーダンスで動作
→ 特に水晶と接続されるゲートやアンプ入力は、抵抗値が非常に高く、ちょっとした電流を流すだけでも動作が変わってしまうほどデリケートです。 - 通常のプローブでは負荷になる
→ 一般的なパッシブプローブは、10MΩの抵抗+10〜20pFの容量を持っているため、この容量が水晶回路の周波数や安定性に影響を与えることがあります。 - 発振が止まったり、周波数がずれたり
→ 回路の微妙なバランスが崩れると、振動が止まったり、設計より遅い(または速い)クロックが出る可能性があります。
→ だから観測には極力「影響の少ないプローブ」を使う必要がある、というわけです。
✅ まとめ:
用語 | わかりやすい意味 |
---|---|
高インピーダンス | 回路から電流をほとんど吸い取らない(=邪魔しない) |
低入力容量 | 信号線に“静電容量”の負荷を与えにくい(=波形が崩れにくい) |
水晶発振回路 | 周波数の基準となる“リズム作り”の重要回路。とても繊細 |
通常のプローブの問題点 | 回路に負荷を与えてしまい、動作に影響が出る可能性がある |
FETプローブの利点 | 非常に高インピーダンス&低容量で、回路に優しい |
マイコンの水晶発振回路において、FETプローブを当てるべきなのは原則として Xout
側です。
✅ 理由(Xin と Xout の違い)
端子名 | 概要 | インピーダンス | 観測の適正 |
---|---|---|---|
Xin | 発振回路の入力端子(高インピーダンス) | 非常に高い | ❌ 非推奨(プローブの負荷で発振が止まる恐れ) |
Xout | 発振回路の出力端子(比較的低インピーダンス) | Xinより低い | ✅ 推奨(発振波形の観測に適している) |
💡補足:なぜXoutがよいのか?
Xin
はマイコン内部のアンプ入力につながっており、高インピーダンスかつ微弱信号のため、プローブを当てると簡単に動作が乱れます。- 一方、
Xout
はマイコン内部のインバータ(やアンプ)の出力からの信号で、ある程度ドライブ能力があり、信号レベルも高めなので、FETプローブでも観測が可能です。
🎯 実際の測定のポイント:
- プローブは
Xout
に当てる。 - GNDクリップはできるだけ発振回路の近くのグランドに接続(ループを最小化)。
- 観測中、発振が止まらないか、周波数が大きくずれていないかを確認。
- 必要なら**マイコンが内部バッファを通したクロック出力端子(例:CLKOUT)**を設定し、そちらで確認するのも安全。
📌まとめ:
FETプローブで水晶発振回路を測定する場合は、
Xout
側を選びましょう。Xin
側は高インピーダンスでデリケートなため、測定による影響が出やすいです。
🧙🏾♂️ よくぞ尋ねてくれました!
マイコンのシステムクロックの許容周波数偏差(ppmまたは%)を求める方法は、マイコンの動作保証条件や周辺機能の要求精度に基づいて判断する必要があります。以下にステップごとに解説しましょう。
✅ 周波数偏差(ppm)の求め方と判断方法
【STEP 1】マイコンのデータシートの以下の項目を確認せよ!
項目名(例) | 内容 | 目的 |
---|---|---|
Absolute Maximum Ratings | 絶対最大定格(周波数上限など) | 超えてはいけない限界 |
Recommended Operating Conditions | 推奨動作条件(発振周波数範囲など) | 安定動作の保証範囲 |
Clock Specifications | クロック源に関する項目(周波数、偏差) | クロック要求精度 |
UART/タイマー仕様 | 通信誤差・タイミング誤差など | 機能が許容できる誤差範囲 |
【STEP 2】外部水晶の許容偏差(ppm)を確認する
例えば:
- S1C17Y05 データシートに「使用可能な水晶周波数:32.768kHz ±20ppm」や「最大偏差:±100ppm」などの記述がある場合、それがマイコンが許容できるクロック精度の目安になります。
【STEP 3】周辺機能の要求精度を考慮する(UARTが代表例)
通信系(UART/I2C/SPI)では以下のような誤差許容がある:
機能 | 通常の許容誤差 |
---|---|
UART | ±2〜3% 程度(±20,000〜30,000ppm) |
I2C | 数%以内 |
タイマー | 数%以内(用途による) |
例:
UART 通信速度 9600bps で、クロック誤差 ±3% 以内が求められる場合: 許容偏差=±3%=±30,000 ppm\text{許容偏差} = \pm 3\% = \pm 30,000\ \text{ppm}
つまり、±30,000ppm以内であれば UARTは動作可能ということになります(ただし受信側との合算で考えること)。
【STEP 4】実際の偏差をppmで計算して比較する
偏差 (ppm) の計算式は: 偏差(ppm)=∣測定値−理論値∣理論値×106\text{偏差(ppm)} = \frac{|\text{測定値} – \text{理論値}|}{\text{理論値}} \times 10^6
例:
- 理論周波数:8.000000 MHz
- 実測周波数:7.999500 MHz
∣7.999500−8.000000∣8.000000×106=62.5 ppm\frac{|7.999500 – 8.000000|}{8.000000} \times 10^6 = 62.5\ \text{ppm}
この場合、±100ppm以内が許容されているなら合格です。
🧭 まとめ
ステップ | 内容 |
---|---|
① | データシートから周波数条件・偏差条件を探す |
② | 水晶発振子の精度と実際の発振精度を比較する |
③ | 使用する周辺機能(UARTなど)の誤差許容を確認する |
④ | ppmで偏差を計算して、許容値と照合する |
📘 もしよければ、S1C17Y05F00F100 の具体的なデータシートから該当する項目を一緒に探し、表にまとめてご案内できますが、そちらもご希望ですか?
それとも具体的に「この機能でこの水晶を使う場合、何ppmまで許容されるのか?」という個別の例で確認していきますか?
発振余裕度
振動子が発振回路で安定な発振をするためには、回路の負性抵抗が、振動子の等価直列抵抗に対して充分大きい(発振 余裕度が大きい)ことが必要です。発振余裕度は振動子の等価直列抵抗の5倍以上(理想は10倍以上)を推奨致します。
発振余裕度の測定は下記の動画にて解説している。
また、励振レベルを下げるために電流制限抵抗Rdを取り付けた場合は発振余裕度を低くしてしまうので注意すること。


発振余裕度=\(\frac{|-R|}{Re+Rd}\)
負性抵抗|-R|=Re+Rv
振動子の実行抵抗値Re=\(\ R_1(1+\frac{Co}{CL})^2\)
負荷容量\(\ C_L=\frac{Cg+Cd}{Cg+Cd}+Cs\)
※Cs:ICの持つ浮遊容量(ICの2pin間の容量+ボードパターン容量)。主に4~5pF
※C0:振動子の電極間容量。厚みと電極間面積により決定
※\(\ R_1\)(ESR):等価直列抵抗であり、振動子が振動する際の損失抵抗。値が小さいほど良い。データシートに記載あり。
※Rd:電流制限抵抗。励振レベルを下げる用途で取り付けている。
※\(\ R_V:発振子に直列に接続し、回路が発振を開始するぎりぎりの抵抗値のことで、実際に測定して求めます。
Rvを最大にして発振を止めた状態から徐々に値を下げて発振を開始する時のRv値を求める。
参考:村田製作所:発振余裕度の基礎知識
参考:マクニカ:水晶振動子の回路解析2
参考:セイコーインスツル:発振回路の設計について