STM32 32.768KHz と 8MHz のクリスタル発振器の役割#
通常、いくつかの成熟した STM32 開発ボードでは、回路図の設計において、MCU に 2 つのクリスタル発振器が接続されています。1 つは低速クリスタル発振器 32.768kHz で、もう 1 つは高速クリスタル発振器 8MHZ です。以下では、それぞれの役割について説明します。
1. STM32 の回路図#
通常、いくつかの成熟した開発ボードでは、STM32 チップの回路図設計において、2 つのクリスタル発振器が使用されます。以下の図を参照してください:
クリスタルの実装時には、クリスタルのサイズが周囲の抵抗のサイズよりも大きいため、クリスタルは多くのスペースを占有します。以下の図を参照してください:
これは、非常に小型の基板を作成する際に不利です。なぜなら、基板のスペースが限られているからです。そのため、これら 2 つのクリスタルの役割、特に低速クリスタル発振器 32.768kHz の役割を理解する必要があります。これにより、適切な選択が可能になります。
2. CubeMX のクロック設定図#
STM32 の公式推奨開発ツールである CubeMX では、MCU のクロック設定図を直感的に確認することができます。図中で、チップのクロック設定状況を確認することができます。また、低速クリスタル発振器 32.768kHz と高速クリスタル発振器 8MHZ の入力も確認することができます。以下の図の左側の赤い枠をご覧ください:
2.1 低速クリスタル発振器 32.768kHz#
図からわかるように、低速クリスタル発振器 32.768kHz は LSE(低速外部クロック信号)に接続され、最終的に RTC(リアルタイムクロック)に到達します。
RTC は独立したタイマーです [1]。リアルタイムクロックの 4 文字からわかるように、RTC はシステムの現在の時刻と日付をリアルタイムに記録することができます。チップが電源を失っても RTC は動作し続けるため、RTC を使用してシステムの時刻を記録する場合、チップには追加のバックアップ電源(通常はボタン電池)が接続される必要があります [2]。
システムの時刻を記録する必要がない場合、低速クリスタル発振器 32.768kHz は省略し、基板のスペースを節約し、回路設計を簡素化します。
2.2 高速クリスタル発振器 8MHZ#
図からわかるように、高速クリスタル発振器 8MHz は HSE(高速外部クロック信号)に接続され、最終的に SYSCLK(システムクロック)に到達します。
SYSCLK はシステムクロックであり、チップ内の各モジュールの動作に必要です。高速クリスタル発振器 8MHz は、チップ内部の HSI RC クロックソースまたはチップ外部の独立クロックソースから供給されます。この記事 [3] では、チップ内部の HSI RC クロックソースをシステムクロックとして使用すると、クロックのずれが発生し、シリアルポートデバイスが使用できなくなることがわかりました。チップ内部の HSI RC クロックソースは精度が不足しているため、通常は外部の独立クロックソースを使用してシステムクロックを供給します。
STM32 基板では、外部の高速クリスタル発振器 8MHz を保持し、チップにシステムクロックを提供して正常に動作させる必要があります。
3. 参考文献#
- 【STM32】RTC 実時時計、ステップ超詳解、一文で RTC を理解する ↩︎
- [RTC 実時時計実験(低消費電力、ボタン電池供給)](https://blog.csdn.net/zhuguanlin121/article/details/121430674?ops_request_misc=&request_id=&biz_id=102&utm_term=RTC 需要供電 & utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-121430674.142^v40^control,185^v2^control&spm=1018.2226.3001.4187) ↩︎
- [STM32 HSI クロックのずれの問題](https://blog.csdn.net/Roomen0/article/details/105782637/?ops_request_misc=&request_id=&biz_id=102&utm_term=stm32 HSI 不准 & utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-105782637.142^v40^control,185^v2^control&spm=1018.2226.3001.4187) ↩︎