組み込み回路 09 · コンパレータ・発振回路・PLL

Chapter 09

コンパレータ・発振回路・PLL

この章がなぜ必要なのか——「比較する」「振らせる」「同期させる」は基本動作だから.

そして——オペアンプをコンパレータとして使ってはいけないという よくある誤解を、ここで解いておく。

この章で使う既出の用語(定義は各リンク先). バイアス(01 章 4 節)、ESR(02 章 2 節)、オペアンプ(05 章)、スイッチング電源(05 章)、増幅(05 章 2 節)、線形領域(05 章 2 節)、MOSFET(06 章 6 節)、制御(06 章 6 節)、大電流(06 章 6 節)、飽和(06 章 3 節)、容量性負荷(07 章 4 節)

1. コンパレータ

2 つの入力を比較して、デジタル出力を出す。

−+V+V−Vout(H / L)V+ > V− → Vout = HV+ < V− → Vout = L
コンパレータは「大小を判定して 2 値を出す」部品。オペアンプとは内部設計が別物で、相互に代用できない

オペアンプとの違い

オペアンプコンパレータ
用途負帰還をかけて線形動作飽和領域で使う(帰還なし、または正帰還)
出力段プッシュプル(線形)オープンドレイン/コレクタ、またはロジック出力
位相補償あり(安定性のため)なし(速度優先)
応答速度µs〜数十 ns数 ns〜数十 ns
入力段の耐性差動入力電圧に制限あり大きな差動入力に耐える

オペアンプをコンパレータとして使ってはいけない理由.

  1. 遅い。 位相補償のせいで、飽和からの復帰に時間がかかる(数 µs)
  2. 出力が飽和すると内部トランジスタが飽和し、回復が遅れる
  3. 差動入力電圧の定格を超えることがある(入力保護ダイオードに大電流が流れる)
  4. 出力がロジックレベルでないことがある

逆に——コンパレータをオペアンプとして使ってもいけない。 位相補償がないので、負帰還をかけると確実に発振する。

出力形式

形式特徴
オープンドレイン/コレクタプルアップ抵抗が必要。ワイヤード OR ができる。レベル変換も可能
プッシュプル(CMOS 出力)外付け不要。速い
LVDS / PECL 出力超高速。差動

ヒステリシス — 必須の技法

入力がゆっくり変化すると、閾値付近でノイズによりチャタリングする。

入力閾値出力しきい値付近でノイズが乗ると、出力が何度も切り替わる
ヒステリシスがないコンパレータの典型的な失敗。閾値を跨ぐたびに出力が暴れる

正帰還で閾値を 2 つ持たせる。

−+R1VinV_refR2Vout出力を + 入力に戻す=正帰還。閾値そのものが動く幅はノイズのピーク・ツー・ピークより広く(実務では 50〜200 mV)
ヒステリシス。出力が H になると閾値が上がり、L になると下がるので、1 回のエッジで 1 回しか切り替わらない
\[ V_{TH} = V_{ref} + (V_{OH} - V_{ref})\frac{R_1}{R_1+R_2}, \qquad V_{TL} = V_{ref} + (V_{OL} - V_{ref})\frac{R_1}{R_1+R_2} \]

ヒステリシス幅は

\[ V_{HYST} = (V_{OH} - V_{OL}) \frac{R_1}{R_1 + R_2} \]

ヒステリシスの効果を見る

ノイズ量とヒステリシス幅を変えて、出力のチャタリングを確かめられる。

ヒステリシス幅の決め方.

予想されるノイズの振幅(ピークツーピーク)より大きくする。

目安:

代償: 閾値の精度が落ちる。 ヒステリシス幅の分だけ不確定になる。

内部にヒステリシスを持つ品種もある(数 mV〜数十 mV)。 「ヒステリシス内蔵」でも、外部ノイズには足りないことが多い。

シュミットトリガ

ヒステリシスを内蔵したロジック入力。

デバイス用途
74xx14 / 74xx132シュミットトリガインバータ/NAND
MCU の GPIO多くがシュミット入力(データシートで確認)
リセット IC内部にヒステリシスを持つ

なまった波形(03 章の RC でデバウンスした信号など)は、必ずシュミット入力で受ける。

2. 発振回路

発振の条件(バルクハウゼンの条件)

+雑音増幅器 A出力帰還 β|Aβ| = 1 かつ 位相が 360°(= 0°)で発振が持続する
バルクハウゼンの条件。発振器はこれを満たすように作り、増幅器はこれを避けるように作る——回路は同じもの

持続的に発振するには:

\[ |A\beta| = 1 \qquad \angle A\beta = 0° \ (\text{または } 360°n) \]

起動時は \(|A\beta| > 1\) でなければならない.

ちょうど 1 では、ノイズから成長しない。 起動時は 1 より大きくして成長させ、 振幅が大きくなったら非線形性(飽和)で 1 に落ち着かせる。

高品質な発振器では、AGC(自動利得制御)で振幅を制御する。 飽和による歪みを避けるためである。

水晶発振回路(ピアース発振)

組み込みで最も使われる発振回路。

インバータR_fXINXOUT水晶C1C2C_L = C1·C2/(C1+C2) + C_stray が水晶の指定値に一致していること
ピアース発振回路。C1・C2 は「発振させるため」ではなく「指定の周波数で発振させるため」にある
部品役割
インバータ増幅器(180° の位相回転)
\(R_f\)(1〜10 MΩ)インバータを線形領域にバイアスする
水晶共振で周波数を決める。+180° の位相回転
\(C_1, C_2\)負荷容量。周波数の微調整

負荷容量の設計

水晶のデータシートに「負荷容量 \(C_L\)」が指定されている。

\[ C_L = \frac{C_1 C_2}{C_1 + C_2} + C_{stray} \]

\(C_{stray}\) は基板・パッケージ・ピンの浮遊容量(通常 3〜5 pF)。

\(C_1 = C_2 = C\) とすると

\[ C = 2(C_L - C_{stray}) \]

例: \(C_L = 12\) pF、\(C_{stray} = 4\) pF なら

\[ C = 2 \times (12 - 4) = 16\ \text{pF} \]

負荷容量が合っていないと、周波数がずれる.

ずれの量は数十〜数百 ppm。 UART の通信では 2 % のずれで通信不能になる(20 章)ので、 20000 ppm までは許容されるが、RTC や USB では致命的である。

用途許容誤差
UART±2 %(20000 ppm)
USB フルスピード±0.25 %(2500 ppm)
CAN±0.5 %(5000 ppm、ボーレートによる)
RTC(時計)±20 ppm(1 日 1.7 秒のずれ)
無線(BLE 等)±20〜40 ppm

発振の駆動レベル

水晶に過大な電力をかけると、劣化・破損する。

対策内容
直列抵抗 \(R_d\)XOUT と水晶の間に入れて電流を制限(100 Ω〜数 kΩ)
MCU の駆動能力設定多くの MCU がゲインを選択できる

「発振しない」トラブルの原因ランキング.

  1. 負荷容量が合っていない(\(C_1, C_2\) の値)
  2. \(R_f\) がない/値が不適切(内蔵の場合は不要)
  3. 駆動レベルが足りない(MCU のゲイン設定が低い)
  4. 配線が長い/浮遊容量が大きい
  5. 水晶の直近に GND ガードがない(ノイズを拾う)
  6. 起動時間が足りない(水晶は起動に数 ms〜数十 ms かかる)

水晶回路は、基板レイアウトに最も敏感な部分の 1 つである。

発振回路の種類

種類精度用途
水晶(XTAL)±10〜50 ppmMCU のメインクロック、通信
水晶発振器(XO/TCXO/OCXO)±0.5〜5 ppm(TCXO)、±0.01 ppm(OCXO)高精度用途
セラミック発振子±0.3〜0.5 %安価。UART 程度なら可
MEMS 発振器±20〜50 ppm耐振動性に優れる
RC 発振(内蔵)±1〜5 %(校正後 ±1 %)精度不問の用途
LC 発振中RF

MCU 内蔵の RC 発振器(HSI / HIRC など)の精度は要確認.

「工場校正済みで ±1 %」という品種が多いが、 温度を含めると ±2〜5 % になることがある。

通信を使うなら、外付けの水晶かセラミック発振子を検討すること。

マルチバイブレータ(矩形波発振)

シュミットトリガと RC だけで発振させられる。

シュミットインバータ出力RCC が 2 つの閾値の間を往復する。周期はおよそ R·C で決まる精度は悪い(±10 % 以上)。クロック用途には使えない
シュミットトリガと RC だけの緩和発振。安価だが周波数精度は期待できない
\[ f \approx \frac{1}{R C \ln\left(\frac{V_{TH}(V_{DD}-V_{TL})}{V_{TL}(V_{DD}-V_{TH})}\right)} \]

精度は低いが、部品 2 個で作れる。 タイミングが厳密でない用途に。

3. PLL(位相同期ループ)

入力の位相に、出力を同期させる。

f_ref位相比較器ループフィルタVCOf_out分周器 ÷N定常状態では f_out = N · f_ref になる
PLL。位相が揃うまで VCO を動かし続ける負帰還ループ。位相雑音は 20·log(N) だけ増える
\[ f_{out} = N \cdot f_{ref} \]
要素役割
位相比較器 (PFD)2 つの信号の位相差を検出し、誤差信号を出す
チャージポンプ誤差信号を電流に変換
ループフィルタ (LPF)平滑化。PLL の動特性を決める
VCO電圧制御発振器。制御電圧で周波数が変わる
分周器出力を \(1/N\) にして比較器に戻す

用途

用途内容
クロック逓倍MCU の内部クロック生成(8 MHz 水晶 → 168 MHz)
クロックリカバリデータ信号からクロックを再生(USB、Ethernet)
周波数シンセサイザ無線の局部発振
スキュー補正分配したクロックの遅延を補正

PLL の特性

パラメータ意味
ループ帯域追従できる速度。広いと速いがノイズを通す
ロック時間同期するまでの時間(数 µs〜数 ms)
ジッタ出力のタイミング揺らぎ
スプリアス基準周波数の漏れ

PLL のジッタは、内部の位相ノイズと基準のノイズで決まる.

| 帯域内(ループ帯域より低い周波数) | 基準クロックのノイズが支配(\(\times N\) で増幅される) |

| 帯域外 | VCO のノイズが支配 |

\(N\) 倍逓倍すると、基準の位相ノイズも \(20\log N\) dB 増える。 8 MHz → 168 MHz(\(N = 21\))なら +26 dB。

だから高速シリアル通信では、基準クロックの品質が重要になる。

MCU での PLL 設定

外部水晶 8 MHz÷M(プリスケーラ)1 MHz(PLL 入力)×N(逓倍)336 MHz(VCO)÷P÷Q168 MHz(システム)48 MHz(USB)PLL の設定は「入力周波数 → VCO 範囲 → 各分周」の順に決める。順番を間違えるとVCO が規定範囲を外れてロックしない
MCU のクロックツリー。VCO には動作範囲があるので、逓倍と分周は「VCO を範囲に収める」ように選ぶ

PLL 設定でよくある失敗.

クロック設定の順序は、MCU のリファレンスマニュアルどおりに行うこと。

4. 発振の「意図しない」発生

発振させたくないのに発振する——これが実務のトラブルである。

場所原因対策
オペアンプ容量性負荷、帰還ループが長いアイソレーション抵抗(08 章)
LDO出力容量の ESR が範囲外指定の ESR 範囲を守る(14 章)
スイッチング電源位相余裕不足補償回路の設計(15 章)
高利得アンプ入出力の結合(配線、電源経由)シールド、電源分離、レイアウト
ロジック入力の開放閾値付近で浮くプルアップ/プルダウン(19 章)
MOSFETゲートの寄生 LCゲート抵抗(05 章)

「入出力の結合による発振」は見つけにくい.

利得 1000 倍のアンプで、出力の 1/1000 が入力に戻れば発振する。 1 V の出力に対して 1 mV ——これは配線間の容量結合や、 共通インピーダンス(GND の配線抵抗)で簡単に起きる。

対策:

高利得回路のレイアウトは、回路設計と同じくらい重要である。

5. この章のまとめ

ポイント内容
コンパレータ飽和領域で使う。位相補償がなく速い
オペアンプとの相互代用どちらもやってはいけない(遅い/発振する)
ヒステリシス正帰還で閾値を 2 つ持たせる。ノイズ振幅より大きく(50〜200 mV)
シュミットトリガなまった波形は必ずこれで受ける
バルクハウゼン$`A\beta= 1`$、位相 0°。起動時は 1 より大きく
ピアース発振インバータ + 水晶 + \(C_1, C_2\) + \(R_f\)
負荷容量\(C = 2(C_L - C_{stray})\)。合わないと周波数がずれる
クロック精度UART ±2 %、USB ±0.25 %、CAN ±0.5 %、RTC ±20 ppm
内蔵 RC±1〜5 %。USB・CAN には使えない
水晶のレイアウト最短配線・GND ガード・他の信号を通さない
PLL\(f_{out} = N f_{ref}\)。基準のノイズも \(20\log N\) dB 増幅される
PLL 設定の順序VCO 範囲・入力範囲・ロック待ち・フラッシュウェイトの順序
意図しない発振容量性負荷・入出力結合・共通インピーダンス。レイアウトが効く

次章では、アナログ IC の基準となる—— 電圧リファレンスと温度センサを扱う。