
QSPI (Quad Serial Peripheral Interface)による高速読み出しは、従来のSPI (Serial Peripheral Interface)のデータ転送方式を拡張することで実現されます。SPIが1本のデータ線を使ってシリアルにデータを送受信するのに対し、QSPIは4本のデータ線(I/O0~I/O3)を使い、一度に4ビットのデータを転送します。これにより、理論上は従来のSPIの4倍の速度でのデータ読み出しが可能となります。
仕組み
QSPIの高速読み出しは、以下の特徴的な機能によって実現されます。
-
多ビット転送: 従来のSPIが1クロックサイクルにつき1ビットのデータを転送するのに対し、QSPIは4本のデータ線を利用して、1クロックサイクルで4ビットのデータを並列に転送します。これにより、データスループットが大幅に向上します。
-
連続読み出し (Continuous Read): 一度読み出しコマンドと開始アドレスを送ると、以降の読み出しではコマンドやアドレスの再送が不要となり、データのみを連続して読み出すことができます。これにより、オーバーヘッドが削減され、より効率的な高速転送が可能になります。
-
メモリマップドモード (Memory-Mapped Mode): QSPIコントローラが外部フラッシュメモリをマイクロコントローラのメモリ空間に直接マッピングする機能です。これにより、CPUは外部メモリをまるで内蔵メモリのように扱うことができ、レジスタ操作などのソフトウェアによるオーバーヘッドを減らし、より高速なデータアクセスを実現します。
応用例
QSPIによる高速読み出しは、以下のような用途で特に有効です。
-
コードの実行 (Execute-in-Place; XIP): 外部フラッシュメモリに格納されたプログラムを、SRAMやDRAMなどの内部メモリにロードすることなく、直接実行する方式です。QSPIの高速読み出しにより、外部フラッシュからの直接実行でも、内部メモリからの実行と遜色ないパフォーマンスを実現します。
-
大容量データへのアクセス: マルチメディアデータ(画像、音声、動画など)や、ユーザーインターフェース用のデータ(アイコン、フォントなど)といった、大容量のデータを外部メモリから高速に読み出す必要があるアプリケーションに適しています。