STM32WB - SPI
シリアルペリフェラルインタフェース

1.0 版

こんにちは。STM32シリアルペリフェラルインタフェースのプレゼンテーションへようこそ。

1

概要

2

• シンプルなシリアル通信インタフェース• 詳細な設定が可能• 標準同期プロトコルをサポート

マスタ
マイクロコントローラ

スレーブ

スレーブ

デバイス 1

デバイス 2

アプリケーション側の利点• インタフェースに必要なピンは数本だけ• 外部コンポーネント／デバイスを SPI インタフェースにシンプルに統合

内蔵されている標準ペリフェラルであるインタフェース SPI は、シンプルな通信インタフェースを提供して、マイクロコントローラと外部デバイスの通信を可能にします。 このインタフェースは詳細な設定が可能であり、多くの標準プロトコルをサポートします。
アプリケーションは、数本のピンしか必要としない、コンポーネン
トへのシンプルな直接接続を利用できます。SPI は詳細な設定が可能なため、多くのデバイスを既存のプロジェクトに容易に対応させることができます。

2

主な機能

3

• 動作モード• マスタまたはスレーブ（マルチマスタ＆マルチスレーブサポート）• 全二重、シンプレックス、または半二重• モトローラおよび TI 標準をサポート• 最大 fPCLK/2 の動作• 少なくとも二線インタフェース（スレーブ選択管理オプション）• 設定可能なデータおよびクロックフォーマット
• プロトコルレベルで追加のサポート（Tx および Rx FIFO、DMA、CRC）• 幅広いイベントフラグと割込み機能

STM32 SPI は、さまさまな動作モードを備え、このプレゼンテーションで詳しく説明します。通信速度は内部バス周波数の半分を超えることはできず、単方向でクロック信号によって同期されるシ
リアルデータフローを提供するには、少なくとも二線が必要です。
オプションのハードウェアスレーブ選択制御信号を追加できます。
データサイズと送信シフトオーダーを設定可能であり、クロック信号のパリティと位相も設定可能です。 プロトコルレベルで、ユーザは特定のデータバッファを使用でき、オプションの自動巡回冗長検査（CRC）計算と、DMA コントローラ経由の転送を使用できます。 割込み要求を生成できる幅広い SPI イベントがあります。

3

ブロック図4PCLK
Rx DMATx DMA
IRQ

単純化した SPI ブロック図は、基本的な制御メカニズムと機能を示しています。SPI ペリフェラルに関連付けられた 4 つの I/O 信号があります。 データはすべて、特定のインタフェースを介して受信および送信バッファを通過します。制御ブロック機能は、設定に応じて有効化または無効化されます。

4

SPI ノードの相互接続

5

さまざまなマスタ-スレーブ相互接続をサポート• マスタは常にクロックを供給し、すべてのトラフィックを制御します（通信のスレーブを選択）。
• データは両方向で並行して交換できます。

最大 16bit の Rx
シフトレジスタ
最大 16bit の Tx
シフトレジスタ

MISO

MOSI

最大 16bit の Tx
シフトレジスタ
最大 16bit の Rx
シフトレジスタ

SCK
クロックジェネレータ

マスタ

NSS

スレーブ• 全二重モード（双方向）では、マスタとスレーブの両方が同時にデータを送受信します。

SPI マスタは、常にバスのトラフィックを制御し、SCK ラインを通じて専用スレーブにクロック信号を供給します。 マスタはオプションのスレーブ選択または NSS 信号を通じて、通信先のスレーブを選択できます。専用のシフトレジスタに格納されたデータは、MOSI（Master Output, Slave Input）および MISO（MasterInput, Slave Output）データラインを通じてマスタとスレーブ間で同期して交換できます。 全二重モードでは、両方のデータラインが使用され、同期データは同時に両方向に流れます。

5

SPI ノードの相互接続

6

さまざまなマスタ-スレーブ相互接続をサポート• シンプレックスモード（単方向）では、1 つのノードがトランスミッタのとき、もう 1 つはレシーバ

最大 16bit の Rx
シフトレジスタ
最大 16bit の Tx
シフトレジスタ

MISO

MOSI

最大 16bit の Tx
シフトレジスタ

最大 16bit の Rx
シフトレジスタ

最大 16bit の Rx
シフトレジスタ

最大 16bit の Tx
シフトレジスタSCK

MOSI

最大 16bit の Tx
シフトレジスタ
最大 16bit の Rx
シフトレジスタ

SCK

クロックジェネレータ

マスタ

MISO

クロックジェネレータ

NSS

スレーブ

マスタ

NSSスレーブ

シンプレックスモードでは、1 つのノードがデータを送信するとき、もう 1 つはデータを受信します。 データは一方向にのみ流れます。 通信方向に応じて、1 つのデータラインのみが使用されます。使用されていない SPI ピンは、他の目的に使用できます。

6

SPI ノードの相互接続

7

さまざまなマスタ-スレーブ相互接続をサポート• 半二重モード（準双方向）では、マスタとスレーブの両方がデータの送信と受信を同時に交互に行います。 ノードは単一のコモンデータラインを共有します。

MISO

最大 16bit の Tx
シフトレジスタ

MOSI

最大 16bit の Tx
シフトレジスタR

最大 16bit の Rx
シフトレジスタ

最大 16bit の Rx
シフトレジスタ

SCK
クロックジェネレータ

マスタNSS

スレーブ

半二重モードは前の 2 つのモードを統合したものであり、データ交換用の 1 つのラインを共有し、データは一度に 1 つの方向に流れます。 このモードでは、マスタ MOSI ピンとスレーブ MISOピンの間の交差接続があります。 マスタとスレーブは、共通のデータラインがあるとき、トランスミッタの役割とトレシーバの役割を同時に交代する必要があります。 半二重データラインには、シリアル抵抗器を追加するのが一般的です。マスタノードとスレーブノードは通常、同期されないため、一時的な短絡接続の可能性があり、これを防止するためです。

7

SPI ノードの相互接続

8

マルチスレーブネットトポロジのサポート• マルチスレーブ：スタートポロジ• マスタはデータの書込み／読取り時に 1つのスレーブノードを選択• 個別のスレーブ選択信号（GPIO ピンでシミュレート）が必要

最大 16bit の Rx
シフトレジスタ
最大 16bit の Tx
シフトレジスタ

MISO

MISO

MOSI

MOSI

SCK

SCK

GPIO

NSS

スレーブ

MISO

最大 16bit の Tx
シフトレジスタ

MOSI

最大 16bit の Rx
シフトレジスタ

最大 16bit の Tx
シフトレジスタ
最大 16bit の Rx
シフトレジスタ

クロックジェネレータ• スレーブノードは異なるクロックおよびデータフォーマットを持つことが可能

GPIO

GPIO

SCK

マスタ

NSS

スレーブ

次のスレーブへ

SPI ネットワークが複数のスレーブを含むときには、一般にスタートポロジが使用されます。マスタは一度に 1 つのスレーブと通信します。共通の MISO ピンを通じてマスタにデータを送り返せるスレーブは 1 つだけだからです。このトポロジでは、マスタから各スレーブノードに個別のスレーブ選択信号が与えられなければならず、それによってマスタは通信先のスレーブを選択できます。 複数のスレーブノードが共通の設定を持っていない場合
でも、個別のスレーブ選択信号（NSS）により、SPI データおよびクロックフォーマットはスレーブごとに適応できます。

8

SPI ノードの相互接続

9

マルチスレーブネットトポロジのサポート
次のスレーブへ• マルチスレーブ：サーキュラトポロジ（デイジーチェーン）

MOSIMISO• データはすべてのノードを循環SCK• すべてのノードが共通のデータおよびクロックフォーマットをサポートしなければならない

最大 16bit の Rx
シフトレジスタ
最大 16bit の Tx
シフトレジスタ
クロックジェネレータ

マスタ

最大 16bit の Tx
シフトレジスタ
最大 16bit の Rx
シフトレジスタ

NSS

スレーブ

MOSI

最大 16bit の Tx
シフトレジスタ

MOSI

MISO

最大 16bit の Rx
シフトレジスタ

SCK

SCK

NSS

NSS

MISO

スレーブ

もう 1 つのマルチスレーブ構成は、サーキュラトポロジです。ここでは、すべてのノードの入出力が、閉じたシリアルチェーンで接続されます。通信が同時に発生すると、すべてのノードについて共通のスレーブ選択信号が使用されます。 すべてのノードが同じデータおよびクロックフォーマット構成をサポートする必要があります。 マイクロコントローラ SPI ノードは一般に個別の内部送信および受信シフトレジスタを使用するため、それらの間で転送されるデータはソフトウェアによってサーキュラモードで処理されなければなりません。

9

SPI ノードの相互接続

10

マルチマスタトポロジのサポート• マルチマスタ：マスタ機能を持つ 2 つのノード• ノードはデフォルトではスレーブモード• ノードは自身をアクティブマスタに切り替えて、バスの制御を取り、通信セッションを開始

最大 16bit の Tx
シフトレジスタ

MOSI

最大 16bit の Tx
シフトレジスタ

最大 16bit の Rx
シフトレジスタ

SCK
クロックジェネレータ

• スレーブ選択用のピンは、潜在的なバス競合を検出するための入力として使用• マスタノードはスレーブモードに戻って、通信セッションを終了

MISO

最大 16bit の Rx
シフトレジスタ

マスタ

クロックジェネレータ

GPIO

NSS

NSS

GPIO

マスタ

SPI ネットワークは、マルチマスタ環境で動作できます。 このモードは、2 つのマスタノードを排他的に接続するために使用されます。いずれかのノードがアクティブでないときには、デフォルトではスレーブモードになります。1 つのノードがバスの制御を取りたいときには、自身をマスタモードに切り替えて、GPIO ピンを介して、もう 1 つのノードにスレーブ選択信号をアサートします。
両方のスレーブ選択 NSS ピンは、ノード間の潜在的なバス衝突を検出するためのハードウェア入力として機能します。SPI バスを制御できるのは一度に 1 つのノードだけだからです。 セッションが完了すると、アクティブノードのマスタはスレーブ選択信号を解放して、パッシブスレーブモードに戻り、次のセッション開始を待ちます。

10

データフレームフォーマット

11

完全にプログラム可能な柔軟なフォーマット

• データフレームのサイズ• 4～最大16bit• ビットのシフトオーダー• MSB または LSB ファースト• クロック設定（モード 0～3）
• アイドル時に低または高極性• 奇数または偶数エッジでサンプリング

データフォーマットのセットアップに使用されるコントロールがいくつかあります。ユーザはデータフレームのサイズとシフトレジスタの送信順を定義できます。クロックは、モトローラ SPI 仕様で定義された 4 つの基本構成の 1 つに設定できます。2 つのビットの組み合わせによって、クロック信号の極性と位相を制御します。
位相制御ビットがクリアされると、データビットは奇数クロックエッジでサンプリングされ、偶数クロックエッジで次のビットからデータラインへのシフトが同期されます。 これは、位相制御ビットがセットされたときと反対です。 クロック極性ビットは、クロック信号のアイドル状態を定義し、いずれのクロックエッジがデータのサンプリングまたはシフトに使用されるかを決めます。

11データ パッキング、FIFO アクセス12

高度な低需要制御• パッキングモード• 複数のデータパターンによる FIFO レジスタのアクセス• 設定可能なFIFO 閾値レベル• DMA アクセス
• イベントと必要なサービスの数が軽減される• システム負荷が軽減される

通信速度が高速で、データフレームが短いときには、クロック信号が連続的になり、全二重モードが使用されるときの正しいデータフローを確保することが難しいタスクになることがあります。
データオーバーランまたはアンダーラン条件を防止するには、ス
レーブノードはマスタによって適切に送信されたすべてのトランザクションに適切に対応する必要があります。データフレームサ
イズが 1バイトに収まるときには、パッキングモードを使用できます。 その場合、複数のデータパターンを FIFO レジスタへの 1回のアクセスで読み書きできます。FIFO 閾値イベントが適切に設定されていれば、対応しなければならないイベント数が減り、より適切にデータフローを制御できます。 DMA コントローラも使用されるときには、システムへの全体的負荷が大幅に軽減されます。この図は、専用の FIFO レジスタへの 1 回の 16bit アクセスによって、2 つの短い 4bit データフレームを読み書きできることを示しています。 読取りまたは書込みデータアクセスには 1つのサービスイベントが必要なだけです。

12

32bit Rx および Tx FIFO

13

閾値とデータアクセス間のバランス• 送信用と受信用の 2 つの個別の32bit FIFO
• 8/16bit の読取り／書込みアクセス
対 FIFO 閾値と占有フラグ• 8bit アクセスでは、Tx および Rx
FIFO は異なる機能

SPI ペリフェラルは、データフローを処理する 2 つの 32bit FIFO を備えています。 FIFO には 8bit または 16bit のデータ命令を使用してアクセスできます。受信時、FIFO から生成されるイベントは、閾値設定（RxNE）によって異なります。設定によるイベントフラグの動作の変化の概要が表に示されています。 FIFO アクセスと閾値設定のバランスを取って、データの整合性が失われないようにすることが重要です。 送信時、送信 FIFO 占有率（TxLVL）は、データアクセスによって異なります。
送信 FIFO 占有率が半分以上になると、特定のイベント動作が発生します。
送信時、送信 FIFO 占有率（FTLVL）は、FIFO レベルが半分以上になったとき、データアクセスに依存します。FIFO の上半分にデータを格納するために 8bit アクセスが使用されると、FIFO ステータスはフルになります（FTLVL=11、TXE=0）。システムは、さらに 1 つの 8bitデータ分の余地があっても、FIFO への新しい書込みの試みを受け入れません。 これにより、正しくない 16bit アクセスと、この状況でデータに使用できるスペースのオーバーフローが防止されます。そのため、データ送信に 8bit データアクセスが適用されているときには、FIFO フル機能を達成することはできません。
13

プロトコルレベルの追加サポート

14

拡張された DMA および CRC 管理• DMA コントローラは自動的に処理• データ送信と受信イベント• トランザクション終了時の CRC• FIFO 閾値制御

• CRC

MOSI

データ 1

データ 2...

データ n

CRC[1..n]CRCNXT=1
MISO

データ’ 1

データ’ 2...

データ’ nCRC’[1..n]SCKNSS• 受信フローと送信フローに個別の計算器• 各トランザクションの終了時に CRC パターンが送信される• トランスミッタは CRC 結果をデータシフトレジスタに直接挿入• レシーバは CRC を Rx FIFO に格納して、値を内部計算と比較• プログラム可能な CRC 多項式（奇数値のみ）と CRC 長（8 または 16bit の CRC フレーム）

プロトコルレベルの通信中、DMA コントローラを使用してデータフローイベント、CRC 計算、および FIFO 閾値の更新を自動的に処理できます。閾値制御の場合、フレーム数がパケットサイズと揃っていないとき、最後の奇数データフレームはパックドモードで正しく適用されます。 CRC が有効な場合、トランスミッタとレシーバに個別の CRC 計算器が使用されます。 CRC 計算結果は、DMA コントローラによって、またはソフトウェア制御によって、各転送の終了時に自動的に適用されます。トランスミッタのCRC 計算器レジスタからの結果はシフトレジスタに直接ロードされ、受信した CRC 値は FIFO に格納されて、レシーバの CRC結果と比較されます。 計算に使用される CRC 多項式はプログラム可能であり、CRC パターンの長さは 8 または 16bit フレー
ムのいずれかに設定できます。

14

標準 NSS モード

15

拡張されたスレーブ選択信号（NSS）の管理• NSS 入力
• ハードウェアまたはソフトウェア管理• スレーブモード – アクティブスレーブを選択• マスタモード – マスタ間で競合• NSS 出力
• マスタモード• アクティブスレーブを選択• 特定のモード

スレーブ選択信号は、通信のスレーブノードを選択するために、マスタノードによってよく使用されます。
スレーブ選択信号は、通信のスレーブノードを 1 つだけ選択するために、マスタノードによってよく使用されます。信号の実装はマルチマスタおよびマルチスレーブトポロジでは必須ですが、ごくまれな特定の事例を除きます（一般に、MISO データラインの衝突が防止されるとき）。シングルマスタ-スレーブペアでは必須ではありませんが、トポロジに関係なく、データフローの同期に役立ちます。
スレーブ選択信号は、入力として、または出力として動作できます。
NSS 入力は、マスタまたはスレーブモードで、SSM ビット に応じてハードウェアまたはソフトウェアによって管理できます。 スレーブ入力としては、通信のアクティブスレーブとして自身を識別するために使用されます。 マスタ入力としては、マルチマスタシステムにおいて、マスタ間の競合の可能性を知らせます。 出力として機能する
NSS は、マスタモードでのみ使用され、標準または特定の制御モードでハードウェアによって管理されます。 ソフトウェア制御下のGPIO によって追加のスレーブ選択出力を提供できます。これは、より多くの個別のスレーブ選択信号が適用されるときに必要になることがあります。
15

特定の NSS モード

16

スレーブ選択信号（NSS）のハードウェア制御を伴う拡張モード• NSS パルスモード• マスタサポートのみ• モトローラモード（CPHA 0 のみ）• TI モード• マスタおよびスレーブのサポート• 固定された CPOL および CPHA 設定• HiZ スレーブの MISO 自動制御

スレーブ選択信号が特定のハードウェア制御下にあるときには、いくつかの拡張されたモードがあります。 スレーブ選択信号はパルスモードで動作でき、その場合、マスタは、連続したデータ転送があるときには、データフレーム間の NSS 出力信号で1SPI クロック周期の間、パルスを生成します。その後、データは2SPI クロック周期によってインターリーブされます。 クロック位相は、このモードでは固定されています。もう 1 つの拡張モード
は TI モードです。このモードでは、データフローは、データの最後のビットで、マスタによって供給される NSS パルスによって同期されます。 クロックの極性および位相の設定は固定され、スレーブデータ出力は、バストラフィックが停止したときと、特定の設定可能なタイムアウト時に自動的にハイインピーダンスに切り替えられます。

16

割込みと DMA
割込みイベント

17

説明

送信 FIFO レディTx FIFO が新しいデータを受け入れる準備ができたときにセットされます。

受信 FIFO レディ

データが Rx FIFO で受信されるとセットされます。

マスタモードフォールト

マルチマスタバス構成でバス競合が検出されたときにセットされます。

データオーバーランエラー

Rx FIFO がフルであるため、レシーバが次のデータフローを受け入れることができません。

TI フレームフォーマットエラー

NSS 信号がデータフォーマットに対応していません。

CRC プロトコルエラー

受信されたメッセージのチェックサムが、内部で計算された値に一致しません。

• DMA リクエストは、FIFO 閾値に達したとき、間接モードで生成できます。

これは、SPI 割込みイベントの概要です。
データフローを処理するための FIFO およびエラー検出イベントがあります。
DMA リクエストは、内部で FIFO 閾値イベントによってトリガされます。

17

低電力モード
モード

18

説明

RUN

アクティブ

SLEEP

アクティブ。ペリフェラル割込みによって、デバイスは SLEEP モードを終了します。

低電力 RUN

アクティブ

低電力 SLEEP

アクティブ。ペリフェラル割込みによって、デバイスは低電力 SLEEP モードを終了します。

STOP 0 / STOP 1停止。ペリフェラルレジスタの内容は保たれます。

STOP 2停止。ペリフェラルレジスタの内容は保たれます。

STANDBYパワーダウン状態です。ペリフェラルは、STANBY モード終了後に再初期化する必要があります。

SHUTDOWNパワーダウン状態です。ペリフェラルは、STANBY モード終了後に再初期化する必要があります。

これは、特定の低電力モードでの SPI ステータスの概要です。
デバイスは、STOP、STANDBY、または SHUTDOWN モードでは通信を行うことができません。ペリフェラルが STOP またはパワーダウンモードに入る前に、すべての SPI トラフィックを確実に完了することが重要です。

18

パフォーマンス

19• 理論的な通信速度限界は、PCLK/2• 実際の通信速度は、以下に依存：• SPI バスの容量性負荷（接続されているデバイスの数、入力静電容量、ワイヤの長さ）• GPIO 内部ボンディング、それらの構成、VDD レベル、および周囲温度• SPI クロック信号デューティ比• 提供されるセットアップおよびホールド時間／データに必要な時間• 連続フローを制御するソフトウェア機能• 実際のパフォーマンス
• マスタモードでの最大速度は 32MHz• スレーブモードでの最大速度は 20.5MHz

SPI のパフォーマンスは、主に、適用されるクロックに依存します。
少なくとも、クロック周波数は必要な通信周波数の 2 倍でなければなりません。 実際の通信速度は、アプリケーション要因によって低下することがあります。ユーザは、ノード数、接続距離、入力静電容量などの SPI バスの負荷と GPIO 設定を考慮する必要があります。 高速 GPIO モードは、データおよびクロック信号に適用されます。 電源電圧が低く、極端な周囲温度の場合、エッジが遅くなります。 ときにはノード間に、より遅いデータホールドまたはセットアップ時間要件を課さなければならないことがあります。 頻繁な例外処理や割込み不能命令（LDMIA など）の実行のため、アプリケーションは高速データフローを常に管理できるわけではありません。
。

19アプリケーション例

20• ディスプレイ• スマートセンサ• メモリ• MMC/SD カード• IO エキスパンダ

SPI は、複雑な通信プロトコルを必要としない単純なデータ転送が必要な幅広いアプリケーションで使用できます。スマートカードに使用する場合など、セキュアな転送をサポートします。

20

アプリケーションのヒントとコツ

21• 一般的なヒント：• SPI（またはクロック）を無効にする前に、ビジーでないかと FIFO ステータスをチェックします。
• 特定の制御が必要なときには、DMA コントローラを使用します（CRC の処理、RxFIFO 閾値の変更、受信専用モード（RXONLY=1）の終了）。
• データが 1バイトに収まるときには、パックドモードを使用します。
• NSS のハードウェア管理には利点があります。

• 具体的な局面：

CRCNXT=1
RXONLY=0
FRXTH=1

CPHA=0• CRC 情報は受信 FIFO にロードされるため、ユーザが一掃する必要があります。

ダミー／奇数／CRC
フレーム制御ウィンドウ• 連続データトランザクション時、BSY 動作はマスタモードとスレーブモードで異なります。
• 送信操作では、受信およびオーバーランフラグがセットされます（これらは無視してください）。
• DMA のヒント - CRC が適用されるときにチャネルに設定されるべきデータ数• 送信と受信専用での受信の場合 - CRC 長を除くデータ数• 全二重での受信の場合 - CRC 長を含めたデータ数

これは基本的な一般的ヒントの包括的要約です。詳細については、製品のリファレンスマニュア
ルを参照してください。
ユーザは特定の手順に従って、低電力モードが適用される前、またはペリフェラルクロックが除去される前に、バス上でトラフィックがまだ実行中かどうかを確認して、そのようなトランザクションフローの早期終了を防止する必要があります。DMA チャネルがトランザクション完了ステータスを通知した後や、送信 FIFO が空になった後、一定の時間、継続することがあります。

CRC や受信 FIFO 閾値の処理のため、または受信専用モードで、特定の制御が適用される必要があるときには、DMA コントローラを使用して、トランザクションを終了してください。そのような制御は、最後の 1 データフレームトランザクション内で使用可能な短い時間枠で排他的に適用される必要があります。これにより、正しいデータ量のトランザクションが確保されます。
DMA および／またはデータパケットフレームが適用されるときには、データフローの処理に必要なサービスの数が大幅に減るため、システム全体のパフォーマンスが向上します。これは、データフレームが短く、バスの通信速度が高速であり、データフローが連続的なときには特に有効なアプローチです。
NSS ピンのハードウェア管理は、マスタが単一のスレーブと通信するときには特に必要ではありませんが、スレーブ間でのデータフローの同期に役立ちます。
ほかにも、SPI ネットワークを設定するときに考慮すべき具体的な局面があります。
レシーバは常に CRC 情報を受信 FIFO にロードします。 ユーザは FIFO に必要な追加領域を考慮に入れて、FIFO から CRC 情報を一掃する必要があります。
ビジーフラグは、データ処理には使用せずに、トランザクション終了時にバストラフィックの停止を確認するために使用してください。マスタ連続データトランザクション時には、データフレーム間でBSY ビットはクリアされません。スレーブモードでは、データフレーム間で少なくとも 1SPI クロッ
クサイクルだけ常にローになり、通信が連続的かどうかは関係ありません。
ノードがデータのみを送信するときには、受信チェーンは常にアクティブなままです。この場合、ユーザは関連する受信およびオーバーランイベントのすべてを無視してください。
CRC を含んでいるとき、DMA コントローラによって処理されるデータの数は、転送モードによって異なります。全二重モードでは、トランスミッタとレシーバで異なる数を設定する必要があり、特定の設定は受信専用モードで適用される必要があります。

21

STM32WB インスタンス機能
SPI1

SPI2

ハードウェア CRC 計算

可能

可能

Rx & Tx FIFO

可能

可能

NSS パルスモード

可能

可能

TI モード可能

可能

SPI の機能22

STM32WB には 2 つの SPI インスタンスがあり、それぞれ、今までに説明してきた機能をすべてサポートします。I2S 機能はサポートされません。

22

参照

23

• 詳細については、以下のリソースを参照してください。
• AN4286 - SPI protocol used in the STM32 bootloader• AN3364 - Migration and compatibility guidelines for STM32 microcontroller applications• Web（接続例、使用可能なモニタリングツール）

専用の SPI アプリケーションノードがいくつかあります。一般的な SPI 接続とインタフェース問題の詳細については、多くのWeb ページがあり、使用可能な SPI バスモニタリングツールもあります。 多くのデジタルオシロスコープは、SPI バスでのデータの直接読取りと分析およびクロック信号をサポートしています。

23

SPI 関連ペリフェラル

24• その他、以下のペリフェラルを参照：• リセットおよびクロック制御（SPI クロックイネーブル、SLEEP モードでのクロック制御、リセット）• 割込み（FIFO およびエラーイベント）• 汎用入出力（速度制御、GPIO 設定）

SPI に直接リンクされている、これらのトレーニングを参照してください。 ユーザは、SPI の動作に影響する可能性のあるすべてのペリフェラルに習熟してください。

24