STM32WB - RCC
リセットおよびクロック制御
1.0 版

STM32WB リセットおよびクロック制御のプレゼンテーションによ
うこそ。

1

概要
• リセットおよびクロック制御（RCC）の管理対象

HSE
LSE

AHB

rcc_irq
rcc_hsecss_irq
rcc_lsecss_irq

レジスタインタフェース

LSI2
HSI48
MSI
HSI
PLLSYSPLLSAI

クロック分配LSI1

プロセッサとペリフェラルへ

OSC_IN/OUT
OSC32_IN/OUT

クロックゲーティング制御

システムリセット制御

プロセッサとペリフェラルへ

RCC
NRST

2

• 全クロックの生成• CPU1、CPU2、無線サブシステム• PLL、RC 発振回路、クリスタルオシレータなど• 全クロックのゲーティング• すべてのシステムとペリフェラルのリセットの制御

アプリケーション側の利点•

消費電力と精度の要件を満たすためのクロックソース選択の
高い柔軟性

•

CPU1、CPU2、無線サブシステムに対する独立クロック制御•

安全で柔軟なリセット管理

リセットおよびクロック制御は、各種のリセットメカニズムならびに
システムおよびペリフェラルのクロックの生成を管理します。
STM32WB マイクロコントローラには、内部発振回路が 5 個、外部クリスタルまたはレゾネータ用の発振回路が 2 個、フェーズ
ロックループ（PLL）が 2 個搭載されています。
多くのペリフェラルには、システムクロックから独立した個々のカーネルクロックが備わっています。
RCC によって、クロックソース選択に高い柔軟性がもたらされ、それによってシステム設計者は、消費電力と精度の両方の要件を満たすことが可能となります。
独立したペリフェラルクロックが数多くあるため、設計者は、通信
ボーレートに影響を与えることなくシステム消費電力を調整し、さらに、低電力モードで特定のペリフェラルをアクティブに保つことが可能です。

2

リセットの主な機能

3

外部コンポーネント不要で安全かつ柔軟なリセット管理• RCC はいくつかのタイプのリセットを生成します。
••••

パワーオン・リセット（rst_por）
システムリセット（nreset）
ローカルペリフェラルリセット（peripheral_rst）
バックアップドメインリセット（rst_vsw）

外部コンポーネント不要な安全かつ柔軟なリセット管理により、ア
プリケーションのコストを削減できます。
RCC は、電源リセット、システムリセット、ローカルリセット、バッ
クアップドメインリセットといったさまざまなタイプのリセットを管理します。

3システムリセットソース（NRST）

4

内部フィルタと電源モニタリングにより外部コンポーネントが不要
システムリセットソースが外部コンポーネントをリセット可能• システムリセットソース：
•
•
•
•
•
•
•
•
•

パワーオン・リセット（rst_por）
ブラウンアウトリセット（SHUTDOWN 終了時にも使用）
NRST ピンのローレベル（外部リセット）
WWDG タイムアウトイベント
IWDG タイムアウトイベント
ソフトウェア生成リセット（SYSRESETREQ）
低電力モード(STOP、STANDBY、SHUTDOWN)セキュリティリセット（rst_lpwr）
オプションローディングリセット（rst_obl）
STANDBY の終了

電源ブロック（PWR）に含まれている電圧モニタリング機能、NRST パッドに組み込まれているフィルタ、RCC リセットコントローラにより、外部コンポーネントは、NRST ピンに接続される外付けコンデンサわずか 1 つまで削減されます。
一つ目のタイプのリセットはシステムリセットであり、リセットおよびクロック制御と電源
コントローラのいくつかのレジスタを除くすべてのレジスタがリセットされます。バック
アップドメインもリセットされません。
•
多くのソースがシステムリセットを生成可能です。
•
VDD または VFBSMPS 電源の不正電圧（詳細は PWR ブロック参照）•
ブラウンアウト機能による VDD の不正電圧
ブラウンアウト機能によって、ユーザは VDD 電源に対する個々の閾値レベルを選択可能です（詳細は PWR ブロック参照）。
•
STANDBY モードまたは SHUTDOWN モードの終了•
NRST パッドのローレベル•
独立型ウォッチドッグからのタイムアウト•
ウィンドウ型ウォッチドッグからのタイムアウト•
Cortex® M4 または Cortex M0+ のコアにより生成されたソフトウェアリセットリク
エスト•
低電力モードセキュリティリセット（STOP、STANDBY、SHUTDOWN いずれかのモードに移行した場合に生成されますが、オプションバイト設定により禁止されています）
システムリセット（スタンバイリセットにより生成された場合を除く）によって NRST パッドがアサートされ、システムリセット発生時に外部コンポーネントのリセットを可能とすることにも注意してください。
リセットソースフラグは、リセットおよびクロック制御ステータスレジスタの中にあります。

4

リセットカバー範囲

5• パワーオン・リセットによって、VDD ドメインと VCORE ドメインにあるすべてのロジッ
クがリセットされます。バックアップドメインのロジックは、影響を受けません。

• システムリセットによって、特定の RCC レジスタ、PWR レジスタ、バックアップ
ドメインを除くすべてのレジスタがリセットされます。（STANDBY モードで保持)• バックアップドメインリセットによって、バックアップドメイン RTC レジスタ、バックアップ
レジスタ、RCC_BDCR レジスタ がリセットされます。
• ペリフェラルリセットによって、関係するペリフェラルに対する RCC レジスタのPERxRST ビットがリセットされます。
• RCC にはシステムリセットソースを特定するためのフラグが備わっています。

パワーオン・リセットは、カバー範囲が最大のリセットです。
RTC と外部低速発振回路が含まれているVBAT から電源を供給されているバックアップドメインのものを除いて、パワーオン・リ
セットによって、VDD ドメインと VFBSMPS ドメインにあるすべてのロジックがリセットされます。
パワーオン・リセットによりシステムリセットもトリガされますので、パワーオン・リセット中には NRST パッドがアサートされることに注意してください。
システムリセットによって、RCC ブロックと PWR ブロックの中にあるいくつかのリソースを除いて、VDD ドメインにある大半のロジックがリセットされます。バックアップドメイン は、このリセットの影響を受けません。
バックアップドメインリセットによって、RTC と外部低速発振回路が含まれているVBAT から電源を供給されているバックアップド
メインがリセットされます。
さらに、大半のペリフェラルには、個別のローカルリセット制御
ビットがあります。

5クロックの主な機能

6

低電力、精度、性能に対するクロックソースの選択• 5 つの内部クロックソース• 高速内部 16MHz RC 発振回路（HSI）• 高精度内部 48MHz RC 発振回路（HSI48）• 低電力内部 100kHz～48MHz RC 発振回路（MSI）• 低速低電力内部 32kHz RC 発振回路（LSI1）• 低速低ドリフト内部 ～32kHz RC 発振回路（LSI2）• 2 つの外部発振回路• クロックセキュリティシステムおよびコンデンサチューニング付きで RF 性能のために最適化されている高速外部 32MHz 発振回路（HSE）• クロックセキュリティシステム付き低速外部 32.768kHz 発振回路（LSE）• それぞれ 3 本の独立出力を備えた 2 つの PLL

RCC によってクロックソースの選択対象が拡大し、低電力、精度、性能に対する要件に基づいて選択が可能です。
STM32WB マイクロコントローラには、以下に示す 5 つの内部
RC 発振回路が組み込まれています。
16MHz 動作が可能な高速内部 RC 発振回路（HSI）
100kHz から 48MHz で動作する低電力内部 RC 発振回路
（MSI）
48MHz で動作する高精度 RC 発振回路（HSI48）
低速低電力内部 32kHz RC 発振回路（LSI1）
低速低ドリフト内部 ~32kHz RC 発振回路（LSI2）
STM32WB マイクロコントローラには、外部のクリスタルまたはレゾネータとともに使用する発振回路が 2 個搭載されています。
クロックセキュリティシステム付き高速外部 32MHz 発振回路
（HSE）
クロックセキュリティシステム付き低速外部 32.768kHz 発振回路（LSE）STM32WB マイクロコントローラには、フェーズロックループも 2個搭載されており、さまざまな周波数の CPU と各種ペリフェラルにクロックを供給するための独立出力が 3 本ずつ備わっています。
6高速内部発振回路（HSI）

7

1% 精度、高速、高速復帰時間• 16MHz、工場出荷時調整済み、ユーザ調整可能• HSI を選択可能な用途• STOP モードからのウェイクアップクロック
パラメータ

値

精度（標準）

全温度範囲：± 1%

起動時間

1.2µs（最大）消費電流（標準）

150µA（標準）• クロックセキュリティシステム（CSS）用バックアップクロック

•
•
•
•
•

STANDBY モード終了時のシステムクロックとして使用
STOP モード終了時に自動で開始可能
起動時間低減のため、STOP モード中は有効に維持可能
ペリフェラルによりカーネルクロックとして使用可能
アプリケーションにて MCOと TIM17 を用いて HSE でトリミング可能

高速内部発振回路（HSI）は、1% 精度で高速復帰時間に対応した 16MHz RC 発振回路です。HSI は製造テスト時に調整が行
われていますが、ユーザによる調整も可能です。
HSI は、システム STOP からの復帰時のクロックとしても、クロッ
クセキュリティシステムによって HSＥ の障害が検出された場合のバックアップクロックとしても選択可能です。
HSI は、STANDBY モードからの復帰時のシステムクロックとして選択可能です。
HSIは、復帰時間を高速化するために、システムが STOP モードになった場合にも電源はオンのままとすることが可能であり、STOP モードのペリフェラルによりカーネルクロックとしても使用可能です。
I2C、USART/LPUART、LPTIMなどの一部のペリフェラルでは、
HSI をカーネルクロックとして選択可能です。
HSI の周波数は、MCOとキャプチャモードのTIM17 を用いて、HSE に対する調整を行うことができます。

7

低電力内部発振回路（MSI）

8

低電力、高速復帰時間

精度（標準）

全温度範囲と電源電圧
範囲：±3%• 100kHz～48MHz、工場出荷時調整済み、ユーザ調
整可能• MSI を選択可能な用途

起動時間

2.5～10µs（標準）（選択されている周波数による）• STOP モードからのウェイクアップクロック• クロックセキュリティシステム（CSS）用バックアップクロック

消費電流（標準）

0.6～155µA（標準）（選択されている周波数
による）

パラメータ

値

• リセット後のシステムクロックとして使用• USB は MSI をカーネルクロックとして選択可能• アプリケーションにて TIM17 を用いて HSE でトリミング可能低電力内部発振回路（MSI）は、3% 精度で高速復帰時間に対応した、100kHz～48MHz レンジのマルチ周波数 RC 発振回路です。 MSI は製造テスト時に調整が行われていますが、ユーザによる調整も可能です。
MSI は、システム STOP からの復帰時のクロックとして選択可能です。
MSI は、リセット後のシステムクロックとして選択されています。
USB などの一部のペリフェラルでは、MSI をカーネルクロックとして使用可能です。
MSI の周波数は、キャプチャモードで TIM17を用いて、HSE に対する調整を行うことができます。

8

48MHz 内部発振回路（HSI48）

9

USB と 真性乱数発生器 ペリフェラルカーネルクロック• 48MHz、工場出荷時調整済み、CRS によりユー
ザ調整可能
パラメータ

値

精度（標準）

全温度範囲と電源電圧範囲：
±3.5%

起動時間

6µs（標準）消費電流（標準）

380µA（標準）• CRS トリミング時 0.1% 精度• USB は HSI48 をカーネルクロックとして選択可能• 真性乱数発生器 は HSI48 をカーネルクロックとして選択可能• アプリケーションにて MCOと TIM17 を用いてHSE でトリミング

48MHz 内部発振回路（HSI48）は、3.5% の精度で高速復帰時間に対応した 48MHz RC 発振回路です。 HSI48 は製造テスト
時に調整が行われていますが、クロックリカバリシステムを用いたユーザによる調整も可能です。
HSI48 は、USB および真性乱数発生器のカーネルクロックとして選択可能です。
HSI48 の周波数は、MCOとキャプチャモードのTIM17 を用いて、HSE に対する調整を行うことができます。

9高速外部発振回路（HSE）

10

安全なクリスタルシステムクロック
• 機能

パラメータ

値

起動時間

使用クリスタルに依存

消費電流（標準）

50mA（標準）• 外部クリスタルレゾネータ（32MHz）• コンデンサトリミングバンク（外付けコンデンサ不要）• RF 性能のための低ノイズ高性能クロック• クロックセキュリティシステム（CSS）• HSE 障害の自動検出• ノンマスカブル割込みの生成• TIM1/TIM16/TIM17 に対するブレーク入力 => モータ制御などの重要なアプリケーションを安全な状態にすることが可能• バックアップクロックは HSI または MSI => クリスタルの障害の場合もアプリケーションソフトウェアは停止しない• 無線システムによる自動管理

高速外部発振回路（HSE）により、安全なクリスタルシステムク
ロックが得られます。
HSEは、32MHz 外部クリスタルレゾネータに対応しています。
周波数は、オンチップコンデンサのトリミングを用いることで、必要な数 1/10ppm までチューニング可能です。バイアスと電流制御のチューニングも可能です。
クロックセキュリティシステムにより、HSE の障害が自動的に検出可能です。ノンマスカブル割込みが生成された場合、モータ制
御などの重要なアプリケーションを安全状態とするために、ブレーク入力をタイマに送信可能です。HSE 障害が検出された場
合、システムクロックは HSI または MSI に自動的に切り換わりますので、クリスタルの障害の場合もアプリケーションソフトウェ
アは停止しません。
無線が有効となっている場合には、高速外部発振回路の使用は必須です。高速外部発振回路は、無線アクティビティに合わせて自動的に管理されます。

10

低速内部発振回路（LSI）

11

内部 32kHz クロック
• LSIは以下から選択可能• 超低電力 LSI1（SHUTDOWN および VBAT を除くすべてのモードで使用可能）•

RTC、LCD、LPTIM、IWDG で使用可能（無線システムのためには使用不可）• 低ドリフト LSI2（SHUTDOWN および VBAT を除くすべてのモードで使用可能）•

無線システム、RTC、LCD、LPTIM、IWDG で使用可能•

無線が使用される場合には必ず使用（LSE が使用されていない場合）• アプリケーションにて TIM16 を用いて HSE でトリミング
LSI1 32kHz
初期：±1.6%精度（標準）

全温度範囲：±1.5%
全 VDD 範囲：+0.1 / -0.2%

消費電流（標準）110nA

LSI2 32kHz
初期：22～44kHz
全温度範囲と電源範囲：125ppm/˚C
500nA

STM32WB マイクロコントローラには、2 つの LSI 発振回路が搭載されています。超低電力 32kHz RC 発振回路は LSI1 で、低ドリフト 33kHz RC 発振回路は LSI2 です。両方とも、
SHUTDOWN および VBAT を除くすべてのモードで使用可能です。2 つの低周波 RC 発振回路のうち 1 つを内部LSIクロックとして選択可能です。
LSI は、RTC、LCD、低電力タイマ、独立型ウォッチドッグにクロックを供給するために使用できます。無線システムでの使用に選択可能できるのはLSI2 のみです。
LSI1 の精度は、± 1.6%であり、温度範囲全体にわたってプラス 1.5%、電圧範囲全体にわたってプラス 0.2% となります。
LSI1の消費電流は、標準で 110nA です。
LSI2 の初期周波数は 22～44kHz ですが、その安定性は、温度と電圧の範囲全体にわたって 1˚C あたり 125ppm となります。
LSI2 の消費電流は、標準で 500nA です。
LSI の周波数は、キャプチャモードで TIM16 を用いて、HSE に対する調整を行うことができます。

11

低速外部発振回路（LSE）

12

低電力と高駆動能力に設定可能な 32.768kHz
すべての電源モードと VBAT モードで使用可能• LSE は、外付けクオーツもしくはレゾネータ、またはバイパスモードの外部クロック
ソースで使用可能• LSE に対するクロックセキュリティシステム：VBAT を除くすべてのモードで使用可能• LSEは、無線システム、RTC、LCD、LPTIM、USART、LPUARTで使用可能 （BLE
マスタアプリケーションでは必須）
最大限界ゲイン gm（µA/V）

消費電流（nA）

超低電力

0.5

250

中～低駆動能力0.75

315

中～高駆動能力

1.7

500

高駆動能力

2.7

630

モード

32.768kHz 低速外部発振回路（LSE）は、外付けクオーツもしくはレゾネータ、またはバイパスモードの外部クロックソースで使用可能です。発振回路の駆動能力はプログラム可能です。消費電流がわずか 250nA の超低電力モードから高駆動能力モードまで 4 モードが使用可能です。
クロックセキュリティシステムは、LSE 発振回路の障害をモニタしています。障害が生じた場合には、アプリケーションは、RTC ク
ロックから選択された LSI クロックに切換え可能です。
クロックセキュリティシステム は、VBAT を除くすべてのモードで機能します。リセット中も機能します。
LSE は、無線システム、RTC、LCD、低電力タイマ、USART、低電力 UART ペリフェラルにクロックを供給するために使用できます。

12

クロックツリー13• システムクロック選択のための動的ス
イッチ• システムクロックソース：• HSI（STANDBY モード終了後のデフォルト）
MSI（リセット後のデフォルト）• HSE（無線システムでも使用）• PLL（PLLRCLK）• 動的周波数分周器により周波数調整が容易• Cortex®-M4 コア（HCLK）• Cortex-M0+ 無線システム（HCLK2）• Flash メモリ（HCLKS）

システムクロックは、HSI、MSI、HSE、または PLLシステムの
PLLRCLK 出力から生成されます。
システムクロックの選択に用いられるスイッチは動的であり、アプ
リケーション性能のニーズに従って動作中に周波数を変更できます。
Cortex-M4 コア、Cortex-M0+ 無線システム、Flash メモリ には独立したクロック分周器が備わっており、それぞれが異なる周波数で動作可能です。Cortex-M4 コアと Cortex-M0+ コアに選択された最高の周波数と少なくとも同じ速度で、共有されている
HCLK で Flash メモリを動作させることをお勧めします。
さらに、図に示されているプリスケーラはすべて動的ですので、動作中の変更が可能であり、周波数スケーリング操作は非常に単純なものとなります。

13

クロック周波数と電圧のスケーリング

14低い周波数に対する電力最適化• 低い周波数で動作する場合には、動作レンジを変更することで更なる電力の低減が可能です。
• レンジ1• Cortex-M4 最高周波数 = 64MHz• Cortex-M0+ 最高周波数 = 32MHz• PLL VCO 最高周波数 = 344MHz• MSI 最高周波数 = 48MHz• レンジ2• Cortex-M4 最高周波数 = 16MHz• Cortex-M0+ 最高周波数 = 16MHz• PLL VCO 最高周波数 = 128MHz• MSI 最高周波数 = 24MHz• LPRUN• Cortex-M4 最高周波数 = 2MHz
• Cortex-M0+ 最高周波数 = 2MHz
• PLL 無効RF 動作には不適• MSI 最高周波数 = 2MHz

• BLE 動作には HCLK2 が少なくとも 16MHz である必要があります。

低い周波数での消費電力を最適化するには、動作レンジを変更することも、低電力 RUN モード を選択することも可能です。
レンジ 1 では、Cortex-M4 のクロック（HCLK）と共有バスのクロック（HCLKS）は 64MHz を超えないものとし、Cortex-M0+ のクロックは 32MHz を超えてはなりません。
レンジ 2 では、Cortex-M4 のクロック（HCLK）と共有バスのクロック（HCLKS）と Cortex-M0+ は 16MHz を超えてはなりません。
低電力 RUN モードでは、Cortex-M4 のクロック（HCLK）と共有
バスのクロック（HCLKS）と Cortex-M0+ は 2MHz を超えてはな
りません。
BLE 動作には、最低 16MHz の HCLK2 クロック周波数が必要であり、低電力 RUN モードは使用できません。

14

PLL

15

広い入力範囲、高精度の出力周波数• 2 つの整数分周 PLL：

• PLL クロック：• PLLSYS• SAI 用出力オプション 1 本• USB 用出力オプション 1 本• システムクロック専用出力 1 本• PLLSAI• SAI と A/D コンバータ 用出力オプション 1 本• A/D コンバータ 用出力オプション 1 本• USB 用出力オプション 1 本• プリデバイダを備えた単一固有ソース HSE、
HSI、MSI• 広い入力周波数範囲• 4～16MHz• 広い VCO 出力周波数範囲• レンジ 2 では 64～128MHz• レンジ 1 では 64～344MHz• PLL あたり 2 出力（R と Q）
• ポストデバイダ範囲 2～8MHz• PLL あたり 1 出力（P）• ポストデバイダ範囲 2～32MHz

STM32WB マイクロコントローラに搭載されている PLL によって、システムクロックとペリフェラルクロックに必要な周波数の生成に柔軟性の高い方法が使えます。
4～16MHz の広い入力周波数範囲に対応しています。PLL は同一クロックソースである HSE、HSI または MSI を共有しており、これらはプリデバイドが可能です。
PLL VCO は 64MHz から、レンジ 1 では 344MHz まで、レンジ
2 では 128MHz までの広い周波数範囲に対応しています。
どちらの PLL も、すべて PLL VCO 周波数からポストデバイダを介して得られる 3 種類の異なる周波数を出力します（/P、/Q、/R）。
PLLSYS は、システムクロックと、SAI および USB のカーネルク
ロックを生成します。
PLLSAI は、SAI、A/D コンバータ、USB の各ペリフェラルのためのカーネルクロック生成専用です。

15

クロック出力16• 2 本のクロック出力：• MCO は RUN モードと STOP モードで使用可能• HSI、MSI、HSE、HSI48、PLLSYSCLK、SYSCLK、LSI1、LSI2、LSE• LSCO は RUN、STOP、STANDBY の各モードで使用可能• LSI（LSI1 もしくは LSI2）または LSE
HSI
MSI
HSE
HSI48
PLLSYSCLKSYSCLK
LSI1
LSI2
LSE

LSI1
MCO（PA8）LSI2

LSI
LSCO（PA2）

LSE

マルチクロック出力は、RUN モードと STOP モード時に GPIO
ピン PA8 で使用可能であり、各種高速クロックと低速クロックを選択できます。
低速クロック出力は、RUN、STOP、STANDBY の各モード時にGPIO ピン PA2 で使用可能であり、各種低速クロックを選択できます。

16

ペリフェラルカーネルクロック

17

ペリフェラルインタフェースクロックは、ペリフェラルバスクロックから独立• 一部のペリフェラルは、独立したインタフェースカーネルクロックを特徴としています。
• USB、真性乱数発生器、SAI、A/D コンバータ、I2C、USART、LPUART、LPTIM• バスクロックによりペリフェラルレジスタへのアクセスが可能です。
• カーネルクロックは、インタフェース機能の処理に使用されます。

• バスクロックとカーネルクロックは、どちらも RCC ペリフェラルクロックイネーブルビット xxxEN とxxxSMEN でゲートされます。
xxxEN

xxxSMEN

0

x

停止

1

0

RUN モードでアクティブ、SLEEP、STOP モードで停止

1

1

バスクロックRUN、SLEEP モードでアクティブ、
STOP モードで停止

カーネルクロック

RUN、SLEEP、STOP モードでアクティブ• 一部のペリフェラルは、STOP モードにおいてそのカーネルクロックで動作可能です。
• I2C、LCD、USART、LPUSART、LPTIM• カーネルクロックにHSI、LSI、LSE を選択時

一部のペリフェラルでは、プロセッサバスインタフェースのクロックと、
特定のペリフェラルインタフェース機能のクロックが分離されています。
バスクロックはペリフェラルレジスタへのアクセスに用いられ、カーネ
ルクロックは特定のペリフェラルインタフェース機能に用いられます。
バスクロックとカーネルクロックが分離されていることにより、アプリ
ケーションは、ペリフェラルの動作に影響を与えることなく、相互接続とプロセッサ動作周波数の変更が可能です。たとえば、USART カー
ネルクロックを用いてシリアルインタフェース通信のボーレートを、バスクロックを用いてレジスタインタフェース用のクロックを生成できます。
ペリフェラルバスクロックとカーネルクロックの両方の有効化は、リ
セットおよびクロック制御のペリフェラルイネーブルビットと SLEEP
モードイネーブルビットによって制御されます。両方のビットが 1 にセットされていると、ペリフェラルは SLEEP モードでの動作およびデータ転送が可能です。HSI、LSI、LSE がカーネルクロックとして選択された場合、ペリフェラルを動作してシステムを STOP モードから復帰可能です。STOP モードでは、ペリフェラルは、バスマトリックス
上でメモリなどへのデータ転送を行えません。詳細については、特定ペリフェラルのトレーニング用スライドを参照してください。
USART と I2C1 は、STOP 0 モード と STOP 1 モードでのみ使用で
きます。

17

クロックゲーティング（1）18• CPU、バスマトリックス、ペリフェラルクロックは、次の条件に従ってゲートされます。
• CPU 動作モード（CRun、CSleep、CStop）• CPU あたりのペリフェラル割当て• CPU あたりのペリフェラル SLEEP モードイネーブル• RCC_busENR.xxxEN と RCC_C2busENR.xxxEN ビット：• CPU に対するペリフェラルの割当てに使用• ペリフェラル動作モードは、割り当てられた CPU のモードに追従• ペリフェラルは、両CPU に同時に割当て可能• RCC_busSMENR.xxxEN と RCC_C2busSMENR.xxxEN ビット：• CPU が CSleep モードの場合に、ペリフェラルの動作を維持するために使用

CPU、バスマトリックス、ペリフェラルクロックは、CPU動作モード、
ペリフェラル割当て、ペリフェラル SLEEP モードイネーブルビット
に従ってゲートされます。CPU に属するリセットおよびクロック制
御のペリフェラルイネーブルビットがセットされたときに、ペリフェ
ラル は CPU に割り当てられます。CPU が CRun モードにある
場合には、ペリフェラルおよび関連するバスマトリックスにクロッ
クが必ず供給されます。 ペリフェラルへのアクセスの前には、CPU で有効化する必要があります。あるペリフェラルに両方のCPU がアクセスする必要がある場合、CPU に属するリセットおよびクロック制御のペリフェラルイネーブルビットをそれぞれ有効化する必要があります。

18

クロックゲーティング（2）

19

• CPU
• CPU が CRun モードにある場合にクロック供給• CPU が CSleep モードまたは CStop モードの場合に停止• ペリフェラル
• CRun モードの CPU に割り当てられた場合にクロック供給• CSleep モードの CPU への割当て、および SLEEP モードでの動作が有効化されている場合にクロック供給• 割り当てられていない場合と、割り当てられた CPU が CStop モードである場合に停止• 割り当てられているが SLEEP モード動作に対して有効化されておらず、CPU が CSleep である場
合に停止

• バスマトリックス• CPU またはバスマトリックス上のペリフェラルにクロック供給されている場合にクロック供給• CPU とバスマトリックス上のすべてのペリフェラルが停止した場合に停止

CPU は、CRun モードである場合のみクロック供給されます。
CPU が CRun であるか、ペリフェラルの SLEEP モード動作が有効化されているときに CPU が CSleep である場合、割り当てられたペリフェラルのみにクロックが供給されます。
CPU またはバスマトリックス上のペリフェラルにクロックが供給されている場合、バスマトリックスにクロックが供給されます。

19

ペリフェラルの割当て

20

最適化された低電力クロック• システムペリフェラル：

CPU1 バスマトリックス

CPU1
SRAM1
QUADSPI

PER1.1

CPU2

PER1.2

CPU2

無線システム
無線バスマトリックス

CPU1

PER1.3
PER1.N• CPU1 ペリフェラル：
802.15.4

BLE• 割当て済みペリフェラル：

CPU1

CPU2

AES2

RNG

• 無線ペリフェラル：
PKA

IPCC

HSEM

FLASH

SRAM2

AIEC

RCC

PWR

• SRAM1 と Quad SPI• CPU1 で割当て
• CPU2 では割当て不可• Flash メモリ、HSEM、IPCC、PKA、
RNG、AES2、PERn.m• CPU1 と CPU2 に割当て必要

共有バスマトリックス

共有• PWR、RCC、AIEC、SRAM2• 両方の CPU でアクティブ• BLE• IEEE 802.15.4• CPU2 によってのみ割当て可能• 必要なCPU、バスマトリックス、ペリフェラ
ルクロックのみアクティブ

リセットおよびクロック制御にはレジスタが 2 セット備わっており、それぞれのプロセッサがペリフェラルの割当て（有効化）可能であることに注意することが重要です。 ペリフェラ
ルおよび関連するバスマトリックスは、CPU によって割り当てられてその CPU がCRun モードにある場合か、このペリフェラルに対する CPU ペリフェラル SLEEP モード
イネーブルビットもセットされていて、CSleep モードである場合にのみクロックが供給されます。
ペリフェラルの機能によっては、ペリフェラルの動きが異なる場合もあります。
システムの動作に必要なペリフェラルにはイネーブルビットが存在せず、常時、両方のCPU に割り当てられています。
SRAM1 と Quad SPI は CPU1 専用であり、CPU2 により割り当てることはできません。
無線ペリフェラルは、CPU2 によってのみ割当て可能です。
それ以外のすべてのペリフェラルは、どちらの CPU でも割当て可能です。
ペリフェラルへのアクセスの前には、CPU が割り当てる必要があります。 あるペリフェ
ラルが両方の CPU によって共有されている場合には、両方のプロセッサによって割り当てられる必要があります。ペリフェラルアクセス競合の回避は、アプリケーションで対応する必要があります。ハードウェアセマフォが存在し、共有ペリフェラルのアクセス管理に役立ちます。
ペリフェラルの割当てによって、CPU サブシステムの動的設定が可能となり、クロックが供給されている CPU のみにペリフェラルを使用させることができます。CPU、この CPUによって割り当てられたペリフェラル、関連するバスマトリックスは、リセットおよびクロッ
ク制御からは CPU サブシステムと見なされます。簡単な例としては、CPU1 が RUN
モードでアクティブな場合、共有バスマトリックスと CPU1 バスマトリックスを含めて、システムペリフェラル、CPU1 ペリフェラル、あらゆる割り当てられたペリフェラルも同様に動作します。
無線システムには、BLE モジュールと IEEE 802.15.4 RF モジュール、システムペリフェ
ラル、ならびに、共有バスマトリックスと無線バスマトリックスの両方から構成される固有のサブシステムがあります。これにより、無線システムが SRAM2 にデータを転送することが可能となります。

20

動作状態

• サブシステムの状態

21• CRun モードまたは CSleep モードでは、そのバスマトリックスとペリフェラルにクロックが供給されます。
• CStop モードでは、そのバスマトリックスとペリフェラルバスクロックが停止します。

• システムの状態• 少なくとも 1 つのサブシステムが CRun モードまたは CSleep モードである場合に RUN モードとなります。
• すべてのサブシステムが CStop モードである場合に、STOP、STANDBY、SHUTDOWN いず
れかのモードとなります。
システムの状態

Cortex-M4
サブシステム（CPU1）

Cortex-M0+
サブシステム（CPU2）

無線システムサブシステムRUN*

CRun/CSleep/CStop

CRun/CSleep/CStop

CRun/CStop

CStop

CStop

CStop

STOP
STANDBY
SHUTDOWN* 少なくとも 1 つのサブシステムが CRun モードまたは CSleep モードにあるものとします。

次の表に、システムの状態とサブシステムの状態を簡単にまとめたものを示します。
• 1 つのサブシステムが CRun モードまたは CSleep モードにある場合、そのバスマトリックスにはクロックが供給されます。
• 1 つのサブシステムが CStop モードにある場合、そのバスマ
トリックスクロックは停止します。
• すべてのサブシステムが CStop モードである場合のみ、シ
ステムは、STOP、STANDBY、SHUTDOWN のいずれかのモードとなります。
システム状態の詳細については、電源コントローラ（PWR）のト
レーニングスライドを参照してください。

21

無線システムクロック

22

自動無線動作• 無線システムは、CPU をウェイクアップする必要なしに自動的に動作可能です。
• HSI クロックソースと HSE クロックソースを直接管理します。

• 無線システムに必要なクロックは、自動的に有効となります。
• 共有バスマトリックスクロック• STOP モードか STANDBY モード からの復帰では、sysclk として HSI クロックが選択されます（STOPWUCK は HSI を選択する必要があります）。
• システムがすでに RUN モードである場合には、現在アクティブな sysclk を使用します。

• 無線システムクロック• 初期化フェーズの間は、HSI クロックを使用します（STOPWUCK は HSI を選択する必要があります）。
• 無線でデータを転送する前に、HSE クロックに切り換えます。

無線システムは、STOP モードと STANDBY モードから自発的に復帰可能であり、SRAM2 にデータを転送します。共有バスマ
トリックスクロックは、CPU がアクティブであるためすでにシステムが RUN モードである場合には現在動作中の sysclk を使用し、そうでない場合には HSI クロックを使用します。無線システム用のクロックは、無線システム自体によって自動的に有効となります。HSI は無線の起動に使用され、HSE は無線の 送信通信と受信 通信に使用されます。リセットおよびクロック制御のレジスタのSTOPWakeUpClocK ビットでは、ウェイクアップクロックソース
として HSI を選択する必要があります。

22

SMPS クロック23

• SMPS クロックのソースは、HSI、MSI、HSE から選択可能です。
• MSI が選択された場合、16 、24、32、48MHz の周波数を選択する必要があります。

• 無線システムがアクティブである場合、自動的に HSE クロックは SMPS により強制使用されます。
• SMPS によって用いられる実際の切換周波数は、8MHz または 4MHz から選択が可能です。（SMPSSEL と SMPSDIV）• 周波数を高くすると電源ノイズが減少しますが、消費電流は大きくなります。
• 周波数を低くすると電源ノイズが増加しますが、消費電流は小さくなります。

SMPS には SMPS モードで動作するクロックが必要です。バイ
パス モードでは、CPU クロックは必要ありません。使用するクロックと SMPS モードの周波数は、リセットおよびクロック制御のレジスタビットの SMPSSEL と SMPSDIV を用いて HSI、MSI、
HSE の中から選択できます。SMPS クロックは、8MHz から
2MHz の間で選択する必要がありますが、ここで、クロック周波数を高くすると電源ノイズが最小となり、周波数を低くすると消費電流が小さくなります。
無線システムがアクティブである場合、SMPSがキャリアと同期するように、HSEが強制的に SMPS クロックとなります。

23

復帰と起動24• CPU およびシステムの電源 ON ならびにシステムリセット起動時：• MSI はシステムクロックとして選択されます。それ以外のクロックと PLL は無効となります。

• STOP モードからの CPU およびシステムの復帰時：• HSI または MSI をシステムクロックとして選択可能です（STOPWUCK）。それ以外のクロックと PLL は無効となります。
• SMPS モードまたは無線システムが有効となっている場合には、HSI を選択する必要があります。

• STOP の間は、ペリフェラルカーネルクロックとして使用可能できるように、HSI をアクティブに維持しても構いません。（HSIKERON）• SMPS モードが有効化された STOP 0 モードでは、HSI はアクティブに維持し、SMPS クロックとして選択する必要があります。

• STANDBY モードからの CPU およびシステムの復帰時：• HSI はシステムクロックとして選択されます。それ以外のクロックと PLL は無効となります。

• システムが RUN モードにある CStop モードからの CPU 復帰時：
• CPU クロックは、CStop モードへの移行時と同じです。

システムが再起動すると、クロックシステムはリセットされ、システムの起動に用いられた高速クロックを除く、高速クロックと PLL は無効となります。
すでに有効化されていれば、LSI と LSE は動作を維持します。
電源 ON とシステムリセットの後は、MSI クロックがシステムクロックとして有効化されます。
STOP モードからの復帰では、リセットおよびクロック制御のレジスタビット
STOPWUCK を用いて、システムクロックを MSI または HSI から選択可能です。SMPS モードまたは無線システムが有効となっている場合には、
HSI を選択する必要があります。STOP モードでは、ペリフェラルカーネル
クロックとして使用できるように、HSI クロックをアクティブに維持しても構いません。STOP 0 モードで SMPS モードを使用する場合、HSI クロックはアクティブに維持し、SMPS クロックとして選択する必要があります。
STANDBY モードからの復帰時には、HSI クロックがシステムクロックとして有効化されます。
システムが RUN モードである間に CPU がCStop モードから復帰する場
合、クロック設定は維持され、CPU は CStop モードに移行時と同じクロックで復帰します。
システムウェイクアップモードは、電源制御の STOP フラグと STANDBY
フラグから読み出し可能です。詳細については、電源制御のトレーニング
用スライドを参照してください。
CPU の CSleep モードはクロック設定に影響を及ぼしませんが、CPU サ
ブシステムクロックゲーティングにのみ影響を与えます。
24

割込み
割込みイベントタイプ

説明

HSE クロックセキュリティシステムNMI

HSE 発振回路で障害が検出されたときにセット

LSE クロックセキュリティシステム

IRQ

LSE 発振回路で障害が検出されたときにセット

PLL レディ割込みフラグ

IRQ

PLL ロックに起因するクロックレディ

PLLSAI レディ割込みフラグ

IRQ

PLLSAI ロックに起因するクロックレディ

HSE レディIRQ

HSE 発振回路に起因するクロックレディ

HSI レディIRQ

HSI 発振回路に起因するクロックレディ

MSI レディIRQ

MSI 発振回路に起因するクロックレディ

HSI48 レディIRQ

HSI48 発振回路に起因するクロックレディ

LSE レディIRQ

LSE 発振回路に起因するクロックレディ

LSI1 レディIRQ

LSI1 発振回路に起因するクロックレディ

LSI2 レディIRQ

LSI2 発振回路に起因するクロックレディ

このスライドには、リセットおよびクロック制御の割込みがリストアップされています。HSE と LSE のクロックセキュリティシステ
ム、PLL、7 本すべての発振回路レディ信号は、割り込みを生成
可能です。

25

関連ペリフェラル

26• 必要に応じて、このペリフェラルに関連する以下のトレーニングを参照してください。
• 電源制御（PWR）• 非同期割込み／イベントコントローラ（AIEC）

このトレーニングに加えて、電源制御と割込みコントローラのトレーニングが役に立つと思います。

26