JAJA723A november 2022 – march 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346
MSPM0 MCU には 5 つのメイン動作モード (電力モード) があり、アプリケーションの要件に基づいてデバイスの消費電力を最適化できます。消費電力を低減するためのモードは次のとおりです。RUN、SLEEP、STOP、STANDBY、SHUTDOWN。CPU は RUN モードではコードをアクティブに実行しています。ペリフェラル割り込みイベントにより、デバイスを SLEEP、STOP、または STANDBY モードから RUN モードにウェークアップできます。SHUTDOWN モードでは、内部コア・レギュレータが完全にディセーブルされ、消費電力が最小化されます。また、NRST、SWD、または特定の IO での論理レベルの一致によってのみウェークアップが可能です。RUN、SLEEP、STOP、STANDBY の各モードには、複数の構成可能なポリシー・オプション (例:RUN.x) も含まれており、性能と消費電力のバランスを確保できます。
性能と消費電力のバランスをさらに高めるために、MSPM0 デバイスには次の 2 つの電力ドメインが実装されています。PD1 (CPU、メモリ、高性能ペリフェラル用) と PD0 (低速、低消費電力ペリフェラル用)。PD1 は、RUN モードと SLEEP モードで常に電源が供給されますが、他のすべてのモードではディスエーブルになります。PD0 は、RUN、SLEEP、STOP、STANDBY の各モードで常に電源が供給されます。SHUTDOWN モードでは、PD1 と PD0 の両方がディスエーブルになります。
STM32G0 デバイスは、同様の動作モードを備えています。次の表に、STM32G0 デバイスと MSPM0 デバイスの簡単な比較を示します。
STM32G0 | MSPM0 | ||||
---|---|---|---|---|---|
モード | 概要 | モード | 概要 | ||
実行 | フル・クロックとペリフェラルを利用可能 | 実行 | 0 | フル・クロックとペリフェラルを利用可能 | |
LP RUN | 2MHz に制限された CPU | 1 | SYSOSC は設定された周波数、CPUCLK および MCLK は 32kHz に制限 | ||
2 | SYSOSC はディスエーブル、CPUCLK および MCLK は 32kHz に制限 | ||||
スリープ | CPU にクロックが供給されない | スリープ | 0 | CPU にクロックが供給されない | |
LP スリープ | LP RUN と同じだが、CPU にクロックが供給されない | 1 | Run1 と同じだが、CPU にクロックが供給されない | ||
2 | Run2 と同じだが、CPU にクロックが供給されない | ||||
ストップ | 0 | VCORE ドメイン・クロックがディスエーブル | ストップ | 0 | スリープ 0 + PD1 はディスエーブル |
1 | スリープ 1 + SYSOSC ギアが 4MHz にシフト | ||||
1 | ストップ 0 + メイン電源レギュレータをオフ | 2 | スリープ 2 + 32kHz に制限された ULPCLK | ||
スタンバイ | BOR 機能付きで最小の消費電力、RTC 利用可能、レジスタ設定は消失。 | スタンバイ | 0 | BOR 機能付きで最小の消費電力、すべての PD0 ペリフェラルは 32kHz で ULPCLK と LFCLK を受信、RTC は RTCCLK で使用可能 | |
1 | 32kHz で ULPCLK または LFCLK を受信できるのは、TIMG0 および TIMG1 のみ、RTC は RTCCLK で使用可能 | ||||
シャットダウン | クロックまたは BOR なし。コア・レギュレーション・オフ。RTC ドメインは引き続きアクティブ可能。終了するとリセットがトリガされる。 | シャットダウン | クロック、BOR、または RTC なし。コア・レギュレーション・オフ。PD1 および PD0 はディスエーブル。終了するとリセット・レベル BOR がトリガされる。 |
表 3-9に示すように、MSPM0 のペリフェラル・モードは、低消費電力動作モードにおいては、利用可能な機能または動作速度を制限できます。具体的な詳細については、MSPM0 デバイス固有のデータシートに掲載されている「動作モードでサポートされる機能」の表を参照してください。例:
MSPM0G350x ミックスド・シグナル・マイクロコントローラ・データシート
MSPM0L134x、MSPM0L130x ミックスド・シグナル・マイクロコントローラ・データシート
MSPM0 デバイスの追加機能は、一部のペリフェラルが非同期高速クロック要求を実行できることです。これにより、MSPM0 デバイスを、ペリフェラルがアクティブでない低消費電力モードに移行しつつ、ペリフェラルをトリガまたはアクティブにすることもできます。非同期高速クロック要求が発生した場合、MSPM0 デバイスは内部発振器を高速にすばやく立ち上げたり、一時的に高い動作モードに移行して差し迫った動作を処理したりすることができます。これにより、最小消費電力モードでのスリープ中に、タイマ、コンパレータ、GPIO、および RTC からの CPU の高速ウェークアップ、SPI、UART、I2C の受信、または DMA 転送と ADC 変換のトリガを行うことができます。非同期クロック要求の実装とペリフェラルのサポートおよび目的の具体的な詳細については、MSPM0 TRM の該当する章を参照してください。
STM32G0 デバイスと同様に、MSPM0 デバイスは、イベントの待機、__WFE();、または割り込みの待機、__WFI();、の命令を実行するときに、低消費電力モードに移行します。低消費電力モードは、現在の電力ポリシー設定によって決定されます。デバイスの電力ポリシーは、ドライバ・ライブラリ関数によって設定されます。次の関数呼び出しは、電力ポリシーをスタンバイ 0 に設定します。
DL_SYSCTL_setPowerPolicySTANDBY0();
STANDBY0 は、任意の動作モードに置き換えることができます。電源ポリシーを管理する driverlib API の全リストについては、『MSPM0 SDK API ガイド』の該当するセクションを参照してください。また、さまざまな動作モードの開始方法を示す以下のサンプル・コードも参照してください。すべての MSPM0 デバイスで、同様のサンプルを利用できます。
SDK のインストール先に移動し、低消費電力モードのサンプル・コードを「examples > nortos > LP name > driverlib」から検索します