水晶発振器はマイクロコントローラの「鼓動する心臓」として機能し、クロック信号を同期し、すべての現在の操作のタイミングを管理します。この記事では、STM32マイクロコントローラ用の水晶を選択する際に、起動、コスト、パッケージ サイズ、許容範囲、および駆動レベルが考慮すべき重要な事項である理由について説明します。
STM32プロセッサ ファミリ
表1は、STM32プロセッサ ファミリの範囲と、それらがさまざまなアプリケーション バーティカルにどのように適合しているかを示しています。望ましいMCUファミリを選択することは、明らかに設計者が考慮しなければならない最初の選択肢です。クロック速度、内部アーキテクチャ、メモリ レベルなど、全体的な設計に影響を与える選択肢の一部は、このホワイト ペーパーの範囲外です。アーキテクチャの電力レベルは、それに続く発振器設計の重要な要素です。この段階で設計者が超低電力プロセッサを使用するという選択は、後の発振器ループの設計に大きな影響を与えます。STM32 MCUの多くは可変ドライブ レベルを提供します。これらは、STM32L0やこのカテゴリの他の製品と同様に、オンザフライでトランスコンダクタンスを(動的に)変更できるLSE発振器を設計者に提供します。STM32L1やF4などの他のMCUはドライブ レベルが固定されており、柔軟性が低い可能性があります。
表1 – STM32MCU
デザイナーがクリスタルを選ぶ際に考慮すべき全体的な点は何でしょうか?
- 水晶は設計ガイドラインを満たし、計画通りに動作するでしょうか?
- 水晶発振器はアプリケーションの電力消費ニーズを満たしますか?
- 水晶のサイズはアプリケーションのニーズに適合しますか? 十分に小さいですか? 駆動力が低いですか? AECQ200ですか?
- 水晶は設計によって設定されたコスト目標を満たすでしょうか?
SMT32 MCU水晶発振器の設計に影響を与える仕様パラメータ |
|
|
図1 – 発振器の起動 |
図1は、0Vからの典型的なVddの上昇と、発振器の閉ループ ゲインがユニティ ゲインに達するまで増加し、発振器ループが安定して共振器周波数にロックする様子を示しています。0Vから安定発振開始までの時間を起動時間と表記します。 |
|
|
|
|
|
|
|
図2 – ドライブレベルSTM32 MCUの考慮事項 |
|
|
発振器ループの用語の説明 |
|
|
図3 – 典型的なピアス発振器ループを示しており、STM32 MCU LSE水晶発振器に共通です。 |
ゲインマージンの計算
ゲインマージン計算: ゲインマージン = gm / gmcritここで、gmは専用ドライブレベルでのMCUのインバータステージのトランスコンダクタンス、gm_crit = 4 x ESR x (2πF) 2 (C0 + CL) の倍数2。これらはSTM32 AN2867に概説されています。
ECS選択ツールにはこれらの計算が組み込まれており、ユーザーはLSE発振器のニーズに合わせてKHz水晶オプションを簡単に選択できます。すべての水晶はgm_crit_maxを満たし、最小GM (ゲイン マージン) 5を達成しますが、潜在的な選択肢によってさらに高いGMが提供され、ユーザーはアプリケーションの要求を満たすためにさまざまなサイズ、CL、ESR、許容差、または定格を選択できます。
LSE発振器の外部コンデンサの計算 |
|
図3 – 外部コンデンサを示すピアス発振器ループ |
外部コンデンサは発振器ループの設計に不可欠な部分です。MCUの合計容量C1 // C2、Cs、Cin、Coutがすべて結合して合計容量になります。周波数を32.768KHzにできるだけ近づけるには、これをCrystal CLと同じにする必要があります。 CLの計算方法は次のとおりです: CL = ((Cin + C1) (C2 + Cout) + Cs) / (Cin + C1 + C2 + Cout) 式には、MCUのCinとCoutが含まれます。CinはMCUデータシートに記載されており、Coutは通常Cinの約2倍になります。 |
水晶のCLが低いほど、Cs (ボード浮遊物) がコンデンサの計算に与える影響が大きくなります。セクション4e iiiで述べたように、低CLは低駆動アプリケーションで使用できますが、低いCLの方が引き込み性が高くなります。この式を使用すると、外部コンデンサまたはボードの浮遊容量の変動によって周波数がどのように変化するかがわかります。外部コンデンサを検討する場合は、温度による静電容量の変化の影響を最小限に抑えるために、COG NPO 1% タイプを使用してください。 |
ドライブレベルの計算
ドライブ レベルは重要な考慮事項です。オーバードライブはクリスタルに長期的な損傷を与える可能性があるため、ドライブは製造元の仕様に記載されているクリスタル ドライブ定格内にする必要があります。
あまり知られていないもう1つの影響は、正弦波を過剰に駆動することで、正弦波のピークが電源レールに当たることです。これが起こると、小信号ループゲインが瞬時にゼロに低下する可能性があります。全体的な効果としては、サイクル全体の平均ゲインが1の場合に発振器の振幅が安定します。このゲイン平均化の結果、出力波形のジッタに見られるような高調波歪みが発生します。
- ドライブ レベルを計算する場合は、STM32ドライブ レベルの推奨事項から取得した方法をお勧めします。
DL=私2 QRMS × ESR、ここで私はQRMS RMS AC電流です。この電流は、低容量オシロスコープのプローブ (1 pF以下) を使用してアンプ入力の電圧振幅を測定することで計算できます。
これはuAの範囲になるため、適切な測定機器を使用する必要があります。したがって、この点でのRMS電圧は、RMS電流とI QRMS = 2πF×V RMS x Ctot、ここで:
F = 水晶振動数
VRMS = Vpp / 2√2、ここでVppはC1レベルで測定されたピークツーピーク電圧、Ctot = C1 + (Cs / 2) + Cprobe、ここで:
– C1はアンプ入力の外部負荷容量です
– Csは浮遊容量です
– Cprobeはプローブの容量です
したがって、DL = (ESR x (π x F x Ctot) 2 x (Vpp) 2) / 2
外部RS値の計算
駆動レベルが水晶製造元の推奨事項を超える場合、ECS選択ツールを使用する設計者には次の2つのオプションが提供されます。
- 実際のgm_critが低い水晶オプションを検討してください。これにより、ゲイン マージンが向上し、駆動電流が低下します。
- Rs抵抗器を追加することを検討してください。Rs抵抗器の役割は、水晶の駆動電流を制限することです。
- Rsの初期推定値は、RsとC2によって形成される電圧分割器を考慮することによって得られます。したがって、Rsの値はC2のリアクタンスに等しくなります。したがって、Rs = 1 / (2 π F C2)、
- 推定Rsを選択した後、ゲインマージンを再計算する必要がありますが、RsをESRに追加する必要があります
Gm_crit with Rs = 4 × (ESR + Rs) × (2 π F)2 × (C0 + CL)2
ゲインマージン = gm / gmcrit with Rs
ECS Inc. は、正しいkHzまたはMHz水晶の選択を容易にするSTM32水晶選択ツールを作成しました。このツールは、STM32 MCUの範囲向けに特別に設計されており、毎日更新されます。周波数制御とSTM32 MCUに関するご質問は、エンジニアリング サポート チーム ( engineering@ecsxtal.com) までお問い合わせください。