STM32U5
ULPMark-PeripheralProfile
および LPBAM ユースケースの使用
Rev 1.0

こんにちは。このプレゼンテーションでは、ディープスリープ時の共通ペリフェラルのエネルギー影響を測定し、STM32U5 の低電力バックグラウンド自律モード（または LPBAM）が提供する利点を示
す ULPMark-PeripheralProfile について説明します。

1

ULPMark の概要• 超低電力（ULP）は、マイクロコントローラ設計の主要な課題• ST は創造的な設計技術を用いて消費電力を低減する• EEMBC ULPMark は、マイクロコントローラのエネルギー効率を複数の側面から測定することで、これらのトレードオフを定量化し、さまざまな参照設計を比較する• 各マイクロコントローラベンダは、最新設計のスコアを宣伝可能• ST では、すべての STM32 ファミリのスコアを測定、認定、および発表する• 開発者は、典型的な電力効率のユースケースについて、データシートの数値ではなく、これらのスコアにますます頼るようになっている

2

超低電力（または ULP）は、今日マイクロコントローラが直面している設計の主要な課題です。これは、多くのシステム、特に IOT ドメインがバッテリで駆動するためです。
ST マイクロエレクトロニクスは、創造的な設計技術を用いて消費電力を低減します。
STM32U5 シリーズは、スマートアプリケーションで最も厳しい電力/性能要件を満たす高度な省電力マイクロコントローラを提供します。
エンベデッド・マイクロプロセッサ・ベンチマーク・コンソーシアム（EEMBC）は、自動運転、モバイルイメージング、モノのインターネット、モバイルデバイス、およびその他の多くのアプリケーションで使用されるハードウェアとソフトウェアの業界標準ベンチマークを開発しています。
ULP 分科会は電力とエネルギーを専門に扱っています。
認定されたスコアは、EEMBC 認証ラボによる厳密な分析を受けています。認定はメンバーのみが利用できる利点であり、スコアがそのベンチマークの公式実行ルールに準拠していることを保証します。
ST は、すべての STM32 ファミリのスコアを測定、認定、および公表しています。
ULP マークスコアはマイクロコントローラの性能の公平な比較方法であるため、開発者はデータシートに記載されている指標ではなく、これらのスコアにますます依存するようになっています。

2

EEMBC の標準化されたベンチマークフレームワーク• EEMBC のさまざまな標準化された ULP アルゴリズム：• ULPMark-CoreProfile：最も基本的かつ最も一般的• ULPMark-PeripheralProfile• ULPMark-CoreMark• 最新の公表値• 性能とエネルギーのスコアを組み合わせる• ULPMark-MachineLearning

3

2014 年、ULP チームは ULPMark-CoreProfile（または、略して CP）を発表しました。このベンチマークは、アクティブな負荷を一定時間実行し、その後スリープ状態になります。デューティサイクル中のエネルギー測定には、単純なスリープカウントを超える組み込まれた低電力の実際のテストが反映されています。
2016 年に発売された ULPMark-PeripheralProfile（または、略して-PP）は、リアルタイムクロック、パルス幅変調、アナログ/デジタル変換、SPI 通信の 4 つのペリフェラルのエネルギーコストを調査します。
2019 年に発売された ULPMark-CoreMark（または、略してULPMark-CM）は、一貫した環境で CoreMark のエネルギーを測定します。これは EEMBC にとって初めてのアクティブな電力ベンチマークです。
組込みデバイスにおけるニューラルネット推論のエネルギーコストを測定するために、EEMBC では ULPMark-ML を提供しています。

3

ULPMark-PP ベンチマーク• ULPM-PP は、一般的に使用されるペリフェラルの消費電力を測定• PWM、ADC、SPI、および RTC

スロット

ADC

PWM

SPI

サンプル数

変換レート

周波数

周期

デューティ

パルス

164

1 KHz

32.768 KHz

255

10%、固定20

264

1 KHz
バッファ評価32.768 KHz

255

20%、増加

40

3

1

1 Hz

32.768 KHz

255

30%、固定40

4

11 Hz

32.768 KHz

255

40%、固定100

Tx：128 バイト

5

11 Hz

32.768 KHz

255

50%、固定100

最後の Rx をチェック
Tx：128 バイト

611 Hz32.768 KHz

255

60%、固定100

最後の Rx をチェック
Tx：128 バイト

711 Hz32.768 KHz

255

70%、固定100

最後の Rx をチェック
Tx：128 バイト

811 Hz32.768 KHz

255

80%、固定100

最後の Rx をチェック
Tx：128 バイト

91

1 Hz

1 MHz

1000010%、増加

30

最後の Rx をチェック
Tx：128 バイト

リセット
RTC irq

RUN

Stop2

STANDBY

10

スロットの 3 ~ 9 のデータのチェックをオフにする

オフ

RTC

タイマのセットアップと開始

最後の Rx をチェック

ストップしてチェック

4

ULPMark-PP は、パルス幅変調（PWM）、アナログ/デジタル変換（ADC）、シリアルペリフェラルインタフェース（SPI）、リアルタイムクロック（RTC）など、マイクロコントローラで最も一般的に使用されるペリフェラルを専門に扱っています。
このベンチマークでは、1 秒動作スロット 10 個をそれぞれ ADC、SPI、PWM、RTC のさまざまな用途で定義し、動作完了後にマイクロコントローラとペリフェラルをスリープ状態にすることができます。
この表は、各スロットでの動作の概要です。デバイスが当該スロットに対するペリフェラル動作を終了し次第、スロットを STANDBYもしくはSTOP2 モードにすることができます。
これは、高速なペリフェラルほど、長い間オフにすることができるため、スコアが高くなる可能性が高いことを意味します。
ULPMark は、2014 年の最初のリリースから、再設計されています。現在は、EEMBC ベン
チマークフレームワークで動作します。これは IoTMark と SecureMark と同じもので、任意のマイクロコントローラで次世代 EEMBC ベンチマークの実行を可能にする超薄型 API を備えています。
スロット 1 ではサンプルごとに 1 回のプロセッサのウェイクアップがあり、スロット 2 では64 個のサンプルの後に固有のウェイクアップがあります。

4

STM32U5のアーキテクチャの最適化• STM32U5 アーキテクチャではLPBAM を導入（低電力バックグラウンド自律モード）• STOP2 モードで自律的に実行されている IPが消費電力を大幅に低減

STM32U5
LPTIM アップモード

LPDMA リンクリスト転送

LPTIM 固定モード

繰り返しカウンタ

STOP2 モード

RTC
LPTIM1、3.4
ADC4SPI3
LPDMAスロット 2

LPDMA 搭載 ADC が STOP2 にあるスロット 4/5/6/7/8

LPDMA 搭載 SPI が STOP2 にあるスロット 9PWM が STOP2 で 1 MHz

クロック

MSIS、LSE、MSIK

5

いくつかのペリフェラルは、STOP0、STOP1、STOP2モードで機能し、DMA転送を実行できる自律モードをサポートしています。さらに、低消費電力バックグラウンド自律モード（LPBAM）がSTOP2モードでサポートされ、DMA転送によるCPUウェイクアップなしに、自律ペリフェラルでより複雑なユースケースを構築することができます。
この自律モードでは、Cortex-M33 コアとほとんどのペリフェラルが非アクティブな状態を維持できます。
STOP 2 モードでは、CPU ドメインは保持状態であり、SmartRun ドメイン（または SRD）に完全に電力が供給されている間、動的な動作を行うことはできません。
SRD 自律型ペリフェラルは、LPDMA と SRAM4 によって機能します。
低電力タイマは STM32U5 で使用でき、LPDMA によって実行される一連の転送をトリガします。
長期間にわたってイベントを周期的にトリガするために、STM32U5 ではリアルタイムクロックの代わりに低電力タイマの繰り返しカウンタ機能を使用できます。
RTC、低電力タイマ番号 1、3、および 4、ADC4、SPI3、および LPDMA は、SRAM4 と同様に SRD に属します。
ULPM-PP ベンチマークに関しては、STM32U5 は次のように LPBAM を STOP 2 モードに実装できます。
ADC4 で、スロット 3 に LPDMA を実装
SPI3 で、スロット 4、5、6、7、8 に LPDMA を実装
PWM で、スロット 9 に実装
STM32U5 に搭載された MSIK オシレータは、システムクロックから独立したクロックを生成します。これは、システムクロックがゲートオフされている間に、ペリフェラルが固定クロックを必要とする場合に便利です。

5使用例：STM32U575のULPMark PP

6

次に、STM32U575 の ULPMark ペリフェラルプロファイルを使用した消費量測定の使用例を示します。これらの値は製品によって異なります。本シリーズの他の参考資料については、当該製品のドキュメントを参照してください。

6PP 消費電力波形の解析

スロット

#1

#2

STOP2 + ADC データ収集のためのウェイクアップ

#3

#4

#5

#6

#7

#8

#9

#10

RUN

Stop2
STANDBY

このスライドでは、ULPMark-PP ベンチマークの 1 秒動作スロット
10 個の消費電力の詳細を示します。
これらの指標を得るには、STM32Cube の消費電力計算機能を使用します。
マイクロコントローラは、現在のスロットで動作中のペリフェラルを初期化するために、各スロットの開始時には RUN モードです。
初期化が完了すると、マイクロコントローラが STOP 2 モードのときに、ペリフェラルが連携してバックグラウンドタスクを実行します。消費電力は、STOP2 で約 4マイクロアンペアです。
スロット 1、2、3、9、10 は、マイクロコントローラがスロットの終わりで完全にアイドル状態になるので、STANDBY モードに移行します。
これにより、消費電力が 150 マイクロアンペアまで低減されます。

7

ULPMark-PP の比較
製品

U575

L412

L552

SAML11R5F

Apollo2

Cortex®-M33

Cortex®-M4

Cortex®-M33

Cortex®-M23

RL78-S3（16 ビット）

Cortex®-M4

Flash

2M

128 K

512 K

32 K

32 K

1M

RAM

768 K

40 K

256 K

8K

3K

256 K

コア

最大周波数

16080

110

32

24

48

STOP + RTC

4.7uA

900nA

3.9uA

800nA

650nA2.8uA

STOP 状態の ADC（32K クリスタルを実装）

はい（LPBAM）

いいえ

いいえ

はいはい不可STOP 状態の ADC（高いクロックを実装）

はい（LPBAM）

いいえ

いいえ

いいえ

いいえ

いいえ

自律 PWM デューティサイクル

はい（LPBAM）

いいえ

いいえ

はいはい不可ULPMark-PP のスコア

70.8

94

34.0

120

122

34.7

ULPMark-PP の位置

43

6

2

158

この表は、さまざまなマイクロコントローラのスコアを示しています。
- ST マイクロエレクトロニクスの STM32U575、STM32L412、STM32L552- Microchip 社の SAML11- ルネサス社の R5F- Ambiq Micro 社 の Apollo2
最初の 4 行には、マイクロコントローラに関する一般情報が表示されます。
- プロセッサコア- Flash メモリのサイズ- SRAM のサイズ
- 最大周波数
5 行目には、STOP モードが有効で RTC も有効な場合の消費電力が示されます。
6、7、8 番目の行には、マイクロコントローラが STOP モードのときに ADC 変換が行われるかどうかが示されます。STMU575 は、LPBAM を介してこの機能をサポートします。
9 行目には ULPMark-PP スコアが示されます。
STM32U575 は RTC 有効時の STOP モードで消費電力が最大になるマイクロコントロー
ラですが、ULPMark-PP の点では 4 番目の位置を占めます。これは、LPBAM モードと、RTC を使用せずに変換をトリガするために LP タイマを使用するためです。

8

1 kHz の ADC + 32 kHz の PWM（デューティサイクルを増加）
U575

L412

L552

SAML11R5F

Apollo2

11.0

15.6

41.3

8.07

7.05

33.9

スロット#2：DMA 搭載 ADC

STM32U5
ADC が STOP2 の場合（~ 10 µA）PWM が STOP2 の場合（~ 5 µA）

STM32L412

ADC が LPSLEEP の場合（~ 42 µA）
ウェイクアップ機能がある PWM

STM32L552

ADC が LPSLEEP の場合（~ 200 µA）
9

このスライドでは、ULPMark-PP ベンチマークの 2 番目のスロットでの消費電力の詳細を示します。
ADC は周波数 1 kHz で 64 個のサンプルを取得し、10% から 20% まで徐々に増加するデューティサイクルにより、32 kHz の周波数で 40 個の PWM パルスを生成します。
最初のスロットで取得された 64 個のサンプルは、ソフトウェアによって評価されます。
LPBAM により、STM32U5 マイクロコントローラが STOP 2 の間、ADC とPWM をアクティブなままにすることができます。
LPDMA は、ADC4 から SRAM4 にサンプルを転送し、SRAM4 から LP タイマにデューティサイクル値を転送するために使用されます。
STM32L412 および STM32L552 では、ADC と DMA がアクティブなままのとき、コアはスリープ状態ですが、他のペリフェラルもすべて低電力 SLEEPモードでアクティブです。
その結果、消費電力は STM32U5 よりも高くなります。
STM32L412 では、PWM のデューティサイクルを更新するために Cortex-M4コアをウェイクアップする必要があります。

9ADC（1 kHz）+ SPI（128 バイトの送信） + PWM（32 kHz）
U575
グロー
バル

STOP3

Stby

18.4

10.9

7.3

L412

L552

SAML11R5F

Apollo2

4.94

15.0

7.50

5.63

10.7

スロット#4：DMA 搭載 SPISTM32U5
SPI-128 バイト（~ 100 µA）
STOP2 + PWM（~ 4.7 µA）

STM32L412
LPSLEEP の SPI（~ 175 µA）

STOP2 + PWM（1.1 µA）
10このスライドでは、ULPMark-PP ベンチマークの 4 番目のスロットでの消費電力の詳細を示します。結果はマイクロジュール単位で表されます。
18.4 µJ は Slot4 の総エネルギー、10.9 µJ は STOP3 のエネルギーで、7.3µJ は STANDBY のエネルギー（10.9+7.3=18.2）
ADC は周波数 1 Hz で 1 個のサンプルを取得し、40% のデューティサイクル
により、32 kHz の周波数で 100 個の PWM パルスを生成し、SPI インタフェースで 128 バイトを送信します。
STM32U5 の場合、LPBAM を実装することで、これら動作をすべて STOP2モードで実行できます。SPI コントローラの 3 番は SmartRun ドメインに属します。
STM32L412 の場合、SPI でのデータ送信は低電力 SLEEP モードで実行できますが、DMA と SPI コントローラだけでなく、すべてのペリフェラルがアクティブなままです。
両方のマイクロコントローラが、STOP 2 モードで、固定デューティサイクルでの PWM パルスの生成をサポートしています。

101 MHz の PWM（デューティサイクルを増加）
U575

L412

L552

SAML11R5F

Apollo2

12.246.9

14018.930.5151

スロット#9： PWM @ 1MHzSTM32U5PWM が STOP2 の場合（~ 7 µA）

STM32L412
PWM がウェイクアップ機能がある
LPSLEEP の場合（~ 50 µA）

11

このスライドでは、ULPMark-PP ベンチマークの 9 番目のスロットでの消費電力の詳細を示します。
ADC は周波数 1 Hz で 1 個のサンプルを取得し、徐々に増加するデューティサイクルにより、1 MHz の周波数で 30 個の PWM パルスを生成し、スロット番号 8 で受信した 128 バイトを確認しながらSPI インタフェースで 128 バイトを送信します。
STM32U5 では、このシーケンスでの PWM の消費電力は、
STM32L412 と比較して 7 分の 1 より下がります。これは、LPBAMにより、マイクロコントローラが STOP 2 状態にある間にデューティサイクルの更新が可能になるためです。

11

ADC が LPBAM の場合のユースケース• 典型的なユースケースでは、内部または外部イベントが発生し、確認とループバックを実行するために CPU がウェイクアップするまで、自律 STOP2 モードで所定の周波数での ADC 変換を記録する• LPBAM を実装していない STM32L552 と比較するには、LPBAM を実装していない
STM32U575 で同じケースのシミュレーションを行う• MSIS/MSIK オシレータ周波数を変化させ、電力への影響を測定した

12電力制約のあるシステムでの ADC の典型的なユースケースは、STOP 2 モードでサンプルを取得することと、イベントを使用してこれらのサンプルを処理する CPU をウェイクアップすることです。
STM32U575 と STM32L552 の性能を比較するために、
STM32U575 で 2 つのテストを実行します。SLEEP モードと RUNモードを基準に、1 つは LPBAM を実装して、もう 1 つは LPBAMを実装せずに実行します。
クロックソースがマルチスピード内部オシレータシステム（MSIS）およびカーネル（MSIK）のときに、複数の周波数がテストされます。
これらのテストの結果については、次のスライドで説明します。

12

LPBAM の ADC 結果
MSIS および MSIK の周波数
MSIS=MSIK=100 kHz
MSIS=MSIK=400 kHz
MSIS=MSIK=1 MHz
MSIS=4 MHz / MSIK=1 MHz

LPBAM の消費電力 SLEEP+RUN モードでの消（µA）
費電力（µA）
14.58014.89015.511215.5171• より高い周波数で LPBAM を使用すると、消費電力は STM32U575 とほぼ同じままです。一方、SLEEP+RUN モード（L5 の場合と同様）では、MSI が 100 kHz から 4 MHzに増加するときに、消費電力は 2 倍になります。

13LPBAM がアクティブである場合と、従来の SLEEP / RUN アプローチが使用された場合で、MSIS および MSIK の周波数が全体の消費電力に与える影響を調査することは興味深いです。
LPBAM が実装されている場合、MSIS と MSIK の周波数がそれぞれ 100
kHz から 4 MHz、100 kHz から 1 MHz に変化したとき、消費電力の変化は6.5% です。
このことから、LPBAM 機能を持つペリフェラルはデータ転送のために MSISまたは MSIK をオンにできるため、LPBAM の使用時にオシレータの周波数が消費電力に与える影響は小さいことがわかります。アイドル時間中、オシレータはオフです。
サンプルを取得するたびにプロセッサのウェイクアップに基づいてSLEEP/RUN 手法を使用した場合、消費電力はオシレータ周波数と重要な関係を持ちます。これは、ADC に限らず、すべてのペリフェラルが SLEEPモードでアクティブなままであるためです。
この場合、MSIS と MSIK の周波数がそれぞれ 100 kHz から 4 MHz、100kHz から 1 MHz に変化したとき、消費電力は 2 倍になります。

13

LPBAM を使用した I2C の典型的なユースケース• I2C を介した温度センサ取得の典型的なユースケースをセットアップする• 外部温度センサから I2C 読出しシーケンスをトリガするように LPTIM タイマを設定する• 2 つの異なる電力モードをセットアップして比較する
1. LPBAM を使用して、CPU が常に STOP2 モードを維持し、DMA 転送完了または非同期イベントでウェイクアップするようにします。
•

この場合、LPDMA は、I2C RxBuffer のデータを SRAM4 に記録する

2. STM32L552/L412 機能に準拠：• STOP2 モードでは LPTIM によって I2C がトリガされ、CPU がウェイクアップして、システムを SLEEP モードに移行する• SLEEP モードではデータが DMA によって RxBuffer から SRAM4 に転送される• 完了すると、CPU は DMA 転送完了イベントによってウェイクアップされ、システムは STOP2 になる• LPTIM 周波数の変化と消費電力の傾向の取得• STM32L412 で同じテストを実行する

14

I2C に接続されたセンサから温度を取得したときの消費電力のテストは、低電力性能解析の 2 番目に重要なユースケースです。
低電力タイマは、I2C 読出し動作のトリガに使用されます。
2 つの異なる電力モードをテストします。
- LPBAM および STOP 2 モードを実装する- STM32L412 でもサポートされている SLEEP/RUN 手法を実行する
最初のケースでは、LP タイマが I2C 読出しトランザクションをトリガし、LPDMA が受信データを I2C 受信バッファから SRAM に転送します。その後、割込みによってプロセッサがウェイクアップされます。
2 番目のケースでは、LP タイマがプロセッサをウェイクアップして、システムを STOP 2 から SLEEP モードに移行します。次に、DMA は、I2C から受信したデータを SRAM のバッファに転送します。最後に、別の割込みでプロセッ
サがウェイクアップし、システムを STOP 2 に戻します。
いくつかの低電力タイマ周波数がテストされます。
これらのテストの結果については、次のスライドで説明します。

14

I2C テスト結果
STM32U575
MSIS=MSIK=16 MHz
LPBAMSLEEP + STOP2（µA）（µA）
LPTIM 周波数 =6 Hz
LPTIM 周波数 =60 Hz
LPTIM 周波数 =600 HzSTM32L412
MSI=8 MHzSLEEP + STOP2（µA）

4.46

9.525

2.05

5.36

13.9

6.35

15.6

47.7

40.3

• 低い取得レートでは、STM32U575 の消費電力は STM32L412 の 2 倍になる
• I2C 読出し動作の周波数が増加すると、LPBAM を実装した STM32U575 の利点が明らかになり、消費電力は STM32L4 の 2 ~ 3 分の 1 になります。

15

最初に、LPTIM 周波数が 6 Hz の場合の消費電力を比較します。LPBAM を実装した STM32U575 の消費電力は STM32L412 の 2 倍以上になり、SLEEP モードや STOP 2 モードを使用した場合はさらに 4 倍以上になります。
LPTIM 周波数が 60 Hz の場合、LPBAM を実装した STM32U575 の消費電力は STM32L412 より 15% 少なくなりますが、SLEEP モードや STOP 2 モードを使用した場合は STM32L412 より 2 倍以上多くなります。
LPTIM 周波数が 600 Hz の場合、LPBAM を実装した STM32U575 の消費電力は STM32L412 より 61% 少なくなりますが、SLEEP モードや STOP 2モードを使用した場合は STM32L412 より 18% 多くなります。
従って、LPBAM がアクティブな時、I2C 読出し動作の周期が短いほど、STM32U575 のスコアは高くなります。
従来の SLEEP/STOP 2 手法が実装されている場合、I2C 読出しの周波数増加時にギャップが減少しても、STM32L412 では消費電力を抑えることができます。

15

© STMicroelectronics - All rights reserved.
ST logo is a trademark or a registered trademark of STMicroelectronics International NV or its affiliates in the EU and/or other countries.
For additional information about ST trademarks, please refer to www.st.com/trademarks.
All other product or service names are the property of their respective owners.

このプレゼンテーション以外に、次のプレゼンテーションを参照できます。
- 電源管理- リセットおよびクロックコントローラ

16