STM32H7 – QUADSPI
Quad-SPIメモリインタフェース
1.0版

こんにちは、STM32 Quad-SPIメモリインターフェイスのプレゼン
テーションへようこそ。これはマイクロコントローラに外付けメモリを接続するために広く使用されているインタフェースの機能をカバーしています。

1シングル、デュアル、クアッドSPIアクセス

2

ピン数と性能の柔軟な選択• クワッドSPIは、シングルおよびデュア
ルの外部Flash動作(*)をサポート

32ビット
AHBバス

Quad-SPI
レジスタ / コントロール
クロック
マネージメント• 4ビットまたは8ビットのデータバス

QSPI FlashCLK
BK1_IO0/SO
BK1_IO1/SI
BK1_IO2
BK1_IO3
BK1_nCS

FIFO

64ビット
AXIバス

シフト
レジスタ

CLK
Q0/SI
Q1/SO
Q2/nWP
Q3/nHOLDnCS

QSPI FlashCLK
BK2_IO0/SO
BK2_IO1/SI
BK2_IO2* : 製品の詳細番号に依存Q0/SI
Q1/SO
Q2/nWP

BK2_IO3

Q3/nHOLD

BK2_nCSnCS

STM32H7マイクロコントローラ内に内蔵されたQuad-SPIメ
モリインタフェースは、通信インタフェースを提供し、マイクロコントローラが外部SPIおよびクワッドSPIメモリと通信できるようにします。
Quad-SPIメモリインタフェースは、1つまたは2つの外部メモリの接続をサポートします。つまり、メモリとマイクロコントロー
ラの間は4ビットまたは8ビットのデータバスを介してデータを転送できます。
接続に必要なピン数(シングルの場合は6、デュアル接続では10)とデータ転送のパフォーマンス(シングルの場合は4ビット、デュアル接続の場合は8ビット)の中から柔軟に選択できます。

2

主な機能

3

• 3つの操作モード• インダイレクト• ステータスポーリング• メモリマップド• 最速133MHzの最適化された操作(*)• デュアルFlashモード(2つのFlashメモリに並列でアクセスするための8ビット)• シングルデータレート(SDR)およびデュアルデータレート(DDR)のサポート* : VDDの範囲は2.7~3.6VQuad-SPIメモリインタフェースは、3つの動作モードを提供します。
デュアルFlashモードをサポートし、外部メモリとの通信に最適化されており、1回の読取りサイクルで8ビットにアクセスできます。
また、シングルデータレートとデュアルデータレートの両方の動作をサポートします。

3

動作モード4

CPU負荷を軽減するための柔軟な動作モード• インダイレクト･モード• すべての操作はレジスタを使用(従来のSPI)• ステータスポーリング･モード• Flashステータスレジスタの自動定期読み取りと一致時の割込み生成• メモリマップド･モード• 外部Flashを内蔵メモリと同じように見ることが出来る読取り操作

Quad-SPIメモリインタフェースは、次の3つのモードで動作します。
1. 従来のSPIインタフェースとして動作し、すべての操作がレジスタを通じて実行されるインダイレクトモード
2. Flashステータスレジスタが割込み生成で定期的に読み取られるステータスポーリングモード
3. 外部メモリを読取り操作で内部メモリとして見ることが出来るメ
モリマップドモード

4

フレームフォーマット

5

シングル / デュアル / クワッドSPIシリアルFlashメモリとの互換性• Quad-SPIコマンドには、最大5つの設定可能なフェーズを含む• 各フェーズは有効または無効にすることが可能• 各フェーズの長さを設定可能• 各フェーズのライン数を設定可能
コマンドnCS
SCLK
IO0
IO1
IO2
IO3

76543

アドレス210

Alt

ダミー

データ

404040404040515151515151626262626262737373737373

A23-16

A15-8

A7-0

M7-0

バイト1バイト2

IOスイッチから入力に出力

Quad-SPIメモリインタフェースは、フレームフォーマット構成において高い柔軟性を提供します。この柔軟性により、任意のシリア
ルFlashメモリに対応できます。ユーザーは、5つのフェーズのそれぞれを有効または無効にし、各フェーズの長さと各フェーズで使用されるライン数を設定できます。

5インダイレクト･モード

6

従来のSPIインタフェース• 従来の通信IPと同じ使用• データは、データレジスタの書込み、または読取りによって転送• データ長レジスタに指定されたバイト数• データFIFOの管理• 割込みフラグ(転送完了フラグ)• MDMAを使用しサポート• コマンドの起動• インストラクションのみが必要な場合、インストラクション書込み• インストラクションとアドレスのみが必要な場合、アドレス書込み• データフェーズが必要な場合、データ書込み

インダイレクトモードで使用されるQuad-SPIメモリインタフェース
は、従来のSPIインタフェースのように動作します。転送されたデータは、FIFOを使用してデータレジスタを経由します。データの交換は、Quad-SPIステータスレジスタの関連割込みフラグを使用し、ソフトウェアまたはMDMAコントローラによって駆動されます。
各コマンドは、インストラクションコンテキストに応じて、インストラクション、アドレス、またはデータを書込みます。

6

ステータスポーリング･モード

7

ソフトウェアのオーバーヘッドを削減• ステータスレジスタのポーリング用の特定モード• プログラム可能なレジスタ長:8/16/24/32ビット• 設定されたレートで読取り動作を繰り返す• 応答をマスクし、一致する場合に割込みを生成• プログラマブルマスク(PSMKRレジスタ)• マスクされた値は，ビットごとにマッチレジスタ（PSMAR）と比較• 比較結果は、AND、またはORすることが出来る• 成功すると割込みが生成(マッチフラグで停止)• 一致が発生したときに自動停止

Quad-SPIインタフェースには、外部Flashメモリのステータスレジ
スタを自律的にポーリングする特定のモードが実装されています。
Quad-SPIインタフェースは、外部Flashメモリ内のレジスタを定期的に読取るように設定することもできます。返されるデータをマスクして、評価するビットを選択できます。選択されたビットは、マッチレジスタに格納されている必要な値と比較されます。比較
結果は2つの方法で扱うことができます。ANDモードでは、選択したすべてのビットが一致した場合割込みが発生します。ORモードでは、選択されたビットの1つが一致した場合割込みが生成されます。一致した場合、Quad-SPIインタフェースは自動的に停止します。

7

メモリマップド･モード

8

プロジェクトへメモリの単純な拡張
低電力マネージメント• eXecute-In-Place(XiP)のプリフェッチ• 外部Flashは、ウェイトを必要とする内蔵Flashとして見ることが出来る• 読取り操作はAHBアクセスで自動的に生成• インダイレクトモード用としてIP設定中に定義されたフレームとオペコード• nCSピンはローレベルで保持され、クロックが停止しQuad-SPIバスを停止、必要に応じてシーケンシャルの読取りを再開• 低電力の場合に、nCSピンがハイレベルになるのを解放するためのタイムアウト･カウンタ

Quad-SPIメモリインタフェースにもメモリマップドモードがあります。このモードを使用した主なアプリケーションの利点は、ウェイトの数を除いて、内蔵または外部に接続されたメモリの読取りアクセスに違いがないため、シンプルに外部メモリの拡張を統合します。
このモードは読取り操作にのみ適しており、外部Flashメモリは外部メモリの速度を補正するためにウェイトを必要とする内蔵Flashメモリと見ることが出来ます。このモードでサポートされる最大サイズは、256メガバイトに制限されています。
プリフェッチバッファはインプレースでの実行をサポートしている
ため、コードは外部メモリから直接実行でき、内部RAMにダウンロードする必要はありません。
このモードでは、特定のFlashメモリでサポートされるSIOOモード(送信命令のみ)もサポートしており、コントローラはインストラクションを1回だけ送信し、アクセスを続けるためにインストラクションフェーズを削除できます。

8遅延データ・サンプリング

9

PCBレイアウトにより信号が遅れた場合に便利• サンプリングクロックは、1/2クロックサイクルを追加してシフトすることが可能• PCB上での入力データ遅延伝搬時間を補正するため• SDRモードでのみサポート• 出力データは4システム･クロックサイクルでシフト可能*• DDRモードでのみサポート* : 製品番号に依存

遅延データ・サンプリングにより、ユーザーはPCBレイアウト最適化の制約による信号の遅延を補正することができます。これにより、SDRモードで動作する場合、アプリケーションはデータサンプリング時間を1/2クロックサイクル分追加してシフトできます。
DDRモードでは、出力データを1/4のシステムクロックサイクルでシフトして、ホールド制約を緩和できます。

9

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

10

説明

タイムアウト

タイムアウトが発生した場合にセットステータス一致

自動ポーリングモードでは、マスクされた受信データがマッチレジスタの対応するビットと一致した場合にセットFIFO閾値FIFO閾値に達した場合、インダイレクトモードにセット転送完了

インダイレクトモードではプログラムされたデータ数が転送されたとき、どのモードでも転送が中止されたときにセット転送エラー

インダイレクトモードでは、無効なアドレスにアクセスしているときにセット• MDMAリクエストは、FIFOの閾値に達したときに、インダイレクト・モードで生成することが可能

Quad-SPIメモリインタフェースには、5つの割込みソースがありま
す: タイムアウト、受信したマスクされた受信データが自動ポーリ
ングモードのマッチレジスタの対応するビットに一致する場合のステータス一致、FIFOしきい値、転送完了および転送エラー。
MDMAリクエストは、FIFOしきい値に達するとインダイレクトモードで生成できます。

10

低電力モード
モード

11

説明

RUN

アクティブ

SLEEP

アクティブ
ペリフェラルの割込みにより、デバイスはスリープ･モードを終了

STOP

停止
ペリフェラル･レジスタの内容は保持

STANDBY

パワーダウン
STANDBYモードを終了した後はペリフェラルの再初期化が必要

Quad-SPIメモリインタフェースは、RUNモードとSLEEPモードでアクティブです。Quad-SPI割込みにより、デバイスがSLEEPモードを終了する可能性があります。STOPモードでは、QuadSPIメモリインタフェースが停止し、レジスタの内容は保持されます。STANDBYモードでは、Quad-SPIの電源がオフになり、その後に再初期化する必要があります。

11アプリケーションの例

12• 通信やユーザ･インタフェースなどのウェアラブル･アプリケーション:

BTモジュール

UART
FMC / SPI

シリアルFlash
加速度計

QuadSPI

SPI

ボタン

I/O

USBコネクタUSB

I2C

STM32H7

I2S

ディスプレイ
タッチパネル

オーディオコーデック• 外付けのクワッドSPIは、グラフィカルなデータ(アイコン、フォント、その他)や、ユーザ･インタフェースに必要なオーディオ･データも格納することが可能•

ウェアラブルアプリケーションには、高品質のユーザインタフェー
スと共に低電力管理機能が必要です。これは、STM32H7のQuad-SPIインタフェースを使用して、背景画像、高解像度アイコン、または複数の言語をサポートするフォントを含む必要なすべてのグラフィカルコンテンツを外部のFlashメモリに保存することで実現できます。着信音用の追加のオーディオデータは、外部Flashメモリによって提供される大きなメモリサイズの恩恵を受けることができます。このようなデバイスを駆動するために必要なピン数が少ないため、高度に最適化されたシステム統合が可能になります。

12

関連ペリフェラル

13• このペリフェラルに関連する次のトレーニングを参照してください。
• RCC(Quad-SPIクロックコントロール、Quad-SPIイネーブル/リセット)• 割込み(Quad-SPI割込みマッピング)• MDMA(Quad-SPIデータ転送)• GPIO(Quad-SPI入出力ピン)

RCC、割り込み、MDMA、およびGPIOに関連するトレーニング
スライドを参照して、追加情報を参照できます。

13

STM32シリーズ全体の比較

14

QUADSPI
機能

STM32L4

STM32F0

STM32F1

STM32F2

STM32F3

STM32F4

STM32F7

STM32H7

インスタンス数

1000011148MHz

N/A

N/A

N/A

N/A

90MHz

100MHz133MHz

デュアルFlashN

N/A

N/A

N/A

N/A

はい

はい

はい

ソフトウェア
互換性

N/A

N/A

N/A

N/A

N/A

最高速度

低レベル･ドライバ
ソフトウェアの互換性:

完全、またほぼ同じ
一部
互換性なし

Quad-SPIは一部のSTM32F4およびSTM32L4デバイスにも実装されていますが、STM32F4、STM32F7、STM32H7はデュア
ルFlashサポートと高速なI/O速度を提供します。

14

参照

15

• 詳細および追加情報については、以下を参照してください。
• アプリケーション ノート AN4760: Quad-SPI (QSPI) interface on STM32 microcontrollers

詳細は、当社ウェブサイトで入手可能な以下のドキュメントをご参照ください。

15