STM32U5GPIO / LPGPIO

こんにちは。このプレゼンテーションでは、STM32U5 の汎用 IO インタフェースについて説明します。汎用入出力インタフェースと、それがマイクロコントローラ周辺の環境への接続をどのように可能にするかについて説明します。

1

GPIO/LPGPIO• 最大 151本の GPIO、最大 133 または 166 MHz• 専用 VDDIO2 電源 PG[15:2] に最大 14 個の GPIO
• 最大 16 個の LPGPIO：• LPDMA により STOP 2 モードで入力または出力として制御可能な GPIO

2GPIOの数は、STM32U5の製品およびパッケージによって異なります。パッケージサイズに応じたペリフェラルの有無については、製品データシートを参照してください。
超ハイスピード対応 GPIO の最大周波数は 166 MHz、その他のGPIO は 133 MHz です。
VVDDIO2 は 14 個の I/O の外部電源です（ポート G[15 以下 2 まで]）。
VVDDIO2 の電圧レベルは、VDD 電圧から独立しており、PG[15:2]を使用しない場合は、VDD に接続することを推奨します。
LPGPIO では、低消費電力 DMA により STOP 2 モードで動的 I/O制御が可能です。
最大 16 個の I/O を LPGPIO として設定できます。

2ハイスピード低電圧（HSLV）• GPIOx_HSLVR レジスタの新しい HSLV 制御ビットにより、一部の I/O が超ハイスピードモードをサポート• 「_h」オプション付きの I/O のみが HSLV モードをサポート（データシートの I/O 構造を参照）• VDDIOx < 2.7V の場合、HSLV = 1 を設定することによって速度が向上• 注意！VDDIO > 2.7V の場合、HSLV はセット不可（破壊的!!…）• 2 つのオプションバイトは HSLV 制御ビットへの書込みアクセスを禁止し、必要に応じて設定する必要がある• IO_VDD_HSLV および IO_VDDIO2_HSLV• 注意！通信ペリフェラルのすべての I/O が HSLV モードをサポートしていない場合は、タイミングへの悪影響を回避するために、このモードをセットしてはならない

3

一部の I/O は、HSLV モード設定時、低電圧での最大速度を増加させる機能を備えています。データシートでは、これらには接尾文字 _h が付いています。
I/O HSLV ビットは、I/O 出力速度を 3.3 V（デフォルト設定）または 1.8 V（HSLV = 1）で動作するように最適化するかどうかを制御します。
注：I/O 電源（VDD または VDDIO2）が 2.7 V を超える場合、I/O HSLV 設定ビットをセットしてはなりません。
電圧が 2.7 V より高いときにこれをセットすると、デバイスを破損する恐れがあります。
I/O HSLV ビットは、対応するオプションビットがアクティブであるときにのみセットできます。I/O 電源に応じて、IO_VDD_HSLV または IO_VDDIO2_HSLVをセットします。
この機能にはハードウェア保護が関連付けられていないため、固定 I/O 電源の静的設定としてのみ使用することを推奨します。
特定のペリフェラルに接続されたすべての I/O がこのハイスピード低電圧機
能をサポートしていない場合、無効にする必要があります。

3

I/O 補正セル• 電源の I/O ノイズを低減するために、プロセス、電圧、および温度の条件に応じて、I/O 転流スルーレート（tfall/trise）をソフトウェアによって応用可能

HSI を有効化

PVT を追跡するために補正セルを有効化• 3 つの補正セル：• VDD によって供給される I/O 用に 1 つ• VDDIO2 によって供給される I/O 用に 1 つ• HSPIオルタネート機能（AF）機能を備えた専用GPIOに1つ• 補正セルは 1.6V ≤ VDDIOx ≤ 3.6 V の場合にのみ使用可
能• I/O 電気特性で有効準備ができたら、SYSCFG_CCVR のコードを
SYSCFG_CCCR にコピーする
CS1 および CS2 をセットして、SYSCFG_CCCR からコードを選択する
補正セルを無効化
電力消費を下げるために実行可能

4

電源の I/O ノイズを低減するために、プロセス、電圧、および温度の条件に応じて、立ち上がりおよび立ち下がり時間に影響する I/O 整流スルーレートをソフトウェアによって調整できます。
補正セルは VDDIOx が 1.6 V ~ 3.6 V の範囲内にある場合にのみ使用できます。
VDDから供給されるI/O用、VDDIO2から供給されるI/O用、HSPIのオルタネート機能（AF）機能を持つ
GPIO専用の3つの補償セルを内蔵しています。
I/O 補正セルは、PVTの動作条件（プロセス、電圧、および温度）に応じて I/O バッファに 8 ビット値を生成します（N-MOS に 4 ビット、P-MOS に 4 ビット）。
これらのビットは、I/O バッファの電流のスルーレートと出力インピーダンスを制御するために使用されます。
デフォルトで、補正セルは無効で、すべての I/O に固定コードが適用されています。
補正セルを有効にするには、次のシーケンスを実装する必要があります。
1 - HSI は補正セルによって使用され、有効にする必要がある
2 - SYSCFG 補正セル制御/ステータスレジスタの補正セルを有効にする
3- 有効にすると、補正セルは PVT を追跡し、レディビットがセットされると SYSCFG_CCVR で 8 ビットコードが使用可能になる
4 - コード選択ビットがクリアされている場合、I/O は補正セルの結果として、SYSCFG_CCVR からコードを受信する
消費電力を下げるため、コードを SYSCFG_CCVR から SYSCFG_CCCR にコピーすることを推奨します。
結果の準備ができたら、コード選択ビットをセットし、補正セルを無効にします。
コード選択ビットがセットされている場合、VDD I/O コードがセルからではなく SYSCFG 補正セルコー
ドレジスタから受信され、消費電力が低減されます。

4I/O ターゲット仕様：VDDIO ≥ 2.7V
OSPEED[1:0]

FT_c を除くすべての I/O

FT_c

00–ロースピード

50 pF で 12.5 MHz

50 pF で 10 MHz

01 – ミディアムスピード

30 pF で 55 MHz

50 pF で 25 MHz

10 – ハイスピード

10 pF で 133 MHz

50 pF で 40 MHz

11 – 超ハイスピード

10 pF で 133 MHz（「v」オプションなしの I/O の場合）
10 pF で 166 MHz（「v」オプション付きの I/O の場合）サポートされません

FT_c：USB Type-C Power Delivery 機能付き I/O（PA15/PB15）
FT_v：超ハイスピード対応の I/O
注意！通信ペリフェラルのすべての I/O が超ハイスピード「v」モードをサポートしていない場合は、タイミン
グへの悪影響を回避するために、このモードをセットしてはならない

5以降のスライドは、次のパラメータに従って、GPIO ポート出力スピード･レジスタのOSPEED 値を選択する方法を示しています。
- VDDIO 電源範囲
- ハイスピード低電圧モードの有効化または無効化
各 OSPEED 値に対する最大周波数は、静電容量負荷にも依存します。
一貫性のある比較を行うために、すべてのテーブルに同じ前提条件が適用されます。
- OSPEED が 0 の場合は 50 ピコファラッド- OSPEED が 1 の場合は 30 ピコファラッド- OSPEED が 2 および 3 の場合は 10 ピコファラッド
静電容量負荷が大きいほど、最大周波数は低くなります。
このプレゼンテーションは、すべての組み合わせを網羅したリストを提供するものではありません。データシートを参照してください。
このスライドの表は、VDDIO 電源が 2.7 V 以上の場合に適用されます。
最初の列には、OSPEED フィールドにプログラムする値が含まれます。
2 列目は、USB Type-C Power Delivery 機能付きの 5 V トレラント I/O を除く、すべてのI/O に適用されます。
超ハイスピードを選択した場合、超ハイスピード機能である 2 番目のパラメータを考慮する必要があります。特定のペリフェラルに接続されたすべての I/O がこの機能をサポートしていない場合、超ハイスピード設定は選択しないでください。
3 列目は、USB Type-C Power Delivery 機能付きの 5 V トレラント I/O に適用されます。

5

I/O ターゲット仕様：HSLV=1 の 1.58V < VDDIO < 2.7V
OSPEED[1:0]「h」オプション付きのすべての I/O

00–ロースピード

50 pF で 10 MHz

01 – ミディアムスピー
ド30 pF で 50 MHz

10 – ハイスピード

10 pF で 100 MHz

11 – 超ハイスピード

10 pF で 100 MHz（「v」オプションなしの I/O の場合）
10 pF で 150 MHz（「v」オプション付きの I/O の場合）

FT_v：超ハイスピード対応の I/O

6

この表は、VDDIO 電源が 1.58 ~ 2.7 V の範囲であり、ハイスピード低電圧モードが有効な場合に適用されます。
次のスライドの表と比較すると、最大周波数は HSLV が有効の場合に高くなります。

6I/O ターゲット仕様：HSLV=0 の 1.58V < VDDIO < 2.7V
OSPEED[1:0]

FT_c を除くすべての I/O

FT_c00–ロースピード

50 pF で 5 MHz

50 pF で 5 MHz

01 – ミディアムスピー
ド30 pF で 12.5 MHz

50 pF で 10 MHz

10 – ハイスピード

10 pF で 40 MHz

50 pF で 20 MHz

11 – 超ハイスピード

10 pF で 40 MHz（「v」オプションなしの I/O の場合）
10 pF で 50 MHz（「v」オプション付きの I/O の場合）サポートされません

FT_c：USB Type-C Power Delivery 機能付き I/O（PA15/PB15）
FT_v：超ハイスピード対応の I/O

7

この表は、VDDIO 電源が 1.58 ~ 2.7 V の範囲であり、ハイスピード低電圧モードが無効な場合に適用されます。
3 列目は、USB Type-C Power Delivery 機能付きの 5 V トレラント
I/O に適用されます。
これらの FT_c IO の最大周波数は、50 pF の静電容量負荷に対して常に提供されることに注意してください。

7

I/O ターゲット仕様：HSLV=1 の 1.08V < VDDIO < 1.58V
OSPEED[1:0]

FT_s I/O

00–ロースピード

50 pF で 4 MHz

01 – ミディアムスピー
ド30 pF で 10 MHz

10 – ハイスピード

10 pF で 15 MHz

11 – 超ハイスピード

10 pF で 15 MHz（「v」オプションなしの I/O の場合）
10 pF で 25 MHz（「v」オプション付きの I/O の場合）

FT_s：VDDIO2 から供給される I/O8

この表は、VDDIO 電源が 1.08 ~ 1.58 V の範囲であり、ハイスピード低電圧モードが有効な場合に適用されます。

8

I/O ターゲット仕様：HSLV=0 の 1.08V < VDDIO < 1.58V
OSPEED[1:0]

FT_s I/O

00–ロースピード

50 pF で 1 MHz

01 – ミディアムスピー
ド30 pF で 2.5 MHz

10 – ハイスピード

10 pF で 5 MHz

11 – 超ハイスピード

5 MHz （1）（「v」オプションなしの I/Oの場合）
5 MHz （1）（「v」オプション付きの I/Oの場合）

FT_s：VDDIO2 から供給される I/O9

この表は、VDDIO 電源が 1.08 ~ 1.58 V の範囲であり、ハイスピード低電圧モードが無効な場合に適用されます。

9

GPIO TrustZone のセキュリティ• GPIO ポートの各 I/O ピンは、GPIOx_SECCFGR レジスタでセキュア/非セキュアとして個別に設定可能• 非セキュアからのセキュア I/O アクセスは RAZ/WI
セキュリティ設定
ペリフェラル
セキュア
非セキュア*
セキュア
非セキュア

I/O ピン

セキュア*
非セキュア

セキュリティ設定
オルタネート機能OK

アナログペリフェ
ラル
セキュア
非セキュア

ゼロ

セキュア

OK

非セキュア

割り当てられたアナロ
グスイッチ付き I/O ピン
セキュア
非セキュア

アナログ値

OKゼロ
ゼロ
OK

* リセット後のデフォルト設定
10

TrustZone が有効な場合、GPIO ポートの各 I/O ピンを GPIOx_SECCFGR レジスタによりそれぞれセキュアとして設定することができます。
選択した I/O ピンがセキュアとして設定されている場合、その対応するオルタネート機能、モード選択、I/O データの設定ビットは、非セキュアアクセスに対してセキュアです。
非セキュアアクセスの場合、これらのフィールドはゼロとして読み出され、書込みは無視されます。
ペリフェラル機能を持つ I/O は、ペリフェラルセキュリティ設定でも条件付けられます。
I/O ピンの選択がオルタネート機能レジスタによって実行されるペリフェラルの場合：ペリフェラルがセキュアとして設定されている場合、非セキュアな I/O ピンに接続することはできません。
これに従わない場合、セキュアなペリフェラルへの入力データは強制的に 0 になり、出力ピンの値は強制的に 0 になるため、非セキュアな I/O によるセキュア情報の漏洩は回避されます。
たとえば、ADC のようなペリフェラルによって直接制御されるアナログスイッチ付き I/O の場合：I/O がセキュアな場合は、I/O アナログスイッチを非セキュアなペリフェラルによって制御することはできません。
これに従わない場合、スイッチは開いたままとなります。これにより、セキュアデータがアナログパスを介して非セキュアなペリフェラルまたは I/O にリダイレクトされるのを防ぎます。

10

GPIO TrustZone のセキュリティ注意！
I/O がセキュアでペリフェラルが非セキュアな場合、I/O とペリフェラルの間の一部のパスはハードウェアによって保護されない• I/O データ整合性または機密性が重要である場合、これらのペリフェラルはセキュアとして設定しなければならない• DAC1_OUTx• UCPD1_CCx/Dx• TAMP_Inx/OUTx• RTC_OUTx/TS• WUPx• LSCO

11

このピンの機能は、通常 GPIO オルタネート機能レジスタで制御されます。
ただし、いわゆる追加機能は、GPIO モジュールの関与なく、ペリフェラルレジスタを介して直接選択され、有効化されます。
これらの I/O 追加機能とペリフェラルの間のパスの一部は、I/O がセキュアでペリフェラルが非セキュアな場合、ブロックされません。
したがって、それらのペリフェラルは、アプリケーションが使用しないときでも、セキュアとして設定することを推奨します。
追加機能一覧を右側に示します。

11

GPIO の特権/非特権モード

すべての GPIO レジスタは、セキュリティ状態（セキュアまたは非セキュア）に関係なく、特権および非特権アクセスで読み書き可能

12

GPIO モジュールは、特権レベルではなくセキュリティレベルに応じて、メモリマップドレジスタへのアクセスをフィルタします。

12

LPGPIO
出力データレジスタ（LPGPIO_ODR）からの出力データ
入力データレジスタ（LPGPIO_IDR）
への入力データ

LPGPIO 機能を持つ I/O は、GPIOx_MODER）（x =A～I） で LPGPIO オルタネート機能として設定する
必要がある

SRAM

LPTIMER✓GPIOx_SECCFGR（x = A～I）によって設定されたTrustZone® セキュリティサポート

STOP2トリガ✓

DMA

ビットセット/リセットレジスタ（LPGPIO_BSRR）
LPGPIO✓

メモリ間転送モードで DMAを使用して、STOP 2 モードまで動作する 16 個のI/O 制御

Cortex-M33
STM32U5

13

STM32U5 は低消費電力バックグラウンド自律モード（LPBAM）をサポートしています。これにより、ソフトウェアを実行していなくても、STOP 0、STOP 1、および STOP 2 モードで機能的かつ自律的なペリフェラルを使用できます。
STOP 2 では、16 個の低消費電力 GPIO のみが機能を維持します。
これらは、オルタネート機能を低消費電力 GPIO としてプログラムすることで、個別に有効にできます。
その後、LPGPIO 固有のレジスタが、入力として設定されたときにデータをキャプチャしたり、出力として設定されたときに状態を強制するために使用されます。
セキュリティ属性は、関連する GPIO セキュリティ設定レジスタにプログラムされます。
LPBAM の例を右側に示します。
低消費電力タイマは、特定の波形を生成するために、データを SRAM4 からLPGPIO レジスタに書き込む DMA 転送を周期的にトリガします。たとえば、LED の点滅などです。

13低消費電力モード
モード

I/O 状態

RUN、SLEEPSTOP 0

アクティブ

STOP 1
STOP 2STOP 3
STANDBYLPGPIO のみアクティブなまま
I/O は、STANDBY モードで内部プルアップ、プルダウンまたはフローティングに設定できます。

SHUTDOWN

I/O は、SHUTDOWN モードで内部プルアップ、プルダウンまたはフローティングで設定できますが、SHUTDOWN モードを終了すると設定が失われます。

RESET

リセット中とリセット直後は、オルタネート機能は有効ではなく、ほとんどの I/O ポートはアナログモードに設定されています。

14

GPIO は、RUN、SLEEP、STOP 0、および STOP 1 モードでアクティブです。
低消費電力 GPIO は、RUN、SLEEP、STOP 0、STOP 1、およびSTOP 2 モードでアクティブです。
STOP 3、STANDBY、および SHUTDOWN では、使用可能な設定は、内部プルアップ/プルダウン抵抗による入力、またはフローティング入力のみです。
SHUTDOWN モードを終了すると、I/O 設定は失われます。
マイクロコントローラが RESET 状態の場合、ほとんどの I/O ピンは強制的にアナログ入力モードになります。

© 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.

STM32U5 の GPIO および LPGPIO に関するプレゼンテーションにご参加いただき、ありがとうございました。
詳細については、必要に応じて、次のプレゼンテーションを参照してください。
• USB Type-C Power Delivery（UCPD）• 電源管理（PWR）• 低消費電力バックグラウンド自律モード（LPBAM）

15